/* Opus：管理后台沿用前台的靛紫晨昏气质，收敛为更克制的工作台密度。 */
:root[data-ui-theme="opus"] {
  --bg: #f4f4fa;
  --surface: #ffffff;
  --surface-soft: #f6f5fc;
  --text: #1d1b2e;
  --muted: #64607d;
  --line: #e3e1f1;
  --line-strong: #d3d0e6;
  --accent: #4c3fa8;
  --accent-strong: #362b80;
  --blue: #3c6ea8;
  --red: #c1526a;
  --amber: #b0781f;
  --shadow: 0 18px 46px rgba(38, 32, 78, 0.08);
  --radius: 14px;
  --theme-accent-fill: #4c3fa8;
  --theme-accent-on-fill: #ffffff;
  --opus-copper: #c4823c;
  --opus-veil: rgba(76, 63, 168, 0.07);
}

:root[data-ui-theme="opus"] body {
  background:
    radial-gradient(880px 400px at 100% -12%, rgba(76, 63, 168, 0.1), transparent 62%),
    radial-gradient(720px 380px at -6% 0%, rgba(196, 130, 60, 0.08), transparent 58%),
    var(--bg);
}

:root[data-ui-theme="opus"] h1,
:root[data-ui-theme="opus"] h2 {
  letter-spacing: -0.018em;
}

:root[data-ui-theme="opus"] ::selection {
  background: color-mix(in srgb, var(--accent) 24%, transparent);
  color: var(--text);
}

:root[data-ui-theme="opus"] button:focus-visible,
:root[data-ui-theme="opus"] a:focus-visible,
:root[data-ui-theme="opus"] input:focus-visible,
:root[data-ui-theme="opus"] select:focus-visible,
:root[data-ui-theme="opus"] textarea:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--accent) 40%, transparent);
  outline-offset: 2px;
}

:root[data-ui-theme="opus"] .sidebar {
  background: linear-gradient(180deg, color-mix(in srgb, var(--accent) 6%, var(--surface)), var(--surface) 62%);
  border-right-color: var(--line);
}

:root[data-ui-theme="opus"] .brand-mark {
  background: linear-gradient(150deg, #6a5ad4 0%, #3b2f92 68%);
  border: 1px solid color-mix(in srgb, var(--opus-copper) 34%, transparent);
  box-shadow: 0 12px 26px rgba(38, 32, 78, 0.22);
}

:root[data-ui-theme="opus"] .brand-mark-sun {
  background: var(--opus-copper);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--opus-copper) 18%, transparent);
}

:root[data-ui-theme="opus"] .brand-mark-gate {
  border-color: rgba(248, 246, 255, 0.9);
  border-radius: 16px 16px 3px 3px;
}

:root[data-ui-theme="opus"] .brand-mark-gate::before,
:root[data-ui-theme="opus"] .brand-mark-gate::after {
  background: rgba(248, 246, 255, 0.9);
}

:root[data-ui-theme="opus"] .eyebrow {
  color: var(--accent);
  letter-spacing: 0.12em;
}

:root[data-ui-theme="opus"] .nav-item.active,
:root[data-ui-theme="opus"] .nav-item:not(:disabled):hover {
  background: color-mix(in srgb, var(--accent) 11%, var(--surface));
  color: var(--accent-strong);
}

:root[data-ui-theme="opus"] .nav-icon {
  background: color-mix(in srgb, var(--accent) 9%, var(--surface));
}

:root[data-ui-theme="opus"] .nav-item.active .nav-icon {
  background: var(--theme-accent-fill);
  color: var(--theme-accent-on-fill);
  box-shadow: 0 6px 16px color-mix(in srgb, var(--theme-accent-fill) 30%, transparent);
}

:root[data-ui-theme="opus"] .panel,
:root[data-ui-theme="opus"] .metric-card,
:root[data-ui-theme="opus"] .admin-gate-card {
  border-color: color-mix(in srgb, var(--accent) 12%, transparent);
  box-shadow: 0 14px 36px var(--opus-veil);
}

:root[data-ui-theme="opus"] .primary-link {
  border-color: var(--theme-accent-fill);
  background: var(--theme-accent-fill);
  color: var(--theme-accent-on-fill);
  box-shadow: 0 10px 22px color-mix(in srgb, var(--theme-accent-fill) 24%, transparent);
}

:root[data-ui-theme="opus"] .row-state.ok,
:root[data-ui-theme="opus"] .module-row span.module-state.ok {
  background: color-mix(in srgb, var(--accent) 13%, var(--surface));
  color: var(--accent-strong);
}

:root[data-ui-theme="opus"] .state-dot.ok {
  background: var(--accent);
}

:root[data-ui-theme="opus"] .settings-toggle input {
  accent-color: var(--accent);
}

:root[data-ui-theme="opus"] .filter-chip.is-active {
  border-color: var(--theme-accent-fill);
  background: var(--theme-accent-fill);
  color: var(--theme-accent-on-fill);
}
