/* CSS local de la page de connexion (templates/registration/login.html) —
 * remplace le CDN cdn.tailwindcss.com (audit fonctionnel Fox V1 18/10,
 * §P2-12 : CDN interdit en prod, warning console « should not be used in
 * production »). Transcription des seules classes utilitaires réellement
 * utilisées par ce template, rebranchée sur les jetons --bc-*/--fox-*
 * (audit design 18-19/10, Volet 2 P0-1 : zéro jeton DS, police de repli
 * Times) — pas d'embarquement de Tailwind complet. templates/base.html
 * (dashboard.html, dead code non routé) partage ce fichier mais n'utilise
 * aucune de ces classes autrement. Nécessite tokens.css + fox.css chargés
 * avant ce fichier (cf templates/base.html) pour que les variables existent. */

* { box-sizing: border-box; }

body { font-family: var(--bc-font-sans); }

.min-h-screen { min-height: 100vh; }
.flex { display: flex; }
.items-center { align-items: center; }
.justify-center { justify-content: center; }
.w-full { width: 100%; }
.max-w-md { max-width: 28rem; }
.text-center { text-align: center; }
.mb-1 { margin-bottom: 0.25rem; }
.mb-4 { margin-bottom: 1rem; }
.mb-6 { margin-bottom: 1.5rem; }
.mb-8 { margin-bottom: 2rem; }
.mt-1 { margin-top: 0.25rem; }
.mt-2 { margin-top: 0.5rem; }
.p-3 { padding: 0.75rem; }
.p-8 { padding: 2rem; }
.px-4 { padding-left: 1rem; padding-right: 1rem; }
.py-2\.5 { padding-top: 0.625rem; padding-bottom: 0.625rem; }
.block { display: block; }
.text-3xl { font-size: 1.875rem; line-height: 2.25rem; }
.text-xs { font-size: 0.75rem; line-height: 1rem; }
.text-sm { font-size: 0.875rem; line-height: 1.25rem; }
.font-bold { font-weight: 700; }
.font-medium { font-weight: 500; }
/* text-gray-900/700 : même encre que le reste de Fox (une seule teinte de
 * texte primaire, cf fox.css --bc-muted override). */
.text-gray-900 { color: var(--bc-fg); }
.text-gray-700 { color: var(--bc-fg); }
.text-gray-500 { color: var(--bc-muted); }
.text-red-500 { color: var(--bc-neg-dot); }
.text-red-600 { color: var(--bc-neg-fg); }
.text-white { color: var(--bc-accent-fg); }
.bg-white { background-color: var(--bc-card); }
.bg-red-50 { background-color: var(--bc-neg-bg); }
.bg-indigo-600 { background-color: var(--bc-accent); }
.rounded-lg { border-radius: 0.5rem; }
.rounded-2xl { border-radius: 1rem; }
/* Une seule teinte de bordure dans tout Fox : --bc-line (cf components.css). */
.border { border-width: 1px; border-style: solid; border-color: var(--bc-line); }
.border-gray-100 { border-color: var(--bc-line); }
.border-gray-200 { border-color: var(--bc-line); }
.border-red-100 { border-color: var(--fox-alert-neg-bd); }
.shadow-sm { box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05); }
.transition-colors { transition: background-color 150ms ease, border-color 150ms ease, color 150ms ease; }

form input[type="text"],
form input[type="password"] {
  font-family: inherit;
}
form input[type="text"]::placeholder,
form input[type="password"]::placeholder {
  color: var(--fox-placeholder);
}
form input[type="text"]:focus,
form input[type="password"]:focus {
  outline: none;
  box-shadow: 0 0 0 2px var(--focus-ring);
  border-color: transparent;
}

button.bg-indigo-600:hover { background-color: color-mix(in oklab, var(--bc-accent) 82%, var(--bc-card)); }
