/* Design tokens SIRC — seule source des couleurs, tailles, rayons et durées.
   Les variables --brand-* et --accent-* sont des valeurs PAR DÉFAUT : le serveur les remplace
   par les couleurs réglées en base (sirc_ui.color.Theme). Ne jamais écrire un code couleur ailleurs.
   tests/test_color.py vérifie que ces valeurs restent égales au calcul de Theme(). */

@font-face {
  font-family: "Inter";
  src: url("../fonts/inter-latin.260c81a4759b.woff2") format("woff2");
  font-weight: 400 600;
  font-style: normal;
  font-display: swap;
}

:root {
  color-scheme: light;

  /* Marque — primaire orange Côte d'Ivoire (défaut) */
  --brand: #F77F00;
  --chart-1: #2F9E5A;  /* données : validées (clarté, chroma, daltonisme, contraste) */
  --chart-2: #C2410C;
  --brand-press: #D26C00;
  --brand-ink: #141413;
  --brand-text: #AA5800;
  --brand-soft: rgba(247, 127, 0, 0.12);
  --accent: #1E5631;
  --accent-press: #1A4C2B;
  --accent-ink: #FFFFFF;
  --accent-text: #1E5631;
  --accent-soft: rgba(30, 86, 49, 0.16);
  --brand-hero-from: #B75E00;
  --brand-hero-to: #E67600;
  --brand-hero-ink: #FFFFFF;
  --bg: #FFFFFF;
  --surface: #FFFFFF;
  --surface-2: #F3F5F3;
  --text: #141413;
  --text-2: #5F6560;
  --border: #E3E7E3;
  --success: #2E7D4F;
  --warning: #C9902B;
  --danger: #C0392B;
  --success-soft: rgba(46, 125, 79, .12);
  --warning-soft: rgba(201, 144, 43, .16);
  --danger-soft: rgba(192, 57, 43, .10);
  --success-text: #24663F;
  --warning-text: #7F5810;
  --danger-text: #A3302A;
  --info: #2563EB;
  --info-soft: rgba(37, 99, 235, .10);
  --info-text: #1D4ED8;
  --scrim: rgba(20, 20, 19, .32);
  --glass: rgba(255, 255, 255, .76);
  --glass-border: rgba(20, 20, 19, .07);
  --shadow-1: 0 0 0 1px rgba(20, 20, 19, .06), 0 1px 3px rgba(20, 20, 19, .05);
  --shadow-2: 0 8px 32px rgba(20, 20, 19, .10), 0 2px 6px rgba(20, 20, 19, .05);
  --shadow-3: 0 24px 64px rgba(20, 20, 19, .18), 0 4px 12px rgba(20, 20, 19, .06);
  --skeleton: #ECEFEC;
  --camera: #0B0D0C;
  --camera-text: #F2F5F2;
  --flag-white: #FFFFFF;
  --qr-bg: #FFFFFF;

  /* Typographie */
  --font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --fs-h1: 24px;
  --fs-h2: 20px;
  --fs-h3: 17px;
  --fs-body: 15px;
  --fs-small: 13px;
  --lh: 1.4;

  /* Espacement : 4 / 8 / 12 / 16 / 24 / 32 uniquement */
  --s1: 4px;
  --s2: 8px;
  --s3: 12px;
  --s4: 16px;
  --s5: 24px;
  --s6: 32px;
  --gutter: 16px;

  /* Rayons */
  --r-field: 14px;
  --r-card: 20px;
  --r-sheet: 28px;
  --r-pill: 999px;

  /* Mouvement */
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-spring: cubic-bezier(0.34, 1.36, 0.64, 1);
  --t-fast: 150ms;
  --t-base: 200ms;
  --t-slow: 300ms;

  /* Tailles */
  --touch: 48px;
  --icon: 20px;
  --nav-h: 64px;
  --sidebar-w: 248px;
  --safe-b: env(safe-area-inset-bottom, 0px);
  --safe-t: env(safe-area-inset-top, 0px);
}

@media (min-width: 900px) {
  :root { --gutter: 24px; }
}

/* Sombre : suit le système, sauf choix manuel */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    color-scheme: dark;
    --brand: #EB7900;
  --chart-1: #3DAE63;
  --chart-2: #D9541F;
    --chart-1: #3DAE63;
    --chart-2: #D9541F;
    --brand-press: #ED891F;
    --brand-ink: #141413;
    --brand-text: #EB7900;
    --brand-soft: rgba(235, 121, 0, 0.18);
    --accent: #3B6C4C;
    --accent-press: #537E61;
    --accent-ink: #FFFFFF;
    --accent-text: #6E927B;
    --accent-soft: rgba(59, 108, 76, 0.2);
    --brand-hero-from: #B75E00;
    --brand-hero-to: #E67600;
    --brand-hero-ink: #FFFFFF;
    --bg: #111412;
    --surface: #1A1E1B;
    --surface-2: #232824;
    --text: #F2F5F2;
    --text-2: #A3ABA5;
    --border: #2E3530;
    --success: #5FB283;
    --warning: #DDA94B;
    --danger: #E06A5E;
    --success-soft: rgba(95, 178, 131, .16);
    --warning-soft: rgba(221, 169, 75, .16);
    --danger-soft: rgba(224, 106, 94, .16);
    --success-text: #84C7A1;
    --warning-text: #E6BC6B;
    --danger-text: #EC8A80;
    --info: #6EA8FE;
    --info-soft: rgba(110, 168, 254, .16);
    --info-text: #8DB9FE;
    --scrim: rgba(0, 0, 0, .5);
    --glass: rgba(26, 30, 27, .74);
    --glass-border: rgba(255, 255, 255, .08);
    --shadow-1: 0 0 0 1px rgba(255, 255, 255, .06), 0 1px 2px rgba(0, 0, 0, .3);
    --shadow-2: 0 8px 32px rgba(0, 0, 0, .35);
    --shadow-3: 0 24px 64px rgba(0, 0, 0, .5);
    --skeleton: #232824;
  }
}

:root[data-theme="dark"] {
  color-scheme: dark;
  --brand: #EB7900;
  --chart-1: #3DAE63;
  --chart-2: #D9541F;
  --brand-press: #ED891F;
  --brand-ink: #141413;
  --brand-text: #EB7900;
  --brand-soft: rgba(235, 121, 0, 0.18);
  --accent: #3B6C4C;
  --accent-press: #537E61;
  --accent-ink: #FFFFFF;
  --accent-text: #6E927B;
  --accent-soft: rgba(59, 108, 76, 0.2);
  --brand-hero-from: #B75E00;
  --brand-hero-to: #E67600;
  --brand-hero-ink: #FFFFFF;
  --bg: #111412;
  --surface: #1A1E1B;
  --surface-2: #232824;
  --text: #F2F5F2;
  --text-2: #A3ABA5;
  --border: #2E3530;
  --success: #5FB283;
  --warning: #DDA94B;
  --danger: #E06A5E;
  --success-soft: rgba(95, 178, 131, .16);
  --warning-soft: rgba(221, 169, 75, .16);
  --danger-soft: rgba(224, 106, 94, .16);
  --success-text: #84C7A1;
  --warning-text: #E6BC6B;
  --danger-text: #EC8A80;
  --info: #6EA8FE;
  --info-soft: rgba(110, 168, 254, .16);
  --info-text: #8DB9FE;
  --scrim: rgba(0, 0, 0, .5);
  --glass: rgba(26, 30, 27, .74);
  --glass-border: rgba(255, 255, 255, .08);
  --shadow-1: 0 0 0 1px rgba(255, 255, 255, .06), 0 1px 2px rgba(0, 0, 0, .3);
  --shadow-2: 0 8px 32px rgba(0, 0, 0, .35);
  --shadow-3: 0 24px 64px rgba(0, 0, 0, .5);
  --skeleton: #232824;
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --t-fast: 1ms;
    --t-base: 120ms;
    --t-slow: 160ms;
  }
}
