/**
 * Author: Fahed
 * EQUINOVA HR — centralized theme token system
 * Apply via: document.documentElement.setAttribute('data-theme', '<key>')
 */

/* Shared status colors (consistent across themes) */
:root,
[data-theme="corporate-light"],
[data-theme="dark-navy"],
[data-theme="soft-teal"],
[data-theme="executive-graphite"] {
    --color-danger: #DC2626;
    --color-success: #059669;
    --color-warning: #D97706;
    --color-info: #0284C7;
    --shadow-soft: 0 0.15rem 1.75rem 0 rgba(13, 27, 76, 0.08);
    --radius-card: 0.5rem;
    --radius-button: 0.375rem;

    /* Attendance calendar status colors */
    --att-present: #059669;
    --att-present-bg: #D1FAE5;
    --att-absent: #DC2626;
    --att-absent-bg: #FEE2E2;
    --att-late: #D97706;
    --att-late-bg: #FEF3C7;
    --att-leave: #0D1B4C;
    --att-leave-bg: #EAFDFC;
    --att-sick: #475569;
    --att-sick-bg: #F1F5F9;
    --att-emergency: #C2410C;
    --att-emergency-bg: #FFEDD5;
    --att-holiday: #007C72;
    --att-holiday-bg: #E0F2FE;
    --att-weekend: #6B7280;
    --att-weekend-bg: #F8FAFC;

    /* Print / PDF documents */
    --print-primary: #0D1B4C;
    --print-accent: #00B5A6;
    --print-muted: #64748B;
    --print-border: #E5E7EB;
    --print-bg: #F8FAFC;
    --print-surface: #FFFFFF;
    --print-success: #059669;
    --print-danger: #DC2626;
    --print-text: #111827;
}

/* Default: Corporate Light */
:root,
[data-theme="corporate-light"] {
    --color-bg: #F8FAFC;
    --color-surface: #FFFFFF;
    --color-surface-elevated: #FFFFFF;
    --color-primary: #0D1B4C;
    --color-secondary: #00B5A6;
    --color-accent: #00B5A6;
    --color-text: #111827;
    --color-muted: #6B7280;
    --color-border: #E5E7EB;
    --color-button: #0D1B4C;
    --color-button-text: #FFFFFF;
    --color-brand-navy: #0D1B4C;
    --color-sidebar-bg: #0D1B4C;
    --color-sidebar-bg-dark: #07132F;
    --color-topbar-bg: #FFFFFF;
}

[data-theme="dark-navy"] {
    --color-bg: #07132F;
    --color-surface: #0D1B4C;
    --color-surface-elevated: #13245F;
    --color-primary: #FFFFFF;
    --color-secondary: #00B5A6;
    --color-accent: #00B5A6;
    --color-text: #FFFFFF;
    --color-muted: #CBD5E1;
    --color-border: #22346F;
    --color-button: #00B5A6;
    --color-button-text: #07132F;
    --color-brand-navy: #0D1B4C;
    --color-sidebar-bg: #07132F;
    --color-sidebar-bg-dark: #0D1B4C;
    --color-topbar-bg: #0D1B4C;
    --shadow-soft: 0 0.15rem 1.75rem 0 rgba(0, 0, 0, 0.35);
}

[data-theme="soft-teal"] {
    --color-bg: #EAFDFC;
    --color-surface: #FFFFFF;
    --color-surface-elevated: #FFFFFF;
    --color-primary: #0D1B4C;
    --color-secondary: #007C72;
    --color-accent: #00B5A6;
    --color-text: #0F172A;
    --color-muted: #475569;
    --color-border: #BDEDEA;
    --color-button: #007C72;
    --color-button-text: #FFFFFF;
    --color-brand-navy: #0D1B4C;
    --color-sidebar-bg: #0D1B4C;
    --color-sidebar-bg-dark: #07132F;
    --color-topbar-bg: #FFFFFF;
    --shadow-soft: 0 0.15rem 1.75rem 0 rgba(0, 124, 114, 0.1);
}

[data-theme="executive-graphite"] {
    --color-bg: #F3F4F6;
    --color-surface: #FFFFFF;
    --color-surface-elevated: #FFFFFF;
    --color-primary: #111827;
    --color-secondary: #00B5A6;
    --color-accent: #00B5A6;
    --color-text: #111827;
    --color-muted: #4B5563;
    --color-border: #D1D5DB;
    --color-button: #0D1B4C;
    --color-button-text: #FFFFFF;
    --color-brand-navy: #0D1B4C;
    --color-sidebar-bg: #0D1B4C;
    --color-sidebar-bg-dark: #07132F;
    --color-topbar-bg: #FFFFFF;
}

/* Legacy aliases for existing site-theme.css and tenant overrides */
:root,
[data-theme] {
    --primary-color: var(--color-primary);
    --secondary-color: var(--color-secondary);
    --success-color: var(--color-success);
    --info-color: var(--color-info);
    --warning-color: var(--color-warning);
    --danger-color: var(--color-danger);
    --body-bg: var(--color-bg);
    --card-bg: var(--color-surface);
    --sidebar-bg: var(--color-sidebar-bg);
    --sidebar-bg-dark: var(--color-sidebar-bg-dark);
    --topbar-bg: var(--color-topbar-bg);
    --text-primary: var(--color-text);
    --text-secondary: var(--color-muted);
    --text-light: var(--color-muted);
    --border-color: var(--color-border);
    --light-color: var(--color-bg);
    --dark-color: var(--color-primary);
    --box-shadow: var(--shadow-soft);
    --border-radius: var(--radius-card);
}

/* Semantic utility classes (Bootstrap-compatible layer) */
.bg-app { background-color: var(--color-bg) !important; }
.bg-surface { background-color: var(--color-surface) !important; }
.bg-surface-elevated { background-color: var(--color-surface-elevated) !important; }
.bg-primary-brand { background-color: var(--color-brand-navy) !important; }
.bg-accent { background-color: var(--color-accent) !important; }
.text-main { color: var(--color-text) !important; }
.text-muted-theme { color: var(--color-muted) !important; }
.border-default { border-color: var(--color-border) !important; }
.btn-theme { background-color: var(--color-button); border-color: var(--color-button); color: var(--color-button-text); }
.btn-theme:hover,
.btn-theme:focus { filter: brightness(1.08); color: var(--color-button-text); }
.btn-theme-secondary { background-color: var(--color-secondary); border-color: var(--color-secondary); color: #FFFFFF; }
.btn-theme-secondary:hover { filter: brightness(1.05); color: #FFFFFF; }
.shadow-soft { box-shadow: var(--shadow-soft) !important; }
.rounded-card { border-radius: var(--radius-card) !important; }
.rounded-btn { border-radius: var(--radius-button) !important; }
