/* Assay Workflow Dashboard - Theme Variables */

/*
 * Color palette mirrors the assay.rs marketing site (site/static/style.css).
 * The brand accent — `#e6662a` orange — is the same in both light and dark
 * themes so the dashboard reads as part of the same product, not a separate
 * tool. Surface/text/border tokens mirror site values; status colors
 * (green/red/yellow) are dashboard-specific and intentionally semantic.
 */

:root,
[data-theme="dark"] {
  --bg: #0d1117;
  --surface: #161b22;
  --surface-hover: #1c2129;
  --border: #30363d;
  --text: #c9d1d9;
  --text-muted: #8b949e;
  --accent: #e6662a;
  --accent-hover: #ff7a3d;
  --green: #3fb950;
  --red: #f85149;
  --yellow: #d29922;
  --orange: #db6d28;
  --shadow: rgba(0, 0, 0, 0.4);
  --code-bg: #161b22;
}

[data-theme="light"] {
  --bg: #ffffff;
  --surface: #f6f8fa;
  --surface-hover: #eef1f4;
  --border: #d0d7de;
  --text: #24292f;
  --text-muted: #57606a;
  --accent: #e6662a;
  --accent-hover: #ff7a3d;
  --green: #1a7f37;
  --red: #cf222e;
  --yellow: #9a6700;
  --orange: #bc4c00;
  --shadow: rgba(0, 0, 0, 0.12);
  --code-bg: #f6f8fa;
}

@media (prefers-color-scheme: light) {
  :root:not([data-theme="dark"]) {
    --bg: #ffffff;
    --surface: #f6f8fa;
    --surface-hover: #eef1f4;
    --border: #d0d7de;
    --text: #24292f;
    --text-muted: #57606a;
    --accent: #e6662a;
    --accent-hover: #ff7a3d;
    --green: #1a7f37;
    --red: #cf222e;
    --yellow: #9a6700;
    --orange: #bc4c00;
    --shadow: rgba(0, 0, 0, 0.12);
    --code-bg: #f6f8fa;
  }
}

/* Theme toggle icon visibility */
[data-theme="dark"] .icon-sun { display: inline; }
[data-theme="dark"] .icon-moon { display: none; }
[data-theme="light"] .icon-sun { display: none; }
[data-theme="light"] .icon-moon { display: inline; }

/* Smooth transition on theme switch */
html {
  transition: background-color 0.2s ease, color 0.2s ease;
}

body, .sidebar, .main-content, .status-bar, .detail-panel,
.data-table, .card, .form-input, .form-select, .btn {
  transition: background-color 0.2s ease, color 0.2s ease,
              border-color 0.2s ease;
}
