/* =====================================================================
   ColVis dropdown alignment : align right side of dropdown with button
   buttons.bootstrap.min.css forces  div.dt-buttons { position:initial }
   and  div.dt-button-collection { position:absolute }
   → override: give div.dt-buttons a relative context so that the
     absolute dropdown is contained within it, then pin right:0.
   ===================================================================== */
.col-vis-button-loc {
    display: inline-block;
}
.col-vis-button-loc div.dt-buttons {
    position: relative !important;
}
.col-vis-button-loc div.dt-buttons div.dt-button-collection {
    right: 0 !important;
    left: auto !important;
}

div.dt-button-collection .dt-button-active-a a {
    padding-right: 0em;
}

/* W3C */
html {
  background: #f4f5f6; /* ensures grey fills full viewport including space below content */
}
body {
  margin: 14px 0px 0px 0px;
  padding: 0px;
  min-width: 0;
  min-height: 100vh;
  background: #f4f5f6; /* overrides theme.css #232323 */
}
body > .container {
  height: 100%;
  min-width: 0;
  min-height: calc(-88vh);
  position: relative;
}

/*
footer {
  width: 100%;
  height: 107px;
}*/


.row-padding-bot {
  padding-bottom: 3px;
}
.space-element {
  margin-top: 6px;
}
.panel {
  border: 0px;
}
#navbarTop .dropdown-menu {
  background: #00894f;
  padding: 0px;
}
#navbarTop .dropdown-menu li span.fa,
#navbarTop .dropdown-menu li span.glyphicon {
  color: white;
  margin: 5px;
}
#navbarTop .dropdown-menu li a {
  color: white;
  padding-left: 0px;
  margin-left: 5px;
}
#navbarTop .dropdown-menu li::hover,
#navbarTop .dropdown-menu li::focus {
  background: #006400;
}
.navbar-brand strong {
  color: #05ba6d;
}
.panel-default > .panel-heading {
  background: #454444;
  color: #ffffff;
}
.panel-default > .panel-heading .panel-title strong {
  font-weight: inherit;
  color: #ffffff;
}
.panel-search {
  background: #e6e6e6;
  padding-bottom: 0px;
}
.panel-infos {
  background: #e6e6e6;
  padding-bottom: 0px;
  margin-left: auto;
  margin-right: auto;
}
.panel-bandeau {
  margin-bottom: 0px;
}
.panel-results-title {
  background: #c6c6c6;
  margin: 0px;
}
.panel-results-title h3 {
  margin-top: 8.5px;
}
.title-not-alone {
  display: inline-block;
}
table.datatable thead > tr > th {
  border-right: solid 1px #ededed;
}
table.datatable tbody > tr > td {
  border-right: solid 1px #ededed;
}
table.datatable tbody > tr > td .cell-left {
  float: left;
  margin-left: 5px;
}
table.datatable tfoot > tr > td {
  border-right: solid 1px #ededed;
}
table.datatable tfoot > tr > td .cell-left {
  float: left;
  margin-left: 5px;
}
.nav-tabs.tabs {
  padding-left: 0px;
  background: #dcdcdc;
}
.nav-tabs.tabs > li > a {
  border-radius: 0px;
  color: #696969 !important;
}
ul.nav li.dropdown:hover ul.dropdown-menu {
  display: block;
}
.navbar-text {
  margin-bottom: 8.25px;
  margin-top: 16.5px !important;
}
.nav-tabs.tabs > li.active > a,
.nav-tabs.tabs > li.active > a:hover,
.nav-tabs.tabs > li.active > a:focus {
  border: 0px;
  border-top: solid 3px #699bc5;
  color: #699bc5 !important;
  font-weight: bold;
}
.tab-content {
  margin-top: 8px;
}
.separation-border {
  border-right: solid 1px #ededed;
}
.text-very-long {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
.nav-tabs.tabs > li.active + li::before {
  content: '';
}
.nav-tabs.tabs > li:first-child::before {
  content: '';
  background: #ff0000;
}
.nav-tabs.tabs > li::before {
  content: '|';
  float: left;
  margin-top: 5px;
}
.panel-filters {
  background: #555555;
  padding: 4px;
  padding-top: 10px;
  color: white;
}
.panel-filters .Tokenize .Dropdown {
  color: black;
}
.switchFilter {
  font-size: 21px;
  color: #3d7cce;
}
/* BS3 li>a structure no longer generated by the BS4 plugin — kept as
   dead-code comment only; real selected state is handled below. */
/*
.multiselect-container li a { border-bottom: solid 1px #C6C6C6; }
.multiselect-container li a:hover,
.multiselect-container li a:focus { background: #d9e6f6; }
.multiselect-container li.active a,
.multiselect-container li.active a:hover,
.multiselect-container li.active a:focus { background: #d9e6f6; color: #333333; }
*/
/* BS4 bootstrap-multiselect: active/hover use a light blue bg with dark text,
   matching the original bootstrap-theme.css rule:
     .multiselect-container li.active a { background:#d9e6f6; color:#333333 } */
/* Hover */
.multiselect-container .multiselect-option.dropdown-item:hover,
.multiselect-container .multiselect-option.dropdown-item:focus {
  background-color: #d9e6f6 !important;
  color: #333333 !important;
}
.multiselect-container .multiselect-option.dropdown-item:hover .form-check-label,
.multiselect-container .multiselect-option.dropdown-item:focus .form-check-label {
  color: #333333 !important;
}
/* Checkbox tick on light-blue row: use the link blue #7AA5DD (rgb 122,165,221) */
.multiselect-container .multiselect-option.dropdown-item:hover .form-check-input,
.multiselect-container .multiselect-option.dropdown-item:focus .form-check-input {
  accent-color: #7aa5dd;
}
/* Selected (plugin adds class "active") */
.multiselect-container .multiselect-option.dropdown-item.active,
.multiselect-container .multiselect-option.dropdown-item.active:hover,
.multiselect-container .multiselect-option.dropdown-item.active:focus {
  background-color: #d9e6f6 !important;
  color: #333333 !important;
}
.multiselect-container .multiselect-option.dropdown-item.active .form-check-label {
  color: #333333 !important;
}
/* Checked tick on light-blue row: same #7AA5DD blue */
.multiselect-container .multiselect-option.dropdown-item.active .form-check-input {
  accent-color: #7aa5dd;
}
.ui-autocomplete.global-autocomplete {
  background: #434a54 !important;
  color: white;
}
.ui-autocomplete.global-autocomplete li.list-group-item {
  background: white;
  border: solid 1px #434a54;
  color: #434a54;
  text-shadow: 0 0;
}
.ui-autocomplete.global-autocomplete li.list-item:hover {
  background: #707c8d;
  color: white;
}

/* jQuery UI 1.12+ place ui-state-focus sur le span.ui-menu-item-wrapper et non le li.
   On neutralise le background bleu/gris par défaut de jquery-ui et on applique
   le même background que le li au hover. */
.ui-autocomplete.global-autocomplete li.list-item .ui-menu-item-wrapper.ui-state-focus,
.ui-autocomplete.global-autocomplete li.list-item .ui-menu-item-wrapper.ui-state-active {
  background: #707c8d !important;
  color: white !important;
  border: none !important;
  margin: 0 !important;
}

.col-vis-button-loc {
  display: inline-block;
}
.col-vis-button-loc div.ColVis {
  margin-bottom: 0px;
  float: none;
}
.col-vis-button-loc div.ColVis .fa-columns {
  font-size: x-large;
  color: #3D7CCE;
}
.dataTables_length {
  display: none;
}
#panelBtn {
  padding-right: 0;
  margin: 0px;
}
#panelBtn .fa-icon {
  display: inline-block;
  margin: 0;
  padding: 7px;
  vertical-align: middle;
}
#panelBtn .filter-fa.active {
  background: #555555;
}
#panelBtn .filter-fa.active .fa {
  color: white !important;
}
.btn-default {
  background: white;
  box-shadow: none;
  text-shadow: 0 1px 0 #fff;
  border-color: #ccc !important;
}
input.btn-default {
  color: #3d7cce;
  border-color: #e1e9f0;
}
.panel-detail {
  padding-top: 0px;
  background: #eceff1;
}
.hidden-btn {
  display: none;
}
.hidden-element {
  display: none;
}
.text-align-center {
  text-align: center;
}
.no-padding-left {
  padding-left: 0px;
}
.no-margin-top-bot {
  margin-top: 0px;
  margin-bottom: 0px;
}
.text-special {
  color: #00894f;
}
#panelBtn {
  padding-bottom: 0px;
  padding-top: 0px;
  height: 40px;
}
.checkboxDatatable {
  padding-left: 3px !important;
}
.no-padding-sides {
  padding-left: 0px;
  padding-right: 0px;
}
.no-padding-left {
  padding-left: 0px;
}
.no-padding-right {
  padding-right: 0px;
}
input[type='number'] {
  -moz-appearance: textfield;
}
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
  /* <-- Apparently some margin are still there even though it's hidden */
}
.vertical-space {
  padding-top: 5px;
  padding-bottom: 5px;
}
.title-space {
  padding-top: 10px;
  padding-bottom: 5px;
  margin: 0px 10px;
}
.separation-line {
  border-top: dashed 1px #3d7cce;
  padding-left: 10px;
  padding-top: 3px;
}
.text-cursor {
  cursor: text;
}
.default-cursor {
  cursor: default;
}
.required-field:after {
  content: "*";
  color: red;
}
.label-info-custom {
  color: #6f7376;
}
.label-info-custom :after {
  content: ":";
}
.block-grey {
  background: #ededed;
  margin-left: -8px;
  margin-right: -8px;
}
.block-white {
  background: white;
  margin-left: -8px;
  margin-right: -8px;
}
.sous-block .title-sous-block {
  font-weight: bold;
}
.btn-link {
  color: #337ab7;
}
.btn-secondary {
  color: #407ecb;
  background-color: #ffffff;
  border-color: #3471be;
}
.btn-secondary:hover,
.btn-secondary:focus,
.btn-secondary.focus,
.btn-secondary:active,
.btn-secondary.active,
.open > .dropdown-toggle.btn-secondary {
  color: #407ecb;
  background-color: #c5d8ef;
  border-color: #3471be;
}
.btn-secondary:active,
.btn-secondary.active,
.open > .dropdown-toggle.btn-secondary {
  background-image: none;
}
.btn-secondary.disabled,
.btn-secondary[disabled],
fieldset[disabled] .btn-secondary,
.btn-secondary.disabled:hover,
.btn-secondary[disabled]:hover,
fieldset[disabled] .btn-secondary:hover,
.btn-secondary.disabled:focus,
.btn-secondary[disabled]:focus,
fieldset[disabled] .btn-secondary:focus,
.btn-secondary.disabled.focus,
.btn-secondary[disabled].focus,
fieldset[disabled] .btn-secondary.focus,
.btn-secondary.disabled:active,
.btn-secondary[disabled]:active,
fieldset[disabled] .btn-secondary:active,
.btn-secondary.disabled.active,
.btn-secondary[disabled].active,
fieldset[disabled] .btn-secondary.active {
  background-color: #ffffff;
  border-color: #407ecb;
}
.btn-secondary .badge {
  color: #ffffff;
  background-color: #407ecb;
}

/* ============================================================
 * Bootstrap 4 shim — classes generated by bootstrap-multiselect.js
 * that don't exist in Bootstrap 3
 * ============================================================ */

/* dropdown-item: replaces BS3's  li > a  pattern */
.dropdown-item {
  display: block;
  width: 100%;
  padding: 3px 20px;
  clear: both;
  font-weight: 400;
  font-size: 12px;
  font-family: inherit;
  line-height: 1.42857143;
  color: #333333;
  text-align: left;
  white-space: nowrap;
  background-color: transparent;
  border: 0;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  box-sizing: border-box;
}
.dropdown-item:hover,
.dropdown-item:focus {
  color: #262626;
  text-decoration: none;
  background-color: #f5f5f5;
  outline: 0;
}
.dropdown-item.active,
.dropdown-item:active {
  color: #ffffff;
  text-decoration: none;
  background-color: #337ab7;
}
.dropdown-item.disabled,
.dropdown-item:disabled {
  color: #777777;
  pointer-events: none;
  cursor: not-allowed;
}

/* The plugin puts padding on the inner <span class="form-check">, not the
   button itself — remove double-padding on the multiselect option buttons.
   multiselect-all also loses multiselect-option so must be listed separately. */
.multiselect-container .multiselect-option.dropdown-item,
.multiselect-container .multiselect-group.dropdown-item,
.multiselect-container .multiselect-all.dropdown-item {
  padding: 0;
}
/* Separator line between each option (replaces old li>a border-bottom rule) */
.multiselect-container .multiselect-option.dropdown-item {
  border-bottom: 1px solid #e8e8e8;
}
.multiselect-container .multiselect-option.dropdown-item:last-child {
  border-bottom: none;
}
/* Select-all row: bold + separator below it */
.multiselect-container .multiselect-all.dropdown-item {
  border-bottom: 1px solid #cccccc;
}
/* BS4 font-weight utility missing in BS3 */
.font-weight-bold { font-weight: bold !important; }
/* Group headers have no form-check wrapper — indent to match option text column */
.multiselect-container .multiselect-group.dropdown-item {
  padding-left: 1.5rem;
  font-weight: 600;
}
/* Group headers have no form-check wrapper — give them same left indent
   as the checkbox+label items so text columns align. */
.multiselect-container .multiselect-group.dropdown-item {
  padding-left: 1.5rem;
  font-weight: 600;
}

/* form-check: BS4 checkbox/radio wrapper (generic, used outside multiselect) */
.form-check {
  position: relative;
  display: block;
  padding-left: 1.25rem;
}
.form-check-input {
  position: absolute;
  margin-top: 0.3rem;
  margin-left: -1.25rem;
}
.form-check-label {
  margin-bottom: 0;
  cursor: pointer;
}

/* ---- Multiselect: use flexbox so checkbox + label sit side-by-side ----
   The plugin generates:
     <button class="multiselect-option dropdown-item">
       <span class="form-check">
         <input class="form-check-input" type="checkbox">
         <label class="form-check-label">text</label>
       </span>
     </button>
   bootstrap-multiselect.css gives the span  padding:3px 20px  but no
   left-padding for the checkbox. Flexbox removes the need for absolute
   positioning entirely. */
.multiselect-container .form-check {
  display: flex !important;
  align-items: center;
  gap: 8px;
  padding: 4px 20px;
  position: static;
  margin: 0;
}
.multiselect-container .form-check-input {
  position: static;
  flex-shrink: 0;
  margin: 0;
  cursor: pointer;
  /* no accent-color override — default grey on unselected rows is fine */
}
.multiselect-container .form-check-label {
  margin: 0;
  font-weight: normal;
  cursor: pointer;
  white-space: normal;
  line-height: 1.4;
}

/* Ensure multiselect popup sits below the button */
.multiselect-container.dropdown-menu {
  display: none;
  min-width: 200px;
  padding: 5px 0;
}
.open > .multiselect-container.dropdown-menu {
  display: block;
  max-height: 200px;
  overflow: hidden auto;
  min-width: 240px;
}

/* BS4 spacing utilities used by bootstrap-multiselect filter/reset templates */
.p-1 { padding: 0.25rem !important; }
.p-2 { padding: 0.5rem !important; }

/* Override theme.css pink disabled state for btn-primary */
.btn-primary.disabled,
.btn-primary[disabled],
fieldset[disabled] .btn-primary,
.btn-primary.disabled:hover,
.btn-primary[disabled]:hover,
fieldset[disabled] .btn-primary:hover,
.btn-primary.disabled:focus,
.btn-primary[disabled]:focus,
fieldset[disabled] .btn-primary:focus,
.btn-primary.disabled.focus,
.btn-primary[disabled].focus,
fieldset[disabled] .btn-primary.focus,
.btn-primary.disabled:active,
.btn-primary[disabled]:active,
fieldset[disabled] .btn-primary:active,
.btn-primary.disabled.active,
.btn-primary[disabled].active,
fieldset[disabled] .btn-primary.active {
  background-color: #c8c8c8 !important;
  background-image: none;
  border-color: #adadad !important;
  color: #666666 !important;
  opacity: 0.65;
  cursor: not-allowed;
}

label {
    display: inline-block;
    max-width: 100%;
    margin-bottom: 5px;
    font-weight: normal!important;
}

body {
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
    font-size: 12px !important;
    line-height: 1.42857143;
    color: #333;
    background-color: #fff;
}

.form-control {
  display: block;
  width: 100%;
  height: 27px;
  padding: 4px 8px!important;
  margin-bottom: 3px;
  font-size: 12px!important;
  line-height: 1.42857143;
  color: #555555;
  background-color: #ffffff;
  background-image: none;
  border: 1px solid #cccccc;
  border-radius: 4px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}

.btn {
  display: inline-block;
  margin-bottom: 0;
  font-weight: normal;
  text-align: center;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
    border-top-color: transparent;
    border-right-color: transparent;
    border-bottom-color: transparent;
    border-left-color: transparent;
  white-space: nowrap;
  padding: 4px 8px!important;
  font-size: 12px!important;
  line-height: 1.42857143;
  border-radius: 4px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.input-daterange.input-group .input-group-addon {
  border-style: none!important;
  background-color: transparent!important;
}

.input-daterange.input-group .form-control {
  border-radius: 4px !important;
}

.input-group-addon {
  padding: 4px 8px;
  font-size: 12px!important;
  font-weight: normal;
  line-height: 1;
  color: #555555;
  text-align: center;
  background-color: #eeeeee;
  border: 1px solid #cccccc;
  border-radius: 4px;
}

.nav-tabs.nav > li > a {
  color: #b3cce2;
  padding: 4px 15px;
}

.nav-tabs > li > a {
  margin-right: 2px;
  line-height: 1.42857143;
  border: 1px solid transparent;
  border-radius: 0;
}

.nav-tabs > li > a:hover {
  border-color: #eeeeee #eeeeee #dddddd;
}

*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.nav-sidebar {
  float: left;
  font-size: 23px;
  width: 50px;
}

.nav-sidebar .nav-stacked {
  background-color: #00894f;
  border: 1px solid #006400;
  border-radius: 4px;
}

.nav-sidebar .nav-stacked > li > a:hover {
  background-color: #006400;
  border-color: #006400;
  border-radius: 4px;
}

.modal-backdrop {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 990;
    background-color: #000;
}

.input-group-prepend {
  padding: 4px 8px;
  font-size: 12px;
  font-weight: normal;
  line-height: 1;
  color: #555555;
  text-align: center;
  background-color: #eeeeee;
  border: 1px solid #cccccc;
  border-radius: 4px 0px 0px 4px;
  white-space: nowrap;
  position: relative;
  display: table-cell;
  align-content: center;
}

.input-group-append {
  position: relative;
  font-size: 12px;
  white-space: nowrap;
}

.multiselect-clear-filter {
	height: 27px;
	text-align: center;
	color: #555555!important;
  	background-color: #eeeeee;
  	border: 1px solid #cccccc;
  	border-radius: 0px 4px 4px 0px;
}

.fa-remove:before,.fa-close:before,.fa-times:before {
    /*content: "\e088"!important;*/
}

.multiselect-clear-filter .fa-times {
  color: #555555!important;
}

.multiselect {
  display: inline-block;
  margin-bottom: 0;
  font-weight: normal;
  text-align: center;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  white-space: nowrap;
  padding: 4px 8px;
  font-size: 12px;
  line-height: 1.42857143;
  border-radius: 4px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  background: white;
  box-shadow: none;
  text-shadow: 0 1px 0 #fff;
  border-color: #ccc;
  height: 27px;
}

/* Bouton principal : flex pour aligner texte + flèche */
button.multiselect.dropdown-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    text-align: left;
    white-space: nowrap;
    overflow: hidden;
    padding-right: 1.75rem; /* espace pour la flèche */
    position: relative;
}

/* Flèche bas via pseudo-élément ::after */
button.multiselect.dropdown-toggle::after {
    content: "";
    display: inline-block;
    width: 0;
    height: 0;
    margin-left: 0.5rem;
    /* Flèche CSS triangle pointant vers le bas */
    border-top: 0.4em solid currentColor;
    border-right: 0.35em solid transparent;
    border-left: 0.35em solid transparent;
    border-bottom: 0;
    vertical-align: middle;
    flex-shrink: 0;
    /* Position absolue à droite du bouton */
    position: absolute;
    right: 0.6rem;
    top: 50%;
    transform: translateY(-50%);
    transition: transform 0.2s ease;
}

/* Flèche inversée quand le dropdown est ouvert */
.show > button.multiselect.dropdown-toggle::after,
button.multiselect.dropdown-toggle[aria-expanded="true"]::after {
    transform: translateY(-50%) rotate(180deg);
}

/* Texte sélectionné : ne pas dépasser sur la flèche */
button.multiselect.dropdown-toggle .multiselect-selected-text {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: block;
    max-width: calc(100% - 1.5rem);
}

.form-group {
    margin-bottom: 15px;
}

/* datatable bootstrap corrections */
table.dataTable thead > tr > th {
	padding-left: 18px;
	padding-right: 18px;
}

table.dataTable thead .sorting { background: url('../images/sort_both.png') no-repeat center right!important; }
table.dataTable thead .sorting_asc { background: url('../images/sort_asc.png') no-repeat center right!important; }
table.dataTable thead .sorting_desc { background: url('../images/sort_desc.png') no-repeat center right!important; }

table.dataTable thead .sorting_asc_disabled { background: url('../images/sort_asc_disabled.png') no-repeat center right!important; }
table.dataTable thead .sorting_desc_disabled { background: url('../images/sort_desc_disabled.png') no-repeat center right!important; }

table.dataTable thead>tr>th.sorting:before,table.dataTable thead>tr>th.sorting_asc:before,table.dataTable thead>tr>th.sorting_desc:before,table.dataTable thead>tr>th.sorting_asc_disabled:before,table.dataTable thead>tr>th.sorting_desc_disabled:before,table.dataTable thead>tr>td.sorting:before,table.dataTable thead>tr>td.sorting_asc:before,table.dataTable thead>tr>td.sorting_desc:before,table.dataTable thead>tr>td.sorting_asc_disabled:before,table.dataTable thead>tr>td.sorting_desc_disabled:before {
    bottom: 50%;
    content: unset;
    }

table.dataTable thead>tr>th.sorting:after,table.dataTable thead>tr>th.sorting_asc:after,table.dataTable thead>tr>th.sorting_desc:after,table.dataTable thead>tr>th.sorting_asc_disabled:after,table.dataTable thead>tr>th.sorting_desc_disabled:after,table.dataTable thead>tr>td.sorting:after,table.dataTable thead>tr>td.sorting_asc:after,table.dataTable thead>tr>td.sorting_desc:after,table.dataTable thead>tr>td.sorting_asc_disabled:after,table.dataTable thead>tr>td.sorting_desc_disabled:after {
    top: 50%;
    content: unset;
}

/* ============================================================
   DataTables ColVis — Bouton icône fa-columns
   Structure réelle générée par DataTables Buttons :
     <button class="btn btn-default buttons-collection buttons-colvis">
       <span><span class="fa fa-columns"></span></span>
       <span class="caret"></span>
     </button>
   Objectif : supprimer fond/bordure/caret, afficher uniquement
   l'icône fa-columns en x-large bleu #3D7CCE.
   ============================================================ */

/* Bouton colvis : fond transparent, pas de bordure */
.dt-buttons button.buttons-colvis,
.dt-buttons a.buttons-colvis {
    background: transparent !important;
    background-image: none !important;
    border: none !important;
    box-shadow: none !important;
    padding: 2px 4px !important;
    margin: 0 !important;
    line-height: 1 !important;
    cursor: pointer;
    /* NE PAS mettre font-size:0 ici — l'icône hérite de cette valeur */
    color: transparent !important;
    font-size: 0 !important;
}

.dt-buttons button.buttons-colvis:hover,
.dt-buttons button.buttons-colvis:focus,
.dt-buttons a.buttons-colvis:hover,
.dt-buttons a.buttons-colvis:focus {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
}

/* Masquer le <span class="caret"> ajouté par DataTables Buttons */
.dt-buttons button.buttons-colvis .caret,
.dt-buttons a.buttons-colvis .caret {
    display: none !important;
}

/* Icône fa-columns : taille et couleur correctes
   font-size !important nécessaire pour passer outre font-size:0 du bouton */
.dt-buttons button.buttons-colvis .fa-columns,
.dt-buttons a.buttons-colvis .fa-columns {
    font: normal normal normal 14px/1 FontAwesome !important;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    font-size: x-large !important;
    color: #3D7CCE !important;
    display: inline-block;
}

/* fa-columns unicode \f0db */
.fa-columns::before {
    content: "\f0db";
}

/* ============================================================
   DataTables ColVis — Checkbox native-style sur chaque item
   Structure : li.dt-button.buttons-columnVisibility [.dt-button-active-a]
                 > a href="#"
   Le ::before utilise appearance:checkbox pour rendre exactement
   le même widget natif que input[type="checkbox"] (ex: anomalieFerme).
   - Décoché  quand .dt-button-active-a est absent sur le <li>
   - Coché    quand .dt-button-active-a est présent sur le <li>
   ============================================================ */

div.dt-button-collection .dt-button-active-a a:after {
    display: none;
    content: "";
}

/* Container du dropdown colvis */
.dt-button-collection .dropdown-menu {
    min-width: 200px;
    padding: 4px 0;
}

/* Chaque item : flex row pour aligner checkbox + label */
.dt-button-collection li.dt-button.buttons-columnVisibility {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 4px 16px;
    cursor: pointer;
    list-style: none;
    line-height: 1.5;
    white-space: nowrap;
    position: relative;
}

/* Texte du lien */
.dt-button-collection li.dt-button.buttons-columnVisibility a {
    color: inherit;
    text-decoration: none;
    flex: 1;
    display: block;
}

.dt-button-collection li.dt-button.buttons-columnVisibility a:hover {
    text-decoration: none;
}

/* Checkbox native via ::before avec appearance:checkbox
   — rendu identique à input[type="checkbox"] (anomalieFerme) */
.dt-button-collection li.dt-button.buttons-columnVisibility::before {
    content: "";
    display: inline-block;
    flex-shrink: 0;
    width: 13px;
    height: 13px;
    /* appearance:checkbox demande au navigateur de dessiner
       exactement le même widget natif qu'un vrai checkbox HTML */
    -webkit-appearance: checkbox;
    -moz-appearance: checkbox;
    appearance: checkbox;
    /* état décoché par défaut */
    border: none;
    background: transparent;
    cursor: pointer;
    vertical-align: middle;
    position: static;
    transform: none;
}

/* État coché : forcer le widget natif à l'état "checked"
   via outline trick — le navigateur interprète
   checked=true sur le pseudo-élément via cette propriété */
.dt-button-collection li.dt-button.buttons-columnVisibility.dt-button-active-a::before {
    /* On utilise background-color et box-shadow pour indiquer l'état actif
       car les pseudo-éléments ne supportent pas :checked.
       On surcharge avec le style natif coché via filter brightness */
    outline: 2px solid transparent; /* trigger repaint */
    /* Simuler l'état coché : case avec fond coloré + coche blanche,
       identique au rendu Chrome/Firefox d'une checkbox cochée */
    background-color: #0b5ed7;
    border: 1px solid #0b5ed7;
    border-radius: 2px;
    /* La coche blanche via clip-path en forme de V */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13 13'%3E%3Cpath d='M2 6.5L5 9.5L11 3.5' stroke='white' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: 100% 100%;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

/* Hover sur tous les items */
.dt-button-collection li.dt-button.buttons-columnVisibility:hover {
    background-color: #f5f5f5;
}

.dt-button-collection li.dt-button.buttons-columnVisibility.dt-button-active-a:hover {
    background-color: #e8f0fe;
}

/* input.form-check-input enfant direct d'une colonne Bootstrap (col-*)
   sans wrapper .form-check — ex: #nbWagon1 + <span>Nombre de Wagons</span>
   La règle globale .form-check-input { position:absolute } le sort du flux
   et le superpose au span. Ce sélecteur très ciblé ne touche aucun autre cas. */
div[class*="col-"] > input.form-check-input {
    position: static !important;
    margin: 0 5px 0 0;
    vertical-align: middle;
}


.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9 {
    position: relative;
    min-height: 1px;
    padding-right: 8px;
    padding-left: 8px
}

/*********************/
/* correction header */
/*********************/

.navbar-nav > li + li {
  border-left: 1px solid #3c3c3c;
}


/*********************/
/* correction footer */
/*********************/

.row {
  margin-left: -8px;
  margin-right: -8px;
}

.container-fluid {
  margin-right: auto;
  margin-left: auto;
  padding-left: 8px;
  padding-right: 8px;
}

footer .first .adjust {
    height: 54px;
}

.dropdown-menu {
  list-style: none;
  font-size: 12px;
  text-align: left;
}

/* pushes the footer to the bottom of the viewport on short pages,
   without fixed positioning or flexbox */
.corps {
  min-height: calc(100vh - 65px);
}
