:root{
  --bg:#0f1115;--card:#151822;--muted:#8b93a6;--text:#e6e9f2;
  --accent:#22d3ee;--accent2:#60a5fa;--chip:#1f2433;
  --border:#232738;--sticky:#121522;--danger:#ef4444
}
*{box-sizing:border-box} html,body{height:100%} body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif}
header{padding:18px 20px;border-bottom:1px solid var(--border);position:sticky;top:0;background:linear-gradient(180deg,var(--bg) 0%,var(--sticky) 100%);z-index:50}
h1{font-size:22px;margin:0 0 6px 0} .subtitle{color:var(--muted);font-size:14px}
.container{padding:14px 20px}
.row{display:flex;gap:12px;flex-wrap:wrap}
select,button{background:var(--card);border:1px solid var(--border);color:var(--text);padding:10px 12px;border-radius:12px;cursor:pointer}
.pill{border-radius:999px;padding:6px 12px;font-size:12px;line-height:1}
.badge{display:inline-flex;gap:6px;align-items:center;background:var(--chip);border:1px solid var(--border);padding:4px 8px;border-radius:999px;font-size:12px;color:var(--muted)}
.link{background:transparent;border:0;color:var(--accent2);padding:0 6px;text-decoration:underline;cursor:pointer}
.tabs{display:flex;gap:12px;margin-top:10px}
.tab{flex:1;text-align:center;padding:10px;border:1px solid var(--border);border-radius:12px;background:var(--card);cursor:pointer}
.tab.active{outline:2px solid var(--accent)}
.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:12px;margin-top:12px}
.note{color:var(--muted);font-size:13px;margin:8px 0}
.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:12px}
/* Tabla adaptable */
#resumen{overflow-x:auto;border:1px solid var(--border);border-radius:12px}
#resumen table{width:100%;table-layout:auto;border-collapse:collapse}
table{border-collapse:collapse;width:max-content;min-width:100%}
th,td{border-bottom:1px solid var(--border);padding:8px 10px;white-space:nowrap;text-align:right}
th:first-child,td:first-child{text-align:left;min-width:180px}
thead th{position:sticky;top:0;background:#131723;z-index:1}
tfoot td{font-weight:600;background:#111522;position:sticky;bottom:0}
.cuartel-btn{background:transparent;border:0;color:var(--text);cursor:pointer;font-weight:600}
.pct{background:var(--chip);border:1px solid var(--border);border-radius:999px;padding:2px 8px;color:var(--muted);font-size:12px}
.hidden{display:none}
.small{font-size:12px;color:var(--muted)}
.field{display:flex;flex-direction:column;gap:6px;min-width:160px}
.field label{font-size:12px;color:var(--muted);padding-left:4px}
/* Detalle - acordeón */
.acc-head{display:flex;align-items:center;gap:10px;cursor:pointer}
.acc-caret{font-size:14px;color:var(--muted)}
.acc-body{margin-top:8px}
/* Offscreen file input */
#fileSwap{position:fixed; left:-9999px; top:-9999px; width:1px; height:1px; opacity:0; pointer-events:none;}
/* Chart area */
.chart-scroll{overflow:auto;border:1px solid var(--border);border-radius:12px;padding:8px;background:#0e121b}
/* Dropdown de meses con checkboxes */
.mes-dropdown{position:relative;min-width:160px}
.mes-dropdown-btn{background:var(--card);border:1px solid var(--border);color:var(--text);padding:10px 12px;border-radius:12px;cursor:pointer;width:100%;text-align:left;display:flex;justify-content:space-between;align-items:center;font-size:14px}
.mes-dropdown-btn:hover{border-color:var(--accent2)}
.mes-dropdown-btn .arrow{font-size:10px;color:var(--muted);transition:transform .2s}
.mes-dropdown.open .arrow{transform:rotate(180deg)}
.mes-dropdown-panel{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:8px 0;z-index:100;display:none;box-shadow:0 8px 24px rgba(0,0,0,.4)}
.mes-dropdown.open .mes-dropdown-panel{display:block}
.mes-dropdown-item{display:flex;align-items:center;gap:10px;padding:8px 14px;cursor:pointer;font-size:13px;color:var(--text);transition:background .1s}
.mes-dropdown-item:hover{background:var(--chip)}
.mes-dropdown-item input[type="checkbox"]{accent-color:var(--accent2);width:16px;height:16px;cursor:pointer}
.mes-dropdown-item.todos{border-bottom:1px solid var(--border);margin-bottom:4px;padding-bottom:10px;color:var(--accent)}
.mes-dropdown-item label{cursor:pointer;flex:1}
.mes-count{background:var(--accent2);color:#0f1115;font-size:11px;padding:2px 6px;border-radius:999px;font-weight:600}

/* === RESPONSIVE: Tabla adaptable === */
@media (max-width: 1600px) {
  #resumen table th,
  #resumen table td {
    padding: 6px 8px;
    font-size: 13px;
  }
  th:first-child,td:first-child{min-width:160px}
}

@media (max-width: 1400px) {
  #resumen table th,
  #resumen table td {
    padding: 5px 6px;
    font-size: 12px;
  }
  th:first-child,td:first-child{min-width:140px}
  .pct{padding:2px 5px;font-size:10px}
}

@media (max-width: 1200px) {
  #resumen table th,
  #resumen table td {
    padding: 4px 5px;
    font-size: 11px;
  }
  th:first-child,td:first-child{min-width:120px}
  .cuartel-btn{font-size:11px}
}

@media (max-width: 992px) {
  #resumen table th,
  #resumen table td {
    padding: 4px;
    font-size: 10px;
  }
  th:first-child,td:first-child{min-width:100px}
  .cuartel-btn{font-size:10px}
  .pct{display:none}
}

/* Comparativo 24-25 vs 25-26 */
#panel-comparativo .comp-toolbar{margin:8px 0;display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap}
#panel-comparativo .comp-control{display:flex;flex-direction:column;gap:4px;min-width:220px}
#panel-comparativo .comp-control-label{font-size:12px;color:var(--muted);font-weight:600}
#panel-comparativo .comp-control-help{font-size:11px;color:var(--muted)}
#panel-comparativo .col-subtitle{display:block;font-size:11px;color:var(--muted);font-weight:500}
#panel-comparativo .comp-main:hover{background:rgba(96,165,250,.08)}
#panel-comparativo .comp-main td:first-child{font-weight:600}
#btnToggleInv2425.is-active{background:rgba(96,165,250,.18);border-color:var(--accent2);color:#cfe5ff}
#btnToggleInv2425:focus-visible{outline:2px solid var(--accent2);outline-offset:2px}


#panel-comparativo .comp-status{border:1px solid var(--border);border-radius:12px;padding:12px;background:#111522;margin:8px 0}
#panel-comparativo .comp-status-title{font-weight:600;margin-bottom:8px}
#panel-comparativo .comp-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
#panel-comparativo .comp-status-card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:10px;font-size:12px}
#panel-comparativo .comp-status-card h4{margin:0 0 6px 0;font-size:12px;color:var(--accent2)}
#panel-comparativo .comp-status-row{display:flex;justify-content:space-between;gap:8px;margin-bottom:4px}
#panel-comparativo .comp-status-row span{color:var(--muted)}
#panel-comparativo .comp-status-url{font-size:11px;color:var(--muted);word-break:break-all}
#panel-comparativo .comp-status.is-collapsed .comp-status-body{display:none}

#panel-resumen .comp-status{border:1px solid var(--border);border-radius:12px;padding:12px;background:#111522;margin:8px 0}
#panel-resumen .comp-status-header{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}
#panel-resumen .comp-status-title{font-weight:600}
#panel-resumen .comp-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
#panel-resumen .comp-status-card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:10px;font-size:12px}
#panel-resumen .comp-status-card h4{margin:0 0 6px 0;font-size:12px;color:var(--accent2)}
#panel-resumen .comp-status-row{display:flex;justify-content:space-between;gap:8px;margin-bottom:4px}
#panel-resumen .comp-status-row span{color:var(--muted)}
#panel-resumen .comp-status-url{font-size:11px;color:var(--muted);word-break:break-all}
#panel-resumen .comp-status.is-collapsed .comp-status-body{display:none}
