.election-actions{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 20px}.election-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.election-admin-form,.election-edit-row,.election-form-grid>*{min-width:0}.election-edit-row{border:1px solid var(--portal-border,#e2e7e5);border-radius:12px;padding:16px;margin:12px 0}.election-edit-row legend{padding:0 6px;font-weight:700}.election-check{display:flex;align-items:flex-start;gap:9px;line-height:1.6}.election-check input{flex:0 0 auto;width:18px;height:18px;margin-top:4px}.election-results-list{display:grid;gap:20px}.election-results-list .portal-card-body{overflow-wrap:anywhere}.election-table{width:100%;border-collapse:collapse;min-width:460px}.election-table th,.election-table td{text-align:left;padding:13px 10px;border-bottom:1px solid var(--portal-border,#e2e7e5)}.election-table td:nth-child(3){font-variant-numeric:tabular-nums}.election-winner{display:inline-block;padding:4px 9px;border-radius:20px;background:#fff3cf;color:#67450d;font-weight:700}.election-source{padding-top:18px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.election-results-list .portal-table-wrap{max-width:100%;overflow-x:auto}.election-admin-form textarea{min-height:110px}.election-admin-form p,.election-admin-form small{overflow-wrap:anywhere}@media(max-width:650px){.election-form-grid{grid-template-columns:1fr}.election-edit-row{padding:12px}.election-results-list .portal-card-body{padding:18px}.election-source{align-items:flex-start;flex-direction:column}}

@media(max-width:650px){.election-table{min-width:0;display:block}.election-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.election-table tbody{display:grid;gap:14px}.election-table tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border:1px solid var(--portal-border,#e2e7e5);border-radius:10px;overflow:hidden}.election-table th[scope=row]{grid-column:1/-1;background:#faf8f1}.election-table td{min-width:0;border-bottom:0;overflow-wrap:anywhere}.election-table td:first-of-type{grid-column:1/-1;padding-bottom:0}.election-table td[data-label]:before{content:attr(data-label);display:block;font-size:12px;font-weight:700;color:var(--portal-muted,#766c5e);margin-bottom:4px}.election-table td:nth-child(3){white-space:nowrap}.election-winner{font-size:12px;padding:3px 6px}}
