/* Shared presentation tokens. Theme never carries account or matter state. */
:root {
  --appearance-canvas:#f4f7f4; --appearance-surface:#ffffff; --appearance-soft:#eaf2e9;
  --appearance-ink:#19372a; --appearance-muted:#52685b; --appearance-link:#245d3d;
  --appearance-line:#b4c7ba; --appearance-control-border:#6f8778;
  --appearance-strong:#214e38; --appearance-on-strong:#ffffff; --appearance-accent-soft:#dcecd4;
  --appearance-danger:#982e25; --appearance-danger-soft:#fff0ed; --appearance-danger-strong:#8e3026;
  --appearance-warning:#755017; --appearance-warning-soft:#fff4dc; --appearance-warning-strong:#76511a;
  --appearance-info:#205978; --appearance-info-soft:#e9f3fb; --appearance-info-strong:#1b526f;
  --appearance-focus:#0068a3; --appearance-shadow:#142f241c; --appearance-backdrop:#10271db3;
  color-scheme:light;
}
:root[data-theme=dark] {
  --appearance-canvas:#122019; --appearance-surface:#1b2b22; --appearance-soft:#263e2d;
  --appearance-ink:#e9f2eb; --appearance-muted:#bdcfc1; --appearance-link:#b4e2bd;
  --appearance-line:#536e5c; --appearance-control-border:#8da896;
  --appearance-strong:#24563d; --appearance-on-strong:#ffffff; --appearance-accent-soft:#354e2d;
  --appearance-danger:#ffb9b0; --appearance-danger-soft:#442823; --appearance-danger-strong:#8e3026;
  --appearance-warning:#f4d38d; --appearance-warning-soft:#3c321f; --appearance-warning-strong:#76511a;
  --appearance-info:#b0dcff; --appearance-info-soft:#223947; --appearance-info-strong:#1b526f;
  --appearance-focus:#8dccff; --appearance-shadow:#0000005c; --appearance-backdrop:#000000b3;
  color-scheme:dark;
}
html[data-theme],html[data-theme] body,html[data-theme] body.workspace-shell {
  --ink:var(--appearance-ink); --muted:var(--appearance-muted); --line:var(--appearance-line);
  --cream:var(--appearance-canvas); --accent:var(--appearance-accent-soft);
  color:var(--appearance-ink); background-color:var(--appearance-canvas);
}
html[data-theme] :is(input,textarea,select) {
  color:var(--appearance-ink); background-color:var(--appearance-surface);
  border-color:var(--appearance-control-border)!important; accent-color:var(--appearance-link);
}
html[data-theme] :is(input,textarea)::placeholder {color:var(--appearance-muted);opacity:1}
html[data-theme] :is(button,input,textarea,select,a,summary,[tabindex]):focus-visible {
  outline:3px solid var(--appearance-focus);outline-offset:3px;
}
html[data-theme] :is(button,input,textarea,select):disabled {
  opacity:1!important; color:var(--appearance-muted); background-color:var(--appearance-soft);
  border-color:var(--appearance-control-border); cursor:not-allowed;
}
/* Pending labels and small control text stay readable; state remains in its label/ARIA. */
html[data-theme] :is(.journey-stage.is-pending,.intake-tabs span,.review-case-list small,.review-case-list span,.practice-day-add,.practice-entry-time,.practice-calendar-entry small,.flows-progress .is-unvisited,.review[aria-busy=true]) {opacity:1}
html[data-theme] :is(.primary,button.primary) {background:var(--appearance-strong);color:var(--appearance-on-strong)}
html[data-theme] :is(.primary,button.primary):disabled {background:var(--appearance-soft);color:var(--appearance-muted)}
html[data-theme] :is(.error,#dialog-error,#login-error,[role=alert]) {color:var(--appearance-danger)}
html[data-theme] :is(dialog,#workspace-search-dialog) {background-color:var(--appearance-surface);color:var(--appearance-ink);border-color:var(--appearance-control-border)}
html[data-theme] dialog::backdrop {background:var(--appearance-backdrop)}
html[data-theme] ::selection {background:var(--appearance-strong);color:var(--appearance-on-strong)}
/* Sidebar intentionally remains a dark navigation surface in both themes. */
html[data-theme] :is(.sidebar,.rail) {
  --appearance-ink:#eef7f0; --appearance-muted:#c0d4c6; --appearance-link:#d0e7d9;
  --appearance-canvas:#173327; --appearance-surface:#1c3b2e; --appearance-soft:#2b4d3b;
  --appearance-line:#5d7d68; --appearance-control-border:#97b1a0; --appearance-focus:#8dccff;
  --appearance-accent-soft:#dcecd4;
  --ink:var(--appearance-ink);--muted:var(--appearance-muted);--line:var(--appearance-line);
}
html[data-theme] :is(.journey-overview,.connection-summary,.walk-label) {
  --appearance-ink:#ffffff;--appearance-muted:#d5e5d9;--appearance-link:#d5e5d9;
  --appearance-soft:#31533e;
  --ink:var(--appearance-ink);--muted:var(--appearance-muted);
}
html[data-theme] .sidebar :is(.primary,#incoming-materials) {background:#dcecd4;color:#19372a}
.appearance-control {display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;font:13px/1.4 'Segoe UI',Arial,sans-serif;color:var(--appearance-ink)}
.appearance-control select {width:auto;max-width:180px;min-height:38px;padding:7px 26px 7px 9px;border:1px solid var(--appearance-control-border);border-radius:6px;font:inherit}
.appearance-panel {padding:16px 18px;margin:18px 0;border:1px solid var(--appearance-line);border-radius:8px;background:var(--appearance-surface)}
.appearance-panel h2 {font-size:17px;margin:0 0 10px}
.appearance-panel p {font-size:13px;color:var(--appearance-muted);margin:10px 0 0;line-height:1.5}
.workspace-shell .topbar .appearance-control {order:5;margin-left:0}
.workspace-shell .topbar:has(.appearance-control) {height:auto;min-height:76px;flex-wrap:wrap;padding-block:10px;row-gap:8px}
@media(max-width:900px) {.workspace-shell .topbar .appearance-control{font-size:12px}.appearance-control select{max-width:145px}}
@media(prefers-reduced-motion:reduce) {
  html:focus-within {scroll-behavior:auto}
  html[data-theme] *,html[data-theme] *::before,html[data-theme] *::after {
    animation:none!important;transition:none!important;scroll-behavior:auto!important;
  }
}
@media(forced-colors:active) {
  html[data-theme] :is(button,input,textarea,select,a,summary,[tabindex]):focus-visible {outline-color:Highlight}
  .appearance-control select {border-color:ButtonText}
}
/* A screen preference must not recolor printed document output. */
@media print {
  html[data-theme],html[data-theme] body,html[data-theme] body.workspace-shell {
    --appearance-ink:#000;--appearance-muted:#333;--appearance-surface:#fff;--appearance-canvas:#fff;
    --appearance-soft:#f0f3ef;--appearance-link:#245d3d;--appearance-line:#b4c7ba;
    --appearance-danger:#982e25;--appearance-danger-soft:#fff0ed;
    --appearance-warning:#755017;--appearance-warning-soft:#fff4dc;
    --appearance-info:#205978;--appearance-info-soft:#e9f3fb;
    color:#000;background:#fff;color-scheme:light;
  }
  .appearance-control,.appearance-panel {display:none!important}
}
