/* Style pour le logo et le header */
* {
    box-sizing: border-box;
}

/* HEADER FIXE & CENTRÉ */
header {
    position: fixed;
    top: 0;
    left: 50%; /* Centre par rapport à la page */
    transform: translateX(-50%); /* Ajuste le centrage */
    width: 100%;
    max-width: 1200px; /* Limite la largeur */
    background-color: #FF5733 ;
    z-index: 1000;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 25px;
	height: 100px; /* 🔽 Ajuste la hauteur si besoin */
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

/* CONTAINER DU HEADER (Limité à 1200px) */
.header-container {
    width: 100%;
    max-width: 1200px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 20px;
}

.logo-container {
    flex: 1;
}

.logo {
    width: 80px;
}

.menu-container {
    display: flex;
    align-items: center;
    margin-left: auto; /* Pousse le menu à droite */
}

.accordion {
    background-color: #FF5733 ;
    color: white;
    padding: 15px;
    cursor: pointer;
    border: none;
    outline: none;
    transition: 0.4s;
}

/* Par défaut, le panneau est masqué */
.panel {
    display: none; /* Masque le panneau par défaut */
    position: absolute;
    top: 100%; /* Positionné sous le bouton */
    right: 0;
    background-color: #f1f1f1;
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
    z-index: 1;
    width: 200px; /* Largeur du menu déroulant */
    border-radius: 5px;
}

/* Affiche le panneau lorsque la classe active est ajoutée */
.panel.active {
    display: block;
}

/* Bouton en mode actif */
.accordion.expanded {
    background-color: #ff9680; /* Change la couleur du bouton lorsqu'il est actif */
}

/* Liens dans le menu */
.panel a {
    display: block;
    padding: 10px;
    color: #FF5733 ;
    text-decoration: none;
    font-family: Arial, sans-serif; /* Police Arial */
    font-size: 11px; /* Taille de la police */
}

.panel a:hover {
    background-color: #ddd; /* Fond au survol */
}

/* ✅ Ajuste le contenu pour qu'il commence sous le header */
.content-container {
    margin-top: 30px; /* Ajuste selon la hauteur réelle du header */
    padding: 20px; /* Évite les gros espaces inutiles */
    max-width: 1200px;
	min-height: 500px;
    margin-left: auto;
    margin-right: auto;
    background-color: #ffffff;
}


/* Style pour le contenu principal 
.content-container {
    padding: 200px;
    background-color: #ffffff;
}*/

/* FOOTER CENTRÉ & LIMITE À 1200PX */
footer {
    width: 100%;
    max-width: 1200px;
    background-color: #FF5733 ;
    color: #ffffff; /* Texte en blanc */
    text-align: center;
    margin: auto; /* Centre horizontalement */
    padding: 15px 0;
}

/* CONTAINER DU FOOTER (Limité à 1200px) */
.footer-container {
    width: 100%;
    max-width: 1200px;
    text-align: center;
    color: #ffffff; /* Texte en blanc */
}


/* 
.content-container {
    width: 100%;
    max-width: 1200px;
    margin: auto;
    padding: 0 0 30px 0; /* Ajoutez uniquement un padding inférieur */
	
}*/

header, footer {
    padding: 10px 50px;
}

/* Styles spécifiques pour les petits écrans (version mobile) */
@media only screen and (max-width: 600px) {
    .content-container {
        padding: 15px; /* Ajuster le rembourrage pour mobile */
		min-height: auto; /* Permet au contenu de s'adapter sans restriction */
    }

    footer {
        text-align: center; /* Centrer le texte pour une meilleure apparence sur mobile */
    }
	header {
        flex-direction: row; /* Assure un alignement en ligne */
        justify-content: space-between; /* Garde le logo à gauche et le menu à droite */
        padding: 5px 15px; /* Ajuste l'espacement pour éviter un header trop haut */
    }
} /* Correction : Fermeture de la règle @media pour éviter que les styles globaux ne soient inclus uniquement pour les petits écrans */

/* Définir la police et la taille pour le titre h1 */
h1 {
    font-family: Arial, sans-serif;  /* Utilise la police Arial ou une police par défaut sans-serif */
    font-size: 25px;  /* Définit la taille de la police à 25 pixels */
    font-weight: bold;  /* Peut être utilisé pour donner un effet gras */
    color: #FF5733 ;  /* Vous pouvez ajuster la couleur ici si nécessaire FF0000 FF5733 */
    margin-bottom: 20px;  /* Ajouter un espacement sous le titre */
}

/* Définir la police et la taille pour le titre h2 */
h2 {
    font-family: Arial, sans-serif;  /* Utilise la police Arial */
    font-size: 20px;  /* Définit la taille de la police à 15 pixels */
    font-weight: bold;
    color: #FF5733 ;  /* Couleur plus légère que le h1 */
    margin-bottom: 15px;  /* Ajuster le marging en fonction de la mise en page souhaitée */
}
/* Définir la police et la taille pour le titre h3 */
h3 {
    font-family: Arial, sans-serif;  /* Utilise la police Arial */
    font-size: 15px;  /* Définit la taille de la police à 15 pixels */
    font-weight: bold;
    color: #FF5733 ;  /* Couleur plus légère que le h1 */
    margin-bottom: 15px;  /* Ajuster le marging en fonction de la mise en page souhaitée */
}

/* Définir la police et la taille pour le texte principal */
body, p {
   font-family: Arial, sans-serif;  /* Utilise la police Arial pour le texte principal */
   font-size: 20px;  /* Définit la taille de la police à 20 pixels */
   color: #000000;  /* Définir la couleur du texte principale, noire par exemple */
   line-height: 1.6;  /* Ajuste l'espacement des lignes pour améliorer la lisibilité */
}
/* ... autres styles ... */



.menu-options {
    list-style-type: none; /* Supprime les puces */
    padding: 0;
    margin: 0;
}
a {
    all: unset; /* Réinitialise tous les styles par défaut */
}

.menu-item {
    all: unset; /* Réinitialise tous les styles pour cette classe */
    font-family: Arial, sans-serif;
    font-size: 20px;
    color: #FF5733 ;
    text-decoration: none; /* Supprime les soulignements */
    cursor: pointer;
}

.menu-item:hover {
    color: #ff9680;
    text-decoration: underline;
}

/* Appliquer des styles globaux à tous les labels */
label {
    font-family: Arial, sans-serif;  /* Police Arial pour tous les labels */
    font-size: 15px;  /* Taille de la police */
    color: #000000;  /* Couleur noire pour le texte */
}

/* Appliquer des styles globaux à tous les champs de saisie (input) */
input[type="text"],
input[type="email"],
button {
    font-family: Arial, sans-serif;  /* Police Arial pour les champs de saisie */
    font-size: 15px;  /* Taille de la police */
    padding: 5px;  /* Espacement interne pour les champs */
    margin-bottom: 10px;  /* Espacement inférieur pour l'espacement entre les champs */
}

/* Appliquer des styles spécifiques au bouton */
button {
    font-family: Arial, sans-serif;
    font-size: 15px;  /* Légèrement plus grand pour les boutons */
    background-color: #FF5733 ;  /* Couleur de fond du bouton */
    color: #ffffff;  /* Couleur du texte du bouton */
    border: none;  /* Supprime la bordure par défaut */
    padding: 10px 20px;  /* Espacement interne pour donner de la consistance au bouton */
    cursor: pointer;  /* Change le curseur en "main" */
    transition: background-color 0.3s;  /* Transition douce pour le changement de couleur */
}

button:hover {
    background-color: #ff9680;  /* Couleur lors du survol */
}

a {
    text-decoration: none; /* Supprime le souligné par défaut */
    font-family: inherit; /* Hérite de la police du parent */
}

a.forgot-password {
    font-family: Arial, sans-serif;
    font-size: 12px;
    font-style: italic;
    text-decoration: underline;
    color: blue;
}
.success {
    color: green;
    margin-top: 10px;
}
.error {
    color: red;
    margin-top: 10px;
}
/* Style pour les tags des contacts présents */
.contact-tag {
    display: inline-flex;
    align-items: center;
    background-color: #e0e0e0;
    border-radius: 15px;
    padding: 5px 10px;
    margin: 5px;
}

.contact-tag:hover {
    background-color: #d6d6d6; /* Légère variation au survol */
}

.remove-contact {
    background: none;
    border: none;
    color: red;
    font-size: 16px;
    font-weight: bold;
    margin-left: 10px;
    cursor: pointer;
}

.remove-contact:hover {
    color: darkred;
}
/* Largeur totale du tableau */
.tableau-liens {
    width: 100%; /* S'adapte à 100% de l'espace disponible */
    max-width: 1000px; /* Largeur maximale */
    margin: 20px auto; /* Centre le tableau avec des marges */
    border-collapse: collapse; /* Fusionne les bordures */
}

/* Bordure et espacement des cellules */
.tableau-liens th,
.tableau-liens td {
    border: 1px solid #ddd; /* Bordure des cellules */
    padding: 8px; /* Espacement interne */
    text-align: left; /* Alignement du texte */
/* Style des liens */
}
.tableau-liens thead th {
    background-color: #fca794; /* Couleur de fond */
    color: white; /* Couleur du texte */
    font-family: Arial, sans-serif; /* Police */
    font-size: 15px; /* Taille du texte */
    font-weight: bold; /* Gras */
    text-align: center; /* Alignement du texte */
}
/* Style des liens dans le tableau */
.tableau-liens th a {
    color: white; /* Couleur du texte des liens */
    text-decoration: none; /* Supprime le soulignement */
}

/* Style au survol des liens */
.tableau-liens th a:hover {
    color: #ccc; /* Couleur du texte au survol */
}

/* Largeur totale du tableau */
.tableau-activites {
    width: 100%; /* S'adapte à 100% de l'espace disponible */
    max-width: 1000px; /* Largeur maximale */
    margin: 20px auto; /* Centre le tableau avec des marges */
    border-collapse: collapse; /* Fusionne les bordures */
}

/* Bordure et espacement des cellules */
.tableau-activites th,
.tableau-activites td {
    border: 1px solid #ddd; /* Bordure des cellules */
    padding: 8px; /* Espacement interne */
    text-align: left; /* Alignement du texte */
    vertical-align: top; /* Aligne le contenu en haut */
}
.tableau-activites tbody tr {
    height: auto; /* Ajuste automatiquement la hauteur en fonction du contenu */
}

/* Style des en-têtes */
.tableau-activites thead th {
    background-color: #fca794; /* Couleur de fond */
    color: white; /* Couleur du texte */
    font-family: Arial, sans-serif; /* Police */
    font-size: 15px; /* Taille du texte */
    font-weight: bold; /* Gras */
}
/* Style des lignes du corps */
.tableau-activites tbody td {
    font-family: Arial, sans-serif; /* Police */
    font-size: 14px; /* Taille du texte */
    color: #17202a; /* Couleur du texte */
}
/* Alternance des couleurs de lignes */
.tableau-activites tbody tr:nth-child(even) {
    background-color: #f9f9f9; /* Fond clair pour les lignes paires */
}
.tableau-activites tbody tr:nth-child(odd) {
    background-color: #ffffff; /* Fond blanc pour les lignes impaires */
}
/* Mettre en rouge les dates dépassées */
.tableau-activites tbody tr.expired td {
    background-color: #ffcccc; /* Fond rouge clair */
    color: #a94442; /* Texte rouge foncé */
}
/* Table générale */
.tableau-activites {
    width: 100%; /* Prend toute la largeur disponible */
    border-collapse: collapse;
    table-layout: fixed; /* Force les colonnes à avoir une largeur fixe */
}

/* Colonnes */
.tableau-activites th, .tableau-activites td {
    word-wrap: break-word; /* Force le passage à la ligne */
    overflow-wrap: break-word; /* Support pour les navigateurs modernes */
    white-space: pre-wrap; /* Conserve les sauts de ligne et force le retour à la ligne si nécessaire */
    text-align: left; /* Alignement du texte à gauche */
    padding: 8px;
    border: 1px solid #ddd; /* Bordure des cellules */
    vertical-align: top; /* Assure que tout le contenu est aligné en haut */
}

/* Pour la colonne contenant la date */
.tableau-activites td:first-child {
    vertical-align: top; /* Positionne la date en haut */
    text-align: left;    /* Alignement du texte à gauche */
    width: 20%;          /* Fixe une largeur pour la colonne date */
}

/* Pour les vues sur mobile */
@media screen and (max-width: 768px) {
    .tableau-activites th, .tableau-activites td {
        font-size: 14px; /* Réduit la taille du texte sur mobile */
        padding: 6px; /* Réduit les marges sur mobile */
    }

    .tableau-activites {
        font-size: 12px; /* Réduction de la taille globale pour s'adapter aux petits écrans */
    }
}

.content-container .company-info {
    font-family: Arial, sans-serif;
    font-size: 15px;
    color: #000000;
    font-weight: bold; /* Gras */
}
/* Style général pour le formulaire */
form {
    max-width: 1000px; /* Largeur maximale du formulaire */
    margin: 0 auto; /* Centrer le formulaire */
	padding: 0; /* Supprime les paddings internes */
}

/* Conteneur pour chaque champ */
form .form-group {
    display: flex; /* Active le mode flexbox */
    align-items: center; /* Aligne verticalement au centre */
    margin-bottom: 15px; /* Espacement entre les champs */
}

/* Style des labels */
form label {
    width: 150px; /* Largeur fixe des labels */
    margin-right: 10px; /* Espacement entre le label et l'input */
    text-align: right; /* Aligne le texte à droite */
    font-weight: bold; /* Met en gras */
}

/* Style des inputs et selects */
form input[type="text"],
form input[type="email"],
form input[type="tel"],
form select {
    flex: 1; /* Les inputs prennent l'espace restant */
    padding: 10px; /* Espacement interne */
    font-size: 14px; /* Taille de la police */
    border: 1px solid #ccc; /* Bordure */
    border-radius: 4px; /* Coins arrondis */
}

/* Style pour les checkboxes */
form input[type="checkbox"] {
    width: auto; /* Ajuste la largeur pour les cases à cocher */
    margin-left: 0; /* Supprime les marges excessives */
}
.form-group {
    display: flex;
    align-items: center;
}

.form-group label {
    margin-left: 5px;
}


/* Style pour le bouton */
form button {
    background-color: #ff5733; /* Couleur de fond ff5733*/
    color: white; /* Couleur du texte */
    padding: 10px 20px; /* Espacement interne */
    font-size: 16px; /* Taille de la police */
    border: none; /* Supprime les bordures */
    border-radius: 4px; /* Coins arrondis */
    cursor: pointer; /* Pointeur au survol */
    display: block;
    margin: 20px auto; /* Centre le bouton */
}

form button:hover {
    background-color: #fca794; /* Couleur au survol */
}
/* Assurer un bon espacement et alignement */
.form-group-inline {
    display: flex;
    gap: 20px;
    flex-wrap: wrap; /* Permet le retour à la ligne si l'espace est insuffisant */
    align-items: center; /* Aligner les éléments verticalement */
}

/* Assurer que chaque champ prend une largeur suffisante */
.form-group-inline .form-group {
    flex: 1; /* Permet aux champs de prendre une taille équivalente */
    min-width: 150px; /* Évite que les champs deviennent trop étroits */
}

/* Empêcher les labels de passer sur deux lignes */
.form-group label {
    white-space: nowrap; /* Le texte du label ne passe pas à la ligne */
    display: block;
    margin-bottom: 5px;
}

/* Assurer une largeur uniforme des champs */
.form-group input {
    width: 100%; /* Remplit tout l’espace disponible */
    padding: 8px;
    box-sizing: border-box;
}

/* Tableau avec tri*/
.tableau-activites th a {
    text-decoration: none;
    color: #000; /* Couleur du texte */
}

.tableau-activites th a:hover {
    color: #ff5733 /* Couleur au survol */
}

.button {
    display: block;
    margin: 20px auto;
    padding: 10px 20px;
    background-color: #ff5733
    color: #fff;
    text-align: center;
    text-decoration: none;
    border-radius: 5px;
	line-height: normal; /* Assure une hauteur de ligne cohérente */
}

.button:hover {
    background-color: #0056b3;
}
.tableau-activites th {
    position: relative; /* Nécessaire pour positionner les icônes */
    background-color: #ff5733 /* Fond bleu */
    color: white; /* Texte blanc */
    font-family: Arial, sans-serif; /* Police */
    font-size: 15px; /* Taille du texte */
    font-weight: bold; /* Texte en gras */
    text-align: left; /* Alignement gauche */
    padding: 10px; /* Espacement interne */
}

.tableau-activites th a {
    color: white;
    text-decoration: none;
    display: inline-flex;
    align-items: center; /* Aligner texte et icône */
}

.tableau-activites th a:hover {
    color: #FFD700; /* Couleur dorée au survol */
}

.tableau-activites th a .sort-icon {
    margin-left: 5px; /* Espacement entre texte et icône */
    width: 10px; /* Largeur de l'icône */
    height: 10px; /* Hauteur de l'icône */
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
/* Rétablir les styles pour les liens dans le tableau des activités */
.tableau-activites a {
    color: #ff5733 /* Couleur bleue pour les liens */
    text-decoration: underline; /* Ajoute un soulignement pour indiquer qu'il s'agit d'un lien */
    font-weight: bold; /* Met en gras pour plus de visibilité */
    cursor: pointer; /* Pointeur en forme de main au survol */
}

.tableau-activites a:hover {
    color: #0056b3; /* Couleur plus sombre au survol */
    text-decoration: none; /* Supprime le soulignement au survol */
}

.tableau-activites th a .sort-icon.asc {
    background-image: url('icons/sort-asc.png'); /* Icône tri ascendant */
}

.tableau-activites th a .sort-icon.desc {
    background-image: url('icons/sort-desc.png'); /* Icône tri descendant */
}

.tableau-activites th a .sort-icon.none {
    background-image: url('icons/sort-none.png'); /* Icône non trié */
}
/*Bouton de suppression*/
.delete-button {
    background-color: red;
    color: white;
    border: none;
    padding: 5px 10px;
    cursor: pointer;
    border-radius: 5px;
}

.delete-button:hover {
    background-color: darkred;
}

	.message-container {
    border: 1px solid #ccc; /* Bordure pour encadrer le message */
    border-radius: 5px; /* Coins arrondis pour une meilleure esthétique */
    background-color: #f9f9f9; /* Couleur de fond identique aux messages */
    padding: 10px; /* Espacement interne pour l'esthétique */
    margin: 10px 0; /* Espacement autour du conteneur */
    width: 100%; /* Occupe toute la largeur disponible */
    max-height: 300px; /* Définissez une hauteur adaptée */
    box-sizing: border-box; /* Inclut le padding dans les dimensions */
	overflow-y: auto; /* Active le défilement vertical si le contenu dépasse la hauteur */
    box-sizing: border-box; /* Inclut le padding dans les dimensions */
    word-wrap: break-word; /* Force les mots longs à être coupés */
    overflow-wrap: break-word; /* Gestion supplémentaire des débordements */
}
    .message-header {
        font-weight: bold;
        margin-bottom: 10px;
    }

.message-text {
    white-space: pre-wrap; /* Préserve les sauts de ligne */
    font-family: Arial, sans-serif;
    font-size: 14px;
    color: #333;
    margin: 0; /* Supprime les marges qui pourraient causer un décalage */
    padding: 0; /* Supprime tout padding par défaut */
    text-indent: 0; /* Supprime l'indentation des premières lignes */
    }
	textarea.message-text {
    border: none; /* Supprime les bordures du champ */
    width: 100%; /* Prend toute la largeur du conteneur */
    height: 100%; /* Prend toute la hauteur du conteneur */
    resize: none; /* Désactive le redimensionnement */
    font-family: Arial, sans-serif; /* Utilise la même police que les messages */
    font-size: 14px; /* Taille identique aux messages */
    padding: 10px; /* Espacement interne pour plus de confort */
    box-sizing: border-box; /* Inclut le padding dans la largeur/hauteur */
    background-color: #f9f9f9; /* Fond similaire aux messages */
}
/*réduire les marges des formulaires de suppression*/
form {
    margin: 0;
    padding: 0;
}

button {
    margin: 0;
    padding: 5px 10px;
}
.view-link {
    color:  #FF5733 ;
}

.report-link {
    color:  #FF5733 ;
}

.delete-link {
    color: red;
    font-weight: bold;
}

.delete-link:hover {
    text-decoration: underline;
}
.planning-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 20px;
    table-layout: fixed;
}

.planning-table th, .planning-table td {
    border: 1px solid #ddd;
    text-align: center;
    vertical-align: middle;
    padding: 10px;
}

.planning-table th {
    background-color: #f4f4f4;
    font-weight: bold;
}

.planning-table .time-label {
    background-color: #f0f0f0;
    font-weight: bold;
    width: 80px;
}

.planning-table .appointment-cell {
    background-color: #e0f7fa;
    color: #00796b;
    font-weight: bold;
    text-align: left;
    padding: 10px;
    border-left: 4px solid #00796b;
}

.planning-table .appointment-cell:hover {
    background-color: #b2ebf2;
}
/* Style pour le champ de commentaire */
textarea[name="commentaire"] {
    flex: 1; /* Permet au champ de s'étendre pour s'aligner avec les autres */
    padding: 10px; /* Espacement interne */
    font-size: 14px; /* Taille du texte */
    border: 1px solid #ccc; /* Bordure similaire aux autres champs */
    border-radius: 4px; /* Coins arrondis */
    height: 120px; /* Hauteur correspondant à environ 5 lignes */
    resize: none; /* Désactive le redimensionnement manuel */
    box-sizing: border-box; /* Inclut le padding et la bordure dans la largeur et la hauteur */
    width: 100%; /* Occupe toute la largeur du conteneur */
    background-color: #f9f9f9; /* Fond similaire aux autres champs */
}

/* Ajout d'un espacement cohérent pour les formulaires */
.form-group textarea {
    width: 100%; /* Pour s'assurer que le champ s'adapte au conteneur */
}
.success-message {
    color: green;
    font-weight: bold;
    text-align: center;
    margin-top: 10px;
    background-color: #e6ffe6;
    padding: 10px;
    border-radius: 5px;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
}
.button-container {
    display: flex;
    justify-content: center;
    margin-top: 20px;
}

.btn-suivant {
    display: inline-block;
    background-color: #ff5733 /* Bleu */
    color: white;
    font-size: 18px;
    font-weight: bold;
    padding: 12px 20px;
    border-radius: 5px;
    text-decoration: none;
    transition: background-color 0.3s ease;
}

.btn-suivant:hover {
    background-color: #0056b3; /* Bleu plus foncé au survol */
}
.absence-prod-container {
    display: flex;
    align-items: center; /* Aligne verticalement le texte et la case à cocher */
    gap: 10px; /* Ajoute un espacement entre le texte et la case */
}

.absence-prod-container h3 {
    margin: 0; /* Supprime la marge par défaut du titre */
    font-size: 18px; /* Ajuste la taille pour correspondre au design */
}

.absence-prod-container input[type="checkbox"] {
    transform: scale(1.2); /* Agrandit la case à cocher pour plus de visibilité */
    cursor: pointer;
}
#new-client-form {
    width: 100%;
    max-width: 500px; /* Ajustez selon vos besoins */
    margin: 0 auto; /* Centre le formulaire */
}

#new-client-form .form-group-inline {
    display: flex;
    flex-wrap: wrap; /* Permet le passage à la ligne sur petits écrans */
    gap: 10px;
    justify-content: center; /* Centre les éléments horizontalement */
}

#new-client-form .form-group {
    flex: 1 1 45%; /* Ajuste la largeur des champs */
    min-width: 200px; /* Évite que les champs deviennent trop petits */
}

#create-client-button {
    display: block;
    width: 100%;
    max-width: 150px;
    margin: 10px auto; /* Centre le bouton */
    padding: 10px;
    text-align: center;
}
/* Conteneur des boutons de navigation */
.navigation-container {
    display: flex;
    justify-content: center;
    gap: 20px; /* Espacement entre les boutons */
    margin-top: 20px;
}
.week-navigation {
    display: flex;
    justify-content: space-between;
    margin-top: 20px;
}

.week-navigation .nav-button {
    padding: 10px 20px;
    background: #ddd;
    text-decoration: none;
    border-radius: 5px;
    color: #000;
    cursor: pointer; /* Le curseur devient une main */
}

.week-navigation .nav-button:hover {
    background: #ccc;
}


/* Style spécifique pour les boutons de navigation */
.navigation-container .button {
    padding: 10px 20px;
    font-size: 16px;
    background-color: #FF5733 ;
    color: white;
    border-radius: 5px;
    text-decoration: none;
    font-weight: bold;
    text-align: center;
    transition: background 0.3s;
}

.navigation-container .button:hover {
    background-color: #ff9680;
}
.export-container {
    display: flex;
    justify-content: center;
    margin-top: 20px;
}

.export-button {
    padding: 10px 20px;
    font-size: 16px;
    background-color: #28a745;
    color: white;
    border-radius: 5px;
    text-decoration: none;
    font-weight: bold;
    text-align: center;
    border: none;
    cursor: pointer;
    transition: background 0.3s;
}

.export-button:hover {
    background-color: #218838;
}
.dashed-line {
    border: none;
    border-top: 1px dashed grey;
    margin: 20px 0 50px 0; /* 20px en haut, 30px en bas */
    width: 100%;
}
.appointment-cell {
    background-color: #e0f7fa;
    color: #00796b;
    font-weight: bold;
    text-align: left;
    padding: 10px;
    border-left: 4px solid #00796b;
    cursor: pointer; /* Le curseur devient une main */
}
.appointment-block {
    margin: 2px;
    padding: 2px;
    color: #000;
    font-weight: bold;
    border-radius: 3px;
}

.appointment-block a {
    color: inherit;
    text-decoration: none;
}

.appointment-block a:hover {
    text-decoration: underline;
}

.planning-table td.day-cell {
    position: relative;
    vertical-align: top;
    border: 1px solid #ccc;
    /* Le fond reproduit un repère toutes les 30px :
       - 30px transparents
       - puis une bande de 1px (#ddd) */
    background: repeating-linear-gradient(to bottom, transparent, transparent 30px, #ddd 30px, #ddd 31px);
    /* On limite le dessin du fond à l’intérieur du padding pour éviter d’inclure la bordure */
    background-clip: padding-box;
}
#myfooter p {
    color: #ffffff !important; /* Blanc */
    font-weight: bold; /* Texte en gras */
}
/* Style du menu de navigation */
.scroll-menu {
    background: #fca794;
    position: fixed;
    top: 100px; /* hauteur du header */
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    max-width: 1200px; /* même largeur que le header */
    z-index: 990;
}


.scroll-menu ul {
    margin: 0;
    padding: 10px;
    list-style: none;
    display: flex;
    justify-content: space-around;
}

.scroll-menu ul li a {
    color: #fff;
    text-decoration: none;
    font-weight: bold;
	font-size: 14px; /* Ajustez cette valeur selon la taille souhaitée */
    font-family: Arial, sans-serif; /* Facultatif : définir une police spécifique */
	cursor: pointer;
}

.view-user-content {
    margin-top: 100px; /* Par exemple, 100px (header) + 50px (sous-menu) */
}
.modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}
.modal-content {
    background: #fff;
    padding: 20px;
    border-radius: 5px;
    max-width: 90%;
    box-shadow: 0 2px 10px rgba(0,0,0,0.5);
}
.center-img{ display:block; margin-left:auto; margin-right:auto; }

/* ------------ upload photo ------------ */
.photo-upload {
  display: flex;
  align-items: center;
  justify-content: space-between; /* label ↔ bouton */
  flex-wrap: nowrap;               /* jamais de retour à la ligne */
    /* ↓ ces deux lignes centrent le bloc */
  width: max-content;  /* dimensionne le conteneur à la taille de son contenu */
  margin: 0 auto;      /* centre le bloc horizontalement */
}

.photo-upload .photo-label {
  /* cibler uniquement le label texte (pas le bouton) */
  flex: 1;             /* prend tout l’espace restant */
  margin-right: 10px;  /* écarte du bouton */
  white-space: normal; /* autorise le retour à la ligne du texte */
  width: auto !important; /* annule le width:150px de ‘form label’ */
}

.photo-upload .photo-input {
  display: none;       /* on cache l’input file natif */
}

.photo-upload .photo-button {
  flex: 0 0 auto;      /* ne grossit pas, ne rétrécit pas */
  width: 36px !important;
  height: 36px !important;  
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #f0f0f0;
  border-radius: 50%;
  cursor: pointer;
  transition: background .2s;
}

.photo-upload .photo-button:hover {
  background: #e0e0e0;
}

/* Si vous utilisez une <img> ou un <svg> à l’intérieur : */
.photo-upload .photo-button img,
.photo-upload .photo-button svg {
  max-width: 70%;  /* pour garder une marge interne */
  max-height: 70%;
}
/* Message d'erreur */
.alert {
    padding: 12px 20px;
    border-radius: 6px;
    font-weight: bold;
    margin: 15px 0;
    text-align: center;
    font-size: 1rem;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.alert-error {
    background-color: #FFD2D2;
    color: #D8000C;
    border: 1px solid #D8000C;
}

.alert-success {
    background-color: #DFF2BF;
    color: #4F8A10;
    border: 1px solid #4F8A10;
}
/* Miniature photo */
.photo-upload { display:flex; align-items:center; gap:14px; }
.photo-button {
  display:inline-flex; align-items:center; justify-content:center;
  width:56px; height:56px; border-radius:12px;
  border:1px solid #cfcfcf; background:#f7f7f7; cursor:pointer;
}
.photo-button:active { transform: scale(0.98); }
.photo-preview-wrapper { display:flex; align-items:center; }
.photo-thumb {
  width:96px; height:96px; object-fit:cover;
  border-radius:10px; border:1px solid #e0e0e0;
}
/* Les retours à la ligne dans le code ne doivent pas créer de sauts visibles */
.tableau-activites th,
.tableau-activites td { 
  white-space: normal !important;   /* annule un éventuel pre/pre-line global */
  line-height: 1.3; 
  vertical-align: middle;
}

/* Évite les effets de baseline quand le premier enfant est sur la ligne suivante */
.tableau-activites td > a,
.tableau-activites td > img,
.tableau-activites td > span,
.tableau-activites td > div {
  display: inline-block;
  vertical-align: middle;
}

/* ======== CR VISITE – UI MODERNE ======== */
:root{
  --brand:#FF5733;
  --ok:#1e7e34;      /* vert */
  --warn:#b8860b;    /* ocre */
  --no:#b00020;      /* rouge */
  --muted:#6b7280;   /* gris */
  --card:#ffffff;
  --card-border:#e5e7eb;
  --chip-bg:#f3f4f6;
}

/* Sommaire (sous le header) */
.report-nav {
  position: sticky; top: 110px; z-index: 980;
  background: #fff; border: 1px solid var(--card-border);
  border-radius: 10px; padding: 8px 12px; margin: 10px 0 20px;
}
.report-nav a { margin-right: 10px; font-size: 14px; color: var(--brand); text-decoration: none; }
.report-nav a:hover { text-decoration: underline; }

.report-toolbar { display:flex; gap:10px; justify-content:flex-end; margin:10px 0 15px; }
.report-toolbar .btn {
  background: var(--brand); color:#fff; border:none; padding:8px 12px; border-radius:8px; cursor:pointer;
}
.report-toolbar .btn:hover { opacity:.9; }

/* Sections par type */
.equip-type-section { margin: 28px 0; }
.equip-type-title { display:flex; align-items:center; gap:10px; margin:8px 0 12px; }
.equip-type-title .count { font-size: 12px; color: var(--muted); }

/* Carte équipement sous forme d'accordion */
.equip-card { 
  border:1px solid var(--card-border); border-radius:14px; background:var(--card); margin:12px 0; overflow:hidden;
}
.equip-card--absent { border-style:dashed; background: #fff7f7; }

.equip-card > summary {
  list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between;
  gap:12px; padding:12px 14px; background:linear-gradient(0deg,#fff, #fff);
}
.equip-card > summary::-webkit-details-marker { display:none; }

.equip-heading-left { display:flex; align-items:center; gap:14px; min-width:0; }
.equip-title { font-weight:700; color:#111; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.equip-sub { font-size:13px; color:var(--muted); }
.chips { display:flex; flex-wrap:wrap; gap:6px; justify-content:flex-end; }

.chip {
  display:inline-flex; align-items:center; gap:6px;
  font-size:12px; padding:4px 8px; border-radius:999px;
  background:var(--chip-bg); color:#111; border:1px solid #e5e7eb;
}
.chip--ok   { background:#e8f6ee; color:var(--ok);   border-color:#cfe9da; }
.chip--warn { background:#fff6db; color:var(--warn); border-color:#f2e4ad; }
.chip--no   { background:#ffe8e8; color:var(--no);   border-color:#f5bcbc; }
.chip--link a { color:inherit; text-decoration:underline; }

.equip-body { padding:14px; border-top:1px solid var(--card-border); }
.equip-grid {
  display:grid; grid-template-columns: 180px 1fr; gap:16px;
}
@media (max-width: 800px){
  .equip-grid { grid-template-columns: 1fr; }
}

/* Colonne image */
.media {
  display:flex; align-items:flex-start; justify-content:center;
}
.media .thumb-photo { width: 140px; height: 140px; object-fit: cover; border-radius: 10px; }
.media .no-photo { color: var(--muted); font-size: 13px; }

/* Colonne infos */
.info-columns {
  display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px;
}
@media (max-width: 900px){
  .info-columns { grid-template-columns: 1fr; }
}

/* Paire label/valeur avec <dl> */
.kv { margin:0; }
.kv-row { display:grid; grid-template-columns: 180px 1fr; align-items:center; padding:6px 0; border-bottom:1px dashed #eee; }
.kv-row:last-child { border-bottom:none; }
.kv-row dt { color:#374151; font-weight:600; font-size:14px; }
.kv-row dd { margin:0; font-size:14px; color:#111; }

/* Sous-blocs */
.block { border:1px solid #f0f0f0; border-radius:10px; padding:10px; }
.block h4 { margin:0 0 8px; font-size:14px; color:#111; }

/* Formulaire remarque */
.remark-form textarea { width:100%; min-height:80px; }
.remark-form button { margin-top:8px; }

/* Impression */
@media print {
  header, .scroll-menu, .report-nav, .report-toolbar, .modal-overlay, footer { display:none !important; }
  .content-container { margin:0; padding:0; max-width: none; }
  .equip-card { break-inside: avoid; border:1px solid #ddd; }
  .chip { border:1px solid #ccc; }
}

/* === PATCH CREA_CLIENT (2025-10-08) — Champs + grands, tablette ok === */

/* Formulaire plus large par défaut */
#new-client-form {
  max-width: min(100%, 980px);
}

/* Champs confortables : taille police >=16px, padding et hauteur */
#new-client-form input[type="text"],
#new-client-form input[type="email"],
#new-client-form input[type="tel"],
#new-client-form select,
#new-client-form textarea {
  font-size: 18px;            /* évite le zoom iOS et améliore la lisibilité */
  line-height: 1.3;
  padding: 12px 14px;
  min-height: 48px;
  width: 100%;                 /* occupe toute la largeur disponible du conteneur */
  box-sizing: border-box;
}

/* Labels lisibles */
#new-client-form label {
  font-size: 16px;
}

/* ------- Petits écrans & tablettes (jusqu'à 1023px) ------- */
/* Sur tablette: on empile label + champ = largeurs maximales */
@media (max-width: 1023px) {
  #new-client-form .form-group {
    flex-direction: column;     /* label au-dessus de l'input */
    align-items: stretch;
  }
  #new-client-form label {
    width: 100%;
    text-align: left;           /* plus naturel en colonne */
    margin: 0 0 6px 0;
  }
  #new-client-form .form-group-inline {
    gap: 14px;                  /* espace confortable entre les champs */
  }
}

/* ------- Desktop (>=1024px) ------- */
/* 2 colonnes confortables, avec labels à gauche */
@media (min-width: 1024px) {
  #new-client-form { max-width: 1000px; }
  #new-client-form .form-group-inline .form-group {
    flex: 1 1 calc(50% - 12px);  /* deux colonnes équilibrées */
    min-width: 420px;            /* évite les champs étroits même si l'espace se resserre */
  }
  #new-client-form .form-group {
    display: flex;
    align-items: center;
  }
  #new-client-form label {
    width: 180px;                /* un peu plus large que 150px pour éviter les retours */
    margin-right: 12px;
    text-align: right;
  }
}

/* Bouton: largeur auto mais touch-friendly */
#new-client-form #create-client-button,
#new-client-form button[type="submit"] {
  font-size: 18px;
  padding: 12px 20px;
  min-height: 48px;
}

  /* Labels toujours sur la 1ère rangée */
  #new-client-form .form-group-inline label {
    grid-row: 1;
    margin: 0 0 6px 0;   /* un petit espace sous le label */
    word-break: break-word;
    hyphens: auto;
  }

  /* Champs toujours sur la 2ème rangée */
  #new-client-form .form-group-inline input[type="text"],
  #new-client-form .form-group-inline input[type="email"],
  #new-client-form .form-group-inline input[type="tel"],
  #new-client-form .form-group-inline select,
  #new-client-form .form-group-inline textarea {
    grid-row: 2;
    width: 100%;
    box-sizing: border-box;
  }
}

/* Mobile étroit : on repasse à 1 colonne (label au-dessus du champ, pour chaque groupe) */
@media (max-width: 640px) {
  #new-client-form .form-group-inline {
    display: grid;
    grid-template-columns: 1fr; /* une seule colonne */
    row-gap: 10px;
  }
  #new-client-form .form-group { display: contents; }
  #new-client-form .form-group-inline label  { grid-row: auto; }
  #new-client-form .form-group-inline input[type="text"],
  #new-client-form .form-group-inline input[type="email"],
  #new-client-form .form-group-inline input[type="tel"],
  #new-client-form .form-group-inline select,
  #new-client-form .form-group-inline textarea { grid-row: auto; }
}

/* ---- Réduit l'espace label → champ sur MOBILE ---- */
@media (max-width: 640px) {
  /* était row-gap: 10px; */
  #new-client-form .form-group-inline { row-gap: 1px; }
  #new-client-form .form-group-inline label { margin-bottom: 0; }
}
/* === CREA_CLIENT — Espace label → champ compact et uniforme === */

/* 1) Labels : autoriser le retour à la ligne + réduire l’écart sous le label */
#new-client-form label {
  white-space: normal;        /* annule le white-space:nowrap global */
  margin-bottom: 2px !important;
}

/* 2) Annule les 5px hérités sur certains labels */
#new-client-form .form-group label { 
  margin-left: 0 !important;  /* remet l’alignement à gauche */
}

/* 3) Pas d’espace au-dessus des champs */
#new-client-form input[type="text"],
#new-client-form input[type="email"],
#new-client-form input[type="tel"],
#new-client-form input[type="number"],
#new-client-form select,
#new-client-form textarea {
  margin-top: 0 !important;
}

/* 4) Groupes isolés (ex. “Adresse”) en mode colonne : on serre aussi l’écart */
@media (max-width: 1023px) {
  #new-client-form .form-group {
    display: flex;
    flex-direction: column;
    row-gap: 2px;             /* espace label → champ */
  }
}

/* 5) Lignes par deux (tablette) : on garde l’espace serré */
@media (min-width: 641px) and (max-width: 1023px) {
  #new-client-form .form-group-inline { row-gap: 2px !important; }
}

  /* Labels au-dessus, serrés */
  #new-client-form .form-group-inline label {
    grid-row: auto !important;      /* annule grid-row:1 d’un patch précédent */
    width: 100% !important;
    text-align: left !important;
    margin: 0 0 2px 0 !important;   /* espace label → champ */
    white-space: normal !important; /* autorise le retour à la ligne */
  }

  /* Champs sous le label, pleine largeur, sans marge haute parasite */
  #new-client-form .form-group-inline input[type="text"],
  #new-client-form .form-group-inline input[type="email"],
  #new-client-form .form-group-inline input[type="tel"],
  #new-client-form .form-group-inline input[type="number"],
  #new-client-form .form-group-inline select,
  #new-client-form .form-group-inline textarea {
    grid-row: auto !important;      /* annule grid-row:2 */
    width: 100% !important;
    margin-top: 0 !important;
    box-sizing: border-box;
  }
}
/* === CREA_CLIENT — Forcer 1 colonne < 1024px, sans exception === */
@media (max-width: 1023px) {
  /* Le conteneur "par deux" redevient une pile */
  #new-client-form .form-group-inline {
    display: block !important;          /* annule grid/flex précédents */
  }

  /* Chaque champ : label au-dessus, champ dessous */
  #new-client-form .form-group {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;

    /* Neutralise l'ancien layout flex qui recrée 2 colonnes */
    flex: none !important;
    min-width: 0 !important;
    margin-bottom: 12px;
  }

  /* Labels serrés et à gauche */
  #new-client-form .form-group label {
    width: 100% !important;
    text-align: left !important;
    white-space: normal !important;
    margin: 0 0 4px 0 !important;
  }

  /* Champs pleine largeur, sans marge haute */
  #new-client-form .form-group input[type="text"],
  #new-client-form .form-group input[type="email"],
  #new-client-form .form-group input[type="tel"],
  #new-client-form .form-group input[type="number"],
  #new-client-form .form-group select,
  #new-client-form .form-group textarea {
    width: 100% !important;
    margin-top: 0 !important;
    box-sizing: border-box;
  }
}
/* === FIX CREA_CLIENT — 2 colonnes ≥1024px / 1 colonne <1024px === */

/* Le formulaire ne doit pas être bridé à 500px */
#new-client-form {
  max-width: min(100%, 1000px) !important;
}

/* Neutralise tout display:contents perdu qui casserait la grille */
#new-client-form .form-group {
  display: flex !important;
}

/* ===== Desktop (≥1024px) : 2 colonnes ===== */
@media (min-width: 1024px) {
  /* Le conteneur redevient un flex en lignes */
  #new-client-form .form-group-inline {
    display: flex !important;
    flex-wrap: wrap;
    gap: 20px;
  }

  /* Chaque groupe = une "colonne" (½ largeur) */
  #new-client-form .form-group {
    flex-direction: row !important;
    align-items: center !important;
    flex: 1 1 calc(50% - 12px) !important;
    min-width: 420px !important; /* évite la casse quand ça se resserre */
  }

  /* Label à gauche, champ à droite */
  #new-client-form label {
    width: 180px !important;
    text-align: right !important;
    margin: 0 12px 0 0 !important;
    white-space: normal !important; /* autorise le retour à la ligne */
  }
}

/* ===== Tablette + Mobile (<1024px) : 1 colonne ===== */
@media (max-width: 1023px) {
  #new-client-form .form-group-inline {
    display: block !important;       /* pas de grille/flex à 2 colonnes */
  }
  #new-client-form .form-group {
    flex-direction: column !important;
    align-items: stretch !important;
    flex: none !important;
    min-width: 0 !important;
    margin-bottom: 12px;
  }
  #new-client-form label {
    width: 100% !important;
    text-align: left !important;
    margin: 0 0 4px 0 !important;    /* espace label → champ */
    white-space: normal !important;
  }
}

/* === CREA_CLIENT — Desktop large: champs plus larges sans toucher au HTML === */
@media (min-width: 1024px) {
  /* Formulaire plus large (aligne-toi sur ton container à 1200px) */
  #new-client-form { 
    max-width: 1200px !important; 
  }

  /* 2 vraies colonnes fluides : chaque colonne a une largeur mini confortable */
  #new-client-form .form-group-inline {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(520px, 1fr)); /* ≥ ~520px par colonne */
    gap: 20px 24px; /* lignes / colonnes */
    align-items: start;
  }

  /* Dans chaque groupe : grille Label | Champ (le champ prend tout le reste) */
  #new-client-form .form-group {
    display: grid !important;
    grid-template-columns: 160px minmax(0, 1fr); /* label plus compact */
    column-gap: 12px;
    align-items: center;

    /* neutralise les restes de flex */
    flex: none !important;
    min-width: 0 !important;
  }

  /* Label : peut aller sur 2 lignes si besoin, pas de marge parasite */
  #new-client-form .form-group label {
    white-space: normal !important;
    text-align: right !important;
    margin: 0 !important;
  }

  /* Champs : pleine largeur de leur colonne */
  #new-client-form .form-group input[type="text"],
  #new-client-form .form-group input[type="email"],
  #new-client-form .form-group input[type="tel"],
  #new-client-form .form-group select,
  #new-client-form .form-group textarea {
    width: 100% !important;
    min-width: 0 !important; /* évite tout rétrécissement bizarre */
  }
}
/* === CREA_CLIENT — Fix label "Adresse" qui passe sous la case (desktop) === */
@media (min-width: 1024px) {
  /* 1) Ne casse pas les mots des labels en desktop */
  #new-client-form .form-group label {
    word-break: normal !important;
    overflow-wrap: normal !important; /* annule le break-word */
    hyphens: manual !important;       /* pas de césure auto */
    white-space: normal !important;    /* autorise un retour si VRAIMENT nécessaire */
  }

  /* 2) Aligne le haut du label et du champ (évite que la 2e ligne du label descende sous l’input) */
  #new-client-form .form-group {
    align-items: start !important;     /* top align */
  }
  #new-client-form .form-group label,
  #new-client-form .form-group input[type="text"],
  #new-client-form .form-group input[type="email"],
  #new-client-form .form-group input[type="tel"],
  #new-client-form .form-group select,
  #new-client-form .form-group textarea {
    align-self: start !important;
  }

  /* 3) Donne un chouïa plus de place aux libellés (réduit les risques de retour) */
  #new-client-form .form-group {
    grid-template-columns: 190px minmax(0, 1fr) !important; /* était 160px */
  }
}
