/* Civitas Nexus AI CRM V1.9 · Home pulita con finestre al passaggio del mouse, turni e presenze */
.scene-clean .scene:after{background:linear-gradient(180deg,rgba(4,14,30,.18),transparent 14%,transparent 86%,rgba(2,13,29,.18))}
.room-zone{position:absolute;z-index:5;margin:0;padding:0;border:0;background:transparent;cursor:pointer;border-radius:22px;-webkit-tap-highlight-color:transparent}
.room-zone:focus{outline:none}
.room-zone-glow{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;border:2px solid transparent;transition:border-color .25s,box-shadow .25s,background .25s;pointer-events:none}
.room-zone:hover .room-zone-glow,.room-zone.is-hot .room-zone-glow,.room-zone:focus-visible .room-zone-glow{border-color:rgba(110,230,255,.75);background:radial-gradient(ellipse at 50% 60%,rgba(80,210,255,.12),transparent 70%);box-shadow:0 0 0 1px rgba(48,230,161,.35),0 0 28px rgba(60,200,255,.45),inset 0 0 40px rgba(60,200,255,.18)}
/* Finestra informativa */
.office-pop{position:absolute;z-index:8;width:320px;max-width:calc(100% - 12px);padding:14px 14px 12px;border-radius:16px;background:rgba(5,20,40,.94);border:1px solid rgba(100,215,250,.55);box-shadow:0 22px 60px rgba(0,0,0,.55),0 0 30px rgba(50,190,255,.18);color:#e8f7ff;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);opacity:0;transform:translateY(6px) scale(.98);transition:opacity .18s,transform .18s;font-size:12px}
.office-pop.is-in{opacity:1;transform:none}
.office-pop{pointer-events:none}.office-pop.is-touch{pointer-events:auto}
.office-pop .pop-enter{display:none}.office-pop.is-touch .pop-enter{display:flex}
.pop-hint{font-size:10px;color:var(--green);margin-top:8px;text-align:center;font-weight:700}.office-pop.is-touch .pop-hint{display:none}
.office-pop[hidden]{display:none}
.pop-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.pop-head strong{display:block;font-size:15px}
.pop-head small{display:block;font-size:10px;color:#93b8d4}
.pop-icon{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:rgba(40,200,240,.14);color:var(--cyan);flex:none}
.pop-state{margin-left:auto;display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:800;padding:3px 8px;border-radius:999px;white-space:nowrap}
.pop-state i{width:7px;height:7px;border-radius:50%}
.pop-state.open{color:#9ff5cf;background:rgba(48,230,161,.12);border:1px solid rgba(48,230,161,.35)}.pop-state.open i{background:#36f096;box-shadow:0 0 8px #36f096}
.pop-state.closed{color:#ffd88a;background:rgba(255,190,70,.1);border:1px solid rgba(255,190,70,.35)}.pop-state.closed i{background:#f2a72a}
.pop-note{font-size:11px;color:#ffd88a;margin:-2px 0 8px}
.pop-sec{border-top:1px solid rgba(120,200,240,.16);padding:8px 0}
.pop-label{font-size:9px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:#7fb2d3;margin-bottom:6px}
.pop-people{display:flex;flex-wrap:wrap;gap:6px}
.pop-person{display:flex;flex-direction:column;align-items:center;gap:2px;width:44px}
.pop-person em{font-style:normal;font-size:9px;color:#cfe9f8;max-width:44px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pop-av{width:32px;height:32px;border-radius:10px;overflow:hidden;display:grid;place-items:center;box-shadow:0 0 0 2px rgba(54,240,150,.6)}
.pop-av .employee-svg{width:38px;height:38px;margin-top:8px}
.pop-person.away .pop-av{filter:grayscale(1) brightness(.6);box-shadow:none}
.pop-person.away em{color:#6f8eac}
.pop-doing{font-size:11px;line-height:1.4;margin:3px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pop-doing b{color:var(--green);margin-right:4px}
.pop-empty{font-size:11px;color:#8fb0cc}
.pop-stats{display:flex;gap:6px;border-top:1px solid rgba(120,200,240,.16);padding-top:8px}
.pop-stats span{flex:1;text-align:center;font-size:10px;color:#a6c4da;background:rgba(255,255,255,.04);border-radius:8px;padding:5px 2px}
.pop-stats b{display:block;font-size:16px;color:#f2fbff}
.pop-stats .warn b{color:#ffd88a}.pop-stats .bad b{color:#ff9a8a}
.pop-last{font-size:10px;color:#7f9fbb;margin-top:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pop-enter{width:100%;margin-top:10px}
/* Sala: assenti nascosti, avviso ufficio chiuso */
.actor.is-away{display:none}
.room-closed{position:absolute;z-index:14;left:50%;top:44%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 22px;border-radius:16px;background:rgba(5,20,40,.9);border:1px solid rgba(255,190,70,.45);box-shadow:0 18px 50px rgba(0,0,0,.5);color:#eaf6ff;text-align:center}
.room-closed strong{font-size:16px;color:#ffd88a}
.room-closed span{font-size:12px;color:#a9c6dc}
.room-closed .btn{margin-top:6px}
/* Impostazioni orari */
.schedule-grid{display:grid;gap:8px;margin-top:10px}
.schedule-grid label{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--secondary);flex-wrap:wrap}
.schedule-grid label input{border-radius:8px;padding:6px 8px;border:1px solid var(--stroke-2);background:rgba(3,17,34,.65);color:var(--ink)}
.schedule-grid label{justify-content:space-between}
.schedule-days{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;font-size:12px;color:var(--secondary)}
.schedule-days label{display:flex;align-items:center;gap:4px;padding:4px 8px;border:1px solid var(--stroke);border-radius:8px}
:root[data-theme="light"] .schedule-grid label input{background:#f7fbff}
@media(max-width:620px){.office-pop{width:280px}}
@media(prefers-reduced-motion:reduce){.office-pop{transition:none}}
