/* PROYECTO: Diputado de Distrito
 * CLASE: visor V3 (nueva interfaz)
 * VERSIÓN: 1.0.0
 * FECHA: 2026-11-12
 * ESTADO: candidato
 * CAMBIOS: layout integrado cartográfico, paneles de análisis, responsive, accesibilidad.
 * MOTIVO: navegación unificada basada en cartografía M06/M08 sin resultados simulados.
 * ANTERIOR: ninguna (fichero nuevo) */
:root{--ink:#24262a;--muted:#6e7078;--wine:#9c2733;--wine2:#7f1928;--paper:#f8f7f5;--line:#e2dfe0;--panel:#fff;--soft:#f9eff0;--blue:#1d84ce;--red:#d62728;--green:#4c9a2a;--shadow:0 3px 18px rgba(23,28,36,.065);--radius:16px}
*{box-sizing:border-box}html,body{height:100%}body{margin:0;color:var(--ink);background:var(--paper);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:13px}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #e6a344;outline-offset:2px}
.top{height:78px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:0 26px;border-bottom:1px solid var(--line)}
.identity{display:flex;gap:18px;align-items:center;min-width:0}.wordmark{font:700 clamp(20px,2.05vw,31px)/1.1 Georgia,serif;letter-spacing:-.6px;text-decoration:none;color:#27282b;white-space:nowrap}.logo{height:31px;width:30px;display:flex;align-items:flex-end;gap:4px}.logo i{display:block;width:7px;background:#a83243;border-radius:1px}.logo i:nth-child(1){height:13px;background:#dfab4e}.logo i:nth-child(2){height:21px;background:#d96956}.logo i:nth-child(3){height:29px}.strap{border-left:1px solid #dad5d7;padding-left:19px;color:#747279;font:italic 15px Georgia,serif;white-space:nowrap}.site-nav{display:flex;gap:26px;align-items:center}.site-nav a{color:#30313a;text-decoration:none;font-weight:600;white-space:nowrap}.site-nav .current{color:var(--wine);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:7px}.icon-button{background:white;color:var(--wine);font-size:19px;font-weight:700;border:1px solid var(--line);border-radius:50%;width:35px;height:35px}
.app{max-width:2048px;margin:auto;display:flex;flex-direction:column;min-height:calc(100dvh - 78px);padding:14px 14px 12px;gap:14px}.modes{display:flex;align-self:center;max-width:790px;width:100%;height:46px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:3px;overflow:hidden}.modes button{display:flex;align-items:center;justify-content:center;flex:1;border:0;background:transparent;color:#40404a;font:700 15px Georgia,serif;border-radius:10px;gap:8px}.modes button[aria-pressed=true]{background:var(--wine);color:#fff;box-shadow:0 4px 10px #9c273332}
.workspace{display:grid;grid-template-columns:minmax(245px,285px) minmax(340px,1fr) minmax(295px,350px);gap:12px;min-height:570px;flex:1}.tools,.insights{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0}.tools{padding:18px 16px 10px;overflow-y:auto;max-height:calc(100dvh - 225px);min-height:540px}.tools h2{font:700 21px Georgia,serif;margin:0 0 14px}.tools fieldset{padding:12px 0 14px;border:0;border-top:1px solid #ebe8e8;margin:0}.tools legend{float:left;width:100%;font-weight:800;margin-bottom:9px;font-size:13px}.segment{display:flex;clear:both;background:#f5f4f3;border:1px solid #e5e2e2;border-radius:9px;padding:2px;gap:2px}.segment button{flex:1;border:0;background:transparent;border-radius:7px;padding:8px 4px;white-space:normal;color:#33343a;font-size:12px;font-weight:600;line-height:1.12}.segment button[aria-pressed=true]{background:var(--wine);color:white;box-shadow:0 2px 7px #9c27333b}.control{display:block;border-top:1px solid #ebe8e8;padding:14px 0 12px;font-weight:800}.control input,.control select{display:block;width:100%;min-height:37px;padding:8px 10px;margin-top:8px;border:1px solid #d8d7d7;background:#fff;border-radius:9px;color:#252833;font-weight:500}.control input:focus,.control select:focus{border-color:var(--wine)}.preferences label{display:flex;align-items:center;justify-content:space-between;padding:7px 0;font-weight:500;clear:both}.preferences input{accent-color:var(--wine);height:18px;width:35px}.tools-note{font-size:11px;line-height:1.5;color:#777680;margin:12px 0}
.map-shell{position:relative;min-height:570px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#ebf0f3;box-shadow:var(--shadow)}#map{position:absolute;inset:0}.map-tag{position:absolute;z-index:2;top:14px;left:14px;background:rgba(255,255,255,.93);border:1px solid #dce0e2;box-shadow:var(--shadow);padding:8px 11px;border-radius:10px;font-weight:700;max-width:75%;font-size:12px}.status-dot{display:inline-block;background:#399564;border-radius:50%;height:8px;width:8px;margin-right:6px}.map-actions{position:absolute;z-index:2;right:14px;top:14px;display:flex;gap:4px}.map-actions button{border:1px solid #dfe1e3;background:#fff;border-radius:9px;padding:8px 11px;font-weight:800;box-shadow:var(--shadow)}.map-notice{position:absolute;z-index:3;top:64px;left:14px;right:14px;max-width:660px;background:#fff8e7;border:1px solid #e6cb91;border-radius:9px;padding:10px 13px;color:#694b1a;box-shadow:var(--shadow);display:none;line-height:1.5}.map-notice:not(:empty){display:block}.legend{position:absolute;z-index:2;bottom:31px;left:14px;max-width:290px;max-height:245px;overflow-y:auto;background:#ffffffed;padding:12px 14px;border:1px solid #e0e2e3;border-radius:11px;box-shadow:var(--shadow)}.legend h3{margin:0 0 7px;font:700 15px Georgia,serif}.legend ul{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(110px,1fr));gap:6px 10px}.legend li{font-size:11px;display:flex;align-items:center;gap:5px;white-space:nowrap}.legend i{width:12px;height:12px;flex:none;border-radius:3px}.legend small{display:block;color:#5e616b;line-height:1.45;margin-top:7px}.attribution{position:absolute;bottom:4px;right:10px;font-size:9px;background:#ffffffe0;padding:2px 5px;border-radius:4px;color:#686975}
.insights{overflow:auto;max-height:calc(100dvh - 225px);min-height:540px}.insights-hero{background:linear-gradient(115deg,#38465c,#67525e 70%,#a27365);padding:21px 20px;color:#fff;min-height:121px}.insights-hero h1{font:700 28px Georgia,serif;letter-spacing:-.6px;margin:8px 0 5px;line-height:1.08}.overline{font-weight:700;letter-spacing:2px;font-size:10px;text-transform:uppercase;color:#f2e6e2}.insights-hero p{margin:0;font-size:11px;color:#ede9e7;line-height:1.5}.model-cards{display:flex;gap:8px;padding:11px}.model-cards>div{min-width:0;flex:1;background:#fdf1f1;border-radius:12px;padding:12px 12px}.model-cards>div+div{background:#f6f6f6}.model-cards small{font-weight:800;color:var(--wine);display:block}.model-cards strong{font:700 32px Georgia,serif;color:var(--wine);display:block;line-height:1.15}.model-cards>div+div strong{color:#77767a}.model-cards span{font-size:10px;color:#78747a}.context{padding:4px 16px 8px}.context dl{margin:0}.context dl div{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid #eee}.context dt{color:#61616b}.context dd{margin:0;text-align:right;font-weight:800}.hint{color:#6d6b75;line-height:1.6}.source-label{padding:8px 16px;color:#737078;font-size:10px}.detail-mode{border-top:1px solid #eee;margin:3px 16px;padding:13px 0}.detail-mode h2{font:700 19px Georgia,serif;margin:0 0 10px}.party-row{display:grid;grid-template-columns:65px 1fr 55px;align-items:center;gap:9px;padding:6px 0;font-size:12px}.track{height:9px;background:#f0eeee;border-radius:9px;overflow:hidden}.track b{display:block;height:100%;border-radius:9px}.small-note{color:#6e7078;font-size:11px;line-height:1.6}.comparison-table{width:100%;border-collapse:collapse;font-size:12px;margin:12px 0}.comparison-table th,.comparison-table td{padding:8px 5px;border-bottom:1px solid #eee;text-align:right}.comparison-table th:first-child,.comparison-table td:first-child{text-align:left}.comparison-table td i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:7px}.comparison-table th{font-size:10px;color:#777;text-transform:uppercase}.comparison-table .total{font-weight:800;background:#faf5f5}.comparison-table strong{color:var(--wine)}.comparison{display:grid;grid-template-columns:1fr 1fr;gap:8px}.comparison>div{border:1px solid #eee;border-radius:9px;padding:9px}.comparison strong{display:block;color:var(--wine);font:700 21px Georgia,serif}.comparison small{display:block;color:#777}.timeline{display:grid;grid-template-columns:minmax(200px,230px) 1fr;gap:12px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 17px;box-shadow:var(--shadow);align-items:center}.timeline-title{display:flex;gap:13px;align-items:center}.timeline-title>span{font-size:28px;color:var(--wine)}.timeline-title b{font:700 19px Georgia,serif}.timeline-title small{display:block;color:#777;margin-top:2px}.timeline-controls{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.timeline-controls>label{font-weight:700;color:#777}.timeline select{border:1px solid #ddd;border-radius:9px;padding:8px;max-width:200px;background:white}.years{display:flex;gap:5px;align-items:center;flex-wrap:wrap}.years button{border:1px solid #dedde0;background:white;color:#333844;border-radius:9px;padding:9px 11px;font-weight:700}.years button[aria-pressed=true]{background:var(--wine);color:white;border-color:var(--wine)}.years button[title]{text-decoration:none}.election-note{grid-column:2;color:#767178;font:italic 11px Georgia,serif;margin:-5px 0 0}.maplibregl-control-container{font-size:11px}dialog{border:0;border-radius:15px;padding:24px;max-width:480px;box-shadow:0 15px 80px #3337}dialog::backdrop{background:#1a192a88}dialog button{background:var(--wine);color:white;padding:9px 20px;border:0;border-radius:9px}
@media(max-width:1250px){.strap{display:none}.workspace{grid-template-columns:240px minmax(320px,1fr) 300px}.top{padding:0 15px}.site-nav{gap:13px}}@media(max-width:960px){.workspace{grid-template-columns:230px minmax(330px,1fr)}.insights{grid-column:1/-1;max-height:none;min-height:unset}.tools{max-height:560px}.map-shell{min-height:560px}.timeline{grid-template-columns:1fr}.election-note{grid-column:1}}@media(max-width:720px){.top{height:auto;min-height:72px;flex-wrap:wrap;padding:12px}.identity{gap:10px}.wordmark{font-size:23px}.site-nav{order:3;width:100%;justify-content:space-between}.app{padding:9px;gap:9px}.workspace{grid-template-columns:1fr}.tools{max-height:none;min-height:unset;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.tools h2,.tools-note{grid-column:1/-1}.tools fieldset{padding:10px 0}.control{padding:10px 0}.preferences{grid-column:1/-1}.map-shell{min-height:58dvh}.insights{grid-column:1;max-height:none}.modes{height:44px}.modes button{font-size:13px}.modes button span{font-size:12px}.timeline{padding:12px}.legend{bottom:24px}.map-tag{font-size:11px}}@media(max-width:380px){.tools{grid-template-columns:1fr}.modes button span{font-size:10px}.site-nav{gap:6px;font-size:11px}.timeline-controls{gap:6px}.years button{padding:7px}}
