/* BredaNet Assistenza 2.9 */

/* Servizi cliente: una riga per servizio, descrizione al centro. */
.v29-public-services{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
.v29-public-service{display:grid!important;grid-template-columns:12px minmax(180px,.75fr) minmax(260px,1.55fr) auto!important;align-items:center;gap:16px;min-height:92px}
.v29-service-name b,.v29-service-name small{display:block}.v29-service-name small{margin-top:5px;color:#74879a;font-size:.72rem}
.v29-public-service>p{margin:0!important;color:#60758a!important;font-size:.82rem!important;line-height:1.5}
.v29-service-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;white-space:nowrap}

/* Domini e servizi: azioni sempre ordinate in una matrice 2 x 2. */
.v281-domain-row{grid-template-columns:minmax(230px,1.25fr) 112px 116px minmax(150px,.85fr) minmax(145px,.8fr) 208px!important;column-gap:17px!important}
.v281-domain-row>div>small:first-child{display:block;margin-bottom:5px}
.v281-domain-row .v28-domain-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px!important;justify-content:stretch!important;align-items:stretch!important;width:208px}
.v281-domain-row .v28-domain-actions form{display:contents!important}
.v281-domain-row .v28-domain-actions button,.v281-domain-row .v28-domain-actions .button{display:flex!important;align-items:center;justify-content:center;min-height:38px!important;padding:7px 9px!important;font-size:.73rem!important;width:100%;margin:0!important}

/* Integrazioni. */
.v29-integrations>header,.v29-client-devices>header,.v29-device-detail>header{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:20px}
.v29-integration-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.v29-integration-card{display:flex;flex-direction:column;gap:12px;margin:0!important}
.v29-integration-card .section-title{align-items:flex-start}.v29-integration-card .section-title p{margin:.3rem 0 0;color:#718397}
.v29-integration-card details{border-top:1px solid #e4ebf1;padding-top:11px}.v29-integration-card summary{cursor:pointer;font-weight:800;color:#29445e}
.v29-integration-card details[open] summary{margin-bottom:13px}.v29-integration-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.v29-events article{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(220px,1.5fr) auto;gap:14px;padding:11px 0;border-bottom:1px solid #e8eef3}.v29-events article:last-child{border-bottom:0}.v29-events article span{color:#60758a}.v29-events article small{white-space:nowrap;color:#7a8b9d}

/* Apparati cliente. */
.v29-device-list{display:grid;gap:10px}.v29-device-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px;border:1px solid #dce6ed;border-radius:13px;text-decoration:none;color:inherit;background:#fff;transition:.15s ease}
.v29-device-card:hover{border-color:#77b9e9;box-shadow:0 8px 24px rgba(28,92,142,.1);transform:translateY(-1px)}
.v29-device-card>div{display:grid;grid-template-columns:13px 1fr;column-gap:10px;min-width:0}.v29-device-card b,.v29-device-card small{grid-column:2}.v29-device-card small{margin-top:4px;color:#74879a}.v29-device-card>span{color:#1479c5;font-weight:800;white-space:nowrap}
.v29-device-detail>section{margin-bottom:14px}.v29-device-detail section>article{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #e9eef2}.v29-device-detail section>article small{color:#73869a}

/* Telemetria: provenienza e ultimo campione. */
.v29-wan-meta{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:10px;color:#718397;font-size:.68rem}.v29-wan-meta b{color:#405a72}

/* Menu file: il JS sceglie automaticamente il verso di apertura. */
.v24-file-menu>div{max-width:calc(100vw - 24px)}
.v24-file-menu.v29-open-up>div{top:auto!important;bottom:calc(100% + 6px)}

/* Evita il taglio del riquadro aggiornamenti nella dashboard. */
.v264-update-slot,.v264-update-slot .device-update-card{min-width:0;overflow:visible!important}
.v264-update-slot .device-update-card b,.v264-update-slot .device-update-card small{white-space:normal!important;overflow-wrap:anywhere}

/* Voucher: su tablet mantieni righe più orizzontali e leggibili. */
@media (min-width:700px) and (max-width:1050px){
  .v24-voucher-row{grid-template-columns:repeat(4,minmax(120px,1fr))!important}
  .v24-voucher-actions{grid-column:auto!important;justify-content:flex-end!important}
}

/* Solo app installata: tre indicatori sulla stessa riga e più spazio alla chat. */
@media (display-mode:standalone){
  .v24-ai-stats{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
  .v24-ai-stats>div{padding:11px 12px!important;min-width:0}.v24-ai-stats b{font-size:1rem!important}.v24-ai-stats span{font-size:.67rem!important;overflow-wrap:anywhere}
  .v24-ai-side>section:first-child{display:none!important}
  .v24-ai-side{display:block!important;grid-template-columns:1fr!important;align-self:start!important;justify-self:end!important;width:100%;max-width:520px}.v24-ai-side>section{height:auto!important;min-height:0!important;padding:12px!important}
  .v24-last-report{max-height:150px;overflow:auto}.v24-ai-chat{min-height:62vh}
}
.pwa-standalone .v24-ai-stats{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
.pwa-standalone .v24-ai-side>section:first-child{display:none!important}.pwa-standalone .v24-ai-side{display:block!important;grid-template-columns:1fr!important;align-self:start!important;justify-self:end!important;width:100%;max-width:520px}.pwa-standalone .v24-ai-side>section{height:auto!important;min-height:0!important}.pwa-standalone .v24-ai-chat{min-height:62vh}

@media (display-mode:standalone) and (min-width:901px) and (max-width:1250px){
  .v24-ai-side{grid-column:2!important}
}
@media (min-width:901px) and (max-width:1250px){
  .pwa-standalone .v24-ai-side{grid-column:2!important}
}

/* Assistente 2.9. */
.v29-ai-options{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.v29-ai-options select{width:auto;min-width:150px}.v29-ai-tools{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.v29-ai-working{position:fixed;inset:0;z-index:1000;background:rgba(9,29,48,.55);display:grid;place-items:center}.v29-ai-working[hidden]{display:none}.v29-ai-working>div{width:min(380px,calc(100vw - 32px));padding:22px;border-radius:16px;background:#fff;box-shadow:0 22px 70px rgba(0,0,0,.25);text-align:center}.v29-ai-working .ai-orb{margin:auto auto 12px}.v29-ai-working button{margin-top:13px}
.v29-ticket-draft textarea{min-height:220px}.v29-export-link{font-size:.78rem;font-weight:800}

@media (max-width:1250px){
  .v281-domain-row{grid-template-columns:minmax(210px,1.2fr) 110px 120px minmax(145px,.8fr) 208px!important}.v281-domain-row>div:nth-child(5){display:none}
  .v29-integration-grid{grid-template-columns:1fr}
}
@media (max-width:900px){
  .v29-public-service{grid-template-columns:12px minmax(130px,.8fr) minmax(180px,1.2fr) auto!important;gap:11px}
  .v29-events article{grid-template-columns:1fr}.v29-events article small{white-space:normal}
}
@media (max-width:760px){
  .v29-public-service{grid-template-columns:12px 1fr!important;align-items:start}.v29-public-service>p,.v29-service-actions{grid-column:2}.v29-service-actions{justify-content:flex-start;flex-wrap:wrap}
  .v281-domain-row .v28-domain-actions{width:100%;max-width:300px}
  .v29-integrations>header,.v29-client-devices>header,.v29-device-detail>header{align-items:flex-start;flex-direction:column}
  .v29-device-card{align-items:flex-start;flex-direction:column}.v29-device-card>span{padding-left:23px}
  .v24-ai-stats,.pwa-standalone .v24-ai-stats{grid-template-columns:repeat(3,minmax(0,1fr))!important}.v24-ai-stats>div{padding:10px 8px!important}
}

/* Assistente admin: due colonne; ultimo controllo sotto la chat anche da browser. */
.v24-ai-console{grid-template-columns:260px minmax(0,1fr)!important}
.v24-ai-side{display:block!important;grid-column:2!important;position:static!important;align-self:start!important;justify-self:stretch!important;width:100%!important;max-width:none!important}
.v24-ai-side>section:first-child{display:none!important}
.v24-ai-side>section:last-child{height:auto!important;min-height:0!important;padding:12px 14px!important}
.v24-ai-side .v24-last-report{max-height:150px!important;overflow:auto}
@media(max-width:1250px){.v24-ai-console{grid-template-columns:230px minmax(0,1fr)!important}.v24-ai-side{grid-column:2!important}}
@media(max-width:900px){.v24-ai-console{grid-template-columns:1fr!important}.v24-ai-side{grid-column:1!important}}
