/* ==========================================================================
   ExcaliDash (fresques.universite-du-nous.org) aux couleurs de l'UdN
   --------------------------------------------------------------------------
   Cette feuille est INJECTÉE par nginx-proxy (sub_filter, juste avant </head>,
   fichier vhost.d/fresques.universite-du-nous.org). AUCUN fichier de l'image
   `zimengxiong/excalidash-frontend` n'est remplacé : rien à re-vérifier à
   chaque mise à jour d'ExcaliDash. Pour tout retirer, commenter la directive
   sub_filter et recharger nginx-proxy.

   POURQUOI PAS le nginx d'ExcaliDash, comme sur Meet : depuis la 0.6.0 le
   server{} vit dans /etc/nginx/nginx.conf (et conf.d/ n'est plus inclus du
   tout). Le surcharger nous rendrait responsables de re-synchroniser leurs
   en-têtes de sécurité (CSP, X-Frame-Options…) à chaque version, en silence.

   Charte : https://universite-du-nous.org
     bleu de marque   #009de5      gris-bleu  #658791
     bleu lisible     #01669e      vert       #9cc264
     bleu sombre      #38c0f8      police     Poppins

   ACCESSIBILITÉ — la règle qu'on s'est donnée le 2026-08-14 :
   #009de5 ne fait que 3,0:1 sur blanc. Il va donc sur les APLATS (fonds de
   boutons, anneaux de focus) ; tout ce qui est TEXTE bleu prend #01669e
   (6,2:1). En mode sombre, #38c0f8 (9,05:1 sur fond sombre) — et surtout pas
   #01669e, qui y tombe à 3,0:1.
   ========================================================================== */

@import url("/branding/poppins.css");

/* --------------------------------------------------------------------------
   1. Le tableau de bord — classes utilitaires Tailwind
   --------------------------------------------------------------------------
   ExcaliDash n'expose pas de variable de thème pour son interface : les bleus
   sont écrits en dur dans des classes Tailwind. On surcharge donc EXACTEMENT
   les 13 classes présentes dans le bundle (relevées, pas devinées), sans en
   inventer d'autres. Ces noms sont ceux de Tailwind, stables d'une version à
   l'autre — contrairement aux noms de fichiers du build.
   -------------------------------------------------------------------------- */

/* Aplats : le vrai bleu de marque. */
.bg-blue-600 { background-color: #009de5 !important; }
.hover\:bg-blue-700:hover { background-color: #01669e !important; }
.bg-blue-50 { background-color: #f0f9ff !important; }

/* Textes et liens : jamais le bleu de marque, il serait illisible. */
.text-blue-600 { color: #01669e !important; }
.hover\:text-blue-500:hover { color: #01507d !important; }
.text-blue-800 { color: #014e78 !important; }
.text-blue-900 { color: #013a5a !important; }

/* Bordures et focus. */
.border-blue-100 { border-color: #e0f3fe !important; }
.border-blue-200,
.group:hover .group-hover\:border-blue-200 { border-color: #bae7fd !important; }
.border-blue-300 { border-color: #7dd5fc !important; }
.focus\:border-blue-500:focus { border-color: #009de5 !important; }
.focus\:ring-blue-500:focus { --tw-ring-color: #009de5 !important; }

/* --------------------------------------------------------------------------
   2. Le canvas Excalidraw — là, ce sont de vraies variables
   --------------------------------------------------------------------------
   Le bundle les déclare sur `:root` (spécificité 0,1,0). Notre feuille étant
   chargée APRÈS la sienne, à spécificité égale c'est la dernière qui gagne.
   Le violet d'Excalidraw (#6965db) devient le bleu de l'UdN.
   -------------------------------------------------------------------------- */

:root {
  --color-primary:         #009de5;
  --color-primary-hover:   #01669e;
  --color-primary-darker:  #01669e;
  --color-primary-darkest: #013a5a;
  --color-primary-light:   #e0f3fe;
  --color-brand-hover:     #01669e;
  --color-brand-active:    #013a5a;
}

/* Mode sombre : le bleu de marque devient illisible, on passe au bleu clair. */
.excalidraw.theme--dark,
.dark {
  --color-primary:         #38c0f8;
  --color-primary-hover:   #7dd5fc;
  --color-primary-darker:  #7dd5fc;
  --color-primary-darkest: #bae7fd;
  --color-primary-light:   #0b3a52;
  --color-brand-hover:     #7dd5fc;
  --color-brand-active:    #bae7fd;
}

/* --------------------------------------------------------------------------
   3. Le logo de l'UdN
   --------------------------------------------------------------------------
   Le logo d'ExcaliDash est un SVG écrit EN DUR dans le composant React
   `Logo` (4 tuiles de couleur, viewBox 0 0 512 512). On ne peut donc pas le
   remplacer par un fichier : on masque son contenu et on pose le nôtre en
   image de fond sur l'élément <svg> lui-même.

   Le sélecteur vise le viewBox 512 : les icônes de l'interface (lucide) sont
   toutes en viewBox "0 0 24 24", elles ne sont pas touchées.

   Le logo UdN est au format 400x208 : `contain` le pose entier, centré, sans
   le déformer dans l'emplacement carré prévu pour l'ancien logo.
   -------------------------------------------------------------------------- */

svg[viewBox="0 0 512 512"] > * { display: none !important; }
svg[viewBox="0 0 512 512"] {
  background-image: url("/branding/logo-udn.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  /* L'emplacement d'origine est carré ; on l'élargit pour que le logo, deux
     fois plus large que haut, ne soit pas réduit à une vignette illisible. */
  width: auto !important;
  min-width: 2.6em;
  aspect-ratio: 400 / 208;
}

/* --------------------------------------------------------------------------
   4. Poppins
   --------------------------------------------------------------------------
   `--excalidash-display-font` est posé en style INLINE sur <html> par
   l'application : seul !important peut le surcharger.
   -------------------------------------------------------------------------- */

html {
  --excalidash-display-font: "Poppins", system-ui, sans-serif !important;
}

body,
.excalidraw,
button, input, select, textarea {
  font-family: "Poppins", system-ui, -apple-system, "Segoe UI", sans-serif;
}
