﻿@charset "utf-8";

/* CSS Document */
body {
	/*background: #FFF url("../images/background-JvQR4g7.jpg") center top repeat fixed;  //Prod*/
	/*background : #FFE696;   !*WampServer Local*!*/
	background-color: #cccccc; /*F7C79E*/
    margin: 0;
	font-family:Verdana, Geneva, sans-serif;
	color: #195992;
	font-size: 0.8em;
	/* min-width (pas width fixe) : maintient le menu et le conteneur côte à côte sur mobile
	   (fidèle au layout SF1) sans brider les pages larges (.layout-wide max-width: 1500px) */
	min-width: 1000px;
}

img{
	border: 0;
}

a {
	text-decoration: none;
	color: #195992;
}

.impression {
	width: 790px;
	overflow: auto;
	margin-top: 10px;
	margin-left: 10px;
    padding: 10px;
}

input[type=submit]{
	background: #A9C606;
	border: 1px #000000 solid;
}

input[type=button]{
	background: #A9C606;
	border: 1px #000000 solid;
}

input[type=reset]{
	background: #A9C606;
	border: 1px #000000 solid;
}

ul {
	margin-top: 10px;
	margin-bottom: 10px;
}

.puces_menu ul {
	list-style-type: square;
	margin-left: 20px;
	margin-right: 0;
	padding-left: 0;
	padding-right: 0;
}

.puces_menu {
	list-style-type: square;
	color: #A9C606;
	font-size: 13px; /* Augmentation de la taille du menu */
}
	
textarea {
	font: 12px Arial, Helvetica, sans-serif;
}

input {
	font: 12px Arial, Helvetica, sans-serif;
}

.input20 {
	width:20px;
}

.input30 {
	width:30px;
}

.input40 {
	width:40px;
}

.input50 {
	width:50px;
}

.invisible {
	border-width: 0;
}

.tableau {
	border-width: 0;
	border-collapse: collapse;
}

.tableau .noborder  {
	border-style: solid;
	border-width: 0;
	background-color: #FFFFFF;
}

.tableau td {
	border-style: solid;
	border-width: 1px;
	border-color: #AAAAAA;
}

.tableau th {
	color: #000000;
	background-color: #EEEEEE;
	border-style: solid;
	border-width: 1px;
	border-color: #AAAAAA;
}

.tableau .line {
	background-color: #DDDDDD;
}

/* couleurs d'alerte pour le tableau (nuance à modifier ici... merci de garder les couleurs...) */
.tableau .yellow {
	background-color: #FF8;
}

.tableau .red {
	background-color: #F88;
}

.tableau .orange {
	background-color: #f7ab28;
}

.tableau .green {
	background-color: #8F8;
}

.tableau .blue {
	background-color: #88F;
}

.tableau .grey {
	background-color: #CCC;
}
.sortable {
	border-width: 0;
	border-collapse: collapse;
	/* font-size: 1em; */
}

.sortable .noborder  {
	border-style: solid;
	border-width: 0;
	background-color: #FFFFFF;
}

.sortable td {
	border-style: solid;
	border-width: 1px;
	border-color: #AAAAAA;
}

.sortable th {
	color: #000000;
	background-color: #EEEEEE;
	border-style: solid;
	border-width: 1px;
	border-color: #AAAAAA;
}

.sortable .line {
	background-color: #DDDDDD;
}

/* couleurs d'alerte pour le tableau (nuance à modifier ici... merci de garder les couleurs...) */
.sortable .yellow {
	background-color: #FF8;
}

.sortable .red {
	background-color: #F88;
}

.sortable .orange {
	background-color: #f7ab28;
}

.sortable .green {
	background-color: #8F8;
}

.sortable .blue {
	background-color: #88F;
}

.sortable .grey {
	background-color: #CCC;
}

.formulaire {
	width: 200px;
}

.cp {
	width: 35px;
}

.tel {
	width: 70px;
}

.ede {
	width: 56px;
}

.annee {
	width: 28px;
}

.news {
	width: 640px;
}

select {
	font: 12px Arial, Helvetica, sans-serif;
}

.entete {
	width: 950px;
}

.entete .login {
	width: 120px;
	border: 0;
}

.entete .logged {
	margin-right: 5px;
}

.entete a {
	text-decoration: none;
	color: #195992;
	font-weight: bold;
}

.entete a:hover {
	text-decoration: underline;
}

.pied {
	width: 1200px;
	padding-top: 10px;
	padding-bottom: 10px;
	float: left;
	font-size: 10px;
	text-align: center;
	background: url("../images/background-footer-FKSseLh.png");
}

.menu {
	margin-left: 10px;
	margin-right: 10px;
	width: 190px;
	float: left;
	margin-top: 10px;
}

.liens {
	overflow: auto;
	padding-bottom: 5px;
	background-color: #F3F0E5;
	color: #FFFFFF;
	font-size: 10px;
	border: 1px solid black;
}

.liens img {
	border: none;
}

.liens a {
	text-decoration: none;
	color: #195992;
}

#liens { overflow: visible; }
/*#liens .liens-content { max-height: 60vh; overflow: auto; }*/

/* Le header ne scrolle pas, il peut laisser dépasser les dropdowns */
#liens .menu-header {
    position: relative; /* contexte propre pour z-index si besoin */
    z-index: 1000;      /* au-dessus des éléments du menu */
    padding: 6px 8px;
}

/* On déplace le scroll ici plutôt que sur #liens */
#liens .liens-content {
    max-height: calc(100vh - 300px); /* ajustez selon votre layout */
    overflow: auto;
}

/* Augmenter la hauteur max du dropdown Tom Select */
.ts-wrapper.autocomplete-exploitation .ts-dropdown .ts-dropdown-content {
    max-height: 500px;
    overflow-y: auto;
}
/* Augmenter la police dropdown Tom Select */
.ts-wrapper.autocomplete-exploitation .ts-dropdown .option {
    font-size: 0.7rem;
    padding: 4px 8px;
}


.titres_liens {	
	background: url("../images/background-navigation-horizontale-D5tzYLH.jpg");
	padding-left: 5px;
	width: 2000px;
	color: #195992;
	font-size: 12px;
	font-weight:bold;
	border-bottom-color: #42596D;
	border-bottom: dotted;
	border-bottom-width: thin;
}

.conteneur {
	width: 790px;
	float: left;
    margin: 0 auto;
}

/*A mettre pour les pages larges {% block body_class %}layout-wide{% endblock %} */
.layout-wide { max-width: 1500px; }
/* Le conteneur flotte à droite du menu latéral (#menu : 190px + 2x10px de marge = ~210px).
   On réserve donc cette largeur (calc 100% - 220px) au lieu de 100%, sinon sur écran étroit
   (laptop 15") le conteneur trop large ne tient plus à côté du menu et passe dessous. */
.layout-wide .conteneur { max-width: 1200px; width: calc(100% - 220px); }
.layout-wide .conteneur .contenu { box-sizing: border-box; }

.titres_page {
	font-weight: bold;
	font-size: 18px;
	color: #A9C606;
}

.titreSection {
	font-weight: bold;
	font-size: 14px;
	color: #A9C606;
}

.conteneur .contenu {
	overflow: auto;	
	color: #666666;
	background-color: #FFFFFF;
	border: 1px solid black;
	margin-top: 10px;
	margin-left: 10px;
    padding: 10px;
}

.conteneur .bloc {
	width: 363px;
	overflow: auto;
	color: #666666;
	background-color: #FFFFFF;
	border: 1px solid black;
	margin-top: 10px;
	margin-left: 10px;
    padding: 10px;
}

.conteneur a {
	text-decoration: none;
	color: #195992;
	font-weight: bold;
}

.conteneur a:hover {
	text-decoration: underline;
}

.droite {
	position: absolute;
	top: 256px;
	left: 501px;
    padding: 10px;
}
/*formatage des messages d erreur pour les formulaires*/
.error_list {
	color: #FF0000;
	font-weight: bold;
}

/*champs input pour le login*/
.login {
	border-width:1px;
	width:120px;	
}

/*Titre en haut de page*/
.titre{
	color: #195992;
	font-family: Verdana, Geneva, sans-serif;
	font-size: 2em;
	font-style: italic;
}

/*champs lait dans le masque liste des pesées*/
.laitldp{
	width: 35px;
	text-align: right;
}

/*champs numéro dans le masque liste des pesées*/
.numldp{
	border-width: 0;
	width: 20px;
}
/*champs heure dans le masque liste des pesées*/
.heure{
	width: 40px;
}
/*champs date dans le masque liste des pesées*/
.dateLdp
{
	width: 75px;
}
/*champs de données dans Résultat laiterie*/
.saisieRL{
	width: 50px;
}
.actionEffectuee{color:green; font-weight:bold;}
.actionEchouee{color:red; font-weight:bold;}
.actionIndication{color:black; font-weight:bold;}

#DATexploitationErreur{background-color: #FFAAAA; text-align:center;}
#DATaImporter{text-align:center;}
#centrer{background-color:#bcd580; text-align:center;}

/* style pour popup tinyBox */
#tinybox {position:absolute; display:none; padding:10px; background:#fff url("../images/preload-8uWSIbO.gif") no-repeat 50% 50%; border:10px solid #e3e3e3; z-index:2000}
#tinymask {position:absolute; display:none; top:0; left:0; height:100%; width:100%; background:#000; z-index:1500}
#tinycontent {background:#fff}

/* Tableau scrollable avec en-tête fixe — approche moderne (position:sticky).
   L'ancienne approche SF1 (display:block sur thead/tbody) cassait la synchro
   des largeurs de colonnes entre entête et corps. Avec position:sticky, le
   tableau conserve son layout table natif et l'entête reste visible au scroll. */
.tableScroll {
	word-break: break-all;
	display: block;
	max-height: 28em;
	overflow-y: auto;
	font-size: 0.9em;
}
.tableScroll thead th {
	position: sticky;
	top: 0;
	z-index: 1;
	background: #eef3f8;
	/* Les bordures sur <tr>/<thead> ne sont pas peintes en sticky → appliquer
	   les traits directement sur les <th> via box-shadow (préserve l'alignement). */
	box-shadow: inset 0 1px 0 #888, inset 0 -2px 0 #195992;
}
.tableScroll tbody tr td {
	height: 20px;
}

/* style pour les tableaux sortable (plugin jquery.tablesorter)*/
/* table.tablesorter {
	font-size: 12px;
	background-color: #4D4D4D;
	width: 1024px;
	border: 1px solid #000;
}
table.tablesorter th {
	text-align: left;
	padding: 5px;
	background-color: #6E6E6E;
}
table.tablesorter td {
	color: #FFF;
	padding: 5px;
}
table.tablesorter .even {
	background-color: #3D3D3D;
}
table.tablesorter .odd {
	background-color: #6E6E6E;
} */
/* table.tablesorter .header {
	background-image: url(../js/jquery.tablesorter/themes/green/bg.png);
	background-repeat: no-repeat;
	border-left: 1px solid #FFF;
	border-right: 1px solid #000;
	border-top: 1px solid #FFF;
	padding-left: 30px;
	padding-top: 8px;
	height: auto;
} */
/* table.tablesorter .headerSortUp {
	background-image: url(../js/jquery.tablesorter/themes/green/asc.png);
	background-repeat: no-repeat;
}
table.tablesorter .headerSortDown {
	background-image: url(../js/jquery.tablesorter/themes/green/desc.png);
	background-repeat: no-repeat;
} */
/* pour indiquer à l'utilisateur une en-tête cliquable pour filtrer (jquery tablesorter) */
table.tablesorter thead th:hover{
	text-decoration: underline;
}

/* Espacement pour le formulaire de connexion */
.login-form-field {
    margin-bottom: 8px; /* Vous pouvez ajuster cette valeur (ex: 10px) */
}
.login-form-field:last-child {
    margin-bottom: 0; /* Pas de marge sur le dernier élément */
}

/* Classe utilitaire pour masquer un élément (équivalent à Bootstrap "display: none") */
/* Nécessaire pour le contrôleur Stimulus "toggle" */
.d-none {
    display: none !important;
}

/* Styles pour le champ de saisie du formulaire de réinitialisation de mot de passe */
.reset-password-input-row {
    margin-bottom: 15px; /* Espacement sous le champ de saisie */
}

/* Styles pour le bouton de soumission du formulaire de réinitialisation de mot de passe */
.reset-password-submit-button {
    /* Espacement */
    margin-top: 10px; /* Marge au-dessus du bouton */
    padding: 8px 15px; /* Padding interne du bouton */

    /* Apparence */
    background-color: #195992; /* Couleur de fond (bleu de votre thème) */
    color: #FFF; /* Couleur du texte */
    border: 1px solid #195992; /* Bordure */
    border-radius: 4px; /* Coins arrondis */
    cursor: pointer; /* Curseur pointeur au survol */
    font-size: 1em; /* Taille de police */
    font-weight: bold; /* Texte en gras */
}

.reset-password-submit-button:hover {
    background-color: #A9C606; /* Couleur de fond au survol (vert de votre thème) */
    border-color: #A9C606; /* Couleur de bordure au survol */
    color: #195992; /* Couleur du texte au survol */
}

/* Styles pour les messages Flash */
.flash-message {
    padding: 15px;
    margin-bottom: 20px;
    border: 1px solid transparent;
    border-radius: 4px;
}

.flash-success {
    color: #3c763d;
    background-color: #dff0d8;
    border-color: #d6e9c6;
}

.flash-error {
    color: #a94442;
    background-color: #f2dede;
    border-color: #ebccd1;
}

/* Styles pour le formulaire de réinitialisation de mot de passe */
.reset-password-field {
    margin-bottom: 10px; /* Espacement entre les champs */
}

.reset-password-field label {
    display: block; /* Affiche le label sur sa propre ligne */
    margin-bottom: 5px;
    font-weight: bold;
}

.reset-password-field input {
    width: 25%; /* Les champs prennent toute la largeur */
    padding: 6px;
    box-sizing: border-box; /* Assure que le padding n'augmente pas la largeur totale */
}

/* Styles pour les messages d'erreur de formulaire de réinitialisation de mot de passe */
/*.reset-password-field ul*/
.form-errors {
    color: #e90402; /* Rouge pour les erreurs */
    font-size: 0.9em;
    margin-top: 5px;
    /*list-style-type: none;*/
    /*padding-left: 0;*/
}

/* Styles for Toast Notifications */
.toast-notification {
    position: fixed;
    top: 20px;
    right: 20px;
    padding: 15px 20px;
    border-radius: 5px;
    color: #fff;
    font-size: 1em;
    z-index: 9999;
    box-shadow: 0 2px 10px rgba(0,0,0,0.2);
    animation: slideIn 0.5s ease-out;
}

.toast-info {
    background-color: #195992; /* Blue from your theme */
}

.toast-success {
    background-color: #A9C606; /* Green from your theme */
}

@keyframes slideIn {
    from {
        transform: translateX(100%);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

/* Pour les tableaux ayant la classe .tableau */
table.zebra tbody tr:nth-child(even) {
    background-color: #f1f1f1; /* Une couleur grise très claire */
}

/* Shim minimal pour éviter de casser la mise en page tant que Bootstrap n’est pas chargé */
/*.container { max-width: 1200px; margin: 0 auto; padding: 0 1rem; }*/
/*.row { display: flex; flex-wrap: wrap; gap: 1rem; }*/
/*.col-md-6 { flex: 1 1 48%; }*/
/*.card { border: 1px solid #ddd; border-radius: 4px; background: #fff; }*/
/*.card-header { padding: .5rem .75rem; font-weight: 600; background: #f7f7f7; border-bottom: 1px solid #ddd; }*/
/*.card-body { padding: .75rem; }*/
/*.btn { display: inline-block; padding: .25rem .5rem; border: 1px solid #666; border-radius: 4px; text-decoration: none; }*/
/*.btn-primary { background: #007bff; color: #fff; border-color: #007bff; }*/
/*.btn-outline-secondary { background: transparent; color: #6c757d; border-color: #6c757d; }*/
/*.btn-sm { font-size: .875rem; padding: .2rem .45rem; }*/
/*.text-muted { color: #6c757d; }*/
/*.text-warning { color: #b58900; }*/
/*.d-flex { display: flex; }*/
/*.justify-content-between { justify-content: space-between; }*/
/*.mt-3 { margin-top: 1rem; }*/
/*.mb-3 { margin-bottom: 1rem; }*/
/*.h3 { font-size: 1.5rem; margin: 0; }*/
	
