/* =============================================================================
 * Hecteo Design System v1.0.0
 * FICHIER GENERE AUTOMATIQUEMENT - NE PAS EDITER A LA MAIN.
 * Source : bdd/design-tokens.json
 * Rebuild: php admin/tools/build-tokens.php
 * ========================================================================== */

:root {

  /* Palette primary */
  --h-color-primary-50:  #ECFDF3;
  --h-color-primary-100: #D3F8E1;
  --h-color-primary-200: #A8EFC5;
  --h-color-primary-300: #71E0A4;
  --h-color-primary-400: #41C983;
  --h-color-primary-500: #16A05C;
  --h-color-primary-600: #0E7C46;
  --h-color-primary-700: #0C6339;
  --h-color-primary-800: #0C4F2F;
  --h-color-primary-900: #0A4128;
  --h-color-primary-950: #032517;

  /* Palette lime */
  --h-color-lime-50:  #F6FDE8;
  --h-color-lime-100: #EAFBC8;
  --h-color-lime-200: #D7F79A;
  --h-color-lime-300: #BEED63;
  --h-color-lime-400: #A6DE36;
  --h-color-lime-500: #8AC318;
  --h-color-lime-600: #6B9C10;
  --h-color-lime-700: #517611;
  --h-color-lime-800: #415D14;
  --h-color-lime-900: #384F16;
  --h-color-lime-950: #1B2A05;

  /* Palette harvest */
  --h-color-harvest-50:  #FFF8EB;
  --h-color-harvest-100: #FDEFC8;
  --h-color-harvest-200: #FBDC8C;
  --h-color-harvest-300: #F9C450;
  --h-color-harvest-400: #F7AC28;
  --h-color-harvest-500: #F08A0F;
  --h-color-harvest-600: #D4670A;
  --h-color-harvest-700: #B0480C;
  --h-color-harvest-800: #8F3910;
  --h-color-harvest-900: #763010;
  --h-color-harvest-950: #451604;

  /* Palette sky */
  --h-color-sky-50:  #EFF8FF;
  --h-color-sky-100: #D1E9FF;
  --h-color-sky-200: #B2DDFF;
  --h-color-sky-300: #84CAFF;
  --h-color-sky-400: #53B1FD;
  --h-color-sky-500: #2E90FA;
  --h-color-sky-600: #1570EF;
  --h-color-sky-700: #175CD3;
  --h-color-sky-800: #1849A9;
  --h-color-sky-900: #194185;
  --h-color-sky-950: #102A56;

  /* Palette danger */
  --h-color-danger-50:  #FEF3F2;
  --h-color-danger-100: #FEE4E2;
  --h-color-danger-200: #FECDCA;
  --h-color-danger-300: #FDA29B;
  --h-color-danger-400: #F97066;
  --h-color-danger-500: #F04438;
  --h-color-danger-600: #D92D20;
  --h-color-danger-700: #B42318;
  --h-color-danger-800: #912018;
  --h-color-danger-900: #7A271A;
  --h-color-danger-950: #55160C;

  /* Palette neutral */
  --h-color-neutral-0:    #FFFFFF;
  --h-color-neutral-25:   #FAFCFB;
  --h-color-neutral-50:   #F5F8F6;
  --h-color-neutral-100:  #ECF1EE;
  --h-color-neutral-200:  #DDE5E0;
  --h-color-neutral-300:  #C4D0C8;
  --h-color-neutral-400:  #98A79F;
  --h-color-neutral-500:  #6D7D74;
  --h-color-neutral-600:  #53635B;
  --h-color-neutral-700:  #3F4D46;
  --h-color-neutral-800:  #2B352F;
  --h-color-neutral-900:  #1A231D;
  --h-color-neutral-950:  #0F1613;
  --h-color-neutral-1000: #000000;

  /* Data-visualisation */
  --h-chart-1: #16A05C;
  --h-chart-2: #8AC318;
  --h-chart-3: #2E90FA;
  --h-chart-4: #F7AC28;
  --h-chart-5: #0C4F2F;
  --h-chart-6: #1849A9;
  --h-chart-7: #B0480C;
  --h-chart-8: #98A79F;

  /* Typographie */
  --h-font-family-display:   'Outfit', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --h-font-family-body:      'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  --h-font-family-mono:      ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, 'Liberation Mono', monospace;
  --h-font-size-2xs:         0.6875rem;
  --h-font-size-xs:          0.75rem;
  --h-font-size-sm:          0.8125rem;
  --h-font-size-md:          0.875rem;
  --h-font-size-base:        0.9375rem;
  --h-font-size-lg:          1rem;
  --h-font-size-xl:          1.125rem;
  --h-font-size-2xl:         1.25rem;
  --h-font-size-3xl:         1.5rem;
  --h-font-size-4xl:         1.875rem;
  --h-font-size-5xl:         2.25rem;
  --h-font-size-6xl:         3rem;
  --h-font-size-7xl:         3.75rem;
  --h-font-weight-regular:   400;
  --h-font-weight-medium:    500;
  --h-font-weight-semibold:  600;
  --h-font-weight-bold:      700;
  --h-font-weight-extrabold: 800;
  --h-font-leading-none:     1;
  --h-font-leading-tight:    1.2;
  --h-font-leading-snug:     1.35;
  --h-font-leading-normal:   1.5;
  --h-font-leading-relaxed:  1.65;
  --h-font-tracking-tighter: -0.03em;
  --h-font-tracking-tight:   -0.015em;
  --h-font-tracking-normal:  0;
  --h-font-tracking-wide:    0.02em;
  --h-font-tracking-wider:   0.06em;

  /* Espacements */
  --h-space-0:   0;
  --h-space-px:  1px;
  --h-space-0-5: 0.125rem;
  --h-space-1:   0.25rem;
  --h-space-1-5: 0.375rem;
  --h-space-2:   0.5rem;
  --h-space-2-5: 0.625rem;
  --h-space-3:   0.75rem;
  --h-space-3-5: 0.875rem;
  --h-space-4:   1rem;
  --h-space-5:   1.25rem;
  --h-space-6:   1.5rem;
  --h-space-7:   1.75rem;
  --h-space-8:   2rem;
  --h-space-9:   2.25rem;
  --h-space-10:  2.5rem;
  --h-space-12:  3rem;
  --h-space-14:  3.5rem;
  --h-space-16:  4rem;
  --h-space-20:  5rem;
  --h-space-24:  6rem;
  --h-space-32:  8rem;

  /* Rayons */
  --h-radius-none: 0;
  --h-radius-xs:   0.25rem;
  --h-radius-sm:   0.375rem;
  --h-radius-md:   0.5rem;
  --h-radius-lg:   0.625rem;
  --h-radius-xl:   0.75rem;
  --h-radius-2xl:  1rem;
  --h-radius-3xl:  1.5rem;
  --h-radius-full: 9999px;

  /* Ombres */
  --h-shadow-xs:    0 1px 2px 0 rgba(15, 22, 19, 0.05);
  --h-shadow-sm:    0 1px 3px 0 rgba(15, 22, 19, 0.08), 0 1px 2px -1px rgba(15, 22, 19, 0.06);
  --h-shadow-md:    0 4px 8px -2px rgba(15, 22, 19, 0.08), 0 2px 4px -2px rgba(15, 22, 19, 0.04);
  --h-shadow-lg:    0 12px 16px -4px rgba(15, 22, 19, 0.08), 0 4px 6px -2px rgba(15, 22, 19, 0.04);
  --h-shadow-xl:    0 20px 24px -4px rgba(15, 22, 19, 0.10), 0 8px 8px -4px rgba(15, 22, 19, 0.04);
  --h-shadow-2xl:   0 32px 48px -12px rgba(15, 22, 19, 0.20);
  --h-shadow-inner: inset 0 1px 2px 0 rgba(15, 22, 19, 0.06);
  --h-shadow-brand: 0 8px 20px -6px rgba(14, 124, 70, 0.35);

  /* Dimensions */
  --h-size-control-xs:        1.625rem;
  --h-size-control-sm:        2rem;
  --h-size-control-md:        2.375rem;
  --h-size-control-lg:        2.75rem;
  --h-size-control-xl:        3.25rem;
  --h-size-icon-xs:           0.875rem;
  --h-size-icon-sm:           1rem;
  --h-size-icon-md:           1.125rem;
  --h-size-icon-lg:           1.375rem;
  --h-size-icon-xl:           1.75rem;
  --h-size-avatar-xs:         1.5rem;
  --h-size-avatar-sm:         2rem;
  --h-size-avatar-md:         2.5rem;
  --h-size-avatar-lg:         3rem;
  --h-size-avatar-xl:         4rem;
  --h-size-sidebar:           16rem;
  --h-size-sidebar-collapsed: 4.25rem;
  --h-size-topbar:            3.75rem;
  --h-size-container:         80rem;
  --h-size-content:           45rem;

  /* Animations */
  --h-motion-duration-instant: 80ms;
  --h-motion-duration-fast:    140ms;
  --h-motion-duration-normal:  220ms;
  --h-motion-duration-slow:    360ms;
  --h-motion-ease-standard:    cubic-bezier(0.2, 0, 0.2, 1);
  --h-motion-ease-out:         cubic-bezier(0.16, 1, 0.3, 1);
  --h-motion-ease-in:          cubic-bezier(0.4, 0, 1, 1);
  --h-motion-ease-spring:      cubic-bezier(0.34, 1.4, 0.64, 1);

  /* Empilement (z-index) */
  --h-z-base:     0;
  --h-z-raised:   10;
  --h-z-sticky:   100;
  --h-z-sidebar:  200;
  --h-z-topbar:   300;
  --h-z-dropdown: 400;
  --h-z-overlay:  500;
  --h-z-modal:    600;
  --h-z-popover:  700;
  --h-z-toast:    800;
  --h-z-tooltip:  900;

  /* Points de rupture (reference JS) */
  --h-breakpoint-xs:  480px;
  --h-breakpoint-sm:  640px;
  --h-breakpoint-md:  768px;
  --h-breakpoint-lg:  1024px;
  --h-breakpoint-xl:  1280px;
  --h-breakpoint-2xl: 1536px;
}

/* --- Theme clair (defaut) --------------------------------------------------- */
:root,
[data-theme="light"] {
  color-scheme: light;
  --h-c-bg-app:             #F5F8F6;
  --h-c-bg-surface:         #FFFFFF;
  --h-c-bg-surface-alt:     #FAFCFB;
  --h-c-bg-sunken:          #ECF1EE;
  --h-c-bg-hover:           #ECF1EE;
  --h-c-bg-active:          #DDE5E0;
  --h-c-bg-inverse:         #1A231D;
  --h-c-bg-overlay:         rgba(15, 22, 19, 0.45);
  --h-c-border:             #DDE5E0;
  --h-c-border-strong:      #C4D0C8;
  --h-c-border-subtle:      #ECF1EE;
  --h-c-text:               #1A231D;
  --h-c-text-muted:         #53635B;
  --h-c-text-subtle:        #6D7D74;
  --h-c-text-disabled:      #98A79F;
  --h-c-text-inverse:       #FFFFFF;
  --h-c-text-link:          #0E7C46;
  --h-c-brand:              #0E7C46;
  --h-c-brand-hover:        #0C6339;
  --h-c-brand-active:       #0C4F2F;
  --h-c-brand-subtle:       #ECFDF3;
  --h-c-brand-subtle-hover: #D3F8E1;
  --h-c-brand-border:       #A8EFC5;
  --h-c-brand-text:         #0C6339;
  --h-c-on-brand:           #FFFFFF;
  --h-c-accent:             #8AC318;
  --h-c-accent-subtle:      #F6FDE8;
  --h-c-accent-border:      #D7F79A;
  --h-c-accent-text:        #517611;
  --h-c-success:            #0E7C46;
  --h-c-success-subtle:     #ECFDF3;
  --h-c-success-border:     #A8EFC5;
  --h-c-success-text:       #0C6339;
  --h-c-warning:            #D4670A;
  --h-c-warning-subtle:     #FFF8EB;
  --h-c-warning-border:     #FBDC8C;
  --h-c-warning-text:       #8F3910;
  --h-c-danger:             #D92D20;
  --h-c-danger-hover:       #B42318;
  --h-c-danger-subtle:      #FEF3F2;
  --h-c-danger-border:      #FECDCA;
  --h-c-danger-text:        #B42318;
  --h-c-info:               #1570EF;
  --h-c-info-subtle:        #EFF8FF;
  --h-c-info-border:        #B2DDFF;
  --h-c-info-text:          #1849A9;
  --h-c-focus-ring:         rgba(22, 160, 92, 0.35);
  --h-c-sidebar-bg:         #032517;
  --h-c-sidebar-text:       #D3F8E1;
  --h-c-sidebar-muted:      #71E0A4;
  --h-c-sidebar-hover:      rgba(255, 255, 255, 0.07);
  --h-c-sidebar-active:     #0C6339;
  --h-c-sidebar-border:     rgba(255, 255, 255, 0.08);
}

/* --- Theme sombre : force par l'attribut ------------------------------------ */
[data-theme="dark"] {
  color-scheme: dark;
  --h-c-bg-app:             #0F1613;
  --h-c-bg-surface:         #151E19;
  --h-c-bg-surface-alt:     #1A241E;
  --h-c-bg-sunken:          #0B110E;
  --h-c-bg-hover:           rgba(255, 255, 255, 0.05);
  --h-c-bg-active:          rgba(255, 255, 255, 0.09);
  --h-c-bg-inverse:         #ECF1EE;
  --h-c-bg-overlay:         rgba(0, 0, 0, 0.65);
  --h-c-border:             #26332C;
  --h-c-border-strong:      #35453B;
  --h-c-border-subtle:      #1D2822;
  --h-c-text:               #E7EFEA;
  --h-c-text-muted:         #9BAEA3;
  --h-c-text-subtle:        #7A8D83;
  --h-c-text-disabled:      #586A60;
  --h-c-text-inverse:       #0F1613;
  --h-c-text-link:          #71E0A4;
  --h-c-brand:              #41C983;
  --h-c-brand-hover:        #71E0A4;
  --h-c-brand-active:       #A8EFC5;
  --h-c-brand-subtle:       rgba(65, 201, 131, 0.12);
  --h-c-brand-subtle-hover: rgba(65, 201, 131, 0.18);
  --h-c-brand-border:       rgba(65, 201, 131, 0.32);
  --h-c-brand-text:         #71E0A4;
  --h-c-on-brand:           #032517;
  --h-c-accent:             #A6DE36;
  --h-c-accent-subtle:      rgba(166, 222, 54, 0.12);
  --h-c-accent-border:      rgba(166, 222, 54, 0.30);
  --h-c-accent-text:        #BEED63;
  --h-c-success:            #41C983;
  --h-c-success-subtle:     rgba(65, 201, 131, 0.12);
  --h-c-success-border:     rgba(65, 201, 131, 0.30);
  --h-c-success-text:       #71E0A4;
  --h-c-warning:            #F7AC28;
  --h-c-warning-subtle:     rgba(247, 172, 40, 0.12);
  --h-c-warning-border:     rgba(247, 172, 40, 0.30);
  --h-c-warning-text:       #F9C450;
  --h-c-danger:             #F04438;
  --h-c-danger-hover:       #F97066;
  --h-c-danger-subtle:      rgba(240, 68, 56, 0.12);
  --h-c-danger-border:      rgba(240, 68, 56, 0.30);
  --h-c-danger-text:        #FDA29B;
  --h-c-info:               #53B1FD;
  --h-c-info-subtle:        rgba(83, 177, 253, 0.12);
  --h-c-info-border:        rgba(83, 177, 253, 0.30);
  --h-c-info-text:          #84CAFF;
  --h-c-focus-ring:         rgba(65, 201, 131, 0.40);
  --h-c-sidebar-bg:         #0B110E;
  --h-c-sidebar-text:       #D6E5DC;
  --h-c-sidebar-muted:      #8CA396;
  --h-c-sidebar-hover:      rgba(255, 255, 255, 0.06);
  --h-c-sidebar-active:     #0C6339;
  --h-c-sidebar-border:     rgba(255, 255, 255, 0.07);
}

/* --- Theme sombre : preference systeme (si aucun choix explicite) ----------- */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    color-scheme: dark;
    --h-c-bg-app:             #0F1613;
    --h-c-bg-surface:         #151E19;
    --h-c-bg-surface-alt:     #1A241E;
    --h-c-bg-sunken:          #0B110E;
    --h-c-bg-hover:           rgba(255, 255, 255, 0.05);
    --h-c-bg-active:          rgba(255, 255, 255, 0.09);
    --h-c-bg-inverse:         #ECF1EE;
    --h-c-bg-overlay:         rgba(0, 0, 0, 0.65);
    --h-c-border:             #26332C;
    --h-c-border-strong:      #35453B;
    --h-c-border-subtle:      #1D2822;
    --h-c-text:               #E7EFEA;
    --h-c-text-muted:         #9BAEA3;
    --h-c-text-subtle:        #7A8D83;
    --h-c-text-disabled:      #586A60;
    --h-c-text-inverse:       #0F1613;
    --h-c-text-link:          #71E0A4;
    --h-c-brand:              #41C983;
    --h-c-brand-hover:        #71E0A4;
    --h-c-brand-active:       #A8EFC5;
    --h-c-brand-subtle:       rgba(65, 201, 131, 0.12);
    --h-c-brand-subtle-hover: rgba(65, 201, 131, 0.18);
    --h-c-brand-border:       rgba(65, 201, 131, 0.32);
    --h-c-brand-text:         #71E0A4;
    --h-c-on-brand:           #032517;
    --h-c-accent:             #A6DE36;
    --h-c-accent-subtle:      rgba(166, 222, 54, 0.12);
    --h-c-accent-border:      rgba(166, 222, 54, 0.30);
    --h-c-accent-text:        #BEED63;
    --h-c-success:            #41C983;
    --h-c-success-subtle:     rgba(65, 201, 131, 0.12);
    --h-c-success-border:     rgba(65, 201, 131, 0.30);
    --h-c-success-text:       #71E0A4;
    --h-c-warning:            #F7AC28;
    --h-c-warning-subtle:     rgba(247, 172, 40, 0.12);
    --h-c-warning-border:     rgba(247, 172, 40, 0.30);
    --h-c-warning-text:       #F9C450;
    --h-c-danger:             #F04438;
    --h-c-danger-hover:       #F97066;
    --h-c-danger-subtle:      rgba(240, 68, 56, 0.12);
    --h-c-danger-border:      rgba(240, 68, 56, 0.30);
    --h-c-danger-text:        #FDA29B;
    --h-c-info:               #53B1FD;
    --h-c-info-subtle:        rgba(83, 177, 253, 0.12);
    --h-c-info-border:        rgba(83, 177, 253, 0.30);
    --h-c-info-text:          #84CAFF;
    --h-c-focus-ring:         rgba(65, 201, 131, 0.40);
    --h-c-sidebar-bg:         #0B110E;
    --h-c-sidebar-text:       #D6E5DC;
    --h-c-sidebar-muted:      #8CA396;
    --h-c-sidebar-hover:      rgba(255, 255, 255, 0.06);
    --h-c-sidebar-active:     #0C6339;
    --h-c-sidebar-border:     rgba(255, 255, 255, 0.07);
  }
}
