/* Styles pour les tableaux réutilisables avec alternance de couleurs et en-tête foncé */
.piecesafournir-table {
    border-collapse: collapse;
    width: 100%;
}
.piecesafournir-table thead tr {
    background-color: #d4d3d3;
    color: #0e0e0e;
}
.piecesafournir-table tbody tr:nth-child(even) {
    background-color: #f5f5f5;
}
.piecesafournir-table tbody tr:nth-child(odd) {
    background-color: #fff;
}
.piecesafournir-table th, .piecesafournir-table td {
    padding: 8px 12px;
    border: 1px solid #ddd;
    text-align: left;
}

/* Styles pour les tableaux avec effet de survol */
.table.table-striped.table-lo-survol tbody tr:hover td {
    background-color: #cccccc !important;
    cursor: pointer;
    text-shadow: 0 0 1px #000;
}

.table.table-striped.table-lo-survol tbody tr:nth-child(even):hover td {
    background-color: #cccccc !important;
}

.table.table-striped.table-lo-survol tbody tr:nth-child(odd):hover td {
    background-color: #cccccc !important;
}

/* Mise en page de la vue étudiant */
.etudiant-layout {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 2rem;
}
.etudiant-sidebar {
    min-width: 220px;
    max-width: 260px;
    flex-shrink: 0;
}
.etudiant-main {
    flex: 1 1 0%;
    background: #fff;
    padding: 1.5rem 2rem;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}
@media (max-width: 900px) {
  .etudiant-layout { flex-direction: column; }
  .etudiant-sidebar { max-width: 100%; min-width: 0; margin-bottom: 2rem; }
}

/* Style pour les entêtes de section dans la vue étudiant */
.title_etu_view {
    font-size: 1.25rem;
    font-weight: bold;
    color: #2a4d7a;
    background: #eaf1fb;
    padding: 0.4em 0.8em;
    border-left: 4px solid #2a4d7a;
    margin: 0 0 1em 0;
    border-radius: 3px;
    letter-spacing: 0.5px;
}

.title_etu_view_red {
    font-size: 1.15rem;
    font-weight: bold;
    color: #b30000;
    background: #ffeaea;
    padding: 0.4em 0.8em;
    border-left: 4px solid #b30000;
    margin: 2em 0 1em 0;
    border-radius: 3px;
    letter-spacing: 0.5px;
}

/* Style bouton moderne pour le formulaire étudiant */
.etudiants .cake-btn, .etudiants button, .etudiants input[type="submit"] {
    background: linear-gradient(90deg, #2a4d7a 0%, #4e8ad1 100%);
    color: #fff;
    border: none;
    border-radius: 5px;
    padding: 0.7em 2.2em;
    font-size: 1.1rem;
    font-weight: 600;
    letter-spacing: 1px;
    box-shadow: 0 2px 8px rgba(42,77,122,0.08);
    transition: background 0.2s, box-shadow 0.2s, transform 0.1s;
    cursor: pointer;
    margin-top: 1.5em;
    margin-bottom: 1em;
}
.etudiants .cake-btn:hover, .etudiants button:hover, .etudiants input[type="submit"]:hover {
    background: linear-gradient(90deg, #4e8ad1 0%, #2a4d7a 100%);
    box-shadow: 0 4px 16px rgba(42,77,122,0.13);
    transform: translateY(-2px) scale(1.03);
}

/* Plus d'espace dans le formulaire */
.etudiants form fieldset {
    padding: 2.5em 2em 2em 2em;
    margin-bottom: 2em;
    background: #f8fafc;
    border-radius: 8px;
    border: 1px solid #e0e6ed;
    box-shadow: 0 1px 4px rgba(42,77,122,0.04);
}

/* Conteneur pour aligner les champs de formulaire des users */
.user-form-field-container {
    display: grid;
    grid-template-columns: 200px 1fr;
    gap: 1rem;
    align-items: center;
    margin-bottom: 1.2em;
}

/* Pour les petits écrans, passer en mode vertical */
@media (max-width: 768px) {
    .user-form-field-container {
        grid-template-columns: 1fr;
        gap: 0.5rem;
    }
}

/* Styles pour les formulaires users */
.users form label {
    font-weight: 500;
    color: #2a4d7a;
    margin-bottom: 0;
    text-align: right;
    padding-right: 0.5rem;
}

@media (max-width: 768px) {
    .users form label {
        text-align: left;
        padding-right: 0;
        margin-bottom: 0.3em;
    }
}

.users form input, .users form select, .users form textarea {
    margin-bottom: 0;
    border-radius: 4px;
    border: 1px solid #bfc9d1;
    padding: 0.6em 1em;
    font-size: 1.05em;
    background: #fff;
    transition: border 0.2s;
}
.users form input:focus, .users form select:focus, .users form textarea:focus {
    border: 1.5px solid #4e8ad1;
    outline: none;
}
.users form input[type="radio"] {
    margin-bottom: 0 !important;
}

.cocheok:before {
	content: "✓";
	color: green;
	margin-right: 9px;
}
.cochenok:before {
  content: "✘";
  color: red;
  margin-right: 9px;
}
ul.nopuces {
	list-style-type: none;
}
ul.nopuces li {
    margin-bottom: 1em;
}
.actions.columns.large-2.medium-3 ul.nopuces a {
    text-decoration: none;
    color: #545454;
    font-weight: unset;
}
.actions.columns.large-2.medium-3 ul.nopuces a:hover {
    text-decoration: underline;
    color: #2a4d7a;
    font-weight: unset;
}


.form-adresses label {
    margin-right: 12px;
}

.radio-group {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 5px;
}
.radio-group label {
    display: flex;
    align-items: center;
    gap: 0.5em;
    margin-bottom: 2px;
}
.radio-label {
    margin-left: 4px;
}