.election-list{gap:24px;display:grid}.empty-election{text-align:center;padding:55px}.election-card{padding:30px}.election-title{justify-content:space-between;gap:30px;display:flex}.election-title h2{color:#05395d;margin:12px 0;font-size:30px}.election-title p{color:#607383;max-width:720px}.status-badge{color:#607383;letter-spacing:.1em;background:#e8eef2;border-radius:999px;padding:7px 11px;font-size:11px;font-weight:900;display:inline-block}.status-badge.open{color:#007b45;background:#dff7ea}.status-badge.open:before{content:"";background:#00a85a;border-radius:50%;width:7px;height:7px;margin-right:7px;display:inline-block}.status-badge.certified{color:#087fba;background:#e4f4fb}.election-time{background:#f7fafc;border-radius:10px;min-width:210px;padding:16px;font-weight:800}.election-time small{color:#607383;margin:7px 0 3px;display:block}.turnout{color:#fff;background:#05395d;border-radius:12px;grid-template-columns:auto 1fr auto 1fr;align-items:center;gap:10px;margin:26px 0;padding:20px;display:grid}.turnout strong{color:#d8a91f;font-size:27px}.result-list{gap:20px;margin-top:25px;display:grid}.result-name{justify-content:space-between;margin-bottom:8px;display:flex}.result-name span{color:#607383}.result-track{background:#e7eff3;border-radius:999px;height:12px;overflow:hidden}.result-track span{background:linear-gradient(90deg,#087fba,#34a9e0);border-radius:999px;height:100%;transition:width .5s;display:block}@media (max-width:700px){.election-title{display:block}.election-time{margin-top:20px}.turnout{grid-template-columns:auto 1fr}.result-name{display:block}.result-name span{margin-top:4px;display:block}}
