.poll-hero{background:#edf2ed;padding:64px 0 42px;border-bottom:1px solid var(--portal-border,#e2e7e2)}.poll-hero h1{font-size:clamp(2rem,4vw,3.4rem);max-width:850px;margin:14px 0}.poll-hero .portal-lead{max-width:850px}.poll-disclaimer{display:flex;gap:12px;padding:16px;background:#faf7ed;border:1px solid #e7dec6;border-radius:12px;font-size:.87rem;line-height:1.65;color:#554b35}.poll-disclaimer p{margin:0}.poll-disclaimer svg{flex:0 0 22px;width:22px}.poll-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.poll-layout{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:26px;align-items:start}.poll-layout>div>section{margin-top:28px}.poll-candidate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.poll-candidate-card{height:100%;display:flex;flex-direction:column}.poll-candidate-card .portal-card-body{display:flex;flex-direction:column;flex:1}.poll-candidate-card .portal-card-body>p{flex:1}.poll-candidate-card .portal-button{margin-top:20px;width:100%;justify-content:center}.poll-candidate-identity{display:flex;gap:16px;align-items:center;padding:22px;border-bottom:1px solid var(--portal-border,#e2e7e2)}.poll-candidate-identity img,.poll-photo-empty{width:76px;height:76px;object-fit:cover;border-radius:50%;flex-shrink:0;background:#eef2ed}.poll-photo-empty{display:grid;place-items:center}.poll-candidate-identity h3{margin:0 0 5px;font-size:1.1rem}.poll-candidate-identity p{margin:0 0 8px;color:#68756e;font-size:.9rem}.poll-candidate-identity .portal-chip{font-size:.68rem}.poll-profile-link{display:flex;align-items:center;gap:8px;font-weight:600}.poll-profile-link svg{width:17px}.poll-result-row{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:14px;align-items:center;padding:18px 0;border-bottom:1px solid var(--portal-border,#e2e7e2)}.poll-result-row>span:last-child{text-align:right;font-size:.78rem}.poll-result-row>span:last-child strong{display:block;font-size:1rem}.poll-result-row .portal-chip{display:inline-block;font-size:.65rem;margin-left:6px}.poll-rank{display:grid;place-items:center;border-radius:50%;background:#edf2ed;width:30px;height:30px;font-weight:600}.poll-result-bar{height:7px;border-radius:10px;background:#edf1ee;overflow:hidden;margin-top:9px}.poll-result-bar span{display:block;background:var(--portal-green,#194b3d);height:100%;border-radius:10px}.poll-total{font-weight:600}.poll-voting-panel{position:sticky;top:100px}.poll-checkbox{display:flex;gap:10px;align-items:flex-start;font-size:.84rem;line-height:1.6}.poll-checkbox input{width:18px;flex:0 0 18px;margin-top:4px}.poll-fine-print{font-size:.8rem;color:#64736a;line-height:1.6}.candidate-hero{display:flex;gap:28px;align-items:center;margin:30px 0}.candidate-hero img{width:160px;height:160px;object-fit:cover;border-radius:18px}.candidate-commitments{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.candidate-commitments h2{font-size:1.13rem}.candidate-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.candidate-form-grid .full{grid-column:1/-1}.candidate-form-grid textarea{min-height:130px}.poll-admin-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.poll-admin-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.poll-admin-actions form{display:inline-flex;gap:8px;align-items:center;flex-wrap:wrap}.poll-admin-actions input{min-width:120px}.poll-private-label{color:#6b5730;font-size:.8rem}.poll-voting-panel .portal-form{display:grid;gap:15px}.portal-field input,.portal-field select,.portal-field textarea{max-width:100%}.poll-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}@media(max-width:1100px){.poll-layout{grid-template-columns:minmax(0,1fr) 320px}.poll-candidate-grid{grid-template-columns:1fr}}@media(max-width:800px){.poll-layout{grid-template-columns:1fr}.poll-layout aside{grid-row:1}.poll-voting-panel{position:static}.poll-hero{padding:38px 0 28px}.poll-candidate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.candidate-commitments{grid-template-columns:1fr}}@media(max-width:560px){.poll-candidate-grid,.candidate-form-grid,.poll-status-grid{grid-template-columns:1fr}.candidate-hero{align-items:flex-start;flex-direction:column}.candidate-hero img{width:128px;height:128px}.poll-result-row{gap:8px;grid-template-columns:25px minmax(0,1fr) auto}.poll-result-row .portal-chip{margin-left:0}.poll-candidate-identity{padding:18px}.poll-hero-actions>*{width:100%;justify-content:center}}@media(prefers-reduced-motion:reduce){.poll-result-bar span{transition:none}}
/* Candidate applications and approved development statements. */
.candidate-application-page,.candidate-public-page,.candidate-review-page{color:#172334;min-width:0}.candidate-application-page{max-width:1040px}.candidate-application-page h1,.candidate-public-page h1,.candidate-review-page h2{color:#171717}.candidate-application-page .portal-page-head{margin:22px 0}.candidate-account-note,.candidate-submit-summary{display:flex;align-items:flex-start;gap:14px;padding:18px 20px;margin:20px 0;border:1px solid #eddaad;border-radius:14px;background:#fffcf5}.candidate-account-note>.portal-icon,.candidate-submit-summary>.portal-icon{--portal-icon-size:36px;flex-shrink:0}.candidate-account-note p,.candidate-submit-summary p{margin:0;line-height:1.65}.candidate-application-form{gap:22px;background:#fff;border-color:#eee3ca}.candidate-form-section{min-width:0;margin:0;padding:22px;border:1px solid #ebdfc7;border-radius:14px;background:#fff}.candidate-form-section legend{display:flex;align-items:center;gap:10px;max-width:100%;padding:0 8px;font-weight:750;color:#493615;font-size:1.08rem;line-height:1.6}.candidate-form-section legend>.portal-icon{--portal-icon-size:30px;flex-shrink:0}.candidate-form-section>p{color:#64748b;font-size:.93rem;line-height:1.7;margin:0 0 18px}.candidate-form-grid>.portal-field{min-width:0;gap:8px}.candidate-form-grid input,.candidate-form-grid textarea,.candidate-form-grid select,.candidate-history-form select{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.candidate-form-grid textarea{min-height:130px;resize:vertical;line-height:1.7}.candidate-form-grid small{font-size:.8rem;line-height:1.6;color:#6b7280}.candidate-form-grid .candidate-saved-photo{width:100px;height:100px;object-fit:cover;border-radius:12px;border:2px solid #e6c77e}.candidate-history-form{background:linear-gradient(145deg,#fff,#fffcf4)}.candidate-form-section .candidate-conditional-note{border-left:3px solid #dba539;padding:10px 14px;margin:14px 0;background:#fff7e5;color:#624b25}.candidate-private-form{background:#fbfcfd;border-color:#dfe5eb}.candidate-consent{line-height:1.7}.candidate-consent input,.candidate-review-page .poll-checkbox input{flex-shrink:0;margin-top:4px}.candidate-application-status{padding:20px;margin:22px 0;border:1px solid #e9d49c;border-radius:12px;background:#fffaf0}.candidate-application-status h2{font-size:1.1rem;margin:0 0 12px}.candidate-application-status p{line-height:1.7;margin:8px 0}.candidate-public-hero{margin:24px 0;padding:26px;border:1px solid #e7d3a5;border-radius:18px;background:linear-gradient(120deg,#fff7e6,#fff 68%);box-shadow:0 10px 32px #593a0710}.candidate-public-hero img{border:3px solid #e6ba57;box-shadow:0 6px 20px #6a4c2020}.candidate-public-hero>div{min-width:0}.candidate-public-hero h1{font-family:Georgia,serif;margin:8px 0;font-size:clamp(1.8rem,4vw,3.3rem);overflow-wrap:anywhere}.candidate-public-hero .portal-actions{flex-wrap:wrap}.candidate-public-disclaimer{display:flex;align-items:flex-start;gap:12px;background:#fffbf3;border:1px solid #efe1c5;padding:15px 18px;border-radius:10px;font-size:.9rem;line-height:1.7}.candidate-public-disclaimer>.portal-icon{flex-shrink:0;--portal-icon-size:25px}.candidate-copy p{white-space:normal;overflow-wrap:anywhere;line-height:1.9;margin:12px 0}.candidate-copy h2,.candidate-copy h3{display:flex;align-items:center;gap:10px;color:#241c12;line-height:1.45}.candidate-copy h3{font-size:1.14rem}.candidate-copy h3>.portal-icon,.candidate-copy h2>.portal-icon{--portal-icon-size:32px;flex-shrink:0}.candidate-plans-section{margin:28px 0}.candidate-key-commitment{border-color:#dfbb6c!important;background:linear-gradient(150deg,#fffcf4,#fff)!important}.candidate-history-public{padding:22px;border:1px solid #e9d8b5;border-radius:14px;background:#fffcf6;margin:24px 0}.candidate-history-public h4{margin:15px 0 6px}.candidate-report{margin-top:24px}.candidate-report summary{cursor:pointer;font-weight:700}.candidate-directory-card{min-width:0}.candidate-directory-card h2{font-size:1.35rem;overflow-wrap:anywhere}.candidate-directory-card .portal-card-body p{line-height:1.7}.candidate-directory-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin:28px 0;padding:20px;border:1px solid #ead6ac;border-radius:12px;background:#fffaf0}.candidate-directory-footer p{margin:0}.candidate-directory-empty{padding:36px 24px;text-align:center;border:1px dashed #dbc086;background:#fffcf6;border-radius:14px}.candidate-directory-empty>.portal-icon{--portal-icon-size:52px}.candidate-directory-empty h3{margin:12px 0;font-size:1.2rem}.candidate-directory-empty p{line-height:1.7}.candidate-application-entry{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);gap:28px;align-items:center;border:1px solid #e7c988!important;background:linear-gradient(120deg,#fff9eb,#fff)!important}.candidate-application-entry>div>.portal-icon{--portal-icon-size:46px}.candidate-application-entry p{line-height:1.7}.candidate-entry-action{padding:22px;border:1px solid #ead8b0;background:#fff;border-radius:14px}.candidate-entry-action form{margin:0}.candidate-entry-action .portal-button{width:100%;white-space:normal;text-align:center}.candidate-entry-action>p{font-size:.84rem;margin:15px 0 0;color:#665b44}.candidate-compare-form{margin:20px 0;display:grid;gap:18px;padding:20px;background:#fffcf6;border:1px solid #ead9b5;border-radius:12px}.candidate-compare-choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.candidate-compare-choices .portal-field{min-width:0}.candidate-compare-choices select{width:100%;min-width:0;background:#fff}.candidate-compare-form>.portal-button{justify-self:start;white-space:normal}.candidate-table-help{font-size:.85rem;color:#6b7280}.candidate-comparison{border:1px solid #e7dcc5;border-radius:12px;overscroll-behavior-x:contain}.candidate-comparison:focus-visible{outline:3px solid #b88420;outline-offset:3px}.candidate-comparison table{table-layout:fixed;width:max-content;min-width:100%;border-collapse:collapse}.candidate-comparison th,.candidate-comparison td{width:280px;min-width:280px;max-width:280px;vertical-align:top;padding:18px!important;white-space:normal;overflow-wrap:anywhere;font-size:.93rem!important;line-height:1.8!important;border-bottom:1px solid #eee7d9;border-right:1px solid #eee7d9}.candidate-comparison tr>:first-child{width:185px;min-width:185px;max-width:185px;background:#fffcf4;font-weight:700}.candidate-comparison thead th{background:#f9edcf;color:#493315;font-size:1.04rem!important}.candidate-comparison thead th span{display:block;margin-top:5px;font-size:.83rem;font-weight:400}.candidate-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.candidate-review-page .poll-admin-actions{margin:12px 0}.candidate-review-settings,.candidate-review-profile,.candidate-review-queue{margin:20px 0}.candidate-review-settings h2,.candidate-review-queue h2{margin:0 0 16px;font-size:1.3rem}.candidate-revision{margin:16px 0;border:1px solid #e8decb;border-radius:12px;overflow:hidden}.candidate-revision>summary{padding:18px;background:#fffaf0;font-weight:700;cursor:pointer;line-height:1.8;overflow-wrap:anywhere}.candidate-review-statement{padding:18px;border:1px solid #eee3cf;border-radius:10px;background:#fff}.candidate-review-statement h3{margin-top:0}.candidate-moderation-form{border-top:1px solid #e6dcc8;padding-top:20px;margin-top:22px}.candidate-review-queue .portal-table-wrap{max-width:100%;overflow:auto}.candidate-review-queue table{min-width:650px;width:100%}.candidate-review-queue td,.candidate-review-queue th{padding:12px;text-align:left;vertical-align:top;line-height:1.6}.candidate-review-queue tbody tr{border-top:1px solid #eee}.candidate-application-page,.candidate-public-page,.candidate-review-page,.ref-poll-section{scroll-margin-top:110px}.candidate-application-entry:target,.candidate-plans-section:target{outline:2px solid #e7c988;outline-offset:5px}.candidate-public-page .election-share,.ref-poll .election-share{margin:30px 0}
@media(max-width:900px){.candidate-compare-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.candidate-application-entry{grid-template-columns:1fr}.candidate-public-hero{padding:22px}}
@media(max-width:600px){.candidate-application-form{padding:14px!important;gap:18px}.candidate-form-section{padding:16px 12px}.candidate-form-section legend{font-size:.96rem;padding:0 4px;gap:7px}.candidate-form-section legend>.portal-icon{--portal-icon-size:24px}.candidate-account-note,.candidate-submit-summary{padding:14px;gap:10px}.candidate-account-note>.portal-icon,.candidate-submit-summary>.portal-icon{--portal-icon-size:28px}.candidate-application-status{padding:16px}.candidate-application-form .poll-admin-actions{flex-direction:column;align-items:stretch}.candidate-public-hero{align-items:flex-start;padding:18px;gap:16px}.candidate-public-hero>img{width:105px;height:105px}.candidate-public-hero h1{font-size:1.9rem}.candidate-public-hero .portal-actions{display:grid;grid-template-columns:1fr}.candidate-public-hero .portal-button{white-space:normal;text-align:center}.candidate-history-public{padding:17px}.candidate-copy h2{font-size:1.4rem}.candidate-copy h3{font-size:1.08rem}.candidate-compare-form{padding:14px}.candidate-compare-choices{gap:12px}.candidate-compare-choices label{font-size:.88rem}.candidate-comparison th,.candidate-comparison td{width:235px;min-width:235px;max-width:235px;padding:12px!important;font-size:.87rem!important}.candidate-comparison tr>:first-child{width:145px;min-width:145px;max-width:145px}.candidate-entry-action{padding:18px}.candidate-review-page .portal-card-body{padding:14px}.candidate-review-page .poll-admin-actions>*{max-width:100%;white-space:normal}.candidate-review-page .candidate-form-section{padding:12px}.candidate-revision>summary{padding:14px}}
@media(prefers-reduced-motion:reduce){.candidate-application-page *,.candidate-public-page *,.candidate-review-page *{scroll-behavior:auto}}

/* Admin controls reuse public poll markup but keep native checkbox dimensions. */
.portal-admin-main .poll-admin-actions input[type="checkbox"],
.portal-admin-main .poll-admin-actions input[type="radio"],
.portal-admin-main .poll-checkbox>input[type="checkbox"],
.portal-admin-main .poll-checkbox>input[type="radio"]{width:18px;min-width:18px;height:18px;flex:0 0 18px;padding:0;accent-color:var(--admin-gold,#c58925)}
.portal-admin-main .poll-admin-options .poll-checkbox>span{min-width:0;flex:1}
.portal-admin-main .poll-admin-options .poll-checkbox small{display:block;white-space:normal;margin-top:7px}
.portal-admin-main .poll-admin-options input[type="number"]{width:84px;min-width:70px;max-width:100%;height:auto;flex:0 1 auto;margin-top:0;margin-inline-start:5px}
.portal-admin-main .candidate-application-page{max-width:none}
