body { 
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; 
    margin: 0; 
    padding-top: 0px; /* laisse de l’espace pour le bouton */
    /* background-color: #f9f9f9;
    color: #333;
}

/* Styles pour l'en-tête fixe */
.fixed-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background-color: #f9f9f9;
    z-index: 1000;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    padding: 20px;
    box-sizing: border-box;
}

/* Conteneur principal avec marge pour compenser l'en-tête fixe */
.main-content {
  transition: margin-top 0.3s ease;
  margin-top: 200px; /* hauteur de l'en-tête visible */
}

.header-hidden + .main-content {
  margin-top: 40px; /* quand en-tête masqué : juste l'espace du bouton flèche */
}


h1, h2, h3 { 
    color: #2c3e50; 
    margin-bottom: 20px;
}
table { 
    border-collapse: collapse; 
    width: 100%; 
    margin-bottom: 20px; 
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
    border-radius: 8px;
    overflow: hidden;
}

th, td { 
    border: 1px solid #e0e0e0; 
    padding: 12px; 
    text-align: left; 
}
th { 
    background-color: #f2f2f2; 
    font-weight: 600;
}
tr:nth-child(even) {
       background-color: #f8f8f8;
   }
button { 
margin-top: 7px; 
padding: 8px 16px; 
border: none;
        border-radius: 4px;
        background-color: #3498db;
color: white;
cursor: pointer;
transition: background-color 0.3s;
}
button:hover {
           background-color: #2980b9;
       }
button.delete-btn {
    background-color: #e74c3c;
}
button.delete-btn:hover {
    background-color: #c0392b;
}
button.complete-btn {
    background-color: #2ecc71;
}
button.complete-btn:hover {
    background-color: #27ae60;
}
.dashboard { 
display: flex; 
         justify-content: space-between; 
         flex-wrap: wrap; 
}
.dashboard > div { 
width: 100%; 
       margin-bottom: 20px; 
       background-color: white;
padding: 20px;
         border-radius: 8px;
         box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}
/* Modifier le style CSS pour la modal afin de garantir qu'elle s'affiche toujours au premier plan */
.modal { 
display: none; 
position: fixed; 
          z-index: 1000; /* Augmenter le z-index pour s'assurer qu'il est au-dessus de tout */
left: 0; 
top: 0; 
width: 100%; 
height: 100%; 
overflow: auto; 
          background-color: rgba(0,0,0,0.5); 
animation: fadeIn 0.3s;
}
@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}
.modal-content {
    background-color: #fefefe; 
margin: 5% auto; 
padding: 30px; 
border: 1px solid #e0e0e0; 
width: 90%; 
       max-width: 1400px;
       border-radius: 8px;
       box-shadow: 0 4px 20px rgba(0,0,0,0.15);
position: relative;
animation: slideIn 0.3s;
}
@keyframes slideIn {
    from { transform: translateY(-50px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}
.close { 
position: absolute;
top: 15px;
right: 20px;
color: #aaa; 
       font-size: 24px; 
       font-weight: bold;
cursor: pointer;
transition: color 0.3s;
}
.close:hover, .close:focus { 
color: #555; 
}


form .full-width {
    grid-column: 1 / -1;
}

/* Remplacer le style des champs de formulaire pour assurer une taille uniforme */
form input, form select, form textarea { 
padding: 10px; 
border: 1px solid #ddd;
        border-radius: 4px;
        font-size: 14px;
width: 100%;
       box-sizing: border-box;
transition: border-color 0.3s;
height: 40px; /* Hauteur fixe pour tous les éléments */
}



#projectFields > div, #taskFields > div {
display: flex;
         justify-content: flex-end;
         flex-wrap: wrap;
         flex-direction: column;
}

/* Assurer que les labels ont la même hauteur */
form label {
display: block;
         margin-bottom: 8px;
         font-weight: 500;
height: 20px;
}
.form-actions {
    grid-column: 1 / -1;
display: flex;
         justify-content: space-between;
         margin-top: 25px;
gap: 10px;
}

.form-actions button {
flex: 1;
padding: 12px;
         font-weight: 500;
height: auto;
}

/* Assurer que les dates ont la même apparence que les autres champs */
input[type="date"] {
appearance: none;
            -webkit-appearance: none;
padding: 10px;
height: 40px;
}
.editable { min-width: 100px; }
#addButton { 
position: fixed; 
bottom: 30px; 
right: 30px; 
       background-color: #f2f2f2; 
border: none;
width: 60px;
height: 60px;
        border-radius: 50%; 
cursor: pointer; 
        box-shadow: 0 4px 10px rgba(0,0,0,0.2);
display: flex;
         justify-content: center;
         align-items: center;
transition: transform 0.3s, background-color 0.3s;
}
#addButton img {
width: 30px;
height: 30px;
}
#addButton:hover { 
    background-color: #fefefe;
transform: scale(1.05);
}
.clickable { 
cursor: pointer; 
transition: background-color 0.3s;
}
.clickable:hover { 
    background-color: #f0f0f0; 
}
.priority-select { 
width: 60px; 
padding: 5px;
         border-radius: 4px;
border: 1px solid #ddd;
}
.status-en-cours { 
color: #061b29; 
       font-weight: bold; 
}
.status-en-attente { 
color: #e74c3c; 
       font-weight: bold; 
}
.status-termine {
color: #1c7742;
       font-weight: bold;
}
/* Ajouter ces styles CSS pour l'indicateur de semaine courante */
.current-week-indicator {
display: inline-block;
width: 12px;
height: 12px;
        border-radius: 50%;
        background-color: #3498db;
animation: blink 1s infinite;
           box-shadow: 0 0 5px rgba(52, 152, 219, 0.7);
           margin-right: 10px;
           vertical-align: middle;
}

/* Modifier le style de l'en-tête de semaine pour inclure l'indicateur */
.week-header {
    background-color: #3498db; 
color: white;
padding: 15px; 
         margin-top: 30px; 
         margin-bottom: 15px; 
         border-radius: 8px;
         font-weight: 500;
display: flex;
         justify-content: space-between;
         align-items: center;
         box-shadow: 0 2px 5px rgba(0,0,0,0.1);
         scroll-margin-top: 220px; /* Augmenté de 300px à 220px pour assurer la visibilité complète */
}

.week-header-left {
display: flex;
         align-items: center;
}
.total-minutes {
    background-color: rgba(255,255,255,0.2);
padding: 8px 15px;
         border-radius: 20px;
         font-weight: 500;
color: white;
}
.current-week {
    background-color: #b4c9d7;
}
.date-info {
    background-color: white;
padding: 15px;
         margin-bottom: 30px;
         border-radius: 8px;
         border-left: 4px solid #3498db;
         box-shadow: 0 1px 3px rgba(0,0,0,0.1);
display: flex;
         justify-content: space-between;
         align-items: center;
}
.progress-bar {
height: 8px;
        background-color: #ecf0f1;
        border-radius: 4px;
overflow: hidden;
}
.progress-bar-fill {
height: 100%;
        background-color: #3498db;
        border-radius: 4px;
}
.badge {
display: inline-block;
padding: 3px 8px;
         border-radius: 12px;
         font-size: 12px;
         font-weight: 500;
}
.badge-primary {
    background-color: #e1f0fa;
color: #3498db;
}
.badge-success {
    background-color: #e1f7ea;
color: #2ecc71;
}
.badge-warning {
    background-color: #fef5e7;
color: #f39c12;
}
.badge-danger {
    background-color: #fadbd8;
color: #e74c3c;
}
.badge-purple {
    background-color: #e8daef;
color: #9b59b6;
}
.badge-secondary {
    background-color: #d5dbdb;
color: #7f8c8d;
}
.priority-badge {
display: inline-block;
         background-color: #f2f2f2;
padding: 5px 10px;
         border-radius: 4px;
         font-weight: 500;
         min-width: 20px;
         text-align: center;
}
.auth-status {
display: inline-flex;
         align-items: center;
gap: 10px;
}
.auth-status .status-indicator {
width: 10px;
height: 10px;
        border-radius: 50%;
display: inline-block;
}
.auth-status .status-indicator.authenticated {
    background-color: #2ecc71;
}
.auth-status .status-indicator.not-authenticated {
    background-color: #e74c3c;
}
#logoutButton {
padding: 5px 10px;
         font-size: 12px;
         background-color: #e74c3c;
}
#loginButton {
padding: 5px 10px;
         font-size: 12px;
         background-color: #3498db;
}
.tabs {
display: flex;
         margin-bottom: 0px;
         border-bottom: 1px solid #e0e0e0;
         background-color: white;
         border-radius: 8px 8px 0 0;
overflow: hidden;
          box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

.tab-button {
padding: 15px 25px;
         background-color: transparent;
border: none;
        border-bottom: 3px solid transparent;
cursor: pointer;
        font-weight: 500;
color: #555;
transition: all 0.3s;
flex: 1;
      text-align: center;
margin: 0;
        border-radius: 0;
        font-size: 16px; /* Augmentation de la taille de la police */
}

.tab-button:hover {
    background-color: #f5f5f5;
color: #3498db;
}

.tab-button.active {
    border-bottom: 3px solid #3498db;
color: #3498db;
       background-color: #f8f8f8;
       font-size: 18px; /* Taille de police encore plus grande pour l'onglet actif */
}

.tab-content {
display: none;
         background-color: white;
padding: 20px;
         border-radius: 0 0 8px 8px;
        
         margin-bottom: 30px;
}

.tab-content.active {
display: block;
}

/* Styles pour le diagramme de Gantt */
.gantt-container {
position: relative;
          margin-top: 20px;
          padding-bottom: 20px;
          min-height: 200px;
}

/* Modifier les styles CSS pour le gantt-header-container et gantt-header */
.gantt-header-container {
    background-color: #f2f2f2;
padding: 10px;
         border-bottom: 1px solid #ddd;
position: sticky;
top: 0;
     z-index: 15;
display: flex;
         align-items: center;
height: 40px; /* Hauteur fixe pour correspondre à gantt-header */
        box-sizing: border-box;
}

.gantt-header {
display: flex;
         border-bottom: 1px solid #ddd;
         background-color: #f8f8f8;
         z-index: 10;
height: 40px; /* Même hauteur que gantt-header-container */
}

/* Modifier le style du conteneur principal pour la nouvelle structure */
.gantt-container {
position: relative;
          margin-top: 20px;
          padding-bottom: 20px;
          min-height: 200px;
}

/* Ajuster le style pour le conteneur des étiquettes */
.gantt-labels {
position: sticky;
left: 0;
      z-index: 15;
      background-color: #f8f8f8;
      border-right: 2px solid #ddd;
width: 300px;
}

/* Ajuster le style pour le conteneur des barres de projet */
.gantt-bars {
position: relative;
          overflow-x: auto;
          border-bottom: 1px solid #ddd;
width: calc(100% - 300px);
}

/* Modifier le style pour la structure en grille */
.gantt-content {
display: flex;
width: 100%;
       overflow-x: auto;
}

/* Ajuster le style des lignes pour qu'elles s'alignent correctement */
.gantt-row-label {
height: 20px;
padding: 10px;
         background-color: #f8f8f8;
         border-bottom: 1px solid #eee;
display: flex;
         align-items: center;
         justify-content: space-between;
         font-weight: 500;
overflow: hidden;
          text-overflow: ellipsis;
          white-space: nowrap;
}
/* Modifier le style de l'en-tête du mois pour qu'il soit au-dessus de la structure */
.gantt-header-container {
    background-color: #f2f2f2;
padding: 10px;
         border-bottom: 1px solid #ddd;
position: sticky;
top: 0;
     z-index: 15;
display: flex;
         align-items: center;
width: 100%;
       margin-bottom: 0;
}

/* Ajuster la hauteur de l'en-tête des jours pour qu'elle corresponde à celle de l'en-tête du mois */
.gantt-header {
display: flex;
         border-bottom: 1px solid #ddd;
         background-color: #f8f8f8;
         z-index: 10;
height: 40px; /* Hauteur fixe pour correspondre à l'en-tête du mois */
}

.gantt-header-item {
    min-width: 10px;
    text-align: center;
padding: 10px 0;
         font-weight: 500;
         font-size: 14px;
         border-right: 0px solid #eee;
}

.gantt-header-item.month {
    background-color: #f2f2f2;
    border-bottom: 0px solid #ddd;
}

/* Modifier le style pour les projets */
.gantt-row {
height: 40px;
        border-bottom: 1px solid #eee;
position: relative;
          margin-bottom: 0px;
}

.gantt-row:hover {
    background-color: #f9f9f9;
}

.gantt-row-label {
height: 20px; /* Même hauteur que gantt-row */
padding: 10px;
         background-color: #f8f8f8;
         border-bottom: 1px solid #eee;
display: flex;
         align-items: center;
         justify-content: space-between;
         font-weight: 500;
overflow: hidden;
          text-overflow: ellipsis;
          white-space: nowrap;
}

.gantt-row-label .project-name {
flex: 1;
overflow: hidden;
          text-overflow: ellipsis;
          white-space: nowrap;
}

.gantt-row-label .project-dates {
    margin-left: 10px;
    font-size: 12px;
color: #666;
       white-space: nowrap;
}

/* Supprimer les styles spécifiques aux cellules qui ne seront plus utilisées */
.gantt-row-cells {
display: none;
}

/* Supprimer les styles spécifiques aux cellules qui ne seront plus utilisées */
.gantt-cell {
display: none;
}

/* Modifier le style des barres de projet pour qu'elles soient positionnées par rapport à la barre de synchronisation */
.gantt-bar {
position: absolute;
height: 24px;
top: 8px;
     border-radius: 4px;
     z-index: 2;
     box-shadow: 0 1px 3px rgba(0,0,0,0.1);
cursor: pointer;
transition: all 0.2s;
overflow: visible; /* Important pour que l'indicateur puisse dépasser */
}

.gantt-bar:hover {
transform: translateY(-2px);
           box-shadow: 0 4px 6px rgba(0,0,0,0.15);
}

/* Modifier les styles des barres pour correspondre aux couleurs des statuts */
.gantt-bar.status-non-commence {
    background-color: #f39c12; /* Jaune/Orange */
color: #fff;
}

.gantt-bar.status-awaiting-assets {
    background-color: #e74c3c; /* Rouge */
color: #fff;
}

.gantt-bar.status-en-cours {
    background-color: #3498db; /* Bleu */
color: #fff;
}

.gantt-bar.status-termine {
    background-color: #2ecc71; /* Vert */
color: #fff;
}

.gantt-bar.status-stand-by {
    background-color: #9b59b6; /* Violet */
color: #fff;
}

.gantt-bar.status-cancellation {
    background-color: #7f8c8d; /* Gris */
color: #fff;
}

/* Modifier les styles des étiquettes de barres pour améliorer la lisibilité */
.gantt-bar-label {
position: absolute;
left: 10px;
top: 4px;
     font-size: 14px;
     white-space: nowrap;
overflow: hidden;
          text-overflow: ellipsis;
          max-width: calc(100% - 20px);
          font-weight: bold;
color: #fff; /* Texte blanc pour toutes les barres */
       text-shadow: 0px 0px 2px rgba(0,0,0,0.5);
}

.gantt-tooltip {
position: absolute;
          background-color: white;
border: 1px solid #ddd;
        border-radius: 4px;
padding: 10px;
         box-shadow: 0 2px 10px rgba(0,0,0,0.1);
         z-index: 100;
         min-width: 200px;
         max-width: 300px;
display: none;
}

.gantt-tooltip h4 {
margin: 0 0 5px 0;
color: #333;
}

.gantt-tooltip p {
margin: 5px 0;
        font-size: 13px;
}

.gantt-tooltip-progress {
    margin-top: 8px;
}

.gantt-controls {
display: flex;
         justify-content: space-between;
         margin-top: 40px;
         margin-bottom: 20px;
         align-items: center;
         flex-wrap: wrap;
}

.gantt-filter {
display: flex;
gap: 10px;
     align-items: center;
}

.gantt-filter select {
padding: 8px;
         border-radius: 4px;
border: 1px solid #ddd;
}

.gantt-zoom {
display: flex;
gap: 5px;
}

.gantt-zoom button {
padding: 5px 10px;
         font-size: 12px;
}

.gantt-legend {
display: flex;
gap: 15px;
     margin-top: 20px;
     flex-wrap: wrap;
}

.gantt-legend-item {
display: flex;
         align-items: center;
gap: 5px;
     font-size: 12px;
}

.gantt-legend-color {
width: 15px;
height: 15px;
        border-radius: 3px;
}

/* Modifier le style CSS pour la ligne verticale du jour actuel */
.gantt-today-line {
position: absolute;
top: 0;
height: 100%;
width: 2px;
       background-color: #e74c3c;
       z-index: 3;
       pointer-events: none;
}

/* Styles pour l'en-tête du mois avec les flèches de navigation */
.gantt-header-container {
    background-color: #f2f2f2;
padding: 10px;
         border-bottom: 1px solid #ddd;
position: sticky;
top: 0;
     z-index: 15;
display: flex;
         align-items: center;
}

.gantt-month-header {
display: flex;
         justify-content: center;
         align-items: center;
flex: 1;
}

.gantt-month-title {
    font-weight: bold;
    font-size: 12px;
    text-align: center;
margin: 0 15px;
}

.gantt-filter-status-display {
    background-color: #f0f8ff;
padding: 5px 10px;
         border-radius: 4px;
         font-size: 14px;
color: #3498db;
       margin-left: 20px;
border: 1px solid #e0e0e0;
        font-weight: 500;
        white-space: nowrap;
}

.gantt-nav-button {
    background-color: #3498db54;
color: white;
border: none;
        border-radius: 50%;
width: 24px;
height: 24px;
display: flex;
         justify-content: center;
         align-items: center;
cursor: pointer;
        font-size: 18px;
transition: background-color 0.3s;
padding: 0;
}

.gantt-nav-button:hover {
    background-color: #2980b9;
}

.gantt-bar-dates {
position: absolute;
bottom: -20px;
left: 0;
width: 100%;
       font-size: 12px;
color: #333;
       white-space: nowrap;
}

.gantt-bar-dates > div {
    background-color: rgba(255, 255, 255, 0.7);
padding: 1px 3px;
         border-radius: 2px;
}

/* Ajouter ces styles CSS pour améliorer la visibilité de la ligne du jour actuel et des cellules */
.gantt-header-item.today {
    background-color: rgba(231, 76, 60, 0.2);
    font-weight: bold;
color: #e74c3c;
}

.gantt-header-item.today {
    background-color: rgba(231, 76, 60, 0.2);
    font-weight: bold;
color: #e74c3c;
}

.gantt-cell.today {
    background-color: rgba(231, 76, 60, 0.1);
}

.gantt-today-line {
position: absolute;
top: 0;
height: 100%;
width: 2px;
       background-color: #e74c3c;
       z-index: 3;
       pointer-events: none;
}

/* Styles pour la date sur la barre de synchronisation */
.sync-date-container {
position: absolute;
bottom: -20px; /* Modifié de 0 à -20px pour descendre de 20px */
left: -90px; /* Modifié de -50px à -90px pour déplacer de 40px vers la gauche */
      z-index: 20;
width: 150px;
       text-align: center;
}

.sync-date-terminal {
    background-color: #ffffff;
color: black;
padding: 0px 30px;
         border-radius: 4px;
         font-size: 12px;
         font-weight: bold;
         white-space: nowrap;
width: 100%;
       text-align: right;
}

/* Modifier le style de la barre de synchronisation */
.gantt-sync-line {
position: absolute;
top: 0;
height: 110%;
width: 3px;
       background-color: #e74c3c;
       z-index: 10;
cursor: col-resize;
        pointer-events: all;
}

.gantt-sync-line.active {
width: 4px;
       background-color: #c0392b;
}

/* Modifier le style de la cellule actuelle pour mieux la distinguer */
.gantt-cell.today {
    background-color: rgba(231, 76, 60, 0.15);
}

.gantt-header-item.today {
    background-color: rgba(231, 76, 60, 0.25);
    font-weight: bold;
color: #e74c3c;
}

/* Ajouter un style pour le conteneur des étiquettes */
.gantt-labels {
position: sticky;
left: 0;
      z-index: 15;
      background-color: #f8f8f8;
      border-right: 2px solid #ddd;
}

/* Ajouter un style pour le conteneur des barres de projet */
.gantt-bars {
position: relative;
          overflow-x: auto;
          border-bottom: 1px solid #ddd;
width: 100%;
}

/* Assurer que la ligne du jour actuel est bien visible */
.gantt-today-line {
position: absolute;
top: 0;
height: 100%;
width: 3px;
       background-color: #e74c3c;
       z-index: 5;
       pointer-events: none;
       box-shadow: 0 0 5px rgba(231, 76, 60, 0.5);
}

/* Ajouter ces styles CSS pour la nouvelle structure du diagramme de Gantt */
.gantt-content {
display: grid;
         grid-template-columns: 300px 1fr;
position: relative;
          overflow-x: auto;
          border-bottom: 1px solid #ddd;
}

/* Modifier le style de l'en-tête du mois pour qu'il soit au-dessus de la structure */
.gantt-header-container {
    background-color: #f2f2f2;
padding: 10px;
         border-bottom: 1px solid #ddd;
position: sticky;
top: 0;
     z-index: 15;
display: flex;
         align-items: center;
width: 100%;
       margin-bottom: 0;
}

/* Ajuster la hauteur de l'en-tête des jours pour qu'elle corresponde à celle de l'en-tête du mois */
.gantt-header {
display: flex;
         border-bottom: 1px solid #ddd;
         background-color: #f8f8f8;
         z-index: 10;
height: 40px; /* Hauteur fixe pour correspondre à l'en-tête du mois */
}

/* Modifier le style du conteneur principal pour la nouvelle structure */
.gantt-container {
position: relative;
          margin-top: 20px;
          padding-bottom: 20px;
          min-height: 200px;
display: flex;
         flex-direction: column;
}

.timezone-display {
    font-size: 0.9em;
color: #666;
       font-style: italic;
       margin-left: 5px;
}
</style>
<style>
.badge-purple {
    background-color: #e8daef;
color: #9b59b6;
}
.badge-secondary {
    background-color: #d5dbdb;
color: #7f8c8d;
}

/* Ajouter les styles CSS pour la boîte de dialogue de confirmation après la classe .modal-content */
.confirm-dialog {
display: none;
position: fixed;
          z-index: 1000;
left: 0;
top: 0;
width: 100%;
height: 100%;
overflow: auto;
          background-color: rgba(0,0,0,0.5);
animation: fadeIn 0.3s;
}

.confirm-dialog-content {
    background-color: #fefefe;
margin: 15% auto;
padding: 20px;
border: 1px solid #e0e0e0;
width: 80%;
       max-width: 500px;
       border-radius: 8px;
       box-shadow: 0 4px 20px rgba(0,0,0,0.15);
       text-align: center;
}

.confirm-dialog-buttons {
display: flex;
         justify-content: center;
gap: 10px;
     margin-top: 20px;
}

.confirm-dialog-buttons button {
padding: 8px 16px;
         min-width: 100px;
}

/* Styles pour le conteneur de filtre des tâches */
#tasks-filter-container {
    background-color: #f8f8f8;
padding: 15px;
         border-radius: 8px;
         margin-top: 50px;
border: 1px solid #e0e0e0;
display: flex;
         align-items: center;
}

.task-filter-dropdown {
display: flex;
         align-items: center;
gap: 10px;
}

.task-filter-dropdown label {
    font-weight: 500;
    margin-bottom: 0;
	margin-top: 10px;
}

.task-filter-dropdown select {
padding: 8px 12px;
         border-radius: 4px;
border: 1px solid #ddd;
        background-color: white;
        min-width: 200px;
}

/* Styles pour la barre de recherche */
.search-container {
    background-color: #f8f8f8;
padding: 15px;
         border-radius: 8px;
         margin-bottom: 20px;
border: 1px solid #e0e0e0;
        box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

.search-inputs {
display: flex;
         flex-wrap: wrap;
gap: 15px;
     align-items: flex-end;
}

.search-field {
flex: 1;
      min-width: 200px;
}

.search-field label {
display: block;
         margin-bottom: 5px;
         font-weight: 500;
color: #2c3e50;
}

.search-field input {
width: 100%;
padding: 10px;
border: 1px solid #ddd;
        border-radius: 4px;
        font-size: 14px;
}

.clear-search-btn {
    background-color: #e74c3c;
color: white;
border: none;
        border-radius: 4px;
padding: 10px 15px;
cursor: pointer;
height: 40px;
}

.clear-search-btn:hover {
    background-color: #c0392b;
}

.search-results-info {
    margin-top: 10px;
padding: 8px 12px;
         background-color: #e1f0fa;
         border-radius: 4px;
color: #3498db;
       font-weight: 500;
}
/* Styles pour le tableau de bord */
.dashboard-stats {
display: grid;
         grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
gap: 15px;
     margin-bottom: 30px;
}

.dashboard-stat-item {
    background-color: white;
    border-radius: 8px;
padding: 15px;
         box-shadow: 0 1px 3px rgba(0,0,0,0.1);
         text-align: center;
}

.dashboard-stat-value {
    font-size: 24px;
    font-weight: bold;
color: #3498db;
       margin-top: 10px;
}

.dashboard-status-summary {
display: grid;
         grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
gap: 20px;
}

.dashboard-status-group {
    background-color: white;
    border-radius: 8px;
padding: 15px;
         box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

.dashboard-project-list {
    list-style: none;
padding: 0;
margin: 10px 0 0 0;
}

.dashboard-project-item {
padding: 10px;
         border-bottom: 1px solid #f0f0f0;
}

.dashboard-project-item:last-child {
    border-bottom: none;
}

.dashboard-project-name {
    margin-bottom: 5px;
    font-weight: 500;
}

.dashboard-project-progress {
display: flex;
         align-items: center;
gap: 10px;
}

.dashboard-project-progress .progress-bar {
flex: 1;
}

.view-more {
    text-align: center;
padding: 10px;
         font-style: italic;
color: #3498db;
}
/* Styles pour l'onglet Guidelines */
.guidelines-container {
display: flex;
gap: 20px;
height: 100%;
}

.guidelines-weeks {
flex: 0 0 300px;
      background-color: #f8f8f8;
      border-radius: 8px;
padding: 15px;
         box-shadow: 0 1px 3px rgba(0,0,0,0.1);
         max-height: 600px;
         overflow-y: auto;
         margin-top: 25px;
}

.guidelines-notes {
flex: 1;
display: flex;
         flex-direction: column;
}

.guidelines-week-item {
padding: 10px 15px;
         margin-bottom: 10px;
         background-color: white;
         border-radius: 6px;
cursor: pointer;
transition: all 0.2s;
            border-left: 3px solid transparent;
}

.guidelines-week-item:hover {
    background-color: #f0f8ff;
    border-left-color: #3498db;
}

.guidelines-week-item.active {
    background-color: #e1f0fa;
    border-left-color: #3498db;
    font-weight: 500;
}

.guidelines-week-number {
    font-weight: bold;
color: #2c3e50;
}

.guidelines-week-dates {
    font-size: 12px;
color: #7f8c8d;
       margin-top: 5px;
}

.guidelines-editor {
flex: 1;
display: flex;
         flex-direction: column;
}

.guidelines-editor-header {
display: flex;
         justify-content: space-between;
         align-items: center;
         margin-top: 40px;
         margin-bottom: 15px;
         padding-bottom: 10px;
         border-bottom: 1px solid #e0e0e0;
}

.guidelines-editor-title {
    font-size: 18px;
    font-weight: 500;
color: #2c3e50;
}

.guidelines-editor-actions {
display: flex;
gap: 10px;
}

.guidelines-textarea {
flex: 1;
padding: 15px;
border: 1px solid #ddd;
        border-radius: 8px;
        font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
        font-size: 14px;
        line-height: 1.6;
resize: none;
        min-height: 150px;
        background-color: white;
}

.guidelines-textarea:focus {
outline: none;
         border-color: #3498db;
         box-shadow: 0 0 0 2px rgba(52, 152, 219, 0.2);
}

.guidelines-save-button {
    margin-top: 15px;
    align-self: flex-end;
}
#addButton.hidden {
display: none;
}

.guidelines-notes-container {
flex: 1;
padding: 15px;
border: 1px solid #ddd;
        border-radius: 8px;
        background-color: white;
        margin-bottom: 15px;
        max-height: 350px;
        overflow-y: auto;
}

.guidelines-note-item {
padding: 10px;
         border-bottom: 1px solid #eee;
         margin-bottom: 10px;
}

.guidelines-note-header {
    font-weight: 500;
color: #3498db;
       margin-bottom: 5px;
}

.guidelines-note-content {
    white-space: pre-wrap;
    line-height: 1.5;
}

.guidelines-input-container {
display: flex;
         flex-direction: column;
}

.export-btn {
    background-color: #27ae60;
}

.export-btn:hover {
    background-color: #219653;
}

.no-notes-message {
color: #7f8c8d;
       font-style: italic;
       text-align: center;
padding: 20px;
}
/* Ajouter à la fin de la section <style> dans le head */
.task-selection-container {
    margin-top: 20px;
    border-top: 1px solid #e0e0e0;
    padding-top: 20px;
width: 100%;
}

.task-selection {
display: flex;
         flex-direction: column;
width: 100%;
gap: 20px;
}

.task-selection h3 {
    margin-bottom: 15px;
color: #2c3e50;
}

.task-selection h4 {
    margin-bottom: 10px;
color: #3498db;
       font-size: 16px;
}

.predefined-tasks, .custom-tasks {
width: 100%;
}

.task-checkboxes {
display: grid;
         grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
gap: 10px;
width: 100%;
}

.task-checkbox-item {
display: flex;
         align-items: center;
gap: 8px;
}

.task-checkbox-item input[type="checkbox"] {
width: 18px;
height: 18px;
cursor: pointer;
}

.task-checkbox-item label {
    margin-bottom: 0;
cursor: pointer;
height: auto;
}

.custom-tasks {
    border-top: 1px solid #e0e0e0;
    padding-top: 20px;
    margin-top: 10px;
}

.custom-task-item {
display: grid;
         grid-template-columns: 3fr 1fr auto;
gap: 10px;
     margin-bottom: 10px;
     align-items: center;
width: 100%;
}

.custom-task-item input {
padding: 8px;
border: 1px solid #ddd;
        border-radius: 4px;
height: 36px;
}

/* Ajouter à la fin de la section <style> dans le head */
.task-selection-container {
    margin-top: 20px;
    border-top: 1px solid #e0e0e0;
    padding-top: 20px;
width: 100%;
}

.task-selection {
display: flex;
         flex-direction: column;
width: 100%;
gap: 20px;
}

.task-selection h3 {
    margin-bottom: 15px;
color: #2c3e50;
}

.task-selection h4 {
    margin-bottom: 10px;
color: #3498db;
       font-size: 16px;
}

.predefined-tasks, .custom-tasks {
width: 100%;
}

.task-checkboxes {
display: grid;
         grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
gap: 10px;
width: 100%;
}

.task-checkbox-item {
display: flex;
         align-items: center;
gap: 8px;
     flex-wrap: wrap;
}

.task-checkbox-item input[type="checkbox"] {
width: 18px;
height: 18px;
cursor: pointer;
}

.task-checkbox-item label {
    margin-bottom: 0;
cursor: pointer;
height: auto;
}

.custom-tasks {
    border-top: 1px solid #e0e0e0;
    padding-top: 20px;
    margin-top: 10px;
}

.custom-task-item {
display: grid;
         grid-template-columns: 3fr 1fr auto;
gap: 10px;
     margin-bottom: 10px;
     align-items: center;
width: 100%;
}

.custom-task-item input {
padding: 8px;
border: 1px solid #ddd;
        border-radius: 4px;
height: 36px;
}

.custom-task-item button {
    background-color: #e74c3c;
color: white;
border: none;
        border-radius: 4px;
width: 30px;
height: 30px;
display: flex;
         justify-content: center;
         align-items: center;
cursor: pointer;
        font-size: 16px;
padding: 0;
}

.add-task-btn {
    background-color: #3498db;
color: white;
border: none;
        border-radius: 4px;
padding: 8px 12px;
cursor: pointer;
        margin-top: 10px;
        font-size: 14px;
transition: background-color 0.3s;
}

.add-task-btn:hover {
    background-color: #2980b9;
}
.timezone-display {
    font-size: 0.9em;
color: #666;
       font-style: italic;
       margin-left: 15px;
	   margin-top: 10px;
}
#time {
    font-size: 18px;
color: #333;
       margin-right: 5px;
display: flex;
         flex-direction: row-reverse;
}

/* Bouton pour afficher/masquer l’en-tête */
.toggle-header-btn {
  position: fixed;
  top: 61px;
  right: 0;
  background-color: #ddd;
  color: #333;
  padding: 6px 12px;
  font-size: 14px;
  cursor: pointer;
  border-bottom-left-radius: 8px;
  z-index: 1001;
  user-select: none;
}

/* Animation de repli de l’en-tête */
.fixed-header {
  transition: max-height 0.3s ease, opacity 0.3s ease;
  overflow: hidden;
}

/* Classe cachée */
.header-hidden {
  max-height: 0 !important;
  opacity: 0;
  padding: 0 !important;
  margin: 0 !important;
  pointer-events: none;
}
/* Style du bouton de repli */
.toggle-header-btn {
  position: fixed;
  top: 78px;
  right: 0;
  z-index: 1001;
  background-color: #ddd;
  padding: 5px 10px;
  border-bottom-left-radius: 6px;
}

/* Style de la barre d’onglets */
.tabs {
  position: fixed;
  top: 0px; /* juste sous le bouton */
  width: 100%;
  background-color: white;
  z-index: 1000;
  display: flex;
  justify-content: center;
  padding: 10px 0;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

/* Pour éviter que le contenu passe sous les onglets */
.main-content {
  margin-top: 90px; /* Ajuste selon la hauteur combinée du bouton + onglets */
  transition: margin-top 0.3s ease;
}

/* Quand l’en-tête est masquée */
.header-hidden + .tabs + .main-content {
  margin-top: 90px; /* reste identique car les onglets sont fixes */
}
