/* ==========================================================================
   Design Tokens — CSS Custom Properties
   ========================================================================== */

:root {
    /* ---- Colors (Green Nature Theme) ---- */
    --color-primary:        #2d6a2e;
    --color-primary-light:  #3d8b3e;
    --color-primary-dark:   #1a4d1b;
    --color-primary-rgb:    45, 106, 46;

    --color-secondary:      #4a8f4c;
    --color-secondary-light:#6bb36d;

    --color-green:          #27ae60;
    --color-green-light:    #e8f8ef;
    --color-green-dark:     #1e8449;

    --color-orange:         #e67e22;
    --color-orange-light:   #fef3e2;

    --color-blue-light:     #e8eeff;
    --color-blue-badge:     #3b82f6;

    --color-red:            #e74c3c;
    --color-red-light:      #fde8e6;

    --color-purple:         #8e44ad;

    /* ---- Neutrals ---- */
    --color-white:          #ffffff;
    --color-bg:             #ffffff;
    --color-bg-alt:         #eef3ee;
    --color-card:           #ffffff;
    --color-border:         #dde4dd;
    --color-border-light:   #edf2ed;

    --color-text:           #2c3e2d;
    --color-text-secondary: #6b7d6c;
    --color-text-light:     #8a9e8b;
    --color-text-heading:   #1a4d1b;

    /* ---- Typography ---- */
    --font-primary:         'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

    --text-xs:              0.75rem;    /* 12px */
    --text-sm:              0.875rem;   /* 14px */
    --text-base:            1rem;       /* 16px */
    --text-lg:              1.125rem;   /* 18px */
    --text-xl:              1.25rem;    /* 20px */
    --text-2xl:             1.5rem;     /* 24px */
    --text-3xl:             1.875rem;   /* 30px */
    --text-4xl:             2.25rem;    /* 36px */
    --text-5xl:             3rem;       /* 48px */

    --font-light:           300;
    --font-regular:         400;
    --font-medium:          500;
    --font-semibold:        600;
    --font-bold:            700;
    --font-extrabold:       800;

    --leading-tight:        1.2;
    --leading-normal:       1.5;
    --leading-relaxed:      1.75;

    /* ---- Spacing ---- */
    --space-1:              0.25rem;    /* 4px */
    --space-2:              0.5rem;     /* 8px */
    --space-3:              0.75rem;    /* 12px */
    --space-4:              1rem;       /* 16px */
    --space-5:              1.25rem;    /* 20px */
    --space-6:              1.5rem;     /* 24px */
    --space-8:              2rem;       /* 32px */
    --space-10:             2.5rem;     /* 40px */
    --space-12:             3rem;       /* 48px */
    --space-16:             4rem;       /* 64px */
    --space-20:             5rem;       /* 80px */
    --space-24:             6rem;       /* 96px */

    /* ---- Border Radius ---- */
    --radius-sm:            4px;
    --radius-md:            8px;
    --radius-lg:            12px;
    --radius-xl:            16px;
    --radius-2xl:           20px;
    --radius-full:          9999px;

    /* ---- Shadows ---- */
    --shadow-sm:            0 1px 2px rgba(0, 0, 0, 0.05);
    --shadow-md:            0 4px 6px -1px rgba(0, 0, 0, 0.07), 0 2px 4px -2px rgba(0, 0, 0, 0.05);
    --shadow-lg:            0 10px 25px -3px rgba(0, 0, 0, 0.08), 0 4px 6px -4px rgba(0, 0, 0, 0.05);
    --shadow-xl:            0 20px 40px -5px rgba(0, 0, 0, 0.1);
    --shadow-card:          0 2px 12px rgba(0, 0, 0, 0.06);
    --shadow-card-hover:    0 8px 30px rgba(0, 0, 0, 0.12);

    /* ---- Transitions ---- */
    --transition-fast:      150ms ease;
    --transition-base:      250ms ease;
    --transition-slow:      400ms ease;
    --transition-spring:    500ms cubic-bezier(0.34, 1.56, 0.64, 1);

    /* ---- Layout ---- */
    --container-max:        1200px;
    --container-narrow:     800px;
    --header-height:        120px;

    /* ---- Z-index ---- */
    --z-header:             100;
    --z-overlay:            200;
    --z-modal:              300;
}
