.elections-intro{display:flex;align-items:center;justify-content:space-between;gap:24px}.elections-intro p{max-width:850px}.elections-intro>.button{flex-shrink:0}.elections-workspace{display:grid;grid-template-columns:230px minmax(0,1fr);gap:20px;align-items:start}.elections-workspace>aside{position:sticky;top:20px}.elections-workspace>form{min-width:0}.elections-workspace [hidden]{display:none!important}.elections-workspace h3{font:600 17px/1.4 sans-serif;margin:28px 0 15px}.election-list-item{display:block;width:100%;text-align:left;padding:14px;border:1px solid #d8ddd4;border-radius:8px;margin:8px 0;background:#fafbf7;color:#243c32}.election-list-item.is-active{background:#243c32;color:white;border-color:#243c32}.election-party-row{display:grid;grid-template-columns:minmax(150px,2fr) 70px 100px 100px;gap:12px;background:#f5f4ed;border:1px solid #deddd2;border-radius:12px;padding:18px;margin:12px 0}.election-party-row label{margin:0}.election-party-row input{width:100%;min-width:0}.election-party-row input[type=color]{height:42px;padding:4px}.election-party-logo{grid-column:1/-1;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.election-party-logo img{width:56px;height:48px;object-fit:contain}.election-party-row button,.elections-workspace button:not(.button){border:1px solid #c8cfc3;border-radius:7px;padding:9px 12px;background:#fff;color:#243c32;cursor:pointer}.elections-workspace button:disabled{opacity:.5;cursor:default}.election-widget{background:#fffaf1;border:1px solid #d9c6ad;border-radius:16px;padding:clamp(16px,3vw,32px);margin:26px 0;box-shadow:0 8px 24px #50351a08;color:#493a2e;min-width:0}.election-widget h3{font:500 clamp(22px,3vw,32px)/1.25 Georgia,serif;margin:0 0 8px}.election-date{color:#726b60;font-size:14px}.election-hemicycle{display:block;width:100%;max-width:760px;height:auto;margin:0 auto}.election-hemicycle [role=button]{cursor:pointer}.election-hemicycle [role=button]:hover,.election-hemicycle [role=button]:focus{stroke:#243c32;stroke-width:4;outline:none}.election-legend{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:12px 0 22px}.election-legend-party{display:flex;gap:10px;align-items:center;padding:12px;background:#f3eddf;border-radius:9px;font:14px/1.4 sans-serif}.election-legend-party>svg{width:14px;height:14px;flex-shrink:0}.election-legend-party>img{width:40px;height:30px;object-fit:contain}.election-legend-party strong{margin-left:auto;font-size:22px}.election-table-wrap{overflow-x:auto}.election-widget table{width:100%;border-collapse:collapse;font-size:14px}.election-widget th,.election-widget td{padding:12px;border-bottom:1px solid #ded4c5;text-align:right;white-space:nowrap}.election-widget th:first-child,.election-widget td:first-child{text-align:left}.election-summary{font-size:13px;color:#70675c}.election-explanation{white-space:pre-wrap}.election-simulation{display:inline-block;padding:8px 12px;border:1px solid #bd7836;border-radius:6px;background:#fff0d6;color:#76421e;font-weight:bold}#election-message:not(:empty){padding:14px 18px;margin:16px 0;background:#e6eddf;border-radius:8px}#election-message.is-error{background:#f9e9df;color:#813d25}#election-manual-tools{padding:16px;background:#e6eddf;border-radius:10px}#election-manual-tools select{max-width:340px}.election-public-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.election-public-card{display:block;border:1px solid #c9ad8d;border-radius:14px;padding:28px;background:#f8eddb;color:inherit;text-decoration:none;transition:transform .18s,box-shadow .18s}.election-public-card:hover{transform:translateY(-3px);box-shadow:0 12px 24px #58382015}.election-public-card h2{font-size:28px}.election-public-card strong{font-size:14px}@media(max-width:1000px){.elections-workspace{grid-template-columns:1fr}.elections-workspace>aside{position:static}#election-list{display:flex;gap:8px;overflow-x:auto}.election-list-item{min-width:190px;width:auto}.election-party-row{grid-template-columns:minmax(120px,1fr) 64px}.elections-intro{align-items:flex-start;flex-direction:column}}@media(max-width:600px){.election-public-grid{grid-template-columns:1fr}.election-legend{grid-template-columns:1fr}.election-widget th,.election-widget td{padding:9px}.election-party-row{padding:12px}.election-widget{border-radius:10px}}

.election-content-tools{padding:20px;border:1px solid #c6d3bd;border-radius:12px;background:#eff3e9;margin:20px 0 26px}.election-content-tools h3{margin-top:0}.election-content-tools .button,.election-content-tools .interactive-edit-button{margin:6px 8px 8px 0}.election-content-tools p{font-size:13px}.election-content-tools small{color:#68775e}

.election-public-card{font-size:16px}.election-public-card h2{font-size:1.75em;color:inherit}.election-public-card p,.election-public-card strong{color:inherit}.election-public-card:hover{transform:none}.web-edit-preview .election-public-card{outline:1px dashed #b76d49;outline-offset:3px}

.elections-workspace{grid-template-columns:1fr}.elections-workspace>aside{position:static}.election-editor-dialog{width:96vw;max-width:none;height:94dvh;max-height:96dvh;margin:auto;padding:0;border:0;border-radius:16px;background:#f7f5ed;color:#243c32;overflow:auto}.election-editor-dialog::backdrop,.election-party-dialog::backdrop{background:#14281fc4}.election-editor-dialog>header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 28px;background:#243c32;color:#fff}.election-editor-dialog>header h2{font-size:26px;margin:0}.election-editor-dialog>header button{border:1px solid #ffffff50;color:#fff;background:transparent;padding:10px 16px;border-radius:7px}.election-modal-tabs{position:sticky;top:0;z-index:2;display:flex;gap:8px;padding:12px 28px;background:#e9e8de;border-bottom:1px solid #ccc}.election-modal-tabs button{padding:12px 20px;border:1px solid #bdc6b5;border-radius:8px;background:white;color:#243c32}.election-modal-tabs button[aria-selected=true]{background:#243c32;color:white}.election-editor-dialog #election-form{margin:0;padding:24px 28px;border:0;box-shadow:none}.election-editor-dialog #election-message:not(:empty){margin:12px 28px}.election-modal-footer{display:flex;align-items:end;gap:16px;flex-wrap:wrap;border-top:1px solid #d5d9cc;padding:20px 0;background:#fffefa}.election-modal-footer label{margin:0;min-width:180px}.election-modal-footer .button{margin:0}.election-modal-cover{padding:20px;background:#eff3e9;border-radius:10px}.election-modal-cover img{display:block;max-width:360px;max-height:220px;object-fit:contain;margin-bottom:12px}.election-modal-cover button{padding:10px;margin-right:12px}.election-catalog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:20px 0}.election-catalog-grid article{display:flex;align-items:center;gap:10px;padding:15px;background:#f5f3eb;border-radius:9px}.election-catalog-grid img,.election-party-dialog img{width:60px;height:50px;object-fit:contain}.election-catalog-grid strong{padding-left:10px}.election-catalog-grid button{margin-left:auto}.election-party-dialog{min-width:min(500px,92vw);max-height:88dvh;overflow:auto}.election-party-dialog>button{display:block;margin:8px 0;padding:12px;width:100%}.election-party-dialog form>button{padding:10px;margin:8px}.election-editor-dialog [hidden]{display:none!important}@media(max-width:650px){.election-editor-dialog{width:100vw;height:100dvh;max-height:100dvh;border-radius:0}.election-editor-dialog>header,.election-modal-tabs{padding:12px}.election-editor-dialog #election-form{padding:16px}.election-modal-tabs button{padding:10px;font-size:12px}.election-editor-dialog .form-grid{grid-template-columns:1fr}.election-modal-cover img{max-width:100%}}

/* Consistent election controls and party identities. */
.election-catalog-header{display:flex;align-items:center;justify-content:space-between;gap:24px}.election-catalog-header h2{margin:0 0 10px}.election-catalog-header p{margin:0;color:#6b766b;font-size:13px}.election-catalog-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin:26px 0 0}.election-catalog-grid article{padding:18px;gap:14px;border:1px solid #e0e5d9;background:#fffefa;border-radius:14px;box-shadow:0 3px 12px #243c3206;min-width:0}.election-party-brand{display:flex;align-items:center;justify-content:center;width:64px;height:60px;flex:0 0 64px;padding:9px;background:#f1f3eb;border:1px solid #e0e5d9;border-radius:12px;font-size:20px;font-weight:700}.election-party-brand.is-dark{background:#226197;border-color:#226197}.election-party-brand img{width:100%;height:100%;object-fit:contain}.election-party-info{min-width:0;flex:1}.election-party-info strong{display:block;padding:0;font-size:13px;line-height:1.5;overflow-wrap:anywhere}.election-party-color{display:flex;align-items:center;gap:6px;margin-top:7px;font-size:10px;letter-spacing:.6px;color:#7b8278}.election-party-color i{width:9px;height:9px;border-radius:50%;box-shadow:0 0 0 1px #0001}
.election-catalog-panel button,.election-editor-dialog button:not(.election-list-item),.election-party-dialog button{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:10px 15px;border:1px solid #cfd8c9;border-radius:9px;background:#fffefa;color:#294737;font:600 12px/1.3 Arial,sans-serif;cursor:pointer;box-shadow:0 1px 2px #243c3208;transition:background .16s,border-color .16s,box-shadow .16s}.election-catalog-panel button:hover,.election-party-dialog button:hover,.election-editor-dialog button:not(:disabled):hover{background:#eaf0e4;border-color:#9eaf94;box-shadow:0 3px 8px #243c3210}.election-catalog-panel button:focus-visible,.election-party-dialog button:focus-visible,.election-editor-dialog button:focus-visible{outline:3px solid #cda66c;outline-offset:3px}.election-catalog-panel .election-action-primary,.election-party-dialog .election-action-primary,.election-editor-dialog #election-save{color:white;background:#294b3a;border-color:#294b3a;box-shadow:0 3px 8px #243c3218}.election-catalog-panel .election-action-primary:hover,.election-party-dialog .election-action-primary:hover,.election-editor-dialog #election-save:hover{background:#39644d;border-color:#39644d}.election-catalog-header>.election-action-primary{white-space:nowrap;min-height:44px;padding-inline:20px}.election-catalog-grid button{margin-left:0;flex-shrink:0;min-height:36px;padding:8px 11px;background:#f0f4eb;border-color:#d6dfcf;font-size:11px}.election-editor-dialog>header button{color:white;background:#ffffff12;border-color:#ffffff40}.election-editor-dialog>header button:hover{background:#ffffff25!important}.election-modal-tabs button[aria-selected=true]{background:#294b3a;color:#fff;border-color:#294b3a}.election-party-dialog{border:1px solid #d7dfd0;border-radius:16px;padding:28px;background:#fffefa;box-shadow:0 24px 90px #10251a40}.election-party-dialog h2{margin:0 0 24px;font-size:28px}.election-party-dialog input:not([type=color]){border-radius:8px;padding:12px;border:1px solid #cad4c2}.election-party-dialog input[type=color]{height:46px;padding:5px;border-radius:8px;border:1px solid #cad4c2;background:#f6f8f0}.election-party-dialog form>img{display:block;width:96px;height:72px;object-fit:contain;padding:12px;border:1px solid #e0e5d9;border-radius:10px;background:#e8eddf;margin:18px 0}.election-party-dialog .election-party-choice{display:flex;justify-content:flex-start;gap:12px;width:100%;min-height:64px;margin:10px 0;padding:12px 16px}.election-party-choice>i{width:6px;height:32px;border-radius:4px}.election-party-choice img{width:48px;height:34px;object-fit:contain;border-radius:4px}.election-party-choice img.is-dark{background:#226197;padding:4px}.election-party-dialog button:disabled,.election-editor-dialog button:disabled{opacity:.45;cursor:not-allowed}.election-party-dialog [hidden]{display:none!important}@media(max-width:650px){.election-catalog-header{align-items:flex-start;flex-direction:column;gap:16px}.election-catalog-grid{grid-template-columns:minmax(0,1fr)}.election-catalog-header>.election-action-primary{width:100%}.election-party-dialog{padding:20px}.election-catalog-grid article{padding:15px}}

/* Fixed dialog controls, with scrolling confined to the content. */
.election-editor-dialog{overflow:hidden}.election-editor-dialog[open]{display:flex;flex-direction:column}.election-editor-dialog>header{flex:0 0 auto;padding:14px 24px}.election-editor-dialog>header h2{font-size:24px;line-height:1.25}.election-editor-dialog>header button{flex-shrink:0;min-height:40px}.election-editor-dialog>.election-modal-tabs{flex:0 0 auto;position:static;padding:10px 24px}.election-editor-dialog #election-form{display:flex;flex-direction:column;flex:1;min-height:0;padding:0;background:#fffefa;overflow:hidden}.election-modal-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#9aaa91 #f0f3e9;padding:20px 28px;scroll-padding:20px}.election-editor-dialog .election-modal-footer{flex:0 0 auto;align-items:center;gap:16px;margin:0;padding:12px 24px;border-top:1px solid #d8dfd0;background:#f7f8f2;box-shadow:0 -4px 14px #243c3207}.election-modal-footer>label{display:flex;align-items:center;gap:10px;font-size:12px;min-width:0;margin:0}.election-modal-footer>label select{width:155px;margin:0;padding:8px 12px;border-radius:8px;font-size:12px;min-height:40px}.election-modal-footer #election-save{margin:0 0 0 auto;max-width:45%;min-height:42px}.election-modal-footer #election-delete{font-size:11px;padding:8px 10px;background:transparent;color:#995542;border-color:transparent;box-shadow:none}.election-modal-scroll>section{min-width:0}@media(max-width:650px){.election-editor-dialog>header{padding:10px 14px}.election-editor-dialog>header h2{font-size:18px}.election-editor-dialog>.election-modal-tabs{padding:8px 12px;gap:6px}.election-modal-tabs button{flex:1;padding:9px 6px;font-size:11px;min-height:38px}.election-modal-scroll{padding:16px}.election-editor-dialog .election-modal-footer{padding:10px 12px calc(10px + env(safe-area-inset-bottom));gap:8px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.election-modal-footer>label{display:block;font-size:10px}.election-modal-footer>label select{display:block;width:100%;font-size:12px;min-height:38px;padding:7px 9px}.election-modal-footer #election-save{max-width:none;width:100%;margin:0;align-self:end;padding:10px 8px;font-size:11px;min-height:38px}.election-modal-footer #election-delete{grid-column:1/-1;justify-self:center;min-height:28px;padding:4px 8px;font-size:10px}}

.election-comparison-captions{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:12px;border-top:1px solid #ddcfba}.election-comparison-captions p{display:flex;flex-direction:column;gap:4px;font-size:13px;margin:0}.election-comparison-captions small{color:#786e61}.election-bands text{font-family:Arial,sans-serif}@media(max-width:500px){.election-comparison-captions{grid-template-columns:1fr}.election-bands{margin-inline:-10px;width:calc(100% + 20px)}}

.election-party-row .election-shared-color{grid-column:1/-1;display:flex;align-items:center;gap:8px;font-size:12px}.election-party-row .election-shared-color input{width:auto}
