:root { color-scheme:dark; font-family:'Segoe UI Variable Text','Segoe UI',system-ui,sans-serif; color:#f2f4f7; background:#111316; }
* { box-sizing:border-box; }
body { min-height:100vh; min-height:100dvh; margin:0; display:grid; place-items:center; padding:48px 24px; background:linear-gradient(115deg,#11161c 0%,#111316 58%); }
button,input { font:inherit; }
button { cursor:pointer; }
button:disabled { cursor:wait; opacity:.65; }
:focus-visible { outline:2px solid #a5c7ff; outline-offset:4px; }
.sign-in { width:100%; max-width:440px; }
.brand { display:flex; align-items:center; gap:15px; margin:0 0 39px 2px; }
.brand svg { width:33px; height:44px; color:#88b5ff; stroke:currentColor; stroke-width:1.3; fill:none; }
.brand .brand-mark { fill:currentColor; stroke:none; }
.brand > span { font:600 30px/1 'Bahnschrift','Segoe UI',sans-serif; letter-spacing:-.9px; }
.brand small { display:block; margin-top:9px; font:500 9px/1.3 'Segoe UI',system-ui,sans-serif; letter-spacing:1.6px; color:#a0b0c4; }
.login-panel { padding:35px 34px 34px; border:1px solid #334051; border-top:3px solid #88b5ff; border-radius:3px; background:#171d25; }
.panel-caption { display:flex; align-items:center; gap:9px; font-size:12px; color:#a8bedb; margin-bottom:27px; }
.status-dot { height:6px; width:6px; border-radius:50%; background:#88b5ff; }
h1 { font-size:31px; letter-spacing:-1px; line-height:1.2; font-weight:600; margin:0 0 11px; }
.intro { font-size:14px; line-height:1.7; color:#b2bdcb; margin:0 0 29px; }
label { display:block; margin-bottom:10px; font-size:12px; font-weight:600; color:#cbd6e5; }
.password-field { display:flex; align-items:center; border:1px solid #48576b; border-radius:3px; background:#11161c; }
.password-field:focus-within { border-color:#88b5ff; box-shadow:0 0 0 1px #88b5ff; }
.password-field input { width:100%; min-width:0; min-height:50px; padding:12px 14px; color:#f2f4f7; background:transparent; border:0; border-radius:3px; font-size:17px; }
.password-field input:focus { outline:0; }
.password-field button { min-height:44px; min-width:57px; margin-right:4px; padding:0 9px; border:0; border-radius:2px; color:#acc9f3; background:transparent; font-size:12px; font-weight:600; }
.password-field button:hover { color:#fff; background:#26364b; }
#login-status { min-height:38px; margin:10px 0 14px; color:#f2b2b4; font-size:12px; line-height:1.6; }
#login-status[data-state="pending"] { color:#b2bdcb; }
.submit-button { display:flex; justify-content:space-between; align-items:center; gap:15px; min-height:49px; width:100%; padding:12px 16px; border:1px solid #88b5ff; border-radius:3px; background:#88b5ff; color:#10243e; font-weight:650; font-size:14px; }
.submit-button:hover:not(:disabled) { background:#b4d0ff; border-color:#b4d0ff; }
.submit-button svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.7; }
footer { display:flex; align-items:flex-start; gap:9px; color:#91a1b7; font-size:11px; line-height:1.8; margin:22px 2px 0; }
footer svg { width:15px; height:18px; flex:none; fill:none; stroke:#8298b4; stroke-width:1.4; }
.noscript { color:#f2b2b4; font-size:13px; line-height:1.6; }
@media(max-width:440px) { body { padding:30px 18px; } .login-panel { padding:28px 23px; } .brand { margin-bottom:30px; } h1 { font-size:29px; } }

/* The private entrance follows the same flat collector's desk as the app. */
:root { background:#0d1014; }
body { background:#0d1014; }
.sign-in { max-width:440px; }
.brand { align-items:flex-start; justify-content:space-between; flex-direction:row-reverse; margin:0 0 48px; }
.brand svg { width:28px; height:38px; color:#8295ad; }
.brand .brand-word { font-size:44px; line-height:.91; letter-spacing:-1.7px; font-weight:700; }
.brand .brand-word>span { display:block; color:#79a9ff; }
.brand small { font:9px/1.6 'Cascadia Code','Consolas',monospace; margin-top:19px; letter-spacing:1px; }
.login-panel { padding:26px 0 0; border:0; border-top:1px solid #536174; border-radius:0; background:none; }
.panel-caption { margin-bottom:24px; font:10px 'Cascadia Code','Consolas',monospace; text-transform:uppercase; letter-spacing:.7px; }
.status-dot { border-radius:0; background:#79a9ff; }
h1 { font:600 36px/1.15 'Bahnschrift','Arial Narrow','Segoe UI',sans-serif; letter-spacing:-1px; }
.password-field { border:0; border-bottom:1px solid #536174; border-radius:0; background:#141b24; }
.password-field:focus-within { border-color:#79a9ff; box-shadow:0 1px #79a9ff; }
.password-field input,.password-field button,.submit-button { border-radius:0; }
.submit-button { border:0; background:#79a9ff; }
footer { border-top:1px solid #2a333e; padding-top:20px; margin-top:30px; }
@media(max-width:440px) { .login-panel { padding:23px 0 0; } .brand { margin-bottom:36px; } }
