/*
 * Valve Gestionale 1.9.5 — Area Famiglie allineata all'Area Società
 * Foglio finale, caricato per ultimo: geometria, header, navigazione,
 * card riepilogo, gerarchie economiche e moduli coerenti.
 */
:root{
  --vfp-page:#f2f3f4;
  --vfp-card:#ffffff;
  --vfp-text:#202a25;
  --vfp-muted:#66736c;
  --vfp-line:#dfe6e2;
  --vfp-green:#0b7d4b;
  --vfp-green-dark:#06633b;
  --vfp-green-soft:#edf8f2;
  --vfp-red:#d93643;
  --vfp-red-soft:#fff0f2;
  --vfp-orange:#e88b00;
  --vfp-orange-soft:#fff5e7;
  --vfp-shadow:0 10px 28px rgba(25,55,39,.07);
  --vfp-radius-xl:24px;
  --vfp-radius-lg:18px;
  --vfp-radius-md:13px;
  --vfp-content:1660px;
}

/* --------------------------------------------------------------------------
 * Geometria identica allo stage dell'Area Società
 * -------------------------------------------------------------------------- */
html:has(body.vfa-standalone-app),
body.vfa-standalone-app{
  margin:0!important;
  padding:0!important;
  overflow-x:hidden!important;
  background:var(--vfp-page)!important;
  background-image:none!important;
  color:var(--vfp-text)!important;
  font-family:"Poppins",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important;
  font-weight:400!important;
}
body.vfa-standalone-app #wpadminbar{display:none!important}
body.vfa-standalone-app #primary.vfa-native-layout{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  background:var(--vfp-page)!important;
}
body.vfa-standalone-app .vfa-app-stage{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:28px clamp(20px,3vw,56px) 64px!important;
  box-sizing:border-box!important;
  background:var(--vfp-page)!important;
}
body.vfa-standalone-app .vfa-app-content{
  display:block!important;
  width:100%!important;
  max-width:var(--vfp-content)!important;
  margin:0 auto!important;
  padding:0!important;
  box-sizing:border-box!important;
}
body.vfa-standalone-app .vfa-app-content :is(
  .elementor,.elementor-section,.elementor-container,.elementor-column,
  .elementor-widget,.elementor-widget-container,.elementor-widget-wrap,
  .e-con,.e-con-inner,.entry-content,article,.post,.page
){
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
  box-sizing:border-box!important;
}
body.vfa-standalone-app .vfa-app-content :is(
  .vds-family-top,.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;
}

/* --------------------------------------------------------------------------
 * Header: stessa struttura dell'Area Società, con data ed Esci visibili
 * -------------------------------------------------------------------------- */
body.vfa-standalone-app .vds-family-top{
  position:relative!important;
  display:grid!important;
  grid-template-columns:124px minmax(0,1fr) minmax(164px,190px)!important;
  align-items:center!important;
  gap:32px!important;
  min-height:218px!important;
  margin:0!important;
  padding:30px 38px!important;
  border:0!important;
  border-radius:28px!important;
  overflow:hidden!important;
  background:linear-gradient(112deg,#087043 0%,#15905a 64%,#4aad78 100%)!important;
  box-shadow:0 16px 38px rgba(7,88,51,.15)!important;
}
body.vfa-standalone-app .vds-family-top:before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  right:-18px!important;
  top:-120px!important;
  width:340px!important;
  height:340px!important;
  border:34px solid rgba(255,255,255,.05)!important;
  background:none!important;
  clip-path:polygon(50% 0,62% 36%,100% 38%,70% 60%,80% 100%,50% 77%,20% 100%,30% 60%,0 38%,38% 36%)!important;
  pointer-events:none!important;
}
body.vfa-standalone-app .vds-family-top:after{display:none!important}
body.vfa-standalone-app .vds-family-brand,
body.vfa-standalone-app .vds-family-copy,
body.vfa-standalone-app .vds-family-side{position:relative!important;z-index:2!important}
body.vfa-standalone-app .vds-family-brand{display:grid!important;place-items:center!important}
body.vfa-standalone-app .vds-family-brand img{
  display:block!important;
  width:116px!important;
  height:116px!important;
  object-fit:contain!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{
  display:block!important;
  margin:0 0 8px!important;
  padding:0!important;
  background:none!important;
  color:rgba(255,255,255,.9)!important;
  font-size:12px!important;
  line-height:1.25!important;
  font-weight:600!important;
  letter-spacing:.12em!important;
}
body.vfa-standalone-app .vds-family-copy h2{
  margin:0 0 12px!important;
  padding:0!important;
  color:#fff!important;
  font-size:clamp(36px,3vw,50px)!important;
  line-height:1.04!important;
  letter-spacing:-.04em!important;
  font-weight:700!important;
  text-shadow:none!important;
}
body.vfa-standalone-app .vds-family-copy h2 .vds-wave{
  display:inline!important;
  padding:0!important;
  background:none!important;
  font-size:.72em!important;
  letter-spacing:0!important;
}
body.vfa-standalone-app .vds-family-copy p{
  margin:0!important;
  max-width:820px!important;
  color:rgba(255,255,255,.88)!important;
  font-size:16px!important;
  line-height:1.55!important;
  font-weight:400!important;
}
body.vfa-standalone-app .vds-family-side{
  align-self:stretch!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;
  padding:4px 0!important;
}
body.vfa-standalone-app .vds-family-date{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  color:rgba(255,255,255,.86)!important;
  font-size:12px!important;
  line-height:1.2!important;
  font-weight:500!important;
  white-space:nowrap!important;
}
body.vfa-standalone-app .vds-family-date svg{width:18px!important;height:18px!important;flex:0 0 18px!important}
body.vfa-standalone-app .vds-logout{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  min-width:104px!important;
  min-height:48px!important;
  padding:0 18px!important;
  border:0!important;
  border-radius:14px!important;
  background:#fff!important;
  color:var(--vfp-green)!important;
  box-shadow:0 8px 20px rgba(0,0,0,.09)!important;
  font-size:13px!important;
  line-height:1!important;
  font-weight:600!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}
body.vfa-standalone-app .vds-logout:hover{background:#f6fff9!important;color:var(--vfp-green-dark)!important}
body.vfa-standalone-app .vds-logout svg{width:19px!important;height:19px!important;flex:0 0 19px!important}

/* --------------------------------------------------------------------------
 * Barra bianca rientrata esattamente come nell'Area Società
 * -------------------------------------------------------------------------- */
body.vfa-standalone-app .vfa-app-content .vds-quick-nav{
  position:relative!important;
  z-index:8!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:6px!important;
  width:auto!important;
  max-width:none!important;
  min-height:70px!important;
  margin:-26px 48px 32px!important;
  padding:7px!important;
  border:1px solid var(--vfp-line)!important;
  border-radius:19px!important;
  overflow:hidden!important;
  background:#fff!important;
  box-shadow:0 12px 30px rgba(18,52,36,.10)!important;
}
body.vfa-standalone-app .vds-quick-nav a{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  min-height:52px!important;
  padding:9px 14px!important;
  border:0!important;
  border-radius:13px!important;
  background:transparent!important;
  color:#536159!important;
  font-size:13px!important;
  line-height:1.2!important;
  font-weight:600!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}
body.vfa-standalone-app .vds-quick-nav a:is(:hover,.is-active){background:var(--vfp-green-soft)!important;color:var(--vfp-green)!important}
body.vfa-standalone-app .vds-quick-nav svg{width:21px!important;height:21px!important;flex:0 0 21px!important}

/* --------------------------------------------------------------------------
 * Quattro card riepilogo: stessa grammatica visiva delle metriche Società
 * -------------------------------------------------------------------------- */
body.vfa-standalone-app .vfa-overview{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:16px!important;
  margin:0 0 26px!important;
}
body.vfa-standalone-app .vfa-overview-card{
  display:grid!important;
  grid-template-columns:58px minmax(0,1fr)!important;
  align-items:center!important;
  gap:14px!important;
  min-height:146px!important;
  padding:18px!important;
  border:1px solid var(--vfp-line)!important;
  border-radius:18px!important;
  overflow:hidden!important;
  background:#fff!important;
  box-shadow:var(--vfp-shadow)!important;
}
body.vfa-standalone-app .vfa-overview-icon{
  display:grid!important;
  place-items:center!important;
  width:56px!important;
  height:56px!important;
  border-radius:17px!important;
  background:var(--vfp-green-soft)!important;
  color:var(--vfp-green)!important;
}
body.vfa-standalone-app .vfa-overview-icon svg{width:26px!important;height:26px!important}
body.vfa-standalone-app .vfa-overview-copy{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  grid-template-areas:"title title" "value status" "detail detail"!important;
  align-items:center!important;
  gap:6px 10px!important;
  min-width:0!important;
}
body.vfa-standalone-app .vfa-overview-copy .vui-status-title{
  grid-area:title!important;
  color:#27332d!important;
  font-size:13px!important;
  line-height:1.3!important;
  font-weight:600!important;
}
body.vfa-standalone-app .vfa-overview-copy .vui-status-value{
  grid-area:value!important;
  margin:0!important;
  color:var(--vfp-green)!important;
  font-size:32px!important;
  line-height:1!important;
  font-weight:700!important;
}
body.vfa-standalone-app .vfa-overview-status{
  grid-area:status!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:27px!important;
  margin:0!important;
  padding:5px 10px!important;
  border-radius:999px!important;
  background:var(--vfp-green-soft)!important;
  color:var(--vfp-green)!important;
  font-size:10.5px!important;
  line-height:1!important;
  font-weight:600!important;
  white-space:nowrap!important;
}
body.vfa-standalone-app .vfa-overview-copy .vui-status-detail{
  grid-area:detail!important;
  display:block!important;
  margin:0!important;
  color:var(--vfp-muted)!important;
  font-size:11.5px!important;
  line-height:1.42!important;
  font-weight:400!important;
}
body.vfa-standalone-app .vfa-overview-card.is-incomplete{border-color:#f1d2d5!important}
body.vfa-standalone-app .vfa-overview-card.is-incomplete .vfa-overview-icon,
body.vfa-standalone-app .vfa-overview-card.is-incomplete .vfa-overview-status{background:var(--vfp-red-soft)!important;color:var(--vfp-red)!important}
body.vfa-standalone-app .vfa-overview-card.is-incomplete .vui-status-value{color:var(--vfp-red)!important}

/* --------------------------------------------------------------------------
 * Titoli principali: come Gestione atleti, mai più testo bianco sul grigio
 * -------------------------------------------------------------------------- */
body.vfa-standalone-app .vrr-title,
body.vfa-standalone-app .vds-section-title,
body.vfa-standalone-app .vds-athlete-title,
body.vfa-standalone-app .valve-head,
body.vfa-standalone-app .vfa-medical-external-title,
body.vfa-standalone-app .vfa-documents-external-title{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  margin:0 0 14px!important;
  padding:20px 22px!important;
  border:1px solid var(--vfp-line)!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:var(--vfp-shadow)!important;
  color:var(--vfp-text)!important;
}
body.vfa-standalone-app .vrr-title>div,
body.vfa-standalone-app .vds-section-title>div,
body.vfa-standalone-app .vds-athlete-title>div,
body.vfa-standalone-app .valve-head>div{min-width:0!important}
body.vfa-standalone-app :is(.vrr-title,.vds-section-title,.vds-athlete-title,.valve-head) span{
  color:var(--vfp-green)!important;
  font-size:10.5px!important;
  line-height:1.2!important;
  font-weight:600!important;
  letter-spacing:.12em!important;
}
body.vfa-standalone-app :is(.vrr-title,.vds-section-title,.vds-athlete-title,.valve-head) :is(h2,h3){
  display:flex!important;
  align-items:center!important;
  gap:11px!important;
  margin:5px 0 0!important;
  padding:0!important;
  background:none!important;
  color:var(--vfp-text)!important;
  font-size:24px!important;
  line-height:1.18!important;
  letter-spacing:-.025em!important;
  font-weight:700!important;
  text-shadow:none!important;
}
body.vfa-standalone-app :is(.vrr-title,.vds-section-title,.vds-athlete-title,.valve-head) :is(h2,h3) svg{
  width:24px!important;
  height:24px!important;
  flex:0 0 24px!important;
  color:var(--vfp-green)!important;
}
body.vfa-standalone-app :is(.vrr-title,.vds-section-title,.vds-athlete-title,.valve-head) p{
  margin:5px 0 0!important;
  color:var(--vfp-muted)!important;
  font-size:12px!important;
  line-height:1.5!important;
}

/* --------------------------------------------------------------------------
 * Selettore atleta e scheda economica ordinata
 * -------------------------------------------------------------------------- */
body.vfa-standalone-app .vfa-athlete-switcher{
  margin:0 0 22px!important;
  padding:18px 20px!important;
  border:1px solid var(--vfp-line)!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:var(--vfp-shadow)!important;
}
body.vfa-standalone-app .vfa-athlete-switcher-head{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:16px!important;
  margin:0 0 13px!important;
}
body.vfa-standalone-app .vfa-athlete-switcher-head span{color:var(--vfp-green)!important;font-size:10px!important;font-weight:600!important;letter-spacing:.12em!important}
body.vfa-standalone-app .vfa-athlete-switcher-head h2{margin:4px 0 0!important;color:var(--vfp-text)!important;font-size:20px!important;font-weight:700!important}
body.vfa-standalone-app .vfa-athlete-switcher-head small{color:var(--vfp-muted)!important;font-size:11.5px!important}
body.vfa-standalone-app .vfa-athlete-tabs{display:flex!important;justify-content:flex-start!important;gap:10px!important;flex-wrap:wrap!important}
body.vfa-standalone-app .vfa-athlete-tab{
  min-width:250px!important;
  padding:10px 14px!important;
  border:1px solid var(--vfp-line)!important;
  border-radius:14px!important;
  background:#fff!important;
  color:var(--vfp-text)!important;
  box-shadow:none!important;
}
body.vfa-standalone-app .vfa-athlete-tab.is-active{border-color:var(--vfp-green)!important;background:#f8fcf9!important}
body.vfa-standalone-app .vfa-athlete-tab-copy strong{font-size:12.5px!important;font-weight:600!important}
body.vfa-standalone-app .vfa-athlete-tab-copy small{font-size:10.5px!important;color:var(--vfp-muted)!important}

body.vfa-standalone-app .vrr-card,
body.vfa-standalone-app .vds-card,
body.vfa-standalone-app .valve-box,
body.vfa-standalone-app .vfa-photo-family-card,
body.vfa-standalone-app .vfa-privacy-family-section{
  padding:22px!important;
  border:1px solid var(--vfp-line)!important;
  border-radius:24px!important;
  background:#fff!important;
  box-shadow:var(--vfp-shadow)!important;
}
body.vfa-standalone-app .vrr-athlete-header{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  margin:0 0 20px!important;
  padding:16px 18px!important;
  border:1px solid var(--vfp-line)!important;
  border-radius:16px!important;
  background:#f8faf9!important;
}
body.vfa-standalone-app .vrr-athlete-header span{color:var(--vfp-green)!important;font-size:10px!important;font-weight:600!important;letter-spacing:.12em!important}
body.vfa-standalone-app .vrr-athlete-header h3{margin:4px 0 0!important;color:var(--vfp-text)!important;font-size:24px!important;line-height:1.15!important;font-weight:700!important}
body.vfa-standalone-app .vfa-family-main-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1.05fr) minmax(0,1.08fr)!important;
  gap:18px!important;
  align-items:start!important;
}
body.vfa-standalone-app .vfa-family-column{
  min-width:0!important;
  padding:18px!important;
  border:1px solid var(--vfp-line)!important;
  border-radius:16px!important;
  background:#fff!important;
}
body.vfa-standalone-app .vfa-family-column+.vfa-family-column{border-left:1px solid var(--vfp-line)!important}
body.vfa-standalone-app .vfa-standard-section-head,
body.vfa-standalone-app .vfa-clothing-external-head{
  display:block!important;
  margin:0 0 14px!important;
  padding:0!important;
  background:transparent!important;
}
body.vfa-standalone-app .vfa-standard-section-head h4,
body.vfa-standalone-app .vfa-clothing-external-head h4,
body.vfa-standalone-app .vfa-clothing-title-wrap h4{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  margin:0!important;
  color:var(--vfp-text)!important;
  font-size:17px!important;
  line-height:1.25!important;
  font-weight:600!important;
}
body.vfa-standalone-app .vfa-standard-emoji{
  display:grid!important;
  place-items:center!important;
  width:38px!important;
  height:38px!important;
  flex:0 0 38px!important;
  border-radius:12px!important;
  background:var(--vfp-green-soft)!important;
  color:var(--vfp-green)!important;
  font-size:0!important;
}
body.vfa-standalone-app .vfa-standard-emoji svg{width:20px!important;height:20px!important}
body.vfa-standalone-app .vrr-summary-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:0!important;
  overflow:hidden!important;
  border:1px solid var(--vfp-line)!important;
  border-radius:13px!important;
  background:#fff!important;
}
body.vfa-standalone-app .vrr-summary-grid>div{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  min-height:46px!important;
  padding:11px 13px!important;
  border:0!important;
  border-bottom:1px solid var(--vfp-line)!important;
  background:#fff!important;
}
body.vfa-standalone-app .vrr-summary-grid>div:last-child{border-bottom:0!important;background:#f8faf9!important}
body.vfa-standalone-app .vrr-summary-grid span{color:#536159!important;font-size:11.5px!important;font-weight:600!important}
body.vfa-standalone-app .vrr-summary-grid strong{color:var(--vfp-text)!important;font-size:12px!important;font-weight:600!important;text-align:right!important}
body.vfa-standalone-app .vrr-summary-grid>div:last-child strong{color:var(--vfp-green)!important;font-size:18px!important}
body.vfa-standalone-app .vrr-payment-list,
body.vfa-standalone-app .vrr-family-clothing{
  overflow:hidden!important;
  border:1px solid var(--vfp-line)!important;
  border-radius:13px!important;
  background:#fff!important;
  box-shadow:none!important;
}
body.vfa-standalone-app .vrr-payment-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:10px 12px!important;
  align-items:center!important;
  padding:14px!important;
  border:0!important;
  border-bottom:1px solid var(--vfp-line)!important;
  background:#fff!important;
}
body.vfa-standalone-app .vrr-payment-row:last-child{border-bottom:0!important}
body.vfa-standalone-app .vrr-payment-row strong{color:var(--vfp-text)!important;font-size:12.5px!important;line-height:1.4!important}
body.vfa-standalone-app .vrr-payment-row small{display:block!important;margin-top:4px!important;color:var(--vfp-muted)!important;font-size:11px!important;line-height:1.45!important}
body.vfa-standalone-app .vrr-payment-row :is(.vrr-actions,form){grid-column:1/-1!important;display:flex!important;gap:8px!important;flex-wrap:wrap!important}
body.vfa-standalone-app .vrr-family-clothing{padding:14px!important}
body.vfa-standalone-app .vrr-family-clothing-item{
  min-height:56px!important;
  padding:10px 12px!important;
  border:1px solid var(--vfp-line)!important;
  border-radius:12px!important;
  background:#fff!important;
}

/* --------------------------------------------------------------------------
 * Moduli iscrizione/rinnovo: ordine, leggibilità e gerarchie coerenti
 * -------------------------------------------------------------------------- */
body.vfa-standalone-app .vrr-renewal{
  margin-top:20px!important;
  padding:20px!important;
  border:1px solid var(--vfp-line)!important;
  border-radius:18px!important;
  background:#f8faf9!important;
}
body.vfa-standalone-app .vrr-renewal>h4{
  margin:0 0 6px!important;
  color:var(--vfp-text)!important;
  font-size:20px!important;
  line-height:1.25!important;
  font-weight:700!important;
}
body.vfa-standalone-app .vrr-renewal>.vrr-muted{margin:0 0 16px!important;color:var(--vfp-muted)!important;font-size:11.5px!important;line-height:1.5!important}
body.vfa-standalone-app .vrr-step{
  margin:12px 0!important;
  overflow:hidden!important;
  border:1px solid var(--vfp-line)!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:none!important;
}
body.vfa-standalone-app .vrr-step>summary{
  display:flex!important;
  align-items:center!important;
  min-height:56px!important;
  padding:15px 18px!important;
  background:#fff!important;
  color:var(--vfp-text)!important;
  font-size:13px!important;
  line-height:1.35!important;
  font-weight:600!important;
  cursor:pointer!important;
}
body.vfa-standalone-app .vrr-step[open]>summary{border-bottom:1px solid var(--vfp-line)!important;background:#f8faf9!important;color:var(--vfp-green-dark)!important}
body.vfa-standalone-app .vrr-step>summary~*{margin-left:18px!important;margin-right:18px!important}
body.vfa-standalone-app .vrr-step>summary+*{margin-top:18px!important}
body.vfa-standalone-app .vrr-step>*:last-child{margin-bottom:18px!important}
body.vfa-standalone-app .vrr-profile-heading{margin:0 0 12px!important}
body.vfa-standalone-app .vrr-profile-heading span{display:block!important;color:var(--vfp-green)!important;font-size:10px!important;font-weight:600!important;letter-spacing:.12em!important}
body.vfa-standalone-app .vrr-profile-heading strong{display:block!important;margin-top:4px!important;color:var(--vfp-text)!important;font-size:14px!important;font-weight:600!important}
body.vfa-standalone-app .vrr-form-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
}
body.vfa-standalone-app .vrr-form-grid label,
body.vfa-standalone-app .valve-form-grid label,
body.vfa-standalone-app .vds-upload-form label{display:flex!important;flex-direction:column!important;gap:7px!important;min-width:0!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:11.5px!important;line-height:1.3!important;font-weight:600!important}
body.vfa-standalone-app :is(input[type=text],input[type=email],input[type=tel],input[type=date],input[type=number],input[type=file],select,textarea){
  width:100%!important;
  min-height:46px!important;
  padding:10px 12px!important;
  border:1px solid #dbe3df!important;
  border-radius:12px!important;
  background:#fff!important;
  color:var(--vfp-text)!important;
  font-family:"Poppins",sans-serif!important;
  font-size:12.5px!important;
  line-height:1.3!important;
  font-weight:400!important;
  box-shadow:none!important;
  box-sizing:border-box!important;
}
body.vfa-standalone-app textarea{min-height:110px!important;resize:vertical!important}
body.vfa-standalone-app :is(input,select,textarea):focus{outline:3px solid rgba(11,125,75,.12)!important;border-color:var(--vfp-green)!important}
body.vfa-standalone-app .vrr-choice-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
body.vfa-standalone-app .vrr-choice-card{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:start!important;
  gap:10px!important;
  min-height:92px!important;
  padding:14px!important;
  border:1px solid var(--vfp-line)!important;
  border-radius:13px!important;
  background:#fff!important;
  box-shadow:none!important;
}
body.vfa-standalone-app .vrr-choice-card b{display:block!important;color:var(--vfp-text)!important;font-size:12.5px!important;font-weight:600!important}
body.vfa-standalone-app .vrr-choice-card small{display:block!important;margin-top:5px!important;color:var(--vfp-muted)!important;font-size:10.8px!important;line-height:1.45!important}
body.vfa-standalone-app .vrr-conditional-box{
  margin:14px 0!important;
  padding:16px!important;
  border:1px solid var(--vfp-line)!important;
  border-radius:13px!important;
  background:#f8faf9!important;
  box-shadow:none!important;
}
body.vfa-standalone-app .vrr-fee-preview{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:0!important;margin:14px 0!important;overflow:hidden!important;border:1px solid var(--vfp-line)!important;border-radius:13px!important;background:#fff!important}
body.vfa-standalone-app .vrr-fee-preview>div{padding:14px!important;border-right:1px solid var(--vfp-line)!important}
body.vfa-standalone-app .vrr-fee-preview>div:last-child{border-right:0!important}
body.vfa-standalone-app .vrr-fee-preview span{display:block!important;color:var(--vfp-muted)!important;font-size:10.5px!important}
body.vfa-standalone-app .vrr-fee-preview strong{display:block!important;margin-top:5px!important;color:var(--vfp-text)!important;font-size:16px!important;font-weight:700!important}
body.vfa-standalone-app .vrr-items{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
body.vfa-standalone-app .vrr-items label{display:grid!important;grid-template-columns:minmax(0,1fr) 76px!important;align-items:center!important;gap:10px!important;padding:11px 12px!important;border:1px solid var(--vfp-line)!important;border-radius:12px!important;background:#fff!important}
body.vfa-standalone-app .vrr-total{display:flex!important;justify-content:space-between!important;gap:12px!important;margin-top:14px!important;padding:14px!important;border-radius:12px!important;background:var(--vfp-green-soft)!important;color:var(--vfp-green-dark)!important}
body.vfa-standalone-app .vrr-total strong{font-weight:700!important}
body.vfa-standalone-app .vrr-muted,
body.vfa-standalone-app :is(.vds-check-main small,.vds-medical-copy p,.vds-upload-details small,.vrr-payment-row small,.vrr-choice-card small){color:var(--vfp-muted)!important;font-size:11px!important;line-height:1.5!important}

/* Pulsanti e badge come Area Società */
body.vfa-standalone-app :is(.vrr-button,.vds-button,.valve-btn,.vfa-payment-action){
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  min-height:42px!important;
  padding:8px 14px!important;
  border:1px solid var(--vfp-green)!important;
  border-radius:11px!important;
  background:var(--vfp-green)!important;
  color:#fff!important;
  font-family:"Poppins",sans-serif!important;
  font-size:11.5px!important;
  line-height:1!important;
  font-weight:600!important;
  text-decoration:none!important;
  box-shadow:none!important;
}
body.vfa-standalone-app :is(.vrr-button.vrr-dark,.valve-btn.valve-secondary,.vfa-payment-action.is-receipt,.vrr-proof-link){background:#fff!important;color:var(--vfp-green)!important}
body.vfa-standalone-app :is(.vrr-button,.vds-button,.valve-btn,.vfa-payment-action):hover{background:var(--vfp-green-dark)!important;color:#fff!important}
body.vfa-standalone-app :is(.vrr-badge,.vds-badge,.valve-status){
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:27px!important;
  padding:5px 10px!important;
  border-radius:999px!important;
  font-size:10px!important;
  line-height:1!important;
  font-weight:600!important;
}

/* Visite, documenti e fototessera */
body.vfa-standalone-app :is(.vds-athlete-panel,.vds-medical-card,.vds-documents-card,.vds-check-row,.vfa-photo-family-card,.vfa-privacy-family-section){
  border:1px solid var(--vfp-line)!important;
  border-radius:16px!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{color:var(--vfp-text)!important;font-size:12px!important;font-weight:600!important}

/* --------------------------------------------------------------------------
 * Responsive
 * -------------------------------------------------------------------------- */
@media(max-width:1180px){
  body.vfa-standalone-app .vfa-overview{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.vfa-standalone-app .vfa-family-main-grid{grid-template-columns:1fr!important}
  body.vfa-standalone-app .vrr-form-grid{grid-template-columns:1fr 1fr!important}
}
@media(max-width:900px){
  body.vfa-standalone-app .vds-family-top{grid-template-columns:90px minmax(0,1fr)!important;min-height:205px!important;padding-right:24px!important}
  body.vfa-standalone-app .vds-family-brand img{width:84px!important;height:84px!important}
  body.vfa-standalone-app .vds-family-side{position:absolute!important;right:20px!important;top:18px!important;width:auto!important;height:calc(100% - 36px)!important}
  body.vfa-standalone-app .vds-family-copy h2{font-size:36px!important}
  body.vfa-standalone-app .vds-family-copy p{font-size:14px!important;padding-right:130px!important}
  body.vfa-standalone-app .vds-family-date{font-size:11px!important}
}
@media(max-width:760px){
  body.vfa-standalone-app .vfa-app-stage{padding:0 9px 44px!important}
  body.vfa-standalone-app .vds-family-top{
    grid-template-columns:1fr!important;
    min-height:238px!important;
    padding:72px 18px 58px!important;
    border-radius:0 0 24px 24px!important;
  }
  body.vfa-standalone-app .vds-family-brand{display:none!important}
  body.vfa-standalone-app .vds-family-copy h2{font-size:29px!important}
  body.vfa-standalone-app .vds-family-copy p{padding-right:0!important;font-size:13px!important}
  body.vfa-standalone-app .vds-family-side{right:14px!important;top:14px!important;height:44px!important;flex-direction:row!important;align-items:center!important;gap:10px!important}
  body.vfa-standalone-app .vds-family-date{display:none!important}
  body.vfa-standalone-app .vds-logout{min-width:88px!important;min-height:40px!important;padding:0 13px!important;font-size:12px!important}
  body.vfa-standalone-app .vfa-app-content .vds-quick-nav{
    display:flex!important;
    width:auto!important;
    margin:-28px 12px 24px!important;
    overflow-x:auto!important;
    scrollbar-width:none!important;
  }
  body.vfa-standalone-app .vds-quick-nav::-webkit-scrollbar{display:none!important}
  body.vfa-standalone-app .vds-quick-nav a{flex:0 0 auto!important;min-width:180px!important}
  body.vfa-standalone-app .vfa-overview{grid-template-columns:1fr!important;gap:10px!important}
  body.vfa-standalone-app .vfa-overview-card{min-height:126px!important}
  body.vfa-standalone-app .vfa-athlete-switcher-head{align-items:flex-start!important;flex-direction:column!important}
  body.vfa-standalone-app .vfa-athlete-tab{width:100%!important;min-width:0!important}
  body.vfa-standalone-app .vrr-title,
  body.vfa-standalone-app .vds-section-title,
  body.vfa-standalone-app .vds-athlete-title,
  body.vfa-standalone-app .valve-head{padding:17px!important}
  body.vfa-standalone-app :is(.vrr-title,.vds-section-title,.vds-athlete-title,.valve-head) :is(h2,h3){font-size:21px!important}
  body.vfa-standalone-app .vrr-card,
  body.vfa-standalone-app .vds-card,
  body.vfa-standalone-app .valve-box{padding:15px!important;border-radius:18px!important}
  body.vfa-standalone-app .vrr-form-grid,
  body.vfa-standalone-app .vrr-choice-grid,
  body.vfa-standalone-app .vrr-items,
  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(--vfp-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}
}
