/* Wintg — espace interne (wintg.wintg.group), sur ordinateur. Même charte que Wintg Mail. Pas d'ombres. */
@font-face { font-family: "Slabo 27px"; src: url("/fonts/Slabo27px-Regular.woff2") format("woff2"); font-display: swap; }
@font-face { font-family: "Slabo 13px"; src: url("/fonts/Slabo13px-Regular.woff2") format("woff2"); font-display: swap; }
:root {
  --orange: #E67A1E; --orange-ton: #D96F14; --profond: #A84A08; --pale: #FDE8D4;
  --blanc: #FFF8EF; --blanc-pur: #FFFFFF; --cacao: #3A1C0A; --taupe: #6E5846; --argile: #B5A08C; --filet: #EADFD0;
  --nuit: #171310; --surface: #221A14; --surface-2: #2E241C; --bordure: #3B2F26; --vert: #2F6B4F; --rouge: #B3261E;
  --titre: "Slabo 27px", Georgia, serif; --petit: "Slabo 13px", Georgia, serif;
  --mouvement: cubic-bezier(.2, .8, .2, 1);
}
*, *::before, *::after { box-sizing: border-box; }
html { font-size: 16px; }
body { margin: 0; min-height: 100vh; background: var(--blanc); color: var(--cacao); font: 400 1rem/1.55 var(--titre); -webkit-font-smoothing: antialiased; }
img, svg { display: block; }
a { color: inherit; }
h1, h2, h3 { font-weight: 400; margin: 0; letter-spacing: -.01em; }
p { margin: 0; }
svg { fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
button, input, textarea, select { font: inherit; color: inherit; }
[hidden] { display: none !important; }
.motif { position: relative; isolation: isolate; }
.motif::before { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit; background: url("/img/motif-trait-blanc.svg") 0 0 / 35rem; opacity: .035; pointer-events: none; }
.puce { display: inline-block; padding: 0.25rem 0.625rem; border-radius: 999px; background: var(--orange); color: var(--cacao); font: 400 0.75rem/1 var(--petit); letter-spacing: .06em; }
.surligne { background: var(--orange); color: var(--cacao); padding: 0 .12em; border-radius: .1em; }

/* Boutons et champs */
.bouton { display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; padding: 0.75rem 1.25rem; border: 0; border-radius: 999px; background: var(--orange); color: var(--cacao); font-size: 0.9375rem; text-decoration: none; cursor: pointer; transition: background .2s; white-space: nowrap; }
.bouton:hover { background: var(--orange-ton); }
.bouton svg { width: 1.125rem; height: 1.125rem; }
.bouton--sombre { background: var(--nuit); color: var(--blanc); } .bouton--sombre:hover { background: #2a221c; }
.bouton--contour { background: var(--blanc-pur); border: 1px solid var(--filet); color: var(--cacao); } .bouton--contour:hover { background: var(--blanc); border-color: var(--argile); }
.bouton--vert { background: var(--vert); color: var(--blanc-pur); } .bouton--vert:hover { background: #255a42; }
.bouton--danger { background: transparent; color: var(--rouge); border: 1px solid #F2C4B8; } .bouton--danger:hover { background: #FBE3DC; }
.champ { display: grid; gap: 0.375rem; margin-bottom: 1rem; }
.champ > span { font: 400 0.8125rem/1.2 var(--petit); letter-spacing: .04em; color: var(--taupe); }
.champ em { font-style: normal; color: var(--argile); }
.champ input, .champ select, .champ textarea { width: 100%; padding: 0.75rem 0.9375rem; border: 1px solid var(--filet); border-radius: 0.75rem; background: var(--blanc-pur); font-size: 0.9375rem; outline: none; transition: border-color .2s; }
.champ textarea { resize: vertical; min-height: 6rem; line-height: 1.5; }
.champ input:focus, .champ select:focus, .champ textarea:focus { border-color: var(--orange); }
.champ small { color: var(--argile); font: 400 0.75rem/1.3 var(--petit); }
.note { margin: 0 0 1rem; padding: 0.75rem 1rem; border-radius: 0.875rem; font-size: 0.9375rem; }
.note--erreur { background: #FBE3DC; color: #8A2A12; }
.note--info { background: var(--pale); color: var(--cacao); }
.interrupteur { display: flex; align-items: center; gap: 0.875rem; padding: 0.75rem 0.875rem; border: 1px solid var(--filet); border-radius: 0.875rem; background: var(--blanc-pur); cursor: pointer; margin-bottom: 1rem; }
.interrupteur > span { flex: 1; display: grid; } .interrupteur b { font-weight: 400; } .interrupteur small { color: var(--taupe); font: 400 0.8125rem/1.3 var(--petit); }
.interrupteur input { position: absolute; opacity: 0; pointer-events: none; }
.interrupteur i { position: relative; flex: none; width: 2.875rem; height: 1.75rem; border-radius: 999px; background: var(--filet); transition: background .25s; }
.interrupteur i::after { content: ""; position: absolute; top: 0.1875rem; left: 0.1875rem; width: 1.375rem; height: 1.375rem; border-radius: 50%; background: var(--blanc-pur); transition: transform .25s var(--mouvement); }
.interrupteur input:checked + i { background: var(--orange); } .interrupteur input:checked + i::after { transform: translateX(1.125rem); }

/* ---------- Connexion ---------- */
.connexion { display: grid; grid-template-columns: 1.1fr 1fr; min-height: 100vh; padding: 1rem; gap: 1rem; }
.connexion__marque { border-radius: 1.75rem; background: var(--nuit); color: var(--blanc); padding: 2.75rem; display: flex; flex-direction: column; justify-content: space-between; }
.connexion__marque img { width: 7rem; }
.connexion__marque h1 { font-size: 3.25rem; line-height: 1.05; }
.connexion__marque p { color: var(--argile); margin-top: 1rem; max-width: 30rem; }
.connexion__form { display: grid; place-content: center; padding: 2rem; }
.connexion__form form { width: 24rem; }
.connexion__form h2 { font-size: 2rem; margin-bottom: 0.375rem; }
.connexion__form .aide { color: var(--taupe); margin-bottom: 1.75rem; }
.connexion__form .bouton { width: 100%; margin-top: 0.5rem; padding: 0.875rem; font-size: 1rem; }

/* ---------- Mise en page de l'espace ---------- */
.espace { display: grid; grid-template-columns: 16.5rem minmax(0, 1fr); min-height: 100vh; }
.menu { position: sticky; top: 1rem; height: calc(100vh - 2rem); margin: 1rem 0 1rem 1rem; padding: 1.5rem 1rem; border-radius: 1.75rem; background: var(--nuit); color: var(--blanc); display: flex; flex-direction: column; gap: 0.25rem; overflow-y: auto; scrollbar-width: none; }
.menu__tete { display: flex; align-items: center; gap: 0.5rem; padding: 0 0.5rem 1.5rem; }
.menu__tete img { width: 5.25rem; }
.menu a, .menu button.lien { display: flex; align-items: center; gap: 0.75rem; padding: 0.6875rem 0.875rem; border: 0; border-radius: 0.875rem; background: transparent; color: #d9cbbb; text-decoration: none; font-size: 0.9375rem; text-align: left; cursor: pointer; width: 100%; }
.menu a:hover, .menu button.lien:hover { background: var(--surface); color: var(--blanc); }
.menu a.est-actif { background: var(--surface-2); color: var(--blanc); }
.menu a.est-actif svg { color: var(--orange); }
.menu svg { width: 1.25rem; height: 1.25rem; flex: none; }
.menu b { margin-left: auto; min-width: 1.375rem; padding: 0 0.375rem; border-radius: 999px; background: var(--orange); color: var(--cacao); font: 400 0.75rem/1.375rem var(--petit); text-align: center; }
.menu__titre { margin: 1.25rem 0.875rem 0.375rem; color: #6E5846; font: 400 0.6875rem/1.2 var(--petit); letter-spacing: .14em; text-transform: uppercase; }
.menu__bientot { opacity: .45; pointer-events: none; }
.menu__bientot small { margin-left: auto; font: 400 0.6875rem/1 var(--petit); }
.menu__bas { margin-top: auto; padding-top: 1rem; border-top: 1px solid var(--bordure); }
.menu__bas form { margin: 0; }
.avatar { display: grid; place-items: center; flex: none; width: 2.25rem; height: 2.25rem; border-radius: 50%; background: var(--orange); color: var(--cacao); font-size: 1rem; object-fit: cover; }
.avatar--grand { width: 2.75rem; height: 2.75rem; font-size: 1.25rem; }
.zone { min-width: 0; display: flex; flex-direction: column; }

/* ---------- En-tête de l'espace (sans fond) ---------- */
.barre { display: flex; align-items: center; gap: 0.625rem; padding: 1rem 2.5rem 0; }
.recherche { flex: 0 1 22rem; display: flex; align-items: center; gap: 0.5rem; padding: 0 0.375rem 0 0.875rem; height: 2.25rem; border: 1px solid var(--filet); border-radius: 999px; background: transparent; transition: border-color .2s, background .2s; }
.recherche:hover { border-color: var(--argile); }
.recherche:focus-within { border-color: var(--orange); background: var(--blanc-pur); }
.recherche svg { width: 1rem; height: 1rem; color: var(--taupe); flex: none; }
.recherche input { flex: 1; min-width: 0; border: 0; outline: none; background: transparent; font-size: 0.875rem; }
.recherche input::placeholder { color: var(--argile); }
.recherche input::-webkit-search-cancel-button { display: none; }
.recherche kbd { padding: 0.125rem 0.4375rem; border: 1px solid var(--filet); border-radius: 0.5rem; color: var(--taupe); font: 400 0.6875rem/1.2 var(--petit); }
.barre__mail { display: inline-flex; align-items: center; gap: 0.4375rem; height: 2.25rem; padding: 0 0.875rem 0 0.75rem; border-radius: 999px; background: var(--nuit); color: var(--blanc); text-decoration: none; font-size: 0.875rem; white-space: nowrap; transition: background .2s; }
.barre__mail:hover { background: #2a221c; }
.barre__mail svg { width: 1rem; height: 1rem; color: var(--orange); }
.barre__date { display: flex; align-items: baseline; gap: 0.5rem; padding-left: 0.75rem; border-left: 1px solid var(--filet); color: var(--taupe); font: 400 0.8125rem/1.2 var(--petit); white-space: nowrap; }
.barre__date b { font: 400 0.9375rem/1 var(--titre); color: var(--cacao); }
.moi { margin-left: auto; display: flex; align-items: center; gap: 0.625rem; }
.moi__texte { display: grid; text-align: right; line-height: 1.2; max-width: 16rem; }
.moi__texte b { font-weight: 400; font-size: 0.875rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.moi__texte small { color: var(--taupe); font: 400 0.6875rem/1.25 var(--petit); }
.moi .avatar { width: 2.125rem; height: 2.125rem; font-size: 0.9375rem; outline: 1.5px solid var(--orange); outline-offset: 2px; }

/* Employés */
.cartes.cartes--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.personnes { margin-bottom: 1.5rem; }
.personne { border-top: 1px solid var(--filet); }
.personne:first-child { border-top: 0; }
.personne summary { display: grid; grid-template-columns: auto minmax(0, 1.2fr) minmax(0, 1.3fr) 11rem 7rem 9rem 1.25rem; align-items: center; gap: 1rem; padding: 0.875rem 1.25rem; cursor: pointer; list-style: none; }
.personne summary::-webkit-details-marker { display: none; }
.personne summary:hover, .personne[open] summary { background: var(--blanc); }
.personne__nom, .personne__poste { display: grid; min-width: 0; line-height: 1.3; }
.personne__nom b, .personne__poste b { font-weight: 400; font-size: 1rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.personne__nom small, .personne__poste small, .personne__info { color: var(--taupe); font: 400 0.8125rem/1.3 var(--petit); }
.personne__fleche { width: 1.25rem; height: 1.25rem; color: var(--taupe); transition: transform .2s; }
.personne[open] .personne__fleche { transform: rotate(180deg); }
.personne__detail { display: grid; grid-template-columns: 17rem minmax(0, 1fr); gap: 2rem; padding: 0.75rem 1.25rem 1.5rem 5rem; background: var(--blanc); }
.petit-titre { margin-bottom: 0.5rem; color: var(--taupe); font: 400 0.75rem/1.2 var(--petit); letter-spacing: .1em; text-transform: uppercase; }
.personne__droits ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 0.375rem; }
.personne__droits li { position: relative; padding-left: 1.25rem; font-size: 0.875rem; line-height: 1.35; }
.personne__droits li::before { content: ""; position: absolute; left: 0; top: 0.375rem; width: 0.5rem; height: 0.5rem; border-radius: 50%; background: var(--orange); }
.personne__droits small { color: var(--argile); font: 400 0.6875rem/1 var(--petit); }
.personne__note { margin-top: 0.75rem; color: var(--taupe); font-size: 0.875rem; }
.personne__form .champ { margin-bottom: 0.75rem; }
.personne__actions { display: flex; align-items: center; justify-content: flex-end; gap: 0.75rem; }
.personne__actions .interrupteur { margin: 0 auto 0 0; }
.niveau { display: inline-block; padding: 0.1875rem 0.5625rem; border-radius: 999px; font: 400 0.75rem/1.2 var(--petit); white-space: nowrap; background: var(--blanc); color: var(--taupe); border: 1px solid var(--filet); }
.niveau--direction { background: var(--nuit); color: var(--blanc); border-color: var(--nuit); }
.niveau--responsable { background: var(--pale); color: var(--profond); border-color: var(--pale); }
.roles-aide dl { display: grid; grid-template-columns: 10rem 1fr; gap: 0.5rem 1rem; margin: 0; }
.roles-aide dt { font-size: 0.9375rem; } .roles-aide dd { margin: 0; color: var(--taupe); }
.roles-aide small { color: var(--argile); }
.fenetre__boite .deux { gap: 0 0.75rem; }
.fenetre__boite--large { width: 38rem; }
.fenetre__boite .interrupteur small { display: block; }
.adresse { display: flex; align-items: stretch; gap: 0.5rem; }
.adresse input { flex: 1; min-width: 0; }
.adresse b { display: grid; place-items: center; padding: 0 0.875rem; border-radius: 0.75rem; background: var(--pale); color: var(--profond); font-weight: 400; font-size: 0.9375rem; }
.identifiants { display: grid; grid-template-columns: 7.5rem 1fr; gap: 0.625rem 1rem; margin: 0 0 1.25rem; padding: 1rem 1.125rem; border-radius: 1rem; background: var(--blanc-pur); border: 1px solid var(--filet); }
.identifiants dt { color: var(--taupe); font: 400 0.8125rem/1.6 var(--petit); } .identifiants dd { margin: 0; }
.identifiants code { font: 400 1.125rem/1.3 ui-monospace, Consolas, monospace; letter-spacing: .04em; color: var(--profond); }

/* Postes et droits : la grille */
.grille-droits { margin-bottom: 1.5rem; }
.grille-droits table { width: 100%; border-collapse: separate; border-spacing: 0; border: 1px solid var(--filet); border-radius: 1.25rem; background: var(--blanc-pur); overflow: hidden; }
.grille-droits thead th { position: sticky; top: 0; z-index: 2; padding: 0.75rem 0.375rem; background: var(--nuit); color: var(--blanc); font: 400 0.75rem/1.2 var(--petit); text-align: center; vertical-align: bottom; }
.grille-droits thead th:first-child { text-align: left; padding-left: 1.25rem; font-size: 0.8125rem; }
.grille-droits thead th small { display: block; margin-top: 0.1875rem; color: var(--orange); font-size: 0.625rem; }
.grille-droits tbody th { text-align: left; padding: 0.5rem 1rem 0.5rem 1.25rem; font-weight: 400; }
.grille-droits tbody th b { display: block; font-weight: 400; font-size: 0.9375rem; }
.grille-droits tbody th small { display: flex; align-items: center; gap: 0.5rem; margin-top: 0.125rem; color: var(--taupe); font: 400 0.75rem/1.2 var(--petit); }
.grille-droits tbody td { text-align: center; border-top: 1px solid var(--filet); }
.grille-droits tbody th { border-top: 1px solid var(--filet); }
.grille-droits tbody tr:hover > * { background: var(--blanc); }
.grille-droits__dep th { padding: 1rem 1.25rem 0.5rem !important; background: var(--blanc) !important; color: var(--profond); font: 400 0.75rem/1.2 var(--petit) !important; letter-spacing: .12em; text-transform: uppercase; }
.case { display: inline-grid; place-items: center; cursor: pointer; padding: 0.375rem; }
.case input { position: absolute; opacity: 0; pointer-events: none; }
.case i { display: grid; place-items: center; width: 1.375rem; height: 1.375rem; border: 1.5px solid var(--argile); border-radius: 0.4375rem; transition: background .15s, border-color .15s; }
.case input:checked + i { background: var(--orange); border-color: var(--orange); }
.case input:checked + i::after { content: ""; width: 0.375rem; height: 0.6875rem; border: solid var(--cacao); border-width: 0 2px 2px 0; transform: translateY(-0.0625rem) rotate(45deg); }
.case input:focus-visible + i { outline: 2px solid var(--orange); outline-offset: 2px; }
.case input:disabled + i { cursor: default; opacity: .75; }
.recherche-note { margin: -0.75rem 0 1.25rem; color: var(--taupe); }
.recherche-note a { color: var(--profond); }
.contenu { padding: 1.25rem 2.5rem 3rem; min-width: 0; }
.tete { display: flex; align-items: end; justify-content: space-between; gap: 1.5rem; margin-bottom: 1.75rem; }
.tete h1 { font-size: 2.25rem; line-height: 1.1; }
.tete p { color: var(--taupe); margin-top: 0.25rem; }
.tete .actions { display: flex; gap: 0.5rem; flex-wrap: wrap; }

/* Cartes et listes */
.cartes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-bottom: 2rem; }
.chiffre { padding: 1.25rem 1.375rem; border-radius: 1.25rem; background: var(--blanc-pur); border: 1px solid var(--filet); }
.chiffre b { display: block; font-weight: 400; font-size: 2.5rem; line-height: 1; }
.chiffre small { color: var(--taupe); font: 400 0.8125rem/1.3 var(--petit); }
.chiffre--orange { background: var(--orange); border-color: var(--orange); }
.chiffre--orange small { color: var(--cacao); }
.chiffre--nuit { background: var(--nuit); border-color: var(--nuit); color: var(--blanc); } .chiffre--nuit small { color: var(--argile); }
.bloc { margin-bottom: 2rem; }
.bloc h2 { font-size: 1.375rem; margin-bottom: 0.875rem; display: flex; align-items: center; gap: 0.625rem; }
.bloc h2 .puce { font-size: 0.75rem; }
.liste { border: 1px solid var(--filet); border-radius: 1.25rem; background: var(--blanc-pur); overflow: hidden; }
.ligne { display: grid; grid-template-columns: 4.5rem minmax(0, 1fr) auto auto; align-items: center; gap: 1.25rem; padding: 0.875rem 1.25rem; border-top: 1px solid var(--filet); text-decoration: none; }
.ligne:first-child { border-top: 0; }
.ligne:hover { background: var(--blanc); }
.ligne__date { text-align: center; padding: 0.375rem 0; border-radius: 0.75rem; background: var(--blanc); }
.ligne__date b { display: block; font-weight: 400; font-size: 1.5rem; line-height: 1; } .ligne__date small { color: var(--profond); font: 400 0.6875rem/1.3 var(--petit); letter-spacing: .1em; text-transform: uppercase; }
.ligne__titre { min-width: 0; } .ligne__titre b { display: block; font-weight: 400; font-size: 1.0625rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ligne__titre small { color: var(--taupe); font: 400 0.8125rem/1.3 var(--petit); }
.statut { padding: 0.25rem 0.625rem; border-radius: 999px; font: 400 0.75rem/1.2 var(--petit); white-space: nowrap; }
.statut--brouillon { background: var(--blanc); color: var(--taupe); border: 1px solid var(--filet); }
.statut--attente { background: var(--pale); color: var(--profond); }
.statut--publie { background: #E3F1E8; color: var(--vert); }
.statut--refuse { background: #FBE3DC; color: var(--rouge); }
.ligne__info { color: var(--taupe); font: 400 0.8125rem/1.3 var(--petit); white-space: nowrap; }
.vide { padding: 2.5rem 1.25rem; text-align: center; color: var(--taupe); border: 1px dashed var(--filet); border-radius: 1.25rem; }
.vide .bouton { margin-top: 1rem; }
.onglets { display: flex; gap: 0.25rem; padding: 0.25rem; border: 1px solid var(--filet); border-radius: 999px; background: var(--blanc-pur); width: max-content; margin-bottom: 1.25rem; }
.onglets a { padding: 0.5rem 1rem; border-radius: 999px; color: var(--taupe); text-decoration: none; font-size: 0.9375rem; display: flex; gap: 0.375rem; align-items: center; }
.onglets a.est-actif { background: var(--nuit); color: var(--blanc); }
.onglets a b { font-weight: 400; padding: 0 0.375rem; border-radius: 999px; background: var(--orange); color: var(--cacao); font-size: 0.75rem; }

/* Formulaire d'événement */
.formulaire { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 1.5rem; align-items: start; }
.carte { padding: 1.5rem; border: 1px solid var(--filet); border-radius: 1.5rem; background: var(--blanc-pur); margin-bottom: 1.25rem; }
.carte h2 { font-size: 1.25rem; margin-bottom: 1rem; }
.deux { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1rem; }
.categories { display: flex; flex-wrap: wrap; gap: 0.375rem; }
.categories label { cursor: pointer; } .categories input { position: absolute; opacity: 0; pointer-events: none; }
.categories span { display: block; padding: 0.5rem 0.875rem; border: 1px solid var(--filet); border-radius: 999px; background: var(--blanc-pur); font-size: 0.875rem; }
.categories input:checked + span { background: var(--nuit); border-color: var(--nuit); color: var(--blanc); }
.editeur { border: 1px solid var(--filet); border-radius: 0.75rem; background: var(--blanc-pur); overflow: hidden; }
.editeur:focus-within { border-color: var(--orange); }
.editeur__outils { display: flex; gap: 0.125rem; padding: 0.375rem; border-bottom: 1px solid var(--filet); }
.editeur__outils button { min-width: 2.125rem; height: 2.125rem; padding: 0 0.5rem; border: 0; border-radius: 0.5rem; background: transparent; cursor: pointer; }
.editeur__outils button:hover { background: var(--blanc); }
.editeur__zone { min-height: 12rem; padding: 0.875rem 1rem; outline: none; line-height: 1.6; }
.editeur__zone:empty::before { content: attr(data-vide); color: var(--argile); }
.depot { position: relative; display: grid; place-items: center; aspect-ratio: 16 / 10; border: 1.5px dashed var(--argile); border-radius: 1rem; background: var(--blanc) center / cover; color: var(--taupe); text-align: center; cursor: pointer; overflow: hidden; }
.depot input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.depot.a-image { border-style: solid; border-color: var(--filet); }
.depot.a-image span { padding: 0.375rem 0.75rem; border-radius: 999px; background: rgba(23, 19, 16, .7); color: var(--blanc); font-size: 0.8125rem; }
.barre-actions { position: sticky; bottom: 1rem; display: flex; gap: 0.5rem; justify-content: flex-end; padding: 0.75rem; border-radius: 999px; background: var(--nuit); width: max-content; margin-left: auto; }

/* Fiche d'événement */
.fiche { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 1.5rem; align-items: start; }
.fiche__image { aspect-ratio: 16 / 9; border-radius: 1.25rem; background: var(--orange) url("/img/motif-trait-blanc.svg") 0 0 / 16rem; background-size: cover; margin-bottom: 1.25rem; }
.fiche dl { display: grid; grid-template-columns: 7rem 1fr; gap: 0.5rem 1rem; margin: 0; }
.fiche dt { color: var(--taupe); font: 400 0.8125rem/1.6 var(--petit); } .fiche dd { margin: 0; }
.description { line-height: 1.7; } .description p, .description ul { margin: 0 0 0.875rem; }
.refus { padding: 1rem 1.125rem; border-radius: 1rem; background: #FBE3DC; color: #8A2A12; margin-bottom: 1.25rem; }
.inscrits { width: 100%; border-collapse: collapse; font-size: 0.9375rem; }
.inscrits th { text-align: left; font: 400 0.75rem/1.3 var(--petit); letter-spacing: .08em; text-transform: uppercase; color: var(--taupe); padding: 0.5rem 0.75rem; border-bottom: 1px solid var(--filet); }
.inscrits td { padding: 0.625rem 0.75rem; border-bottom: 1px solid var(--filet); }

/* Équipe */
.equipe td, .equipe th { vertical-align: middle; }
.equipe input, .equipe select { padding: 0.4375rem 0.625rem; border: 1px solid var(--filet); border-radius: 0.625rem; background: var(--blanc-pur); font-size: 0.875rem; width: 100%; }
.equipe .personne { display: flex; align-items: center; gap: 0.625rem; }

/* Toast (messages après une action) */
.toast { position: fixed; z-index: 90; top: 1rem; left: 50%; display: flex; align-items: center; gap: 0.75rem; max-width: 34rem; padding: 0.75rem 1.125rem; border-radius: 1.25rem; background: var(--nuit); color: var(--blanc); transform: translate(-50%, -160%); transition: transform .4s var(--mouvement); cursor: pointer; }
.toast.est-visible { transform: translate(-50%, 0); }
.toast i { display: grid; place-items: center; width: 1.5rem; height: 1.5rem; border-radius: 50%; background: var(--vert); font-style: normal; font-size: 0.875rem; }

/* Fenêtre (refus) */
.fenetre { position: fixed; inset: 0; z-index: 80; display: grid; place-items: center; background: rgba(23, 19, 16, .55); }
.fenetre__boite { width: 30rem; padding: 1.75rem; border-radius: 1.5rem; background: var(--blanc); }
.fenetre__boite h2 { font-size: 1.5rem; margin-bottom: 0.375rem; }
.fenetre__boite p { color: var(--taupe); margin-bottom: 1rem; }
.fenetre__actions { display: flex; gap: 0.5rem; justify-content: flex-end; }

/* Page « ordinateur seulement » */
.ordinateur { min-height: 100vh; display: grid; place-content: center; gap: 1rem; padding: 2rem 8%; background: var(--nuit); color: var(--blanc); text-align: center; }
.ordinateur img { width: 7rem; margin: 0 auto 1rem; }
.ordinateur h1 { font-size: 2rem; line-height: 1.15; }
.ordinateur p { color: var(--argile); }
/* Fenêtre trop étroite (tablette, téléphone en mode bureau) : même message */
.trop-etroit { display: none; }
@media (max-width: 1023px) {
  body.espace-page > *:not(.trop-etroit) { display: none !important; }
  .trop-etroit { display: grid; }
}
