*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.grid{display:grid}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--blue:#0967dd;--ink:#152033;--muted:#6c7890;--line:#e3e8f0;--bg:#f5f7fb;font-family:Inter,Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}html{background:var(--bg)}body{background:var(--bg);color:var(--ink);margin:0}button,select{font:inherit}a{color:inherit;text-decoration:none}.dashboard-shell{grid-template-columns:230px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{z-index:20;color:#fff;background:radial-gradient(circle at 35% 15%,#0c4b91 0,#0000 38%),linear-gradient(170deg,#062e61,#031f45 75%);flex-direction:column;width:230px;padding:22px 14px;display:flex;position:fixed;inset:0 auto 0 0;box-shadow:8px 0 34px #031f451f}.brand{justify-content:center;align-items:center;height:190px;display:flex;overflow:hidden}.brand img{-o-object-fit:cover;object-fit:cover;border-radius:22px;width:170px;height:170px}.sidebar nav{gap:8px;margin-top:8px;display:grid}.sidebar nav a{color:#dbeafe;border-radius:11px;align-items:center;gap:15px;min-height:56px;padding:0 17px;font-size:15px;font-weight:550;transition:all .2s;display:flex}.sidebar nav a:hover{color:#fff;background:#ffffff14;transform:translate(2px)}.sidebar nav a.active{color:#fff;background:linear-gradient(135deg,#0877ed,#0757bd);box-shadow:0 10px 24px #005bd040}.sidebar svg,.metric-icon svg,.quick-panel svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.sidebar svg{flex:none;width:23px;height:23px}.sidebar-foot{color:#d7e7fb;border-top:1px solid #ffffff1f;margin-top:auto;padding:18px 16px;font-size:13px}.sidebar-foot small{color:#8fb1d6;margin:5px 0 0 15px;display:inline-block}.status-dot{background:#159455;border-radius:50%;width:10px;height:10px;margin-right:8px;display:inline-block;box-shadow:0 0 0 4px #1594551a}.dashboard-main{grid-column:2;width:100%;max-width:1650px;margin:0 auto;padding:28px 32px 20px}.topbar{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.topbar h1{letter-spacing:-1px;margin:2px 0 7px;font-size:32px;line-height:1.1}.topbar p{color:var(--muted);margin:0;font-size:15px}.topbar .eyebrow{letter-spacing:1.5px;color:var(--blue);font-size:11px;font-weight:800}.source-badge{background:#fff;border:1px solid #d8e7de;border-radius:8px;padding:10px 14px;font-size:13px;box-shadow:0 2px 8px #1932500a}.menu-button{background:0 0;border:0;padding:6px;display:none}.menu-button span{background:var(--ink);width:22px;height:2px;margin:5px;display:block}.filter-card{border:1px solid var(--line);background:#fff;border-radius:13px;grid-template-columns:repeat(5,minmax(115px,1fr)) 150px;gap:14px;margin-bottom:16px;padding:17px;display:grid;box-shadow:0 5px 18px #162d4b0e}.filter-card label{border:1px solid #dce2eb;border-radius:8px;padding:7px 11px 6px}.filter-card label span{color:#7a8498;font-size:10px;display:block}.filter-card select{width:100%;color:var(--ink);background:0 0;border:0;outline:0;font-size:13px;font-weight:650}.filter-card>button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0874ec,#0758c5);border:0;border-radius:8px;font-weight:750;box-shadow:0 8px 16px #0867dd33}.metric-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:16px;display:grid}.metric-card{border:1px solid var(--line);background:#fff;border-radius:13px;align-items:center;gap:15px;min-height:118px;padding:20px;display:flex;box-shadow:0 4px 14px #162d4b0b}.metric-icon{border-radius:50%;flex:none;place-items:center;width:54px;height:54px;display:grid}.metric-icon svg{width:28px;height:28px}.metric-icon.blue{color:#075dcc;background:#e7f1ff}.metric-icon.green{color:#0b9251;background:#e5f6ed}.metric-icon.amber{color:#d98a00;background:#fff3d8}.metric-icon.purple{color:#6846d9;background:#eeeaff}.metric-card span{margin-bottom:4px;font-size:13px;display:block}.metric-card strong{letter-spacing:-.7px;font-size:25px;display:block}.metric-card small{color:#8993a7;margin-top:5px;font-size:10px;display:block}.primary-grid{grid-template-columns:1fr 1.1fr;gap:16px;margin-bottom:16px;display:grid}.secondary-grid{grid-template-columns:1.15fr 1fr 1fr;gap:16px;display:grid}.panel{border:1px solid var(--line);background:#fff;border-radius:13px;padding:20px;box-shadow:0 4px 14px #162d4b0b}.panel-title{justify-content:space-between;align-items:start;display:flex}.panel-title h2{margin:0 0 4px;font-size:17px}.panel-title p{color:#8a94a7;margin:0;font-size:11px}.panel-title button{color:#929bad;letter-spacing:2px;background:0 0;border:0}.map-panel,.candidates-panel{min-height:355px}.pe-map{place-items:center;height:240px;display:grid;position:relative}.municipality-map{filter:drop-shadow(0 12px 10px #0853aa29);width:96%;height:100%;overflow:visible}.municipality-shape{fill:url(#pe-official-gradient);stroke:#fff;stroke-width:.7px;vector-effect:non-scaling-stroke;transition:fill .15s}.municipality-shape:hover{fill:#075dcc}.island-inset rect{fill:#f7faff;stroke:#d5e3f4;stroke-width:1px;vector-effect:non-scaling-stroke}.island-inset text{fill:#68778d;text-anchor:middle;font-size:7px}.map-caption{background:#fff;border:1px solid #e4eaf2;border-radius:8px;padding:9px 12px;position:absolute;bottom:4px;left:18px;box-shadow:0 5px 15px #162d4b14}.map-caption strong,.map-caption span{display:block}.map-caption span{color:#7d879a;margin-top:2px;font-size:10px}.map-source{color:#778398;align-items:center;gap:6px;font-size:10px;display:flex}.map-source:before{content:"";background:linear-gradient(90deg,#9bc5ff,#1769df);border-radius:5px;width:18px;height:7px}.map-source strong{color:#536177;margin-left:auto}.candidate-list{margin-top:13px}.candidate{border-bottom:1px solid #e8ecf2;gap:14px;padding:16px 0;display:flex}.candidate:last-child{border-bottom:0}.avatar{border-radius:50%;flex:none;place-items:center;width:62px;height:62px;font-size:17px;font-weight:850;display:grid}.candidate-0{color:#0755b7;background:linear-gradient(145deg,#d9eaff,#97c4ff)}.candidate-1{color:#087440;background:linear-gradient(145deg,#e2f6ec,#8dd5b0)}.candidate-info{flex:1;grid-template-columns:1fr auto;align-items:end;display:grid}.candidate-info strong,.candidate-info span{display:block}.candidate-info strong{font-size:18px}.candidate-info span,.candidate-info small{color:#778398;font-size:11px}.candidate-info b{color:#075dcc;font-size:24px}.candidate-info small{text-align:right;margin-top:4px}.progress{background:#edf0f4;border-radius:10px;grid-column:1/-1;height:9px;margin-top:10px;overflow:hidden}.progress span{background:linear-gradient(90deg,#0874ed,#064eb4);border-radius:10px;height:100%}.candidate:nth-child(2) .progress span{background:linear-gradient(90deg,#28ac6c,#10814d)}.difference{background:#f4f7fb;border-radius:9px;justify-content:space-between;margin-top:9px;padding:13px 15px;font-size:12px;display:flex}.difference strong{font-size:13px}.secondary-grid .panel{min-height:265px}.ranking-list{gap:15px;margin-top:19px;display:grid}.ranking{grid-template-columns:22px 126px 1fr 72px;align-items:center;gap:9px;font-size:11px;display:grid}.ranking>b{color:#fff;background:#0967dd;border-radius:6px;place-items:center;width:20px;height:20px;display:grid}.ranking>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ranking>div{background:#edf1f6;border-radius:5px;height:8px;overflow:hidden}.ranking i{background:linear-gradient(90deg,#0b72ef,#65a9ff);border-radius:5px;height:100%;display:block}.ranking strong{text-align:right;font-size:11px}.donut-wrap{justify-content:center;align-items:center;gap:28px;height:205px;display:flex}.donut{border-radius:50%;place-items:center;width:135px;height:135px;display:grid}.donut>div{text-align:center;background:#fff;border-radius:50%;place-content:center;width:88px;height:88px;display:grid;box-shadow:inset 0 0 0 1px #edf0f4}.donut strong,.donut span{display:block}.donut strong{font-size:20px}.donut span{color:#7a8498;font-size:9px}.legend p{align-items:flex-start;gap:9px;margin:15px 0;display:flex}.legend i{border-radius:50%;width:10px;height:10px;margin-top:3px}.legend i.green{background:#159455}.legend i.amber{background:#f4b323}.legend span{color:#737f93;font-size:10px}.legend strong{color:var(--ink);margin-top:2px;font-size:13px;display:block}.quick-panel>a{border:1px solid #e0e5ed;border-radius:8px;align-items:center;gap:12px;margin-top:11px;padding:11px 12px;transition:all .2s;display:flex}.quick-panel>a:hover{background:#f6faff;border-color:#95bff0}.quick-panel svg{color:#075dcc;width:24px;height:24px}.quick-panel>a span{flex:1;font-size:11px}.quick-panel>a small{color:#8d96a8;margin-top:2px;display:block}.quick-panel>a b{font-size:22px;font-weight:400}footer{text-align:center;color:#9aa3b2;margin-top:18px;font-size:10px}@media (max-width:1180px){.metric-grid{grid-template-columns:repeat(2,1fr)}.secondary-grid{grid-template-columns:1fr 1fr}.quick-panel{grid-column:1/-1}.filter-card{grid-template-columns:repeat(3,1fr)}.filter-card>button{min-height:52px}}@media (max-width:820px){.dashboard-shell{display:block}.sidebar{transition:all .25s;transform:translate(-105%)}.sidebar-open{transform:translate(0)}.dashboard-main{padding:20px}.menu-button{display:block}.topbar{gap:12px}.topbar>div:nth-child(2){flex:1}.topbar h1{font-size:25px}.source-badge{display:none}.primary-grid,.secondary-grid{grid-template-columns:1fr}.quick-panel{grid-column:auto}.filter-card{grid-template-columns:1fr 1fr}.dashboard-main{grid-column:auto}}@media (max-width:540px){.dashboard-main{padding:14px}.topbar h1{font-size:22px}.topbar>div>p:not(.eyebrow){font-size:12px}.filter-card,.metric-grid{grid-template-columns:1fr}.filter-card label:nth-child(2),.filter-card label:nth-child(3),.filter-card label:nth-child(4){display:none}.metric-card{min-height:96px;padding:15px}.primary-grid,.secondary-grid,.metric-grid{gap:12px}.panel{padding:16px}.candidate-info strong{font-size:15px}.candidate-info b{font-size:19px}.ranking{grid-template-columns:22px 98px 1fr 65px}.donut-wrap{gap:15px}.brand{height:150px}.sidebar{width:220px}}
