/* Ajustements propres au site Django, par-dessus montefiore.css (repris tel quel de la maquette). */

/* Les onglets sont des liens et non plus des boutons */
a.tab { text-decoration: none; }
.tab[aria-current="page"] { color: var(--ink); border-bottom-color: var(--ink); }

.who form { display: inline; margin: 0; }

/* Connexion */
.login { min-height: calc(100svh - var(--hdr-h)); display: grid; place-items: center; padding-block: 48px; }
.login .panel { width: min(420px, 100%); gap: 18px; }
.login form { display: flex; flex-direction: column; gap: 18px; }
.login .errors { color: var(--stamp); font-size: 14px; margin: 0; }

/* Réglages */
.reglage-form { display: flex; flex-direction: column; gap: 14px; }
.reglage-form .sous-titre { color: var(--ink); padding-top: 8px; border-top: 1px dashed var(--rule); }
.reglage-form .sous-titre:first-of-type { border-top: 0; padding-top: 0; }
.field .errors, .errors { color: var(--stamp); font-size: 13px; }
.field .helptext { color: var(--ink-2); font-size: 12px; }
.panel .frow .spacer { flex: 1; }
.prod-tbl input[type="checkbox"], .prod-tbl input[type="radio"] { accent-color: var(--accent); }

.stock-entry { margin-block: 28px; }
.stock-entry .field { min-width: 180px; }
.stock-entry .grow { flex: 1; }
.stock-table-wrap { overflow-x: auto; }
.stock-table { width: 100%; border-collapse: collapse; min-width: 820px; }
.stock-table th, .stock-table td { padding: 13px 10px; border-bottom: 1px solid var(--rule); text-align: left; vertical-align: middle; }
.stock-table th { color: var(--ink-2); font-size: 12px; text-transform: uppercase; letter-spacing: .04em; }
.stock-table td small { display: block; color: var(--ink-2); margin-top: 3px; }
.stock-table .num { font-variant-numeric: tabular-nums; white-space: nowrap; }
.stock-status { display: inline-block; padding: 4px 8px; border-radius: 3px; background: var(--wash); white-space: nowrap; }
.stock-status.rupture, .stock-status.rupture_imminente { color: var(--stamp); background: #f7e7e4; }
.stock-status.ok { color: #42604c; background: #e8f0e9; }
.category-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; }
.category-stats div { border-left: 3px solid var(--accent); padding: 8px 12px; }
.category-stats span, .category-stats small { display: block; color: var(--ink-2); margin-top: 5px; }

.env-banner { position: sticky; top: 0; z-index: 30; padding: 6px 16px; text-align: center; font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--paper); background: var(--stamp); }
