.el-wrap{max-width:1100px;margin:0 auto;padding:24px 16px}
.el-h{color:#111;font-size:1.6rem;margin:8px 0 14px}
.el-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}
.el-card{background:#1f1f1f;color:#eee;border:1px solid #333;border-radius:18px;padding:22px;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
.el-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.el-title{font-size:1.45rem;font-weight:700;line-height:1.2;margin:0;color:#fff}
.el-live{color:#ef4444;font-weight:600;white-space:nowrap;display:flex;align-items:center;gap:6px}
.el-dot{width:12px;height:12px;border-radius:50%;background:#ef4444;box-shadow:0 0 0 3px #5a2323;animation:elp 1.6s infinite}
@keyframes elp{50%{opacity:.45}}
.el-sub{color:#bbb;margin:6px 0 16px;padding-bottom:16px;border-bottom:1px solid #383838;font-size:.95rem}
.el-parties{display:flex;justify-content:space-between;font-weight:600}
.el-parties small{display:block;font-weight:400;font-size:.85rem;margin-top:3px}
.el-d small{color:#4aa3ff}.el-r{text-align:right}.el-r small{color:#ff5a5a}
.el-bar{display:flex;height:9px;border-radius:5px;overflow:hidden;background:#333;margin:12px 0 8px}
.el-bar span{display:block;height:100%}
.s-ds{background:#1565d8}.s-dl{background:#7fb6f5}.s-n{background:#3a3a3a}.s-rl{background:#f28b82}.s-rs{background:#d93025}
.el-need{color:#aaa;font-size:.85rem}
.el-leg{display:flex;flex-wrap:wrap;gap:14px;color:#bbb;font-size:.82rem;margin:14px 0}
.el-leg i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:2px;vertical-align:middle}
.el-row{display:flex;justify-content:space-between;color:#fff;font-weight:600;padding:14px 0;border-top:1px solid #383838;border-bottom:1px solid #383838;text-decoration:none}
.el-foot{color:#999;font-size:.8rem;margin-top:12px;line-height:1.6}
.el-note{color:#555;font-size:.8rem;margin-top:10px}
.el-states{margin-top:26px}
.el-az{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 18px}
.el-az a{padding:3px 7px;border:1px solid #ccc;border-radius:6px;font-size:.8rem;color:#222;text-decoration:none}
.el-az a.on{background:#1f1f1f;color:#fff}
.el-st{border:1px solid #ddd;border-radius:12px;padding:12px 14px;margin:10px 0;background:#fff;scroll-margin-top:90px}
.el-st>summary{cursor:pointer;font-weight:700;font-size:1.05rem}
.el-st .nd{color:#888;font-weight:400}
.el-st h4{margin:12px 0 4px}
.el-race{border-top:1px solid #eee;padding:8px 0}
.el-race b{display:block}
.el-race table{width:100%;border-collapse:collapse;font-size:.88rem}
.el-race td{padding:2px 4px}.el-race td.v{text-align:right;white-space:nowrap}
.el-meta{color:#777;font-size:.78rem}
.el-cty{margin:6px 0 6px 10px}
@media(max-width:620px){.el-title{font-size:1.25rem}.el-card{padding:18px}}
.el-toggle{display:inline-flex;border:1px solid #ccc;border-radius:8px;overflow:hidden;margin:6px 0}
.el-toggle button{border:0;background:#fff;color:#222;padding:6px 12px;font:inherit;font-size:.85rem;cursor:pointer}
.el-toggle button.on{background:#1f1f1f;color:#fff}
.el-close{display:inline-block;font-weight:400;font-size:.8rem;color:#555;background:#f2f2f2;border-radius:6px;padding:1px 6px;margin-left:4px}
.el-grp{margin:18px 0 4px;font-size:1.05rem;color:#222}
.s-dh{background:#2b4a75}.s-rh{background:#7a2d2a}.s-oth{background:#8a7bb8}
.el-stats{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;margin:12px 0 0;font-size:.82rem;color:#ccc}
.el-stats dt{color:#999}.el-stats dd{margin:0;text-align:right}
.s-oh{background:#5d5480}
.el-tick{color:#555;font-size:.82rem;margin:0 0 8px}.el-tick.stale{color:#B91C1C;font-weight:600}
@keyframes elfl{0%{background:#ffe066;color:#111}100%{background:transparent}}
.el-flash{animation:elfl 1.2s ease-out;border-radius:3px}
/* t2824u party bars: AA contrast — white on #1d4ed8 (6.7:1) / #b91c1c (6.5:1); #111 on light tints; labels on #1f1f1f: #93c5fd 9.6:1, #fca5a5 8.9:1, #d4d4d4 11:1 */
.el-bwrap{position:relative;margin:12px 0 4px}
.el-pbar{position:relative;display:flex;height:22px;border-radius:6px;overflow:visible;background:#4b5563;margin:0}
.el-pbar span{display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;line-height:1;overflow:hidden;white-space:nowrap}
.el-pbar .s-ds{background:#1d4ed8;color:#fff}.el-pbar .s-dl{background:#93c5fd;color:#111}
.el-pbar .s-dh{background:repeating-linear-gradient(45deg,#1e3a8a 0 4px,#3b5998 4px 8px);color:#fff}
.el-pbar .s-oth{background:#a3a3a3;color:#111}.el-pbar .s-oh{background:repeating-linear-gradient(45deg,#737373 0 4px,#a3a3a3 4px 8px);color:#111}
.el-pbar .s-n{background:#4b5563;color:#fff}
.el-pbar .s-rh{background:repeating-linear-gradient(45deg,#7f1d1d 0 4px,#a33a3a 4px 8px);color:#fff}
.el-pbar .s-rl{background:#fca5a5;color:#111}.el-pbar .s-rs{background:#b91c1c;color:#fff}
.el-pbar span:first-child{border-radius:6px 0 0 6px}.el-pbar span:nth-last-child(2){border-radius:0 6px 6px 0}
.el-maj{position:absolute!important;left:50%;top:-5px;bottom:-5px;width:2px!important;background:#fff;transform:translateX(-1px);border-radius:1px}
.el-blab{position:relative;height:16px;font-size:.72rem;font-weight:700}
.el-ol{position:absolute;transform:translateX(-50%);top:2px}
.l-ds,.l-dl,.l-dh,.l-d{color:#93c5fd}.l-rs,.l-rl,.l-rh,.l-r{color:#fca5a5}.l-oth,.l-oh,.l-m{color:#d4d4d4}
.el-ends{display:flex;justify-content:space-between;gap:6px;font-size:.75rem;font-weight:600;margin-top:2px}
.el-ends .l-m{text-align:center;font-weight:400}
.el-leg .s-ds{background:#1d4ed8}.el-leg .s-rs{background:#b91c1c}.el-leg .s-dl{background:#93c5fd}.el-leg .s-rl{background:#fca5a5}
.el-leg .s-dh{background:repeating-linear-gradient(45deg,#1e3a8a 0 2px,#3b5998 2px 4px)}.el-leg .s-rh{background:repeating-linear-gradient(45deg,#7f1d1d 0 2px,#a33a3a 2px 4px)}
.el-leg .s-oh{background:#737373}.el-leg .s-oth{background:#a3a3a3}.el-leg .s-n{background:#4b5563}
.el-media{margin-top:10px;padding:8px 10px;border:1px dashed #555;border-radius:8px;color:#ccc;font-size:.78rem;line-height:1.5}
.el-media b{color:#e5e5e5}.el-media.warn{border-color:#b45309;color:#fcd34d}.el-media a{color:#93c5fd}
.el-via{display:inline-block;font-size:.75rem;font-weight:400;border-radius:6px;padding:1px 6px;background:#e8eefc;color:#1e3a8a}
.el-via.media{background:#fff4e5;color:#7c2d12}
.el-fo{display:inline-block;font-size:.72rem;font-weight:700;border-radius:6px;padding:1px 6px;background:#b91c1c;color:#fff}
/* t2835u reference layout */
.el-ref .el-parties b{display:block;color:#fff}
.el-ref .el-parties small{font-size:.85rem}
.el-rbar5{height:8px;border-radius:4px;overflow:hidden;background:#3a3a3a;margin:14px 0 8px}
.el-rbar5 .s-ds{background:#1d4ed8}.el-rbar5 .s-dl{background:#93c5fd}.el-rbar5 .s-n{background:#3a3a3a}.el-rbar5 .s-rl{background:#fca5a5}.el-rbar5 .s-rs{background:#b91c1c}
.el-leg1{flex-wrap:nowrap;gap:10px;font-size:.78rem;white-space:nowrap;overflow-x:auto}
.el-leg1 .s-ds{background:#1d4ed8}.el-leg1 .s-rs{background:#b91c1c}.el-leg1 .s-dl{background:#93c5fd}.el-leg1 .s-rl{background:#fca5a5}.el-leg1 .s-n{background:#3a3a3a;outline:1px solid #666}
.el-sb{border-top:1px solid #383838;border-bottom:1px solid #383838;margin-top:6px}
.el-sb>summary{display:flex;justify-content:space-between;align-items:center;padding:14px 0;color:#fff;font-weight:600;cursor:pointer;list-style:none;min-height:24px}
.el-sb>summary::-webkit-details-marker{display:none}
.el-sb .el-chev{transition:transform .15s}.el-sb[open] .el-chev{transform:rotate(90deg)}
.el-sb .el-stats{margin:0 0 8px}.el-sb a{display:inline-block;color:#93c5fd;font-size:.85rem;margin-bottom:12px}
.el-media{display:none!important}
.el-ref .el-parties{gap:10px}.el-ref .el-parties>div{min-width:0;flex:1 1 0}.el-ref .el-parties small{white-space:normal}
.el-leg1{flex-wrap:wrap;white-space:normal;overflow:visible;row-gap:4px}
/* t2846u: #91 bar on all cards */
.el-ref .el-pbar span:first-child{border-radius:6px 0 0 6px}.el-ref .el-pbar span:nth-last-child(2){border-radius:0 6px 6px 0}
.el-leg1 .s-dh{background:repeating-linear-gradient(45deg,#1e3a8a 0 3px,#3b5998 3px 6px)}.el-leg1 .s-rh{background:repeating-linear-gradient(45deg,#7f1d1d 0 3px,#a33a3a 3px 6px)}
/* t2851u skeleton while the first poll loads */
.el-skel{min-height:260px}.el-skel div{background:#2f2f2f;border-radius:6px;margin:12px 0;height:14px;animation:elsk 1.2s ease-in-out infinite alternate}
.el-skel .el-sk1{height:22px;width:70%}.el-skel .el-sk2{width:45%}.el-skel .el-sk3{height:22px}
@keyframes elsk{from{opacity:.45}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.el-skel div{animation:none}}
/* t2859u overall tally */
.el-allc{background:#1f1f1f;color:#e5e7eb;border-radius:12px;padding:14px 16px;margin:0 0 12px}
.el-allh h2{font-size:1.05rem;margin:0;color:#fff}.el-allh .el-sub{font-size:.8rem;color:#9ca3af}
.el-allp{display:flex;justify-content:space-between;gap:10px;margin-top:8px}.el-allp>div{min-width:0}.el-allp .el-r{text-align:right}
.el-allp .el-tot{display:block;font-size:2rem;line-height:1.1;font-weight:800}.el-allp .el-d .el-tot{color:#93c5fd}.el-allp .el-r .el-tot{color:#fca5a5}
.el-allp small{font-size:.8rem}
.el-allc .el-pbar{margin:10px 0 6px}.el-allc .el-meta{color:#9ca3af}
/* t2788u smooth updates: bar widths tween; changed numbers already flash (el-flash) */
.el-pbar span,.el-bar span,.el-rbar span{transition:width .6s ease}
@media (prefers-reduced-motion:reduce){.el-pbar span,.el-bar span,.el-rbar span{transition:none}.el-flash{animation:none}}
/* WM: OH partial county fill */
.el-partial{border:1px dashed #b45309;border-radius:8px;padding:8px 10px;margin:8px 0;background:#fffbeb;color:#111}
.el-pbadge{display:inline-block;background:#b45309;color:#fff;font-size:.72rem;font-weight:700;border-radius:4px;padding:1px 6px}
.el-ph{font-weight:600;margin-bottom:4px}
/* t2852u sticky search */
.el-search{position:sticky;top:0;z-index:20;background:#fff;padding:8px 0;margin:0 0 10px;border-bottom:1px solid #e5e7eb}
.el-search input{width:100%;box-sizing:border-box;font-size:16px;padding:10px 12px;border:1px solid #9ca3af;border-radius:8px}
.el-sgl{list-style:none;margin:4px 0 0;padding:4px 0;position:absolute;left:0;right:0;background:#fff;border:1px solid #d1d5db;border-radius:8px;box-shadow:0 6px 20px rgba(0,0,0,.12);max-height:60vh;overflow:auto}
.el-sgl li a{display:block;padding:9px 12px;color:#111;text-decoration:none}.el-sgl li a small{color:#6b7280}
.el-sgl li.on a,.el-sgl li a:hover{background:#eef2ff}.el-sgl .el-meta{padding:8px 12px}
.el-fchip{font-size:.85rem;color:#111;margin-top:6px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.el-fchip:empty{display:none}
.el-fx{border:1px solid #9ca3af;background:#fff;border-radius:999px;padding:2px 10px;cursor:pointer}
.el-hide{display:none!important}
/* t2857u: GOCO estimate + Feeds list + server stale badge */
.el-est{font-size:.8rem;color:#374151;margin:4px 0}.el-estn{color:#9ca3af}
.el-estb{display:inline-block;background:#4b5563;color:#fff;font-size:.68rem;font-weight:700;border-radius:4px;padding:0 5px}
.el-stale{display:inline-block;background:#b45309;color:#fff;font-size:.7rem;font-weight:700;border-radius:4px;padding:0 6px}
.el-livebadge{display:inline-block;background:#15803d;color:#fff;font-size:.7rem;font-weight:700;border-radius:4px;padding:0 6px}
.el-feeds>summary{cursor:pointer;font-weight:600;color:#e5e7eb;padding:6px 0}
.el-fl{list-style:none;margin:4px 0 0;padding:0;font-size:.78rem;max-height:320px;overflow:auto}.el-fl li{padding:5px 0;border-top:1px solid #333}
.el-fl a{color:#93c5fd}
.el-pr{display:inline-block;font-size:.72rem;color:#374151;background:#e5e7eb;border-radius:4px;padding:0 5px}
/* t146u state summary bars */
.el-sbars{border:1px solid #e5e7eb;border-radius:10px;padding:8px 10px;margin:8px 0 10px;background:#fafafa}
.el-sbr{margin:6px 0 8px}.el-sbt{font-weight:700;font-size:.85rem;margin-bottom:2px}
.el-sbl{display:flex;justify-content:space-between;gap:6px;flex-wrap:wrap;font-size:.78rem;font-weight:600}.el-sbl .l-d{color:#1d4ed8}.el-sbl .l-r{color:#b91c1c}.el-sbl .l-o{color:#6b7280}
.el-sbar{height:10px;margin:4px 0 0;border-radius:5px}.el-sbar .s-ds{background:#1d4ed8}.el-sbar .s-rs{background:#b91c1c}.el-sbar .s-oth{background:#9ca3af}
