/* Shared ERP semantic theme tokens. Modules should consume these variables instead of palette-specific colors. */
:root,
html[data-erp-theme="green"] {
    --erp-primary-50: #ecfdf3;
    --erp-primary-100: #d1fadf;
    --erp-primary-200: #a6f4c5;
    --erp-primary-300: #6ce9a6;
    --erp-primary-500: #12b76a;
    --erp-primary-600: #039855;
    --erp-primary-700: #027a48;
    --erp-primary-800: #05603a;
    --erp-primary-900: #054f31;
    --erp-theme-gradient: radial-gradient(circle at 88% 12%, rgba(110, 231, 183, .28) 0, transparent 28%), radial-gradient(circle at 12% 115%, rgba(16, 185, 129, .24) 0, transparent 35%), linear-gradient(120deg, #033626 0%, #05603a 44%, #039855 100%);
}

html[data-erp-theme="blue"] {
    --erp-primary-50: #eff8ff;
    --erp-primary-100: #d1e9ff;
    --erp-primary-200: #b2ddff;
    --erp-primary-300: #84caff;
    --erp-primary-500: #2e90fa;
    --erp-primary-600: #1570ef;
    --erp-primary-700: #175cd3;
    --erp-primary-800: #1849a9;
    --erp-primary-900: #102a56;
    --erp-theme-gradient: radial-gradient(circle at 88% 12%, rgba(125, 211, 252, .30) 0, transparent 28%), radial-gradient(circle at 12% 115%, rgba(59, 130, 246, .25) 0, transparent 35%), linear-gradient(120deg, #0b2348 0%, #1849a9 46%, #1570ef 100%);
}

html[data-erp-theme="violet"] {
    --erp-primary-50: #f5f3ff;
    --erp-primary-100: #ede9fe;
    --erp-primary-200: #ddd6fe;
    --erp-primary-300: #c4b5fd;
    --erp-primary-500: #8b5cf6;
    --erp-primary-600: #7c3aed;
    --erp-primary-700: #6d28d9;
    --erp-primary-800: #5b21b6;
    --erp-primary-900: #3b1764;
    --erp-theme-gradient: radial-gradient(circle at 88% 12%, rgba(216, 180, 254, .28) 0, transparent 28%), radial-gradient(circle at 12% 115%, rgba(139, 92, 246, .25) 0, transparent 35%), linear-gradient(120deg, #2e104f 0%, #5b21b6 46%, #7c3aed 100%);
}

html[data-erp-theme="slate"] {
    --erp-primary-50: #f8fafc;
    --erp-primary-100: #f1f5f9;
    --erp-primary-200: #e2e8f0;
    --erp-primary-300: #cbd5e1;
    --erp-primary-500: #64748b;
    --erp-primary-600: #475569;
    --erp-primary-700: #334155;
    --erp-primary-800: #1e293b;
    --erp-primary-900: #0f172a;
    --erp-theme-gradient: radial-gradient(circle at 88% 12%, rgba(203, 213, 225, .22) 0, transparent 28%), radial-gradient(circle at 12% 115%, rgba(100, 116, 139, .24) 0, transparent 35%), linear-gradient(120deg, #0b1120 0%, #1e293b 48%, #475569 100%);
}

:root,
html[data-erp-mode="light"] {
    --erp-page-bg: #f2f5f9;
    --erp-surface: #ffffff;
    --erp-surface-subtle: #f8fafc;
    --erp-surface-muted: #f2f4f7;
    --erp-text: #172b4d;
    --erp-text-strong: #101828;
    --erp-text-muted: #667085;
    --erp-border: #dce3ed;
    --erp-border-strong: #cbd5e1;
    --erp-overlay: #10182899;
    --erp-shadow: #1018281a;
}

html[data-erp-mode="dark"] {
    color-scheme: dark;
    --erp-page-bg: #0b1220;
    --erp-surface: #111c2f;
    --erp-surface-subtle: #17243a;
    --erp-surface-muted: #1d2b42;
    --erp-text: #dce7f7;
    --erp-text-strong: #f8fafc;
    --erp-text-muted: #9fb0c7;
    --erp-border: #30415b;
    --erp-border-strong: #435672;
    --erp-overlay: #020617cc;
    --erp-shadow: #02061780;
}

html[data-erp-font-scale="compact"] { font-size: 15px; }
html[data-erp-font-scale="standard"] { font-size: 16px; }
html[data-erp-font-scale="large"] { font-size: 17px; }

html[data-erp-motion="reduced"] *,
html[data-erp-motion="reduced"] *::before,
html[data-erp-motion="reduced"] *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
}

.navbar-custom,
.footer-custom {
    background: var(--erp-theme-gradient) !important;
}

/* Shared layout shells consume the same palette and light/dark surfaces. */
.admin-shell {
    --admin-green: var(--erp-primary-600);
    --admin-dark: var(--erp-primary-900);
    --admin-ink: var(--erp-text);
    --admin-muted: var(--erp-text-muted);
    --admin-line: var(--erp-border);
    --admin-bg: var(--erp-page-bg);
    --admin-white: var(--erp-surface);
}

.admin-topbar,
.erp-themed-sidebar {
    background: var(--erp-theme-gradient) !important;
}

.admin-footer {
    margin: 0 !important;
    padding: 18px 32px !important;
    border-top: 0 !important;
    color: #fff !important;
    background: var(--erp-theme-gradient) !important;
}

html[data-erp-mode="dark"] body,
html[data-erp-mode="dark"] .admin-shell,
html[data-erp-mode="dark"] .main-content,
html[data-erp-mode="dark"] #page-content-wrapper {
    color: var(--erp-text);
    background-color: var(--erp-page-bg) !important;
}

html[data-erp-mode="dark"] .admin-page-head,
html[data-erp-mode="dark"] .admin-content {
    color: var(--erp-text);
}

/* Admin and Security content must use the same semantic surfaces as the shell. */
.admin-main,
.admin-page-head,
.admin-content {
    color: var(--erp-text);
    background: var(--erp-page-bg);
}

.admin-content .dashboard-hero {
    background: var(--erp-theme-gradient);
}

.admin-content .stat-card,
.admin-content .panel {
    color: var(--erp-text);
    border-color: var(--erp-border);
    background: var(--erp-surface);
    box-shadow: 0 3px 12px var(--erp-shadow);
}

.admin-content .panel-head h3,
.admin-content .stat-card strong,
.admin-content .module-card strong,
.admin-content .security-event strong,
.admin-content .role-chip strong {
    color: var(--erp-text-strong);
}

.admin-content .module-card,
.admin-content .quick-link,
.admin-content .security-event,
.admin-content .posture-row {
    color: var(--erp-text);
    border-color: var(--erp-border);
}

.admin-content .module-card {
    background: var(--erp-surface-subtle);
}

.admin-content .module-card:hover {
    color: var(--erp-primary-700);
    border-color: var(--erp-primary-300);
    background: var(--erp-primary-50);
    box-shadow: 0 7px 20px var(--erp-shadow);
}

.admin-content .module-card > i:first-child,
.admin-content .stat-icon,
.admin-content .event-icon,
.admin-content .posture-status,
.admin-content .security-scope {
    color: var(--erp-primary-700);
    background: var(--erp-primary-50);
}

.admin-content .page-date,
.admin-content .role-chip,
.admin-content .empty-role {
    color: var(--erp-text);
    border-color: var(--erp-border);
    background: var(--erp-surface-subtle);
}

html[data-erp-mode="dark"] .admin-content .module-card:hover {
    color: var(--erp-primary-200);
    background: var(--erp-surface-muted);
}

html[data-erp-mode="dark"] .admin-content .module-card > i:first-child,
html[data-erp-mode="dark"] .admin-content .stat-icon,
html[data-erp-mode="dark"] .admin-content .event-icon,
html[data-erp-mode="dark"] .admin-content .posture-status,
html[data-erp-mode="dark"] .admin-content .security-scope {
    color: var(--erp-primary-200);
    background: var(--erp-surface-muted);
}
.admin-brand img {
    width: 63px !important;
    height: 42px !important;
    object-fit: contain;
}
