*{margin:0;padding:0;box-sizing:border-box}
:root{
--nv:#1a1a2e;--pr:#C8102E;--rd2:#C8102E;--rdl:#fee2e2;
--gn:#059669;--gnl:#ecfdf5;--am:#f59e0b;
--g50:#f8fafc;--g100:#f1f5f9;--g200:#e2e8f0;--g300:#cbd5e1;--g400:#94a3b8;--g500:#64748b;--g600:#475569;
--of:#f8fafc;--fg:#fff;--bg:#fff;
--fd:'Inter',system-ui,-apple-system,sans-serif;
--r:12px;--rs:8px}
body{font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;background:var(--g50);color:var(--nv);line-height:1.5;-webkit-font-smoothing:antialiased;padding-top:112px}
body.dark{--nv:#e6edf3;--g50:#0d1117;--g100:#161b22;--g200:#30363d;--g300:#484f58;--g400:#8b949e;--g500:#c9d1d9;--g600:#e6edf3;--of:#161b22;--fg:#161b22;--bg:#0d1117;background:#0d1117;color:#e6edf3}
.dark .sc{background:#161b22;border-color:#30363d}
.dark input,.dark select{background:#0d1117;color:#e2e8f0;border-color:#30363d}

/* Header */
.hdr{background:linear-gradient(135deg,#C8102E 0%,#a50e24 100%);color:#fff;padding:16px 24px;position:fixed;top:0;left:0;right:0;z-index:100;box-shadow:0 2px 12px rgba(0,0,0,.15);will-change:transform}
.hdr-inner{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}
.hdr h1{font-size:22px;font-weight:800;letter-spacing:-0.5px;cursor:pointer}
.hdr h1 span{color:#000}
.dark .hdr h1 span{color:rgba(255,255,255,.55)}
.hdr-right{display:flex;align-items:center;gap:12px}
#city-pill{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.2);padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}
#city-pill:hover{background:rgba(255,255,255,.2)}
.dark-toggle{background:none;border:1px solid rgba(255,255,255,.2);color:#fff;padding:4px 10px;border-radius:8px;cursor:pointer;font-size:14px}
.hdr-signin{display:none;background:none;border:1px solid rgba(255,255,255,.3);color:#fff;font-size:13px;font-weight:600;padding:6px 14px;border-radius:20px;cursor:pointer;white-space:nowrap;transition:all .15s}
.hdr-signin:hover{background:rgba(255,255,255,.15)}
.mobile-toggle{display:none;background:none;border:none;color:#fff;font-size:24px;cursor:pointer;padding:4px}

/* Nav */
.nav-wrap{background:#fff;border-bottom:1px solid var(--g200);position:fixed;top:66px;left:0;right:0;z-index:99;will-change:transform}
.dark .nav-wrap{background:#161b22;border-color:#30363d}
.nav-inner{max-width:1200px;margin:0 auto;display:flex;gap:0;overflow-x:auto;-webkit-overflow-scrolling:touch}
.nav-inner button{padding:12px 20px;font-size:13px;font-weight:600;border:none;background:none;cursor:pointer;white-space:nowrap;color:var(--g500);border-bottom:2px solid transparent;transition:background .15s,color .15s,border-color .15s}
.nav-inner button:hover{color:var(--nv)}
.nav-inner button.act{color:#C8102E;border-bottom-color:#C8102E}

/* Pages */
.page{display:none;max-width:1200px;margin:0 auto;padding:24px 20px}
.page.active{display:block}
.page-fade{animation:fu .4s ease-out both}
@keyframes fu{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes ntf-pulse{0%,100%{opacity:1}50%{opacity:.6}}

/* Cards & Sections */
.sc{background:#fff;border:1.5px solid var(--g200);border-radius:var(--r);padding:20px;margin-bottom:16px;transition:border-color .15s,box-shadow .15s}

/* Buttons */
.btn{padding:10px 20px;border-radius:var(--rs);font-weight:600;font-size:14px;cursor:pointer;border:1.5px solid transparent;transition:background .15s,color .15s,border-color .15s,box-shadow .15s;display:inline-flex;align-items:center;justify-content:center;gap:6px;text-decoration:none}
.bp{background:#C8102E;color:#fff;border-color:#C8102E}.bp:hover{background:#a50e24}
.bs{background:#fff;color:var(--nv);border-color:var(--g200)}.bs:hover{border-color:var(--g300);background:var(--g50)}
.bd{background:#fff;color:#dc2626;border-color:#fca5a5}.bd:hover{background:#fee2e2}
.bsm{padding:6px 14px;font-size:13px}
.bf{width:100%}
.dark .bs{background:#161b22;color:#e2e8f0;border-color:#30363d}

/* Forms */
.fg{margin-bottom:14px;flex:1}
.fr{display:flex;gap:12px;flex-wrap:wrap}
.fr>.fg{min-width:0}
.fl{display:block;font-size:12px;font-weight:600;color:var(--g500);margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}
.fi2{width:100%;padding:10px 14px;border:1.5px solid var(--g200);border-radius:var(--rs);font-size:14px;font-family:inherit;background:#fff;color:var(--nv);transition:border-color .15s}
.fi2:focus{outline:none;border-color:#C8102E;box-shadow:0 0 0 3px rgba(200,16,46,.1)}
.fe{color:#dc2626;font-size:12px;margin-top:4px}
.fh{color:var(--g400);font-size:12px;margin-top:4px}
.rq{color:#dc2626;margin-left:2px}

/* Checkboxes */
.cbr{display:flex;align-items:center;gap:10px;cursor:pointer;padding:4px 0}
.cbb{width:20px;height:20px;border:2px solid var(--g300);border-radius:5px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s}
.cbb.ck{background:#C8102E;border-color:#C8102E}
.cbl{font-size:14px;color:var(--nv)}

/* Modal */
.mo2{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:200;display:flex;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(4px);animation:mfin .2s ease-out}
@keyframes mfin{from{opacity:0}to{opacity:1}}
.mdl{background:#fff;border-radius:16px;width:100%;max-width:520px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.2);animation:msin .25s ease-out}
.dark .mdl{background:#161b22;border:1px solid #30363d}
@keyframes msin{from{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}
.mh{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--g200)}
.mh h3{font-size:18px;font-weight:700}
.mb2{padding:20px 24px}
.mf{padding:16px 24px;border-top:1px solid var(--g200);display:flex;justify-content:flex-end;gap:10px}
.bi{background:none;border:none;font-size:20px;cursor:pointer;color:var(--g400);padding:4px;line-height:1}

/* Toast */
.tst{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#C8102E;color:#fff;padding:12px 24px;border-radius:12px;font-size:14px;font-weight:600;z-index:300;display:none;align-items:center;gap:8px;box-shadow:0 8px 30px rgba(0,0,0,.2);animation:tsin .3s ease-out}
.terr{background:#dc2626}
@keyframes tsin{from{transform:translateX(-50%) translateY(20px);opacity:0}to{transform:translateX(-50%) translateY(0);opacity:1}}

/* Cart Bar */
#cart-bar{position:fixed;bottom:0;left:0;right:0;background:#C8102E;color:#fff;padding:12px 24px;display:none;z-index:150;box-shadow:0 -4px 20px rgba(0,0,0,.15);animation:cbin .3s ease-out}
@keyframes cbin{from{transform:translateY(100%)}to{transform:translateY(0)}}
#cart-bar.show{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto}
#cart-btn{background:#C8102E;color:#fff;border:none;padding:10px 24px;border-radius:var(--rs);font-weight:700;font-size:14px;cursor:pointer;transition:background .15s}
#cart-btn:hover{background:#a50e24}

/* Summary Items (checkout) */
.si{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--g100)}
.sig{font-weight:600;font-size:14px}
.sid{font-size:12px;color:var(--g400);margin-top:2px}
.sip{font-weight:700;font-size:15px}
.rb{background:none;border:none;font-size:20px;cursor:pointer;color:var(--g400);padding:4px 8px;line-height:1}
.sr{display:flex;justify-content:space-between;padding:6px 0;font-size:14px;color:var(--g600)}
.sr.tot{font-size:18px;font-weight:700;color:var(--nv);padding-top:12px;margin-top:4px;border-top:2px solid var(--g200)}

/* Confirmation */
.cp{text-align:center;animation:fu .5s ease-out both}
.ci{width:80px;height:80px;background:var(--gnl);color:var(--gn);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-size:36px}
.cd{background:var(--of);border-radius:var(--r);padding:20px;text-align:left;margin-bottom:24px;border:1.5px solid var(--g200)}
.cdr{display:flex;justify-content:space-between;padding:8px 0;font-size:14px}
.cdl{color:var(--g500)}
.cdv{font-weight:600;text-align:right}
.cdd{border:none;border-top:1px solid var(--g200);margin:4px 0}

/* Plate Chips */
.plate-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:2px solid var(--g200);border-radius:8px;font-size:14px;font-weight:600;letter-spacing:1px;cursor:pointer;transition:all .15s;background:#fff}
.plate-chip:hover{border-color:var(--g300)}
.plate-chip.active{border-color:#C8102E;background:#fff5f5;box-shadow:0 0 0 3px rgba(200,16,46,.1)}
.plate-chip .prov{background:var(--g100);color:var(--g500);font-size:11px;padding:1px 6px;border-radius:4px;font-weight:700}
.plate-chip .rm{color:var(--g400);cursor:pointer;font-size:16px;margin-left:4px}

/* Payment Chips */
.pay-chip{display:flex;align-items:center;gap:12px;padding:12px 16px;border:2px solid var(--g200);border-radius:8px;cursor:pointer;transition:all .15s;background:#fff}
.pay-chip:hover{border-color:var(--g300)}
.pay-chip.active{border-color:#C8102E;background:#fff5f5;box-shadow:0 0 0 3px rgba(200,16,46,.1)}
.pay-icon{width:36px;height:24px;border-radius:4px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:10px;font-weight:800;flex-shrink:0}
.pay-info{flex:1;min-width:0}
.pay-label{font-weight:600;font-size:14px}
.pay-exp{font-size:12px;color:var(--g400)}
.pay-rm{color:var(--g400);font-size:20px;cursor:pointer;padding:0 4px}

/* Saved Banner */
.saved-banner{background:var(--gnl);color:var(--gn);padding:8px 16px;border-radius:var(--rs);font-size:13px;font-weight:600;margin-bottom:16px;display:flex;align-items:center;gap:6px}

/* Badges */
.bdg{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}
.bg{background:var(--gnl);color:var(--gn)}
.bbl{background:#dbeafe;color:#1e40af}
.ba{background:#fef3c7;color:#92400e}
.bgy{background:var(--g100);color:var(--g500)}
.brr{background:var(--rdl);color:#dc2626}
.bnv{background:rgba(26,26,46,0.1);color:var(--nv)}

/* Hub - see homepage section */

/* Game Cards */
.gc{background:#fff;border:1.5px solid var(--g200);border-radius:var(--r);padding:16px 20px;margin-bottom:10px;transition:border-color .15s,box-shadow .15s;cursor:pointer;position:relative}
.gc:hover{border-color:#C8102E;box-shadow:0 4px 16px rgba(200,16,46,.08)}
.dark .gc{background:#161b22;border-color:#30363d}
.dark .gc:hover{border-color:#C8102E}
.tenant-section-hdr{margin:20px 0 8px;padding:0 4px;display:flex;align-items:center;gap:10px}

/* Account */
.acct-card{background:var(--of);border-radius:var(--rs);padding:16px;margin-bottom:16px}
.acct-field{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--g100)}
.acct-field:last-child{border-bottom:none}
.acct-field .lbl{color:var(--g500);font-size:13px}
.acct-field .val{font-weight:600;font-size:14px}

/* Auth tabs */
.auth-tab{flex:1;padding:12px;text-align:center;font-weight:600;font-size:14px;cursor:pointer;border:none;background:var(--g50);color:var(--g400);border-bottom:2px solid transparent;transition:background .15s,color .15s,border-color .15s}
.auth-tab.act{color:#C8102E;border-bottom-color:#C8102E;background:#fff}

/* My Account tabs */
.ma-tab{display:flex;align-items:center;gap:8px;padding:10px 16px;font-size:13px;font-weight:600;border:none;background:none;cursor:pointer;color:var(--g500);border-bottom:2px solid transparent;white-space:nowrap;transition:all .15s}

/* Parking countdown timer */
.pk-cd{margin-top:10px;padding:10px 14px;border-radius:8px;display:flex;align-items:center;gap:10px;font-size:13px}
.pk-cd.cd-soon{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1.5px solid #93c5fd;color:#1e40af}
.pk-cd.cd-far{background:var(--g50);border:1px solid var(--g200);color:var(--g500)}
.pk-cd.cd-live{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:1.5px solid #6ee7b7;color:#065f46}
.pk-cd.cd-end{background:var(--g50);border:1px dashed var(--g200);color:var(--g400)}
.pk-cd .cd-icon{flex-shrink:0;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.pk-cd.cd-soon .cd-icon{background:#3b82f6;color:#fff}
.pk-cd.cd-far .cd-icon{background:var(--g300);color:#fff}
.pk-cd.cd-live .cd-icon{background:#059669;color:#fff;animation:ntf-pulse 2s infinite}
.pk-cd.cd-end .cd-icon{background:var(--g300);color:#fff}
.pk-cd .cd-digits{display:flex;gap:6px;align-items:baseline}
.pk-cd .cd-unit{display:flex;flex-direction:column;align-items:center;min-width:34px}
.pk-cd .cd-num{font-family:var(--fd);font-size:20px;font-weight:800;line-height:1;letter-spacing:-.5px}
.pk-cd .cd-lbl{font-size:9px;text-transform:uppercase;font-weight:600;opacity:.7;letter-spacing:.5px}
.pk-cd .cd-sep{font-size:18px;font-weight:300;opacity:.4;align-self:flex-start;margin-top:1px}
.pk-cd .cd-msg{font-size:12px;font-weight:600;line-height:1.3}
.ma-tab:hover{color:var(--nv)}
.ma-tab.act{color:#C8102E;border-bottom-color:#C8102E}
.ma-tab svg{width:16px;height:16px}

/* Back to top */
#back-to-top{position:fixed;bottom:24px;right:24px;width:44px;height:44px;border-radius:50%;background:#C8102E;color:#fff;border:none;font-size:18px;cursor:pointer;opacity:0;transform:translateY(20px);transition:all .3s;z-index:140;box-shadow:0 4px 16px rgba(200,16,46,.3);display:flex;align-items:center;justify-content:center}
#back-to-top.show{opacity:1;transform:translateY(0)}

/* Admin tabs */
.admin-tab-btn{padding:8px 16px;font-size:12px;font-weight:600;border:none;background:none;cursor:pointer;color:var(--g400);border-bottom:2px solid transparent;white-space:nowrap;display:flex;align-items:center;gap:6px;transition:all .15s}
.admin-tab-btn:hover{color:var(--nv)}
.admin-tab-btn.act{color:#C8102E;border-bottom-color:#C8102E}

/* Processing */
.proc-wrap{text-align:center;padding:60px 20px}
.proc-spin{width:60px;height:60px;border:4px solid var(--g200);border-top-color:#C8102E;border-radius:50%;margin:0 auto 20px}
.page.active .proc-spin{animation:spin 1s linear infinite}
#api-saving[style*="flex"] .api-saving-spin{animation:spin .6s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* Responsive */
@media(max-width:768px){
.hdr{padding:12px 16px}
body{padding-top:55px}
.nav-wrap{top:55px;will-change:auto}
.hdr h1{font-size:18px}
.mobile-toggle{display:block}
.hdr-signin{display:block}
.nav-desktop-only{display:none!important}
.nav-inner{display:none;flex-direction:column;position:fixed;top:0;left:0;width:100%;height:100%;height:100dvh;background:#fff;z-index:200;padding:60px 20px 20px;gap:0;overflow-y:auto;-webkit-overflow-scrolling:touch}
.dark .nav-inner{background:#0d1117}
.nav-inner.nav-open{display:flex}
.nav-inner button{padding:16px 0;font-size:16px;border-bottom:1px solid var(--g100);text-align:left}
.page{padding:16px 12px}
.fr{flex-direction:column;gap:0}
.fr>.fg{min-width:100%}
.hub-tile{padding:16px 14px!important}
}
@media(min-width:769px){.mobile-toggle{display:none}.hdr-signin{display:none}.nav-mobile-only{display:none!important}}

/* Hub tiles - see homepage section */

/* Lot Picker */
.lot-card{border:2px solid var(--g200);border-radius:var(--r);padding:16px;cursor:pointer;transition:all .15s;background:#fff}
.lot-card:hover{border-color:#C8102E;box-shadow:0 4px 12px rgba(200,16,46,.08)}
.lot-card.selected{border-color:#C8102E;background:#fff5f5}

/* Game Cards — date block */
.gdb{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:56px;padding:8px 6px;background:var(--g50);border-radius:var(--rs);text-align:center;flex-shrink:0}
.dark .gdb{background:#0d1117}
.gdb .mo{font-size:11px;font-weight:700;color:#C8102E;text-transform:uppercase;letter-spacing:.5px}
.gdb .dy{font-size:24px;font-weight:800;color:var(--nv);line-height:1.1}
.gdb .dw{font-size:10px;color:var(--g400);font-weight:600;text-transform:uppercase}

/* Game Cards — info */
.gi{flex:1;min-width:0;padding:0 14px}
.gi h3{font-size:15px;font-weight:700;color:var(--nv);margin:0 0 4px;display:flex;align-items:center;flex-wrap:wrap;gap:4px}
.gm{display:flex;gap:12px;font-size:12px;color:var(--g500)}
.gm span{white-space:nowrap}

/* Game Cards — right side (price + availability) */
.gr{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;flex-shrink:0;text-align:right;min-width:70px}
.gp{font-size:18px;font-weight:800;color:var(--nv);line-height:1.2}
.ga{display:inline-block;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:700;margin-top:4px;white-space:nowrap}
.gsc{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:18px;color:var(--g300);opacity:0;transition:opacity .15s}
.gc:hover .gsc{opacity:1}

/* Game card layout */
.gc{display:flex;align-items:center;gap:0}
.gc.sel{border-color:#C8102E;background:linear-gradient(135deg,#fff5f5,#fff);box-shadow:0 0 0 3px rgba(200,16,46,.1)}
.gc.so{opacity:.7;cursor:pointer;border-style:dashed}
.gc.so:hover{border-color:#dc262640;box-shadow:none}
.gc.so .gdb{opacity:.5}

/* Admin Nav Items */
.admin-grp{display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-size:11px;font-weight:700;color:var(--g400);text-transform:uppercase;letter-spacing:.05em;padding:16px 16px 4px;border-radius:6px;transition:background .1s}
.admin-grp:hover{background:rgba(0,0,0,.03)}
.admin-grp-chev{width:14px;height:14px;color:var(--g400);transition:transform .2s;flex-shrink:0}
.admin-grp-chev.open{transform:rotate(180deg)}
.ani{display:flex;align-items:center;gap:10px;padding:8px 14px;margin:0 8px 1px;cursor:pointer;border-radius:6px;font-size:13px;font-weight:500;color:var(--g500);border-left:3px solid transparent;transition:all .15s}
.ani svg{color:var(--g400);transition:color .15s}
.ani:hover{background:rgba(0,0,0,.03);color:var(--nv)}
.ani:hover svg{color:var(--g500)}
.ani.act{background:#fff;color:var(--nv);font-weight:600;box-shadow:0 1px 3px rgba(0,0,0,.06);border-left-color:var(--pr);border-top-left-radius:0;border-bottom-left-radius:0}
.ani.act svg{color:var(--pr)}

/* Search boxes */
.sbx{display:flex;align-items:center;gap:10px;background:var(--of);border:1.5px solid var(--g200);border-radius:var(--rs);padding:0 14px;transition:border-color .15s}
.sbx:focus-within{border-color:#C8102E;box-shadow:0 0 0 3px rgba(200,16,46,.1)}
.sbx span{font-size:16px;color:var(--g400)}
.sbx input{flex:1;border:none;outline:none;padding:10px 0;font-size:14px;background:transparent;color:var(--nv);font-family:inherit}

/* Admin canvas */
#admin-content{background:var(--of)}

/* Data tables */
.dt-wrap{overflow-x:auto;border:1px solid var(--g200);border-radius:var(--r);background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.dt{width:100%;border-collapse:collapse;font-size:13px}
.dt th{text-align:left;padding:8px 12px;background:var(--g50);font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--g500);border-bottom:2px solid var(--g200);white-space:nowrap}
.dt td{padding:8px 12px;border-bottom:1px solid var(--g100);color:var(--nv);vertical-align:middle}
.dt tbody tr:hover{background:var(--g50)}
.dt tbody tr:last-child td{border-bottom:none}
.dark #admin-content{background:#010409}
.dark .dt-wrap{background:#0d1117}
.dark .dt th{background:#0d1117;border-color:#30363d}
.dark .dt td{border-color:#161b22}
.dark .dt tbody tr:hover{background:#0d1117}

/* Stat cards (dashboard) */
.stg{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.stc{background:#fff;border:1.5px solid var(--g200);border-radius:var(--r);padding:16px;text-align:center;transition:all .15s}
.dark .stc{background:#161b22;border-color:#30363d}
.stc:hover{border-color:var(--g300)}
.stl{font-size:12px;font-weight:600;color:var(--g400);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}
.stv{font-size:28px;font-weight:800;color:var(--nv);line-height:1.2}
.sts{font-size:12px;color:var(--g500);margin-top:4px}

/* Season pass game rows */
.sp-game-row{transition:all .15s}
.sp-game-row:hover{background:var(--g50)!important}

/* Error state on inputs */
.fi2.err{border-color:#dc2626;box-shadow:0 0 0 3px rgba(220,38,38,.1)}

/* Dupe plate warning */
#dupe-plate-warn{background:#fef3c7;border:1.5px solid #f59e0b;border-radius:var(--rs);padding:10px 14px;margin-top:8px;font-size:13px;color:#92400e}

/* Settings left-nav layout */
.sett-layout{display:flex;gap:20px;min-height:400px}
.sett-nav{width:220px;flex-shrink:0;align-self:flex-start;position:sticky;top:20px;padding-bottom:8px}
.sett-nav-dd{display:none!important}
.sett-nav-group{font-size:11px;font-weight:700;color:var(--g400);text-transform:uppercase;letter-spacing:.05em;padding:20px 12px 6px 16px}
.sett-nav-group:first-child{padding-top:8px}
.sett-nav-item{display:flex;align-items:center;gap:10px;padding:8px 12px;margin:0 8px 2px;font-size:13px;font-weight:500;color:var(--g500);cursor:pointer;border-left:3px solid transparent;border-radius:6px;transition:all .15s}
.sett-nav-item svg{color:var(--g400);transition:color .15s}
.sett-nav-item:hover{background:rgba(0,0,0,.03);color:var(--nv)}
.sett-nav-item:hover svg{color:var(--g500)}
.sett-nav-item.active{background:#fff;color:var(--nv);font-weight:600;box-shadow:0 1px 3px rgba(0,0,0,.06);border-left-color:var(--pr);border-top-left-radius:0;border-bottom-left-radius:0}
.sett-nav-item.active svg{color:var(--pr)}
.sett-content{flex:1;min-width:0}
.dark .sett-nav-item:hover{background:rgba(255,255,255,.04)}
.dark .sett-nav-item.active{background:#161b22;box-shadow:0 1px 3px rgba(0,0,0,.3)}
.sett-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--g100);flex-wrap:wrap;gap:8px}
.dark .sett-row{border-color:#30363d}
.sett-row:last-child{border-bottom:none}
.sett-desc{font-size:12px;color:var(--g400);margin-top:2px}

/* Mobile nav close button */
.nav-close-btn{position:absolute;top:16px;right:16px;background:none;border:none;cursor:pointer;padding:8px;z-index:10000;font-size:24px;color:var(--nv)}

/* Admin sidebar dark mode */
.dark #admin-tabs{background:#161b22;border-color:#30363d}
.dark .admin-grp:hover{background:rgba(255,255,255,.04)}
.dark .ani:hover{background:rgba(255,255,255,.04)}
.dark .ani.act{background:#161b22;box-shadow:0 1px 3px rgba(0,0,0,.3)}
.dark .hdr{background:#0d1117;box-shadow:0 1px 0 #30363d}

/* Admin panel responsive */
@media(max-width:768px){
#pg-admin>div{flex-direction:column}
#admin-tabs{width:100%!important;max-height:none!important;position:static!important;border-right:none!important;border-bottom:1px solid var(--g200)}
}

/* ═══ HOMEPAGE ═══ */

/* Hero */
.hero{position:relative;padding:80px 24px 72px;text-align:center;overflow:hidden;min-height:440px;display:flex;align-items:center;justify-content:center}
.hero-bg{position:absolute;inset:0;background:#555554}
.hero-bg::before{content:'';position:absolute;inset:0;background:
  radial-gradient(ellipse 80% 50% at 20% 80%,rgba(200,16,46,.04) 0%,transparent 70%),
  radial-gradient(ellipse 60% 40% at 80% 20%,rgba(200,16,46,.03) 0%,transparent 70%)}
.hero-bg::after{content:none}
.hero-overlay{position:absolute;inset:0;background:none}
.hero::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 0%,rgba(200,16,46,.1) 0%,transparent 60%);pointer-events:none}
.hero-inner{max-width:680px;margin:0 auto;position:relative;z-index:2}
.hero-city-banner{margin-bottom:20px}
.hero-city-banner:empty{display:none}
.hero-badge{display:inline-block;font-size:11px;font-weight:700;letter-spacing:2.5px;color:#fff;background:#C8102E;border:none;padding:8px 20px;border-radius:40px;margin-bottom:20px;text-transform:uppercase}
.hero-h{font-family:var(--fd);font-size:44px;font-weight:800;color:#fff;line-height:1.12;letter-spacing:-.8px;margin-bottom:16px}
.hero-sub{font-size:17px;color:rgba(255,255,255,.8);margin-bottom:36px;line-height:1.6;max-width:500px;margin-left:auto;margin-right:auto}
.hero-search-wrap{position:relative;max-width:580px;margin:0 auto}
.hero-search{display:flex;align-items:center;background:#fff;border-radius:16px;padding:6px 6px 6px 20px;box-shadow:0 8px 40px rgba(0,0,0,.25),0 0 0 1px rgba(255,255,255,.1);transition:box-shadow .25s}
.hero-search:focus-within{box-shadow:0 8px 40px rgba(0,0,0,.25),0 0 0 3px rgba(200,16,46,.5)}
.hero-search-icon{width:20px;height:20px;color:#999;flex-shrink:0}
.hero-search-input{flex:1;border:none;outline:none;padding:14px 12px;font-size:15px;font-family:inherit;background:transparent;color:#111;min-width:0}
.hero-search-input::placeholder{color:#999}
.hero-search-btn{background:#C8102E;color:#fff;border:none;padding:14px 32px;border-radius:12px;font-size:14px;font-weight:700;cursor:pointer;white-space:nowrap;transition:background .2s,transform .2s,box-shadow .2s;flex-shrink:0;letter-spacing:.3px}
.hero-search-btn:hover{background:#a50e24;transform:translateY(-1px);box-shadow:0 4px 16px rgba(200,16,46,.35)}
.hero-search-dd{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border:1.5px solid var(--g200);border-radius:14px;margin-top:8px;box-shadow:0 8px 30px rgba(0,0,0,.1);z-index:50;max-height:320px;overflow-y:auto}
.hero-stats{display:flex;justify-content:center;align-items:center;gap:0;margin-top:36px}
.hero-stat{display:flex;flex-direction:column;align-items:center;padding:0 28px}
.hero-stat-num{font-family:var(--fd);font-size:28px;font-weight:800;color:#fff}
.hero-stat-lbl{font-size:12px;color:rgba(255,255,255,.6);font-weight:600;letter-spacing:.5px;text-transform:uppercase;margin-top:2px}
.hero-stat-div{width:1px;height:32px;background:rgba(255,255,255,.25)}
.dark .hero-search{background:#161b22;box-shadow:0 8px 24px rgba(0,0,0,.5)}
.dark .hero-search-input{color:#e2e8f0}
.dark .hero-search-dd{background:#161b22;border-color:#30363d}
.dark .hero{background:#0d1117}
.dark .hero-bg{background:#0d1117}
.dark .hero-bg::before,.dark .hero-bg::after{opacity:.3}
.dark .hero-overlay{background:none}
.dark .hero-badge{color:#C8102E;background:rgba(200,16,46,.15);border-color:rgba(200,16,46,.3)}
.dark .hero-h{color:#e6edf3}
.dark .hero-sub{color:#8b949e}
.dark .hero-search-icon{color:#8b949e}
.dark .hero-search-input::placeholder{color:#484f58}
.dark .hero-stat-num{color:#e6edf3}
.dark .hero-stat-lbl{color:#8b949e}
.dark .hero-stat-div{background:#30363d}
@media(max-width:600px){
.hero{padding:52px 16px 44px;min-height:auto}
.hero-h{font-size:28px;letter-spacing:-.3px}
.hero-h br{display:none}
.hero-sub{font-size:14px;margin-bottom:28px}
.hero-badge{font-size:10px;padding:5px 14px}
.hero-search{flex-direction:column;padding:12px;gap:8px;border-radius:14px}
.hero-search-icon{display:none}
.hero-search-input{padding:8px 4px;width:100%;text-align:center}
.hero-search-btn{width:100%;padding:14px;border-radius:10px}
.hero-stats{gap:0}
.hero-stat{padding:0 16px}
.hero-stat-num{font-size:22px}
.hero-stat-lbl{font-size:10px}
}

/* Trust Row */
.trust-row{background:#4a4a49;border-bottom:none;padding:18px 24px}
.dark .trust-row{background:#161b22;border-bottom:1px solid #30363d}
.dark .trust-item{color:#c9d1d9}
.dark .trust-item svg{color:#C8102E;opacity:.8}
.trust-inner{max-width:800px;margin:0 auto;display:flex;justify-content:center;gap:36px;flex-wrap:wrap}
.trust-item{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:rgba(255,255,255,.85)}
.trust-item svg{width:18px;height:18px;color:#fff;opacity:.5;flex-shrink:0}
@media(max-width:600px){
.trust-inner{gap:14px 24px}
.trust-item{font-size:12px}
.trust-item svg{width:16px;height:16px}
}

/* Hub Sections */
.hub-section{padding:48px 24px;contain:layout style paint}
.hub-alt{background:var(--g50)}
.dark .hub-alt{background:#0d1117}
.dark .hub-section-title{color:#e6edf3}
.dark .hub-section-desc{color:#8b949e}
.dark .hub-section-label{color:#C8102E}
.hub-section-inner{max-width:1040px;margin:0 auto}
.hub-section-hdr{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:28px;flex-wrap:wrap}
.hub-section-label{font-size:11px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:#C8102E;margin-bottom:10px}
.hub-section-title{font-family:var(--fd);font-size:24px;font-weight:800;color:var(--nv);margin:0;letter-spacing:-.3px}
.hub-section-desc{font-size:14px;color:var(--g400);margin:4px 0 0;line-height:1.5}

/* Quick Action Tiles */
.hub-tiles-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
@media(max-width:900px){.hub-tiles-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:500px){.hub-tiles-grid{grid-template-columns:repeat(2,1fr);gap:10px}}
.hub-tile{cursor:pointer;background:#fff;border:1.5px solid var(--g200);border-radius:16px;padding:28px 14px 24px;text-align:center;transition:border-color .25s,box-shadow .25s;position:relative;overflow:hidden}
.hub-tile:hover{border-color:#C8102E;transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,.08)}
.dark .hub-tile{background:#161b22;border-color:#30363d}
.dark .hub-tile:hover{border-color:#C8102E}
.dark .hub-tile-label{color:#e6edf3}
.dark .hub-tile-desc{color:#8b949e}
.dark .hub-soon{background:#30363d;color:#8b949e}
.hub-tile-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;margin:0 auto 14px}
.hub-tile-icon svg{width:24px;height:24px}
.hub-tile-label{font-weight:700;font-size:14px;color:var(--nv);margin-bottom:4px}
.hub-tile-desc{font-size:11px;color:var(--g400);line-height:1.4}
.hub-soon{position:absolute;top:10px;right:10px;background:var(--g100);color:var(--g400);font-size:9px;font-weight:700;padding:3px 8px;border-radius:5px;text-transform:uppercase;letter-spacing:.5px}

/* Popular Venues Grid */
.hub-venues-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
@media(max-width:600px){.hub-venues-grid{grid-template-columns:1fr}}
.venue-card{background:#fff;border:1.5px solid var(--g200);border-radius:16px;padding:22px;transition:border-color .25s,box-shadow .25s;cursor:pointer;display:flex;flex-direction:column;gap:14px}
.venue-card:hover{border-color:#C8102E;box-shadow:0 8px 28px rgba(0,0,0,.07);transform:translateY(-3px)}
.dark .venue-card{background:#161b22;border-color:#30363d}
.dark .venue-card:hover{border-color:#C8102E}
.dark .venue-card-icon{background:#C8102E}
.dark .venue-card-name{color:#e6edf3}
.dark .venue-card-sub{color:#8b949e}
.dark .venue-card-meta{color:#8b949e}
.dark .venue-card-cta{color:#C8102E}
.venue-card-top{display:flex;align-items:center;gap:14px}
.venue-card-icon{width:52px;height:52px;border-radius:14px;background:#C8102E;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.venue-card-icon svg{width:22px;height:22px}
.venue-card-info{flex:1;min-width:0}
.venue-card-name{font-weight:700;font-size:16px;color:var(--nv);margin:0}
.venue-card-sub{font-size:12px;color:var(--g400);margin-top:3px}
.venue-card-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:14px;border-top:1px solid var(--g100)}
.dark .venue-card-bottom{border-color:#30363d}
.venue-card-meta{font-size:12px;color:var(--g500);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.venue-card-cta{font-size:13px;color:#C8102E;font-weight:700;white-space:nowrap;flex-shrink:0;margin-left:12px}

/* Venue Filter Pills */
.hub-filter-pills{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:0 0 12px;margin-bottom:4px}
.hub-filter-pills::-webkit-scrollbar{display:none}
.hub-filter-pill{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:20px;border:1.5px solid var(--g200);background:#fff;font-size:13px;font-weight:600;color:var(--g600);cursor:pointer;white-space:nowrap;transition:background .2s,border-color .2s,color .2s;flex-shrink:0}
.hub-filter-pill:hover{border-color:var(--g400);background:var(--g50)}
.hub-filter-pill.active{background:#C8102E;border-color:#C8102E;color:#fff}
.hub-filter-pill .pill-count{font-size:11px;font-weight:700;opacity:.7}
.dark .hub-filter-pill{background:#161b22;border-color:#30363d;color:#8b949e}
.dark .hub-filter-pill:hover{border-color:#484f58;background:#1c2128}
.dark .hub-filter-pill.active{background:#C8102E;border-color:#C8102E;color:#fff}

/* Upcoming Events List */
.hub-events-list{display:grid;gap:10px}
.hub-event-link{text-decoration:none;color:inherit;display:block}
.hub-event-card{background:#fff;border:1.5px solid var(--g200);border-radius:14px;padding:16px 20px;display:flex;align-items:center;gap:16px;transition:border-color .2s,box-shadow .2s;cursor:pointer}
.hub-event-card:hover{border-color:#C8102E;box-shadow:0 6px 24px rgba(200,16,46,.06);transform:translateY(-1px)}
.dark .hub-event-card{background:#161b22;border-color:#30363d}
.hub-event-date{display:flex;flex-direction:column;align-items:center;min-width:56px;padding:10px 6px;background:var(--g50);border-radius:12px;text-align:center;flex-shrink:0}
.dark .hub-event-date{background:#0d1117}
.dark .hub-event-date .mo{color:#C8102E}
.dark .hub-event-date .dy{color:#e6edf3}
.dark .hub-event-date .dw{color:#8b949e}
.dark .hub-event-info h4{color:#e6edf3}
.dark .hub-event-info p{color:#8b949e}
.dark .hub-event-price{color:#e6edf3}
.hub-event-date .mo{font-size:10px;font-weight:700;color:#C8102E;text-transform:uppercase;letter-spacing:.5px}
.hub-event-date .dy{font-size:24px;font-weight:800;color:var(--nv);line-height:1.1}
.hub-event-date .dw{font-size:9px;color:var(--g400);font-weight:600;text-transform:uppercase}
.hub-event-info{flex:1;min-width:0}
.hub-event-info h4{font-size:15px;font-weight:700;color:var(--nv);margin:0 0 3px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.hub-event-info p{font-size:12px;color:var(--g500);margin:0}
.hub-event-right{text-align:right;flex-shrink:0}
.hub-event-price{font-size:17px;font-weight:800;color:var(--nv)}
.hub-event-avail{font-size:10px;font-weight:700;padding:3px 10px;border-radius:6px;margin-top:4px;display:inline-block}

/* How It Works - Split */
.hub-how-section{background:#f5f5f5!important;contain:layout style paint}
.dark .hub-how-section{background:#161b22!important}
.dark .hub-step-v h4{color:#e6edf3}
.dark .hub-step-v p{color:#8b949e}
.dark .hub-how-img{background:#0d1117;box-shadow:0 24px 64px rgba(0,0,0,.4);border-color:#30363d}
.hub-how-img-light{display:block}
.hub-how-img-dark{display:none}
.dark .hub-how-img-light{display:none}
.dark .hub-how-img-dark{display:block}
.hub-how-split{display:flex;gap:56px;align-items:center}
.hub-how-left{flex:1}
.hub-how-right{flex:1;max-width:420px}
.hub-how-img{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 4px 16px rgba(0,0,0,.08);border:1px solid #e5e7eb}
.hub-steps-v{display:grid;gap:24px}
.hub-step-v{display:flex;gap:16px;align-items:flex-start}
.hub-step-num{width:44px;height:44px;border-radius:50%;background:#C8102E;color:#fff;font-size:17px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.hub-step-v h4{font-size:16px;font-weight:700;color:var(--nv);margin:0 0 4px}
.hub-step-v p{font-size:13px;color:var(--g500);line-height:1.5;margin:0}
@media(max-width:768px){
.hub-how-split{flex-direction:column;gap:32px}
.hub-how-right{max-width:100%;order:-1}
}

/* B2B Section */
.hub-b2b{position:relative;padding:72px 24px;overflow:hidden;contain:layout style paint}
.hub-b2b-bg{position:absolute;inset:0;background:#555554}
.hub-b2b-bg::before{content:none}
.hub-b2b-title{font-family:var(--fd);font-size:34px;font-weight:800;color:#fff;margin:0 0 12px;line-height:1.15;letter-spacing:-.5px;max-width:600px}
.hub-b2b-sub{font-size:16px;color:rgba(255,255,255,.75);line-height:1.6;margin:0 0 40px;max-width:560px}
.hub-b2b-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:800px){.hub-b2b-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:500px){.hub-b2b-grid{grid-template-columns:1fr}}
.hub-b2b-card{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.15);border-radius:16px;padding:28px 22px;transition:background .25s,border-color .25s,transform .25s}
.hub-b2b-card:hover{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.3);transform:translateY(-3px)}
.hub-b2b-icon{width:44px;height:44px;border-radius:12px;background:rgba(200,16,46,.15);display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.hub-b2b-icon svg{width:22px;height:22px;color:#C8102E}
.hub-b2b-card h4{font-size:15px;font-weight:700;color:#fff;margin:0 0 8px}
.hub-b2b-card p{font-size:13px;color:rgba(255,255,255,.65);line-height:1.5;margin:0}
.hub-b2b-cta{display:inline-block;background:#C8102E;color:#fff!important;border:none;padding:16px 40px;border-radius:14px;font-size:16px;font-weight:700;cursor:pointer;transition:background .2s,transform .2s,box-shadow .2s;text-decoration:none;letter-spacing:.3px}
.hub-b2b-cta:hover{background:#a50e24;transform:translateY(-2px);box-shadow:0 8px 32px rgba(200,16,46,.3)}

/* Help Section */
.hub-help{display:flex;gap:40px;align-items:flex-start}
.hub-help-main{flex:1}
.hub-help-main h3{font-family:var(--fd);font-size:24px;font-weight:800;color:var(--nv);margin:0 0 8px}
.hub-help-main p{font-size:14px;color:var(--g500);line-height:1.6;margin:0}
.hub-help-links{display:grid;grid-template-columns:1fr 1fr;gap:10px;flex-shrink:0;min-width:300px}
.hub-help-link{display:flex;align-items:center;gap:10px;padding:14px 18px;background:#fff;border:1.5px solid var(--g200);border-radius:12px;font-size:13px;font-weight:600;color:var(--nv);text-decoration:none;transition:border-color .2s,color .2s,transform .2s,box-shadow .2s}
.hub-help-link:hover{border-color:#C8102E;color:#C8102E;transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,0,0,.05)}
.dark .hub-b2b-bg{background:#0d1117}
.dark .hub-b2b-bg::before{opacity:.5}
.dark .hub-b2b-card{background:rgba(255,255,255,.04);border-color:#30363d}
.dark .hub-b2b-card:hover{background:rgba(255,255,255,.07);border-color:#484f58}
.dark .hub-b2b-card p{color:#8b949e}
.dark .hub-b2b-title{color:#e6edf3}
.dark .hub-b2b-sub{color:#8b949e}
.dark .hub-b2b-card h4{color:#e6edf3}
.dark .hub-b2b-icon{background:rgba(200,16,46,.2)}
.dark .hub-help-link{background:#161b22;border-color:#30363d;color:#e2e8f0}
.dark .hub-help-link svg{color:#C8102E;opacity:1}
.dark .hub-help-link:hover{border-color:#C8102E;color:#C8102E}
.dark .hub-help-main h3{color:#e6edf3}
.dark .hub-help-main p{color:#8b949e}
.dark .site-footer{background:#0d1117;color:#8b949e;border-top:1px solid #30363d}
.dark .footer-brand p{color:#8b949e}
.dark .footer-social{background:rgba(255,255,255,.06);color:#8b949e}
.dark .footer-social:hover{background:rgba(255,255,255,.1);color:#e6edf3}
.dark .footer-col h4{color:#484f58}
.dark .footer-col a{color:#8b949e}
.dark .footer-col a:hover{color:#e6edf3}
.dark .footer-bottom{border-color:#30363d;color:#484f58}
.dark .footer-legal a{color:#484f58}
.dark .footer-legal a:hover{color:#8b949e}
.dark .footer-logo span{color:rgba(255,255,255,.55)}
.hub-help-link svg{width:18px;height:18px;flex-shrink:0;color:#C8102E;opacity:.7}
@media(max-width:700px){
.hub-help{flex-direction:column;gap:24px}
.hub-help-links{min-width:0;width:100%}
}

/* Footer */
.site-footer{background:#C8102E;color:rgba(255,255,255,.75);padding:56px 24px 28px;border-top:none;contain:layout style paint}
.footer-inner{max-width:1040px;margin:0 auto}
.footer-top{display:flex;gap:56px;margin-bottom:44px;flex-wrap:wrap}
.footer-brand{flex:1.5;min-width:200px}
.footer-logo{font-family:var(--fd);font-size:22px;font-weight:800;color:#fff;margin-bottom:10px;letter-spacing:-.5px}
.footer-logo span{color:rgba(255,255,255,.7)}
.footer-brand p{font-size:13px;line-height:1.6;color:rgba(255,255,255,.6);margin:0}
.footer-social{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:rgba(255,255,255,.15);color:rgba(255,255,255,.7);transition:background .2s,color .2s;text-decoration:none}
.footer-social:hover{background:rgba(255,255,255,.25);color:#fff}
.footer-social svg{width:16px;height:16px}
.footer-col{flex:1;min-width:120px}
.footer-col h4{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:rgba(255,255,255,.5);margin:0 0 14px}
.footer-col a{display:block;font-size:13px;color:rgba(255,255,255,.8);text-decoration:none;padding:5px 0;transition:color .15s}
.footer-col a:hover{color:#fff}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:28px;border-top:1px solid rgba(255,255,255,.2);font-size:12px;flex-wrap:wrap;gap:12px;color:rgba(255,255,255,.5)}
.footer-legal{display:flex;gap:24px}
.footer-legal a{color:rgba(255,255,255,.5);text-decoration:none;transition:color .15s}
.footer-legal a:hover{color:#fff}
@media(max-width:600px){
.footer-top{flex-direction:column;gap:28px}
.footer-bottom{flex-direction:column;align-items:flex-start;gap:8px}
.footer-legal{gap:16px}
}

.fp-page-wrap{display:flex;flex-direction:column;height:100%;overflow:hidden}
#pg-findparking.active{display:flex!important;flex-direction:column;height:calc(100vh - 112px)}
.fp-toolbar{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--g200);background:var(--bg);flex-wrap:wrap}
.fp-toolbar h2{font-family:var(--fd);font-size:16px;font-weight:800;color:var(--nv);margin:0;white-space:nowrap}
.fp-search-bar{display:flex;align-items:center;gap:8px;background:var(--of);border:1.5px solid var(--g200);border-radius:10px;padding:8px 14px;flex:1;max-width:360px;transition:border-color .15s}
.fp-search-bar:focus-within{border-color:#C8102E}
.fp-search-bar{position:relative}
.fp-suggest{position:absolute;top:100%;left:0;right:0;background:var(--bg);border:1.5px solid var(--g200);border-top:none;border-radius:0 0 10px 10px;max-height:260px;overflow-y:auto;z-index:100;box-shadow:0 8px 24px rgba(0,0,0,.1);display:none}
.fp-suggest.show{display:block}
.fp-suggest-item{padding:10px 14px;cursor:pointer;border-bottom:1px solid var(--g100);transition:background .1s;font-size:13px;color:var(--nv)}
.fp-suggest-item:last-child{border-bottom:none}
.fp-suggest-item:hover{background:var(--of)}
.fp-suggest-item small{display:block;font-size:11px;color:var(--g400);margin-top:1px}
.fp-search-bar svg{width:16px;height:16px;color:var(--g400);flex-shrink:0}
.fp-search-bar input{border:none;background:transparent;outline:none;font-size:13px;color:var(--nv);width:100%;font-family:var(--f)}
.fp-search-bar input::placeholder{color:var(--g400)}
.fp-tabs{display:flex;gap:0;border-bottom:2px solid var(--g200);margin:0}
.fp-tab{padding:10px 24px;font-size:14px;font-weight:700;color:var(--g400);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .15s;white-space:nowrap}
.fp-tab:hover{color:var(--nv)}
.fp-tab.act{color:#C8102E;border-bottom-color:#C8102E}
.fp-filters{display:flex;gap:6px;flex-wrap:wrap}
.fp-filter{padding:6px 14px;border-radius:8px;font-size:12px;font-weight:600;border:1.5px solid var(--g200);background:var(--bg);color:var(--g500);cursor:pointer;transition:all .15s}
.fp-filter:hover{border-color:var(--g300)}
.fp-filter.act{background:#C8102E;color:#fff;border-color:#C8102E}
.fp-back-btn{padding:6px 14px;border-radius:8px;font-size:12px;font-weight:600;border:1.5px solid var(--g200);background:var(--bg);color:var(--g500);cursor:pointer;transition:all .15s;white-space:nowrap}
.fp-back-btn:hover{background:var(--of)}
.fp-body{display:flex;flex:1;overflow:hidden;min-height:0}
.fp-lots-panel{width:380px;flex-shrink:0;overflow-y:auto;border-right:1px solid var(--g200);background:var(--bg);min-height:0}
.fp-lots-panel::-webkit-scrollbar{width:5px}
.fp-lots-panel::-webkit-scrollbar-thumb{background:var(--g300);border-radius:3px}
.fp-lots-panel::-webkit-scrollbar-track{background:transparent}
.fp-lots-grid{display:flex;flex-direction:column;gap:0}
.fp-lot-card{background:var(--bg);border-bottom:1px solid var(--g100);padding:14px 16px;transition:all .15s;cursor:pointer}
.fp-lot-card:hover{background:var(--of)}
.fp-lot-card.fp-active{background:rgba(200,16,46,.06);border-left:3px solid #C8102E;padding-left:13px}
.fp-lot-icon{width:36px;height:36px;border-radius:9px;background:#C8102E;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.fp-lot-icon svg{width:16px;height:16px;color:#fff}
.fp-lot-name{font-weight:700;font-size:14px;color:var(--nv)}
.fp-lot-addr{font-size:11px;color:var(--g400);margin-top:1px}
.fp-lot-tags{display:flex;gap:4px;flex-wrap:wrap}
.fp-lot-tag{font-size:10px;font-weight:600;padding:2px 7px;border-radius:5px;background:var(--of);color:var(--g500);text-transform:uppercase;letter-spacing:.3px}
.fp-lot-tag.event{background:rgba(200,16,46,.1);color:#C8102E}
.fp-lot-tag.daily{background:rgba(5,150,105,.1);color:#059669}
.fp-lot-tag.monthly{background:rgba(217,119,6,.1);color:#d97706}
.fp-lot-price{font-size:16px;font-weight:800;color:var(--nv);white-space:nowrap}
.fp-lot-price-sub{font-size:10px;color:var(--g400);font-weight:500;max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fp-lot-meta{display:flex;justify-content:space-between;align-items:center;margin-top:6px}
.fp-lot-cap{font-size:11px;color:var(--g400)}
.fp-lot-dir{font-size:11px;font-weight:600;color:#C8102E;text-decoration:none}
.fp-lot-dir:hover{text-decoration:underline}
.fp-map-area{flex:1;position:relative;min-width:0;min-height:400px}
.fp-locate-btn{position:absolute;bottom:24px;right:14px;z-index:500;width:44px;height:44px;border-radius:50%;background:#fff;border:1.5px solid var(--g200);box-shadow:0 2px 12px rgba(0,0,0,.15);display:flex;align-items:center;justify-content:center;cursor:pointer;color:#C8102E;transition:all .15s}
.fp-locate-btn:hover{background:#C8102E;color:#fff;border-color:#C8102E}
.fp-locate-btn:active{transform:scale(.92)}
#fp-map{width:100%;height:100%;position:absolute;top:0;left:0;right:0;bottom:0;min-height:400px;z-index:1}
.fp-map-area .gm-style{width:100%;height:100%;font-family:var(--f)}
.fp-map-area .gm-style-iw-c{border-radius:12px!important;box-shadow:0 4px 20px rgba(0,0,0,.15)!important}
.fp-map-area .gm-style-iw-d{padding:12px 14px;line-height:1.5;overflow:auto!important}
.fp-marker-hl{filter:brightness(1.2) drop-shadow(0 0 8px rgba(200,16,46,.6))!important;z-index:1000!important}
.fp-lot-count{font-size:12px;color:var(--g400);padding:10px 16px;border-bottom:1px solid var(--g100);background:var(--of);font-weight:600}
.fp-sort-wrap{display:flex;align-items:center}
.fp-empty{text-align:center;padding:48px 24px;color:var(--g400)}
.fp-empty p{margin:0 0 8px;font-size:15px}
/* Pulse animation for search location marker */
@keyframes fpPulse{0%,100%{transform:scale(1);opacity:.4}50%{transform:scale(1.8);opacity:0}}

/* Find Parking mobile — map dominant layout */
@media(max-width:768px){
.fp-body{flex-direction:column-reverse}
.fp-lots-panel{width:100%;max-height:38vh;border-right:none;border-top:2px solid var(--g200);-webkit-overflow-scrolling:touch}
.fp-toolbar{gap:6px;padding:8px 12px}
.fp-search-bar{max-width:none}
.fp-map-area{min-height:45vh}
#fp-map{min-height:45vh}
.fp-tab{padding:8px 14px;font-size:13px}
.fp-lot-card{padding:12px 14px}
.fp-lot-name{font-size:13px}
.fp-lot-price{font-size:15px}
.fp-lot-count{padding:6px 14px;font-size:11px}
.fp-sort-wrap select{font-size:11px;padding:4px 8px}
}
@media(max-width:480px){
.fp-toolbar h2{font-size:14px}
.fp-lots-panel{max-height:35vh}
.fp-map-area{min-height:50vh}
#fp-map{min-height:50vh}
.fp-tab{padding:7px 10px;font-size:12px}
}

/* ═══ ENHANCED MOBILE RESPONSIVE ═══ */

/* Checkout page mobile */
@media(max-width:768px){
#pg-checkout .sc{padding:14px}
.pay-chip{padding:10px 12px;gap:8px}
.pay-icon{width:28px;height:20px;font-size:8px}
.pay-label{font-size:13px}
.plate-chip{padding:6px 10px;font-size:13px}
.si{flex-direction:column;align-items:flex-start;gap:4px}
.si .sip{align-self:flex-end}
.sr{font-size:13px}
.sr.tot{font-size:16px}
}

/* Game cards mobile */
@media(max-width:600px){
.gc{padding:12px 14px;gap:0}
.gdb{min-width:48px;padding:6px 4px}
.gdb .dy{font-size:20px}
.gdb .mo{font-size:10px}
.gi{padding:0 10px}
.gi h3{font-size:14px}
.gm{flex-direction:column;gap:2px}
.gr{min-width:60px}
.gp{font-size:15px}
}

/* Modal mobile */
@media(max-width:600px){
.mo2{padding:10px;align-items:flex-end}
.mdl{max-height:85vh;border-radius:16px 16px 0 0;max-width:100%}
.mh{padding:16px 18px}
.mh h3{font-size:16px}
.mb2{padding:16px 18px}
.mf{padding:14px 18px;flex-direction:column}
.mf .btn{width:100%}
}

/* Confirmation page mobile */
@media(max-width:600px){
.cp h1{font-size:22px}
.ci{width:64px;height:64px;font-size:28px}
.cd{padding:14px}
.cdr{font-size:13px;flex-wrap:wrap;gap:4px}
}

/* My Account mobile */
@media(max-width:600px){
.ma-tab{padding:8px 12px;font-size:12px;gap:4px}
.ma-tab svg{width:14px;height:14px}
}

/* Account settings mobile */
@media(max-width:600px){
.acct-card{padding:12px}
.acct-field{flex-direction:column;gap:2px;padding:6px 0}
.acct-field .lbl{font-size:12px}
.acct-field .val{font-size:13px}
}

/* Better touch targets */
@media(max-width:768px){
.btn{min-height:44px;padding:12px 20px}
.bsm{min-height:40px}
input.fi2,select.fi2{min-height:44px;font-size:16px}
textarea.fi2{font-size:16px}
.dark-toggle{min-height:44px;min-width:44px;padding:10px;display:flex;align-items:center;justify-content:center}
#city-pill{display:none}
.fr>.fg{max-width:100%!important}
#admin-tabs{min-width:0!important}
input[type="date"].fi2{width:auto!important;min-width:0}
.hdr{padding:12px 16px}
.hdr-right{gap:6px;flex-shrink:1;min-width:0}
}

/* Hub section mobile */
@media(max-width:600px){
.hub-section{padding:32px 16px}
}

/* Cart bar mobile */
@media(max-width:600px){
#cart-bar{padding:10px 16px}
#cart-bar span{font-size:13px}
#cart-btn{padding:10px 18px;font-size:13px}
}

/* Back to top - move when cart bar visible */
body.cart-active #back-to-top{bottom:72px}

/* Loading skeleton animation */
@keyframes shimmer{0%{background-position:-200px 0}100%{background-position:200px 0}}
.skeleton{background:linear-gradient(90deg,var(--g100) 25%,var(--g50) 50%,var(--g100) 75%);background-size:400px 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:var(--rs);min-height:20px}
.skeleton-card{height:80px;border-radius:var(--r);margin-bottom:10px}
.skeleton-text{height:14px;width:60%;margin-bottom:8px}
.skeleton-text.short{width:40%}

/* Empty state styling */
.empty-state{text-align:center;padding:48px 24px;color:var(--g400)}
.empty-state-icon{width:80px;height:80px;border-radius:50%;background:var(--g50);display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-size:32px}
.empty-state h3{font-size:18px;font-weight:700;color:var(--nv);margin:0 0 8px}
.empty-state p{font-size:14px;line-height:1.6;max-width:400px;margin:0 auto}

/* Disabled account banner */
.disabled-banner{background:#fee2e2;border:1.5px solid #fca5a5;border-radius:var(--rs);padding:14px 18px;text-align:center;color:#991b1b;font-size:14px;font-weight:600;margin-bottom:16px}

/* Smooth transitions */
.page{transition:opacity .15s ease}

/* Better focus visible */
.btn:focus-visible,.fi2:focus-visible{outline:2px solid #C8102E;outline-offset:2px}

/* Lot picker mobile */
@media(max-width:600px){
.lot-card{padding:12px}
.lot-card h3{font-size:14px}
}

/* Print styles */
@media print{
.hdr,.nav-wrap,#cart-bar,#back-to-top,#toast,.btn{display:none!important}
.page{padding:0!important;max-width:none!important}
body{padding:0!important;background:#fff!important}
.cd{border:2px solid #000!important;break-inside:avoid}
}

/* ═══ DARK MODE POLISH ═══ */
/* Inputs & forms */
.dark .fi2{background:#0d1117;color:#e2e8f0;border-color:#30363d}
.dark .fi2:focus{border-color:#C8102E;box-shadow:0 0 0 3px rgba(200,16,46,.2)}
.dark .fi2::placeholder{color:#484f58}
.dark textarea{background:#0d1117;color:#e2e8f0;border-color:#30363d}

/* Plate chips */
.dark .plate-chip{background:#161b22;border-color:#30363d;color:#e2e8f0}
.dark .plate-chip:hover{border-color:#484f58}
.dark .plate-chip.active{background:rgba(200,16,46,.15);border-color:#C8102E}
.dark .plate-chip .prov{background:#30363d;color:#8b949e}

/* Countdown cards */
.dark .pk-cd.cd-soon{background:linear-gradient(135deg,#0d1f3c,#15264a);border-color:#2563eb;color:#93c5fd}
.dark .pk-cd.cd-far{background:#161b22;border-color:#30363d;color:#8b949e}
.dark .pk-cd.cd-live{background:linear-gradient(135deg,#052e16,#0a3d1e);border-color:#059669;color:#6ee7b7}
.dark .pk-cd.cd-end{background:#161b22;border-color:#30363d;color:#484f58}
.dark .pk-cd .cd-unit span:first-child{color:#e6edf3}

/* Confirmation page */
.dark .cp h1{color:#e6edf3}
.dark .ci{background:rgba(5,150,105,.15);color:#059669}
.dark .cd{background:#161b22;border-color:#30363d}
.dark .cdv{color:#e6edf3}

/* Account cards */
.dark .acct-card{background:#161b22}
.dark .acct-field{border-color:#30363d}
.dark .acct-field .val{color:#e6edf3}

/* Checkboxes */
.dark .cbb{border-color:#484f58}
.dark .cbl{color:#c9d1d9}

/* Modals */
.dark .mo2{background:rgba(0,0,0,.7)}
.dark .mh{border-color:#30363d}
.dark .mf{border-color:#30363d}

/* Buttons polish */
.dark .bp{box-shadow:0 1px 3px rgba(0,0,0,.3)}
.dark .bs:hover{background:#0d1117;border-color:#484f58}
.dark .bd{background:#161b22;border-color:#30363d;color:#e2e8f0}
.dark .bd:hover{background:#0d1117}

/* Toast */
.dark .toast-msg{background:#161b22;color:#e2e8f0;border:1px solid #30363d;box-shadow:0 8px 32px rgba(0,0,0,.5)}

/* Admin sidebar tabs */
.dark .ani{color:#8b949e}
.dark .ani.active,.dark .ani:hover{color:#e6edf3}
.dark .admin-sb{background:#0d1117;border-color:#30363d}

/* Stat cards */
.dark .stc{box-shadow:none}
.dark .stl{color:#8b949e}
.dark .stv{color:#e6edf3}
.dark .sts{color:#484f58}

/* Badges */
.dark .bdg.bg{background:rgba(5,150,105,.15);color:#6ee7b7}
.dark .bdg.brr{background:rgba(220,38,38,.15);color:#fca5a5}
.dark .bdg.bw{background:rgba(234,179,8,.15);color:#fde047}
.dark .bdg.bnv{background:rgba(230,237,243,0.1);color:#e6edf3}
.dark span[style*="background:rgba(200,16,46"]{background:rgba(200,16,46,0.2)!important;color:#fca5a5!important}

/* Dropdowns & typeahead */
.dark .hero-search-dd div:hover{background:#0d1117}
.dark [id$="-results"]{background:#161b22;border-color:#30363d;box-shadow:0 4px 12px rgba(0,0,0,.4)}
.dark [id$="-results"] div:hover{background:#0d1117}

/* Tinted backgrounds (green, blue, amber, purple) used inline */
.dark [style*="background:#f0fdf4"],.dark [style*="background: #f0fdf4"]{background:#052e16!important;border-color:#065f46!important}
.dark [style*="background:#eff6ff"],.dark [style*="background: #eff6ff"]{background:#0d1f3c!important;border-color:#1e3a5f!important}
.dark [style*="background:#fef2f2"],.dark [style*="background: #fef2f2"]{background:#2d0a0a!important;border-color:#5c1a1a!important}
.dark [style*="background:#fffbeb"],.dark [style*="background: #fffbeb"]{background:#2d2006!important;border-color:#5c4112!important}
.dark [style*="background:#faf5ff"],.dark [style*="background: #faf5ff"]{background:#1a0d2e!important;border-color:#2d1a4e!important}
.dark [style*="background:#f8fafc"],.dark [style*="background: #f8fafc"]{background:#0d1117!important}
.dark [style*="background:#fff"],.dark [style*="background: #fff"],.dark [style*="background:white"]{background:#161b22!important}

/* Colored borders for tinted panels */
.dark [style*="border-color:#bbf7d0"]{border-color:#065f46!important}
.dark [style*="border-color:#93c5fd"]{border-color:#1e3a5f!important}
.dark [style*="border-color:#fecaca"]{border-color:#5c1a1a!important}
.dark [style*="border-color:#fde68a"]{border-color:#5c4112!important}

/* Inline colored text overrides */
.dark [style*="color:#1e40af"]{color:#93c5fd!important}
.dark [style*="color:#166534"]{color:#6ee7b7!important}
.dark [style*="color:#7f1d1d"]{color:#fca5a5!important}
.dark [style*="color:#92400e"]{color:#fde047!important}
.dark [style*="color:#991b1b"]{color:#fca5a5!important}
.dark [style*="color:#065f46"]{color:#6ee7b7!important}

/* Rate editor specific */
.dark [style*="border-left:3px solid #059669"]{background:#0a2618!important}
.dark [style*="border-left:3px solid #7c3aed"]{background:#1a0d2e!important}

/* Cart bar */
.dark .cart-bar{background:#161b22;border-color:#30363d;box-shadow:0 -4px 20px rgba(0,0,0,.5)}

/* Print - always light */
@media print{body.dark{background:#fff!important;color:#000!important}.dark .sc{background:#fff!important}}

/* Scrollbar */
.dark::-webkit-scrollbar{width:8px}
.dark::-webkit-scrollbar-track{background:#0d1117}
.dark::-webkit-scrollbar-thumb{background:#30363d;border-radius:4px}
.dark::-webkit-scrollbar-thumb:hover{background:#484f58}

/* Selection */
.dark ::selection{background:rgba(200,16,46,.3);color:#e6edf3}

/* Table highlights */
.dark .dt tbody tr:nth-child(even){background:rgba(255,255,255,.02)}

/* Empty state */
.dark .empty-state{color:#8b949e}
.dark .empty-state h3{color:#c9d1d9}

/* Switch/toggle button active */
.dark button[style*="border-bottom:2.5px solid #d97706"]{color:#fbbf24!important}

/* Loading skeleton */
.dark .skeleton{background:#161b22}
.dark .skeleton::after{background:linear-gradient(90deg,#161b22,#30363d,#161b22)}

/* Keyboard shortcuts modal */
.dark kbd{background:#30363d!important;color:#e6edf3!important;border-color:#484f58!important}

/* SVG charts in dark mode */
.dark svg text{fill:#8b949e!important}
.dark svg line[stroke="var(--g200)"]{stroke:#30363d!important}

/* ═══ DARK MODE — My Account / Customer Pages deep fix ═══ */
/* Kill ALL white backgrounds inside page content areas */
.dark .page .sc[style*="background:linear-gradient"]{background:#161b22!important}
.dark .page div[style*="background:#fff"]{background:#161b22!important}
.dark .page div[style*="background: #fff"]{background:#161b22!important}
.dark .page div[style*="background:white"]{background:#161b22!important}
.dark .page div[style*="background:linear-gradient(135deg,#fef2f2"]{background:#1f1215!important}
.dark .page div[style*="background:linear-gradient(135deg,#ecfdf5"]{background:#0a1f14!important}
.dark .page div[style*="background:linear-gradient(135deg,#f0e7ff"]{background:#150d24!important}
.dark .page div[style*="background:linear-gradient(135deg,#fffbeb"]{background:#1f1a0a!important}
.dark .page div[style*="background:linear-gradient(135deg,#eff6ff"]{background:#0d1525!important}

/* Status badges — muted for dark */
.dark span[style*="background:#dcfce7"]{background:rgba(5,150,105,.2)!important;color:#6ee7b7!important}
.dark span[style*="background:#dbeafe"]{background:rgba(59,130,246,.15)!important;color:#93c5fd!important}
.dark span[style*="background:#fee2e2"]{background:rgba(220,38,38,.15)!important;color:#fca5a5!important}
.dark span[style*="background:#fef3c7"]{background:rgba(245,158,11,.12)!important;color:#fde047!important}
.dark span[style*="background:#f0fdf4"]{background:rgba(5,150,105,.1)!important}
.dark span[style*="background:#eff6ff"]{background:rgba(59,130,246,.1)!important;color:#93c5fd!important}

/* Colored border cards inside pages */
.dark .page div[style*="border:1px solid #d1fae5"]{background:#0a1f14!important;border-color:#065f46!important}
.dark .page div[style*="border:1px solid #e9d5ff"]{background:#150d24!important;border-color:#6b21a8!important}
.dark .page div[style*="border:1px solid #bbf7d0"]{background:#0a1f14!important;border-color:#065f46!important}
.dark .page div[style*="border:1px solid #fde68a"]{background:#1f1a0a!important;border-color:#b45309!important}
.dark .page div[style*="border:1px solid #fca5a5"]{background:#1f1215!important;border-color:#991b1b!important}
.dark .page div[style*="border:1.5px solid #fca5a5"]{background:#1f1215!important;border-color:#991b1b!important}
.dark .page div[style*="border:1px solid #f59e0b"]{background:#1f1a0a!important;border-color:#b45309!important}
.dark .page div[style*="border:1px dashed #bfdbfe"]{background:#0d1525!important;border-color:#1e3a5f!important}
.dark .page div[style*="border:1.5px solid var(--g200)"]{background:#161b22!important}

/* Alert/info banners */
.dark div[style*="background:#fef3c7"]{background:rgba(245,158,11,.1)!important;border-color:#b45309!important;color:#fde047!important}
.dark div[style*="background:#fee2e2"]{background:rgba(220,38,38,.1)!important;color:#fca5a5!important}
.dark div[style*="background:#ecfdf5"]{background:rgba(5,150,105,.1)!important;color:#6ee7b7!important}
.dark div[style*="background:#eff6ff"]{background:rgba(59,130,246,.08)!important;color:#93c5fd!important}
.dark div[style*="background:#f0e7ff"]{background:rgba(124,58,237,.1)!important}
.dark div[style*="background:#dbeafe"]{background:rgba(59,130,246,.1)!important}

/* Text colors inside dark cards */
.dark .page div[style*="color:#7f1d1d"]{color:#fca5a5!important}
.dark .page div[style*="color:#991b1b"]{color:#fca5a5!important}
.dark .page div[style*="color:#92400e"]{color:#fde047!important}
.dark .page div[style*="color:#065f46"]{color:#6ee7b7!important}
.dark .page div[style*="color:#166534"]{color:#6ee7b7!important}
.dark .page div[style*="color:#1e40af"]{color:#93c5fd!important}
.dark .page h3[style*="color:#7f1d1d"]{color:#fca5a5!important}

/* Search results dropdown */
.dark #ma-search-results{background:#161b22!important;border:1px solid #30363d;box-shadow:0 8px 30px rgba(0,0,0,.5)!important}
.dark #ma-search-results div:hover{background:#0d1117!important}

/* My Account tab bar */
.dark #myaccount-content [style*="border-bottom:2px solid"]{border-color:#30363d!important}

/* Tile cards on overview */
.dark .page div[style*="border:1.5px solid var(--g200)"][style*="border-radius:12px"]{background:#161b22!important;border-color:#30363d!important}

/* QR code area */
.dark .permit-qr{background:#0d1525!important;border-color:#1e3a5f!important}

/* Section header gradient banners — keep colorful but darken */
.dark .page div[style*="background:linear-gradient(135deg,#C8102E"]{opacity:.9}
.dark .page div[style*="background:linear-gradient(135deg,#059669"]{opacity:.9}
.dark .page div[style*="background:linear-gradient(135deg,#d97706"]{opacity:.9}
.dark .page div[style*="background:linear-gradient(135deg,#7c3aed"]{opacity:.9}

/* Fix rate editor preview in dark */
.dark #rv2-preview{background:rgba(5,150,105,.08)!important;border-color:#065f46!important}
.dark #rv2-preview div[style*="color:#166534"]{color:#6ee7b7!important}
.dark #rv2-preview div[style*="border-top:1px solid #bbf7d0"]{border-color:#065f46!important}

/* Payment error panel */
.dark div[style*="background:#fef2f2"][style*="border:1.5px solid #fecaca"]{background:rgba(220,38,38,.1)!important;border-color:rgba(220,38,38,.3)!important}
.dark div[style*="background:#fee2e2"][style*="border-radius:50%"]{background:rgba(220,38,38,.2)!important}

/* ═══ MOBILE RESPONSIVENESS — DEEP AUDIT FIX ═══ */

/* ── Admin tabs: collapsible sidebar on mobile ── */
@media(max-width:768px){
#admin-tabs{max-height:220px!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch}
#admin-tabs>div[style*="padding:20px"]{display:none}
#admin-tabs>div[style*="border-bottom"]{padding:6px 10px!important}
#admin-tabs>div[style*="border-bottom"] select{font-size:11px!important}
#admin-tabs>div[style*="position:relative"] input{font-size:12px!important}
.ani{padding:8px 12px;font-size:12px}
.ani svg{width:12px!important;height:12px!important}
#admin-content{padding:14px!important}
}

/* ── Lot picker modal: stack cards + map vertically ── */
@media(max-width:768px){
#lp-split{flex-direction:column!important;min-height:auto!important}
#lp-cards{flex:none!important;max-height:300px!important;border-right:none!important;border-bottom:1px solid var(--g200);width:100%}
#lp-map-container{min-height:200px!important;flex:none!important}
}

/* ── Lot picker cards: ensure text doesn't overflow ── */
@media(max-width:500px){
div[id^="lp-card-"]{padding:10px!important}
div[id^="lp-card-"] div[style*="font-size:22px"]{font-size:18px!important}
div[id^="lp-card-"] div[style*="font-size:15px"]{font-size:14px!important}
div[id^="lp-card-"] div[style*="margin-left:12px"]{margin-left:8px!important}
}

/* ── Checkout: stack payment wallet buttons ── */
@media(max-width:400px){
#wallet-apple-btn,#wallet-google-btn{font-size:12px!important;padding:8px!important}
.pay-chip{padding:8px 10px!important}
}

/* ── My Account: season pass grid → stacked on mobile ── */
@media(max-width:600px){
.page div[style*="grid-template-columns:120px 1fr"]{grid-template-columns:1fr!important;gap:2px 0!important}
.page div[style*="grid-template-columns:120px 1fr"] span:nth-child(odd){font-size:11px!important;margin-top:8px}
}

/* ── My Account: overview tile cards grid ── */
@media(max-width:500px){
.page div[style*="border-radius:12px"][style*="text-align:center"]{padding:12px 8px!important}
.page div[style*="border-radius:12px"] div[style*="font-size:28px"]{font-size:22px!important}
.page div[style*="border-radius:12px"] div[style*="font-size:24px"]{font-size:20px!important}
}

/* ── My Account: action tiles - 2 column on narrow ── */
@media(max-width:500px){
#myaccount-content div[style*="display:grid"][style*="repeat(4"]{grid-template-columns:repeat(2,1fr)!important;gap:8px!important}
#myaccount-content div[style*="display:grid"][style*="repeat(3"]{grid-template-columns:repeat(2,1fr)!important;gap:8px!important}
}

/* ── Admin: inline tables need scroll wrapper ── */
@media(max-width:768px){
.page table{display:table}
.sc table{display:table}
/* Force all tables to be scrollable inside their parent */
.sc{overflow-x:auto}
.sc .dt-wrap{margin:0 -16px;padding:0 16px}
}

/* ── Admin dashboard: stat cards grid ── */
@media(max-width:600px){
#admin-content div[style*="display:grid"][style*="repeat(4"]{grid-template-columns:repeat(2,1fr)!important;gap:8px!important}
#admin-content div[style*="display:grid"][style*="repeat(3"]{grid-template-columns:repeat(2,1fr)!important;gap:8px!important}
}

/* ── Rate editor: 3-col tier prices → stack ── */
@media(max-width:500px){
#rv2-modal-overlay div[style*="grid-template-columns:1fr 1fr 1fr"]{grid-template-columns:1fr!important}
#rv2-modal-overlay .rv2-model-btn{font-size:10px!important;padding:5px 0!important}
}

/* ── Modals: full-width fields on tiny screens ── */
@media(max-width:400px){
.mb2 .fr{flex-direction:column!important;gap:0!important}
.mb2 .fr>.fg{min-width:100%!important}
.mdl{margin:0!important;border-radius:14px 14px 0 0!important}
}

/* ── Game cards: ensure the lot list and sold/cap wrap ── */
@media(max-width:500px){
.dt td{padding:8px 6px!important;font-size:11px!important}
.dt th{padding:8px 6px!important;font-size:10px!important}
}

/* ── Find Parking: map + list panel ── */
@media(max-width:600px){
.fp-lot-card{padding:10px!important}
.fp-lot-card div[style*="font-size:15px"]{font-size:13px!important}
.fp-lot-card div[style*="font-size:20px"]{font-size:16px!important}
.fp-toolbar{flex-wrap:wrap}
.fp-toolbar .btn{font-size:11px;padding:6px 10px}
}

/* ── Order summary items (.si) on checkout ── */
@media(max-width:500px){
.si{gap:2px!important}
.sig{font-size:13px!important}
.sid{font-size:11px!important}
.sip{font-size:14px!important}
}

/* ── Confirmation page: details ── */
@media(max-width:400px){
.cdr{flex-direction:column;gap:1px;padding:6px 0}
.cdl{font-size:12px}
.cdv{text-align:left;font-size:13px}
.cp h1{font-size:20px!important}
.cp p{font-size:14px!important}
.cp div[style*="display:flex"][style*="gap:12px"]{flex-direction:column}
.cp .btn{width:100%}
}

/* ── Hub event cards: ensure wrapping ── */
@media(max-width:400px){
.hub-event-card{padding:10px!important}
.hub-event-info h4{font-size:14px!important}
.hub-event-price{font-size:16px!important;min-width:50px!important}
}

/* ── Daily parking: time picker controls ── */
@media(max-width:500px){
.page div[style*="display:grid"][style*="1fr 1fr 1fr"]{grid-template-columns:1fr 1fr!important;gap:8px!important}
input[type="datetime-local"].fi2{font-size:14px!important}
}

/* ── Sticky pay button on mobile checkout ── */
@media(max-width:600px){
#pg-checkout #co-pay-btn{position:sticky;bottom:0;z-index:50;border-radius:0;margin:0 -20px;width:calc(100% + 40px);padding:16px!important}
}

/* ── Navbar: prevent logo overflow ── */
@media(max-width:360px){
.hdr h1{font-size:18px!important}
.hdr h1 span{display:none}
.nav-inner a{font-size:13px;padding:6px 8px}
}

/* ── Footer: single column on mobile ── */
@media(max-width:500px){
.footer-grid{grid-template-columns:1fr!important;gap:20px!important;text-align:center}
.footer-brand{text-align:center}
.footer-social-row{justify-content:center}
}

/* ── Settings layout: responsive ── */
@media(max-width:768px){
.sett-layout{flex-direction:column}
.sett-nav{width:100%;position:static}
.sett-nav-group{display:none!important}
.sett-nav-item{display:none!important}
.sett-nav-dd{display:block!important}
}
@media(max-width:600px){
.sett-row{flex-direction:column;gap:6px}
.sett-row label{font-size:13px}
.sett-row select,.sett-row input{width:100%}
}

/* ── Processing page center ── */
@media(max-width:400px){
.proc-wrap{padding:40px 20px!important}
.proc-wrap h2{font-size:18px!important}
}

/* ── Generic: prevent horizontal overflow globally ── */
@media(max-width:768px){
.page{overflow-x:hidden}
body{overflow-x:hidden}
.page img{max-width:100%;height:auto}
}

/* ── Coupon modal: game list cards ── */
@media(max-width:500px){
#coupon-pick-modal .mb2 div[style*="border:2px solid"]{padding:10px!important}
}

/* ── Admin: customer detail modal — flex-wrap everything ── */
@media(max-width:600px){
.mdl div[style*="display:flex"]{flex-wrap:wrap!important}
.mdl div[style*="display:grid"][style*="repeat(3"]{grid-template-columns:1fr 1fr!important}
.mdl div[style*="display:grid"][style*="repeat(4"]{grid-template-columns:1fr 1fr!important}
}

/* ── Make sure no fixed-width inline style breaks layout ── */
@media(max-width:500px){
.page div[style*="min-width:120px"]{min-width:80px!important}
.page div[style*="min-width:200px"]{min-width:100%!important}
.page div[style*="width:100px"]{width:auto!important;min-width:80px!important}
.page div[style*="width:200px"]{width:100%!important}
}

/* ── Dark mode: lot picker cards ── */
.dark div[id^="lp-card-"]{background:#161b22!important;border-color:#30363d!important}
.dark div[id^="lp-card-"][style*="border:1.5px solid #C8102E"]{background:rgba(200,16,46,.06)!important;border-color:#C8102E!important}
.dark #lp-map-container{background:#0d1117!important}
.dark #lp-cards{border-color:#30363d!important}

/* ── Dark mode: Google Pay button ── */
.dark #wallet-google-btn{background:#161b22!important;color:#e2e8f0!important;border-color:#30363d!important}

/* ── Dark mode: "For other" note in checkout ── */
.dark #for-other-note{background:rgba(245,158,11,.1)!important;border-color:#b45309!important;color:#fde047!important}

/* ── Dark mode: find parking lot cards ── */
.dark .fp-lot-card{background:#161b22!important;border-color:#30363d!important}
.dark .fp-lot-card:hover,.dark .fp-lot-card.selected{border-color:#C8102E!important}

/* ── Dashboard: two-column grid stacks on mobile ── */
@media(max-width:700px){
.dash-grid{grid-template-columns:1fr!important}
}

/* ── Dashboard Today banner: darker in dark mode ── */
.dark .dash-today{background:linear-gradient(135deg,#7f0b1e 0%,#4a0612 100%)!important}

/* ── Dark mode: sold-out overlay ── */
.dark div[style*="background:rgba(255,255,255,.75)"]{background:rgba(13,17,23,.8)!important}

/* ── Site Code Page (/p) ── */
.sc-page{
  min-height:100vh;display:flex;flex-direction:column;
  background:linear-gradient(180deg,#0f172a 0%,#1e293b 50%,#334155 100%);
  justify-content:center;align-items:center;padding:24px 16px;
}
.sc-inner{
  width:100%;max-width:380px;background:#fff;border-radius:20px;
  box-shadow:0 24px 80px rgba(0,0,0,.35);padding:36px 28px 32px;
  animation:sc-fadeUp .4s ease-out both;
}
.sc-logo-row{display:flex;align-items:center;gap:8px;justify-content:center;margin-bottom:28px}
.sc-logo{
  width:32px;height:32px;border-radius:8px;background:#C8102E;
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-weight:800;font-size:16px;font-family:var(--fd,sans-serif);
}
.sc-logo-text{font-weight:700;font-size:17px;color:#0f172a;font-family:var(--fd,sans-serif)}
.sc-icon-wrap{
  width:56px;height:56px;border-radius:16px;background:#fff5f5;
  display:flex;align-items:center;justify-content:center;margin:0 auto 16px;
}
.sc-title{
  font-size:22px;font-weight:800;color:#0f172a;margin:0 0 6px;
  text-align:center;font-family:var(--fd,sans-serif);
}
.sc-subtitle{
  font-size:14px;color:#64748b;margin:0 0 4px;text-align:center;
  font-family:var(--f,sans-serif);line-height:1.5;
}
.sc-input-wrap{margin-top:24px}
.sc-code-fake{
  width:100%;padding:16px 20px;border-radius:14px;border:2px solid #e2e8f0;
  font-size:32px;font-weight:700;font-family:var(--fm,monospace);
  letter-spacing:8px;text-align:center;outline:none;box-sizing:border-box;
  background:#fafbfc;transition:border-color .2s;cursor:text;
  min-height:68px;display:flex;align-items:center;justify-content:center;
  -webkit-user-select:none;user-select:none;
}
.sc-code-fake:focus{border-color:#C8102E}
.sc-code-display{display:inline-flex;align-items:center;justify-content:center}
.sc-code-digits{color:#0f172a}
.sc-placeholder{color:#c0c8d4}
.sc-cursor{
  color:#C8102E;font-weight:400;animation:sc-blink 1s step-end infinite;
  margin-left:2px;letter-spacing:0;
}
@keyframes sc-blink{0%,100%{opacity:1}50%{opacity:0}}
.sc-error{
  color:#dc2626;font-size:13px;margin-top:8px;text-align:center;
  font-family:var(--f,sans-serif);display:none;animation:sc-fadeUp .2s ease-out both;
}
.sc-btn{
  width:100%;padding:14px 24px;border-radius:14px;border:none;
  background:#C8102E;color:#fff;font-size:16px;font-weight:700;
  font-family:var(--f,sans-serif);cursor:pointer;transition:all .15s;
  margin-top:16px;
}
.sc-btn:hover{background:#a50d24}
.sc-btn:disabled{opacity:.4;cursor:default}
.sc-alt{
  margin-top:24px;text-align:center;font-size:13px;color:#94a3b8;
  font-family:var(--f,sans-serif);
}
.sc-alt a{color:#C8102E;font-weight:600;text-decoration:none}
.sc-alt a:hover{text-decoration:underline}
.sc-footer{
  margin-top:20px;text-align:center;font-size:11px;color:#64748b;
  font-family:var(--f,sans-serif);display:flex;align-items:center;
  justify-content:center;gap:6px;
}
@keyframes sc-fadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}

/* ═══ MOBILE POLISH — COMPREHENSIVE FIX ═══ */

/* ── Trust row: 2x2 grid on narrow screens ── */
@media(max-width:480px){
.trust-inner{display:grid!important;grid-template-columns:1fr 1fr;gap:10px 16px;justify-items:start}
.trust-item{font-size:12px}
.trust-item svg{width:15px;height:15px}
}
@media(max-width:340px){
.trust-inner{grid-template-columns:1fr;gap:8px}
}

/* ── Hub sections: tighter padding on mobile ── */
@media(max-width:600px){
.hub-section{padding:32px 16px}
.hub-b2b{padding:48px 16px}
.hub-section-title{font-size:20px}
.hub-section-desc{font-size:13px}
.hub-section-hdr{margin-bottom:20px}
}

/* ── Hub section header: wrap title + button nicely ── */
@media(max-width:480px){
.hub-section-hdr{flex-direction:column;align-items:flex-start;gap:12px}
.hub-section-hdr .btn{align-self:flex-start}
}

/* ── Hub event cards: better mobile layout ── */
@media(max-width:480px){
.hub-event-card{padding:12px 14px;gap:10px}
.hub-event-date{min-width:48px;padding:8px 4px;border-radius:10px}
.hub-event-date .dy{font-size:20px}
.hub-event-date .mo{font-size:9px}
.hub-event-date .dw{font-size:8px}
.hub-event-info{min-width:0}
.hub-event-info h4{font-size:13px;line-height:1.3}
.hub-event-info h4 .bdg{font-size:9px;padding:1px 5px}
.hub-event-info p{font-size:11px}
.hub-event-right{min-width:auto}
.hub-event-price{font-size:14px}
.hub-event-avail{font-size:9px;padding:2px 7px}
}

/* ── Hub tiles: ensure text doesn't overflow ── */
@media(max-width:480px){
.hub-tile{padding:18px 10px 16px!important}
.hub-tile-icon{width:44px;height:44px;border-radius:12px;margin-bottom:10px}
.hub-tile-icon svg{width:20px;height:20px}
.hub-tile-label{font-size:13px}
.hub-tile-desc{font-size:10px}
}

/* ── Venue cards: tighter on mobile ── */
@media(max-width:480px){
.venue-card{padding:16px;gap:10px;border-radius:12px}
.venue-card-icon{width:44px;height:44px;border-radius:12px}
.venue-card-icon svg{width:18px;height:18px}
.venue-card-name{font-size:14px}
.venue-card-sub{font-size:11px}
.venue-card-meta{font-size:11px}
.venue-card-cta{font-size:12px}
.venue-card-bottom{padding-top:10px}
}

/* ── B2B cards: tighter on mobile ── */
@media(max-width:480px){
.hub-b2b-title{font-size:24px;letter-spacing:-.3px}
.hub-b2b-sub{font-size:14px;margin-bottom:28px}
.hub-b2b-card{padding:20px 16px;border-radius:12px}
.hub-b2b-card h4{font-size:14px}
.hub-b2b-card p{font-size:12px}
.hub-b2b-cta{padding:14px 32px;font-size:15px;width:100%;text-align:center}
}

/* ── Help section: stack links on narrow ── */
@media(max-width:480px){
.hub-help-links{grid-template-columns:1fr;gap:8px}
.hub-help-link{padding:12px 16px;font-size:13px;border-radius:10px}
.hub-help-main h3{font-size:20px}
.hub-help-main p{font-size:13px}
}

/* ── How it works: tighter on mobile ── */
@media(max-width:480px){
.hub-how-split{gap:24px}
.hub-step-num{width:36px;height:36px;font-size:14px}
.hub-step-v h4{font-size:14px}
.hub-step-v p{font-size:12px}
.hub-section-title[style*="font-size:30px"]{font-size:22px!important}
}

/* ── Nav close button: always visible and prominent ── */
.nav-close-btn{position:absolute;top:16px;right:16px;background:var(--g50);border:1.5px solid var(--g200);border-radius:50%;cursor:pointer;padding:0;z-index:10001;width:40px;height:40px;font-size:20px;color:var(--nv);display:flex!important;align-items:center;justify-content:center;line-height:1;box-shadow:0 2px 8px rgba(0,0,0,.1)}
.dark .nav-close-btn{background:#161b22;border-color:#30363d;color:#e6edf3}

/* ── Mobile nav: better layout with all links at top ── */
@media(max-width:768px){
.nav-inner.nav-open{padding-top:68px;animation:mfin .2s ease-out;justify-content:flex-start}
.nav-inner.nav-open button{border-bottom-color:var(--g200);font-size:16px;padding:16px 0}
.nav-inner.nav-open button.act{color:#C8102E;font-weight:700}
/* Hide the flex spacer so items don't spread apart */
.nav-inner.nav-open div[style*="flex:1"]{display:none}
}

/* ── Checkout: improve mobile layout ── */
@media(max-width:480px){
#pg-checkout>div:first-child{flex-wrap:wrap}
#pg-checkout>div:first-child .btn{padding:6px 12px}
#pg-checkout h2{font-size:20px!important}
#pg-checkout .sc{padding:16px 14px}
#pg-checkout .sc h3{font-size:15px}
.plate-chip{padding:6px 10px;font-size:12px;letter-spacing:0.5px}
}

/* ── Airport parking page: form improvements ── */
@media(max-width:600px){
#pg-airportparking .sc{padding:16px 14px}
#pg-airportparking .fr{flex-direction:column}
#pg-airportparking .fr>.fg{min-width:100%}
}

/* ── Daily parking: stack date inputs ── */
@media(max-width:480px){
#pg-dailyparking .fr{flex-direction:column}
#pg-dailyparking .fr>.fg{min-width:100%}
}

/* ── Footer: tighter padding on mobile ── */
@media(max-width:480px){
.site-footer{padding:36px 16px 20px}
.footer-logo{font-size:18px}
.footer-brand p{font-size:12px}
.footer-col h4{font-size:10px;margin-bottom:10px}
.footer-col a{font-size:12px;padding:4px 0}
.footer-bottom{font-size:11px;padding-top:20px}
.footer-legal{gap:12px}
.footer-legal a{font-size:11px}
}

/* ── Game cards: better text handling on narrow ── */
@media(max-width:480px){
.gc{padding:10px 12px}
.gi h3{font-size:13px;line-height:1.3}
.gi h3 .bdg{font-size:8px;padding:1px 4px}
.gm{font-size:11px;gap:4px}
.gr{min-width:55px}
.gp{font-size:14px}
.ga{font-size:9px;padding:1px 6px}
}

/* ── My Account: tab bar scrollable on mobile ── */
@media(max-width:480px){
#ma-nav{-webkit-overflow-scrolling:touch;scrollbar-width:none}
#ma-nav::-webkit-scrollbar{display:none}
.ma-tab{padding:8px 10px;font-size:11px;gap:4px}
.ma-tab svg{width:12px;height:12px}
}

/* ── Cart bar: better mobile spacing ── */
@media(max-width:480px){
#cart-bar{padding:10px 14px}
#cart-bar span{font-size:12px}
#cart-btn{padding:8px 16px;font-size:12px}
}

/* ── Ensure search dropdown doesn't overflow ── */
@media(max-width:600px){
.hero-search-dd{border-radius:10px;max-height:60vh}
.hero-search-dd div{padding:10px 14px;font-size:13px}
}

/* ── Login page: tighter on mobile ── */
@media(max-width:480px){
#pg-login>div{padding:0 4px}
#pg-login h2{font-size:20px!important}
#pg-login .auth-tab{padding:10px;font-size:13px}
}

/* ── Parking pass (how it works) image: hide on very small ── */
@media(max-width:400px){
.hub-how-right{display:none}
}

/* ── Back to top: move left on mobile when cart bar visible ── */
@media(max-width:480px){
#back-to-top{right:16px;bottom:16px;width:40px;height:40px;font-size:16px}
body.cart-active #back-to-top{bottom:60px}
}

/* ── VIP Partner Dashboard Components ── */
.btn-guest-ghost{background:#FFFFFF;border:1px solid #D1D5DB;color:#374151;padding:6px 14px;border-radius:8px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.3px;cursor:pointer;transition:all .2s ease}
.btn-guest-ghost:hover{background:#F9FAFB;border-color:#9CA3AF;color:#111827}
.stat-reward-pill{display:inline-block;background:#F9FAFB;color:#C8102E;padding:6px 16px;border-radius:24px;font-size:20px;font-weight:800;font-family:var(--fd);border:1px solid #E5E7EB}
.countdown-pill-premium{display:inline-block;background:#C8102E;color:#FFFFFF;padding:6px 14px;border-radius:20px;font-size:12px;font-weight:700;box-shadow:0 4px 6px rgba(0,0,0,.1);margin-bottom:6px}
