@charset "UTF-8";
/* ALL */
.font-size-70 {
  font-size: 70px;
}

.text-red {
  color: #ff0000;
}

.masquer {
  display: none;
}

.bg_neutre {
  background-color: lightgray !important;
}

.bg_jaune {
  background-color: yellow !important;
}

.bg_rouge {
  background-color: red !important;
}

.bg_vert {
  background-color: green !important;
}

.bg_orange {
  background-color: #ffc000;
}

.text-black {
  color: #000000;
}

.fondOrangeClair {
  background-color: rgba(255, 102, 13, 0.1019607843);
}

.fondOrange {
  background-color: #f6bb9d;
}

.red-border {
  background-color: #e78282;
  text-align: center;
}

@media (max-width: 992px) {
  .font-size-70 {
    font-size: 50px;
  }
  .marginIpad {
    margin-left: 1%;
  }
}
@media (min-width: 992px) {
  #kt_header_menu .menu-nav > .menu-item > .menu-link .menu-text {
    font-size: 1rem;
  }
  #kt_header_menu .menu-nav > .menu-item {
    margin-right: 0.15rem;
  }
}
.fond-jaune {
  background-color: yellow;
}

.general_affaire_parent .select2-container {
  min-width: 300px;
}
.general_affaire_parent .select2-container--default .select2-selection--single {
  background-color: #4f4d4e;
  color: white;
  border: 0;
}
.general_affaire_parent .select2-container--default .select2-selection--single .select2-selection__rendered {
  color: #ffffff;
}
@media (max-width: 500px) {
  .general_affaire_parent .select2-container {
    min-width: 250px;
  }
}
@media (max-width: 420px) {
  .general_affaire_parent .select2-container {
    min-width: 150px;
  }
}

#kt_header_mobile .select2-container--default .select2-selection--single {
  background-color: #232222;
}

#filtre_select_avec_rech .select2-container--default .select2-selection--single .select2-selection__rendered {
  background-color: #F3F6F9;
  font-size: 0.925rem;
  line-height: 1.35;
}
#filtre_select_avec_rech .select2-search--inline, #filtre_select_avec_rech .select2-selection__rendered {
  background-color: #F3F6F9;
}
#filtre_select_avec_rech .select2-selection__choice {
  font-size: 0.925rem;
  line-height: 1.35;
}
#filtre_select_avec_rech ::placeholder {
  color: #3F4254;
  font-size: 0.925rem;
}
#filtre_select_avec_rech .bootstrap-select button {
  background-color: #F3F6F9 !important;
  font-size: 12px;
}
#filtre_select_avec_rech .irs--flat .irs-handle > i:first-child {
  background-color: #8d2862 !important;
}
#filtre_select_avec_rech .irs--flat .irs-bar {
  background-color: #8d2862 !important;
}
#filtre_select_avec_rech .irs--flat .irs-from, #filtre_select_avec_rech .irs--flat .irs-to, #filtre_select_avec_rech .irs--flat .irs-single {
  background-color: #8d2862 !important;
}
#filtre_select_avec_rech .irs--flat .irs-from:before, #filtre_select_avec_rech .irs--flat .irs-to:before, #filtre_select_avec_rech .irs--flat .irs-single:before {
  border-top-color: #8d2862 !important;
}
#filtre_select_avec_rech .filtre_affaire_rech {
  height: 35px;
  border: 1px solid #E4E6EF;
}
#filtre_select_avec_rech .filtre_affaire_rech::-webkit-input-placeholder { /* WebKit, Blink, Edge */
  color: #cccccc;
}
#filtre_select_avec_rech .filtre_affaire_rech::-webkit-input-placeholder:focus::-webkit-input-placeholder { /* WebKit, Blink, Edge */
  color: #cccccc;
}
#filtre_select_avec_rech .filtre_affaire_rech:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
  color: #cccccc;
  opacity: 1;
}
#filtre_select_avec_rech .filtre_affaire_rech:-moz-placeholder:focus:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
  color: #cccccc;
  opacity: 1;
}
#filtre_select_avec_rech .filtre_affaire_rech::-moz-placeholder { /* Mozilla Firefox 19+ */
  color: #cccccc;
  opacity: 1;
}
#filtre_select_avec_rech .filtre_affaire_rech::-moz-placeholder:focus::-moz-placeholder { /* Mozilla Firefox 19+ */
  color: #cccccc;
  opacity: 1;
}
#filtre_select_avec_rech .filtre_affaire_rech:-ms-input-placeholder { /* Internet Explorer 10-11 */
  color: #cccccc;
}
#filtre_select_avec_rech .filtre_affaire_rech:-ms-input-placeholder:focus:-ms-input-placeholder { /* Internet Explorer 10-11 */
  color: #cccccc;
}

#filtre_input_avec_rech .input-group-solid {
  color: #3F4254;
  font-size: 0.925rem;
}

/* Plugin TARTEAUCITRON */
#tarteaucitronAlertBig .tarteaucitronDeny {
  /*display:none !important;*/
  background-color: #333333 !important;
}

#tarteaucitronRoot #tarteaucitronAlertBig {
  background-color: #232222 !important;
}

#tarteaucitronPersonalize {
  background-color: #eeeeee !important;
  color: #333333 !important;
}

#tarteaucitron #tarteaucitronServices #tarteaucitronAllAllowed.tarteaucitronIsSelected {
  background-color: #111111 !important;
}

#tarteaucitron #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsAllowed .tarteaucitronAllow {
  background-color: #111111 !important;
}

#tarteaucitron #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsAllowed {
  border-color: #111111 !important;
}

#tarteaucitron #tarteaucitronServices #tarteaucitronAllDenied.tarteaucitronIsSelected {
  background-color: #ff0000 !important;
}

#tarteaucitron #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsDenied .tarteaucitronDeny {
  background-color: #ff0000 !important;
}

#tarteaucitron #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsDenied {
  border-color: #ff0000;
}

/* BASE */
.header-top .btn.btn-clean a:not(:hover) {
  color: #ffffff;
}
.header-top .btn.btn-dropdown a:not(:hover) {
  color: #ffffff;
}
.header-top .svg-icon.svg-icon-xl svg {
  /*height: auto !important;*/
}

.header-bottom .header_phase_cur {
  text-align: center;
}

@media (max-width: 992px) {
  .header-bottom .header_phase_cur {
    text-align: left;
    background-color: #F3F6F9;
    margin-left: 0 !important;
  }
  .phase_content {
    padding: 5px;
    padding-left: 30px;
  }
}
.table-hover tbody tr:hover {
  background-color: #f3f3f3;
}

.aff_details .table-hover tbody tr:hover {
  background-color: #f3f3f3 !important;
}

.thead-light {
  background-color: #fefefe;
}

.table-total {
  background-color: #fafafa;
}

.table-desact {
  color: #bbbbbb;
}
.table-desact td {
  color: #bbbbbb;
}
.table-desact a {
  color: #bbbbbb;
}

.menu-interne-mobile {
  display: none;
}

@media (max-width: 992px) {
  .menu-interne-mobile {
    display: block;
  }
}
/* Date */
.datepicker .cw {
  color: #666666;
  font-weight: bold;
  font-size: 12px !important;
}

.daterangepicker .week {
  color: #666666;
  font-weight: bold;
  font-size: 12px !important;
}

/* LOGIN */
.login-aside .w-img {
  width: 100%;
}

/* INITPASS */
.div_initpassws {
  max-width: 500px !important;
}

/* GANTT */
.div_response_ajax {
  display: none;
  /*color:#ff0000;*/
}

.div_response {
  color: #ff0000;
}

.div_response_zon2 {
  color: #ff0000;
}

.gantt-thecontainer text {
  font-size: 11px !important;
}
.gantt-thecontainer #gant-container {
  max-width: 1200px;
  min-width: 320px;
  margin: 1em auto;
}
.gantt-thecontainer #gantt-buttonGroup {
  max-width: 1200px;
  min-width: 320px;
}
.gantt-thecontainer .hidden {
  display: none;
}
.gantt-thecontainer .main-container button[disabled] {
  color: silver;
}
.gantt-thecontainer .overlay {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.3);
  transition: opacity 500ms;
}
.gantt-thecontainer .popup {
  margin: 70px auto;
  padding: 20px;
  background: #fff;
  border-radius: 5px;
  width: 300px;
  position: relative;
  z-index: 1000;
}
.gantt-thecontainer .popup input, .gantt-thecontainer .popup select {
  width: 100%;
  margin: 5px 0 15px;
}
.gantt-thecontainer .popup button {
  float: right;
  margin-left: 0.2em;
}
.gantt-thecontainer .popup .clear {
  height: 50px;
}
.gantt-thecontainer .popup input[type=text], .gantt-thecontainer .popup select {
  height: 2em;
  font-size: 16px;
}
.gantt-thecontainer .masq {
  display: none;
}
.gantt-thecontainer .masq2 {
  display: none;
}
.gantt-thecontainer .aff-tab-user {
  font-size: 11px;
  font-weight: bold;
  padding-left: 5px;
}
.gantt-thecontainer .aff-tab-affaire {
  font-size: 11px;
  font-weight: normal;
  padding-left: 5px;
}

/* CONNEXION SIMUL */
.div_avertissement {
  position: fixed;
  bottom: 0;
  background-color: #ff0000;
  color: #ffffff;
  width: 100%;
  text-align: center;
  font-size: 12px;
  padding: 10px;
}

/* uppy */
.uppy-StatusBar.is-waiting .uppy-StatusBar-actionBtn--upload {
  font-size: 14px;
  width: 100%;
  padding: 15px 10px;
  color: #fff;
  background-color: #8d2862;
  line-height: 1;
}

/* HONO */
.honoraires_estim_table input[type=number].estim_field {
  max-width: 80px;
}
.honoraires_estim_table .lig_area input[type=number].estim_field {
  max-width: 100px;
}
.honoraires_estim_table .lig_ahka input[type=number].estim_field {
  max-width: 100px;
}
.honoraires_estim_table .lig_area_archi input[type=number].estim_field {
  max-width: 100px;
}
.honoraires_estim_table .borderRed {
  border-color: red;
}
.honoraires_estim_table input[type=number].estim_field_spec {
  max-width: 120px;
}
.honoraires_estim_table tr.ligne_deplac td {
  color: #888888;
}
.honoraires_estim_table tr.ligne_deplac td * {
  color: #888888;
}
.honoraires_estim_table tr.sstotal {
  color: #ffffff;
  background-color: #5e5956;
}
.honoraires_estim_table tr.sstotal:hover {
  color: #ffffff;
  background-color: #5e5956;
}
.honoraires_estim_table tr.phase_remise {
  color: #333333;
  background-color: #feffe9;
}
.honoraires_estim_table tr.phase_remise:hover {
  color: #333333;
  background-color: #feffe9;
}

.hono_ecran_bas {
  position: fixed;
  bottom: 0;
  background-color: #ffffff;
  width: 100%;
  text-align: center;
  font-size: 12px;
  padding: 10px;
  box-shadow: 0 0 40px rgba(54, 58, 55, 0.2);
}
.hono_ecran_bas small {
  font-size: 14px;
}
.hono_ecran_bas_scroll {
  display: none;
  position: fixed;
  bottom: 0;
  background-color: #ffffff;
  width: 100%;
  text-align: center;
  font-size: 12px;
  padding: 10px;
  box-shadow: 0 0 40px rgba(54, 58, 55, 0.2);
}
.hono_ecran_bas_scroll small {
  font-size: 14px;
}
/* Suivi */
.suivi_proj .btn-enreg-suivi {
  padding: 0.45rem 0.65rem;
  font-size: 0.725rem;
  line-height: 1.35;
  border-radius: 0.42rem;
  margin-top: 5px;
}
.suivi_proj .btn-delete-suivi {
  cursor: pointer;
}
.suivi_proj .zon_enreg_delete {
  display: none;
}
.suivi_proj .participants {
  text-align: center;
}
.suivi_proj .fond_suivi_altern {
  background-color: #f6f6f6;
}

.suivi_proj_theme {
  border-bottom: 1px solid #EBEDF3;
}

@media (max-width: 1200px) {
  .suivi_proj .participants {
    text-align: left;
  }
}
/* AO */
.modal_ao .btn-enreg-small {
  padding: 0.45rem 0.65rem;
  font-size: 0.725rem;
  line-height: 1.35;
  border-radius: 0.42rem;
  margin-top: 5px;
}

.home_ao_table tbody tr {
  border-bottom: solid 1px #f3f3f3;
}
.home_ao_table tbody tr:hover {
  background-color: #f3f3f3;
}
.home_ao_table tbody tr:nth-child(1):hover {
  background: none;
}

.ao_recapitulation tr.ent-lot-choice {
  background-color: #efefef;
}
.ao_recapitulation tr {
  border-bottom: solid 1px #f3f3f3;
}
.ao_recapitulation tr:hover {
  background-color: #f3f3f3;
}

/* Compta travaux */
.tableau-recap-compta-travaux td {
  font-size: 12px;
}

/* Documents / Photos */
.interface_photo .custo_image {
  padding-bottom: 5px;
}
.interface_photo a[data-fancybox] img {
  cursor: zoom-in;
}
.interface_photo .fancybox__caption {
  text-align: center !important;
}
.interface_photo .gap-5 {
  gap: 1.25rem;
}
.interface_photo .px-6 {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
.interface_photo .justify-center {
  justify-content: center;
}
.interface_photo .flex-wrap {
  flex-wrap: wrap;
}
.interface_photo .flex {
  display: flex;
}
.interface_photo .mx-auto {
  margin-left: auto;
  margin-right: auto;
}
.interface_photo *, .interface_photo ::after, .interface_photo ::before {
  --tw-ring-inset: var(--tw-empty, );
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgba(59, 130, 246, 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
}
.interface_photo *, .interface_photo ::after, .interface_photo ::before {
  --tw-shadow: 0 0 #0000;
}
.interface_photo *, .interface_photo ::after, .interface_photo ::before {
  --tw-border-opacity: 1;
  border-color: rgba(229, 231, 235, var(--tw-border-opacity));
}
.interface_photo *, .interface_photo ::after, .interface_photo ::before {
  box-sizing: border-box;
  border-width: 0;
  border-style: solid;
  border-color: currentColor;
}
.interface_photo *, .interface_photo ::after, .interface_photo ::before {
  box-sizing: border-box;
}

.fancybox__caption {
  text-align: center !important;
}

/* Planification */
.phas_bloc_actif th {
  background-color: #ff0000 !important;
}
.phas_bloc_actif th span {
  color: #ffffff !important;
}
.phas_bloc_actif th a {
  background-color: #000000 !important;
}

.phas_bloc_lig_active {
  background-color: rgba(255, 102, 13, 0.03);
}

/* Financier */
.btn-facturation-small {
  padding: 0.45rem 0.65rem;
  font-size: 0.725rem;
  line-height: 1.35;
  border-radius: 0.42rem;
  margin-top: 0px;
}

.table_suivi_financier_ph thead th {
  font-size: 0.9rem;
  font-weight: normal;
}

/* planficiation */
.planification_gestionnaire tr th {
  font-size: 0.8rem;
  font-weight: 600;
}
.planification_gestionnaire .ligne_title:hover {
  background: none;
}
.planification_gestionnaire .ligne_phase {
  background-color: #8d2862;
  color: #eeeeee;
}
.planification_gestionnaire .ligne_phase:hover {
  background-color: #8d2862;
  cursor: pointer;
  color: #ffffff;
}
.planification_gestionnaire .ligne_mission {
  background-color: #c1c0c0;
}
.planification_gestionnaire .ligne_mission:hover {
  background-color: #c1c0c0;
  cursor: pointer;
  color: #262832;
}
.planification_gestionnaire .ligne_title_ressource {
  background-color: #ededed;
}
.planification_gestionnaire .ligne_title_ressource:hover {
  background-color: #ededed;
  cursor: pointer;
}
.planification_gestionnaire .priorite_avance {
  background-color: #00E200;
  text-align: center;
  color: white;
  border: 0;
}
.planification_gestionnaire .priorite_normal {
  background-color: #1BC5BD;
  text-align: center;
  color: white;
  border: 0;
}
.planification_gestionnaire .priorite_urgent {
  background-color: red;
  text-align: center;
  color: white;
  border: 0;
}
.planification_gestionnaire .priorite_neutre {
  background-color: #E4E6EF;
  text-align: center;
  color: #181C32;
  border: 0;
}
.planification_gestionnaire .select2_sm {
  line-height: 1;
}
.planification_gestionnaire .ligne_ressource .select2-selection__rendered {
  line-height: 1 !important;
}
.planification_gestionnaire .borderRed {
  border-color: red;
}
.planification_gestionnaire .fondRed {
  background-color: red;
  color: white;
  border: 0;
}
.planification_gestionnaire a.planif_dates_am_pm {
  color: #000000;
}
.planification_gestionnaire a.planif_dates_am_pm:hover {
  color: #a13f08;
}
.planification_gestionnaire a.planif_dates_am_pm.active {
  color: #8d2862;
  font-weight: bold;
}
.planification_gestionnaire .aff_passe {
  color: #D1D3E0;
}
.planification_gestionnaire .aff_passe a {
  color: #D1D3E0 !important;
}
.planification_gestionnaire .aff_passe input {
  color: #D1D3E0 !important;
}

.mes_missions_planif .ligne_affaire th {
  background-color: #0b090a !important;
  color: #ffffff;
}
.mes_missions_planif .ligne_aff_phase {
  margin-left: 50px;
}
.mes_missions_planif .ligne_aff_phase th {
  background-color: #8d2862 !important;
  color: #ffffff;
}
.mes_missions_planif .ligne_aff_phase:hover {
  cursor: default;
}
.mes_missions_planif .ligne_mission_titres {
  color: #0b090a;
}
.mes_missions_planif .ligne_mission_titres td {
  padding-top: 0;
  vertical-align: bottom;
}
.mes_missions_planif .ligne_mission {
  font-size: 11px;
}
.mes_missions_planif .ligne_mission td {
  background-color: #9c9c9c !important;
  color: #0b090a;
}
.mes_missions_planif .ligne_mission td:last-child {
  border-top-right-radius: 0.42rem;
  border-bottom-right-radius: 0.42rem;
}
.mes_missions_planif .ligne_mission td:first-child {
  border-top-left-radius: 0.42rem;
  border-bottom-left-radius: 0.42rem;
}
.mes_missions_planif .ligne_mission .effectue {
  color: #ffffff;
}
.mes_missions_planif .ligne_mission .noneffectue {
  color: #ffffff;
}
.mes_missions_planif .ligne_mission .input-group-text {
  padding-top: 2px;
  padding-bottom: 2px;
}
.mes_missions_planif .ligne_ressource_titres_espac {
  border-bottom: solid 1px #cccccc;
}
.mes_missions_planif .ligne_ressource_titres_espac:hover {
  background-color: transparent;
  cursor: default;
}
.mes_missions_planif .ligne_ressource_titres_espac td {
  height: 5px;
  padding: 0;
  background-color: transparent;
}
.mes_missions_planif .ligne_ressource_titres {
  border-top: solid 1px #cccccc;
  border-bottom: solid 1px #cccccc;
}
.mes_missions_planif .ligne_ressource_titres th {
  background-color: #F3F6F9 !important;
  color: #0b090a;
}
.mes_missions_planif .ligne_ressource_titres th:first-child {
  border-left: solid 1px #cccccc;
}
.mes_missions_planif .ligne_ressource_titres th:last-child {
  border-right: solid 1px #cccccc;
}
.mes_missions_planif .ligne_ressource td:first-child {
  border-left: solid 1px #cccccc;
}
.mes_missions_planif .ligne_ressource td:last-child {
  border-right: solid 1px #cccccc;
}

.planif_edit_ecran_haut_scroll {
  display: block;
  position: fixed;
  top: 0;
  background-color: #ffffff;
  width: 100%;
  text-align: center;
  font-size: 12px;
  padding: 10px;
  box-shadow: 0 0 40px rgba(54, 58, 55, 0.2);
}
.planif_edit_ecran_haut_scroll small {
  font-size: 14px;
}
.planif_edit_ecran_bas_scroll {
  display: block;
  position: fixed;
  bottom: 0;
  background-color: #ffffff;
  width: 100%;
  text-align: center;
  font-size: 12px;
  padding: 10px;
  box-shadow: 0 0 40px rgba(54, 58, 55, 0.2);
}
.planif_edit_ecran_bas_scroll small {
  font-size: 14px;
}
.planif_edit_ecran_bas_scroll .planning_image {
  display: none;
}
.planif_edit_ecran_bas_scroll .planning_image .planning_image_zon {
  overflow: auto;
}

.aff_primec_cee {
  display: none;
}

.aff_prime_cee {
  display: none;
}

/* mutlicompte */
.multicompte .title {
  color: #8d2862;
}
.multicompte .tuile {
  border-radius: calc(0.42rem - 1px) calc(0.42rem - 1px) 0 0;
  background-color: #F1F1F1;
  font-size: 14px;
  font-weight: bold;
  cursor: pointer;
  padding-top: 5px;
  padding-bottom: 5px;
  margin-bottom: 5px;
}
.multicompte .tuile:hover {
  background-color: #8d2862;
  color: #ffffff;
}
.multicompte .tuile.active {
  background-color: #8d2862;
  margin-bottom: 0;
  color: #ffffff;
}
.multicompte .sstuile {
  display: none;
  background-color: rgba(255, 102, 13, 0.1);
  padding: 10px;
  margin-bottom: 5px;
}
.multicompte .sstuile p:last-child {
  margin-bottom: 0;
}

/* suivi DEVIS */
.BgColorSuiviAO_nonValidee {
  background-color: #d9d9d9 !important;
}

.BgColorSuiviAO_conforme {
  background-color: #92d050 !important;
}

.BgColorSuiviAO_attenteMaj {
  background-color: #ffc000 !important;
}

.BgColorSuiviAO_nonConform {
  background-color: #ff0000 !important;
}

.BgColorSuiviAO_exclue {
  background-color: #000000 !important;
}

.BgColorSuiviAO_attribution {
  background-color: #0070c0 !important;
}

.BgColorSuiviAO_annulee {
  background-color: #7030a0 !important;
}

.filtres-suivi-devis .bootstrap-select .dropdown-menu.inner > li.selected > a {
  background: #edf0f3;
}
.filtres-suivi-devis .bootstrap-select .dropdown-menu.inner > li.selected > a > span.text {
  font-weight: 800;
}

/* Bloc PG */
input[name=pg_saisie] {
  width: 50px;
  text-align: center;
  margin-right: 5px;
  padding: 5px;
  height: auto;
}

.NumComAff {
  display: block;
}

.NumComMasq {
  display: none;
}

/* Bons */
.page_bon_edit .bg_total {
  background-color: #deab89;
}
.page_bon_edit .bg_total:hover {
  background-color: #deab89;
}
.page_bon_edit .bg_total td {
  color: #000000;
}
.page_bon_edit .title_ss_rub:hover {
  background-color: #ffffff;
}
.page_bon_edit .title_ss_rub td {
  padding-top: 20px;
}
.page_bon_edit .ligne_vide {
  background-color: #ffffff;
  height: 15px;
}
.page_bon_edit .ligne_vide:hover {
  background-color: #ffffff;
}

.navi-link:hover svg path {
  fill: #8d2862;
}

.navi .navi-item .navi-link.active svg path {
  fill: #8d2862;
}

.card-toolbar {
  position: sticky; /* This makes the element stick to the viewport */
  top: 150px; /* Positions the toolbar at the top of the viewport */
  background-color: #fff; /* Optional: Set a background color for the toolbar */
  z-index: 1; /* Optional: Set a higher z-index to ensure the toolbar stays on top */
  padding: 10px; /* Optional: Add some padding for better visual separation */
}

.card-toolbar button,
.card-toolbar a {
  margin-right: 10px; /* Adjust spacing between buttons */
}

.aNotClick {
  background-color: #F1F1F1;
  pointer-events: none;
  cursor: default;
}

tr:not(.no-hover) {
  background-color: white;
}

.icon-hono {
  border: 1px solid white;
  border-radius: 4px;
  padding: 5px;
  margin-right: 5px;
  /*background-color:white;*/
  color: white;
}

.icon-hono-active {
  border: 1px solid white;
  background-color: white;
  color: #8d2862;
  border-radius: 4px;
  padding: 5px;
  margin-right: 5px;
}

.icon-hono-pourc {
  border: 1px solid #8d2862;
  border-radius: 4px;
  padding: 5px;
  margin-right: 5px;
  color: #8d2862;
}

.icon-hono-pourc-active {
  border: 1px solid white;
  background-color: #8d2862;
  color: white;
  border-radius: 4px;
  padding: 5px;
  margin-right: 5px;
}

.dim-i {
  width: 11px !important;
  position: relative;
  top: -5px;
}

.tooltip {
  z-index: 10001;
}

.honoLock {
  pointer-events: none;
  opacity: 60%;
}

.icon-clickable {
  padding: 5px;
  cursor: pointer;
}

.centerTd {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
}

.noBorderInput {
  border: none !important;
  background: transparent !important;
  outline: none !important;
}

.alert-pulsate {
  animation: pulse 1s infinite;
}

@keyframes pulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
  }
  100% {
    transform: scale(1);
  }
}
.background-transp .select2-container--default .select2-selection--single, .select2-container--default .select2-selection--multiple {
  background-color: transparent;
  font-size: 0.9rem;
}

.custom-menu {
  display: none;
  width: 220px;
  box-shadow: 0 5px 15px rgba(17, 17, 17, 0.5490196078);
  position: fixed;
  overflow-y: auto;
  z-index: 15000;
}
.custom-menu button {
  width: 100%;
  text-align: left;
  background-color: #111;
  color: #e7e7e7;
  font-size: 10px;
  padding: 8px 12px;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
}
.custom-menu button:hover {
  background-color: #8d2862;
}
.custom-menu button[disabled] {
  cursor: not-allowed;
  color: grey;
}

.menu_selection {
  border: 1px solid #8d2862;
}

.vertical-text {
  text-align: center;
  vertical-align: middle;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  background-color: #f3f3f3;
}

#menuGanttTop[data-header-scroll=on] {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  padding: 0 25px;
  z-index: 1049;
  background-color: white;
}

#kt_header.header-static {
  position: static; /* Désactive le comportement fixe */
}

/* DESIGN MENU PLANIFICATION */
/* GÉNÉRAL */
.menu-general-planification {
  display: flex;
  width: 100%;
  transform-origin: top left;
  justify-content: space-between;
  align-items: center;
  flex-wrap: nowrap;
}

.title-actions-planif, .title-filters-planif {
  width: 100%;
  background-color: #232222;
  color: white;
  text-align: center;
  border-radius: 6px;
  height: 24px;
  align-content: center;
}

/* ACTIONS */
.menu-actions-planif {
  width: 40%;
  height: 115px;
  margin-right: 5px;
}

.title-action-planif {
  background-color: #EA5B0B;
  color: white;
  border-radius: 5px;
  padding-left: 10px;
  padding-right: 10px;
  padding-top: 5px;
  padding-bottom: 5px;
  text-align: center;
  font-weight: bold;
  font-size: 8px;
}

.menu-action-planif {
  width: 100%;
  height: 40px;
  background-color: #f2f2f2;
  border-radius: 5px;
  margin-top: 2px;
  margin-right: 2px;
  text-align: center;
  cursor: pointer;
  align-content: center;
}

.menu-double-planif {
  display: flex;
}
.menu-double-planif .row {
  flex-direction: row;
  justify-content: center;
  width: 100%;
}

.menu-action-planif.double {
  width: 49%;
}

.action-actions-planif {
  display: flex;
  flex-wrap: nowrap;
  width: 100%;
  margin-top: 5px;
}
.action-actions-planif .row {
  flex-direction: row;
  justify-content: center;
  width: 100%;
}

.action-actions-planif > div {
  align-items: center;
  justify-content: center;
  padding: 3px;
  box-sizing: border-box;
  height: 70px;
  width: 14.2%;
}

.full-action-planif {
  text-align: center;
  background-color: #f2f2f2;
  height: 65px;
  color: black;
  font-weight: bold;
  border-radius: 5px;
  align-content: center;
  cursor: pointer;
  font-size: 10px;
  max-width: 100px;
}
.full-action-planif .text-filter-planif {
  font-size: 10px;
}

.full-action-planif:hover {
  background-color: #EA5B0B;
}

/* FILTRES */
.menu-filters-planif {
  width: 61%;
  margin-right: 10px;
  height: 115px;
}

.filter-filters-planif {
  display: flex;
  flex-wrap: nowrap;
  width: 100%;
  margin-top: 5px;
}
.filter-filters-planif .row {
  flex-direction: row;
  justify-content: center;
  width: 100%;
  max-width: 100%;
}
.filter-filters-planif .row .menu-filter-planif {
  flex: 1;
}
.filter-filters-planif i {
  margin-bottom: 5px;
}
.filter-filters-planif span {
  text-align: center;
  max-width: -webkit-fill-available;
}

.filter-filters-planif > div {
  align-items: center;
  justify-content: center;
  padding: 3px;
  box-sizing: border-box;
  height: 70px;
  width: 10%;
  font-size: 10px;
}

.title-filter-planif {
  background-color: white;
  color: black;
  border: 1px solid black;
  border-radius: 5px;
  padding: 5px;
  cursor: pointer;
  text-align: center;
  font-weight: bold;
}

.title-filter-planif:hover {
  background-color: #EA5B0B;
  color: black;
  border: none;
}

.title-filter-planif.active {
  background-color: #EA5B0B;
  color: black;
  border: none;
}

.menu-filter-planif {
  width: 100%;
  height: max-content;
  background-color: #f2f2f2;
  border-radius: 5px;
  margin-top: 2px;
  margin-right: 2px;
  text-align: center;
}

.reinit-filter-planif {
  text-align: center;
  background-color: #f2f2f2;
  height: 70px;
  color: black;
  font-weight: bold;
  border-radius: 5px;
  align-content: center;
  cursor: pointer;
  font-size: 12px;
  max-width: 100px;
  max-height: 65px;
}
.reinit-filter-planif .text-filter-planif {
  font-size: 10px;
}

.reinit-filter-planif:hover {
  background-color: #EA5B0B;
}

.menu-save-planif, .menu-param-planif {
  height: inherit;
}

.form-planif-select {
  border-style: none;
  background-color: #f2f2f2;
  border-radius: 5px;
  padding: 4px;
  font-size: 9px;
  font-weight: 600;
  max-width: -webkit-fill-available;
}

/* FIN MENUS PLANIF */
.planif_zone {
  background-color: #ff8541 !important;
  color: white;
  height: 43px;
  max-height: 43px;
  overflow: hidden;
  font-size: 12px;
}

.num_ligne_planif {
  background-color: white !important;
  color: #b9b9b9;
  padding: 5px;
  font-weight: normal;
  font-size: 10px;
  text-align: center;
}

.mission_planif {
  background-color: #E0E2E6 !important;
  height: 43px;
  max-height: 43px;
  overflow: hidden;
  font-size: 11px;
}

.lot_num_planif {
  padding-left: 5px;
  font-size: 8px;
}

.planif_pred {
  background-color: #f6f6f6;
  padding-left: 6px;
  padding-right: 6px;
  padding-top: 3px;
  padding-bottom: 3px;
  text-align: center;
  border-radius: 5px;
  cursor: pointer;
}

td.select-planif span.select2 span.selection span.select2-selection {
  border: none;
  outline: none; /* Optionnel : supprime la bordure de focus */
  box-shadow: none; /* Optionnel : supprime les ombres portées */
}

.filter_phase {
  cursor: default;
}

@keyframes slideInRight {
  0% {
    transform: translateX(100%);
  }
  50% {
    transform: translateX(50%);
  }
  100% {
    transform: translateX(0);
  }
}
.modal-right {
  animation: slideInRight 0.3s ease-in-out;
  top: -103px;
  left: 68% !important;
  width: 33.3vw;
  height: 100vh;
  /* overflow-y: auto; */
  z-index: 9999;
  /* background-color: white; */
  box-shadow: -2px 0 5px rgba(0, 0, 0, 0.2);
}

.modal-title-dblclck {
  padding: 10px 10px 10px 15px;
}
.modal-title-dblclck #modalViewBarTitle {
  font-size: 10px;
  text-align: center;
}

.modal-body-dblclck {
  padding: 3px;
}
.modal-body-dblclck .card-body {
  padding: 3px;
}

.card-body-info-gen {
  border: 1px solid black;
  border-radius: 7px;
}
.card-body-info-gen .form-group {
  margin-bottom: 0px;
}
.card-body-info-gen .form-group .col-form-label {
  padding-top: 0px;
}

.modal-info-gen-title {
  padding-left: 15px;
  padding-top: 8px;
  font-size: 15px;
}

.menu-modal-info-gen {
  display: flex;
  justify-content: space-between;
  width: 70%;
}

.menu-modal-info {
  padding: 5px 5px 5px 5px;
}

.menu-modal-info:hover {
  cursor: pointer;
  color: white;
  background-color: #EA5B0B;
  border-radius: 5px;
}

.menu-modal-info.menu-modal-info-focus {
  color: white;
  background-color: #EA5B0B;
  border-radius: 5px;
}

.message_ajax {
  z-index: 50000;
  position: fixed;
  bottom: 0;
  right: 0;
  width: 13em;
  height: 50px;
  text-align: center;
  align-content: center;
  border-radius: 5px;
  background-color: #ff8541;
}

/* Nom de l'animation, durée, répétition, direction */
#message_ajax.animate-message-ajax {
  animation: pulse 1s infinite alternate;
}

.gantt-navigation {
  position: fixed;
  bottom: 0;
  left: 50%;
  display: flex; /* Pour aligner les boutons et le conteneur horizontalement */
  align-items: center; /* Pour les centrer verticalement */
  gap: 10px; /* Espacement entre les éléments */
  margin-bottom: 10px; /* Marge en bas pour l'espace avec le contenu suivant */
  padding: 3px;
}

#scrollLeftBtn {
  padding: 3px;
}

#scrollRightBtn {
  padding: 3px;
}

#scrollLeftBtn:hover {
  cursor: pointer;
  background-color: #ff8541;
  border-radius: 5px;
}

#scrollRightBtn:hover {
  background-color: #ff8541;
  cursor: pointer;
  border-radius: 5px;
}

.fixed-menu-planif {
  position: fixed; /* Rend l'élément fixe par rapport à la fenêtre */
  top: 0; /* Le positionne tout en haut de la fenêtre */
  left: 0;
  margin-left: 0px;
  width: 100%; /* Assurez-vous qu'il conserve sa largeur d'origine si nécessaire */
  z-index: 1000; /* S'assure qu'il est au-dessus des autres éléments */
  /* Vous pouvez ajouter d'autres styles comme background-color, box-shadow, etc. */
  background-color: white; /* Exemple: pour éviter la transparence */
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); /* Exemple: pour un effet visuel */
}

/*
  Bouton OUI / NON Planification collaborateur
 */
.button-yes-no-planif-collab {
  display: flex;
  gap: 10px; /* Espace entre les boutons */
}
.button-yes-no-planif-collab input[type=radio] {
  display: none;
}
.button-yes-no-planif-collab label {
  padding: 5px 25px;
  border: 2px solid #ccc;
  border-radius: 8px;
  cursor: pointer;
  user-select: none; /* Empêche la sélection de texte */
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
  font-weight: bold;
  text-align: center;
  min-width: 45%; /* Pour que les boutons aient une largeur minimale */
}
.button-yes-no-planif-collab label:hover {
  opacity: 0.9;
}
.button-yes-no-planif-collab input[id=yes_mis_end_pointage]:checked + label {
  background-color: #4CAF50; /* Vert */
  color: white;
  border-color: #4CAF50;
}
.button-yes-no-planif-collab input[id=no_mis_end_pointage]:checked + label {
  background-color: #f44336; /* Rouge */
  color: white;
  border-color: #f44336;
}
.button-yes-no-planif-collab input:not(:checked) + label {
  background-color: #e0e0e0;
  color: #333;
  border-color: #ccc;
}

/**
  PLEINE ECRAN PLANIFICATION
 */
#mutability:-webkit-full-screen {
  width: 100%;
  height: 100%; /* Important : prend toute la hauteur de l'écran */
  display: flex; /* Utile si votre SVG n'est pas le seul élément ou pour le centrage */
  align-items: center; /* Centre verticalement le contenu SVG */
  justify-content: center; /* Centre horizontalement le contenu SVG */
  background-color: black; /* Optionnel : un fond noir pour le plein écran */
}

#mutability:-moz-full-screen {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: black;
}

#mutability:-ms-fullscreen {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: black;
}

/* Version standard (W3C) pour les navigateurs modernes */
#mutability:fullscreen {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: black;
}

.fullscreenButton {
  width: 100%;
}

.close.accept:hover {
  color: #EA5B0B;
}

/* MULTI SELECT SUIVI PLANNING */
.custom-multi-select {
  position: relative;
  width: 250px;
  border-radius: 10px;
}

.select-header {
  padding: 8px;
  background-color: #f9f9f9;
  cursor: pointer;
  border-bottom: 1px solid #eee;
  user-select: none;
  border-radius: 10px;
}

.options-list {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  border: 1px solid #ccc;
  border-top: none;
  background-color: #fff;
  list-style: none;
  padding: 0;
  margin: 0;
  max-height: 200px;
  overflow-y: auto;
  z-index: 10000;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
  border-radius: 10px;
}

.options-list li {
  padding: 8px 10px;
  border-bottom: 1px solid #eee;
  cursor: pointer;
}

.options-list li:last-child {
  border-bottom: none; /* Pas de bordure sur le dernier élément */
}

.options-list li:hover {
  background-color: #f0f0f0;
}

/* Cache la case à cocher native */
.options-list input[type=checkbox] {
  display: none;
}

/* Style la fausse case à cocher (vous pouvez utiliser une icône ou une pseudo-classe) */
.options-list label {
  display: block; /* La zone de clic de la label prend toute la largeur */
  position: relative;
  padding-left: 25px; /* Espace pour la fausse case à cocher */
  cursor: pointer;
}

.options-list label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 2px;
  width: 16px;
  height: 16px;
  border: 1px solid #999;
  background-color: #fff;
  border-radius: 3px;
}

/* Style quand la case est cochée */
.options-list input[type=checkbox]:checked + label::before {
  background-color: #007bff; /* Couleur de fond quand coché */
  border-color: #007bff;
}

.options-list input[type=checkbox]:checked + label::after {
  content: "✔"; /* Coche */
  position: absolute;
  left: 2px;
  top: 0px;
  color: #fff;
  font-size: 14px;
}

/**
MODULE HACHURE
 */
/* Styles généraux pour l'aperçu */
#lot_preview {
  background-repeat: no-repeat;
  background-size: cover; /* S'assure que la couleur de fond couvre tout */
}

/* Hachures Diagonale (Gauche vers la droite) */
.hatch-diagonal-left {
  background-image: repeating-linear-gradient(-45deg, var(--hatch-color) 0 1px, transparent 1px 10px);
  background-size: 100% 100%; /* Ajustez la taille pour espacement */
}

/* Hachures Diagonale (Droite vers la gauche) */
.hatch-diagonal-right {
  background-image: repeating-linear-gradient(45deg, var(--hatch-color) 0 1px, transparent 1px 10px);
  background-size: 100% 100%; /* Ajustez la taille pour espacement */
}

/* Hachures Horizontales */
.hatch-horizontal {
  background-image: repeating-linear-gradient(0deg, var(--hatch-color) 0 1px, transparent 1px 10px);
  background-size: 100% 4px; /* Hauteur des hachures */
}

/* Hachures Verticales */
.hatch-vertical {
  background-image: repeating-linear-gradient(90deg, var(--hatch-color) 0 1px, transparent 1px 10px);
  background-size: 4px 100%; /* Largeur des hachures */
}

/* Conteneur principal des boutons paramètrage planification */
.button-yes-no-planif {
  display: flex;
  gap: 10px; /* Espace entre les boutons */
  justify-content: center; /* **NOUVEAU : Centre les éléments horizontalement dans le conteneur flex** */
  align-items: center; /* **NOUVEAU : Centre les éléments verticalement (si nécessaire, mais bonne pratique)** */
  /* Si ce conteneur a une largeur définie et n'est pas déjà centré, vous devrez peut-être ajouter: */
  /* margin: 0 auto; */
}

.button-yes-no-planif {
  /* Cache les boutons radio par défaut */
  /* Style de base des labels (qui ressemblent à des boutons) */
  /* Style du bouton "Oui" quand il est activé */
  /* Style du bouton "Non" quand il est activé */
  /* Style des boutons quand ils ne sont pas activés (état par défaut) */
}
.button-yes-no-planif input[type=radio] {
  display: none;
}
.button-yes-no-planif label {
  padding: 8px 30px; /* **AJUSTÉ : Plus de padding pour un aspect plus "bouton"** */
  border: 2px solid #ccc;
  border-radius: 8px;
  cursor: pointer;
  user-select: none; /* Empêche la sélection de texte */
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease; /* **AJOUTÉ : transition pour box-shadow** */
  font-weight: bold;
  text-align: center;
  flex-grow: 1; /* **NOUVEAU : Permet aux boutons de prendre l'espace disponible équitablement** */
  max-width: 50%; /* **AJOUTÉ : Limite la largeur max de chaque bouton à 50% du conteneur** */
  box-sizing: border-box; /* **IMPORTANT : Inclut padding et border dans la largeur/hauteur** */
}
.button-yes-no-planif label:hover {
  opacity: 0.9;
  /* Vous pouvez aussi ajouter une légère ombre au survol pour un effet sympa */
  /* box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); */
}
.button-yes-no-planif input[id$=_yes]:checked + label {
  background-color: #4CAF50; /* Vert */
  color: white;
  border-color: #4CAF50;
  box-shadow: 0 4px 8px rgba(76, 175, 80, 0.2); /* **AJOUTÉ : Ombre pour le bouton actif** */
}
.button-yes-no-planif input[id$=_no]:checked + label {
  background-color: #f44336; /* Rouge */
  color: white;
  border-color: #f44336;
  box-shadow: 0 4px 8px rgba(244, 67, 54, 0.2); /* **AJOUTÉ : Ombre pour le bouton actif** */
}
.button-yes-no-planif input:not(:checked) + label {
  background-color: #e0e0e0;
  color: #333;
  border-color: #ccc;
  /* Optionnel: Vous pourriez réduire l'opacité ou ajouter une légère ombre pour les rendre moins prégnants */
  /* opacity: 0.8; */
}

/* CSS pour la pastille de notification */
.notification-badge {
  position: absolute;
  top: -5px;
  left: -11px;
  background-color: red;
  color: white;
  border-radius: 50%;
  padding: 2px 6px;
  font-size: 0.7em;
  min-width: 18px;
  text-align: center;
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
}
.notification-badge .animate-notif {
  animation: blink 1.5s infinite alternate; /* Applique l'animation 'blink' */
}

.notification-badge-ref {
  position: absolute;
  top: -5px;
  left: 1px;
  background-color: red;
  color: white;
  border-radius: 50%;
  padding: 2px 6px;
  font-size: 0.7em;
  min-width: 18px;
  text-align: center;
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 19px;
  height: 19px;
}
.notification-badge-ref .animate-notif {
  animation: blink 1.5s infinite alternate; /* Applique l'animation 'blink' */
}

/* --- Définition des Keyframes pour l'animation --- */
@keyframes blink {
  0% {
    opacity: 1; /* Pleinement visible au début */
  }
  50% {
    opacity: 0.7; /* Légèrement moins visible à mi-chemin */
  }
  100% {
    opacity: 1; /* Retour à la pleine visibilité à la fin */
  }
}
.svg-icon-info a {
  position: relative;
  display: inline-block;
}

/* Styles pour la bulle d'ouverture */
.chat-bubble {
  position: fixed; /* Reste en place même en scrollant */
  bottom: 100px; /* 20px du bas */
  right: 20px; /* 20px de la droite */
  width: 40px;
  height: 40px;
  background-color: #EA5B0B; /* Couleur bleue */
  color: white;
  border-radius: 50%; /* Forme circulaire */
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5em;
  cursor: pointer; /* Indique que l'élément est cliquable */
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* Ombre légère */
  z-index: 1000; /* Assure qu'elle est au-dessus des autres éléments */
  transition: background-color 0.3s ease; /* Transition douce au survol */
}
.chat-bubble:hover {
  background-color: #0056b3; /* Changement de couleur au survol */
}

/* Styles pour le panneau de notification collabo */
.chat-panel {
  position: fixed;
  bottom: 90px; /* Au-dessus de la bulle */
  right: 20px;
  width: 300px; /* Largeur du panneau */
  height: 400px; /* Hauteur du panneau */
  background-color: white;
  border: 1px solid #ddd;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
  z-index: 999; /* Juste en dessous de la bulle */
  display: flex; /* Utilisation de flexbox pour la disposition interne */
  flex-direction: column;
  overflow: hidden; /* Cache le contenu qui dépasse */
  /* Animation d'apparition/disparition */
  transform: translateY(100%) scale(0.8); /* Commence en bas, réduit */
  opacity: 0; /* Invisible au début */
  visibility: hidden; /* Non interactif quand caché */
  transition: transform 0.3s ease-out, opacity 0.3s ease-out, visibility 0.3s;
}
.chat-panel.open {
  transform: translateY(0) scale(1); /* Remonte et s'agrandit */
  opacity: 1; /* Devient visible */
  visibility: visible; /* Devient interactif */
}

/* En-tête du panneau */
.chat-panel-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 15px;
  background-color: #f8f9fa; /* Couleur de fond de l'en-tête */
  border-bottom: 1px solid #eee;
  min-height: 50px;
}
.chat-panel-header h3 {
  margin: 0;
  font-size: 1.1em;
  color: #333;
}

/* Bouton de fermeture (croix) */
.close-button {
  font-size: 1.5em;
  cursor: pointer;
  color: #666;
  transition: color 0.2s ease;
}
.close-button:hover {
  color: #333;
}

/* Contenu de la liste */
.chat-panel-recherche {
  flex-grow: 1; /* Prend l'espace restant */
  padding: 5px;
  overflow-y: auto; /* Permet le défilement si la liste est longue */
  background-color: #fff;
  max-height: 50px;
  min-height: 50px;
}

.chat-panel-content {
  flex-grow: 1; /* Prend l'espace restant */
  padding: 10px 15px;
  overflow-y: auto; /* Permet le défilement si la liste est longue */
  background-color: #fff;
}

.data-list {
  list-style: none; /* Supprime les puces de liste */
  padding: 0;
  margin: 0;
}
.data-list li {
  padding: 8px 0;
  border-bottom: 1px solid #eee;
  color: #555;
}
.data-list li:last-child {
  border-bottom: none; /* Pas de bordure pour le dernier élément */
}

/* Styles pour le panneau de notification référent */
.chat-panel-ref {
  position: fixed;
  bottom: 90px; /* Au-dessus de la bulle */
  right: 325px;
  width: 300px; /* Largeur du panneau */
  height: 400px; /* Hauteur du panneau */
  background-color: white;
  border: 1px solid #ddd;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
  z-index: 999; /* Juste en dessous de la bulle */
  display: flex; /* Utilisation de flexbox pour la disposition interne */
  flex-direction: column;
  overflow: hidden; /* Cache le contenu qui dépasse */
  /* Animation d'apparition/disparition */
  transform: translateY(100%) scale(0.8); /* Commence en bas, réduit */
  opacity: 0; /* Invisible au début */
  visibility: hidden; /* Non interactif quand caché */
  transition: transform 0.3s ease-out, opacity 0.3s ease-out, visibility 0.3s;
}
.chat-panel-ref.open {
  transform: translateY(0) scale(1); /* Remonte et s'agrandit */
  opacity: 1; /* Devient visible */
  visibility: visible; /* Devient interactif */
}

/**
DESIGN SUIVI STATISTIQUES
*/
.bloc_fixe_stats {
  text-align: center;
  background-color: #ffffff;
  box-shadow: 0px 0px 30px 0px rgba(82, 63, 105, 0.05);
  border: 1px solid #EBEDF3;
  border-radius: 0.42rem;
  padding: 5px;
  align-content: center;
  margin-right: 5px;
}

.title_fixe_stats {
  padding-top: 5px;
}

.text_fixe_stats {
  padding-bottom: 5px;
}

.blocs_fixe_stats {
  margin-bottom: 25px;
  position: relative;
  display: flex;
  min-width: 0;
  word-wrap: break-word;
  background-clip: border-box;
  justify-content: space-between;
}

@keyframes slideInUp {
  from {
    opacity: 0;
    transform: translateY(-40px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.stat_principale {
  display: flex;
  justify-content: center;
  align-items: center;
  animation: slideInUp 0.8s ease-out forwards;
}

.chiffre_fleche {
  display: flex;
  align-items: center;
  margin-left: 3px;
}

.fleche {
  font-size: 1em;
  margin-right: 2px;
}

.fleche .haut {
  color: #28a745;
}

.fleche .bas {
  color: #dc3545;
}

.chiffre_variation {
  font-size: 1.1em;
  font-weight: bold;
}

.actual_week {
  color: red;
}

.actual_month {
  color: red;
}

.rounded-icon-box {
  width: 35px;
  height: 35px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease-in-out;
}
.rounded-icon-box i {
  color: white !important;
  font-size: 24px;
}
.rounded-icon-box:hover {
  transform: scale(1.2);
}

.rond-vert {
  width: 1.3em;
  height: 1.3em;
  background-color: #7ef800;
  border-radius: 50%; /* Crée la forme de cercle */
  margin: 0 auto; /* Centre le rond horizontalement */
}

.rond-gris {
  width: 1.3em;
  height: 1.3em;
  background-color: #d9d9d9;
  border-radius: 50%; /* Crée la forme de cercle */
  margin: 0 auto; /* Centre le rond horizontalement */
}

.rond-orange {
  width: 1.3em;
  height: 1.3em;
  background-color: #8d2862;
  border-radius: 50%; /* Crée la forme de cercle */
  margin: 0 auto; /* Centre le rond horizontalement */
}

.rond-rouge {
  width: 1.3em;
  height: 1.3em;
  background-color: #ff0000;
  border-radius: 50%; /* Crée la forme de cercle */
  margin: 0 auto; /* Centre le rond horizontalement */
}

/* Styles de base pour les en-têtes cliquables */
#action_ao, #action_cat, #action_format, #action_mo, #action_amo, #action_ent {
  transition: width 0.5s ease; /* Ajoute une transition fluide à la largeur */
  cursor: pointer; /* Indique que l'élément est cliquable */
}

/* Styles pour l'état normal */
.normal-width {
  width: 20%;
}

/* Styles pour l'état agrandi */
.expanded-width {
  width: 40%;
}

/* Styles pour l'état réduit */
.contracted-width {
  width: 10%;
}

.fond-orange {
  background-color: #f5b28c;
}

.fond-gris {
  background-color: #f0f0f0;
}

.little-checkbox {
  width: 15px !important;
  height: 15px !important;
}

.styl_rule_visua_on,
.styl_rule_depot_on,
.styl_rule_suppr_on,
.styl_rule_alert_on,
.styl_rule_visua_off,
.styl_rule_depot_off,
.styl_rule_suppr_off,
.styl_rule_alert_off,
.styl_rule_visa_on,
.styl_rule_visa_off {
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #d7d7d7;
}

.styl_rule_visua_on {
  background-color: #c5deff;
  color: black;
}

.styl_rule_visa_on {
  background-color: #39fe7b;
  color: black;
}

.styl_rule_depot_on {
  background-color: #c0e09f;
  color: black;
}

.styl_rule_suppr_on {
  background-color: #ffa9a9;
  color: black;
}

.styl_rule_alert_on {
  background-color: #ffc0fb;
  color: black;
}

.styl_rule_visua_off,
.styl_rule_depot_off,
.styl_rule_suppr_off,
.styl_rule_alert_off,
.styl_rule_visa_off {
  background-color: white;
  color: #e4e4e4;
}

.div_docs_rules {
  display: flex;
  justify-content: center;
  margin: 0 auto;
}

.ligne_docs_gestion_rules:hover {
  background-color: #e4e4e4;
}

#drop-area-docs {
  border: 2px dashed #ccc;
  border-radius: 20px;
  width: 100%;
  padding: 10px;
  text-align: center;
  font-family: sans-serif;
  margin: 0 auto;
  background-color: white;
}

#drop-area-docs .highlight {
  border-color: purple;
}

.orange-dot {
  height: 5px;
  width: 5px;
  background-color: #EA5B0B;
  border-radius: 50%;
  display: inline-block;
  margin-right: 5px;
}

/**
  Export PLANIFICATION
 */
.button-yes-no-planif input[id=export_pdf_typ_paysage]:checked + label,
.button-yes-no-planif input[id=export_pdf_typ_portrait]:checked + label,
.button-yes-no-planif input[id=export_pdf_logo_yes]:checked + label,
.button-yes-no-planif input[id=export_pdf_tab_yes]:checked + label {
  background-color: #4CAF50;
  color: white;
  border-color: #4CAF50;
  box-shadow: 0 4px 8px rgba(76, 175, 80, 0.2);
}

.button-yes-no-planif input[id=export_pdf_logo_no]:checked + label,
.button-yes-no-planif input[id=export_pdf_tab_no]:checked + label {
  background-color: #f44336;
  color: white;
  border-color: #f44336;
  box-shadow: 0 4px 8px rgba(244, 67, 54, 0.2);
}

/**
  DOCUMENTS
 */
.add_docs_delete:hover {
  color: #EA5B0B;
}

/* Styles pour le bouton on/off */
.switch {
  position: relative;
  display: inline-block;
  width: 60px; /* Largeur totale */
  height: 34px; /* Hauteur totale */
}

/* Cache la checkbox HTML standard */
.switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

/* Le curseur (slider) - l'arrière-plan du bouton */
.slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ccc; /* Couleur éteint */
  transition: 0.4s;
  border-radius: 34px; /* Rend l'arrière-plan arrondi */
}

/* Le point qui se déplace */
.slider:before {
  position: absolute;
  content: "";
  height: 26px;
  width: 26px;
  left: 4px; /* Position initiale du point */
  bottom: 4px;
  background-color: white;
  transition: 0.4s;
  border-radius: 50%; /* Rend le point rond */
}

/* Quand la checkbox est cochée (ON) */
input:checked + .slider {
  background-color: #2196F3; /* Couleur allumé (bleu) */
}

/* Effet d'ombre/bordure quand le bouton est focusé */
input:focus + .slider {
  box-shadow: 0 0 1px #2196F3;
}

/* Déplace le point vers la droite quand la checkbox est cochée (ON) */
input:checked + .slider:before {
  transform: translateX(26px); /* 60px (largeur) - 34px (hauteur/rayon) = 26px de translation */
}

.tt-green {
  color: #63E6BE;
}

.tt-orange {
  color: #ff8541;
}

.tt-blue {
  color: #318ce7;
}

.tt-purple {
  color: #811453;
}

.tt-red {
  color: #F76E6E;
}

.tt-yellow {
  color: #ffc000;
}

.tt-grey {
  color: #ADADAD;
}

.tt-pink {
  color: #ffc7c2;
}

.tt-black {
  color: #000000;
}

.tooltip .tooltip-inner {
  max-width: 400px;
}

.tt-div {
  text-align: left !important;
  white-space: normal !important;
}

/**
  SUIVI FINANCIER RECAP
 */
.table_title_recap_total {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  border-top: 1px solid black;
  border-left: 1px solid black;
  border-right: 1px solid black;
  border-bottom: 1px solid #e7e7e7;
}

.table_title_recap_total_left {
  border-radius: 5px 0px 0px 0px;
}

.table_title_recap_total_right {
  border-radius: 0px 5px 0px 0px;
}

.title_recap_total {
  background-color: #f3f3f3;
  padding: 5px;
  /*border: 1px solid black;*/
  text-align: center;
  align-content: center;
}

.subtitle_recap_total {
  background-color: #f3f3f3;
  padding: 5px;
  border-bottom: 1px solid black;
  text-align: center;
  align-content: center;
  font-size: 10px;
  color: #a5a5a5;
}

.td_recap_total {
  padding: 5px;
  border-bottom: 1px solid #dedede;
  text-align: center;
  align-content: center;
  font-weight: bold;
}

.title_recap_lot_1 {
  background-color: #dddddd;
  font-weight: bold;
  padding: 12px;
  min-width: 1150px;
  max-width: 1150px;
  width: 1150px;
}

.title_sub_recap_lot_1 {
  font-weight: normal;
  color: #bcbcc7;
}

.title_recap_lot_2 {
  background-color: #e4a988;
  font-weight: bold;
  padding: 12px;
  text-align: right;
  min-width: 200px;
  max-width: 200px;
  width: 200px;
}

.title_sub_recap_lot_2 {
  font-weight: normal;
}

.title_recap_lot_3 {
  background-color: #f3d8c9;
  font-weight: bold;
  padding: 12px;
  text-align: right;
  min-width: 200px;
  max-width: 200px;
  width: 200px;
}

.title_recap_lot_4 {
  background-color: #dddddd;
  font-weight: bold;
  padding: 12px;
  text-align: right;
  min-width: 151px;
  max-width: 151px;
  width: 151px;
}

.title_sub_recap_lot_3 {
  font-weight: normal;
}

.subtitle_recap_lot {
  background-color: #f3f3f3;
  text-align: center;
  color: #919191;
  font-size: 10px;
  border-bottom: 2px solid #f3f3f3;
  min-height: 50px;
}

.subtitle_recap_lot_vert {
  writing-mode: vertical-rl;
  text-align: center;
  vertical-align: middle;
  white-space: nowrap;
  min-width: 25px;
  max-width: 25px;
  width: 25px;
}

.subtd_recap_lot {
  text-align: center;
  border-bottom: 2px solid #f3f3f3;
  min-height: 50px;
  height: 50px;
}

.subtd_recap_lot_vert {
  font-weight: bold;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  text-align: center;
  vertical-align: middle;
  background-color: #f3f3f3;
  overflow: hidden; /* cache le texte qui dépasse */
  text-overflow: ellipsis; /* ajoute "…" si le texte dépasse */
  white-space: nowrap; /* empêche le retour à la ligne */
  max-width: 26px;
  min-width: 26px;
  width: 26px;
}

.subtd_recap_lot_check {
  background-color: #009cbf;
  color: white;
}

.subtd_total_recap_lot {
  background-color: #e4a988;
  font-weight: bold;
  text-align: center;
  border: none;
  min-height: 50px;
  height: 35px;
}

.subtd_avanc_recap_lot {
  text-align: right;
  border: none;
  min-height: 35px;
  font-size: 10px;
  height: 35px;
}

.styl_desac_recap_sf {
  background-color: #efefef !important;
  font-style: italic;
}

.checkbox > input.checklistgrpD:checked ~ span::after {
  border-color: #D2D2D2;
}

.avanc_situ_depose_valid {
  height: 20px;
  align-content: center;
  display: block;
}

/* Force la classe ck-content sur les zones d'édition */
.ck-editor__editable_inline {
  padding-left: 0 !important;
}

/* Restaure un style propre des listes dans InlineEditor */
.ck-editor__editable_inline ul,
.ck-content ul {
  list-style: disc !important;
  margin-left: 2rem !important;
  padding-left: 0 !important;
}

.ck-editor__editable_inline ol,
.ck-content ol {
  list-style: decimal !important;
  margin-left: 2rem !important;
  padding-left: 0 !important;
}

.ck-editor__editable_inline li {
  margin: 0.25rem 0;
}

/*
  CSS pour multichoix perso
*/
#menu-filter-planif .bootstrap-select .filter-option {
  font-size: 9px !important;
  font-weight: bold !important;
}
#menu-filter-planif .bootstrap-select .dropdown-menu {
  z-index: 1000 !important;
  width: 200px !important;
  max-width: 200px !important;
}
#menu-filter-planif .dropdown.bootstrap-select .dropdown-toggle {
  font-size: 9px !important;
  font-weight: bold !important;
}
#menu-filter-planif .dropdown.bootstrap-select .dropdown-menu {
  font-size: 9px !important;
  font-weight: bold !important;
  width: 200px !important;
  max-width: 200px !important;
}
#menu-filter-planif .dropdown.bootstrap-select .dropdown-menu .inner .dropdown-menu {
  font-size: 9px !important;
  font-weight: bold !important;
}

/*# sourceMappingURL=styles_custom.css.map */

        .header .header-top {
            background-color: #121037;
        }
        @media (max-width: 992px) {
          .header_mobile {
                background-color: #121037;
          }
        }        
        @media (min-width: 992px) {
          .header .header-bottom {
                background-color: #2d2f4b;
          }
        }        
    