/* ═══════════════════════════════════════════════════════════════════════
   PVOS PRO — LES JETONS. La source UNIQUE des valeurs du theme.

   Charge par le bureau (`app_include_css`, juste avant `pvos-theme.css`) ET
   par l'ecran de connexion (`web_include_css`, avant `pvos-connexion.css`) :
   une valeur recopiee dans deux feuilles finit toujours par diverger.

   Uniquement des proprietes `--pv-*` — aucune regle de composant ici.
   Documentation et contrastes mesures : docs/architecture/THEME_CLAIR.md
   `:root:root` pese (0,2,0) : voir l'en-tete de `pvos-theme.css`.
   ═══════════════════════════════════════════════════════════════════════ */

:root:root {
  /* Sols et bords — contrastes mesures, voir THEME_CLAIR.md § Couleurs */
  --pv-canvas: #f5f6f8;          /* fond de page */
  --pv-surface: #ffffff;         /* carte, fiche, barre laterale */
  --pv-surface-2: #f8f9fa;       /* en-tete de tableau, survol de ligne */
  --pv-surface-3: #f0f2f4;       /* survol d'un bouton neutre */
  --pv-border: #e2e5e9;          /* filet courant (decoratif) */
  --pv-border-strong: #cfd4da;   /* bord d'un bouton secondaire */
  --pv-border-input: #8a929c;    /* bord d'un champ : 3,15:1 sur blanc (WCAG 1.4.11) */

  /* Encres */
  --pv-text: #1d2126;            /* 16,2:1 sur blanc */
  --pv-text-2: #4a525c;          /*  7,9:1 */
  --pv-text-3: #5f6873;          /*  5,65:1 — le plus clair admis pour un texte */

  /* La marque, retenue : une action principale, un lien, une selection */
  --pv-brand: #1f7a70;           /* fond d'action ; blanc dessus 5,15:1 */
  --pv-brand-hover: #19665e;     /* blanc dessus 6,8:1 */
  --pv-brand-active: #14534c;
  --pv-brand-soft: #e8f3f1;      /* selection, entree active */
  --pv-brand-ink: #17635b;       /* texte de marque : 7,1:1 sur blanc */
  --pv-focus: #1f7a70;           /* anneau de focus : 5,15:1 sur blanc */

  /* Etats — fond pastel, encre >= 5,7:1 sur son fond */
  --pv-success: #1a6b3c;  --pv-success-soft: #e7f5ec;
  --pv-warning: #8a4a04;  --pv-warning-soft: #fdf0d9;
  --pv-danger: #b42318;   --pv-danger-soft: #fdebe9;   --pv-danger-hover: #93190f;
  --pv-info: #1d4f94;     --pv-info-soft: #e8f0fb;
  --pv-neutral: #454d56;  --pv-neutral-soft: #eef0f3;

  /* Typographie — Inter, servie par le cadre lui-meme (aucune police externe) */
  --pv-font: "InterVariable", "Inter", -apple-system, BlinkMacSystemFont,
             "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --pv-fs-title: 22px;   --pv-lh-title: 28px;     /* titre de page */
  --pv-fs-section: 15px; --pv-lh-section: 22px;   /* titre de section */
  --pv-fs-body: 14px;    --pv-lh-body: 20px;      /* texte, valeur de champ */
  --pv-fs-dense: 13px;   --pv-lh-dense: 18px;     /* ligne de liste, libelle */
  --pv-fs-small: 12px;   --pv-lh-small: 16px;     /* en-tete de tableau, aide */

  /* Espacement — une echelle de 4 */
  --pv-1: 4px; --pv-2: 8px; --pv-3: 12px; --pv-4: 16px;
  --pv-5: 20px; --pv-6: 24px; --pv-8: 32px;

  /* Rayons — quatre, pas un de plus */
  --pv-radius-sm: 6px;       /* bouton, champ */
  --pv-radius-md: 8px;       /* carte, menu, tableau */
  --pv-radius-lg: 12px;      /* dialogue */
  --pv-radius-full: 999px;   /* pastille d'etat, avatar */

  /* Hauteurs */
  --pv-control-h: 32px;      /* bouton et champ au bureau */
  --pv-control-h-sm: 28px;
  --pv-touch: 44px;          /* cible tactile minimale */
  --pv-row-h: 44px;          /* ligne de liste */
  --pv-head-h: 56px;         /* en-tete de page, entete de barre */
  --pv-sidebar-w: 240px;
  --pv-sidebar-w-collapsed: 64px;

  /* Ombre — les couches FLOTTANTES seulement (menu, dialogue, tiroir, toast) */
  --pv-shadow-overlay: 0 12px 32px -8px rgba(16, 24, 40, .18), 0 2px 6px rgba(16, 24, 40, .06);

  /* Mouvement */
  --pv-motion: 120ms;
  --pv-ease: cubic-bezier(.2, .7, .2, 1);
}

@media (max-width: 767.98px) {
  :root:root {
    --pv-control-h: 44px;
    --pv-control-h-sm: 44px;
    --pv-fs-title: 18px; --pv-lh-title: 24px;
  }
}


/* ── LE SOMBRE DU CADRE — 19/09/2026, a la demande du commanditaire ────────
   Aucune couleur neuve : chaque jeton est re-pointe sur la palette que le
   cadre pose lui-meme en sombre (`frappe/public/scss/desk/dark.scss`), que
   PVOS ne redefinit nulle part. `[data-theme="dark"]` pese (0,3,0) et passe
   donc devant le bloc clair (0,2,0) ; les jetons du cadre que
   `pvos-theme.css` re-pointe sur `--pv-*` suivent d'eux-memes. La marque
   garde sa sarcelle en aplat ; ses textes passent a l'echelle `--teal-*`. */
:root:root[data-theme="dark"] {
  --pv-canvas: var(--gray-900);
  --pv-surface: var(--gray-800);
  --pv-surface-2: var(--gray-800);
  --pv-surface-3: var(--gray-700);
  --pv-border: var(--gray-700);
  --pv-border-strong: var(--gray-600);
  --pv-border-input: var(--gray-500);

  --pv-text: var(--gray-50);
  --pv-text-2: var(--gray-300);
  --pv-text-3: var(--gray-400);

  --pv-brand-soft: var(--teal-900);
  --pv-brand-ink: var(--teal-300);
  --pv-focus: var(--teal-400);

  --pv-success: var(--green-300);  --pv-success-soft: var(--green-900);
  --pv-warning: var(--yellow-300); --pv-warning-soft: var(--yellow-900);
  --pv-danger: var(--red-300);     --pv-danger-soft: var(--red-900);  --pv-danger-hover: var(--red-200);
  --pv-info: var(--blue-300);      --pv-info-soft: var(--blue-900);
  --pv-neutral: var(--gray-300);   --pv-neutral-soft: var(--gray-700);

  --pv-shadow-overlay: 0 12px 32px -8px rgba(0, 0, 0, .6), 0 2px 6px rgba(0, 0, 0, .4);

  color-scheme: dark;
}
