/* Mode nuit du thème M-cathedis (js/theme-nuit.js pose html[data-nuit]). Le rouge de marque et l'en-tête restent. */
html[data-nuit] {
  color-scheme: dark;
  --primary: #e8293b; --primary-dark: #c01524; --primary-light: #ff5a67;
  --primary-bg: #3a1a20; --primary-border: #6e2a33;
  --sec-red: #d59aa3; --sec-red-soft: #33242a; --sidebar-bg: #000000;
  --bg: #000000; --surface: #000000; --surface-alt: #101010;
  --border: #2e2e2e; --border-dark: #454545;
  --text: #e6e6e6; --text-secondary: #b8b8b8; --text-muted: #8c8c8c;
  --success: #3ccf97; --success-bg: #15352a;
  --warning: #e6ae4c; --warning-bg: #3a2d14;
  --danger: #f27a7a; --danger-bg: #3d1e1f;
  --info: #79a6f2; --info-bg: #1b2a44;
  --chart-1: #f0404f; --chart-2: #5d90ec; --chart-3: #2fbf8a; --chart-4: #dc9c2e; --chart-5: #c07f89; --chart-6: #9c84dc;
  --chart-positive: #3ccf97; --chart-negative: #f27a7a; --chart-axis: #8c8c8c; --chart-grid: #2e2e2e;
  --shadow: none;
  --shadow-md: none;
  --shadow-lg: 0 24px 60px -20px rgba(0,0,0,.8);
  --glass-bg: rgba(0,0,0,.62); --glass-bg-strong: rgba(0,0,0,.78);
  --glass-border: rgba(255,255,255,.1); --glass-hi: rgba(255,255,255,.12);
  --glass-shadow: 0 18px 50px -18px rgba(0,0,0,.7);
  background: var(--bg);
}
html[data-nuit] body { background: var(--bg); color: var(--text); }

/* Grilles */
html[data-nuit] .ag-theme-quartz, html[data-nuit] .ag-erp-grid {
  --ag-background-color: var(--surface);
  --ag-odd-row-background-color: var(--surface);
  --ag-foreground-color: var(--text);
  --ag-data-color: var(--text);
  --ag-header-background-color: var(--surface-alt);
  --ag-header-foreground-color: var(--text-secondary);
  --ag-border-color: var(--border);
  --ag-row-border-color: var(--border);
  --ag-row-hover-color: var(--surface-alt);
  --ag-selected-row-background-color: var(--primary-bg);
  --ag-control-panel-background-color: var(--surface-alt);
  --ag-input-border-color: var(--border-dark);
  --ag-secondary-foreground-color: var(--text-muted);
  --ag-modal-overlay-background-color: rgba(0,0,0,.66);
}

/* Champs */
html[data-nuit] :is(input, select, textarea):not([type=checkbox], [type=radio], [type=range], [type=color]) {
  background-color: var(--surface-alt); color: var(--text); border-color: var(--border-dark);
}
html[data-nuit] ::placeholder { color: var(--text-muted); }

/* Images claires (logos sur fond transparent) : petit fond pour rester lisibles */
html[data-nuit] .sidebar-logo img { filter: none; }

/* Documents : restent des documents blancs, de jour comme de nuit */
html[data-nuit] :is(.annexe-page, .bc-page, [data-no-nuit]) { background: #fff; color: #161b22; color-scheme: light; }

/* Bouton de l'en-tête : un point quand le mode est forcé */
#btn-mode-nuit { position: relative; }
#btn-mode-nuit.mode-force::before {
  content: ""; position: absolute; top: 3px; right: 3px; width: 7px; height: 7px;
  border-radius: 50%; background: #fff; box-shadow: 0 0 0 1px rgba(0,0,0,.25);
}

@media print {
  html[data-nuit] { color-scheme: light; }
  html[data-nuit], html[data-nuit] body { background: #fff; color: #000; }
}

/* Graphiques SVG : les barres gardent leur couleur, seuls les textes et le quadrillage changent */
html[data-nuit] svg :is(line, path)[stroke]:is([stroke="#eceff4" i], [stroke="#eef1f5" i], [stroke="#e5e7eb" i], [stroke="#d4dae3" i], [stroke="#f0f0f0" i]) { stroke: var(--border); }

/* AMOLED : surfaces en noir pur (pixels éteints), les cartes se détachent par leur filet */
html[data-nuit] :is(.card, .stat-card, .modal, .header-dropdown-menu) { border: 1px solid var(--border); }
