:root{color-scheme:dark;--bg:#050a14;--surface:#10182a;--surface-2:#0c1424;--text:#f5f7ff;--muted:#9ca8bf;--border:#31405e;--primary:#6f91ff;--red:#e43a58;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg)}
*{box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}html,body{min-width:280px;min-height:100%;background:var(--bg)}body{margin:0}a{color:#78a3ff;text-underline-offset:4px}button,input{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #8fb0ff;outline-offset:3px}
.auth-shell{min-height:100svh;display:grid;grid-template-columns:minmax(360px,500px) minmax(0,1fr);background:radial-gradient(ellipse at 12% 18%,rgba(153,19,55,.28),transparent 48%),radial-gradient(ellipse at 90% 74%,rgba(16,78,158,.30),transparent 54%),url("login/login-cinematic.webp") center/cover no-repeat,#07101f}
.auth-panel{padding:clamp(28px,5vh,58px) clamp(24px,5vw,62px);background:rgba(7,12,24,.94);border-right:1px solid rgba(133,161,230,.22);display:flex;flex-direction:column;justify-content:center;min-width:0}.brand{display:block;width:max-content;margin:0 auto 17px}.brand img{display:block;width:210px;height:auto;max-height:120px;object-fit:contain}.auth-copy{width:100%;max-width:410px;margin:0 auto}.eyebrow{display:block;font-size:.7rem;font-weight:800;letter-spacing:.16em;color:var(--primary)}h1{font-size:clamp(1.65rem,3vw,2.05rem);line-height:1.16;margin:12px 0 10px;letter-spacing:-.035em}.auth-intro,.description{margin:0 0 24px;color:var(--muted);line-height:1.65}
.field{margin:0 0 17px}.field label{display:block;font-size:.86rem;font-weight:700;margin-bottom:8px}.field input{display:block;width:100%;min-height:52px;padding:12px 14px;border:1px solid var(--border);border-radius:11px;background:#0a1221;color:var(--text);font-size:1rem}.field input:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(111,145,255,.13)}.field input[aria-invalid=true]{border-color:#ff8792}.help{font-size:.78rem;line-height:1.45;color:var(--muted);margin-top:7px}.errors{color:#ffabb4;font-size:.87rem;line-height:1.5;margin-bottom:12px}.errors ul{padding-left:20px;margin:6px 0}.password-field{position:relative}.password-field input{padding-right:48px}.password-toggle{position:absolute;right:6px;top:50%;width:40px;height:40px;transform:translateY(-50%);border:0;border-radius:9px;background:transparent;color:#9aa8c4;cursor:pointer}.password-toggle:hover{background:rgba(255,255,255,.06);color:#fff}.primary,.secondary,.logout-action{width:100%;min-height:50px;padding:12px 16px;border-radius:11px;font-weight:800;cursor:pointer}.primary{display:flex;align-items:center;justify-content:center;gap:9px;border:0;background:linear-gradient(100deg,#287bff 0%,#5d55ef 52%,#7e2de8 100%);box-shadow:0 12px 34px rgba(67,79,244,.25);color:white;margin-top:15px;text-align:center;text-decoration:none}.primary:hover{filter:brightness(1.08)}.secondary{display:block;background:transparent;border:1px solid var(--border);color:var(--text);margin-top:12px;text-align:center;text-decoration:none}.logout-action{background:transparent;border:0;color:var(--muted);margin-top:10px}.forgot{font-size:.86rem;text-decoration:none;white-space:nowrap}.login-options{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:-2px}.remember{display:flex!important;align-items:center;gap:8px;margin:0!important;color:var(--muted);font-size:.86rem!important;font-weight:500!important;cursor:pointer}.remember input{appearance:none;width:18px!important;height:18px!important;min-height:18px!important;padding:0!important;margin:0;border:1px solid #455472;border-radius:5px;background:#08101e}.remember input:checked{background:linear-gradient(135deg,#4384ff,#7343e7);box-shadow:inset 0 0 0 3px #08101e}.navigation{text-align:center;color:var(--muted);font-size:.9rem;line-height:1.7;margin:20px 0}.notice{border:1px solid var(--border);padding:12px;border-radius:10px;line-height:1.5}.access-help{text-align:center;color:var(--muted);font-size:.84rem;margin:26px 0 0;padding-top:21px;border-top:1px solid rgba(120,143,188,.23)}.access-help a{text-decoration:none;font-weight:700}.account-actions{display:grid;gap:10px;margin:24px 0}.action-link{margin:0}.account-details{padding:14px 16px;border:1px solid var(--border);border-radius:12px;color:var(--muted)}.account-details summary{cursor:pointer;color:var(--text);font-weight:700}.account-details dl{margin:14px 0 0}.account-details dt{font-size:.78rem;margin-top:10px}.account-details dd{margin:3px 0 0;color:var(--text);overflow-wrap:anywhere}
footer{width:100%;max-width:410px;margin:28px auto 0;border-top:1px solid rgba(95,117,159,.35);padding-top:19px;text-align:center;font-size:.72rem;font-weight:800;letter-spacing:.14em;color:#ccd4e9}footer span{display:block;font-size:.66rem;font-weight:400;letter-spacing:.04em;color:var(--muted);margin-top:7px}.auth-side{min-width:0;display:flex;align-items:flex-end;padding:clamp(30px,6vw,80px);background:linear-gradient(90deg,rgba(7,12,24,.66),rgba(7,12,24,.18)),url("login/login-cinematic.webp") center/cover no-repeat}.auth-side-card{max-width:590px;padding:28px;border:1px solid rgba(255,255,255,.15);border-radius:22px;background:rgba(12,19,36,.84);box-shadow:0 24px 70px #0008;backdrop-filter:blur(10px)}.auth-side-card h2{font-size:clamp(2rem,5vw,4rem);line-height:1;margin:12px 0 18px;letter-spacing:-.05em}.auth-side-card p{color:#c5ccdc;line-height:1.7;max-width:520px}.auth-side-card ul{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:22px 0 0}.auth-side-card li{padding:9px 12px;border:1px solid rgba(255,255,255,.13);border-radius:999px;font-size:.78rem;background:rgba(255,255,255,.06)}
.login-page{overflow-x:hidden}.login-page .auth-shell{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr);place-items:center;overflow:hidden;padding:clamp(22px,4vw,48px);background:radial-gradient(circle at 18% 47%,rgba(219,20,58,.27),transparent 30%),radial-gradient(circle at 82% 44%,rgba(17,92,238,.30),transparent 32%),linear-gradient(90deg,rgba(3,7,16,.15),rgba(4,10,22,.72) 43%,rgba(4,10,22,.72) 57%,rgba(3,7,16,.12)),url("login/login-cinematic.webp") center/cover no-repeat,#030814}.login-page .auth-shell::before,.login-page .auth-shell::after{content:none}.login-page .auth-panel{position:relative;z-index:2;width:min(100%,520px);min-height:0;padding:clamp(28px,5vh,48px) clamp(24px,3vw,44px);border:1px solid rgba(129,157,220,.46);border-radius:24px;background:linear-gradient(145deg,rgba(10,19,37,.94),rgba(7,15,30,.90));box-shadow:0 30px 90px rgba(0,0,0,.62),0 0 38px rgba(74,113,221,.12);backdrop-filter:blur(14px)}.login-page .auth-side{display:none}.login-page .brand{margin-bottom:13px}.login-page .brand img{width:220px}.login-page .auth-copy{max-width:430px}.login-page .auth-copy>.eyebrow{display:none}.login-page h1{text-align:center;font-size:clamp(1.35rem,2.6vw,1.65rem);margin:8px 0}.login-page .auth-intro{text-align:center;font-size:.88rem;margin:0 auto 24px;max-width:350px}.login-page footer{display:none}
@media(max-width:820px){.auth-shell{display:flex;align-items:center;justify-content:center;padding:22px 16px max(16px,env(safe-area-inset-bottom))}.auth-panel{width:min(100%,450px);padding:25px 22px;border:1px solid rgba(154,171,228,.28);border-radius:22px;background:rgba(10,17,33,.97);box-shadow:0 24px 70px #000a}.auth-side{display:none}.brand{margin-bottom:10px}.brand img{width:150px}.auth-copy>.eyebrow{display:none}h1{font-size:1.55rem}.auth-intro{font-size:.91rem;margin-bottom:20px}footer{margin-top:20px}.login-page .auth-shell{min-height:100svh;padding:18px 12px max(16px,env(safe-area-inset-bottom));align-items:center;background:linear-gradient(180deg,rgba(4,9,20,.30),rgba(4,9,20,.92) 52%),url("login/login-mobile.webp") top center/cover no-repeat,#030814}.login-page .auth-shell::before,.login-page .auth-shell::after{content:none}.login-page .auth-panel{width:min(100%,430px);padding:25px 20px 22px;border-radius:20px;background:rgba(7,15,29,.97)}.login-page .brand img{width:174px}.login-page h1{font-size:1.35rem}.login-page .auth-intro{font-size:.84rem;margin-bottom:20px}.field{margin-bottom:14px}.field input{min-height:50px}.access-help{margin-top:21px;padding-top:18px}}
@media(max-width:390px){.login-page .auth-shell{padding-left:9px;padding-right:9px}.login-page .auth-panel{padding:22px 16px 20px}.login-page .brand img{width:158px}.login-options{gap:10px}.forgot,.remember{font-size:.79rem!important}.field input{font-size:16px}.access-help{font-size:.79rem}}
@media(min-width:821px){.login-page .auth-panel{width:min(100%,max(550px,61svh));min-height:max(82svh,46vw);background:#07101f;backdrop-filter:none}}

/* Shared account screens: the form leads, the supporting panel stays quiet.
   Keep the cinematic login geometry above: it masks the card inside its asset. */
.auth-page:not(.login-page) .auth-shell {
  grid-template-columns: minmax(0, 600px) minmax(0, 340px);
  align-content: center;
  justify-content: center;
  gap: clamp(32px, 5vw, 72px);
  padding: 40px clamp(24px, 5vw, 72px);
  background: radial-gradient(ellipse at 90% 30%, #132440 0, transparent 60%), #07101f;
}
.auth-page:not(.login-page) .auth-panel {
  padding: 32px clamp(24px, 4vw, 48px);
  border: 1px solid #293a55;
  border-radius: 24px;
  background: #0c1525;
  box-shadow: 0 20px 60px #0004;
}
.auth-page:not(.login-page) .brand { margin: 0 0 20px; }
.auth-page:not(.login-page) .brand img { width: 126px; }
.auth-page:not(.login-page) .auth-copy { max-width: none; }
.auth-page:not(.login-page) .auth-copy > .eyebrow { display: none; }
.auth-page:not(.login-page) h1 { margin: 0 0 12px; font-size: clamp(1.6rem, 3vw, 2rem); line-height: 1.2; }
.auth-page:not(.login-page) .auth-intro,
.auth-page:not(.login-page) .description { font-size: .95rem; line-height: 1.6; margin-bottom: 24px; }
.auth-page:not(.login-page) .auth-side { align-items: center; padding: 0; background: none; }
.auth-page:not(.login-page) .auth-side-card { padding: 0; border: 0; background: none; box-shadow: none; backdrop-filter: none; }
.auth-page:not(.login-page) .auth-side-card .eyebrow { color: #a8b7cf; font-size: .65rem; letter-spacing: .1em; }
.auth-page:not(.login-page) .auth-side-card h2 { font-size: 1.65rem; line-height: 1.25; letter-spacing: -.025em; margin: 16px 0; color: #ced8e9; }
.auth-page:not(.login-page) .auth-side-card p { font-size: .9rem; color: #a8b7cf; }
.auth-page:not(.login-page) .auth-side-card ul { display: grid; gap: 14px; margin-top: 28px; }
.auth-page:not(.login-page) .auth-side-card li { padding: 0 0 0 14px; border: 0; border-left: 2px solid #435b81; border-radius: 0; background: none; color: #a8b7cf; font-size: .82rem; line-height: 1.5; }
.auth-page:not(.login-page) footer { max-width: none; margin-top: 24px; padding-top: 16px; font-size: .65rem; }
.auth-page:not(.login-page) footer span { display: none; }
.auth-page .auth-copy { overflow-wrap: anywhere; }
.auth-page .help { font-size: .82rem; line-height: 1.55; }
.auth-page .help ul { margin: 8px 0 0; padding-left: 20px; }
.auth-page .errors { margin-top: 8px; }
.auth-page form > .errors { padding: 12px 14px; border: 1px solid #804455; border-radius: 10px; background: #291722; }
.auth-page .notice { background: #142239; color: #e1e9f7; }
.auth-page .navigation { margin: 20px 0 0; }
.auth-page .navigation a { display: inline-flex; align-items: center; min-height: 44px; padding: 4px; font-weight: 600; }
.auth-page .primary { background: linear-gradient(105deg, #315ed3, #5940ba); box-shadow: 0 6px 20px #273f792e; min-height: 52px; }
.auth-page .secondary:hover { background: #17243a; }
.auth-page .password-toggle { width: 44px; height: 44px; right: 4px; }
.auth-page .password-field input { padding-right: 54px; }
.auth-page .login-options { flex-wrap: wrap; gap: 4px 12px; }
.auth-page .remember, .auth-page .forgot { min-height: 44px; }
.auth-page .forgot { display: inline-flex; align-items: center; }
@media (max-width: 1000px) {
  .auth-page:not(.login-page) .auth-shell { grid-template-columns: minmax(0, 560px); }
  .auth-page:not(.login-page) .auth-side { display: none; }
}
@media (max-width: 820px) {
  .auth-page:not(.login-page) .auth-shell {
    display: flex;
    align-items: flex-start;
    padding: 16px 12px max(16px, env(safe-area-inset-bottom));
  }
  .auth-page:not(.login-page) .auth-panel { width: min(100%, 520px); padding: 24px 20px; border-radius: 18px; }
  .auth-page:not(.login-page) .brand { margin-bottom: 18px; }
  .auth-page:not(.login-page) .brand img { width: 104px; }
  .auth-page:not(.login-page) h1 { font-size: 1.6rem; }
  .auth-page:not(.login-page) .auth-intro,
  .auth-page:not(.login-page) .description { font-size: .9rem; margin-bottom: 22px; }
}
