/* MDose: one primary surface, flat rows and stable, labelled navigation. */
:root{--gestion-bleu:var(--action);--gestion-vert:var(--vert);--gestion-ambre:var(--ambre);--selection-fond:color-mix(in srgb,var(--ember-lueur) 14%,var(--surface-carte));--selection-texte:var(--os)}
body{line-height:1.5}
main{padding-top:24px}
h2,h3,h4{font-family:var(--police-affichage);letter-spacing:-.02em}
.panneau{box-shadow:none}
.panneau h3,.titre-section-reglages h3,.finance-entete h3{font-family:var(--police-affichage);text-transform:none;letter-spacing:0;font-size:20px;line-height:1.3;color:var(--os)}
.section-reglages{padding:24px;background:var(--graphite2);border:1px solid var(--filet);border-radius:12px;min-width:0}
.section-reglages>.panneau,.section-reglages .panneau .panneau{padding:0;border:0;box-shadow:none;background:transparent}
.grille-regles{display:block}
.grille-regles>.panneau{background:transparent;border:0;border-bottom:1px solid var(--filet);box-shadow:none;border-radius:0;padding:20px 0}
.grille-regles>.panneau:first-child{padding-top:0}
.contenu-reglages>.section-reglages[hidden]{display:none!important}
.rail-reglages a{transition:background 120ms ease,color 120ms ease}
.rail-reglages a.actif{color:var(--os);background:var(--graphite);font-weight:600}
.entete-reglages>p{font-size:14px;max-width:64ch}
#guideHoraire{background:transparent;border:0;box-shadow:none;padding:0;margin-bottom:16px}
.gestion-entete{display:flex;align-items:center;justify-content:space-between;gap:16px}
#guideHoraire .gestion-entete h2{font-size:28px;line-height:1.2;margin:4px 0 8px}
.surtitre-gestion{font-size:12px;color:var(--texte-2)}
.repere-gestion{display:inline-flex;align-items:center;gap:8px;font-size:14px;line-height:1.5;margin:0}
.repere-ok{color:var(--vert)}.repere-attention{color:var(--ambre)}
#guideHoraire #conseilHoraire{font-size:13px;color:var(--texte-2);margin:12px 0}
#guideHoraire .guide-actions{margin:12px 0;gap:8px}
#guideHoraire .guide-explications{margin-top:8px}
#etatEtablissement.profil-etabli{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;background:transparent;box-shadow:none;border:0;padding:0;margin:0 0 16px}
#etatEtablissement.profil-etabli strong{font-size:13px;font-weight:400;color:var(--texte-2)}
#etatEtablissement.profil-etabli p{display:none}
#etatEtablissement.profil-etabli #btnConfigurerEtablissement{margin:0}
#bannerRappels .statut{box-shadow:none;border-radius:12px;padding:8px 12px;background:transparent}
.vue-horaire-gestion,.vue-calendrier-gestion{display:none}
#horaireJourGestion,#agendaCompactGestion{display:none}
.jours-gestion{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin:8px 0 20px}
.jours-gestion button{border:1px solid transparent;background:transparent;color:var(--texte-2);border-radius:12px;min-height:64px;padding:8px 2px;position:relative;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font:inherit}
.jours-gestion strong{font-size:20px;line-height:1.2}.jours-gestion span{font-size:12px}
.jours-gestion [aria-pressed=true]{background:var(--action);color:var(--action-texte)}
.point-attention{position:absolute;width:5px;height:5px;border-radius:9999px;background:var(--ambre);bottom:3px}
.agenda-titre{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0}
.agenda-titre h3{font-size:20px;line-height:1.35;color:var(--os);margin:0}
.agenda-lignes{background:var(--graphite2);border:1px solid var(--filet);border-radius:16px;overflow:hidden}
.ligne-agenda,.ligne-activite-gestion{display:flex;width:100%;align-items:center;gap:12px;padding:16px;text-align:left;border:0;border-bottom:1px solid var(--filet);background:transparent;color:var(--os);font:inherit;cursor:pointer;min-height:72px;box-sizing:border-box}
.ligne-agenda:last-child,.ligne-activite-gestion:last-child{border-bottom:0}
.ligne-agenda:hover,.ligne-activite-gestion:hover{background:var(--graphite)}
.ligne-agenda-contenu{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}
.ligne-agenda-contenu strong{font-size:15px;overflow-wrap:anywhere;line-height:1.4}
.ligne-agenda-contenu>span{font-size:13px;color:var(--texte-2);line-height:1.5;overflow-wrap:anywhere}
.avatar-gestion{width:40px;height:40px;flex:none;border-radius:12px;display:grid;place-items:center;font-size:13px;font-weight:700}
.avatar-attention{background:var(--amb-bg);color:var(--ambre)}
.ligne-vacante{border-left:3px solid var(--ambre)}
.fleche-gestion{font-size:26px;color:var(--texte-2)}
.agenda-outils{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.absence-gestion,.etat-vide-gestion{padding:12px 16px;color:var(--texte-2);font-size:13px}
.mois-gestion{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin:16px 0 24px}
.nom-jour-gestion{font-size:12px;color:var(--texte-2);text-align:center;padding:4px 0}
.case-mois-gestion{font:inherit;min-width:0;min-height:52px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--os);display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;padding:4px 0;cursor:pointer}
.case-mois-gestion strong{font-size:15px}.case-mois-gestion small{font-size:12px;color:var(--texte-2)}
.case-mois-gestion.jour-actuel{border-color:var(--action)}
.case-mois-gestion[aria-pressed=true]{background:var(--action);color:var(--action-texte)}
.case-mois-gestion[aria-pressed=true] small{color:var(--action-texte)}
.choix-ajout-gestion{display:block;width:100%;text-align:left;font:inherit;background:transparent;border:0;border-bottom:1px solid var(--filet);color:var(--os);padding:12px}
.modal-entete-gestion{display:flex;align-items:flex-start;gap:12px;flex:none;padding-bottom:12px}
.modal-entete-gestion #mTitre{flex:1;margin:0;text-transform:none;letter-spacing:0;font-size:20px;line-height:1.35;order:1}
.modal-entete-gestion #mFermer{order:0;min-width:44px;min-height:44px;border:0;background:var(--graphite);color:var(--os);border-radius:8px;padding:8px;font:inherit;cursor:pointer}
.carte-modale>.m-actions:has(#mRetirer[hidden]){display:none}
#mIntro{font-size:13px;margin-bottom:12px}
#profilEtablissement .profil-service{border:0;padding:8px 0;margin:16px 0}
#profilEtablissement .profil-jour{border:0;border-bottom:1px solid var(--filet);border-radius:0;padding:12px 0}
#profilEtablissement .profil-service legend{padding:0;font-size:15px}
.finance-indicateurs{border-bottom:1px solid var(--filet);padding-bottom:20px;gap:20px}
.finance-indicateur{padding:0;border:0;border-radius:0;gap:6px}
.finance-indicateur strong{font-family:var(--police-affichage);font-size:28px;letter-spacing:-.03em}
.finance-indicateur small{font-size:12px}
.finance-entete h3{margin:0}
#financeEtat{font-size:13px;color:var(--texte-2)}
#financeForm .profil-service{border:0;border-bottom:1px solid var(--filet);border-radius:0;padding:16px 0}
.edition-finance-gestion{margin-top:20px;border-top:1px solid var(--filet);padding-top:12px}
.edition-finance-gestion>summary,.methode-finance-gestion>summary{cursor:pointer;min-height:44px;display:list-item;padding:8px 0;color:var(--os);font-weight:600}
.methode-finance-gestion>p,.budget-visuel-gestion p{font-size:13px;color:var(--texte-2);line-height:1.6}
.budget-visuel-gestion{padding:12px 0}
.legende-progression{display:flex;justify-content:space-between;gap:12px;font-size:13px;margin-bottom:8px}
.budget-visuel-gestion progress{display:block;width:100%;height:12px;accent-color:var(--action)}
.tendance-gestion{margin:16px 0}.tendance-gestion h4{font-size:15px;margin-bottom:12px}
.barres-tendance{display:flex;gap:12px;height:100px;align-items:flex-end}
.barres-tendance>div{flex:1;max-width:56px;height:100%;display:flex;flex-direction:column;justify-content:flex-end;gap:4px;text-align:center}
.barre-tendance{display:block;height:var(--hauteur);min-height:0;background:var(--vert);border-radius:8px 8px 0 0;transition:height 240ms ease}
.barre-perte{background:var(--rouge)}.barres-tendance small{font-size:12px;color:var(--texte-2)}
.recherche-equipe-gestion{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;font-size:13px}
.recherche-equipe-gestion input,#formBilanGestion input,#formBilanGestion textarea,#moisActiviteGestion{width:100%;min-width:0;max-width:100%;box-sizing:border-box;border:1px solid var(--bord-controle);background:var(--graphite2);color:var(--os);border-radius:8px;font:inherit;font-size:1rem;min-height:44px;padding:10px 12px}
#listePharmaciens .fiche{border:0;border-bottom:1px solid var(--filet);box-shadow:none;border-radius:0;padding:16px 8px;background:transparent;cursor:pointer}
#listePharmaciens .fiche.sel{background:var(--graphite);border-radius:12px}
#listePharmaciens .fiche .nom{font-size:15px;line-height:1.45}
#listePharmaciens .fiche .meta{font-size:12px;line-height:1.5;margin-top:6px}
#listePharmaciens .fiche[hidden]{display:none}
#editeurPharmacien{box-shadow:none;border:0;padding:0 0 0 20px}
#editeurPharmacien .sect-edit{border:0;border-bottom:1px solid var(--filet);border-radius:0;padding:12px 0}
#retourEquipeGestion{display:none;margin-bottom:16px}
#formBilanGestion label{display:block;margin:16px 0 6px;font-size:13px;font-weight:600}
#formBilanGestion small,.aide-gestion{font-size:13px;line-height:1.6;color:var(--texte-2)}
#formBilanGestion textarea{min-height:88px}
#bilanErreurGestion{color:var(--rouge)}
.resume-activite-gestion{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;border-bottom:1px solid var(--filet);padding:16px 0}
.resume-activite-gestion>div{display:flex;flex-direction:column;gap:6px}
.resume-activite-gestion strong{font-size:26px;line-height:1.2;color:var(--os)}
.resume-activite-gestion span{font-size:12px;color:var(--texte-2)}
#exportActiviteGestion{margin-top:16px}
.menu-entete-gestion{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;color:var(--os)}
.menu-entete-gestion button{min-width:44px;min-height:44px;border:0;border-radius:8px;background:var(--graphite);color:var(--os);font:inherit;cursor:pointer}
#menuFlux .mi{border-radius:8px;padding:12px;white-space:normal;text-align:left}
#menuFlux .ligne{padding:8px 12px;display:flex;justify-content:space-between;gap:8px;align-items:center}
#menuFlux .ligne select{min-width:0;max-width:65%}
@media screen and (max-width:900px){
 #barre-cote{padding:12px max(16px,env(safe-area-inset-right)) 12px max(16px,env(safe-area-inset-left));gap:8px}
 .brand{display:flex;flex-direction:row;align-items:center;gap:10px;min-width:0;flex:1}
 .brand .mdose-mark img{width:86px}.brand>span{font-size:14px;line-height:1.2}.brand small{display:none}
 .outils-app{width:auto;margin:0;flex:none}.outils-app>summary{padding:8px 0;min-height:44px;font-size:13px;display:list-item}
 .outils-app[open]{flex-basis:100%;width:100%;order:3}
 .outils-app>.side-actions{margin-top:8px}
 .side-site{order:2;width:100%;flex-basis:100%}.side-site>label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 main{padding:20px 16px calc(100px + env(safe-area-inset-bottom))}
 nav.tabs{box-shadow:none;padding-top:4px}.tabs button{color:var(--texte-2)}
 .section-reglages{padding:16px;border:0;border-radius:12px}
 .section-reglages .panneau{border:0;box-shadow:none;background:transparent;padding-left:0;padding-right:0}
 #guideHoraire .gestion-entete h2{font-size:26px}.surtitre-gestion{display:none}
 #guideHoraire .guide-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 #guideHoraire .guide-actions .btn{padding:8px;min-height:44px;white-space:normal}
 #guideHoraire .guide-actions .btn:last-child:nth-child(odd){grid-column:auto}
 #guideDemarrage:not([open]){margin:0}
 #etatEtablissement.profil-etabli strong{display:none}
 #etatEtablissement.profil-etabli{justify-content:flex-end;margin-bottom:8px}
 #etatEtablissement.profil-etabli .btn{font-size:12px;min-height:36px;padding:6px 10px}
 #tab-planning>.barre{gap:8px;margin-bottom:8px}
 .vue-horaire-gestion,.vue-calendrier-gestion{display:flex;gap:4px;padding:4px;background:var(--graphite);border-radius:12px;margin:12px 0}
 .vue-horaire-gestion button,.vue-calendrier-gestion button{flex:1;min-height:40px;border:0;background:transparent;color:var(--texte-2);border-radius:8px;font:inherit;font-size:13px;cursor:pointer;padding:8px}
 .vue-horaire-gestion [aria-pressed=true],.vue-calendrier-gestion [aria-pressed=true]{background:var(--graphite2);color:var(--os);box-shadow:var(--ombre-carte);font-weight:600}
 #tab-planning[data-vue-gestion=jour] #horaireJourGestion{display:block}
 #tab-planning[data-vue-gestion=jour] #grilleSemaine{display:none}
 #tab-calendrier[data-vue-gestion=compact] #agendaCompactGestion{display:block}
 #tab-calendrier[data-vue-gestion=compact] #calGrille,#tab-calendrier[data-vue-gestion=compact] #calLegend{display:none}
 #tab-calendrier>.barre{gap:16px}
 #menuFlux{left:8px!important;right:8px!important;bottom:calc(84px + env(safe-area-inset-bottom))!important;top:auto!important;width:auto!important;max-height:calc(var(--hauteur-visible,100dvh) - 100px - env(safe-area-inset-bottom))!important;border-radius:16px;padding:8px;box-shadow:var(--ombre-flottante)}
 #modal{padding:0;align-items:flex-end}
 .carte-modale{max-width:100%;max-height:calc(var(--hauteur-visible,100dvh) - 12px);padding:16px 16px max(16px,env(safe-area-inset-bottom));border-radius:16px 16px 0 0}
 .modal-entete-gestion #mTitre{font-size:20px}.modal-entete-gestion #mFermer{font-size:13px}
 #eq-reguliers>.layout2{display:block}
 #eq-reguliers:not(.edition-equipe-gestion) .editeur-gestion{display:none}
 #eq-reguliers.edition-equipe-gestion>.layout2>div:first-child{display:none}
 #eq-reguliers.edition-equipe-gestion .editeur-gestion{display:block}#eq-reguliers.edition-equipe-gestion #editeurPharmacien{padding:0}
 #eq-reguliers.edition-equipe-gestion #retourEquipeGestion{display:inline-flex}
 .finance-indicateurs{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
 .finance-indicateur:first-child{grid-column:1/-1}.finance-indicateur:first-child strong{font-size:40px}
 .finance-indicateur strong{font-size:26px}.finance-indicateur>span{font-size:13px}
 .finance-indicateur small{font-size:12px;line-height:1.5}
 .barres-tendance{height:84px}
 .finance-personne{padding:8px 0}
}
@media(prefers-reduced-motion:no-preference){button{transition:background-color 120ms ease,color 120ms ease}}
@media(prefers-reduced-motion:reduce){.barre-tendance,.rail-reglages a{transition:none}}
@media print{#horaireJourGestion,#agendaCompactGestion,.vue-horaire-gestion,.vue-calendrier-gestion,.jauge-gestion,#retourEquipeGestion,#menuFlux{display:none!important}.section-reglages{border:0;padding:0}#grilleSemaine{display:block!important}}

@media screen and (max-width:900px){
 #guideHoraire{margin-bottom:8px}#guideHoraire #conseilHoraire{margin:6px 0}
 #guideHoraire .guide-actions{margin:8px 0}
 #guideDemarrage>summary{min-height:36px;padding:6px 0}
 #etatEtablissement.profil-etabli{display:none}
 #tab-planning>.barre{display:flex;flex-wrap:wrap;align-items:center}
 #tab-planning>.barre>.gr-nav{width:100%;flex:1 0 100%;margin:0;gap:4px}
 #lblSemaine{font-family:var(--police);font-size:0!important;min-width:0;line-height:1.4}
 #lblSemaine::after{content:attr(data-court);font-size:15px}
 #infoWeekend,#tab-planning>.barre>span[style]{display:none}
 #btnAujourdhui{font-size:12px;padding:8px}#btnGenerer{font-size:13px;flex:1}
 #menuFlux #btnUrgence{display:flex}#tab-planning>.barre>.menu-wrap{flex:0 0 100%}
 #btnMenuFlux{width:100%;min-height:36px;padding:6px}
 #bannerRappels .statut>span{display:none}#bannerRappels .statut{padding:0;min-height:0;justify-content:flex-end}
 #bannerRappels{margin:0}#bannerRappels #btnDetails{min-height:32px;font-size:12px}
 .vue-horaire-gestion{margin:4px 0}.jours-gestion{margin:4px 0 12px}
}
#menuFlux{z-index:100;border-radius:16px}#menuFlux>*{flex-shrink:0}
.agenda-titre h3{text-transform:none;letter-spacing:-.02em}
@media screen and (max-width:900px){
 #guideHoraire[data-horaire-present=oui] #conseilHoraire{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 #bannerRappels .statut{border:0;background:transparent}
 #bannerRappels{margin:0 0 2px}
}

#menuFlux .menu-entete-gestion{position:sticky;top:-8px;z-index:2;background:var(--graphite2)}

.aide-gestion>summary{cursor:pointer;min-height:44px;padding:10px 0}
@media screen and (max-width:900px){.rail-reglages{position:sticky;top:0;z-index:10;margin-bottom:16px}.section-reglages{scroll-margin-top:84px}}

.select-rubrique-gestion{display:none}
@media screen and (max-width:900px){
 .page-reglages>.rail-reglages{display:none}
 .select-rubrique-gestion{display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:10;background:var(--obsidienne);padding:8px 0;margin-bottom:16px;font-size:13px}
 .select-rubrique-gestion select{min-width:0;flex:1;width:100%;min-height:48px;box-sizing:border-box;border:1px solid var(--bord-controle);border-radius:12px;background:var(--graphite2);color:var(--os);font:inherit;font-size:1rem;padding:10px 12px}
}

/* One contextual action; secondary commands keep their original handlers. */
.actions-principales-gestion{display:flex;gap:8px;align-items:stretch;margin:12px 0}
.actions-principales-gestion>.btn{flex:1;justify-content:center;min-height:48px}
.actions-principales-gestion>.menu-wrap{flex:none}.actions-principales-gestion #btnMenuFlux{min-height:48px}
#tab-planning #guideHoraire .guide-actions:empty{display:none}
#menuFlux #bannerRappels .statut{display:flex;flex-wrap:wrap;padding:12px;gap:8px;align-items:center;justify-content:flex-start}
#menuFlux #bannerRappels .statut>span{display:inline-flex}#menuFlux #bannerRappels #btnDetails{min-height:44px}
#menuFlux #infoWeekend{display:block;padding:12px}#menuFlux #infoWeekend[hidden]{display:none}
#toasts{position:static;transform:none;max-width:100%;width:100%;margin:0 0 12px;display:flex;align-items:stretch;box-sizing:border-box}
#toasts:empty{display:none}#toasts .toast{border-radius:12px;margin:0;padding:12px 16px;font-size:13px;animation:none;overflow-wrap:anywhere}
@media screen and (max-width:900px){
 #tab-planning{display:flex;flex-direction:column}#tab-planning[hidden]{display:none}
 #guideHoraire{order:0;margin-bottom:8px}#actionsPrincipalesGestion{order:2;margin:8px 0}
 #tab-planning>.barre{order:1;margin:0}#tab-planning>.barre>span[style]{display:none}
 #tab-planning>.vue-horaire-gestion{order:3}#horaireJourGestion,#grilleSemaine{order:4}
 #zoneDetails{order:5}#tab-planning>.legend,#tab-planning>.note-pied{order:6}
 #guideDemarrage{display:none}#etatEtablissement,#etatEtablissement.profil-etabli{display:none}
 .actions-principales-gestion>.menu-wrap{flex:none}.actions-principales-gestion #btnMenuFlux{width:auto;padding:10px 14px}
 #toasts{left:auto;right:auto;bottom:auto;max-width:100%}
}
@media print{#actionsPrincipalesGestion,#toasts{display:none!important}}

#btnSiteAjout{width:100%;min-height:44px;text-align:left;font:inherit;padding:10px 12px}
.actions-principales-gestion>.btn[hidden]{display:none}

.actions-principales-gestion>.btn{font-size:15px;white-space:normal;line-height:1.4}
#menuFlux .mi{font-size:15px;min-height:48px}
.groupe-actions-gestion{border-top:1px solid var(--filet);padding:8px 0}
.groupe-actions-gestion h4,.groupe-actions-gestion>summary{font-size:13px;line-height:1.4;color:var(--texte-2);margin:0;padding:12px;font-weight:600}
.groupe-actions-gestion>summary{cursor:pointer;min-height:44px;box-sizing:border-box}
#menuFlux .groupe-actions-gestion .mi{width:100%}

.ligne-agenda-contenu>span{font-size:14px}

.finance-indicateur strong{max-width:100%;overflow-wrap:anywhere;line-height:1.2}
.finance-indicateur strong.valeur-favorable-gestion{color:var(--vert)}
.finance-indicateur strong.valeur-perte-gestion{color:var(--rouge)}
.finance-indicateur strong.valeur-attention-gestion{color:var(--ambre)}
#fermerBilanGestion{margin:12px 0}
@media screen and (max-width:900px){
 .finance-indicateur:first-child strong{font-size:clamp(26px,8vw,40px)}
}

@media (hover:none){nav.tabs button:not(.actif):hover{background:transparent;box-shadow:none}}
@media screen and (max-width:900px){nav.tabs button:not(.actif):hover{background:transparent;box-shadow:none}}

.repere-erreur{color:var(--rouge)}
.budget-depasse-gestion .legende-progression strong{color:var(--ambre)}
.budget-depasse-gestion progress{accent-color:var(--ambre)}
.editeur label,#mContenu .champ label,#reglesForm .champ label{font-size:13px;text-transform:none;letter-spacing:normal;line-height:1.5}
.sect-edit summary{font-size:14px;text-transform:none;letter-spacing:normal;min-height:44px;padding:10px 0;box-sizing:border-box}
.editeur input:not([type=checkbox]):not([type=radio]):not([type=color]),.editeur select,.editeur textarea{min-height:44px;width:100%;max-width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid var(--bord-controle);border-radius:8px;background:var(--graphite);color:var(--os);font:inherit;font-size:1rem}

.chip.vacant,.ci.manque,.statut.attention{color:var(--amb-txt);background:var(--amb-bg);border-color:var(--ambre)}
tr.vacants td{background:var(--amb-bg)}
.vacance-indicateur-gestion{color:var(--ambre)}

.resume-activite-gestion strong{overflow-wrap:anywhere;max-width:100%}
.resume-activite-gestion span{font-size:13px}
@media screen and (max-width:359px){
 .jours-gestion,.mois-gestion{column-gap:0;margin-left:-15px;margin-right:-15px}
 .resume-activite-gestion strong{font-size:20px}
}
/* Establishment editing has one entry; the current site is already in navigation. */
#etatEtablissement,#etatEtablissement.profil-etabli{display:none}

/* Native date controls must shrink inside iOS flex/grid items. */
.finance-entete>label{min-width:0;max-width:100%;width:240px;flex:0 1 240px}
.finance-entete input[type=month]{display:block;box-sizing:border-box;inline-size:100%;min-inline-size:0;max-inline-size:100%;min-height:48px;appearance:none;-webkit-appearance:none}
.finance-entete input[type=month]::-webkit-date-and-time-value{min-width:0;text-align:left}
#tableCatalogue{width:100%;table-layout:fixed}
#tableCatalogue td{padding:16px 0;white-space:normal}
.catalogue-quart{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:12px 20px;min-width:0}
.catalogue-champ{display:grid;gap:6px;min-width:0;font-size:14px;color:var(--texte-2)}
#tableCatalogue input,#tableCatalogue select{box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-height:48px;padding:10px 12px;font:inherit;font-size:1rem;color:var(--os);background:var(--graphite);border:1px solid var(--bord-controle);border-radius:8px}
.catalogue-heures{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.catalogue-duree{margin:0;color:var(--texte-2)}
.catalogue-options{grid-column:1/-1}
.catalogue-options>summary{min-height:44px;padding:10px 0;cursor:pointer}
.catalogue-options>label{margin-bottom:12px}
.catalogue-quart>small{grid-column:1/-1;color:var(--texte-2)}
.repere-neutre{color:var(--texte-2)}
#configurationGuideeGestion{margin:0 0 20px;padding:16px 0;border-bottom:1px solid var(--bord);max-width:100%;overflow-wrap:anywhere}
#configurationGuideeGestion h3{margin:8px 0;font-size:20px;text-transform:none;letter-spacing:normal}
#configurationGuideeGestion p{margin:8px 0 16px;color:var(--texte-2);max-width:65ch}
.guide-progression,.guide-commandes{display:flex;align-items:center;flex-wrap:wrap;gap:12px;justify-content:space-between}
.guide-commandes{justify-content:flex-start}
@media screen and (max-width:600px){
 .finance-entete{display:grid;grid-template-columns:minmax(0,1fr);justify-content:stretch}
 .finance-entete>label{width:100%;box-sizing:border-box}
 .catalogue-quart{grid-template-columns:minmax(0,1fr)}
 .catalogue-heures{grid-template-columns:repeat(2,minmax(0,1fr))}
 .guide-commandes .btn{width:100%}
}

.configuration-accompagnee #etapeSuivanteGestion{display:none}
.guide-progression .surtitre-gestion{display:block;font-size:13px;text-transform:none;letter-spacing:normal}

/* Keep guidance with the task; finance and calendar retain their own space. */
body:has(#tab-rh:not([hidden])) #configurationGuideeGestion,body:has(#tab-regles:not([hidden])) #configurationGuideeGestion,body:has(#tab-calendrier:not([hidden])) #configurationGuideeGestion{display:none}
body:has(#tab-pharmaciens:not([hidden])) #configurationGuideeGestion [data-configuration-action=equipe]{display:none}

/* Fixes reproduced from the iPhone recording. */
.disponibilite-heures-personne{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.disponibilite-heures-personne label,.choix-quart-personne{display:grid;gap:6px;min-width:0}
.disponibilite-heures-personne+p{margin-top:8px}
.choix-quart-personne{padding:12px 0;border-bottom:1px solid var(--filet)}
.choix-quart-personne>span{font-weight:600;color:var(--os)}
.choix-jour-besoins{display:none}
#tableGabarits th{white-space:nowrap;word-break:normal;overflow-wrap:normal}
body:has(#tab-planning:not([hidden])) #configurationGuideeGestion [data-configuration-action=planning]{display:none}
@media screen and (max-width:900px){
 .disponibilite-heures-personne{grid-template-columns:minmax(0,1fr)}
 #sec-dispo .champ>div:has(>.champ-date),#sec-absences .champ>div:has(>.champ-date){display:grid!important;grid-template-columns:minmax(0,1fr)}
 #sec-dispo label:has(.champ-date),#sec-absences label:has(.champ-date){width:100%;min-width:0}
 .choix-jour-besoins{display:grid;gap:6px;margin:0 0 16px}
 .choix-jour-besoins select{min-height:48px;width:100%;max-width:100%;font:inherit;font-size:1rem;padding:10px 12px;background:var(--graphite);color:var(--os);border:1px solid var(--bord-controle);border-radius:8px}
 #tableGabarits,#tableGabarits tbody{display:block;width:100%;min-width:0}
 #tableGabarits tr:first-child,#tableGabarits tr[data-besoin-selectionne=false]{display:none}
 #tableGabarits tr[data-besoin-selectionne=true]{display:block}
 #tableGabarits th{display:block;text-align:left;font:inherit;font-weight:700;text-transform:none;letter-spacing:normal}
 #tableGabarits td{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;text-align:left}
 #tableGabarits td::before{content:attr(data-besoin-libelle);flex:1;min-width:0;font-size:1rem;overflow-wrap:anywhere;color:var(--os)}
 #tableGabarits .stepper{flex-shrink:0;gap:8px}
 #tableGabarits .stepper button{min-width:44px;min-height:44px}
}
#prof-nombre-bureaux,#profilEtablissement label:has(>#prof-clinique-mode){display:grid;gap:6px;min-width:0;margin:12px 0}
#prof-nombre-bureaux input,#prof-clinique-mode{width:100%;max-width:100%;min-width:0;box-sizing:border-box;min-height:48px;font-size:1rem}

.guide-actif-gestion #conseilHoraire{display:none}

/* MDose workspace: a stable command row, readable schedules and progressive forms. */
:root{--r-bouton:8px}
.btn{min-height:44px;border-radius:8px;font-size:14px;font-weight:500;justify-content:center;line-height:1.4}
.btn.primary{box-shadow:none;font-weight:600}
.btn:disabled{cursor:default;opacity:.5}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--action);outline-offset:3px}
h2{font-size:28px;line-height:1.2}
#barre-cote{background:var(--surface-carte);padding:24px 14px 16px;gap:20px}
.brand{gap:8px;padding:0 10px 20px}
.brand>span{font-size:20px;letter-spacing:-.025em}
nav.tabs{gap:6px}
nav.tabs button{box-sizing:border-box;min-height:44px;border-radius:8px;padding:10px 14px;font-size:15px;line-height:1.4}
nav.tabs button.actif{background:var(--graphite);box-shadow:inset 3px 0 var(--action);color:var(--os);font-weight:700}
nav.tabs button .ico{width:20px;height:20px;opacity:1}
.side-site{margin:0;padding:16px 0 0}
.side-site>label{font-size:12px;color:var(--texte-2)}
#selSite{width:100%;min-width:0;min-height:48px;border-radius:8px!important;font-size:14px}
.dates-laterales{margin-top:auto;border-top:1px solid var(--filet);padding-top:8px}
.dates-laterales>summary,.outils-app>summary{display:list-item;cursor:pointer;min-height:44px;padding:10px 8px;font-size:13px;color:var(--texte-2)}
.dates-laterales .side-minical{border:0;margin:0;padding-top:8px}
.outils-app{margin:0}
.outils-app>.btn,.outils-app>#btnPalette,.outils-app>#btnEcran,.outils-app>#btnAide{box-sizing:border-box;width:100%;max-width:100%;min-width:0;justify-content:flex-start;min-height:44px;margin-top:8px;border-radius:8px;padding:10px 12px;font-size:13px}
.side-actions button,.side-actions label{border-radius:8px;min-height:44px;font-size:13px}
.gestion-entete{align-items:flex-start;padding:4px 0 20px;border-bottom:1px solid var(--filet)}
.gestion-entete>div:first-child{min-width:0}
#guideHoraire .gestion-entete h2{margin:0 0 8px}
.couverture-editoriale{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex:none;color:var(--texte-2);font-size:12px;line-height:1.4}
.couverture-editoriale>strong{font-family:var(--police-affichage);font-size:28px;color:var(--os);font-variant-numeric:tabular-nums;letter-spacing:-.03em;line-height:1.2}
.couverture-editoriale strong>span{font-family:var(--police);font-size:15px;font-weight:400;color:var(--texte-2);letter-spacing:0}
#guideHoraire{margin-bottom:0}
#posteCommandeGestion{position:sticky;top:0;z-index:15;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 20px;align-items:center;padding:16px 0;background:var(--obsidienne);border-bottom:1px solid var(--filet);margin:0 0 20px;min-width:0}
#posteCommandeGestion>.barre{margin:0;gap:8px;min-width:0;flex-wrap:wrap}
#posteCommandeGestion>.barre>span[style]{display:none}
#posteCommandeGestion>.barre>.gr-nav{min-width:0;max-width:100%;border-radius:8px;background:var(--surface-carte)}
#posteCommandeGestion .gr-nav>.btn{min-width:44px;padding:8px}
#posteCommandeGestion #lblSemaine{font-family:var(--police);min-width:0;padding:0 8px;font-size:14px;font-weight:600;line-height:1.4;text-align:center}
#posteCommandeGestion #btnAujourdhui{font-size:12px;padding:8px 10px}
#posteCommandeGestion #btnMenuFlux{font-size:13px;min-height:44px;padding:8px 12px;width:auto}
#posteCommandeGestion>.actions-principales-gestion{margin:0;gap:8px;order:initial}
.actions-principales-gestion>.btn{font-size:14px;min-width:0;min-height:48px;padding:10px 14px;flex:1 1 0;white-space:normal}
.actions-principales-gestion>[data-etape]::before{content:attr(data-etape);font-size:12px;font-weight:700;opacity:.8;margin-right:4px}
#posteCommandeGestion>.vue-horaire-gestion{grid-column:1/-1;order:initial;margin:0}
.jours-gestion{border-bottom:1px solid var(--filet);padding-bottom:12px;margin:0 0 20px}
.jours-gestion button{border-radius:8px;min-height:64px}
.jours-gestion [aria-pressed=true]{box-shadow:none;font-weight:600}
.jours-gestion span{font-size:13px}
.agenda-lignes{border:0;border-top:1px solid var(--filet);border-bottom:1px solid var(--filet);border-radius:0;background:var(--surface-carte)}
.ligne-agenda{gap:16px;padding:18px 16px;min-height:88px}
.heure-agenda{display:flex;flex-direction:column;gap:4px;flex:0 0 72px;align-self:stretch;justify-content:center;font-family:var(--police);font-variant-numeric:tabular-nums;line-height:1.4}
.heure-agenda strong{font-size:15px;font-weight:600;color:var(--os)}
.heure-agenda>span{font-size:13px;color:var(--texte-2)}
.ligne-agenda-contenu strong{font-size:15px;font-weight:600}
.ligne-agenda-contenu>span{font-size:13px;line-height:1.5}
.avatar-gestion{width:32px;height:32px;border-radius:8px;font-family:var(--police);font-size:12px;font-weight:600}
.fleche-gestion{font-size:20px}
.ligne-agenda.quart-a-revoir{border-left:3px solid var(--ambre)}
.ligne-agenda-contenu>.quart-attention{color:var(--ambre);font-size:12px;font-weight:700}
.ligne-agenda.quart-erreur{border-left-color:var(--rouge)}
.quart-erreur .quart-attention{color:var(--rouge)}
.ligne-vacante{background:var(--amb-bg)}
.ligne-vacante .avatar-attention{width:32px;height:32px}
.agenda-titre{margin:20px 0 12px}
.agenda-titre h3{font-size:20px;font-weight:600}
.agenda-outils{margin-top:20px}
#grilleSemaine,.table-scroll{overscroll-behavior-x:contain;scrollbar-gutter:stable}
.grille th,.grille .col-nom{font-family:var(--police);font-variant-numeric:tabular-nums}
.grille .heures,.grille .chip{font-family:var(--police);font-variant-numeric:tabular-nums}
.ouvrir-personne-grille{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0;border:0;background:none;color:var(--os);font:inherit;text-align:left;cursor:pointer;text-underline-offset:4px}
.ouvrir-personne-grille:hover{text-decoration:underline}
.grille .chip{display:inline-flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;border-radius:8px;min-height:44px;max-width:100%;padding:8px;font-size:14px;line-height:1.4;white-space:normal}
.grille .chip small{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;font-size:12px;line-height:1.4}
.grille .ci,.grille .seg-code{font-size:12px;font-weight:500;line-height:1.4;border-radius:8px}
#grilleSemaine[data-couleur=POSTE] .chip .ci:not(.manque),#grilleSemaine[data-couleur=POSTE] .chip .seg-code{background:transparent!important;color:inherit!important;padding:0}
.grille .chip.en-conflit .etat-quart{display:block;padding:2px 6px;border-radius:8px;background:var(--graphite2);color:var(--rouge);font-size:12px;font-weight:600}
.grille thead th{font-size:13px;text-transform:none;letter-spacing:0;font-weight:600;padding:12px 6px}
.grille thead th small{font-size:12px;font-weight:400}
.grille tr.ligne-groupe td{font-size:13px;text-transform:none;letter-spacing:0;padding:8px 10px}
.grille td.off .repos{font-size:12px}
.grille td{border-color:var(--filet)}
.note-pied{font-size:12px;line-height:1.5}
.page-reglages>.entete-reglages{grid-column:1/-1;margin-bottom:24px}
.entete-reglages h2{margin:0 0 8px}
.entete-reglages>p{font-size:14px;line-height:1.6;margin:0;max-width:65ch}
.rail-reglages{border:0;border-bottom:1px solid var(--filet);border-radius:0;box-shadow:none;background:var(--obsidienne);width:100%;padding:0 0 12px;margin-bottom:24px;gap:4px}
.rail-reglages a{border-radius:8px;min-height:44px;padding:10px 14px;font-size:14px}
.rail-reglages a.actif{box-shadow:inset 0 -2px var(--action)}
.section-reglages{padding:24px;background:var(--surface-carte);border-radius:12px}
.titre-section-reglages{margin-bottom:24px}
#listePharmaciens .fiche{padding:16px 12px;border-radius:0}
#listePharmaciens .fiche.sel{border-radius:8px;box-shadow:inset 3px 0 var(--action)}
#listePharmaciens .fiche .meta{font-family:var(--police);font-size:13px;line-height:1.6}
#btnAjouterPh{border-style:solid;min-height:48px;margin-top:16px;border-radius:8px;background:var(--action);border-color:var(--action);color:var(--action-texte);font:inherit;font-weight:600}
#editeurPharmacien{border-left:1px solid var(--filet);padding-left:28px}
.fiche-personne-entete{padding:0 0 20px;border-bottom:1px solid var(--filet)}
.fiche-personne-entete h3{margin:0 0 8px;font-family:var(--police-affichage);font-size:26px;line-height:1.25;color:var(--os);text-transform:none;letter-spacing:-.025em}
.fiche-personne-entete p{font-size:14px;margin:0 0 12px;max-width:65ch}
.retour-horaire-personne{margin-top:8px}
.fiche-reperes{border-bottom:1px solid var(--filet);padding:12px 0}
.fiche-reperes p{font-size:13px;margin:4px 0;color:var(--texte-2)}
#editeurPharmacien .sect-edit{padding:16px 0;margin:0}
.sect-edit>summary{color:var(--os);font-size:15px;font-weight:600;line-height:1.5;min-height:48px;padding:12px 0}
.editeur p{font-size:14px;line-height:1.6;max-width:70ch}
.editeur .champ{margin-bottom:20px;min-width:0}
.editeur label{font-size:14px;font-weight:500;display:block;margin-bottom:6px}
.editeur input:not([type=checkbox]):not([type=radio]):not([type=color]),.editeur select,.editeur textarea{min-height:48px;background:var(--graphite2)}
.editeur .checkbox-line{display:flex;align-items:center;gap:12px;min-height:48px;font-size:14px}
.editeur .checkbox-line input{flex:none}
.editeur .toggles{gap:8px}
.editeur .toggles button{min-height:44px;padding:10px 12px;border-radius:8px;font-family:var(--police);font-size:13px;line-height:1.4}
.sens-regles{display:grid;grid-template-columns:minmax(0,1fr);margin:16px 0 24px;border-left:3px solid var(--action);padding-left:16px;max-width:65ch}
.sens-regles dt{font-size:13px;color:var(--os);font-weight:600;margin:0 0 4px}
.sens-regles dd{font-size:13px;line-height:1.6;margin:0 0 12px;color:var(--texte-2)}
.sens-regles dd:last-child{margin-bottom:0}
.choix-quart-personne{padding:16px 0;gap:8px}
.form-ajout-personne{max-width:760px;margin:0 auto;padding:0}
#tab-pharmaciens.ajout-en-cours-gestion .page-reglages{max-width:760px;margin-inline:auto}
#tab-pharmaciens.ajout-en-cours-gestion .page-reglages>.entete-reglages,#tab-pharmaciens.ajout-en-cours-gestion .rail-reglages,#tab-pharmaciens.ajout-en-cours-gestion .select-rubrique-gestion,#tab-pharmaciens.ajout-en-cours-gestion #eq-reguliers>.titre-section-reglages,#tab-pharmaciens.ajout-en-cours-gestion .layout2>div:first-child{display:none}
#tab-pharmaciens.ajout-en-cours-gestion #eq-reguliers{padding:0;border:0;border-radius:0;background:transparent}
#tab-pharmaciens.ajout-en-cours-gestion #eq-reguliers>.layout2{display:block}
#tab-pharmaciens.ajout-en-cours-gestion #editeurPharmacien{padding:0;border:0;border-radius:0;background:transparent}
#tab-pharmaciens.ajout-en-cours-gestion #retourEquipeGestion{display:inline-flex;margin-bottom:20px}
.creation-entete{padding-bottom:20px;border-bottom:1px solid var(--filet)}
.creation-entete h3{font-size:26px;font-family:var(--police-affichage);color:var(--os);text-transform:none;letter-spacing:-.025em;line-height:1.25;margin:0 0 8px}
.creation-entete p{margin:0;font-size:14px;line-height:1.6;max-width:65ch}
.etapes-personne{display:flex;list-style:none;padding:0;margin:24px 0 28px;gap:16px;counter-reset:creation-etape;border-bottom:1px solid var(--filet)}
.etapes-personne li{flex:1;min-width:0;font-size:13px;line-height:1.5;color:var(--texte-2);padding:0 0 12px;counter-increment:creation-etape;border-bottom:2px solid transparent}
.etapes-personne li::before{content:counter(creation-etape) '. ';font-weight:700}
.etapes-personne li[aria-current=step]{color:var(--os);font-weight:700;border-bottom-color:var(--action)}
.creation-champs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px}
.creation-champs>label,.creation-champs .champ{display:flex;flex-direction:column;gap:8px;margin:0;min-width:0;font-size:14px;color:var(--os)}
.form-ajout-personne input:not([type=checkbox]):not([type=radio]),.form-ajout-personne select{display:block;box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-height:48px;border:1px solid var(--bord-controle);border-radius:8px;background:var(--graphite2);padding:12px;font:inherit;font-size:1rem;color:var(--os)}
.form-ajout-personne fieldset{min-width:0;border:0;padding:0;margin:24px 0}
.form-ajout-personne legend{font-size:14px;color:var(--os);font-weight:600;padding:0;margin-bottom:12px}
.creation-jours{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:12px 0}
.creation-jours button{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:0;min-height:48px;font:inherit;font-size:13px;border:1px solid var(--bord-controle);border-radius:8px;background:var(--graphite2);color:var(--os);cursor:pointer;padding:10px 4px}
.creation-jours button[aria-pressed=true]{background:var(--selection-fond);color:var(--selection-texte);border-color:var(--action);font-weight:600}
.jour-selection-coche{width:14px;height:14px;flex:none;visibility:hidden}
[aria-pressed=true]>.jour-selection-coche{visibility:visible}
.creation-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:28px;border-top:1px solid var(--filet);padding-top:20px}
.creation-actions .btn{min-height:48px;padding:12px 20px}
.resume-personne{padding:0;margin:20px 0}
.resume-personne dl{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:0 24px;margin:0}
.resume-personne dt,.resume-personne dd{margin:0;border-bottom:1px solid var(--filet);padding:12px 0;font-size:14px;line-height:1.6}
.resume-personne dt{color:var(--texte-2)}
.resume-personne dd{color:var(--os);font-weight:500}
#ajout-erreur:not(:empty){border-left:3px solid var(--rouge);background:var(--err-bg);padding:12px 16px;color:var(--err-txt);font-size:14px;line-height:1.6;margin:20px 0}
.finance-indicateurs{gap:24px;padding-bottom:24px;margin-bottom:24px}
.finance-indicateur strong{font-family:var(--police-affichage);font-variant-numeric:tabular-nums;color:var(--os)}
.finance-indicateur>span{font-size:14px}
.finance-indicateur small{font-size:13px;line-height:1.5}
.finance-indicateur{background:transparent;box-shadow:none}
.finance-entete{gap:20px}
.ligne-activite-gestion{display:grid;grid-template-columns:minmax(0,1fr) 20px;gap:8px 12px}
.act-personne,.act-heures,.act-volume,.act-objectif{min-width:0;overflow-wrap:anywhere}
.act-heures,.act-volume,.act-objectif{font-variant-numeric:tabular-nums;font-size:14px;color:var(--texte-2);line-height:1.5}
.act-personne{font-size:15px;font-weight:600;color:var(--os)}
.ligne-activite-gestion>.act-personne,.ligne-activite-gestion>.act-heures,.ligne-activite-gestion>.act-volume,.ligne-activite-gestion>.act-objectif{grid-column:1}
.act-heures,.act-volume{display:flex;flex-direction:column;gap:4px}
.act-fleche{grid-column:2;grid-row:1/5;font-size:20px;color:var(--texte-2);text-align:right}
#tab-calendrier>.barre{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px}
.cal-navigation{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:8px;flex:1 1 240px;min-width:0;max-width:440px}
.cal-navigation #calPrec{grid-column:1;grid-row:1}
.cal-navigation #calSuiv{grid-column:3;grid-row:1}
.cal-navigation #calLabel{grid-column:2;grid-row:1;min-width:0;font-family:var(--police-affichage);font-size:20px;font-weight:600;line-height:1.3;text-align:center}
#calPeriodeBadge{grid-column:1/-1;font-size:12px;line-height:1.5;color:var(--texte-2);text-align:center}
#calPeriodeBadge:empty{display:none}
.cal-filtres{display:flex;flex-wrap:wrap;gap:16px 24px;min-width:0}
.cal-filtres>label{display:flex;flex-direction:column;gap:6px;min-width:0;max-width:100%;font-size:14px;color:var(--texte-2)}
.cal-filtres select{min-height:44px;min-width:0;max-width:100%;border:1px solid var(--bord-controle);border-radius:8px;padding:10px 12px;background:var(--graphite2);color:var(--os);font:inherit;font-size:1rem}
.cal-actions{display:flex;flex-wrap:wrap;gap:8px}
.cal-actions>.btn{min-width:0;white-space:normal;min-height:44px}
#optionsCalendrierGestion{margin:8px 0 16px;border-bottom:1px solid var(--filet);min-width:0}
#optionsCalendrierGestion>summary{cursor:pointer;min-height:44px;padding:10px 0;font-size:14px;color:var(--os);font-weight:500}
.cal-options-contenu{display:flex;flex-wrap:wrap;gap:16px 24px;align-items:flex-end;padding:8px 0 16px}
.periode-ajout-champs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr) auto;gap:12px;align-items:end;margin:16px 0}
.periode-ajout-champs>label{display:flex;flex-direction:column;gap:6px;font-size:14px;min-width:0}
.periode-ajout-champs input{width:100%;min-width:0;max-width:100%;min-height:48px;box-sizing:border-box}
.periode-ajout-champs>.btn{min-height:48px;margin:0}
.jours-creation,.dates-creation{background:transparent;border:0;border-radius:0;box-shadow:none}
.dates-confirmations{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;padding:12px 0}
.dates-confirmations>div{padding:12px 0;border-bottom:1px solid var(--filet)}
.dates-confirmations label{min-width:0;max-width:100%}
.apercu-cycle{display:block;max-width:100%;margin:16px 0}
.apercu-cycle>p{font-size:14px;line-height:1.6;margin:0 0 12px;max-width:65ch}
.apercu-cycle>div{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;min-width:0}
.apercu-cycle>div>span{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0;padding:10px 2px;background:var(--graphite);border-radius:8px;font-size:12px;line-height:1.4;text-align:center;overflow-wrap:anywhere}
.apercu-cycle strong{font-size:13px}
.toast-action{display:flex;flex-wrap:wrap;align-items:center;gap:12px;min-width:0}
.toast-action>span{flex:1 1 280px;min-width:0;line-height:1.5}
.toast-action>.btn{min-height:44px;flex:none;white-space:normal}
.ajout-dates-presence{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto;align-items:end;gap:12px;padding-top:12px}
.ajout-dates-presence>label{min-width:0;margin:0}
.ajout-dates-presence input{width:100%;min-width:0;max-width:100%}
.ajout-dates-presence>.btn{min-height:48px;margin:0}
.form-ajout-personne input[type=date],.form-ajout-personne input[type=time],.editeur input[type=date],.editeur input[type=time]{inline-size:100%;min-inline-size:0;max-inline-size:100%;appearance:none;-webkit-appearance:none}
.form-ajout-personne input[type=date]::-webkit-date-and-time-value,.editeur input[type=date]::-webkit-date-and-time-value{text-align:left;min-width:0}
@media screen and (min-width:901px) and (max-width:1199px){
 #posteCommandeGestion{grid-template-columns:minmax(0,1fr)}
 #posteCommandeGestion>.actions-principales-gestion{justify-content:flex-start;max-width:640px}
 .actions-principales-gestion>.btn{flex:1}
}
@media screen and (min-width:901px){
 .ligne-activite-gestion{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr) minmax(0,.8fr) 20px;gap:20px;align-items:center}
 .ligne-activite-gestion>.act-personne,.ligne-activite-gestion>.act-heures,.ligne-activite-gestion>.act-volume,.ligne-activite-gestion>.act-objectif{grid-column:auto}
 .act-fleche{grid-column:5;grid-row:1}
 .act-heures,.act-volume,.act-objectif{font-size:13px}
}
@media screen and (max-width:900px){
 #barre-cote{display:grid;grid-template-columns:82px minmax(0,1fr) 44px;align-items:center;padding:8px max(16px,env(safe-area-inset-right)) 8px max(16px,env(safe-area-inset-left));background:var(--surface-carte);gap:8px}
 #barre-cote>.language-control{grid-column:1/-1;width:100%;min-width:0;margin-left:0;justify-self:stretch}
 .brand{grid-column:1;grid-row:1;padding:0;gap:2px;flex-direction:column;align-items:flex-start;border:0}
 .brand>span{font-size:12px;line-height:1.3}
 .brand .mdose-mark img{width:64px}
 .side-site{grid-column:2;grid-row:1;padding:0;margin:0;width:100%;min-width:0}
 #selSite{min-height:44px;border-radius:8px!important}
 .dates-laterales{display:none}
 .outils-app{grid-column:3;grid-row:1;margin:0;min-width:0}
 .outils-app>summary{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;font-size:0;padding:8px 0}
 .outils-app>summary::after{content:'Aide';font-size:12px;color:var(--os)}
 .outils-app[open]{grid-column:1/-1;grid-row:2;width:100%}
 .outils-app[open]>summary{justify-content:flex-start;font-size:13px}
 .outils-app[open]>summary::after{content:none}
 nav.tabs{gap:4px;padding-top:4px;background:var(--surface-carte)}
 nav.tabs button{font-size:12px;line-height:1.3;min-height:58px;gap:5px;padding:8px 2px;border-radius:8px}
 nav.tabs button.actif{box-shadow:inset 0 3px var(--action)}
 main{padding-top:12px}
 #tab-planning{display:flex;flex-direction:column}
 #guideHoraire{order:0}
 .gestion-entete{padding:0 0 8px;gap:12px}
 #guideHoraire .gestion-entete h2{font-size:26px;margin-bottom:4px}
 .repere-gestion{font-size:13px}
 .couverture-editoriale>strong{font-size:26px}
 .couverture-editoriale{padding-top:2px;font-size:12px}
 #guideHoraire[data-configure=true] #conseilHoraire{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;margin:0;padding:0}
 #posteCommandeGestion{order:1;grid-template-columns:minmax(0,1fr);gap:8px;padding:6px 0;margin-bottom:8px}
 #posteCommandeGestion>.barre{display:flex;gap:8px;flex-wrap:wrap;order:initial}
 #posteCommandeGestion>.barre>.gr-nav{flex:1 1 auto;justify-content:space-between;width:auto;margin:0;gap:0}
 #posteCommandeGestion #lblSemaine{font-size:0!important;padding:0 4px;flex:1}
 #posteCommandeGestion #lblSemaine::after{font-size:14px}
 #posteCommandeGestion>.barre>.menu-wrap{flex:none}
 #posteCommandeGestion #btnMenuFlux{font-size:13px;padding:8px 12px}
 #posteCommandeGestion>.actions-principales-gestion{display:flex;gap:8px;max-width:100%;margin:0;order:initial}
 .actions-principales-gestion>.btn{flex:1 1 0;min-height:48px;padding:8px;font-size:13px;gap:4px;line-height:1.4}
 .actions-principales-gestion>[data-etape]::before{margin:0}
 #posteCommandeGestion>.vue-horaire-gestion{display:flex;margin:0;padding:3px;gap:4px;background:var(--graphite);border-radius:8px}
 .vue-horaire-gestion button,.vue-calendrier-gestion button{min-height:40px;border-radius:8px;font-size:13px}
 .vue-horaire-gestion [aria-pressed=true],.vue-calendrier-gestion [aria-pressed=true]{box-shadow:none;background:var(--graphite2)}
 #horaireJourGestion,#grilleSemaine{order:2}
 #zoneDetails{order:3}
 .jours-gestion{margin:0 0 8px;padding-bottom:8px;gap:4px}
 .jours-gestion button{min-height:48px;padding:6px 2px;gap:2px}
 .ligne-agenda{padding:16px 12px;gap:12px;min-height:88px}
 .heure-agenda{flex-basis:60px}
 .ligne-agenda-contenu strong{font-size:15px}
 .ligne-agenda-contenu>span{font-size:13px}
 .avatar-gestion{width:28px;height:28px}
 .agenda-titre{margin:12px 0 8px}
 .agenda-titre h3{font-size:20px}
 .agenda-lignes>.etat-vide-gestion{margin:0;padding:10px 12px}
 .agenda-outils .btn{flex:1}
 .page-reglages>.entete-reglages{display:block;position:static;width:auto;height:auto;overflow:visible;clip-path:none;white-space:normal;margin-bottom:16px}
 .entete-reglages h2{font-size:26px}
 .select-rubrique-gestion{margin-bottom:16px;padding:8px 0;gap:8px}
 .select-rubrique-gestion select{border-radius:8px}
 .section-reglages{padding:20px 16px;border:0;border-radius:12px}
 #editeurPharmacien{padding:0;border-left:0}
 .fiche-personne-entete h3{font-size:26px}
 .creation-entete h3{font-size:26px}
 .etapes-personne{margin:20px 0 24px;gap:12px}
 .creation-champs{gap:20px}
 .creation-jours{gap:6px}
 .creation-actions .btn{padding:12px 16px}
 .carte-modale{border-radius:16px 16px 0 0}
 #menuFlux{border-radius:16px}
}
@media screen and (max-width:600px){
 .cal-filtres{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
 .cal-options-contenu{display:flex;flex-direction:column;align-items:stretch;gap:16px}
 .cal-actions>.btn{flex:1 1 auto}
 .periode-ajout-champs{grid-template-columns:minmax(0,1fr)}
 .ajout-dates-presence{grid-template-columns:minmax(0,1fr)}
 .creation-champs{grid-template-columns:minmax(0,1fr)}
 .resume-personne dl{grid-template-columns:minmax(0,1fr)}
 .resume-personne dt{border-bottom:0;padding-bottom:0}
 .resume-personne dd{padding-top:4px}
 .creation-jours{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
 .creation-jours button{min-width:44px;font-size:13px;padding:10px 0}
 .creation-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .creation-actions .btn{width:100%;padding:12px 8px;min-width:0;white-space:normal}
 .creation-actions .btn.primary{grid-column:1/-1}
 .etapes-personne li{font-size:12px}
}
@media screen and (max-width:359px){
 .couverture-editoriale{max-width:80px;text-align:right}
 #guideHoraire .gestion-entete h2{font-size:20px}
 .actions-principales-gestion>.btn{font-size:12px;padding:8px 4px;gap:3px}
 .ligne-agenda{padding:16px 8px;gap:8px}
 .heure-agenda{flex-basis:52px}
 .ligne-agenda .avatar-gestion{display:none}
 .jours-gestion{margin-left:-12px;margin-right:-12px;column-gap:0}
}
@media screen and (max-width:900px) and (max-height:540px){
 #posteCommandeGestion{position:static}
}
@media print{
 #posteCommandeGestion,.couverture-editoriale,.dates-laterales,.creation-actions{display:none!important}
 .gestion-entete{border:0;padding:0}
 .cal-navigation,.cal-filtres,.cal-actions,#optionsCalendrierGestion{display:none!important}
}
#calendrierDetailMobileGestion{display:none}
.echange-source{padding:12px 0;border-bottom:1px solid var(--filet);line-height:1.6}
#mContenu>button.choix{width:100%;box-sizing:border-box;text-align:left;font:inherit;color:var(--os);background:var(--graphite2);white-space:normal;min-height:44px}
#echangeDateGestion{min-height:44px;max-width:100%;box-sizing:border-box;font:inherit;color:var(--os);background:var(--graphite);border:1px solid var(--bord-controle);border-radius:8px;padding:8px 12px}
.echange-candidat{width:100%;min-height:44px;text-align:left;font:inherit;color:var(--os);background:var(--graphite2);white-space:normal;box-sizing:border-box}
.echange-candidat>span:first-child{display:grid;gap:6px;min-width:0}
.echange-candidat:disabled{opacity:1;color:var(--texte-2);cursor:not-allowed}
.echange-candidat .raison{display:block;font-size:13px;color:var(--texte-2);line-height:1.5}
.echange-apercu section{padding:16px 0;border-bottom:1px solid var(--filet)}
.echange-apercu h4{font-size:15px;margin:0 0 12px}
.echange-apercu dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;margin:0;line-height:1.6}
.echange-apercu dt{color:var(--texte-2)}
.echange-apercu dd{margin:0}
.echange-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.echange-actions .btn{min-height:44px;white-space:normal;flex:1}
@media screen and (max-width:900px){
 #tab-calendrier[data-vue-gestion=detail] #calGrille,#tab-calendrier[data-vue-gestion=detail] #calLegend{display:none}
 #tab-calendrier[data-vue-gestion=detail] #calendrierDetailMobileGestion{display:block}
 .detail-semaine-navigation{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:8px;margin:20px 0 8px}
 .detail-semaine-navigation h3{font-family:var(--police);font-size:15px;text-align:center;line-height:1.5;margin:0;text-transform:none;letter-spacing:normal}
 .detail-jours-gestion button[aria-pressed=true]{background:var(--selection-fond);border-color:var(--selection-texte);color:var(--selection-texte)}
 .detail-jours-gestion button{min-width:0;min-height:48px}
 .detail-semaine-navigation .btn{min-width:44px;min-height:44px;padding:8px}
 .detail-semaine-aide{font-size:14px;color:var(--texte-2);line-height:1.6;margin:0 0 24px}
 .detail-jour-mobile{padding:0 0 24px;margin-bottom:24px;border-bottom:1px solid var(--filet);min-width:0;scroll-margin-top:84px}
 .detail-jour-mobile .agenda-titre h3{font-size:20px;line-height:1.4}
 .quart-detail-mobile{border-bottom:1px solid var(--filet);padding:12px 0;min-width:0}
 .quart-detail-mobile .ligne-agenda{border:0;background:none;padding:4px 0 12px;min-height:0;align-items:flex-start;cursor:default}
 .quart-detail-mobile .ligne-agenda-contenu{min-width:0;overflow-wrap:normal;word-break:normal}
 .quart-detail-mobile .ligne-agenda-contenu>span{font-size:14px;line-height:1.6}
 .quart-detail-actions{display:flex;gap:12px}
 .quart-detail-actions .btn{flex:1;min-height:44px;font-size:14px}
 .detail-jour-mobile .agenda-outils{margin-top:16px;flex-wrap:wrap}
 .detail-jour-mobile .agenda-outils .btn{min-height:44px;white-space:normal}
 .echange-apercu dl{grid-template-columns:minmax(0,1fr)}
 .echange-apercu dt{margin-top:8px}
 .echange-actions{flex-direction:column}
 .echange-actions .btn{flex:auto}
}
@media print{#calendrierDetailMobileGestion{display:none!important}}

/* Keep scrolled and keyboard-focused controls above the fixed mobile tabs. */
@media screen and (max-width:900px){
 html,body,main{scroll-padding-bottom:calc(90px + env(safe-area-inset-bottom))}
 main :is(button,input,select,textarea,a){scroll-margin-bottom:calc(90px + env(safe-area-inset-bottom))}
}
/* At tablet desktop widths, let report panels use a full row before wrapping words. */
@media screen and (min-width:901px) and (max-width:1200px){
 #zoneDetails :is(.colonnes-egales,.colonnes-mixte){grid-template-columns:minmax(0,1fr)}
 #zoneDetails table :is(th,td){word-break:normal;overflow-wrap:normal}
}

/* Desktop workspace: give comparison data room; keep editing fields readable.
   Phone layouts and print remain owned by their existing rules. */
#rhListe .resume-ligne-rh{display:none}
#rhPaiements .fact-portee-taux{max-width:75ch;margin:16px 0;font-size:13px;line-height:1.6;color:var(--texte-2)}
#rhPaiements .fact-taux-reference{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0;text-transform:none;letter-spacing:normal}
#rhPaiements .fact-taux-reference>span{font-family:var(--police);font-size:13px;line-height:1.5;color:var(--texte-2);white-space:normal}
@media screen and (min-width:901px){
 #zoneDetails .colonnes-mixte,#zoneDetails .colonnes-egales{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}
 #zoneDetails .colonnes-mixte>.panneau,#zoneDetails .colonnes-egales>.panneau{width:100%;min-width:0}
 #zoneDetails .panneau{word-break:normal;overflow-wrap:normal;hyphens:none}
 #zoneDetails #stats>table{width:100%;table-layout:auto;font-family:var(--police);font-size:14px}
 #zoneDetails #stats th,#zoneDetails #stats td{padding:12px;font-family:var(--police);font-size:14px;line-height:1.5;white-space:normal;word-break:normal;overflow-wrap:normal;hyphens:none}
 #zoneDetails #stats th{text-transform:none;letter-spacing:normal;font-size:13px;font-weight:600}
 #zoneDetails #stats th:first-child,#zoneDetails #stats td:first-child{width:30%;min-width:160px}
 #zoneDetails #stats td small{font-size:13px}
 #zoneDetails #stats td:not(:first-child){font-variant-numeric:tabular-nums}
 #zoneDetails ul.problemes{max-height:none!important;overflow:visible;height:auto}
 #zoneDetails ul.problemes li{display:block;padding:12px;font-size:14px;line-height:1.6;word-break:normal;overflow-wrap:normal}
 #zoneDetails ul.problemes li .ico,#zoneDetails ul.problemes li .ico-sm{display:inline-block;vertical-align:middle;margin:0 6px 0 0}
 #zoneDetails .btn,#zoneDetails .btn-envoi{min-height:44px;white-space:normal}

 /* Sidebar commands are a list, rather than a stack of small boxed panels. */
 #barre-cote .dates-laterales{margin-top:16px}
 #barre-cote .dates-laterales>summary,#barre-cote #outilsApp>summary{display:list-item;min-height:44px;padding:12px 8px;font-size:13px;line-height:1.5;color:var(--os)}
 #barre-cote #outilsApp{border-top:1px solid var(--filet);padding-top:8px}
 #barre-cote #outilsApp>.side-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin:0 0 8px;padding:0;border:0}
 #barre-cote #outilsApp>.side-actions>button,#barre-cote #outilsApp>.side-actions>label{display:flex;align-items:center;min-width:0;min-height:44px;margin:0;padding:8px 4px;border:0;border-radius:8px;background:var(--graphite);font-size:13px;line-height:1.4;white-space:normal}
 #barre-cote #outilsApp>.btn,#barre-cote #outilsApp>#btnPalette,#barre-cote #outilsApp>#btnEcran,#barre-cote #outilsApp>#btnAide{display:flex;align-items:center;justify-content:flex-start;gap:8px;width:100%;min-height:44px;margin:0;padding:10px 8px;border:0;border-bottom:1px solid var(--filet);border-radius:0;background:transparent;box-shadow:none;text-align:left;font-size:13px;line-height:1.5;white-space:normal}
 #barre-cote #outilsApp>button:hover{background:var(--graphite)}
 #barre-cote .side-minical{padding-top:8px}
 #barre-cote .side-minical>h3{font-family:var(--police);font-size:12px;line-height:1.5;letter-spacing:normal;text-transform:none}
 #barre-cote .minical th{padding:4px 0;font-family:var(--police);font-size:12px}
 #barre-cote .minical td{height:32px;padding:4px 2px;vertical-align:middle;text-align:center}
 #barre-cote .minical td b{font-family:var(--police);font-size:12px;font-variant-numeric:tabular-nums}

 /* A wide list stays wide; a form is capped instead of stretching its inputs. */
 #tab-pharmaciens:not(.ajout-en-cours-gestion) #eq-reguliers>.layout2{grid-template-columns:minmax(240px,30%) minmax(0,1fr);gap:24px}
 #tab-pharmaciens:not(.ajout-en-cours-gestion) #editeurPharmacien{max-width:75ch;padding-left:24px}
 #editeurPharmacien .deux-cols{gap:20px}
 #editeurPharmacien .fiche-reperes{max-width:75ch;line-height:1.6}
 #financeForm,#formBilanGestion{width:100%;max-width:75ch}
 #financeForm .finance-champs{gap:20px 24px;align-items:start}
 #financeForm details>summary{min-height:44px;padding:10px 0;cursor:pointer}
 #financeForm .finance-personne{grid-template-columns:minmax(0,1fr) minmax(112px,160px);padding:12px 0;border-bottom:1px solid var(--filet);line-height:1.6}
 #financeForm input,#formBilanGestion input,#formBilanGestion textarea{min-height:44px}
 #tab-rh .ligne-activite-gestion{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) 20px;gap:24px;min-height:76px}
 #tab-rh .act-personne,#tab-rh .act-heures,#tab-rh .act-volume,#tab-rh .act-objectif{word-break:normal;overflow-wrap:normal;line-height:1.6}

 /* The flat RH list retains the full alert summary from the phone cards. */
 #rhListe .grille-cartes-rh,#rhListe .section-tt-rh:has(+.grille-cartes-rh){display:none}
 #rhListe .kpis-rh{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--filet)}
 #rhListe .kpi-rh{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
 #rhListe .kpi-rh .lbl{font-family:var(--police);font-size:13px;line-height:1.6;text-transform:none;letter-spacing:normal}
 #rhListe .kpi-rh .val{font-family:var(--police-affichage);font-size:26px;font-variant-numeric:tabular-nums}
 #rhListe .liste-rh{border:0;border-radius:0;box-shadow:none;background:transparent}
 #rhListe .corps-ligne-rh{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.2fr);gap:16px;min-height:76px;padding:16px 0}
 #rhListe .resume-ligne-rh{display:block;grid-column:1/-1;margin:0 0 0 42px;font-size:13px;line-height:1.6;color:var(--texte-2);word-break:normal;overflow-wrap:normal}
 #rhListe .qui-rh{width:auto;min-width:0}
 #rhListe .nom{font-size:15px;line-height:1.5;white-space:normal;overflow:visible;text-overflow:clip;word-break:normal;overflow-wrap:normal}
 #rhListe .sous{font-size:13px;line-height:1.5;white-space:normal;overflow:visible;text-overflow:clip}
 #rhListe .col-rh{width:auto;min-width:0;font-family:var(--police);font-size:14px;text-align:left;font-variant-numeric:tabular-nums}
 #rhListe .col-rh .col-l{font-size:12px;text-align:left}
 #rhListe .droite-rh{min-width:0;margin:0;gap:8px;justify-content:flex-end}
 #rhListe .pill-rh{font-size:12px;line-height:1.5;padding:4px 8px;white-space:normal}
 #rhListe .detail-rh{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;padding:16px 0 24px;border-top:1px solid var(--filet)}
 #rhListe .detail-rh[hidden]{display:none}
 #rhListe .grp-detail-rh{min-width:0}
 #rhListe .titre-grp-rh{font-family:var(--police);font-size:15px;line-height:1.5;text-transform:none;letter-spacing:normal}
 #rhListe .plages-detail-rh{font-family:var(--police);font-size:13px;line-height:1.6}
 #rhListe .ligne-d-rh{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;padding:12px 0;font-size:13px;line-height:1.6}
 #rhListe .ligne-d-rh .v{font-family:var(--police);font-size:14px;word-break:normal;overflow-wrap:normal;font-variant-numeric:tabular-nums}
 #rhListe input.rh-taux{width:112px;max-width:100%;min-height:44px;padding:10px 12px;font-family:var(--police);font-size:14px}

 /* Payments: one surface, aligned summary figures and separated person rows. */
 #rhPaiements>.panneau{padding:0;border:0;box-shadow:none;background:transparent}
 #rhPaiements .fact-resume{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:20px 0 24px;padding-bottom:24px;border-bottom:1px solid var(--filet)}
 #rhPaiements .fact-somme{padding:0;border:0;border-radius:0;background:transparent}
 #rhPaiements .fact-somme .e{font-family:var(--police);font-size:13px;line-height:1.6;text-transform:none;letter-spacing:normal}
 #rhPaiements .fact-somme .v{font-family:var(--police-affichage);font-size:26px;font-variant-numeric:tabular-nums}
 #rhPaiements .fact-pers{margin:0;padding:16px 0;border:0;border-bottom:1px solid var(--filet);border-radius:0;background:transparent}
 #rhPaiements .fact-pers-tete{gap:12px}
 #rhPaiements .fact-pers-nom{font-size:15px;line-height:1.5;white-space:normal;overflow:visible;text-overflow:clip;word-break:normal;overflow-wrap:normal}
 #rhPaiements .fact-pers-chiffres{flex-wrap:wrap;gap:12px;min-width:0;font-family:var(--police);font-size:14px;line-height:1.6;white-space:normal;font-variant-numeric:tabular-nums}
 #rhPaiements .fact-taux{width:112px;min-height:44px;font-family:var(--police);font-size:14px}
 #rhPaiements .btn-mini,#rhPaiements .btn-envoi,#rhPaiements .btn-assigner,#rhPaiements .fact-barre select{min-width:44px;min-height:44px;height:auto;white-space:normal}
 #rhPaiements .fact-q{min-height:48px;font-size:14px;line-height:1.6;flex-wrap:wrap}
 #rhPaiements .fact-q .l{white-space:normal;overflow:visible;text-overflow:clip;word-break:normal;overflow-wrap:normal}
 #rhPaiements .facture-actions{gap:8px}

 #eq-banque .carnet-grille{grid-template-columns:minmax(0,1fr);gap:0}
 #eq-banque .carte-contact{border:0;border-bottom:1px solid var(--filet);border-radius:0;background:transparent;padding:20px 0;box-shadow:none}
 #eq-banque .cc-tete,#eq-banque .cc-duo,#eq-banque .cc-pied{max-width:75ch}
 #eq-banque .cc-tel{width:200px}
 #eq-banque .cc-notes{min-width:0}
 #eq-banque .cc-actif,#eq-banque .btn-envoi,#eq-banque .btn-assigner{min-height:44px;height:auto;white-space:normal}
 #eq-banque input:not([type=checkbox]),#eq-banque select,#eq-banque textarea{min-height:44px;font-size:14px}

 #reglesForm{max-width:75ch}
 #reglesForm .ligne-reglage{gap:16px;align-items:start}
 #reglesForm .info-reglage{max-width:none;flex:1;min-width:0}
 #reglesForm .lbl-reglage{font-size:14px;line-height:1.5}
 #reglesForm label.lbl-reglage{display:flex;align-items:center;min-height:44px}
 #reglesForm .desc-reglage{font-size:13px;line-height:1.6;max-width:65ch}
 #reglesForm .ctl-reglage{min-width:0;max-width:100%;flex-wrap:wrap;min-height:44px}
 #reglesForm .ctl-reglage input:not([type=checkbox]),#reglesForm .ctl-reglage select{min-height:44px;font-size:14px}
 #reglesForm .ctl-reglage select{width:auto;min-width:0;max-width:240px}
 #reglesForm .ctl-reglage input.champ-date{width:190px;max-width:100%}
}
@media screen and (min-width:901px) and (max-width:1279px){
 #rh-periodes>.grille-basse-reglages{grid-template-columns:minmax(0,1fr)}
 #rh-periodes>.grille-basse-reglages>div{min-width:0}
 #tab-pharmaciens:not(.ajout-en-cours-gestion) #eq-reguliers>.layout2{grid-template-columns:minmax(208px,34%) minmax(0,1fr);gap:20px}
 #editeurPharmacien .deux-cols,#financeForm .finance-champs{grid-template-columns:minmax(0,1fr)}
 #tab-rh .ligne-activite-gestion{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr) 20px;gap:16px}
 #tab-rh .ligne-activite-gestion>.act-personne{grid-column:1;grid-row:1/3}
 #tab-rh .ligne-activite-gestion>.act-heures{grid-column:2;grid-row:1/3}
 #tab-rh .ligne-activite-gestion>.act-volume{grid-column:3;grid-row:1}
 #tab-rh .ligne-activite-gestion>.act-objectif{grid-column:3;grid-row:2}
 #tab-rh .ligne-activite-gestion>.act-fleche{grid-column:4;grid-row:1/3}
}
@media screen and (min-width:1100px){
 #zoneDetails .colonnes-egales{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media screen and (min-width:1280px){
 #zoneDetails .colonnes-mixte{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}
 #zoneDetails .colonnes-mixte:has(>.panneau[hidden]){grid-template-columns:minmax(0,1fr)}
 #rhListe .kpis-rh{grid-template-columns:repeat(4,minmax(0,1fr))}
 #rhListe .detail-rh{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* The schedule and its review share a workspace, rather than a long report below it. */
#espaceHoraireGestion{order:2;min-width:0;display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:20px;scroll-margin-top:200px}
#surfaceHoraireGestion{min-width:0}
#tab-planning{max-width:none}
#menuFlux #guideDemarrage{margin:8px 0 0;padding:12px;border-top:1px solid var(--filet);font-size:14px;line-height:1.6}
#menuFlux #guideDemarrage>summary{min-height:44px;padding:8px 0;cursor:pointer}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
#signauxHoraireGestion{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:4px 8px;padding-top:8px;border-top:1px solid var(--filet);min-width:0}
#signauxHoraireGestion>.btn{min-height:44px;padding:8px 12px;font:500 13px/1.4 var(--police);white-space:normal;box-shadow:none;border-color:transparent;background:transparent;justify-content:flex-start;font-variant-numeric:tabular-nums}
#signauxHoraireGestion>.btn:hover:not(:disabled),#signauxHoraireGestion>.btn[aria-expanded=true]{background:var(--graphite);border-color:var(--filet-fort)}
#signauxHoraireGestion>.signal-erreur{color:var(--rouge)}
#signauxHoraireGestion>.signal-attention{color:var(--ambre)}
#espaceHoraireGestion #zoneDetails{order:initial;margin:0;min-width:0;padding:0;background:var(--surface-carte);border:1px solid var(--filet-fort);border-radius:12px;container:verification / inline-size;overflow:hidden}
.verification-entete{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 20px 12px}
.verification-entete>div{min-width:0}
#titreVerificationHoraireGestion{font:600 18px/1.4 var(--police-affichage);margin:0;color:var(--os);text-transform:none;letter-spacing:normal}
#periodeVerificationHoraireGestion{font:400 13px/1.5 var(--police);color:var(--texte-2);margin:4px 0 0}
#fermerBilanGestion{flex:none;margin:0;min-height:44px;padding:8px 12px;font-size:13px}
#rubriquesVerificationHoraireGestion{display:flex;flex-wrap:wrap;gap:4px;padding:0 16px 12px;border-bottom:1px solid var(--filet)}
#rubriquesVerificationHoraireGestion>.btn{flex:1 1 auto;min-height:44px;padding:8px 12px;white-space:normal;font:500 13px/1.4 var(--police);border-color:transparent;background:transparent;box-shadow:none}
#rubriquesVerificationHoraireGestion>.btn[aria-pressed=true]{background:var(--graphite);color:var(--os);border-color:var(--action);font-weight:700}
#contenuVerificationHoraireGestion{min-width:0;padding:20px}
#contenuVerificationHoraireGestion .panneau{min-width:0;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
#contenuVerificationHoraireGestion .panneau+.panneau{padding-top:24px;margin-top:24px;border-top:1px solid var(--filet)}
#contenuVerificationHoraireGestion .panneau h3{font:600 17px/1.5 var(--police);margin:0 0 16px;letter-spacing:normal;text-transform:none}
#zoneDetails table.stats{color:var(--os)}
#zoneDetails .verification-voir-jour{display:flex;width:max-content;max-width:100%;min-height:44px;margin-top:8px;padding:8px 12px;background:var(--surface-carte);color:var(--os);font-size:13px}
@media screen{
 body:has(#tab-planning[data-semaine-preparee=true]:not([hidden])) #configurationGuideeGestion{display:none}
 #tab-planning[data-semaine-preparee=true] #etatEtablissement{display:none}
 #tab-planning[data-semaine-preparee=true] .couverture-editoriale{display:none}
 #tab-planning[data-semaine-preparee=true] #conseilHoraire{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
 #tab-planning[data-semaine-preparee=true] #guideHoraire .gestion-entete{padding-bottom:12px}
}
@media screen and (min-width:901px){
 #espaceHoraireGestion #zoneDetails{display:flex;flex-direction:column;max-height:var(--hauteur-espace-horaire,60vh)}
 #espaceHoraireGestion #zoneDetails[hidden]{display:none}
 #contenuVerificationHoraireGestion{overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable}
 .verification-entete,#rubriquesVerificationHoraireGestion{flex:none}
 #tab-planning[data-semaine-preparee=true] #guideHoraire .gestion-entete{align-items:center}
 #tab-planning[data-semaine-preparee=true] #guideHoraire .gestion-entete>div:first-child{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}
 #tab-planning[data-semaine-preparee=true] #guideHoraire .gestion-entete h2{font-size:24px;margin:0}
 #tab-planning[data-semaine-preparee=true] #posteCommandeGestion{padding:12px 0;gap:8px 20px;margin-bottom:16px}
}
@media screen and (min-width:1280px){
 #tab-planning[data-verification=ouverte] #espaceHoraireGestion{grid-template-columns:minmax(0,1fr) clamp(320px,25vw,400px);gap:20px}
 #tab-planning[data-verification=ouverte] .verification-entete{flex-direction:column;gap:8px}
 #tab-planning[data-verification=ouverte] #fermerBilanGestion{padding-left:0;border-color:transparent;background:transparent}
}
@media screen and (max-width:1279px){
 #espaceHoraireGestion[data-focus=bilan] #surfaceHoraireGestion{display:none}
 #tab-planning[data-verification=ouverte] #posteCommandeGestion{position:static}
 #tab-planning[data-verification=ouverte] #espaceHoraireGestion{scroll-margin-top:16px}
}
@media screen and (max-width:900px){
 #espaceHoraireGestion{gap:12px;scroll-margin-top:12px}
 #signauxHoraireGestion{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding-top:4px}
 #signauxHoraireGestion>.btn{padding:8px;font-size:12px}
 #signauxHoraireGestion>[data-verification-ouvrir=suivi]{display:none}
 .verification-entete{padding:16px;flex-direction:column;gap:8px}
 #fermerBilanGestion{padding-left:0;border-color:transparent;background:transparent}
 #rubriquesVerificationHoraireGestion{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:0 12px 12px}
 #contenuVerificationHoraireGestion{padding:16px}
}
/* Navigation stays labelled; a horizontal shell frees working width on laptops. */
@media screen and (min-width:901px) and (max-width:1599px){
 #app{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}
 #barre-cote{position:relative;display:grid;grid-template-columns:150px minmax(0,1fr) 180px auto auto;align-items:center;gap:8px 16px;padding:12px 24px;border-right:0;border-bottom:1px solid var(--filet);overflow:visible;z-index:30}
 #barre-cote .brand{grid-column:1;grid-row:1;padding:0;border:0;gap:2px}
 #barre-cote .brand .mdose-mark img{width:76px;height:auto}
 #barre-cote .brand>span{font-size:15px;line-height:1.4}
 #barre-cote .brand small{display:none}
 #barre-cote nav.tabs{grid-column:2;grid-row:1;display:flex;flex-direction:row;gap:4px;border:0;margin:0;padding:0}
 #barre-cote nav.tabs button{flex:1;justify-content:center;gap:6px;padding:10px 8px;font-size:13px;white-space:nowrap}
 #barre-cote nav.tabs button.actif{box-shadow:inset 0 -2px var(--action)}
 #barre-cote .side-site{grid-column:3;grid-row:1;padding:0;border:0;margin:0}
 #barre-cote .side-site>label{font-size:11px;margin:0!important}
 #barre-cote #selSite{min-height:44px}
 #barre-cote .dates-laterales{grid-column:4;grid-row:1}
 #barre-cote #outilsApp{grid-column:5;grid-row:1}
 #barre-cote .dates-laterales,#barre-cote #outilsApp{position:relative;margin:0;padding:0;border:0}
 #barre-cote .dates-laterales>summary,#barre-cote #outilsApp>summary{font-size:12px;white-space:nowrap;padding:12px 4px}
 #barre-cote .dates-laterales[open]{align-self:start}
 #barre-cote .dates-laterales[open] .side-minical{position:absolute;right:0;top:100%;width:300px;padding:16px;background:var(--surface-carte);border:1px solid var(--filet-fort);border-radius:8px;box-shadow:0 8px 24px #00194320}
 #barre-cote #outilsApp[open]{grid-column:1/-1;grid-row:2;display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding-top:8px;border-top:1px solid var(--filet)}
 #barre-cote #outilsApp[open]>summary{flex:0 0 130px;display:list-item}
 #barre-cote #outilsApp>.side-actions{display:flex;flex-wrap:wrap;margin:0;gap:8px}
 #barre-cote #outilsApp>.side-actions>button,#barre-cote #outilsApp>.side-actions>label,#barre-cote #outilsApp>.btn,#barre-cote #outilsApp>#btnPalette,#barre-cote #outilsApp>#btnEcran,#barre-cote #outilsApp>#btnAide{width:auto;margin:0;padding:8px;min-height:44px;border:0;font-size:12px}
 main{min-height:0;padding:20px 24px}
}
@media screen and (min-width:901px) and (max-width:1199px){
 #barre-cote{grid-template-columns:150px minmax(180px,1fr) auto auto}
 #barre-cote nav.tabs{grid-column:1/-1;grid-row:2}
 #barre-cote .side-site{grid-column:2}
 #barre-cote .dates-laterales{grid-column:3}
 #barre-cote #outilsApp{grid-column:4}
 #barre-cote #outilsApp[open]{grid-row:3}
}
@media screen and (min-width:1600px){
 #app{grid-template-columns:184px minmax(0,1fr)}
 #barre-cote{padding-left:12px;padding-right:12px;gap:16px}
 #barre-cote .brand{padding-left:4px;padding-right:4px}
 #barre-cote .brand>span{font-size:18px}
 #barre-cote .brand .mdose-mark img{width:112px;height:auto}
 #barre-cote nav.tabs button{padding-left:10px;padding-right:10px;font-size:14px}
}
@media print{
 #espaceHoraireGestion,#surfaceHoraireGestion{display:block!important;max-height:none!important}
 #signauxHoraireGestion,#zoneDetails{display:none!important}
}

/* The remaining workspaces use the same control roles and a task-sized reading area. */
#tab-rh,#tab-regles,#tab-pharmaciens,.page-reglages{max-width:none}
.contenu-reglages{min-width:0}
.section-reglages .panneau{border:0;border-radius:0;box-shadow:none;background:transparent;padding:0}
.section-reglages p{font-size:14px;line-height:1.6}
.section-reglages :is(.btn,.btn-envoi,.btn-assigner,.btn-ajout,.lien-feries),.section-reglages summary{font-family:var(--police);font-size:14px;line-height:1.5}
.section-reglages :is(.btn,.btn-envoi,.btn-assigner,.btn-ajout,.lien-feries,.btn-mini,.x-ferie){box-sizing:border-box;min-height:44px;height:auto;border-radius:8px;padding:10px 12px;white-space:normal}
.section-reglages :is(.btn-mini,.x-ferie){min-width:44px}
.section-reglages .btn-mini:not([data-banque-suppr]):not([data-suppr-periode]):hover{background:var(--graphite);border-color:var(--bord-controle);color:var(--os)}
.section-reglages .btn-assigner{background:var(--action);border-color:var(--action);color:var(--action-texte)}
.section-reglages .btn-assigner:hover{background:var(--action-hover)}
.section-reglages :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=color]){box-sizing:border-box;min-height:44px;border-radius:8px;font-family:var(--police);font-size:14px;max-width:100%}
.section-reglages :is(label,.desc-reglage,.periode-contexte-rh){font-family:var(--police);line-height:1.6}
.section-reglages .desc-reglage{font-size:13px}
#per-prec,#per-suiv,#wdPer-prec,#wdPer-suiv{min-width:44px;flex:none}
.section-reglages table.stats{color:var(--os)}
#rhListe .grille-cartes-rh,#rhListe .section-tt-rh:has(+.grille-cartes-rh){display:none}
#rhListe .resume-ligne-rh{display:block;flex-basis:100%;font:400 13px/1.6 var(--police);color:var(--texte-2)}
.section-reglages #rhListe .pill-rh{font-size:12px;line-height:1.5}
.section-reglages #rhListe .pill-rh.vert{background:var(--surface-carte);color:var(--vert)}
.section-reglages .panneau[hidden]{display:none!important}
#reglesForm{max-width:none}
#reglesForm>[data-famille-regles-panneau]{max-width:960px;padding:24px 0;border:0;border-bottom:1px solid var(--filet)}
#reglesForm>[data-famille-regles-panneau]:first-child{padding-top:0}
#reglesForm>[data-famille-regles-panneau]:last-child{border-bottom:0}
#reglesForm .ligne-reglage{padding:16px 0;gap:24px}
#reglesForm .info-reglage{flex:1;min-width:0}
#reglesForm .ctl-reglage{flex:0 0 240px;justify-content:flex-start;align-items:center;gap:12px}
#reglesForm .ctl-reglage>.num-in{width:100px}
#reglesForm .ctl-reglage>select{width:100%;max-width:100%}
#reglesForm .contexte-regle-gestion{padding:12px 0;margin:0 0 16px;border-bottom:1px solid var(--filet);color:var(--texte-2)}
.champ-regle-gestion{display:grid;gap:6px;min-width:0;font-size:13px;color:var(--texte-2)}
#reglesForm .ctl-reglage>.champ-regle-gestion{flex:1}
#reglesForm .champ-regle-gestion input{width:100%!important}
#reglesForm .ajout-ferie{align-items:end;gap:12px}
#reglesForm .ajout-ferie .champ-regle-gestion{flex:1 1 160px}
#rh-periodes>.btn{margin-bottom:20px}
#rh-workday .aide-gestion{max-width:75ch;margin:0 0 20px}
.actions-donnees-gestion{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0 24px}
.effacement-donnees-gestion{margin-top:28px;border-top:1px solid var(--filet);padding-top:16px}
.effacement-donnees-gestion>summary{cursor:pointer;min-height:44px;padding:10px 0}
.effacement-donnees-gestion p{max-width:75ch;color:var(--texte-2)}
#btnReset{min-height:44px;border-radius:8px!important;font:500 14px/1.5 var(--police);padding:10px 12px!important}
#eq-reguliers #btnAjouterPh{width:100%;margin:0 0 12px}
#banqueCarnet .carnet-grille{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}
.liste-carnet-gestion{min-width:0}
.section-reglages #banqueCarnet .carte-contact{padding:20px 0;border:0;border-bottom:1px solid var(--filet);border-radius:0;box-shadow:none;background:transparent}
.section-reglages #banqueCarnet .carte-contact:first-child{padding-top:0}
.section-reglages #banqueCarnet .carte-ajout{padding:0;border:0}
.section-reglages #banqueCarnet .cc-duo>label{flex:1 1 180px}
.section-reglages #banqueCarnet .carte-ajout .cc-duo>label{flex:0 0 auto}
.section-reglages #banqueCarnet .cc-duo{margin:12px 0;gap:16px}
.section-reglages #banqueCarnet .carte-contact .banque-champ{min-height:44px;height:auto;padding:10px 12px}
.section-reglages #banqueCarnet .cc-tel{width:100%}
.section-reglages #banqueCarnet textarea.cc-notes{min-height:72px;resize:vertical;line-height:1.5;max-height:240px}
.section-reglages #banqueCarnet .cc-tete,.section-reglages #banqueCarnet .cc-duo,.section-reglages #banqueCarnet .cc-pied{max-width:none}
.ajout-carnet-gestion{min-width:0;padding:0}
.ajout-carnet-gestion>summary{cursor:pointer;min-height:44px;padding:10px 0;margin-bottom:16px;font-weight:600}
.finance-espace-gestion{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;margin-top:20px}
.finance-saisie-gestion,.finance-synthese-gestion{min-width:0}
.finance-saisie-gestion .edition-finance-gestion{margin:0;padding:0;border:0}
.finance-synthese-gestion{padding-top:20px;border-top:1px solid var(--filet)}
.finance-espace-gestion[data-edition=fermee] .finance-saisie-gestion{max-width:75ch}
.finance-espace-gestion[data-edition=ouverte] .finance-synthese-gestion .finance-indicateurs{grid-template-columns:minmax(0,1fr);gap:16px;margin:0;padding-bottom:16px}
.finance-espace-gestion[data-edition=ouverte] .finance-indicateur strong{font-size:26px}
#financeForm{max-width:none}
#financeForm .finance-champs{gap:20px;grid-template-columns:repeat(2,minmax(0,1fr))}
#financeForm .finance-personne{grid-template-columns:minmax(0,1fr) 120px}
.tendance-signee{position:relative;display:flex;gap:12px;padding:0 0 0 28px;height:184px}
.tendance-signee::before{content:'';position:absolute;left:28px;right:0;top:80px;border-top:1px solid var(--texte-2)}
.tendance-zero{position:absolute;left:0;top:70px;font-size:12px;color:var(--texte-2)}
.tendance-mois{flex:1;min-width:0;text-align:center;font-size:12px;color:var(--texte-2)}
.tendance-trace{height:160px;position:relative}
.tendance-barre{display:block;position:absolute;bottom:50%;left:20%;width:60%;height:var(--amplitude);background:var(--vert);border-radius:0}
.tendance-barre.perte{top:50%;bottom:auto;background:var(--rouge)}
.tendance-valeurs{list-style:none;margin:12px 0;padding:0;font-size:13px}
.tendance-valeurs li{display:flex;gap:12px;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--filet);font-variant-numeric:tabular-nums}
.espace-rh-gestion{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.55fr);gap:24px;align-items:start}
.fiche-rh-gestion{min-width:0;border-left:1px solid var(--filet);padding-left:24px}
.fiche-rh-gestion>h4{font-size:20px;margin:20px 0 12px;line-height:1.5}
#rhListe .fiche-rh-gestion .detail-rh{display:block;padding:0;border:0;margin:0}
#rhListe .fiche-rh-gestion .ligne-d-rh{display:block;padding:10px 0}
#rhListe .fiche-rh-gestion .ligne-d-rh .v{display:block;margin-top:4px}
#rhListe .fiche-rh-gestion .grp-detail-rh+.grp-detail-rh{border-top:1px solid var(--filet);padding-top:20px;margin-top:16px}
#rhListe .fiche-rh-gestion .plages-detail-rh{font-family:var(--police);font-size:13px}
@media screen and (min-width:1200px){
 #tab-rh .page-reglages,#tab-regles .page-reglages{display:grid;grid-template-columns:200px minmax(0,1fr);gap:24px;align-items:start}
 #tab-rh .page-reglages>.entete-reglages,#tab-regles .page-reglages>.entete-reglages{grid-column:1/-1;margin-bottom:0}
 #tab-rh .page-reglages>.rail-reglages,#tab-regles .page-reglages>.rail-reglages{grid-column:1;grid-row:2;display:grid;position:sticky;top:0;gap:4px;margin:0;padding:0 16px 0 0;border:0;border-right:1px solid var(--filet);width:100%;box-sizing:border-box;background:transparent}
 #tab-rh .page-reglages>.contenu-reglages,#tab-regles .page-reglages>.contenu-reglages{grid-column:2;grid-row:2}
 .page-reglages>.rail-reglages a{white-space:normal;align-items:flex-start}
 #tab-rh .rail-reglages a.actif,#tab-regles .rail-reglages a.actif{box-shadow:none;border:1px solid var(--action)}
 .section-reglages #banqueCarnet .carnet-grille{grid-template-columns:minmax(0,1fr) 300px;gap:28px}
 .ajout-carnet-gestion{border-left:1px solid var(--filet);padding-left:24px;position:sticky;top:16px}
 .section-reglages #banqueCarnet .liste-carnet-gestion>.carte-contact{display:grid;grid-template-columns:minmax(180px,1.1fr) minmax(140px,.75fr) minmax(200px,1.5fr) auto;gap:16px;align-items:end}
 .section-reglages #banqueCarnet .liste-carnet-gestion .cc-duo{display:contents}
 .section-reglages #banqueCarnet .liste-carnet-gestion .cc-pied{border:0;padding:0;flex-direction:column;align-items:flex-end;gap:4px}
 .section-reglages #banqueCarnet .liste-carnet-gestion .cc-tete{padding-bottom:0}
 .section-reglages #banqueCarnet .liste-carnet-gestion .cc-pastille{display:none}
 .section-reglages #banqueCarnet #banque-ajout-btn{background:var(--action);color:var(--action-texte);border-color:var(--action)}
 .finance-espace-gestion[data-edition=ouverte]{grid-template-columns:minmax(0,1fr) minmax(280px,.65fr);gap:28px}
 .finance-espace-gestion[data-edition=ouverte] .finance-synthese-gestion{padding:0 0 0 24px;border-top:0;border-left:1px solid var(--filet)}
}
@media screen and (min-width:901px) and (max-width:1199px){
 #tab-rh .page-reglages>.rail-reglages,#tab-regles .page-reglages>.rail-reglages{display:none}
 #tab-rh .select-rubrique-gestion,#tab-regles .select-rubrique-gestion{display:flex;gap:12px;align-items:center;margin-bottom:20px;font-size:14px}
 #tab-rh .select-rubrique-gestion select,#tab-regles .select-rubrique-gestion select{min-width:0;flex:1;min-height:48px;padding:10px 12px;background:var(--surface-carte);color:var(--os);border:1px solid var(--bord-controle);border-radius:8px;font:inherit}
}
@media screen and (max-width:900px){
 .section-reglages :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=color]){font-size:16px;min-height:48px}
 #reglesForm .ctl-reglage{flex:0 0 auto;width:100%}
 #reglesForm .ligne-reglage{gap:12px}
 #financeForm .finance-champs{grid-template-columns:minmax(0,1fr)}
 .section-reglages #banqueCarnet .carnet-grille{grid-template-columns:minmax(0,1fr)}
 .ajout-carnet-gestion{grid-row:1;border-bottom:1px solid var(--filet);padding-bottom:12px}
 .section-reglages #banqueCarnet .cc-duo>label{flex:none}
}
@media print{.page-reglages>.rail-reglages,.select-rubrique-gestion{display:none!important}}

/* Direct access to help and the daily team board, separate from week commands. */
#accesUtilesGestion{display:flex;flex-direction:column;gap:8px;min-width:0}
#accesUtilesGestion>#btnAide,#accesUtilesGestion>#btnEcran{box-sizing:border-box;display:flex;align-items:center;justify-content:flex-start;gap:8px;min-height:44px;padding:10px 12px;border:1px solid var(--bord-controle);border-radius:8px;background:var(--surface-carte);color:var(--os);font:500 14px/1.5 var(--police);cursor:pointer;white-space:normal}
#accesUtilesGestion>#btnAide:hover,#accesUtilesGestion>#btnEcran:hover{background:var(--selection-fond)}
#accesUtilesGestion .outils-app{margin:0;width:auto;min-width:0}
#accesUtilesGestion .outils-app>summary{font-size:14px;min-height:44px;padding:10px 12px;box-sizing:border-box;cursor:pointer;color:var(--texte-2)}
#accesUtilesGestion .outils-app>summary::after{content:none}
#accesUtilesGestion .outils-app[open]{width:100%}
#accesUtilesGestion .dates-laterales{position:static;display:block}
#barre-cote #accesUtilesGestion #outilsApp,#barre-cote #accesUtilesGestion #outilsApp[open]{position:relative;display:block;grid-column:auto;grid-row:auto;flex:none;width:auto;margin:0;padding:0;border:0;overflow:visible;background:transparent;box-shadow:none}
#barre-cote #accesUtilesGestion #outilsApp>summary{margin:0;white-space:nowrap}
.outils-contenu-gestion{position:fixed;z-index:80;display:grid;grid-template-columns:minmax(0,1fr);gap:8px;box-sizing:border-box;width:360px;padding:16px;border:1px solid var(--bord-controle);border-radius:12px;background:var(--surface-carte);box-shadow:var(--ombre-flottante);overflow:auto;overscroll-behavior:contain}
#barre-cote #contenuOutilsGestion{grid-template-columns:minmax(0,1fr)}
#barre-cote #contenuOutilsGestion>*{grid-area:auto;min-width:0}
.outils-contenu-gestion[hidden]{display:none!important}
.outils-contenu-gestion .side-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0;border:0}
#contenuOutilsGestion :is(button,.side-actions>label){box-sizing:border-box;display:flex;align-items:center;gap:8px;min-height:44px;padding:10px 12px;border:1px solid var(--bord-controle);border-radius:8px;background:var(--surface-carte);color:var(--os);font:400 14px/1.5 var(--police);cursor:pointer;text-align:left;white-space:normal;max-width:100%;width:100%}
#contenuOutilsGestion .dates-laterales[open] .side-minical{position:static;width:100%;padding:12px 0 0;box-sizing:border-box;border:0;background:transparent;box-shadow:none}
#contenuOutilsGestion .dates-laterales>summary{white-space:normal;padding:12px 0;font-size:14px}
.outils-contenu-gestion :is(button,.side-actions>label):hover{background:var(--selection-fond)}
.outils-contenu-gestion [hidden]{display:none!important}
body.overlay-ouvert #accesUtilesGestion{pointer-events:none}
#menuFlux.actions-taches-gestion,#aidePop.aide-taches-gestion{position:fixed;z-index:100;inset:16px 16px 16px auto;width:min(480px,calc(100vw - 32px));min-width:0;max-width:none;max-height:none;box-sizing:border-box;padding:0;overflow:hidden;display:flex;flex-direction:column;gap:0;background:var(--surface-carte);border:1px solid var(--bord-controle);border-radius:12px;box-shadow:var(--ombre-modale);color:var(--os)}
#menuFlux.actions-taches-gestion[hidden],#aidePop.aide-taches-gestion[hidden]{display:none}
#menuFlux.actions-taches-gestion [hidden],#aidePop.aide-taches-gestion [hidden]{display:none!important}
#app[inert]{opacity:.45}
.actions-taches-gestion .menu-entete-gestion,.aide-entete-gestion{position:static!important;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;padding:20px!important;background:var(--surface-carte)!important;border-bottom:1px solid var(--filet);flex:none}
.actions-taches-gestion .menu-entete-gestion strong{font:600 20px/1.3 var(--police-affichage);grid-column:1;grid-row:1;margin:0}
#contexteActionsGestion{grid-column:1;grid-row:2;margin:0;color:var(--texte-2);font:400 13px/1.5 var(--police);overflow-wrap:anywhere}
.actions-taches-gestion #btnFermerActionsGestion{grid-column:2;grid-row:1/3;padding:10px;font:500 14px/1.5 var(--police);border:1px solid var(--bord-controle);background:var(--surface-carte)}
#categoriesActionsGestion{display:flex;gap:4px;padding:12px 16px;border-bottom:1px solid var(--filet);flex:none}
#categoriesActionsGestion button{flex:1;min-height:44px;min-width:0;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--os);font:400 14px/1.5 var(--police);padding:8px;cursor:pointer}
#categoriesActionsGestion [aria-pressed=true]{background:var(--selection-fond);border-color:var(--action);font-weight:600}
.actions-contenu-gestion,.aide-contenu-gestion{overflow:auto;overscroll-behavior:contain;min-height:0;padding:8px 20px 24px;flex:1}
.actions-contenu-gestion>[hidden]{display:none!important}
#menuFlux.actions-taches-gestion .mi{box-sizing:border-box;display:flex;align-items:center;gap:10px;width:100%;min-height:52px;padding:14px 0;border-radius:0;border:0;border-bottom:1px solid var(--filet);font:400 15px/1.5 var(--police);color:var(--os)}
#menuFlux.actions-taches-gestion .mi:hover{background:var(--graphite)}
#menuFlux.actions-taches-gestion .danger{color:var(--rouge)}
.actions-contenu-gestion details{margin-top:16px;border-top:1px solid var(--filet)}
.actions-contenu-gestion summary,.aide-contenu-gestion summary{cursor:pointer;min-height:44px;box-sizing:border-box;padding:12px 0;font:500 14px/1.5 var(--police);color:var(--os)}
.actions-contenu-gestion p,.actions-aide-gestion{font:400 13px/1.6 var(--police);color:var(--texte-2);margin:12px 0}
#menuFlux.actions-taches-gestion .ligne{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;padding:16px 0;border-bottom:1px solid var(--filet)}
#menuFlux.actions-taches-gestion select{min-width:0;max-width:100%;width:100%;box-sizing:border-box;min-height:48px;border-radius:8px;font:400 16px/1.5 var(--police);padding:8px 12px;background:var(--surface-carte);color:var(--os)}
.aide-entete-gestion h2{font-size:20px;margin:4px 0;line-height:1.3}
.aide-entete-gestion .btn{font-size:14px;min-height:44px}
#aidePop.aide-taches-gestion h3{font-size:20px;margin:16px 0 12px;color:var(--os);line-height:1.3}
#aidePop.aide-taches-gestion :is(p,li){font:400 14px/1.6 var(--police);color:var(--texte-2)}
.aide-contenu-gestion details{border-top:1px solid var(--filet);padding:4px 0}
.aide-contenu-gestion .btn{font-size:14px;min-height:44px;max-width:100%;white-space:normal;margin:8px 0}
#aideRaccourcisGestion>.btn{display:block;width:100%;text-align:left}
#ecranPharmacie{background:var(--surface-carte);color:var(--os);padding:24px;box-sizing:border-box}
.te-entete{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;border-bottom:1px solid var(--filet);padding-bottom:20px}
.te-entete h1{font-size:28px;line-height:1.25;margin:0 0 8px;font-family:var(--police-affichage);letter-spacing:-.02em}
.te-identite{min-width:0}.te-repere{margin:8px 0 0;color:var(--texte-2)}
#teHorloge{font:600 40px/1.2 var(--police-affichage);font-variant-numeric:tabular-nums}
#teEtablissement{font-size:15px;margin:0 0 8px;color:var(--texte-2)}
#teZone{color:var(--texte-2);font-size:13px}
.te-navigation{display:flex;align-items:end;gap:8px;flex-wrap:wrap;margin:20px 0}
#ecranPharmacie :is(button,input){box-sizing:border-box;border-radius:8px;border:1px solid var(--bord-controle);min-height:44px;font:400 14px/1.5 var(--police);padding:10px 12px;background:var(--surface-carte);color:var(--os);max-width:100%;cursor:pointer}
#ecranPharmacie button:hover{background:var(--selection-fond)}
#ecranPharmacie button:disabled{cursor:not-allowed;opacity:1;color:var(--texte-2);background:var(--graphite)}
#ecranPharmacie label{display:grid;gap:6px;font-size:13px;color:var(--texte-2)}
#teStatut{padding:12px 16px;background:var(--amb-bg);color:var(--ambre);border-left:3px solid var(--ambre);font-size:15px;line-height:1.5}
#teStatut.te-statut-approuve{background:var(--ok-bg);color:var(--vert);border-color:var(--vert)}
.te-etat{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center}
.te-aide{margin:16px 0;color:var(--texte-2);font-size:14px;line-height:1.6}.te-aide summary{cursor:pointer;min-height:44px;padding:10px 0;box-sizing:border-box}
#teContenu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:24px}
.te-section{min-width:0;border-top:1px solid var(--filet);padding-top:16px}
.te-section h2{font-size:20px;margin:0 0 12px;line-height:1.3}
.te-section p{color:var(--texte-2);font-size:14px;line-height:1.6}
.te-liste{list-style:none;margin:0;padding:0}
.te-personne,.te-relais,.te-vacant{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;padding:16px 0;border-bottom:1px solid var(--filet);font-size:15px;line-height:1.5}
.te-personne strong,.te-relais strong{font-size:20px;font-weight:600;line-height:1.4;overflow-wrap:anywhere}
.te-personne span,.te-relais span,.te-vacant span{color:var(--texte-2)}
.te-personne>strong{grid-column:1;grid-row:1}.te-personne>.te-role{grid-column:1;grid-row:2;color:var(--texte-2)}
.te-personne>.te-heures{grid-column:2;grid-row:1/3;align-self:center;font-variant-numeric:tabular-nums}.te-personne>.te-detail{grid-column:1/-1;font-size:13px}
.te-relais{grid-template-columns:88px minmax(0,1fr)}.te-heures{font-variant-numeric:tabular-nums}
.te-vide{padding:16px 0;font-size:14px;color:var(--texte-2);line-height:1.6}
.te-options>summary,details.te-journee>summary,#teOptions>summary{font-size:14px;line-height:1.5;cursor:pointer;min-height:44px;padding:12px 0;box-sizing:border-box;color:var(--os);font-weight:500}
details.te-journee{grid-column:1/-1}details.te-journee:not([open]){border-top:1px solid var(--filet)}
#vac-types label.checkbox-line{display:flex!important;align-items:center;gap:12px;min-height:44px;padding:8px 0;box-sizing:border-box;font-size:14px;line-height:1.5}
#vac-types input{flex:none}
.te-vacant{border-left:3px solid var(--ambre);padding-left:12px}
#teActualisation{border-top:1px solid var(--filet);padding-top:16px;margin-top:24px;color:var(--texte-2);font-size:13px;line-height:1.6}
@media screen and (min-width:901px) and (max-width:1599px){
 #barre-cote{grid-template-columns:150px minmax(0,1fr) 180px}
 #accesUtilesGestion{grid-column:1/-1;grid-row:2;flex-direction:row;align-items:center;justify-content:flex-end;flex-wrap:wrap}
 #accesUtilesGestion .outils-app{position:relative;border:0;padding:0;flex:none}
 #accesUtilesGestion .outils-app[open]{order:2;flex-basis:100%;display:flex;flex-wrap:wrap;align-items:center;gap:8px;border-top:1px solid var(--filet)}
 #accesUtilesGestion .outils-app[open]>summary{flex:none}
}
@media screen and (max-width:900px){
 #accesUtilesGestion{display:contents}
 #accesUtilesGestion>#btnAide{grid-column:3;grid-row:1;min-width:44px;padding:8px;justify-content:center;font-size:13px}
 #accesUtilesGestion>#btnEcran{grid-column:1/3;grid-row:2;padding:8px 12px;font-size:13px}
 #accesUtilesGestion .outils-app{grid-column:3;grid-row:2;width:auto;flex:none}
 #accesUtilesGestion .outils-app>summary{padding:10px 0;font-size:12px;display:list-item}
 #accesUtilesGestion .outils-app[open]{grid-column:1/-1;grid-row:3;width:100%;border-top:1px solid var(--filet)}
 #menuFlux.actions-taches-gestion,#aidePop.aide-taches-gestion{inset:var(--haut-visible,0px) 0 auto 0!important;width:100%!important;max-width:100%!important;height:var(--hauteur-visible,100dvh);max-height:var(--hauteur-visible,100dvh)!important;bottom:auto!important;border:0;border-radius:0;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)!important}
 .actions-taches-gestion .menu-entete-gestion,.aide-entete-gestion{padding:16px!important}
 .actions-contenu-gestion,.aide-contenu-gestion{padding-left:16px;padding-right:16px}
 #ecranPharmacie{padding:16px}
 .te-entete{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding-bottom:12px}
 .te-identite{display:contents}.te-entete h1{grid-column:1;grid-row:1;font-size:20px;align-self:center;margin:0}
 #ecranQuitter{grid-column:2;grid-row:1}#ecranQuitter .ico{display:none}
 #teEtablissement{grid-column:1/-1;grid-row:2;font-size:14px;margin:0}
 #teDateLibelle{grid-column:1/-1;grid-row:3;font-size:13px;margin:0}
 .te-repere{grid-column:1/-1;grid-row:4;margin:0}
 .te-etat{grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:8px}
 #teStatut{margin:0;padding:8px 12px;font-size:14px}
 #ecranPharmacie #teRevoirHoraire{max-width:100px;padding:8px;font-size:13px}
 #teHorloge{font-size:28px}
 #teContenu{grid-template-columns:minmax(0,1fr)}
 #ecranPharmacie input{font-size:16px;min-height:48px}
 .te-personne,.te-relais,.te-vacant{grid-template-columns:minmax(0,1fr)}
 .te-personne>:is(strong,.te-role,.te-heures,.te-detail){grid-column:auto;grid-row:auto}
 #contenuOutilsGestion .dates-laterales{display:none}
}
/* MDose keeps its account and language controls above the navigation rail. */
@media screen and (min-width:901px) and (max-width:1279px){
 #accesUtilesGestion{grid-row:3}
}
@media screen and (min-width:1280px) and (max-width:1599px){
 #barre-cote{grid-template-columns:140px minmax(0,1fr) 160px auto;gap:8px 12px}
 #accesUtilesGestion{position:relative;grid-column:4;grid-row:1;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:8px}
 #accesUtilesGestion>#btnEcran,#accesUtilesGestion>#btnAide{font-size:13px;padding:8px}
 #accesUtilesGestion .outils-app>summary{font-size:13px;padding:10px 4px}
}
@media print{#accesUtilesGestion,#ecranPharmacie{display:none!important}}

/* Week state changes content and emphasis, while the command slots stay fixed. */
#menuFlux .mi[hidden]{display:none}
#tab-planning #guideHoraire[data-configure=true] .couverture-editoriale{display:none}
#tab-planning #guideHoraire[data-configure=true] .gestion-entete>div:first-child{min-width:0}
#posteCommandeGestion>.actions-principales-gestion{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:420px;max-width:100%;align-items:stretch}
#posteCommandeGestion>.actions-principales-gestion>.btn{min-height:64px}
#etapeSuivanteGestion{grid-column:1/-1}
@media screen and (min-width:901px){
 #tab-planning #guideHoraire[data-configure=true] .gestion-entete{align-items:center;padding:0 0 12px}
 #tab-planning #guideHoraire[data-configure=true] .gestion-entete>div:first-child{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}
 #tab-planning #guideHoraire[data-configure=true] .gestion-entete h2{font-size:24px;margin:0}
 #tab-planning #guideHoraire[data-configure=true] #conseilHoraire{position:static;width:auto;height:auto;min-height:3.2em;max-width:80ch;padding:0;margin:8px 0;overflow:visible;clip-path:none;white-space:normal;line-height:1.6}
 #tab-planning[data-semaine-preparee] #posteCommandeGestion{padding:12px 0;gap:8px 20px;margin-bottom:16px}
 #posteCommandeGestion>.barre>.gr-nav{width:440px;max-width:100%;flex:none}
 #posteCommandeGestion .gr-nav #lblSemaine{flex:1;min-width:0}
}
@media screen and (max-width:900px){
 #tab-planning #guideHoraire[data-configure=true] .gestion-entete{padding:0 0 8px}
 #tab-planning #guideHoraire[data-configure=true] .repere-gestion{min-height:0}
 #posteCommandeGestion>.actions-principales-gestion{width:100%}
 #posteCommandeGestion>.actions-principales-gestion>.btn{min-height:56px}
}
@media screen and (max-width:900px){
 #signauxHoraireGestion>.btn{min-height:44px}
 #posteCommandeGestion>.barre{display:grid;grid-template-columns:minmax(0,1fr) auto;flex-wrap:nowrap}
 #posteCommandeGestion>.barre>.gr-nav{width:100%;box-sizing:border-box}
 #actionsGroupepreparer>.schedule-optimizer{margin:12px 0}
 #actionsGroupepartager>.runtime-publication{margin:12px 0;padding:12px}
}
@media screen and (max-width:380px){
 #posteCommandeGestion #btnMenuFlux{font-size:0}
 #posteCommandeGestion #btnMenuFlux::after{content:'Actions';font-size:13px}
 #signauxHoraireGestion>.btn{min-height:56px}
}
#tab-planning #guideHoraire[data-configure=true] #guideDemarrage{display:none}
