/* ==========================================================================
   Thème sombre
   Actif quand <html data-theme="dark"> (posé par le script du <head>,
   selon le choix enregistré ou le réglage de l'appareil).
   Toutes les règles sont préfixées par html[data-theme="dark"] : sans
   cet attribut, le site reste exactement comme avant.
   ========================================================================== */

html[data-theme="dark"] {
  --sb-fond:        #16181c;
  --sb-surface:     #1e2126;
  --sb-surface-2:   #262a30;
  --sb-surface-3:   #2e333a;
  --sb-bordure:     #353a42;
  --sb-bordure-2:   #444a53;
  --sb-texte:       #d9dde2;
  --sb-texte-fort:  #f1f3f5;
  --sb-texte-doux:  #9198a1;
  --sb-texte-pale:  #5f6670;
  --sb-lien:        #7cb0ee;
  --sb-lien-survol: #a6c9f5;
  --sb-champ:       #121417;
  --sb-focus:       #4c8bd6;
  color-scheme: dark;
}

/* --- Base -------------------------------------------------------------- */
html[data-theme="dark"] body {background-color: var(--sb-fond); color: var(--sb-texte);}
html[data-theme="dark"] a {color: var(--sb-lien);}
html[data-theme="dark"] a:hover,
html[data-theme="dark"] a:focus {color: var(--sb-lien-survol);}
html[data-theme="dark"] h1, html[data-theme="dark"] h2, html[data-theme="dark"] h3,
html[data-theme="dark"] h4, html[data-theme="dark"] h5, html[data-theme="dark"] h6,
html[data-theme="dark"] strong, html[data-theme="dark"] b, html[data-theme="dark"] th,
html[data-theme="dark"] label {color: var(--sb-texte-fort);}
html[data-theme="dark"] .page-header {border-bottom-color: var(--sb-bordure);}
html[data-theme="dark"] hr {border-top-color: var(--sb-bordure);}
html[data-theme="dark"] .text-muted,
html[data-theme="dark"] .help-block {color: var(--sb-texte-doux);}
html[data-theme="dark"] .close {color: var(--sb-texte-fort); text-shadow: none; opacity: .6;}
html[data-theme="dark"] code {background-color: var(--sb-surface-2); color: #f08aa8;}
html[data-theme="dark"] pre {background-color: var(--sb-surface); border-color: var(--sb-bordure); color: var(--sb-texte);}
html[data-theme="dark"] td.positif {color: #6fcf8f;}
html[data-theme="dark"] td.negatif {color: #f08080;}
html[data-theme="dark"] .sk-folding-cube .sk-cube:before {background-color: var(--sb-texte-doux);}

/* --- Barre de navigation ---------------------------------------------- */
html[data-theme="dark"] .navbar-default {
  background-image: none; background-color: var(--sb-surface);
  border-color: var(--sb-bordure); box-shadow: 0 1px 0 rgba(0,0,0,.4);
}
html[data-theme="dark"] .navbar-default .navbar-brand,
html[data-theme="dark"] .navbar-default .navbar-nav > li > a {color: var(--sb-texte-doux); text-shadow: none;}
html[data-theme="dark"] .navbar-default .navbar-brand:hover,
html[data-theme="dark"] .navbar-default .navbar-nav > li > a:hover,
html[data-theme="dark"] .navbar-default .navbar-nav > li > a:focus {color: var(--sb-texte-fort);}
html[data-theme="dark"] .navbar-default .navbar-nav > .active > a,
html[data-theme="dark"] .navbar-default .navbar-nav > .active > a:hover,
html[data-theme="dark"] .navbar-default .navbar-nav > .active > a:focus,
html[data-theme="dark"] .navbar-default .navbar-nav > .open > a,
html[data-theme="dark"] .navbar-default .navbar-nav > .open > a:hover,
html[data-theme="dark"] .navbar-default .navbar-nav > .open > a:focus {
  background-image: none; background-color: var(--sb-surface-3); color: var(--sb-texte-fort); box-shadow: none;
}
html[data-theme="dark"] .navbar-default .navbar-nav > li > .dropdown-toggle {color: var(--sb-texte-fort);}
html[data-theme="dark"] .navbar-default .navbar-toggle {border-color: var(--sb-bordure-2);}
html[data-theme="dark"] .navbar-default .navbar-toggle:hover,
html[data-theme="dark"] .navbar-default .navbar-toggle:focus {background-color: var(--sb-surface-3);}
html[data-theme="dark"] .navbar-default .navbar-toggle .icon-bar {background-color: var(--sb-texte-doux);}
html[data-theme="dark"] .navbar-default .navbar-collapse,
html[data-theme="dark"] .navbar-default .navbar-form {border-color: var(--sb-bordure);}
html[data-theme="dark"] .navbar-default .navbar-nav .open .dropdown-menu > li > a {color: var(--sb-texte);}

/* --- Menus déroulants ------------------------------------------------- */
html[data-theme="dark"] .dropdown-menu {background-color: var(--sb-surface-2); border-color: var(--sb-bordure-2); box-shadow: 0 6px 16px rgba(0,0,0,.5);}
html[data-theme="dark"] .dropdown-menu > li > a {color: var(--sb-texte);}
html[data-theme="dark"] .dropdown-menu > li > a:hover,
html[data-theme="dark"] .dropdown-menu > li > a:focus {background-image: none; background-color: var(--sb-surface-3); color: var(--sb-texte-fort);}
html[data-theme="dark"] .dropdown-menu > .active > a,
html[data-theme="dark"] .dropdown-menu > .active > a:hover {background-image: none; background-color: #2f5f96; color: #fff;}
html[data-theme="dark"] .dropdown-menu .divider {background-color: var(--sb-bordure);}
html[data-theme="dark"] .dropdown-header {color: var(--sb-texte-doux);}

/* --- Panneaux, puits, listes ------------------------------------------ */
html[data-theme="dark"] .panel {background-color: var(--sb-surface); border-color: var(--sb-bordure); box-shadow: none;}
html[data-theme="dark"] .panel-default > .panel-heading,
html[data-theme="dark"] .panel-heading {background-image: none; background-color: var(--sb-surface-2); border-color: var(--sb-bordure); color: var(--sb-texte-fort);}
html[data-theme="dark"] .panel-footer {background-color: var(--sb-surface-2); border-top-color: var(--sb-bordure);}
html[data-theme="dark"] .panel-default > .panel-heading + .panel-collapse > .panel-body,
html[data-theme="dark"] .panel > .panel-body + .table,
html[data-theme="dark"] .panel > .table + .panel-body {border-top-color: var(--sb-bordure);}
html[data-theme="dark"] .panel-primary > .panel-heading {background-color: #2f5f96; border-color: #2f5f96; color: #fff;}
html[data-theme="dark"] .panel-success > .panel-heading {background-color: #23412a; border-color: #2e5536; color: #a7dbb2;}
html[data-theme="dark"] .panel-info > .panel-heading    {background-color: #1d3a4a; border-color: #285066; color: #9fd0ea;}
html[data-theme="dark"] .panel-warning > .panel-heading {background-color: #4a3a17; border-color: #614c1f; color: #f0d48f;}
html[data-theme="dark"] .panel-danger > .panel-heading  {background-color: #4a2224; border-color: #642d30; color: #f2a9ab;}
html[data-theme="dark"] .well {background-image: none; background-color: var(--sb-surface); border-color: var(--sb-bordure); box-shadow: none;}
html[data-theme="dark"] .list-group {box-shadow: none;}
html[data-theme="dark"] .list-group-item {background-color: var(--sb-surface); border-color: var(--sb-bordure); color: var(--sb-texte);}
html[data-theme="dark"] a.list-group-item:hover,
html[data-theme="dark"] a.list-group-item:focus,
html[data-theme="dark"] button.list-group-item:hover {background-color: var(--sb-surface-2); color: var(--sb-texte-fort);}
html[data-theme="dark"] .list-group-item.disabled,
html[data-theme="dark"] .list-group-item.disabled:hover {background-color: var(--sb-surface); color: var(--sb-texte-pale);}
html[data-theme="dark"] .list-group-item.active,
html[data-theme="dark"] .list-group-item.active:hover {background-image: none; background-color: #2f5f96; border-color: #2f5f96; color: #fff; text-shadow: none;}

/* --- Tableaux ----------------------------------------------------------- */
html[data-theme="dark"] .table {color: var(--sb-texte);}
html[data-theme="dark"] .table > thead > tr > th,
html[data-theme="dark"] .table > tbody > tr > th,
html[data-theme="dark"] .table > tfoot > tr > th,
html[data-theme="dark"] .table > thead > tr > td,
html[data-theme="dark"] .table > tbody > tr > td,
html[data-theme="dark"] .table > tfoot > tr > td {border-color: var(--sb-bordure);}
html[data-theme="dark"] .table > thead > tr > th {border-bottom-color: var(--sb-bordure-2);}
html[data-theme="dark"] .table > tbody + tbody {border-top-color: var(--sb-bordure-2);}
html[data-theme="dark"] .table-bordered,
html[data-theme="dark"] .table-bordered > thead > tr > th,
html[data-theme="dark"] .table-bordered > tbody > tr > th,
html[data-theme="dark"] .table-bordered > thead > tr > td,
html[data-theme="dark"] .table-bordered > tbody > tr > td,
html[data-theme="dark"] .table-bordered > tfoot > tr > td {border-color: var(--sb-bordure);}
html[data-theme="dark"] .table-striped > tbody > tr:nth-of-type(odd) {background-color: rgba(255,255,255,.03);}
html[data-theme="dark"] .table-hover > tbody > tr:hover {background-color: rgba(255,255,255,.06);}
html[data-theme="dark"] .table > thead > tr > td.active, html[data-theme="dark"] .table > tbody > tr > td.active,
html[data-theme="dark"] .table > tbody > tr.active > td, html[data-theme="dark"] .table > tbody > tr.active > th {background-color: var(--sb-surface-3);}
html[data-theme="dark"] .table > tbody > tr.success > td, html[data-theme="dark"] .table > tbody > tr > td.success {background-color: #22382a;}
html[data-theme="dark"] .table > tbody > tr.info > td,    html[data-theme="dark"] .table > tbody > tr > td.info    {background-color: #1d3340;}
html[data-theme="dark"] .table > tbody > tr.warning > td, html[data-theme="dark"] .table > tbody > tr > td.warning {background-color: #3d3318;}
html[data-theme="dark"] .table > tbody > tr.danger > td,  html[data-theme="dark"] .table > tbody > tr > td.danger  {background-color: #3d2224;}
html[data-theme="dark"] .table-responsive {border-color: var(--sb-bordure);}

/* --- Formulaires -------------------------------------------------------- */
html[data-theme="dark"] .form-control,
html[data-theme="dark"] input[type="text"], html[data-theme="dark"] input[type="email"],
html[data-theme="dark"] input[type="password"], html[data-theme="dark"] input[type="number"],
html[data-theme="dark"] input[type="date"], html[data-theme="dark"] input[type="search"],
html[data-theme="dark"] input[type="tel"], html[data-theme="dark"] select, html[data-theme="dark"] textarea {
  background-color: var(--sb-champ); border-color: var(--sb-bordure-2); color: var(--sb-texte-fort); box-shadow: none;
}
html[data-theme="dark"] .form-control:focus {border-color: var(--sb-focus); box-shadow: 0 0 0 3px rgba(76,139,214,.25);}
html[data-theme="dark"] .form-control::placeholder {color: var(--sb-texte-pale);}
html[data-theme="dark"] .form-control[disabled],
html[data-theme="dark"] .form-control[readonly],
html[data-theme="dark"] fieldset[disabled] .form-control {background-color: var(--sb-surface-2); color: var(--sb-texte-doux); opacity: 1;}
html[data-theme="dark"] .input-group-addon {background-color: var(--sb-surface-3); border-color: var(--sb-bordure-2); color: var(--sb-texte);}
html[data-theme="dark"] select option {background-color: var(--sb-surface-2); color: var(--sb-texte-fort);}
html[data-theme="dark"] legend {color: var(--sb-texte-fort); border-bottom-color: var(--sb-bordure);}
html[data-theme="dark"] .has-error .form-control, html[data-theme="dark"] .user-error {border-color: #c9605e;}
html[data-theme="dark"] .has-error .help-block, html[data-theme="dark"] .has-error .control-label {color: #f08080;}
html[data-theme="dark"] .has-success .form-control {border-color: #4f9a62;}
html[data-theme="dark"] input:-webkit-autofill {-webkit-box-shadow: 0 0 0 1000px var(--sb-champ) inset; -webkit-text-fill-color: var(--sb-texte-fort);}
/* champs numériques de webshim (boutons +/-) */
html[data-theme="dark"] .input-buttons,
html[data-theme="dark"] .ws-po-box, html[data-theme="dark"] .ws-po-outerbox .ws-po-box {background-color: var(--sb-surface-2); border-color: var(--sb-bordure-2); color: var(--sb-texte);}
html[data-theme="dark"] .step-controls > span {background-color: var(--sb-surface-3); border-color: var(--sb-bordure-2);}

/* --- Boutons ------------------------------------------------------------ */
html[data-theme="dark"] .btn {text-shadow: none; box-shadow: none;}
html[data-theme="dark"] .btn-default {background-image: none; background-color: var(--sb-surface-3); border-color: var(--sb-bordure-2); color: var(--sb-texte-fort);}
html[data-theme="dark"] .btn-default:hover, html[data-theme="dark"] .btn-default:focus,
html[data-theme="dark"] .btn-default:active, html[data-theme="dark"] .btn-default.active,
html[data-theme="dark"] .open > .dropdown-toggle.btn-default {background-color: #394049; border-color: #545b65; color: #fff;}
html[data-theme="dark"] .btn-default[disabled], html[data-theme="dark"] .btn-default.disabled {background-color: var(--sb-surface-2); color: var(--sb-texte-pale);}
html[data-theme="dark"] .btn-primary {background-image: none; background-color: #2f6db0; border-color: #2a619c;}
html[data-theme="dark"] .btn-primary:hover, html[data-theme="dark"] .btn-primary:focus {background-color: #3a7cc4; border-color: #3170b2;}
html[data-theme="dark"] .btn-success {background-image: none; background-color: #2f8a46; border-color: #2a7a3e;}
html[data-theme="dark"] .btn-success:hover, html[data-theme="dark"] .btn-success:focus {background-color: #37a053; border-color: #2f8a46;}
html[data-theme="dark"] .btn-info {background-image: none; background-color: #2a7f9e; border-color: #256f8b;}
html[data-theme="dark"] .btn-warning {background-image: none; background-color: #b7801f; border-color: #a2711b;}
html[data-theme="dark"] .btn-danger {background-image: none; background-color: #b5413e; border-color: #a03936;}
html[data-theme="dark"] .btn-link {color: var(--sb-lien);}

/* texte blanc sur les boutons colorés, y compris quand ce sont des liens <a class="btn"> */
html[data-theme="dark"] .btn-primary, html[data-theme="dark"] .btn-success, html[data-theme="dark"] .btn-info,
html[data-theme="dark"] .btn-warning, html[data-theme="dark"] .btn-danger,
html[data-theme="dark"] .btn-primary:hover, html[data-theme="dark"] .btn-success:hover, html[data-theme="dark"] .btn-info:hover,
html[data-theme="dark"] .btn-warning:hover, html[data-theme="dark"] .btn-danger:hover,
html[data-theme="dark"] .btn-primary:focus, html[data-theme="dark"] .btn-success:focus, html[data-theme="dark"] .btn-info:focus,
html[data-theme="dark"] .btn-warning:focus, html[data-theme="dark"] .btn-danger:focus {color: #fff;}
html[data-theme="dark"] .btn-default, html[data-theme="dark"] a.btn-default:hover {color: var(--sb-texte-fort);}
html[data-theme="dark"] .btn-danger:hover, html[data-theme="dark"] .btn-danger:focus {background-color: #c84b47; border-color: #b5413e;}
html[data-theme="dark"] .btn-warning:hover, html[data-theme="dark"] .btn-warning:focus {background-color: #c98d25; border-color: #b7801f;}
html[data-theme="dark"] .btn-info:hover, html[data-theme="dark"] .btn-info:focus {background-color: #3191b3; border-color: #2a7f9e;}
html[data-theme="dark"] .label {color: #fff;}

/* --- Alertes, étiquettes, badges ---------------------------------------- */
html[data-theme="dark"] .alert {background-image: none; text-shadow: none; box-shadow: none;}
html[data-theme="dark"] .alert-success {background-color: #1f3826; border-color: #2c5236; color: #a7dbb2;}
html[data-theme="dark"] .alert-info    {background-color: #1b3341; border-color: #275064; color: #9fd0ea;}
html[data-theme="dark"] .alert-warning {background-color: #3d3216; border-color: #5c4a1e; color: #f0d48f;}
html[data-theme="dark"] .alert-danger  {background-color: #3d1f21; border-color: #5e2c2f; color: #f2a9ab;}
html[data-theme="dark"] .alert .alert-link {color: inherit;}
html[data-theme="dark"] .label-default {background-color: #4a515b;}
html[data-theme="dark"] .badge {background-color: #4a515b; color: #fff;}
html[data-theme="dark"] .text-success {color: #6fcf8f;}
html[data-theme="dark"] .text-danger {color: #f08080;}
html[data-theme="dark"] .text-warning {color: #e8c06a;}
html[data-theme="dark"] .text-info {color: #7cc4e6;}
html[data-theme="dark"] .text-primary {color: var(--sb-lien);}

/* --- Onglets, pagination, fil d'Ariane ---------------------------------- */
html[data-theme="dark"] .nav-tabs {border-bottom-color: var(--sb-bordure);}
html[data-theme="dark"] .nav-tabs > li > a:hover {background-color: var(--sb-surface-2); border-color: var(--sb-bordure);}
html[data-theme="dark"] .nav-tabs > li.active > a,
html[data-theme="dark"] .nav-tabs > li.active > a:hover,
html[data-theme="dark"] .nav-tabs > li.active > a:focus {background-color: var(--sb-fond); border-color: var(--sb-bordure); border-bottom-color: transparent; color: var(--sb-texte-fort);}
html[data-theme="dark"] .nav > li > a:hover, html[data-theme="dark"] .nav > li > a:focus {background-color: var(--sb-surface-2);}
html[data-theme="dark"] .nav-pills > li.active > a {background-color: #2f6db0;}
html[data-theme="dark"] .pagination > li > a,
html[data-theme="dark"] .pagination > li > span {background-color: var(--sb-surface); border-color: var(--sb-bordure); color: var(--sb-lien);}
html[data-theme="dark"] .pagination > li > a:hover,
html[data-theme="dark"] .pagination > li > span:hover {background-color: var(--sb-surface-3); color: var(--sb-lien-survol);}
html[data-theme="dark"] .pagination > .active > a,
html[data-theme="dark"] .pagination > .active > span,
html[data-theme="dark"] .pagination > .active > a:hover {background-color: #2f6db0; border-color: #2f6db0; color: #fff;}
html[data-theme="dark"] .pagination > .disabled > a,
html[data-theme="dark"] .pagination > .disabled > span,
html[data-theme="dark"] .pagination > .disabled > a:hover {background-color: var(--sb-surface); border-color: var(--sb-bordure); color: var(--sb-texte-pale);}
html[data-theme="dark"] .pager li > a, html[data-theme="dark"] .pager li > span {background-color: var(--sb-surface); border-color: var(--sb-bordure); color: var(--sb-lien);}
html[data-theme="dark"] .pager li > a:hover {background-color: var(--sb-surface-3);}
html[data-theme="dark"] .breadcrumb {background-color: var(--sb-surface); }

/* --- Fenêtres, infobulles ----------------------------------------------- */
html[data-theme="dark"] .modal-content {background-color: var(--sb-surface); border-color: var(--sb-bordure-2); box-shadow: 0 10px 30px rgba(0,0,0,.6);}
html[data-theme="dark"] .modal-header, html[data-theme="dark"] .modal-footer {border-color: var(--sb-bordure);}
html[data-theme="dark"] .modal-backdrop.in {opacity: .7;}
html[data-theme="dark"] .popover {background-color: var(--sb-surface-2); border-color: var(--sb-bordure-2); color: var(--sb-texte);}
html[data-theme="dark"] .popover-title {background-color: var(--sb-surface-3); border-bottom-color: var(--sb-bordure-2);}
html[data-theme="dark"] .popover.top > .arrow:after {border-top-color: var(--sb-surface-2);}
html[data-theme="dark"] .popover.bottom > .arrow:after {border-bottom-color: var(--sb-surface-3);}
html[data-theme="dark"] .popover.left > .arrow:after {border-left-color: var(--sb-surface-2);}
html[data-theme="dark"] .popover.right > .arrow:after {border-right-color: var(--sb-surface-2);}
html[data-theme="dark"] .tooltip-inner {background-color: #3a4049; color: #fff;}
html[data-theme="dark"] .tooltip.top .tooltip-arrow {border-top-color: #3a4049;}
html[data-theme="dark"] .tooltip.bottom .tooltip-arrow {border-bottom-color: #3a4049;}
html[data-theme="dark"] .tooltip.left .tooltip-arrow {border-left-color: #3a4049;}
html[data-theme="dark"] .tooltip.right .tooltip-arrow {border-right-color: #3a4049;}

/* --- DataTables ---------------------------------------------------------- */
html[data-theme="dark"] .dataTables_wrapper,
html[data-theme="dark"] .dataTables_wrapper .dataTables_info,
html[data-theme="dark"] .dataTables_wrapper .dataTables_length,
html[data-theme="dark"] .dataTables_wrapper .dataTables_filter {color: var(--sb-texte-doux);}
html[data-theme="dark"] .dataTables_wrapper .dataTables_processing,
html[data-theme="dark"] div.dataTables_processing {background: var(--sb-surface-2); border-color: var(--sb-bordure-2); color: var(--sb-texte); box-shadow: 0 4px 12px rgba(0,0,0,.5);}
html[data-theme="dark"] table.dataTable thead th,
html[data-theme="dark"] table.dataTable thead td {border-bottom-color: var(--sb-bordure-2);}
html[data-theme="dark"] table.dataTable.no-footer {border-bottom-color: var(--sb-bordure-2);}
html[data-theme="dark"] table.dataTable tbody tr {background-color: transparent;}
html[data-theme="dark"] table.dataTable.stripe tbody tr.odd,
html[data-theme="dark"] table.dataTable.display tbody tr.odd {background-color: rgba(255,255,255,.03);}
html[data-theme="dark"] table.dataTable.hover tbody tr:hover,
html[data-theme="dark"] table.dataTable.display tbody tr:hover {background-color: rgba(255,255,255,.06);}
html[data-theme="dark"] table.dataTable.display tbody tr > .sorting_1,
html[data-theme="dark"] table.dataTable.order-column tbody tr > .sorting_1 {background-color: rgba(255,255,255,.02);}
html[data-theme="dark"] .dataTables_wrapper .dataTables_paginate .paginate_button {color: var(--sb-texte) !important;}
html[data-theme="dark"] .dataTables_wrapper .dataTables_paginate .paginate_button.disabled {color: var(--sb-texte-pale) !important;}
html[data-theme="dark"] .dataTables_wrapper .dataTables_paginate .paginate_button:hover {background: var(--sb-surface-3); border-color: var(--sb-bordure-2); color: #fff !important;}
html[data-theme="dark"] .dataTables_wrapper .dataTables_paginate .paginate_button.current,
html[data-theme="dark"] .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {background: var(--sb-surface-3); border-color: var(--sb-bordure-2); color: #fff !important;}

/* --- Sélecteur de dates (daterangepicker) -------------------------------- */
html[data-theme="dark"] .daterangepicker {background-color: var(--sb-surface-2); border-color: var(--sb-bordure-2); color: var(--sb-texte);}
html[data-theme="dark"] .daterangepicker:after {border-bottom-color: var(--sb-surface-2);}
html[data-theme="dark"] .daterangepicker:before {border-bottom-color: var(--sb-bordure-2);}
html[data-theme="dark"] .daterangepicker.dropup:after {border-top-color: var(--sb-surface-2);}
html[data-theme="dark"] .daterangepicker .calendar-table {background-color: var(--sb-surface-2); border-color: var(--sb-surface-2);}
html[data-theme="dark"] .daterangepicker td.off,
html[data-theme="dark"] .daterangepicker td.off.in-range,
html[data-theme="dark"] .daterangepicker td.off.start-date,
html[data-theme="dark"] .daterangepicker td.off.end-date {background-color: transparent; color: var(--sb-texte-pale);}
html[data-theme="dark"] .daterangepicker td.available:hover,
html[data-theme="dark"] .daterangepicker th.available:hover {background-color: var(--sb-surface-3);}
html[data-theme="dark"] .daterangepicker td.in-range {background-color: #24405f; color: var(--sb-texte-fort);}
html[data-theme="dark"] .daterangepicker td.active,
html[data-theme="dark"] .daterangepicker td.active:hover {background-color: #2f6db0; color: #fff;}
html[data-theme="dark"] .daterangepicker td.disabled {color: var(--sb-texte-pale);}
html[data-theme="dark"] .daterangepicker .input-mini {background-color: var(--sb-champ); border-color: var(--sb-bordure-2); color: var(--sb-texte-fort);}
html[data-theme="dark"] .ranges li {background-color: var(--sb-surface-3); border-color: var(--sb-surface-3); color: var(--sb-lien);}
html[data-theme="dark"] .ranges li:hover, html[data-theme="dark"] .ranges li.active {background-color: #2f6db0; border-color: #2f6db0; color: #fff;}

/* --- Autocomplétion (bootcomplete) --------------------------------------- */
html[data-theme="dark"] .bc-wrapper .bc-menu .list-group-item {background-color: var(--sb-surface-2);}

/* --- Graphiques SVG (Raphaël / Morris) ----------------------------------- */
html[data-theme="dark"] svg text, html[data-theme="dark"] svg tspan {fill: var(--sb-texte-doux);}
html[data-theme="dark"] svg path[stroke="#aaaaaa"], html[data-theme="dark"] svg path[stroke="#aaa"] {stroke: var(--sb-bordure-2);}
html[data-theme="dark"] .morris-hover.morris-default-style {background: rgba(30,33,38,.95); border-color: var(--sb-bordure-2); color: var(--sb-texte);}

/* --- Planning (calendriers mensuels et vue linéaire) --------------------- */
html[data-theme="dark"] table.planning_tb {background-color: var(--sb-surface); border-color: var(--sb-bordure-2);}
html[data-theme="dark"] table.planning_tb thead tr {background-color: var(--sb-surface-2); color: var(--sb-texte);}
html[data-theme="dark"] table.planning_tb thead tr.mois {color: var(--sb-texte-fort);}
html[data-theme="dark"] table.planning_tb thead tr.jsemaine td {border-color: var(--sb-bordure-2);}
html[data-theme="dark"] table.planning_tb tbody tr:hover {background-color: transparent;}
html[data-theme="dark"] table.planning_tb .planning-6,
html[data-theme="dark"] table.planning_tb .planning-7 {background: var(--sb-surface-2);}
html[data-theme="dark"] table.planning_tb .planning-out .a,
html[data-theme="dark"] table.planning_tb .planning-om .a {color: var(--sb-texte-pale);}
html[data-theme="dark"] table.planning_tb .planning-td .a {color: var(--sb-texte-fort); outline-color: var(--sb-texte-fort);}
html[data-theme="dark"] body table.planning_tb .mois_tr {color: var(--sb-texte-doux);}
html[data-theme="dark"] table.planning_tb .planning-vac-1,
html[data-theme="dark"] table.planning_tb .planning-vac-2,
html[data-theme="dark"] table.planning_tb .planning-vac-3 {opacity: .85;}

/* Réservé (couleur de base) */
html[data-theme="dark"] body table.planning_tb .planning-dispo-0,
html[data-theme="dark"] body table.planning_tb_linear .planning-dispo-0 {background-color: #7d5559;}
html[data-theme="dark"] body table.planning_tb .planning-dispo-3::after,
html[data-theme="dark"] body table.planning_tb_linear .planning-dispo-3::after {border-color: #7d5559 transparent;}
html[data-theme="dark"] body table.planning_tb .planning-dispo-2::after,
html[data-theme="dark"] body table.planning_tb_linear .planning-dispo-2::after {border-color: transparent #7d5559;}
html[data-theme="dark"] body table.planning_tb .planning-dispo-4::before,
html[data-theme="dark"] body table.planning_tb_linear .planning-dispo-4::before {border-color: #7d5559 transparent;}
html[data-theme="dark"] body table.planning_tb .planning-dispo-4::after,
html[data-theme="dark"] body table.planning_tb_linear .planning-dispo-4::after {border-color: transparent #7d5559;}

/* À confirmer / non payé */
html[data-theme="dark"] body table.planning_tb .planning-dispo-0.ctype-2,
html[data-theme="dark"] body table.planning_tb_linear .planning-dispo-0.ctype-2 {background-color: #8a6b22;}
html[data-theme="dark"] body table.planning_tb .planning-dispo-2.ctypeb-2::after,
html[data-theme="dark"] body table.planning_tb .planning-dispo-4.ctypeb-2::after,
html[data-theme="dark"] body table.planning_tb_linear .planning-dispo-2.ctypeb-2::after,
html[data-theme="dark"] body table.planning_tb_linear .planning-dispo-4.ctypeb-2::after {border-color: transparent #8a6b22;}
html[data-theme="dark"] body table.planning_tb .planning-dispo-3.ctype-2::after,
html[data-theme="dark"] body table.planning_tb .planning-dispo-4.ctype-2::before,
html[data-theme="dark"] body table.planning_tb_linear .planning-dispo-3.ctype-2::after,
html[data-theme="dark"] body table.planning_tb_linear .planning-dispo-4.ctype-2::before {border-color: #8a6b22 transparent;}

/* Documents envoyés (étape 8) */
html[data-theme="dark"] body table.planning_tb .planning-dispo-0.ctype_etape8,
html[data-theme="dark"] body table.planning_tb_linear .planning-dispo-0.ctype_etape8 {background-color: #94656a;}
html[data-theme="dark"] body table.planning_tb .planning-dispo-3.ctype_etape8::after,
html[data-theme="dark"] body table.planning_tb_linear .planning-dispo-3.ctype_etape8::after {border-color: #94656a transparent;}
html[data-theme="dark"] body table.planning_tb .planning-dispo-2.ctype_etape_b8::after,
html[data-theme="dark"] body table.planning_tb_linear .planning-dispo-2.ctype_etape_b8::after {border-color: transparent #94656a;}
html[data-theme="dark"] body table.planning_tb .planning-dispo-4.ctype_etape8::before,
html[data-theme="dark"] body table.planning_tb_linear .planning-dispo-4.ctype_etape8::before {border-color: #94656a transparent;}
html[data-theme="dark"] body table.planning_tb .planning-dispo-4.ctype_etape_b8::after,
html[data-theme="dark"] body table.planning_tb_linear .planning-dispo-4.ctype_etape_b8::after {border-color: transparent #94656a;}

/* Clôturé */
html[data-theme="dark"] body table.planning_tb .planning-dispo-0.ctype1,
html[data-theme="dark"] body table.planning_tb_linear .planning-dispo-0.ctype1 {background-color: #5d5a50;}
html[data-theme="dark"] body table.planning_tb .planning-dispo-3.ctype1::after,
html[data-theme="dark"] body table.planning_tb_linear .planning-dispo-3.ctype1::after {border-color: #5d5a50 transparent;}
html[data-theme="dark"] body table.planning_tb .planning-dispo-2.ctypeb1::after,
html[data-theme="dark"] body table.planning_tb_linear .planning-dispo-2.ctypeb1::after {border-color: transparent #5d5a50;}
html[data-theme="dark"] body table.planning_tb .planning-dispo-4.ctype1::before,
html[data-theme="dark"] body table.planning_tb_linear .planning-dispo-4.ctype1::before {border-color: #5d5a50 transparent;}
html[data-theme="dark"] body table.planning_tb .planning-dispo-4.ctypeb1::after,
html[data-theme="dark"] body table.planning_tb_linear .planning-dispo-4.ctypeb1::after {border-color: transparent #5d5a50;}

/* liens des jours réservés : même couleur que le texte de la case */
html[data-theme="dark"] table.planning_tb a,
html[data-theme="dark"] table.planning_tb_linear td .a a {color: inherit;}

/* chiffres lisibles sur les jours réservés, y compris les jours passés */
html[data-theme="dark"] table.planning_tb td[class*="planning-dispo-"]:not(.planning-dispo-1) .a,
html[data-theme="dark"] table.planning_tb_linear td[class*="planning-dispo-"]:not(.planning-dispo-1) .a {color: #fff; text-shadow: 0 0 3px rgba(0,0,0,.7);}
html[data-theme="dark"] table.planning_tb .planning-out[class*="planning-dispo-"]:not(.planning-dispo-1) .a,
html[data-theme="dark"] table.planning_tb .planning-om[class*="planning-dispo-"]:not(.planning-dispo-1) .a {color: rgba(255,255,255,.6);}

/* --- Champs date de webshim (bouton calendrier et calendrier déroulant) --- */
html[data-theme="dark"] .ws-popover-opener {background-color: var(--sb-surface-3); border-color: var(--sb-bordure-2); color: var(--sb-texte-fort);}
html[data-theme="dark"] .ws-popover-opener:hover {background-color: #394049;}
html[data-theme="dark"] .ws-popover .ws-po-box,
html[data-theme="dark"] .ws-popover .picker-list,
html[data-theme="dark"] .ws-popover .ws-picker-body {background-color: var(--sb-surface-2); color: var(--sb-texte);}
html[data-theme="dark"] .ws-popover .ws-po-box button,
html[data-theme="dark"] .ws-popover .picker-list button {background: var(--sb-surface-2); color: var(--sb-texte-fort); border-color: var(--sb-bordure);}
html[data-theme="dark"] .ws-popover .picker-list button:hover,
html[data-theme="dark"] .ws-popover .picker-list button.ws-focus {background: var(--sb-surface-3); color: #fff;}
html[data-theme="dark"] .ws-popover .picker-list button.checked-value,
html[data-theme="dark"] .ws-popover .picker-list button.this-value {background: #2f6db0; color: #fff; border-color: #2f6db0;}
html[data-theme="dark"] .ws-popover .picker-list button.othermonth,
html[data-theme="dark"] .ws-popover .picker-list button[disabled] {color: var(--sb-texte-pale);}
html[data-theme="dark"] .ws-popover .ws-prev, html[data-theme="dark"] .ws-popover .ws-next,
html[data-theme="dark"] .ws-popover .ws-super-prev, html[data-theme="dark"] .ws-popover .ws-super-next,
html[data-theme="dark"] .ws-popover .ws-current, html[data-theme="dark"] .ws-popover .ws-empty {background: var(--sb-surface-3); border-color: var(--sb-bordure-2); color: var(--sb-texte-fort);}
html[data-theme="dark"] .ws-popover .ws-empty[disabled] {color: var(--sb-texte-pale);}
html[data-theme="dark"] .ws-popover .ws-prev::before {border-right-color: var(--sb-texte-fort);}
html[data-theme="dark"] .ws-popover .ws-next::before {border-left-color: var(--sb-texte-fort);}
html[data-theme="dark"] .ws-popover button[disabled].ws-prev::before {border-right-color: var(--sb-texte-pale);}
html[data-theme="dark"] .ws-popover button[disabled].ws-next::before {border-left-color: var(--sb-texte-pale);}
html[data-theme="dark"] .ws-popover .ws-po-arrow .ws-po-arrowbox {border-bottom-color: var(--sb-surface-2);}
html[data-theme="dark"] .ws-popover .picker-list th {color: var(--sb-texte-doux);}

/* --- Graphiques Google Charts (rapport financier) ------------------------ */
html[data-theme="dark"] #chart_div {background-color: var(--sb-surface);}
html[data-theme="dark"] svg[aria-label="A chart."] rect[fill="#ffffff"] {fill: var(--sb-surface);}
html[data-theme="dark"] svg[aria-label="A chart."] rect[fill="#ebebeb"] {fill: #2c3138;}
html[data-theme="dark"] svg[aria-label="A chart."] rect[fill="#cccccc"],
html[data-theme="dark"] svg[aria-label="A chart."] rect[fill="#333333"] {fill: #59606a;}
html[data-theme="dark"] svg[aria-label="A chart."] text {fill: var(--sb-texte-doux);}
html[data-theme="dark"] svg[aria-label="A chart."] path[stroke="#ab0d06"] {stroke: #ec6a62;}
html[data-theme="dark"] svg[aria-label="A chart."] path[fill="#ab0d06"],
html[data-theme="dark"] svg[aria-label="A chart."] rect[fill="#ab0d06"] {fill: #ec6a62;}
html[data-theme="dark"] .google-visualization-tooltip {background: var(--sb-surface-2) !important; border-color: var(--sb-bordure-2) !important;}
html[data-theme="dark"] .google-visualization-tooltip * {color: var(--sb-texte) !important;}

/* --- Bouton de choix du thème ------------------------------------------- */
.theme-toggle {min-width: 34px; font-size: 15px; line-height: 1; padding: 6px 9px; margin-right: 6px;}
html[data-theme="dark"] .theme-toggle {background-color: var(--sb-surface-3); border-color: var(--sb-bordure-2); color: var(--sb-texte-fort);}

/* --- Tableau de bord ------------------------------------------------------ */
html[data-theme="dark"] .stat-libelle,
html[data-theme="dark"] .stat-valeur small,
html[data-theme="dark"] .stat-legende {color: var(--sb-texte-doux);}
html[data-theme="dark"] .stat-n1, html[data-theme="dark"] .stat-egal, html[data-theme="dark"] .stat-na {color: var(--sb-texte-pale);}
html[data-theme="dark"] .stat-valeur {color: var(--sb-texte-fort);}
html[data-theme="dark"] .stat-hausse {color: #6fcf8f;}
html[data-theme="dark"] .stat-baisse {color: #f08080;}
html[data-theme="dark"] .stat-table tfoot th, html[data-theme="dark"] .stat-table tfoot td {border-top-color: var(--sb-bordure-2);}
html[data-theme="dark"] .stat-barre, html[data-theme="dark"] .stat-libre {background: #2a2f36;}
html[data-theme="dark"] .stat-loue {background: #4f8fd9;}
html[data-theme="dark"] .stat-proprio {background: #c98f35;}
html[data-theme="dark"] .stat-vide {background: #6b717a;}
html[data-theme="dark"] .stat-projete {background: repeating-linear-gradient(45deg, #2f4f75 0 4px, #263c57 4px 8px);}

/* --- Accueil -------------------------------------------------------------- */
html[data-theme="dark"] .jumbotron {background-color: var(--sb-surface); color: var(--sb-texte);}
html[data-theme="dark"] .jumbotron h1, html[data-theme="dark"] .jumbotron .h1 {color: var(--sb-texte-fort);}
html[data-theme="dark"] #pitap-ext-firefox {background: var(--sb-surface-2); border-color: var(--sb-bordure-2); color: var(--sb-texte-fort);}
html[data-theme="dark"] #pitap-ext-firefox .texte span {color: var(--sb-texte-doux);}
html[data-theme="dark"] #pitap-ext-firefox a {color: #fff;}
html[data-theme="dark"] .tdb-invitation {background: var(--sb-surface); border-color: var(--sb-bordure); border-left-color: #4f8fd9;}
html[data-theme="dark"] .tdb-invitation-chiffres span {color: var(--sb-texte-doux);}
html[data-theme="dark"] .tdb-invitation-chiffres strong {color: var(--sb-texte-fort);}
html[data-theme="dark"] .relance-urgente > td:first-child {box-shadow: inset 3px 0 0 #f08080;}
html[data-theme="dark"] .badge-relance {background-color: #b5413e;}

/* Bloc contrat de location */
html[data-theme="dark"] .contrat-bloc {background: var(--sb-surface); border-color: var(--sb-bordure); border-left-color: #4c8bd6;}

/* Inventaire */
html[data-theme="dark"] .inv-table .inv-cat th {background: var(--sb-surface); color: var(--sb-texte-doux);}
html[data-theme="dark"] .inv-dotation .inv-absent td {color: var(--sb-texte-pale);}
html[data-theme="dark"] .inv-tache {border-color: var(--sb-bordure); border-left-color: #4cae4c;}
html[data-theme="dark"] .inv-tache.inv-tache-retard {border-left-color: #e0605c;}
@media (max-width: 767px) {
  html[data-theme="dark"] .inv-cartes tr {background: var(--sb-surface); border-color: var(--sb-bordure);}
  html[data-theme="dark"] .inv-cartes tr.inv-cat {background: none;}
  html[data-theme="dark"] .inv-cartes td[data-label]:before, html[data-theme="dark"] .inv-cartes td.inv-c-sur {color: var(--sb-texte-doux);}
  html[data-theme="dark"] .inv-onglets {border-color: var(--sb-bordure);}
}
html[data-theme="dark"] .inv-depot {border-color: var(--sb-bordure);}
