/* ============================================================
   Capa Atlas del Panel Gerencial (rediseño 19-10-2026)
   Un fondo del Atlas de Tableros por sección, con la paleta de AY Norte.
   Paleta validada (dataviz + paleta.py): ver ~/.claude/skills/atlas-tableros/demos/aynorte.
   Todo va con prefijo ag- / --a- para no pisar los estilos de las pestañas de «Archivo».
   ============================================================ */

/* ---------- Barra común (la cabecera de siempre, con la marca y las secciones) ----------
   Se activa cuando atlas-gerencial.js arranca bien (body.ag-on + .ag-barra). Si la capa falla, el tablero
   queda como antes: Panel Ejecutivo y pestañas visibles. Alto: 3 + 52 + 30 = 85 px (1 fila de nav)
   o 3 + 52 + 42 + 30 = 127 px (nav en su propia fila, ≤ 1280 px). */
body.ag-on #dashboard > .header.ag-barra{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:52px 30px;
  align-items:center;column-gap:18px;height:auto;padding:0 20px;background:#1C1312;border-top:3px solid #AA172D;
  box-shadow:0 1px 0 rgba(255,255,255,.06),0 4px 18px rgba(0,0,0,.28)}
body.ag-on .ag-barra .header-logo-wrap{grid-row:1;grid-column:1;display:flex;align-items:center;gap:10px;border:0;padding:0;margin:0}
body.ag-on .ag-barra .header-logo-wrap #logo-dash{display:none}
body.ag-on .ag-barra .ag-marca{display:flex;align-items:center;gap:10px;text-decoration:none;color:#F2E9E1}
body.ag-on .ag-barra .ag-marca img{width:30px;height:30px;border-radius:50%;display:block}
body.ag-on .ag-barra .ag-marca b{font:600 13px/1 'Montserrat',var(--font);letter-spacing:.24em}
body.ag-on .ag-barra .ag-marca i{font:italic 400 14px/1 'Newsreader',Georgia,serif;color:rgba(242,233,225,.62);padding-left:10px;border-left:1px solid rgba(242,233,225,.2)}
body.ag-on .ag-barra .header-titulo{display:none}
body.ag-on .ag-barra .ag-nav{grid-row:1;grid-column:2;display:flex;height:52px;min-width:0;overflow-x:auto;scrollbar-width:thin;scrollbar-color:rgba(242,233,225,.25) transparent}
body.ag-on .ag-nav button{position:relative;height:100%;padding:0 11px;border:0;background:none;cursor:pointer;white-space:nowrap;flex:none;
  font:500 13px/1 var(--font);color:rgba(242,233,225,.64)}
body.ag-on .ag-nav button:hover{color:#FFFFFF}
body.ag-on .ag-nav button[aria-current="page"]{color:#FFFFFF}
body.ag-on .ag-nav button[aria-current="page"]::after{content:"";position:absolute;left:11px;right:11px;bottom:0;height:2px;background:#E0B25C;border-radius:2px}
body.ag-on .ag-nav button.ag-arch{color:rgba(242,233,225,.46);margin-left:6px;border-left:1px solid rgba(242,233,225,.12)}
body.ag-on .ag-nav button:focus-visible{outline:2px solid #E0B25C;outline-offset:-4px;border-radius:6px}
body.ag-on .ag-barra .header-right{grid-row:1;grid-column:3;gap:8px}
body.ag-on .ag-barra .ag-franja{grid-row:2;grid-column:1 / -1;display:flex;align-items:center;gap:12px;min-width:0;
  border-top:1px solid rgba(242,233,225,.08);font-size:11px;color:rgba(242,233,225,.62);overflow:hidden}
body.ag-on .ag-barra .ag-franja #header-subtitulo{margin:0;font-size:11px;color:rgba(242,233,225,.62);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
body.ag-on .ag-barra .ag-franja .badge-fuentes{margin-left:auto;flex:none}
body.ag-on .ag-barra .ag-franja .badge-temporada{flex:none}
body.ag-on #dashboard .calendario-popup{top:93px}
body.ag-on #dashboard .tabs-nav{top:85px}
body.ag-on:not(.ag-archivo) #dashboard .tabs-nav{display:none}
@media (max-width:1280px){
  body.ag-on #dashboard > .header.ag-barra{grid-template-columns:auto auto;grid-template-rows:52px 42px 30px}
  body.ag-on .ag-barra .ag-nav{grid-row:2;grid-column:1 / -1;height:42px;border-top:1px solid rgba(242,233,225,.08)}
  body.ag-on .ag-barra .header-right{grid-column:2;justify-self:end}
  body.ag-on .ag-barra .ag-franja{grid-row:3}
  body.ag-on #dashboard .calendario-popup{top:135px}
  body.ag-on #dashboard .tabs-nav{top:127px}
}
@media (max-width:900px){
  body.ag-on #dashboard > .header.ag-barra{grid-template-rows:48px 42px auto;padding:0 12px}
  body.ag-on .ag-barra .ag-marca i{display:none}
  body.ag-on .ag-barra .btn-pdf{font-size:0;gap:0;padding:6px 9px}
  body.ag-on .ag-barra .ag-franja{flex-wrap:wrap;row-gap:4px;padding:4px 0}
  body.ag-on .ag-barra .ag-franja .badge-fuentes{margin-left:0;font-size:9px;padding:3px 8px;gap:4px;flex:0 1 auto;max-width:100%;min-width:0;flex-wrap:wrap}
  body.ag-on #dashboard .calendario-popup{right:12px;top:150px}
  body.ag-on #dashboard .tabs-nav{position:static;overflow-x:auto}
}
.ag-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ---------- Secciones: tokens por fondo (paleta AY Norte) ---------- */
.tab-content.ag-sec{padding:0;min-height:calc(100vh - 82px);background:var(--a-bg);color:var(--a-ink);font:13px/1.45 var(--a-font);
  -webkit-font-smoothing:antialiased;position:relative}
.ag-sec[data-fondo="bento"]{--a-bg:#F4EEE6;--a-surface:#FFFFFF;--a-ink:#2A1E1B;--a-ink2:#6B5C55;--a-muted:#76675F;--a-grid:#EEE6DC;--a-line:#EAE1D6;
  --a-acc:#8B1A2F;--a-acc-ink:#FFFFFF;--a-pos:#2A7A3B;--a-warn:#9A5B0E;--a-neg:#B42318;--a-soft:#F5EFE8;
  --a-font:'Instrument Sans',system-ui,sans-serif;--a-mono:'Instrument Sans',system-ui,sans-serif;--a-hfont:'Instrument Sans',system-ui,sans-serif;--a-dfont:'Newsreader',Georgia,serif;
  --a-card:#FFFFFF;--a-card-bd:0;--a-card-r:22px;--a-card-sh:0 1px 2px rgba(60,30,20,.05),0 8px 24px rgba(60,30,20,.06);color-scheme:light}
.ag-sec[data-fondo="fintech"]{--a-bg:#F8F4EF;--a-surface:#FFFFFF;--a-ink:#261B19;--a-ink2:#5E504A;--a-muted:#76675F;--a-grid:#F0E9E1;--a-line:#E9E0D6;
  --a-acc:#8B1A2F;--a-acc-ink:#FFFFFF;--a-pos:#2A7A3B;--a-warn:#9A5B0E;--a-neg:#B42318;--a-soft:#F6F0E9;
  --a-font:'Hanken Grotesk',sans-serif;--a-mono:'Hanken Grotesk',sans-serif;--a-hfont:'Hanken Grotesk',sans-serif;--a-dfont:'Newsreader',Georgia,serif;
  --a-card:#FFFFFF;--a-card-bd:1px solid #E9E0D6;--a-card-r:10px;--a-card-sh:0 1px 2px rgba(0,0,0,.03),0 4px 12px rgba(40,24,20,.04);color-scheme:light}
.ag-sec[data-fondo="tufte"]{--a-bg:#FFFDF9;--a-surface:#FFFDF9;--a-ink:#1F1715;--a-ink2:#5A4E49;--a-muted:#76675F;--a-grid:#F0EBE5;--a-line:#EDE7E0;
  --a-acc:#8B1A2F;--a-acc-ink:#FFFFFF;--a-pos:#2A7A3B;--a-warn:#9A5B0E;--a-neg:#B42318;--a-soft:#F7F2EC;
  --a-font:'IBM Plex Sans',sans-serif;--a-mono:'IBM Plex Sans Condensed',sans-serif;--a-hfont:'IBM Plex Sans',sans-serif;--a-dfont:'Newsreader',Georgia,serif;
  --a-card:#FFFDF9;--a-card-bd:0;--a-card-r:0;--a-card-sh:none;--a-rule:#1F1715;color-scheme:light}
.ag-sec[data-fondo="noche"]{--a-bg:#0E0B0C;--a-surface:#161113;--a-ink:#F2E9E1;--a-ink2:#BCAEA6;--a-muted:#9A8B83;--a-grid:rgba(255,236,224,.07);--a-line:rgba(255,236,224,.08);
  --a-acc:#D9A441;--a-acc-ink:#120E0D;--a-pos:#4CC38A;--a-warn:#E5B454;--a-neg:#F2555A;--a-soft:rgba(255,236,224,.06);--a-side:#120E0F;
  --a-font:'Geist',system-ui,sans-serif;--a-mono:'Geist Mono',ui-monospace,monospace;--a-hfont:'Geist',system-ui,sans-serif;--a-dfont:'Geist',system-ui,sans-serif;
  --a-card:#161113;--a-card-bd:1px solid rgba(255,236,224,.08);--a-card-r:12px;--a-card-sh:inset 0 1px 0 rgba(255,255,255,.04);color-scheme:dark}
.ag-sec[data-fondo="carto"]{--a-bg:#120E0D;--a-surface:#18120F;--a-ink:#F2E9E1;--a-ink2:#C4B2A6;--a-muted:#A08F85;--a-grid:rgba(232,194,122,.12);--a-line:rgba(224,178,92,.18);
  --a-acc:#E0B25C;--a-acc-ink:#120E0D;--a-pos:#4CC38A;--a-warn:#E8C27A;--a-neg:#F07A5F;--a-soft:rgba(224,178,92,.08);--a-bus:#DE6478;--a-ruta:#E0B25C;
  --a-font:'Archivo',sans-serif;--a-mono:'Archivo',sans-serif;--a-hfont:'Archivo',sans-serif;--a-dfont:'Archivo',sans-serif;
  --a-card:rgba(20,14,13,.82);--a-card-bd:1px solid rgba(224,178,92,.18);--a-card-r:8px;--a-card-sh:0 12px 40px rgba(0,0,0,.35);color-scheme:dark}
.ag-sec[data-fondo="carto-claro"]{--a-bg:#F4EEE6;--a-surface:#FFFFFF;--a-ink:#2A1E1B;--a-ink2:#6B5C55;--a-muted:#76675F;--a-grid:#EEE6DC;--a-line:#EAE1D6;
  --a-acc:#8B1A2F;--a-acc-ink:#FFFFFF;--a-pos:#2A7A3B;--a-warn:#9A5B0E;--a-neg:#B42318;--a-soft:#F5EFE8;--a-bus:#AA172D;--a-ruta:#6B5C55;
  --a-font:'Archivo',sans-serif;--a-mono:'Archivo',sans-serif;--a-hfont:'Archivo',sans-serif;--a-dfont:'Archivo',sans-serif;
  --a-card:#FFFFFF;--a-card-bd:0;--a-card-r:12px;--a-card-sh:0 1px 2px rgba(60,30,20,.05),0 8px 24px rgba(60,30,20,.06);color-scheme:light}
.ag-sec *{box-sizing:border-box}
.ag-sec h1,.ag-sec h2,.ag-sec h3,.ag-sec h4,.ag-sec p,.ag-sec ul{margin:0;padding:0}
.ag-sec ul{list-style:none}
.ag-sec button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
.ag-sec :focus-visible{outline:2px solid var(--a-acc);outline-offset:2px;border-radius:6px}
/* las tablas del gerencial (th borravino, hover crema) no aplican en las secciones nuevas */
.ag-sec th{background:transparent;color:var(--a-muted);text-transform:none;letter-spacing:0;font-size:11px;font-weight:500;padding:5px 8px 5px 0;border-bottom:1px solid var(--a-line)}
.ag-sec td{padding:7px 8px 7px 0;border-bottom:1px solid var(--a-line)}
.ag-sec tr:hover td{background:var(--a-soft)}
.ag-sec .ag-card{background:var(--a-card);border:var(--a-card-bd);border-radius:var(--a-card-r);box-shadow:var(--a-card-sh);min-width:0}
.ag-sec .num,.ag-sec svg text{font-variant-numeric:tabular-nums}
.ag-sec svg.vz,.ag-sec svg.sp{display:block;max-width:100%;height:auto}
.ag-sec .mk{cursor:default;outline:none}
.ag-sec .mk:focus-visible>rect:first-child{stroke:var(--a-acc);stroke-width:2}
.ag-sec .muted{color:var(--a-muted)}
.ag-sec .ag-vacio{padding:18px;color:var(--a-muted);font-size:12.5px}
.ag-sec .tt{position:absolute;z-index:80;pointer-events:none;min-width:150px;max-width:280px;padding:8px 10px;border-radius:8px;
  background:#1C1614;color:#F2E9E1;border:1px solid rgba(255,255,255,.12);box-shadow:0 10px 30px rgba(0,0,0,.22);font:12px/1.35 var(--a-font)}
.ag-sec .tt-h{font-size:11px;opacity:.72;margin-bottom:5px}
.ag-sec .tt-r{display:flex;align-items:center;gap:14px;justify-content:space-between;margin-top:2px}
.ag-sec .tt-r b{font-weight:600;font-variant-numeric:tabular-nums}
.ag-sec .tt-r span{display:flex;align-items:center;gap:6px;opacity:.8}
.ag-sec .tt-r i{display:inline-block;width:12px;height:2px;border-radius:1px}
.ag-sec .chip{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 9px;border-radius:999px;font-size:11.5px;font-weight:600;white-space:nowrap;vertical-align:middle}
.ag-sec .chip.ok{background:color-mix(in srgb,var(--a-pos) 14%,var(--a-surface));color:color-mix(in srgb,var(--a-pos) 82%,var(--a-ink))}
.ag-sec .chip.wr{background:color-mix(in srgb,var(--a-warn) 16%,var(--a-surface));color:color-mix(in srgb,var(--a-warn) 82%,var(--a-ink))}
.ag-sec .chip.cr{background:color-mix(in srgb,var(--a-neg) 13%,var(--a-surface));color:color-mix(in srgb,var(--a-neg) 82%,var(--a-ink))}
.ag-sec .chip.nt{background:var(--a-soft);color:var(--a-ink2)}
.ag-sec .seg2{display:flex;height:10px;border-radius:5px;overflow:hidden;gap:2px;margin:12px 0 6px}
.ag-sec .k2{display:flex;gap:6px 16px;font-size:12px;color:var(--a-ink2);flex-wrap:wrap}
.ag-sec .k2 span{display:flex;align-items:center;gap:6px}
.ag-sec .k2 i{width:10px;height:10px;border-radius:3px;flex:none}
.ag-sec .ag-sw{display:inline-block;width:8px;height:8px;border-radius:50%;margin:0 4px 0 2px}

/* ---------- Entrada animada (receta de las demos: cascada, números que cuentan, líneas y barras) ---------- */
.ag-sec .ag-up{animation:agUp .36s cubic-bezier(.23,1,.32,1) backwards}
.ag-sec .ag-fade{animation:agFade .4s cubic-bezier(.23,1,.32,1) backwards}
.ag-sec .ag-gy{animation:agGy .55s cubic-bezier(.23,1,.32,1) backwards;transform-box:fill-box;transform-origin:50% 100%}
.ag-sec .ag-gx{animation:agGx .55s cubic-bezier(.23,1,.32,1) backwards;transform-box:fill-box;transform-origin:0 50%}
.ag-sec .ag-wipe{animation:agWipe .7s cubic-bezier(.23,1,.32,1) backwards}
.ag-sec .ag-row{animation:agRow .3s cubic-bezier(.23,1,.32,1) backwards}
.ag-sec .ag-ring{animation:agRing .9s cubic-bezier(.23,1,.32,1) backwards}
.ag-sec .ag-aguja{animation:agAguja 1.1s cubic-bezier(.23,1,.32,1) backwards}
@keyframes agUp{from{opacity:0;transform:translateY(12px) scale(.98)}}
@keyframes agFade{from{opacity:0}}
@keyframes agGy{from{transform:scaleY(.02)}}
@keyframes agGx{from{transform:scaleX(.02)}}
@keyframes agWipe{from{clip-path:inset(0 100% 0 0)}}
@keyframes agRow{from{opacity:0;transform:translateX(-6px)}}
@keyframes agRing{from{stroke-dasharray:0 var(--c)}}
@keyframes agAguja{from{transform:rotate(var(--a))}}
@media (prefers-reduced-motion:reduce){
  .ag-sec *:not(.ag-fade){animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .ag-sec .ag-fade{animation-duration:.2s}
}

/* ---------- Portada (Bento) ---------- */
.ag-portada{padding:18px max(24px,env(safe-area-inset-right,0px)) 28px max(24px,env(safe-area-inset-left,0px));max-width:1440px;margin:0 auto}
.ag-portada .hd{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:6px 6px 16px}
.ag-portada .hd h1{font:500 30px/1.05 var(--a-dfont);letter-spacing:-.015em}
.ag-portada .hd h1 em{font-style:italic;font-weight:400;color:var(--a-muted)}
.ag-portada .hd .r{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}
.ag-portada .pill{height:30px;display:inline-flex;align-items:center;gap:6px;padding:0 13px;border-radius:999px;background:var(--a-card);box-shadow:var(--a-card-sh);font-size:12.5px;font-weight:500;color:var(--a-ink2);white-space:nowrap}
.ag-portada .bg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(200px,auto);gap:14px}
.ag-portada .tl{position:relative;overflow:hidden;padding:16px 20px;display:flex;flex-direction:column;text-align:left;transition:transform .25s cubic-bezier(.2,.8,.2,1)}
.ag-portada .tl[data-ir]{cursor:pointer}
@media (hover:hover) and (pointer:fine){.ag-portada .tl[data-ir]:hover{transform:translateY(-2px)}}
.ag-portada .tl[data-ir]:focus-visible{outline:2px solid var(--a-acc);outline-offset:3px}
.ag-portada .q{font-size:13px;color:var(--a-ink2);font-weight:500;padding-right:104px}
.ag-portada .v{font:600 32px/1.1 var(--a-hfont);letter-spacing:-.025em;margin-top:6px;font-variant-numeric:tabular-nums;white-space:nowrap}
.ag-portada .hero .v{font-size:54px;margin-top:8px}
.ag-portada .sub{font-size:12.5px;color:var(--a-ink2);margin-top:4px}
.ag-portada .sub b{color:var(--a-ink);font-weight:600}
.ag-portada .th{font-size:11.5px;color:var(--a-muted);margin-top:auto;padding-top:8px}
.ag-portada .ch{margin-top:8px}
.ag-portada .tl>.chip{position:absolute;top:14px;right:16px}
.ag-portada .hero{grid-column:1/3;grid-row:1/3}
.ag-portada .dd,.ag-portada .g{grid-column:span 2}
.ag-portada .rw{display:flex;align-items:center;gap:14px;margin-top:6px}
.ag-portada .rw .v{margin:0}
.ag-portada .rw .sub{margin:0}
.ag-portada .av{display:grid;gap:2px;margin-top:6px}
.ag-portada .av button{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:10px;align-items:center;text-align:left;padding:8px 10px;margin:0 -10px;border-radius:10px}
.ag-portada .av button:hover{background:var(--a-soft)}
.ag-portada .av .ico{color:color-mix(in srgb,var(--a-warn) 82%,var(--a-ink));display:grid;place-items:center}
.ag-portada .av .ico.cr{color:color-mix(in srgb,var(--a-neg) 82%,var(--a-ink))}
.ag-portada .av .ico.ok{color:color-mix(in srgb,var(--a-pos) 82%,var(--a-ink))}
.ag-portada .av b{font-weight:600}
.ag-portada .avn{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;align-items:center;padding:8px 0;font-size:12.5px;color:var(--a-ink2)}
.ag-portada .av .ico.nt,.ag-portada .avn .ico.nt{color:var(--a-muted);display:grid;place-items:center}
.ag-portada .avn .ico.ok{display:grid;place-items:center}
.ag-portada .av em{font-style:normal;font-size:12px;font-weight:600;color:var(--a-acc);white-space:nowrap}
@media (max-width:1100px){
  .ag-portada .bg{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ag-portada .hero{grid-row:auto}
}
@media (max-width:640px){
  .ag-portada .bg{grid-template-columns:1fr}
  .ag-portada .hero,.ag-portada .dd,.ag-portada .g{grid-column:auto}
  .ag-portada .hero .v{font-size:42px}
  .ag-portada .av button{grid-template-columns:22px minmax(0,1fr)}
  .ag-portada .av em{grid-column:2}
}

/* ---------- Operación integral (Cartografía, oscura o clara) ---------- */
#tab-mapa .ag-op{display:grid;grid-template-columns:330px minmax(0,1fr);grid-template-rows:auto minmax(520px,1fr) auto;gap:12px;
  height:calc(100vh - 82px);min-height:760px;padding:12px max(16px,env(safe-area-inset-right,0px)) 68px max(16px,env(safe-area-inset-left,0px))}
#tab-mapa .ag-op-hd{grid-column:1 / -1;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
#tab-mapa .ag-op-hd h2{font:700 15px/1 var(--a-hfont);font-stretch:125%;letter-spacing:.2em;text-transform:uppercase}
#tab-mapa .ag-op-hd p{color:var(--a-muted);font-size:12px}
#tab-mapa .ag-op-hd .r{margin-left:auto;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
#tab-mapa .ag-modo{display:flex;gap:2px;padding:3px;border-radius:999px;background:var(--a-card);border:var(--a-card-bd);box-shadow:var(--a-card-sh)}
#tab-mapa .ag-modo button{height:28px;padding:0 14px;border-radius:999px;font:600 11px/1 var(--a-font);font-stretch:125%;letter-spacing:.12em;text-transform:uppercase;color:var(--a-muted)}
#tab-mapa .ag-modo button:hover{color:var(--a-ink)}
#tab-mapa .ag-modo button[aria-pressed="true"]{background:var(--a-ruta);color:var(--a-bg)}
#tab-mapa .ag-op-hd a{font-size:12px;font-weight:600;color:var(--a-acc);text-decoration:none}
#tab-mapa .ag-op-izq{grid-row:2;grid-column:1;display:flex;flex-direction:column;gap:12px;min-height:0}
#tab-mapa .ag-op-mapa{grid-row:2;grid-column:2;min-width:0;min-height:0}
#tab-mapa .ag-op-pie{grid-row:3;grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1fr) 520px;gap:12px}
#tab-mapa .pn{padding:14px 16px}
#tab-mapa .pn h3{font:600 10.5px/1.2 var(--a-hfont);font-stretch:125%;letter-spacing:.16em;text-transform:uppercase;color:var(--a-ruta);margin-bottom:8px}
#tab-mapa .lgd h3{margin-bottom:2px}
#tab-mapa .lgd p{color:var(--a-muted);font-size:11.5px;margin:2px 0 10px}
#tab-mapa .dias{display:flex;gap:4px;align-items:flex-end;margin-bottom:10px}
#tab-mapa .dias button{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:5px 0 4px;border-radius:5px;color:var(--a-muted);font-size:10px}
#tab-mapa .dias button i{display:block;width:10px;border-radius:2px;background:color-mix(in srgb,var(--a-ruta) 45%,transparent)}
#tab-mapa .dias button:hover{background:var(--a-soft)}
#tab-mapa .dias button[aria-pressed="true"]{background:var(--a-soft);color:var(--a-ink)}
#tab-mapa .dias button[aria-pressed="true"] i{background:var(--a-ruta)}
#tab-mapa .cnt{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
#tab-mapa .cnt div{border-top:1px solid var(--a-line);padding-top:6px;min-width:0}
#tab-mapa .cnt b{display:block;font-size:22px;font-weight:600;line-height:1.1}
#tab-mapa .cnt span{font-size:9.5px;color:var(--a-muted);text-transform:uppercase;letter-spacing:.06em}
#tab-mapa .lst{flex:1;min-height:0;display:flex;flex-direction:column;padding:12px 0 6px}
#tab-mapa .lst h3{padding:0 16px}
#tab-mapa .sls{overflow-y:auto;scrollbar-width:thin;min-height:0}
#tab-mapa .sl{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:0 10px;padding:7px 16px;border-top:1px solid var(--a-line);align-items:center}
#tab-mapa .sl:hover{background:var(--a-soft)}
#tab-mapa .sl time{font-weight:600}
#tab-mapa .sl b{font-weight:500;font-size:12px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#tab-mapa .sl small{color:var(--a-muted);font-size:10.5px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#tab-mapa .st{font-size:9.5px;padding:2px 7px;border-radius:3px;white-space:nowrap;text-transform:uppercase;letter-spacing:.06em;font-style:normal}
#tab-mapa .s-r{background:color-mix(in srgb,var(--a-bus) 22%,transparent);color:color-mix(in srgb,var(--a-bus) 50%,var(--a-ink))}
#tab-mapa .s-p{background:color-mix(in srgb,var(--a-ruta) 16%,transparent);color:color-mix(in srgb,var(--a-ruta) 70%,var(--a-ink))}
#tab-mapa .s-f{background:var(--a-soft);color:var(--a-muted)}
#tab-mapa .tl{padding:10px 16px}
#tab-mapa .tl svg{display:block;width:100%;height:auto}
#tab-mapa .mg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 14px}
#tab-mapa .mg span{display:block;font-size:10px;color:var(--a-muted);text-transform:uppercase;letter-spacing:.06em}
#tab-mapa .mg b{display:block;font-size:20px;font-weight:600;line-height:1.2}
#tab-mapa .mg small{font-size:10.5px;color:var(--a-muted)}
@media (max-width:1100px){
  #tab-mapa .ag-op{grid-template-columns:1fr;grid-template-rows:auto auto minmax(480px,70vh) auto;height:auto}
  #tab-mapa .ag-op-izq{grid-row:2;grid-column:1}
  #tab-mapa .lst{max-height:340px}
  #tab-mapa .ag-op-mapa{grid-row:3;grid-column:1}
  #tab-mapa .ag-op-pie{grid-row:4;grid-template-columns:1fr}
}
@media (max-width:640px){#tab-mapa .mg{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- Tesorería (Precisión Nocturna) ---------- */
.ag-tes{display:grid;grid-template-columns:216px minmax(0,1fr);min-height:calc(100vh - 82px)}
.ag-tes .side{background:var(--a-side);border-right:1px solid var(--a-line);padding:14px 10px;display:flex;flex-direction:column;gap:2px}
.ag-tes .ws{display:flex;align-items:center;gap:10px;padding:4px 8px 14px}
.ag-tes .ws i{width:24px;height:24px;border-radius:6px;background:var(--a-acc);color:var(--a-acc-ink);display:grid;place-items:center}
.ag-tes .ws b{display:block;font-size:13px;font-weight:500;line-height:1.2}
.ag-tes .ws small{color:var(--a-muted);font-size:11.5px}
.ag-tes .nv{display:flex;align-items:center;gap:10px;height:30px;padding:0 8px;border-radius:6px;color:var(--a-ink2);font-size:13px;text-decoration:none}
.ag-tes .nv.on{background:var(--a-soft);color:var(--a-ink)}
.ag-tes a.nv:hover{background:var(--a-soft);color:var(--a-ink)}
.ag-tes .nv .k{margin-left:auto;font:11px var(--a-mono);color:var(--a-muted)}
.ag-tes .lab{margin:16px 8px 6px;font-size:11px;color:var(--a-muted)}
.ag-tes .co{display:flex;align-items:center;gap:10px;min-height:28px;padding:0 8px;color:var(--a-ink2);font-size:12.5px}
.ag-tes .co i{width:8px;height:8px;border-radius:2px;flex:none}
.ag-tes .co span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ag-tes .co em{margin-left:auto;font:normal 11px var(--a-mono);color:var(--a-muted)}
.ag-tes .foot{margin-top:auto;padding:12px 8px 2px;border-top:1px solid var(--a-line);color:var(--a-muted);font-size:12px}
.ag-tes .main{display:flex;flex-direction:column;min-width:0}
.ag-tes .top{height:52px;flex:none;display:flex;align-items:center;gap:14px;padding:0 20px;border-bottom:1px solid var(--a-line)}
.ag-tes .crumb{color:var(--a-muted)}.ag-tes .crumb b{color:var(--a-ink);font-weight:500}
.ag-tes .ct{padding:18px 20px;display:grid;gap:12px}
.ag-tes .kp{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.ag-tes .kp .ag-card{padding:12px 14px;display:flex;flex-direction:column;min-height:92px}
.ag-tes .kp span{font-size:12px;color:var(--a-muted)}
.ag-tes .kp b{font:500 24px/1.2 var(--a-mono);letter-spacing:-.02em;margin-top:4px;font-variant-numeric:tabular-nums;white-space:nowrap}
.ag-tes .kp small{margin-top:auto;font-size:11.5px;color:var(--a-ink2);display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.ag-tes .r2{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:12px}
.ag-tes .ag-card{padding:14px 16px}
.ag-tes .ch-h{display:flex;align-items:flex-start;gap:10px;margin-bottom:8px}
.ag-tes .ch-h h3{font-size:13px;font-weight:500}
.ag-tes .ch-h p{font-size:11.5px;color:var(--a-muted)}
.ag-tes .lk{margin-left:auto;display:flex;gap:12px;font-size:11.5px;color:var(--a-ink2);flex-wrap:wrap}
.ag-tes .lk span{display:flex;align-items:center;gap:5px}
.ag-tes .lk i{width:9px;height:9px;border-radius:2px}
.ag-tes .gv{margin-left:auto;text-align:right}
.ag-tes .gv b{display:block;font:500 26px/1 var(--a-mono);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.ag-tes .gv span{font-size:11.5px;color:var(--a-muted)}
.ag-tes .gw{width:100%;max-width:300px;margin:0 auto}
.ag-tes .gw svg{display:block;width:100%;height:auto}
.ag-tes .pc{display:grid;gap:4px;margin-top:6px}
.ag-tes .pc div{display:grid;grid-template-columns:minmax(0,140px) minmax(0,1fr) 84px;gap:10px;align-items:center;font-size:12px;color:var(--a-ink2);min-height:18px}
.ag-tes .pc div>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ag-tes .pc i{display:block;height:6px;border-radius:3px;background:var(--a-soft);overflow:hidden}
.ag-tes .pc u{display:block;height:100%;border-radius:3px}
.ag-tes .pc b{text-align:right;font:500 12px var(--a-mono);color:var(--a-ink);font-variant-numeric:tabular-nums}
.ag-tes .tbw{overflow-x:auto}
.ag-tes table{width:100%;border-collapse:collapse;font-size:12.5px}
.ag-tes th{font-weight:500;font-size:11px;color:var(--a-muted);text-align:left;padding:5px 8px 5px 0;border-bottom:1px solid var(--a-line)}
.ag-tes td{padding:7px 8px 7px 0;border-bottom:1px solid var(--a-line)}
.ag-tes td.n,.ag-tes th.n{text-align:right;font-family:var(--a-mono);font-variant-numeric:tabular-nums;white-space:nowrap}
@media (max-width:1180px){.ag-tes .r2{grid-template-columns:1fr}}
@media (max-width:900px){.ag-tes{grid-template-columns:1fr}.ag-tes .side{display:none}.ag-tes .kp{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- Cobranzas y pagos (Fintech Claro) ---------- */
.ag-cob .nvb{height:56px;background:var(--a-card);border-bottom:1px solid var(--a-line);display:flex;align-items:center;gap:4px;padding:0 max(28px,env(safe-area-inset-left,0px));overflow-x:auto}
.ag-cob .nvb b{font:700 15px var(--a-hfont);margin-right:20px;white-space:nowrap}
.ag-cob .nvb a{height:56px;display:flex;align-items:center;padding:0 12px;color:var(--a-ink2);font-weight:500;position:relative;text-decoration:none;white-space:nowrap}
.ag-cob .nvb a:hover{color:var(--a-ink)}
.ag-cob .nvb .on{height:56px;display:flex;align-items:center;padding:0 12px;font-weight:500;position:relative;white-space:nowrap;color:var(--a-acc)}
.ag-cob .nvb .on::after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:2px;background:var(--a-acc);border-radius:2px}
.ag-cob .ct{padding:18px max(28px,env(safe-area-inset-right,0px)) 28px max(28px,env(safe-area-inset-left,0px));max-width:1440px;margin:0 auto}
.ag-cob .ph{display:flex;align-items:flex-end;gap:14px;margin-bottom:14px;flex-wrap:wrap}
.ag-cob .ph h1{font:500 30px/1.05 var(--a-dfont);letter-spacing:-.015em}
.ag-cob .ph p{color:var(--a-ink2);padding-bottom:3px}
.ag-cob .rw3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ag-cob .rw2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);gap:16px;margin-top:16px}
.ag-cob .ag-card{padding:16px 18px}
.ag-cob .lb{color:var(--a-ink2);font-weight:500;font-size:13px}
.ag-cob .big b{font:700 32px/1.15 var(--a-hfont);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.ag-cob .sm{font-size:12px;color:var(--a-ink2);display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:2px}
.ag-cob .sm b{color:var(--a-ink);font-weight:600;font-variant-numeric:tabular-nums}
.ag-cob .seg2.ag{height:12px;border-radius:4px;margin:12px 0 8px}
.ag-cob .agk{display:grid;gap:3px}
.ag-cob .agk div{display:grid;grid-template-columns:minmax(0,1fr) auto 52px;gap:10px;align-items:center;font-size:12px;color:var(--a-ink2)}
.ag-cob .agk span{display:flex;align-items:center;gap:7px}
.ag-cob .agk i{width:10px;height:10px;border-radius:3px;flex:none}
.ag-cob .agk b{font-weight:600;color:var(--a-ink);font-variant-numeric:tabular-nums;text-align:right}
.ag-cob .agk em{font-style:normal;text-align:right;color:var(--a-muted);font-variant-numeric:tabular-nums}
.ag-cob .ag-card h3{font-size:14px;font-weight:600;margin-bottom:2px}
.ag-cob .ag-card h3+p{font-size:12px;color:var(--a-muted);margin-bottom:10px}
.ag-cob .ag-card h3+p b{color:var(--a-ink);font-weight:600}
.ag-cob .lg{display:flex;gap:16px;font-size:12px;color:var(--a-ink2);margin-bottom:4px}
.ag-cob .lg span{display:flex;align-items:center;gap:6px}
.ag-cob .lg i{width:14px;height:3px;border-radius:2px}
.ag-cob .tbw{overflow-x:auto}
.ag-cob table{width:100%;border-collapse:collapse;font-size:13px}
.ag-cob th{text-align:left;font-size:11.5px;font-weight:600;color:var(--a-muted);text-transform:uppercase;letter-spacing:.04em;padding:6px 8px 6px 0;border-bottom:1px solid var(--a-line)}
.ag-cob td{padding:8px 8px 8px 0;border-bottom:1px solid var(--a-line)}
.ag-cob td.n,.ag-cob th.n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
@media (max-width:1100px){.ag-cob .rw3{grid-template-columns:1fr 1fr}.ag-cob .rw2{grid-template-columns:1fr}}
@media (max-width:700px){.ag-cob .rw3{grid-template-columns:1fr}}

/* ---------- Análisis (Observatorio) ---------- */
.ag-an{padding:22px max(34px,env(safe-area-inset-right,0px)) 30px max(34px,env(safe-area-inset-left,0px));max-width:1440px;margin:0 auto}
.ag-an .hd{display:flex;align-items:flex-end;gap:24px;border-bottom:1px solid var(--a-rule);padding-bottom:12px;flex-wrap:wrap}
.ag-an .hd h1{font:500 28px/1.1 var(--a-dfont);letter-spacing:-.01em}
.ag-an .hd p{color:var(--a-ink2);font-size:12.5px;margin-top:3px}
.ag-an .cur{margin-left:auto;font:500 12.5px var(--a-mono);color:var(--a-ink2);text-align:right}
.ag-an .cur b{color:var(--a-ink);font-weight:600}
.ag-an .bd{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:36px;margin-top:14px}
.ag-an .sm{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 26px}
.ag-an .cell h4{display:flex;justify-content:space-between;gap:6px;font:500 12px var(--a-mono);letter-spacing:.01em}
.ag-an .cell h4 span{color:var(--a-ink2);font-weight:400;font-variant-numeric:tabular-nums}
.ag-an .cell p{font-size:11px;color:var(--a-muted)}
.ag-an .scale{font-size:11.5px;color:var(--a-muted);margin:8px 0 14px}
.ag-an h3{font-size:13px;font-weight:600;margin-bottom:2px}
.ag-an .sb{color:var(--a-muted);font-size:11.5px;margin-bottom:6px}
.ag-an .side section+section{margin-top:18px;border-top:1px solid var(--a-rule);padding-top:12px}
.ag-an .side section>p{color:var(--a-muted);font-size:11.5px;margin-bottom:8px}
.ag-an table{width:100%;border-collapse:collapse;font-size:12px}
.ag-an td{padding:6px 6px 6px 0;border-bottom:1px solid var(--a-line);vertical-align:middle}
.ag-an td svg{display:block}
.ag-an .n{text-align:right;font-variant-numeric:tabular-nums;font-weight:500;white-space:nowrap}
@media (max-width:1180px){.ag-an .bd{grid-template-columns:1fr}}
@media (max-width:760px){.ag-an .sm{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- Impresión: el mapa (WebGL) no se imprime; las secciones sí ---------- */
@media print{
  .ag-sec[data-fondo="noche"]{--a-bg:#FFFFFF;--a-surface:#FFFFFF;--a-ink:#1F1715;--a-ink2:#5A4E49;--a-muted:#76675F;--a-grid:#EEE6DC;--a-line:#E6DDD2;
    --a-acc:#8B1A2F;--a-acc-ink:#FFFFFF;--a-soft:#F5EFE8;--a-side:#FFFFFF;--a-card:#FFFFFF;--a-card-bd:1px solid #E6DDD2;--a-card-sh:none;color-scheme:light}
  #tab-mapa{display:none!important}
  .ag-barra .ag-nav,.ag-barra .ag-franja .badge-fuentes{display:none!important}
  .ag-sec *{animation:none!important}
}
