
:root{
  --vfa-green:#0b6b43;
  --vfa-green-2:#138a56;
  --vfa-green-3:#2d9a68;
  --vfa-yellow:#f2c300;
  --vfa-page:#f3f8f5;
  --vfa-card:#ffffff;
  --vfa-text:#17231d;
  --vfa-muted:#68776f;
  --vfa-border:#d8e5dd;
  --vfa-red:#b3261e;
  --vfa-orange:#a95508;
  --vfa-shadow:0 12px 34px rgba(17,57,39,.075);
}

/* Pagina autonoma: niente header, colonne o limiti del tema. */
html:has(body.vfa-standalone-app){overflow-x:hidden!important}
body.vfa-standalone-app{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  overflow-x:hidden!important;
  background:
    radial-gradient(circle at 7% 6%,rgba(19,138,86,.08),transparent 22%),
    radial-gradient(circle at 94% 18%,rgba(242,195,0,.08),transparent 20%),
    var(--vfa-page)!important;
  color:var(--vfa-text)!important;
}
body.vfa-standalone-app .vfa-native-layout{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  padding:clamp(18px,2.5vw,42px) clamp(14px,3.2vw,62px) 80px!important;
}
body.vfa-standalone-app .valve-wrap{display:none!important}
body.vfa-standalone-app .vds-family-top,
body.vfa-standalone-app .vds-quick-nav,
body.vfa-standalone-app .vrr-wrap,
body.vfa-standalone-app .vds-wrap,
body.vfa-standalone-app .vsg-family-messages,
body.vfa-standalone-app .vfa-overview{
  width:100%!important;
  max-width:1500px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}

/* Testata in stile Area Società. */
body.vfa-standalone-app .vds-family-top{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:250px;
  padding:34px clamp(24px,4vw,58px) 68px!important;
  border:0!important;
  border-radius:26px;
  background:linear-gradient(128deg,#075c39 0%,#0b7548 50%,#12915a 100%);
  box-shadow:0 18px 45px rgba(7,73,44,.18);
  color:#fff;
}
body.vfa-standalone-app .vds-family-top:before,
body.vfa-standalone-app .vds-family-top:after{
  content:"";
  position:absolute;
  z-index:-1;
  border-radius:50%;
  background:rgba(255,255,255,.10);
}
body.vfa-standalone-app .vds-family-top:before{
  width:240px;height:240px;right:18%;top:-145px;
}
body.vfa-standalone-app .vds-family-top:after{
  width:190px;height:190px;right:-60px;bottom:-95px;
}
body.vfa-standalone-app .vds-family-top>div{max-width:920px}
body.vfa-standalone-app .vds-family-top span{
  display:inline-flex!important;
  width:max-content;
  margin-bottom:14px;
  padding:8px 13px;
  border-radius:999px;
  background:rgba(255,255,255,.14);
  color:#fff!important;
  font-size:12px!important;
  font-weight:700!important;
  letter-spacing:.16em!important;
}
body.vfa-standalone-app .vds-family-top h2{
  margin:0 0 10px!important;
  color:#fff!important;
  font-size:clamp(38px,5vw,64px)!important;
  line-height:1.02!important;
  letter-spacing:-.045em!important;
}
body.vfa-standalone-app .vds-family-top p{
  max-width:760px;
  margin:0!important;
  color:rgba(255,255,255,.88)!important;
  font-size:clamp(16px,1.5vw,20px)!important;
  line-height:1.5!important;
}
body.vfa-standalone-app .vds-logout{
  display:inline-flex;
  align-items:center;
  gap:9px;
  min-height:46px;
  padding:10px 15px;
  border:1px solid rgba(255,255,255,.58);
  border-radius:12px;
  background:rgba(255,255,255,.10);
  color:#fff!important;
  font-weight:700!important;
  text-decoration:none!important;
  backdrop-filter:blur(8px);
}
body.vfa-standalone-app .vds-logout:hover{background:rgba(255,255,255,.18)}
body.vfa-standalone-app .vds-logout svg{width:19px;height:19px}

/* Menu rapido flottante. */
body.vfa-standalone-app .vds-quick-nav{
  position:sticky;
  top:14px;
  z-index:80;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px!important;
  margin-top:-42px!important;
  margin-bottom:30px!important;
  padding:10px!important;
  border:1px solid rgba(205,222,213,.92);
  border-radius:19px;
  background:rgba(255,255,255,.94);
  box-shadow:0 14px 36px rgba(17,57,39,.14);
  backdrop-filter:blur(12px);
}
body.vfa-standalone-app .vds-quick-nav a{
  display:flex!important;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:52px;
  padding:10px 14px!important;
  border:0!important;
  border-radius:13px!important;
  background:transparent!important;
  color:#405047!important;
  font-size:14px!important;
  font-weight:700!important;
  text-decoration:none!important;
  transition:.16s ease;
}
body.vfa-standalone-app .vds-quick-nav a:hover,
body.vfa-standalone-app .vds-quick-nav a.is-active{
  background:var(--vfa-green)!important;
  color:#fff!important;
}
body.vfa-standalone-app .vds-quick-nav svg{width:21px;height:21px;flex:0 0 auto}

/* Riepilogo automatico. */
.vfa-overview{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:13px;
  margin-bottom:34px!important;
}
.vfa-overview-card{
  display:flex;
  align-items:center;
  gap:13px;
  min-height:92px;
  padding:17px;
  border:1px solid var(--vfa-border);
  border-radius:17px;
  background:#fff;
  box-shadow:0 7px 22px rgba(17,57,39,.05);
}
.vfa-overview-icon{
  display:grid;
  place-items:center;
  flex:0 0 44px;
  width:44px;height:44px;
  border-radius:13px;
  background:#e6f4ec;
  color:var(--vfa-green);
}
.vfa-overview-icon svg{width:22px;height:22px}
.vfa-overview-card span,.vfa-overview-card strong{display:block}
.vfa-overview-card span{font-size:12px;color:var(--vfa-muted);font-weight:700}
.vfa-overview-card strong{margin-top:2px;font-size:25px;line-height:1;color:var(--vfa-text)}

/* Titoli delle grandi aree. */
body.vfa-standalone-app .vrr-wrap,
body.vfa-standalone-app .vds-wrap{padding:0!important;margin-top:0!important}
body.vfa-standalone-app .vrr-title{
  margin:0 0 18px!important;
}
body.vfa-standalone-app .vrr-title>div,
body.vfa-standalone-app .vds-wrap:before{
  box-sizing:border-box;
}
body.vfa-standalone-app .vrr-title span{
  color:var(--vfa-green)!important;
  font-size:12px!important;
  font-weight:700!important;
  letter-spacing:.15em!important;
}
body.vfa-standalone-app .vrr-title h2{
  display:inline-flex;
  align-items:center;
  gap:13px;
  width:max-content;
  max-width:100%;
  margin:9px 0 0!important;
  padding:14px 20px;
  border-radius:15px;
  background:linear-gradient(135deg,var(--vfa-green),var(--vfa-green-2));
  color:#fff!important;
  font-size:clamp(26px,3vw,40px)!important;
  line-height:1.12!important;
  letter-spacing:-.035em!important;
  box-shadow:0 9px 22px rgba(11,107,67,.17);
}
body.vfa-standalone-app .vrr-title h2 svg{width:29px;height:29px}

/* Schede iscrizione. */
body.vfa-standalone-app .vrr-card{
  margin-bottom:30px!important;
  padding:clamp(20px,2.4vw,32px)!important;
  border:1px solid var(--vfa-border)!important;
  border-radius:22px!important;
  background:#fff!important;
  box-shadow:var(--vfa-shadow)!important;
}
body.vfa-standalone-app .vrr-athlete-header{
  align-items:center!important;
  margin:-5px 0 23px!important;
  padding:16px 18px;
  border-radius:16px;
  background:linear-gradient(135deg,#eef8f2,#f8fcfa);
  border:1px solid #d7e9de;
}
body.vfa-standalone-app .vrr-athlete-header>div{
  display:grid;
  grid-template-columns:auto 1fr;
  column-gap:13px;
  align-items:center;
}
body.vfa-standalone-app .vrr-athlete-header>div>span{
  grid-column:2;
  color:var(--vfa-green)!important;
  font-size:11px!important;
}
body.vfa-standalone-app .vrr-athlete-header h3{
  grid-column:2;
  margin:2px 0 0!important;
  color:var(--vfa-text)!important;
  font-size:clamp(24px,2.5vw,34px)!important;
  line-height:1.08!important;
}
body.vfa-standalone-app .vrr-athlete-header .vfa-title-icon{
  grid-row:1/3;
  display:grid;
  place-items:center;
  width:46px;height:46px;
  padding:11px;
  border-radius:14px;
  background:var(--vfa-green);
  color:#fff;
}
body.vfa-standalone-app .vrr-athlete-header .vfa-title-icon svg{width:24px;height:24px}
body.vfa-standalone-app .vrr-badge,
body.vfa-standalone-app .vds-badge{
  border-radius:999px!important;
  padding:6px 10px!important;
  font-size:11px!important;
  font-weight:700!important;
}

/* Riepilogo quote. */
body.vfa-standalone-app .vrr-summary-grid{
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:11px!important;
  margin:0 0 20px!important;
}
body.vfa-standalone-app .vrr-summary-grid>div{
  min-height:88px;
  padding:14px!important;
  border:1px solid #e0e9e4;
  border-radius:14px!important;
  background:#f8fbf9!important;
}
body.vfa-standalone-app .vrr-summary-grid>div:last-child{
  border-color:transparent;
  background:linear-gradient(135deg,var(--vfa-green),var(--vfa-green-2))!important;
}
body.vfa-standalone-app .vrr-summary-grid>div:last-child span,
body.vfa-standalone-app .vrr-summary-grid>div:last-child strong{color:#fff!important}
body.vfa-standalone-app .vrr-summary-grid span{
  font-size:11px!important;color:var(--vfa-muted)!important;font-weight:700!important;
}
body.vfa-standalone-app .vrr-summary-grid strong{
  margin-top:6px;
  color:var(--vfa-text);
  font-size:15px!important;
  line-height:1.25;
}

/* Abbigliamento e pagamenti. */
body.vfa-standalone-app .vrr-family-clothing{
  margin:18px 0 24px!important;
  padding:18px!important;
  border:1px solid #d8e7df!important;
  border-radius:16px!important;
  background:#f5faf7!important;
}
body.vfa-standalone-app .vrr-family-clothing-head h4,
body.vfa-standalone-app .vrr-card>h4{
  margin:4px 0 0!important;
  color:var(--vfa-text);
  font-size:19px!important;
}
body.vfa-standalone-app .vrr-payment-list{
  overflow:hidden;
  border:1px solid var(--vfa-border)!important;
  border-radius:15px;
}
body.vfa-standalone-app .vrr-payment-row{
  padding:15px 17px!important;
  border-bottom:1px solid var(--vfa-border)!important;
}
body.vfa-standalone-app .vrr-payment-row:last-child{border-bottom:0!important}
body.vfa-standalone-app .vrr-button,
body.vfa-standalone-app .vds-button{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:9px 13px!important;
  border-radius:10px!important;
  background:var(--vfa-green)!important;
  color:#fff!important;
  font-size:13px!important;
  font-weight:700!important;
}
body.vfa-standalone-app .vrr-actions a:not(.vrr-button),
body.vfa-standalone-app .vds-row-actions>a{
  color:var(--vfa-green)!important;
  font-weight:700!important;
  text-decoration:none!important;
}

/* Modulo di rinnovo. */
body.vfa-standalone-app .vrr-renewal>h4{
  margin:6px 0 3px!important;
  font-size:24px!important;
}
body.vfa-standalone-app .vrr-step{
  border:1px solid var(--vfa-border)!important;
  border-radius:15px!important;
  background:#fff!important;
}
body.vfa-standalone-app .vrr-step>summary{
  position:relative;
  padding:16px 48px 16px 18px!important;
  background:#f6faf8!important;
  color:#24322b;
  font-size:15px!important;
  font-weight:700!important;
}
body.vfa-standalone-app .vrr-step[open]>summary{
  background:linear-gradient(135deg,#e9f6ef,#f7fbf9)!important;
  color:var(--vfa-green);
}
body.vfa-standalone-app .vrr-step>summary:after{
  content:"+";
  position:absolute;
  right:17px;top:50%;
  transform:translateY(-50%);
  display:grid;
  place-items:center;
  width:25px;height:25px;
  border-radius:8px;
  background:#fff;
  color:var(--vfa-green);
  font-size:18px;
  box-shadow:0 2px 7px rgba(17,57,39,.08);
}
body.vfa-standalone-app .vrr-step[open]>summary:after{content:"−"}
body.vfa-standalone-app .vrr-form-grid input,
body.vfa-standalone-app .vrr-form-grid select,
body.vfa-standalone-app .vrr-items input,
body.vfa-standalone-app .vds-upload-form input{
  min-height:44px;
  border:1px solid #cbdad2!important;
  border-radius:10px!important;
  background:#fff!important;
  font-size:14px!important;
}
body.vfa-standalone-app .vrr-form-grid input:focus,
body.vfa-standalone-app .vrr-form-grid select:focus,
body.vfa-standalone-app .vrr-items input:focus,
body.vfa-standalone-app .vds-upload-form input:focus{
  border-color:var(--vfa-green-2)!important;
  box-shadow:0 0 0 3px rgba(19,138,86,.12)!important;
  outline:none!important;
}
body.vfa-standalone-app .vrr-items label{
  border-color:#dbe6e0!important;
  border-radius:12px!important;
  background:#fbfdfc!important;
}
body.vfa-standalone-app .vrr-fee-preview>div{
  border-color:#d9e6df!important;
  border-radius:13px!important;
  background:#f4f9f6!important;
}
body.vfa-standalone-app .vrr-total{
  border:1px solid #cfe6d9;
  border-radius:14px!important;
  background:#eaf7f0!important;
}

/* Area documenti e visita. */
body.vfa-standalone-app .vds-athlete-panel{
  margin-bottom:32px!important;
  padding:clamp(20px,2.4vw,32px)!important;
  border:1px solid var(--vfa-border)!important;
  border-radius:22px!important;
  background:#fff!important;
  box-shadow:var(--vfa-shadow)!important;
}
body.vfa-standalone-app .vds-athlete-title{
  align-items:center!important;
  margin-bottom:21px!important;
}
body.vfa-standalone-app .vds-athlete-title>div:first-child{
  display:grid;
  grid-template-columns:auto 1fr;
  column-gap:13px;
  align-items:center;
}
body.vfa-standalone-app .vds-athlete-title>div:first-child>span{
  grid-column:2;
  color:var(--vfa-green)!important;
  font-size:11px!important;
}
body.vfa-standalone-app .vds-athlete-title h2{
  grid-column:2;
  margin:2px 0 0!important;
  color:var(--vfa-text)!important;
  font-size:clamp(24px,2.5vw,34px)!important;
}
body.vfa-standalone-app .vds-athlete-title .vfa-title-icon{
  grid-row:1/3;
  display:grid;
  place-items:center;
  width:46px;height:46px;
  padding:11px;
  border-radius:14px;
  background:var(--vfa-green);
  color:#fff;
}
body.vfa-standalone-app .vds-document-score{
  min-width:164px!important;
  padding:12px 15px!important;
  border:1px solid #d9e6df;
  border-radius:14px!important;
  background:#f5faf7!important;
}
body.vfa-standalone-app .vds-medical-card{
  grid-template-columns:auto minmax(0,1fr) auto!important;
  gap:18px!important;
  padding:20px!important;
  border:1px solid var(--vfa-border)!important;
  border-left-width:6px!important;
  border-radius:17px!important;
  box-shadow:none!important;
}
body.vfa-standalone-app .vds-medical-icon{
  width:50px!important;height:50px!important;
  border-radius:14px!important;
  background:#e5f4ec!important;
  color:var(--vfa-green)!important;
  font-size:0!important;
}
body.vfa-standalone-app .vds-medical-icon svg{width:25px;height:25px}
body.vfa-standalone-app .vds-medical-copy h3{
  font-size:22px!important;
}
body.vfa-standalone-app .vds-documents-card{
  padding:20px!important;
  border:1px solid var(--vfa-border)!important;
  border-radius:17px!important;
  background:#fff!important;
}
body.vfa-standalone-app .vds-section-title{
  align-items:flex-end!important;
  padding-bottom:14px;
  border-bottom:1px solid var(--vfa-border);
}
body.vfa-standalone-app .vds-section-title h3{
  display:flex;
  align-items:center;
  gap:9px;
  font-size:23px!important;
}
body.vfa-standalone-app .vds-section-title h3 svg{width:23px;height:23px;color:var(--vfa-green)}
body.vfa-standalone-app .vds-checklist{border-top:0!important}
body.vfa-standalone-app .vds-check-row{
  min-height:70px;
  padding:14px 2px!important;
}
body.vfa-standalone-app .vds-check-main strong{font-size:14px!important}
body.vfa-standalone-app .vds-check-main small{font-size:12px!important}
body.vfa-standalone-app .vds-link-button{
  display:inline-flex!important;
  padding:7px 10px;
  border:1px solid #bcd5c7;
  border-radius:9px;
  background:#fff;
  font-size:12px!important;
}
body.vfa-standalone-app .vds-other-document{
  border:1px dashed #bfd3c7;
  border-radius:13px!important;
  background:#f7fbf9!important;
}

/* Messaggi della segreteria. */
body.vfa-standalone-app .vsg-family-messages{
  margin-top:0!important;
  margin-bottom:28px!important;
  padding:20px!important;
  border:1px solid #e0aaa5!important;
  border-left:6px solid var(--vfa-red)!important;
  border-radius:16px!important;
  background:#fff8f7!important;
}

/* Feedback e link. */
body.vfa-standalone-app .vrr-notice,
body.vfa-standalone-app .valve-notice{
  border-radius:13px!important;
}
body.vfa-standalone-app a:focus-visible,
body.vfa-standalone-app button:focus-visible,
body.vfa-standalone-app summary:focus-visible{
  outline:3px solid rgba(242,195,0,.68)!important;
  outline-offset:3px!important;
}

/* Tablet e smartphone. */
@media(max-width:1050px){
  .vfa-overview{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.vfa-standalone-app .vrr-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  body.vfa-standalone-app .vds-medical-card{grid-template-columns:auto 1fr!important}
  body.vfa-standalone-app .vds-medical-card>.vds-upload-details{grid-column:1/-1}
}
@media(max-width:720px){
  body.vfa-standalone-app .vfa-native-layout{padding:10px 9px 54px!important}
  body.vfa-standalone-app .vds-family-top{
    min-height:230px;
    padding:26px 20px 62px!important;
    border-radius:20px;
  }
  body.vfa-standalone-app .vds-family-top{flex-direction:column!important}
  body.vfa-standalone-app .vds-family-top h2{font-size:40px!important}
  body.vfa-standalone-app .vds-logout{align-self:flex-start}
  body.vfa-standalone-app .vds-quick-nav{
    position:relative;
    top:auto;
    grid-template-columns:1fr;
    margin-top:-38px!important;
    border-radius:16px;
  }
  body.vfa-standalone-app .vds-quick-nav a{justify-content:flex-start}
  .vfa-overview{grid-template-columns:1fr 1fr;gap:9px}
  .vfa-overview-card{min-height:78px;padding:13px}
  .vfa-overview-icon{width:38px;height:38px;flex-basis:38px}
  body.vfa-standalone-app .vrr-title h2{width:100%;font-size:28px!important}
  body.vfa-standalone-app .vrr-card,
  body.vfa-standalone-app .vds-athlete-panel{padding:16px!important;border-radius:17px!important}
  body.vfa-standalone-app .vrr-athlete-header,
  body.vfa-standalone-app .vds-athlete-title{flex-direction:column!important;align-items:flex-start!important}
  body.vfa-standalone-app .vrr-summary-grid{grid-template-columns:1fr 1fr!important}
  body.vfa-standalone-app .vrr-form-grid,
  body.vfa-standalone-app .vrr-items{grid-template-columns:1fr!important}
  body.vfa-standalone-app .vrr-payment-row{grid-template-columns:1fr!important}
  body.vfa-standalone-app .vds-medical-card{grid-template-columns:1fr!important}
  body.vfa-standalone-app .vds-medical-icon{display:grid!important}
  body.vfa-standalone-app .vds-check-row{grid-template-columns:1fr!important}
  body.vfa-standalone-app .vds-row-actions{justify-content:flex-start}
  body.vfa-standalone-app .vds-upload-form{position:static!important;width:100%!important;margin-top:9px}
}
@media(max-width:440px){
  .vfa-overview{grid-template-columns:1fr}
  body.vfa-standalone-app .vrr-summary-grid{grid-template-columns:1fr!important}
}


/* ==========================================================
   0.4.1 — STATO DEI RIQUADRI E ORDINE DEL TITOLO
   ========================================================== */

/* La stagione rimane sopra; il titolo compare chiaramente sotto. */
body.vfa-standalone-app .vrr-title{
  display:block!important;
}
body.vfa-standalone-app .vrr-title>div{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  width:100%;
}
body.vfa-standalone-app .vrr-title>div>span{
  display:block!important;
  margin:0 0 10px!important;
}
body.vfa-standalone-app .vrr-title h2{
  display:flex!important;
  margin:0!important;
}

/* Riquadri verdi quando completi, rossi quando richiedono un'azione. */
.vfa-overview-card{
  position:relative;
  overflow:hidden;
  padding-right:58px!important;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
.vfa-overview-card:hover{
  transform:translateY(-2px);
}
.vfa-overview-card.is-complete{
  border-color:#9acdaf!important;
  background:linear-gradient(135deg,#f5fcf8,#ebf8f1)!important;
  box-shadow:0 8px 24px rgba(16,111,67,.08)!important;
}
.vfa-overview-card.is-complete .vfa-overview-icon{
  background:#dff3e7!important;
  color:#167044!important;
}
.vfa-overview-card.is-complete .vfa-overview-copy>span,
.vfa-overview-card.is-complete .vfa-overview-copy>small{
  color:#397155!important;
}
.vfa-overview-card.is-complete .vfa-overview-copy>strong{
  color:#12643d!important;
}
.vfa-overview-card.is-incomplete{
  border-color:#e5aaa5!important;
  background:linear-gradient(135deg,#fff9f8,#fff0ee)!important;
  box-shadow:0 8px 24px rgba(179,38,30,.075)!important;
}
.vfa-overview-card.is-incomplete .vfa-overview-icon{
  background:#fde4e1!important;
  color:#b3261e!important;
}
.vfa-overview-card.is-incomplete .vfa-overview-copy>span,
.vfa-overview-card.is-incomplete .vfa-overview-copy>small{
  color:#9a413b!important;
}
.vfa-overview-card.is-incomplete .vfa-overview-copy>strong{
  color:#a92019!important;
}
.vfa-overview-copy{
  min-width:0;
}
.vfa-overview-copy>span{
  font-size:13px!important;
  line-height:1.25;
}
.vfa-overview-copy>strong{
  margin-top:5px!important;
  font-size:29px!important;
}
.vfa-overview-copy>small{
  display:block;
  margin-top:5px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.025em;
}
.vfa-overview-status{
  position:absolute;
  top:50%;
  right:18px;
  transform:translateY(-50%);
  display:grid;
  place-items:center;
  width:31px;
  height:31px;
  font-size:23px;
  line-height:1;
}
@media(max-width:720px){
  .vfa-overview-card{
    padding-right:48px!important;
  }
  .vfa-overview-status{
    right:12px;
    font-size:20px;
  }
  .vfa-overview-copy>span{
    font-size:12px!important;
  }
  .vfa-overview-copy>strong{
    font-size:25px!important;
  }
}


/* ==========================================================
   0.4.2 — EMOJI COLORATE NEI RIQUADRI DI RIEPILOGO
   ========================================================== */
.vfa-overview-card .vfa-overview-icon.vfa-overview-emoji{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 58px!important;
  width:58px!important;
  height:58px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:inherit!important;
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif!important;
  font-size:47px!important;
  line-height:1!important;
  letter-spacing:0!important;
  filter:drop-shadow(0 5px 7px rgba(22,44,33,.10));
  transform:translateZ(0);
}
.vfa-overview-card.is-complete .vfa-overview-icon.vfa-overview-emoji,
.vfa-overview-card.is-incomplete .vfa-overview-icon.vfa-overview-emoji{
  background:transparent!important;
  color:inherit!important;
}
.vfa-overview-card .vfa-overview-icon.vfa-overview-emoji svg{
  display:none!important;
}
@media(max-width:720px){
  .vfa-overview-card .vfa-overview-icon.vfa-overview-emoji{
    flex-basis:48px!important;
    width:48px!important;
    height:48px!important;
    font-size:39px!important;
  }
}


/* ==========================================================
   0.4.3 — SEZIONI ECONOMICHE PIÙ CHIARE NELL'AREA FAMIGLIE
   ========================================================== */

/* Header atleta più pulito, senza icona iniziale. */
body.vfa-standalone-app .vrr-athlete-header{
  padding:18px 22px!important;
  border-radius:18px!important;
}
body.vfa-standalone-app .vrr-athlete-header>div{
  display:block!important;
}
body.vfa-standalone-app .vrr-athlete-header>div>span{
  display:block!important;
  margin:0 0 6px!important;
}
body.vfa-standalone-app .vrr-athlete-header .vfa-title-icon{
  display:none!important;
}
body.vfa-standalone-app .vrr-athlete-header h3{
  display:block!important;
  margin:0!important;
  font-size:clamp(26px,2.7vw,38px)!important;
  line-height:1.08!important;
}
body.vfa-standalone-app .vrr-athlete-header .vrr-badge{
  align-self:flex-start!important;
  min-width:auto!important;
}

/* Titolini interni alle aree del riepilogo. */
body.vfa-standalone-app .vfa-inline-section-head{
  display:flex;
  flex-direction:column;
  gap:5px;
  margin:10px 0 12px;
}
body.vfa-standalone-app .vfa-inline-section-head span,
body.vfa-standalone-app .vfa-section-kicker{
  display:block;
  color:var(--vfa-green)!important;
  font-size:12px!important;
  font-weight:700!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
}
body.vfa-standalone-app .vfa-inline-section-head h4,
body.vfa-standalone-app .vfa-payment-heading{
  margin:0!important;
  color:var(--vfa-text)!important;
  font-size:28px!important;
  line-height:1.1!important;
}

/* Griglia economica più separata e leggibile. */
body.vfa-standalone-app .vrr-summary-grid{
  margin-bottom:22px!important;
  padding:0!important;
}
body.vfa-standalone-app .vrr-summary-grid>div{
  min-height:98px!important;
  border-radius:16px!important;
  box-shadow:0 3px 10px rgba(17,57,39,.03);
}
body.vfa-standalone-app .vrr-summary-grid>div span{
  display:block;
  margin-bottom:8px;
}
body.vfa-standalone-app .vrr-summary-grid>div strong{
  font-size:17px!important;
  line-height:1.3!important;
}
body.vfa-standalone-app .vrr-summary-grid>div:last-child{
  box-shadow:0 12px 24px rgba(11,107,67,.15)!important;
}

/* Pagamenti come blocco distinto. */
body.vfa-standalone-app .vrr-payment-list.vfa-payment-list-upgraded{
  margin-top:10px!important;
  border:1px solid #cfe1d7!important;
  border-radius:18px!important;
  background:#fbfdfc!important;
  overflow:hidden!important;
}
body.vfa-standalone-app .vrr-payment-row{
  display:grid!important;
  grid-template-columns:minmax(0,1.2fr) auto auto auto!important;
  align-items:center!important;
  gap:14px!important;
  padding:20px 20px!important;
  background:#fff!important;
}
body.vfa-standalone-app .vrr-payment-row + .vrr-payment-row{
  border-top:1px solid var(--vfa-border)!important;
}
body.vfa-standalone-app .vrr-payment-row > div:first-child strong,
body.vfa-standalone-app .vrr-payment-row strong{
  font-size:18px!important;
}
body.vfa-standalone-app .vrr-payment-row p,
body.vfa-standalone-app .vrr-payment-row small{
  margin:6px 0 0!important;
  color:var(--vfa-muted)!important;
  font-size:14px!important;
}
body.vfa-standalone-app .vfa-method-label{
  font-weight:700!important;
  color:#5e6e65!important;
}
body.vfa-standalone-app .vfa-payment-action{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:42px!important;
  padding:10px 14px!important;
  border-radius:12px!important;
  font-size:14px!important;
  font-weight:700!important;
  text-decoration:none!important;
  white-space:nowrap;
  transition:.16s ease;
}
body.vfa-standalone-app .vfa-payment-action.is-proof{
  border:1px solid #c2d6cb!important;
  background:#eef5f1!important;
  color:#234435!important;
}
body.vfa-standalone-app .vfa-payment-action.is-proof:hover{
  background:#e4efe9!important;
}
body.vfa-standalone-app .vfa-payment-action.is-receipt{
  border:1px solid #0b6b43!important;
  background:#0b6b43!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(11,107,67,.18);
}
body.vfa-standalone-app .vfa-payment-action.is-receipt:hover{
  background:#095837!important;
}
body.vfa-standalone-app .vrr-payment-row .vrr-badge,
body.vfa-standalone-app .vrr-payment-row .vds-badge{
  justify-self:end!important;
}

/* Abbigliamento spostato sotto pagamento e reso più leggibile. */
body.vfa-standalone-app .vrr-family-clothing.vfa-clothing-block{
  margin-top:18px!important;
  padding:20px 22px!important;
  border:1px solid #d8e6df!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,#f8fcfa 0%,#f5faf7 100%)!important;
}
body.vfa-standalone-app .vrr-family-clothing-head{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:14px;
  margin-bottom:10px!important;
}
body.vfa-standalone-app .vrr-family-clothing-head h4{
  margin:4px 0 0!important;
  font-size:28px!important;
  line-height:1.12!important;
}
body.vfa-standalone-app .vrr-family-clothing p,
body.vfa-standalone-app .vrr-family-clothing li{
  font-size:16px!important;
  line-height:1.55!important;
}
body.vfa-standalone-app .vrr-family-clothing ul{
  margin:10px 0 0 18px!important;
}
body.vfa-standalone-app .vrr-family-clothing .vrr-badge{
  align-self:flex-start!important;
}

/* Spaziatura migliore tra aree interne alla card. */
body.vfa-standalone-app .vrr-card > h4,
body.vfa-standalone-app .vrr-card > .vfa-section-kicker,
body.vfa-standalone-app .vrr-card > .vfa-payment-heading{
  margin-top:18px!important;
}
body.vfa-standalone-app .vrr-card > .vfa-section-kicker + .vfa-payment-heading{
  margin-top:4px!important;
}

/* Mobile */
@media(max-width:980px){
  body.vfa-standalone-app .vrr-payment-row{
    grid-template-columns:1fr auto auto!important;
  }
  body.vfa-standalone-app .vrr-payment-row .vrr-badge,
  body.vfa-standalone-app .vrr-payment-row .vds-badge{
    grid-column:1/-1;
    justify-self:start!important;
  }
}
@media(max-width:720px){
  body.vfa-standalone-app .vfa-inline-section-head h4,
  body.vfa-standalone-app .vfa-payment-heading,
  body.vfa-standalone-app .vrr-family-clothing-head h4{
    font-size:22px!important;
  }
  body.vfa-standalone-app .vrr-payment-row{
    grid-template-columns:1fr!important;
    gap:10px!important;
    padding:16px!important;
  }
  body.vfa-standalone-app .vfa-payment-action{
    width:100%!important;
  }
}


/* ==========================================================
   0.4.4 — TITOLI OMOGENEI E ABBIGLIAMENTO ALLINEATO
   ========================================================== */

/* Nome dell'atleta più evidente. */
body.vfa-standalone-app .vrr-athlete-header h3.vfa-athlete-name-strong{
  font-weight:700!important;
  color:var(--vfa-text)!important;
}

/* Stessa dimensione per Riepilogo, Pagamenti e ricevute e Abbigliamento. */
body.vfa-standalone-app .vfa-unified-section-title,
body.vfa-standalone-app .vfa-inline-section-head h4.vfa-unified-section-title,
body.vfa-standalone-app .vfa-payment-heading.vfa-unified-section-title,
body.vfa-standalone-app .vrr-family-clothing-head h4.vfa-unified-section-title{
  margin:0!important;
  color:var(--vfa-text)!important;
  font-size:28px!important;
  font-weight:700!important;
  line-height:1.1!important;
  letter-spacing:-.025em!important;
  text-align:left!important;
}

/* Blocco abbigliamento allineato a sinistra, come le altre sezioni. */
body.vfa-standalone-app .vrr-family-clothing-head{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:18px!important;
  width:100%!important;
  margin-bottom:16px!important;
}
body.vfa-standalone-app .vfa-clothing-title-wrap{
  display:flex!important;
  flex:1 1 auto!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  min-width:0!important;
  text-align:left!important;
}
body.vfa-standalone-app .vfa-clothing-title-wrap .vfa-section-kicker{
  margin:0 0 6px!important;
  text-align:left!important;
}
body.vfa-standalone-app .vrr-family-clothing-head .vrr-badge,
body.vfa-standalone-app .vrr-family-clothing-head .vds-badge{
  flex:0 0 auto!important;
  margin:0!important;
  align-self:flex-start!important;
}

/* Spaziature identiche fra le tre sezioni. */
body.vfa-standalone-app .vfa-inline-section-head,
body.vfa-standalone-app .vfa-section-kicker + .vfa-payment-heading,
body.vfa-standalone-app .vrr-family-clothing-head{
  margin-top:0!important;
}
body.vfa-standalone-app .vfa-fee-head{
  margin-bottom:14px!important;
}
body.vfa-standalone-app .vfa-payment-heading{
  margin-bottom:12px!important;
}
body.vfa-standalone-app .vrr-family-clothing.vfa-clothing-block{
  margin-top:22px!important;
}

@media(max-width:720px){
  body.vfa-standalone-app .vfa-unified-section-title,
  body.vfa-standalone-app .vfa-inline-section-head h4.vfa-unified-section-title,
  body.vfa-standalone-app .vfa-payment-heading.vfa-unified-section-title,
  body.vfa-standalone-app .vrr-family-clothing-head h4.vfa-unified-section-title{
    font-size:23px!important;
  }
  body.vfa-standalone-app .vrr-family-clothing-head{
    flex-direction:column!important;
    gap:10px!important;
  }
}


/* ==========================================================
   0.4.5 — TITOLI COME "DOCUMENTI RICHIESTI"
   ========================================================== */

/* Testata standard: kicker verde + emoji Apple + titolo leggero. */
body.vfa-standalone-app .vfa-standard-section-head{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  width:100%!important;
  margin:26px 0 14px!important;
  text-align:left!important;
}
body.vfa-standalone-app .vfa-standard-kicker{
  display:block!important;
  margin:0 0 8px!important;
  color:var(--vfa-green)!important;
  font-size:12px!important;
  font-weight:700!important;
  letter-spacing:.17em!important;
  text-transform:uppercase!important;
}
body.vfa-standalone-app .vfa-standard-section-head h4{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  margin:0!important;
  color:var(--vfa-text)!important;
  font-size:clamp(30px,3vw,42px)!important;
  font-weight:400!important;
  line-height:1.1!important;
  letter-spacing:-.035em!important;
  text-align:left!important;
}
body.vfa-standalone-app .vfa-standard-emoji{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  width:auto!important;
  height:auto!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif!important;
  font-size:38px!important;
  line-height:1!important;
  filter:drop-shadow(0 3px 5px rgba(25,48,36,.09));
}

/* Disattiva i vecchi stili più pesanti dei titoli. */
body.vfa-standalone-app .vfa-inline-section-head,
body.vfa-standalone-app .vfa-payment-heading,
body.vfa-standalone-app .vfa-clothing-title-wrap{
  display:none!important;
}

/* Abbigliamento: titolo completamente fuori dal riquadro. */
body.vfa-standalone-app .vrr-family-clothing.vfa-clothing-block{
  position:relative!important;
  margin-top:0!important;
  padding:22px!important;
}
body.vfa-standalone-app .vrr-family-clothing-head.vfa-clothing-status-only{
  display:flex!important;
  justify-content:flex-end!important;
  align-items:flex-start!important;
  min-height:0!important;
  margin:0 0 8px!important;
  padding:0!important;
}
body.vfa-standalone-app .vrr-family-clothing-head.vfa-clothing-status-only:empty{
  display:none!important;
}
body.vfa-standalone-app .vrr-family-clothing-head.vfa-clothing-status-only .vrr-badge,
body.vfa-standalone-app .vrr-family-clothing-head.vfa-clothing-status-only .vds-badge{
  margin:0!important;
}

/* Spaziatura omogenea fra titolo e contenuto. */
body.vfa-standalone-app .vfa-standard-section-head + .vrr-summary-grid,
body.vfa-standalone-app .vfa-standard-section-head + .vrr-payment-list,
body.vfa-standalone-app .vfa-standard-section-head + .vrr-family-clothing{
  margin-top:0!important;
}

@media(max-width:720px){
  body.vfa-standalone-app .vfa-standard-section-head{
    margin-top:22px!important;
  }
  body.vfa-standalone-app .vfa-standard-section-head h4{
    gap:11px!important;
    font-size:30px!important;
  }
  body.vfa-standalone-app .vfa-standard-emoji{
    font-size:31px!important;
  }
}


/* ==========================================================
   0.4.6 — TITOLI PIÙ COMPATTI E SENZA SOTTOTITOLI VERDI
   ========================================================== */

/* Nasconde definitivamente le scritte piccole sopra i titoli. */
body.vfa-standalone-app .vfa-standard-kicker{
  display:none!important;
}

/* Titoli sezione leggermente più piccoli. */
body.vfa-standalone-app .vfa-standard-section-head{
  margin:24px 0 12px!important;
}
body.vfa-standalone-app .vfa-standard-section-head h4{
  gap:12px!important;
  font-size:clamp(27px,2.5vw,36px)!important;
  font-weight:400!important;
  line-height:1.1!important;
}
body.vfa-standalone-app .vfa-standard-emoji{
  font-size:33px!important;
}

/* Riduce leggermente anche il titolo principale verde. */
body.vfa-standalone-app .vrr-title h2{
  padding:12px 17px!important;
  font-size:clamp(23px,2.6vw,34px)!important;
  line-height:1.1!important;
}
body.vfa-standalone-app .vrr-title h2 svg{
  width:25px!important;
  height:25px!important;
}

@media(max-width:720px){
  body.vfa-standalone-app .vfa-standard-section-head h4{
    font-size:27px!important;
  }
  body.vfa-standalone-app .vfa-standard-emoji{
    font-size:29px!important;
  }
  body.vfa-standalone-app .vrr-title h2{
    font-size:25px!important;
  }
}


/* ==========================================================
   0.4.7 — FORM SENZA SOVRAPPOSIZIONI
   ========================================================== */
body.vfa-standalone-app .vrr-renewal-form,
body.vfa-standalone-app .vrr-renewal-form *,
body.vfa-standalone-app .vrr-form-grid,
body.vfa-standalone-app .vrr-form-grid *{
  box-sizing:border-box!important;
}
body.vfa-standalone-app .vrr-form-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  column-gap:20px!important;
  row-gap:17px!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
}
body.vfa-standalone-app .vrr-form-grid > label{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
}
body.vfa-standalone-app .vrr-form-grid input,
body.vfa-standalone-app .vrr-form-grid select,
body.vfa-standalone-app .vrr-form-grid textarea{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
}
body.vfa-standalone-app .vrr-step{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
}
body.vfa-standalone-app .vrr-step > .vrr-form-grid,
body.vfa-standalone-app .vrr-step > p,
body.vfa-standalone-app .vrr-step > div:not(.vrr-no-payment){
  padding-left:18px;
  padding-right:18px;
}

/* Pulsante finale a sinistra e in maiuscolo. */
body.vfa-standalone-app .vrr-renewal-form > .vrr-button.vfa-start-renewal-button{
  display:inline-flex!important;
  width:auto!important;
  min-width:190px!important;
  margin:20px auto 0 0!important;
  padding:12px 18px!important;
  float:none!important;
  text-transform:uppercase!important;
  letter-spacing:.065em!important;
  font-size:13px!important;
  font-weight:700!important;
}

/* ==========================================================
   0.4.7 — VISITA MEDICA E DOCUMENTI COME DUE AREE DISTINTE
   ========================================================== */
body.vfa-standalone-app .vds-athlete-panel.vfa-documents-layout{
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body.vfa-standalone-app .vds-athlete-title.vfa-documents-athlete-header{
  margin-bottom:28px!important;
  padding:20px 22px!important;
  border:1px solid var(--vfa-border)!important;
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:var(--vfa-shadow)!important;
}
body.vfa-standalone-app .vds-athlete-title.vfa-documents-athlete-header .vfa-title-icon{
  display:none!important;
}
body.vfa-standalone-app .vds-athlete-title.vfa-documents-athlete-header > div:first-child{
  display:block!important;
}
body.vfa-standalone-app .vds-athlete-title.vfa-documents-athlete-header h2{
  display:block!important;
  margin-top:5px!important;
  font-weight:700!important;
}

/* Titoli verdi uguali a "Rinnovi, pagamenti e ricevute". */
body.vfa-standalone-app .vfa-service-title{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:18px!important;
  width:100%!important;
  margin:0 0 14px!important;
}
body.vfa-standalone-app .vfa-service-title h2{
  display:inline-flex!important;
  align-items:center!important;
  gap:11px!important;
  width:max-content!important;
  max-width:100%!important;
  margin:0!important;
  padding:12px 17px!important;
  border-radius:14px!important;
  background:linear-gradient(135deg,var(--vfa-green),var(--vfa-green-2))!important;
  color:#fff!important;
  box-shadow:0 9px 22px rgba(11,107,67,.17)!important;
  font-size:clamp(23px,2.6vw,34px)!important;
  font-weight:400!important;
  line-height:1.1!important;
  letter-spacing:-.025em!important;
}
body.vfa-standalone-app .vfa-service-emoji{
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif!important;
  font-size:.95em!important;
  line-height:1!important;
}
body.vfa-standalone-app .vfa-service-title-help{
  align-self:center;
  max-width:470px;
  margin:0!important;
  color:var(--vfa-muted)!important;
  font-size:14px!important;
  text-align:right;
}

/* Le due caselle non condividono più il riquadro esterno. */
body.vfa-standalone-app .vds-medical-card.vfa-medical-separated-card{
  margin-bottom:30px!important;
  padding:22px!important;
  border-radius:20px!important;
  box-shadow:var(--vfa-shadow)!important;
}
body.vfa-standalone-app .vds-documents-card.vfa-documents-separated-card{
  margin-bottom:34px!important;
  padding:22px!important;
  border:1px solid var(--vfa-border)!important;
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:var(--vfa-shadow)!important;
}
body.vfa-standalone-app .vds-documents-card.vfa-documents-separated-card .vds-checklist{
  margin-top:0!important;
}

/* Mantiene i titoli ancorati correttamente allo scroll del menu rapido. */
body.vfa-standalone-app .vfa-medical-external-title,
body.vfa-standalone-app .vfa-documents-external-title{
  scroll-margin-top:95px;
}

/* Responsive */
@media(max-width:800px){
  body.vfa-standalone-app .vrr-form-grid{
    grid-template-columns:1fr!important;
    column-gap:0!important;
  }
  body.vfa-standalone-app .vfa-service-title{
    flex-direction:column!important;
    gap:8px!important;
  }
  body.vfa-standalone-app .vfa-service-title h2{
    width:100%!important;
    font-size:25px!important;
  }
  body.vfa-standalone-app .vfa-service-title-help{
    max-width:none;
    text-align:left;
  }
}


/* ==========================================================
   0.4.8 — ULTIME CORREZIONI AREA FAMIGLIE
   ========================================================== */

/* Elimina l'intestazione atleta con conteggio documenti approvati. */
body.vfa-standalone-app .vds-athlete-panel > .vds-athlete-title,
body.vfa-standalone-app .vds-athlete-title.vfa-documents-athlete-header{
  display:none!important;
}

/* Pulsante AVVIA RINNOVO allineato a destra. */
body.vfa-standalone-app .vrr-renewal-form > .vrr-button.vfa-start-renewal-button{
  display:flex!important;
  width:max-content!important;
  min-width:190px!important;
  margin:20px 0 0 auto!important;
}

/* Tendina Taglia coerente con gli altri campi. */
body.vfa-standalone-app .vrr-form-grid select[name="athlete_size"]{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  min-height:44px!important;
  padding:9px 40px 9px 12px!important;
  border:1px solid #cbdad2!important;
  border-radius:10px!important;
  background-color:#fff!important;
  color:var(--vfa-text)!important;
  font-size:14px!important;
  cursor:pointer;
}

/* Nota fiscale ben distinta, senza sembrare un errore. */
body.vfa-standalone-app .vrr-muted.vfa-tax-note{
  margin:16px 18px 18px!important;
  padding:14px 16px!important;
  border:1px solid #e5cf82!important;
  border-left:5px solid #d4a900!important;
  border-radius:12px!important;
  background:#fff9df!important;
  color:#564716!important;
  font-size:13px!important;
  line-height:1.55!important;
}
body.vfa-standalone-app .vrr-muted.vfa-tax-note strong{
  color:#3d330f!important;
}

@media(max-width:720px){
  body.vfa-standalone-app .vrr-renewal-form > .vrr-button.vfa-start-renewal-button{
    width:100%!important;
    margin-left:0!important;
  }
}


/* ==========================================================
   0.4.9 — TESTATA AREA FAMIGLIA PIÙ AMPIA
   ========================================================== */

/* Riquadro verde più alto e arioso. */
body.vfa-standalone-app .vds-family-top{
  min-height:290px!important;
  padding-top:44px!important;
  padding-bottom:92px!important;
}

/* Barra bianca più stretta del riquadro verde, ma ancora sovrapposta. */
body.vfa-standalone-app .vds-quick-nav{
  width:calc(100% - 64px)!important;
  max-width:1436px!important;
  margin-top:-52px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding:10px!important;
}

/* Desktop molto ampi: rientro leggermente maggiore. */
@media(min-width:1500px){
  body.vfa-standalone-app .vds-quick-nav{
    width:calc(100% - 88px)!important;
    max-width:1412px!important;
  }
}

/* Tablet: manteniamo un rientro visibile ma più contenuto. */
@media(max-width:900px){
  body.vfa-standalone-app .vds-family-top{
    min-height:270px!important;
    padding-top:36px!important;
    padding-bottom:82px!important;
  }
  body.vfa-standalone-app .vds-quick-nav{
    width:calc(100% - 34px)!important;
    margin-top:-47px!important;
  }
}

/* Smartphone: barra quasi piena ma mai attaccata ai bordi. */
@media(max-width:720px){
  body.vfa-standalone-app .vds-family-top{
    min-height:250px!important;
    padding:28px 20px 76px!important;
  }
  body.vfa-standalone-app .vds-quick-nav{
    width:calc(100% - 22px)!important;
    margin-top:-42px!important;
  }
}


/* ==========================================================
   0.5.0 — SELETTORE FIGLI / PROFILI ATLETA
   ========================================================== */
body.vfa-standalone-app .vfa-athlete-switcher{
  width:100%!important;
  max-width:1500px!important;
  margin:0 auto 30px!important;
  padding:20px!important;
  border:1px solid var(--vfa-border)!important;
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:var(--vfa-shadow)!important;
}
body.vfa-standalone-app .vfa-athlete-switcher-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:22px;
  margin-bottom:15px;
}
body.vfa-standalone-app .vfa-athlete-switcher-head>div>span{
  display:block;
  margin-bottom:5px;
  color:var(--vfa-green);
  font-size:11px;
  font-weight:700;
  letter-spacing:.16em;
}
body.vfa-standalone-app .vfa-athlete-switcher-head h2{
  margin:0!important;
  color:var(--vfa-text)!important;
  font-size:clamp(23px,2.3vw,32px)!important;
  font-weight:700!important;
  line-height:1.12!important;
  letter-spacing:-.025em!important;
}
body.vfa-standalone-app .vfa-athlete-switcher-head>small{
  max-width:430px;
  color:var(--vfa-muted);
  font-size:13px;
  line-height:1.45;
  text-align:right;
}
body.vfa-standalone-app .vfa-athlete-tabs{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:11px;
}
body.vfa-standalone-app .vfa-athlete-tab{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  width:100%;
  min-width:0;
  min-height:76px;
  padding:12px 14px;
  border:1px solid #d6e3dc;
  border-radius:15px;
  background:#f8fbf9;
  color:var(--vfa-text);
  text-align:left;
  cursor:pointer;
  transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease;
}
body.vfa-standalone-app .vfa-athlete-tab:hover{
  transform:translateY(-1px);
  border-color:#9fc9b1;
  background:#f2f9f5;
  box-shadow:0 7px 18px rgba(17,57,39,.07);
}
body.vfa-standalone-app .vfa-athlete-tab.is-active{
  border-color:var(--vfa-green);
  background:linear-gradient(135deg,var(--vfa-green),var(--vfa-green-2));
  color:#fff;
  box-shadow:0 10px 24px rgba(11,107,67,.18);
}
body.vfa-standalone-app .vfa-athlete-avatar{
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  border-radius:14px;
  background:#dff1e7;
  color:var(--vfa-green);
  font-size:15px;
  font-weight:700;
  letter-spacing:.04em;
}
body.vfa-standalone-app .vfa-athlete-tab.is-active .vfa-athlete-avatar{
  background:rgba(255,255,255,.18);
  color:#fff;
}
body.vfa-standalone-app .vfa-athlete-tab-copy{
  display:block;
  min-width:0;
}
body.vfa-standalone-app .vfa-athlete-tab-copy strong{
  display:block;
  overflow:hidden;
  color:inherit;
  font-size:16px;
  font-weight:700;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body.vfa-standalone-app .vfa-athlete-tab-copy small{
  display:block;
  margin-top:4px;
  font-size:11px;
  font-weight:700;
}
body.vfa-standalone-app .vfa-athlete-tab-copy small.is-complete{
  color:#267348;
}
body.vfa-standalone-app .vfa-athlete-tab-copy small.is-pending{
  color:#a85312;
}
body.vfa-standalone-app .vfa-athlete-tab.is-active .vfa-athlete-tab-copy small{
  color:rgba(255,255,255,.86);
}
body.vfa-standalone-app .vfa-athlete-tab-arrow{
  font-size:25px;
  font-weight:400;
  opacity:.65;
}
body.vfa-standalone-app .vfa-athlete-tab.is-active .vfa-athlete-tab-arrow{
  opacity:1;
}
body.vfa-standalone-app .vfa-athlete-hidden{
  display:none!important;
}

/* Mantiene le intestazioni generali, mostrando una sola scheda atleta alla volta. */
body.vfa-standalone-app.vfa-has-multiple-athletes .vrr-wrap,
body.vfa-standalone-app.vfa-has-multiple-athletes .vds-wrap{
  scroll-margin-top:90px;
}

@media(max-width:760px){
  body.vfa-standalone-app .vfa-athlete-switcher{
    padding:15px!important;
    border-radius:17px!important;
  }
  body.vfa-standalone-app .vfa-athlete-switcher-head{
    align-items:flex-start;
    flex-direction:column;
    gap:7px;
  }
  body.vfa-standalone-app .vfa-athlete-switcher-head>small{
    max-width:none;
    text-align:left;
  }
  body.vfa-standalone-app .vfa-athlete-tabs{
    display:flex;
    overflow-x:auto;
    gap:9px;
    padding-bottom:4px;
    scroll-snap-type:x proximity;
  }
  body.vfa-standalone-app .vfa-athlete-tab{
    flex:0 0 min(84vw,310px);
    scroll-snap-align:start;
  }
}


/* ==========================================================
   0.5.1 — RIQUADRI DI STATO OMOGENEI SOCIETÀ / FAMIGLIE
   Ordine: Atleti, Pagamenti, Visite, Documenti
   ========================================================== */
.vui-status-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
  width:100%!important;
}
.vui-status-card{
  position:relative!important;
  overflow:hidden!important;
  display:grid!important;
  grid-template-columns:58px minmax(0,1fr) 30px!important;
  grid-template-rows:auto auto!important;
  align-items:center!important;
  column-gap:14px!important;
  row-gap:10px!important;
  min-width:0!important;
  min-height:156px!important;
  padding:18px 18px 16px!important;
  border:1px solid var(--vsg-line,#d8e5dd)!important;
  border-radius:18px!important;
  background:#fff!important;
  color:var(--vsg-ink,#17231d)!important;
  text-decoration:none!important;
  box-shadow:0 8px 24px rgba(17,57,39,.055)!important;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease!important;
}
.vui-status-card:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 13px 30px rgba(17,57,39,.095)!important;
}
.vui-status-card.is-complete{
  border-color:#8fceaa!important;
  background:linear-gradient(135deg,#f8fdf9,#eef9f3)!important;
}
.vui-status-card.is-incomplete{
  border-color:#eda39e!important;
  background:linear-gradient(135deg,#fffafa,#fff1ef)!important;
}
.vui-status-emoji{
  grid-column:1!important;
  grid-row:1!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:58px!important;
  height:58px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif!important;
  font-size:46px!important;
  line-height:1!important;
  filter:drop-shadow(0 4px 6px rgba(22,44,33,.10));
}
.vui-status-copy{
  grid-column:2!important;
  grid-row:1!important;
  display:block!important;
  min-width:0!important;
}
.vui-status-title{
  display:block!important;
  color:#4f6157!important;
  font-size:14px!important;
  font-weight:700!important;
  line-height:1.25!important;
}
.vui-status-value{
  display:block!important;
  margin-top:4px!important;
  color:#17231d!important;
  font-size:31px!important;
  font-weight:700!important;
  line-height:1!important;
  letter-spacing:-.035em!important;
}
.vui-status-state{
  display:block!important;
  margin-top:7px!important;
  font-size:12px!important;
  font-weight:700!important;
  line-height:1.2!important;
}
.vui-status-card.is-complete .vui-status-state{color:#267348!important}
.vui-status-card.is-incomplete .vui-status-state{color:#a33c35!important}
.vui-status-mark{
  grid-column:3!important;
  grid-row:1!important;
  align-self:start!important;
  justify-self:end!important;
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif!important;
  font-size:21px!important;
  line-height:1!important;
}
.vui-status-detail{
  grid-column:1/-1!important;
  grid-row:2!important;
  display:block!important;
  padding-top:10px!important;
  border-top:1px solid rgba(94,124,106,.16)!important;
  color:#66776d!important;
  font-size:11px!important;
  font-weight:700!important;
  line-height:1.35!important;
}
.vui-status-card.is-incomplete .vui-status-detail{
  border-top-color:rgba(163,60,53,.14)!important;
  color:#8e4b46!important;
}
body.vsg-area-societa-page .vsg-stats.vui-status-grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
body.vsg-area-societa-page .vui-status-card{
  min-height:168px!important;
}
@media(max-width:1150px){
  .vui-status-grid,
  body.vsg-area-societa-page .vsg-stats.vui-status-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:620px){
  .vui-status-grid,
  body.vsg-area-societa-page .vsg-stats.vui-status-grid{
    grid-template-columns:1fr!important;
  }
  .vui-status-card{
    min-height:132px!important;
  }
}


/* ==========================================================
   0.5.2 — AREA SOCIETÀ: RIPRISTINO DEI 7 RIQUADRI ORIGINALI
   con lo stile verde/rosso ed emoji della versione 0.5.1
   ========================================================== */
body.vsg-area-societa-page .vsg-stats.vui-status-grid.vui-society-status-grid{
  grid-template-columns:repeat(7,minmax(0,1fr))!important;
  gap:12px!important;
}
body.vsg-area-societa-page .vui-society-status-grid .vui-status-card{
  grid-template-columns:44px minmax(0,1fr) 22px!important;
  min-height:178px!important;
  padding:15px 13px 13px!important;
  column-gap:10px!important;
}
body.vsg-area-societa-page .vui-society-status-grid .vui-status-emoji{
  width:44px!important;
  height:44px!important;
  font-size:36px!important;
}
body.vsg-area-societa-page .vui-society-status-grid .vui-status-title{
  font-size:12px!important;
}
body.vsg-area-societa-page .vui-society-status-grid .vui-status-value{
  font-size:29px!important;
}
body.vsg-area-societa-page .vui-society-status-grid .vui-status-state{
  font-size:10px!important;
}
body.vsg-area-societa-page .vui-society-status-grid .vui-status-mark{
  font-size:17px!important;
}
body.vsg-area-societa-page .vui-society-status-grid .vui-status-detail{
  font-size:10px!important;
}

@media(max-width:1650px){
  body.vsg-area-societa-page .vsg-stats.vui-status-grid.vui-society-status-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
}
@media(max-width:1080px){
  body.vsg-area-societa-page .vsg-stats.vui-status-grid.vui-society-status-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:620px){
  body.vsg-area-societa-page .vsg-stats.vui-status-grid.vui-society-status-grid{
    grid-template-columns:1fr!important;
  }
  body.vsg-area-societa-page .vui-society-status-grid .vui-status-card{
    min-height:140px!important;
  }
}


/* ==========================================================
   0.5.4 — ANCORAGGI DEL MENU RAPIDO
   ========================================================== */
body.vfa-standalone-app .vrr-title,
body.vfa-standalone-app .vfa-medical-external-title,
body.vfa-standalone-app .vfa-documents-external-title,
body.vfa-standalone-app .vds-medical-card,
body.vfa-standalone-app .vds-documents-card{
  scroll-margin-top:120px!important;
}


/* ==========================================================
   0.5.5 — PULSANTI DOCUMENTI
   ========================================================== */

/* Scarica: stesso stile outline del precedente Sostituisci. */
body.vfa-standalone-app .vds-check-row .vfa-document-download,
body.vfa-standalone-app .vds-row-actions .vfa-document-download{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:42px!important;
  padding:9px 14px!important;
  border:1px solid #a9cbb9!important;
  border-radius:10px!important;
  background:#fff!important;
  color:var(--vfa-green)!important;
  font-size:14px!important;
  font-weight:700!important;
  line-height:1!important;
  text-decoration:none!important;
  box-shadow:none!important;
}
body.vfa-standalone-app .vds-check-row .vfa-document-download:hover,
body.vfa-standalone-app .vds-row-actions .vfa-document-download:hover{
  border-color:var(--vfa-green)!important;
  background:#f2f8f5!important;
  color:var(--vfa-green)!important;
}

/* Sostituisci: pulsante principale con sfondo verde. */
body.vfa-standalone-app .vds-check-row .vfa-document-replace,
body.vfa-standalone-app .vds-row-actions .vfa-document-replace{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:42px!important;
  padding:9px 14px!important;
  border:1px solid var(--vfa-green)!important;
  border-radius:10px!important;
  background:var(--vfa-green)!important;
  color:#fff!important;
  font-size:14px!important;
  font-weight:700!important;
  line-height:1!important;
  text-decoration:none!important;
  box-shadow:0 7px 16px rgba(11,107,67,.16)!important;
}
body.vfa-standalone-app .vds-check-row .vfa-document-replace:hover,
body.vfa-standalone-app .vds-row-actions .vfa-document-replace:hover{
  border-color:#095837!important;
  background:#095837!important;
  color:#fff!important;
}


/* ==========================================================
   0.5.6 — GERARCHIA PULSANTI DOCUMENTI
   Scarica = outline; Carica/Sostituisci = verde pieno
   ========================================================== */

/* Scarica: azione secondaria. */
body.vfa-standalone-app .vds-check-row .vfa-document-download,
body.vfa-standalone-app .vds-row-actions .vfa-document-download{
  border:1px solid #a9cbb9!important;
  background:#fff!important;
  color:var(--vfa-green)!important;
  box-shadow:none!important;
}

/* Carica e Sostituisci: azioni principali. */
body.vfa-standalone-app .vds-check-row .vfa-document-upload,
body.vfa-standalone-app .vds-row-actions .vfa-document-upload,
body.vfa-standalone-app .vds-check-row .vfa-document-replace,
body.vfa-standalone-app .vds-row-actions .vfa-document-replace{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:42px!important;
  padding:9px 14px!important;
  border:1px solid var(--vfa-green)!important;
  border-radius:10px!important;
  background:var(--vfa-green)!important;
  color:#fff!important;
  font-size:14px!important;
  font-weight:700!important;
  line-height:1!important;
  text-decoration:none!important;
  box-shadow:0 7px 16px rgba(11,107,67,.16)!important;
}

body.vfa-standalone-app .vds-check-row .vfa-document-upload:hover,
body.vfa-standalone-app .vds-row-actions .vfa-document-upload:hover,
body.vfa-standalone-app .vds-check-row .vfa-document-replace:hover,
body.vfa-standalone-app .vds-row-actions .vfa-document-replace:hover{
  border-color:#095837!important;
  background:#095837!important;
  color:#fff!important;
}


/* ==========================================================
   0.5.7 — OVERRIDE DEFINITIVO PULSANTI DOCUMENTI
   ========================================================== */
body.vfa-standalone-app .vfa-document-download{
  border:1px solid #a9cbb9!important;
  background:#fff!important;
  background-color:#fff!important;
  color:#0b6b43!important;
  box-shadow:none!important;
}

body.vfa-standalone-app .vfa-document-upload,
body.vfa-standalone-app .vfa-document-replace{
  border:1px solid #0b6b43!important;
  background:#0b6b43!important;
  background-color:#0b6b43!important;
  color:#fff!important;
  box-shadow:0 7px 16px rgba(11,107,67,.16)!important;
}

body.vfa-standalone-app .vfa-document-upload:hover,
body.vfa-standalone-app .vfa-document-replace:hover{
  border-color:#095837!important;
  background:#095837!important;
  background-color:#095837!important;
  color:#fff!important;
}


/* ==========================================================
   0.5.8 — STATO TESSERAMENTO NELL’AREA FAMIGLIE
   ========================================================== */
body.vfa-standalone-app .vfa-tesseramento-family-status{
  display:flex!important;
  align-items:center!important;
  gap:13px!important;
  margin:-7px 0 20px!important;
  padding:14px 17px!important;
  border:1px solid #d7e4dd!important;
  border-radius:14px!important;
}
body.vfa-standalone-app .vfa-tesseramento-family-status.is-approved{
  border-color:#96cbaa!important;
  background:#eef9f3!important;
}
body.vfa-standalone-app .vfa-tesseramento-family-status.is-pending{
  border-color:#e4d5a0!important;
  background:#fff9e7!important;
}
body.vfa-standalone-app .vfa-tesseramento-family-icon{
  flex:0 0 auto!important;
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif!important;
  font-size:27px!important;
}
body.vfa-standalone-app .vfa-tesseramento-family-status span:last-child{
  min-width:0!important;
}
body.vfa-standalone-app .vfa-tesseramento-family-status small,
body.vfa-standalone-app .vfa-tesseramento-family-status strong,
body.vfa-standalone-app .vfa-tesseramento-family-status em{
  display:block!important;
}
body.vfa-standalone-app .vfa-tesseramento-family-status small{
  color:#0b6b43!important;
  font-size:10px!important;
  font-weight:700!important;
  letter-spacing:.13em!important;
}
body.vfa-standalone-app .vfa-tesseramento-family-status strong{
  margin-top:2px!important;
  color:#1d2c24!important;
  font-size:15px!important;
}
body.vfa-standalone-app .vfa-tesseramento-family-status em{
  margin-top:3px!important;
  color:#68776f!important;
  font-size:12px!important;
  font-style:normal!important;
}


/* ==========================================================
   0.5.9 — FOTOTESSERA ATLETA / AREA FAMIGLIE
   ========================================================== */
body.vfa-standalone-app .vfa-photo-feedback{
  width:100%!important;
  max-width:1500px!important;
  margin:0 auto 20px!important;
  padding:13px 16px!important;
  border-radius:12px!important;
  font-size:13px!important;
  font-weight:700!important;
}
body.vfa-standalone-app .vfa-photo-feedback.is-success{
  border:1px solid #99cdae!important;
  background:#eef9f3!important;
  color:#17623d!important;
}
body.vfa-standalone-app .vfa-photo-feedback.is-error{
  border:1px solid #e6aaa5!important;
  background:#fff1ef!important;
  color:#9c332d!important;
}
.vfa-photo-staging{display:none!important}

body.vfa-standalone-app .vfa-photo-family-card{
  margin:0 0 22px!important;
  padding:20px!important;
  border:1px solid var(--vfa-border)!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,#fbfdfc,#f5faf7)!important;
}
body.vfa-standalone-app .vfa-photo-family-heading{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:16px!important;
  margin-bottom:16px!important;
}
body.vfa-standalone-app .vfa-photo-kicker{
  display:block!important;
  margin-bottom:5px!important;
  color:var(--vfa-green)!important;
  font-size:10px!important;
  font-weight:700!important;
  letter-spacing:.15em!important;
}
body.vfa-standalone-app .vfa-photo-family-heading h4{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  margin:0!important;
  color:var(--vfa-text)!important;
  font-size:24px!important;
  font-weight:500!important;
  line-height:1.15!important;
}
body.vfa-standalone-app .vfa-photo-family-heading h4>span{
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif!important;
}
body.vfa-standalone-app .vfa-photo-family-body{
  display:grid!important;
  grid-template-columns:150px minmax(0,1fr)!important;
  gap:20px!important;
  align-items:start!important;
}
body.vfa-standalone-app .vfa-photo-preview{
  display:grid!important;
  place-items:center!important;
  width:150px!important;
  aspect-ratio:3/4!important;
  overflow:hidden!important;
  border:1px solid #ccdcd3!important;
  border-radius:15px!important;
  background:#eaf3ee!important;
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif!important;
  font-size:58px!important;
}
body.vfa-standalone-app .vfa-photo-preview img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
body.vfa-standalone-app .vfa-photo-family-copy>strong{
  display:block!important;
  color:var(--vfa-text)!important;
  font-size:17px!important;
}
body.vfa-standalone-app .vfa-photo-family-copy>p{
  margin:6px 0 12px!important;
  color:var(--vfa-muted)!important;
  font-size:13px!important;
  line-height:1.5!important;
}
body.vfa-standalone-app .vfa-photo-info{
  margin-bottom:13px!important;
  padding:10px 12px!important;
  border-radius:10px!important;
  font-size:12px!important;
  line-height:1.45!important;
}
body.vfa-standalone-app .vfa-photo-info.is-pending{
  border:1px solid #ead28c!important;
  background:#fff9e5!important;
  color:#6d5816!important;
}
body.vfa-standalone-app .vfa-photo-info.is-approved{
  border:1px solid #9bceb0!important;
  background:#edf9f2!important;
  color:#216c45!important;
}
body.vfa-standalone-app .vfa-photo-info.is-correction{
  border:1px solid #e7a9a4!important;
  background:#fff1ef!important;
  color:#963a34!important;
}
body.vfa-standalone-app .vfa-photo-upload-form{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:10px!important;
  align-items:end!important;
}
body.vfa-standalone-app .vfa-photo-upload-form label{
  display:block!important;
  min-width:0!important;
}
body.vfa-standalone-app .vfa-photo-upload-form label>span{
  display:block!important;
  margin-bottom:5px!important;
  color:#43534a!important;
  font-size:11px!important;
  font-weight:700!important;
}
body.vfa-standalone-app .vfa-photo-upload-form input[type="file"]{
  display:block!important;
  width:100%!important;
  min-height:44px!important;
  padding:8px!important;
  border:1px solid #cbdad2!important;
  border-radius:10px!important;
  background:#fff!important;
  font-size:12px!important;
}
body.vfa-standalone-app .vfa-photo-submit{
  min-height:44px!important;
  white-space:nowrap!important;
}
body.vfa-standalone-app .vfa-photo-download{
  display:inline-flex!important;
  margin-top:10px!important;
  color:var(--vfa-green)!important;
  font-size:12px!important;
  font-weight:700!important;
  text-decoration:none!important;
}
body.vfa-standalone-app .vfa-photo-download:hover{
  text-decoration:underline!important;
}
@media(max-width:720px){
  body.vfa-standalone-app .vfa-photo-family-body{
    grid-template-columns:1fr!important;
  }
  body.vfa-standalone-app .vfa-photo-preview{
    width:130px!important;
  }
  body.vfa-standalone-app .vfa-photo-upload-form{
    grid-template-columns:1fr!important;
  }
  body.vfa-standalone-app .vfa-photo-submit{
    width:100%!important;
  }
}


/* ==========================================================
   0.6.2 — ORDINE ABBIGLIAMENTO A SCHEDE
   ========================================================== */
body.vfa-standalone-app .vrr-family-clothing.vfa-clothing-order-upgraded{
  padding:22px!important;
}
body.vfa-standalone-app .vfa-clothing-old-size,
body.vfa-standalone-app .vfa-clothing-original-list{
  display:none!important;
}
body.vfa-standalone-app .vfa-clothing-order-summary{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:11px!important;
  margin-bottom:16px!important;
}
body.vfa-standalone-app .vfa-clothing-summary-item{
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr)!important;
  align-items:center!important;
  gap:11px!important;
  padding:12px 14px!important;
  border:1px solid #d8e6de!important;
  border-radius:13px!important;
  background:#fff!important;
}
body.vfa-standalone-app .vfa-clothing-summary-icon{
  display:grid!important;
  place-items:center!important;
  width:42px!important;
  height:42px!important;
  border-radius:12px!important;
  background:#e4f3ea!important;
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif!important;
  font-size:22px!important;
}
body.vfa-standalone-app .vfa-clothing-summary-item small,
body.vfa-standalone-app .vfa-clothing-summary-item strong{
  display:block!important;
}
body.vfa-standalone-app .vfa-clothing-summary-item small{
  color:#0b6b43!important;
  font-size:9px!important;
  font-weight:700!important;
  letter-spacing:.14em!important;
}
body.vfa-standalone-app .vfa-clothing-summary-item strong{
  margin-top:3px!important;
  color:#203128!important;
  font-size:15px!important;
}
body.vfa-standalone-app .vfa-clothing-products{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:11px!important;
}
body.vfa-standalone-app .vfa-clothing-product{
  display:grid!important;
  grid-template-columns:48px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:11px!important;
  min-width:0!important;
  min-height:78px!important;
  padding:13px!important;
  border:1px solid #d8e5dd!important;
  border-radius:14px!important;
  background:linear-gradient(180deg,#fff,#f9fcfa)!important;
  box-shadow:0 5px 14px rgba(18,54,38,.035)!important;
}
body.vfa-standalone-app .vfa-clothing-product-icon{
  display:grid!important;
  place-items:center!important;
  width:48px!important;
  height:48px!important;
  border-radius:13px!important;
  background:#e7f4ec!important;
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif!important;
  font-size:27px!important;
}
body.vfa-standalone-app .vfa-clothing-product-copy{
  display:block!important;
  min-width:0!important;
}
body.vfa-standalone-app .vfa-clothing-product-copy strong,
body.vfa-standalone-app .vfa-clothing-product-copy small{
  display:block!important;
}
body.vfa-standalone-app .vfa-clothing-product-copy strong{
  overflow:hidden!important;
  color:#203028!important;
  font-size:13px!important;
  font-weight:700!important;
  line-height:1.25!important;
  text-overflow:ellipsis!important;
}
body.vfa-standalone-app .vfa-clothing-product-copy small{
  margin-top:4px!important;
  color:#7a8880!important;
  font-size:9px!important;
  font-weight:700!important;
}
body.vfa-standalone-app .vfa-clothing-product-qty{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:42px!important;
  min-height:32px!important;
  padding:5px 9px!important;
  border-radius:999px!important;
  background:#0b6b43!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:700!important;
  white-space:nowrap!important;
}
body.vfa-standalone-app .vrr-clothing-delivered{
  margin:15px 0 0!important;
  padding:11px 13px!important;
  border:1px solid #9dccb0!important;
  border-radius:11px!important;
  background:#edf8f2!important;
}

@media(max-width:1050px){
  body.vfa-standalone-app .vfa-clothing-products{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:650px){
  body.vfa-standalone-app .vfa-clothing-order-summary,
  body.vfa-standalone-app .vfa-clothing-products{
    grid-template-columns:1fr!important;
  }
}


/* ==========================================================
   0.6.4 — MANCANTE / DA PREPARARE SEMPRE IN ROSSO
   ========================================================== */
body.vfa-standalone-app .vfa-critical-status-badge{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:34px!important;
  padding:7px 12px!important;
  border:1px solid #efb6b2!important;
  border-radius:999px!important;
  background:#fbd9d9!important;
  background-color:#fbd9d9!important;
  color:#962f2f!important;
  font-size:12px!important;
  font-weight:700!important;
  line-height:1!important;
  letter-spacing:0!important;
  box-shadow:none!important;
  text-transform:none!important;
}

/* La barra interna ora contiene sei voci dopo la rimozione di Cronologia. */
body.vsg-area-societa-page .vsg-detail-nav-modern{
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
}
@media(max-width:1500px){
  body.vsg-area-societa-page .vsg-detail-nav-modern{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media(max-width:760px){
  body.vsg-area-societa-page .vsg-detail-nav-modern{
    display:flex!important;
  }
}


/* ==========================================================
   0.7.0 — DOCUMENTI PRIVACY NELL’AREA FAMIGLIE
   ========================================================== */
body.vfa-standalone-app .vfa-privacy-family-section{margin:28px 0 0!important;padding:24px!important;border:1px solid #cfe1d7!important;border-radius:20px!important;background:linear-gradient(145deg,#fff,#f0f8f4)!important;box-shadow:0 8px 24px rgba(17,57,39,.05)!important}
body.vfa-standalone-app .vfa-privacy-family-title>span{display:block!important;margin-bottom:5px!important;color:#0b6b43!important;font-size:10px!important;font-weight:700!important;letter-spacing:.16em!important}
body.vfa-standalone-app .vfa-privacy-family-title h2{margin:0!important;color:#17271f!important;font-size:28px!important;letter-spacing:-.03em!important}
body.vfa-standalone-app .vfa-privacy-family-title p{margin:7px 0 18px!important;color:#718078!important;font-size:12px!important}
body.vfa-standalone-app .vfa-privacy-family-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
body.vfa-standalone-app .vfa-privacy-family-grid>a{display:grid!important;grid-template-columns:52px minmax(0,1fr) auto!important;align-items:center!important;gap:13px!important;padding:15px!important;border:1px solid #cfe0d6!important;border-radius:15px!important;background:#fff!important;color:#1c3025!important;text-decoration:none!important}
body.vfa-standalone-app .vfa-privacy-family-grid>a>span:first-child{display:grid!important;place-items:center!important;width:52px!important;height:52px!important;border-radius:14px!important;background:#e2f2e8!important;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif!important;font-size:28px!important}
body.vfa-standalone-app .vfa-privacy-family-grid strong,body.vfa-standalone-app .vfa-privacy-family-grid small{display:block!important}
body.vfa-standalone-app .vfa-privacy-family-grid strong{font-size:14px!important}
body.vfa-standalone-app .vfa-privacy-family-grid small{margin-top:4px!important;color:#738078!important;font-size:10px!important}
body.vfa-standalone-app .vfa-privacy-family-grid b{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:36px!important;padding:7px 11px!important;border-radius:10px!important;background:#0b6b43!important;color:#fff!important;font-size:10px!important;white-space:nowrap!important}
body.vfa-standalone-app .vfa-privacy-contact{margin:15px 0 0!important;color:#718078!important;font-size:10px!important;text-align:right!important}
@media(max-width:700px){body.vfa-standalone-app .vfa-privacy-family-grid{grid-template-columns:1fr!important}body.vfa-standalone-app .vfa-privacy-family-grid>a{grid-template-columns:48px minmax(0,1fr)!important}body.vfa-standalone-app .vfa-privacy-family-grid b{grid-column:1/-1!important;width:100%!important}}


/* ==========================================================
   1.3.1 — FOOTER PROPRIETARIO DEL GESTIONALE
   ========================================================== */
.valve-proprietary-footer{
  width:100%!important;
  margin:30px 0 0!important;
  padding:0 24px 28px!important;
  color:#627169!important;
  font-family:"Poppins",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important;
  text-align:center!important;
}
.valve-proprietary-footer__inner{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px 12px!important;
  width:100%!important;
  max-width:1500px!important;
  margin:0 auto!important;
  padding:17px 20px!important;
  border:1px solid #d7e3dc!important;
  border-radius:15px!important;
  background:rgba(255,255,255,.82)!important;
  box-shadow:0 6px 18px rgba(18,54,38,.045)!important;
  backdrop-filter:blur(8px)!important;
}
.valve-proprietary-footer strong{
  color:#0b6b43!important;
  font-weight:700!important;
}
.valve-proprietary-footer span{
  font-size:11px!important;
  line-height:1.45!important;
}
.valve-proprietary-footer small{
  flex:0 0 100%!important;
  display:block!important;
  margin-top:2px!important;
  color:#7c8982!important;
  font-size:9px!important;
  line-height:1.45!important;
}
body.vfa-login-page .valve-proprietary-footer{
  max-width:1560px!important;
  margin:20px auto 0!important;
  padding:0 30px 34px!important;
}
body.vfa-login-page .valve-proprietary-footer__inner{
  background:rgba(255,255,255,.74)!important;
}
@media(max-width:620px){
  .valve-proprietary-footer{
    padding:0 10px 20px!important;
  }
  .valve-proprietary-footer__inner{
    align-items:center!important;
    flex-direction:column!important;
    gap:4px!important;
    padding:14px 13px!important;
  }
  .valve-proprietary-footer span,
  .valve-proprietary-footer small{
    font-size:9px!important;
  }
  body.vfa-login-page .valve-proprietary-footer{
    padding:0 10px 24px!important;
  }
}


/* ==========================================================
   1.3.2 — FOOTER AUTORE E LICENZA D’USO
   ========================================================== */
.valve-proprietary-footer{
  width:100%!important;
  margin:34px 0 0!important;
  padding:0 24px 30px!important;
  font-family:"Poppins",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important;
}
.valve-proprietary-footer__inner{
  position:relative!important;
  isolation:isolate!important;
  display:grid!important;
  grid-template-columns:minmax(300px,1.25fr) minmax(245px,.82fr) minmax(280px,.95fr)!important;
  gap:14px!important;
  width:100%!important;
  max-width:1500px!important;
  margin:0 auto!important;
  padding:18px!important;
  overflow:hidden!important;
  border:1px solid rgba(255,255,255,.18)!important;
  border-radius:22px!important;
  background:
    radial-gradient(circle at 10% 5%,rgba(255,255,255,.13),transparent 28%),
    radial-gradient(circle at 92% 105%,rgba(224,187,51,.17),transparent 31%),
    linear-gradient(135deg,#06452f 0%,#09613e 52%,#0d7d4e 100%)!important;
  box-shadow:0 17px 42px rgba(10,67,43,.18)!important;
  color:#fff!important;
}
.valve-proprietary-footer__inner:before{
  content:""!important;
  position:absolute!important;
  z-index:-1!important;
  top:-74px!important;
  right:18%!important;
  width:180px!important;
  height:180px!important;
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:50%!important;
}
.valve-proprietary-footer__brand,
.valve-proprietary-footer__author,
.valve-proprietary-footer__license{
  position:relative!important;
  z-index:1!important;
  min-width:0!important;
  border:1px solid rgba(255,255,255,.15)!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.085)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07)!important;
  backdrop-filter:blur(8px)!important;
}
.valve-proprietary-footer__brand{
  display:grid!important;
  grid-template-columns:68px minmax(0,1fr)!important;
  align-items:center!important;
  gap:15px!important;
  padding:16px!important;
}
.valve-proprietary-footer__logo{
  display:grid!important;
  place-items:center!important;
  width:68px!important;
  height:68px!important;
  padding:6px!important;
  overflow:hidden!important;
  border:1px solid rgba(255,255,255,.56)!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 9px 22px rgba(0,0,0,.14)!important;
}
.valve-proprietary-footer__logo img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
}
.valve-proprietary-footer__brand-copy,
.valve-proprietary-footer__author,
.valve-proprietary-footer__license{
  min-width:0!important;
}
.valve-proprietary-footer__author,
.valve-proprietary-footer__license{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  padding:16px 17px!important;
}
.valve-proprietary-footer__eyebrow{
  display:block!important;
  margin:0 0 5px!important;
  color:#bfe8d1!important;
  font-size:8px!important;
  font-weight:700!important;
  line-height:1.2!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
}
.valve-proprietary-footer__brand strong,
.valve-proprietary-footer__author strong,
.valve-proprietary-footer__license strong{
  display:block!important;
  margin:0!important;
  color:#fff!important;
  font-size:14px!important;
  font-weight:700!important;
  line-height:1.25!important;
}
.valve-proprietary-footer__brand small,
.valve-proprietary-footer__author small,
.valve-proprietary-footer__license small{
  display:block!important;
  margin:6px 0 0!important;
  color:rgba(255,255,255,.73)!important;
  font-size:9px!important;
  line-height:1.48!important;
}
.valve-proprietary-footer__license-top{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  margin:0 0 7px!important;
}
.valve-proprietary-footer__license-badge,
.valve-proprietary-footer__version{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:26px!important;
  padding:5px 9px!important;
  border-radius:999px!important;
  font-size:8px!important;
  font-weight:700!important;
  letter-spacing:.11em!important;
  white-space:nowrap!important;
}
.valve-proprietary-footer__license-badge{
  border:1px solid rgba(232,201,73,.56)!important;
  background:rgba(232,201,73,.16)!important;
  color:#fff0a7!important;
}
.valve-proprietary-footer__version{
  border:1px solid rgba(255,255,255,.18)!important;
  background:rgba(255,255,255,.10)!important;
  color:#fff!important;
  letter-spacing:0!important;
}
.valve-proprietary-footer__legal{
  width:100%!important;
  max-width:1450px!important;
  margin:9px auto 0!important;
  padding:0 16px!important;
  color:#7a8880!important;
  font-size:8px!important;
  line-height:1.45!important;
  text-align:center!important;
}
body.vfa-login-page .valve-proprietary-footer{
  max-width:1560px!important;
  margin:22px auto 0!important;
  padding:0 30px 34px!important;
}
@media(max-width:1100px){
  .valve-proprietary-footer__inner{
    grid-template-columns:1fr 1fr!important;
  }
  .valve-proprietary-footer__brand{
    grid-column:1/-1!important;
  }
}
@media(max-width:680px){
  .valve-proprietary-footer{
    padding:0 10px 22px!important;
  }
  .valve-proprietary-footer__inner{
    grid-template-columns:1fr!important;
    gap:10px!important;
    padding:11px!important;
    border-radius:18px!important;
  }
  .valve-proprietary-footer__brand{
    grid-column:auto!important;
    grid-template-columns:54px minmax(0,1fr)!important;
    gap:12px!important;
    padding:13px!important;
  }
  .valve-proprietary-footer__logo{
    width:54px!important;
    height:54px!important;
    border-radius:14px!important;
  }
  .valve-proprietary-footer__author,
  .valve-proprietary-footer__license{
    padding:13px 14px!important;
  }
  .valve-proprietary-footer__brand strong,
  .valve-proprietary-footer__author strong,
  .valve-proprietary-footer__license strong{
    font-size:12px!important;
  }
  .valve-proprietary-footer__legal{
    padding:0 5px!important;
    font-size:7px!important;
  }
  body.vfa-login-page .valve-proprietary-footer{
    padding:0 10px 24px!important;
  }
}


/* ==========================================================
   1.3.3 — FOOTER AUTORE SOBRIO
   ========================================================== */
.valve-proprietary-footer{
  width:100%!important;
  margin:28px 0 0!important;
  padding:0 24px 24px!important;
  font-family:"Poppins",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important;
}
.valve-proprietary-footer__inner{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:20px!important;
  width:100%!important;
  max-width:1460px!important;
  margin:0 auto!important;
  padding:12px 15px!important;
  overflow:visible!important;
  border:1px solid #d9e4de!important;
  border-radius:13px!important;
  background:#f8fbf9!important;
  background-image:none!important;
  box-shadow:none!important;
  color:#26362d!important;
}
.valve-proprietary-footer__inner:before{
  display:none!important;
  content:none!important;
}
.valve-proprietary-footer__compact-main{
  display:flex!important;
  align-items:center!important;
  gap:11px!important;
  min-width:0!important;
}
.valve-proprietary-footer__compact-logo{
  display:block!important;
  flex:0 0 auto!important;
  width:37px!important;
  height:37px!important;
  padding:2px!important;
  border:0!important;
  border-radius:8px!important;
  background:#fff!important;
  object-fit:contain!important;
}
.valve-proprietary-footer__compact-copy{
  min-width:0!important;
}
.valve-proprietary-footer__compact-copy strong,
.valve-proprietary-footer__compact-copy span{
  display:block!important;
  margin:0!important;
}
.valve-proprietary-footer__compact-copy strong{
  color:#173126!important;
  font-size:12px!important;
  font-weight:700!important;
  line-height:1.25!important;
}
.valve-proprietary-footer__compact-copy span{
  margin-top:3px!important;
  color:#6b7971!important;
  font-size:9px!important;
  line-height:1.35!important;
}
.valve-proprietary-footer__compact-copy b{
  color:#0b6b43!important;
  font-weight:700!important;
}
.valve-proprietary-footer__compact-meta{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  flex:0 0 auto!important;
  color:#68766e!important;
  font-size:9px!important;
  line-height:1.3!important;
  white-space:nowrap!important;
}
.valve-proprietary-footer__compact-meta small{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:25px!important;
  margin:0!important;
  padding:4px 8px!important;
  border:1px solid #cadbd1!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#0b6b43!important;
  font-size:8px!important;
  font-weight:700!important;
}
.valve-proprietary-footer__legal{
  width:100%!important;
  max-width:1420px!important;
  margin:7px auto 0!important;
  padding:0 10px!important;
  color:#8a958f!important;
  font-size:7px!important;
  line-height:1.4!important;
  text-align:center!important;
}
body.vfa-login-page .valve-proprietary-footer{
  max-width:1560px!important;
  margin:18px auto 0!important;
  padding:0 30px 28px!important;
}
@media(max-width:760px){
  .valve-proprietary-footer{
    padding:0 10px 20px!important;
  }
  .valve-proprietary-footer__inner{
    align-items:flex-start!important;
    flex-direction:column!important;
    gap:9px!important;
    padding:11px 12px!important;
  }
  .valve-proprietary-footer__compact-meta{
    width:100%!important;
    justify-content:space-between!important;
    white-space:normal!important;
  }
  .valve-proprietary-footer__compact-logo{
    width:34px!important;
    height:34px!important;
  }
  body.vfa-login-page .valve-proprietary-footer{
    padding:0 10px 22px!important;
  }
}
