:root{font-family:'Segoe UI',Arial,sans-serif;color:#243449;background:#edf2f9;font-synthesis:none}*{box-sizing:border-box}body{margin:0}header{display:flex;align-items:center;gap:24px;height:88px;padding:0 max(24px,calc((100vw - 1280px)/2));background:#fff;border-bottom:1px solid #dce4ef}header>span{font-size:15px;color:#607086}.brand{font:600 34px Bahnschrift,'Arial Narrow','Segoe UI',sans-serif;text-decoration:none;color:#243449;letter-spacing:-1px}.brand span{color:#2454d6;margin-left:5px}main{max-width:440px;margin:clamp(48px,12vh,120px) auto;padding:0 24px}h1{font:500 clamp(30px,5vw,38px)/1.15 Bahnschrift,'Arial Narrow','Segoe UI',sans-serif;letter-spacing:-.7px;margin:0 0 16px}p{font-size:15px;line-height:1.6;color:#607086;margin:0}form{margin-top:36px}label{font-size:15px;font-weight:600}.password-field{display:flex;align-items:center;gap:8px;margin-top:9px;background:#fff;border:1px solid #b9c7da;border-radius:6px;padding-right:6px}.password-field:focus-within{outline:3px solid #dc9a1b;outline-offset:3px}input{width:100%;min-width:0;background:transparent;border:0;padding:14px;font:inherit;color:inherit;outline:none}button{font:inherit;cursor:pointer;min-height:44px;border-radius:5px}.password-field button{border:0;background:transparent;color:#2454d6;padding:8px 12px;font-size:14px}.primary{display:block;width:100%;padding:13px 16px;margin-top:24px;background:#2454d6;border:0;color:white;font-weight:600}.primary:hover{background:#1b43b0}button:disabled{opacity:.6;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #dc9a1b;outline-offset:4px}.error{color:#b12525;margin-top:14px}.session-note{margin-top:24px;font-size:14px}[hidden]{display:none!important}@media(max-width:480px){header{height:72px;gap:20px}.brand{font-size:29px}main{margin-top:56px}}

:root[data-theme=dark]{background:#000000;color:#f2f2f2;color-scheme:dark}
[data-theme=dark] header,[data-theme=dark] .password-field{background:#101010;border-color:#333333}
[data-theme=dark] .brand{color:#f2f2f2}
[data-theme=dark] :is(p,header>span){color:#b5b5b5}
[data-theme=dark] .brand span,[data-theme=dark] .password-field button{color:#8aafff}
[data-theme=dark] .primary{background:#2857bd}
[data-theme=dark] .error{color:#ffb4ad}
#theme-toggle{margin-left:auto;padding:8px 12px;border:1px solid #8290a3;background:transparent;color:inherit;font-size:14px;white-space:nowrap}
@media(max-width:480px){header{gap:12px}header>span{display:none}}
