body { padding-bottom: 0; }
.cadre { min-height: 100vh; min-height: 100dvh; }
.menu { height: 100vh; height: 100dvh; }
.ecran { min-height: 100vh; min-height: 100dvh; }
.defs { position: absolute; }
body.sans-menu .menu { display: none; }
@media (max-width: 799px) {
  .menu { inset: 0; }
}
.menu .bas button { all: unset; cursor: pointer; padding: 7px 2px; color: var(--encre-douce); font-size: 0.9rem; }
.menu .bas button:focus-visible { outline: 2px solid var(--acc); }
.onglets { flex-wrap: wrap; }
.onglets button { all: unset; cursor: pointer; }
.onglets button:focus-visible, .tuile:focus-visible, .mail:focus-visible, .ligne:focus-visible { outline: 2px solid var(--acc); outline-offset: 2px; }
button.tuile, button.mail, button.ligne { font: inherit; color: inherit; text-align: left; width: 100%; cursor: pointer; }
button.mail { border: 0; background: none; }
.entree input, .entree textarea { all: unset; flex: 1; min-width: 0; width: 100%; font: inherit; color: var(--encre); }
.entree input::placeholder, .entree textarea::placeholder { color: var(--encre-douce); }
.brouillon textarea { all: unset; display: block; width: 100%; min-height: 9rem; white-space: pre-wrap; font: inherit; line-height: 1.5; color: var(--encre); }
.saisie { display: flex; gap: 8px; }
.saisie input { all: unset; flex: 1; min-width: 0; font: inherit; color: var(--encre); }
.saisie button { all: unset; cursor: pointer; padding: 0 6px; }
.original { white-space: pre-wrap; font-size: 0.88rem; color: var(--encre-douce); max-height: 22rem; overflow-y: auto; }
.erreur { color: var(--rouge); font-size: 0.9rem; margin: 0; }
button.inter { border: 0; padding: 0; margin: 0; cursor: pointer; font: inherit; }
.inter[aria-disabled="true"] { cursor: default; opacity: 0.6; }
.cta[disabled] { opacity: 0.55; cursor: default; }
.lien-ext { color: inherit; }
.vide { text-align: center; color: var(--encre-douce); padding: 24px 0; }
.corps > .badge { align-self: flex-start; }
.fil { display: flex; flex-direction: column; gap: 10px; }
.fil:empty { display: none; }
.carte.centre { text-align: center; display: flex; flex-direction: column; gap: 6px; padding: 20px 14px; }
.carte .gros { font-size: 1.2rem; }
.gros-texte { font-size: 1.05rem; line-height: 1.6; }
.carte-alerte { border-color: var(--rouge); }
.rouge { color: var(--rouge); }
button.mini { font: inherit; font-size: 0.82rem; color: inherit; }
button.case { padding: 0; cursor: pointer; background: none; }
button.ligne[disabled] { opacity: 0.6; cursor: default; }
.cta[hidden], .liste-champs[hidden] { display: none; }

.bandeau-support { display: flex; align-items: center; gap: 12px; justify-content: space-between; background: var(--orange-doux); color: var(--encre); border-radius: 12px; padding: 10px 14px; font-size: 0.85rem; flex: none; }
.bandeau-support button { border: 0; background: none; color: var(--acc-texte, var(--acc)); font-weight: 600; cursor: pointer; padding: 4px 0; }
