/*
 * tokens.css — Design tokens partagés (P2.1, 2026-05-11).
 * Source unique pour : tool/index.php, api/view.php, tool/login.php, tool/devices.php.
 * Édite uniquement ICI pour propager partout. Les valeurs étaient dupliquées dans
 * 4 fichiers, ce qui posait un risque de divergence (cf. bug cyrillique --bg vu en
 * mai 2026 dans view.php).
 */

:root{
  /* ── Canvas (warm sand scale) ────────────────────────── */
  --bg:#ebebe8;--sf:#f9f8f5;--s2:#f0eeea;--s3:#e6e3db;--s4:#d8d4cc;

  /* ── Borders (translucide black, conserve la teinte) ─── */
  --bd:rgba(0,0,0,.10);--bd2:rgba(0,0,0,.17);--bd3:rgba(0,0,0,.25);

  /* ── Text scale ──────────────────────────────────────── */
  --tx:#1a1a17;--tx2:#4a4a45;--tx3:#67675e; /* tx3 assombri (était #8a8a80, 3,3:1) — ≥4,5:1 sur fonds clairs, audit 2026-06-10 */

  /* ── 6 hues sémantiques (ink / bg / tx) ──────────────── */
  --G:#0a6b45;--Gbg:#d4ede3;--Gtx:#074030; /* prest / paid / positif */
  --R:#a02b10;--Rbg:#f5e0d8;--Rtx:#641b08; /* frais / négatif */
  --B:#1550a0;--Bbg:#d4e4f8;--Btx:#0c3068; /* dépl / déclaré */
  --A:#7a4e04;--Abg:#f5e8c0;--Atx:#4a2e02; /* à déclarer / warning */
  --V:#4030a0;--Vbg:#e4e0f8;--Vtx:#281870; /* coordination / violet */
  --T:#087068;--Tbg:#cce8e4;--Ttx:#044440; /* remboursé / teal */

  /* ── Month-header band (inversed) ────────────────────── */
  --MHbg:#3a3935;--MHtx:#ede9e0;--MHsub:rgba(237,233,224,.45);

  /* ── Row accent washes ───────────────────────────────── */
  --Pbg:rgba(10,107,69,.06);
  --Dbg:rgba(21,80,160,.06);
  --Fbg:rgba(160,43,16,.06);

  /* ── Highlight (primary action) ──────────────────────── */
  --HL:#6b8f71;--HLbg:rgba(107,143,113,.12);--HLtx:#3a5c3e;

  /* ── Radius ──────────────────────────────────────────── */
  --r:5px;--rl:12px; /* rl 9→12 : radius « cards » unifié sur la vue client (tranche 3, 2026-06-10) */
  --shadow-card:0 1px 3px rgba(0,0,0,.09),0 2px 6px rgba(0,0,0,.06); /* ombre douce de la vue client (2026-06-10) */

  /* ── Shadow system ───────────────────────────────────── */
  --sh:0 1px 3px rgba(0,0,0,.09),0 2px 6px rgba(0,0,0,.06);
  --shl:0 4px 14px rgba(0,0,0,.13),0 2px 5px rgba(0,0,0,.08);
  --shcard:var(--shadow-card); /* alias legacy — unifié sur l'ombre « vue client » (2026-06-10) */

  /* ── Typographie ────────────────────────────────────── */
  --font-system:-apple-system,BlinkMacSystemFont,'Segoe UI','Helvetica Neue',Arial,sans-serif;
  --font-sans:var(--font-system); /* alias compat login.php / devices.php */
  --font-mono:ui-monospace,SFMono-Regular,'SF Mono',Menlo,Consolas,monospace;
  --fs-xs:10px;--fs-sm:11px;--fs-md:12px;--fs-base:13px;--fs-lg:14px;--fs-xl:15px;--fs-kpi:17px;--fs-kpi-lg:18px;
  --lh-tight:1.15;--lh-dense:1.25;--lh-body:1.5;
  --tracking-caps:.04em;--tracking-loose:.10em;
}

/* Bump typo mobile (2026-05-12) — compensation du no-zoom verrou.
   +2px partout sur ≤600px pour rester lisible à distance variable (bras/bureau). */
@media (max-width: 600px) {
  :root {
    --fs-xs:12px;--fs-sm:13px;--fs-md:14px;--fs-base:15px;--fs-lg:16px;--fs-xl:17px;
    --fs-kpi:19px;--fs-kpi-lg:20px;
  }
  /* 3 paliers user (toggle Réglages → Taille du texte) : Normal / Grand / Très grand.
     Cohérent avec iOS Dynamic Type. Stocké en localStorage('text-size').
     Si le user a besoin de plus, il reste le zoom OS-level (accessibility zoom iOS). */
  html[data-text-size="grand"] {
    --fs-xs:14px;--fs-sm:15px;--fs-md:16px;--fs-base:17px;--fs-lg:18px;--fs-xl:20px;
    --fs-kpi:22px;--fs-kpi-lg:23px;
  }
  html[data-text-size="tres-grand"] {
    --fs-xs:16px;--fs-sm:17px;--fs-md:18px;--fs-base:19px;--fs-lg:21px;--fs-xl:23px;
    --fs-kpi:25px;--fs-kpi-lg:26px;
  }
}
