/* Reference palette: Feldgrau, Emerald Lake, Summer Jasmine, Sheepskin. */
:root{
 color-scheme:dark;
 --feldgrau:#607161;
 --emerald-lake:#6d8b74;
 --summer-jasmine:#efead8;
 --surface-soft:#ced2bf;
 --surface-hover:#c0c7b2;
 --sheepskin:#d0c9c0;
 --paper:#1e2d25;
 --ink:#f8f5eb;
 --muted:#f8f5eb;
 --green:#dce8ce;
 --light:#405946;
 --line:#829080;
 --panel:var(--feldgrau);
 --panel-deep:#283b32;
 --panel-raised:#536653;
 --on-background:#f8f5eb;
 --amber:var(--summer-jasmine);
 --amber-bg:#554d3a;
 background:var(--paper);
 color:var(--on-background);
}
body{background:var(--paper)}
::selection{background:var(--surface-soft);color:var(--panel-deep)}
.topbar{background:var(--panel-deep);color:var(--summer-jasmine);border-bottom:1px solid #8d9a8170}
.brand svg{color:var(--summer-jasmine)}
.brand-sub,.public-label{color:var(--sheepskin)}
.refresh{border-color:#9cac95;background:#40554630}
.refresh:hover{background:var(--panel-raised)}
.intro-copy,.eyebrow,.section-heading p,.small-label,.filter-label,.contact-intro,.table-note,footer,footer p,.footer-right{color:var(--on-background)}
h1{color:var(--summer-jasmine)}
h1 span{color:#d8dfc9}
.check-panel,.stats,.matrix-scroll,.permit-card,.reviewer-card,.activity-item,dialog{background:var(--panel);color:var(--ink);border-color:#91a08b80;box-shadow:0 8px 28px #172b2020}
.check-label,.check-label span,.check-panel .subtle,.stat-description,.activity-time,.activity-item small{color:var(--ink)}
.check-footer{border-color:#91a08b60}
.monitor-state{color:var(--ink)}
.dot{background:#b6cba6;box-shadow:0 0 0 4px #b6cba618}
.dot.stale{background:#efcf94;box-shadow:0 0 0 4px #efcf9418}
.stat-number{color:var(--summer-jasmine)}
.stat.action .stat-number{color:#f6ddb0}
.stat,.workspace-bar{border-color:#b5bba570}
.view-tabs button{color:var(--on-background)}
.view-tabs button[aria-pressed=true]{color:var(--summer-jasmine);border-color:var(--summer-jasmine)}
select{background:var(--panel-deep);color:var(--summer-jasmine);border-color:#b2bda3;box-shadow:0 2px 5px #1b2e221a}
option{background:var(--panel-deep);color:var(--summer-jasmine)}
.matrix-scroll{scrollbar-color:var(--emerald-lake) var(--panel-deep)}
th,td{border-color:#7e917550}
thead th,.permit-card-head{background:var(--feldgrau);border-color:#d0c9c080}
thead th:first-child{background:#24372d}
thead .matrix-corner,.column-address,.review-row th .group-label{color:var(--ink)}
thead .matrix-corner{color:var(--sheepskin)}
.permit-number{color:var(--ink)}
.overall-row th,.overall-row td{background:#3c5141;color:var(--summer-jasmine)}
.review-row th,.review-cell{background:var(--panel);color:var(--ink)}
.review-cell:hover,.mini-review:hover,.reviewer-assignments button:hover{background:var(--panel-raised)}
.pill{border:1px solid transparent}
.pill.queued{background:#455b49;color:var(--summer-jasmine);border-color:#8ea08280}
.pill.pending{background:#2d4034;color:var(--sheepskin);border-color:#7b8d7250}
.pill.complete{background:#395840;color:#e8edda}
.pill.approved{background:#405e47;color:#f2efd9;border-color:#9bb48b80}
.pill.progress{background:var(--emerald-lake);color:#101d14;border-color:#a9b99b}
.pill.corrections{background:var(--surface-soft);color:#3f3b29;border-color:var(--sheepskin)}
.pill.overall{background:#273e2e;color:var(--summer-jasmine);border-color:#91a08080}
.cycle-meta,.date-meta,.reviewer-meta.queue,.reviewer-meta.unlisted,.mini-review .mini-cycle,.mini-review small,.permit-card details,.record-meta dt,.detail-grid dt,dialog .review-id{color:var(--ink)}
.reviewer-meta{color:var(--ink)}
.access-mark{color:#f6ddb0}
.not-listed{color:#b1bba9}
.mini-review{background:var(--panel);color:var(--ink);border-color:#81907550}
.record-meta,.permit-card-head{border-color:#82908070}
.permit-card .subtle,.reviewer-card .subtle,.detail-note{color:var(--ink)}
.history-note{background:var(--panel-deep);color:var(--sheepskin)}
.historical .mini-review{opacity:1}
.reviewer-assignments button{color:var(--ink);border-color:#d0c9c080}
.reviewer-assignments button>span{color:var(--ink)}
.reviewer-assignments em{color:#f6ddb0}
.review-contact{background:var(--panel-deep);border-color:#8a9b7d70;color:var(--summer-jasmine)}
.contact-label,.contact-source{color:var(--sheepskin)}
.contact-links a{color:#e0eace}
.notice,.detail-warning{background:#4c4838;color:#f3e4c3;border-color:#d0b88c90;border-left-color:#ecd9b3}
.notice.error{background:#573e37;color:#fae1ce;border-color:#d2a88d}
dialog{border-color:#a5b197;box-shadow:0 24px 100px #13291fb0}
dialog::backdrop{background:#172b22b5}
.icon-button{background:var(--panel-deep);color:var(--summer-jasmine)}
.source-link{background:var(--surface-soft);color:var(--panel-deep)}
button:focus-visible,a:focus-visible,select:focus-visible,.matrix-scroll:focus-visible{outline-color:var(--summer-jasmine)}
footer{border-color:#b5bba570}
/* Muted sage cream softens the Summer Jasmine data surfaces. */
.review-row td,.review-cell,.overall-row td{background:var(--surface-soft);color:var(--panel-deep)}
.review-cell:hover,.mini-review:hover{background:var(--surface-hover)}
.review-cell .cycle-meta,.review-cell .date-meta,.review-cell .reviewer-meta{color:#43513f}
.review-cell .access-mark{color:#674617}
.not-listed{color:#43513f}
th,td{border-color:#8c9b845c}
.detail-grid>div,.record-meta>div{background:var(--surface-soft);color:var(--panel-deep);border-radius:5px;padding:12px}
.detail-grid dt,.record-meta dt{color:#43513f}
.mini-review{background:var(--surface-soft);color:var(--panel-deep);padding:15px 12px;border-color:#a2aa9860}
.mini-review small,.mini-review .mini-cycle{color:#43513f}
.activity-item{background:var(--surface-soft);color:var(--panel-deep)}
.activity-time,.activity-item small{color:#43513f}
.reviewer-assignments li{background:var(--surface-soft);border-radius:5px;margin-bottom:8px}
.reviewer-assignments button{color:var(--panel-deep);padding:12px;border:0}
.reviewer-assignments button>span{color:#43513f}
.reviewer-assignments button:hover{background:var(--surface-hover);border-radius:5px}
.reviewer-assignments em{color:#674617}
.review-cell:focus-visible,.mini-review:focus-visible,.reviewer-assignments button:focus-visible,.activity-item a:focus-visible{outline-color:var(--panel-deep)}
@media(max-width:700px){.stat:nth-child(-n+2),.filter-label{border-color:#b5bba570}}

/* Persistent, graphic view switcher: all four destinations stay visible. */
.workspace-bar{align-items:flex-end;flex-wrap:wrap;border-bottom:0;gap:20px;margin-bottom:28px}
.view-switcher{flex:1 1 700px;min-width:0}
.view-switcher-label{margin:0 0 10px;font-family:var(--mono);font-size:9px;font-weight:600;letter-spacing:1.6px;text-transform:uppercase;color:var(--sheepskin)}
.view-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:6px;border:1px solid #91a08b80;border-radius:12px;background:var(--panel-deep);box-shadow:0 5px 18px #101e1826}
.view-tabs button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:52px;padding:12px 10px;margin:0;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--summer-jasmine);font-size:12px;line-height:1.4;white-space:normal;text-align:left}
.view-tabs svg{width:21px;height:21px;flex-shrink:0;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.view-tabs button:hover{background:var(--panel-raised)}
.view-tabs button[aria-pressed=true]{background:var(--surface-soft);color:var(--panel-deep);border-color:var(--summer-jasmine);font-weight:650;box-shadow:0 2px 6px #101e1833}
.view-tabs button[aria-pressed=true]:focus-visible{outline-color:var(--summer-jasmine);outline-offset:3px}
.workspace-bar>.filter-label{padding:0 0 13px;border:0}
@media(max-width:1000px){.workspace-bar{align-items:flex-end}.view-switcher{flex-basis:100%}.workspace-bar>.filter-label{padding:0}.view-tabs button{font-size:12px}}
@media(max-width:700px){.workspace-bar{display:flex;gap:16px}.view-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.view-tabs button{justify-content:flex-start;padding:13px 12px;min-height:55px;margin:0;font-size:12px}.view-switcher-label{font-size:9px}.workspace-bar>.filter-label{width:100%;padding:0;justify-content:space-between}}

/* Sheepskin brings a warm neutral accent to secondary controls. */
select,option{background:var(--sheepskin);color:var(--panel-deep);color-scheme:light;border-color:#b3b0a3}
.refresh,.icon-button{background:var(--sheepskin);color:var(--panel-deep);border-color:#b3b0a3}
.refresh:hover,.icon-button:hover{background:#bdb8ac}
.history-note{background:var(--sheepskin);color:var(--panel-deep)}

/* Dark green permit headers and Feldgrau category labels. */
thead th,thead th:first-child{background:#283b33;color:var(--ink)}
.review-row th,.overall-row th{background:var(--feldgrau);color:var(--ink)}
thead .matrix-corner{color:var(--sheepskin)}
.review-row th .group-label{color:var(--ink)}

/* Three status totals retain the original number styling. */
.stats{grid-template-columns:repeat(3,minmax(0,1fr))}
.stat{padding:22px 26px;gap:22px}
@media(max-width:700px){.stats{grid-template-columns:repeat(3,minmax(0,1fr))}.stat{flex-direction:column;align-items:flex-start;gap:10px;padding:17px 12px}.stat:nth-child(-n+2){border-bottom:0;border-right:1px solid #b5bba570}.stat:last-child{border:0}.stat-label{line-height:1.45}.stat-description{line-height:1.5}}
