.sim-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;align-items:start;margin:1rem 0}
.results{position:sticky;top:86px}
.row-between{display:grid;gap:.2rem}
.sum{font:700 .8rem var(--mono);color:var(--muted)}
.sum.over{color:#8b2d1a}
.cands{display:grid;gap:.55rem;margin-top:.6rem}
.cand{border:1px solid var(--line);border-radius:10px;padding:.6rem .7rem;background:#fbf9fc;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.3rem .6rem;align-items:center}
.cand input[type=text]{border:1px solid #c9bfce;border-radius:7px;padding:.35rem .5rem;min-height:40px;background:var(--white);width:100%;font-weight:700}
.cand .slider-row{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) 5.2rem;gap:.6rem;align-items:center}
.cand input[type=number]{width:100%;min-height:40px;border:1px solid #c9bfce;border-radius:7px;padding:.3rem .4rem;text-align:right;font-variant-numeric:tabular-nums}
.cand select{grid-column:1/-1;width:100%;min-width:0;min-height:40px;border:1px solid #c9bfce;border-radius:7px;background:var(--white);padding:.3rem;font-size:.85rem}
.cand .rm{background:none;border:0;min-width:40px;min-height:40px;cursor:pointer;font-size:1.2rem;color:var(--muted);border-radius:7px}
.cand .rm:hover{background:var(--lilac)}
input[type=range]{width:100%;accent-color:var(--violet);min-height:32px}
.blank-row{display:grid;grid-template-columns:8rem minmax(0,1fr) 4.5rem;gap:.6rem;align-items:center;margin:.8rem 0 .3rem;font-weight:700;font-size:.9rem}
.blank-row output{text-align:right;font-variant-numeric:tabular-nums}
.tools{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.8rem}
.prov-adjust{margin-top:1rem;border-top:1px solid var(--line);padding-top:.7rem}
.prov-adjust summary{min-height:40px;display:flex;align-items:center;color:var(--violet)}
.prov-adjust select{display:block;width:100%;min-width:0;min-height:44px;margin:.3rem 0 .6rem;border:1px solid #c9bfce;border-radius:7px;background:var(--white);padding:.3rem}
.prov-inputs{display:grid;gap:.4rem;margin-bottom:.6rem}
.prov-inputs label{display:grid;grid-template-columns:minmax(0,1fr) 6rem;align-items:center;gap:.5rem;font-size:.88rem;font-weight:650}
.prov-inputs input{min-height:40px;border:1px solid #c9bfce;border-radius:7px;padding:.3rem .4rem;text-align:right}
.hemi{margin:.4rem 0 .6rem}
.hemi svg{width:100%;height:auto;display:block}
.maj{text-align:center;font-size:.85rem;color:var(--muted)}
.maj b{color:var(--ink)}
table{border-collapse:collapse;width:100%;font-size:.86rem}
th,td{padding:.45rem .4rem;border-bottom:1px solid var(--line);text-align:right;font-variant-numeric:tabular-nums}
th:first-child,td:first-child{text-align:left}
th{font:700 .7rem var(--mono);letter-spacing:.06em;color:var(--muted);text-transform:uppercase}
.seat-table td:first-child{font-weight:700}
.seat-table td:first-child .party-dot{margin-right:.4rem}
.seat-table td{white-space:nowrap}.seat-table td:first-child{white-space:normal}
.seat-table input{width:1.2rem;height:1.2rem;accent-color:var(--violet)}
.seat-table td b{font-size:1.05rem}
.coalition{margin-top:.7rem;font-size:.88rem;background:var(--lilac);color:var(--violet);border-radius:9px;padding:.55rem .7rem}
.coalition.ok{background:#e6efd8;color:#30491b}
.table-scroll{overflow-x:auto}
.prov-table td,.prov-table th{white-space:nowrap}
.prov-table tr.adj td:first-child::after{content:" · ajustada";font-size:.7rem;color:var(--violet)}
.ex-table td.win{background:#f2f9d9;font-weight:800}
.ex-table td.out{color:#a99bb3;text-decoration:line-through}
.explain h3{margin-top:1.2rem}
.explain p{margin:.4rem 0}
.ticks{padding-left:1.15rem}.ticks li{margin:.35rem 0}
.src{font-size:.78rem;color:var(--muted);margin-top:.9rem;border-top:1px solid var(--line);padding-top:.6rem}
.src a{color:var(--violet)}
@media(max-width:920px){.sim-layout{grid-template-columns:minmax(0,1fr)}.results{position:static}}
@media(max-width:530px){.blank-row{grid-template-columns:1fr 4rem}.blank-row label{grid-column:1/-1}}
