/* Polices hébergées sur le site (aucun appel à Google Fonts : plus rapide, et aucune adresse IP transmise à un tiers). Licence SIL Open Font License 1.1 (fontsource). */
@font-face{font-family:"Barlow Semi Condensed";font-style:normal;font-weight:500;font-display:swap;src:url(polices/barlow-semi-condensed-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Barlow Semi Condensed";font-style:normal;font-weight:600;font-display:swap;src:url(polices/barlow-semi-condensed-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Barlow Semi Condensed";font-style:normal;font-weight:700;font-display:swap;src:url(polices/barlow-semi-condensed-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:400;font-display:swap;src:url(polices/source-sans-3-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:500;font-display:swap;src:url(polices/source-sans-3-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:600;font-display:swap;src:url(polices/source-sans-3-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:700;font-display:swap;src:url(polices/source-sans-3-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:400;font-display:swap;src:url(polices/jetbrains-mono-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:500;font-display:swap;src:url(polices/jetbrains-mono-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
/* Urgence Élagage — interface. Signalétique de chantier : vert forêt + orange haute visibilité. */
:root{
  --bg:#F2F4F1; --surface:#FFFFFF; --sunk:#E7EBE6; --line:#D3D9D2;
  --ink:#16201A; --muted:#5B675F; --brand:#1E5236; --brand-ink:#FFFFFF;
  --hivis:#D9520B; --hivis-ink:#FFFFFF; --hivis-soft:#FCE6D8;
  --ok:#1F7A45; --ok-soft:#DDF0E4; --warn:#A86A00; --warn-soft:#FAEED3;
  --info:#1F5A8A; --info-soft:#DCE9F5; --crit:#B3261E; --crit-soft:#F8DEDC;
  --f-display:"Barlow Semi Condensed","Arial Narrow",system-ui,sans-serif;
  --f-body:"Source Sans 3",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
  --r:10px; color-scheme:light;
}
@media (prefers-color-scheme: dark){:root{
  --bg:#0F1512; --surface:#18201B; --sunk:#111915; --line:#2C3830;
  --ink:#E7EDE8; --muted:#9AA79F; --brand:#7FC79C; --brand-ink:#0F1512;
  --hivis:#FF7A33; --hivis-ink:#1A0D05; --hivis-soft:#3A2214;
  --ok:#6FCF97; --ok-soft:#173324; --warn:#E8B44C; --warn-soft:#352A12;
  --info:#7DB4E6; --info-soft:#15283A; --crit:#F2877F; --crit-soft:#3A1A18; color-scheme:dark}}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:calc(16px * var(--k));line-height:1.45;padding-bottom:env(safe-area-inset-bottom,0px)}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
a{color:var(--brand)}
:focus-visible{outline:3px solid var(--hivis);outline-offset:2px}
.mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums}
.boot{padding:40px;text-align:center;color:var(--muted)}
[hidden]{display:none!important}

/* En-tête */
.top{position:sticky;top:0;z-index:500;background:var(--brand);color:var(--brand-ink);padding-top:env(safe-area-inset-top,0px)}
.top-in{max-width:var(--maxw);margin:0 auto;padding:10px max(16px,env(safe-area-inset-left,0px)) 10px max(16px,env(safe-area-inset-right,0px));display:flex;gap:12px;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:10px;min-width:0;flex:1 1 auto}
.brand h1{min-width:0;overflow:hidden}
.mark{width:34px;height:34px;flex:none;border-radius:8px;background:var(--hivis);display:grid;place-items:center}
.brand img.logo{height:34px;max-width:110px;object-fit:contain;background:#fff;border-radius:6px;padding:2px}
.brand h1{margin:0;font-family:var(--f-display);font-weight:700;font-size:calc(20px * var(--k));line-height:1.05;text-transform:uppercase;white-space:nowrap}
.brand small{display:block;font-family:var(--f-body);font-size:calc(12px * var(--k));opacity:.85;text-transform:none;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.userbtn{border:0;background:color-mix(in srgb,var(--brand-ink) 16%,transparent);color:var(--brand-ink);border-radius:999px;padding:6px 12px;font-weight:600;font-size:calc(14px * var(--k));max-width:46vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nav{max-width:var(--maxw);margin:0 auto;display:flex;gap:4px;overflow-x:auto;padding:0 max(12px,env(safe-area-inset-left,0px)) 8px;scrollbar-width:none}
.nav button{border:0;background:transparent;color:var(--brand-ink);opacity:.8;padding:6px 12px;border-radius:999px;font-weight:600;font-size:calc(14px * var(--k));white-space:nowrap}
.nav button[aria-current="page"]{background:var(--brand-ink);color:var(--brand);opacity:1}
.simbar{background:var(--warn-soft);color:var(--warn);text-align:center;font-size:calc(13px * var(--k));font-weight:600;padding:4px 12px}

/* Mise en page */
.wrap{max-width:var(--maxw);margin:0 auto;padding:16px max(16px,env(safe-area-inset-left,0px)) 48px max(16px,env(safe-area-inset-right,0px))}
.grid{display:grid;gap:20px;grid-template-columns:1fr}
@media (min-width:940px){.grid{grid-template-columns:390px minmax(0,1fr)}}
.col{min-width:0;display:flex;flex-direction:column;gap:12px}
@media (max-width:939px){.grid[data-view="detail"] .col-list,.grid[data-view="new"] .col-list{display:none}.grid[data-view="list"] .col-detail{display:none}}
.narrow{max-width:calc(720px * var(--k));margin:0 auto}

.cta{display:flex;align-items:center;gap:14px;width:100%;border:0;border-radius:var(--r);background:var(--hivis);color:var(--hivis-ink);padding:16px 18px;text-align:left}
.cta b{font-family:var(--f-display);font-size:calc(22px * var(--k));text-transform:uppercase;letter-spacing:.02em;display:block;line-height:1.1}
.cta span{font-size:calc(14px * var(--k));opacity:.92}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);overflow-x:auto}
.tabs button{border:0;background:none;padding:8px 10px;font-weight:600;font-size:calc(15px * var(--k));color:var(--muted);border-bottom:3px solid transparent;margin-bottom:-1px;white-space:nowrap}
.tabs button[aria-selected="true"]{color:var(--ink);border-color:var(--hivis)}
.tabs .n{font-family:var(--f-mono);font-size:calc(12px * var(--k));background:var(--sunk);border-radius:999px;padding:1px 7px;margin-left:4px}

.card{display:grid;grid-template-columns:6px minmax(0,1fr);background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;text-align:left;width:100%;padding:0}
.card[aria-current="true"]{border-color:var(--ink)}
.card .stripe{background:var(--muted)}
.card .body{padding:12px 14px;display:flex;flex-direction:column;gap:4px;min-width:0}
.row{display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.card h3{margin:0;font-size:calc(16px * var(--k));font-weight:600;line-height:1.3}
.meta{font-size:calc(13px * var(--k));color:var(--muted)}
.empty{background:var(--surface);border:1px dashed var(--line);border-radius:var(--r);padding:22px;color:var(--muted);text-align:center;font-size:calc(15px * var(--k))}

.pill{display:inline-flex;align-items:center;gap:6px;font-size:calc(12px * var(--k));font-weight:700;letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:3px 9px;white-space:normal;max-width:100%}
.pill::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.s-recue{color:var(--crit);background:var(--crit-soft)} .st-recue{background:var(--crit)!important}
.s-prise,.s-depart{color:var(--warn);background:var(--warn-soft)} .st-prise,.st-depart{background:var(--warn)!important}
.s-surplace,.s-securise{color:var(--info);background:var(--info-soft)} .st-surplace,.st-securise{background:var(--info)!important}
.s-cloturee{color:var(--ok);background:var(--ok-soft)} .st-cloturee{background:var(--ok)!important}
.s-annulee{color:var(--muted);background:var(--sunk)}
.tag{font-size:calc(11px * var(--k));font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:1px 5px}

.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px;display:flex;flex-direction:column;gap:12px;min-width:0}
.panel h2{margin:0;font-family:var(--f-display);font-size:calc(24px * var(--k));font-weight:700;line-height:1.1;text-wrap:balance}
.panel h4{margin:0;font-size:calc(12px * var(--k));letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700}
/* Titre de bloc (premier titre d'un panneau) : bien visible, avec un filet orange, pour repérer d'un coup d'œil les sections */
.panel > h4:first-child,.panel > .row:first-child > h4,.ve > h4:first-child,.ent-sec > h4:first-child,.panel > form > h4:first-child,.panel > .row:first-child > div > h4:first-child{font-family:var(--f-display);font-size:calc(17px * var(--k));letter-spacing:.04em;color:var(--brand);padding-left:10px;border-left:4px solid var(--hivis);line-height:1.2}
.back{border:0;background:none;color:var(--muted);font-weight:600;padding:0;display:inline-flex;gap:6px;align-items:center;align-self:flex-start}
@media (min-width:940px){.grid .back.m-only{display:none}}

.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}
.steps li{display:flex;flex-direction:column;gap:4px;font-size:calc(12px * var(--k));color:var(--muted);min-width:0}
.steps .bar{height:6px;border-radius:3px;background:var(--sunk)}
.steps li.done .bar{background:var(--brand)} .steps li.now .bar{background:var(--hivis)}
.steps li.done,.steps li.now{color:var(--ink)}
.steps b{font-weight:600;line-height:1.2;overflow-wrap:anywhere}
.steps .mono{font-size:calc(11px * var(--k));color:var(--muted)}

.kv{display:grid;grid-template-columns:minmax(110px,max-content) minmax(0,1fr);gap:6px 14px;margin:0;font-size:calc(15px * var(--k))}
.kv dt{color:var(--muted)} .kv dd{margin:0;overflow-wrap:anywhere}
.links{display:flex;flex-wrap:wrap;gap:8px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:9px 14px;font-weight:600;font-size:calc(15px * var(--k));text-decoration:none;color:var(--ink)}
.btn.primary{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}
.btn.hot{background:var(--hivis);border-color:var(--hivis);color:var(--hivis-ink)}
.btn.ghost{background:transparent}
.btn.danger{color:var(--crit);border-color:var(--crit-soft)}
.btn.small{padding:5px 10px;font-size:calc(13px * var(--k))}
.btn.big{width:100%;padding:14px;font-size:calc(17px * var(--k))}
.btn:disabled{opacity:.5;cursor:not-allowed}
.callbox{display:flex;flex-direction:column;gap:10px;background:var(--hivis-soft);border-radius:var(--r);padding:14px}
.callbox .num{font-family:var(--f-mono);font-size:calc(22px * var(--k));font-weight:500;user-select:all}
.note{font-size:calc(13px * var(--k));color:var(--muted);background:var(--sunk);border-radius:8px;padding:8px 10px}
.alert{display:flex;gap:10px;align-items:center;background:var(--crit-soft);color:var(--crit);border-radius:var(--r);padding:10px 14px;font-weight:600;font-size:calc(15px * var(--k))}
.alert .dot{width:9px;height:9px;border-radius:50%;background:currentColor}
@media (prefers-reduced-motion:no-preference){.alert .dot{animation:pulse 1.2s ease-in-out infinite}}
@keyframes pulse{50%{opacity:.25}}

.feed{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.feed li{display:grid;grid-template-columns:62px minmax(0,1fr);gap:10px;font-size:calc(15px * var(--k))}
.feed .t{font-family:var(--f-mono);font-size:calc(12px * var(--k));color:var(--muted);padding-top:2px}
.feed .who{font-size:calc(12px * var(--k));color:var(--muted)}
.feed img{display:block;margin-top:6px;border-radius:8px;max-width:min(100%,320px);border:1px solid var(--line);cursor:zoom-in}
.feed .sys{font-weight:600}
.feed li.msg{font-size:calc(13px * var(--k));color:var(--muted)}
.nt{display:inline-block;font-size:calc(10.5px * var(--k));font-weight:700;letter-spacing:.06em;border:1px solid var(--line);border-radius:4px;padding:0 5px;margin-right:6px;color:var(--brand)}
.nt.simule{color:var(--warn)} .nt.echec{color:var(--crit)}

.cost{width:100%;border-collapse:collapse;font-size:calc(14px * var(--k))}
.cost th,.cost td{text-align:left;padding:6px 4px;border-bottom:1px solid var(--line)}
.cost .n{text-align:right;font-family:var(--f-mono);font-variant-numeric:tabular-nums}
.cost tfoot td{font-weight:700;border-bottom:0}
.seal{background:var(--sunk);border-radius:8px;padding:10px 12px;font-size:calc(13px * var(--k));color:var(--muted);overflow-wrap:anywhere}

/* Formulaires */
form{display:flex;flex-direction:column;gap:14px}
label{display:flex;flex-direction:column;gap:5px;font-weight:600;font-size:calc(14px * var(--k))}
label .hint{font-weight:400;color:var(--muted);font-size:calc(13px * var(--k))}
input:not([type]),input[type=search],input[type=text],input[type=tel],input[type=email],input[type=password],input[type=number],input[type=date],input[type=time],select,textarea{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:10px 12px;font-size:calc(16px * var(--k));width:100%}
textarea{min-height:76px;resize:vertical}
.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:440px){.two{grid-template-columns:1fr}}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chips label{flex-direction:row;align-items:center;font-weight:500;border:1px solid var(--line);border-radius:999px;padding:6px 12px;background:var(--surface);cursor:pointer;position:relative}
.chips input{position:absolute;opacity:0;pointer-events:none}
.chips label:has(input:checked){background:var(--hivis);border-color:var(--hivis);color:var(--hivis-ink)}
.chips label:has(input:focus-visible){outline:3px solid var(--hivis);outline-offset:2px}
.check{flex-direction:row;align-items:center;gap:8px;font-weight:500}
.thumbs{display:flex;gap:8px;flex-wrap:wrap}
.thumbs img{width:76px;height:76px;object-fit:cover;border-radius:8px;border:1px solid var(--line)}
.map{height:260px;border-radius:var(--r);border:1px solid var(--line);overflow:hidden;z-index:0}
.map.big{height:max(420px,calc(100vh - 300px))}
.leaflet-container{font:inherit}

/* Tableaux d'administration */
.tbl{width:100%;border-collapse:collapse;font-size:calc(14px * var(--k))}
.tbl th,.tbl td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--line);vertical-align:top}
.tbl th{font-size:calc(12px * var(--k));text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.scroll{overflow-x:auto}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:12px}
.kpi b{display:block;font-family:var(--f-display);font-size:calc(28px * var(--k));line-height:1.1}
.kpi span{font-size:calc(13px * var(--k));color:var(--muted)}
.barrow{display:grid;grid-template-columns:minmax(120px,40%) 1fr 40px;gap:8px;align-items:center;font-size:calc(14px * var(--k))}
.barrow i{display:block;height:10px;border-radius:5px;background:var(--brand)}
.subnav{display:flex;gap:6px;flex-wrap:wrap}
.subnav button{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:6px 12px;font-weight:600;font-size:calc(14px * var(--k));color:var(--muted)}
.subnav button[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}

/* Feuilles d'action */
.sheet-bg{position:fixed;inset:0;background:rgb(0 0 0 / .45);z-index:1000;display:flex;align-items:flex-end;justify-content:center}
.sheet{background:var(--surface);width:100%;max-width:calc(560px * var(--k));max-height:92vh;overflow:auto;border-radius:14px 14px 0 0;padding:18px max(18px,env(safe-area-inset-right,0px)) calc(18px + env(safe-area-inset-bottom,0px)) max(18px,env(safe-area-inset-left,0px))}
@media (min-width:620px){.sheet-bg{align-items:center}.sheet{border-radius:14px}}
/* Poignée : indique qu'on peut glisser la fenêtre vers le bas pour la fermer */
@media (max-width:619px){.sheet{position:relative;padding-top:26px}.sheet::before{content:"";position:absolute;top:9px;left:50%;width:40px;height:5px;margin-left:-20px;border-radius:3px;background:var(--line)}}
.sheet h3{margin:0 0 4px;font-family:var(--f-display);font-size:calc(22px * var(--k))}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(18px + env(safe-area-inset-bottom,0px));background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:999px;font-weight:600;font-size:calc(14px * var(--k));z-index:2000;max-width:calc(100% - 32px)}
.login{max-width:calc(420px * var(--k));margin:calc(env(safe-area-inset-top,0px) + 40px) auto 0;padding:0 16px calc(24px + env(safe-area-inset-bottom,0px))}
/* Marge fixe (pas en vh) : sur iPhone le clavier réduit la hauteur d'écran, une marge en vh faisait sauter le bloc à chaque champ */
.login .panel{padding:24px}
.login .brandbig{display:flex;gap:12px;align-items:center;margin-bottom:16px}
.login .brandbig h1{font-family:var(--f-display);text-transform:uppercase;margin:0;font-size:calc(26px * var(--k));line-height:1}
.err{background:var(--crit-soft);color:var(--crit);border-radius:8px;padding:8px 10px;font-size:calc(14px * var(--k))}

/* Propositions d'adresses */
.ac-wrap{position:relative;display:block}
.ac-list{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:900;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px rgb(0 0 0 / .15);overflow:hidden;display:flex;flex-direction:column}
.ac-list button{border:0;background:none;text-align:left;padding:10px 12px;font-weight:500;font-size:calc(15px * var(--k));border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:2px}
.ac-list button:last-child{border-bottom:0}
.ac-list button:hover,.ac-list button:focus{background:var(--sunk)}
.ac-list small{font-size:calc(12px * var(--k));color:var(--muted);font-weight:400}

.userbtn{flex:0 0 auto}
.userbtn .u-ini{display:none}
@media (max-width:600px){.userbtn{width:40px;height:40px;padding:0;border-radius:50%;display:grid;place-items:center;font-size:calc(15px * var(--k))}.userbtn .u-full{display:none}.userbtn .u-ini{display:inline}.brand h1{font-size:calc(18px * var(--k))}}

.callbtn{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;background:var(--hivis);color:var(--hivis-ink);text-decoration:none;font-weight:700;border-radius:999px;padding:8px 14px;white-space:nowrap;box-shadow:0 1px 0 rgba(0,0,0,.15)}
.callbtn:active{transform:translateY(1px)}
@media (max-width:600px){.callbtn{width:44px;height:44px;padding:0;justify-content:center;border-radius:50%}.callbtn span{display:none}}

.mapf{margin-top:2px}
.mapf button .mono{font-size:calc(12px * var(--k));opacity:.75;margin-left:2px}
.mapf button.mf-recue[aria-pressed="true"]{background:#B3261E;border-color:#B3261E;color:#fff}
.mapf button.mf-route[aria-pressed="true"]{background:#A86A00;border-color:#A86A00;color:#fff}
.mapf button.mf-place[aria-pressed="true"]{background:#1F5A8A;border-color:#1F5A8A;color:#fff}
.mapf button.mf-close[aria-pressed="true"]{background:#1F7A45;border-color:#1F7A45;color:#fff}
#map-c{max-width:100%}

.reqbox{border:1px solid var(--hivis);background:var(--hivis-soft);border-radius:var(--r);padding:12px;margin:0;display:flex;flex-direction:column;gap:8px}
.reqbox legend{font-weight:700;padding:0 6px}
.plweeks{display:flex;flex-direction:column;gap:10px}
.plweek.now{border-color:var(--hivis);box-shadow:0 0 0 2px var(--hivis-soft)}
.plgrid{display:grid;grid-template-columns:minmax(110px,calc(190px * var(--k))) repeat(var(--plcols,2),minmax(0,1fr));gap:6px 10px;align-items:center}
.plgrid.one{grid-template-columns:minmax(110px,calc(190px * var(--k))) 1fr}
.plc{font-weight:600;font-size:calc(14px * var(--k))}
.plcell{min-height:40px;text-align:left;border:1px dashed var(--line);background:var(--surface);border-radius:8px;padding:6px;display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.plcell:not([disabled]):hover{border-color:var(--brand)}
.plcell[disabled]{border-style:solid;cursor:default}
.pchip{background:var(--sunk);border-radius:999px;padding:2px 10px;font-size:calc(13px * var(--k));font-weight:600}
.pchip.me{background:var(--hivis);color:var(--hivis-ink)}
fieldset.team{border:1px solid var(--line);border-radius:var(--r);padding:8px 12px;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:2px 10px}
fieldset.team legend{font-weight:600;padding:0 4px}
@media (max-width:600px){.plgrid{grid-template-columns:1fr 1fr}.plgrid .plc{grid-column:1/-1;margin-top:4px}.plgrid > span:first-child,.plgrid .plh{display:none}.plgrid .plcl{display:block}.plgrid.one{grid-template-columns:1fr}}
.appfoot{max-width:var(--maxw);margin:8px auto 24px;padding:0 16px;color:var(--muted);font-size:calc(12px * var(--k));text-align:center}

.cal{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--surface)}
.calhead,.calrow{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.calhead span{padding:6px 8px;font-size:calc(12px * var(--k));font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;background:var(--sunk)}
.calrow.now{box-shadow:inset 0 0 0 2px var(--hivis)}
.calday{min-height:92px;border-top:1px solid var(--line);border-left:1px solid var(--line);padding:4px;display:flex;flex-direction:column;gap:3px}
.calday:nth-child(7n+1){border-left:0}
.calday.wk{background:color-mix(in srgb,var(--sunk) 55%,transparent)}
.calday.hors{opacity:.45}
.calday.today .caldate{background:var(--hivis);color:var(--hivis-ink);border-radius:999px;padding:0 6px}
.caldate{font-size:calc(12px * var(--k));font-weight:700;align-self:flex-start}
.calline{all:unset;box-sizing:border-box;font-size:calc(12px * var(--k));line-height:1.3;padding:3px 5px;border-radius:6px;background:var(--sunk);cursor:pointer;overflow-wrap:anywhere}
.calline[disabled]{cursor:default}
.calline:not([disabled]):hover{outline:2px solid var(--brand)}
.calline b{font-weight:700;margin-right:2px}
.calline small{display:block;color:var(--muted);font-size:calc(11px * var(--k))}
.calline .me{font-weight:700;color:var(--hivis)}
.calline .vide{color:var(--crit);font-weight:600}
.cl-jour{background:var(--info-soft)}.cl-nuit{background:color-mix(in srgb,var(--ink) 9%,var(--surface))}.cl-we{background:var(--warn-soft)}.cl-semaine{background:var(--ok-soft)}
@media (max-width:700px){.calhead{display:none}.calrow{display:block}.calrow.passe{display:none}.calday{min-height:0;border-left:0;display:grid;grid-template-columns:64px 1fr;gap:3px 6px;align-items:start}.caldate{grid-row:1/span 2;padding-top:3px}.calline{grid-column:2}.calday.hors{display:none}}
.calrow.passe .calday{opacity:.6}

.sheet:has(fieldset.team){max-width:calc(780px * var(--k))}
fieldset.team{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:6px 14px;padding:10px 14px}
fieldset.team .check{align-items:flex-start;padding:4px 0}
fieldset.team .check input{margin-top:3px;flex:0 0 auto}
.check .who{display:flex;flex-direction:column;line-height:1.25;min-width:0}
.check .who small{color:var(--muted);font-size:calc(13px * var(--k));font-weight:400}
.majbar{display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap;background:var(--info-soft);color:var(--info);font-weight:600;padding:8px 16px}

/* Grands écrans : la page occupe la largeur ; texte agrandi de 12 % au-delà de 1 500 px (sans palier supplémentaire) */
:root{--k:1;--maxw:1200px}
@media (min-width:1300px){:root{--maxw:96vw}}
@media (min-width:1500px){:root{--k:1.12}.grid{grid-template-columns:clamp(390px,26vw,600px) minmax(0,1fr)}.map{height:340px}}
/* Filtres de la carte : chaque statut garde toujours son fond de couleur et son texte blanc ; un statut masqué est simplement estompé */
.mapf button.mf-recue{background:#B3261E;border-color:#B3261E;color:#fff}
.mapf button.mf-route{background:#A86A00;border-color:#A86A00;color:#fff}
.mapf button.mf-place{background:#1F5A8A;border-color:#1F5A8A;color:#fff}
.mapf button.mf-close{background:#1F7A45;border-color:#1F7A45;color:#fff}
.mapf button[class^="mf-"][aria-pressed="false"]{opacity:.38;text-decoration:line-through}

.annu{display:flex;flex-direction:column}
.annu-l{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--line);flex-wrap:wrap}
.annu-l:first-child{border-top:0}
.annu-l > span{display:flex;flex-direction:column;min-width:0}
.annu-l small{color:var(--muted);font-size:calc(13px * var(--k))}
.annu-l > .annu-tels{display:flex;flex-direction:row;gap:6px;flex-wrap:nowrap;align-items:center}
/* Champs à remplir : fond légèrement teinté et bordure plus marquée pour ressortir du blanc de la page */
:root{--field:#EEF4EF;--field-line:#AEBBB1;--field-focus:#FFFFFF}
@media (prefers-color-scheme: dark){:root{--field:#1F2A23;--field-line:#3E4D43;--field-focus:#18201B}}
input:not([type]),input[type=search],input[type=text],input[type=tel],input[type=email],input[type=password],input[type=number],input[type=date],input[type=time],select,textarea{background:var(--field);border-color:var(--field-line)}
input[type=date]:focus,input[type=time]:focus,input:not([type]):focus,input[type=search]:focus,input[type=text]:focus,input[type=tel]:focus,input[type=email]:focus,input[type=password]:focus,input[type=number]:focus,select:focus,textarea:focus{background:var(--field-focus);border-color:var(--brand)}
input[readonly],textarea[readonly],input:disabled,select:disabled{background:var(--sunk);border-color:var(--line)}
input[type=checkbox],input[type=radio]{accent-color:var(--brand);width:18px;height:18px}
/* Cases modifiables du planning et du calendrier : même teinte que les champs */
.plcell:not([disabled]){background:var(--field);border-color:var(--field-line)}
.plcell:not([disabled]):hover{background:var(--field-focus)}

.alarm-off{background:var(--warn-soft);border:2px dashed var(--warn);color:var(--warn)}
.webpush-off{background:var(--hivis-soft,#FCE6D8);border:2px dashed var(--hivis,#D9520B);color:var(--ink,#16201A)}
.alarm-ok{display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--ok-soft);color:var(--ok);font-weight:700;border-radius:var(--r);padding:8px 12px}

/* Champ photo : seul le bouton ouvre la sélection de fichiers (plus de clic involontaire sur toute la ligne) */
.filefield{display:flex;flex-direction:column;gap:5px}
.filefield .lbl{font-weight:600;font-size:calc(14px * var(--k))}
.filefield .hint{color:var(--muted);font-size:calc(13px * var(--k))}
label.filebtn{display:inline-flex;flex-direction:row;align-items:center;gap:8px;width:auto;cursor:pointer;background:var(--field);border-color:var(--field-line)}
.vh{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;border:0!important}
/* Listes déroulantes : les choix s'affichent sur fond blanc net (et non sur la teinte du champ), pour se détacher de la page */
select option,select optgroup{background:#FFFFFF;color:#16201A}
select option:checked{background:#1E5236;color:#FFFFFF}
@media (prefers-color-scheme: dark){select option,select optgroup{background:#18201B;color:#E7EDE8}}
/* Suggestions (adresses, appelants) : cadre marqué et ombre portée */
.ac-list{background:var(--surface)!important;border:2px solid var(--brand)!important;box-shadow:0 10px 28px rgb(0 0 0 / .28)!important;z-index:2000}
.ac-list button:hover,.ac-list button:focus{background:var(--ok-soft)}

/* Listes déroulantes maison (ordinateur) */
select.cs-native{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;border:0!important;opacity:0}
.cs-btn{display:block;width:100%;text-align:left;cursor:pointer;background:var(--field) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='%231E5236' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 12px center;border:1px solid var(--field-line);border-radius:8px;padding:10px 38px 10px 12px;font-size:calc(16px * var(--k));font-weight:500;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-height:calc(44px * var(--k))}
.cs-btn:hover{border-color:var(--brand)}
.cs-btn:focus-visible,.cs-btn[aria-expanded=true]{outline:none;border:2px solid var(--brand);padding:9px 37px 9px 11px;background-color:var(--field-focus)}
.cs-btn.cs-ph{color:var(--muted);font-weight:400}
.cs-btn.cs-err{border:2px solid #C62828}
.cs-btn:disabled{background-color:var(--sunk);border-color:var(--line);cursor:not-allowed;opacity:.8}
.cs-veil{position:fixed;inset:0;z-index:2999;background:rgb(10 20 14 / .22)}
.cs-pop{position:fixed;z-index:3000;overflow-y:auto;overflow-x:hidden;box-sizing:border-box;background:#FFFFFF;color:#16201A;border:2px solid var(--brand);border-radius:10px;box-shadow:0 16px 40px rgb(0 0 0 / .38),0 2px 6px rgb(0 0 0 / .2);padding:5px;display:flex;flex-direction:column;gap:2px}
.cs-opt{border:0;background:none;color:inherit;text-align:left;padding:10px 12px 10px 34px;border-radius:7px;font-size:calc(15.5px * var(--k));font-weight:500;cursor:pointer;position:relative;line-height:1.3}
.cs-opt:hover,.cs-opt:focus{outline:none;background:#DDF0E4}
.cs-opt.on{background:#1E5236;color:#FFFFFF}
.cs-opt.on::before{content:"✓";position:absolute;left:12px;font-weight:700}
.cs-opt.on:hover,.cs-opt.on:focus{background:#2B6B47}
.cs-opt.cs-vide{color:#5B675F;font-style:italic;font-weight:400}
.cs-opt.on.cs-vide{color:#FFFFFF}
.cs-opt:disabled{opacity:.45;cursor:default}
.cs-grp{padding:8px 12px 4px;font-size:calc(12px * var(--k));font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#5B675F}
@media (prefers-color-scheme: dark){.cs-pop{background:#1B241E;color:#E7EDE8;box-shadow:0 16px 40px rgb(0 0 0 / .7)}.cs-opt:hover,.cs-opt:focus{background:#173324}.cs-opt.on{background:#7FC79C;color:#0F1512}.cs-opt.on:hover,.cs-opt.on:focus{background:#93D4AD}.cs-opt.cs-vide,.cs-grp{color:#9AA79F}.cs-opt.on.cs-vide{color:#0F1512}.cs-veil{background:rgb(0 0 0 / .4)}.cs-btn{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='%237FC79C' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}}

/* Barre de recherche en évidence pendant la saisie */
.ac-voile{position:fixed;inset:0;z-index:2990;background:rgb(10 20 14 / .32);pointer-events:none}
.ac-wrap.fx-on{position:relative;z-index:2995}
.ac-wrap.fx-on input{background:var(--field-focus,#F2FAF5)!important;border:2px solid var(--brand)!important;box-shadow:0 0 0 4px rgb(30 82 54 / .16);outline:none}
.ac-wrap.fx-on .ac-list{z-index:2996}
@media (prefers-color-scheme: dark){.ac-voile{background:rgb(0 0 0 / .5)}.ac-wrap.fx-on input{box-shadow:0 0 0 4px rgb(127 199 156 / .25)}}
/* Cartes : choix du fond et bouton GPS */
.mapfond{display:flex;background:#fff;border-radius:8px;box-shadow:0 2px 8px rgb(0 0 0 / .3);overflow:hidden;border:2px solid #fff}
.mapfond button{border:0;background:#fff;color:#16201A;padding:7px 12px;font:600 13px/1 var(--f-body,system-ui);cursor:pointer}
.mapfond button[aria-pressed=true]{background:#1E5236;color:#fff}
.mapgps{display:flex;align-items:center;gap:6px;border:0;background:#fff;color:#1E5236;padding:7px 10px;border-radius:8px;box-shadow:0 2px 8px rgb(0 0 0 / .3);font:600 13px/1 var(--f-body,system-ui);cursor:pointer;margin-top:8px!important}
.mapgps:hover{background:#DDF0E4}
.mapgps.wait{opacity:.6;cursor:progress}
.mapgps.wait svg{animation:ue-spin 1s linear infinite}
@keyframes ue-spin{to{transform:rotate(360deg)}}
@media (max-width:480px){.mapgps span{display:none}}

.plcl{display:none;font-size:calc(11px * var(--k));color:var(--muted);font-weight:600;margin-bottom:2px;width:100%}

/* Entité de rattachement du compte connecté */
.userbtn .u-full{display:flex;flex-direction:column;align-items:flex-end;line-height:1.15}
.userbtn .u-ent{font-size:calc(11.5px * var(--k));font-weight:500;opacity:.85;max-width:40vw;overflow:hidden;text-overflow:ellipsis}
.userbtn:has(.u-ent){border-radius:14px;padding:5px 12px}
.entbar{display:flex;flex-wrap:wrap;gap:4px 14px;justify-content:center;align-items:center;padding:5px 16px;background:var(--ok-soft);color:var(--ink);font-size:calc(13px * var(--k));border-bottom:1px solid var(--line);text-align:center}
.entbar-d{color:var(--muted)}
@media (max-width:600px){.userbtn:has(.u-ent){border-radius:50%;padding:0}.userbtn .u-full{display:none}}

.matfs{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.matfs legend{font-weight:600;font-size:calc(14px * var(--k));margin-bottom:6px}
.matfs legend .hint{display:block;font-weight:400;color:var(--muted);font-size:calc(13px * var(--k));margin-top:2px}

.note.renf{background:var(--warn-soft);color:var(--ink);border-left:4px solid var(--warn)}

.plcell.plna{opacity:.5;justify-content:center;cursor:default;border-style:dotted}
.plcell.reg{background:var(--ok-soft)}
/* Planning : en-tête, barre d'outils, actions et réglages (1.11.1) */
.pltop{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.plmois{display:flex;align-items:center;gap:6px}
.plmois b{min-width:130px;text-align:center;text-transform:capitalize}
.pltools{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.pltools > :not(.seg){flex:1 1 280px;min-width:0}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:3px;background:var(--surface);flex:0 0 auto}
.seg button{border:0;background:transparent;border-radius:999px;padding:7px 16px;font-weight:600;color:var(--muted);font-size:calc(14px * var(--k));cursor:pointer}
.seg button[aria-pressed="true"]{background:var(--ink);color:var(--bg)}
.placts{display:flex;gap:8px;flex-wrap:wrap}
details.plhelp > summary{cursor:pointer;font-weight:600;color:var(--brand);font-size:calc(14px * var(--k));padding:2px 0;width:fit-content}
details.plhelp[open] > summary{margin-bottom:6px}
.plpasse{background:none;border:0;padding:2px 0;color:var(--brand);font-weight:600;text-decoration:underline;cursor:pointer;align-self:flex-start;font-size:calc(14px * var(--k))}
.plset{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}
.plset small{display:block;margin-top:2px}
.stepper{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.stepper b{min-width:22px;text-align:center;font-size:calc(18px * var(--k))}
.stepper .btn{min-width:40px;font-size:calc(18px * var(--k))}
@media (max-width:600px){
  .pltools > *{flex:1 1 100%}
  .seg button{flex:1}
  .placts .btn{flex:1 1 0;justify-content:center;text-align:center}
  .plgrid .plcell.plna{display:none}
}
.plset .btn{white-space:nowrap}
/* Priorité des demandes (1.12.0) */
.prio{display:inline-flex;align-items:center;font-size:calc(11px * var(--k));font-weight:800;letter-spacing:.05em;text-transform:uppercase;border-radius:4px;padding:2px 7px;white-space:nowrap}
.prio.p1{background:var(--crit);color:#fff}
.prio.p2{background:var(--warn-soft);color:var(--warn)}
.prio.p3{background:var(--ok-soft);color:var(--ok)}
.card.prio-1{border-color:var(--crit);box-shadow:inset 0 0 0 1px var(--crit)}
.card.prio-1 h3{color:var(--crit)}
.priochoix{border:0;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.priochoix legend{font-weight:600;font-size:14px;margin-bottom:6px;padding:0}
.priochoix legend .hint{display:block;font-weight:400}
.priochoix label{position:relative;border:2px solid var(--line);border-radius:10px;padding:10px;cursor:pointer;background:var(--surface);flex-direction:row}
.priochoix input{position:absolute;opacity:0;pointer-events:none}
.priochoix label span{display:flex;flex-direction:column;gap:2px}
.priochoix small{color:var(--muted);font-weight:400;font-size:calc(12px * var(--k));line-height:1.3}
.priochoix label.p1:has(input:checked){border-color:var(--crit);background:var(--crit-soft)}
.priochoix label.p1:has(input:checked) b{color:var(--crit)}
.priochoix label.p2:has(input:checked){border-color:var(--warn);background:var(--warn-soft)}
.priochoix label.p3:has(input:checked){border-color:var(--ok);background:var(--ok-soft)}
.priochoix label:has(input:focus-visible){outline:3px solid var(--hivis);outline-offset:2px}
.priobar{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.priobar button{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:5px 12px;font-weight:700;font-size:calc(13px * var(--k));color:var(--muted);cursor:pointer}
.priobar button.p1[aria-pressed="true"]{background:var(--crit);border-color:var(--crit);color:#fff}
.priobar button.p2[aria-pressed="true"]{background:var(--warn-soft);border-color:var(--warn);color:var(--warn)}
.priobar button.p3[aria-pressed="true"]{background:var(--ok-soft);border-color:var(--ok);color:var(--ok)}
@media (max-width:600px){.priochoix{grid-template-columns:1fr}}
.priochoix legend .hint{color:var(--muted);font-size:calc(13px * var(--k))}
/* Collectivité : permanence de la semaine (1.12.5) */
.plnow{border-color:var(--ok);background:var(--ok-soft)}
.plnow details{margin-top:8px}.plnow summary{cursor:pointer}
/* Astreintes de la collectivité : frise de la semaine et liste (1.14.0) */
.agfrise{display:flex;flex-direction:column;gap:6px}
.agday{display:grid;grid-template-columns:60px 1fr;align-items:center;gap:8px}
.agday.auj .agd{color:var(--crit);font-weight:700}
.agd{font-size:calc(13px * var(--k));color:var(--muted)}
.agtrack{position:relative;height:36px;border-radius:6px;overflow:hidden;display:flex;flex-direction:column;gap:2px;padding:2px 0;
  background:repeating-linear-gradient(90deg,var(--sunk) 0,var(--sunk) calc(25% - 1px),var(--line) calc(25% - 1px),var(--line) 25%)}
.aglane{position:relative;flex:1}
.agseg{position:absolute;top:0;bottom:0;border-radius:4px;font-size:11px;font-weight:700;color:#fff;overflow:hidden;white-space:nowrap;padding:0 4px;line-height:15px}
.agseg.agent{background:var(--ok)}
.agseg.elu{background:var(--info)}
.agnow{position:absolute;top:0;bottom:0;width:2px;background:var(--crit)}
.agleg{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-bottom:10px;font-size:calc(13px * var(--k))}
.agleg i.agseg{position:static;display:inline-block;width:16px;height:10px;margin-right:6px;vertical-align:middle;padding:0}
.agrow{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}
.agrow:last-child{border-bottom:0}
.agrow small{display:block;margin-top:2px}
.agpresets{margin-top:4px}
.agform{display:flex;flex-direction:column;gap:12px}
.agdetail > summary{cursor:pointer;list-style-position:outside}
/* Détail des horaires compact (1.14.3) */
.agseg.clic{cursor:pointer}.agseg.clic:hover{filter:brightness(1.15)}
.agjour{margin-top:10px}.agjour > b{display:block;font-size:calc(13px * var(--k));text-transform:capitalize;color:var(--muted);margin-bottom:2px}
.agrow{padding:5px 0;flex-wrap:nowrap}
.agh{font-family:var(--f-mono,monospace);font-size:calc(13px * var(--k));white-space:nowrap;min-width:0}
.agqui{flex:1;min-width:0;display:flex;align-items:center;gap:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.agpt{width:10px;height:10px;border-radius:3px;flex:0 0 auto}.agpt.agent{background:var(--ok)}.agpt.elu{background:var(--info)}
.agrow .links{flex:0 0 auto;flex-wrap:nowrap}
.aginfo{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.aginfo .agqui{font-weight:600}
.aginfo .agh{color:var(--muted)}
.teamedit > summary{cursor:pointer;margin:2px 0 6px}
/* Alarme désactivable, tri de la liste, carte plein écran, archives filtrables (1.15.0) */
.alarm-dis{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;background:var(--sunk);border:1px dashed var(--line);border-radius:var(--r);padding:10px 12px;font-weight:600;color:var(--muted)}
.alarm-dis small{font-weight:400}
.alarm-ok .links{flex-wrap:nowrap}
.tri{display:flex;align-items:center;gap:8px;flex-direction:row;font-weight:500}
.tri select{flex:1;min-width:0}
body.vue-carte .appfoot{display:none}
.map.big{height:auto;min-height:280px}
.arfiltres{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;align-items:end;margin-bottom:10px}
.arfiltres .arq{grid-column:1/-1}
.arfiltres label{gap:3px}
.artbl td{vertical-align:top}
@media (max-width:600px){.arfiltres{grid-template-columns:1fr 1fr}}
.arlist{display:flex;flex-direction:column}
.aritem{display:flex;flex-direction:column;gap:3px;padding:10px 0;border-bottom:1px solid var(--line)}
.aritem:last-child{border-bottom:0}
.arl1{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.arl3{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
/* Exports (1.16.0) */
.exform{display:flex;flex-direction:column;gap:12px}
.exform fieldset{border:0;padding:0;margin:0}
.exform legend{font-weight:600;font-size:14px;margin-bottom:6px;padding:0}
.exmois{display:flex;gap:6px}.exmois select{flex:1}.exmois input{width:90px}
.exfiltres{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px}
.excols{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:2px 10px;max-height:220px;overflow:auto;padding:4px;border:1px solid var(--line);border-radius:8px}

/* Bandeau du mode test (super-admin basculé côté collectivité) */
.basbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;background:#FFF3E0;border-bottom:2px solid #D9520B;color:#5A2A06;padding:8px 14px;font-size:14px}
.basbar .btn{background:#D9520B;color:#fff;border-color:#D9520B}
.essaibar{background:#EDE7F6;border-bottom-color:#5E35B1;color:#311B92}.essaibar .btn{background:#5E35B1;border-color:#5E35B1}.essaibar .links{display:flex;gap:6px;flex-wrap:wrap}
.essai-comptes{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.essai-comptes .btn{text-align:left}.essai-comptes small{opacity:.75}
.badge-off{display:inline-block;margin-top:2px;padding:1px 6px;border-radius:4px;background:#F8DEDC;color:#B3261E;font-size:11px;font-weight:600}
.eqtbl td.mono{white-space:nowrap}.eqtbl .links{flex-wrap:wrap;gap:6px}
.eqtbl .links{flex-wrap:nowrap}.eqtbl td:last-child{width:1%;white-space:nowrap}
.selbar{background:#E8EEF7;border-bottom-color:#2B4C7E;color:#14243D}.selbar .btn{background:#2B4C7E;border-color:#2B4C7E}

/* ---------- Menu du bas (téléphone) et rail latéral (tablette tactile) ---------- */
.tabbar{display:none}
.tb{border:0;background:transparent;color:var(--muted);font:inherit;font-size:calc(11px * var(--k));font-weight:600;display:flex;flex-direction:column;align-items:center;gap:3px;padding:4px 0;position:relative;min-height:52px;cursor:pointer;-webkit-tap-highlight-color:transparent}
.tb[aria-current="page"]{color:var(--brand);font-weight:700}
/* Onglet sélectionné bien visible : pastille derrière l'icône + trait en haut ; les autres un peu plus discrets */
.tb:not(.tb-main)>svg{box-sizing:content-box;padding:3px 16px;border-radius:999px;transition:background .15s}
.tb:not(.tb-main):not([aria-current="page"]){color:color-mix(in srgb,var(--muted) 85%,transparent)}
.tb[aria-current="page"]>svg{background:color-mix(in srgb,var(--brand) 16%,transparent)}
.tb[aria-current="page"]::before{content:"";position:absolute;top:-1px;left:50%;transform:translateX(-50%);width:28px;height:3px;border-radius:0 0 3px 3px;background:var(--brand)}
.tb-n{position:absolute;top:0;left:calc(50% + 6px);min-width:18px;height:18px;border-radius:9px;background:var(--crit);color:#fff;font-size:11px;font-weight:700;display:grid;place-items:center;padding:0 4px}
.tb-main{color:var(--hivis);font-weight:700}
.tb-rond{width:56px;height:56px;border-radius:50%;background:var(--hivis);color:var(--hivis-ink);display:grid;place-items:center;box-shadow:0 4px 12px rgb(217 82 11 / .35);border:4px solid var(--bg);margin-top:-26px}
.plus-liste{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin:8px 0 12px}
.plus-l{display:flex;align-items:center;gap:12px;min-height:54px;padding:0 14px;border:0;border-bottom:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;font-size:calc(16px * var(--k));text-align:left;text-decoration:none;cursor:pointer}
.plus-l:last-child{border-bottom:0}
.plus-l svg{color:var(--brand);flex:none}
.plus-l span:nth-of-type(1){flex:1}
.plus-l span:last-child{color:var(--muted)}
@media (max-width:899px){
  .nav{display:none}
  .tabbar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:start;position:fixed;left:0;right:0;bottom:0;z-index:600;background:var(--surface);border-top:1px solid var(--line);padding:6px max(4px,env(safe-area-inset-left,0px)) calc(6px + env(safe-area-inset-bottom,0px)) max(4px,env(safe-area-inset-right,0px));box-shadow:0 -2px 10px rgb(0 0 0 / .05)}
  .tabbar.sans-centre{grid-template-columns:repeat(4,minmax(0,1fr))}
  body{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}
  .tb-masque{display:none!important}
  .top .top-in{padding-top:8px;padding-bottom:8px}
}
@media (min-width:900px) and (max-width:1366px) and (pointer:coarse){
  .nav{display:none}
  body{padding-left:96px}
  .tabbar{display:flex;flex-direction:column;align-items:center;gap:6px;position:fixed;top:0;bottom:0;left:0;width:96px;z-index:600;background:var(--brand);padding:calc(16px + env(safe-area-inset-top,0px)) 0 calc(16px + env(safe-area-inset-bottom,0px))}
  .tabbar .tb{width:80px;border-radius:12px;padding:10px 0;color:color-mix(in srgb,var(--brand-ink) 85%,transparent)}
  .tabbar .tb[aria-current="page"]{background:color-mix(in srgb,var(--brand-ink) 24%,transparent);color:var(--brand-ink);font-weight:800}
  .tabbar .tb:not(.tb-main):not([aria-current="page"]){color:color-mix(in srgb,var(--brand-ink) 70%,transparent)}
  .tabbar .tb[aria-current="page"]>svg{background:none}
  .tabbar .tb[aria-current="page"]::before{top:50%;left:-8px;transform:translateY(-50%);width:4px;height:32px;border-radius:0 4px 4px 0;background:var(--brand-ink)}
  .tabbar .tb-main{order:10;margin-top:auto;color:var(--brand-ink)}
  .tabbar .tb-rond{margin-top:0;border-color:var(--brand)}
  .tabbar .tb-n{background:var(--hivis);left:auto;right:10px;top:4px}
  .tb-masque{display:none!important}
}
@media print{.tabbar{display:none!important}}

/* ---------- Nouvelle demande : pastilles à cocher et étapes (téléphone) ---------- */
.pastilles{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.pastilles legend{font-weight:600;font-size:calc(14px * var(--k));margin-bottom:6px;padding:0}
.pastilles legend .hint{display:block}
.pastilles > div{display:flex;flex-wrap:wrap;gap:8px}
.pastilles > div label{flex-direction:row;align-items:center;font-weight:500;border:1px solid var(--line);border-radius:999px;padding:8px 14px;min-height:40px;background:var(--surface);cursor:pointer;position:relative}
.pastilles > div input{position:absolute;opacity:0;pointer-events:none}
.pastilles > div label:has(input:checked){background:var(--ok-soft);border:2px solid var(--brand);font-weight:700;padding:7px 13px}
.pastilles > div label:has(input:focus-visible){outline:3px solid var(--hivis);outline-offset:2px}
.etape{display:flex;flex-direction:column;gap:14px}
#f-new .etape + .etape{margin-top:14px}
.etapes-nav,.etapes-btns{display:none}
@media (max-width:899px){
  #f-new .etape{display:none}
  #f-new .etape.on{display:flex;margin-top:0}
  .etapes-nav{display:block;padding:6px 0 10px;margin-bottom:4px}
  .etapes-barre{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .etapes-barre span{height:5px;border-radius:3px;background:var(--line)}
  .etapes-barre span.fait{background:var(--brand)}
  .etapes-barre span.on{background:var(--hivis)}
  .etapes-noms{display:flex;justify-content:space-between;font-size:calc(12px * var(--k));color:var(--muted);margin-top:6px}
  .etapes-noms span.fait{color:var(--brand);font-weight:700}
  .etapes-noms span.fait::before{content:"✓ "}
  .etapes-noms span.on{color:var(--hivis);font-weight:700}
  .etapes-btns{display:flex;gap:10px;margin-top:16px}
  .etapes-btns .btn{flex:1 1 0;min-width:0;width:auto;margin:0;white-space:normal}
  .etapes-btns [data-act="etape-prec"]{flex:0 0 auto;padding-left:18px;padding-right:18px}
  #f-new:not([data-etape="3"]) #f-send{display:none}
  #f-new[data-etape="3"] .etapes-btns{margin-bottom:10px}
}

/* Barre de l'étape suivante (fiche, téléphone) : juste au-dessus du menu du bas */
.barre-etape{display:none}
@media (max-width:899px){
  .barre-etape{display:flex;align-items:center;gap:10px;position:fixed;left:0;right:0;bottom:calc(78px + env(safe-area-inset-bottom,0px));z-index:590;background:var(--surface);border-top:1px solid var(--line);box-shadow:0 -4px 14px rgb(0 0 0 / .08);padding:8px max(12px,env(safe-area-inset-left,0px))}
  .barre-etape[hidden]{display:none}
  .barre-etape .be-ref{font-family:var(--f-mono);font-size:calc(12px * var(--k));color:var(--muted);white-space:nowrap}
  .barre-etape .btn{flex:1;min-height:48px;margin:0}
  /* Pendant que la barre est affichée : le bouton rond « Saisir » rentre dans le menu pour ne pas la chevaucher */
  body.barre-on .tabbar .tb-rond{margin-top:0;width:40px;height:40px;border-width:0;box-shadow:none}
  body.barre-on{padding-bottom:calc(140px + env(safe-area-inset-bottom,0px))}
}

/* Zone blanche : actions en attente de réseau */
.bandeau-file{position:fixed;left:50%;transform:translateX(-50%);top:calc(8px + env(safe-area-inset-top,0px));z-index:700;background:#5B3A00;color:#fff;border-radius:12px;padding:8px 10px 8px 14px;font-size:calc(14px * var(--k));display:flex;align-items:center;gap:10px;max-width:calc(100% - 24px);box-shadow:0 4px 14px rgb(0 0 0 / .25)}
.bandeau-file .btn{background:#fff;color:#5B3A00;border:0;min-height:34px;white-space:nowrap}

/* Bilan : histogramme mois par mois */
.mois-graph{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:4px;align-items:end;height:160px;padding-top:6px}
.mg-col{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;min-width:0}
.mg-col i{display:block;width:70%;min-height:2px;background:var(--brand);border-radius:4px 4px 0 0}
.mg-n{font-size:calc(12px * var(--k));font-weight:700;margin-bottom:2px}
.mg-l{font-size:calc(11px * var(--k));color:var(--muted);margin-top:4px;white-space:nowrap}
.tbl .r{text-align:right}

/* Mise en route */
.mer-barre{height:8px;border-radius:4px;background:var(--line);overflow:hidden;margin:4px 0 6px}
.mer-barre i{display:block;height:100%;background:var(--brand);border-radius:4px}
.mer{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.mer li{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;align-items:center}
.mer-i{width:24px;height:24px;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;font-weight:800;color:#fff}
.mer li.fait .mer-i{background:var(--brand);border-color:var(--brand)}
.mer li.fait b{color:var(--muted)}
.mer-bandeau{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;background:var(--ok-soft);border:1px solid var(--brand);border-radius:var(--r);padding:8px 12px}

/* Vue d'ensemble par collectivité */
.ve-tbl td,.ve-tbl th{padding:6px 8px}
.ve-tbl tfoot th,.ve-tbl tfoot td{border-top:2px solid var(--line)}
.ve-nom{background:none;border:0;padding:0;font:inherit;font-weight:700;color:var(--ink);cursor:pointer;text-align:left}
.ve-nom:hover{text-decoration:underline}
.ve-n{border:0;border-radius:999px;min-width:34px;min-height:30px;padding:2px 10px;font:inherit;font-weight:800;cursor:pointer}
.ve-n small{font-weight:600;font-size:calc(11px * var(--k))}
.ve-atraiter{background:var(--crit);color:#fff}
.ve-encours{background:var(--hivis-soft,#FCE6D8);color:#6E2A05}
.ve-terminees{background:var(--ok-soft);color:var(--ok)}
.ve-zero{color:var(--muted)}
.ve-d{color:var(--crit);font-weight:700}
.ve-sel td{background:var(--ok-soft)}
.ve-filtre{display:flex;justify-content:space-between;align-items:center;gap:8px;background:var(--ok-soft);border-radius:var(--r);padding:6px 10px}
.ve-mobile{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:8px 12px}
.ve-mobile summary{cursor:pointer;font-weight:700}
.ve-mobile[open] summary{margin-bottom:8px}
@media (min-width:900px){.ve-mobile{display:none}}

/* Bilan : toute la largeur de l'écran sur ordinateur, panneaux sur deux colonnes */
.bilan-large{max-width:1400px;margin:0 auto;width:100%}
.bilan-large > .row .links{display:flex;gap:8px;flex-wrap:wrap}
.bilan-large > .row .links select,.bilan-large > .row .links .cs-btn{width:auto;min-width:190px;flex:0 0 auto}
.bilan-large > .row .links{flex-direction:row;align-items:center}
@media (min-width:1100px){
  #b-body > .col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:start}
  #b-body > .col > .row, #b-body > .col > .kpis, #b-body > .col > p.meta, #b-body > .col > #b-arch{grid-column:1 / -1}
  #b-body > .col > *{margin:0}
  .bilan-large .kpis{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
}

/* Identité légale / informations administratives */
details.ident{border:1px solid var(--line);border-radius:var(--r);padding:10px 12px;background:var(--surface)}
details.ident > summary{cursor:pointer}
details.ident[open] > summary{margin-bottom:6px}
details.ident > label, details.ident > .two{margin-top:10px}
.siret-res{display:flex;flex-direction:column;gap:6px}
.siret-choix{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;background:var(--field);border:1px solid var(--field-line,var(--line));border-radius:10px;padding:8px 10px;cursor:pointer;font:inherit;color:var(--ink)}
.siret-choix:hover{border-color:var(--brand)}

/* Documents (arrêté permanent, assurance) */
.doc-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.doc-carte{border:1px solid var(--line);border-left:5px solid var(--ok);border-radius:var(--r);padding:12px;background:var(--surface)}
.doc-carte.doc-bientot{border-left-color:var(--hivis,#D9520B)}
.doc-carte.doc-expire,.doc-carte.doc-absent{border-left-color:var(--crit)}
.doc-fiche{display:flex;align-items:center;gap:8px;flex-wrap:wrap;border-radius:var(--r);padding:8px 12px;background:var(--ok-soft)}
.doc-fiche.doc-bientot{background:var(--hivis-soft,#FCE6D8)}
.doc-fiche.doc-expire,.doc-fiche.doc-absent{background:#FBE3E1}
.doc-fiche span{flex:1;min-width:180px}
.lien-doc{color:var(--brand);font-weight:600;text-decoration:none;white-space:nowrap}.lien-doc:hover{text-decoration:underline}.lien-doc.expire{color:var(--crit)}

/* Groupes d'agences */
.entbar-g{display:inline-flex;align-items:center;gap:6px;margin-left:10px;font-weight:600}
.entbar-g select{width:auto;min-width:160px;padding:2px 28px 2px 8px;min-height:30px;font-size:inherit}

/* Demandes à planifier, accord sur les tarifs */
.tag-planif{background:#E3ECF7;color:#1F3B63}
.tag-tarifs{background:var(--hivis-soft,#FCE6D8);color:#6E2A05}.tag-tarifs.refuse{background:#FBE3E1;color:#8A1C14}
.prog-choix{align-items:flex-start;background:color-mix(in srgb,#1F5A8A 12%,var(--surface));color:var(--ink);border:2px dashed #3B7BB8;border-radius:var(--r);padding:12px 14px;margin-top:4px}
.prog-choix b{display:block;font-size:calc(16px * var(--k));color:var(--ink)}
.prog-choix .pc-t{display:block;font-size:calc(13.5px * var(--k));color:var(--muted);margin-top:2px;line-height:1.4}
.prog-choix:has(input:checked){border-style:solid;background:color-mix(in srgb,#1F5A8A 24%,var(--surface));box-shadow:0 0 0 3px color-mix(in srgb,#3B7BB8 30%,transparent)}
form:has(#f-prog:checked) .priochoix{opacity:.45}
.plus-dangers{margin-top:2px}.plus-dangers>summary{cursor:pointer;font-weight:600;color:var(--brand);font-size:calc(14px * var(--k));padding:4px 0}
.plus-dangers .chips{margin-top:6px}
.tarifs-choix{border:1px solid var(--line);border-radius:var(--r);padding:8px 12px;display:flex;flex-direction:column;gap:6px}
.tarifs-choix legend{font-weight:600;font-size:14px;padding:0 4px}

/* Signature du client */
.sig-cadre{position:relative;border:2px dashed var(--brand);border-radius:12px;background:#fff;margin-top:6px}
.sig-cadre canvas{display:block;width:100%;height:auto;aspect-ratio:600/220;touch-action:none;border-radius:10px}
.sig-cadre button{position:absolute;top:6px;right:6px}

/* Administration › Entreprise : sous-menu */
.ent-sous{display:flex;gap:6px;flex-wrap:wrap;margin:2px 0 4px}
.ent-sous button{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:6px 14px;font:inherit;font-weight:600;cursor:pointer;color:var(--ink)}
.ent-sous button[aria-current="true"]{background:var(--brand);border-color:var(--brand);color:#fff}
.ent-pastille{display:inline-grid;place-items:center;min-width:18px;height:18px;border-radius:9px;background:var(--crit);color:#fff;font-size:11px;padding:0 4px;margin-left:4px}
.ent-sec:not(.on){display:none!important}
.ent-sec > h4{margin:0 0 6px}
#f-ent .ent-sec{display:flex;flex-direction:column;gap:14px}
.ent-save{position:sticky;bottom:0;background:var(--surface);padding-top:8px}
.entbar-g{white-space:nowrap}
.entbar-g .cs-btn{display:inline-block;width:auto;min-width:170px;padding:4px 32px 4px 10px;min-height:32px;font-size:14px}

/* Onglets de la liste : toujours tous visibles, sans faire glisser (3 ou 4 onglets se partagent la largeur) */
.tabs{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:2px;overflow:visible}
.tabs button{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 2px;white-space:normal;text-align:center;line-height:1.15;font-size:calc(14px * var(--k));min-width:0}
.tabs .n{margin-left:0}

/* Matériel : liste éditable */
.mat-liste{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.mat-liste li{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;border-bottom:1px solid var(--line)}
.mat-liste li:last-child{border-bottom:0}
.mat-liste li:nth-child(even){background:var(--sunk)}
.mat-nom{font-weight:600;min-width:0;overflow-wrap:anywhere}
.mat-liste .mat-edit{flex:1}
.mat-ajout{display:flex;gap:8px}.mat-ajout input{flex:1}
.ve-aplanifier{background:#E3ECF7;color:#1F3B63}
.tag-jour{background:#FDEBD3;color:#7A3B00;font-weight:700}
.alert.alert-jour{background:#FDF3E3;border:1px solid #E8A445;color:#5A2E00;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
@media (prefers-color-scheme: dark){.tag-jour{background:#4A2F10;color:#FFD9A8}.alert.alert-jour{background:#3A2810;color:#FFE2BD;border-color:#8A5A1A}}
.zone-annul{margin-top:18px;padding-top:12px;border-top:1px dashed var(--line);display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.zone-annul .meta{flex:1 1 200px}
.integ-wh{background:var(--sunk)!important;justify-content:space-between}

/* Agenda des interventions */
.ag-panel{gap:10px}
.ag-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.ag-titre{font-family:var(--f-display);font-size:calc(21px * var(--k));margin:0 0 0 6px}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden}
.seg button{border:0;background:var(--surface);color:var(--ink);padding:7px 14px;font:inherit;font-weight:600;cursor:pointer}
.seg button[aria-selected=true]{background:var(--brand);color:var(--brand-ink)}
.ag-legende{display:flex;gap:14px;flex-wrap:wrap;font-size:calc(13px * var(--k));color:var(--muted)}
.ag-legende i{display:inline-block;width:12px;height:12px;border-radius:3px;vertical-align:-1px;margin-right:4px}
.ag-grille{min-height:300px}
.ag-entete{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:0 2px}
.ag-cases{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.ag-case{background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:6px;min-height:110px;display:flex;flex-direction:column;gap:4px;min-width:0}
.ag-sem .ag-case{min-height:260px}
.ag-case.ag-we{background:var(--sunk)}
.ag-case.ag-hors{opacity:.45}
.ag-case.ag-auj{border:2px solid var(--brand)}
.ag-jour{display:flex;justify-content:space-between;align-items:baseline;font-size:calc(13px * var(--k));color:var(--muted);text-transform:capitalize}
.ag-jour b{font-family:var(--f-display);font-size:calc(18px * var(--k));color:var(--ink)}
.ag-auj .ag-jour b{color:var(--brand)}
.ag-item{display:flex;gap:6px;align-items:flex-start;text-align:left;border:0;border-left:4px solid;border-radius:6px;padding:5px 6px;font:inherit;cursor:pointer;width:100%;min-width:0;line-height:1.25}
.ag-item .ag-h{font-family:var(--f-mono);font-size:11px;white-space:nowrap;opacity:.8;padding-top:2px}
.ag-item .ag-t{display:flex;flex-direction:column;min-width:0;font-size:calc(13px * var(--k))}
.ag-item .ag-t b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ag-item .ag-s{font-size:11.5px;opacity:.85;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ag-planif{background:#E3ECF7;border-color:#1F3B63;color:#1F3B63}
.ag-planif.ag-sans{background:#FDEBD3;border-color:#C8640C;color:#7A3B00}
.ag-urgence{background:var(--crit-soft);border-color:var(--crit);color:var(--crit)}
.ag-fini{background:var(--sunk);border-color:#9AA79F;color:var(--muted)}
.ag-plus{border:0;background:none;color:var(--brand);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;text-align:left;padding:2px 4px}
.ag-vide{color:var(--line);text-align:center;margin-top:10px}
.ag-att{display:flex;flex-direction:column;gap:6px;background:#FDEBD3;border-radius:var(--r);padding:10px 12px;color:#7A3B00}
.ag-att .ag-item{background:#fff}
@media (max-width:900px){.ag-cases{grid-template-columns:1fr}.ag-sem .ag-case{min-height:0}.ag-sem .ag-case.ag-sansitem:not(.ag-auj){display:none}.ag-mois .ag-entete{display:none}.ag-mois .ag-case{min-height:0}.ag-mois .ag-case.ag-sansitem:not(.ag-auj){display:none}.ag-case.ag-hors{display:none}.ag-jour{text-transform:none}.ag-jour::after{content:""}}
@media (prefers-color-scheme: dark){.ag-planif{background:#1A2A3F;border-color:#7DB4E6;color:#CFE2F7}.ag-planif.ag-sans{background:#4A2F10;border-color:#E8A445;color:#FFD9A8}.ag-att{background:#3A2810;color:#FFE2BD}.ag-att .ag-item{background:#1B241E}}
.dispo{display:block;font-size:12px;margin-top:2px}.dispo.occupe{color:var(--crit)}.dispo.libre{color:var(--ok)}
.ag-ext{display:block;font-size:11.5px;color:var(--muted);background:var(--surface);border:1px dashed var(--line);border-radius:5px;padding:2px 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bell{position:relative;border:0;background:color-mix(in srgb,var(--brand-ink) 16%,transparent);color:var(--brand-ink);border-radius:999px;width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;cursor:pointer;margin-right:6px}
.bell-n{position:absolute;top:-4px;right:-4px;background:var(--hivis);color:#fff;font-size:11px;font-weight:700;min-width:18px;height:18px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;padding:0 4px;border:2px solid var(--brand)}
.nv-liste{display:flex;flex-direction:column;gap:10px;max-height:60vh;overflow:auto;padding-right:4px}
.nv{border:1px solid var(--line);border-left:4px solid var(--line);border-radius:8px;padding:10px 12px}
.nv.nv-maj{border-left-color:var(--hivis);background:var(--hivis-soft)}
.nv.nv-ame{border-left-color:var(--brand)}
.nv.nv-cor{border-left-color:#9AA79F}
.nv b{display:block;margin:4px 0 2px;font-size:calc(16px * var(--k))}
.nv ul{margin:4px 0 0;padding-left:18px;font-size:calc(14.5px * var(--k))}
.nv li{margin:2px 0}

/* Réglages de la plateforme : libellé + provenance sur une ligne */
.rg-l{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.rg-l .tag{width:auto;display:inline-block}
/* Boîte de réception de la plateforme */
.boite-liste{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.boite-item{text-align:left;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--surface);cursor:pointer;font:inherit;color:inherit;display:flex;flex-direction:column;gap:3px}
.boite-item:hover{border-color:var(--brand)}
.boite-item.nonlu{border-left:4px solid var(--hivis)}
.boite-item.traite{opacity:.7}
.boite-fil{display:flex;flex-direction:column;gap:10px;max-height:50vh;overflow:auto;margin:8px 0 12px}
.boite-msg{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--surface)}
.boite-msg.envoye{background:var(--brand-soft, #E7F2EA);margin-left:24px}
.boite-texte{white-space:pre-wrap;font:inherit;margin:6px 0 0;word-break:break-word}
/* Visionneuse photo / PDF */
.visio{position:fixed;inset:0;z-index:1000;background:rgb(10 20 14 / .88);display:flex;flex-direction:column;padding:max(10px,env(safe-area-inset-top)) 10px max(10px,env(safe-area-inset-bottom))}
.visio-barre{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#fff;padding:4px 4px 10px}
.visio-nom{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.visio-barre .btn{background:rgb(255 255 255 / .14);color:#fff;border-color:rgb(255 255 255 / .3)}
.visio-x{width:44px;height:44px;border-radius:50%;border:0;background:#fff;color:#16201A;font-size:22px;font-weight:700;cursor:pointer;flex:0 0 auto}
.visio-corps{flex:1;display:flex;align-items:center;justify-content:center;min-height:0}
.visio-corps img{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px;background:#fff}
.visio-corps iframe{width:min(1000px,100%);height:100%;border:0;border-radius:8px;background:#fff}
/* Administration : onglets en pastilles sur ordinateur, menu déroulant sur téléphone */
.subnav-menu{display:none}
@media (max-width:700px){
  .subnav-large{display:none}
  .subnav-menu{display:flex;flex-direction:column;gap:4px;margin:0 0 12px}
  .subnav-menu select{font-size:17px;font-weight:600;padding:12px 14px;border-radius:12px;min-height:48px;width:100%}
}
.seg button{white-space:nowrap}
/* Acquittement personnel : bouton prioritaire, état de l'équipe */
.ack-gros{display:flex;flex-direction:column;align-items:center;gap:2px;width:100%;font-size:20px;padding:16px 14px;margin:0 0 10px;animation:ack-pulse 1.2s ease-in-out infinite}
.ack-gros small{font-size:13px;font-weight:500;opacity:.92}
@keyframes ack-pulse{0%,100%{box-shadow:0 0 0 0 rgb(217 82 11 / .55)}50%{box-shadow:0 0 0 10px rgb(217 82 11 / 0)}}
@media (prefers-reduced-motion:reduce){.ack-gros{animation:none}}
.etat-equipe{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;margin:0 0 10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.etat-equipe b{width:100%;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.etat-equipe span{padding:4px 10px;border-radius:999px;font-weight:600}
.etat-equipe span.ok{background:var(--ok-soft);color:var(--ok)}
.etat-equipe span.ko{background:var(--warn-soft);color:var(--warn)}
.etat-equipe small{font-weight:500}
/* Arrêté de circulation (fiche) et mode régulation */
.arrete-btn{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;text-align:left;margin:0 0 12px;font-weight:700}
.arrete-btn small{font-weight:500;color:var(--muted)}
.arrete-btn.expire small{color:var(--hivis)}
button.lien-doc{background:none;border:0;padding:0;font:inherit;color:var(--brand);text-decoration:underline;cursor:pointer}
.mode-reg{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;justify-content:space-between;padding:10px 12px;border:1px dashed var(--line);border-radius:10px;margin:0 0 10px;font-size:14.5px;color:var(--muted)}
.mode-reg.on{border:2px solid var(--warn);background:var(--warn-soft);color:var(--ink)}
.indispo-btn{width:100%;margin:-4px 0 10px}
.etat-equipe span.ind{background:var(--sunk);color:var(--muted);text-decoration:line-through}
.etat-equipe span.ind small{text-decoration:none}
/* Disponibilité (Mon compte) et État du personnel */
.dispo-bloc{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;padding:10px 12px;border-radius:10px;border:1px solid var(--line, #D3D9D2)}
.dispo-bloc.on{background:var(--ok-soft, #E7F2EA)}
.dispo-bloc.off{background:#FBEAEA}
.dispo-bloc small{display:block;font-weight:400;opacity:.75;font-size:12px;margin-top:2px}
.perso-off td{opacity:.62}
.perso-off td:last-child{opacity:1}
/* Bouton « Passer en mode régulation » : orange, repérable d'un coup d'œil (intempéries) */
.btn.btn-reg{background:var(--hivis);color:var(--hivis-ink);border-color:var(--hivis);font-weight:700}
.btn.btn-reg:hover{filter:brightness(.93)}
.mode-reg:not(.on){background:var(--hivis-soft);border-color:var(--hivis);color:var(--ink)}
/* Journal et messages : liste lisible sur téléphone (plutôt qu'un tableau à 5 colonnes) */
.jliste{list-style:none;margin:0;padding:0}
.jliste li{padding:10px 0;border-top:1px solid var(--line);overflow-wrap:break-word}
.jliste li:first-child{border-top:0}
.jl-h{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 12px;align-items:baseline}
.jl-ko{color:var(--crit,#b42318)}
/* Audit visuel 2.34.3 */
/* Accent de « Élagage » non rogné sous le titre */
.brand small{line-height:1.35;padding-top:1px}
/* Formulaires en ligne (class="row") : restent en ligne, alignés à gauche */
form.row{flex-direction:row;align-items:flex-end;justify-content:flex-start;flex-wrap:wrap}
form.row > label{flex:1 1 200px}
/* Listes clé / valeur : intitulé au-dessus de la valeur sur téléphone */
.kv{grid-template-columns:minmax(90px,38%) minmax(0,1fr)}
@media (max-width:560px){.kv{grid-template-columns:1fr;gap:0}.kv dt{margin-top:8px;font-size:calc(13px * var(--k))}.kv dd{overflow-wrap:break-word}}
/* Étapes de la fiche : pas de coupure au milieu d'un mot */
.steps b{overflow-wrap:normal;word-break:normal;hyphens:auto}
@media (max-width:430px){.steps b{font-size:calc(12px * var(--k))}}
/* Tableaux larges : on voit qu'ils défilent de côté (ombre sur le bord) */
.scroll{background:linear-gradient(to right,var(--surface) 30%,transparent),linear-gradient(to left,var(--surface) 30%,transparent) 100% 0,radial-gradient(farthest-side at 0 50%,rgb(0 0 0/.18),transparent),radial-gradient(farthest-side at 100% 50%,rgb(0 0 0/.18),transparent) 100% 0;background-repeat:no-repeat;background-size:40px 100%,40px 100%,14px 100%,14px 100%;background-attachment:local,local,scroll,scroll}
/* En-tête côté collectivité sur téléphone : le bouton d'appel porte déjà le numéro, le titre garde toute sa place */
@media (max-width:520px){
  .top-col .br-tel{display:none}
  .top-col .brand h1{font-size:calc(17px * var(--k))}
  .top-col .brand .mark,.top-col .brand img.logo{flex:0 0 auto}
  .top-col .userbtn{max-width:30vw}
}
@media (max-width:380px){.top-col .brand h1{font-size:calc(15px * var(--k));letter-spacing:-.01em}}
/* Administration : hiérarchie des onglets (1er niveau = rubriques groupées par sujet, 2e niveau = parties de la rubrique) */
.adm-groupes{display:flex;flex-direction:column;gap:8px;margin-bottom:4px}
.adm-groupe{display:flex;flex-direction:row;align-items:center;gap:12px}
.adm-groupe .subnav{flex:1;min-width:0}
.adm-gtitre{flex:0 0 150px;font-size:calc(11.5px * var(--k));font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding-left:4px}
@media (max-width:700px){.adm-groupes{display:none}}
.subnav-large{gap:6px;margin-bottom:6px}
.subnav-large button{font-size:calc(15px * var(--k));padding:8px 16px;color:var(--ink)}
.subnav-large button[aria-pressed="true"]{background:var(--brand);border-color:var(--brand);color:#fff}
.ent-sous{gap:0 2px;border-bottom:1px solid var(--line);margin:4px 0 10px}
.ent-sous button{border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;padding:6px 10px;font-size:calc(13.5px * var(--k));color:var(--muted)}
.ent-sous button[aria-current="true"]{background:transparent;border-color:var(--hivis);color:var(--brand)}
/* Astreinte à l'heure près : frise jour par jour (une ligne par rôle), trous à pourvoir */
.agseg.n-reg1{background:var(--brand)}
.agseg.n-reg2{background:color-mix(in srgb,var(--brand) 55%,#fff)}
.agseg.n-eq{background:var(--ok)}
.agseg.hj-trou{background:repeating-linear-gradient(45deg,var(--crit),var(--crit) 6px,color-mix(in srgb,var(--crit) 70%,#fff) 6px,color-mix(in srgb,var(--crit) 70%,#fff) 12px)}
.agseg.hj-trou.relaye{background:repeating-linear-gradient(45deg,var(--hivis),var(--hivis) 6px,color-mix(in srgb,var(--hivis) 65%,#fff) 6px,color-mix(in srgb,var(--hivis) 65%,#fff) 12px);color:var(--hivis-ink,#16201A)}
.agpt.n-reg1{background:var(--brand)} .agpt.n-reg2{background:color-mix(in srgb,var(--brand) 55%,#fff)} .agpt.n-eq{background:var(--ok)} .agpt.absent{background:var(--muted)}
.agseg.absence{background:repeating-linear-gradient(45deg,var(--muted),var(--muted) 5px,transparent 5px,transparent 10px);color:var(--ink)}
.hjtrack{gap:2px}
.hjtrack .aglane{min-height:16px}
.hjday.ferie .agd{color:var(--hivis-strong,#b45309)}
.hjnav{justify-content:center;margin:0 0 6px}
.hjrappel{margin:0}
.hjleg{font-weight:600;font-size:calc(14px * var(--k));margin-bottom:6px}
.hjtr{margin-bottom:4px}
.hjchips{gap:6px;flex-wrap:wrap}
.hjpick{text-align:left;line-height:1.25}
.hjpick small{font-weight:500;opacity:.8}
.agseg.moi{outline:2px solid var(--hivis);outline-offset:-2px}
.guide-lien{display:inline-block;width:fit-content;max-width:100%;align-self:flex-start;justify-self:start;margin:0 0 8px;font-weight:600}
/* Feuilles : une liste déroulante au libellé long ne doit jamais élargir la page sur téléphone */
.sheet form,.sheet label,.sheet fieldset{min-width:0}
.sheet select,.sheet input,.sheet textarea{max-width:100%;min-width:0}
/* Libellés d'horaires longs (« lun. au ven., 17 h → 8 h le lendemain ») : retour à la ligne plutôt qu'une page élargie */
.agrow .aginfo{min-width:0;flex:1 1 auto}
.agrow .agh{white-space:normal;overflow-wrap:anywhere}
.agrow .agqui{min-width:0;overflow:hidden;text-overflow:ellipsis}
@media (max-width:430px){.top-col .brand h1{font-size:calc(15px * var(--k));letter-spacing:-.01em}.top-col .callbtn{width:40px;height:40px}}
/* Webmaster : documentation, code source */
.wm-docs{display:grid;grid-template-columns:220px minmax(0,1fr);gap:16px;align-items:start}
@media (max-width:760px){.wm-docs{grid-template-columns:1fr}}
.wm-nav{display:flex;flex-direction:column;gap:4px;position:sticky;top:8px}
.wm-nav button{text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:8px 10px;font:inherit;font-size:calc(14px * var(--k));cursor:pointer;color:var(--ink)}
.wm-nav button[aria-current="true"]{border-color:var(--brand);background:var(--ok-soft);font-weight:700}
.wm-md{min-width:0;line-height:1.55}
.wm-md h2{font-family:var(--f-display);font-size:24px;margin:4px 0 10px}.wm-md h3{font-size:18px;margin:18px 0 6px}.wm-md h4{font-size:16px;margin:14px 0 4px}
.wm-md code,.wm-code{font-family:var(--f-mono,monospace)}
.wm-md code{background:var(--sunk);border-radius:4px;padding:0 4px;font-size:.92em}
.wm-pre{background:#16201A;color:#E7EDE8;border-radius:10px;padding:12px 14px;overflow:auto;font-size:13px;line-height:1.45;white-space:pre}
.wm-tbl{font-size:calc(14px * var(--k))}.wm-tbl td{vertical-align:top}
.wm-code{background:#16201A;color:#E7EDE8;border-radius:10px;padding:8px 0;overflow:auto;max-height:75vh;font-size:12.5px;line-height:1.5}
.wl{display:flex;white-space:pre}.wl .wn{flex:0 0 auto;width:52px;text-align:right;padding-right:12px;color:#7d8c82;user-select:none}.wl .wt{padding-right:16px}
.wl.trouve{background:rgb(242 140 40/.22)}.wl.vise{background:rgb(242 140 40/.45)}
.wm-chips{display:flex;flex-wrap:wrap;gap:4px;margin:6px 0;max-height:220px;overflow:auto}.wm-chips small{opacity:.6;font-weight:500}
.wm-fn{margin:0 0 8px}
.wm-table{border-top:1px solid var(--line);padding:6px 0}.wm-table summary{cursor:pointer}
.wm-dl{display:flex;flex-direction:column;gap:10px;align-items:stretch;max-width:560px}.wm-dl .btn{text-align:center;text-decoration:none}
.lienbtn{border:0;background:none;padding:0;color:var(--brand);cursor:pointer;font:inherit;text-align:left}
/* Créneaux et tarifs */
.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.three label{min-width:0}
.tc-tbl input{width:72px;min-width:0;padding:6px 8px}
.tc-tbl td:first-child{white-space:normal;min-width:90px}
.tc-tbl td,.tc-tbl th{white-space:nowrap}
/* Contrats */
.ctr-groupe{border:1px solid var(--line,#D3D9D2);border-radius:12px;padding:8px 12px 10px;margin:0 0 12px}
.ctr-siren .siret-choix{display:block;width:100%;text-align:left;margin:4px 0}
.ctr-doc{max-height:55vh;overflow:auto;border:1px solid var(--line,#D3D9D2);border-radius:10px;padding:12px;background:#FCFDFC;font-size:14px;line-height:1.5}
.ctr-doc h1{font-size:18px;margin:0 0 4px}.ctr-doc h2{font-size:15.5px;margin:16px 0 6px;color:#1E5236}.ctr-doc h3{font-size:14.5px;margin:14px 0 4px}.ctr-doc p{margin:0 0 8px}
.ctr-doc table{border-collapse:collapse;width:100%;font-size:12.5px}.ctr-doc th,.ctr-doc td{border:1px solid #D3D9D2;padding:5px 7px;text-align:left;vertical-align:top}.ctr-doc th{background:#EEF3EE}
.ctr-doc .ctab{overflow-x:auto;margin:0 0 10px}
.tag.ctr-signe{background:var(--ok-soft,#E7F2EA);color:var(--ok,#1E5236)}.tag.ctr-envoye{background:#FFF3E0;color:#8A4B00}.tag.ctr-recu{background:#E3ECF8;color:#1F4E8C}.tag.ctr-annule{background:#F2F2F2;color:#666}

.btn.danger-txt{color:var(--danger,#B3261E)}
/* Tableau de bord (agence, groupe, plateforme) */
.tdb-grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:12px}
.tdb-c{border:1px solid var(--line);border-radius:var(--r,10px);padding:12px;background:var(--surface);display:flex;flex-direction:column;gap:8px;min-width:0}
.tdb-c.tdb-alerte{border-color:var(--crit);box-shadow:inset 4px 0 0 var(--crit)}
.tdb-k{display:flex;flex-wrap:wrap;gap:6px}
.tdb-k>span{flex:1 1 70px;display:flex;flex-direction:column;align-items:center;text-align:center;border-radius:8px;padding:6px 4px;background:var(--sunk);font-size:12px;color:var(--muted)}
.tdb-k>span b{font-size:22px;line-height:1.1;color:var(--ink)}
.tdb-k>span small{font-size:11px}
.tdb-k>span.tdb-rouge{background:var(--crit-soft)} .tdb-k>span.tdb-rouge b{color:var(--crit)}
.tdb-k>span.tdb-orange{background:var(--warn-soft)} .tdb-k>span.tdb-orange b{color:var(--warn)}
.tdb-tot{margin:6px 0 4px}
.tdb-l{margin:0;font-size:14px}
.tdb-mat{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.tdb-mat .pill{border:0;cursor:pointer;text-transform:none;letter-spacing:0}
.tdb-inter summary{cursor:pointer;margin-bottom:6px}
.tdb-i{display:block;width:100%;text-align:left;border:1px solid var(--line);border-radius:8px;padding:8px;margin:0 0 6px;background:transparent;color:inherit;font:inherit;font-size:14px;cursor:pointer}
.tdb-i.prio-1{border-left:4px solid var(--crit)}
.tdb-i:hover{background:var(--sunk)}
@media (max-width:480px){.tdb-grille{grid-template-columns:1fr}}
.mat-choix{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px;margin-bottom:10px}
.mat-choix .check{align-items:flex-start;border:1px solid var(--line);border-radius:8px;padding:8px;margin:0}
.mat-choix .mat-off{opacity:.55}
.ag-item.ag-conflit{box-shadow:inset 0 0 0 2px var(--crit)}
.ag-conf{color:var(--crit)}
.tdb-eq{font-size:13px;font-weight:600}
.tdb-qui{margin-top:4px} .tdb-qui summary{cursor:pointer;color:var(--brand);font-weight:600}
.tdb-qui ul{margin:6px 0 0;padding-left:18px} .tdb-qui li{margin:2px 0}
/* Carte : survol et bulle d'une intervention */
.survol-carte{font-family:var(--f-body);font-size:13px;padding:5px 9px;border-radius:8px;box-shadow:0 3px 12px rgba(0,0,0,.2);white-space:nowrap}
.sv-p{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;vertical-align:middle;background:var(--warn)} .sv-p.p1{background:var(--crit)} .sv-p.p3{background:var(--muted)}
.bulle-carte .leaflet-popup-content{margin:12px 14px;font-family:var(--f-body);font-size:13.5px;line-height:1.35;color:var(--ink)}
.bulle-carte .leaflet-popup-content-wrapper{border-radius:10px}
.bc-tt{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:4px}
.bc-ref{font-family:var(--f-mono,ui-monospace,monospace);font-size:11.5px;color:var(--muted);margin-left:auto}
.bc-t{display:block;font-size:15px;margin:2px 0}
.bc-m{color:var(--muted)} .bc-m b{color:var(--ink)} .bc-pt{font-size:11.5px}
.bc-sep{border-top:1px solid var(--line);margin:7px 0}
.bc-l{display:flex;gap:6px;align-items:baseline;margin:2px 0}
.bc-mat{display:inline-block;font-size:11.5px;font-weight:600;background:var(--warn-soft);color:var(--warn);border-radius:999px;padding:1px 8px;margin:1px 3px 1px 0}
.bc-etapes{display:flex;gap:3px;margin:6px 0 2px} .bc-etapes i{flex:1;height:5px;border-radius:3px;background:var(--sunk)} .bc-etapes i.f{background:var(--brand)} .bc-etapes i.c{background:var(--hivis)}
.bc-btns{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px} .bc-btns .btn{text-decoration:none}
.bulle-carte .leaflet-popup-content-wrapper,.bulle-carte .leaflet-popup-tip{background:var(--surface);color:var(--ink)}
.bulle-carte a.btn.primary{color:var(--brand-ink)}
.bulle-carte .leaflet-popup-content{cursor:pointer}
.bulle-carte .leaflet-popup-content-wrapper:hover{box-shadow:0 3px 18px rgba(0,0,0,.45)}
.bulle-carte .bc-btns .btn{cursor:pointer;position:relative;z-index:1}
.leaflet-tooltip.survol-carte{pointer-events:none}
/* Une seule agence : la carte occupe tout l'écran, en trois colonnes (chiffres et personnel · matériel · interventions) */
@media (min-width:900px){
  .tdb-grille.tdb-seul{grid-template-columns:1fr}
  .tdb-seul .tdb-c{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.3fr);grid-template-areas:"hd hd hd" "k k k" "ast mt it" "per mt it" ". mt it";gap:12px 28px;align-items:start;padding:16px 18px}
  .tdb-seul .tdb-hd{grid-area:hd} .tdb-seul .tdb-k{grid-area:k} .tdb-seul .tdb-ast{grid-area:ast} .tdb-seul .tdb-per{grid-area:per} .tdb-seul .tdb-mt{grid-area:mt} .tdb-seul .tdb-inter{grid-area:it}
  .tdb-seul .tdb-k>span b{font-size:28px}
}
/* Boutons : main et léger changement au survol, pour savoir qu'on est prêt à cliquer */
a.btn,.btn{cursor:pointer}
@media (hover:hover){
  .btn:not(.primary):not(.hot):not(.danger):not(:disabled):hover{border-color:var(--brand);background:var(--sunk)}
  .btn.primary:not(:disabled):hover,.btn.hot:not(:disabled):hover,.btn.danger:not(:disabled):hover{filter:brightness(1.15)}
  .bulle-carte .leaflet-popup-content a,.bulle-carte .leaflet-popup-content a *{cursor:pointer!important}
}
/* Tableau de bord à blocs */
.tdb-chips{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 10px}
.tdb-chips button{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:6px 14px;font:inherit;font-weight:600;cursor:pointer;display:inline-flex;gap:6px;align-items:center;white-space:nowrap}
.tdb-chips button i{width:9px;height:9px;border-radius:50%;display:inline-block}
.tdb-chips button.on{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}
.tdb-sel{display:flex;gap:8px;align-items:center;max-width:420px;margin:8px 0 10px}
.tdb-outils{margin:6px 0 10px;align-items:center;gap:8px}
.tdb-ag{display:inline-block;font-size:11.5px;font-weight:700;border-radius:6px;padding:1px 7px;color:#fff;white-space:nowrap;vertical-align:middle}
.tdb-blocs{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px;grid-auto-flow:dense}
.tdb-w{background:var(--surface);border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;min-width:0;overflow:hidden}
.tdb-w.s3{grid-column:span 3}.tdb-w.s4{grid-column:span 4}.tdb-w.s5{grid-column:span 5}.tdb-w.s6{grid-column:span 6}.tdb-w.s7{grid-column:span 7}.tdb-w.s8{grid-column:span 8}.tdb-w.s9{grid-column:span 9}.tdb-w.s10{grid-column:span 10}.tdb-w.s11{grid-column:span 11}.tdb-w.s12{grid-column:span 12}
.tdb-w.tdb-w-crit{border-color:var(--crit);box-shadow:inset 4px 0 0 var(--crit)}
.tdb-w.tdb-drag{opacity:.4}.tdb-w.tdb-over{box-shadow:0 0 0 3px var(--hivis)}
.tdb-wh{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--line);background:var(--sunk);user-select:none;cursor:grab}
.tdb-wh b{font-size:14.5px}.tdb-sp{flex:1}.tdb-poig{color:var(--muted);letter-spacing:-2px}
.tdb-wh button{border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:14px;padding:2px 7px;border-radius:6px}.tdb-wh button:hover{background:var(--surface);color:var(--ink)}
.tdb-wc{padding:10px 12px;flex:1;min-width:0}
.tdb-fil{margin:0 0 8px;gap:6px}
.tdb-kb{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}
.tdb-col h5{margin:0 0 6px;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);display:flex;justify-content:space-between}
.tdb-i{display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.tdb-it{font-size:14.5px;margin-top:3px}
.tdb-eq{color:var(--warn)}

.tdb-mini{display:grid;grid-template-columns:repeat(auto-fit,minmax(68px,1fr));gap:4px;margin:4px 0}.tdb-mini span{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-radius:6px;background:var(--sunk);padding:4px 2px;font-size:11px;color:var(--muted);min-width:0;line-height:1.2}.tdb-mini span b{display:block;font-size:16px;color:var(--ink);text-align:center;width:100%}
.tdb-agl{display:flex;flex-direction:column;gap:10px}.tdb-agc{display:flex;flex-direction:column;gap:2px;padding-bottom:10px;border-bottom:1px solid var(--line);min-width:0}.tdb-agc:last-child{border-bottom:0}.tdb-agh{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.tdb-agc .tdb-ag{white-space:normal;overflow-wrap:anywhere}.tdb-agc>.meta{overflow-wrap:anywhere}
.tdb-mini .r,.tdb-mini .o{text-align:center}.tdb-mini .r{background:var(--crit-soft)}.tdb-mini .r b{color:var(--crit)}.tdb-mini .o{background:var(--warn-soft)}.tdb-mini .o b{color:var(--warn)}
.tdb-al{display:flex;gap:8px;align-items:flex-start;padding:8px 6px;border-bottom:1px solid var(--line);border-radius:6px}.tdb-al:last-child{border-bottom:0}
.tdb-al .ic{font-size:16px;line-height:1.2}.tdb-al-crit b{color:var(--crit)}.tdb-clic{cursor:pointer}.tdb-clic:hover{background:var(--sunk)}
.tdb-ok{margin:4px 0;color:var(--ok);font-weight:600}
.tdb-jauge{height:9px;border-radius:5px;background:var(--sunk);overflow:hidden;display:flex;margin:2px 0 4px}.tdb-jauge i{display:block;height:100%}
.tdb-leg{margin:0 0 8px}
.tdb-seg{margin:0 0 8px;display:inline-flex}
.tdb-grp h5{margin:8px 0 4px}
.tdb-pt td{padding:5px 6px}.tdb-libre{color:var(--ok);font-weight:600}
.tdb-pt-ag{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:2px}
.tdb-map{height:340px;border-radius:8px;overflow:hidden;background:var(--sunk)}
.tdb-w.s12 .tdb-map,.tdb-w.s8 .tdb-map{height:400px}
@media (max-width:760px){
  .tdb-blocs{grid-template-columns:1fr}.tdb-w{grid-column:1/-1!important}.tdb-wh{cursor:default}
  .tdb-chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}
  .tdb-tot>span{flex:1 1 calc(50% - 6px)}.tdb-tot>span:first-child{flex-basis:100%}
  .tdb-map{height:260px}
}
.tdb-seg button{padding:4px 12px;font-size:13px}
.tdb-w .tbl a.btn{white-space:nowrap}
@media (max-width:760px){.tdb-mini span{font-size:10px}}
.ctr-checks{border:0;padding:0;margin:0 0 10px}.ctr-checks legend{font-weight:600;margin-bottom:4px}.ctr-checks .check{margin:2px 0}

/* Sous-traitants : étiquette, répartition par glisser-déposer, fiche */
.tag-st{background:#EFE7F7;color:#4A2A6E;border-color:#D9C8EC}
.st-cases{display:grid;gap:4px;margin:6px 0 10px}
.st-mis{margin:6px 0}

/* Conditions d'utilisation d'une collectivité invitée */
.cgu-texte{max-height:45vh;overflow:auto;border:1px solid var(--line);border-radius:8px;padding:10px 12px;margin:8px 0;font-size:14px;line-height:1.45}
.cgu-texte p{margin:0 0 8px}

/* Mode tempête : triage par secteur */
.tempete-sec{margin:8px 0;border:1px solid var(--line);border-radius:10px;padding:6px 10px;background:var(--surface)}
.tempete-sec summary{cursor:pointer;padding:4px 0}
/* Formules (paliers) : encart de verrou, cartes de la rubrique Formule et options */
.note.verrou{border-left:4px solid var(--brand);background:var(--surface)}
.pal-grille{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px}
@media (max-width:760px){.pal-grille{grid-template-columns:1fr}}
.pal-carte{border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;display:grid;gap:6px;align-content:start}
.pal-carte.on{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand) inset}
.pal-carte b{font-family:var(--f-display);font-size:19px}
.pal-carte .pal-px{font-size:21px;font-weight:700;font-variant-numeric:tabular-nums}
.pal-carte .pal-px small{font-size:13px;font-weight:500;color:var(--muted)}
.pal-carte ul{margin:0;padding-left:18px;font-size:13.5px;color:var(--muted)}
.pal-carte .btn,.pal-carte .tag{justify-self:start}
.pal-fonctions{columns:2;column-gap:24px;font-size:14px;padding-left:0;list-style:none}
@media (max-width:640px){.pal-fonctions{columns:1}}
/* Partenaires de crise : chiffres du département */
.pa-chiffres{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:8px}
@media (max-width:640px){.pa-chiffres{grid-template-columns:repeat(2,minmax(0,1fr))}}
.pa-chiffres div{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:8px 10px;font-size:13.5px;color:var(--muted)}
.pa-chiffres b{display:block;font-size:24px;color:var(--fg);font-variant-numeric:tabular-nums}
/* ---------- Menu sur le côté (ordinateur) : activité en haut, réglages en bas ---------- */
.side{display:none}
@media (min-width:900px) and (pointer:fine){
  body.avec-side{padding-left:248px}
  .side{display:flex;flex-direction:column;position:fixed;top:0;bottom:0;left:0;width:248px;z-index:650;background:var(--brand);color:var(--brand-ink);padding:14px 10px 0;overflow:hidden}
  .sd-tete{display:flex;flex-direction:column;flex:0 0 auto}
  .sd-defil{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;scrollbar-width:thin;padding:0 6px 14px;margin:0 -6px}
  .avec-side .top .nav,.avec-side .top .brand{display:none}
  .avec-side .top-in{justify-content:flex-end}
  .sd-brand{display:flex;gap:10px;align-items:center;padding:4px 8px 14px}
  .sd-brand img{height:38px;max-width:60px;object-fit:contain;background:#fff;border-radius:8px;padding:2px}
  .sd-brand b{display:block;font-family:var(--f-display);font-size:calc(17px * var(--k));letter-spacing:.02em;text-transform:uppercase}
  .sd-brand small{display:block;opacity:.8;font-size:calc(12.5px * var(--k))}
  .sd-saisir{margin:0 4px 12px;border:0;border-radius:10px;background:var(--hivis);color:#16201A;font:inherit;font-weight:800;padding:10px 12px;cursor:pointer;text-align:left}
  .sd-haut,.sd-bas{display:flex;flex-direction:column;gap:2px}
  .sd-bas{margin-top:auto;padding-top:12px;border-top:1px solid color-mix(in srgb,var(--brand-ink) 18%,transparent)}
  .sd-l{display:flex;align-items:center;gap:10px;width:100%;border:0;background:transparent;color:color-mix(in srgb,var(--brand-ink) 88%,transparent);font:inherit;font-weight:600;font-size:calc(14.5px * var(--k));padding:9px 10px;border-radius:9px;cursor:pointer;text-align:left;text-decoration:none}
  .sd-l small{display:block;font-weight:400;opacity:.75;font-size:calc(12px * var(--k))}
  .sd-l:hover{background:color-mix(in srgb,var(--brand-ink) 10%,transparent)}
  .sd-l[aria-current="page"]{background:color-mix(in srgb,var(--brand-ink) 22%,transparent);color:var(--brand-ink)}
  .sd-l svg{flex:none}
  .sd-n{display:inline-block;min-width:18px;padding:0 5px;border-radius:9px;background:var(--hivis);color:#16201A;font-size:11px;text-align:center}
  .sd-adm{display:flex;flex-direction:column;gap:8px;margin:4px 0 10px 8px}
  .sd-grp{display:flex;flex-direction:column;gap:1px;padding:4px 4px 6px;border-radius:10px;background:color-mix(in srgb,#000 16%,transparent);border-left:3px solid color-mix(in srgb,var(--brand-ink) 35%,transparent)}
  .sd-grp-arbo{border-left-color:var(--hivis)}
  .sd-gt{font-size:calc(11px * var(--k));font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-ink);opacity:.95;padding:6px 8px 4px}
  .sd-s{border:0;background:transparent;color:color-mix(in srgb,var(--brand-ink) 85%,transparent);font:inherit;font-size:calc(13.5px * var(--k));text-align:left;padding:5px 8px;border-radius:7px;cursor:pointer}
  .sd-s:hover{background:color-mix(in srgb,var(--brand-ink) 10%,transparent)}
  .sd-s[aria-current="page"]{background:var(--brand-ink);color:var(--brand);font-weight:700}
  .adm-groupes{display:none}
}
@media print{.side{display:none!important}body{padding-left:0!important}}
/* Parties des paramètres : menu déroulant sur téléphone */
@media (max-width:700px){#main nav.ent-sous{display:none}.dd-sous{display:flex}}
/* Carte en plein écran (repli quand le navigateur ne le permet pas, iPhone) */
.leaflet-container.carte-plein{position:fixed!important;inset:0;width:100vw!important;height:100dvh!important;z-index:3000;border-radius:0!important}
body.carte-plein-on .tabbar,body.carte-plein-on .side{display:none!important}
.leaflet-container:fullscreen{width:100vw;height:100vh}
@media (max-width:480px){.mapfond button{padding:7px 8px;font-size:12px}}
.mapfond{position:relative;flex-wrap:wrap;overflow:visible!important}.mapfond>button:first-child{border-radius:6px 0 0 6px}.mapfond>button[data-pe]{border-radius:0 6px 6px 0}
.mapcalques{position:absolute;top:calc(100% + 6px);right:0;background:#fff;color:#16201A;border-radius:10px;box-shadow:0 4px 16px rgb(0 0 0 / .3);padding:10px 12px;display:flex;flex-direction:column;gap:6px;min-width:220px;font:500 13px/1.3 var(--f-body,system-ui);z-index:1000}
.mapcalques[hidden]{display:none}
.mapcalques{color-scheme:light;overflow-y:auto;overscroll-behavior:contain;max-width:calc(100vw - 60px)}
.mapcalques label{display:flex;flex-direction:row;gap:8px;align-items:center;cursor:pointer;margin:0;font-weight:600;color:#16201A;text-align:left}
.mapcalques input[type=checkbox]{appearance:auto;-webkit-appearance:checkbox;width:18px;height:18px;min-height:0;margin:0;flex:0 0 auto;accent-color:#1E5236;background:#fff}
.mapcalques .mc-opa{flex-direction:column;align-items:stretch;gap:2px;border-top:1px solid #E1E6E0;padding-top:6px;margin-top:2px}
.mapcalques .mc-n{color:#5B675F;font-size:11px}
.mapfond button[aria-expanded=true]{background:#E7EBE6}
.mapinfo{font:14px/1.4 var(--f-body,system-ui);display:flex;flex-direction:column;gap:6px}
.mapinfo .mi-par{border-top:1px solid #E1E6E0;padding-top:6px}
.mapinfo .mi-l{display:flex;gap:12px;flex-wrap:wrap}
.mapinfo .mi-l a{font-weight:700;color:#1E5236}
@media (min-width:900px) and (pointer:fine){
  .avec-side #main nav.ent-sous{display:none}
  .sd-plier{align-self:flex-end;border:0;background:color-mix(in srgb,var(--brand-ink) 12%,transparent);color:var(--brand-ink);border-radius:8px;width:30px;height:28px;font-size:16px;cursor:pointer;margin:-4px 0 4px}
  .sd-sous{display:flex;flex-direction:column;gap:1px;margin:2px 0 6px 12px;padding-left:8px;border-left:2px solid var(--hivis)}
  .sd-sous2{margin-left:10px;border-left-color:color-mix(in srgb,var(--brand-ink) 40%,transparent)}
  .sd-ss{border:0;background:transparent;color:color-mix(in srgb,var(--brand-ink) 80%,transparent);font:inherit;font-size:calc(12.5px * var(--k));text-align:left;padding:4px 8px;border-radius:6px;cursor:pointer}
  .sd-ss:hover{background:color-mix(in srgb,var(--brand-ink) 10%,transparent)}
  .sd-ss[aria-current="page"]{color:var(--brand-ink);font-weight:800;background:color-mix(in srgb,var(--brand-ink) 16%,transparent)}
  .sd-ss .ent-pastille{margin-left:4px}
  body.avec-side.side-replie{padding-left:68px}
  .side-replie .side{width:68px;padding:12px 8px}
  .side-replie .sd-plier{align-self:center}
  .side-replie .sd-brand div,.side-replie .sd-l span,.side-replie .sd-saisir span,.side-replie .sd-adm{display:none}
  .side-replie .sd-brand{justify-content:center;padding:4px 0 10px}
  .side-replie .sd-l{justify-content:center;padding:10px 0}
  .side-replie .sd-saisir{text-align:center;padding:10px 0;margin:0 0 10px;font-size:20px}
}

/* Personnel par blocs (intitulé du poste · secteur) */
.pbloc{border:1px solid var(--line);border-radius:10px;padding:4px 8px 6px;margin:0 0 8px;background:var(--surface)}
.pbloc-t{font-weight:800;font-size:12.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--brand);padding:4px 2px 6px;border-bottom:1px solid var(--line);margin-bottom:4px}
.pbloc-t small,.pbloc-tr small{font-weight:600;color:var(--muted);text-transform:none;letter-spacing:0;margin-left:4px;background:var(--sunk);border-radius:999px;padding:0 7px}
.pbloc-tr th{background:var(--brand-soft,var(--sunk));color:var(--brand);text-align:left;font-size:12.5px;text-transform:uppercase;letter-spacing:.04em;padding:7px 10px;border-top:2px solid var(--brand)}
fieldset.team:has(.pbloc){display:block}
fieldset.team .pbloc{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:2px 14px}
fieldset.team .pbloc-t{grid-column:1/-1}

/* Ordinateur : la liste des fiches défile dans sa colonne, la fiche ouverte dans la page */
@media (min-width:940px){.grid .col-list{align-self:start;position:sticky;top:calc(var(--top-h,0px) + 8px);max-height:calc(100vh - var(--top-h,0px) - 16px);overflow-y:auto;overscroll-behavior:contain;padding-right:4px;scrollbar-width:thin}.grid .col-list>*{flex-shrink:0}}

/* Menu de gauche : flèches pour replier une partie dépliée */
@media (min-width:900px) and (pointer:fine){
  .sd-row{display:flex;align-items:center;gap:2px}.sd-row>.sd-l,.sd-row>.sd-s,.sd-row>.sd-ss{flex:1;min-width:0}
  .sd-pli{flex:0 0 auto;border:0;background:transparent;color:var(--brand-ink);opacity:.75;width:26px;height:26px;border-radius:6px;cursor:pointer;font-size:14px;line-height:1;transition:transform .15s}
  .sd-pli:hover{opacity:1;background:color-mix(in srgb,var(--brand-ink) 14%,transparent)}
  .sd-pli.ferme{transform:rotate(-90deg)}
  .sd-gt{display:flex;align-items:center;justify-content:space-between}
  .sd-adm.ferme,.sd-sous.ferme{display:none}
  .sd-grp.ferme>:not(.sd-gt){display:none}
  .side-replie .sd-pli{display:none}
}

/* Widgets : coin de redimensionnement, hauteur choisie, gestionnaire */
.tdb-w{position:relative}
.tdb-w.h-fixe .tdb-wc{flex:1 1 auto;min-height:0;overflow:auto}
.tdb-w.h-fixe .tdb-map{height:100%!important;min-height:140px}
.tdb-res{position:absolute;right:0;bottom:0;width:20px;height:20px;cursor:nwse-resize;touch-action:none;z-index:5;background:linear-gradient(135deg,transparent 50%,var(--muted) 50%,var(--muted) 58%,transparent 58%,transparent 70%,var(--muted) 70%,var(--muted) 78%,transparent 78%);opacity:.55;border-bottom-right-radius:12px}
.tdb-res:hover,.tdb-w.tdb-resize .tdb-res{opacity:1}
.tdb-w.tdb-resize{box-shadow:0 0 0 3px var(--hivis);user-select:none}
.tdb-man{display:flex;flex-direction:column;gap:6px;margin:10px 0}
.tdb-man-l{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:8px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:6px 10px;background:var(--surface)}
.tdb-man-l.off{opacity:.55;background:var(--sunk)}
.tdb-man-l select{width:auto;min-width:0;padding:6px 8px}
.tdb-man-o{display:flex;gap:4px}
@media (max-width:760px){.tdb-man-l{grid-template-columns:1fr auto}}
/* Agences bien séparées : une carte par agence, liseré et fond à sa couleur */
.tdb-grp{border:1px solid var(--line);border-left:5px solid var(--ag,var(--brand));border-radius:10px;padding:8px 10px;margin:0 0 10px;background:color-mix(in srgb,var(--ag,var(--brand)) 5%,var(--surface))}
.tdb-grp h5{margin:0 0 6px}
.tdb-agl .tdb-agc{border-bottom:1px solid var(--line)}
.tdb-agl .tdb-agc:last-child{border-bottom:1px solid var(--line)}
.tdb-ast{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.tdb-pt .pbloc-tr th{font-size:11px;padding:5px 8px}
.ve-n{white-space:nowrap}

/* Onglets des interventions (ordinateur) */
.onglets{display:none}
@media (min-width:940px){
  .onglets{display:flex;align-items:flex-end;gap:4px;flex-wrap:wrap;border-bottom:2px solid var(--brand);margin:0 0 14px;padding:0 2px;position:sticky;top:var(--top-h,0px);z-index:40;background:var(--bg)}
  .og{display:inline-flex;align-items:center;border:1px solid var(--line);border-bottom:0;border-radius:10px 10px 0 0;background:var(--sunk);color:var(--ink);font:inherit;max-width:300px;min-width:0}
  button.og,.og-ouvrir{border:0;background:transparent;font:inherit;color:inherit;cursor:pointer;padding:8px 12px;display:inline-flex;align-items:center;gap:6px;min-width:0}
  button.og{border:1px solid var(--line);border-bottom:0;background:var(--sunk);font-weight:700}
  .og[aria-selected="true"],.og.on{background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}
  .og-ouvrir{padding-right:4px}.og-ouvrir b{white-space:nowrap;font-family:var(--f-mono,monospace);font-size:12.5px}
  .og-t{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px;opacity:.9;min-width:0}
  .og-x{border:0;background:transparent;color:inherit;cursor:pointer;padding:6px 9px;border-radius:6px;opacity:.7;font-size:13px}
  .og-x:hover{opacity:1;background:color-mix(in srgb,currentColor 15%,transparent)}
  .og-n{background:var(--crit);color:#fff;border-radius:999px;padding:0 7px;font-size:12px}
  .og-dot{width:9px;height:9px;border-radius:50%;flex:0 0 auto;background:var(--muted)}
  .og-dot.st-recue{background:var(--crit)}.og-dot.st-prise,.og-dot.st-depart{background:var(--warn)}.og-dot.st-surplace,.og-dot.st-securise{background:#1F5A8A}.og-dot.st-cloturee{background:var(--ok)}
  .og-danger:not(.on){box-shadow:inset 0 3px 0 var(--crit)}
  .og-tout{margin-left:auto;border:0;background:transparent;color:var(--muted);font:inherit;font-size:13px;cursor:pointer;padding:6px 8px}
  /* Onglet « Demandes » : liste en grand, encarts sur deux colonnes, cartes en grille ; vue d'ensemble à droite */
  .grid.grid-og[data-view="list"]{grid-template-columns:minmax(0,1fr) clamp(340px,30vw,480px)}
  .grid.grid-og[data-view="list"] .col-list{position:static;max-height:none;overflow:visible;padding-right:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
  .grid.grid-og[data-view="list"] .col-list>.tri,.grid.grid-og[data-view="list"] .col-list>.tabs,.grid.grid-og[data-view="list"] .col-list>.cartes,.grid.grid-og[data-view="list"] .col-list>.alert,.grid.grid-og[data-view="list"] .col-list>.ve-filtre,.grid.grid-og[data-view="list"] .col-list>.ack-gros,.grid.grid-og[data-view="list"] .col-list>.cta{grid-column:1/-1}
  .grid.grid-og[data-view="list"] .cartes{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:10px;align-items:start}
  .grid.grid-og[data-view="list"] .cartes>.empty{grid-column:1/-1}
  .grid.grid-og[data-view="list"] .col-detail>.empty{display:none}
  /* Onglet d'une fiche (ou nouvelle demande) : pleine largeur */
  .grid.grid-og[data-view="detail"],.grid.grid-og[data-view="new"]{grid-template-columns:minmax(0,1fr)}
  .grid.grid-og[data-view="detail"] .col-list,.grid.grid-og[data-view="new"] .col-list{display:none}
}
.cartes{display:flex;flex-direction:column;gap:10px}

/* Bandeau du haut : bouton d'alarme sonore à côté de la cloche */
.alarmbtn{position:relative;border:0;border-radius:999px;width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;cursor:pointer;font-size:18px;background:color-mix(in srgb,var(--brand-ink) 16%,transparent)}
.alarmbtn.al-inactive::after,.alarmbtn.al-coupee::after{content:"";position:absolute;top:2px;right:2px;width:11px;height:11px;border-radius:50%;background:var(--crit);border:2px solid var(--brand)}
.alarmbtn.al-coupee::after{background:var(--muted)}
.alarmbtn.al-sonne{background:var(--crit);animation:al-vibre .5s infinite}
@keyframes al-vibre{0%,100%{transform:rotate(0)}25%{transform:rotate(-12deg)}75%{transform:rotate(12deg)}}
/* « À faire » : une seule ligne discrète */
.afaire{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:calc(13.5px * var(--k))}
.af-t{font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:11.5px;margin-right:2px}
.af-c{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:4px 11px;font:inherit;font-weight:600;cursor:pointer;text-decoration:none;white-space:nowrap}
.af-c:hover{border-color:var(--brand)}
.af-x{border:0;background:transparent;color:var(--muted);cursor:pointer;padding:4px 6px;margin-left:auto}
/* Téléphone : bandeau d'espace réduit à l'essentiel (rien pour un compte simple : le nom est déjà en haut) */
@media (max-width:700px){
  .entbar.eb-simple{display:none}
  .entbar{padding:4px 10px;gap:2px 8px;font-size:12.5px;flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;justify-content:flex-start}
  .entbar .eb-long,.entbar .entbar-d{display:none}
  .entbar-g{margin-left:4px}
}
@media (min-width:701px){.entbar .eb-court{display:none}}

/* Saisie d'une demande : appelant choisi = une étiquette ; listes cachées derrière « Choisir dans la liste » */
.dem-liens{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:6px 0 4px}
.dem-choix{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;background:var(--ok-soft);border:1px solid var(--brand);border-radius:10px;padding:10px 12px;margin:4px 0}
.dem-choix small{color:var(--muted)}

/* Services de crise : barre de rubriques fixe, carte à la bonne hauteur */
.pa-nav{position:sticky;top:var(--top-h,0px);z-index:40;display:flex;gap:6px;overflow-x:auto;padding:8px 2px;margin:0 0 6px;background:var(--bg);scrollbar-width:none;border-bottom:1px solid var(--line)}
.pa-nav button{flex:0 0 auto;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:7px 13px;font:inherit;font-weight:600;font-size:calc(14px * var(--k));cursor:pointer;white-space:nowrap}
.pa-nav button:hover{border-color:var(--brand)}
section[data-pa]{scroll-margin-top:calc(var(--top-h,0px) + 60px)}
.pa-carte{height:min(420px,55vh);border-radius:10px}
/* Bandeau d'espace : compte d'un groupe = seulement le choix de l'agence */
.entbar.eb-simple{display:none}
.entbar.eb-groupe>span:first-child,.entbar.eb-groupe .entbar-d{display:none}
.tempete-mini{padding-top:10px;padding-bottom:10px}
.tempete-mini .afaire .meta{flex:1;min-width:200px}
@media (min-width:940px){.grid.grid-og.grid-col[data-view="list"]{grid-template-columns:minmax(0,1fr)}.grid.grid-og.grid-col[data-view="list"] .col-detail{display:none}}

/* Infobulle de la carte (double-clic) : compacte sur une petite carte */
.mapinfo-petit .leaflet-popup-content{margin:8px 10px;font-size:12.5px;line-height:1.35}
.mapinfo-petit .mapinfo b{font-size:13px}
.mapinfo-petit .mapinfo .mi-l{gap:8px}
.mapinfo-petit .mapinfo .mono{font-size:11px}

/* Saisie : contact sur place en un geste ; clavier ouvert = barre du bas cachée */
.ctc-choix{display:flex;flex-direction:column;gap:6px;margin:4px 0 2px}
.ctc-choix .lbl{font-weight:600;font-size:14px}
.ctc-chips{display:flex;flex-wrap:wrap;gap:6px}
.ctc-c{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:7px 12px;font:inherit;font-size:calc(14px * var(--k));font-weight:600;cursor:pointer}
.ctc-c.on{border-color:var(--brand);background:var(--ok-soft);box-shadow:0 0 0 2px color-mix(in srgb,var(--brand) 35%,transparent)}
.ctc-c small{font-weight:400;color:var(--muted)}
.ctc-autre{border-style:dashed}
body.clavier .tabbar,body.clavier .barre-etape{display:none!important}
input,textarea,select{scroll-margin:90px 0 120px}
/* Clavier ouvert : de la marge sous le formulaire pour pouvoir caler le dernier champ en haut */
@media (max-width:900px){body.clavier-att #main{padding-bottom:60vh}}

/* Téléphone : tableaux en fiches empilées */
@media (max-width:700px){
  table.tbl-fiches,table.tbl-fiches tbody,table.tbl-fiches tr,table.tbl-fiches td,table.tbl-fiches tbody th{display:block;width:100%;box-sizing:border-box}
  table.tbl-fiches thead{display:none}
  table.tbl-fiches tr{border:1px solid var(--line);border-radius:10px;padding:8px 12px;margin:0 0 8px;background:var(--surface)}
  table.tbl-fiches td{border:0!important;padding:4px 0!important;min-height:0;text-align:left!important;overflow-wrap:anywhere;white-space:normal!important}
  table.tbl-fiches td::before{content:attr(data-l);display:block;color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:1px}
  table.tbl-fiches td code,table.tbl-fiches td .mono{white-space:normal;overflow-wrap:anywhere}
  table.tbl-fiches td[data-l=""]::before{display:none}
  table.tbl-fiches td:first-child{font-size:1.03em}
  table.tbl-fiches td:empty{display:none}
  table.tbl-fiches tr.pbloc-tr{border:0;background:transparent;padding:10px 0 4px;margin:0}
  table.tbl-fiches tr.pbloc-tr th{border-radius:8px}
  .scroll:has(> table.tbl-fiches){overflow:visible;background:none}
  table.tbl-fiches td .links{flex-wrap:wrap}
}
  
@media (max-width:700px){table.tbl-fiches td:first-child::before{display:none}}
.note-repliee>.note-corps{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.note-repliee{margin-bottom:2px!important}
.note-suite{display:inline-block;margin:0 0 10px 2px;font-size:13px;font-weight:600}
.naturebar{display:flex;flex-direction:row;align-items:center;gap:8px;margin:6px 0 2px}
.naturebar select{width:100%;min-width:0;max-width:100%;flex:1 1 0;min-height:36px;padding:4px 30px 4px 10px;font-size:calc(14px * var(--k))}

/* Widgets repliables */
.tdb-wh .tdb-plier{transition:transform .15s;font-size:16px;background:transparent}.tdb-plier.ferme{transform:rotate(-90deg)}
.tdb-w.tdb-plie .tdb-wc,.tdb-w.tdb-plie .tdb-res{display:none}
.tdb-w.tdb-plie{align-self:start}
/* Onglets de vue d'ensemble */
.og-vue{font-weight:700}
.og-plein{max-width:none}
/* iPhone : les champs d'heure et de date ne débordent plus du cadre */
input[type=time],input[type=date],input[type=datetime-local],input[type=month]{max-width:100%;min-width:0;box-sizing:border-box;-webkit-appearance:none;appearance:none;display:block}

/* ---------- Administration sur téléphone : accueil en liste, fil, parties ---------- */
.am-titre{font-family:var(--f-display);font-size:24px;margin:4px 0 12px}
.am-g{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden;margin:0 0 16px}
.am-gt{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:12px 14px 4px;background:var(--surface)}
.am-l{display:flex;align-items:center;gap:14px;width:100%;border:0;background:transparent;color:var(--ink);font:inherit;text-align:left;padding:12px 14px;cursor:pointer;min-height:58px;position:relative}
.am-l+.am-l::before{content:"";position:absolute;top:0;left:64px;right:0;border-top:1px solid var(--line)}
.am-l2+.am-l2::before{left:14px}
.am-l:active{background:var(--sunk)}
.am-i{flex:0 0 auto;width:38px;height:38px;border-radius:11px;display:grid;place-items:center;color:var(--t);background:color-mix(in srgb,var(--t) 14%,var(--surface))}
.am-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.am-t b{font-weight:700;font-size:16px;line-height:1.25}
.am-t small{color:var(--muted);font-size:13px;line-height:1.3}
.am-c{flex:0 0 auto;color:var(--muted);font-size:22px;line-height:1}
.am-mer .am-t b{color:#D9520B}
.m-fil{display:none}
@media (max-width:700px){
  .m-fil{display:flex;align-items:center;gap:0 6px;flex-wrap:wrap;margin:0 0 12px;font-size:14px;line-height:1.35;color:var(--muted)}
  .m-fil button{border:0;background:transparent;color:var(--brand);font:inherit;font-weight:700;padding:4px 0;cursor:pointer;display:inline-flex;align-items:center;gap:4px}
  .m-fil b{color:var(--ink)}
  .mf-ret::before{content:"‹";font-size:20px;line-height:1}
  .rub-menu,#main .dd-sous{display:none!important}
  #adm .m-parts{display:flex}
  #adm .m-parts[hidden]{display:none!important}
  #adm [data-mcache]{display:none!important}
  #main .guide-lien{display:none}
}
@media (min-width:701px){.m-parts{display:none!important}}
/* Android (Material) : listes pleine largeur, séparateurs complets, pas de flèche, flèche retour ← */
.os-android .am-g{border-radius:0;border-left:0;border-right:0;margin:0 -16px 12px;background:var(--surface)}
.os-android .am-gt{color:var(--brand);text-transform:none;letter-spacing:0;font-size:14px;padding:14px 16px 6px}
.os-android .am-l{padding:14px 16px;min-height:64px}
.os-android .am-c{display:none}
.os-android .am-i{border-radius:50%}
.os-android .am-l+.am-l::before{left:72px}
.os-android .mf-ret::before{content:"←";font-size:18px}
.os-android .am-l2+.am-l2::before{left:16px}
@media (max-width:700px){#adm.m-partie #mer-box{display:none}}

/* Menu « Plus » du téléphone : même style que l'administration */
#sheet .plus-g{margin:8px 0 12px}
#sheet a.am-l{text-decoration:none}
.os-android #sheet .am-g{margin-left:0;margin-right:0;border-radius:0;border-left:0;border-right:0}

/* Menu du compte */
.mu-tete{display:flex;align-items:center;gap:14px;margin:0 0 12px}
.mu-av{flex:0 0 auto;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--brand);color:#fff;font-weight:800;font-size:20px;letter-spacing:.02em}
.mu-id{min-width:0}
.mu-id h3{margin:0 0 2px}
.mu-id p{margin:0;color:var(--muted);font-size:14px;overflow-wrap:anywhere}
.mu-role{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px!important}
.mu-role span{background:var(--sunk);color:var(--ink);border-radius:999px;padding:2px 10px;font-size:12.5px;font-weight:600}
.mu-detail{margin:-4px 0 10px}
.mu-dispo{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;border:1px solid var(--line);margin:0 0 16px}
.mu-dispo.on{background:var(--ok-soft,#E7F2EA)}
.mu-dispo.off{background:#FBEAEA}
.mu-pastille{flex:0 0 auto;width:12px;height:12px;border-radius:50%;background:#1F9D55;box-shadow:0 0 0 4px color-mix(in srgb,#1F9D55 22%,transparent)}
.mu-dispo.off .mu-pastille{background:#B42318;box-shadow:0 0 0 4px color-mix(in srgb,#B42318 22%,transparent)}
#sheet .mu-g{margin:0 0 14px}
#sheet a.mu-l{text-decoration:none}
.mu-danger .am-t b{color:#B42318}
.mu-info{padding:12px 14px;color:var(--muted);font-size:14px}

/* Recherche d'une rubrique */
.cherche{position:relative;flex:1 1 320px;max-width:440px;min-width:0;margin-right:auto;display:flex;align-items:center;height:40px;border-radius:999px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.1);color:#fff}
.cherche:focus-within{background:#fff;color:var(--ink);border-color:#fff}
.cherche-loupe{flex:none;width:40px;height:38px;border:0;background:none;color:inherit;display:grid;place-items:center;cursor:pointer;border-radius:50%}
.cherche input{flex:1;min-width:0;height:38px;border:0;outline:0;background:none;color:inherit;font:inherit;font-size:15px;padding:0 4px 0 0;-webkit-appearance:none;appearance:none}
.cherche input::placeholder{color:currentColor;opacity:.75}
.cherche kbd{flex:none;font:inherit;font-size:11px;opacity:.7;border:1px solid currentColor;border-radius:6px;padding:1px 6px;margin-right:12px}
.cherche:focus-within kbd{display:none}
.cherche-res{position:absolute;top:calc(100% + 6px);left:0;width:max(100%,380px);max-width:calc(100vw - 24px);max-height:min(62vh,520px);overflow:auto;background:var(--surface,#fff);color:var(--ink);border-radius:14px;box-shadow:0 10px 32px rgba(0,0,0,.22);padding:6px;z-index:700}
.cr-t{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:6px 10px 4px}
.cr-l{display:flex;flex-direction:column;align-items:flex-start;gap:1px;width:100%;text-align:left;border:0;background:none;color:inherit;font:inherit;padding:9px 12px;border-radius:10px;cursor:pointer}
.cr-l b{font-size:15px}
.cr-l small{font-size:12.5px;color:var(--muted)}
.cr-l.on,.cr-l:hover{background:var(--sunk,#EEF1EC)}
.cr-vide{margin:0;padding:12px;color:var(--muted);font-size:14px}
/* Téléphone et tablette : une loupe ; touchée, le champ se déplie sur toute la largeur de l'en-tête */
@media (max-width:899px){
  .cherche{flex:0 0 40px;width:40px;margin-right:0;margin-left:auto;border-radius:50%}
  .cherche input,.cherche kbd{display:none}
  .cherche.ouvert{position:absolute;left:8px;right:8px;top:calc(env(safe-area-inset-top,0px) + 8px);width:auto;max-width:none;border-radius:999px;background:#fff;color:var(--ink);z-index:710}
  .cherche.ouvert input{display:block}
  .cherche-res{width:100%}
}
/* Téléphone : avec la loupe, l'en-tête garde le nom de l'application lisible */
@media (max-width:430px){
  .top .brand h1{font-size:calc(16px * var(--k));letter-spacing:-.01em}
  .top .mark{width:36px;height:36px;flex:0 0 36px}
  .top .cherche:not(.ouvert),.top .bell,.top .alarmbtn,.top .userbtn{width:36px!important;height:36px!important;min-width:36px}
  .top .top-in{gap:6px}
  .top .top-in>div:last-child,.top .acts{gap:6px}
}

/* Pack numéro d'urgence */
.pack-tel .pt-ok{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:4px 0 8px}
.pack-tel .pt-num{font-family:var(--f-display);font-size:28px;font-weight:700;color:var(--brand);letter-spacing:.02em}
.pack-tel .pt-liste{margin:6px 0 12px;padding-left:20px;color:var(--muted)}

/* Street View dans l'application (fenêtre presque plein écran) */
.sheet.sv-sheet{max-width:min(1100px,96vw);height:88vh;display:flex;flex-direction:column}
.sv-tete{display:flex;justify-content:space-between;align-items:center;gap:10px}
.sv-tete h3{margin:0}
.sv-cadre{flex:1;min-height:240px;margin-top:10px;border-radius:10px;overflow:hidden;background:#E7EBE6}
.sv-cadre iframe{width:100%;height:100%;border:0;display:block}

/* Radar de pluie animé : barre de lecture en bas de la carte */
.rv-barre{position:absolute;left:10px;right:10px;bottom:22px;z-index:1000;display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;background:rgba(255,255,255,.95);border-radius:10px;padding:6px 10px;box-shadow:0 1px 6px rgba(0,0,0,.2);font-size:13px;max-width:560px}
.rv-barre button{font:inherit;font-size:16px;width:36px;height:36px;border-radius:50%;border:0;background:var(--brand,#1E5236);color:#fff;cursor:pointer;flex:none}
.rv-barre input[type=range]{flex:1;min-width:120px;accent-color:var(--brand,#1E5236)}
.rv-barre .rv-h{min-width:150px}
.rv-barre .rv-prev{color:#B3261E;font-weight:600}
.rv-barre .rv-n{flex-basis:100%;font-size:11.5px;color:#5B675F}
.pill-btn{background:none;border:0;padding:0;cursor:pointer;font:inherit;display:inline-flex;align-items:center;gap:4px}.pill-btn:hover .pill{filter:brightness(.95);text-decoration:underline}
.mf-leg{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.mf-leg img{max-height:38px;max-width:260px;background:#fff;border-radius:4px}
.ch-l{display:grid;grid-template-columns:minmax(0,3fr) 64px 110px 96px 36px;gap:6px;margin:4px 0;align-items:center}.ch-tete{display:grid;grid-template-columns:minmax(0,3fr) 64px 110px 96px 36px;gap:6px;font-size:12px;margin-top:8px}.ch-types{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}@media(max-width:560px){.ch-l{grid-template-columns:1fr 56px 1fr 80px 32px}.ch-l [name=lib]{grid-column:1/-1}.ch-tete{display:none}}

/* Frises de semaine : échelle des heures en haut, repères toutes les 3 h, barres espacées (2.100.3) */
.agfrise{gap:10px}
.agday + .agday:not(.agech){padding-top:8px;border-top:1px solid var(--line)}
.agech{position:sticky;top:0;z-index:2;background:var(--surface);padding:2px 0}
.agechl{position:relative;height:24px;font-size:11px;color:var(--muted);
  background:repeating-linear-gradient(90deg,var(--muted) 0,var(--muted) 1px,transparent 1px,transparent calc(100% / 96)) bottom/100% 4px no-repeat,
             repeating-linear-gradient(90deg,var(--muted) 0,var(--muted) 1px,transparent 1px,transparent calc(100% / 24)) bottom/100% 9px no-repeat}
.agechl span{position:absolute;top:0;transform:translateX(-50%);white-space:nowrap;font-variant-numeric:tabular-nums}
.agechl span.h3{font-weight:700;color:var(--ink)}
.agechl span:first-child{transform:none}.agechl span:last-child{transform:translateX(-100%)}
@media (max-width:700px){.agechl span.h1{display:none}}
.agtrack{background:
  repeating-linear-gradient(90deg,var(--line) 0,var(--line) 1px,transparent 1px,transparent calc(100% / 24)),
  repeating-linear-gradient(90deg,color-mix(in srgb,var(--line) 45%,transparent) 0,color-mix(in srgb,var(--line) 45%,transparent) 1px,transparent 1px,transparent calc(100% / 96)),
  var(--sunk)}
label.indispo .who b,option.indispo{color:var(--muted)}
label.indispo{opacity:.65}
.indispo-l{color:var(--crit)!important}
.agtrack.hjtrack{gap:4px;padding:3px 0}
.agseg{box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);background-clip:padding-box;border-left:2px solid transparent;border-right:2px solid transparent}
.agleg i.agseg{border:0;box-shadow:none}
.hjtrack .agseg{display:flex;align-items:center;line-height:1}

/* Grille Semaines : personne d'astreinte sur une partie du créneau seulement (planning jour par jour) */
.pchip.partiel{border-style:dashed}
.pchip.partiel small{font-weight:400;opacity:.8}

/* Simulateur d'astreinte (2.103.0) */
.sim-lien{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;flex-direction:row}
.sim-lien>span:first-child{font-size:26px}.sim-lien b{display:block}.sim-lien small{color:var(--muted)}.sim-lien>span:last-child{margin-left:auto;font-size:20px;color:var(--muted)}
.sim-tete{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.sim-props{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.sim-props small{color:var(--muted);font-weight:400}
.sim-mb{border:1px solid var(--line);border-radius:8px;padding:8px 10px}.sim-mb-l{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:2px 10px;max-height:320px;overflow:auto}
.sim-cartes{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.sim-cartes>div{background:var(--sunk);border-radius:8px;padding:10px}.sim-cartes b{display:block;font-size:20px;color:var(--brand)}.sim-cartes small{color:var(--muted)}
.sim-graph{display:flex;align-items:flex-end;gap:8px;height:190px;padding-top:30px;border-bottom:1px solid var(--line)}
.sim-bar{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;position:relative;min-width:0}
.sim-bar i{display:block;width:70%;background:color-mix(in srgb,var(--brand) 45%,transparent);border-radius:4px 4px 0 0;min-height:2px}
.sim-bar.on i{background:var(--hivis-strong,#d9822b)}
.sim-bar .v{font-size:12px;font-weight:700;text-align:center;margin-bottom:3px}.sim-bar .v small{display:block;font-weight:400;color:var(--muted)}
.sim-bar .l{position:absolute;bottom:-34px;font-size:11px;color:var(--muted);text-align:center;line-height:1.2}
.sim-bar.on .l{color:var(--ink);font-weight:700}
#sim-res .sim-graph{margin-bottom:40px}
.sim-t{width:100%;border-collapse:collapse;font-size:13px}.sim-t th,.sim-t td{padding:4px 6px;border-bottom:1px solid var(--line);text-align:left}.sim-t td:nth-child(n+2){text-align:right}
.sim-gform fieldset{border:1px solid var(--line);border-radius:8px;padding:8px 10px;margin:0 0 10px}

/* Planning jour par jour : glisser pour ajuster (2.105.0) */
.hjtrack .agseg{overflow:visible}
.hjpg{position:absolute;top:-2px;bottom:-2px;width:10px;cursor:ew-resize;touch-action:none;z-index:2}
.hjpg.g{left:-5px}.hjpg.dr{right:-5px}
.hjpg::after{content:"";position:absolute;top:3px;bottom:3px;left:4px;width:2px;border-radius:2px;background:#fff;opacity:0;transition:opacity .15s}
.agseg:hover .hjpg::after,.hjpg:active::after{opacity:.9}
.hjtrack .aglane{touch-action:pan-y;cursor:crosshair}
.hjtrack .aglane.cible{outline:2px dashed var(--hivis-strong,#d9822b);outline-offset:1px}
.agseg.hjfantome{background:color-mix(in srgb,var(--brand) 35%,transparent);border:1px dashed var(--brand);pointer-events:none}
.hjpalette{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}
.hjchip{padding:4px 10px;border-radius:999px;background:var(--sunk);border:1px solid var(--line);font-size:13px;font-weight:600;cursor:grab;user-select:none;touch-action:none}
.hjchip.fantome{position:fixed;z-index:9999;pointer-events:none;box-shadow:0 4px 14px rgba(0,0,0,.25);background:var(--surface)}
#hj-bulle{position:fixed;z-index:10000;background:#16201A;color:#fff;font-size:12px;font-weight:700;padding:3px 7px;border-radius:6px;pointer-events:none;font-variant-numeric:tabular-nums}
#hj-menu{position:fixed;z-index:10001;min-width:230px;max-width:320px;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.22);padding:6px;display:flex;flex-direction:column}
#hj-menu button{all:unset;padding:7px 10px;border-radius:6px;cursor:pointer;font-size:14px}
#hj-menu button:hover,#hj-menu button:focus{background:var(--sunk)}
#hj-menu .hjm-t{font-size:12px;color:var(--muted);padding:4px 10px;font-weight:700}
#hj-menu hr{border:0;border-top:1px solid var(--line);margin:4px 0}
.hjtrack{-webkit-touch-callout:none;user-select:none;-webkit-user-select:none}
@media (pointer:coarse){.hjpg{width:22px}.hjpg.g{left:-11px}.hjpg.dr{right:-11px}.hjtrack .aglane{cursor:default}}
.hjstep{display:grid;grid-template-columns:60px auto 1fr auto;gap:10px;align-items:center;margin:8px 0}.hjstep b{text-align:center;font-size:22px;font-variant-numeric:tabular-nums}
.hjtrack .aglane.multi{display:flex;flex-direction:column;gap:2px}
.hjtrack .agsous{position:relative;flex:1}
.hjtrack .aglane.multi>.hj-trou{z-index:1}
/* Plaquettes : éditeur (2.106.0) */
.plq-page{border:1px solid var(--line);border-radius:10px;padding:8px 10px;margin:0 0 12px;display:flex;flex-direction:column;gap:8px}
.plq-page legend{font-weight:700;display:flex;gap:10px;align-items:center}
.plq-bloc{border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:8px;padding:8px;display:flex;flex-direction:column;gap:6px;background:var(--surface)}
.plq-bloc.t-auto{border-left-color:var(--hivis-strong,#d9822b)}.plq-bloc.t-encadre{border-left-color:#2E7D4F}.plq-bloc.t-contact{border-left-color:#16201A}
.plq-bt{display:flex;justify-content:space-between;gap:8px;align-items:center}.plq-bt select{max-width:220px}
.hjtrack .agseg.clic:not(.hj-trou){cursor:grab}.hjtrack .agseg.deplace{cursor:grabbing;opacity:.85;box-shadow:0 4px 12px rgba(0,0,0,.3);z-index:3}
@media (pointer:coarse){.hjtrack .agseg.clic{cursor:pointer}}
.sim-svg{width:100%;height:auto;margin-top:10px;font-size:11px}
.sim-svg text{fill:var(--muted)}.sim-svg .t{font-size:11px;font-weight:600}
.sim-svg .g{stroke:var(--line);stroke-width:1}
.sim-svg .c{fill:none;stroke:var(--brand);stroke-width:2.5;opacity:.7}
.sim-svg .pal{stroke:var(--muted);stroke-dasharray:3 4;opacity:.6}
.sim-svg .pt circle{fill:var(--surface);stroke:var(--brand);stroke-width:2.5}
.sim-svg .pt.enreg circle{fill:var(--hivis-strong,#d9822b);stroke:#fff;stroke-width:1.5}
.sim-svg .pt text{fill:var(--ink);font-weight:600;font-size:11px}
.sim-leg{display:inline-block;width:10px;height:10px;border-radius:50%;border:2px solid var(--brand);vertical-align:middle}.sim-leg.enreg{background:#d9822b;border-color:#d9822b}
/* Licence : page lisible (2.107.1) */
.lic-total{background:var(--sunk);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:8px}
.lic-total>div:first-child{display:flex;flex-direction:column}.lic-total>div:first-child b{font:700 30px var(--f-display);color:var(--brand);line-height:1.1}
.lic-barre{display:flex;height:14px;border-radius:7px;overflow:hidden;background:var(--line)}.lic-barre i{display:block;height:100%}
.lic-leg{display:flex;flex-wrap:wrap;gap:14px;font-size:13px}.lic-leg i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:middle}
.lic-cartes{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.lic-carte{border:1px solid var(--line);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:3px}
.lic-ico{font-size:20px}.lic-mt{font:700 24px var(--f-display);color:var(--ink)}.lic-mt small{font:500 13px var(--f-body);color:var(--muted)}
.lic-det{list-style:none;margin:6px 0 0;padding:0;font-size:13px}.lic-det li{display:flex;justify-content:space-between;gap:8px;padding:4px 0;border-top:1px solid var(--line)}
.lic-det small{display:block;color:var(--muted)}.lic-det b{white-space:nowrap}
.lic-bloc{border:1px solid var(--line);border-radius:10px;padding:8px 12px}.lic-bloc summary{cursor:pointer}
.lic-jauge{background:#E7EBE6;border-radius:6px;height:10px;max-width:320px;margin:8px 0 4px}.lic-jauge div{height:10px;border-radius:6px}
.lic-hist td{vertical-align:top}
/* ---------- Assistant d'aide (panneau à droite ; plein écran sur téléphone) ---------- */
.aide{position:fixed;top:0;right:0;bottom:0;width:min(420px,100vw);z-index:1100;background:var(--surface);color:var(--ink);border-left:1px solid var(--line);box-shadow:-8px 0 28px rgb(0 0 0 / .18);display:none;flex-direction:column;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
.aide.on{display:flex}
.aide-tete{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:12px 14px;border-bottom:1px solid var(--line);background:var(--brand);color:var(--brand-ink)}
.aide-tete h3{margin:0;font-family:var(--f-display);font-size:19px}
.aide-tete small{display:block;opacity:.85;font-size:12.5px;margin-top:2px}
.aide-tete .links{display:flex;flex-wrap:nowrap;gap:6px;flex:0 0 auto}
@media (max-width:420px){header .aide-btn{display:none}}
.aide-tete .btn{color:var(--brand-ink);border-color:color-mix(in srgb,var(--brand-ink) 40%,transparent)}
.aide-fil{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px}
.aide-m{max-width:88%;padding:9px 12px;border-radius:14px;font-size:calc(15px * var(--k,1));line-height:1.45;overflow-wrap:anywhere}
.aide-m p{margin:0 0 6px}.aide-m p:last-child{margin:0}
.aide-m ul,.aide-m ol{margin:4px 0 6px;padding-left:20px}.aide-m li{margin:2px 0}
.aide-m.moi{align-self:flex-end;background:var(--brand);color:var(--brand-ink);border-bottom-right-radius:4px}
.aide-m.ia{align-self:flex-start;background:color-mix(in srgb,var(--brand) 8%,var(--surface));border:1px solid var(--line);border-bottom-left-radius:4px}
.aide-m.err{background:color-mix(in srgb,#B3261E 10%,var(--surface));border-color:color-mix(in srgb,#B3261E 35%,var(--line))}
.aide-attente{display:flex;gap:5px;padding:12px 14px}
.aide-attente span{width:7px;height:7px;border-radius:50%;background:var(--muted);animation:aide-pt 1.2s infinite ease-in-out}
.aide-attente span:nth-child(2){animation-delay:.15s}.aide-attente span:nth-child(3){animation-delay:.3s}
@keyframes aide-pt{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
.aide-vide p{margin:0 0 10px}
.aide-sugg{display:flex;flex-direction:column;gap:6px;margin:4px 0 12px}
.aide-sugg button{text-align:left;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:10px;padding:8px 11px;font:inherit;font-size:14px;cursor:pointer}
.aide-sugg button:hover{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 6%,var(--surface))}
.aide-saisie{display:flex;gap:8px;align-items:flex-end;padding:10px 12px;border-top:1px solid var(--line)}
.aide-saisie textarea{flex:1;resize:none;min-height:44px;max-height:140px;margin:0}
.aide-pied{display:flex;justify-content:space-between;gap:8px;padding:0 14px 10px;font-size:12.5px;color:var(--muted)}
.aide-pied a{color:var(--brand);font-weight:600}
@media (prefers-reduced-motion:reduce){.aide-attente span{animation:none}}
/* ---------- Menu « Espace » du super-administrateur ---------- */
.esp-btn{display:inline-flex;align-items:center;gap:4px;border:1px solid color-mix(in srgb,var(--brand) 45%,var(--line));background:var(--surface);color:var(--ink);border-radius:999px;padding:3px 12px;font:inherit;cursor:pointer}
.esp-btn:hover{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 8%,var(--surface))}
.esp-g{margin:0 0 14px}
.esp-l{display:flex;flex-direction:column;align-items:flex-start;width:100%;text-align:left;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:10px;padding:8px 12px;margin:0 0 6px;font:inherit;cursor:pointer}
.esp-l small{color:var(--muted);font-size:13px}
.esp-l:hover{border-color:var(--brand)}
.esp-l.on{border:2px solid var(--brand);background:color-mix(in srgb,var(--brand) 8%,var(--surface))}
.esp-l[hidden]{display:none}
.esp-comptes{display:flex;flex-wrap:wrap;gap:6px}
.aide-relais{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:2px}
.aide-panneau h4{margin:0 0 6px}
.aide-panneau label{display:block;margin:10px 0}
.aide-ticket{border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin:0 0 10px;background:var(--surface)}
.aide-ticket .row{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}
.aide-ticket .aide-m{max-width:100%;margin:8px 0 2px}
.aide-ticket.st-repondu{border-color:color-mix(in srgb,var(--brand) 45%,var(--line))}
.aide-pied .links{display:inline-flex;gap:12px;align-items:center}
.aide-pied .lienbtn{font-size:12.5px;color:var(--brand);font-weight:600}
.aide-btn{position:relative}
/* Assistance (super-administrateur) */
.ast-l{display:block;width:100%;text-align:left;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:10px;padding:9px 12px;margin:0 0 6px;font:inherit;cursor:pointer}
.ast-l:hover{border-color:var(--brand)}
.ast-l small{display:block;color:var(--muted)}
.ast-conv{max-height:320px;overflow-y:auto;border:1px solid var(--line);border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:8px;background:var(--bg)}
.ast-conv .aide-m{max-width:92%}
/* ---------- Calendrier maison (téléphone) ---------- */
input.dp-cache{position:absolute!important;left:0!important;top:0!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important;padding:0!important;border:0!important;margin:0!important}
.dp-btn{display:block;box-sizing:border-box;max-width:100%;width:100%;text-align:left;min-height:48px;padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);font:inherit;cursor:pointer}
.dp-btn.dp-vide{color:var(--muted)}
.dp-btn:disabled{opacity:.55}
label:has(> .dp-btn){position:relative}
.dp-voile{position:fixed;inset:0;z-index:2900;background:rgb(0 0 0 / .45);display:flex;align-items:center;justify-content:center;padding:16px}
.dp{width:min(380px,100%);background:var(--surface);color:var(--ink);border-radius:16px;box-shadow:0 18px 50px rgb(0 0 0 / .35);padding:14px 14px 12px}
.dp-t{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.dp-t b{font-size:17px;text-transform:capitalize}
.dp-t button{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-size:22px;cursor:pointer}
.dp-g{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.dp-js span{text-align:center;font-size:12px;color:var(--muted);text-transform:uppercase;padding:4px 0}
.dp-g button{height:44px;border:0;border-radius:10px;background:transparent;color:var(--ink);font:inherit;font-size:16px;cursor:pointer}
.dp-g button.auj{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--brand) 55%,transparent)}
.dp-g button.on{background:var(--brand);color:var(--brand-ink);font-weight:700}
.dp-g button:disabled{opacity:.3}
.dp-h{display:flex;align-items:center;gap:8px;margin:12px 0 2px}
.dp-h span{color:var(--muted);margin-right:auto}
.dp-h select{width:auto;min-width:76px;margin:0}
.dp-b{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:12px}
.dp-sp{flex:1}
/* Planning jour par jour : colonne des rôles devant les lignes, légende */
.hjgrille{display:flex;gap:4px;min-width:0}
.hjgrille .agtrack.hjtrack{flex:1;height:auto}
.hjlabs{display:flex;flex-direction:column;gap:4px;padding:3px 0;width:26px;flex:0 0 26px}
.hjlab{display:flex;align-items:center;justify-content:center;border-radius:4px;font-size:10.5px;font-weight:800;letter-spacing:.02em;color:#fff;min-height:16px;line-height:1}
.hjlab.n-reg1{background:var(--brand)}
.hjlab.n-reg2{background:color-mix(in srgb,var(--brand) 55%,#fff);color:#0f2a1c}
.hjlab.n-eq{background:var(--ok)}
.hjech .agechl{margin-left:30px}
.hjroles{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;margin:4px 0 10px;font-size:13px}
.hjroles span{display:inline-flex;align-items:center;gap:6px}
.hjroles .hjlab{display:inline-flex;width:24px;height:18px}
/* Appui long sur le planning (téléphone) : pas de sélection de texte ni de bulle « Copier / Chercher » par-dessus le menu */
.pchip,.agseg,.hjchip,.hjlab,.aglane,.agtrack,.plcell,[data-act="pl-cell"]{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.hjmode{display:inline-flex;gap:4px;margin:0 0 8px}
.hjp .hjlabs{width:58px;flex:0 0 58px}
.hjlab.hjnom{background:var(--sunk);color:var(--ink);border:1px solid var(--line);font-size:11px;font-weight:700;justify-content:flex-start;padding:0 4px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.hjlab.hjnom.moi{border-color:var(--hivis);box-shadow:inset 3px 0 0 var(--hivis)}
.hjlab.hjnom.vide{color:var(--crit);font-weight:600}
.agtrack.hjptrack{flex:1;height:auto;gap:4px;padding:3px 0}
.hjptrack .aglane{min-height:16px}
.hjptrack .aglane.multi{display:flex;flex-direction:column;gap:2px}
.hjptrack .agsous{position:relative;flex:1}
.hjech.hjechp .agechl{margin-left:62px}
/* Radar de pluie sur téléphone : une seule ligne compacte en bas de la carte (lecture, curseur, heure), sans la note */
@media (max-width:700px){
  .rv-barre{left:6px;right:6px;bottom:18px;flex-wrap:nowrap;gap:6px;padding:3px 8px;font-size:12px;border-radius:999px}
  .rv-barre button{width:28px;height:28px;font-size:13px}
  .rv-barre input[type=range]{min-width:0;height:20px}
  .rv-barre .rv-h{min-width:0;white-space:nowrap;flex:none}
  .rv-barre .rv-n,.rv-barre .mf-leg{display:none}
}
/* Bulle d'aide sur téléphone (l'en-tête n'a pas la place du bouton) : au-dessus de la barre du bas, à droite */
.aide-fab{display:none}
@media (max-width:420px){
  .aide-fab{display:flex;position:fixed;right:12px;bottom:calc(92px + env(safe-area-inset-bottom,0px));z-index:590;width:46px;height:46px;border-radius:50%;border:0;align-items:center;justify-content:center;
    background:var(--brand);color:var(--brand-ink);box-shadow:0 4px 14px rgb(0 0 0 / .28);cursor:pointer}
  .aide-fab .bell-n{position:absolute;top:-3px;right:-3px}
}
/* « Intempéries ? Passer en mode régulation » : bien visible (bouton plein, couleur d'alerte), surtout sur téléphone */
.mode-reg-mini .af-c{background:#5B2C83;color:#fff;border:0;font-weight:700;padding:10px 16px;box-shadow:0 2px 8px rgb(91 44 131 / .35)}
.mode-reg-mini .af-c:hover{background:#4A2270}
@media (max-width:700px){.mode-reg-mini{display:block}.mode-reg-mini .af-c{width:100%;max-width:100%;white-space:normal;justify-content:center;text-align:center;min-height:46px;font-size:14.5px}}
/* Listes de documents (plaquettes, modèles) : titre sur toute la largeur, boutons en dessous sur téléphone */
.doc-l .agqui{white-space:normal}
.doc-l .agh{font-family:inherit}
@media (max-width:700px){
  .doc-l{flex-direction:column;align-items:stretch;gap:8px}
  .doc-l .aginfo{width:100%;min-width:0}
  .doc-l .links{justify-content:flex-start;flex-wrap:wrap}
}
/* Calendrier maison : le bouton ne déborde jamais de sa colonne (texte coupé avec …), le champ d'origine est invisible et sans largeur */
.dp-btn{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
label:has(> .dp-btn),.two > label{min-width:0}
input.dp-cache{clip-path:inset(50%)!important;overflow:hidden!important;max-width:1px!important}
.plweek > h4 + .plreinit{margin:-4px 0 8px}
.plweek .plreinit{display:inline-flex;width:auto;max-width:100%;align-self:flex-start}
/* Fenêtre ouverte par-dessus la page : la page derrière ne défile plus, et le défilement ne « déborde » pas d'une fenêtre vers la page. */
html:has(.sheet-bg),html:has(.visio),html:has(.dp-voile),html:has(.cs-veil){overflow:hidden}
html:has(.sheet-bg) body,html:has(.visio) body,html:has(.dp-voile) body,html:has(.cs-veil) body{overflow:hidden}
@media (max-width:939px){html:has(.aide.on),html:has(.aide.on) body{overflow:hidden}}
.sheet-bg,.sheet,.visio,.dp-voile,.cs-pop,.aide,#hj-menu{overscroll-behavior:contain}
.pc-det{display:block;margin:4px 0}.pc-det small{font-weight:400}.pc-det .pc-passe{color:var(--muted)}.pchip.passe{opacity:.75}

@media (min-width:700px){.pltools > .cs-btn,.pltools > #pl-col{flex:0 1 380px;width:380px;max-width:100%}}
/* Barre d'actions collée en bas d'une fenêtre (contrats, sous-traitants) : elle descend jusqu'au bord, rien ne défile visible en dessous */
.sheet .sheet-actions{position:sticky;z-index:3;bottom:calc(-18px - env(safe-area-inset-bottom,0px));margin:12px calc(-1 * max(18px,env(safe-area-inset-right,0px))) calc(-18px - env(safe-area-inset-bottom,0px)) calc(-1 * max(18px,env(safe-area-inset-left,0px)));padding:10px max(18px,env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) max(18px,env(safe-area-inset-left,0px));background:var(--surface);border-top:1px solid var(--line);box-shadow:0 -6px 14px rgb(0 0 0 / .06)}

/* ---------- Pictogrammes (remplacent les emojis à l'affichage) ---------- */
svg.picto{display:inline-block;vertical-align:-.2em;flex:none;margin-right:.1em}

/* ---------- Affichage téléphone / ordinateur ---------- */
.aff-choix{display:flex;gap:4px;background:var(--sunk);border-radius:12px;padding:4px}
.aff-choix button{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;border:0;border-radius:9px;background:none;color:var(--muted);font:inherit;font-weight:700;cursor:pointer}
.aff-choix button[aria-pressed="true"]{background:var(--surface);color:var(--brand);box-shadow:0 1px 3px rgb(0 0 0 / .12)}
.aff-note{margin:6px 2px 0}
.astuce-ordi{display:flex;align-items:center;gap:10px;width:100%;margin:0 0 12px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);font:inherit;font-size:14px;text-align:left;cursor:pointer}
.astuce-ordi svg{color:var(--brand);flex:none}.astuce-ordi span{flex:1;color:var(--muted)}.astuce-ordi b{color:var(--brand);white-space:nowrap}
/* Vue ordinateur sur un téléphone : la page fait 1280 px de large ; le bouton de retour est dessiné en grand pour rester lisible */
/* Retour à la vue téléphone : bien visible (orange, liseré blanc), centré en bas, au-dessus des fenêtres ouvertes */
.retour-tel{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(32px + env(safe-area-inset-bottom,0px) * 2);z-index:1100;display:flex;align-items:center;gap:14px;padding:28px 48px;border:5px solid #fff;border-radius:999px;background:#D9520B;color:#fff;font:800 44px/1 var(--f-body);box-shadow:0 8px 30px rgb(0 0 0 / .45);cursor:pointer;white-space:nowrap}

/* ---------- Écran terrain de l'intervenant ---------- */
.terrain{display:flex;flex-direction:column;gap:12px;max-width:640px;margin:0 auto}
.tm-garde{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--muted);font:inherit;font-size:15px;text-align:left}
button.tm-garde{cursor:pointer}.tm-garde b{margin-left:auto;color:var(--brand);white-space:nowrap}
.tm-garde.on{background:var(--ok-soft);border-color:transparent;color:var(--ink)}.tm-garde.on b{margin:0;color:inherit}
.tm-pt{width:11px;height:11px;border-radius:50%;background:#9AA59D;flex:none}.tm-garde.on .tm-pt{background:var(--ok);box-shadow:0 0 0 4px rgb(31 122 69 / .18)}
.tm-indispo{padding:10px 14px;border-radius:12px;background:var(--warn-soft);color:var(--ink);font-size:15px}
.tm-t{font-family:var(--f-display);font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:6px 2px -4px}
.tm-mission{background:var(--surface);border-radius:16px;padding:14px;box-shadow:0 1px 4px rgb(0 0 0 / .08);border-left:6px solid var(--line);display:flex;flex-direction:column;gap:8px}
.tm-mission.p1{border-left-color:var(--crit)}.tm-mission.p2{border-left-color:var(--hivis)}.tm-mission.p3{border-left-color:var(--warn)}
.tm-tete{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.tm-mission h3{margin:0;font-family:var(--f-display);font-size:22px;line-height:1.15}
.tm-lieu{margin:0;color:var(--muted);font-size:15px}
.tm-mission .steps{margin:4px 0}
.tm-go{width:100%;min-height:58px;font-size:18px;justify-content:center}
.tm-outils{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:8px}
.tm-outils .btn{flex-direction:column;gap:4px;min-height:62px;justify-content:center;font-size:14px}
.tm-fiche{align-self:center;color:var(--brand);font-weight:700;text-decoration:none;padding:4px 8px}
.tm-vide{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:28px 18px;border:1px dashed var(--line);border-radius:16px;color:var(--muted)}
.tm-vide svg{color:var(--brand);opacity:.7}.tm-vide b{color:var(--ink);font-size:17px}
.tm-autres{display:flex;align-items:center;gap:10px;width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);font:inherit;font-size:15px;text-align:left;cursor:pointer}
.tm-autres svg{color:var(--brand)}.tm-autres span{flex:1}.tm-autres b{color:var(--brand)}

/* ---------- Demandeur, élu : suivi de la demande façon colis ---------- */
.colis{display:flex;flex-direction:column;gap:5px;margin:8px 0 2px}
.colis-b{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}
.colis-b i{height:6px;border-radius:3px;background:var(--sunk)}
.colis-b i.f{background:var(--ok)}.colis-b i.c{background:var(--hivis);animation:colis 1.6s ease-in-out infinite}
@keyframes colis{50%{opacity:.45}}
@media (prefers-reduced-motion:reduce){.colis-b i.c{animation:none}}
.colis-l{font-size:14px;color:var(--muted)}.colis-l b{color:var(--ink)}

/* ---------- Téléphone, profils de terrain (intervenant, demandeur, élu) : en-tête et bandeaux allégés ---------- */
@media (max-width:700px){
  body.profil-terrain .cherche{display:none}
  body.profil-col .tri{display:none}
  .simbar{font-size:12px;padding:3px 10px;line-height:1.3}
  body.profil-terrain .appfoot{display:none}
}
.tm-t-alerte{color:var(--crit)}

/* ---------- Aujourd'hui (responsable, régulation) ---------- */
.jr-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.jr-kpi{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 6px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);font:inherit;cursor:pointer}
.jr-kpi b{font-family:var(--f-display);font-size:30px;line-height:1}.jr-kpi span{font-size:13px;color:var(--muted)}
.jr-kpi.alerte{border-color:var(--crit);background:var(--crit-soft)}.jr-kpi.alerte b{color:var(--crit)}
.jr-bloc{background:var(--surface);border-radius:16px;padding:12px 14px;box-shadow:0 1px 4px rgb(0 0 0 / .06);display:flex;flex-direction:column;gap:6px}
.jr-bloc .tm-t{margin:0 0 4px}
.jr-garde{display:flex;gap:10px;align-items:baseline;padding:7px 0;border-bottom:1px solid var(--sunk)}
.jr-role{flex:0 0 42%;font-weight:700;font-size:14px}.jr-pers{flex:1;display:flex;flex-direction:column;gap:2px;font-size:15px}.jr-vide{color:var(--crit);font-weight:700}
.jr-tel{color:var(--brand);vertical-align:-2px;padding:2px 4px}
.jr-trous{display:flex;flex-direction:column;gap:6px;margin-top:6px}.jr-trous>b{font-size:14px}
.jr-trous div{display:flex;flex-direction:column;padding:7px 10px;border-radius:10px;font-size:14px}
.jr-trous .vide{background:var(--crit-soft);color:var(--crit)}.jr-trous .relais{background:var(--warn-soft);color:var(--ink)}.jr-trous small{color:var(--muted)}
.jr-ok{display:flex;align-items:center;gap:6px;margin:6px 0 0;color:var(--ok);font-weight:600}
.jour .tm-autres{margin-top:4px}

/* ---------- Mon astreinte, demandes de remplacement ---------- */
.ma-titre{font-family:var(--f-display);font-size:28px;margin:0}
.ma-cr{background:var(--surface);border-radius:14px;padding:12px 14px;box-shadow:0 1px 4px rgb(0 0 0 / .06);display:flex;flex-direction:column;gap:8px}
.ma-q{display:flex;flex-direction:column}.ma-q b{font-size:17px}.ma-q span{color:var(--muted);font-size:14px}
.ma-acts{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ma-acts .btn{justify-content:center;min-height:48px;text-align:center}
.ma-dm{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:7px 10px;border-radius:10px;font-size:14px;background:var(--info-soft)}
.ma-dm.refuse{background:var(--warn-soft)}.ma-dm.accepte{background:var(--ok-soft)}
.rp-recue{background:var(--surface);border:2px solid var(--hivis);border-radius:16px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}
.rp-msg{margin:0;font-style:italic;color:var(--muted)}
.rp-bandeau{display:flex;align-items:center;gap:10px;width:100%;padding:12px 14px;border:0;border-radius:14px;background:var(--hivis);color:#fff;font:inherit;font-size:15px;text-align:left;cursor:pointer}
.rp-bandeau span{flex:1}
.rp-gens{display:flex;flex-direction:column;gap:6px;margin:0 0 10px}
.rp-g{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;cursor:pointer}
.rp-g input{width:22px;height:22px;flex:none}.rp-g span{display:flex;flex-direction:column}.rp-g small{color:var(--muted)}
.rp-g.indispo{opacity:.55}.rp-g:has(input:checked){border-color:var(--brand);background:var(--ok-soft)}
.retour-mien{margin:0 0 10px}

/* ---------- Bascule utilisation / administration (menu « Plus ») ---------- */
.mode-bascule{display:flex;align-items:center;gap:12px;width:100%;margin:0 0 12px;padding:14px;border:0;border-radius:14px;background:var(--brand);color:#fff;font:inherit;text-align:left;cursor:pointer}
.mode-bascule span{display:flex;flex-direction:column}.mode-bascule small{opacity:.85}
.mode-bascule.util{background:var(--hivis)}
.tabbar-admin{border-top:3px solid var(--brand)}
#sheet label.rp-g{display:flex;flex-direction:row;align-items:center;text-align:left;gap:12px;margin:0;font-weight:400}
#sheet label.rp-g input{width:22px;height:22px;min-height:0;margin:0;flex:none}

/* ---------- Lecture sur le terrain ---------- */
/* Téléphone : textes secondaires plus foncés (le gris clair pâlit en plein soleil) */
@media (max-width:700px){:root{--muted:#3F4A43;--line:#C4CCC3}}
@media (prefers-color-scheme: dark){@media (max-width:700px){:root{--muted:#B9C4BD;--line:#3A483F}}}
/* Texte plus grand (réglage du compte) : le contenu et les fenêtres sont agrandis ; les cartes gardent leur échelle */
html.texte-grand #main,html.texte-grand #sheet .sheet{zoom:1.15}
/* La fenêtre agrandie doit tenir dans l'écran : sa hauteur maximale est réduite d'autant (sinon le haut sort de l'écran) */
html.texte-grand #sheet .sheet{max-height:calc(92vh / 1.15);max-height:calc((92dvh - env(safe-area-inset-top,0px)) / 1.15)}
html.texte-grand #main .leaflet-container,html.texte-grand #sheet .leaflet-container{zoom:.8696}
html.texte-grand .tabbar .tb span{font-size:13px}
.aff-lbl{font-size:13px;font-weight:700;color:var(--muted);margin:10px 2px 4px}
.aff-3 button{font-size:13px;padding:0 4px;text-align:center}
/* Fiche : l'essentiel en gros sur téléphone */
.fiche-ess{display:none}
@media (max-width:700px){
  .fiche-ess{display:flex;flex-direction:column;gap:8px;margin:4px 0 10px;padding:12px;border-radius:14px;background:var(--sunk)}
  .fe-adr,.fe-eta{display:flex;align-items:flex-start;gap:10px;margin:0;font-size:18px;line-height:1.3}
  .fe-adr svg,.fe-eta svg{flex:none;color:var(--brand);margin-top:2px}
  .fe-adr span{display:flex;flex-direction:column}.fe-adr small{font-size:15px;color:var(--muted)}
  .fe-acts{display:grid;grid-template-columns:1fr 1fr;gap:8px}.fe-acts .btn{justify-content:center;min-height:50px;font-size:15px;gap:6px}
}
html.vue-ordi .fiche-ess{display:none}
/* Mode sombre : boutons pleins lisibles */
.mode-bascule{color:var(--brand-ink)}.mode-bascule.util,.rp-bandeau{color:var(--hivis-ink)}
/* Vue ordinateur sur un téléphone : les fenêtres (menu du compte…) restent lisibles sans zoomer */
html.vue-ordi.appareil-mobile #sheet .sheet{zoom:2;max-height:calc(92vh / 2)}

/* ---------- Fenêtres détachables (double écran) ---------- */
.fen-btn{margin-left:auto;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.pltop .fen-btn{margin-left:12px}
.fen-dehors{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:40px 20px;max-width:560px;margin:30px auto}
.fen-dehors svg{color:var(--brand);opacity:.75}.fen-dehors h2{margin:0;font-family:var(--f-display)}.fen-dehors p{margin:0;color:var(--muted)}
.fen-dehors .links{justify-content:center;margin-top:8px}.fen-dehors .btn{display:inline-flex;align-items:center;gap:6px}
.fen-aide{margin:8px 0 14px;padding-left:20px;line-height:1.5}
/* Fenêtre détachée : barre de titre seule, contenu sur toute la largeur */
body.fenetre-detachee{padding:0}
.fen-barre{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:10px;padding:8px 14px;background:var(--brand);color:var(--brand-ink)}
.fen-barre .mark{width:30px;height:30px;border-radius:8px;background:var(--hivis);display:grid;place-items:center;flex:none}
.fen-barre b{font-family:var(--f-display);font-size:18px;text-transform:uppercase;letter-spacing:.02em}
.fen-barre .meta{color:inherit;opacity:.8}
.fen-barre .btn{margin-left:auto;display:inline-flex;align-items:center;gap:6px}
.fen-main{max-width:none;padding:12px 16px;margin:0}
.fen-fiche{max-width:900px;margin:0 auto}
body.fenetre-detachee .back.m-only{display:none}
/* Fenêtre principale, fiche détachée : la liste prend toute la largeur, en plusieurs colonnes */
body.fiche-dehors .grid{grid-template-columns:1fr}
body.fiche-dehors .col-detail{display:none}
body.fiche-dehors .col-list .cartes{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:10px}
@media (max-width:700px){.fen-btn{display:none}}

/* ---------- Assistance à distance ---------- */
.as-bloc{border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin:0 0 12px}
.as-bloc h4{display:flex;align-items:center;gap:8px;margin:0 0 6px}
.as-liste{margin:6px 0 10px;padding-left:20px;line-height:1.5}
.as-chrome label{display:block;margin:6px 0}
.as-code{font-family:var(--f-mono,monospace);font-size:1.15em;letter-spacing:.08em}
#assist-bandeau{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:3000;display:flex;align-items:center;gap:12px;max-width:calc(100vw - 24px);padding:10px 12px 10px 16px;border-radius:14px;background:#6D28D9;color:#fff;box-shadow:0 8px 28px rgb(0 0 0 / .3);font-size:15px}
#assist-bandeau.on{background:#B3261E}
#assist-bandeau .btn{background:#fff;color:#1A1A1A;border:0;white-space:nowrap}
#assist-bandeau .as-code{font-size:1.25em}
.as-repere{position:fixed;z-index:3100;pointer-events:none;transform:translate(-50%,-50%)}
.as-rond{display:block;width:46px;height:46px;border:4px solid #E3261B;border-radius:50%;box-shadow:0 0 0 4px rgb(227 38 27 / .25);animation:as-pulse 1s ease-out infinite}
.as-txt{position:absolute;left:34px;top:-6px;white-space:nowrap;padding:5px 10px;border-radius:8px;background:#E3261B;color:#fff;font-weight:700;font-size:15px;box-shadow:0 3px 10px rgb(0 0 0 / .25)}
@keyframes as-pulse{0%{transform:scale(.7);opacity:1}100%{transform:scale(1.25);opacity:.55}}
@media (prefers-reduced-motion:reduce){.as-rond{animation:none}}
.sa-form{display:grid;grid-template-columns:minmax(160px,220px) auto minmax(200px,1fr) auto;gap:10px;align-items:end;margin:0 0 8px}
.sa-form label{margin:0}
@media (max-width:900px){.sa-form{grid-template-columns:1fr}}
.sa-ecran{position:relative;background:#111;border-radius:12px;overflow:hidden;min-height:200px;display:flex;align-items:center;justify-content:center;margin-top:8px}
.sa-ecran video{width:100%;max-height:72vh;display:block;cursor:crosshair;object-fit:contain;background:#111}
.sa-ecran.vide video{display:none}.sa-ecran span{color:#bbb}
.sa-echo{position:absolute;width:30px;height:30px;margin:-15px 0 0 -15px;border:3px solid #E3261B;border-radius:50%;pointer-events:none;animation:as-pulse .6s ease-out 2}
.sa-chrome{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
@media (max-width:700px){.assist-btn{display:none}#assist-bandeau{bottom:calc(84px + env(safe-area-inset-bottom,0px))}}
/* Assistant : dictée et lecture à voix haute */
.aide-micro{flex:none;min-width:46px;display:grid;place-items:center;padding:0 10px}
.aide-micro.on{background:#B3261E;color:#fff;border-color:#B3261E;animation:as-pulse 1.2s ease-in-out infinite alternate}
.aide-voix[aria-pressed="true"]{color:var(--brand);background:var(--ok-soft)}
#aide form.aide-saisie{display:flex;flex-wrap:nowrap;flex-direction:row}
#aide .aide-saisie textarea{min-width:0;width:auto}
#aide .aide-saisie .btn{flex:none;width:auto;margin:0}
/* Captures d'écran (Administration › Captures d'écran) et cadre de capture */
html.mode-capture #toast,html.mode-capture #sheet,html.mode-capture .entbar,html.mode-capture .afaire,html.mode-capture .simbar,html.mode-capture .assist-bandeau,html.mode-capture .install-bandeau{display:none!important}
html.mode-capture *{animation:none!important;transition:none!important;caret-color:transparent}
details.capt-ferme>:not(summary){display:none!important}
html.mode-capture summary{list-style:none}html.mode-capture summary::-webkit-details-marker{display:none}
.capt-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;margin-top:10px}
.capt-v{margin:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--surface);display:flex;flex-direction:column}
.capt-img{background:var(--bg,#f3f5f2);display:flex;align-items:center;justify-content:center;text-align:center;padding:0;overflow:hidden}
.capt-img.capt-pc{aspect-ratio:16/10}.capt-img.capt-tel{aspect-ratio:16/10}
.capt-img img{width:100%;height:100%;object-fit:cover;object-position:top}.capt-img.capt-tel img{object-fit:contain}
.capt-img .meta{padding:12px}
.capt-v figcaption{padding:8px 10px;display:flex;flex-direction:column;gap:4px;align-items:flex-start}
/* Éditeur de plaquette de la plateforme : blocs à gauche, aperçu en direct à droite */
.plq-ed{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}
.plq-d{position:sticky;top:70px}
.plq-d iframe{width:100%;height:calc(100vh - 120px);border:1px solid var(--line);border-radius:10px;background:#fff}
.plq-d-t{margin-bottom:4px}
@media (max-width:1100px){.plq-ed{grid-template-columns:1fr}.plq-d{position:static}.plq-d iframe{height:70vh}}
.plq-img{display:flex;gap:10px;align-items:flex-start;flex-wrap:wrap}
.plq-img-g{display:flex;flex-direction:column;gap:6px;flex:1;min-width:200px}
.plq-vign{width:150px;max-height:100px;object-fit:cover;object-position:top;border:1px solid var(--line);border-radius:6px}
.plq-envoi{cursor:pointer;align-self:flex-start}
tr.a-relancer td:last-child{color:var(--hivis-strong,#b45309);font-weight:600}
/* Plaquettes commerciales : onglets, préparation, territoire */
.plq-onglets{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 12px;border-bottom:2px solid var(--line)}
.plq-onglets button{display:inline-flex;align-items:center;gap:6px;border:0;background:none;padding:10px 14px;font:inherit;font-weight:600;color:var(--muted,#5B675F);border-bottom:3px solid transparent;margin-bottom:-2px;cursor:pointer}
.plq-onglets button[aria-selected="true"]{color:var(--brand);border-bottom-color:var(--hivis,#D9520B)}
.plq-prep{display:flex;flex-direction:column;gap:12px}.plq-prep select{width:100%}
.plq-lab{font-weight:600;margin-bottom:4px}
.ter-p{position:relative;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.ter-p input{flex:1 1 100%}
.ter-choisi{display:inline-flex;align-items:center;gap:6px}
.ter-res{position:absolute;top:100%;left:0;right:0;z-index:20;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px rgb(0 0 0 / .15);max-height:320px;overflow:auto}
.ter-res button{display:block;width:100%;text-align:left;border:0;background:none;padding:8px 10px;font:inherit;cursor:pointer;border-bottom:1px solid var(--line)}.ter-res button:hover{background:var(--bg,#f3f5f2)}
.ter-res p{padding:8px 10px;margin:0}
.plq-avert{border-left:4px solid var(--hivis,#D9520B)}
.capt-dest{margin:8px 0;display:flex;flex-direction:column;gap:6px}.capt-dest .meta{margin:0}
.capt-img{position:relative}.capt-pal{opacity:.45}.capt-badge{position:absolute;bottom:6px;left:6px;background:var(--surface);border-radius:4px;padding:2px 6px;font-size:12px}
label.plq-st{display:flex!important;flex-direction:row!important;gap:8px;align-items:center;justify-content:flex-start;font-size:13px;color:var(--muted,#5B675F);margin:0}label.plq-st input{width:18px!important;height:18px;min-height:0;margin:0;flex:none;padding:0}
.rg-gen{display:flex;gap:8px;align-items:center}.rg-gen input{flex:1}
.prosp-kpi{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0}.prosp-kpi>div{flex:1 1 120px;border:1px solid var(--line);border-radius:10px;padding:8px 12px;background:var(--surface)}
.prosp-kpi b{display:block;font-size:26px;line-height:1.1;color:var(--brand)}.prosp-kpi span{font-size:13px;color:var(--muted,#5B675F)}.prosp-kpi .alerte b{color:var(--hivis,#D9520B)}
table.prosp select,table.prosp input[type=date]{min-width:120px}.prosp-rel{color:var(--hivis,#D9520B);font-size:12px}
/* Suivi commercial Arbogestion : formulaire d'envoi (plaquette, devis Pennylane, contrat) */
.arbo-env fieldset{border:1px solid var(--line,#D3D9D2);border-radius:12px;padding:10px 12px 12px;margin:0 0 12px;min-width:0}
.arbo-env legend{font-weight:700;padding:0 6px}
.arbo-dl{display:grid;grid-template-columns:1fr 80px 110px;gap:6px;margin:0 0 6px}
.arbo-dl input{min-width:0}
@media (max-width:520px){.arbo-dl{grid-template-columns:1fr 64px 90px}}
.tbl.prosp td>div+div{margin-top:4px}
label.inline{display:inline-flex;align-items:center;gap:6px;font-weight:600}
.arbo-filtres{min-width:0}.arbo-filtres .seg{max-width:100%;overflow-x:auto;scrollbar-width:none}

/* Planning : contenu en cours de remplacement (vue, mois, semaine) — reste visible, estompé */
#pl-body{transition:opacity .15s}#pl-body.pl-maj{opacity:.5;pointer-events:none}
/* Aide sur téléphone : la question sur toute la largeur, puis micro et « Envoyer » côte à côte, même hauteur ; pied sur une ligne */
@media (max-width:619px){
  #aide form.aide-saisie{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:stretch}
  #aide .aide-saisie textarea{grid-column:1 / -1;width:100%;min-height:72px}
  #aide .aide-saisie .aide-micro{grid-column:1;min-width:56px;min-height:48px;padding:0 14px}
  #aide .aide-saisie [type=submit]{grid-column:2;min-height:48px;margin:0}
  #aide .aide-saisie:not(:has(.aide-micro)) [type=submit]{grid-column:1 / -1}
  #aide .aide-pied{align-items:center;padding:2px 14px 8px}
}
.am-num{flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:14px 16px;border-color:#D9520B55}
.am-num-c{display:flex;align-items:center;gap:12px;min-width:0}
.am-num .am-t{display:flex;flex-direction:column;gap:2px}
.am-num .links{display:flex;gap:8px;flex-wrap:wrap}
