/* Feuille de style de la file d'attente · thème clair aux couleurs du logo.
   Blanc pour les fonds, bleu du logo pour les numéros et les actions, vert du logo pour l'appel en cours.
   Les écrans d'appareils (borne, télé, porte, téléphone) sont en cqw : leurs tailles suivent la largeur de l'écran. */
@font-face{font-family:"Outfit";src:url("polices/outfit.fdf9c509a809.woff2") format("woff2");font-weight:300 700;font-style:normal;font-display:swap}
@font-face{font-family:"Manrope";src:url("polices/manrope.756049f32875.woff2") format("woff2");font-weight:400 800;font-style:normal;font-display:swap}
:root{
  color-scheme:light;
  --fond:#F3F8FC;--blanc:#FFFFFF;--tuile:#F2F8FC;
  --ligne:#D9E7F0;--ligne-douce:#E7F0F6;--ligne-forte:#BCD3E2;
  --texte:#10324A;--texte-2:#4F6B7E;--texte-3:#56738A;
  --bleu-logo:#1A99CE;--vert-logo:#7EBA26;
  --bleu:#0B78AB;--bleu-sombre:#0A6A97;--bleu-num:#0C82B9;--bleu-texte:#0A6A97;--bleu-fond:#E4F3FB;--bleu-pale:#CFEAF7;
  --vert:#7EBA26;--vert-clair:#8CC832;--vert-texte:#3A7310;--vert-fond:#EEF7E2;--vert-bord:#C9E3A6;--sur-vert:#10324A;
  --alerte:#9A5300;--alerte-fond:#FFF1D9;
  --critique:#B4232A;--critique-fond:#FCE7E7;--critique-plein:#C0262D;
  --carte-bleue:linear-gradient(180deg,#1A99CE 0%,#0B78AB 100%);
  --focus:#1A99CE;--rayon:22px;--rayon-petit:12px;
  --ombre-douce:0 1px 2px rgba(16,50,74,.06),0 10px 28px rgba(16,50,74,.08);
  --ombre:0 24px 60px rgba(16,50,74,.16);
  --f-titre:"Outfit",system-ui,sans-serif;--f-texte:"Manrope",system-ui,sans-serif;
  --papier:#FFFFFF;--encre:#151515;
}

/* ===================== Bases ===================== */
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{background:var(--fond)}
body{margin:0;background:var(--fond);color:var(--texte);font-family:var(--f-texte);font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.4}
h1,h2,h3,h4{font-family:var(--f-titre);font-weight:500;line-height:1.15;text-wrap:balance}
img{max-width:100%}
a{color:var(--bleu)}
.ico{width:1.2em;height:1.2em;flex:none}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
kbd{display:inline-grid;flex:none;place-items:center;min-width:1.6em;white-space:nowrap;margin-left:.4em;padding:.05em .45em;border:1px solid currentColor;border-radius:6px;font-family:var(--f-titre);font-size:.75em;font-weight:600;line-height:1.4;opacity:.75}
.pastille{display:inline-grid;place-items:center;flex:none;width:1.75em;height:1.75em;border-radius:50%;background:var(--c);color:#FFFFFF;font-family:var(--f-titre);font-size:13px;font-weight:700}
.dir-g .ico{transform:rotate(180deg)}
.dir-h .ico{transform:rotate(-90deg)}
.points{display:flex;align-items:center;gap:.5em}
.points i{display:block;width:.55em;height:.55em;border-radius:1em;background:var(--ligne-forte);transition:width .4s,background .4s}
.points i.actif{width:1.8em;background:var(--bleu-logo)}

@keyframes logo-pouls{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.72)}}
@keyframes logo-onde{0%{transform:scale(.12);opacity:0}12%{opacity:.8}100%{transform:scale(1.5);opacity:0}}
@keyframes logo-goutte{0%{transform:translateY(-320px);opacity:0}10%{opacity:1}46%{transform:translateY(0);opacity:1}50%,100%{transform:translateY(0);opacity:0}}
@keyframes logo-bulle{0%{transform:translateY(40px);opacity:0}15%,85%{opacity:1}100%{transform:translateY(-440px);opacity:0}}
@keyframes logo-scintille{0%,100%{opacity:.12}50%{opacity:.55}}
@keyframes logo-flotte{0%,100%{transform:translateY(0)}50%{transform:translateY(-6%)}}
@keyframes logo-defile{to{transform:translateX(-50%)}}
@keyframes logo-anneau{0%{transform:scale(.5);opacity:0}15%{opacity:.7}100%{transform:scale(1.35);opacity:0}}
@keyframes logo-entree{from{transform:scale(.86);opacity:0}}
@keyframes logo-fondu{from{opacity:0;transform:translateY(.5em)}}
@keyframes logo-voile{from{opacity:0}}
@keyframes logo-pip{from{opacity:0;transform:scale(.7)}}
@keyframes logo-egaliseur{0%,100%{transform:scaleY(.3)}50%{transform:scaleY(1)}}
@keyframes logo-battement{50%{transform:scale(1.03)}}
@keyframes impression{from{clip-path:inset(0 0 100% 0);transform:translateY(-12cqw)}to{clip-path:inset(0 0 0 0);transform:none}}
@keyframes toast{from{opacity:.3;transform:translateY(10px)}}

/* Vidéos des écrans : la scène animée reste dessous tant que la vidéo ne joue pas */
.v-video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#10324A;opacity:0;transition:opacity .6s;pointer-events:none}
.avec-video .v-video{opacity:1}
.v-lecture{position:absolute;left:0;right:0;bottom:0;z-index:1;display:none;background:rgba(255,255,255,.35)}
.avec-video .v-lecture{display:block}
.v-lecture span{display:block;width:0;height:100%;background:var(--bleu-logo);transition:width .25s linear}

/* Écrans plein cadre. La télé et la porte remplissent tout l'écran, quel que soit son format (16:9, 16:10, 4:3, portrait) :
   leur contenu se mesure en --u, 1 % de la largeur du plus grand cadre 16:9 (télé) ou 16:10 (porte) qui tient dans l'écran,
   et la mise en page s'étire pour occuper le reste. La borne remplit aussi tout l'écran : son contenu se mesure en --b,
   1 % de la largeur du plus grand cadre de tablette en portrait (10:16) qui tient dans l'écran ; en paysage (PC, télé,
   tablette couchée), l'accueil passe sur deux colonnes. */
.page-ecran{display:grid;place-items:center;min-height:100vh;min-height:100dvh;overflow:hidden;background:var(--fond)}
.ecran-borne{width:100%;min-width:0;container-type:inline-size}
.ecran-borne.plein{height:100vh;height:100dvh;container-type:size}
.ecran-tele,.porte-boite{width:100%;height:100vh;height:100dvh;min-width:0;container-type:size}

/* ===================== Télé de la salle d'attente (dessinée en 16:9, remplit tout l'écran) ===================== */
.tele{--u:min(1cqw,1.7778cqh);position:relative;display:grid;grid-template-rows:auto minmax(0,1fr) auto;row-gap:calc(1.25*var(--u));width:100%;height:100%;overflow:hidden;padding:calc(2.08*var(--u)) calc(2.5*var(--u)) 0;background:var(--fond);color:var(--texte);font-size:calc(1.3*var(--u))}
.nt-halo{position:absolute;border-radius:50%;pointer-events:none}
.nt-halo--bleu{left:calc(3.1*var(--u));top:calc(7.3*var(--u));width:calc(69.8*var(--u));height:calc(42.7*var(--u));background:radial-gradient(closest-side,rgba(26,153,206,.13),rgba(26,153,206,0))}
.nt-halo--vert{right:calc(-7.3*var(--u));top:calc(5.2*var(--u));width:calc(40.6*var(--u));height:calc(33.3*var(--u));background:radial-gradient(closest-side,rgba(126,186,38,.12),rgba(126,186,38,0))}
.nt-haut{position:relative;display:flex;align-items:center;justify-content:space-between;gap:calc(2*var(--u));height:calc(5*var(--u))}
.nt-logo{display:block;width:auto;height:calc(3.44*var(--u))}
.nt-marque{display:flex;align-items:center;gap:calc(1.25*var(--u));min-width:0}
.nt-lieu{min-width:0;overflow:hidden;text-overflow:ellipsis;padding:calc(.4*var(--u)) calc(1.1*var(--u));border-radius:999px;background:var(--bleu-fond);color:var(--bleu-texte);font-family:var(--f-titre);font-size:calc(1.5*var(--u));font-weight:600;letter-spacing:.04em;white-space:nowrap}
.nt-date{display:flex;align-items:baseline;gap:calc(1.25*var(--u));color:var(--texte-2);font-size:calc(1.35*var(--u))}
.nt-date time{color:var(--texte);font-family:var(--f-titre);font-size:calc(3.96*var(--u));font-weight:400;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.nt-corps{position:relative;display:grid;grid-template-columns:calc(64.58*var(--u)) minmax(0,1fr);gap:calc(1.67*var(--u));min-height:0}
.nt-gauche{display:flex;flex-direction:column;gap:calc(1.25*var(--u));min-width:0;min-height:0}
.nt-media{position:relative;flex:none;width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:calc(1.67*var(--u));background:linear-gradient(160deg,#EEF8FD 0%,#CDEAF7 100%);box-shadow:0 calc(1.4*var(--u)) calc(4*var(--u)) rgba(16,50,74,.12),0 0 0 1px var(--ligne)}
/* Sans vidéo, la scène prend toute la colonne et les messages s'y affichent en grand */
.nt-gauche:has(.nt-media:not(.avec-video)) .nt-media{flex:1;aspect-ratio:auto}
.nt-gauche:has(.nt-media:not(.avec-video)) .nt-legende{display:none}
.nt-media.avec-video :is(.nt-eau,.nt-scene-texte){display:none}
.nt-media .v-lecture{height:calc(.26*var(--u))}
.nt-eau{position:absolute;inset:0;width:100%;height:100%}
.nt-ronds ellipse{fill:none;stroke:rgba(26,153,206,.7);stroke-width:2.5;transform-box:fill-box;transform-origin:center;animation:logo-onde 4.8s cubic-bezier(.2,.6,.3,1) infinite}
.nt-ronds ellipse:nth-child(2){animation-delay:-1.2s}
.nt-ronds ellipse:nth-child(3){animation-delay:-2.4s}
.nt-ronds ellipse:nth-child(4){animation-delay:-3.6s}
.nt-goutte{fill:var(--bleu-logo);animation:logo-goutte 2.4s cubic-bezier(.55,0,.9,.5) infinite}
.nt-bulles circle{fill:rgba(255,255,255,.6);stroke:rgba(26,153,206,.45);stroke-width:2;animation:logo-bulle 9s linear infinite}
.nt-bulles circle:nth-child(2){animation-duration:7s;animation-delay:-3s}
.nt-bulles circle:nth-child(3){animation-duration:6.5s;animation-delay:-4s}
.nt-bulles circle:nth-child(4){animation-duration:8s;animation-delay:-5s}
.nt-bulles circle:nth-child(5){animation-duration:6s;animation-delay:-1s}
.nt-bulles circle:nth-child(6){animation-duration:7.5s;animation-delay:-2s}
.nt-scene-texte{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;gap:calc(.52*var(--u));padding:calc(12*var(--u)) calc(2.9*var(--u)) calc(2.8*var(--u));background:linear-gradient(to top,rgba(255,255,255,.96),rgba(255,255,255,0))}
.nt-scene-texte strong{color:var(--texte);font-family:var(--f-titre);font-size:calc(3.54*var(--u));font-weight:500;line-height:1.05;animation:logo-fondu .8s ease-out both}
.nt-scene-texte span{max-width:calc(52*var(--u));color:var(--texte-2);font-size:calc(1.46*var(--u));animation:logo-fondu .8s .1s ease-out both}
.nt-muet{position:absolute;top:calc(.62*var(--u));right:calc(.62*var(--u));z-index:2;display:none;place-items:center;width:calc(2.08*var(--u));height:calc(2.08*var(--u));border-radius:50%;background:rgba(255,255,255,.92);color:var(--texte)}
.nt-muet .ico{width:calc(1.15*var(--u));height:calc(1.15*var(--u))}
.nt-legende{display:flex;align-items:center;gap:calc(1.25*var(--u));flex:1;min-height:0;max-height:calc(9*var(--u));padding:0 calc(1.67*var(--u)) 0 calc(1.15*var(--u));border-radius:calc(1.46*var(--u));background:var(--blanc);border:1px solid var(--ligne);box-shadow:var(--ombre-douce)}
.nt-legende-icone{display:grid;place-items:center;flex:none;width:calc(3.1*var(--u));height:calc(3.1*var(--u));border-radius:50%;background:var(--bleu-fond);color:var(--bleu)}
.nt-legende-icone .ico{width:calc(1.56*var(--u));height:calc(1.56*var(--u))}
.nt-legende-texte{display:flex;flex-direction:column;gap:calc(.2*var(--u));min-width:0;animation:logo-fondu .6s ease-out both}
.nt-legende-texte strong{font-family:var(--f-titre);font-size:calc(1.56*var(--u));font-weight:500;line-height:1.1}
.nt-legende-texte span{overflow:hidden;color:var(--texte-2);font-size:calc(1.15*var(--u));white-space:nowrap;text-overflow:ellipsis}
.nt-legende .points{flex:none;margin-left:auto;font-size:calc(1*var(--u))}
.nt-droite{display:flex;flex-direction:column;gap:calc(1.04*var(--u));min-width:0;min-height:0}
/* L'appel en cours, sur le bleu du logo */
.nt-maintenant{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;gap:calc(.83*var(--u));flex:none;height:calc(23.54*var(--u));padding:calc(1.875*var(--u)) calc(2.08*var(--u));border-radius:calc(1.67*var(--u));background:var(--carte-bleue);color:#FFFFFF;box-shadow:0 calc(1.4*var(--u)) calc(4*var(--u)) rgba(11,120,171,.28)}
.nt-filigrane{position:absolute;right:calc(-3.65*var(--u));bottom:calc(-4.4*var(--u));width:calc(17.7*var(--u));height:auto;opacity:.14;filter:brightness(0) invert(1);pointer-events:none}
.nt-etiquette{position:relative;display:flex;align-items:center;gap:calc(.73*var(--u));color:var(--texte-3);font-size:calc(1.04*var(--u));font-weight:800;letter-spacing:.2em;text-transform:uppercase}
.nt-maintenant .nt-etiquette{color:#FFFFFF}
.nt-etiquette--vive{color:var(--vert-texte)}
.nt-etiquette--vive::before{content:"";flex:none;width:calc(.73*var(--u));height:calc(.73*var(--u));border-radius:50%;background:var(--vert);box-shadow:0 0 0 calc(.31*var(--u)) rgba(126,186,38,.25);animation:logo-pouls 1.6s ease-in-out infinite}
.nt-maintenant .nt-etiquette--vive::before{background:#A8DD5A;box-shadow:0 0 0 calc(.31*var(--u)) rgba(168,221,90,.35)}
.nt-num{position:relative;color:#FFFFFF;font-family:var(--f-titre);font-size:calc(8.54*var(--u));font-weight:600;line-height:.92;letter-spacing:-.03em;text-shadow:0 calc(.2*var(--u)) calc(1.2*var(--u)) rgba(0,40,70,.2);font-variant-numeric:tabular-nums}
.nt-accueil{position:relative;max-width:calc(22*var(--u));font-family:var(--f-titre);font-size:calc(2.6*var(--u));font-weight:500;line-height:1.15}
.nt-fleche{display:grid;place-items:center;flex:none;border-radius:50%}
.nt-dest{position:relative;display:flex;align-items:center;gap:calc(.94*var(--u));min-width:0}
.nt-dest .nt-fleche{width:calc(3.96*var(--u));height:calc(3.96*var(--u));background:var(--vert);color:var(--sur-vert)}
.nt-dest .ico{width:calc(2.08*var(--u));height:calc(2.08*var(--u));stroke-width:2.2}
.nt-dest>span{display:flex;flex-direction:column;gap:calc(.2*var(--u));min-width:0}
.nt-dest strong{overflow:hidden;font-family:var(--f-titre);font-size:calc(3.125*var(--u));font-weight:500;line-height:1.2;white-space:nowrap;text-overflow:ellipsis}
.nt-dest small{font-size:calc(1.15*var(--u));font-weight:600;opacity:.92}
.nt-derniers{display:flex;flex-direction:column;gap:calc(.62*var(--u));flex:1;min-height:0}
.nt-sous-titre{margin:0;padding-left:calc(.42*var(--u));color:var(--texte-3);font-family:var(--f-texte);font-size:calc(.94*var(--u));font-weight:800;letter-spacing:.2em;text-transform:uppercase}
.nt-lignes{display:flex;flex-direction:column;gap:calc(.62*var(--u));margin:0;padding:0;list-style:none}
.nt-ligne{display:grid;grid-template-columns:calc(.62*var(--u)) calc(7.8*var(--u)) minmax(0,1fr) calc(2.5*var(--u));align-items:center;gap:calc(.94*var(--u));height:calc(3.5*var(--u));padding:0 calc(1.04*var(--u));border-radius:calc(1.04*var(--u));background:var(--blanc);border:1px solid var(--ligne);box-shadow:var(--ombre-douce)}
.nt-point{width:calc(.62*var(--u));height:calc(.62*var(--u));border-radius:50%;background:var(--c)}
.nt-ligne-num{color:var(--texte);font-family:var(--f-titre);font-size:calc(2.08*var(--u));font-weight:600;font-variant-numeric:tabular-nums}
.nt-ligne-dest{overflow:hidden;color:var(--texte-2);font-family:var(--f-titre);font-size:calc(1.46*var(--u));white-space:nowrap;text-overflow:ellipsis}
.nt-ligne .nt-fleche{width:calc(2.5*var(--u));height:calc(2.5*var(--u));background:var(--bleu-fond);color:var(--bleu)}
.nt-ligne .ico{width:calc(1.25*var(--u));height:calc(1.25*var(--u));stroke-width:2.2}
.nt-vide{margin:0;padding:calc(.6*var(--u)) calc(.42*var(--u));color:var(--texte-3);font-size:calc(1.15*var(--u))}
.nt-bas{position:relative;display:flex;align-items:center;height:calc(3.75*var(--u));margin:0 calc(-2.5*var(--u));overflow:hidden;background:var(--blanc);border-top:1px solid var(--ligne)}
.nt-bas:empty{visibility:hidden}
.nt-bas-lib{position:relative;z-index:1;display:flex;align-items:center;height:100%;padding:0 calc(1.56*var(--u)) 0 calc(2.5*var(--u));background:var(--blanc);box-shadow:calc(1.25*var(--u)) 0 calc(1.25*var(--u)) var(--blanc);color:var(--bleu);font-size:calc(.94*var(--u));font-weight:800;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap}
.nt-defile{flex:1;min-width:0;overflow:hidden;white-space:nowrap}
.nt-defile-piste{display:flex;width:max-content;animation:logo-defile 60s linear infinite}
.nt-defile-piste span{padding-right:calc(8.3*var(--u));color:var(--texte);font-size:calc(1.3*var(--u))}

/* Au moment de l'appel : le numéro prend l'écran, la vidéo passe en vignette, sans le son */
.nt-appel{position:absolute;inset:calc(-1.25*var(--u)) calc(-2.5*var(--u));z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:calc(.42*var(--u));padding-bottom:calc(2*var(--u));overflow:hidden;background:radial-gradient(closest-side,rgba(26,153,206,.16),rgba(26,153,206,0)) center/calc(73*var(--u)) calc(45*var(--u)) no-repeat,var(--fond);animation:logo-voile .45s ease-out both}
.nt-appel:empty{display:none}
.nt-ondes{position:absolute;left:50%;top:44%;width:calc(51*var(--u));height:calc(51*var(--u));margin:calc(-25.5*var(--u)) 0 0 calc(-25.5*var(--u));pointer-events:none}
.nt-ondes i{position:absolute;inset:0;border-radius:50%;border:2px solid rgba(26,153,206,.45);animation:logo-anneau 3.6s cubic-bezier(.2,.6,.3,1) infinite}
.nt-ondes i:nth-child(2){animation-delay:-1.2s}
.nt-ondes i:nth-child(3){animation-delay:-2.4s}
.nt-appel .nt-etiquette{font-size:calc(1.46*var(--u));letter-spacing:.24em}
.nt-appel .nt-etiquette--vive::before{width:calc(.94*var(--u));height:calc(.94*var(--u));box-shadow:0 0 0 calc(.42*var(--u)) rgba(126,186,38,.25)}
.nt-appel-num{position:relative;color:var(--bleu-num);font-family:var(--f-titre);font-size:calc(17.7*var(--u));font-weight:600;line-height:.92;letter-spacing:-.035em;font-variant-numeric:tabular-nums;animation:logo-entree .9s cubic-bezier(.2,1.3,.4,1) both}
.nt-capsule{position:relative;display:flex;align-items:center;gap:calc(1.56*var(--u));max-width:min(calc(90*var(--u)),100%);margin-top:calc(1.46*var(--u));padding:calc(.94*var(--u)) calc(2.5*var(--u)) calc(.94*var(--u)) calc(.94*var(--u));border-radius:999px;background:var(--blanc);border:1px solid var(--ligne);box-shadow:var(--ombre)}
.nt-capsule .nt-fleche{width:calc(5.83*var(--u));height:calc(5.83*var(--u));background:var(--vert);color:var(--sur-vert)}
.nt-capsule .ico{width:calc(3.1*var(--u));height:calc(3.1*var(--u));stroke-width:2.2}
.nt-capsule strong{min-width:0;overflow:hidden;color:var(--texte);font-family:var(--f-titre);font-size:calc(5.42*var(--u));font-weight:500;line-height:1.2;white-space:nowrap;text-overflow:ellipsis}
.nt-capsule>i{flex:none;width:1px;height:calc(4.4*var(--u));background:var(--ligne)}
.nt-capsule>span{display:flex;flex-direction:column;gap:calc(.3*var(--u));min-width:0}
.nt-capsule b{color:var(--texte);font-size:calc(1.67*var(--u));font-weight:600}
.nt-capsule small{color:var(--texte-2);font-size:calc(1.35*var(--u))}
.nt-voix{position:relative;display:flex;align-items:center;gap:calc(.94*var(--u));margin-top:calc(2.3*var(--u));padding:calc(.73*var(--u)) calc(1.46*var(--u));border-radius:999px;background:var(--bleu-fond);color:var(--texte);font-size:calc(1.35*var(--u))}
.nt-voix .ico{width:calc(1.56*var(--u));height:calc(1.56*var(--u));color:var(--bleu)}
.nt-egaliseur{display:flex;align-items:center;gap:calc(.26*var(--u));height:calc(1.46*var(--u))}
.nt-egaliseur i{display:block;width:calc(.26*var(--u));height:100%;border-radius:calc(.2*var(--u));background:var(--bleu);animation:logo-egaliseur .9s ease-in-out infinite}
.nt-egaliseur i:nth-child(2){animation-delay:-.3s}
.nt-egaliseur i:nth-child(3){animation-delay:-.6s}
.nt-egaliseur i:nth-child(4){animation-delay:-.15s}
.tele.en-appel .nt-media{position:absolute;right:0;bottom:calc(.6*var(--u));z-index:6;width:calc(18.75*var(--u));aspect-ratio:16/9;border-radius:calc(1.15*var(--u));box-shadow:0 calc(1.04*var(--u)) calc(3.1*var(--u)) rgba(16,50,74,.25),0 0 0 1px var(--ligne);animation:logo-pip .5s ease-out both}
.tele.en-appel .nt-media:not(.avec-video){display:none}
.tele.en-appel :is(.nt-maintenant,.nt-legende,.nt-ligne){box-shadow:none}
.tele.en-appel .nt-muet{display:grid}
.tele.en-appel .v-lecture{display:none}

/* Télé en portrait : la vidéo en haut, les appels dessous */
@container (aspect-ratio < 1){
  .tele{--u:min(1.5cqw,.85cqh)}
  .nt-corps{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}
  .nt-gauche:has(.nt-media:not(.avec-video)) .nt-media,.nt-media{flex:none;aspect-ratio:16/9}
  .nt-capsule{flex-wrap:wrap;justify-content:center;border-radius:calc(3*var(--u))}
  .nt-capsule>i{display:none}
  /* La carte de l'appel en cours prend la place que les derniers appels laissent libre */
  .nt-maintenant{flex:1 1 auto;height:auto;min-height:calc(23.54*var(--u));max-height:calc(42*var(--u))}
  .nt-maintenant .nt-num{font-size:calc(11*var(--u))}
  .nt-derniers{flex:0 1 auto}
}

/* Voile pour activer le son de la télé */
.voile{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:24px;background:rgba(16,50,74,.45);backdrop-filter:blur(6px)}
.voile-carte{display:flex;flex-direction:column;align-items:center;gap:.75em;max-width:min(34em,100%);padding:2em 2.25em;border:1px solid var(--ligne);border-radius:1.75em;background:var(--blanc);color:var(--texte);font-size:clamp(16px,2.2vmin,40px);text-align:center;box-shadow:var(--ombre)}
.voile-carte .ico{box-sizing:content-box;width:2.75em;height:2.75em;padding:.9em;border-radius:50%;background:var(--bleu-fond);color:var(--bleu)}
.voile-carte strong{font-family:var(--f-titre);font-size:1.75em;font-weight:500}
.voile-carte span{color:var(--texte-2)}

/* ===================== Borne (tablette en portrait, ou tout écran couché) ===================== */
/* --b : 1 % de la largeur d'une tablette en portrait (10:16) ; ne jamais l'écrire avec var(--b) (unité cyclique) */
.borne,.refus-borne{--b:min(1cqw,.625cqh)}
.borne{position:relative;display:flex;flex-direction:column;width:100%;height:100%;overflow:hidden;background:var(--fond);color:var(--texte)}
.nb-halo{position:absolute;left:calc(-12.5*var(--b));top:0;width:calc(125*var(--b));height:calc(87.5*var(--b));border-radius:50%;background:radial-gradient(closest-side,rgba(26,153,206,.12),rgba(26,153,206,0));pointer-events:none}
.nb-entete{position:relative;display:flex;align-items:center;justify-content:space-between;gap:calc(3*var(--b));flex:none;height:calc(12*var(--b));padding:0 calc(4*var(--b))}
.nb-logo{display:block;width:auto;max-width:58%;height:calc(5.75*var(--b))}
.nb-pilules{display:flex;gap:calc(1.25*var(--b));min-width:0}
.nb-pilule{padding:calc(1*var(--b)) calc(2.25*var(--b));border-radius:999px;background:var(--blanc);border:1px solid var(--ligne);color:var(--texte);font-family:var(--f-titre);font-size:calc(2.75*var(--b));font-variant-numeric:tabular-nums;white-space:nowrap}
.nb-lieu{min-width:0;overflow:hidden;text-overflow:ellipsis;background:var(--bleu-fond);border-color:transparent;color:var(--bleu-texte);font-weight:700}
.nb-banniere{position:relative;flex:none;margin:0 calc(4*var(--b));aspect-ratio:16/9;max-height:calc(52*var(--b));overflow:hidden;border-radius:calc(3.5*var(--b));background:linear-gradient(150deg,#F3FAFE 0%,#CDEAF7 100%);box-shadow:var(--ombre-douce),0 0 0 1px var(--ligne)}
.borne:not([data-etape="accueil"]) .nb-banniere,.borne--sans-panneau .nb-banniere{display:none}
.nb-banniere .v-video{object-fit:cover}
.nb-banniere .v-lecture{height:calc(.5*var(--b))}
.nb-banniere.avec-video :is(.nb-ciel,.nb-icone,.nb-message){display:none}
.nb-ciel{position:absolute;inset:0;width:100%;height:100%}
.nb-ciel circle{fill:var(--bleu-logo);transform-box:fill-box;transform-origin:center;scale:2.4;animation:logo-scintille 3.4s ease-in-out infinite}
.nb-icone{position:absolute;right:calc(7.25*var(--b));top:calc(6*var(--b));width:calc(21*var(--b));animation:logo-flotte 6s ease-in-out infinite}
.nb-icone img{display:block;width:100%;height:auto;filter:drop-shadow(0 calc(1.2*var(--b)) calc(2.4*var(--b)) rgba(26,153,206,.3))}
.nb-message{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:flex-end;justify-content:space-between;gap:calc(4*var(--b));padding:calc(18*var(--b)) calc(4*var(--b)) calc(4.5*var(--b));background:linear-gradient(to top,rgba(255,255,255,.96),rgba(255,255,255,0))}
.nb-diapo{display:flex;flex-direction:column;gap:calc(1*var(--b));max-width:calc(62*var(--b));animation:logo-fondu .7s ease-out both}
.nb-diapo strong{color:var(--texte);font-family:var(--f-titre);font-size:calc(5*var(--b));font-weight:500;line-height:1.05}
.nb-diapo span{color:var(--texte-2);font-size:calc(2.5*var(--b));line-height:1.4}
.nb-message .points{flex:none;margin-bottom:calc(.8*var(--b));font-size:calc(1.8*var(--b))}
.nb-corps{position:relative;display:flex;flex:1;flex-direction:column;gap:calc(2.75*var(--b));min-height:0;padding:calc(4.25*var(--b)) calc(4*var(--b)) calc(2*var(--b));overflow-y:auto}
.nb-titre{margin:0;color:var(--texte);font-family:var(--f-titre);font-size:calc(5*var(--b));font-weight:500;line-height:1.12}
.nb-sous{margin:calc(-2*var(--b)) 0 0;color:var(--texte-2);font-size:calc(2.5*var(--b))}
/* Cartes des services : elles se partagent toute la hauteur libre, entre 14 et 40 unités chacune ;
   deux colonnes, une seule jusqu'à 3 services (cartes pleine largeur, noms en plus grand) */
.nb-services{display:grid;flex:1 1 0;min-height:0;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(calc(14*var(--b)),calc(40*var(--b)));align-content:start;gap:calc(1.75*var(--b))}
.nb-tuile{display:flex;align-items:center;gap:calc(2.6*var(--b));min-height:calc(14*var(--b));padding:calc(2*var(--b)) calc(3*var(--b));border-radius:calc(3.5*var(--b));background:var(--blanc);border:1px solid var(--ligne);box-shadow:var(--ombre-douce);color:var(--texte);text-align:left;transition:transform .08s ease,background .15s,border-color .15s}
.nb-services:not(:has(>.nb-tuile:nth-child(4))){grid-template-columns:minmax(0,1fr)}
.nb-services:not(:has(>.nb-tuile:nth-child(4))) .nb-tuile-icone{width:calc(12*var(--b));height:calc(12*var(--b))}
.nb-services:not(:has(>.nb-tuile:nth-child(4))) .nb-tuile-icone .ico{width:calc(6*var(--b));height:calc(6*var(--b))}
.nb-services:not(:has(>.nb-tuile:nth-child(4))) .nb-tuile-nom{font-size:calc(5*var(--b))}
.nb-services:not(:has(>.nb-tuile:nth-child(4))) .nb-tuile-attente{font-size:calc(3.2*var(--b))}
/* Plus de 8 services en portrait : la bannière d'accueil cède sa place aux cartes, un peu moins hautes,
   pour que tous les services se voient sans faire défiler */
@container (aspect-ratio <= 1){
  .borne:has(.nb-services>.nb-tuile:nth-child(9)) .nb-banniere{display:none}
  .nb-services:has(>.nb-tuile:nth-child(9)){grid-auto-rows:minmax(calc(12*var(--b)),calc(40*var(--b)))}
  .nb-services:has(>.nb-tuile:nth-child(9))>.nb-tuile{min-height:calc(12*var(--b))}
}
.nb-tuile:active{transform:scale(.97);background:var(--bleu-fond);border-color:var(--bleu-logo)}
.nb-tuile[aria-busy="true"]{opacity:.6}
.nb-tuile-icone{display:grid;place-items:center;flex:none;width:calc(9.5*var(--b));height:calc(9.5*var(--b));border-radius:50%;background:var(--c);color:#FFFFFF;box-shadow:0 calc(.8*var(--b)) calc(2*var(--b)) color-mix(in srgb,var(--c) 35%,transparent)}
.nb-tuile-icone .ico{width:calc(4.75*var(--b));height:calc(4.75*var(--b))}
.nb-tuile-texte{display:flex;flex-direction:column;gap:calc(.7*var(--b));min-width:0}
.nb-tuile-nom{font-family:var(--f-titre);font-size:calc(3.9*var(--b));font-weight:500;line-height:1.12}
.nb-tuile-attente{color:var(--texte-2);font-size:calc(2.7*var(--b))}
/* Borne qui en réunit plusieurs : le nom de la borne du service, en titre de sa carte */
.nb-tuile-borne{align-self:flex-start;max-width:100%;overflow:hidden;padding:calc(.45*var(--b)) calc(1.8*var(--b));border-radius:999px;background:var(--bleu-fond);color:var(--bleu-texte);font-size:calc(3.1*var(--b));font-weight:700;letter-spacing:.04em;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}
.nb-services:not(:has(>.nb-tuile:nth-child(4))) .nb-tuile-borne{font-size:calc(3.8*var(--b))}
.nb-vide{margin:calc(4*var(--b)) 0 0;color:var(--texte-2);font-size:calc(3*var(--b));text-align:center}
/* Ticket prioritaire sur une borne à plusieurs services : le service choisi reste visible au-dessus des motifs */
.nb-choix{display:flex;align-items:center;gap:calc(2.6*var(--b));padding:calc(2.2*var(--b)) calc(3*var(--b));border-radius:calc(3.5*var(--b));background:var(--blanc);border:1px solid var(--ligne);box-shadow:var(--ombre-douce)}
.nb-choix-texte{display:flex;flex-direction:column;gap:calc(.5*var(--b));min-width:0}
.nb-choix-texte small{color:var(--texte-2);font-size:calc(2.2*var(--b));font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.nb-choix-texte strong{color:var(--texte);font-family:var(--f-titre);font-size:calc(3.8*var(--b));font-weight:500;line-height:1.15}
.nb-etape{color:var(--vert-texte);font-size:calc(2.2*var(--b));font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.nb-motif[aria-busy="true"]{opacity:.6}
.nb-motifs{display:flex;flex-direction:column;gap:calc(2*var(--b))}
.nb-motif{display:flex;align-items:center;justify-content:space-between;gap:calc(3*var(--b));padding:calc(4*var(--b));border-radius:calc(3*var(--b));background:var(--blanc);border:1px solid var(--ligne);box-shadow:var(--ombre-douce);color:var(--texte);font-family:var(--f-titre);font-size:calc(3.5*var(--b));font-weight:500;text-align:left}
.nb-motif .ico{width:calc(4.4*var(--b));height:calc(4.4*var(--b));color:var(--bleu)}
.nb-bas{position:relative;display:flex;align-items:center;justify-content:space-between;gap:calc(2.5*var(--b));flex:none;padding:calc(3*var(--b)) calc(4*var(--b)) calc(4*var(--b))}
.nb-bas:empty{display:none}
.nb-prio,.nb-retour{display:inline-flex;align-items:center;gap:calc(1.5*var(--b));height:calc(8*var(--b));padding:0 calc(3.5*var(--b)) 0 calc(2.75*var(--b));border:0;border-radius:999px;font-size:calc(2.5*var(--b));font-weight:800;white-space:nowrap}
.nb-prio{background:var(--vert);color:var(--sur-vert);box-shadow:0 calc(1*var(--b)) calc(2.6*var(--b)) rgba(126,186,38,.35)}
.nb-retour{background:var(--blanc);border:1px solid var(--ligne-forte);color:var(--texte)}
.nb-retour .ico{transform:rotate(180deg)}
.nb-prio .ico,.nb-retour .ico{width:calc(3.25*var(--b));height:calc(3.25*var(--b))}
.nb-urgence{display:flex;align-items:center;justify-content:flex-end;gap:calc(1.25*var(--b));max-width:calc(42*var(--b));color:var(--critique);font-size:calc(2.125*var(--b));font-weight:700;line-height:1.3;text-align:right}
.nb-urgence .ico{width:calc(3.25*var(--b));height:calc(3.25*var(--b))}
/* Sans le bouton « Je suis prioritaire » (Réglages), l'urgence vitale est seule : au centre */
.nb-bas>.nb-urgence:only-child{margin-inline:auto;justify-content:center;text-align:center}
/* Ticket pris : l'aperçu reste blanc, comme le ticket imprimé */
.borne[data-etape="ticket"] .nb-corps{align-items:center;justify-content:center}
.nb-merci{display:flex;flex-direction:column;align-items:center;gap:calc(1.5*var(--b));text-align:center}
.nb-merci .nb-sous{margin:0}
.nb-coche{display:grid;place-items:center;width:calc(10*var(--b));height:calc(10*var(--b));border-radius:50%;background:var(--vert);color:var(--sur-vert);box-shadow:0 0 0 calc(2*var(--b)) var(--vert-fond)}
.nb-coche .ico{width:calc(5.5*var(--b));height:calc(5.5*var(--b));stroke-width:2.4}
.ticket{position:relative;display:flex;flex-direction:column;align-items:center;gap:calc(1.8*var(--b));width:calc(70*var(--b));padding:calc(5*var(--b)) calc(5*var(--b)) calc(4.4*var(--b));border-radius:calc(.6*var(--b));background:var(--papier);color:var(--encre);text-align:center;border:1px solid var(--ligne);box-shadow:0 calc(1.6*var(--b)) calc(5*var(--b)) rgba(16,50,74,.16)}
.ticket.anim{animation:impression .75s cubic-bezier(.2,.8,.2,1) both}
.tk-logo{display:block;width:calc(44*var(--b));height:auto;filter:grayscale(1) brightness(.55) contrast(1.6)}
.tk-svc{font-size:calc(3.8*var(--b));font-weight:700}
.tk-poste{margin-top:calc(-1*var(--b));font-size:calc(3*var(--b));font-weight:700;text-align:center}
.tk-label{font-size:calc(2.4*var(--b));letter-spacing:.12em;text-transform:uppercase}
.tk-num{font-family:var(--f-titre);font-size:calc(16*var(--b));font-weight:600;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.tk-prio{padding:calc(.6*var(--b)) calc(2.6*var(--b));border:calc(.3*var(--b)) solid currentColor;border-radius:999px;font-size:calc(2.6*var(--b));font-weight:600}
.tk-avant{font-size:calc(2.8*var(--b));font-weight:600}
.tk-avant strong{font-size:calc(4.2*var(--b));font-weight:800}
.tk-pied{width:100%;margin:calc(1*var(--b)) 0 0;padding-top:calc(1.8*var(--b));border-top:calc(.3*var(--b)) dashed currentColor;font-size:calc(2.4*var(--b))}
.nb-fini{display:block;width:calc(70*var(--b));padding:calc(2.6*var(--b)) calc(4*var(--b));border:0;border-radius:999px;background:var(--bleu);color:#FFFFFF;font-size:calc(3*var(--b));font-weight:800;text-align:center;box-shadow:0 calc(1.2*var(--b)) calc(3*var(--b)) rgba(11,120,171,.3)}
.refus-borne{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:calc(4*var(--b));height:100%;padding:calc(8*var(--b));background:var(--fond);color:var(--texte);text-align:center}
.refus-borne img{width:calc(60*var(--b));height:auto}
.refus-borne h1{margin:0;font-size:calc(5.4*var(--b))}
.refus-borne p{max-width:calc(72*var(--b));margin:0;color:var(--texte-2);font-size:calc(3.2*var(--b))}
/* Borne couchée (écran de PC, télé, tablette en paysage) : tout l'écran. À l'accueil, la bannière et le bouton
   prioritaire à gauche, les services à droite ; les autres étapes au centre. */
@container (aspect-ratio > 1){
  .borne,.refus-borne{--b:.7cqh}
  .borne[data-etape="accueil"]{display:grid;grid-template-columns:minmax(calc(92*var(--b)),42fr) minmax(0,58fr);grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:"entete entete" "banniere corps" "bas corps"}
  .borne[data-etape="accueil"] .nb-entete{grid-area:entete}
  /* La bannière occupe la hauteur de la colonne de gauche ; le bouton prioritaire reste en bas, à portée de main */
  .borne[data-etape="accueil"] .nb-banniere{grid-area:banniere;aspect-ratio:auto;min-height:calc(30*var(--b));max-height:none;margin:calc(1*var(--b)) 0 0 calc(4*var(--b))}
  .borne[data-etape="accueil"] .nb-corps{grid-area:corps;padding-top:calc(1*var(--b))}
  .borne[data-etape="accueil"] .nb-bas{grid-area:bas;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:calc(3*var(--b));padding:calc(4*var(--b)) 0 calc(4*var(--b)) calc(4*var(--b))}
  .borne[data-etape="accueil"] .nb-prio{justify-content:center;height:calc(12*var(--b));font-size:calc(3.4*var(--b))}
  .borne[data-etape="accueil"] .nb-prio .ico{width:calc(4.4*var(--b));height:calc(4.4*var(--b))}
  .borne[data-etape="accueil"] .nb-urgence{justify-content:flex-start;max-width:none;font-size:calc(2.6*var(--b));text-align:left}
  /* Sans le panneau (Réglages) : une seule colonne, les services sur toute la largeur, l'urgence vitale en bas */
  .borne--sans-panneau[data-etape="accueil"]{grid-template-columns:minmax(0,1fr);grid-template-areas:"entete" "corps" "bas"}
  .borne--sans-panneau[data-etape="accueil"] .nb-bas{padding:calc(1*var(--b)) calc(4*var(--b)) calc(4*var(--b))}
  /* Couchée : une colonne jusqu'à 3 services, deux jusqu'à 6, trois au-delà ; les cartes remplissent la hauteur */
  .nb-services{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nb-services:not(:has(>.nb-tuile:nth-child(4))){grid-template-columns:minmax(0,1fr)}
  .nb-services:has(>.nb-tuile:nth-child(7)){grid-template-columns:repeat(3,minmax(0,1fr))}
  .borne:not([data-etape="accueil"]) .nb-corps{padding-inline:max(calc(4*var(--b)),(100% - calc(150*var(--b))) / 2)}
  .borne:not([data-etape="accueil"]) .nb-bas{padding-inline:max(calc(4*var(--b)),(100% - calc(150*var(--b))) / 2)}
  .nb-motifs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* ===================== Écran de porte (dessiné en 16:10, remplit tout l'écran) ===================== */
.porte{--u:min(1cqw,1.6cqh);position:relative;display:flex;flex-direction:column;width:100%;height:100%;overflow:hidden;background:var(--fond);color:var(--texte)}
.porte::before{content:"";position:absolute;left:10%;top:18%;width:80%;height:66%;border-radius:50%;background:radial-gradient(closest-side,rgba(26,153,206,.14),rgba(26,153,206,0));pointer-events:none}
.np-tete{position:relative;display:flex;align-items:center;gap:calc(2.5*var(--u));padding:calc(3.5*var(--u)) calc(5*var(--u))}
.np-pastille{flex:none;width:calc(2.5*var(--u));height:calc(2.5*var(--u));border-radius:50%;background:var(--c);box-shadow:0 0 0 var(--u) color-mix(in srgb,var(--c) 18%,transparent)}
.np-nom{display:flex;flex-direction:column;gap:calc(.6*var(--u));min-width:0}
.np-nom strong{overflow:hidden;font-family:var(--f-titre);font-size:calc(7*var(--u));font-weight:500;line-height:1.3;white-space:nowrap;text-overflow:ellipsis}
.np-nom small{display:-webkit-box;overflow:hidden;color:var(--texte-2);font-size:calc(2.6*var(--u));font-weight:600;line-height:1.3;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.np-agent{flex:none;max-width:40%;margin-left:auto;overflow:hidden;color:var(--texte-2);font-size:calc(3.4*var(--u));text-align:right;white-space:nowrap;text-overflow:ellipsis}
.np-num{position:relative;display:grid;flex:1;place-items:center;min-height:0;color:var(--bleu-num);font-family:var(--f-titre);font-size:calc(21*var(--u));font-weight:600;line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.np-etat{position:relative;margin:0 calc(4*var(--u)) calc(4*var(--u));padding:calc(2.6*var(--u));border-radius:999px;background:var(--blanc);border:1px solid var(--ligne);color:var(--texte-2);font-size:calc(4.4*var(--u));font-weight:700;text-align:center}
.np-etat--appel{background:var(--vert);border-color:transparent;color:var(--sur-vert);box-shadow:0 var(--u) calc(3*var(--u)) rgba(126,186,38,.35)}
.np-etat--service{background:var(--bleu-fond);border-color:transparent;color:var(--bleu-texte)}
/* Sans patient : un message clair à la place du numéro */
.np-repos{position:relative;display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:calc(1.4*var(--u));min-height:0;padding:0 calc(6*var(--u)) calc(4*var(--u));text-align:center}
.np-repos-icone{display:grid;place-items:center;width:calc(13*var(--u));height:calc(13*var(--u));margin-bottom:calc(1.2*var(--u));border-radius:50%;background:color-mix(in srgb,var(--c) 12%,#FFFFFF);color:var(--c);box-shadow:0 0 0 calc(1.6*var(--u)) color-mix(in srgb,var(--c) 6%,transparent)}
.np-repos-icone .ico{width:calc(6.5*var(--u));height:calc(6.5*var(--u))}
.np-repos strong{font-family:var(--f-titre);font-size:calc(8*var(--u));font-weight:500;line-height:1.05}
.np-repos>span:last-child{max-width:calc(72*var(--u));color:var(--texte-2);font-size:calc(3.4*var(--u));line-height:1.35}
.np-repos--pause .np-repos-icone{background:var(--alerte-fond);color:var(--alerte);box-shadow:none}
.np-repos--ferme .np-repos-icone{background:#EDF2F6;color:var(--texte-2);box-shadow:none}
/* Porte en portrait : on garde la largeur pour le numéro */
@container (aspect-ratio < 1){
  .porte{--u:1.4cqw}
  .np-tete{flex-wrap:wrap;row-gap:calc(1.2*var(--u))}
  .np-nom{flex:1 1 0}
  .np-agent{order:3;flex-basis:100%;max-width:none;margin-left:calc(5*var(--u));text-align:left}
}

/* ===================== Page du patient (téléphone) ===================== */
.page-patient{background:var(--fond)}
.patient{position:relative;display:flex;flex-direction:column;width:min(100%,480px);min-height:100vh;min-height:100dvh;margin-inline:auto;overflow:hidden;background:var(--fond);color:var(--texte);container-type:inline-size}
.m-tete{position:relative;display:flex;align-items:center;justify-content:space-between;gap:3cqw;padding:max(4cqw,env(safe-area-inset-top,0px)) 5cqw 2cqw}
.m-app{display:flex;align-items:center;gap:2.6cqw;min-width:0;font-family:var(--f-titre);font-size:4.9cqw;font-weight:500}
.m-app img{display:block;flex:none;width:7.7cqw;height:auto}
.m-direct{display:flex;align-items:center;gap:2cqw;padding:1.5cqw 3cqw;border-radius:999px;background:var(--vert-fond);border:1px solid var(--vert-bord);color:var(--vert-texte);font-size:3.3cqw;font-weight:700;white-space:nowrap}
.m-direct i{width:2cqw;height:2cqw;border-radius:50%;background:var(--vert);animation:logo-pouls 1.6s ease-in-out infinite}
.m-corps{position:relative;display:flex;flex:1;flex-direction:column;gap:4cqw;padding:3cqw 5cqw 6cqw}
.m-titre{margin:0;font-size:6.5cqw}
.m-texte{margin:0;color:var(--texte-2);font-size:3.9cqw}
.m-label{color:var(--texte-2);font-size:3.1cqw;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.m-anneau{position:relative;display:grid;place-items:center;align-self:center;width:66cqw;aspect-ratio:1}
.m-anneau svg{position:absolute;inset:0;width:100%;height:100%}
.m-piste{fill:none;stroke:#DCEAF3;stroke-width:12}
.m-progres{fill:none;stroke:var(--bleu-logo);stroke-width:12;stroke-linecap:round;transition:stroke-dasharray .6s ease}
.m-anneau-centre{position:relative;display:flex;flex-direction:column;align-items:center;gap:1.5cqw;max-width:52cqw;text-align:center}
.m-num{color:var(--bleu-num);font-family:var(--f-titre);font-size:17cqw;font-weight:600;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.m-svc{color:var(--texte-2);font-size:3.9cqw}
.m-stats{display:grid;grid-template-columns:1fr 1fr;gap:3cqw;margin:0}
.m-stats div{display:flex;flex-direction:column;gap:1cqw;padding:3.6cqw 4cqw;border-radius:5cqw;background:var(--blanc);border:1px solid var(--ligne)}
.m-stats dt{color:var(--texte-2);font-size:3.3cqw}
.m-stats dd{margin:0;font-family:var(--f-titre);font-size:8.2cqw;font-weight:600;line-height:1.1}
.m-alerte{display:flex;align-items:flex-start;gap:3cqw;padding:3.6cqw 4cqw;border-radius:4.6cqw;background:var(--vert-fond);border:1px solid var(--vert-bord)}
.m-alerte .ico{width:6.2cqw;height:6.2cqw;color:var(--vert-texte)}
.m-alerte p{margin:0;font-size:3.9cqw;line-height:1.45}
.m-carte{display:flex;flex-direction:column;gap:2cqw;padding:5cqw;border-radius:6cqw;background:var(--blanc);border:1px solid var(--ligne);box-shadow:var(--ombre-douce)}
.m-appel{display:flex;flex-direction:column;gap:2cqw;padding:6cqw 5cqw;border-radius:6cqw;background:var(--vert);color:var(--sur-vert);box-shadow:0 0 0 3cqw var(--vert-fond);animation:logo-battement 1.6s ease-in-out 3}
.m-appel .m-label{color:inherit;opacity:.85}
.m-appel .m-num{color:var(--sur-vert)}
.m-dest{font-family:var(--f-titre);font-size:6cqw;font-weight:600;line-height:1.15}
.m-direction{font-size:3.9cqw;opacity:.9}
.m-parcours{display:flex;flex-direction:column;gap:3cqw;padding:4cqw 4.6cqw;border-radius:5cqw;background:var(--blanc);border:1px solid var(--ligne)}
.m-parcours ol{position:relative;display:flex;flex-direction:column;gap:3.6cqw;margin:0;padding:0;list-style:none}
.m-parcours ol::before{content:"";position:absolute;left:2.55cqw;top:2.8cqw;bottom:2.8cqw;width:.5cqw;background:var(--ligne)}
.m-parcours li{position:relative;display:flex;align-items:center;gap:3.6cqw;color:var(--texte-2);font-size:3.9cqw}
.m-parcours li i{display:grid;place-items:center;flex:none;width:5.6cqw;height:5.6cqw;border-radius:50%;background:#3E7A10;color:#FFFFFF}
.m-parcours li i .ico{width:3.3cqw;height:3.3cqw;stroke-width:3}
.m-parcours li.encours{color:var(--texte);font-weight:700}
.m-parcours li.encours i{border:1.5cqw solid var(--bleu-pale);background:var(--bleu-logo)}
.m-pied{margin:auto 0 0;color:var(--texte-3);font-size:3.3cqw;text-align:center}
.m-lien{align-self:center;padding:2cqw;border:0;background:none;color:var(--bleu);font-size:3.7cqw;text-decoration:underline}
.m-services{display:flex;flex-direction:column;gap:2.6cqw}
.m-service{display:flex;align-items:center;gap:3.4cqw;padding:3.6cqw;border-radius:4.6cqw;background:var(--blanc);border:1px solid var(--ligne);color:var(--texte);text-align:left}
.m-service .pastille{width:9cqw;height:9cqw;font-size:4cqw}
.m-service strong{display:block;font-family:var(--f-titre);font-size:4.3cqw;font-weight:500}
.m-service small{display:block;color:var(--texte-2);font-size:3.3cqw}
.m-avis{display:flex;flex-direction:column;gap:3cqw}
.m-avis p{margin:0;font-size:4cqw;font-weight:700}
.m-notes{display:flex;gap:2.4cqw}
.m-notes button{flex:1;aspect-ratio:1;border:1px solid var(--ligne-forte);border-radius:50%;background:var(--blanc);color:var(--texte);font-family:var(--f-titre);font-size:5cqw;font-weight:600}
.m-notes button[aria-pressed="true"]{background:var(--bleu);border-color:transparent;color:#FFFFFF}
.m-chargement{margin:0;padding:8cqw 6cqw;color:var(--texte-2);font-size:4cqw}

/* ===================== Espace du personnel ===================== */
.page-gestion{background:var(--fond)}
.chrome{position:sticky;top:0;z-index:20;display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;padding-block:12px;padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px));background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--ligne)}
@media (max-width:700px){.chrome{position:static}}
.marque{display:flex;align-items:center;gap:14px;min-width:0}
.marque-logo{display:block;width:auto;height:36px}
.marque-sous{padding-left:14px;border-left:1px solid var(--ligne);color:var(--texte-2);font-size:12px;line-height:1.35}
@media (max-width:560px){.marque-sous{display:none}}
.onglets{display:flex;gap:4px;flex:1 1 520px;min-width:0;padding:4px;overflow-x:auto;border-radius:999px;background:var(--tuile);border:1px solid var(--ligne);scrollbar-width:none}
.onglets::-webkit-scrollbar{display:none}
.onglet{padding:8px 16px;border-radius:999px;color:var(--texte-2);font-size:14px;font-weight:700;text-decoration:none;white-space:nowrap}
.onglet:hover{color:var(--texte)}
.onglet[aria-current="page"]{background:var(--bleu);color:#FFFFFF;font-weight:800;box-shadow:0 4px 12px rgba(11,120,171,.25)}
@media (max-width:1600px){.onglets{flex-basis:100%;order:3}}
/* Téléphone et tablette : toutes les rubriques restent visibles, sur deux ou trois lignes, sans défilement caché */
@media (max-width:1100px){.onglets{flex-wrap:wrap;overflow:visible;border-radius:22px}}
@media (max-width:560px){.onglets{gap:2px}.onglet{padding:7px 11px;font-size:13px}}
.outils{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-left:auto}
.reaction{color:var(--texte-2);font-family:var(--f-titre);font-size:13px;font-variant-numeric:tabular-nums}
.reaction:empty{display:none}
.deconnexion{margin:0}
.outil{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid var(--ligne-forte);border-radius:999px;background:var(--blanc);color:var(--texte);font-size:13px;font-weight:700;text-decoration:none}
.outil:hover{border-color:var(--bleu)}
#vue{max-width:1400px;margin-inline:auto;padding-block:28px 56px;padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px))}
@media (max-width:560px){#vue,.chrome{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}}
#vue>*{animation:logo-fondu .25s ease-out}

/* Boutons, pastilles d'état, formulaires */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border:1px solid var(--ligne-forte);border-radius:999px;background:var(--blanc);color:var(--texte);font-size:15px;font-weight:700;text-decoration:none;transition:background .12s,border-color .12s,transform .06s}
.btn:hover:not(:disabled){border-color:var(--bleu)}
.btn:active:not(:disabled){transform:translateY(1px)}
.btn-primaire{background:var(--bleu);border-color:var(--bleu);color:#FFFFFF}
.btn-primaire:hover:not(:disabled){background:var(--bleu-sombre);border-color:var(--bleu-sombre)}
.btn-grand{padding:14px 24px;font-size:17px}
.btn-petit{padding:7px 14px;font-size:13px}
.btn-icone{padding:7px}
.btn-icone .ico{width:18px;height:18px}
.btn-discret{background:transparent;border-color:transparent;color:var(--texte-2)}
.btn-mini{padding:6px 14px;border:1px solid var(--ligne-forte);border-radius:999px;background:var(--blanc);color:var(--texte);font-size:13px;font-weight:700}
.btn-mini:hover:not(:disabled){border-color:var(--bleu)}
.btn-lien{padding:6px 0;border:0;background:none;color:var(--texte-2);font-size:14px;text-decoration:underline}
.btn-vers{justify-content:flex-start;border-radius:16px;font-weight:600;text-align:left}
.btn-vers small{margin-left:auto;color:var(--texte-2);font-size:12px;font-weight:500;white-space:nowrap}
.btn[aria-busy="true"],.sp-cmd[aria-busy="true"]{opacity:.7;cursor:progress}
.pill{display:inline-flex;align-items:center;gap:7px;padding:5px 12px;border-radius:999px;background:#EDF2F6;color:var(--texte-2);font-size:12px;font-weight:800;white-space:nowrap}
.pill::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.pill--libre,.pill--ok{background:var(--vert-fond);color:var(--vert-texte)}
.pill--appel,.pill--alerte{background:var(--alerte-fond);color:var(--alerte)}
.pill--service{background:var(--bleu-fond);color:var(--bleu-texte)}
.pill--pause,.pill--critique{background:var(--critique-fond);color:var(--critique)}
.champ{display:flex;flex-direction:column;gap:7px;min-width:0;margin:0;padding:0;border:0}
.champ label,.champ legend{color:var(--texte);font-size:13px;font-weight:700}
.champ legend{margin-bottom:7px;padding:0}
.champ input:not([type=checkbox]):not([type=radio]),.champ textarea,.champ select,.form-ligne input,.lien-ligne input{width:100%;min-width:0;padding:10px 12px;border:1px solid var(--ligne-forte);border-radius:var(--rayon-petit);background:var(--blanc);color:var(--texte)}
.champ input:focus,.champ textarea:focus,.champ select:focus,.form-ligne input:focus{outline:none;border-color:var(--bleu-logo);box-shadow:0 0 0 3px rgba(26,153,206,.2)}
.champ textarea{min-height:100px;line-height:1.45;resize:vertical}
.champ input[type=file]{padding:9px;background:var(--tuile)}
input::file-selector-button{margin-right:12px;padding:7px 14px;border:1px solid var(--ligne-forte);border-radius:999px;background:var(--blanc);color:var(--texte);font:inherit;font-size:13px;font-weight:700;cursor:pointer}
::placeholder{color:#6F8798}
input[type=checkbox],input[type=radio]{width:18px;height:18px;margin:0;accent-color:var(--bleu)}
.champ-rang{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.champ-rang--2{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:480px){.champ-rang,.champ-rang--2{grid-template-columns:minmax(0,1fr)}}
.case{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:500}
.aide{margin:0;color:var(--texte-2);font-size:12px}
.annonce-ecoute{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.annonce-ecoute .btn{flex:none}
.annonce-boutons{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}
.erreur{margin:0;padding:10px 14px;border-radius:var(--rayon-petit);background:var(--critique-fond);color:var(--critique);font-size:14px}
.form-actions{display:flex;flex-wrap:wrap;gap:10px}
.form-ligne{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.form-ligne input{flex:1 1 220px;width:auto}
.choix-icones{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}
.choix-icones label,.choix-couleurs label{position:relative;cursor:pointer}
.choix-icones input,.choix-couleurs input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.case-icone{display:grid;place-items:center;aspect-ratio:1;border:1px solid var(--ligne-forte);border-radius:var(--rayon-petit);background:var(--blanc);color:var(--texte-2)}
.case-icone .ico{width:22px;height:22px}
.choix-icones input:checked+.case-icone{background:var(--bleu-fond);border-color:var(--bleu);color:var(--bleu)}
.choix-icones input:focus-visible+.case-icone,.choix-couleurs input:focus-visible+.case-couleur{outline:3px solid var(--focus);outline-offset:2px}
.choix-couleurs{display:flex;flex-wrap:wrap;gap:10px}
.case-couleur{display:block;width:32px;height:32px;border-radius:50%;background:var(--c)}
.choix-couleurs input:checked+.case-couleur{box-shadow:0 0 0 3px var(--blanc),0 0 0 5px var(--texte)}
.choix-postes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px}
.choix-postes label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500}
.choix-direction{grid-template-columns:repeat(3,56px)}
.interrupteur{position:relative;flex:none;width:46px;height:26px;padding:0;border:0;border-radius:999px;background:var(--ligne-forte);transition:background .15s}
.interrupteur::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#FFFFFF;box-shadow:0 1px 3px rgba(16,50,74,.3);transition:transform .15s}
.interrupteur[aria-checked="true"]{background:var(--vert)}
.interrupteur[aria-checked="true"]::after{transform:translateX(20px)}

/* Blocs communs */
.bloc{min-width:0;padding:22px;border-radius:var(--rayon);background:var(--blanc);border:1px solid var(--ligne);box-shadow:var(--ombre-douce)}
.bloc h3{margin:0 0 14px;font-size:19px}
.note{margin:6px 0 0;color:var(--texte-2);font-size:12px}
.bloc .note{margin:0 0 10px}
.vide{margin:0;color:var(--texte-2);font-size:14px}
.pi-tete h2,.sv-tete h2{margin:0;font-size:28px}
.pi-tete p,.sv-tete p{max-width:72ch;margin:6px 0 0;color:var(--texte-2)}

/* Mon poste */
.vue-large{display:flex;flex-direction:column;align-items:center}
.ecran-poste{width:100%;max-width:1360px;container-type:inline-size}
.poste{overflow:hidden;border-radius:28px;background:var(--blanc);border:1px solid var(--ligne);box-shadow:var(--ombre-douce)}
.po-haut{display:flex;flex-wrap:wrap;align-items:center;border-bottom:1px solid var(--ligne-douce)}
.po-haut>[data-rendu]{flex:1 1 0;min-width:240px}
.po-tete{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:18px 24px}
/* Recherche des postes, à droite de « Choisissez votre poste » ; sous le titre quand la place manque */
.po-recherche{flex:0 1 640px;min-width:0;padding:12px 24px}
.po-recherche .recherche-champ{flex-basis:220px}
@container (max-width:760px){.po-recherche{flex-basis:100%;padding:0 24px 16px}}
.choix-vide{padding:20px 24px 24px}
.po-nom{font-family:var(--f-titre);font-size:24px;font-weight:500}
.po-agent{display:inline-flex;align-items:center;gap:6px;color:var(--texte-2);font-size:14px}
.po-tete .btn{margin-left:auto}
.choix-intro{margin:0;padding:20px 24px 0;color:var(--texte-2)}
.choix-postes-ouvrir{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;padding:20px 24px 24px}
.choix-poste{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;padding:16px;border-radius:18px;background:var(--tuile);border:1px solid var(--ligne)}
.choix-poste strong{display:block;font-family:var(--f-titre);font-size:17px;font-weight:500}
.choix-poste small{display:block;margin-top:2px;color:var(--texte-2);font-size:12px}
.choix-poste .btn{grid-column:1/-1;justify-self:start}
.sp-corps{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}
.sp-gauche{display:flex;flex-direction:column;gap:18px;min-width:0;padding:24px;border-right:1px solid var(--ligne-douce)}
@container (max-width:760px){.sp-corps{grid-template-columns:minmax(0,1fr)}.sp-gauche{border-right:0;border-bottom:1px solid var(--ligne-douce)}}
/* Le patient en cours, sur le bleu du logo */
.sp-ticket{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:8px;padding:22px 24px;border-radius:22px;background:var(--carte-bleue);color:#FFFFFF;box-shadow:0 14px 34px rgba(11,120,171,.25)}
.sp-filigrane{position:absolute;right:-30px;top:-24px;width:200px;height:auto;opacity:.14;filter:brightness(0) invert(1);pointer-events:none}
.sp-lib{position:relative;display:flex;align-items:center;gap:10px;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.sp-ticket:not(.sp-vide) .sp-lib::before{content:"";flex:none;width:10px;height:10px;border-radius:50%;background:#A8DD5A;box-shadow:0 0 0 4px rgba(168,221,90,.3);animation:logo-pouls 1.6s ease-in-out infinite}
.sp-num{position:relative;font-family:var(--f-titre);font-size:clamp(56px,10cqw,112px);font-weight:600;line-height:.95;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.sp-svc{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:18px;font-weight:700}
.sp-svc i{width:12px;height:12px;border-radius:50%;background:var(--c);box-shadow:0 0 0 2px #FFFFFF}
.sp-svc b{color:#FFE3A3}
.sp-meta{position:relative;font-size:14px;font-weight:600;opacity:.92}
.sp-vide{background:var(--tuile);border:1px dashed var(--ligne-forte);color:var(--texte);box-shadow:none}
.sp-vide .sp-lib{color:var(--texte-2)}
.sp-vide .sp-num{color:var(--ligne-forte)}
.sp-vide .sp-svc{color:var(--texte-2);font-size:15px;font-weight:500}
.parcours{position:relative;display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 0;padding:0;list-style:none}
.parcours li{padding:5px 12px;border-radius:999px;background:rgba(255,255,255,.16);color:#FFFFFF;font-size:13px;font-weight:600}
.parcours li.fait::before{content:"✓ "}
.parcours li.encours{background:#FFFFFF;color:var(--bleu-texte);font-weight:800}
.sp-commandes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
@container (max-width:560px){.sp-commandes{grid-template-columns:repeat(2,minmax(0,1fr))}}
.sp-cmd{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:88px;padding:10px 8px;border-radius:20px;background:var(--blanc);border:1px solid var(--ligne-forte);color:var(--texte);font-size:14px;font-weight:700;line-height:1.2;text-align:center;transition:background .12s,border-color .12s,transform .06s}
.sp-cmd .ico{width:26px;height:26px;color:var(--bleu)}
.sp-cmd kbd{margin:0}
.sp-cmd:hover:not(:disabled){background:var(--bleu-fond);border-color:var(--bleu)}
.sp-cmd:active:not(:disabled){transform:translateY(1px)}
.sp-cmd:disabled{opacity:.4}
.sp-cmd--large{grid-column:span 2;flex-direction:row;gap:12px;font-size:17px}
/* Appel simplifié : Suivant et Rappeler, une rangée pleine (l'un sous l'autre quand la place manque) */
.sp-commandes--simple .sp-cmd{min-height:104px}
.sp-cmd--vif{background:var(--vert);border-color:var(--vert);color:var(--sur-vert);box-shadow:0 10px 26px rgba(126,186,38,.32)}
.sp-cmd--vif .ico{color:var(--sur-vert)}
.sp-cmd--vif:hover:not(:disabled){background:var(--vert-clair);border-color:var(--vert-clair)}
.sp-menu{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:16px;border-radius:20px;background:var(--tuile);border:1px solid var(--ligne)}
.sp-menu p{margin:0;font-weight:700}
.po-vers{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;width:100%}
.po-file{min-width:0;padding:22px 24px 24px}
.po-file h4{display:flex;align-items:center;gap:10px;margin:0 0 12px;font-size:20px}
.compte{display:inline-grid;place-items:center;min-width:32px;height:28px;padding:0 10px;border-radius:999px;background:var(--bleu);color:#FFFFFF;font-family:var(--f-titre);font-size:15px;font-weight:700}
.sp-files{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.sp-file{display:inline-flex;align-items:center;gap:8px;padding:5px 12px 5px 5px;border-radius:999px;background:var(--tuile);border:1px solid var(--ligne);font-size:13px}
.sp-file b{font-family:var(--f-titre);font-size:15px}
.po-file ol{display:flex;flex-direction:column;gap:8px;max-height:440px;margin:0;padding:0;overflow-y:auto;list-style:none}
.po-ticket{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px 14px;border-radius:16px;background:var(--tuile);border:1px solid var(--ligne-douce)}
.po-file .num{min-width:5ch;color:var(--bleu-num);font-family:var(--f-titre);font-size:22px;font-weight:600;font-variant-numeric:tabular-nums}
.po-file .info{display:flex;flex-direction:column;min-width:0;font-size:14px;overflow-wrap:anywhere}
.po-file .info small{color:var(--texte-2);font-size:12px}
/* Poste étroit (téléphone, Q2I) : moins de marges */
@container (max-width:480px){.po-file{padding:18px 16px 20px}}
/* File étroite (téléphone, ou colonne de droite d'un écran couché) : le numéro rétrécit, le service et l'attente
   gardent leur place. La file est son propre conteneur : la règle suit sa largeur à elle. */
.po-file{container-type:inline-size}
@container (max-width:420px){
  .po-ticket{gap:10px;padding:10px 12px}
  .po-file .num{min-width:0;font-size:19px}
}
.badge-prio{padding:3px 10px;border-radius:999px;background:var(--alerte-fond);color:var(--alerte);font-size:12px;font-weight:800}
.po-pied{display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px;padding:14px 24px;border-top:1px solid var(--ligne-douce);background:var(--tuile);color:var(--texte-2);font-size:14px}
.po-pied b{color:var(--texte);font-family:var(--f-titre);font-size:17px;font-weight:600}
.raccourcis{margin-left:auto;font-size:13px}
.raccourcis kbd{color:var(--texte)}
@container (max-width:560px){.raccourcis{display:none}}

/* Pilotage : le rapport d'activité d'une période (proposition B) */
.rp{display:flex;flex-direction:column;gap:20px}
.rp-rapport{display:flex;flex-direction:column;gap:22px}
.rp-filtres{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;padding:12px 14px;border:1px solid var(--ligne);border-radius:18px;background:var(--blanc)}
.segments{display:flex;flex-wrap:wrap;gap:4px;padding:4px;border-radius:999px;background:var(--tuile);border:1px solid var(--ligne)}
.segments button{min-height:36px;padding:0 16px;border:0;border-radius:999px;background:none;color:var(--texte-2);font-size:14px;font-weight:700}
.segments button:hover{color:var(--texte)}
.segments button[aria-pressed="true"]{background:var(--bleu);color:#FFFFFF;font-weight:800}
.rp-navigation{display:flex;align-items:center;gap:6px}
.rp-navigation>span{min-width:120px;text-align:center;font-weight:800}
.rp-rond{display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid var(--ligne-forte);border-radius:50%;background:var(--blanc);color:var(--texte)}
.rp-rond .ico{width:18px;height:18px;transform:rotate(180deg)}
.rp-rond--suivant .ico{transform:none}
.rp-rond:disabled{opacity:.35}
.rp-borne{display:flex;align-items:center;gap:8px;color:var(--texte-2);font-size:13px;font-weight:700}
.rp-borne select{min-height:40px;padding:0 12px;border:1px solid var(--ligne-forte);border-radius:var(--rayon-petit);background:var(--blanc);color:var(--texte);font-weight:600}
.rp-actions{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}
.rp-titre h2{margin:4px 0 0;font-size:34px;font-weight:500;line-height:1.15}
.rp-titre p{margin:4px 0 0;color:var(--texte-2)}
.rp-titre .rp-surtitre{margin:0}
.rp-surtitre{margin:0;color:var(--texte-2);font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.rp-carte{min-width:0;padding:22px 24px;border:1px solid var(--ligne);border-radius:var(--rayon);background:var(--blanc);box-shadow:var(--ombre-douce)}
.rp-carte h3{margin:0;font-size:20px;font-weight:500}
.rp-carte--colonne{display:flex;flex-direction:column}
.rp-rangee{display:flex;flex-wrap:wrap;gap:22px}
.rp-rangee>.rp-heros{flex:3 1 560px}
.rp-rangee>.rp-retenir{flex:2 1 360px}
.rp-deux{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,520px),1fr));gap:22px}
.rp-entete{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 16px}
.rp-entete p{margin:4px 0 0;color:var(--texte-2);font-size:13px}
.rp-entete .rp-entete-fait{margin:0;color:var(--texte);font-size:14px}
.rp-sous{margin:4px 0 0;color:var(--texte-2);font-size:13px}
.rp-note{margin:10px 0 0;color:var(--texte-3);font-size:13px}
.rp-rapport>.rp-note{margin:0}
.rp-defile{position:relative;overflow-x:auto;margin-top:14px}
.rp-ecart--bien{color:var(--vert-texte)}
.rp-ecart--mal{color:var(--critique)}
.rp-ecart--neutre{color:var(--texte-2)}
/* Le chiffre qui résume la période, et sa courbe */
.rp-heros-lib{margin:0;color:var(--texte-2);font-family:var(--f-texte);font-size:14px;font-weight:700}
.rp-carte .rp-heros-lib{font-size:14px}
.rp-heros-val{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px;margin-top:6px;color:var(--texte-2);font-size:15px}
.rp-heros-chiffre{color:var(--texte);font-family:var(--f-titre);font-size:72px;font-weight:600;line-height:1}
.rp-courbe{position:relative;height:200px;margin:22px 0 30px 40px}
.rp-courbe svg{display:block;width:100%;height:200px;overflow:visible}
.rp-courbe-y{position:absolute;left:-40px;transform:translateY(-50%);color:var(--texte-3);font-size:12px}
.rp-trait-base{stroke:var(--ligne);stroke-width:1;vector-effect:non-scaling-stroke}
.rp-trait-objectif{stroke:var(--texte);stroke-width:1.5;stroke-dasharray:6 5;vector-effect:non-scaling-stroke}
.rp-aire{fill:var(--bleu);fill-opacity:.1}
.rp-ligne{fill:none;stroke:var(--bleu);stroke-width:2;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.rp-point{position:absolute;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:var(--bleu);box-shadow:0 0 0 2px var(--blanc)}
.rp-point--petit{width:8px;height:8px;margin:-4px 0 0 -4px}
.rp-point-lib{position:absolute;transform:translate(-50%,10px);white-space:nowrap;font-size:12px;font-weight:700}
.rp-point-lib--haut{transform:translate(-50%,-150%);font-size:11px}
.rp-axe{position:absolute;left:0;right:0;bottom:-24px;height:16px;color:var(--texte-3);font-size:12px}
.rp-axe span{position:absolute;transform:translateX(-50%);white-space:nowrap}
.rp-axe span:first-child{transform:none}
.rp-axe span:last-child{transform:translateX(-100%)}
/* Ce qu'il faut retenir */
.rp-retenir{min-width:0;display:flex;flex-direction:column;gap:16px;padding:24px 26px;border-radius:var(--rayon);background:var(--texte);color:#FFFFFF}
.rp-retenir .rp-surtitre{color:var(--bleu-pale)}
.rp-retenir-liste{display:flex;flex-direction:column;gap:14px;margin:0;padding:0;list-style:none}
.rp-retenir-liste li{display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;align-items:start}
.rp-retenir-liste p{margin:6px 0 0;line-height:1.45}
.rp-rang{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.1);color:var(--bleu-pale);font-family:var(--f-titre);font-weight:600}
.rp-piste{margin-top:auto;padding:14px 16px;border-radius:16px;background:rgba(126,186,38,.16);border:1px solid rgba(126,186,38,.45)}
.rp-piste p{margin:4px 0 0}
.rp-piste .rp-piste-lib{margin:0;color:var(--vert-bord);font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
/* Les chiffres de la période, en bande */
.rp-bande{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));overflow:hidden;border:1px solid var(--ligne);border-radius:20px;background:var(--blanc)}
.rp-chiffre{display:flex;flex-direction:column;gap:2px;margin:0 -1px -1px 0;padding:16px 18px;border-right:1px solid var(--ligne-douce);border-bottom:1px solid var(--ligne-douce)}
.rp-chiffre-lib{color:var(--texte-2);font-size:13px;font-weight:700}
.rp-chiffre-val{font-family:var(--f-titre);font-size:28px;font-weight:600;line-height:1.15}
.rp-chiffre-sous{color:var(--texte-3);font-size:13px}
/* Affluence : jour de la semaine × heure */
.rp-carte-chaleur{display:flex;flex-direction:column;gap:3px;margin:0}
.rp-chaleur-ligne{display:grid;gap:3px;align-items:center}
.rp-chaleur-heures{color:var(--texte-3);font-size:12px;text-align:center}
.rp-chaleur-jour{color:var(--texte-2);font-size:13px;font-weight:700}
.rp-case{display:grid;place-items:center;height:36px;border-radius:4px;color:#FFFFFF;font-size:12px;font-weight:800}
.rp-legende{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:14px;color:var(--texte-2);font-size:12px}
.rp-legende span{display:flex;align-items:center;gap:6px}
.rp-legende i{display:block;width:16px;height:16px;border-radius:4px}
.rp-carte h3+.rp-legende{margin-top:8px}
/* Attentes par service : médiane, 9 patients sur 10 et délai visé */
.rp-cle-point{width:10px!important;height:10px!important;border-radius:50%!important;background:var(--bleu)}
.rp-cle-barre{width:22px!important;height:8px!important;border-radius:999px!important;background:#A7D4EC}
.rp-cle-vise{width:2px!important;height:14px!important;border-radius:0!important;background:var(--texte)}
.rp-plages{display:flex;flex-direction:column;gap:12px;margin-top:16px}
.rp-plage{display:grid;grid-template-columns:minmax(120px,170px) minmax(0,1fr) 74px;align-items:center;gap:12px}
.rp-plage-nom{display:flex;align-items:center;gap:8px;min-width:0;font-size:14px;font-weight:600}
.rp-plage-nom .pastille{flex:none}
.rp-plage-nom span:last-child{min-width:0;overflow-wrap:anywhere}
.rp-piste-plage{position:relative;display:block;height:24px}
.rp-piste-plage::before{content:"";position:absolute;left:0;right:0;top:12px;height:1px;background:var(--ligne-douce)}
.rp-plage-barre{position:absolute;top:8px;height:8px;border-radius:999px;background:#A7D4EC}
.rp-plage-vise{position:absolute;top:2px;width:2px;height:20px;margin-left:-1px;background:var(--texte)}
.rp-plage-point{position:absolute;top:12px;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:var(--bleu);box-shadow:0 0 0 2px var(--blanc)}
.rp-plage-taux{display:flex;flex-direction:column;text-align:right;font-size:13px;font-variant-numeric:tabular-nums}
.rp-plage-taux small{color:var(--texte-3);font-size:12px}
.rp-sous-objectif{color:var(--alerte)}
.rp-plage-axe{margin-top:-4px;color:var(--texte-3);font-size:12px}
.rp-plage-graduations{display:flex;justify-content:space-between}
/* Barres classées (parcours, postes) */
.rp-barres{display:flex;flex-direction:column;gap:14px;margin-top:18px}
.rp-barre-tete{display:flex;justify-content:space-between;gap:12px;font-size:14px;font-variant-numeric:tabular-nums}
.rp-barre-tete span:first-child{font-weight:600}
.rp-barre-tete span:last-child{color:var(--texte-3);white-space:nowrap}
.rp-barre-tete b{color:var(--texte)}
.rp-barre{display:block;flex:1;height:14px;margin-top:6px}
.rp-barre>span{display:block;height:14px;border-radius:0 4px 4px 0;background:var(--bleu)}
.rp-carte--colonne .rp-note{margin-top:auto;padding-top:16px}
/* Jour après jour : trois petits graphiques, chacun son échelle */
.rp-petits{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:20px 28px;margin-top:16px}
.rp-petit{min-width:0}
.rp-petit-tete{display:flex;justify-content:space-between;align-items:baseline;gap:8px;color:var(--texte-3);font-size:13px}
.rp-petit-tete span:first-child{color:var(--texte-2);font-weight:700}
.rp-petit-tete b{color:var(--texte);font-family:var(--f-titre);font-size:20px;font-weight:600}
.rp-petit-courbe{position:relative;height:90px;margin-top:24px}
.rp-petit-courbe svg{display:block;width:100%;height:90px;overflow:visible}
.rp-petit-axe{display:flex;justify-content:space-between;margin-top:4px;color:var(--texte-3);font-size:11px}
/* Charge des postes */
.rp-table{width:100%;min-width:720px;border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums}
.rp-table th,.rp-table td{padding:11px 10px;text-align:left}
.rp-table thead th{color:var(--texte-2);font-size:12px;font-weight:800}
.rp-table tbody tr{border-top:1px solid var(--ligne-douce)}
.rp-table tbody th{font-weight:600}
.rp-table .n{text-align:right}
.rp-col-barre{width:36%}
.rp-col-jauge{width:22%}
.rp-cellule-barre{display:flex;align-items:center;gap:10px}
.rp-cellule-barre .rp-barre{margin-top:0}
.rp-cellule-barre b{width:52px;text-align:right}
.rp-jauge{position:relative;flex:1;height:8px;border-radius:999px;background:var(--bleu-pale)}
.rp-jauge>span{position:absolute;left:0;top:0;bottom:0;border-radius:999px;background:var(--bleu)}
@media (max-width:560px){.rp-titre h2{font-size:28px}.rp-heros-chiffre{font-size:56px}.rp-plage{grid-template-columns:minmax(0,1fr) 64px}.rp-plage-nom{grid-column:1/-1}.rp-plage .rp-piste-plage{grid-column:1}.rp-plage-axe>span:first-child{display:none}}

/* Services et postes */
.services-vue,.videos-vue{display:flex;flex-direction:column;gap:20px}
.sv-tete{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px}
.sv-grille{display:grid;grid-template-columns:minmax(0,1fr);gap:22px;align-items:start}
.sv-grille:has(.sv-panneau:not([hidden])){grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}
@media (max-width:960px){.sv-grille:has(.sv-panneau:not([hidden])){grid-template-columns:minmax(0,1fr)}}
.sv-liste{display:flex;flex-direction:column;gap:10px}
.sv-ligne,.ps-ligne{display:grid;align-items:center;gap:10px 14px;padding:14px 16px;border-radius:18px;background:var(--blanc);border:1px solid var(--ligne);box-shadow:var(--ombre-douce)}
.sv-ligne{grid-template-columns:auto auto minmax(0,1fr) auto auto}
.ps-ligne{grid-template-columns:auto minmax(0,1fr) auto auto}
.sv-ligne.inactif,.ps-ligne.inactif{background:var(--tuile);box-shadow:none}
.sv-ligne.inactif :is(.sv-info,.sv-icone,.pastille),.ps-ligne.inactif .sv-info{opacity:.5}
.sv-ligne.en-edition,.ps-ligne.en-edition{border-color:var(--bleu-logo);box-shadow:inset 0 0 0 1px var(--bleu-logo)}
.sv-icone{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:color-mix(in srgb,var(--c) 12%,#FFFFFF);color:var(--c)}
.sv-icone .ico{width:22px;height:22px}
.sv-info{display:flex;flex-direction:column;min-width:0}
.sv-info strong{font-size:15px}
.sv-info span{color:var(--texte-2);font-size:13px}
.sv-info small{margin-top:2px;color:var(--texte-3);font-size:12px}
.sv-actif{display:flex;align-items:center;gap:10px;color:var(--texte-2);font-size:13px}
/* Modifier et Supprimer, côte à côte au bout d'une ligne (services, utilisateurs) */
.ligne-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:6px}
@media (max-width:640px){.sv-ligne{grid-template-columns:auto minmax(0,1fr) auto}.sv-icone{display:none}.sv-ligne .btn-petit,.sv-ligne>.ligne-actions{grid-column:2/-1;justify-self:start}}
.sv-panneau{position:sticky;top:96px;padding:22px;border-radius:var(--rayon);background:var(--blanc);border:1px solid var(--ligne-forte);box-shadow:var(--ombre)}
@media (max-width:960px){.sv-panneau{position:static}}
#sv-form,#ps-form{display:flex;flex-direction:column;gap:16px}
#sv-form h3,#ps-form h3{margin:0;font-size:20px}
.ps-dir{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--bleu-fond);color:var(--bleu)}
.ps-dir .ico{width:22px;height:22px}
.ps-services{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}
.ps-services .pastille{width:auto;min-width:1.75em;padding:0 6px;border-radius:999px;font-size:12px}
.ps-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}
@media (max-width:640px){.ps-ligne{grid-template-columns:auto minmax(0,1fr)}.ps-ligne .pill,.ps-actions{grid-column:2;justify-self:start}}

/* Utilisateurs et profils */
.ut-ligne{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto auto;align-items:center;gap:10px 14px;padding:14px 16px;border-radius:18px;background:var(--blanc);border:1px solid var(--ligne);box-shadow:var(--ombre-douce)}
.ut-ligne.inactif{background:var(--tuile);box-shadow:none}
.ut-ligne.inactif :is(.sv-info,.ut-avatar,.pill){opacity:.55}
.ut-ligne.en-edition{border-color:var(--bleu-logo);box-shadow:inset 0 0 0 1px var(--bleu-logo)}
.borne-carte.en-edition{border-color:var(--bleu-logo);box-shadow:inset 0 0 0 1px var(--bleu-logo)}
.ut-avatar{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:50%;background:#E6EBF1;color:var(--texte);font-family:var(--f-titre);font-size:16px;font-weight:600}
/* Une teinte par profil, dans l'ordre de la liste des profils */
.ut-avatar--t0{background:var(--bleu);color:#FFFFFF}
.ut-avatar--t1{background:var(--vert);color:var(--sur-vert)}
.ut-avatar--t2{background:#1F7F8C;color:#FFFFFF}
.ut-avatar--t3{background:var(--texte);color:#FFFFFF}
.ut-avatar--t4{background:#5B4BB7;color:#FFFFFF}
.ut-avatar--principal{background:var(--texte);color:#FFFFFF}
.ut-avatar .ico{width:22px;height:22px}
.ut-moi{margin-left:8px;padding:1px 8px;border-radius:999px;background:var(--bleu-fond);color:var(--bleu-texte);font-size:11px;font-weight:800;vertical-align:2px}
.pill--profil-t0{background:var(--bleu-fond);color:var(--bleu-texte)}
.pill--profil-t1{background:var(--vert-fond);color:var(--vert-texte)}
.pill--profil-t2{background:#E0F2F3;color:#16606A}
.pill--profil-t3,.pill--profil-principal{background:#E6EBF1;color:var(--texte)}
.pill--profil-t4{background:#ECE9F8;color:#4A3C9C}
.pill--profil-aucun{background:var(--critique-fond);color:var(--critique)}
@media (max-width:720px){.ut-ligne{grid-template-columns:auto minmax(0,1fr)}.ut-ligne>:nth-child(n+3){grid-column:2;justify-self:start}}
.recherche{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}
.recherche-champ{position:relative;display:flex;align-items:center;flex:1 1 320px;max-width:560px}
.recherche-champ .ico{position:absolute;left:15px;width:20px;height:20px;color:var(--texte-2);pointer-events:none}
.recherche-champ input{width:100%;padding:11px 16px 11px 46px;border:1px solid var(--ligne-forte);border-radius:999px;background:var(--blanc);color:var(--texte);box-shadow:var(--ombre-douce)}
.recherche-champ input:focus{outline:none;border-color:var(--bleu-logo);box-shadow:0 0 0 3px rgba(26,153,206,.2)}
.recherche-compte{color:var(--texte-2);font-size:13px;font-weight:600}
.recherche-compte:empty{display:none}
.bloc>.recherche{margin-bottom:14px}
/* Données en liste ou en kanban : le choix au bout de la recherche ; en kanban, une colonne par groupe et les fiches
   en cartes. Les colonnes gardent une largeur lisible et défilent de côté quand elles sont nombreuses. */
.affichage{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-left:auto}
.affichage:empty{display:none}
.segments--petit{flex-wrap:nowrap}
.segments--petit button{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 12px;font-size:13px}
.segments--petit .ico{width:16px;height:16px}
.affichage-colonnes{display:flex;align-items:center;gap:8px;color:var(--texte-2);font-size:13px;font-weight:700}
.affichage-colonnes select{padding:7px 12px;border:1px solid var(--ligne-forte);border-radius:999px;background:var(--blanc);color:var(--texte);font-size:13px;font-weight:700}
.affichage-colonnes select:focus{outline:none;border-color:var(--bleu-logo);box-shadow:0 0 0 3px rgba(26,153,206,.2)}
.kanban{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(272px,1fr);gap:14px;align-items:start;overflow-x:auto;padding-bottom:6px;scroll-snap-type:x proximity;overscroll-behavior-x:contain}
.kanban--large{grid-auto-columns:minmax(320px,1fr)}
@media (max-width:640px){.kanban,.kanban--large{grid-auto-columns:minmax(240px,86%)}}
.kb-colonne{--c:var(--ligne-forte);display:flex;flex-direction:column;gap:10px;min-width:0;padding:12px;border-radius:20px;background:var(--tuile);border:1px solid var(--ligne);border-top:4px solid var(--c);scroll-snap-align:start}
.kb-colonne.inactif>.kb-tete{opacity:.6}
.kb-tete{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;padding:2px 4px}
.kb-tete>strong{flex:1 1 0;min-width:0;font-family:var(--f-titre);font-size:16px;font-weight:600;overflow-wrap:anywhere}
.kb-compte{display:inline-grid;place-items:center;min-width:28px;height:24px;padding:0 8px;border-radius:999px;background:var(--blanc);border:1px solid var(--ligne);font-family:var(--f-titre);font-size:13px;font-weight:700}
.kb-tete>small{flex-basis:100%;color:var(--texte-2);font-size:12px}
.kb-actions{display:flex;flex-basis:100%;flex-wrap:wrap;gap:6px;margin-top:4px}
.kb-cartes{display:flex;flex-direction:column;gap:8px;min-width:0}
.kb-vide{margin:0;padding:14px 10px;border:1px dashed var(--ligne-forte);border-radius:14px;color:var(--texte-2);font-size:13px;text-align:center}
.kb-pied{display:flex;justify-content:center}
.kb-carte{display:flex;flex-direction:column;min-width:0;padding:4px 14px;border-radius:18px;background:var(--blanc);border:1px solid var(--ligne);box-shadow:var(--ombre-douce)}
.kb-carte>:last-child{border-bottom:0}
.kb-carte.en-edition{border-color:var(--bleu-logo);box-shadow:inset 0 0 0 1px var(--bleu-logo)}
.kb-carte.inactif{background:var(--tuile);box-shadow:none}
/* Les lignes deviennent des cartes : le nom en haut, l'état et les commandes dessous */
.kanban :is(.sv-ligne,.ps-ligne,.ut-ligne,.pr-ligne){display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;padding:12px 14px}
.kanban :is(.sv-ligne,.ps-ligne,.ut-ligne,.pr-ligne)>.sv-info{flex:1 1 calc(100% - 64px)}
.kanban .sv-ligne .sv-icone{display:none}
.kanban :is(.ligne-actions,.ps-actions,.pr-ligne>.btn){margin-left:auto}
.kanban :is(.choix-poste,.po-ticket,.vi-ligne){background:var(--blanc)}
.kanban .vi-ligne{display:flex;flex-direction:column;align-items:stretch;gap:10px;padding:10px}
.kanban .vi-apercu{width:100%}
.kanban .vi-ou{grid-template-columns:repeat(4,auto);justify-content:start}
.kanban .vi-actions{justify-content:flex-end}
.vi-grille:has(.kanban){grid-template-columns:minmax(0,1fr)}
/* Mon poste : une colonne par service (son nom n'est donc pas répété sur la carte) ; le numéro et « Appeler » en
   haut, puis « Prioritaire » et l'attente */
.po-file-tete{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;margin-bottom:12px}
.po-file-tete h4{margin:0}
.po-file-tete .affichage{margin-left:0}
.po-file .kanban{grid-auto-columns:minmax(210px,1fr)}
.po-file .kb-cartes{max-height:440px;overflow-y:auto}
.kanban .po-ticket{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"num appel" "prio prio" "info info";gap:0 10px;padding:10px 12px}
.kanban .po-ticket .num{grid-area:num}
.kanban .po-ticket .btn-mini{grid-area:appel}
.kanban .po-ticket .prio{grid-area:prio;margin-top:6px}
.kanban .po-ticket .prio:empty,.kanban .po-ticket .info>span:first-child{display:none}
.kanban .po-ticket .info{grid-area:info;margin-top:4px;overflow-wrap:normal}
.choix-kanban{padding:20px 24px 24px}
@container (max-width:480px){.choix-kanban{padding:16px}}
/* Bornes et écrans : la borne de tickets et chaque écran en carte */
.kanban .ec-ligne{grid-template-columns:auto minmax(0,1fr);padding:12px 14px;border:1px solid var(--ligne);border-radius:18px;background:var(--blanc);box-shadow:var(--ombre-douce)}
.kanban .ec-ligne:last-child{border-bottom:1px solid var(--ligne)}
.kanban .ec-ligne :is(.lien-actions,.ec-postes,input,small){grid-column:1/-1}
.kanban .ec-ligne.en-edition{margin:0;border-color:var(--bleu-logo);background:var(--blanc);box-shadow:inset 0 0 0 1px var(--bleu-logo)}
.kanban .bc-tete{grid-template-columns:auto minmax(0,1fr);padding:12px 0 6px}
.kanban .bc-tete .lien-actions{grid-column:1/-1}
.kanban :is(.bc-poste,.bc-carte .lien-ligne){grid-template-columns:minmax(0,1fr)}
.kanban .bc-postes-liste{padding-left:0}
#ut-form,#pr-form{display:flex;flex-direction:column;gap:16px}
:is(#ut-form,#pr-form) h3{margin:0;font-size:20px}
#ut-form .choix-postes label:has(input:disabled){color:var(--texte-2)}
/* Profils : une ligne par profil avec ses droits, et une fiche aux droits cochés par rubrique */
.pr-ligne{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px 14px;padding:14px 16px;border-radius:18px;background:var(--blanc);border:1px solid var(--ligne);box-shadow:var(--ombre-douce)}
.pr-ligne.en-edition{border-color:var(--bleu-logo);box-shadow:inset 0 0 0 1px var(--bleu-logo)}
.pr-droits{display:flex;flex-wrap:wrap;gap:4px;margin:4px 0 2px}
.pr-droit{padding:2px 9px;border-radius:999px;background:var(--fond);border:1px solid var(--ligne);color:var(--texte);font-size:12px;font-weight:600}
@media (max-width:640px){.pr-ligne{grid-template-columns:auto minmax(0,1fr)}.pr-ligne>.btn{grid-column:2;justify-self:start}}
.pr-rubrique{display:flex;flex-direction:column;gap:6px}
.pr-rubrique legend{margin-bottom:4px}
.champ .pr-case{align-items:flex-start;gap:12px;padding:10px 12px;border:1px solid var(--ligne);border-radius:12px;background:var(--blanc);cursor:pointer}
.pr-case input{margin-top:2px;flex:none}
.pr-case span{display:flex;flex-direction:column;gap:2px}
.pr-case strong{font-size:14px}
.pr-case small{color:var(--texte-2);font-size:12px;font-weight:500}
.champ .pr-case:has(input:checked){border-color:var(--bleu);background:var(--bleu-fond)}
.facultatif{margin-left:6px;color:var(--texte-2);font-size:12px;font-weight:500}
.pr-supprimer{margin-left:auto}
.choix-roles{display:flex;flex-direction:column;gap:8px}
.champ .choix-role{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border:1px solid var(--ligne-forte);border-radius:14px;background:var(--blanc);font-weight:500;cursor:pointer}
.choix-role input{margin-top:2px}
.choix-role span{display:flex;flex-direction:column;gap:2px}
.choix-role strong{font-size:14px}
.choix-role small{color:var(--texte-2);font-size:12px}
.champ .choix-role:has(input:checked){border-color:var(--bleu);background:var(--bleu-fond);box-shadow:inset 0 0 0 1px var(--bleu)}
.champ .choix-role:has(input:disabled){cursor:not-allowed}

/* Bornes et écrans, réglages */
.ecrans-vue,.reglages-vue{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;align-items:start}
.reglages-vue{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}
.reglages-cote{display:flex;flex-direction:column;gap:22px;min-width:0}
.bloc-apk .form-actions{margin-bottom:12px}
.ecrans-vue{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)}
@media (max-width:980px){.ecrans-vue,.reglages-vue{grid-template-columns:minmax(0,1fr)}}
.lien-ligne{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 10px;padding:14px 0;border-bottom:1px solid var(--ligne-douce)}
.lien-ligne:last-child{border-bottom:0}
.lien-ligne strong{font-size:14px}
.lien-ligne input{grid-column:1/-1;background:var(--tuile);font-family:var(--f-titre);font-size:13px}
.lien-ligne small{grid-column:1/-1;color:var(--texte-2);font-size:12px}
.lien-actions{display:flex;flex-wrap:wrap;gap:6px}
.bloc-tete{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.bloc-tete h3{margin:0}
/* Listes rangées par borne ; une fiche par borne dans « Bornes et écrans » */
.groupe-borne{margin:10px 0 0;padding-left:4px;color:var(--texte-2);font-family:var(--f-texte);font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.groupe-borne:first-child{margin-top:0}
.borne-carte{display:flex;flex-direction:column;gap:4px;padding:18px 20px;border-radius:var(--rayon);background:var(--blanc);border:1px solid var(--ligne);box-shadow:var(--ombre-douce)}
.borne-carte.inactif{background:var(--tuile);box-shadow:none}
.borne-carte.inactif .bc-tete .sv-info{opacity:.6}
.bc-tete{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:12px;padding-bottom:6px}
.bc-tete .sv-info strong{font-size:18px}
.bc-tete .sv-info strong small{margin-left:6px;color:var(--critique);font-size:12px;font-weight:800}
.bc-ecrans{margin-top:6px;padding-top:12px;border-top:1px solid var(--ligne-douce)}
/* Le poste de la borne et les services que sa borne de tickets propose */
.bc-poste{display:grid;grid-template-columns:auto minmax(0,320px);align-items:center;gap:8px 14px;padding:12px 0;border-bottom:1px solid var(--ligne-douce)}
.bc-poste label{font-size:14px;font-weight:700}
.bc-poste select{width:100%;min-width:0;padding:10px 12px;border:1px solid var(--ligne-forte);border-radius:var(--rayon-petit);background:var(--blanc);color:var(--texte);font-weight:600}
.bc-poste select:focus{outline:none;border-color:var(--bleu-logo);box-shadow:0 0 0 3px rgba(26,153,206,.2)}
.bc-proposes{grid-column:1/-1;display:flex;flex-direction:column;gap:6px}
.bc-proposes small{color:var(--texte-2);font-size:13px}
.bc-services{display:flex;flex-wrap:wrap;gap:6px}
.bc-service{display:inline-flex;align-items:center;gap:6px;padding:3px 10px 3px 4px;border:1px solid var(--ligne);border-radius:999px;background:var(--fond);font-size:13px;font-weight:600}
.bc-service .pastille{width:auto;min-width:1.75em;padding:0 6px;border-radius:999px;font-size:12px}
@media (max-width:640px){.bc-poste{grid-template-columns:minmax(0,1fr)}}
.bc-ecrans h4{margin:0;font-family:var(--f-titre);font-size:15px;font-weight:600}
/* Bornes de tickets des postes : une liste repliable sous le lien de la borne */
.bc-postes{border-bottom:1px solid var(--ligne-douce)}
.bc-postes-tete{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:12px 0;border:0;background:none;color:var(--texte);text-align:left}
.bc-postes-tete>.ico{width:20px;height:20px;color:var(--bleu)}
.bc-postes-tete span{display:flex;flex-direction:column;gap:2px}
.bc-postes-tete small{color:var(--texte-2);font-size:13px}
.bc-postes-tete>.ico:last-child{transform:rotate(90deg);transition:transform .15s}
.bc-postes-tete[aria-expanded="true"]>.ico:last-child{transform:rotate(-90deg)}
.bc-postes-liste{padding:0 0 4px 30px}
.bc-postes-liste .lien-ligne:last-child{border-bottom:0}
.bc-ajout{flex:0 1 460px;margin-top:0}
/* En tête de Bornes et écrans : la borne de tickets qui réunit plusieurs bornes, ses services sous le nom de leur borne */
.borne-reunie{border-color:var(--bleu-pale)}
.br-choix{margin:0;padding:12px 0;border:0;border-bottom:1px solid var(--ligne-douce)}
.br-choix legend{padding:0 0 8px;font-size:14px;font-weight:700}
.br-aide{padding-top:12px}
.br-proposes{padding:12px 0;border-bottom:1px solid var(--ligne-douce)}
.br-borne{display:grid;grid-template-columns:minmax(120px,max-content) minmax(0,1fr);align-items:center;gap:6px 12px}
.br-borne>strong{color:var(--bleu-texte);font-size:13px;letter-spacing:.04em}
.borne-reunie .lien-ligne{border-bottom:0;padding-bottom:0}
@media (max-width:640px){.br-borne{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){.bc-tete{grid-template-columns:auto minmax(0,1fr)}.bc-tete .lien-actions{grid-column:2}}
/* Écrans d'affichage : un écran par ligne, avec ses postes */
.ec-ligne{grid-template-columns:auto minmax(0,1fr) auto;gap:8px 12px}
.ec-ligne .ec-postes,.ec-ligne input,.ec-ligne small{grid-column:2/-1}
.ec-ligne.en-edition{margin:0 -12px;padding:14px 12px;border-radius:14px;background:var(--bleu-fond)}
.ec-ligne .lien-actions{align-items:center}
.ec-type{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--bleu-fond);color:var(--bleu)}
.ec-type--porte{background:var(--vert-fond);color:var(--vert-texte)}
.ec-type .ico{width:22px;height:22px}
.ec-postes{display:flex;flex-wrap:wrap;gap:5px}
.ec-poste{padding:3px 10px;border:1px solid var(--ligne);border-radius:999px;background:var(--tuile);color:var(--texte);font-size:12px;font-weight:700}
.ec-poste--tous{border-color:var(--bleu-pale);background:var(--bleu-fond);color:var(--bleu-texte)}
.ec-poste--alerte{border-color:transparent;background:var(--alerte-fond);color:var(--alerte)}
.ec-poste.inactif{opacity:.55;text-decoration:line-through}
.ec-panneau{margin:4px 0 10px;padding:20px;border-radius:18px;background:var(--blanc);border:1px solid var(--ligne-forte);box-shadow:var(--ombre)}
#ec-form,#bo-form{display:flex;flex-direction:column;gap:16px}
#bo-form h3{margin:0;font-size:20px}
#ec-form h3{margin:0;font-size:20px}
.choix-roles.ec-sortes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.ec-portee{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}
#ec-form .case small,#ec-form .choix-postes small{color:var(--texte-2);font-weight:500}
#ec-form:has(input[name=sorte][value=tele]:checked) [data-pour=porte],
#ec-form:has(input[name=sorte][value=porte]:checked) [data-pour=tele],
#ec-form:has(input[name=tous][value="1"]:checked) .ec-choix{display:none}
@media (max-width:640px){.ec-ligne{grid-template-columns:auto minmax(0,1fr)}.ec-ligne .lien-actions{grid-column:2}.choix-roles.ec-sortes{grid-template-columns:minmax(0,1fr)}}
.reglages-vue form{display:flex;flex-direction:column;gap:16px}
.logo-apercu{display:grid;place-items:center;min-height:96px;margin-bottom:14px;padding:16px;border-radius:var(--rayon);background:var(--tuile);border:1px dashed var(--ligne-forte)}
.logo-apercu img{width:auto;max-height:72px}

/* Vidéos des écrans */
.vi-grille{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:22px;align-items:start}
@media (max-width:980px){.vi-grille{grid-template-columns:minmax(0,1fr)}}
#video-form{display:flex;flex-direction:column;gap:16px}
#video-form .case+.case{margin-top:8px}
.vi-progression{height:8px;overflow:hidden;border-radius:999px;background:var(--ligne-douce)}
.vi-progression span{display:block;width:0;height:100%;border-radius:inherit;background:var(--bleu-logo);transition:width .2s}
.vi-liste{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none}
.vi-ligne{display:grid;grid-template-columns:150px minmax(0,1fr) auto auto;align-items:center;gap:12px 16px;padding:12px;border-radius:18px;background:var(--tuile);border:1px solid var(--ligne)}
.vi-apercu{display:block;width:150px;aspect-ratio:16/9;border-radius:12px;background:#10324A;object-fit:cover}
.vi-info{display:flex;flex-direction:column;gap:3px;min-width:0}
.vi-info strong{overflow:hidden;font-size:15px;white-space:nowrap;text-overflow:ellipsis}
.vi-info small{color:var(--texte-2);font-size:12px}
/* Renommer une vidéo : le titre devient un champ, sur sa ligne */
.vi-titre{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.vi-titre input{flex:1 1 180px;min-width:0;padding:8px 12px;border:1px solid var(--ligne-forte);border-radius:var(--rayon-petit);background:var(--blanc);color:var(--texte);font-weight:600}
.vi-titre input:focus{outline:none;border-color:var(--bleu-logo);box-shadow:0 0 0 3px rgba(26,153,206,.2)}
.vi-ou{display:grid;grid-template-columns:auto auto;align-items:center;gap:8px 10px;color:var(--texte-2);font-size:13px}
.vi-actions{display:flex;gap:4px}
@media (max-width:720px){.vi-ligne{grid-template-columns:110px minmax(0,1fr)}.vi-apercu{width:110px}.vi-ou,.vi-actions{grid-column:1/-1}.vi-ou{grid-template-columns:repeat(4,auto);justify-content:start}}

/* Connexion */
.page-connexion{display:grid;place-items:center;min-height:100vh;min-height:100dvh;padding-block:24px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));background:radial-gradient(60% 50% at 50% 30%,rgba(26,153,206,.14),rgba(26,153,206,0)),var(--fond)}
.connexion{display:flex;flex-direction:column;gap:16px;width:min(100%,420px);padding:32px;border-radius:28px;background:var(--blanc);border:1px solid var(--ligne);box-shadow:var(--ombre)}
.connexion>img{align-self:center;width:auto;height:48px}
.connexion h1{margin:8px 0 0;font-size:26px;text-align:center}
.connexion-sous{margin:-8px 0 0;color:var(--texte-2);text-align:center}
.connexion-form{display:flex;flex-direction:column;gap:16px}
.connexion .btn{justify-content:center}
/* Mot de passe : l'œil pour l'afficher ou le masquer, dans le champ, à droite */
.champ-mdp{position:relative}
.champ .champ-mdp input:not([type=checkbox]):not([type=radio]){padding-right:52px}
.champ-mdp input::-ms-reveal{display:none}
.mdp-oeil{position:absolute;top:50%;right:4px;display:grid;place-items:center;width:44px;height:44px;margin-top:-22px;padding:0;border:0;border-radius:12px;background:none;color:var(--texte-2);cursor:pointer}
.mdp-oeil:hover{color:var(--texte)}
.mdp-oeil:focus-visible{outline:2px solid var(--bleu-logo);outline-offset:-2px}
.mdp-oeil svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.mdp-oeil .oeil-ferme,.mdp-oeil[aria-pressed="true"] .oeil-ouvert{display:none}
.mdp-oeil[aria-pressed="true"] .oeil-ferme{display:block}
/* Choix de l'appareil, après la connexion dans l'application Android */
.appareil{width:min(100%,560px)}
.appareil-choix{display:flex;flex-direction:column;gap:10px}
.appareil-choix h2{margin:14px 0 0;color:var(--texte-2);font-size:13px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.appareil-option{display:flex;flex-direction:column;gap:3px;padding:14px 16px;border:1px solid var(--ligne-forte);border-radius:16px;background:var(--blanc);color:var(--texte);text-align:left}
.appareil-option strong{font-family:var(--f-titre);font-size:17px;font-weight:500}
.appareil-option span{color:var(--texte-2);font-size:13px}
.appareil-option:hover,.appareil-option:focus-visible{border-color:var(--bleu);background:var(--bleu-fond);outline:none;box-shadow:inset 0 0 0 2px var(--bleu)}
.appareil-option--borne strong::before{content:"";display:inline-block;width:9px;height:9px;margin-right:8px;border-radius:50%;background:var(--vert);vertical-align:2px}
.appareil-postes{display:flex;flex-direction:column;gap:8px;padding:12px 16px;border:1px dashed var(--ligne-forte);border-radius:16px}
.appareil-postes>span{color:var(--texte-2);font-size:13px;font-weight:700}
.appareil-postes>div{display:flex;flex-wrap:wrap;gap:8px}
.appareil-poste{padding:8px 12px;border:1px solid var(--ligne-forte);border-radius:999px;background:var(--blanc);color:var(--texte);font-size:14px;font-weight:600}
.appareil-poste:hover,.appareil-poste:focus-visible{border-color:var(--bleu);background:var(--bleu-fond);outline:none;box-shadow:inset 0 0 0 2px var(--bleu)}
.appareil-pied{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
/* Recherche dans les choix (bornes, postes, écrans), sous le compte connecté */
.appareil-recherche .recherche-champ{max-width:none}
/* Écran large (tablette couchée, télé, ordinateur) : la page s'élargit et les écrans se rangent sur deux colonnes,
   moins de défilement à la télécommande */
@media (min-width:900px){
  .appareil{width:min(100%,960px)}
  .appareil-choix{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}
  .appareil-choix>:is(h2,.appareil-postes,.aide,.appareil-option--borne,[value="gestion"],.appareil-kanban){grid-column:1/-1}
}
/* Les choix en kanban : une colonne par borne, la page prend la largeur de l'écran */
.appareil.appareil--kanban{width:min(100%,1400px)}
.appareil-kanban .kb-colonne>h2{margin:0 4px}
.appareil-pied:not(:has(:not([hidden]))){display:none}
.appareil-compte{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-top:-4px;padding:10px 12px 10px 16px;border-radius:16px;background:var(--fond);border:1px solid var(--ligne)}
.appareil-compte span{display:flex;flex-direction:column;color:var(--texte-2);font-size:13px}
.appareil-compte strong{color:var(--texte);font-size:15px}
.appareil-compte form{margin:0}

/* Messages et perte de connexion */
.toasts{position:fixed;left:50%;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:60;display:flex;flex-direction:column;gap:8px;width:min(520px,calc(100% - 32px));transform:translateX(-50%);pointer-events:none}
.toast{padding:13px 18px;border-radius:16px;background:var(--texte);color:#FFFFFF;font-size:14px;font-weight:600;box-shadow:0 12px 32px rgba(16,50,74,.3);animation:toast .25s ease-out}
.toast--erreur{background:var(--critique-plein);color:#FFFFFF}
.hors-ligne{position:fixed;top:0;left:0;right:0;z-index:70;padding-block:10px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));background:var(--critique-plein);color:#FFFFFF;font-weight:700;text-align:center}

/* Très grands écrans (2K, 4K ou télé à 100 %) : l'espace du personnel, la connexion et le choix de l'appareil
   grandissent avec l'écran au lieu de rester minuscules au milieu */
@media (min-width:2200px){
  .page-gestion,.page-connexion{zoom:1.25}
  .page-connexion{min-height:80vh;min-height:80dvh}
}
@media (min-width:3000px){
  .page-gestion,.page-connexion{zoom:1.6}
  .page-connexion{min-height:62.5vh;min-height:62.5dvh}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition:none!important}
  .nt-defile{white-space:normal}.nt-defile-piste{animation:none!important}.nt-defile-piste span+span{display:none}
}

/* Impression du ticket (imprimante thermique 80 mm) */
#impression{display:none}
@media print{
  @page{size:80mm auto;margin:0}
  html,body{background:#FFFFFF}
  body>:not(#impression){display:none!important}
  #impression{display:block!important}
  .imp-ticket{width:72mm;margin:0 auto;padding:4mm 0;color:#000000;font-family:var(--f-texte);text-align:center}
  .imp-logo{width:48mm;height:auto;filter:grayscale(1) contrast(1.4)}
  .imp-svc{margin-top:3mm;font-size:13pt;font-weight:700}
  .imp-poste{margin-top:1mm;font-size:12pt;font-weight:700}
  .imp-label{margin-top:2mm;font-size:8pt;letter-spacing:.1em;text-transform:uppercase}
  .imp-num{font-family:var(--f-titre);font-size:40pt;font-weight:600;line-height:1.05}
  .imp-prio{display:inline-block;margin-top:2mm;padding:1mm 3mm;border:.3mm solid #000000;border-radius:3mm;font-size:9pt}
  .imp-avant{margin-top:2mm;font-size:10pt;font-weight:700}
  .imp-avant strong{font-size:13pt}
  .imp-pied{margin-top:3mm;padding-top:2mm;border-top:.3mm dashed #000000;font-size:8pt}
  .rp-imprime{color:#10324A;font-family:var(--f-texte);font-size:11pt;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .rp-imprime .rp-rapport{gap:12px}
  .rp-imprime :is(.rp-carte,.rp-bande,.rp-retenir,.rp-rangee>*){break-inside:avoid;box-shadow:none}
  .rp-imprime .rp-defile{overflow:visible}
}
