.login-page{--cdv-ink:#0b2442;--cdv-ink-hover:#163a62;--cdv-text:#586a80;--cdv-muted:#8390a0;--cdv-line:#e2e7ed;--cdv-blue:#6b8dff;--cdv-green:#42b98b;--cdv-coral:#ff756d;--cdv-blue-wash:#eef2ff;--cdv-green-wash:#eff9f5;--cdv-coral-wash:#fff0ec;--cdv-sans:"Sora", "Avenir Next", sans-serif;--cdv-mono:"JetBrains Mono", monospace;min-height:100vh;color:var(--cdv-ink);font-family:var(--cdv-sans);-webkit-font-smoothing:antialiased;background:radial-gradient(circle at 12% 17%,#ffffffeb,#0000 26%),radial-gradient(circle at 86% 66%,#ffdcd6bd,#0000 30%),linear-gradient(145deg,#dcecff 0%,#eef2ff 51%,#fff0ec 100%);grid-template-rows:72px minmax(0,1fr) 64px;display:grid}.login-topbar{z-index:2;justify-content:flex-start;align-items:center;width:100%;padding:0 clamp(22px,4vw,52px);display:flex;position:relative}.login-brand{border-radius:6px;width:fit-content;display:flex}.login-brand img{width:132px;height:auto;display:block}.login-brand:focus-visible,.login-button:focus-visible,.login-forgot:focus-visible,.login-back:focus-visible,.login-sso-button:focus-visible{outline-offset:3px;outline:3px solid #6b8dff59}.login-stage{place-items:center;padding:3.5rem 1.5rem;display:grid;position:relative}.login-card{background:#fffffff5;border:1px solid #0b24421c;border-radius:20px;width:100%;max-width:430px;padding:2.5rem;position:relative;box-shadow:0 26px 75px #2d466524}.login-heading{margin-bottom:2rem}.login-heading-success{text-align:center}.login-eyebrow{color:var(--cdv-muted);font-family:var(--cdv-mono);letter-spacing:.14em;text-transform:uppercase;margin-bottom:.875rem;font-size:.6875rem;font-weight:600;line-height:1;display:block}.login-card h1{color:var(--cdv-ink);letter-spacing:-.035em;margin:0;font-size:1.875rem;font-weight:650;line-height:1.1}.login-card p{color:var(--cdv-text);margin:.75rem 0 0;font-size:.9375rem;line-height:1.68}.login-form{flex-direction:column;gap:1.25rem;display:flex}.login-field{flex-direction:column;gap:.5rem;display:flex}.login-field label{color:var(--cdv-ink);font-size:.8125rem;font-weight:600;line-height:1.2}.login-field input{border:1px solid var(--cdv-line);width:100%;min-height:46px;color:var(--cdv-ink);font:inherit;background:#fff;border-radius:9px;outline:none;padding:.6875rem .875rem;font-size:.9375rem;transition:border-color .15s,box-shadow .15s}.login-field input::placeholder{color:var(--cdv-muted)}.login-field input:hover{border-color:#c9d2dd}.login-field input:focus{border-color:var(--cdv-blue);box-shadow:0 0 0 3px #6b8dff2e}.login-label-row{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.login-forgot,.login-back{color:var(--cdv-text);font:inherit;cursor:pointer;background:0 0;border:0;margin:0;padding:0;font-size:.75rem;font-weight:500;text-decoration:none}.login-forgot:hover,.login-back:hover{color:var(--cdv-ink);text-underline-offset:3px;text-decoration:underline}.login-button{background:var(--cdv-ink);color:#fff;min-height:48px;font:inherit;cursor:pointer;border:0;border-radius:9px;justify-content:center;align-items:center;margin-top:.125rem;padding:.75rem 1.25rem;font-size:.9375rem;font-weight:600;transition:transform .2s,background .2s;display:flex;box-shadow:0 7px 18px #0b244229}.login-button:hover{background:var(--cdv-ink-hover);transform:translateY(-1px)}.login-button:active{transform:translateY(0)}.login-button:disabled{opacity:.55;cursor:not-allowed;transform:none}.login-notice,.login-error,.login-success{color:var(--cdv-ink);border-radius:9px;padding:.75rem .875rem;font-size:.8125rem;line-height:1.55}.login-notice{background:var(--cdv-blue-wash);border:1px solid #6b8dff47}.login-error{background:var(--cdv-coral-wash);border:1px solid #ff756d59}.login-success{background:var(--cdv-green-wash);border:1px solid #42b98b4d}.login-success-mark{background:var(--cdv-green-wash);width:40px;height:40px;color:var(--cdv-green);border:1px solid #42b98b59;border-radius:50%;place-items:center;margin:0 auto 1.25rem;font-size:1rem;font-weight:700;display:grid}.login-footer{border-top:1px solid var(--cdv-line);color:var(--cdv-text);text-align:center;margin-top:1.75rem;padding-top:1.25rem;font-size:.75rem;line-height:1.6}.login-footer strong{color:var(--cdv-ink);font-weight:600}.login-legal{width:100%;color:var(--cdv-muted);font-family:var(--cdv-mono);letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;align-items:center;padding:0 clamp(22px,4vw,52px);font-size:.625rem;display:flex}@media (max-width:640px){.login-page{grid-template-rows:64px minmax(0,1fr) 56px}.login-topbar{padding:0 1.25rem}.login-brand img{width:136px}.login-stage{padding:2rem 1rem}.login-card{border-radius:14px;max-width:400px;padding:2rem 1.5rem}.login-legal{padding:0 1.25rem}.login-legal span:last-child{display:none}}@media (max-height:680px) and (min-width:641px){.login-page{grid-template-rows:60px minmax(0,1fr) 48px}.login-stage{padding-block:1.5rem}.login-card{padding:2rem}.login-heading{margin-bottom:1.5rem}}@media (prefers-reduced-motion:reduce){.login-button,.login-field input,.login-sso-button{transition:none}}.login-sso-divider{color:var(--cdv-muted);font-family:var(--cdv-mono);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:12px;margin:18px 0 14px;font-size:.625rem;display:flex}.login-sso-divider:before,.login-sso-divider:after{content:"";background:var(--cdv-line);flex:1;height:1px}.login-sso{flex-direction:column;gap:8px;display:flex}.login-sso-button{border:1px solid var(--cdv-line);width:100%;min-height:46px;color:var(--cdv-ink);font:inherit;cursor:pointer;background:#fff;border-radius:9px;justify-content:center;align-items:center;gap:10px;padding:10px 16px;font-size:.875rem;font-weight:500;transition:border-color .15s,background .15s;display:flex}.login-sso-button:hover:not(:disabled){background:#fbfaf7;border-color:#c9d2dd}.login-sso-button:disabled{opacity:.6;cursor:not-allowed}