@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{font-family:'DM Sans',sans-serif;color:#19353c;background:#f5f7f7;font-synthesis:none;--green:#087f72;--muted:#718187;--line:#e3e9e9}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #d4ab47;outline-offset:3px}button:disabled{cursor:wait;opacity:.5}aside{width:248px;position:fixed;inset:0 auto 0 0;background:#102e35;color:#d0dce0;padding:32px 21px;display:flex;flex-direction:column}.brand{color:white;text-decoration:none;font-family:Manrope,sans-serif;font-weight:800;font-size:28px;letter-spacing:-1px;position:relative;padding:0 9px}.brand>span:not(.logo){color:#6fd7c4}.logo{display:inline-block;position:relative;font-size:34px;margin-right:8px;color:#75d4c2}.logo span{font-size:19px;position:absolute;left:17px;top:-1px}.brand small{display:block;font:9px 'DM Sans',sans-serif;letter-spacing:1.9px;color:#93acb2;margin:7px 0 0 44px}.workspace{display:flex;align-items:center;gap:10px;font-size:12px;padding:16px 12px;border:1px solid #365057;border-radius:9px;margin:33px 0 30px}.dot,.live{height:7px;width:7px;display:inline-block;background:#72cbb4;border-radius:50%;flex-shrink:0}.tag{margin-left:auto;font-size:10px;color:#a0babf}.navlabel{font-size:9px;letter-spacing:1.6px;color:#78969f;margin:0 13px 16px}nav button{border:0;background:none;color:#a5bdc3;width:100%;text-align:left;padding:14px 12px;margin:3px 0;border-radius:7px;display:flex;align-items:center;gap:12px;font-size:17px}nav button span{font-size:12px}nav button.active{background:#25464b;color:#a0ebd7}nav b{font-size:10px;margin-left:auto;background:#476368;padding:2px 6px;border-radius:4px}.aside-bottom{margin-top:auto;padding:24px 13px}.source-icon{border:1px solid #6a8f91;border-radius:50%;padding:3px 6px;color:#88d8c5;display:inline-block;margin-bottom:12px}.aside-bottom strong{display:block;color:#d9e6e8;font-size:12px}.aside-bottom p{color:#8ba8b0;font-size:11px;line-height:1.8}.aside-bottom a{font-size:10px;color:#84cfc0;text-decoration:none}.profile{border-top:1px solid #304b52;padding:22px 7px 0;display:flex;gap:10px;align-items:center;font-size:11px}.profile>span{border-radius:50%;padding:10px;background:#355158;color:#a7cfca}.profile small{display:block;font-size:9px;color:#86a2aa;margin-top:4px}main{margin-left:248px;padding:39px 42px 20px;max-width:1800px}header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:27px}.eyebrow{font-size:9px;letter-spacing:1.7px;color:#859397;font-weight:700}h1{font-family:Manrope,sans-serif;font-size:29px;letter-spacing:-1.3px;margin:12px 0 9px;font-weight:800}h1 span{color:#13a28a}header p{color:#819095;font-size:12px;margin:0}.outline{background:white;border:1px solid #dce3e3;border-radius:7px;padding:11px 15px;font-size:11px;color:#35565b;white-space:nowrap}.notice{display:flex;align-items:center;gap:10px;background:#eaf4f0;border:1px solid #d5e9e1;border-radius:7px;padding:12px 15px;font-size:10px;color:#65847b}.notice strong{font-weight:600;color:#397667}.notice-end{margin-left:auto;color:#81978f}.filters{display:grid;grid-template-columns:1.1fr 1.35fr 1.5fr .7fr 35px;gap:16px;align-items:end;background:white;padding:20px;border:1px solid var(--line);border-radius:10px;margin:22px 0}.filters label{font-size:8px;letter-spacing:1.2px;color:#839296;font-weight:700;display:grid;gap:9px}select{width:100%;background:#fff;border:1px solid #dfe6e6;border-radius:6px;padding:10px 8px;color:#304a51;font-size:11px;letter-spacing:0;min-height:37px}.reset{background:#f4f7f7;border:1px solid var(--line);border-radius:6px;height:37px;color:#658087;font-size:19px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:25px}.stat{background:#fff;border:1px solid var(--line);border-radius:10px;padding:19px 20px;position:relative;overflow:hidden}.stat:first-child{background:#163e43;color:white;border-color:#163e43}.stat label{font-size:10px;color:#849398}.stat:first-child label{color:#b0cbc9}.stat strong{font-family:Manrope,sans-serif;font-size:29px;font-weight:750;letter-spacing:-1px;display:block;margin:11px 0 7px}.stat small{font-size:9px;color:#8b9b9f}.stat:first-child small{color:#93c6bc}.stat .mini{position:absolute;right:15px;top:18px;color:#98b3b4;font-size:16px}.grid{display:grid;grid-template-columns:1.65fr 1fr;gap:20px;margin-bottom:23px}.panel{background:white;border:1px solid var(--line);border-radius:10px;padding:23px}.panel h2,.table-head h2{font:750 15px Manrope,sans-serif;letter-spacing:-.4px;margin:0 0 7px}.panel p,.table-head p{font-size:10px;color:#89979c;margin:0 0 22px;line-height:1.6}.barrow{display:grid;grid-template-columns:115px 1fr 55px;gap:12px;align-items:center;margin:18px 0;font-size:10px}.barname{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.track{background:#f0f4f3;height:20px;border-radius:3px;overflow:hidden}.bar{height:100%;background:#128b7b;border-radius:3px;min-width:2px}.barrow:nth-child(odd) .bar{background:#6db9a6}.barrow strong{text-align:right;font-size:10px}.insight{background:#f5f8f6;border:1px solid #e5ece8;padding:15px;border-radius:7px;margin:13px 0;display:flex;gap:13px}.insight .symbol{font-size:18px;color:#218978}.insight strong{font-size:11px;display:block;margin:1px 0 6px}.insight p{font-size:10px;margin:0;line-height:1.8}.pill{display:inline-block;font-size:9px;color:#378776;background:#eaf5ef;padding:5px 8px;border-radius:4px}.table-panel{background:white;border:1px solid var(--line);border-radius:10px;overflow:hidden}.table-head{padding:22px;display:flex;align-items:center;justify-content:space-between;gap:15px}.table-head p{margin:0}.search{border:1px solid #e1e7e7;padding:10px 12px;border-radius:6px;font-size:11px;width:235px}.toolbar{padding:0 22px 15px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.toolbar .primary,.primary{background:#087f72;border:0;border-radius:6px;color:white;padding:10px 15px;font-size:11px}.toolbar small{font-size:10px;color:#849397}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:11px;text-align:left;white-space:nowrap}th{background:#f8fafa;color:#8a989b;font-size:8px;letter-spacing:1px;padding:13px 18px;border-block:1px solid #e9eeee;font-weight:600}td{padding:14px 18px;border-bottom:1px solid #edf1f1;color:#4c6268}tbody tr:last-child td{border:0}tbody tr:hover{background:#f8fbfa}.candidate{display:flex;gap:11px;align-items:center;min-width:200px}.avatar{width:33px;height:33px;display:grid;place-items:center;background:#e9f1ec;color:#3e8270;border-radius:50%;font-weight:700;font-size:10px}.candidate strong{font-size:10px;color:#23444b;display:block}.candidate small{font-size:9px;color:#94a2a5;display:block;margin-top:4px}.candidate button{border:0;background:none;text-align:left;padding:0;cursor:pointer}.votes{font-weight:650;color:#24454b}.percent{display:flex;gap:10px;align-items:center;font-size:10px}.percent i{display:inline-block;height:4px;width:55px;border-radius:4px;background:linear-gradient(to right,#53ac96 var(--p),#edf3f1 var(--p))}.star{border:0;background:none;color:#93a39f;font-size:19px;padding:0 5px}.star.on{color:#c29b34}.pagination{display:flex;align-items:center;justify-content:space-between;padding:14px 22px;border-top:1px solid var(--line);font-size:10px;color:#8a989d}.pagination button{background:white;border:1px solid var(--line);border-radius:4px;padding:6px 11px;font-size:11px;margin-left:5px;color:#5b737a}.pagination button:disabled{opacity:.4;cursor:default}footer{font-size:9px;color:#9aa7aa;display:flex;gap:10px;margin:23px 0}.empty,.loading{padding:60px 25px;text-align:center;color:#7b9094;font-size:13px}.empty strong{display:block;color:#294c52;font-size:18px;margin-bottom:12px}.empty button{margin-top:15px}.back{border:0;background:none;color:#128472;font-size:11px;padding:0;margin-bottom:20px}.detail-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.detail-top h2{font:750 21px Manrope,sans-serif;margin:0}.detail-top p{font-size:11px;color:#87969a}.levels{display:flex;gap:5px;background:#edf3f1;border-radius:6px;padding:4px}.levels button{background:none;border:0;border-radius:4px;font-size:10px;padding:8px 13px;color:#6e8589}.levels button.active{background:white;color:#176d61;box-shadow:0 1px 3px #19352b13}.method{max-width:850px;line-height:1.9}.method h3{font:700 15px Manrope,sans-serif}.method p,.method li{font-size:12px;color:#637b82}.method a{color:#087f72}.method code{font-size:11px;background:#eef4f1;padding:2px 4px}.compare-chips{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px}.chip{background:#eaf4ee;border:1px solid #cee4d8;border-radius:6px;padding:9px 12px;font-size:11px;color:#407464}.chip button{background:none;border:0;color:#7b9290;margin-left:12px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#193d43;color:white;border-radius:8px;padding:13px 22px;font-size:12px;display:none;z-index:10}#error{background:#fff0e7;padding:20px;border-radius:8px;color:#815a3a;font-size:12px;margin-bottom:20px}input[type=checkbox]{accent-color:#087f72;width:14px;height:14px}a{color:inherit}
@media(min-width:1500px){main{padding:45px 60px}.barrow{margin:22px 0}.stat strong{font-size:33px}}
@media(max-width:1100px){aside{width:205px;padding:28px 13px}main{margin-left:205px;padding:30px 24px}h1{font-size:24px}.filters{gap:9px;padding:15px}.stats{gap:10px}.stat{padding:15px}.stat strong{font-size:25px}.grid{grid-template-columns:1.3fr 1fr;gap:15px}.barrow{grid-template-columns:90px 1fr 45px;gap:7px}.notice-end{display:none}}
@media(max-width:760px){aside{position:static;width:100%;padding:17px 18px;display:block}.brand{font-size:24px}.brand small,.workspace,.navlabel,.aside-bottom,.profile{display:none}nav{display:flex;margin-top:16px;gap:5px;overflow:auto}nav button{width:auto;white-space:nowrap;padding:10px;font-size:13px;gap:6px}nav button span{font-size:10px}main{margin:0;padding:23px 16px}header{align-items:flex-start;margin-bottom:20px}h1{font-size:23px;line-height:1.35}header .outline{font-size:10px;padding:9px}.eyebrow{font-size:8px}.notice{flex-wrap:wrap;font-size:9px;gap:7px}.filters{grid-template-columns:1fr 1fr;gap:13px}.reset{display:none}.stats{grid-template-columns:1fr 1fr}.stat strong{font-size:26px}.grid{grid-template-columns:1fr}.panel{padding:20px}.barrow{grid-template-columns:110px 1fr 60px}.table-head{align-items:flex-start;flex-direction:column;padding:18px}.search{width:100%}.detail-top{align-items:flex-start;flex-direction:column;gap:12px}.levels{flex-wrap:wrap}.levels button{padding:8px 10px}footer{flex-wrap:wrap;line-height:1.6}.pagination{padding:14px}td,th{padding:13px}.notice #updated{font-size:9px}.brand .logo{font-size:27px}.logo span{font-size:15px;left:13px}}
.avatar{position:relative;overflow:hidden;flex:0 0 40px;width:40px;height:40px;border:1px solid #dfebe5}.avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 25%;background:white}.avatar img[hidden]{display:none}.legend-avatar{border-radius:8px}.named-person{display:inline-flex;align-items:center;gap:9px;vertical-align:middle;text-align:left}.named-person>.avatar{width:28px;height:28px;flex-basis:28px;font-size:8px}.named-person>span:last-child{white-space:normal;line-height:1.4}.stat .named-person{line-height:1.4;font-weight:600}.stat>label .named-person{min-height:29px}.barname{display:flex;align-items:center;gap:7px;min-width:0}.barname>.avatar{width:27px;height:27px;flex-basis:27px;font-size:8px}.bar-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.barrow{grid-template-columns:minmax(130px,1.2fr) 1fr 55px}.detail-identity{display:flex;align-items:center;gap:16px}.detail-identity>.avatar{width:68px;height:68px;flex-basis:68px;font-size:19px}.chip{display:inline-flex;align-items:center;gap:5px}.chip .named-person>.avatar{width:30px;height:30px;flex-basis:30px}.chip button{margin-left:5px}.pill .named-person>.avatar{width:22px;height:22px;flex-basis:22px}.pill .named-person{gap:6px}th .named-person{max-width:190px}
@media(max-width:760px){.barrow{grid-template-columns:minmax(135px,1.2fr) 1fr 55px;gap:8px}.detail-identity h2{font-size:19px}.detail-identity>.avatar{width:58px;height:58px;flex-basis:58px}.candidate{min-width:200px}.stat small .named-person{font-size:9px;gap:6px}.stat small .avatar{width:25px;height:25px;flex-basis:25px}}
.status-elected{--status:#12835b}.status-alternate{--status:#ba780b}.status-not-elected{--status:#7b8790}.status-annulled{--status:#c64141}.status-withdrawn{--status:#8b4caf}.status-runoff{--status:#286ec2}.status-pending{--status:#b46c24}.status-deceased{--status:#42464b}.status-unavailable{--status:#a7b3bb}.avatar{border:3px solid var(--status,#a7b3bb)}.named-person>.avatar,.barname>.avatar,.pill .named-person>.avatar{border-width:2px}.status-chips{display:flex;flex-direction:column;align-items:flex-start;gap:5px;white-space:normal;max-width:220px;min-width:155px}.status-pill{background:color-mix(in srgb,var(--status,#7b8790) 9%,white);color:var(--status,#7b8790);border:1px solid color-mix(in srgb,var(--status,#7b8790) 32%,white);border-radius:4px;padding:4px 7px;font-size:9px;font-weight:650;line-height:1.5}.status-chips small{display:block;color:#7a8b90;font-size:9px;line-height:1.5}.status-legend{display:flex;gap:11px 18px;flex-wrap:wrap;padding:4px 22px 12px;font-size:9px;color:#70858b}.status-legend>span{display:flex;align-items:center;gap:6px}.status-legend i{display:inline-block;height:12px;width:12px;border:3px solid var(--status);border-radius:50%;background:white}.rank-tabs{display:flex;gap:7px;flex-wrap:wrap;padding:0 22px 17px}.rank-tabs button{border:1px solid #e0e8e5;background:#f7faf8;color:#677d80;border-radius:6px;padding:10px 13px;font-size:10px}.rank-tabs button.active{color:#08705c;background:#e6f3ed;border-color:#bcded0;font-weight:650}.ranking-note{font-size:10px;line-height:1.7;color:#7b8e93;padding:0 22px 15px;margin:0}.rank-number{font:750 13px Manrope,sans-serif;color:#3d6269}.status-filter{font-size:8px;letter-spacing:1px;color:#7b8f94;display:grid;gap:6px;min-width:240px;margin-left:auto}.status-filter select{font-size:10px;max-width:330px;letter-spacing:0}.ranking-table .candidate{min-width:185px}.ranking-table th{letter-spacing:.5px}.no-records,.party-sub{display:block;font-size:9px;white-space:normal;line-height:1.6;color:#86989d;max-width:220px;margin-top:4px}.no-records{max-width:140px;font-weight:400}.seat-number{display:inline-grid;place-items:center;min-width:30px;padding:6px 8px;background:#e8f4ed;color:#207858;font-size:16px;font-weight:700;border-radius:5px}.quotient-panel{margin-bottom:22px}.quotient-panel p{font-size:11px;color:#70858a;margin:10px 0;line-height:1.9}.detail-identity .status-chips{max-width:600px;margin-top:12px;flex-direction:row;flex-wrap:wrap;align-items:center}.detail-identity .status-chips small{margin:0 4px}.detail-identity>.avatar{align-self:flex-start}.candidate strong{line-height:1.5}nav button{padding-block:11px}
@media(max-width:760px){.status-filter{margin-left:0;min-width:220px;width:100%}.status-filter select{max-width:none}.rank-tabs{padding-inline:16px}.status-legend{padding-inline:16px}.ranking-note{padding-inline:16px}.rank-tabs button{font-size:10px}.ranking-table .candidate{min-width:175px}.status-chips{min-width:150px}.detail-identity .status-chips{min-width:0}.table-head{gap:15px}}
.municipality-step{max-width:720px;margin:24px 0}.municipality-step h2{font-size:22px;margin:18px 0 10px}.municipality-step>p{font-size:12px;line-height:1.8;margin-bottom:24px}.municipality-step>label{display:block;font-size:11px;font-weight:600;margin-bottom:9px}.municipality-step>select{max-width:480px;display:block;font-size:13px;padding:13px 12px}.municipality-step>small{display:block;font-size:10px;color:#7b9195;margin-top:13px}.detail-level-navigation{width:max-content;max-width:100%;flex-wrap:wrap}.municipality-step .pill{font-size:9px}
.candidate .municipality-link{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;min-height:36px}.municipality-link .municipality-arrow{color:#087f72;font-size:10px;white-space:nowrap}.municipality-link:hover strong{color:#087f72;text-decoration:underline}.municipality-link:focus-visible{border-radius:4px}
@media print{aside,.filters,header button,.toolbar,.search,.pagination,.back,#toast,.rank-tabs{display:none}main{margin:0;padding:0}.grid{grid-template-columns:1fr 1fr}body{background:white}.panel,.stat{break-inside:avoid}th,td{padding:8px}header{margin-top:20px}}
