:root {
    /* === Base Color Palette === */
    --primary: #1e5631;
    --primary-rgb: 30, 86, 49;
    --primary-light: rgba(var(--primary-rgb), 0.15);
    --primary-hover: #184428;
    --primary-dark: #123a1f;

    /* Aliases for backward compatibility */
    --primary-bg-subtle: var(--primary-light);
    --selected-bg: var(--primary-light);

    --secondary: #2e7d4a;
    --secondary-rgb: 46, 125, 74; /* required by Bootstrap for bg-secondary, btn-secondary, etc. */
    --secondary-hover: #256b3e;
    --secondary-dark: #1c5932;

    --success: #198754;
    --success-rgb: 25, 135, 84;
    --success-hover: #157347;
    --success-dark: #146c43;

    --danger: #dc3545;
    --danger-rgb: 220, 53, 69;
    --danger-hover: #bb2d3b;
    --danger-dark: #b02a37;

    --info: #2e7d4a;
    --info-rgb: 46, 125, 74;
    --info-hover: #256b3e;
    --info-dark: #1e5631;
    --info-bg: #e8f5ed;
    --info-border: #c3e3cd;
    --info-text: #1e5631;

    --warning: #ffc107;
    --warning-rgb: 255, 193, 7;
    --warning-hover: #ffca2c;
    --warning-dark: #ffcd39;

    --link-color: #1e5631;
    --link-hover-color: #123a1f;

    /* === Icon Colors === */
    --icon-color-primary: var(--primary);
    --icon-color-red: #d32f2f;
    --icon-color-crimson: #ad1457;
    --icon-color-orange: #e65100;
    --icon-color-amber: #ff8f00;
    --icon-color-yellow: #f9a825;
    --icon-color-lime: #9e9d24;
    --icon-color-green: #2e7d32;
    --icon-color-teal: #00897b;
    --icon-color-cyan: #0097a7;
    --icon-color-blue: #1565c0;
    --icon-color-indigo: #283593;
    --icon-color-purple: #7b1fa2;
    --icon-color-violet: #6a1b9a;
    --icon-color-pink: #c2185b;
    --icon-color-brown: #5d4037;

    /* === Neutral Colors === */
    --white: #fff;
    --black: #000;
    --gray-light: #f8f9fa;
    --gray-medium: #929292;
    --gray-dark: #212529;
    --gray-border-light: #dee2e6;
    --gray-border-medium: #929292;
    --gray-text-secondary: #6c757d;

    /* === Layout Colors === */
    --color-topbar: var(--primary);
    --color-sidebar: rgb(var(--primary-rgb));
    --color-background-dark: var(--primary);
    --color-background-light: var(--gray-light);

    /* === Navigation === */
    --navbar-item-hover: rgba(255, 255, 255, 0.15);
    --navbar-item-active: rgba(255, 255, 255, 0.25);

    /* === Overlays === */
    --overlay-dark-light: rgba(0, 0, 0, 0.2);
    --overlay-dark-medium: rgba(0, 0, 0, 0.3);
    --overlay-dark-heavy: rgba(0, 0, 0, 0.4);
    --overlay-white-subtle: rgba(255, 255, 255, 0.1);
    --overlay-white-medium: rgba(255, 255, 255, 0.37);
    --overlay-white-half: rgba(255, 255, 255, 0.5);

    /* === Typography === */
    --font-size-base: 1rem;
    --font-size-sm: calc(var(--font-size-base) * 0.875);
    --font-size-lg: calc(var(--font-size-base) * 1.125);
    --font-size-xl: calc(var(--font-size-base) * 1.25);
    --font-size-xxl: calc(var(--font-size-base) * 1.5);

    /* === Navigation Font Sizes === */
    --font-size-nav: var(--font-size-base);
    --font-size-nav-title: var(--font-size-xl);
    --font-size-nav-icon: var(--font-size-xl);
    --font-size-nav-icon-lg: var(--font-size-xxl);
}
