/*
  Charte graphique Deepdef (03/11/2026), commune à tout DeepPulse : police Poppins hébergée dans le projet
  (licence SIL Open Font License, commun/static/commun/polices/OFL.txt ; jamais chargée depuis Google Fonts),
  couleurs de la marque, logo, thème clair et sombre.

  Thème : un seul mécanisme. L'attribut data-theme de <html> vient de la fiche de la personne (Clair ou Sombre,
  bouton de l'en-tête) : « light » et « dark » l'imposent ; sans choix (« auto », par défaut), le réglage de
  l'ordinateur. Cette feuille est chargée après les styles propres à chaque page : elle redéfinit les couleurs de
  la marque (fond, texte, bordures, accents) et laisse les couleurs d'alerte et les bandeaux de développement
  tels quels. Le bleu de la marque ne sert jamais à signaler un problème.
*/

@font-face { font-family: "Poppins"; font-style: normal; font-weight: 400; font-display: swap;
  src: url("polices/poppins-latin-400-normal.9212f6f9860f.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Poppins"; font-style: normal; font-weight: 400; font-display: swap;
  src: url("polices/poppins-latin-ext-400-normal.aa42a9a3d4fc.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Poppins"; font-style: normal; font-weight: 700; font-display: swap;
  src: url("polices/poppins-latin-700-normal.25b0e113ca7c.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Poppins"; font-style: normal; font-weight: 700; font-display: swap;
  src: url("polices/poppins-latin-ext-700-normal.08561ea67d7f.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Poppins"; font-style: normal; font-weight: 900; font-display: swap;
  src: url("polices/poppins-latin-900-normal.5426bf50c845.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Poppins"; font-style: normal; font-weight: 900; font-display: swap;
  src: url("polices/poppins-latin-ext-900-normal.644a2014d1f1.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }

/* Sélecteurs html:root, chargés après les styles de la page : ils l'emportent sur les couleurs propres à chaque
   page et sur celles de l'écran d'administration de Django (html[data-theme], même priorité, chargé avant). */
/* --- Couleurs de la marque : thème clair (fond blanc, texte noir, accents Deep Bleu Web #0c00ff) --- */
html:root{color-scheme:light;
  --marque:#0c00ff;--accent-fort:#0700b0;
  --bg:#ffffff;--card:#f4f4f7;--surface:#ffffff;--text:#000000;--text2:#3a3a40;--muted:#55555c;
  --border:#dcdce2;--border-strong:#9e9ea8;--accent:#0c00ff;--accent-bg:#e8edff;--sur-accent:#ffffff;
  --plein:#0c00ff;--plein-fort:#0700b0;--sur-plein:#ffffff}
/* Fonds pleins (boutons principaux, lien de la page affichée, onglet actif, bandeaux de rubrique, montant vendu) :
   bleu électrique #0c00ff avec texte blanc dans les deux thèmes (contraste 8,5:1). Le texte et les liens
   posés sur le fond sombre prennent un bleu clair franc, #5b8cff (contraste ≥ 5:1) : #0c00ff y est illisible
   (2,2:1, essayé le 03/11/2026) et un simple éclaircissement de #0c00ff (#8680ff) tire vers le violet. */
/* --- Thème sombre : fond gris très foncé, texte blanc, bleu clair franc pour le texte --- */
@media (prefers-color-scheme: dark){html:root:not([data-theme="light"]){color-scheme:dark;--accent-fort:#8fb0ff;
  --bg:#121212;--card:#1b1b1d;--surface:#202022;--text:#ffffff;--text2:#d8d8de;--muted:#b4b4bc;
  --border:#3a3a40;--border-strong:#6c6c76;--accent:#5b8cff;--accent-bg:#101a3d;--sur-accent:#000000;
  --plein:#0c00ff;--plein-fort:#3a30ff;--sur-plein:#ffffff}}
html:root[data-theme="dark"]{color-scheme:dark;--accent-fort:#8fb0ff;
  --bg:#121212;--card:#1b1b1d;--surface:#202022;--text:#ffffff;--text2:#d8d8de;--muted:#b4b4bc;
  --border:#3a3a40;--border-strong:#6c6c76;--accent:#5b8cff;--accent-bg:#101a3d;--sur-accent:#000000;
  --plein:#0c00ff;--plein-fort:#3a30ff;--sur-plein:#ffffff}

/* --- Typographie : Poppins Regular pour le texte et les tableaux, Bold pour les intertitres et le gras, Black en
   capitales pour les titres de page. Chiffres à chasse fixe dans les tableaux (colonnes alignées). --- */
body{font-family:"Poppins",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-weight:400}
b,strong,th{font-weight:700}
h2,h3,.intertitre{font-weight:700}
h1,.titre-page{font-weight:900;text-transform:uppercase;letter-spacing:.02em}
/* Poppins n'a pas de chiffres à chasse fixe (« 1 » plus étroit que « 8 ») : les nombres des tableaux et des
   indicateurs prennent une police système qui en a (Segoe UI, sinon Arial, sinon Liberation Sans, son équivalent
   libre aux mêmes largeurs, sous Linux), pour que les colonnes restent alignées ; tout le reste du texte est en
   Poppins. Chiffres fixes (tabular-nums) et sans crénage : une police peut resserrer des paires comme « 11 ». */
:root{--police-chiffres:"Segoe UI",Arial,"Liberation Sans",system-ui,sans-serif}
td,th,.kpi .v{font-variant-numeric:tabular-nums;font-kerning:none}
td:not(.l):not(.stk),.kpi .v,input.c,.chiffres{font-family:var(--police-chiffres);font-variant-numeric:tabular-nums;font-kerning:none}
button,input,select,textarea{font-family:inherit}
a{color:var(--accent)}

/* --- En-tête commun : « DeepPulse » et les liens de navigation à gauche ; bouton de thème, personne connectée et
   logo Deepdef (couleur en thème clair, blanc en thème sombre) à droite. Zone libre autour du logo égale au
   pentagone central (0,6 fois la hauteur du logo) ; logo jamais déformé (hauteur fixe, largeur automatique). --- */
.marque{display:flex;align-items:center;gap:8px 20px;flex-wrap:wrap;padding:0 16px;max-width:1400px;margin:0 auto;
  font-size:14px;line-height:1.4}
.marque .nom-outil{font-size:20px;letter-spacing:-.01em;color:var(--text);text-decoration:none;white-space:nowrap}
/* Écrit comme le logo Deepdef : « Deep » en Regular, « Pulse » en gras. */
.marque .nom-debut{font-weight:400}.marque .nom-fin{font-weight:700}
.marque .navigation{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.marque .lien-nav{display:inline-block;border:1px solid transparent;background:transparent;color:var(--text);
  border-radius:8px;padding:4px 10px;font:inherit;font-size:14px;text-decoration:none;cursor:pointer;margin:0}
.marque .lien-nav:hover,.marque .lien-nav:focus-visible{color:var(--accent);border-color:var(--accent);text-decoration:none}
.marque .lien-nav[aria-current="page"],.marque .retour-outil{color:var(--sur-plein);background:var(--plein);
  border-color:var(--plein);font-weight:700}
.marque .lien-nav[aria-current="page"]:hover,.marque .retour-outil:hover,.marque .lien-nav[aria-current="page"]:focus-visible,
.marque .retour-outil:focus-visible{color:var(--sur-plein);background:var(--plein-fort);border-color:var(--plein-fort)}
/* Fonds pleins des pages : boutons principaux, onglet actif, montant vendu. */
.btn.principal:not(:disabled){background:var(--plein);border-color:var(--plein);color:var(--sur-plein)}
.tab[aria-current="page"]{background:var(--plein);border-color:var(--plein);color:var(--sur-plein)}
.kpi.eur{background:var(--plein);border-color:var(--plein)}
.kpi.eur .l,.kpi.eur .v{color:var(--sur-plein)}
.marque .deconnexion{margin:0;display:inline}
.marque .droite{margin-left:auto;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:0 12px}
.marque .personne{color:var(--text);font-weight:700}
.marque .zone-logo{--hauteur-logo:32px;--zone-libre:calc(var(--hauteur-logo) * .6);display:block;padding:var(--zone-libre)}
.marque .logo{height:var(--hauteur-logo);width:auto;max-width:none;display:block}
.logo-sombre{display:none!important}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .logo-clair{display:none!important}
  :root:not([data-theme="light"]) .logo-sombre{display:block!important}}
:root[data-theme="dark"] .logo-clair{display:none!important}
:root[data-theme="dark"] .logo-sombre{display:block!important}

/* --- Bouton de thème de l'en-tête --- */
.bouton-theme,.bouton-theme form{margin:0}
/* Le bouton propose l'autre thème que celui à l'écran : « Passer au thème sombre » en clair, et inversement. */
.bouton-theme .vers-clair{display:none}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .bouton-theme .vers-sombre{display:none}
  :root:not([data-theme="light"]) .bouton-theme .vers-clair{display:block}}
:root[data-theme="dark"] .bouton-theme .vers-sombre{display:none}
:root[data-theme="dark"] .bouton-theme .vers-clair{display:block}
.bouton-theme button{border:1px solid var(--border-strong);background:transparent;color:var(--text);border-radius:8px;
  padding:4px 12px;font-size:13px;cursor:pointer}
.bouton-theme button:hover,.bouton-theme button:focus-visible{border-color:var(--accent);color:var(--accent)}
