/* ══════════════════════════════════════════ */
/* simulator.css — Estilos del simulador electoral */
/* objetivo176.es */
/* ══════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@700;800&family=DM+Sans:wght@300;400;500&display=swap');
:root{
  --bg:#f4f5f8;--bg2:#fff;--bg3:#f0f1f5;--bg4:#e4e6ef;
  --border:rgba(0,0,0,.08);--border2:rgba(0,0,0,.15);
  --text:#1a1c22;--text2:#5a5f72;--text3:#9298ac;
  --accent:#2563eb;--acl:#eff4ff;
  --green:#16a34a;--red:#dc2626;--amber:#d97706;--r:10px;
}
body.dark{
  --bg:#0f1117;--bg2:#1a1d27;--bg3:#22263a;--bg4:#2d3148;
  --border:rgba(255,255,255,.07);--border2:rgba(255,255,255,.14);
  --text:#e8eaf0;--text2:#9298ac;--text3:#5a6070;
  --acl:#1a2340;
}
body.dark .ccaa-cell{color:#e8eaf0 !important;}
body.dark input[type=range]::-webkit-slider-runnable-track{background:#2d3148;}
body.dark input[type=range]::-moz-range-track{background:#2d3148;}
body.dark .lsec.acc-sec[style*="#eff6ff"]{background:linear-gradient(135deg,#1a2340,#0f1d35) !important;border-top-color:#2563eb !important;}
body.dark .lsec.acc-sec[style*="#eff6ff"] .lsec-title span[style*="#2563eb"]{color:#60a5fa !important;}
body.dark .bw{background:#2d3148;}
.dm-btn{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.35);border-radius:6px;padding:5px 9px;cursor:pointer;font-size:14px;color:#fff;transition:all .13s;flex-shrink:0;}
.dm-btn:hover{background:rgba(255,255,255,.25);}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:'DM Sans',sans-serif;background:var(--bg);color:var(--text);height:100vh;overflow:hidden;display:flex;flex-direction:column;}
header{display:flex;align-items:center;justify-content:space-between;padding:5px 16px;border-bottom:1px solid rgba(0,0,0,.12);background:#21989C;flex-shrink:0;gap:12px;box-shadow:0 1px 4px rgba(0,0,0,.12);}
header h1{font-family:'Outfit',sans-serif;font-size:24px;font-weight:800;white-space:nowrap;color:#fff;letter-spacing:-.02em;line-height:1.1;}
.hdr-subtitle{font-size:9px;color:rgba(255,255,255,.75);margin-top:2px;max-width:320px;line-height:1.3;}
.ha{display:flex;gap:8px;align-items:center;}
.btn{font-family:'DM Sans',sans-serif;font-size:12px;font-weight:500;padding:5px 13px;border-radius:6px;border:1px solid var(--border2);background:var(--bg2);color:var(--text2);cursor:pointer;transition:all .13s;white-space:nowrap;}
.btn:hover{background:var(--bg3);color:var(--text);}
.btn.pri{background:var(--accent);border-color:var(--accent);color:#fff;}
.btn.pri:hover{background:#1d4ed8;}
.btn.dan{background:#fef2f2;border-color:#fecaca;color:var(--red);}
.btn.dan:hover{background:#fee2e2;}
.btn.suc{background:#f0fdf4;border-color:#bbf7d0;color:var(--green);}
.btn.suc:hover{background:#dcfce7;}
.btn:disabled{opacity:.4;cursor:not-allowed;}
header .btn{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.35);color:#fff;}
header .btn:hover{background:rgba(255,255,255,.25);color:#fff;}
header .btn.pri{background:#fff;border-color:#fff;color:#21989C;}
header .btn.pri:hover{background:rgba(255,255,255,.9);}
.main{display:flex;flex:1;overflow:hidden;}

/* LEFT PANEL */
.lpanel{width:270px;min-width:230px;max-width:290px;border-right:1px solid var(--border);display:flex;flex-direction:column;background:var(--bg3);overflow:hidden;flex-shrink:0;}
.lpanel.lpanel-disabled .lscroll{opacity:0.38;pointer-events:none;user-select:none;}
.lpanel.lpanel-disabled .lphdr{opacity:0.6;}
#lpanel-onoff-btn.disabled{background:#e2e8f0 !important;color:#b0b8c4 !important;cursor:not-allowed !important;pointer-events:none;}
/* Percent input with spinner */
.pct-input-wrap{position:relative;display:inline-block;}
.pct-spin{position:absolute;right:1px;top:50%;transform:translateY(-50%);display:none;flex-direction:column;gap:0;}
.pct-up,.pct-dn{display:block;width:14px;height:11px;padding:0;border:none;background:rgba(33,152,156,.12);color:#21989C;font-size:7px;line-height:1;cursor:pointer;font-family:sans-serif;border-radius:2px;}
.pct-up:hover,.pct-dn:hover{background:rgba(33,152,156,.28);}
@media(hover:hover) and (pointer:fine){.pct-spin{display:flex;}}
.lphdr{padding:8px 14px 6px;border-bottom:1px solid var(--border);font-size:11px;font-weight:700;color:var(--text3);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;gap:8px;letter-spacing:.1em;text-transform:uppercase;background:var(--bg3);flex-wrap:nowrap;}
.lphdr select{font-family:'DM Sans',sans-serif;font-size:11px;border:1px solid var(--border2);border-radius:5px;padding:3px 6px;background:var(--bg2);color:var(--text);cursor:pointer;flex:1;max-width:200px;}
.lscroll{flex:1;overflow-y:auto;padding:8px 10px 10px;scrollbar-width:thin;scrollbar-color:rgba(33,152,156,.45) transparent;background:var(--bg3);display:flex;flex-direction:column;gap:4px;}
/* Left panel sections */
.lsec{padding:12px 14px;}
.lsec+.lsec{border-top:none;}
.lsec-title{font-family:'Outfit',sans-serif;font-size:13px;font-weight:700;color:var(--text);margin-bottom:10px;display:flex;align-items:center;gap:6px;}
.lsec-title .lsec-icon{font-size:14px;}

/* ══ APP-STYLE MENU ROWS ══ */
.acc-hdr{position:relative;}
.acc-menu-item{display:flex;align-items:center;gap:8px;width:100%;flex:1;}
.acc-menu-icon{width:28px;height:28px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;background:transparent;}
.acc-menu-text{display:flex;flex-direction:column;flex:1;min-width:0;}
.acc-menu-title{font-family:'DM Sans',sans-serif;font-size:12px;font-weight:600;color:var(--text);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.acc-menu-sub{display:none;}
.acc-chevron{font-size:14px;color:#bdc5d1;flex-shrink:0;transition:transform .2s;line-height:1;}
.acc-hdr.acc-open .acc-chevron{transform:rotate(90deg);color:var(--accent);}
/* Override existing acc-hdr styles for menu look */
.acc-hdr{padding:7px 12px !important;border-left:none !important;padding-left:12px !important;}
.acc-hdr.acc-open{background:var(--acl);border-left:3px solid var(--accent) !important;padding-left:9px !important;}
.acc-hdr .lsec-title{margin-bottom:0;display:none;}
/* Action buttons row inside Define section */
.def-btns{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:0;}
.def-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;border-radius:10px;border:1.5px solid var(--border2);background:var(--bg3);cursor:pointer;transition:all .15s;font-family:'DM Sans',sans-serif;box-shadow:0 1px 4px rgba(0,0,0,.04);}
.def-btn:hover{background:var(--bg4);transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.1);}
.def-btn .def-icon{font-size:22px;line-height:1;}
.def-btn .def-label{font-size:10px;font-weight:600;color:var(--text2);text-align:center;line-height:1.3;}
.def-btn.dan{border-color:#fecaca;background:#fef2f2;}
.def-btn.dan:hover{background:#fee2e2;}
.def-btn.dan .def-label{color:var(--red);}

/* SEAT BARS */
.seat-bar-wrap{margin-bottom:12px;}
.seat-bar-title{font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:var(--text3);font-weight:500;margin-bottom:6px;}
.seat-party-row{display:grid;grid-template-columns:110px 1fr 36px;align-items:center;gap:6px;margin-bottom:3px;}
.seat-party-name{font-size:10px;font-weight:500;color:var(--text);text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.seat-party-bar-wrap{flex:1;height:18px;background:var(--bg4);border-radius:4px;overflow:visible;position:relative;}
.seat-party-bar{height:18px;border-radius:4px;transition:width .4s ease;display:flex;align-items:center;justify-content:flex-end;min-width:2px;position:relative;}
.seat-party-bar .bar-num-inside{font-size:10px;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.35);white-space:nowrap;padding-right:4px;}
.seat-party-bar .bar-num-outside{position:absolute;left:calc(100% + 4px);font-size:10px;font-weight:700;white-space:nowrap;top:50%;transform:translateY(-50%);}
.seat-maj-vline{position:absolute;top:0;bottom:0;width:2px;background:rgba(217,119,6,.7);transform:translateX(-50%);pointer-events:none;z-index:2;}
.seat-diff{font-size:11px;font-weight:700;min-width:34px;text-align:left;}

/* COALITION CALCULATOR */
.coal-wrap{margin-bottom:12px;background:var(--bg3);border:1px solid var(--border);border-radius:10px;padding:10px 12px;}
.coal-title{font-family:'Syne',sans-serif;font-size:12px;font-weight:700;color:var(--text);margin-bottom:6px;}
.coal-bar-outer{position:relative;height:28px;background:var(--bg4);border-radius:6px;overflow:hidden;margin-bottom:6px;}
.coal-maj-marker{position:absolute;top:0;bottom:0;width:2.5px;background:var(--amber);transform:translateX(-50%);z-index:5;pointer-events:none;}
.coal-maj-label{position:absolute;top:-16px;font-size:9px;color:var(--amber);font-weight:700;transform:translateX(-50%);white-space:nowrap;}
.coal-total-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;}
.coal-total{font-family:'Syne',sans-serif;font-size:22px;font-weight:700;transition:color .3s;}
.coal-ok{color:var(--green);}
.coal-no{color:var(--text2);}
.coal-maj-badge{font-size:11px;font-weight:600;padding:3px 10px;border-radius:20px;}
.coal-maj-ok{background:#dcfce7;color:var(--green);}
.coal-maj-no{background:var(--bg4);color:var(--text3);}
.coal-parties{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:3px;}
.coal-chip{display:flex;align-items:center;gap:6px;padding:5px 8px;border-radius:8px;cursor:pointer;border:2px solid transparent;transition:all .13s;font-size:11px;font-weight:500;user-select:none;background:var(--bg4);color:var(--text2);height:30px;box-sizing:border-box;overflow:hidden;}
.coal-chip.active{color:var(--text);}
.coal-chip .cdot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.coal-chip .cname{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;}
.coal-chip .cseats{font-size:10px;opacity:.8;margin-left:2px;}

/* PROVINCE GRID */
.prov-grid-hdr{font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:var(--text3);font-weight:500;margin-bottom:6px;}
.prov-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(50px,1fr));gap:5px;}
.prov-chip{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4px 3px;border-radius:7px;cursor:pointer;border:2px solid transparent;transition:all .13s;min-height:38px;gap:2px;}
.prov-chip:hover{transform:translateY(-1px);box-shadow:0 3px 8px rgba(0,0,0,.14);}
.prov-chip.sel{border-color:var(--text)!important;}
.prov-chip.mod{outline:2px solid var(--amber);outline-offset:1px;}
.prov-chip .pc-ini{font-size:9px;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3);text-align:center;line-height:1.1;}
.prov-chip .pc-seats{font-size:8px;color:rgba(255,255,255,.85);font-weight:500;}

/* PROVINCE TOOLTIP */
.prov-tt{display:none;position:fixed;background:var(--bg2);border:1px solid var(--border2);border-radius:10px;padding:10px 14px;z-index:20000;box-shadow:0 4px 20px rgba(0,0,0,.12);font-size:12px;min-width:170px;pointer-events:none;}
.prov-tt.vis{display:block;}
.prov-tt-name{font-weight:700;font-size:13px;margin-bottom:6px;color:var(--text);}
.prov-tt-row{display:flex;align-items:center;gap:6px;margin-bottom:3px;}
.prov-tt-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}

/* VOTE TRANSFER */
.xfer-wrap{margin-top:12px;background:var(--bg3);border:1px solid var(--border2);border-radius:10px;padding:10px 12px;}
.xfer-title{font-family:'Syne',sans-serif;font-size:12px;font-weight:700;color:var(--text);margin-bottom:3px;}
.xfer-desc{font-size:10px;color:var(--text3);margin-bottom:8px;}
.xfer-row{display:flex;gap:8px;align-items:flex-end;}
.xfer-field{display:flex;flex-direction:column;flex:1;}
.xfer-lbl{font-size:10px;color:var(--text2);margin-bottom:3px;font-weight:500;}
.xfer-sel{font-family:'DM Sans',sans-serif;font-size:11px;border:1px solid var(--border2);border-radius:6px;padding:4px 6px;background:var(--bg2);color:var(--text);cursor:pointer;width:100%;}
.xfer-arrow{font-size:16px;color:var(--accent);padding-bottom:4px;flex-shrink:0;}

/* RIGHT PANEL */
.rpanel{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--bg2);}
.vnat{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;}
.vprov{display:none;flex-direction:column;flex:1;min-height:0;overflow:hidden;}
.tabs{display:flex;border-bottom:1px solid var(--border);flex-shrink:0;background:var(--bg2);}
.tab{font-family:'DM Sans',sans-serif;font-size:12px;font-weight:500;padding:9px 14px;border:none;background:transparent;color:var(--text3);cursor:pointer;border-bottom:2px solid transparent;transition:all .13s;}
.tab:hover{color:var(--text2);}
.tab.active{color:var(--accent);border-bottom-color:var(--accent);}
.tc{display:none;flex-direction:column;flex:1;min-height:0;}
.tc.active{display:flex;}
.scroll{flex:1;overflow-y:auto;padding:12px 14px 38px;scrollbar-width:thin;scrollbar-color:rgba(33,152,156,.45) transparent;background:var(--bg2);}
::-webkit-scrollbar{width:5px;}
::-webkit-scrollbar-thumb{background:rgba(33,152,156,.45);border-radius:3px;}
::-webkit-scrollbar-thumb:hover{background:rgba(33,152,156,.7);}
body.dark ::-webkit-scrollbar-thumb{background:rgba(78,207,207,.35);border-radius:3px;}
body.dark ::-webkit-scrollbar-thumb:hover{background:rgba(78,207,207,.6);}

/* SUMMARY CARDS — always 3 columns, compact on mobile */
.scards{display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:14px;background:var(--bg2);border:1px solid var(--border);border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.07);overflow:hidden;align-items:stretch;}
.sc{background:var(--bg2);border-right:none;padding:10px 12px;text-align:center;position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:76px;box-sizing:border-box;}
.sc:last-child{border-right:none;}
.sc+.sc::before{content:'';position:absolute;left:0;top:20%;bottom:20%;width:1px;background:var(--border);}
body.dark .sc{background:var(--bg2);}
.sc .lbl{font-size:9px;color:var(--text3);margin-bottom:4px;text-transform:uppercase;letter-spacing:.07em;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0;}
.sc .val{font-family:'Outfit',sans-serif;font-size:18px;font-weight:800;color:var(--text);line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0;}
.sc .val2{font-size:10px;font-weight:600;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0;}

/* RESULTS TABLE - matches design image */
.slbl{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--text3);margin-bottom:8px;font-weight:500;}
.rt-wrap{overflow-x:hidden;}
.rt{width:100%;border-collapse:collapse;font-size:12px;}
#modcount:empty{display:none !important;}
/* rt col widths via colgroup */
.rt th{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--text3);font-weight:500;padding:5px 7px;text-align:right;border-bottom:1.5px solid var(--border2);white-space:nowrap;background:var(--bg2);}
.rt th:first-child{text-align:left;}
.rt td{padding:4px 7px;border-bottom:1px solid var(--border);text-align:right;vertical-align:middle;}
.rt td:first-child{text-align:left;}
.rt-pct-td{font-size:13px;}
.prov-pct-td{font-size:13px;}
.rt tr:hover td{background:var(--acl);}
.pnc{display:flex;align-items:center;gap:6px;min-width:0;}
.pnc b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;}
.pd{width:9px;height:9px;border-radius:50%;flex-shrink:0;}
.bw{height:10px;background:var(--bg4);border-radius:3px;overflow:hidden;}
.bf{height:10px;border-radius:3px;transition:width .4s;}
.diff-up{color:var(--green);font-size:11px;font-weight:400;}
.diff-dn{color:var(--red);font-size:11px;font-weight:400;}
.diff-eq{color:var(--text3);font-size:11px;}
.esc-num{font-weight:700;font-size:13px;color:var(--text);}

/* PROVINCE HEADER */
.phdr{padding:10px 14px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px;flex-shrink:0;background:var(--bg2);}
.ptitle{font-family:'Syne',sans-serif;font-size:14px;font-weight:700;flex:1;color:var(--text);}
.modtag{font-size:9px;background:#fff7ed;color:var(--amber);padding:2px 7px;border-radius:4px;border:1px solid #fed7aa;}
.pmeta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px;}
.mc{background:var(--bg2);border:1px solid var(--border);border-radius:8px;padding:9px 12px;}
.mc .val{font-size:13px;font-weight:600;color:var(--text);}
.mc .lbl{font-size:9px;color:var(--text3);margin-top:2px;text-transform:uppercase;letter-spacing:.05em;}
.mc input[type=range]{width:100%;margin-top:5px;accent-color:var(--accent);cursor:pointer;}
.mc .rv{font-size:10px;color:var(--accent);font-weight:500;margin-top:1px;}

/* PROVINCE SEAT BAR */
.prov-seat-bar-wrap{background:var(--bg2);border:1px solid var(--border);border-radius:8px;padding:10px 12px;margin-bottom:10px;}
.psb-title{font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:var(--text3);font-weight:500;margin-bottom:6px;}
.psb-bar{display:flex;height:28px;border-radius:5px;overflow:hidden;margin-bottom:8px;}
.psb-seg{height:100%;display:flex;align-items:center;justify-content:center;}
.psb-seg-num{font-size:11px;font-weight:700;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.5);}
.psb-leg{display:flex;flex-wrap:wrap;gap:5px;}
.psb-leg-item{display:flex;align-items:center;gap:3px;font-size:10px;color:var(--text2);}

/* EDIT CONTROLS */
.ehdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;}
.prem{font-size:12px;font-weight:600;padding:3px 10px;border-radius:20px;}
.prem.ok{background:#dcfce7;color:var(--green);}
.prem.over{background:#fee2e2;color:var(--red);}
.prem.under{background:#fff7ed;color:var(--amber);}

/* Province party rows - table style matching main results */
.prov-rt{width:100%;border-collapse:collapse;font-size:12px;}
.prov-rt th{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--text3);font-weight:500;padding:5px 7px;text-align:right;border-bottom:1.5px solid var(--border2);white-space:nowrap;background:var(--bg2);}
.prov-rt th:first-child{text-align:left;}
.prov-rt td{padding:4px 7px;border-bottom:1px solid var(--border);text-align:right;vertical-align:middle;}
.prov-rt td:first-child{text-align:left;}
.prov-rt tr:hover td{background:var(--acl);}
/* slider cell */
.prov-slider-cell{display:flex;align-items:center;gap:4px;width:100%;}
.prov-slider-cell input[type=range]{flex:1;cursor:pointer;height:10px;}
.prov-slider-pct{font-size:12px;font-weight:600;min-width:40px;text-align:right;}
.prov-step-btn{width:18px;height:18px;border:1px solid var(--border2);border-radius:3px;background:var(--bg2);font-size:9px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--text2);padding:0;}
.prov-step-btn:hover{background:var(--bg3);}

/* Force ALL range sliders to have a light grey track — overrides browser defaults */
input[type=range]{
  -webkit-appearance:none;
  appearance:none;
  background:transparent;
  outline:none;
}
input[type=range]::-webkit-slider-runnable-track{
  height:6px;
  border-radius:3px;
  background:#e4e6ef;  /* always light grey */
  border:none;
}
input[type=range]::-moz-range-track{
  height:6px;
  border-radius:3px;
  background:#e4e6ef;
  border:none;
}
input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none;
  width:18px;
  height:18px;
  border-radius:50%;
  background:var(--thumbColor,#555); /* overridden inline per party */
  cursor:pointer;
  margin-top:-6px;
  box-shadow:0 1px 4px rgba(0,0,0,.25);
  border:2px solid #fff;
}
input[type=range]::-moz-range-thumb{
  width:18px;
  height:18px;
  border-radius:50%;
  background:var(--thumbColor,#555);
  cursor:pointer;
  border:2px solid #fff;
  box-shadow:0 1px 4px rgba(0,0,0,.25);
}

/* ═══════════════ MOBILE RESPONSIVE ═══════════════ */
@media (max-width:768px){
  body{height:auto;overflow:auto;}
  .main{flex-direction:column;}
  .lpanel{width:100%;min-width:unset;max-width:unset;border-right:none;border-bottom:1px solid var(--border);max-height:none;overflow:visible;}
  .lscroll{max-height:none;overflow:visible;padding:4px 10px 8px;}
  .rpanel{width:100%;}
  .vnat,.vprov{height:auto;}
  .tc{overflow:visible;}
  .tc.active{display:block;}
  .scroll{overflow:visible;padding:12px;}
  /* Show left panel on mobile but collapsed */
  .lpanel{display:none !important;}
  .lscroll{display:none;}
  body{padding-bottom:62px !important;}
  .lscroll.open{display:flex !important;}
  .lscroll.collapsed{display:none !important;}
  .lscroll.collapsed{display:none;}
  /* Toggle switch */
  .tog-switch{position:relative;width:38px;height:22px;flex-shrink:0;}
  .tog-switch input{opacity:0;width:0;height:0;position:absolute;}
  .tog-slider{position:absolute;inset:0;border-radius:22px;background:#ccc;transition:.25s;cursor:pointer;}
  .tog-slider:before{content:'';position:absolute;height:16px;width:16px;left:3px;bottom:3px;border-radius:50%;background:#fff;transition:.25s;}
  .tog-switch input:checked+.tog-slider{background:#21989C;}
  .tog-switch input:checked+.tog-slider:before{transform:translateX(16px);}
  /* Compact province grid */
  .prov-grid{grid-template-columns:repeat(auto-fill,minmax(42px,1fr));gap:3px;}
  /* Prevent horizontal scroll on mobile */
  html,body{overflow-x:hidden;max-width:100vw;}
  .rpanel,.vnat,.vprov,.tc,.results-layout,.res-scroll,.res-card{max-width:100%;box-sizing:border-box;}
  /* Province edit table: compact 2-line layout, no horizontal scroll */
  .prov-rt-wrap{overflow-x:hidden;max-width:100%;}
  .prov-rt{min-width:0;width:100%;table-layout:fixed;font-size:11px;}
  .prov-rt td:nth-child(1),.prov-rt th:nth-child(1){width:32%;}
  .prov-rt td:nth-child(2),.prov-rt th:nth-child(2){width:22%;}
  .prov-rt td:nth-child(3),.prov-rt th:nth-child(3){width:14%;}
  .prov-rt td:nth-child(4),.prov-rt th:nth-child(4){width:auto;min-width:0;}
  .prov-rt td:first-child,.prov-rt th:first-child{max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .prov-rt td:nth-child(2),.prov-rt th:nth-child(2){text-align:right;white-space:nowrap;}
  .prov-rt td:nth-child(3),.prov-rt th:nth-child(3){text-align:center;white-space:nowrap;}
  /* National results table: mobile overrides */
  .rt-wrap{overflow-x:hidden;max-width:100%;}
  .rt{min-width:0;width:100%;font-size:11px;table-layout:fixed;}
  .rt th:first-child,.rt td:first-child{width:33%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .rt td:nth-child(2),.rt th:nth-child(2){width:21%;text-align:center;font-size:11px;}
  .rt td:nth-child(3),.rt th:nth-child(3){width:14%;text-align:center;font-size:11px;}
  .rt-pct-td{font-size:11px;}
  .prov-pct-td{font-size:11px !important;}
  .rt td:nth-child(4){width:auto;min-width:0;}
  .rt td:nth-child(5),.rt th:nth-child(5){width:16%;white-space:nowrap;}
  /* Hide summary cards on mobile */
  .scards{display:none;}
  /* Hide bar column on mobile in all tables */
  /* Hide bar column only when editing (table gets class 'editing') */
  .prov-rt.editing td:nth-child(4),.prov-rt.editing th:nth-child(4){display:none;}
  .rt.editing td:nth-child(4),.rt.editing th:nth-child(4){display:none;}
  /* In edit mode province table, bar is col 4 and %Nuevo is col 5 — hide bar, keep %Nuevo */
  /* Compact votos & bar on mobile */
  .rt td:nth-child(4){min-width:50px;}
  /* Hide Dif.23pp, Esc, Dif.23 columns — moved to 2nd line */
  .prov-rt td.m-hide-seat,.prov-rt th.m-hide-seat{display:none;}
  .prov-rt.editing td.m-hide,.prov-rt.editing th.m-hide{display:none;}
  /* rt: hide only Esc/Dif seat columns; Dif.pp stays visible */
  .rt td.m-hide-seat,.rt th.m-hide-seat{display:none;}
  /* Show 2nd line row on mobile */
  .prov-rt tr.m-extra,.rt tr.m-extra{display:table-row;}
  .prov-rt tr.m-extra td,.rt tr.m-extra td{
    padding:0 7px 6px;
    border-bottom:1px solid var(--border);
    font-size:11px;color:var(--text2);text-align:left;
  }
  /* Seat bars smaller */
  .seat-party-row{margin-bottom:4px;}
  /* Header compact */
  header{padding:6px 10px;flex-wrap:nowrap;position:relative;}

  header h1{font-size:15px;white-space:normal;line-height:1.2;}
  #hdr-subtitle{font-size:10px;}
  .ha{flex-shrink:0;}
  .ha .btn{padding:4px 10px;font-size:11px;}

  /* Summary cards: stay 3-col but compact */
  .scards{gap:4px;}
  .sc{padding:7px 6px;}
  .sc .val{font-size:13px;}
  .sc .val2{font-size:9px;}
  .sc .lbl{font-size:8px;}
  /* Show Dif.23pp on mobile, hide only Esc and Dif.23 seat columns */
  .rt td.m-hide-seat,.rt th.m-hide-seat{display:none;}
  /* Province header compact */
  .phdr{flex-wrap:wrap;gap:6px;}
  .ptitle{font-size:13px;}
  .pmeta{grid-template-columns:1fr 1fr;}
  /* CCAA table scrollable */
  #ccaa-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
  /* Tabs scrollable */
  .tabs{overflow-x:auto;white-space:nowrap;scrollbar-width:none;}
  .tabs::-webkit-scrollbar{display:none;}
  .tab{font-size:11px;padding:8px 10px;}
  /* Pactos: on mobile stack vertically and single col */
  #tab-pactos .coal-parties{grid-template-columns:1fr 1fr !important;}
  #tab-pactos > div > div > .res-card > div:last-child{flex-direction:column;}
  #tab-pactos > div > div > .res-card > div:last-child > div:first-child{width:100% !important;}

  .coal-chip{padding:4px 6px;font-size:10px;height:26px;}
  /* Transfer tool */
  .xfer-row{flex-wrap:wrap;}
  .xfer-field{min-width:calc(50% - 4px);}
}
@media (max-width:480px){
  .lphdr{flex-direction:row;align-items:center;flex-wrap:nowrap;}
  .lphdr select{max-width:100%;width:100%;}
  header h1{font-size:16px;}
  .pmeta{grid-template-columns:1fr 1fr;}
  .prov-grid{grid-template-columns:repeat(auto-fill,minmax(38px,1fr));}
  /* Even more compact scards at very small screens */
  .sc .val{font-size:12px;}
  .sc .val2{font-size:8px;}
}


.prov-rt tr.m-extra,.rt tr.m-extra{display:none;}  /* shown only on mobile via media query */
/* CCAA TABLE */
.ccaa-tbl{border-collapse:collapse;font-size:11px;white-space:nowrap;table-layout:fixed;width:100%;}
.ccaa-tbl th{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--text3);font-weight:500;padding:5px 5px;text-align:center;border-bottom:1.5px solid var(--border2);background:var(--bg3);position:sticky;top:0;z-index:2;width:48px;}
.ccaa-tbl th:first-child{text-align:left;position:sticky;left:0;z-index:3;background:var(--bg3);width:120px;}
.ccaa-tbl th:last-child{width:50px;}
.ccaa-tbl td{padding:3px 4px;border-bottom:1px solid var(--border);text-align:center;font-size:10px;overflow:hidden;text-overflow:ellipsis;}
.ccaa-tbl td:first-child{text-align:left;font-weight:500;font-size:10px;position:sticky;left:0;background:var(--bg2);z-index:1;width:120px;max-width:120px;overflow:hidden;text-overflow:ellipsis;}
.ccaa-tbl .total-row td{font-weight:700;background:var(--bg3);border-top:1.5px solid var(--border2);}
.ccaa-tbl .total-row td:first-child{background:var(--bg3);}
.ccaa-hdr-dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-bottom:2px;}
.ccaa-cell{border-radius:4px;padding:2px 3px;display:block;width:100%;font-weight:500;color:#000;transition:all .15s;text-align:center;overflow:hidden;text-overflow:ellipsis;}
.ccaa-tbl th{cursor:pointer;}
.ccaa-tbl th:hover{background:var(--bg4);}
#ccaa-btn-pct.active,#ccaa-btn-esc.active,#prov-btn-pct.active,#prov-btn-esc.active{background:var(--accent);border-color:var(--accent);color:#fff;}


/* ══ BLOC POPOUT ══ */
.bloc-row{position:relative;}
.bloc-pop{
  display:none;
  pointer-events:none;
  position:absolute;
  left:0;
  bottom:calc(100% + 4px);
  top:auto!important;
  z-index:500!important;
  background:var(--bg2);
  border:1px solid var(--border2);
  border-radius:10px;
  padding:10px 12px;
  box-shadow:0 4px 20px rgba(0,0,0,.14);
  min-width:200px;
  max-width:320px;
}
.bloc-row:hover .bloc-pop,.bloc-row:focus-within .bloc-pop{display:block!important;}
@media(max-width:768px){
  .bloc-pop{max-width:calc(100vw - 40px);left:0;right:0;bottom:calc(100% + 4px);}
}


/* ══ BLOC EDITOR ══ */
.bloc-editor{margin-top:10px;display:flex;flex-direction:column;gap:8px;}
.bloc-editor-hint{font-size:10px;color:var(--text3);line-height:1.4;margin-bottom:2px;}
.bloc-lanes{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.bloc-lane{background:var(--bg3);border:1.5px solid var(--border2);border-radius:8px;padding:8px 10px;min-height:44px;}
.bloc-lane-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;margin-bottom:5px;display:flex;align-items:center;gap:5px;}
.bloc-lane-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.bloc-pills{display:flex;flex-wrap:wrap;gap:3px;min-height:20px;}
.bloc-pill{display:inline-flex;align-items:center;gap:3px;padding:2px 7px 2px 5px;border-radius:12px;font-size:10px;font-weight:600;cursor:pointer;border:1.5px solid transparent;transition:all .12s;white-space:nowrap;}
.bloc-pill:hover{opacity:.8;transform:scale(.97);}
.bloc-pill .pill-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;}
.bloc-pill .pill-x{font-size:9px;margin-left:2px;opacity:.6;}
.bloc-party-pool{display:flex;flex-wrap:wrap;gap:3px;margin-top:6px;padding-top:6px;border-top:1px solid var(--border);}
.bloc-pool-party{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:12px;font-size:10px;font-weight:600;cursor:pointer;border:1.5px solid transparent;transition:all .12s;white-space:nowrap;background:var(--bg4);color:var(--text2);}
.bloc-pool-party:hover{background:var(--bg3);color:var(--text);border-color:var(--border2);}
.bloc-pool-party .pill-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;}
.bloc-pool-label{font-size:9px;color:var(--text3);width:100%;margin-bottom:2px;}

/* ══ ACCORDION ══ */
.acc-hdr{display:flex;align-items:center;justify-content:space-between;cursor:pointer;user-select:none;padding:11px 14px;border-bottom:none;transition:background .15s;}
#acc-start-hdr,#acc-addparty-hdr,#acc-prov-hdr,#acc-transfer-hdr{background:transparent;}
#acc-start-hdr:hover,#acc-addparty-hdr:hover,#acc-prov-hdr:hover,#acc-transfer-hdr:hover{background:rgba(0,0,0,.05);}
.acc-hdr:hover{background:rgba(0,0,0,.05);}
.acc-hdr.acc-open{background:var(--acl);border-left:3px solid var(--accent) !important;}
.acc-hdr.acc-open .acc-menu-title{color:var(--accent);}
.acc-hdr.acc-open .acc-chevron{color:var(--accent);}
.acc-hdr .lsec-title{margin-bottom:0;flex:1;transition:color .15s;}
.acc-arrow{font-size:11px;color:var(--text3);transition:transform .2s, color .15s;flex-shrink:0;margin-left:6px;}
.acc-body{overflow:hidden;max-height:0;transition:max-height .25s ease;}
.acc-body.open{max-height:2000px;}
.acc-body-inner{padding:12px 14px;background:var(--bg2);}
.lsec.acc-sec{padding:0;background:var(--bg3);overflow:hidden;border:none;}
.acc-sec+.acc-sec::before{content:'';display:block;height:1px;background:rgba(0,0,0,.04);margin:0 10px;}



/* ══ BLOC EDITOR MODAL ══ */
#bloc-editor-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:8000;align-items:center;justify-content:center;padding:20px;}
#bloc-editor-overlay.open{display:flex;}
#bloc-editor-modal{background:var(--bg2);border-radius:14px;width:100%;max-width:480px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 8px 40px rgba(0,0,0,.25);overflow:hidden;}
.bem-hdr{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border);flex-shrink:0;}
.bem-hdr h3{font-family:'Outfit',sans-serif;font-size:14px;font-weight:700;color:var(--text);}
.bem-close{background:none;border:none;font-size:18px;cursor:pointer;color:var(--text3);padding:2px 6px;border-radius:5px;}
.bem-close:hover{background:var(--bg3);}
.bem-body{flex:1;overflow-y:auto;padding:12px 16px;}
.bem-bloc-section{margin-bottom:14px;}
.bem-bloc-title{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;margin-bottom:6px;}
.bem-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.bem-party-list{display:flex;flex-wrap:wrap;gap:5px;min-height:32px;border:1.5px dashed var(--border2);border-radius:8px;padding:6px;background:var(--bg3);}
.bem-pill{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:20px;font-size:10px;font-weight:600;cursor:pointer;transition:all .13s;border:1.5px solid transparent;user-select:none;}
.bem-pill:hover{transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,.15);}
.bem-pill .bem-pdot{width:6px;height:6px;border-radius:50%;flex-shrink:0;}
.bem-footer{padding:10px 16px;border-top:1px solid var(--border);display:flex;gap:8px;justify-content:flex-end;flex-shrink:0;}

/* ══ ELECTION SELECTOR ══ */
#election-selector{position:fixed;inset:0;background:var(--bg);z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:16px;padding:24px 8px 60px;overflow-y:auto;}
.sel-title{font-family:'Outfit',sans-serif;font-size:28px;font-weight:800;color:#21989C;text-align:center;line-height:1.2;}
.sel-subtitle{font-size:12px;color:var(--text3);text-align:center;max-width:400px;line-height:1.5;}
.sel-carousel-wrap{position:relative;width:100%;max-width:98vw;display:flex;align-items:center;gap:8px;}
.sel-cards{display:flex;gap:16px;flex:1;overflow:hidden;justify-content:center;padding:8px 4px 12px;margin:-8px -4px -12px;}
.sel-cards-inner{display:flex;gap:16px;transition:transform .35s cubic-bezier(.4,0,.2,1);will-change:transform;justify-content:center;}
.sel-card{flex:0 0 180px;background:var(--bg2);border:2px solid var(--border2);border-radius:14px;padding:18px 16px;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;box-shadow:0 2px 12px rgba(0,0,0,.06);box-sizing:border-box;}
.sel-card:hover{border-color:#21989C;transform:translateY(-4px);box-shadow:0 8px 28px rgba(33,152,156,.18);}
.sel-card.disabled{opacity:.45;cursor:default;pointer-events:none;}
.sel-card .sel-icon{font-size:32px;line-height:1;}
.sel-card .sel-name{font-family:'Outfit',sans-serif;font-size:14px;font-weight:700;color:var(--text);}
.sel-card .sel-desc{font-size:11px;color:var(--text3);line-height:1.4;}
.sel-card .sel-tag{font-size:10px;font-weight:600;padding:2px 8px;border-radius:10px;background:#dcfce7;color:#16a34a;}
.sel-card.disabled .sel-tag{background:var(--bg4);color:var(--text3);}
/* ── Glossy flag circle ── */
.sel-flag-wrap{position:relative;width:64px;height:64px;border-radius:50%;flex-shrink:0;box-shadow:0 4px 16px rgba(0,0,0,.18),0 1px 3px rgba(0,0,0,.12),inset 0 1px 0 rgba(255,255,255,.4);overflow:hidden;border:2px solid rgba(255,255,255,.55);}
.sel-flag{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block;}
.sel-flag-gloss{position:absolute;top:0;left:0;width:100%;height:52%;background:linear-gradient(180deg,rgba(255,255,255,.45) 0%,rgba(255,255,255,.08) 100%);border-radius:50% 50% 0 0 / 60% 60% 0 0;pointer-events:none;}
.sel-card:hover .sel-flag-wrap{box-shadow:0 6px 22px rgba(33,152,156,.35),0 1px 3px rgba(0,0,0,.12),inset 0 1px 0 rgba(255,255,255,.5);border-color:rgba(33,152,156,.6);}
.sel-arrow{flex:0 0 36px;width:36px;height:36px;border-radius:50%;border:2px solid var(--border2);background:var(--bg2);color:var(--text2);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;user-select:none;}
.sel-arrow:hover{border-color:#21989C;color:#21989C;background:var(--bg3);}
@media (max-width:520px){
  .sel-carousel-wrap{flex-direction:column;align-items:stretch;}
  .sel-arrow{display:none;}
  .sel-cards{overflow:visible;justify-content:center;padding:4px 8px 8px;}
  .sel-cards-inner{flex-direction:column;align-items:stretch;transform:none!important;gap:10px;width:100%;max-width:360px;margin:0 auto;}
  .sel-card{flex:0 0 auto;width:100%;}
}
.home-btn{background:none;border:1px solid var(--border2);border-radius:6px;padding:5px 9px;cursor:pointer;font-size:16px;color:var(--text2);transition:all .13s;display:none;}
.home-btn:hover{background:var(--bg3);}
.sel-dm-btn{position:absolute;top:16px;right:16px;background:none;border:1px solid var(--border2);border-radius:8px;padding:6px 10px;cursor:pointer;font-size:16px;color:var(--text2);}
.sel-dm-btn:hover{background:var(--bg3);}
.site-footer{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--border);padding:7px 20px;font-size:11px;color:var(--text3);display:flex;align-items:center;justify-content:space-between;z-index:50;flex-shrink:0;line-height:1.4;gap:12px;}
.site-footer a{color:#21989C;text-decoration:none;font-weight:500;}
@media(max-width:768px){
  .site-footer{position:static;margin-top:16px;}
}
/* Shift main content up from footer */

#election-selector{padding-bottom:60px;}
@media(min-width:769px) and (min-height:600px){
  #election-selector{justify-content:center;}
}
@media(max-width:768px){
  #election-selector{justify-content:flex-start;padding-top:24px;padding-bottom:24px;overflow-y:auto;}
}
@media(max-height:599px){
  #election-selector{padding-top:10px;gap:8px;}
  #election-selector .sel-cards{gap:8px;}
}
.notice{font-size:11px;color:var(--accent);padding:6px 10px;background:var(--acl);border-radius:6px;border-left:2px solid var(--accent);margin-bottom:10px;}

/* ── HEADER NAV BUTTONS ── */
.hdr-nav-btn{display:flex;align-items:center;gap:6px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.28);border-radius:8px;padding:6px 12px;cursor:pointer;font-family:'DM Sans',sans-serif;font-size:12px;font-weight:500;color:rgba(255,255,255,.92);transition:all .15s;white-space:nowrap;flex-shrink:0;}
.hdr-nav-btn:hover{background:rgba(255,255,255,.24);color:#fff;}
.hdr-nav-lbl{font-size:12px;}
@media(max-width:768px){.hdr-nav-lbl{display:none;}.hdr-nav-btn{padding:6px 8px;}}
.results-layout{display:grid;grid-template-columns:50% 50%;grid-template-rows:auto auto;background:var(--bg2);}
.results-left{background:var(--bg2);grid-column:1;grid-row:1;}
.results-right{background:var(--bg2);grid-column:2;grid-row:1/3;}
.res-bloques-col{background:var(--bg2);grid-column:1;grid-row:2;}
.res-scroll{padding:12px 14px 12px;display:flex;flex-direction:column;gap:12px;}
@media(max-width:900px){
  .results-layout{grid-template-columns:1fr;grid-template-rows:auto;}
  .results-left{border-right:none;border-bottom:none;grid-column:1;grid-row:auto;order:1;}
  .results-right{grid-column:1;grid-row:auto;order:2;}
  .res-bloques-col{border-right:none;border-top:none;grid-column:1;grid-row:auto;order:3;}
}
#res-hemi-wrap{position:relative;width:100%;max-width:460px;margin:0 auto;}
.res-hemi-center{position:absolute;bottom:4%;left:50%;transform:translateX(-50%);text-align:center;pointer-events:none;}
.res-hemi-num{font-family:'Outfit',sans-serif;font-size:30px;font-weight:800;line-height:1;color:var(--text);}
.res-hemi-lbl{font-size:9px;color:var(--text3);text-transform:uppercase;letter-spacing:.07em;}
.res-hemi-sub{font-size:10px;color:var(--text3);margin-top:1px;}
.seat-legend{display:grid;grid-template-columns:1fr 1fr;gap:0 10px;margin-top:10px;}
.seat-leg-row{display:flex;align-items:center;gap:6px;padding:3px 0;border-bottom:1px solid var(--border);}
.seat-leg-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;}
.seat-leg-name{font-size:11px;color:var(--text2);flex:1;}
.seat-leg-num{font-size:12px;font-weight:700;color:var(--text);}
.panel-hdr{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#21989C;font-weight:700;margin-bottom:6px;}
.res-card{background:var(--bg2);border:1px solid var(--border);border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.07);padding:14px 16px;overflow:hidden;}
body.dark .res-card{background:var(--bg2);}

/* ══ PANEL POPOUT ══ */
#lpanel-popout{display:none;position:fixed;z-index:100001;background:#fff;border-radius:14px;box-shadow:0 8px 40px rgba(0,0,0,.18);border:1px solid var(--border2);width:360px;max-height:85vh;overflow:hidden;display:none;flex-direction:column;}
body.dark #lpanel-popout{background:var(--bg2);}
#lpanel-popout.open{display:flex;}
.lpp-hdr{display:flex;align-items:center;justify-content:space-between;padding:13px 16px 11px;border-bottom:1px solid var(--border);flex-shrink:0;}
.lpp-title{font-family:'Outfit',sans-serif;font-size:14px;font-weight:700;color:var(--text);display:flex;align-items:center;gap:8px;}
.lpp-close{background:none;border:none;font-size:18px;cursor:pointer;color:var(--text3);padding:2px 6px;border-radius:5px;line-height:1;}
.lpp-close:hover{background:var(--bg3);}
.lpp-body{flex:1;overflow-y:auto;padding:14px 16px;scrollbar-width:thin;}
#lpanel-popout-backdrop{display:none;position:fixed;inset:0;z-index:100000;}
#lpanel-popout-backdrop.open{display:block;}
#lpanel-popout-backdrop.enc-open{display:block;background:rgba(0,0,0,.35);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);}
@media(max-width:768px){
  #lpanel-popout.open{max-height:72vh !important;width:96vw !important;max-width:96vw !important;top:50% !important;left:50% !important;transform:translate(-50%,-50%) !important;overflow:hidden !important;}
  #lpanel-popout #encuestas-table-wrap{max-height:40vh;overflow:auto;display:block;}
}


/* ══════ NOCHE ELECTORAL ══════ */

@keyframes nochePulse{0%{box-shadow:0 0 0 0 rgba(239,68,68,.7);}70%{box-shadow:0 0 0 8px rgba(239,68,68,0);}100%{box-shadow:0 0 0 0 rgba(239,68,68,0);}}
#noche-overlay ::-webkit-scrollbar{width:4px;}
#noche-overlay ::-webkit-scrollbar-thumb{background:rgba(245,158,11,.3);border-radius:2px;}
.noche-tab-btn:hover{color:#9ca3af !important;}
.noche-tabs-row::-webkit-scrollbar{display:none;}
/* Desktop: hide the pactos tab button (shown as sidebar instead) */
@media(min-width:769px){
  .noche-tab-pactos-mobile{display:none !important;}
}
/* Mobile: hide the sidebar, show as tab */
@media(max-width:768px){
  #noche-pactos-sidebar{display:none !important;}
}

/* ── NOCHE LIGHT MODE ── */
#noche-overlay.noche-light{ background:#f0f4f8 !important; }
#noche-overlay.noche-light #noche-banner{ background:linear-gradient(90deg,#e8edf5,#dde4f0,#e8edf5) !important; }
#noche-overlay.noche-light #noche-escrutinio-bar{ background:#e8edf5 !important; border-bottom-color:rgba(245,158,11,.3) !important; }
#noche-overlay.noche-light #noche-titular{ color:#374151 !important; background:rgba(245,158,11,.08) !important; }
#noche-overlay.noche-light #noche-ticker-track span{ color:#1a1c22 !important; }
#noche-overlay.noche-light #noche-ticker-track b{ color:inherit; }
#noche-overlay.noche-light .noche-tabs-row{ background:#e8edf5 !important; border-bottom-color:rgba(0,0,0,.1) !important; }
#noche-overlay.noche-light #noche-content-area{ background:#f0f4f8 !important; }
#noche-overlay.noche-light #noche-pactos-sidebar{ background:#e8edf5 !important; border-left-color:rgba(245,158,11,.3) !important; }
#noche-overlay.noche-light #noche-content-wrapper{ background:#f0f4f8; }
/* Light mode: table text */
#noche-overlay.noche-light b[style*="#e5e7eb"]{ color:#1a1c22 !important; }
#noche-overlay.noche-light td[style*="#6b7280"]{ color:#5a5f72 !important; }
/* Light mode: scards */
#noche-overlay.noche-light #noche-scards > div{ background:rgba(0,0,0,.04) !important; border-color:rgba(0,0,0,.1) !important; }
/* Light mode: party chips in sidebar */
#noche-overlay.noche-light #noche-coal-parties-sb > div{ background:rgba(0,0,0,.05) !important; }
/* Light mode: seat bars */
#noche-overlay.noche-light [style*="rgba(255,255,255,.06)"]{ background:rgba(0,0,0,.08) !important; }
/* Light: progress bar bg */
#noche-overlay.noche-light [style*="rgba(255,255,255,.05)"]{ background:rgba(0,0,0,.06) !important; }
/* Light mode: Volver a mis datos button */
#noche-overlay.noche-light #noche-escrutinio-fin button:last-child{ color:#1a1c22 !important; border-color:rgba(0,0,0,.2) !important; background:rgba(0,0,0,.06) !important; }
#noche-overlay.noche-light #noche-escrutinio-fin button:last-child:hover{ background:rgba(0,0,0,.1) !important; }
#noche-overlay.noche-light .noche-tabs-row{ background:#dde4f0 !important; }
/* Light mode: tab button default text color */
#noche-overlay.noche-light .noche-tab-btn{ color:#6b7280 !important; }
/* Noche mode: dark tooltip skin */
#noche-overlay ~ #prov-tt, body.noche-active .prov-tt{
  background:#1a1d27 !important;
  border-color:rgba(245,158,11,.35) !important;
  color:#e8eaf0 !important;
}
#noche-overlay ~ #prov-tt .prov-tt-name, body.noche-active .prov-tt .prov-tt-name{ color:#f0f2f8 !important; }
#noche-overlay ~ #prov-tt .prov-tt-row, body.noche-active .prov-tt .prov-tt-row{ border-color:rgba(255,255,255,.08) !important; }
/* Light mode: mapa SVG inset borders */
#noche-overlay.noche-light #noche-mapa-canarias,
#noche-overlay.noche-light #noche-mapa-ceuta{ border-color:rgba(0,0,0,.12) !important; }

/* Tendencia tab */
.tab-tendencia { border-left: 3px solid var(--teal, #21989c) !important; }
.tab-tendencia.active { background: var(--teal, #21989c) !important; color: #fff !important; }

/* Tendencia encuestas — móvil */
@media(max-width:768px){
  #vtendencia{overflow-y:hidden !important;}
}
