/* Connexion SearchFirefly (APP_BRAND=searchfirefly, login/build.mjs) : feuille ajoutée APRÈS style.css, mêmes jetons que
   le tableau de bord (dashboard/ui/tokens.py, profil SF ; source searchfirefly/design-system/tokens.json). Polices servies
   par le site lui-même (OFL), jamais par un tiers. */
@font-face { font-family: "Archivo"; font-style: normal; font-weight: 100 900; font-stretch: 62% 125%; font-display: swap;
  src: url("archivo-latin.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Mono"; font-style: normal; font-weight: 400; font-display: swap;
  src: url("ibm-plex-mono-400-latin.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Mono"; font-style: normal; font-weight: 500; font-display: swap;
  src: url("ibm-plex-mono-500-latin.woff2") format("woff2"); }

:root {
  --ink: #0E0E0E; --ink-2: #0E0E0E; --ink-3: #2B2B2B;
  --bg: #F6F6F3; --card: #FFFFFF; --border: #E4E4E0; --text: #0E0E0E; --muted: #6E6E6E;
  --primary: #0E0E0E; --primary-lift: #2B2B2B; --negative: #B3341A; --positive: #1E7A3C;
  --highlight: #FFE14D;
}
body { font-family: "Archivo", system-ui, -apple-system, "Segoe UI", sans-serif; }
.card { border-radius: 0; border: 2px solid var(--ink); box-shadow: none; }
.brand { padding: 20px 32px; }
.brand img { height: 26px; }
/* le geste de la marque : le titre de la vue, surligné (un seul marquage par vue) */
h1 { display: inline; font-family: "Archivo", system-ui, sans-serif; font-weight: 800; font-size: 30px; line-height: 1.15;
     font-variation-settings: "wdth" 110; letter-spacing: -.03em; padding: 0 .08em;
     background: linear-gradient(transparent 8%, var(--highlight) 8%, var(--highlight) 92%, transparent 92%);
     -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.lead { margin-top: 14px; color: #4B4B4B; }
label { font: 500 11px/1.5 "IBM Plex Mono", ui-monospace, Menlo, monospace; text-transform: uppercase; letter-spacing: .02em;
        color: #4B4B4B; }
input[type=email], input[type=password], input[type=text] { border-radius: 2px; border-color: #B5B5AE; }
input:focus { border-color: var(--ink); box-shadow: 0 0 0 1px var(--ink); }
button.primary, a.button { border-radius: 0; font-weight: 600; }
.link { color: var(--ink); text-decoration: underline; text-underline-offset: 2px; }
.alert { border-radius: 0; }
.alert.error { background: #FBEAE5; color: #B3341A; border-color: #F0C4B8; }
.alert.info { background: #EAF0F7; color: #3B5B8C; border-color: #C9D6F2; }
.alert.success { background: #E6F2EA; color: #1E7A3C; border-color: #BFDDC9; }
.spinner { border-top-color: var(--ink); }
footer { font: 400 11px/1.5 "IBM Plex Mono", ui-monospace, Menlo, monospace; text-transform: uppercase; letter-spacing: .02em; }
