.loader {
  border: 16px solid #f3f3f3;
  border-radius: 50%;
  border-top: 16px solid blue;
  border-bottom: 16px solid blue;
  width: 120px;
  height: 120px;
  -webkit-animation: spin 2s linear infinite;
  animation: spin 2s linear infinite;
}

@-webkit-keyframes spin {
  0% { -webkit-transform: rotate(0deg); }
  100% { -webkit-transform: rotate(360deg); }
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}


.Mymodal .modal-dialog,
.Mymodal .modal-content {
    /* 80% of window height */
    height: 80%;
}

.Mymodal .modal-body {
    /* 100% = dialog height, 120px = header + footer */
    max-height: calc(100% - 120px);
    overflow-y: scroll;
}

.engras{
	font-size:18px;
	font-weight:bold;
}
.engrasmoyen{
	font-size:13px;
	font-weight:bold;
}
.cacher{
	display:none;
}

#classeselect option{
   font-size:	120%;
}

.bul tr, td{
	padding:0px;
	margin:0px;
}

.divcenter {
	position:absolute;
	top:50%;
	left:50%;
}
.lm{
	font-weight:bold;
}
.espace{
	margin-top:15px;
}
.full_bl{
  background-color: #fff;
}
.login_footer{
text-align: center;
padding: 15px;
font-size: 15px;
}
.version{
  color: green;
}

.bg-bt{
  background-color: #004E64;
}

.succes {
  border: solid 1px;
  background-color: rgb(46, 139, 87);
  color: #fff;
  padding: 5px;
}

.echec {
  border: solid 1px;
  background-color: rgb(220, 20, 60);
  color: #fff;
  padding: 5px;
}
.bas_1{
  float: left;
  font-size: 12px;
  text-align: left;
}
.bas_2 {
  float: right;
  font-size: 12px;
  text-align: right;
}

.swal2-popup {
  font-size: 1.4rem !important;
}
.topBas{
  margin-top: 5px;
  margin-bottom: 5px;
}

.monLi{
    font-size: 18px !important; 
    margin: 6px !important;
}

.parents{
  background-color: #21618C ;
  border: solid 1px #21618C ;
  box-shadow: 2px 2px 7px #666;
  color: #fff;
}

.eleves{
  background-color: #138D75;
  border: solid 1px #138D75;
  box-shadow: 2px 2px 7px #666;
  color: #fff;
}
.filles{
  background-color: #FF8CA7;
  border: solid 1px #FF8CA7;
  box-shadow: 2px 2px 7px #666;
  color: #fff;
}
.garcons{
  background-color: #448ad5;
  border: solid 1px #448ad5;
  box-shadow: 2px 2px 7px #666;
  color: #fff;
}
.utilisateurs{
  background-color: #636776;
  border: solid 1px #636776;
  box-shadow: 2px 2px 7px #666;
  color: #fff;
}

.licences{
  background-color: #F39C12;
  border: solid 1px #F39C12;
  box-shadow: 2px 2px 7px #666;
  color: #fff;
}

.titre1{
  font-size: 25px;
  display: block;
}
.titre2{
  font-size: 12px;
  display: block;
}
.liCenter{
  display: flex; 
  justify-content: center; 
  align-items: center;
}
.libAnnee{
  font-size:14px; 
  font-weight:bold;
}
.libAnnee2{
  color: #000;
  font-size:16px; 
  font-weight:bold;
}
.espBtn{
  padding:5px;
}

.ac_bulletin{
  font-size: 16px; 
  font-weight: bold;
}

/* 1. Le Conteneur principal */
.table-container-home {
    height: 300px; /* Hauteur dynamique ou garde 300px selon ton choix */
    overflow-y: auto;
    border: 1px solid #ddd;
    margin-bottom: 20px;
    position: relative;
    background-color: #fff;
}

/* 2. Le Tableau (Fix pour Bootstrap 3) */
.table-container-home table {
    margin-bottom: 0;
    border-collapse: separate; /* Obligatoire pour le bon fonctionnement du sticky */
    border-spacing: 0;
    width: 100%;
}

/* 3. L'En-tête (Sticky Header) */
.table-container-home table thead th {
    position: sticky;
    top: 0;
    z-index: 20;
    background-color: #ffffff !important;
    
    /* On utilise une bordure réelle pour la propreté visuelle */
    border-bottom: 2px solid #ddd !important;
    border-right: 1px solid #ddd; /* Pour garder les séparations verticales */
    
    /* Supprime les anciens box-shadow/outline qui causaient des flous */
}

/* 4. Nettoyage des bordures doubles */
.table-container-home table thead th:last-child {
    border-right: none;
}

/* ============================== */

/* 1. Le Conteneur plein écran */
.table-container-full {
    /* Prend toute la hauteur de l'écran moins l'espace du header/menu */
    height: calc(100vh - 200px); 
    overflow-y: auto;
    border: 1px solid #ddd;
    margin-bottom: 20px;
    position: relative;
    background-color: #fff;
}

/* 2. Le Tableau (Ajustements Bootstrap 3) */
.table-container-full table {
    margin-bottom: 0;
    border-collapse: separate; /* Crucial pour le sticky */
    border-spacing: 0;
    width: 100%;
}

/* 3. L'En-tête Sticky */
.table-container-full table thead th {
    position: sticky;
    top: 0;
    z-index: 30; /* Un peu plus haut pour passer devant tout le reste */
    background-color: #ffffff !important;
    
    /* Bordures nettes pour remplacer les effets de flou */
    border-bottom: 2px solid #ddd !important;
    border-right: 1px solid #ddd;
}

/* 4. Nettoyage final des bordures */
.table-container-full table thead th:last-child {
    border-right: none;
}