/* 0.3.2 personal theme tokens. Status colors remain semantic across accents. */
:root{--ui-scale:1;--surface:#fff;--surface2:#f5f8f6;--surface3:#e9eeeb;--brand:#185346;--brand-strong:#185346;--brand-pale:#eaf3ee;--brand-bright:#88d7bc;--brand-night:#193e35;--on-brand:#fff;--ui-ring:#729f90;font-size:calc(100% * var(--ui-scale));color-scheme:light}
:root[data-ui-accent=blue]{--brand:#2757b1;--brand-strong:#234b9d;--brand-pale:#edf2fd;--brand-bright:#a1bfff;--brand-night:#233656;--ui-ring:#809de0}
:root[data-ui-accent=violet]{--brand:#7146a8;--brand-strong:#643c99;--brand-pale:#f3eefb;--brand-bright:#ccaff4;--brand-night:#392950;--ui-ring:#ad8cd7}
:root[data-ui-accent=slate]{--brand:#43566d;--brand-strong:#33455b;--brand-pale:#edf1f6;--brand-bright:#b9cce2;--brand-night:#2b394c;--ui-ring:#91a4ba}
:root{--light:var(--brand-pale);--dash-green:var(--brand);--dash-green-2:var(--brand-strong);--dash-mint:var(--light);--dash-bg:var(--paper);--dash-card:var(--surface);--dash-border:var(--line);--dash-text:var(--ink);--dash-soft:var(--muted)}
:root[data-ui-mode=dark]{color-scheme:dark;--paper:#141c26;--surface:#1d2936;--surface2:#243241;--surface3:#2e3d4d;--ink:#e6edf5;--muted:#b2c0cf;--line:#435265;--brand:var(--brand-bright);--light:var(--brand-night);--warn:#ffd08d;--danger:#ffa8a4;--dash-warning:#edb367;--dash-danger:#ef9a94;--dash-shadow:0 10px 28px rgba(0,0,0,.14)}
body{background:var(--paper)}
.sidebar,.topbar,.panel,.stat,.filters,.logincard,dialog,button,input,select,textarea{background:var(--surface)}
button.primary,.mark,.stat.main{background:var(--brand-strong);border-color:var(--brand-strong);color:#fff}
button:hover{background:var(--light)}button.primary:hover{background:var(--brand-strong);filter:brightness(1.08)}
button.link,.navbutton,.sort-header{background:transparent}.navbutton.active,button.activebtn{background:var(--light)}
input,select,textarea{border-color:var(--line)}input:focus,select:focus,textarea:focus{outline-color:var(--ui-ring)}
th,.modalfoot,.customer-match-panel,.collection-summary>div,.concentration>div,.pipeline-metrics>div,.action-empty{background:var(--surface2)}
td,.customer-matches li,.perf-row,.rank-row,.collection-summary{border-color:var(--line)}tr:hover td{background:var(--surface2)}
.note.neutral{background:var(--light);border-color:var(--brand);color:var(--ink)}
.badge.gray,.dispatch-recalled{background:var(--surface3);color:var(--muted);border-color:var(--line)}
.note.error{background:#fff0ed;color:#7b332e}.badge.error{background:#f9e5e1;color:#983730}.badge.warn{background:#fff2db;color:#825107}
.customer-matches small,.customer-phone,.customer-bank,.section-kicker,.soft-badge,.chart-legend,.action-chevron,.perf-meta,.perf-title span,.aging-list span,.rank-main span,.dash-note,.concentration span,.pipeline-metrics span{color:var(--muted)}
.customer-phone a,.customer-bank b,.action-item strong,.concentration b{color:var(--brand)}
.customer-match-panel,.customer-matches li,.soft-badge,.concentration>div,.pipeline-metrics>div,.action-item{border-color:var(--line)}
.contact-sep{color:var(--muted)}
.unread-row{background:var(--light)}
.dash-filters{background:var(--surface)}
.dash-kpi:after{background:var(--line)}.dash-kpi.hero{background:var(--brand-strong);border-color:var(--brand-strong);color:#fff}
.dash-kpi-label,.dash-kpi-sub{color:var(--muted)}.dash-kpi.hero .dash-kpi-label,.dash-kpi.hero .dash-kpi-sub{color:#e2edf5}
.dash-kpi.alert:after{background:var(--dash-warning)}.dash-kpi.hero:after{background:var(--brand-bright)}
.soft-badge{background:var(--surface2)}.count-badge{background:var(--brand-strong);color:#fff}
.chart-grid{stroke:var(--line)}.chart-y,.chart-x{fill:var(--muted)}.chart-line.actual{stroke:var(--brand)}.chart-dot{fill:var(--surface);stroke:var(--brand)}.legend-line.actual{background:var(--brand)}
.action-item{background:var(--surface)}.action-item:hover{background:var(--surface2);border-color:var(--brand)}
.perf-track,.rank-track,.aging-stack{background:var(--surface3)}.rank-track:not(.employee) span{background:var(--brand)}
.rank-no{background:var(--light);color:var(--brand)}
#toast{background:var(--brand-strong);color:#fff}#toast.error{background:#8e3933;color:#fff}
.login{background:linear-gradient(140deg,var(--paper),var(--light))}
.dash-kpi-value{white-space:normal;overflow-wrap:anywhere}.topbar{height:auto;min-height:68px;padding-block:10px}.topbar .right{flex-wrap:wrap;justify-content:flex-end}.topbar .who{min-width:0}
:root[data-ui-mode=dark] .courier-pending .panelhead{background:#493220}:root[data-ui-mode=dark] .courier-delivered .panelhead{background:#1d4032}
:root[data-ui-mode=dark] .note:not(.neutral):not(.error){background:#443723;color:#f1d4a3}
:root[data-ui-mode=dark] .note.error{background:#482b2c;color:#ffd1cc}
:root[data-ui-mode=dark] .text-danger{color:#ffa8a4!important}:root[data-ui-mode=dark] .text-ok{color:#a0dfb4!important}
:root[data-ui-mode=dark] .dash-kpi-sub .neg{color:#ffa8a4}:root[data-ui-mode=dark] .dash-kpi-sub .pos{color:#a0dfb4}
.appearance-settings h3{margin-top:1.5rem;margin-bottom:.6rem}.appearance-swatches,.appearance-options{display:flex;flex-wrap:wrap;gap:.6rem}
.appearance-swatches button{display:flex;align-items:center;gap:.5rem;white-space:normal}.appearance-settings [aria-pressed=true]{outline:2px solid var(--brand);outline-offset:2px;background:var(--light)}
.swatch{height:1.1rem;width:1.1rem;display:inline-block;border-radius:50%;border:1px solid rgba(0,0,0,.15)}.swatch-green{background:#185346}.swatch-blue{background:#2757b1}.swatch-violet{background:#7146a8}.swatch-slate{background:#43566d}
.appearance-example{padding:1.2rem;border:1px solid var(--line);border-radius:12px;margin-top:1.6rem;background:var(--surface2)}
.appearance-example h2{margin:.5rem 0}.appearance-example p{font-size:.9rem}
:focus-visible{outline:2px solid var(--ui-ring);outline-offset:3px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Planning workspace: readable at all personal font sizes. */
.plan-workspace{max-width:1450px;margin:auto}.plan-scope-banner{display:flex;align-items:center;justify-content:space-between;padding:1.3rem 0;gap:1rem}.plan-scope-banner h2{font-size:1.2rem;margin:.4rem 0 0}.plan-scope-banner h2 span{color:var(--muted);font-weight:400;margin:0 .5rem}
.plan-stats{display:grid;grid-template-columns:1fr 1fr .65fr;gap:1rem;margin-bottom:1.2rem}.plan-summary{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:1.1rem 1.3rem;border-top:3px solid var(--brand)}.plan-summary>span{font-size:.75rem;color:var(--muted)}.plan-summary strong{font-size:1.6rem;display:block;margin:.5rem 0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.plan-summary small{font-size:.7rem}
.plan-editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:1.25rem;align-items:start}.plan-editor-layout .panel{margin-top:0}.plan-editor-head{display:flex;justify-content:space-between;align-items:center;padding:1.2rem;gap:1rem}.plan-editor-head h2{margin:0}.plan-editor-head p{margin-bottom:0}.plan-month-select{max-width:190px}.plan-month-select select{margin-top:.4rem;font-size:.75rem}
.plan-grid{min-width:620px}.plan-grid td{vertical-align:middle;padding:.65rem 1rem}.plan-grid th{padding:.7rem 1rem}.plan-grid td:first-child{white-space:nowrap}.month-pill{display:inline-grid;place-items:center;width:1.6rem;height:1.6rem;background:var(--surface2);border:1px solid var(--line);color:var(--muted);border-radius:.45rem;margin-right:.6rem;font-size:.7rem}.plan-grid input{min-width:150px;font-variant-numeric:tabular-nums;text-align:right;padding:.65rem .8rem;font-size:.85rem}.plan-grid input::placeholder{font-size:.75rem;color:var(--muted)}.plan-grid tr[hidden]{display:none}.plan-grid .plan-dirty td{background:var(--light)}
.plan-assist .panel{padding:1.1rem}.plan-assist label{margin-top:.85rem}.plan-assist h2{margin-top:.5rem}.plan-assist select,.plan-assist input,.plan-assist button{font-size:.78rem}.plan-assist button{margin-top:1rem;width:100%}.plan-rules p{font-size:.78rem;color:var(--muted)}.plan-rules b{color:var(--ink)}
.plan-savebar{padding:1rem 1.2rem;border-top:1px solid var(--line);display:flex;gap:.6rem;align-items:center;justify-content:space-between;flex-wrap:wrap;background:var(--surface2)}.plan-savebar>span{font-size:.75rem;color:var(--muted)}.plan-savebar button{font-size:.8rem}.plan-editor #planError:not(:empty){padding:0 1.2rem 1rem}.plan-workspace .panelhead{padding:0 0 .7rem;align-items:center;flex-wrap:wrap}.plan-workspace .panelhead button{white-space:normal}.plan-over{color:var(--danger);font-weight:700}.plan-history summary{cursor:pointer}.plan-history td{max-width:320px;overflow-wrap:anywhere}
@media(max-width:1200px){.plan-editor-layout{grid-template-columns:minmax(0,1fr)}.plan-assist{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.plan-stats{gap:.65rem}.plan-summary strong{font-size:1.35rem}}
@media(max-width:720px){.topbar{min-height:53px;gap:.4rem;padding:8px 12px;align-items:flex-start}.topbar>span{display:none}.topbar .right{width:100%;gap:6px;justify-content:flex-start}.topbar .who{margin-left:auto}.topbar [data-act=appearance]{font-size:.7rem;padding:6px}.sidebar{max-height:160px}.plan-stats{grid-template-columns:1fr 1fr}.plan-summary:last-child{grid-column:1/-1}.plan-summary{padding:.9rem}.plan-summary strong{font-size:1.3rem}.plan-assist{grid-template-columns:1fr}.plan-scope-banner{align-items:flex-start;flex-direction:column;gap:.6rem}.plan-editor-head{flex-wrap:wrap}.plan-grid{min-width:570px}.plan-grid td,.plan-grid th{padding:.6rem .65rem}.plan-savebar{position:static}.plan-savebar .buttons{width:100%}.plan-savebar button{flex:1;white-space:normal}.plan-workspace .pagehead h1{font-size:1.6rem}.plan-workspace .panel{overflow:hidden}.appearance-options button{padding:.6rem .8rem}}
@media print{:root{--ui-scale:1!important;--surface:#fff!important;--surface2:#fff!important;--paper:#fff!important;--ink:#000!important;--muted:#333!important;--brand:#185346!important;--line:#bbb!important;color-scheme:light}body{background:white!important;color:#000!important}.plan-assist,.plan-savebar{display:none}}
@media(max-width:480px){.plan-stats{grid-template-columns:1fr}.plan-summary:last-child{grid-column:auto}.plan-summary strong{font-size:1.3rem}}
