/* ============================================================
   Thème sombre — Geek Technologie
   S'active via <html data-bs-theme="dark"> (Bootstrap 5.3 natif),
   complété ici pour tout le CSS maison (dash-*, cash-*, fin-*...).
   Les pages d'impression n'héritent pas de base.html : elles
   restent volontairement en clair.
   ============================================================ */

[data-bs-theme="dark"] {
  /* Palette maison : slate profond + accent teal de la marque */
  --gt-bg:#000000;
  --gt-surface:#0f0f0f;
  --gt-surface-2:#171717;
  --gt-surface-3:#202020;
  --gt-line:#262626;
  --gt-text:#eaeaea;
  --gt-muted:#9a9a9a;
  --gt-teal:#45c0a4;
  --gt-teal-soft:rgba(69,192,164,.14);
  --gt-amber:#e3a75c;
  --gt-amber-soft:rgba(227,167,92,.14);
  --gt-rose:#e08491;
  --gt-blue:#78a9ee;

  /* Remap des tokens Bootstrap pour une base cohérente */
  color-scheme:dark;
  --bs-body-bg:#000000;
  --bs-body-color:#eaeaea;
  --bs-emphasis-color:#f7f7f7;
  --bs-secondary-color:#9a9a9a;
  --bs-secondary-bg:#171717;
  --bs-tertiary-bg:#0f0f0f;
  --bs-tertiary-color:#9a9a9a;
  --bs-border-color:#262626;
  --bs-border-color-translucent:rgba(255,255,255,.10);
  --bs-link-color:#63cdb3;
  --bs-link-hover-color:#7fdcc5;
  --bs-card-bg:#0f0f0f;
  --bs-card-border-color:#262626;
  --bs-modal-bg:#0f0f0f;
  --bs-modal-border-color:#262626;
  --bs-dropdown-bg:#131313;
  --bs-dropdown-border-color:#2a2a2a;
  --bs-dropdown-link-color:#e2e2e2;
  --bs-dropdown-link-hover-bg:#202020;
  --bs-dropdown-link-hover-color:#ffffff;
  --bs-dropdown-link-active-bg:#2a6f5f;
  --bs-list-group-bg:#0f0f0f;
  --bs-list-group-border-color:#262626;
  --bs-list-group-color:#eaeaea;
  --bs-list-group-action-hover-bg:#171717;
  --bs-list-group-action-hover-color:#ffffff;
}

/* ---------- Base ---------- */
[data-bs-theme="dark"] body{background-color:var(--gt-bg);color:var(--gt-text)}
[data-bs-theme="dark"] ::selection{background:rgba(69,192,164,.30);color:#fff}
[data-bs-theme="dark"] ::-webkit-scrollbar-track{background:#0a0a0a}
[data-bs-theme="dark"] ::-webkit-scrollbar-thumb{background:#3a3a3a}
[data-bs-theme="dark"] ::-webkit-scrollbar-thumb:hover{background:#4a4a4a}
[data-bs-theme="dark"] hr{border-color:var(--gt-line);opacity:1}

/* ---------- Navbar ---------- */
[data-bs-theme="dark"] nav.navbar.bg-primary{background-color:#070707!important;border-bottom:1px solid #1c1c1c}
[data-bs-theme="dark"] .nav-more-grid > section + section{border-left-color:var(--gt-line)}
[data-bs-theme="dark"] .dropdown-header{color:var(--gt-muted)}
[data-bs-theme="dark"] .dropdown-divider{border-top-color:var(--gt-line)}

/* ---------- Utilitaires Bootstrap surchargés par style.css ---------- */
[data-bs-theme="dark"] .bg-primary{background-color:#141414!important}
[data-bs-theme="dark"] .text-primary{color:#7fd8c1!important}
[data-bs-theme="dark"] .border-primary{border-color:#2a6f5f!important}
[data-bs-theme="dark"] .bg-light{background-color:var(--gt-surface-2)!important}
[data-bs-theme="dark"] .bg-white{background-color:var(--gt-surface)!important}
[data-bs-theme="dark"] .text-dark{color:var(--gt-text)!important}
[data-bs-theme="dark"] .text-muted{color:var(--gt-muted)!important}

/* ---------- Cartes / conteneurs ---------- */
[data-bs-theme="dark"] .card{
  background-color:var(--gt-surface);
  box-shadow:0 1px 2px rgba(0,0,0,.45),0 10px 28px rgba(0,0,0,.30);
}
[data-bs-theme="dark"] .card:hover{box-shadow:0 2px 5px rgba(0,0,0,.5),0 14px 36px rgba(0,0,0,.38)}
[data-bs-theme="dark"] .card-header{border-bottom-color:var(--gt-line);color:var(--gt-text)}
[data-bs-theme="dark"] .card-footer{border-top-color:var(--gt-line)}

/* ---------- Formulaires ---------- */
[data-bs-theme="dark"] .form-control,
[data-bs-theme="dark"] .form-select{
  background-color:var(--gt-surface-2);
  border-color:var(--gt-line);
  color:var(--gt-text);
}
[data-bs-theme="dark"] .form-control:focus,
[data-bs-theme="dark"] .form-select:focus{
  background-color:var(--gt-surface-2);
  border-color:var(--gt-teal);
  color:var(--gt-text);
  box-shadow:0 0 0 .2rem rgba(69,192,164,.20);
}
[data-bs-theme="dark"] .form-control::placeholder{color:#8a8a8a}
[data-bs-theme="dark"] .form-control:disabled,
[data-bs-theme="dark"] .form-select:disabled{background-color:#0b0b0b;color:#8a8a8a}
[data-bs-theme="dark"] .input-group-text{background-color:var(--gt-surface-3);border-color:var(--gt-line);color:var(--gt-muted)}
[data-bs-theme="dark"] .form-check-input{background-color:var(--gt-surface-2);border-color:#3a3a3a}
[data-bs-theme="dark"] .form-check-input:checked{background-color:var(--gt-teal);border-color:var(--gt-teal)}
[data-bs-theme="dark"] .form-label,[data-bs-theme="dark"] .col-form-label{color:var(--gt-text)}
[data-bs-theme="dark"] .form-text{color:var(--gt-muted)}

/* ---------- Boutons ---------- */
[data-bs-theme="dark"] .btn-primary{background:#2a6f5f;border-color:#2a6f5f;color:#eafff8}
[data-bs-theme="dark"] .btn-primary:hover,
[data-bs-theme="dark"] .btn-primary:focus{background:#328270;border-color:#328270;color:#fff}
[data-bs-theme="dark"] .btn-outline-secondary{color:#c4c4c4;border-color:#3a3a3a}
[data-bs-theme="dark"] .btn-outline-secondary:hover{background:#202020;color:#fff;border-color:#4a5b6c}
[data-bs-theme="dark"] .btn-light{background:var(--gt-surface-2);border-color:var(--gt-line);color:var(--gt-text)}
[data-bs-theme="dark"] .btn-light:hover{background:var(--gt-surface-3);color:#fff}

/* ---------- Tableaux ---------- */
[data-bs-theme="dark"] .table thead th{background-color:#151515;color:#e4e4e4;border-color:var(--gt-line)}
[data-bs-theme="dark"] .table{--bs-table-color:var(--gt-text);--bs-table-border-color:var(--gt-line)}
[data-bs-theme="dark"] .table tbody tr:hover{background-color:rgba(255,255,255,.05)}
[data-bs-theme="dark"] .table-light{--bs-table-bg:#151515;--bs-table-color:#e4e4e4;--bs-table-border-color:#262626}
[data-bs-theme="dark"] .sort-btn{color:#9e9e9e}
[data-bs-theme="dark"] .sort-btn:hover,[data-bs-theme="dark"] .sort-btn.active{color:#fff;background:rgba(255,255,255,.12)}

/* ---------- Modales ---------- */
[data-bs-theme="dark"] .modal-header,[data-bs-theme="dark"] .modal-footer{border-color:var(--gt-line)}

/* ---------- Pagination ---------- */
[data-bs-theme="dark"] .pagination .page-link{background-color:var(--gt-surface);border-color:var(--gt-line);color:var(--gt-text)}
[data-bs-theme="dark"] .pagination .page-link:hover{background-color:var(--gt-surface-2);border-color:var(--gt-teal)}
[data-bs-theme="dark"] .pagination .page-item.active .page-link{background-color:#2a6f5f;border-color:#2a6f5f;color:#eafff8}
[data-bs-theme="dark"] .pagination .page-item.disabled .page-link{background-color:#0b0b0b;color:#6b6b6b}

/* ---------- Navbar mobile (style.css) ---------- */
@media (max-width:768px){
  [data-bs-theme="dark"] .navbar-nav{background-color:rgba(22,30,38,.96)}
  [data-bs-theme="dark"] .navbar-nav .nav-link{color:var(--gt-text)!important}
  [data-bs-theme="dark"] .navbar-nav .nav-link:hover{background-color:#202020;color:#fff!important}
}

/* ---------- Dashboard / Caisse (dashboard.css) ---------- */
[data-bs-theme="dark"] .dashboard-shell{
  --dash-ink:var(--gt-text);
  --dash-muted:var(--gt-muted);
  --dash-line:var(--gt-line);
  --dash-teal:#4fc9ac;
}
[data-bs-theme="dark"] .cash-actions-panel,
[data-bs-theme="dark"] .dash-kpi,
[data-bs-theme="dark"] .dash-panel{background:var(--gt-surface)}
[data-bs-theme="dark"] .dash-kpi:hover{border-color:#3d3d3d}
[data-bs-theme="dark"] .dash-panel-heading{border-bottom-color:var(--gt-line)}
[data-bs-theme="dark"] .dash-icon-button{background:var(--gt-surface-2);border-color:var(--gt-line);color:var(--gt-muted)}
[data-bs-theme="dark"] .dash-icon-button:hover{background:var(--gt-surface-3);color:#fff}
[data-bs-theme="dark"] .dash-icon.blue{background:rgba(120,169,238,.15);color:#8fbcf5}
[data-bs-theme="dark"] .dash-icon.amber{background:rgba(227,167,92,.15);color:#e9b878}
[data-bs-theme="dark"] .dash-icon.rose{background:rgba(224,132,145,.15);color:#eb9aa5}
[data-bs-theme="dark"] .dash-icon.teal{background:rgba(69,192,164,.15);color:#5fd3b8}
[data-bs-theme="dark"] .dash-kpi-arrow{color:var(--gt-muted)}
[data-bs-theme="dark"] .dash-empty i{color:#5f5f5f}
[data-bs-theme="dark"] .dash-shortcuts a,
[data-bs-theme="dark"] .dash-shortcuts button{color:#bdbdbd;border-color:var(--gt-line)}
[data-bs-theme="dark"] .dash-shortcuts a:hover,
[data-bs-theme="dark"] .dash-shortcuts button:hover{background:var(--gt-surface-2);color:#fff}
[data-bs-theme="dark"] .dash-shortcuts kbd{background:var(--gt-surface-3);color:#c4c4c4}
[data-bs-theme="dark"] .dash-details summary>span{color:var(--gt-muted)}

[data-bs-theme="dark"] .cash-btn-income{background:rgba(69,192,164,.13);color:#6fd7bd;border-color:rgba(69,192,164,.28)}
[data-bs-theme="dark"] .cash-btn-income:hover{background:rgba(69,192,164,.22);color:#8fe6ce}
[data-bs-theme="dark"] .cash-btn-expense{background:rgba(227,167,92,.13);color:#edb87c;border-color:rgba(227,167,92,.28)}
[data-bs-theme="dark"] .cash-btn-expense:hover{background:rgba(227,167,92,.22);color:#f4c894}
[data-bs-theme="dark"] .cash-link{color:#b5b5b5}
[data-bs-theme="dark"] .cash-link:hover{color:#6fd7bd}
[data-bs-theme="dark"] .cash-row{border-bottom-color:var(--gt-line)}
[data-bs-theme="dark"] .cash-entry-icon{background:rgba(69,192,164,.15);color:#5fd3b8}
[data-bs-theme="dark"] .cash-entry-icon.expense{background:rgba(227,167,92,.15);color:#e9b878}
[data-bs-theme="dark"] .cash-entry-icon.correction{background:rgba(150,148,200,.15);color:#aeabd4}
[data-bs-theme="dark"] .cash-entry-body small{color:var(--gt-muted)}
[data-bs-theme="dark"] .cash-entry-amount{color:#4fc9ac}
[data-bs-theme="dark"] .cash-entry-amount.expense{color:#e0a45f}
[data-bs-theme="dark"] .cash-entry-amount small{color:var(--gt-muted)}
[data-bs-theme="dark"] .cash-entry-cancel{color:#909090}
[data-bs-theme="dark"] .cash-entry-cancel:hover{color:#e08491}
[data-bs-theme="dark"] .recent-invoice:hover{background:var(--gt-surface-2)}
[data-bs-theme="dark"] .recent-invoice{border-bottom-color:var(--gt-line)}
[data-bs-theme="dark"] .invoice-badge{background:rgba(227,167,92,.17);color:#e6b273}
[data-bs-theme="dark"] .invoice-badge.paid{background:rgba(69,192,164,.17);color:#57cfb2}
[data-bs-theme="dark"] .cash-history-row{background:var(--gt-surface);border-bottom-color:var(--gt-line);color:var(--gt-text)}
[data-bs-theme="dark"] .cash-history-row:hover{background:var(--gt-surface-2)}
[data-bs-theme="dark"] .cash-history-row small{color:var(--gt-muted)}
[data-bs-theme="dark"] .cash-modal .form-label{color:var(--gt-muted)}
[data-bs-theme="dark"] .cash-modal .form-control,
[data-bs-theme="dark"] .cash-modal .form-select{border-color:var(--gt-line)}
[data-bs-theme="dark"] .cash-modal .input-group-text{background:var(--gt-surface-3);color:var(--gt-muted);border-color:var(--gt-line)}
[data-bs-theme="dark"] .cash-close-summary{background:rgba(69,192,164,.09);border-color:rgba(69,192,164,.22)}
[data-bs-theme="dark"] .cash-close-summary>span,
[data-bs-theme="dark"] .cash-close-summary p{color:#9fc3b7}
[data-bs-theme="dark"] .cash-close-summary>strong{color:#63d3b6}
[data-bs-theme="dark"] .cash-difference{background:rgba(227,167,92,.15);color:#e7b477}
[data-bs-theme="dark"] .cash-difference.balanced{background:rgba(69,192,164,.15);color:#58d0b3}
[data-bs-theme="dark"] .report-grid>div{background:var(--gt-surface-2)}
[data-bs-theme="dark"] .report-grid span{color:var(--gt-muted)}
[data-bs-theme="dark"] .report-methods th,
[data-bs-theme="dark"] .report-methods td{border-bottom-color:var(--gt-line)}

/* Blocs caisse définis en <style> inline dans dashboard.html / caisse.html */
[data-bs-theme="dark"] .cash-methods-panel{background:var(--gt-surface);border-color:var(--gt-line)}
[data-bs-theme="dark"] .cash-methods-table th,
[data-bs-theme="dark"] .cash-methods-table td{border-bottom-color:var(--gt-line)}
[data-bs-theme="dark"] .cash-methods-table .muted td{color:var(--gt-muted)}
[data-bs-theme="dark"] .cash-method-row .cash-method-expected{color:var(--gt-muted)}
[data-bs-theme="dark"] .cash-method-total{color:var(--gt-text)}

/* ---------- Récap financier (financial-recap.css) ---------- */
[data-bs-theme="dark"] .finance-shell{
  color:var(--gt-text);
  --fin-line:var(--gt-line);
  --fin-muted:var(--gt-muted);
  --fin-green:#4fc9ac;
}
[data-bs-theme="dark"] .fin-filterbar,
[data-bs-theme="dark"] .fin-panel,
[data-bs-theme="dark"] .fin-kpi,
[data-bs-theme="dark"] .fin-loading,
[data-bs-theme="dark"] .fin-aging .fin-mini{background:var(--gt-surface)}
[data-bs-theme="dark"] .fin-eyebrow{color:#9a9a9a}
[data-bs-theme="dark"] .fin-kpi-top,[data-bs-theme="dark"] .fin-kpi-top i{color:var(--gt-muted)}
[data-bs-theme="dark"] .fin-kpi.dark{background:#141414;border-color:#2a2a2a}
[data-bs-theme="dark"] .fin-kpi.green strong{color:#4fc9ac}
[data-bs-theme="dark"] .fin-kpi.amber strong{color:#e0a45f}
[data-bs-theme="dark"] .fin-kpi.red strong{color:#e08491}
[data-bs-theme="dark"] .fin-kpi.purple strong{color:#aeabd4}
[data-bs-theme="dark"] .fin-export-primary,
[data-bs-theme="dark"] .fin-apply{background:#2a6f5f;color:#eafff8}
[data-bs-theme="dark"] .fin-export-primary:hover,
[data-bs-theme="dark"] .fin-apply:hover{background:#328270;color:#fff}
[data-bs-theme="dark"] .fin-presets button{background:var(--gt-surface-2);color:var(--gt-muted)}
[data-bs-theme="dark"] .fin-presets button.active{background:rgba(69,192,164,.18);color:#6fd7bd}
[data-bs-theme="dark"] .fin-tabs{border-bottom-color:var(--gt-line)}
[data-bs-theme="dark"] .fin-tabs button{color:var(--gt-muted)}
[data-bs-theme="dark"] .fin-tabs button.active{background:#1f4a45;color:#eafff8}
[data-bs-theme="dark"] .fin-mini{background:var(--gt-surface-2);border-color:var(--gt-line)}
[data-bs-theme="dark"] .fin-attention{background:rgba(227,167,92,.10);border-color:rgba(227,167,92,.28);color:#e2b47c}
[data-bs-theme="dark"] .fin-scope-note{background:var(--gt-surface-2);color:var(--gt-muted)}
[data-bs-theme="dark"] .fin-bar-track{background:var(--gt-surface-3)}
[data-bs-theme="dark"] .fin-bar-fill{background:#3f9e88}
[data-bs-theme="dark"] .fin-table-wrap{border-color:var(--gt-line)}
[data-bs-theme="dark"] .fin-table th{background:var(--gt-surface-2);color:var(--gt-muted)}
[data-bs-theme="dark"] .fin-table td{border-top-color:var(--gt-line)}
[data-bs-theme="dark"] .fin-table tbody tr:hover{background:rgba(255,255,255,.04)}
[data-bs-theme="dark"] .fin-table a{color:#5fd3b8}
[data-bs-theme="dark"] .fin-table .negative{color:#e08491}
[data-bs-theme="dark"] .fin-table .badge{background:rgba(69,192,164,.17);color:#7ad9c1}
[data-bs-theme="dark"] .fin-table-pages button{background:var(--gt-surface);border-color:var(--gt-line);color:var(--gt-text)}
[data-bs-theme="dark"] .fin-empty{color:var(--gt-muted)}
[data-bs-theme="dark"] .fin-text-link{color:#5fd3b8}
[data-bs-theme="dark"] .fin-rules{color:var(--gt-muted)}
[data-bs-theme="dark"] .fin-rules summary{color:#b5b5b5}
[data-bs-theme="dark"] .fin-legend .green{background:#4fc9ac}
[data-bs-theme="dark"] .fin-legend .amber{background:#e0a45f}

/* ---------- experience.css ---------- */
[data-bs-theme="dark"] #invoiceModal .modal-footer{background:var(--gt-surface);border-top-color:var(--gt-line)}
@media (max-width:767px){
  [data-bs-theme="dark"] .mobile-cards tr{background:var(--gt-surface);border-color:var(--gt-line)}
  [data-bs-theme="dark"] .mobile-cards td[data-label]::before{color:var(--gt-muted)}
}

/* ---------- serial-search.css : surlignage lisible en sombre ---------- */
[data-bs-theme="dark"] .serial-search-hit,
[data-bs-theme="dark"] #productDetailsContent .variants-table tr.serial-search-hit > td,
[data-bs-theme="dark"] #productsTableBody tr.serial-search-hit > td{
  background-color:#4a3a12!important;
  color:#ffe9b0;
  --bs-table-bg:#4a3a12;
  --bs-table-accent-bg:#4a3a12;
}
[data-bs-theme="dark"] tr.serial-search-hit > td:first-child,
[data-bs-theme="dark"] button.serial-search-hit{border-left-color:#d8a83a!important}
[data-bs-theme="dark"] .serial-search-label{color:#e8c67a}

/* ---------- Bouton de bascule du thème ---------- */
.theme-toggle{background:none;border:0;color:inherit;line-height:1;padding:.45rem .55rem;border-radius:8px}
.theme-toggle:hover{background:rgba(255,255,255,.12)}
.theme-toggle .bi{font-size:1.05rem}
.theme-toggle .theme-icon-dark{display:none}
[data-bs-theme="dark"] .theme-toggle .theme-icon-dark{display:inline-block}
[data-bs-theme="dark"] .theme-toggle .theme-icon-light{display:none}

/* ---------- Harmonisation de l'accent (teal de la marque au lieu du bleu BS) ---------- */
[data-bs-theme="dark"]{
  --bs-primary:#45c0a4;
  --bs-primary-rgb:69,192,164;
  --bs-primary-bg-subtle:#12302a;
  --bs-primary-border-subtle:#2a6f5f;
  --bs-primary-text-emphasis:#7fd8c1;
  --bs-list-group-active-bg:#2a6f5f;
  --bs-list-group-active-border-color:#2a6f5f;
  --bs-list-group-active-color:#eafff8;
  --bs-nav-pills-link-active-bg:#2a6f5f;
  --bs-nav-pills-link-active-color:#eafff8;
  --bs-accordion-bg:#0f0f0f;
  --bs-accordion-border-color:#262626;
  --bs-accordion-active-bg:#1f4a45;
  --bs-accordion-active-color:#eafff8;
  --bs-popover-bg:#131313;
  --bs-popover-border-color:#2a2a2a;
  --bs-tooltip-bg:#202020;
  --bs-offcanvas-bg:#0f0f0f;
}
[data-bs-theme="dark"] .btn-outline-primary{color:#63cdb3;border-color:#2f7a68}
[data-bs-theme="dark"] .btn-outline-primary:hover,
[data-bs-theme="dark"] .btn-outline-primary:focus{background:#2a6f5f;border-color:#2a6f5f;color:#eafff8}
[data-bs-theme="dark"] .list-group-item-action:hover{background:var(--gt-surface-2);color:#fff}
[data-bs-theme="dark"] .form-control[type="file"]::file-selector-button{
  background:var(--gt-surface-3);color:var(--gt-text);border-color:var(--gt-line);
}
[data-bs-theme="dark"] .nav-tabs{border-bottom-color:var(--gt-line)}
[data-bs-theme="dark"] .nav-tabs .nav-link{color:var(--gt-muted)}
[data-bs-theme="dark"] .nav-tabs .nav-link:hover{border-color:var(--gt-line);color:var(--gt-text)}
[data-bs-theme="dark"] .nav-tabs .nav-link.active{
  background:var(--gt-surface);color:var(--gt-text);
  border-color:var(--gt-line) var(--gt-line) var(--gt-surface);
}
[data-bs-theme="dark"] .progress{background-color:var(--gt-surface-3)}
[data-bs-theme="dark"] .breadcrumb{color:var(--gt-muted)}
[data-bs-theme="dark"] .toast{background-color:var(--gt-surface);border-color:var(--gt-line)}

/* ---------- Variables de composants Bootstrap 5.3 ----------
   Bootstrap déclare ces variables SUR la classe du composant : les définir
   sur :root n'a aucun effet. On les redéfinit donc au bon niveau. */
[data-bs-theme="dark"] .list-group{
  --bs-list-group-bg:var(--gt-surface);
  --bs-list-group-border-color:var(--gt-line);
  --bs-list-group-color:var(--gt-text);
  --bs-list-group-action-color:var(--gt-text);
  --bs-list-group-action-hover-bg:var(--gt-surface-2);
  --bs-list-group-action-hover-color:#ffffff;
  --bs-list-group-active-bg:#2a6f5f;
  --bs-list-group-active-border-color:#2a6f5f;
  --bs-list-group-active-color:#eafff8;
}
[data-bs-theme="dark"] .nav-pills{--bs-nav-pills-link-active-bg:#2a6f5f;--bs-nav-pills-link-active-color:#eafff8}
[data-bs-theme="dark"] .card{--bs-card-bg:var(--gt-surface);--bs-card-border-color:var(--gt-line);--bs-card-cap-bg:transparent;--bs-card-color:var(--gt-text)}
[data-bs-theme="dark"] .modal{
  --bs-modal-bg:var(--gt-surface);
  --bs-modal-color:var(--gt-text);
  --bs-modal-border-color:var(--gt-line);
  --bs-modal-header-border-color:var(--gt-line);
  --bs-modal-footer-border-color:var(--gt-line);
}
[data-bs-theme="dark"] .dropdown-menu{
  --bs-dropdown-bg:#131313;
  --bs-dropdown-border-color:#2a2a2a;
  --bs-dropdown-color:#e2e2e2;
  --bs-dropdown-link-color:#e2e2e2;
  --bs-dropdown-link-hover-bg:#202020;
  --bs-dropdown-link-hover-color:#ffffff;
  --bs-dropdown-link-active-bg:#2a6f5f;
  --bs-dropdown-link-active-color:#eafff8;
  --bs-dropdown-header-color:var(--gt-muted);
  --bs-dropdown-divider-bg:var(--gt-line);
}
[data-bs-theme="dark"] .accordion{
  --bs-accordion-bg:var(--gt-surface);
  --bs-accordion-color:var(--gt-text);
  --bs-accordion-border-color:var(--gt-line);
  --bs-accordion-btn-color:var(--gt-text);
  --bs-accordion-active-bg:#1f4a45;
  --bs-accordion-active-color:#eafff8;
}
[data-bs-theme="dark"] .pagination{
  --bs-pagination-bg:var(--gt-surface);
  --bs-pagination-color:var(--gt-text);
  --bs-pagination-border-color:var(--gt-line);
  --bs-pagination-hover-bg:var(--gt-surface-2);
  --bs-pagination-hover-color:#ffffff;
  --bs-pagination-hover-border-color:var(--gt-line);
  --bs-pagination-focus-bg:var(--gt-surface-2);
  --bs-pagination-active-bg:#2a6f5f;
  --bs-pagination-active-border-color:#2a6f5f;
  --bs-pagination-active-color:#eafff8;
  --bs-pagination-disabled-bg:#0b0b0b;
  --bs-pagination-disabled-color:#6b6b6b;
  --bs-pagination-disabled-border-color:var(--gt-line);
}
[data-bs-theme="dark"] .table{
  --bs-table-color:var(--gt-text);
  --bs-table-bg:transparent;
  --bs-table-border-color:var(--gt-line);
  --bs-table-striped-bg:rgba(255,255,255,.035);
  --bs-table-striped-color:var(--gt-text);
  --bs-table-hover-bg:rgba(255,255,255,.055);
  --bs-table-hover-color:var(--gt-text);
}
[data-bs-theme="dark"] .nav-tabs{
  --bs-nav-tabs-border-color:var(--gt-line);
  --bs-nav-tabs-link-hover-border-color:var(--gt-line);
  --bs-nav-tabs-link-active-bg:var(--gt-surface);
  --bs-nav-tabs-link-active-color:var(--gt-text);
  --bs-nav-tabs-link-active-border-color:var(--gt-line) var(--gt-line) var(--gt-surface);
}
[data-bs-theme="dark"] .progress,[data-bs-theme="dark"] .progress-stacked{--bs-progress-bg:var(--gt-surface-3)}
[data-bs-theme="dark"] .toast{--bs-toast-bg:var(--gt-surface);--bs-toast-color:var(--gt-text);--bs-toast-border-color:var(--gt-line);--bs-toast-header-bg:var(--gt-surface-2);--bs-toast-header-color:var(--gt-text)}
[data-bs-theme="dark"] .offcanvas,[data-bs-theme="dark"] .offcanvas-start,[data-bs-theme="dark"] .offcanvas-end{--bs-offcanvas-bg:var(--gt-surface);--bs-offcanvas-color:var(--gt-text);--bs-offcanvas-border-color:var(--gt-line)}
[data-bs-theme="dark"] .popover{--bs-popover-bg:#131313;--bs-popover-border-color:#2a2a2a;--bs-popover-header-bg:var(--gt-surface-2);--bs-popover-body-color:var(--gt-text)}
[data-bs-theme="dark"] .tooltip{--bs-tooltip-bg:#202020;--bs-tooltip-color:#ececec}

/* Champs fichier natifs */
[data-bs-theme="dark"] input[type="file"]::file-selector-button{
  background:var(--gt-surface-3);color:var(--gt-text);border-color:var(--gt-line);
}
[data-bs-theme="dark"] input[type="file"]:hover::file-selector-button{background:#2e2e2e;color:#fff}

/* ---------- Noir neutre : surfaces colorées héritées du CSS clair ---------- */
/* Le grand bandeau de caisse était un dégradé bleu-vert : on le passe en noir
   neutre, les accents teal (icône, statut, montants) restent. */
[data-bs-theme="dark"] .cash-hero{
  background:linear-gradient(135deg,#101010,#181818);
  border:1px solid #262626;
  box-shadow:none;
}
[data-bs-theme="dark"] .cash-balance-label,
[data-bs-theme="dark"] .cash-balance small,
[data-bs-theme="dark"] .cash-caption{color:#b0b0b0}
[data-bs-theme="dark"] .cash-hero-bottom{color:#9a9a9a;border-top-color:#242424}
[data-bs-theme="dark"] .cash-equation div>span{color:#9a9a9a}
[data-bs-theme="dark"] .cash-sign{color:#7a7a7a}
[data-bs-theme="dark"] .cash-status{background:rgba(255,255,255,.07);color:#c4c4c4}
[data-bs-theme="dark"] .stats-card{background:#141414}
[data-bs-theme="dark"] .dashboard-shell .btn-primary,
[data-bs-theme="dark"] .cash-modal .btn-primary{background:#2a6f5f;border-color:#2a6f5f}

/* ---------- Page Historique des caisses ---------- */
[data-bs-theme="dark"] .hist-panel,
[data-bs-theme="dark"] .hist-stat{background:var(--gt-surface);border-color:var(--gt-line)}
[data-bs-theme="dark"] .hist-filters label,
[data-bs-theme="dark"] .hist-stat span{color:var(--gt-muted)}
[data-bs-theme="dark"] .hist-presets button{background:var(--gt-surface-2);color:var(--gt-muted)}
[data-bs-theme="dark"] .hist-presets button:hover{background:var(--gt-surface-3);color:#fff}
[data-bs-theme="dark"] .hist-presets button.active{background:rgba(69,192,164,.18);color:#6fd7bd}
[data-bs-theme="dark"] .hist-table th{color:var(--gt-muted)}
[data-bs-theme="dark"] .hist-table th,
[data-bs-theme="dark"] .hist-table td{border-bottom-color:var(--gt-line)}
[data-bs-theme="dark"] .hist-table tbody tr:hover{background:var(--gt-surface-2)}
[data-bs-theme="dark"] .hist-badge.open{background:rgba(69,192,164,.17);color:#5fd3b8}
[data-bs-theme="dark"] .hist-badge.closed{background:var(--gt-surface-3);color:#b5b5b5}
[data-bs-theme="dark"] .hist-gap.ok{color:#4fc9ac}
[data-bs-theme="dark"] .hist-gap.off{color:#e08491}
