/* Baby Nahl Online : l'application d'une micro-crèche, aux couleurs de Baby Nahl.
   Le vert de la charte (3aaa35) domine, le jaune du miel (f0c10d) l'accompagne ; des pastels tendres, des formes
   rondes, de grosses bulles de pointage, les prénoms en couleur (vert pour les garçons, rose pour les filles).
   Titres Fredoka, texte Nunito. Chargé après app.css, seulement par Baby Nahl Online (avec creche.js). */
body.espace-baby_nahl{
  --papier:#ffffff; --fond:#f3faf1; --sable:#e7f6e3; --sable-2:#d2efcb; --sable-3:#f6fbf4;
  --encre:#1f3b1e; --encre-2:#2f4d2d; --doux:#5d7a5a; --trait:#e2efdc;
  --accent:#3aaa35; --accent-doux:#e4f4e2; --accent-texte:#23801f;
  --or:#f0c10d; --or-2:#f7d94a; --or-doux:#fff4c2; --ok:#2f9a2a; --ok-doux:#e4f4e2;
  --rose:#e8607a; --rose-doux:#ffe3e8; --ciel:#2e8fd6; --ciel-doux:#e3f2ff;
  --titre:"Fredoka","Berlin Sans FB",system-ui,sans-serif; --texte:"Nunito",system-ui,-apple-system,"Segoe UI",sans-serif;
  --rayon:22px; --ombre:0 6px 0 -2px rgba(35,128,31,.08),0 14px 30px -18px rgba(35,128,31,.35);
  --alveoles:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='104' viewBox='0 0 120 104'%3E%3Cpath d='M30 2l28 16v32L30 66 2 50V18zM90 36l28 16v32L90 100 62 84V52z' fill='none' stroke='%23f0c10d' stroke-opacity='.3' stroke-width='2'/%3E%3C/svg%3E");
}
body.espace-baby_nahl h1,body.espace-baby_nahl h2,body.espace-baby_nahl h3{color:var(--accent-texte);font-weight:600}
body.espace-baby_nahl .entete h1{font-size:clamp(28px,3.4vw,38px)}

/* Connexion */
body.espace-baby_nahl .connexion-visuel{background:var(--alveoles),linear-gradient(160deg,#eaf8e6,#d2efcb)}
body.espace-baby_nahl .connexion-visuel img{width:min(320px,70%);height:auto;box-shadow:none;background:none;border-radius:0}
body.espace-baby_nahl .connexion-visuel p{color:var(--accent-texte)}
body.espace-baby_nahl .connexion-form{border-top:6px solid var(--accent)}
body.espace-baby_nahl .connexion-form h1{color:var(--accent-texte)}

/* Barre latérale : pastel, rubriques en bulles */
body.espace-baby_nahl .barre{background:linear-gradient(180deg,#f3fbf1,#fff)}
body.espace-baby_nahl .logo img{object-fit:contain;background:none}
body.espace-baby_nahl .logo b{font-family:var(--titre);color:var(--accent-texte)}
body.espace-baby_nahl .logo{border-bottom:3px solid var(--or);margin-bottom:12px}
body.espace-baby_nahl .nav .groupe{color:var(--accent-texte)}
body.espace-baby_nahl .nav a{border-radius:999px}
body.espace-baby_nahl .nav a .ms{color:var(--accent)}
body.espace-baby_nahl .nav a[aria-current="page"]{background:var(--accent);color:#fff}
body.espace-baby_nahl .nav a[aria-current="page"] .ms{color:#fff}
body.espace-baby_nahl .onglets-bas a[aria-current="page"]{color:var(--accent-texte)}
body.espace-baby_nahl .haut-mobile{background:var(--accent);color:#fff}
body.espace-baby_nahl .haut-mobile .icone-btn{color:#fff}

/* Boutons, cartes, onglets */
body.espace-baby_nahl .btn{border-radius:999px;font-weight:800}
body.espace-baby_nahl .btn:not(.clair):not(.danger){background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 4px 0 #23801f}
body.espace-baby_nahl .btn:not(.clair):not(.danger):hover{background:#2f9a2a;border-color:#2f9a2a}
body.espace-baby_nahl .carte{border-radius:var(--rayon);border-color:var(--trait);box-shadow:var(--ombre)}
body.espace-baby_nahl .onglets{border:0;gap:8px}
body.espace-baby_nahl .onglets button{border-radius:999px;border:0;margin:0;background:#fff;box-shadow:inset 0 0 0 1px var(--trait)}
body.espace-baby_nahl .onglets button[aria-selected="true"]{background:var(--accent);color:#fff;box-shadow:none}
body.espace-baby_nahl .bienvenue{background:var(--alveoles),linear-gradient(160deg,#eaf8e6,#fff7cf);border:0}
body.espace-baby_nahl .bienvenue h1{color:var(--accent-texte)}

/* Enfants : avatar pastel, prénom en couleur, anniversaire */
.bn-avatar{width:52px;height:52px;font-family:var(--titre);font-size:18px;color:#fff}
.bn-avatar.garcon{background:linear-gradient(140deg,#6cc767,#3aaa35)}
.bn-avatar.fille{background:linear-gradient(140deg,#f59ab0,#e8607a)}
.bn-avatar.neutre{background:linear-gradient(140deg,#f7d94a,#e0ac00);color:#5a3d07}
.bn-nom{font-family:var(--titre);font-size:20px;font-weight:600;color:var(--encre-2)}
.bn-nom.garcon{color:var(--accent-texte)}
.bn-nom.fille{color:var(--rose)}
.bn-anniv{display:inline-flex;align-items:center;gap:3px;font-size:11.5px;font-weight:800;color:#d2462c;border:1.5px solid #f2a091;border-radius:999px;padding:1px 8px;background:#fff}
.bn-anniv .ms{font-size:15px}

/* Tableau de bord */
.bn-bienvenue h1{font-size:clamp(28px,3.4vw,40px)}
.bn-tuiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;margin-bottom:16px}
.bn-tuile{display:grid;gap:2px;text-decoration:none;color:inherit;padding:16px 18px}
.bn-tuile .ms{font-size:28px;color:var(--accent)}
.bn-tuile b{font-family:var(--titre);font-size:30px;color:var(--encre-2);line-height:1.1}
.bn-tuile span{color:var(--doux);font-size:13.5px}
.bn-tuile.vert{background:var(--accent-doux)}
.bn-tuile.jaune{background:var(--or-doux)}
.bn-tuile.rose{background:var(--rose-doux)}
.bn-occ{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;text-align:center}
.bn-occ-jour{display:grid;justify-items:center;gap:4px;padding:8px 2px;border-radius:16px}
.bn-occ-jour.auj{background:var(--accent-doux)}
.bn-anneau{--p:0;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--accent) calc(var(--p) * 1%),var(--sable-2) 0)}
.bn-anneau b{display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:#fff;font-size:13px;color:var(--accent-texte)}
.bn-occ-jour small{font-weight:700}
.bn-occ-jour .muted .ms{font-size:16px}
.bn-menu{margin:0 0 10px;white-space:pre-wrap}

/* Lignes par enfant (pointages, repas, siestes…) */
.bn-totaux{display:flex;gap:14px;flex-wrap:wrap;margin-left:auto;font-weight:700;color:var(--doux)}
.bn-lignes{display:grid;gap:12px}
.bn-ligne{display:flex;align-items:center;gap:14px;padding:12px 16px;flex-wrap:wrap}
.bn-qui{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;flex:1 1 180px;min-width:0}
.bn-qui > div{display:grid;justify-items:start;gap:2px}
.bn-paires{display:flex;gap:14px;flex-wrap:wrap}
.bn-paire{display:flex;gap:10px;padding-left:14px;border-left:1px solid var(--trait)}
.bn-paire:first-child{border-left:0;padding-left:0}
.bn-bulle{display:grid;justify-items:center;gap:4px;border:0;background:none;padding:0;cursor:pointer;font:inherit}
.bn-bulle b{display:grid;place-items:center;width:62px;height:62px;border-radius:50%;font-size:15px;font-weight:800;border:2px solid #8ed58a;color:#3aaa35;background:#f1fbef}
.bn-bulle.fait b{background:linear-gradient(140deg,#4cbf47,#2f9a2a);border-color:transparent;color:#fff;box-shadow:0 4px 10px -4px rgba(47,154,42,.7)}
.bn-bulle small{font-size:12px;color:var(--doux)}
.bn-bulle:disabled{cursor:default}
.bn-bulle:not(:disabled):hover b{transform:scale(1.05)}
.bn-autres{margin-top:6px}
.bn-autres summary{cursor:pointer;font-weight:700;color:var(--doux);padding:6px 0}
.bn-autres .bn-ligne{margin-top:10px}
.bn-notes{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;flex:1 1 200px}
.bn-note{display:grid;justify-items:center;gap:2px;min-width:52px}
.bn-note .ms{font-size:34px;color:var(--ciel)}
.bn-note.t-repas .ms{color:var(--rose)}
.bn-note.t-sieste .ms{color:#6a5ad6}
.bn-note.t-change .ms,.bn-note.t-sante .ms{color:#d2462c}
.bn-note.t-activite .ms,.bn-note.t-humeur .ms{color:#f0a20d}
.bn-note.t-note .ms{color:var(--accent)}
.bn-note em{font-style:normal;font-size:11.5px;font-weight:800;color:#fff;background:var(--ciel);border-radius:999px;padding:1px 8px;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bn-note small{color:var(--doux);font-weight:700}
.bn-plus{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;border:0;background:var(--accent-doux);color:var(--accent-texte);cursor:pointer}
.bn-plus .ms{font-size:30px}
.bn-jour{display:flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--trait);border-radius:999px;padding:4px 8px}
.bn-jour label{position:relative;display:grid}
.bn-jour b{font-family:var(--titre);color:var(--accent-texte);text-transform:capitalize;padding:0 6px}
.bn-jour input{position:absolute;inset:0;opacity:0;cursor:pointer}

/* Cahier de transmission */
.bn-cahier{margin-bottom:14px}
.bn-cahier-tete{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}
.bn-cahier-tete > div{display:grid;flex:1}
.bn-cahier-tete small{color:var(--doux)}
.bn-trans-liste{display:grid}
.bn-trans{display:flex;gap:12px;padding:12px 2px;border-top:4px solid var(--sable-3)}
.bn-trans:first-child{border-top:0}
.bn-trans-ic{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;flex:none;border:2px solid currentColor;color:var(--ciel)}
.bn-trans.t-arrivee .bn-trans-ic,.bn-trans.t-depart .bn-trans-ic{color:#6a5ad6}
.bn-trans.t-repas .bn-trans-ic,.bn-trans.t-photo .bn-trans-ic{color:var(--rose)}
.bn-trans.t-activite .bn-trans-ic,.bn-trans.t-humeur .bn-trans-ic{color:#f0a20d}
.bn-trans.t-change .bn-trans-ic,.bn-trans.t-sante .bn-trans-ic{color:#d2462c}
.bn-trans.t-sieste .bn-trans-ic{color:#6a5ad6}
.bn-trans.t-note .bn-trans-ic{color:var(--accent)}
.bn-trans .quoi{display:grid;gap:4px;min-width:0;flex:1}
.bn-trans .quoi > div{display:grid}
.bn-trans .quoi small{color:var(--doux)}
.bn-trans p{margin:0;white-space:pre-wrap}
.bn-valeur{justify-self:start;background:#1a9bb0;color:#fff;font-weight:800;font-size:13px;border-radius:6px;padding:1px 8px}
.bn-photo{display:block;width:100%;max-width:420px;border-radius:14px;margin-top:6px}
.bn-fiche-trans{margin-bottom:16px}
.bn-fiche-trans h2{margin-bottom:10px}
.bn-fiche-trans .bn-jour{margin-bottom:10px;display:inline-flex}

/* Photos et médias */
.bn-choix-enfants{display:flex;flex-wrap:wrap;gap:10px}
.bn-choix{display:grid;justify-items:center;gap:4px;font-weight:700;font-size:13px;cursor:pointer;padding:8px;border-radius:16px;border:2px solid transparent}
.bn-choix input{position:absolute;opacity:0}
.bn-choix:has(input:checked){border-color:var(--accent);background:var(--accent-doux)}
.bn-galerie{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-top:14px}
.bn-media{display:grid;text-decoration:none;color:inherit;background:#fff;border-radius:18px;overflow:hidden;box-shadow:var(--ombre)}
.bn-media img{width:100%;aspect-ratio:4/3;object-fit:cover}
.bn-media span{font-weight:700;font-size:13px;padding:8px 10px 0}
.bn-media small{color:var(--doux);padding:0 10px 10px}

/* Planning des enfants */
.bn-jours{display:flex;gap:10px;overflow-x:auto;padding:4px 2px 12px}
.bn-jour-carte{flex:1 0 96px;display:grid;justify-items:center;gap:2px;border:0;border-radius:20px;background:#e9eee8;padding:12px 8px;cursor:pointer;font:inherit;color:var(--encre-2)}
.bn-jour-carte b{font-family:var(--titre);font-size:34px;line-height:1}
.bn-jour-carte span{text-transform:uppercase;font-weight:700}
.bn-jour-carte small{display:flex;gap:4px}
.bn-jour-carte em{font-style:normal;font-weight:800;font-size:12px;border-radius:999px;padding:2px 8px;background:#fff;color:var(--accent-texte);display:inline-flex;align-items:center}
.bn-jour-carte em.att{background:var(--or);color:#5a3d07}
.bn-jour-carte em .ms{font-size:14px}
.bn-jour-carte.actif{background:var(--accent);color:#fff;box-shadow:0 6px 16px -6px rgba(47,154,42,.7)}
.bn-jour-carte.ferme{opacity:.55}
.bn-planning{overflow-x:auto}
.bn-pl-ligne{display:grid;grid-template-columns:220px minmax(560px,1fr);gap:12px;align-items:center;padding:8px 4px;border-radius:14px}
.bn-pl-ligne:nth-child(even):not(.bn-pl-tete){background:#f3faf1}
.bn-pl-ligne.absent{opacity:.55}
.bn-pl-ligne .bn-avatar{width:38px;height:38px;font-size:14px}
.bn-pl-ligne .bn-nom{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bn-pl-axe{position:relative;height:34px;background:repeating-linear-gradient(90deg,#f0f3ef 0 calc(100%/12 - 1px),#e2e8e0 calc(100%/12 - 1px) calc(100%/12));border-radius:999px}
.bn-pl-tete .bn-pl-axe{height:60px;background:none}
.bn-heures{position:relative;height:24px}
.bn-heures span{position:absolute;transform:translateX(-50%);font-size:11.5px;font-weight:800;color:var(--accent-texte);background:var(--accent-doux);border-radius:999px;padding:1px 6px}
.bn-charge{display:flex;height:30px;border-radius:999px;overflow:hidden;background:#eef3ec}
.bn-charge span{display:grid;place-items:center;background:var(--accent);color:#fff;font-size:11px;font-weight:800}
.bn-barre{position:absolute;top:3px;bottom:3px;border-radius:999px;display:grid;place-items:center;font-size:12px;font-weight:800;white-space:nowrap;overflow:hidden}
.bn-barre.contrat{background:repeating-linear-gradient(135deg,#8fd38b 0 10px,#7ccb77 10px 20px);color:#1f3b1e}
.bn-barre.resa{background:repeating-linear-gradient(135deg,#8cc4f0 0 10px,#7ab8ea 10px 20px);color:#0f3556}
.bn-barre.pointe{top:auto;bottom:-3px;height:6px;background:#23801f}
.bn-legende{display:flex;gap:16px;margin-top:12px;font-size:13px;font-weight:700;color:var(--doux)}
.bn-legende span::before{content:"";display:inline-block;width:22px;height:10px;border-radius:999px;margin-right:6px;vertical-align:middle}
.bn-legende .contrat::before{background:#8fd38b}
.bn-legende .resa::before{background:#8cc4f0}
.bn-legende .pointe::before{background:#23801f;height:5px}

/* Messagerie et contact : un fil comme une conversation */
.bn-fil{display:grid;gap:14px;max-height:62vh;overflow-y:auto;padding:4px}
.bn-fil-ligne{display:grid;grid-template-columns:70px 1fr;gap:12px;align-items:start}
.bn-fil-quand{color:var(--doux);font-weight:700;font-size:12px;padding-top:6px;text-align:right}
.bn-fil-bulle{justify-self:start;max-width:min(520px,100%);background:var(--sable-3);border-radius:18px 18px 18px 4px;padding:10px 14px;display:grid;gap:4px}
.bn-fil-ligne.equipe .bn-fil-bulle{justify-self:end;background:var(--accent);color:#fff;border-radius:18px 18px 4px 18px}
.bn-fil-ligne.t-absence .bn-fil-bulle{background:var(--rose-doux)}
.bn-fil-ligne.t-reservation .bn-fil-bulle{background:var(--ciel-doux)}
.bn-fil-ligne.t-retard .bn-fil-bulle{background:var(--or-doux)}
.bn-fil-bulle p{margin:0;white-space:pre-wrap}
.bn-fil-dates{color:#c4314f;font-weight:700;font-size:13px}
.bn-fil-prive{display:inline-flex;align-items:center;gap:4px;opacity:.85}
.bn-fil-prive .ms{font-size:15px}
.bn-ecrire{display:grid;gap:8px;margin-top:14px;border-top:1px solid var(--trait);padding-top:12px}
.bn-ecrire .btn{justify-self:end}
.bn-ecrire label{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--doux);cursor:pointer}
.bn-ecrire label input{width:auto;margin:0}
.bn-demandes{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:14px}
.bn-demande{display:flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:14px;padding:14px;font:inherit;font-weight:800;font-size:16px;color:#fff;cursor:pointer;box-shadow:0 4px 0 rgba(0,0,0,.12)}
.bn-demande.absence{background:#e8467a}
.bn-demande.reservation{background:#2e8fd6}
.bn-demande.retard{background:#f0a20d}
.bn-demande.message{background:var(--accent)}

/* Actualités */
.bn-actus{display:grid;gap:14px}
.bn-actu{display:grid;grid-template-columns:86px 1fr;border-radius:20px;overflow:hidden;background:#fff;box-shadow:var(--ombre)}
.bn-actu-date{display:grid;align-content:center;justify-items:center;color:#fff;background:var(--accent)}
.bn-actu-date b{font-family:var(--titre);font-size:30px;line-height:1}
.bn-actu-date small{text-transform:uppercase;font-weight:800}
.bn-actu > div:last-child{padding:14px 18px;display:grid;gap:6px;justify-items:start}
.bn-actu h2{font-size:20px}
.bn-actu p{margin:0;white-space:pre-wrap}
.bn-actu.jaune .bn-actu-date{background:#e0ac00}
.bn-actu.ciel .bn-actu-date{background:#2e8fd6}
.bn-actu.rose .bn-actu-date{background:var(--rose)}

/* Pré-inscriptions en cartes */
.places-cartes{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.place-carte{display:grid;gap:12px;align-content:start}
.place-tete{display:flex;justify-content:space-between;align-items:center;gap:8px;border-bottom:1px solid var(--trait);padding-bottom:10px}
.place-nom{display:flex;align-items:center;gap:4px;font-family:var(--titre);font-size:18px;text-transform:uppercase;color:var(--encre-2)}
.place-nom.garcon{color:var(--accent-texte)}
.place-nom.fille{color:var(--rose)}
.place-infos{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.place-infos > div{display:grid}
.place-infos small,.place-semaine small{font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;font-weight:800;color:var(--doux)}
.place-infos .muted{font-size:12.5px}
.place-jours{display:flex;gap:12px;margin-top:6px}
.place-jours span{display:grid;justify-items:center;gap:3px;font-size:12px;color:var(--doux)}
.place-jours i{width:26px;height:26px;border-radius:50%;background:#dfe4de}
.place-jours .oui i{background:var(--accent)}

@media (max-width:760px){
  .bn-ligne{padding:10px 12px;gap:10px}
  .bn-bulle b{width:54px;height:54px;font-size:13.5px}
  .bn-occ{grid-template-columns:repeat(5,minmax(0,1fr))}
  .bn-anneau{width:52px;height:52px}
  .bn-anneau b{width:40px;height:40px;font-size:11px}
  .bn-pl-ligne{grid-template-columns:150px minmax(520px,1fr)}
  .bn-fil-ligne{grid-template-columns:1fr}
  .bn-fil-quand{text-align:left;padding:0}
  .bn-fil-ligne.equipe .bn-fil-quand{text-align:right}
  .bn-actu{grid-template-columns:64px 1fr}
}
