/* Shared semantic colors also feed legacy Tailwind utilities and dynamically rendered progress. */
:root {
  --tw-dark-900: 23 22 21;
  --tw-dark-800: 32 31 29;
  --tw-dark-700: 41 39 36;
  --tw-dark-600: 56 53 48;
  --tw-dark-500: 74 70 64;
  --tw-gray-100: 243 244 246;
  --tw-gray-200: 229 231 235;
  --tw-gray-300: 209 213 219;
  --tw-gray-400: 156 163 175;
  --tw-gray-500: 107 114 128;
  --tw-gray-600: 75 85 99;
  --progress-waiting: #64748b;
  --progress-running: #60a5fa;
  --progress-succeeded: #4ade80;
  --progress-incomplete: #fbbf24;
  --progress-failed: #f87171;
  --progress-processed: #94a3b8;
}
:root[data-theme="light"] {
  color-scheme: light;
  --bg: #f6f4f0;
  --panel: #ffffff;
  --panel-2: #f1eee9;
  --panel-3: #e9e4dc;
  --line: #d9d2c8;
  --line-soft: #e9e4dc;
  --ink: #28241f;
  --ink-2: #514a41;
  --muted: #6b6157;
  --faint: #6e645a;
  --accent: #a34f24;
  --accent-2: #b23e56;
  --good: #21714d;
  --warn: #8b5a13;
  --bad: #b23838;
  --info: #2b6497;
  --feedback-error-ink: #9f2929;
  --feedback-error-bg: #fff1f0;
  --feedback-error-border: #c76a6a;
  --feedback-success-ink: #1b6242;
  --feedback-success-bg: #edf8f1;
  --feedback-success-border: #629b7b;
  --feedback-warning-ink: #764b0d;
  --feedback-warning-bg: #fff6df;
  --feedback-warning-border: #aa8549;
  --feedback-info-ink: #265881;
  --feedback-info-bg: #edf5ff;
  --feedback-info-border: #7198bd;
  --tw-dark-900: 246 244 240;
  --tw-dark-800: 255 255 255;
  --tw-dark-700: 241 238 233;
  --tw-dark-600: 217 210 200;
  --tw-dark-500: 186 175 163;
  --tw-gray-100: 40 36 31;
  --tw-gray-200: 57 51 44;
  --tw-gray-300: 81 74 65;
  --tw-gray-400: 102 93 83;
  --tw-gray-500: 107 97 87;
  --tw-gray-600: 110 100 90;
  --progress-waiting: #526175;
  --progress-running: #2563a3;
  --progress-succeeded: #21714d;
  --progress-incomplete: #926000;
  --progress-failed: #b23838;
  --progress-processed: #596574;
}

/* Existing custom components retain their dark appearance; light overrides remove fixed dark fills. */
:root[data-theme="light"] .el-rail { background: #eeebe5; }
:root[data-theme="light"] :is(.el-topbar, .help-header) { background: rgba(246,244,240,.94); }
:root[data-theme="light"] .el-stat { background: linear-gradient(145deg,var(--panel),#f5f0e8); }
:root[data-theme="light"] :is(.el-member-card, .el-api-key-create, .el-api-key-empty, .el-task-meta > div, .el-access-repository, .el-access-empty) { background: var(--panel-2); }
:root[data-theme="light"] .el-settings-actions { background: var(--panel); }
:root[data-theme="light"] :is(.el-tenant-rule-editor, .el-rule-transfer-editor, .doc-content pre) { background: #f4f1eb; }
:root[data-theme="light"] .doc-content pre code { color: var(--ink-2); }
:root[data-theme="light"] :is(.doc-content tbody tr:nth-child(even), .el-member-row:hover) { background: rgba(81,74,65,.035); }
:root[data-theme="light"] :is(.el-switcher:hover, .el-btn:hover, .help-back:hover) { border-color: #ab9c8c; }
:root[data-theme="light"] :is(.el-switcher-mark, .el-avatar, .el-member-avatar) { color: #48291a; background: linear-gradient(135deg,#f0c3a2,#eeb5b5); }
:root[data-theme="light"] .el-btn.primary { background: linear-gradient(135deg,#a34f24,#b85e37); color: #fff; }
:root[data-theme="light"] .el-btn.danger { color: var(--bad); }
:root[data-theme="light"] .el-btn.danger:hover { color: #912525; }
:root[data-theme="light"] :is(.el-task-error, .el-failure-item p, .el-chunk-diagnostics > strong, .el-chunk-error) { color: var(--bad); }
:root[data-theme="light"] .el-tenant-options { background: var(--panel); border-color: var(--line); }
:root[data-theme="light"] .el-tenant-options a { color: var(--ink); }
:root[data-theme="light"] :is(.el-tenant-options a:hover, .el-tenant-options a[aria-current]) { background: var(--panel-2); color: var(--accent); }
:root[data-theme="light"] :is(.el-tenant-options small, .el-tenant-options p) { color: var(--muted); }
:root[data-theme="light"] .el-active-review:hover { background: var(--panel-2); border-color: #ab9c8c; }
:root[data-theme="light"] :is(.el-active-review-meta, .el-compact-muted, .el-compact-time, .el-compact-more) { color: var(--muted); }
:root[data-theme="light"] :is(.el-compact-phase, .el-compact-phase[data-phase="pending"], .el-compact-summary) { color: var(--ink-2); border-color: var(--line); }
:root[data-theme="light"] .el-compact-phase[data-phase="reviewing"] { color: var(--info); border-color: #a2bed6; }
:root[data-theme="light"] .el-compact-warning { color: var(--warn); }
:root[data-theme="light"] .el-compact-error { color: var(--bad); }
:root[data-theme="light"] .el-compact-bar { background: var(--line-soft); }
:root[data-theme="light"] .el-card { box-shadow: 0 5px 20px rgba(64,48,30,.035); }

/* Do not invert artwork, modal backdrops, primary-button labels, or syntax/code content. */
:root[data-theme="light"] .text-dark-900 { color: #171615; }
:root[data-theme="light"] :is(.text-brand, .text-brand-light) { color: var(--accent); }
:root[data-theme="light"] .hover\:text-brand-light:hover { color: #793816; }
:root[data-theme="light"] .bg-clip-text { background-image: linear-gradient(100deg,var(--accent),var(--accent-2)); }
:root[data-theme="light"] :is(.text-red-300, .text-red-400, .text-red-500) { color: var(--bad); }
:root[data-theme="light"] .hover\:text-red-300:hover { color: #912525; }
:root[data-theme="light"] :is(.text-green-300, .text-green-400, .text-green-500) { color: var(--good); }
:root[data-theme="light"] :is(.text-amber-200, .text-amber-300, .text-amber-400, [class~="text-amber-400/80"], .text-yellow-400) { color: var(--warn); }
:root[data-theme="light"] :is(.hover\:text-amber-300:hover, .focus\:text-amber-300:focus) { color: var(--warn); }
:root[data-theme="light"] .text-orange-400 { color: #a34f24; }
:root[data-theme="light"] :is(.text-blue-300, .text-blue-400, .text-cyan-300, .hover\:text-cyan-300:hover, .focus\:text-cyan-300:focus) { color: var(--info); }
:root[data-theme="light"] :is(.text-purple-300, .text-purple-400) { color: #754397; }
:root[data-theme="light"] :is([class~="bg-red-900/30"], [class~="bg-red-900/40"], [class~="bg-red-900/50"]) { background-color: rgba(178,56,56,.08); }
:root[data-theme="light"] :is([class~="bg-green-900/40"], [class~="bg-green-900/50"]) { background-color: rgba(33,113,77,.08); }
:root[data-theme="light"] :is([class~="bg-orange-900/30"], [class~="bg-yellow-900/50"]) { background-color: rgba(139,90,19,.08); }
:root[data-theme="light"] .border-red-800 { border-color: rgba(178,56,56,.3); }
:root[data-theme="light"] .border-green-800 { border-color: rgba(33,113,77,.3); }
:root[data-theme="light"] :is(.border-orange-800, .border-yellow-800) { border-color: rgba(139,90,19,.3); }

/* Finding evidence uses the same semantic status colors as the rest of the console. */
:root[data-theme="light"] .el-finding[open] { border-color: #b9a893; }
:root[data-theme="light"] .el-finding-severity[data-level="P0"] { color: var(--bad); }
:root[data-theme="light"] .el-finding-severity[data-level="P1"] { color: var(--warn); }
:root[data-theme="light"] .el-finding-severity[data-level="P2"] { color: var(--info); }
:root[data-theme="light"] .el-finding-before h4 { color: var(--bad); }
:root[data-theme="light"] .el-finding-after h4 { color: var(--good); }

.el-appearance { max-width: 980px; }
.el-theme-options { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; padding: 0; border: 0; margin: 0; min-width: 0; }
.el-theme-option { position: relative; min-width: 0; padding: 12px; background: var(--panel); border: 1px solid var(--line); border-radius: 10px; cursor: pointer; }
.el-theme-option:hover { border-color: var(--accent); }
.el-theme-option:has(input:checked) { border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent); }
.el-theme-option:has(input:focus-visible) { outline: 2px solid var(--accent); outline-offset: 4px; }
.el-theme-option input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.el-theme-options:disabled .el-theme-option { opacity: .55; cursor: wait; }
.el-theme-preview { display: flex; height: 122px; overflow: hidden; border: 1px solid rgba(120,105,90,.25); border-radius: 6px; }
.el-theme-preview > i { width: 24%; border-right: 1px solid rgba(120,105,90,.25); }
.el-theme-preview > span { flex: 1; display: flex; flex-wrap: wrap; align-content: center; gap: 9px; padding: 14px; }
.el-theme-preview b { display: block; flex: 0 0 65%; height: 7px; margin: 0 35% 4px 0; border-radius: 3px; }
.el-theme-preview em { display: block; flex: 1; height: 42px; border: 1px solid rgba(120,105,90,.25); border-radius: 4px; }
.el-theme-preview.light { background: #f6f4f0; }
.el-theme-preview.light > i { background: #eeebe5; }
.el-theme-preview.light b { background: #9c8a77; }
.el-theme-preview.light em { background: #fff; }
.el-theme-preview.dark { background: #171615; }
.el-theme-preview.dark > i { background: #24211e; }
.el-theme-preview.dark b { background: #94816d; }
.el-theme-preview.dark em { background: #302b26; }
.el-theme-preview.system { background: linear-gradient(110deg,#f6f4f0 50%,#171615 50%); }
.el-theme-preview.system > i { background: #eeebe5; }
.el-theme-preview.system b { background: #a28b74; }
.el-theme-preview.system em:first-of-type { background: #fff; }
.el-theme-preview.system em:last-of-type { background: #302b26; }
.el-theme-option-label { display: block; padding: 14px 25px 2px 1px; }
.el-theme-option-label strong { display: block; color: var(--ink); font-size: 13px; font-weight: 600; }
.el-theme-option-label > span { display: block; margin-top: 5px; color: var(--muted); font-size: 11px; line-height: 1.6; }
.el-theme-check { position: absolute; right: 13px; bottom: 33px; visibility: hidden; color: var(--accent); font-weight: 700; }
.el-theme-option:has(input:checked) .el-theme-check { visibility: visible; }
.el-theme-status { margin: 20px 0 0; color: var(--ink-2); font-size: 12px; }
.el-theme-note { margin: 8px 0 0; color: var(--muted); font-size: 11px; line-height: 1.75; }
.el-theme-sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 760px) {
  .el-theme-options { grid-template-columns: 1fr; gap: 12px; }
  .el-theme-option { display: flex; align-items: center; gap: 16px; }
  .el-theme-preview { flex: 0 0 115px; height: 78px; }
  .el-theme-preview > span { gap: 5px; padding: 8px; }
  .el-theme-preview em { height: 24px; }
  .el-theme-option-label { padding: 0 16px 0 0; }
  .el-theme-check { bottom: auto; top: 14px; right: 12px; }
}
