*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px}.auth-page{--ink:#132844;--muted:#5f7190;--surface:#fff;--border:#dbe4f0;--field:#fff;background:#fff;color:var(--ink)}.auth-grid{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}
.auth-story{background:radial-gradient(circle at 67% 70%,#245eaf55,transparent 38%),linear-gradient(130deg,#061e47,#0c3272 57%,#1451a3);color:white;padding:clamp(32px,5vw,70px);display:flex;flex-direction:column;justify-content:space-between;min-width:0;overflow:hidden}
.auth-brand{display:flex;align-items:center;gap:16px}.auth-brand img{width:72px;max-height:82px;object-fit:contain}.auth-brand b{display:block;font-size:1.12rem}.auth-brand span{font-size:.76rem;color:#bfcfec;display:block;margin-top:4px}.auth-story-content{max-width:590px}.auth-overline{color:#83abec;font-size:.67rem;letter-spacing:.24em;font-weight:850}.auth-story h1{font-size:clamp(2.6rem,5vw,5.1rem);line-height:1.08;letter-spacing:-.062em;margin:28px 0 25px;color:#fff}.auth-story h1 em{font-style:normal;color:#94bdff}.auth-story-content>p:not(.auth-overline){max-width:560px;color:#c6d8ef;line-height:1.85;font-size:.95rem}.auth-tagline{color:#90b5ea;font-size:.79rem}.auth-orbit{position:relative;height:285px;margin-top:22px;max-width:475px}.auth-orbit-ring{width:275px;height:275px;border-radius:50%;border:1px solid #7bb4ff2b;display:flex;align-items:center;justify-content:center;position:absolute;left:53%;transform:translateX(-50%);top:0}.auth-orbit-ring::before{content:"";position:absolute;inset:32px;border:1px dashed #8dc2fd32;border-radius:50%}.auth-orbit-core{width:142px;height:142px;border-radius:50%;background:radial-gradient(circle at 28% 25%,#5696f0,#0f367d 70%);box-shadow:0 0 0 9px #75abed20,0 18px 45px #03173499;display:flex;align-items:center;justify-content:center;flex-direction:column;color:white;border:1px solid #9cc8ff66}.auth-orbit-core strong{font-size:2.8rem;letter-spacing:-.08em}.auth-orbit-core span{font-size:.66rem;letter-spacing:.3em}.auth-orbit-pill{position:absolute;background:#fff;color:#1d3353;padding:11px 15px;border-radius:10px;box-shadow:0 8px 27px #01132d77;font-size:.76rem;font-weight:700}.auth-orbit-pill.people{top:50%;left:0}.auth-orbit-pill.performance{top:16%;right:0}.auth-orbit-pill.development{bottom:10%;right:0}
.auth-panel{display:flex;flex-direction:column;justify-content:space-between;background:var(--surface);padding:clamp(22px,4vw,56px);min-width:0}.auth-theme{display:flex;justify-content:flex-end}.auth-theme button{border:1px solid var(--border);background:var(--field);color:var(--ink);border-radius:10px;padding:9px 12px;cursor:pointer;font-size:.76rem}.auth-form-wrap{width:100%;max-width:440px;margin:50px auto}.auth-form-wrap h2{font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.2;letter-spacing:-.055em;margin:13px 0;color:var(--ink)}.auth-helper{font-size:.88rem;color:var(--muted);line-height:1.8;margin:0 0 34px}.auth-form-wrap form{display:grid;gap:11px}.auth-form-wrap label{color:var(--ink);font-weight:750;font-size:.78rem}.auth-label-line{display:flex;align-items:center;justify-content:space-between;margin-top:8px}.auth-form-wrap a{color:#245fbd;font-size:.78rem;font-weight:700;text-decoration:none}.auth-form-wrap a:hover{text-decoration:underline}.auth-field{display:flex;align-items:center;border:1px solid var(--border);border-radius:11px;background:var(--field);height:49px;padding:0 13px;gap:10px}.auth-field>span{font-size:1.2rem;color:#8ea0b5}.auth-field input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font-size:.85rem;height:100%}.auth-field:focus-within{border-color:#3c72cb;box-shadow:0 0 0 3px #528fea33}.password-toggle{background:#e8f0fa;color:#315580;border:0;border-radius:7px;padding:7px 9px;cursor:pointer;font-size:.77rem}.auth-submit{background:linear-gradient(110deg,#295fd1,#3979e6);color:white;border:0;border-radius:10px;padding:15px 19px;margin-top:13px;font-weight:760;cursor:pointer;display:flex;justify-content:center;align-items:center;gap:14px;box-shadow:0 7px 15px #2359bd2a}.auth-submit:hover{filter:brightness(1.05)}.auth-sso{display:block;text-align:center;margin-top:16px;padding:14px;background:#e9f2ff;border-radius:10px}.auth-support{text-align:center;border-top:1px solid var(--border);padding-top:24px;margin-top:30px;font-size:.78rem;color:var(--muted)}.auth-support p{margin:0 0 6px}.auth-security{font-size:.72rem;color:var(--muted);background:color-mix(in srgb,var(--field),#eaf0fa 60%);border:1px solid var(--border);border-radius:11px;padding:13px;line-height:1.6;margin-top:26px}.auth-footer{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:.7rem}.auth-error{display:block;color:#b12b35;background:#fff2f2;border:1px solid #ffb6b6;border-radius:8px;padding:8px;font-size:.8rem}.auth-page :is(a,button,input):focus-visible{outline:3px solid #65a8ef;outline-offset:3px}
.auth-page[data-theme='dark']{--ink:#eef4fe;--muted:#a8b9cc;--surface:#0e1d32;--border:#35465e;--field:#172940}.auth-page[data-theme='dark'] .auth-sso{background:#214069;color:#cfe2ff}.auth-page[data-theme='dark'] .password-toggle{background:#2f4969;color:#d9e8fb}
@media(max-width:820px){.auth-grid{grid-template-columns:1fr}.auth-story{padding:26px 30px}.auth-story-content{display:none}.auth-tagline{display:none}.auth-brand img{width:54px}.auth-panel{min-height:calc(100vh - 105px)}.auth-form-wrap{margin:35px auto}.auth-footer{padding-top:20px}}@media(max-width:480px){.auth-panel{padding:18px}.auth-form-wrap{margin:34px auto}.auth-form-wrap h2{font-size:2rem}.auth-footer{display:block}.auth-footer span{display:block;margin-top:5px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Keep password-manager autofill readable across Safari/Chromium and light/dark themes. */
.auth-field input:-webkit-autofill,
.auth-field input:-webkit-autofill:hover,
.auth-field input:-webkit-autofill:focus {
  -webkit-text-fill-color: var(--ink) !important;
  caret-color: var(--ink);
  -webkit-box-shadow: 0 0 0 1000px var(--field) inset !important;
  box-shadow: 0 0 0 1000px var(--field) inset !important;
  border-radius: 0;
  transition: background-color 9999s ease-in-out 0s;
}
.auth-field input::selection { background: #d9e8ff; color: #142a45; }
.auth-field input { -webkit-appearance: none; appearance: none; }
.auth-field input:focus { outline: none; }
.auth-label-line a, .auth-support a {text-underline-offset:3px}
@media (max-width:520px){.auth-field {height:54px}.auth-form-wrap form{gap:14px}.auth-submit{min-height:54px;font-size:1rem}}
