
*{box-sizing:border-box;margin:0;padding:0}
:root{
--e1:4px; --e2:8px; --e3:12px; --e4:16px; --e5:24px; --e6:32px;
--pad-carte:var(--e4);
--h-compact:36px; --h-normal:44px; --h-grand:56px;
--ligne-liste:56px;
--largeur:840px;
--rail:0px;
--r-pt:6px; --r-md:10px; --r-max:999px;
--r-trait:2px;
--police-corps:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
--t-legende:12px;  
--t-second:13px;   
--t-corps:15px;    
--t-titre:17px;    
--t-ecran:22px;    
--t-saisie:16px;   
--police-titres:"Manrope",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
--police-code:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
--bleu:#2564AE; --bleu-clair:#508ECB;
--bleu-plein:#2564AE; --bleu-fonce-plein:#1F5596;
--sur-couleur:#FFF;
--fond:#F4F6F9; --carte:#FFFFFF; --bord:#C3CDDC; --bord-fort:#8A94A3;
--carte-elevee:#FFFFFF;
--voile:rgba(20,26,34,.45);
--texte:#1A2230; --texte-doux:#5B6675;
--estompe:.6;
--bleu-pale:#E6F1FB; --bleu-sombre:#0C447C;
--vert-pale:#E5F3E4; --vert-sombre:#2C6B27;
--ambre-pale:#FBEEDA; --ambre-sombre:#875211;
--gris-pale:#ECEFF3; --gris-sombre:#465163;
--alerte-fond:#FDECEC; --alerte-texte:#9A2B2B;
--violet:#6B3FA0; --violet-pale:#EFE7F7; --violet-bord:#D9CBF3;
--metier-elec:#2564AE; --metier-plaq:#2C6B27; --metier-plomb:#9A5B00;
--metier-menuis:#7A4F25; --metier-admin:#6B3FA0; --metier-dir:#3B4A6B; --metier-aucun:#5B6675;
--pastille-1:#2564AE; --pastille-2:#2C6B27; --pastille-3:#00677F; --pastille-4:#0F6E6E;
--pastille-5:#875211; --pastille-6:#A0306B; --pastille-7:#4338A0; --pastille-8:#5A6B1F;
--nom-teinte:100%;
--scene:#0F1621; --scene-carte:#1B2431; --scene-texte:#C9CED6;
--scene-doux:#93A1B4; --scene-legende:#DBE3EE;
--scene-alerte:#FF8A80; --scene-barre:#16202E;
--rouge-vif:#C0392B; --rouge-neuf:#D63A3F; 
--rouge-bouton:#D63A3F;
--signal:#D63A3F; --sur-signal:#FFF;
--ombre:0 1px 2px rgba(26,34,48,.06);
--elev-1:0 1px 2px rgba(26,34,48,.08);
--elev-2:0 6px 20px rgba(26,34,48,.16);
--elev-3:0 12px 32px rgba(26,34,48,.22);
--z-colle:10; --z-flottant:30; --z-nav:40; --z-offre:45; --z-modale:50;
--z-scene:60; --z-menu:65; --z-plateau:70; --z-annoter:80; --z-toast:90;
--m-doigt:90ms;    
--m-court:160ms;   
--m-long:240ms;    
--m-entree:cubic-bezier(.2,.8,.25,1);  
--m-simple:ease-out;
accent-color:var(--bleu-plein);
}
@media (prefers-color-scheme:dark){
:root:not([data-theme="clair"]){
--bleu:#508ECB; --bleu-clair:#7FB0DF; --bleu-plein:#3A75B8; --bleu-fonce-plein:#2F6AAD;
--fond:#12161C; --carte:#1B212A; --bord:#394351; --bord-fort:#6F7A8A;
--texte:#E8EDF4; --texte-doux:#A3AEBD;
--ombre:none;
--alerte-fond:#3A1B1B; --alerte-texte:#F0A9A9;
--voile:rgba(4,7,11,.62);
--rouge-vif:#E5695C; --rouge-neuf:#FF6B6F;
--scene-doux:#93A1B4; --scene-legende:#DBE3EE;
--scene-alerte:#FF8A80; --scene-barre:#16202E;
--violet:#B79BE0; --violet-pale:#2A1D3D;
--scene:#0F1621; --scene-carte:#1B2431; --scene-texte:#C9CED6;
--bleu-pale:#123252; --bleu-sombre:#B5D4F4;
--vert-pale:#1B3A19; --vert-sombre:#B9DDB5;
--ambre-pale:#3D2C0C; --ambre-sombre:#F3CE8C;
--gris-pale:#262D37; --gris-sombre:#BCC6D3;
--elev-1:0 1px 2px rgba(0,0,0,.4);
--elev-2:0 8px 24px rgba(0,0,0,.55);
--elev-3:0 16px 40px rgba(0,0,0,.6);
--carte-elevee:#232A35;
--signal:#D63A3F; --sur-signal:#FFF;
--metier-elec:#3A75B8; --metier-plaq:#3E7D38; --metier-plomb:#9A5B00;
--metier-menuis:#8A5A2B; --metier-admin:#7E55B5; --metier-dir:#4B5B80; --metier-aucun:#5B6675;
--violet-bord:#443763; --nom-teinte:55%;
}
}
:root[data-theme="sombre"]{
--bleu:#508ECB; --bleu-clair:#7FB0DF; --bleu-plein:#3A75B8; --bleu-fonce-plein:#2F6AAD;
--fond:#12161C; --carte:#1B212A; --bord:#394351; --bord-fort:#6F7A8A;
--texte:#E8EDF4; --texte-doux:#A3AEBD;
--ombre:none;
--alerte-fond:#3A1B1B; --alerte-texte:#F0A9A9;
--voile:rgba(4,7,11,.62);
--rouge-vif:#E5695C; --rouge-neuf:#FF6B6F;
--scene-doux:#93A1B4; --scene-legende:#DBE3EE;
--scene-alerte:#FF8A80; --scene-barre:#16202E;
--violet:#B79BE0; --violet-pale:#2A1D3D;
--scene:#0F1621; --scene-carte:#1B2431; --scene-texte:#C9CED6;
--bleu-pale:#123252; --bleu-sombre:#B5D4F4;
--vert-pale:#1B3A19; --vert-sombre:#B9DDB5;
--ambre-pale:#3D2C0C; --ambre-sombre:#F3CE8C;
--gris-pale:#262D37; --gris-sombre:#BCC6D3;
--elev-1:0 1px 2px rgba(0,0,0,.4);
--elev-2:0 8px 24px rgba(0,0,0,.55);
--elev-3:0 16px 40px rgba(0,0,0,.6);
--carte-elevee:#232A35;
--signal:#D63A3F; --sur-signal:#FFF;
--metier-elec:#3A75B8; --metier-plaq:#3E7D38; --metier-plomb:#9A5B00;
--metier-menuis:#8A5A2B; --metier-admin:#7E55B5; --metier-dir:#4B5B80; --metier-aucun:#5B6675;
--violet-bord:#443763; --nom-teinte:55%;
}
@font-face{
font-family:"Manrope";
src:url(/api/ui/manrope.woff2) format("woff2");
font-weight:500 800;font-style:normal;font-display:swap
}
.t-ecran{font-family:var(--police-titres);font-size:var(--t-ecran);font-weight:700;letter-spacing:-.015em;line-height:1.2}
@media (max-width:719px){.t-ecran{--t-ecran:19px}}
.t-section{font-family:var(--police-titres);font-size:var(--t-titre);font-weight:700;letter-spacing:-.01em}
.t-carte{font-family:var(--police-corps);font-size:var(--t-corps);font-weight:600}
.etiquette{font-family:var(--police-corps);font-size:var(--t-legende);font-weight:600;letter-spacing:.05em;
text-transform:uppercase;color:var(--texte-doux)}
body{
font-family:var(--police-corps);
background:var(--fond); color:var(--texte);
font-size:var(--t-corps); line-height:1.5;
-webkit-font-smoothing:antialiased;
padding-bottom:env(safe-area-inset-bottom);
}
.enveloppe{max-width:var(--largeur);margin:0 auto;padding:0 var(--e4) var(--e6)}
.barre{
max-width:var(--largeur);margin:0 auto;padding:var(--e2) var(--e4);
display:flex;align-items:center;justify-content:space-between;gap:var(--e3);
}
.barre img{height:30px;width:auto;display:block}
:root img.logo-sombre{display:none}
@media (prefers-color-scheme:dark){
:root:not([data-theme="clair"]) img.logo-clair{display:none}
:root:not([data-theme="clair"]) img.logo-sombre{display:block}
:root:not([data-theme="clair"]) .leaflet-tile-pane{filter:brightness(.7) contrast(1.15) saturate(.8)}
}
:root[data-theme="sombre"] img.logo-clair{display:none}
:root[data-theme="sombre"] img.logo-sombre{display:block}
:root[data-theme="sombre"] .leaflet-tile-pane{filter:brightness(.7) contrast(1.15) saturate(.8)}
.haut-chercher{
margin-left:auto; background:none; border:none; padding:0;
min-height:44px; width:44px; color:var(--texte-doux); cursor:pointer; line-height:0;
border-radius:var(--r-max); display:inline-flex; align-items:center; justify-content:center;
}
.haut-chercher:active{background:var(--bleu-pale)}
.haut-chercher .ic{width:20px;height:20px}
.qui{display:flex;align-items:center;gap:var(--e2)}
button.qui{background:none;border:0;padding:0;min-height:44px;border-radius:var(--r-md);color:inherit;font:inherit}
.logo-lien{display:block;flex:0 0 auto;line-height:0;border-radius:var(--r-pt)}
.pastille{
width:32px;height:32px;border-radius:50%;background:var(--bleu-plein);
color:var(--sur-couleur);display:flex;align-items:center;justify-content:center;
font-size:var(--t-second);font-weight:600;flex:0 0 auto
}
.nom-court{font-size:var(--t-second);color:var(--texte-doux)}
@media(max-width:520px){.nom-court{display:none}}
.depot:hover{background:var(--vert-pale);border-color:var(--vert-sombre)}
.rg-rubrique{
margin:var(--e4) 0 var(--e2);display:flex;align-items:baseline;gap:var(--e2)
}
.rg-rubrique:first-child{margin-top:0}
.rg-res{
background:var(--carte);border:1px solid var(--bord);
border-radius:var(--r-md);padding:var(--e3) var(--e4);
margin-bottom:var(--e1);cursor:pointer;
display:flex;flex-direction:column;gap:var(--e2)
}
.rg-res:active{transform:scale(.995)}
.rg-res .titre{-webkit-line-clamp:4}
.rg-res .tete .gauche{flex:1 1 auto;min-width:0}
.rg-ref{display:flex;align-items:center;gap:var(--e2);flex-wrap:wrap;margin-bottom:2px}
.rg-ref .etat{font-size:var(--t-legende)}
.rg-dedans{
border-top:1px solid var(--bord);padding-top:var(--e2);
display:flex;flex-direction:column;gap:var(--e1)
}
.rg-trouve{
display:flex;align-items:baseline;gap:var(--e2);
font-size:var(--t-second);color:var(--texte-doux);min-width:0
}
.rg-trouve[data-rg-msg]{cursor:pointer}
.rg-qui{
font-size:var(--t-legende);font-weight:700;color:var(--bleu);flex:none
}
.rg-extrait{
min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap
}
.rg-reste{font-size:var(--t-legende);color:var(--texte-doux)}
.choix > button:has(> .ic:first-child){display:flex;align-items:center;gap:var(--e2);justify-content:flex-start;text-align:left}
.choix > button > .ic:first-child{width:20px;height:20px;margin:0}
.choix-sous{display:block;font-size:var(--t-legende);color:var(--texte-doux);font-weight:400}
.compte-doux{color:var(--texte-doux);font-variant-numeric:tabular-nums}
.ic{
vertical-align:middle;
width:20px;height:20px;flex:0 0 auto;
fill:none;stroke:currentColor;stroke-width:1.75;
stroke-linecap:round;stroke-linejoin:round;pointer-events:none
}
.ic > *{vector-effect:non-scaling-stroke}
.ic.s{width:16px;height:16px}
.ic.l{width:24px;height:24px}
.saisie-envoi .ic{width:20px;height:20px}
.t-valeur .ic{width:24px;height:24px;margin:0;vertical-align:0}
.bulle-piece .ic,.fil-titre .ic{
width:16px;height:16px;
vertical-align:-3px;margin-right:var(--e2)
}
.depot .ic{vertical-align:-3px;margin-right:var(--e2);width:24px;height:24px;margin:0}
.nav-pic .ic, .res-pic .ic{margin:0;vertical-align:0}
.epingle-marque .ic{
width:16px;height:16px;margin:0;vertical-align:-3px
}
.apercu-fermer .ic,.cherche button .ic{
width:16px;height:16px;margin:0;vertical-align:-3px
}
.tache-case .ic{margin:0;vertical-align:-3px;width:16px;height:16px}
.cherche{position:relative;margin-bottom:var(--e3);flex:0 0 auto}
.cherche input{width:100%;padding-right:calc(var(--e6) + var(--e2))}
.cherche button{
position:absolute;right:5px;top:50%;transform:translateY(-50%);
width:28px;height:28px;min-height:auto;padding:0;border:none;
background:none;color:var(--texte-doux);font-size:var(--t-corps)
}
.trouvaille{
background:var(--carte);border:1px solid var(--bord);border-radius:var(--r-md);
padding:var(--e2) var(--e3);margin-bottom:var(--e2);cursor:pointer
}
.filtres{display:flex;gap:var(--e2);flex-wrap:wrap;margin-bottom:var(--e4)}
.filtre.actif{background:var(--bleu-plein);border-color:var(--bleu-plein);color:var(--sur-couleur)}
@media (max-width:719px){
.filtres{
flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;
margin-left:calc(-1 * var(--e4));margin-right:calc(-1 * var(--e4));padding:2px var(--e4);
-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain
}
.filtres::-webkit-scrollbar{display:none}
.filtres > *{flex:0 0 auto}
.panneau .filtres{margin-left:0;margin-right:0;padding-left:0;padding-right:0}
}
.filtre{font-size:var(--t-second);line-height:inherit;padding:var(--e2) var(--e4);min-height:var(--h-compact);border-radius:var(--r-max);cursor:pointer;background:var(--carte);border:1px solid var(--bord-fort);color:var(--texte-doux);user-select:none;display:inline-flex;align-items:center;gap:var(--e2);transition:transform var(--m-doigt) var(--m-simple),
border-color var(--m-doigt) var(--m-simple)}
.filtre.actif .compte{background:color-mix(in srgb, var(--scene) 22%, transparent);color:var(--sur-couleur)}
.filtre-neuf{width:8px;height:8px;border-radius:50%;background:var(--rouge-neuf);flex:0 0 auto}
.filtre.actif .filtre-neuf{background:var(--carte)}
.filtre-nb{display:none}
@media (min-width:1060px){
.filtre .filtre-nb{display:inline;font-size:var(--t-legende);font-weight:600;color:var(--texte-doux);font-variant-numeric:tabular-nums}
.filtre.actif .filtre-nb{color:var(--sur-couleur)}
}
.fil{background:var(--carte);border:1px solid var(--bord);border-radius:var(--r-md);padding:var(--e3) var(--e4);cursor:pointer;display:flex;flex-direction:column;gap:var(--e1);transition:transform var(--m-doigt) var(--m-simple),
border-color var(--m-doigt) var(--m-simple)}
.fil-titre{
font-family:var(--police-titres);letter-spacing:-.01em;font-weight:600;flex:1;min-width:0;overflow:hidden;
text-overflow:ellipsis;white-space:nowrap
}
.fil-quand{font-size:var(--t-legende);color:var(--texte-doux);flex:0 0 auto;
font-variant-numeric:tabular-nums}
.fil.neuf .fil-titre{font-weight:700}
.fil.neuf .fil-quand{color:var(--bleu);font-weight:600}
.fil-apercu-texte b{font-weight:600;color:var(--texte)}
.fil-apercu-texte i{font-style:italic;color:var(--texte-doux)}
.fil-apercu{
font-size:var(--t-second);color:var(--texte-doux);
display:flex;align-items:center;gap:var(--e2);min-width:0
}
.fil-apercu > .badge{margin-right:1px}
.fil-apercu-texte{
flex:1;min-width:0;
overflow:hidden;text-overflow:ellipsis;white-space:nowrap
}
.fil-lieu{
font-size:var(--t-second);color:var(--texte);
overflow:hidden;text-overflow:ellipsis;white-space:nowrap
}
.fil-tete{display:flex;align-items:center;gap:var(--e2);flex-wrap:wrap;row-gap:var(--e1)}
.fil-tete .fil-lieu{order:9;flex:1 0 100%;min-width:0}
.fil.lieu{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:var(--e3);align-items:center}
.fil.lieu > .avatar{grid-row:1 / span 2;align-self:center}
.fil.lieu > .fil-tete,.fil.lieu > .fil-apercu{grid-column:2}
.propositions{
border:1px solid var(--bord); border-radius:var(--r-md);
background:var(--carte); overflow:hidden; margin-top:calc(-1 * var(--e1));
}
.proposition{
display:block; width:100%; text-align:left; font:inherit;
font-size:var(--t-second); padding:var(--e2) var(--e3); border:none;
background:none; color:var(--texte); cursor:pointer; min-height:var(--h-compact);
border-bottom:1px solid var(--bord); border-radius:0;
}
.proposition:last-child{border-bottom:none}
.proposition:hover{background:var(--bleu-pale)}
.prop-lieu{color:var(--texte-doux)}
.facultatif,.obligatoire{text-transform:none; font-weight:400; color:var(--texte-doux)}
.fil-epingle{
flex:0 0 auto; color:var(--texte-doux); display:inline-flex; align-items:center;
}
.fil-epingle .ic{width:16px;height:16px}
.fil-epingle.perso{color:var(--bleu)}
.fil-sourdine{display:inline-flex; color:var(--texte-doux); flex:0 0 auto}
.fil-sourdine .ic{width:16px;height:16px}
.fil .compteur.muet{background:var(--gris-pale); color:var(--texte-doux)}
.flottant:active{transform:scale(.94)}
.flottant{
position:fixed;right:16px;bottom:calc(76px + env(safe-area-inset-bottom));z-index:var(--z-flottant);
width:56px;height:56px;border-radius:50%;border:none;padding:0;background:var(--bleu-plein);
color:var(--sur-couleur);font-size:var(--t-ecran);line-height:1;font-weight:400;box-shadow:var(--elev-2);
display:flex;align-items:center;justify-content:center;
transition:transform var(--m-court) var(--m-simple),opacity var(--m-court) var(--m-simple)
}
.flottant.efface{transform:translateY(140%);opacity:0;pointer-events:none}
body:has(#nouvelle-flottante:not([hidden])) #liste-fils{padding-bottom:calc(var(--h-grand) + var(--e6))}
@media (min-width:720px){.flottant{display:none}}
@media (max-width:719px){#nouvelle-affaire{display:none}}
.fil.clos .fil-titre,.fil.clos .fil-apercu{color:var(--texte-doux)}
.fil.fil-visee{background:var(--bleu-pale);box-shadow:inset 3px 0 0 var(--bleu)}
.menu-flottant-titre{font-size:var(--t-legende);color:var(--texte-doux);padding:var(--e2) var(--e3) var(--e1);
max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fils-section{margin:var(--e3) 0 var(--e1)}
.fils-section:first-child{margin-top:0}
.fil-rdv{
flex:none;font-size:var(--t-legende);font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;
padding:1px var(--e1);border-radius:var(--r-pt);background:var(--bleu-pale);color:var(--bleu-sombre)
}
.fils-autres{
display:flex;align-items:center;gap:var(--e2);width:100%;margin:var(--e3) 0 var(--e1);
padding:var(--e2) var(--e3);min-height:var(--h-normal);text-align:left;
border:1px dashed var(--bord-fort);border-radius:var(--r-md);background:transparent;color:var(--texte)
}
.fils-autres .etiquette{color:var(--texte)}
.fils-autres-nb{font-weight:700;font-variant-numeric:tabular-nums}
.fils-autres-dit{margin-left:auto;font-size:var(--t-legende);color:var(--texte-doux)}
.fils-autres .ic{width:16px;height:16px;transition:transform var(--m-court) var(--m-simple)}
.fils-autres.ouvert .ic{transform:rotate(90deg)}
.fils-terminees{width:100%;justify-content:flex-start;margin-top:var(--e2)}
.chercher-partout{width:100%;justify-content:flex-start;margin-top:var(--e2)}
.filtres.en-recherche .filtre.actif{background:var(--carte);color:var(--texte);border-color:var(--bord)}
.fil-vide{color:var(--texte-doux)}
.galerie{
display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));
gap:var(--e1);margin-top:var(--e1);margin-bottom:var(--e3)
}
.galerie-jour{
position:sticky;top:0;z-index:2;background:var(--fond);
padding:var(--e2) 0 var(--e1)
}
.vignette{
position:relative;aspect-ratio:1;border-radius:var(--r-md);overflow:hidden;
background:var(--fond);cursor:pointer
}
.vignette img{
width:100%;height:100%;object-fit:cover;display:block;-webkit-touch-callout:none;-webkit-user-select:none;
user-select:none;opacity:0;transition:opacity var(--m-court) ease-out
}
.vignette .marque{
position:absolute;left:3px;bottom:3px;font-size:var(--t-legende);padding:2px var(--e2);
border-radius:var(--r-max);background:rgba(0,0,0,.55);color:var(--sur-couleur)
}
.vignette.film{
display:flex;align-items:center;justify-content:center;
background:var(--carte);border:1px solid var(--bord)
}
.vignette.film .ic{width:24px;height:24px;color:var(--texte-doux);opacity:.75}
.vignette .joue{
position:absolute;inset:0;display:flex;align-items:center;
justify-content:center;pointer-events:none
}
.vignette .joue .ic{
width:24px;height:24px;color:var(--sur-couleur);
filter:drop-shadow(0 1px 3px rgba(0,0,0,.65))
}
.arbre-dossier{
display:flex;align-items:center;gap:var(--e2);padding:var(--e2) 0;
border-bottom:1px solid var(--bord);cursor:pointer
}
.arbre-dossier .nom{flex:1;min-width:0;font-weight:600;
overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.arbre-dossier .combien{font-size:var(--t-legende);color:var(--texte-doux)}
.arbre-vides > summary{color:var(--texte-doux)}
.arbre-vides .arbre-dossier .nom{font-weight:500;color:var(--texte-doux)}
.arbre-piece{
display:flex;align-items:center;gap:var(--e2);padding:var(--e2) 0 var(--e2) var(--e5);
border-bottom:1px solid var(--bord);font-size:var(--t-corps)
}
button.nom{
border:none;background:none;padding:0;min-height:var(--h-compact);font:inherit;color:inherit;
text-align:left;display:flex;flex-direction:column;justify-content:center
}
.arbre-qui{display:block;font-size:var(--t-legende);color:var(--texte-doux)}
.arbre-piece .nom{flex:1;min-width:0;overflow:hidden;
text-overflow:ellipsis;white-space:nowrap;cursor:pointer}
.arbre-piece .poids{font-size:var(--t-legende);color:var(--texte-doux);flex:0 0 auto}
.envoi-cours{
font-size:var(--t-legende);color:var(--texte-doux);text-align:center;padding:var(--e1) 0
}
button.danger{
background:var(--alerte-fond);border-color:var(--alerte-texte);
color:var(--alerte-texte);font-weight:600
}
button.danger:active{background:var(--alerte-texte);color:var(--carte)}
a.bouton{
display:flex;align-items:center;justify-content:center;gap:var(--e2);min-height:44px;
border-radius:var(--r-md);text-decoration:none;font-size:var(--t-corps);
background:var(--carte);border:1px solid var(--bord);color:var(--texte)
}
a.bouton.principal{background:var(--bleu-plein);border-color:var(--bleu-plein);color:var(--sur-couleur)}
body.fige{overflow:hidden;height:100dvh;padding-bottom:0}
body.fige #app{
display:flex;flex-direction:column;
height:var(--hauteur-utile, 100dvh)
}
body.fige .enveloppe{
flex:1;min-height:0;display:flex;flex-direction:column;padding-bottom:0;
width:100%;max-width:var(--largeur);margin:0 auto;box-sizing:border-box
}
.conv{
flex:1;min-height:0;
display:flex;flex-direction:column;
overflow:hidden;touch-action:pan-y;overscroll-behavior:contain
}
.conv-messages{
flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;
padding:var(--e1) 2px var(--e2);
display:flex;flex-direction:column;gap:var(--e2);
overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;
-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;-webkit-user-drag:none
}
.conv-saisie{flex:0 0 auto;padding-bottom:env(safe-area-inset-bottom)}
.fils-defile{
flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;
overscroll-behavior:contain;-webkit-overflow-scrolling:touch
}
.fils-cadre{
flex:1;min-height:0;
display:flex;flex-direction:column
}
.conv-tete{margin-bottom:var(--e1)}
.conv-titre{flex:1;min-width:0}
.conv-lieu{
display:block;font-size:var(--t-legende);color:var(--texte-doux);margin-top:1px;
overflow:hidden;text-overflow:ellipsis;white-space:nowrap
}
.conv-affaires{
display:flex;gap:var(--e1);flex-wrap:wrap;align-items:center;
padding:0 2px var(--e2)
}
.conv-affaires .micro{font-size:var(--t-legende);color:var(--texte-doux);margin-right:var(--e1)}
.pastille-devis{font-size:var(--t-legende);font-weight:600;min-height:var(--h-compact);padding:var(--e1) var(--e3);border-radius:var(--r-max);border:1px solid var(--bord);background:var(--fond);color:var(--bleu-sombre);cursor:pointer;font-variant-numeric:tabular-nums;transition:transform var(--m-doigt) var(--m-simple),
border-color var(--m-doigt) var(--m-simple)}
.pastille-devis:hover{border-color:var(--bleu);background:var(--bleu-pale)}
.devis-ligne{display:block;width:100%;text-align:left;min-height:var(--h-normal);padding:var(--e2) var(--e3);margin-bottom:var(--e2);border-radius:var(--r-md);border:1px solid var(--bord);background:var(--fond);cursor:pointer;transition:transform var(--m-doigt) var(--m-simple),
border-color var(--m-doigt) var(--m-simple)}
.devis-ligne:hover{border-color:var(--bleu);background:var(--bleu-pale)}
.devis-ligne.close{color:var(--texte-doux)}
.devis-ligne.muette{cursor:default}
.devis-ligne.muette:hover{border-color:var(--bord);background:var(--carte)}
.devis-entete{
display:flex;justify-content:space-between;align-items:baseline;gap:var(--e2)
}
.devis-entete b{font-size:var(--t-corps);font-weight:700;font-variant-numeric:tabular-nums}
.devis-quand{font-size:var(--t-legende);color:var(--texte-doux);font-variant-numeric:tabular-nums}
.devis-objet{display:block;font-size:var(--t-second);margin-top:1px}
.fiche-ligne:last-child{border-bottom:none}
.fiche-ligne span:first-child{color:var(--texte-doux);flex:1 1 auto;min-width:0}
.fiche-ligne{
display:flex;justify-content:space-between;gap:var(--e3);padding:var(--e2) 0;border-bottom:1px solid var(--bord);
font-size:var(--t-corps);flex-wrap:wrap
}
.fiche-ligne button{white-space:nowrap}
.fiche-ligne span:last-child{
flex:0 0 auto;display:flex;gap:var(--e2);align-items:center;margin-left:auto;text-align:right;min-width:0;
overflow-wrap:anywhere
}
.membre{
display:flex;align-items:center;gap:var(--e2);padding:var(--e2) 0;
border-bottom:1px solid var(--bord)
}
.membre:last-child{border-bottom:none}
.membre .bulle-jeton{margin:0}
.membre span:not(.avatar){flex:1;min-width:0}
.membre button{min-height:44px;padding:0 var(--e3);font-size:var(--t-second)}
.bulle{max-width:min(82%,62ch);display:flex;gap:var(--e2);align-items:flex-end}
.bulle.moi{align-self:flex-end;flex-direction:row-reverse}
.bulle.moi .bulle-corps{background:var(--bleu-pale);border-color:var(--bleu-pale)}
.bulle.suite .bulle-corps{border-top-left-radius:var(--r-pt)}
.bulle.moi.suite .bulle-corps{border-top-left-radius:var(--r-md);border-top-right-radius:var(--r-pt)}
.bulle-qui{
font-size:var(--t-second);font-weight:600;margin-bottom:2px;
color:color-mix(in srgb, var(--c, var(--texte)) var(--nom-teinte), var(--texte))
}
.bulle-texte{font-size:var(--t-corps);white-space:pre-wrap;overflow-wrap:anywhere}
.lien-msg{color:var(--bleu);text-decoration:underline;text-underline-offset:3px;word-break:break-all}
.bulle-heure{
display:flex;justify-content:flex-end;align-items:center;gap:var(--e1);
font-size:var(--t-legende);color:var(--texte-doux);white-space:nowrap;
margin-top:2px;font-variant-numeric:tabular-nums
}
.bulle.heure-au-bout .bulle-texte::after{content:"";display:inline-block;width:46px}
.bulle.moi.heure-au-bout .bulle-texte::after{width:64px}
.bulle.heure-au-bout.heure-longue .bulle-texte::after{width:118px}
.bulle.heure-au-bout .bulle-heure{position:absolute;right:var(--e3);bottom:var(--e2);margin:0}
.bulle-jeton{
width:32px;height:32px;border-radius:50%;color:var(--sur-couleur);font-size:var(--t-second);
font-weight:600;display:flex;align-items:center;justify-content:center;
flex:0 0 auto;margin-bottom:1px
}
.bulle-jeton.creux{--c:transparent;background:transparent}
.bulle-piece{
display:flex;align-items:center;gap:var(--e2);font-size:var(--t-second);margin-top:var(--e1);
padding:var(--e2) var(--e3);border-radius:var(--r-md);background:var(--fond);cursor:pointer;
min-width:200px;max-width:100%
}
.bulle-piece .piece-ic{
flex:0 0 auto;width:38px;height:38px;border-radius:var(--r-pt);
display:inline-flex;align-items:center;justify-content:center;
background:var(--bleu-pale);color:var(--bleu)
}
.bulle-piece .piece-ic .ic{width:24px;height:24px}
.bulle-piece .piece-texte{display:flex;flex-direction:column;min-width:0;flex:1}
.bulle-piece .piece-nom{
font-weight:600;font-size:var(--t-corps);color:var(--texte);
overflow:hidden;text-overflow:ellipsis;white-space:nowrap
}
.bulle-piece .piece-meta{font-size:var(--t-legende);color:var(--texte-doux)}
.bulle-piece .piece-ouvrir{flex:0 0 auto;color:var(--bleu);font-weight:600;font-size:var(--t-legende)}
.bulle.moi .bulle-piece{background:var(--carte)}
.bulle-vocal{display:block;width:100%;min-width:220px;margin-top:var(--e1);height:38px}
.bulle-transcrit{
font-size:var(--t-corps);margin-top:var(--e1);overflow-wrap:anywhere
}
.bulle-transcrit.attente{color:var(--texte-doux);font-style:italic}
.bulle-transcrit[data-rectifier]{cursor:pointer}
.rectifie{font-size:var(--t-legende);color:var(--texte-doux)}
.bulle-piece img{
width:100%;border-radius:var(--r-md);display:block;margin-top:var(--e1);cursor:pointer
}
.bulle-corps{
background:var(--carte);border:1px solid var(--bord);border-radius:var(--r-md);padding:var(--e2) var(--e3);
min-width:0;position:relative;transition:transform var(--m-court) var(--m-simple);touch-action:pan-y
}
.bulle-corps.glisse-pret{box-shadow:-3px 0 0 var(--bleu-clair)}
.bulle-corps.glisse{transform:translateX(var(--gx, 0px))}
.bulle-corps.glisse-suit,#apercu-photo img.glisse-suit{transition:none}
.bulle-cite{
font-size:var(--t-legende);border-left:3px solid var(--bleu-clair);padding:2px 0 2px var(--e2);
margin-bottom:var(--e1);color:var(--texte-doux);cursor:pointer;
overflow:hidden;text-overflow:ellipsis;white-space:nowrap
}
.bulle-cite b{color:var(--texte);font-weight:600}
.bulle-cite.avec-image{
display:flex;align-items:center;gap:var(--e2);white-space:normal
}
.cite-vignette{
width:34px;height:34px;object-fit:cover;border-radius:var(--r-pt);flex:none;color:transparent
}
.cite-texte{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bulle.retiree{align-self:stretch;max-width:none;justify-content:center;align-items:center;gap:var(--e3)}
.bulle.retiree::before,.bulle.retiree::after{content:'';flex:1;height:1px;background:var(--bord)}
.bulle.retiree .bulle-corps{
flex:0 1 auto;background:transparent;border:0;padding:0;color:var(--texte-doux);text-align:center
}
.bulle.retiree .bulle-texte{font-size:var(--t-legende)}
.bulle-marque{font-size:var(--t-legende);color:var(--texte-doux);font-style:italic}
.bulle-vise{outline:2px solid var(--bleu-clair);outline-offset:2px}
.reacs{display:flex;gap:var(--e1);flex-wrap:wrap;margin-top:var(--e1)}
.reac{
font-size:var(--t-legende);padding:1px var(--e2);border-radius:var(--r-max);cursor:pointer;
background:var(--fond);border:1px solid var(--bord);user-select:none;
min-height:0;line-height:inherit;color:var(--texte);position:relative
}
.reac::after{content:"";position:absolute;inset:-12px -2px}
.reac.mienne{background:var(--bleu-pale);border-color:var(--bleu-clair)}
.menu-message *{
-webkit-user-select:none;-moz-user-select:none;user-select:none;
-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent
}
.bulle-corps.tenue{outline:2px solid var(--bleu-clair);outline-offset:1px}
.conv-messages *{
-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;
user-select:none;
-webkit-touch-callout:none;
-webkit-tap-highlight-color:transparent;
-webkit-user-drag:none
}
.conv-messages img{pointer-events:auto}
@media (pointer:fine){
.conv-messages .bulle-texte, .conv-messages .bulle-transcrit, .conv-messages .cl-plan{
-webkit-user-select:text;user-select:text
}
.conv-messages img{-webkit-user-drag:auto}
}
.mosaique{
display:grid;gap:var(--e1);margin-top:var(--e1);width:300px;max-width:100%;
border-radius:var(--r-md);overflow:hidden
}
.mosaique.mos-2,.mosaique.mos-4{grid-template-columns:repeat(2,1fr)}
.mosaique.mos-3{grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr}
.mosaique.mos-3 .mos-tuile:first-child{grid-row:1/3}
.mosaique.mos-3 .mos-tuile:first-child img{
position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto
}
.mosaique .mos-tuile{position:relative;margin:0;min-width:0;background:var(--fond)}
.mosaique .mos-cache{display:none}
.mos-reste{
position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
background:rgba(15,22,33,.64);color:var(--sur-couleur);font-size:var(--t-titre);font-weight:700;
pointer-events:none
}
.mosaique img{
display:block;width:100%;aspect-ratio:1;object-fit:cover;background:var(--fond);cursor:pointer;opacity:0;color:transparent;
transition:opacity var(--m-court) ease-out
}
.mosaique.portrait img{aspect-ratio:3/4}
.mosaique figcaption{
font-size:var(--t-legende);line-height:1.3;color:var(--texte-doux);
padding:2px var(--e1) var(--e1);overflow:hidden;display:-webkit-box;
-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere;
max-height:calc(2.6em + 5px)
}
.mosaique img.chargee,.vignette img.chargee{opacity:1}
.bulle-corps > img.chargee{animation:photo-fondu var(--m-court) ease-out}
.mosaique img[data-deja]{opacity:1;transition:none}
.bulle-corps > img[data-deja]{animation:none}
@keyframes photo-fondu{from{opacity:0}}
@media (prefers-reduced-motion:reduce){
.mosaique img,.vignette img{opacity:1;transition:none}
.bulle-corps > img.chargee{animation:none}
}
.mosaique .reacs{
position:absolute;left:3px;bottom:3px;margin:0;gap:2px;pointer-events:auto
}
.mosaique figcaption ~ .reacs, .mosaique .mos-tuile:has(figcaption) .reacs{bottom:auto;top:3px}
.mosaique .reac{padding:0 var(--e1);font-size:var(--t-legende);background:var(--carte)}
.bulle-corps > img{
display:block;width:260px;max-width:100%;aspect-ratio:var(--ratio, 4/3);max-height:320px;color:transparent;
object-fit:cover;background:var(--fond);
border-radius:var(--r-md);margin-top:var(--e1);cursor:pointer
}
@media (pointer:fine){
.bulle-corps > img{width:360px;max-height:400px}
.mosaique{width:420px}
}
.saisie input{-webkit-user-select:text;user-select:text}
.client-carte{
border:1px solid var(--bord);border-radius:var(--r-md);padding:var(--e3) var(--e4);
background:var(--carte);display:flex;flex-direction:column;gap:var(--e2);margin-top:var(--e1)
}
.client-carte .client-nom{font-weight:700;font-size:var(--t-second);display:flex;
justify-content:space-between;gap:var(--e2);align-items:baseline}
.client-carte .client-type{font-weight:400;color:var(--texte-doux);font-size:var(--t-legende)}
.client-ligne{display:flex;justify-content:space-between;gap:var(--e2);font-size:var(--t-corps)}
a.client-geste{
min-height:44px;align-items:center;margin:0 calc(-1 * var(--e2));padding:0 var(--e2);border-radius:var(--r-pt);
text-decoration:none;color:var(--bleu);font-weight:600
}
a.client-geste:active{background:var(--bleu-pale)}
button.fc-lien-fiche{width:100%;display:flex;align-items:center;justify-content:space-between;
gap:var(--e2);border:none;border-top:1px solid var(--bord);border-radius:0;background:none;
color:var(--bleu);font-weight:600;text-align:left;padding:var(--e2) 0 0;margin-top:var(--e2)}
button.fc-lien-fiche .ic{width:16px;height:16px}
.client-ligne a{color:var(--bleu);text-decoration:none;font-weight:600}
.client-ligne .client-quoi{color:var(--texte-doux);font-size:var(--t-legende)}
.client-carte input{margin-top:0}
.client-carte label{margin:var(--e2) 0 var(--e1)}
.client-source{font-size:var(--t-legende);color:var(--texte-doux)}
.personne{display:flex;justify-content:space-between;gap:var(--e2);align-items:flex-start;
padding:var(--e2) 0;border-top:1px solid var(--bord)}
.personne:first-of-type{border-top:0}
.personne .personne-nom{font-weight:600}
.personne .personne-role{color:var(--texte-doux);font-size:var(--t-legende);margin-left:var(--e2)}
.personne .personne-coord{font-size:var(--t-legende);display:flex;flex-direction:column;gap:2px}
.personne .personne-coord a{color:var(--bleu);text-decoration:none}
.personne .personne-actions{display:flex;gap:var(--e1);flex:0 0 auto}
.personne .personne-actions button{min-height:var(--h-compact);height:var(--h-compact);width:var(--h-compact);padding:0;
border:none;background:none;color:var(--texte-doux)}
.personne .personne-actions .ic{width:20px;height:20px}
.envoi{font-size:var(--t-legende);padding:var(--e2) var(--e2);border-radius:var(--r-pt);
background:var(--fond);color:var(--texte-doux);margin-top:var(--e2)}
.envoi.conflit{background:var(--ambre-pale);color:var(--texte)}
.envoi.refus{background:var(--alerte-fond);color:var(--alerte-texte)}
.envoi .envoi-gestes{display:flex;gap:var(--e2);margin-top:var(--e2);flex-wrap:wrap}
.envoi .envoi-gestes button{min-height:var(--h-compact);height:var(--h-compact);font-size:var(--t-legende);padding:0 var(--e2)}
.client-source.reussi,.envoi-bilan.reussi{
color:var(--vert-sombre);border-color:var(--vert-sombre)}
button.reussi{color:var(--vert-sombre);border-color:var(--vert-sombre);background:var(--vert-pale)}
button.echec, .client-source.echec{color:var(--alerte-texte);border-color:var(--alerte-texte)}
.envoi-bilan{padding:var(--e2) var(--e3);border-radius:var(--r-pt);background:var(--vert-pale);margin-bottom:var(--e2)}
.fiche.semaine-courante{border-color:var(--bleu);box-shadow:0 0 0 1px var(--bleu) inset}
details.regle summary{font-size:var(--t-legende);color:var(--texte-doux);cursor:pointer;margin:2px 0 var(--e1)}
#dire{
position:fixed;left:50%;bottom:calc(74px + env(safe-area-inset-bottom));
transform:translateX(-50%);width:max-content;max-width:min(92vw, 520px);
display:flex;flex-direction:column;gap:var(--e2);z-index:var(--z-toast);pointer-events:none;
background:none;padding:0;margin:0;border:0;overflow:visible
}
#dire[popover]{inset:auto auto calc(74px + env(safe-area-inset-bottom)) 50%}
@media (min-width:1060px){
#dire,#dire[popover]{bottom:28px}
body.avec-nav:not(.nav-cachee) #dire,body.avec-nav:not(.nav-cachee) #dire[popover]{left:calc(var(--rail) + var(--e5));right:auto;transform:none}
}
#dire.haut,#dire[popover].haut{top:calc(14px + env(safe-area-inset-top));bottom:auto}
.dire-msg{
display:flex;align-items:center;gap:var(--e2);
background:var(--texte);color:var(--carte);padding:var(--e3) var(--e4);border-radius:var(--r-md);
font-size:var(--t-corps);line-height:1.4;box-shadow:var(--elev-3);white-space:pre-line;
opacity:0;transform:translateY(12px);pointer-events:auto;cursor:default;
transition:opacity var(--m-court) ease, transform var(--m-court) ease
}
#dire.haut .dire-msg{transform:translateY(-12px)}
.dire-msg.visible, #dire.haut .dire-msg.visible{opacity:1;transform:none}
.dire-msg .ic{width:20px;height:20px;flex:none}
.dire-msg.erreur{background:var(--alerte-fond);color:var(--alerte-texte);
box-shadow:inset 3px 0 0 var(--rouge-vif), 0 0 0 1px var(--alerte-texte), var(--elev-3)}
.dire-msg.succes .ic{color:var(--vert-pale)}
.dire-action{min-height:var(--h-compact);padding:0 var(--e3);background:transparent;color:inherit;
border:1px solid currentColor;font-weight:600;flex:none}
.demande .demande-texte{font-size:var(--t-second);margin:var(--e1) 0 var(--e4);text-wrap:balance}
@media (min-width:1060px){
.rangees,#suivi-esabora{grid-column:1 / -1;max-width:none}
.rangees .fiche .tete{display:contents}
.rangees .fiche .gauche{order:1;flex:0 0 32%;min-width:0}
.rangees .fiche .meta{order:2;flex:1 1 200px;margin:0}
.rangees .fiche .actions{order:5;flex:0 0 auto;margin:0}
.rangees .fiche .alerte{order:6;flex:1 1 100%;margin:0}
.rangees .fiche h2,.rangees .fiche .titre{margin:0}
.grille-bureau{grid-column:1 / -1;max-width:none;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--e4);align-items:start}
.grille-bureau.deux{grid-template-columns:repeat(2,1fr)}
.grille-bureau .fiche{margin:0;height:100%}
}
.menu-message{
display:flex;flex-direction:column;gap:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;
-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent
}
.liste-actions{justify-content:flex-end}
.menu-message button.danger{color:var(--rouge-vif)}
.menu-flottant{
position:fixed;left:var(--x, auto);top:var(--y, auto);z-index:var(--z-menu);min-width:236px;padding:var(--e2);
background:var(--carte-elevee);border:1px solid var(--bord);border-radius:var(--r-md);
box-shadow:var(--elev-3)
}
.menu-flottant button{min-height:var(--h-compact);font-size:var(--t-legende)}
.menu-flottant button:hover{background:var(--bleu-pale)}
.menu-flottant .menu-sep{height:1px;background:var(--bord);margin:var(--e1) var(--e2)}
.menu-titre{font-weight:700;padding:var(--e1) var(--e1) var(--e2)}
.menu-titre small{display:block;font-weight:400;color:var(--texte-doux);font-size:var(--t-legende)}
.menu-feuille{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}
.menu-tete .menu-titre{flex:1;min-width:0;padding-top:var(--e2)}
.menu-tete .pan-fermer{margin-left:auto}
#liste-fils .fil{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
@media not all and (min-width:1060px) and (pointer:fine){
#liste-fils .fil{border-radius:0;padding:var(--e2) var(--e4)}
#liste-fils .fil + .fil{margin-top:-1px}
#liste-fils .fil:not(.fil + .fil){border-top-left-radius:var(--r-md);border-top-right-radius:var(--r-md)}
#liste-fils .fil:not(:has(+ .fil)){border-bottom-left-radius:var(--r-md);border-bottom-right-radius:var(--r-md);
margin-bottom:var(--e2)}
}
#liste-fils .fil.tenue{background:var(--bleu-pale)}
.menu-message button{
display:flex;align-items:center;gap:var(--e4);justify-content:flex-start;text-align:left;
min-height:var(--h-normal);font-size:var(--t-corps);border:none;background:none;
border-radius:var(--r-pt);padding:0 var(--e2)
}
.menu-message button .ic{width:20px;height:20px;color:var(--texte-doux);flex:0 0 auto}
.menu-message button:active{background:var(--bleu-pale)}
.menu-message .menu-danger{color:var(--alerte-texte)}
.menu-message .menu-danger .ic{color:var(--alerte-texte)}
.reacs-choix{
--t-emoji:26px;
display:flex;gap:var(--e2);justify-content:center;
padding:var(--e1) var(--e2) var(--e3);border-bottom:1px solid var(--bord);margin-bottom:var(--e2)
}
.reacs-choix span{
flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;
width:48px;height:48px;font-size:var(--t-emoji);line-height:1;user-select:none;
cursor:pointer;border-radius:var(--r-md);border:2px solid transparent
}
.reacs-choix span:hover,.reacs-choix span:active{background:var(--bleu-pale)}
.reacs-choix span.mienne{background:var(--bleu-pale);border-color:var(--bleu)}
.reacs-choix span:focus-visible{outline:2px solid var(--bleu);outline-offset:1px}
@media (pointer:coarse){
.reacs-choix{--t-emoji:30px;justify-content:space-evenly;padding:var(--e2) 0 var(--e4)}
.reacs-choix span{width:56px;height:56px}
}
.saisie-outil{
flex:0 0 auto;width:44px;height:44px;min-height:44px;padding:0;
border-radius:50%;font-size:var(--t-titre);line-height:1;
display:flex;align-items:center;justify-content:center;
background:var(--carte);border:1px solid var(--bord);color:var(--texte-doux);
-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent
}
.saisie-outil:active{background:var(--bleu-pale)}
.saisie-envoi{
flex:0 0 auto;width:44px;height:44px;min-height:44px;padding:0;
border-radius:50%;font-size:var(--t-titre);line-height:1;
display:flex;align-items:center;justify-content:center;
background:var(--bleu-plein);color:var(--sur-couleur);border:none;
-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent
}
.repond-a{
display:flex;gap:var(--e2);align-items:center;font-size:var(--t-legende);
padding:var(--e2) var(--e2);border-left:3px solid var(--bleu);background:var(--fond);
border-radius:0 var(--r-md) var(--r-md) 0;margin-bottom:var(--e2)
}
.repond-a div{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;
white-space:nowrap;color:var(--texte-doux)}
.repond-a button{min-height:44px;padding:0 var(--e3);font-size:var(--t-second)}
.conv-jour{
display:flex;align-items:center;gap:var(--e3);
margin:var(--e3) 0 var(--e2)
}
.conv-jour::before,.conv-jour::after{
content:'';flex:1;height:1px;background:var(--bord)
}
.conv-neuf{
align-self:stretch;display:flex;align-items:center;gap:var(--e2);
font-size:var(--t-legende);color:var(--bleu);margin:var(--e1) 0;scroll-margin-top:var(--e2)
}
.conv-neuf::before,.conv-neuf::after{
content:"";flex:1;height:1px;background:var(--bleu-plein);opacity:.4
}
.retour-present{align-self:center;margin:var(--e2) 0 2px;position:sticky;bottom:var(--e1)}
.mentions{
display:flex;flex-direction:column;gap:2px;margin-bottom:var(--e2);
background:var(--carte);border:1px solid var(--bord);border-radius:var(--r-md);
padding:var(--e1);max-height:170px;overflow-y:auto
}
.mentions button{
display:flex;align-items:center;justify-content:flex-start;text-align:left;min-height:44px;border:none;background:none;
font-size:var(--t-corps);padding:0 var(--e2)
}
.mentions button.choisie{background:var(--bleu-pale);color:var(--bleu)}
.mention{color:var(--bleu);font-weight:600}
.mention.moi{background:var(--bleu-pale);border-radius:var(--r-pt);padding:0 var(--e1)}
.bulle.nomme .bulle-corps{border-color:var(--bleu);border-width:1.5px}
.epingles{
position:sticky;top:0;z-index:5;align-self:stretch;
background:var(--fond);border-bottom:1px solid var(--bord);
padding:var(--e1) 0 var(--e2);margin-bottom:var(--e1)
}
.epingle{
display:flex;gap:var(--e2);align-items:baseline;font-size:var(--t-second);
padding:var(--e1) 2px;cursor:pointer;
overflow:hidden;text-overflow:ellipsis;white-space:nowrap
}
.epingle-marque{flex:0 0 auto}
.epingle-texte{min-width:0;overflow:hidden;text-overflow:ellipsis}
.bulle-attente .bulle-corps{
background:transparent;border-style:dashed;opacity:.75
}
.bulle-pied{font-size:var(--t-legende);color:var(--texte-doux);margin-top:2px}
.bulle-attente.refusee .bulle-corps{border-color:var(--alerte-texte);opacity:1}
.bulle-echec{color:var(--alerte-texte)}
.bulle-gestes{display:flex;gap:var(--e2);margin-top:var(--e2)}
.bulle-gestes button{min-height:var(--h-compact);padding:0 var(--e2);font-size:var(--t-legende)}
.attente-globale .ic{width:20px;height:20px;flex:0 0 auto;margin-top:1px}
.attente-globale-sous{font-size:var(--t-legende);margin-top:2px;opacity:.9}
.os{
background:linear-gradient(90deg, var(--gris-pale) 25%,
var(--bord) 37%, var(--gris-pale) 63%);
background-size:400% 100%;
animation:onde 1.4s ease-in-out infinite;
border-radius:var(--r-pt); height:11px; margin-bottom:var(--e2);
}
@keyframes onde{0%{background-position:100% 0}100%{background-position:0 0}}
.os.court{width:42%}
.os.moyen{width:72%}
.os:last-child{margin-bottom:0}
.os-carte{
background:var(--carte);border:1px solid var(--bord);border-radius:var(--r-md);padding:var(--e3);
margin-bottom:var(--e2);animation:os-parait var(--m-court) ease-out .25s both
}
.os-bulle{
max-width:74%;background:var(--carte);border:1px solid var(--bord);border-radius:var(--r-md);
padding:var(--e2) var(--e3);margin-bottom:var(--e2);animation:os-parait var(--m-court) ease-out .25s both
}
.os-bulle.moi{margin-left:auto}
@keyframes os-parait{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.os-carte,.os-bulle,.os-titre,.os-bouton{animation:none}}
.squelette-ecran,.squelette-accueil,.squelette-planning{padding-top:var(--e3)}
.os-titre{animation:os-parait var(--m-court) ease-out .25s both;margin-bottom:var(--e4)}
.os-titre .os{height:14px}
.os-bouton{
animation:os-parait var(--m-court) ease-out .25s both;height:52px;border-radius:var(--r-md);
background:var(--gris-pale);margin-bottom:var(--e4)
}
.accuse{
align-self:flex-end;font-size:var(--t-legende);color:var(--texte-doux);
margin:calc(-1 * var(--e1)) 2px 2px 0
}
.plus-anciens{align-self:center;margin:2px 0 var(--e2)}
.saisie{
display:flex;gap:var(--e2);align-items:flex-end;padding-top:var(--e2);
border-top:1px solid var(--bord)
}
.saisie textarea{
-webkit-user-select:text;user-select:text;flex:1;resize:none;max-height:120px;font-family:inherit;
height:var(--hauteur, auto);font-size:16px;padding:var(--e2) var(--e3);border-radius:var(--r-md);
border:1px solid var(--bord-fort);background:var(--carte);color:var(--texte)
}
.saisie button{flex:0 0 auto;min-height:44px}
.lien-flux{font-size:var(--t-legende);color:var(--texte-doux);text-align:center;padding:var(--e1) 0}
.lien-flux.coupe{color:var(--alerte-texte)}
.pellicule{
display:grid;grid-template-columns:repeat(auto-fill,minmax(108px,1fr));
gap:var(--e2);margin:var(--e2) 0
}
.cliche{
position:relative;border-radius:var(--r-md);overflow:hidden;cursor:pointer;
background:var(--fond);border:1px solid var(--bord)
}
.cliche img{
width:100%;aspect-ratio:1;object-fit:cover;display:block;
background:var(--bord)
}
.cliche img:not([src]){opacity:.35}
.cliche-titre{
font-size:var(--t-legende);font-weight:600;padding:var(--e1) var(--e2) 0;line-height:1.25;
overflow:hidden;text-overflow:ellipsis;white-space:nowrap
}
.cliche-bas{font-size:var(--t-legende);color:var(--texte-doux);padding:1px var(--e2) var(--e2)}
.cliche-retirer .ic{width:16px;height:16px}
.cliche-retirer{
position:absolute;top:5px;right:5px;width:30px;height:30px;min-height:30px;
padding:0;border-radius:50%;font-size:var(--t-titre);line-height:1;z-index:2;
background:rgba(26,34,48,.72);color:var(--sur-couleur);border:none;
display:flex;align-items:center;justify-content:center
}
.cliche-retirer:active{background:var(--rouge-vif)}
.depot{
border:2px dashed var(--bord);border-radius:var(--r-md);padding:var(--e5) var(--e4);text-align:center;cursor:pointer;
background:var(--fond);
transition:border-color var(--m-doigt) var(--m-simple),background var(--m-doigt) var(--m-simple)
}
.depot:active{border-color:var(--bleu-clair)}
.depot.survol{border-color:var(--bleu);background:var(--carte);border-style:solid}
.depot-titre{font-size:var(--t-corps);font-weight:600}
.depot-sous{font-size:var(--t-second);color:var(--texte-doux);margin-top:var(--e1)}
.chr{position:relative;margin:var(--e1) 0 var(--e4);padding-left:calc(var(--e6) + var(--e4));height:var(--h, auto)}
.chr-axe{
position:absolute;left:38px;top:0;bottom:0;width:2px;background:var(--bord);
border-radius:var(--r-pt)
}
.chr-heure{
position:absolute;top:var(--y, 0);left:0;width:32px;text-align:right;font-size:var(--t-legende);
color:var(--texte-doux);font-variant-numeric:tabular-nums
}
.chr-trait{
position:absolute;top:var(--y, 0);left:46px;right:0;height:1px;background:var(--bord);
opacity:.45
}
.chr-zone{position:relative;height:100%}
.chr-bloc{
position:absolute;top:var(--y, 0);height:var(--h, auto);left:var(--x, 0);width:calc(var(--l, 100%) - 6px);
background:var(--carte);border:1px solid var(--bord);
border-left:3px solid var(--bleu);
border-radius:var(--r-pt);padding:var(--e2) var(--e3);overflow:hidden
}
.chr-h{
font-size:var(--t-legende);color:var(--texte-doux);
font-variant-numeric:tabular-nums;
font-variant-numeric:tabular-nums
}
.chr-t{font-size:var(--t-second);font-weight:600;line-height:1.3;margin-top:1px}
.chr-m{
font-size:var(--t-legende);color:var(--texte-doux);margin-top:2px;
overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block
}
.chr-bloc .equipe{margin-top:var(--e1)}
.chr-bloc .jeton{font-size:var(--t-legende)}
.chr-maintenant{
position:absolute;top:var(--y, 0);left:38px;right:0;height:2px;background:var(--rouge-vif);
z-index:3;pointer-events:none
}
.chr-point{
position:absolute;left:-4px;top:-4px;width:10px;height:10px;border-radius:50%;
background:var(--rouge-vif)
}
.chr-journee{
background:var(--carte);border:1px solid var(--bord);border-radius:var(--r-md);
padding:var(--e3) var(--e4);margin-bottom:var(--e2)
}
.pl-legende{
display:flex;gap:var(--e3);flex-wrap:wrap;font-size:var(--t-legende);
color:var(--texte-doux);margin:0 0 var(--e2)
}
.pl-legende i{
display:inline-block;width:10px;height:10px;border-radius:var(--r-trait);margin-right:var(--e1);
vertical-align:-1px;background:var(--c, var(--gris-sombre))
}
.cal-pastille{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:var(--e2);
vertical-align:-1px;background:var(--c, var(--texte-doux))}
.accueil-tete{display:flex;flex-direction:column;gap:0}
.jour{font-family:var(--police-titres);letter-spacing:-.01em;font-size:var(--t-titre);font-weight:600;margin:var(--e1) 0 var(--e4)}
.jour span{font-weight:400;color:var(--texte-doux);font-size:var(--t-corps)}
.tuiles{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--e4);
margin-bottom:var(--e4)}
.pastille-neuf{
top:-6px;right:-6px;text-align:center;box-shadow:var(--elev-1);min-width:20px;height:20px;padding:0 var(--e2);
border-radius:var(--r-max);background:var(--signal);color:var(--sur-signal);font-size:var(--t-legende);
font-weight:600;display:inline-flex;align-items:center;justify-content:center;line-height:1;
font-variant-numeric:tabular-nums;position:absolute
}
.tuile{position:relative;background:var(--carte);border:1px solid var(--bord);border-radius:var(--r-md);padding:var(--pad-carte);cursor:pointer;display:flex;flex-direction:column;gap:var(--e1);min-height:84px;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:transform var(--m-doigt) var(--m-simple),
border-color var(--m-doigt) var(--m-simple)}
.tuile.attente:active{transform:none;background:var(--carte)}
.tuile.pleine{grid-column:1 / -1}
.tuile.attente{cursor:default}
.tuile.mesure{cursor:default;background:none;border-color:transparent;padding-inline:0}
.tuile.mesure:active{transform:none;background:none}
.tuiles .tuile:not(.raccourci):not(.pleine){display:grid;grid-template-rows:minmax(2.6em,auto) auto 1fr;row-gap:var(--e1)}
.tuiles .tuile:not(.raccourci):not(.pleine) .t-nom{align-self:end}
.tuile .t-detail{font-size:var(--t-second);color:var(--texte-doux);min-height:2.8em}
.tuile.pleine .t-detail,.tuile.raccourci .t-detail{min-height:0}
.pj-carte{
display:flex;gap:var(--e3);align-items:flex-start;margin:var(--e2) 0 var(--e1);
padding:var(--e3);border-radius:var(--r-md);background:var(--bleu-pale)
}
.pj-heure{
font-family:var(--police-titres);font-size:var(--t-titre);font-weight:800;
letter-spacing:-.02em;color:var(--bleu-sombre);flex:0 0 auto;line-height:1.1;
font-variant-numeric:tabular-nums;display:flex;flex-direction:column
}
.pj-heure span{font-size:var(--t-legende);font-weight:600;color:var(--texte-doux)}
.pj-corps{flex:1;min-width:0}
.pj-titre{font-weight:700;font-size:var(--t-corps);line-height:1.3}
.pj-lieu{font-size:var(--t-second);color:var(--texte-doux);margin-top:1px}
.pj-pied{display:flex;align-items:center;gap:var(--e2);margin-top:var(--e2);flex-wrap:wrap}
.pj-route{margin-left:auto}
.pj-route .ic{width:16px;height:16px}
.pj-aussi{margin-top:var(--e2)}
.pt-tete{margin-bottom:var(--e3)}
.pt-horloge{
font-family:var(--police-titres);font-size:var(--t-ecran);font-weight:800;
letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.1;margin-top:2px
}
.pt-etat{
margin-top:var(--e3);display:flex;align-items:baseline;flex-wrap:wrap;gap:0 var(--e2);
font-size:var(--t-titre);font-weight:500;line-height:1.3;padding:var(--e3) var(--e4);
border-radius:var(--r-md);background:var(--gris-pale);color:var(--gris-sombre);
font-variant-numeric:tabular-nums
}
.pt-etat b{font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.pt-etat.c-vert{background:var(--vert-pale);color:var(--vert-sombre)}
.pt-etat.c-ambre{background:var(--ambre-pale);color:var(--ambre-sombre)}
.pt-etat.c-gris{background:var(--gris-pale);color:var(--gris-sombre)}
.pointer-grand{width:100%;margin-bottom:var(--e3)}
@media (min-width:1060px){
#pointer, #pointer-vite{min-height:44px;height:44px;font-size:var(--t-corps)}
}
#pointer.pt-pause{background:var(--ambre-sombre);border-color:var(--ambre-sombre)}
.pt-frise{position:relative;padding-left:var(--e5);margin:var(--e1) 0 var(--e2)}
.pt-frise::before{
content:"";position:absolute;left:8px;top:10px;bottom:10px;width:2px;background:var(--bord)
}
.pt-etape{position:relative;display:flex;align-items:center;gap:var(--e2);padding:var(--e2) 0}
.pt-point{
position:absolute;left:-21px;width:12px;height:12px;border-radius:50%;
background:var(--bleu-plein);border:2px solid var(--carte);box-shadow:0 0 0 1px var(--bleu)
}
.pt-etape.pause .pt-point{background:var(--ambre-sombre);box-shadow:0 0 0 1px var(--ambre-sombre)}
.pt-etape.depart .pt-point{background:var(--texte-doux);box-shadow:0 0 0 1px var(--texte-doux)}
.pt-lib{flex:1;min-width:0}
.pt-corrige{font-size:var(--t-legende);color:var(--texte-doux)}
.pt-h{font-weight:700;font-variant-numeric:tabular-nums}
.pt-actions{display:flex;gap:var(--e2);margin-top:var(--e3)}
.pt-actions button{
flex:1;display:inline-flex;align-items:center;justify-content:center;gap:var(--e2);
font-size:var(--t-second);padding:var(--e2) var(--e2)
}
.pt-actions .ic{width:16px;height:16px}
@media (max-width:719px){
.tuiles > .tuile:last-child:nth-child(odd){grid-column:1/-1}
}
.tuile.alerte-tuile .t-valeur{color:var(--ambre-sombre)}
.tuile.alerte-tuile.pleine{border-color:var(--ambre-sombre);background:var(--ambre-pale);
display:grid;grid-template-columns:auto 1fr;column-gap:var(--e3);align-items:start}
.tuile.alerte-tuile.pleine .t-valeur{grid-column:1;grid-row:1 / span 2;line-height:0}
.tuile.alerte-tuile.pleine .t-nom{grid-column:2}
.tuile.alerte-tuile.pleine .t-valeur .ic{width:20px;height:20px;margin-top:1px}
.tuile.alerte-tuile.pleine .t-detail{grid-column:2;color:var(--ambre-sombre);min-height:0}
.tuile.tuile-ok .t-valeur{color:var(--vert-sombre)}
.tuile.tuile-grave{border-color:var(--alerte-texte)}
.tuile.tuile-grave .t-valeur{color:var(--alerte-texte)}
.tuile.bloc-decisions{
background:none;border:none;padding:0;min-height:0;cursor:default;
display:block;
}
.tuile.bloc-decisions:active{transform:none;background:none}
#decisions:empty{display:none}
.deux-colonnes{display:flex;flex-direction:column;gap:var(--e4);
margin-bottom:var(--e4)}
.col-jour{display:flex;flex-direction:column;gap:var(--e4);
min-width:0}
.bloc-portes .tuile.raccourci:hover{background:var(--bleu-pale)}
.pls-bande{
display:grid;grid-template-columns:52px repeat(var(--nb-jours, 5), minmax(0, 1fr));
border:1px solid var(--bord);border-bottom:none;border-radius:var(--r-md) var(--r-md) 0 0;
background:var(--carte);padding-bottom:var(--e1);overflow-y:hidden;scrollbar-gutter:stable
}
.pls-case{padding:var(--e1) 0 0; min-width:0}
.pls-bande + .pls-fenetre{border-radius:0 0 var(--r-md) var(--r-md)}
.pls-tete{
display:grid;grid-template-columns:52px repeat(var(--nb-jours, 5), minmax(0, 1fr));
border:1px solid transparent;border-bottom:none;margin-bottom:var(--e2)
}
.pls-jour{text-align:center}
.pls-quantieme{font-size:var(--t-titre); font-weight:700; line-height:1.2}
.pls-jour.aujourdhui .pls-quantieme,
.pls-jour.aujourdhui .pls-abrege{color:var(--bleu)}
.pls-cadre{
display:grid;grid-template-columns:52px repeat(var(--nb-jours, 5), minmax(0, 1fr));height:var(--h, auto);
background:var(--carte);border:1px solid var(--bord);border-radius:var(--r-md);overflow:hidden;
margin-bottom:var(--e4);position:relative
}
.pls-axe{position:relative; border-right:1px solid var(--bord)}
.pls-heure{
position:absolute; top:var(--y, 0); right:var(--e2); transform:translateY(-50%);
font-size:var(--t-legende); color:var(--texte-doux);
font-variant-numeric:tabular-nums;
}
.pls-colonne{position:relative; border-right:1px solid var(--bord)}
.pls-colonne:last-child{border-right:none}
.pls-rdv{
position:absolute; top:var(--y, 0); height:var(--h, auto); left:var(--x, 0); width:var(--l, 100%);
background:var(--carte);
border:1px solid var(--bord); border-radius:var(--r-pt);
padding:var(--e1) var(--e2); overflow:hidden; box-sizing:border-box;
}
.pls-plus{
display:flex;align-items:flex-start;justify-content:center;min-height:0;
font:inherit;font-size:var(--t-second);font-weight:700;color:var(--bleu);
background:var(--bleu-pale);border-color:var(--bleu-clair);cursor:pointer;padding-top:var(--e2)
}
.pls-plus:hover{background:var(--carte)}
.pls-rdv[data-rdv-sem]{cursor:pointer}
@media (hover:hover){.pls-rdv[data-rdv-sem]:hover{box-shadow:var(--elev-1)}}
.pls-h{
font-size:var(--t-legende); color:var(--texte-doux);
font-variant-numeric:tabular-nums; line-height:1.2;
}
.pls-t{
font-size:var(--t-legende); font-weight:700; line-height:1.25;
overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.pls-rdv .jeton{font-size:var(--t-legende)}
.pls-journee{
position:relative; z-index:1; margin:0 0 var(--e1);
background:var(--ambre-pale); color:var(--ambre-sombre);
border-left:3px solid var(--ambre-sombre); border-radius:var(--r-pt);
padding:var(--e1) var(--e2); font-size:var(--t-legende); font-weight:700;
overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.pls-maintenant{
position:absolute; top:var(--y, 0); left:52px; right:0; height:2px;
background:var(--rouge-vif); z-index:2; pointer-events:none;
}
.pls-maintenant::before{
content:''; position:absolute; left:-4px; top:-3px;
width:8px; height:8px; border-radius:var(--r-max);
background:var(--rouge-vif);
}
.mois-retour{white-space:nowrap; margin:0}
.segment{
display:inline-flex; gap:2px; flex:0 0 auto; padding:2px;
background:var(--gris-pale); border-radius:var(--r-md)
}
.segment button{
border:none; background:none; margin:0; min-height:calc(var(--h-compact) - 4px);
padding:0 var(--e3); border-radius:var(--r-pt);
font-size:var(--t-second); font-weight:500; color:var(--texte-doux);
cursor:pointer; white-space:nowrap
}
.segment button:hover{color:var(--texte)}
.segment button.actif,.segment button[aria-pressed="true"]{
background:var(--carte); color:var(--texte); font-weight:600; box-shadow:var(--elev-1)
}
.onglets{display:inline-flex;flex:0 0 auto;border-bottom:1px solid var(--bord);gap:var(--e2)}
.onglets button{
border:none;background:none;border-radius:0;min-height:var(--h-compact);padding:0 var(--e3);margin:0 0 -1px;
font-size:var(--t-second);font-weight:600;color:var(--texte-doux);border-bottom:2px solid transparent;cursor:pointer
}
.onglets button.actif,.onglets button[aria-selected="true"]{color:var(--bleu);border-bottom-color:var(--bleu)}
.conv-info{
display:block;background:none;border:none;padding:0;min-height:0;
font:inherit;color:var(--texte);text-align:left;cursor:pointer;
border-radius:var(--r-pt)
}
.conv-info .titre-nom{display:flex;align-items:center;gap:var(--e1)}
.conv-info .conv-lieu{display:block}
.conv-info:active{background:var(--bleu-pale)}
.conv-membres{
display:inline-flex;align-items:center;gap:var(--e1);min-height:var(--h-compact);min-width:var(--h-compact);
padding:0 var(--e2);font-size:var(--t-second);color:var(--texte-doux);
border-radius:var(--r-md);border:1px solid var(--bord);background:var(--carte)
}
.conv-membres svg{width:20px;height:20px}
.titre-actions .conv-membres{width:var(--h-compact);padding:0;justify-content:center}
.conv-infos svg{width:20px;height:20px}
.onglet-point{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--bleu-plein);margin-left:var(--e1);vertical-align:middle}
.conv-onglets{display:flex;flex:0 0 auto;border-bottom:1px solid var(--bord);margin-bottom:var(--e1)}
.conv-onglets button{
flex:1;border:none;background:none;border-radius:0;min-height:min(36px, var(--h-compact));
font-size:var(--t-second);font-weight:600;color:var(--texte-doux);
border-bottom:2px solid transparent;margin-bottom:-1px;position:relative
}
.conv-onglets button::after{content:"";position:absolute;inset:-4px 0}
.conv-onglets button.actif{color:var(--bleu);border-bottom-color:var(--bleu)}
.conv-vue{
flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:0 2px var(--e4);
overscroll-behavior:contain;-webkit-overflow-scrolling:touch
}
.doss-bloc{
background:var(--carte);border:1px solid var(--bord);border-radius:var(--r-md);
padding:var(--e3);margin-bottom:var(--e3)
}
.doss-titre{
margin-bottom:var(--e2);
display:flex;align-items:center
}
.doss-commander{display:block;width:100%;margin-bottom:var(--e2)}
.info-page{padding:0 2px var(--e4);overflow-y:auto;min-height:0;flex:1}
.info-ident{
display:grid;gap:var(--e2);margin:var(--e2) 0 var(--e3);padding:var(--e3);
background:var(--carte);border:1px solid var(--bord);border-radius:var(--r-md)
}
.info-ident-nom{font-size:var(--t-titre);font-weight:700;line-height:1.25;margin:0}
.info-ident-lieu{font-size:var(--t-second);color:var(--texte-doux);margin:0}
.info-gestes{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:var(--e2)}
.info-gestes button{display:inline-flex;align-items:center;justify-content:center;gap:var(--e2);min-height:var(--h-normal)}
.info-membres{
display:flex;align-items:center;gap:var(--e2);width:100%;min-height:var(--h-normal);padding:var(--e2) 0 0;
border:0;border-top:1px solid var(--bord);border-radius:0;background:none;color:var(--texte);
font-size:var(--t-second);font-weight:400;text-align:left
}
.info-pile{display:flex;flex:none}
.info-pile .avatar{box-shadow:0 0 0 2px var(--carte)}
.info-pile .avatar + .avatar{margin-left:calc(var(--e1) * -1)}
.info-titre{margin:var(--e4) 0 var(--e1)}
.info-groupe{background:var(--carte);border:1px solid var(--bord);border-radius:var(--r-md);overflow:hidden}
.info-groupe > :not(:first-child){border-top:1px solid var(--bord)}
.info-ligne{
display:flex;align-items:center;gap:var(--e2);width:100%;min-height:var(--h-normal);padding:var(--e2) var(--e3);
border:0;border-radius:0;background:none;color:var(--texte);font-size:var(--t-second);font-weight:400;text-align:left
}
.info-ligne-nom{display:flex;flex-direction:column;gap:2px;font-weight:600;min-width:0}
.info-ligne-nom small{font-size:var(--t-legende);font-weight:400;color:var(--texte-doux)}
.info-ligne-val{
margin-left:auto;min-width:0;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
font-size:var(--t-legende);color:var(--texte-doux);text-align:right
}
.info-membres .info-ligne-val{max-width:none}
.info-ligne .ic,.info-membres .ic{width:16px;height:16px;flex:none;color:var(--texte-doux);transition:transform var(--m-court) var(--m-simple)}
.info-tiroir.ouvert > .info-ligne .ic{transform:rotate(90deg)}
.info-tiroir-corps{padding:0 var(--e3) var(--e3)}
.info-bloc-ligne .info-editer{padding:var(--e2) var(--e3) var(--e3)}
.info-etat{flex-wrap:wrap}
.info-etat .segment{margin-left:auto}
.info-interrupteur{
position:relative;flex:none;width:44px;height:26px;margin-left:auto;border-radius:var(--r-max);
background:var(--bord-fort);transition:background var(--m-court) var(--m-simple)
}
.info-interrupteur::after{
content:"";position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;
background:var(--carte);transition:transform var(--m-court) var(--m-simple)
}
.info-bascule[aria-checked="true"] .info-interrupteur{background:var(--bleu-plein)}
.info-bascule[aria-checked="true"] .info-interrupteur::after{transform:translateX(18px)}
.info-sur-place{display:grid;gap:var(--e1)}
.info-sur-place .info-titre{margin-top:0}
.info-repere-vide{font-size:var(--t-second);color:var(--texte-doux);margin:0}
.info-sur-place .discret{justify-self:start}
.info-supprimer{
display:flex;align-items:center;justify-content:center;gap:var(--e2);width:100%;margin-top:var(--e5);
min-height:var(--h-normal);border:0;background:none;color:var(--alerte-texte);font-weight:600
}
.info-bloc .info-modifier{margin-top:var(--e1)}
.info-bloc-gestes{display:flex;gap:var(--e2);flex-wrap:wrap;margin-top:var(--e2)}
.info-lecture{font-size:var(--t-second);padding:var(--e1) 0 var(--e2)}
.info-repere{
display:grid;gap:2px;width:100%;padding:var(--e2) var(--e3);border:0;border-radius:var(--r-md);
background:var(--ambre-pale);color:var(--texte);text-align:left;font-weight:400
}
.info-repere-nom{font-size:var(--t-legende);font-weight:700;color:var(--texte-doux)}
.info-repere-texte{font-size:var(--t-second);white-space:pre-wrap;line-height:1.45}
.en-selection .vignette{cursor:pointer}
.en-selection .vignette::after{
content:'';position:absolute;top:6px;right:6px;width:22px;height:22px;
border-radius:50%;border:2px solid #fff;background:rgba(0,0,0,.35);
box-shadow:var(--elev-1)
}
.en-selection .vignette.choisie{outline:3px solid var(--bleu);outline-offset:-3px}
.en-selection .vignette.choisie::after{
background:var(--bleu-plein);border-color:#fff;
background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5 10 17.5 19 7'/%3E%3C/svg%3E");
background-size:14px;background-position:center;background-repeat:no-repeat
}
@media (min-width:1060px){.sel-barre{left:auto;right:24px;max-width:520px}}
.sel-barre{
position:fixed;left:12px;right:12px;z-index:var(--z-flottant);
bottom:calc(12px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:var(--e2);
padding:var(--e2) var(--e3);background:var(--carte-elevee);border:1px solid var(--bord);
border-radius:var(--r-md);box-shadow:var(--elev-2);font-size:var(--t-second);flex-wrap:nowrap
}
.sel-barre span{font-weight:700;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sel-barre button{min-height:var(--h-compact);padding:0 var(--e3);font-size:var(--t-second);flex:0 0 auto}
button.sel-croix,button.sel-geste{width:44px;padding:0;display:inline-flex;align-items:center;justify-content:center}
.sel-croix{border:none;background:none;color:var(--texte-doux)}
.sel-barre .ic{width:20px;height:20px}
.sel-barre .occupe{opacity:.5;animation:sel-attente .9s ease-in-out infinite alternate}
@keyframes sel-attente{to{opacity:1}}
#apercu-photo img.zoomee{cursor:grab;transition:none}
.pel-compte{
position:absolute;left:50%;transform:translateX(-50%);
top:calc(20px + env(safe-area-inset-top));
font-size:var(--t-legende);color:var(--scene-legende);
text-shadow:0 1px 4px rgba(0,0,0,.9);font-variant-numeric:tabular-nums
}
.pel-fleche{
position:absolute;top:50%;transform:translateY(-50%);
width:44px;height:44px;padding:0;min-height:0;border:none;border-radius:50%;
background:rgba(0,0,0,.45);color:var(--sur-couleur);font-size:var(--t-titre);line-height:1
}
.pel-fleche:active{transform:translateY(-50%) scale(.96)}
.cherche button:active{transform:translateY(-50%) scale(.96)}
.pel-avant{left:10px}
.pel-apres{right:10px}
#apercu-photo video{max-width:100%;max-height:100dvh;display:block}
.pel-gestes{display:flex;gap:var(--e2);justify-content:center;flex-wrap:wrap;margin-top:var(--e2)}
.pel-gestes button{border:none;background:rgba(255,255,255,.14);color:var(--sur-couleur)}
.pel-gestes button .ic{width:16px;height:16px}
.pel-gestes .pel-danger{background:rgba(229,72,77,.35)}
.pel-perdue{
display:inline-flex;align-items:center;gap:var(--e2);margin:var(--e1) 0;
color:var(--scene-legende);font-size:var(--t-second);text-align:left
}
.pel-perdue .ic{width:16px;height:16px;flex:0 0 auto;color:var(--scene-alerte)}
#pel-prevenir{
min-height:36px;padding:0 var(--e3);border:none;border-radius:var(--r-max);
background:rgba(255,255,255,.14);color:var(--sur-couleur);font-size:var(--t-legende);margin-top:var(--e1)
}
#apercu-photo img.perdue{width:100%;max-height:72dvh;object-fit:contain;filter:blur(.7px) saturate(.9)}
.bascule-vue{
min-height:var(--h-compact);padding:0 var(--e3);font-size:var(--t-legende);font-weight:700;
border-radius:var(--r-max);border:1px solid var(--ambre-sombre);
background:var(--ambre-pale);color:var(--ambre-sombre);margin-right:var(--e2)
}
.filet-bandeau{
display:flex; align-items:center; gap:var(--e2); width:100%;
margin:0 0 var(--e2); padding:var(--e2) var(--e3);
background:var(--ambre-pale); color:var(--ambre-sombre);
border:1px solid var(--ambre-sombre); border-radius:var(--r-md);
font-size:var(--t-second); text-align:left; cursor:pointer; min-height:var(--h-normal);
}
.filet-bandeau svg{width:20px;height:20px;flex:0 0 auto}
.filet-bandeau .filet-aller{margin-left:auto;font-weight:700;white-space:nowrap}
.filet-liste{display:flex;flex-direction:column;gap:var(--e2)}
.filet-ligne{
background:var(--carte); border:1px solid var(--bord); border-radius:var(--r-md);
padding:var(--e3);
}
.filet-tete{display:flex;align-items:center;gap:var(--e2);flex-wrap:wrap}
.filet-numero{margin-left:auto;font-size:var(--t-legende);color:var(--texte-doux);
font-variant-numeric:tabular-nums}
.filet-objet{font-size:var(--t-second);margin-top:2px}
.filet-ou{font-size:var(--t-legende);color:var(--texte-doux);margin-top:2px}
.filet-actions{display:flex;gap:var(--e2);flex-wrap:wrap;margin-top:var(--e2)}
.filet-actions button{min-height:var(--h-compact);padding:var(--e2) var(--e3);font-size:var(--t-second)}
.param-devis{
display:flex; align-items:flex-start; gap:var(--e2);
padding:var(--e2) 0; border-bottom:1px solid var(--bord);
}
.param-devis.close{color:var(--texte-doux)}
.param-devis-corps{flex:1;min-width:0;font-size:var(--t-second)}
.param-devis-objet{font-size:var(--t-legende);color:var(--texte-doux)}
.param-retirer{
min-height:var(--h-compact); min-width:var(--h-compact); padding:var(--e1); border:none; background:none;
color:var(--texte-doux); cursor:pointer; display:inline-flex;
align-items:center; justify-content:center;
}
.param-retirer svg{width:16px;height:16px}
.param-lier{display:flex;gap:var(--e2);align-items:center;margin-top:var(--e2)}
.param-lier input{flex:1;margin:0}
.param-lier button{min-height:var(--h-compact);margin:0}
.avert{
background:var(--ambre-pale); color:var(--ambre-sombre);
border:1px solid var(--ambre-sombre); border-radius:var(--r-md);
padding:var(--e2) var(--e3); font-size:var(--t-second); margin-top:var(--e2);
}
.avert button{margin:var(--e2) 0 0;min-height:var(--h-compact);color:var(--ambre-sombre);
border-color:var(--ambre-sombre);background:none}
.liste-simple{margin:0 0 var(--e3);padding-left:var(--e4);font-size:var(--t-second);display:grid;gap:var(--e1)}
.pt-position{display:flex;gap:var(--e2);align-items:flex-start;margin-bottom:var(--e3)}
.pt-position-gestes{display:flex;gap:var(--e2);flex-wrap:wrap;margin-top:var(--e2)}
.reprise-kraaft{margin:var(--e2) var(--e3);padding:var(--e3);border:1px solid var(--bord);border-radius:var(--r-md);
background:var(--carte);font-size:var(--t-second)}
.reprise-kraaft .rk-gestes{display:flex;gap:var(--e2);flex-wrap:wrap;margin-top:var(--e2)}
.case-membre{display:flex;gap:var(--e3);align-items:center;font-weight:400;
font-size:var(--t-corps);color:var(--texte);padding:2px 0;min-height:var(--h-normal);cursor:pointer}
.case-membre input{width:22px;height:22px;min-height:0;margin:0;flex:none;accent-color:var(--bleu-plein)}
.deux-champs input{margin:0}
.deux-champs input:first-child{flex:0 0 110px}
.pls-fenetre{
max-height:calc(11 * 58px + 24px); overflow-y:auto; scrollbar-gutter:stable;
border:1px solid var(--bord); border-radius:var(--r-md);
background:var(--carte); margin-bottom:var(--e4);
}
.pls-fenetre .pls-cadre{border:none; border-radius:0; margin-bottom:0}
.pr-cadre{
background:var(--carte); border:1px solid var(--bord);
border-radius:var(--r-md); padding:var(--e4);
}
.pr-tete{display:flex; align-items:center; gap:var(--e3); flex-wrap:wrap}
.pr-tete .res-titre{margin:0; flex:1; min-width:0}
.pr-legende{
display:flex; gap:var(--e4); font-size:var(--t-legende); color:var(--texte-doux);
}
.pr-legende span{display:flex; align-items:center; gap:var(--e2)}
.pr-clef{
width:10px; height:10px; border-radius:var(--r-trait); background:var(--bleu-clair);
display:inline-block;
}
.pr-clef.pause{background:var(--ambre-pale); border:1px solid var(--ambre-sombre)}
.pr-rang{
display:grid; grid-template-columns:150px 1fr; gap:var(--e3);
align-items:center; padding:var(--e2) 0;
}
.pr-rang.eteint{color:var(--texte-doux)}
.pr-regle{padding-bottom:var(--e2); border-bottom:1px solid var(--bord)}
.pr-heures{
position:relative; height:16px; font-size:var(--t-legende);
color:var(--texte-doux); font-variant-numeric:tabular-nums;
}
.pr-heures span{position:absolute; left:var(--x, 0); transform:translateX(-50%); white-space:nowrap}
.pr-heures span:first-child{transform:none}
.titre-barre.relit .titre-nom::after{content:"";display:inline-block;width:.7em;height:.7em;margin-left:var(--e2);
border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:tirer-tourne .8s linear infinite;vertical-align:-.05em;opacity:.5}
.pr-qui{display:flex; align-items:center; gap:var(--e2); min-width:0}
.pr-txt{display:flex; flex-direction:column; min-width:0}
.pr-nom{
font-size:var(--t-second); font-weight:600;
overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.pr-sous{font-size:var(--t-legende); color:var(--texte-doux)}
.pr-barre{
position:relative; height:28px; border-radius:var(--r-pt);
background:var(--gris-pale); overflow:hidden;
}
.pr-part{
position:absolute; top:0; bottom:0; left:var(--x, 0); width:var(--l, 0); background:var(--bleu-clair);
border-radius:var(--r-pt);
}
.pr-part.pause{
background:var(--ambre-pale); border-radius:0;
}
.pr-part.vif{box-shadow:inset -3px 0 0 var(--bleu)}
.pr-prevu-txt{display:block; font-size:var(--t-legende); color:var(--texte-doux);
overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.pr-prevu-txt.pr-retard{color:var(--ambre-sombre); font-weight:600}
.pr-prevu{position:absolute; top:-3px; bottom:-3px; left:var(--x, 0); width:2px; margin-left:-1px;
background:var(--ambre-sombre); border-radius:var(--r-pt)}
.pr-rang[data-pr-qui]{cursor:pointer}
.pr-rang[data-pr-qui]:hover{background:var(--bleu-pale)}
.pr-rang[data-pr-qui]:focus-visible{outline:2px solid var(--bleu); outline-offset:2px}
.carte-cadre{display:flex; flex-direction:column; gap:var(--e3)}
.carte-cote{display:flex; flex-direction:column; min-width:0; gap:var(--e2)}
.carte-plan{min-width:0}
.carte-liste{display:flex; flex-direction:column; gap:var(--e2)}
.carte-fiche{
display:flex; gap:var(--e3); align-items:flex-start; cursor:pointer;
background:var(--carte); border:1px solid var(--bord);
border-radius:var(--r-md); padding:var(--e2) var(--e3);
touch-action:manipulation; -webkit-tap-highlight-color:transparent;
}
.carte-fiche:active{background:var(--bleu-pale)}
.cf-point{
flex:0 0 8px; width:8px; height:8px; border-radius:var(--r-max);
margin-top:var(--e1); background:var(--c, var(--gris-sombre));
}
.cf-txt{min-width:0; flex:1}
.cf-nom{
display:block; font-size:var(--t-corps); font-weight:700;
overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.cf-adr{
font-size:var(--t-second); color:var(--texte-doux);
overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.cf-bas{
margin-top:var(--e1); display:flex; align-items:baseline; gap:var(--e2);
min-width:0;
}
.cf-etat{font-size:var(--t-legende); font-weight:600; flex:none; color:var(--c, var(--texte-doux))}
.cf-ref{
font-size:var(--t-legende); color:var(--texte-doux);
overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.carte-reste{
font-size:var(--t-legende); color:var(--texte-doux); padding:0 var(--e1) var(--e1);
}
.carte-manquants{
background:var(--ambre-pale); border:1px solid var(--ambre-sombre);
border-radius:var(--r-md); padding:var(--e3) var(--e4);
}
.cm-titre{font-size:var(--t-second); font-weight:700; color:var(--ambre-sombre)}
.cm-mot{font-size:var(--t-legende); color:var(--ambre-sombre); margin-top:2px}
#carte-cherche{flex:1 1 220px; max-width:360px}
button.legende-etat{background:none; border:none; padding:2px var(--e1); cursor:pointer; color:inherit; font:inherit;
display:inline-flex; align-items:center; gap:var(--e1); border-radius:var(--r-pt); min-height:var(--h-compact)}
button.legende-etat[aria-pressed="false"]{text-decoration:line-through; color:var(--texte-doux)}
button.legende-etat:focus-visible{outline:2px solid var(--bleu)}
.tete-mois{
display:flex; align-items:center; gap:var(--e3);
margin-bottom:var(--e4); flex-wrap:wrap;
}
.mois-titre{flex:1; min-width:0}
.mois-nom{margin:0}
.mois-nom::first-letter{text-transform:uppercase}
.cache-visuel{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.mois-detail{font-size:var(--t-second); color:var(--texte-doux); margin-top:2px}
.mois-actions{align-items:center;flex:0 0 auto;display:flex;gap:var(--e2)}
.mois-actions button.icone{height:var(--h-compact); min-height:var(--h-compact); width:var(--h-compact)}
.mois-actions .principal{min-height:var(--h-compact); height:var(--h-compact); padding:0 var(--e4);
font-size:var(--t-second)}
.tab-cadre{
background:var(--carte); border:1px solid var(--bord);
border-radius:var(--r-md); overflow-x:auto; margin-bottom:var(--e4);
}
.tab-heures{width:100%; border-collapse:collapse; font-size:var(--t-second)}
.tab-heures th{
font-weight:inherit; text-align:right;
padding:var(--e3) var(--e3); white-space:nowrap;
border-bottom:1px solid var(--bord);
}
.tab-heures th.th-nom{text-align:left; padding-left:var(--e4)}
.tab-heures td{
padding:var(--e3); text-align:right; white-space:nowrap;
border-bottom:1px solid var(--bord);
font-variant-numeric:tabular-nums;
}
.tab-heures td.th-nom{text-align:left; padding-left:var(--e4); white-space:normal; min-width:180px}
.tab-heures tbody tr:last-child td{border-bottom:none}
.tab-heures tbody tr{cursor:pointer}
.tab-heures tbody tr:hover{background:var(--bleu-pale)}
.tab-nom{font-weight:600}
a.tab-nom{color:inherit;text-decoration:none}
.tab-qui{display:flex;align-items:center;gap:var(--e2)}
.tab-classe{color:var(--texte-doux); font-size:var(--t-legende); margin-left:var(--e2)}
.tab-parti{
margin-left:var(--e2);display:inline-flex;align-items:center;gap:var(--e1);flex:none;vertical-align:middle;
font-size:var(--t-legende);font-weight:600;line-height:1.5;letter-spacing:0;text-transform:none;
white-space:nowrap;padding:1px var(--e2);border-radius:var(--r-pt);background:var(--gris-pale);
color:var(--gris-sombre)
}
.tab-heures tr.partie td{color:var(--texte-doux)}
.tab-heures td.gras{font-weight:700}
.tab-heures td.en-avance{color:var(--vert-sombre); font-weight:600}
.tab-heures td.en-retard{color:var(--ambre-sombre); font-weight:600}  
.abs-legende{display:flex; flex-wrap:wrap; gap:var(--e2) var(--e4); margin:0 0 var(--e3);
font-size:var(--t-legende); color:var(--texte-doux)}
.abs-legende i{display:inline-block; width:12px; height:12px; border-radius:var(--r-pt);
margin-right:var(--e1); vertical-align:-2px}
.abs-mois{border-collapse:collapse; font-size:var(--t-legende); font-variant-numeric:tabular-nums}
.abs-mois th, .abs-mois td{border:1px solid var(--bord); text-align:center; padding:0; min-width:26px; height:28px}
.abs-mois thead th{color:var(--texte-doux); font-weight:600}
.abs-mois .th-nom{position:sticky; left:0; z-index:var(--z-colle); background:var(--carte);
text-align:left; padding:0 var(--e3); white-space:nowrap; font-size:var(--t-second); min-width:110px}
.abs-mois .abs-repos{background:var(--fond)}
.abs-vert{background:var(--vert-pale); color:var(--vert-sombre)}
.abs-ambre{background:var(--ambre-pale); color:var(--ambre-sombre)}
.abs-gris{background:var(--gris-pale); color:var(--texte-doux)}
.abs-mois td.abs-attente, .abs-legende i.abs-attente{
background-image:repeating-linear-gradient(135deg, transparent 0 4px, var(--bord-fort) 4px 5px)}
.abs-mois td.abs-demi{font-style:italic}
.abs-mois td[data-abs-cal]{cursor:pointer}
.abs-mois td[data-abs-cal]:focus-visible{outline:2px solid var(--bleu); outline-offset:-2px}
#abs-vue{margin-bottom:var(--e4)}
.pt-autres{display:flex; flex-wrap:wrap; justify-content:center; gap:var(--e2);
margin:calc(-1 * var(--e2)) 0 var(--e4)}
.pt-autres small{display:block; font-size:var(--t-legende); color:var(--texte-doux); font-weight:400}
.pt-jour{text-align:center; font-size:var(--t-second); color:var(--texte-doux); margin:var(--e1) 0 var(--e3)}
.pt-jour strong{color:var(--texte)}
.pt-oubli{display:flex; align-items:center; gap:var(--e3); flex-wrap:wrap}
.pt-oubli span{flex:1 1 200px}
details.jour-plie > summary{list-style:none; cursor:pointer}
details.jour-plie > summary::-webkit-details-marker{display:none}
details.semaine-pliee > summary{list-style:none; cursor:pointer; align-items:center}
details.semaine-pliee > summary::-webkit-details-marker{display:none}
details.semaine-pliee > summary > .ic{flex:none; width:16px; height:16px; color:var(--texte-doux);
transition:transform var(--m-court) var(--m-simple)}
details.semaine-pliee[open] > summary > .ic{transform:rotate(90deg)}
details.semaine-pliee[open] > summary{margin-bottom:var(--e2)}
.semaine-resume{margin-left:auto; font-size:var(--t-second); color:var(--texte-doux); white-space:nowrap;
font-variant-numeric:tabular-nums}
.jour-detail{display:flex; align-items:center; justify-content:space-between; gap:var(--e3);
flex-wrap:wrap; padding:0 0 var(--e3); border-bottom:1px solid var(--bord);
font-size:var(--t-second); color:var(--texte-doux)}
.jour-segments{font-variant-numeric:tabular-nums}
.signalements .sign-ligne{display:flex; gap:var(--e3); align-items:flex-start; justify-content:space-between;
flex-wrap:wrap; padding:var(--e3) 0; border-top:1px solid var(--bord)}
.signalements h2 + .sign-ligne{border-top:none}
.sign-quoi{flex:1 1 260px; min-width:0}
.sign-detail{margin-top:2px; font-variant-numeric:tabular-nums}
.sign-texte{margin-top:2px; color:var(--texte-doux); font-size:var(--t-second); white-space:pre-wrap; overflow-wrap:anywhere}
.sign-actions{display:flex; gap:var(--e2); flex-wrap:wrap}
.lien-texte{all:unset; cursor:pointer; color:inherit; font-weight:600; text-decoration:underline;
text-underline-offset:2px; font-variant-numeric:tabular-nums}
.lien-texte:focus-visible{outline:2px solid var(--bleu); outline-offset:2px; border-radius:var(--r-pt)}
@media (pointer:coarse){ .lien-texte{display:inline-block; padding-block:var(--e3)} }
.sign-reponse{display:flex; gap:var(--e1); align-items:flex-start; margin-top:var(--e1); font-size:var(--t-second)}
.sign-reponse .ic{flex:none; width:16px; height:16px; color:var(--vert-sombre)}
.th-tri{all:unset; cursor:pointer; font:inherit; color:inherit; letter-spacing:inherit; text-transform:inherit}
.th-tri:focus-visible{outline:2px solid var(--bleu); outline-offset:2px; border-radius:var(--r-pt)}
.tab-heures tfoot td{font-weight:700; border-top:2px solid var(--bord-fort); border-bottom:none}
.feuille-temps td.manque{background:var(--ambre-pale); color:var(--ambre-sombre)}
.feuille-temps tr.futur td{color:var(--texte-doux)}
.feuille-temps tbody tr.futur, .feuille-temps tbody tr.sous-total{cursor:default}
.feuille-temps tbody tr.futur:hover, .feuille-temps tbody tr.sous-total:hover{background:none}
.feuille-temps tr.jour-repos td{background:var(--fond)}
.feuille-temps tr.sous-total td{background:var(--fond); font-size:var(--t-legende); color:var(--texte-doux); text-align:left}
.feuille-temps .corrige{font-size:var(--t-legende); color:var(--texte-doux); margin-left:var(--e1); vertical-align:super}
.feuille-temps .note-jour{text-align:left; white-space:normal; color:var(--texte-doux); font-size:var(--t-legende); min-width:160px}
.pt-alerte{color:var(--ambre-sombre)}
.voisins{display:flex; justify-content:space-between; gap:var(--e2); margin:calc(-1 * var(--e2)) 0 var(--e3)}
.actions-ligne{display:flex; gap:var(--e2); flex-wrap:wrap; margin-bottom:var(--e4)}
.hs-mise{display:grid;gap:var(--e4);align-items:start}
.hs-cote{display:grid;gap:var(--e3);min-width:0}
.hs-cote > *{margin:0}
.hs-cote .fiche{padding:var(--e3) var(--e4)}
.hs-cote .fiche h2{margin-bottom:var(--e1)}
.hs-cote details.regle{margin:0 0 var(--e1)}
.hs-cote .ligne{font-size:var(--t-second);padding-block:var(--e1);gap:var(--e3)}
.hs-cote .ligne > span:last-child{white-space:nowrap;text-align:right;flex:none;max-width:none}
.hs-cote .actions-ligne > button{flex:1 1 auto}
@media (min-width:1320px){
.hs-mise{grid-template-columns:minmax(0,1fr) 280px}
.hs-cote{position:sticky;top:var(--e3);max-height:calc(100dvh - 2 * var(--e3));overflow-y:auto}
}
@media (min-width:720px){
.feuille-temps td{padding-block:var(--e1)}
.hs-feuille .feuille-temps th,.hs-feuille .feuille-temps td{padding-inline:var(--e2)}
.hs-feuille .feuille-temps .note-jour{min-width:120px}
.feuille-temps tr.jour-repos td,.feuille-temps tr.sous-total td{padding-block:2px}
}
.feuille-temps tbody tr.jour-ouvert td{background:var(--bleu-pale)}
.feuille-temps tbody tr.jour-ouvert td:first-child{box-shadow:inset 3px 0 0 var(--bleu)}
@keyframes ligne-corrigee{0%,50%{background:var(--vert-pale)}}
.feuille-temps tbody tr.vient-de-changer td{animation:ligne-corrigee 1.2s var(--m-simple)}
.j-voisins{display:flex;justify-content:space-between;gap:var(--e2);margin-bottom:var(--e2)}
.choix > .j-voisins > button{width:auto;min-width:0;margin:0;flex:none}
.choix > .j-ajout{width:auto;align-self:flex-start;margin:var(--e2) 0 0}
.choix > p.aide:empty{margin:0}
.j-pointage{display:inline-flex; align-items:center; gap:var(--e1)}
@media (max-width:719px){
.pr-rang{grid-template-columns:100px 1fr; gap:var(--e2)}
.pr-jeton{display:none}
.pr-cadre{padding:var(--e3)}
.mois-titre{flex:1 1 auto}
.mois-actions{flex:1 0 100%}
.mois-actions .principal{width:100%}
.tab-cadre{background:none; border:none; overflow:visible}
.tab-heures thead{display:none}
.tab-heures,.tab-heures tbody{display:block}
.tab-heures tr{
display:block;background:var(--carte);border:1px solid var(--bord);border-radius:var(--r-md);
padding:var(--e3) var(--e4);margin-bottom:var(--e2)
}
.tab-heures tr.partie{border-style:dashed}
.tab-heures td{border-bottom:none;padding:2px 0;text-align:right;display:flex;align-items:baseline;justify-content:space-between;gap:var(--e3)}
.tab-heures td::before{
content:attr(data-t); font-size:var(--t-second); color:var(--texte-doux);
text-align:left;
}
.tab-heures td.th-nom{
display:block; padding:0 0 var(--e2); font-size:var(--t-corps);
}
.tab-heures td.th-nom::before{content:none}
.tab-heures tfoot{display:block}
.feuille-temps .note-jour{min-width:0}
.feuille-temps td:empty{display:none}
}
@media (max-width:719px){
.tab-heures.feuille-temps{display:block;background:var(--carte);border:1px solid var(--bord);border-radius:var(--r-md);overflow:hidden}
.tab-heures.feuille-temps thead{display:block;background:var(--fond);border-bottom:1px solid var(--bord)}
.tab-heures.feuille-temps tr{
display:grid;grid-template-columns:88px repeat(4,minmax(0,1fr)) 40px;column-gap:2px;align-items:center;
margin:0;padding:var(--e1) var(--e3);border:none;border-radius:0;background:none;min-height:44px
}
.tab-heures.feuille-temps tbody tr + tr{border-top:1px solid var(--bord)}
.tab-heures.feuille-temps thead tr,.tab-heures.feuille-temps tr.futur{min-height:0;padding-block:var(--e2)}
.tab-heures.feuille-temps th,.tab-heures.feuille-temps td{display:block;padding:0;border:none;text-align:right;font-size:var(--t-second);white-space:nowrap;min-width:0}
.tab-heures.feuille-temps tbody td.th-nom{font-size:var(--t-legende)}
.tab-heures.feuille-temps .pt-alerte .ic{width:16px;height:16px}
.tab-heures.feuille-temps thead th{font-size:var(--t-legende);white-space:normal;line-height:1.2;text-transform:none;letter-spacing:0;font-weight:400}
.tab-heures.feuille-temps td::before{content:none}
.tab-heures.feuille-temps .th-nom{text-align:left;padding:0}
.tab-heures.feuille-temps th.note-jour{display:none}
.tab-heures.feuille-temps td:empty{display:block}
.tab-heures.feuille-temps td.note-jour{grid-column:1 / -1;text-align:left;white-space:normal}
.tab-heures.feuille-temps td.note-jour:empty{display:none}
.tab-heures.feuille-temps tr.jour-repos td{background:none}
.tab-heures.feuille-temps tr.jour-repos{background:var(--fond)}
.tab-heures.feuille-temps tr.sous-total{grid-template-columns:auto minmax(0,1fr) auto;background:var(--fond);min-height:0;padding-block:var(--e2)}
.tab-heures.feuille-temps tr.sous-total td{font-size:var(--t-legende);background:none}
.tab-heures.feuille-temps tr.sous-total td[colspan]{text-align:left;white-space:normal}
.tab-heures.feuille-temps tr.sous-total td:last-child{display:none}
.tab-heures.feuille-temps tbody tr.jour-ouvert{background:var(--bleu-pale);box-shadow:inset 3px 0 0 var(--bleu)}
.tab-heures.feuille-temps tbody tr.jour-ouvert td{background:none;box-shadow:none}
.tab-heures.feuille-temps tbody tr.vient-de-changer{animation:ligne-corrigee 1.2s var(--m-simple)}
.tab-heures.feuille-temps tbody tr.vient-de-changer td{animation:none}
.tab-heures.feuille-temps .corrige{margin-left:1px}
}
@media (max-width:360px){
.tab-heures.feuille-temps tbody td:not(.th-nom):not(.note-jour){font-size:var(--t-legende)}
}
.doc-tete{
display:flex; align-items:flex-end; gap:var(--e4);
margin-bottom:var(--e4); flex-wrap:wrap;
}
.doc-titre{flex:1; min-width:0}
.doc-chercher{display:flex; gap:var(--e2); margin:0 0 var(--e4)}
.doc-chercher input{flex:1 1 auto; min-width:0}
.doc-chercher select{flex:0 0 auto; width:auto}
.doc-compte{font-size:var(--t-second); color:var(--texte-doux); margin-top:2px}
.doc-tete .principal{flex:0 0 auto; min-height:var(--h-compact); height:var(--h-compact);
padding:0 var(--e4); font-size:var(--t-second)}
.doc-corps{min-width:0}
.carte-accueil{
height:300px; border-radius:var(--r-md); overflow:hidden;
border:1px solid var(--bord); background:var(--carte); cursor:pointer;
position:relative; z-index:0;
}
.carte-accueil-tete{display:flex; justify-content:space-between; align-items:baseline; margin:var(--e4) 0 var(--e2)}
.ca-point span{display:inline-block; padding:2px var(--e1); border-radius:var(--r-max); background:var(--bleu-plein);
color:var(--sur-couleur); font-size:var(--t-legende); font-weight:700; white-space:nowrap; border:2px solid var(--carte)}
@media (prefers-color-scheme:dark){
:root:not([data-theme="clair"]) .carte-accueil .leaflet-tile-pane{filter:brightness(.75) invert(.92) hue-rotate(180deg)}
}
:root[data-theme="sombre"] .carte-accueil .leaflet-tile-pane{filter:brightness(.75) invert(.92) hue-rotate(180deg)}
.tuile .t-valeur{
font-family:var(--police-titres);font-weight:600;line-height:1.15;font-variant-numeric:tabular-nums;
font-size:var(--t-ecran);letter-spacing:-.01em
}
.t-unite{font-family:var(--police-corps);font-size:var(--t-second);font-weight:500;color:var(--texte-doux);letter-spacing:0}
.tuile.raccourci{
flex-direction:row; align-items:center; gap:var(--e2);
min-height:52px; padding:0 var(--e4);
}
.tuile.raccourci .t-pic{flex:none; display:flex; align-items:center}
.tuile.raccourci .t-pic .ic{width:20px;height:20px;
color:var(--bleu)}
.tuile.raccourci .t-lien{
font-size:var(--t-corps); font-weight:600; min-width:0;
overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.tuile.raccourci .signal{flex:none; margin-left:auto}
.tuile.deplacable{touch-action:none;cursor:grab;border-style:dashed}
.tuile.deplacable:active{cursor:grabbing}
.tuile.saisie{opacity:.55;transform:scale(1.03);border-color:var(--bleu);
border-style:solid;box-shadow:var(--elev-2)}
.liste{display:flex;flex-direction:column;gap:var(--e1)}
.chantier{
background:var(--carte);border:1px solid var(--bord);border-radius:var(--r-md);
padding:var(--e3) var(--e4);cursor:pointer;
display:flex;flex-direction:column;gap:var(--e2)
}
.chantier:active{transform:scale(.995)}
.tete{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--e3)}
.gauche{min-width:0}
.gauche.avec-pastille{display:flex;align-items:center;gap:var(--e3)}
.gauche.avec-pastille > div{min-width:0}
.fiche[data-abs] > .tete{flex-wrap:wrap}
.fiche[data-abs] .gauche.avec-pastille{flex:1 1 200px}
.abs-etats{display:flex;flex-wrap:wrap;gap:var(--e1);justify-content:flex-end;align-items:center}
.groupe-doc .compte-doux{white-space:nowrap}
.groupe-doc > summary.tete{align-items:center}
.abs-type{display:block;font-size:var(--t-legende);color:var(--texte-doux);margin-bottom:1px}
.ref.date{font-family:inherit}
.ref{
font-family:var(--police-code);
font-size:var(--t-legende);color:var(--texte-doux);letter-spacing:.02em;
display:block;margin-bottom:2px;font-variant-numeric:tabular-nums
}
.ch-haut{
display:flex; align-items:center; justify-content:space-between;
gap:var(--e2); min-width:0;
}
.ch-haut .ref{margin-bottom:0}
.titre{
line-height:1.35;min-width:0;
display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2;
overflow:hidden;
}
.meta{
display:flex;align-items:center;gap:var(--e2);flex-wrap:wrap;
font-size:var(--t-second);color:var(--texte-doux);line-height:1.3
}
.meta-sep{font-style:normal;color:var(--texte-doux);margin:0 var(--e1)}
.meta-devis{
font-family:var(--police-code);
font-size:var(--t-legende);color:var(--texte-doux);
font-variant-numeric:tabular-nums
}
.equipe{display:flex;align-items:center;gap:var(--e1);flex-wrap:wrap}
.compte-texte{font-size:var(--t-legende);color:var(--texte-doux);margin-left:var(--e1)}
.fiche{background:var(--carte);border:1px solid var(--bord);border-radius:var(--r-md);
padding:var(--pad-carte);margin-bottom:var(--e3)}
.fiche h2{margin-bottom:var(--e1)}
.chevron{align-self:center;color:var(--texte-doux);flex:none;display:inline-flex}
.chevron .ic{width:16px;height:16px}
.fiche.cliquable .tete{align-items:center}
.groupe-doc > summary{list-style:none;cursor:pointer}
.groupe-doc > summary::-webkit-details-marker{display:none}
.groupe-doc > summary .chevron{transition:transform var(--m-court)}
.groupe-doc[open] > summary .chevron{transform:rotate(90deg)}
@media (max-width:719px){
.filtres.defile-x{
mask-image:linear-gradient(90deg,var(--scene) 85%,transparent);
-webkit-mask-image:linear-gradient(90deg,var(--scene) 85%,transparent)
}
}
.fc-coord-ligne{display:flex;flex-wrap:wrap;align-items:center;gap:var(--e1) var(--e2);padding:var(--e1) 0}
.fc-coord-ligne > .ic{width:20px;height:20px;color:var(--texte-doux)}
.fc-coord-val{flex:1 1 150px;min-width:0;overflow-wrap:break-word}
.fc-coord-gestes{display:flex;gap:2px;flex:none;margin-left:auto}
.compte-desactive .titre{color:var(--texte-doux)}
.comptes-partis > summary{margin:var(--e4) 0 var(--e2)}
.lx-ligne{align-items:center}
.lx-gestes{display:flex;align-items:center;gap:var(--e1)}
button.interrupteur{position:relative;flex:none;width:52px;min-height:var(--h-normal);padding:0;border:0;
background:none;cursor:pointer}
button.interrupteur::before{content:"";position:absolute;left:4px;right:4px;top:50%;height:26px;
transform:translateY(-50%);border-radius:var(--r-max);background:var(--bord-fort);
transition:background var(--m-court) var(--m-simple)}
button.interrupteur::after{content:"";position:absolute;left:7px;top:50%;width:20px;height:20px;
transform:translateY(-50%);border-radius:50%;background:var(--carte);
transition:transform var(--m-court) var(--m-simple)}
button.interrupteur[aria-checked="true"]::before{background:var(--bleu-plein)}
button.interrupteur[aria-checked="true"]::after{transform:translate(18px,-50%)}
button.interrupteur:active{transform:none}
button.interrupteur:focus-visible{outline:2px solid var(--bleu);outline-offset:2px}
@media (hover:hover){ button.interrupteur:hover:not(:disabled){background:none} }
.cadenas{display:inline-flex;align-items:center;color:var(--texte-doux)}
.cadenas .ic{width:16px;height:16px}
.relit-liste{opacity:.55;transition:opacity var(--m-court)}
.relit-liste[aria-busy="true"]{
background-image:linear-gradient(90deg, transparent, var(--bleu), transparent);
background-size:40% 2px;background-repeat:no-repeat;animation:relit-filet 1.4s ease-in-out infinite
}
@keyframes relit-filet{from{background-position:-40% 0}to{background-position:140% 0}}
@media (prefers-reduced-motion:reduce){.relit-liste[aria-busy="true"]{animation:none;background-position:50% 0}}
.section{margin:var(--e4) 0 var(--e2)}
.ligne{display:flex;justify-content:space-between;gap:var(--e4);
padding:var(--e2) 0;border-bottom:1px solid var(--bord);font-size:var(--t-corps)}
.ligne:last-child{border-bottom:none}
.ligne span:first-child{color:var(--texte-doux);flex:1 1 auto;min-width:0}
.ligne span:last-child{text-align:right;min-width:0;word-break:break-word;flex:0 1 auto;
max-width:60%;font-variant-numeric:tabular-nums}
.nombre{font-variant-numeric:tabular-nums}
.montant{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
@media (min-width:720px){
.fiche-infos .ligne{justify-content:flex-start}
.fiche-infos .ligne span:first-child{flex:0 0 190px;max-width:none}
.fiche-infos .ligne span:last-child{text-align:left;flex:1 1 auto}
}
.ligne.jour-repos span:first-child{color:var(--texte-doux)}
.ligne.jour-repos{background:var(--fond)}
.ligne span:last-child strong{white-space:nowrap}
button{
font-family:inherit;font-size:var(--t-corps);padding:var(--e2) var(--e4);border-radius:var(--r-md);
border:1px solid var(--bord-fort);background:var(--carte);color:var(--texte);touch-action:manipulation;
-webkit-tap-highlight-color:transparent;cursor:pointer;min-height:44px;
transition:transform var(--m-doigt) var(--m-simple)
}
button:active{transform:scale(.96);transition-duration:0s}
.fil:active, .devis-ligne:active, .pastille-devis:active,
.filtre:active{transform:scale(.97);transition-duration:0s}
.tuile:active{transform:scale(.97);background:var(--bleu-pale);transition-duration:0s}
button.principal{background:var(--bleu-plein);border-color:var(--bleu-plein);color:var(--sur-couleur);font-weight:500}
button.large{width:100%}
:where(button:has(> .ic:first-child)),.avec-ic{display:inline-flex;align-items:center;justify-content:center;gap:var(--e2)}
button.discret{border-color:transparent;background:none;color:var(--bleu);
font-weight:600;padding-inline:var(--e3)}
button.discret:active{background:var(--bleu-pale);color:var(--bleu-sombre)}
button.icone{min-width:var(--h-normal);padding:0;display:inline-flex;
align-items:center;justify-content:center;color:var(--texte-doux)}
button.compact{min-height:var(--h-compact);padding:0 var(--e3);font-size:var(--t-second)}
button.grand{min-height:var(--h-grand);font-size:var(--t-titre);font-weight:600}
button.pilule{border-radius:var(--r-max)}
@media (hover:hover){
button:hover:not(:disabled){background:var(--fond);border-color:var(--texte-doux)}
button.principal:hover:not(:disabled){background:var(--bleu-fonce-plein);border-color:var(--bleu-fonce-plein)}
button.discret:hover:not(:disabled){background:var(--fond);border-color:transparent;text-decoration:underline}
button.danger:hover:not(:disabled){background:var(--alerte-texte);color:var(--carte)}
.fil:hover, .fiche[data-reg]:hover, .fiche.cliquable:hover, .tuile[data-va]:hover,
.res-ligne:hover, .carte-fiche:hover{border-color:var(--bleu-clair)}
.filtre:hover{border-color:var(--texte-doux)}
.doc-rubriques .filtre:not(.actif):hover{background:var(--fond)}
}
button:disabled, button[aria-disabled="true"]{
background:var(--gris-pale);border-color:var(--bord);color:var(--texte-doux);
cursor:not-allowed;transform:none
}
button.principal:disabled, button.danger:disabled{
background:var(--bord-fort);border-color:var(--bord-fort);color:var(--sur-couleur)
}
button.discret:disabled{background:none;border-color:transparent;color:var(--texte-doux)}
button.occupe:disabled{cursor:progress}
.actions{display:flex;gap:var(--e2);flex-wrap:wrap;margin-top:var(--e3)}
.liste-actions button{min-height:var(--h-compact);padding:0 var(--e3);font-size:var(--t-second)}
.deux-boutons{display:flex;gap:var(--e2)}
.deux-boutons button{flex:1}
a.lien{color:var(--bleu);text-decoration:none}
input,select,textarea{
font-family:inherit;font-size:16px;width:100%;padding:var(--e3) var(--e3);
border:1px solid var(--bord-fort);border-radius:var(--r-md);
background:var(--carte);color:var(--texte);min-height:44px
}
input:focus,select:focus,textarea:focus{outline:2px solid var(--bleu);outline-offset:-1px}
::placeholder{color:var(--texte-doux);opacity:1}
label{display:block;font-size:var(--t-second);color:var(--texte-doux);margin:var(--e3) 0 var(--e1)}
.connexion{max-width:340px;margin:8vh auto;padding:0 var(--e4);text-align:center}
.connexion img{height:44px;margin:0 auto var(--e5)}
.carte-connexion{background:var(--carte);border:1px solid var(--bord);
border-radius:var(--r-md);padding:var(--e5);text-align:left;box-shadow:var(--ombre)}
.titre-connexion{margin:0 0 var(--e1);color:var(--texte)}
.connexion-titre{font-size:var(--t-second);color:var(--texte-doux);margin:calc(-1 * var(--e3)) 0 var(--e4)}
.connexion-aide{font-size:var(--t-legende);color:var(--texte-doux);margin-top:var(--e4)}
.champ-mdp{position:relative}
.champ-mdp input{padding-right:calc(var(--h-normal) + var(--e2))}
.voir-mdp{position:absolute;right:2px;top:50%;transform:translateY(-50%);min-height:var(--h-compact);width:44px;color:var(--texte-doux)}
.voir-mdp:active{transform:translateY(-50%) scale(.96)}
.voir-mdp[aria-pressed="true"]{color:var(--bleu)}
.aide-ok{color:var(--vert-sombre)}
.aide-ok::before{content:"\2713\00a0"}
.aide-ko{color:var(--alerte-texte)}
.aide-ko::before{content:"\2715\00a0"}
#n2-regle:empty{display:none}
.avis-info{background:var(--bleu-pale);color:var(--bleu-sombre);border-radius:var(--r-md);
padding:var(--e2) var(--e3);font-size:var(--t-second);margin-top:var(--e3)}
.pl-prochaine{font-size:var(--t-second);color:var(--texte);margin:var(--e2) 0 0;text-wrap:balance}
.pj-rien{font-size:var(--t-corps);color:var(--texte);margin:var(--e1) 0}
.pj-ligne{display:flex;gap:var(--e2);align-items:center;font-size:var(--t-corps);margin-top:var(--e1)}
.pj-ligne-h{color:var(--texte-doux);flex:0 0 auto;min-width:42px;font-variant-numeric:tabular-nums}
.pj-ligne-t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pj-ligne-p{display:flex;gap:var(--e1);flex:0 0 auto}
.avis-doux{background:var(--ambre-pale);color:var(--ambre-sombre);border-radius:var(--r-md);
padding:var(--e2) var(--e3);font-size:var(--t-second);margin-top:var(--e2)}
.alerte{background:var(--alerte-fond);color:var(--alerte-texte);border-radius:var(--r-md);
padding:var(--e2) var(--e3);font-size:var(--t-second);margin-top:var(--e3)}
.info{color:var(--texte-doux);font-size:var(--t-corps);text-align:center;padding:var(--e6) 0}
.etat-vide{
display:flex;flex-direction:column;align-items:center;text-align:center;
padding:var(--e6) var(--e5);gap:var(--e1);color:var(--texte-doux)
}
.etat-vide-pic{
width:52px;height:52px;border-radius:50%;background:var(--bleu-pale);
color:var(--bleu);display:flex;align-items:center;justify-content:center;
margin-bottom:var(--e2)
}
.etat-vide-pic .ic{width:24px;height:24px}
.etat-vide-titre{font-family:var(--police-titres);letter-spacing:-.01em;font-weight:700;color:var(--texte);font-size:var(--t-corps)}
.etat-vide-sous{font-size:var(--t-second);max-width:34ch;text-wrap:balance}
.etat-vide button{margin-top:var(--e3)}
.tirer{
height:var(--h, 0);overflow:hidden;display:flex;align-items:center;justify-content:center;
flex:0 0 auto;transition:height var(--m-court) ease-out
}
.tirer-rond{
width:22px;height:22px;border-radius:50%;
border:2.5px solid var(--bord-fort);border-top-color:var(--bleu);
opacity:.55;transition:transform var(--m-court),opacity var(--m-court)
}
.tirer.pret .tirer-rond{opacity:1;transform:rotate(180deg)}
.tirer.tourne .tirer-rond{animation:tirer-tourne .8s linear infinite}
@keyframes tirer-tourne{to{transform:rotate(360deg)}}
.succes{background:var(--vert-pale);color:var(--vert-sombre);border-radius:var(--r-md);
padding:var(--e2) var(--e3);font-size:var(--t-second);margin-top:var(--e3)}
.aide{color:var(--texte-doux);font-size:var(--t-second);margin:0 0 var(--e3)}
.choix > .section{margin-top:var(--e4)}
details.plus{margin-top:var(--e3)}
details.plus > summary{
list-style:none;cursor:pointer;color:var(--bleu);font-size:var(--t-second);
font-weight:600;padding:var(--e2) 0;display:flex;align-items:center;gap:var(--e2);
min-height:var(--h-compact);-webkit-tap-highlight-color:transparent
}
details.plus > summary::-webkit-details-marker{display:none}
details.plus > summary::before{
content:"";width:7px;height:7px;border-right:2px solid currentColor;
border-bottom:2px solid currentColor;transform:rotate(-45deg);
transition:transform var(--m-court);margin-left:2px
}
details.plus[open] > summary::before{transform:rotate(45deg)}
.panneau .choix.long > .principal,
.panneau .choix.long > .pan-pied > .principal{
position:sticky;bottom:calc(-22px - env(safe-area-inset-bottom));z-index:2;
box-shadow:0 -12px 16px -6px var(--carte-elevee),var(--elev-1)
}
.principal.colle{
position:sticky;bottom:calc(70px + env(safe-area-inset-bottom));z-index:2;
box-shadow:var(--elev-1)
}
@media (min-width:1060px){.principal.colle{position:static;box-shadow:none}}
button:focus-visible,a:focus-visible,[tabindex]:focus-visible,
.filtre:focus-visible,summary:focus-visible{
outline:2px solid var(--bleu);outline-offset:2px
}
button:focus:not(:focus-visible){outline:none}
.fiche[data-reg]:active,.fiche[data-compte]:active,.fiche[data-sign]:active,
.trouvaille:active,.entree:active,.vignette:active{
background:var(--bleu-pale)
}
.fiche.partie{background:var(--fond);border-style:dashed;
border-left:3px solid var(--bord-fort)}
.fiche.partie .titre{color:var(--texte-doux)}
.fiche.partie .ref{color:var(--texte-doux);font-style:italic}
#fond-modale{
position:fixed; left:0; right:0; top:0; bottom:0; z-index:var(--z-modale);
width:100%; height:100dvh;
max-width:none; max-height:none; margin:0; padding:0;
border:none; background:none; overflow:visible; color:var(--texte);
display:none;
}
#fond-modale[open]{
display:flex; align-items:flex-end; justify-content:center;
}
#fond-modale::backdrop{
background:var(--voile); opacity:1;
transition:opacity var(--m-long) var(--m-simple),
display var(--m-long) allow-discrete,
overlay var(--m-long) allow-discrete;
}
#fond-modale:not([open])::backdrop{opacity:0}
@starting-style{ #fond-modale[open]::backdrop{opacity:0} }
.panneau{background:var(--carte-elevee);border:1px solid var(--bord);border-radius:var(--r-md) var(--r-md) 0 0;padding:var(--e4);
width:100%;max-width:840px;max-height:80dvh;overflow-y:auto;
padding-bottom:calc(var(--e5) + env(safe-area-inset-bottom));
transform:translateY(0);
transition:transform var(--m-long) var(--m-entree)}
#fond-modale.entre .panneau{transform:translateY(100dvh)}
#fond-modale.part .panneau{transform:translateY(100dvh)}
#fond-modale.part::backdrop{opacity:0}
.panneau h3{margin-bottom:var(--e3)}
.pan-tete{display:flex;align-items:flex-start;gap:var(--e2);margin:calc(-1 * var(--e2)) calc(-1 * var(--e2)) var(--e2) 0}
.pan-tete h3{flex:1;min-width:0;margin:0;padding-top:var(--e2);text-wrap:balance}
.pan-fermer{flex:none;min-height:var(--h-normal);width:var(--h-normal);color:var(--texte-doux)}
.pan-fermer .ic{width:20px;height:20px}
#pan:focus{outline:none}
.choix{display:flex;flex-direction:column;gap:var(--e2)}
.retour{background:none;border:none;color:var(--bleu);padding:0;
font-size:var(--t-second);margin-bottom:var(--e3);min-height:auto}
.titre-barre{
display:flex;align-items:center;gap:var(--e2);min-height:44px;
margin:0 0 var(--e3);flex:0 0 auto
}
.titre-retour{
flex:0 0 44px;width:44px;height:44px;min-height:44px;margin-left:calc(-1 * var(--e2));
padding:0;border:none;background:none;color:var(--bleu);
border-radius:var(--r-max);display:inline-flex;align-items:center;
justify-content:center;cursor:pointer;-webkit-tap-highlight-color:transparent
}
.titre-retour svg{width:24px;height:24px}
.titre-retour:active{background:var(--bleu-pale)}
.titre-corps{flex:1;min-width:0}
.titre-nom{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.titre-sous{
font-size:var(--t-legende);color:var(--texte-doux);margin-top:1px;
overflow:hidden;text-overflow:ellipsis;white-space:nowrap
}
.titre-actions{flex:0 0 auto;display:flex;align-items:center;gap:var(--e2)}
.titre-actions button{
white-space:nowrap;
min-height:var(--h-compact);height:var(--h-compact);padding:0 var(--e4);font-size:var(--t-second)
}
@media (max-width:719px){
body.ecran-secondaire header{display:none}
body.ecran-secondaire .titre-barre{
position:sticky;top:0;z-index:var(--z-colle);background:var(--carte);
border-bottom:1px solid var(--bord);
margin:0 calc(-1 * var(--e4)) var(--e3);padding:env(safe-area-inset-top) var(--e2) 0 var(--e2);
min-height:calc(50px + env(safe-area-inset-top))
}
body.ecran-secondaire .titre-barre .titre-retour{margin-left:0}
body.ecran-secondaire .titre-barre.conv-tete{border-bottom:none;margin-bottom:0}
}
#app.glisse-retour{
position:relative;z-index:1;background:var(--fond);will-change:transform;
box-shadow:var(--elev-3);
transform:var(--gx, none);transition:var(--glisse-fin, none)
}
header{
position:sticky;top:0;z-index:var(--z-colle);background:var(--carte);border-bottom:1px solid var(--bord);
margin-bottom:var(--e4);padding-top:env(safe-area-inset-top);view-transition-name:entete
}
::view-transition-old(root){animation:var(--m-long) ease-out both ecran-sortir}
::view-transition-new(root){animation:var(--m-long) cubic-bezier(.2,.8,.25,1) both ecran-entrer}
html[data-sens="retour"]::view-transition-old(root){animation-name:ecran-sortir-retour}
html[data-sens="retour"]::view-transition-new(root){animation-name:ecran-entrer-retour}
html[data-sens="onglet"]::view-transition-old(root){animation:var(--m-court) ease-out both ecran-fondu-sortir}
html[data-sens="onglet"]::view-transition-new(root){animation:var(--m-court) ease-out both ecran-fondu-entrer}
@media (min-width:1060px){
.duo-liste{view-transition-name:liste-conversations}
html:has(.duo-vue)::view-transition-old(root){animation:var(--m-court) ease-out both ecran-fondu-sortir}
html:has(.duo-vue)::view-transition-new(root){animation:var(--m-court) ease-out both ecran-fondu-entrer}
::view-transition-old(liste-conversations):only-child{animation:var(--m-long) ease-out both ecran-sortir}
html[data-sens="retour"]::view-transition-old(liste-conversations):only-child{animation-name:ecran-sortir-retour}
html[data-sens="onglet"]::view-transition-old(liste-conversations):only-child{animation:var(--m-court) ease-out both ecran-fondu-sortir}
::view-transition-new(liste-conversations):only-child{animation:var(--m-court) ease-out both ecran-fondu-entrer}
}
html[data-sens="liste"]::view-transition-old(root),html[data-sens="liste"]::view-transition-new(root){animation:none}
@keyframes ecran-fondu-entrer{from{opacity:0}}
@keyframes ecran-fondu-sortir{to{opacity:0}}
@keyframes ecran-entrer{from{opacity:0;transform:translateX(32px)}}
@keyframes ecran-sortir{to{opacity:0;transform:translateX(-18px)}}
@keyframes ecran-entrer-retour{from{opacity:0;transform:translateX(-32px)}}
@keyframes ecran-sortir-retour{to{opacity:0;transform:translateX(18px)}}
@media (prefers-reduced-motion:reduce){
::view-transition-old(root),::view-transition-new(root){animation:none}
}
#apercu-photo{
width:auto; height:auto; max-width:none; max-height:none; margin:0; padding:0;
border:none; color:inherit; overflow:hidden;
position:fixed; left:0; right:0; top:0; bottom:0; z-index:var(--z-scene);
display:none; align-items:center; justify-content:center;
background:var(--scene)
}
#apercu-photo.ouvert{display:flex}
#apercu-photo[open], #plateau[open], #annoter[open]{display:flex}
#apercu-photo::backdrop, #plateau::backdrop, #annoter::backdrop{background:none}
#apercu-photo img{
touch-action:none;transform-origin:center center;transition:transform .08s linear;
transform:var(--zoom, none);will-change:transform;max-width:100%;max-height:100dvh;object-fit:contain;
display:block
}
.apercu-fermer{
position:absolute; right:12px; min-height:auto;
top:calc(12px + env(safe-area-inset-top));
width:44px; height:44px; padding:0; border:none; border-radius:50%;
background:rgba(0,0,0,.5); color:var(--sur-couleur); font-size:var(--t-titre); line-height:1
}
.apercu-legende{
position:absolute; left:0; right:0; padding:0 var(--e4); text-align:center;
bottom:calc(14px + env(safe-area-inset-bottom));
font-size:var(--t-second); color:var(--scene-legende); text-shadow:0 1px 4px rgba(0,0,0,.9)
}
.apercu-echec{color:var(--scene-alerte); margin-top:var(--e1)}
.apercu-infos{color:var(--scene-doux); font-size:var(--t-legende); margin-top:var(--e1)}
#plateau{
width:auto; height:auto; max-width:none; max-height:none; margin:0; padding:0;
border:none; color:inherit; overflow:hidden;
position:fixed; left:0; right:0; top:var(--haut-utile, 0px); z-index:var(--z-plateau);
height:var(--hauteur-utile, 100dvh);
display:none; flex-direction:column; background:var(--scene); color:var(--scene-texte)
}
#plateau.ouvert{display:flex}
.pl-haut{
display:flex; align-items:center; gap:var(--e2);
padding:calc(var(--e2) + env(safe-area-inset-top)) var(--e2) var(--e2);
background:var(--scene-barre)
}
.pl-haut h2{margin:0; flex:1; text-align:center; color:var(--scene-legende)}
.pl-outils{display:flex; gap:var(--e1)}
.pl-icone{
width:44px; height:44px; min-height:44px; padding:0; border:none; border-radius:50%;
background:none; color:var(--scene-legende); display:flex; align-items:center; justify-content:center
}
.pl-icone .ic{width:24px; height:24px}
.pl-scene{flex:1; min-height:0; display:flex; align-items:center; justify-content:center; padding:var(--e2); overflow:hidden; touch-action:none}
.pl-scene img{max-width:100%; max-height:100%; object-fit:contain; border-radius:var(--r-pt); -webkit-user-select:none; user-select:none;
transform:var(--zoom, none); transform-origin:center; transition:transform var(--m-court)}
.pl-scene img.zoomee{transition:none; cursor:grab}
.pl-impossible{display:flex; flex-direction:column; align-items:center; gap:var(--e2); max-width:28ch; margin:0; text-align:center; color:var(--scene-doux)}
.pl-impossible .ic{width:24px; height:24px}
.pl-reglages{display:grid; gap:var(--e2); padding:var(--e2) var(--e4) 0}
.pl-reglages .et-choix{display:flex; justify-content:center; gap:var(--e2); flex-wrap:nowrap}
.pl-reglages .et-pastille{background:none; color:var(--scene-texte); border-color:var(--scene-doux)}
#pl-legende{width:100%; background:var(--scene-carte); color:var(--scene-legende); border:1px solid var(--scene-carte); border-radius:var(--r-max)}
#pl-legende::placeholder, #pl-message::placeholder{color:var(--scene-doux)}
.pl-bande{display:flex; gap:var(--e2); padding:var(--e3) var(--e4); overflow-x:auto; scrollbar-width:none}
.pl-bande .pl-vignette{
flex:none; width:52px; height:52px; min-height:52px; border-radius:var(--r-md); overflow:hidden;
border:2px solid transparent; background:var(--scene-carte)
}
.pl-bande .pl-vignette img, .pl-bande .pl-attente{width:100%; height:100%; object-fit:cover; border-radius:0}
.pl-bande .pl-vignette.choisie{border-color:var(--scene-legende)}
.pl-bande .pl-ajout{display:flex; align-items:center; justify-content:center; color:var(--scene-legende); border:2px dashed var(--scene-doux); background:none}
.pl-attente{
display:block; width:62px; height:62px; border-radius:var(--r-md);
background:linear-gradient(90deg, var(--gris-pale) 25%, var(--bord) 37%, var(--gris-pale) 63%);
background-size:400% 100%; animation:onde 1.4s ease-in-out infinite
}
.pl-attente.pl-sans-apercu{
animation:none; background:var(--gris-pale); color:var(--texte-doux);
display:flex; align-items:center; justify-content:center
}
.pl-attente.pl-grande-attente{width:min(70%, 320px); height:auto; aspect-ratio:3 / 4}
.pl-bas{
display:flex; align-items:flex-end; gap:var(--e2); padding:var(--e2) var(--e3);
padding-bottom:calc(var(--e3) + env(safe-area-inset-bottom)); background:var(--scene-barre)
}
#pl-message{
flex:1; min-width:0; resize:none; max-height:120px; height:var(--hauteur, auto); font-family:inherit; font-size:16px;
padding:var(--e2) var(--e3); border-radius:var(--r-md); border:1px solid var(--scene-carte);
background:var(--scene-carte); color:var(--scene-legende)
}
.pl-envoi{position:relative; flex:none; width:52px; height:52px; min-height:52px; padding:0; border-radius:50%; margin-left:auto;
display:flex; align-items:center; justify-content:center}
.pl-envoi b{position:absolute; top:-4px; right:-4px; min-width:20px; height:20px; padding:0 var(--e1);
border-radius:var(--r-max); background:var(--scene-legende); color:var(--scene); font-size:var(--t-legende); line-height:20px; text-align:center}
.pl-dest{
display:flex;align-items:center;gap:var(--e2);margin:0 var(--e3);padding:var(--e2) var(--e3);
border-radius:var(--r-md);background:var(--scene-carte);color:var(--scene-texte)
}
.pl-dest-dit{display:flex;align-items:center;gap:var(--e2);min-width:0;flex:1}
.pl-dest-dit > span{display:grid;min-width:0}
.pl-dest-dit b{color:var(--scene-legende);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pl-dest-dit small{font-size:var(--t-legende);color:var(--scene-doux)}
.pl-dest-dit .ic{width:20px;height:20px;flex:none}
.pl-dest-changer{flex:none;border:none;background:none;color:var(--scene-legende);font-weight:600;min-height:var(--h-normal)}
.pl-dest-choisir{
display:flex;align-items:center;justify-content:center;gap:var(--e2);width:100%;min-height:var(--h-normal);
border:2px dashed var(--scene-doux);background:none;color:var(--scene-legende);font-weight:600
}
.pl-choix{flex:1;min-height:0;display:flex;flex-direction:column;gap:var(--e2);padding:var(--e3)}
#pl-cherche{width:100%;background:var(--scene-carte);color:var(--scene-legende);border:1px solid var(--scene-carte)}
#pl-cherche::placeholder{color:var(--scene-doux)}
.pl-choix-liste{flex:1;min-height:0;overflow-y:auto;display:grid;align-content:start;gap:var(--e1)}
.pl-choix-titre{margin:var(--e2) 0 0;color:var(--scene-doux)}
.pl-choix-ligne{
display:grid;gap:2px;width:100%;min-height:var(--h-normal);padding:var(--e2) var(--e3);text-align:left;
border:none;border-radius:var(--r-md);background:var(--scene-carte);color:var(--scene-legende)
}
.pl-choix-ligne small{font-size:var(--t-legende);color:var(--scene-doux)}
.pl-choix-vide{color:var(--scene-doux);margin:var(--e3) 0}
.pl-suggestion{
display:flex;align-items:center;gap:var(--e2);width:100%;min-height:var(--h-normal);padding:var(--e1) var(--e3);
border:1px dashed var(--scene-doux);border-radius:var(--r-max);background:none;color:var(--scene-doux);
font-size:var(--t-legende);text-align:left
}
.pl-suggestion span{flex:1;min-width:0;color:var(--scene-legende);font-size:var(--t-second)}
.pl-suggestion b{flex:none;color:var(--scene-legende)}
.pl-lieu{margin:0; padding:0 var(--e4) var(--e2); font-size:var(--t-legende); color:var(--scene-doux); text-align:center}
.pl-vignette{position:relative; flex:none; padding:0; border:none;
background:none; min-height:auto; line-height:0}
#annoter{
width:auto; height:auto; max-width:none; max-height:none; margin:0; padding:0;
border:none; color:inherit; overflow:hidden;
position:fixed; left:0; right:0; top:0; bottom:0; z-index:var(--z-annoter);
display:none; flex-direction:column; background:var(--scene)
}
#annoter.ouvert{display:flex}
.an-zone{
flex:1; display:flex; align-items:center; justify-content:center;
overflow:hidden; padding:var(--e2)
}
.an-zone canvas{
max-width:100%; max-height:100%; touch-action:none; display:block;
border-radius:var(--r-pt)
}
.an-barre{
display:flex; align-items:center; justify-content:space-between; gap:var(--e2);
padding:var(--e3) var(--e4); background:var(--scene-barre);
flex-wrap:wrap
}
.an-barre.bas{padding-bottom:calc(var(--e3) + env(safe-area-inset-bottom))}
.an-barre.haut{padding-top:calc(var(--e3) + env(safe-area-inset-top))}
.an-outils{display:flex; align-items:center; gap:var(--e2)}
.an-bouton{background:rgba(255,255,255,.12); color:var(--sur-couleur); border:none}
.an-bouton.actif{background:var(--bleu-plein)}
.an-bouton:disabled{opacity:var(--estompe)}
.an-couleur{
width:28px; height:28px; border-radius:50%; padding:0; min-height:auto;
border:2px solid rgba(255,255,255,.3); background:var(--c)
}
.an-couleur.actif{border-color:#fff; transform:scale(1.15)}
@media (max-width:360px){
.enveloppe{padding-left:var(--e2);padding-right:var(--e2)}
.barre{padding-left:var(--e2);padding-right:var(--e2)}
.bulle{max-width:90%}
}
@media (min-width:1060px){
body.accueil-large .accueil-tete{
flex-direction:row; align-items:flex-end; gap:var(--e4);
}
body.accueil-large .accueil-tete .jour{flex:1; min-width:0}
body.accueil-large .pointer-vite{
max-width:280px; flex:0 0 auto; margin-bottom:var(--e4);
padding:0 var(--e4);
}
body.accueil-large .resume{max-width:calc(50% - 4.5px)}
.doc-cadre{display:grid; grid-template-columns:220px 1fr; gap:var(--e5);
align-items:start}
.doc-rubriques .filtres{
flex-direction:column; align-items:stretch; gap:2px;
overflow:visible; flex-wrap:nowrap;
}
.doc-rubriques .filtre{
justify-content:space-between; width:100%; text-align:left;
min-height:var(--h-normal); padding:var(--e1) var(--e2) var(--e1) var(--e3);
border:none; border-radius:var(--r-pt); background:none; color:var(--texte)
}
.doc-rubriques .filtre.actif{background:var(--bleu-pale);color:var(--bleu-sombre);font-weight:600;
box-shadow:inset 3px 0 0 var(--bleu)}
.doc-rubriques .compte{margin-left:auto}
.doc-rubriques .filtre.actif .compte{background:var(--carte);color:var(--bleu-sombre)}
body.accueil-large .tuiles .resume{max-width:none}
body.accueil-large .deux-colonnes{
display:grid; grid-template-columns:1.35fr 1fr; align-items:start;
}
body.accueil-large .tuiles{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start}
}
.accueil-3{display:flex;flex-direction:column;gap:var(--e4);margin-bottom:var(--e4)}
.a3-gauche,.a3-milieu,.a3-droite{display:contents}
.accueil-3 .accueil-tete{order:1}
.accueil-3 #grille{order:2;margin:0}
.a3-gauche > :not(.accueil-tete){order:3}
.a3-milieu > *{order:4}
.a3-droite .bloc-portes{order:5}
body.accueil-large .a3-milieu .resume,body.accueil-large .a3-droite .resume{max-width:none}
@media (min-width:1060px){
.accueil-3{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:var(--e4) var(--e5);align-items:start}
.a3-milieu,.a3-droite{display:flex;flex-direction:column;gap:var(--e4);min-width:0;grid-column:2}
.a3-gauche{display:flex;flex-direction:column;gap:var(--e4);min-width:0;grid-row:1 / span 2}
body.accueil-large .a3-droite #grille{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:1320px){
.accueil-3{grid-template-columns:minmax(0,1.1fr) minmax(0,1.15fr) minmax(0,.85fr)}
.a3-gauche{grid-row:auto}
.a3-milieu{grid-column:2}
.a3-droite{grid-column:3}
body.accueil-large .a3-gauche .accueil-tete{flex-direction:column;align-items:stretch;gap:var(--e3)}
body.accueil-large .a3-gauche .pointer-vite{max-width:none;width:100%;margin-bottom:0}
body.accueil-large .a3-gauche .accueil-tete .accueil-presences{width:100%;max-width:none}
.a3-droite .bloc-portes .portes{grid-template-columns:1fr}
}
@media (min-width:720px){
.tuiles{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
}
@media (min-width:1060px){
.pl-haut,.pl-reglages,.pl-bande,.pl-lieu,.pl-bas{
width:100%;max-width:820px;margin-left:auto;margin-right:auto
}
}
.carte {
height: 60vh;
min-height: 320px;
border-radius:var(--r-md);
overflow: hidden;
background: var(--gris-pale);
position: relative;
z-index: 0;
}
.carte-barre {
display: flex;
align-items: center;
justify-content: space-between;
gap:var(--e3);
margin:var(--e2) 0;
flex-wrap: wrap;
}
.carte-legende {
display: flex;
flex-wrap: wrap;
gap:var(--e2) var(--e4);
margin:var(--e2) 0;
font-size:var(--t-legende);
color: var(--texte-doux);
align-items: center;
}
.legende-compte{color:var(--texte-doux);font-variant-numeric:tabular-nums}
.pastille-carte {
display: inline-block;
width: 11px; height: 11px;
border-radius:50%;
vertical-align: middle;
margin-right:var(--e1);
background: var(--c, var(--gris-sombre));
}
.carte-credit { font-size:var(--t-legende); color: var(--texte-doux); margin:2px 0 var(--e4); }
.bulle-video{
width:100%;max-width:300px;max-height:420px;border-radius:var(--r-md);
background:#000;display:block;margin-top:var(--e2)
}
.leaflet-popup-content { font-family: inherit; margin:var(--e3) var(--e4); }
@media (max-height: 520px) {
.carte { height: 74vh; }
}
.amas {
width: 44px; height: 44px; background: var(--c, var(--bleu-plein));
border-radius:50%;
border: 3px solid #fff;
box-shadow:var(--elev-2);
color:var(--sur-couleur);
font-weight: 600;
font-size:var(--t-corps);
display: flex;
align-items: center;
justify-content: center;
}
.legende-note { color: var(--texte-doux); font-size:var(--t-second); }
#galerie-lieu{
position:fixed; left:0; right:0; top:0; bottom:0; z-index:var(--z-scene);
display:none; flex-direction:column;
background:var(--scene); overflow-y:auto;
padding:calc(var(--h-grand) + var(--e2) + env(safe-area-inset-top)) var(--e4)
calc(var(--e5) + env(safe-area-inset-bottom));
}
#galerie-lieu.ouvert{display:flex}
.galerie-titre{color:var(--scene-texte); margin-bottom:var(--e4)}
.galerie-grille{
display:grid;
grid-template-columns:repeat(auto-fill, minmax(140px, 1fr));
gap:var(--e3);
}
.galerie-cliche{
padding:0; border:none; margin:0; background:var(--scene-carte);
border-radius:var(--r-md); overflow:hidden; cursor:pointer; text-align:left;
}
.galerie-cliche img{
width:100%; aspect-ratio:1; object-fit:cover; display:block;
}
.galerie-nom{
display:block; padding:var(--e2) var(--e2); color:var(--scene-texte); font-size:var(--t-second);
white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.cliche-retirer::after{
content:"";
position:absolute;
top:-7px; right:-7px; bottom:-7px; left:-7px;
}
@media (prefers-reduced-motion:reduce){
*, *::before, *::after{
animation-duration:.01ms !important;
animation-iteration-count:1 !important;
transition-duration:.01ms !important;
scroll-behavior:auto !important;
}
.tuile:active{transform:none}
button:active{transform:none}
}
.libelle-groupe{
display:block;font-size:var(--t-second);color:var(--texte-doux);
margin:var(--e3) 0 var(--e1);font-weight:600
}
#nav{
view-transition-name:nav;position:fixed;left:0;right:0;bottom:0;z-index:var(--z-nav);display:none;
background:var(--carte);border-top:1px solid var(--bord);padding-bottom:env(safe-area-inset-bottom)
}
body.avec-nav:not(.nav-cachee) #nav{
display:grid; grid-auto-flow:column; grid-auto-columns:1fr
}
body.avec-nav:not(.nav-cachee):not(.fige) #app{padding-bottom:calc(var(--h-grand) + var(--e2))}
body.avec-nav:not(.nav-cachee).fige #app{
height:calc(var(--hauteur-utile, 100dvh) - 62px)
}
.nav-onglet{
position:relative;
display:flex; flex-direction:column; align-items:center; gap:2px;
padding:var(--e2) 2px var(--e2); min-height:56px;
background:none; border:none; border-radius:0;
color:var(--texte-doux); cursor:pointer;
touch-action:manipulation; -webkit-tap-highlight-color:transparent;
}
.nav-pic{line-height:0; display:flex; align-items:center; justify-content:center}
.nav-lib{font-size:var(--t-legende); font-weight:600; letter-spacing:.005em}
.nav-onglet[aria-current="page"]{color:var(--bleu)}
.nav-onglet[aria-current="page"]::before{
content:""; position:absolute; top:0; left:22%; right:22%;
height:3px; background:var(--bleu-plein); border-radius:0 0 var(--r-pt) var(--r-pt);
}
.nav-onglet:active{background:var(--bleu-pale)}
.nav-puce{
top:4px;right:calc(50% - 20px);min-width:20px;height:20px;padding:0 var(--e2);border-radius:var(--r-max);
background:var(--signal);color:var(--sur-signal);font-size:var(--t-legende);font-weight:600;
display:inline-flex;align-items:center;justify-content:center;line-height:1;
font-variant-numeric:tabular-nums;position:absolute
}
@media (min-width:1060px){
:root{--largeur:min(1500px, 100vw - 48px);--rail:232px}
body.rail-replie{--rail:64px}
#nav{
top:0; right:auto; bottom:0; width:var(--rail);
border-top:none; border-right:1px solid var(--bord);
padding:var(--e2) var(--e2) calc(var(--e2) + env(safe-area-inset-bottom));
}
body.avec-nav #nav,
body.avec-nav:not(.nav-cachee) #nav{
display:flex; flex-direction:column; gap:2px;
overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin;
}
body.avec-nav #app,
body.avec-nav.fige #app{
padding-left:var(--rail); padding-bottom:0;
height:var(--hauteur-utile, 100dvh)
}
body.avec-nav:not(.fige) #app{height:auto}
body.avec-nav #bandeau-hors-ligne{padding-left:calc(var(--rail) + var(--e3))}
body.avec-nav header{display:none}
.nav-tete{display:flex;align-items:center;justify-content:space-between;gap:var(--e2);
padding:2px 0 var(--e3) var(--e2);min-height:46px}
.nav-tete img{height:28px;width:auto}
.nav-replier{min-height:var(--h-compact);height:var(--h-compact);width:var(--h-compact);color:var(--texte-doux)}
.nav-replier .ic{width:20px;height:20px}
.nav-chercher{
display:flex;align-items:center;gap:var(--e2);min-height:var(--h-normal);padding:0 var(--e2) 0 var(--e2);margin:0 0 var(--e2);
border:1px solid var(--bord);border-radius:var(--r-md);background:var(--fond);
color:var(--texte-doux);font-size:var(--t-second);font-weight:400;text-align:left;cursor:pointer
}
.nav-chercher:hover{border-color:var(--bord-fort);color:var(--texte-doux)}
.nav-chercher .ic{width:16px;height:16px;flex:none}
.nav-chercher-mot{flex:1;min-width:0}
.nav-portes{display:flex;flex-direction:column;gap:2px;flex:1 0 auto}
.nav-section{padding:var(--e4) var(--e2) var(--e1)}
.nav-onglet{
flex-direction:row;justify-content:flex-start;align-items:center;gap:var(--e3);
min-height:var(--h-normal);padding:0 var(--e2);border-radius:var(--r-pt);color:var(--texte-doux);text-align:left
}
.nav-onglet:hover{background:var(--fond);color:var(--texte)}
.nav-pic .ic{width:20px;height:20px}
.nav-lib{
flex:1;min-width:0;font-size:var(--t-corps);font-weight:500;letter-spacing:0;
overflow:hidden;text-overflow:ellipsis;white-space:nowrap
}
.nav-onglet[aria-current="page"]{background:var(--bleu-pale);color:var(--bleu-sombre)}
.nav-onglet[aria-current="page"] .nav-lib{font-weight:600}
.nav-onglet[aria-current="page"]::before{display:none}
.nav-pied{display:flex;flex-direction:column;gap:2px;border-top:1px solid var(--bord);
padding-top:var(--e2);margin-top:var(--e2)}
.nav-pied .bascule-vue{margin:2px 0 var(--e1)}
.nav-moi{
display:flex;align-items:center;gap:var(--e2);min-height:44px;padding:var(--e1) var(--e2);border:none;
background:none;border-radius:var(--r-md);text-align:left;color:var(--texte);font:inherit;cursor:pointer
}
.nav-moi:hover{background:var(--fond)}
.nav-moi .pastille{font-size:var(--t-legende)}
.nav-moi-nom{display:flex;flex-direction:column;min-width:0;font-size:var(--t-second);font-weight:600;line-height:1.25;
overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.nav-moi-nom small{font-weight:400;color:var(--texte-doux);font-size:var(--t-legende)}
body.rail-replie #nav{padding-left:var(--e2);padding-right:var(--e2)}
body.rail-replie .nav-lib,
body.rail-replie .nav-chercher-mot,
body.rail-replie .nav-chercher kbd,
body.rail-replie .nav-moi-nom,
body.rail-replie .nav-tete .logo-lien,
body.rail-replie .nav-pied .bascule-vue{display:none}
body.rail-replie .nav-tete{justify-content:center;padding:2px 0 var(--e3)}
body.rail-replie .nav-onglet,
body.rail-replie .nav-moi{justify-content:center;padding:0;position:relative}
body.rail-replie .nav-chercher{justify-content:center;padding:0}
body.rail-replie .nav-section{font-size:0;padding:0;height:1px;background:var(--bord);margin:var(--e2) var(--e2)}
}
.nav-tel{display:none}
.nav-relais{display:none}
.eq-onglets{display:flex;align-items:center;gap:var(--e2);flex-wrap:wrap;margin:0 0 var(--e3)}
.eq-onglets .onglets{flex:1 1 auto}
@media (max-width:1059px){
#nav .nav-pc{display:none}
.nav-tel{display:inline}
.nav-onglet .nav-relais{display:inline-flex}
.nav-portes{display:contents}
.nav-onglet.hors-barre{display:none}
.nav-onglet{order:var(--ordre-barre, 0)}
.nav-onglet[data-barre-actif]{color:var(--bleu)}
.nav-onglet[data-barre-actif]::before{
content:""; position:absolute; top:0; left:22%; right:22%;
height:3px; background:var(--bleu-plein); border-radius:0 0 var(--r-pt) var(--r-pt);
}
}
.mention-plein{
font-size:var(--t-legende); color:var(--texte-doux); margin-bottom:var(--e3);
}
.resume{
background:var(--carte);
border:1px solid var(--bord);
border-radius:var(--r-md);
overflow:hidden;
margin-bottom:var(--e3);
}
.res-ligne{
display:flex; align-items:center; gap:var(--e3); width:100%;
padding:var(--e3) var(--e3); min-height:var(--ligne-liste);
background:none; border:none; border-radius:0;
border-bottom:1px solid var(--bord);
text-align:left; font:inherit; color:var(--texte); cursor:pointer;
touch-action:manipulation; -webkit-tap-highlight-color:transparent;
}
.res-ligne:last-child{border-bottom:none}
.res-ligne:active{background:var(--bleu-pale)}
.res-pic{flex:none; width:23px; display:flex; align-items:center; justify-content:center}
.res-txt{flex:1; min-width:0; display:flex; flex-direction:column; gap:1px}
.res-nom{
font-size:var(--t-corps); font-weight:600;
display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.res-sous{
font-size:var(--t-second); color:var(--texte-doux);
overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.res-titre{margin:2px 0 var(--e2);display:flex;align-items:center;gap:var(--e2)}
.res-ligne.alerte{box-shadow:inset 3px 0 0 var(--rouge-neuf)}
.res-ligne.a-traiter{box-shadow:inset 3px 0 0 var(--ambre-sombre)}
body.avec-panneaux .enveloppe{
padding-left:0; padding-right:0
}
.duo{
flex:1; min-height:0;
display:flex; align-items:stretch;
gap:0;
}
.duo-liste{
flex:0 1 clamp(360px, 28vw, 460px);
min-width:0; min-height:0;
display:flex; flex-direction:column;
border-right:1px solid var(--bord);
padding:0 var(--e3) 0 var(--e4);
}
.duo-vue{
flex:1;
min-width:0; min-height:0;
display:flex; flex-direction:column;
padding:0 var(--e4);
overflow:hidden;
}
.duo-attente{
flex:1;
display:flex; align-items:center; justify-content:center;
color:var(--texte-doux); font-size:var(--t-corps); text-align:center; padding:0 var(--e5);
}
.fil-ouvert{
background:var(--bleu-pale);
box-shadow:inset 3px 0 0 var(--bleu);
}
body.avec-panneaux .fils-cadre{flex:1; min-height:0}
.lien-flux:empty, .envoi-cours:empty{display:none}
#bandeau-hors-ligne{
background:var(--ambre-pale);color:var(--ambre-sombre);
font-size:var(--t-legende);font-weight:600;text-align:center;
padding:var(--e1) var(--e3);letter-spacing:.01em
}
.bn-mot{flex:1;min-width:0;line-height:1.35}
#bandeau-notif button{
min-height:var(--h-compact);padding:0 var(--e3);font-size:var(--t-second);
border-radius:var(--r-pt);flex:none
}
#bandeau-notif button.discret{color:var(--bleu-sombre)}
#bandeau-notif{
background:var(--bleu-pale);color:var(--bleu-sombre);display:flex;align-items:center;gap:var(--e3);
flex-wrap:wrap;padding:var(--e2) var(--e3);font-size:var(--t-second);position:fixed;z-index:var(--z-offre);
left:var(--e3);right:var(--e3);bottom:calc(76px + env(safe-area-inset-bottom, 0px));
border-radius:var(--r-md);box-shadow:var(--elev-2);animation:bn-monte var(--m-long) var(--m-entree) both
}
@keyframes bn-monte{from{transform:translateY(12px);opacity:0}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){#bandeau-notif{animation:none}}
@media (min-width:1060px){
#bandeau-notif{left:auto;right:var(--e5);bottom:var(--e5);max-width:420px}
body.avec-nav #bandeau-notif{padding-left:var(--e3)}
}
#bandeau-notif.dans-flux{position:static;margin:var(--e4) 0 0;box-shadow:none;animation:none;
border-radius:var(--r-md);max-width:none}
.a3-droite > #bandeau-notif.dans-flux{margin:0 0 var(--e4)}
@media (max-width:1059px){.a3-droite > #bandeau-notif.dans-flux{order:6;margin:0}}
[hidden]{display:none !important}
.vue-ecran{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:var(--e4) 0 var(--e6);container-type:inline-size}
@container (max-width:1059px){
.vue-ecran .fc-grille{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)}
.vue-ecran .fc-grille > .fc-col:last-child{grid-column:1 / -1}
}
body.avec-panneaux .duo-liste .liste{
flex:1; min-height:0; overflow-y:auto; overflow-x:hidden
}
body.avec-panneaux .duo-liste .filtres{flex:0 0 auto}
@media (min-width:1060px){
#rg-liste{max-width:900px}
.enveloppe > .cherche{max-width:720px}
.carte-cadre{
flex-direction:row; align-items:stretch; gap:var(--e4);
height:calc(100dvh - 220px); min-height:460px;
}
.carte-cote{flex:0 0 352px; overflow:hidden; order:-1}
.carte-liste{overflow-y:auto; padding-right:var(--e1)}
.carte-plan{flex:1; display:flex; flex-direction:column}
.carte-plan .carte{flex:1; height:auto; min-height:0}
}
.chr-bloc[data-serre="1"] .chr-detail{display:none}
.chr-bloc[data-serre="1"].deplie .chr-detail{display:block}
.chr-plus{
position:absolute; right:5px; bottom:2px;
font-size:var(--t-second); line-height:1; color:var(--texte-doux);
pointer-events:none;
}
.chr-bloc[data-serre="1"]{cursor:pointer}
.chr-bloc[data-serre="1"]:hover{border-color:var(--bleu)}
.chr-bloc.deplie{
left:0;
width:100%;
height:auto;
min-height:0;
z-index:6;
overflow:visible;
border-color:var(--bleu);
box-shadow:var(--elev-2);
}
.chr-bloc.deplie .chr-t{white-space:normal}
.chr-bloc.deplie .chr-plus{transform:rotate(180deg)}
.chr-bloc.deplie .chr-m{white-space:normal; overflow:visible}
@media (min-width:1060px){
body.gabarit-plein .enveloppe{max-width:1700px}
}
@media (min-width:1060px){
body.gabarit-lecture .enveloppe,
body.gabarit-travail .enveloppe{max-width:1700px}
:where(body.gabarit-travail .enveloppe) > *,
:where(body.gabarit-lecture .enveloppe) > .titre-barre{max-width:1180px;margin-inline-end:auto}
body.gabarit-lecture .enveloppe > :not(.titre-barre){max-width:760px;margin-inline-end:auto}
.grille-cartes{display:grid;grid-template-columns:repeat(auto-fill, minmax(340px, 1fr));gap:var(--e3);align-items:start}
.grille-cartes > .fiche{margin:0}
}
.pointer-vite{
width:100%;
min-height:var(--h-grand);
margin-bottom:var(--e3);
font-size:var(--t-titre);
font-weight:600;
border-radius:var(--r-md);
transition:background-color var(--m-court) var(--m-simple), border-color var(--m-court) var(--m-simple);
}
.photo-chantier{
display:flex;align-items:center;justify-content:center;gap:var(--e2);width:100%;min-height:var(--h-grand);
margin-bottom:var(--e3);border:2px solid var(--bleu);border-radius:var(--r-md);
background:var(--bleu-pale);color:var(--bleu-sombre);font-size:var(--t-titre);font-weight:600
}
.photo-chantier .ic{width:24px;height:24px}
button.principal.pointer-vite.fait{
background:var(--vert-sombre);
border-color:var(--vert-sombre);
color:var(--carte);
}
.pointer-vite.fini{
background:var(--gris-pale);
border-color:var(--bord);
color:var(--texte-doux);
opacity:1;
}
.devis-carte{
border:1px solid var(--bord);
border-left:3px solid var(--bleu);
border-radius:var(--r-md);
padding:var(--e2) var(--e3);
margin-bottom:var(--e2);
}
.devis-tete{display:flex; align-items:center; gap:var(--e2); flex-wrap:wrap}
.devis-num{
font-family:var(--police-code);
font-size:var(--t-second); font-weight:600;
}
.devis-role{font-size:var(--t-legende); color:var(--texte-doux)}
.devis-titre{font-size:var(--t-corps); font-weight:600; line-height:1.3; margin-top:var(--e1)}
.devis-bas{
display:flex; align-items:baseline; justify-content:space-between;
gap:var(--e2); margin-top:var(--e1); font-size:var(--t-second); color:var(--texte-doux);
}
.devis-carte [data-devis-pdf]{margin-top:var(--e2)}
.devis-releve{font-size:var(--t-legende); color:var(--texte-doux); margin-top:var(--e1)}
.leaflet-container .leaflet-popup-content-wrapper{
background:var(--carte);
color:var(--texte);
border:1px solid var(--bord);
border-radius:var(--r-md);
box-shadow:var(--elev-2);
padding:0;
}
.leaflet-container .leaflet-popup-content{
font-family:inherit;
margin:0;
padding:var(--e3) var(--e4);
line-height:1.45;
color:var(--texte);
}
.leaflet-container .leaflet-popup-tip{
background:var(--carte);
box-shadow:none;
}
.leaflet-container a.leaflet-popup-close-button{
color:var(--texte-doux);
width:30px; height:30px;
font-size:var(--t-titre); line-height:28px;
}
.leaflet-container a.leaflet-popup-close-button:hover{color:var(--texte)}
.pop{display:flex; flex-direction:column; gap:var(--e1)}
.pop-tete{
display:flex; align-items:flex-start; justify-content:space-between;
gap:var(--e3);
}
.pop-gauche{min-width:0}
.pop-ref{
font-family:var(--police-code);
font-size:var(--t-legende); color:var(--texte-doux); letter-spacing:.02em;
display:block; margin-bottom:2px; font-variant-numeric:tabular-nums;
}
.pop-titre{font-size:var(--t-corps); font-weight:600; line-height:1.35}
.pop-ou{
font-size:var(--t-second); color:var(--texte-doux);
margin-top:var(--e2); line-height:1.4; white-space:normal;
}
.pop-client{font-size:var(--t-second); color:var(--texte-doux)}
.pop-adresse{font-size:var(--t-second); color:var(--texte-doux); white-space:normal}
.pop-vignette{
width:100%; border-radius:var(--r-md); margin-bottom:var(--e2);
display:block; cursor:pointer;
}
.pop-actions{display:flex; gap:var(--e2); margin-top:var(--e2)}
.pop-actions button{flex:1; min-height:var(--h-compact); font-size:var(--t-second); padding:0 var(--e3)}
.pop-liste{
display:flex; flex-direction:column; gap:2px;
margin-top:var(--e2); max-height:260px; overflow-y:auto;
}
.pop-ligne{
display:flex; align-items:center; gap:var(--e2); width:100%;
padding:var(--e2) var(--e2); min-height:44px;
background:none; border:none; border-radius:var(--r-md);
text-align:left; font:inherit; color:var(--texte); cursor:pointer;
}
.pop-ligne:active{background:var(--bleu-pale)}
.pop-ligne-txt{flex:1; min-width:0; display:flex; flex-direction:column}
.pop-ligne-nom{
font-size:var(--t-corps); font-weight:600;
overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.pop-ligne-sous{
font-size:var(--t-second); color:var(--texte-doux);
overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.legende-etat{
display:inline-flex; align-items:center; gap:var(--e1);
white-space:nowrap;
}
.choix .tache-ligne{padding-left:2px; align-items:center}
.tache-case::after{
content:""; position:absolute; top:-8px; right:-8px; bottom:-8px; left:-8px;
}
.coche-trait{
width:20px; height:20px; display:block; overflow:visible;
fill:none; stroke:var(--carte); stroke-width:1.75;
stroke-linecap:round; stroke-linejoin:round; pointer-events:none;
}
.coche-trait path{
stroke-dasharray:24; stroke-dashoffset:24;
transition:stroke-dashoffset var(--m-long) var(--m-simple);
}
.tache-case.cochee .coche-trait path{stroke-dashoffset:0}
.tache-case{flex:none;width:28px;height:28px;min-height:28px;padding:0;margin-top:1px;border:2px solid var(--bord-fort);border-radius:var(--r-md);background:var(--carte);color:transparent;font-size:16px;font-weight:700;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;overflow:visible;position:relative;transition:background var(--m-court) var(--m-simple),
border-color var(--m-court) var(--m-simple),
transform var(--m-doigt) var(--m-simple)}
.tache-case:active{transform:scale(.92); transition-duration:0s}
.tache-case.cochee{background:var(--vert-sombre);border-color:var(--vert-sombre);color:var(--carte);animation:cocher var(--m-long) var(--m-entree)}
@keyframes cocher{
40%{transform:scale(1.14)}
100%{transform:scale(1)}
}
.tache-corps{flex:1; min-width:0; display:flex; flex-direction:column; gap:2px}
.tache-lib{font-size:var(--t-corps); line-height:1.35}
.tache-lib b{font-variant-numeric:tabular-nums}
.tache-ligne .tache-lib{
text-decoration:line-through;
text-decoration-thickness:2px;
text-decoration-color:transparent;
transition:text-decoration-color var(--m-long) var(--m-simple),
color var(--m-long) var(--m-simple);
}
.tache-ligne.faite .tache-lib{
color:var(--vert-sombre);
text-decoration-color:var(--vert-sombre);
}
.tache-ligne{
display:flex;gap:var(--e3);padding:var(--e2) 2px var(--e2) var(--e4);align-items:flex-start;border-radius:var(--r-pt);
transition:background var(--m-long) var(--m-simple)
}
.tache-ligne.faite{background:var(--vert-pale)}
.suivi-etat{display:flex; align-items:center; gap:var(--e3); margin-bottom:var(--e4)}
.suivi-point{
flex:none; width:14px; height:14px; border-radius:50%;
background:var(--gris-sombre);
}
.suivi-point.c-vert{background:var(--vert-sombre)}
.suivi-point.c-ambre{background:var(--ambre-sombre)}
.suivi-point.c-rouge{background:var(--alerte-texte)}
.suivi-phrase{font-size:16px; font-weight:600}
.suivi-faits .ligne{
display:flex; align-items:baseline; justify-content:space-between;
gap:var(--e3); padding:var(--e2) 0; border-bottom:1px solid var(--bord);
font-size:var(--t-corps);
}
.suivi-faits .ligne:last-child{border-bottom:none}
.suivi-valeur{
color:var(--texte-doux); text-align:right;
font-variant-numeric:tabular-nums;
}
.suivi-note{font-size:var(--t-second); color:var(--texte-doux); margin-top:var(--e2)}
.bonr-chantier{padding:var(--e3) var(--e4)}
.bonr-ligne{display:flex;gap:var(--e3);padding:var(--e1) 0;font-size:var(--t-corps)}
.bonr-quoi{flex:0 0 76px;color:var(--texte-doux);font-size:var(--t-second);padding-top:2px}
.bonr-reserve{padding:var(--e3) var(--e4);margin-bottom:var(--e2)}
.bonr-reserve-tete{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--e1)}
.bonr-reserve-tete .discret{min-height:var(--h-compact)}
.bonr-texte{margin:0 0 var(--e2)}
.bonr-levee{margin:0}
.bonr-photos{display:flex;flex-wrap:wrap;gap:var(--e2);margin-top:var(--e2)}
.bonr-photo{position:relative;width:72px;height:72px;border-radius:var(--r-pt);overflow:hidden;background:var(--gris-pale)}
.bonr-photo img{width:100%;height:100%;object-fit:cover;display:block}
.bonr-photo button{
position:absolute;top:2px;right:2px;width:24px;height:24px;min-height:0;padding:0;border:none;
border-radius:50%;background:rgba(0,0,0,.55);color:var(--sur-couleur);font-size:16px;line-height:24px
}
.bonr-photo.plus{
display:flex;align-items:center;justify-content:center;border:1.5px dashed var(--bord-fort);
background:var(--carte);color:var(--bleu);cursor:pointer
}
.bonr-photo.plus .ic{width:24px;height:24px}
.bonr-pad{position:relative;margin:var(--e2) 0 var(--e3) var(--e2)}
.bonr-pad canvas{
display:block;width:100%;height:150px;touch-action:none;background:#fff;
border:1.5px dashed var(--bord-fort);border-radius:var(--r-md)
}
.bonr-pad canvas.signee{border-style:solid;border-color:var(--bleu)}
.bonr-pad .bonr-effacer{position:absolute;top:6px;right:6px;min-height:var(--h-compact);padding:0 var(--e2);font-size:var(--t-legende)}
.bonr-mention{position:absolute;left:10px;bottom:6px;font-size:var(--t-legende);color:var(--texte-doux)}
.bonr-legal{font-size:var(--t-legende);line-height:1.45;margin-top:var(--e3);margin-bottom:calc(var(--h-grand) + var(--e6))}
.bonr-dernier{font-size:var(--t-second);color:var(--texte-doux);margin:0 0 var(--e2);display:flex;align-items:center;gap:var(--e2);flex-wrap:wrap}
.bonr-dernier .discret{min-height:var(--h-compact);padding:0 var(--e2)}
.bonr-relire{width:100%; margin:0 0 var(--e3)}
.bonr-apercu p{margin:var(--e1) 0}
.bulle-coche{margin-left:var(--e1);display:inline-flex;vertical-align:-3px;color:var(--texte-doux);cursor:default}
.bulle-coche .ic{width:16px;height:16px}
.bulle-coche.lue{color:var(--bleu)}
.bulle-progres{height:3px;border-radius:var(--r-trait);background:var(--bord);margin-top:var(--e2);overflow:hidden}
.bulle-progres i{display:block;height:100%;width:var(--l, 0);background:var(--bleu-plein);transition:width var(--m-court) linear}
.conv.depot-ici .conv-messages{box-shadow:inset 0 0 0 3px var(--bleu);border-radius:var(--r-md)}
.conv-vue.depot-ici{box-shadow:inset 0 0 0 3px var(--bleu);border-radius:var(--r-md)}
.conv-onglets.depot-ici{position:relative}
.conv-onglets.depot-ici::after{
content:attr(data-depot-ici);position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;
padding:0 var(--e3);border-radius:var(--r-md);background:var(--bleu-plein);color:var(--sur-couleur);
font-size:var(--t-second);font-weight:600;text-align:center;pointer-events:none
}
.frappe{font-size:var(--t-legende);color:var(--texte-doux);padding:2px var(--e3);font-style:italic}
.frappe-liste{color:var(--bleu)}
#titre-conv{display:block;max-width:100%}
.presence{font-weight:600;color:var(--vert-sombre)}
.presence::before,.membre.en-ligne .membre-la::before{
content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--vert-sombre);
margin-right:var(--e1);vertical-align:1px
}
.presence:not([hidden]) + #lieu-conv:not([hidden]):not(:empty)::before{content:" · ";color:var(--texte-doux);font-weight:400}
.membre-la{display:none}
.membre.en-ligne .membre-la{display:block;font-size:var(--t-legende);font-weight:600;color:var(--vert-sombre)}
.info-en-ligne{font-size:var(--t-second);font-weight:600;color:var(--vert-sombre);margin:var(--e2) 0 0}
button.vers-le-bas{
flex:0 0 auto;align-self:flex-end;position:relative;z-index:3;
width:44px;height:44px;margin:calc(-1 * var(--h-grand)) var(--e4) var(--e2) 0;
background:var(--carte-elevee);color:var(--bleu);border-color:var(--bord);box-shadow:var(--elev-2)
}
.vers-le-bas-compte{position:absolute;top:-6px;right:-4px}
.bulle-survol{
display:none;position:absolute;top:-15px;right:6px;
background:var(--carte);border:1px solid var(--bord);border-radius:var(--r-max);
padding:1px var(--e1);box-shadow:var(--elev-1);z-index:2
}
.bulle.moi .bulle-survol{right:auto;left:6px}
.bulle-survol button{
border:0;background:transparent;font-size:var(--t-corps);line-height:1;padding:var(--e1) var(--e1);
min-height:0;border-radius:var(--r-max);cursor:pointer;color:var(--texte)
}
.bulle-survol button:hover{background:var(--fond)}
.bulle-survol button svg{width:16px;height:16px;vertical-align:middle}
@media (hover:hover) and (pointer:fine){
.bulle:hover .bulle-survol{display:flex}
.mode-selection .bulle:hover .bulle-survol{display:none}
}
.bulle-corps:focus-visible > .bulle-survol,.bulle-survol:focus-within{display:flex}
.mode-selection .bulle{cursor:pointer}
.bulle.msg-cochee .bulle-corps{outline:2px solid var(--bleu);outline-offset:1px}
.barre-selection{
display:flex;gap:var(--e2);align-items:center;flex-wrap:nowrap;flex:0 0 auto;
padding:var(--e2) var(--e2);margin:var(--e1) 0;border-radius:var(--r-md);background:var(--bleu-pale)
}
.barre-selection b{margin-right:auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--t-second)}
.barre-selection button{flex:none;white-space:nowrap;padding:var(--e1) var(--e2);font-size:var(--t-legende)}
.tr-liste{display:flex;flex-direction:column;gap:var(--e1);max-height:50vh;overflow:auto;margin:var(--e2) 0}
.tr-fil{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:1px}
.tr-fil span{font-size:var(--t-legende);color:var(--texte-doux)}
.tr-fil.actif{border-color:var(--bleu);background:var(--bleu-pale)}
.saisie-outil#plus-saisie{font-size:var(--t-ecran);line-height:1;font-weight:500}
.fs-accuse{
display:flex;align-items:center;gap:var(--e2);flex-wrap:wrap;margin-top:var(--e2);padding:var(--e1) var(--e2);
border-radius:var(--r-pt);background:var(--ambre-pale);color:var(--ambre-sombre);font-size:var(--t-legende)
}
.fs-accuse.fait{background:var(--vert-pale);color:var(--vert-sombre,var(--texte))}
.fs-accuse button{margin-left:auto;padding:var(--e1) var(--e2);min-height:var(--h-compact);font-size:var(--t-legende)}
.fs-etat-accuse{
margin:var(--e1) 0;font-size:var(--t-legende);border:1px dashed var(--bord-fort);border-radius:var(--r-md);
padding:var(--e2) var(--e2);margin-bottom:var(--e1);display:flex;align-items:center;gap:var(--e2);background:var(--ambre-pale);
color:var(--ambre-sombre);border-style:solid;border-color:transparent
}
.fs-etat-accuse button{margin-left:auto;padding:2px var(--e2);min-height:var(--h-compact);font-size:var(--t-legende)}
.et-choix{display:flex;gap:var(--e1);flex-wrap:wrap;margin-top:var(--e2)}
.et-pastille{border-radius:var(--r-max);padding:var(--e1) var(--e2);min-height:var(--h-compact);font-size:var(--t-legende);background:var(--carte);color:var(--texte-doux)}
.et-pastille.active{font-weight:600}
.et-pastille.active.et-avant{background:var(--ambre-pale);color:var(--ambre-sombre);border-color:transparent}
.et-pastille.active.et-pendant{background:var(--bleu-pale);color:var(--bleu-sombre);border-color:transparent}
.et-pastille.active.et-apres{background:var(--vert-pale);color:var(--vert-sombre);border-color:transparent}
.et-pastille.active.et-reserve{background:var(--alerte-fond);color:var(--alerte-texte);border-color:transparent}
.et-badge{position:absolute;left:4px;bottom:4px;pointer-events:none}
figcaption .et-badge{position:static}
.et-sombre{justify-content:center;margin:var(--e2) 0 2px}
.et-filtres{display:flex;gap:var(--e2);flex-wrap:wrap;margin:0 0 var(--e2)}
.et-filtre{border-radius:var(--r-max);padding:var(--e1) var(--e3);min-height:var(--h-compact);font-size:var(--t-legende)}
.et-filtre.actif{background:var(--bleu-plein);color:var(--sur-couleur);border-color:var(--bleu-plein)}
.et-compare{
position:fixed;inset:0;z-index:var(--z-scene);background:rgba(10,14,20,.94);display:flex;gap:var(--e2);
align-items:center;justify-content:center;padding:var(--h-normal) var(--e4) var(--e4)
}
.et-compare figure{flex:1 1 0;min-width:0;margin:0;display:flex;flex-direction:column;align-items:center;gap:var(--e2);height:100%}
.et-compare img{max-width:100%;max-height:calc(100% - 34px);object-fit:contain;border-radius:var(--r-pt)}
.et-compare figcaption{color:#E6ECF3;font-size:var(--t-second)}
.et-compare-x{
position:absolute;top:8px;right:12px;border:0;background:transparent;color:var(--sur-couleur);width:44px;
height:44px;min-height:0;padding:0;display:flex;align-items:center;justify-content:center
}
@media (max-width:719px){.et-compare{flex-direction:column}.et-compare figure{height:auto;flex:1 1 0;min-height:0}}
.et-sombre .et-pastille:not(.active){background:transparent;color:#C9D3E0;border-color:#4A5668}
.rf-barre{
flex:0 0 auto;display:flex;align-items:center;gap:var(--e2);margin:var(--e1) 0;padding:var(--e1) var(--e2);
border:1px solid var(--bleu);border-radius:var(--r-md);background:var(--carte)
}
.rf-barre .ic{width:20px;height:20px;flex:0 0 auto;color:var(--texte-doux)}
.rf-barre input{flex:1;min-width:0;border:0;background:transparent;padding:var(--e1) 2px;font-size:var(--t-saisie);outline:none}
.rf-barre:focus-within{box-shadow:inset 0 -2px var(--bleu)}
.rf-barre button{border:0;background:transparent;min-height:var(--h-compact);padding:var(--e1) var(--e2);font-size:var(--t-corps);color:var(--texte-doux)}
#rf-compte{font-size:var(--t-legende);color:var(--texte-doux);white-space:nowrap;font-variant-numeric:tabular-nums}
mark.rf-marque{background:var(--ambre-pale);color:var(--ambre-sombre);border-radius:var(--r-trait);padding:0 1px}
.bulle-vocal[data-voc]{display:none}
.voc{display:flex;align-items:center;gap:var(--e2);margin-top:var(--e1);min-width:min(250px,62vw)}
.voc-jouer{
flex:0 0 auto;width:44px;height:44px;min-height:0;padding:0;border-radius:50%;border:0;
background:var(--bleu-plein);color:var(--sur-couleur);font-size:var(--t-second);line-height:1;display:flex;
align-items:center;justify-content:center
}
.voc-jouer .ic{width:16px;height:16px;fill:currentColor}
.voc-onde:focus-visible{outline:2px solid var(--bleu);outline-offset:2px;border-radius:var(--r-pt)}
.voc-onde{flex:1;display:flex;align-items:center;gap:2px;height:30px;cursor:pointer;min-width:0}
.voc-onde i{
flex:1;min-width:2px;height:var(--h, 22%);border-radius:var(--r-trait);background:var(--bord-fort);
transition:height var(--m-court) var(--m-simple)
}
.voc-onde i.lu{background:var(--bleu-plein)}
.voc-vitesse{
flex:0 0 auto;min-height:var(--h-compact);padding:2px var(--e2);border-radius:var(--r-max);
font-size:var(--t-legende);font-variant-numeric:tabular-nums
}
.voc-temps{flex:0 0 auto;font-size:var(--t-legende);color:var(--texte-doux);font-variant-numeric:tabular-nums;white-space:nowrap}
.date-flottante{
position:fixed;left:var(--x, 50%);top:var(--y, 0);z-index:var(--z-flottant);transform:translateX(-50%);pointer-events:none;
background:var(--carte);color:var(--texte-doux);border:1px solid var(--bord);
border-radius:var(--r-max);padding:var(--e1) var(--e3);font-size:var(--t-legende);font-weight:600;
box-shadow:var(--elev-1)
}
@media (min-width:1060px) and (pointer:fine){
.conv-messages{gap:var(--e1)}
.bulle{max-width:min(76%,80ch);gap:var(--e2)}
.bulle-corps{padding:var(--e1) var(--e2) var(--e2)}
.bulle-texte{font-size:var(--t-corps);line-height:1.42}
.bulle-jeton.avatar{--d:24px}
.bulle-jeton.creux{width:24px;height:24px}
.bulle-heure{font-size:var(--t-legende)}
.bulle.heure-au-bout .bulle-heure{right:10px;bottom:5px}
.bulle-qui{font-size:var(--t-legende);margin-bottom:1px}
.conv-jour{margin:var(--e2) 0 var(--e1)}
.bulle-transcrit{font-size:var(--t-second)}
}
.attente-globale{
display:flex;gap:var(--e3);align-items:flex-start;margin:0 0 var(--e3);padding:var(--e3) var(--e4);
border-radius:var(--r-md);background:var(--ambre-pale);color:var(--ambre-sombre);
border:1px solid var(--ambre-sombre);font-size:var(--t-second);flex:0 0 auto;flex-wrap:wrap
}
#attente-reessayer{margin-left:auto;align-self:center;min-height:0;padding:var(--e1) var(--e3);font-size:var(--t-legende);background:var(--carte)}
.se-ligne{
display:flex;justify-content:space-between;gap:var(--e3);align-items:baseline;padding:var(--e2) var(--e2);
border:1px solid var(--bord);border-radius:var(--r-md);font-size:var(--t-second)
}
.se-ligne span{color:var(--texte-doux);font-size:var(--t-legende);text-align:right}
.se-ligne.grave{border-color:var(--alerte-texte)}
.se-derniers{max-height:36vh;overflow:auto;display:flex;flex-direction:column;gap:var(--e1)}
.se-incident{font-size:var(--t-legende);color:var(--texte-doux);border-bottom:1px solid var(--bord);padding:var(--e1) 0}
.se-incident code{display:block;font-size:var(--t-legende);color:var(--texte);white-space:pre-wrap;overflow-wrap:anywhere}
.fil-brouillon{color:var(--alerte-texte);font-weight:600}
.vers-non-lu{flex:0 0 auto;align-self:center;margin:var(--e1) 0}
.bulle-claude .bulle-corps{background:var(--violet-pale);border-color:var(--violet-bord)}
.bulle-claude.moi .bulle-corps{background:color-mix(in srgb, var(--violet-pale), var(--violet-bord));border-color:transparent}
.bulle-claude .bulle-texte{white-space:pre-wrap}
.bulle-claude .bulle-texte b{font-style:normal}
.cl-marque{font-style:italic;color:var(--violet);margin-bottom:2px}
.cl-jeton{--c:var(--metier-admin);font-style:normal}
.bulle-claude .bulle-qui{color:var(--violet);font-style:normal}
.cl-puce{display:block;padding-left:var(--e4);text-indent:-14px}
.cl-puce::before{content:'– '}
.cl-attente{color:var(--texte-doux); display:flex; align-items:center; gap:var(--e2)}
.cl-points{display:inline-flex; gap:var(--e1)}
.cl-points i{width:6px; height:6px; border-radius:50%; background:var(--violet); animation:cl-point 1.2s infinite ease-in-out}
.cl-points i:nth-child(2){animation-delay:.2s}
.cl-points i:nth-child(3){animation-delay:.4s}
@keyframes cl-point{0%, 80%, 100%{opacity:.25} 40%{opacity:1}}
@media (prefers-reduced-motion:reduce){.cl-points i{animation:none; opacity:.6}}
.cl-chrono{font-variant-numeric:tabular-nums}
.cl-erreur{color:var(--alerte-texte);font-style:normal}
.cl-doc-cite{font-style:normal;font-weight:600;color:var(--violet)}
.cl-document{
font-style:normal;margin-top:var(--e2);padding:var(--e2) var(--e2);border:1px solid var(--violet-bord);
border-radius:var(--r-md);background:var(--carte);display:flex;flex-direction:column;gap:var(--e1)
}
.cl-document span{font-size:var(--t-legende);color:var(--texte-doux)}
.cl-gestes{display:flex;gap:var(--e2);flex-wrap:wrap;margin-top:var(--e2);font-style:normal}
.cl-gestes button{min-height:var(--h-compact);padding:0 var(--e3);font-size:var(--t-second)}
.cl-plan{font-style:normal;margin-top:var(--e2);padding:var(--e2) var(--e3);border:1px solid var(--violet-bord);border-radius:var(--r-md);background:var(--carte)}
.cl-plan-tete{display:flex;flex-direction:column;gap:2px;margin-bottom:var(--e2)}
.cl-plan-tete span{font-size:var(--t-legende);color:var(--texte-doux)}
.cl-plan-bloc{margin-top:var(--e2)}
.cl-plan-titre{color:var(--violet);margin-bottom:2px}
.cl-plan-ligne{display:flex;justify-content:space-between;gap:var(--e2);font-size:var(--t-second);padding:2px 0;border-top:1px dashed var(--bord)}
.cl-plan-ligne em{font-style:normal;font-size:var(--t-legende);text-transform:uppercase;color:var(--texte-doux);margin-right:var(--e1)}
.cl-plan-ligne b{white-space:nowrap;font-variant-numeric:tabular-nums}
.cl-plan-texte{padding:var(--e2) var(--e2);font-size:var(--t-second);color:var(--texte-doux);white-space:pre-wrap}
.cl-plan-note{font-size:var(--t-legende);color:var(--texte-doux);margin-top:var(--e1)}
.cl-plan-fait{margin-top:var(--e2);padding:var(--e2) var(--e2);border-radius:var(--r-pt);background:var(--vert-pale);font-size:var(--t-second)}
.note-douce{font-size:var(--t-second);color:var(--texte-doux)}
.cliquable{cursor:pointer}
.sans-marge-haut{margin-top:0}
.t-detail{font-size:var(--t-second);color:var(--texte-doux)}
.t-legende-pale{font-size:var(--t-legende);color:var(--texte-doux)}
.texte-doux{color:var(--texte-doux)}
.texte-ambre{color:var(--ambre-sombre)}
.texte-bleu{color:var(--bleu)}
.texte-c{color:var(--c, var(--texte))}
.a-gauche{text-align:left}
.a-centre{text-align:center}
.marge-nulle{margin:0}
.mt-1{margin-top:var(--e1)}
.mt-2{margin-top:var(--e2)}
.mt-3{margin-top:var(--e3)}
.mt-4{margin-top:var(--e4)}
.mb-1{margin-bottom:var(--e1)}
.mb-2{margin-bottom:var(--e2)}
.mb-3{margin-bottom:var(--e3)}
.etire{flex:1;min-width:0}
.largeur-auto{width:auto}
.pre{white-space:pre-wrap}
.insecable{white-space:nowrap}
.aligne{display:flex;align-items:center;gap:var(--e2)}
.pastille-c{display:inline-block;width:10px;height:10px;border-radius:50%;flex:none;
background:var(--c, var(--texte-doux));vertical-align:-1px}
.pv-1{padding-top:var(--e1);padding-bottom:var(--e1)}
.my-1{margin-top:var(--e1);margin-bottom:var(--e1)}
.t-second{font-size:var(--t-second)}
.t-legende{font-size:var(--t-legende)}
.depot-ligne{display:block}
.depot-nom{display:flex;align-items:center;justify-content:space-between;gap:var(--e2)}
.depot-etat:empty{display:none}
.depot-doublon{background:var(--ambre-pale)}
.depot-champs{display:flex;gap:var(--e2)}
.depot-mois{flex:0 0 150px}
.pb-2{padding-bottom:var(--e2)}
.reac-qui{display:flex;gap:var(--e3);align-items:flex-start}
.reac-qui-signe{font-size:var(--t-ecran)}
.vocal-etat{text-align:center;font-size:var(--t-ecran);font-variant-numeric:tabular-nums;padding:var(--e3) 0}
.carte-photos-plan{height:56vh}
.idee-zone{min-height:120px}
.vt{view-transition-name:var(--vt)}
.pb-3{padding-bottom:var(--e3)}
.pv-mince{padding-top:2px;padding-bottom:2px}
body.sans-defile{overflow:hidden}
.invisible{visibility:hidden}
.hors-ecran{position:fixed;opacity:0}
.vocal-niveau{height:6px;border-radius:var(--r-max);background:var(--gris-pale);overflow:hidden;margin:var(--e2) 0}
.vocal-niveau i{display:block;height:100%;background:var(--bleu-plein);transform-origin:left center;
transform:scaleX(var(--l, 0));transition:transform var(--m-doigt) linear}
.pastille-grande{width:22px;height:22px}
.mdp-montre{background:var(--fond);border:1px solid var(--bord);border-radius:var(--r-md);padding:var(--e3);
text-align:center;font-family:var(--police-code);font-size:var(--t-ecran);letter-spacing:.06em}
.choix-teintes{display:flex;flex-wrap:wrap;gap:var(--e2)}
.choix-teinte{display:inline-flex;align-items:center;gap:var(--e2);min-height:var(--h-normal);padding:0 var(--e3);
border:1px solid var(--bord);border-radius:var(--r-max);cursor:pointer;font-size:var(--t-second);margin:0}
.choix-teinte:has(input:checked){border-color:var(--bleu);background:var(--bleu-pale)}
.choix-teinte input{margin:0}
.choix-teinte .pastille-c{width:16px;height:16px}
.valeur-coupee{max-width:60%;word-break:break-all}
.lx-champs{display:flex;gap:var(--e2);align-items:flex-end}
.fiche-centre{text-align:center;padding:var(--e5)}
.fiche-estompee{background:var(--fond);border-style:dashed;color:var(--texte-doux)}
.s-texte-zone{min-height:84px}
.j-heure-champ{width:110px;display:inline-block;text-align:center}
.titre-coupe{max-width:58%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.notif-etat{padding:var(--e2) 0}
.pastille-avant{margin-right:var(--e2)}
.connexion-pied{font-size:var(--t-second);min-height:var(--h-normal)}
.fc-onglets{display:none}
.fc-grille{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.5fr) minmax(0,1fr);gap:var(--e3);align-items:start}
.fc-col{display:flex;flex-direction:column;gap:var(--e3);min-width:0}
.fc-col > *{min-width:0;max-width:100%}
.fc-coord a{color:var(--bleu)}
.fc-col > .fiche{margin-bottom:0}
.fc-bloc .section:first-child{margin-top:0}
.fc-chiffre{display:flex;flex-direction:column;padding:var(--e2) 0;border-bottom:1px solid var(--bord)}
.fc-chiffre:last-child{border-bottom:none}
.fc-chiffre b{font-family:var(--police-titres);font-size:var(--t-ecran);font-weight:700;font-variant-numeric:tabular-nums}
.fc-chiffre b.fc-du{color:var(--ambre-sombre)}
.fc-chiffre span{color:var(--texte-doux);font-size:var(--t-second)}
.fc-coord{padding:var(--e1) 0;font-size:var(--t-second);overflow-wrap:anywhere}
.fc-ligne{display:flex;justify-content:space-between;gap:var(--e3);padding:var(--e2) 0;border-bottom:1px solid var(--bord);cursor:pointer;min-width:0}
.fc-ligne:last-child{border-bottom:none}
.fc-ligne:hover b{color:var(--bleu)}
.fc-g{display:flex;flex-direction:column;min-width:0}
.fc-g b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fc-g > .lien-etire{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fc-g small{color:var(--texte-doux);font-size:var(--t-legende)}
.fc-ref{font-family:var(--police-code);font-size:var(--t-legende);color:var(--texte-doux)}
.fc-d{display:flex;flex-direction:column;align-items:flex-end;gap:var(--e1);flex:0 0 auto}
.fc-mt{font-weight:600;font-size:var(--t-second)}
.fc-reste{font-size:var(--t-legende);color:var(--ambre-sombre)}
.fc-titre-conv{font-weight:600;margin-bottom:var(--e1)}
.fc-msg{display:flex;gap:var(--e2);align-items:baseline;padding:var(--e1) 0;font-size:var(--t-second);min-width:0}
.fc-msg b{color:var(--bleu);font-weight:600;flex:0 0 auto}
.fc-msg span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fc-msg small{margin-left:auto;color:var(--texte-doux);flex:0 0 auto}
.fc-ouvrir{margin-top:var(--e2);width:100%}
.fc-photos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--e1)}
.fc-photos img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--r-pt);background:var(--gris-pale);cursor:pointer;display:block}
.fc-doc{display:flex;align-items:center;gap:var(--e2);width:100%;min-height:var(--h-compact);padding:var(--e2) 0;border:none;border-bottom:1px solid var(--bord);
background:none;border-radius:0;text-align:left;font-size:var(--t-second);color:var(--texte)}
.fc-doc:last-child{border-bottom:none}
.fc-doc .ic{width:20px;height:20px;color:var(--texte-doux);flex:0 0 auto}
.fc-doc span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}
.fc-doc small{color:var(--texte-doux)}
.fc-lien-fiche{width:100%;border:none;background:none;text-align:left}
@media (max-width:1059px){
.fc-onglets{display:flex;border-bottom:1px solid var(--bord);margin:0 0 var(--e3)}
.fc-onglets button{flex:1;min-height:var(--h-compact);border:none;background:none;border-radius:0;margin-bottom:-1px;
font-size:var(--t-second);font-weight:600;color:var(--texte-doux);border-bottom:2px solid transparent}
.fc-onglets button.actif{color:var(--bleu);border-bottom-color:var(--bleu)}
.fc-grille{display:flex;flex-direction:column}
.fc-grille .fc-bloc{display:none}
.fc-grille[data-fc-vue="resume"] .fc-bloc[data-onglet="resume"],
.fc-grille[data-fc-vue="chantiers"] .fc-bloc[data-onglet="chantiers"],
.fc-grille[data-fc-vue="photos"] .fc-bloc[data-onglet="photos"],
.fc-grille[data-fc-vue="documents"] .fc-bloc[data-onglet="documents"]{display:block}
.fc-col{gap:var(--e3);width:100%}
.fc-col:empty{display:none}
.fc-tete{flex-wrap:wrap}
.fc-tete .titre-actions{order:3;width:100%;display:flex;gap:var(--e2);margin-top:var(--e2)}
.fc-tete .titre-actions > *{flex:1 1 0;min-width:0}
}
.fc-repere{display:grid; grid-template-columns:minmax(0,1fr) auto; column-gap:var(--e2); row-gap:2px;
padding:var(--e2) 0; border-bottom:1px solid var(--bord)}
.fc-repere b{font-size:var(--t-second); grid-column:1}
.fc-repere > span:not(.fc-gestes){overflow-wrap:anywhere; grid-column:1}
.fc-repere small{display:block; color:var(--texte-doux); font-size:var(--t-legende)}
.fc-repere .fc-gestes{grid-column:2; grid-row:1 / span 2; display:flex; align-items:center; gap:var(--e1)}
.fc-sur-place > .compact{margin-top:var(--e2)}
.fc-groupe{font-size:var(--t-second); font-weight:600; color:var(--texte); margin-top:var(--e2)}
.fc-sous{margin-top:var(--e3)}
.qdn-carte{background:var(--carte);border:1px solid var(--bleu-clair);border-radius:var(--r-md);padding:var(--e4);margin:0 0 var(--e4);
display:flex;flex-direction:column;gap:var(--e2)}
.qdn-tete{display:flex;align-items:center;gap:var(--e2)}
.qdn-ouvrir{flex:1;min-width:0;display:flex;align-items:baseline;gap:var(--e2);flex-wrap:wrap;
border:none;background:none;padding:0;text-align:left;color:var(--texte);min-height:var(--h-compact)}
.qdn-tete b{font-family:var(--police-titres);font-size:var(--t-titre)}
.qdn-tete span{color:var(--texte-doux);font-size:var(--t-legende)}
.qdn-fermer{flex:none}
.qdn-replie .qdn-points{display:none}
.qdn-replie{padding-block:var(--e2)}
.qdn-replie .qdn-tete b{font-size:var(--t-corps)}
.qdn-ligne{padding:var(--e1) 0;font-size:var(--t-second)}
.qdn-ligne b{display:block;font-weight:600;color:var(--texte)}
.qdn-ligne span{color:var(--texte-doux)}
.qdn-point{display:grid;grid-template-columns:34px 1fr;gap:var(--e3);align-items:start;padding:var(--e1) 0}
.qdn-pic{
width:34px;height:34px;border-radius:var(--r-pt);background:var(--bleu-pale);color:var(--bleu);display:grid;
place-items:center;font-weight:800
}
.qdn-pic .ic{width:20px;height:20px}
.qdn-point b{display:block;font-weight:600}
.qdn-points{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--e2) var(--e4)}
.qdn-point div>span{color:var(--texte-doux);font-size:var(--t-second);display:block;line-height:1.4}
button[data-occupe]{cursor:progress}
button.occupe{opacity:.8}
button.occupe::before{content:"";display:inline-block;width:.95em;height:.95em;margin-right:var(--e2);vertical-align:-.12em;
border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:tirer-tourne .8s linear infinite}
@media (prefers-reduced-motion: reduce){button.occupe::before{animation:none;border-right-color:currentColor;opacity:.6}}
@media (pointer:coarse){
:root{--h-compact:44px}
a.lien, .fc-coord a{display:inline-block;padding-block:var(--e4);margin-block:calc(-1 * var(--e4))}
[data-vers-accueil]{box-sizing:content-box;padding-block:var(--e2);margin-block:calc(-1 * var(--e2))}
.haut-chercher{flex:0 0 44px}
#menu-moi{position:relative}
#menu-moi::after{content:"";position:absolute;inset:-6px}
.cherche button::after{content:"";position:absolute;inset:-8px}
.cliche-retirer::after{content:"";position:absolute;inset:-7px}
.an-couleur{position:relative}
.bonr-photo button::after{content:"";position:absolute;inset:-10px}
.an-couleur::after{content:"";position:absolute;inset:-8px}
.titre-corps{min-height:var(--h-normal)}
.tete[data-groupe]{min-height:var(--h-normal);align-items:center}
.leaflet-touch .leaflet-bar a.leaflet-control-zoom-in, .leaflet-touch .leaflet-bar a.leaflet-control-zoom-out{
width:44px;height:44px;line-height:44px;font-size:var(--t-ecran)
}
}
.geste-ligne{padding:var(--e1) var(--e2);min-height:var(--h-compact);font-size:var(--t-second)}
.bulle-film{position:relative;display:block;width:300px;max-width:100%;margin-top:var(--e2);border-radius:var(--r-md);
overflow:hidden;background:#000;cursor:pointer;aspect-ratio:4/3}
.bulle-film img{display:block;width:100%;height:100%;object-fit:cover;opacity:.85;color:transparent}
.film-jouer{position:absolute;inset:0;margin:auto;width:56px;height:56px;border-radius:50%;
background:rgba(15,22,33,.62);color:var(--sur-couleur);display:grid;place-items:center}
.film-jouer .ic{width:24px;height:24px;fill:currentColor;margin-left:var(--e1)}
.bulle-film.charge .film-jouer::after{content:"";position:absolute;inset:-4px;border-radius:50%;
border:3px solid rgba(255,255,255,.35);border-top-color:#fff;animation:tirer-tourne .9s linear infinite}
@media (prefers-reduced-motion: reduce){.bulle-film.charge .film-jouer::after{animation:none}}
@media (max-width:1059px){.fc-tete .titre-actions > button{flex:1 1 0;min-width:0;white-space:nowrap;padding:var(--e1) var(--e2);
flex-direction:column;gap:2px;height:auto;min-height:var(--h-grand);font-size:var(--t-legende);font-weight:600}}
.agenda-tete{flex-wrap:wrap;padding:var(--e3) 0 var(--e2)}
.agenda-tete .titre-actions{flex:1 1 auto;flex-wrap:wrap;justify-content:flex-end}
.agenda-tete .titre-actions > button{border-radius:var(--r-max)}
.agenda-cadre{display:grid;grid-template-columns:200px minmax(0,1fr);gap:var(--e4);align-items:start}
.agenda-cote{position:sticky;top:var(--e3);display:flex;flex-direction:column;gap:var(--e2);
background:var(--carte);border:1px solid var(--bord);border-radius:var(--r-md);padding:var(--e3)}
.agenda-cote label.agenda-case{min-height:32px;padding:0}
.agenda-case{margin:0;display:flex;align-items:center;gap:var(--e2);font-size:var(--t-second);cursor:pointer;min-height:28px}
.agenda-case input{margin:0;width:16px;height:16px;flex:0 0 auto}
.agenda-pastille{width:12px;height:12px;border-radius:var(--r-trait);flex:0 0 auto;background:var(--c, var(--gris-sombre))}
.agenda-grille{background:var(--carte);border:1px solid var(--bord);border-radius:var(--r-md);padding:var(--e3);min-width:0}
.agenda-grille.fc{
--fc-border-color:var(--bord); --fc-page-bg-color:var(--carte); --fc-neutral-bg-color:var(--fond);
--fc-today-bg-color:color-mix(in srgb, var(--bleu) 8%, transparent);
--fc-non-business-color:color-mix(in srgb, var(--fond) 70%, transparent);
--fc-now-indicator-color:var(--rouge-vif);
--fc-button-bg-color:var(--carte); --fc-button-border-color:var(--bord); --fc-button-text-color:var(--texte);
--fc-button-hover-bg-color:var(--fond); --fc-button-hover-border-color:var(--bord);
--fc-button-active-bg-color:var(--bleu-plein); --fc-button-active-border-color:var(--bleu-plein);
--fc-small-font-size:var(--t-legende);
font-size:var(--t-second);color:var(--texte)
}
.agenda-grille .fc-toolbar-title{font-family:var(--police-titres);font-size:var(--t-titre);font-weight:700}
.agenda-grille .fc-toolbar-title::first-letter{text-transform:uppercase}
.agenda-grille .fc-button{font-size:var(--t-second);text-transform:none;border-radius:var(--r-pt);box-shadow:none}
.agenda-grille .fc-button-primary:not(:disabled).fc-button-active{color:var(--sur-couleur)}
.agenda-grille .fc-button:focus-visible{outline:2px solid var(--bleu);outline-offset:2px}
.agenda-grille.fc .fc-toolbar-chunk:first-child{display:flex;align-items:center;flex-wrap:wrap}
.agenda-grille.fc .fc-prev-button,.agenda-grille.fc .fc-next-button{min-width:38px;height:var(--h-compact);padding:0}
.agenda-grille.fc .fc-today-button{background:none;border-color:transparent;color:var(--bleu)}
.agenda-grille.fc .fc-today-button:disabled{color:var(--texte-doux);opacity:var(--estompe)}
.agenda-grille .fc-col-header-cell-cushion,.agenda-grille .fc-daygrid-day-number{color:var(--texte);text-decoration:none;text-transform:capitalize}
.agenda-grille .fc-event{border-radius:var(--r-pt);padding:1px var(--e1);cursor:pointer}
.agenda-grille .fc-event-title{font-weight:600}
.agenda-grille .agenda-repete{
background-image:repeating-linear-gradient(135deg,transparent 0 6px,color-mix(in srgb, var(--sur-couleur) 18%, transparent) 6px 9px)
}
.agenda-grille .fc-timegrid-slot{height:2.2em}
.agenda-form .agenda-dates{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--e3)}
.agenda-form .agenda-dates input{min-width:0;width:100%}
.pastille-agenda{display:inline-block;width:10px;height:10px;border-radius:50%;flex:none;margin:0 var(--e1);background:var(--c, var(--texte-doux))}
.agenda-form .agenda-dates > div{display:flex;flex-direction:column;gap:var(--e1)}
@media (max-width:1059px){.agenda-cadre{grid-template-columns:1fr}.agenda-cote{position:static;flex-direction:row;flex-wrap:wrap}}
.agenda-form .agenda-copies{display:flex;flex-wrap:wrap;align-items:center;gap:var(--e1) var(--e3);font-size:var(--t-second);color:var(--texte-doux)}
.agenda-form .agenda-copies > span{width:100%}
.agenda-form .agenda-copies .case-membre{margin:0}
.agenda-form .agenda-modeles{display:flex;flex-wrap:wrap;align-items:center;gap:var(--e1)}
.agenda-form .agenda-modeles > span{width:100%;font-size:var(--t-second);color:var(--texte-doux)}
.agenda-form .agenda-modeles button{min-height:var(--h-compact);padding:0 var(--e3);border-radius:var(--r-max);font-size:var(--t-second)}
.agenda-form .agenda-modeles button.actif{background:var(--bleu-plein);border-color:var(--bleu-plein);color:var(--sur-couleur)}
.agenda-form .agenda-jour{background:var(--fond);border-radius:var(--r-md);padding:var(--e2) var(--e3);font-size:var(--t-second)}
.agenda-jour .agenda-jour-tete{display:block;font-weight:600;margin-bottom:var(--e1)}
.agenda-jour .agenda-jour-tete::first-letter{text-transform:uppercase}
.agenda-jour ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--e1)}
.agenda-jour li{display:grid;grid-template-columns:12px 88px minmax(0,1fr) auto;align-items:center;gap:var(--e2)}
.agenda-jour .agenda-jour-heure{font-variant-numeric:tabular-nums;color:var(--texte-doux)}
.agenda-jour .agenda-jour-titre{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.agenda-jour .agenda-jour-agenda{color:var(--texte-doux);font-size:var(--t-legende)}
.agenda-jour p{margin:0;color:var(--texte-doux)}
.agenda-astuce{margin:var(--e2) 0 0;font-size:var(--t-legende);color:var(--texte-doux);line-height:1.6}
.cl-plan-fait.cl-plan-incomplet{background:var(--alerte-fond);color:var(--alerte-texte)}
.menu-flottant .agenda-pastille{display:inline-block;width:12px;height:12px;border-radius:var(--r-trait);margin:0 var(--e2) 0 var(--e1);vertical-align:-1px}
.agenda-grille.fc .fc-event.ag-teinte{
background:color-mix(in srgb, var(--ag-couleur) 18%, var(--carte));border:0;
border-left:3px solid var(--ag-couleur);border-radius:var(--r-pt);color:var(--texte)
}
.agenda-grille.fc .fc-event.ag-teinte .fc-event-main,.agenda-grille.fc .fc-event.ag-teinte .fc-event-title{color:var(--texte)}
.agenda-grille.fc .fc-event.ag-teinte:hover{background:color-mix(in srgb, var(--ag-couleur) 30%, var(--carte))}
.agenda-grille.fc .fc-event.ag-teinte .fc-event-time{font-weight:600;color:color-mix(in srgb, var(--ag-couleur) 70%, var(--texte))}
.agenda-grille.fc .fc-daygrid-dot-event.ag-teinte{background:transparent;border-left:0}
.agenda-grille.fc .fc-daygrid-dot-event.ag-teinte:hover{background:color-mix(in srgb, var(--ag-couleur) 14%, var(--carte))}
.agenda-grille.fc .fc-daygrid-dot-event .fc-daygrid-event-dot{border-color:var(--ag-couleur)}
.agenda-grille.fc .fc-event.ag-teinte.agenda-repete{
background-image:repeating-linear-gradient(135deg,transparent 0 6px,color-mix(in srgb, var(--ag-couleur) 16%, transparent) 6px 9px)
}
.agenda-grille .fc-event.ag-trouve{outline:3px solid var(--ag-couleur);outline-offset:1px;animation:ag-clignote 1.2s ease-in-out 2}
@keyframes ag-clignote{50%{outline-color:transparent}}
@media (prefers-reduced-motion:reduce){.agenda-grille .fc-event.ag-trouve{animation:none}}
.agenda-cadre.sans-cote{grid-template-columns:minmax(0,1fr)}
.agenda-cadre.sans-cote .agenda-cote{display:none}
.agenda-recherche{position:relative;flex:1 1 220px;max-width:360px}
.agenda-recherche input{width:100%;min-height:var(--h-compact);margin:0;font-size:var(--t-second)}
.agenda-resultats{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:var(--z-nav);max-height:60vh;overflow:auto;
background:var(--carte-elevee);border:1px solid var(--bord);border-radius:var(--r-md);box-shadow:var(--elev-3);padding:var(--e1)}
.agenda-resultat{display:flex;align-items:flex-start;gap:var(--e2);width:100%;text-align:left;background:none;border:0;
border-radius:var(--r-pt);padding:var(--e2) var(--e2);min-height:var(--h-compact);cursor:pointer;color:var(--texte)}
.agenda-resultat:hover,.agenda-resultat:focus-visible{background:var(--fond)}
.agenda-resultat .agenda-pastille{margin-top:var(--e1)}
.agenda-resultat-corps{display:flex;flex-direction:column;min-width:0}
.agenda-resultat-corps b{font-weight:600;font-size:var(--t-second)}
.agenda-resultat-corps small{color:var(--texte-doux);font-size:var(--t-legende);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.agenda-resultats-sep{padding:var(--e2) var(--e2) 2px}
.agenda-resultats-info{margin:0;padding:var(--e2);color:var(--texte-doux);font-size:var(--t-second)}
.agenda-mini{display:flex;flex-direction:column;gap:var(--e1);padding-bottom:var(--e2);border-bottom:1px solid var(--bord)}
.agenda-mini-tete{display:flex;align-items:center;justify-content:space-between;font-weight:600;font-size:var(--t-second);text-transform:capitalize}
.agenda-mini-tete button{
background:none;border:0;min-height:28px;width:28px;padding:0;cursor:pointer;color:var(--texte);
border-radius:var(--r-pt);font-size:16px
}
.agenda-mini table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums}
.agenda-mini th{font-size:var(--t-legende);font-weight:600;color:var(--texte-doux);padding:2px 0}
.agenda-mini td{padding:0;text-align:center}
.agenda-mini td button{
background:none;border:0;min-height:24px;width:100%;padding:0;font-size:var(--t-legende);cursor:pointer;
color:var(--texte);border-radius:var(--r-pt)
}
.agenda-mini th button{
background:none;border:0;min-height:24px;width:100%;padding:0;cursor:pointer;border-radius:var(--r-pt);
font-size:var(--t-legende);color:var(--texte-doux)
}
.agenda-mini td button.hors{color:var(--texte-doux)}
.agenda-mini td button.vu{background:color-mix(in srgb, var(--bleu) 14%, transparent)}
.agenda-mini td button.ajd{background:var(--bleu-plein);color:var(--sur-couleur);font-weight:700}
.agenda-mini td button:hover,.agenda-mini th button:hover{outline:1px solid var(--bord)}
.agenda-bulle{width:min(340px,92vw);padding:var(--e3) var(--e4);display:flex;flex-direction:column;gap:var(--e2)}
.ag-puces-choix{display:flex; flex-wrap:wrap; gap:var(--e1) var(--e2); margin:var(--e1) 0}
.ag-puce-choix{min-height:var(--h-compact); padding:0 var(--e3); border-radius:var(--r-max);
border:1px solid var(--bord-fort); background:var(--carte); color:var(--texte); font-size:var(--t-second)}
.ag-puce-choix[aria-pressed="true"]{background:var(--bleu-pale); border-color:var(--bleu); color:var(--bleu); font-weight:600}
.ag-visible{display:flex; flex-direction:column; gap:var(--e1); font-size:var(--t-second); min-height:1.4em}
.ag-visible-ok{display:flex; align-items:center; gap:var(--e1); color:var(--texte-doux)}
.agenda-repeter{display:flex; flex-wrap:wrap; align-items:center; gap:var(--e2); margin:var(--e2) 0}
.agenda-repeter label{margin:0}
.agenda-repeter select, .agenda-repeter input{width:auto}
.ag-repeter-compte{font-size:var(--t-second); color:var(--texte-doux)}
.eq-semaine{border-collapse:collapse; width:100%; font-size:var(--t-legende)}
.eq-semaine th, .eq-semaine td{border:1px solid var(--bord); padding:var(--e1); vertical-align:top; text-align:left}
.eq-semaine thead th{font-weight:600; color:var(--texte-doux); white-space:nowrap}
.eq-semaine thead th small{display:block; font-weight:400}
.eq-semaine .th-nom{position:sticky; left:0; background:var(--carte); z-index:var(--z-colle);
font-size:var(--t-second); white-space:nowrap; min-width:110px}
.eq-semaine th.eq-ajd{color:var(--bleu)}
.eq-libre{background-image:repeating-linear-gradient(135deg, transparent 0 6px, var(--bord) 6px 7px)}
.eq-libre span{color:var(--texte-doux)}
.eq-puce{display:block; margin-bottom:2px; padding:2px var(--e1); border-radius:var(--r-pt);
border-left:3px solid var(--ag-couleur); background:var(--fond); overflow:hidden; text-overflow:ellipsis}
.eq-personne .eq-jour{align-items:flex-start}
.eq-personne .eq-date{flex:0 0 64px; color:var(--texte-doux); font-size:var(--t-second)}
.eq-personne .eq-contenu{flex:1; min-width:0; font-size:var(--t-second)}
.eq-personne .eq-libre .eq-contenu span{color:var(--texte-doux)}
.eq-personne .eq-ajd .eq-date{color:var(--bleu); font-weight:600}
.eq-puce.eq-absence{border-left-color:var(--gris-sombre); color:var(--texte-doux); font-style:italic}
.pl-libre{padding:var(--e2) 0; color:var(--texte-doux); font-size:var(--t-second); border-bottom:1px solid var(--bord)}
.section.pl-aujourdhui{color:var(--bleu)}
.agenda-bulle-tete{display:flex;align-items:flex-start;gap:var(--e2);font-size:var(--t-corps)}
.agenda-bulle-tete .agenda-pastille{margin:var(--e1) 0 0 0;width:12px;height:12px;border-radius:var(--r-trait);flex:0 0 auto}
.agenda-bulle-ligne{display:flex;align-items:flex-start;gap:var(--e2);font-size:var(--t-second);color:var(--texte)}
.agenda-bulle-ligne .ic{width:16px;height:16px;flex:0 0 auto;margin-top:2px;color:var(--texte-doux)}
.agenda-bulle-notes{
font-size:var(--t-legende);color:var(--texte-doux);background:var(--fond);border-radius:var(--r-pt);
padding:var(--e2) var(--e2);overflow-wrap:anywhere
}
.agenda-bulle-gestes{display:flex;flex-wrap:wrap;gap:var(--e2);margin-top:var(--e1)}
.agenda-bulle-gestes button{min-height:var(--h-compact);padding:0 var(--e3);font-size:var(--t-second);border-radius:var(--r-max)}
.agenda-grille .fc-event.ag-fantome{opacity:.7;cursor:progress}
.ag-puces{display:inline-flex;gap:2px;margin-left:var(--e2);vertical-align:1px}
.ag-puce{
display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 var(--e1);
border-radius:var(--r-max);font-size:var(--t-legende);font-weight:700;line-height:1;
color:var(--sur-couleur);letter-spacing:0;background:var(--c, var(--bleu-plein))
}
.ag-puce.plus{background:var(--bord-fort);color:var(--texte)}
.puce-prenom{
display:none;align-items:center;min-height:20px;padding:0 var(--e2);border-radius:var(--r-max);
background:var(--c, var(--bleu-plein));color:var(--sur-couleur);font-size:var(--t-legende);
font-weight:600;line-height:1;white-space:nowrap
}
.puces-larges .puce-prenom{display:inline-flex}
.puces-larges .equipe .avatar.jeton{display:none}
.ag-puce .ag-prenom{display:none}
.puces-larges .ag-puce .ag-prenom{display:inline}
.puces-larges .ag-puce .ag-ini{display:none}
.ag-agendas{display:flex;flex-wrap:wrap;gap:var(--e1) var(--e2)}
.ag-agenda-choix{
position:relative;display:inline-flex;align-items:center;gap:var(--e2);margin:0;min-height:var(--h-compact);
padding:0 var(--e3);border:1px solid var(--bord-fort);border-radius:var(--r-max);background:var(--carte);
color:var(--texte);font-size:var(--t-second);cursor:pointer
}
.ag-agenda-choix input[type="radio"]{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.ag-agenda-choix:has(input:checked){background:var(--bleu-pale);border-color:var(--bleu);color:var(--bleu);font-weight:600}
.ag-agenda-choix:has(input:focus-visible){outline:2px solid var(--bleu);outline-offset:2px}
.ag-agenda-choix:has(input:disabled){cursor:default;opacity:var(--estompe)}
.ag-origine{font-size:var(--t-legende);color:var(--texte-doux);font-weight:400}
.agenda-form .ag-journee-case{margin:var(--e1) 0 0;min-height:var(--h-compact);padding:0}
.agenda-case-sous{color:var(--texte-doux);font-size:var(--t-legende)}
.ligne-dossier{display:flex;align-items:center;gap:var(--e2);min-height:var(--h-normal);padding:var(--e2) 0;cursor:pointer;border-bottom:1px solid var(--bord);color:inherit;text-decoration:none}
.ligne-dossier:last-child{border-bottom:0}
.ligne-dossier .ic{flex:0 0 auto;width:20px;height:20px;margin:0;color:var(--texte-doux)}
.ligne-dossier .ld-nom{flex:1;min-width:0;overflow-wrap:anywhere}
@media (hover:hover){.ligne-dossier:hover .ld-nom{color:var(--bleu)}}
.accueil-presences{width:100%;margin:0}
body.accueil-large .accueil-tete .accueil-presences{max-width:360px;flex:0 0 auto}
.abandon{display:flex;flex-direction:column;gap:var(--e2);margin:0 0 var(--e3);position:sticky;top:0;z-index:3}
.abandon p{margin:0;font-weight:600}
.abandon-actions{display:flex;gap:var(--e2);flex-wrap:wrap}
.fil-hors-liste{display:block;width:100%;text-align:left;margin:0 0 var(--e2);font-size:var(--t-second);white-space:normal}
kbd{
display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 var(--e1);
border:1px solid var(--bord-fort);border-bottom-width:2px;border-radius:var(--r-pt);background:var(--carte);
color:var(--texte-doux);font:600 var(--t-legende)/1 var(--police-code);white-space:nowrap
}
kbd + kbd{margin-left:var(--e1)}
#app h1[tabindex="-1"]:focus{outline:none}
.accueil-tete .titre-barre.accueil-titre{margin-bottom:var(--e3)}
body.accueil-large .accueil-tete .accueil-titre{flex:1;min-width:0;margin-bottom:var(--e4)}
@media (min-width:1060px){
body.ecran-porte .titre-barre .titre-retour{display:none}
body.ecran-porte .vue-ecran .titre-barre .titre-retour{display:inline-flex}
}
.ariane{display:none}
.titre-parent{color:var(--texte-doux)}
@media (min-width:1060px){
.titre-parent{display:none}
.ariane{display:flex;flex-wrap:wrap;align-items:center;gap:2px var(--e2);font-size:var(--t-second);
color:var(--texte-doux);margin-bottom:1px;line-height:1.3}
.ariane a{color:var(--texte-doux);text-decoration:none;border-radius:var(--r-pt)}
.ariane a:hover{color:var(--bleu);text-decoration:underline;text-underline-offset:2px}
.ariane-sep{color:var(--texte-doux)}
}
.menu-message .menu-groupe{padding:var(--e2) var(--e2) var(--e1)}
.menu-message .menu-groupe:first-child{padding-top:2px}
.menu-flottant .menu-groupe{padding:var(--e2) var(--e3) 2px}
.menu-message button .menu-lib{display:flex;flex-direction:column;min-width:0;flex:1}
.menu-message button[disabled]{opacity:var(--estompe);cursor:default}
.menu-message button[aria-checked="true"]::after{content:"";width:8px;height:8px;border-radius:50%;
background:var(--vert-sombre);flex:none;margin-left:auto}
.menu-flottant button:focus-visible{outline:2px solid var(--bleu);outline-offset:-2px}
.menu-flottant-titre small{display:block;font-size:var(--t-legende);color:var(--texte-doux);
overflow:hidden;text-overflow:ellipsis}
.menu-theme{display:flex;margin:2px 2px var(--e2)}
.menu-flottant .menu-theme{margin:var(--e1) var(--e2) var(--e2)}
.menu-theme button{flex:1}
.menu-compte.menu-flottant{min-width:272px}
#palette{
position:fixed;inset:0;margin:12vh auto auto;padding:0;width:min(600px, calc(100vw - 32px));
max-height:min(70dvh, 560px);border:1px solid var(--bord);border-radius:var(--r-md);background:var(--carte-elevee);
color:var(--texte);box-shadow:var(--elev-3);overflow:hidden;flex-direction:column
}
#palette[open]{display:flex}
#palette::backdrop{background:var(--voile)}
.pal-champ{display:flex;align-items:center;gap:var(--e2);padding:0 var(--e4);border-bottom:1px solid var(--bord);flex:none}
.pal-champ .ic{width:20px;height:20px;color:var(--texte-doux);flex:none}
.pal-champ input{flex:1;min-width:0;border:none;background:none;box-shadow:none;outline:none;
font-size:var(--t-titre);padding:var(--e4) 0;color:var(--texte)}
.pal-liste{overflow-y:auto;padding:var(--e2);flex:1;min-height:0}
.pal-section{padding:var(--e2) var(--e2) var(--e1)}
.pal-item{display:flex;align-items:center;gap:var(--e3);min-height:40px;padding:var(--e2) var(--e2);border-radius:var(--r-md);cursor:pointer}
.pal-item .ic{width:20px;height:20px;color:var(--texte-doux);flex:none}
.pal-item[aria-selected="true"]{background:var(--bleu-pale)}
.pal-item[aria-selected="true"] .ic{color:var(--bleu)}
.pal-mot{flex:1;min-width:0;display:flex;flex-direction:column;font-size:var(--t-corps);line-height:1.3}
.pal-mot small{font-size:var(--t-legende);color:var(--texte-doux);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pal-genre{font-size:var(--t-legende);color:var(--texte-doux)}
.pal-vide{padding:var(--e4) var(--e3);color:var(--texte-doux)}
.pal-pied{display:flex;flex-wrap:wrap;gap:var(--e2) var(--e4);padding:var(--e2) var(--e4);border-top:1px solid var(--bord);
font-size:var(--t-legende);color:var(--texte-doux);flex:none}
.pal-pied span{display:inline-flex;align-items:center;gap:var(--e1)}
@media (max-width:719px){ .pal-pied{display:none} #palette{margin-top:8vh} }
.raccourcis .section:first-child{margin-top:0}
.raccourcis-liste{display:grid;grid-template-columns:minmax(150px,auto) 1fr;gap:var(--e2) var(--e4);margin:var(--e2) 0 var(--e1);align-items:center}
.raccourcis-liste dt{display:flex;flex-wrap:wrap;align-items:center;gap:var(--e1);color:var(--texte-doux);font-size:var(--t-second)}
.raccourcis-liste dt span{font-size:var(--t-legende);color:var(--texte-doux)}
.raccourcis-liste dd{margin:0;font-size:var(--t-second)}
.liste-portes{display:flex;flex-direction:column;background:var(--carte);border:1px solid var(--bord);
border-radius:var(--r-md);overflow:hidden;margin-bottom:var(--e3)}
.liste-portes .porte{display:flex;align-items:center;gap:var(--e4);min-height:var(--h-normal);padding:0 var(--e3);
border:none;border-radius:0;background:none;text-align:left;font-size:var(--t-corps);font-weight:500;color:var(--texte)}
.liste-portes .porte + .porte{border-top:1px solid var(--bord)}
.liste-portes .porte > .ic:first-child{width:20px;height:20px;color:var(--bleu);flex:none}
.liste-portes .porte > span:not(.signal){flex:1;min-width:0}
.liste-portes .porte > .ic:last-child{width:16px;height:16px;color:var(--texte-doux);flex:none}
.liste-portes .porte:active{background:var(--bleu-pale)}
@media (min-width:1060px){
#nav .nav-onglet[data-nav="plus"]{display:none}
body.avec-nav .enveloppe{padding-top:var(--e5)}
}
@media (min-width:1060px){ body.avec-nav.fige .enveloppe{padding-top:var(--e3)} }
.bloc-portes .portes{
grid-template-columns:repeat(2,minmax(0,1fr));display:flex;flex-direction:column;gap:0;
background:var(--carte);border:1px solid var(--bord);border-radius:var(--r-md);overflow:hidden
}
.bloc-portes .tuile.raccourci{
border-color:transparent;border:none;border-radius:0;background:none;box-shadow:none;
min-height:var(--h-normal);margin:0
}
.bloc-portes .tuile.raccourci + .tuile.raccourci{border-top:1px solid var(--bord)}
.bloc-portes .tuile.raccourci .t-lien{font-weight:500;flex:1}
.bloc-portes .tuile.raccourci::after{content:"";flex:none;width:8px;height:8px;margin-right:var(--e1);
border-right:2px solid var(--texte-doux);border-top:2px solid var(--texte-doux);transform:rotate(45deg)}
h2.libelle-groupe{font-family:inherit;letter-spacing:normal}
.panneau h2#pan-titre{margin:0}
.pan-tete h2{flex:1;min-width:0;margin:0;padding-top:var(--e2);text-wrap:balance}
.pan-pied{display:contents}
@media not all and (min-width:1060px) and (pointer:fine){
.panneau::before{content:"";display:block;width:36px;height:4px;border-radius:var(--r-trait);
background:var(--bord-fort);margin:calc(-1 * var(--e2)) auto var(--e3);flex:none}
.pan-tete{position:sticky;top:calc(var(--e4) * -1);z-index:3;background:var(--carte-elevee);
padding-top:var(--e2);margin-top:calc(var(--e2) * -2)}
}
@media (min-width:1060px) and (pointer:fine){
#fond-modale[open]{align-items:center}
.panneau{
max-width:600px;border-radius:var(--r-md);padding:var(--e5);
max-height:min(86dvh, 860px);box-shadow:var(--elev-3);
transition:transform var(--m-long) var(--m-entree), opacity var(--m-long) var(--m-simple)
}
.panneau:has(> .choix.demande){max-width:420px}
.panneau:has(> .menu-message){max-width:400px}
#fond-modale.entre .panneau,
#fond-modale.part .panneau{transform:translateY(14px) scale(.98);opacity:0}
.pan-tete{position:sticky;top:calc(-1 * var(--e5));z-index:3;background:var(--carte-elevee);margin:calc(-1 * var(--e5)) calc(-1 * var(--e3)) var(--e3) 0;padding:var(--e4) 0 var(--e2)}
.pan-pied{
display:flex;flex-direction:row-reverse;justify-content:flex-start;align-items:center;gap:var(--e2);
position:sticky;bottom:calc(-1 * var(--e5));z-index:2;background:var(--carte-elevee);
margin:var(--e2) calc(-1 * var(--e5)) calc(-1 * var(--e5));padding:var(--e3) var(--e5) var(--e5);border-top:1px solid var(--bord)
}
.pan-pied > button{width:auto;min-width:104px;flex:none;margin:0}
.pan-pied > button.pan-sortie{background:none;border-color:transparent;color:var(--texte-doux)}
.pan-pied > button.pan-sortie:hover{background:var(--fond);color:var(--texte)}
.choix.demande .demande-texte{font-size:var(--t-corps)}
.panneau .choix.long > .pan-pied > .principal{position:static;box-shadow:none}
}
@media (min-width:1060px) and (pointer:fine){
#fond-modale.lateral[open]{justify-content:flex-end;align-items:stretch}
#fond-modale.lateral::backdrop{background:color-mix(in srgb, var(--voile) 40%, transparent)}
#fond-modale.lateral .panneau{width:460px;max-width:100%;height:100dvh;max-height:none;border-radius:0;padding-block:var(--e4)}
#fond-modale.lateral.entre .panneau,#fond-modale.lateral.part .panneau{transform:translateX(32px);opacity:0}
#fond-modale.lateral .choix > .ligne{padding-block:var(--e1)}
#fond-modale.lateral .choix > label{margin-top:var(--e2)}
#fond-modale.lateral .j-voisins{margin-bottom:0}
#fond-modale.lateral .choix input:not([type="checkbox"]):not([type="radio"]),
#fond-modale.lateral .choix select{height:38px;min-height:38px;padding-block:var(--e1)}
}
@media (min-width:1060px) and (pointer:fine){
:root{--h-normal:36px;--h-compact:30px;--ligne-liste:44px;--pad-carte:var(--e3)}
.tuile.raccourci{min-height:var(--ligne-liste)}
.menu-flottant button{min-height:32px;font-size:var(--t-second)}
.menu-flottant button .ic{width:20px;height:20px}
#liste-fils{gap:0}
#liste-fils .fil{
border:none;border-radius:var(--r-pt);background:none;box-shadow:none;
padding:var(--e2) var(--e2);gap:2px;margin:0;position:relative
}
#liste-fils .fil + .fil::before{content:"";position:absolute;left:10px;right:10px;top:0;height:1px;background:var(--bord)}
#liste-fils .fil:hover{background:var(--carte)}
#liste-fils .fil:hover::before,#liste-fils .fil:hover + .fil::before,
#liste-fils .fil.fil-ouvert::before,#liste-fils .fil.fil-ouvert + .fil::before{opacity:0}
#liste-fils .fil.fil-ouvert{background:var(--bleu-pale);box-shadow:inset 3px 0 0 var(--bleu)}
#liste-fils .fil-tete{flex-wrap:nowrap;gap:var(--e2);font-size:var(--t-corps)}
#liste-fils .fil-titre{flex:0 1 auto;max-width:62%}
#liste-fils .fil-tete .fil-lieu{order:0;flex:1 1 0;color:var(--texte-doux);font-size:var(--t-second)}
#liste-fils .fil-tete .fil-lieu::before{content:"· ";color:var(--texte-doux)}
#liste-fils .fil-quand{order:10;margin-left:auto}
#liste-fils .fil-tete:not(:has(.fil-lieu)) .fil-titre{flex:1 1 auto;max-width:none}
#liste-fils .fil-apercu .compteur{min-width:20px;height:20px;font-size:var(--t-legende);padding:0 var(--e1)}
#liste-fils .fil.lieu{column-gap:var(--e3)}
#liste-fils .fil.lieu > .avatar{--d:32px}
#liste-fils .fil.lieu + .fil.lieu::before{left:calc(var(--e2) + 32px + var(--e3))}
}
.groupe-reglages .section{margin-top:0}
.liste-portes .porte > span b{display:block;font-weight:600}
.liste-portes .porte > span small{display:block;font-size:var(--t-second);font-weight:400;color:var(--texte-doux);
overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.liste-portes .porte:has(small){min-height:56px}
.liste-portes .porte .porte-voyant{display:inline-block;width:8px;height:8px;margin-right:var(--e1);vertical-align:middle}
.logo-apercu{background:var(--fond);border:1px solid var(--bord);border-radius:var(--r-md);padding:var(--e4);text-align:center;margin-bottom:var(--e3)}
.logo-apercu img{max-height:52px;max-width:100%}
@media (min-width:1060px) and (pointer:fine){ .liste-portes .porte:has(small){min-height:48px} .liste-portes .porte:hover{background:var(--fond)} }
.pt-tete .pt-titre{margin-bottom:var(--e2)}
.fils-titre-barre{margin-bottom:var(--e2)}
@media (min-width:720px){
.fils-titre-barre{flex-wrap:wrap}
.fils-titre-barre .titre-corps{flex:1 0 auto}
.fils-titre-barre .titre-actions{margin-left:auto}
}
@media (max-width:719px){ .fils-titre-barre{min-height:36px} .fils-titre-barre .titre-nom{--t-ecran:19px} }
.periode{display:inline-flex;flex:none;border:1px solid var(--bord-fort);border-radius:var(--r-md);overflow:hidden;background:var(--carte)}
.periode button{
border:none;border-radius:0;background:none;min-width:38px;width:38px;height:var(--h-compact);
min-height:var(--h-compact);padding:0;color:var(--texte)
}
.periode button + button{border-left:1px solid var(--bord)}
.periode button:hover:not([disabled]){background:var(--fond)}
.periode button[disabled]{color:var(--texte-doux);opacity:var(--estompe)}
.periode .ic{width:20px;height:20px}
@media (pointer:coarse){ .periode button{min-width:44px;width:44px} }
.periode-barre .mois-retour{flex:none}
.periode-barre .mois-titre{flex:1 1 auto}
@media (max-width:719px){ .periode-barre .mois-titre{flex:1 1 140px} }
.saisie-joindre{display:none}
@media (pointer:fine){
.saisie #prendre-photo{display:none}
.saisie .saisie-joindre{display:inline-flex}
.saisie-envoi[disabled]{opacity:var(--estompe);cursor:default}
}
.saisie-outil .ic{width:20px;height:20px}
.saisie-champ{flex:1;min-width:0;position:relative;display:flex}
.saisie-champ textarea{min-height:var(--h-normal);padding-right:var(--h-normal)}
.saisie .saisie-appareil{
position:absolute;right:0;bottom:0;width:44px;height:44px;min-height:44px;padding:0;
border:none;background:none;color:var(--texte-doux);border-radius:50%;
display:flex;align-items:center;justify-content:center;
-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent
}
.saisie-appareil .ic{width:24px;height:24px}
.saisie-appareil:active{color:var(--bleu)}
@media (pointer:fine){
.saisie .saisie-galerie{display:none}
.saisie-champ textarea{padding-right:var(--e3)}
}
.lien-membres{display:flex;align-items:center;gap:var(--e2);width:100%;min-height:var(--h-normal);padding:0 var(--e3);
border:1px solid var(--bord);border-radius:var(--r-md);background:var(--carte);text-align:left;font-weight:500}
.lien-membres .ic:first-child{width:20px;height:20px;color:var(--bleu)}
.lien-membres .ic:last-child{margin-left:auto;width:16px;height:16px;color:var(--texte-doux)}
.duo-infos{display:none}
@media (min-width:1320px){
.duo-infos:not([hidden]){display:block;flex:0 0 360px;min-width:0;overflow-y:auto;overscroll-behavior:contain;
border-left:1px solid var(--bord);background:var(--carte);padding:0 var(--e4) var(--e5)}
.infos-cote-tete{position:sticky;top:0;z-index:2;background:var(--carte);display:flex;align-items:center;
justify-content:space-between;gap:var(--e2);padding:var(--e3) 0 var(--e2);margin-bottom:var(--e2);border-bottom:1px solid var(--bord)}
.infos-cote-tete h2{font-size:var(--t-titre);font-weight:700;margin:0}
body.infos-ouvertes .conv-infos{background:var(--bleu-pale);color:var(--bleu);border-color:var(--bleu)}
}
.duo-astuce{margin-top:var(--e4);font-size:var(--t-second);color:var(--texte-doux);text-align:center;line-height:2}
@media (pointer:coarse){ .duo-astuce{display:none} }
.mois-nom.date-choisie{cursor:pointer;border-radius:var(--r-pt);text-decoration:underline dotted var(--bord-fort);text-underline-offset:4px}
.mois-nom.date-choisie:hover{color:var(--bleu)}
mark{background:var(--ambre-pale);color:inherit;border-radius:var(--r-trait);padding:0 1px}
.rg-voir-plus{margin:var(--e2) 0 var(--e4)}
.rg-res[data-inerte]{cursor:default}
.rg-res[data-inerte]:active{background:var(--carte)}
.rg-recentes .filtre .ic{width:16px;height:16px;margin-right:var(--e1);vertical-align:-2px}
.rg-essayez{margin-top:var(--e4)}
.fil-plus{display:none}
#liste-fils .fil-plus{
display:inline-flex;align-items:center;justify-content:center;flex:none;width:32px;height:24px;min-height:24px;
padding:0;margin-left:2px;margin-block:calc(-1 * var(--e1));border:0;background:transparent;color:var(--texte-doux)
}
#liste-fils .fil-plus .ic{width:20px;height:20px}
#liste-fils .fil-plus::after{content:"";position:absolute;inset:-10px -6px}
@media (hover:hover) and (pointer:fine){
#liste-fils .fil-plus::after{content:none}
#liste-fils .fil-plus{visibility:hidden;width:26px;height:22px;min-height:22px}
#liste-fils .fil:hover .fil-plus,#liste-fils .fil:focus-within .fil-plus{visibility:visible}
#liste-fils .fil-plus .ic{width:20px;height:20px}
}
#liste-fils .fil:focus-visible{outline:2px solid var(--bleu);outline-offset:-2px}
#texte::placeholder{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (min-width:1060px){ body.avec-nav .enveloppe > .bloc-portes{display:none} }
.rf-barre button .ic,.bonr-photo button .ic,.agenda-mini-tete button .ic{width:16px;height:16px;margin:0}
.pel-fleche .ic{width:24px;height:24px}
.et-compare-x .ic{width:24px;height:24px}
.fs-accuse .ic{width:16px;height:16px}
.avatar{--d:32px;--t-avatar:calc(var(--d) * .4);width:var(--d);height:var(--d);min-width:var(--d);flex:none;border-radius:50%;
background:var(--c, var(--bleu-plein));color:var(--sur-couleur);display:inline-flex;align-items:center;
justify-content:center;font-size:var(--t-avatar);font-weight:600;letter-spacing:.02em;line-height:1}
.avatar.s{--d:24px}
.avatar.l{--d:40px}
.avatar.creux{--c:transparent}
.badge,.etat{
display:inline-flex;align-items:center;gap:var(--e1);flex:none;vertical-align:middle;
font-size:var(--t-legende);font-weight:600;line-height:1.5;letter-spacing:0;text-transform:none;
white-space:nowrap;padding:1px var(--e2);border-radius:var(--r-pt);
background:var(--gris-pale);color:var(--gris-sombre)
}
.badge.ton-bleu,.ton-bleu.etat{background:var(--bleu-pale);color:var(--bleu-sombre)}
.badge.ton-vert,.ton-vert.etat{background:var(--vert-pale);color:var(--vert-sombre)}
.badge.ton-ambre,.ton-ambre.etat{background:var(--ambre-pale);color:var(--ambre-sombre)}
.badge.ton-rouge,.ton-rouge.etat{background:var(--alerte-fond);color:var(--alerte-texte)}
.badge.ton-violet{background:var(--violet-pale);color:var(--violet)}
.badge.ton-gris{background:var(--gris-pale);color:var(--gris-sombre)}
.etat.c-bleu{background:var(--bleu-pale);color:var(--bleu-sombre)}
.etat.c-vert{background:var(--vert-pale);color:var(--vert-sombre)}
.etat.c-ambre{background:var(--ambre-pale);color:var(--ambre-sombre)}
.etat.c-gris{background:var(--gris-pale);color:var(--gris-sombre)}
.etat.c-rouge{background:var(--alerte-fond);color:var(--alerte-texte)}
.badge-esabora{
margin-left:var(--e2);display:inline-flex;align-items:center;gap:var(--e1);flex:none;vertical-align:middle;
font-size:var(--t-legende);font-weight:600;line-height:1.5;letter-spacing:0;text-transform:none;
white-space:nowrap;padding:1px var(--e2);border-radius:var(--r-pt);background:var(--bleu-pale);
color:var(--bleu-sombre)
}
.fil-sav{
border:1px solid var(--alerte-texte);display:inline-flex;align-items:center;gap:var(--e1);flex:none;
vertical-align:middle;font-size:var(--t-legende);font-weight:600;line-height:1.5;letter-spacing:0;
text-transform:none;white-space:nowrap;padding:1px var(--e2);border-radius:var(--r-pt);
background:var(--alerte-fond);color:var(--alerte-texte);box-shadow:inset 0 0 0 1px currentColor
}
.badge.contour{box-shadow:inset 0 0 0 1px currentColor}
.badge.ton-fonce{background:var(--gris-sombre);color:var(--carte)}
.compte,.compteur{
min-width:20px;height:20px;padding:0 var(--e2);border-radius:var(--r-max);flex:none;
background:var(--bleu-plein);color:var(--sur-couleur);font-size:var(--t-legende);font-weight:600;
display:inline-flex;align-items:center;justify-content:center;font-variant-numeric:tabular-nums;
font-style:normal;letter-spacing:0
}
.signal,.res-compte{
min-width:20px;height:20px;padding:0 var(--e2);border-radius:var(--r-max);
background:var(--signal);color:var(--sur-signal);font-size:var(--t-legende);font-weight:600;
display:inline-flex;align-items:center;justify-content:center;line-height:1;font-variant-numeric:tabular-nums
}
@media (min-width:1060px){ .nav-puce{margin-left:auto;flex:none;position:static} body.rail-replie .nav-puce{top:1px;right:2px;min-width:18px;height:18px;padding:0 var(--e1);font-size:var(--t-legende);position:absolute} }
.liste-groupee{background:var(--carte);border:1px solid var(--bord);border-radius:var(--r-md);overflow:hidden;margin-bottom:var(--e3)}
.liste-groupee > *{border-radius:0;margin:0}
.liste-groupee > * + *{border-top:1px solid var(--bord)}
.liste-groupee > .actif{background:var(--bleu-pale);box-shadow:inset 3px 0 0 var(--bleu)}
@media (hover:hover){ .liste-groupee > [role="button"]:hover,.liste-groupee > button:hover{background:var(--fond)} }
.ligne-lien{position:relative}
a.ligne{color:inherit;text-decoration:none}
.lien-etire{color:inherit;text-decoration:none}
.lien-etire::after{content:"";position:absolute;inset:0;z-index:0}
.ligne-lien :is(button, a:not(.lien-etire), input, [data-rg-msg]){position:relative;z-index:1}
.lien-etire:focus-visible{outline:none}
.ligne-lien:has(.lien-etire:focus-visible){outline:2px solid var(--bleu);outline-offset:-2px}
.ligne-tableau{display:flex;flex-wrap:wrap;align-items:center;gap:var(--e1) var(--e3);padding:var(--e3) var(--e4);cursor:pointer;min-width:0}
.ligne-tableau.tete{display:none}
.ligne-tableau .lt-nom{display:flex;align-items:center;gap:var(--e2);min-width:0;flex:1 0 100%}
.ligne-tableau .lt-nom b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ligne-tableau .lt-doux{color:var(--texte-doux);font-size:var(--t-second);min-width:0}
.ligne-tableau .lt-coupe{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ligne-tableau .lt-signaux{display:flex;flex-wrap:wrap;gap:var(--e1);align-items:center}
.ligne-tableau .lt-signaux:empty{display:none}
.ligne-tableau:focus-visible{outline:2px solid var(--bleu);outline-offset:-2px}
@media (min-width:1060px){
.tableau-comptes{--colonnes:minmax(180px,1.3fr) minmax(0,.9fr) minmax(0,1.6fr) 130px 130px minmax(0,1.2fr)}
.ligne-tableau{display:grid;grid-template-columns:var(--colonnes);gap:var(--e3);padding:var(--e2) var(--e4);min-height:var(--ligne-liste)}
.ligne-tableau .lt-nom{flex:none}
.ligne-tableau.tete{display:grid;cursor:default;min-height:0;padding-top:var(--e2);padding-bottom:var(--e2);background:var(--fond)}
}
.compte-desactive .lt-nom b{color:var(--texte-doux)}
.ligne-doc{cursor:default;flex-wrap:nowrap;gap:var(--e2)}
.ligne-doc .lt-nom{flex:1 1 auto;gap:var(--e3)}
.ligne-doc .lt-nom > .ic{width:20px;height:20px;color:var(--texte-doux);flex:none}
.ld-texte{display:flex;flex-direction:column;min-width:0}
.ld-titre{display:block;max-width:100%;font-weight:600;color:var(--texte);
overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
button.nom.ld-titre{display:block;min-height:var(--h-compact);cursor:pointer}
@media (hover:hover){ button.nom.ld-titre:hover:not(:disabled){background:none;color:var(--bleu);text-decoration:underline} }
.ld-periode,.ld-meta{font-size:var(--t-legende);color:var(--texte-doux);font-variant-numeric:tabular-nums;
overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ld-col{display:none}
.ligne-doc .lt-gestes{display:flex;gap:var(--e1);align-items:center;flex:none}
@media (min-width:1060px){
.tableau-docs{--colonnes:minmax(0,2fr) minmax(0,1.4fr) 96px 80px 96px}
.tableau-agendas{--colonnes:minmax(0,2fr) minmax(0,1fr) 180px}
.tableau-courriels{--colonnes:minmax(0,2fr) minmax(0,1.4fr) 160px 150px 130px}
.tableau-courriels .lt-erreur{grid-column:1 / -1}
.tableau-listes{--colonnes:minmax(0,2fr) minmax(0,1.2fr) 130px minmax(96px,auto)}
.ld-col{display:block}
.ld-meta{display:none}
.tableau-docs .lt-gestes{justify-content:flex-end}
}
.rangees{background:var(--carte);border:1px solid var(--bord);border-radius:var(--r-md);overflow:hidden;margin-bottom:var(--e3)}
.rangees > .fiche{border:none;border-radius:0;margin:0;box-shadow:none}
.rangees > .fiche + .fiche{border-top:1px solid var(--bord)}
@media (hover:hover){ .rangees > .fiche[data-cal]:hover,.rangees > .fiche[data-liste]:hover,.rangees > .fiche.cliquable:hover{background:var(--fond)} }
@media (min-width:1060px){
.rangees .fiche{display:flex;align-items:center;flex-wrap:wrap;gap:var(--e2) var(--e5);padding:var(--e2) var(--e4);margin-bottom:0}
.rangees .fiche .etat{order:3;flex:0 0 auto;margin-left:auto}
}
.ligne-tableau .lt-signaux .badge{white-space:normal}
.ligne-valeur{cursor:default}
.ligne-valeur .liste-actions{margin:0 0 0 auto}
.ligne-tableau .lt-erreur{flex:1 1 100%;margin:0}
.bulle-corps.en-edition{box-shadow:0 0 0 2px var(--bleu)}
.repond-a.edition .ic{color:var(--bleu)}
#confirmation{
margin:auto;padding:var(--e5) var(--e5) var(--e4);width:min(420px, calc(100vw - 32px));
border:1px solid var(--bord);border-radius:var(--r-md);background:var(--carte-elevee);color:var(--texte);
box-shadow:var(--elev-3)
}
#confirmation::backdrop{background:var(--voile)}
#confirmation .demande{gap:var(--e2)}
#confirmation .demande-titre{margin:0;text-wrap:balance}
#confirmation .demande-texte{font-size:var(--t-corps);margin:0 0 var(--e3);text-wrap:pretty}
#confirmation .demande-actions{display:flex;flex-direction:row-reverse;flex-wrap:wrap;gap:var(--e2)}
#confirmation .demande-actions button{flex:1 1 140px}
button.grave{background:var(--rouge-bouton);border-color:var(--rouge-bouton);color:var(--sur-couleur);font-weight:600}
button.grave:hover:not([disabled]){filter:brightness(.92)}
button.grave[disabled]{background:var(--gris-pale);border-color:var(--bord);color:var(--texte-doux)}
.demande-objet{font-size:var(--t-corps);margin:0}
.pan-echec{margin-top:var(--e2)}
.pan-echec .alerte{margin:0}
.champ-erreur{color:var(--alerte-texte);font-size:var(--t-second);font-weight:600;margin:var(--e1) 0 2px}
input[aria-invalid="true"],textarea[aria-invalid="true"],select[aria-invalid="true"]{
border-color:var(--rouge-vif);box-shadow:0 0 0 1px var(--rouge-vif)
}
.vide-compact{font-size:var(--t-second);color:var(--texte-doux);text-align:left;margin:0;padding:var(--e1) 0}
.deux-champs{display:flex;gap:var(--e2);flex-wrap:wrap}
.deux-champs > .champ-court{display:flex;flex-direction:column;gap:2px;flex:1 1 150px;min-width:0;margin:0;
font-size:var(--t-second);color:var(--texte-doux);font-weight:500}
.deux-champs > .champ-court:first-child{flex:0 1 150px}
.deux-champs > .champ-court input{margin:0;width:100%;flex:none}
[role="button"]:focus-visible,[data-va]:focus-visible,.tuile:focus-visible{outline:2px solid var(--bleu);outline-offset:2px}
.rdv-teinte{background:color-mix(in srgb, var(--rdv, var(--gris-sombre)) 18%, var(--carte));
border-left:3px solid var(--rdv, var(--gris-sombre))}
input[type="checkbox"],input[type="radio"]{width:22px;height:22px;min-height:0;margin:0;flex:none}
@media (min-width:1060px){
.info-page input:not([type="checkbox"]):not([type="radio"]),.info-page textarea,.info-page select{max-width:560px}
.info-page .deux-champs{max-width:560px}
.form-grille{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--e2) var(--e3);max-width:720px;align-items:end}
.form-grille > *{grid-column:span 6}
.form-grille > .fg-3{grid-column:span 3}
.doc-chercher{max-width:720px}
}
.charte-bloc{
background:var(--carte);border:1px solid var(--bord);border-radius:var(--r-md);padding:var(--e4);
display:flex;flex-direction:column;gap:var(--e2)
}
.charte-bloc .section{margin-top:0}
.charte-rangee{display:flex;flex-wrap:wrap;gap:var(--e2);align-items:center}
.charte-couleurs{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--e2)}
.charte-couleur{display:grid;grid-template-columns:28px 1fr;grid-template-rows:auto auto;column-gap:var(--e2);align-items:center}
.charte-couleur span{grid-row:1 / span 2;width:28px;height:28px;border-radius:var(--r-pt);border:1px solid var(--bord);background:var(--c)}
.charte-couleur code{font-family:var(--police-code);font-size:var(--t-legende)}
.charte-couleur small{font-size:var(--t-legende);color:var(--texte-doux)}
.charte button.etat-survol{background:var(--fond);border-color:var(--texte-doux)}
.charte button.principal.etat-survol{background:var(--bleu-fonce-plein);border-color:var(--bleu-fonce-plein)}
.charte button.discret.etat-survol{background:var(--fond);border-color:transparent;text-decoration:underline}
.charte button.danger.etat-survol{background:var(--alerte-texte);color:var(--carte)}
.charte button.grave.etat-survol{background:var(--rouge-bouton);filter:brightness(.92)}
.charte button.etat-appui{transform:scale(.96)}
.charte button.discret.etat-appui{background:var(--bleu-pale);color:var(--bleu-sombre)}
.charte button.danger.etat-appui{background:var(--alerte-texte);color:var(--carte)}
.charte button.etat-focus{outline:2px solid var(--bleu);outline-offset:2px}
.texte-libre{white-space:pre-wrap}
.ligne-courriel{cursor:pointer}
.ligne-courriel:hover{background:var(--bleu-pale)}
.courriel-corps{white-space:pre-wrap; font-size:var(--t-second); max-height:40vh; overflow:auto;
background:var(--fond); border-radius:var(--r-md); padding:var(--e3)}
@media print{
@page{size:A4 landscape; margin:10mm}
body:has(.eq-semaine) #nav, body:has(.eq-semaine) .barre, body:has(.eq-semaine) .periode,
body:has(.eq-semaine) .mois-retour, body:has(.eq-semaine) #eq-imprimer,
body:has(.eq-semaine) .ariane, body:has(.eq-semaine) #bandeau-essai{display:none}
body:has(.eq-semaine) .tab-cadre{overflow:visible; border:none}
body:has(.eq-semaine) .eq-semaine{font-size:var(--t-legende)}
}
.refus-ligne{display:grid;grid-template-columns:56px 1fr;gap:var(--e2) var(--e3);align-items:start;
padding:var(--e3) 0;border-bottom:1px solid var(--bord)}
.refus-ligne img{width:56px;height:56px;border-radius:var(--r-md);object-fit:cover}
.refus-sans{width:56px;height:56px;border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;
background:var(--gris-pale);color:var(--texte-doux)}
.refus-ligne b{display:block}
.refus-ligne span:not(.refus-sans){color:var(--texte-doux);font-size:var(--t-second);
overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.refus-actions{grid-column:1 / -1;display:grid;gap:var(--e2)}
.lot-mosaique{display:grid;grid-template-columns:repeat(3, 1fr);gap:2px;width:min(260px, 70vw);border-radius:var(--r-md);overflow:hidden}
.lot-mosaique.lot-deux{grid-template-columns:repeat(2, 1fr)}
.lot-tuile{position:relative;display:block;aspect-ratio:1;background:var(--gris-pale)}
.lot-tuile img{display:block;width:100%;height:100%;object-fit:cover}
.lot-tuile.en-preparation{background:linear-gradient(90deg, var(--gris-pale) 25%, var(--bord) 37%, var(--gris-pale) 63%);
background-size:400% 100%;animation:onde 1.4s ease-in-out infinite}
.lot-tuile.en-route img{opacity:.6}
.lot-tuile.en-route::after{content:"";position:absolute;inset:32%;border-radius:50%;
background:conic-gradient(var(--bleu-plein) calc(var(--avance, 0) * 1%), transparent 0);
-webkit-mask:radial-gradient(farthest-side, transparent calc(100% - 3px), black calc(100% - 3px));
mask:radial-gradient(farthest-side, transparent calc(100% - 3px), black calc(100% - 3px))}
.lot-reste{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
background:var(--voile);color:var(--sur-couleur);font-size:var(--t-titre)}
.plein-vehicules{display:grid;grid-template-columns:1fr 1fr;gap:var(--e2)}
.plein-vehicule{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;min-height:68px;
padding:var(--e2) var(--e3);background:var(--carte);border:1px solid var(--bord);border-radius:var(--r-md);text-align:left}
.plein-vehicule b{font-size:var(--t-titre);font-variant-numeric:tabular-nums;letter-spacing:.02em}
.plein-vehicule span{color:var(--texte-doux);font-size:var(--t-second);font-weight:400}
.plein-vehicule.actif{border-color:var(--bleu-plein);box-shadow:0 0 0 2px var(--bleu-plein) inset}
.plein-etape{margin-top:var(--e3)}
.plein-prendre{display:flex;align-items:center;justify-content:center;gap:var(--e2);min-height:88px;margin:0;
background:var(--carte);border:1px dashed var(--bleu-plein);border-radius:var(--r-md);color:var(--bleu);font-weight:600;cursor:pointer}
.plein-prendre .ic{width:24px;height:24px}
.plein-apercu{display:flex;align-items:center;gap:var(--e3)}
.plein-apercu img{width:96px;height:96px;object-fit:cover;border-radius:var(--r-pt);background:var(--gris-pale);flex:none}
.plein-refaire{display:inline-flex;align-items:center;gap:var(--e1);margin:0;cursor:pointer}
.plein-photos{display:grid;grid-template-columns:1fr 1fr;gap:var(--e2);margin-bottom:var(--e3)}
.plein-photos img{width:100%;aspect-ratio:3 / 4;object-fit:contain;border-radius:var(--r-pt);background:var(--gris-pale)}
.plein-attente{margin-bottom:var(--e3)}
.plein-export{display:flex;flex-wrap:wrap;align-items:center;gap:var(--e2);margin-bottom:var(--e3)}
.plein-export label{margin:0}
.plein-export input{width:auto;flex:0 1 180px}
#plein-envoyer{width:100%;margin-top:var(--e4)}
.ajout-liste{display:flex;flex-direction:column;gap:var(--e1);margin-bottom:var(--e2)}
.ajout-rang{display:flex;align-items:center;justify-content:space-between;gap:var(--e2);width:100%;min-height:44px;
padding:var(--e1) var(--e2);background:transparent;border:1px solid var(--bord);border-radius:var(--r-pt);text-align:left;font-weight:400}
.ajout-rang-texte{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ajout-texte{overflow-wrap:anywhere;margin:0 0 var(--e3)}
.ajout-prix{display:flex;flex-direction:column;gap:var(--e1)}
.ajout-prix-ligne{display:flex;justify-content:space-between;gap:var(--e3);font-variant-numeric:tabular-nums}
.ajout-prix-ligne.total{font-weight:700;font-size:var(--t-titre);border-top:1px solid var(--bord);padding-top:var(--e1)}
.ajout-immediate{align-items:flex-start;margin-bottom:var(--e2)}
#ajout-valider{width:100%;margin-top:var(--e2)}
#ajout-refus{width:100%;margin-top:var(--e2)}
.outils-creer{display:flex; flex-wrap:wrap; gap:var(--e2); margin-top:var(--e2)}
.outils-creer button{flex:1 1 auto; min-height:44px}
.outils-sous-titre{margin-top:var(--e3)}
.droit-outil select{width:100%; margin-top:var(--e2)}
#vue-outils{padding-block:var(--e2)}
