/* BAOBAB light — feuille commune aux pages de connexion, de compte et des parents.
   Mêmes jetons que l'espace de gestion, pour une seule identité. */
:root{
  --bg:#F4F5F8; --surface:#FFFFFF; --surface-2:#FAFAFC;
  --fg:#141827; --muted:#5A6076; --line:#DCE0EA;
  --brand:#1F3864; --brand-ink:#1F3864; --on-brand:#FFFFFF; --btn:#1F3864;
  --accent:#9C6420; --accent-soft:#F6EEE3;
  --ok:#1C7A4E; --crit:#A92A22; --ok-soft:#E4F2EA; --crit-soft:#FBE8E6;
  --radius:12px; --shadow:0 1px 2px rgba(20,24,39,.06),0 8px 24px rgba(20,24,39,.05);
  --display:'Fraunces',Georgia,'Times New Roman',serif;
  --ui:'Archivo','Segoe UI',system-ui,sans-serif;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#0D1017; --surface:#161B26; --surface-2:#1C2230;
  --fg:#E8EAF1; --muted:#99A0B3; --line:#28303F;
  --brand:#16213A; --brand-ink:#9CBAEC; --on-brand:#EAF1FF; --btn:#2F5596;
  --accent:#D9A45C; --accent-soft:#2A2114;
  --ok:#55C08C; --crit:#EE7A70; --ok-soft:#15281F; --crit-soft:#2C1917;
  --shadow:0 1px 2px rgba(0,0,0,.4),0 8px 24px rgba(0,0,0,.3);
  color-scheme:dark;
}}
:root[data-theme="dark"]{
  --bg:#0D1017; --surface:#161B26; --surface-2:#1C2230;
  --fg:#E8EAF1; --muted:#99A0B3; --line:#28303F;
  --brand:#16213A; --brand-ink:#9CBAEC; --on-brand:#EAF1FF; --btn:#2F5596;
  --accent:#D9A45C; --accent-soft:#2A2114;
  --ok:#55C08C; --crit:#EE7A70; --ok-soft:#15281F; --crit-soft:#2C1917;
  color-scheme:dark;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%}
body{background:var(--bg);color:var(--fg);font-family:var(--ui);font-size:15px;line-height:1.5}
h1,h2,h3{margin:0;text-wrap:balance}
button,input{font:inherit;color:inherit}
a{color:var(--brand-ink)}

header.top{background:var(--brand);color:var(--on-brand)}
.top-in{max-width:980px;margin:0 auto;display:flex;align-items:center;gap:14px;padding:12px 16px}
.logo{height:34px;width:auto}
.wordmark{font-family:var(--display);font-size:19px;font-weight:700;padding-left:14px;
  border-left:1px solid rgba(255,255,255,.28);white-space:nowrap}
.wordmark .light{font-family:var(--ui);font-style:italic;font-weight:300;opacity:.82}
.top-in .droite{margin-left:auto;display:flex;gap:8px;align-items:center;font-size:13px}
.top-in .droite a,.top-in .droite button{color:var(--on-brand);background:none;
  border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:5px 12px;cursor:pointer;
  text-decoration:none}

main{max-width:980px;margin:0 auto;padding:28px 16px 48px}
.titre{font-family:var(--display);font-size:28px;font-weight:700;margin-bottom:6px}
.sous{color:var(--muted);margin:0 0 24px;max-width:62ch}

.cartes{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}
.carte{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:20px}
.carte h2{font-family:var(--display);font-size:20px;margin-bottom:4px}
.carte p.sub{color:var(--muted);font-size:13.5px;margin:0 0 16px}
.carte + .carte{margin-top:0}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;
  padding:11px 14px;border-radius:10px;border:1px solid var(--line);background:var(--surface);
  cursor:pointer;font-weight:600;text-decoration:none;color:var(--fg)}
.btn:hover{background:var(--surface-2)}
.btn.primaire{background:var(--btn);color:#fff;border-color:var(--btn)}
.btn.primaire:hover{filter:brightness(1.12)}
.btn[disabled]{opacity:.55;cursor:default}
.btn svg{width:18px;height:18px;flex:none}
.ou{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px;margin:14px 0;
  text-transform:uppercase;letter-spacing:.08em}
.ou::before,.ou::after{content:"";flex:1;height:1px;background:var(--line)}

label{display:block;font-size:13px;font-weight:600;margin:0 0 5px}
input[type=email],input[type=text],input[type=password]{width:100%;padding:10px 12px;
  border:1px solid var(--line);border-radius:9px;background:var(--surface-2);margin-bottom:12px}
input:focus{outline:2px solid var(--brand-ink);outline-offset:1px}
.code{font-family:'IBM Plex Mono',ui-monospace,monospace;letter-spacing:.35em;font-size:20px;
  text-align:center}
.aide{color:var(--muted);font-size:12.5px;margin:-6px 0 12px}

.message{border-radius:10px;padding:11px 14px;margin:0 0 18px;font-size:14px}
.message.erreur{background:var(--crit-soft);color:var(--crit)}
.message.ok{background:var(--ok-soft);color:var(--ok)}
details.repli{margin-top:18px}
details.repli summary{cursor:pointer;color:var(--brand-ink);font-weight:600}
details.repli[open] summary{margin-bottom:12px}

.enfant{display:grid;gap:4px}
.enfant .nom{font-family:var(--display);font-size:20px;font-weight:700}
.enfant .classe{color:var(--muted)}
.pastille{display:inline-block;font-size:12px;font-weight:600;padding:2px 9px;border-radius:999px;
  background:var(--accent-soft);color:var(--accent)}
.vide{color:var(--muted);font-style:italic}
.pied{color:var(--muted);font-size:12.5px;text-align:center;margin-top:36px}

@media (max-width:520px){
  .wordmark{font-size:16px;padding-left:10px}
  .logo{height:28px}
  .titre{font-size:24px}
}
