/* PELLEGRINI — identity from Manual de Marca, 17/09/2026.
   Shared by Provincias, Municipios and Nación. Data colors retain their meaning. */
@font-face{font-family:'Playfair Display';src:url(assets/brand/playfair-display.ttf) format('truetype');font-weight:400 900;font-style:normal;font-display:swap}
@font-face{font-family:Geist;src:url(assets/brand/geist.ttf) format('truetype');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'Geist Mono';src:url(assets/brand/geist-mono.ttf) format('truetype');font-weight:100 900;font-style:normal;font-display:swap}
:root{
 --brand-navy:#0a192f;--brand-gold:#b8924a;--brand-paper:#ffffff;
 --font-body:Geist,system-ui,sans-serif;--font-display:'Playfair Display',Georgia,serif;
 --font:var(--font-body);--mono:'Geist Mono',monospace;
 --bg:#f8f9fa;--paper:#f8f9fa;--s1:#fff;--surface:#fff;--white:#fff;
 --s2:#f1f5f9;--s3:#e8edf3;--surface3:#e8edf3;
 --text:#0a192f;--ink:#0a192f;--muted:#64748b;--dim:#64748b;
 --border:#e2e8f0;--border2:#a4b2c4;--line:#e2e8f0;--strong:#8b9db4;
 --accent:#0a192f;--blue:#0a192f;--teal:#0a192f;--gold:#0a192f;--gold-dim:#0a192f;
 --gold-bg:#f5f0e6;--gold-border:#decba6;--soft:#f1f5f9;--teal-soft:#f1f5f9;
 --green:#047857;--positive:#047857;--green-bg:#eaf5f0;--green-border:#bddbce;
 --red:#b91c1c;--negative:#b91c1c;--red-bg:#fdf0ef;--red-soft:#fdf0ef;--red-border:#edc5c1;
 --amber:#855f22;--base:#a4b2c4;--project:#0a192f;
 --chart-blue:#254b73;--chart-secondary:#8398b1;--chart-amber:#b8924a;--chart-purple:#756587;--chart-gray:#94a3b8;
 --map-low:#b91c1c;--map-high:#047857;--shadow:0 12px 40px #0a192f06;
 color-scheme:light;
}
:root[data-theme=dark]{
 --bg:#0a192f;--paper:#0a192f;--s1:#12253e;--surface:#12253e;--white:#12253e;
 --s2:#172d47;--s3:#213853;--surface3:#213853;
 --text:#f8fafc;--ink:#f8fafc;--muted:#a6b5ca;--dim:#a6b5ca;
 --border:#31465e;--border2:#71849d;--line:#31465e;--strong:#8a9fba;
 --accent:#d5b477;--blue:#c5d6ed;--teal:#c5d6ed;--gold:#d5b477;--gold-dim:#d5b477;
 --gold-bg:#303345;--gold-border:#74654a;--soft:#172d47;--teal-soft:#172d47;
 --green:#74d3af;--positive:#74d3af;--green-bg:#183b36;--green-border:#3f6b5b;
 --red:#ff9b91;--negative:#ff9b91;--red-bg:#462b32;--red-soft:#462b32;--red-border:#81534e;
 --amber:#dfba77;--base:#59718d;--project:#c5d6ed;
 --chart-blue:#8eaed1;--chart-secondary:#8b99ad;--chart-amber:#dfba77;--chart-purple:#baabd0;--chart-gray:#a6b5ca;
 --shadow:none;color-scheme:dark;
}
html,body{font-family:var(--font-body)}
body{color:var(--text);background:var(--bg)}
button,input,select,textarea,table,svg text{font-family:var(--font-body)}
h1,h2,.gov-title,.layer-title,.sh{font-family:var(--font-display);font-weight:600;letter-spacing:-.025em;line-height:1.25}
h3,h4,.k-val,.stat-value,.metric,.jumbo,.card-value,.summary-nation-value{font-family:var(--font-body);font-variant-numeric:tabular-nums}
code,kbd,.data-code{font-family:var(--mono)}
.site-header{background:var(--surface);backdrop-filter:none;border-bottom:1px solid var(--border)}
.site-header::before,.header::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--brand-gold)}
.brand.pellegrini-brand{display:flex;align-items:center;gap:22px;min-width:0;text-decoration:none;color:var(--text)}
.pellegrini-brand .brand-identity{display:flex;flex-direction:column;align-items:flex-start;flex:none}
.pellegrini-brand .brand-wordmark{display:block;width:auto;max-width:none;font:700 25px/1.1 var(--font-display);letter-spacing:-.5px;color:var(--text);white-space:nowrap}
.pellegrini-brand .brand-wordmark::after{content:'';display:block;width:30px;height:2px;background:var(--brand-gold);margin-top:7px}
.pellegrini-brand .brand-tagline{display:block;margin:6px 0 0;font:400 9px/1.3 'Geist Mono',monospace;letter-spacing:.2px;color:var(--muted);white-space:nowrap}
.pellegrini-brand .brand-context{display:block;min-width:0;border-left:1px solid var(--border);padding-left:22px;font:600 16px/1.3 var(--font-body);letter-spacing:-.3px;color:var(--text)}
.header .pellegrini-brand .fixed-dashboard-title{font:600 18px/1.3 var(--font-body)!important;letter-spacing:-.3px;color:var(--text);margin:0;padding:0}
.header .brand.pellegrini-brand{gap:22px}
.header{background:var(--surface)}
.header-inner{min-height:94px}
.brand:focus-visible{outline:3px solid var(--blue);outline-offset:6px;border-radius:4px}
.main-nav :is(a,button)[aria-current=page],.visible-navigation nav button[aria-current=page]{box-shadow:inset 0 -2px 0 var(--brand-gold)}
.positive,.g,.rank-value.positive,.ranking-key-item.positive{color:var(--positive)}
.negative,.r,.rank-value.negative,.ranking-key-item.negative{color:var(--negative)}
.rank-fill.positive{background:var(--positive)}
.rank-fill.negative{background:var(--negative)}
.rank-fill.neutral{background:var(--muted)}
.chart text,.execution-svg text{font-family:var(--font-body)}
.chart .grid line,.chart .axis line{stroke:var(--border)}
.ld[style*="#4ade80"]{background:var(--chart-secondary)!important;border-color:var(--chart-secondary)!important}
.main-nav :is(a,button):focus-visible,:focus-visible{outline-color:var(--blue)}

/* Provincial views keep their established controls and mobile menu. */
[data-dashboard=provincias] .header .brand-logo{display:none}
[data-dashboard=provincias] #summaryView .gov-title{font-family:var(--font-display);font-weight:600;letter-spacing:-.6px}
[data-dashboard=provincias] :is(.sh,.layer-title,.completion-card h2,.federal-tools>details>summary){font-family:var(--font-display)!important;font-weight:600;letter-spacing:-.4px!important}
[data-dashboard=provincias] :is(.profile-reading h3,.gov-panel>h4,.overview-charts h3,.cc>h3,.tb>h3){font-family:var(--font-body)!important}
[data-dashboard=provincias] .management-report-download,[data-dashboard=provincias] .federal-tools .management-action{background:var(--brand-navy);border-color:var(--brand-navy);color:#fff}
[data-dashboard=provincias] .management-report-download:hover{background:#203a5b}
[data-dashboard=provincias] .profile-reading,[data-dashboard=provincias] #summaryView .profile-reading{border-left-color:var(--brand-gold)}
[data-dashboard=provincias] .latest-update{background:var(--s2)}
[data-dashboard=provincias] .debt-fact-value,[data-dashboard=provincias] .debt-donut-value{font-family:var(--font-body)}
[data-theme=dark] [data-dashboard=provincias] .management-report-download,[data-theme=dark] [data-dashboard=provincias] .federal-tools .management-action{background:var(--brand-gold);border-color:var(--brand-gold);color:var(--brand-navy)}

/* National charts use a neutral series palette; signed changes keep their colors. */
[data-dashboard=nacion] .blue{color:var(--blue)}
[data-dashboard=nacion] .editorial{border-left-color:var(--brand-gold)}
[data-dashboard=nacion] .composition span:nth-child(3n+2){background:#627d9c}
[data-dashboard=nacion] .composition span:nth-child(3n){background:var(--brand-gold)}
[data-dashboard=nacion] #report-dialog::backdrop{background:#0a192faa}
[data-dashboard=nacion] :is(.total-card,.map-panel){background:var(--surface)}
[data-dashboard=nacion] .total-card{border-top:3px solid var(--brand-gold)}
[data-dashboard=nacion] .main-nav .report-trigger{color:#fff;background:var(--brand-navy)}
[data-theme=dark] [data-dashboard=nacion] .main-nav .report-trigger{color:var(--brand-navy);background:var(--brand-gold)}

/* Municipal data colors are independent from the primary brand color. */
[data-dashboard=municipios] .editorial-reading{border-left-color:var(--brand-gold)}
[data-dashboard=municipios] .province-pulse{background:var(--brand-navy);color:#fff}
[data-dashboard=municipios] .province-pulse :is(h2,strong,span,small,.eyebrow,.text-button){color:#fff}
[data-dashboard=municipios] .province-pulse .eyebrow{color:#d5b477}
[data-dashboard=municipios] .map-panel{background:var(--surface)}
[data-dashboard=municipios] .map-panel .panel-heading h2{font-family:var(--font-display);font-weight:600}
[data-dashboard=municipios] .map-selection{background:var(--s2)}
[data-dashboard=municipios] .main-nav button[aria-current=page]{background:var(--brand-navy);color:#fff}
[data-dashboard=municipios] .main-nav button.general-ranking{background:var(--gold-bg);color:var(--brand-navy);border-color:var(--gold-border)}
[data-dashboard=municipios] .main-nav button.general-ranking[aria-current=page]{background:var(--brand-navy);color:#fff}
[data-dashboard=municipios] :is(.budget-ranking-controls,.simulation-result .stat-card,.selected-rank){background:var(--s2);border-color:var(--border)}
[data-dashboard=municipios] .transparency-track>span{background:var(--blue)}
[data-dashboard=municipios] .sim-track>div{background:var(--brand-navy)}
[data-dashboard=municipios] .sim-bar-row:first-child .sim-track>div{background:var(--base)}
[data-dashboard=municipios] .sector-track>span{background:#627d9c}
[data-dashboard=municipios] .sector-track{background:var(--s2)}
[data-dashboard=municipios] .municipality-heading h1{font-family:var(--font-display);font-weight:600;letter-spacing:-1.1px}

@media(max-width:1050px){
 .brand.pellegrini-brand,.header .brand.pellegrini-brand{gap:15px}
 .pellegrini-brand .brand-context{padding-left:15px;font-size:14px}
 .pellegrini-brand .brand-wordmark{font-size:23px}
 .pellegrini-brand .brand-tagline{font-size:8px}
}
@media(max-width:820px){
 .brand.pellegrini-brand,.header .brand.pellegrini-brand{display:block}
 .pellegrini-brand .brand-tagline{display:none}
 .pellegrini-brand .brand-context{border:0;padding:0;margin-top:6px;font-size:13px;white-space:normal}
 .pellegrini-brand .brand-wordmark{font-size:23px}
 .pellegrini-brand .brand-wordmark::after{margin-top:5px;width:25px}
 .header .pellegrini-brand .fixed-dashboard-title{font-size:14px!important}
 .header-inner{min-height:88px}
}
@media(max-width:640px){
 .pellegrini-brand .brand-wordmark{font-size:21px;letter-spacing:-.5px}
 .pellegrini-brand .brand-context{font-size:12px;line-height:1.3;margin-top:5px}
 .header .pellegrini-brand .fixed-dashboard-title{font-size:13px!important}
 [data-dashboard=nacion] .pellegrini-brand{flex:1;min-width:118px}
 [data-dashboard=nacion] .header-actions{flex:none}
 [data-dashboard=nacion] .header-actions a{padding:8px;font-size:11px}
 [data-dashboard=provincias] .header{min-height:82px;padding-block:12px}
 [data-dashboard=municipios] .header-inner .brand{min-width:130px}
}
@media(max-width:359px){
 .pellegrini-brand .brand-wordmark{font-size:19px}
 [data-dashboard=municipios] .header-inner .brand{min-width:114px}
 [data-dashboard=municipios] .dashboard-links{gap:5px}
 [data-dashboard=municipios] .dashboard-links a{padding:8px;font-size:11px}
 [data-dashboard=municipios] .dashboard-links a span{display:none}
 [data-dashboard=nacion] .header-actions a{padding:7px 5px;font-size:10px}
 [data-dashboard=nacion] .header-actions button{width:27px}
 [data-dashboard=nacion] .controls>label{display:grid;grid-template-columns:minmax(0,1fr);white-space:normal}
 [data-dashboard=nacion] .controls select{width:100%;max-width:100%}
 [data-dashboard=nacion] .controls>div{align-items:flex-start;flex-direction:column}
 [data-dashboard=nacion] .controls .switch{flex-wrap:nowrap}
 [data-dashboard=nacion] .main-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
 [data-dashboard=nacion] .main-nav :is(a,.report-trigger){flex-direction:row;min-height:44px;font-size:11px;padding:7px 3px;gap:4px}
}
@media print{.site-header::before,.header::before{display:none}:root{--bg:white;--text:#0a192f;--muted:#64748b}}

/* Keep the three dashboards discoverable, including before data finishes loading. */
.dashboard-switcher{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;width:100%;max-width:640px;padding:4px;border:1px solid var(--border);border-radius:14px;background:var(--s2)}
.dashboard-switcher a{display:flex;align-items:center;justify-content:center;min-width:0;min-height:44px;padding:10px 12px;border:1px solid transparent;border-radius:10px;color:var(--text);background:var(--surface);font:600 15px/1.2 var(--font-body);text-decoration:none;white-space:normal;text-align:center;transition:background .15s,color .15s}
.dashboard-switcher a:hover{background:var(--gold-bg)}
.dashboard-switcher a[aria-current=page]{color:#fff;background:var(--brand-navy);box-shadow:inset 0 -3px 0 var(--brand-gold)}
.dashboard-switcher a:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
[data-theme=dark] .dashboard-switcher a[aria-current=page]{color:var(--brand-navy);background:var(--brand-gold);box-shadow:none}
[data-dashboard=provincias] .header{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;gap:10px 16px}
[data-dashboard=provincias] .header .brand{grid-column:1;grid-row:1}
[data-dashboard=provincias] .header .mobile-theme{grid-column:2;grid-row:1}
[data-dashboard=provincias] .header .dashboard-switcher{grid-column:1/-1;grid-row:2}
.site-header>.dashboard-switcher{width:calc(100% - 76px);max-width:1260px;margin:0 auto 12px}
html:has([data-dashboard=nacion]){scroll-padding-top:calc(var(--national-header-height,210px) + 12px)}
@media(max-width:1100px){.site-header>.dashboard-switcher{width:calc(100% - 52px)}}
@media(max-width:820px){
 [data-dashboard=municipios] .header-inner{grid-template-columns:minmax(0,1fr) minmax(140px,1.3fr);gap:12px}
 [data-dashboard=municipios] .header-actions{grid-column:2;grid-row:1;min-width:0}
 [data-dashboard=municipios] .municipality-picker>span{display:none}
 .site-header>.dashboard-switcher{width:calc(100% - 48px)}
}
@media(max-width:640px){
 .site-header>.dashboard-switcher{width:calc(100% - 32px);margin-bottom:10px}
 .dashboard-switcher{gap:4px}
 .dashboard-switcher a{font-size:15px;padding:10px 6px}
 [data-dashboard=municipios] .header-inner .brand{min-width:0}
 [data-dashboard=municipios] .municipality-picker select{width:100%;font-size:14px}
}
@media(max-width:359px){.dashboard-switcher a{font-size:14px}.site-header>.dashboard-switcher{width:calc(100% - 24px)}}
@media(prefers-reduced-motion:reduce){.dashboard-switcher a{transition:none}}
@media print{.dashboard-switcher{display:none!important}}
