html[data-theme] {
    --ink: var(--text-primary);
    --muted: var(--text-muted);
    --line: var(--border-default);
    --paper: var(--page-bg);
    --blue: var(--accent-secondary);
    --blue-dark: var(--accent-text);
    --blue-soft: var(--accent-soft);
    --coral: var(--status-danger);
    --shadow: var(--shadow-panel);
}

html[data-theme] .fm-dashboard-shell {
    --fm-bg: var(--page-bg);
    --fm-surface: var(--surface-raised);
    --fm-surface-strong: var(--surface-raised);
    --fm-surface-soft: var(--surface-card);
    --fm-border: var(--border-default);
    --fm-text: var(--text-primary);
    --fm-text-soft: var(--text-secondary);
    --fm-text-muted: var(--text-muted);
    --fm-blue: var(--accent-text);
    --fm-blue-soft: var(--accent-soft);
    --fm-green: var(--status-success);
    --fm-green-soft: var(--status-success-bg);
    --fm-red: var(--status-danger);
    --fm-red-soft: var(--status-danger-bg);
    --fm-orange: var(--status-warning);
    --fm-orange-soft: var(--status-warning-bg);
    --fm-shadow: var(--shadow-panel);
}

html[data-theme] .fm-all-customers-shell {
    --fm-bg-base: var(--page-bg);
    --fm-bg-deep: var(--page-bg);
    --fm-bg-panel: var(--surface-raised);
    --fm-bg-panel-strong: var(--surface-raised);
    --fm-card: var(--surface-card);
    --fm-card-strong: var(--surface-card);
    --fm-border: var(--border-default);
    --fm-border-strong: var(--border-strong);
    --fm-text: var(--text-primary);
    --fm-text-soft: var(--text-secondary);
    --fm-text-muted: var(--text-muted);
    --fm-cyan: var(--accent-primary);
    --fm-glow: var(--accent-soft);
    --fm-blue: var(--accent-secondary);
    --fm-blue-strong: var(--accent-text);
    --fm-status-green: var(--status-success);
    --fm-status-green-soft: var(--status-success-bg);
    --fm-status-text: var(--text-primary);
    --fm-shadow: var(--shadow-panel);
}

html[data-theme] .app-control-app {
    --app-bg: var(--page-bg);
    --app-surface: var(--surface-raised);
    --app-surface-alt: var(--surface-card);
    --app-line: var(--border-default);
    --app-text: var(--text-primary);
    --app-muted: var(--text-muted);
    --app-primary: var(--accent-primary);
    --app-primary-strong: var(--accent-text);
    --app-success: var(--status-success);
    --app-danger: var(--status-danger);
    --app-warning: var(--status-warning);
    --app-shadow: var(--shadow-panel);
    --app-ring: var(--focus-ring);
}

html[data-theme] body:has(.olt-main) {
    --olt-panel: var(--surface-raised);
    --olt-line: var(--border-default);
    --olt-blue: var(--accent-secondary);
    --olt-blue-soft: var(--accent-soft);
    --olt-green: var(--status-success);
    --olt-green-soft: var(--status-success-bg);
    --olt-red: var(--status-danger);
    --olt-red-soft: var(--status-danger-bg);
    --olt-yellow: var(--status-warning);
    --olt-yellow-soft: var(--status-warning-bg);
    --olt-purple: var(--accent-text);
    --olt-purple-soft: var(--accent-soft);
    --olt-slate: var(--text-secondary);
    --olt-slate-soft: var(--surface-hover);
}