*{box-sizing:border-box}
body{margin:0;font:400 1.125rem/1.6 var(--p);color:var(--encre);background:var(--fond);-webkit-font-smoothing:antialiased}
:focus-visible{outline:3px solid var(--focus);outline-offset:0;box-shadow:0 0 0 6px var(--focus-cercle)}
.barre :focus-visible{outline-color:var(--mimosa)}
.alertes :focus-visible,.tete :focus-visible{outline-color:var(--focus-barre)}
.vh{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);
  white-space:nowrap;border:0}
.evitement{position:absolute;left:.75rem;top:-5rem;z-index:80;padding:12px 18px;border-radius:var(--rayon);
  background:var(--mimosa);color:#0b1f24;font-weight:700;text-decoration:none}
.evitement:focus{top:.6rem}
h1,h2,h3{font-family:var(--pt);font-weight:750;margin:0;letter-spacing:-.01em}
a{color:var(--lien);text-decoration-thickness:2px;text-underline-offset:.18em}
.ic{width:1.25rem;height:1.25rem;flex:none}
.cadre{display:grid;grid-template-columns:clamp(14rem,18rem,288px) minmax(0,1fr);min-height:100vh}
.barre{position:sticky;top:0;z-index:30;height:100vh;overflow:visible;padding:1.25rem 1rem;display:flex;
  flex-direction:column;gap:1.1rem;color:var(--barre-txt);background:var(--barre);border-right:1px solid var(--barre-bord)}
.barre nav{flex:1 1 auto;min-height:0;overflow-y:auto}
.marque{display:flex;align-items:center;gap:.75rem;color:var(--barre-txt);text-decoration:none;padding:.2rem .4rem;
  border-radius:var(--rayon)}
.marque__m{width:2.75rem;height:2.75rem;flex:none}
.marque__i{width:2.75rem;height:2.75rem;border-radius:12px;display:grid;place-items:center;flex:none;
  background:var(--mimosa);color:#0b1f24;font:800 1.35rem/1 var(--pt)}
.marque__n{display:block;font:800 1.5rem/1.15 var(--pt);letter-spacing:-.02em}
.marque__c{display:block;font-size:.9375rem;color:var(--barre-2);margin-top:.15rem}
.men{list-style:none;margin:0;padding:0;display:grid;gap:.125rem}
.men__g{margin-top:.4rem;padding-top:.4rem;border-top:1px solid rgb(255 255 255/.22)}
.men__t{display:flex;align-items:center;gap:.5rem;width:100%;min-height:36px;margin:0 0 .1rem;padding:0 .75rem;border:0;
  border-radius:var(--rayon);background:none;color:var(--barre-2);font:700 .9375rem/1.2 var(--p);text-align:left;cursor:pointer}
.men__t:hover{background:rgb(255 255 255/.1);color:var(--barre-txt)}
.men__ti{width:1.1rem;height:1.1rem;flex:none}
.men__tl{flex:1 1 auto;min-width:0}
.men__chev{width:1rem;height:1rem;flex:none;transition:transform .15s}
.men__t[aria-expanded="false"] .men__chev{transform:rotate(-90deg)}
.men__s{list-style:none;margin:0;padding:0;display:grid;gap:.125rem}
.men__s[hidden]{display:none}
.men a{display:flex;align-items:center;gap:.65rem;min-height:40px;padding:0 .75rem;border-radius:var(--rayon);
  color:var(--barre-txt);text-decoration:none;font-size:1.0625rem;font-weight:700}
.men a:hover{background:rgb(255 255 255/.1)}
.men a[aria-current]{background:var(--mimosa);color:#0b1f24}
.men a[aria-current="location"]{background:var(--or-clair)}
.men a[aria-current] .men__p{background:#0b1f24;color:#fff}
.men__i{display:none;width:1.35rem;height:1.35rem;flex:none}
.men__p{margin-left:auto;min-width:1.6rem;padding:0 .45rem;height:1.6rem;border-radius:999px;
  display:grid;place-items:center;background:var(--mimosa);color:#0b1f24;font-size:.9375rem;font-weight:800}
.compte{position:relative;margin-top:auto;padding:.75rem 0 0;border-top:1px solid rgb(255 255 255/.22);
  font-size:1rem}
.compte__t{display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%;min-height:44px;padding:.3rem .45rem;border:0;
  border-radius:var(--rayon);font:inherit;color:var(--barre-txt);background:none;cursor:pointer;text-align:left}
.compte__t:hover,.compte:focus-within .compte__t{background:rgb(255 255 255/.1)}
.replier{position:relative;display:grid;place-items:center;flex:none;align-self:center;width:var(--replier);height:var(--replier);margin:-.5rem 0 0;
  padding:0;border:1px solid var(--barre-bord);border-radius:50%;background:none;color:var(--barre-2);cursor:pointer}
.replier:hover{border-color:var(--barre-2);color:var(--barre-txt)}
.replier__i{width:1.25rem;height:1.25rem}
.replier .men__l{position:absolute;left:calc(100% + .6rem);top:50%;z-index:70;width:1px;height:1px;padding:0;overflow:hidden;
  clip-path:inset(50%);white-space:nowrap}
.replier:hover .men__l,.replier:focus-visible .men__l{width:auto;height:auto;padding:.35rem .7rem;overflow:visible;clip-path:none;
  transform:translateY(-50%);border-radius:8px;background:#0b1f24;color:#fff;font:700 .9375rem/1.2 var(--p);box-shadow:0 6px 18px rgb(0 0 0/.3)}
html[data-bulles="cachees"] .replier .men__l{width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%)}
.bascule{display:inline-grid;place-items:center;flex:none;width:var(--cible);height:var(--cible);padding:0;border:2px solid var(--contour);
  border-radius:var(--rayon);background:none;color:var(--encre);cursor:pointer}
.bascule:hover{background:var(--survol)}
.bascule svg{width:1.25rem;height:1.25rem}
.bascule__soleil,html[data-theme="sombre"] .bascule__lune,html:not([data-theme]) .bascule{display:none}
html[data-theme="sombre"] .bascule__soleil{display:block}
.compte__a{width:2.5rem;height:2.5rem;border-radius:50%;display:grid;place-items:center;flex:none;
  background:var(--barre-2);color:#0b1f24;font-weight:800;font-size:1rem}
.compte__n{color:var(--barre-txt);font-weight:700;line-height:1.25;min-width:0;overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap}
.compte__id{display:grid;min-width:0}
.compte__m{color:var(--barre-2);font-size:.875rem;line-height:1.25}
.compte__vol{position:absolute;left:100%;bottom:0;z-index:60;padding-left:var(--compte-pont);
  visibility:hidden;opacity:0;transition:opacity .15s,visibility 0s linear .35s}
.compte:hover .compte__vol,.compte:focus-within .compte__vol,.compte.ouvert .compte__vol{
  visibility:visible;opacity:1;transition-delay:0s}
.compte.ferme .compte__vol{visibility:hidden;opacity:0}
.compte__panneau{min-width:16rem;padding:.35rem;background:var(--blanc);border:1px solid var(--bord);
  border-radius:14px;box-shadow:0 16px 40px rgb(11 31 36/.25)}
.compte__qui{display:grid;margin:0;padding:.35rem .6rem .45rem;color:var(--encre);line-height:1.3}
.compte__qui span{font-size:.9375rem;color:var(--dim)}
.compte__tete{margin:0;padding:.4rem .6rem .15rem;font-size:.9375rem;font-weight:700;color:var(--dim)}
.compte__v{display:flex;align-items:center;gap:.5rem;width:100%;min-height:36px;padding:0 .6rem;
  border-radius:8px;font:inherit;font-size:1rem;font-weight:700;color:var(--encre);
  background:none;border:0;cursor:pointer;text-align:left;text-decoration:none}
.compte__v:hover{background:var(--survol)}
.compte__f,.compte__panneau p.compte__v{margin:0}
.compte__v--actif{box-shadow:inset 4px 0 0 var(--action)}
.compte__v--sortie{color:var(--rouge)}
.compte__sep{height:1px;margin:.35rem .2rem;border:0;background:var(--bord-doux)}
.zone{min-width:0;position:relative;z-index:0}
.zone__c{padding:1.25rem 1.75rem 2rem}
.haut{position:sticky;top:0;z-index:20}
html{scroll-padding-top:var(--haut-hauteur,4rem)}
.tete{display:flex;align-items:center;gap:.5rem 1rem;flex-wrap:wrap;min-height:3.25rem;padding:.4rem 1.75rem;
  color:var(--fil-txt);background:var(--fil-fond);border-bottom:1px solid var(--fil-bord)}
.fil{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;flex:1 1 auto;min-width:0;margin:0;font-size:1rem}
.fil a{color:var(--fil-txt)}
.fil a:hover{text-decoration-thickness:2px}
.fil [aria-current="page"]{font-weight:700}
.fil__s{color:var(--dim)}
.tete__notif{position:relative;display:inline-grid;place-items:center;width:var(--cible);height:var(--cible);margin-left:auto;padding:0;
  border:2px solid var(--contour);border-radius:var(--rayon);color:var(--fil-txt);text-decoration:none}
.tete__notif:hover{background:var(--survol)}
.tete__notif[aria-current="page"]{border-color:var(--action)}
.tete__cloche{width:1.25rem;height:1.25rem}
.tete__n{position:absolute;top:-.55rem;right:-.55rem;min-width:1.35rem;height:1.35rem;padding:0 .3rem;border-radius:999px;display:grid;
  place-items:center;background:var(--mimosa);color:#0b1f24;font-size:.8125rem;font-weight:800;line-height:1}
.alertes{margin:0}
.alerte{margin:0;padding:.6rem 1.75rem;font-size:1.0625rem;font-weight:700;color:var(--ok-txt);
  background:var(--ok-fond);border-bottom:2px solid var(--ok-bord)}
.alerte--error,.alerte--danger{color:var(--err-txt);background:var(--err-fond);border-color:var(--err-bord)}
.alerte--info{color:var(--info-txt);background:var(--info-fond);border-color:var(--info-txt)}
.entete{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin:0 0 1.25rem;
  flex-wrap:wrap}
.entete h1{font-size:clamp(1.9rem,1.4rem + 1.3vw,2.75rem);font-weight:750;line-height:1.1;letter-spacing:-.02em}
.entete p{margin:.3rem 0 0;color:var(--dim);font-size:1.0625rem;max-width:62ch}
.outils{display:flex;gap:.6rem;flex-wrap:wrap}
.fen{background:var(--blanc);border:1px solid var(--bord);border-radius:var(--rayon-carte);margin:0 0 1.1rem;overflow:hidden}
.reglages{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(var(--reglage-largeur),100%),1fr));gap:1.1rem;align-items:start}
.reglages__carte{background:var(--blanc);border:1px solid var(--bord);border-radius:var(--rayon-carte);overflow:hidden}
.reglages__t{margin:0;padding:.85rem 1.1rem;background:var(--barre);color:var(--barre-txt);border-bottom:3px solid var(--or);font-size:1.0625rem;font-weight:700}
.reglages__liens{list-style:none;margin:0;padding:0}
.reglages__liens li+li{border-top:1px solid var(--bord-doux)}
.reglages__liens a{display:block;padding:.85rem 1.1rem;color:var(--lien);font-weight:700;text-decoration:none}
.reglages__liens a:hover{background:var(--survol)}
.reglages__d{display:block;margin-top:.15rem;color:var(--dim);font-size:.9375rem;font-weight:400}
.fen__t{display:flex;align-items:center;gap:.6rem;margin:0;padding:.8rem 1.15rem;font-size:1.25rem;font-weight:750;
  color:var(--titre-txt);background:var(--titre-h);
  border-bottom:1px solid var(--bord)}
.fen__t .ic{width:1.25rem;height:1.25rem}
.fen__t span.dr{margin-left:auto;font-size:1rem;font-weight:500;color:var(--dim)}
.fen__c{padding:1.15rem;overflow-x:auto}
.fen__c--nu{padding:0;position:relative;overflow-x:auto}
.fen__c--nu:focus-visible{outline-offset:-3px}
.fen__aide{margin:0;padding:.6rem .6rem 0}
.fen__intro{margin:0 0 .75rem}
.bar{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;padding:.65rem 1.15rem;
  background:var(--fond-2);border-bottom:1px solid var(--bord-doux)}
.ch{display:flex;align-items:center;gap:.5rem;font-size:1rem;color:var(--dim)}
input[type=text],input[type=search],input[type=email],input[type=tel],input[type=date],input[type=datetime-local],input[type=password],input[type=number],select,textarea{font:inherit;font-size:1.0625rem;min-height:var(--cible);padding:.35rem .7rem;
  color:var(--encre);background:var(--champ);border:2px solid var(--contour);border-radius:var(--rayon)}
input[type=text]{min-width:12rem}
input[type=checkbox]{inline-size:1.5rem;block-size:1.5rem;margin:0;flex:none;accent-color:var(--ardoise)}
.f-case input[type=checkbox]:disabled{accent-color:var(--dim);opacity:1}
.f-case:has(input:disabled){color:var(--dim)}
.f-case:has(.help-text){flex-wrap:wrap}
.f-case .help-text{flex-basis:100%;margin:0;font-size:1rem;color:var(--dim)}
textarea{width:100%;min-height:5rem;resize:vertical}
.b{font:inherit;font-size:1.0625rem;font-weight:700;line-height:1.2;min-height:var(--cible);padding:.3rem .95rem;
  border-radius:var(--rayon);cursor:pointer;border:2px solid var(--btn-bord);background:var(--btn);color:var(--btn-bord);
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;text-decoration:none;text-align:center}
.b:hover{background:var(--btn-h)}
.b--p{border-color:var(--action);background:var(--action);color:var(--sur-action)}
.b--p:hover{border-color:var(--encre);background:var(--encre);color:var(--blanc)}
table{width:100%;border-collapse:collapse;font-size:1.0625rem}
thead th{text-align:left;font-size:.9375rem;color:var(--dim);font-weight:700;padding:.55rem .6rem;
  background:var(--titre-h);border-bottom:2px solid var(--contour)}
tbody td,tbody th[scope=row]{padding:.6rem .6rem;border-bottom:1px solid var(--ligne);vertical-align:top}
tbody th[scope=row]{text-align:left;font-weight:inherit}
tbody tr:nth-child(even){background:var(--zebra)}
tbody tr[data-act]{cursor:pointer}
tbody tr[data-act]:hover{background:var(--survol)}
.mono{font-family:var(--pm);font-weight:700;font-size:1rem;white-space:nowrap}
.dim{color:var(--dim)}
.ta-d{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.bulle{position:relative;display:inline-flex;border-radius:999px}
.bulle__t{position:fixed;left:var(--bulle-x,0);top:var(--bulle-y,0);z-index:40;width:1px;height:1px;padding:0;overflow:hidden;
  clip-path:inset(50%);white-space:nowrap}
.bulle:hover .bulle__t,.bulle:focus-visible .bulle__t{width:max-content;max-width:min(var(--bulle-largeur),calc(100vw - 1rem));height:auto;
  padding:.35rem .7rem;overflow:visible;clip-path:none;white-space:normal;transform:translate(-50%,var(--bulle-dy,-100%));
  border-bottom:var(--bulle-pont) solid transparent;border-radius:8px;background:#0b1f24 padding-box;
  color:#fff;font:700 .9375rem/1.2 var(--p);box-shadow:0 6px 18px rgb(0 0 0/.3)}
html[data-bulles="cachees"] .bulle .bulle__t{width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%)}
.choix{position:relative}
.choix__liste{position:absolute;left:0;right:0;top:calc(100% + .25rem);z-index:30;max-height:18rem;overflow-y:auto;margin:0;padding:.35rem;
  list-style:none;background:var(--blanc);border:1px solid var(--bord);border-radius:14px;box-shadow:0 16px 40px rgb(11 31 36/.25)}
.choix__liste li{display:grid;padding:.45rem .6rem;border-radius:8px;cursor:pointer;font-size:1rem}
.choix__liste li span{color:var(--dim)}
.choix__liste li:hover,.choix__liste li[aria-selected="true"]{background:var(--survol)}
.choix__liste li[aria-selected="true"]{box-shadow:inset 4px 0 0 var(--action)}
.carte__titre{margin:0 0 .3rem;font-size:1.0625rem;font-weight:700}
.carte__fond--mairie{height:var(--carte-mairie-hauteur);border:2px solid var(--contour);border-radius:var(--rayon)}
.carte__repere{border:3px solid #fff;border-radius:50%;background:var(--ardoise);box-shadow:0 0 0 2px var(--ardoise),0 4px 10px rgb(0 0 0/.4)}
.pil{display:inline-flex;align-items:center;gap:.35rem;padding:.1rem .65rem;border-radius:999px;font-size:.9375rem;
  font-weight:700;line-height:1.4;border:1px solid transparent;white-space:nowrap}
.pil--vert{background:var(--pil-vert-f);color:var(--pil-vert)}
.pil--jaune{background:var(--pil-jaune-f);color:var(--pil-jaune)}
.pil--orange{background:var(--pil-orange-f);color:var(--pil-orange)}
.pil--rouge{background:var(--pil-rouge-f);color:var(--pil-rouge)}
.pil--violet{background:var(--pil-violet-f);color:var(--pil-violet)}
.pil--bleu{background:var(--pil-bleu-f);color:var(--pil-bleu)}
.pil--gris{background:var(--pil-gris-f);color:var(--pil-gris)}
.afaire tbody td{vertical-align:middle}
.afaire .afaire__g{background:var(--fond-2)}
.afaire__g th{padding:.6rem;text-align:left;font-size:1.0625rem;border-bottom:1px solid var(--ligne)}
.afaire__g td{font-size:1rem}
.afaire .afaire__act{width:1%;text-align:right;white-space:nowrap}
.journal thead th,.journal tbody td{padding:.6rem 1rem}
.chiffres{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:.75rem;margin:0 0 1.1rem}
.vig{display:grid;grid-row:span 2;grid-template-rows:subgrid;row-gap:.3rem;align-content:start;min-width:0;
  background:var(--blanc);border:1px solid var(--bord);border-radius:16px;padding:.9rem 1.15rem}
.vig b{display:block;font:800 2rem/1.1 var(--pt);font-size:clamp(1.5rem,17cqi,2.25rem);letter-spacing:-.02em;
  font-variant-numeric:tabular-nums;white-space:nowrap}
.vig span{font-size:1rem;color:var(--dim)}
.vig--al b{color:var(--rouge)}
.vig a{color:inherit;text-decoration:none}
.vig dt{font-size:1rem;color:var(--dim)}
.vig dd{margin:0;min-width:0;container-type:inline-size}
.vig dd span{display:block}
.deux{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;align-items:start}
@media(max-width:1320px){.deux{grid-template-columns:minmax(0,1fr)}}
.deux>*{min-width:0}
dl.det{display:grid;grid-template-columns:auto 1fr;gap:.35rem 1rem;margin:0;font-size:1.0625rem}
dl.det dt{color:var(--dim)}
dl.det dd{margin:0;font-weight:700}
ul.pers{list-style:none;margin:0;padding:0;font-size:1.0625rem}
ul.pers li{display:flex;gap:.75rem;align-items:baseline;padding:.5rem 0;border-bottom:1px solid var(--ligne)}
ul.pers li:last-child{border:0}
ul.pers .r{margin-left:auto;font-size:1rem;color:var(--dim);text-align:right}
.ong{display:flex;gap:.4rem;padding:.6rem 1.15rem 0;background:var(--blanc);
  border-bottom:1px solid var(--bord);flex-wrap:wrap}
.ong button,.ong a{font:inherit;font-size:1.0625rem;font-weight:700;min-height:var(--cible);padding:0 .85rem;cursor:pointer;
  border:0;border-radius:var(--rayon) var(--rayon) 0 0;background:none;color:var(--dim);position:relative;top:1px;
  text-decoration:none;display:inline-flex;align-items:center;border-bottom:4px solid transparent}
.ong button:hover,.ong a:hover{color:var(--encre);background:var(--survol)}
.ong button[aria-selected="true"],.ong a[aria-current="page"]{color:var(--encre);border-bottom-color:var(--action)}
.bar .b[aria-current="page"]{border-color:var(--action);background:var(--action);color:var(--sur-action)}
.pan{display:none}
.pan.on{display:block}
.lgc{display:flex;gap:1rem;flex-wrap:wrap;font-size:1rem;color:var(--dim);margin:.7rem 0 0}
.lgc i,.leg i{display:inline-block;width:.7rem;height:.7rem;border:1px solid #7a7a7a;margin-right:.3rem;
  vertical-align:-1px}
.leg{display:flex;gap:1rem;flex-wrap:wrap;padding:.65rem 1.15rem;font-size:1rem;color:var(--dim);
  border-top:1px solid var(--bord-doux)}
.leg i{border-color:var(--bord);border-radius:2px}
.plan{width:100%;height:auto;display:block;background:var(--fond-2)}
.plan-zoom{position:relative;overflow:hidden;background:var(--fond-2);cursor:grab;
  touch-action:none;outline-offset:-2px;isolation:isolate}
.plan-zoom:focus-visible{outline:3px solid var(--focus)}
.plan-zoom.att{cursor:grabbing}
.plan-zoom .plan{transform-origin:0 0;will-change:transform}
.plan-b{position:absolute;top:.75rem;right:.75rem;z-index:1;display:flex;gap:.35rem;align-items:center;
  background:var(--blanc);border:1px solid var(--bord);border-radius:var(--rayon);padding:.35rem;
  box-shadow:0 4px 12px rgb(11 31 36/.2)}
.plan-b button{font:inherit;font-size:1.0625rem;font-weight:700;width:var(--cible);height:var(--cible);cursor:pointer;
  border:2px solid var(--contour);border-radius:8px;background:var(--btn);color:var(--encre)}
.plan-b button:hover{background:var(--btn-h)}
.plan-b button.large{width:auto;padding:0 .75rem}
.plan-b .ech{font-size:1rem;color:var(--dim);min-width:3.2rem;text-align:center;
  font-family:var(--pm)}
.plan-aide{padding:.6rem 1.15rem;font-size:1rem;color:var(--dim);
  border-top:1px solid var(--bord-doux);background:var(--fond-2)}
.carte__fond{height:var(--carte-hauteur);background:var(--fond-2);isolation:isolate}
.carte__fond.tracet{cursor:crosshair}
.carte .plan{background:none}
.carte .pl-cadre{fill:none;stroke-dasharray:6 4}
.carte .leaflet-control-layers input[type=checkbox]{inline-size:auto;block-size:auto}
.carte .leaflet-control-attribution{color:#1d2228;background:rgb(255 255 255/.92)}
.carte .leaflet-control-attribution a{color:#1d2228;text-decoration:underline}
.carte .leaflet-control-layers label{font-size:.82rem}
.pl-c{font:600 10px var(--p);fill:var(--dim)}
.pl-l{font:600 9px var(--pm);fill:var(--encre);text-anchor:middle}
.pl-e{cursor:pointer}
.pl-e:hover rect{stroke:#1d2228;stroke-width:2}
.vue{display:none}
.vue.on{display:block}
.note{margin:1.1rem 0 0;padding:.8rem 1rem;background:var(--info-fond);border:0;
  border-radius:14px;font-size:1.0625rem;color:var(--encre)}
.cal{display:grid;grid-template-columns:6.5rem repeat(7,1fr);font-size:1rem;
  border-left:1px solid var(--bord-doux)}
.cal div{border-right:1px solid var(--bord-doux);border-bottom:1px solid var(--bord-doux);
  padding:.45rem .5rem;min-height:2.75rem}
.cal .cal__j{background:var(--titre-h);font-weight:700;
  color:var(--titre-txt);text-align:center}
.cal .cal__s{background:var(--fond-2);font-weight:600}
.cal__r{border-radius:6px;padding:.15rem .4rem;font-size:.9375rem;font-weight:700;display:block}
.cal__r--ok{background:var(--pil-vert-f);color:var(--pil-vert);border:1px solid var(--pil-vert)}
.cal__r--dem{background:repeating-linear-gradient(135deg,var(--blanc) 0 5px,var(--pil-jaune-f) 5px 10px);
  color:var(--pil-jaune);border:1px dashed var(--pil-jaune)}
.etapes{list-style:none;margin:0;padding:0;font-size:1.0625rem}
.etapes li{display:flex;gap:.75rem;align-items:flex-start;padding:.55rem 0;
  border-bottom:1px solid var(--ligne)}
.etapes li:last-child{border:0}
.etapes .n{width:2.25rem;height:2.25rem;border-radius:8px;flex:none;display:grid;place-items:center;
  font:700 .9375rem var(--pm);border:2px solid var(--contour);background:var(--blanc);color:var(--dim)}
.etapes .n--f{border-color:var(--pil-vert);background:var(--pil-vert-f);color:var(--pil-vert)}
.etapes .n--c{border:3px solid #0b1f24;background:var(--mimosa);color:#0b1f24}
.etapes b{display:block}
.etapes small{color:var(--dim)}
.etapes__c{display:grid;gap:.15rem;flex:1;min-width:0}
.porte{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:100vh;background:var(--fond)}
.porte__visuel{position:relative;display:flex;flex-direction:column;justify-content:center;gap:1.25rem;overflow:hidden;
  padding:3rem clamp(1.5rem,5vw,4.5rem);background:var(--ardoise);color:#fff}
.porte__visuel--photo{justify-content:flex-end;padding:0}
.porte__photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.porte__legende{position:relative;display:grid;gap:.3rem;padding:4rem clamp(1.5rem,5vw,4.5rem) 2.5rem;font-size:1.125rem;
  background:linear-gradient(rgb(11 31 36/0),rgb(11 31 36/.88) 45%)}
.porte__ville{font:800 clamp(1.9rem,1.2rem + 1.8vw,2.75rem)/1.08 var(--pt);letter-spacing:-.025em}
.porte__arche,.porte__initiale{width:4.5rem;height:4.5rem;flex:none}
.porte__blason{align-self:flex-start;width:auto;max-width:10rem;height:6.5rem;object-fit:contain;padding:.6rem;border-radius:16px;background:#fff}
.porte__initiale{display:grid;place-items:center;border-radius:16px;background:var(--mimosa);color:#0b1f24;font:800 2.25rem/1 var(--pt)}
.porte__accroche{max-width:15ch;margin:0;font:800 clamp(2rem,1.1rem + 2.6vw,3.6rem)/1.04 var(--pt);letter-spacing:-.03em}
.porte__texte{max-width:32rem;margin:0;color:#cfe3e6;font-size:1.1875rem}
.porte__plan{display:grid;grid-template-columns:repeat(8,minmax(0,2.75rem));gap:8px;margin-top:1.5rem}
.porte__case{aspect-ratio:1;border:1.5px solid rgb(255 255 255/.28);border-radius:6px;background:rgb(255 255 255/.1)}
.porte__case--l{border-style:dashed;border-color:rgb(255 255 255/.55);background:none}
.porte__case--x{border-color:var(--mimosa);background:var(--mimosa)}
.porte__c{position:relative;display:grid;place-items:center;padding:2.5rem 1.5rem}
.porte__bascule{position:absolute;top:1rem;right:1rem}
.porte__boite{width:min(28rem,100%)}
.porte__t.marque{gap:.85rem;margin:0 0 1.5rem;padding:0;color:var(--encre)}
.porte__t .marque__n{font-size:1.75rem}
.porte__t .marque__c{color:var(--dim);font-size:1rem}
.porte__info{margin:0 0 1.1rem;padding:.7rem .95rem;border:2px solid var(--ok-bord);border-radius:var(--rayon);background:var(--ok-fond);
  color:var(--ok-txt);font-weight:700}
.porte__intro{margin:0 0 1.1rem;color:var(--dim)}
.porte__aide{margin:0 0 .9rem 2.1rem;color:var(--dim);font-size:.9375rem}
.codes-secours{display:grid;grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:.4rem 1rem;margin:0 0 1rem;padding-left:1.6rem}
.codes-secours code{font-family:var(--pm);font-size:1.0625rem;font-weight:700;letter-spacing:.04em}
.porte__form .ch{display:grid;gap:.3rem;margin:0 0 .9rem;align-items:start;color:var(--encre);font-weight:700}
.porte__form input:not([type=checkbox]){width:100%;min-width:0}
.porte__form .f-case{align-items:flex-start;margin:.1rem 0 .2rem}
.porte__form .f-case label{flex:1 1 0;font-weight:700}
.porte__form .b{width:100%;min-height:44px;margin-top:.25rem}
.porte__liens{display:flex;flex-wrap:wrap;gap:.1rem 1.25rem;margin:1.1rem 0 0;padding:0;list-style:none}
.porte__liens a{display:inline-flex;align-items:center;min-height:2.25rem;font-weight:700}
.porte__case--v{border:2px dashed var(--mimosa);background:none}
.oups{margin:0 0 1rem}
.oups__o{display:block;font:800 clamp(3.5rem,2.4rem + 4vw,5.75rem)/.95 var(--pt);letter-spacing:-.045em}
.oups__o::after{content:"";display:block;width:3.5rem;height:.4rem;margin:.9rem 0 1.1rem;border-radius:999px;background:var(--mimosa)}
.oups__t{display:block;font:750 clamp(1.5rem,1.2rem + 1vw,2rem)/1.15 var(--pt);letter-spacing:-.015em}
.oups__texte{margin:0 0 1.6rem;color:var(--dim)}
.oups__retour{min-height:48px;padding:.5rem 1.5rem}
.oups__vers{margin:.55rem 0 0;color:var(--dim);font-size:.9375rem}
.oups__code{margin:2.25rem 0 0;padding-top:1rem;border-top:1px solid var(--bord);color:var(--dim);font-size:.9375rem}
.photo-mairie{margin:0 0 .9rem}
.module-resume{display:block;max-width:44ch;color:var(--dim);font-size:.9375rem}
.photo-mairie img{display:block;width:100%;max-height:14rem;object-fit:cover;border-radius:var(--rayon)}
.erreur{margin:0 0 1.1rem;padding:.8rem 1rem;background:var(--err-fond);color:var(--err-txt);
  border:2px solid var(--err-bord);border-radius:var(--rayon);font-size:1rem;font-weight:700}
.f-champ{display:grid;gap:.3rem;margin:0 0 .9rem;font-size:1.0625rem}
.f-champ label{color:var(--encre);font-weight:700}
.f-champ input,.f-champ select{width:100%;min-width:0}
.f-champ .help-text{margin:0;font-size:1rem;color:var(--dim)}
.f-erreurs{margin:0;padding:0;list-style:none;color:var(--rouge);font-size:1rem;font-weight:700}
.f-champ--err input,.f-champ--err select,.f-champ--err textarea{border:3px solid var(--rouge)}
.f-grille{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem;align-items:start}
.f-grille>.f-bloc,.f-grille>.f-case,.f-grille>.f-large{grid-column:1/-1}
.f-suppr{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--bord)}
.f-suppr p{margin:0}
.f-bloc{margin:0 0 .9rem;padding:.6rem .85rem .2rem;border:1px solid var(--bord);border-radius:14px}
.f-bloc legend{padding:0 .4rem;font-size:1.0625rem;font-weight:700;color:var(--encre)}
.f-bloc .f-case{margin:0 0 .4rem}
.f-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.6rem}
.filtres{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.6rem .75rem}
.filtres .f-champ{flex:1 1 9rem;margin:0}
.filtres .filtres__q{flex:2 1 15rem}
.filtres__actions{display:flex;gap:.5rem}
.b--icone{display:inline-grid;place-items:center;width:var(--cible);padding:0}
.b__i{width:1.25rem;height:1.25rem}
.pages__l{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin:0;padding:0;list-style:none}
.pages__n{min-width:var(--cible)}
.pages__n[aria-current]{cursor:default}
.pages__e{padding:0 .2rem;color:var(--dim)}
.modele{display:grid;grid-template-columns:minmax(0,2fr) minmax(16rem,1fr);gap:1.1rem;align-items:start}
.editeur{margin:0 0 1rem}
.editeur__outils{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem;padding:.3rem .4rem;border:2px solid var(--contour);
  border-bottom:1px solid var(--bord);border-radius:var(--rayon) var(--rayon) 0 0;background:var(--fond-2)}
.editeur__outils .ql-formats{display:inline-flex;gap:.125rem;padding-right:.3rem;border-right:1px solid var(--bord)}
.editeur__outils .ql-formats:last-child{padding-right:0;border-right:0}
.editeur__outils button{display:inline-grid;place-items:center;width:2.125rem;height:2.125rem;padding:.4rem;border:0;border-radius:6px;
  background:none;color:var(--encre);cursor:pointer}
.editeur__outils button:hover{background:var(--survol)}
.editeur__outils button.ql-active{background:var(--action);color:var(--sur-action)}
.editeur__outils button:disabled{opacity:.4;background:none;cursor:default}
.editeur__outils svg{width:1.125rem;height:1.125rem}
.editeur__outils .ql-stroke{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.editeur__outils .ql-stroke-miter{fill:none;stroke:currentColor;stroke-width:2;stroke-miterlimit:10}
.editeur__outils .ql-fill{fill:currentColor}
.editeur__outils .ql-even{fill-rule:evenodd}
.editeur__outils .ql-thin{stroke-width:1}
.editeur__outils .ql-transparent{opacity:.4}
.editeur .ql-container{border:2px solid var(--contour);border-top:0;border-radius:0 0 var(--rayon) var(--rayon);background:var(--champ);
  color:var(--encre);font:inherit}
.editeur .ql-container:focus-within{outline:3px solid var(--focus);box-shadow:0 0 0 6px var(--focus-cercle)}
.editeur .ql-editor{min-height:6rem;padding:.7rem .9rem;line-height:1.6;overflow-wrap:anywhere}
[data-editeur-principal] .ql-editor{min-height:18rem}
.editeur .ql-editor p{margin:0 0 .45rem}
.editeur .ql-editor h2{margin:.6rem 0 .3rem;font-size:1.25rem}
.editeur .ql-editor blockquote{margin:.3rem 0 .3rem 1rem;padding-left:.8rem;border-left:3px solid var(--bord)}
.champs-fen{position:sticky;top:var(--haut-hauteur,4rem);display:flex;flex-direction:column;max-height:calc(100vh - var(--haut-hauteur,4rem) - 1rem)}
.champs-fen .fen__c{overflow-y:auto}
.champs-g{margin:0 0 .6rem;border-bottom:1px solid var(--bord-doux)}
.champs-g summary{display:flex;align-items:center;min-height:var(--cible);font-weight:700;cursor:pointer}
.champs{display:grid;gap:.35rem;margin:0 0 .5rem;padding:0;list-style:none}
.champs__l{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.3rem .6rem;padding:.35rem 0;
  border-bottom:1px solid var(--bord-doux)}
.champs__n{min-width:0;font-size:1rem}
.champs__n code{font-family:var(--pm);font-size:.9375rem}
.actions-modele{display:flex;flex-wrap:wrap;gap:.4rem}
.actions-modele .f-inline{display:contents}
.reprise-docs{display:flex;flex-wrap:wrap;gap:.2rem .6rem;margin:0 0 .8rem}
.reprise-docs span:first-child{font-weight:700}
.signature-maire-apercu{margin:0 0 .8rem}
.signature-maire-apercu img{display:block;max-width:16rem;max-height:7rem;padding:.4rem;border-radius:var(--rayon);background:#fff}
.f-case{display:flex;align-items:center;gap:.6rem;min-height:var(--cible);font-size:1.0625rem;color:var(--encre)}
.f-grille--droits{gap:.2rem .9rem;align-content:start}
.f-droit{display:grid;gap:.25rem;align-content:start}
.f-droit>.f-case label{font-weight:600}
.f-droit__perm{margin-left:1.1rem}
.f-droit__perm label{color:var(--dim);font-size:1rem}
.f-ligne{display:grid;grid-template-columns:1fr auto auto auto;gap:.75rem;align-items:center;
  padding:.45rem 0;border-bottom:1px solid var(--ligne);font-size:1.0625rem}
.f-ligne:last-child{border:0}
.f-ligne input[type=date]{min-width:9rem}
.f-montant{display:inline-flex;align-items:center;gap:.3rem;flex-wrap:wrap}
.f-montant input[type=text]{min-width:0;width:8rem}
.f-inline{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin-left:.35rem}
.f-inline .f-champ{margin:0}
.usurp{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;margin:0;padding:.55rem 1.75rem;font-size:1.0625rem;
  font-weight:700;color:var(--usurp-txt);background:var(--usurp-fond);border-bottom:2px solid var(--usurp-bord)}
.usurp .f-inline{margin-left:auto}
.notifs{list-style:none;margin:0;padding:0}
.notif{display:flex;gap:.85rem;align-items:flex-start;padding:.75rem 1.15rem;border-bottom:1px solid var(--ligne)}
.notif:last-child{border-bottom:0}
.notif--neuve{box-shadow:inset 4px 0 0 var(--mimosa)}
.notif__c{flex:1 1 auto;min-width:0}
.notif__t{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin:0 0 .3rem;font-size:1.125rem}
.notif__m{margin:0 0 .3rem;font-size:1.0625rem;max-width:72ch}
.notif__d{margin:0;font-size:.9375rem;color:var(--dim)}
.notif__a{flex:none}
.rapports{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,var(--rapport-min)),1fr));
  gap:1.1rem;align-items:start}
.rapport{margin:0}
.rapport__d{margin:0;padding:.8rem 1.15rem 0;color:var(--dim);font-size:1rem;max-width:62ch}
.rapport__chiffre{margin:0;padding:.8rem 1.15rem;font-size:1.0625rem}
.rapport__chiffre b{font:800 2rem/1.1 var(--pt);margin-right:.35rem}
.rapport__liens{display:flex;gap:.6rem;flex-wrap:wrap;margin:0;padding:.2rem 1.15rem 1.15rem}
.graphe{margin:0;padding:.8rem 1.15rem}
.graphe__t{margin:0 0 .6rem;font-size:1.0625rem;font-weight:700;color:var(--encre)}
.graphe__vide{margin:0;color:var(--dim);font-size:1.0625rem}
.graphe__svg{display:block;width:100%;min-width:var(--graphe-min);max-width:var(--graphe-max);height:auto}
.graphe--donut .graphe__svg{width:var(--graphe-donut);min-width:0;max-width:100%;margin-inline:auto}
.graphe--donut .graphe__legende{justify-content:center}
.graphe--donut .graphe__t{text-align:center}
.graphe__svg text{fill:var(--dim);font:12px var(--p)}
.graphe__svg .graphe__total{fill:var(--encre);font:600 20px var(--pt)}
.graphe__axe line{stroke:var(--ligne);stroke-width:1;shape-rendering:crispEdges}
.graphe__base{stroke:var(--dim);stroke-width:1;shape-rendering:crispEdges}
.graphe__svg rect,.graphe__svg path,.graphe__svg circle,.hb__t rect{stroke:var(--blanc);stroke-width:1.5}
.graphe__svg .graphe__ligne,.graphe__cle .graphe__ligne{fill:none;stroke-width:2.5}
.g-s1{fill:var(--serie-1);background:var(--serie-1)}
.g-s2{fill:var(--serie-2);background:var(--serie-2)}
.g-s3{fill:var(--serie-3);background:var(--serie-3)}
.g-s4{fill:var(--serie-4);background:var(--serie-4)}
.g-s5{fill:var(--serie-5);background:var(--serie-5)}
.g-s6{fill:var(--serie-6);background:var(--serie-6)}
.g-l1{stroke:var(--serie-1)}
.g-l2{stroke:var(--serie-2);stroke-dasharray:7 4}
.g-l3{stroke:var(--serie-3);stroke-dasharray:2 3}
.g-l4{stroke:var(--serie-4);stroke-dasharray:10 3 2 3}
.g-l5{stroke:var(--serie-5)}
.g-l6{stroke:var(--serie-6);stroke-dasharray:7 4}
.graphe__legende{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem 1.25rem;
  font-size:1rem}
.graphe__legende li{display:flex;align-items:center;gap:.4rem}
.graphe__legende b{font-variant-numeric:tabular-nums}
.graphe__puce{width:.8rem;height:.8rem;border-radius:2px;flex:none}
.graphe__cle{flex:none}
.hb{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}
.hb__r{display:grid;grid-template-columns:var(--hb-etiquette) minmax(4rem,1fr) auto;gap:.75rem;align-items:center;
  font-size:1rem}
.hb__t{display:block;width:100%;height:18px}
.hb__v{font-variant-numeric:tabular-nums;white-space:nowrap}
.plan-site{margin:0;padding-left:1.4rem;line-height:2.1}
.plan-site ul{padding-left:1.2rem}
@media print{
  .barre,.entete,.tete,.usurp,.alertes,.fen__t,.afaire__act{display:none!important}
  .haut{position:static}
}
.marque__v{width:auto;height:2.75rem;max-width:5.5rem;object-fit:contain;border-radius:8px;flex:none;
  background:#fff;padding:.2rem}
.blason{display:flex;justify-content:center;padding:.6rem .2rem;background:rgb(255 255 255/.7);
  border-radius:8px}
.blason img{max-width:100%;height:auto}
html[data-menu="replie"] .cadre{grid-template-columns:4.25rem minmax(0,1fr)}
html[data-menu="replie"] .barre{padding:1.25rem .5rem;gap:1rem}
html[data-menu="replie"] .marque{justify-content:center;padding:.2rem 0;gap:0}
html[data-menu="replie"] .marque__n,html[data-menu="replie"] .marque__c,html[data-menu="replie"] .compte__n,html[data-menu="replie"] .compte__m{position:absolute;
  width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
html[data-menu="replie"] .marque__v{max-width:2.75rem}
html[data-menu="replie"] .men__t{display:none}
html[data-menu="replie"] .men__s[hidden]{display:grid}
html[data-menu="replie"] .men a{position:relative;justify-content:center;padding:0}
html[data-menu="replie"] .replier__i{transform:scaleX(-1)}
html[data-menu="replie"] .men__i{display:block}
html[data-menu="replie"] .men__l{position:fixed;left:4.9rem;top:var(--bulle-y,50%);z-index:70;width:1px;height:1px;padding:0;overflow:hidden;
  clip-path:inset(50%);white-space:nowrap}
html[data-menu="replie"] .men a:hover .men__l,html[data-menu="replie"] .men a:focus-visible .men__l,
html[data-menu="replie"] .replier:hover .men__l,html[data-menu="replie"] .replier:focus-visible .men__l{width:auto;height:auto;
  padding:.35rem .7rem;overflow:visible;clip-path:none;transform:translateY(-50%);border-radius:8px;background:#0b1f24;color:#fff;
  font-size:.9375rem;box-shadow:0 6px 18px rgb(0 0 0/.3)}
html[data-menu="replie"] .replier .men__l{position:absolute;left:calc(100% + .6rem);top:50%}
html[data-menu="replie"][data-bulles="cachees"] .men a .men__l,html[data-menu="replie"][data-bulles="cachees"] .replier .men__l{width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%)}
html[data-menu="replie"] .men__p{position:absolute;top:1px;right:3px;min-width:1.15rem;height:1.15rem;padding:0 .25rem;font-size:.75rem}
html[data-menu="replie"] .compte__t{justify-content:center;padding:.3rem 0;gap:0}
@media(max-width:56rem){
  .modele{grid-template-columns:minmax(0,1fr)}
  .champs-fen{position:static;max-height:none}
  .porte{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr}
  .porte__visuel{gap:.6rem;padding:1.5rem 1.25rem}
  .porte__visuel--photo{min-height:13rem;padding:0}
  .porte__legende{padding:3rem 1.25rem 1.25rem}
  .porte__arche,.porte__initiale{width:3rem;height:3rem}
  .porte__initiale{font-size:1.5rem}
  .porte__blason{height:4rem}
  .porte__accroche{font-size:1.6rem}
  .porte__texte{font-size:1.0625rem}
  .porte__plan{display:none}
  .porte__c{padding:4.25rem 1.25rem 2.5rem;place-items:start center}
}
@media(max-width:48rem){
  .replier{display:none}
  .cadre,html[data-menu="replie"] .cadre{grid-template-columns:minmax(0,1fr)}
  .barre,html[data-menu="replie"] .barre{position:static;height:auto;overflow:visible;padding:1rem}
  .barre nav{overflow:visible}
  .compte__vol{left:auto;right:0;top:100%;bottom:auto;padding:var(--compte-pont) 0 0}
  .men{grid-template-columns:repeat(auto-fill,minmax(13rem,1fr))}
  html[data-menu="replie"] .marque__n,html[data-menu="replie"] .marque__c,html[data-menu="replie"] .compte__n,html[data-menu="replie"] .compte__m{position:static;
    display:block;width:auto;height:auto;overflow:visible;clip-path:none;white-space:normal}
  html[data-menu="replie"] .men__t{display:flex}
  html[data-menu="replie"] .men__s[hidden]{display:none}
  html[data-menu="replie"] .men a{justify-content:flex-start;padding:0 .75rem}
  html[data-menu="replie"] .men__i{display:none}
  html[data-menu="replie"] .men__l,html[data-menu="replie"] .men a:hover .men__l,html[data-menu="replie"] .men a:focus-visible .men__l{position:static;
    width:auto;height:auto;padding:0;overflow:visible;clip-path:none;transform:none;background:none;color:inherit;font-size:inherit;box-shadow:none}
  html[data-menu="replie"] .men__p{position:static;min-width:1.6rem;height:1.6rem;padding:0 .45rem;font-size:.9375rem}
  html[data-menu="replie"] .marque{justify-content:flex-start;gap:.75rem}
  html[data-menu="replie"] .compte__t{gap:.75rem}
  .zone__c{padding:1rem .85rem 1.75rem}
  .tete,.usurp,.alerte{padding-left:.85rem;padding-right:.85rem}
  .f-grille,.f-ligne{grid-template-columns:minmax(0,1fr)}
  .notif{flex-wrap:wrap}
  input[type=text]{min-width:0;max-width:100%}
  .cal{min-width:40rem}
}
@media(prefers-reduced-motion:reduce){
  .men__chev{transition:none}
}
