/* Style « verre » façon iOS 26 (Bruno, 03/11/2026) — chargé APRÈS app.css. Tout se règle ici, dans les variables ci-dessous.
   Opacité des fonds (--va-fond, --va-fort, --va-leger) et flou (--verre-flou) réglables par chacun : Mise en page et tailles → Transparence (app.js, 04/11/2026).
   Le flou (backdrop-filter) n'est posé que sur les GRANDS conteneurs (barre latérale, barre du haut, tiroir, fenêtres, colonnes de page) :
   jamais sur chaque carte d'une liste (perf). Repli opaque si le navigateur ne gère pas le flou. Animations coupées si « moins d'animations ». */
:root{
  --verre-flou:24px;--verre-sat:180%;
  --verre-fond:rgba(255,255,255,var(--va-fond,.66));--verre-fond-fort:rgba(255,255,255,var(--va-fort,.82));--verre-fond-leger:rgba(255,255,255,var(--va-leger,.48));
  --verre-bord:rgba(255,255,255,.65);--verre-bord-ext:rgba(15,23,42,.07);
  --verre-reflet:linear-gradient(180deg,rgba(255,255,255,.55) 0,rgba(255,255,255,0) 38%);
  --verre-ombre:0 1px 1px rgba(15,23,42,.04),0 10px 28px -8px rgba(15,23,42,.16),0 28px 60px -28px rgba(30,27,75,.22);
  --verre-ombre-legere:0 1px 2px rgba(15,23,42,.05),0 6px 16px -8px rgba(15,23,42,.14);
  --verre-rayon:20px;--verre-rayon-s:14px;
  --verre-ressort:cubic-bezier(.34,1.36,.64,1);
  --fond-page:radial-gradient(1100px 680px at -5% -10%,rgba(37,99,235,.08),transparent 60%),radial-gradient(900px 640px at 105% -5%,rgba(124,58,237,.07),transparent 60%),radial-gradient(1000px 760px at 55% 115%,rgba(5,150,105,.06),transparent 62%),linear-gradient(180deg,#f4f6fc,#eef1f8);
  --ph1:#2563eb;--ph2:#7c3aed;--ph3:#047857;
}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){
  --verre-fond:rgba(28,31,43,var(--va-fond,.62));--verre-fond-fort:rgba(34,38,52,var(--va-fort,.82));--verre-fond-leger:rgba(30,33,46,var(--va-leger,.46));
  --verre-bord:rgba(255,255,255,.14);--verre-bord-ext:rgba(0,0,0,.35);--verre-reflet:linear-gradient(180deg,rgba(255,255,255,.07) 0,rgba(255,255,255,0) 40%);
  --verre-ombre:0 1px 1px rgba(0,0,0,.3),0 12px 32px -10px rgba(0,0,0,.55),0 30px 70px -30px rgba(0,0,0,.6);--verre-ombre-legere:0 6px 18px -8px rgba(0,0,0,.5);
  --fond-page:radial-gradient(1100px 680px at -5% -10%,rgba(37,99,235,.12),transparent 60%),radial-gradient(900px 640px at 105% -5%,rgba(124,58,237,.12),transparent 60%),radial-gradient(1000px 760px at 55% 115%,rgba(5,150,105,.09),transparent 62%),linear-gradient(180deg,#07080d,#0b0d14);
  --ph1:#8ab4ff;--ph2:#b79cff;--ph3:#34d399;
}}
:root[data-theme=dark]{
  --verre-fond:rgba(28,31,43,var(--va-fond,.62));--verre-fond-fort:rgba(34,38,52,var(--va-fort,.82));--verre-fond-leger:rgba(30,33,46,var(--va-leger,.46));
  --verre-bord:rgba(255,255,255,.14);--verre-bord-ext:rgba(0,0,0,.35);--verre-reflet:linear-gradient(180deg,rgba(255,255,255,.07) 0,rgba(255,255,255,0) 40%);
  --verre-ombre:0 1px 1px rgba(0,0,0,.3),0 12px 32px -10px rgba(0,0,0,.55),0 30px 70px -30px rgba(0,0,0,.6);--verre-ombre-legere:0 6px 18px -8px rgba(0,0,0,.5);
  --fond-page:radial-gradient(1100px 680px at -5% -10%,rgba(37,99,235,.12),transparent 60%),radial-gradient(900px 640px at 105% -5%,rgba(124,58,237,.12),transparent 60%),radial-gradient(1000px 760px at 55% 115%,rgba(5,150,105,.09),transparent 62%),linear-gradient(180deg,#07080d,#0b0d14);
  --ph1:#8ab4ff;--ph2:#b79cff;--ph3:#34d399;
}
/* fond de page coloré : l'effet verre se voit */
body{background:var(--fond-page) fixed}
#app,#main{background:transparent}
/* grands conteneurs en verre (flou) */
#side,#top,#drawer,#modal .box,.pg > .card,.pg-appels .c1 > .card,.pg-appels .c2 > .card,.pg-appels .c3 > .card,.pg-fiche #fi-tete{
  background:var(--verre-reflet),var(--verre-fond)!important;
  -webkit-backdrop-filter:blur(var(--verre-flou)) saturate(var(--verre-sat));backdrop-filter:blur(var(--verre-flou)) saturate(var(--verre-sat));
  border-color:var(--verre-bord)!important}
#side{border-right:1px solid var(--verre-bord)!important;box-shadow:1px 0 0 var(--verre-bord-ext)}
#top{border-bottom:1px solid var(--verre-bord)!important;box-shadow:0 1px 0 var(--verre-bord-ext)}
#drawer{background:var(--verre-fond-fort)!important;border-left:1px solid var(--verre-bord);border-radius:var(--verre-rayon) 0 0 var(--verre-rayon);transition:transform .28s var(--ease)!important}
#modal .box{border-radius:calc(var(--verre-rayon) + 2px)!important;box-shadow:var(--verre-ombre)!important;border:1px solid var(--verre-bord)}
/* cartes : verre léger SANS flou (coût nul), reflet, bordure claire, ombre douce */
.card{background:var(--verre-reflet),var(--verre-fond-leger);border:1px solid var(--verre-bord);border-radius:var(--verre-rayon);box-shadow:var(--verre-ombre-legere),inset 0 1px 0 rgba(255,255,255,.35)}
/* D-VER-03 (charte 10/11/2026, V3 à valider par Levi) : ombre légère, --verre-ombre réservée aux flottants */
.pg > .card,.pg-appels .c1 > .card,.pg-appels .c2 > .card,.pg-appels .c3 > .card{box-shadow:var(--verre-ombre-legere),inset 0 1px 0 rgba(255,255,255,.4)}
/* menu : entrées en verre au survol, étape active en relief */
.nav a{border-radius:12px}
.nav a:hover{background:var(--verre-fond-leger)}
.nav a.on{background:var(--verre-fond-fort)!important;box-shadow:var(--verre-ombre-legere),inset 0 1px 0 rgba(255,255,255,.5)!important}
/* D-VER-08 : même dessin « vous êtes ici » que les étapes (barre gauche 3 px) ; graisse 600 et non 700 : en 700, « Recherche base de données » actif était coupé « … » à 256 px (revue du 10/11/2026) */
.nav a.on:not(.lcm-e):not(.lcm-urg){box-shadow:inset 3px 0 0 var(--pri),var(--verre-ombre-legere)!important;font-weight:600}
/* boutons « verre » : léger relief et retour au clic */
.btn:not(.pri):not(.ok):not(.bad):not(.ghost){background:var(--verre-reflet),var(--verre-fond-fort);border:1px solid var(--bord-ctrl,var(--line2));box-shadow:var(--verre-ombre-legere),inset 0 1px 0 rgba(255,255,255,.55)}
/* D-VER-02 (charte 10/11/2026) : contour visible (--bord-ctrl) ; survol bord de champ + creux */
.btn:not(.pri):not(.ok):not(.bad):not(.ghost):hover{border-color:var(--champ-bord,var(--mut));background:var(--bg2)}
/* D-VER-09 : cas particuliers du secondaire (désactivé, toast, barre de sélection, icônes de ligne, « Filtres » ouvert) */
.btn:disabled:not(.pri):not(.ok):not(.bad):not(.ghost){background:var(--bg2);border-color:var(--line2);box-shadow:none}
/* couleur du texte : mêmes valeurs que D-CSS-11 (app.css), redites ici pour que « Annuler » reste lisible en sombre même si app.css part après */
.toast .btn:not(.pri):not(.ok):not(.bad):not(.ghost),.selbar .btn:not(.pri):not(.ok):not(.bad):not(.ghost){background:color-mix(in srgb,var(--inv) 14%,transparent);border-color:transparent;box-shadow:none;color:var(--inv)}
/* toast coloré : le bouton s'assombrit au lieu de s'éclaircir (blanc sur blanc à 20 % = 3,5 à 3,9:1, sous AA) ; noir à 22 % : vert 7,66 · rouge 7,44 · orange 7,30 (revue du 10/11/2026) */
.toast:is(.ok,.bad,.warn) .btn:not(.pri):not(.ok):not(.bad):not(.ghost){background:rgba(0,0,0,.22);color:#fff}
.actcli.mini .btn.sm:not(.pri):not(.ok):not(.bad):not(.ghost){background:transparent;border-color:transparent;box-shadow:none}
.actcli.mini .btn.sm:not(.pri):not(.ok):not(.bad):not(.ghost):hover{background:var(--bg2)}
.fbar .fplus[aria-expanded=true]:not(.pri):not(.ok):not(.bad):not(.ghost){border-color:var(--txt)}
/* D-VER-10 : listes converties d'un formulaire cerclées comme les champs */
.fld .btn.msel-auto:not(.pri):not(.ok):not(.bad):not(.ghost):not(.on){border-color:var(--champ-bord,var(--mut))}
/* menus déroulants et listes à cocher : fond plus dense et flou, lisibles même avec la transparence au maximum (04/11/2026) */
#menu.card{background:var(--verre-reflet),var(--verre-fond-fort);-webkit-backdrop-filter:blur(max(var(--verre-flou),16px)) saturate(var(--verre-sat));backdrop-filter:blur(max(var(--verre-flou),16px)) saturate(var(--verre-sat))}
/* bouton enfoncé (.on : menu à cocher avec une sélection, interrupteurs) : reste foncé, sinon texte blanc sur verre blanc, illisible (04/11/2026) */
.btn.on:not(.pri):not(.ok):not(.bad):not(.ghost){background:var(--txt);color:var(--inv);border-color:var(--txt);box-shadow:var(--verre-ombre-legere)}
.btn{transition:transform .18s var(--verre-ressort),box-shadow .18s,background .18s}
.btn:active{transform:scale(.97)}
.btn.pri,.btn.ok{box-shadow:0 6px 18px -6px color-mix(in srgb,currentColor 30%,transparent),inset 0 1px 0 rgba(255,255,255,.28)}
/* pastilles en pilules */
.tag,.pill{border-radius:999px}
/* champs de saisie lisibles sur le verre */
.in{background:var(--verre-fond-fort);border-color:var(--champ-bord,var(--mut))}
/* zones de texte et listes natives : app.css les cercle en --line avec « select.in,textarea.in » (0,1,1), qui battait « .in » ; même poids ici, fichier chargé après (focus, survol et .manque gardent la main) */
select.in,textarea.in{border-color:var(--champ-bord,var(--mut))}
/* D-VER-01 (charte 10/11/2026) : contour ≥ 3:1, plus foncé au survol (le halo violet du focus reste) */
.in:hover:not(:focus){border-color:var(--champ-bord-fort,var(--txt2))}
/* listes de travail : cartes de dossier (pas de flou par carte) */
.pg-appels .ap-qc{background:var(--verre-fond-leger);border:1px solid var(--verre-bord);border-left-width:4px;border-left-color:transparent;margin:0 0 6px;border-radius:var(--verre-rayon-s)}
.pg-appels .ap-qc.on{background:color-mix(in srgb,var(--qc) 13%,var(--verre-fond-fort));border-left-color:var(--qc);box-shadow:var(--verre-ombre-legere)}
.pg-appels .ap-qc.late{border-left-color:var(--bad)}
.lcs-row{background:var(--verre-fond-leger);border-color:var(--verre-bord)!important;border-radius:var(--verre-rayon-s)!important}
/* animations douces type ressort */
/* D-VER-05 (V3) : fondu seul, sans ressort (une seule translation par écran : celle de la page) */
@keyframes verreIn{from{opacity:0}to{opacity:1}}
.pg-appels .ap-carte,.lcs-list,.pg > .card{animation:verreIn .24s var(--ease) both}
@media (prefers-reduced-motion:reduce){.pg-appels .ap-carte,.lcs-list,.pg > .card{animation:none}#drawer,.btn{transition:none!important}.btn:active{transform:none}}
/* repli opaque si le flou n'est pas géré */
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  #side,#top,#drawer,#modal .box,.pg > .card,.pg-appels .c1 > .card,.pg-appels .c2 > .card,.pg-appels .c3 > .card,.pg-fiche #fi-tete{background:var(--card)!important}
  .card{background:var(--card)}
}
/* D-VER-07 (charte 10/11/2026, V3 à valider par Levi) : grandes fenêtres opaques, rien ne transparaît */
#modal .box.lg{background:var(--card)!important;-webkit-backdrop-filter:none;backdrop-filter:none}
/* D-VER-06 (V3) : au téléphone, barre du haut, fiche et fenêtres opaques ; tiroir plein écran sans coin, fenêtre en feuille basse */
@media (max-width:860px){#top,#drawer,#modal .box{background:var(--card)!important;-webkit-backdrop-filter:none;backdrop-filter:none}#drawer{border-radius:0;border-left:0}#modal .box,#modal .box.lg{border-radius:18px 18px 0 0!important}}
