/* Civitas Nexus AI V3.8.16 · INGRESSO AZIENDALE NITIDO
 * Targhe degli uffici disegnate dall'app sopra la mappa (testo vettoriale, nitido a ogni dimensione).
 * Le misure seguono la larghezza della mappa (unita' cqw): le targhe coprono sempre le vecchie scritte stampate. */
.scene{container-type:inline-size}
.map-ui{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;pointer-events:none}
.map-plate,.map-badge,.map-card,.map-status{position:absolute;box-sizing:border-box;font-family:inherit;color:#eaf6ff;-webkit-font-smoothing:antialiased}

/* targhe degli uffici (sono anche zone attive: passaggio del mouse = finestra con lo stato, clic = entra) */
.room-zone.map-plate{display:flex;align-items:center;gap:.8cqw;padding:0 1cqw;border-radius:1.1cqw;z-index:6;overflow:hidden;text-align:left;
  background:linear-gradient(135deg,#091c34,#051122);border:1px solid rgba(110,200,255,.5);
  box-shadow:0 .5cqw 1.8cqw rgba(0,0,0,.5),inset 0 0 0 1px rgba(255,255,255,.04);transition:border-color .2s,box-shadow .2s,transform .2s}
.map-plate:hover,.map-plate.is-hot,.map-plate:focus-visible{border-color:#54e0ff;box-shadow:0 0 0 1px rgba(48,230,161,.45),0 0 2.2cqw rgba(60,200,255,.5);outline:none}
.mp-icon{flex:0 0 auto;width:3.1cqw;height:3.1cqw;border-radius:.8cqw;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#22ad58,#1b6fd1)}
.mp-icon svg,.mp-icon .icon{width:1.8cqw;height:1.8cqw}
.mp-txt{display:flex;flex-direction:column;min-width:0;flex:1 1 auto}
.mp-name{font-weight:800;font-size:12px;font-size:1.32cqw;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mp-sub{font-size:9px;font-size:.92cqw;line-height:1.25;color:#a9c4dc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:.2cqw}
.mp-bad{color:#ff9a9a;font-weight:700}
.mp-go{flex:0 0 auto;width:2.2cqw;height:2.2cqw;border-radius:50%;border:1px solid rgba(160,220,255,.5);display:grid;place-items:center;font-size:1.5cqw;line-height:1;color:#bfe9ff}
/* Ufficio CEO: oro, al centro della sede */
.mp-ceo{border-color:rgba(231,201,138,.8)!important;background:linear-gradient(135deg,#2e220c,#0a162a)!important}
.mp-ceo .mp-icon{background:linear-gradient(135deg,#f3d798,#b8873a);color:#2a1a05}
.mp-ceo .mp-name{color:#ffe7b0;font-size:1.5cqw}
.mp-ceo .mp-go{border-color:rgba(231,201,138,.7);color:#ffe7b0}
.mp-ceo:hover,.mp-ceo.is-hot{box-shadow:0 0 0 1px rgba(231,201,138,.6),0 0 2.4cqw rgba(231,201,138,.45)!important}
.mp-small{justify-content:center;padding:0 .6cqw;border-radius:999px}
.mp-small .mp-name{font-size:1.1cqw}
.mp-locked{cursor:default}
.mp-locked .mp-txt,.mp-locked .mp-icon{opacity:.7}
.mp-locked .mp-go{border-color:transparent}

/* targhetta, benvenuto e stato (coprono le vecchie scritte in alto) */
.map-badge{display:flex;align-items:center;justify-content:center;border-radius:999px;background:#061428;border:1px solid rgba(70,200,255,.55);font-weight:700;font-size:10px;font-size:1.05cqw;letter-spacing:.02em}
.map-card{display:flex;flex-direction:column;justify-content:center;gap:.55cqw;padding:0 1.6cqw;border-radius:1.4cqw;background:linear-gradient(145deg,#091e38,#051122);border:1px solid rgba(110,200,255,.35);box-shadow:0 .5cqw 1.8cqw rgba(0,0,0,.45)}
.mc-k{font-size:.82cqw;letter-spacing:.18em;text-transform:uppercase;color:#36f096;font-weight:800}
.mc-t{font-size:1.85cqw;font-weight:800;line-height:1.1}
.mc-t b{color:#4fc3ff}
.mc-s{font-size:1cqw;line-height:1.35;color:#a9c4dc}
.mc-chips{display:flex;gap:.5cqw;flex-wrap:wrap}
.mc-chips i{font-style:normal;font-size:.9cqw;padding:.25cqw .7cqw;border-radius:999px;border:1px solid rgba(160,220,255,.35);color:#cfe8fa}
.mc-chips i.on{border-color:#36f096;color:#7ff2d0}
.mc-chips i.off{border-color:#ffb454;color:#ffd27a}
.map-status{display:flex;align-items:center;justify-content:space-between;gap:1cqw;padding:0 1.4cqw;border-radius:1cqw;background:#061428;border:1px solid rgba(110,200,255,.35);font-size:1.15cqw;font-weight:700}
.ms-clock{font-size:1.6cqw;font-weight:800;color:#4fc3ff;font-variant-numeric:tabular-nums}
/* l'immagine della mappa: nessun filtro, scalata con qualita' */
.scene-image{image-rendering:auto;filter:none!important}
@media (prefers-reduced-motion:reduce){.map-plate{transition:none}}
