/* ============================================================
   theme.css — INCA Support
   Fichier 1/2 : Variables CSS (light + dark) + surcharges Bootstrap
   ============================================================ */

/* ====================== */
/*        LIGHT MODE      */
/* ====================== */
:root {
  /* ==== Couleurs globales ==== */
  --color-bg: #f8fbff;
  --color-text: #333;
  --color-primary: #0d6efd;

  --color-header-bg: #ffffff;
  --color-header-text: #1f2d3d;
  --color-header-link-hover: #0d6efd;

  --color-sidebar-bg: #f0f4f8;
  --color-sidebar-text: #3a3f44;

  --color-footer-bg: #f0f4f8;
  --color-footer-text: #1f2d3d;

  --color-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  --color-box-shadow-footer: 0 -1px 4px rgba(0, 0, 0, 0.1);

  /* ==== FullCalendar / Events ==== */
  --fc-button-bg: #aed6f1;
  --fc-button-text: #000;
  --fc-button-hover-bg: #d4e6f1;
  --fc-card-bg: #fff;
  --fc-grid-border: #dee2e6;
  --fc-col-header-bg: #f1f3f5;
  --fc-col-header-text: #343a40;
  --fc-slot-label: #6c757d;
  --fc-slot-even-bg: #f9f9f9;
  --fc-slot-odd-bg: #ffffff;
  --fc-event-bg: #d4e6f1;
  --fc-event-text: #212529;
  --fc-tooltip-bg: #4e555b;
  --fc-tooltip-text: #fff;
  --fc-modal-bg: #fefefe;
  --fc-modal-header-bg: #e9f1f8;
  --fc-modal-header-border: #dee2e6;
  --fc-modal-title: #212529;
  --fc-cat-support-bg: #d0e8ff;
  --fc-cat-support-text: #0056b3;
  --fc-cat-appel-bg: #e6ffe6;
  --fc-cat-appel-text: #1b5e20;
  --fc-cat-reunion-bg: #ffe6e6;
  --fc-cat-reunion-text: #b71c1c;
  --fc-cat-maintenance-bg: #fff3cd;
  --fc-cat-maintenance-text: #856404;
  --fc-cat-note-bg: #f3e5f5;
  --fc-cat-note-text: #6a1b9a;

  /* ==== Soft Buttons ==== */
  --soft-primary-bg: #cfe2ff;
  --soft-primary-color: #084298;
  --soft-primary-hover: #bfd8ff;
  --soft-secondary-bg: #e2e3e5;
  --soft-secondary-color: #41464b;
  --soft-secondary-hover: #d6d7d9;
  --soft-success-bg: #d1e7dd;
  --soft-success-color: #0f5132;
  --soft-success-hover: #c7ddd4;
  --soft-danger-bg: #f8d7da;
  --soft-danger-color: #842029;
  --soft-danger-hover: #f4c2c7;
  --soft-warning-bg: #fff3cd;
  --soft-warning-color: #664d03;
  --soft-warning-hover: #ffe8a1;
  --soft-info-bg: #cff4fc;
  --soft-info-color: #055160;
  --soft-info-hover: #b6effb;
  --soft-light-bg: #fefefe;
  --soft-light-color: #636464;
  --soft-light-hover: #f2f2f2;
  --soft-dark-bg: #d3d3d4;
  --soft-dark-color: #141619;
  --soft-dark-hover: #c0c0c2;
  --soft-primary-border: #cfe2ff;
  --soft-secondary-border: #e2e3e5;
  --soft-success-border: #d1e7dd;
  --soft-danger-border: #f8d7da;
  --soft-warning-border: #fff3cd;
  --soft-info-border: #cff4fc;
  --soft-light-border: #fefefe;
  --soft-dark-border: #d3d3d4;

  /* ==== Kanban ==== */
  --kanban-bg: #f8f9fa;
  --kanban-header-bg: #e9ecef;
  --kanban-header-border: #dee2e6;
  --kanban-border-left: #adb5bd;
  --kanban-drop-bg: #e0eafc;
  --kanban-card-bg: #fff;
  --kanban-card-text: #6c757d;
  --kanban-card-info: #999;
  --kanban-en_attente: #ffc107;
  --kanban-en_cours: #0d6efd;
  --kanban-terminee: #198754;
  --kanban-annulee: #dc3545;

  /* ==== Sidebar ==== */
  --sidebar-bg: #f0f4f8;
  --sidebar-border: #dde5ec;
  --sidebar-text: #3a3f44;
  --sidebar-icon: #6c757d;
  --sidebar-hover-bg: #e2ecf6;
  --sidebar-hover-color: #0d6efd;
  --sidebar-active-bg: #d0e7ff;
  --sidebar-active-color: #0b5ed7;
  --sidebar-active-bar: #0b5ed7;
  --sidebar-sub-link: #6c757d;
  --sidebar-scrollbar-thumb: #ccc;
  --navbar-bg: linear-gradient(90deg, #4f4f4f, #2f2f2f);
  --navbar-text: #fff;
  --navbar-hover: #ffd700;

  /* ==== Footer ==== */
  --footer-bg: #f0f4f8;
  --footer-text: #1f2d3d;

  /* ==== Buttons ==== */
  --btn-primary-bg: #e0f0ff;
  --btn-primary-border: #b3d7ff;
  --btn-primary-text: #0b5ed7;
  --btn-primary-bg-hover: #b3d7ff;
  --btn-primary-border-hover: #6ea8fe;
  --btn-primary-text-hover: #073c9a;
  --btn-success-bg: #e3f7ef;
  --btn-success-border: #b2e2cc;
  --btn-success-text: #198754;
  --btn-success-bg-hover: #b2e2cc;
  --btn-success-border-hover: #75b798;
  --btn-success-text-hover: #145c42;
  --btn-warning-bg: #fff8e1;
  --btn-warning-border: #ffe8a1;
  --btn-warning-text: #b8860b;
  --btn-warning-bg-hover: #ffe8a1;
  --btn-warning-border-hover: #ffdb4d;
  --btn-warning-text-hover: #946100;
  --btn-danger-bg: #ffe2e6;
  --btn-danger-border: #ffc2cc;
  --btn-danger-text: #dc3545;
  --btn-danger-bg-hover: #ffc2cc;
  --btn-danger-border-hover: #f1aeb5;
  --btn-danger-text-hover: #b02a37;
  --btn-secondary-bg: #eae2ff;
  --btn-secondary-border: #d2c2ff;
  --btn-secondary-text: #6f42c1;
  --btn-secondary-bg-hover: #d2c2ff;
  --btn-secondary-border-hover: #bda6ff;
  --btn-secondary-text-hover: #5a32a3;
  --btn-outline-success-border: #b2e2cc;
  --btn-outline-success-color: #198754;
  --btn-outline-success-bg-hover: #e3f7ef;
  --btn-outline-success-color-hover: #145c42;

  /* ==== Badges ==== */
  --badge-light-bg: #ffe8f0;
  --badge-light-color: #d63384;
  --badge-primary-bg: #cfe2ff;
  --badge-primary-color: #084298;
  --badge-success-bg: #d1e7dd;
  --badge-success-color: #0f5132;
  --badge-warning-bg: #fff3cd;
  --badge-warning-color: #664d03;
  --badge-danger-bg: #f8d7da;
  --badge-danger-color: #842029;
  --badge-secondary-bg: #e2e3e5;
  --badge-secondary-color: #41464b;

  /* ==== Tables ==== */
  --table-bg: #fff;
  --table-text: #212529;
  --table-border: #dee2e6;
  --table-header-bg: #f1f3f5;
  --table-header-text: #343a40;
  --table-striped-bg: #f6f8fa;
  --table-hover-bg: #f1f3f8;

  /* ==== Cards ==== */
  --card-bg: #fff;
  --card-text: #212529;
  --card-border: #dee2e6;
  --card-header-bg: #f7f7f7;
  --card-header-text: #343a40;
  --card-text-muted: #6c757d;

  /* ==== Inputs ==== */
  --input-bg: #fff;
  --input-text: #212529;
  --input-border: #ced4da;
  --input-focus-bg: #e9ecef;
  --input-focus-text: #212529;
  --input-focus-border: #93c7fd;
  --input-focus-shadow: rgba(13,110,253,.15);
  --input-placeholder: #6c757d;

  /* ==== Pagination ==== */
  --pagination-bg: #f9fafb;
  --pagination-text: #333;
  --pagination-border: #dee2e6;
  --pagination-hover-bg: #eef1f4;
  --pagination-hover-text: #0d6efd;
  --pagination-active-bg: #d8e1ec;
  --pagination-active-text: #0d6efd;
  --pagination-active-border: #b3d7ff;
  --pagination-disabled-bg: #ececec;
  --pagination-disabled-text: #bcbcbc;

  /* ==== Planning ==== */
  --planning-bg: #fff;
  --planning-text: #333;
  --planning-header-bg: #f8f9fa;
  --planning-header-text: #212529;
  --planning-border: #dee2e6;
  --planning-ferie-bg: #f8d7da;
  --planning-ferie-text: #000;
  --planning-weekend-bg: #dbeafe;
  --planning-weekend-text: #1c2d47;
  --planning-vacances-bg: #fff3cd;
  --planning-vacances-text: #755f00;
  --planning-today-bg: #d1e7dd;
  --planning-today-text: #145c42;
  --planning-badge-bg: #e9ecef;
  --planning-badge-text: #222;
  --select-arrow-color: #333;
  --form-select-arrow-color-light: #333;
}

/* ====================== */
/*        DARK MODE       */
/* ====================== */
html.dark-mode,
body.dark-mode {
  --color-bg: #21242a;
  --color-text: #e8e8e8;
  --color-primary: #93c7fd;

  --color-header-bg: #171a1f;
  --color-header-text: #c0c6ce;
  --color-header-link-hover: #93c7fd;

  --color-sidebar-bg: #23272f;
  --color-sidebar-text: #bfc8da;

  --color-footer-bg: #171a1f;
  --color-footer-text: #c0c6ce;

  --color-box-shadow: 0 2px 4px rgba(10, 10, 20, 0.8);
  --color-box-shadow-footer: 0 -1px 4px rgba(10, 10, 20, 0.7);

  --fc-button-bg: #29435c;
  --fc-button-text: #dbeafe;
  --fc-button-hover-bg: #3a5571;
  --fc-card-bg: #222b36;
  --fc-grid-border: #3a4653;
  --fc-col-header-bg: #253043;
  --fc-col-header-text: #dbeafe;
  --fc-slot-label: #b0bbcc;
  --fc-slot-even-bg: #232c38;
  --fc-slot-odd-bg: #1a222d;
  --fc-event-bg: #254a67;
  --fc-event-text: #e6eef7;
  --fc-tooltip-bg: #293447;
  --fc-tooltip-text: #e6eef7;
  --fc-modal-bg: #242834;
  --fc-modal-header-bg: #293447;
  --fc-modal-header-border: #2d3848;
  --fc-modal-title: #dbeafe;
  --fc-cat-support-bg: #314e6e;
  --fc-cat-support-text: #8dc5fa;
  --fc-cat-appel-bg: #34544c;
  --fc-cat-appel-text: #97ebbb;
  --fc-cat-reunion-bg: #653e40;
  --fc-cat-reunion-text: #ffc6c6;
  --fc-cat-maintenance-bg: #4b4026;
  --fc-cat-maintenance-text: #ffe09d;
  --fc-cat-note-bg: #4d3f58;
  --fc-cat-note-text: #e0d1f3;

  --soft-primary-bg: #344560;
  --soft-primary-color: #aecbfa;
  --soft-primary-hover: #203047;
  --soft-secondary-bg: #22262d;
  --soft-secondary-color: #d4d8e0;
  --soft-secondary-hover: #363b43;
  --soft-success-bg: #294741;
  --soft-success-color: #97ebbb;
  --soft-success-hover: #356d5f;
  --soft-danger-bg: #653e40;
  --soft-danger-color: #ffb0ba;
  --soft-danger-hover: #492527;
  --soft-warning-bg: #4b4026;
  --soft-warning-color: #ffe09d;
  --soft-warning-hover: #7a6528;
  --soft-info-bg: #274e5a;
  --soft-info-color: #a5e4fc;
  --soft-info-hover: #176079;
  --soft-light-bg: #23272f;
  --soft-light-color: #bfc8da;
  --soft-light-hover: #181b20;
  --soft-dark-bg: #181b20;
  --soft-dark-color: #f2f2f2;
  --soft-dark-hover: #363940;
  --soft-primary-border: #233e5b;
  --soft-secondary-border: #363b43;
  --soft-success-border: #3a574d;
  --soft-danger-border: #653e40;
  --soft-warning-border: #4b4026;
  --soft-info-border: #274e5a;
  --soft-light-border: #23272f;
  --soft-dark-border: #181b20;

  --kanban-bg: #222b36;
  --kanban-header-bg: #293447;
  --kanban-header-border: #2d3848;
  --kanban-border-left: #44505c;
  --kanban-drop-bg: #22314a;
  --kanban-card-bg: #293447;
  --kanban-card-text: #b0bbcc;
  --kanban-card-info: #7a8496;
  --kanban-en_attente: #d6ba63;
  --kanban-en_cours: #4b8af5;
  --kanban-terminee: #57c997;
  --kanban-annulee: #e97474;

  --sidebar-bg: #23272f;
  --sidebar-border: #252a33;
  --sidebar-text: #bfc8da;
  --sidebar-icon: #b0bbcc;
  --sidebar-hover-bg: #29303b;
  --sidebar-hover-color: #93c7fd;
  --sidebar-active-bg: #31405e;
  --sidebar-active-color: #93c7fd;
  --sidebar-active-bar: #3797ff;
  --sidebar-sub-link: #909db3;
  --sidebar-scrollbar-thumb: #39414b;
  --navbar-bg: linear-gradient(90deg, #23242c, #17181c);
  --navbar-text: #e0e8f0;
  --navbar-hover: #ffe066;

  --footer-bg: #171a1f;
  --footer-text: #bfc8da;

  --btn-primary-bg: #304151;
  --btn-primary-border: #415c77;
  --btn-primary-text: #9fd3fb;
  --btn-primary-bg-hover: #284264;
  --btn-primary-border-hover: #2466aa;
  --btn-primary-text-hover: #fff;
  --btn-success-bg: #2e4d45;
  --btn-success-border: #36665a;
  --btn-success-text: #71ffba;
  --btn-success-bg-hover: #1a3028;
  --btn-success-border-hover: #35a47f;
  --btn-success-text-hover: #b8ffea;
  --btn-warning-bg: #4c3b15;
  --btn-warning-border: #ffe8a1;
  --btn-warning-text: #ffe066;
  --btn-warning-bg-hover: #b59a5a;
  --btn-warning-border-hover: #ffe066;
  --btn-warning-text-hover: #fff8e1;
  --btn-danger-bg: #3c2b2c;
  --btn-danger-border: #c96f86;
  --btn-danger-text: #ff6c7c;
  --btn-danger-bg-hover: #72263b;
  --btn-danger-border-hover: #ffafc9;
  --btn-danger-text-hover: #ffd9e5;
  --btn-secondary-bg: #453866;
  --btn-secondary-border: #7967b5;
  --btn-secondary-text: #cdc1fa;
  --btn-secondary-bg-hover: #564987;
  --btn-secondary-border-hover: #bda6ff;
  --btn-secondary-text-hover: #ede3ff;
  --btn-outline-success-border: #4be6a6;
  --btn-outline-success-color: #b8ffea;
  --btn-outline-success-bg-hover: #213931;
  --btn-outline-success-color-hover: #7fffcd;

  --badge-light-bg: #423042;
  --badge-light-color: #fc84c7;
  --badge-primary-bg: #283c54;
  --badge-primary-color: #9fd3fb;
  --badge-success-bg: #284b3d;
  --badge-success-color: #b8ffea;
  --badge-warning-bg: #564300;
  --badge-warning-color: #ffe066;
  --badge-danger-bg: #5c1c2a;
  --badge-danger-color: #ffb8c9;
  --badge-secondary-bg: #292c31;
  --badge-secondary-color: #bfc8da;

  --table-bg: #1a1c22;
  --table-text: #d4d8e0;
  --table-border: #32343a;
  --table-header-bg: #293447;
  --table-header-text: #b0bbcc;
  --table-striped-bg: #23262b;
  --table-hover-bg: #292c31;

  --card-bg: #23272f;
  --card-text: #e8e8e8;
  --card-border: #39414b;
  --card-header-bg: #293447;
  --card-header-text: #cfcfcf;
  --card-text-muted: #b0bbcc;

  --input-bg: #242834;
  --input-text: #e8e8e8;
  --input-border: #39414b;
  --input-focus-bg: #1a1c22;
  --input-focus-text: #e0e8f0;
  --input-focus-border: #93c7fd;
  --input-focus-shadow: rgba(147, 199, 253, 0.2);
  --input-placeholder: #c0c6ce;

  --pagination-bg: #23272f;
  --pagination-text: #bfc8da;
  --pagination-border: #39414b;
  --pagination-hover-bg: #31405e;
  --pagination-hover-text: #93c7fd;
  --pagination-active-bg: #293447;
  --pagination-active-text: #93c7fd;
  --pagination-active-border: #3797ff;
  --pagination-disabled-bg: #1c2024;
  --pagination-disabled-text: #666a70;

  --planning-bg: #23272f;
  --planning-text: #bfc8da;
  --planning-header-bg: #293447;
  --planning-header-text: #e0e8f0;
  --planning-border: #39414b;
  --planning-ferie-bg: #692d39;
  --planning-ferie-text: #ffe8ef;
  --planning-weekend-bg: #23304a;
  --planning-weekend-text: #cfe2ff;
  --planning-vacances-bg: #3a3209;
  --planning-vacances-text: #fff3cd;
  --planning-today-bg: #2c4738;
  --planning-today-text: #d1ffea;
  --planning-badge-bg: #293447;
  --planning-badge-text: #93c7fd;
  --select-arrow-color: #e8e8e8;
  --form-select-arrow-color-dark: #e8e8e8;
}

/* ============================================================
   SURCHARGES BOOTSTRAP — s'appliquent en light ET dark
   via les variables ci-dessus
   ============================================================ */

/* ── Tables ── */
.table, table {
  background: var(--table-bg) !important;
  color: var(--table-text) !important;
  border-color: var(--table-border) !important;
}
.table th, .table thead th {
  background: var(--table-header-bg) !important;
  color: var(--table-header-text) !important;
  border-color: var(--table-border) !important;
}
.table td, .table tr {
  color: var(--table-text) !important;
  border-color: var(--table-border) !important;
  background: transparent;
}
.table-striped > tbody > tr:nth-of-type(odd) { background: var(--table-striped-bg) !important; }
.table-hover > tbody > tr:hover              { background: var(--table-hover-bg) !important; }

/* ── Cards ── */
.card {
  background: var(--card-bg) !important;
  color: var(--card-text) !important;
  border-color: var(--card-border) !important;
  box-shadow: 0 1px 10px rgba(20,22,30,0.05);
}
.card-header, .card-footer {
  background: var(--card-header-bg) !important;
  color: var(--card-header-text) !important;
  border-color: var(--card-border) !important;
}
.bg-light, .bg-white {
  background: var(--card-bg) !important;
  color: var(--card-text) !important;
  transition: background 0.2s, color 0.2s;
}
.bg-secondary {
  background: var(--card-bg) !important;
  color: var(--card-text) !important;
}
body.dark-mode .text-muted,
body.dark-mode .text-secondary { color: var(--card-text-muted) !important; }

/* ── Modales & Dropdowns ── */
.modal-content {
  background: var(--card-bg) !important;
  color: var(--card-text) !important;
}
.dropdown-menu {
  background: var(--card-bg) !important;
  color: var(--card-text) !important;
}
body.dark-mode .dropdown-menu,
html.dark-mode .dropdown-menu {
  border-color: var(--card-border) !important;
}
body.dark-mode .dropdown-menu .dropdown-item         { color: var(--card-text) !important; }
body.dark-mode .dropdown-menu .dropdown-item:hover,
body.dark-mode .dropdown-menu .dropdown-item:active  { background: var(--sidebar-hover-bg) !important; color: var(--color-primary) !important; }
body.dark-mode .dropdown-menu .dropdown-divider      { border-color: var(--card-border) !important; }

/* ── Inputs ── */
select, input, textarea, .form-control, .form-select {
  background: var(--input-bg) !important;
  color: var(--input-text) !important;
  border-color: var(--input-border) !important;
  transition: background 0.2s, color 0.2s, border-color 0.2s;
}
select:focus, input:focus, textarea:focus,
.form-control:focus, .form-select:focus {
  background: var(--input-focus-bg) !important;
  color: var(--input-focus-text) !important;
  border-color: var(--input-focus-border) !important;
  box-shadow: 0 0 0 0.2rem var(--input-focus-shadow) !important;
  outline: none;
}
input::placeholder, textarea::placeholder { color: var(--input-placeholder) !important; opacity: 1; }

/* Flèche select custom */
select:not(:focus), .form-select:not(:focus) {
  appearance: none; -webkit-appearance: none; -moz-appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg fill='gray' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M12 6L8 10 4 6z'/></svg>") !important;
  background-repeat: no-repeat !important;
  background-position: right 0.75rem center !important;
  background-size: 1.25em 1.25em !important;
  padding-right: 2.5rem !important;
}
html.dark-mode select:not(:focus),
html.dark-mode .form-select:not(:focus) {
  background-image: url("data:image/svg+xml;utf8,<svg fill='%23c0c6ce' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M12 6L8 10 4 6z'/></svg>") !important;
}
select:focus, .form-select:focus { background-image: none !important; }

/* ── Checkboxes ── */
input[type="checkbox"] { position: absolute; opacity: 0; width: 1em; height: 1em; z-index: -1; }
input[type="checkbox"] + label::before {
  content: ''; display: inline-block; width: 1em; height: 1em;
  border: 2px solid var(--input-border); background-color: var(--input-bg);
  border-radius: 0.25em; margin-right: 0.5em; vertical-align: middle;
  transition: background-color 0.2s, border-color 0.2s; box-sizing: border-box;
}
input[type="checkbox"] + label::after {
  content: ''; display: block; position: absolute;
  width: 0.5em; height: 0.25em; top: 0.38em; left: 0.28em;
  border-left: 2px solid transparent; border-bottom: 2px solid transparent;
  transform: rotate(-45deg) scale(0); opacity: 0;
  transition: transform 0.2s, opacity 0.2s;
}
input[type="checkbox"]:checked + label::before { background-color: var(--color-primary); border-color: var(--color-primary); }
input[type="checkbox"]:checked + label::after  { border-left-color: #fff; border-bottom-color: #fff; transform: rotate(-45deg) scale(1); opacity: 1; }
input[type="checkbox"]:focus  + label::before  { outline: 2px solid var(--color-primary); outline-offset: 2px; }
html.dark-mode input[type="checkbox"] + label::before           { background-color: var(--input-bg); border-color: var(--input-border); }
html.dark-mode input[type="checkbox"]:checked + label::before   { background-color: var(--color-primary); border-color: var(--color-primary); }

/* ── Pagination ── */
.page-link {
  background-color: var(--pagination-bg); color: var(--pagination-text);
  border: 1px solid var(--pagination-border); transition: all 0.2s;
}
.page-link:hover { background-color: var(--pagination-hover-bg); color: var(--pagination-hover-text); }
.page-item.active   .page-link { background-color: var(--pagination-active-bg); color: var(--pagination-active-text); border-color: var(--pagination-active-border); font-weight: bold; }
.page-item.disabled .page-link { color: var(--pagination-disabled-text); background-color: var(--pagination-disabled-bg); border-color: var(--pagination-border); pointer-events: none; opacity: .65; }

/* ── Badges ── */
.badge { background: var(--badge-primary-bg); color: var(--badge-primary-color) !important; }

/* ── Planning ── */
.planning-table {
  font-size: 0.7rem; table-layout: fixed; margin-bottom: 2rem;
  background: var(--planning-bg); color: var(--planning-text); border-color: var(--planning-border);
}
.planning-table th, .planning-table td {
  min-width: 30px; text-align: center; vertical-align: middle; padding: 2px;
  background: var(--planning-bg); color: var(--planning-text); border-color: var(--planning-border);
}
.ferie    { background-color: var(--planning-ferie-bg) !important;    color: var(--planning-text) !important; }
.weekend  { background-color: var(--planning-weekend-bg) !important;  color: var(--planning-text) !important; }
.vacances { background-color: var(--planning-vacances-bg) !important; color: var(--planning-text) !important; }
.today    { background-color: var(--planning-today-bg) !important;    color: var(--planning-header-text) !important; font-weight: bold; }
.month-title {
  font-weight: bold; font-size: 1rem;
  background-color: var(--planning-header-bg); color: var(--planning-header-text); text-transform: uppercase;
}

/* ── Preview toujours clair ── */
.preview-fixed-light { background: #fff !important; color: #111 !important; border-color: #dee2e6 !important; }
.preview-fixed-light a { color: #0d6efd !important; }
.preview-fixed-light img { filter: none !important; }
.dark-mode .preview-fixed-light { background: #fff !important; color: #111 !important; }
.preview-fixed-light { --card-bg:#fff; --card-text:#111; --table-bg:#fff; --table-text:#111; --table-header-bg:#f3f4f6; --table-header-text:#111; }

/* ── Notes internes ── */
.card.card-dark { background-color: #343a40; color: #f8f9fa; border-color: #495057; }
.card.card-dark .card-header { background-color: #212529 !important; color: #f8f9fa; border-bottom-color: #495057; }
.card.card-dark .card-header small.text-muted { color: #adb5bd !important; }
.card.card-dark .badge.bg-secondary { background-color: #6c757d !important; }
.messages-list .card { transition: all 0.3s ease-in-out; }
.messages-list .card:hover { transform: translateY(-2px); box-shadow: 0 4px 8px rgba(0,0,0,.1); }
