:root{--primary: #e10600;--bg: #0b0b0f;--bg-soft: #11131a;--surface: #171a22;--surface-hover: #1d2330;--text: #f4f5f7;--muted: #b2b7c2;--border: #2e3543;--danger: #a53b3b;--success: #2d9b60;--warning: #c99530;--radius: 14px;--shadow: 0 14px 36px rgba(0, 0, 0, .35)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:radial-gradient(120% 120% at 20% 0%,#1c1f2c,#0b0b0f 42%);color:var(--text)}a{color:inherit}.skip-link{position:absolute;left:.75rem;top:-100px;z-index:120;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:.55rem .75rem;text-decoration:none}.skip-link:focus-visible{top:.6rem}.app-root{min-height:100dvh;padding-bottom:88px}.shell{width:min(1120px,calc(100% - 2rem));margin:0 auto}.page-pad{padding:1rem 0 1.2rem}.calendar-page{display:grid;gap:3rem}.season-bar{display:grid;gap:.5rem;border-left:2px solid rgba(225,6,0,.35);padding-left:.75rem}.season-bar h2{margin:0;font-size:clamp(1.15rem,2.6vw,1.4rem)}.calendar-hero{border:1px solid rgba(66,78,97,.65);border-radius:16px;background:linear-gradient(165deg,#1b2230,#151b27);box-shadow:0 8px 22px #00000042;padding:1.5rem;display:grid;gap:.75rem}.calendar-hero-title{margin:0;font-size:clamp(1.55rem,3.8vw,2rem);line-height:1.2}.calendar-section{display:grid;gap:1.5rem}.calendar-race-list{display:grid;grid-template-columns:1fr;gap:1.5rem}.calendar-race-card{border:1px solid rgba(56,66,84,.72);border-radius:14px;background:#12161fd1;padding:1.5rem;display:grid;gap:.75rem}.race-card-dim{opacity:.72}.calendar-race-title{margin:0;font-size:clamp(1.05rem,2.1vw,1.22rem);line-height:1.35;font-weight:600}.calendar-location{margin:0;color:var(--muted);font-size:.95rem}.calendar-race-time{margin:0;font-size:1rem;color:var(--text)}.calendar-lock-time{margin:0;font-size:.9rem;color:var(--muted)}.status-subtle{border-color:#707b8f73;background:#707b8f24;color:var(--text)}.race-action-muted{min-height:44px;border-radius:10px;border:1px solid rgba(112,123,143,.35);color:var(--muted);display:inline-flex;align-items:center;justify-content:center;padding:.55rem .85rem}.topbar{position:sticky;top:0;z-index:30;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0b0b0fe0;border-bottom:1px solid rgba(225,6,0,.35)}.topbar-inner{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.65rem 0}.topbar h1{margin:0;font-size:clamp(1rem,2.5vw,1.4rem)}.eyebrow{margin:0;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-size:.72rem}.desktop-nav{display:none;align-items:center;gap:.55rem;position:relative}.timezone-select{width:100%;min-width:220px;min-height:36px;padding:.35rem .55rem;border-radius:10px;border:1px solid var(--border);background:#0f131bf2;color:var(--muted)}.timezone-select:focus-visible{outline:2px solid rgba(225,6,0,.65);outline-offset:2px}.nav-link{text-decoration:none;border:1px solid transparent;border-radius:999px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0 .85rem;color:var(--muted)}.nav-link.active{border-color:var(--border);background:var(--bg-soft);color:var(--text)}.chip{border:1px solid var(--border);border-radius:999px;min-height:36px;padding:.3rem .7rem;display:inline-flex;align-items:center;color:var(--muted)}.chip-link{text-decoration:none}.chip-link:hover{border-color:#8191ad9e;color:var(--text);background:#20273580}.menu-wrap{position:relative}.menu-trigger{min-width:44px;font-size:1rem;padding:.45rem}.user-menu{position:absolute;top:calc(100% + .55rem);right:0;width:min(320px,82vw);display:grid;gap:.55rem;padding:.7rem;border:1px solid var(--border);border-radius:12px;background:#0e131bf7;box-shadow:var(--shadow);z-index:80}.user-menu-link{min-height:40px;border:1px solid var(--border);border-radius:10px;color:var(--muted);text-decoration:none;display:inline-flex;align-items:center;justify-content:center;padding:.35rem .6rem}.user-menu-link:hover{color:var(--text);border-color:#8191ad9e;background:#20273580}.user-menu-logout{width:100%}.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:.85rem}.section-title-row h2{margin:0;font-size:clamp(1.25rem,3.7vw,1.8rem)}.card{border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(170deg,#161a24,#11141c);box-shadow:var(--shadow);padding:1rem}.skeleton-grid{display:grid;gap:.8rem}.skeleton-card{min-height:168px;position:relative;overflow:hidden}.skeleton-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);animation:shimmer 1.2s infinite}.sub-card{margin-top:.85rem;padding:.8rem;border-radius:12px;border:1px solid var(--border);background:#ffffff05}.sub-card p{margin:.2rem 0}.btn{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:12px;min-height:44px;min-width:44px;padding:.55rem .9rem;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.btn:hover{background:var(--surface-hover)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:linear-gradient(160deg,var(--primary),#9f0d0a);border-color:#7f1212;color:#fff}.btn-ghost{background:transparent}.btn-danger{background:#a53b3b29;border-color:var(--danger);color:#ffc4c4}input,select,textarea{width:100%;border-radius:10px;border:1px solid var(--border);background:#10131b;color:var(--text);min-height:44px;padding:.6rem .7rem}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid rgba(225,6,0,.65);outline-offset:2px}.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}.form-grid{display:grid;gap:.65rem}.cols-3,.cols-4{grid-template-columns:1fr}.meta-list{display:grid;gap:.5rem;margin:.9rem 0}.meta-list div{border:1px solid var(--border);border-radius:10px;background:#0f131b;padding:.65rem}.meta-list dt{color:var(--muted);font-size:.82rem}.meta-list dd{margin:.2rem 0 0}.race-grid{display:grid;gap:.85rem}.race-card h3{margin-top:.35rem;margin-bottom:.35rem}.race-card-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.race-card-actions{display:flex;gap:.55rem;flex-wrap:wrap;margin-top:.7rem}.calendar-hero .race-card-actions,.calendar-race-card .race-card-actions{margin-top:.25rem}.calendar-hero .btn,.calendar-race-card .btn,.calendar-race-card .race-action-muted{width:100%}.status-badge{border-radius:999px;font-size:.78rem;border:1px solid var(--border);padding:.25rem .7rem}.status-scheduled{background:#2d9b6024;border-color:#2d9b6066}.status-locked{background:#c9953024;border-color:#c9953066}.status-provisional{background:#508af024;border-color:#508af066}.status-final{background:#e1060026;border-color:#e1060073}.picker-layout{display:grid;gap:1rem}.picker-header-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;justify-content:flex-end}.picker-race-nav{display:inline-flex;align-items:center;gap:.45rem}.picker-race-nav .btn{min-height:36px;padding:.4rem .7rem}.race-nav-placeholder{width:82px;height:36px;display:inline-block}.pick-panel{padding:1.25rem;border-color:#3e495cb8;display:flex;flex-direction:column;min-height:0}.pick-panel-ordered{background:linear-gradient(170deg,#171e2b,#111720)}.pick-panel-available{background:linear-gradient(170deg,#161b26,#10151e)}.picker-title-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.45rem}.picker-title-row h3{margin:0;font-size:1.05rem;letter-spacing:.01em}.picker-helper{margin:0 0 .85rem;color:var(--muted);font-size:.9rem;line-height:1.45}.picker-count-badge{border:1px solid rgba(97,110,132,.45);border-radius:999px;min-height:32px;padding:.15rem .62rem;display:inline-flex;align-items:center;color:#c6ccd8;font-size:.82rem;white-space:nowrap}.slot-list{list-style:none;margin:0;padding:0;display:grid;gap:.65rem}.slot-list-wrap{min-height:0}.slot-row{border:1px solid rgba(80,93,116,.5);border-radius:10px;background:#0d121be0;min-height:52px;display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:.58rem;padding:.48rem .55rem}.slot-row-draggable{cursor:grab}.slot-row-draggable:active{cursor:grabbing}.slot-row-drag-over{border-color:#e1060099;background:#2c12188c}.slot-label{border-radius:8px;border:1px solid rgba(98,113,140,.42);background:#232b3bcc;width:40px;min-height:34px;display:inline-flex;align-items:center;justify-content:center;color:#dbe2ee;font-size:.84rem;font-weight:600}.slot-name{overflow-wrap:anywhere;color:var(--text);font-weight:500;line-height:1.35}.slot-actions{display:inline-flex;align-items:center;gap:.35rem}.icon-btn{min-width:40px;padding:0}.icon-btn-compact{min-width:34px;min-height:34px;border-radius:8px;border-color:#707d966b;background:#1e263573;color:#d9e1ee;font-weight:600;line-height:1}.icon-btn-compact:hover:not(:disabled){border-color:#8f9fbb9e;background:#2a35489e}.btn-link-danger{border:1px solid transparent;background:transparent;color:#e1a7a7;min-height:34px;min-width:unset;padding:.35rem .45rem;border-radius:8px}.btn-link-danger:hover:not(:disabled){color:#f2c2c2;border-color:#a53b3b59;background:#a53b3b24}@media (pointer: coarse){.icon-btn-compact,.btn-link-danger{min-width:44px;min-height:44px}.slot-actions{gap:.25rem}}.rider-list{list-style:none;margin:.75rem 0 0;padding:0;display:grid;gap:.55rem;max-height:58dvh;overflow:auto}.rider-list-wrap{position:relative;min-height:0;flex:1}.rider-list-wrap:before,.rider-list-wrap:after{content:"";position:absolute;left:0;right:0;height:18px;pointer-events:none;z-index:1}.rider-list-wrap:before{top:0;background:linear-gradient(to bottom,#141b27eb,#141b2700)}.rider-list-wrap:after{bottom:0;background:linear-gradient(to top,#141b27eb,#141b2700)}.rider-item{width:100%;border:1px solid rgba(75,88,110,.48);border-radius:10px;background:#0e131deb;color:var(--text);min-height:52px;text-align:left;padding:.55rem .72rem;display:flex;align-items:center;justify-content:space-between;gap:.65rem}.rider-item:hover:not(:disabled){border-color:#8191ad9e;background:#141b27f2}.rider-item-selected{border-color:#e106008c;background:#e106001f}.rider-item:disabled{opacity:.72}.picker-empty{border:1px dashed var(--border);border-radius:10px;padding:.7rem;margin-top:.7rem}.lock-banner{border:1px solid rgba(201,149,48,.55);border-radius:10px;background:#c995302e;padding:.78rem;margin-bottom:.25rem}.leaderboard-mobile{display:grid;gap:.75rem}.leader-rank{margin:0;color:var(--primary);font-weight:700}.leader-card h3{margin-bottom:.3rem}.leader-card p{margin:.2rem 0}.leader-top{border-color:#e1060073}.leaderboard-desktop{display:none}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;border-bottom:1px solid var(--border);padding:.7rem}th{color:var(--muted)}.top-row{background:#e1060014}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:50;border-top:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0b0b0ff2;display:grid;grid-template-columns:repeat(3,1fr);padding:.45rem .75rem calc(.45rem + env(safe-area-inset-bottom));gap:.45rem}.bottom-link{min-height:46px;border-radius:10px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:var(--muted)}.bottom-link.active{border-color:#e1060066;color:var(--text);background:#e1060026}.login-shell{min-height:100dvh;display:grid;place-items:center;padding:1rem}.login-card{width:min(460px,100%);border:1px solid var(--border);border-radius:18px;background:linear-gradient(165deg,#191d2a,#11141b);box-shadow:var(--shadow);padding:1rem}.login-card h2{margin-top:0}.security-block{border:1px solid var(--border);border-radius:10px;background:#0e1218;padding:.7rem}.security-block img{display:block;margin:0 auto .65rem;border-radius:8px}.text-wrap{overflow-wrap:anywhere}.toast-stack{margin-top:.9rem;display:grid;gap:.45rem}.toast{margin:0;border:1px solid var(--border);border-radius:10px;padding:.7rem}.toast-error{background:#a53b3b33;border-color:#a53b3b73}.toast-info{background:#508af02e;border-color:#508af073}.action-row{margin-top:.8rem;display:flex;flex-wrap:wrap;gap:.55rem;align-items:center}.result-row{margin-top:.55rem;display:grid;grid-template-columns:56px 1fr;gap:.6rem;align-items:center}.checkbox-row{display:inline-flex;align-items:center;gap:.5rem;color:var(--muted)}.admin-gap{display:grid;gap:.85rem}.profile-page{display:grid;gap:1rem}.muted{color:var(--muted)}@keyframes shimmer{to{transform:translate(100%)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}@media (min-width: 768px){.shell{width:min(1120px,calc(100% - 2.4rem))}.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.race-grid,.skeleton-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.picker-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;min-height:0}.picker-race-nav .btn{min-height:34px}.leaderboard-mobile{display:none}.leaderboard-desktop{display:block}.desktop-nav{display:inline-flex}.calendar-hero .btn,.calendar-race-card .btn,.calendar-race-card .race-action-muted{width:auto}}@media (min-width: 1025px){.race-grid,.skeleton-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.bottom-nav{display:none}.app-root{padding-bottom:1rem}.calendar-race-list{grid-template-columns:repeat(2,minmax(0,1fr))}.app-root.app-root-lock-scroll{height:100dvh;overflow:hidden;display:flex;flex-direction:column;padding-bottom:0}.app-root-lock-scroll .topbar,.app-root-lock-scroll .toast-stack{flex:0 0 auto}.picks-page{flex:1;min-height:0;height:auto;overflow:hidden;display:flex;flex-direction:column;gap:.65rem;padding-bottom:.65rem}.picks-page .section-title-row{margin-bottom:0}.picks-page .picker-layout{flex:1;min-height:0;overflow:hidden;align-items:stretch}.picks-page .pick-panel{min-height:0}.picks-page .slot-list-wrap,.picks-page .rider-list-wrap{flex:1;overflow:hidden}.picks-page .slot-list,.picks-page .rider-list{max-height:none;height:100%;overflow:auto;padding-right:.2rem}.picks-page .btn-primary{margin-top:.7rem}}
