:root{
  --bg:#07111f;--bg2:#0b1828;--card:#0e1d30;--card2:#11233a;--bordo:#1d3350;--bordo2:#27456a;
  --testo:#e6eef8;--testo2:#9fb3cc;--testo3:#6f87a5;--blu:#2f8cff;--blu2:#1c5fd1;
  --verde:#26c281;--giallo:#f2b33d;--rosso:#ef4b5b;--grigio:#5b6f88;--viola:#7b6cff;
  --openai:#10a37f;--claude:#e8734a;--gemini:#4f7cff;
  --r:12px;--ombra:0 6px 24px rgba(0,0,0,.35);
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--testo);font:14px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
h2{font-size:17px;margin:0;font-weight:650}
h3{font-size:15px;margin:0 0 4px}
.top{display:flex;align-items:center;gap:24px;padding:12px 22px;background:linear-gradient(180deg,#0a1626,#08121f);border-bottom:1px solid var(--bordo);position:sticky;top:0;z-index:5}
.brand{display:flex;align-items:center;gap:12px;min-width:250px}
.logo{width:40px;height:40px;color:var(--blu)}
.brand-name{font-size:24px;font-weight:800;letter-spacing:.3px}
.brand-sub{font-size:12.5px;color:var(--testo2)}
.tabs{display:flex;gap:4px;flex:1;overflow-x:auto}
.tab{color:var(--testo2);text-decoration:none;padding:10px 16px;border-radius:8px;white-space:nowrap;font-size:14.5px}
.tab:hover{color:var(--testo);background:var(--card)}
.tab.attivo{color:#fff;background:linear-gradient(180deg,#123a6b,#0f2c52);border:1px solid var(--bordo2)}
.top-dx{display:flex;align-items:center;gap:12px}
.pill{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:20px;background:rgba(38,194,129,.12);color:var(--verde);border:1px solid rgba(38,194,129,.3);font-weight:600;white-space:nowrap}
.pill.piccola{padding:4px 10px;font-size:12.5px}
.pill.avviso{background:rgba(242,179,61,.12);color:var(--giallo);border-color:rgba(242,179,61,.35)}
.pill.critico{background:rgba(239,75,91,.12);color:var(--rosso);border-color:rgba(239,75,91,.35)}
.pill.grigio{background:rgba(91,111,136,.15);color:var(--testo2);border-color:var(--bordo2)}
.dot{width:9px;height:9px;border-radius:50%;background:currentColor;display:inline-block;flex:none}
.badge-staging{font-size:11px;font-weight:800;letter-spacing:1px;color:#ffd27a;border:1px solid #6b5520;padding:3px 8px;border-radius:6px}
.utente{display:flex;align-items:center;gap:8px;color:var(--testo2)}
.avatar{width:34px;height:34px;border-radius:50%;background:var(--blu2);color:#fff;display:grid;place-items:center;font-weight:700;font-size:13px}
.griglia{display:grid;grid-template-columns:minmax(300px,1fr) minmax(420px,1.45fr) minmax(320px,1.05fr);grid-template-areas:"sit sit sit" "kpi kpi kpi" "sx centro dx" "op op op" "arch arch arch" "pil pil pil" "av av av";gap:16px;padding:16px 22px 28px;max-width:1720px;margin:0 auto}
.kpi-riga{grid-area:kpi;display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.col-sx{grid-area:sx;display:flex;flex-direction:column;gap:16px;min-width:0}
.col-centro{grid-area:centro;display:flex;flex-direction:column;min-width:0;min-height:640px}
.col-dx{grid-area:dx;display:flex;flex-direction:column;gap:16px;min-width:0}
.architettura{grid-area:arch}
.pilastri{grid-area:pil;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.avanzate{grid-area:av}
.card{background:linear-gradient(180deg,var(--card),#0c1a2c);border:1px solid var(--bordo);border-radius:var(--r);padding:16px 18px;box-shadow:var(--ombra);min-width:0}
.card-tit{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;flex-wrap:wrap}
.etichetta{font-size:12px;color:var(--testo2);border:1px solid var(--bordo2);border-radius:7px;padding:4px 10px}
.kpi{background:linear-gradient(180deg,var(--card),#0c1a2c);border:1px solid var(--bordo);border-radius:var(--r);padding:14px 18px;min-width:0}
.kpi-tit{color:var(--testo2);font-size:13px}
.kpi-val{font-size:30px;font-weight:750;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kpi-val.piccolo{font-size:19px;margin-top:8px}
.kpi-nota{font-size:12px;color:var(--testo3);margin-top:2px;min-height:17px}
.kpi-soglia{border-color:#4a2a36;background:linear-gradient(180deg,#1d1424,#12121f)}
.lista{display:flex;flex-direction:column}
.riga{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid rgba(29,51,80,.6)}
.riga:last-child{border-bottom:0}
.ico{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-weight:800;color:#fff;flex:none;font-size:15px}
.ico.openai{background:var(--openai)}.ico.anthropic{background:var(--claude)}.ico.google{background:#fff;color:#4285f4}.ico.altro{background:var(--grigio)}
.riga-corpo{flex:1;min-width:0}
.riga-top{display:flex;justify-content:space-between;gap:10px}
.nome{font-weight:600}
.val{font-weight:700;white-space:nowrap}
.sub{font-size:12px;color:var(--testo3)}
.barra{height:6px;background:#1a2c45;border-radius:4px;margin-top:7px;overflow:hidden}
.barra>i{display:block;height:100%;border-radius:4px}
.fonte{font-size:11.5px;color:var(--testo3);margin-top:10px;line-height:1.5}
.tab-dati{width:100%;border-collapse:collapse;font-size:13px}
.tab-dati th{color:var(--testo3);font-weight:500;text-align:left;padding:6px 4px;border-bottom:1px solid var(--bordo)}
.tab-dati td{padding:8px 4px;border-bottom:1px solid rgba(29,51,80,.5)}
.dx{text-align:right}
.stato-tag{font-size:11px;padding:2px 7px;border-radius:5px;white-space:nowrap}
.stato-tag.misurato{background:rgba(38,194,129,.15);color:var(--verde)}
.stato-tag.stimato{background:rgba(47,140,255,.15);color:#7db6ff}
.stato-tag.parziale{background:rgba(242,179,61,.15);color:var(--giallo)}
.stato-tag.nd{background:rgba(91,111,136,.2);color:var(--testo2)}
.sparkbox{margin-top:12px}.mini-tit{font-size:12px;color:var(--testo3);margin-bottom:4px}
#spark{width:100%;height:50px;display:block}
.agenti{display:flex;gap:6px;flex-wrap:wrap}
.ag{font-size:11.5px;padding:4px 9px;border-radius:7px;border:1px solid var(--bordo2);color:var(--testo2);display:inline-flex;gap:6px;align-items:center}
.ag .dot{width:7px;height:7px}
.chat-log{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding:4px 2px 10px;max-height:620px;min-height:360px}
.msg{display:flex;gap:10px;align-items:flex-start;max-width:100%}
.msg.io{flex-direction:row-reverse}
.msg .ico{width:34px;height:34px;font-size:12px}
.bolla{background:var(--card2);border:1px solid var(--bordo);border-radius:12px;padding:10px 13px;max-width:86%;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:anywhere}
.msg.io .bolla{background:linear-gradient(180deg,#1b4f9c,#173f7d);border-color:#2a5fae}
.bolla .chi{font-weight:700;font-size:12.5px;margin-bottom:4px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.bolla .ruolo{font-weight:500;font-size:11px;color:var(--testo2);background:rgba(255,255,255,.06);padding:1px 7px;border-radius:5px}
.bolla .ora{font-size:10.5px;color:var(--testo3);text-align:right;margin-top:4px}
.passi{margin:6px 0 0;padding:0;list-style:none;font-size:12px;color:var(--testo2)}
.passi li{padding:2px 0}.passi b{color:var(--testo)}
.ok-t{color:var(--verde)}.no-t{color:var(--giallo)}
.piano{border:1px solid #6b5520;background:linear-gradient(180deg,#221a0c,#17140c);border-radius:12px;padding:12px 14px;margin-left:44px}
.piano h4{margin:0 0 6px;color:#ffc24d;font-size:15px}
.piano dl{display:grid;grid-template-columns:max-content 1fr;gap:3px 12px;margin:6px 0;font-size:12.5px}
.piano dt{color:var(--testo3)}.piano dd{margin:0;overflow-wrap:anywhere}
.piano .hash{font:11px ui-monospace,Menlo,monospace;color:var(--testo3);overflow-wrap:anywhere}
.azioni-sn{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap}
.btn{border:0;border-radius:8px;padding:10px 18px;font-weight:700;font-size:14px;cursor:pointer;color:#fff}
.btn.si{background:linear-gradient(180deg,#22a86b,#178a56)}.btn.no{background:linear-gradient(180deg,#d9424f,#b8323e)}
.btn:disabled{opacity:.45;cursor:not-allowed}
.esito{margin-top:8px;font-size:12.5px;color:var(--testo2)}
.chat-in{display:flex;gap:10px;margin-top:8px}
.chat-in input{flex:1;background:#091523;border:1px solid var(--bordo2);color:var(--testo);border-radius:10px;padding:12px 14px;font-size:14px;min-width:0}
.chat-in input:focus{outline:2px solid var(--blu2);border-color:var(--blu2)}
.invia{width:48px;border:0;border-radius:10px;background:var(--blu);color:#fff;cursor:pointer;display:grid;place-items:center}
.invia svg{width:22px;height:22px}
.suggerimenti{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.sugg{font-size:12px;background:transparent;border:1px solid var(--bordo2);color:var(--testo2);border-radius:14px;padding:4px 10px;cursor:pointer}
.sugg:hover{color:var(--testo);border-color:var(--blu)}
.vps .riga{padding:8px 0}
.vps-nome{font-weight:700;width:46px}
.vps-ruolo{flex:1;min-width:0;color:var(--testo2);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vps-stato{display:flex;align-items:center;gap:6px;font-size:12.5px;width:104px;white-space:nowrap}
.vps-ris{font-size:11.5px;color:var(--testo2);white-space:nowrap;width:118px;text-align:right}
.st-ok{color:var(--verde)}.st-avviso{color:var(--giallo)}.st-critico{color:var(--rosso)}.st-grigio{color:var(--testo3)}
.vps-prob{font-size:11.5px;color:var(--giallo);margin:-4px 0 6px 58px}
.all-ico{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:800;flex:none;color:#0b1828}
.all-ico.avviso{background:var(--giallo)}.all-ico.critico{background:var(--rosso);color:#fff}.all-ico.info{background:var(--blu);color:#fff}.all-ico.ok{background:var(--verde)}
.all-txt{flex:1;min-width:0;font-size:13px}
.all-ora{font-size:11.5px;color:var(--testo3);white-space:nowrap}
.architettura{display:flex;align-items:stretch;gap:10px;flex-wrap:wrap}
.arch-blocco{flex:1;min-width:140px;border:1px solid var(--bordo2);border-radius:10px;padding:12px;background:var(--card2)}
.arch-tit{font-weight:700;margin-bottom:6px}
.arch-txt{font-size:12.5px;color:var(--testo2)}
.arch-agno{flex:2.6;min-width:300px;border:1px solid var(--bordo2);border-radius:10px;padding:12px;background:var(--card2)}
.arch-flusso{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.arch-ag{flex:1;min-width:110px;border-radius:9px;padding:9px 10px;font-weight:700;display:flex;flex-direction:column}
.arch-ag span{font-weight:400;font-size:11.5px;color:var(--testo2)}
.arch-ag.gpt{border:1px solid var(--openai);background:rgba(16,163,127,.12)}
.arch-ag.claude{border:1px solid var(--claude);background:rgba(232,115,74,.12)}
.arch-ag.gemini{border:1px solid var(--gemini);background:rgba(79,124,255,.12)}
.arch-servizi{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.arch-servizi span{font-size:12px;color:var(--testo2);border:1px dashed var(--bordo2);border-radius:7px;padding:4px 9px}
.freccia{align-self:center;color:var(--blu);font-size:18px}
.pilastro{background:var(--card);border:1px solid var(--bordo);border-radius:var(--r);padding:14px 16px}
.pilastro p{margin:0;color:var(--testo2);font-size:13px}
.accesso{position:fixed;inset:0;background:rgba(3,8,15,.85);display:grid;place-items:center;z-index:9}
.accesso[hidden]{display:none}
@media (max-width:1280px){
  .griglia{grid-template-columns:1fr 1fr;grid-template-areas:"sit sit" "kpi kpi" "centro centro" "sx dx" "op op" "arch arch" "pil pil" "av av"}
  .kpi-riga{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:760px){
  .top{flex-wrap:wrap;gap:10px;padding:10px 16px}
  .brand{min-width:0}.brand-name{font-size:20px}
  .tabs{order:3;width:100%}
  .nascondi-mobile,.brand-sub{display:none}
  .griglia{grid-template-columns:1fr;grid-template-areas:"sit" "kpi" "centro" "dx" "sx" "op" "arch" "pil" "av";padding:12px 16px 24px;gap:12px}
  .kpi-riga{grid-template-columns:1fr 1fr;gap:10px}
  .kpi-soglia{grid-column:1/-1}
  .kpi-val{font-size:24px}
  .pilastri{grid-template-columns:1fr 1fr}
  .col-centro{min-height:0}
  .chat-log{max-height:520px;min-height:260px}
  .bolla{max-width:100%}
  .piano{margin-left:0}
  .vps-ris{display:none}.vps-stato{width:auto}
  .vps-prob{margin-left:0}
  .freccia{display:none}
}
/* correzioni collaudo: righe VPS su due livelli, menu compatto, chat che riempie la colonna */
.top{gap:16px}.brand{min-width:0}.tab{padding:9px 12px;font-size:14px}
.vps .riga{display:grid;grid-template-columns:52px 1fr auto;grid-template-areas:"n r s" "n x x";row-gap:2px;align-items:center}
.vps-nome{grid-area:n;width:auto}.vps-ruolo{grid-area:r}.vps-stato{grid-area:s;width:auto}
.vps-ris{grid-area:x;width:auto;text-align:left;color:var(--testo3)}
.vps-prob{margin-left:52px}
.col-centro .chat-log{max-height:none;min-height:0;height:0;flex:1 1 auto}
@media (max-width:1280px){.col-centro .chat-log{height:auto;max-height:620px;min-height:360px}}
@media (max-width:760px){.top{position:static}.vps-ris{display:block}.col-centro .chat-log{max-height:520px;min-height:260px}}
/* A1: chat multi-agente */
.chat-azioni{display:flex;gap:8px}
.btn-sec{background:#0f2440;border:1px solid var(--bordo2);color:var(--testo);border-radius:8px;padding:6px 12px;font-size:12.5px;cursor:pointer}
.btn-sec:hover{border-color:var(--blu)}
.agenti{margin-bottom:6px}
.ag-openai{border-color:rgba(16,163,127,.5)}.ag-anthropic{border-color:rgba(232,115,74,.5)}.ag-google{border-color:rgba(79,124,255,.5)}
.limiti{font-size:11.5px;color:var(--testo3);margin-bottom:8px}
.storico{border:1px solid var(--bordo2);border-radius:10px;background:#0a1828;padding:10px;margin-bottom:10px;max-height:260px;overflow:auto}
.storico-tit{font-weight:700;margin-bottom:6px}
.storico-voce{display:flex;flex-direction:column;align-items:flex-start;width:100%;text-align:left;background:transparent;border:0;border-bottom:1px solid var(--bordo);color:var(--testo);padding:7px 4px;cursor:pointer}
.storico-voce:hover{background:#10243c}
.ico.io{background:#7b6cff}.ico.or{background:#24406a}.ico.ex{background:#2f8cff}
.ico.gpt{background:var(--openai)}.ico.claude{background:var(--claude)}.ico.gemini{background:var(--gemini)}
.bolla.b-gpt{border-left:3px solid var(--openai)}.bolla.b-claude{border-left:3px solid var(--claude)}.bolla.b-gemini{border-left:3px solid var(--gemini)}
.ruolo.sim{background:rgba(242,179,61,.18);color:var(--giallo)}
.riga-sistema{font-size:12px;color:var(--testo2);text-align:center;padding:4px 10px;display:flex;gap:10px;justify-content:center;align-items:center;flex-wrap:wrap}
.riga-sistema.lavoro{color:#ffc24d}.riga-sistema.errore{color:var(--rosso)}
.sugg.annulla{border-color:var(--rosso);color:#ff8f99}
.piano{margin-left:44px}.piano.non-appr{border-color:#5b2630;background:linear-gradient(180deg,#24121a,#160f16)}
.piano-sintesi{font-size:13px;color:var(--testo);margin-bottom:6px}
.piano details{margin-top:4px;border:1px solid #3a3020;border-radius:8px;padding:6px 10px;background:rgba(0,0,0,.18)}
.piano summary{cursor:pointer;color:#ffd27a;font-size:13px}
.nav-mobile{display:none}
@media (max-width:760px){
  .griglia{grid-template-areas:"sit" "centro" "kpi" "dx" "op" "sx" "arch" "pil" "av"}
  .nav-mobile{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:8;background:#0a1626;border-top:1px solid var(--bordo2);justify-content:space-around}
  .nav-mobile a{color:var(--testo);text-decoration:none;padding:12px 8px;font-size:14px;flex:1;text-align:center}
  body{padding-bottom:52px}
  .tabs{display:none}
  .chat-azioni .btn-sec{padding:6px 9px}
}

.diag{margin-top:10px;border-top:1px solid var(--bordo);padding-top:8px}.diag summary{cursor:pointer;font-size:13px;color:var(--testo2)}
.diag-form{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.diag-form select{flex:1 1 120px;min-width:0;background:var(--card2);color:var(--testo);border:1px solid var(--bordo);border-radius:8px;padding:6px}
.diag-out{white-space:pre-wrap;word-wrap:break-word;overflow-wrap:anywhere;max-height:280px;overflow:auto;font-size:11.5px;background:var(--card2);border:1px solid var(--bordo);border-radius:8px;padding:8px;margin-top:6px}

/* A8: operativita', registro, piani, evidenze, consumi, agenti, funzionalita', voce */
.operativo{grid-area:op;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.operativo .card{display:flex;flex-direction:column;max-height:560px}
.operativo .lista{overflow-y:auto;min-height:0;flex:1}
.operativo select{background:var(--card2);color:var(--testo);border:1px solid var(--bordo2);border-radius:8px;padding:5px 8px;font-size:12.5px;max-width:100%}
.filtri{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}
.filtro{font-size:12px;background:transparent;border:1px solid var(--bordo2);color:var(--testo2);border-radius:14px;padding:4px 10px;cursor:pointer}
.filtro.attivo{color:#fff;border-color:var(--blu);background:rgba(47,140,255,.15)}
.pz{display:block;padding:9px 0;border-bottom:1px solid rgba(29,51,80,.6)}
.pz summary{cursor:pointer;list-style:none;display:grid;grid-template-columns:1fr auto;gap:2px 10px}
.pz summary::-webkit-details-marker{display:none}
.pz-ob{font-weight:600;font-size:13px;overflow-wrap:anywhere}
.pz-st{font-size:11px;padding:2px 8px;border-radius:5px;white-space:nowrap;align-self:start}
.pz-st.in_attesa{background:rgba(47,140,255,.15);color:#7db6ff}.pz-st.approvato{background:rgba(38,194,129,.15);color:var(--verde)}
.pz-st.respinto{background:rgba(239,75,91,.15);color:#ff8f99}.pz-st.scaduto{background:rgba(91,111,136,.2);color:var(--testo2)}
.pz-sub{grid-column:1/-1;font-size:11.5px;color:var(--testo3)}
.pz dl{display:grid;grid-template-columns:max-content 1fr;gap:3px 12px;margin:8px 0 2px;font-size:12px}
.pz dt{color:var(--testo3)}.pz dd{margin:0;overflow-wrap:anywhere}
.reg .riga{align-items:flex-start;padding:8px 0}
.reg-cat{font-size:10.5px;text-transform:uppercase;letter-spacing:.5px;padding:2px 6px;border-radius:5px;background:rgba(91,111,136,.2);color:var(--testo2);flex:none;width:84px;text-align:center}
.reg-cat.rc-allarme,.reg-cat.rc-sicurezza{background:rgba(239,75,91,.15);color:#ff8f99}.reg-cat.rc-piano{background:rgba(242,179,61,.15);color:var(--giallo)}
.reg-cat.rc-diagnostica{background:rgba(47,140,255,.15);color:#7db6ff}.reg-cat.rc-voce{background:rgba(123,108,255,.18);color:#b3a9ff}.reg-cat.rc-agenti{background:rgba(16,163,127,.15);color:#5fd3b2}
.reg-txt{flex:1;min-width:0;font-size:12.5px}.reg-txt .sub{display:block;overflow-wrap:anywhere}
.ev{padding:8px 0;border-bottom:1px solid rgba(29,51,80,.6)}
.ev summary{cursor:pointer;font-size:12.5px;overflow-wrap:anywhere}
.ev pre{white-space:pre-wrap;word-wrap:break-word;overflow-wrap:anywhere;max-height:240px;overflow:auto;font-size:11.5px;background:var(--card2);border:1px solid var(--bordo);border-radius:8px;padding:8px;margin:6px 0 0}
.mini-kpi{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:10px}
.mini-kpi div{background:var(--card2);border:1px solid var(--bordo);border-radius:9px;padding:8px 10px;min-width:0}
.mini-kpi b{display:block;font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-kpi span{font-size:11px;color:var(--testo3)}
.fn-stato{font-size:11px;padding:2px 8px;border-radius:5px;white-space:nowrap;background:rgba(91,111,136,.2);color:var(--testo2)}
.fn-stato.on{background:rgba(38,194,129,.15);color:var(--verde)}
.vps-serv{display:flex;flex-wrap:wrap;gap:4px;margin:-2px 0 8px 52px}
.vps-serv span{font-size:11px;padding:1px 7px;border-radius:5px;border:1px solid var(--bordo2);color:var(--testo2)}
.vps-serv span.avviso{border-color:rgba(242,179,61,.5);color:var(--giallo)}.vps-serv span.critico{border-color:rgba(239,75,91,.6);color:#ff8f99}
.vps .riga{cursor:pointer}
.mic{width:48px;border:1px solid var(--bordo2);border-radius:10px;background:#0f2440;color:var(--testo);cursor:pointer;display:grid;place-items:center;flex:none}
.mic svg{width:22px;height:22px}.mic.on{background:#5b2bd1;border-color:#7b6cff}.mic:disabled{opacity:.45;cursor:not-allowed}
.voce-barra{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:1px solid #3b3480;background:linear-gradient(180deg,#171a3c,#111430);border-radius:10px;padding:8px 10px;margin-top:8px}
.voce-barra[hidden]{display:none}
.voce-stato{display:inline-flex;align-items:center;gap:7px;font-weight:700;font-size:13px;color:#b3a9ff}
.voce-stato.ascolta{color:var(--verde)}.voce-stato.pensa{color:var(--giallo)}.voce-stato.parla{color:#7db6ff}.voce-stato.errore{color:var(--rosso)}
.voce-vu{width:90px;height:6px;border-radius:4px;background:#1a2c45;overflow:hidden}.voce-vu i{display:block;height:100%;width:0;background:#7b6cff;transition:width .08s}
.voce-nota{flex:1 1 160px;min-width:0;font-size:11.5px;color:var(--testo3)}
@media (max-width:1280px){.operativo{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.operativo{grid-template-columns:1fr;gap:12px}.operativo .card{max-height:none}.operativo .lista{max-height:420px}.vps-serv{margin-left:0}.reg-cat{width:70px}.mini-kpi b{font-size:16px}}
.vps-serv[hidden]{display:none}
@media (min-width:761px){.tab{padding:9px 10px}}

/* A8.2: gerarchia, sintesi espandibili, critici evidenziati, fonti distinte */
.situazione{grid-area:sit;display:flex;gap:10px;flex-wrap:wrap}
.sit{display:flex;align-items:baseline;gap:8px;text-decoration:none;color:var(--testo2);background:var(--card);border:1px solid var(--bordo);border-radius:10px;padding:8px 14px;min-width:0}
.sit b{font-size:18px;color:var(--testo)}.sit span{font-size:12.5px}
.sit.critico{border-color:rgba(239,75,91,.7);background:rgba(239,75,91,.14)}.sit.critico b{color:#ff8f99}
.sit.avviso{border-color:rgba(242,179,61,.5)}.sit.avviso b{color:var(--giallo)}.sit.ok b{color:var(--verde)}
.testo.sintesi{font-weight:600}
.dettagli-risp{margin-top:6px;border-top:1px solid var(--bordo);padding-top:6px;white-space:normal}
.dettagli-risp summary{cursor:pointer;font-size:12.5px;color:#7db6ff}
.det-gruppo{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--testo3);margin:8px 0 2px}
.det-gruppo.critico{color:#ff8f99}.det-gruppo.avviso{color:var(--giallo)}
.det-riga{font-size:12.5px;padding:3px 0 3px 8px;border-left:2px solid var(--bordo2);overflow-wrap:anywhere}
.det-riga.critico{border-left-color:var(--rosso);color:#ffb3ba}.det-riga.avviso{border-left-color:var(--giallo)}
.riga-critica{background:rgba(239,75,91,.10);border-radius:8px;padding-left:6px!important}
.vps-prob.critico{color:#ff8f99;font-weight:600}
#vps-fonte{display:flex;flex-direction:column;gap:5px}
.fonte-riga{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}
.fonte-tag{font-size:10.5px;font-weight:700;padding:1px 7px;border-radius:5px;white-space:nowrap}
.fonte-tag.est{background:rgba(47,140,255,.15);color:#7db6ff}.fonte-tag.sto{background:rgba(123,108,255,.18);color:#b3a9ff}.fonte-tag.ko{background:rgba(239,75,91,.18);color:#ff8f99}
@media (max-width:760px){.situazione{gap:6px}.sit{padding:6px 10px;flex:1 1 30%}.sit b{font-size:16px}.sit span{font-size:11.5px}}
/* A8.3: pannello vocale con l'avatar IAI originale (regole dell'avatar in iai-avatar.css, verbatim) */
.adm-avatar{display:flex;gap:18px;align-items:center;margin:2px 0 10px;border:1px solid #1d2740;border-radius:14px;background:#050b15;overflow:hidden;padding:8px 18px 10px;position:relative;isolation:isolate}
.adm-av-scena{flex:0 0 210px;position:relative}
.adm-avatar .ih-av-box{cursor:pointer;padding:12px}
.adm-avatar .ih-av-box:focus-visible{outline:2px solid #34d6c8;outline-offset:4px}
.adm-avatar .ih-av .ih-stato{font-size:12px;padding:6px 14px;position:relative;z-index:4}
.adm-av-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px;position:relative;z-index:4}
.adm-av-marchio{font-weight:800;font-size:21px;letter-spacing:.4px;color:#eaf5ff}
.adm-av-sub{font-size:12.5px;color:var(--testo2)}
.adm-av-info .voce-nota{font-size:12px;color:var(--testo3);min-height:16px}
.adm-av-azioni{display:flex;gap:8px;flex-wrap:wrap}
.adm-av-azioni .btn-sec:disabled{opacity:.4;cursor:not-allowed}
.mic:disabled{opacity:.4;cursor:not-allowed}
@media (max-width:760px){
  .adm-avatar{flex-direction:column;gap:8px;padding:6px 10px 12px}
  .adm-av-scena{flex:none;width:min(240px,72%)}
  .adm-av-info{align-items:center;text-align:center}
  .adm-av-marchio{font-size:19px}
}
.fonte-tag.av{background:rgba(242,179,61,.18);color:var(--giallo)}
.riga-monitor .all-txt{color:var(--giallo)}
.sit.monitor{border-style:dashed}
.sit{flex-wrap:wrap}.sit span{overflow-wrap:anywhere;min-width:0}
.adm-avatar .ih-av-box .ih-av-fb{font-size:12px}.adm-avatar .ih-av-fb b{font-size:13.5px;margin-bottom:4px}
/* A8.5: pannello compatto + etichetta VOCE SIMULATA */
.adm-avatar{padding:6px 14px 8px;gap:14px}
.adm-av-scena{flex:0 0 170px}
.adm-avatar .ih-av-box{padding:8px}
.adm-avatar .ih-av .ih-stato{font-size:11.5px;padding:5px 12px}
.adm-av-marchio{font-size:18px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.adm-av-badge{position:absolute;top:8px;left:10px;z-index:5;font-size:10.5px;font-weight:800;letter-spacing:.8px;color:#1a1300;background:#f2b33d;border-radius:6px;padding:3px 8px}
.adm-av-badge.in-linea{position:static}
.adm-av-badge[hidden]{display:none}
@media (min-width:761px){.adm-av-badge:not(.in-linea){display:none}}
@media (max-width:760px){.adm-av-scena{width:min(190px,58%)}.adm-avatar{padding:6px 10px 10px}.adm-av-marchio{justify-content:center}}
@media (max-width:760px){
  .adm-avatar{flex-direction:row;align-items:center;gap:10px;padding:6px 10px 8px}
  .adm-av-scena{flex:0 0 132px;width:132px}
  .adm-av-info{align-items:flex-start;text-align:left;gap:4px}
  .adm-av-marchio{font-size:16px;justify-content:flex-start}
  .adm-av-sub{display:none}
  .adm-av-info .voce-nota{font-size:11px;line-height:1.35}
  .adm-avatar .ih-av .ih-stato{font-size:10.5px;padding:4px 9px;white-space:nowrap}
  .adm-av-badge:not(.in-linea){display:none}
  .adm-avatar .ih-av-box .ih-av-fb{font-size:10.5px}.adm-avatar .ih-av-fb b{font-size:11.5px}
  .adm-av-azioni .btn-sec{padding:5px 9px;font-size:12px}
}
/* A8.6: trascrizione nel pannello, errori vocali, voce reale, smartphone essenziale, safe-area */
.voce-trascr{font-size:12.5px;color:#cfe3f7;min-height:0;overflow-wrap:anywhere;max-height:3.2em;overflow:hidden}
.voce-trascr:empty{display:none}
.voce-nota.errore{color:var(--giallo)}
.adm-av-badge.reale{background:#34d6c8;color:#04211f}
.nav-mobile{padding-bottom:env(safe-area-inset-bottom,0px)}
@media (max-width:760px){
  body{padding-bottom:calc(52px + env(safe-area-inset-bottom,0px))}
  .adm-av-info .voce-nota{display:none}
  .adm-av-info .voce-nota.errore{display:block}
  .voce-trascr{font-size:12px;max-height:4.2em}
}

/* Gate A9: patch proposta */
.patch{margin-top:10px;border:1px solid var(--bordo2);border-radius:10px;padding:10px;background:var(--card2);min-width:0}
.patch.non-valida{border-color:var(--rosso)}
.patch h5{margin:0 0 6px;font-size:.92rem}
.patch-file{font-size:.85rem;margin:3px 0;overflow-wrap:anywhere}
.patch details{margin-top:8px}
.patch summary{cursor:pointer;font-size:.85rem}
pre.diff,pre.codice{margin:6px 0 0;max-height:360px;overflow:auto;font:12px/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:var(--bg);color:var(--testo);border:1px solid var(--bordo);border-radius:8px;padding:8px;white-space:pre;max-width:100%}
pre.diff span{display:block}
pre.diff .d-agg{background:rgba(46,160,67,.25);color:#b8f0c2}
pre.diff .d-rim{background:rgba(248,81,73,.25);color:#ffc1bd}
pre.diff .d-blocco{color:#79b8ff}
pre.diff .d-file{color:#9aa4ae;font-weight:600}
.patch-cmp{display:block}
.patch-coppia{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:6px}
.patch-coppia>div{min-width:0}
@media (max-width:760px){.patch-coppia{grid-template-columns:1fr}}

/* Gate A13: accesso, flusso del piano, approvazione indipendente */
.acc-card{max-width:380px;width:calc(100% - 32px)}.acc-card form{display:grid;gap:6px;margin:10px 0}.acc-card label{font-size:12.5px;color:var(--testo3)}
.acc-card input{font:inherit;padding:9px 10px;border-radius:8px;border:1px solid #2a3a57;background:#0a1322;color:inherit}.acc-card .btn{margin-top:8px}
.acc-msg{min-height:1.2em;font-size:13px;color:#ff8a8a}
.flusso{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.flusso span{font-size:11.5px;padding:3px 8px;border-radius:999px;border:1px solid #3a4a66;color:var(--testo2)}
.flusso .ok{border-color:#2f8f62;color:#7fe0b0}.flusso .ko{border-color:#b8323e;color:#ff9aa2}.flusso .sim{border-style:dashed}.flusso .attesa{border-color:#8a6d2a;color:#ffc24d}
.btn.pk{background:linear-gradient(180deg,#2b8fd6,#1f6fae)}
.ese{margin-top:8px;font-size:12.5px;white-space:pre-wrap;color:var(--testo2)}

/* saldi dei provider */
.saldo{border-top:1px solid var(--bordo);padding:10px 0}.saldo:first-child{border-top:0}
.saldo dl{display:grid;grid-template-columns:max-content 1fr;gap:3px 10px;margin:6px 0;font-size:12.5px}.saldo dt{color:var(--testo3)}.saldo dd{margin:0;overflow-wrap:anywhere}
.saldo dd.nd{color:#ffc24d}
.saldo .fonte{overflow-wrap:anywhere}
.pz-st.eseguito{background:rgba(38,194,129,.15);color:var(--verde)}.pz-st.fallito,.pz-st.revocato{background:rgba(239,75,91,.15);color:#ff8f99}
.pz-st.in_esecuzione,.pz-st.deciso_si_staging{background:rgba(255,194,77,.15);color:#ffc24d}

/* scheda VPS */
.vps-nome.link{background:none;border:0;color:inherit;font:inherit;font-weight:700;cursor:pointer;text-decoration:underline dotted;padding:0}
.vps-scheda{max-width:720px;width:calc(100% - 32px);background:#0d1726;color:inherit;border:1px solid #2a3a57;border-radius:12px;padding:16px}
.vps-scheda::backdrop{background:rgba(3,8,15,.7)}.vs-testa{display:flex;justify-content:space-between;align-items:center;gap:10px}
.vs-testa h2{margin:0;font-size:17px}.vps-scheda h3{font-size:13.5px;margin:14px 0 6px}
.vs-dati{display:grid;grid-template-columns:max-content 1fr;gap:4px 14px;font-size:13px;margin:10px 0}.vs-dati dt{color:var(--testo3)}.vs-dati dd{margin:0}

/* allegati della chat */
.clip svg{width:21px;height:21px}
.vassoio{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.alg{display:flex;align-items:center;gap:8px;max-width:100%;min-width:0;background:#0b1a2c;border:1px solid var(--bordo2);border-radius:10px;padding:6px 8px;font-size:12.5px;position:relative}
.alg .alg-th{width:40px;height:40px;border-radius:6px;object-fit:cover;flex:none;background:#08121f}
.alg .alg-ico{width:40px;height:40px;border-radius:6px;flex:none;display:grid;place-items:center;background:#122a46;color:var(--testo2);font-size:9.5px;font-weight:700;letter-spacing:0;white-space:nowrap;overflow:hidden}
.alg .alg-txt{display:flex;flex-direction:column;min-width:0;max-width:220px}
.alg .alg-nome{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--testo)}
.alg .alg-sub{color:var(--testo3);font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.alg .alg-x{border:0;background:transparent;color:var(--testo2);cursor:pointer;font-size:16px;line-height:1;padding:4px 6px;border-radius:6px;flex:none}
.alg .alg-x:hover{background:#1b3150;color:#fff}
.alg .alg-bar{position:absolute;left:8px;right:8px;bottom:3px;height:3px;border-radius:2px;background:#16304f;overflow:hidden}
.alg .alg-bar i{display:block;height:100%;width:0;background:var(--blu)}
.alg.errore{border-color:var(--rosso)}.alg.errore .alg-sub{color:#ff9aa4;white-space:normal}
.alg.pronto{border-color:#25507f}
.alg-msg{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.alg-msg .alg{cursor:pointer;background:#0a1626;padding:4px 8px}.alg-msg .alg:hover{border-color:var(--blu)}
.alg-msg .alg .alg-th,.alg-msg .alg .alg-ico{width:32px;height:32px}
.riga-sistema.trasm{color:#ffd58a}
.drop-velo{position:absolute;inset:8px;border:2px dashed var(--blu);border-radius:12px;background:rgba(7,17,31,.86);display:grid;place-items:center;font-size:15px;color:#cfe3ff;z-index:5;pointer-events:none}
#chat{position:relative}
.alg-vista{max-width:900px}
#av-corpo img{max-width:100%;max-height:70vh;display:block;margin:8px auto;border-radius:8px;background:#08121f}
#av-corpo pre{white-space:pre-wrap;word-break:break-word;max-height:62vh;overflow:auto;background:#08121f;border:1px solid var(--bordo);border-radius:8px;padding:10px;font-size:12.5px}
#av-corpo .avvisi{color:#ffd58a;font-size:12.5px;margin:6px 0}
@media (max-width:760px){.alg .alg-txt{max-width:150px}.vassoio{gap:6px}.chat-in{gap:6px}.chat-in .mic,.chat-in .invia{width:42px}}
.vassoio[hidden],.drop-velo[hidden]{display:none}
.acc-card form[hidden]{display:none}
.col-centro .chat-log > :first-child{margin-top:auto}

/* ======================================================================================================
   RESTYLING DEFINITIVO (pre-pubblicazione): Dashboard in 4 aree, schede di dettaglio come viste separate.
   Le regole seguenti sostituiscono la vecchia griglia a tre colonne; il resto dello stile resta invariato.
   ====================================================================================================== */
.fuori-vista,.griglia>.vuota{display:none!important}
.griglia{display:flex;flex-direction:column;gap:16px;max-width:1760px;margin:0 auto;padding:14px 22px 28px}
/* A. barra KPI compatta + situazione */
.area-kpi{display:flex;flex-direction:column;gap:10px}
.situazione{gap:8px}.sit{padding:5px 12px}.sit b{font-size:15px}
.kpi-riga{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.kpi{padding:10px 16px;border-radius:var(--r)}
.kpi-tit{font-size:12.5px}
.kpi-val{font-size:24px;margin-top:2px}
.kpi-nota{font-size:11.5px;min-height:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
a.kpi{color:inherit;text-decoration:none;display:block}
a.kpi:hover{border-color:var(--bordo2)}
.kpi-allarmi.avviso{border-color:rgba(242,179,61,.55)}.kpi-allarmi.avviso .kpi-val{color:var(--giallo)}
.kpi-allarmi.critico{border-color:rgba(239,75,91,.7);background:linear-gradient(180deg,rgba(239,75,91,.14),#0c1a2c)}.kpi-allarmi.critico .kpi-val{color:#ff8f99}
.kpi-allarmi.ok .kpi-val{color:var(--verde)}
/* B. area centrale: chat 65% + VPS 35%, stessa altezza, scorrimento interno */
.area-centrale{display:grid;grid-template-columns:minmax(0,65fr) minmax(0,35fr);gap:16px;height:clamp(620px,calc(100vh - 210px),920px)}
.area-centrale>.card{display:flex;flex-direction:column;min-height:0;min-width:0}
.pannello-chat{padding:14px 16px 12px}
.pannello-chat>.card-tit{margin-bottom:10px}
.pannello-chat .chat-log{flex:1 1 auto;min-height:120px;height:auto;max-height:none;padding:4px 4px 8px;margin:0 -4px}
.pannello-chat .chat-log> :first-child{margin-top:auto}
.pannello-chat .agenti{margin-bottom:2px}.pannello-chat .limiti{margin-bottom:6px}
.pannello-chat .storico{flex:none}
.pannello-chat .chat-in{margin-top:6px}
.pannello-chat .suggerimenti{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;padding-bottom:2px;margin-top:6px}
.pannello-chat .sugg{white-space:nowrap;flex:none}
/* avatar integrato in testa alla chat (stesso componente, solo dimensioni) */
.pannello-chat .adm-avatar{flex:none;margin:0 0 8px;padding:6px 14px;gap:14px;align-items:center;border-radius:12px}
.pannello-chat .adm-av-scena{flex:0 0 92px;width:92px}
.pannello-chat .ih-av-box{aspect-ratio:1/1;padding:0;max-height:none}
.pannello-chat .ih-av-box .ih-iai svg{width:44%!important;max-width:none!important}
.pannello-chat .ih-av-box::after{width:78%}
.pannello-chat .ih-av-box .ih-av-fb{display:none}
.pannello-chat #iaiCloud{inset:-30%;width:160%;height:160%}
.pannello-chat .adm-av-info{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"m a" "s a" "n n" "t t";column-gap:12px;row-gap:3px;align-items:center}
.pannello-chat .adm-av-marchio{grid-area:m;font-size:16px}
.pannello-chat .adm-av-sub{display:none}
.pannello-chat .adm-av-stato{grid-area:s;justify-self:start}
.pannello-chat .adm-av-azioni{grid-area:a;align-self:center}
.pannello-chat .voce-nota{grid-area:n;font-size:11.5px;min-height:0;line-height:1.35}
.pannello-chat .voce-trascr{grid-area:t}
.adm-av-stato{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--testo2);border:1px solid rgba(120,180,255,.14);background:rgba(10,22,38,.5);border-radius:999px;padding:3px 10px;width:max-content;max-width:100%}
/* VPS: lista con scorrimento interno, intestazione e fonti sempre visibili */
.pannello-vps #vps-lista{flex:1 1 auto;min-height:0;overflow-y:auto;margin-right:-6px;padding-right:6px}
.pannello-vps .fonte{flex:none}
.pannello-vps .diag{flex:none}
/* C. area inferiore compatta: allarmi, piani, consumi per provider (stessa altezza) */
.area-bassa{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}
.area-bassa>.card{display:flex;flex-direction:column;min-height:0;max-height:460px}
.area-bassa .lista{flex:1 1 auto;min-height:0;overflow-y:auto}
.area-bassa .fonte{flex:none}
/* D. viste di dettaglio (schede): griglia uniforme, nessuna altezza fissa */
.area-dettaglio{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(460px,100%),1fr));gap:16px;align-items:start}
.area-dettaglio>.architettura,.area-dettaglio>.pilastri,.area-dettaglio>.avanzate{grid-column:1/-1}
.area-dettaglio>.card{display:flex;flex-direction:column}
.area-dettaglio .lista{max-height:none}
body:not([data-vista="dashboard"]) .area-centrale,body:not([data-vista="dashboard"]) .area-bassa{display:flex;flex-direction:column;height:auto}
body:not([data-vista="dashboard"]) .area-bassa>.card{max-height:none}
body[data-vista="chat"] .pannello-chat{height:clamp(560px,calc(100vh - 120px),1100px)}
body[data-vista="vps"] .pannello-vps #vps-lista{overflow:visible}
body[data-vista="registro"] #reg-lista,body[data-vista="allarmi"] #reg-lista{max-height:none}
/* uniformita': titoli, badge e pulsanti */
.card{padding:14px 16px}
.card-tit{margin-bottom:10px}
.card-tit h2{font-size:16px}
.etichetta{font-size:11.5px;padding:3px 9px}
.tab.attivo{border:1px solid var(--bordo2)}
.nav-mobile a.attivo{color:#fff;background:rgba(47,140,255,.18)}
.tab-dati{display:table}
.area-dettaglio .tab-dati,.area-bassa .tab-dati{display:block;overflow-x:auto}
/* laptop 1366x768 e tablet */
@media (max-width:1400px){.kpi-val{font-size:21px}.kpi{padding:9px 13px}.area-centrale{height:clamp(600px,calc(100vh - 190px),860px)}}
@media (max-width:1100px){
  .area-centrale{grid-template-columns:1fr;height:auto}
  .pannello-chat{height:clamp(560px,82vh,860px)}
  .pannello-vps{max-height:none}
  .pannello-vps #vps-lista{overflow:visible}
  .area-bassa{grid-template-columns:repeat(2,minmax(0,1fr))}
  .area-bassa>#costi{grid-column:1/-1}
  .kpi-riga{grid-template-columns:repeat(3,minmax(0,1fr))}
}
/* smartphone: una colonna, chat utilizzabile, input sempre raggiungibile */
@media (max-width:760px){
  .griglia{padding:10px 12px 20px;gap:12px}
  .kpi-riga{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .kpi-allarmi{grid-column:1/-1}
  .kpi{padding:8px 12px}.kpi-val{font-size:19px}.kpi-nota{white-space:normal}
  .situazione{gap:6px}.sit{flex:1 1 auto}
  .area-bassa{grid-template-columns:1fr}
  .area-bassa>.card{max-height:420px}
  .pannello-chat{height:calc(100svh - 120px);min-height:520px;padding:10px 10px 8px}
  body[data-vista="chat"] .pannello-chat{height:calc(100svh - 120px)}
  .pannello-chat .adm-avatar{padding:4px 10px;gap:10px}
  .pannello-chat .adm-av-scena{flex:0 0 64px;width:64px}
  .pannello-chat .adm-av-info{grid-template-areas:"m m" "s a" "n n" "t t"}
  .pannello-chat .adm-av-marchio{font-size:14px}
  .pannello-chat .voce-nota{display:none}
  .pannello-chat .adm-av-azioni .btn-sec{padding:4px 8px;font-size:11.5px}
  .pannello-chat .agenti{flex-wrap:nowrap;overflow-x:auto}
  .pannello-chat .limiti{display:none}
  .chat-azioni .btn-sec{padding:5px 8px}
  .area-dettaglio{grid-template-columns:1fr}
}
/* restyling: correzioni dopo la prova visiva */
.pannello-chat>*{flex-shrink:0}.pannello-chat>.chat-log{flex-shrink:1}
.area-centrale{height:clamp(620px,calc(100vh - 275px),900px)}
@media (max-width:1400px){.area-centrale{height:clamp(560px,calc(100vh - 230px),840px)}}
@media (max-width:1100px){.area-centrale{height:auto}}
.adm-av-stato{white-space:nowrap}
@media (max-width:760px){
  .pannello-chat .adm-av-info{grid-template-columns:minmax(0,1fr);grid-template-areas:"m" "s" "a" "t"}
  .pannello-chat .adm-av-stato{font-size:11px;padding:2px 8px;overflow:hidden;text-overflow:ellipsis}
  .pannello-chat .adm-av-azioni{justify-self:start}
  .pannello-chat .adm-av-badge.in-linea{font-size:9.5px;padding:2px 6px}
}
@media (max-width:1500px) and (min-width:761px){.brand-sub,.utente .nascondi-mobile{display:none}.brand-name{font-size:21px}.tab{padding:8px 9px;font-size:13.5px}.top{gap:12px;padding:10px 16px}.pill{padding:6px 11px}}
/* restyling: seconda prova visiva */
.pannello-vps #vps-lista{flex:0 1 auto}
.pannello-vps #vps-fonte{margin-top:12px}
.area-dettaglio .tab-dati,.area-bassa .tab-dati{display:table}
@media (max-width:760px){.area-dettaglio .tab-dati,.area-bassa .tab-dati{display:block;overflow-x:auto;white-space:nowrap}}
@media (max-width:1100px) and (min-width:761px){
  .top{flex-wrap:wrap}.tabs{order:3;width:100%;flex:1 1 100%}
  .kpi-riga{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.kpi-val{font-size:18px}.kpi{padding:8px 10px}
}
@media (max-width:760px){
  .top-dx{flex-wrap:wrap;gap:6px;width:100%}.top-dx .pill{padding:4px 10px;font-size:12.5px}.top-dx .avatar{width:28px;height:28px;font-size:11px}
  .top-dx #btn-esci{margin-left:auto}
  .sit{padding:4px 8px;flex:0 1 auto}.sit b{font-size:13.5px}.sit span{font-size:11px}
  .kpi-nota{display:none}.kpi{padding:7px 10px}.kpi-tit{font-size:11.5px}.kpi-val{font-size:17px}
  .kpi-riga{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.kpi-allarmi{grid-column:auto}
}
@media (max-width:760px){.top-dx{width:auto;flex-wrap:nowrap}.top-dx .utente{display:none}.top-dx #btn-esci{margin-left:0}}
.pannello-chat .vassoio{max-height:34%;overflow-y:auto}

.st-pronto{color:#7db6ff}.fn-stato.pronto{background:rgba(47,140,255,.15);color:#7db6ff}
