/* BredaNet Assistenza v2.7.1 — hotfix WAN, responsive e overflow */
:root{
  --v27-green:#168b4b;
  --v27-green-bg:#eefaf3;
  --v27-green-border:#a9dfbd;
  --v27-amber:#b86d00;
  --v27-amber-strong:#9a5700;
  --v27-amber-bg:#fff7e7;
  --v27-amber-border:#efc56f;
  --v27-red:#c73545;
  --v27-red-bg:#fff1f3;
  --v27-red-border:#efabb4;
  --v27-blue:#167ac6;
  --v27-blue-bg:#eef7ff;
  --v27-blue-border:#bad9f2;
  --v27-ink:#17324a;
  --v27-muted:#6c8194;
  --v27-line:#dce7ef;
}

/* Più spazio utile su desktop, senza appoggiare i contenuti ai bordi. */
@media (min-width:1200px){
  body .shell>main{padding-left:clamp(16px,1.3vw,22px)!important;padding-right:clamp(16px,1.3vw,22px)!important}
  body .shell>main>header,
  body .shell>main>.v264-dashboard,
  body .shell>main>.v27-wan-admin,
  body .shell>main>.v27-client-network-admin,
  body .shell>main>.v251-page,
  body .shell>main>.account-page{max-width:none!important}
}

/* Dashboard hero: il gruppo WAN + aggiornamento resta sempre dentro la larghezza utile. */
body .shell>main{min-width:0}
.v27-dashboard{width:100%;max-width:100%;min-width:0;overflow-x:clip;box-sizing:border-box}
.v27-hero,.v27-hero-cards,.v27-hero-cards>*{min-width:0;max-width:100%;box-sizing:border-box}
.v27-hero{grid-template-columns:minmax(300px,.70fr) minmax(0,1.30fr)!important;gap:18px!important;width:100%;max-width:100%}
.v27-hero-cards{display:grid;grid-template-columns:minmax(245px,320px) minmax(0,1fr);gap:12px;align-items:stretch;width:100%;max-width:100%;min-width:0}
.v27-hero-cards>.v264-update-slot{min-width:0;width:100%;height:100%}
.v27-hero-cards .device-update-card{width:100%;max-width:100%;height:100%;box-sizing:border-box;min-height:142px!important;padding:18px 20px!important}
/* Nella card compatta il badge va sotto il titolo: niente titolo troncato. */
.v27-wan-card.compact .v27-wan-head{grid-template-columns:auto minmax(0,1fr)}
.v27-wan-card.compact .v27-wan-head .v27-wan-badge{grid-column:2;justify-self:start;max-width:100%;margin-top:2px}
.v27-wan-card.compact .v27-wan-head h2{white-space:normal;overflow:visible;text-overflow:clip}


/* Riquadro Connessione attiva */
.v27-wan-card{position:relative;display:flex;flex-direction:column;min-width:0;box-sizing:border-box;border:1px solid var(--v27-line);border-radius:17px;padding:16px 18px;background:#fff;box-shadow:0 8px 22px rgba(23,66,103,.05);overflow:hidden}
.v27-wan-card.compact{min-height:142px}
.v27-wan-card.primary{background:linear-gradient(135deg,var(--v27-green-bg),#fbfffc);border-color:var(--v27-green-border)}
.v27-wan-card.backup{background:linear-gradient(135deg,#fff3d9,var(--v27-amber-bg));border-color:var(--v27-amber-border);box-shadow:0 8px 24px rgba(184,109,0,.10)}
.v27-wan-card.offline{background:linear-gradient(135deg,var(--v27-red-bg),#fffafb);border-color:var(--v27-red-border)}
.v27-wan-card.unknown{background:linear-gradient(135deg,var(--v27-blue-bg),#fbfdff);border-color:var(--v27-blue-border)}
.v27-wan-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#8aa1b4}
.v27-wan-card.primary::before{background:var(--v27-green)}
.v27-wan-card.backup::before{background:#e79a13}
.v27-wan-card.offline::before{background:var(--v27-red)}
.v27-wan-card.unknown::before{background:var(--v27-blue)}
.v27-wan-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;align-items:center;min-width:0}
.v27-wan-head>div{min-width:0}
.v27-wan-head>div>small{display:block;font-size:.62rem;letter-spacing:.12em;font-weight:850;color:#768b9d;margin-bottom:2px}
.v27-wan-head h2{font-size:.98rem!important;line-height:1.15;margin:0!important;color:var(--v27-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v27-wan-dot{width:10px;height:10px;border-radius:50%;background:#8aa1b4;box-shadow:0 0 0 4px rgba(138,161,180,.12)}
.v27-wan-card.primary .v27-wan-dot{background:var(--v27-green);box-shadow:0 0 0 4px rgba(22,139,75,.12)}
.v27-wan-card.backup .v27-wan-dot{background:#e39000;box-shadow:0 0 0 4px rgba(227,144,0,.15);animation:v27Pulse 2s ease-in-out infinite}
.v27-wan-card.offline .v27-wan-dot{background:var(--v27-red);box-shadow:0 0 0 4px rgba(199,53,69,.13)}
.v27-wan-card.unknown .v27-wan-dot{background:var(--v27-blue)}
@keyframes v27Pulse{0%,100%{box-shadow:0 0 0 4px rgba(227,144,0,.12)}50%{box-shadow:0 0 0 8px rgba(227,144,0,.03)}}
.v27-wan-badge{max-width:135px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-radius:999px;padding:5px 8px;font-size:.64rem;font-weight:850;background:rgba(255,255,255,.75);border:1px solid rgba(97,126,147,.18);color:#35566f}
.v27-wan-card.primary .v27-wan-badge{color:#116c3a;border-color:#b7e3c7;background:#f5fff8}
.v27-wan-card.backup .v27-wan-badge{color:#955900;border-color:#efd49d;background:#fffaf0}
.v27-wan-card.offline .v27-wan-badge{color:#a72937;border-color:#efbdc3;background:#fff8f9}
.v27-wan-status{display:flex;align-items:baseline;gap:8px;min-width:0;margin:11px 0 7px}
.v27-wan-status b{font-size:.86rem;color:#173b55;white-space:nowrap}
.v27-wan-status span{min-width:0;color:#718698;font-size:.73rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v27-wan-limit{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid rgba(87,122,145,.13);padding-top:8px;margin-top:auto;min-width:0}
.v27-wan-limit small{font-size:.58rem;letter-spacing:.10em;font-weight:900;color:#8294a3;white-space:nowrap}
.v27-wan-limit strong{font-size:.74rem;color:#34556d;text-align:right;white-space:nowrap}
.v27-wan-card.backup .v27-wan-limit{margin-top:5px;border:1px solid #ecc16a;background:#fff1c9;border-radius:10px;padding:8px 10px}
.v27-wan-card.backup .v27-wan-limit small{color:#8e5200}
.v27-wan-card.backup .v27-wan-limit strong{font-size:.92rem;color:var(--v27-amber-strong);font-weight:900}
.v27-wan-warning{margin:8px 0 2px!important;padding:7px 9px;border-radius:9px;background:rgba(255,255,255,.66);font-size:.7rem;line-height:1.35;color:#75501c}
.v27-wan-card.offline .v27-wan-warning{color:#9a2633}
.v27-wan-card.compact>a{font-size:.68rem;font-weight:800;align-self:flex-start;margin-top:7px}

/* Versione estesa, usata nella pagina amministrativa WAN. */
.v27-wan-card.extended{padding:20px 22px;margin-bottom:16px;min-height:0}
.v27-wan-card.extended .v27-wan-head h2{font-size:1.25rem!important}
.v27-wan-card.extended .v27-wan-badge{max-width:240px;font-size:.72rem;padding:6px 10px}
.v27-wan-card.extended .v27-wan-status{margin:13px 0 10px}.v27-wan-card.extended .v27-wan-status b{font-size:1rem}.v27-wan-card.extended .v27-wan-status span{font-size:.82rem}
.v27-wan-card.extended .v27-wan-limit{justify-content:flex-start;gap:18px;width:max-content;max-width:100%;padding:9px 12px;border:1px solid rgba(82,115,138,.15);border-radius:10px;background:rgba(255,255,255,.58)}
.v27-wan-card.extended.backup .v27-wan-limit{border-color:#e5b858;background:#fff0c2}
.v27-wan-card.extended .v27-wan-limit strong{font-size:1rem}
.v27-wan-card.extended.backup .v27-wan-limit strong{font-size:1.18rem}
.v27-wan-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:15px 0 4px}
.v27-wan-details>div{min-width:0;border:1px solid rgba(89,123,147,.15);border-radius:10px;background:rgba(255,255,255,.58);padding:10px 11px}
.v27-wan-details small{display:block;color:#7c8f9f;font-size:.67rem;margin-bottom:4px}.v27-wan-details b{display:block;color:#274a64;font-size:.82rem;overflow-wrap:anywhere}
.v27-wan-card.extended>a{margin-top:10px;font-weight:800}

/* Pagina Gestione WAN e failover */
.v27-wan-admin{display:block;color:var(--v27-ink);min-width:0}
.v27-wan-admin>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}
.v27-wan-admin>header h1{margin:.1rem 0 .35rem}.v27-wan-admin>header p:last-child{margin:0;color:var(--v27-muted)}
.v27-wan-admin>header form{flex:0 0 auto}
.v27-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:14px}
.v27-settings-grid>.card,.v27-wan-admin>form>.card,.v27-wan-admin>section.card{border:1px solid var(--v27-line)!important;border-radius:16px!important;box-shadow:0 7px 22px rgba(23,66,103,.045)!important;padding:18px!important;margin:0 0 14px!important;min-width:0}
.v27-settings-grid>.card h2{font-size:1.02rem;margin-top:0}.v27-settings-grid label{min-width:0}
.v27-settings-grid input,.v27-settings-grid select,.v27-settings-grid textarea{width:100%;box-sizing:border-box}
.v27-settings-grid .check{display:flex;align-items:flex-start;gap:8px;margin:10px 0;font-weight:700}.v27-settings-grid .check input{width:auto!important;margin-top:2px}
.v27-backup-settings{border-color:#edce8b!important;background:linear-gradient(180deg,#fffdf7,#fffaf0)!important}
.v27-client-pref-list{display:grid;gap:8px}
.v27-client-pref{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px;align-items:center;border:1px solid #e2ebf2;border-radius:11px;padding:10px 12px;background:#fbfdff}
.v27-client-pref>span{min-width:0}.v27-client-pref>span b,.v27-client-pref>span small{display:block}.v27-client-pref>span small{color:var(--v27-muted);font-size:.72rem;margin-top:2px}.v27-client-pref>label{display:flex;align-items:center;gap:6px;white-space:nowrap;font-size:.78rem;font-weight:750}.v27-client-pref input{width:auto!important}
.v27-event-list{display:grid;gap:0}.v27-event-row{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #e7eef4}.v27-event-row:last-child{border-bottom:0}.v27-event-row>div{min-width:0}.v27-event-row b,.v27-event-row small{display:block}.v27-event-row small{color:var(--v27-muted);font-size:.72rem;margin-top:3px;overflow-wrap:anywhere}.v27-event-row time{font-size:.68rem;color:#8395a5;white-space:nowrap}

/* Multi-VLAN e approvazione client. */
.v27-client-network-admin{border:1px solid #cfdfeb!important;border-radius:16px!important;background:#fff!important;box-shadow:0 7px 22px rgba(23,66,103,.045)!important;margin-bottom:16px!important}
.v27-admin-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.v27-admin-pair>form{min-width:0;border:1px solid #e1eaf1;border-radius:13px;background:#f9fcfe;padding:14px}.v27-admin-pair h3{margin:0 0 11px;font-size:.94rem;color:#284b64}.v27-admin-pair button{margin-top:12px}
.v27-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:360px;overflow:auto;padding-right:3px}
.v27-choice{display:flex!important;align-items:flex-start;gap:9px;border:1px solid #dde8f0;border-radius:10px;background:#fff;padding:10px;min-width:0;cursor:pointer;font-weight:500!important}.v27-choice input{flex:0 0 auto;width:auto!important;margin-top:3px}.v27-choice span{min-width:0}.v27-choice b,.v27-choice small{display:block}.v27-choice b{font-size:.8rem;color:#27465f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v27-choice small{font-size:.68rem;color:#7c8e9d;margin-top:2px;overflow-wrap:anywhere}

/* Nuove due card in fondo alla Dashboard. */
.v27-extra-grid{margin-top:0!important}
.v27-maint-row{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #e9f0f5;color:var(--v27-ink)}.v27-maint-row:last-child{border-bottom:0}.v27-maint-row>span:nth-child(2){min-width:0}.v27-maint-row b,.v27-maint-row small{display:block}.v27-maint-row b{font-size:.86rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v27-maint-row small{font-size:.72rem;color:var(--v27-muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v27-maint-row em{font-style:normal;font-size:.68rem;font-weight:850;color:#9b6400;background:#fff5dc;border-radius:999px;padding:5px 8px;white-space:nowrap}

/* Login persistente / PWA */
.v27-remember{display:flex!important;align-items:flex-start!important;gap:8px;margin:4px 0 0!important;font-size:.82rem!important;font-weight:700!important;color:#31506a!important}.v27-remember input{width:auto!important;flex:0 0 auto;margin-top:2px}.v27-remember-note{display:block;color:#798c9d;font-size:.7rem;line-height:1.35;margin:3px 0 10px}

/* Account: client collegati segue la card di utilizzo e mantiene la stessa larghezza. */
.v26-account-clients{margin-top:14px!important}

/* Tablet */
@media(max-width:1199px){
  .v27-hero{grid-template-columns:1fr!important}
  .v27-hero-cards{grid-template-columns:minmax(245px,320px) minmax(0,1fr)}
  .v27-settings-grid{grid-template-columns:1fr}
  .v27-admin-pair{grid-template-columns:1fr}
}
@media(max-width:900px){
  .v27-hero-cards{grid-template-columns:1fr}
  .v27-wan-details{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v27-choice-grid{grid-template-columns:1fr}
}

/* Smartphone: nessuno scroll orizzontale e gerarchia verticale chiara. */
@media(max-width:760px){
  html,body{max-width:100%;overflow-x:hidden}
  body .shell>main{min-width:0!important;padding-left:12px!important;padding-right:12px!important}
  .v27-dashboard,.v27-dashboard *,.v27-wan-admin,.v27-wan-admin *{box-sizing:border-box}
  .v27-hero{gap:10px!important;margin-bottom:12px!important}
  .v27-hero .v264-greeting{padding:3px 1px 5px}.v27-hero .v264-greeting h1{font-size:clamp(1.75rem,8.5vw,2.25rem)}.v27-hero .v264-greeting p:last-child{font-size:.91rem}
  .v27-hero-cards{display:grid;grid-template-columns:1fr;gap:9px;width:100%}
  .v27-wan-card.compact{min-height:0;padding:13px 14px;border-radius:14px}
  .v27-hero-cards .device-update-card{min-height:0!important;padding:14px 16px!important;border-radius:14px!important}
  .v27-wan-head{grid-template-columns:auto minmax(0,1fr)}
  .v27-wan-head .v27-wan-badge{grid-column:2;justify-self:start;max-width:100%;margin-top:2px}
  .v27-wan-head h2{white-space:normal;overflow:visible}
  .v27-wan-status{margin:9px 0 7px;flex-wrap:wrap;row-gap:2px}.v27-wan-status span{white-space:normal;overflow:visible}
  .v27-wan-limit{align-items:flex-start;flex-direction:column;gap:3px}
  .v27-wan-limit strong{text-align:left;white-space:normal}
  .v27-wan-card.backup .v27-wan-limit{display:block;padding:10px 11px}
  .v27-wan-card.backup .v27-wan-limit small{display:block;margin-bottom:3px}.v27-wan-card.backup .v27-wan-limit strong{display:block;font-size:1rem;line-height:1.25}
  .v27-wan-warning{font-size:.72rem;padding:8px 9px}
  .v27-wan-admin>header{flex-direction:column;align-items:stretch}.v27-wan-admin>header form,.v27-wan-admin>header button{width:100%}
  .v27-wan-card.extended{padding:15px 14px;border-radius:14px}.v27-wan-card.extended .v27-wan-head h2{font-size:1.08rem!important}.v27-wan-card.extended .v27-wan-badge{max-width:100%}
  .v27-wan-card.extended .v27-wan-limit{width:100%;display:block}.v27-wan-card.extended .v27-wan-limit small,.v27-wan-card.extended .v27-wan-limit strong{display:block}.v27-wan-card.extended .v27-wan-limit strong{margin-top:3px;white-space:normal}
  .v27-wan-details{grid-template-columns:1fr;gap:7px}
  .v27-settings-grid{gap:10px}.v27-settings-grid>.card,.v27-wan-admin>form>.card,.v27-wan-admin>section.card{padding:14px!important;border-radius:14px!important}
  .v27-settings-grid .form-grid{grid-template-columns:1fr!important}
  .v27-client-pref{grid-template-columns:1fr;gap:7px;padding:10px}.v27-client-pref>label{justify-content:flex-start}
  .v27-event-row{grid-template-columns:34px minmax(0,1fr)}.v27-event-row time{grid-column:2;white-space:normal}
  .v27-client-network-admin{padding:14px!important}.v27-admin-pair{gap:9px}.v27-admin-pair>form{padding:11px}.v27-choice-grid{max-height:none;overflow:visible}
  .v27-maint-row{grid-template-columns:34px minmax(0,1fr)}.v27-maint-row em{grid-column:2;justify-self:start}.v27-maint-row small{white-space:normal}
  .v27-extra-grid{gap:10px!important}
}
@media(max-width:430px){
  body .shell>main{padding-left:9px!important;padding-right:9px!important}
  .v27-wan-card.compact{padding:12px}.v27-wan-badge{font-size:.61rem}
  .v27-wan-card.backup .v27-wan-limit strong{font-size:.96rem}
  .v27-wan-admin h1{font-size:1.65rem}
}

/* Preferenza riduzione movimento. */
@media(prefers-reduced-motion:reduce){.v27-wan-card.backup .v27-wan-dot{animation:none}}


/* v2.7.1 - supporto configurazione IP WAN */
.v271-ip-help{margin:7px 0 10px!important;line-height:1.45}
.v271-ip-help b{color:#244d68;overflow-wrap:anywhere}
.v271-capture-ip{width:100%;margin:0 0 12px!important;white-space:normal}
@media(max-width:760px){
  .v27-hero,.v27-hero-cards{width:100%!important;max-width:100%!important;min-width:0!important}
  .v27-hero-cards>.v27-wan-card,.v27-hero-cards>.v264-update-slot{width:100%!important;max-width:100%!important}
  .v27-wan-card.compact .v27-wan-badge{white-space:normal;overflow:visible;text-overflow:clip}
  .v27-wan-card.compact .v27-wan-status b{white-space:normal}
}

/* -------------------------------------------------------------------------
   v2.7.2 - Notifiche, Voucher, login persistente e rifiniture Dashboard
   ------------------------------------------------------------------------- */

/* Dashboard: SOLO larghezza. Le altezze attuali restano intatte. */
@media(min-width:1101px){
  .v27-dashboard .v264-two-col{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .v27-hero-cards{width:calc(100% - 14px)!important;max-width:calc(100% - 14px)!important;justify-self:start}
}

.v272-login-persist-note{display:block;margin:2px 0 10px;color:#74899b;font-size:.72rem;line-height:1.4;font-weight:600}

.v272-admin-wan-pref{grid-template-columns:minmax(0,1fr) auto!important;border-color:#b9d9f2!important;background:#f5fbff!important}
.v272-admin-wan-pref em{display:inline-block;margin-left:6px;padding:2px 7px;border-radius:999px;background:#e5f3ff;color:#176aa7;font-size:.62rem;font-style:normal;text-transform:uppercase;letter-spacing:.05em}
.v272-admin-only-push{justify-self:end}

.v272-client-notify{min-width:0}
.v272-client-notify-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.v272-client-notify-info>div{padding:12px;border:1px solid #e2ebf2;border-radius:11px;background:#f9fcfe;min-width:0}
.v272-client-notify-info b,.v272-client-notify-info span{display:block}.v272-client-notify-info span{margin-top:4px;color:#6f8496;font-size:.8rem;overflow-wrap:anywhere}
.v272-notify-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px}.v272-notify-actions>form{margin:0}
.v272-client-notify-link{margin-top:14px!important}

.v272-import-destination{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:18px;align-items:center}
.v272-type-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.v272-type-cards label{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:8px;align-items:start;border:1px solid #dce7ef;border-radius:12px;padding:12px;background:#fbfdff;cursor:pointer;min-width:0}
.v272-type-cards input{grid-row:1/3;width:auto!important;margin-top:3px}.v272-type-cards b,.v272-type-cards small{display:block}.v272-type-cards b{font-size:.86rem}.v272-type-cards small{font-size:.68rem;color:#7a8e9f;margin-top:2px}
.v272-import-pdf-options{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:12px;align-items:end}.v272-import-pdf-options .check{align-self:center}

.v272-client-pdf-archive{margin-top:14px!important;overflow:hidden}
.v272-pdf-head,.v272-pdf-row{display:grid;grid-template-columns:minmax(240px,1.5fr) minmax(120px,.7fr) minmax(90px,.45fr) minmax(150px,.75fr) minmax(170px,.75fr);gap:12px;align-items:center}
.v272-pdf-head{padding:8px 12px;color:#657b8f;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid #dfe9f0}
.v272-pdf-row{padding:11px 12px;border-bottom:1px solid #e7eef4}.v272-pdf-row:last-child{border-bottom:0}
.v272-pdf-row>div{min-width:0}.v272-pdf-row small,.v272-pdf-row b{display:block}.v272-pdf-row small{color:#7c8e9d;font-size:.68rem}.v272-pdf-row b{font-size:.78rem;overflow-wrap:anywhere}
.v272-pdf-name{display:flex;align-items:center;gap:10px}.v272-pdf-name>span{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:9px;background:#eef6ff;color:#176daf;font-size:.62rem;font-weight:900}.v272-pdf-name b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v272-pdf-name small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v272-voucher-type{display:inline-block!important;width:max-content;padding:4px 8px;border-radius:999px;background:#edf5ff;color:#1769a7}.v272-voucher-type.multiuso{background:#eaf4ff;color:#0a65bf}.v272-voucher-type.illimitato{background:#f2eaff;color:#692bb4}.v272-voucher-type.monouso{background:#eaf8ef;color:#17763c}
.v272-pdf-actions{display:flex;gap:7px;justify-content:flex-end}

@media(max-width:900px){
  .v272-import-destination{grid-template-columns:1fr}.v272-type-cards{grid-template-columns:1fr}
  .v272-import-pdf-options{grid-template-columns:1fr}
  .v272-pdf-head{display:none}.v272-pdf-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.v272-pdf-name{grid-column:1/-1}.v272-pdf-actions{grid-column:1/-1;justify-content:flex-start}
}
@media(max-width:760px){
  .v272-client-notify-info{grid-template-columns:1fr}
  .v272-client-notify .v241-rule-table{min-width:620px}.v272-client-notify .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .v272-admin-wan-pref{grid-template-columns:1fr!important}.v272-admin-only-push{justify-self:start}
  .v27-hero-cards{width:100%!important;max-width:100%!important}
}
@media(max-width:520px){
  .v272-pdf-row{grid-template-columns:1fr}.v272-pdf-name,.v272-pdf-actions{grid-column:auto}.v272-pdf-actions{display:grid;grid-template-columns:1fr 1fr}.v272-pdf-actions .button{width:100%;text-align:center}
  .v272-notify-actions{align-items:stretch;flex-direction:column}.v272-notify-actions button{width:100%}
}

/* -------------------------------------------------------------------------
   v2.7.2a - mini hotfix Dashboard
   Sposta leggermente a sinistra il gruppo WAN / aggiornamento device e
   riduce il margine utile a destra, senza cambiare le altezze.
   ------------------------------------------------------------------------- */
@media(min-width:1101px){
  .v27-hero-cards{
    margin-left:-18px!important;
    width:calc(100% - 18px)!important;
    max-width:calc(100% - 18px)!important;
  }
  .v27-hero-cards>.v264-update-slot{
    min-width:0!important;
    max-width:100%!important;
  }
  .v27-hero-cards .device-update-card{
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }
}

/* v2.7.2c - Il mio account: la sezione Rete cliente deve occupare tutta la larghezza. */
.account-layout > .v26-account-clients{
  grid-column:1 / -1!important;
  width:100%!important;
  max-width:none!important;
  flex:0 0 100%!important;
  min-width:0!important;
  box-sizing:border-box;
}

/* -------------------------------------------------------------------------
   v2.7.3 - Gestione VLAN/client, icone device e rifiniture
   ------------------------------------------------------------------------- */
@media(min-width:1101px){
  .v27-hero-cards{margin-left:-32px!important;width:calc(100% - 44px)!important;max-width:calc(100% - 44px)!important}
  .v27-hero-cards>.v264-update-slot,.v27-hero-cards .device-update-card{min-width:0!important;max-width:100%!important;box-sizing:border-box!important}
}
.v273-network-admin{min-width:0}.v273-network-admin>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}.v273-network-admin>header form{flex:0 0 auto}
.v273-sync-note{display:flex;gap:8px;align-items:center;justify-content:flex-end;color:#71869a;font-size:.72rem;margin:-4px 2px 12px}.v273-sync-note b{color:#31556f}
.v273-customer-network{padding:16px!important;margin-bottom:14px!important;border:1px solid #dbe7ef!important;border-radius:16px!important;box-shadow:0 7px 22px rgba(23,66,103,.04)!important;min-width:0}
.v273-customer-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}.v273-customer-head h2{display:inline-block;margin:0 8px 0 0;font-size:1rem}.v273-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e7f2ff;color:#1672b8;font-size:.72rem;font-weight:900;flex:0 0 34px}.v273-config-badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:.62rem;font-weight:850}.v273-config-badge.ok{background:#e9f8ef;color:#15733d}.v273-config-badge.warn{background:#fff4dc;color:#a96300}
.v273-network-layout{display:grid;grid-template-columns:minmax(270px,.34fr) minmax(0,.66fr);gap:12px}.v273-network-form,.v273-clients-form{min-width:0;border:1px solid #e1eaf1;border-radius:13px;background:#fbfdff;padding:12px}.v273-network-form h3,.v273-clients-form h3{margin:0;font-size:.9rem;color:#264b66}.v273-network-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:10px 0;max-height:330px;overflow:auto}.v273-network-choice{display:flex!important;align-items:flex-start;gap:8px;border:1px solid #e3ebf2;border-radius:10px;background:#fff;padding:9px;min-width:0}.v273-network-choice input{width:auto!important;margin-top:2px}.v273-network-choice span{min-width:0}.v273-network-choice b,.v273-network-choice small{display:block}.v273-network-choice b{font-size:.76rem}.v273-network-choice small{font-size:.62rem;color:#7890a2;margin-top:2px;overflow-wrap:anywhere}
.v273-clients-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.v273-clients-title small{display:block;color:#7790a2;font-size:.66rem;margin-top:2px}.v273-client-list{display:grid;gap:6px;max-height:440px;overflow:auto;padding-right:2px}.v273-client-row{display:grid;grid-template-columns:72px minmax(210px,1.35fr) minmax(120px,.65fr) minmax(170px,.7fr);gap:9px;align-items:center;border:1px solid #e5edf3;border-radius:10px;background:#fff;padding:8px 9px;min-width:0}.v273-client-row[hidden]{display:none!important}.v273-client-visible{display:flex!important;align-items:center;gap:5px;font-size:.65rem;font-weight:700}.v273-client-visible input{width:auto!important}.v273-client-main{display:flex;align-items:center;gap:9px;min-width:0}.v273-client-main>div{min-width:0}.v273-client-main b,.v273-client-main small{display:block}.v273-client-main b{font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v273-client-main small{font-size:.61rem;color:#7a8e9f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v273-client-meta span,.v273-client-meta small{display:block}.v273-client-meta span{font-size:.68rem;font-weight:750}.v273-client-meta small{font-size:.6rem;color:#7b90a1;margin-top:2px}.v273-icon-select{font-size:.58rem;color:#70869a}.v273-icon-select select{width:100%;margin-top:2px;font-size:.65rem;padding:6px 7px}.v273-client-empty{display:grid;place-items:center;text-align:center;min-height:150px;color:#7b90a2;padding:20px}.v273-client-empty b,.v273-client-empty span{display:block}.v273-client-empty span{font-size:.72rem;max-width:420px;margin-top:5px}
.v273-device-icon{display:inline-grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:7px;background:#eef6fd;color:#2b648c}.v273-device-icon svg{width:19px;height:19px}.v273-device-icon.relay,.v273-device-icon.plug,.v273-device-icon.thermostat,.v273-device-icon.sensor,.v273-device-icon.iot{background:#edf8f2;color:#278155}.v273-device-icon.tv,.v273-device-icon.console{background:#f1efff;color:#6552ad}.v273-device-icon.camera{background:#fff4eb;color:#b56825}
.v273-network-moved{margin-top:12px!important}.v273-network-moved .section-title{margin:0}
.v273-account-clients>.v273-network-group{margin-top:12px}.v273-account-clients-full{display:grid;gap:12px}.v273-network-group{border:1px solid #e0eaf1;border-radius:13px;background:#fbfdff;overflow:hidden}.v273-network-group-head{display:flex;align-items:center;gap:8px;padding:9px 11px;background:#f3f8fc;border-bottom:1px solid #e3ecf2;color:#28516e}.v273-network-group-head>span{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#e5f2ff;color:#1672b8}.v273-network-group-head svg{width:16px;height:16px}.v273-network-group-head b,.v273-network-group-head small{display:block}.v273-network-group-head b{font-size:.78rem}.v273-network-group-head small{font-size:.61rem;color:#7890a2;margin-top:1px}.v273-network-group .v26-connection-list{padding:0}.v273-connection-row{border-radius:0!important;border-left:0!important;border-right:0!important;border-top:0!important;margin:0!important}.v273-connection-row:last-child{border-bottom:0!important}.v273-device-name{display:flex;align-items:center;gap:8px;min-width:0}.v273-device-name>div{min-width:0}.v273-device-name b,.v273-device-name small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v273-status-dot{flex:0 0 7px;width:7px;height:7px;border-radius:50%;background:#a6b4bf}.v273-status-dot.online{background:#2cc56f}.v273-status-dot.stale{background:#aab6bf}
@media(max-width:1050px){.v273-network-layout{grid-template-columns:1fr}.v273-network-list{grid-template-columns:repeat(3,minmax(0,1fr))}.v273-client-row{grid-template-columns:70px minmax(180px,1.2fr) minmax(110px,.6fr) minmax(150px,.7fr)}}
@media(max-width:760px){.v273-network-admin>header{flex-direction:column}.v273-network-admin>header form,.v273-network-admin>header button{width:100%}.v273-sync-note{justify-content:flex-start;flex-wrap:wrap}.v273-customer-network{padding:12px!important}.v273-network-list{grid-template-columns:1fr;max-height:none;overflow:visible}.v273-client-list{max-height:none;overflow:visible}.v273-client-row{grid-template-columns:auto minmax(0,1fr);gap:7px}.v273-client-visible{grid-column:1}.v273-client-main{grid-column:2}.v273-client-meta{grid-column:2}.v273-icon-select{grid-column:1/-1}.v273-device-icon{width:30px;height:30px;flex-basis:30px}.v273-connection-row{grid-template-columns:1fr!important}.v273-connection-row>div{min-width:0}.v273-device-name{width:100%}}
