
:root{--bg:#02070e;--panel:#071322;--panel2:#0b1e35;--panel3:#06294a;--blue:#009dff;--blue2:#74c8ff;--text:#f4f8ff;--muted:#9fb4cc;--line:rgba(0,157,255,.45);--line2:rgba(116,200,255,.22);--red:#ff2453;--green:#27ff72;--gold:#ffbf2e}*{box-sizing:border-box}html,body,#app{min-height:100%}body{margin:0;background:#01050b;color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;font-weight:800;overflow-x:hidden}.app{min-height:100vh;padding:16px 14px calc(92px + env(safe-area-inset-bottom));background:radial-gradient(circle at 15% 0%,rgba(0,157,255,.25),transparent 34%),linear-gradient(135deg,#020812 0%,#061a2e 35%,#010309 76%)}.screen{max-width:520px;margin:0 auto}.phoneFrame{position:relative;border:1px solid var(--line);border-radius:30px;padding:14px;background:linear-gradient(180deg,rgba(4,20,36,.96),rgba(1,5,11,.96));box-shadow:0 0 24px rgba(0,157,255,.18), inset 0 0 28px rgba(0,157,255,.05);overflow:hidden}.phoneFrame:before{content:"";position:absolute;right:12px;top:8px;width:150px;height:80px;background:linear-gradient(135deg,transparent 0 20%,rgba(0,157,255,.25) 20% 32%,transparent 32% 40%,rgba(0,157,255,.18) 40% 52%,transparent 52%);transform:skewX(-25deg);opacity:.85;pointer-events:none}.topbar{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:8px;margin-bottom:12px}.iconBtn{height:42px;border:0;background:transparent;color:var(--text);font-size:24px;display:grid;place-items:center}.brand{text-align:center;letter-spacing:.36em;color:#a7d8ff;font-size:16px;text-transform:uppercase;text-shadow:0 0 12px rgba(0,157,255,.6)}.brand small{display:block;letter-spacing:.28em;color:#fff;font-size:10px;margin-top:4px}.section{border:1px solid var(--line2);border-radius:18px;background:linear-gradient(180deg,rgba(5,21,38,.75),rgba(1,8,16,.72));box-shadow:inset 0 0 22px rgba(0,157,255,.06);padding:12px;margin:12px 0}.sectionHead{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.section h2,.sectionHead h2{font-size:16px;letter-spacing:.08em;text-transform:uppercase;margin:0;color:#fff}.viewAll{color:var(--blue2);font-size:12px;text-transform:uppercase;letter-spacing:.08em;background:transparent;border:0;font-weight:900}.snapshot{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.statBox{border:1px solid var(--line);border-radius:9px;padding:10px 6px;text-align:center;background:linear-gradient(180deg,rgba(8,37,70,.92),rgba(5,15,30,.94));box-shadow:inset 0 0 18px rgba(0,157,255,.12)}.statBox b{display:block;font-size:28px;color:var(--blue2);line-height:1;text-shadow:0 0 10px rgba(0,157,255,.55)}.statBox span{font-size:11px;color:#fff;font-weight:700}.spot{display:grid;grid-template-columns:78px 1fr;gap:12px;align-items:center;position:relative}.avatar{width:76px;height:76px;border-radius:50%;border:2px solid var(--blue);background:radial-gradient(circle at 35% 30%,#183f66,#020912 70%);box-shadow:0 0 20px rgba(0,157,255,.4);display:grid;place-items:center;overflow:hidden}.helmet{width:74px;height:74px;display:block}.driverPlate{position:relative;border:1px solid var(--line);border-radius:8px;padding:10px 12px 12px;background:linear-gradient(90deg,rgba(0,82,160,.32),rgba(3,12,24,.75));clip-path:polygon(0 0,100% 0,100% 75%,82% 75%,75% 100%,0 100%)}.driverNo{display:inline-block;background:linear-gradient(90deg,#007bff,#023d75);color:#bde7ff;padding:3px 14px;margin:-6px 0 4px -2px;font-size:13px;clip-path:polygon(0 0,100% 0,88% 100%,0 100%)}.driverName{font-size:25px;line-height:1.05}.driverMeta{color:var(--blue2);font-size:12px;margin-top:6px}.trophy{position:absolute;right:14px;top:34px;color:var(--gold);font-size:24px}.primaryBtn{margin-top:8px;width:100%;height:34px;border:1px solid var(--blue);background:linear-gradient(90deg,rgba(0,86,170,.5),rgba(0,20,40,.2));border-radius:6px;color:#dff4ff;font-weight:900;text-transform:uppercase}.raceList{display:grid;gap:8px}.raceLine{position:relative;display:grid;grid-template-columns:1fr auto 20px;gap:8px;align-items:center;border:1px solid rgba(255,255,255,.12);border-radius:9px;background:rgba(0,0,0,.35);padding:10px 8px 10px 14px;min-height:58px}.raceLine:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:5px;border-radius:0 6px 6px 0;background:var(--red);box-shadow:0 0 10px var(--red)}.raceLine.entered:before{background:var(--green);box-shadow:0 0 10px var(--green)}.raceTitle{font-size:14px;line-height:1.12}.raceSub{font-size:10px;color:var(--muted);margin-top:4px}.tag{border:1px solid rgba(255,36,83,.5);background:rgba(255,36,83,.22);color:#ff9db0;border-radius:7px;padding:6px 10px;font-size:10px;text-transform:uppercase;min-width:82px;text-align:center}.entered .tag{border-color:rgba(39,255,114,.5);background:rgba(39,255,114,.18);color:#aaffc8}.chev{font-size:26px;color:#fff}.selectLine{width:100%;height:36px;border:1px solid var(--line);background:#041429;color:#fff;border-radius:8px;padding:0 12px;font-weight:900}.standRows{display:grid;gap:7px}.standRow{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:10px;border:1px solid rgba(0,157,255,.32);border-radius:8px;background:linear-gradient(90deg,rgba(0,69,139,.3),rgba(0,0,0,.2));padding:8px;cursor:pointer}.standPos{font-size:30px;color:#d3eaff;background:linear-gradient(135deg,#003c78,#02142a);border-left:4px solid var(--blue);padding:4px 8px;text-align:center}.standName{font-size:15px}.standIcons{display:flex;gap:10px;color:var(--blue);font-size:12px}.standPts{text-align:right;color:var(--blue);font-size:17px}.miniNav{position:fixed;left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));max-width:520px;margin:0 auto;display:grid;grid-template-columns:repeat(5,1fr);gap:8px;padding:8px;border:1px solid var(--line);border-radius:18px;background:rgba(3,10,19,.92);backdrop-filter:blur(16px);box-shadow:0 0 26px rgba(0,157,255,.2);z-index:50}.miniNav button{height:58px;border:0;background:transparent;color:#ddd;display:grid;place-items:center;font-size:10px;text-transform:uppercase;font-weight:900}.miniNav button.on{background:linear-gradient(180deg,#005bb5,#032044);border:1px solid var(--blue);border-radius:13px;color:#fff;box-shadow:0 0 18px rgba(0,157,255,.5)}.miniNav span{font-size:24px;line-height:1}.miniNav b{font-size:10px}.drawer{position:fixed;left:14px;right:14px;bottom:calc(86px + env(safe-area-inset-bottom));max-width:520px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px;border:1px solid var(--line);border-radius:18px;background:#04101f;z-index:60;box-shadow:0 0 40px rgba(0,0,0,.8)}.drawer button{height:44px;border:1px solid var(--line);background:#081a30;color:#fff;border-radius:12px;font-weight:900}.hidden{display:none!important}.pageTitle{font-size:28px;margin:0 0 12px}.browserList{display:grid;gap:10px}.browserCard{border:1px solid var(--line2);border-radius:14px;background:rgba(0,0,0,.25);padding:12px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.label{display:block;color:var(--blue2);letter-spacing:.16em;font-size:10px;text-transform:uppercase}.value{display:block;font-size:17px;line-height:1.15}.top3{grid-column:2;align-self:start}.actions{grid-column:1/-1;display:flex;gap:8px}.smallBtn{border:1px solid var(--line);background:#06182b;color:#fff;border-radius:10px;padding:9px 14px;font-weight:900}.profile{display:grid;gap:10px}.profileStats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.profileStats div{border:1px solid var(--line);border-radius:12px;padding:10px;background:rgba(0,68,128,.22)}.profileStats b{display:block;color:var(--blue2);font-size:24px}.profileStats span{font-size:11px}.ach{display:grid;grid-template-columns:42px 1fr;gap:10px;border:1px solid var(--line2);border-radius:12px;padding:10px;margin:8px 0;background:rgba(0,0,0,.2)}.achIcon{font-size:28px}.formGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}input,select,textarea{width:100%;background:#04101f;color:#fff;border:1px solid var(--line2);border-radius:10px;padding:12px;font-weight:900}table{width:100%;border-collapse:collapse}th,td{border-bottom:1px solid var(--line2);padding:8px;text-align:left}th{color:var(--blue2);font-size:11px;text-transform:uppercase}td{font-size:13px}.notice{border:1px dashed var(--line);border-radius:12px;padding:12px;color:var(--muted);font-size:14px}.bell{position:relative}.bell:after{content:"";position:absolute;top:9px;right:8px;width:8px;height:8px;background:#88ff49;border-radius:50%}@media(max-width:380px){.snapshot{grid-template-columns:repeat(2,1fr)}.spot{grid-template-columns:60px 1fr}.avatar{width:60px;height:60px}.driverName{font-size:20px}.browserCard{grid-template-columns:1fr}.top3{grid-column:1}.standRow{grid-template-columns:40px 1fr}.standPts{grid-column:2;text-align:left}.miniNav{left:6px;right:6px}.miniNav button{height:52px}.phoneFrame{padding:10px}.app{padding-left:8px;padding-right:8px}}

/* v6.3 functional polish */
.spot{grid-template-columns:92px 1fr;gap:14px;align-items:center;overflow:visible}.avatar{width:86px;height:86px;min-width:86px}.helmet{width:86px;height:86px}.driverPlate{min-height:112px;padding:10px 14px 12px;overflow:visible}.driverName{font-size:22px;white-space:normal;overflow-wrap:anywhere;max-width:100%;padding-right:28px}.driverMeta{font-size:11px;line-height:1.25}.trophy{right:10px;top:42px}.primaryBtn{height:32px;font-size:11px}.raceStatusBox{grid-column:2;align-self:start;border:1px solid rgba(0,157,255,.28);background:rgba(0,42,84,.18);border-radius:10px;padding:8px}.raceStatusBox .raceState{font-size:22px;line-height:1}.raceStatusBox .tag{margin-top:8px;display:block;width:100%;min-width:0}.top3.compactTop3{grid-column:1;align-self:start}.top3.compactTop3 .value{font-size:13px;line-height:1.25}.top3.compactTop3 .label,.raceStatusBox .label{font-size:9px}.browserCard{grid-template-columns:1fr 1fr;gap:10px}.value{font-size:15px}.label{font-size:9px}.actions{margin-top:2px}.enterBtn{border:1px solid rgba(39,255,114,.5);background:rgba(39,255,114,.16);color:#bbffd2;border-radius:10px;padding:10px 12px;font-weight:900}.enterBtn.out{border-color:rgba(255,36,83,.55);background:rgba(255,36,83,.16);color:#ff9db0}.drawer button{cursor:pointer}.miniNav button{cursor:pointer}.clickable{cursor:pointer}.profileHero .driverPlate{min-height:90px}@media(max-width:420px){.phoneFrame{padding:12px}.brand{font-size:14px}.snapshot{gap:7px}.statBox{padding:8px 4px}.statBox b{font-size:25px}.spot{grid-template-columns:82px 1fr;gap:10px}.avatar,.helmet{width:78px;height:78px;min-width:78px}.driverName{font-size:20px}.driverPlate{min-height:104px}.browserCard{padding:10px;gap:8px}.value{font-size:14px}.raceStatusBox .raceState{font-size:18px}.miniNav{left:10px;right:10px;gap:5px}.miniNav button{height:56px}.top3.compactTop3 .value{font-size:12px}}
/* v6.4 login and driver admin */
.accountCard{display:grid;grid-template-columns:70px 1fr;gap:12px;align-items:center;border:1px solid var(--line);border-radius:16px;background:linear-gradient(90deg,rgba(0,90,170,.22),rgba(0,0,0,.25));padding:12px;margin-bottom:10px}.smallAvatar{width:62px;height:62px;min-width:62px}.smallAvatar .helmet{width:62px;height:62px}.loginRow,.adminUser{border:1px solid var(--line2);border-radius:14px;background:rgba(0,0,0,.24);padding:12px;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.loginRow small,.adminUser small{color:var(--muted)}.adminUser{display:block}.adminUserTop{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}.miniSnap .statBox b{font-size:22px}.drawer{grid-template-columns:1fr 1fr}.drawer button:first-child{grid-column:1/-1;background:linear-gradient(90deg,rgba(0,92,180,.5),rgba(0,20,50,.55));border-color:var(--blue)}textarea{margin-top:8px;resize:vertical}.bell{font-size:18px}.bell:after{background:#38ff7b}
@media(max-width:420px){.accountCard{grid-template-columns:56px 1fr}.smallAvatar,.smallAvatar .helmet{width:54px;height:54px;min-width:54px}.loginRow{grid-template-columns:1fr}.adminUserTop{grid-template-columns:1fr}.drawer{grid-template-columns:1fr 1fr}.drawer button{font-size:13px}}

/* v6.5 bundled league-system update */
.roleChecks{display:grid;grid-template-columns:1fr 1fr;gap:6px;border:1px solid var(--line2);border-radius:12px;padding:10px;background:rgba(0,0,0,.22)}
.roleChecks label{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#dff4ff;display:flex;align-items:center;gap:6px}.roleChecks input{width:auto;accent-color:var(--blue)}
/* make Race Blue concept feel closer to the mockup */
.app{background:radial-gradient(circle at 50% -10%,rgba(20,134,255,.42),transparent 34%),linear-gradient(160deg,#052d62 0%,#01040a 36%,#000 100%)}
.phoneFrame{background:linear-gradient(180deg,rgba(4,18,35,.98),rgba(1,6,13,.98));border-color:rgba(0,164,255,.78);box-shadow:0 0 0 1px rgba(100,210,255,.08),0 0 28px rgba(0,136,255,.3),inset 0 0 38px rgba(0,136,255,.08)}
.phoneFrame:before{right:-22px;top:0;width:210px;height:115px;background:linear-gradient(135deg,transparent 0 18%,#000 18% 48%,transparent 48%),linear-gradient(135deg,transparent 0 50%,rgba(0,157,255,.8) 50% 61%,transparent 61% 68%,rgba(0,157,255,.58) 68% 78%,transparent 78%);opacity:.95}.section{border-color:rgba(0,157,255,.48);background:linear-gradient(180deg,rgba(5,24,49,.82),rgba(0,5,13,.82));box-shadow:inset 0 0 26px rgba(0,148,255,.08),0 0 14px rgba(0,120,255,.08)}
.statBox,.browserCard,.standRow,.raceLine{border-color:rgba(0,157,255,.58)}
.label,.section h2,.sectionHead h2{color:#e6f6ff}.driverPlate{box-shadow:inset 0 0 18px rgba(0,142,255,.1)}
.multiRoleHint{color:var(--muted);font-size:12px;margin-top:4px}@media(max-width:420px){.roleChecks{grid-template-columns:1fr}.brand{font-size:13px}.brand small{font-size:9px}.spot{grid-template-columns:92px 1fr}.avatar,.helmet{width:86px;height:86px;min-width:86px}.driverPlate{min-height:120px}.primaryBtn{height:36px}.driverName{font-size:19px}.driverMeta{font-size:10px}}

/* v6.6 fixes: remove heavy diagonal overlays and make race browser RSVP status match Home */
.phoneFrame:before{display:none!important;content:none!important;background:none!important;opacity:0!important;}
.driverPlate:after,.section:after,.spot:after{display:none!important;content:none!important;}
.tag.entered,.raceStatusBox .tag.entered{border-color:rgba(39,255,114,.6)!important;background:rgba(39,255,114,.18)!important;color:#b8ffd1!important;box-shadow:0 0 12px rgba(39,255,114,.16)!important;}
.raceStatusBox .tag:not(.entered){border-color:rgba(255,36,83,.55)!important;background:rgba(255,36,83,.18)!important;color:#ff9db0!important;}
.raceLine.entered .tag{border-color:rgba(39,255,114,.6)!important;background:rgba(39,255,114,.18)!important;color:#b8ffd1!important;}
.phoneFrame{overflow:visible!important;}
.topbar{position:relative;z-index:2;}
.spot,.driverPlate{position:relative;z-index:1;}
/* v6.7 roadmap bundle */
.profileHero{display:grid;grid-template-columns:92px 1fr;gap:14px;align-items:center;margin-bottom:10px}.bigAvatar{width:92px;height:92px;min-width:92px}.bigAvatar .helmet{width:92px;height:92px}.formDots{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 10px}.formDots span{border:1px solid var(--line);background:linear-gradient(180deg,rgba(0,92,180,.35),rgba(0,0,0,.28));border-radius:12px;padding:8px 12px;color:#dff4ff;font-weight:900}.trophyCabinet{display:flex;gap:10px;flex-wrap:wrap}.trophyIcon{width:58px;height:58px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(180deg,rgba(0,92,180,.32),rgba(0,0,0,.32));display:grid;place-items:center;font-size:28px;box-shadow:inset 0 0 16px rgba(0,157,255,.12)}.trophyIcon small{font-size:10px;color:var(--blue2);margin-top:-12px}.entryGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.podiumStrip{display:grid;gap:8px}.podiumP{display:grid;grid-template-columns:58px 1fr 58px;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(90deg,rgba(0,90,180,.35),rgba(0,0,0,.28));color:#fff;padding:10px;text-align:left}.podiumP b{font-size:22px;color:var(--blue2)}.podiumP span{font-size:16px}.podiumP small{text-align:right;color:var(--blue2)}.scoreSheet{display:grid;gap:10px}.scoreRow{display:grid;grid-template-columns:1.3fr .7fr .7fr 1fr 1fr .6fr .5fr;gap:6px;align-items:center;border:1px solid var(--line2);border-radius:14px;background:rgba(0,0,0,.28);padding:8px}.scoreRow b{font-size:13px;cursor:pointer}.scoreRow input{padding:8px;border-radius:8px;font-size:12px}.flCheck{display:flex;gap:5px;align-items:center;font-size:12px}.flCheck input{width:auto}.nameLink{display:block;background:transparent;border:0;color:#fff;font-weight:900;text-align:left;padding:1px 0;font-size:12px}.raceCard67 .raceStatusBox .tag.entered{border-color:rgba(39,255,114,.6)!important;background:rgba(39,255,114,.2)!important;color:#baffd2!important}.raceCard67 .raceStatusBox .tag:not(.entered){border-color:rgba(255,36,83,.55)!important;background:rgba(255,36,83,.18)!important;color:#ff9db0!important}.ach.primary{border-color:rgba(255,191,46,.45);box-shadow:0 0 14px rgba(255,191,46,.08)}.ach.secondary{border-color:rgba(0,157,255,.35)}@media(max-width:520px){.scoreRow{grid-template-columns:1fr 1fr}.scoreRow b{grid-column:1/-1;font-size:15px}.entryGrid{grid-template-columns:1fr}.podiumP{grid-template-columns:46px 1fr}.podiumP small{grid-column:2;text-align:left}.profileHero{grid-template-columns:78px 1fr}.bigAvatar,.bigAvatar .helmet{width:78px;height:78px;min-width:78px}}
/* v6.8 roadmap bundle */
.bell em{position:absolute;right:0;top:0;background:#ff2453;color:#fff;border-radius:999px;font-style:normal;font-size:10px;width:16px;height:16px;display:grid;place-items:center}.hqGrid,.leagueTiles{display:grid;gap:10px}.hqGrid{grid-template-columns:1fr}.hqGrid div,.leaguePulse{border:1px solid var(--line);border-radius:14px;background:linear-gradient(90deg,rgba(0,92,180,.32),rgba(0,0,0,.22));padding:12px}.hqGrid b,.leaguePulse b{display:block;font-size:20px;color:#fff}.hqGrid span,.leaguePulse span,.leaguePulse small{display:block;color:var(--blue2);font-size:12px;margin-top:3px}.leaguePulse{cursor:pointer}.topNames{display:block;line-height:1.28}.enterBtn{width:100%;margin-top:10px;border:1px solid rgba(39,255,114,.55);background:rgba(39,255,114,.18);color:#b8ffd1;border-radius:12px;padding:12px;font-weight:900;text-transform:uppercase}.enterBtn.out{border-color:rgba(255,36,83,.55);background:rgba(255,36,83,.18);color:#ff9db0}.scoreSheet{display:grid;gap:10px}.scoreRow{display:grid;grid-template-columns:1fr 1fr;gap:8px;border:1px solid var(--line2);border-radius:14px;padding:10px;background:rgba(0,0,0,.25)}.scoreRow b{grid-column:1/-1}.flCheck{display:flex;gap:8px;align-items:center}.entryGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.profileHero{display:grid;grid-template-columns:92px 1fr;gap:14px;align-items:center}.bigAvatar,.bigAvatar .helmet{width:92px;height:92px}.trophyCabinet{display:flex;gap:10px;flex-wrap:wrap}.trophyIcon{width:58px;height:58px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(180deg,rgba(0,92,180,.32),rgba(0,0,0,.32));display:grid;place-items:center;font-size:28px}.ach{display:grid;grid-template-columns:42px 1fr;gap:10px;border:1px solid var(--line2);border-radius:12px;padding:10px;margin:8px 0}.achIcon{font-size:28px}.roleChecks{display:grid;grid-template-columns:1fr 1fr;gap:6px;border:1px solid var(--line2);border-radius:12px;padding:10px;margin:8px 0}.roleChecks label{font-size:11px;text-transform:uppercase;color:#dff4ff}.adminUserTop{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}.accountCard{display:grid;grid-template-columns:70px 1fr;gap:12px;align-items:center}.smallAvatar,.smallAvatar .helmet{width:62px;height:62px}.loginRow,.adminUser{border:1px solid var(--line2);border-radius:14px;background:rgba(0,0,0,.24);padding:12px}.raceStatusBox{margin-top:8px;border:1px solid rgba(0,157,255,.28);border-radius:10px;padding:8px;background:rgba(0,42,84,.18)}.raceStatusBox .tag{margin-top:8px;display:block;width:100%}.tag.entered{border-color:rgba(39,255,114,.6)!important;background:rgba(39,255,114,.18)!important;color:#b8ffd1!important}@media(max-width:420px){.entryGrid,.roleChecks,.adminUserTop{grid-template-columns:1fr}.profileHero{grid-template-columns:78px 1fr}.bigAvatar,.bigAvatar .helmet{width:78px;height:78px}.drawer{grid-template-columns:1fr 1fr}.scoreRow{grid-template-columns:1fr}}

.scoreRow label{display:block;margin:.45rem 0}.scoreRow label span{display:block;color:#8ec9ff;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;margin-bottom:.2rem}.scoreRow select,.scoreRow input{width:100%}.roleDrop{border:1px solid rgba(0,150,255,.35);border-radius:16px;padding:.8rem;margin:.6rem 0;background:rgba(2,20,40,.55)}.roleDrop summary{cursor:pointer;color:#cfe9ff;font-weight:900}.trophyIcon{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem}.trophyIcon.gold{box-shadow:0 0 18px rgba(255,185,40,.35);border-color:rgba(255,185,40,.8)}.trophyIcon.silver{box-shadow:0 0 18px rgba(190,220,255,.25);border-color:rgba(190,220,255,.8)}.trophyIcon.bronze{box-shadow:0 0 18px rgba(205,120,50,.25);border-color:rgba(205,120,50,.8)}.ach.primary{border-color:rgba(255,190,40,.7)}.ach.secondary{border-color:rgba(0,140,255,.5)}

/* ===== v7.0 roadmap polish ===== */
.versionPill{float:right;border:1px solid var(--line);border-radius:999px;padding:4px 9px;color:var(--blue2);font-size:12px;background:rgba(0,100,200,.18)}
.spotWide{grid-template-columns:92px 1fr;align-items:center}.spotWide .driverPlate{min-height:120px}.raceInfoGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.resultList{display:grid;gap:8px}.resultRow{display:grid;grid-template-columns:44px 1.2fr .6fr 1fr .4fr .6fr;gap:6px;align-items:center;border:1px solid var(--line);border-radius:14px;background:linear-gradient(90deg,rgba(0,72,142,.32),rgba(0,8,18,.55));padding:10px}.resultRow b{font-size:22px;color:var(--blue2)}.resultRow strong{color:var(--blue2);text-align:right}.compactStand .standRow{grid-template-columns:58px 1fr 74px}.raceCardV7{grid-template-columns:1fr 1.08fr}.raceCardV7 .topRight{margin-top:0}.raceCardV7 .nameLink{font-size:13px;line-height:1.25}.profileStats .snapshot{grid-template-columns:repeat(3,1fr)}.profileStats .statBox{min-height:70px}.profileStats .statBox b{font-size:24px}.formDots span{cursor:pointer}.drawer{z-index:9999}.leagueTiles .browserCard,.browserList .browserCard{cursor:pointer}.enterBtn{cursor:pointer}.scoreRow label span{color:var(--blue2)}.scoreRow select{min-height:39px}.trophyIcon{min-height:78px;min-width:78px}.trophyIcon small{display:block;max-width:72px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trophyCabinet{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.achievements .browserCard{grid-template-columns:1fr 1fr}.formGrid textarea{grid-column:1/-1;min-height:90px}.primaryBtn,.smallBtn,.viewAll,.nameLink,.browserCard,.standRow,.raceLine{cursor:pointer}.browserCard:hover,.standRow:hover,.raceLine:hover{filter:brightness(1.08)}
@media(max-width:520px){.spotWide{grid-template-columns:84px 1fr}.spotWide .avatar,.spotWide .helmet{width:78px;height:78px;min-width:78px}.raceInfoGrid{grid-template-columns:1fr}.resultRow{grid-template-columns:38px 1fr 50px;grid-auto-rows:auto}.resultRow span:nth-child(4),.resultRow span:nth-child(5),.resultRow strong{grid-column:auto}.raceCardV7{grid-template-columns:1fr 1fr;gap:12px}.raceCardV7 .value{font-size:17px}.raceCardV7 .actions{grid-column:1/-1}.raceStatusBox{padding:8px}.profileStats .snapshot{grid-template-columns:repeat(2,1fr)}.trophyCabinet{grid-template-columns:repeat(3,1fr)}.scoreRow{grid-template-columns:1fr 1fr}.formGrid{grid-template-columns:1fr 1fr}.formGrid textarea{grid-column:1/-1}}
@media(max-width:390px){.raceCardV7{grid-template-columns:1fr}.trophyCabinet{grid-template-columns:repeat(2,1fr)}.formGrid{grid-template-columns:1fr}.resultRow{grid-template-columns:1fr 1fr}.resultRow b{grid-column:1}.resultRow .nameLink{grid-column:2}.spotWide{grid-template-columns:1fr}.spotWide .avatar{margin:auto}.driverPlate{text-align:left}}
/* v7.3 auth/custom role polish */
.avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}
.roleDrop summary{cursor:pointer;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#9fd0ff;padding:12px;border:1px solid rgba(96,164,255,.45);border-radius:14px;background:rgba(10,30,55,.55);margin:10px 0}
.roleChecks{display:grid;grid-template-columns:1fr;gap:10px;padding:12px;border:1px solid rgba(96,164,255,.25);border-radius:16px;background:rgba(0,12,28,.45)}
.roleChecks label{display:flex;gap:12px;align-items:center;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.roleChecks input{width:28px;height:28px;accent-color:#55a8ff}.danger{border-color:#ff4b6a!important;color:#ff9fb0!important}
.accountCard{display:flex;align-items:center;gap:18px}.smallAvatar{width:62px;height:62px}.bigAvatar{width:128px;height:128px}
/* ===== v8.0 Core Release fixes ===== */
html{font-size:16px!important;-webkit-text-size-adjust:100%;} input,select,textarea,button{font-size:16px!important;}
.versionPill{float:right;border:1px solid var(--blue,#1da7ff);border-radius:999px;padding:4px 9px;font-size:12px;color:#8fd0ff;background:rgba(0,140,255,.12)}
.standRow{width:100%;text-align:left;display:grid;grid-template-columns:72px 1fr 86px;align-items:center;background:linear-gradient(90deg,rgba(18,88,170,.35),rgba(1,10,25,.8));border:1px solid rgba(42,156,255,.55);border-radius:14px;margin:8px 0;padding:10px 12px;color:#fff;}
.standRow .standPos{font-size:38px;color:#bde2ff;font-weight:900}.standIcons{font-size:13px;color:#7fcdff;white-space:nowrap}.standPts{text-align:right;color:#50aaff;font-weight:900}.standName{font-size:20px;font-weight:900}
.raceCardV8{grid-template-columns:1fr 1fr!important;gap:18px}.raceCardV8 .actions{margin-top:12px}.raceCardV8 .smallBtn{min-width:90px}.titleBlue{color:#8fcfff!important}.topLeft{font-size:16px;line-height:1.25}.topLeft .nameLink{display:block;text-align:left;padding:0;margin:1px 0;color:white}.raceStatusBox .tag.entered{background:rgba(15,170,80,.24)!important;border-color:#38ef7d!important;color:#9cffbd!important}.raceStatusBox .tag:not(.entered){background:rgba(190,20,85,.24)!important;border-color:#ff3b7c!important;color:#ff9cbd!important}.trackText{font-size:20px!important;line-height:1.05}
.resultRow{display:grid!important;grid-template-columns:54px 1fr 70px 50px 64px!important;gap:8px;align-items:center}.resultRow span:nth-of-type(2){display:none!important}.fastestNotice{border-color:#20a4ff!important;background:rgba(0,110,255,.14)!important}
.profileHeroV8{display:grid!important;grid-template-columns:110px 1fr!important;gap:18px;align-items:center}.profileHeroV8 .driverPlate{min-width:0}.profileHeroV8 .driverName{font-size:28px;line-height:1.05}.profileStatsV8 .statGrid,.profileStats .statGrid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:10px}.formDots{display:flex;gap:8px;flex-wrap:nowrap;overflow-x:auto;padding:4px 0 10px}.formDots span{min-width:50px;text-align:center;border:1px solid #188cff;border-radius:12px;padding:10px;background:rgba(30,120,255,.18);font-weight:900;color:#bfe5ff}.bigAvatar img,.avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.ach.primary{border-color:#d6a72c!important}.ach.secondary{border-color:#1c8dff!important}.section h2{text-transform:none}.section h2:contains('Edit Basic Info'){}
@media(max-width:520px){.raceCardV8{grid-template-columns:1fr 1fr!important}.raceCardV8 .value{font-size:18px}.raceStatusBox{padding:10px}.profileStatsV8 .statGrid,.profileStats .statGrid{grid-template-columns:repeat(3,1fr)!important}.profileStatsV8 .statGrid div b{font-size:24px}.miniNav,.bottomNav{padding-bottom:env(safe-area-inset-bottom)}}


/* ===== v9.0 polish / lockdown ===== */
.versionBadge{border:1px solid var(--line);border-radius:14px;padding:4px 12px;color:var(--blue2);font-size:13px;background:rgba(0,90,170,.22);letter-spacing:.08em}.topActions{display:flex;gap:4px;align-items:center}.refreshBtn{font-size:21px!important;color:#9ed6ff!important}.compactStand{width:100%;grid-template-columns:42px 1fr auto;padding:7px 8px;min-height:58px}.compactStand .standPos{font-size:25px}.compactStand .standName{font-size:14px}.compactStand .standIcons{font-size:11px;gap:6px;flex-wrap:wrap}.compactStand .standPts{font-size:16px}.spotV9{grid-template-columns:82px 1fr}.spotV9 .driverPlate{min-height:110px}.spotV9 .avatar,.spotV9 .helmet{width:78px;height:78px;min-width:78px}.raceCardV9{grid-template-columns:1fr 1fr;gap:12px}.raceCardV9 .label{font-size:10px;color:#8bcaff}.raceCardV9 .value{font-size:15px}.raceCardV9 .raceCardTitle{font-size:19px}.raceCardV9 .actions{grid-column:1;margin-top:8px}.raceCardV9 .top3{margin-top:10px}.raceCardV9 .topNames{font-size:13px;line-height:1.28}.raceRight .raceStatusBox{margin-top:10px}.profileHeroV9{display:grid;grid-template-columns:110px 1fr;gap:12px;align-items:center}.profileHeroV9 .bigAvatar{width:100px;height:100px}.profileHeroV9 .driverPlate{min-height:108px}.profileStatsV9 .snapshot{grid-template-columns:repeat(3,1fr)}.profileStatsV9 .statBox{min-height:70px}.formDots span{display:inline-block;margin:4px;border:1px solid var(--blue);border-radius:10px;background:rgba(0,92,180,.3);padding:8px 12px;color:#dff4ff}.resultRow{display:grid;grid-template-columns:52px 1fr auto auto auto auto;align-items:center;gap:8px;border:1px solid var(--line2);border-radius:12px;background:rgba(0,38,75,.28);padding:10px;margin:8px 0}.nameLink{background:transparent;border:0;color:#fff;font-weight:900;text-align:left;padding:0}input,select,textarea{font-size:16px!important}.drawer button[data-nav="admin"],.drawer button[data-nav="settings"],.drawer button[data-nav="supabase"],.drawer button[data-nav="roles"],.drawer button[data-nav="adminDrivers"],.drawer button[data-nav="migrate"]{border-color:rgba(255,191,46,.55)}
@media(max-width:420px){.raceCardV9{grid-template-columns:1fr 1fr}.raceCardV9 .raceCardTitle{font-size:17px}.raceCardV9 .value{font-size:13px}.raceCardV9 .raceState{font-size:16px}.raceCardV9 .tag{font-size:9px;padding:5px}.profileHeroV9{grid-template-columns:86px 1fr}.profileHeroV9 .bigAvatar{width:80px;height:80px}.profileHeroV9 .driverName{font-size:18px}.profileStatsV9 .snapshot{grid-template-columns:repeat(3,1fr)}.profileStatsV9 .statBox b{font-size:21px}.profileStatsV9 .statBox span{font-size:9px}.resultRow{grid-template-columns:42px 1fr auto;gap:6px}.resultRow span:nth-of-type(2),.resultRow span:nth-of-type(3){font-size:12px}.spotV9{grid-template-columns:76px 1fr}.spotV9 .avatar,.spotV9 .helmet{width:72px;height:72px;min-width:72px}.compactStand{grid-template-columns:38px 1fr auto}.compactStand .standIcons{font-size:10px}}
/* === v9.1 layout fixes and roadmap foundation === */
html,body{overscroll-behavior:none} .app{padding-bottom:calc(112px + env(safe-area-inset-bottom))!important}.miniNav{position:fixed!important;left:50%!important;bottom:0!important;transform:translateX(-50%)!important;margin:0!important;width:min(520px,calc(100vw - 16px))!important;border-radius:18px 18px 0 0!important;padding-bottom:max(10px,env(safe-area-inset-bottom))!important;z-index:99999!important}.drawer{position:fixed!important;left:50%!important;bottom:calc(82px + env(safe-area-inset-bottom))!important;transform:translateX(-50%)!important;width:min(520px,calc(100vw - 16px))!important;z-index:99998!important}.phoneFrame{padding-bottom:24px!important}.standRowsV91 .standRow,.section .standRow{max-width:100%!important;grid-template-columns:54px minmax(0,1fr) 64px!important;padding:8px!important;margin:7px 0!important;overflow:hidden!important}.standRowsV91 .standPos,.section .standPos{font-size:30px!important}.standRowsV91 .standName,.section .standName{font-size:16px!important;line-height:1.05!important;word-break:break-word}.standRowsV91 .standIcons,.section .standIcons{font-size:11px!important;white-space:normal!important;line-height:1.25!important}.standRowsV91 .standPts,.section .standPts{font-size:16px!important}.raceCardV91{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important}.raceCardV91 .raceLeft{grid-column:1}.raceCardV91 .raceRight{grid-column:2}.raceCardV91 .label{font-size:11px!important;letter-spacing:.22em!important}.raceCardV91 .value{font-size:15px!important;line-height:1.12!important}.raceCardV91 .raceCardTitle{font-size:17px!important}.raceCardV91 .topNames,.raceCardV91 .topNames .nameLink{font-size:11px!important;line-height:1.18!important}.raceCardV91 .actions{margin-top:10px!important}.raceCardV91 .smallBtn{min-width:86px!important;height:40px!important;font-size:14px!important}.raceCardV91 .raceStatusBox{padding:8px!important;margin-top:10px!important}.raceCardV91 .raceState{font-size:16px!important}.raceCardV91 .tag{font-size:10px!important;padding:6px 8px!important;min-height:30px!important}.profileStatsV91 .snapshot,.profileStats .snapshot{grid-template-columns:repeat(3,1fr)!important;gap:8px!important}.profileStatsV91 .statBox{min-height:72px!important;padding:8px 4px!important}.profileStatsV91 .statBox b{font-size:24px!important}.profileStatsV91 .statBox span{font-size:10px!important}.pageTitle{font-size:34px!important}.browserCard .value{word-break:break-word}.scoreRow input,.scoreRow select,input,select,textarea{font-size:16px!important}@media(max-width:390px){.standRowsV91 .standRow,.section .standRow{grid-template-columns:48px minmax(0,1fr) 58px!important}.standRowsV91 .standName,.section .standName{font-size:14px!important}.raceCardV91{gap:8px!important}.raceCardV91 .value{font-size:13px!important}.raceCardV91 .raceCardTitle{font-size:15px!important}.profileStatsV91 .snapshot,.profileStats .snapshot{grid-template-columns:repeat(3,1fr)!important}.profileStatsV91 .statBox b{font-size:20px!important}.profileStatsV91 .statBox span{font-size:9px!important}.pageTitle{font-size:30px!important}}


/* v9.2: allow native pull-to-refresh again, keep nav pinned but give pages breathing room */
html,body{overscroll-behavior-y:auto!important;overscroll-behavior-x:none!important;}
.app{padding-bottom:calc(118px + env(safe-area-inset-bottom))!important;}
.miniNav{bottom:0!important;border-radius:18px 18px 0 0!important;}
.phoneFrame{padding-bottom:32px!important;}
.drawer{bottom:calc(86px + env(safe-area-inset-bottom))!important;}
.standRowsV92 .standRow{max-width:100%!important;grid-template-columns:44px minmax(0,1fr) 52px!important;padding:7px!important;margin:6px 0!important;overflow:hidden!important;}
.standRowsV92 .standPos{font-size:26px!important;padding:4px 6px!important;}
.standRowsV92 .standName{font-size:14px!important;line-height:1.05!important;}
.standRowsV92 .standIcons{gap:5px!important;font-size:10px!important;white-space:normal!important;}
.standRowsV92 .standPts{font-size:14px!important;}
@media(max-width:380px){.standRowsV92 .standRow{grid-template-columns:38px minmax(0,1fr) 46px!important}.standRowsV92 .standName{font-size:12px!important}.standRowsV92 .standIcons{font-size:9px!important}}

/* ===== v9.5 stability/layout patch ===== */
.versionBadge,.versionPill{white-space:nowrap!important}
.standRow,.standRowV95{max-width:100%!important;box-sizing:border-box!important;overflow:hidden!important;grid-template-columns:42px minmax(0,1fr) 54px!important;padding:7px 8px!important;gap:7px!important;min-height:60px!important}
.standRow .standPos,.standRowV95 .standPos{font-size:24px!important;line-height:1!important;min-width:0!important;padding:4px 2px!important}
.standRow .standName,.standRowV95 .standName{font-size:13px!important;line-height:1.05!important;word-break:break-word!important;overflow-wrap:anywhere!important}
.standRow .standIcons,.standRowV95 .standIcons{font-size:9px!important;line-height:1.15!important;white-space:normal!important;gap:3px!important;display:flex!important;flex-wrap:wrap!important}
.standRow .standPts,.standRowV95 .standPts{font-size:13px!important;line-height:1.05!important;text-align:right!important}
.raceCardV91 .topNames,.raceCardV91 .topNames .nameLink,.raceCardV9 .topNames,.raceCardV9 .topNames .nameLink{font-size:10px!important;line-height:1.14!important}
.raceCardV91 .raceStatusBox,.raceCardV9 .raceStatusBox{padding:6px!important;border-radius:9px!important}
.raceCardV91 .tag,.raceCardV9 .tag{font-size:9px!important;line-height:1.1!important;padding:5px 6px!important;min-height:25px!important}
.raceCardV91 .raceState,.raceCardV9 .raceState{font-size:14px!important;line-height:1.1!important}
input,select,textarea{font-size:16px!important}
@media(max-width:390px){.standRow,.standRowV95{grid-template-columns:36px minmax(0,1fr) 46px!important;gap:5px!important}.standRow .standName{font-size:12px!important}.standRow .standIcons{font-size:8.5px!important}}


/* v9.8 clean standings and mobile cache package */
.standRows98{display:grid!important;gap:8px!important;overflow:visible!important}
.standRows98 .standRow98{width:100%!important;max-width:100%!important;min-height:54px!important;height:auto!important;display:grid!important;grid-template-columns:44px minmax(0,1fr) 50px!important;gap:7px!important;align-items:center!important;padding:7px 8px!important;margin:0!important;box-sizing:border-box!important;overflow:hidden!important;border-radius:12px!important}
.standRows98 .standPos{font-size:25px!important;line-height:1!important;padding:5px 2px!important;min-width:0!important}
.standRows98 .standName{display:block!important;font-size:13px!important;line-height:1.05!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:break-word!important}
.standRows98 .standIcons{display:flex!important;gap:3px!important;flex-wrap:wrap!important;font-size:8.5px!important;line-height:1.15!important;white-space:normal!important;color:#8fceff!important}
.standRows98 .standPts{font-size:12px!important;line-height:1.05!important;text-align:right!important;color:#69b7ff!important;white-space:nowrap!important}
.versionBadge,.versionPill{text-transform:none!important}
@media(max-width:390px){.standRows98 .standRow98{grid-template-columns:38px minmax(0,1fr) 44px!important;gap:5px!important}.standRows98 .standName{font-size:12px!important}.standRows98 .standIcons{font-size:8px!important}.standRows98 .standPts{font-size:11px!important}}

.cloudBadge{position:absolute;right:5.6rem;top:2.3rem;border:1px solid #3f8cff;border-radius:999px;padding:.25rem .55rem;font-size:.72rem;font-weight:900;letter-spacing:.04em;color:#9ed2ff;background:rgba(2,18,38,.78);box-shadow:0 0 16px rgba(33,150,255,.25)}
.cloudBadge.ok{color:#80ffb6;border-color:#2fd477}.cloudBadge.err{color:#ff9ab4;border-color:#ff3d74}.pill{display:inline-block;border:1px solid #408bff;border-radius:999px;padding:.12rem .4rem;color:#9ed2ff}.smallBtn.danger{border-color:#ff477b;color:#ff9ab4}.adminUser.muted{opacity:.62}.browserCard .smallBtn{margin-top:.5rem;margin-right:.4rem}

/* v10.5 cloud comms polish */
.tabBar{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.smallBtn.on{background:linear-gradient(135deg,#1f6ee9,#082b5b);box-shadow:0 0 18px rgba(64,160,255,.45)}.msgCard.unread{border-color:#67ff9b;box-shadow:0 0 16px rgba(75,255,140,.25)}.rowActions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.cloudBadge{display:inline-block;margin:0 auto 12px;padding:8px 18px;border:2px solid #66e88d;border-radius:999px;color:#aaf7bf;font-weight:900;background:rgba(0,20,35,.75);letter-spacing:.04em}.protestCard .value,.msgCard .value{font-size:1.05rem}.topActions{display:flex;align-items:center;gap:8px}

.tabBar{display:flex;gap:10px;margin:14px 0;flex-wrap:wrap}.tabBar .smallBtn.on{background:linear-gradient(135deg,#1d64d8,#103a79);box-shadow:0 0 18px rgba(80,150,255,.35)}.cloudBadge{display:inline-block;margin:0 auto 14px;padding:8px 18px;border:2px solid #57d978;border-radius:999px;color:#bfffcf;font-weight:900;background:rgba(0,40,20,.28)}.cloudBadge.bad{border-color:#ff4f7a;color:#ffc0ce}.rowActions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.msgCard.unread{box-shadow:0 0 22px rgba(0,180,255,.25);border-color:#64b6ff!important}
/* V11 polishing */
.cloudBadge{display:inline-flex;align-items:center;gap:8px;border:2px solid #62df89;border-radius:999px;padding:5px 16px;margin:4px auto 10px;color:#b7ffc8;font-weight:900;background:rgba(4,40,23,.35);box-shadow:0 0 18px rgba(0,255,120,.12)}
.cloudBadge.bad{border-color:#ff4d7d;color:#ffc1d0}.tabBar{display:flex;gap:12px;flex-wrap:wrap;margin:14px 0}.smallBtn.on,.tabBar .on{background:linear-gradient(135deg,#2779ff,#173f8c);box-shadow:0 0 18px rgba(69,139,255,.35)}
.profileStatsV11{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important}.profileStatsV11 .statBox{text-align:center;min-width:0}.rowActions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.msgCard.unread{border-color:#62df89;box-shadow:0 0 18px rgba(98,223,137,.14)}
.topActions{display:flex;align-items:center;gap:8px}.bell{position:relative}.bell em{position:absolute;right:-7px;top:-7px;background:#ff2d63;color:white;border-radius:999px;min-width:20px;height:20px;display:grid;place-items:center;font-size:11px;font-style:normal;font-weight:900}.refreshBtn{font-size:28px!important;color:#a9d7ff!important}
.drawer button{min-height:62px}.browserCard.msgCard,.browserCard.protestCard{grid-template-columns:1fr 1fr}.phoneFrame{padding-bottom:calc(120px + env(safe-area-inset-bottom))}
@media(max-width:520px){.profileStatsV11{grid-template-columns:repeat(3,1fr)!important}.browserCard.msgCard,.browserCard.protestCard{grid-template-columns:1fr}.pageTitle{font-size:clamp(42px,11vw,70px)}}

/* ===== v11.1 menu/comms polish ===== */
.drawer111,.drawer{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;padding:9px!important;max-height:calc(100vh - 165px)!important;overflow-y:auto!important;bottom:calc(82px + env(safe-area-inset-bottom))!important}
.drawer111 button,.drawer button{height:44px!important;min-height:44px!important;padding:6px 8px!important;font-size:14px!important;line-height:1.05!important;border-radius:10px!important;overflow:hidden!important}
@media(max-width:380px){.drawer111 button,.drawer button{font-size:12px!important;height:40px!important;min-height:40px!important}.drawer111,.drawer{gap:6px!important;padding:8px!important}}
.topActions{display:flex!important;align-items:center!important;gap:6px!important}.bell{overflow:visible!important}.bell em{position:absolute!important;right:-9px!important;top:-8px!important;background:#ff2f63!important;color:#fff!important;border-radius:999px!important;min-width:20px!important;height:20px!important;font-size:11px!important;display:grid!important;place-items:center!important;font-style:normal!important}.cloudBadge{position:static!important;display:flex!important;width:max-content!important;margin:0 auto 12px!important;z-index:5}.phoneFrame{overflow:visible!important}.avatar img{width:100%!important;height:100%!important;object-fit:cover!important}.spot .avatar img{display:block!important}.browserCard.msgCard,.browserCard.protestCard{grid-template-columns:1fr!important}.rowActions{display:flex!important;gap:8px!important;flex-wrap:wrap!important;margin-top:12px!important}.smallBtn.danger{border-color:#ff477b!important;color:#ff9ab4!important}.tabBar{display:flex!important;gap:10px!important;flex-wrap:wrap!important}.tabBar .smallBtn,.smallBtn.on{min-height:40px!important}.pageTitle{font-size:clamp(34px,8vw,58px)!important;line-height:1.04!important}.formGrid textarea{grid-column:1/-1}.profileStatsV11,.profileStats{grid-template-columns:repeat(3,minmax(0,1fr))!important}.profileStatsV11 .statBox,.profileStats .statBox{min-height:74px!important;text-align:center!important}.versionBadge,.versionPill{text-transform:none!important}


/* v12.0 compact clean additions */
.drawerV12{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-bottom:120px}.drawerV12 button{min-height:60px;padding:10px 8px;font-size:18px;line-height:1.12}.v12Tabs{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.v12Tabs .on,.smallBtn.on{background:linear-gradient(135deg,#3477ff,#0b315d);box-shadow:0 0 18px rgba(64,145,255,.35)}.v12Actions{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-start}.v12Actions textarea,.v12Actions input{width:100%;min-height:48px}.dangerBtn{border-color:#ff4a7f!important;color:#ff9bb8!important}.messageCard.unread{box-shadow:0 0 0 1px #4eff91 inset}.rowActions{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.cloudBadge{display:inline-block;margin:6px auto 16px;padding:8px 18px;border-radius:999px;border:2px solid #58f28a;color:#aaffc3;font-weight:900}.cloudBadge.bad{border-color:#ff4a7f;color:#ff9bb8}.profileStatsV11,.profileStats{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:10px!important}.profileStats .statBox,.profileStatsV11 .statBox{min-width:0!important}.topActions{display:flex;gap:8px;align-items:center}.bell{position:relative}.bell em{position:absolute;right:-4px;top:-4px;background:#ff2762;color:#fff;border-radius:999px;font-size:11px;padding:2px 5px;font-style:normal}.browserCard p{margin:.45rem 0}.browserCard small{display:block;color:#9cc7ff}.formGrid select,.formGrid input,.formGrid textarea{font-size:16px!important}.miniNav{position:sticky;bottom:0;z-index:30}.section{max-width:100%;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover;border-radius:999px}

/* v12.2 safe rollback hotfix: header bounds and profile grid guard only */
.topbar{grid-template-columns:44px minmax(0,1fr) 76px!important;overflow:visible!important;}
.topActions{justify-content:flex-end!important;transform:translateX(-10px)!important;}
.refreshBtn,.bell{width:34px!important;min-width:34px!important;height:42px!important;}
.bell em{right:-3px!important;top:-6px!important;}
.profileStats{display:block!important;}
.profileStats .snapshot{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;width:100%!important;}
.profileStats .statBox{min-width:0!important;min-height:74px!important;text-align:center!important;}

/* ===== V13.1 CLEAN CORE OVERRIDES - preserve Race Blue UI, remove layout regressions ===== */
.cleanTop{grid-template-columns:44px 1fr 92px!important}.topActions{display:flex;gap:6px;align-items:center;justify-content:flex-end}.bell em{position:absolute;top:-2px;right:-4px;background:#ff2453;color:#fff;border-radius:999px;min-width:22px;height:22px;display:grid;place-items:center;font-style:normal;font-size:13px;line-height:1;border:2px solid #071322}.versionBadge{text-transform:uppercase}.cloudBadge{display:inline-grid;place-items:center;margin:6px auto 14px;padding:9px 22px;border-radius:999px;border:2px solid var(--green);color:#aaffc8;background:rgba(39,255,114,.08);font-size:17px;letter-spacing:.04em}.cloudBadge.warn{border-color:var(--gold);color:#ffe2a0;background:rgba(255,191,46,.08)}.profileHero{display:grid!important;grid-template-columns:96px minmax(0,1fr)!important;gap:12px!important;align-items:center!important}.profileHero .bigAvatar{width:90px!important;height:90px!important;min-width:90px!important}.profileHero .helmet{width:88px!important;height:88px!important}.profileStatsClean,.profileStats{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;width:100%!important}.profileStatsClean .statBox,.profileStats .statBox{min-height:68px!important;padding:8px 4px!important;text-align:center!important;display:grid!important;place-items:center!important}.profileStatsClean .statBox b,.profileStats .statBox b{font-size:24px!important;line-height:1!important;color:var(--blue2)!important}.profileStatsClean .statBox span,.profileStats .statBox span{font-size:10px!important;line-height:1.15!important;color:#fff!important}.tabRow{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.tabRow .on,.smallBtn.on{background:linear-gradient(180deg,#0b7dff,#053061)!important;box-shadow:0 0 16px rgba(0,157,255,.45)}.messageCard.unread,.noticeCard.unread{border-color:var(--blue)!important;box-shadow:0 0 14px rgba(0,157,255,.18)}.actions.stack{display:flex!important;flex-direction:column!important;gap:8px!important;grid-column:auto!important}.danger{border-color:rgba(255,36,83,.6)!important;color:#ffb6c5!important}.scoreRow{grid-template-columns:1fr 1fr!important}.scoreRow h2{grid-column:1/-1}.checkLine{display:flex;align-items:center;gap:8px}.checkLine input{width:auto!important}.noticeCard{text-align:left;color:var(--text)}.resultCard{grid-template-columns:1fr!important}.driverCard{grid-template-columns:1fr 1fr!important}.driverCard .actions{grid-column:1/-1}.trophyCabinet{display:flex;flex-wrap:wrap;gap:8px}.trophyIcon{width:58px;height:58px;border:1px solid var(--line);border-radius:10px;display:grid;place-items:center;background:rgba(0,0,0,.24)}.trophyIcon.gold{border-color:var(--gold);box-shadow:0 0 12px rgba(255,191,46,.25)}.trophyIcon small{font-size:8px;color:#fff;max-width:48px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.formDots{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 14px}.formDots span{border:1px solid var(--blue);border-radius:10px;background:rgba(0,92,180,.3);padding:8px 12px;color:#dff4ff}.browserCard p{margin:.5em 0;color:#bcd7ff}.browserCard small{color:#a9bdd3}.pageTitle{text-transform:none!important;letter-spacing:0!important}.section h1{line-height:1.05}.raceLine{width:100%;color:var(--text);text-align:left}.standRow{width:100%;color:var(--text);text-align:left}.primaryBtn,.smallBtn,.viewAll,.iconBtn,.miniNav button,.drawer button{cursor:pointer}@media(max-width:390px){.cleanTop{grid-template-columns:36px 1fr 82px!important}.brand{font-size:13px!important}.brand small{font-size:9px!important}.profileHero{grid-template-columns:82px minmax(0,1fr)!important}.profileHero .bigAvatar{width:76px!important;height:76px!important;min-width:76px!important}.profileHero .helmet{width:74px!important;height:74px!important}.driverName{font-size:20px!important}.profileStatsClean,.profileStats{grid-template-columns:repeat(3,minmax(0,1fr))!important}.profileStatsClean .statBox b,.profileStats .statBox b{font-size:20px!important}.profileStatsClean .statBox span,.profileStats .statBox span{font-size:9px!important}.driverCard,.scoreRow{grid-template-columns:1fr!important}.actions.stack{grid-column:1/-1!important;flex-direction:row!important;flex-wrap:wrap!important}.comms .pageTitle{font-size:38px!important}}

/* V13.3 admin/auth/trophy workflow polish */
.entryTag{display:inline-block;border-radius:999px;padding:6px 9px;font-weight:900;font-size:10px;text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--line)}
.entryTag.entered{color:#9dffbf;border-color:#38e071;background:rgba(32,180,83,.12)}
.entryTag.notEntered{color:#ffadc2;border-color:#ff2d63;background:rgba(255,45,99,.12)}
.tag.finished{color:#9dffbf;border-color:#38e071}.tag.scheduled{color:#ffd78a;border-color:#ffb82e}
.profileTrophyRow{display:flex;gap:8px;justify-content:center;align-items:center;flex-wrap:wrap;margin:10px 0 12px}.profileTrophyRow .trophyIcon{border:1px solid var(--line);background:rgba(0,25,50,.45);color:#fff}.trophyIcon{color:#fff}.trophyIcon b{font-size:11px;color:#9ed2ff}.trophyIcon span{font-size:20px}.trophyIcon.silver{border-color:#d6e3ff;box-shadow:0 0 12px rgba(214,227,255,.22)}.trophyIcon.bronze{border-color:#d28b55;box-shadow:0 0 12px rgba(210,139,85,.22)}.trophyIcon.blue{border-color:#45a8ff;box-shadow:0 0 12px rgba(69,168,255,.18)}
.uploadLine{display:grid;gap:6px;border:1px dashed var(--line);border-radius:10px;padding:10px;margin:10px 0;color:#bcd7ff;font-weight:900}.uploadLine input{width:100%}.roleChecks{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0}.roleChecks label{border:1px solid var(--line);border-radius:10px;padding:6px 8px;color:#dff4ff}.adminRacerCard .formGrid{margin-top:8px}.noticeCard{cursor:pointer}

/* V13.6 Racer/User admin separation polish */
.adminPanel{overflow:hidden!important;}
.adminCounts{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;}
.adminCounts .statBox{min-width:0!important;min-height:72px!important;display:grid!important;place-items:center!important;}
.adminCounts .statBox b{font-size:24px!important;}
.adminCounts .statBox span{font-size:9px!important;line-height:1.1!important;}
.adminEditCard{display:block!important;grid-template-columns:1fr!important;overflow:hidden!important;}
.adminEditCard .badgeRow{display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin-bottom:10px!important;}
.statusBadge{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:5px 10px;color:#bfe8ff;background:rgba(0,80,150,.22);font-size:11px;text-transform:uppercase;letter-spacing:.08em;}
.adminFormGrid{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;margin:10px 0!important;}
.adminFormGrid label{display:grid!important;gap:4px!important;min-width:0!important;}
.adminFormGrid input,.adminFormGrid select,.adminEditCard .selectLine{min-width:0!important;width:100%!important;font-size:16px!important;white-space:normal!important;text-overflow:clip!important;}
.adminActions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;width:100%!important;margin-top:12px!important;}
.adminActions .smallBtn{width:100%!important;min-height:48px!important;margin:0!important;padding:8px!important;white-space:normal!important;line-height:1.1!important;text-align:center!important;}
@media(max-width:360px){.adminCounts{grid-template-columns:repeat(3,minmax(0,1fr))!important}.adminActions{grid-template-columns:1fr!important}.adminCounts .statBox b{font-size:20px!important}.adminCounts .statBox span{font-size:8px!important}}
/* V13.9 role/trophy admin helpers */
.trophyList{display:grid;gap:10px;width:100%}
.trophyCabinetLine{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;border:1px solid rgba(54,157,255,.45);border-radius:14px;padding:10px;background:rgba(0,20,40,.35)}
.trophyCabinetLine .smallBtn{min-width:88px}
.permChecks{display:grid;grid-template-columns:1fr;gap:8px;margin-top:10px}
.permChecks label{justify-content:flex-start;text-align:left;text-transform:none;letter-spacing:.04em;font-size:.8rem}
.messageCard .value{display:block;margin:.15rem 0}
@media(max-width:560px){.trophyCabinetLine{grid-template-columns:auto 1fr}.trophyCabinetLine .smallBtn{grid-column:1/-1;width:100%}}
/* V14.0 result/protest workflow additions */
.scoreRow select,
.scoreRow textarea { width: 100%; }
.scoreRow textarea { min-height: 86px; resize: vertical; }
.scoreRow .fullWide { grid-column: 1 / -1; display: block; }
.protestCard .danger,
.smallBtn.danger { border-color: #ff4b8a; color: #ff8caf; }
/* V14.1 builder/profile/race-browser refinements */
.raceStatusStack{display:grid!important;gap:7px!important;align-content:start!important;margin-top:4px!important}.entryCount{display:inline-block;color:#bde7ff;font-size:11px;font-weight:900;margin-top:2px}.entryStack{display:grid;gap:4px;justify-items:end}.entryStack small{color:#bde7ff;font-size:10px}.raceLine{grid-template-columns:1fr auto 20px!important}.trophyCabinetLine{grid-template-columns:72px 1fr!important}.trophyCabinetLine .smallBtn{grid-column:1/-1!important;width:100%!important}.browserCard>.label+.value{justify-self:start}.trackIcon{font-size:28px;display:grid;place-items:center}.raceInfoGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}.resultRow{display:grid;grid-template-columns:42px 1fr auto auto auto auto;gap:8px;align-items:center;border:1px solid rgba(0,157,255,.25);border-radius:10px;padding:8px;margin:6px 0}.nameLink{background:transparent;border:0;color:#fff;font-weight:900;text-align:left}.scoreRow input[readonly]{opacity:.85;background:#06182b}.scoreRow textarea{font-size:15px!important}.enterBtn{width:100%;border:1px solid #35f27c;background:linear-gradient(90deg,rgba(0,140,60,.55),rgba(0,40,20,.25));color:#eafff0;border-radius:12px;padding:14px;font-weight:900;text-transform:uppercase}.topActions .refreshBtn.isSyncing{color:#88ffb0;text-shadow:0 0 12px #46ff8a}@media(max-width:390px){.raceStatusStack{gap:8px!important}.resultRow{grid-template-columns:38px 1fr auto}.resultRow span,.resultRow strong{grid-column:2/-1}.trophyCabinetLine{grid-template-columns:64px 1fr!important}}
.timeQuick{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.miniBtn{border:1px solid #159cff;background:#071828;color:#fff;border-radius:10px;padding:8px 10px;font-weight:900}.enterBtn.finished{border-color:#38ff7b;background:linear-gradient(90deg,#4b071b,#12281b);color:#fff}
/* V15.0 refinements */
.statBox{cursor:pointer;appearance:none;text-align:center;color:inherit;font:inherit}.statBox[data-nav=""]{cursor:default}.resultList{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}.resultRow{min-width:560px;display:grid;grid-template-columns:70px 160px 85px 110px 70px 90px;gap:10px;align-items:center}.builderGrid input.fullWide,.builderGrid textarea.fullWide{grid-column:1/-1}.builderGrid select{min-width:0}.fullWide{grid-column:1/-1}.timeQuick{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.timeQuick .miniBtn{min-width:50px}.trophyCabinetLine{display:grid;grid-template-columns:110px 1fr;gap:14px;align-items:center}.trophyCabinetLine .danger{grid-column:1/-1}.roleHelmet text{font-family:Arial, sans-serif}.formGrid input,.formGrid select,.formGrid textarea{min-width:0;width:100%}.raceStatusStack{gap:8px}.driverCard .actions,.adminActions{flex-wrap:wrap}.noticeCard{width:100%;text-align:left}.uploadLine{display:block}.raceBuilder .formGrid{grid-template-columns:1fr 1fr}.profile .notice{margin-top:10px}.trackIcon{font-size:2rem}.savedMsg{border-color:#a8ff3e!important}.searchLine{margin-bottom:12px}
@media(max-width:520px){.resultRow{min-width:520px}.builderGrid{grid-template-columns:1fr 1fr}.builderGrid input.fullWide,.builderGrid textarea.fullWide{grid-column:1/-1}.trophyCabinetLine{grid-template-columns:92px 1fr}.raceBuilder .formGrid{grid-template-columns:1fr 1fr}.raceBuilder .formGrid input.fullWide,.raceBuilder .formGrid textarea.fullWide{grid-column:1/-1}}

/* V15.1 polish: fixed nav, selectable title logos, role badges/avatars */
.app{padding-bottom:calc(104px + env(safe-area-inset-bottom))!important;}
.miniNav{position:fixed!important;bottom:calc(8px + env(safe-area-inset-bottom))!important;left:50%!important;right:auto!important;transform:translateX(-50%)!important;width:min(520px,calc(100vw - 20px))!important;z-index:9999!important;}
.cleanTop{grid-template-columns:44px minmax(0,1fr)92px!important;}
.brandLogo{display:grid;place-items:center;text-align:center;text-transform:uppercase;letter-spacing:.18em;line-height:1;min-height:42px;filter:drop-shadow(0 0 10px rgba(0,157,255,.35));}
.brandLogo b{font-size:18px;color:#edf7ff;font-style:italic;letter-spacing:.12em;white-space:nowrap;text-shadow:0 0 8px rgba(116,200,255,.55)}
.brandLogo small{display:block;font-size:9px;color:#fff;letter-spacing:.32em;margin-top:4px;}
.brandLogo span{position:absolute;margin-left:-180px;font-size:20px;}
.logoA small{background:linear-gradient(90deg,#8b1015,#e23a3a);padding:3px 10px;border-radius:3px;}
.logoB b{color:#f4f8ff}.logoB small{color:#ff3f4f}.logoB .shield{filter:drop-shadow(0 0 6px #ff3f4f)}
.logoC b{color:#eaf6ff}.logoC small{color:#ff3344}.logoC{border-bottom:1px solid rgba(0,157,255,.5)}
.logoD b{color:#dff2ff}.logoD small{border:1px solid #ff2555;border-left:0;border-right:0;padding:3px 12px;color:#fff;text-shadow:0 0 7px #ff2555}.logoD .neonEagle{color:#ff2555;text-shadow:0 0 8px #ff2555,0 0 14px #009dff}
.logoPreview{border:1px solid var(--line);border-radius:14px;background:#02070e;padding:12px;margin:10px 0;overflow:hidden;position:relative}.logoPreview .brandLogo span{position:static;margin:0 8px 0 0}.logoPreview .brandLogo{display:flex;justify-content:center;gap:8px}.roleAvatarGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.roleAvatarGrid>div{text-align:center;border:1px solid var(--line2);border-radius:12px;padding:8px;background:rgba(0,0,0,.2)}.smallAvatar,.smallAvatar .helmet{width:58px!important;height:58px!important;min-width:58px!important;margin:0 auto 6px}.roleBadges{display:inline-flex;gap:3px;vertical-align:middle;margin-right:5px}.roleBadge{border:1px solid var(--rc);box-shadow:0 0 8px color-mix(in srgb,var(--rc) 60%,transparent);border-radius:999px;background:rgba(0,0,0,.45);font-size:11px;line-height:1;padding:2px 4px;display:inline-grid;place-items:center}.settingRow{display:grid!important;grid-template-columns:1fr 1.3fr!important;align-items:center!important}.settingRow select{min-height:46px}.resultList{overflow-x:auto!important;max-width:100%;-webkit-overflow-scrolling:touch;padding-bottom:4px}.resultRow{min-width:560px!important;display:grid!important;grid-template-columns:58px 1.4fr .8fr 1fr .8fr .8fr!important;align-items:center!important}.timeQuick{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.miniBtn{border:1px solid var(--blue);background:#06182b;color:#fff;border-radius:9px;padding:8px 10px;font-weight:900;min-width:44px}.raceBuilder .builderGrid input.fullWide,.raceBuilder .builderGrid textarea.fullWide{grid-column:1/-1}.raceBuilder .builderGrid select{min-width:0}.tag,.entryTag{margin-bottom:6px}.raceStatusStack .tag{margin-bottom:10px}@media(max-width:420px){.brandLogo b{font-size:15px}.brandLogo small{font-size:7px}.brandLogo span{margin-left:-146px;font-size:16px}.roleAvatarGrid{grid-template-columns:repeat(2,1fr)}.settingRow{grid-template-columns:1fr!important}.resultRow{min-width:520px!important}.logoPreview .brandLogo b{font-size:14px}.logoPreview .brandLogo small{font-size:7px}}

/* V15.2 role colour names, cleaner avatars, profile/roster polish */
.roleBadges,.roleBadge{display:none!important}
.roleName{color:var(--role-col,#74c8ff)!important;text-shadow:0 0 8px color-mix(in srgb,var(--role-col,#74c8ff) 45%, transparent);font-weight:900}
.onlineDot{display:inline-block;width:8px;height:8px;border-radius:999px;background:#3cff78;box-shadow:0 0 8px #3cff78;margin-left:6px;vertical-align:middle}
.avatar{border-color:transparent!important;background:transparent!important;box-shadow:none!important;overflow:visible!important}
.roleHelmet.cleanRoleHelmet{width:100%!important;height:100%!important;filter:drop-shadow(0 0 14px rgba(0,157,255,.35))}
.roleAvatarShell{background:transparent!important;border:0!important;box-shadow:none!important}
.roleAvatarGrid small{display:block;font-size:11px;color:#9fb4cc;margin-top:3px}.roleAvatarGrid b{text-transform:capitalize}
.bioBox{min-height:120px;height:auto!important;font-size:0.94em!important;line-height:1.22!important;resize:vertical;overflow:visible!important;white-space:pre-wrap}
.profile .formGrid + .bioBox{grid-column:1/-1}.resultList{overflow-x:auto!important;overflow-y:hidden!important;border-radius:12px;max-width:100%;-webkit-overflow-scrolling:touch}.resultRow{min-width:620px!important}.resultList::-webkit-scrollbar{height:6px}.resultList::-webkit-scrollbar-thumb{background:rgba(116,200,255,.35);border-radius:99px}
.timeQuick{display:flex!important;gap:6px!important;flex-wrap:wrap!important}.timeQuick .miniBtn{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:46px!important}
.raceBuilder .builderGrid{grid-template-columns:1fr 1fr!important}.raceBuilder .builderGrid input.fullWide,.raceBuilder .builderGrid textarea.fullWide{grid-column:1/-1!important}.raceBuilder .builderGrid select{grid-column:auto!important}
.rosterCard{grid-template-columns:1.4fr .8fr!important}.rosterCard .actions{grid-column:1/-1!important}.tag.finished{border-color:#27ff72!important;color:#baffe0!important;background:linear-gradient(90deg,rgba(92,0,25,.65),rgba(20,60,35,.45))!important}.tag.scheduled{border-color:#ffbf2e!important;color:#ffe3a2!important;background:rgba(255,191,46,.14)!important}.tag.entered{border-color:#27ff72!important;color:#baffe0!important;background:rgba(39,255,114,.14)!important}
.profileTrophyRow{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.profileTrophyRow .trophyIcon{width:64px;height:64px}
.miniNav{position:fixed!important;bottom:calc(8px + env(safe-area-inset-bottom))!important;left:50%!important;right:auto!important;transform:translateX(-50%)!important;width:min(520px,calc(100vw - 20px))!important;z-index:9999!important}
.app{padding-bottom:calc(112px + env(safe-area-inset-bottom))!important}
@media(max-width:420px){.roleAvatarGrid{grid-template-columns:repeat(2,1fr)!important}.resultRow{min-width:600px!important}.rosterCard{grid-template-columns:1fr!important}}
/* V15.3 roster/notification/avatar fixes */
.assignedRosterOnly{display:none}
.raceOpen{border-left-color:#26ff73!important;box-shadow:inset 6px 0 0 rgba(38,255,115,.85)!important}
.raceClosed{border-left-color:#ff2555!important;box-shadow:inset 6px 0 0 rgba(255,37,85,.85)!important}
.assignedMini{margin-top:6px;border:1px solid rgba(47,125,255,.75);border-radius:999px;padding:4px 8px;background:rgba(47,125,255,.15);font-size:12px;font-weight:900;color:#bfe0ff;display:inline-block}
.assignedBox{display:inline-block;border:1px solid rgba(47,125,255,.8);border-radius:999px;padding:8px 10px;background:rgba(47,125,255,.15);font-weight:900;color:#d9ecff;margin:3px 0 8px}
.raceLine .raceSub{line-height:1.25}.raceLine .entryStack{align-self:center}.raceBuilder .assignedRosterOnly{grid-column:auto!important}.roleHelmet.cleanRoleHelmet path{vector-effect:non-scaling-stroke}
.drawer{max-height:calc(100vh - 160px);overflow:auto;-webkit-overflow-scrolling:touch}
/* V15.4 targeted polish */
.raceLine.raceOpen:before{background:var(--green)!important;box-shadow:0 0 12px var(--green)!important}.raceLine.raceClosed:before{background:var(--red)!important;box-shadow:0 0 12px var(--red)!important}.raceLine:before{background:var(--red)}
.countdownMini{color:#55ff88;font-weight:900}.messageIcon{position:absolute;right:12px;top:38px;border:0;background:transparent;color:#9ed2ff;font-size:22px;z-index:2}.messageIcon em{position:absolute;right:-8px;top:-8px;background:#ff2555;color:#fff;border-radius:999px;font-size:10px;padding:2px 5px;font-style:normal}.spot .trophy{display:none!important}
.cleanTop{grid-template-columns:44px 1fr 96px!important}.cleanTop>.iconBtn[data-action="back"]{font-size:34px;line-height:1;color:#dff4ff}.topActions{display:flex;gap:4px;justify-content:flex-end}.topActions .iconBtn{width:42px}.drawer button[data-nav="cars"],.drawer button[data-nav="migrate"],.drawer button[data-nav="admin"]{display:none!important}
.quickLoginHome{display:grid;grid-template-columns:1fr 1fr;gap:8px}.quickLoginHome button{margin-top:0}.snapshot .statBox:nth-last-child(-n+3){border-color:rgba(255,210,63,.8);box-shadow:0 0 14px rgba(255,210,63,.13), inset 0 0 18px rgba(255,210,63,.08)}
.raceCardV91 .assignedLeftLabel,.raceCardV91 .assignedLeftBox{display:block;margin-top:8px}.assignedLeftBox{max-width:180px}.raceStatusStack .assignedBox,.raceStatusStack .label:has(+ .assignedBox){display:none!important}
.resultList{overflow-x:auto!important;max-width:100%!important}.resultRow{white-space:nowrap}.roleListInline{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;font-size:9px;line-height:1.1;text-transform:uppercase;letter-spacing:.08em}.roleListInline span{white-space:nowrap}.roleName{color:var(--role-col)!important;text-shadow:0 0 9px color-mix(in srgb,var(--role-col) 70%, transparent)}.onlineDot{display:inline-block;width:9px;height:9px;background:#27ff72;border-radius:50%;box-shadow:0 0 9px #27ff72;margin-left:6px;vertical-align:middle}
.roleAvatarShell,.avatar{border-color:var(--role-col,var(--blue))!important}.roleHelmet{width:100%;height:100%}.avatar svg{display:block;width:100%;height:100%}.profile .bioBox{min-height:130px;height:auto;font-size:14px;line-height:1.25}.rosterEditable{background:linear-gradient(180deg,rgba(255,210,63,.12),rgba(4,16,31,.92))!important;border-color:rgba(255,210,63,.55)!important}select:disabled,input:disabled{opacity:.55!important;background:linear-gradient(180deg,rgba(255,36,83,.08),rgba(4,16,31,.75))!important;border-color:rgba(255,36,83,.25)!important}.danger{border-color:#ff3b6b!important;color:#ffc2cf!important;background:rgba(255,36,83,.15)!important}.selectTitle{margin-bottom:8px!important;color:#bde7ff!important;font-size:13px!important}.trophyGroup{grid-template-columns:1fr!important}.trophyGroupHead{display:flex!important;align-items:center!important;gap:10px!important;width:100%;white-space:nowrap}.trophyGroupHead .value{white-space:nowrap!important;overflow:visible!important}.trophyGroup .trophyList{grid-column:1/-1}.noticeCard{grid-template-columns:1fr 1fr!important}.formGrid .danger{color:#ffc2cf!important}.browserCard.driverCard{grid-template-columns:1fr 1fr!important}.browserCard.driverCard .actions{grid-column:1/-1}.roleAvatarGrid .avatar{margin:0 auto 8px}.entryStack small{display:block}.raceLine .raceSub{padding-right:2px}.raceLine .assignedMini{max-width:220px}.phoneFrame{overflow:visible!important}.app{overflow-x:hidden!important}.miniNav{position:fixed!important;bottom:calc(8px + env(safe-area-inset-bottom))!important;transform:translateX(-50%)!important}
@media(max-width:420px){.raceLine{grid-template-columns:1fr auto 16px!important}.entryStack{min-width:96px}.entryTag{font-size:10px!important;padding:6px 8px!important}.raceLine .raceTitle{font-size:13px}.raceLine .raceSub{font-size:10px}.assignedMini{font-size:11px}.quickLoginHome{grid-template-columns:1fr}.browserCard.driverCard{grid-template-columns:1fr!important}.trophyGroupHead{justify-content:flex-start!important}.noticeCard{grid-template-columns:1fr!important}.snapshot{grid-template-columns:repeat(3,1fr)!important}.statBox b{font-size:24px!important}.statBox span{font-size:10px!important}}
/* V16.1 role/avatar/topbar refinements */
.cleanTop{grid-template-columns:88px 1fr 88px!important;align-items:center!important}
.leftActions,.topActions{display:flex;align-items:center;gap:4px;justify-content:center}.leftActions{justify-content:flex-start}.topActions{justify-content:flex-end}.topMsgBtn{position:relative}.topMsgBtn em{position:absolute;right:0;top:0;background:#ff2555;color:#fff;border-radius:999px;font-size:10px;padding:2px 5px;font-style:normal}.customRoleAvatar{width:100%;height:100%;display:block;border-radius:50%;background-size:cover;background-position:center;border:5px solid var(--role-border,#0b4fa3);box-shadow:0 0 18px color-mix(in srgb,var(--role-col) 40%,transparent)}
.roleAvatarGrid input[type="color"]{height:38px;padding:3px;margin:6px 0}.roleAvatarGrid input[type="file"]{font-size:11px;padding:8px}.roleListInline{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.driverCardV16{grid-template-columns:1fr 1fr!important;align-items:start}.driverCardV16 .roleBlock{justify-self:end;text-align:right;max-width:45%}.driverCardV16 .actions{grid-column:1/-1}.profileRoles{margin-top:8px}.profileRoles .roleListInline,.profileRoles{display:flex;flex-direction:column;gap:4px}.roleName{font-weight:900;color:var(--role-col,var(--blue2))}.avatar{border-color:var(--role-col,var(--blue))!important}.roleAvatarShell{border-color:transparent!important}
@media(max-width:420px){.cleanTop{grid-template-columns:78px 1fr 78px!important}.leftActions .iconBtn,.topActions .iconBtn{width:34px;height:38px}.driverCardV16 .roleBlock{max-width:50%}.roleListInline span{font-size:11px}}

/* V16.4 refinements */
.leagueBigTitle{font-size:calc(28px - 2px)!important;}
.durationModeSelect{grid-column:1/2!important;}
.durationLaps,.durationEndurance{grid-column:2/3!important;}
.raceSetupInfo{font-size:13px!important;color:#d8ecff!important;margin-bottom:4px!important;}

/* V16.5 polishing */
.raceCardV91 .label{font-size:10px!important;color:var(--blue2)!important;text-shadow:0 0 8px rgba(116,200,255,.28)}
.durationEndurance{letter-spacing:.08em;text-align:center}
.driverCardV165{position:relative!important;grid-template-columns:1fr!important;min-height:210px;padding:16px!important}
.driverCardV165 .driverMain{padding-right:130px;display:block!important}
.driverCardV165 .driverNameMini{font-size:18px;line-height:1.05;margin-bottom:0!important}
.driverCardV165 .driverNumberMini{font-size:16px;margin-bottom:2px!important}
.driverCardV165 .psnLabel{margin-top:8px!important}
.driverCardV165 .psnValue{font-size:20px!important;line-height:1!important}
.driverCardV165 .statsValue{font-size:17px!important;line-height:1.2!important;display:block;white-space:normal}
.driverCardV165 .driverActions{grid-column:1!important;margin-top:10px!important;display:flex!important;gap:12px!important;max-width:270px}
.driverCardV165 .driverActions .smallBtn{min-width:104px;text-align:center}
.driverRoleCorner{position:absolute;right:16px;top:54px;text-align:right;max-width:120px!important}
.driverRoleCorner .roleListInline{justify-content:flex-end;display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.driverRoleCorner .label{margin-bottom:6px}
.messageCardV165{grid-template-columns:1fr!important;gap:8px!important}
.messageHeader{display:grid;gap:2px}.messageHeader .value{font-size:15px!important}.messageHeader small{color:#9fb4cc}
.messageTextBox{border:1px solid var(--line2);border-radius:12px;background:rgba(0,0,0,.24);padding:12px;min-height:58px;color:#d8e9ff;font-size:16px;line-height:1.25;white-space:pre-wrap;overflow-wrap:anywhere}
.messageActions{grid-column:1!important;display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin-top:4px!important}
.messageActions .smallBtn{padding:7px 10px!important;min-width:78px!important;font-size:12px!important;line-height:1.1!important;flex:0 0 auto!important}.messageActions .danger{min-width:78px!important}
.setupTableBtn{text-align:left;color:var(--text);cursor:pointer}.setupTableBtn.on{border-color:var(--gold)!important;box-shadow:0 0 14px rgba(255,191,46,.2)}
.tableRowPreview{grid-template-columns:1fr!important;display:block!important}.tableRowPreview summary{cursor:pointer;color:#dff4ff;font-weight:900}.tableRowPreview pre{max-height:260px;overflow:auto;font-size:11px;white-space:pre-wrap;color:#bcd7ff}
@media(max-width:420px){.driverCardV165{min-height:224px}.driverCardV165 .driverMain{padding-right:112px}.driverRoleCorner{right:12px;top:58px;max-width:105px!important}.driverCardV165 .statsValue{font-size:16px!important}.messageActions .smallBtn{min-width:72px!important;padding:7px 8px!important}}
.driverRoleCorner{top:auto!important;bottom:22px!important}
@media(max-width:420px){.driverRoleCorner{top:auto!important;bottom:22px!important}}

/* V16.6 fixes: roster edit permissions, cleaner racer cards, result confirm lock, race control */
.miniNav{bottom:0!important;border-radius:18px 18px 0 0!important;padding-bottom:calc(10px + env(safe-area-inset-bottom))!important}
.app{padding-bottom:calc(132px + env(safe-area-inset-bottom))!important}
.durationEnduranceWrap{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center;grid-column:2/3!important;border:1px solid rgba(255,210,63,.55);border-radius:12px;padding:6px;background:linear-gradient(180deg,rgba(255,210,63,.12),rgba(4,16,31,.92))!important}
.durationEnduranceWrap select{height:42px;text-align:center}
.builderGrid .rosterEditable{background:linear-gradient(180deg,rgba(255,210,63,.12),rgba(4,16,31,.92))!important;border-color:rgba(255,210,63,.55)!important}
.myRosterSection{border-color:rgba(255,210,63,.8)!important;box-shadow:0 0 0 2px rgba(255,210,63,.25) inset!important}
.raceCardV91 .value:not(.topNames):not(.raceCardTitle){font-size:12px!important;line-height:1.08!important}
.raceCardV91 .topNames{font-size:11px!important}
.driverCardV166{position:relative!important;display:grid!important;grid-template-columns:1fr 96px!important;min-height:190px!important;padding:16px!important;overflow:hidden!important}
.driverCardV166 .driverMain{grid-column:1/2!important;padding-right:6px!important;display:block!important}
.driverCardV166 .label{font-size:14px!important;color:var(--blue2)!important;letter-spacing:.22em!important}
.driverCardV166 .value{font-size:12px!important;line-height:1.1!important}
.driverCardV166 .driverNameMini{font-size:20px!important;line-height:1.05!important;display:block!important}
.driverCardV166 .driverNumberMini{font-size:18px!important;margin-bottom:2px!important;display:block!important}
.driverCardV166 .psnValue{font-size:13px!important;line-height:1!important;display:block!important}
.driverCardV166 .statsValue{font-size:13px!important;line-height:1.15!important;display:block!important;white-space:normal!important}
.driverCardV166 .driverAvatarCorner{position:absolute;right:18px;top:46px;width:76px!important;height:76px!important;min-width:76px!important}
.driverCardV166 .driverActions{grid-column:1/2!important;margin-top:10px!important;display:flex!important;gap:10px!important;align-items:center!important}
.driverCardV166 .compactProfileBtn{min-width:78px!important;width:78px!important;max-width:78px!important;font-size:13px!important;padding:8px 8px!important}
.driverCardV166 .driverRoleCorner{position:absolute!important;right:14px!important;bottom:16px!important;top:auto!important;max-width:120px!important;text-align:right!important}
.driverCardV166 .driverRoleCorner .label{font-size:10px!important;color:#dff4ff!important}
.driverCardV166 .roleListInline{display:flex!important;flex-direction:column!important;align-items:flex-end!important;gap:2px!important}
.driverCardV166 .roleListInline span{font-size:11px!important;white-space:nowrap!important}
.controlBadge{display:inline-block;margin:8px 0 6px;padding:7px 12px;border-radius:999px;font-weight:900;letter-spacing:.04em;border:1px solid}
.controlBadge.await{color:#baffe0;border-color:#27ff72;background:rgba(39,255,114,.13)}
.controlBadge.confirm{color:#ffe9a8;border-color:#ffd23f;background:rgba(255,210,63,.14)}
.pendingConfirmNotice{border-color:#ffd23f!important;color:#ffe9a8!important}.approvedConfirmNotice{border-color:#27ff72!important;color:#baffe0!important}
.scoreRow [disabled]{opacity:.5!important;pointer-events:none!important}.protestLocked .notice{margin-bottom:8px}
@media(max-width:420px){.durationEnduranceWrap{grid-column:1/-1!important}.driverCardV166{grid-template-columns:1fr 86px!important;min-height:194px!important}.driverCardV166 .driverAvatarCorner{width:68px!important;height:68px!important;right:14px;top:48px}.driverCardV166 .driverMain{padding-right:90px!important}.driverCardV166 .driverRoleCorner{right:12px!important;bottom:14px!important}.driverCardV166 .driverNameMini{font-size:19px!important}.driverCardV166 .statsValue{font-size:12px!important}}

/* V17.0 fixes */
.rosterEditable.rosterLocked,.durationEnduranceWrap.rosterLocked{opacity:.55!important;background:linear-gradient(180deg,rgba(255,36,83,.08),rgba(4,16,31,.75))!important;border-color:rgba(255,36,83,.32)!important;}
.durationEnduranceWrap.rosterLocked select{opacity:.75!important;background:transparent!important;border-color:rgba(255,36,83,.32)!important;}
.driverCardV166 .driverRoleCorner{right:22px!important;bottom:16px!important;max-width:150px!important;text-align:left!important;}
.driverCardV166 .driverRoleCorner .label{text-align:left!important;display:block!important;}
.driverCardV166 .roleListInline{align-items:flex-start!important;text-align:left!important;}
.driverCardV166 .roleListInline span{font-size:10px!important;max-width:138px!important;overflow:hidden!important;text-overflow:ellipsis!important;}
@media(max-width:420px){.driverCardV166 .driverRoleCorner{right:20px!important;max-width:136px!important}.driverCardV166 .roleListInline span{max-width:126px!important;font-size:9px!important}}
.confirmControlBtn{border-color:#ffd23f!important;color:#ffe9a2!important;}

/* V17.2 stability + restored profile/achievements/trophy filters */
button,[data-nav],[data-driver],[data-race],[data-admin-jump],[data-trophy-open]{cursor:pointer;touch-action:manipulation}
.formPills{display:flex;gap:8px;flex-wrap:wrap}.miniPill{border:1px solid var(--line2);background:rgba(5,25,48,.88);color:#dff4ff;border-radius:10px;padding:8px 12px;font-weight:900}
.profileTop{display:grid;grid-template-columns:112px 1fr;gap:14px;align-items:center}.profileAvatar{width:104px!important;height:104px!important}.profilePlate{min-height:118px}.profileRoles{margin-top:8px}.profileRoles .label{display:block;color:var(--blue2)}
.trophyPreview{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.recentRaceLine{text-align:left;color:var(--text)}.achievementCard{grid-template-columns:auto 1fr!important}.achievementCard .achIcon{font-size:28px;align-self:start}
.trophyGroupHead{gap:12px!important}.trophyGroupHead .value{font-size:16px!important}.trophyCabinetLine{align-items:center}.adminCounts .statBox{appearance:none;-webkit-appearance:none;color:var(--text)}
.renderError{border-color:#ff3b6b!important;color:#ffc2cf!important}
@media(max-width:420px){.profileTop{grid-template-columns:94px 1fr}.profileAvatar{width:88px!important;height:88px!important}.profilePlate .driverName{font-size:20px!important}.trophyGroupHead .value{font-size:14px!important}.achievementCard .achIcon{font-size:24px}}

/* V17.3 profile + achievements repair */
.profileScreen{display:block!important;grid-template-columns:none!important;gap:0!important;align-items:initial!important}.profileBackBtn{width:100%;margin-bottom:12px}.profileScreen .profileTop{display:grid!important;grid-template-columns:96px minmax(0,1fr)!important;gap:12px!important;align-items:center!important}.profileScreen .profileAvatar{width:92px!important;height:92px!important;min-width:92px!important}.profileScreen .profileAvatar .helmet{width:90px!important;height:90px!important}.profileScreen .profilePlate{min-height:108px!important;padding:10px 12px!important;overflow:hidden!important}.profileScreen .driverName{font-size:21px!important;line-height:1.05!important;display:block!important}.profileScreen .driverMeta{font-size:10px!important;line-height:1.2!important}.profileScreen .profileRoles{margin-top:6px!important;display:block!important}.profileScreen .profileRoles .roleListInline{display:flex!important;flex-wrap:wrap!important;gap:5px!important;align-items:center!important}.profileScreen .profileTrophyRow{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;margin:12px 0!important}.profileScreen .profileTrophyRow .trophyIcon{width:100%!important;height:72px!important}.profileScreen .profileStatsClean .snapshot{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}.profileScreen .profileStatsClean .statBox{min-height:72px!important;padding:8px 4px!important}.profileScreen .profileStatsClean .statBox b{font-size:24px!important}.profileScreen .profileStatsClean .statBox span{font-size:10px!important}.achievementCard b{display:block!important;color:#fff!important;font-size:14px!important}.achievementCard p{display:block!important;color:#c8dcff!important;font-size:12px!important;margin:2px 0!important}.achievementCard small{display:block!important;color:#fff!important;font-size:12px!important}.achievementCard.primary{border-color:var(--gold)!important}.achievementCard.secondary{border-color:var(--blue)!important}.recentRaceLine{grid-template-columns:1fr!important}.formPills .miniPill{min-width:44px}.profileScreen textarea{font-size:13px!important;line-height:1.25!important;min-height:150px!important;resize:vertical!important}
@media(max-width:420px){.profileScreen .profileTop{grid-template-columns:86px minmax(0,1fr)!important}.profileScreen .profileAvatar{width:80px!important;height:80px!important;min-width:80px!important}.profileScreen .profileAvatar .helmet{width:78px!important;height:78px!important}.profileScreen .profilePlate .driverName{font-size:18px!important}.profileScreen .profileStatsClean .statBox b{font-size:21px!important}.profileScreen .profileStatsClean .statBox span{font-size:9px!important}}


/* V17.4 profile stat grid repair and orphan-result shielding UI */
.profileScreen .profileStatsClean{display:block!important;width:100%!important;max-width:100%!important;grid-column:1/-1!important;clear:both!important;}
.profileScreen .profileStatsClean .snapshot{display:grid!important;width:100%!important;max-width:100%!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;}
.profileScreen .profileStatsClean .snapshot .statBox{width:100%!important;min-width:0!important;max-width:none!important;}
.profileScreen .profileStatsClean .snapshot .statBox b{font-size:24px!important;}
.profileScreen .profileStatsClean .snapshot .statBox span{font-size:10px!important;white-space:normal!important;}
@media(max-width:420px){.profileScreen .profileStatsClean .snapshot{grid-template-columns:repeat(3,minmax(0,1fr))!important}.profileScreen .profileStatsClean .snapshot .statBox b{font-size:21px!important}.profileScreen .profileStatsClean .snapshot .statBox span{font-size:9px!important}}
/* V19 User Management + Role Matrix */
.userTopTools{grid-template-columns:1fr auto;align-items:center}.statusChips{display:flex;gap:8px;overflow-x:auto;padding:10px 0}.statusChips button{border:1px solid rgba(45,157,255,.45);background:#061527;color:#dff2ff;border-radius:12px;padding:8px 12px;font-weight:900;white-space:nowrap}.userMgmtList{display:grid;gap:10px;margin-top:10px}.userMgmtCard{width:100%;display:grid;grid-template-columns:54px 1fr auto;gap:12px;align-items:center;text-align:left;background:linear-gradient(135deg,rgba(0,80,150,.32),rgba(2,8,18,.92));border:1px solid rgba(45,157,255,.5);border-radius:18px;padding:12px;color:#fff}.userMgmtCard.selected{box-shadow:0 0 22px rgba(45,157,255,.45);border-color:#38a8ff}.miniRoleAvatar{width:46px!important;height:46px!important}.userMgmtCard b{display:block;font-size:1.05rem}.userMgmtCard small{display:block;color:#b8d4f6;font-weight:800;margin-top:3px}.status{font-style:normal;text-transform:uppercase;font-size:.68rem;font-weight:1000;border-radius:999px;padding:6px 8px;border:1px solid rgba(255,255,255,.2)}.status.active{color:#5dff8a;background:rgba(0,140,48,.18)}.status.pending{color:#ffd85c;background:rgba(255,205,30,.16)}.status.banned{color:#ff6b94;background:rgba(255,37,85,.16)}.status.archived{color:#bfc7d3;background:rgba(255,255,255,.08)}.userHero{display:flex;gap:14px;align-items:center;margin-bottom:12px}.userHero b{font-size:1.3rem}.userHero small{display:block;color:#b8d4f6}.miniTabs{display:flex;overflow-x:auto;margin:8px 0 12px}.fullWide{grid-column:1/-1}.rolesMatrixShell{padding:12px!important}.permGroup{margin:0 0 18px}.permGroup h2{letter-spacing:.08em;color:#7ad5ff}.permMatrixWrap{overflow-x:auto;border:1px solid rgba(45,157,255,.45);border-radius:18px;background:rgba(1,8,18,.8)}.permMatrix{border-collapse:separate;border-spacing:0;min-width:860px;width:100%;font-size:.82rem}.permMatrix th,.permMatrix td{border-bottom:1px solid rgba(45,157,255,.18);padding:10px;text-align:center;vertical-align:middle}.permMatrix th{color:#dcf4ff;text-transform:uppercase;font-weight:1000;background:rgba(0,55,110,.42);position:sticky;top:0;z-index:2}.permMatrix .stickyPerm{position:sticky;left:0;z-index:3;text-align:left;background:#071426;min-width:240px}.permMatrix td.stickyPerm{z-index:1}.permMatrix .stickyPerm b{display:block;color:#fff}.permMatrix .stickyPerm small{display:block;color:#a8c2e0;font-weight:800;margin-top:3px}.rolePill{display:inline-flex;align-items:center;gap:4px;color:var(--role-col);white-space:nowrap}.infoBtn{width:24px;height:24px;border-radius:50%;border:1px solid #38a8ff;background:#052140;color:#8fe1ff;font-weight:1000;margin-right:6px}.matrixCheck input{display:none}.matrixCheck span{display:inline-block;width:30px;height:30px;border-radius:10px;border:2px solid rgba(255,255,255,.35);background:rgba(255,255,255,.06)}.matrixCheck input:checked+span{background:#1e9cff;border-color:#8bd8ff;box-shadow:0 0 14px rgba(45,157,255,.55)}.matrixCheck input:checked+span:after{content:'✓';display:block;color:white;font-size:22px;line-height:26px;font-weight:1000}.roleDetails{border:1px solid rgba(45,157,255,.4);border-radius:16px;padding:10px;margin:10px 0;background:rgba(2,10,22,.72)}.roleDetails summary{font-weight:1000;cursor:pointer;letter-spacing:.08em}.adminPanel h2:contains('User Area'){}

/* V19.1 mobile-first management and role matrix viewport fixes */
.userStackCard{width:100%;display:grid;grid-template-columns:58px minmax(0,1fr) 22px;gap:12px;align-items:center;text-align:left;background:linear-gradient(135deg,rgba(0,90,160,.32),rgba(2,8,18,.94));border:1px solid rgba(45,157,255,.5);border-radius:18px;padding:12px;color:#fff;box-shadow:inset 0 0 22px rgba(0,132,255,.08)}
.userStackCard.selected{border-color:#53bdff;box-shadow:0 0 22px rgba(45,157,255,.42),inset 0 0 22px rgba(0,132,255,.14)}
.userCardAvatar{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;border:2px solid var(--role-col);box-shadow:0 0 16px color-mix(in srgb,var(--role-col) 55%,transparent);overflow:hidden;background:#03101f}
.userCardAvatar .helmet{width:52px!important;height:52px!important;min-width:52px!important}
.userCardMain{min-width:0}.userCardMain small{display:block;color:#9fb4cc;font-weight:900;letter-spacing:.08em}.userCardMain b{display:block;font-size:1.05rem;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.userCardMain span{display:block;color:#c8dcff;font-weight:800;font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.miniPills{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}.miniPills em{font-style:normal;border:1px solid rgba(45,157,255,.35);border-radius:999px;padding:4px 7px;font-size:.62rem;font-weight:1000;color:#cfe8ff;background:rgba(4,22,42,.8);text-transform:uppercase}.userStackCard .chev{border:0;background:transparent;color:#dff4ff;font-size:30px;font-weight:900}.inlineEditor{border-color:rgba(255,210,63,.55)!important}.adminActions{gap:8px!important}.adminActions .smallBtn{flex:1 1 auto}.adminCounts{grid-template-columns:repeat(3,minmax(0,1fr))!important}.adminCounts .statBox{min-width:0!important}
/* Make role matrix genuinely usable on portrait: left permission rail max 60%, role cols visible and swipeable */
.rolesMatrixShell{max-width:none!important;width:100%!important}.permMatrixWrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.permMatrix{min-width:max-content!important;width:max-content!important;font-size:.72rem!important}.permMatrix .stickyPerm{min-width:0!important;width:58vw!important;max-width:58vw!important;white-space:normal!important}.permMatrix th:not(.stickyPerm),.permMatrix td:not(.stickyPerm){min-width:74px!important;width:74px!important;padding:8px 6px!important}.permMatrix .stickyPerm b{font-size:.72rem!important;overflow-wrap:anywhere}.permMatrix .stickyPerm small{font-size:.62rem!important;line-height:1.15}.rolePill{font-size:.62rem!important;writing-mode:vertical-rl;transform:rotate(180deg);max-height:86px;overflow:hidden}.matrixCheck span{width:26px!important;height:26px!important;border-radius:8px!important}.matrixCheck input:checked+span:after{font-size:19px!important;line-height:22px!important}.infoBtn{width:20px!important;height:20px!important;font-size:12px!important;margin-right:4px!important}
@media (orientation:landscape){.app{max-width:none!important;width:100vw!important}.screen{max-width:none!important;width:100%!important}.phoneFrame{max-width:min(980px,calc(100vw - 28px))!important;margin-inline:auto!important}.rolesMatrixShell,.rolesMatrixPage{max-width:min(980px,calc(100vw - 28px))!important}.permMatrix .stickyPerm{width:320px!important;max-width:320px!important}.permMatrix th:not(.stickyPerm),.permMatrix td:not(.stickyPerm){min-width:86px!important;width:86px!important}.rolePill{writing-mode:initial!important;transform:none!important;max-height:none!important}}
@media (min-width:700px){.app{max-width:none!important}.screen{max-width:none!important}.phoneFrame{max-width:860px!important}.permMatrix .stickyPerm{width:300px!important;max-width:300px!important}.rolePill{writing-mode:initial!important;transform:none!important}.userMgmtList{grid-template-columns:repeat(2,minmax(0,1fr))}.inlineEditor,.adminPanel{max-width:860px!important;margin-left:auto!important;margin-right:auto!important}}

/* V19.2 role permissions compact mobile matrix */
.rolesMatrixPage,.rolesMatrixShell{width:auto!important;max-width:none!important;}
.rolesMatrixShell{margin-left:-10px!important;margin-right:-10px!important;padding:8px!important;}
.rolesMatrixShell .permGroup h2{padding-left:2px!important;}
.rolesMatrixShell .permMatrixWrap{width:100%!important;max-width:none!important;}
.rolesMatrixShell .permMatrix{min-width:max-content!important;width:max-content!important;}
.rolesMatrixShell .permMatrix .stickyPerm{width:42vw!important;max-width:42vw!important;min-width:42vw!important;padding-left:8px!important;padding-right:6px!important;}
.rolesMatrixShell .permMatrix th:not(.stickyPerm),
.rolesMatrixShell .permMatrix td:not(.stickyPerm){min-width:54px!important;width:54px!important;padding-left:4px!important;padding-right:4px!important;}
.rolesMatrixShell .matrixCheck span{width:20px!important;height:20px!important;border-radius:7px!important;border-width:2px!important;}
.rolesMatrixShell .matrixCheck input:checked+span:after{font-size:15px!important;line-height:16px!important;}
.rolesMatrixShell .rolePill{font-size:.55rem!important;max-height:76px!important;line-height:1.05!important;}
.rolesMatrixShell .infoBtn{width:18px!important;height:18px!important;font-size:11px!important;}
.rolesMatrixShell .permMatrix .stickyPerm b{font-size:.68rem!important;line-height:1.05!important;}
.rolesMatrixShell .permMatrix .stickyPerm small{font-size:.58rem!important;line-height:1.08!important;}
@media(max-width:420px){
  .rolesMatrixShell{margin-left:-12px!important;margin-right:-12px!important;}
  .rolesMatrixShell .permMatrix .stickyPerm{width:40vw!important;max-width:40vw!important;min-width:40vw!important;}
  .rolesMatrixShell .permMatrix th:not(.stickyPerm),
  .rolesMatrixShell .permMatrix td:not(.stickyPerm){min-width:50px!important;width:50px!important;}
}
@media(orientation:landscape){
  .rolesMatrixShell{margin-left:0!important;margin-right:0!important;}
  .rolesMatrixShell .permMatrix .stickyPerm{width:250px!important;max-width:250px!important;min-width:250px!important;}
  .rolesMatrixShell .permMatrix th:not(.stickyPerm),
  .rolesMatrixShell .permMatrix td:not(.stickyPerm){min-width:64px!important;width:64px!important;}
  .rolesMatrixShell .matrixCheck span{width:22px!important;height:22px!important;}
}


/* V19.3 landscape navigation rail
   When phones/tablets rotate sideways the bottom nav becomes a fixed left rail,
   freeing the permission matrix and all app screens from being blocked. */
@media (orientation: landscape) and (max-height: 600px){
  .app{
    padding-left:calc(104px + env(safe-area-inset-left))!important;
    padding-right:calc(12px + env(safe-area-inset-right))!important;
    padding-bottom:18px!important;
    min-height:100svh!important;
    overflow-x:hidden!important;
  }
  .screen{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
  }
  .phoneFrame{
    width:100%!important;
    max-width:calc(100vw - 128px - env(safe-area-inset-left) - env(safe-area-inset-right))!important;
    margin:0 auto!important;
  }
  .miniNav{
    top:calc(8px + env(safe-area-inset-top))!important;
    bottom:calc(8px + env(safe-area-inset-bottom))!important;
    left:calc(8px + env(safe-area-inset-left))!important;
    right:auto!important;
    width:84px!important;
    max-width:84px!important;
    height:auto!important;
    transform:none!important;
    grid-template-columns:1fr!important;
    grid-template-rows:repeat(5, minmax(62px, 1fr))!important;
    gap:8px!important;
    padding:8px 6px!important;
    border-radius:18px!important;
    align-content:center!important;
  }
  .miniNav button{
    width:100%!important;
    height:auto!important;
    min-height:60px!important;
    padding:4px 2px!important;
  }
  .miniNav button.on{
    border-radius:13px!important;
  }
  .miniNav span{font-size:22px!important;line-height:1!important;}
  .miniNav b{font-size:9px!important;line-height:1.1!important;}
  .drawer{
    top:calc(8px + env(safe-area-inset-top))!important;
    bottom:calc(8px + env(safe-area-inset-bottom))!important;
    left:calc(100px + env(safe-area-inset-left))!important;
    right:auto!important;
    width:min(340px, calc(100vw - 120px))!important;
    max-width:none!important;
    transform:none!important;
    margin:0!important;
    grid-template-columns:1fr!important;
    align-content:start!important;
    overflow:auto!important;
  }
  .drawer button{min-height:42px!important;height:auto!important;}
}

@media (orientation: landscape) and (max-height: 600px) and (max-width: 760px){
  .phoneFrame{max-width:calc(100vw - 112px - env(safe-area-inset-left) - env(safe-area-inset-right))!important;}
  .app{padding-left:calc(96px + env(safe-area-inset-left))!important;}
  .miniNav{width:76px!important;max-width:76px!important;}
  .drawer{left:calc(92px + env(safe-area-inset-left))!important;}
}


/* V20 Production polish: Help centre, permission simulator, management cards and landscape drawer */
.guideGrid{display:grid;grid-template-columns:1fr;gap:10px}.guideCard{text-align:left}.guideCard b{display:block;font-size:1.05rem;color:#fff}.guideCard small{display:block;margin-top:6px;color:#9fc9ff}.ruleGuide{border-color:rgba(255,210,63,.45)!important}.guidePage p{white-space:normal;line-height:1.45;font-size:1rem}.guidePage textarea{width:100%;min-height:260px}.simList .browserCard{padding:12px}.simPerm{display:grid;gap:2px;border-top:1px solid rgba(45,157,255,.18);padding:8px 0}.simPerm:first-child{border-top:0}.simPerm b{font-size:.85rem}.simPerm.yes b{color:#7cffb0}.simPerm.no b{color:#ff83a5}.simPerm small{color:#a9bed4;font-size:.72rem}.status.banned{border-color:#ff2f6d!important;color:#ff92ad!important}.status.pending{border-color:#ffd23f!important;color:#ffe58b!important}.status.active,.status.linked{border-color:#33ff87!important;color:#a7ffc9!important}.userStackCard{cursor:pointer}.userStackCard:hover{transform:translateY(-1px);box-shadow:0 0 18px rgba(45,157,255,.18)}.adminActions .danger[data-ban-selected-user]{border-color:#ffb23f;color:#ffd89d;background:rgba(80,42,0,.28)}
.rolesMatrixShell .permMatrixWrap{border-radius:18px;scrollbar-width:thin;scrollbar-color:#00a7ff #061020}.rolesMatrixShell .permMatrix th{position:sticky;top:0;z-index:4}.rolesMatrixShell .stickyPerm{position:sticky;left:0;z-index:5;background:#071829!important}.rolesMatrixShell tbody .stickyPerm{z-index:3}.rolesMatrixShell .permMatrix td:not(.stickyPerm){text-align:center}.rolesMatrixShell .matrixCheck{display:inline-grid;place-items:center}
@media (orientation: landscape) and (max-height: 600px){
  .drawer{top:calc(8px + env(safe-area-inset-top))!important;bottom:calc(8px + env(safe-area-inset-bottom))!important;min-height:calc(100svh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;display:grid!important;grid-auto-rows:minmax(42px,auto)!important;padding:10px!important;z-index:999!important;box-shadow:0 0 0 2px rgba(0,174,255,.55),0 0 32px rgba(0,174,255,.35)!important;background:rgba(1,12,24,.96)!important;}
  .drawer button{width:100%!important;text-align:center!important;justify-content:center!important;}
  .screen{padding-bottom:0!important;}
}
@media (min-width:760px){.guideGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.simList{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}}

/* V20.1 Help/Support reading and editing polish */
.guidePage .guideTextCard{
  display:block!important;
  grid-template-columns:1fr!important;
  width:100%;
  padding:16px!important;
}
.guidePage .guideTextCard p{
  margin:0;
  width:100%;
  max-width:none;
  color:#d7e8ff;
  font-weight:500!important;
  font-size:16px;
  line-height:1.55;
  letter-spacing:0;
  text-align:left;
  white-space:normal;
}
.guidePage .notice,
.guidePage .notice *{
  font-weight:700!important;
}
.guidePage h2{
  margin:14px 0 8px;
}
.guideEditor{
  width:100%;
  min-height:220px;
  font-weight:600!important;
  line-height:1.45;
  white-space:pre-wrap;
}
.guideRoleImageWrap{
  border:1px solid var(--line2);
  border-radius:16px;
  background:rgba(0,0,0,.26);
  padding:10px;
  margin:12px 0;
  display:grid;
  place-items:center;
  overflow:hidden;
}
.guideRoleImageWrap img{
  max-width:100%;
  width:100%;
  height:auto;
  border-radius:12px;
  display:block;
}
@media (min-width:700px){
  .guidePage .guideTextCard p{font-size:17px;line-height:1.6;}
}
.previewBanner{position:sticky;top:0;z-index:50;margin:0 0 8px 0;padding:8px 10px;border:1px solid #ffd23f;border-radius:14px;background:rgba(54,43,0,.92);color:#ffe889;font-weight:900;text-align:center;box-shadow:0 0 18px rgba(255,210,63,.18)}
.previewBanner button{margin-left:10px;border:1px solid #ff4d7d;background:rgba(60,0,20,.8);color:#ffd2df;border-radius:10px;padding:4px 8px;font-weight:900}
.guideTextCard p{font-weight:500!important;text-align:left;line-height:1.45;max-width:none;width:100%;white-space:normal}.guideTextCard{width:100%;box-sizing:border-box}.guideEditor{font-weight:500!important;line-height:1.4}

/* ===== V20.3 manual entrants + desktop/tablet split shell ===== */
.manualEntriesBox{margin-top:12px;border:1px dashed rgba(39,255,114,.65);border-radius:12px;padding:10px;background:rgba(0,70,40,.12)}
.manualEntriesBox summary{cursor:pointer;color:#bfffd4;font-weight:900;letter-spacing:.04em}
.manualEntryList{display:grid;grid-template-columns:1fr;gap:6px;max-height:260px;overflow:auto;margin-top:10px;padding-right:4px}
.entryManageRow{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px;border:1px solid rgba(0,157,255,.35);border-radius:10px;padding:8px;background:rgba(0,0,0,.25)}
.entryManageRow input{width:20px;height:20px}.entryManageRow small{color:var(--blue2)}

/* Desktop / tablet dashboard layout. Mobile portrait and phone landscape rules stay untouched. */
@media (min-width: 900px) and (min-height: 650px){
  body{background:radial-gradient(circle at 20% 0%,rgba(0,157,255,.18),transparent 36%),#01050b!important;}
  .app{padding:18px 22px 22px 184px!important;min-height:100vh!important;display:block!important;}
  .screen{max-width:1180px!important;width:100%!important;margin:0 auto!important;}
  .phoneFrame{max-width:none!important;width:100%!important;min-height:calc(100vh - 44px)!important;border-radius:26px!important;padding:24px!important;}
  .topbar{grid-template-columns:90px 1fr 120px!important;margin-bottom:18px!important;}
  .brand{font-size:20px!important;}
  .pageTitle{font-size:46px!important;}
  .section{padding:18px!important;margin:16px 0!important;}
  .miniNav{position:fixed!important;left:20px!important;top:20px!important;bottom:20px!important;right:auto!important;width:142px!important;max-width:142px!important;height:auto!important;transform:none!important;margin:0!important;grid-template-columns:1fr!important;grid-auto-rows:minmax(70px,auto)!important;align-content:start!important;gap:8px!important;border-radius:24px!important;padding:16px 10px!important;background:rgba(3,10,19,.94)!important;}
  .miniNav:before{content:'MI5CLANUK\A RACING DIVISION';white-space:pre;display:block;text-align:center;color:#dff4ff;font-size:13px;letter-spacing:.18em;line-height:1.45;margin-bottom:8px;text-shadow:0 0 12px rgba(0,157,255,.6)}
  .miniNav button{grid-template-columns:32px 1fr!important;display:grid!important;align-items:center!important;justify-items:start!important;height:64px!important;padding:8px 10px!important;border-radius:14px!important;text-align:left!important;}
  .miniNav span{font-size:24px!important}.miniNav b{font-size:12px!important;letter-spacing:.08em!important}
  .drawer{position:fixed!important;left:174px!important;top:20px!important;bottom:auto!important;right:auto!important;transform:none!important;width:280px!important;max-width:280px!important;grid-template-columns:1fr!important;align-content:start!important;border-radius:18px!important;max-height:calc(100vh - 40px)!important;overflow:auto!important;}
  .drawer button{height:46px!important;text-align:left!important;padding-left:16px!important;}
  .snapshot{grid-template-columns:repeat(6,1fr)!important;}
  .raceCardV91{grid-template-columns:1.2fr 1fr auto!important;}
  .browserList{gap:14px!important;}
  .userMgmtList,.racerMgmtList{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))!important;gap:12px!important;}
  .adminPanel .formGrid,.formGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .rolesMatrixShell .permMatrix .stickyPerm{width:290px!important;max-width:290px!important;min-width:290px!important;}
  .rolesMatrixShell .permMatrix th:not(.stickyPerm),.rolesMatrixShell .permMatrix td:not(.stickyPerm){min-width:84px!important;width:84px!important;}
}

/* V20.4 About / League Info polish */
.aboutPage .brand{margin:6px auto 16px;text-align:center;display:block}
.aboutCard{grid-template-columns:1fr!important;gap:10px!important;text-align:left}
.aboutCard h2{margin:8px 0 2px!important;color:#fff!important;text-transform:none!important;letter-spacing:0!important;font-size:1.05rem!important}
.aboutCard p,.aboutCard small{font-weight:500!important;color:#c5daf3!important;line-height:1.5!important}
.aboutDev{display:flex;gap:12px;align-items:center;margin:8px 0 10px}.aboutDev .smallAvatar{width:54px!important;height:54px!important;min-width:54px!important}.aboutDev b{display:block;font-size:1.1rem}.aboutDev small{display:block;color:#9fc9ff!important}.aboutEdit .formGrid{grid-template-columns:1fr 1fr!important}.aboutEdit textarea.fullWide{grid-column:1/-1;min-height:140px}
.leagueInfoBox{min-height:130px;line-height:1.35;font-weight:650}.leagueInfoExpand{grid-column:1/-1;justify-self:end;width:auto}.leagueBuildCard{grid-template-columns:1fr 1fr!important}.leagueBuildCard .leagueInfoBtn{grid-column:1/-1;width:auto;justify-self:start}.leagueTitleRow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start}.leagueDetailsIcon{width:74px;min-height:62px;padding:8px;text-align:center;border-color:rgba(116,200,255,.55)!important}.leagueDetailsIcon small{font-size:10px;color:#bde7ff;font-weight:900}.guideTextCard{grid-template-columns:1fr!important;display:block!important}.guideTextCard p,.guideTextCard p *{font-weight:500!important;text-align:left!important;line-height:1.55!important;white-space:normal!important;width:100%!important;max-width:none!important;color:#d7eaff!important}.guidePage .notice,.guidePage .notice *{font-weight:650!important}.guidePage textarea,.guideEditor{font-weight:500!important;line-height:1.45!important}.permissionSimulator .smallBtn.fullWide, [data-cycle-sim-role]{grid-column:1/-1}
@media(max-width:420px){.aboutEdit .formGrid{grid-template-columns:1fr!important}.leagueBuildCard{grid-template-columns:1fr!important}.leagueTitleRow{grid-template-columns:1fr}.leagueDetailsIcon{width:100%;min-height:auto}.leagueInfoExpand{justify-self:stretch;width:100%}}
