/* Shared appearance tokens. Safety/status colors remain in their existing CSS. */
:root, :root[data-ui-theme="sage"] {
  --sidebar: #EFF4EF;
  --topbar: #FFFFFF;
  --surface: #F7F8F5;
  --text: #27362F;
  --accent: #527560;
}
:root[data-ui-theme="blue"] {
  --sidebar: #EEF2F7;
  --topbar: #FFFFFF;
  --surface: #F6F8FB;
  --text: #293749;
  --accent: #53799F;
}
:root[data-ui-theme="apricot"] {
  --sidebar: #F6EFE5;
  --topbar: #FFFCF7;
  --surface: #FAF8F3;
  --text: #493D32;
  --accent: #AD7852;
}
:root {
  color-scheme: light;
  --card: #FFFFFF;
  --muted: color-mix(in srgb, var(--text) 70%, white);
  --theme-line: color-mix(in srgb, var(--text) 14%, white);
  --line: var(--theme-line);
  --accent-2: var(--accent);
  --theme-soft: color-mix(in srgb, var(--accent) 10%, var(--card));
  --theme-hover: color-mix(in srgb, var(--accent) 16%, var(--card));
}
body { color: var(--text); background: var(--surface); }
.workbench-v1 .sidebar { background: var(--sidebar); color: var(--text); }
.workbench-v1 .topbar { background: var(--topbar); color: var(--text); }
.workbench-v1 .page-content { background: var(--surface); }
.workbench-v1 .sidebar-card { background: var(--theme-soft); border-color: var(--line); }
.workbench-v1 .brand-mark, .workbench-v1 .avatar { background: var(--accent); color: white; }
.workbench-v1 .brand-copy strong, .workbench-v1 .user-menu strong { color: var(--text); }
.workbench-v1 .sidebar-footer, .workbench-v1 .logout-button { color: var(--muted); }
.workbench-v1 .logout-button:hover { color: var(--accent); }
.workbench-v1 .real-data-label { color: var(--success); border-color: color-mix(in srgb, var(--success) 30%, transparent); }
.theme-picker { display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: 12px; white-space: nowrap; }
.theme-picker select { max-width: 170px; padding: 7px 9px; border: 1px solid var(--line); border-radius: 8px; background: var(--card); color: var(--text); font: inherit; cursor: pointer; }
.theme-picker select:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
/* Override appearance tokens only; image generation and status semantics are unchanged. */
.workbench-v1 .isv1 {
  --isv-page-bg: var(--surface);
  --isv-page-bg-soft: var(--surface);
  --isv-card-bg: var(--card);
  --isv-card-bg-muted: var(--surface);
  --isv-card-bg-highlight: var(--theme-soft);
  --isv-border: var(--theme-line);
  --isv-border-strong: color-mix(in srgb, var(--text) 25%, white);
  --isv-text: var(--text);
  --isv-text-muted: color-mix(in srgb, var(--text) 82%, white);
  --isv-primary: color-mix(in srgb, var(--accent) 80%, black);
  --isv-primary-hover: color-mix(in srgb, var(--accent) 70%, black);
  --isv-primary-soft: var(--theme-soft);
  --isv-highlight: var(--isv-primary);
  --isv-warning: #955414;
}
/* Child pages share tokens; business forms and the spreadsheet keep their layout. */
.product-library-theme { --teal: var(--accent); color: var(--text); background: var(--surface); }
.product-library-theme aside { background: var(--sidebar); color: var(--text); }
.product-library-theme .brand { color: var(--text); }
.product-library-theme header, .pricing-theme header { background: var(--topbar); }
.product-library-theme h1, .product-library-theme .breadcrumbs b,
.product-library-theme .field, .product-library-theme input,
.product-library-theme select, .product-library-theme textarea,
.product-library-theme .btn { color: var(--text); }
.product-library-theme .btn.primary { color: white; }
.product-library-theme .btn.danger { color: #b14545; }
.product-library-theme .metric strong, .product-library-theme .eyebrow,
.product-library-theme .product-icon { color: var(--accent); }
.product-library-theme .product-icon, .product-library-theme .steps,
.product-library-theme .readonly-value, .product-library-theme th { background: var(--surface); }
.product-library-theme .logo, .product-library-theme nav>a.active { background: var(--accent); color: white; }
.product-library-theme nav>a:hover, .product-library-theme .nav-future:hover { background: var(--theme-hover); color: var(--text); }
.product-library-theme input:focus, .product-library-theme select:focus,
.product-library-theme textarea:focus { border-color: var(--accent); outline-color: var(--theme-hover); }
.pricing-theme { color: var(--text); background: var(--surface); }
.pricing-theme h1, .pricing-theme input, .pricing-theme select, .pricing-theme button { color: var(--text); }
.pricing-theme #save { background: var(--accent); color: white; }
.pricing-theme .tools { background: var(--card); }
@media (max-width: 1320px) {
  .workbench-v1 .topbar .clock, .workbench-v1 .system-health small { display: none; }
  .workbench-v1 .topbar-actions { flex-shrink: 0; }
  .theme-picker { gap: 4px; }
  .theme-picker select { max-width: 150px; }
}
@media (max-width: 740px) {
  .workbench-v1 .topbar { backdrop-filter: none; }
  .theme-picker { position: fixed; bottom: 16px; right: 12px; z-index: 30; padding: 5px 7px; border: 1px solid var(--line); border-radius: 10px; background: var(--card); }
}
/* Set text with its actual surface. Ready workflow cards use a light palette;
   blocked/frozen cards retain their existing dark status surfaces. */
.workbench-v1 .isv1-operator-flow { color: #d7fff6; }
.workbench-v1 .isv1-operator-flow:not(.ready) > div > b,
.workbench-v1 .isv1-operator-flow:not(.ready) > header b { color: #d7fff6; }
.workbench-v1 .isv1-operator-flow.ready { color: var(--isv-text); }
.workbench-v1 .isv1-operator-flow.ready > header b,
.workbench-v1 .isv1-workflow-output-status b,
.workbench-v1 .isv1-workflow-slots b { color: var(--isv-text); }
.workbench-v1 .isv1-operator-flow.ready dd { color: #17654f; }
.workbench-v1 .isv1-operator-flow.ready :is(.isv1-truth-summary span,.isv1-revision-preview) {
  background: var(--isv-card-bg-muted); color: var(--isv-text);
}
.workbench-v1 .isv1-operator-flow.ready :is(.isv1-truth-summary b,.isv1-revision-preview b) { color: var(--isv-text); }
.workbench-v1 .isv1-operator-flow.ready :is(.isv1-truth-summary small,.isv1-revision-preview small) { color: var(--isv-text-muted); }
.workbench-v1 .isv1-operation-feedback { color: var(--isv-text); }
.workbench-v1 .isv1-operation-feedback small { color: var(--isv-text-muted); }
.workbench-v1 .isv1-operation-feedback strong { color: inherit; }
.workbench-v1 .isv1 .isv1-batch-failures :is(summary,article span,article small,p) { color: #f7d9dc; }
.workbench-v1 .isv1 button.primary-button { background: var(--isv-primary); color: #fff; }
.workbench-v1 .isv1-production-list span { background: var(--isv-primary-soft); color: var(--isv-text); }
