
 *{box-sizing:border-box;font-family:'Segoe UI',system-ui,Arial,sans-serif}
 body{margin:0;background:radial-gradient(1200px 600px at 20% -10%,#17233f 0%,#0b0f1a 55%);color:#e8ecf3;min-height:100vh}
 header{padding:18px 26px;display:flex;align-items:center;gap:14px;border-bottom:1px solid #1f2942;
   background:linear-gradient(90deg,#12325b,#0d2140);box-shadow:0 4px 24px rgba(0,0,0,.35)}
 header .logo{font-size:26px}
 header h1{font-size:19px;margin:0;font-weight:800;letter-spacing:.3px}
 header .sub{font-size:12px;color:#9db6e0;margin-top:2px}
 header .live{margin-left:auto;font-size:12px;color:#8fa1c0}
 .live .dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#34d399;margin-right:6px;box-shadow:0 0 8px #34d399;animation:pulse 1.6s infinite}
 @keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
 .wrap{padding:20px 26px}
 /* sound gate */
 #soundgate{position:fixed;inset:0;background:rgba(8,12,20,.95);z-index:5000;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px}
 #loginscreen{position:fixed;inset:0;background:radial-gradient(1000px 500px at 50% 0%,#17233f,#0b0f1a);z-index:6000;display:flex;align-items:center;justify-content:center}
 .loginbox{background:linear-gradient(160deg,#141c2e,#111828);border:1px solid #2a3550;border-radius:18px;padding:32px 34px;text-align:center;width:320px;box-shadow:0 20px 60px rgba(0,0,0,.5)}
 .loginbox input{width:100%;background:#0f1626;color:#e8ecf3;border:1px solid #2c3a58;border-radius:10px;padding:11px 13px;font-size:14px;margin:6px 0}
 .loginbox button{width:100%;background:linear-gradient(135deg,#2f6fb0,#3f86cf);color:#fff;border:0;border-radius:10px;padding:12px;font-size:15px;font-weight:800;cursor:pointer;margin-top:8px}
 .logoutb{background:#3a1416;color:#ff8b8b;border:1px solid #5a2028;border-radius:8px;padding:3px 10px;cursor:pointer;font-size:12px;margin-left:8px}
 .lockbadge{font-size:11px;font-weight:800;color:#4ade9b;background:rgba(52,211,153,.14);padding:2px 8px;border-radius:20px;white-space:nowrap}
 .savedmark{font-size:10.5px;font-weight:800;color:#4ade9b;background:rgba(52,211,153,.16);padding:2px 7px;border-radius:20px;white-space:nowrap}
 .mycount{font-size:12px;font-weight:700;color:#7ce0b6;background:rgba(124,224,182,.12);border:1px solid rgba(124,224,182,.3);padding:3px 10px;border-radius:20px;margin-left:6px}
 /* alerts */
 .alertbar{position:fixed;top:14px;right:14px;z-index:2000;display:flex;flex-direction:column;gap:8px;max-width:370px}
 .atoast{background:linear-gradient(135deg,#5a1420,#7a1a2a);border:1px solid #ff5a6e;border-radius:12px;padding:12px 14px;box-shadow:0 10px 34px rgba(0,0,0,.55);animation:apop .3s ease, aflash 1s ease 4}
 @keyframes apop{from{transform:translateX(50px);opacity:0}to{transform:none;opacity:1}}
 @keyframes aflash{0%,100%{box-shadow:0 0 0 rgba(255,90,110,0)}50%{box-shadow:0 0 26px rgba(255,90,110,.85)}}
 .atoast .ah{font-weight:800;color:#ffd0d6;font-size:13px;margin-bottom:5px}
 .atoast .ax{float:right;cursor:pointer;color:#ff9aa8;font-weight:800;margin-left:8px}
 .atoast a{color:#ffc2cb;font-size:12.5px;text-decoration:none;display:block;margin-top:4px}
 .atoast a:hover{text-decoration:underline}
 /* page nav */
 .nav{display:flex;gap:8px;margin-bottom:16px}
 .nav button{background:#131d30;color:#aebbd6;border:1px solid #243049;border-radius:12px 12px 0 0;padding:11px 20px;cursor:pointer;font-size:14px;font-weight:700}
 .nav button.active{background:linear-gradient(160deg,#16a34a,#0e7a35);color:#fff;border:1px solid #22c55e;border-bottom:3px solid #34e07a;box-shadow:0 -1px 12px rgba(34,197,94,.45)}
 body:not([data-role="admin"]) #nav-sig{display:none!important}   /* Connect Signal = admin-only (bulletproof) */
 body:not([data-role="admin"]) #nav-sys{display:none!important}   /* System Control = admin-only (bulletproof) */
 .aicbtn{border:0;border-radius:8px;color:#fff;padding:5px 9px;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap}
 .aicbtn:hover{filter:brightness(1.15)}
 .sysbtn{border:0;border-radius:10px;color:#fff;padding:11px 16px;font-size:14px;font-weight:600;cursor:pointer}
 .sysbtn:hover{filter:brightness(1.12)}
 .scoperow{display:flex;align-items:center;gap:8px;margin-bottom:14px;flex-wrap:wrap}
 .scoperow-lbl{font-size:12px;color:#8fa1c0;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
 .scb{background:#131d30;color:#aebbd6;border:1px solid #2c3a58;border-radius:9px;padding:8px 16px;cursor:pointer;font-size:13.5px;font-weight:700}
 .scb.active{background:linear-gradient(135deg,#2f6fb0,#3f86cf);color:#fff;border-color:#3f86cf;box-shadow:0 2px 12px rgba(63,134,207,.4)}
 @keyframes blinknav{0%,100%{background:#3a1416;box-shadow:0 0 0 rgba(255,80,90,0)}50%{background:#8f2029;box-shadow:0 0 14px rgba(255,80,90,.75)}}
 .nav button.blinknav{animation:blinknav 1.05s infinite;color:#ffd0d6 !important;border-color:#fb7185 !important;font-weight:800}
 .nav button.blinknav.active{animation:none;background:linear-gradient(160deg,#16a34a,#0e7a35) !important;color:#fff !important;border-color:#22c55e !important;box-shadow:0 -1px 12px rgba(34,197,94,.45)}
 /* party analysis cards */
 .pcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}
 .pcard{background:linear-gradient(160deg,#141c2e,#111828);border:1px solid #243049;border-radius:16px;padding:18px;box-shadow:0 8px 26px rgba(0,0,0,.28)}
 .pcard .ph{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
 .pcard .pn{font-size:19px;font-weight:900}
 .pcard .tot{font-size:12px;color:#8fa1c0}
 .divg{display:flex;height:26px;border-radius:8px;overflow:hidden;background:#1c2740;margin-bottom:10px}
 .divg .sup{background:linear-gradient(90deg,#22a06b,#2bbd7e);display:flex;align-items:center;justify-content:flex-start;padding-left:8px;font-size:12px;font-weight:800;color:#04120b}
 .divg .agn{background:linear-gradient(90deg,#e0566a,#ff8195);display:flex;align-items:center;justify-content:flex-end;padding-right:8px;font-size:12px;font-weight:800;color:#2a0710}
 .pstat{display:flex;gap:16px;font-size:13px}
 .pstat .s{color:#4ade9b;font-weight:700}.pstat .a{color:#ff8195;font-weight:700}.pstat .n{color:#8fa1c0}
 .pcard{cursor:pointer;transition:.15s}.pcard:hover{border-color:#3f86cf}.pcard.sel{border-color:#3f86cf;box-shadow:0 0 0 2px rgba(63,134,207,.35)}
 .pdet{background:#0f1626;border:1px solid #223049;border-radius:14px;padding:16px 18px}
 .pdet h3{margin:0 0 4px;font-size:16px}
 .prow{display:flex;gap:12px;align-items:flex-start;padding:10px 6px;border-bottom:1px solid #1d2740}
 .prow:last-child{border:0}
 .stbadge{font-size:11px;font-weight:800;padding:3px 9px;border-radius:20px;white-space:nowrap;flex-shrink:0}
 .stsup{background:rgba(52,211,153,.16);color:#4ade9b}.stagn{background:rgba(251,113,133,.16);color:#ff8195}
 .prow .body{flex:1}.prow .rsn{color:#9fb0cf;font-size:12px;margin-top:3px}
 .ptabs button{background:#1c2740;color:#cdd7ea;border:1px solid #2c3a58;border-radius:16px;padding:4px 12px;margin-right:6px;cursor:pointer;font-size:12.5px}
 .ptabs button.active{background:#2f6fb0;color:#fff;border-color:#3f86cf}
 /* session toggle */
 .sessbar{display:flex;align-items:center;gap:10px;margin-bottom:14px;background:linear-gradient(90deg,#1a2b52,#122040);border:1px solid #2c3f66;border-radius:14px;padding:10px 16px}
 .sessbtn{background:#141d30;color:#9db6e0;border:1px solid #2c3a58;border-radius:20px;padding:8px 20px;cursor:pointer;font-size:14px;font-weight:800}
 .sessbtn.active{background:linear-gradient(135deg,#2f6fb0,#3f86cf);color:#fff;border-color:#3f86cf;box-shadow:0 2px 12px rgba(63,134,207,.45)}
 /* sources strip */
 .srcbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:linear-gradient(90deg,#132039,#101828);
   border:1px solid #243049;border-radius:14px;padding:12px 16px;margin-bottom:16px;box-shadow:0 6px 20px rgba(0,0,0,.25)}
 .srcbar .title{font-size:12px;color:#9db6e0;font-weight:700;text-transform:uppercase;letter-spacing:.4px}
 .schip{display:flex;align-items:center;gap:8px;background:#0f1626;border:1px solid #2a3550;border-radius:12px;padding:7px 13px}
 .schip .big{font-size:19px;font-weight:900}.schip .lb{font-size:12px;color:#9fb0cf}
 .schip:hover{border-color:#3f86cf}.schip.sselc{border-color:#3f86cf;box-shadow:0 0 0 2px rgba(63,134,207,.35)}
 .srclistbox{background:#0f1626;border:1px solid #243049;border-radius:12px;padding:14px 16px;margin-bottom:16px;max-height:340px;overflow-y:auto}
 .slh{font-size:13px;color:#cdd7ea;font-weight:700;margin-bottom:8px;border-bottom:1px solid #243049;padding-bottom:8px}
 .slx{float:right;color:#ff9aa8;cursor:pointer;font-weight:700}
 .slrow{display:flex;gap:12px;align-items:center;padding:5px 2px;font-size:12.5px;border-bottom:1px solid #1a2338}
 .slrow .sln{min-width:150px;color:#e8ecf3;font-weight:600}.slrow a{color:#79b8ff;word-break:break-all}
 .managebtn{margin-left:auto;background:linear-gradient(135deg,#2f6fb0,#3f86cf);color:#fff;border:0;border-radius:10px;padding:8px 14px;cursor:pointer;font-size:13px;font-weight:700}
 .addform{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
 .addform select,.addform input{background:#0f1626;color:#e8ecf3;border:1px solid #2c3a58;border-radius:8px;padding:7px 10px;font-size:13px}
 .addform input{flex:1;min-width:180px}
 .addbtn{background:linear-gradient(135deg,#22a06b,#2bbd7e);color:#fff;border:0;border-radius:8px;padding:8px 16px;cursor:pointer;font-weight:700;font-size:13px}
 .pend{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid #1e2942;font-size:13px}
 .pend:last-child{border:0}
 .pend .apv{background:#22a06b;color:#fff;border:0;border-radius:7px;padding:5px 11px;cursor:pointer;font-size:12px;font-weight:700}
 .pend .rej{background:#4d1720;color:#ff8195;border:1px solid #6b2530;border-radius:7px;padding:5px 11px;cursor:pointer;font-size:12px}
 /* KPI cards */
 .cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-bottom:18px}
 .kpi{position:relative;background:linear-gradient(160deg,#18213600,#1a2440);border:1px solid #263149;
   border-radius:16px;padding:16px 18px;overflow:hidden;box-shadow:0 8px 26px rgba(0,0,0,.30)}
 .kpi:before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--ac)}
 .kpi .ic{font-size:20px;opacity:.9}
 .kpi .n{font-size:30px;font-weight:900;line-height:1.1;margin-top:6px;color:var(--ac)}
 .kpi .t{font-size:12px;color:#9fb0cf;margin-top:2px;font-weight:600}
 .kpi .pct{position:absolute;right:14px;top:14px;font-size:12px;color:#8093b5;font-weight:700}
 /* panels */
 .panels{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-bottom:18px}
 .panel{background:linear-gradient(160deg,#141c2e,#111828);border:1px solid #243049;border-radius:16px;
   padding:16px 18px;box-shadow:0 8px 26px rgba(0,0,0,.28)}
 .panel h4{margin:0 0 12px;font-size:13px;color:#b9c6e2;font-weight:700;letter-spacing:.4px;text-transform:uppercase}
 .donutrow{display:flex;align-items:center;gap:16px}
 .legend{flex:1}
 .lg{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:13px}
 .lg .dt2{width:11px;height:11px;border-radius:3px}
 .lg .nm{flex:1;color:#cdd7ea}.lg .ct{font-weight:800}.lg .pc{color:#8093b5;width:42px;text-align:right}
 .pbar{margin:9px 0}
 .pbar .top{display:flex;justify-content:space-between;font-size:12.5px;margin-bottom:4px;color:#cdd7ea}
 .pbar .track{height:9px;background:#1c2740;border-radius:6px;overflow:hidden}
 .pbar .fill{height:100%;border-radius:6px;transition:width .5s}
 #leader{max-height:340px;overflow-y:auto}
 .lead{display:flex;gap:11px;align-items:center;padding:8px 4px;border-bottom:1px solid #1e2942;text-decoration:none;color:inherit;border-radius:8px;transition:.12s}
 .lead:last-child{border:0}
 .lead:hover{background:#182238}
 .vtabs{margin-left:8px;font-weight:400}
 .vtabs button{background:#1c2740;color:#cdd7ea;border:1px solid #2c3a58;border-radius:14px;padding:2px 9px;margin-left:4px;cursor:pointer;font-size:12px}
 .vtabs button.active{background:linear-gradient(135deg,#d69a2a,#b87615);color:#fff;border-color:#d69a2a}
 .rank{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;
   font-weight:900;font-size:13px;flex-shrink:0;background:#26314c;color:#ffd479}
 .rank.r1{background:linear-gradient(135deg,#f6c14b,#e08a1e);color:#20160a}
 .rank.r2{background:linear-gradient(135deg,#cfd8e6,#9fb0cf);color:#141a26}
 .rank.r3{background:linear-gradient(135deg,#e0a074,#b06a3c);color:#1a0f08}
 .lead .txt{flex:1;font-size:12.5px;color:#dbe4f4;line-height:1.3;overflow:hidden}
 .lead .vs{font-weight:900;color:#ff9d42;white-space:nowrap;font-size:13px}
 /* filters */
 .row2{display:flex;gap:18px;align-items:flex-start;flex-wrap:wrap;margin-bottom:14px;
   background:#0f1626;border:1px solid #223049;border-radius:14px;padding:12px 16px}
 .rptbtn{background:linear-gradient(135deg,#7c3aed,#9d5cf5);color:#fff;border:0;border-radius:10px;padding:9px 16px;cursor:pointer;font-weight:700;font-size:13px}
 .expbtn{background:linear-gradient(135deg,#22a06b,#2bbd7e);color:#fff;border:0;border-radius:10px;padding:9px 16px;cursor:pointer;font-weight:700;font-size:13px}
 .filters button,.sortb button{background:#1c2740;color:#cdd7ea;border:1px solid #2c3a58;border-radius:20px;
   padding:6px 13px;margin:2px 5px 2px 0;cursor:pointer;font-size:12.5px;transition:.15s}
 .filters button:hover,.sortb button:hover{border-color:#4a6ba0}
 .filters button.active,.sortb button.active{background:linear-gradient(135deg,#2f6fb0,#3f86cf);color:#fff;border-color:#3f86cf;box-shadow:0 2px 10px rgba(63,134,207,.4)}
 .datef button.active{background:linear-gradient(135deg,#d69a2a,#b87615);border-color:#d69a2a}
 .lbl{color:#8fa1c0;font-size:12px;margin-right:6px;display:inline-block;min-width:74px;font-weight:600}
 .rowf{margin-bottom:6px}
 input[type=date]{background:#0f1626;color:#e8ecf3;border:1px solid #2c3a58;border-radius:8px;padding:5px 8px;font-size:12px}
 /* table */
 .tbox{background:#0f1626;border:1px solid #223049;border-radius:14px;overflow:hidden}
 table{width:100%;border-collapse:collapse;font-size:12.5px}
 th,td{border-bottom:1px solid #1d2740;padding:7px 9px;vertical-align:top;text-align:left}
 th{background:#141d30;position:sticky;top:0;z-index:1;color:#aebbd6;font-size:11.5px;text-transform:uppercase;letter-spacing:.3px}
 tr:hover td{background:#131c2e}
 a{color:#79b8ff;text-decoration:none}a:hover{text-decoration:underline}
 select,input.txt{background:#0f1626;color:#e8ecf3;border:1px solid #2c3a58;border-radius:6px;padding:3px 5px;font-size:12px;width:100%}
 /* Remark submit — reviewer should be able to see whether their review was submitted or not */
 .subbtn{background:#2c3a58;color:#c9d6ee;border:0;border-radius:6px;padding:3px 8px;font-size:11px;font-weight:700;cursor:pointer;white-space:nowrap}
 .subbtn:hover{background:#3a4d73}
 .subbtn.dirty{background:#b4700f;color:#fff}          /* likha hai, abhi save nahi hua */
 .subbtn.saved{background:#2f7a4d;color:#fff}          /* save ho gaya */
 .subbtn:disabled{opacity:.75;cursor:default}
 .badge{padding:2px 9px;border-radius:20px;font-size:11px;font-weight:800;white-space:nowrap}
 .Positive{background:rgba(52,211,153,.16);color:#4ade9b}.Negative{background:rgba(251,113,133,.16);color:#ff8195}.Neutral{background:rgba(148,163,184,.16);color:#aab8d0}.AIPending{background:rgba(167,139,250,.18);color:#c4b5fd}
 .plat{font-size:11px;padding:2px 8px;border-radius:6px;font-weight:800}
 .YouTube{background:rgba(255,80,80,.16);color:#ff8b8b}.Facebook{background:rgba(90,150,255,.16);color:#7ab3ff}.Instagram{background:rgba(230,80,190,.16);color:#ff9be0}.Website{background:rgba(52,211,153,.14);color:#7ce0b6}.Twitter{background:rgba(29,161,242,.16);color:#5eb8f5}
 .eng{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;color:#c3cfe6}
 .hindi{margin-top:5px;padding:5px 8px;background:rgba(52,211,153,.08);border-left:3px solid #34d399;border-radius:4px;font-size:12px;color:#bfe8d5;line-height:1.5}
 .revflag{margin-top:5px;display:inline-block;padding:2px 8px;background:rgba(251,113,133,.16);border:1px solid #fb7185;border-radius:12px;font-size:11px;font-weight:800;color:#ffb3bf;white-space:nowrap}
 tr.needsrev td{background:rgba(251,113,133,.06)}
 tr.needsrev td:first-child{box-shadow:inset 3px 0 0 #fb7185}
 .revbtn{border-color:#fb7185 !important;color:#ffb3bf !important}
 #chatBtn{position:fixed;right:22px;bottom:22px;z-index:5000;background:linear-gradient(90deg,#2563eb,#1d4ed8);color:#fff;padding:11px 18px;border-radius:26px;font-weight:800;font-size:14px;cursor:pointer;box-shadow:0 6px 22px rgba(37,99,235,.5)}
 .cdot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#ff5470;margin-left:6px;box-shadow:0 0 8px #ff5470}
 #chatPanel{position:fixed;right:22px;bottom:22px;z-index:5001;width:340px;height:470px;max-width:92vw;background:#111a2e;border:1px solid #2c3a58;border-radius:14px;display:none;flex-direction:column;box-shadow:0 12px 40px rgba(0,0,0,.55);overflow:hidden}
 .chead{padding:12px 14px;background:linear-gradient(90deg,#12325b,#0d2140);font-weight:800;display:flex;align-items:center;justify-content:space-between}
 .chead .cx{cursor:pointer;color:#9db6e0;font-size:16px}
 .chead .ccall{cursor:pointer;font-size:16px;margin-left:auto;margin-right:12px;filter:saturate(1.3)}
 .chead .ccall:hover{transform:scale(1.15)}
 @keyframes callpulse{0%,100%{transform:scale(1)}50%{transform:scale(1.22)}}
 .callpulse{animation:callpulse .7s infinite;display:inline-block}
 @keyframes callring{0%,100%{box-shadow:0 0 0 0 rgba(34,160,107,.55)}50%{box-shadow:0 0 0 14px rgba(34,160,107,0)}}
 .cbody{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px}
 #chatNew{position:absolute;left:50%;transform:translateX(-50%);bottom:60px;background:#2563eb;color:#fff;border-radius:20px;padding:5px 13px;font-size:11.5px;font-weight:700;cursor:pointer;display:none;z-index:6;box-shadow:0 3px 12px rgba(0,0,0,.5)}
 .cfoot{display:flex;gap:6px;padding:10px;border-top:1px solid #1f2942}
 .cfoot input{flex:1;background:#0f1626;color:#e8ecf3;border:1px solid #2c3a58;border-radius:8px;padding:9px}
 .cfoot button{background:#2563eb;color:#fff;border:none;border-radius:8px;padding:9px 15px;font-weight:700;cursor:pointer}
 .msg{max-width:80%;padding:7px 11px;border-radius:12px;font-size:13px;line-height:1.4;word-break:break-word}
 .msg.me{align-self:flex-end;background:#2563eb;color:#fff;border-bottom-right-radius:3px}
 .msg.them{align-self:flex-start;background:#1e293b;color:#e8ecf3;border-bottom-left-radius:3px}
 .msg .mt{font-size:10px;opacity:.65;margin-top:2px}
 .thread{padding:10px 11px;border-bottom:1px solid #1f2942;cursor:pointer;border-radius:8px}
 .thread:hover{background:#182338}
 .thread .tn{font-weight:700}.thread .tl{font-size:12px;color:#9db6e0;margin-top:2px}
 .cback{cursor:pointer}
 .vshero{display:flex;align-items:center;gap:22px;background:linear-gradient(90deg,#0f2544,#122f56);border:1px solid #24406e;border-radius:16px;padding:20px 26px}
 .vsbig{font-size:64px;font-weight:900;color:#3fb6ff;line-height:1;text-shadow:0 0 24px rgba(63,182,255,.4)}
 .vslbl{font-size:18px;font-weight:800}
 .vssub{font-size:13px;color:#9db6e0;margin-top:5px}
 .vspanel{background:#111a2e;border:1px solid #1f2942;border-radius:14px;padding:14px 16px;margin-bottom:6px}
 .vspanel .ph{font-weight:800;margin-bottom:10px}
 .vspl{display:flex;align-items:center;gap:12px;margin:7px 0}
 .vsbar{flex:1;height:14px;background:#0f1626;border-radius:8px;overflow:hidden}
 .vsbar>div{height:100%;background:linear-gradient(90deg,#3fb6ff,#6ee7ff);border-radius:8px}
 .viral{font-weight:800;color:#ffb765;text-align:right}
 .st{font-size:11px;color:#9fb0cf}.dt{font-size:11px;color:#9fb0cf;white-space:nowrap}
 .pager{display:flex;align-items:center;gap:8px;justify-content:center;padding:14px;flex-wrap:wrap}
 .pager button{background:#1c2740;color:#cdd7ea;border:1px solid #2c3a58;border-radius:8px;padding:7px 14px;cursor:pointer;font-size:13px;font-weight:600}
 .pager button:hover:not(:disabled){background:#2f6fb0;border-color:#3f86cf;color:#fff}
 .pager button:disabled{opacity:.35;cursor:not-allowed}
 .pager .pinfo{color:#9fb0cf;font-size:13px;margin:0 8px}
 @media(max-width:1100px){.cards{grid-template-columns:repeat(2,1fr)}.panels{grid-template-columns:1fr}}
 /* ===== Mobile (added 2026-08-19) — additive only, scoped to <=768px so desktop is untouched ===== */
 @media(max-width:768px){
   body{overflow-x:hidden}
   header{padding:12px 14px;gap:10px;flex-wrap:wrap}
   header h1{font-size:15px}
   header .sub{font-size:10.5px}
   header .live{margin-left:0;order:3;width:100%}
   .wrap{padding:12px 10px}
   .nav{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;padding-bottom:6px;margin-bottom:12px}
   .nav button{padding:9px 14px;font-size:12.5px;white-space:nowrap;flex-shrink:0}
   .cards{grid-template-columns:repeat(2,1fr);gap:10px}
   .panels,.pcards{grid-template-columns:1fr}
   .sessbar,.srcbar,.row2,.addform{padding:10px 12px;gap:8px}
   .vshero{flex-wrap:wrap;gap:12px;padding:16px 18px}
   .vsbig{font-size:42px}
   .donutrow{flex-wrap:wrap}
   .tbox{overflow-x:auto}
   table{font-size:11.5px}
   th,td{padding:6px 7px}
   .loginbox{width:88vw;max-width:320px;padding:24px 20px}
   #chatPanel{width:92vw;right:4vw;height:65vh}
   #chatBtn{right:14px;bottom:14px;padding:9px 14px;font-size:13px}
   .pager{gap:5px;padding:10px}
   .pager button{padding:6px 10px;font-size:12px}
 }
