:root{--surface:#fff;--surface-alt:#f4f6fa;--text:#243349;--muted:#53627a;--line:#dce2ec;--accent-soft:#edf2ff;color:var(--text);background:var(--surface-alt)}
:root[data-appearance="dark"]{--surface:#182335;--surface-alt:#101827;--text:#e6edf8;--muted:#b4c1d5;--line:#3b4b63;--accent-soft:#24364d}
:root{--bg:var(--surface-alt);--accent:var(--brand)}
html,body{background:var(--surface-alt);color:var(--text)}
.card,.settings-panel,dialog,.table-wrap,.hd-card,.hd-calendar-day,.wizard-summary-item,fieldset{background:var(--surface);color:var(--text);border-color:var(--line)}
button,input,select,textarea{background:var(--surface);color:var(--text);border-color:var(--line)}
input,select,textarea{color-scheme:inherit}
label{color:var(--text)}.metric{color:var(--text)}.badge{background:var(--accent-soft);color:var(--text)}.workspace-settings-toolbar{background:var(--surface-alt)}
button.primary,.nav-group button.active,.settings-groups button:focus-visible{background:var(--brand);color:#fff;border-color:var(--brand)}
button:hover{background:var(--accent-soft)}button.primary:hover{filter:brightness(.9);background:var(--brand)}
.sidebar{background:var(--surface);color:var(--text);border-right:1px solid var(--line)}
.sidebar .brand,.sidebar .brand small,.sidebar nav button,.sidebar summary,.sidebar footer{color:var(--text)}
.hd-shell .sidebar nav button.active{background:var(--brand);color:#fff}.sidebar summary{font-weight:650}
.topbar{background:var(--surface);color:var(--text)}.topbar small{color:var(--muted)}
.hd-menu-toggle{background:var(--surface-alt);color:var(--text);border-color:var(--line)}
.sidebar input{background:var(--surface-alt);color:var(--text)}
.hint,.muted,small,.hd-order-meta,.settings-panel>.hint{color:var(--muted)}
.info,.wizard-steps li.current,.appearance-sample,.catalog-category-grid button[aria-pressed="true"]{background:var(--accent-soft);color:var(--text);border-color:var(--brand)}
table th,thead,.hd-calendar-weekday{background:var(--surface-alt);color:var(--text)}table td,table th{border-color:var(--line)}
tr:nth-child(even),.wizard-summary-item{background:var(--surface-alt)}
:root[data-appearance="dark"] .error,:root[data-appearance="dark"] [role="alert"]{background:#472231;color:#ffe3e9}
:root[data-appearance="dark"] button.danger{color:#ffadb9}
:root[data-appearance="dark"] .hd-status-paid,:root[data-appearance="dark"] .hd-status-returned{background:#123e31;color:#b4f5d9}
:root[data-appearance="dark"] .hd-status-pending,:root[data-appearance="dark"] .hd-status-partial{background:#4b3616;color:#ffe2aa}
.appearance-sample{padding:1rem;border-radius:.5rem;display:flex;gap:1rem;align-items:center}
.catalog-category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem}.catalog-category-grid section{padding:1rem;border:1px solid var(--line);border-radius:.5rem}.catalog-category-grid button{margin:.2rem;white-space:normal;text-align:left}
.hd-nav-icon svg,.nav-group summary svg{width:20px;height:20px;display:inline-block;vertical-align:middle;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.nav-group summary svg{margin-right:.4rem}.sidebar .hd-nav-icon{width:22px;min-width:22px;display:inline-flex;align-items:center;justify-content:center}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--brand-secondary);outline-offset:3px}
@media(max-width:650px){.appearance-sample{flex-wrap:wrap}.catalog-category-grid{grid-template-columns:1fr}}
@media(max-width:850px){.hd-shell:not(.hd-collapsed) .sidebar nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));width:100%;max-height:340px;overflow-y:auto;overflow-x:hidden;align-items:start}.hd-shell .sidebar nav button{white-space:normal;overflow-wrap:anywhere}.hd-shell.hd-collapsed .sidebar nav{width:100%;max-height:none;display:block}.nav-group{min-width:0}}

/* Shared contrast tokens. Essential control boundaries are deliberately stronger than decorative dividers. */
:root{--control-border:#74849a;--placeholder:#53627a;--disabled-surface:#e8edf4;--disabled-text:#45546b;--error-surface:#fff0f1;--error-text:#9e2032;--error-border:#b82d43;--success-surface:#e0f2ea;--success-text:#126144;--success-border:#287451;--warning-surface:#fff5df;--warning-text:#75400b;--warning-border:#9a6215;--on-primary:#ffffff;--link-color:var(--brand);--focus-ring:#4338ca}
:root[data-appearance="dark"]{--control-border:#718198;--placeholder:#b4c1d5;--disabled-surface:#243047;--disabled-text:#c3cedf;--error-surface:#472231;--error-text:#ffe3e9;--error-border:#ed8b9d;--success-surface:#123e31;--success-text:#b4f5d9;--success-border:#65c9a7;--warning-surface:#4b3616;--warning-text:#ffe2aa;--warning-border:#ddb05f;--link-color:#b9ceff;--focus-ring:#c4b5fd}
:root[data-appearance] h1,:root[data-appearance] h2,:root[data-appearance] h3,:root[data-appearance] h4,:root[data-appearance] h5,:root[data-appearance] h6,:root[data-appearance] legend{color:var(--text)}
a,.client-details summary{color:var(--link-color)}
input:not([type=checkbox]):not([type=radio]):not([type=color]),select,textarea{background:var(--surface);color:var(--text);border:1px solid var(--control-border)}
:root[data-appearance] select,:root[data-appearance] textarea{background:var(--surface);color:var(--text);border-color:var(--control-border)}
select option,select optgroup{background:var(--surface);color:var(--text)}
input::placeholder,textarea::placeholder{color:var(--placeholder);opacity:1}
input:disabled,select:disabled,textarea:disabled,button:disabled,button[aria-disabled="true"]{background:var(--disabled-surface);color:var(--disabled-text);border-color:var(--control-border);opacity:1;cursor:not-allowed}
button.primary,.sidebar nav button.active{color:var(--on-primary);border-color:var(--control-border)}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}
.info{background:var(--accent-soft);color:var(--text);border-color:var(--control-border)}
.info strong,.info p,.info small,.info label{color:inherit}
.error,[role=alert]:not(.info):not(.warning):not(.success){background:var(--error-surface);color:var(--error-text);border:1px solid var(--error-border)}
.error p,.error strong,.error small{color:inherit}
.warning{background:var(--warning-surface);color:var(--warning-text);border-color:var(--warning-border)}
.success{background:var(--success-surface);color:var(--success-text);border-color:var(--success-border)}
input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--error-border);box-shadow:0 0 0 1px var(--error-border)}
[role=tooltip],.tooltip{background:var(--text);color:var(--surface);border:1px solid var(--control-border)}
.wizard-steps li{background:var(--surface-alt);color:var(--text);border:1px solid var(--control-border)}
.wizard-steps li.current{background:var(--brand);color:var(--on-primary);border:2px solid var(--focus-ring)}
.wizard-steps li.done{background:var(--success-surface);color:var(--success-text);border-color:var(--success-border)}
.wizard-steps li.pending:not(.current){background:var(--warning-surface);color:var(--warning-text);border-color:var(--warning-border)}
.wizard-steps .wizard-step-button{background:transparent;color:inherit;border:0;display:flex;align-items:center;gap:.6rem;text-align:left;width:100%;min-height:44px;white-space:normal}
.wizard-steps .wizard-step-button:hover{background:transparent;color:inherit;text-decoration:underline}
.wizard-steps .wizard-step-title{border:0;border-radius:0;min-width:0;height:auto;display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:.2rem;line-height:1.35}
.wizard-steps .wizard-step-button:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}
.wizard-step-status{display:inline-block;background:var(--surface);color:var(--text);border:1px solid var(--control-border);padding:.1rem .35rem;border-radius:.35rem;font-size:11px;line-height:1.4}
.wizard-steps li.current .wizard-step-status{background:var(--surface);color:var(--text)}
.wizard-catalog .card,.wizard-summary-item,#wizard-payment-fields fieldset,#wizard-payment-summary{color:var(--text)}
.wizard-catalog .card h3,.wizard-selected strong,#wizard-payment-summary strong,#wizard-payment-fields legend{color:var(--text)}
input[type=color]{border:1px solid var(--control-border)}
button.primary:disabled,.wizard-steps .wizard-step-button:disabled{background:var(--disabled-surface);color:var(--disabled-text);border-color:var(--control-border);opacity:1}
.wizard-steps li.current .wizard-step-button:focus-visible{outline-color:var(--on-primary)}
:root[data-appearance="dark"] .hd-orders tr:hover td{background:var(--accent-soft);color:var(--text)}
:root[data-appearance] .hd-day{background:var(--surface);color:var(--text);border-color:var(--control-border)}
:root[data-appearance] .hd-day:hover,:root[data-appearance] .hd-busy{background:var(--accent-soft);color:var(--text)}
:root[data-appearance] .hd-day small{color:var(--link-color)}
.hd-weekday{color:var(--muted)}
@media(forced-colors:active){button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid Highlight}.wizard-steps li{border:1px solid CanvasText}}

/* REV23: calendar appointments share the active surface and readable status tokens. */
.calendar-day,.calendar-weekday,.calendar-agenda-day{background:var(--surface);color:var(--text);border-color:var(--line)}
.calendar-day.outside{background:var(--surface-alt)}
.calendar-day.today{background:var(--accent-soft)}
.calendar-number{color:var(--text);background:var(--surface)}
.calendar-day.today .calendar-number{background:var(--brand);color:var(--on-primary)}
button.calendar-event{background:var(--accent-soft);color:var(--text);border:1px solid var(--control-border);border-left:4px solid var(--link-color)}
button.calendar-event.return{background:var(--success-surface);color:var(--success-text);border-color:var(--success-border)}
button.calendar-event.task{background:var(--warning-surface);color:var(--warning-text);border-color:var(--warning-border)}
.calendar-event span,.calendar-event small,.calendar-event strong{color:inherit}
button.calendar-event:hover{background:var(--surface-alt);color:var(--text);outline:1px solid var(--focus-ring)}
.calendar-toolbar button[aria-pressed=true],.calendar-toolbar button.active{background:var(--brand);color:var(--on-primary)}
#wizard-entry-planned{display:contents}#wizard-entry-planned[hidden]{display:none}
.help-article{padding:1rem 0;border-bottom:1px solid var(--line)}
