.election-hub{margin-bottom:18px;padding:22px;border:1px solid #d6e1e8;border-radius:12px;background:#f3f7fa;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.election-hub h2{margin:0 0 6px}.election-hub p{margin:0;max-width:650px}.election-hub-actions{display:flex;gap:10px;flex-wrap:wrap}.ham-year-dialog{width:min(940px,94vw);max-height:90vh;overflow:auto;border:0;border-radius:16px;padding:0}.ham-year-dialog::backdrop{background:#122c3b99}.ham-year-head{padding:24px;display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #d6e1e8}.ham-year-head h2{margin:4px 0}.ham-year-head p{margin:4px 0;color:#475569}.ham-year-body{padding:24px}.ham-year-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:18px}.ham-year-card{padding:20px;margin-bottom:16px;border:1px solid #d6e1e8;border-radius:12px;background:#fff}.ham-year-card h3{margin-top:0}.ham-year-card label{display:block;margin:14px 0;font-weight:600}.ham-year-card select,.ham-year-card textarea,.ham-year-tools select{width:100%;padding:10px;border:1px solid #bacbd7;border-radius:6px;font:inherit}.ham-year-card textarea{min-height:100px;resize:vertical}.ham-year-card p{white-space:pre-wrap;overflow-wrap:anywhere}.ham-year-card .row-actions{display:flex;gap:8px;flex-wrap:wrap}.ham-year-status{display:inline-block;padding:4px 9px;border-radius:6px;background:#e7eef5;color:#173d59;font-size:.85rem}.ham-year-notice{padding:14px;background:#eff6ff;border-radius:8px;margin:12px 0}.ham-year-error{color:#a52020;white-space:pre-wrap}.ham-year-tools select{width:auto}.election-stats{display:flex;gap:22px;flex-wrap:wrap;margin:12px 0}.election-stats strong{display:block;font-size:1.5rem}.election-ballot-review p{padding:10px;border-bottom:1px solid #d6e1e8}
body[data-public-voting] > :not(#emailBallotPage){display:none!important}#emailBallotPage{display:block!important;width:min(780px,94%);margin:30px auto 60px;color:#173043}#emailBallotPage header{padding:25px;background:#123247;color:white;border-radius:12px 12px 0 0}#emailBallotPage header span{font-size:.8rem;letter-spacing:.06em}#emailBallotPage h1{color:white;margin:8px 0}.email-ballot-content{padding:25px;background:white;border:1px solid #d6e1e8;border-radius:0 0 12px 12px}.email-ballot-content fieldset{padding:18px;border:1px solid #c7d6e0;border-radius:8px;margin:22px 0}.email-ballot-content legend{font-size:1.15rem;font-weight:700;padding:0 6px}.email-ballot-content label{display:block;padding:10px 0}.email-ballot-content input[data-email-write-in]{width:100%;padding:10px;border:1px solid #bacbd7;border-radius:6px;font:inherit}.email-ballot-error{color:#a52020}.email-ballot-review{border-bottom:1px solid #d6e1e8;padding:15px 0}.email-ballot-actions{display:flex;gap:12px;flex-wrap:wrap}
