:root{--color-primary:#2f6f4f;--color-primary-light:#4a9770;--color-secondary:#f2a541;--color-danger:#d64545;--color-success:#3ba55c;--color-warning:#e0a800;--color-recuperer:#cbb6e8;--color-payer-clair:#f3aeae;--color-background:#f7f7f5;--color-surface:#fff;--color-text:#1f2421;--color-text-muted:#6b7268;--color-border:#e0e0dc;--font-family-base:system-ui, -apple-system, "Segoe UI", sans-serif;--font-size-sm:1rem;--font-size-md:1.125rem;--font-size-lg:1.375rem;--font-size-xl:2rem;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--radius-md:8px;--shadow-sm:0 1px 3px #0000001a;--tap-target-min:48px;--bottom-nav-height:64px}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font-family-base);font-size:var(--font-size-md);color:var(--color-text);background-color:var(--color-background);-webkit-font-smoothing:antialiased}button{font-family:inherit;font-size:var(--font-size-sm);min-height:var(--tap-target-min);cursor:pointer}input,select{font-family:inherit;font-size:var(--font-size-sm);min-height:var(--tap-target-min)}a{color:inherit}.bottom-nav{z-index:10;height:var(--bottom-nav-height);background-color:var(--color-surface);border-top:1px solid var(--color-border);display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav__item{min-height:var(--tap-target-min);color:var(--color-text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:.75rem;text-decoration:none;display:flex}.bottom-nav__item--actif{color:var(--color-primary)}.bottom-nav__icone{width:24px;height:24px}.bottom-nav__icone svg{width:100%;height:100%}.pin-pad{padding:var(--spacing-lg);flex-direction:column;align-items:center;display:flex}.pin-pad__points{gap:var(--spacing-md);margin-bottom:var(--spacing-md);display:flex}.pin-pad__point{border:2px solid var(--color-primary);border-radius:50%;width:18px;height:18px}.pin-pad__point--rempli{background-color:var(--color-primary)}.pin-pad__erreur{margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-danger)}.pin-pad__touches{gap:var(--spacing-sm);grid-template-columns:repeat(3,1fr);width:100%;max-width:280px;display:grid}.pin-pad__touche{height:64px;font-size:var(--font-size-xl);color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);justify-content:center;align-items:center;font-weight:600;display:flex}.pin-pad__touche:disabled{visibility:hidden}.pin-pad__annuler{margin-top:var(--spacing-lg);padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-md);color:var(--color-text-muted);background:0 0;border:none}.user-switcher__actuel{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex}.user-switcher__avatar{width:36px;height:36px;font-size:var(--font-size-sm);color:var(--color-surface);background-color:var(--color-primary);border-radius:50%;justify-content:center;align-items:center;font-weight:600;display:flex}.user-switcher__nom{font-size:var(--font-size-sm);color:var(--color-text)}.user-switcher__overlay{z-index:100;background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.user-switcher__panneau{width:90%;max-width:360px;max-height:80vh;padding:var(--spacing-lg);background-color:var(--color-surface);border-radius:var(--radius-md);overflow-y:auto}.user-switcher__titre{margin-bottom:var(--spacing-md);font-size:var(--font-size-md);text-align:center;color:var(--color-text)}.user-switcher__grille{gap:var(--spacing-md);grid-template-columns:repeat(3,1fr);display:grid}.user-switcher__membre{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm);background:0 0;border:none;flex-direction:column;display:flex}.user-switcher__membre .user-switcher__avatar{width:56px;height:56px;font-size:var(--font-size-md)}.user-switcher__membre-nom{font-size:var(--font-size-sm);color:var(--color-text)}.user-switcher__bas{margin-top:var(--spacing-lg);justify-content:space-between;display:flex}.user-switcher__fermer{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-md);color:var(--color-text-muted);background:0 0;border:none}.user-switcher__deconnexion{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-md);color:var(--color-danger);background:0 0;border:none}.app-layout__barre-utilisateur{padding:var(--spacing-sm) var(--spacing-md);justify-content:space-between;align-items:center;display:flex}.app-layout__logo{object-fit:contain;width:48px;height:48px}.app-layout__contenu{padding-bottom:var(--bottom-nav-height)}.login{min-height:100vh;padding:var(--spacing-md);background-color:var(--color-background);justify-content:center;align-items:center;display:flex}.login__form{width:100%;max-width:360px;padding:var(--spacing-xl);background-color:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);flex-direction:column;display:flex}.login__logo{width:220px;height:auto;margin:0 auto var(--spacing-lg);object-fit:contain;display:block}.login__label{margin-top:var(--spacing-md);margin-bottom:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-muted)}.login__input{padding:var(--spacing-sm);font-size:var(--font-size-md);border:1px solid var(--color-border);border-radius:var(--radius-md)}.login__error{margin-top:var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-danger)}.login__submit{margin-top:var(--spacing-lg);padding:var(--spacing-sm);font-size:var(--font-size-md);color:var(--color-surface);background-color:var(--color-primary);border-radius:var(--radius-md);border:none;font-weight:600}.login__submit:disabled{opacity:.6;cursor:not-allowed}.enfant-card{align-items:center;gap:var(--spacing-md);width:100%;padding:var(--spacing-md);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);text-align:left;display:flex}.enfant-card__avatar{width:var(--tap-target-min);height:var(--tap-target-min);color:var(--color-surface);background-color:var(--color-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:flex}.enfant-card__avatar--photo{object-fit:cover}.enfant-card__infos{flex-direction:column;flex-grow:1;min-width:0;display:flex}.enfant-card__nom{align-items:center;gap:var(--spacing-xs);min-width:0;font-size:var(--font-size-md);color:var(--color-text);flex-wrap:wrap;font-weight:600;display:flex}.enfant-card__alerte{width:22px;height:22px;font-size:var(--font-size-sm);color:var(--color-surface);background-color:var(--color-warning);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.enfant-card__incident{padding:var(--spacing-xs) var(--spacing-sm);color:var(--color-surface);background-color:var(--color-danger);border-radius:var(--radius-md);flex-shrink:0;font-size:.75rem;font-weight:700}.enfant-card__groupe{font-size:var(--font-size-sm);color:var(--color-text-muted)}.enfant-card__indicateurs{gap:var(--spacing-xs);flex-shrink:0;display:flex}.enfant-card__indicateur{width:28px;height:28px;color:var(--color-text-muted);background-color:var(--color-background);border-radius:50%;justify-content:center;align-items:center;font-size:.75rem;font-weight:600;display:flex}.enfant-card__indicateur--fait{color:var(--color-surface);background-color:var(--color-success)}.repas-section{margin-top:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.repas-section__titre{margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-muted);font-weight:600}.repas-section__boutons{gap:var(--spacing-sm);grid-template-columns:repeat(2,1fr);display:grid}.repas-section__bouton{padding:var(--spacing-md);font-size:var(--font-size-md);color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);font-weight:600}.repas-section__bouton--actif{color:var(--color-surface);background-color:var(--color-primary);border-color:var(--color-primary)}.repas-section__detail{width:100%;height:var(--tap-target-min);margin-top:var(--spacing-sm);padding:var(--spacing-sm);font-family:inherit;font-size:var(--font-size-sm);border:1px solid var(--color-border);border-radius:var(--radius-md)}.repas-form{flex-direction:column;display:flex}.repas-form__valider{margin-top:var(--spacing-lg);padding:var(--spacing-sm);font-size:var(--font-size-md);color:var(--color-surface);background-color:var(--color-primary);border-radius:var(--radius-md);border:none;font-weight:600}.repas-bebe-form{flex-direction:column;display:flex}.repas-bebe-form__section-titre{margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-muted);font-weight:600}.repas-bebe-form__biberons{gap:var(--spacing-sm);margin-bottom:var(--spacing-sm);flex-direction:column;list-style:none;display:flex}.repas-bebe-form__biberon{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);background-color:var(--color-background);border-radius:var(--radius-md);display:flex}.repas-bebe-form__biberon-heure{color:var(--color-text);flex-shrink:0;font-weight:600}.repas-bebe-form__biberon-detail{font-size:var(--font-size-sm);color:var(--color-text);flex-grow:1}.repas-bebe-form__biberon-supprimer{width:var(--tap-target-min);font-size:var(--font-size-lg);color:var(--color-text-muted);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;line-height:1;display:flex}.repas-bebe-form__ajouter{padding:var(--spacing-sm);font-size:var(--font-size-md);color:var(--color-primary);background-color:var(--color-surface);border:1px dashed var(--color-primary);border-radius:var(--radius-md)}.repas-bebe-form__ajout-biberon{padding:var(--spacing-md);background-color:var(--color-background);border-radius:var(--radius-md);flex-direction:column;display:flex}.repas-bebe-form__label{margin-top:var(--spacing-sm);margin-bottom:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-muted)}.repas-bebe-form__input{padding:var(--spacing-sm);font-size:var(--font-size-md);border:1px solid var(--color-border);border-radius:var(--radius-md)}.repas-bebe-form__boutons{gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.repas-bebe-form__bouton{min-width:100px;padding:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex:1}.repas-bebe-form__bouton--actif{color:var(--color-surface);background-color:var(--color-primary);border-color:var(--color-primary)}.repas-bebe-form__valider-biberon{margin-top:var(--spacing-md);padding:var(--spacing-sm);font-size:var(--font-size-md);color:var(--color-surface);background-color:var(--color-primary);border-radius:var(--radius-md);border:none;font-weight:600}.repas-bebe-form__valider-biberon:disabled{opacity:.6;cursor:not-allowed}.repas-bebe-form__valider{margin-top:var(--spacing-lg);padding:var(--spacing-sm);font-size:var(--font-size-md);color:var(--color-surface);background-color:var(--color-primary);border-radius:var(--radius-md);border:none;font-weight:600}.sieste-form{flex-direction:column;display:flex}.sieste-form__label{margin-top:var(--spacing-sm);margin-bottom:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-muted)}.sieste-form__input{padding:var(--spacing-sm);font-size:var(--font-size-md);border:1px solid var(--color-border);border-radius:var(--radius-md)}.sieste-form__question{margin-top:var(--spacing-md);margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-muted)}.sieste-form__boutons{gap:var(--spacing-sm);display:flex}.sieste-form__bouton{padding:var(--spacing-sm);font-size:var(--font-size-md);color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex:1}.sieste-form__bouton--actif{color:var(--color-surface);background-color:var(--color-primary);border-color:var(--color-primary)}.sieste-form__valider{margin-top:var(--spacing-lg);padding:var(--spacing-sm);font-size:var(--font-size-md);color:var(--color-surface);background-color:var(--color-primary);border-radius:var(--radius-md);border:none;font-weight:600}.sieste-form__valider:disabled{opacity:.6;cursor:not-allowed}.change-form{flex-direction:column;display:flex}.change-form__label{margin-top:var(--spacing-sm);margin-bottom:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-muted)}.change-form__input{padding:var(--spacing-sm);font-size:var(--font-size-md);border:1px solid var(--color-border);border-radius:var(--radius-md)}.change-form__question{margin-top:var(--spacing-md);margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-muted)}.change-form__boutons{gap:var(--spacing-sm);display:flex}.change-form__bouton{padding:var(--spacing-sm);font-size:var(--font-size-md);color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex:1}.change-form__bouton--actif{color:var(--color-surface);background-color:var(--color-primary);border-color:var(--color-primary)}.change-form__valider{margin-top:var(--spacing-lg);padding:var(--spacing-sm);font-size:var(--font-size-md);color:var(--color-surface);background-color:var(--color-primary);border-radius:var(--radius-md);border:none;font-weight:600}.change-form__valider:disabled{opacity:.6;cursor:not-allowed}.activite-form__question{margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-muted)}.activite-form__boutons{gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);grid-template-columns:repeat(2,1fr);display:grid}.activite-form__bouton{padding:var(--spacing-sm);font-size:var(--font-size-md);color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.activite-form__libre{gap:var(--spacing-sm);display:flex}.activite-form__input{padding:var(--spacing-sm);font-size:var(--font-size-md);border:1px solid var(--color-border);border-radius:var(--radius-md);flex:1}.activite-form__valider{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-md);color:var(--color-surface);background-color:var(--color-primary);border-radius:var(--radius-md);border:none;font-weight:600}.mot-matin-form{flex-direction:column;display:flex}.mot-matin-form__question{margin-top:var(--spacing-md);margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-muted)}.mot-matin-form__boutons{gap:var(--spacing-sm);display:flex}.mot-matin-form__bouton{padding:var(--spacing-sm);font-size:var(--font-size-md);color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex:1}.mot-matin-form__bouton--actif{color:var(--color-surface);background-color:var(--color-primary);border-color:var(--color-primary)}.mot-matin-form__label{margin-top:var(--spacing-md);margin-bottom:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-muted)}.mot-matin-form__input{padding:var(--spacing-sm);font-size:var(--font-size-md);border:1px solid var(--color-border);border-radius:var(--radius-md)}.mot-matin-form__textarea{min-height:88px;padding:var(--spacing-sm);font-family:inherit;font-size:var(--font-size-md);border:1px solid var(--color-border);border-radius:var(--radius-md);resize:vertical}.mot-matin-form__case{align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-md);font-size:var(--font-size-md);color:var(--color-text);display:flex}.mot-matin-form__case input{width:24px;height:24px}.mot-matin-form__valider{margin-top:var(--spacing-lg);padding:var(--spacing-sm);font-size:var(--font-size-md);color:var(--color-surface);background-color:var(--color-primary);border-radius:var(--radius-md);border:none;font-weight:600}.mot-matin-form__valider:disabled{opacity:.6;cursor:not-allowed}.incident-form{flex-direction:column;display:flex}.incident-form__question{margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-muted)}.incident-form__boutons{gap:var(--spacing-sm);grid-template-columns:repeat(2,1fr);display:grid}.incident-form__bouton{padding:var(--spacing-md);font-size:var(--font-size-md);color:var(--color-danger);background-color:var(--color-surface);border:1px solid var(--color-danger);border-radius:var(--radius-md);font-weight:600}.incident-form__bouton--actif{color:var(--color-surface);background-color:var(--color-danger)}.incident-form__label{margin-top:var(--spacing-md);margin-bottom:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-muted)}.incident-form__input{padding:var(--spacing-sm);font-size:var(--font-size-md);border:1px solid var(--color-border);border-radius:var(--radius-md)}.incident-form__textarea{min-height:88px;padding:var(--spacing-sm);font-family:inherit;font-size:var(--font-size-md);border:1px solid var(--color-border);border-radius:var(--radius-md);resize:vertical}.incident-form__case{align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-md);font-size:var(--font-size-md);color:var(--color-text);display:flex}.incident-form__case input{width:24px;height:24px}.incident-form__valider{margin-top:var(--spacing-lg);padding:var(--spacing-sm);font-size:var(--font-size-md);color:var(--color-surface);background-color:var(--color-danger);border-radius:var(--radius-md);border:none;font-weight:600}.incident-form__valider:disabled{opacity:.6;cursor:not-allowed}.day-recap{gap:var(--spacing-md);flex-direction:column;display:flex}.day-recap__vide{font-size:var(--font-size-sm);color:var(--color-text-muted)}.day-recap__section{flex-direction:column;display:flex}.day-recap__section-titre{margin-bottom:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-surface);border-radius:var(--radius-md);align-self:flex-start;font-weight:600;display:inline-block}.day-recap__section-titre--repas{background-color:var(--color-secondary)}.day-recap__section-titre--sieste{background-color:var(--color-primary-light)}.day-recap__section-titre--change{background-color:var(--color-warning)}.day-recap__section-titre--activite{background-color:var(--color-primary)}.day-recap__section-titre--incident{background-color:var(--color-danger)}.day-recap__liste{gap:var(--spacing-sm);flex-direction:column;list-style:none;display:flex}.day-recap__item{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex}.day-recap__description{font-size:var(--font-size-sm);color:var(--color-text);flex-grow:1}.day-recap__supprimer{width:var(--tap-target-min);font-size:var(--font-size-lg);color:var(--color-text-muted);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;line-height:1;display:flex}.date-selector{align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);display:flex}.date-selector__fleche{width:var(--tap-target-min);height:var(--tap-target-min);font-size:var(--font-size-lg);color:var(--color-primary);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);justify-content:center;align-items:center;display:flex}.date-selector__fleche:disabled{opacity:.4;cursor:not-allowed}.date-selector__input{padding:var(--spacing-sm);font-size:var(--font-size-md);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-grow:1}.transmissions{padding:var(--spacing-md);max-width:480px;margin:0 auto}.transmissions__chargement{padding:var(--spacing-lg);text-align:center;color:var(--color-text-muted)}.transmissions__header{justify-content:space-between;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);display:flex}.transmissions__titre{font-size:var(--font-size-lg);color:var(--color-text)}.transmissions__date{font-size:var(--font-size-sm);color:var(--color-text-muted);text-transform:capitalize}.transmissions__retour{padding:var(--spacing-sm);font-size:var(--font-size-md);color:var(--color-primary);background:0 0;border:none}.transmissions__export{gap:var(--spacing-sm);margin-bottom:var(--spacing-md);flex-wrap:wrap;display:flex}.transmissions__export-select{padding:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex:100%}.transmissions__export-bouton{padding:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-primary);background-color:var(--color-surface);border:1px solid var(--color-primary);border-radius:var(--radius-md);flex:auto}.transmissions__erreur{width:100%;padding:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-danger);background-color:var(--color-surface);border:1px solid var(--color-danger);border-radius:var(--radius-md)}.transmissions__liste{gap:var(--spacing-sm);flex-direction:column;list-style:none;display:flex}.transmissions__types{gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);grid-template-columns:repeat(3,1fr);display:grid}.transmissions__type{padding:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);font-weight:600}.transmissions__type--actif{color:var(--color-surface);background-color:var(--color-primary);border-color:var(--color-primary)}.transmissions__type--incident{color:var(--color-danger);border-color:var(--color-danger)}.transmissions__type--incident.transmissions__type--actif{color:var(--color-surface);background-color:var(--color-danger);border-color:var(--color-danger)}.transmissions__recap-titre{margin-top:var(--spacing-xl);margin-bottom:var(--spacing-sm);font-size:var(--font-size-md);color:var(--color-text)}.pointage-card{align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex}.pointage-card__avatar{width:var(--tap-target-min);height:var(--tap-target-min);color:var(--color-surface);background-color:var(--color-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:flex}.pointage-card__infos{flex-direction:column;flex-grow:1;min-width:0;display:flex}.pointage-card__nom{color:var(--color-text);font-weight:600}.pointage-card__sous-titre{font-size:var(--font-size-sm);color:var(--color-text-muted)}.pointage-card__actions{gap:var(--spacing-xs);flex-direction:column;flex-shrink:0;display:flex}.pointage-card__bouton{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text);background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);font-weight:600}.pointage-card__bouton--fait{color:var(--color-surface);background-color:var(--color-success);border-color:var(--color-success)}.pointage-card__bouton:disabled{opacity:.4;cursor:not-allowed}.pointage-card__ligne{align-items:center;gap:var(--spacing-xs);display:flex}.pointage-card__modifier{padding:2px var(--spacing-xs);color:var(--color-text-muted);background:0 0;border:none;align-self:flex-end;font-size:.75rem;text-decoration:underline}.pointage-card__edition{gap:var(--spacing-xs);padding:var(--spacing-xs);background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;display:flex}.pointage-card__edition-champ{justify-content:space-between;align-items:center;gap:var(--spacing-xs);color:var(--color-text-muted);font-size:.75rem;display:flex}.pointage-card__edition-champ input{font-size:var(--font-size-sm);color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:2px 4px}.pointage-card__edition-actions{gap:var(--spacing-xs);display:flex}.pointage-card__edition-annuler,.pointage-card__edition-valider{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-surface);color:var(--color-text);flex:1;padding:2px 4px;font-size:.75rem}.pointage-card__edition-valider{color:var(--color-surface);background-color:var(--color-primary);border-color:var(--color-primary)}.pointage-card__annuler{width:var(--tap-target-min);font-size:var(--font-size-lg);color:var(--color-danger);background:0 0;border:none;justify-content:center;align-items:center;line-height:1;display:flex}.presence-counter{padding:var(--spacing-md);margin-bottom:var(--spacing-lg);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.presence-counter__chiffres{gap:var(--spacing-lg);display:flex}.presence-counter__bloc{flex-direction:column;flex:1;align-items:center;display:flex}.presence-counter__valeur{font-size:var(--font-size-xl);color:var(--color-primary);font-weight:700}.presence-counter__total{font-size:var(--font-size-md);color:var(--color-text-muted);font-weight:500}.presence-counter__label{font-size:var(--font-size-sm);color:var(--color-text-muted)}.presence-counter__alerte{margin-top:var(--spacing-md);padding:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-surface);background-color:var(--color-danger);border-radius:var(--radius-md);text-align:center;font-weight:600}.info-bulle__bouton{width:28px;height:28px;font-size:var(--font-size-sm);color:var(--color-primary);background-color:var(--color-background);border:1px solid var(--color-border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-style:italic;font-weight:700;display:flex}.info-bulle__fond{z-index:100;padding:var(--spacing-lg);background-color:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.info-bulle__carte{width:100%;max-width:340px;padding:var(--spacing-lg);background-color:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.info-bulle__texte{font-size:var(--font-size-md);color:var(--color-text)}.info-bulle__fermer{width:100%;margin-top:var(--spacing-lg);padding:var(--spacing-sm);font-size:var(--font-size-md);color:var(--color-surface);background-color:var(--color-primary);border-radius:var(--radius-md);border:none;font-weight:600}.pointage{padding:var(--spacing-md);max-width:480px;margin:0 auto}.pointage__chargement{padding:var(--spacing-lg);text-align:center;color:var(--color-text-muted)}.pointage__entete{align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs);display:flex}.pointage__titre{font-size:var(--font-size-lg);color:var(--color-text);flex:1}.pointage__date{margin-bottom:var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-text-muted);text-transform:capitalize}.pointage__onglets{gap:var(--spacing-sm);margin-top:var(--spacing-lg);margin-bottom:var(--spacing-md);display:flex}.pointage__onglet{padding:var(--spacing-sm);font-size:var(--font-size-md);color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex:1;font-weight:600}.pointage__onglet--actif{color:var(--color-surface);background-color:var(--color-primary);border-color:var(--color-primary)}.pointage__blocage{margin-bottom:var(--spacing-md);padding:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-surface);background-color:var(--color-danger);border-radius:var(--radius-md);text-align:center;font-weight:600}.pointage__liste{gap:var(--spacing-sm);flex-direction:column;list-style:none;display:flex}.week-selector{align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);display:flex}.week-selector__fleche{width:var(--tap-target-min);height:var(--tap-target-min);font-size:var(--font-size-lg);color:var(--color-primary);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;display:flex}.week-selector__fleche:disabled{opacity:.4;cursor:not-allowed}.week-selector__label{text-align:center;font-size:var(--font-size-md);color:var(--color-text);flex-grow:1;font-weight:600}.creneau-form{padding:var(--spacing-md);margin-bottom:var(--spacing-md);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;display:flex}.creneau-form__titre{margin-bottom:var(--spacing-sm);font-size:var(--font-size-md);color:var(--color-text);font-weight:600}.creneau-form__presets{gap:var(--spacing-sm);margin-bottom:var(--spacing-md);grid-template-columns:repeat(2,1fr);display:grid}.creneau-form__preset{padding:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text);background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md)}.creneau-form__preset--actif{color:var(--color-surface);background-color:var(--color-primary);border-color:var(--color-primary)}.creneau-form__heures{gap:var(--spacing-md);grid-template-columns:repeat(2,1fr);display:grid}.creneau-form__label{margin-bottom:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-muted);display:block}.creneau-form__input{width:100%;padding:var(--spacing-sm);font-size:var(--font-size-md);border:1px solid var(--color-border);border-radius:var(--radius-md)}.creneau-form__actions{gap:var(--spacing-sm);margin-top:var(--spacing-lg);display:flex}.creneau-form__annuler,.creneau-form__supprimer{padding:var(--spacing-sm);font-size:var(--font-size-md);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex:1}.creneau-form__supprimer{color:var(--color-danger);border-color:var(--color-danger)}.creneau-form__annuler{color:var(--color-text)}.creneau-form__valider{padding:var(--spacing-sm);font-size:var(--font-size-md);color:var(--color-surface);background-color:var(--color-primary);border-radius:var(--radius-md);border:none;flex:2;font-weight:600}.creneau-form__valider:disabled{opacity:.6;cursor:not-allowed}.absence-form{padding:var(--spacing-md);margin-bottom:var(--spacing-md);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;display:flex}.absence-form__titre{margin-bottom:var(--spacing-sm);font-size:var(--font-size-md);color:var(--color-text);font-weight:600}.absence-form__jours{gap:var(--spacing-xs);margin-bottom:var(--spacing-md);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.absence-form__jour{padding:var(--spacing-sm) 0;font-size:var(--font-size-sm);color:var(--color-text);background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md)}.absence-form__jour--actif{color:var(--color-surface);background-color:var(--color-primary);border-color:var(--color-primary)}.absence-form__question{margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-muted)}.absence-form__motifs{gap:var(--spacing-sm);grid-template-columns:repeat(2,1fr);display:grid}.absence-form__motif{padding:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text);background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md)}.absence-form__motif--actif{color:var(--color-surface);background-color:var(--color-primary);border-color:var(--color-primary)}.absence-form__actions{gap:var(--spacing-sm);margin-top:var(--spacing-lg);display:flex}.absence-form__annuler,.absence-form__supprimer{padding:var(--spacing-sm);font-size:var(--font-size-md);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex:1}.absence-form__supprimer{color:var(--color-danger);border-color:var(--color-danger)}.absence-form__annuler{color:var(--color-text)}.absence-form__valider{padding:var(--spacing-sm);font-size:var(--font-size-md);color:var(--color-surface);background-color:var(--color-primary);border-radius:var(--radius-md);border:none;flex:2;font-weight:600}.absence-form__valider:disabled{opacity:.6;cursor:not-allowed}.depassement-form{padding:var(--spacing-md);margin-bottom:var(--spacing-md);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;display:flex}.depassement-form__titre{margin-bottom:var(--spacing-sm);font-size:var(--font-size-md);color:var(--color-text);font-weight:600}.depassement-form__question{margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-muted)}.depassement-form__motifs{gap:var(--spacing-sm);grid-template-columns:repeat(2,1fr);display:grid}.depassement-form__motif{padding:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text);background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md)}.depassement-form__motif--recuperer.depassement-form__motif--actif{color:var(--color-text);background-color:var(--color-recuperer);border-color:var(--color-recuperer)}.depassement-form__motif--payer.depassement-form__motif--actif{color:var(--color-text);background-color:var(--color-payer-clair);border-color:var(--color-payer-clair)}.depassement-form__actions{gap:var(--spacing-sm);margin-top:var(--spacing-lg);display:flex}.depassement-form__annuler,.depassement-form__supprimer{padding:var(--spacing-sm);font-size:var(--font-size-md);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex:1}.depassement-form__supprimer{color:var(--color-danger);border-color:var(--color-danger)}.depassement-form__annuler{color:var(--color-text)}.depassement-form__valider{padding:var(--spacing-sm);font-size:var(--font-size-md);color:var(--color-surface);background-color:var(--color-primary);border-radius:var(--radius-md);border:none;flex:2;font-weight:600}.depassement-form__valider:disabled{opacity:.6;cursor:not-allowed}.planning-reel-jour-form{padding:var(--spacing-md);margin-bottom:var(--spacing-md);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;display:flex}.planning-reel-jour-form__titre{margin-bottom:var(--spacing-sm);font-size:var(--font-size-md);color:var(--color-text);font-weight:600}.planning-reel-jour-form__heures{margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text);flex-direction:column;gap:2px;display:flex}.planning-reel-jour-form__edition-heures{align-items:flex-end;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);padding:var(--spacing-sm);background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-wrap:wrap;display:flex}.planning-reel-jour-form__edition-heures label{font-size:var(--font-size-sm);color:var(--color-text-muted);flex-direction:column;gap:2px;display:flex}.planning-reel-jour-form__edition-heures input{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.planning-reel-jour-form__edition-heures-valider{padding:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-surface);background-color:var(--color-primary);border-radius:var(--radius-md);border:none;font-weight:600}.planning-reel-jour-form__edition-heures-valider:disabled{opacity:.6;cursor:not-allowed}.planning-reel-jour-form__edition-heures-effacer{padding:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-danger);background-color:var(--color-surface);border:1px solid var(--color-danger);border-radius:var(--radius-md)}.planning-reel-jour-form__absence{margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-muted)}.planning-reel-jour-form__anomalies{margin-bottom:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text);background-color:var(--color-warning);border-radius:var(--radius-md);width:fit-content}.planning-reel-jour-form__depassement-info{margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text)}.planning-reel-jour-form__question{margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-muted)}.planning-reel-jour-form__commentaire{padding:var(--spacing-sm);font-size:var(--font-size-sm);font-family:var(--font-family-base);color:var(--color-text);background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);resize:vertical}.planning-reel-jour-form__actions{gap:var(--spacing-sm);margin-top:var(--spacing-md);display:flex}.planning-reel-jour-form__annuler,.planning-reel-jour-form__supprimer{padding:var(--spacing-sm);font-size:var(--font-size-md);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex:1}.planning-reel-jour-form__supprimer{color:var(--color-danger);border-color:var(--color-danger)}.planning-reel-jour-form__annuler{color:var(--color-text)}.planning-reel-jour-form__valider{padding:var(--spacing-sm);font-size:var(--font-size-md);color:var(--color-surface);background-color:var(--color-primary);border-radius:var(--radius-md);border:none;flex:2;font-weight:600}.planning-reel-jour-form__valider:disabled{opacity:.6;cursor:not-allowed}.planning-reel-jour-enfant-form{padding:var(--spacing-md);margin-bottom:var(--spacing-md);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;display:flex}.planning-reel-jour-enfant-form__titre{margin-bottom:var(--spacing-xs);font-size:var(--font-size-md);color:var(--color-text);font-weight:600}.planning-reel-jour-enfant-form__type{margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-muted)}.planning-reel-jour-enfant-form__champs{align-items:flex-end;gap:var(--spacing-sm);display:flex}.planning-reel-jour-enfant-form__champs label{font-size:var(--font-size-sm);color:var(--color-text-muted);flex-direction:column;gap:2px;display:flex}.planning-reel-jour-enfant-form__champs input{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text);background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md)}.planning-reel-jour-enfant-form__actions{gap:var(--spacing-sm);margin-top:var(--spacing-md);display:flex}.planning-reel-jour-enfant-form__annuler{padding:var(--spacing-sm);font-size:var(--font-size-md);color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex:1}.planning-reel-jour-enfant-form__valider{padding:var(--spacing-sm);font-size:var(--font-size-md);color:var(--color-surface);background-color:var(--color-primary);border-radius:var(--radius-md);border:none;flex:2;font-weight:600}.planning-reel-jour-enfant-form__valider:disabled{opacity:.6;cursor:not-allowed}.planning-pro-card{padding:var(--spacing-md);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.planning-pro-card--echange{border-color:var(--color-secondary);box-shadow:0 0 0 2px var(--color-secondary)}.planning-pro-card__entete{align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm);display:flex}.planning-pro-card__nom{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--font-size-md);color:var(--color-text);flex:auto;font-weight:600;overflow:hidden}.planning-pro-card__actions{gap:var(--spacing-xs);flex:none;display:flex}.planning-pro-card__absence-bouton{padding:0 var(--spacing-sm);height:var(--tap-target-min);font-size:var(--font-size-sm);color:var(--color-danger);background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md)}.planning-pro-card__semaine-bouton{padding:0 var(--spacing-sm);height:var(--tap-target-min);font-size:var(--font-size-sm);color:var(--color-primary);background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md)}.planning-pro-card__echange-bouton{width:var(--tap-target-min);height:var(--tap-target-min);font-size:var(--font-size-lg);color:var(--color-primary);background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);flex:none}.planning-pro-card__jours{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;display:grid}.planning-pro-card__jour{min-width:0;min-height:var(--tap-target-min);background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:4px 2px;display:flex;position:relative;overflow:hidden}.planning-pro-card__jour--a-categoriser{border:2px solid var(--color-danger)}.planning-pro-card__jour-badge{width:16px;height:16px;color:var(--color-surface);background-color:var(--color-danger);box-shadow:0 0 0 2px var(--color-surface);border-radius:50%;justify-content:center;align-items:center;font-size:.65rem;font-weight:700;line-height:1;display:flex;position:absolute;top:2px;right:2px}.planning-pro-card__jour:disabled{opacity:.85}.planning-pro-card__jour--rempli{background-color:var(--color-primary-light);border-color:var(--color-primary)}.planning-pro-card__jour-label{color:var(--color-text-muted);font-size:.7rem}.planning-pro-card__jour--rempli .planning-pro-card__jour-label{color:var(--color-surface)}.planning-pro-card__jour-heures{color:var(--color-surface);text-align:center;white-space:pre-line;flex-direction:column;font-size:.65rem;font-weight:600;line-height:1.2;display:flex}.planning-pro-card__jour-vide{font-size:var(--font-size-md);color:var(--color-text-muted)}.planning-pro-card__jour--absence{background-color:var(--color-text-muted);border-color:var(--color-text-muted)}.planning-pro-card__jour--absence .planning-pro-card__jour-label{color:var(--color-surface)}.planning-pro-card__jour-absence-texte{color:var(--color-surface);text-align:center;font-size:.65rem;font-weight:600}.planning-pro-card__jour--recuperer{background-color:var(--color-recuperer);border-color:var(--color-recuperer)}.planning-pro-card__jour--recuperer .planning-pro-card__jour-label,.planning-pro-card__jour--recuperer .planning-pro-card__jour-heures{color:var(--color-text)}.planning-pro-card__jour--payer{background-color:var(--color-payer-clair);border-color:var(--color-payer-clair)}.planning-pro-card__jour--payer .planning-pro-card__jour-label,.planning-pro-card__jour--payer .planning-pro-card__jour-heures{color:var(--color-text)}.planning-pro-card__jour--manquant{background-color:var(--color-danger);border-color:var(--color-danger)}.planning-pro-card__jour--anomalie{background-color:var(--color-warning);border-color:var(--color-warning)}.planning-pro-card__jour--anomalie .planning-pro-card__jour-label,.planning-pro-card__jour--anomalie .planning-pro-card__jour-heures{color:var(--color-text)}.planning-pro-card__heures-sup{align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm);flex-wrap:wrap;display:flex}.planning-pro-card__heures-sup-recuperer{color:#6b4f96}.planning-pro-card__heures-sup-payer{color:var(--color-danger)}.planning-pro-card__alerte{margin-top:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);color:var(--color-surface);background-color:var(--color-warning);border-radius:var(--radius-md);text-align:center;font-size:.75rem;font-weight:700}.planning-enfant-card{padding:var(--spacing-md);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.planning-enfant-card__entete{align-items:baseline;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm);display:flex}.planning-enfant-card__nom{font-size:var(--font-size-md);color:var(--color-text);font-weight:600}.planning-enfant-card__groupe{font-size:var(--font-size-sm);color:var(--color-text-muted)}.planning-enfant-card__jours{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;display:grid}.planning-enfant-card__jour{min-width:0;min-height:var(--tap-target-min);background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:4px 2px;display:flex;overflow:hidden}.planning-enfant-card__jour:disabled{opacity:.85}.planning-enfant-card__jour--rempli{background-color:var(--color-primary-light);border-color:var(--color-primary)}.planning-enfant-card__jour-label{color:var(--color-text-muted);font-size:.7rem}.planning-enfant-card__jour--rempli .planning-enfant-card__jour-label{color:var(--color-surface)}.planning-enfant-card__jour-heures{color:var(--color-surface);text-align:center;white-space:nowrap;flex-direction:column;font-size:.65rem;font-weight:600;line-height:1.2;display:flex}.planning-enfant-card__jour--manquant{background-color:var(--color-danger);border-color:var(--color-danger)}.planning-enfant-card__jour--manquant .planning-enfant-card__jour-label,.planning-enfant-card__jour--manquant .planning-enfant-card__jour-vide{color:var(--color-surface)}.planning-enfant-card__jour-vide{font-size:var(--font-size-md);color:var(--color-text-muted)}.plannings{padding:var(--spacing-md);max-width:480px;margin:0 auto}.plannings__chargement{padding:var(--spacing-lg);text-align:center;color:var(--color-text-muted)}.plannings__header{align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);display:flex}.plannings__titre{font-size:var(--font-size-lg);color:var(--color-text);flex:1}.plannings__onglets{gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);display:flex}.plannings__onglet{padding:var(--spacing-sm);font-size:var(--font-size-md);color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex:1;font-weight:600}.plannings__onglet--actif{color:var(--color-surface);background-color:var(--color-primary);border-color:var(--color-primary)}.plannings__vue-toggle{align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);display:flex}.plannings__vue-bouton{padding:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text);background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);flex:1}.plannings__vue-bouton--actif{color:var(--color-surface);background-color:var(--color-primary-light);border-color:var(--color-primary-light)}.plannings__export-bouton{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-primary);background-color:var(--color-surface);border:1px solid var(--color-primary);border-radius:var(--radius-md);flex:none}.plannings__reset-tous-bouton{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-danger);background-color:var(--color-surface);border:1px solid var(--color-danger);border-radius:var(--radius-md);align-self:flex-start}.plannings__section{gap:var(--spacing-md);flex-direction:column;display:flex}.plannings__aide{font-size:var(--font-size-sm);color:var(--color-text-muted)}.plannings__aide--active{padding:var(--spacing-sm);color:var(--color-text);background-color:var(--color-background);border-radius:var(--radius-md)}.plannings__liste{gap:var(--spacing-sm);flex-direction:column;list-style:none;display:flex}.plannings__formulaire-inline{list-style:none}.haccp-form{padding:var(--spacing-md);margin-bottom:var(--spacing-md);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;display:flex}.haccp-form__label{margin-top:var(--spacing-sm);margin-bottom:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-muted)}.haccp-form__input{padding:var(--spacing-sm);font-size:var(--font-size-md);border:1px solid var(--color-border);border-radius:var(--radius-md)}.haccp-form__norme{margin-top:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-muted)}.haccp-form__boutons{gap:var(--spacing-sm);margin-top:var(--spacing-lg);display:flex}.haccp-form__annuler{padding:var(--spacing-sm);font-size:var(--font-size-md);color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex:1}.haccp-form__valider{padding:var(--spacing-sm);font-size:var(--font-size-md);color:var(--color-surface);background-color:var(--color-primary);border-radius:var(--radius-md);border:none;flex:2;font-weight:600}.haccp-form__valider:disabled{opacity:.6;cursor:not-allowed}.haccp{padding:var(--spacing-md);max-width:480px;margin:0 auto}.haccp__header{margin-bottom:var(--spacing-md)}.haccp__titre{font-size:var(--font-size-lg);color:var(--color-text)}.haccp__date{font-size:var(--font-size-sm);color:var(--color-text-muted);text-transform:capitalize}.haccp__alerte{margin-bottom:var(--spacing-md);padding:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-surface);background-color:var(--color-danger);border-radius:var(--radius-md);text-align:center;font-weight:600}.haccp__section{margin-bottom:var(--spacing-lg)}.haccp__section-entete{margin-bottom:var(--spacing-sm);justify-content:space-between;align-items:center;display:flex}.haccp__section-titre{font-size:var(--font-size-md);color:var(--color-text)}.haccp__ajouter{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-md);background:0 0}.haccp__liste{gap:var(--spacing-xs);flex-direction:column;list-style:none;display:flex}.haccp__ligne{justify-content:space-between;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex}.haccp__ligne--alerte{border-color:var(--color-danger);color:var(--color-danger)}.haccp__vide{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-text-muted)}.haccp__menage-grille{gap:var(--spacing-sm);grid-template-columns:repeat(2,1fr);display:grid}.haccp__menage-zone{align-items:center;gap:var(--spacing-xs);min-height:var(--tap-target-min);padding:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;display:flex}.haccp__menage-zone--fait{color:var(--color-surface);background-color:var(--color-success);border-color:var(--color-success)}.haccp__menage-heure{opacity:.85;font-size:.75rem}.haccp__historique-bouton{width:100%;padding:var(--spacing-sm);margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.haccp__export{width:100%;padding:var(--spacing-sm);margin-top:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-surface);background-color:var(--color-primary);border-radius:var(--radius-md);border:none;font-weight:600}.enfant-admin-card{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex}.enfant-admin-card__avatar-bouton{background:0 0;border:none;border-radius:50%;flex-shrink:0;width:56px;height:56px;padding:0;position:relative;overflow:hidden}.enfant-admin-card__avatar{width:56px;height:56px;color:var(--color-surface);background-color:var(--color-primary);border-radius:50%;justify-content:center;align-items:center;font-weight:600;display:flex}.enfant-admin-card__avatar--photo{object-fit:cover}.enfant-admin-card__avatar-overlay{text-align:center;color:var(--color-surface);background-color:#00000080;padding:2px 0;font-size:.6rem;position:absolute;bottom:0;left:0;right:0}.enfant-admin-card__input-fichier{display:none}.enfant-admin-card__infos{flex-direction:column;flex-grow:1;min-width:0;display:flex}.enfant-admin-card__nom{font-size:var(--font-size-md);color:var(--color-text);font-weight:600}.enfant-admin-card__details{font-size:var(--font-size-sm);color:var(--color-text-muted)}.enfant-admin-card__action{padding:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-primary);background-color:var(--color-surface);border:1px solid var(--color-primary);border-radius:var(--radius-md);flex-shrink:0}.enfant-admin-card__action--danger{color:var(--color-danger);border-color:var(--color-danger)}.enfant-form{padding:var(--spacing-md);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;display:flex}.enfant-form__label{margin-top:var(--spacing-sm);margin-bottom:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-muted)}.enfant-form__input{padding:var(--spacing-sm);font-size:var(--font-size-md);border:1px solid var(--color-border);border-radius:var(--radius-md)}.enfant-form__question{margin-top:var(--spacing-md);margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-muted)}.enfant-form__boutons{gap:var(--spacing-sm);display:flex}.enfant-form__bouton{padding:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text);background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);flex:1}.enfant-form__bouton--actif{color:var(--color-surface);background-color:var(--color-primary);border-color:var(--color-primary)}.enfant-form__toggle-ligne{justify-content:space-between;align-items:center;gap:var(--spacing-md);min-height:var(--tap-target-min);margin-top:var(--spacing-md);padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);text-align:left;background:0 0;display:flex}.enfant-form__toggle-texte{flex-direction:column;gap:2px;display:flex}.enfant-form__toggle-label{font-size:var(--font-size-md);color:var(--color-text)}.enfant-form__toggle-aide{font-size:var(--font-size-sm);color:var(--color-text-muted)}.enfant-form__toggle{background-color:var(--color-border);border-radius:999px;flex-shrink:0;width:48px;height:28px;padding:3px;transition:background-color .15s}.enfant-form__toggle--actif{background-color:var(--color-primary)}.enfant-form__toggle-poignee{background-color:var(--color-surface);border-radius:50%;width:22px;height:22px;transition:transform .15s;display:block}.enfant-form__toggle--actif .enfant-form__toggle-poignee{transform:translate(20px)}.enfant-form__textarea{min-height:64px;padding:var(--spacing-sm);font-family:inherit;font-size:var(--font-size-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);resize:vertical}.enfant-form__actions{gap:var(--spacing-sm);margin-top:var(--spacing-lg);display:flex}.enfant-form__annuler{padding:var(--spacing-sm);font-size:var(--font-size-md);color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex:1}.enfant-form__valider{padding:var(--spacing-sm);font-size:var(--font-size-md);color:var(--color-surface);background-color:var(--color-primary);border-radius:var(--radius-md);border:none;flex:2;font-weight:600}.enfant-form__valider:disabled{opacity:.6;cursor:not-allowed}.membre-card{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-wrap:wrap;display:flex}.membre-card__avatar{width:48px;height:48px;color:var(--color-surface);background-color:var(--color-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:flex}.membre-card__infos{flex-direction:column;flex-grow:1;min-width:0;display:flex}.membre-card__nom{font-size:var(--font-size-md);color:var(--color-text);font-weight:600}.membre-card__actions{align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;flex-shrink:0;margin-left:auto;display:flex}.membre-card__role{padding:var(--spacing-xs) var(--spacing-sm);color:var(--color-surface);border-radius:var(--radius-md);flex-shrink:0;font-size:.75rem;font-weight:600}.membre-card__role--pro{background-color:var(--color-primary-light)}.membre-card__role--directrice{background-color:var(--color-secondary)}.membre-card__role--partage{color:var(--color-text-muted);background-color:var(--color-background);border:1px solid var(--color-border)}.membre-card__action{padding:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-primary);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-shrink:0}.membre-card__action--danger{color:var(--color-danger);border-color:var(--color-danger)}.membre-form{padding:var(--spacing-md);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;display:flex}.membre-form__label{margin-top:var(--spacing-sm);margin-bottom:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-muted)}.membre-form__input{padding:var(--spacing-sm);font-size:var(--font-size-md);border:1px solid var(--color-border);border-radius:var(--radius-md)}.membre-form__question{margin-top:var(--spacing-md);margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-muted)}.membre-form__toggle-ligne{justify-content:space-between;align-items:center;gap:var(--spacing-md);min-height:var(--tap-target-min);margin-top:var(--spacing-md);padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);text-align:left;background:0 0;display:flex}.membre-form__toggle-texte{flex-direction:column;gap:2px;display:flex}.membre-form__toggle-label{font-size:var(--font-size-md);color:var(--color-text)}.membre-form__toggle-aide{font-size:var(--font-size-sm);color:var(--color-text-muted)}.membre-form__toggle{background-color:var(--color-border);border-radius:999px;flex-shrink:0;width:48px;height:28px;padding:3px;transition:background-color .15s}.membre-form__toggle--actif{background-color:var(--color-primary)}.membre-form__toggle-poignee{background-color:var(--color-surface);border-radius:50%;width:22px;height:22px;transition:transform .15s;display:block}.membre-form__toggle--actif .membre-form__toggle-poignee{transform:translate(20px)}.membre-form__boutons{gap:var(--spacing-sm);display:flex}.membre-form__bouton{padding:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text);background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);flex:1}.membre-form__bouton--actif{color:var(--color-surface);background-color:var(--color-primary);border-color:var(--color-primary)}.membre-form__actions{gap:var(--spacing-sm);margin-top:var(--spacing-lg);display:flex}.membre-form__annuler{padding:var(--spacing-sm);font-size:var(--font-size-md);color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex:1}.membre-form__valider{padding:var(--spacing-sm);font-size:var(--font-size-md);color:var(--color-surface);background-color:var(--color-primary);border-radius:var(--radius-md);border:none;flex:2;font-weight:600}.membre-form__valider:disabled{opacity:.6;cursor:not-allowed}.gestion{padding:var(--spacing-md);max-width:480px;margin:0 auto}.gestion__chargement{padding:var(--spacing-lg);text-align:center;color:var(--color-text-muted)}.gestion__header{margin-bottom:var(--spacing-md)}.gestion__titre{font-size:var(--font-size-lg);color:var(--color-text)}.gestion__onglets{gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);display:flex}.gestion__onglet{padding:var(--spacing-sm);font-size:var(--font-size-md);color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex:1;font-weight:600}.gestion__onglet--actif{color:var(--color-surface);background-color:var(--color-primary);border-color:var(--color-primary)}.gestion__section{gap:var(--spacing-md);flex-direction:column;display:flex}.gestion__ajouter{padding:var(--spacing-md);font-size:var(--font-size-md);color:var(--color-primary);background-color:var(--color-surface);border:1px dashed var(--color-primary);border-radius:var(--radius-md)}.gestion__liste{gap:var(--spacing-sm);flex-direction:column;list-style:none;display:flex}.gestion__a-venir{color:var(--color-text-muted)}.gestion__export-aide{font-size:var(--font-size-sm);color:var(--color-text-muted)}.gestion__sous-titre{margin-top:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-muted);font-weight:600}.gestion__erreur{padding:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-danger);background-color:var(--color-surface);border:1px solid var(--color-danger);border-radius:var(--radius-md)}.admin-home{max-width:1100px;padding:var(--spacing-lg);margin:0 auto}.admin-home__header{margin-bottom:var(--spacing-lg);justify-content:space-between;align-items:center;display:flex}.admin-home__welcome{font-size:var(--font-size-lg);color:var(--color-text)}.admin-home__logout{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer}.admin-home__chargement{color:var(--color-text-muted)}.admin-home__kpis{gap:var(--spacing-md);margin-bottom:var(--spacing-lg);flex-wrap:wrap;display:flex}.admin-home__kpi{min-width:140px;padding:var(--spacing-md);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;display:flex}.admin-home__kpi--alerte{border-color:var(--color-warning)}.admin-home__kpi-valeur{font-size:var(--font-size-xl);color:var(--color-text);font-weight:700}.admin-home__kpi-label{font-size:var(--font-size-sm);color:var(--color-text-muted)}.admin-home__quota-alerte{justify-content:space-between;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);margin-bottom:var(--spacing-md);color:var(--color-text);background-color:var(--color-warning);border-radius:var(--radius-md);flex-wrap:wrap;display:flex}.admin-home__quota-bouton{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text);background-color:var(--color-surface);border-radius:var(--radius-md);white-space:nowrap;font-weight:600}.admin-home__actions-ligne{align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);flex-wrap:wrap;display:flex}.admin-home__nouvelle-bouton{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-surface);background-color:var(--color-primary);border-radius:var(--radius-md);cursor:pointer;border:none;font-weight:600}.admin-home__formulaire{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);margin-bottom:var(--spacing-md);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-wrap:wrap;display:flex}.admin-home__formulaire input{padding:var(--spacing-sm);font-size:var(--font-size-sm);border:1px solid var(--color-border);border-radius:var(--radius-md)}.admin-home__formulaire-valider{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-surface);background-color:var(--color-primary);border-radius:var(--radius-md);cursor:pointer;border:none;font-weight:600}.admin-home__formulaire-erreur{width:100%;font-size:var(--font-size-sm);color:var(--color-danger)}.admin-home__recherche{width:100%;max-width:320px;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);border:1px solid var(--color-border);border-radius:var(--radius-md)}.admin-home__tableau{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);border-collapse:collapse;width:100%;overflow:hidden}.admin-home__tableau th,.admin-home__tableau td{padding:var(--spacing-sm) var(--spacing-md);text-align:left;border-bottom:1px solid var(--color-border)}.admin-home__tableau thead th{background-color:var(--color-background);font-size:var(--font-size-sm);color:var(--color-text-muted)}.admin-home__tableau tbody tr{cursor:pointer}.admin-home__tableau tbody tr:hover{background-color:var(--color-background)}.admin-home__tableau tbody tr:last-child td{border-bottom:none}.admin-home__tri-bouton{align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;font-weight:600;display:flex}.admin-home__tri-fleche{font-size:.7rem}.admin-home__nom{color:var(--color-text);font-weight:600;display:block}.admin-home__adresse{font-size:var(--font-size-sm);color:var(--color-text-muted);display:block}.admin-home__badge-inactif{margin-left:var(--spacing-sm);padding:1px var(--spacing-xs);color:var(--color-text-muted);background-color:var(--color-background);border-radius:var(--radius-md);font-size:.7rem;font-weight:600}.admin-home__ligne--inactive{opacity:.6}.admin-home__badge{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-surface);border-radius:var(--radius-md);font-weight:600}.admin-home__badge--ok{background-color:var(--color-success)}.admin-home__badge--alerte{background-color:var(--color-warning)}.admin-home__detail-bouton{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;background:0 0}.admin-home__vide{text-align:center;color:var(--color-text-muted)}.creche-detail{max-width:1100px;padding:var(--spacing-lg);margin:0 auto}.creche-detail__chargement{padding:var(--spacing-lg);color:var(--color-text-muted)}.creche-detail__header{margin-bottom:var(--spacing-lg)}.creche-detail__retour{padding:var(--spacing-sm) 0;font-size:var(--font-size-sm);color:var(--color-primary);background:0 0;border:none}.creche-detail__titre{margin-top:var(--spacing-sm);font-size:var(--font-size-xl);color:var(--color-text)}.creche-detail__adresse{color:var(--color-text-muted)}.creche-detail__statut-ligne{align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-sm);display:flex}.creche-detail__statut-badge{padding:2px var(--spacing-sm);font-size:var(--font-size-sm);border-radius:var(--radius-md);font-weight:600}.creche-detail__statut-badge--actif{color:var(--color-primary);background-color:var(--color-primary-light)}.creche-detail__statut-badge--inactif{color:var(--color-text-muted);background-color:var(--color-background)}.creche-detail__statut-bouton{padding:2px var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-danger);background-color:var(--color-surface);border:1px solid var(--color-danger);border-radius:var(--radius-md)}.creche-detail__section{margin-bottom:var(--spacing-lg)}.creche-detail__sous-titre{margin-bottom:var(--spacing-sm);font-size:var(--font-size-md);color:var(--color-text)}.creche-detail__liste{gap:var(--spacing-sm);flex-direction:column;list-style:none;display:flex}.creche-detail__ligne{padding:var(--spacing-md);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);justify-content:space-between;display:flex}.creche-detail__groupe,.creche-detail__vide{color:var(--color-text-muted)}
