/* Light-theme component roles. No dark rules are changed by this layer. */
:root[data-theme="light"] { color-scheme: light; }
:root[data-theme="light"] ::selection { background: var(--light-selected); color: var(--light-text-primary); }
:root[data-theme="light"] :is(input, textarea) { caret-color: var(--light-accent-ink); }
:root[data-theme="light"] :is(input, textarea)::placeholder { color: var(--light-text-muted); opacity: 1; }
:root[data-theme="light"] :is(button, a, input, select, textarea, [tabindex]):focus-visible {
    outline: 2px solid var(--light-accent-ink);
    outline-offset: 3px;
}
:root[data-theme="light"] :is(input, select, textarea):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]) {
    color: var(--light-text-primary);
    border-color: var(--light-control-border);
}
:root[data-theme="light"] :is(select, option) { background-color: var(--light-surface); }
:root[data-theme="light"] :is(input[type="checkbox"], input[type="radio"]) { border-color: var(--light-control-border); color: var(--light-accent-ink); }
:root[data-theme="light"] :is(button:disabled, input:disabled, select:disabled, textarea:disabled, [aria-disabled="true"]) {
    color: var(--light-text-muted);
    background-color: var(--light-nested);
    border-color: var(--light-border);
    box-shadow: none;
    opacity: 1;
}
:root[data-theme="light"] :is(.dashboard-page, .credentials-theme-page, .dashboard-command-theme) {
    --dp-bg-0: rgb(var(--surface-rgb));
    --dp-bg-1: var(--light-surface);
    --dp-bg-2: var(--light-surface);
    --dp-border: var(--light-border);
    --dp-border-surface: var(--light-border);
    --dp-border-top: var(--light-border);
    --dp-border-strong: var(--light-control-border);
    --dp-text-1: var(--light-text-primary);
    --dp-text-2: var(--light-text-secondary);
    --dp-text-3: var(--light-text-muted);
    --dp-text-4: var(--light-text-muted);
    --dp-shadow-1: var(--light-shadow);
    --dp-shadow-2: var(--light-shadow);
    --dp-surface-gradient-card: linear-gradient(transparent, transparent);
    --dp-surface-gradient-panel: linear-gradient(transparent, transparent);
}
:root[data-theme="light"] :is(.dashboard-surface, .dashboard-card, .dashboard-panel, .dashboard-sidebar, .kpi-tab, .victim-card) {
    background: var(--light-surface);
    border-color: var(--light-border);
    box-shadow: var(--light-shadow);
    backdrop-filter: none;
}
:root[data-theme="light"] :is(.dashboard-card:hover, .dashboard-panel:hover, .kpi-tab:hover, .victim-card:hover) {
    background: var(--light-surface);
    border-color: var(--light-selected-border);
    box-shadow: var(--light-shadow);
}
:root[data-theme="light"] :is(.kpi-tab.active, .victim-card.active, .victim-card.selected) {
    background: var(--light-selected);
    border-color: var(--light-selected-border);
    box-shadow: inset 0 2px 0 rgb(var(--accent-rgb) / .65);
}
:root[data-theme="light"] :is(.dashboard-sidebar-item.active, .intel-surface-tab.is-active) {
    color: var(--light-accent-ink);
    background: var(--light-selected);
    box-shadow: none;
}
:root[data-theme="light"] .dashboard-sidebar-item:hover { background: var(--light-hover); }
:root[data-theme="light"] :is(.dashboard-modal-shell, .dashboard-modal-shell-wide, .dashboard-modal-shell-xl, .treemap-tooltip, .choropleth-tooltip) {
    background: var(--light-surface);
    color: var(--light-text-primary);
    border-color: var(--light-border);
    box-shadow: var(--light-shadow-overlay);
}
:root[data-theme="light"] :is(.dashboard-modal-backdrop, .mobile-menu-overlay) { background: var(--light-overlay); }
:root[data-theme="light"] :is(.category-search-input-shell, .dashboard-research-bar) {
    background: var(--light-surface) !important;
    border-color: var(--light-control-border) !important;
    box-shadow: var(--light-shadow);
}
:root[data-theme="light"] :is(.category-search-input-shell, .dashboard-research-bar):focus-within {
    outline: 2px solid var(--light-accent-ink);
    outline-offset: 3px;
}
:root[data-theme="light"] :is(.category-stat-card, .category-filter-panel, .category-filter-toggle, .category-filter-item, .category-page-chip, .dashboard-research-select) {
    background: var(--light-nested) !important;
    border-color: var(--light-border) !important;
    color: var(--light-text-secondary);
}
:root[data-theme="light"] :is(.category-filter-toggle:hover, .category-filter-item:hover) { background: var(--light-hover) !important; }
:root[data-theme="light"] .category-stat-card [data-card-value] p:first-child { color: var(--light-text-muted) !important; }
:root[data-theme="light"] :is(.dashboard-data-table thead th, .dashboard-data-table .data-row:nth-child(even)) { background: var(--light-nested); }
:root[data-theme="light"] .dashboard-data-table .data-row:hover { background: var(--light-hover); }
:root[data-theme="light"] :is(.dashboard-data-table td, .dashboard-data-table th) { border-color: var(--light-border) !important; }
:root[data-theme="light"] .dashboard-research-input { background: var(--light-surface) !important; border-color: var(--light-control-border) !important; }
:root[data-theme="light"] :is(.treemap-label, .treemap-value, .treemap-count, .treemap-sub) { color: var(--light-text-primary); text-shadow: none; }
:root[data-theme="light"] .treemap-cell { opacity: 1 !important; box-shadow: inset 0 0 0 1px rgb(var(--data-ink-rgb) / .18); }
:root[data-theme="light"] .treemap-cell:hover { filter: brightness(.97); }
:root[data-theme="light"] .treemap-cell--remaining { background: var(--light-nested) !important; border-color: var(--light-control-border); }
:root[data-theme="light"] :is(.nav-link.active, .soft-glow-primary, .soft-glow-cyan, .stat-growth) { text-shadow: none; }
:root[data-theme="light"] .stat-growth { color: var(--light-positive); opacity: 1; }
:root[data-theme="light"] .vp-shadow-panel,
:root[data-theme="light"] .vp-shadow-panel-strong,
:root[data-theme="light"] .vp-shadow-panel-tall { box-shadow: var(--light-shadow); }
:root[data-theme="light"] .live-log-fade { background: linear-gradient(to bottom, rgb(var(--surface-rgb) / .9), transparent 12%, transparent 88%, rgb(var(--surface-rgb) / .9)); }
:root[data-theme="light"] .shimmer-text { color: rgb(var(--accent-rgb)); }

/* Standalone operational areas share the same color hierarchy. */
:root[data-theme="light"] {
    --admin-bg: rgb(var(--surface-rgb));
    --admin-surface: var(--light-surface);
    --admin-surface-solid: var(--light-surface);
    --admin-surface-hover: var(--light-hover);
    --admin-border: var(--light-border);
    --admin-text-primary: var(--light-text-primary);
    --admin-text-secondary: var(--light-text-secondary);
    --admin-primary: var(--light-accent-ink);
    --admin-primary-hover: var(--light-accent-ink);
    --admin-success: var(--light-positive);
    --admin-warning: var(--light-warning);
    --admin-error: var(--light-negative);
    --admin-info: var(--light-data-ink);
    --ai-bg-0: rgb(var(--surface-rgb));
    --ai-bg-1: var(--light-surface);
    --ai-bg-2: var(--light-nested);
    --ai-fg: var(--light-text-primary);
    --ai-fg-soft: var(--light-text-secondary);
    --ai-fg-muted: var(--light-text-muted);
    --ai-fg-faint: var(--light-text-muted);
    --ai-accent: var(--light-accent-ink);
    --ai-accent-glow: transparent;
    --ai-accent-glow-strong: transparent;
    --ai-live: var(--light-data-ink);
    --ai-live-glow: transparent;
    --ai-danger: var(--light-negative);
    --ai-success: var(--light-positive);
    --ai-glass-bg: var(--light-surface);
    --ai-glass-bg-deep: var(--light-nested);
    --ai-glass-border: var(--light-border);
    --ai-glass-highlight: var(--light-border);
    --ai-glass-blur: none;
    --ai-shadow-1: var(--light-shadow);
    --ai-shadow-2: var(--light-shadow-overlay);
    --ai-surface-gradient-card: linear-gradient(transparent, transparent);
    --ai-surface-gradient-panel: linear-gradient(transparent, transparent);
    --ai-hover-fill: var(--light-hover);
    --ai-event-human: var(--light-text-primary);
    --ai-event-agent: var(--light-data-ink);
    --ai-event-tool: var(--light-data-ink);
    --ai-event-evidence: var(--light-positive);
    --ai-event-hypothesis: var(--light-warning);
    --ai-event-contradiction: var(--light-negative);
    --ai-event-signoff: var(--light-warning);
}
:root[data-theme="light"] .category-command-title .text-primary-glow { color: rgb(var(--accent-rgb)); }
:root[data-theme="light"] :is(.category-stat-card [data-card-skeleton] > *, .dashboard-skeleton-line, .dashboard-skeleton-kpi) { background: var(--light-border); }
:root[data-theme="light"] :is(.graph-legend, .graph-filter-panel, .graph-toolbar, .graph-action-panel, .graph-hover-card, .graph-context-menu) { box-shadow: var(--light-shadow-overlay); }
:root[data-theme="light"] :is(#stealerTotalShare) { color: var(--light-text-primary); }
:root[data-theme="light"] :is(#stealerCenterLabel) { color: var(--light-text-muted); }
:root[data-theme="light"] .pw-hygiene-label { opacity: 1 !important; }
:root[data-theme="light"] .dashboard-sidebar[data-mini-variant="true"] .dashboard-sidebar-item:hover { color: var(--light-accent-ink); }
:root[data-theme="light"] .kpi-tab[data-disabled="true"] { opacity: 1; background: var(--light-nested); box-shadow: none; }
:root[data-theme="light"] .kpi-tab[data-disabled="true"] > * { color: var(--light-text-muted); opacity: 1; }
:root[data-theme="light"] :is(#resolved-filter, #unresolved-filter).opacity-40 { opacity: 1; color: var(--light-text-muted); }
:root[data-theme="light"] .cta-section-gradient { background: var(--light-nested); }
:root[data-theme="light"] .graph-canvas-wrapper { background: rgb(var(--slate-fill-rgb)); border-color: var(--light-border); box-shadow: var(--light-shadow); }
:root[data-theme="light"] .graph-canvas-wrapper::after { background: none; }
:root[data-theme="light"] .graph-canvas-wrapper::before { opacity: .35; }
:root[data-theme="light"] .fb-page { background-image: none; }
:root[data-theme="light"] :is(.fb-search-wrap, .fb-stats, .fb-results, .fb-load-wrap) { box-shadow: var(--light-shadow); }
:root[data-theme="light"] #category-file-preview-modal [data-modal-backdrop] { background: var(--light-overlay); }
:root[data-theme="light"] .category-file-preview-shell { background: var(--light-surface); box-shadow: var(--light-shadow-overlay); }
:root[data-theme="light"] .enterprise-panel.shadow-2xl { box-shadow: var(--light-shadow); }
/* Supporting case information stays subordinate through color, without
   compounding the opacity of an entire row and its nested labels. */
:root[data-theme="light"] :is(.ai-holding.is-empty .ai-holding-n, .ai-orch-kind, .ai-station-kind, .ai-dim, .ai-beat-time, .ai-queue-stat[data-empty], .ai-queue-row[data-tier="rest"], .ai-queue-identity.is-unresolved, .ai-queue-metric.is-zero, .ai-station[data-status="stopped"], .ai-hyp-row[data-status="refuted"]) { opacity: 1; }
