html {
  /* On définit une base de 16px qui est la norme */
  font-size: 16px; 
  
  /* On empêche l'ajustement automatique de la taille du texte */
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* 
  CIBLE SPÉCIFIQUEMENT les écrans à haute densité (High DPI), 
  qui correspondent souvent aux cas où Windows met l'échelle à 125% (1.25dppx) ou plus.
*/
@media only screen and (-webkit-min-device-pixel-ratio: 1.25),
       only screen and (min-resolution: 1.25dppx) {
    html {
        /* 
          Sur ces écrans spécifiques, on force la police racine à une valeur fixe.
          Cela contrecarre le "zoom" de Chrome qui est basé sur le ratio de pixels.
          Par exemple, sur un écran à 125%, Chrome pourrait vouloir utiliser une base de 20px (16 * 1.25).
          Cette règle le force à rester sur 16px.
        */
        font-size: 16px !important; 
    }
}

body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    background-color: #f8f9fa; /* Couleur de fond légère */
    padding-top: constant(safe-area-inset-top); /* Pour iOS < 11.2 */
    padding-top: env(safe-area-inset-top); /* Pour iOS >= 11.2 et autres navigateurs supportant */
    
    padding-left: constant(safe-area-inset-left);
    padding-left: env(safe-area-inset-left);
    
    padding-right: constant(safe-area-inset-right);
    padding-right: env(safe-area-inset-right);
    
    padding-bottom: constant(safe-area-inset-bottom);
    padding-bottom: env(safe-area-inset-bottom);
}

.container {
    flex: 1;
}

.navbar-custom .nav-link.active,
.navbar-custom .nav-link:hover {
    font-weight: bold;
}

/* Vous pouvez ajouter d'autres styles personnalisés ici */
.table th {
    background-color: var(--primary-color) !important; /* Force la couleur pour les en-têtes de tableau */
    color: white !important;
}

.form-control:focus {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 0.25rem rgba(139, 204, 176, 0.25); /* Utilise la couleur primaire avec opacité */
}

/* Styles pour les badges de statut (alternatif aux classes de fond de ligne) */
.badge.status-en-attente { background-color: #ffc107; color: #000; } /* Jaune */
.badge.status-prise-en-charge { background-color: #198754; } /* Vert */
.badge.status-refuse { background-color: #dc3545; } /* Rouge */

.login-container {
    max-width: 400px;
    margin: 50px auto;
    padding: 20px;
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
}

.navbar-text,
.nav-item.text-white {
    font-size: 1rem;
    text-shadow: 0 1px 1px rgba(0,0,0,0.2);
}

.bg-primary-custom {
    background-color: var(--primary-color) !important; /* Utilise la variable CSS définie dans header.php */
    /* color: white;  Vous l'avez déjà avec text-white, mais on peut le forcer ici si besoin */
}

/* =================================== */
/* == STYLES POUR LES TO-DO LISTS == */
/* =================================== */

/* Apparence de la tâche quand elle est complétée */
.task-completed .task-content {
    text-decoration: line-through;
    color: #6c757d; /* Gris de Bootstrap */
}

.task-completed {
    background-color: #f8f9fa; /* Fond léger pour les tâches terminées */
}

/* Style de base pour les éléments de la liste avec une bordure de priorité */
.list-group-item {
    border-left-width: 5px;
    transition: border-color 0.3s ease;
}

/* Couleurs des priorités (vous pouvez changer ces couleurs) */
.list-group-item.priority-high {
    border-left-color: #dc3545; /* Rouge (Urgent) */
}

.list-group-item.priority-normal {
    border-left-color: #ffc107; /* Jaune (Normal) */
}

.list-group-item.priority-low {
    border-left-color: #0dcaf0; /* Cyan (Basse) */
}

/* Légère emphase pour les tâches à haute priorité non terminées */
.list-group-item.priority-high:not(.task-completed) {
    font-weight: 500;
}

/* Animation pour l'apparition des nouvelles tâches */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}
.new-task-animation {
    animation: fadeIn 0.3s ease-out;
}

/* Animation pour la suppression des tâches */
@keyframes fadeOut {
    from { opacity: 1; transform: scale(1); }
    to { opacity: 0; transform: scale(0.9); }
}
.task-deleted-animation {
    animation: fadeOut 0.3s ease-in forwards;
}

/* Curseur pointeur sur les éléments cliquables de la liste */
#task-list .form-check-input, 
#task-list .delete-btn {
    cursor: pointer;
}

/* ========================================= */
/* == AMÉLIORATION DE LA BARRE DE NAVIGATION == */
/* ========================================= */

/* Empêche le texte des liens de la navbar d'aller à la ligne */
.navbar-nav .nav-link {
    white-space: nowrap; /* Force le texte à rester sur une seule ligne */
    display: flex;       /* Permet d'aligner l'icône et le texte proprement */
    align-items: center; /* Centre verticalement l'icône et le texte */

.border-dashed {
    border: 2px dashed #ced4da;
    transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out;
}
#drop-zone.dragover {
    background-color: #e9ecef;
    border-color: var(--primary-color);
}