/* Dirección visual de televisión · referencia del usuario */
:root{--tv-blue:#006de8;--tv-cyan:#36d9ff;--tv-magenta:#eb005b;--tv-navy:#002452}
.app{position:relative;background:linear-gradient(125deg,#c3e1ff,#f7fbff 65%,#c2e0ff);grid-template-columns:230px minmax(0,1fr) 280px;grid-template-rows:138px minmax(0,1fr) 88px}
.app>header{grid-template-columns:230px minmax(0,1fr) 235px;background:linear-gradient(90deg,#ffffffef,#f7fbfff0 55%,#f4f8ffcc),url('fondo_electoral.png') center 30%/cover;border-bottom:3px solid #56cfff;box-shadow:0 0 18px #28caff80;isolation:isolate;overflow:hidden}.app>header:before{content:'';position:absolute;inset:-70px;z-index:-1;background:repeating-linear-gradient(128deg,transparent 0 140px,#0072ef0c 141px 168px,transparent 169px 310px);pointer-events:none}.app>header:after{left:0;width:100%;height:2px;background:linear-gradient(90deg,#008aff,#fff,#00caff,#fff);box-shadow:0 0 15px #13dfff;transform:none}.brand{height:138px;background:transparent;border:0;padding:0;position:relative;overflow:hidden}.ola-logo{display:none}.ola-logo-crop{height:112px;width:180px;background-image:url('referencia_identidad.png');background-size:1672px 940px;background-position:-12px -2px;mix-blend-mode:multiply}.headtitle{padding-left:8px}.headtitle .eyebrow{display:inline-block;background:linear-gradient(#f50049,#c70036);color:#fff;font-size:13px;font-weight:900;letter-spacing:.4px;padding:5px 16px;transform:skewX(-18deg);box-shadow:0 2px 1px #fff;margin-bottom:7px}.headtitle .eyebrow span{display:block;transform:skewX(18deg)}.headtitle .big{font-family:'Arial Black','Segoe UI',Arial,sans-serif;font-size:clamp(28px,3.35vw,51px);font-weight:900;letter-spacing:-1.1px;line-height:1;white-space:nowrap;color:#003a71;text-shadow:0 2px 0 white,0 3px 1px #7eb5db}.headtitle .big b{font-size:1.24em;color:#b80043;letter-spacing:-2px;text-shadow:0 2px 0 white}.headtitle .small{font-size:10px;letter-spacing:3.1px;color:#003264;font-weight:600;margin-top:9px}.headright{display:flex;gap:12px;padding:0 18px 0 12px;color:#003266}.headright .cover-tag{border:0;border-left:2px solid #0a3969;background:none;border-radius:0;padding:0 10px;font-size:10px;line-height:1.7;letter-spacing:1.6px;color:#003568}.headright .cover-tag:after{content:'';display:block;height:3px;margin-top:5px;background:linear-gradient(90deg,#009c6b 0 33%,white 33% 66%,#d31b4b 66%)}.headright .edition{border-left:2px solid #0a3969;padding-left:12px;font-style:italic;font-size:17px;line-height:1.05;font-weight:800;color:#002e5e}.headright .edition b{color:inherit}
.app>nav{background:linear-gradient(110deg,#001a45ee,#003b7de8),url('fondo_electoral.png') 45% center/cover;padding:14px 13px;border-right:2px solid #11d0ff;box-shadow:inset -4px 0 9px #00bbff50;position:relative}.nav-intro{background:linear-gradient(115deg,#0654a47a,#001c48b5);border:1px solid #1185e140;border-radius:13px;padding:14px 15px;box-shadow:inset 0 1px 0 #40bfff70,0 3px 10px #0002;margin:0 0 17px;position:relative}.nav-intro:after{content:'';position:absolute;width:4px;height:70%;right:-12px;top:15%;background:#d5ffff;box-shadow:0 0 10px 5px #00aaff;border-radius:50%}.nav-intro small{font-size:10px;color:#71d5ff;letter-spacing:1.2px;line-height:1.2;display:block}.nav-intro strong{color:white;font-size:18px;line-height:1.2;margin:6px 0}.nav-intro span{font-size:11px;color:#b2deff}.navgroup{font-size:10px;letter-spacing:.8px;color:#9ce1ff;line-height:1.35;margin:14px 4px 6px}.navbtn{display:flex;align-items:center;gap:9px;padding:8px 9px;width:100%;min-height:43px;color:#fff;border:1px solid #087fce;border-radius:9px;background:linear-gradient(115deg,#00397a,#001c50 75%,#005da4);font-size:10.5px;font-weight:600;line-height:1.3;margin:2px 0;box-shadow:inset 0 1px 0 #3ebeff30,0 2px 4px #0003;position:relative}.navbtn:hover{background:linear-gradient(115deg,#007bcc,#003c83);border-color:#72e4ff}.navbtn.active{border-color:#28ceff;background:linear-gradient(120deg,#007ac8,#0061a9);box-shadow:inset 4px 0 4px #78ffff,0 0 12px #0af6}.tv-icon{width:23px;height:25px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.tv-icon svg{width:100%;height:100%;display:block;fill:currentColor}.nav-label{flex:1}.nav-chevron{font-size:23px;font-weight:400;color:#c0f1ff;line-height:1}.editor-menu{background:none;border:0;border-radius:0;margin:16px 0 0}.editor-menu summary{background:linear-gradient(100deg,#f50068,#b00067,#e00069);border:1px solid #ff7fc4;border-radius:7px;box-shadow:inset 0 1px 1px #ffb3e6,0 0 9px #ec006b40;color:#fff;font-size:11px;padding:12px 13px;letter-spacing:.2px}.editor-menu summary::marker{color:white}.editor-menu p{font-size:10px;color:#d1e8fc;padding:5px}.editor-menu .navbtn{font-size:11px;background:#052d5c}.app>main{padding:114px 10px 12px 12px}.app>aside{padding:114px 12px 12px 2px;background:transparent}.kpis{position:absolute;top:152px;left:242px;right:12px;z-index:1;display:grid;grid-template-columns:repeat(5,minmax(0,1fr)) 1.25fr;gap:8px;padding:10px;background:linear-gradient(#ffffffee,#edf7ffee);border:1px solid #c5e6ff;border-radius:15px;box-shadow:0 4px 8px #00539125,inset 0 0 0 3px #fff9;margin:0;min-height:86px}.kpi{display:flex;gap:9px;align-items:flex-start;border:1px solid #badbfa;border-radius:10px;box-shadow:inset 0 1px 0 white,0 2px 2px #377fc610;background:linear-gradient(#fff,#e4f1fc);padding:8px!important;min-height:65px;height:auto}.kpi:first-child{border:1px solid #badbfa}.kpi-icon{width:38px;height:43px;padding:7px;display:flex;flex-shrink:0;align-items:center;justify-content:center;background:linear-gradient(135deg,#00d6f1,#0064d2);border-radius:10px;box-shadow:inset 1px 1px 2px #d0ffffa0,0 2px 3px #005a9250;color:white}.kpi:nth-child(2) .kpi-icon{background:linear-gradient(135deg,#ffb01e,#e82320)}.kpi:nth-child(3) .kpi-icon,.kpi:nth-child(5) .kpi-icon{background:linear-gradient(135deg,#e549e0,#6200ad)}.kpi-icon svg{width:100%;height:100%;fill:currentColor}.kpi-info{min-width:0;padding-top:1px}.kpi b{font-size:23px!important;color:#00285c;margin:0 0 5px;line-height:1;font-weight:900;letter-spacing:-.6px}.kpi span{font-size:8px!important;line-height:1.45;color:#00447c;display:block;font-weight:700}.kpi:last-child{background:linear-gradient(110deg,#00467b,#00265b);border-color:#20cefa;box-shadow:inset 0 0 14px #0792ff66}.kpi:last-child .kpi-icon{background:none;box-shadow:none;padding:3px;width:28px}.kpi:last-child b{color:#fff;font-size:14px!important;letter-spacing:0}.kpi:last-child span{color:#fff;font-size:8px!important}.mapwrap{background:linear-gradient(100deg,#001a5350,#002d647a),url('fondo_electoral.png') center/cover;border:1px solid #e1f9ff;border-radius:13px;box-shadow:0 0 0 3px #58c8ff70,inset 0 0 20px #00aaff88,0 0 14px #0af8}.mapwrap:before{opacity:1;z-index:0;background:linear-gradient(135deg,transparent 68%,#38d9ff20 74%,transparent 75%),linear-gradient(30deg,#e5005c35,transparent 23%);pointer-events:none}.mapwrap:after{content:'';left:0;right:0;top:auto;bottom:0;height:4px;background:linear-gradient(90deg,#ff007c,#c0ffff,#00b4ff);box-shadow:0 0 10px #c9ffff}.mapwrap #map{position:relative;z-index:1;filter:drop-shadow(0 2px 4px #00172b55)}.geo{stroke:#fff;stroke-width:.8}.maphead{z-index:3;background:linear-gradient(90deg,#001d4ee8,#001a4930);border-left:3px solid #a5e7ff;color:#fff;padding:7px 11px;border-radius:2px}.maphead b{font-size:12px;letter-spacing:.1px}.maphead div{font-size:10px!important;color:white}.mapwrap .back{z-index:5;background:#0055a5;border-color:#65dcff}#olaNationalLegend{z-index:3;background:linear-gradient(135deg,#001842df,#003873df)!important;border:1px solid #91b9fa!important;box-shadow:inset 0 0 12px #2a75eb30!important;color:#fff!important}#olaNationalLegend .nl-title{font-size:9px;color:white;letter-spacing:.1px}#olaNationalLegend .nl-row{font-size:10px;color:white;line-height:1.4}#olaNationalLegend .nl-dot{border:1px solid #fff;width:12px;height:12px;box-shadow:0 0 2px #fff}.nl-note{font-size:8px!important;color:#cce8ff!important}.status{z-index:3;background:#00275ee8;border:1px solid #6fbdf7;color:#cae9ff;box-shadow:0 0 5px #0002;max-width:180px!important;font-size:8px!important;padding:7px;border-radius:8px}
.card{border:1px solid #b5ddff;border-radius:12px;box-shadow:0 3px 8px #005b9b28,inset 0 1px 0 #fff;background:linear-gradient(115deg,#fff,#eaf3ff)}.card .body{padding:11px!important}.cardhead{background:linear-gradient(90deg,#005082,#001c48)!important;border-bottom:2px solid #36baff;padding:10px 12px!important;font-size:10px!important}.national-cover{height:145px;margin:0 0 13px;padding:15px 16px;position:relative;background:linear-gradient(90deg,#002252c9,#00336045),url('fondo_electoral.png') right center/cover;box-shadow:inset 0 0 0 1px #62c9ff50;border-radius:7px;border:1px solid #6ab7f2}.national-cover small{display:inline-block;background:#d50055;color:white;padding:3px 7px;font-size:8px;letter-spacing:.3px;position:relative;z-index:1}.national-cover strong{font-size:33px;letter-spacing:-1px;line-height:.94;margin:12px 0 0;text-shadow:0 2px 3px #00204c}.national-cover strong em{color:#9bdbff}.national-cover .tv-year{position:absolute;bottom:8px;right:18px;color:#fff;background:linear-gradient(#ff005e,#bd0066);font-size:19px;font-weight:900;padding:0 18px;transform:skewX(-16deg);line-height:1.2}.national-cover svg{display:none}.st{color:#002c66;font-size:23px;font-weight:900;line-height:1.04;letter-spacing:-.8px}.gov{color:#0059a4;font-size:11px!important;line-height:1.4;padding:7px 0 10px}.cover-guide{padding:11px 0 11px 33px;position:relative;border-top:1px solid #bfd9f2;font-size:10px;line-height:1.5;color:#245d8d}.cover-guide b{color:#003d74;font-size:10px}.cover-guide:before{content:'01';position:absolute;left:0;top:12px;width:25px;height:25px;border-radius:50%;color:white;background:linear-gradient(130deg,#00bcfa,#0048af);display:grid;place-items:center;font-size:10px;font-weight:bold;box-shadow:inset 1px 1px 0 #7ee8ff}.cover-guide:nth-of-type(4):before{content:'02';background:linear-gradient(130deg,#005af0,#001966)}.cover-guide:nth-of-type(5):before{content:'03';background:linear-gradient(130deg,#005af0,#001966)}.cover-stamp{padding-top:8px;font-size:8px;color:#3e73a0;line-height:1.4}.app>footer{position:relative;background:linear-gradient(110deg,#00183de8,#00447fba,#001943ed),url('fondo_electoral.png') center 45%/cover;color:white;grid-template-columns:230px minmax(0,1fr) 160px;min-height:88px;isolation:isolate;border:0;box-shadow:0 -4px 12px #00bbff70}.app>footer:before{content:'';position:absolute;top:-8px;left:0;right:0;height:11px;border-radius:60% 40% 0 0;background:linear-gradient(90deg,#009765,#fff 28%,#ff0062 48%,#fff 70%,#00baff);box-shadow:0 -2px 4px #aaf9ff;transform:skewY(-.6deg);z-index:-1}.foot{color:#fff;font-style:italic;font-size:12px;letter-spacing:-.1px;padding:10px 18px;line-height:1.2;text-align:center;text-shadow:0 1px 3px #001333}.foot strong{color:#fff;font-size:17px;font-weight:600}.quick{gap:10px;padding:12px 8px}.quick button{border:1px solid #25caff;background:linear-gradient(#009eff,#0055cc);color:white;box-shadow:inset 0 1px 1px #91faff,0 3px 5px #001a54;padding:11px 13px;border-radius:17px;font-size:11px;line-height:1.2;display:flex;align-items:center;gap:9px;white-space:normal;min-height:51px;min-width:100px;justify-content:center}.quick .tv-icon{width:25px;height:25px}.quick button[data-public=candidatos]{background:linear-gradient(#bb38c0,#59008e);border-color:#c74ee8;box-shadow:inset 0 1px 1px #e57aff,0 3px 5px #001a54}.quick button[data-public=encuestas]{background:linear-gradient(#00bc8a,#00674f);border-color:#32d5a3;box-shadow:inset 0 1px 1px #a2ffdf,0 3px 5px #001a54}.quick button[data-public=noticias]{background:linear-gradient(#ff0066,#a60049);border-color:#ff69bc;box-shadow:inset 0 1px 1px #ffc0e8,0 0 10px #ff249e70}.quick button:hover,.quick button.is-selected{filter:brightness(1.15);transform:translateY(-1px);color:#fff}.method{color:#d8efff;font-size:8px;line-height:1.5;text-align:center;padding:7px 15px}.method b{display:block;font-size:16px;font-weight:900;color:white}.abtn{background:linear-gradient(#fff,#d9eafb);border-color:#9acdf0;color:#00457a;font-size:10px!important}.abtn.activeA{background:linear-gradient(#00a6ed,#005baa);border-color:#68d9ff;color:white}#modeLegend{background:#e5f2ff!important;border-color:#8fc9f2!important;color:#064d7c!important}
/* Las ventanas usan la misma gráfica, sin perder la claridad editorial */
.f45-top,.oe-head,#ola-news-demo .news-top{background:linear-gradient(110deg,#00275b,#0062a7 70%,#003776)!important;border-bottom:3px solid #3ddfff;box-shadow:0 2px 9px #1cc5ff30}.f45-panel,.oe-panel,#ola-news-demo .news-panel,#ola-news-demo .news-article{border-color:#97d4ff;box-shadow:0 0 0 2px #258eff30,0 22px 70px #0005}.f45-overlay,#ola-news-demo,#ola-editor,#ola-publico{background:linear-gradient(#001b44bb,#001334e8);backdrop-filter:blur(7px)}.ficha-brand{background:linear-gradient(100deg,#001e59c9,#0060a5aa),url('fondo_electoral.png') center 25%/cover;border-bottom:3px solid #54d9ff;box-shadow:inset 0 0 25px #168dff40}.ficha-brand strong{font-size:30px;font-family:'Arial Black','Segoe UI',sans-serif;text-shadow:0 2px 2px #001a48}.ficha-brand strong em{color:white;background:linear-gradient(100deg,#f00062,#a10055);display:inline-block;padding:2px 14px;font-size:36px;transform:skewX(-12deg);margin-top:4px}.ficha-brand .marca-ola{width:160px}.ficha-brand .ola-logo-crop{width:150px;height:95px;background-size:1421.2px 799px;background-position:-7px -2px;mix-blend-mode:normal;border-radius:6px}.marca-ola small{color:white}.ficha-hero{background:radial-gradient(ellipse at 5% 75%,#d6edff,transparent 65%),repeating-linear-gradient(128deg,#e0ebfb70 0 20px,transparent 21px 80px),linear-gradient(125deg,#fff,#dceaff);border-bottom:1px solid #aad4f5}.ficha-hero:after{height:4px;background:linear-gradient(90deg,#006dff,#00d5ff);box-shadow:0 0 7px #00bfff70}.ficha-photo img,.ficha-photo svg{box-shadow:0 0 0 4px #fff,7px 7px 0 #008fdd50;border-radius:5px}.ficha-hero h2{color:#003267}.ficha-links a{border:1px solid #72bfff;box-shadow:inset 0 1px 1px #ffffff60,0 2px 3px #00478025}.f45-actions button[type=submit]{background:linear-gradient(#00a87a,#007257);border-color:#4cd3af}.f45-panel button{background:linear-gradient(#007ec0,#00588e);border-color:#67c9f2}.f45-top button{background:#ffffff10!important}.enc-nacional{background:linear-gradient(120deg,#003077,#006ba0);border:1px solid #49b6f2}.enc-preview h3{color:#003c79}.news-card{border-top-color:#008bff!important}#ola-news-demo .news-card button{background:linear-gradient(#008bd4,#00528b);border-color:#60c3ed}
@media(min-width:901px) and (min-height:600px){.app{grid-template-columns:230px minmax(0,1fr) 270px;grid-template-rows:138px minmax(0,1fr) 88px}.app>header{grid-template-columns:230px minmax(0,1fr) 215px}.brand{height:138px}.headtitle .big{font-size:clamp(27px,3.2vw,49px)}.headtitle .small{font-size:9px;letter-spacing:2.1px}.headright{padding-right:10px}.headright .edition{font-size:15px}.headright .cover-tag{font-size:9px}.app>main{padding:114px 10px 12px 12px}.app>aside{padding:114px 12px 12px 2px}.navbtn{font-size:10px;padding:8px;min-height:41px}.kpi span{font-size:7px!important}.kpi b{font-size:22px!important}.navgroup{font-size:10px;margin-top:13px}.quick button{font-size:10px;padding:10px;min-width:95px}.quick{gap:9px}.maphead b{font-size:11px}.headtitle .eyebrow{font-size:13px}}
@media(min-width:901px) and (max-height:790px){.app{grid-template-rows:112px minmax(0,1fr) 74px}.app>header,.brand{height:112px}.ola-logo-crop{transform:scale(.86)}.headtitle .big{font-size:32px}.headtitle .eyebrow{font-size:11px;padding:3px 13px;margin-bottom:5px}.headtitle .small{font-size:8px;letter-spacing:1.8px}.kpis{top:123px;min-height:74px;padding:7px}.kpi{min-height:56px;gap:7px}.kpi-icon{width:31px;height:35px;padding:5px}.kpi b{font-size:20px!important}.app>main{padding-top:96px}.app>aside{padding-top:96px}.nav-intro{padding:10px 12px;margin-bottom:10px}.nav-intro strong{font-size:16px}.nav-intro span{font-size:10px}.navgroup{font-size:9px;margin:9px 3px 5px}.navbtn{min-height:34px;padding:5px 8px;font-size:9px}.tv-icon{width:20px;height:22px}.editor-menu{margin-top:12px}.editor-menu summary{padding:10px;font-size:10px}.app>footer{min-height:74px}.quick button{min-height:46px;padding:8px}.national-cover{height:114px;padding:11px}.national-cover strong{font-size:27px;margin-top:8px}.national-cover small{font-size:7px}.st{font-size:21px}.cover-guide{padding-top:8px;padding-bottom:8px;font-size:9px}.cover-guide:before{top:9px}.gov{font-size:10px!important}.cover-stamp{font-size:7px}}
@media(min-width:901px) and (max-width:1190px){.app{grid-template-columns:190px minmax(0,1fr) 230px}.app>header{grid-template-columns:190px minmax(0,1fr) 130px}.kpis{left:202px;gap:5px}.kpi{gap:5px;padding:6px!important}.kpi-icon{width:28px;height:35px;padding:5px}.kpi b{font-size:19px!important}.kpi:last-child b{font-size:11px!important}.kpi span{font-size:6px!important}.headtitle .big{font-size:30px}.headtitle .small{font-size:7px;letter-spacing:1.3px}.headright .edition{display:none}.app>footer{grid-template-columns:180px minmax(0,1fr) 110px}.quick{gap:5px}.quick button{min-width:75px;padding:8px;font-size:9px}.quick .tv-icon{width:20px}.method{font-size:7px}.navbtn{font-size:9px;gap:7px}.nav-intro strong{font-size:16px}.headtitle .eyebrow{font-size:12px}.ola-logo-crop{transform:scale(.88)}}
@media(max-width:900px){.app{grid-template-columns:1fr;grid-template-rows:auto auto auto auto auto}.app>header{grid-template-columns:120px minmax(0,1fr);min-height:122px}.brand{height:120px;width:120px;padding:0}.ola-logo-crop{transform:scale(.67);transform-origin:left center;margin-left:2px;width:180px;flex-shrink:0}.headtitle{padding:10px 8px 10px 0;min-width:0}.headtitle .eyebrow{font-size:9px;padding:4px 10px;margin-bottom:8px}.headtitle .big{font-size:clamp(18px,4.5vw,36px);white-space:normal;line-height:1.15;letter-spacing:-.5px}.headtitle .big b{letter-spacing:-1px}.headtitle .small{font-size:7px;letter-spacing:1.1px;line-height:1.7}.headright{display:none}.app>nav{max-height:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:12px}.nav-intro{display:none}.navgroup{grid-column:1/-1;display:block;margin:7px 2px 1px;font-size:9px;width:auto}.navbtn{min-height:40px;font-size:10px;padding:7px;margin:0;width:100%}.nav-chevron{font-size:20px}.tv-icon{width:22px;height:22px}.editor-menu{grid-column:1/-1;margin:8px 0 0}.editor-menu summary{padding:10px 14px}.kpis{position:static;grid-template-columns:repeat(3,minmax(0,1fr));padding:8px;margin-bottom:12px;gap:6px;min-height:0}.kpi{padding:8px!important;gap:7px}.kpi b{font-size:20px!important}.kpi span{font-size:7px!important}.kpi-icon{width:30px;height:37px;padding:5px}.kpi:last-child b{font-size:12px!important}.app>main{padding:12px}.app>aside{padding:0 12px 15px}.mapwrap{height:460px!important;min-height:380px!important}.app>footer{display:block;padding:14px 0;min-height:80px}.quick{flex-wrap:wrap;gap:9px}.quick button{font-size:11px;min-width:100px;padding:10px;min-height:49px}.foot strong{font-size:18px}.foot{font-size:13px}.method{font-size:8px}.method b{display:inline;font-size:12px}.national-cover{height:160px}.national-cover strong{font-size:40px}.national-cover .tv-year{font-size:25px}.card .body{padding:14px!important}.cover-guide:nth-of-type(4):before{content:'02'}.cover-guide:nth-of-type(5):before{content:'03'}.ficha-brand .ola-logo-crop{transform:scale(.8);transform-origin:left center;margin:0}.ficha-brand strong{font-size:24px}.ficha-brand strong em{font-size:30px}.ficha-brand .marca-ola{width:120px}.ficha-brand .marca-ola small{font-size:7px}}
@media(max-width:450px){.kpi{padding:6px!important;gap:5px}.kpi-icon{width:25px;height:31px}.kpi b{font-size:18px!important}.kpi span{font-size:6px!important}.kpi:last-child b{font-size:10px!important}.kpi:last-child .kpi-icon{width:18px}.headtitle .big{font-size:20px}.headtitle .small{font-size:6px}.mapwrap{height:380px!important}.ficha-brand{padding:12px}.ficha-brand strong{font-size:21px}.ficha-brand strong em{font-size:27px}.quick button{min-width:92px;font-size:10px}.navbtn{font-size:9px}.maphead b{font-size:9px!important}.maphead div{font-size:8px!important}}

.card .body{counter-reset:guia}.card .body .cover-guide:before{counter-increment:guia;content:counter(guia,decimal-leading-zero);background:linear-gradient(130deg,#009dee,#002778)}.mapwrap #map{filter:drop-shadow(0 2px 4px #00172b55) saturate(1.35) brightness(1.12)}
@media(min-width:1191px) and (min-height:791px){.navbtn{font-size:11px}.navgroup{font-size:10.5px}.kpi span{font-size:8px!important}.quick button{font-size:11px}.maphead b{font-size:12px}}

/* V6.1: logo original transparente, sin cambios en el resto del diseño */
.ola-logo-real{display:block;position:relative;overflow:hidden;flex-shrink:0;width:205px;height:116px}.ola-logo-real img{display:block;position:absolute;left:0;top:50%;width:100%;height:auto;max-width:none;transform:translateY(-50%);object-fit:contain;filter:drop-shadow(0 1px .6px #19416b90)}.brand .ola-logo-real{width:205px;height:116px}.ficha-brand .marca-ola .ola-logo-real{width:155px;height:95px}.ficha-brand .marca-ola .ola-logo-real img{width:100%;height:auto;border-radius:0;object-fit:contain}.footer-logo{position:relative;display:block;width:125px;height:70px;margin:0 auto 2px;isolation:isolate;filter:drop-shadow(0 1px 1px #001136) drop-shadow(0 0 3px #53bfff80)}.footer-logo img{position:absolute;left:0;top:50%;width:100%;height:auto;max-width:none;transform:translateY(-50%);display:block}.footer-logo .logo-base{filter:brightness(0) invert(1)}.footer-logo .logo-relief{filter:grayscale(1);mix-blend-mode:multiply;opacity:.4}.footer-edition{display:block;font-size:6.5px;letter-spacing:.2px;line-height:1.2;color:#e3f2ff}.method{padding:3px 8px}
@media(min-width:901px) and (max-height:790px){.brand .ola-logo-real{width:184px;height:103px}.footer-logo{width:105px;height:58px}}
@media(min-width:901px) and (max-width:1190px){.brand .ola-logo-real{width:175px;height:100px}.footer-logo{width:96px;height:57px}.footer-edition{font-size:6px}}
@media(max-width:900px){.brand .ola-logo-real{width:112px;height:80px}.ficha-brand .marca-ola .ola-logo-real{width:118px;height:76px}.footer-logo{width:120px;height:68px}.method{padding-top:8px}.footer-edition{font-size:8px}}

/* V6.3: cabecera centrada y laterales desde la parte superior */
.app>header .headtitle{text-align:center;padding-left:8px;padding-right:8px}.app>header .brand{justify-content:center;align-items:center}.app>header .headright{justify-content:center;align-items:center;text-align:center}.app>header .edition{text-align:center}
@media(min-width:901px){.app{grid-template-rows:128px minmax(0,1fr) 88px}.app>header,.brand{height:128px}.app>nav{padding-top:12px}.app>main{padding:12px 10px 12px 12px}.app>aside{padding:12px 12px 12px 2px}.kpis{position:static;top:auto;left:auto;right:auto;grid-template-columns:repeat(5,minmax(0,1fr)) 1.1fr;gap:5px;padding:7px;min-height:82px;margin:0 0 12px;flex-shrink:0}.kpi{padding:7px 5px!important;gap:5px;min-height:65px}.kpi-icon{width:27px;height:34px;padding:4px;border-radius:7px}.kpi-info{padding-top:1px}.kpi b{font-size:20px!important}.kpi span{font-size:7px!important;line-height:1.5}.kpi:last-child .kpi-icon{width:18px;padding:0}.kpi:last-child b{font-size:11px!important;line-height:1.15}.kpi:last-child span{font-size:6.5px!important}.headtitle .big{font-size:clamp(27px,3.2vw,49px)}}
@media(min-width:901px) and (max-height:790px){.app{grid-template-rows:112px minmax(0,1fr) 74px}.app>header,.brand{height:112px}.app>main{padding-top:10px}.app>aside{padding-top:10px}.app>nav{padding-top:10px}.kpis{min-height:75px;margin-bottom:10px;padding:6px}.kpi{min-height:59px}.kpi b{font-size:19px!important}.headtitle .big{font-size:32px}}
@media(min-width:901px) and (max-width:1190px){.kpis{gap:4px;padding:5px}.kpi{gap:4px;padding:6px 4px!important}.kpi-icon{width:22px;height:29px;padding:3px}.kpi b{font-size:18px!important}.kpi span{font-size:6px!important}.kpi:last-child b{font-size:9px!important}.kpi:last-child .kpi-icon{width:14px}.kpi:last-child span{font-size:6px!important}.headtitle .big{font-size:30px}}
@media(max-width:900px){.app>header .headtitle{text-align:center}.app>header{align-items:center}}

/* V6.4: costados de altura completa y pie alineado */
@media(min-width:901px){.app>footer{align-items:stretch}.app>footer .foot,.app>footer .method{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:3px;height:100%;padding-top:3px;padding-bottom:3px}.app>footer .foot>br{display:none}.app>footer .footer-logo{margin:0;flex-shrink:0}.app>footer .footer-edition{flex-shrink:0}.app>nav{display:flex;flex-direction:column;min-height:0;overflow-y:auto}.app>nav>*{flex-shrink:0}.app>nav .editor-menu{margin-top:auto;padding-top:15px}.app>aside{display:flex;flex-direction:column;min-height:0;overflow-y:auto}.app>aside>.card:only-child{flex:1 0 auto;min-height:100%;margin-bottom:0!important;display:flex;flex-direction:column}.app>aside>.card:only-child>.body{flex:1;display:flex;flex-direction:column}.app>aside .national-cover{flex-shrink:0}.app>aside .cover-stamp{margin-top:auto;padding-top:18px}.app>aside .party{align-self:flex-start}.app>aside .f45-demo{align-self:stretch}}
@media(min-width:901px) and (max-height:790px){.app>nav .nav-intro{padding:8px 10px;margin-bottom:6px}.app>nav .navgroup{margin-top:7px;margin-bottom:4px}.app>nav .navbtn{min-height:32px;padding:5px 7px}.app>nav .editor-menu{padding-top:9px}.app>aside .national-cover{height:104px;margin-bottom:9px}.app>aside .cover-guide{padding-top:7px;padding-bottom:7px}.app>aside .cover-stamp{padding-top:10px}.app>footer .footer-logo{width:105px;height:57px}.app>footer .footer-edition{font-size:6px}}
/* V6.5: territorio principal y espacio de mapa en ventanas bajas */
.territory-toggle{position:absolute;left:12px;bottom:11px;z-index:6;max-width:48%;background:#003b70ed;color:#e6f8ff;border:1px solid #7bcdf6;border-radius:6px;padding:7px 10px;font:600 10px 'Segoe UI',Arial,sans-serif;cursor:pointer;box-shadow:0 2px 4px #00193170}.territory-toggle:hover{background:#006aab}.territory-toggle[hidden]{display:none!important}
@media(min-width:901px) and (max-height:720px){html,body{height:100%!important;overflow:hidden!important}.app{height:100vh!important;min-height:0!important;max-height:100vh!important;grid-template-rows:90px minmax(0,1fr) 62px}.app>header,.brand{height:90px}.brand .ola-logo-real{width:157px;height:87px}.headtitle .eyebrow{font-size:9px;padding:3px 10px;margin-bottom:4px}.headtitle .big{font-size:29px}.headtitle .small{font-size:7px;letter-spacing:1.5px;margin-top:6px}.headright .cover-tag{font-size:8px}.headright .edition{font-size:13px}.app>main,.app>aside{min-height:0;padding-top:8px;padding-bottom:8px}.app>nav{min-height:0;padding-top:8px;padding-bottom:8px}.nav-intro{padding:7px 10px;margin-bottom:5px}.nav-intro strong{font-size:14px}.nav-intro small{font-size:8px}.nav-intro span{font-size:9px}.navgroup{font-size:8px;margin:6px 3px 3px}.navbtn{min-height:29px;font-size:9px;padding:4px 6px}.tv-icon{width:18px;height:20px}.editor-menu summary{font-size:9px;padding:8px}.app>nav .editor-menu{padding-top:7px}.state-map .kpis{display:none}.mapwrap{height:auto!important;min-height:0!important;max-height:none!important;flex:1}.maphead{top:8px;left:9px;padding:5px 8px}.maphead b{font-size:10px}.maphead div{font-size:8px!important}.app>footer{min-height:62px}.quick{padding:6px;gap:7px}.quick button{min-height:40px;padding:7px;font-size:10px}.app>footer .footer-logo{width:89px;height:48px}.app>footer .footer-edition{font-size:6px}.foot strong{font-size:15px}.foot{font-size:10px}.abtn{padding:5px 8px!important;font-size:9px!important}#analysisbar{gap:4px!important;margin-bottom:4px!important}#resultbar{margin-bottom:4px!important}#modeLegend{padding:4px 7px!important;margin-bottom:5px!important;font-size:9px!important;line-height:1.35!important}.territory-toggle{padding:5px 8px;font-size:9px}.national-cover{height:95px;padding:10px}.national-cover strong{font-size:25px}.national-cover small{font-size:7px}.st{font-size:19px}.cover-guide{font-size:9px}.cover-stamp{font-size:7px}}
@media(min-width:901px) and (max-height:560px){.app{grid-template-rows:78px minmax(0,1fr) 56px}.app>header,.brand{height:78px}.brand .ola-logo-real{width:140px;height:75px}.headtitle .big{font-size:25px}.headtitle .small{font-size:6px}.headtitle .eyebrow{font-size:8px}.nav-intro{display:none}.app>nav .navgroup{margin-top:5px;margin-bottom:3px}.app>nav .navbtn{min-height:26px;font-size:8px}.app>footer{min-height:56px}.app>footer .footer-logo{width:78px;height:43px}.quick button{min-height:35px;font-size:9px}.quick .tv-icon{width:20px;height:20px}.app>aside .card .body{padding:8px!important}.app>aside .national-cover{height:82px}.app>aside .gov{font-size:9px!important}.cover-guide{font-size:8px}.cardhead{padding:8px!important}.state-map .status{font-size:7px!important}.territory-toggle{font-size:8px}.maphead b{font-size:9px}.back{font-size:8px!important}}

.map-zoom{position:absolute;z-index:7;left:50%;bottom:10px;transform:translateX(-50%);display:flex;align-items:center;gap:2px;padding:3px;border:1px solid #77c9f5;border-radius:7px;background:#003266ec;box-shadow:0 2px 7px #00182b70}.map-zoom button{height:28px;min-width:30px;border:0;border-radius:4px;background:#ffffff12;color:white;font:700 18px 'Segoe UI',Arial;cursor:pointer}.map-zoom button:hover{background:#0075b9}.map-zoom button:disabled{opacity:.4;cursor:default}.map-zoom .zoom-reset{font-size:10px;min-width:46px;padding:0 5px}#map.is-zoomed{cursor:grab;touch-action:none}#map.is-zoomed:active{cursor:grabbing}#map.is-zoomed .geo{cursor:grab}@media(max-height:560px){.map-zoom{bottom:8px}.map-zoom button{height:24px;min-width:24px}.map-zoom .zoom-reset{min-width:40px;font-size:9px}}

/* Sustituye las escalas y espacios reservados de versiones antiguas. */
body .mapwrap{grid-template-rows:36px minmax(0,1fr) 38px!important;padding:0 10px!important}body.national-view .mapwrap #map,body.state-view .mapwrap #map,body.state-map .mapwrap #map{grid-row:2!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;margin:0!important;overflow:hidden!important;align-self:stretch!important;justify-self:stretch!important}
@media(max-height:560px){body .mapwrap{grid-template-rows:31px minmax(0,1fr) 34px!important;padding:0 6px!important}}
/* V6.6: elecciones futuras, históricos y consulta de cargos separados */
.elect-intro{color:#156788;font-size:12px;font-weight:700;margin:8px 0 13px}.elect-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 12px}.elect-count{background:linear-gradient(#fff,#e5f2ff);border:1px solid #b8d9f2;border-radius:7px;padding:12px 9px;min-width:0}.elect-count b{font-size:26px;line-height:1;color:#005d9b;display:block;margin-bottom:6px}.elect-count span{display:block;font-size:11px;line-height:1.35;font-weight:700;color:#114879}.elect-count small{display:block;font-size:9px;line-height:1.5;color:#5c7f98;margin-top:5px}.elect-extra{border:1px solid #c1d9eb;padding:9px;border-radius:6px;color:#356d91;font-size:11px;margin-bottom:10px}.elect-extra summary{cursor:pointer;font-weight:700}.elect-extra p{line-height:1.7}.elect-explain{font-size:10px;color:#58778d;line-height:1.6}.elect-sources{margin-top:auto;border-top:1px solid #bfd8ec;padding-top:12px;font-size:9px;color:#53768d;line-height:1.5}.elect-sources strong{display:block;margin-bottom:6px}.elect-sources a{display:block;color:#005e94;text-decoration:underline;padding:4px 0}.elect-sources small{display:block;font-size:9px;margin-top:7px}.selected-municipio{font-size:10px;line-height:1.5;background:#e0f0fb;padding:9px;border-radius:5px}.history-area{margin:12px 0 8px}.history-entry{min-height:47px;font-size:10px}.history-entry .tv-icon{font-size:25px}.history-filters{padding:10px 8px;background:#001b41d9;border:1px solid #15669c;border-radius:7px;margin-top:7px;color:#c4e5f6}.history-filters p{font-size:10px;line-height:1.5}.history-filters label{font-size:10px;font-weight:700;display:grid;gap:5px}.history-filters select{width:100%;padding:8px;border:1px solid #4a9ac4;background:#fff;color:#123d63;border-radius:5px;font-size:11px}.history-help{color:#9fc6dc}.history-filters #resultbar{margin-top:9px!important}.history-filters #resultbar b{font-size:9px!important;color:#c4e5f6}.history-filters #resultbar select{width:100%;font-size:11px!important}.territorial-tools{margin-top:7px}.territorial-tools #analysisbar{flex-direction:column!important;gap:5px!important}.territorial-tools .abtn{width:100%;text-align:left;font-size:10px!important;padding:7px!important}.territorial-tools{display:none}.state-map:not(.history-mode):not(.election-mode) .territorial-tools{display:block}.history-mode #olaNationalLegend{display:none!important}.history-mode .history-filters #resultbar{display:grid!important;grid-template-columns:1fr;gap:5px!important}.election-mode .territorial-tools{display:none}.gov-update{background:#e8f1f6;border-left:3px solid #7491a6;padding:10px;font-size:11px;color:#416c85;font-weight:bold}.history-scope{font-size:12px;color:#337594}
#baseOverlay{padding:18px;background:#001a36da;backdrop-filter:blur(6px)}.consulta-panel{width:min(760px,100%);max-height:94vh;display:flex;flex-direction:column;background:#f3f8fc;color:#183f5d;border:1px solid #7acaf2;border-radius:12px;box-shadow:0 20px 70px #0005;overflow:hidden}.consulta-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px;background:linear-gradient(110deg,#002858,#00659b);color:white;border-bottom:3px solid #2ac7ed;flex-shrink:0}.consulta-top small{font-size:9px;letter-spacing:1.1px}.consulta-top h2{font-size:25px;margin:6px 0 0}.consulta-top button{color:white;border:1px solid #a5ddff;background:#ffffff15;padding:9px;border-radius:6px;cursor:pointer}.consulta-inner{padding:20px;overflow-y:auto;min-height:0}.consulta-note{background:#e1eff8;color:#376a88;font-size:12px;line-height:1.6;padding:12px;border-left:3px solid #149cc2}.consulta-inner>label{display:grid;gap:7px;font-size:12px;font-weight:bold;margin:16px 0}.consulta-inner>label select{width:100%;padding:12px;font-size:15px;border:1px solid #b4d5e9;border-radius:6px;color:#214c6a;background:white}.consulta-panel .card{margin-bottom:0!important}.consulta-panel .card .body{padding:18px!important}.consulta-panel .elect-grid{grid-template-columns:repeat(4,1fr)}.consulta-panel .elect-count{padding:15px 10px}.consulta-panel .elect-count b{font-size:30px}.consulta-panel .elect-explain{font-size:11px}.consulta-panel .elect-sources{font-size:11px}.consulta-panel .elect-sources small{font-size:10px}.consulta-panel .elect-extra{font-size:12px}
@media(max-height:720px){.history-entry{min-height:36px;font-size:9px}.history-area{margin-top:8px}.history-filters{padding:7px}.history-filters select{padding:5px;font-size:10px}.history-help{font-size:8px!important}.elect-count{padding:9px 7px}.elect-count b{font-size:23px}.elect-count span{font-size:10px}.elect-count small{font-size:8px}.elect-explain{font-size:9px}.elect-sources{font-size:8px}.consulta-top{padding:13px 18px}.consulta-top h2{font-size:22px}.consulta-inner{padding:14px}.consulta-note{font-size:11px}.consulta-panel .elect-count{padding:10px}}
@media(max-width:900px){.history-area,.territorial-tools{grid-column:1/-1}.history-filters{max-width:none}.consulta-panel .elect-grid{grid-template-columns:1fr 1fr}.consulta-top h2{font-size:21px}.consulta-panel .elect-count span{font-size:11px}}

@media(min-width:901px){.app>nav .nav-intro{padding:9px 11px;margin-bottom:8px}.app>nav .nav-intro strong{font-size:15px;line-height:1.2}.app>nav .nav-intro small{font-size:8px;line-height:1.2}.app>nav .nav-intro span{font-size:9px}.app>nav .navgroup{font-size:9px;margin:8px 3px 4px}.app>nav .navbtn{min-height:35px;padding:6px 7px;font-size:10px;line-height:1.2}.app>nav .history-entry{min-height:42px}.app>nav .history-area{margin:8px 0 6px}.app>nav .editor-menu{padding-top:8px}.app>nav .editor-menu summary{padding:10px;font-size:10px}.app>nav .nav-intro:after{right:-9px}}
/* V6.7: fichas territoriales completas, con cortes y procedencia visibles. */
#side .territory-card>.body{display:block!important;padding:12px!important}.territory-card .st{font-size:24px;line-height:1.15}.territory-section{border-top:1px solid #c0d8eb;margin-top:15px;padding-top:12px;overflow-wrap:anywhere}.territory-section h3{font-size:12px;text-transform:uppercase;color:#146387;letter-spacing:.4px;margin:0 0 10px}.territory-kicker{font-size:11px;line-height:1.6;color:#47768f;margin:6px 0 10px}.governor-name{font-size:19px;line-height:1.2;font-weight:800;color:#123e67}.territory-metrics{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:10px 0}.territory-metric{min-width:0;background:linear-gradient(#fff,#e9f4fc);border:1px solid #bdd8eb;border-radius:6px;padding:9px 8px}.territory-metric small{font-size:9px;font-weight:700;line-height:1.4;display:block;color:#51768d}.territory-metric b{display:block;font-size:17px;color:#075a88;line-height:1.2;margin:6px 0;overflow-wrap:anywhere}.territory-metric span{font-size:8px;line-height:1.5;display:block;color:#69889d}.territory-source,.territory-footnote{font-size:9px;line-height:1.6;color:#648092;margin:8px 0}.territory-source a,.territory-footnote a{color:#007ba4;text-decoration:underline}.vote-winner{padding:12px;background:linear-gradient(120deg,#064c77,#002c60);border:1px solid #157caa;border-radius:7px;color:white;margin:9px 0}.vote-winner>small{display:block;color:#a1d7e7;font-size:8px;line-height:1.5}.vote-winner strong{font-size:16px;display:block;line-height:1.25;margin:7px 0}.vote-winner span{font-size:9px;display:block;line-height:1.5;color:#c1e4f1}.vote-winner>div{font-size:11px;line-height:1.5;margin:9px 0}.vote-winner>div>b{font-size:19px;font-weight:800}.territory-details{border:1px solid #c1d9e8;background:#f7fbfd;border-radius:6px;padding:9px;margin:10px 0;color:#436b83;font-size:10px;line-height:1.6}.territory-details summary{cursor:pointer;font-weight:700;color:#215d7b}.candidate-results>div{padding:9px 0;border-bottom:1px solid #d3e3ef}.candidate-results strong{font-size:11px;display:block}.candidate-results small{font-size:9px;display:block}.candidate-results span{font-size:11px;font-weight:700;display:block;margin-top:5px}.territory-hint,.territory-empty{font-size:10px;line-height:1.6;background:#e3eff7;border-left:3px solid #1a9bbc;padding:10px;margin:12px 0;color:#4d748d}.territory-status{font-size:9px;font-weight:700;letter-spacing:.3px;border-left:3px solid #849faf;background:#e5edf2;color:#41677d;padding:8px}.back-state-profile{border:1px solid #91c4e0;background:#e9f6fe;color:#176b91;border-radius:5px;padding:7px 9px;font-size:10px;cursor:pointer;margin-bottom:12px}.back-state-profile:hover{background:#cceaff}.territory-card .territory-source{overflow-wrap:anywhere}
@media(max-height:720px){.territory-card .st{font-size:21px}.governor-name{font-size:17px}.territory-metric{padding:8px 6px}.territory-metric b{font-size:16px}.territory-metric small{font-size:8px}.territory-section{margin-top:12px;padding-top:9px}.vote-winner>div>b{font-size:17px}}

/* V6.8: la ficha municipal tiene su propio alcance, sin totales estatales. */
#side .municipal-election-card>.body{display:block!important}
.municipal-election-back{padding:7px 9px;border:1px solid #83bed9;border-radius:6px;background:#e5f6ff;color:#004574;cursor:pointer;margin-bottom:10px}
.municipal-election-card .elect-grid{grid-template-columns:1fr}
.municipal-election-row{padding:10px 0;border-bottom:1px solid #c6dfed;font-size:13px;line-height:1.45}
.municipal-election-row strong{color:#004574}
.municipal-election-row p{margin:5px 0 0}
.municipal-ballot-title{font-size:14px;color:#004574;margin:16px 0 2px}
