:root{--uv-navy: #154175;--uv-navy-deep: #0f1b2e;--uv-navy-hover: #123f73;--uv-head: #1a2744;--uv-gold: #bea65d;--uv-ink: #161922;--uv-body: #475569;--uv-muted: #64748b;--uv-faint: #94a3b8;--uv-page: #f1f5f9;--uv-surface: #ffffff;--uv-surface-light: #f8fafc;--uv-border: #e2e8f0;--uv-border-strong: #cbd5e1;--uv-line: #e2e8f0;--uv-grey-btn: #e2e8f0;--uv-grey-btn-hover: #cbd5e1;--uv-grey-btn-text: #64748b;--uv-open: #3fbf7f;--uv-closed: #e0645c;--uv-gold-wash: rgba(190, 166, 93, .1);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--shadow-sm: 0 1px 3px rgba(6, 20, 40, .08);--shadow-card: 0 2px 6px -1px rgba(6, 20, 40, .1);--font-head: Georgia, "Times New Roman", serif;--font-body: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif}*,*:before,*:after{box-sizing:border-box}html,body{margin:0}body{font-family:var(--font-body);font-size:15px;line-height:23px;color:var(--uv-body);background:var(--uv-page);-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin:0}a{color:var(--uv-navy);text-decoration:none}a:hover{color:var(--uv-navy-deep)}img{display:block}:focus-visible{outline:2px solid var(--uv-navy);outline-offset:2px}.contents{display:contents}.app-header{position:sticky;top:0;z-index:10;background:var(--uv-surface);border-bottom:1px solid var(--uv-border)}.app-header-inner,.page-intro,.section,.site-footer-inner{max-width:1200px;margin:0 auto;padding-left:32px;padding-right:32px}.app-header-inner{height:64px;display:flex;align-items:center;gap:16px}.app-brand{display:flex;align-items:center;gap:12px;min-width:0}.app-brand-tile{width:40px;height:40px;flex-shrink:0;border:1px solid var(--uv-border);border-radius:10px;background:var(--uv-surface);display:flex;align-items:center;justify-content:center}.app-brand-tile img{width:28px;height:28px;object-fit:contain}.app-brand-text{display:flex;flex-direction:column;min-width:0}.app-brand-name{font-size:15px;line-height:20px;font-weight:600;color:var(--uv-ink)}.app-brand-sub{font-size:12px;line-height:16px;color:var(--uv-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-header-actions{margin-left:auto;display:flex;align-items:center;gap:12px}.app-user{font-size:13px;color:var(--uv-muted);white-space:nowrap}.page-intro{padding-top:36px;padding-bottom:4px;display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:16px 24px}.page-title{font-family:var(--font-head);font-size:40px;line-height:46px;font-weight:400;letter-spacing:-.6px;color:var(--uv-ink)}.page-lede{margin-top:8px;max-width:640px;color:var(--uv-muted)}.page-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.status-chip{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px;border:1px solid var(--uv-border-strong);border-radius:999px;background:var(--uv-surface);font-size:13px;font-weight:500;color:var(--uv-ink);white-space:nowrap}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--uv-closed)}.status-dot.is-open{background:var(--uv-open)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 18px;border:0;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:14px;font-weight:600;white-space:nowrap;cursor:pointer;transition:background-color .15s,box-shadow .15s,border-color .15s}.btn:disabled{cursor:default;opacity:.6}.btn-primary{background:var(--uv-navy);color:#fff;box-shadow:0 6px 16px #15417547}.btn-primary:hover:not(:disabled){background:var(--uv-navy-hover)}.btn-secondary{background:var(--uv-surface);border:1px solid var(--uv-border-strong);color:var(--uv-ink)}.btn-secondary:hover:not(:disabled){background:var(--uv-surface-light);border-color:var(--uv-navy);color:var(--uv-ink)}.btn-grey{background:var(--uv-grey-btn);color:var(--uv-grey-btn-text)}.btn-grey:hover:not(:disabled){background:var(--uv-grey-btn-hover)}.btn-closed{cursor:default}.section{padding-top:28px;padding-bottom:56px;display:flex;flex-direction:column;gap:40px}.card{border:1px solid var(--uv-border);border-radius:var(--radius-lg);background:var(--uv-surface);box-shadow:var(--shadow-card)}.eyebrow{font-size:12px;line-height:18px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--uv-gold)}.section-title{font-family:var(--font-head);font-size:28px;line-height:34px;font-weight:400;color:var(--uv-ink)}.icon-tile{width:44px;height:44px;flex-shrink:0;border-radius:var(--radius-md);background:var(--uv-gold);color:#fff;display:flex;align-items:center;justify-content:center}.icon-tile-sm{width:28px;height:28px;border-radius:8px}.notice{max-width:640px;display:flex;align-items:flex-start;gap:16px;padding:20px}.notice-title{font-size:16px;line-height:22px;font-weight:600;color:var(--uv-ink)}.notice-text{margin-top:2px;font-size:14px;line-height:21px;color:var(--uv-muted)}.portfolio{display:flex;flex-direction:column;gap:20px}.portfolio-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 24px;padding-bottom:12px;border-bottom:1px solid var(--uv-border)}.portfolio-heading{display:flex;flex-direction:column;gap:4px}.portfolio-status{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--uv-muted)}.portfolio-status strong{font-weight:600;color:var(--uv-ink)}.candidate-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(196px,1fr));gap:16px}.candidate{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px 16px;border:1px solid var(--uv-border);border-radius:var(--radius-md);background:var(--uv-surface);box-shadow:var(--shadow-sm);text-align:center}.candidate.is-voted{border-color:var(--uv-gold);background:var(--uv-gold-wash)}.candidate-photo{position:relative;width:88px;height:88px;flex-shrink:0}.candidate-photo img{width:100%;height:100%;border-radius:50%;object-fit:cover;background:var(--uv-page)}.voted-badge{position:absolute;right:-2px;bottom:-2px;width:28px;height:28px;border-radius:50%;border:2px solid var(--uv-surface);background:var(--uv-gold);color:#fff;display:flex;align-items:center;justify-content:center}.candidate-text{flex-grow:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.your-vote{display:flex;align-items:center;gap:4px}.your-vote svg{display:none}.candidate-name{font-size:15px;line-height:21px;font-weight:600;color:var(--uv-ink)}.candidate .btn{width:100%}.password-panel-wrap{max-width:1200px;margin:0 auto;padding:20px 32px 0}.password-panel{padding:24px;display:flex;flex-direction:column;gap:16px}.password-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.reset-close{flex-shrink:0;width:32px;height:32px;border:0;border-radius:var(--radius-sm);background:none;color:var(--uv-muted);cursor:pointer;display:flex;align-items:center;justify-content:center}.reset-close:hover{background:var(--uv-page);color:var(--uv-ink)}.btn-secondary.is-on{border-color:var(--uv-navy);background:var(--uv-surface-light)}.password-head p{margin-top:6px;font-size:14px;color:var(--uv-muted)}.password-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 16px}.password-form .field{flex-grow:1;min-width:200px;max-width:280px;display:flex;flex-direction:column;gap:6px}.password-form label{font-size:13px;font-weight:600;color:var(--uv-ink)}.field-hint{font-weight:400;color:var(--uv-muted)}.password-form input{height:40px;padding:0 12px;border:1px solid #cfd8e3;border-radius:var(--radius-sm);background:var(--uv-surface);font-family:var(--font-body);font-size:15px;color:var(--uv-ink)}.password-form input:focus{outline:none;border-color:var(--uv-navy);box-shadow:0 0 0 3px #1541751f}.password-done{display:flex;align-items:flex-start;gap:12px;padding:16px;border:1px solid var(--uv-gold);border-radius:var(--radius-md);background:var(--uv-gold-wash)}.reset-error{color:#a4243b;font-size:14px}.roll-card{padding:24px;display:flex;flex-direction:column;gap:16px}.roll-search{display:flex;gap:12px}.roll-search input{flex-grow:1;max-width:420px;height:40px;padding:0 12px;border:1px solid #cfd8e3;border-radius:var(--radius-sm);background:var(--uv-surface);font-family:var(--font-body);font-size:15px;color:var(--uv-ink)}.roll-search input:focus{outline:none;border-color:var(--uv-navy);box-shadow:0 0 0 3px #1541751f}.roll-table-wrap{overflow-x:auto}.roll-table{width:100%;border-collapse:collapse;font-size:14px}.roll-table th{padding:8px 12px;border-bottom:1px solid var(--uv-border-strong);text-align:left;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--uv-muted);white-space:nowrap}.roll-table td{padding:8px 12px;border-bottom:1px solid var(--uv-border);color:var(--uv-ink)}.roll-table .num{text-align:right;white-space:nowrap}.roll-voted{font-weight:600;color:var(--uv-navy)}.roll-not-voted{color:var(--uv-muted)}.roll-pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;font-size:13px;color:var(--uv-muted)}.roll-pager-buttons{display:flex;gap:8px}.page-voter{margin-top:6px;font-size:14px;color:var(--uv-muted)}.page-voter strong{color:var(--uv-ink)}.results-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px}.result-card{display:flex;flex-direction:column;gap:16px;padding:24px}.result-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding-bottom:12px;border-bottom:1px solid var(--uv-border)}.result-head .section-title{font-size:24px;line-height:30px}.result-total{font-size:13px;color:var(--uv-muted);white-space:nowrap}.result-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.result-row{display:flex;align-items:center;gap:14px;padding:8px 0}.result-row img{width:40px;height:40px;flex-shrink:0;border-radius:50%;object-fit:cover;background:var(--uv-page)}.result-main{flex-grow:1;min-width:0;display:flex;flex-direction:column;gap:6px}.result-line{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:var(--uv-muted)}.result-name{font-size:14px;line-height:20px;font-weight:600;color:var(--uv-ink)}.result-bar{height:6px;border-radius:999px;background:var(--uv-page)}.result-bar span{display:block;height:100%;border-radius:999px;background:var(--uv-navy)}.result-count{width:44px;height:40px;flex-shrink:0;border-radius:var(--radius-sm);background:var(--uv-page);color:var(--uv-ink);display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700}.result-row.is-lead .result-bar span{background:var(--uv-gold)}.result-row.is-lead .result-count{background:var(--uv-gold);color:#fff}.site-footer{background:var(--uv-surface);border-top:1px solid var(--uv-border)}.site-footer-inner{padding-top:24px;padding-bottom:24px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 24px;font-size:13px;color:var(--uv-muted)}.site-footer-brand{display:flex;align-items:center;gap:12px}.site-footer-brand img{width:32px;height:32px;object-fit:contain}.site-footer-name{font-weight:600;color:var(--uv-ink)}.site-footer-links{display:flex;align-items:center;gap:16px}.login{position:relative;min-height:100vh;background:#0f345f}.login-photo,.login-scrim{position:absolute;inset:0;width:100%;height:100%}.login-photo{object-fit:cover}.login-scrim{background:linear-gradient(90deg,rgba(10,30,58,.84),rgba(10,30,58,.5) 42%,rgba(10,30,58,.12) 68%,rgba(10,30,58,.3)),linear-gradient(rgba(10,30,58,.6),rgba(10,30,58,0) 24%,rgba(10,30,58,0) 52%,rgba(10,30,58,.78))}.login-layout{position:relative;min-height:100vh;padding:56px 72px;display:grid;grid-template-columns:minmax(0,772px) 460px;gap:64px}.login-story{display:flex;flex-direction:column;justify-content:space-between;gap:40px}.login-brand{display:flex;align-items:center;gap:16px}.login-brand-tile{width:60px;height:60px;flex-shrink:0;border-radius:12px;background:#ffffff;box-shadow:0 6px 20px #0614284d;display:flex;align-items:center;justify-content:center}.login-brand-tile img{width:44px;height:44px;object-fit:contain}.login-brand-text{display:flex;flex-direction:column;gap:2px}.login-brand-name{font-size:17px;line-height:20px;font-weight:600;letter-spacing:.01em;color:#fff}.login-brand-tagline{font-size:13px;line-height:16px;font-style:italic;color:#d6deea}.login-hero{max-width:620px;display:flex;flex-direction:column;gap:22px}.login-hero-rule{width:56px;height:3px;background:var(--uv-gold)}.login-hero-title{font-family:Georgia,Times New Roman,serif;font-size:80px;line-height:80px;font-weight:400;letter-spacing:-1.2px;color:#fff}.login-hero-lede{max-width:520px;font-size:18px;line-height:27.9px;color:#dbe3ee}.login-context{max-width:560px;margin:0;padding:18px 0 0;list-style:none;display:flex;flex-direction:column;gap:14px}.login-context-item{display:flex;align-items:flex-start;gap:12px}.login-context-icon{width:20px;height:20px;flex-shrink:0;margin-top:1px;color:var(--uv-gold)}.login-context-text{font-size:14px;line-height:21px;color:#c3cfdf}.login-context-text strong{font-weight:600;color:#fff}.login-context-detail{margin-left:4px}.login-hero-place{padding-top:14px;display:flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.04em;color:#c3cfdf}.login-panel{display:flex;align-items:center}.login-card{width:100%;padding:44px 44px 36px;border-radius:16px;background:#ffffff;box-shadow:0 30px 80px #06142873,0 2px 6px #06142833;display:flex;flex-direction:column;gap:24px}.login-card-title{font-family:Georgia,Times New Roman,serif;font-size:34px;line-height:39px;font-weight:400;color:var(--uv-ink)}.login-card-intro{margin-top:8px;font-size:15px;line-height:22.5px;color:var(--uv-grey-btn-text)}.login-form{display:flex;flex-direction:column;gap:20px}.login-field{display:flex;flex-direction:column;gap:8px}.login-field-label{font-size:13px;line-height:16px;font-weight:600;color:var(--uv-ink)}.login-field-control{height:48px;padding:0 14px;display:flex;align-items:center;gap:12px;border:1px solid #cfd8e3;border-radius:8px;background:#ffffff}.login-field-control:focus-within{border-color:var(--uv-navy);box-shadow:0 0 0 3px #1541751f}.login-field-icon{width:20px;height:20px;flex-shrink:0;color:var(--uv-grey-btn-text)}.login-field-input{flex-grow:1;min-width:0;border:0;background:none;font-family:var(--font-body);font-size:15px;color:var(--uv-ink)}.login-field-input:focus{outline:none}.login-field-input::placeholder{color:#94a3b8}.login-field-toggle{width:36px;height:36px;margin-right:-8px;flex-shrink:0;border:0;border-radius:6px;background:none;color:var(--uv-grey-btn-text);cursor:pointer;display:flex;align-items:center;justify-content:center}.login-field-toggle:hover{background:#f1f5f9}.login-submit{height:50px;border:0;border-radius:8px;background:var(--uv-navy);color:#fff;font-family:var(--font-body);font-size:15px;font-weight:600;box-shadow:0 6px 16px #15417547;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:background-color .15s,box-shadow .15s}.login-submit:hover:not(:disabled){background:#123f73}.login-submit:disabled{cursor:default;opacity:.6;box-shadow:none}.login-card-footer{padding-top:20px;border-top:1px solid var(--uv-line);font-size:12px;color:var(--uv-grey-btn-text)}@media (max-width: 1200px){.login-layout{grid-template-columns:minmax(0,1fr) 420px;gap:40px;padding:40px}.login-hero-title{font-size:60px;line-height:62px}}.report-page{min-height:100vh;padding:24px 16px 48px;background:var(--uv-section)}.report-toolbar{max-width:210mm;margin:0 auto 16px;display:flex;justify-content:space-between;gap:12px}.report-sheet{width:210mm;max-width:100%;margin:0 auto;padding:16mm 14mm;background:#ffffff;box-shadow:0 10px 30px #00000014;color:var(--uv-ink);font-size:10.5pt;line-height:1.45;-webkit-print-color-adjust:exact;print-color-adjust:exact}.report-head{position:relative;display:flex;align-items:center;gap:16px;padding-bottom:12px;border-bottom:3px solid var(--uv-navy)}.report-head:after{content:"";position:absolute;left:0;right:0;bottom:-7px;border-bottom:1.5px solid var(--uv-gold)}.report-logo{width:24mm;height:24mm;object-fit:contain;flex-shrink:0}.report-heading{flex-grow:1;text-align:center}.report-org{font-family:var(--font-head);font-size:13pt;font-weight:700;color:var(--uv-navy)}.report-sub{font-size:9.5pt;color:var(--uv-body)}.report-title{margin-top:4px;font-family:var(--font-head);font-size:22pt;line-height:1.2;font-weight:900;color:var(--uv-head)}.report-summary{margin:20px 0 8px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px}.report-status{display:flex;flex-direction:column;padding:8px 14px;border:1.5px solid var(--uv-gold);border-radius:12px;font-size:9.5pt;color:var(--uv-body)}.report-status strong{font-family:var(--font-head);font-size:11pt;color:var(--uv-ink)}.report-status.is-final{border-color:var(--uv-navy)}.report-meta{margin:0;display:flex;gap:24px}.report-meta dt{font-size:8pt;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--uv-gold)}.report-meta dd{margin:0;font-weight:600}.report-portfolio{margin-top:18px;break-inside:avoid;page-break-inside:avoid}.report-portfolio-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:6px}.report-portfolio .eyebrow{font-size:8pt;line-height:1.4}.report-portfolio h2{font-family:var(--font-head);font-size:14pt;line-height:1.25;font-weight:900;color:var(--uv-head)}.report-portfolio-head span{font-size:9.5pt;color:var(--uv-body);white-space:nowrap}.report-table-wrap{overflow-x:auto}.report-table{width:100%;border-collapse:collapse;font-size:10pt}.report-table th{padding:6px 8px;border-bottom:1.5px solid var(--uv-navy);text-align:left;font-size:8pt;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--uv-head)}.report-table td{padding:5px 8px;border-bottom:.75pt solid #dfe4ec}.report-table .num{width:1%;text-align:right;white-space:nowrap}.report-table th:first-child,.report-table td:first-child{text-align:left}.report-table tr.is-top td{background:rgba(190,166,93,.14);font-weight:600}.report-badge{margin-left:6px;padding:1px 8px;border-radius:50px;background:var(--uv-gold);color:#fff;font-size:7.5pt;font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.report-signoff{margin-top:36px;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:28px 32px;break-inside:avoid;page-break-inside:avoid}.report-line{height:28px;border-bottom:1px solid var(--uv-ink)}.report-sign span{display:block;margin-top:4px;font-size:8.5pt;color:var(--uv-body)}.report-foot{margin-top:28px;padding-top:8px;border-top:1px solid var(--uv-border);display:flex;justify-content:space-between;font-size:8.5pt;color:var(--uv-body)}@page{size:A4;margin:14mm 14mm 16mm;@bottom-right{content:"Page " counter(page) " of " counter(pages);font-family:Inter,sans-serif;font-size:8pt;color:#626262}}@media print{body,.report-page{background:#ffffff}.report-page{min-height:0;padding:0}.no-print{display:none!important}.report-sheet{width:auto;padding:0;box-shadow:none}}@media (max-width: 768px){.app-header-inner,.page-intro,.section,.site-footer-inner{padding-left:16px;padding-right:16px}.app-brand-sub,.app-user{display:none}.page-intro{padding-top:24px}.page-title{font-size:30px;line-height:36px}.page-actions{width:100%}.section{padding-top:20px;padding-bottom:32px;gap:28px}.section-title{font-size:22px;line-height:28px}.candidate-grid{grid-template-columns:minmax(0,1fr);gap:10px}.candidate{flex-direction:row;gap:14px;padding:12px 14px;text-align:left}.candidate-photo{width:56px;height:56px}.voted-badge{display:none}.candidate-text{align-items:flex-start}.your-vote{font-size:11px;line-height:16px}.your-vote svg{display:block}.candidate .btn{width:auto;flex-shrink:0;min-height:44px;padding:0 16px}.btn,.status-chip{min-height:44px}.login-field-input,.password-form input,.roll-search input{font-size:16px}.login-field-control,.login-submit{height:52px}.results-grid{grid-template-columns:minmax(0,1fr)}.result-card{padding:18px}.result-head{flex-direction:column;align-items:flex-start;gap:4px}.login-layout{display:flex;flex-direction:column;justify-content:flex-start;gap:28px;padding:28px 20px 40px}.login-story{gap:20px}.login-brand-tile{width:48px;height:48px;border-radius:10px}.login-brand-tile img{width:34px;height:34px}.login-hero{gap:14px}.login-hero-title{font-size:40px;line-height:42px;letter-spacing:-.6px}.login-hero-lede,.login-context,.login-hero-place{display:none}.login-card{padding:28px 24px 24px}.login-card-title{font-size:30px;line-height:34px}}@media screen and (max-width: 768px){.report-sheet{padding:20px 16px}.report-logo{width:48px;height:48px}.report-title{font-size:18pt}}
