.voter-page{background:radial-gradient(circle at 15% 35%,#eaf3ff,#0000 31%),#f8fbff;min-height:100vh}.voter-top{justify-content:space-between;align-items:center;width:min(1100px,100% - 40px);height:90px;margin:auto;display:flex}.back-link{color:#62738b;align-items:center;gap:7px;font-size:14px;font-weight:700;display:inline-flex}.back-link:hover{color:#2e68cf}.voter-shell{grid-template-columns:.9fr 1fr;align-items:center;gap:80px;width:min(1100px,100% - 40px);min-height:calc(100vh - 110px);margin:auto;padding-bottom:70px;display:grid}.voter-aside h1{letter-spacing:-.05em;max-width:450px;margin:20px 0;font-size:clamp(42px,5vw,65px);line-height:1.06}.voter-aside>p{color:#65758b;max-width:440px;font-size:19px;line-height:1.65}.voter-assurances{color:#425a78;gap:18px;margin-top:46px;font-weight:700;display:grid}.voter-assurances span{align-items:center;gap:14px;display:flex}.voter-assurances svg{color:#3673d6;width:21px;height:21px}.voter-card{background:#fff;border:1px solid #dae5f3;border-radius:20px;min-height:450px;padding:40px;box-shadow:0 28px 70px #214b8014}.card-step{color:#3470d1;letter-spacing:.14em;font-size:12px;font-weight:800}.voter-card h2{letter-spacing:-.035em;margin:17px 0 9px;font-size:29px}.card-intro{color:#66758a;margin:0 0 28px;font-size:16px;line-height:1.55}.voter-card label:not(.ballot-option){margin-bottom:10px;font-weight:700;display:block}.voter-card input[data-slot=input]{border-radius:9px;height:50px;font-size:16px}.voter-submit{width:100%;height:49px;margin-top:20px;font-size:16px}.card-foot{color:#748398;text-align:center;justify-content:center;align-items:center;gap:6px;margin:28px 0 0;font-size:13px;display:flex}.card-foot svg{color:#2f946b;flex:none}.ballot-options{gap:12px}.ballot-option{cursor:pointer;border:1px solid #dce5ef;border-radius:10px;align-items:center;gap:15px;padding:18px;font-weight:700;display:flex}.ballot-option.chosen{background:#eff5ff;border-color:#3572d5}.ballot-option [data-slot=radio-group-item]{width:20px;height:20px}.ballot-actions{justify-content:space-between;gap:12px;margin-top:26px;display:flex}.ballot-actions button{height:42px}.review-box{background:#eff5ff;border:1px solid #3775d8;border-radius:11px;padding:21px}.review-box span{color:#6881a4;letter-spacing:.08em;font-size:12px;font-weight:800;display:block}.review-box strong{margin-top:8px;font-size:21px;display:block}.receipt-view{text-align:center;padding:37px 5px}.success-mark,.pending-mark{color:#249160;background:#e5f7ed;border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;display:inline-flex}.pending-mark{color:#3470d1;background:#eaf2ff}.success-mark svg,.pending-mark svg{width:34px;height:34px}.receipt-view p{color:#65758b;line-height:1.6}.receipt-code{letter-spacing:.07em;background:#f5f9ff;border:1px dashed #b9cbe4;border-radius:9px;margin:25px 0;padding:17px;font-family:monospace;font-size:20px;font-weight:800}.message{border-radius:9px;margin:16px 0;padding:12px 15px;font-size:14px}.message.error{color:#a72d42;background:#fff0f2;border:1px solid #f2ccd2}.message.success{color:#1f7553;background:#e8f7ef;border:1px solid #c7ebd8}@media (max-width:800px){.voter-shell{grid-template-columns:1fr;align-items:start;gap:30px}.voter-aside{padding-top:30px}.voter-aside h1{font-size:43px}.voter-assurances{display:none}.voter-card{margin-bottom:50px}}@media (max-width:520px){.voter-top{height:75px}.voter-shell{width:calc(100% - 28px);padding-bottom:0}.voter-card{min-height:0;padding:26px}.voter-aside>p{font-size:16px}.ballot-actions{flex-wrap:wrap}.ballot-actions button{flex:1}}.receipt-actions{justify-content:center;gap:10px;margin-top:22px;display:flex}@media print{.voter-top,.voter-aside,.receipt-actions{display:none}.voter-shell{width:100%;padding:0;display:block}.voter-card{box-shadow:none;border:0}.receipt-view{padding:0}}.question-stack,.review-answers{gap:28px;display:grid}.ballot-question{border-bottom:1px solid #e4ebf4;padding-bottom:25px}.ballot-question:last-child{border-bottom:0}.ballot-question h3{margin:5px 0 15px;font-size:18px;line-height:1.4}.question-number{letter-spacing:.12em;color:#3975d7;font-size:11px;font-weight:900}.review-box b{color:#405673;margin-top:8px;font-size:14px;display:block}.review-box strong{font-size:18px}.voter-card:has(.question-stack){min-height:520px}.voter-shell:has(.question-stack){align-items:start;padding-top:45px}
