:root {
    --primary-dark-blue: #1A2E44; /* Main background, deep professional blue */
    --accent-gold: #D4AF37;     /* Gold for highlights, buttons, and important text */
    --light-white: #F8F8F8;     /* Soft white for primary backgrounds, card backgrounds */
    --soft-grey: #E0E0E0;       /* Slightly darker grey for subtle contrast, borders */
    --text-dark: #000000;       /* Changed to pure black for primary text in light mode */
    --text-light: #FFFFFF;      /* White text for dark backgrounds */
    --border-light: #CCC;       /* Light border color */
    --success-green: #4CAF50;   /* Green for positive values/notifications */
    --error-red: #F44336;       /* Red for negative values/notifications */
    --table-header-bg: #D9D9D9; /* Slightly darker grey for table headers */
    --header-bg-rgba: rgba(245, 245, 245, 0.65); /* Header background for blur effect */
    --container-bg-color: var(--light-white); /* General container background */
    --section-alt-bg: var(--soft-grey); /* Alt section background */

    --font-heading: 'Poppins', sans-serif;
    --font-body: 'Roboto', sans-serif;

    /* Button specific variables for customization */
    --btn-border-radius: 8px; /* More rounded corners for all buttons */
    --btn-shadow: 0 4px 10px rgba(0, 0, 0, 0.08); /* Subtle shadow for buttons */
    --btn-hover-shadow: 0 6px 15px rgba(0, 0, 0, 0.15); /* Enhanced shadow on hover */
    --btn-focus-outline-color: var(--accent-gold); /* Outline for accessibility */

    /* Header clearance for fixed header, based on header's min-height + vertical padding + buffer */
    --header-clearance-height: calc(50px + 12px * 2 + 10px); 
}

/* Dark Theme Overrides */
body.dark-theme {
    --primary-dark-blue: #0A1621; /* Even darker blue for main elements */
    --accent-gold: #FFD700;     /* Brighter gold for better contrast on dark */
    --light-white: #1A2E44;     /* Darker background for light areas (now dark) */
    --soft-grey: #2C3E50;       /* Darker grey for contrast/borders */
    --text-dark: #F8F8F8;       /* Light text for dark backgrounds */
    --text-light: var(--text-dark); /* Ensure --text-light is also light in dark theme for readability on dark backgrounds */
    --border-light: #3A4F64;    /* Darker border color */
    --success-green: #6BCB77;   /* Adjusted green for dark background */
    --error-red: #E84A5F;       /* Adjusted red for dark background */
    --table-header-bg: #1A2E44; /* Darker table header */
    --header-bg-rgba: rgba(26, 46, 68, 0.8); /* Darker header background for blur effect */
    --container-bg-color: #121212; /* General container background */
    --section-alt-bg: #1A2E44; /* Alt section background */

    background-color: #121212; /* Overall body background for dark theme */
    color: var(--text-dark); /* Ensure body text adapts */
}

.theme-toggle-btn {
    background-color: var(--primary-dark-blue);
    color: var(--accent-gold);
    border: 2px solid var(--accent-gold);
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 1.2em;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease, transform 0.2s ease, box-shadow 0.3s ease;
    flex-shrink: 0; /* Prevent it from shrinking */
    margin-left: 15px; /* Space it from the nav */
}

.theme-toggle-btn:hover {
    background-color: var(--accent-gold);
    color: var(--primary-dark-blue);
    border-color: var(--primary-dark-blue);
    transform: rotate(20deg);
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.3);
}

.theme-toggle-btn svg {
    width: 20px;
    height: 20px;
    transition: transform 0.3s ease;
}

body.dark-theme .theme-toggle-btn {
    background-color: var(--accent-gold);
    color: var(--primary-dark-blue);
    border-color: var(--primary-dark-blue);
}

body.dark-theme .theme-toggle-btn:hover {
    background-color: var(--primary-dark-blue);
    color: var(--accent-gold);
    border-color: var(--accent-gold);
    transform: rotate(20deg);
}