:root{--bg:#060606;--card:#111;--card2:#1a1a1a;--text:#fff;--muted:#b8b8b8;--line:rgba(255,255,255,.16);--accent:#ff2020;--gold:#ffd54a;--bad:#ff3b30;--blue:#1287d7;--yellow:#ffe600;--red:#ff2020;--shadow:0 22px 60px rgba(0,0,0,.5)}
*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:linear-gradient(180deg,rgba(0,0,0,.46),rgba(0,0,0,.70)),linear-gradient(135deg,rgba(255,255,255,.035) 25%,transparent 25%) 0 0/36px 36px,url('modstox-bg.png') center center/cover fixed no-repeat,var(--bg);color:var(--text);min-height:100vh}.topbar{position:sticky;top:0;z-index:20;background:rgba(5,5,5,.91);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}.topbar:before{content:"";display:block;height:7px;background:repeating-linear-gradient(90deg,#fff 0 22px,#111 22px 44px)}.topbarInner{max-width:1240px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 16px}.brand{display:flex;align-items:center;gap:11px;color:#fff;text-decoration:none;font-weight:950;line-height:1.03;text-transform:uppercase;letter-spacing:.5px}.brand img{filter:drop-shadow(0 0 18px rgba(255,32,32,.35))}.brand .modstoxLogo{width:190px;max-width:42vw;height:auto;object-fit:contain}.brand .fantasyText{font-size:18px}.brand .fantasyText small{color:var(--accent);font-size:10px;letter-spacing:1.4px}.brand small{display:block;color:var(--accent);font-size:12px;letter-spacing:2px}.nav{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.nav a{color:#fff;text-decoration:none;border:1px solid var(--line);padding:9px 12px;border-radius:999px;background:linear-gradient(180deg,#171717,#0b0b0b);font-size:14px;font-weight:800}.nav a.active,.nav a:hover{border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 3px rgba(255,32,32,.10)}.wrap{max-width:1240px;margin:auto;padding:22px 16px 64px}.hero{border:1px solid var(--line);border-radius:24px;padding:22px;background:linear-gradient(135deg,rgba(255,32,32,.14),rgba(255,255,255,.035) 45%,rgba(255,32,32,.09)),linear-gradient(180deg,rgba(26,26,26,.88),rgba(17,17,17,.90));box-shadow:var(--shadow);position:relative;overflow:hidden}.hero:after{content:"";position:absolute;right:-70px;top:-50px;width:250px;height:250px;border:24px solid rgba(255,255,255,.06);border-radius:50%}.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:2px;font-size:12px;font-weight:950;margin:0 0 8px}h1{color:var(--accent);font-size:38px;margin:16px 0 6px;text-transform:uppercase;letter-spacing:.5px}h2{margin:0 0 12px;color:#fff}.muted{color:var(--muted);line-height:1.45}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.card{background:linear-gradient(180deg,rgba(26,26,26,.88),rgba(17,17,17,.91));border:1px solid var(--line);border-radius:20px;padding:16px;box-shadow:var(--shadow);margin:14px 0}.heroCard{background:linear-gradient(135deg,rgba(255,32,32,.13),rgba(18,135,215,.07),rgba(255,32,32,.06)),linear-gradient(180deg,#1b1b1b,#0d0d0d)}.statusbar{position:sticky;top:64px;z-index:15;background:rgba(8,8,8,.90);border-bottom:1px solid var(--line);backdrop-filter:blur(8px)}.statusInner{max-width:1240px;margin:auto;padding:10px 16px;display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}.stat{background:#111;border:1px solid var(--line);border-radius:12px;padding:8px 10px}.stat b{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:1px}.pill{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:8px 10px;background:#111;font-weight:900}.ok{color:var(--accent)}.no{color:var(--bad)}button,.btn{border:0;border-radius:12px;background:var(--accent);color:#050505;font-weight:950;padding:12px 15px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-transform:uppercase;letter-spacing:.2px}button:hover,.btn:hover{filter:brightness(1.05)}.btn.secondary,button.secondary{background:#222;color:#fff;border:1px solid var(--line)}.btn.danger,button.danger{background:#ff3b30;color:#fff}.driverGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:12px}.driver{border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,rgba(21,21,21,.90),rgba(13,13,13,.92));padding:12px;display:flex;flex-direction:column;gap:10px;position:relative;overflow:hidden}.driver:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--accent);opacity:.65}.driver.selected{outline:2px solid var(--accent);box-shadow:0 0 0 4px rgba(255,32,32,.13),var(--shadow)}.driverTop{display:flex;justify-content:space-between;gap:8px}.num{font-size:26px;font-weight:950;color:#fff}.price{font-weight:950;color:var(--gold)}.grade{display:inline-flex;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:950;border:1px solid var(--line)}.Superstar{background:rgba(255,255,255,.10);color:#fff}.Red{background:rgba(255,32,32,.18);color:#ff7777}.Blue{background:rgba(18,135,215,.20);color:#82d0ff}.Yellow{background:rgba(255,230,0,.18);color:#ffe600}.White{background:rgba(255,255,255,.17);color:#fff}.groupTitle{margin-top:22px;padding-top:10px;border-top:1px solid var(--line);display:flex;align-items:center;gap:10px}.checklist{display:flex;gap:8px;flex-wrap:wrap}.check{border:1px solid var(--line);border-radius:999px;padding:7px 10px;background:#111}.check.done{border-color:var(--accent);color:var(--accent)}input,select,textarea{width:100%;border:1px solid var(--line);background:#090909;color:#fff;border-radius:12px;padding:12px;font-size:15px;outline:none}input:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(255,32,32,.10)}label{display:block;margin:9px 0 6px;color:#ddd;font-weight:900}.tableWrap{overflow:auto}.table{width:100%;border-collapse:separate;border-spacing:0 8px}.table th{color:var(--muted);text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:1px}.table td{background:#111;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px}.table td:first-child{border-left:1px solid var(--line);border-radius:12px 0 0 12px}.table td:last-child{border-right:1px solid var(--line);border-radius:0 12px 12px 0}.notice{border:1px solid rgba(255,32,32,.35);background:rgba(255,32,32,.10);padding:12px;border-radius:14px}.error{border-color:rgba(255,59,48,.45);background:rgba(255,59,48,.10)}.split{display:grid;grid-template-columns:1fr 1fr;gap:14px}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.right{text-align:right}.big{font-size:34px;font-weight:950;color:var(--accent)}.authMsg{display:none;margin:12px 0}.footerNote{font-size:12px;color:var(--muted);border-top:1px solid var(--line);margin-top:14px;padding-top:12px}@media(max-width:880px){.three{grid-template-columns:1fr}.split{grid-template-columns:1fr}}@media(max-width:760px){.topbarInner{align-items:flex-start;flex-direction:column}.nav{justify-content:flex-start}.statusbar{top:120px}h1{font-size:28px}.hero{padding:16px}}

@media(max-width:720px){.brand .modstoxLogo{width:145px}.brand .fantasyText{font-size:14px}.brand .fantasyText small{font-size:9px}.topbarInner{align-items:flex-start}}

.logoutLink{
  border-color:rgba(255,255,255,.35)!important;
  background:rgba(255,255,255,.08)!important;
}
.logoutLink:hover{
  border-color:var(--red)!important;
  color:#fff!important;
}

.resultGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:12px 0 18px}
.resultLine{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:10px}
.resultLine label{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:6px}
.resultLine small{color:#ff3b3b;font-weight:900}
.bonusGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:12px 0}
.titleBadge{display:inline-flex;align-items:center;margin-left:6px;padding:3px 7px;border-radius:999px;background:rgba(255,59,59,.14);border:1px solid rgba(255,59,59,.45);color:#ffd6d6;font-size:.74rem;font-weight:900;text-transform:uppercase;letter-spacing:.03em;vertical-align:middle}

.teamReveal{padding:12px 8px;background:rgba(255,255,255,.03);border-radius:14px;border:1px solid rgba(255,255,255,.08)}
.smallBtn{padding:7px 10px;font-size:.85rem;white-space:nowrap}
.tableWrap.compact{margin-top:8px}
.hiddenTeamRow td{background:rgba(0,0,0,.18)}

.tabs{display:flex;gap:10px;flex-wrap:wrap;position:sticky;top:72px;z-index:12;background:rgba(10,10,10,.88);backdrop-filter:blur(8px)}
.tabs a{color:#fff;text-decoration:none;border:1px solid var(--line);padding:9px 12px;border-radius:999px;background:#111;font-weight:900}
.tabs a:hover{border-color:var(--accent);color:var(--accent)}
.statGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-top:12px}
.statCard{border:1px solid var(--line);border-radius:18px;padding:14px;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(0,0,0,.15));min-height:112px}
.statCard span{display:block;color:var(--muted);text-transform:uppercase;font-size:11px;letter-spacing:1px;font-weight:950;margin-bottom:7px}.statCard b{display:block;font-size:24px;color:#fff;line-height:1.08}.statCard small{display:block;color:var(--accent);margin-top:7px;font-weight:900}.statsColumns{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}.statsColumns>div{border:1px solid rgba(255,255,255,.10);background:rgba(0,0,0,.18);border-radius:18px;padding:14px}.statsColumns h3,.card h3{margin:10px 0 4px;color:#fff}.smallMuted{font-size:13px;margin-top:0}.gradeStatsGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:12px;margin:10px 0 18px}.gradeBlock{border:1px solid rgba(255,255,255,.10);background:rgba(0,0,0,.18);border-radius:18px;padding:12px}.gradeBlock h4{margin:0 0 8px}.filterBar{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px;margin:12px 0}.smallTable th,.smallTable td{font-size:13px}.smallTable small{color:var(--muted)}@media(max-width:760px){.tabs{top:120px}.filterBar{grid-template-columns:1fr}.statsColumns{grid-template-columns:1fr}.statCard b{font-size:20px}}

/* Hide admin links until Firebase confirms the logged-in user is an admin. */
.nav a[data-page="admin"]{display:none;}
