:root {
  color-scheme: light;
  --bg: #f7f8fc;
  --bg-elevated: #ffffff;
  --panel: #ffffff;
  --panel2: #ffffff;
  --panel3: #f5f3ff;
  --line: #e4e6f0;
  --line-strong: #d5d9e7;
  --text: #2c3042;
  --muted: #858aa0;
  --soft: #575d73;
  --accent: #6654ee;
  --accent-strong: #5540e4;
  --accent-soft: rgb(102 84 238 / 11%);
  --cyan: #6957ee;
  --success: #289b85;
  --warning: #c8852b;
  --danger: #d95b72;
  --danger-soft: rgb(217 91 114 / 10%);
  --shadow: 0 12px 30px rgb(42 49 80 / 7%);
  --focus: 0 0 0 3px rgb(102 84 238 / 18%);
}

body { background: var(--bg); color: var(--text); }
body, .app-shell { background-image: none; }
input, textarea, select { background: #fff; color: var(--text); }
input:focus, textarea:focus, select:focus { background: #fff; border-color: var(--accent); }
input::placeholder, textarea::placeholder { color: #abb0c0; }
a, .link-button { color: var(--accent); }

.login-screen { background: #f7f8fc; }
.login-card { background: #fff; border-color: var(--line); box-shadow: var(--shadow); }
.sidebar { background: #fff; border-right-color: var(--line); }
.brand { color: var(--text); }
.nav, .secondary, .link-button { color: var(--soft); }
.nav:hover, .nav.active { color: var(--accent); background: #eeeaff; }
.nav-canvas { margin: 4px 0 7px; border: 1px solid #d8d2ff; background: #f3f0ff; color: var(--accent); font-weight: 700; }
.nav-canvas:hover, .nav-canvas.active { border-color: var(--accent); background: var(--accent); color: #fff; box-shadow: 0 6px 14px rgb(102 84 238 / 18%); }
.sidebar-foot { border-top-color: var(--line); }
.sidebar-foot strong { color: var(--text); }
.link-button:hover { color: var(--accent-strong); }

.model-panel, .panel, .production-kpis span, .pipeline-step, .production-module { background: #fff; border-color: var(--line); box-shadow: 0 2px 8px rgb(42 49 80 / 2%); }
.model-row { background: #fff; border-color: var(--line); color: var(--text); }
.model-row:hover { background: #fafaff; border-color: #d8d2ff; }
.model-row.selected { border-color: #9b8fff; background: #f3f0ff; box-shadow: inset 0 0 0 1px rgb(102 84 238 / 10%); }
.primary { background: linear-gradient(135deg, var(--accent), var(--accent-strong)); box-shadow: 0 7px 16px rgb(102 84 238 / 20%); }
.secondary { background: #fff; border-color: var(--line); }
.secondary:hover { background: #f8f7ff; border-color: #d6cffd; color: var(--accent); }
.asset-selection { background: #fafaff; border-color: #dcd9eb; }
.asset-chip { background: #f7f7fb; }

.production-workspace-switch, .production-flow-guide { background: #fff; border-color: var(--line); }
.production-workspace-switch button:hover { background: #faf9ff; }
.production-workspace-switch button.active { background: #f0edff; color: var(--accent); box-shadow: inset 0 -2px var(--accent); }
.readiness-meter { border-color: #ded8ff; background: linear-gradient(135deg, #f1eeff, #fbfaff); }
.production-flow-meter, .workflow-run-meter { background: #eceef5; }
.production-flow-guide { border-left-color: var(--accent); }

.v4-studio, .v5-editor { background: transparent; color: var(--text); border-color: var(--line); }
.v4-stage-nav button:hover, .v5-stage.running { background: #f6f4ff; }
.v4-stage-nav button.active { background: #f0edff; box-shadow: inset 0 -2px var(--accent); }
.v5-stage-strip, .v5-shot-bin, .v5-inspector, .v5-player-toolbar, .v5-timeline-wrap { background: #fff; }
.v5-canvas-area { background: #f7f8fc; }
.v5-player, .v5-player video { background: #eceef4; }
.v5-shot:hover, .v5-shot.active { background: #f3f0ff; border-color: #cfc7ff; }
.v5-shot-index { background: #eeeaff; color: var(--accent); }
.v5-clip { background: #f7f6ff; border-color: #ddd8f5; color: var(--text); }
.v5-clip.active { background: #eeeaff; border-color: var(--accent); }
.v5-take, .v5-segmented button, .v5-render-job { background: #fff; }

.workflow-canvas { background: #fff; color: var(--text); border-color: var(--line); }
body.workflow-focus #workflow-canvas { background: #f7f8fc; }
body.workflow-focus #workflow-canvas-fullscreen { color: var(--accent); background: #eeeaff; }
.workflow-canvas-dock { border-color: #ddd9ec; background: rgb(255 255 255 / 96%); box-shadow: 0 12px 30px rgb(42 49 80 / 13%); }
.workflow-canvas-dock button { color: #747b90; }
.workflow-canvas-dock button:hover, .workflow-canvas-dock button.active { background: #eeeaff; color: var(--accent); }
.workflow-canvas-dock span { background: #e1e2eb; }
.workflow-run-strip, .workflow-canvas-shell { background: #fff; border-color: var(--line); }
.workflow-run-strip { border-left-color: var(--accent); }
.workflow-palette, .workflow-inspector { background: #fff; }
.workflow-palette, .workflow-inspector, .workflow-pane-head, .workflow-palette-tools, .workflow-library-shortcuts { border-color: var(--line); }
.workflow-palette-item:hover { background: #f8f7ff; border-color: #dcd6f4; }
.workflow-palette-index { background: #eeeaff; color: var(--accent); }
.workflow-stage { background: #fafaff; }
.workflow-world, .workflow-world.grid-off { background-color: #fafaff; }
.workflow-world { background-image: radial-gradient(#d9d4f2 1px, transparent 1px); background-size: 16px 16px; }
.workflow-world.grid-off { background-image: none; }
.workflow-stage-toolbar { border-color: #deddea; background: #fff; box-shadow: 0 7px 18px rgb(42 49 80 / 9%); }
.workflow-stage-toolbar button:hover, .workflow-stage-toolbar button.active { background: #f0edff; color: var(--accent); }
.workflow-edge { stroke: #b4b8c8; }
.workflow-edge.active { stroke: var(--accent); }
.workflow-node { background: #fff; border-color: #dadce7; box-shadow: 0 7px 18px rgb(42 49 80 / 9%); }
.workflow-node.selected { border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent), 0 10px 24px rgb(102 84 238 / 15%); }
.workflow-node.running { background: #f5f3ff; }
.workflow-node-head, .workflow-node-foot { border-color: #ececf3; }
.workflow-node-body p, .workflow-node-status, .workflow-node-foot { color: #7c8294; }
.workflow-node-chips span { border-color: #e2e1ea; color: #716b98; background: #faf9ff; }
.workflow-node-meter { background: #ececf3; }
.workflow-node-meter span { background: var(--accent); }
.workflow-handle { border-color: #9e9aaa; background: #fff; }
.workflow-handle:hover { border-color: var(--accent); background: #eeeaff; }
.workflow-edge-draft { stroke: var(--accent); }
.workflow-minimap { border-color: #dbd9e8; background: #fff; }
.workflow-minimap i { border-color: #bdb7e5; background: #eeeaff; }
.workflow-minimap span { border-color: var(--accent); background: rgb(102 84 238 / 8%); }
.workflow-storyboard-panel, .workflow-library-panel, .workflow-agent-panel { background: #fff; border-color: var(--line); }
.workflow-library-item, .workflow-template-card, .workflow-shot { background: #fff; border-color: var(--line); color: var(--text); }
.workflow-library-item.selected { border-color: var(--accent); background: #f2efff; }
.workflow-output pre, .workflow-output-row, .workflow-preview { background: #fafaff; border-color: var(--line); color: var(--soft); }

#workflow-canvas[data-canvas-style="infinite"] .workflow-canvas-shell { border-color: #d9dfdc; background: #f8faf9; }
#workflow-canvas[data-canvas-style="infinite"] .workflow-palette,
#workflow-canvas[data-canvas-style="infinite"] .workflow-inspector { background: #f8faf9; }
#workflow-canvas[data-canvas-style="infinite"] .workflow-stage { background: #edf1ef; }
#workflow-canvas[data-canvas-style="infinite"] .workflow-world,
#workflow-canvas[data-canvas-style="infinite"] .workflow-world.grid-off { background-color: #edf1ef; }
#workflow-canvas[data-canvas-style="infinite"] .workflow-world { background-image: radial-gradient(#aeb9b4 1px, transparent 1px); background-size: 24px 24px; }
#workflow-canvas[data-canvas-style="infinite"] .workflow-world.grid-off { background-image: none; }
#workflow-canvas[data-canvas-style="infinite"] .workflow-stage-toolbar { border-color: #ccd5d1; background: rgb(255 255 255 / 96%); box-shadow: 0 8px 24px rgb(37 52 45 / 13%); }
#workflow-canvas[data-canvas-style="infinite"] .workflow-stage-toolbar button:hover,
#workflow-canvas[data-canvas-style="infinite"] .workflow-stage-toolbar button.active { background: #e7eeea; color: #245b4b; }
#workflow-canvas[data-canvas-style="infinite"] .workflow-edge { stroke: #7e8c86; stroke-width: 1.5; }
#workflow-canvas[data-canvas-style="infinite"] .workflow-edge.active { stroke: #277866; stroke-width: 2; }
#workflow-canvas[data-canvas-style="infinite"] .workflow-node { border-color: #cbd4d0; background: #fff; box-shadow: 0 5px 16px rgb(37 52 45 / 10%); }
#workflow-canvas[data-canvas-style="infinite"] .workflow-node[data-group="plan"] { border-left-color: #4f7dc8; }
#workflow-canvas[data-canvas-style="infinite"] .workflow-node[data-group="review"] { border-left-color: #c79735; }
#workflow-canvas[data-canvas-style="infinite"] .workflow-node[data-group="generate"] { border-left-color: #bd5e82; }
#workflow-canvas[data-canvas-style="infinite"] .workflow-node[data-group="deliver"] { border-left-color: #3f9271; }
#workflow-canvas[data-canvas-style="infinite"] .workflow-node.selected { border-color: #277866; box-shadow: 0 0 0 1px #277866, 0 8px 22px rgb(39 120 102 / 15%); }
#workflow-canvas[data-canvas-style="infinite"] .workflow-node.running { background: #f2f8f5; }
#workflow-canvas[data-canvas-style="infinite"] .workflow-node-head,
#workflow-canvas[data-canvas-style="infinite"] .workflow-node-foot { border-color: #e7ece9; }
#workflow-canvas[data-canvas-style="infinite"] .workflow-node-title span { background: #e8eeeb; color: #476158; }
#workflow-canvas[data-canvas-style="infinite"] .workflow-node-chips span { border-color: #d9e2de; background: #f5f8f6; color: #527066; }
#workflow-canvas[data-canvas-style="infinite"] .workflow-node-meter { background: #e2e9e5; }
#workflow-canvas[data-canvas-style="infinite"] .workflow-node-meter span { background: #277866; }
#workflow-canvas[data-canvas-style="infinite"] .workflow-handle { border-color: #82928b; background: #fff; }
#workflow-canvas[data-canvas-style="infinite"] .workflow-handle:hover { border-color: #277866; background: #dcebe5; }
#workflow-canvas[data-canvas-style="infinite"] .workflow-minimap { border-color: #ccd5d1; background: #f9fbfa; }
#workflow-canvas[data-canvas-style="infinite"] .workflow-minimap i { border-color: #879991; background: #dce8e3; }
#workflow-canvas[data-canvas-style="infinite"] .workflow-minimap span { border-color: #277866; background: rgb(39 120 102 / 8%); }

/* Fullscreen canvas retains a few high-specificity dark controls from its base stylesheet. */
body.workflow-focus .workflow-canvas-dock { border-color: #ddd9ec; background: rgb(255 255 255 / 96%); box-shadow: 0 12px 30px rgb(42 49 80 / 13%); }
body.workflow-focus .workflow-canvas-dock button { color: #747b90; }
body.workflow-focus .workflow-canvas-dock button:hover,
body.workflow-focus .workflow-canvas-dock button.active { background: #eeeaff; color: var(--accent); }
body.workflow-focus .workflow-canvas-dock span { background: #e1e2eb; }
body.workflow-focus .workflow-library-shortcuts button,
body.workflow-focus .workflow-palette-tools button { background: #fff; border-color: var(--line); color: var(--soft); }
body.workflow-focus .workflow-library-shortcuts button:hover,
body.workflow-focus .workflow-palette-tools button:hover { background: #f3f0ff; border-color: #cec7fa; color: var(--accent); }
