/* LE BUREAU (refonte 2026-10) : la scène isométrique et son interface. Jetons d'app.css ; palette pastel chaude + bleu d'accent pour le décor,
   rouge/orange/vert réservés à l'état. Mouvement : halos qui pulsent doucement, coupés sous prefers-reduced-motion. */
.scene-svg{--sc-floor:#EBD6B8;--sc-floor-line:#D9BF9A;--sc-asphalt:#D9D5CF;--sc-glass:rgba(154,196,232,.28);--sc-glass-line:rgba(90,140,190,.45);--sc-accent:#4A8FD9;
  --sc-desk-top:#F6EBDD;--sc-desk-side:#D8BC97;--sc-desk-side2:#C8AA85;--sc-screen:#BFE3FF;--sc-chair-top:#8FA8C8;--sc-chair:#6F8BAE;--sc-chair2:#5F7A9C;
  --sc-shelf:#E3C89F;--sc-shelf-side:#C8A676;--sc-shelf-side2:#B8966A;--sc-bench:#E9D1AD;--sc-van:#5E7FA6;--sc-van2:#4F6E92;--sc-van-top:#DCE7F2;
  --sc-sofa-top:#F2C9B4;--sc-sofa:#E0A98E;--sc-sofa2:#CF9879;--sc-counter:#D4A574;--sc-counter2:#C09262;--sc-agent:#CFE6FF;--sc-slab:#F4EADA;--sc-slab-line:#E2D3BC;--sc-slab-side:#D9C8AD;--sc-slab-side2:#CDBB9F}
[data-theme=dark] .scene-svg{--sc-floor:#6B5742;--sc-floor-line:#56453A;--sc-asphalt:#3A3A3F;--sc-glass:rgba(154,196,232,.14);--sc-glass-line:rgba(154,196,232,.4);--sc-desk-top:#C9B8A6;--sc-desk-side:#8E7556;--sc-desk-side2:#7B6549;--sc-screen:#7FB6E8;--sc-shelf:#A88A62;--sc-shelf-side:#8A6E4A;--sc-shelf-side2:#7A6042}

/* disposition : tout tient sur un écran */
body.is-office main{max-width:none;padding:0;margin:0;height:100vh;display:flex;flex-direction:column}
body.is-office main>.banner,body.is-office main>.alert{margin:var(--s-2) var(--s-5) 0;padding:var(--s-2) var(--s-4)}
.office-ui{flex:1;display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0}.office-ui:has(> .dials){grid-template-rows:auto auto minmax(0,1fr)}
.office-top{display:flex;align-items:center;gap:var(--s-4);padding:var(--s-3) var(--s-5);min-height:64px}
.office-search{display:flex;align-items:center;gap:var(--s-2);flex:0 1 320px;min-width:200px;padding:0 var(--s-3);min-height:var(--tap);border-radius:var(--r-full);background:var(--surface);box-shadow:0 0 0 1px var(--line)}
.office-search svg{width:1.1rem;height:1.1rem;flex:none;fill:none;stroke:var(--muted);stroke-width:var(--ico-stroke);stroke-linecap:round}
.office-search input{border:0;background:none;min-height:0;padding:0;box-shadow:none}.office-search input:focus{box-shadow:none}.office-search:focus-within{box-shadow:0 0 0 1px var(--brand),var(--focus)}
.office-now{flex:1;display:flex;align-items:center;gap:var(--s-2);min-width:0;font-size:var(--fs-small)}.office-now .now-title{font-weight:600;white-space:nowrap}.office-now a{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.office-acts{display:flex;gap:var(--s-2);flex:none}
.office-stage{position:relative;overflow:hidden;background:radial-gradient(120% 90% at 50% 10%,var(--surface) 0%,var(--bg) 70%);touch-action:none}
.scene-wrap{position:absolute;inset:0;display:grid;place-items:center;cursor:grab}.scene-wrap.dragging{cursor:grabbing}
.scene-svg{width:100%;height:100%;max-width:none;user-select:none}
.scene-svg text{font-family:var(--font);fill:var(--ink);pointer-events:none}.scene-svg .name{font-size:11px;font-weight:600;paint-order:stroke;stroke:var(--surface);stroke-width:3px;stroke-linejoin:round}.scene-svg .name.muted{fill:var(--muted);font-weight:500}
.scene-svg .tiny{font-size:10px;font-weight:700}.scene-svg .small{font-size:12px}.scene-svg .b{font-weight:650}.scene-svg .white{fill:#fff}
.scene-svg .label .bg{fill:var(--surface);stroke:var(--line);filter:drop-shadow(0 2px 4px rgba(20,17,15,.12))}.scene-svg .label.restricted .bg{fill:var(--surface-2)}.scene-svg .label.restricted .ico{fill:none;stroke:var(--muted);stroke-width:1.75}
.scene-svg .label.ok .bg{stroke:var(--line-strong)}
.scene-svg .badge .bg{fill:var(--surface);stroke:var(--line);filter:drop-shadow(0 2px 6px rgba(20,17,15,.14))}.scene-svg .badge .ico{fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.scene-svg .badge.u-urgent .bg{fill:var(--danger-soft);stroke:var(--danger)}.scene-svg .badge.u-urgent .ico{stroke:var(--danger)}.scene-svg .badge.u-attention .bg{fill:var(--warn-soft);stroke:var(--warn)}.scene-svg .badge.u-attention .ico{stroke:var(--warn)}
.scene-svg .ico-lock{fill:none;stroke:var(--muted);stroke-width:1.75;stroke-linecap:round}.scene-svg .ico-lock rect:first-child{fill:var(--surface);stroke:none}
.scene-svg .room[data-href],.scene-svg .char[data-href],.scene-svg .char .hit{cursor:pointer}.scene-svg .char .hit:focus-visible circle:first-child{stroke:var(--brand);stroke-width:3;fill:rgba(255,106,26,.12)}
.scene-svg .room[data-href]:hover polygon:first-of-type,.scene-svg .room.focus polygon:first-of-type{filter:brightness(1.04)}
.scene-svg .room.u-urgent>polygon:first-of-type{stroke:var(--danger);stroke-width:3}.scene-svg .room.u-attention>polygon:first-of-type{stroke:var(--warn);stroke-width:3}
.scene-svg .room.focus>polygon:first-of-type{stroke:var(--brand);stroke-width:4}
.scene-svg .room.restricted>polygon:first-of-type{fill:var(--surface-2)}
.scene-svg .char[data-href]:hover rect:first-of-type,.scene-svg .char:focus-visible rect:first-of-type{filter:brightness(1.06)}.scene-svg [tabindex]:focus,.scene-svg [tabindex]:focus-visible{outline:none}.scene-svg .room:focus-visible>polygon:first-of-type{stroke:var(--brand);stroke-width:3}
.scene-svg .char.drop-ok rect:first-of-type{stroke:var(--brand);stroke-width:3}
.scene-svg .char.agent rect:first-of-type,.scene-svg .char.agent circle{filter:drop-shadow(0 0 6px rgba(74,143,217,.45))}
.scene-svg .char.dim,.scene-svg .room.dim{opacity:.25}
@keyframes sc-pulse{0%,100%{filter:drop-shadow(0 0 0 rgba(217,63,63,0))}50%{filter:drop-shadow(0 0 10px rgba(217,63,63,.55))}}
@keyframes sc-pulse-a{0%,100%{filter:drop-shadow(0 0 0 rgba(232,163,23,0))}50%{filter:drop-shadow(0 0 10px rgba(232,163,23,.55))}}
.scene-svg .badge.u-urgent.pulse .bg{animation:sc-pulse 2.4s ease-in-out infinite}.scene-svg .badge.u-attention.pulse .bg{animation:sc-pulse-a 2.8s ease-in-out infinite}
@media (prefers-reduced-motion:reduce){.scene-svg .badge .bg{animation:none!important}}
.scene-hint{position:absolute;left:var(--s-5);bottom:var(--s-3);margin:0;font-size:var(--fs-caption);color:var(--muted);pointer-events:none}
/* LISTE ACCESSIBLE (ronde 3, point 3) : les zones et les personnes en texte, invisible au repos mais lue par les lecteurs d'écran ; au clavier, elle apparaît dès qu'un de ses liens a le focus */
.office-list{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.office-list:focus-within{position:fixed;right:0;top:0;bottom:0;width:min(420px,92vw);height:auto;margin:0;padding:var(--s-4);overflow:auto;clip:auto;white-space:normal;z-index:7;background:var(--surface);box-shadow:-8px 0 24px rgba(20,17,15,.14)}
@media (max-width:820px){
  body.is-office main{height:auto}.office-ui{display:block}.office-top{flex-wrap:wrap;padding:var(--s-3) var(--s-4)}.office-search{flex:1 1 100%}.office-now{flex:1 1 100%}.office-acts{flex:1 1 100%}.office-acts .btn{flex:1}.office-stage{display:none}
  .office-list,.office-list:focus-within{position:static;width:auto;height:auto;margin:0;clip:auto;overflow:visible;white-space:normal;display:block;padding:var(--s-3) var(--s-4);box-shadow:none;background:none}
  body.is-office.show-scene .office-stage{display:block;height:70vh;position:relative}body.is-office.show-scene .office-list{display:none}
  }

/* ---- Ma journée : ligne du temps verticale, un jour à la fois ---- */
body.is-day main{max-width:960px}
.day-head{display:flex;justify-content:space-between;align-items:center;gap:var(--s-4);flex-wrap:wrap;margin:0 0 var(--s-5)}
.day-nav{display:flex;align-items:center;gap:var(--s-3)}.day-title h1{margin:0;font-size:var(--fs-section)}.day-title .eyebrow{margin-bottom:2px}
.timeline{position:relative;height:var(--total);margin:0 0 var(--s-6);padding-left:64px}
.tl-hours{list-style:none;margin:0;padding:0;position:absolute;inset:0}.tl-hours li{position:absolute;left:0;right:0;border-top:1px solid var(--line)}.tl-hours li span{position:absolute;left:0;top:-.7em;width:52px;text-align:right;font-size:var(--fs-caption);color:var(--muted);background:var(--bg);padding-right:4px}
.tl-now{position:absolute;left:52px;right:0;border-top:2px solid var(--brand);z-index:2}.tl-now span{position:absolute;left:-52px;top:-.8em;width:48px;text-align:right;font:700 var(--fs-caption) var(--font);color:var(--brand-text)}.tl-now::before{content:"";position:absolute;left:-6px;top:-6px;width:10px;height:10px;border-radius:50%;background:var(--brand)}
.tl-items{list-style:none;margin:0;padding:0;position:absolute;left:64px;right:0;top:0;bottom:0}
.tl-item{position:absolute;left:0;right:0}.tl-item a{display:flex;flex-direction:column;justify-content:center;gap:2px;height:100%;padding:var(--s-2) var(--s-4);border-radius:var(--r-md);background:var(--surface);box-shadow:0 0 0 1px var(--line),var(--shadow-sm);border-left:5px solid var(--cat-meeting);text-decoration:none;color:var(--ink);overflow:hidden;transition:box-shadow var(--t-fast) var(--ease)}
.tl-item a:hover{box-shadow:0 0 0 1px var(--line-strong),var(--shadow)}.tl-item time{font-size:var(--fs-caption);color:var(--muted);font-variant-numeric:tabular-nums}.tl-item b{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tl-item.k-booking a{border-left-color:var(--brand)}.tl-item.k-task a{border-left-color:var(--warn)}.tl-item.k-block a{border-left-color:var(--cat-block)}.tl-item.k-event a{border-left-color:var(--cat-event)}
.tl-empty{position:absolute;left:64px;right:0;top:12px;margin:0;padding:var(--s-4) var(--s-5);border-radius:var(--r-md);background:var(--surface);box-shadow:0 0 0 1px var(--line);color:var(--muted)}
@media (max-width:820px){.timeline{padding-left:52px}.tl-items{left:52px}.tl-hours li span{width:44px}.tl-now{left:44px}.tl-now span{left:-44px;width:40px}}

/* ---- 3e passe : survol, mini-carte, caméra, bulle d'ouverture, retour ---- */
.scene-svg .char[data-label]:hover,.scene-svg .char.hover{cursor:pointer}.scene-svg .char.hover>rect:first-of-type,.scene-svg .char.hover>circle{filter:drop-shadow(0 4px 6px rgba(20,17,15,.25))}
.scene-svg .room.hover>polygon:first-of-type{filter:brightness(1.05);stroke:var(--brand);stroke-width:2.5}
.scene-svg.focused .room.dim{opacity:.35}.scene-svg.focused .char.focus>rect:first-of-type{stroke:var(--brand);stroke-width:3}
/* CARTE DE SURVOL (ronde 3, point 4) : compacte, ancrée à sa cible, retournée vers l'espace libre ; ne couvre ni l'enseigne de la zone ni un point rouge */
.minicard{position:absolute;z-index:4;display:flex;flex-direction:column;gap:2px;max-width:220px;padding:6px 10px;border-radius:var(--r-sm);background:var(--glass-strong);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:0 0 0 1px var(--line),var(--shadow);pointer-events:none;font-size:var(--fs-caption);line-height:1.3}
.minicard b{font-size:var(--fs-small);font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.minicard span{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.minicard .urg{align-self:flex-start;color:var(--ink);margin-top:2px}
.back-office{position:absolute;left:var(--s-5);top:var(--s-4);z-index:3}.back-office[hidden],.minicard[hidden]{display:none}
.me-bubble{display:inline-block;max-width:280px;padding:8px 12px;border-radius:14px;background:var(--surface);box-shadow:0 0 0 1.5px var(--brand),var(--shadow);font:600 13px/1.3 var(--font);color:var(--ink)}

body.is-office .trial-pill{top:auto;bottom:var(--s-4);right:var(--s-4)}

/* « Confier une tâche » : une petite fenêtre à 3 champs */
.give{border:0;padding:0;width:min(440px,92vw);border-radius:var(--r-lg);background:var(--surface);box-shadow:0 0 0 1px var(--line),var(--shadow-lg);color:var(--ink)}.give::backdrop{background:var(--overlay)}
.give form{padding:var(--s-5)}.give-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);margin:0 0 var(--s-4)}.give-head b{font-size:var(--fs-section);font-weight:650}.give .acts{margin-top:var(--s-2)}

/* composant d'assemblage du bureau */
.ob{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:var(--s-5);align-items:start}.ob-side{display:flex;flex-direction:column;gap:var(--s-4)}.ob-field{display:flex;flex-direction:column;gap:var(--s-2);font-weight:600}
.ob-group h3{margin:0 0 var(--s-2);font-size:var(--fs-small);color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.ob-rooms{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.ob-rooms li{display:flex;gap:var(--s-3);align-items:center;min-height:44px}.ob-rooms label{display:flex;flex-direction:column;cursor:pointer}.ob-rooms small{color:var(--muted)}
.ob-stage{min-height:360px;border-radius:var(--r-lg);background:radial-gradient(120% 90% at 50% 10%,var(--surface) 0%,var(--bg) 70%);box-shadow:0 0 0 1px var(--line);padding:var(--s-3);display:grid;place-items:center}.ob-stage svg{width:100%;height:auto;max-height:70vh}
@media (max-width:820px){.ob{grid-template-columns:1fr}}

/* Postes à pourvoir et baies de serveurs (scène) */
.scene-svg .char.vacant{cursor:pointer;opacity:.85}.scene-svg .char.vacant:hover{opacity:1}
.scene-svg .light.l-down circle{animation:sc-pulse 1.4s ease-in-out infinite}

/* bulles (Bureau V2) : fermeture et disparition douce */
.toast{justify-content:space-between}.toast.hide{opacity:0;transform:translateY(4px);transition:opacity .25s var(--ease),transform .25s var(--ease)}
.toast-close{border:0;background:transparent;color:var(--muted);font:500 1.2rem/1 var(--font);cursor:pointer;padding:0 4px}.toast-close:hover{color:var(--ink)}
.office-stage:focus-visible{outline:none;box-shadow:inset 0 0 0 3px var(--brand-soft)}

/* ---- Bureau V2 : point rouge, tableaux cliquables, vie du décor ---- */
.scene-svg .reddot circle{filter:drop-shadow(0 1px 2px rgba(20,17,15,.3))}
.scene-svg .board.link{cursor:pointer}.scene-svg .board.link:hover polygon:first-of-type,.scene-svg .board.link:focus-visible polygon:first-of-type{stroke:var(--brand);stroke-width:2}
.scene-svg .counter circle{filter:drop-shadow(0 1px 2px rgba(20,17,15,.3))}
@keyframes sc-appear{from{opacity:0}to{opacity:1}}
@keyframes sc-screen{0%,100%{opacity:.75}50%{opacity:1}}
@keyframes sc-plant{0%,100%{opacity:1}50%{opacity:.85}}
.sc-anim .scene-svg .plant circle:first-of-type{animation:sc-plant 6s ease-in-out infinite}
.sc-anim .scene-svg .char{animation:sc-appear .5s var(--ease) both}
.sc-anim .scene-svg .screen rect:last-child{animation:sc-screen 4s ease-in-out infinite}
@media (prefers-reduced-motion:reduce){.scene-svg .char,.scene-svg .screen rect,.scene-svg .plant circle{animation:none!important;transition:none!important}}

/* ---- LE BUREAU EN 3D (scene3d.js) : canevas + étiquettes et cibles HTML au-dessus ---- */
.scene3d-canvas{display:block;position:absolute;inset:0;width:100%;height:100%}
body.scene3d .scene-wrap{display:block;place-items:unset}
.scene-overlay{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.scene-overlay>*{position:absolute;left:0;top:0;will-change:transform}
.sc-label{pointer-events:none;white-space:nowrap;font:600 12px/1.2 var(--font);color:var(--ink);padding:3px 8px;border-radius:999px;background:rgba(255,255,255,.92);box-shadow:0 0 0 1px var(--line),0 2px 6px rgba(20,17,15,.12)}
/* NOMS AU CLIC (ronde 3, point 3) : étiquettes discrètes des personnes, agents et postes de la zone choisie ; rien au repos */
.sc-name{font-size:11.5px;padding:2px 7px;background:rgba(255,255,255,.9)}.sc-name.agent{color:#2a5e94;box-shadow:0 0 0 1px rgba(74,143,217,.45)}.sc-name.vacant{font-weight:500;color:var(--muted);border:1px dashed var(--line-strong);box-shadow:none}
/* ENSEIGNES (ronde 3, point 2) : texte réel posé en perspective sur le mur du fond (matrice), ou au sol ; trois matériaux ; voyant de présence ; halo doux ; s'allume au survol ou quand la zone est active */
.sc-sign{pointer-events:auto;transform-origin:0 0;display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border:0;border-radius:3px;cursor:pointer;white-space:nowrap;font:800 11px/1 var(--font);letter-spacing:.09em;text-transform:uppercase;color:#f3e7cf;
  background:linear-gradient(180deg,#3d3229,#241d18);box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 1px 2px rgba(20,17,15,.45),0 0 0 1px rgba(20,17,15,.25);transition:box-shadow .3s var(--ease),filter .3s var(--ease)}
.sc-sign .sc-sign-text{display:inline-block}
.sc-sign .sc-dots{display:inline-flex;gap:3px;align-items:center}.sc-sign .sc-dots b{width:4px;height:4px;border-radius:50%;background:#ffd98a;box-shadow:0 0 5px 1px rgba(255,217,138,.75)}.sc-sign .sc-dots:empty{display:none}
.sc-sign .lamp{width:7px;height:7px;border-radius:50%;background:var(--warn);box-shadow:0 0 6px 1px var(--warn)}.sc-sign.st-occupied .lamp,.sc-sign.u-urgent .lamp{background:var(--danger);box-shadow:0 0 6px 1px var(--danger)}
.sc-sign.m-brass .sc-sign-text{color:#f7dfa6;background:linear-gradient(180deg,#fff2c9 0%,#e0b45e 48%,#b98a35 52%,#f1d184 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 3px rgba(255,214,140,.35))}
.sc-sign.m-steel{background:linear-gradient(180deg,#7f858c,#5a6067 45%,#6d7379 55%,#4c5157);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(20,17,15,.4)}.sc-sign.m-steel .sc-sign-text{color:#f7f7f4;text-shadow:0 1px 0 rgba(0,0,0,.35)}
.sc-sign.m-neon{background:rgba(28,22,18,.82);border-radius:6px}.sc-sign.m-neon .sc-sign-text{color:#fff4e8;text-shadow:0 0 4px #ff9a5c,0 0 10px rgba(255,138,61,.75)}.sc-sign.m-neon .sc-dots b{background:#9fe8ff;box-shadow:0 0 5px 1px rgba(159,232,255,.8)}
.sc-sign.on,.sc-sign:hover,.sc-sign:focus-visible{box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 0 0 1px rgba(255,170,90,.5),0 0 14px 2px rgba(255,170,90,.45);outline:none}
.sc-sign.m-brass.on .sc-sign-text,.sc-sign.m-brass:hover .sc-sign-text{filter:drop-shadow(0 0 6px rgba(255,214,140,.85))}.sc-sign.m-neon.on .sc-sign-text{text-shadow:0 0 6px #ffb27a,0 0 16px #ff8a3d,0 0 28px rgba(255,138,61,.6)}
@keyframes sc-sign-glow{0%,100%{box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 0 0 1px rgba(255,170,90,.45),0 0 10px 1px rgba(255,170,90,.35)}50%{box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 0 0 1px rgba(255,170,90,.7),0 0 20px 4px rgba(255,170,90,.6)}}
.sc-anim .sc-sign.on{animation:sc-sign-glow 2.6s ease-in-out infinite}
.sc-sign.restricted{filter:saturate(.3) brightness(.9)}.sc-sign.restricted .sc-sign-text{opacity:.75}
.sc-sign.mode-floor{background:transparent;box-shadow:none;border-radius:0;padding:2px 6px;font-weight:800;letter-spacing:.16em}.sc-sign.mode-floor .sc-sign-text{color:rgba(92,72,52,.62);background:none;-webkit-text-fill-color:currentColor;filter:none;text-shadow:none}
.sc-sign.st-plot{font-size:30px;padding:0 6px;letter-spacing:0}.sc-sign.st-plot .sc-sign-text{color:#ff8a3d;-webkit-text-fill-color:#ff8a3d;background:none;filter:drop-shadow(0 0 6px rgba(255,138,61,.8)) drop-shadow(0 0 14px rgba(255,138,61,.5))}
.sc-anim .sc-sign.st-plot .sc-sign-text{animation:sc-plus 2.8s ease-in-out infinite}@keyframes sc-plus{0%,100%{opacity:.85}50%{opacity:1}}
.sc-sign.st-plot:hover .sc-sign-text,.sc-sign.st-plot:focus-visible .sc-sign-text{color:#ff6a1a;-webkit-text-fill-color:#ff6a1a}
.sc-sign.mode-bill{transform-origin:0 0;border-radius:999px;padding:3px 9px;font-size:11px;letter-spacing:.06em;background:rgba(36,29,24,.92);box-shadow:0 0 0 1px rgba(255,255,255,.08),0 2px 6px rgba(20,17,15,.3)}
.sc-sign.mode-bill::after{content:"";position:absolute;left:50%;bottom:-6px;width:2px;height:6px;margin-left:-1px;background:#8e949b}
.sc-sign.st-pending{font-size:10.5px}.sc-sign.st-pending .sc-sign-text{color:#ffd9b8;-webkit-text-fill-color:#ffd9b8;background:none;filter:none}
@media (prefers-reduced-motion:reduce){.sc-sign,.sc-sign .sc-sign-text{animation:none!important;transition:none!important}}
.sc-vacancy{font-size:11px;font-weight:500;color:var(--muted);background:rgba(255,255,255,.85);border:1px dashed var(--line-strong);box-shadow:none}
.sc-reddot,.sc-counter{min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--danger);color:#fff;font:700 11px/20px var(--font);text-align:center;box-shadow:0 0 0 2px var(--surface),0 2px 6px rgba(20,17,15,.25)}
.sc-counter{background:var(--brand);padding-left:20px}.sc-counter::before{content:"";position:absolute;left:5px;top:4px;width:12px;height:12px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.4' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E") no-repeat center/12px 12px}
.sc-hit{pointer-events:auto;width:44px;height:44px;border:0;border-radius:50%;background:transparent;cursor:pointer;padding:0}
.sc-hit .sc-dot{position:absolute;left:2px;top:2px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--danger);color:#fff;font:700 11px/20px var(--font);text-align:center;box-shadow:0 0 0 2px var(--surface),0 2px 6px rgba(217,63,63,.35)}
.sc-hit.has-dot:focus-visible .sc-dot,.sc-hit.has-dot:hover .sc-dot{transform:scale(1.12)}
.sc-hit:hover,.sc-hit:focus-visible{background:rgba(255,106,26,.12);box-shadow:0 0 0 2px var(--brand);outline:none}
.sc-hit-vacant{border:1.5px dashed transparent}.sc-hit-vacant:hover{border-color:var(--line-strong)}
.sc-room-btn{pointer-events:auto;border:0;background:transparent;cursor:pointer;padding:0;z-index:0}
.sc-room-btn:hover,.sc-room-btn:focus-visible,.sc-room-btn.sel{background:rgba(255,106,26,.07);outline:none}
.sc-room-btn:focus-visible{background:rgba(255,106,26,.14)}
.scene-overlay .sc-hit,.scene-overlay .sc-label{z-index:1}.scene-overlay .sc-sign{z-index:1}
body.scene3d .scene-hint{z-index:2}
[data-theme=dark] .sc-label,[data-theme=dark] .sc-name{background:rgba(28,25,23,.92);color:var(--ink)}
/* téléphone : la scène 3D reste visible (compacte), la liste suit dessous */
@media (max-width:820px){
  body.is-office.scene3d .office-stage{display:block;height:min(58vh,500px);position:relative;border-bottom:1px solid var(--line)}
  body.is-office.scene3d .office-list{display:block}
  body.scene3d .scene-hint{display:none}
}

.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* BULLE DU POINT ROUGE (ronde 2, point 3) : ancrée au point, une ligne par raison, bouton d'action direct ; jamais hors de la scène */
.reddot-bubble{position:absolute;z-index:6;padding:var(--s-3) var(--s-4) var(--s-3);border-radius:var(--r-md);background:var(--glass-strong);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:0 0 0 1.5px var(--danger),var(--shadow-lg);font:500 var(--fs-small)/1.4 var(--font);color:var(--ink)}
.reddot-bubble>b{display:block;padding-right:28px;margin-bottom:6px;color:var(--danger-text)}
.reddot-bubble ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.reddot-bubble li{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3)}.reddot-bubble li span{flex:1 1 auto}.reddot-bubble li .btn{flex:0 0 auto;min-height:36px}
.reddot-bubble .bubble-close{position:absolute;top:6px;right:6px;width:28px;height:28px;border:0;border-radius:50%;background:transparent;font:600 18px/28px var(--font);color:var(--muted);cursor:pointer}.reddot-bubble .bubble-close:hover{background:var(--surface-2)}
.reasons{list-style:none;margin:.35rem 0 0;padding:0;display:flex;flex-direction:column;gap:4px;font:500 var(--fs-caption)/1.35 var(--font);color:var(--ink)}
.reasons li{display:flex;align-items:center;gap:var(--s-2);justify-content:space-between}.reasons li::before{content:"";flex:0 0 8px;width:8px;height:8px;border-radius:50%;background:var(--danger)}
.reasons-inline li{justify-content:flex-start}
.chips{display:flex;flex-wrap:wrap;gap:var(--s-2);margin:var(--s-3) 0}.chip.on{background:var(--brand-soft);box-shadow:inset 0 0 0 1.5px var(--brand)}
.now-list li{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--s-3)}.now-list li b{grid-column:2}.now-list li small{grid-column:2;color:var(--muted)}.now-list li .av{grid-row:span 2}.now-list li .btn{grid-row:span 2}
.now-form{display:flex;flex-wrap:wrap;gap:var(--s-3);align-items:end}.now-form label{display:flex;flex-direction:column;gap:4px;font:600 var(--fs-caption) var(--font);color:var(--muted)}
.scene-svg .masked{visibility:hidden}
/* SVG de repli (ronde 3) : noms cachés au repos, montrés pour la zone choisie ; enseignes en perspective sur le mur du fond */
.scene-svg .name.onclick{display:none}.scene-svg .name.onclick.shown{display:block}
.scene-svg .sign{cursor:pointer}.scene-svg .sign .plate{fill:#2b2219;stroke:rgba(255,255,255,.12)}.scene-svg .sign text{fill:#f1d184;font:800 12px var(--font);letter-spacing:.09em;text-transform:uppercase;pointer-events:none}
.scene-svg .sign.on .plate,.scene-svg .sign:hover .plate,.scene-svg .sign:focus-visible .plate{stroke:rgba(255,170,90,.8);stroke-width:1.5;filter:drop-shadow(0 0 8px rgba(255,170,90,.6))}.scene-svg .sign:focus-visible{outline:none}
.scene-svg .sign .dot{fill:#ffd98a}.scene-svg .sign .lamp{fill:var(--danger)}.scene-svg .sign.floor text{fill:rgba(92,72,52,.62);letter-spacing:.16em}.scene-svg .sign.plot text{fill:#ff8a3d;font-size:30px;letter-spacing:0}
.scene-svg .sign.pending .plate{fill:#3d3229}.scene-svg .sign.pending text{fill:#ffd9b8;font-size:10.5px;letter-spacing:.04em}
/* PICTOGRAMME D'ACTIVITÉ (ronde 2, point 6) sur l'étiquette du nom : réunion, téléphone, pause, absent */
.sc-name.act-meeting::before,.sc-name.act-phone::before,.sc-name.act-break::before,.sc-name.act-away::before,.sc-name.act-offline::before{content:"";display:inline-block;width:12px;height:12px;margin-right:4px;vertical-align:-2px;background-repeat:no-repeat;background-size:12px 12px}
.sc-name.act-meeting::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232a5e94' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='8' cy='8' r='3.2'/%3E%3Ccircle cx='16.5' cy='9' r='2.6'/%3E%3Cpath d='M2.5 20c.5-4 3-6 5.5-6s5 2 5.5 6M14 19c.3-2.6 1.6-4.2 3.5-4.2s3.2 1.6 3.5 4.2'/%3E%3C/svg%3E")}
.sc-name.act-phone::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232e9e6b' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2z'/%3E%3C/svg%3E")}
.sc-name.act-break::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b8762a' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M4 9h12v6a4 4 0 0 1-4 4H8a4 4 0 0 1-4-4z'/%3E%3Cpath d='M16 11h2a2 2 0 0 1 0 4h-2M7 4v2M11 4v2'/%3E%3C/svg%3E")}
.sc-name.act-away::before,.sc-name.act-offline::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a8078' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='8'/%3E%3Cpath d='M12 8v4l2.5 2'/%3E%3C/svg%3E")}
.sc-name.act-away,.sc-name.act-offline{color:var(--muted)}
