/* Styles de base. Tout le reste vient de la maquette (styles posés par rendu.js). */
@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url("polices/inter-latin-wght-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
    U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215,
    U+FEFF, U+FFFD;
}
@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url("polices/inter-latin-ext-wght-normal.woff2") format("woff2");
  unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020,
    U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
body { margin: 0; background: #F6F7F5; color: #1B1F1D; font-family: Inter, system-ui, sans-serif; }
a { color: #1F6B4F; }
a:hover { color: #16503B; }
button { cursor: pointer; }
/* Dans une colonne qui défile, les blocs gardent leur hauteur au lieu de rétrécir. */
#app div[style*="overflow-y: auto"] > * { flex-shrink: 0; }

/* Écran de connexion (hors maquette : même palette, mêmes rayons). */
.acces { min-height: 100dvh; display: flex; align-items: center; justify-content: center; padding: 24px 16px; box-sizing: border-box; }
.acces-carte { width: 100%; max-width: 400px; background: #FFFFFF; border-radius: 20px; padding: 28px 22px; display: flex; flex-direction: column; gap: 14px; box-sizing: border-box; }
.acces-marque { display: flex; align-items: center; gap: 10px; }
.acces-marque strong { font-size: 22px; }
.acces-marque span { display: block; font-size: 13px; color: #55605A; }
.acces h1 { margin: 6px 0 0; font-size: 20px; }
.acces p { margin: 0; font-size: 14px; line-height: 1.45; color: #3C4641; }
.acces label { display: flex; flex-direction: column; gap: 4px; font-size: 13px; color: #55605A; }
.acces input { min-height: 48px; border: 1px solid #B9C0BB; border-radius: 10px; padding: 0 12px; font: 400 16px Inter, system-ui, sans-serif; color: #1B1F1D; background: #FFFFFF; }
.acces input:focus-visible, .acces button:focus-visible { outline: 3px solid #2F5D8A; outline-offset: 2px; }
.acces .principal { min-height: 52px; border-radius: 26px; border: 0; background: #1F6B4F; color: #FFFFFF; font: 600 16px Inter, system-ui, sans-serif; }
.acces .principal:disabled { background: #B9C0BB; }
.acces .secondaire { min-height: 44px; border: 0; background: transparent; color: #1F6B4F; font: 600 14px Inter, system-ui, sans-serif; }
.acces .erreur { font-size: 13px; line-height: 1.45; color: #9A3412; background: #FFF4EC; border-radius: 10px; padding: 10px 12px; }
.acces .note { font-size: 12px; color: #55605A; }
.cache { display: none !important; }
