/*
 * Valve Gestionale 1.9.1 — Refined UI
 * Rifinitura conclusiva: hero più ampio, leggibilità, sfondo neutro,
 * Area Famiglie coerente e correzione legenda quote.
 */
:root{
  --vr-page:#f2f4f3;
  --vr-card:#ffffff;
  --vr-text:#1f2924;
  --vr-muted:#637169;
  --vr-muted-2:#78857e;
  --vr-line:#dfe6e2;
  --vr-green:#0b7d4b;
  --vr-green-dark:#06633b;
  --vr-green-soft:#edf8f2;
  --vr-red:#d93643;
  --vr-red-soft:#fff0f2;
  --vr-orange:#e88b00;
  --vr-orange-soft:#fff5e7;
  --vr-shadow:0 12px 32px rgba(25,55,39,.075);
  --vr-shadow-sm:0 7px 20px rgba(25,55,39,.055);
}

/* Sfondo neutro e superfici bianche */
html:has(body.vsg-standalone-app),
html:has(body.vfa-standalone-app),
body.vsg-standalone-app,
body.vfa-standalone-app{
  background:var(--vr-page)!important;
}
body.vsg-standalone-app,
body.vfa-standalone-app{
  background-image:none!important;
  color:var(--vr-text)!important;
}
body.vsg-standalone-app :is(.vsg-card,.vsg-filter-card,.vsg-table-wrap,.vsg-clothing-order-card,.vsg-notification,.vsg-privacy-document-card,.vsg-mockup-metric,.vsg-analytics-card,.vsg-birth-panel),
body.vfa-standalone-app :is(.vrr-card,.vds-card,.vfa-overview-card,.vfa-photo-family-card,.vfa-privacy-family-section,.valve-box,.vds-athlete-panel,.vds-medical-card,.vds-documents-card,.vrr-step,.vrr-choice-card,.vrr-conditional-box,.vrr-payment-row,.vrr-family-clothing){
  background:var(--vr-card)!important;
  border-color:var(--vr-line)!important;
  box-shadow:var(--vr-shadow-sm)!important;
}

/* Hero società: più ampio, leggibile e con data/esci sempre visibili */
body.vsg-standalone-app .vsg-header{
  grid-template-columns:124px minmax(0,1fr) minmax(164px,190px)!important;
  gap:32px!important;
  min-height:218px!important;
  padding:30px 38px!important;
  overflow:hidden!important;
  border-radius:28px!important;
}
body.vsg-standalone-app .vsg-header-brand img{
  width:116px!important;
  height:116px!important;
}
body.vsg-standalone-app .vsg-header-copy{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  min-width:0!important;
}
body.vsg-standalone-app .vsg-header-copy>span{
  margin-bottom:8px!important;
  font-size:12px!important;
}
body.vsg-standalone-app .vsg-header h1{
  margin:0 0 12px!important;
  font-size:clamp(42px,4vw,60px)!important;
  line-height:1.02!important;
}
body.vsg-standalone-app .vsg-header p{
  max-width:820px!important;
  font-size:16px!important;
  line-height:1.55!important;
}
body.vsg-standalone-app .vsg-header-copy>small{
  margin-top:16px!important;
  font-size:12px!important;
  color:rgba(255,255,255,.84)!important;
}
body.vsg-standalone-app .vsg-header-side{
  position:relative!important;
  inset:auto!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  justify-self:stretch!important;
  width:100%!important;
  min-width:0!important;
  height:100%!important;
  padding:4px 0!important;
  overflow:visible!important;
}
body.vsg-standalone-app .vsg-today{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  font-size:12px!important;
  white-space:nowrap!important;
}
body.vsg-standalone-app .vsg-logout{
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
  min-width:104px!important;
  min-height:48px!important;
  padding:0 18px!important;
  font-size:13px!important;
  white-space:nowrap!important;
}

/* Barra di navigazione */
body.vsg-standalone-app .vsg-nav{
  margin-top:-26px!important;
  margin-bottom:32px!important;
  min-height:70px!important;
  background:#fff!important;
}
body.vsg-standalone-app .vsg-nav a{
  min-height:52px!important;
  font-size:12px!important;
}
body.vsg-standalone-app .vsg-nav b{font-size:12px!important}

/* Testi secondari: più grandi e contrastati */
body.vsg-standalone-app :is(.vsg-mockup-metric-copy small,.vsg-mockup-card-head p,.vsg-section-head p,.vsg-card-head p,.vsg-analytics-card-head p,.vsg-analytics-legend-copy small,.vsg-notification-copy p,.vsg-notification-copy small,.vsg-table td small,.vsg-mockup-table td small),
body.vfa-standalone-app :is(.vfa-overview-copy small,.vui-status-detail,.vrr-muted,.vrr-payment-row small,.vds-medical-copy p,.vds-check-main small,.vds-upload-details small,.vrr-family-clothing small,.vrr-title p,.vds-section-title p,.vds-athlete-title p){
  color:var(--vr-muted)!important;
  font-size:10.5px!important;
  line-height:1.45!important;
}
.vsg-mockup-metric-copy small{font-size:10px!important}
.vsg-mockup-card-head p{font-size:10px!important}
.vsg-mockup-table th{font-size:8.5px!important}
.vsg-mockup-table td{font-size:10px!important}
body.vsg-standalone-app .vsg-table th{font-size:9.5px!important}
body.vsg-standalone-app .vsg-table td{font-size:11px!important}
body.vsg-standalone-app .vsg-section-head p{font-size:12px!important}
body.vsg-standalone-app .vsg-section-head>div>span{font-size:10.5px!important}

/* Attività recenti: CTA leggibile e compatta */
body.vsg-standalone-app .vsg-notification{
  grid-template-columns:38px minmax(0,1fr) auto!important;
  gap:12px!important;
  padding:14px 0!important;
}
.vsg-notification-copy>span{font-size:8.5px!important}
.vsg-notification-copy h4{font-size:11.5px!important;line-height:1.35!important}
.vsg-notification-actions{align-self:center!important}
.vsg-notification-actions .vsg-link{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:96px!important;
  min-height:36px!important;
  padding:7px 12px!important;
  border:1px solid var(--vr-green)!important;
  border-radius:10px!important;
  background:var(--vr-green)!important;
  color:#fff!important;
  text-decoration:none!important;
  font-size:10.5px!important;
  font-weight:600!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.vsg-notification-actions .vsg-link:hover{background:var(--vr-green-dark)!important}

/* Dashboard più leggibile */
.vsg-mockup-metric-copy b{font-size:11px!important}
.vsg-mockup-metric-copy strong{font-size:28px!important}
.vsg-mockup-filter-row span{font-size:10px!important}
.vsg-mockup-card-head h2{font-size:17px!important}

/* Analytics: elimina sovrapposizione dei totali quote */
.vsg-analytics-body{
  grid-template-columns:minmax(0,1fr) minmax(230px,255px)!important;
  gap:18px!important;
}
.vsg-analytics-legend-item{
  grid-template-columns:12px minmax(0,1fr)!important;
  gap:5px 9px!important;
  align-items:start!important;
  padding:14px!important;
  min-width:0!important;
}
.vsg-analytics-legend-copy{min-width:0!important}
.vsg-analytics-legend-copy strong{font-size:11px!important}
.vsg-analytics-legend-copy small{font-size:9.5px!important}
.vsg-analytics-legend-value{
  grid-column:1/-1!important;
  display:block!important;
  min-width:0!important;
  margin-top:5px!important;
  padding-left:21px!important;
  text-align:left!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  color:var(--vr-text)!important;
  font-size:22px!important;
  line-height:1.08!important;
}
.vsg-analytics-legend-value small{
  display:block!important;
  margin-top:6px!important;
  color:var(--vr-muted)!important;
  font-size:10px!important;
  line-height:1.35!important;
  white-space:normal!important;
}
.vsg-analytics-card-head h3{font-size:18px!important}
.vsg-analytics-card-head p{font-size:11px!important}
.vsg-analytics-foot{font-size:11px!important}

/* Area Famiglia: hero e navigazione coerenti con Area Società */
body.vfa-standalone-app .vfa-native-layout{
  background:var(--vr-page)!important;
}
body.vfa-standalone-app .vds-family-top{
  grid-template-columns:124px minmax(0,1fr) minmax(132px,160px)!important;
  gap:30px!important;
  min-height:218px!important;
  padding:30px 38px 58px!important;
  border-radius:28px!important;
}
body.vfa-standalone-app .vds-family-brand img{
  width:116px!important;
  height:116px!important;
}
body.vfa-standalone-app .vds-family-copy{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  min-width:0!important;
}
body.vfa-standalone-app .vds-family-copy>span{
  margin-bottom:8px!important;
  font-size:12px!important;
}
body.vfa-standalone-app .vds-family-copy h2{
  margin:0 0 12px!important;
  font-size:clamp(42px,4vw,58px)!important;
  line-height:1.02!important;
}
body.vfa-standalone-app .vds-family-copy p{
  max-width:820px!important;
  font-size:15px!important;
  line-height:1.55!important;
}
body.vfa-standalone-app .vds-logout{
  position:relative!important;
  inset:auto!important;
  align-self:center!important;
  justify-self:end!important;
  min-width:104px!important;
  min-height:48px!important;
  font-size:13px!important;
}
body.vfa-standalone-app .vds-quick-nav{
  min-height:70px!important;
  margin-top:-26px!important;
  margin-bottom:22px!important;
  background:#fff!important;
}
body.vfa-standalone-app .vds-quick-nav a{
  min-height:52px!important;
  font-size:12px!important;
}

/* Area Famiglia: titoli e moduli uniformi */
body.vfa-standalone-app :is(.vrr-title,.vds-section-title,.vds-athlete-title,.valve-head){
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:16px!important;
  margin:20px 0 14px!important;
  padding:0!important;
}
body.vfa-standalone-app :is(.vrr-title,.vds-section-title,.vds-athlete-title,.valve-head) span{
  color:var(--vr-green)!important;
  font-size:10.5px!important;
  font-weight:600!important;
  letter-spacing:.12em!important;
}
body.vfa-standalone-app :is(.vrr-title h2,.vds-section-title h2,.vds-section-title h3,.vds-athlete-title h2,.valve-head h2){
  margin:4px 0 0!important;
  color:var(--vr-text)!important;
  font-size:28px!important;
  line-height:1.15!important;
  letter-spacing:-.025em!important;
}
body.vfa-standalone-app .vrr-card{
  padding:22px!important;
  border-radius:20px!important;
}
body.vfa-standalone-app .vrr-athlete-header{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  margin-bottom:16px!important;
  padding-bottom:14px!important;
  border-bottom:1px solid var(--vr-line)!important;
}
body.vfa-standalone-app .vrr-athlete-header h3{
  margin:3px 0 0!important;
  color:var(--vr-text)!important;
  font-size:20px!important;
}
body.vfa-standalone-app .vrr-step{
  margin:12px 0!important;
  overflow:hidden!important;
  border:1px solid var(--vr-line)!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:none!important;
}
body.vfa-standalone-app .vrr-step>summary{
  display:flex!important;
  align-items:center!important;
  min-height:54px!important;
  padding:14px 17px!important;
  background:#f8faf9!important;
  color:var(--vr-text)!important;
  font-size:13px!important;
  font-weight:600!important;
  cursor:pointer!important;
}
body.vfa-standalone-app .vrr-step[open]>summary{
  border-bottom:1px solid var(--vr-line)!important;
  background:#f6f8f7!important;
}
body.vfa-standalone-app .vrr-step> :not(summary){
  margin-left:17px!important;
  margin-right:17px!important;
}
body.vfa-standalone-app .vrr-step> :last-child{margin-bottom:17px!important}
body.vfa-standalone-app .vrr-form-grid,
body.vfa-standalone-app .valve-form-grid{
  gap:14px!important;
}
body.vfa-standalone-app :is(.vrr-form-grid label,.valve-form-grid label,.vds-upload-form label){
  gap:6px!important;
}
body.vfa-standalone-app :is(.vrr-form-grid label>span,.valve-form-grid label>span,.vds-upload-form label>span){
  color:#4f5d56!important;
  font-size:11px!important;
  font-weight:600!important;
}
body.vfa-standalone-app :is(input,select,textarea){
  min-height:46px!important;
  border-color:#dbe3df!important;
  background:#fff!important;
  font-size:12.5px!important;
}
body.vfa-standalone-app .vrr-muted{font-size:11px!important}
body.vfa-standalone-app .vrr-summary-grid>div{
  min-height:46px!important;
  background:#fff!important;
}
body.vfa-standalone-app .vrr-summary-grid span{font-size:11px!important}
body.vfa-standalone-app .vrr-summary-grid strong{font-size:12px!important}
body.vfa-standalone-app .vrr-family-clothing{
  background:#fff!important;
}
body.vfa-standalone-app .vrr-family-clothing-item{
  background:#fff!important;
  border-color:var(--vr-line)!important;
}
body.vfa-standalone-app .vrr-payment-row{
  padding:15px!important;
  background:#fff!important;
}
body.vfa-standalone-app .vrr-payment-row strong{font-size:12px!important}
body.vfa-standalone-app .vrr-payment-row small{font-size:10.5px!important}
body.vfa-standalone-app :is(.vrr-choice-card,.vrr-conditional-box,.vrr-privacy-doc-links a,.vds-check-row,.vds-medical-card,.vds-documents-card,.vds-athlete-panel){
  border:1px solid var(--vr-line)!important;
  border-radius:15px!important;
  background:#fff!important;
  box-shadow:none!important;
}
body.vfa-standalone-app .vds-check-row{
  padding:14px!important;
}
body.vfa-standalone-app .vds-check-main strong{font-size:12px!important}
body.vfa-standalone-app .vds-medical-card h3{font-size:17px!important}
body.vfa-standalone-app .vfa-overview-card{
  background:#fff!important;
}
body.vfa-standalone-app .vfa-overview-copy>span{font-size:11px!important}
body.vfa-standalone-app .vfa-overview-copy>strong{font-size:28px!important}
body.vfa-standalone-app .vfa-overview-status{font-size:10px!important}

/* Pulsanti coerenti e privi di fondo scuro */
body.vsg-standalone-app .vsg-btn,
body.vfa-standalone-app :is(.vrr-button,.vds-button,.valve-btn,.vds-logout){
  border-color:var(--vr-green)!important;
  background:var(--vr-green)!important;
  color:#fff!important;
}
body.vsg-standalone-app .vsg-btn.vsg-secondary,
body.vfa-standalone-app :is(.vrr-button.vrr-dark,.valve-btn.valve-secondary,.vfa-payment-action.is-receipt){
  background:#fff!important;
  color:var(--vr-green)!important;
}

/* Responsive */
@media(max-width:1100px){
  body.vsg-standalone-app .vsg-header,
  body.vfa-standalone-app .vds-family-top{
    grid-template-columns:100px minmax(0,1fr) 130px!important;
    gap:20px!important;
    min-height:198px!important;
    padding:26px 26px!important;
  }
  body.vsg-standalone-app .vsg-header-brand img,
  body.vfa-standalone-app .vds-family-brand img{width:92px!important;height:92px!important}
  body.vsg-standalone-app .vsg-header h1,
  body.vfa-standalone-app .vds-family-copy h2{font-size:38px!important}
  .vsg-analytics-body{grid-template-columns:1fr!important}
  .vsg-analytics-legend{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:760px){
  body.vsg-standalone-app .vsg-header,
  body.vfa-standalone-app .vds-family-top{
    grid-template-columns:1fr!important;
    min-height:238px!important;
    padding:20px 18px 60px!important;
  }
  body.vsg-standalone-app .vsg-header-brand,
  body.vfa-standalone-app .vds-family-brand{display:none!important}
  body.vsg-standalone-app .vsg-header-side{
    position:absolute!important;
    right:16px!important;
    top:16px!important;
    width:auto!important;
    height:auto!important;
    gap:10px!important;
  }
  body.vsg-standalone-app .vsg-today{display:none!important}
  body.vfa-standalone-app .vds-logout{
    position:absolute!important;
    right:16px!important;
    top:16px!important;
  }
  body.vsg-standalone-app .vsg-header h1,
  body.vfa-standalone-app .vds-family-copy h2{font-size:31px!important}
  body.vsg-standalone-app .vsg-header p,
  body.vfa-standalone-app .vds-family-copy p{font-size:13px!important}
  .vsg-analytics-legend{grid-template-columns:1fr!important}
  body.vfa-standalone-app :is(.vrr-title,.vds-section-title,.vds-athlete-title,.valve-head){align-items:flex-start!important;flex-direction:column!important}
}

/* Ulteriore uniformità per i moduli e i pannelli famiglia */
body.vfa-standalone-app :is(.vrr-profile-section,.vrr-fee-preview,.vrr-total,.vrr-items label,.vrr-no-payment,.vrr-no-payment-summary,.vrr-privacy-not-ready,.vds-stat,.valve-stat,.valve-doc-row){
  border:1px solid var(--vr-line)!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:none!important;
}
body.vfa-standalone-app .vrr-profile-section{padding:15px!important}
body.vfa-standalone-app .vrr-profile-heading{
  margin:0 0 12px!important;
  color:var(--vr-text)!important;
  font-size:16px!important;
}
body.vfa-standalone-app .vrr-choice-grid{gap:12px!important}
body.vfa-standalone-app .vrr-choice-card{padding:14px!important}
body.vfa-standalone-app .vrr-choice-card strong{font-size:12px!important;color:var(--vr-text)!important}
body.vfa-standalone-app .vrr-choice-card small{font-size:10.5px!important;color:var(--vr-muted)!important}
body.vfa-standalone-app .vrr-fee-preview{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:0!important;
  overflow:hidden!important;
}
body.vfa-standalone-app .vrr-fee-preview>div{
  min-height:72px!important;
  padding:13px!important;
  border-right:1px solid var(--vr-line)!important;
}
body.vfa-standalone-app .vrr-fee-preview>div:last-child{border-right:0!important}
body.vfa-standalone-app .vrr-fee-preview span{font-size:10.5px!important;color:var(--vr-muted)!important}
body.vfa-standalone-app .vrr-fee-preview strong{font-size:16px!important;color:var(--vr-text)!important}
body.vfa-standalone-app .vrr-items{
  gap:10px!important;
}
body.vfa-standalone-app .vrr-items label{
  min-height:58px!important;
  padding:11px 12px!important;
}
body.vfa-standalone-app .vrr-total{
  display:flex!important;
  justify-content:space-between!important;
  gap:14px!important;
  padding:14px 16px!important;
  background:#f8faf9!important;
}
body.vfa-standalone-app .vrr-total span{font-size:11px!important}
body.vfa-standalone-app .vrr-total strong{color:var(--vr-green)!important;font-size:15px!important}
body.vfa-standalone-app .vrr-privacy-doc-links{gap:12px!important}
body.vfa-standalone-app .vrr-privacy-doc-links a{padding:14px!important}
body.vfa-standalone-app .vrr-privacy-doc-links strong{font-size:12px!important}
body.vfa-standalone-app .vrr-privacy-doc-links small{font-size:10px!important;color:var(--vr-muted)!important}
body.vfa-standalone-app .vrr-check,
body.vfa-standalone-app .vrr-radio{
  color:#4f5d56!important;
  font-size:11.5px!important;
  line-height:1.55!important;
}
body.vfa-standalone-app .vds-stats,
body.vfa-standalone-app .valve-stats{gap:12px!important}
body.vfa-standalone-app .vds-stat,
body.vfa-standalone-app .valve-stat{padding:15px!important}
body.vfa-standalone-app .vds-stat strong,
body.vfa-standalone-app .valve-stat strong{font-size:23px!important}
body.vfa-standalone-app .vds-stat span,
body.vfa-standalone-app .valve-stat span{font-size:10.5px!important;color:var(--vr-muted)!important}
body.vfa-standalone-app .vds-button,
body.vfa-standalone-app .vrr-button,
body.vfa-standalone-app .valve-btn{
  min-height:44px!important;
  padding:9px 15px!important;
  border-radius:11px!important;
  font-size:11.5px!important;
  font-weight:600!important;
}

@media(max-width:760px){
  body.vfa-standalone-app .vrr-fee-preview{grid-template-columns:1fr!important}
  body.vfa-standalone-app .vrr-fee-preview>div{border-right:0!important;border-bottom:1px solid var(--vr-line)!important}
  body.vfa-standalone-app .vrr-fee-preview>div:last-child{border-bottom:0!important}
  body.vfa-standalone-app .vrr-total{flex-direction:column!important}
}


/* ========================================================================== *
 * 1.9.2 — Titoli hero più equilibrati e margini Area Famiglie identici
 * ========================================================================== */
body.vsg-standalone-app .vsg-header h1{
  font-size:clamp(38px,3.35vw,54px)!important;
  line-height:1.04!important;
  letter-spacing:-.04em!important;
}
body.vfa-standalone-app .vds-family-copy h2{
  font-size:clamp(38px,3.2vw,52px)!important;
  line-height:1.04!important;
  letter-spacing:-.04em!important;
}

/* L'Area Famiglie usa ora lo stesso stage centrato dell'Area Società. */
body.vfa-standalone-app .vfa-native-layout{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
body.vfa-standalone-app .vfa-app-stage{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:28px 24px 64px!important;
  box-sizing:border-box!important;
}
body.vfa-standalone-app .vfa-app-content{
  display:block!important;
  width:100%!important;
  max-width:1660px!important;
  margin:0 auto!important;
  padding:0!important;
  box-sizing:border-box!important;
}
body.vfa-standalone-app .vfa-app-content :is(
  .vds-family-top,
  .vds-quick-nav,
  .vfa-overview,
  .vfa-athlete-switcher,
  .vrr-wrap,
  .vds-wrap,
  .valve-wrap,
  .vsg-family-messages
){
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  box-sizing:border-box!important;
}
body.vfa-standalone-app .vfa-app-content :where(
  .elementor,
  .elementor-section,
  .elementor-container,
  .elementor-column,
  .elementor-widget,
  .elementor-widget-container,
  .elementor-widget-wrap,
  .entry-content,
  article,
  .post,
  .page
){
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  box-sizing:border-box!important;
}

@media(max-width:1100px){
  body.vsg-standalone-app .vsg-header h1{font-size:36px!important}
  body.vfa-standalone-app .vds-family-copy h2{font-size:35px!important}
}
@media(max-width:760px){
  body.vfa-standalone-app .vfa-app-stage{padding:0 9px 42px!important}
  body.vsg-standalone-app .vsg-header h1,
  body.vfa-standalone-app .vds-family-copy h2{font-size:30px!important}
}


/* ========================================================================== *
 * 1.9.3 — Sfondo neutro uniforme, senza dominanti verdi residue
 * ========================================================================== */
:root{
  --vr-page:#f2f3f4!important;
  --va-page:#f2f3f4!important;
  --vp-page:#f2f3f4!important;
  --vsg-page:#f2f3f4!important;
  --vfa-page:#f2f3f4!important;
}
html,
html:has(body.vsg-standalone-app),
html:has(body.vfa-standalone-app),
html:has(body.vfa-login-standalone),
body.vsg-standalone-app,
body.vfa-standalone-app,
body.vfa-login-standalone,
body.vsg-area-societa-page,
body.vfa-area-famiglie-page{
  margin-top:0!important;
  background:#f2f3f4!important;
  background-color:#f2f3f4!important;
  background-image:none!important;
  background-attachment:scroll!important;
}
body.vsg-standalone-app::before,
body.vsg-standalone-app::after,
body.vfa-standalone-app::before,
body.vfa-standalone-app::after{
  display:none!important;
  content:none!important;
  background:none!important;
}
body.vsg-standalone-app :is(
  #primary,
  .vsg-native-layout,
  .vsg-standalone-layout,
  .vsg-app-shell,
  .vsg-app-stage,
  .vsg-wrap,
  .vsg-main
),
body.vfa-standalone-app :is(
  #primary,
  .vfa-native-layout,
  .vfa-app-stage,
  .vfa-app-content
),
body.vfa-login-standalone :is(
  #primary,
  .vfa-login-native-layout
){
  background:#f2f3f4!important;
  background-color:#f2f3f4!important;
  background-image:none!important;
}
/* I contenitori del tema non devono reintrodurre sfondi colorati. */
body.vsg-standalone-app :is(#page,.site,.site-content,.content-area,.entry-content),
body.vfa-standalone-app :is(#page,.site,.site-content,.content-area,.entry-content){
  background:transparent!important;
  background-image:none!important;
}
/* Le superfici operative restano bianche e si staccano dal grigio neutro. */
body.vsg-standalone-app :is(
  .vsg-card,.vsg-filter-card,.vsg-table-wrap,.vsg-clothing-order-card,
  .vsg-notification,.vsg-privacy-document-card,.vsg-mockup-metric,
  .vsg-analytics-card,.vsg-birth-panel,.vsg-mockup-athletes,.vsg-mockup-activity
),
body.vfa-standalone-app :is(
  .vrr-card,.vds-card,.vfa-overview-card,.vfa-photo-family-card,
  .vfa-privacy-family-section,.valve-box,.vds-athlete-panel,
  .vds-medical-card,.vds-documents-card,.vrr-step,.vrr-choice-card,
  .vrr-conditional-box,.vrr-payment-row,.vrr-family-clothing
){
  background:#fff!important;
}
