: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}
.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}
table{border-collapse:collapse;width:max-content;min-width:100%}
th,td{border-bottom:1px solid var(--border);padding:8px 10px;white-space:nowrap}
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}
