/* Admin Delight : pensée pour l'iPhone d'abord. S'appuie sur la feuille du site (même rendu des dates dans l'aperçu). */
.admin [hidden] { display: none !important; }
body.admin { padding: env(safe-area-inset-top) max(14px, env(safe-area-inset-right)) calc(40px + env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left)); }
body.admin::before { display: none; }
.a-entete { display: flex; align-items: center; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--c-ligne); }
.a-entete h1 { font-size: 1.3rem; margin: 0; }
.a-qui { margin: 0; color: var(--c-texte-doux); font-size: .85rem; overflow-wrap: anywhere; }
.a-mode { margin: 1rem 0 0; padding: .8rem 1rem; border: 2px dashed var(--c-accent); font-size: .9rem; }
.a-onglets { display: flex; gap: .4rem; margin: 1rem 0; overflow-x: auto; }
.a-onglets button { min-height: 44px; padding: 0 1rem; border: 1px solid var(--c-ligne); background: transparent; color: var(--c-texte); font-weight: 700; white-space: nowrap; }
.a-onglets button[aria-selected="true"] { background: var(--c-accent); color: var(--c-sur-accent); }
.a-outils, .a-lot { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.a-outils input, .a-outils select, .a-lot select, .a-fiche input, .a-fiche select, .a-fiche textarea, .a-musicien input {
  min-height: 44px; padding: .5rem .7rem; font: inherit; font-size: 16px; background: var(--c-champ); color: var(--c-titre); border: 1px solid var(--c-ligne); border-radius: 0; max-width: 100%; }
.a-outils input[type=search] { flex: 1 1 220px; }
.a-lot { margin-top: .8rem; padding: .6rem; background: var(--c-surface); border: 1px solid var(--c-accent); }
.a-resume { color: var(--c-texte-doux); font-size: .85rem; }
.a-annee { margin: 1.4rem 0 .4rem; font-size: 1.1rem; }
.a-ligne { display: grid; grid-template-columns: 44px 1fr; gap: .4rem; align-items: start; border-bottom: 1px solid rgba(255,255,255,.08); }
.a-ligne input[type=checkbox] { width: 24px; height: 24px; margin: 10px; }
.a-ligne button.a-ouvrir { text-align: left; background: none; border: 0; color: inherit; font: inherit; padding: .4rem 0; cursor: pointer; min-height: 44px; }
.a-ligne .dates { margin: 0; } .a-ligne .dates li { border: 0; padding: 0; }
.a-ligne--masque { opacity: .55; }
.a-ligne .a-etiquette-masque { font-size: .7rem; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; color: var(--c-accent); }
.a-fiche { width: min(720px, 100vw); max-width: 100vw; max-height: 100dvh; margin: auto; padding: 0; border: 2px solid var(--c-accent); background: var(--c-fond); color: var(--c-texte); }
.a-fiche::backdrop { background: rgba(0,0,0,.7); }
.a-fiche form { padding: 1rem max(1rem, env(safe-area-inset-right)) calc(1rem + env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left)); }
.a-fiche header, .a-fiche footer { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.a-fiche h2 { font-size: 1.3rem; margin: 0; }
.a-grille { display: grid; gap: .8rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); margin: 1rem 0; }
.a-grille label { display: grid; gap: .3rem; font-size: .85rem; font-weight: 600; }
.a-grille .a-case { display: flex; align-items: center; gap: .5rem; min-height: 44px; }
.a-grille .a-case input { width: 22px; height: 22px; }
.a-grille fieldset { border: 1px solid var(--c-ligne); display: flex; flex-wrap: wrap; gap: .3rem 1rem; align-items: center; }
.a-plein, .a-grille fieldset { grid-column: 1 / -1; }
.a-jour { margin: 0; font-size: .9rem; align-self: end; }
.a-jour.attention { color: #ffb3b3; font-weight: 700; }
.a-fichier { border: 1px dashed var(--c-ligne); padding: .8rem; display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.a-fichier p { margin: 0; flex: 1 1 100%; font-size: .85rem; }
.a-fichier img { max-height: 120px; width: auto; filter: none !important; }
.a-apercu { border-top: 1px solid var(--c-ligne); padding-top: .8rem; }
.a-alerte { color: #ffb3b3; font-weight: 700; min-height: 1.2em; }
.a-historique { list-style: none; padding: 0; margin: 0; display: grid; gap: .5rem; }
.a-historique li { padding: .7rem; background: var(--c-surface); border: 1px solid var(--c-ligne); display: grid; gap: .3rem; font-size: .88rem; }
.a-historique li.annule { opacity: .5; }
.a-musicien { display: grid; grid-template-columns: 1fr 1.4fr 44px; gap: .4rem; margin-bottom: .5rem; }
@media (max-width: 480px) { .a-musicien { grid-template-columns: 1fr 44px; } .a-musicien input[name=email] { grid-column: 1; } }
.a-rappel { color: #ffd27a; font-size: .82rem; }
