/* Three consistent presentation views; matrix overflow belongs to the table. */
.dashboard-views{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 12px}.dashboard-views button{font-size:12px;padding:7px 10px}.dashboard-views .spacer{flex:1}.dashboard-views .active{background:#174d66;color:#fff;border-color:#174d66}.projection .dashboard-views{margin-bottom:8px}.projection .dashboard-views button{padding:5px 9px;font-size:11px}.projection .project-grid{height:350px}.projection .project-standings .candidate{padding-top:4px;padding-bottom:4px}.projection .project-standings .ranking .bar-track{height:20px!important;min-height:0}.projection .project-standings .bar-fill{min-height:0!important}
.ticker-locality{display:flex;align-items:center;gap:4px;align-self:center}.ticker-locality::after{content:"→";font-size:22px;margin-left:8px;color:inherit}.ticker-locality.national-context::before{flex-shrink:0}.results-ticker{align-items:center!important}
.matrix-card{min-width:0}.matrix-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.matrix-actions p{font-size:12px;flex:1 1 260px}.matrix-actions label{display:flex;align-items:center;gap:8px}.matrix-actions input[type=checkbox]{width:18px;height:18px}.matrix-scroll{max-width:100%;overflow:auto;max-height:65vh}.results-matrix{border-collapse:separate;border-spacing:0;width:100%;font-variant-numeric:tabular-nums}.results-matrix th,.results-matrix td{padding:10px 12px;border-bottom:1px solid #ccd7df;min-width:108px;text-align:right;background:var(--surface,#fff);white-space:nowrap}.results-matrix thead th{position:sticky;top:0;z-index:3;background:#e9f0f5;color:#17364c;white-space:normal;max-width:180px;font-size:12px}.results-matrix th:first-child{position:sticky;left:0;z-index:2;text-align:left;min-width:190px;max-width:240px;white-space:normal;background:#edf3f6;color:#17364c}.results-matrix thead th:first-child{z-index:4}.results-matrix small{display:block;font-size:10px;font-weight:400;white-space:normal;line-height:1.35}.results-matrix th button{text-align:left;font-weight:700;background:transparent;color:inherit;border:0;padding:3px 0}.results-matrix .matrix-leading{box-shadow:inset 0 -4px var(--lead-color);background:color-mix(in srgb,var(--lead-color) 12%,var(--surface,#fff))}.matrix-lead-label{display:block;font-size:9px;text-transform:uppercase;font-weight:700}.matrix-warning{color:#a34023}.projection .matrix-title{margin-bottom:8px}.projection .matrix-scroll{max-height:60vh}.projection .matrix-card .card-head{padding:8px 12px}.projection .results-matrix th,.projection .results-matrix td{padding:7px 10px}.projection .matrix-title h1{font-size:26px}
[data-theme=night] .results-matrix th,[data-theme=night] .results-matrix td{background:#162c3d;color:#edf5fa;border-color:#486174}[data-theme=night] .results-matrix thead th,[data-theme=night] .results-matrix th:first-child{background:#223f54;color:#fff}[data-theme=night] .matrix-warning{color:#ffb496}[data-theme=night] .results-matrix .matrix-leading{background:color-mix(in srgb,var(--lead-color) 20%,#162c3d)}
@media(max-width:600px){.dashboard-views{gap:5px}.dashboard-views button{font-size:11px;padding:8px}.dashboard-views .spacer{display:none}.results-matrix th:first-child{min-width:140px;max-width:150px}.results-matrix th,.results-matrix td{min-width:100px;padding:8px}.matrix-actions{padding:12px}.ticker-locality::after{font-size:18px;margin-left:4px}}

.results-matrix th small{letter-spacing:normal;text-transform:none}

[data-theme=night] .nav-shell{background:#142b3e}.projection .matrix-card .matrix-actions p{font-size:10px}.projection .results-matrix small{font-size:9px}.projection .results-matrix th,.projection .results-matrix td{padding:5px 9px}.projection .matrix-scroll{max-height:55vh}.presentation-setting{display:flex;align-items:center;gap:10px;margin:12px 0}.presentation-setting input{width:18px;height:18px}

/* National identity sits below the outline, never over candidate fill. */
.national-map-caption{display:flex;justify-content:center;align-items:center;gap:10px;padding:4px 8px 8px;color:var(--ink,#17364c);font-size:clamp(18px,2vw,25px);font-weight:650;letter-spacing:.04em}.national-map-caption img{display:block;flex-shrink:0;border:1px solid #8898a855}.national-party-lead{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}.projection .national-map-caption{font-size:18px;padding:0 6px 4px}.projection .national-map-caption img{width:27px;height:18px}[data-theme=night] .national-map-caption{color:#edf5fa}

/* Give the existing news strip a consistent, high-contrast frame in every theme. */
:root[data-theme] .results-ticker{background:#102d42;color:#fff;border-top:3px solid #efc45e;border-bottom:3px solid #efc45e;box-shadow:0 3px 10px #102d4226}
.results-ticker .ticker-label{color:#ffdc85;font-weight:800}
.results-ticker .ticker-label small{color:#e3edf5;font-weight:500}
.results-ticker .ticker-locality{color:#fff;border-left-color:#efc45e}
.results-ticker .ticker-line{font-size:15px;font-weight:600;line-height:1.5}
.results-ticker .ticker-line b{font-weight:850}
.results-ticker .ticker-metrics{color:#e3edf5}
:root .results-ticker>button,:root .results-ticker>.ticker-settings>summary{background:#203f55;color:#fff;border:1px solid #91a9bb}
:root .results-ticker>button:hover,:root .results-ticker>.ticker-settings>summary:hover{background:#31566e}
.results-ticker :is(button,summary):focus-visible{outline:3px solid #ffdc85;outline-offset:3px}
.results-ticker .dot{outline:1px solid #ffffffb3;outline-offset:2px}

/* A caption below the viewport never covers the supplied boundaries or labels. */
.council-map-caption{display:flex;flex-direction:column;align-items:flex-end;gap:3px;width:fit-content;max-width:calc(100% - 24px);margin:6px 12px 8px auto;padding:8px 14px;background:#102d42;color:#fff;border-right:4px solid #efc45e;border-radius:4px;text-align:right;overflow-wrap:anywhere}
.council-map-caption small{color:#ffdc85;font-size:10px;font-weight:700;letter-spacing:.1em}
.council-map-caption strong{font-size:clamp(18px,2vw,25px);line-height:1.2}
.projection .council-map-caption{padding:5px 12px;margin-top:2px;margin-bottom:4px}
.projection .council-map-caption strong{font-size:20px}
@media(max-width:650px){.results-ticker .ticker-line{font-size:14px}.council-map-caption{padding:7px 10px}.council-map-caption strong{font-size:18px}}

/* Compact entry in the explicitly enabled demonstration workflow. */
.entry-grid.simple-demo-entry{display:flex;flex-direction:column;gap:16px;max-width:1050px;margin-inline:auto}
.simple-demo-entry .vote-inputs{grid-template-columns:repeat(3,minmax(0,1fr))}
.simple-demo-entry .simple-demo-steps{font-weight:700;padding:10px 14px;margin:14px 0}
.demo-entry-history>summary{cursor:pointer;font-weight:650;padding:14px 0}
.simple-demo-entry .entry-quality{padding:10px 14px;margin:12px 0}
.simple-demo-entry .entry-quality h3{font-size:13px;margin:0 0 4px}
.simple-demo-entry .quality-context,.simple-demo-entry .quality-note{font-size:11px;line-height:1.4;margin:4px 0}
@media(max-width:650px){.simple-demo-entry .vote-inputs{grid-template-columns:repeat(2,minmax(0,1fr))}.simple-demo-entry .simple-demo-steps{font-size:12px}}
