/* spinner-ajax-loading */
#spinner-ajax-loading {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.7);
	display: none;
	justify-content: center;
	align-items: center;
	z-index: 1060; /* Higher than Bootstrap modals */
	--bs-modal-zindex: 1060;
}
#datatableLoader {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 50; /* Au-dessus du tableau */
}

.my_table tr td, .my_table tr th{
	padding: .5rem!important;
    font-size: 0.75rem!important;
}


.timeline{
	/*
	max-width: 500px;
    margin: 0 auto;
	*/
}

rect.basic.label-container {
    fill: transparent !important;
    stroke: transparent !important;
}
.domi-table{
	min-width: 1000px;
}
.domi-table th, .domi-table td {
    padding: 9px 3px;
}
.stepper-step {
    min-width: 90px;
}

.skeleton {
    background-color: #f0f0f0;
    border-radius: 4px;
    min-height: 50px;
    margin-bottom: 10px;
    position: relative;
    overflow: hidden;
}

.skeleton::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: -150px;
    height: 100%;
    width: 150px;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent);
    animation: loading 1.2s infinite;
}

@keyframes loading {
    0% {
        left: -150px;
    }
    100% {
        left: 100%;
    }
}

.mytimeline {
      border-left: 2px solid #dee2e6;
      margin-left: 20px;
      padding-left: 15px;
    }
    .mytimeline-item {
      position: relative;
      margin-bottom: 1rem;
    }
    .mytimeline-item::before {
      content: "";
      position: absolute;
      left: -22px;
      top: 5px;
      width: 12px;
      height: 12px;
      border-radius: 50%;
      background: #0d6efd;
    }

.img-avatar24{
	width:24px;
	height:24px;
}

/* Quand le container select2 est invalide */
.select2-container.is-invalid .select2-selection {
  border: 1px solid #dc3545 !important;  /* rouge bootstrap */
  border-radius: .375rem;                 /* arrondi comme bootstrap */
  padding-right: calc(1.5em + .75rem);    /* pour cohérence */
  background-repeat: no-repeat;
  background-position: right calc(.375em + .1875rem) center;
  background-size: calc(.75em + .375rem) calc(.75em + .375rem);
  /* Optionnel : petit icône "!" de bootstrap */
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3c/svg%3e");
}

/* Pour enlever l’effet si valid */
.select2-container .select2-selection {
  transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

.notify-center {
    position: fixed !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    /*z-index: 20000 !important;*/
    min-width: 300px;
    max-width: 500px;
}

.form-check:has(input[type="radio"]:checked) {
  background-color: var(--bs-light);
  border-color: var(--bs-primary) !important;
}

.form-check *{
	cursor: pointer;
}

/* PASSWORD */
.password-strength { height: 6px; border-radius: 3px; transition: all 0.4s ease; background: #e9ecef; }
.requirement.met { color: var(--bs-success); font-weight: 500; }
.requirement:not(.met) { color: #6c757d; }