:root{--bg:#0f1419;--card:#1a2129;--line:#2b343d;--txt:#e6edf3;--mut:#8b97a3;
  --acc:#f2c200;--acc2:#1f6feb;--ok:#2ea043;--warn:#e5534b}
*{box-sizing:border-box}
body{margin:0;font:15px/1.5 -apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--txt)}
header{display:flex;align-items:center;justify-content:space-between;padding:.8rem 1.2rem;
  border-bottom:1px solid var(--line);background:#11171d;position:sticky;top:0}
.brand{font-weight:700;text-decoration:none;color:var(--acc);font-size:1.15rem}
nav a{color:var(--txt);text-decoration:none;margin-left:1rem}
nav a:hover{color:var(--acc)}
nav a.cta{background:var(--acc);color:#000;padding:.3rem .7rem;border-radius:6px;font-weight:600}
main{max-width:1000px;margin:0 auto;padding:1.2rem}
footer{text-align:center;color:var(--mut);padding:2rem;font-size:.85rem}
h1{font-size:1.5rem}
.banner{background:#1b2430;border:1px solid var(--acc2);padding:.6rem .9rem;border-radius:8px;margin-bottom:1rem}
.banner.closed{border-color:var(--line);color:var(--mut)}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:1rem;margin:1rem 0}
.error{background:#3a1d1d;border:1px solid var(--warn);padding:.6rem .9rem;border-radius:8px;margin:1rem 0}
.warn{color:var(--warn);font-size:.8rem;margin-left:.4rem}
.empty{color:var(--mut)}
label{display:block;margin:.5rem 0}
input:not([type=checkbox]),select,textarea{width:100%;padding:.5rem;background:#0d1217;
  border:1px solid var(--line);color:var(--txt);border-radius:6px;margin-top:.2rem}
input[type=checkbox]{width:20px;height:20px;accent-color:var(--acc);cursor:pointer}
button{background:var(--acc2);color:#fff;border:0;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-weight:600}
button:hover{filter:brightness(1.1)}
button:disabled{opacity:.5;cursor:not-allowed}
.inline{display:inline-flex;gap:.4rem;align-items:center;margin:.3rem .3rem 0 0}
.inline input,.inline select{width:auto;margin:0}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.table-wrap{overflow-x:auto}
table{border-collapse:collapse;width:100%}
th,td{padding:.45rem .6rem;border-bottom:1px solid var(--line);text-align:left}
th.num,td.num{text-align:right}
td.total,th.total{font-weight:700;color:var(--acc)}
.standings tbody tr:hover{background:#11171d}
.budgetbar{position:sticky;top:56px;background:#11171d;border:1px solid var(--acc2);
  padding:.5rem .8rem;border-radius:8px;margin-bottom:1rem;z-index:5}
.riders{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.3rem}
.rider{display:flex;align-items:center;gap:.5rem;background:#0d1217;border:1px solid var(--line);
  padding:.35rem .5rem;border-radius:6px;margin:0}
.rider input{margin:0;flex:none}
.rider:has(input:checked){border-color:var(--acc);background:#23303d}
.rider.selected{border-color:var(--acc);background:#23303d}
.rider .rn{flex:1}
.rider .rt{color:var(--mut);font-size:.78rem}
.rider .rv{font-weight:700;color:var(--acc);min-width:1.6rem;text-align:right}
.chips,.chip{display:inline-block}
.chip{background:#0d1217;border:1px solid var(--line);padding:.2rem .55rem;border-radius:20px;margin:.15rem}
.cols{columns:2}
.locked{color:var(--mut)}
.sub{color:var(--mut)}
pre{background:#0d1217;border:1px solid var(--line);padding:.6rem;border-radius:6px;overflow:auto;white-space:pre-wrap}
a{color:var(--acc2)}
