/* ArtigianoPro V56 - Global UI Premium
   Design system unico per uniformare tutte le pagine senza toccare la logica PHP. */
:root{
  --ap-bg:#03080f;
  --ap-bg2:#071120;
  --ap-card:rgba(10,18,31,.82);
  --ap-card2:rgba(255,255,255,.055);
  --ap-line:rgba(255,255,255,.115);
  --ap-line-strong:rgba(140,255,66,.28);
  --ap-text:#f7fbff;
  --ap-muted:#9dadbf;
  --ap-green:#8cff42;
  --ap-green2:#35e6a1;
  --ap-blue:#5cc8ff;
  --ap-purple:#a88bff;
  --ap-red:#ff5b63;
  --ap-orange:#ff9f43;
  --ap-yellow:#ffd166;
  --ap-radius:24px;
  --ap-shadow:0 22px 70px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.045);
  --ap-font:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",Inter,"Segoe UI",Roboto,Arial,sans-serif;
}
html{color-scheme:dark;scroll-behavior:smooth}
body.ap-ui{
  margin:0!important;
  min-height:100vh!important;
  color:var(--ap-text)!important;
  font-family:var(--ap-font)!important;
  background:
    radial-gradient(760px 420px at 12% -5%,rgba(92,200,255,.18),transparent 55%),
    radial-gradient(780px 460px at 92% -5%,rgba(140,255,66,.13),transparent 58%),
    radial-gradient(520px 330px at 80% 38%,rgba(168,139,255,.07),transparent 58%),
    linear-gradient(180deg,var(--ap-bg),#06101d 45%,#03070e)!important;
  padding-bottom:calc(92px + env(safe-area-inset-bottom))!important;
}
body.ap-ui *{box-sizing:border-box}
body.ap-ui .app,
body.ap-ui .wrap,
body.ap-ui main,
body.ap-ui .container{
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body.ap-ui .app, body.ap-ui .wrap{padding-inline:12px!important}
body.ap-ui a{color:inherit}
body.ap-ui h1{font-size:clamp(25px,4vw,42px)!important;line-height:1.02!important;letter-spacing:-.055em!important;font-weight:1000!important;margin:0!important;color:#fff!important;text-shadow:0 14px 44px rgba(0,0,0,.3)}
body.ap-ui h2{letter-spacing:-.025em!important}
body.ap-ui .sub,
body.ap-ui .muted,
body.ap-ui small,
body.ap-ui .info{color:var(--ap-muted)!important}

/* Hero / top */
body.ap-ui .top,
body.ap-ui .hero,
body.ap-ui .apHomeHero .heroCard,
body.ap-ui .card,
body.ap-ui .box,
body.ap-ui .tablebox,
body.ap-ui .kpi,
body.ap-ui .apKpi,
body.ap-ui .cliente,
body.ap-ui .clientPick,
body.ap-ui .notice,
body.ap-ui .empty,
body.ap-ui .err{
  border:1px solid var(--ap-line)!important;
  background:linear-gradient(150deg,rgba(11,21,35,.90),rgba(4,9,17,.94))!important;
  border-radius:var(--ap-radius)!important;
  box-shadow:var(--ap-shadow)!important;
  color:var(--ap-text)!important;
}
body.ap-ui .top,
body.ap-ui .hero{
  position:relative!important;
  overflow:hidden!important;
  padding:18px!important;
  margin-bottom:16px!important;
}
body.ap-ui .top:before,
body.ap-ui .hero:before,
body.ap-ui .apHomeHero .heroCard:before{
  content:"";position:absolute;inset:-110px -120px auto auto;width:330px;height:330px;border-radius:999px;background:radial-gradient(circle,rgba(140,255,66,.16),transparent 62%);filter:blur(8px);pointer-events:none;
}
body.ap-ui .toprow,
body.ap-ui .heroRow{position:relative!important;z-index:2!important}
body.ap-ui .sectionTitle{font-size:20px!important;font-weight:1000!important;letter-spacing:-.03em!important;margin:20px 0 10px!important}
body.ap-ui .titleMini{color:var(--ap-green)!important;font-size:11px!important;font-weight:1000!important;letter-spacing:.08em!important;text-transform:uppercase!important}

/* KPI */
body.ap-ui .kpis,
body.ap-ui .apKpiGrid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:12px!important;
  margin:14px 0 16px!important;
}
body.ap-ui .kpi,
body.ap-ui .apKpi{
  min-height:104px!important;
  padding:16px!important;
  position:relative!important;
  overflow:hidden!important;
}
body.ap-ui .kpi:after,
body.ap-ui .apKpi:after{content:"";position:absolute;right:-30px;top:-35px;width:94px;height:94px;border-radius:999px;background:rgba(140,255,66,.10);filter:blur(2px)}
body.ap-ui .kpi span,
body.ap-ui .apKpi span{display:block!important;font-size:11px!important;line-height:1.18!important;text-transform:uppercase!important;letter-spacing:.04em!important;font-weight:950!important;color:rgba(225,238,248,.66)!important;position:relative;z-index:2}
body.ap-ui .kpi b,
body.ap-ui .apKpi b{display:block!important;margin-top:8px!important;font-size:clamp(23px,3vw,34px)!important;line-height:1!important;color:#fff!important;letter-spacing:-.04em!important;position:relative;z-index:2}
body.ap-ui .moneyKpi b,
body.ap-ui .green{color:var(--ap-green)!important}
body.ap-ui .yellow{color:var(--ap-yellow)!important}

/* Buttons */
body.ap-ui .btn,
body.ap-ui button,
body.ap-ui input[type="submit"],
body.ap-ui .apProdActions a,
body.ap-ui .actions a,
body.ap-ui .primaryLink{
  min-height:42px!important;
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:15px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.035))!important;
  color:var(--ap-text)!important;
  font-weight:950!important;
  text-decoration:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  padding:10px 14px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05)!important;
  cursor:pointer!important;
}
body.ap-ui .primary,
body.ap-ui button.primary,
body.ap-ui .btn.primary,
body.ap-ui .primaryLink,
body.ap-ui .apProdActions a.primary{
  background:linear-gradient(135deg,var(--ap-green),var(--ap-green2))!important;
  color:#04110b!important;
  border-color:rgba(140,255,66,.35)!important;
  box-shadow:0 12px 34px rgba(140,255,66,.18), inset 0 1px 0 rgba(255,255,255,.34)!important;
}
body.ap-ui .ghost{background:rgba(255,255,255,.045)!important}
body.ap-ui .btn:hover,
body.ap-ui button:hover,
body.ap-ui .apProdActions a:hover{transform:translateY(-1px);border-color:rgba(140,255,66,.28)!important}
body.ap-ui .actions,
body.ap-ui .apProdActions{display:flex!important;gap:9px!important;flex-wrap:wrap!important}

/* Forms */
body.ap-ui input,
body.ap-ui select,
body.ap-ui textarea,
body.ap-ui .select{
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:16px!important;
  background:rgba(9,17,29,.88)!important;
  color:var(--ap-text)!important;
  padding:12px 13px!important;
  font:inherit!important;
  font-weight:760!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04)!important;
}
body.ap-ui input:focus,
body.ap-ui select:focus,
body.ap-ui textarea:focus{outline:none!important;border-color:rgba(140,255,66,.55)!important;box-shadow:0 0 0 4px rgba(140,255,66,.10)!important}
body.ap-ui textarea{min-height:98px!important;line-height:1.45!important}
body.ap-ui label{font-weight:900!important;color:rgba(226,239,250,.78)!important}
body.ap-ui .filters,
body.ap-ui .search,
body.ap-ui form.filters{gap:10px!important}
body.ap-ui select option{background:#0d1624!important;color:#f8fafc!important}

/* Tables -> premium cards */
body.ap-ui table{width:100%!important;border-collapse:separate!important;border-spacing:0 10px!important}
body.ap-ui th{font-size:11px!important;text-transform:uppercase!important;letter-spacing:.05em!important;color:rgba(226,239,250,.58)!important;font-weight:1000!important;text-align:left!important;padding:6px 10px!important}
body.ap-ui td{padding:12px!important;background:rgba(255,255,255,.045)!important;border-top:1px solid rgba(255,255,255,.08)!important;border-bottom:1px solid rgba(255,255,255,.08)!important;color:var(--ap-text)!important;vertical-align:top!important}
body.ap-ui tr td:first-child{border-left:1px solid rgba(255,255,255,.08)!important;border-radius:18px 0 0 18px!important}
body.ap-ui tr td:last-child{border-right:1px solid rgba(255,255,255,.08)!important;border-radius:0 18px 18px 0!important}
body.ap-ui .tableScroll{overflow:auto!important;border-radius:22px!important}

/* Client cards / action grids */
body.ap-ui .list,
body.ap-ui .apActionGrid,
body.ap-ui .clientList{gap:12px!important}
body.ap-ui .cliente,
body.ap-ui .clientPick{transition:.16s ease!important;position:relative!important;overflow:hidden!important}
body.ap-ui .cliente:before,
body.ap-ui .clientPick:before{content:"";position:absolute;left:0;top:16px;bottom:16px;width:3px;border-radius:0 999px 999px 0;background:linear-gradient(180deg,var(--ap-green),rgba(53,230,161,.35));box-shadow:0 0 18px rgba(140,255,66,.20)}
body.ap-ui .cliente:hover,
body.ap-ui .clientPick:hover{border-color:rgba(140,255,66,.32)!important;transform:translateY(-1px)!important}
body.ap-ui .cliente h2,
body.ap-ui .clientName{font-size:18px!important;font-weight:1000!important;letter-spacing:-.025em!important;color:#fff!important}
body.ap-ui .pill,
body.ap-ui .apBadgeOk,
body.ap-ui .tag,
body.ap-ui .badge{
  display:inline-flex!important;align-items:center!important;gap:5px!important;border:1px solid rgba(255,255,255,.10)!important;border-radius:999px!important;background:rgba(255,255,255,.055)!important;padding:5px 8px!important;color:rgba(226,239,250,.78)!important;font-size:11px!important;font-weight:950!important;line-height:1!important;
}
body.ap-ui .pill.green,.ap-ui .apBadgeOk{color:#caff9e!important;border-color:rgba(140,255,66,.22)!important;background:rgba(140,255,66,.08)!important}

/* Layout special pages */
body.ap-ui.ap-page-index .apHomeHero{display:grid!important;grid-template-columns:1.35fr .8fr!important;gap:14px!important;margin-top:4px!important}
body.ap-ui.ap-page-index .apHomeHero .heroCard{padding:22px!important;position:relative!important;overflow:hidden!important}
body.ap-ui.ap-page-index .apActionGrid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important}
body.ap-ui.ap-page-index .apActionGrid a{min-height:105px!important;border:1px solid var(--ap-line)!important;border-radius:22px!important;background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.025))!important;text-decoration:none!important;padding:16px!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:space-between!important;color:#fff!important;font-weight:1000!important;box-shadow:var(--ap-shadow)!important}
body.ap-ui.ap-page-index .apActionGrid small{display:block!important;font-weight:750!important;line-height:1.3!important;margin-top:8px!important}
body.ap-ui.ap-page-lista-clienti .cliente{grid-template-columns:1fr 330px!important;align-items:center!important;padding:16px!important}
body.ap-ui.ap-page-appuntamenti-clienti .layout,
body.ap-ui.ap-page-controllo-lavori .layout{gap:14px!important}
body.ap-ui.ap-page-preventivi .wrap{max-width:1120px!important}
body.ap-ui.ap-page-dashboard-finanza .kpi,
body.ap-ui.ap-page-gestione-guadagni .kpi,
body.ap-ui.ap-page-spese-ricorrenti .kpi{border-color:rgba(92,200,255,.18)!important}
body.ap-ui.ap-page-centralino-didww{padding-bottom:calc(92px + env(safe-area-inset-bottom))!important}

/* Mobile */
@media(max-width:820px){
  body.ap-ui{padding:8px 0 calc(100px + env(safe-area-inset-bottom))!important}
  body.ap-ui .app,body.ap-ui .wrap{padding-inline:8px!important;max-width:100%!important}
  body.ap-ui h1{font-size:26px!important}
  body.ap-ui .top,body.ap-ui .hero,body.ap-ui .card,body.ap-ui .box,body.ap-ui .tablebox,body.ap-ui .cliente{border-radius:22px!important}
  body.ap-ui .kpis,body.ap-ui .apKpiGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  body.ap-ui .kpi,body.ap-ui .apKpi{min-height:86px!important;padding:12px!important}
  body.ap-ui .kpi b,body.ap-ui .apKpi b{font-size:25px!important}
  body.ap-ui .actions,body.ap-ui .apProdActions{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important}
  body.ap-ui .btn,body.ap-ui button,body.ap-ui input[type="submit"],body.ap-ui .actions a,body.ap-ui .apProdActions a{width:100%!important;min-height:42px!important}
  body.ap-ui .filters,body.ap-ui .search{display:grid!important;grid-template-columns:1fr!important}
  body.ap-ui.ap-page-index .apHomeHero{grid-template-columns:1fr!important}
  body.ap-ui.ap-page-index .apActionGrid{grid-template-columns:1fr!important}
  body.ap-ui.ap-page-index .apActionGrid a{min-height:78px!important}
  body.ap-ui.ap-page-lista-clienti .cliente{grid-template-columns:1fr!important}
  body.ap-ui .right{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  body.ap-ui table,body.ap-ui thead,body.ap-ui tbody,body.ap-ui tr,body.ap-ui th,body.ap-ui td{display:block!important;width:100%!important}
  body.ap-ui thead{display:none!important}
  body.ap-ui tr{margin-bottom:12px!important;border:1px solid rgba(255,255,255,.10)!important;border-radius:20px!important;background:linear-gradient(145deg,rgba(10,18,31,.90),rgba(4,9,17,.94))!important;overflow:hidden!important;box-shadow:0 14px 38px rgba(0,0,0,.24)!important}
  body.ap-ui td{border:none!important;border-bottom:1px solid rgba(255,255,255,.07)!important;border-radius:0!important;background:transparent!important;padding:10px 12px!important}
  body.ap-ui td:last-child{border-bottom:none!important}
  body.ap-ui td[data-label]:before{content:attr(data-label);display:block;font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:1000;color:rgba(226,239,250,.55);margin-bottom:5px}
}
@media(max-width:520px){
  body.ap-ui .kpis,body.ap-ui .apKpiGrid{grid-template-columns:1fr 1fr!important}
  body.ap-ui .right{grid-template-columns:1fr!important}
  body.ap-ui .actions,body.ap-ui .apProdActions{grid-template-columns:1fr!important}
  body.ap-ui .top,body.ap-ui .hero{padding:14px!important}
}

/* V106 FIX PREVENTIVI: i bottoni microfono non devono diventare larghi 100% su iPhone.
   La regola mobile globale dei button li allargava e li metteva in mezzo ai campi. */
body.ap-ui.ap-page-preventivi-preventivi .fieldWrap,
body.ap-ui.ap-page-preventivi-preventivi .voiceCell{
  position:relative!important;
}
body.ap-ui.ap-page-preventivi-preventivi .fieldWrap input,
body.ap-ui.ap-page-preventivi-preventivi .fieldWrap textarea,
body.ap-ui.ap-page-preventivi-preventivi .voiceCell textarea{
  padding-right:62px!important;
}
body.ap-ui.ap-page-preventivi-preventivi .fieldWrap .fieldMic,
body.ap-ui.ap-page-preventivi-preventivi .voiceCell .rowMic{
  position:absolute!important;
  left:auto!important;
  right:8px!important;
  width:40px!important;
  min-width:40px!important;
  max-width:40px!important;
  height:40px!important;
  min-height:40px!important;
  max-height:40px!important;
  padding:0!important;
  margin:0!important;
  border-radius:14px!important;
  display:grid!important;
  place-items:center!important;
  flex:0 0 40px!important;
  line-height:1!important;
  z-index:8!important;
}
body.ap-ui.ap-page-preventivi-preventivi .fieldWrap .fieldMic{
  top:50%!important;
  transform:translateY(-50%)!important;
}
body.ap-ui.ap-page-preventivi-preventivi .voiceCell .rowMic{
  top:8px!important;
  transform:none!important;
}
@media(max-width:820px){
  body.ap-ui.ap-page-preventivi-preventivi .fieldWrap .fieldMic,
  body.ap-ui.ap-page-preventivi-preventivi .voiceCell .rowMic{
    width:42px!important;
    min-width:42px!important;
    max-width:42px!important;
    height:42px!important;
    min-height:42px!important;
    max-height:42px!important;
  }
}


/* V107 HARD FIX PREVENTIVI MICROFONO ACCANTO */
body.ap-ui.ap-page-preventivi-preventivi .rowMain > .voiceCell,
body.ap-ui.ap-page-preventivi-preventivi .rowMain > .fieldWrap{
  position:static!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 46px!important;
  gap:8px!important;
  align-items:stretch!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}
body.ap-ui.ap-page-preventivi-preventivi .rowMain > .voiceCell textarea,
body.ap-ui.ap-page-preventivi-preventivi .rowMain > .fieldWrap input{
  grid-column:1!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  padding-right:14px!important;
  margin:0!important;
}
body.ap-ui.ap-page-preventivi-preventivi .rowMain > .voiceCell .rowMic,
body.ap-ui.ap-page-preventivi-preventivi .rowMain > .fieldWrap .fieldMic{
  grid-column:2!important;
  position:static!important;
  inset:auto!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  transform:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:46px!important;
  min-width:46px!important;
  max-width:46px!important;
  height:auto!important;
  min-height:46px!important;
  max-height:none!important;
  padding:0!important;
  margin:0!important;
  flex:0 0 46px!important;
  line-height:1!important;
  text-align:center!important;
  border-radius:14px!important;
  z-index:2!important;
}
@media(max-width:760px){
  body.ap-ui.ap-page-preventivi-preventivi .rowMain > .voiceCell,
  body.ap-ui.ap-page-preventivi-preventivi .rowMain > .fieldWrap{grid-template-columns:minmax(0,1fr) 48px!important;}
  body.ap-ui.ap-page-preventivi-preventivi .rowMain > .voiceCell .rowMic,
  body.ap-ui.ap-page-preventivi-preventivi .rowMain > .fieldWrap .fieldMic{width:48px!important;min-width:48px!important;max-width:48px!important;min-height:48px!important;}
}
/* END V107 HARD FIX PREVENTIVI MICROFONO ACCANTO */


/* V108 FIX: una sola barra mobile preventivi, senza sovrapporsi ai tasti sotto. */
@media(max-width:900px){
  body.ap-ui.ap-page-preventivi-preventivi{
    padding-bottom:calc(128px + env(safe-area-inset-bottom))!important;
  }
  body.ap-ui.ap-page-preventivi-preventivi .wrap{
    padding-bottom:calc(148px + env(safe-area-inset-bottom))!important;
  }
  body.ap-ui.ap-page-preventivi-preventivi .mobileBuilder{
    padding-bottom:calc(148px + env(safe-area-inset-bottom))!important;
  }
  body.ap-ui.ap-page-preventivi-preventivi #rows .row:last-child{
    margin-bottom:24px!important;
  }
  body.ap-ui.ap-page-preventivi-preventivi .totals{
    margin-bottom:84px!important;
  }
  body.ap-ui.ap-page-preventivi-preventivi .mobileStickyTotal{
    left:max(12px,env(safe-area-inset-left))!important;
    right:max(12px,env(safe-area-inset-right))!important;
    bottom:max(10px,env(safe-area-inset-bottom))!important;
    height:52px!important;
    min-height:52px!important;
    max-height:52px!important;
    grid-template-columns:34px minmax(48px,.75fr) 28px minmax(72px,1fr) minmax(72px,1fr) minmax(52px,.75fr)!important;
    align-items:center!important;
    gap:5px!important;
    padding:5px!important;
    overflow:hidden!important;
    border-radius:18px!important;
    z-index:99990!important;
  }
  body.ap-ui.ap-page-preventivi-preventivi .mobileStickyTotal .btn,
  body.ap-ui.ap-page-preventivi-preventivi .mobileStickyTotal .stickyRows{
    height:40px!important;
    min-height:40px!important;
    max-height:40px!important;
  }
  body.ap-ui.ap-page-preventivi-preventivi .mobileStickyTotal .btn{
    padding:0 8px!important;
    border-radius:14px!important;
    font-size:10px!important;
    line-height:1!important;
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  body.ap-ui.ap-page-preventivi-preventivi .mobileStickyTotal .stickyTopBtn{
    width:34px!important;
    min-width:34px!important;
    max-width:34px!important;
    padding:0!important;
    font-size:17px!important;
  }
  body.ap-ui.ap-page-preventivi-preventivi .mobileStickyTotal .stickyInfo{
    max-width:none!important;
    min-width:0!important;
    overflow:hidden!important;
  }
  body.ap-ui.ap-page-preventivi-preventivi .mobileStickyTotal b{
    max-width:none!important;
    font-size:10px!important;
    line-height:1.05!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
}
@media(max-width:390px){
  body.ap-ui.ap-page-preventivi-preventivi .mobileStickyTotal{
    left:8px!important;
    right:8px!important;
    grid-template-columns:32px minmax(44px,.72fr) 24px minmax(62px,1fr) minmax(62px,1fr) minmax(46px,.72fr)!important;
    gap:4px!important;
    padding:4px!important;
  }
  body.ap-ui.ap-page-preventivi-preventivi .mobileStickyTotal .btn{
    font-size:9px!important;
    padding:0 5px!important;
  }
  body.ap-ui.ap-page-preventivi-preventivi .mobileStickyTotal .stickyRows{
    min-width:24px!important;
    width:24px!important;
    font-size:10px!important;
  }
  body.ap-ui.ap-page-preventivi-preventivi .mobileStickyTotal .stickyInfo b{
    font-size:9px!important;
  }
}
/* END V108 FIX BARRA MOBILE PREVENTIVI */


/* V109 FIX DEFINITIVO PREVENTIVI: barra mobile senza sovrapposizione sui tasti voce. */
@media(max-width:900px){
  body.ap-ui.ap-page-preventivi-preventivi{
    padding-bottom:calc(230px + env(safe-area-inset-bottom))!important;
    scroll-padding-bottom:calc(115px + env(safe-area-inset-bottom))!important;
  }
  body.ap-ui.ap-page-preventivi-preventivi .wrap{
    padding-bottom:calc(260px + env(safe-area-inset-bottom))!important;
  }
  body.ap-ui.ap-page-preventivi-preventivi .mobileBuilder{
    padding-bottom:calc(190px + env(safe-area-inset-bottom))!important;
  }
  body.ap-ui.ap-page-preventivi-preventivi #rows{
    padding-bottom:calc(100px + env(safe-area-inset-bottom))!important;
  }
  body.ap-ui.ap-page-preventivi-preventivi #rows .mobileVoiceCard:last-child{
    margin-bottom:calc(110px + env(safe-area-inset-bottom))!important;
  }
  body.ap-ui.ap-page-preventivi-preventivi #rows .mobileVoiceCard:last-child .addVoiceAfterBtn{
    margin-bottom:calc(86px + env(safe-area-inset-bottom))!important;
  }
  body.ap-ui.ap-page-preventivi-preventivi .totals{
    margin-top:18px!important;
    margin-bottom:calc(150px + env(safe-area-inset-bottom))!important;
  }
  body.ap-ui.ap-page-preventivi-preventivi .mobileStickyTotal{
    transition:transform .18s ease, opacity .18s ease!important;
    will-change:transform,opacity!important;
  }
  body.ap-ui.ap-page-preventivi-preventivi.ap-sticky-away .mobileStickyTotal{
    transform:translateY(calc(100% + 18px))!important;
    opacity:.05!important;
    pointer-events:none!important;
  }
}
@media(max-width:390px){
  body.ap-ui.ap-page-preventivi-preventivi #rows .mobileVoiceCard:last-child .addVoiceAfterBtn{
    margin-bottom:calc(96px + env(safe-area-inset-bottom))!important;
  }
}
/* END V109 FIX DEFINITIVO PREVENTIVI */


/* V110 FIX PREVENTIVI: barra mobile stabile, non sparisce più durante scroll. */
@media(max-width:900px){
  body.ap-ui.ap-page-preventivi-preventivi{
    padding-bottom:calc(260px + env(safe-area-inset-bottom))!important;
    scroll-padding-bottom:calc(150px + env(safe-area-inset-bottom))!important;
  }
  body.ap-ui.ap-page-preventivi-preventivi .wrap{
    padding-bottom:calc(290px + env(safe-area-inset-bottom))!important;
  }
  body.ap-ui.ap-page-preventivi-preventivi .mobileBuilder{
    padding-bottom:calc(220px + env(safe-area-inset-bottom))!important;
  }
  body.ap-ui.ap-page-preventivi-preventivi #rows{
    padding-bottom:calc(160px + env(safe-area-inset-bottom))!important;
  }
  body.ap-ui.ap-page-preventivi-preventivi #rows:after{
    content:"";
    display:block;
    height:calc(120px + env(safe-area-inset-bottom));
  }
  body.ap-ui.ap-page-preventivi-preventivi #rows .mobileVoiceCard{
    scroll-margin-bottom:calc(150px + env(safe-area-inset-bottom))!important;
  }
  body.ap-ui.ap-page-preventivi-preventivi #rows .mobileVoiceCard:last-child{
    margin-bottom:calc(145px + env(safe-area-inset-bottom))!important;
  }
  body.ap-ui.ap-page-preventivi-preventivi #rows .mobileVoiceCard:last-child .addVoiceAfterBtn{
    margin-bottom:calc(110px + env(safe-area-inset-bottom))!important;
  }
  body.ap-ui.ap-page-preventivi-preventivi .totals{
    margin-top:18px!important;
    margin-bottom:calc(170px + env(safe-area-inset-bottom))!important;
  }
  body.ap-ui.ap-page-preventivi-preventivi .mobileStickyTotal,
  body.ap-ui.ap-page-preventivi-preventivi.ap-sticky-away .mobileStickyTotal{
    display:grid!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    transform:none!important;
    transition:none!important;
    bottom:max(6px,env(safe-area-inset-bottom))!important;
  }
}
@media(max-width:390px){
  body.ap-ui.ap-page-preventivi-preventivi #rows .mobileVoiceCard:last-child .addVoiceAfterBtn{
    margin-bottom:calc(120px + env(safe-area-inset-bottom))!important;
  }
}
