.review-inbox{--review-ink:#163349;--review-muted:#435e72;--review-surface:#fff;--review-line:#a6b9c7;color:var(--review-ink);background:var(--review-surface)}
:root[data-theme=night] .review-inbox{--review-ink:#edf5fb;--review-muted:#b8ccd9;--review-surface:#182b3b;--review-line:#678497}
.review-count{display:inline-block;margin-left:8px;font-size:16px;font-weight:650;white-space:nowrap}
.review-filters{display:grid;grid-template-columns:1.3fr 1fr 1.1fr 1fr;gap:14px;margin-bottom:16px}
.review-inbox label,.review-inbox small{color:var(--review-muted)}
.review-batch-actions{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin-bottom:12px}
.review-batch-actions label{min-width:220px}.review-batch-actions>span{align-self:center;font-size:13px}
.review-table{width:100%;border-collapse:collapse;font-size:14px;table-layout:fixed}
.review-table th,.review-table td{text-align:left;vertical-align:top;padding:13px 8px;border-bottom:1px solid var(--review-line);overflow-wrap:anywhere}
.review-table thead th{color:var(--review-muted);font-size:11px;letter-spacing:.5px}
.review-table tbody th{font-size:14px;text-transform:none;letter-spacing:0;background:transparent;font-weight:750;color:var(--review-ink)}
.review-table th:first-child,.review-table td:first-child{width:36px}.review-table th:nth-child(4){width:100px}
.review-table input[type=checkbox]{width:20px;height:20px;accent-color:#12634d}
.review-table small{display:block;margin-top:4px;font-size:12px;font-weight:400}
.review-table time{font-size:12px;font-variant-numeric:tabular-nums}
.review-table .number{font-weight:750;font-variant-numeric:tabular-nums}
.review-table button{font-size:12px;padding:8px}.review-figures{margin-top:8px;font-size:12px}
.review-figures summary{cursor:pointer;font-weight:650}.review-figures span{display:block;margin:5px 0}
.review-footnote{font-size:12px;line-height:1.6;margin-top:18px;color:var(--review-muted)}.review-footnote button{font-size:12px;padding:3px 6px}
#review-feedback{font-weight:650;margin:8px 0 12px}.review-inbox [hidden]{display:none!important}
#review-confirmation{box-sizing:border-box;width:min(780px,calc(100vw - 24px));max-height:calc(100dvh - 32px);overflow:auto;border:2px solid #6c879a;border-radius:8px;padding:22px;background:#fff;color:#163349}
#review-confirmation::backdrop{background:#071524b8}.review-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
#review-confirmation p{font-size:13px;line-height:1.5;margin:12px 0}.review-confirmation-rows article{padding:14px 0;border-top:1px solid #b6c7d2}
.review-confirmation-votes{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:13px;margin-top:8px;font-variant-numeric:tabular-nums}.review-dialog-actions{display:flex;justify-content:flex-end;margin-top:16px}
#review-confirmation #review-error{font-weight:650;color:#932329}
:root[data-theme=night] #review-confirmation{background:#182b3b;color:#edf5fb}
:root[data-theme=night] #review-confirmation #review-error{color:#ffc0c3}
.notification-review-actions{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
/* Explicitly opened message history is usable in presentation; role checks
   still control private details and all review actions. */
body.projection #notification-drawer{display:block}
#live-banner .result-update-open{background:transparent;color:inherit;border:1px solid currentColor;border-radius:3px;min-height:20px;padding:2px 5px;font-size:10px;font-weight:650;white-space:nowrap}
@media(max-width:750px){.review-filters{grid-template-columns:1fr}.review-table thead{display:none}.review-table,.review-table tbody{display:block}.review-table tr{display:grid;grid-template-columns:30px 1fr;gap:5px 8px;padding:14px 0;border-bottom:1px solid var(--review-line)}.review-table td,.review-table th{display:block;grid-column:2;width:auto!important;border:0;padding:0}.review-table td:first-child{grid-column:1;grid-row:1/6}.review-table time{white-space:normal}.review-table td.number::before{content:'Valid votes: ';font-weight:400}.review-table button{width:100%}.review-dialog-head{align-items:start}.review-dialog-head h2{font-size:18px}#review-confirmation{padding:16px}}

.review-completion-counts{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.review-completion-chip{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 12px;min-height:40px;font-size:13px;border:1px solid #607b8f;background:#eef3f7;color:#17364c}
.review-completion-chip strong{font-size:19px;font-variant-numeric:tabular-nums}
.review-completion-chip[aria-pressed=true]{outline:2px solid currentColor;outline-offset:2px}
:root .review-inbox .review-completion-chip.final,.review-status-badge.final{background:#d8f3e5;color:#14583f;border-color:#3e8065}
:root .review-inbox .review-completion-chip.pending,.review-status-badge.pending{background:#fff0b8;color:#584100;border-color:#9b7b18}
:root .review-inbox .review-completion-chip.empty,.review-status-badge.empty{background:#fde0e3;color:#842f3a;border-color:#ab5563}
.review-status-badge{display:inline-block;padding:4px 6px;border:1px solid;border-radius:4px;font-size:12px;font-weight:750;line-height:1.25}
.review-workflow-status{display:block;font-size:12px;line-height:1.35;margin-top:5px}
.review-readonly{font-size:13px;color:var(--review-muted);margin-bottom:12px}
@media(max-width:1000px){.review-filters{grid-template-columns:1fr 1fr}}
@media(max-width:750px){.review-filters{grid-template-columns:1fr}.review-completion-counts{display:grid;grid-template-columns:1fr 1fr}.review-completion-chip{font-size:12px;padding:8px;gap:6px}.review-status-badge{margin-bottom:3px}}

/* Turnout quality is a separate measure from workflow completion. */
.review-turnout-counts{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.review-turnout-chip{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 12px;min-height:40px;font-size:13px;background:#eef3f7;color:#17364c;border:1px solid #607b8f}
.review-turnout-chip strong{font-size:19px;font-variant-numeric:tabular-nums}
.review-turnout-chip[aria-pressed=true]{outline:2px solid currentColor;outline-offset:2px}
.review-turnout-chip.red{background:#fff0ef;color:#852b30;border-color:#d49a9b}
.review-turnout-chip.yellow{background:#fff8d9;color:#69520c;border-color:#c8b669}
.review-turnout-chip.green{background:#eaf7ef;color:#1d603e;border-color:#8fbaa1}
.review-turnout-cell .turnout-band{font-size:12px;white-space:normal}
.review-table .review-followup{margin-top:6px}
.turnout-followup-link{display:inline-flex;align-items:center;gap:4px;color:inherit;font:inherit;line-height:inherit;padding:0;background:transparent;border:0;border-radius:4px;text-align:left;cursor:pointer}
.turnout-followup-link:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.turnout-followup-link:hover .turnout-band{text-decoration:underline;text-underline-offset:2px}
.result-update-turnout{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
#live-banner .result-update-turnout .turnout-band{font-size:inherit;line-height:1.15;padding:1px 4px}
:root .entry-quality{border-width:2px;margin:14px 0;padding:14px 16px}
:root .entry-quality h3{font-size:16px;margin:0}
:root .entry-quality .quality-turnout{font-size:clamp(30px,4vw,42px);line-height:1.1}
:root .entry-quality .quality-band-label{font-weight:700;font-size:14px;line-height:1.3}
:root .entry-quality .quality-context,:root .entry-quality .quality-note{font-size:12px}
:root .entry-quality .quality-values{gap:8px 16px;margin-top:8px}
@media(max-width:750px){.review-turnout-counts{display:grid;grid-template-columns:1fr 1fr}.review-turnout-chip{padding:8px;font-size:12px;gap:6px}.review-turnout-cell{margin-block:5px}.entry-quality .quality-values{align-items:flex-start}}
.project-stats .turnout-followup-link .turnout-band{font-size:inherit;line-height:1;padding:0 4px}
/* Saved-result actions must wrap within their own row at phone widths. */
.review-table{white-space:normal}
@media(max-width:750px){.review-table [data-review-open],.review-table .review-followup{display:block}}
