/* Election views reuse the site's table, button and colour tokens. */
.election-admin #electionError[hidden]{display:none}
.election-heading{color:var(--primary,var(--admin-primary));margin:28px 0 12px;line-height:1.6}
.election-directory{margin-top:36px}.election-help,.election-pending{color:var(--text-muted,var(--admin-muted))}.election-help{margin:8px 0 16px;font-size:.95rem}.election-empty{padding:20px;border:1px solid var(--border-color,var(--admin-border));border-radius:8px;background:var(--primary-soft,#edf7f2)}
.election-table{width:100%;min-width:0!important;table-layout:fixed;border-collapse:collapse;border-spacing:0}
.election-table .election-col-number{width:8%}.election-table .election-col-area{width:67%}.election-table .election-col-document{width:25%}
.election-table th,.election-table td{border:1px solid var(--primary-light);vertical-align:middle;line-height:1.65}
.election-table th:first-child,.election-table td:first-child{text-align:center}.election-table tbody td:last-child{text-align:center}
.election-table tbody+tbody .election-group th,.election-table tbody+tbody .election-group td{border-top:2px solid var(--primary)}.election-table tbody th{background:transparent;color:var(--text-main);font-weight:500;text-align:left;overflow-wrap:anywhere}.election-table .election-group th,.election-table .election-group td{background:var(--primary-soft,#edf7f2);color:var(--primary-dark,#1e563f);font-weight:700}.election-document{font-size:.95rem;padding:8px 12px;min-height:44px;white-space:normal}.election-pages,.election-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:18px 0}.election-admin-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(240px,1.4fr) auto;gap:12px;align-items:start;margin:16px 0;padding-bottom:16px;border-bottom:1px solid var(--admin-border,#d6e8de)}.election-admin-row .form-group{margin:0}.election-toggle{display:flex;gap:10px;align-items:center;min-height:44px;cursor:pointer}.election-toggle input{width:20px;height:20px}.election-news-row{display:flex;gap:18px;align-items:center;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--admin-border,#d6e8de)}.election-news-row form{flex-shrink:0}.election-news-row p{overflow-wrap:anywhere}.election-admin fieldset{border:0;min-width:0}.election-admin [aria-invalid=true]{border:2px solid #b91c1c}.election-admin :focus-visible,.election-directory :focus-visible{outline:3px solid var(--primary,var(--admin-primary));outline-offset:3px}.election-admin button{cursor:pointer}.election-admin button:disabled{cursor:wait;opacity:.7}
@media(max-width:700px){.election-admin-row{grid-template-columns:1fr}.election-news-row{align-items:flex-start;flex-direction:column}.election-table th,.election-table td{padding:10px 7px;font-size:.95rem}.election-table .election-col-number{width:10%}.election-table .election-col-area{width:60%}.election-table .election-col-document{width:30%}.election-document{padding:7px;font-size:.85rem}.election-document .fa-arrow-up-right-from-square{display:none}}

@media(max-width:700px){.member-election-panel{padding:20px 14px}.member-election-panel .list-item-row{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;padding:14px}.member-election-panel .date-badge{width:48px;height:52px}.member-election-panel .list-item-details{min-width:0}.member-election-panel .list-item-title{overflow-wrap:anywhere}.member-election-panel .list-item-row>.btn{grid-column:2;justify-self:start;min-height:44px}}

/* Election admin: keep navigation accessible above the form on narrow screens. */
@media(max-width:700px){
 body:has(.election-admin){display:block}
 body:has(.election-admin) .admin-sidebar{width:100%;height:auto;position:static}
 body:has(.election-admin) .admin-nav{max-height:180px;overflow-y:auto}
 body:has(.election-admin) .admin-main{width:100%;min-width:0}
 body:has(.election-admin) .admin-topbar{padding:14px;gap:12px;flex-wrap:wrap}
 body:has(.election-admin) .admin-topbar>div:last-child{flex-wrap:wrap}
 body:has(.election-admin) .admin-body{padding:14px}
 .election-admin .card{padding:16px}
}
