    /*
     * V3.1.0
     * Questo foglio viene emesso per ultimo e replica la gabbia finale
     * del LAB Fondo e Coperchio senza modificare fustella, 3D o editor.
     */
    html body #astApp{
      --ast-v280-blue:#0878e8;
      --ast-v280-navy:#092a4b;
      --ast-v280-text:#294761;
      --ast-v280-copy:#667f96;
      --ast-v280-line:#cdddea;
    }

    /* Hero e griglia principale */
    html body #astApp .ast-head{
      min-height:123px!important;
      padding:16px 28px!important;
      border-color:var(--ast-v280-line)!important;
    }
    html body #astApp .ast-workspace{
      grid-template-columns:clamp(360px,27.5vw,542px) minmax(520px,1fr) clamp(390px,30vw,595px)!important;
      border-color:var(--ast-v280-line)!important;
    }
    html body #astApp .ast-measures{
      padding:17px 15px 22px!important;
      border-color:var(--ast-v280-line)!important;
    }
    html body #astApp .ast-section-title{
      position:relative;
    }
    html body #astApp .ast-section-title:after{
      content:"";
      position:absolute;
      left:0;
      right:0;
      bottom:-17px;
      height:1px;
      background:#dbe6ef;
    }
    html body #astApp .ast-fields>label{
      grid-template-columns:minmax(128px,1fr) minmax(168px,54%)!important;
      gap:11px!important;
    }
    html body #astApp .ast-fields>label>span{
      justify-self:start!important;
      text-align:left!important;
    }

    /* Nota tecnica, proporzioni e ingombro esterno */
    html body #astApp .ast-validation{
      min-height:45px!important;
      display:grid!important;
      grid-template-columns:20px minmax(0,1fr)!important;
      align-items:center!important;
      gap:8px!important;
      margin-top:11px!important;
      padding:8px 0!important;
      border-right:0!important;
      border-left:0!important;
      border-radius:0!important;
      border-color:#d6e4ef!important;
      background:#fff!important;
    }
    html body #astApp .ast-validation>i{
      width:18px!important;
      height:18px!important;
      margin-left:1px;
      color:#52738f!important;
      background:#edf4fa!important;
      font-size:10px!important;
    }
    html body #astApp .ast-validation span{
      min-width:0;
      display:block!important;
      text-align:left!important;
      line-height:1.42!important;
    }
    html body #astApp .ast-validation strong,
    html body #astApp .ast-validation small{
      display:inline!important;
    }
    html body #astApp .ast-validation strong{
      margin-right:5px;
      color:#34516a!important;
      font-size:9.5px!important;
    }
    html body #astApp .ast-validation small{
      color:#6f8598!important;
      font-size:8.4px!important;
    }
    html body #astApp .ast-validation.is-error{
      border-color:#f0c6ca!important;
      background:#fff5f6!important;
    }
    html body #astApp .ast-validation.is-error>i{
      color:#fff!important;
      background:#c6424f!important;
    }
    html body #astApp .ast-validation.is-error strong{color:#a92d38!important}

    html body #astApp .ast-option{
      min-height:70px!important;
      grid-template-columns:32px minmax(0,1fr) auto!important;
      gap:9px!important;
      margin-top:11px!important;
      padding:9px 10px!important;
      border-color:#d7e4ee!important;
      background:#f7fafc!important;
    }
    html body #astApp .ast-option-icon{
      width:28px!important;
      height:28px!important;
      color:#0878e8!important;
      background:#edf6ff!important;
    }
    html body #astApp .ast-option-icon svg{width:17px!important;height:17px!important}
    html body #astApp .ast-option>span:nth-child(2){
      min-width:0;
      display:block!important;
      justify-self:start!important;
      text-align:left!important;
      line-height:1.35!important;
    }
    html body #astApp .ast-option strong,
    html body #astApp .ast-option small{display:block!important}
    html body #astApp .ast-option strong{
      color:#294761!important;
      font-size:10px!important;
    }
    html body #astApp .ast-option small{
      margin-top:2px;
      color:#71869a!important;
      font-size:8px!important;
    }

    html body #astApp .ast-external-card{
      min-height:80px!important;
      margin-top:8px!important;
    }
    html body #astApp .ast-external-card>summary{
      min-height:78px!important;
      grid-template-columns:40px minmax(0,1fr)!important;
      gap:11px!important;
      padding:10px 11px!important;
    }
    html body #astApp .ast-external-card summary>b{display:none!important}
    html body #astApp .ast-external-card>summary>i{
      width:38px!important;
      height:38px!important;
    }
    html body #astApp .ast-external-card summary span{
      min-width:0;
      display:grid!important;
      justify-items:start!important;
      text-align:left!important;
    }
    html body #astApp .ast-external-card small{font-size:8.5px!important}
    html body #astApp .ast-external-card strong{font-size:12.5px!important}
    html body #astApp .ast-external-card em{margin-top:2px;font-size:8px!important}

    html body #astApp .ast-customize-head{margin:13px 0 34px!important}
    html body #astApp .ast-action{
      min-height:60px!important;
      margin-top:0!important;
    }
    html body #astApp .ast-action + .ast-action{margin-top:5px!important}
    html body #astApp .ast-action strong,
    html body #astApp .ast-action small{text-transform:none!important}
    html body #astApp .ast-customize-head{margin-bottom:27px!important}

    /* Canvas e comandi inferiori */
    html body #astApp .ast-stage{
      grid-template-rows:clamp(600px,57vh,711px) 49px 92px!important;
    }
    html body #astApp .ast-three-wrap{
      min-height:clamp(600px,57vh,711px)!important;
      height:clamp(600px,57vh,711px)!important;
    }
    html body #astApp .ast-model-tabs{
      top:15px!important;
      right:12px!important;
    }
    html body #astApp .ast-stage-tools{top:15px!important}
    html body #astApp .ast-stage-status{
      top:14px!important;
      left:94px!important;
    }
    html body #astApp .ast-dim-h{
      left:25%!important;
      top:46%!important;
    }
    html body #astApp .ast-dim-p{
      right:24%!important;
      top:50%!important;
    }
    html body #astApp .ast-rotation{
      height:49px!important;
      grid-template-columns:86px minmax(0,1fr) 46px!important;
      padding:0 15px!important;
    }
    /*
     * La dock del riferimento non usa una colonna elastica seguita da due
     * colonne fisse: è divisa esattamente nel rapporto 1,18 / 1 / 0,88.
     * Questa era la differenza strutturale più visibile rimasta in V2.8.
     */
    html body #astApp .ast-viewbar{
      min-height:92px!important;
      grid-template-columns:minmax(0,1.18fr) minmax(0,1fr) minmax(0,.88fr)!important;
    }
    html body #astApp .ast-view-group,
    html body #astApp .ast-switch,
    html body #astApp .ast-export{
      min-width:0!important;
      padding:13px 16px!important;
      border-color:#dce6ef!important;
    }
    html body #astApp .ast-view-group>small,
    html body #astApp .ast-switch small{
      font-size:10px!important;
      line-height:1!important;
      letter-spacing:.075em!important;
    }
    html body #astApp .ast-view-group>div{gap:7px!important}
    html body #astApp .ast-view-group button{
      min-width:0!important;
      height:42px!important;
      border-radius:5px!important;
      font-size:11.5px!important;
    }
    html body #astApp .ast-switch{
      grid-template-columns:minmax(0,1fr) 38px!important;
      gap:10px!important;
    }
    html body #astApp .ast-switch strong{font-size:11px!important}
    html body #astApp .ast-export{
      grid-template-columns:42px minmax(0,1fr) 42px!important;
      gap:10px!important;
    }
    html body #astApp .ast-export>span,
    html body #astApp .ast-export>em{
      width:42px!important;
      height:42px!important;
    }
    html body #astApp .ast-export b{font-size:11.5px!important}
    html body #astApp .ast-export small{
      margin-top:3px!important;
      font-size:8px!important;
    }

    /* Colonna configurazione */
    html body #astApp .ast-quote{
      padding:32px 15px 22px!important;
      border-left:1px solid var(--ast-v280-line)!important;
    }
    html body #astApp .ast-quote-head h2{
      color:var(--ast-v280-navy)!important;
      font-size:22px!important;
    }
    html body #astApp .ast-quote-tabs button{
      font-size:12px!important;
      font-weight:850!important;
    }
    html body #astApp .ast-choice-title strong{
      font-size:12.5px!important;
      line-height:1.15!important;
    }
    html body #astApp .ast-choice-title small{
      margin-top:1px;
      font-size:9.5px!important;
      line-height:1.4!important;
    }
    html body #astApp .ast-qty-presets button{
      min-height:58px!important;
      font-size:16px!important;
    }
    html body #astApp .ast-qty-presets button:nth-child(5){min-height:41px!important}
    html body #astApp .ast-qty-presets small{font-size:8px!important}
    html body #astApp .ast-qty-row>span{font-size:10px!important}
    html body #astApp .ast-qty-row>div{
      height:54px!important;
      margin-top:11px!important;
    }
    html body #astApp .ast-qty-row input{font-size:18px!important}

    html body #astApp .ast-price-card{
      position:relative;
      min-height:116px!important;
      margin-top:7px!important;
      padding:14px!important;
      border-color:#76baf1!important;
      border-left-width:4px!important;
      background:#f8fcff!important;
    }
    html body #astApp .ast-price-card small{font-size:10px!important}
    html body #astApp .ast-price-card>div:first-of-type>strong{
      display:block!important;
      color:#0873d9!important;
      font-size:29px!important;
      line-height:1!important;
    }
    html body #astApp .ast-price-card strong em{font-size:9px!important}
    html body #astApp .ast-price-card p{
      font-size:8px!important;
      line-height:1.4!important;
    }
    html body #astApp .ast-price-card>div:last-child strong{
      font-size:16px!important;
      line-height:1.05!important;
    }

    html body #astApp .ast-bulk-card{
      min-height:132px!important;
      grid-template-columns:42px minmax(0,1fr) 148px!important;
      align-items:center!important;
      gap:11px!important;
      position:relative;
      margin-top:39px!important;
      padding:11px 12px!important;
      border-color:#9bc7ed!important;
      background:#fff!important;
    }
    html body #astApp .ast-bulk-card:before{
      content:"";
      position:absolute;
      top:-19px;
      left:0;
      right:0;
      height:1px;
      background:#dbe7f1;
    }
    html body #astApp .ast-bulk-card>i{
      width:38px!important;
      height:38px!important;
      color:#0878e8!important;
      background:#eff7ff!important;
    }
    html body #astApp .ast-bulk-card span{
      min-width:0;
      display:block!important;
      text-align:left!important;
    }
    html body #astApp .ast-bulk-card strong{
      display:block!important;
      color:#244866!important;
      font-size:12.2px!important;
      line-height:1.18!important;
    }
    html body #astApp .ast-bulk-card small{
      display:block!important;
      margin-top:3px;
      color:#6d8499!important;
      font-size:9px!important;
      line-height:1.38!important;
    }
    html body #astApp .ast-bulk-card button{
      width:100%;
      min-width:0;
      height:39px!important;
      grid-column:auto!important;
      padding:0 8px;
      border-color:#7db7eb!important;
      color:#0871d5!important;
      background:#fff!important;
      font-size:9px!important;
    }
    html body #astApp .ast-bulk-card.is-active button{
      color:#fff!important;
      background:#0878e8!important;
    }
    html body #astApp .ast-summary{display:none!important}

    html body #astApp .ast-progress-title{
      position:relative;
      margin-top:25px!important;
      padding-bottom:12px!important;
      border-bottom:0!important;
      font-size:10px!important;
    }
    html body #astApp .ast-progress-title small{font-size:8px!important}
    html body #astApp .ast-progress-track{
      width:100%;
      height:4px;
      margin-top:-4px;
      border-radius:4px;
      background:#eaf1f7;
      overflow:hidden;
    }
    html body #astApp .ast-progress-track i{
      width:75%;
      height:100%;
      display:block;
      border-radius:inherit;
      background:#0878e8;
      transition:width .2s ease;
    }
    html body #astApp .ast-checks li{
      min-height:34px;
      display:flex!important;
      align-items:center!important;
      gap:7px!important;
      padding:8px 4px!important;
      font-size:9.5px!important;
    }
    html body #astApp .ast-checks li>i{
      width:17px;
      height:17px;
      flex:0 0 17px;
      display:grid;
      place-items:center;
      border:1px solid #c6d6e2;
      border-radius:50%;
      color:#7e93a7;
      background:#fff;
      font-size:9px;
      font-style:normal;
      line-height:1;
    }
    html body #astApp .ast-checks li.is-done>i{
      border-color:#9bdcc8;
      color:#078f69;
      background:#effaf6;
    }
    html body #astApp .ast-checks li span{margin-left:0!important}
    html body #astApp .ast-continue{
      height:56px!important;
      margin-top:7px!important;
      font-size:12px!important;
      text-transform:none!important;
    }
    html body #astApp .ast-quote footer{
      min-height:48px;
      align-items:center;
      margin-top:10px!important;
      padding:10px 2px!important;
      font-size:7px!important;
    }
    html body #astApp .ast-quote footer span + span{
      border-left:1px solid #d9e5ef;
    }

    /*
     * V3.1.0 — pannello destro ricostruito sui valori reali del configuratore
     * Fondo e Coperchio. Non è un semplice ingrandimento: preset separati,
     * gerarchia tipografica, stepper, prezzo, soglia e avanzamento seguono
     * la medesima grammatica visiva del riferimento.
     */
    html body #astApp .ast-quote{
      padding:18px!important;
    }
    html body #astApp .ast-quote-head{
      min-height:90px!important;
      grid-template-columns:50px minmax(0,1fr)!important;
      gap:13px!important;
      padding-bottom:14px!important;
    }
    html body #astApp .ast-quote-head>span{
      width:50px!important;
      height:50px!important;
      border-width:4px!important;
      font-size:10px!important;
      font-weight:950!important;
    }
    html body #astApp .ast-quote-head h2{
      font-size:20px!important;
      line-height:1.1!important;
      font-weight:950!important;
      letter-spacing:-.025em!important;
    }
    html body #astApp .ast-quote-head p{
      display:none!important;
    }
    html body #astApp .ast-quote-tabs{
      margin-top:12px!important;
      margin-bottom:26px!important;
    }
    html body #astApp .ast-quote-tabs button{
      height:52px!important;
      padding:10px!important;
      font-size:12px!important;
      line-height:1.1!important;
      font-weight:850!important;
      letter-spacing:.025em!important;
    }

    html body #astApp .ast-choice-title{
      min-height:44px!important;
      height:44px!important;
      grid-template-columns:42px minmax(0,1fr)!important;
      align-items:center!important;
      gap:11px!important;
      margin-top:0!important;
      padding:2px 10px!important;
      overflow:hidden!important;
    }
    html body #astApp .ast-choice-title>i{
      width:42px!important;
      height:42px!important;
      border-radius:5px!important;
    }
    html body #astApp .ast-choice-title>i svg{
      width:22px!important;
      height:22px!important;
    }
    html body #astApp .ast-choice-title strong{
      color:#0d2c4b!important;
      font-size:13px!important;
      line-height:1.1!important;
      font-weight:950!important;
      letter-spacing:-.012em!important;
    }
    html body #astApp .ast-choice-title small{
      margin-top:1px!important;
      color:#61778d!important;
      font-size:8.5px!important;
      line-height:1.2!important;
      font-weight:650!important;
    }

    html body #astApp .ast-qty-presets{
      gap:8px!important;
      margin-top:18px!important;
      border:0!important;
      border-radius:0!important;
      overflow:visible!important;
    }
    html body #astApp .ast-qty-presets button{
      min-width:0!important;
      min-height:58px!important;
      display:flex!important;
      align-items:center!important;
      justify-content:center!important;
      gap:3px!important;
      padding:9px 6px!important;
      border:1px solid #cdddea!important;
      border-radius:4px!important;
      color:#294765!important;
      background:#fff!important;
      box-shadow:none!important;
      font-size:16px!important;
      line-height:1!important;
      font-weight:950!important;
    }
    html body #astApp .ast-qty-presets button:nth-child(4){
      border-right:1px solid #cdddea!important;
    }
    html body #astApp .ast-qty-presets button.is-active{
      color:#fff!important;
      border-color:#0877e8!important;
      background:linear-gradient(180deg,#1686f1,#0877e8)!important;
      box-shadow:0 8px 18px rgba(8,119,232,.12)!important;
    }
    html body #astApp .ast-qty-presets button[data-qty="200"]{
      min-height:70px!important;
      padding:27px 6px 9px!important;
      border-width:2px!important;
    }
    html body #astApp .ast-qty-presets button>b{
      top:6px!important;
      display:inline-flex!important;
      align-items:center!important;
      gap:5px!important;
      padding:4px 8px!important;
      border-radius:4px!important;
      font-size:9.5px!important;
      line-height:1!important;
      font-weight:900!important;
      letter-spacing:.025em!important;
      text-transform:lowercase!important;
      box-shadow:0 3px 9px rgba(8,119,232,.22)!important;
    }
    html body #astApp .ast-qty-presets button>b:after{
      content:"✓";
      width:14px;
      height:14px;
      display:grid;
      place-items:center;
      margin-right:-5px;
      border-radius:2px;
      color:#0877e8;
      background:#fff;
      font-size:10px;
      line-height:1;
    }
    html body #astApp .ast-qty-presets button.is-active>b{
      color:#075fc3!important;
      border:1px solid rgba(255,255,255,.72)!important;
      background:#fff!important;
    }
    html body #astApp .ast-qty-presets small{
      font-size:10px!important;
      line-height:1!important;
      font-weight:750!important;
      text-transform:lowercase!important;
    }
    html body #astApp .ast-qty-presets button:nth-child(5){
      min-height:54px!important;
      padding:9px 6px!important;
      border:1px solid #cdddea!important;
    }
    html body #astApp .ast-qty-presets button:nth-child(5) em{
      right:8px!important;
      color:#5c7590!important;
      font-size:10px!important;
      line-height:1!important;
      font-weight:800!important;
      letter-spacing:.025em!important;
      text-transform:uppercase!important;
    }

    html body #astApp .ast-qty-row{
      margin-top:16px!important;
    }
    html body #astApp .ast-qty-row>span{
      color:#173d65!important;
      font-size:13px!important;
      line-height:1.2!important;
      font-weight:950!important;
      letter-spacing:-.01em!important;
    }
    html body #astApp .ast-qty-row>small{
      color:#587089!important;
      font-size:10px!important;
      font-weight:700!important;
    }
    html body #astApp .ast-qty-row>div{
      height:58px!important;
      grid-template-columns:44px 44px minmax(0,1fr) 38px 44px!important;
      margin-top:8px!important;
      border-color:#8ebdf0!important;
      box-shadow:0 5px 14px rgba(8,119,232,.07)!important;
    }
    html body #astApp .ast-qty-row button{
      min-width:44px!important;
      height:56px!important;
      font-size:22px!important;
    }
    html body #astApp .ast-qty-row i{
      width:44px!important;
      height:56px!important;
      color:#079b6e!important;
      border-radius:5px!important;
      background:linear-gradient(180deg,#effbf6,#e6f8f0)!important;
    }
    html body #astApp .ast-qty-row i svg{
      width:21px!important;
      height:21px!important;
    }
    html body #astApp .ast-qty-row input{
      height:56px!important;
      padding:0 12px!important;
      color:#0d2c4b!important;
      font-size:22px!important;
      line-height:56px!important;
      font-weight:950!important;
      font-variant-numeric:tabular-nums!important;
    }
    html body #astApp .ast-qty-row em{
      color:#476987!important;
      font-size:10px!important;
      font-weight:800!important;
    }
    html body #astApp .ast-qty-note{
      min-height:25px!important;
      gap:7px!important;
      color:#526f69!important;
      font-size:9.5px!important;
      font-weight:750!important;
    }

    html body #astApp .ast-price-card{
      min-height:119px!important;
      grid-template-columns:minmax(0,1fr) auto!important;
      align-items:end!important;
      column-gap:14px!important;
      row-gap:8px!important;
      margin-top:10px!important;
      padding:13px 14px 12px!important;
      border:1px solid #80baf0!important;
      border-left:5px solid #0877e8!important;
      border-radius:6px!important;
      background:linear-gradient(105deg,#edf6ff 0%,#fff 62%,#f2fbff 100%)!important;
      box-shadow:0 9px 24px rgba(0,102,204,.10)!important;
    }
    html body #astApp .ast-simulation{
      top:12px!important;
      right:12px!important;
      min-height:21px!important;
      display:inline-flex!important;
      align-items:center!important;
      padding:4px 8px!important;
      border-color:#b7ead8!important;
      color:#087b5b!important;
      background:#edfbf6!important;
      font-size:7.5px!important;
      font-weight:950!important;
      letter-spacing:.045em!important;
    }
    html body #astApp .ast-price-card small{
      font-size:11px!important;
      font-weight:950!important;
      letter-spacing:.055em!important;
      text-transform:uppercase!important;
    }
    html body #astApp .ast-price-card>div:first-of-type>strong{
      color:#006bdc!important;
      font-size:34px!important;
      line-height:1!important;
      font-weight:950!important;
      font-variant-numeric:tabular-nums!important;
      letter-spacing:-.025em!important;
    }
    html body #astApp .ast-price-card strong em{
      color:#476987!important;
      font-size:9px!important;
      font-weight:750!important;
    }
    html body #astApp .ast-price-card p{
      margin-top:6px!important;
      color:#6c8195!important;
      font-size:9px!important;
      line-height:1.35!important;
      font-weight:650!important;
    }
    html body #astApp .ast-price-card>div:last-child{
      min-width:112px!important;
    }
    html body #astApp .ast-price-card>div:last-child small{
      color:#526f8b!important;
      font-size:7.5px!important;
      font-weight:850!important;
      letter-spacing:.07em!important;
    }
    html body #astApp .ast-price-card>div:last-child strong{
      color:#082f57!important;
      font-size:18px!important;
      line-height:1.05!important;
      font-weight:950!important;
      font-variant-numeric:tabular-nums!important;
    }

    html body #astApp .ast-bulk-card{
      min-height:132px!important;
      grid-template-columns:46px minmax(0,1fr) 148px!important;
      gap:12px!important;
      margin-top:39px!important;
      padding:14px!important;
      border-color:#80baf0!important;
      border-radius:5px!important;
      background:#fff!important;
    }
    html body #astApp .ast-bulk-card>i{
      width:46px!important;
      height:46px!important;
      border:1px solid #b8d8f5!important;
      background:#f5faff!important;
    }
    html body #astApp .ast-bulk-card>i svg{
      width:24px!important;
      height:24px!important;
    }
    html body #astApp .ast-bulk-card strong{
      color:#0d3a67!important;
      font-size:13.5px!important;
      line-height:1.2!important;
      font-weight:950!important;
      letter-spacing:-.01em!important;
    }
    html body #astApp .ast-bulk-card small{
      margin-top:4px!important;
      color:#58718a!important;
      font-size:10.5px!important;
      line-height:1.45!important;
      font-weight:650!important;
    }
    html body #astApp .ast-bulk-card button{
      min-height:42px!important;
      height:42px!important;
      padding:8px 11px!important;
      font-size:10.5px!important;
      font-weight:900!important;
    }

    html body #astApp .ast-progress-title{
      margin-top:28px!important;
      padding-bottom:10px!important;
      color:#173a5d!important;
      font-size:11px!important;
      font-weight:900!important;
    }
    html body #astApp .ast-progress-title small{
      color:#678097!important;
      font-size:8.8px!important;
      font-weight:750!important;
    }
    html body #astApp .ast-progress-track{
      height:4px!important;
      margin-top:-4px!important;
      margin-bottom:10px!important;
      background:#e1e9f0!important;
    }
    html body #astApp .ast-checks li{
      min-height:38px!important;
      padding:8px 0!important;
      color:#536b83!important;
      font-size:11.5px!important;
      font-weight:650!important;
    }
    html body #astApp .ast-checks li span{
      color:#425f7a!important;
      font-weight:700!important;
    }
    html body #astApp .ast-continue{
      min-height:58px!important;
      height:58px!important;
      display:flex!important;
      align-items:center!important;
      justify-content:center!important;
      gap:8px!important;
      border-radius:5px!important;
      font-size:14px!important;
      line-height:1!important;
      font-weight:950!important;
      text-align:center!important;
    }
    html body #astApp .ast-quote footer{
      min-height:48px!important;
      margin-top:12px!important;
      padding:7px 8px!important;
      color:#425f7a!important;
      font-size:8.5px!important;
      font-weight:700!important;
    }
    html body #astApp .ast-save-row{
      min-height:38px!important;
      align-items:center!important;
      margin-top:9px!important;
      padding-top:8px!important;
    }
    html body #astApp .ast-save-row button{
      min-height:30px!important;
      font-size:9px!important;
      font-weight:800!important;
    }

    @media(max-width:1320px){
      html body #astApp .ast-workspace{
        grid-template-columns:minmax(350px,28%) minmax(460px,1fr) minmax(380px,30%)!important;
      }
      html body #astApp .ast-stage{
        grid-template-rows:609px 49px 92px!important;
      }
      html body #astApp .ast-three-wrap{
        min-height:609px!important;
        height:609px!important;
      }
      html body #astApp .ast-fields>label{
        grid-template-columns:minmax(112px,1fr) minmax(148px,52%)!important;
      }
    }
    @media(max-width:1120px){
      html body #astApp .ast-workspace{grid-template-columns:330px minmax(0,1fr)!important}
      html body #astApp .ast-quote{grid-column:1/-1}
      html body #astApp .ast-stage{grid-template-rows:529px 49px 92px!important}
      html body #astApp .ast-three-wrap{min-height:529px!important;height:529px!important}
    }
    @media(max-width:760px){
      html body #astApp .ast-head{min-height:0!important;padding:16px!important}
      html body #astApp .ast-workspace{grid-template-columns:1fr!important}
      html body #astApp .ast-fields>label{
        grid-template-columns:minmax(125px,1fr) minmax(170px,54%)!important;
      }
      html body #astApp .ast-stage{grid-template-rows:500px 41px auto!important}
      html body #astApp .ast-three-wrap{min-height:500px!important;height:500px!important}
      html body #astApp .ast-bulk-card{
        grid-template-columns:42px minmax(0,1fr)!important;
      }
      html body #astApp .ast-bulk-card button{grid-column:1/-1!important}
    }

    /*
     * V3.2.0 — GEMELLO REALE DI LAB FONDO E COPERCHIO
     *
     * Il riferimento usa un contenitore centrato da 1720 px e la gabbia
     * 22% / canvas flessibile / 24%. Astucci usava invece tutta la viewport
     * e conservava una min-height dipendente dallo schermo: da qui nascevano
     * pannelli fuori scala e una grande area bianca sotto i comandi 3D.
     */
    html body.sagomato-lab-astucci-page #astApp{
      width:min(1720px,calc(100% - 48px))!important;
      max-width:1720px!important;
      margin:14px auto 2px!important;
    }

    html body #astApp .ast-head{
      grid-template-columns:minmax(330px,.82fr) minmax(560px,1.28fr)!important;
      gap:18px!important;
    }

    html body #astApp .ast-workspace{
      grid-template-columns:minmax(320px,22%) minmax(0,1fr) minmax(350px,24%)!important;
      min-height:0!important;
      height:auto!important;
      align-items:stretch!important;
    }

    html body #astApp .ast-measures,
    html body #astApp .ast-stage,
    html body #astApp .ast-quote{
      min-width:0!important;
      height:auto!important;
      align-self:stretch!important;
    }

    html body #astApp .ast-stage{
      min-height:0!important;
      grid-template-rows:clamp(600px,57vh,711px) 35px 78px!important;
    }

    html body #astApp .ast-three-wrap{
      min-height:clamp(600px,57vh,711px)!important;
      height:clamp(600px,57vh,711px)!important;
    }

    html body #astApp .ast-rotation{
      height:35px!important;
      grid-template-columns:75px minmax(0,1fr) 42px!important;
      padding:0 14px!important;
    }

    html body #astApp .ast-viewbar{
      min-height:78px!important;
      grid-template-columns:minmax(0,1.18fr) minmax(0,1fr) minmax(0,.88fr)!important;
    }

    html body #astApp .ast-view-group,
    html body #astApp .ast-switch,
    html body #astApp .ast-export{
      padding:9px 12px!important;
    }

    /*
     * Fascia finale identica al riferimento: è parte della pagina, non del
     * motore tecnico, e viene aggiunta dalla V3.2 soltanto se non esiste già.
     */
    html body #astApp .ast-process{
      position:relative!important;
      isolation:isolate!important;
      display:grid!important;
      grid-template-columns:minmax(280px,1.08fr) repeat(3,minmax(0,1fr))!important;
      gap:8px!important;
      min-height:156px!important;
      margin:14px 0 0!important;
      padding:16px!important;
      overflow:hidden!important;
      border:1px solid #cfe1ef!important;
      border-top:2px solid #0877e8!important;
      border-radius:4px!important;
      background:
        linear-gradient(rgba(8,119,232,.035) 1px,transparent 1px),
        linear-gradient(90deg,rgba(8,119,232,.035) 1px,transparent 1px),
        linear-gradient(90deg,#f4f9ff,#f6fffb)!important;
      background-size:32px 32px,32px 32px,auto!important;
      box-shadow:0 14px 34px rgba(14,49,84,.055)!important;
    }

    html body #astApp .ast-process-intro{
      position:relative!important;
      z-index:1!important;
      padding:5px!important;
    }

    html body #astApp .ast-process-intro>span{
      width:34px!important;
      height:34px!important;
      display:grid!important;
      place-items:center!important;
      margin-bottom:7px!important;
      border:1px solid #b9daf5!important;
      border-radius:6px!important;
      color:#0877e8!important;
      background:#fff!important;
      font-size:16px!important;
      line-height:1!important;
    }

    html body #astApp .ast-process-intro>small{
      color:#0871d5!important;
      font-size:8px!important;
      font-weight:900!important;
      letter-spacing:.1em!important;
    }

    html body #astApp .ast-process-intro h2{
      margin:5px 0 4px!important;
      color:#092a4b!important;
      font-size:18px!important;
      line-height:1.15!important;
      letter-spacing:-.025em!important;
    }

    html body #astApp .ast-process-intro p,
    html body #astApp .ast-process article p{
      margin:0!important;
      color:#657c91!important;
      font-size:9px!important;
      line-height:1.4!important;
    }

    html body #astApp .ast-process-intro a{
      min-height:34px!important;
      display:inline-flex!important;
      align-items:center!important;
      gap:7px!important;
      margin-top:10px!important;
      padding:0 12px!important;
      border:0!important;
      border-radius:3px!important;
      color:#fff!important;
      background:#0877e6!important;
      box-shadow:0 7px 16px rgba(8,119,230,.16)!important;
      font-size:8.5px!important;
      font-weight:850!important;
      text-decoration:none!important;
    }

    html body #astApp .ast-process article{
      position:relative!important;
      z-index:1!important;
      display:grid!important;
      grid-template-columns:38px minmax(0,1fr)!important;
      align-items:center!important;
      gap:10px!important;
      min-width:0!important;
      padding:14px!important;
      border:1px solid #d7e4ee!important;
      border-radius:4px!important;
      background:rgba(255,255,255,.97)!important;
      box-shadow:0 8px 20px rgba(23,58,91,.035)!important;
    }

    html body #astApp .ast-process article>b{
      position:absolute!important;
      top:6px!important;
      right:8px!important;
      color:#93a6b8!important;
      font-size:7px!important;
      line-height:1!important;
    }

    html body #astApp .ast-process article>i{
      width:36px!important;
      height:36px!important;
      display:grid!important;
      place-items:center!important;
      border-radius:6px!important;
      color:#0877e8!important;
      background:#eff7ff!important;
      font-size:16px!important;
      font-style:normal!important;
    }

    html body #astApp .ast-process article:nth-of-type(2)>i{
      color:#087b5b!important;
      background:#eefaf5!important;
    }

    html body #astApp .ast-process article:nth-of-type(3)>i{
      color:#7357df!important;
      background:#f3efff!important;
    }

    html body #astApp .ast-process article strong{
      display:block!important;
      margin-bottom:3px!important;
      color:#29455f!important;
      font-size:10.5px!important;
      line-height:1.2!important;
    }

    @media(min-width:1280px) and (max-width:1439px){
      html body.sagomato-lab-astucci-page #astApp{
        width:calc(100% - 28px)!important;
        max-width:none!important;
      }
      html body #astApp .ast-workspace{
        grid-template-columns:minmax(320px,22%) minmax(0,1fr) minmax(350px,24%)!important;
      }
      html body #astApp .ast-stage{
        grid-template-rows:609px 35px 78px!important;
      }
      html body #astApp .ast-three-wrap{
        min-height:609px!important;
        height:609px!important;
      }
    }

    @media(min-width:1121px) and (max-width:1279px){
      html body.sagomato-lab-astucci-page #astApp{
        width:calc(100% - 20px)!important;
        max-width:none!important;
        margin-left:auto!important;
        margin-right:auto!important;
      }
      html body #astApp .ast-head{
        grid-template-columns:1fr!important;
      }
      html body #astApp .ast-workspace{
        grid-template-columns:330px minmax(0,1fr)!important;
      }
      html body #astApp .ast-quote{
        grid-column:1/-1!important;
        border-top:1px solid #cdddea!important;
      }
      html body #astApp .ast-process{
        grid-template-columns:1fr 1fr!important;
      }
    }

    @media(max-width:1120px){
      html body.sagomato-lab-astucci-page #astApp{
        width:calc(100% - 20px)!important;
        max-width:none!important;
        margin-left:auto!important;
        margin-right:auto!important;
      }
      html body #astApp .ast-head{
        grid-template-columns:1fr!important;
      }
      html body #astApp .ast-workspace{
        grid-template-columns:330px minmax(0,1fr)!important;
      }
      html body #astApp .ast-quote{
        grid-column:1/-1!important;
      }
      html body #astApp .ast-process{
        grid-template-columns:1fr 1fr!important;
      }
    }

    @media(max-width:760px){
      html body.sagomato-lab-astucci-page #astApp{
        width:100%!important;
        margin:0!important;
      }
      html body #astApp .ast-workspace{
        grid-template-columns:1fr!important;
      }
      html body #astApp .ast-stage{
        grid-template-rows:500px 35px auto!important;
      }
      html body #astApp .ast-three-wrap{
        min-height:500px!important;
        height:500px!important;
      }
      html body #astApp .ast-process{
        grid-template-columns:1fr!important;
        margin:10px!important;
      }
    }

    /*
     * V3.3.0 — correzione basata sul confronto 1:1 delle schermate reali.
     *
     * Il Lab Astucci viene renderizzato dentro un contenitore del tema:
     * usando il 100% la V3.2 si fermava a circa 930 px. Il riferimento Fondo
     * e Coperchio usa invece la viewport ed è centrato a 1720 px.
     */
    html body.sagomato-lab-astucci-page #astApp{
      position:relative!important;
      left:50%!important;
      width:min(1720px,calc(100vw - 48px))!important;
      max-width:none!important;
      margin:0 auto 2px!important;
      transform:translateX(-50%)!important;
    }

    html body #astApp.ast-is-fullscreen{
      left:0!important;
      width:100vw!important;
      max-width:none!important;
      margin:0!important;
      transform:none!important;
    }

    /* Inspector commerciale: stesse altezze e stessa cadenza del riferimento. */
    html body #astApp .ast-quote{
      padding:18px!important;
    }

    html body #astApp .ast-quote-head{
      min-height:66px!important;
      grid-template-columns:50px minmax(0,1fr)!important;
      gap:13px!important;
      padding-bottom:14px!important;
    }

    html body #astApp .ast-quote-head>span{
      width:50px!important;
      height:50px!important;
    }

    html body #astApp .ast-quote-head h2{
      font-size:20px!important;
      line-height:1.1!important;
    }

    html body #astApp .ast-quote-tabs{
      margin-top:12px!important;
      margin-bottom:15px!important;
    }

    html body #astApp .ast-quote-tabs button{
      height:44px!important;
      min-height:44px!important;
      padding:10px!important;
      font-size:12px!important;
    }

    html body #astApp .ast-choice-title{
      min-height:42px!important;
      height:42px!important;
      grid-template-columns:42px minmax(0,1fr)!important;
      gap:11px!important;
      margin:0 0 13px!important;
      padding:2px 10px!important;
    }

    html body #astApp .ast-choice-title>i{
      width:42px!important;
      height:42px!important;
    }

    html body #astApp .ast-qty-presets{
      gap:8px!important;
      margin:0 0 13px!important;
    }

    html body #astApp .ast-qty-row{
      margin-top:14px!important;
    }

    html body #astApp .ast-price-card{
      margin-top:10px!important;
    }

    html body #astApp .ast-bulk-card{
      margin-top:28px!important;
    }

    html body #astApp .ast-progress-title{
      margin-top:25px!important;
    }

    /*
     * Fascia finale: stessa struttura del V119 reale.
     * Colonna introduttiva 0,86fr + gruppo passaggi 1,75fr.
     */
    html body #astApp .ast-process{
      grid-template-columns:minmax(280px,.86fr) minmax(0,1.75fr)!important;
      align-items:stretch!important;
      gap:32px!important;
      min-height:0!important;
      margin:28px 0 64px!important;
      padding:32px!important;
      border:1px solid #caddec!important;
      border-radius:7px!important;
      background:
        linear-gradient(90deg,rgba(8,119,232,.035) 1px,transparent 1px),
        linear-gradient(180deg,rgba(8,119,232,.035) 1px,transparent 1px),
        linear-gradient(118deg,#f3f8ff 0%,#fbfdff 57%,#effaf6 100%)!important;
      background-size:28px 28px,28px 28px,100% 100%!important;
      box-shadow:0 18px 45px rgba(12,48,84,.075)!important;
    }

    html body #astApp .ast-process:before{
      content:""!important;
      position:absolute!important;
      z-index:2!important;
      top:0!important;
      left:0!important;
      width:100%!important;
      height:3px!important;
      background:linear-gradient(90deg,#0877e8 0%,#2b91ef 42%,#0cb77b 100%)!important;
      pointer-events:none!important;
    }

    html body #astApp .ast-process:after{
      content:""!important;
      position:absolute!important;
      right:-72px!important;
      top:-86px!important;
      width:220px!important;
      height:220px!important;
      border:32px solid rgba(8,119,232,.045)!important;
      border-radius:50%!important;
      pointer-events:none!important;
    }

    html body #astApp .ast-process-intro{
      align-self:center!important;
      min-width:0!important;
      padding:0!important;
    }

    html body #astApp .ast-process-intro>span{
      width:46px!important;
      height:46px!important;
      margin:0 0 13px!important;
      border:1px solid #bfdbf4!important;
      border-radius:12px!important;
      background:linear-gradient(145deg,#fff,#eaf4ff)!important;
      box-shadow:0 9px 18px rgba(8,119,232,.09)!important;
      font-size:20px!important;
    }

    html body #astApp .ast-process-intro>small{
      display:block!important;
      margin:0 0 8px!important;
      font-size:11.5px!important;
      line-height:1.2!important;
    }

    html body #astApp .ast-process-intro h2{
      margin:0 0 8px!important;
      font-size:25px!important;
      line-height:1.12!important;
      letter-spacing:-.03em!important;
    }

    html body #astApp .ast-process-intro p{
      max-width:390px!important;
      margin:0 0 17px!important;
      color:#4f6881!important;
      font-size:13px!important;
      line-height:1.5!important;
    }

    html body #astApp .ast-process-intro a{
      min-height:44px!important;
      padding:10px 15px!important;
      border:1px solid #0877e8!important;
      border-radius:4px!important;
      background:linear-gradient(135deg,#0877e8,#0668d1)!important;
      font-size:12.5px!important;
      box-shadow:0 9px 20px rgba(8,119,232,.18)!important;
    }

    html body #astApp .ast-process-steps{
      position:relative!important;
      z-index:1!important;
      display:grid!important;
      grid-template-columns:repeat(3,minmax(0,1fr))!important;
      align-items:stretch!important;
      gap:12px!important;
      min-width:0!important;
    }

    html body #astApp .ast-process article{
      grid-template-columns:48px minmax(0,1fr)!important;
      gap:13px!important;
      padding:18px 16px!important;
      border:1px solid #d3e2ee!important;
      border-radius:6px!important;
      background:rgba(255,255,255,.94)!important;
      box-shadow:0 10px 24px rgba(15,53,90,.06)!important;
    }

    html body #astApp .ast-process article>i{
      width:48px!important;
      height:48px!important;
      border-radius:13px!important;
      font-size:20px!important;
    }

    html body #astApp .ast-process article>b{
      top:9px!important;
      right:10px!important;
      min-width:28px!important;
      height:22px!important;
      display:grid!important;
      place-items:center!important;
      padding:0 6px!important;
      border:1px solid #d6e5f1!important;
      border-radius:4px!important;
      color:#698096!important;
      background:#f7fafc!important;
      font-size:9.5px!important;
    }

    html body #astApp .ast-process article strong{
      margin-bottom:5px!important;
      color:#113452!important;
      font-size:14px!important;
      line-height:1.25!important;
    }

    html body #astApp .ast-process article p{
      color:#5b7187!important;
      font-size:11.5px!important;
      line-height:1.42!important;
    }

    @media(max-width:1279px){
      html body.sagomato-lab-astucci-page #astApp{
        width:calc(100vw - 20px)!important;
        max-width:none!important;
      }
      html body #astApp .ast-process{
        grid-template-columns:1fr!important;
        gap:18px!important;
        margin:18px 10px 40px!important;
        padding:22px!important;
      }
    }

    @media(max-width:760px){
      html body.sagomato-lab-astucci-page #astApp{
        width:100vw!important;
        left:50%!important;
        margin:0!important;
      }
      html body #astApp .ast-process-steps{
        grid-template-columns:1fr!important;
      }
    }

    /*
     * V3.4.0 — gabbia reale ricavata dalla cascata MU-plugin attiva.
     *
     * Il riferimento non si ferma a 1720 px: la V93 effettivamente caricata
     * porta #fcApp a min(2800px, 100vw - 48px). Replichiamo qui la stessa
     * larghezza e gli stessi breakpoint, mantenendo intatti 3D ed editor.
     */
    html body.sagomato-lab-astucci-page #astApp,
    html body:has(#astApp) #astApp{
      position:relative!important;
      left:auto!important;
      right:auto!important;
      width:min(2800px,calc(100vw - 48px))!important;
      max-width:none!important;
      margin:0 auto!important;
      padding:24px 0 48px!important;
      transform:none!important;
    }

    html body #astApp.ast-is-fullscreen{
      position:fixed!important;
      left:0!important;
      right:0!important;
      width:100vw!important;
      max-width:none!important;
      margin:0!important;
      padding:0!important;
      transform:none!important;
    }

    @media(max-width:1599px){
      html body.sagomato-lab-astucci-page #astApp,
      html body:has(#astApp) #astApp{
        width:calc(100vw - 36px)!important;
      }
    }

    @media(max-width:1120px){
      html body.sagomato-lab-astucci-page #astApp,
      html body:has(#astApp) #astApp{
        width:calc(100vw - 24px)!important;
        padding-top:16px!important;
      }
    }

    @media(max-width:760px){
      html body.sagomato-lab-astucci-page #astApp,
      html body:has(#astApp) #astApp{
        width:calc(100vw - 16px)!important;
        max-width:none!important;
        margin:0 auto!important;
        padding:10px 0 28px!important;
      }
    }

    /*
     * V3.5.0 — replica 1:1 dei comandi visibili del LAB Fondo e Coperchio.
     *
     * Le regole seguenti sono la trasposizione diretta della cascata finale
     * V119/V119.11: stepper a tre celle, selettore stato blu notte e dock
     * operativa 1,18 / 1 / 0,88. La logica del modello Astucci resta intatta.
     */
    @media(min-width:1121px){
      html body #astApp .ast-head{
        grid-template-columns:minmax(330px,.82fr) minmax(560px,1.28fr)!important;
        align-items:center!important;
        gap:18px!important;
        min-height:118px!important;
        padding:22px 26px!important;
        overflow:hidden!important;
        border:1px solid #d1deea!important;
        border-radius:6px!important;
        background:#fff!important;
        box-shadow:0 10px 28px rgba(14,49,84,.045)!important;
      }

      html body #astApp .ast-title{
        grid-template-columns:36px minmax(0,1fr)!important;
        gap:13px!important;
      }

      html body #astApp .ast-product-icon{
        width:36px!important;
        height:42px!important;
      }

      html body #astApp .ast-product-icon svg{
        width:30px!important;
        height:30px!important;
        stroke-width:1.65!important;
      }

      html body #astApp .ast-title small{
        gap:8px!important;
        font-size:10.5px!important;
        line-height:1!important;
        font-weight:950!important;
        letter-spacing:.14em!important;
      }

      html body #astApp .ast-title small span{
        width:20px!important;
        height:2px!important;
      }

      html body #astApp .ast-title h1{
        margin:5px 0 2px!important;
        color:#09213d!important;
        font-size:clamp(29px,1.7vw,35px)!important;
        line-height:1.04!important;
        font-weight:950!important;
        letter-spacing:-.043em!important;
      }

      html body #astApp .ast-title p{
        max-width:630px!important;
        margin:0!important;
        color:#526a82!important;
        font-size:12.5px!important;
        line-height:1.42!important;
        font-weight:640!important;
      }

      html body #astApp .ast-save-status{
        margin-top:6px!important;
        font-size:9px!important;
      }

      html body #astApp .ast-steps{
        position:relative!important;
        z-index:2!important;
        display:grid!important;
        grid-template-columns:repeat(3,minmax(0,1fr))!important;
        gap:18px!important;
        width:100%!important;
        min-width:0!important;
        min-height:78px!important;
        margin:0!important;
        padding:0!important;
        overflow:visible!important;
        border:0!important;
        background:transparent!important;
      }

      html body #astApp .ast-steps::before,
      html body #astApp .ast-steps::after{
        content:none!important;
        display:none!important;
      }

      html body #astApp .ast-steps button{
        position:relative!important;
        z-index:1!important;
        display:grid!important;
        grid-template-columns:44px minmax(0,1fr)!important;
        align-items:center!important;
        gap:12px!important;
        min-width:0!important;
        min-height:78px!important;
        margin:0!important;
        padding:10px 0 12px!important;
        overflow:visible!important;
        border:0!important;
        border-radius:0!important;
        color:#4e647b!important;
        background:transparent!important;
        box-shadow:none!important;
        text-align:left!important;
        transform:none!important;
      }

      html body #astApp .ast-steps button::before{
        content:""!important;
        position:absolute!important;
        right:0!important;
        bottom:0!important;
        left:0!important;
        display:block!important;
        height:2px!important;
        border-radius:2px!important;
        background:#0877e8!important;
        opacity:0!important;
        transform:scaleX(.45)!important;
        transform-origin:left center!important;
      }

      html body #astApp .ast-steps button::after{
        content:""!important;
        position:absolute!important;
        top:30px!important;
        right:-18px!important;
        display:block!important;
        width:18px!important;
        height:1px!important;
        border:0!important;
        border-radius:0!important;
        background:#d5e0ea!important;
        opacity:1!important;
        transform:none!important;
      }

      html body #astApp .ast-steps button:last-child::after{
        content:none!important;
        display:none!important;
      }

      html body #astApp .ast-steps button.is-active::before{
        opacity:1!important;
        transform:scaleX(1)!important;
      }

      html body #astApp .ast-steps button:hover{
        color:#174b7f!important;
        background:transparent!important;
      }

      html body #astApp .ast-steps button>b,
      html body #astApp .ast-steps button.is-active>b{
        display:grid!important;
        place-items:center!important;
        width:44px!important;
        height:44px!important;
        min-width:44px!important;
        margin:0!important;
        border:1px solid #d3dfeb!important;
        border-radius:50%!important;
        color:#5e7288!important;
        background:#fff!important;
        box-shadow:none!important;
        font-size:13px!important;
        line-height:1!important;
        font-weight:900!important;
      }

      html body #astApp .ast-steps button.is-active>b{
        border-color:#0877e8!important;
        color:#fff!important;
        background:#0877e8!important;
        box-shadow:0 7px 16px rgba(8,119,232,.18)!important;
      }

      html body #astApp .ast-steps button>span{
        display:block!important;
        min-width:0!important;
      }

      html body #astApp .ast-steps strong{
        display:block!important;
        overflow:hidden!important;
        color:inherit!important;
        font-size:13px!important;
        line-height:1.15!important;
        font-weight:920!important;
        white-space:nowrap!important;
        text-overflow:ellipsis!important;
      }

      html body #astApp .ast-steps small{
        display:block!important;
        margin-top:5px!important;
        overflow:hidden!important;
        color:#6c8197!important;
        font-size:10.5px!important;
        line-height:1.2!important;
        font-weight:680!important;
        white-space:nowrap!important;
        text-overflow:ellipsis!important;
      }

      html body #astApp .ast-stage{
        grid-template-rows:clamp(600px,57vh,711px) 43px 88px!important;
      }

      html body #astApp .ast-model-tabs{
        position:absolute!important;
        top:14px!important;
        right:14px!important;
        z-index:6!important;
        display:grid!important;
        grid-template-columns:repeat(2,minmax(110px,1fr))!important;
        gap:0!important;
        width:auto!important;
        min-width:228px!important;
        min-height:40px!important;
        margin:0!important;
        padding:3px!important;
        overflow:hidden!important;
        border:1px solid #0d3a67!important;
        border-radius:4px!important;
        background:#082c54!important;
        box-shadow:0 8px 18px rgba(7,52,104,.15)!important;
      }

      html body #astApp .ast-model-tabs button{
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        gap:7px!important;
        min-width:0!important;
        min-height:34px!important;
        padding:7px 10px!important;
        border:0!important;
        border-radius:3px!important;
        color:#fff!important;
        background:transparent!important;
        box-shadow:none!important;
        font-size:10px!important;
        line-height:1.15!important;
        font-weight:850!important;
      }

      html body #astApp .ast-model-tabs button.is-active{
        color:#fff!important;
        background:linear-gradient(90deg,#0877e8,#0664cb)!important;
      }

      html body #astApp .ast-model-tabs button>svg{
        flex:0 0 auto!important;
        width:17px!important;
        height:17px!important;
        stroke:currentColor!important;
      }

      html body #astApp .ast-model-tabs .ast-state-copy{
        display:grid!important;
        justify-items:start!important;
        width:auto!important;
        height:auto!important;
        min-width:0!important;
        margin:0!important;
        text-align:left!important;
      }

      html body #astApp .ast-model-tabs .ast-state-copy strong,
      html body #astApp .ast-model-tabs .ast-state-copy small{
        display:block!important;
        margin:0!important;
        color:inherit!important;
        font-size:10px!important;
        line-height:1.08!important;
        font-weight:850!important;
        white-space:nowrap!important;
      }

      html body #astApp .ast-rotation{
        display:grid!important;
        grid-template-columns:62px minmax(0,1fr) 38px!important;
        align-items:center!important;
        gap:9px!important;
        width:100%!important;
        min-width:0!important;
        height:43px!important;
        min-height:43px!important;
        margin:0!important;
        padding:9px 12px!important;
        border:0!important;
        border-top:1px solid #cfdeeb!important;
        border-bottom:1px solid #cfdeeb!important;
        background:#fbfdff!important;
      }

      html body #astApp .ast-rotation label,
      html body #astApp .ast-rotation output{
        color:#506b85!important;
        font-size:10px!important;
        line-height:1!important;
        font-weight:800!important;
      }

      html body #astApp .ast-viewbar{
        display:grid!important;
        grid-template-columns:minmax(0,1.18fr) minmax(0,1fr) minmax(0,.88fr)!important;
        width:100%!important;
        min-width:0!important;
        min-height:88px!important;
        margin:0!important;
        overflow:hidden!important;
        border:1px solid #cfdeeb!important;
        border-top:0!important;
        border-radius:0 0 6px 6px!important;
        background:#fff!important;
        box-shadow:0 12px 30px rgba(14,49,84,.055)!important;
      }

      html body #astApp .ast-view-group,
      html body #astApp .ast-switch,
      html body #astApp .ast-export{
        align-content:center!important;
        min-width:0!important;
        min-height:88px!important;
        margin:0!important;
        padding:13px 16px!important;
        border:0!important;
        border-right:1px solid #dce6ef!important;
        border-radius:0!important;
        background:#fff!important;
      }

      html body #astApp .ast-export{
        border-right:0!important;
      }

      html body #astApp .ast-view-group{
        display:grid!important;
        gap:8px!important;
      }

      html body #astApp .ast-view-group>small,
      html body #astApp .ast-switch>small,
      html body #astApp .ast-export::before{
        display:block!important;
        margin:0!important;
        color:#36536f!important;
        font-size:10px!important;
        line-height:1!important;
        font-weight:850!important;
        letter-spacing:.075em!important;
        text-transform:uppercase!important;
      }

      html body #astApp .ast-view-group>div{
        display:grid!important;
        grid-template-columns:repeat(3,minmax(0,1fr))!important;
        gap:7px!important;
      }

      html body #astApp .ast-view-group button{
        appearance:none!important;
        -webkit-appearance:none!important;
        position:relative!important;
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        gap:7px!important;
        min-width:0!important;
        min-height:42px!important;
        height:42px!important;
        margin:0!important;
        padding:0 9px!important;
        border:1px solid #cddceb!important;
        border-radius:5px!important;
        color:#294661!important;
        background:#fff!important;
        box-shadow:none!important;
        font-size:11.5px!important;
        line-height:1!important;
        font-weight:820!important;
      }

      html body #astApp .ast-view-group button.is-active{
        border-color:#0877e8!important;
        color:#fff!important;
        background:linear-gradient(135deg,#0877e8,#0664cb)!important;
        box-shadow:0 7px 16px rgba(8,119,232,.18)!important;
      }

      html body #astApp .ast-view-group button svg,
      html body #astApp .ast-export svg{
        flex:0 0 auto!important;
        width:19px!important;
        height:19px!important;
        fill:none!important;
        stroke:currentColor!important;
        stroke-width:1.8!important;
        stroke-linecap:round!important;
        stroke-linejoin:round!important;
      }

      html body #astApp .ast-switch{
        display:grid!important;
        grid-template-columns:minmax(0,1fr)!important;
        grid-template-rows:10px 42px!important;
        gap:8px!important;
      }

      html body #astApp .ast-switch>input{
        display:none!important;
      }

      html body #astApp .ast-switch-control{
        grid-row:2!important;
        display:flex!important;
        align-items:center!important;
        justify-content:space-between!important;
        gap:9px!important;
        min-width:0!important;
        min-height:42px!important;
        padding:0 10px!important;
        border:1px solid #9dc7ef!important;
        border-radius:5px!important;
        color:#075fc3!important;
        background:#f5faff!important;
      }

      html body #astApp .ast-switch-control strong{
        overflow:hidden!important;
        color:inherit!important;
        font-size:11.5px!important;
        line-height:1!important;
        font-weight:820!important;
        white-space:nowrap!important;
        text-overflow:ellipsis!important;
      }

      html body #astApp .ast-switch-control>i{
        position:relative!important;
        flex:0 0 38px!important;
        width:38px!important;
        height:22px!important;
        border:1px solid #bdcad8!important;
        border-radius:11px!important;
        background:#dbe4ec!important;
      }

      html body #astApp .ast-switch-control>i::after{
        content:""!important;
        position:absolute!important;
        top:3px!important;
        left:3px!important;
        width:14px!important;
        height:14px!important;
        border-radius:50%!important;
        background:#fff!important;
        box-shadow:0 2px 5px rgba(15,46,78,.22)!important;
        transition:transform .16s ease!important;
      }

      html body #astApp .ast-switch>input:checked + .ast-switch-control>i{
        border-color:#0877e8!important;
        background:#0877e8!important;
      }

      html body #astApp .ast-switch>input:checked + .ast-switch-control>i::after{
        left:3px!important;
        transform:translateX(16px)!important;
      }

      html body #astApp .ast-switch>input:not(:checked) + .ast-switch-control{
        border-color:#cddceb!important;
        color:#294661!important;
        background:#fff!important;
      }

      html body #astApp .ast-export{
        position:relative!important;
        display:grid!important;
        grid-template-columns:42px minmax(0,1fr) 42px!important;
        grid-template-rows:10px 42px!important;
        align-items:center!important;
        gap:8px 10px!important;
        text-align:left!important;
      }

      html body #astApp .ast-export::before{
        content:"ESPORTA"!important;
        grid-column:1/-1!important;
        grid-row:1!important;
      }

      html body #astApp .ast-export>span,
      html body #astApp .ast-export>em{
        grid-row:2!important;
        display:grid!important;
        place-items:center!important;
        width:42px!important;
        height:42px!important;
        min-height:42px!important;
        margin:0!important;
        border:1px solid #cddceb!important;
        border-radius:5px!important;
        font-style:normal!important;
      }

      html body #astApp .ast-export>span{
        color:#294e71!important;
        background:#f8fbff!important;
      }

      html body #astApp .ast-export>b{
        grid-row:2!important;
        display:grid!important;
        gap:4px!important;
        min-width:0!important;
        font-weight:inherit!important;
      }

      html body #astApp .ast-export>b>strong,
      html body #astApp .ast-export>b>small{
        display:block!important;
        overflow:hidden!important;
        white-space:nowrap!important;
        text-overflow:ellipsis!important;
      }

      html body #astApp .ast-export>b>strong{
        color:#173653!important;
        font-size:12.5px!important;
        line-height:1.1!important;
        font-weight:900!important;
      }

      html body #astApp .ast-export>b>small{
        margin:0!important;
        color:#6b8096!important;
        font-size:10.5px!important;
        line-height:1.2!important;
        font-weight:650!important;
      }

      html body #astApp .ast-export>em{
        color:#0877e8!important;
        background:#fff!important;
        font-size:0!important;
      }
    }

    /*
     * V3.6.0 — parità strutturale misurata sulle schermate reali.
     *
     * La V3.5 aveva già replicato correttamente i controlli, ma alcune
     * spaziature ereditate dalla V3.1/V3.3 continuavano a sommarsi nella
     * colonna configurazione. Questo blocco è l'unica autorità finale per
     * geometria desktop: non modifica il modello, la fustella o l'editor.
     */
    @media(min-width:1121px){
      html body #astApp .ast-head{
        min-height:118px!important;
        padding:22px 26px!important;
      }

      html body #astApp .ast-stage{
        grid-template-rows:clamp(594px,calc(57vh - 6px),705px) 43px 88px!important;
      }

      html body #astApp .ast-three-wrap{
        min-height:clamp(594px,calc(57vh - 6px),705px)!important;
        height:clamp(594px,calc(57vh - 6px),705px)!important;
      }

      /*
       * A sinistra i campi coincidevano già col riferimento. Lo scarto
       * iniziava soltanto dopo il quarto campo e si propagava ai CTA.
       */
      html body #astApp .ast-validation{
        margin-top:3px!important;
      }

      html body #astApp .ast-option{
        margin-top:7px!important;
      }

      /*
       * Nel riferimento il preset da 1.000 pezzi è accostato alla prima
       * riga. Eliminando il solo interfilare si riallinea tutto il flusso
       * del preventivo, mantenendo dimensioni e tipografia approvate.
       */
      html body #astApp .ast-qty-presets{
        row-gap:0!important;
      }

      html body #astApp .ast-qty-presets button:nth-child(5){
        min-height:54px!important;
      }

      html body #astApp .ast-qty-row{
        margin-top:0!important;
      }

      html body #astApp .ast-qty-row>div{
        margin-top:3px!important;
      }

      html body #astApp .ast-bulk-card{
        margin-top:35px!important;
      }

      html body #astApp .ast-progress-title{
        margin-top:25px!important;
      }

      html body #astApp .ast-checks li{
        min-height:31px!important;
        padding:6px 0!important;
      }

      html body #astApp .ast-quote footer{
        min-height:56px!important;
        margin-top:19px!important;
      }

      html body #astApp .ast-process{
        padding:28px 32px!important;
      }
    }

    @media(min-width:1121px) and (max-width:1599px){
      html body #astApp .ast-model-tabs{
        min-width:228px!important;
        grid-template-columns:repeat(2,minmax(110px,1fr))!important;
      }
    }

    /*
     * V3.8.0 — sidebar premium definitiva.
     *
     * Un solo flusso visivo: quantità, stima e prossimo passaggio. Tutti gli
     * ID del motore originale restano invariati, quindi prezzi, quantità,
     * salvataggio ed editor continuano ad aggiornarsi in tempo reale.
     */
    html body #astApp.ast-sidebar-premium .ast-quote{
      --ast-premium-navy:#082a50;
      --ast-premium-navy-deep:#061f3e;
      --ast-premium-blue:#0878e8;
      --ast-premium-blue-bright:#1594ff;
      --ast-premium-green:#08a777;
      --ast-premium-line:#d8e5ef;
      --ast-premium-copy:#688097;
      padding:16px 16px 18px!important;
      background:
        radial-gradient(circle at 100% 0,rgba(21,148,255,.055),transparent 210px),
        #fff!important;
    }

    html body #astApp.ast-sidebar-premium .ast-quote-head{
      min-height:62px!important;
      display:grid!important;
      grid-template-columns:46px minmax(0,1fr)!important;
      align-items:center!important;
      gap:12px!important;
      padding:0 0 13px!important;
      border-bottom:1px solid var(--ast-premium-line)!important;
    }

    html body #astApp.ast-sidebar-premium #astProgressRing{
      display:none!important;
    }

    html body #astApp.ast-sidebar-premium .ast-premium-head-icon{
      width:44px!important;
      height:44px!important;
      display:grid!important;
      place-items:center!important;
      border:1px solid #c8eadf!important;
      border-radius:12px!important;
      color:var(--ast-premium-green)!important;
      background:linear-gradient(145deg,#eefbf7,#def5ed)!important;
      box-shadow:inset 0 1px 0 rgba(255,255,255,.9)!important;
    }

    html body #astApp.ast-sidebar-premium .ast-premium-head-icon svg{
      width:23px!important;
      height:23px!important;
      display:block!important;
      margin:auto!important;
      fill:none!important;
      stroke:currentColor!important;
      stroke-width:1.9!important;
      stroke-linecap:round!important;
      stroke-linejoin:round!important;
    }

    html body #astApp.ast-sidebar-premium .ast-quote-head>div{
      min-width:0!important;
    }

    html body #astApp.ast-sidebar-premium .ast-quote-head h2{
      margin:0!important;
      color:var(--ast-premium-navy)!important;
      font-size:18px!important;
      line-height:1.08!important;
      font-weight:900!important;
      letter-spacing:-.025em!important;
    }

    html body #astApp.ast-sidebar-premium .ast-quote-head p{
      display:block!important;
      margin:5px 0 0!important;
      overflow:visible!important;
      color:var(--ast-premium-copy)!important;
      font-size:10.5px!important;
      line-height:1.3!important;
      font-weight:650!important;
      text-overflow:clip!important;
      white-space:normal!important;
    }

    html body #astApp.ast-sidebar-premium .ast-quote-tabs,
    html body #astApp.ast-sidebar-premium .ast-choice-title,
    html body #astApp.ast-sidebar-premium .ast-summary,
    html body #astApp.ast-sidebar-premium .ast-bulk-card{
      display:none!important;
    }

    html body #astApp.ast-sidebar-premium .ast-qty-scale-head{
      min-height:22px!important;
      display:flex!important;
      align-items:flex-end!important;
      justify-content:space-between!important;
      gap:10px!important;
      margin:14px 0 8px!important;
      padding:0!important;
      border:0!important;
    }

    html body #astApp.ast-sidebar-premium .ast-qty-scale-head span{
      color:var(--ast-premium-navy)!important;
      font-size:12px!important;
      line-height:1.1!important;
      font-weight:900!important;
    }

    html body #astApp.ast-sidebar-premium .ast-qty-scale-head strong{
      color:var(--ast-premium-blue)!important;
      font-size:9.5px!important;
      line-height:1.1!important;
      font-weight:850!important;
      white-space:nowrap!important;
    }

    html body #astApp.ast-sidebar-premium .ast-qty-presets{
      display:grid!important;
      grid-template-columns:repeat(4,minmax(0,1fr))!important;
      gap:7px!important;
      margin:0!important;
      padding:0!important;
      overflow:visible!important;
      border:0!important;
      border-radius:0!important;
      background:transparent!important;
    }

    html body #astApp.ast-sidebar-premium .ast-qty-presets button,
    html body #astApp.ast-sidebar-premium .ast-qty-presets button:nth-child(5){
      position:relative!important;
      min-width:0!important;
      min-height:50px!important;
      height:50px!important;
      display:grid!important;
      place-items:center!important;
      margin:0!important;
      padding:5px 3px!important;
      border:1px solid #d5e2ec!important;
      border-radius:9px!important;
      color:#173d62!important;
      background:linear-gradient(180deg,#fff,#f8fbfe)!important;
      box-shadow:0 2px 7px rgba(19,55,88,.035)!important;
      font-size:14px!important;
      line-height:1!important;
      font-weight:900!important;
      text-align:center!important;
      transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease,background .16s ease!important;
    }

    html body #astApp.ast-sidebar-premium .ast-qty-presets button:hover{
      z-index:2!important;
      border-color:#7ab9ed!important;
      box-shadow:0 5px 13px rgba(8,120,232,.11)!important;
      transform:translateY(-1px)!important;
    }

    html body #astApp.ast-sidebar-premium .ast-qty-presets button.is-active{
      z-index:3!important;
      border-color:var(--ast-premium-blue)!important;
      color:#fff!important;
      background:linear-gradient(145deg,var(--ast-premium-blue),var(--ast-premium-blue-bright))!important;
      box-shadow:0 7px 15px rgba(8,120,232,.24)!important;
    }

    html body #astApp.ast-sidebar-premium .ast-qty-presets button.is-active:after{
      content:"✓"!important;
      position:absolute!important;
      top:4px!important;
      right:5px!important;
      width:14px!important;
      height:14px!important;
      display:grid!important;
      place-items:center!important;
      border-radius:50%!important;
      color:var(--ast-premium-blue)!important;
      background:#fff!important;
      font-size:8px!important;
      line-height:1!important;
      font-weight:950!important;
    }

    html body #astApp.ast-sidebar-premium .ast-qty-presets button small,
    html body #astApp.ast-sidebar-premium .ast-qty-presets button>b,
    html body #astApp.ast-sidebar-premium .ast-qty-presets button em{
      display:none!important;
    }

    html body #astApp.ast-sidebar-premium .ast-qty-row{
      display:grid!important;
      grid-template-columns:1fr auto!important;
      align-items:end!important;
      gap:4px 10px!important;
      margin:15px 0 0!important;
      padding:0!important;
    }

    html body #astApp.ast-sidebar-premium .ast-qty-row>span{
      color:var(--ast-premium-navy)!important;
      font-size:11.5px!important;
      line-height:1.15!important;
      font-weight:900!important;
    }

    html body #astApp.ast-sidebar-premium .ast-qty-row>small{
      color:var(--ast-premium-copy)!important;
      font-size:8.5px!important;
      line-height:1.15!important;
      font-weight:700!important;
      text-align:right!important;
    }

    html body #astApp.ast-sidebar-premium #astQtyControl{
      grid-column:1/-1!important;
      width:100%!important;
      height:58px!important;
      display:grid!important;
      grid-template-columns:52px minmax(0,1fr) 34px 52px!important;
      align-items:center!important;
      gap:0!important;
      margin:4px 0 0!important;
      padding:0!important;
      overflow:hidden!important;
      border:1px solid #78b9ef!important;
      border-radius:10px!important;
      background:linear-gradient(180deg,#f7fbff,#eef7ff)!important;
      box-shadow:inset 0 1px 0 #fff,0 3px 10px rgba(8,120,232,.065)!important;
    }

    html body #astApp.ast-sidebar-premium #astQtyControl>i{
      display:none!important;
    }

    html body #astApp.ast-sidebar-premium #astQtyControl button{
      width:100%!important;
      height:100%!important;
      display:grid!important;
      place-items:center!important;
      margin:0!important;
      padding:0!important;
      border:0!important;
      border-radius:0!important;
      color:var(--ast-premium-blue)!important;
      background:rgba(255,255,255,.64)!important;
      font-family:inherit!important;
      font-size:23px!important;
      line-height:1!important;
      font-weight:700!important;
      text-align:center!important;
    }

    html body #astApp.ast-sidebar-premium #astQtyMinus{
      grid-column:1!important;
      border-right:1px solid #d7e7f3!important;
    }

    html body #astApp.ast-sidebar-premium #astQtyPlus{
      grid-column:4!important;
      border-left:1px solid #d7e7f3!important;
    }

    html body #astApp.ast-sidebar-premium #astQtyControl input{
      grid-column:2!important;
      width:100%!important;
      height:100%!important;
      margin:0!important;
      padding:0 2px!important;
      border:0!important;
      outline:0!important;
      color:var(--ast-premium-navy)!important;
      background:transparent!important;
      font-family:inherit!important;
      font-size:25px!important;
      line-height:1!important;
      font-weight:950!important;
      text-align:right!important;
      appearance:textfield!important;
      -moz-appearance:textfield!important;
    }

    html body #astApp.ast-sidebar-premium #astQtyControl input::-webkit-outer-spin-button,
    html body #astApp.ast-sidebar-premium #astQtyControl input::-webkit-inner-spin-button{
      margin:0!important;
      -webkit-appearance:none!important;
    }

    html body #astApp.ast-sidebar-premium #astQtyControl em{
      grid-column:3!important;
      justify-self:start!important;
      margin:2px 0 0!important;
      color:#516d86!important;
      font-size:10px!important;
      line-height:1!important;
      font-weight:900!important;
      font-style:normal!important;
    }

    html body #astApp.ast-sidebar-premium .ast-qty-note{
      min-height:26px!important;
      display:flex!important;
      align-items:center!important;
      justify-content:center!important;
      gap:7px!important;
      margin:0!important;
      padding:5px 8px 0!important;
      color:#168566!important;
      background:transparent!important;
      font-size:8.5px!important;
      line-height:1.2!important;
      font-weight:800!important;
      text-align:center!important;
    }

    html body #astApp.ast-sidebar-premium .ast-qty-note i{
      width:8px!important;
      height:8px!important;
      flex:0 0 8px!important;
      display:block!important;
      border:2px solid #bdebdc!important;
      border-radius:50%!important;
      background:var(--ast-premium-green)!important;
      box-shadow:none!important;
    }

    html body #astApp.ast-sidebar-premium .ast-price-card{
      position:relative!important;
      min-height:184px!important;
      display:block!important;
      margin:10px 0 0!important;
      padding:17px 18px 14px!important;
      overflow:hidden!important;
      border:1px solid rgba(25,145,255,.68)!important;
      border-left:1px solid rgba(25,145,255,.68)!important;
      border-radius:13px!important;
      color:#fff!important;
      background:
        radial-gradient(circle at 78% -30%,rgba(36,169,255,.68),transparent 51%),
        linear-gradient(140deg,var(--ast-premium-navy-deep),#073b78 62%,#0875d7)!important;
      box-shadow:0 12px 25px rgba(4,42,81,.19),inset 0 1px 0 rgba(255,255,255,.12)!important;
    }

    html body #astApp.ast-sidebar-premium .ast-price-card[hidden]{
      display:none!important;
    }

    html body #astApp.ast-sidebar-premium .ast-price-card:before{
      content:""!important;
      position:absolute!important;
      top:-54px!important;
      right:-42px!important;
      width:170px!important;
      height:170px!important;
      border:1px solid rgba(255,255,255,.09)!important;
      border-radius:50%!important;
      pointer-events:none!important;
    }

    html body #astApp.ast-sidebar-premium .ast-premium-price-top{
      position:relative!important;
      z-index:1!important;
      display:flex!important;
      align-items:center!important;
      justify-content:space-between!important;
      gap:10px!important;
    }

    html body #astApp.ast-sidebar-premium .ast-premium-price-title{
      display:flex!important;
      align-items:center!important;
      gap:8px!important;
      color:#fff!important;
      font-size:12px!important;
      line-height:1.1!important;
      font-weight:900!important;
    }

    html body #astApp.ast-sidebar-premium .ast-premium-price-title i{
      width:24px!important;
      height:24px!important;
      display:grid!important;
      place-items:center!important;
      border:1px solid rgba(255,255,255,.28)!important;
      border-radius:7px!important;
      color:#fff!important;
      background:rgba(255,255,255,.09)!important;
      font-style:normal!important;
    }

    html body #astApp.ast-sidebar-premium .ast-premium-price-title svg{
      width:14px!important;
      height:14px!important;
      display:block!important;
      margin:auto!important;
      fill:none!important;
      stroke:currentColor!important;
      stroke-width:1.9!important;
      stroke-linecap:round!important;
      stroke-linejoin:round!important;
    }

    html body #astApp.ast-sidebar-premium .ast-premium-estimate{
      display:inline-flex!important;
      align-items:center!important;
      justify-content:center!important;
      min-height:24px!important;
      margin:0!important;
      padding:0 9px!important;
      border:1px solid rgba(132,255,209,.34)!important;
      border-radius:999px!important;
      color:#ddfff1!important;
      background:rgba(2,176,111,.28)!important;
      font-size:7px!important;
      line-height:1!important;
      font-weight:950!important;
      font-style:normal!important;
      letter-spacing:.05em!important;
      white-space:nowrap!important;
    }

    html body #astApp.ast-sidebar-premium .ast-premium-total{
      position:relative!important;
      z-index:1!important;
      margin-top:11px!important;
    }

    html body #astApp.ast-sidebar-premium .ast-premium-total>strong{
      display:flex!important;
      align-items:baseline!important;
      gap:6px!important;
      color:#fff!important;
      font-size:34px!important;
      line-height:1!important;
      font-weight:950!important;
      letter-spacing:-.035em!important;
      white-space:nowrap!important;
    }

    html body #astApp.ast-sidebar-premium .ast-premium-total>strong>small{
      color:#d9edff!important;
      font-size:18px!important;
      line-height:1!important;
      font-weight:800!important;
      letter-spacing:0!important;
    }

    html body #astApp.ast-sidebar-premium .ast-premium-total>span{
      display:block!important;
      margin-top:4px!important;
      color:#d9eaff!important;
      font-size:10px!important;
      line-height:1.2!important;
      font-weight:700!important;
    }

    html body #astApp.ast-sidebar-premium .ast-premium-total>span b{
      color:#fff!important;
      font-weight:900!important;
    }

    html body #astApp.ast-sidebar-premium .ast-premium-price-meta{
      position:relative!important;
      z-index:1!important;
      display:grid!important;
      grid-template-columns:1fr auto!important;
      align-items:end!important;
      gap:10px!important;
      margin-top:12px!important;
      padding-top:10px!important;
      border-top:1px solid rgba(255,255,255,.17)!important;
    }

    html body #astApp.ast-sidebar-premium .ast-premium-unit{
      color:#fff!important;
      font-size:15px!important;
      line-height:1!important;
      font-weight:900!important;
    }

    html body #astApp.ast-sidebar-premium .ast-premium-unit small{
      display:inline!important;
      color:#d6e8fb!important;
      font-size:9px!important;
      font-weight:650!important;
    }

    html body #astApp.ast-sidebar-premium .ast-premium-vat{
      color:#d8eaff!important;
      font-size:9px!important;
      line-height:1!important;
      font-weight:800!important;
      white-space:nowrap!important;
    }

    html body #astApp.ast-sidebar-premium .ast-premium-price-note{
      position:relative!important;
      z-index:1!important;
      min-height:26px!important;
      display:flex!important;
      align-items:center!important;
      gap:7px!important;
      margin:9px -18px -14px!important;
      padding:7px 18px!important;
      border-top:1px solid rgba(255,255,255,.14)!important;
      color:#d4e7fa!important;
      background:rgba(0,0,0,.09)!important;
      font-size:8px!important;
      line-height:1.25!important;
      font-weight:650!important;
    }

    html body #astApp.ast-sidebar-premium .ast-premium-price-note i{
      width:16px!important;
      height:16px!important;
      flex:0 0 16px!important;
      display:grid!important;
      place-items:center!important;
      border:1px solid rgba(255,255,255,.48)!important;
      border-radius:50%!important;
      color:#fff!important;
      font-size:8px!important;
      line-height:1!important;
      font-weight:900!important;
      font-style:normal!important;
    }

    html body #astApp.ast-sidebar-premium .ast-progress-title,
    html body #astApp.ast-sidebar-premium .ast-progress-track,
    html body #astApp.ast-sidebar-premium .ast-checks{
      display:none!important;
    }

    html body #astApp.ast-sidebar-premium .ast-continue{
      min-height:50px!important;
      height:50px!important;
      display:flex!important;
      align-items:center!important;
      justify-content:center!important;
      gap:10px!important;
      margin:11px 0 0!important;
      padding:0 18px!important;
      border:0!important;
      border-radius:10px!important;
      color:#fff!important;
      background:linear-gradient(100deg,var(--ast-premium-blue),var(--ast-premium-blue-bright))!important;
      box-shadow:0 9px 18px rgba(8,120,232,.22)!important;
      font-size:12px!important;
      line-height:1!important;
      font-weight:950!important;
      letter-spacing:-.01em!important;
    }

    html body #astApp.ast-sidebar-premium .ast-continue:hover{
      filter:brightness(1.035)!important;
      transform:translateY(-1px)!important;
      box-shadow:0 12px 22px rgba(8,120,232,.28)!important;
    }

    html body #astApp.ast-sidebar-premium .ast-continue span{
      margin:0!important;
    }

    html body #astApp.ast-sidebar-premium .ast-continue svg{
      width:18px!important;
      height:18px!important;
      display:block!important;
      margin:0!important;
      fill:none!important;
      stroke:currentColor!important;
      stroke-width:2!important;
      stroke-linecap:round!important;
      stroke-linejoin:round!important;
    }

    html body #astApp.ast-sidebar-premium .ast-quote footer{
      min-height:58px!important;
      display:grid!important;
      grid-template-columns:repeat(3,minmax(0,1fr))!important;
      align-items:center!important;
      gap:0!important;
      margin:12px 0 0!important;
      padding:8px 0!important;
      border-top:1px solid #e1eaf1!important;
      border-bottom:1px solid #e1eaf1!important;
      color:#567087!important;
      background:transparent!important;
    }

    html body #astApp.ast-sidebar-premium .ast-quote footer>span{
      min-width:0!important;
      min-height:38px!important;
      display:flex!important;
      align-items:center!important;
      justify-content:center!important;
      gap:6px!important;
      margin:0!important;
      padding:0 7px!important;
      text-align:left!important;
    }

    html body #astApp.ast-sidebar-premium .ast-quote footer>span+span{
      border-left:1px solid #dce7ef!important;
    }

    html body #astApp.ast-sidebar-premium .ast-quote footer i{
      width:22px!important;
      height:22px!important;
      flex:0 0 22px!important;
      display:grid!important;
      place-items:center!important;
      margin:0!important;
      border:1px solid #acd5f5!important;
      border-radius:50%!important;
      color:var(--ast-premium-blue)!important;
      background:#f3f9fe!important;
      font-size:7px!important;
      line-height:1!important;
      font-weight:900!important;
      font-style:normal!important;
    }

    html body #astApp.ast-sidebar-premium .ast-quote footer i svg{
      width:15px!important;
      height:15px!important;
      display:block!important;
      margin:auto!important;
      fill:none!important;
      stroke:currentColor!important;
      stroke-width:1.8!important;
      stroke-linecap:round!important;
      stroke-linejoin:round!important;
    }

    html body #astApp.ast-sidebar-premium .ast-quote footer b{
      min-width:0!important;
      color:#526b82!important;
      font-size:8px!important;
      line-height:1.18!important;
      font-weight:850!important;
      text-align:left!important;
    }

    html body #astApp.ast-sidebar-premium .ast-save-row{
      min-height:40px!important;
      display:flex!important;
      align-items:center!important;
      justify-content:center!important;
      gap:30px!important;
      margin:5px 0 0!important;
      padding:0!important;
    }

    html body #astApp.ast-sidebar-premium .ast-save-row button{
      min-height:32px!important;
      display:inline-flex!important;
      align-items:center!important;
      justify-content:center!important;
      gap:7px!important;
      margin:0!important;
      padding:0 6px!important;
      border:0!important;
      color:#6b8094!important;
      background:transparent!important;
      font-size:8px!important;
      line-height:1!important;
      font-weight:850!important;
      text-transform:none!important;
    }

    html body #astApp.ast-sidebar-premium .ast-save-row svg{
      width:15px!important;
      height:15px!important;
      display:block!important;
      margin:0!important;
      fill:none!important;
      stroke:currentColor!important;
      stroke-width:1.75!important;
      stroke-linecap:round!important;
      stroke-linejoin:round!important;
    }

    @media(max-width:1320px){
      html body #astApp.ast-sidebar-premium .ast-quote{
        padding-right:13px!important;
        padding-left:13px!important;
      }

      html body #astApp.ast-sidebar-premium .ast-qty-presets{
        gap:6px!important;
      }

      html body #astApp.ast-sidebar-premium .ast-qty-presets button,
      html body #astApp.ast-sidebar-premium .ast-qty-presets button:nth-child(5){
        font-size:12.5px!important;
      }

      html body #astApp.ast-sidebar-premium .ast-premium-total>strong{
        font-size:31px!important;
      }

      html body #astApp.ast-sidebar-premium .ast-quote footer>span{
        gap:4px!important;
        padding:0 4px!important;
      }

      html body #astApp.ast-sidebar-premium .ast-quote footer b{
        font-size:7.5px!important;
      }
    }

    @media(max-width:760px){
      html body #astApp.ast-sidebar-premium .ast-quote{
        padding:14px 12px 16px!important;
      }

      html body #astApp.ast-sidebar-premium .ast-quote-head h2{
        font-size:17px!important;
      }

      html body #astApp.ast-sidebar-premium .ast-qty-presets{
        gap:6px!important;
      }

      html body #astApp.ast-sidebar-premium .ast-qty-presets button,
      html body #astApp.ast-sidebar-premium .ast-qty-presets button:nth-child(5){
        min-height:48px!important;
        height:48px!important;
        font-size:12px!important;
      }

      html body #astApp.ast-sidebar-premium .ast-qty-row>small{
        font-size:8px!important;
      }

      html body #astApp.ast-sidebar-premium .ast-price-card{
        padding-right:15px!important;
        padding-left:15px!important;
      }

      html body #astApp.ast-sidebar-premium .ast-premium-price-note{
        margin-right:-15px!important;
        margin-left:-15px!important;
        padding-right:15px!important;
        padding-left:15px!important;
      }
    }

    /*
     * V3.9.1 — Alternativa B, Commerciale Bilanciata XL.
     * Il pannello blu occupa solo il totale ordine; tutti i testi operativi
     * vengono portati a una dimensione leggibile anche nel layout completo.
     */
    html body #astApp.ast-sidebar-balanced .ast-quote{
      padding:18px!important;
      background:#fff!important;
    }

    html body #astApp.ast-sidebar-balanced .ast-quote-head{
      min-height:70px!important;
      grid-template-columns:50px minmax(0,1fr)!important;
      gap:14px!important;
      padding:0 0 16px!important;
    }

    html body #astApp.ast-sidebar-balanced .ast-premium-head-icon{
      width:48px!important;
      height:48px!important;
      border-radius:13px!important;
    }

    html body #astApp.ast-sidebar-balanced .ast-premium-head-icon svg{
      width:26px!important;
      height:26px!important;
    }

    html body #astApp.ast-sidebar-balanced .ast-quote-head h2{
      font-size:21px!important;
      line-height:1.05!important;
      letter-spacing:-.03em!important;
    }

    html body #astApp.ast-sidebar-balanced .ast-quote-head p{
      margin-top:7px!important;
      color:#607a92!important;
      font-size:12px!important;
      line-height:1.2!important;
      font-weight:800!important;
    }

    html body #astApp.ast-sidebar-balanced .ast-balanced-quantity-panel{
      display:block!important;
      margin-top:15px!important;
      padding:16px!important;
      border:1px solid #d5e5f1!important;
      border-radius:13px!important;
      background:
        radial-gradient(circle at 100% 0,rgba(18,142,247,.07),transparent 190px),
        linear-gradient(150deg,#f8fbfe,#f1f8fd)!important;
      box-shadow:inset 0 1px 0 #fff,0 5px 16px rgba(22,65,105,.05)!important;
    }

    html body #astApp.ast-sidebar-balanced .ast-qty-scale-head{
      min-height:26px!important;
      margin:0 0 11px!important;
    }

    html body #astApp.ast-sidebar-balanced .ast-qty-scale-head span{
      color:#0a2949!important;
      font-size:15px!important;
      line-height:1.1!important;
      font-weight:950!important;
    }

    html body #astApp.ast-sidebar-balanced .ast-qty-scale-head strong{
      color:#0878e8!important;
      font-size:11.5px!important;
      line-height:1.1!important;
      font-weight:900!important;
    }

    html body #astApp.ast-sidebar-balanced .ast-qty-presets{
      gap:8px!important;
    }

    html body #astApp.ast-sidebar-balanced .ast-qty-presets button,
    html body #astApp.ast-sidebar-balanced .ast-qty-presets button:nth-child(5){
      min-height:58px!important;
      height:58px!important;
      display:flex!important;
      flex-direction:column!important;
      align-items:center!important;
      justify-content:center!important;
      gap:4px!important;
      padding:6px 4px!important;
      border-color:#cfdeea!important;
      border-radius:10px!important;
      color:#0b3459!important;
      background:#fff!important;
      font-size:17px!important;
      line-height:1!important;
      font-weight:950!important;
    }

    html body #astApp.ast-sidebar-balanced .ast-qty-presets button:hover{
      border-color:#7bbcf0!important;
      background:#fff!important;
    }

    html body #astApp.ast-sidebar-balanced .ast-qty-presets button.is-active{
      border-color:#0878e8!important;
      color:#fff!important;
      background:linear-gradient(145deg,#0878e8,#1998ff)!important;
      box-shadow:0 8px 17px rgba(8,120,232,.23)!important;
    }

    html body #astApp.ast-sidebar-balanced .ast-qty-presets button.is-active:after{
      content:"SCELTA"!important;
      position:static!important;
      width:auto!important;
      height:auto!important;
      display:block!important;
      margin:0!important;
      padding:0!important;
      border:0!important;
      border-radius:0!important;
      color:rgba(255,255,255,.9)!important;
      background:transparent!important;
      font-size:9px!important;
      line-height:1!important;
      font-weight:950!important;
      letter-spacing:.08em!important;
    }

    html body #astApp.ast-sidebar-balanced .ast-qty-row{
      margin-top:17px!important;
      gap:5px 12px!important;
    }

    html body #astApp.ast-sidebar-balanced .ast-qty-row>span{
      color:#0a2949!important;
      font-size:14px!important;
      line-height:1.15!important;
      font-weight:950!important;
    }

    html body #astApp.ast-sidebar-balanced .ast-qty-row>small{
      color:#607a92!important;
      font-size:10.5px!important;
      line-height:1.15!important;
      font-weight:750!important;
    }

    html body #astApp.ast-sidebar-balanced #astQtyControl{
      height:64px!important;
      grid-template-columns:58px minmax(0,1fr) 42px 58px!important;
      margin-top:6px!important;
      border-color:#91bee4!important;
      border-radius:11px!important;
      background:#fff!important;
      box-shadow:0 4px 13px rgba(22,70,110,.06)!important;
    }

    html body #astApp.ast-sidebar-balanced #astQtyControl button{
      color:#0878e8!important;
      background:#f8fbfe!important;
      font-size:26px!important;
    }

    html body #astApp.ast-sidebar-balanced #astQtyControl input{
      font-size:31px!important;
      letter-spacing:-.02em!important;
    }

    html body #astApp.ast-sidebar-balanced #astQtyControl em{
      margin-left:3px!important;
      color:#4e6a83!important;
      font-size:13px!important;
      font-weight:900!important;
    }

    html body #astApp.ast-sidebar-balanced .ast-qty-note{
      min-height:31px!important;
      padding-top:8px!important;
      color:#068c66!important;
      font-size:11px!important;
      line-height:1.2!important;
      font-weight:850!important;
    }

    html body #astApp.ast-sidebar-balanced .ast-price-card{
      min-height:178px!important;
      display:grid!important;
      grid-template-columns:minmax(0,44%) minmax(0,56%)!important;
      grid-template-rows:minmax(132px,auto) auto!important;
      gap:0!important;
      margin-top:14px!important;
      padding:0!important;
      overflow:hidden!important;
      border:1px solid #c8dcea!important;
      border-left:1px solid #c8dcea!important;
      border-radius:13px!important;
      color:#0a2949!important;
      background:#fff!important;
      box-shadow:0 10px 25px rgba(15,57,94,.09)!important;
    }

    html body #astApp.ast-sidebar-balanced .ast-price-card:before{
      display:none!important;
    }

    html body #astApp.ast-sidebar-balanced .ast-balanced-unit,
    html body #astApp.ast-sidebar-balanced .ast-balanced-total{
      min-width:0!important;
      display:flex!important;
      flex-direction:column!important;
      align-items:flex-start!important;
      justify-content:center!important;
      padding:19px!important;
    }

    html body #astApp.ast-sidebar-balanced .ast-balanced-unit{
      color:#0a2949!important;
      background:#fff!important;
    }

    html body #astApp.ast-sidebar-balanced .ast-balanced-total{
      position:relative!important;
      overflow:hidden!important;
      color:#fff!important;
      background:
        radial-gradient(circle at 105% -15%,rgba(92,197,255,.45),transparent 58%),
        linear-gradient(135deg,#0878e8,#1396fb)!important;
    }

    html body #astApp.ast-sidebar-balanced .ast-balanced-total:after{
      content:""!important;
      position:absolute!important;
      top:-65px!important;
      right:-55px!important;
      width:165px!important;
      height:165px!important;
      border:1px solid rgba(255,255,255,.18)!important;
      border-radius:50%!important;
      pointer-events:none!important;
    }

    html body #astApp.ast-sidebar-balanced .ast-balanced-unit small,
    html body #astApp.ast-sidebar-balanced .ast-balanced-total small{
      position:relative!important;
      z-index:1!important;
      display:block!important;
      margin:0 0 9px!important;
      font-size:12px!important;
      line-height:1.1!important;
      font-weight:850!important;
    }

    html body #astApp.ast-sidebar-balanced .ast-balanced-unit small{
      color:#59748c!important;
    }

    html body #astApp.ast-sidebar-balanced .ast-balanced-total small{
      color:#e9f6ff!important;
      letter-spacing:.035em!important;
    }

    html body #astApp.ast-sidebar-balanced .ast-balanced-unit strong,
    html body #astApp.ast-sidebar-balanced .ast-balanced-total strong{
      position:relative!important;
      z-index:1!important;
      display:flex!important;
      align-items:baseline!important;
      gap:5px!important;
      margin:0!important;
      line-height:.95!important;
      font-weight:950!important;
      white-space:nowrap!important;
      letter-spacing:-.04em!important;
    }

    html body #astApp.ast-sidebar-balanced .ast-balanced-unit strong{
      color:#0a2949!important;
      font-size:35px!important;
    }

    html body #astApp.ast-sidebar-balanced .ast-balanced-total strong{
      color:#fff!important;
      font-size:38px!important;
    }

    html body #astApp.ast-sidebar-balanced .ast-balanced-unit em,
    html body #astApp.ast-sidebar-balanced .ast-balanced-total em{
      position:relative!important;
      z-index:1!important;
      display:block!important;
      margin-top:9px!important;
      font-size:11.5px!important;
      line-height:1.1!important;
      font-weight:800!important;
      font-style:normal!important;
    }

    html body #astApp.ast-sidebar-balanced .ast-balanced-unit em{
      color:#5c758c!important;
    }

    html body #astApp.ast-sidebar-balanced .ast-balanced-total em{
      color:#eef8ff!important;
    }

    html body #astApp.ast-sidebar-balanced .ast-balanced-price-note{
      grid-column:1/-1!important;
      min-height:38px!important;
      display:flex!important;
      align-items:center!important;
      gap:8px!important;
      margin:0!important;
      padding:9px 14px!important;
      border-top:1px solid #dbe7ef!important;
      color:#5d768d!important;
      background:#f8fbfd!important;
      font-size:10.5px!important;
      line-height:1.25!important;
      font-weight:700!important;
    }

    html body #astApp.ast-sidebar-balanced .ast-balanced-price-note i{
      width:19px!important;
      height:19px!important;
      flex:0 0 19px!important;
      display:grid!important;
      place-items:center!important;
      border:1px solid #8ebfe8!important;
      border-radius:50%!important;
      color:#0878e8!important;
      background:#fff!important;
      font-size:10px!important;
      line-height:1!important;
      font-weight:950!important;
      font-style:normal!important;
    }

    html body #astApp.ast-sidebar-balanced .ast-continue{
      min-height:56px!important;
      height:56px!important;
      margin-top:13px!important;
      border-radius:11px!important;
      font-size:14px!important;
      box-shadow:0 10px 21px rgba(8,120,232,.22)!important;
    }

    html body #astApp.ast-sidebar-balanced .ast-continue svg{
      width:20px!important;
      height:20px!important;
    }

    html body #astApp.ast-sidebar-balanced .ast-quote footer{
      min-height:68px!important;
      margin-top:13px!important;
      padding:10px 0!important;
    }

    html body #astApp.ast-sidebar-balanced .ast-quote footer>span{
      min-height:45px!important;
      gap:8px!important;
      padding:0 9px!important;
    }

    html body #astApp.ast-sidebar-balanced .ast-quote footer i{
      width:27px!important;
      height:27px!important;
      flex-basis:27px!important;
      font-size:9px!important;
    }

    html body #astApp.ast-sidebar-balanced .ast-quote footer i svg{
      width:18px!important;
      height:18px!important;
    }

    html body #astApp.ast-sidebar-balanced .ast-quote footer b{
      font-size:10.5px!important;
      line-height:1.18!important;
    }

    html body #astApp.ast-sidebar-balanced .ast-save-row{
      min-height:49px!important;
      gap:38px!important;
      margin-top:7px!important;
    }

    html body #astApp.ast-sidebar-balanced .ast-save-row button{
      min-height:38px!important;
      font-size:11px!important;
    }

    html body #astApp.ast-sidebar-balanced .ast-save-row svg{
      width:17px!important;
      height:17px!important;
    }

    @media(max-width:1320px){
      html body #astApp.ast-sidebar-balanced .ast-quote{
        padding:15px!important;
      }

      html body #astApp.ast-sidebar-balanced .ast-balanced-quantity-panel{
        padding:14px!important;
      }

      html body #astApp.ast-sidebar-balanced .ast-qty-presets{
        gap:7px!important;
      }

      html body #astApp.ast-sidebar-balanced .ast-qty-presets button,
      html body #astApp.ast-sidebar-balanced .ast-qty-presets button:nth-child(5){
        font-size:15px!important;
      }

      html body #astApp.ast-sidebar-balanced .ast-balanced-unit,
      html body #astApp.ast-sidebar-balanced .ast-balanced-total{
        padding:16px!important;
      }

      html body #astApp.ast-sidebar-balanced .ast-balanced-unit strong{
        font-size:31px!important;
      }

      html body #astApp.ast-sidebar-balanced .ast-balanced-total strong{
        font-size:34px!important;
      }

    }

    @media(max-width:760px){
      html body #astApp.ast-sidebar-balanced .ast-quote{
        padding:13px!important;
      }

      html body #astApp.ast-sidebar-balanced .ast-quote-head{
        min-height:64px!important;
        grid-template-columns:45px minmax(0,1fr)!important;
        gap:11px!important;
      }

      html body #astApp.ast-sidebar-balanced .ast-premium-head-icon{
        width:43px!important;
        height:43px!important;
      }

      html body #astApp.ast-sidebar-balanced .ast-quote-head h2{
        font-size:18px!important;
      }

      html body #astApp.ast-sidebar-balanced .ast-quote-head p{
        font-size:10.5px!important;
      }

      html body #astApp.ast-sidebar-balanced .ast-balanced-quantity-panel{
        padding:12px!important;
      }

      html body #astApp.ast-sidebar-balanced .ast-qty-scale-head span{
        font-size:13.5px!important;
      }

      html body #astApp.ast-sidebar-balanced .ast-qty-scale-head strong{
        font-size:10px!important;
      }

      html body #astApp.ast-sidebar-balanced .ast-qty-presets{
        gap:6px!important;
      }

      html body #astApp.ast-sidebar-balanced .ast-qty-presets button,
      html body #astApp.ast-sidebar-balanced .ast-qty-presets button:nth-child(5){
        min-height:54px!important;
        height:54px!important;
        font-size:13.5px!important;
      }

      html body #astApp.ast-sidebar-balanced .ast-qty-row>span{
        font-size:12.5px!important;
      }

      html body #astApp.ast-sidebar-balanced .ast-qty-row>small{
        font-size:9.5px!important;
      }

      html body #astApp.ast-sidebar-balanced #astQtyControl{
        height:60px!important;
        grid-template-columns:52px minmax(0,1fr) 36px 52px!important;
      }

      html body #astApp.ast-sidebar-balanced #astQtyControl input{
        font-size:28px!important;
      }

      html body #astApp.ast-sidebar-balanced .ast-price-card{
        grid-template-columns:minmax(0,43%) minmax(0,57%)!important;
      }

      html body #astApp.ast-sidebar-balanced .ast-balanced-unit,
      html body #astApp.ast-sidebar-balanced .ast-balanced-total{
        padding:14px 12px!important;
      }

      html body #astApp.ast-sidebar-balanced .ast-balanced-unit strong{
        font-size:27px!important;
      }

      html body #astApp.ast-sidebar-balanced .ast-balanced-total strong{
        font-size:29px!important;
      }

      html body #astApp.ast-sidebar-balanced .ast-balanced-unit small,
      html body #astApp.ast-sidebar-balanced .ast-balanced-total small{
        font-size:10.5px!important;
      }

      html body #astApp.ast-sidebar-balanced .ast-balanced-unit em,
      html body #astApp.ast-sidebar-balanced .ast-balanced-total em{
        font-size:10px!important;
      }

      html body #astApp.ast-sidebar-balanced .ast-quote footer>span{
        flex-direction:column!important;
        gap:5px!important;
        padding:0 4px!important;
        text-align:center!important;
      }

      html body #astApp.ast-sidebar-balanced .ast-quote footer b{
        font-size:9px!important;
        text-align:center!important;
      }
    }

    /*
     * V3.10.0 — stage 3D estesa.
     *
     * La prima riga assorbe tutta l'altezza libera della colonna; rotazione
     * e dock restano nelle ultime due righe. Non servono offset assoluti e
     * non rimane alcuna fascia bianca dopo i comandi.
     */
    html body #astApp .ast-external-card{
      display:none!important;
    }

    html body.sagomato-lab-astucci-page #footer,
    html body.sagomato-lab-astucci-page .footer-wrapper,
    html body.sagomato-lab-astucci-page .absolute-footer,
    html body.sagomato-lab-astucci-page footer.site-footer,
    html body.sagomato-lab-astucci-page>footer,
    html body.sagomato-lab-astucci-page #wrapper>footer{
      display:none!important;
    }

    html body.sagomato-lab-astucci-page{
      padding-bottom:0!important;
    }

    html body #astApp .ast-stage{
      min-height:900px!important;
      height:auto!important;
      align-self:stretch!important;
      align-content:stretch!important;
      grid-template-rows:minmax(760px,1fr) 49px 96px!important;
      overflow:hidden!important;
    }

    html body #astApp .ast-three-wrap{
      width:100%!important;
      min-height:760px!important;
      height:100%!important;
      align-self:stretch!important;
    }

    html body #astApp .ast-rotation{
      min-height:49px!important;
      height:49px!important;
      align-self:end!important;
    }

    html body #astApp .ast-viewbar{
      min-height:96px!important;
      height:96px!important;
      align-self:end!important;
    }

    html body #astApp .ast-view-group,
    html body #astApp .ast-switch,
    html body #astApp .ast-export{
      min-height:96px!important;
    }

    html body #astApp .ast-model-tabs{
      top:16px!important;
      right:16px!important;
      min-width:310px!important;
      min-height:58px!important;
      padding:4px!important;
      border-radius:7px!important;
      box-shadow:0 11px 25px rgba(7,52,104,.18)!important;
    }

    html body #astApp .ast-model-tabs button{
      min-height:48px!important;
      padding:9px 17px!important;
      border-radius:5px!important;
      gap:9px!important;
      font-size:12px!important;
    }

    html body #astApp .ast-model-tabs button>svg{
      width:21px!important;
      height:21px!important;
    }

    html body #astApp .ast-model-tabs .ast-state-copy strong,
    html body #astApp .ast-model-tabs .ast-state-copy small{
      font-size:12px!important;
      line-height:1.02!important;
      font-weight:900!important;
    }

    @media(min-width:1600px){
      html body #astApp .ast-stage{
        min-height:1040px!important;
        grid-template-rows:minmax(895px,1fr) 49px 96px!important;
      }

      html body #astApp .ast-three-wrap{
        min-height:895px!important;
      }
    }

    @media(min-width:1121px) and (max-width:1599px){
      html body #astApp .ast-stage{
        min-height:930px!important;
        grid-template-rows:minmax(785px,1fr) 49px 96px!important;
      }

      html body #astApp .ast-three-wrap{
        min-height:785px!important;
      }
    }

    @media(min-width:761px) and (max-width:1120px){
      html body #astApp .ast-stage{
        min-height:845px!important;
        grid-template-rows:minmax(700px,1fr) 49px 96px!important;
      }

      html body #astApp .ast-three-wrap{
        min-height:700px!important;
      }

      html body #astApp .ast-model-tabs{
        min-width:286px!important;
      }
    }

    @media(max-width:760px){
      html body #astApp .ast-stage{
        min-height:690px!important;
        height:auto!important;
        grid-template-rows:minmax(510px,1fr) 43px auto!important;
        overflow:visible!important;
      }

      html body #astApp .ast-three-wrap{
        min-height:510px!important;
        height:510px!important;
      }

      html body #astApp .ast-rotation{
        min-height:43px!important;
        height:43px!important;
      }

      html body #astApp .ast-viewbar,
      html body #astApp .ast-view-group,
      html body #astApp .ast-switch,
      html body #astApp .ast-export{
        height:auto!important;
      }

      html body #astApp .ast-model-tabs{
        top:10px!important;
        right:10px!important;
        left:10px!important;
        width:auto!important;
        min-width:0!important;
        min-height:52px!important;
      }

      html body #astApp .ast-model-tabs button{
        min-height:43px!important;
        padding:7px 9px!important;
      }

      html body #astApp .ast-model-tabs .ast-state-copy strong,
      html body #astApp .ast-model-tabs .ast-state-copy small{
        font-size:10.5px!important;
      }
    }
