/* =====================================================================================================
   v3.17 — Minimaliste et verre « bulle ».
   Principes (repris de la logique Liquid Glass d'Apple) :
   - le verre sert aux commandes et aux groupes, jamais de verre dans du verre : une seule épaisseur à la fois ;
   - une ligne par élément, regroupées dans une même bulle avec de fins séparateurs, détail au déploiement ;
   - pour que le verre se voie, il lui faut quelque chose à déformer : fond coloré en mouvement lent ;
   - couches compatibles iPhone (Safari) : flou + saturation du fond, reflet haut, liseré, lueur colorée basse.
     Le filtre de réfraction SVG (feDisplacementMap) n'est pas fiable sur Safari : il n'est pas utilisé.
   Ce fichier vient après ext.css et l'emporte sur lui ; les couleurs de sens restent (rouge important, etc.).
   ===================================================================================================== */
:root{
  --muted:#4C5868;
  --verre-fond:rgb(255 255 255 / .40);
  --verre-lueur:rgb(255 255 255 / .66);
  --verre-bord:rgb(255 255 255 / .78);
  --verre-bas:rgb(24 44 96 / .10);
  --verre-ombre:0 16px 34px -18px rgb(24 48 120 / .34),0 2px 6px rgb(24 48 120 / .07);
  --filet:rgb(24 40 80 / .11);
  --fond-a:#CFE0FA;--fond-b:#C6E8E6;--fond-c:#DAD8F8;--orb-o:.92;
  --rouge:#C62828;--rouge-ombre:rgb(198 40 40 / .55);
  --ic-reflet:rgb(255 255 255 / .92);--ic-liseret:rgb(255 255 255 / .85);--ic-lait:rgb(255 255 255 / .34);
  --tete-fond:rgb(255 255 255 / .46);
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --verre-fond:rgb(255 255 255 / .075);--verre-lueur:rgb(255 255 255 / .15);--verre-bord:rgb(255 255 255 / .2);--verre-bas:rgb(0 0 0 / .38);
  --verre-ombre:0 16px 34px -18px rgb(0 0 0 / .8),0 2px 6px rgb(0 0 0 / .3);--filet:rgb(255 255 255 / .1);
  --fond-a:#0A1430;--fond-b:#071F2A;--fond-c:#171338;--orb-o:.85;
  --ic-reflet:rgb(255 255 255 / .5);--ic-liseret:rgb(255 255 255 / .42);--ic-lait:rgb(255 255 255 / .1);--tete-fond:rgb(14 20 34 / .5);--rouge-ombre:rgb(0 0 0 / .6)}}
:root[data-theme="dark"]{
  --verre-fond:rgb(255 255 255 / .075);--verre-lueur:rgb(255 255 255 / .15);--verre-bord:rgb(255 255 255 / .2);--verre-bas:rgb(0 0 0 / .38);
  --verre-ombre:0 16px 34px -18px rgb(0 0 0 / .8),0 2px 6px rgb(0 0 0 / .3);--filet:rgb(255 255 255 / .1);
  --fond-a:#0A1430;--fond-b:#071F2A;--fond-c:#171338;--orb-o:.85;
  --ic-reflet:rgb(255 255 255 / .5);--ic-liseret:rgb(255 255 255 / .42);--ic-lait:rgb(255 255 255 / .1);--tete-fond:rgb(14 20 34 / .5);--rouge-ombre:rgb(0 0 0 / .6)}
:root[data-palette="tendre"]{--fond-a:#E2DFF8;--fond-b:#D3EFE7;--fond-c:#DCE6FA;--rouge:#B5444A}
@media (prefers-color-scheme:dark){:root[data-palette="tendre"]:not([data-theme="light"]){--fond-a:#171A36;--fond-b:#102A28;--fond-c:#1F1A3C}}
:root[data-palette="tendre"][data-theme="dark"]{--fond-a:#171A36;--fond-b:#102A28;--fond-c:#1F1A3C}

/* Fond : ce que le verre déforme */
.app-bg{background:linear-gradient(165deg,var(--fond-a) 0,var(--fond-b) 55%,var(--fond-c) 100%)}
.app-bg::after{opacity:.5}

/* ---------- La recette du verre : une seule épaisseur ---------- */
.hm-hero,.suivi,.lignes,.totals,.tabs,.hero-band,.pt-bar,.card,.hm .filter,.search,.panel,.pli-seul,.tab-corps>.pli,.install,.sec-acc-bandeau{
  background:linear-gradient(155deg,var(--verre-lueur) 0,transparent 44%),var(--verre-fond);
  border:1px solid var(--verre-bord);
  box-shadow:inset 0 1px 0 var(--verre-bord),inset 0 -1px 0 var(--verre-bas),var(--verre-ombre);
  -webkit-backdrop-filter:blur(22px) saturate(185%);backdrop-filter:blur(22px) saturate(185%)}
.top,.hm-top{background:var(--tete-fond);border-bottom:1px solid var(--verre-bord)}
.top .wrap{min-height:58px;padding-block:7px}
.top .sync{min-height:30px;font-size:11px;padding:0 9px}
/* « Enregistré » : une simple coche ; le texte ne revient qu'en cours d'enregistrement ou en cas d'erreur */
.top .sync.ok{font-size:0;width:30px;padding:0;position:relative}
.top .sync.ok::before{content:"✓";font-size:14px;font-weight:800}
.icon-btn{width:42px;height:42px;position:relative;overflow:hidden}
.icon-btn svg{width:20px;height:20px}
.hm-top h1{font-size:25px}
.top h1{font-size:23px}
.aide-btn svg{width:22px;height:22px}

main{padding-block:12px 40px;gap:12px}
.hm{gap:12px}
.fiche{gap:12px}
.tab-corps{display:flex;flex-direction:column;gap:10px;min-width:0}

/* ---------- Titres de bloc : une ligne, le bouton Ajouter à droite ---------- */
.section-head{align-items:center;gap:8px;min-height:36px}
.section-head h2,.hm .section-head h2{flex:1;min-width:0;margin:0;font-family:var(--font-body);font-size:13px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.section-head .count{flex:none;font-size:13px;color:var(--muted);max-width:44%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.alertes .section-head h2,.hm .alertes .section-head h2{color:var(--rouge)}
.alertes{gap:6px}
.ajout{flex:none;display:inline-flex;align-items:center;gap:4px;min-height:34px;padding:0 12px 0 9px;border-radius:999px;font-size:13px;font-weight:700;color:var(--accent-text);cursor:pointer;position:relative;overflow:hidden;
  background:linear-gradient(180deg,var(--ic-reflet),transparent 70%),var(--ic-lait);border:1px solid var(--ic-liseret);box-shadow:inset 0 1px 0 var(--ic-liseret),0 5px 12px -6px rgb(24 48 120 / .4);
  -webkit-backdrop-filter:blur(10px) saturate(170%);backdrop-filter:blur(10px) saturate(170%);transition:transform .3s cubic-bezier(.34,1.56,.64,1)}
.ajout svg{width:15px;height:15px}
.ajout:active{transform:scale(.93)}
.alertes .ajout{color:var(--rouge)}
.supp-zone .ajout{color:var(--supp-text)}
/* Texte de contexte : jamais de case, une phrase discrète */
.ln-note{margin:0;font-size:13px;line-height:1.4;color:var(--muted)}
.lien{align-self:center;display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 10px;border:0;background:none;color:var(--muted);font-size:13px;font-weight:600;position:relative;overflow:hidden}
.lien svg{width:15px;height:15px}

/* ---------- Rubriques déployables ---------- */
.pli{border-radius:20px;min-width:0}
.pli-tete{display:flex;align-items:center;gap:8px;padding-right:10px}
.pli-btn,.pli-rang{flex:1;min-width:0;display:flex;align-items:center;gap:10px;min-height:52px;padding:6px 8px 6px 14px;background:none;border:0;text-align:left;color:inherit;font:inherit;position:relative;overflow:hidden;border-radius:inherit}
button.pli-btn,button.pli-rang{cursor:pointer}
.pli-rang{width:100%}
.pli-ic{flex:none;width:22px;height:22px;display:grid;place-items:center;color:var(--accent-text)}
.pli-ic svg{width:20px;height:20px;margin:0}
.pli-t{flex:1;min-width:0;font-size:16px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pli-t svg{width:20px;height:20px;vertical-align:-4px;margin-right:8px;color:var(--accent-text)}
.pli-n{flex:none;font-size:13px;font-weight:500;color:var(--muted);white-space:nowrap;max-width:40%;overflow:hidden;text-overflow:ellipsis}
/* Le petit bouton qui déploie */
.pli-chev{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;color:var(--accent-text);
  background:linear-gradient(180deg,var(--ic-reflet),transparent 75%),var(--ic-lait);box-shadow:inset 0 0 0 .5px var(--ic-liseret),0 2px 5px -2px rgb(24 48 120 / .35);transition:transform .34s cubic-bezier(.34,1.56,.64,1)}
.pli-chev svg{width:14px;height:14px}
.ouvert>.pli-tete .pli-chev,.ouvert>.ln-btn .pli-chev{transform:rotate(180deg)}
.pli-corps{display:grid;grid-template-rows:0fr;transition:grid-template-rows .34s cubic-bezier(.2,.85,.25,1)}
.ouvert>.pli-corps{grid-template-rows:1fr}
.pli-int{min-height:0;overflow:hidden;visibility:hidden;transition:visibility 0s linear .34s}
.ouvert>.pli-corps>.pli-int{visibility:visible;transition-delay:0s}
.pli-pad{display:flex;flex-direction:column;gap:10px;padding:2px 14px 14px;min-width:0}
.panel.pli{padding:0;border-radius:20px}
.panel.pli .pli-pad>*{margin-block:0}
.panel.pli h2{margin:0}
/* Le groupe de rubriques de la fiche : une seule bulle, des lignes */
.suivi{border-radius:22px;display:flex;flex-direction:column;overflow:hidden}
.suivi>*{border-radius:0;background:none;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
.suivi>*+*{border-top:1px solid var(--filet)}
.suivi>:empty{display:none}
.tab-corps>.pli{border-radius:18px}
.ia-entree .pli-ic{color:#6D28D9}
.sec-section .pli-ic,.sec-section .pli-t>svg{color:var(--ok)}
.sg-section .pli-ic{color:var(--warn)}
.bl-section .pli-ic{color:#6D28D9}
.pli .ann-actions{margin:0}
.pli .ann-actions .btn{min-height:42px}
/* Dans une bulle : plus aucun verre */
.pli .lignes,.pli .totals,.pli .notes-card,.pli .empty{background:none;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:0}
.pli .lignes{margin-inline:-14px;width:auto;border-top:1px solid var(--filet)}
.pli .notes-card{padding:0;white-space:pre-wrap}
.pli .totals{gap:8px}

/* ---------- Listes : une bulle, des lignes, de fins séparateurs ---------- */
.lignes{gap:0;border-radius:18px;overflow:hidden}
.lignes>li,.lignes>.pending-card{background:none;border:0;border-radius:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;animation:none;min-height:0;margin:0}
.lignes>*+*{border-top:1px solid var(--filet)}
.lignes>li.mat,.lignes>li.day,.lignes>li.contact,.lignes>li.plan{padding:0;overflow:visible}
.ln{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;min-width:0}
.ln>.check,.ln>.plan-thumb{grid-column:1}
.ln>.ln-btn{grid-column:2}
.ln>.ln-apres{grid-column:3;display:flex;align-items:center;padding-right:10px}
.ln>.pli-corps{grid-column:1/-1}
.ln>.check{width:48px;min-height:52px;border:0;align-self:stretch}
.ln>.check span{width:28px;height:28px;border-radius:50%;box-shadow:inset 0 1px 1px rgb(255 255 255 / .6)}
.ln>.check svg{width:16px;height:16px}
.ln-btn{display:flex;align-items:center;gap:8px;width:100%;min-width:0;min-height:52px;padding:6px 10px 6px 14px;background:none;border:0;text-align:left;color:inherit;font:inherit;position:relative;overflow:hidden}
button.ln-btn{cursor:pointer}
.ln>.check+.ln-btn,.ln>.plan-thumb+.ln-btn{padding-left:2px}
.ln-t,.lignes .ln-t{flex:1;min-width:0;display:block;font-size:15.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal}
.ln-m{flex:none;display:inline-flex;align-items:center;gap:4px;max-width:52%;overflow:hidden}
.ln-txt{font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ln-val{font-size:14.5px;font-variant-numeric:tabular-nums;white-space:nowrap}
.ln-val.encours{color:var(--ok)}
.ln-tag{font-size:11.5px;font-weight:700;line-height:1;padding:4px 7px;border-radius:999px;white-space:nowrap;color:var(--accent-text);background:color-mix(in srgb,var(--accent) 12%,transparent)}
.ln-tag.warn{color:var(--warn);background:color-mix(in srgb,var(--warn) 14%,transparent)}
.ln-tag.ok{color:var(--ok);background:color-mix(in srgb,var(--ok) 14%,transparent)}
.ln-tag.rouge{color:var(--danger);background:color-mix(in srgb,var(--danger) 14%,transparent)}
.ln-tag.bloq{color:#6D28D9;background:color-mix(in srgb,#6D28D9 14%,transparent)}
.ln-desc{margin:0;font-size:15px;line-height:1.4;white-space:pre-line;overflow-wrap:anywhere}
.ln .item-desc{font-size:14px}
.ln-act{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.ln-act .btn{min-height:40px;font-size:14px}
.ln-act .btn svg{width:15px;height:15px}
.ln-act .reorder{margin-left:auto;flex-direction:row;border:0;gap:6px}
.ln-act .reorder button{width:42px;min-height:40px;border:1px solid var(--verre-bord);border-top:1px solid var(--verre-bord);border-radius:12px;background:var(--ic-lait)}
.ln-act .reorder button+button{border-top:1px solid var(--verre-bord)}
.ln .liste-bar{border:1px solid var(--filet);border-radius:12px;min-height:42px;background:none}
.ln .item-del{margin:0}
.ln-tel{flex:none;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:var(--ok);background:color-mix(in srgb,var(--ok) 13%,transparent);box-shadow:inset 0 0 0 .5px color-mix(in srgb,var(--ok) 35%,transparent)}
.ln-tel svg{width:17px;height:17px}
.ln .contact-tel{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0;border:0}
.ln .contact-tel .btn{min-height:38px}
.ann-metier{margin:4px 0 -4px;font-size:12px}
.lignes .item-body{padding:9px 14px}
/* Heures */
.day-d{text-transform:capitalize}
.ln .who{display:inline-block;margin-left:8px;font-size:12px;font-weight:600;color:var(--muted)}
.day.collegue .who{color:var(--supp-text)}
.lignes>li.day.collegue{border-left:0}
.ln .day-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0;border:0}
.ln .day-head b{font-size:14px;text-transform:capitalize}
.ln .day-rows{padding:0;gap:4px}
.ln .trip{display:flex;gap:8px;padding:0;border:0}
.ln .trip .toggle{flex:1;min-height:40px}
.ln .pt-corr{padding:0}
.totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:0;border-radius:18px;overflow:hidden}
.totals .tot,.totals .tot.main,.totals .tot.equipe{background:none;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:0;padding:9px 12px;color:inherit;min-width:0}
.totals .tot+.tot{border-left:1px solid var(--filet)}
.totals .tot .v{font-size:17px}
.totals .tot .l{font-size:10.5px;letter-spacing:.05em}
.totals .tot.main .v{color:var(--accent-text)}
.totals .tot.equipe .v{color:var(--supp-text)}
.totals.quatre{grid-template-columns:repeat(2,minmax(0,1fr))}
.totals.quatre .tot:nth-child(3){border-left:0}
.totals.quatre .tot:nth-child(n+3){border-top:1px solid var(--filet)}
.rp-heures-pdf{min-height:44px;font-size:15px}
/* Matériel */
.lignes>li.mat.rupture{border-left:0}
.mat-outils{margin:0}
.ln .mat-actions{padding:0}
.ln .mat-actions .btn{min-height:40px}
.ln .seg button{min-height:40px}
/* Plans : petite vignette dans la ligne */
.ln>.plan-thumb,.ln>.plan-thumb.pdf,.ln>.plan-thumb.missing{width:40px;height:40px;min-height:0;margin:0 10px 0 10px;padding:0;border-radius:10px;overflow:hidden;display:grid;place-items:center;font-size:10px;font-weight:800;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent-text);border:1px solid var(--verre-bord)}
.ln>.plan-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.ln .plan-badge{position:static;font-size:11px;padding:3px 7px}
.supp-zone{display:flex;flex-direction:column;gap:10px;background:none;border:0;box-shadow:none;padding:0;-webkit-backdrop-filter:none;backdrop-filter:none}
.supp-zone .section-head h2{color:var(--supp-text)}
.ln .status{min-height:32px;margin:0;padding:0 10px;font-size:12px;border-width:1.5px}
.item.done .ln-t,.ln.done .ln-t{color:var(--muted)}
.ln.done>.check[aria-pressed="false"] span{border-color:var(--muted)}

/* ---------- Point important : une ligne rouge, le texte se déploie ---------- */
.alertes .lignes{background:none;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;gap:6px;overflow:visible;border-radius:0}
.alertes .lignes>*+*{border-top:0}
.alertes .lignes>li.alerte{color:#FFFFFF;border-radius:16px;overflow:hidden;
  background:linear-gradient(155deg,rgb(255 255 255 / .26) 0,transparent 46%),var(--rouge);
  box-shadow:inset 0 1px 0 rgb(255 255 255 / .42),inset 0 -1px 0 rgb(0 0 0 / .14),0 10px 20px -12px var(--rouge-ombre)}
.alertes .alerte .ln-t{color:#FFFFFF;font-weight:600}
.alertes .alerte .check{border:0}
.alertes .alerte .check span{border-color:rgb(255 255 255 / .85)}
.alertes .alerte .check[aria-pressed="true"] span{background:#FFFFFF;border-color:#FFFFFF;color:var(--rouge)}
.alertes .alerte .pli-chev{color:#FFFFFF;background:rgb(255 255 255 / .2);box-shadow:inset 0 0 0 .5px rgb(255 255 255 / .5)}
.alertes .alerte .where,.alertes .alerte .item-desc{color:rgb(255 255 255 / .9)}
.alertes .alerte .btn{min-height:38px;color:#FFFFFF;background:rgb(255 255 255 / .16);border-color:rgb(255 255 255 / .5);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
.alertes .lignes>li.alerte.done{color:var(--fg);opacity:1;background:linear-gradient(155deg,var(--verre-lueur) 0,transparent 44%),var(--verre-fond);box-shadow:inset 0 1px 0 var(--verre-bord),var(--verre-ombre);-webkit-backdrop-filter:blur(22px) saturate(185%);backdrop-filter:blur(22px) saturate(185%)}
.alertes .alerte.done .ln-t{color:var(--muted);text-decoration:line-through;text-decoration-thickness:1px}
.alertes .alerte.done .check span{border-color:var(--ok)}
.alertes .alerte.done .check[aria-pressed="true"] span{background:var(--ok);border-color:var(--ok);color:#FFFFFF}
.alertes .alerte.done .pli-chev{color:var(--accent-text);background:var(--ic-lait)}
.alertes .alerte.done .where,.alertes .alerte.done .item-desc{color:var(--muted)}
.alertes .alerte.done .btn{color:var(--fg);background:var(--ic-lait);border-color:var(--verre-bord)}
.alertes .alerte.done .btn.danger-ghost{color:var(--danger)}
.sec-acc-bandeau{border-radius:16px;color:#FFFFFF;background:linear-gradient(155deg,rgb(255 255 255 / .26) 0,transparent 46%),var(--rouge);border:0;min-height:50px}

/* ---------- Accueil ---------- */
.hm-hero{padding:9px 14px 10px;gap:4px;border-radius:20px}
.hm-hero .eyebrow{font-size:11px}
.hm-stats .v{font-size:20px}
.hm-stats .v small{font-size:12px}
.hm-stats .l{font-size:10px;letter-spacing:.05em}
/* Une bulle de verre et son nom, sans deuxième case autour */
.hm-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px 6px;align-items:start}
.hm-tile,.hm-actions>:nth-child(3):last-child{background:none;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;padding:2px 0;border-radius:0;align-items:center;text-align:center;gap:6px;grid-column:auto;flex-direction:column}
.hm-tile .t,.hm-actions>:nth-child(3):last-child .t{margin:0;font-size:12px;font-weight:600;line-height:1.2;white-space:normal;overflow:visible;max-width:100%}
.hm-tile .s,.hm-actions>:nth-child(3):last-child .s{display:none}
.hm-tile .gi,.hm-tile .gi svg{transition:transform .34s cubic-bezier(.34,1.56,.64,1)}
.hm-tile:active{transform:none}
.hm-tile:active .gi{transform:scale(.9)}
.hm-tile .gi{--tint:var(--accent);width:62px;height:62px;border-radius:50%;position:relative;overflow:hidden;border:0;
  background:
    radial-gradient(70% 50% at 32% 16%,var(--ic-reflet) 0,rgb(255 255 255 / 0) 100%),
    radial-gradient(90% 60% at 62% 108%,color-mix(in srgb,var(--tint) 58%,transparent) 0,transparent 72%),
    radial-gradient(120% 120% at 50% 50%,transparent 58%,color-mix(in srgb,var(--tint) 24%,transparent) 100%),
    var(--ic-lait);
  box-shadow:
    inset 0 1.5px 1px var(--ic-liseret),
    inset 0 -1.5px 2px color-mix(in srgb,#FFFFFF 40%,transparent),
    inset 0 0 0 .75px color-mix(in srgb,var(--ic-liseret) 70%,transparent),
    0 12px 22px -10px color-mix(in srgb,var(--tint) 62%,transparent),
    0 2px 5px rgb(24 48 120 / .1);
  -webkit-backdrop-filter:blur(12px) saturate(200%) brightness(1.04);backdrop-filter:blur(12px) saturate(200%) brightness(1.04)}
.hm-tile .gi::after{left:15%;right:30%;top:7%;height:24%;border-radius:50%;background:linear-gradient(180deg,rgb(255 255 255 / .9),rgb(255 255 255 / 0));filter:blur(.6px)}
.hm-tile .gi svg{width:27px;height:27px;color:var(--tint-text,var(--accent-text))}
.hm-tile.rp-tuile .gi{--tint:#3F5F9E;--tint-text:#2F4A80}
/* Alertes de l'accueil (accident, signalements à traiter, pointage en cours) : une ligne pleine largeur, en tête */
.hm-actions>.sec-acc-tile,.hm-actions>.sg-entree,.hm-actions>.pt-entree{grid-column:1/-1;order:-1;flex-direction:row;align-items:center;text-align:left;gap:10px;padding:6px 12px 6px 8px;border-radius:999px;min-height:48px;
  background:linear-gradient(155deg,var(--verre-lueur) 0,transparent 44%),var(--verre-fond);border:1px solid var(--verre-bord);box-shadow:inset 0 1px 0 var(--verre-bord),var(--verre-ombre);-webkit-backdrop-filter:blur(22px) saturate(185%);backdrop-filter:blur(22px) saturate(185%)}
.hm-actions>.sec-acc-tile .gi,.hm-actions>.sg-entree .gi,.hm-actions>.pt-entree .gi{width:34px;height:34px;flex:none}
.hm-actions>.sec-acc-tile .gi svg,.hm-actions>.sg-entree .gi svg,.hm-actions>.pt-entree .gi svg{width:18px;height:18px}
.hm-actions>.sec-acc-tile .t,.hm-actions>.sg-entree .t,.hm-actions>.pt-entree .t{flex:none;font-size:14px;white-space:nowrap}
.hm-actions>.sec-acc-tile .s,.hm-actions>.sg-entree .s,.hm-actions>.pt-entree .s{display:block;flex:1;min-width:0;font-size:12px;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}
.hm-actions>.sec-acc-tile{color:#FFFFFF;background:linear-gradient(155deg,rgb(255 255 255 / .26) 0,transparent 46%),var(--rouge);border:0}
.hm-actions>.sec-acc-tile .s{color:rgb(255 255 255 / .9)}

/* Barre de l'assistant : une ligne, en verre coloré */
.ia-barre{min-height:54px;margin:0;padding:6px 10px 6px 8px;border-radius:999px;gap:10px;border:1px solid rgb(255 255 255 / .34);
  background:radial-gradient(60% 120% at 12% 0,rgb(255 255 255 / .34) 0,transparent 70%),linear-gradient(120deg,rgb(109 40 217 / .86) 0,rgb(79 70 229 / .84) 55%,rgb(14 116 144 / .84) 100%);
  box-shadow:inset 0 1px 0 rgb(255 255 255 / .5),inset 0 -1px 0 rgb(0 0 0 / .14),0 14px 26px -14px rgb(79 70 229 / .7);
  -webkit-backdrop-filter:blur(16px) saturate(190%);backdrop-filter:blur(16px) saturate(190%)}
.ia-barre::before{display:none}
.ia-barre .gi{width:38px;height:38px;border-radius:50%}
.ia-barre .gi svg{width:20px;height:20px}
.ia-barre .t{font-size:15px}
.ia-barre .s{font-size:11.5px}
.ia-barre .chev{width:26px;height:26px}
.ia-barre .chev svg{width:15px;height:15px}

.hm .section-head{min-height:34px}
.pending{display:flex;flex-direction:column;gap:6px}
.pending-card{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:50px;padding:6px 12px 6px 14px;text-align:left;position:relative;overflow:hidden;color:inherit;font:inherit;animation:none!important;cursor:pointer}
.pending-card>div{flex:1;min-width:0;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:15px}
.pending-card>div b{font-weight:600}
.pending-card>div b::after{content:" · ";font-weight:400;color:var(--muted)}
.pending-card>div span{display:inline;color:var(--muted);font-size:14px}
.pending-card .lpill{flex:none;font-size:12px;padding:3px 8px}
.hm-list-head{gap:8px}
.hm .filter{border-radius:999px;padding:3px}
.hm .filter button{min-height:36px;font-size:14px;border-radius:999px}
.cards{gap:8px}
.card,.hm .card{min-height:60px;padding:8px 10px 8px 14px;border-radius:18px;animation:none!important;position:relative;overflow:hidden}
.hm .card h2{font-size:16px;font-weight:600}
.hm .card .cd-sub{display:none}
.hm .card .cd-step{font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hm .card svg{max-height:44px}
.install{border-radius:18px;border-left-color:var(--verre-bord);padding:0}
.install p{margin:0;font-size:14px}
main .item,main .day,main .contact,main .plan,main .lsec,main .mat,main .pl-item,.hm .alerte{animation:none}

/* ---------- Fiche chantier ---------- */
.hero-band{padding:10px 14px 10px;gap:6px;border-radius:20px}
.hero-top{gap:10px;align-items:center}
.hero-txt{flex:1;min-width:0}
.hero-band .eyebrow{font-size:11px}
.hero-band h2{font-size:19px;line-height:1.2;margin:1px 0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hero-addr{display:flex;align-items:center;gap:8px;min-width:0;margin:0;font-size:13px}
.hero-addr a:first-child{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted);text-decoration:none}
.hero-addr .map{flex:none;margin:0;font-size:12px;padding:2px 8px;border-radius:999px;min-height:0}
.hero-band .ring{width:56px;height:56px;flex:none}
.hero-band .ring span{font-size:14px}
.hero-band .ring small{font-size:9px}
.hero-band .cursor{margin:2px 0 0}
.hero-foot{margin:0;font-size:12.5px;color:var(--muted)}
.hero-foot span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
/* Pointage : l'état à gauche, l'action à droite */
.pt-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 10px;margin:0;padding:8px 8px 8px 14px;border-radius:20px}
.pt-head{grid-column:1;gap:6px}
.pt-head h2{font-family:var(--font-body);font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.pt-qui{min-height:28px;font-size:12px;padding:0 24px 0 8px}
.pt-etat{grid-column:1;margin:0;font-size:13.5px;line-height:1.25}
.pt-actions{grid-column:2;grid-row:1/span 2;display:flex;gap:6px}
.pt-actions .btn{flex:none;min-height:44px;font-size:14px;padding:0 12px;border-radius:999px}
.pt-bar.encours,.pt-bar.pause{border-color:var(--verre-bord)}
/* Onglets : une seule bulle, l'onglet choisi en aplat de couleur */
.tabs{grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;padding:4px;border-radius:22px;top:calc(env(safe-area-inset-top,0px) + 59px)}
.tab,.tab.supp-tab{min-height:56px;padding:4px 1px;gap:1px;border:0;border-radius:18px;background:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;position:relative;overflow:hidden}
.tab .gi,.tab[aria-selected="true"] .gi,.tab.supp-tab .gi{width:24px;height:24px;border:0;border-radius:0;background:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;overflow:visible}
.tab .gi::after{display:none}
.tab svg{width:20px;height:20px;filter:none}
.tab .t{font-size:11.5px;font-weight:600;line-height:1.15}
.tab .n{font-size:10px;line-height:1.1}
.tab.a-prevoir:not([aria-selected="true"]) .n{color:var(--warn);font-weight:700}
.tab[aria-selected="true"],.tab.supp-tab[aria-selected="true"]{color:#FFFFFF;background:linear-gradient(180deg,rgb(255 255 255 / .32),transparent 60%),var(--accent);box-shadow:inset 0 1px 0 rgb(255 255 255 / .5),0 6px 14px -7px color-mix(in srgb,var(--accent) 80%,transparent)}
.tab.supp-tab[aria-selected="true"]{background:linear-gradient(180deg,rgb(255 255 255 / .32),transparent 60%),var(--supp);box-shadow:inset 0 1px 0 rgb(255 255 255 / .5),0 6px 14px -7px color-mix(in srgb,var(--supp) 80%,transparent)}
.btn.del-chantier{margin-top:8px;min-height:40px;font-size:13px;background:none;box-shadow:none;border-color:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}
main .btn{min-height:44px;font-size:15px;border-radius:14px;position:relative;overflow:hidden}
main .btn svg{width:17px;height:17px}
.btn.rapport{min-height:44px}
.sec-requis{white-space:normal;text-align:left;height:auto;padding-block:8px;align-self:stretch}

/* ---------- Le doigt allume le verre ---------- */
.reflet{position:absolute;width:150px;height:150px;margin:-75px 0 0 -75px;border-radius:50%;pointer-events:none;z-index:2;
  background:radial-gradient(circle,rgb(255 255 255 / .55) 0,rgb(255 255 255 / .18) 38%,transparent 70%);animation:reflet .62s cubic-bezier(.2,.8,.3,1) forwards}
@keyframes reflet{from{opacity:1;transform:scale(.25)}to{opacity:0;transform:scale(1.15)}}
button,.btn,.tab,.card{-webkit-tap-highlight-color:transparent}

/* ---------- Mode d'emploi ---------- */
.aide{gap:10px}
.aide .search{border-radius:999px;min-height:44px;padding-inline:16px}
.aide .pli{background:linear-gradient(155deg,var(--verre-lueur) 0,transparent 44%),var(--verre-fond);border:1px solid var(--verre-bord);box-shadow:inset 0 1px 0 var(--verre-bord),var(--verre-ombre);-webkit-backdrop-filter:blur(22px) saturate(185%);backdrop-filter:blur(22px) saturate(185%)}
.aide .pli-pad{font-size:15px;line-height:1.5;gap:8px}
.aide h3{margin:8px 0 0;font-size:14px;font-weight:700;color:var(--accent-text)}
.aide p{margin:0}
.aide ul,.aide ol{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:5px}
.aide kbd,.aide .touche{font:inherit;font-size:.92em;font-weight:600;padding:0 6px;border-radius:7px;background:var(--ic-lait);box-shadow:inset 0 0 0 .5px var(--filet);white-space:nowrap}
.aide .icones{list-style:none;padding:0;gap:8px}
.aide .icones li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:start}
.aide .icones .ic{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:var(--accent-text);background:var(--ic-lait);box-shadow:inset 0 0 0 .5px var(--filet);font-weight:800;font-size:14px}
.aide .icones .ic svg{width:18px;height:18px}
.aide .icones .ic.rouge{color:#FFFFFF;background:var(--rouge)}
.aide .icones .ic.ok{color:var(--ok)}
.aide .bon{padding:8px 12px;border-radius:12px;background:color-mix(in srgb,var(--accent) 9%,transparent)}
.aide-vide{text-align:center;color:var(--muted);padding:20px 0}
.aide-hero .pli-t{font-weight:700}
.aide-hero .pli-ic{color:var(--accent-text)}
.aide-liens{display:flex;flex-direction:column}
.aide-liens button{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:44px;padding:0;background:none;border:0;border-top:1px solid var(--filet);text-align:left;font:inherit;font-size:15px;color:inherit;cursor:pointer}
.aide-liens button:first-child{border-top:0}
.aide-liens svg{width:14px;height:14px;transform:rotate(-90deg);color:var(--muted);flex:none}

/* ---------- Accessibilité : réduire la transparence ou le mouvement ---------- */
@media (prefers-reduced-transparency:reduce){
  .hm-hero,.suivi,.lignes,.totals,.tabs,.hero-band,.pt-bar,.card,.hm .filter,.search,.panel,.install,.aide .pli,.hm-tile .gi,.top,.hm-top{background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none}
}
@media (prefers-reduced-motion:reduce){
  .pli-corps,.pli-int,.pli-chev,.ajout,.hm-tile .gi{transition:none}
  .reflet{display:none}
}

/* Ajustements après contrôle visuel */
.pli.install{padding:0;display:block;border-left:1px solid var(--verre-bord)}
.pli.install .pli-tete{min-height:0}
.hero-band .ring span{display:flex;align-items:baseline;justify-content:center;white-space:nowrap;inset:0;margin:auto;height:max-content}
.hm .card .ring span,.hm .card span small{white-space:nowrap}
.panel.pli{display:block}
.aide .ic{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;vertical-align:-6px;color:var(--accent-text);background:var(--ic-lait);box-shadow:inset 0 0 0 .5px var(--filet)}
.aide .ic svg{width:14px;height:14px}
.aide .icones .ic{display:grid;width:34px;height:34px;vertical-align:baseline}
.aide .icones .ic svg{width:18px;height:18px}
.aide .icones .ic:empty{visibility:hidden}
.aide .ic.ok{color:var(--ok)}
.aide .ic.rouge{color:#FFFFFF;background:var(--rouge)}
.alertes .section-head h2,.hm .alertes .section-head h2,.alertes .ajout{color:var(--danger)}
.section-head h2,.hm .section-head h2{flex:0 1 auto}
.section-head .count{flex:1 1 0;max-width:none;min-width:0;text-align:right}
.ann-actions .btn{white-space:nowrap;padding-inline:8px;font-size:14px}
.sec-section .ann-actions .btn:first-child{flex:1.6}
.day-d{text-transform:none}
.ln .day-head b{display:block;text-transform:none}
.ln .day-head b::first-letter{text-transform:uppercase}
.hm-tile .gi::after{opacity:.9}

.btn{position:relative;overflow:hidden}

/* Volets : assez couvrants pour que les couleurs de la page ne transparaissent pas (pas de rose sous un point important) */
.sheet{background:linear-gradient(180deg,var(--verre-lueur) 0,transparent 120px),color-mix(in srgb,var(--surface) 92%,transparent)}
.sheet-foot{background:color-mix(in srgb,var(--surface) 80%,transparent)}
/* Plus aucune case vide ni pavé d'explication sur les écrans : une phrase discrète */
main .empty,main .alerte-empty{background:none;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;padding:6px 4px;font-size:14px;color:var(--muted)}
main .info{background:none;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;padding:0 2px;font-size:13px;line-height:1.4;color:var(--muted)}
.ann-metier{margin:4px 0 6px}
.pli .ann-metier{margin:0}
.ann-count{margin:0 0 4px;font-size:13px}
.ajout{background:linear-gradient(180deg,var(--verre-lueur),transparent 75%),var(--ic-lait)}
