/* =================================================================
   THEME SYSTEM - CSS Variables Approach
   Single file to maintain, toggle via .dark-mode class on <html>
   ================================================================= */

/* ============================================
   DARK THEME (Default - no class)
   ============================================ */
:root {
    /* Background Colors */
    --bg-primary: #2d2d2d;
    --bg-secondary: #434343;
    --bg-tertiary: #3a3a3a;
    --bg-elevated: #2a2a2a;

    /* Text Colors */
    --text-primary: #e0e0e0;
    --text-secondary: #b0b0b0;
    --text-tertiary: #888888;
    --text-inverse: #ffffff;

    /* Border Colors */
    --border-light: #404040;
    --border-medium: #4a4a4a;
    --border-dark: #5a5a5a;

    /* Brand Colors (slightly adjusted for dark mode) */
    --brand-primary: #5ac0e8;
    --brand-secondary: #4a9dc4;
    --brand-accent: #6ee8b8;

    /* Status Colors */
    --status-success: #34d399;
    --status-warning: #fbbf24;
    --status-error: #f87171;
    --status-info: #60a5fa;

    /* Input Colors */
    --input-bg: #1a1a1a;
    --input-border: #404040;
    --input-focus: #5ac0e8;
    --input-text: #ffffff;

    /* Admin Specific */
    --admin-nav-bg: #2d2d2d;
    --admin-nav-text: #ffffff;
    --admin-nav-hover-bg: #1e3a4a;
    --admin-nav-hover-text: #5ac0e8;
    --admin-content-bg: #2d2d2d;

    /* Header & Footer */
    --header-bg: #434343;
    --header-text: #ffffff;
    --footer-bg: #434343;
    --footer-text: #e0e0e0;

    /* Shadow (lighter in dark mode) */
    --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.3);
    --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.4);
    --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.5);
}

/* ============================================
   LIGHT THEME (When .dark-mode class is present)
   ============================================ */
html.dark-mode {
    /* Background Colors */
    --bg-primary: #f9fafb;
    --bg-secondary: #ffffff;
    --bg-tertiary: #f3f4f6;
    --bg-elevated: #ffffff;

    /* Text Colors */
    --text-primary: #2c3e50;
    --text-secondary: #4b5563;
    --text-tertiary: #6b7280;
    --text-inverse: #ffffff;

    /* Border Colors */
    --border-light: #e5e7eb;
    --border-medium: #d1d5db;
    --border-dark: #9ca3af;

    /* Brand Colors */
    --brand-primary: #4AAEDC;
    --brand-secondary: #3a8cb8;
    --brand-accent: #5ED8AA;

    /* Status Colors */
    --status-success: #10b981;
    --status-warning: #f59e0b;
    --status-error: #ef4444;
    --status-info: #3b82f6;

    /* Input Colors */
    --input-bg: #ffffff;
    --input-border: #e0e0e0;
    --input-focus: #4AAEDC;
    --input-text: #2c3e50;

    /* Admin Specific */
    --admin-nav-bg: #f9fafb;
    --admin-nav-text: #4b5563;
    --admin-nav-hover-bg: #e0f2fe;
    --admin-nav-hover-text: #0369a1;
    --admin-content-bg: #ffffff;

    /* Header & Footer */
    --header-bg: #0B3A68;
    --header-text: #ffffff;
    --footer-bg: #0B3A68;
    --footer-text: #F2EBEA;

    /* Shadow */
    --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}

/* ============================================
   APPLY VARIABLES TO ELEMENTS
   ============================================ */

body {
    background-color: var(--bg-primary);
    color: var(--text-primary);
}

/* Header & Footer */
header {
    background-color: var(--header-bg);
    color: var(--header-text);
}

footer,
.footer {
    background-color: var(--footer-bg);
    color: var(--footer-text);
}

/* Admin Layout */
.admin-hub {
    background-color: var(--bg-primary);
}

.admin-left,
.dashboard-nav-left {
    background-color: var(--admin-nav-bg);
    border-right-color: var(--border-light);
}

.admin-right {
    background-color: var(--admin-content-bg);
}

/* Admin Navigation */
.admin-links a,
.dashboard-links a {
    color: var(--admin-nav-text);
}

.admin-links a:hover,
.dashboard-links a:hover {
    background-color: var(--admin-nav-hover-bg);
    color: var(--admin-nav-hover-text);
}

.admin-links h3,
.dashboard-links h3 {
    color: var(--text-tertiary);
}

/* Admin Content */
.admin-site-settings,
.admin-news-section,
.admin-urgent-reports,
.admin-emails,
.moderate-panel {
    background-color: var(--bg-elevated);
    border-color: var(--border-light);
}

.admin-site-settings h1,
.admin-site-settings h2,
.admin-site-settings h3,
.admin-news-section h1,
.admin-news-section h2,
.admin-news-section h3 {
    color: var(--text-primary);
}

.admin-site-settings p,
.admin-site-settings span,
.admin-news-section p,
.admin-news-section span {
    color: var(--text-secondary);
}

/* News Items */
.admin-gemini-news {
    border-color: var(--border-light);
}

.admin-gemini-news:hover {
    background-color: var(--bg-secondary);
    border-color: var(--brand-accent);
}

.admin-gemini-news a {
    color: var(--text-primary);
}

.admin-gemini-news span {
    color: var(--text-primary);
}

.admin-gemini-news p {
    color: var(--text-secondary);
}

/* Form Inputs */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="datetime-local"],
input[type="number"],
select,
textarea {
    background-color: var(--input-bg);
    color: var(--input-text);
    border-color: var(--input-border);
}

input:focus,
select:focus,
textarea:focus {
    border-color: var(--input-focus);
}

/* Buttons */
.btn-primary {
    background: linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-secondary) 100%);
    color: var(--text-inverse);
}

.btn-cancel {
    background-color: var(--bg-secondary);
    color: var(--text-secondary);
    border-color: var(--border-medium);
}

.btn-cancel:hover {
    background-color: var(--bg-tertiary);
    color: var(--text-primary);
}

/* Scrollbar Styling */
.admin-right::-webkit-scrollbar-track,
.admin-left::-webkit-scrollbar-track {
    background: var(--bg-secondary);
}

.admin-right::-webkit-scrollbar-thumb,
.admin-left::-webkit-scrollbar-thumb {
    background: var(--border-dark);
}

.admin-right::-webkit-scrollbar-thumb:hover,
.admin-left::-webkit-scrollbar-thumb:hover {
    background: var(--text-tertiary);
}
