/* Spectrum: dark glass panels, purple accents, soft glow. */

html[data-theme="spectrum"] {
    color-scheme: dark;
    --navy: #0b0b12;
    --navy-dark: #05050a;
    --navy-mid: #1a1730;
    --accent: #7c5cff;
    --accent-hover: #8f74ff;
    --record: #7c5cff;
    --record-hover: #8f74ff;
    --record-active: #f43f5e;
    --record-active-hover: #e11d48;
    --danger: #f43f5e;
    --danger-hover: #e11d48;
    --surface: #0b0b12;
    --panel: rgba(18, 18, 28, 0.88);
    --border: rgba(255, 255, 255, 0.08);
    --text: #eceaf6;
    --muted: #9b97b0;
    --card-radius: 24px;
    --shadow: 0 18px 40px rgba(0, 0, 0, 0.45);
    --btn-ink: #ffffff;
    --field-bg: rgba(8, 8, 16, 0.85);
    --field-border: rgba(255, 255, 255, 0.38);
}

html[data-theme="spectrum"] body,
html[data-theme="spectrum"] .app-page,
html[data-theme="spectrum"] .login-page {
    background:
        radial-gradient(900px 520px at 12% -8%, rgba(124, 92, 255, 0.22), transparent 52%),
        radial-gradient(720px 420px at 92% 108%, rgba(236, 72, 153, 0.12), transparent 46%),
        var(--surface);
    color: var(--text);
}

html[data-theme="spectrum"] .app-shell {
    background: transparent;
}

html[data-theme="spectrum"] .app-menubar,
html[data-theme="spectrum"] .tab-widget,
html[data-theme="spectrum"] .report-table-wrap,
html[data-theme="spectrum"] .setup-panel,
html[data-theme="spectrum"] .setup-account,
html[data-theme="spectrum"] .setup-add,
html[data-theme="spectrum"] .setup-appearance,
html[data-theme="spectrum"] .automate-list,
html[data-theme="spectrum"] .automate-editor,
html[data-theme="spectrum"] .record-banner,
html[data-theme="spectrum"] .app-actionbar,
html[data-theme="spectrum"] .dock-prompt {
    background: var(--panel);
    border: 1px solid var(--border);
    box-shadow: var(--shadow);
    backdrop-filter: blur(18px);
}

html[data-theme="spectrum"] .app-menubar {
    color: var(--text);
}

html[data-theme="spectrum"] .app-menubar h1,
html[data-theme="spectrum"] .user-name,
html[data-theme="spectrum"] .recording-status {
    color: var(--text);
}

html[data-theme="spectrum"] .brand-mark {
    background:
        radial-gradient(circle at 30% 30%, #f472b6 0 22%, transparent 24%),
        radial-gradient(circle at 70% 40%, #60a5fa 0 24%, transparent 26%),
        radial-gradient(circle at 48% 72%, #fbbf24 0 22%, transparent 24%),
        #1a1730;
}

html[data-theme="spectrum"] .logout-btn,
html[data-theme="spectrum"] .fullscreen-btn,
html[data-theme="spectrum"] .menu-toggle,
html[data-theme="spectrum"] .telemetry {
    background: rgba(255, 255, 255, 0.04);
    color: var(--text);
    border: 1px solid var(--border);
}

html[data-theme="spectrum"] .logout-btn:hover,
html[data-theme="spectrum"] .fullscreen-btn:hover,
html[data-theme="spectrum"] .menu-toggle:hover,
html[data-theme="spectrum"] .menu-toggle[aria-expanded="true"] {
    background: rgba(124, 92, 255, 0.22);
    border-color: var(--accent);
    color: #fff;
}

html[data-theme="spectrum"] .menu-toggle-bars,
html[data-theme="spectrum"] .menu-toggle-bars::before,
html[data-theme="spectrum"] .menu-toggle-bars::after {
    background: #eceaf6;
}

html[data-theme="spectrum"] .app-menu-list {
    background: #12121c;
    border: 1px solid var(--border);
}

html[data-theme="spectrum"] .app-menu-item {
    color: var(--text);
}

html[data-theme="spectrum"] .app-menu-item:hover {
    background: rgba(124, 92, 255, 0.14);
}

html[data-theme="spectrum"] .app-menu-item.is-active {
    background: var(--accent);
    color: #fff;
}

html[data-theme="spectrum"] .tab-panels,
html[data-theme="spectrum"] .tab-panel {
    background: transparent;
}

html[data-theme="spectrum"] .tab-bar {
    background: transparent;
    border-bottom-color: var(--border);
}

html[data-theme="spectrum"] .tab-btn {
    color: var(--muted);
}

html[data-theme="spectrum"] .tab-btn:hover {
    color: var(--text);
    background: transparent;
}

html[data-theme="spectrum"] .tab-btn.is-active {
    color: var(--text);
    background: var(--panel);
    border-color: var(--field-border);
    border-bottom-color: var(--panel);
}

html[data-theme="spectrum"] .report-table thead th {
    background: transparent;
    color: var(--muted);
}

html[data-theme="spectrum"] .report-table tbody tr:nth-child(even) {
    background: rgba(255, 255, 255, 0.02);
}

html[data-theme="spectrum"] .report-table tbody tr:hover,
html[data-theme="spectrum"] .report-table tbody tr:focus-visible {
    background: rgba(124, 92, 255, 0.12);
}

html[data-theme="spectrum"] .report-table td,
html[data-theme="spectrum"] .report-table th {
    color: var(--text);
    border-color: var(--border);
}

html[data-theme="spectrum"] .tab-panel .text-box,
html[data-theme="spectrum"] input,
html[data-theme="spectrum"] select,
html[data-theme="spectrum"] textarea,
html[data-theme="spectrum"] .setup-add input,
html[data-theme="spectrum"] .setup-add select,
html[data-theme="spectrum"] .setup-password input,
html[data-theme="spectrum"] .setup-role-select,
html[data-theme="spectrum"] .group-field input,
html[data-theme="spectrum"] .pw-field input {
    background: var(--field-bg) !important;
    color: var(--text) !important;
    border: 2px solid var(--field-border) !important;
}

html[data-theme="spectrum"] .tab-panel .text-box:focus {
    border-color: var(--accent);
    box-shadow: 0 0 0 3px rgba(124, 92, 255, 0.35);
}

html[data-theme="spectrum"] .login-container {
    background: var(--panel) !important;
    border: 1px solid var(--border);
    color: var(--text);
}

html[data-theme="spectrum"] .login-container h1 {
    color: var(--text) !important;
}

html[data-theme="spectrum"] .login-subtitle,
html[data-theme="spectrum"] .group-hint,
html[data-theme="spectrum"] .login-note {
    color: var(--muted) !important;
}

html[data-theme="spectrum"] .login-note {
    background: rgba(255, 255, 255, 0.04) !important;
}

html[data-theme="spectrum"] .sso-btn {
    background: rgba(255, 255, 255, 0.04) !important;
    color: var(--text) !important;
    border: 1px solid var(--border) !important;
}

html[data-theme="spectrum"] .dock-prompt p,
html[data-theme="spectrum"] .dock-handoff p {
    color: var(--muted);
}

html[data-theme="spectrum"] .theme-card {
    background: rgba(255, 255, 255, 0.04);
    color: var(--text);
    border-color: var(--border);
}

html[data-theme="spectrum"] .theme-card.is-selected,
html[data-theme="spectrum"] .theme-card:has(input:checked) {
    border-color: var(--accent);
    box-shadow: 0 0 0 3px rgba(124, 92, 255, 0.35);
    background: rgba(124, 92, 255, 0.12);
}
