.administration { min-height: 100vh; display: flex; flex-direction: column; background: var(--pierre); }
.admin-retour { font: 0.875rem var(--font-interface); color: var(--azur); padding-block: 0.75rem; }
.admin-contenu { flex: 1; width: 100%; padding: clamp(2rem, 6vw, 4rem) var(--gouttiere); }
.admin-carte { max-width: 31rem; margin: 0 auto; padding: clamp(1.5rem, 4vw, 3rem); background: var(--chaux); border: 1px solid var(--filet); border-top: 3px solid var(--gueules); }
.admin-carte--accueil { max-width: 42rem; }
.admin-carte--large { max-width: 64rem; }
.admin-carte--large > a:first-child { display: inline-block; margin-bottom: 1.5rem; }
.evenements-entete { display: flex; flex-wrap: wrap; gap: 1rem 2rem; align-items: center; justify-content: space-between; margin-bottom: 1.5rem; }
.evenements-actions { display: flex; flex-wrap: wrap; gap: 1rem 1.5rem; align-items: center; }
.evenements-vide { margin-top: 2rem; padding: 2rem; border: 1px dashed var(--filet); }
.evenements-liste { list-style: none; padding: 0; margin: 2rem 0 0; }
.evenements-liste li { display: flex; gap: 1rem; justify-content: space-between; align-items: center; border-top: 1px solid var(--filet); padding: 1.5rem 0; }
.evenements-liste h2 { font-size: 1.6rem; margin: .5rem 0; overflow-wrap: anywhere; }
.evenements-liste p { margin: 0; }
.evenement-etat { color: var(--gueules); font: 600 .875rem var(--font-interface); }
.admin-formulaire fieldset { min-width: 0; margin: .75rem 0; padding: 1.5rem 0 0; border: 0; border-top: 1px solid var(--filet); display: grid; gap: 1.25rem; }
.admin-formulaire legend { padding-right: 1rem; font-size: 1.6rem; color: var(--azur); }
.admin-formulaire textarea, .admin-formulaire select { width: 100%; min-width: 0; padding: .75rem; border: 1px solid #94958f; border-radius: 0; background: #fff; color: var(--encre); font: 1rem/1.5 var(--font-interface); }
.admin-formulaire textarea { resize: vertical; }
.admin-formulaire [aria-invalid=true] { border: 2px solid var(--gueules); }
.evenement-champs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.champ-aide, .champ-erreur, .evenement-note, .evenement-consignes { font: .9375rem/1.65 var(--font-interface); margin: .5rem 0 0; }
.champ-erreur { color: #74212f; }
.evenement-note { padding: 1rem; background: var(--pierre); border-left: 3px solid var(--or); }
.admin-succes { padding: 1rem; background: #edf4ee; border-left: 3px solid #356c40; font: 1rem/1.5 var(--font-interface); }
@media (max-width: 640px) { .evenement-champs { grid-template-columns: 1fr; } .evenements-liste li { align-items: flex-start; flex-direction: column; } }
.admin-embleme { width: 4.75rem; height: 4.75rem; object-fit: contain; margin-bottom: 1.5rem; }
.admin-repere { margin-bottom: 0.65rem; font: 0.75rem/1.6 var(--font-interface); letter-spacing: 0.12em; text-transform: uppercase; color: var(--or); }
.admin-carte h1 { margin: 0 0 0.75rem; color: var(--azur); font-size: clamp(2.25rem, 5vw, 2.75rem); line-height: 1.15; letter-spacing: -0.03em; }
.admin-introduction { color: var(--encre-doux); font-size: 1rem; margin-bottom: 2rem; }
.admin-formulaire { display: grid; gap: 1.35rem; }
.admin-formulaire label { display: block; margin-bottom: 0.5rem; font: 0.875rem/1.5 var(--font-interface); color: var(--azur); font-weight: 600; }
.admin-formulaire input:not([type=hidden]) { width: 100%; min-height: 3rem; border: 1px solid #94958f; border-radius: 0; background: #fff; padding: 0.75rem; font: 1rem/1.4 var(--font-interface); color: var(--encre); }
.admin-bouton { width: 100%; display: flex; justify-content: center; gap: 1rem; align-items: center; min-height: 3rem; cursor: pointer; }
.admin-erreur { padding: 1rem; margin-bottom: 1.5rem; border-left: 3px solid var(--gueules); background: #f7ecec; color: #74212f; font: 0.9rem/1.6 var(--font-interface); }
.admin-aide { border-top: 1px solid var(--filet); margin: 2rem 0 0; padding-top: 1.25rem; color: var(--encre-doux); font: 0.8rem/1.7 var(--font-interface); }
.admin-pied { padding: 1.25rem var(--gouttiere); text-align: center; color: var(--encre-doux); font: 0.75rem/1.7 var(--font-interface); }
.admin-compte { border-block: 1px solid var(--filet); padding: 1.5rem 0; display: grid; grid-template-columns: auto 1fr; gap: 0.75rem 1.5rem; font: 0.9375rem/1.6 var(--font-interface); }
.admin-compte dt { color: var(--encre-doux); }
.admin-compte dd { margin: 0; color: var(--azur); overflow-wrap: anywhere; }
@media (max-width: 400px) { .admin-compte { grid-template-columns: 1fr; gap: 0.25rem; } .admin-compte dd + dt { margin-top: 0.75rem; } }
