/* ══════════════════════════════════════════════════════════════════════════════
   badgeuse-base.css — LE SOCLE, en remplacement d'uikit.min.css
   ══════════════════════════════════════════════════════════════════════════════

   DERNIÈRE TRANCHE DU RETRAIT D'UIKIT (2026-08-12). Les treize précédentes ont
   repris ses COMPOSANTS, classe par classe, en familles maison `.ba-*`. Il ne
   restait plus de la feuille de 268,3 Ko que ceci : des règles d'ÉLÉMENT — le
   normalize d'UIkit, sa typographie de base, ses marges de bloc. Aucune classe.

   CE FICHIER EST UNE TRANSCRIPTION, PAS UNE RÉÉCRITURE. Chaque déclaration
   ci-dessous est reprise TELLE QUELLE d'uikit.min.css 3.6.22, dans le MÊME
   ORDRE, et le `<link>` occupe EXACTEMENT le même rang dans chaque page — la
   première feuille, juste avant custom-css.css. C'est ce qui rend le
   remplacement neutre par construction : rien ne peut changer de gagnant dans
   la cascade, quelle que soit la page.

   POURQUOI UNE FEUILLE À PART, ET NON UNE SECTION DE badgeuse-app.css : celle-ci
   est chargée en TROISIÈME position, après custom-css.css. Y verser ce socle
   inverserait une dizaine d'arbitrages — à commencer par la police des titres,
   où le `font-family` système ci-dessous l'emporterait sur le ProximaNova de
   custom-css.css. Et surtout, CINQ des quatorze pages qui chargeaient
   uikit.min.css ne chargent PAS badgeuse-app.css : /connexion, les deux pages
   légales, l'espace développeur, l'activation et la demande d'accès admin
   vivent sur marketing-page.css seule. Pour elles, ce socle EST la base.

   CE QUI N'EST PAS TRANSCRIT, ET POURQUOI — trois familles, chacune prouvée
   morte avant d'être écartée, pas supposée telle :
     — les 18 `@keyframes uk-*` (fade, spinner, shake, stroke, kenburns) : plus
       aucune `animation-name` ne les nomme, dans aucune feuille du dépôt ;
     — les deux `:root` de variables `--uk-breakpoint-*` et
       `--uk-leader-fill-content` : plus aucun `var(--uk-` nulle part ;
     — les 36 sélecteurs d'ATTRIBUT `[class*=uk-…]` (uk-width, uk-height,
       uk-list, uk-position, uk-drop, uk-tooltip, uk-animation…) : plus aucun
       jeton de classe `uk-*` dans le markup applicatif. Ceux-là méritaient la
       vérification : trois d'entre eux portaient encore du style vivant il y a
       deux tranches, dont un en `!important`.

   public/dev.php GARDE uikit.min.css — console superadmin, hors périmètre. Le
   fichier reste donc au dépôt, et les tests continuent de s'y référer comme
   ancre historique.

   HARMONISATION : PAS ICI. Les gris (#666), le bleu de lien (#1e87f0), le rose
   des `<code>` et `<em>` (#f0506e), la taille racine 16px n'ont aucun rapport
   avec la palette `--ba-*`. Les aligner changerait l'aspect de pages entières —
   c'est un arbitrage de design, pas une conversion. Cette feuille est GELÉE au
   même titre que custom-css.css : on n'y ajoute rien. Tout style nouveau va
   dans badgeuse-app.css ou dans la feuille de page.
   ────────────────────────────────────────────────────────────────────────── */

html {
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
  font-size:16px;
  font-weight:400;
  line-height:1.5;
  -webkit-text-size-adjust:100%;
  background:#fff;
  color:#666;
}
body {
  margin:0;
}
a:active, a:hover {
  outline:0;
}
a {
  color:#1e87f0;
  text-decoration:none;
  cursor:pointer;
}
a:hover {
  color:#0f6ecd;
  text-decoration:underline;
}
abbr[title] {
  text-decoration:underline dotted;
  -webkit-text-decoration-style:dotted;
}
b, strong {
  font-weight:bolder;
}
:not(pre)>code, :not(pre)>kbd, :not(pre)>samp {
  font-family:Consolas,monaco,monospace;
  font-size:.875rem;
  color:#f0506e;
  white-space:nowrap;
  padding:2px 6px;
  background:#f8f8f8;
}
em {
  color:#f0506e;
}
ins {
  background:#ffd;
  color:#666;
  text-decoration:none;
}
mark {
  background:#ffd;
  color:#666;
}
q {
  font-style:italic;
}
small {
  font-size:80%;
}
sub, sup {
  font-size:75%;
  line-height:0;
  position:relative;
  vertical-align:baseline;
}
sup {
  top:-.5em;
}
sub {
  bottom:-.25em;
}
audio, canvas, iframe, img, svg, video {
  vertical-align:middle;
}
canvas, img, video {
  max-width:100%;
  height:auto;
  box-sizing:border-box;
}
@supports (display:block) {
  svg {
    max-width:100%;
    height:auto;
    box-sizing:border-box;
  }
}
svg:not(:root) {
  overflow:hidden;
}
img:not([src]) {
  min-width:1px;
  visibility:hidden;
}
iframe {
  border:0;
}
address, dl, fieldset, figure, ol, p, pre, ul {
  margin:0 0 20px 0;
}
*+address, *+dl, *+fieldset, *+figure, *+ol, *+p, *+pre, *+ul {
  margin-top:20px;
}
h1, h2, h3, h4, h5, h6 {
  margin:0 0 20px 0;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
  font-weight:400;
  color:#333;
  text-transform:none;
}
*+h1, *+h2, *+h3, *+h4, *+h5, *+h6 {
  margin-top:40px;
}
h1 {
  font-size:2.23125rem;
  line-height:1.2;
}
h2 {
  font-size:1.7rem;
  line-height:1.3;
}
h3 {
  font-size:1.5rem;
  line-height:1.4;
}
h4 {
  font-size:1.25rem;
  line-height:1.4;
}
h5 {
  font-size:16px;
  line-height:1.4;
}
h6 {
  font-size:.875rem;
  line-height:1.4;
}
@media (min-width:960px) {
  h1 {
    font-size:2.625rem;
  }
  h2 {
    font-size:2rem;
  }
}
ol, ul {
  padding-left:30px;
}
ol>li>ol, ol>li>ul, ul>li>ol, ul>li>ul {
  margin:0;
}
dt {
  font-weight:700;
}
dd {
  margin-left:0;
}
hr {
  overflow:visible;
  text-align:inherit;
  margin:0 0 20px 0;
  border:0;
  border-top:1px solid #e5e5e5;
}
*+hr {
  margin-top:20px;
}
address {
  font-style:normal;
}
blockquote {
  margin:0 0 20px 0;
  font-size:1.25rem;
  line-height:1.5;
  font-style:italic;
  color:#333;
}
*+blockquote {
  margin-top:20px;
}
blockquote p:last-of-type {
  margin-bottom:0;
}
blockquote footer {
  margin-top:10px;
  font-size:.875rem;
  line-height:1.5;
  color:#666;
}
blockquote footer::before {
  content:"— ";
}
pre {
  font:0.875rem/1.5 Consolas,monaco,monospace;
  color:#666;
  -moz-tab-size:4;
  tab-size:4;
  overflow:auto;
  padding:10px;
  border:1px solid #e5e5e5;
  border-radius:3px;
  background:#fff;
}
pre code {
  font-family:Consolas,monaco,monospace;
}
::selection {
  background:#39f;
  color:#fff;
  text-shadow:none;
}
details, main {
  display:block;
}
summary {
  display:list-item;
}
template {
  display:none;
}
[hidden] {
  display:none!important;
}
@media print {
  *, ::after, ::before {
    background:0 0!important;
    color:#000!important;
    box-shadow:none!important;
    text-shadow:none!important;
  }
  a, a:visited {
    text-decoration:underline;
  }
  blockquote, pre {
    border:1px solid #999;
    page-break-inside:avoid;
  }
  thead {
    display:table-header-group;
  }
  img, tr {
    page-break-inside:avoid;
  }
  img {
    max-width:100%!important;
  }
  h2, h3, p {
    orphans:3;
    widows:3;
  }
  h2, h3 {
    page-break-after:avoid;
  }
}
