/* ── Polices ──────────────────────────────────────────────────────────
   Big Shoulders : titres et libellés de catégorie (condensée, industrielle)
   Public Sans   : texte courant
   IBM Plex Mono : références, numéros de série, quantités, dates
*/
@font-face {
  font-family: "Big Shoulders";
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  src: url("../fonts/big-shoulders-700.woff2") format("woff2");
}
@font-face {
  font-family: "Big Shoulders";
  font-weight: 900;
  font-style: normal;
  font-display: swap;
  src: url("../fonts/big-shoulders-900.woff2") format("woff2");
}
@font-face {
  font-family: "Public Sans";
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  src: url("../fonts/public-sans-400.woff2") format("woff2");
}
@font-face {
  font-family: "Public Sans";
  font-weight: 500;
  font-style: normal;
  font-display: swap;
  src: url("../fonts/public-sans-500.woff2") format("woff2");
}
@font-face {
  font-family: "Public Sans";
  font-weight: 600;
  font-style: normal;
  font-display: swap;
  src: url("../fonts/public-sans-600.woff2") format("woff2");
}
@font-face {
  font-family: "Public Sans";
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  src: url("../fonts/public-sans-700.woff2") format("woff2");
}
@font-face {
  font-family: "Plex Mono";
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  src: url("../fonts/plex-mono-400.woff2") format("woff2");
}
@font-face {
  font-family: "Plex Mono";
  font-weight: 500;
  font-style: normal;
  font-display: swap;
  src: url("../fonts/plex-mono-500.woff2") format("woff2");
}
@font-face {
  font-family: "Plex Mono";
  font-weight: 600;
  font-style: normal;
  font-display: swap;
  src: url("../fonts/plex-mono-600.woff2") format("woff2");
}

/* ── Palette ──────────────────────────────────────────────────────────
   Carnet de tournée : fond graphite, encre claire, un seul accent
   (orange sécurité) réservé à l'action. Le vert/l'or/le rouge restent
   des couleurs d'état (stock ok / stock bas / stock critique), jamais
   l'identité de marque.
*/
:root {
  --primary: #ff9a3d; --primary-dim: rgba(255, 154, 61, 0.16);
  --bg: #14171a; --card: #1c2024; --card2: #262b2f;
  --text: #eaeee9; --muted: #8d968f; --border: #343b3e;
  --btn-bg: #262b2f;
  --green: #57b877; --green-dim: rgba(87, 184, 119, 0.18);
  --orange: #c99a2e; --orange-dim: rgba(201, 154, 46, 0.18);
  --red: #e5695f; --red-dim: rgba(229, 105, 95, 0.18);

  --font-display: "Big Shoulders", "Arial Narrow", sans-serif;
  --font-body: "Public Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-mono: "Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;
}

body { font-family: var(--font-body); }

h2, h3 {
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

/* Contrôle segmenté (choix du système MPM/AXPRO/RSI/CONSO) */
.tabs-seg {
  display: flex;
  border: 1px solid var(--border);
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 16px;
}
.tabs-seg span {
  flex: 1;
  text-align: center;
  padding: 10px 4px;
  font-family: var(--font-mono);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--muted);
  cursor: pointer;
  user-select: none;
  transition: background 0.15s, color 0.15s;
}
.tabs-seg span.on {
  background: var(--text);
  color: var(--bg);
}
.tabs-seg span:active {
  background: var(--card2);
}
.tabs-seg span.on:active {
  background: var(--text);
}

/* Champ de recherche (logs, catalogues) */
.search-input {
  display: block;
  width: 100%;
  padding: 10px 12px;
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: 8px;
  color: var(--text);
  font-size: 14px;
  margin-bottom: 14px;
}
.search-input::placeholder { color: var(--muted); }
.search-input:focus { border-color: var(--primary); outline: none; }
