/* Crèche — compléments au socle */
.kpi .v small{font-size:15px;color:var(--gris);font-weight:700}
.nb-t{font-size:12px;font-weight:800;color:var(--gris);background:var(--trait2);border-radius:8px;padding:1px 7px;margin-left:2px}
.av-enf{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#fff;font-weight:800;font-size:13px;flex-shrink:0;letter-spacing:.02em}
.ligne .av .av-enf{width:38px!important;height:38px!important}
.ligne .av:has(.av-enf){background:none}
.ic-mini{display:inline-flex;vertical-align:-3px}.ic-mini svg{width:15px;height:15px}.ic-mini.rouge{color:var(--rouge)}
.rouge-t{color:var(--rouge);font-weight:700}
.chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 0 2px}
.carte .chips{padding:0 16px 14px}
.chip{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border-radius:17px;background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--trait);font-weight:700;font-size:13px;cursor:pointer}
.chip svg{width:15px;height:15px}
.chip input{accent-color:var(--acc)}
.legende{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:11.5px;color:var(--gris);padding:6px 4px 0}
.legende span{display:inline-flex;align-items:center;gap:6px}
.legende i{display:inline-block;width:11px;height:11px;border-radius:3px}
.legende i.trait{width:16px;height:0;border-top:2.2px solid var(--ink);border-radius:0}
.legende i.tiret{border-top-style:dashed}
.a-traiter .ligne .av{background:var(--ambre-f);color:var(--ambre)}
.jpill{display:inline-flex;width:20px;height:20px;border-radius:6px;align-items:center;justify-content:center;font-size:10.5px;font-weight:800;background:var(--trait2);color:var(--gris2);margin-right:2px}
.jpill.on{background:var(--acc-f);color:var(--acc-d)}
.lien-p{font:inherit;text-align:left;color:inherit;padding:0}
.lien-p:hover b{color:var(--acc-d)}
.coche-l{display:inline-flex;align-items:center;gap:7px;font-weight:700;font-size:13px;cursor:pointer}
.coche-l input{width:18px;height:18px;accent-color:var(--acc)}

/* Pointage tablette */
.pt-tete{display:flex;gap:10px;margin-bottom:12px;flex-wrap:wrap}
.pt-cpt{background:var(--surface);border-radius:12px;box-shadow:var(--ombre);padding:10px 16px;display:flex;align-items:baseline;gap:8px;flex:1;min-width:120px}
.pt-cpt b{font-size:24px;font-weight:800}.pt-cpt span{font-size:12.5px;color:var(--gris);font-weight:700}
.pt-cpt.rouge b{color:var(--rouge)}.pt-cpt.vert b{color:var(--vert)}
.pt-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.pt-carte{position:relative;background:var(--surface);border-radius:14px;box-shadow:var(--ombre);border-left:5px solid var(--trait);min-height:86px}
.pt-zone{display:flex;align-items:center;gap:12px;width:100%;height:100%;padding:14px 40px 14px 14px;text-align:left;border-radius:14px;min-height:86px}
.pt-zone:active{background:var(--fond)}
.pt-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.pt-nom{font-size:13px;color:var(--gris);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pt-nom b{font-size:17px;font-weight:800;color:var(--ink)}
.pt-etat{font-size:12px;color:var(--gris);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pt-etat b{font-size:13.5px;font-weight:800;color:var(--ink)}
.pt-plus{position:absolute;top:8px;right:6px;width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;color:var(--gris)}
.pt-plus:hover{background:var(--trait2)}
.pt-sante{position:absolute;bottom:9px;right:13px;color:var(--rouge)}.pt-sante svg{width:16px;height:16px}
.pt-carte.present{border-left-color:var(--vert)}.pt-carte.present .pt-etat b{color:var(--vert)}
.pt-carte.retard{border-left-color:#E59E1A}.pt-carte.retard .pt-etat b{color:var(--ambre)}
.pt-carte.parti{opacity:.62}
.pt-carte.absent{border-left-color:var(--rouge);background:#FFFBFB}.pt-carte.absent .pt-etat b{color:var(--rouge)}
.choix-grand{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.choix-grand.q4{grid-template-columns:repeat(4,1fr)}
.choix-grand button{border-radius:11px;box-shadow:inset 0 0 0 1.5px var(--trait);padding:11px 10px;text-align:left;min-height:52px}
.choix-grand button b{display:block;font-size:14px}.choix-grand button span{display:block;font-size:12px;color:var(--gris)}
.choix-grand button.on{box-shadow:inset 0 0 0 2px var(--acc);background:var(--acc-f)}
.choix-grand.q4 button{text-align:center}
.resume-jour{display:flex;flex-direction:column;gap:6px;font-size:13px;background:var(--fond);border-radius:10px;padding:10px 12px}
.resume-jour>div{display:flex;gap:8px;align-items:flex-start}.resume-jour svg{width:16px;height:16px;color:var(--gris);margin-top:1px}

/* Transmissions */
.tr-wrap{display:grid;grid-template-columns:1fr 250px;gap:14px;align-items:start}
.tr-liste{margin:0}
.tr-ligne{display:flex;align-items:center;gap:8px;padding:8px 12px 8px 6px;border-top:1px solid var(--trait2)}
.tr-ligne:first-child{border-top:0}
.tr-ligne.on{background:var(--acc-f)}
.tr-coche{width:40px;height:40px;display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer}
.tr-coche input{width:20px;height:20px;accent-color:var(--acc)}
.tr-qui{display:flex;align-items:center;gap:10px;flex:1;min-width:0;text-align:left;line-height:1.3}
.tr-qui>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tr-res{display:flex;gap:4px;flex-shrink:0}
.tr-ic{position:relative;width:36px;height:36px;border-radius:10px;background:var(--trait2);color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center}
.tr-ic svg{width:16px;height:16px}
.tr-ic em{font-style:normal;font-size:9.5px;font-weight:800;line-height:1;margin-top:1px}
.tr-ic i{position:absolute;top:4px;right:4px;width:7px;height:7px;border-radius:50%}
.tr-ic i.b-vert{background:var(--vert)}.tr-ic i.b-ambre{background:#E59E1A}.tr-ic i.b-rouge{background:var(--rouge)}
.tr-ic.off{opacity:.35}
.tr-ic.dort{background:#E8E6FA;color:var(--violet)}
.tr-actions{position:sticky;top:12px;background:var(--surface);border-radius:var(--r);box-shadow:var(--ombre);padding:12px;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.tr-nsel{grid-column:1/-1;padding:2px 2px 4px}
.tr-bt{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;height:72px;border-radius:12px;background:var(--acc-f);color:var(--acc-d);font-weight:750;font-size:12.5px;text-align:center;line-height:1.15}
.tr-bt svg{width:22px;height:22px}
.tr-bt[disabled]{opacity:.4;cursor:default}
.fil{padding:0 12px 10px}
.fil-l{display:flex;align-items:center;gap:10px;padding:8px 4px;border-top:1px solid var(--trait2);font-size:13.5px}
.fil-h{font-weight:800;min-width:46px}.fil-ic{width:30px;height:30px;border-radius:9px;background:var(--acc-f);color:var(--acc-d);display:flex;align-items:center;justify-content:center;flex-shrink:0}.fil-ic svg{width:16px;height:16px}
.fil-x{flex:1;min-width:0}
.petit-ib{width:30px;height:30px}.petit-ib svg{width:15px;height:15px}
@media(min-width:1001px){.tr-liste{max-height:calc(100vh - 170px);overflow-y:auto}}
@media(max-width:1000px){.tr-wrap{grid-template-columns:1fr;padding-bottom:150px}.tr-actions{position:fixed;top:auto;left:232px;right:0;bottom:0;border-radius:16px 16px 0 0;grid-template-columns:repeat(4,1fr);z-index:45;box-shadow:0 -4px 18px rgba(13,23,48,.14);padding:10px 12px calc(10px + env(safe-area-inset-bottom))}.tr-actions:not(.actif) .tr-bt{display:none}.tr-actions:not(.actif){padding-bottom:10px}.tr-bt{height:58px}}
@media(max-width:860px){.tr-actions{left:0;bottom:calc(58px + env(safe-area-inset-bottom))}}
@media(max-width:560px){.tr-res .tr-ic:nth-child(n+4){display:none}.tr-bt{font-size:11px;height:54px}.tr-bt svg{width:20px;height:20px}.tr-actions{padding:8px;gap:6px}}
@media(max-width:860px){.entete>.btn.pri{display:none}}
/* Fiches */
.vacc{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;padding:0 16px 14px}
.vacc-l{border-radius:10px;box-shadow:inset 0 0 0 1.5px var(--trait);padding:8px 10px;text-align:left}
.vacc-l b{display:block;font-size:13px}.vacc-l span{font-size:12px;color:var(--gris)}
.vacc-l.ok{box-shadow:inset 0 0 0 1.5px #BFE3CF;background:var(--vert-f)}
.vacc-l.manque{box-shadow:inset 0 0 0 1.5px #F0C48A;background:var(--ambre-f)}.vacc-l.manque span{color:var(--ambre);font-weight:700}
.sem-type{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;padding:0 16px 14px}
.sem-type>div{border-radius:10px;background:var(--trait2);padding:8px;text-align:center;font-size:12px;color:var(--gris2)}
.sem-type>div b{display:block;font-size:12.5px;color:var(--gris)}
.sem-type>div.on{background:var(--acc-f);color:var(--acc-d)}.sem-type>div.on b{color:var(--ink)}
@media(max-width:520px){.sem-type{grid-template-columns:1fr 1fr}}
.k-sem{display:flex;flex-direction:column;gap:6px}
.k-j{display:grid;grid-template-columns:130px 1fr 1fr;gap:8px;align-items:center}
.k-calc{background:var(--acc-f);color:var(--acc-d);border-radius:10px;padding:10px 12px;font-size:13.5px}
@media(max-width:560px){.k-j{grid-template-columns:100px 1fr 1fr;gap:6px}}

/* Planning */
.planning-t th button{font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit}
.planning-t th.auj{color:var(--acc-d)}
.planning-t th.sel{background:var(--acc-f)}
.planning-t td.ferme{background:repeating-linear-gradient(135deg,#F6F7FA 0 6px,#fff 6px 12px)}
.creneau{display:inline-block;white-space:nowrap;background:var(--acc-f);color:var(--acc-d);border-radius:7px;padding:3px 8px;font-weight:700;font-size:12.5px}
.creneau.hors{background:var(--trait2);color:var(--gris);font-style:italic}
.occ td,.occ th{padding:8px 10px}
.occ-c{display:inline-flex;min-width:28px;height:24px;border-radius:7px;align-items:center;justify-content:center;font-weight:800;font-size:12.5px}
.occ-c.libre{background:var(--vert-f);color:var(--vert)}.occ-c.juste{background:var(--ambre-f);color:var(--ambre)}.occ-c.plein{background:var(--rouge-f);color:var(--rouge)}
.side .marque b{white-space:normal;line-height:1.2}
.form label.coche-l{flex-direction:row;align-items:center;color:var(--ink)}
