/* ===== GASTOS ===== */
:root{--g1:#6b7a90;--g2:#8a6d3b;--g3:#3d7ea6;--g4:#c07a2c;--g5:#4f9a6a;--g6:#9a5b8f;--g7:#c2493f;--g8:#b0a03a;--g9:#2f5fa8;--g10:#14181f;--up:#2d7d9a;--dn:#c2602f}
:root[data-theme="dark"]{--g1:#98a6bb;--g2:#c3a468;--g3:#6fb2d8;--g4:#e0a05a;--g5:#7bc796;--g6:#cf8fc3;--g7:#ee7f75;--g8:#d8c85f;--g9:#6f97da;--g10:#e8ebf0;--up:#5fb5d1;--dn:#f0905a}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--g1:#98a6bb;--g2:#c3a468;--g3:#6fb2d8;--g4:#e0a05a;--g5:#7bc796;--g6:#cf8fc3;--g7:#ee7f75;--g8:#d8c85f;--g9:#6f97da;--g10:#e8ebf0;--up:#5fb5d1;--dn:#f0905a}}
.gk{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:14px 0}
.gk div{border:1px solid var(--line);border-radius:10px;padding:12px;background:var(--panel)}
.gk b{display:block;font-size:clamp(22px,6vw,30px);font-weight:800;letter-spacing:-.02em;line-height:1.1}
.gk small{display:block;color:var(--muted);font-size:12px;margin-top:4px}
.gm{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 12px}
.gchart{width:100%;overflow-x:auto}
.gchart svg{display:block;width:100%;min-width:440px;height:auto}
.gl{display:flex;flex-wrap:wrap;gap:6px 12px;margin:10px 0;font-size:12.5px}
.gl button{display:flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;font-size:12px}
.gl i{width:10px;height:10px;border-radius:3px;display:inline-block}
.gl button[aria-pressed="false"]{opacity:.45;background:transparent;color:var(--fg);border-color:var(--line)}
.gl button[aria-pressed="true"]{background:transparent;color:var(--fg);border-color:var(--fg)}
.gsvg text{font-family:var(--mono);font-size:11px;fill:var(--muted)}
.gsvg .ax{stroke:var(--line);stroke-width:1}
.gseg{transition:opacity .2s}
.gtip{font-size:13px;min-height:44px;border:1px dashed var(--line);border-radius:8px;padding:8px 10px;margin-top:8px;color:var(--muted)}
.gtip b{color:var(--fg)}
.gtbl{overflow-x:auto}
.gtbl table{min-width:560px}
.gtbl td,.gtbl th{font-size:12.5px}
.gtbl td:first-child,.gtbl th:first-child{text-align:left;position:sticky;left:0;background:var(--panel)}
.heat{border-radius:4px;padding:3px 6px;display:inline-block;min-width:58px;text-align:right;font-family:var(--mono);font-size:12px}
.dv{display:grid;grid-template-columns:minmax(110px,170px) 1fr 70px;gap:8px;align-items:center;margin:6px 0;font-size:13px}
.dv .tr{position:relative;height:16px;background:color-mix(in srgb,var(--line) 55%,transparent);border-radius:4px}
.dv .tr::after{content:"";position:absolute;left:50%;top:-2px;bottom:-2px;width:1px;background:var(--muted)}
.dv .bb{position:absolute;top:0;bottom:0;border-radius:4px;transform-origin:left;transition:width .9s cubic-bezier(.2,.7,.2,1)}
.dv .v{font-family:var(--mono);font-size:12px;text-align:right}
.gcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}
.gcard{border:1px solid var(--line);border-radius:10px;padding:14px;background:var(--panel);min-width:0}
.gcard h3{margin:0 0 6px;font-size:15px}
.gcard .big3{font-size:26px;font-weight:800;letter-spacing:-.02em}
.gcard p{margin:6px 0;font-size:13px;color:var(--muted)}
.gcard .srcs{font-size:12px}
.gcard .srcs a{color:var(--link)}
.gtag{display:inline-block;font-size:11px;font-weight:700;border-radius:999px;padding:2px 8px;border:1px solid var(--line);color:var(--muted)}
.gtag.p{border-color:var(--mid);color:var(--mid)}
.gnote{border-left:4px solid var(--mid);background:var(--midbg);padding:10px 12px;border-radius:6px;font-size:13px;margin:12px 0}
.na{color:var(--muted);font-style:italic}
nav.tabs.six{}
@media(max-width:640px){nav.tabs{grid-template-columns:repeat(7,minmax(0,1fr))!important}nav.tabs a{font-size:9.5px!important;letter-spacing:-.01em}.dv{grid-template-columns:96px 1fr 58px}}
.sources,.gcard,.gtip,.gnote{overflow-wrap:anywhere}
.gtbl td:first-child,.gtbl th:first-child{white-space:normal;min-width:104px;max-width:120px;font-size:12px;line-height:1.25;box-shadow:1px 0 0 var(--line);z-index:1}
.gtbl table{min-width:0;width:max-content}
.gtbl td,.gtbl th{padding:6px 6px}
.dv{grid-template-columns:minmax(96px,150px) 1fr 52px}
@media(max-width:640px){.dv{grid-template-columns:100px 1fr 48px;font-size:12px}}
.gcard .big3{font-size:clamp(18px,5.4vw,24px);line-height:1.15}
.vmap svg{display:block;width:100%;min-width:0;height:auto}#vworld svg{min-width:760px}
.vmap .c{stroke:var(--panel);stroke-width:.4;cursor:pointer;transition:fill .5s}
.vmap .c:hover{stroke:var(--fg);stroke-width:1}
.vmap .sel{stroke:var(--fg)!important;stroke-width:1.4!important}
.vmap .arc{fill:none;stroke:var(--hot);stroke-linecap:round;pointer-events:none;opacity:.55}
.vleg{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);margin-top:8px}
.vleg i{flex:0 0 160px;height:10px;border-radius:5px;background:linear-gradient(90deg,color-mix(in srgb,var(--hot) 8%,var(--panel)),var(--hot))}
.vcols{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.vh{font-size:13px;margin:0 0 8px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.vb{display:grid;grid-template-columns:minmax(90px,150px) 1fr 44px;gap:8px;align-items:center;margin:5px 0;font-size:12.5px}
.vb .tr{height:12px;background:color-mix(in srgb,var(--line) 55%,transparent);border-radius:4px;overflow:hidden}
.vb .f{height:100%;background:var(--hot);border-radius:4px;width:0;transition:width .8s cubic-bezier(.2,.7,.2,1)}
.vb .v{font-family:var(--mono);text-align:right}
.vul{margin:6px 0 10px;padding-left:18px;font-size:13px;color:var(--muted)}
.vul li{margin:6px 0}
:root{--hot:#c2493f}
:root[data-theme="dark"]{--hot:#ee7f75}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--hot:#ee7f75}}
@media(max-width:640px){.vb{grid-template-columns:96px 1fr 40px}}
#vbars svg{min-width:0}
#vy,#vu{flex-wrap:wrap!important;overflow:visible!important}
#gsal svg,#gstack svg,#gtax svg{min-width:0}
#gpol .tr::after{display:none}
#g_vuelos .nextp small{display:block;margin-bottom:4px}

.pax{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}
.px{display:flex;gap:12px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--bg)}
.px .av{flex:0 0 52px;height:52px;border-radius:50%;background:var(--line);color:var(--fg);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;overflow:hidden}
.px .av img{width:100%;height:100%;object-fit:cover}
.px b{display:block;font-size:14px;line-height:1.25}.px small{display:block;color:var(--muted);font-size:12.5px;margin-top:2px}.px .ph{font-size:11px;color:var(--muted)}
.px .cg{display:block;font-size:12px;color:var(--fg);opacity:.85;margin-top:2px;line-height:1.3}
/* filtro por fechas (vuelos) */
.vdate{align-items:center}
.vdl{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted)}
.vdl input{font:inherit;font-size:15px;color:var(--fg);background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:7px 10px;min-height:40px}
.vdl input:focus-visible{outline:2px solid var(--fg);outline-offset:1px}
.vdst{flex-basis:100%;margin:4px 0 0;font-size:13.5px;color:var(--muted)}
.vdst.on{color:var(--fg);padding:10px 12px;border-radius:10px;background:var(--bg);border:1px solid var(--line)}
@media(max-width:480px){.vdl{flex:1 1 140px}.vdl input{flex:1;min-width:0}}




.vsel{flex:1 1 15rem;max-width:22rem;min-height:44px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--fg);padding:0 12px;font:inherit;font-weight:600;cursor:pointer}
.vsel:focus-visible{outline:2px solid var(--accent,#2563eb);outline-offset:2px}

/* filtros de vuelos: dos selectores y, solo si hace falta, las fechas */
.vfilt{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;margin-bottom:10px}
.vf{display:flex;flex-direction:column;gap:4px;min-width:0}
.vf>b{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.vf .vsel{flex:none;max-width:none;width:100%}
.vdate{margin:0 0 10px}.vdate .vdin{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:8px}
@media(max-width:480px){.vfilt{grid-template-columns:minmax(0,1fr)}}
