/* Login-only theme: grayscale motocross and Banelogg's familiar blue accent. */
:root{color-scheme:light dark;--login-bg:#edf0f3;--login-surface:#fff;--login-text:#18212b;--login-muted:#54616f;--login-border:#dce2e8;--login-blue:#075dc0;--login-blue-hover:#064b99;--login-focus:#064b99;background:var(--login-bg);color:var(--login-text)}
body{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;background:var(--login-bg)}
.admin-header{background:transparent;border:0;padding:28px 32px}
.admin-header-inner{max-width:1100px}
.admin-header .brand{color:var(--login-text);font-size:25px;font-weight:850;letter-spacing:-1px;font-style:italic}
.admin-header .brand span{color:var(--login-muted);font-size:11px;letter-spacing:1.7px;text-transform:uppercase;font-style:normal;margin-top:2px}
.admin-header-inner>.role-label{display:none}
main{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;flex:1;width:100%;max-width:1164px;min-height:0;padding:24px 32px 56px}
.admin-login{width:100%;display:grid;grid-template-columns:1.13fr 1fr;min-height:470px;border:1px solid var(--login-border);border-radius:18px;overflow:hidden;background:var(--login-surface);box-shadow:0 20px 64px #1423340c}
.login-visual{position:relative;isolation:isolate;min-width:0;overflow:hidden;background:#1a232e;color:#fff;display:flex;flex-direction:column;padding:34px 36px 38px}
.login-visual::before{content:"";position:absolute;inset:0;z-index:-1;background:repeating-linear-gradient(130deg,transparent 0 48px,#ffffff03 49px 51px,transparent 52px 100px)}
.track-marker{display:flex;align-items:center;gap:11px;font-size:10px;font-weight:650;text-transform:uppercase;letter-spacing:2.4px;color:#d0d8e0}
.race-checker{display:block;width:24px;height:16px;background:conic-gradient(#e0e6eb 25%,transparent 0 50%,#e0e6eb 0 75%,transparent 0) 0 0/8px 8px;transform:skew(-12deg)}
.motocross-art{display:block;width:calc(100% + 54px);max-width:none;margin:17px -27px -4px;flex:1;min-height:0;overflow:visible}
.track-lines{stroke:#667789;stroke-width:9;opacity:.2}.race-dust{stroke:#7f90a0;stroke-width:5;stroke-linecap:round;opacity:.5}
.bike-wheels{stroke:#e3e8ed;stroke-width:12;stroke-dasharray:10 4}.bike-spokes{stroke:#718294;stroke-width:3}.bike-frame{stroke:#c4cfd9;stroke-width:9;stroke-linecap:round;stroke-linejoin:round}.bike-body{fill:#438fe1}.bike-seat{fill:#e5ecf2}.bike-engine{fill:#8fa1b1}.rider-limbs{stroke:#d3dce4;stroke-width:19;stroke-linecap:round;stroke-linejoin:round}.rider-body{fill:#f1f4f6}.rider-helmet{fill:#e4ebf0}.helmet-visor{fill:#438fe1}.rider-goggle{fill:#1a232e}
.visual-caption{position:relative;z-index:1;margin:0;font-size:clamp(24px,3vw,34px);font-weight:750;letter-spacing:-.8px;line-height:1.2}
.race-stripe{position:absolute;bottom:0;left:0;width:100%;height:7px;background:linear-gradient(110deg,#1274dd 0 54%,#6ea9eb 54% 57%,#1a232e 57% 60%,#1274dd 60% 63%,#1a232e 63%)}
.login-form-panel{align-self:center;min-width:0;padding:52px 42px}
.login-eyebrow{margin:0 0 12px;color:var(--login-muted);font-size:11px;font-weight:700;letter-spacing:1.8px;text-transform:uppercase}
.login-form-panel h1{font-size:clamp(32px,3.5vw,42px);margin:0 0 15px;letter-spacing:-1.2px;color:var(--login-text)}
.login-intro{color:var(--login-muted);font-size:15px;line-height:1.65;max-width:310px;margin:0 0 32px}
.microsoft-form{margin:0}
.microsoft-button{width:100%;min-height:54px;display:flex;align-items:center;justify-content:center;gap:12px;border:1px solid var(--login-blue);border-radius:8px;background:var(--login-blue);color:#fff;font-size:14px;font-weight:650;line-height:1.4;padding:15px 16px;text-align:left;box-shadow:0 4px 12px #075dc01a}
.microsoft-button:hover{background:var(--login-blue-hover);border-color:var(--login-blue-hover)}
.microsoft-icon{width:20px;height:20px;flex:none;fill:currentColor}
.button-arrow{margin-left:auto;font-size:21px;line-height:1;font-weight:400}
.login-help{font-size:12px;line-height:1.7;color:var(--login-muted);margin:17px 0 0;max-width:300px}
.login-demo{font-size:12px;line-height:1.6;margin:24px 0 0;padding:12px 14px;border:1px solid var(--login-border);border-left:3px solid var(--login-blue);border-radius:5px;color:var(--login-muted);background:var(--login-bg)}
.login-demo strong{color:var(--login-text);font-weight:650}
.login-credit{align-self:center;display:flex;align-items:center;justify-content:center;gap:10px;margin:0;color:var(--login-muted);font-size:11px;line-height:1.5}
.login-credit a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:5px 8px;background:#fff;border-radius:5px}
.login-credit img{display:block;width:80px;height:auto;max-width:100%}
.login-credit a:hover{outline:1px solid var(--login-border);outline-offset:2px}
footer{width:100%;max-width:1164px;font-size:11px;color:var(--login-muted);padding:0 32px 24px;margin:0 auto}
:focus-visible{outline:3px solid var(--login-focus);outline-offset:5px}
.microsoft-button:focus-visible{box-shadow:0 0 0 2px var(--login-surface)}
.skip-link:focus{background:var(--login-text);color:var(--login-surface)}
@media(prefers-color-scheme:dark){:root{--login-bg:#111820;--login-surface:#1b2530;--login-text:#f1f4f7;--login-muted:#b1bdc9;--login-border:#35414e;--login-blue:#186bd1;--login-blue-hover:#1d60b5;--login-focus:#9cc9ff}.admin-login{box-shadow:0 20px 64px #0002}.login-visual{background:#151e28}.race-stripe{background:linear-gradient(110deg,#1274dd 0 54%,#6ea9eb 54% 57%,#151e28 57% 60%,#1274dd 60% 63%,#151e28 63%)}.microsoft-button{box-shadow:none}}
@media(max-width:800px){.admin-header{padding:24px}.admin-header-inner{display:flex}.admin-header .brand{font-size:23px}main{padding:14px 24px 40px}.admin-login{grid-template-columns:1fr 1.1fr;min-height:420px}.login-visual{padding:27px 24px 32px}.track-marker{font-size:9px;letter-spacing:1.6px}.login-form-panel{padding:36px 28px}.microsoft-button{gap:10px;padding:14px 12px}.visual-caption{font-size:26px}footer{padding:0 24px 22px}}
@media(max-width:620px){.admin-header{padding:22px 22px 18px}main{align-items:center;justify-content:flex-start;padding:8px 18px 32px}.admin-login{display:flex;flex-direction:column;max-width:430px;min-height:0;border-radius:14px}.login-visual{height:184px;min-height:184px;padding:23px 24px;justify-content:space-between}.track-marker{position:relative;z-index:2}.motocross-art{position:absolute;right:-34px;top:-35px;width:330px;height:222px;margin:0;opacity:.8;flex:none}.visual-caption{max-width:145px;font-size:24px;line-height:1.15}.login-form-panel{align-self:stretch;padding:29px 26px 32px}.login-eyebrow{margin-bottom:9px}.login-form-panel h1{font-size:33px;margin-bottom:12px}.login-intro{font-size:14px;margin-bottom:25px;max-width:290px}.login-help{font-size:12px;margin-top:16px}.login-demo{margin-top:22px}footer{padding:0 22px 20px;max-width:466px;font-size:10px;line-height:1.6}}
@media(max-width:360px){.login-form-panel{padding:26px 20px 28px}.login-visual{padding:22px 20px;height:166px;min-height:166px}.motocross-art{right:-49px;top:-32px;width:300px;height:202px}.visual-caption{font-size:22px;max-width:125px}.microsoft-button{font-size:13px;gap:9px;padding:14px 11px}.microsoft-icon{width:18px;height:18px}.button-arrow{font-size:18px}}
@media(forced-colors:active){.login-visual{display:none}.admin-login{grid-template-columns:1fr;max-width:480px;border:1px solid CanvasText}.microsoft-button{border:2px solid ButtonText}.login-demo{border:1px solid CanvasText}}
