/*
 * Valve Gestionale 1.9.0 — Precision UI
 * Ricostruzione fedele dei mockup approvati: nessuna sidebar, contenuto centrato,
 * hero verde, navigazione flottante, card leggere e dashboard/app family coerenti.
 */
:root{
  --vp-green-950:#065834;
  --vp-green-900:#087043;
  --vp-green-800:#0c7f4d;
  --vp-green-700:#168f59;
  --vp-green-600:#2fa96f;
  --vp-green-200:#cfeada;
  --vp-green-100:#e8f6ee;
  --vp-green-50:#f4fbf7;
  --vp-page:#f7f9f8;
  --vp-card:#fff;
  --vp-text:#202924;
  --vp-muted:#708078;
  --vp-line:#e5ebe7;
  --vp-red:#da3440;
  --vp-red-soft:#fff1f2;
  --vp-orange:#e98a00;
  --vp-orange-soft:#fff6e8;
  --vp-blue:#397db5;
  --vp-shadow:0 12px 32px rgba(23,62,40,.065);
  --vp-shadow-lg:0 22px 54px rgba(11,91,53,.12);
  --vp-radius-xl:28px;
  --vp-radius-lg:20px;
  --vp-radius-md:14px;
}

/* ---------- RESET STRUTTURALE: nessuna colonna fantasma, nessuna sidebar ---------- */
html:has(body.vsg-standalone-app),
html:has(body.vfa-standalone-app){
  margin-top:0!important;
  background:var(--vp-page)!important;
  overflow-x:hidden!important;
}
body.vsg-standalone-app,
body.vfa-standalone-app{
  margin:0!important;
  min-width:320px!important;
  overflow-x:hidden!important;
  background:
    radial-gradient(circle at 9% 8%,rgba(29,151,92,.055),transparent 25%),
    radial-gradient(circle at 92% 12%,rgba(29,151,92,.04),transparent 21%),
    var(--vp-page)!important;
  color:var(--vp-text)!important;
  font-family:"Poppins",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
}
body.vsg-standalone-app #wpadminbar,
body.vfa-standalone-app #wpadminbar{display:none!important}
body.vsg-standalone-app .vsg-sidebar{display:none!important}
body.vsg-standalone-app .vsg-app-shell,
body.vsg-standalone-app .vsg-app-shell--topnav{
  display:block!important;
  grid-template-columns:1fr!important;
  width:100%!important;
  max-width:none!important;
  min-height:100vh!important;
  margin:0!important;
}
body.vsg-standalone-app .vsg-app-stage{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:30px 24px 64px!important;
}
body.vsg-standalone-app .vsg-wrap,
body.vsg-standalone-app .vsg-main{
  display:block!important;
  width:min(1600px,calc(100vw - 48px))!important;
  max-width:1600px!important;
  min-width:0!important;
  margin:0 auto!important;
  padding-left:0!important;
  padding-right:0!important;
  transform:none!important;
  left:auto!important;
  right:auto!important;
}
body.vsg-standalone-app .vsg-main{padding-bottom:24px!important}
body.vsg-standalone-app .vsg-fullwidth-ancestor{
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
}

/* ---------- HERO SOCIETÀ ---------- */
body.vsg-standalone-app .vsg-header{
  position:relative!important;
  display:grid!important;
  grid-template-columns:128px minmax(0,1fr) 142px!important;
  align-items:center!important;
  gap:28px!important;
  width:100%!important;
  min-height:184px!important;
  margin:0!important;
  padding:24px 38px!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:var(--vp-radius-xl)!important;
  background:linear-gradient(112deg,#08643b 0%,#0b7d4b 54%,#46aa74 100%)!important;
  box-shadow:var(--vp-shadow-lg)!important;
}
body.vsg-standalone-app .vsg-header:before{
  content:""!important;
  position:absolute!important;
  right:-26px!important;
  top:-126px!important;
  width:360px!important;
  height:360px!important;
  border:34px solid rgba(255,255,255,.055)!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;
  transform:none!important;
  pointer-events:none!important;
}
body.vsg-standalone-app .vsg-header:after{display:none!important}
body.vsg-standalone-app .vsg-header-brand,
body.vsg-standalone-app .vsg-header-copy,
body.vsg-standalone-app .vsg-header-side{position:relative!important;z-index:2!important}
body.vsg-standalone-app .vsg-header-brand{display:grid!important;place-items:center!important}
body.vsg-standalone-app .vsg-header-brand img{
  width:118px!important;
  height:118px!important;
  object-fit:contain!important;
}
body.vsg-standalone-app .vsg-header-copy>span{
  display:block!important;
  margin:0 0 5px!important;
  padding:0!important;
  background:none!important;
  color:rgba(255,255,255,.9)!important;
  font-size:11px!important;
  font-weight:600!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
}
body.vsg-standalone-app .vsg-header h1{
  margin:0 0 8px!important;
  color:#fff!important;
  font-size:clamp(38px,4vw,58px)!important;
  font-weight:700!important;
  line-height:1.02!important;
  letter-spacing:-.045em!important;
}
body.vsg-standalone-app .vsg-header p{
  margin:0!important;
  max-width:760px!important;
  color:rgba(255,255,255,.88)!important;
  font-size:15px!important;
  line-height:1.5!important;
}
body.vsg-standalone-app .vsg-header-copy>small{
  display:block!important;
  margin-top:15px!important;
  color:rgba(255,255,255,.78)!important;
  font-size:11px!important;
  font-weight:500!important;
}
body.vsg-standalone-app .vsg-header-side{
  display:flex!important;
  height:100%!important;
  flex-direction:column!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
}
body.vsg-standalone-app .vsg-today{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  white-space:nowrap!important;
  color:rgba(255,255,255,.86)!important;
  font-size:11px!important;
}
body.vsg-standalone-app .vsg-today svg{width:17px!important;height:17px!important}
body.vsg-standalone-app .vsg-logout{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  min-height:48px!important;
  padding:0 19px!important;
  border:0!important;
  border-radius:14px!important;
  background:#fff!important;
  color:var(--vp-green-800)!important;
  box-shadow:0 9px 22px rgba(0,0,0,.105)!important;
  text-decoration:none!important;
  font-size:13px!important;
  font-weight:600!important;
}
body.vsg-standalone-app .vsg-logout svg{width:18px!important;height:18px!important}

/* ---------- NAVIGAZIONE FLOTTANTE ---------- */
body.vsg-standalone-app .vsg-nav{
  position:relative!important;
  top:auto!important;
  z-index:30!important;
  display:grid!important;
  grid-template-columns:repeat(8,minmax(0,1fr))!important;
  align-items:center!important;
  width:calc(100% - 104px)!important;
  max-width:1460px!important;
  margin:-24px auto 36px!important;
  padding:8px!important;
  gap:4px!important;
  overflow:visible!important;
  border:1px solid var(--vp-line)!important;
  border-radius:20px!important;
  background:rgba(255,255,255,.98)!important;
  box-shadow:0 15px 36px rgba(24,64,42,.105)!important;
}
body.vsg-standalone-app .vsg-nav a{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  min-width:0!important;
  min-height:50px!important;
  padding:9px 10px!important;
  border-radius:13px!important;
  background:transparent!important;
  color:#56645c!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  font-size:12px!important;
  font-weight:600!important;
  line-height:1!important;
}
body.vsg-standalone-app .vsg-nav a:hover,
body.vsg-standalone-app .vsg-nav a.is-active{
  background:var(--vp-green-50)!important;
  color:var(--vp-green-800)!important;
  box-shadow:0 8px 20px rgba(16,116,68,.08)!important;
}
body.vsg-standalone-app .vsg-nav svg{width:20px!important;height:20px!important;flex:0 0 20px!important}
body.vsg-standalone-app .vsg-nav b{font-size:12px!important;white-space:nowrap!important}

/* ---------- COMPONENTI CONDIVISI ---------- */
body.vsg-standalone-app :is(.vsg-card,.vsg-stat-card,.vui-status-card,.vsg-notification,.vsg-clothing-order-card,.vsg-privacy-document-card,.vsg-table-wrap),
body.vfa-standalone-app :is(.vrr-card,.vds-card,.vfa-overview-card,.vfa-photo-family-card,.vfa-privacy-family-section,.valve-box){
  border:1px solid var(--vp-line)!important;
  border-radius:var(--vp-radius-lg)!important;
  background:#fff!important;
  box-shadow:var(--vp-shadow)!important;
}
body.vsg-standalone-app :is(input,select,textarea),
body.vfa-standalone-app :is(input,select,textarea){
  border:1px solid #dce5df!important;
  border-radius:11px!important;
  background:#fff!important;
  box-shadow:none!important;
  color:var(--vp-text)!important;
  font-size:13px!important;
  font-weight:500!important;
}
body.vsg-standalone-app :is(input,select),
body.vfa-standalone-app :is(input,select){min-height:43px!important}
body.vsg-standalone-app :is(input,select,textarea):focus,
body.vfa-standalone-app :is(input,select,textarea):focus{
  outline:0!important;
  border-color:var(--vp-green-600)!important;
  box-shadow:0 0 0 3px rgba(47,169,111,.12)!important;
}
body.vsg-standalone-app .vsg-btn,
body.vfa-standalone-app :is(.vrr-button,.vds-button,.valve-btn){
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  min-height:43px!important;
  padding:8px 15px!important;
  border:1px solid var(--vp-green-800)!important;
  border-radius:11px!important;
  background:var(--vp-green-800)!important;
  color:#fff!important;
  box-shadow:none!important;
  text-decoration:none!important;
  font-size:12px!important;
  font-weight:600!important;
}
body.vsg-standalone-app .vsg-btn:hover,
body.vfa-standalone-app :is(.vrr-button,.vds-button,.valve-btn):hover{background:var(--vp-green-950)!important}
body.vsg-standalone-app .vsg-btn.vsg-secondary,
body.vfa-standalone-app :is(.vrr-button.vrr-dark,.valve-btn.valve-secondary,.vfa-payment-action.is-receipt){
  background:#fff!important;
  color:var(--vp-green-800)!important;
  box-shadow:none!important;
}
body.vsg-standalone-app .vsg-badge,
body.vfa-standalone-app :is(.vrr-badge,.vds-badge,.valve-status){
  padding:5px 8px!important;
  border-radius:999px!important;
  font-size:9px!important;
  font-weight:600!important;
}

/* ---------- DASHBOARD FEDELE AL MOCKUP ---------- */
.vsg-view-dashboard .vsg-header-copy>small{display:none!important}
.vsg-mockup-metrics{
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:14px!important;
  margin:0 0 18px!important;
}
.vsg-mockup-metric{
  display:grid!important;
  grid-template-columns:54px minmax(0,1fr)!important;
  align-items:center!important;
  gap:12px!important;
  min-height:126px!important;
  padding:17px!important;
  overflow:hidden!important;
  border:1px solid var(--vp-line)!important;
  border-radius:18px!important;
  background:#fff!important;
  color:var(--vp-text)!important;
  text-decoration:none!important;
  box-shadow:var(--vp-shadow)!important;
}
.vsg-mockup-metric-icon{
  display:grid!important;
  place-items:center!important;
  width:54px!important;
  height:54px!important;
  border-radius:18px!important;
  background:var(--vp-green-100)!important;
  font-size:25px!important;
}
.vsg-mockup-metric-copy{display:grid!important;gap:4px!important;min-width:0!important}
.vsg-mockup-metric-copy strong{color:var(--vp-green-800)!important;font-size:29px!important;line-height:1!important;font-weight:700!important}
.vsg-mockup-metric-copy b{color:var(--vp-text)!important;font-size:11px!important;line-height:1.3!important;font-weight:600!important}
.vsg-mockup-metric-copy small{color:var(--vp-muted)!important;font-size:9px!important;line-height:1.3!important}
.vsg-mockup-metric.is-danger .vsg-mockup-metric-icon{background:var(--vp-red-soft)!important}
.vsg-mockup-metric.is-danger .vsg-mockup-metric-copy strong{color:var(--vp-red)!important}
.vsg-mockup-metric.is-warning .vsg-mockup-metric-icon{background:var(--vp-orange-soft)!important}
.vsg-mockup-metric.is-warning .vsg-mockup-metric-copy strong{color:var(--vp-orange)!important}
.vsg-mockup-dashboard-grid{
  display:grid!important;
  grid-template-columns:minmax(0,2.35fr) minmax(300px,.9fr)!important;
  gap:16px!important;
  align-items:stretch!important;
}
.vsg-mockup-dashboard-grid>.vsg-card{margin:0!important;padding:18px!important}
.vsg-mockup-card-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  margin:0 0 14px!important;
}
.vsg-mockup-card-head>div{display:flex!important;align-items:center!important;gap:10px!important}
.vsg-mockup-card-head h2{margin:0!important;color:var(--vp-text)!important;font-size:17px!important;line-height:1.2!important}
.vsg-mockup-card-head p{margin:3px 0 0!important;color:var(--vp-muted)!important;font-size:9px!important}
.vsg-mockup-head-icon{display:grid!important;place-items:center!important;width:36px!important;height:36px!important;border-radius:12px!important;background:var(--vp-green-100)!important;color:var(--vp-green-800)!important}
.vsg-mockup-filter-row{display:grid!important;grid-template-columns:1.35fr repeat(3,1fr)!important;gap:8px!important;margin:0 0 11px!important}
.vsg-mockup-filter-row span{display:flex!important;align-items:center!important;gap:7px!important;min-height:38px!important;padding:8px 11px!important;border:1px solid var(--vp-line)!important;border-radius:10px!important;background:#fff!important;color:#77837d!important;font-size:9px!important}
.vsg-mockup-table-wrap{overflow:auto!important;border:1px solid #edf1ee!important;border-radius:12px!important;box-shadow:none!important}
.vsg-mockup-table{width:100%!important;min-width:820px!important;border-collapse:collapse!important}
.vsg-mockup-table th{padding:9px!important;background:#fafcfb!important;border-bottom:1px solid #edf1ee!important;color:#758078!important;font-size:8px!important;text-align:left!important;text-transform:uppercase!important;letter-spacing:.035em!important}
.vsg-mockup-table td{padding:9px!important;border-bottom:1px solid #eef2ef!important;color:#59675f!important;font-size:9px!important;vertical-align:middle!important}
.vsg-mockup-table tr:last-child td{border-bottom:0!important}
.vsg-mockup-view-all{display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;min-height:42px!important;margin-top:5px!important;border-top:1px solid #eef2ef!important;color:var(--vp-green-800)!important;text-decoration:none!important;font-size:10px!important;font-weight:600!important}
.vsg-mockup-activity-card .vsg-notification{padding:10px 2px!important;border:0!important;border-bottom:1px solid #eef2ef!important;border-radius:0!important;box-shadow:none!important}

/* ---------- PAGINE OPERATIVE ---------- */
body.vsg-standalone-app .vsg-section-head{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:20px!important;
  margin:22px 0 15px!important;
}
body.vsg-standalone-app .vsg-section-head>div>span{
  color:var(--vp-green-800)!important;
  font-size:10px!important;
  font-weight:600!important;
  letter-spacing:.13em!important;
}
body.vsg-standalone-app .vsg-section-head h2{
  margin:4px 0!important;
  padding:0!important;
  background:none!important;
  box-shadow:none!important;
  color:var(--vp-text)!important;
  font-size:31px!important;
  line-height:1.1!important;
  letter-spacing:-.035em!important;
}
body.vsg-standalone-app .vsg-section-head p{margin:0!important;color:var(--vp-muted)!important;font-size:11px!important}
body.vsg-standalone-app .vsg-filter-card{margin-bottom:26px!important;padding:17px!important}
body.vsg-standalone-app .vsg-filter-grid{align-items:end!important;gap:10px!important}
body.vsg-standalone-app .vsg-filter-actions{display:flex!important;align-items:end!important;gap:8px!important}
body.vsg-standalone-app .vsg-card{padding:19px!important}
body.vsg-standalone-app .vsg-table-wrap{overflow-x:auto!important}
body.vsg-standalone-app .vsg-table{width:100%!important;border-collapse:separate!important;border-spacing:0!important}
body.vsg-standalone-app .vsg-table th{padding:11px 12px!important;background:#fafcfb!important;border-bottom:1px solid var(--vp-line)!important;color:#748078!important;font-size:9px!important;text-transform:uppercase!important;letter-spacing:.08em!important}
body.vsg-standalone-app .vsg-table td{padding:12px!important;border-bottom:1px solid #eef2ef!important;color:#4f5c55!important;font-size:10px!important;vertical-align:middle!important}
body.vsg-standalone-app .vsg-table tbody tr:last-child td{border-bottom:0!important}

/* ---------- ANALYTICS: struttura identica al concept, senza sidebar ---------- */
.vsg-analytics-toolbar{
  display:flex!important;
  align-items:stretch!important;
  justify-content:space-between!important;
  gap:18px!important;
  margin:0 0 18px!important;
}
.vsg-season-tabs{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(190px,1fr))!important;
  min-width:650px!important;
  overflow:hidden!important;
  border:1px solid var(--vp-line)!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:var(--vp-shadow)!important;
}
.vsg-season-tab{
  display:grid!important;
  place-items:center!important;
  gap:3px!important;
  min-height:68px!important;
  padding:10px 18px!important;
  border-right:1px solid var(--vp-line)!important;
  color:var(--vp-text)!important;
  text-decoration:none!important;
  font-size:15px!important;
  font-weight:500!important;
}
.vsg-season-tab:last-child{border-right:0!important}
.vsg-season-tab small{color:var(--vp-muted)!important;font-size:10px!important}
.vsg-season-tab.is-active{background:var(--vp-green-50)!important;color:var(--vp-green-800)!important}
.vsg-compare-pill{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;
  min-width:200px!important;padding:0 20px!important;border:1px solid var(--vp-line)!important;border-radius:18px!important;
  background:#fff!important;color:var(--vp-green-800)!important;box-shadow:var(--vp-shadow)!important;font-size:12px!important;font-weight:500!important
}
.vsg-analytics-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;margin-bottom:18px!important}
.vsg-analytics-card{padding:20px!important}
.vsg-analytics-card-head{display:flex!important;align-items:center!important;gap:12px!important;margin-bottom:15px!important}
.vsg-analytics-card-icon{display:grid!important;place-items:center!important;width:48px!important;height:48px!important;border-radius:16px!important;background:var(--vp-green-100)!important;color:var(--vp-green-800)!important;font-size:22px!important}
.vsg-analytics-card-head h3{margin:0!important;color:var(--vp-text)!important;font-size:18px!important}
.vsg-analytics-card-head p{margin:3px 0 0!important;color:var(--vp-muted)!important;font-size:10px!important}
.vsg-analytics-body{display:grid!important;grid-template-columns:minmax(0,1fr) 180px!important;gap:17px!important;align-items:stretch!important}
.vsg-chart-box{position:relative!important;min-height:290px!important;padding:16px 8px 4px!important}
.vsg-chart-svg{display:block!important;width:100%!important;height:270px!important;overflow:visible!important}
.vsg-chart-grid-line{stroke:#e5ebe7!important;stroke-width:1!important;stroke-dasharray:3 4!important}
.vsg-chart-axis{stroke:#8a958f!important;stroke-width:1.2!important}
.vsg-chart-label{fill:#637069!important;font-family:"Poppins",sans-serif!important;font-size:10px!important}
.vsg-chart-value{fill:#1f2924!important;font-family:"Poppins",sans-serif!important;font-size:11px!important;font-weight:700!important}
.vsg-chart-bar{fill:url(#vpBarGradient)!important}
.vsg-chart-bar-money{fill:url(#vpMoneyGradient)!important}
.vsg-chart-line{fill:none!important;stroke:var(--vp-green-800)!important;stroke-width:2!important}
.vsg-chart-point{fill:var(--vp-green-800)!important;stroke:#fff!important;stroke-width:2!important}
.vsg-analytics-legend{display:grid!important;gap:8px!important}
.vsg-analytics-legend-item{display:grid!important;grid-template-columns:12px minmax(0,1fr) auto!important;gap:8px!important;align-items:start!important;padding:12px!important;border:1px solid var(--vp-line)!important;border-radius:14px!important;background:#fff!important}
.vsg-analytics-legend-item.is-current{background:var(--vp-green-50)!important}
.vsg-analytics-legend-item>i{width:9px!important;height:9px!important;margin-top:4px!important;border-radius:50%!important;background:var(--vp-green-800)!important}
.vsg-analytics-legend-item.is-live>i{background:#aab3ae!important}
.vsg-analytics-legend-copy{display:grid!important;gap:2px!important}
.vsg-analytics-legend-copy strong{font-size:10px!important;color:var(--vp-text)!important}
.vsg-analytics-legend-copy small{font-size:8px!important;color:var(--vp-muted)!important}
.vsg-analytics-legend-value{text-align:right!important;color:var(--vp-text)!important;font-size:19px!important;font-weight:700!important;white-space:nowrap!important}
.vsg-analytics-legend-value small{display:block!important;font-size:7px!important;font-weight:500!important;color:var(--vp-muted)!important}
.vsg-analytics-foot{
  display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;
  min-height:42px!important;margin-top:14px!important;padding:9px 12px!important;border-radius:12px!important;
  background:var(--vp-green-50)!important;color:var(--vp-green-800)!important;font-size:10px!important;font-weight:500!important
}
.vsg-birth-panel{padding:20px!important}
.vsg-birth-panel-head{display:flex!important;align-items:center!important;gap:11px!important;margin-bottom:15px!important}
.vsg-birth-panel-head h3{margin:0!important;font-size:18px!important;color:var(--vp-text)!important}
.vsg-birth-panel-head p{margin:3px 0 0!important;font-size:10px!important;color:var(--vp-muted)!important}
.vsg-birth-seasons{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
.vsg-birth-season{padding:15px!important;border:1px solid var(--vp-line)!important;border-radius:16px!important;background:#fff!important}
.vsg-birth-season-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;margin-bottom:12px!important}
.vsg-birth-season-head h4{margin:0!important;color:var(--vp-green-900)!important;font-size:16px!important}
.vsg-birth-season-head span{padding:5px 9px!important;border-radius:999px!important;background:var(--vp-green-50)!important;color:var(--vp-green-800)!important;font-size:9px!important;font-weight:600!important}
.vsg-birth-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(62px,1fr))!important;gap:8px!important}
.vsg-birth-item{display:grid!important;place-items:center!important;min-height:78px!important;padding:8px!important;border:1px solid var(--vp-line)!important;border-radius:12px!important;background:#fff!important}
.vsg-birth-item span{font-size:9px!important;color:var(--vp-text)!important}
.vsg-birth-item strong{margin-top:2px!important;color:var(--vp-green-800)!important;font-size:21px!important;line-height:1!important}
.vsg-analytics-note{margin-top:13px!important;text-align:center!important;color:var(--vp-muted)!important;font-size:9px!important}

/* ---------- AREA FAMIGLIE FEDELE AL MOCKUP ---------- */
body.vfa-standalone-app .vfa-native-layout{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:30px 24px 64px!important;
}
body.vfa-standalone-app :is(.vds-family-top,.vds-quick-nav,.vfa-overview,.vfa-athlete-switcher,.vrr-wrap,.vds-wrap,.valve-wrap,.vsg-family-messages,.valve-proprietary-footer){
  width:min(1600px,calc(100vw - 48px))!important;
  max-width:1600px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body.vfa-standalone-app .vds-family-top{
  position:relative!important;
  display:grid!important;
  grid-template-columns:128px minmax(0,1fr) 142px!important;
  align-items:center!important;
  gap:28px!important;
  min-height:184px!important;
  margin-top:0!important;
  padding:24px 38px!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:var(--vp-radius-xl)!important;
  background:linear-gradient(112deg,#08643b 0%,#0b7d4b 54%,#46aa74 100%)!important;
  box-shadow:var(--vp-shadow-lg)!important;
}
body.vfa-standalone-app .vds-family-top:before{
  content:""!important;position:absolute!important;right:-26px!important;top:-126px!important;width:360px!important;height:360px!important;
  border:34px solid rgba(255,255,255,.055)!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
}
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-logout{position:relative!important;z-index:2!important}
body.vfa-standalone-app .vds-family-brand img{width:118px!important;height:118px!important;object-fit:contain!important}
body.vfa-standalone-app .vds-family-copy>span{display:block!important;margin:0 0 5px!important;padding:0!important;background:none!important;color:rgba(255,255,255,.9)!important;font-size:12px!important;letter-spacing:.1em!important}
body.vfa-standalone-app .vds-family-copy h2{margin:0 0 7px!important;color:#fff!important;font-size:clamp(38px,4vw,58px)!important;line-height:1.02!important;letter-spacing:-.045em!important}
body.vfa-standalone-app .vds-family-copy p{margin:0!important;color:rgba(255,255,255,.88)!important;font-size:15px!important}
body.vfa-standalone-app .vds-logout{justify-self:end!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;min-height:48px!important;padding:0 19px!important;border:0!important;border-radius:14px!important;background:#fff!important;color:var(--vp-green-800)!important;box-shadow:0 9px 22px rgba(0,0,0,.105)!important;font-size:13px!important;font-weight:600!important}
body.vfa-standalone-app .vds-quick-nav{
  position:relative!important;z-index:30!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
  width:calc(min(1600px,100vw - 48px) - 260px)!important;max-width:1340px!important;margin:-24px auto 18px!important;padding:8px!important;gap:4px!important;
  overflow:visible!important;border:1px solid var(--vp-line)!important;border-radius:20px!important;background:#fff!important;box-shadow:0 15px 36px rgba(24,64,42,.105)!important
}
body.vfa-standalone-app .vds-quick-nav a{display:flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;min-height:50px!important;padding:9px 14px!important;border:0!important;border-radius:13px!important;background:transparent!important;color:#56645c!important;text-decoration:none!important;font-size:13px!important;font-weight:500!important;white-space:nowrap!important}
body.vfa-standalone-app .vds-quick-nav a:hover,body.vfa-standalone-app .vds-quick-nav a.is-active{background:var(--vp-green-50)!important;color:var(--vp-green-800)!important}
body.vfa-standalone-app .vfa-overview{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important;margin-top:18px!important;margin-bottom:14px!important}
body.vfa-standalone-app .vfa-overview-card{display:flex!important;align-items:center!important;gap:15px!important;min-height:126px!important;padding:17px!important}
body.vfa-standalone-app .vfa-overview-icon{display:grid!important;place-items:center!important;width:58px!important;height:58px!important;flex:0 0 58px!important;border-radius:20px!important;background:var(--vp-green-100)!important}
body.vfa-standalone-app .vfa-overview-copy{display:grid!important;gap:4px!important}
body.vfa-standalone-app .vfa-overview-copy>span{color:#4f5d56!important;font-size:12px!important;font-weight:500!important}
body.vfa-standalone-app .vfa-overview-copy>strong{color:var(--vp-green-800)!important;font-size:31px!important;line-height:1!important}
body.vfa-standalone-app .vfa-overview-status{width:max-content!important;padding:5px 9px!important;border-radius:999px!important;background:var(--vp-green-50)!important;color:var(--vp-green-800)!important;font-size:9px!important;font-weight:600!important}
body.vfa-standalone-app .vfa-overview-card.is-incomplete .vfa-overview-icon{background:var(--vp-red-soft)!important}
body.vfa-standalone-app .vfa-overview-card.is-incomplete .vfa-overview-copy>strong{color:var(--vp-red)!important}
body.vfa-standalone-app .vfa-overview-card.is-incomplete .vfa-overview-status{background:var(--vp-red-soft)!important;color:var(--vp-red)!important}
body.vfa-standalone-app .vfa-athlete-switcher{margin-top:8px!important;margin-bottom:18px!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
body.vfa-standalone-app .vfa-athlete-switcher-head{display:none!important}
body.vfa-standalone-app .vfa-athlete-tabs{display:flex!important;align-items:center!important;justify-content:center!important;gap:0!important;overflow:auto!important}
body.vfa-standalone-app .vfa-athlete-tab{display:flex!important;align-items:center!important;gap:10px!important;min-width:270px!important;min-height:58px!important;padding:8px 16px!important;border:1px solid var(--vp-line)!important;border-radius:0!important;background:#fff!important;color:var(--vp-text)!important;box-shadow:var(--vp-shadow)!important}
body.vfa-standalone-app .vfa-athlete-tab:first-child{border-radius:16px 0 0 16px!important}
body.vfa-standalone-app .vfa-athlete-tab:last-child{border-radius:0 16px 16px 0!important}
body.vfa-standalone-app .vfa-athlete-tab.is-active{position:relative!important;z-index:2!important;border-color:var(--vp-green-700)!important;background:var(--vp-green-50)!important;color:var(--vp-green-800)!important}
body.vfa-standalone-app .vfa-athlete-avatar{display:grid!important;place-items:center!important;width:39px!important;height:39px!important;border-radius:50%!important;background:var(--vp-green-100)!important;color:var(--vp-green-800)!important;font-size:11px!important;font-weight:700!important}
body.vfa-standalone-app .vfa-athlete-tab-copy{display:grid!important;text-align:left!important}
body.vfa-standalone-app .vfa-athlete-tab-copy strong{font-size:12px!important}
body.vfa-standalone-app .vfa-athlete-tab-copy small{font-size:9px!important;color:var(--vp-muted)!important}
body.vfa-standalone-app .vfa-athlete-tab-arrow{display:none!important}
body.vfa-standalone-app .vrr-title{margin:0 0 13px!important}
body.vfa-standalone-app .vrr-title h2{margin:0!important;padding:0!important;background:none!important;color:var(--vp-text)!important;box-shadow:none!important;font-size:24px!important;letter-spacing:-.025em!important}
body.vfa-standalone-app .vrr-card{padding:22px!important}
body.vfa-standalone-app .vrr-athlete-header{margin-bottom:16px!important}
body.vfa-standalone-app .vrr-athlete-header h3{font-size:20px!important;color:var(--vp-text)!important}
body.vfa-standalone-app .vrr-summary-grid{gap:8px!important}
body.vfa-standalone-app .vrr-family-clothing{border:1px solid var(--vp-line)!important;border-radius:15px!important;background:var(--vp-green-50)!important}
body.vfa-standalone-app .vrr-payment-list{border-radius:15px!important}
body.vfa-standalone-app .vfa-standard-section-head h4,body.vfa-standalone-app .vfa-service-title h2{font-size:16px!important;color:var(--vp-text)!important}

/* ---------- RESPONSIVE ---------- */
@media(max-width:1280px){
  body.vsg-standalone-app .vsg-nav{display:flex!important;overflow-x:auto!important;justify-content:flex-start!important}
  body.vsg-standalone-app .vsg-nav a{flex:0 0 auto!important;min-width:132px!important}
  .vsg-mockup-metrics{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .vsg-mockup-dashboard-grid{grid-template-columns:1fr!important}
  .vsg-analytics-grid{grid-template-columns:1fr!important}
}
@media(max-width:1000px){
  body.vsg-standalone-app .vsg-header,body.vfa-standalone-app .vds-family-top{grid-template-columns:86px minmax(0,1fr)!important;min-height:184px!important;padding-right:22px!important}
  body.vsg-standalone-app .vsg-header-brand img,body.vfa-standalone-app .vds-family-brand img{width:80px!important;height:80px!important}
  body.vsg-standalone-app .vsg-header-side{position:absolute!important;right:18px!important;top:18px!important;height:auto!important}
  body.vsg-standalone-app .vsg-today{display:none!important}
  body.vfa-standalone-app .vds-logout{position:absolute!important;right:18px!important;top:18px!important}
  body.vfa-standalone-app .vfa-overview{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .vsg-analytics-toolbar{flex-direction:column!important}
  .vsg-season-tabs{min-width:0!important;width:100%!important}
  .vsg-compare-pill{min-height:58px!important}
  .vsg-birth-seasons{grid-template-columns:1fr!important}
}
@media(max-width:760px){
  body.vsg-standalone-app .vsg-app-stage,body.vfa-standalone-app .vfa-native-layout{padding:0 9px 44px!important}
  body.vsg-standalone-app .vsg-wrap,body.vsg-standalone-app .vsg-main,
  body.vfa-standalone-app :is(.vds-family-top,.vds-quick-nav,.vfa-overview,.vfa-athlete-switcher,.vrr-wrap,.vds-wrap,.valve-wrap,.vsg-family-messages,.valve-proprietary-footer){width:100%!important;max-width:none!important}
  body.vsg-standalone-app .vsg-header,body.vfa-standalone-app .vds-family-top{grid-template-columns:1fr!important;min-height:225px!important;padding:20px 18px 56px!important;border-radius:0 0 24px 24px!important}
  body.vsg-standalone-app .vsg-header-brand,body.vfa-standalone-app .vds-family-brand{justify-content:start!important}
  body.vsg-standalone-app .vsg-header-brand img,body.vfa-standalone-app .vds-family-brand img{width:66px!important;height:66px!important}
  body.vsg-standalone-app .vsg-header h1,body.vfa-standalone-app .vds-family-copy h2{font-size:30px!important}
  body.vsg-standalone-app .vsg-nav,body.vfa-standalone-app .vds-quick-nav{display:flex!important;width:calc(100% - 22px)!important;margin:-25px 11px 24px!important;overflow-x:auto!important}
  body.vsg-standalone-app .vsg-nav a,body.vfa-standalone-app .vds-quick-nav a{flex:0 0 auto!important;min-width:138px!important}
  .vsg-mockup-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
  .vsg-mockup-metric{grid-template-columns:44px minmax(0,1fr)!important;min-height:104px!important;padding:12px!important;gap:9px!important}
  .vsg-mockup-metric-icon{width:44px!important;height:44px!important;border-radius:14px!important;font-size:20px!important}
  .vsg-mockup-metric-copy strong{font-size:23px!important}
  .vsg-mockup-filter-row{display:none!important}
  body.vsg-standalone-app .vsg-section-head{align-items:flex-start!important;flex-direction:column!important}
  body.vsg-standalone-app .vsg-filter-actions{width:100%!important}
  body.vsg-standalone-app .vsg-filter-actions>*{flex:1!important}
  .vsg-season-tabs{grid-template-columns:1fr!important}
  .vsg-season-tab{border-right:0!important;border-bottom:1px solid var(--vp-line)!important}
  .vsg-season-tab:last-child{border-bottom:0!important}
  .vsg-analytics-body{grid-template-columns:1fr!important}
  .vsg-chart-box{min-height:240px!important}
  .vsg-chart-svg{height:230px!important}
  body.vfa-standalone-app .vfa-overview{grid-template-columns:1fr!important}
  body.vfa-standalone-app .vfa-athlete-tabs{justify-content:flex-start!important}
}

/* Family dashboard card: tre colonne come il mockup approvato */
body.vfa-standalone-app .vfa-family-dashboard-card{
  padding:22px!important;
}
body.vfa-standalone-app .vfa-family-dashboard-card>.vrr-athlete-header{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  margin:0 0 16px!important;
  padding-bottom:12px!important;
  border-bottom:1px solid var(--vp-line)!important;
}
body.vfa-standalone-app .vfa-family-main-grid{
  display:grid!important;
  grid-template-columns:1fr 1.08fr 1.08fr!important;
  gap:0!important;
  align-items:stretch!important;
}
body.vfa-standalone-app .vfa-family-column{
  min-width:0!important;
  padding:0 22px!important;
  border-right:1px solid var(--vp-line)!important;
}
body.vfa-standalone-app .vfa-family-column:first-child{padding-left:0!important}
body.vfa-standalone-app .vfa-family-column:last-child{padding-right:0!important;border-right:0!important}
body.vfa-standalone-app .vfa-standard-section-head,
body.vfa-standalone-app .vfa-clothing-external-head{
  margin:0 0 12px!important;
}
body.vfa-standalone-app .vfa-standard-section-head h4,
body.vfa-standalone-app .vfa-clothing-external-head h4{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  margin:0!important;
  font-size:15px!important;
  color:var(--vp-text)!important;
}
body.vfa-standalone-app .vfa-fee-column .vrr-summary-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:0!important;
  overflow:hidden!important;
  border:1px solid var(--vp-line)!important;
  border-radius:13px!important;
  background:#fff!important;
}
body.vfa-standalone-app .vfa-fee-column .vrr-summary-grid>div{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  min-height:42px!important;
  padding:9px 12px!important;
  border:0!important;
  border-bottom:1px solid #eef2ef!important;
  border-radius:0!important;
  background:#fff!important;
}
body.vfa-standalone-app .vfa-fee-column .vrr-summary-grid>div:nth-child(5){display:none!important}
body.vfa-standalone-app .vfa-fee-column .vrr-summary-grid>div:last-child{
  min-height:58px!important;
  margin-top:10px!important;
  border:1px solid #d7eadf!important;
  border-radius:12px!important;
  background:var(--vp-green-50)!important;
}
body.vfa-standalone-app .vfa-fee-column .vrr-summary-grid>div:last-child span,
body.vfa-standalone-app .vfa-fee-column .vrr-summary-grid>div:last-child strong{color:var(--vp-green-800)!important}
body.vfa-standalone-app .vfa-fee-column .vrr-summary-grid span{font-size:10px!important;color:#5d6a63!important}
body.vfa-standalone-app .vfa-fee-column .vrr-summary-grid strong{font-size:11px!important;color:var(--vp-text)!important;text-align:right!important}
body.vfa-standalone-app .vfa-payment-column .vrr-payment-list{
  display:grid!important;
  gap:10px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
body.vfa-standalone-app .vfa-payment-column .vrr-payment-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:8px 12px!important;
  padding:13px!important;
  border:1px solid var(--vp-line)!important;
  border-radius:13px!important;
  background:#fff!important;
}
body.vfa-standalone-app .vfa-payment-column .vrr-payment-row>.vrr-actions,
body.vfa-standalone-app .vfa-payment-column .vrr-payment-row>form{
  grid-column:1/-1!important;
  display:flex!important;
  gap:8px!important;
  align-items:center!important;
}
body.vfa-standalone-app .vfa-payment-column .vrr-payment-row strong{font-size:11px!important}
body.vfa-standalone-app .vfa-payment-column .vrr-payment-row small{font-size:9px!important;color:var(--vp-muted)!important}
body.vfa-standalone-app .vfa-clothing-column .vrr-family-clothing{
  margin:0!important;
  padding:13px!important;
  background:#fff!important;
}
body.vfa-standalone-app .vfa-clothing-column .vrr-family-clothing-head{margin-bottom:10px!important}
body.vfa-standalone-app .vfa-clothing-column .vrr-family-clothing-items,
body.vfa-standalone-app .vfa-clothing-column .vrr-family-clothing-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
}
body.vfa-standalone-app .vfa-clothing-column .vrr-family-clothing-item{
  min-height:55px!important;
  padding:9px!important;
  border:1px solid var(--vp-line)!important;
  border-radius:11px!important;
  background:#fff!important;
}
@media(max-width:1100px){
  body.vfa-standalone-app .vfa-family-main-grid{grid-template-columns:1fr!important;gap:20px!important}
  body.vfa-standalone-app .vfa-family-column{padding:0!important;border-right:0!important}
}

/* ========================================================================== *
 * 1.9.0 — Coerenza definitiva con i mockup approvati
 * ========================================================================== */
:root{
  --vp-stage-max:1660px;
  --vp-hero-green-1:#087043;
  --vp-hero-green-2:#15905a;
  --vp-hero-green-3:#4aad78;
  --vp-icon-green:#128653;
  --vp-icon-red:#e23c47;
  --vp-icon-orange:#ed9000;
  --vp-icon-blue:#397eb3;
}

/* Il contenuto parte sempre dal bordo della finestra: nessun offset fantasma. */
html:has(body.vsg-standalone-app),
html:has(body.vfa-standalone-app),
body.vsg-standalone-app,
body.vfa-standalone-app,
body.vsg-standalone-app #primary,
body.vfa-standalone-app #primary{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  left:0!important;
  right:auto!important;
  transform:none!important;
  box-sizing:border-box!important;
}
body.vsg-standalone-app .vsg-app-shell,
body.vsg-standalone-app .vsg-app-shell--topnav,
body.vsg-standalone-app .vsg-app-stage{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  left:0!important;
  transform:none!important;
  box-sizing:border-box!important;
}
body.vsg-standalone-app .vsg-app-stage{
  padding:28px 24px 64px!important;
}
body.vsg-standalone-app .vsg-wrap,
body.vsg-standalone-app .vsg-main{
  width:100%!important;
  max-width:var(--vp-stage-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
  left:auto!important;
  transform:none!important;
  box-sizing:border-box!important;
}
body.vsg-standalone-app .vsg-main{display:block!important}
body.vsg-standalone-app .vsg-sidebar{display:none!important}

/* Testata più fedele: meno alta, proporzioni più leggere. */
body.vsg-standalone-app .vsg-header,
body.vfa-standalone-app .vds-family-top{
  min-height:166px!important;
  grid-template-columns:108px minmax(0,1fr) 120px!important;
  gap:24px!important;
  padding:22px 32px!important;
  border-radius:26px!important;
  background:linear-gradient(112deg,var(--vp-hero-green-1) 0%,var(--vp-hero-green-2) 63%,var(--vp-hero-green-3) 100%)!important;
}
body.vsg-standalone-app .vsg-header-brand img,
body.vfa-standalone-app .vds-family-brand img{
  width:104px!important;
  height:104px!important;
}
body.vsg-standalone-app .vsg-header h1,
body.vfa-standalone-app .vds-family-copy h2{
  font-size:clamp(36px,3.4vw,48px)!important;
  line-height:1.03!important;
  letter-spacing:-.042em!important;
}
body.vsg-standalone-app .vsg-header p,
body.vfa-standalone-app .vds-family-copy p{
  font-size:13px!important;
  line-height:1.45!important;
}
body.vsg-standalone-app .vsg-header-copy>small{margin-top:11px!important}
body.vsg-standalone-app .vsg-header:before,
body.vfa-standalone-app .vds-family-top:before{
  right:-12px!important;
  top:-118px!important;
  width:330px!important;
  height:330px!important;
  opacity:.8!important;
}
body.vsg-standalone-app .vsg-logout,
body.vfa-standalone-app .vds-logout{
  min-height:44px!important;
  padding:0 17px!important;
  border-radius:13px!important;
  font-size:12px!important;
}

/* Navigazione bianca flottante, compatta, sulla stessa linea. */
body.vsg-standalone-app .vsg-nav{
  width:calc(100% - 116px)!important;
  max-width:1450px!important;
  min-height:64px!important;
  margin:-20px auto 28px!important;
  padding:7px!important;
  border-radius:18px!important;
  grid-template-columns:repeat(8,minmax(0,1fr))!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
}
body.vsg-standalone-app .vsg-nav a{
  min-height:48px!important;
  padding:8px 9px!important;
  gap:8px!important;
  font-size:11px!important;
}
body.vsg-standalone-app .vsg-nav svg{width:19px!important;height:19px!important}
body.vfa-standalone-app .vds-quick-nav{
  width:calc(100% - 270px)!important;
  max-width:1240px!important;
  min-height:64px!important;
  margin:-20px auto 17px!important;
  padding:7px!important;
  border-radius:18px!important;
}
body.vfa-standalone-app .vds-quick-nav a{
  min-height:48px!important;
  font-size:12px!important;
}

/* Iconografia vettoriale uniforme: linee morbide dentro cerchi pastello. */
.vsg-mockup-metric-icon svg,
.vsg-mockup-head-icon svg,
.vsg-analytics-card-icon svg,
.vsg-compare-pill svg,
.vsg-analytics-foot svg,
.vsg-birth-icon svg,
body.vfa-standalone-app .vfa-overview-icon svg,
body.vfa-standalone-app .vui-status-emoji svg{
  width:23px!important;
  height:23px!important;
  stroke-width:1.8!important;
}
.vsg-mockup-metric-icon,
.vsg-mockup-head-icon,
.vsg-analytics-card-icon,
body.vfa-standalone-app .vfa-overview-icon,
body.vfa-standalone-app .vui-status-emoji{
  color:var(--vp-icon-green)!important;
  background:#eaf7ef!important;
}
.vsg-mockup-metric.is-danger .vsg-mockup-metric-icon,
body.vfa-standalone-app .vfa-overview-card.is-incomplete .vfa-overview-icon{
  color:var(--vp-icon-red)!important;
  background:#fff0f2!important;
}
.vsg-mockup-metric.is-warning .vsg-mockup-metric-icon{
  color:var(--vp-icon-orange)!important;
  background:#fff5e7!important;
}
.vsg-mockup-head-icon.is-neutral{color:#718079!important;background:#f1f5f3!important}

/* Dashboard: proporzioni identiche al concept. */
.vsg-mockup-metrics{
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:12px!important;
  margin:0 0 14px!important;
}
.vsg-mockup-metric{
  grid-template-columns:48px minmax(0,1fr)!important;
  gap:11px!important;
  min-height:108px!important;
  padding:15px!important;
  border-radius:17px!important;
}
.vsg-mockup-metric-icon{
  width:48px!important;
  height:48px!important;
  border-radius:16px!important;
  font-size:0!important;
}
.vsg-mockup-metric-copy{gap:3px!important}
.vsg-mockup-metric-copy strong{font-size:26px!important}
.vsg-mockup-metric-copy b{font-size:10px!important;line-height:1.25!important}
.vsg-mockup-metric-copy small{font-size:8px!important;line-height:1.25!important}
.vsg-mockup-dashboard-grid{
  grid-template-columns:minmax(0,2.25fr) minmax(280px,.82fr)!important;
  gap:14px!important;
}
.vsg-mockup-dashboard-grid>.vsg-card{padding:16px!important;border-radius:18px!important}
.vsg-mockup-card-head{margin-bottom:12px!important}
.vsg-mockup-card-head h2{font-size:15px!important}
.vsg-mockup-card-head p{font-size:8px!important}
.vsg-mockup-head-icon{width:34px!important;height:34px!important;border-radius:11px!important}
.vsg-mockup-filter-row{grid-template-columns:1.3fr repeat(3,1fr) auto!important}
.vsg-mockup-filter-row span{min-height:36px!important;font-size:8px!important}
.vsg-mockup-table th{font-size:7px!important;padding:8px!important}
.vsg-mockup-table td{font-size:8px!important;padding:8px!important}
.vsg-mockup-table td small{font-size:7px!important}

/* Card e pagine operative: stesso linguaggio grafico in ogni sezione. */
body.vsg-standalone-app .vsg-card,
body.vsg-standalone-app .vsg-filter-card,
body.vsg-standalone-app .vsg-table-wrap,
body.vsg-standalone-app .vsg-clothing-order-card,
body.vsg-standalone-app .vsg-notification,
body.vfa-standalone-app .vrr-card,
body.vfa-standalone-app .vds-card,
body.vfa-standalone-app .vfa-photo-family-card,
body.vfa-standalone-app .vfa-privacy-family-section{
  border-color:#e4ebe6!important;
  border-radius:18px!important;
  box-shadow:0 10px 28px rgba(22,64,40,.06)!important;
}
body.vsg-standalone-app .vsg-section-head{
  margin:18px 0 13px!important;
}
body.vsg-standalone-app .vsg-section-head h2{
  font-size:27px!important;
}
body.vsg-standalone-app .vsg-section-head p{font-size:10px!important}
body.vsg-standalone-app .vsg-section-title-pill{
  padding:0!important;
  background:transparent!important;
  border-radius:0!important;
  box-shadow:none!important;
  color:var(--vp-text)!important;
}
body.vsg-standalone-app .vsg-section-title-pill .vsg-section-title-icon{
  width:34px!important;
  height:34px!important;
  padding:7px!important;
  border-radius:11px!important;
  background:var(--vp-green-100)!important;
  color:var(--vp-green-800)!important;
  box-sizing:border-box!important;
}
body.vsg-standalone-app .vsg-filter-card{padding:15px!important;margin-bottom:20px!important}
body.vsg-standalone-app .vsg-table th{font-size:8px!important;padding:10px!important}
body.vsg-standalone-app .vsg-table td{font-size:9px!important;padding:10px!important}
body.vsg-standalone-app .vsg-btn{min-height:40px!important;font-size:11px!important}

/* Analytics: icone, cards e grafici nella stessa scala del mockup. */
.vsg-analytics-toolbar{margin-bottom:14px!important}
.vsg-season-tabs{min-width:590px!important;border-radius:16px!important}
.vsg-season-tab{min-height:60px!important;font-size:13px!important}
.vsg-compare-pill{min-width:185px!important;border-radius:16px!important}
.vsg-compare-pill svg{width:19px!important;height:19px!important}
.vsg-analytics-grid{gap:14px!important;margin-bottom:14px!important}
.vsg-analytics-card{padding:18px!important}
.vsg-analytics-card-icon{width:44px!important;height:44px!important;border-radius:15px!important}
.vsg-analytics-card-head h3{font-size:16px!important}
.vsg-analytics-body{grid-template-columns:minmax(0,1fr) 165px!important;gap:14px!important}
.vsg-chart-box{min-height:262px!important}
.vsg-chart-svg{height:248px!important}
.vsg-analytics-legend-item{padding:10px!important;border-radius:12px!important}
.vsg-analytics-foot{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
}
.vsg-analytics-foot svg{width:17px!important;height:17px!important}
.vsg-birth-icon{display:grid!important;place-items:center!important;color:var(--vp-green-700)!important}
.vsg-birth-icon svg{width:17px!important;height:17px!important}
.vsg-analytics-note{display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important}
.vsg-analytics-note>span{display:grid!important;place-items:center!important;width:16px!important;height:16px!important;border:1px solid var(--vp-green-600)!important;border-radius:50%!important;color:var(--vp-green-700)!important;font-size:10px!important;font-weight:600!important}

/* Area Famiglie: stessa scala, stessi colori, stesse icone vettoriali. */
body.vfa-standalone-app .vfa-native-layout{padding:28px 24px 64px!important}
body.vfa-standalone-app :is(.vds-family-top,.vds-quick-nav,.vfa-overview,.vfa-athlete-switcher,.vrr-wrap,.vds-wrap,.valve-wrap,.vsg-family-messages,.valve-proprietary-footer){
  width:100%!important;
  max-width:var(--vp-stage-max)!important;
}
body.vfa-standalone-app .vfa-overview{
  gap:12px!important;
  margin-top:15px!important;
  margin-bottom:12px!important;
}
body.vfa-standalone-app .vfa-overview-card{
  min-height:108px!important;
  padding:15px!important;
  gap:12px!important;
  border-radius:17px!important;
}
body.vfa-standalone-app .vfa-overview-icon,
body.vfa-standalone-app .vui-status-emoji{
  width:48px!important;
  height:48px!important;
  flex:0 0 48px!important;
  border-radius:16px!important;
  font-size:0!important;
}
body.vfa-standalone-app .vfa-overview-copy>span,
body.vfa-standalone-app .vui-status-title{font-size:10px!important}
body.vfa-standalone-app .vfa-overview-copy>strong,
body.vfa-standalone-app .vui-status-value{font-size:26px!important}
body.vfa-standalone-app .vfa-overview-status,
body.vfa-standalone-app .vui-status-state{font-size:8px!important}
body.vfa-standalone-app .vui-status-detail{font-size:8px!important;color:var(--vp-muted)!important}
body.vfa-standalone-app .vfa-athlete-tab{min-width:250px!important;min-height:54px!important}
body.vfa-standalone-app .vrr-card{padding:19px!important}
body.vfa-standalone-app .vfa-family-main-grid{grid-template-columns:1fr 1.05fr 1.08fr!important}
body.vfa-standalone-app .vfa-family-column{padding:0 18px!important}

/* Responsive: solo quando lo spazio non basta, non prima. */
@media(max-width:1350px){
  .vsg-mockup-metrics{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  body.vsg-standalone-app .vsg-nav{display:flex!important;justify-content:flex-start!important}
  body.vsg-standalone-app .vsg-nav a{flex:0 0 auto!important;min-width:126px!important}
}
@media(max-width:1050px){
  .vsg-mockup-dashboard-grid,.vsg-analytics-grid{grid-template-columns:1fr!important}
  body.vfa-standalone-app .vfa-overview{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:760px){
  body.vsg-standalone-app .vsg-app-stage,
  body.vfa-standalone-app .vfa-native-layout{padding:0 9px 42px!important}
  body.vsg-standalone-app .vsg-header,
  body.vfa-standalone-app .vds-family-top{min-height:218px!important;padding:18px 17px 54px!important}
  body.vsg-standalone-app .vsg-nav,
  body.vfa-standalone-app .vds-quick-nav{width:calc(100% - 20px)!important;margin:-23px 10px 22px!important}
  .vsg-mockup-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .vsg-analytics-body{grid-template-columns:1fr!important}
  body.vfa-standalone-app .vfa-overview{grid-template-columns:1fr!important}
  body.vfa-standalone-app .vfa-family-main-grid{grid-template-columns:1fr!important}
  body.vfa-standalone-app .vfa-family-column{padding:0!important}
}

/* Dettagli iconografici e notifiche 1.9.0 */
.vsg-mockup-filter-button{
  justify-content:center!important;
  color:var(--vp-green-800)!important;
  border-color:#b9dcc8!important;
  background:var(--vp-green-50)!important;
  font-weight:600!important;
}
.vsg-mockup-filter-button svg{width:15px!important;height:15px!important}
.vsg-mockup-avatar-placeholder{
  display:grid!important;
  place-items:center!important;
  width:28px!important;
  height:28px!important;
  border-radius:50%!important;
  background:var(--vp-green-100)!important;
  color:var(--vp-green-800)!important;
}
.vsg-mockup-avatar-placeholder svg{width:14px!important;height:14px!important}
body.vsg-standalone-app .vsg-notification{
  display:grid!important;
  grid-template-columns:36px minmax(0,1fr) auto!important;
  align-items:start!important;
  gap:10px!important;
  padding:11px 0!important;
  border:0!important;
  border-bottom:1px solid #edf2ef!important;
  border-radius:0!important;
  box-shadow:none!important;
}
body.vsg-standalone-app .vsg-notification:last-child{border-bottom:0!important}
.vsg-notification-icon{
  display:grid!important;
  place-items:center!important;
  width:34px!important;
  height:34px!important;
  border-radius:12px!important;
  background:var(--vp-green-100)!important;
  color:var(--vp-green-800)!important;
}
.vsg-notification-icon svg{width:17px!important;height:17px!important}
.vsg-notification.type-nuovo_documento .vsg-notification-icon{background:#fff4e6!important;color:var(--vp-icon-orange)!important}
.vsg-notification.type-visita_medica .vsg-notification-icon{background:var(--vp-red-soft)!important;color:var(--vp-icon-red)!important}
.vsg-notification.type-pagamento .vsg-notification-icon{background:#eaf7ef!important;color:var(--vp-green-800)!important}
.vsg-notification-copy{min-width:0!important}
.vsg-notification-copy>span{font-size:7px!important;letter-spacing:.1em!important;color:var(--vp-green-800)!important;font-weight:600!important}
.vsg-notification-copy h4{margin:2px 0!important;font-size:10px!important;line-height:1.25!important;color:var(--vp-text)!important}
.vsg-notification-copy p{margin:0!important;font-size:8px!important;line-height:1.35!important;color:var(--vp-muted)!important}
.vsg-notification-copy small{display:block!important;margin-top:3px!important;font-size:7px!important;color:#8b9690!important}
.vsg-notification-actions{align-self:center!important}
