/* Theme System: Light (default) + extended palettes */
:root {
    --primary-color: #3b82f6;
    --primary-dark: #1d4ed8;
    --btn-border-dark: #0b3f8a;
    --btn-text-dark: #0b3f8a;
    --secondary-color: #64748b;
    --secondary-dark: #475569;
    --success-color: #22c55e;
    --danger-color: #ef4444;
    --warning-color: #f59e0b;
    --dark-color: #0f172a;
    --light-color: #f8fafc;
    --border-color: #e2e8f0;
    --shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
    --shadow-lg: 0 10px 24px rgba(15, 23, 42, 0.14);
    --bg-color: #f1f5f9;
    --text-color: #0f172a;
    --card-bg: #ffffff;
    --table-hover: #f8fafc;
    --table-header-bg: #0f172a;
    --table-header-text: #f8fafc;
    --icon-blue: #3b82f6;
    --icon-green: #22c55e;
    --icon-red: #ef4444;
    --icon-orange: #f59e0b;
    --icon-purple: #8b5cf6;
    --icon-teal: #14b8a6;
    --icon-gold: #fbbf24;
    --icon-gray: #64748b;
    --login-gradient-start: #93c5fd;
    --login-gradient-end: #c4b5fd;
    --login-card-bg: #ffffff;
    --focus-ring: 0 0 0 3px rgba(59, 130, 246, 0.35);
    --ui-ease: cubic-bezier(0.2, 0.7, 0.2, 1);
    --ui-duration: 220ms;
}

/* Theme: Dark */
[data-theme="dark"] {
    --primary-color: #60a5fa;
    --primary-dark: #3b82f6;
    --secondary-color: #94a3b8;
    --secondary-dark: #64748b;
    --success-color: #22c55e;
    --danger-color: #f87171;
    --warning-color: #fbbf24;
    --dark-color: #e2e8f0;
    --light-color: #0f172a;
    --border-color: #1f2937;
    --shadow: 0 4px 12px rgba(0, 0, 0, 0.5);
    --shadow-lg: 0 12px 28px rgba(0, 0, 0, 0.6);
    --bg-color: #0b1220;
    --text-color: #e2e8f0;
    --card-bg: #111827;
    --table-hover: #1f2937;
    --table-header-bg: #1f2937;
    --table-header-text: #f8fafc;
    --icon-blue: #60a5fa;
    --icon-green: #22c55e;
    --icon-red: #f87171;
    --icon-orange: #fbbf24;
    --icon-purple: #c4b5fd;
    --icon-teal: #2dd4bf;
    --icon-gold: #fde047;
    --icon-gray: #94a3b8;
    --login-gradient-start: #0f172a;
    --login-gradient-end: #1e293b;
    --login-card-bg: #0f172a;
    --focus-ring: 0 0 0 3px rgba(96, 165, 250, 0.45);
}

/* Theme: Ocean */
[data-theme="ocean"] {
    --primary-color: #0ea5e9;
    --primary-dark: #0284c7;
    --secondary-color: #0f766e;
    --secondary-dark: #0f6b64;
    --success-color: #22c55e;
    --danger-color: #f97316;
    --warning-color: #fbbf24;
    --dark-color: #0f172a;
    --light-color: #e0f2fe;
    --border-color: #cbd5e1;
    --shadow: 0 6px 16px rgba(14, 116, 144, 0.12);
    --shadow-lg: 0 16px 30px rgba(14, 116, 144, 0.18);
    --bg-color: #e0f2fe;
    --text-color: #0f172a;
    --card-bg: #ffffff;
    --table-hover: #f0f9ff;
    --table-header-bg: #0f172a;
    --table-header-text: #f8fafc;
    --icon-blue: #0ea5e9;
    --icon-green: #22c55e;
    --icon-red: #f97316;
    --icon-orange: #f59e0b;
    --icon-purple: #6366f1;
    --icon-teal: #0f766e;
    --icon-gold: #facc15;
    --icon-gray: #64748b;
    --login-gradient-start: #bae6fd;
    --login-gradient-end: #99f6e4;
    --login-card-bg: #ffffff;
    --focus-ring: 0 0 0 3px rgba(14, 165, 233, 0.35);
}

/* Theme: Emerald */
[data-theme="emerald"] {
    --primary-color: #10b981;
    --primary-dark: #059669;
    --secondary-color: #475569;
    --secondary-dark: #334155;
    --success-color: #22c55e;
    --danger-color: #ef4444;
    --warning-color: #f59e0b;
    --dark-color: #0f172a;
    --light-color: #ecfdf5;
    --border-color: #d1fae5;
    --shadow: 0 8px 16px rgba(16, 185, 129, 0.12);
    --shadow-lg: 0 20px 34px rgba(16, 185, 129, 0.18);
    --bg-color: #ecfdf5;
    --text-color: #0f172a;
    --card-bg: #ffffff;
    --table-hover: #f0fdf4;
    --table-header-bg: #0f172a;
    --table-header-text: #f8fafc;
    --icon-blue: #14b8a6;
    --icon-green: #10b981;
    --icon-red: #ef4444;
    --icon-orange: #f59e0b;
    --icon-purple: #8b5cf6;
    --icon-teal: #0f766e;
    --icon-gold: #facc15;
    --icon-gray: #64748b;
    --login-gradient-start: #bbf7d0;
    --login-gradient-end: #a7f3d0;
    --login-card-bg: #ffffff;
    --focus-ring: 0 0 0 3px rgba(16, 185, 129, 0.35);
}

/* Theme: Sunset */
[data-theme="sunset"] {
    --primary-color: #f97316;
    --primary-dark: #ea580c;
    --secondary-color: #7c3aed;
    --secondary-dark: #6d28d9;
    --success-color: #22c55e;
    --danger-color: #ef4444;
    --warning-color: #f59e0b;
    --dark-color: #1f2937;
    --light-color: #fff7ed;
    --border-color: #fed7aa;
    --shadow: 0 8px 18px rgba(249, 115, 22, 0.14);
    --shadow-lg: 0 22px 36px rgba(249, 115, 22, 0.2);
    --bg-color: #fff7ed;
    --text-color: #1f2937;
    --card-bg: #ffffff;
    --table-hover: #ffedd5;
    --table-header-bg: #1f2937;
    --table-header-text: #fef3c7;
    --icon-blue: #3b82f6;
    --icon-green: #22c55e;
    --icon-red: #ef4444;
    --icon-orange: #f97316;
    --icon-purple: #8b5cf6;
    --icon-teal: #14b8a6;
    --icon-gold: #fbbf24;
    --icon-gray: #64748b;
    --login-gradient-start: #fdba74;
    --login-gradient-end: #f472b6;
    --login-card-bg: #ffffff;
    --focus-ring: 0 0 0 3px rgba(249, 115, 22, 0.35);
}

/* Theme: Olive */
[data-theme="olive"] {
    --primary-color: #6b8e23;
    --primary-dark: #4f6f19;
    --secondary-color: #556b2f;
    --secondary-dark: #3f4f22;
    --success-color: #3f9f5a;
    --danger-color: #c04b3a;
    --warning-color: #b5892e;
    --dark-color: #1f2a1a;
    --light-color: #f3f6ea;
    --border-color: #d7e0c2;
    --shadow: 0 8px 18px rgba(75, 98, 33, 0.14);
    --shadow-lg: 0 22px 36px rgba(75, 98, 33, 0.2);
    --bg-color: #f3f6ea;
    --text-color: #1f2a1a;
    --card-bg: #ffffff;
    --table-hover: #e9efdb;
    --table-header-bg: #1f2a1a;
    --table-header-text: #eef7de;
    --icon-blue: #5f8fbd;
    --icon-green: #5a8f3a;
    --icon-red: #c04b3a;
    --icon-orange: #c07f2f;
    --icon-purple: #7c6cb3;
    --icon-teal: #3f8c7c;
    --icon-gold: #c6a542;
    --icon-gray: #667254;
    --login-gradient-start: #dbe8b5;
    --login-gradient-end: #c4d99b;
    --login-card-bg: #ffffff;
    --focus-ring: 0 0 0 3px rgba(107, 142, 35, 0.35);
}

/* Theme: Black Gold */
[data-theme="black-gold"] {
    --primary-color: #d4af37;
    --primary-dark: #b8942f;
    --secondary-color: #a38b47;
    --secondary-dark: #877239;
    --success-color: #6fbf73;
    --danger-color: #d96a5f;
    --warning-color: #f1c04a;
    --dark-color: #f5e7b9;
    --light-color: #121212;
    --border-color: #2f2a1d;
    --shadow: 0 10px 20px rgba(0, 0, 0, 0.45);
    --shadow-lg: 0 26px 42px rgba(0, 0, 0, 0.6);
    --bg-color: #0f0f10;
    --text-color: #f3e6be;
    --card-bg: #1a1815;
    --table-hover: #242117;
    --table-header-bg: #1f1b13;
    --table-header-text: #f9efcf;
    --icon-blue: #8ab4f8;
    --icon-green: #7fd08a;
    --icon-red: #ef8b82;
    --icon-orange: #f3ba55;
    --icon-purple: #c9a6ff;
    --icon-teal: #6fd0c5;
    --icon-gold: #d4af37;
    --icon-gray: #b8aa83;
    --login-gradient-start: #1a1710;
    --login-gradient-end: #2a2416;
    --login-card-bg: #171410;
    --focus-ring: 0 0 0 3px rgba(212, 175, 55, 0.4);
}

/* Theme: Rose */
[data-theme="rose"] {
    --primary-color: #e11d48;
    --primary-dark: #be123c;
    --secondary-color: #9d174d;
    --secondary-dark: #831843;
    --success-color: #16a34a;
    --danger-color: #ef4444;
    --warning-color: #f59e0b;
    --dark-color: #3b1026;
    --light-color: #fff1f5;
    --border-color: #fecdd3;
    --shadow: 0 8px 18px rgba(225, 29, 72, 0.14);
    --shadow-lg: 0 22px 36px rgba(225, 29, 72, 0.2);
    --bg-color: #fff1f5;
    --text-color: #3b1026;
    --card-bg: #ffffff;
    --table-hover: #ffe4eb;
    --table-header-bg: #3b1026;
    --table-header-text: #fff1f5;
    --icon-blue: #3b82f6;
    --icon-green: #22c55e;
    --icon-red: #e11d48;
    --icon-orange: #f97316;
    --icon-purple: #8b5cf6;
    --icon-teal: #14b8a6;
    --icon-gold: #f59e0b;
    --icon-gray: #6b4b5d;
    --login-gradient-start: #fecdd3;
    --login-gradient-end: #fbcfe8;
    --login-card-bg: #ffffff;
    --focus-ring: 0 0 0 3px rgba(225, 29, 72, 0.35);
}

/* Theme: Midnight */
[data-theme="midnight"] {
    --primary-color: #6366f1;
    --primary-dark: #4f46e5;
    --secondary-color: #94a3b8;
    --secondary-dark: #64748b;
    --success-color: #22c55e;
    --danger-color: #fb7185;
    --warning-color: #fbbf24;
    --dark-color: #dbe5ff;
    --light-color: #0b1020;
    --border-color: #1b2540;
    --shadow: 0 10px 20px rgba(2, 6, 23, 0.5);
    --shadow-lg: 0 26px 42px rgba(2, 6, 23, 0.65);
    --bg-color: #070d1c;
    --text-color: #dbe5ff;
    --card-bg: #0d1528;
    --table-hover: #14203b;
    --table-header-bg: #17233f;
    --table-header-text: #e2e8f0;
    --icon-blue: #818cf8;
    --icon-green: #4ade80;
    --icon-red: #fb7185;
    --icon-orange: #f59e0b;
    --icon-purple: #a78bfa;
    --icon-teal: #22d3ee;
    --icon-gold: #facc15;
    --icon-gray: #94a3b8;
    --login-gradient-start: #0b1020;
    --login-gradient-end: #1e1b4b;
    --login-card-bg: #0d1528;
    --focus-ring: 0 0 0 3px rgba(99, 102, 241, 0.45);
}

/* Theme: Lavender */
[data-theme="lavender"] {
    --primary-color: #8b5cf6;
    --primary-dark: #7c3aed;
    --secondary-color: #6d28d9;
    --secondary-dark: #5b21b6;
    --success-color: #16a34a;
    --danger-color: #dc2626;
    --warning-color: #d97706;
    --dark-color: #2e1b4d;
    --light-color: #f5f3ff;
    --border-color: #ddd6fe;
    --shadow: 0 8px 18px rgba(124, 58, 237, 0.14);
    --shadow-lg: 0 22px 36px rgba(124, 58, 237, 0.2);
    --bg-color: #f5f3ff;
    --text-color: #2e1b4d;
    --card-bg: #ffffff;
    --table-hover: #ede9fe;
    --table-header-bg: #2e1b4d;
    --table-header-text: #f5f3ff;
    --icon-blue: #3b82f6;
    --icon-green: #22c55e;
    --icon-red: #ef4444;
    --icon-orange: #f97316;
    --icon-purple: #8b5cf6;
    --icon-teal: #14b8a6;
    --icon-gold: #f59e0b;
    --icon-gray: #6b5a85;
    --login-gradient-start: #e9d5ff;
    --login-gradient-end: #ddd6fe;
    --login-card-bg: #ffffff;
    --focus-ring: 0 0 0 3px rgba(139, 92, 246, 0.35);
}

/* Theme: Ruby */
[data-theme="ruby"] {
    --primary-color: #b91c1c;
    --primary-dark: #991b1b;
    --secondary-color: #7f1d1d;
    --secondary-dark: #6b1414;
    --success-color: #16a34a;
    --danger-color: #dc2626;
    --warning-color: #f59e0b;
    --dark-color: #2f1010;
    --light-color: #fef2f2;
    --border-color: #fecaca;
    --shadow: 0 8px 18px rgba(185, 28, 28, 0.14);
    --shadow-lg: 0 22px 36px rgba(185, 28, 28, 0.2);
    --bg-color: #fef2f2;
    --text-color: #2f1010;
    --card-bg: #ffffff;
    --table-hover: #fee2e2;
    --table-header-bg: #2f1010;
    --table-header-text: #fee2e2;
    --icon-blue: #3b82f6;
    --icon-green: #22c55e;
    --icon-red: #dc2626;
    --icon-orange: #f97316;
    --icon-purple: #8b5cf6;
    --icon-teal: #14b8a6;
    --icon-gold: #f59e0b;
    --icon-gray: #7f5454;
    --login-gradient-start: #fecaca;
    --login-gradient-end: #fda4af;
    --login-card-bg: #ffffff;
    --focus-ring: 0 0 0 3px rgba(185, 28, 28, 0.35);
}

/* Theme: Arctic */
[data-theme="arctic"] {
    --primary-color: #0284c7;
    --primary-dark: #0369a1;
    --secondary-color: #0e7490;
    --secondary-dark: #155e75;
    --success-color: #059669;
    --danger-color: #dc2626;
    --warning-color: #d97706;
    --dark-color: #0f172a;
    --light-color: #f0f9ff;
    --border-color: #cce7f3;
    --shadow: 0 8px 18px rgba(2, 132, 199, 0.14);
    --shadow-lg: 0 22px 36px rgba(2, 132, 199, 0.2);
    --bg-color: #f0f9ff;
    --text-color: #0f172a;
    --card-bg: #ffffff;
    --table-hover: #e0f2fe;
    --table-header-bg: #0f172a;
    --table-header-text: #e0f2fe;
    --icon-blue: #0284c7;
    --icon-green: #10b981;
    --icon-red: #ef4444;
    --icon-orange: #f97316;
    --icon-purple: #8b5cf6;
    --icon-teal: #0e7490;
    --icon-gold: #eab308;
    --icon-gray: #64748b;
    --login-gradient-start: #bae6fd;
    --login-gradient-end: #dbeafe;
    --login-card-bg: #ffffff;
    --focus-ring: 0 0 0 3px rgba(2, 132, 199, 0.35);
}

/* Theme: Forest */
[data-theme="forest"] {
    --primary-color: #166534;
    --primary-dark: #14532d;
    --secondary-color: #365314;
    --secondary-dark: #2f4a12;
    --success-color: #16a34a;
    --danger-color: #dc2626;
    --warning-color: #ca8a04;
    --dark-color: #102515;
    --light-color: #f0fdf4;
    --border-color: #c7e7d2;
    --shadow: 0 8px 18px rgba(22, 101, 52, 0.14);
    --shadow-lg: 0 22px 36px rgba(22, 101, 52, 0.2);
    --bg-color: #f0fdf4;
    --text-color: #102515;
    --card-bg: #ffffff;
    --table-hover: #dcfce7;
    --table-header-bg: #102515;
    --table-header-text: #dcfce7;
    --icon-blue: #2563eb;
    --icon-green: #16a34a;
    --icon-red: #dc2626;
    --icon-orange: #f59e0b;
    --icon-purple: #7c3aed;
    --icon-teal: #0f766e;
    --icon-gold: #ca8a04;
    --icon-gray: #4b6b52;
    --login-gradient-start: #bbf7d0;
    --login-gradient-end: #86efac;
    --login-card-bg: #ffffff;
    --focus-ring: 0 0 0 3px rgba(22, 101, 52, 0.35);
}

/* Theme: Coral */
[data-theme="coral"] {
    --primary-color: #f97316;
    --primary-dark: #ea580c;
    --secondary-color: #0f766e;
    --secondary-dark: #115e59;
    --success-color: #16a34a;
    --danger-color: #dc2626;
    --warning-color: #d97706;
    --dark-color: #3a1e13;
    --light-color: #fff7ed;
    --border-color: #fed7aa;
    --shadow: 0 8px 18px rgba(249, 115, 22, 0.14);
    --shadow-lg: 0 22px 36px rgba(249, 115, 22, 0.2);
    --bg-color: #fff7ed;
    --text-color: #3a1e13;
    --card-bg: #ffffff;
    --table-hover: #ffedd5;
    --table-header-bg: #3a1e13;
    --table-header-text: #ffedd5;
    --icon-blue: #3b82f6;
    --icon-green: #22c55e;
    --icon-red: #ef4444;
    --icon-orange: #f97316;
    --icon-purple: #8b5cf6;
    --icon-teal: #14b8a6;
    --icon-gold: #f59e0b;
    --icon-gray: #7a5b50;
    --login-gradient-start: #fdba74;
    --login-gradient-end: #fed7aa;
    --login-card-bg: #ffffff;
    --focus-ring: 0 0 0 3px rgba(249, 115, 22, 0.35);
}

/* Theme: Steel */
[data-theme="steel"] {
    --primary-color: #475569;
    --primary-dark: #334155;
    --secondary-color: #64748b;
    --secondary-dark: #475569;
    --success-color: #16a34a;
    --danger-color: #dc2626;
    --warning-color: #d97706;
    --dark-color: #111827;
    --light-color: #f8fafc;
    --border-color: #d5dde8;
    --shadow: 0 8px 18px rgba(71, 85, 105, 0.14);
    --shadow-lg: 0 22px 36px rgba(71, 85, 105, 0.2);
    --bg-color: #edf2f7;
    --text-color: #111827;
    --card-bg: #ffffff;
    --table-hover: #e2e8f0;
    --table-header-bg: #111827;
    --table-header-text: #f8fafc;
    --icon-blue: #3b82f6;
    --icon-green: #22c55e;
    --icon-red: #ef4444;
    --icon-orange: #f97316;
    --icon-purple: #8b5cf6;
    --icon-teal: #14b8a6;
    --icon-gold: #f59e0b;
    --icon-gray: #64748b;
    --login-gradient-start: #cbd5e1;
    --login-gradient-end: #e2e8f0;
    --login-card-bg: #ffffff;
    --focus-ring: 0 0 0 3px rgba(71, 85, 105, 0.35);
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background-color: var(--bg-color);
    color: var(--text-color);
    line-height: 1.6;
    transition: background-color var(--ui-duration) var(--ui-ease), color var(--ui-duration) var(--ui-ease);
}
