/* Thème « Samaritan » (instance design, 25/10/2026) — chargé après app.css / mobile.css.
   Inspiré de la démo MIT goncalomb/Samaritan : fond clair, noir, mono, lignes 2px, triangle rouge. */
@font-face { font-family: "Mono MMM 5"; src: url("../assets/samaritan/monoMMM_5.ttf"); }

:root {
  --primary: #111; --primary-dark: #000; --primary-light: #333;
  --primary-bg: #ececec; --primary-border: #111;
  --sec-red: #111; --sec-red-soft: #ececec; --sidebar-bg: #f9f9f9;
  --bg: #f9f9f9; --surface: #fff; --surface-alt: #f3f3f3;
  --border: #dcdcdc; --border-dark: #111;
  --text: #0a0a0a; --text-secondary: #444; --text-muted: #888;
  --sam-red: #cc0000;
  --radius: 2px; --radius-sm: 2px; --radius-lg: 3px;
  --shadow: none; --shadow-md: none; --shadow-lg: 0 0 0 2px #111;
  --glass-bg: #f9f9f9; --glass-bg-strong: #f9f9f9; --glass-blur: none;
  --glass-border: #111; --glass-hi: transparent; --glass-shadow: none;
  --font: "Mono MMM 5", "Consolas", monospace;
  --font-mono: "Mono MMM 5", "Consolas", monospace;
}
body { background: var(--bg); color: var(--text); font-family: var(--font); }

/* En-tête : bande noire, texte blanc */
.app-header { background: #0a0a0a !important; color: #fff; box-shadow: none !important; border-bottom: 2px solid #0a0a0a; }
.app-header * { font-family: var(--font); }
.app-header .tab-item { border-radius: 2px !important; color: #bbb !important; background: transparent !important; letter-spacing: .5px; }
.app-header .tab-item.active { background: #f9f9f9 !important; color: #0a0a0a !important; }

/* Barre latérale : claire, filets noirs, actif = bloc noir */
.sidebar { background: #f9f9f9 !important; border-right: 2px solid #0a0a0a !important; box-shadow: none !important; backdrop-filter: none !important; }
.sidebar-nav li a { border-radius: 2px !important; text-transform: uppercase; letter-spacing: 1px; font-size: 12px; }
.sidebar-nav li a:hover { background: #ececec !important; color: #000 !important; }
.sidebar-nav li a.active { background: #0a0a0a !important; color: #fff !important; }
.sidebar-nav li.nav-group-strong { color: #0a0a0a !important; letter-spacing: 2px; }
.sidebar .sec-icon { border-radius: 2px !important; background: #0a0a0a !important; color: #fff !important; }
.sidebar-quote { font-family: var(--font); font-style: italic; }

/* Cartes et KPI : surfaces plates, filet noir */
.card, .stat-card { border: 2px solid #0a0a0a !important; border-radius: 2px !important; box-shadow: none !important; }
.card-header { border-bottom: 2px solid #0a0a0a !important; }
.card-header h3, .page-title, .erp-chart-head { text-transform: uppercase; letter-spacing: 3px; }
.stat-card .stat-label { text-transform: uppercase; letter-spacing: 2px; }
.stat-card.kpi-accent, .stat-card.kpi-accent-neutral { border-top: 4px solid var(--sam-red) !important; }

/* Boutons : bloc noir (principal), contour noir (secondaire) */
.btn { border-radius: 2px !important; text-transform: uppercase; letter-spacing: 2px; box-shadow: none !important; }
.btn-primary { background: #0a0a0a !important; border-color: #0a0a0a !important; color: #fff !important; }
.btn-primary:hover { background: #fff !important; color: #0a0a0a !important; }
.btn-quiet, .btn-secondary { background: #fff !important; border: 2px solid #0a0a0a !important; color: #0a0a0a !important; }
.btn-quiet:hover, .btn-secondary:hover { background: #0a0a0a !important; color: #fff !important; }

/* Champs : soulignés comme le texte Samaritan */
.form-input { border: 0 !important; border-bottom: 2px solid #0a0a0a !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
.form-input:focus { border-bottom-color: var(--sam-red) !important; outline: none; }

/* Tableaux et AG Grid */
.data-table th { background: #0a0a0a !important; color: #fff !important; text-transform: uppercase; letter-spacing: 1px; }
.ag-theme-quartz {
  --ag-font-family: "Mono MMM 5", Consolas, monospace;
  --ag-header-background-color: #0a0a0a; --ag-header-foreground-color: #fff;
  --ag-border-color: #0a0a0a; --ag-row-border-color: #dcdcdc;
  --ag-selected-row-background-color: #ececec; --ag-row-hover-color: #f3f3f3;
  --ag-border-radius: 2px; --ag-wrapper-border-radius: 2px;
}

/* Triangle rouge pulsé Samaritan, réutilisable */
.sam-arrow { display: inline-block; border: 6px solid transparent; border-top: 0; border-bottom: 10px solid #330000; animation: sam-arrow 1s alternate infinite linear; }
@keyframes sam-arrow { from { border-bottom-color: #330000; } to { border-bottom-color: #cc0000; } }

/* ── Allègement (Maher 25/10 : « le noir domine trop ») ── */
.app-header { background: #f9f9f9 !important; color: #0a0a0a; border-bottom: 1px solid #d0d0d0; }
.app-header .tab-item { color: #555 !important; }
.app-header .tab-item.active { background: #fff !important; color: #0a0a0a !important; box-shadow: inset 0 -2px 0 var(--sam-red) !important; }
.sidebar { border-right: 1px solid #d0d0d0 !important; }
.sidebar .sec-icon { background: transparent !important; color: #0a0a0a !important; }
.sidebar-nav li a.active { background: #ececec !important; color: #0a0a0a !important; box-shadow: inset 3px 0 0 var(--sam-red); }
.card, .stat-card { border: 1px solid #d0d0d0 !important; }
.card-header { border-bottom: 1px solid #e2e2e2 !important; }
.stat-card.kpi-accent, .stat-card.kpi-accent-neutral { border-top: 3px solid var(--sam-red) !important; }
.btn-primary { background: #2b2b2b !important; border-color: #2b2b2b !important; }
.btn-quiet, .btn-secondary { border: 1px solid #bdbdbd !important; }
.form-input { border-bottom: 1px solid #9a9a9a !important; }
.data-table th { background: #ececec !important; color: #0a0a0a !important; }
.ag-theme-quartz { --ag-header-background-color: #ececec; --ag-header-foreground-color: #0a0a0a; --ag-border-color: #d0d0d0; }

/* ── Noir minimal (Maher 25/10) : texte gris foncé, plus aucun aplat noir ── */
:root { --text: #3a3a3a; --text-secondary: #6b6b6b; --primary: #3a3a3a; }
body, .page-title, .card-header h3 { color: #3a3a3a; }
.btn-primary { background: #fff !important; color: var(--sam-red) !important; border: 1px solid var(--sam-red) !important; }
.btn-primary:hover { background: var(--sam-red) !important; color: #fff !important; }
.btn-quiet:hover, .btn-secondary:hover { background: #ececec !important; color: #3a3a3a !important; }
.sidebar-nav li a, .sidebar-nav li.nav-group-strong, .sidebar .sec-icon { color: #3a3a3a !important; }

/* ── En-tête clair : les éléments de droite étaient blancs sur blanc ── */
.app-header, .app-header *:not(.tab-item.active *) { color: #3a3a3a !important; }
.app-header button, .app-header select, .app-header .app-header-actions > * { background: transparent !important; border-color: #d0d0d0 !important; }
.app-header svg { stroke: currentColor; }
.app-header select option { color: #3a3a3a; background: #fff; }
