:root{
  --vsg-green:#0b6b43;
  --vsg-green-2:#138a56;
  --vsg-green-3:#e9f7f0;
  --vsg-yellow:#f2c300;
  --vsg-red:#b3261e;
  --vsg-red-soft:#fdecea;
  --vsg-orange:#a65000;
  --vsg-orange-soft:#fff3e5;
  --vsg-blue:#245a91;
  --vsg-blue-soft:#eaf2fb;
  --vsg-ink:#18231e;
  --vsg-muted:#65736c;
  --vsg-line:#dbe5df;
  --vsg-page:#f3f7f5;
  --vsg-card:#ffffff;
  --vsg-shadow:0 12px 34px rgba(19,61,42,.08);
  --vsg-shadow-sm:0 5px 16px rgba(19,61,42,.06);
  --vsg-radius:18px;
  --vsg-radius-sm:12px;
}

/* AREA SOCIETÀ */
.vsg-wrap{
  max-width:1480px;
  margin:0 auto;
  padding:24px 18px 56px;
  color:var(--vsg-ink);
  font-family:"Poppins",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  line-height:1.45;
}
.vsg-wrap *{box-sizing:border-box}
.vsg-wrap a:focus-visible,.vsg-wrap button:focus-visible,.vsg-wrap input:focus-visible,.vsg-wrap select:focus-visible{
  outline:3px solid rgba(242,195,0,.5);
  outline-offset:2px;
}

.vsg-header{
  position:relative;
  overflow:hidden;
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:24px;
  min-height:170px;
  padding:30px 32px;
  border-radius:24px;
  background:linear-gradient(135deg,#075936 0%,#0d7448 55%,#14925b 100%);
  color:#fff;
  box-shadow:0 18px 44px rgba(4,82,48,.20);
}
.vsg-header:before,.vsg-header:after{
  content:"";
  position:absolute;
  border-radius:50%;
  background:rgba(255,255,255,.08);
  pointer-events:none;
}
.vsg-header:before{width:220px;height:220px;right:110px;top:-145px}
.vsg-header:after{width:150px;height:150px;right:-55px;bottom:-70px}
.vsg-header-copy,.vsg-header-side{position:relative;z-index:1}
.vsg-header-copy>span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.13);
  font-size:11px;
  font-weight:700;
  letter-spacing:.13em;
}
.vsg-header h1{margin:14px 0 4px;font-size:clamp(30px,4vw,44px);line-height:1.05;letter-spacing:-.035em}
.vsg-header p{margin:0;color:rgba(255,255,255,.84);font-size:15px}
.vsg-header-side{display:flex;flex-direction:column;align-items:flex-end;gap:14px}
.vsg-today{font-size:13px;color:rgba(255,255,255,.78);text-transform:capitalize}
.vsg-logout{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 16px;
  border:1px solid rgba(255,255,255,.46);
  border-radius:11px;
  background:rgba(255,255,255,.08);
  color:#fff!important;
  text-decoration:none;
  font-weight:700;
  backdrop-filter:blur(8px);
}
.vsg-logout:hover{background:#fff;color:var(--vsg-green)!important}

.vsg-nav{
  position:sticky;
  top:12px;
  z-index:50;
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:7px;
  margin:-32px 20px 28px;
  padding:8px;
  border:1px solid rgba(219,229,223,.9);
  border-radius:16px;
  background:rgba(255,255,255,.94);
  box-shadow:0 12px 30px rgba(18,54,38,.12);
  backdrop-filter:blur(16px);
}
.vsg-nav a{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:48px;
  padding:8px 12px;
  border-radius:11px;
  color:#3d4c45;
  text-decoration:none;
  font-weight:700;
  white-space:nowrap;
  transition:.18s ease;
}
.vsg-nav a:hover{background:var(--vsg-green-3);color:var(--vsg-green)}
.vsg-nav a.is-active{background:var(--vsg-green);color:#fff;box-shadow:0 7px 16px rgba(11,107,67,.25)}
.vsg-nav i{display:grid;place-items:center;width:24px;height:24px;font-style:normal;font-size:16px;line-height:1}
.vsg-nav b{font-size:13px}
.vsg-nav a>span{
  display:inline-grid;
  place-items:center;
  min-width:22px;
  height:22px;
  padding:0 6px;
  border-radius:999px;
  background:var(--vsg-yellow);
  color:#20251f;
  font-size:11px;
  font-weight:700;
}

.vsg-section-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:18px;
  margin:30px 0 15px;
}
.vsg-section-head>div>span,.vsg-card-head>div>span,.vsg-notification>div>span,.vsg-family-messages>span{
  font-size:11px;
  font-weight:700;
  letter-spacing:.13em;
  color:var(--vsg-green);
}
.vsg-section-head h2{margin:4px 0 2px;font-size:clamp(25px,3vw,32px);line-height:1.12;letter-spacing:-.025em}
.vsg-section-head p{margin:0;color:var(--vsg-muted)}
.vsg-back{display:inline-flex;margin-bottom:12px;color:var(--vsg-green)!important;font-weight:700;text-decoration:none}

.vsg-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.vsg-stat-card,.vsg-stats>a{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:auto 1fr;
  grid-template-rows:auto 1fr auto;
  column-gap:12px;
  min-height:148px;
  padding:18px;
  border:1px solid var(--vsg-line);
  border-radius:var(--vsg-radius);
  background:var(--vsg-card);
  color:var(--vsg-ink)!important;
  text-decoration:none;
  box-shadow:var(--vsg-shadow-sm);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.vsg-stat-card:hover,.vsg-stats>a:hover{transform:translateY(-3px);box-shadow:var(--vsg-shadow);border-color:#bcd2c5}
.vsg-stat-card i{
  grid-row:1/3;
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:13px;
  background:var(--vsg-green-3);
  color:var(--vsg-green);
  font-style:normal;
  font-size:21px;
  font-weight:700;
}
.vsg-stat-card>span,.vsg-stats>a>span{align-self:center;color:var(--vsg-muted);font-size:13px;font-weight:700}
.vsg-stat-card>strong,.vsg-stats>a>strong{grid-column:2;font-size:38px;line-height:1;margin-top:9px;letter-spacing:-.04em}
.vsg-stat-card>small{grid-column:1/-1;margin-top:15px;color:var(--vsg-green);font-weight:700}
.vsg-stat-card.is-warning{border-top:4px solid var(--vsg-yellow)}
.vsg-stat-card.is-warning i{background:#fff6ca;color:#765900}
.vsg-stat-card.is-danger{border-top:4px solid var(--vsg-red)}
.vsg-stat-card.is-danger i{background:var(--vsg-red-soft);color:var(--vsg-red)}

.vsg-quick-actions{
  display:flex;
  align-items:center;
  gap:9px;
  flex-wrap:wrap;
  margin:18px 0 0;
  padding:14px 16px;
  border:1px solid var(--vsg-line);
  border-radius:14px;
  background:#fff;
}
.vsg-quick-actions>span{margin-right:3px;color:var(--vsg-muted);font-size:11px;font-weight:700;letter-spacing:.12em}
.vsg-quick-actions a{padding:8px 11px;border-radius:9px;background:var(--vsg-green-3);color:var(--vsg-green)!important;text-decoration:none;font-size:13px;font-weight:700}
.vsg-quick-actions a:hover{background:var(--vsg-green);color:#fff!important}

.vsg-dashboard-grid,.vsg-detail-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:18px;margin-top:20px}
.vsg-card{
  padding:22px;
  border:1px solid var(--vsg-line);
  border-radius:var(--vsg-radius);
  background:#fff;
  box-shadow:var(--vsg-shadow-sm);
}
.vsg-card h3{margin:0 0 15px;font-size:20px;letter-spacing:-.015em}
.vsg-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}
.vsg-card-head h3{margin:4px 0}
.vsg-card-head p{margin:4px 0;color:var(--vsg-muted)}
.vsg-card-head a,.vsg-link{color:var(--vsg-green)!important;font-weight:700;text-decoration:none}
.vsg-card-head a:hover,.vsg-link:hover{text-decoration:underline}

.vsg-btn{
  appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:42px;
  padding:9px 14px;
  border:1px solid var(--vsg-green);
  border-radius:10px;
  background:var(--vsg-green);
  color:#fff!important;
  text-decoration:none;
  font-weight:700;
  line-height:1;
  cursor:pointer;
  box-shadow:0 5px 12px rgba(11,107,67,.14);
  transition:.16s ease;
}
.vsg-btn:hover{transform:translateY(-1px);background:#075a37;color:#fff!important}
.vsg-secondary{background:#fff;color:var(--vsg-green)!important;box-shadow:none}
.vsg-secondary:hover{background:var(--vsg-green-3);color:var(--vsg-green)!important}
.vsg-small{min-height:34px;padding:6px 10px;font-size:12px}

.vsg-alert{padding:15px 17px;margin:14px 0;border-radius:12px;font-weight:700;box-shadow:var(--vsg-shadow-sm)}
.vsg-alert-success{border-left:5px solid var(--vsg-green);background:#e7f6ee;color:#145b39}
.vsg-alert-error{border-left:5px solid var(--vsg-red);background:var(--vsg-red-soft);color:#8c1d18}

.vsg-filters{
  display:block;
  margin:22px 0 10px;
  padding:0;
  border:1px solid var(--vsg-line);
  border-radius:var(--vsg-radius);
  background:#fff;
  box-shadow:var(--vsg-shadow-sm);
  overflow:hidden;
}
.vsg-filter-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:15px 18px;
  border-bottom:1px solid var(--vsg-line);
  background:linear-gradient(180deg,#fbfdfc,#f5f9f7);
}
.vsg-filter-top>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.vsg-filter-top span{font-size:11px;font-weight:700;letter-spacing:.12em;color:var(--vsg-green)}
.vsg-filter-top strong{font-size:14px}
.vsg-filter-top small{padding:4px 8px;border-radius:999px;background:#fff1bf;color:#745600;font-weight:700}
.vsg-filter-toggle{border:0;background:transparent;color:var(--vsg-green);font-weight:700;cursor:pointer}
.vsg-filter-fields{
  display:grid;
  grid-template-columns:1.6fr repeat(5,minmax(130px,1fr));
  gap:11px;
  padding:16px;
}
.vsg-filter-fields.is-collapsed{display:none}
.vsg-simple-filters{display:grid;grid-template-columns:1fr 1fr auto;gap:11px;padding:16px}
.vsg-simple-filters .vsg-filter-top{display:none}
.vsg-filters label,.vsg-review-form label,.vsg-figc-box label{display:flex;flex-direction:column;gap:6px}
.vsg-filters label span,.vsg-review-form label span,.vsg-figc-box label span{font-size:12px;font-weight:700;color:#53615a}
.vsg-filters input,.vsg-filters select,.vsg-review-form input,.vsg-review-form select,.vsg-figc-box input{
  width:100%;
  min-height:44px;
  padding:9px 11px;
  border:1px solid #cbd8d1;
  border-radius:10px;
  background:#fff;
  color:var(--vsg-ink);
  transition:border-color .15s ease,box-shadow .15s ease;
}
.vsg-filters input:focus,.vsg-filters select:focus,.vsg-review-form input:focus,.vsg-review-form select:focus,.vsg-figc-box input:focus{
  border-color:var(--vsg-green-2);
  box-shadow:0 0 0 3px rgba(19,138,86,.12);
  outline:none;
}
.vsg-filter-actions{display:flex;gap:7px;align-items:flex-end}

.vsg-table-wrap{
  overflow:auto;
  border:1px solid var(--vsg-line);
  border-radius:var(--vsg-radius);
  background:#fff;
  box-shadow:var(--vsg-shadow-sm);
}
.vsg-table{width:100%;border-collapse:separate;border-spacing:0;min-width:1110px}
.vsg-table th{
  position:sticky;
  top:0;
  z-index:3;
  padding:14px 13px;
  background:#0a643f;
  color:#fff;
  text-align:left;
  font-size:11px;
  letter-spacing:.05em;
  text-transform:uppercase;
  white-space:nowrap;
}
.vsg-table th:first-child{border-top-left-radius:16px}
.vsg-table th:last-child{border-top-right-radius:16px}
.vsg-table td{padding:14px 13px;border-bottom:1px solid #e7ece9;vertical-align:middle;background:#fff}
.vsg-table tbody tr:nth-child(even) td{background:#fbfdfc}
.vsg-table tbody tr:hover td{background:#f1f8f4}
.vsg-table td:first-child strong{font-size:14px}
.vsg-table td small,.vsg-card small{display:block;margin-top:5px;color:var(--vsg-muted)}
.vsg-inline-form{display:flex;gap:6px;min-width:170px}
.vsg-inline-form input{min-width:105px;width:115px;padding:8px;border:1px solid #cbd8d1;border-radius:8px;background:#fff}
.vsg-inline-form button{min-width:52px;border:0;border-radius:8px;background:var(--vsg-green);color:#fff;font-weight:700;cursor:pointer}

.vsg-badge{
  display:inline-flex;
  align-items:center;
  width:max-content;
  margin:2px 3px 2px 0;
  padding:6px 9px;
  border-radius:999px;
  background:#eef1ef;
  color:#4c5852;
  font-size:11px;
  font-weight:700;
  line-height:1;
  white-space:nowrap;
}
.vsg-approvato,.vsg-confermato,.vsg-completa,.vsg-valid,.vsg-resolved{background:#dff3e7;color:#176238}
.vsg-da_controllare,.vsg-da_verificare,.vsg-thirty,.vsg-seven,.vsg-in_progress{background:#fff1bf;color:#745600}
.vsg-da_correggere,.vsg-expired,.vsg-scaduto{background:#fce8e6;color:#9b201a}
.vsg-missing,.vsg-non_ricevuto{background:#eef0ef;color:#555}
.vsg-sixty{background:#e7f0fb;color:#245a91}
.vsg-neutral{background:#eef1ef;color:#53615a}

.vsg-list{display:grid;gap:14px}
.vsg-document-card,.vsg-payment-card{
  position:relative;
  display:grid;
  grid-template-columns:1fr auto;
  gap:16px;
  overflow:hidden;
  border-left:5px solid #d9e3dd;
}
.vsg-document-card:has(.vsg-da_controllare),.vsg-payment-card:has(.vsg-da_verificare){border-left-color:var(--vsg-yellow)}
.vsg-document-card:has(.vsg-da_correggere),.vsg-document-card:has(.vsg-scaduto),.vsg-payment-card:has(.vsg-da_correggere){border-left-color:var(--vsg-red)}
.vsg-document-card:has(.vsg-approvato),.vsg-payment-card:has(.vsg-confermato){border-left-color:var(--vsg-green)}
.vsg-review-form{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:175px 175px 1fr auto;
  gap:11px;
  align-items:end;
  margin:3px -22px -22px;
  padding:16px 22px 18px;
  border-top:1px solid #e7ece9;
  background:#f8fbf9;
}
.vsg-review-form .vsg-wide{min-width:250px}
.vsg-card-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}

.vsg-required-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin:0 0 16px}
.vsg-required-item{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:10px;
  min-height:105px;
  padding:15px;
  border:1px solid var(--vsg-line);
  border-radius:13px;
  background:#fff;
  box-shadow:var(--vsg-shadow-sm);
}
.vsg-dl{margin:0}
.vsg-dl div{display:grid;grid-template-columns:150px 1fr;padding:10px 0;border-bottom:1px solid #edf0ee}
.vsg-dl div:last-child{border-bottom:0}
.vsg-dl dt{font-weight:700;color:var(--vsg-muted)}
.vsg-dl dd{margin:0;font-weight:600}
.vsg-figc-box{display:flex;align-items:flex-end;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid var(--vsg-line)}
.vsg-figc-box label{flex:1}
.vsg-medical-big{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.vsg-medical-big strong{font-size:32px;letter-spacing:-.025em}

.vsg-athlete-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:5px 0 14px}
.vsg-athlete-summary>a{
  display:flex;
  flex-direction:column;
  gap:7px;
  min-height:115px;
  padding:15px;
  border:1px solid var(--vsg-line);
  border-radius:14px;
  background:#fff;
  color:var(--vsg-ink)!important;
  text-decoration:none;
  box-shadow:var(--vsg-shadow-sm);
}
.vsg-athlete-summary>a:hover{border-color:#b9d4c4;transform:translateY(-1px)}
.vsg-athlete-summary span{color:var(--vsg-muted);font-size:12px;font-weight:700}
.vsg-athlete-summary strong{font-size:25px}
.vsg-athlete-summary small{margin-top:auto}
.vsg-detail-nav{
  position:sticky;
  top:80px;
  z-index:35;
  display:flex;
  gap:7px;
  overflow:auto;
  margin:0 0 18px;
  padding:7px;
  border:1px solid var(--vsg-line);
  border-radius:13px;
  background:rgba(255,255,255,.94);
  box-shadow:var(--vsg-shadow-sm);
  backdrop-filter:blur(12px);
}
.vsg-detail-nav a{padding:8px 11px;border-radius:8px;color:var(--vsg-green)!important;text-decoration:none;font-size:13px;font-weight:700;white-space:nowrap}
.vsg-detail-nav a:hover{background:var(--vsg-green-3)}

.vsg-compact-list{display:grid}
.vsg-compact-list>a{
  display:grid;
  grid-template-columns:1fr auto auto;
  align-items:center;
  gap:10px;
  padding:12px 0;
  border-bottom:1px solid #e8ece9;
  color:var(--vsg-ink)!important;
  text-decoration:none;
}
.vsg-compact-list>a:last-child{border-bottom:0}
.vsg-compact-list>a:hover strong{color:var(--vsg-green)}

.vsg-notification-list{display:grid}
.vsg-notification{
  display:flex;
  justify-content:space-between;
  gap:15px;
  padding:16px 15px;
  border-bottom:1px solid #e8ece9;
  border-left:4px solid transparent;
  border-radius:0 10px 10px 0;
}
.vsg-notification:hover{background:#fafcfb}
.vsg-notification h4{margin:4px 0;font-size:16px}
.vsg-notification p{margin:3px 0;color:var(--vsg-muted)}
.vsg-notification.state-new{border-left-color:var(--vsg-yellow);background:#fffdf4}
.vsg-notification.state-in_progress{border-left-color:var(--vsg-blue);background:#f7fbff}
.vsg-notification.state-resolved{opacity:.78}
.vsg-notification-actions{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:8px}
.vsg-notification-actions form{display:flex;gap:6px}
.vsg-notification-actions select{padding:8px;border:1px solid #cbd8d1;border-radius:8px;background:#fff}
.vsg-empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:5px;padding:42px 20px;color:var(--vsg-muted)}
.vsg-empty-state:before{content:"✓";display:grid;place-items:center;width:50px;height:50px;margin-bottom:5px;border-radius:50%;background:var(--vsg-green-3);color:var(--vsg-green);font-size:23px;font-weight:700}
.vsg-empty-state strong{color:var(--vsg-ink);font-size:18px}

.vsg-family-messages{margin:22px 0;padding:20px;border:2px solid #c83a32;border-radius:14px;background:#fff7f6}
.vsg-family-messages h2{margin:4px 0 16px}
.vsg-family-messages>div{padding:12px;background:#fff;border-radius:9px;margin-top:8px}
.vsg-family-messages p{margin:5px 0 0}
.vsg-family-messages>span{color:#a62822}

/* AREA FAMIGLIE: tema coerente e più leggibile */
.vds-family-top,.vds-quick-nav,.vds-wrap,.vrr-wrap,.valve-wrap{font-family:"Poppins",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
.vds-family-top{
  position:relative;
  overflow:hidden;
  max-width:1180px;
  margin:22px auto 0;
  padding:25px 26px;
  border-radius:22px;
  background:linear-gradient(135deg,#075936,#15935c);
  color:#fff;
  box-shadow:0 16px 36px rgba(4,82,48,.18);
}
.vds-family-top:after{content:"";position:absolute;width:150px;height:150px;right:-55px;bottom:-75px;border-radius:50%;background:rgba(255,255,255,.09)}
.vds-family-top>div,.vds-family-top>a{position:relative;z-index:1}
.vds-family-top span{color:#fff!important;opacity:.82}
.vds-family-top h2{font-size:32px;letter-spacing:-.025em}
.vds-family-top p{color:rgba(255,255,255,.82)!important}
.vds-logout{display:inline-flex;padding:9px 13px;border:1px solid rgba(255,255,255,.55);border-radius:10px;color:#fff!important;text-decoration:none}
.vds-quick-nav{
  position:sticky;
  top:10px;
  z-index:45;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  max-width:1140px;
  margin:-14px auto 14px;
  padding:8px;
  border:1px solid var(--vsg-line);
  border-radius:14px;
  background:rgba(255,255,255,.95);
  box-shadow:var(--vsg-shadow-sm);
  backdrop-filter:blur(12px);
}
.vds-quick-nav a{padding:9px 13px;border:0!important;border-radius:9px!important;background:transparent!important;color:#3c4943!important;font-weight:700}
.vds-quick-nav a:hover{background:var(--vsg-green-3)!important;color:var(--vsg-green)!important}
.vds-wrap,.vrr-wrap{max-width:1180px;padding-left:16px;padding-right:16px}
.vds-athlete-panel,.vds-documents-card,.vds-medical-card,.vds-society-panel,.vrr-card,.vrr-step,.vrr-stats>div,.valve-box,.valve-stat,.valve-login{
  border:1px solid var(--vsg-line)!important;
  border-radius:18px!important;
  background:#fff;
  box-shadow:var(--vsg-shadow-sm)!important;
}
.vds-athlete-panel{padding:25px!important}
.vds-athlete-title{padding-bottom:18px;border-bottom:1px solid var(--vsg-line)}
.vds-document-score{border:1px solid #d7e7dd;background:var(--vsg-green-3)!important}
.vds-document-score strong{color:var(--vsg-green);font-size:29px!important}
.vds-medical-card{border-left-width:6px!important;padding:21px!important}
.vds-medical-icon{width:56px!important;height:56px!important;box-shadow:inset 0 0 0 1px rgba(11,107,67,.08)}
.vds-documents-card{padding:22px!important}
.vds-check-row{padding:17px 0!important}
.vds-check-row:hover{background:#fafcfb}
.vds-row-actions>a,.vds-link-button{color:var(--vsg-green)!important}
.vds-button,.vrr-button,.valve-btn{border-radius:10px!important;background:var(--vsg-green)!important;box-shadow:0 5px 12px rgba(11,107,67,.14)}
.vds-button:hover,.vrr-button:hover,.valve-btn:hover{background:#075a37!important}
.vds-upload-form{border-radius:14px!important;box-shadow:0 18px 40px rgba(20,46,34,.16)!important}
.vds-upload-form input,.vrr-form-grid input,.vrr-form-grid select,.vrr-items input,.valve-form-grid input,.valve-form-grid select{
  min-height:44px;
  border-radius:10px!important;
  border-color:#cbd8d1!important;
}
.vds-upload-form input:focus,.vrr-form-grid input:focus,.vrr-form-grid select:focus,.vrr-items input:focus,.valve-form-grid input:focus,.valve-form-grid select:focus{
  outline:none;
  border-color:var(--vsg-green-2)!important;
  box-shadow:0 0 0 3px rgba(19,138,86,.12);
}
.vrr-title,.vrr-athlete-header{margin-top:12px;padding:0 3px}
.vrr-card{padding:24px!important}
.vrr-step{counter-increment:vrrstep;overflow:hidden!important}
.vrr-card{counter-reset:vrrstep}
.vrr-step>summary{
  display:flex;
  align-items:center;
  gap:11px;
  padding:16px 18px!important;
  background:linear-gradient(180deg,#fbfdfc,#f5f9f7)!important;
  color:var(--vsg-ink);
}
.vrr-step>summary:before{
  content:counter(vrrstep);
  display:grid;
  place-items:center;
  flex:0 0 28px;
  width:28px;
  height:28px;
  border-radius:50%;
  background:var(--vsg-green);
  color:#fff;
  font-size:12px;
  font-weight:700;
}
.vrr-step[open]>summary{border-bottom:1px solid var(--vsg-line)}
.vrr-form-grid label span,.vrr-items label span{font-weight:700!important}
.vrr-items label{border-radius:12px!important;background:#fbfdfc}
.vrr-items label:hover{border-color:#b9d4c4!important}
.vrr-total{border:1px solid #d6e9dd;background:#edf8f2!important;font-size:17px!important}
.vrr-summary-grid>div,.vrr-fee-preview>div{border:1px solid var(--vsg-line);background:#f8fbf9!important}
.vrr-summary-grid strong{font-size:17px;margin-top:4px}
.vrr-payment-row{padding:16px 0!important}
.vrr-family-clothing{border:1px solid #d7e7dd!important;border-radius:16px!important;background:#f6fbf8!important}
.vrr-family-clothing-head h4{font-size:19px}
.vrr-badge,.vds-badge,.valve-status{font-weight:700!important}

@media(max-width:1180px){
  .vsg-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vsg-dashboard-grid,.vsg-detail-grid{grid-template-columns:1fr}
  .vsg-filter-fields{grid-template-columns:repeat(3,minmax(0,1fr))}
  .vsg-search-field{grid-column:span 2}
  .vsg-required-grid,.vsg-athlete-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vsg-document-card,.vsg-payment-card{grid-template-columns:1fr}
  .vsg-card-actions{justify-content:flex-start}
  .vsg-review-form{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:820px){
  .vsg-wrap{padding:12px 10px 40px}
  .vsg-header{min-height:150px;padding:23px 21px;border-radius:18px}
  .vsg-header-side{display:none}
  .vsg-nav{grid-template-columns:repeat(6,minmax(92px,1fr));overflow:auto;margin:-24px 10px 22px;justify-content:flex-start}
  .vsg-nav a{min-width:100px;flex-direction:column;gap:3px;min-height:55px}
  .vsg-nav i{height:18px}
  .vsg-filter-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vsg-search-field{grid-column:1/-1}
  .vsg-simple-filters{grid-template-columns:1fr 1fr}
  .vsg-simple-filters .vsg-filter-actions{grid-column:1/-1}
  .vsg-review-form{margin:3px -22px -22px}
  .vds-family-top{margin:12px 10px 0;border-radius:18px}
  .vds-quick-nav{margin:-12px 18px 12px;flex-wrap:nowrap;overflow:auto}
}
@media(max-width:620px){
  .vsg-header h1{font-size:29px}
  .vsg-stats,.vsg-filter-fields,.vsg-simple-filters,.vsg-required-grid,.vsg-review-form,.vsg-athlete-summary{grid-template-columns:1fr}
  .vsg-stat-card{min-height:130px}
  .vsg-filter-top{align-items:flex-start}
  .vsg-filter-top>div{display:grid;gap:3px}
  .vsg-filter-actions{align-items:stretch;flex-direction:column}
  .vsg-filter-actions .vsg-btn{width:100%}
  .vsg-card-head,.vsg-notification,.vsg-figc-box,.vds-family-top,.vds-athlete-title,.vds-section-title,.vrr-title,.vrr-athlete-header{flex-direction:column}
  .vsg-notification-actions{align-items:flex-start;width:100%}
  .vsg-notification-actions form{width:100%;flex-wrap:wrap}
  .vsg-dl div{grid-template-columns:1fr;gap:3px}
  .vsg-compact-list>a{grid-template-columns:1fr}
  .vsg-detail-nav{top:8px}
  .vsg-section-head{align-items:flex-start;flex-direction:column}
  .vsg-section-head>.vsg-btn{width:100%}
  .vsg-review-form .vsg-wide{min-width:0}
  .vsg-document-card,.vsg-payment-card{padding:18px}
  .vsg-review-form{margin:4px -18px -18px;padding:15px 18px}
  .vds-family-top{padding:22px 20px}
  .vds-family-top h2{font-size:27px}
  .vds-check-row{grid-template-columns:1fr!important;padding:16px 0!important}
  .vds-row-actions{justify-content:flex-start!important;flex-wrap:wrap}
  .vrr-card{padding:18px!important}
  .vrr-form-grid,.vrr-items,.vrr-summary-grid,.vrr-stats,.vrr-fee-preview{grid-template-columns:1fr!important}
}

/* 0.3.1 — layout desktop esteso, icone SVG e archivio atleti progressivo */
body.vsg-area-societa-page{overflow-x:clip;background:var(--vsg-page)}
body.vsg-area-societa-page .entry-header,
body.vsg-area-societa-page .page-header,
body.vsg-area-societa-page .page-title,
body.vsg-area-societa-page .entry-title,
body.vsg-area-societa-page .wp-block-post-title,
body.vsg-area-societa-page .elementor-page-title{display:none!important}
body.vsg-area-societa-page .site-main,
body.vsg-area-societa-page .content-area,
body.vsg-area-societa-page .site-content,
body.vsg-area-societa-page article,
body.vsg-area-societa-page .entry-content,
body.vsg-area-societa-page .elementor-widget-theme-post-content>.elementor-widget-container{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
}
body.vsg-area-societa-page .entry-content>p:empty{display:none}

.vsg-wrap{
  width:min(1760px,calc(100vw - 36px));
  max-width:none;
  margin-left:50%;
  margin-right:0;
  transform:translateX(-50%);
  padding-top:18px;
}
.vsg-header{min-height:186px;padding:34px 38px}
.vsg-header h1{max-width:760px;font-size:clamp(38px,4vw,56px)}
.vsg-header p{font-size:16px}
.vsg-header-side{min-width:220px}

.vsg-icon{display:block;width:20px;height:20px;flex:0 0 auto}
.vsg-logout .vsg-icon{width:18px;height:18px}
.vsg-nav{grid-template-columns:repeat(6,minmax(145px,1fr));margin:-34px 28px 30px;padding:9px}
.vsg-nav a{min-height:54px;padding:10px 15px;font-size:14px}
.vsg-nav .vsg-icon{width:21px;height:21px}
.vsg-nav b{font-size:14px}

.vsg-stat-card>.vsg-icon,.vsg-stats>a>.vsg-icon{
  grid-row:1/3;
  width:44px;
  height:44px;
  padding:10px;
  border-radius:13px;
  background:var(--vsg-green-3);
  color:var(--vsg-green);
}
.vsg-stat-card.is-warning>.vsg-icon{background:#fff6ca;color:#765900}
.vsg-stat-card.is-danger>.vsg-icon{background:var(--vsg-red-soft);color:var(--vsg-red)}
.vsg-quick-actions a{display:inline-flex;align-items:center;gap:7px}
.vsg-quick-actions .vsg-icon{width:17px;height:17px}
.vsg-btn .vsg-icon{width:18px;height:18px}

.vsg-athlete-toolbar{
  display:grid;
  grid-template-columns:minmax(420px,1fr) auto;
  align-items:center;
  gap:16px;
  margin:0 0 14px;
  padding:16px;
  border:1px solid var(--vsg-line);
  border-radius:16px;
  background:#fff;
  box-shadow:var(--vsg-shadow-sm);
}
.vsg-live-search{position:relative;display:block}
.vsg-live-search-icon{
  position:absolute;
  left:15px;
  top:50%;
  transform:translateY(-50%);
  color:var(--vsg-green);
  pointer-events:none;
}
.vsg-live-search-icon .vsg-icon{width:21px;height:21px}
.vsg-live-search input{
  width:100%;
  min-height:50px;
  padding:11px 48px 11px 48px;
  border:1px solid #cbd8d1;
  border-radius:13px;
  background:#f9fcfa;
  color:var(--vsg-ink);
  font-size:15px;
  font-weight:600;
}
.vsg-live-search input:focus{outline:none;border-color:var(--vsg-green-2);background:#fff;box-shadow:0 0 0 4px rgba(19,138,86,.11)}
.vsg-search-clear{
  position:absolute;
  right:10px;
  top:50%;
  transform:translateY(-50%);
  display:none;
  width:32px;
  height:32px;
  border:0;
  border-radius:50%;
  background:#edf3ef;
  color:#53615a;
  font-size:20px;
  line-height:1;
  cursor:pointer;
}
.vsg-live-search.has-value .vsg-search-clear{display:grid;place-items:center}
.vsg-athlete-toolbar-info{display:flex;align-items:baseline;gap:7px;white-space:nowrap;color:var(--vsg-muted)}
.vsg-athlete-toolbar-info strong{font-size:28px;color:var(--vsg-green);letter-spacing:-.03em}
.vsg-athlete-toolbar-info span{font-size:13px;font-weight:700}

.vsg-athletes-table{min-width:1450px}
.vsg-athletes-table th:first-child,.vsg-athletes-table td:first-child{
  position:sticky;
  left:0;
  z-index:3;
  min-width:205px;
  box-shadow:8px 0 14px rgba(19,61,42,.035);
}
.vsg-athletes-table th:first-child{z-index:6;background:#075d3a}
.vsg-athletes-table tbody tr:nth-child(odd) td:first-child{background:#fff}
.vsg-athletes-table tbody tr:nth-child(even) td:first-child{background:#fbfdfc}
.vsg-athletes-table tbody tr:hover td:first-child{background:#f1f8f4}
.vsg-athlete-row.is-hidden-by-pagination,.vsg-athlete-row.is-hidden-by-search{display:none}
.vsg-inline-form button{display:grid;place-items:center;width:38px;min-width:38px;padding:0}
.vsg-inline-form button .vsg-icon{width:17px;height:17px}
.vsg-open-athlete{display:inline-flex;align-items:center;gap:5px;color:var(--vsg-green)!important;text-decoration:none;font-weight:700;white-space:nowrap}
.vsg-open-athlete .vsg-icon{width:16px;height:16px;transition:transform .16s ease}
.vsg-open-athlete:hover .vsg-icon{transform:translateX(3px)}
.vsg-load-more-wrap{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:9px;
  padding:20px 0 4px;
}
.vsg-load-more-wrap.is-hidden{display:none}
.vsg-load-more-wrap small{color:var(--vsg-muted)}
.vsg-load-more-wrap small strong{color:var(--vsg-ink)}
.vsg-no-search-results{display:none}

@media(min-width:1500px){
  .vsg-stats{grid-template-columns:repeat(7,minmax(0,1fr))}
  .vsg-stat-card,.vsg-stats>a{min-height:158px}
  .vsg-dashboard-grid{grid-template-columns:minmax(0,1.45fr) minmax(360px,.55fr)}
}
@media(max-width:1100px){
  .vsg-wrap{width:calc(100vw - 20px)}
  .vsg-nav{grid-template-columns:repeat(6,minmax(110px,1fr));overflow:auto;margin-left:12px;margin-right:12px}
  .vsg-athlete-toolbar{grid-template-columns:1fr}
  .vsg-athlete-toolbar-info{justify-content:flex-end}
}
@media(max-width:620px){
  .vsg-wrap{width:calc(100vw - 12px)}
  .vsg-athlete-toolbar{padding:11px}
  .vsg-live-search input{font-size:14px}
  .vsg-athlete-toolbar-info{justify-content:flex-start}
}

/* ==========================================================
   0.3.2 — FULL WIDTH DESKTOP + LAYOUT ROBUSTO
   ========================================================== */

/* Neutralizza i contenitori stretti di tema/Elementor solo nell'Area Società. */
body.vsg-area-societa-page{
  overflow-x:hidden!important;
  background:var(--vsg-page)!important;
}
body.vsg-area-societa-page .vsg-fullwidth-ancestor,
body.vsg-area-societa-page main.site-main,
body.vsg-area-societa-page .site-main,
body.vsg-area-societa-page .site-content,
body.vsg-area-societa-page .content-area,
body.vsg-area-societa-page article.page,
body.vsg-area-societa-page article.type-page,
body.vsg-area-societa-page .entry-content,
body.vsg-area-societa-page .page-content,
body.vsg-area-societa-page .elementor,
body.vsg-area-societa-page .elementor-section-wrap,
body.vsg-area-societa-page .elementor-section,
body.vsg-area-societa-page .elementor-container,
body.vsg-area-societa-page .elementor-column,
body.vsg-area-societa-page .elementor-widget-wrap,
body.vsg-area-societa-page .elementor-widget,
body.vsg-area-societa-page .elementor-widget-container,
body.vsg-area-societa-page .e-con,
body.vsg-area-societa-page .e-con-inner{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
}
body.vsg-area-societa-page .entry-header,
body.vsg-area-societa-page .page-header,
body.vsg-area-societa-page h1.entry-title{
  display:none!important;
}

/* Full bleed affidabile anche quando il contenuto è inserito in una colonna stretta. */
body.vsg-area-societa-page .vsg-wrap{
  position:relative!important;
  left:50%!important;
  width:100vw!important;
  max-width:100vw!important;
  min-width:0!important;
  margin:0 0 0 -50vw!important;
  padding:30px clamp(18px,2.5vw,48px) 70px!important;
  background:
    radial-gradient(circle at 8% 3%,rgba(19,138,86,.07),transparent 28%),
    linear-gradient(180deg,#f8fbf9 0%,#f3f7f5 100%)!important;
  overflow:visible!important;
}
body.vsg-area-societa-page .vsg-main{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}

/* Testata orizzontale e meno ingombrante su PC. */
body.vsg-area-societa-page .vsg-header{
  width:100%!important;
  max-width:none!important;
  min-height:150px!important;
  align-items:center!important;
  padding:28px clamp(24px,3vw,46px)!important;
  border-radius:24px!important;
}
body.vsg-area-societa-page .vsg-header-copy{
  min-width:0;
  max-width:900px;
}
body.vsg-area-societa-page .vsg-header h1{
  margin-top:12px!important;
  font-size:clamp(34px,3vw,50px)!important;
  white-space:normal!important;
}
body.vsg-area-societa-page .vsg-header p{
  font-size:16px!important;
}
body.vsg-area-societa-page .vsg-header-side{
  flex:0 0 auto;
  min-width:210px;
}

/* Barra menu: tutta dentro la pagina, nessuna uscita verso destra. */
body.vsg-area-societa-page .vsg-nav{
  position:sticky!important;
  top:12px!important;
  z-index:70!important;
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  width:calc(100% - clamp(24px,4vw,72px))!important;
  max-width:none!important;
  min-width:0!important;
  margin:-29px auto 30px!important;
  padding:8px!important;
  overflow:hidden!important;
}
body.vsg-area-societa-page .vsg-nav a{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  padding:10px 9px!important;
  white-space:normal!important;
  text-align:center!important;
  line-height:1.15!important;
}
body.vsg-area-societa-page .vsg-nav a b{
  min-width:0!important;
  overflow-wrap:anywhere;
  font-size:14px!important;
}
body.vsg-area-societa-page .vsg-nav .vsg-icon{
  width:22px!important;
  height:22px!important;
  flex:0 0 22px!important;
  stroke-width:1.9!important;
}

/* Le sezioni principali respirano e sono nettamente separate. */
body.vsg-area-societa-page .vsg-section-head{
  width:100%!important;
  margin:34px 0 18px!important;
  padding:0 2px!important;
}
body.vsg-area-societa-page .vsg-section-head h2{
  font-size:clamp(28px,2.25vw,38px)!important;
}
body.vsg-area-societa-page .vsg-card,
body.vsg-area-societa-page .vsg-table-wrap,
body.vsg-area-societa-page .vsg-filters,
body.vsg-area-societa-page .vsg-athlete-toolbar{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}
body.vsg-area-societa-page .vsg-card{
  padding:24px!important;
}
body.vsg-area-societa-page .vsg-dashboard-grid,
body.vsg-area-societa-page .vsg-detail-grid{
  width:100%!important;
  grid-template-columns:minmax(0,1.45fr) minmax(360px,.55fr)!important;
  gap:22px!important;
}
body.vsg-area-societa-page .vsg-stats{
  width:100%!important;
  grid-template-columns:repeat(7,minmax(150px,1fr))!important;
  gap:14px!important;
}
body.vsg-area-societa-page .vsg-stat-card,
body.vsg-area-societa-page .vsg-stats>a{
  min-width:0!important;
  min-height:142px!important;
}

/* Archivio atleti: toolbar unica, leggibile e realmente fluida. */
body.vsg-area-societa-page .vsg-athlete-toolbar{
  display:grid!important;
  grid-template-columns:minmax(360px,1fr) auto!important;
  align-items:center!important;
  gap:18px!important;
  margin:0 0 16px!important;
  padding:18px 20px!important;
  border:1px solid var(--vsg-line)!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:var(--vsg-shadow-sm)!important;
}
body.vsg-area-societa-page .vsg-live-search{
  position:relative!important;
  display:block!important;
  width:100%!important;
  min-width:0!important;
}
body.vsg-area-societa-page .vsg-live-search input{
  width:100%!important;
  min-width:0!important;
  height:52px!important;
  padding:0 50px 0 48px!important;
  border:1px solid #c9d8d0!important;
  border-radius:13px!important;
  background:#fbfdfc!important;
  color:var(--vsg-ink)!important;
  font-size:15px!important;
  font-weight:600!important;
  outline:none!important;
}
body.vsg-area-societa-page .vsg-live-search input:focus{
  border-color:var(--vsg-green-2)!important;
  background:#fff!important;
  box-shadow:0 0 0 4px rgba(19,138,86,.12)!important;
}
body.vsg-area-societa-page .vsg-live-search-icon{
  position:absolute!important;
  left:16px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  z-index:2!important;
  display:grid!important;
  place-items:center!important;
  color:var(--vsg-green)!important;
  pointer-events:none!important;
}
body.vsg-area-societa-page .vsg-live-search-icon .vsg-icon{
  width:21px!important;
  height:21px!important;
}
body.vsg-area-societa-page .vsg-search-clear{
  position:absolute!important;
  right:12px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  display:none;
  width:32px!important;
  height:32px!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  background:#edf3ef!important;
  color:#425149!important;
  font-size:20px!important;
  cursor:pointer!important;
}
body.vsg-area-societa-page .vsg-live-search.has-value .vsg-search-clear{display:grid!important;place-items:center!important}
body.vsg-area-societa-page .vsg-athlete-toolbar-info{
  display:flex!important;
  align-items:baseline!important;
  justify-content:flex-end!important;
  gap:7px!important;
  min-width:165px!important;
  padding:0 4px!important;
  white-space:nowrap!important;
}
body.vsg-area-societa-page .vsg-athlete-toolbar-info strong{
  color:var(--vsg-green)!important;
  font-size:34px!important;
  line-height:1!important;
}
body.vsg-area-societa-page .vsg-athlete-toolbar-info span{
  color:var(--vsg-muted)!important;
  font-size:13px!important;
  font-weight:700!important;
}

/* Filtri chiari e separati dalla ricerca immediata. */
body.vsg-area-societa-page .vsg-filters{
  margin:0 0 18px!important;
  overflow:hidden!important;
}
body.vsg-area-societa-page .vsg-filter-fields{
  grid-template-columns:repeat(6,minmax(140px,1fr))!important;
}
body.vsg-area-societa-page .vsg-filter-actions{
  min-width:0!important;
}
body.vsg-area-societa-page .vsg-filter-actions .vsg-btn{
  width:100%!important;
}

/* Tabella: usa tutta la pagina e non trascina il menu fuori schermo. */
body.vsg-area-societa-page .vsg-table-wrap{
  position:relative!important;
  overflow:auto!important;
  max-width:100%!important;
}
body.vsg-area-societa-page .vsg-athletes-table{
  width:100%!important;
  min-width:1280px!important;
  table-layout:auto!important;
}
body.vsg-area-societa-page .vsg-athletes-table th,
body.vsg-area-societa-page .vsg-athletes-table td{
  padding:15px 14px!important;
}
body.vsg-area-societa-page .vsg-athletes-table th:first-child,
body.vsg-area-societa-page .vsg-athletes-table td:first-child{
  position:sticky!important;
  left:0!important;
  z-index:4!important;
  min-width:220px!important;
  box-shadow:8px 0 12px -12px rgba(0,0,0,.38)!important;
}
body.vsg-area-societa-page .vsg-athletes-table th:first-child{
  z-index:6!important;
  background:#075b39!important;
}
body.vsg-area-societa-page .vsg-athletes-table tbody tr:nth-child(odd) td:first-child{background:#fff!important}
body.vsg-area-societa-page .vsg-athletes-table tbody tr:nth-child(even) td:first-child{background:#fbfdfc!important}
body.vsg-area-societa-page .vsg-athletes-table tbody tr:hover td:first-child{background:#f1f8f4!important}
body.vsg-area-societa-page .vsg-athletes-table th:nth-child(2){min-width:170px}
body.vsg-area-societa-page .vsg-athletes-table th:nth-child(3){min-width:190px}
body.vsg-area-societa-page .vsg-athletes-table th:nth-child(4){min-width:190px}
body.vsg-area-societa-page .vsg-athletes-table th:nth-child(5),
body.vsg-area-societa-page .vsg-athletes-table th:nth-child(6),
body.vsg-area-societa-page .vsg-athletes-table th:nth-child(7),
body.vsg-area-societa-page .vsg-athletes-table th:nth-child(8){min-width:145px}
body.vsg-area-societa-page .vsg-athletes-table th:last-child{min-width:95px}
body.vsg-area-societa-page .vsg-inline-form{
  min-width:175px!important;
}
body.vsg-area-societa-page .vsg-load-more-wrap{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:14px!important;
  width:100%!important;
  padding:22px 0 0!important;
}
body.vsg-area-societa-page .vsg-load-more-wrap.is-hidden{display:none!important}
body.vsg-area-societa-page .vsg-athlete-row.is-hidden-by-pagination,
body.vsg-area-societa-page .vsg-athlete-row.is-hidden-by-search{display:none!important}

/* Documenti, pagamenti e fascicolo: blocchi ben separati e larghi. */
body.vsg-area-societa-page .vsg-list{gap:18px!important}
body.vsg-area-societa-page .vsg-document-card,
body.vsg-area-societa-page .vsg-payment-card{
  grid-template-columns:minmax(0,1fr) auto!important;
}
body.vsg-area-societa-page .vsg-review-form{
  grid-template-columns:minmax(170px,.7fr) minmax(170px,.7fr) minmax(320px,1.8fr) auto!important;
}
body.vsg-area-societa-page .vsg-required-grid{
  grid-template-columns:repeat(4,minmax(190px,1fr))!important;
}
body.vsg-area-societa-page .vsg-athlete-summary{
  grid-template-columns:repeat(4,minmax(190px,1fr))!important;
}

/* Icone uniformi e più nitide. */
body.vsg-area-societa-page .vsg-icon{
  display:block!important;
  width:20px!important;
  height:20px!important;
  flex:0 0 20px!important;
  vector-effect:non-scaling-stroke;
}
body.vsg-area-societa-page .vsg-btn .vsg-icon,
body.vsg-area-societa-page .vsg-logout .vsg-icon{
  width:19px!important;
  height:19px!important;
}

/* Desktop intermedi: 4 schede, menu ancora completamente leggibile. */
@media (max-width:1450px){
  body.vsg-area-societa-page .vsg-stats{grid-template-columns:repeat(4,minmax(180px,1fr))!important}
  body.vsg-area-societa-page .vsg-filter-fields{grid-template-columns:repeat(3,minmax(180px,1fr))!important}
}
@media (max-width:1100px){
  body.vsg-area-societa-page .vsg-wrap{padding:20px 16px 55px!important}
  body.vsg-area-societa-page .vsg-dashboard-grid,
  body.vsg-area-societa-page .vsg-detail-grid{grid-template-columns:1fr!important}
  body.vsg-area-societa-page .vsg-nav{grid-template-columns:repeat(3,minmax(0,1fr))!important;margin:-22px 12px 26px!important;width:calc(100% - 24px)!important}
  body.vsg-area-societa-page .vsg-athlete-toolbar{grid-template-columns:1fr!important}
  body.vsg-area-societa-page .vsg-athlete-toolbar-info{justify-content:flex-start!important}
  body.vsg-area-societa-page .vsg-review-form{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:720px){
  body.vsg-area-societa-page .vsg-wrap{padding:12px 10px 45px!important}
  body.vsg-area-societa-page .vsg-header{min-height:0!important;padding:22px 18px 52px!important;align-items:flex-start!important}
  body.vsg-area-societa-page .vsg-header-side{min-width:0!important}
  body.vsg-area-societa-page .vsg-nav{grid-template-columns:repeat(2,minmax(0,1fr))!important;position:relative!important;top:auto!important;margin:-34px 8px 24px!important;width:calc(100% - 16px)!important}
  body.vsg-area-societa-page .vsg-nav a{justify-content:flex-start!important;text-align:left!important}
  body.vsg-area-societa-page .vsg-stats{grid-template-columns:1fr 1fr!important}
  body.vsg-area-societa-page .vsg-filter-fields{grid-template-columns:1fr!important}
  body.vsg-area-societa-page .vsg-required-grid,
  body.vsg-area-societa-page .vsg-athlete-summary{grid-template-columns:1fr!important}
  body.vsg-area-societa-page .vsg-document-card,
  body.vsg-area-societa-page .vsg-payment-card{grid-template-columns:1fr!important}
  body.vsg-area-societa-page .vsg-review-form{grid-template-columns:1fr!important}
}


/* 0.3.3 — template nativo full-width.
   Il gestionale viene renderizzato fuori dai contenitori/colonne del tema,
   quindi non può più essere tagliato da overflow o griglie al 50%. */
body.vsg-area-societa-page .vsg-native-layout{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  background:linear-gradient(180deg,#f8fbf9 0%,#f3f7f5 100%)!important;
}
body.vsg-area-societa-page .vsg-native-layout .vsg-wrap{
  position:relative!important;
  inset:auto!important;
  left:auto!important;
  right:auto!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:30px clamp(18px,3vw,56px) 70px!important;
  overflow:visible!important;
}
body.vsg-area-societa-page .vsg-native-layout .vsg-header,
body.vsg-area-societa-page .vsg-native-layout .vsg-nav,
body.vsg-area-societa-page .vsg-native-layout .vsg-main{
  box-sizing:border-box!important;
  max-width:none!important;
}
body.vsg-area-societa-page .vsg-native-layout .vsg-main{
  display:block!important;
  width:100%!important;
  min-width:0!important;
}
body.vsg-area-societa-page .vsg-native-layout .vsg-nav{
  left:auto!important;
  right:auto!important;
}
@media (min-width:1600px){
  body.vsg-area-societa-page .vsg-native-layout .vsg-wrap{
    padding-left:64px!important;
    padding-right:64px!important;
  }
}
@media (max-width:1100px){
  body.vsg-area-societa-page .vsg-native-layout .vsg-wrap{
    padding:20px 16px 55px!important;
  }
}
@media (max-width:720px){
  body.vsg-area-societa-page .vsg-native-layout .vsg-wrap{
    padding:12px 10px 45px!important;
  }
}


/* ==========================================================
   0.3.4 — MODALITÀ APPLICAZIONE AUTONOMA
   Non usa più i wrapper del tema: larghezza reale 100vw.
   ========================================================== */
html:has(body.vsg-standalone-app){
  margin-right:0!important;
  overflow-x:hidden!important;
}
body.vsg-standalone-app{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  overflow-x:hidden!important;
  background:var(--vsg-page)!important;
}
body.vsg-standalone-app:before,
body.vsg-standalone-app:after{
  display:none!important;
  content:none!important;
}
body.vsg-standalone-app .vsg-standalone-layout{
  display:block!important;
  position:relative!important;
  inset:auto!important;
  float:none!important;
  clear:both!important;
  width:100vw!important;
  min-width:0!important;
  max-width:100vw!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  background:var(--vsg-page)!important;
}
body.vsg-standalone-app .vsg-standalone-layout>.vsg-wrap{
  display:block!important;
  position:relative!important;
  inset:auto!important;
  left:auto!important;
  right:auto!important;
  float:none!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  transform:none!important;
  padding:clamp(18px,2.4vw,42px) clamp(16px,3vw,58px) 72px!important;
  overflow:visible!important;
}
body.vsg-standalone-app .vsg-header,
body.vsg-standalone-app .vsg-nav,
body.vsg-standalone-app .vsg-main,
body.vsg-standalone-app .vsg-stats,
body.vsg-standalone-app .vsg-dashboard-grid,
body.vsg-standalone-app .vsg-detail-grid,
body.vsg-standalone-app .vsg-section-head,
body.vsg-standalone-app .vsg-table-wrap,
body.vsg-standalone-app .vsg-filters,
body.vsg-standalone-app .vsg-athlete-toolbar{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
}
body.vsg-standalone-app .vsg-nav{
  margin-left:auto!important;
  margin-right:auto!important;
}
body.vsg-standalone-app #wpadminbar{
  position:fixed!important;
}
@media (min-width:1500px){
  body.vsg-standalone-app .vsg-standalone-layout>.vsg-wrap{
    padding-left:68px!important;
    padding-right:68px!important;
  }
}
@media (max-width:900px){
  body.vsg-standalone-app .vsg-standalone-layout>.vsg-wrap{
    padding:16px 14px 54px!important;
  }
}
@media (max-width:600px){
  body.vsg-standalone-app .vsg-standalone-layout>.vsg-wrap{
    padding:10px 8px 44px!important;
  }
}


/* ==========================================================
   0.3.5 — INTESTAZIONE ARCHIVIO ATLETI
   ========================================================== */
.vsg-athletes-section-head{
  align-items:center;
  padding:0;
  margin-top:32px;
  margin-bottom:18px;
}
.vsg-athletes-heading-copy{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  min-width:0;
}
.vsg-athletes-heading-copy>span{
  margin-bottom:9px;
}
.vsg-section-title-pill{
  display:inline-flex!important;
  align-items:center;
  gap:14px;
  width:max-content;
  max-width:100%;
  margin:0 0 9px!important;
  padding:15px 24px 16px;
  border-radius:16px;
  background:linear-gradient(135deg,var(--vsg-green),#15905b);
  color:#fff!important;
  box-shadow:0 9px 22px rgba(11,107,67,.20);
  font-size:clamp(32px,3.2vw,48px)!important;
  line-height:1!important;
  letter-spacing:-.035em!important;
}
.vsg-section-title-pill .vsg-section-title-icon{
  flex:0 0 auto;
  width:34px;
  height:34px;
  stroke-width:2.1;
}
.vsg-section-title-pill>span{
  display:block;
}
.vsg-athletes-heading-copy>p{
  margin:0!important;
  font-size:18px;
  color:var(--vsg-muted);
}
.vsg-athletes-heading-copy .vsg-athlete-total{
  font-size:1.45em;
  line-height:1;
  color:#627068;
}
.vsg-export-compact{
  min-height:40px!important;
  padding:8px 12px!important;
  border-radius:10px!important;
  font-size:13px!important;
  gap:7px!important;
  white-space:nowrap;
}
.vsg-export-compact .vsg-icon{
  width:17px!important;
  height:17px!important;
}
@media(max-width:700px){
  .vsg-athletes-section-head{
    align-items:stretch!important;
  }
  .vsg-section-title-pill{
    width:100%;
    padding:14px 18px 15px;
    font-size:34px!important;
    border-radius:14px;
  }
  .vsg-section-title-pill .vsg-section-title-icon{
    width:29px;
    height:29px;
  }
  .vsg-export-compact{
    width:max-content!important;
    max-width:100%;
    align-self:flex-start;
  }
}


/* ==========================================================
   0.3.6 — ARCHIVIO ATLETI PIÙ COMPATTO E LEGGIBILE
   ========================================================== */

/* Filtri più ordinati: ricerca separata, campi avanzati compatti. */
.vsg-filters{
  border-color:#d8e4dd!important;
  border-radius:18px!important;
  box-shadow:0 8px 24px rgba(18,54,38,.055)!important;
}
.vsg-filter-top{
  min-height:64px;
  padding:13px 16px!important;
  background:linear-gradient(135deg,#f8fcfa,#eef7f2)!important;
}
.vsg-filter-top>div{
  gap:9px!important;
}
.vsg-filter-top strong{
  font-size:14px!important;
  color:#25332c;
}
.vsg-filter-toggle{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:36px;
  padding:7px 11px!important;
  border:1px solid #bfd4c8!important;
  border-radius:10px!important;
  background:#fff!important;
  color:var(--vsg-green)!important;
  font-size:12px!important;
  box-shadow:0 3px 8px rgba(18,54,38,.05);
}
.vsg-filter-toggle b{
  font-size:15px;
  line-height:1;
}
.vsg-filter-fields-athletes{
  grid-template-columns:repeat(5,minmax(135px,1fr)) auto!important;
  align-items:end;
  gap:12px!important;
  padding:15px 16px 17px!important;
}
.vsg-filter-fields-athletes label span{
  min-height:16px;
  font-size:12px!important;
}
.vsg-filter-fields-athletes select{
  min-height:42px!important;
  padding:8px 36px 8px 11px!important;
  border-color:#cbdad2!important;
  border-radius:10px!important;
  font-size:14px!important;
  font-weight:600!important;
}
.vsg-filter-fields-athletes .vsg-filter-actions{
  display:grid!important;
  grid-template-columns:auto auto;
  gap:8px!important;
  align-items:end!important;
}
.vsg-filter-fields-athletes .vsg-filter-actions .vsg-btn{
  width:auto!important;
  min-width:92px;
  min-height:42px!important;
  padding:8px 12px!important;
  font-size:13px!important;
  white-space:nowrap;
}
.vsg-filter-search-sync{display:none!important}

/* Tabella desktop: tutte le colonne visibili e tipografia uniforme. */
.vsg-athletes-table-wrap{
  overflow-x:auto!important;
}
.vsg-athletes-table{
  width:100%!important;
  table-layout:fixed!important;
  min-width:0!important;
}
.vsg-athletes-table .vsg-col-athlete{width:17%}
.vsg-athletes-table .vsg-col-team{width:12%}
.vsg-athletes-table .vsg-col-family{width:14%}
.vsg-athletes-table .vsg-col-figc{width:14%}
.vsg-athletes-table .vsg-col-registration{width:10%}
.vsg-athletes-table .vsg-col-documents{width:11%}
.vsg-athletes-table .vsg-col-medical{width:12%}
.vsg-athletes-table .vsg-col-payment{width:10%}

.vsg-athletes-table th{
  padding:13px 12px!important;
  font-size:12px!important;
  line-height:1.15!important;
  letter-spacing:.07em!important;
  white-space:normal!important;
}
.vsg-athletes-table td{
  padding:13px 12px!important;
  font-size:14px!important;
  line-height:1.35!important;
  overflow-wrap:anywhere;
}
.vsg-athletes-table td strong,
.vsg-athletes-table td a,
.vsg-athletes-table td span:not(.vsg-badge){
  font-size:inherit;
}
.vsg-athlete-name-link{
  display:inline!important;
  color:#17231d!important;
  text-decoration:none!important;
  font-size:14px!important;
  font-weight:700!important;
  line-height:1.3!important;
}
.vsg-athlete-name-link:hover{
  color:var(--vsg-green)!important;
  text-decoration:underline!important;
  text-underline-offset:3px;
}
.vsg-athlete-surname{
  font-weight:700;
  letter-spacing:.01em;
}
.vsg-athlete-given-name{
  font-weight:700;
}
.vsg-athlete-cf{
  display:block;
  margin-top:5px!important;
  color:#7a8880!important;
  font-size:12px!important;
  font-weight:600;
  letter-spacing:.025em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.vsg-athletes-table .vsg-badge{
  max-width:100%;
  padding:5px 7px!important;
  font-size:11px!important;
  line-height:1.15!important;
  white-space:normal!important;
  text-align:center;
}
.vsg-athletes-table td>small:not(.vsg-athlete-cf){
  margin-top:5px!important;
  font-size:12px!important;
}
.vsg-figc-autosave{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:4px;
  width:100%;
  min-width:0;
}
.vsg-figc-input{
  width:100%!important;
  min-width:0!important;
  max-width:132px;
  height:39px;
  padding:7px 9px!important;
  border:1px solid #c6d5cd!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#27332d!important;
  font-size:14px!important;
  font-weight:700!important;
  transition:.15s ease;
}
.vsg-figc-input:focus{
  border-color:var(--vsg-green-2)!important;
  box-shadow:0 0 0 3px rgba(19,138,86,.12)!important;
  outline:none!important;
}
.vsg-figc-status{
  min-height:14px;
  margin:0!important;
  font-size:10px!important;
  font-weight:700;
}
.vsg-figc-autosave.is-saving .vsg-figc-status{color:#745600}
.vsg-figc-autosave.is-saved .vsg-figc-status{color:var(--vsg-green)}
.vsg-figc-autosave.is-error .vsg-figc-status{color:var(--vsg-red)}
.vsg-figc-autosave.is-saved .vsg-figc-input{border-color:#78b995!important;background:#f4fbf7!important}
.vsg-figc-autosave.is-error .vsg-figc-input{border-color:#db8d87!important;background:#fff8f7!important}

/* Annulla le vecchie larghezze minime desktop che obbligavano lo scroll. */
body.vsg-area-societa-page .vsg-athletes-table{
  width:100%!important;
  min-width:0!important;
  table-layout:fixed!important;
}
body.vsg-area-societa-page .vsg-athletes-table th:first-child,
body.vsg-area-societa-page .vsg-athletes-table td:first-child{
  min-width:0!important;
}
body.vsg-area-societa-page .vsg-athletes-table th:nth-child(2),
body.vsg-area-societa-page .vsg-athletes-table th:nth-child(3),
body.vsg-area-societa-page .vsg-athletes-table th:nth-child(4),
body.vsg-area-societa-page .vsg-athletes-table th:nth-child(5),
body.vsg-area-societa-page .vsg-athletes-table th:nth-child(6),
body.vsg-area-societa-page .vsg-athletes-table th:nth-child(7),
body.vsg-area-societa-page .vsg-athletes-table th:nth-child(8){
  min-width:0!important;
}

/* Su schermi medi resta leggibile con scorrimento solo quando serve davvero. */
@media(max-width:1250px){
  .vsg-athletes-table{
    min-width:1080px!important;
    table-layout:fixed!important;
  }
  .vsg-filter-fields-athletes{
    grid-template-columns:repeat(3,minmax(170px,1fr))!important;
  }
  .vsg-filter-fields-athletes .vsg-filter-actions{
    grid-column:auto;
  }
}
@media(max-width:760px){
  .vsg-filter-top{
    align-items:flex-start!important;
  }
  .vsg-filter-fields-athletes{
    grid-template-columns:1fr!important;
  }
  .vsg-filter-fields-athletes .vsg-filter-actions{
    grid-template-columns:1fr 1fr!important;
  }
  .vsg-filter-fields-athletes .vsg-filter-actions .vsg-btn{
    width:100%!important;
  }
}


/* ==========================================================
   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.3 — TESTATA AREA SOCIETAÀ UNIFORMATA A AREA FAMIGLIE
   ========================================================== */
body.vsg-area-societa-page .vsg-wrap{
  padding-top:24px!important;
}

body.vsg-area-societa-page .vsg-header{
  min-height:290px!important;
  padding:44px 48px 92px!important;
  border-radius:30px!important;
  align-items:flex-start!important;
  overflow:hidden!important;
}
body.vsg-area-societa-page .vsg-header-copy{
  max-width:920px!important;
}
body.vsg-area-societa-page .vsg-header h1{
  margin:18px 0 10px!important;
  font-size:clamp(46px,4vw,58px)!important;
  line-height:1.02!important;
  letter-spacing:-.04em!important;
}
body.vsg-area-societa-page .vsg-header p{
  font-size:17px!important;
  color:rgba(255,255,255,.9)!important;
}
body.vsg-area-societa-page .vsg-header-side{
  min-width:240px!important;
  gap:22px!important;
  align-items:flex-end!important;
}
body.vsg-area-societa-page .vsg-today{
  font-size:16px!important;
  color:rgba(255,255,255,.86)!important;
}
body.vsg-area-societa-page .vsg-logout{
  min-height:56px!important;
  padding:0 20px!important;
  border-radius:16px!important;
}

body.vsg-area-societa-page .vsg-nav{
  position:relative!important;
  top:auto!important;
  z-index:70!important;
  width:calc(100% - 72px)!important;
  max-width:1920px!important;
  margin:-48px auto 34px!important;
  padding:12px!important;
  border-radius:22px!important;
  box-shadow:0 18px 44px rgba(33,61,47,.12)!important;
  overflow:hidden!important;
}
body.vsg-area-societa-page .vsg-nav a{
  min-height:68px!important;
  padding:12px 14px!important;
  border-radius:16px!important;
}
body.vsg-area-societa-page .vsg-nav a b{
  font-size:15px!important;
}
body.vsg-area-societa-page .vsg-nav .vsg-icon{
  width:24px!important;
  height:24px!important;
  flex:0 0 24px!important;
}

@media(min-width:1500px){
  body.vsg-area-societa-page .vsg-nav{
    width:calc(100% - 92px)!important;
  }
}

@media(max-width:1100px){
  body.vsg-area-societa-page .vsg-header{
    min-height:260px!important;
    padding:34px 28px 82px!important;
  }
  body.vsg-area-societa-page .vsg-header h1{
    font-size:clamp(38px,5.8vw,50px)!important;
  }
  body.vsg-area-societa-page .vsg-nav{
    width:calc(100% - 36px)!important;
    margin-top:-42px!important;
  }
}

@media(max-width:720px){
  body.vsg-area-societa-page .vsg-header{
    min-height:236px!important;
    padding:28px 20px 72px!important;
  }
  body.vsg-area-societa-page .vsg-header h1{
    font-size:34px!important;
    margin-top:14px!important;
  }
  body.vsg-area-societa-page .vsg-header p{
    font-size:15px!important;
  }
  body.vsg-area-societa-page .vsg-header-side{
    gap:12px!important;
  }
  body.vsg-area-societa-page .vsg-nav{
    width:calc(100% - 22px)!important;
    margin-top:-36px!important;
    padding:8px!important;
  }
  body.vsg-area-societa-page .vsg-nav a{
    min-height:58px!important;
    padding:10px 10px!important;
  }
}


/* ==========================================================
   0.5.8 — FILTRI, TABELLA E TESSERAMENTO FIGC
   ========================================================== */

/* Pulsanti filtri allineati alla parte alta dei menu a tendina. */
body.vsg-area-societa-page .vsg-filter-fields-athletes{
  grid-template-columns:repeat(6,minmax(120px,1fr)) auto!important;
  align-items:start!important;
}
body.vsg-area-societa-page .vsg-filter-fields-athletes > label{
  display:flex!important;
  flex-direction:column!important;
  gap:6px!important;
}
body.vsg-area-societa-page .vsg-filter-fields-athletes .vsg-filter-actions{
  align-self:start!important;
  margin-top:25px!important;
}
body.vsg-area-societa-page .vsg-filter-fields-athletes .vsg-filter-actions .vsg-btn{
  min-height:44px!important;
  height:44px!important;
}

/* Bordi tabella più sottili e chiari. */
body.vsg-area-societa-page .vsg-athletes-table-wrap{
  border:1px solid #d5e1da!important;
  border-radius:18px!important;
}
body.vsg-area-societa-page .vsg-athletes-table th,
body.vsg-area-societa-page .vsg-athletes-table td{
  border-right:1px solid #dbe5df!important;
  border-bottom:1px solid #dbe5df!important;
}
body.vsg-area-societa-page .vsg-athletes-table th:last-child,
body.vsg-area-societa-page .vsg-athletes-table td:last-child{
  border-right:0!important;
}
body.vsg-area-societa-page .vsg-athletes-table tbody tr:last-child td{
  border-bottom:0!important;
}

/* Nove colonne equilibrate. */
.vsg-athletes-table .vsg-col-athlete{width:15%}
.vsg-athletes-table .vsg-col-team{width:10%}
.vsg-athletes-table .vsg-col-family{width:11%}
.vsg-athletes-table .vsg-col-figc{width:12%}
.vsg-athletes-table .vsg-col-registration{width:9%}
.vsg-athletes-table .vsg-col-documents{width:10%}
.vsg-athletes-table .vsg-col-medical{width:10%}
.vsg-athletes-table .vsg-col-payment{width:10%}
.vsg-athletes-table .vsg-col-tesseramento{width:13%}

/* Interruttore tesseramento. */
.vsg-tesseramento-toggle{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  min-width:0!important;
  cursor:pointer;
}
.vsg-tesseramento-toggle input{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
}
.vsg-tesseramento-switch{
  position:relative!important;
  flex:0 0 38px!important;
  width:38px!important;
  height:22px!important;
  border-radius:999px!important;
  background:#cbd7d0!important;
  transition:.18s ease!important;
}
.vsg-tesseramento-switch:after{
  content:""!important;
  position:absolute!important;
  top:3px!important;
  left:3px!important;
  width:16px!important;
  height:16px!important;
  border-radius:50%!important;
  background:#fff!important;
  box-shadow:0 2px 5px rgba(20,44,31,.22)!important;
  transition:.18s ease!important;
}
.vsg-tesseramento-input:checked + .vsg-tesseramento-switch{
  background:#0b6b43!important;
}
.vsg-tesseramento-input:checked + .vsg-tesseramento-switch:after{
  transform:translateX(16px)!important;
}
.vsg-tesseramento-copy{
  display:block!important;
  min-width:0!important;
}
.vsg-tesseramento-copy strong,
.vsg-tesseramento-copy small{
  display:block!important;
}
.vsg-tesseramento-copy strong{
  color:#25342c!important;
  font-size:12px!important;
  line-height:1.2!important;
}
.vsg-tesseramento-copy small{
  margin-top:3px!important;
  color:#75847b!important;
  font-size:10px!important;
  line-height:1.25!important;
}
.vsg-tesseramento-toggle.is-saving{opacity:.58!important}
.vsg-tesseramento-toggle.is-error{animation:vsg-shake .25s linear 2}
@keyframes vsg-shake{25%{transform:translateX(-2px)}75%{transform:translateX(2px)}}

.vsg-tesseramento-fascicolo{
  margin-top:18px!important;
  padding:16px!important;
  border:1px solid #d8e5dd!important;
  border-radius:14px!important;
  background:#f7fbf9!important;
}
.vsg-tesseramento-fascicolo>span{
  display:block!important;
  margin-bottom:10px!important;
  color:#0b6b43!important;
  font-size:11px!important;
  font-weight:700!important;
  letter-spacing:.14em!important;
}

@media(max-width:1450px){
  body.vsg-area-societa-page .vsg-filter-fields-athletes{
    grid-template-columns:repeat(3,minmax(170px,1fr))!important;
  }
  body.vsg-area-societa-page .vsg-filter-fields-athletes .vsg-filter-actions{
    margin-top:0!important;
  }
  .vsg-athletes-table{min-width:1250px!important}
}


/* ==========================================================
   0.5.9 — FOTOTESSERA ATLETA / AREA SOCIETÀ
   ========================================================== */
body.vsg-area-societa-page .vsg-filter-fields-athletes{
  grid-template-columns:repeat(8,minmax(108px,1fr)) auto!important;
}
.vsg-athletes-table .vsg-col-athlete{width:13%}
.vsg-athletes-table .vsg-col-photo{width:8%}
.vsg-athletes-table .vsg-col-team{width:9%}
.vsg-athletes-table .vsg-col-family{width:10%}
.vsg-athletes-table .vsg-col-figc{width:11%}
.vsg-athletes-table .vsg-col-registration{width:8%}
.vsg-athletes-table .vsg-col-documents{width:9%}
.vsg-athletes-table .vsg-col-medical{width:9%}
.vsg-athletes-table .vsg-col-payment{width:9%}
.vsg-athletes-table .vsg-col-tesseramento{width:14%}

.vsg-photo-table-cell{
  text-align:center!important;
}
.vsg-photo-thumb,
.vsg-photo-placeholder{
  display:grid!important;
  place-items:center!important;
  width:48px!important;
  height:64px!important;
  margin:0 auto 7px!important;
  overflow:hidden!important;
  border:1px solid #cadbd1!important;
  border-radius:10px!important;
  background:#edf5f0!important;
  text-decoration:none!important;
}
.vsg-photo-thumb img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.vsg-photo-placeholder{
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif!important;
  font-size:30px!important;
}
.vsg-photo-table-cell .vsg-badge{
  display:inline-flex!important;
  font-size:9px!important;
}

.vsg-photo-admin-card{
  scroll-margin-top:100px;
}
.vsg-photo-admin-body{
  display:grid!important;
  grid-template-columns:210px minmax(0,1fr)!important;
  gap:24px!important;
  align-items:start!important;
}
.vsg-photo-admin-preview{
  display:grid!important;
  place-items:center!important;
  width:100%!important;
  aspect-ratio:3/4!important;
  overflow:hidden!important;
  border:1px solid #d2e0d8!important;
  border-radius:16px!important;
  background:#eef5f1!important;
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif!important;
  font-size:74px!important;
}
.vsg-photo-admin-preview img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.vsg-photo-admin-content{
  min-width:0!important;
}
.vsg-photo-admin-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  margin-bottom:16px!important;
}
.vsg-photo-review-form{
  margin-top:0!important;
}
@media(max-width:1500px){
  body.vsg-area-societa-page .vsg-filter-fields-athletes{
    grid-template-columns:repeat(4,minmax(150px,1fr))!important;
  }
  .vsg-athletes-table{min-width:1500px!important}
}
@media(max-width:720px){
  .vsg-photo-admin-body{
    grid-template-columns:1fr!important;
  }
  .vsg-photo-admin-preview{
    max-width:220px!important;
  }
}


/* ==========================================================
   0.6.0 — FASCICOLO ATLETA PIÙ FRIENDLY
   Fototessera a tutta larghezza e comandi sempre visibili
   ========================================================== */

/* Prima riga: anagrafica e visita. Seconda riga: fototessera piena. */
body.vsg-area-societa-page .vsg-detail-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1.25fr) minmax(310px,.75fr)!important;
  gap:22px!important;
  align-items:start!important;
}
body.vsg-area-societa-page .vsg-detail-grid > section:first-child{
  grid-column:1!important;
  grid-row:1!important;
}
body.vsg-area-societa-page .vsg-detail-grid > #vsg-visita{
  grid-column:2!important;
  grid-row:1!important;
}
body.vsg-area-societa-page .vsg-detail-grid > .vsg-photo-admin-card{
  grid-column:1 / -1!important;
  grid-row:2!important;
  width:100%!important;
  min-width:0!important;
}

/* Card fototessera più ampia e leggibile. */
body.vsg-area-societa-page .vsg-photo-admin-card{
  padding:28px!important;
  overflow:visible!important;
}
body.vsg-area-societa-page .vsg-photo-admin-card .vsg-card-head{
  align-items:flex-start!important;
  margin-bottom:22px!important;
  padding-bottom:18px!important;
  border-bottom:1px solid #dfe8e3!important;
}
body.vsg-area-societa-page .vsg-photo-admin-card .vsg-card-head h3{
  margin:5px 0 7px!important;
  font-size:28px!important;
  line-height:1.12!important;
}
body.vsg-area-societa-page .vsg-photo-admin-card .vsg-card-head p{
  max-width:760px!important;
  margin:0!important;
  font-size:14px!important;
  line-height:1.5!important;
}

/* Anteprima a sinistra, gestione a destra. */
body.vsg-area-societa-page .vsg-photo-admin-body{
  display:grid!important;
  grid-template-columns:minmax(210px,260px) minmax(0,1fr)!important;
  gap:32px!important;
  align-items:start!important;
  width:100%!important;
  min-width:0!important;
}
body.vsg-area-societa-page .vsg-photo-admin-preview{
  width:100%!important;
  max-width:260px!important;
  aspect-ratio:3/4!important;
  margin:0!important;
  border-radius:18px!important;
  box-shadow:0 10px 28px rgba(18,54,38,.10)!important;
}
body.vsg-area-societa-page .vsg-photo-admin-content{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  width:100%!important;
}

/* Azioni immediate ben separate. */
body.vsg-area-societa-page .vsg-photo-admin-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  margin:0 0 18px!important;
  padding:0 0 18px!important;
  border-bottom:1px solid #e1e9e5!important;
}
body.vsg-area-societa-page .vsg-photo-admin-actions .vsg-btn{
  min-height:44px!important;
  padding:10px 16px!important;
  white-space:nowrap!important;
}

/* Form approvazione senza tagli. */
body.vsg-area-societa-page .vsg-photo-review-form{
  display:grid!important;
  grid-template-columns:minmax(190px,230px) minmax(280px,1fr) auto!important;
  gap:14px!important;
  align-items:end!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:20px!important;
  border:1px solid #d8e5dd!important;
  border-radius:16px!important;
  background:#f7fbf9!important;
}
body.vsg-area-societa-page .vsg-photo-review-form label,
body.vsg-area-societa-page .vsg-photo-review-form .vsg-wide{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
}
body.vsg-area-societa-page .vsg-photo-review-form select,
body.vsg-area-societa-page .vsg-photo-review-form input{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
}
body.vsg-area-societa-page .vsg-photo-review-form .vsg-btn{
  align-self:end!important;
  min-height:44px!important;
  white-space:nowrap!important;
}

/* Visita e anagrafica con altezze più coerenti. */
body.vsg-area-societa-page .vsg-detail-grid > section:first-child,
body.vsg-area-societa-page .vsg-detail-grid > #vsg-visita{
  min-height:100%!important;
}
body.vsg-area-societa-page #vsg-visita{
  display:flex!important;
  flex-direction:column!important;
}
body.vsg-area-societa-page #vsg-visita .vsg-medical-big{
  margin-top:auto!important;
}

/* Tablet: foto sempre piena, form su due righe. */
@media(max-width:1200px){
  body.vsg-area-societa-page .vsg-photo-review-form{
    grid-template-columns:minmax(180px,230px) minmax(0,1fr)!important;
  }
  body.vsg-area-societa-page .vsg-photo-review-form .vsg-btn{
    grid-column:1 / -1!important;
    justify-self:start!important;
  }
}

/* Schermi medi: tutto su una colonna. */
@media(max-width:950px){
  body.vsg-area-societa-page .vsg-detail-grid{
    grid-template-columns:1fr!important;
  }
  body.vsg-area-societa-page .vsg-detail-grid > section:first-child,
  body.vsg-area-societa-page .vsg-detail-grid > #vsg-visita,
  body.vsg-area-societa-page .vsg-detail-grid > .vsg-photo-admin-card{
    grid-column:1!important;
    grid-row:auto!important;
  }
  body.vsg-area-societa-page .vsg-photo-admin-body{
    grid-template-columns:minmax(180px,230px) minmax(0,1fr)!important;
  }
}

/* Smartphone. */
@media(max-width:680px){
  body.vsg-area-societa-page .vsg-photo-admin-card{
    padding:18px!important;
  }
  body.vsg-area-societa-page .vsg-photo-admin-body{
    grid-template-columns:1fr!important;
    gap:20px!important;
  }
  body.vsg-area-societa-page .vsg-photo-admin-preview{
    max-width:220px!important;
  }
  body.vsg-area-societa-page .vsg-photo-review-form{
    grid-template-columns:1fr!important;
    padding:16px!important;
  }
  body.vsg-area-societa-page .vsg-photo-review-form .vsg-btn{
    grid-column:1!important;
    width:100%!important;
  }
  body.vsg-area-societa-page .vsg-photo-admin-actions .vsg-btn{
    flex:1 1 100%!important;
  }
}


/* ==========================================================
   0.6.1 — FASCICOLO ATLETA RIORGANIZZATO
   ========================================================== */

/* Ritorno e identità atleta. */
body.vsg-area-societa-page .vsg-athlete-back-row{
  display:flex!important;
  align-items:center!important;
  margin:6px 0 10px!important;
}
body.vsg-area-societa-page .vsg-athlete-back-row .vsg-back{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  color:var(--vsg-green)!important;
  font-size:14px!important;
  font-weight:700!important;
  text-decoration:none!important;
}
body.vsg-area-societa-page .vsg-athlete-back-row .vsg-back:hover{
  text-decoration:underline!important;
  text-underline-offset:3px!important;
}
body.vsg-area-societa-page .vsg-athlete-identity{
  margin-bottom:20px!important;
}
body.vsg-area-societa-page .vsg-athlete-identity>span{
  display:block!important;
  margin-bottom:7px!important;
  color:var(--vsg-green)!important;
  font-size:11px!important;
  font-weight:700!important;
  letter-spacing:.17em!important;
}
body.vsg-area-societa-page .vsg-athlete-identity h2{
  margin:0!important;
  color:var(--vsg-ink)!important;
  font-size:clamp(34px,3.2vw,48px)!important;
  font-weight:700!important;
  line-height:1.02!important;
  letter-spacing:-.04em!important;
}
body.vsg-area-societa-page .vsg-athlete-identity p{
  margin:8px 0 0!important;
  color:var(--vsg-muted)!important;
  font-size:15px!important;
}

/* Cinque riquadri sulla stessa linea, stile dashboard. */
body.vsg-area-societa-page .vsg-athlete-status-grid{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:13px!important;
  margin-bottom:26px!important;
}
body.vsg-area-societa-page .vsg-athlete-status-grid .vui-status-card{
  min-height:170px!important;
  padding:17px 15px 14px!important;
  grid-template-columns:48px minmax(0,1fr) 22px!important;
  column-gap:11px!important;
}
body.vsg-area-societa-page .vsg-athlete-status-grid .vui-status-emoji{
  width:48px!important;
  height:48px!important;
  font-size:38px!important;
}
body.vsg-area-societa-page .vsg-athlete-status-grid .vui-status-title{
  font-size:13px!important;
}
body.vsg-area-societa-page .vsg-athlete-status-grid .vui-status-value{
  font-size:29px!important;
}
body.vsg-area-societa-page .vsg-athlete-status-grid .vui-status-value.is-text{
  overflow:hidden!important;
  font-size:18px!important;
  line-height:1.12!important;
  text-overflow:ellipsis!important;
}
body.vsg-area-societa-page .vsg-athlete-status-grid .vui-status-detail{
  font-size:10px!important;
}

/* Barra fascicolo nello stile della navigazione principale. */
body.vsg-area-societa-page .vsg-detail-nav-modern{
  position:sticky!important;
  top:14px!important;
  z-index:65!important;
  display:grid!important;
  grid-template-columns:repeat(7,minmax(0,1fr))!important;
  gap:7px!important;
  width:100%!important;
  margin:0 0 30px!important;
  padding:10px!important;
  border:1px solid #d8e4dd!important;
  border-radius:20px!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:0 13px 32px rgba(18,54,38,.12)!important;
  backdrop-filter:blur(12px)!important;
  overflow:hidden!important;
}
body.vsg-area-societa-page .vsg-detail-nav-modern a{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  min-height:52px!important;
  padding:9px 10px!important;
  border-radius:13px!important;
  color:#45564d!important;
  font-size:13px!important;
  font-weight:700!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  transition:.16s ease!important;
}
body.vsg-area-societa-page .vsg-detail-nav-modern a:hover{
  background:#eff7f3!important;
  color:var(--vsg-green)!important;
}
body.vsg-area-societa-page .vsg-detail-nav-modern a.is-active{
  background:var(--vsg-green)!important;
  color:#fff!important;
  box-shadow:0 7px 16px rgba(11,107,67,.16)!important;
}
body.vsg-area-societa-page .vsg-detail-nav-icon{
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif!important;
  font-size:20px!important;
  line-height:1!important;
}
body.vsg-area-societa-page .vsg-detail-nav-modern a b{
  color:inherit!important;
  font-size:inherit!important;
  font-weight:inherit!important;
}

/* Titoli verdi come “Rinnovi, pagamenti e ricevute”. */
body.vsg-area-societa-page .vsg-detail-section-title{
  display:flex!important;
  align-items:flex-start!important;
  width:100%!important;
  margin:28px 0 14px!important;
  scroll-margin-top:100px!important;
}
body.vsg-area-societa-page .vsg-detail-section-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(--vsg-green),#14905a)!important;
  color:#fff!important;
  box-shadow:0 9px 22px rgba(11,107,67,.17)!important;
  font-size:clamp(24px,2.6vw,34px)!important;
  font-weight:400!important;
  line-height:1.1!important;
  letter-spacing:-.03em!important;
}
body.vsg-area-societa-page .vsg-detail-section-title h2>span{
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif!important;
  font-size:.92em!important;
  line-height:1!important;
}

/* Anagrafica da sola su tutta la larghezza. */
body.vsg-area-societa-page .vsg-anagrafica-card{
  width:100%!important;
  min-width:0!important;
  padding:24px!important;
}
body.vsg-area-societa-page .vsg-anagrafica-card .vsg-dl{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  column-gap:28px!important;
}
body.vsg-area-societa-page .vsg-anagrafica-card .vsg-figc-box{
  margin-top:18px!important;
}
body.vsg-area-societa-page .vsg-anagrafica-card .vsg-tesseramento-fascicolo{
  margin-top:18px!important;
}

/* Fototessera e visita sulla stessa riga. */
body.vsg-area-societa-page .vsg-detail-pair{
  display:grid!important;
  grid-template-columns:minmax(0,1.45fr) minmax(310px,.55fr)!important;
  gap:22px!important;
  align-items:stretch!important;
}
body.vsg-area-societa-page .vsg-detail-section-group{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
}
body.vsg-area-societa-page .vsg-detail-section-group>.vsg-card{
  flex:1 1 auto!important;
}
body.vsg-area-societa-page .vsg-detail-pair .vsg-photo-admin-card{
  width:100%!important;
  min-width:0!important;
  padding:22px!important;
}
body.vsg-area-societa-page .vsg-detail-pair .vsg-photo-admin-body{
  grid-template-columns:180px minmax(0,1fr)!important;
  gap:22px!important;
}
body.vsg-area-societa-page .vsg-detail-pair .vsg-photo-admin-preview{
  max-width:180px!important;
}
body.vsg-area-societa-page .vsg-detail-pair .vsg-photo-review-form{
  grid-template-columns:1fr!important;
  gap:11px!important;
  padding:16px!important;
}
body.vsg-area-societa-page .vsg-detail-pair .vsg-photo-review-form .vsg-btn{
  width:max-content!important;
}
body.vsg-area-societa-page .vsg-medical-detail-card{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  min-height:100%!important;
  padding:25px!important;
}
body.vsg-area-societa-page .vsg-medical-detail-card .vsg-medical-big{
  margin:0!important;
}
body.vsg-area-societa-page .vsg-medical-detail-card p{
  margin-top:18px!important;
  color:var(--vsg-muted)!important;
  line-height:1.5!important;
}

/* Sezioni singole e intro interne. */
body.vsg-area-societa-page .vsg-detail-content-card{
  width:100%!important;
  min-width:0!important;
  padding:24px!important;
}
body.vsg-area-societa-page .vsg-card-intro{
  margin-bottom:18px!important;
  padding-bottom:15px!important;
  border-bottom:1px solid #dfe8e3!important;
}
body.vsg-area-societa-page .vsg-card-intro h3{
  margin:0 0 5px!important;
  font-size:22px!important;
}
body.vsg-area-societa-page .vsg-card-intro p{
  margin:0!important;
  color:var(--vsg-muted)!important;
  font-size:14px!important;
}

/* I vecchi vincoli della griglia non devono più influire sul fascicolo. */
body.vsg-area-societa-page .vsg-detail-grid{
  display:block!important;
}
body.vsg-area-societa-page .vsg-detail-grid>*{
  grid-column:auto!important;
  grid-row:auto!important;
}

/* Responsive. */
@media(max-width:1500px){
  body.vsg-area-societa-page .vsg-athlete-status-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  body.vsg-area-societa-page .vsg-detail-nav-modern{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
}
@media(max-width:1050px){
  body.vsg-area-societa-page .vsg-detail-pair{
    grid-template-columns:1fr!important;
  }
  body.vsg-area-societa-page .vsg-detail-pair .vsg-photo-admin-body{
    grid-template-columns:200px minmax(0,1fr)!important;
  }
}
@media(max-width:760px){
  body.vsg-area-societa-page .vsg-athlete-status-grid{
    grid-template-columns:1fr!important;
  }
  body.vsg-area-societa-page .vsg-detail-nav-modern{
    display:flex!important;
    overflow-x:auto!important;
    justify-content:flex-start!important;
  }
  body.vsg-area-societa-page .vsg-detail-nav-modern a{
    flex:0 0 auto!important;
    min-width:150px!important;
  }
  body.vsg-area-societa-page .vsg-anagrafica-card .vsg-dl{
    grid-template-columns:1fr!important;
  }
  body.vsg-area-societa-page .vsg-detail-pair .vsg-photo-admin-body{
    grid-template-columns:1fr!important;
  }
  body.vsg-area-societa-page .vsg-detail-pair .vsg-photo-admin-preview{
    max-width:220px!important;
  }
  body.vsg-area-societa-page .vsg-detail-section-title h2{
    width:100%!important;
    font-size:25px!important;
  }
}


/* ==========================================================
   0.6.2 — PAGINA DI ACCESSO AREA RISERVATA
   ========================================================== */
html:has(body.vfa-login-page),
body.vfa-login-page{
  min-height:100%!important;
  margin:0!important;
  background:
    radial-gradient(circle at 8% 18%,rgba(20,144,89,.09),transparent 31%),
    radial-gradient(circle at 92% 78%,rgba(217,184,44,.08),transparent 28%),
    #f2f8f5!important;
}
body.vfa-login-page{
  color:#17231d!important;
  font-family:"Poppins",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important;
}
body.vfa-login-page #wpadminbar{display:none!important}
html:has(body.vfa-login-page){margin-top:0!important}

.vfa-login-native-layout{
  width:100%!important;
  max-width:1560px!important;
  min-height:100vh!important;
  margin:0 auto!important;
  padding:28px 30px 60px!important;
}
.vfa-login-hero{
  position:relative!important;
  overflow:hidden!important;
  min-height:320px!important;
  padding:42px 52px 106px!important;
  border-radius:32px!important;
  background:linear-gradient(135deg,#075936 0%,#0b7447 52%,#15945c 100%)!important;
  color:#fff!important;
  box-shadow:0 20px 52px rgba(6,83,49,.18)!important;
}
.vfa-login-hero-decoration{
  position:absolute!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.10)!important;
  pointer-events:none!important;
}
.vfa-login-circle-one{
  top:-105px!important;
  right:12%!important;
  width:255px!important;
  height:255px!important;
}
.vfa-login-circle-two{
  right:-75px!important;
  bottom:-105px!important;
  width:250px!important;
  height:250px!important;
}
.vfa-login-brand{
  position:relative!important;
  z-index:2!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  width:max-content!important;
  max-width:70%!important;
}
.vfa-login-brand-logo{
  display:grid!important;
  place-items:center!important;
  width:50px!important;
  height:50px!important;
  overflow:hidden!important;
  border:1px solid rgba(255,255,255,.32)!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.13)!important;
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif!important;
  font-size:28px!important;
}
.vfa-login-brand-logo .custom-logo-link{
  display:block!important;
  width:100%!important;
  height:100%!important;
}
.vfa-login-brand-logo img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
}
.vfa-login-brand>span{
  color:#fff!important;
  font-size:12px!important;
  font-weight:700!important;
  letter-spacing:.18em!important;
}
.vfa-login-home-link{
  position:absolute!important;
  z-index:3!important;
  top:44px!important;
  right:48px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:44px!important;
  padding:9px 16px!important;
  border:1px solid rgba(255,255,255,.52)!important;
  border-radius:13px!important;
  background:rgba(255,255,255,.08)!important;
  color:#fff!important;
  font-size:13px!important;
  font-weight:700!important;
  text-decoration:none!important;
}
.vfa-login-home-link:hover{
  background:rgba(255,255,255,.17)!important;
}
.vfa-login-hero-copy{
  position:relative!important;
  z-index:2!important;
  max-width:820px!important;
  margin-top:42px!important;
}
.vfa-login-hero-copy>span{
  display:block!important;
  width:max-content!important;
  margin-bottom:12px!important;
  padding:8px 13px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.14)!important;
  color:#fff!important;
  font-size:11px!important;
  font-weight:700!important;
  letter-spacing:.17em!important;
}
.vfa-login-hero-copy h1{
  margin:0!important;
  color:#fff!important;
  font-size:clamp(43px,5vw,68px)!important;
  font-weight:500!important;
  line-height:.98!important;
  letter-spacing:-.05em!important;
}
.vfa-login-hero-copy p{
  max-width:720px!important;
  margin:18px 0 0!important;
  color:rgba(255,255,255,.86)!important;
  font-size:17px!important;
  line-height:1.55!important;
}

.vfa-login-panel{
  position:relative!important;
  z-index:5!important;
  display:grid!important;
  grid-template-columns:minmax(300px,.82fr) minmax(400px,1.18fr)!important;
  width:calc(100% - 92px)!important;
  max-width:1320px!important;
  margin:-68px auto 0!important;
  overflow:hidden!important;
  border:1px solid #d4e3da!important;
  border-radius:26px!important;
  background:#fff!important;
  box-shadow:0 24px 60px rgba(21,58,40,.14)!important;
}
.vfa-login-intro{
  padding:42px!important;
  border-right:1px solid #dce8e1!important;
  background:linear-gradient(155deg,#f7fcf9,#ecf7f1)!important;
}
.vfa-login-kicker,
.vfa-login-form-heading>span{
  display:block!important;
  margin-bottom:9px!important;
  color:#0b6b43!important;
  font-size:10px!important;
  font-weight:700!important;
  letter-spacing:.17em!important;
}
.vfa-login-intro h2{
  margin:0!important;
  color:#17231d!important;
  font-size:clamp(30px,3vw,42px)!important;
  font-weight:700!important;
  line-height:1.08!important;
  letter-spacing:-.04em!important;
}
.vfa-login-intro>p{
  margin:17px 0 25px!important;
  color:#68786f!important;
  font-size:14px!important;
  line-height:1.6!important;
}
.vfa-login-features{
  display:grid!important;
  gap:11px!important;
}
.vfa-login-features>div{
  display:grid!important;
  grid-template-columns:45px minmax(0,1fr)!important;
  align-items:center!important;
  gap:12px!important;
  padding:13px!important;
  border:1px solid #d6e5dc!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.76)!important;
}
.vfa-login-feature-icon{
  display:grid!important;
  place-items:center!important;
  width:45px!important;
  height:45px!important;
  border-radius:13px!important;
  background:#dff1e7!important;
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif!important;
  font-size:25px!important;
}
.vfa-login-features strong,
.vfa-login-features small{
  display:block!important;
}
.vfa-login-features strong{
  color:#1f3027!important;
  font-size:13px!important;
}
.vfa-login-features small{
  margin-top:3px!important;
  color:#75837b!important;
  font-size:11px!important;
  line-height:1.35!important;
}

.vfa-login-form-column{
  padding:42px 48px!important;
}
.vfa-login-form-heading{
  margin-bottom:22px!important;
}
.vfa-login-form-heading h2{
  margin:0!important;
  color:#17231d!important;
  font-size:32px!important;
  font-weight:700!important;
  line-height:1.1!important;
  letter-spacing:-.035em!important;
}
.vfa-login-form-heading p{
  margin:8px 0 0!important;
  color:#6d7b73!important;
  font-size:13px!important;
}
body.vfa-login-page .vfa-login-content .valve-login{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body.vfa-login-page .valve-login form{
  display:grid!important;
  gap:15px!important;
}
body.vfa-login-page .valve-login form>p{
  margin:0!important;
}
body.vfa-login-page .valve-login label{
  display:block!important;
  margin-bottom:6px!important;
  color:#28372f!important;
  font-size:12px!important;
  font-weight:700!important;
}
body.vfa-login-page .valve-login input[type="text"],
body.vfa-login-page .valve-login input[type="password"]{
  display:block!important;
  width:100%!important;
  min-height:52px!important;
  padding:12px 14px!important;
  border:1px solid #c8d8cf!important;
  border-radius:12px!important;
  background:#fbfdfc!important;
  color:#17231d!important;
  font-size:15px!important;
  box-shadow:none!important;
}
body.vfa-login-page .valve-login input[type="text"]:focus,
body.vfa-login-page .valve-login input[type="password"]:focus{
  outline:none!important;
  border-color:#14905a!important;
  background:#fff!important;
  box-shadow:0 0 0 4px rgba(20,144,90,.12)!important;
}
body.vfa-login-page .valve-login .login-remember label{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  margin:0!important;
  cursor:pointer!important;
}
body.vfa-login-page .valve-login input[type="checkbox"]{
  width:18px!important;
  height:18px!important;
  accent-color:#0b6b43!important;
}
body.vfa-login-page .valve-login .login-submit{
  margin-top:2px!important;
}
body.vfa-login-page .valve-login input[type="submit"],
body.vfa-login-page .valve-login .valve-btn{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:50px!important;
  padding:12px 18px!important;
  border:1px solid #0b6b43!important;
  border-radius:12px!important;
  background:linear-gradient(135deg,#075f3b,#118452)!important;
  color:#fff!important;
  font-size:15px!important;
  font-weight:700!important;
  box-shadow:0 10px 22px rgba(11,107,67,.18)!important;
  cursor:pointer!important;
}
body.vfa-login-page .valve-login input[type="submit"]:hover,
body.vfa-login-page .valve-login .valve-btn:hover{
  background:linear-gradient(135deg,#064d31,#0b7046)!important;
}
body.vfa-login-page .valve-login>p{
  margin:14px 0 0!important;
  text-align:center!important;
}
body.vfa-login-page .valve-login a{
  color:#0b6b43!important;
  font-size:12px!important;
  font-weight:700!important;
  text-decoration:none!important;
}
body.vfa-login-page .valve-login a:hover{
  text-decoration:underline!important;
  text-underline-offset:3px!important;
}
.vfa-login-help{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  margin-top:22px!important;
  padding-top:17px!important;
  border-top:1px solid #e0e9e4!important;
  color:#728078!important;
  font-size:11px!important;
}
.vfa-login-help>span:first-child{
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif!important;
}

@media(max-width:950px){
  .vfa-login-native-layout{
    padding:18px 18px 44px!important;
  }
  .vfa-login-hero{
    min-height:290px!important;
    padding:34px 30px 94px!important;
  }
  .vfa-login-panel{
    grid-template-columns:1fr!important;
    width:calc(100% - 32px)!important;
  }
  .vfa-login-intro{
    border-right:0!important;
    border-bottom:1px solid #dce8e1!important;
  }
}
@media(max-width:620px){
  .vfa-login-native-layout{
    padding:10px 10px 35px!important;
  }
  .vfa-login-hero{
    min-height:270px!important;
    padding:24px 20px 80px!important;
    border-radius:22px!important;
  }
  .vfa-login-home-link{
    top:22px!important;
    right:18px!important;
    min-height:38px!important;
    padding:7px 11px!important;
    font-size:11px!important;
  }
  .vfa-login-brand>span{
    display:none!important;
  }
  .vfa-login-hero-copy{
    margin-top:32px!important;
  }
  .vfa-login-hero-copy h1{
    font-size:38px!important;
  }
  .vfa-login-hero-copy p{
    font-size:14px!important;
  }
  .vfa-login-panel{
    width:calc(100% - 16px)!important;
    margin-top:-52px!important;
    border-radius:20px!important;
  }
  .vfa-login-intro,
  .vfa-login-form-column{
    padding:27px 22px!important;
  }
}


/* ==========================================================
   0.6.3 — SCHEDA ABBIGLIAMENTO AREA SOCIETÀ
   ========================================================== */

/* Sette voci nella barra principale. */
body.vsg-area-societa-page .vsg-nav{
  grid-template-columns:repeat(7,minmax(0,1fr))!important;
}
body.vsg-area-societa-page .vsg-nav .vsg-nav-abbigliamento .vsg-icon{
  width:23px!important;
  height:23px!important;
}

/* Testata e statistiche. */
body.vsg-area-societa-page .vsg-clothing-page-head{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:20px!important;
}
body.vsg-area-societa-page .vsg-clothing-page-head>.vsg-btn{
  flex:0 0 auto!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
}
body.vsg-area-societa-page .vsg-clothing-stats{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  margin-bottom:24px!important;
}
body.vsg-area-societa-page .vsg-clothing-stats .vui-status-card{
  min-height:158px!important;
}
body.vsg-area-societa-page .vui-status-card.is-order-neutral{
  border-color:#b4d5c2!important;
  background:linear-gradient(135deg,#fbfefc,#f0f8f4)!important;
}
body.vsg-area-societa-page .vui-status-card.is-order-neutral .vui-status-state{
  color:#2a6e4b!important;
}
body.vsg-area-societa-page .vui-status-card.is-order-working{
  border-color:#e4c96c!important;
  background:linear-gradient(135deg,#fffdf5,#fff8dc)!important;
}
body.vsg-area-societa-page .vui-status-card.is-order-working .vui-status-state{
  color:#8a6810!important;
}
body.vsg-area-societa-page .vui-status-card.is-order-ready{
  border-color:#9cbbe3!important;
  background:linear-gradient(135deg,#fbfdff,#eef5fd)!important;
}
body.vsg-area-societa-page .vui-status-card.is-order-ready .vui-status-state{
  color:#315f96!important;
}

/* Filtri. */
body.vsg-area-societa-page .vsg-clothing-filters{
  margin-bottom:22px!important;
}
body.vsg-area-societa-page .vsg-clothing-filter-grid{
  display:grid!important;
  grid-template-columns:minmax(250px,1.35fr) repeat(4,minmax(145px,.8fr)) auto!important;
  align-items:end!important;
  gap:14px!important;
  padding:18px 20px 20px!important;
}
body.vsg-area-societa-page .vsg-clothing-filter-grid>label{
  display:flex!important;
  flex-direction:column!important;
  gap:6px!important;
  min-width:0!important;
}
body.vsg-area-societa-page .vsg-clothing-filter-grid .vsg-filter-actions{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
}
body.vsg-area-societa-page .vsg-clothing-filter-grid .vsg-btn{
  min-height:46px!important;
  white-space:nowrap!important;
}

/* Riepilogo fornitore. */
body.vsg-area-societa-page .vsg-clothing-supplier-card{
  margin-bottom:27px!important;
}
body.vsg-area-societa-page .vsg-clothing-supplier-card .vsg-card-head p{
  margin:6px 0 0!important;
  color:var(--vsg-muted)!important;
  font-size:13px!important;
}
body.vsg-area-societa-page .vsg-clothing-summary-count{
  display:inline-flex!important;
  align-items:center!important;
  min-height:36px!important;
  padding:7px 12px!important;
  border-radius:999px!important;
  background:#e5f3eb!important;
  color:#0b6b43!important;
  font-size:11px!important;
  font-weight:700!important;
  white-space:nowrap!important;
}
body.vsg-area-societa-page .vsg-clothing-aggregate-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:11px!important;
}
body.vsg-area-societa-page .vsg-clothing-aggregate-item{
  display:grid!important;
  grid-template-columns:48px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:11px!important;
  min-width:0!important;
  padding:13px!important;
  border:1px solid #d8e5dd!important;
  border-radius:14px!important;
  background:#fbfdfc!important;
}
body.vsg-area-societa-page .vsg-clothing-aggregate-emoji{
  display:grid!important;
  place-items:center!important;
  width:48px!important;
  height:48px!important;
  border-radius:13px!important;
  background:#e5f3eb!important;
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif!important;
  font-size:27px!important;
}
body.vsg-area-societa-page .vsg-clothing-aggregate-copy{
  min-width:0!important;
}
body.vsg-area-societa-page .vsg-clothing-aggregate-copy strong,
body.vsg-area-societa-page .vsg-clothing-aggregate-copy small{
  display:block!important;
}
body.vsg-area-societa-page .vsg-clothing-aggregate-copy strong{
  overflow:hidden!important;
  color:#203128!important;
  font-size:13px!important;
  font-weight:700!important;
  line-height:1.25!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
body.vsg-area-societa-page .vsg-clothing-aggregate-copy small{
  margin-top:4px!important;
  color:#718078!important;
  font-size:10px!important;
}
body.vsg-area-societa-page .vsg-clothing-aggregate-qty{
  display:grid!important;
  place-items:center!important;
  min-width:42px!important;
  height:42px!important;
  padding:0 10px!important;
  border-radius:12px!important;
  background:#0b6b43!important;
  color:#fff!important;
  font-size:19px!important;
  font-weight:700!important;
}

/* Titolo elenco. */
body.vsg-area-societa-page .vsg-clothing-list-head{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:18px!important;
  margin:0 0 14px!important;
}
body.vsg-area-societa-page .vsg-clothing-list-head span{
  display:block!important;
  margin-bottom:4px!important;
  color:#0b6b43!important;
  font-size:10px!important;
  font-weight:700!important;
  letter-spacing:.16em!important;
}
body.vsg-area-societa-page .vsg-clothing-list-head h3{
  margin:0!important;
  color:#17231d!important;
  font-size:28px!important;
  letter-spacing:-.03em!important;
}
body.vsg-area-societa-page .vsg-clothing-list-head>strong{
  color:#63736a!important;
  font-size:13px!important;
}

/* Schede ordini. */
body.vsg-area-societa-page .vsg-clothing-orders{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:16px!important;
}
body.vsg-area-societa-page .vsg-clothing-order-card{
  min-width:0!important;
  overflow:hidden!important;
  border:1px solid #d5e3db!important;
  border-radius:19px!important;
  background:#fff!important;
  box-shadow:0 8px 24px rgba(17,57,39,.055)!important;
}
body.vsg-area-societa-page .vsg-clothing-order-head{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:15px!important;
  padding:18px 19px!important;
  border-bottom:1px solid #e0e9e4!important;
  background:linear-gradient(145deg,#f9fcfa,#f1f8f4)!important;
}
body.vsg-area-societa-page .vsg-clothing-order-head>div>span{
  display:block!important;
  margin-bottom:4px!important;
  color:#0b6b43!important;
  font-size:9px!important;
  font-weight:700!important;
  letter-spacing:.15em!important;
}
body.vsg-area-societa-page .vsg-clothing-order-head h3{
  margin:0!important;
  color:#17231d!important;
  font-size:21px!important;
  font-weight:700!important;
  line-height:1.15!important;
}
body.vsg-area-societa-page .vsg-clothing-order-head p{
  margin:6px 0 0!important;
  color:#708078!important;
  font-size:11px!important;
}
body.vsg-area-societa-page .vsg-clothing-order-meta{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:9px!important;
  padding:15px 18px 0!important;
}
body.vsg-area-societa-page .vsg-clothing-order-meta>div{
  display:grid!important;
  grid-template-columns:30px minmax(0,1fr)!important;
  column-gap:8px!important;
  align-items:center!important;
  padding:10px!important;
  border:1px solid #dce7e1!important;
  border-radius:12px!important;
  background:#fbfdfc!important;
}
body.vsg-area-societa-page .vsg-clothing-order-meta>div>span{
  grid-row:1/3!important;
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif!important;
  font-size:22px!important;
}
body.vsg-area-societa-page .vsg-clothing-order-meta small{
  color:#718078!important;
  font-size:8px!important;
  font-weight:700!important;
  letter-spacing:.12em!important;
}
body.vsg-area-societa-page .vsg-clothing-order-meta strong{
  margin-top:2px!important;
  color:#203128!important;
  font-size:13px!important;
}
body.vsg-area-societa-page .vsg-clothing-order-products{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:9px!important;
  padding:15px 18px!important;
}
body.vsg-area-societa-page .vsg-clothing-order-product{
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:8px!important;
  min-width:0!important;
  padding:9px 10px!important;
  border:1px solid #dce7e1!important;
  border-radius:11px!important;
  background:#fff!important;
}
body.vsg-area-societa-page .vsg-clothing-order-product>span{
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif!important;
  font-size:21px!important;
}
body.vsg-area-societa-page .vsg-clothing-order-product>strong{
  overflow:hidden!important;
  color:#28382f!important;
  font-size:11px!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
body.vsg-area-societa-page .vsg-clothing-order-product>em{
  min-width:34px!important;
  padding:5px 7px!important;
  border-radius:999px!important;
  background:#0b6b43!important;
  color:#fff!important;
  font-size:10px!important;
  font-style:normal!important;
  font-weight:700!important;
  text-align:center!important;
}
body.vsg-area-societa-page .vsg-clothing-update-form{
  display:grid!important;
  grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto!important;
  align-items:end!important;
  gap:10px!important;
  padding:15px 18px 18px!important;
  border-top:1px solid #e1e9e5!important;
  background:#fafcfb!important;
}
body.vsg-area-societa-page .vsg-clothing-update-form>label{
  display:flex!important;
  flex-direction:column!important;
  gap:5px!important;
  min-width:0!important;
}
body.vsg-area-societa-page .vsg-clothing-update-form>label>span{
  color:#53645a!important;
  font-size:9px!important;
  font-weight:700!important;
}
body.vsg-area-societa-page .vsg-clothing-update-form select,
body.vsg-area-societa-page .vsg-clothing-update-form input{
  width:100%!important;
  min-height:42px!important;
}
body.vsg-area-societa-page .vsg-clothing-order-actions{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
}
body.vsg-area-societa-page .vsg-clothing-order-actions .vsg-btn{
  min-height:42px!important;
  white-space:nowrap!important;
}

/* Badge pronto. */
body.vsg-area-societa-page .vsg-badge.vsg-preparato{
  background:#e7f0fb!important;
  color:#245b91!important;
}

@media(max-width:1450px){
  body.vsg-area-societa-page .vsg-clothing-stats{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  body.vsg-area-societa-page .vsg-clothing-filter-grid{
    grid-template-columns:repeat(3,minmax(180px,1fr))!important;
  }
  body.vsg-area-societa-page .vsg-clothing-aggregate-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media(max-width:1100px){
  body.vsg-area-societa-page .vsg-nav{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
  body.vsg-area-societa-page .vsg-clothing-orders{
    grid-template-columns:1fr!important;
  }
  body.vsg-area-societa-page .vsg-clothing-aggregate-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:720px){
  body.vsg-area-societa-page .vsg-nav{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body.vsg-area-societa-page .vsg-clothing-page-head{
    align-items:flex-start!important;
    flex-direction:column!important;
  }
  body.vsg-area-societa-page .vsg-clothing-stats,
  body.vsg-area-societa-page .vsg-clothing-filter-grid,
  body.vsg-area-societa-page .vsg-clothing-aggregate-grid,
  body.vsg-area-societa-page .vsg-clothing-order-meta,
  body.vsg-area-societa-page .vsg-clothing-order-products,
  body.vsg-area-societa-page .vsg-clothing-update-form{
    grid-template-columns:1fr!important;
  }
  body.vsg-area-societa-page .vsg-clothing-order-actions{
    flex-direction:column!important;
    align-items:stretch!important;
  }
  body.vsg-area-societa-page .vsg-clothing-order-actions .vsg-btn{
    width:100%!important;
  }
}


/* ==========================================================
   0.7.0 — PRIVACY E CONFORMITÀ
   ========================================================== */
body.vsg-area-societa-page .vsg-nav{grid-template-columns:repeat(8,minmax(0,1fr))!important}
body.vsg-area-societa-page .vsg-privacy-page-head{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:18px!important}
body.vsg-area-societa-page .vsg-privacy-page-head>.vsg-btn{display:inline-flex!important;align-items:center!important;gap:8px!important;flex:0 0 auto!important}
body.vsg-area-societa-page .vsg-privacy-warning{display:grid!important;grid-template-columns:50px minmax(0,1fr)!important;align-items:center!important;gap:14px!important;margin:0 0 22px!important;padding:16px 18px!important;border:1px solid #e4c76d!important;border-left:6px solid #d1a500!important;border-radius:15px!important;background:#fff9df!important}
body.vsg-area-societa-page .vsg-privacy-warning>span{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif!important;font-size:32px!important}
body.vsg-area-societa-page .vsg-privacy-warning strong{display:block!important;color:#5d4b0e!important;font-size:14px!important}
body.vsg-area-societa-page .vsg-privacy-warning p{margin:5px 0 0!important;color:#736224!important;font-size:12px!important;line-height:1.5!important}
body.vsg-area-societa-page .vsg-privacy-stats{grid-template-columns:repeat(4,minmax(0,1fr))!important;margin-bottom:22px!important}
body.vsg-area-societa-page .vsg-privacy-stats .vui-status-card{min-height:158px!important}
body.vsg-area-societa-page .vsg-privacy-settings-form{margin-bottom:28px!important}
body.vsg-area-societa-page .vsg-privacy-settings-grid{display:grid!important;grid-template-columns:repeat(5,minmax(150px,1fr))!important;gap:13px!important;margin:18px 0!important}
body.vsg-area-societa-page .vsg-privacy-settings-grid>label{display:flex!important;flex-direction:column!important;gap:6px!important;min-width:0!important}
body.vsg-area-societa-page .vsg-privacy-settings-grid>label>span{color:#516158!important;font-size:10px!important;font-weight:700!important}
body.vsg-area-societa-page .vsg-privacy-settings-grid input[type="text"],body.vsg-area-societa-page .vsg-privacy-settings-grid input[type="email"],body.vsg-area-societa-page .vsg-privacy-settings-grid input[type="date"]{width:100%!important;min-height:46px!important}
body.vsg-area-societa-page .vsg-privacy-publish-toggle{display:grid!important;grid-template-columns:22px minmax(0,1fr)!important;align-items:center!important;padding:10px 12px!important;border:1px solid #cfe0d6!important;border-radius:12px!important;background:#f5faf7!important}
body.vsg-area-societa-page .vsg-privacy-publish-toggle input{width:19px!important;height:19px!important;accent-color:#0b6b43!important}
body.vsg-area-societa-page .vsg-privacy-publish-toggle span{display:block!important}
body.vsg-area-societa-page .vsg-privacy-publish-toggle strong,body.vsg-area-societa-page .vsg-privacy-publish-toggle small{display:block!important}
body.vsg-area-societa-page .vsg-privacy-publish-toggle strong{color:#163024!important;font-size:11px!important}
body.vsg-area-societa-page .vsg-privacy-publish-toggle small{margin-top:3px!important;color:#738078!important;font-size:9px!important;line-height:1.35!important}
body.vsg-area-societa-page .vsg-privacy-documents-head{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:16px!important;margin:0 0 13px!important}
body.vsg-area-societa-page .vsg-privacy-documents-head span{display:block!important;margin-bottom:4px!important;color:#0b6b43!important;font-size:10px!important;font-weight:700!important;letter-spacing:.16em!important}
body.vsg-area-societa-page .vsg-privacy-documents-head h3{margin:0!important;font-size:28px!important;letter-spacing:-.03em!important}
body.vsg-area-societa-page .vsg-privacy-documents-head>strong{color:#66756d!important;font-size:12px!important}
body.vsg-area-societa-page .vsg-privacy-documents-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important;margin-bottom:28px!important}
body.vsg-area-societa-page .vsg-privacy-document-card{display:flex!important;flex-direction:column!important;min-width:0!important;min-height:245px!important;padding:18px!important;border:1px solid #d5e3db!important;border-radius:18px!important;background:#fff!important;box-shadow:0 7px 21px rgba(17,57,39,.05)!important}
body.vsg-area-societa-page .vsg-privacy-document-card.is-family{border-color:#9dcdb1!important;background:linear-gradient(160deg,#fff,#f0f9f4)!important}
body.vsg-area-societa-page .vsg-privacy-document-top{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important}
body.vsg-area-societa-page .vsg-privacy-document-emoji{display:grid!important;place-items:center!important;width:48px!important;height:48px!important;border-radius:14px!important;background:#e5f3eb!important;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif!important;font-size:27px!important}
body.vsg-area-societa-page .vsg-privacy-audience{display:inline-flex!important;align-items:center!important;min-height:29px!important;padding:6px 10px!important;border-radius:999px!important;background:#edf2ef!important;color:#52635a!important;font-size:9px!important;font-weight:700!important;letter-spacing:.08em!important;text-transform:uppercase!important}
body.vsg-area-societa-page .vsg-privacy-document-card.is-family .vsg-privacy-audience{background:#dff2e7!important;color:#0b6b43!important}
body.vsg-area-societa-page .vsg-privacy-document-card h4{margin:16px 0 7px!important;color:#1b2f25!important;font-size:17px!important;line-height:1.2!important}
body.vsg-area-societa-page .vsg-privacy-document-card p{margin:0 0 16px!important;color:#6c7a72!important;font-size:11px!important;line-height:1.5!important}
body.vsg-area-societa-page .vsg-privacy-document-actions{display:flex!important;gap:8px!important;margin-top:auto!important}
body.vsg-area-societa-page .vsg-privacy-document-actions .vsg-btn{flex:1 1 auto!important;min-height:40px!important;padding:9px 10px!important;font-size:10px!important}
body.vsg-area-societa-page .vsg-authorized-users-card{margin-bottom:28px!important}
body.vsg-area-societa-page .vsg-authorized-signature-status{display:inline-flex!important;padding:6px 9px!important;border-radius:999px!important;background:#fff4d3!important;color:#7f620e!important;font-size:9px!important;font-weight:700!important}
@media(max-width:1450px){body.vsg-area-societa-page .vsg-nav{grid-template-columns:repeat(4,minmax(0,1fr))!important}body.vsg-area-societa-page .vsg-privacy-documents-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}body.vsg-area-societa-page .vsg-privacy-settings-grid{grid-template-columns:repeat(3,minmax(180px,1fr))!important}}
@media(max-width:1000px){body.vsg-area-societa-page .vsg-privacy-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}body.vsg-area-societa-page .vsg-privacy-documents-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:700px){body.vsg-area-societa-page .vsg-nav{grid-template-columns:repeat(2,minmax(0,1fr))!important}body.vsg-area-societa-page .vsg-privacy-page-head{align-items:flex-start!important;flex-direction:column!important}body.vsg-area-societa-page .vsg-privacy-stats,body.vsg-area-societa-page .vsg-privacy-documents-grid,body.vsg-area-societa-page .vsg-privacy-settings-grid{grid-template-columns:1fr!important}body.vsg-area-societa-page .vsg-privacy-document-actions{flex-direction:column!important}}


/* 0.7.0 — riepilogo tesseramento nel fascicolo */
body.vsg-area-societa-page .vsg-registration-profile-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0;padding:14px;border:1px solid #d7e5dd;border-radius:14px;background:#f7fbf9}
body.vsg-area-societa-page .vsg-registration-profile-summary>div{padding:11px;border-radius:11px;background:#fff}
body.vsg-area-societa-page .vsg-registration-profile-summary span,body.vsg-area-societa-page .vsg-registration-profile-summary strong{display:block}
body.vsg-area-societa-page .vsg-registration-profile-summary span{color:#0b6b43;font-size:8px;font-weight:700;letter-spacing:.13em}
body.vsg-area-societa-page .vsg-registration-profile-summary strong{margin-top:4px;color:#24342b;font-size:12px}
@media(max-width:900px){body.vsg-area-societa-page .vsg-registration-profile-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.vsg-area-societa-page .vsg-registration-profile-summary{grid-template-columns:1fr}}


/* ==========================================================
   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;
  }
}


/* ==========================================================
   1.3.4 — ANDAMENTO, STORICO TESSERAMENTI E QUOTE
   ========================================================== */
.vsg-nav-andamento .vsg-icon{width:19px;height:19px}
.vsg-analytics-head{align-items:flex-end}
.vsg-analytics-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:0 0 18px}
.vsg-analytics-metric{min-width:0;padding:17px;border:1px solid #dce7e1;border-radius:16px;background:#fff;box-shadow:0 7px 20px rgba(25,57,40,.045)}
.vsg-analytics-metric>span{display:block;margin:0 0 9px;color:#68766e;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.vsg-analytics-metric>strong{display:block;color:#183329;font-size:24px;font-weight:700;line-height:1.1;overflow-wrap:anywhere}
.vsg-analytics-metric>small{display:block;margin-top:8px;color:#77857d;font-size:10px;line-height:1.4}
.vsg-analytics-metric.is-green{border-top:4px solid #178652}.vsg-analytics-metric.is-blue{border-top:4px solid #3c75ad}.vsg-analytics-metric.is-orange{border-top:4px solid #d88925}.vsg-analytics-metric.is-neutral{border-top:4px solid #8aa095}
.vsg-analytics-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);gap:16px;margin:0 0 16px}
.vsg-analytics-grid>.vsg-card,.vsg-category-card,.vsg-history-admin-card{margin:0}
.vsg-card-head>div>span{display:block;margin-bottom:4px;color:#789087;font-size:9px;font-weight:700;letter-spacing:.13em}
.vsg-growth-badge{display:inline-flex;align-items:center;min-height:29px;padding:5px 10px;border:1px solid #d7e1dc;border-radius:999px;background:#f7faf8;color:#66756d;font-size:10px;font-weight:700;white-space:nowrap}
.vsg-growth-badge.is-positive{border-color:#bce1cd;background:#edf8f2;color:#0b7041}.vsg-growth-badge.is-negative{border-color:#efc7c4;background:#fff3f2;color:#a23a31}
.vsg-history-bars{display:grid;gap:14px;margin-top:18px}
.vsg-history-row{display:grid;grid-template-columns:112px minmax(120px,1fr) 46px;align-items:center;gap:12px}
.vsg-history-label strong,.vsg-history-label small{display:block}.vsg-history-label strong{color:#1b352b;font-size:12px}.vsg-history-label small{margin-top:2px;color:#89958f;font-size:8px}
.vsg-history-track{position:relative;height:12px;overflow:hidden;border-radius:999px;background:#edf2ef}.vsg-history-track span{display:block;height:100%;border-radius:inherit;background:#90a79b}.vsg-history-row.is-current .vsg-history-track span{background:#0c7a49}
.vsg-history-value{color:#203a30;font-size:13px;text-align:right}
.vsg-analytics-note{margin:15px 0 0;color:#7b8881;font-size:9px;line-height:1.5}
.vsg-analytics-finance-card>.vsg-card-head>strong{color:#0b7041;font-size:25px;font-weight:700}
.vsg-finance-progress{height:13px;margin:18px 0;overflow:hidden;border-radius:999px;background:#e9efec}.vsg-finance-progress span{display:block;height:100%;border-radius:inherit;background:#178652}
.vsg-finance-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:12px}
.vsg-finance-summary>div,.vsg-finance-split>div,.vsg-analytics-breakdown>div{padding:12px;border:1px solid #e1e9e5;border-radius:12px;background:#f9fbfa}
.vsg-finance-summary span,.vsg-finance-split span,.vsg-analytics-breakdown span{display:block;color:#748078;font-size:9px;line-height:1.3}
.vsg-finance-summary strong,.vsg-finance-split strong,.vsg-analytics-breakdown strong{display:block;margin-top:5px;color:#19362a;font-size:14px;font-weight:700}
.vsg-finance-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.vsg-analytics-breakdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:16px}
.vsg-month-bars{display:flex;align-items:flex-end;gap:7px;min-height:205px;margin-top:15px;overflow-x:auto;padding:5px 2px 2px}
.vsg-month-bar{display:grid;grid-template-rows:18px 125px auto;align-items:end;flex:1 0 42px;min-width:42px;text-align:center}
.vsg-month-bar>strong{color:#305044;font-size:10px}.vsg-month-bar>div{display:flex;align-items:flex-end;justify-content:center;height:125px;padding:0 6px;border-bottom:1px solid #dbe5df}
.vsg-month-bar>div span{display:block;width:100%;min-height:0;border-radius:7px 7px 0 0;background:#4c9b70}.vsg-month-bar>small{display:block;margin-top:7px;color:#7b8881;font-size:7px;line-height:1.2;white-space:nowrap}
.vsg-category-card{margin-bottom:16px}.vsg-analytics-table th,.vsg-analytics-table td{white-space:nowrap}
.vsg-history-admin-card{margin-bottom:20px}.vsg-history-admin-card .vsg-card-head p{margin:5px 0 0;color:#7d8a83;font-size:10px}
.vsg-history-form{display:grid;grid-template-columns:repeat(7,minmax(105px,1fr));gap:10px;align-items:end;margin:18px 0;padding:15px;border:1px solid #dfe8e3;border-radius:15px;background:#f8fbf9}
.vsg-history-form label{display:block;min-width:0}.vsg-history-form label>span{display:block;margin-bottom:5px;color:#55675d;font-size:9px;font-weight:700}
.vsg-history-form input,.vsg-history-form textarea{width:100%;min-height:39px;margin:0;border:1px solid #ccd9d2;border-radius:9px;background:#fff;color:#233d32;font:inherit;font-size:11px}
.vsg-history-form textarea{resize:vertical}.vsg-history-form .vsg-history-notes{grid-column:span 3}.vsg-history-form>.vsg-btn{min-height:39px}
.vsg-history-table-wrap{overflow-x:auto}.vsg-history-table th,.vsg-history-table td{white-space:nowrap}
.vsg-link-button{padding:0;border:0;background:transparent;color:#a53e35;font:inherit;font-size:10px;font-weight:700;cursor:pointer}
@media(max-width:1320px){.vsg-analytics-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.vsg-history-form{grid-template-columns:repeat(4,minmax(120px,1fr))}.vsg-history-form .vsg-history-notes{grid-column:span 2}}
@media(max-width:940px){.vsg-analytics-grid{grid-template-columns:1fr}.vsg-analytics-breakdown{grid-template-columns:repeat(4,minmax(0,1fr))}.vsg-history-form{grid-template-columns:repeat(2,minmax(0,1fr))}.vsg-history-form .vsg-history-notes{grid-column:span 2}}
@media(max-width:650px){.vsg-analytics-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.vsg-analytics-metric{padding:14px}.vsg-analytics-metric>strong{font-size:19px}.vsg-history-row{grid-template-columns:86px minmax(90px,1fr) 34px;gap:8px}.vsg-finance-summary{grid-template-columns:1fr}.vsg-finance-split{grid-template-columns:1fr 1fr}.vsg-analytics-breakdown{grid-template-columns:repeat(2,minmax(0,1fr))}.vsg-history-form{grid-template-columns:1fr}.vsg-history-form .vsg-history-notes{grid-column:auto}}


/* Crescita società 1.3.5 */
.vsg-growth-head{align-items:flex-start}
.vsg-growth-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}
.vsg-growth-metric{border:1px solid #e2e8e5;border-radius:16px;background:#fff;padding:18px;min-width:0}
.vsg-growth-metric>span{display:block;font-size:11px;font-weight:700;letter-spacing:.08em;color:#66746d;margin-bottom:8px}
.vsg-growth-metric>strong{display:block;font-size:25px;line-height:1.1;color:#183128;margin-bottom:7px}
.vsg-growth-metric>small{display:block;color:#718078;line-height:1.4}
.vsg-growth-metric.is-green{border-top:3px solid #2f7d4c}.vsg-growth-metric.is-blue{border-top:3px solid #477c91}.vsg-growth-metric.is-orange{border-top:3px solid #c37a31}
.vsg-growth-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}
.vsg-growth-summary>div{background:#f7faf8;border:1px solid #e3ebe6;border-radius:14px;padding:15px}
.vsg-growth-summary span{display:block;font-size:10px;font-weight:700;letter-spacing:.08em;color:#708078;margin-bottom:6px}
.vsg-growth-summary strong{display:block;font-size:18px;color:#17362a;margin-bottom:5px}
.vsg-growth-summary small{display:block;color:#77837e;line-height:1.35}
.vsg-growth-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}
.vsg-growth-card .vsg-card-head p{margin:4px 0 0;color:#718078;font-size:13px}
.vsg-season-column-chart{height:290px;display:flex;align-items:flex-end;gap:14px;padding:28px 8px 4px;border-bottom:1px solid #dfe7e2;overflow-x:auto}
.vsg-season-column{height:100%;min-width:72px;display:grid;grid-template-rows:26px 1fr 34px;align-items:end;text-align:center}
.vsg-season-column>strong{font-size:14px;color:#2d4139}
.vsg-season-column-track{height:100%;display:flex;align-items:flex-end;justify-content:center;background:linear-gradient(to top,#f4f7f5,#fff);border-radius:10px 10px 0 0;overflow:hidden}
.vsg-season-column-track span{display:block;width:44px;min-height:8px;border-radius:8px 8px 0 0;background:#9eb7aa}
.vsg-season-column.is-current .vsg-season-column-track span{background:#237746}
.vsg-season-column small{font-size:11px;color:#68776f;padding-top:8px}
.vsg-growth-note{margin:14px 0 0;color:#718078;font-size:13px}
.vsg-chart-legend{display:flex;gap:16px;justify-content:flex-end;margin:-4px 0 16px;color:#65736c;font-size:12px}
.vsg-chart-legend span{display:inline-flex;align-items:center;gap:6px}
.vsg-chart-legend span:before{content:"";width:10px;height:10px;border-radius:3px;background:#a9b8b0}
.vsg-chart-legend .is-collected:before,.vsg-chart-legend .is-current:before{background:#237746}
.vsg-chart-legend .is-expected:before{background:#8ba399}
.vsg-chart-legend .is-previous:before{background:#b7c3bd}
.vsg-quota-chart{display:grid;gap:17px}
.vsg-quota-row{display:grid;grid-template-columns:88px 1fr;gap:12px;align-items:center}
.vsg-quota-row>strong{font-size:12px;color:#44554d}
.vsg-quota-bars{display:grid;gap:7px}
.vsg-quota-bars>div{height:24px;border-radius:7px;background:#f0f4f2;position:relative;overflow:hidden}
.vsg-quota-bars span{position:absolute;inset:0 auto 0 0;border-radius:7px;background:#8ba399;min-width:2px}
.vsg-quota-bars span.is-collected{background:#237746}
.vsg-quota-bars small{position:absolute;z-index:2;inset:0 8px 0 auto;display:flex;align-items:center;font-weight:700;font-size:11px;color:#20372d;text-shadow:0 1px #fff}
.vsg-birth-years-card{margin-bottom:18px}
.vsg-birth-legend{margin-top:0}
.vsg-birth-chart{display:grid;gap:15px}
.vsg-birth-row{display:grid;grid-template-columns:64px 1fr 105px;gap:12px;align-items:center}
.vsg-birth-year{font-size:14px;color:#2e463b}
.vsg-birth-bars{display:grid;gap:5px}
.vsg-birth-bars>div{height:21px;background:#f1f4f2;border-radius:6px;position:relative;overflow:hidden}
.vsg-birth-bars span{position:absolute;inset:0 auto 0 0;border-radius:6px;background:#b7c3bd;min-width:2px}
.vsg-birth-bars span.is-current{background:#237746}
.vsg-birth-bars small{position:absolute;z-index:2;right:7px;top:2px;font-weight:700;font-size:11px;color:#243a30}
.vsg-delta-chip{display:inline-flex;justify-content:center;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:700;background:#edf1ef;color:#516058;white-space:nowrap}
.vsg-delta-chip.is-positive{background:#e4f4e9;color:#196437}.vsg-delta-chip.is-negative{background:#fae9e7;color:#a03a32}.vsg-delta-chip.is-stable{background:#f0f2f1;color:#5b6862}
.vsg-growth-history-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:end}
.vsg-growth-history-form label{display:grid;gap:6px}.vsg-growth-history-form label>span{font-weight:700;font-size:12px;color:#46584f}
.vsg-growth-history-form input,.vsg-growth-history-form textarea{width:100%;border:1px solid #ccd8d1;border-radius:10px;background:#fff;padding:10px 11px;box-sizing:border-box}
.vsg-growth-years-field{grid-column:1/-1}.vsg-growth-years-field small{color:#74817a}
.vsg-growth-history-form .vsg-btn{justify-self:start}
.vsg-growth-history-table td:first-child small{display:block;color:#75817b;margin-top:3px}
.vsg-growth-history-table td:nth-child(5){max-width:260px;white-space:normal;font-size:12px;color:#65726c}
@media(max-width:980px){.vsg-growth-kpis,.vsg-growth-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.vsg-growth-grid{grid-template-columns:1fr}.vsg-growth-history-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.vsg-growth-kpis,.vsg-growth-summary{grid-template-columns:1fr 1fr}.vsg-growth-metric{padding:14px}.vsg-growth-metric>strong{font-size:20px}.vsg-growth-summary>div{padding:12px}.vsg-growth-summary strong{font-size:16px}.vsg-birth-row{grid-template-columns:48px 1fr}.vsg-delta-chip{grid-column:2;justify-self:start}.vsg-growth-history-form{grid-template-columns:1fr}.vsg-growth-years-field{grid-column:auto}.vsg-quota-row{grid-template-columns:72px 1fr}.vsg-season-column-chart{height:240px}}


/* ==========================================================
   1.3.6 — NAVIGAZIONE SU UNA LINEA, PRIVACY NEL FOOTER,
   STORICO CRESCITA PRECARICATO E QUOTE TOTALI
   ========================================================== */
body.vsg-area-societa-page .vsg-nav{
  display:flex!important;
  grid-template-columns:none!important;
  flex-wrap:nowrap!important;
  align-items:stretch!important;
  overflow-x:auto!important;
  scrollbar-width:thin;
}
body.vsg-area-societa-page .vsg-nav>a{
  flex:1 1 0!important;
  min-width:128px!important;
  padding-left:9px!important;
  padding-right:9px!important;
}
body.vsg-area-societa-page .vsg-nav b{font-size:12px!important}
.valve-proprietary-footer__privacy{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:25px!important;
  padding:4px 9px!important;
  border:1px solid #c8d9cf!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#0b6b43!important;
  font-size:8px!important;
  font-weight:700!important;
  text-decoration:none!important;
}
.valve-proprietary-footer__privacy:hover{background:#edf7f1!important}
.vsg-growth-kpis-simple{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.vsg-growth-summary-simple{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.vsg-quota-chart-simple .vsg-quota-bars{gap:0}
.vsg-growth-history-readonly{margin-top:18px!important}
.vsg-growth-history-table-simple td:nth-child(3) strong,
.vsg-growth-history-table-simple td:nth-child(3) small,
.vsg-growth-history-table-simple td:first-child strong,
.vsg-growth-history-table-simple td:first-child small{display:block}
.vsg-growth-history-table-simple td:nth-child(3) small,
.vsg-growth-history-table-simple td:first-child small{margin-top:4px;color:#74817a;font-size:10px}
.vsg-growth-history-table-simple td:nth-child(4){max-width:520px!important;white-space:normal!important}
@media(max-width:1050px){
  body.vsg-area-societa-page .vsg-nav>a{flex:0 0 135px!important;min-width:135px!important}
}
@media(max-width:700px){
  .vsg-growth-kpis-simple{grid-template-columns:1fr 1fr!important}
  .vsg-growth-summary-simple{grid-template-columns:1fr!important}
  .valve-proprietary-footer__compact-meta{flex-wrap:wrap!important}
}
@media(max-width:430px){
  .vsg-growth-kpis-simple{grid-template-columns:1fr!important}
}

/* ==========================================================
   1.3.7 — GRAFICI CRESCITA PIÙ CHIARI, EMOJI E CONFRONTI
   ========================================================== */
.vsg-growth-head-137 p strong{color:#17633d;font-weight:700}
.vsg-growth-kpis-137{gap:16px!important}
.vsg-growth-kpis-137 .vsg-growth-metric{position:relative;overflow:hidden;padding:20px 20px 18px;border:1px solid #dfe9e3;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(22,71,46,.055)}
.vsg-growth-kpis-137 .vsg-growth-metric:after{content:"";position:absolute;right:-28px;bottom:-38px;width:110px;height:110px;border-radius:50%;background:rgba(35,119,70,.055);pointer-events:none}
.vsg-growth-metric__top{display:flex;align-items:center;gap:9px;margin-bottom:10px}
.vsg-growth-metric__emoji{display:grid!important;place-items:center;width:34px;height:34px;margin:0!important;border-radius:11px;background:#edf7f1;font-size:18px!important;line-height:1!important;letter-spacing:0!important}
.vsg-growth-metric__label{margin:0!important;color:#5e7067!important;font-size:10px!important;font-weight:700!important;letter-spacing:.075em!important;text-transform:uppercase}
.vsg-growth-kpis-137 .vsg-growth-metric>strong{position:relative;z-index:1;font-size:29px;letter-spacing:-.02em}
.vsg-growth-kpis-137 .vsg-growth-metric>small{position:relative;z-index:1;font-size:11px}
.vsg-growth-kpis-137 .vsg-growth-metric.is-blue .vsg-growth-metric__emoji{background:#edf5f8}

.vsg-growth-summary-137{gap:14px!important}
.vsg-growth-summary-137>div{position:relative;overflow:hidden;min-height:112px;padding:17px 17px 15px;border-radius:16px;background:#fff;box-shadow:0 6px 18px rgba(22,71,46,.04)}
.vsg-growth-summary-137>div:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#8fac9b}
.vsg-growth-summary-137>div.is-growth:before{background:#2f7d4c}.vsg-growth-summary-137>div.is-best:before{background:#4d9470}.vsg-growth-summary-137>div.is-watch:before{background:#bd8b47}
.vsg-growth-summary-137 span{display:flex;align-items:center;gap:7px}.vsg-growth-summary-137 span b{font-size:15px;font-weight:400}
.vsg-growth-summary-137 strong{font-size:20px}

.vsg-growth-grid-137{align-items:stretch}
.vsg-growth-chart-card{display:flex;flex-direction:column;min-width:0;padding:20px!important;border-radius:18px!important;box-shadow:0 8px 24px rgba(22,71,46,.05)}
.vsg-growth-card-title{margin-bottom:16px!important}
.vsg-growth-title-wrap{display:flex;align-items:flex-start;gap:12px}
.vsg-growth-title-emoji{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:13px;background:#edf7f1;font-size:21px;line-height:1}
.vsg-growth-title-wrap>div>span{display:block;margin-bottom:3px;color:#6a7a72;font-size:9px;font-weight:700;letter-spacing:.12em}
.vsg-growth-title-wrap h3{margin:0;color:#19382b;font-size:17px;line-height:1.25}
.vsg-growth-title-wrap p{margin-top:5px!important;font-size:11px!important;line-height:1.45}

.vsg-line-chart-wrap{width:100%;min-height:305px;margin-top:3px;overflow:hidden;border:1px solid #e7eee9;border-radius:16px;background:linear-gradient(180deg,#fbfdfc 0%,#f6faf7 100%)}
.vsg-line-chart{display:block;width:100%;height:auto;min-height:300px}
.vsg-line-chart__grid{stroke:#dfe9e3;stroke-width:1;stroke-dasharray:4 6}
.vsg-line-chart__axis{fill:#819088;font-size:10px;font-weight:700}
.vsg-line-chart__area{fill:rgba(35,119,70,.105)}
.vsg-line-chart__line{fill:none;stroke:#267849;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 3px 3px rgba(35,119,70,.12))}
.vsg-line-chart__point circle{fill:#fff;stroke:#267849;stroke-width:5}
.vsg-line-chart__point.is-live circle{fill:#267849;stroke:#dff2e7;stroke-width:6}
.vsg-line-chart__value{fill:#19382b;font-size:16px;font-weight:700}
.vsg-line-chart__season{fill:#56685f;font-size:10px;font-weight:700}
.vsg-line-chart__live-label{fill:#267849;font-size:8px;font-weight:700;letter-spacing:.11em}
.vsg-growth-chart-insight{display:flex;align-items:center;gap:10px;margin-top:14px;padding:11px 13px;border:1px solid #dceadf;border-radius:13px;background:#f2faf5}
.vsg-growth-chart-insight>span{font-size:19px}.vsg-growth-chart-insight strong,.vsg-growth-chart-insight small{display:block}.vsg-growth-chart-insight strong{color:#1b5635;font-size:11px}.vsg-growth-chart-insight small{margin-top:2px;color:#5f7168;font-size:10px}.vsg-growth-chart-insight.is-money{background:#f2f8fa;border-color:#dce8ec}

.vsg-quota-chart-137{gap:14px!important;flex:1}
.vsg-quota-row-137{padding:14px;border:1px solid #e2ebe6;border-radius:14px;background:#fbfdfc}
.vsg-quota-row-137.is-current{border-color:#b8d9c6;background:#f4fbf6}
.vsg-quota-row-137__head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.vsg-quota-row-137__head strong{color:#263f34;font-size:12px}.vsg-quota-row-137__head span{padding:4px 8px;border-radius:999px;background:#eef2f0;color:#6c7a73;font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.vsg-quota-row-137.is-current .vsg-quota-row-137__head span{background:#dff3e7;color:#1d6b3c}
.vsg-quota-row-137__value{margin:8px 0 7px;color:#17392a;font-size:20px;font-weight:700;letter-spacing:-.025em}
.vsg-quota-row-137__track{height:13px;overflow:hidden;border-radius:999px;background:#e9efec;box-shadow:inset 0 1px 2px rgba(19,58,39,.06)}
.vsg-quota-row-137__track>span{display:block;height:100%;min-width:3px;border-radius:999px;background:linear-gradient(90deg,#4e9a70,#247847)}
.vsg-quota-row-137.is-current .vsg-quota-row-137__track>span{background:linear-gradient(90deg,#69aa83,#2b8653)}
.vsg-quota-row-137__foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px}.vsg-quota-row-137__foot small{color:#718078;font-size:9px;line-height:1.35}
.vsg-quota-delta{flex:0 0 auto;padding:4px 7px;border-radius:999px;font-size:8px;font-weight:700;white-space:nowrap}.vsg-quota-delta.is-positive{background:#e3f4e9;color:#176338}.vsg-quota-delta.is-negative{background:#fae9e7;color:#9e3a32}.vsg-quota-delta.is-live{background:#e5f2f6;color:#3b7185}

.vsg-birth-years-card-137{padding:20px!important;border-radius:18px!important;box-shadow:0 8px 24px rgba(22,71,46,.05)}
.vsg-birth-legend-137{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:8px;margin:2px 0 18px!important}
.vsg-birth-legend-item{display:inline-flex!important;align-items:center;gap:6px;padding:6px 9px;border:1px solid #dde7e1;border-radius:999px;background:#fff;color:#596a61;font-size:9px!important;font-weight:700}.vsg-birth-legend-item:before{content:"";width:9px;height:9px;border-radius:3px;background:#b9c8c0}.vsg-birth-legend-item.is-series-2:before{background:#6da386}.vsg-birth-legend-item.is-series-3:before{background:#237746}.vsg-birth-legend-item.is-live{border-color:#bcdcc8;background:#f1faf4;color:#1d6b3c}
.vsg-birth-chart-137{gap:10px!important}
.vsg-birth-row-137{display:grid;grid-template-columns:72px minmax(0,1fr) 112px;gap:14px;align-items:center;padding:13px 14px;border:1px solid #e5ece8;border-radius:14px;background:#fbfdfc}
.vsg-birth-row-137:nth-child(even){background:#f7faf8}
.vsg-birth-year-137{display:flex;align-items:center;gap:7px;color:#244337}.vsg-birth-year-137 span{font-size:15px}.vsg-birth-year-137 strong{font-size:15px}
.vsg-birth-series-137{display:grid;gap:6px}
.vsg-birth-series-line{display:grid;grid-template-columns:72px minmax(0,1fr) 28px;gap:8px;align-items:center}
.vsg-birth-series-label{color:#708078;font-size:8px;font-weight:700}.vsg-birth-series-track{height:9px;overflow:hidden;border-radius:999px;background:#e9efec}.vsg-birth-series-track>span{display:block;height:100%;border-radius:999px;background:#b9c8c0}.vsg-birth-series-line.is-series-2 .vsg-birth-series-track>span{background:#6da386}.vsg-birth-series-line.is-series-3 .vsg-birth-series-track>span{background:#237746}.vsg-birth-series-line.is-live .vsg-birth-series-track>span{background:linear-gradient(90deg,#55a876,#1f7545)}.vsg-birth-series-line>strong{color:#2f473c;font-size:10px;text-align:right}
.vsg-delta-chip-137{min-width:98px;padding:6px 9px;font-size:10px}
.vsg-growth-history-137{border-radius:18px!important}.vsg-growth-history-137 .vsg-table td:nth-child(2) strong{font-size:15px;color:#234537}

@media(max-width:1050px){
  .vsg-growth-grid-137{grid-template-columns:1fr!important}
  .vsg-line-chart-wrap{min-height:280px}
}
@media(max-width:700px){
  .vsg-growth-chart-card,.vsg-birth-years-card-137{padding:15px!important}
  .vsg-growth-title-emoji{flex-basis:38px;width:38px;height:38px;font-size:19px}
  .vsg-line-chart-wrap{min-height:245px;overflow-x:auto}
  .vsg-line-chart{min-width:600px;min-height:245px}
  .vsg-birth-row-137{grid-template-columns:58px minmax(0,1fr);gap:10px;padding:11px}
  .vsg-delta-chip-137{grid-column:2;justify-self:start}
  .vsg-birth-series-line{grid-template-columns:64px minmax(0,1fr) 24px}
  .vsg-quota-row-137__foot{align-items:flex-start;flex-direction:column}
}
@media(max-width:430px){
  .vsg-growth-kpis-137{grid-template-columns:1fr!important}
  .vsg-growth-summary-137{grid-template-columns:1fr!important}
  .vsg-growth-metric__emoji{width:31px;height:31px;font-size:16px!important}
  .vsg-growth-kpis-137 .vsg-growth-metric>strong{font-size:25px}
}


/* ==========================================================
   1.3.8 — CRESCITA COERENTE CON ABBIGLIAMENTO
   Grafici a barre leggibili, card per annata e gerarchia chiara
   ========================================================== */
body.vsg-area-societa-page .vsg-growth-page-head-138{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:20px!important;
}
body.vsg-area-societa-page .vsg-growth-page-head-138>.vsg-btn{
  flex:0 0 auto!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
}
body.vsg-area-societa-page .vsg-growth-stats-138{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  margin-bottom:26px!important;
}
body.vsg-area-societa-page .vsg-growth-stats-138 .vui-status-card{
  min-height:164px!important;
}
body.vsg-area-societa-page .vsg-growth-chart-grid-138{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:20px!important;
  margin-bottom:24px!important;
}
body.vsg-area-societa-page .vsg-growth-panel-138,
body.vsg-area-societa-page .vsg-growth-years-panel-138{
  padding:21px!important;
  border-radius:18px!important;
  box-shadow:0 8px 24px rgba(17,57,39,.055)!important;
}
body.vsg-area-societa-page .vsg-growth-years-panel-138{
  margin-bottom:20px!important;
}
body.vsg-area-societa-page .vsg-growth-panel-head-138{
  align-items:flex-start!important;
  gap:16px!important;
  margin-bottom:18px!important;
}
body.vsg-area-societa-page .vsg-growth-panel-title-138{
  display:flex!important;
  align-items:flex-start!important;
  gap:12px!important;
  min-width:0!important;
}
body.vsg-area-societa-page .vsg-growth-panel-emoji-138{
  display:grid!important;
  place-items:center!important;
  flex:0 0 48px!important;
  width:48px!important;
  height:48px!important;
  border-radius:13px!important;
  background:#e5f3eb!important;
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif!important;
  font-size:27px!important;
  line-height:1!important;
}
body.vsg-area-societa-page .vsg-growth-panel-emoji-138.is-money{background:#eaf3fb!important}
body.vsg-area-societa-page .vsg-growth-panel-emoji-138.is-years{background:#fff3dd!important}
body.vsg-area-societa-page .vsg-growth-panel-title-138>div>span{
  display:block!important;
  margin:1px 0 3px!important;
  color:#0b6b43!important;
  font-size:10px!important;
  font-weight:700!important;
  letter-spacing:.1em!important;
}
body.vsg-area-societa-page .vsg-growth-panel-title-138 h3{
  margin:0!important;
  color:#203128!important;
  font-size:18px!important;
  line-height:1.25!important;
}
body.vsg-area-societa-page .vsg-growth-panel-title-138 p{
  margin:5px 0 0!important;
  color:#718078!important;
  font-size:12px!important;
  line-height:1.45!important;
}
body.vsg-area-societa-page .vsg-growth-season-list-138{
  display:grid!important;
  gap:11px!important;
}
body.vsg-area-societa-page .vsg-growth-season-row-138{
  display:grid!important;
  grid-template-columns:minmax(155px,.9fr) minmax(110px,.55fr) minmax(145px,1fr) auto!important;
  align-items:center!important;
  gap:14px!important;
  min-width:0!important;
  padding:14px!important;
  border:1px solid #d8e5dd!important;
  border-radius:15px!important;
  background:#fbfdfc!important;
}
body.vsg-area-societa-page .vsg-growth-season-row-138.is-live{
  border-color:#8fceaa!important;
  background:linear-gradient(135deg,#fbfefc,#eef9f3)!important;
}
body.vsg-area-societa-page .vsg-growth-season-id-138{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-width:0!important;
}
body.vsg-area-societa-page .vsg-growth-season-id-138>span{
  display:grid!important;
  place-items:center!important;
  flex:0 0 38px!important;
  width:38px!important;
  height:38px!important;
  border-radius:11px!important;
  background:#edf5f0!important;
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif!important;
  font-size:20px!important;
}
body.vsg-area-societa-page .vsg-growth-season-id-138 strong,
body.vsg-area-societa-page .vsg-growth-season-id-138 small,
body.vsg-area-societa-page .vsg-growth-season-value-138 strong,
body.vsg-area-societa-page .vsg-growth-season-value-138 small{
  display:block!important;
}
body.vsg-area-societa-page .vsg-growth-season-id-138 strong{
  color:#253c31!important;
  font-size:13px!important;
  font-weight:700!important;
}
body.vsg-area-societa-page .vsg-growth-season-id-138 small{
  margin-top:3px!important;
  color:#738078!important;
  font-size:9px!important;
  font-weight:700!important;
}
body.vsg-area-societa-page .vsg-growth-season-value-138 strong{
  color:#17231d!important;
  font-size:19px!important;
  font-weight:700!important;
  line-height:1.05!important;
  letter-spacing:-.025em!important;
}
body.vsg-area-societa-page .vsg-growth-season-value-138 small{
  margin-top:4px!important;
  color:#708078!important;
  font-size:9px!important;
  line-height:1.35!important;
}
body.vsg-area-societa-page .vsg-growth-bar-wrap-138{
  min-width:0!important;
}
body.vsg-area-societa-page .vsg-growth-bar-138{
  height:13px!important;
  overflow:hidden!important;
  border-radius:999px!important;
  background:#e7eeea!important;
  box-shadow:inset 0 1px 2px rgba(17,57,39,.07)!important;
}
body.vsg-area-societa-page .vsg-growth-bar-138>span{
  display:block!important;
  height:100%!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,#72b28c,#0b6b43)!important;
}
body.vsg-area-societa-page .vsg-growth-bar-138.is-money>span{
  background:linear-gradient(90deg,#8fb7d5,#315f96)!important;
}
body.vsg-area-societa-page .vsg-growth-bar-wrap-138>small{
  display:block!important;
  margin-top:5px!important;
  color:#86928c!important;
  font-size:8px!important;
  font-weight:700!important;
}
body.vsg-area-societa-page .vsg-growth-row-result-138{
  display:flex!important;
  justify-content:flex-end!important;
}
body.vsg-area-societa-page .vsg-growth-result-chip-138{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:29px!important;
  padding:6px 9px!important;
  border-radius:999px!important;
  background:#eef3f0!important;
  color:#617168!important;
  font-size:9px!important;
  font-weight:700!important;
  white-space:nowrap!important;
}
body.vsg-area-societa-page .vsg-growth-result-chip-138.is-complete{background:#e3f4e9!important;color:#176338!important}
body.vsg-area-societa-page .vsg-growth-result-chip-138.is-incomplete{background:#fae9e7!important;color:#9e3a32!important}
body.vsg-area-societa-page .vsg-growth-result-chip-138.is-order-working{background:#fff5d9!important;color:#84620d!important}
body.vsg-area-societa-page .vsg-growth-result-chip-138.is-live{background:#dff3e7!important;color:#176338!important}
body.vsg-area-societa-page .vsg-growth-result-chip-138.is-start{background:#eef2f0!important;color:#617168!important}
body.vsg-area-societa-page .vsg-growth-years-legend-138{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  margin:0 0 17px!important;
}
body.vsg-area-societa-page .vsg-growth-years-legend-138>span{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  padding:6px 9px!important;
  border:1px solid #d8e5dd!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#596a61!important;
  font-size:9px!important;
  font-weight:700!important;
}
body.vsg-area-societa-page .vsg-growth-years-legend-138>span:before{
  content:""!important;
  width:9px!important;
  height:9px!important;
  border-radius:3px!important;
  background:#b9c8c0!important;
}
body.vsg-area-societa-page .vsg-growth-years-legend-138>span.is-series-2:before{background:#6da386!important}
body.vsg-area-societa-page .vsg-growth-years-legend-138>span.is-series-3:before{background:#0b6b43!important}
body.vsg-area-societa-page .vsg-growth-years-legend-138>span.is-live{border-color:#8fceaa!important;background:#eef9f3!important;color:#176338!important}
body.vsg-area-societa-page .vsg-growth-year-grid-138{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:13px!important;
}
body.vsg-area-societa-page .vsg-growth-year-card-138{
  overflow:hidden!important;
  min-width:0!important;
  border:1px solid #d8e5dd!important;
  border-radius:16px!important;
  background:#fbfdfc!important;
}
body.vsg-area-societa-page .vsg-growth-year-card-138.is-positive{border-color:#a7d3b8!important}
body.vsg-area-societa-page .vsg-growth-year-card-138.is-negative{border-color:#e4aaa5!important}
body.vsg-area-societa-page .vsg-growth-year-card-138>header{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  padding:13px!important;
  border-bottom:1px solid #e0e9e4!important;
  background:#fff!important;
}
body.vsg-area-societa-page .vsg-growth-year-card-138>header>div{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
}
body.vsg-area-societa-page .vsg-growth-year-emoji-138{
  display:grid!important;
  place-items:center!important;
  width:39px!important;
  height:39px!important;
  border-radius:11px!important;
  background:#e5f3eb!important;
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif!important;
  font-size:21px!important;
}
body.vsg-area-societa-page .vsg-growth-year-card-138>header small,
body.vsg-area-societa-page .vsg-growth-year-card-138>header strong{
  display:block!important;
}
body.vsg-area-societa-page .vsg-growth-year-card-138>header small{
  color:#718078!important;
  font-size:8px!important;
  font-weight:700!important;
  letter-spacing:.1em!important;
}
body.vsg-area-societa-page .vsg-growth-year-card-138>header strong{
  margin-top:2px!important;
  color:#203128!important;
  font-size:18px!important;
  font-weight:700!important;
}
body.vsg-area-societa-page .vsg-growth-year-delta-138{
  display:inline-flex!important;
  align-items:center!important;
  min-height:28px!important;
  padding:5px 8px!important;
  border-radius:999px!important;
  background:#eef3f0!important;
  color:#617168!important;
  font-size:9px!important;
  font-weight:700!important;
  white-space:nowrap!important;
}
body.vsg-area-societa-page .is-positive .vsg-growth-year-delta-138{background:#e3f4e9!important;color:#176338!important}
body.vsg-area-societa-page .is-negative .vsg-growth-year-delta-138{background:#fae9e7!important;color:#9e3a32!important}
body.vsg-area-societa-page .is-stable .vsg-growth-year-delta-138{background:#fff5d9!important;color:#84620d!important}
body.vsg-area-societa-page .vsg-growth-year-series-138{
  display:grid!important;
  gap:9px!important;
  padding:13px!important;
}
body.vsg-area-societa-page .vsg-growth-year-line-138{
  display:grid!important;
  grid-template-columns:44px minmax(0,1fr) 25px!important;
  align-items:center!important;
  gap:7px!important;
}
body.vsg-area-societa-page .vsg-growth-year-line-138>span{
  color:#6c7b73!important;
  font-size:8px!important;
  font-weight:700!important;
}
body.vsg-area-societa-page .vsg-growth-year-line-138>div{
  height:9px!important;
  overflow:hidden!important;
  border-radius:999px!important;
  background:#e8eeeb!important;
}
body.vsg-area-societa-page .vsg-growth-year-line-138 i{
  display:block!important;
  height:100%!important;
  border-radius:999px!important;
  background:#b9c8c0!important;
}
body.vsg-area-societa-page .vsg-growth-year-line-138.is-series-2 i{background:#6da386!important}
body.vsg-area-societa-page .vsg-growth-year-line-138.is-series-3 i{background:#0b6b43!important}
body.vsg-area-societa-page .vsg-growth-year-line-138.is-live i{background:linear-gradient(90deg,#4fa371,#0b6b43)!important}
body.vsg-area-societa-page .vsg-growth-year-line-138>strong{
  color:#263d32!important;
  font-size:10px!important;
  font-weight:700!important;
  text-align:right!important;
}
body.vsg-area-societa-page .vsg-growth-year-card-138>footer{
  display:block!important;
  padding:10px 13px 12px!important;
  border-top:1px solid #e0e9e4!important;
  background:#f7faf8!important;
}
body.vsg-area-societa-page .vsg-growth-year-card-138>footer span,
body.vsg-area-societa-page .vsg-growth-year-card-138>footer small{
  display:block!important;
}
body.vsg-area-societa-page .vsg-growth-year-card-138>footer span{
  color:#2b493a!important;
  font-size:10px!important;
  font-weight:700!important;
}
body.vsg-area-societa-page .vsg-growth-year-card-138>footer small{
  margin-top:3px!important;
  color:#718078!important;
  font-size:8px!important;
  line-height:1.35!important;
}
body.vsg-area-societa-page .vsg-growth-note-138{
  display:flex!important;
  align-items:flex-start!important;
  gap:12px!important;
  padding:15px 17px!important;
  border:1px solid #cfe2d6!important;
  border-radius:15px!important;
  background:#f3faf6!important;
}
body.vsg-area-societa-page .vsg-growth-note-138>span{
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif!important;
  font-size:21px!important;
}
body.vsg-area-societa-page .vsg-growth-note-138 strong,
body.vsg-area-societa-page .vsg-growth-note-138 p{
  display:block!important;
}
body.vsg-area-societa-page .vsg-growth-note-138 strong{
  color:#1e4c34!important;
  font-size:12px!important;
  font-weight:700!important;
}
body.vsg-area-societa-page .vsg-growth-note-138 p{
  margin:4px 0 0!important;
  color:#617168!important;
  font-size:10px!important;
  line-height:1.5!important;
}
@media(max-width:1450px){
  body.vsg-area-societa-page .vsg-growth-year-grid-138{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  body.vsg-area-societa-page .vsg-growth-season-row-138{grid-template-columns:minmax(145px,.9fr) minmax(105px,.55fr) minmax(120px,1fr)!important}
  body.vsg-area-societa-page .vsg-growth-row-result-138{grid-column:1/-1!important;justify-content:flex-start!important}
}
@media(max-width:1150px){
  body.vsg-area-societa-page .vsg-growth-stats-138{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.vsg-area-societa-page .vsg-growth-chart-grid-138{grid-template-columns:1fr!important}
  body.vsg-area-societa-page .vsg-growth-year-grid-138{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:700px){
  body.vsg-area-societa-page .vsg-growth-page-head-138{align-items:flex-start!important;flex-direction:column!important}
  body.vsg-area-societa-page .vsg-growth-stats-138{grid-template-columns:1fr!important}
  body.vsg-area-societa-page .vsg-growth-panel-138,
  body.vsg-area-societa-page .vsg-growth-years-panel-138{padding:15px!important}
  body.vsg-area-societa-page .vsg-growth-panel-head-138{align-items:flex-start!important;flex-direction:column!important}
  body.vsg-area-societa-page .vsg-growth-season-row-138{grid-template-columns:1fr!important;gap:10px!important}
  body.vsg-area-societa-page .vsg-growth-row-result-138{grid-column:auto!important}
  body.vsg-area-societa-page .vsg-growth-year-grid-138{grid-template-columns:1fr!important}
}


/* ==========================================================
   0.7.8 — CONTROLLO UI: CAMPI SOTTILI E AZIONI ALLINEATE
   ========================================================== */
body.vsg-area-societa-page .vsg-clothing-update-form{
  align-items:end!important;
  gap:12px!important;
}
body.vsg-area-societa-page .vsg-clothing-update-form>label>span{
  min-height:18px!important;
  color:#526159!important;
  font-size:11px!important;
  font-weight:600!important;
  line-height:1.25!important;
}
body.vsg-area-societa-page .vsg-clothing-update-form select,
body.vsg-area-societa-page .vsg-clothing-update-form input[type="date"]{
  height:46px!important;
  min-height:46px!important;
  padding:0 13px!important;
  border:1px solid #c8d7cf!important;
  border-width:1px!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#24322b!important;
  box-shadow:none!important;
  font-size:14px!important;
  font-weight:500!important;
  line-height:1.2!important;
}
body.vsg-area-societa-page .vsg-clothing-order-actions{
  align-self:end!important;
  align-items:stretch!important;
  min-height:46px!important;
}
body.vsg-area-societa-page .vsg-clothing-order-actions .vsg-btn{
  height:46px!important;
  min-height:46px!important;
  padding:0 15px!important;
}
@media(max-width:720px){
  body.vsg-area-societa-page .vsg-clothing-order-actions{min-height:0!important}
  body.vsg-area-societa-page .vsg-clothing-order-actions .vsg-btn{width:100%!important}
}


/* ==========================================================
   1.4.1 — CRESCITA PIÙ LEGGIBILE E AUDIT DI ALLINEAMENTO
   Struttura verticale, gerarchia chiara e testi mai microscopici.
   ========================================================== */
body.vsg-area-societa-page .vsg-growth-chart-grid-141{
  grid-template-columns:minmax(0,1fr)!important;
  gap:18px!important;
}
body.vsg-area-societa-page .vsg-growth-panel-141{
  padding:22px!important;
  border:1px solid #d8e5dd!important;
  box-shadow:0 5px 18px rgba(17,57,39,.045)!important;
}
body.vsg-area-societa-page .vsg-growth-panel-141 .vsg-growth-panel-head-138{
  align-items:center!important;
  margin-bottom:18px!important;
}
body.vsg-area-societa-page .vsg-growth-season-list-141{
  gap:12px!important;
}
body.vsg-area-societa-page .vsg-growth-season-row-141{
  grid-template-columns:minmax(190px,1fr) minmax(150px,.55fr) auto!important;
  grid-template-rows:auto auto!important;
  align-items:center!important;
  column-gap:20px!important;
  row-gap:13px!important;
  padding:16px 17px!important;
  border-color:#dce7e1!important;
  background:#fff!important;
}
body.vsg-area-societa-page .vsg-growth-season-row-141.is-live{
  border-color:#8fceaa!important;
  background:#f5fbf7!important;
}
body.vsg-area-societa-page .vsg-growth-season-row-141 .vsg-growth-season-id-138 strong{
  font-size:15px!important;
  line-height:1.25!important;
}
body.vsg-area-societa-page .vsg-growth-season-row-141 .vsg-growth-season-id-138 small{
  margin-top:4px!important;
  color:#607067!important;
  font-size:11px!important;
  font-weight:500!important;
  line-height:1.35!important;
}
body.vsg-area-societa-page .vsg-growth-season-row-141 .vsg-growth-season-value-138{
  min-width:0!important;
}
body.vsg-area-societa-page .vsg-growth-season-row-141 .vsg-growth-season-value-138 strong{
  font-size:23px!important;
  line-height:1.15!important;
  letter-spacing:-.02em!important;
  white-space:nowrap!important;
}
body.vsg-area-societa-page .vsg-growth-season-row-141 .vsg-growth-season-value-138 small{
  margin-top:5px!important;
  color:#607067!important;
  font-size:11px!important;
  font-weight:500!important;
}
body.vsg-area-societa-page .vsg-growth-season-row-141 .vsg-growth-row-result-138{
  justify-content:flex-end!important;
}
body.vsg-area-societa-page .vsg-growth-season-row-141 .vsg-growth-result-chip-138{
  min-height:32px!important;
  padding:7px 11px!important;
  font-size:11px!important;
  line-height:1.2!important;
}
body.vsg-area-societa-page .vsg-growth-season-row-141 .vsg-growth-bar-wrap-138{
  grid-column:1/-1!important;
  width:100%!important;
}
body.vsg-area-societa-page .vsg-growth-season-row-141 .vsg-growth-bar-138{
  height:10px!important;
  background:#e7eeea!important;
  box-shadow:none!important;
}
body.vsg-area-societa-page .vsg-growth-season-row-141 .vsg-growth-bar-wrap-138>small{
  display:none!important;
}

/* Annate: due sole colonne e testi più grandi. */
body.vsg-area-societa-page .vsg-growth-year-grid-138{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:15px!important;
}
body.vsg-area-societa-page .vsg-growth-years-legend-138>span{
  padding:7px 10px!important;
  color:#4f6157!important;
  font-size:11px!important;
  font-weight:600!important;
}
body.vsg-area-societa-page .vsg-growth-year-card-138>header small{
  color:#607067!important;
  font-size:10px!important;
}
body.vsg-area-societa-page .vsg-growth-year-card-138>header strong{
  font-size:20px!important;
}
body.vsg-area-societa-page .vsg-growth-year-delta-138{
  min-height:31px!important;
  padding:6px 10px!important;
  font-size:11px!important;
}
body.vsg-area-societa-page .vsg-growth-year-series-138{
  gap:11px!important;
  padding:15px!important;
}
body.vsg-area-societa-page .vsg-growth-year-line-138{
  grid-template-columns:62px minmax(0,1fr) 32px!important;
  gap:10px!important;
}
body.vsg-area-societa-page .vsg-growth-year-line-138>span{
  color:#53645b!important;
  font-size:11px!important;
  font-weight:600!important;
}
body.vsg-area-societa-page .vsg-growth-year-line-138>div{
  height:10px!important;
}
body.vsg-area-societa-page .vsg-growth-year-line-138>strong{
  font-size:12px!important;
}
body.vsg-area-societa-page .vsg-growth-year-card-138>footer span{
  font-size:12px!important;
}
body.vsg-area-societa-page .vsg-growth-year-card-138>footer small{
  margin-top:4px!important;
  color:#607067!important;
  font-size:10px!important;
  font-weight:500!important;
}
body.vsg-area-societa-page .vsg-growth-note-138 strong{
  font-size:13px!important;
}
body.vsg-area-societa-page .vsg-growth-note-138 p{
  color:#53645b!important;
  font-size:11px!important;
}

@media(max-width:900px){
  body.vsg-area-societa-page .vsg-growth-year-grid-138{grid-template-columns:1fr!important}
}
@media(max-width:700px){
  body.vsg-area-societa-page .vsg-growth-season-row-141{
    grid-template-columns:minmax(0,1fr) auto!important;
    column-gap:12px!important;
  }
  body.vsg-area-societa-page .vsg-growth-season-row-141 .vsg-growth-season-value-138{
    grid-column:1!important;
  }
  body.vsg-area-societa-page .vsg-growth-season-row-141 .vsg-growth-row-result-138{
    grid-column:2!important;
    grid-row:1/3!important;
    align-self:center!important;
  }
  body.vsg-area-societa-page .vsg-growth-season-row-141 .vsg-growth-bar-wrap-138{
    grid-column:1/-1!important;
  }
}
@media(max-width:470px){
  body.vsg-area-societa-page .vsg-growth-season-row-141{grid-template-columns:1fr!important}
  body.vsg-area-societa-page .vsg-growth-season-row-141 .vsg-growth-row-result-138{
    grid-column:auto!important;
    grid-row:auto!important;
    justify-content:flex-start!important;
  }
  body.vsg-area-societa-page .vsg-growth-season-row-141 .vsg-growth-season-value-138 strong{font-size:21px!important}
}

/* ==========================================================
   1.4.9 — FASCICOLO ATLETA UNIFORME + CARICAMENTI SEGRETERIA
   ========================================================== */
body.vsg-area-societa-page .vsg-athlete-identity{
  padding:24px 28px!important;
  border:1px solid #dbe7e0!important;
  border-radius:22px!important;
  background:#fff!important;
  box-shadow:0 12px 30px rgba(18,54,38,.07)!important;
}
body.vsg-area-societa-page .vsg-athlete-dossier{
  width:100%!important;
  margin-top:4px!important;
  padding:0 30px 32px!important;
  border:1px solid #dbe7e0!important;
  border-radius:24px!important;
  background:#fff!important;
  box-shadow:0 16px 40px rgba(18,54,38,.08)!important;
  overflow:visible!important;
}
body.vsg-area-societa-page .vsg-athlete-dossier .vsg-detail-section-title{
  margin:0!important;
  padding:30px 0 14px!important;
  border-top:1px solid #e1ebe5!important;
  scroll-margin-top:105px!important;
}
body.vsg-area-societa-page .vsg-athlete-dossier>.vsg-detail-section-title:first-child{
  border-top:0!important;
}
body.vsg-area-societa-page .vsg-athlete-dossier .vsg-detail-section-title h2{
  width:auto!important;
  margin:0!important;
  padding:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#0b6b43!important;
  box-shadow:none!important;
  font-size:clamp(22px,2vw,29px)!important;
  font-weight:700!important;
  letter-spacing:-.025em!important;
}
body.vsg-area-societa-page .vsg-athlete-dossier>.vsg-card,
body.vsg-area-societa-page .vsg-athlete-dossier>.vsg-detail-section-group>.vsg-card,
body.vsg-area-societa-page .vsg-athlete-dossier .vsg-detail-pair>.vsg-detail-section-group>.vsg-card{
  margin:0!important;
  padding:0 0 30px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body.vsg-area-societa-page .vsg-athlete-dossier .vsg-detail-pair{
  gap:34px!important;
}
body.vsg-area-societa-page .vsg-athlete-dossier .vsg-detail-pair .vsg-detail-section-title{
  margin-top:0!important;
}
body.vsg-area-societa-page .vsg-athlete-dossier .vsg-card-intro{
  margin:0 0 18px!important;
  padding:0 0 15px!important;
}
body.vsg-area-societa-page .vsg-athlete-dossier .vsg-review-form{
  margin:16px 0 0!important;
  padding:18px!important;
  border:1px solid #dce8e1!important;
  border-radius:16px!important;
  background:#f7faf8!important;
}
body.vsg-area-societa-page .vsg-athlete-dossier .vsg-photo-admin-card .vsg-card-head{
  margin-bottom:18px!important;
  padding-bottom:15px!important;
  border-bottom:1px solid #e1eae5!important;
}
body.vsg-area-societa-page .vsg-athlete-dossier .vsg-medical-detail-card{
  justify-content:flex-start!important;
}
body.vsg-area-societa-page .vsg-required-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:0!important;
  margin:0 0 20px!important;
  border:1px solid #dce8e1!important;
  border-radius:17px!important;
  background:#fff!important;
  overflow:visible!important;
}
body.vsg-area-societa-page .vsg-required-item{
  display:grid!important;
  grid-template-columns:minmax(220px,1fr) minmax(320px,auto)!important;
  gap:18px!important;
  align-items:center!important;
  min-height:82px!important;
  padding:15px 17px!important;
  border:0!important;
  border-bottom:1px solid #e4ece8!important;
  border-radius:0!important;
  background:transparent!important;
}
body.vsg-area-societa-page .vsg-required-item:last-child{border-bottom:0!important}
body.vsg-area-societa-page .vsg-required-copy{
  display:flex!important;
  flex-direction:column!important;
  gap:5px!important;
  min-width:0!important;
}
body.vsg-area-societa-page .vsg-required-copy strong{
  color:#203128!important;
  font-size:14px!important;
  line-height:1.3!important;
}
body.vsg-area-societa-page .vsg-required-copy small{
  color:#718078!important;
  font-size:11px!important;
  line-height:1.45!important;
}
body.vsg-area-societa-page .vsg-required-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:9px!important;
  flex-wrap:wrap!important;
}
body.vsg-area-societa-page .vsg-secretary-upload{
  position:relative!important;
  min-width:0!important;
}
body.vsg-area-societa-page .vsg-secretary-upload>summary{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  min-height:38px!important;
  padding:8px 12px!important;
  border:1px solid #0b6b43!important;
  border-radius:10px!important;
  background:#0b6b43!important;
  color:#fff!important;
  cursor:pointer!important;
  list-style:none!important;
  font-size:12px!important;
  font-weight:700!important;
  line-height:1!important;
}
body.vsg-area-societa-page .vsg-secretary-upload>summary::-webkit-details-marker{display:none!important}
body.vsg-area-societa-page .vsg-secretary-upload>summary .vsg-icon{width:16px!important;height:16px!important}
body.vsg-area-societa-page .vsg-secretary-upload>form{
  display:grid!important;
  grid-template-columns:minmax(220px,1.4fr) minmax(170px,.7fr) auto!important;
  gap:12px!important;
  align-items:end!important;
  width:min(760px,calc(100vw - 84px))!important;
  margin-top:10px!important;
  padding:16px!important;
  border:1px solid #d3e2da!important;
  border-radius:15px!important;
  background:#fff!important;
  box-shadow:0 16px 38px rgba(20,52,38,.15)!important;
}
body.vsg-area-societa-page .vsg-required-actions .vsg-secretary-upload>form{
  position:absolute!important;
  z-index:80!important;
  top:100%!important;
  right:0!important;
}
body.vsg-area-societa-page .vsg-secretary-upload label,
body.vsg-area-societa-page .vsg-secretary-photo-upload label{
  display:flex!important;
  flex-direction:column!important;
  gap:6px!important;
  min-width:0!important;
}
body.vsg-area-societa-page .vsg-secretary-upload label>span,
body.vsg-area-societa-page .vsg-secretary-photo-upload label>span{
  color:#4c5d54!important;
  font-size:11px!important;
  font-weight:700!important;
}
body.vsg-area-societa-page .vsg-secretary-upload label small,
body.vsg-area-societa-page .vsg-secretary-photo-upload label small{
  color:#718078!important;
  font-size:10px!important;
  line-height:1.4!important;
}
body.vsg-area-societa-page .vsg-secretary-upload input,
body.vsg-area-societa-page .vsg-secretary-upload select,
body.vsg-area-societa-page .vsg-secretary-photo-upload input{
  width:100%!important;
  min-width:0!important;
  min-height:43px!important;
  padding:9px 10px!important;
  border:1px solid #cddbd3!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#203128!important;
  font:inherit!important;
}
body.vsg-area-societa-page .vsg-secretary-assist{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:18px!important;
  align-items:center!important;
  margin-top:20px!important;
  padding:16px!important;
  border:1px dashed #9fcbb4!important;
  border-radius:16px!important;
  background:#f2faf6!important;
}
body.vsg-area-societa-page .vsg-secretary-assist>div:first-child{
  display:flex!important;
  flex-direction:column!important;
  gap:4px!important;
  min-width:0!important;
}
body.vsg-area-societa-page .vsg-secretary-assist>div:first-child>span{
  color:#0b6b43!important;
  font-size:10px!important;
  font-weight:700!important;
  letter-spacing:.13em!important;
}
body.vsg-area-societa-page .vsg-secretary-assist>div:first-child>strong{
  color:#203128!important;
  font-size:14px!important;
}
body.vsg-area-societa-page .vsg-secretary-assist>div:first-child>small{
  color:#6d7d74!important;
  font-size:11px!important;
  line-height:1.45!important;
}
body.vsg-area-societa-page .vsg-secretary-assist .vsg-secretary-upload>form{
  position:static!important;
  width:min(720px,100%)!important;
  box-shadow:none!important;
}
body.vsg-area-societa-page .vsg-secretary-photo-upload{
  display:grid!important;
  grid-template-columns:minmax(230px,1fr) auto!important;
  gap:12px!important;
  align-items:end!important;
  min-width:min(100%,440px)!important;
}
body.vsg-area-societa-page .vsg-secretary-photo-upload .vsg-btn,
body.vsg-area-societa-page .vsg-secretary-upload .vsg-btn{
  min-height:43px!important;
  white-space:nowrap!important;
}
body.vsg-area-societa-page .vsg-secretary-other-document{
  margin-bottom:20px!important;
}
body.vsg-area-societa-page .vsg-document-card:has(+ .vsg-document-card){margin-bottom:12px!important}
body.vsg-area-societa-page .vsg-document-card [href*="valve_scarica_documento"]{white-space:nowrap!important}

@media(max-width:1180px){
  body.vsg-area-societa-page .vsg-required-item{
    grid-template-columns:1fr!important;
  }
  body.vsg-area-societa-page .vsg-required-actions{
    justify-content:flex-start!important;
  }
  body.vsg-area-societa-page .vsg-required-actions .vsg-secretary-upload>form{
    right:auto!important;
    left:0!important;
  }
  body.vsg-area-societa-page .vsg-secretary-assist{
    grid-template-columns:1fr!important;
  }
}
@media(max-width:760px){
  body.vsg-area-societa-page .vsg-athlete-identity{
    padding:19px 18px!important;
    border-radius:18px!important;
  }
  body.vsg-area-societa-page .vsg-athlete-identity h2{font-size:31px!important}
  body.vsg-area-societa-page .vsg-detail-nav-modern{
    position:static!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
    overflow:visible!important;
  }
  body.vsg-area-societa-page .vsg-detail-nav-modern a{
    min-width:0!important;
    min-height:46px!important;
    padding:8px!important;
    white-space:normal!important;
    text-align:center!important;
  }
  body.vsg-area-societa-page .vsg-athlete-dossier{
    padding:0 16px 22px!important;
    border-radius:19px!important;
  }
  body.vsg-area-societa-page .vsg-athlete-dossier .vsg-detail-section-title{
    padding:23px 0 12px!important;
  }
  body.vsg-area-societa-page .vsg-athlete-dossier .vsg-detail-section-title h2{
    width:auto!important;
    font-size:21px!important;
  }
  body.vsg-area-societa-page .vsg-athlete-dossier .vsg-detail-pair{
    grid-template-columns:1fr!important;
    gap:0!important;
  }
  body.vsg-area-societa-page .vsg-athlete-dossier .vsg-photo-admin-body{
    grid-template-columns:1fr!important;
  }
  body.vsg-area-societa-page .vsg-athlete-dossier .vsg-review-form,
  body.vsg-area-societa-page .vsg-secretary-upload>form,
  body.vsg-area-societa-page .vsg-secretary-photo-upload{
    grid-template-columns:1fr!important;
  }
  body.vsg-area-societa-page .vsg-required-item{
    min-height:0!important;
    padding:14px!important;
  }
  body.vsg-area-societa-page .vsg-required-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    width:100%!important;
  }
  body.vsg-area-societa-page .vsg-required-actions>*{
    width:100%!important;
  }
  body.vsg-area-societa-page .vsg-required-actions .vsg-btn,
  body.vsg-area-societa-page .vsg-required-actions .vsg-secretary-upload>summary{
    width:100%!important;
  }
  body.vsg-area-societa-page .vsg-required-actions .vsg-secretary-upload>form{
    position:static!important;
    width:100%!important;
    margin-top:9px!important;
    box-shadow:none!important;
  }
  body.vsg-area-societa-page .vsg-secretary-assist{
    padding:14px!important;
  }
  body.vsg-area-societa-page .vsg-secretary-photo-upload,
  body.vsg-area-societa-page .vsg-secretary-photo-upload .vsg-btn,
  body.vsg-area-societa-page .vsg-secretary-upload .vsg-btn{
    width:100%!important;
  }
  body.vsg-area-societa-page .vsg-photo-admin-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
  }
  body.vsg-area-societa-page .vsg-photo-admin-actions .vsg-btn{width:100%!important}
}
@media(max-width:430px){
  body.vsg-area-societa-page .vsg-detail-nav-modern{grid-template-columns:1fr!important}
  body.vsg-area-societa-page .vsg-athlete-dossier{padding-inline:12px!important}
}

/* Rifiniture layout fascicolo 1.4.9 */
body.vsg-area-societa-page .vsg-detail-nav-modern{
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
}
body.vsg-area-societa-page .vsg-secretary-upload.is-medical>form{
  grid-template-columns:minmax(220px,1.35fr) minmax(160px,.7fr) minmax(170px,.7fr) auto!important;
}
@media(max-width:1180px){
  body.vsg-area-societa-page .vsg-secretary-upload.is-medical>form{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:760px){
  body.vsg-area-societa-page .vsg-secretary-upload.is-medical>form{
    grid-template-columns:1fr!important;
  }
}
/* Correzione responsive finale fascicolo 1.4.9 */
@media(max-width:760px){
  body.vsg-area-societa-page .vsg-detail-nav-modern{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:430px){
  body.vsg-area-societa-page .vsg-detail-nav-modern{
    grid-template-columns:1fr!important;
  }
}

/* ==========================================================
   1.4.10 — FASCICOLO ATLETA: UI PIÙ CHIARA E USER FRIENDLY
   Correzione definitiva di proporzioni, tipografia e upload.
   ========================================================== */
body.vsg-area-societa-page .vsg-athlete-dossier,
body.vsg-area-societa-page .vsg-athlete-dossier input,
body.vsg-area-societa-page .vsg-athlete-dossier select,
body.vsg-area-societa-page .vsg-athlete-dossier button,
body.vsg-area-societa-page .vsg-athlete-dossier summary{
  font-family:"Poppins",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important;
}

/* Fototessera e visita: proporzioni più equilibrate. */
body.vsg-area-societa-page .vsg-athlete-dossier .vsg-detail-pair{
  grid-template-columns:minmax(0,1.3fr) minmax(380px,.7fr)!important;
  gap:40px!important;
  align-items:start!important;
}
body.vsg-area-societa-page .vsg-athlete-dossier .vsg-detail-section-group{
  min-width:0!important;
}
body.vsg-area-societa-page .vsg-athlete-dossier .vsg-detail-section-title{
  padding-bottom:16px!important;
}
body.vsg-area-societa-page .vsg-athlete-dossier .vsg-detail-section-title h2{
  font-size:clamp(23px,1.75vw,29px)!important;
  line-height:1.2!important;
  letter-spacing:-.02em!important;
}

/* Testata interna coerente e senza salti tipografici. */
body.vsg-area-societa-page .vsg-athlete-dossier .vsg-card-head{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:18px!important;
}
body.vsg-area-societa-page .vsg-athlete-dossier .vsg-card-head h3{
  margin:0 0 6px!important;
  color:#203128!important;
  font-size:clamp(20px,1.55vw,26px)!important;
  font-weight:700!important;
  line-height:1.2!important;
  letter-spacing:-.02em!important;
}
body.vsg-area-societa-page .vsg-athlete-dossier .vsg-card-head p{
  margin:0!important;
  color:#6b7a72!important;
  font-size:13px!important;
  line-height:1.55!important;
}
body.vsg-area-societa-page .vsg-athlete-dossier .vsg-card-head .vsg-badge{
  flex:0 0 auto!important;
  margin-top:2px!important;
}

/* Fototessera: anteprima compatta, contenuto leggibile. */
body.vsg-area-societa-page .vsg-athlete-dossier .vsg-photo-admin-body{
  grid-template-columns:minmax(145px,178px) minmax(0,1fr)!important;
  gap:26px!important;
  align-items:start!important;
}
body.vsg-area-societa-page .vsg-athlete-dossier .vsg-photo-admin-preview{
  width:100%!important;
  max-width:178px!important;
  border-radius:18px!important;
  background:#eef6f2!important;
  box-shadow:none!important;
}
body.vsg-area-societa-page .vsg-athlete-dossier .vsg-photo-admin-content{
  display:flex!important;
  flex-direction:column!important;
  gap:0!important;
  min-width:0!important;
}
body.vsg-area-societa-page .vsg-athlete-dossier .vsg-empty-state{
  align-items:flex-start!important;
  padding:18px 0 10px!important;
  text-align:left!important;
  gap:6px!important;
}
body.vsg-area-societa-page .vsg-athlete-dossier .vsg-photo-admin-card .vsg-empty-state:before{
  content:"📷"!important;
  width:44px!important;
  height:44px!important;
  margin:0 0 7px!important;
  background:#e8f5ee!important;
  color:#0b6b43!important;
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif!important;
  font-size:21px!important;
  font-weight:400!important;
}
body.vsg-area-societa-page .vsg-athlete-dossier .vsg-empty-state strong{
  color:#203128!important;
  font-size:17px!important;
  line-height:1.35!important;
}
body.vsg-area-societa-page .vsg-athlete-dossier .vsg-empty-state span{
  color:#6c7b73!important;
  font-size:13px!important;
  line-height:1.55!important;
}

/* Visita medica: gerarchia visiva meno aggressiva. */
body.vsg-area-societa-page .vsg-athlete-dossier .vsg-medical-detail-card{
  justify-content:flex-start!important;
  padding-top:2px!important;
}
body.vsg-area-societa-page .vsg-athlete-dossier .vsg-medical-big{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:7px!important;
}
body.vsg-area-societa-page .vsg-athlete-dossier .vsg-medical-big>strong{
  margin-top:5px!important;
  color:#17231d!important;
  font-size:clamp(31px,2.7vw,42px)!important;
  font-weight:700!important;
  line-height:1.08!important;
  letter-spacing:-.035em!important;
}
body.vsg-area-societa-page .vsg-athlete-dossier .vsg-medical-big>span:not(.vsg-badge){
  color:#26342d!important;
  font-size:17px!important;
  line-height:1.3!important;
}
body.vsg-area-societa-page .vsg-athlete-dossier .vsg-medical-detail-card>p{
  margin:20px 0 0!important;
  color:#6c7b73!important;
  font-size:13px!important;
  line-height:1.6!important;
}

/* Assistenza segreteria: una colonna, nessun testo compresso. */
body.vsg-area-societa-page .vsg-athlete-dossier .vsg-secretary-assist{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:14px!important;
  width:100%!important;
  min-width:0!important;
  margin-top:20px!important;
  padding:17px!important;
  border:1px solid #badbc9!important;
  border-radius:16px!important;
  background:#f3faf6!important;
}
body.vsg-area-societa-page .vsg-athlete-dossier .vsg-secretary-assist-copy,
body.vsg-area-societa-page .vsg-athlete-dossier .vsg-secretary-assist>div:first-child{
  display:flex!important;
  flex-direction:column!important;
  gap:4px!important;
  width:100%!important;
  min-width:0!important;
}
body.vsg-area-societa-page .vsg-athlete-dossier .vsg-secretary-assist-copy>span,
body.vsg-area-societa-page .vsg-athlete-dossier .vsg-secretary-assist>div:first-child>span{
  color:#0b6b43!important;
  font-size:9px!important;
  font-weight:700!important;
  line-height:1.2!important;
  letter-spacing:.14em!important;
}
body.vsg-area-societa-page .vsg-athlete-dossier .vsg-secretary-assist-copy>strong,
body.vsg-area-societa-page .vsg-athlete-dossier .vsg-secretary-assist>div:first-child>strong{
  color:#203128!important;
  font-size:15px!important;
  font-weight:700!important;
  line-height:1.35!important;
}
body.vsg-area-societa-page .vsg-athlete-dossier .vsg-secretary-assist-copy>small,
body.vsg-area-societa-page .vsg-athlete-dossier .vsg-secretary-assist>div:first-child>small{
  max-width:62ch!important;
  color:#6c7b73!important;
  font-size:11px!important;
  line-height:1.5!important;
}

/* Upload fototessera: campo e pulsante ben distribuiti. */
body.vsg-area-societa-page .vsg-athlete-dossier .vsg-secretary-photo-upload{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:12px!important;
  align-items:end!important;
  width:100%!important;
  min-width:0!important;
}
body.vsg-area-societa-page .vsg-athlete-dossier .vsg-secretary-photo-upload label{
  width:100%!important;
  min-width:0!important;
}
body.vsg-area-societa-page .vsg-athlete-dossier .vsg-secretary-photo-upload label>span,
body.vsg-area-societa-page .vsg-athlete-dossier .vsg-secretary-upload label>span{
  color:#42544a!important;
  font-size:11px!important;
  font-weight:700!important;
  line-height:1.3!important;
}
body.vsg-area-societa-page .vsg-athlete-dossier .vsg-secretary-photo-upload label>small,
body.vsg-area-societa-page .vsg-athlete-dossier .vsg-secretary-upload label>small{
  color:#74827a!important;
  font-size:10px!important;
  line-height:1.45!important;
}
body.vsg-area-societa-page .vsg-athlete-dossier input[type="file"]{
  width:100%!important;
  min-width:0!important;
  min-height:44px!important;
  padding:5px!important;
  overflow:hidden!important;
  border:1px solid #cbdad2!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#42544a!important;
  font-size:12px!important;
}
body.vsg-area-societa-page .vsg-athlete-dossier input[type="file"]::file-selector-button{
  min-height:32px!important;
  margin-right:10px!important;
  padding:7px 11px!important;
  border:0!important;
  border-radius:8px!important;
  background:#e9f4ee!important;
  color:#0b6b43!important;
  font:700 11px/1.2 "Poppins",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important;
  cursor:pointer!important;
}
body.vsg-area-societa-page .vsg-athlete-dossier .vsg-secretary-photo-upload .vsg-btn{
  min-height:44px!important;
  padding:10px 15px!important;
  border-radius:10px!important;
  font-size:12px!important;
  white-space:nowrap!important;
}

/* Upload PDF nel riquadro assistenza: apertura chiara e form stabile. */
body.vsg-area-societa-page .vsg-athlete-dossier .vsg-secretary-assist .vsg-secretary-upload{
  display:block!important;
  width:100%!important;
  min-width:0!important;
}
body.vsg-area-societa-page .vsg-athlete-dossier .vsg-secretary-assist .vsg-secretary-upload>summary{
  width:max-content!important;
  min-width:0!important;
  min-height:42px!important;
  padding:9px 14px!important;
  border-radius:10px!important;
  font-size:12px!important;
}
body.vsg-area-societa-page .vsg-athlete-dossier .vsg-secretary-assist .vsg-secretary-upload[open]>summary{
  background:#075936!important;
}
body.vsg-area-societa-page .vsg-athlete-dossier .vsg-secretary-assist .vsg-secretary-upload>form{
  position:static!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
  width:100%!important;
  margin:12px 0 0!important;
  padding:14px!important;
  border:1px solid #d5e3dc!important;
  border-radius:13px!important;
  background:#fff!important;
  box-shadow:none!important;
}
body.vsg-area-societa-page .vsg-athlete-dossier .vsg-secretary-assist .vsg-secretary-upload>form .vsg-secretary-file-field{
  grid-column:1/-1!important;
}
body.vsg-area-societa-page .vsg-athlete-dossier .vsg-secretary-assist .vsg-secretary-upload>form>.vsg-btn{
  grid-column:1/-1!important;
  justify-self:start!important;
  min-height:42px!important;
  padding:9px 14px!important;
  border-radius:10px!important;
  font-size:12px!important;
}

/* Tutti i campi del fascicolo hanno dimensioni e font coerenti. */
body.vsg-area-societa-page .vsg-athlete-dossier input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
body.vsg-area-societa-page .vsg-athlete-dossier select{
  min-height:43px!important;
  padding:9px 11px!important;
  border:1px solid #cddbd3!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#203128!important;
  font-size:12px!important;
  line-height:1.3!important;
}
body.vsg-area-societa-page .vsg-athlete-dossier .vsg-btn{
  font-size:12px!important;
  line-height:1.2!important;
}

/* Tablet: Fototessera e visita una sotto l'altra. */
@media(max-width:1100px){
  body.vsg-area-societa-page .vsg-athlete-dossier .vsg-detail-pair{
    grid-template-columns:1fr!important;
    gap:0!important;
  }
  body.vsg-area-societa-page .vsg-athlete-dossier .vsg-detail-pair .vsg-detail-section-group+ .vsg-detail-section-group .vsg-detail-section-title{
    border-top:1px solid #e1ebe5!important;
    padding-top:28px!important;
  }
  body.vsg-area-societa-page .vsg-athlete-dossier .vsg-medical-detail-card{
    min-height:0!important;
  }
}

@media(max-width:760px){
  body.vsg-area-societa-page .vsg-athlete-dossier{
    padding:0 16px 22px!important;
  }
  body.vsg-area-societa-page .vsg-athlete-dossier .vsg-photo-admin-body{
    grid-template-columns:1fr!important;
    gap:18px!important;
  }
  body.vsg-area-societa-page .vsg-athlete-dossier .vsg-photo-admin-preview{
    width:140px!important;
    max-width:140px!important;
  }
  body.vsg-area-societa-page .vsg-athlete-dossier .vsg-card-head{
    flex-direction:column!important;
    gap:10px!important;
  }
  body.vsg-area-societa-page .vsg-athlete-dossier .vsg-card-head .vsg-badge{
    align-self:flex-start!important;
  }
  body.vsg-area-societa-page .vsg-athlete-dossier .vsg-secretary-photo-upload,
  body.vsg-area-societa-page .vsg-athlete-dossier .vsg-secretary-assist .vsg-secretary-upload>form{
    grid-template-columns:1fr!important;
  }
  body.vsg-area-societa-page .vsg-athlete-dossier .vsg-secretary-assist .vsg-secretary-upload>form .vsg-secretary-file-field,
  body.vsg-area-societa-page .vsg-athlete-dossier .vsg-secretary-assist .vsg-secretary-upload>form>.vsg-btn{
    grid-column:auto!important;
  }
  body.vsg-area-societa-page .vsg-athlete-dossier .vsg-secretary-photo-upload .vsg-btn,
  body.vsg-area-societa-page .vsg-athlete-dossier .vsg-secretary-assist .vsg-secretary-upload>summary,
  body.vsg-area-societa-page .vsg-athlete-dossier .vsg-secretary-assist .vsg-secretary-upload>form>.vsg-btn{
    width:100%!important;
    justify-content:center!important;
  }
  body.vsg-area-societa-page .vsg-detail-nav-modern,
  body.vsg-area-societa-page .vsg-detail-nav-modern.is-modern{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:430px){
  body.vsg-area-societa-page .vsg-athlete-dossier{
    padding-inline:12px!important;
  }
  body.vsg-area-societa-page .vsg-athlete-dossier .vsg-secretary-assist{
    padding:14px!important;
  }
  body.vsg-area-societa-page .vsg-athlete-dossier .vsg-detail-section-title h2{
    font-size:20px!important;
  }
  body.vsg-area-societa-page .vsg-detail-nav-modern{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* ==========================================================
   1.4.15 — NOVITÀ FAMIGLIA / NOTIFICHE PIÙ LEGGERE
   ========================================================== */
.vsg-athlete-name-row{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
  flex-wrap:wrap;
}
.vsg-family-activity-badge{
  display:inline-flex!important;
  align-items:center;
  gap:5px;
  min-height:25px;
  padding:3px 7px 3px 4px;
  border:1px solid #b9dbc9;
  border-radius:999px;
  background:#edf8f2;
  color:#08653f!important;
  text-decoration:none!important;
  font-size:10px!important;
  font-weight:700!important;
  line-height:1!important;
  white-space:nowrap;
  box-shadow:none!important;
}
.vsg-family-activity-badge:hover{
  border-color:#78b596;
  background:#e4f5ec;
  color:#064e32!important;
  text-decoration:none!important;
}
.vsg-family-activity-check{
  display:grid!important;
  place-items:center;
  width:18px;
  height:18px;
  flex:0 0 18px;
  border-radius:50%;
  background:#0b7a4b;
  color:#fff!important;
  font-size:11px!important;
  font-weight:800!important;
}
.vsg-family-activity-badge>b{
  display:grid;
  place-items:center;
  min-width:18px;
  height:18px;
  padding:0 4px;
  border-radius:999px;
  background:#fff;
  color:#08653f;
  font-size:10px;
  font-weight:800;
  line-height:1;
}
.vsg-athlete-row:has(.vsg-family-activity-badge) td:first-child{
  box-shadow:inset 3px 0 0 #75b996;
}

.vsg-notification-toolbar{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  margin-bottom:18px;
}
.vsg-notification-toolbar .vsg-filters{
  flex:1 1 auto;
  margin:0!important;
}
.vsg-reset-notifications-form{
  flex:0 0 auto;
  margin:0;
}
.vsg-reset-notifications{
  min-height:44px;
  white-space:nowrap;
}

@media(max-width:780px){
  .vsg-athlete-name-row{
    gap:6px;
  }
  .vsg-family-activity-badge{
    font-size:9px!important;
  }
  .vsg-notification-toolbar{
    align-items:stretch;
    flex-direction:column;
  }
  .vsg-reset-notifications-form,
  .vsg-reset-notifications{
    width:100%;
  }
}
.vsg-athlete-activity-legend{
  display:flex;
  align-items:center;
  gap:7px;
  margin:-3px 0 14px;
  padding:0 2px;
  color:#718078;
  font-size:12px;
  line-height:1.4;
}
.vsg-athlete-activity-legend strong{
  color:#08653f;
  font-size:12px;
  font-weight:700;
}
.vsg-athlete-activity-legend .vsg-family-activity-check{
  width:20px;
  height:20px;
  flex-basis:20px;
}
@media(max-width:640px){
  .vsg-athlete-activity-legend{
    align-items:flex-start;
    flex-wrap:wrap;
    padding:9px 10px;
    border:1px solid #d8e6de;
    border-radius:10px;
    background:#f8fbf9;
  }
  .vsg-athlete-activity-legend>span:last-child{
    flex:1 1 180px;
  }
}

/* ==========================================================
   1.4.17 — NOVITÀ FAMIGLIA VISIBILI NELL'AREA SOCIETÀ
   ========================================================== */
body.vsg-area-societa-page .vsg-athletes-head-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
body.vsg-area-societa-page .vsg-inline-reset-form{margin:0!important}
body.vsg-area-societa-page .vsg-family-attention-shortcut{
  display:inline-flex!important;
  align-items:center;
  gap:7px;
  min-height:40px;
  padding:6px 10px 6px 6px;
  border:1px solid #d5e4dc;
  border-radius:11px;
  background:#f7faf8;
  color:#64736b!important;
  text-decoration:none!important;
  font-size:11px!important;
  font-weight:600!important;
  line-height:1.1!important;
  box-shadow:none!important;
}
body.vsg-area-societa-page .vsg-family-attention-shortcut.has-items{
  border-color:#a9d3bc;
  background:#edf8f2;
  color:#08653f!important;
}
body.vsg-area-societa-page .vsg-family-attention-shortcut strong{
  color:inherit!important;
  font-size:13px!important;
  font-weight:800!important;
}
body.vsg-area-societa-page .vsg-athletes-table{
  min-width:1610px!important;
}
body.vsg-area-societa-page .vsg-athletes-table .vsg-col-athlete{width:13%!important}
body.vsg-area-societa-page .vsg-athletes-table .vsg-col-activity{width:10%!important}
body.vsg-area-societa-page .vsg-athletes-table .vsg-col-photo{width:7%!important}
body.vsg-area-societa-page .vsg-activity-table-cell{
  text-align:left!important;
  vertical-align:middle!important;
}
body.vsg-area-societa-page .vsg-family-activity-badge.is-table{
  display:inline-flex!important;
  min-height:34px!important;
  padding:5px 8px 5px 5px!important;
  font-size:10px!important;
  gap:5px!important;
}
body.vsg-area-societa-page .vsg-family-activity-badge.is-table span:nth-child(2){
  font-weight:700!important;
  color:#08653f!important;
}
body.vsg-area-societa-page .vsg-family-activity-empty{
  display:inline-grid!important;
  place-items:center!important;
  width:28px!important;
  height:28px!important;
  border:1px solid #e1e8e4!important;
  border-radius:50%!important;
  background:#fafcfb!important;
  color:#a2afa8!important;
  font-size:14px!important;
  font-weight:500!important;
}
body.vsg-area-societa-page .vsg-dashboard-family-check{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:24px!important;
  min-height:20px!important;
  margin-left:7px!important;
  padding:2px 6px!important;
  border-radius:999px!important;
  background:#e7f6ee!important;
  color:#087047!important;
  font-size:9px!important;
  font-weight:800!important;
  line-height:1!important;
}
body.vsg-area-societa-page .vsg-mockup-athlete{
  flex-wrap:wrap!important;
}
body.vsg-area-societa-page .vsg-athlete-activity-legend{
  margin:0 0 14px!important;
  padding:10px 12px!important;
  border:1px solid #dce9e2!important;
  border-radius:12px!important;
  background:#f8fbf9!important;
}
@media(max-width:900px){
  body.vsg-area-societa-page .vsg-athletes-section-head{
    align-items:stretch!important;
  }
  body.vsg-area-societa-page .vsg-athletes-head-actions{
    justify-content:flex-start!important;
    width:100%!important;
  }
  body.vsg-area-societa-page .vsg-family-attention-shortcut,
  body.vsg-area-societa-page .vsg-athletes-head-actions .vsg-btn,
  body.vsg-area-societa-page .vsg-inline-reset-form{
    flex:1 1 auto!important;
  }
}
@media(max-width:620px){
  body.vsg-area-societa-page .vsg-athletes-head-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
  }
  body.vsg-area-societa-page .vsg-athletes-head-actions .vsg-btn,
  body.vsg-area-societa-page .vsg-inline-reset-form,
  body.vsg-area-societa-page .vsg-inline-reset-form .vsg-btn,
  body.vsg-area-societa-page .vsg-family-attention-shortcut{
    width:100%!important;
  }
  body.vsg-area-societa-page .vsg-athlete-activity-legend{
    align-items:flex-start!important;
    flex-wrap:wrap!important;
  }
}

/* ==========================================================
   1.4.18 — ARCHIVIO ATLETI COMPATTO + BADGE STILE iOS
   ========================================================== */
body.vsg-area-societa-page .vsg-athletes-table-wrap{
  width:100%!important;
  max-width:100%!important;
  overflow:visible!important;
}
body.vsg-area-societa-page .vsg-athletes-table{
  width:100%!important;
  min-width:0!important;
  table-layout:fixed!important;
}
body.vsg-area-societa-page .vsg-athletes-table .vsg-col-athlete{width:21%!important}
body.vsg-area-societa-page .vsg-athletes-table .vsg-col-context{width:14%!important}
body.vsg-area-societa-page .vsg-athletes-table .vsg-col-figc{width:12%!important}
body.vsg-area-societa-page .vsg-athletes-table .vsg-col-registration{width:10%!important}
body.vsg-area-societa-page .vsg-athletes-table .vsg-col-documents{width:10%!important}
body.vsg-area-societa-page .vsg-athletes-table .vsg-col-medical{width:11%!important}
body.vsg-area-societa-page .vsg-athletes-table .vsg-col-payment{width:10%!important}
body.vsg-area-societa-page .vsg-athletes-table .vsg-col-tesseramento{width:12%!important}
body.vsg-area-societa-page .vsg-athletes-table th,
body.vsg-area-societa-page .vsg-athletes-table td{
  min-width:0!important;
  padding:12px 10px!important;
  vertical-align:middle!important;
  overflow-wrap:anywhere!important;
}
body.vsg-area-societa-page .vsg-athletes-table th{
  font-size:10px!important;
  line-height:1.2!important;
  letter-spacing:.12em!important;
  white-space:normal!important;
}
body.vsg-area-societa-page .vsg-athletes-table td{
  font-size:12px!important;
  line-height:1.35!important;
}
body.vsg-area-societa-page .vsg-athletes-table td:first-child,
body.vsg-area-societa-page .vsg-athletes-table th:first-child{
  position:static!important;
  left:auto!important;
  z-index:auto!important;
}
body.vsg-area-societa-page .vsg-athlete-identity{
  display:flex!important;
  align-items:center!important;
  gap:11px!important;
  min-width:0!important;
}
body.vsg-area-societa-page .vsg-athlete-photo-stack{
  position:relative!important;
  flex:0 0 56px!important;
  width:56px!important;
  height:64px!important;
}
body.vsg-area-societa-page .vsg-athlete-photo-stack .vsg-photo-thumb,
body.vsg-area-societa-page .vsg-athlete-photo-stack .vsg-photo-placeholder{
  display:grid!important;
  place-items:center!important;
  width:54px!important;
  height:60px!important;
  margin:0!important;
  border:1px solid #cfe0d7!important;
  border-radius:12px!important;
  overflow:hidden!important;
  background:#edf6f1!important;
  box-shadow:none!important;
}
body.vsg-area-societa-page .vsg-athlete-photo-stack .vsg-photo-thumb img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  border-radius:0!important;
}
body.vsg-area-societa-page .vsg-athlete-photo-stack .vsg-photo-placeholder{
  font-size:27px!important;
  line-height:1!important;
}
body.vsg-area-societa-page .vsg-ios-notification-badge,
body.vsg-area-societa-page .vsg-ios-demo-badge{
  display:grid!important;
  place-items:center!important;
  min-width:21px!important;
  height:21px!important;
  padding:0 5px!important;
  border:2px solid #fff!important;
  border-radius:999px!important;
  background:#ff3b30!important;
  color:#fff!important;
  font-size:10px!important;
  font-weight:700!important;
  line-height:1!important;
  text-decoration:none!important;
  box-shadow:0 2px 7px rgba(174,25,17,.24)!important;
}
body.vsg-area-societa-page .vsg-ios-notification-badge{
  position:absolute!important;
  top:-7px!important;
  right:-5px!important;
  z-index:4!important;
}
body.vsg-area-societa-page .vsg-ios-notification-badge:hover{
  background:#e62f26!important;
  color:#fff!important;
  transform:translateY(-1px)!important;
}
body.vsg-area-societa-page .vsg-ios-demo-badge{
  position:static!important;
  flex:0 0 auto!important;
}
body.vsg-area-societa-page .vsg-athlete-identity-copy{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  min-width:0!important;
  gap:3px!important;
}
body.vsg-area-societa-page .vsg-athlete-name-link{
  display:block!important;
  max-width:100%!important;
  color:#17241e!important;
  font-size:14px!important;
  font-weight:700!important;
  line-height:1.18!important;
  text-decoration:none!important;
}
body.vsg-area-societa-page .vsg-athlete-cf{
  display:block!important;
  max-width:100%!important;
  color:#78867e!important;
  font-size:9px!important;
  font-weight:600!important;
  line-height:1.25!important;
  letter-spacing:.035em!important;
}
body.vsg-area-societa-page .vsg-athlete-photo-state{
  margin-top:2px!important;
}
body.vsg-area-societa-page .vsg-athlete-photo-state .vsg-badge{
  min-height:20px!important;
  padding:3px 7px!important;
  font-size:9px!important;
  line-height:1!important;
}
body.vsg-area-societa-page .vsg-athlete-context-cell{
  display:table-cell!important;
}
body.vsg-area-societa-page .vsg-athlete-context-cell strong,
body.vsg-area-societa-page .vsg-athlete-context-cell small{
  display:block!important;
}
body.vsg-area-societa-page .vsg-athlete-context-cell strong{
  color:#3f4f47!important;
  font-size:12px!important;
  font-weight:600!important;
  line-height:1.3!important;
}
body.vsg-area-societa-page .vsg-athlete-context-cell small{
  margin-top:4px!important;
  color:#7a8981!important;
  font-size:10px!important;
  line-height:1.25!important;
}
body.vsg-area-societa-page .vsg-athletes-table .vsg-figc-input{
  width:100%!important;
  min-width:0!important;
  height:40px!important;
  padding:7px 9px!important;
  border-radius:10px!important;
  font-size:12px!important;
  font-weight:600!important;
}
body.vsg-area-societa-page .vsg-athletes-table .vsg-badge{
  display:inline-flex!important;
  max-width:100%!important;
  min-height:24px!important;
  padding:4px 8px!important;
  font-size:9px!important;
  line-height:1.15!important;
  white-space:normal!important;
  text-align:center!important;
  justify-content:center!important;
}
body.vsg-area-societa-page .vsg-docs-table-cell{
  display:table-cell!important;
}
body.vsg-area-societa-page .vsg-docs-table-cell>strong{
  display:block!important;
  margin-bottom:4px!important;
  font-size:13px!important;
  font-weight:700!important;
}
body.vsg-area-societa-page .vsg-docs-table-cell .vsg-badge{
  margin:2px 2px 0 0!important;
}
body.vsg-area-societa-page .vsg-medical-table-cell>small{
  display:block!important;
  margin-top:5px!important;
  color:#78867e!important;
  font-size:10px!important;
  line-height:1.2!important;
}
body.vsg-area-societa-page .vsg-athletes-table .vsg-tesseramento-toggle{
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr)!important;
  align-items:center!important;
  gap:7px!important;
  min-width:0!important;
}
body.vsg-area-societa-page .vsg-athletes-table .vsg-tesseramento-switch{
  width:34px!important;
  min-width:34px!important;
  height:20px!important;
}
body.vsg-area-societa-page .vsg-athletes-table .vsg-tesseramento-copy{
  min-width:0!important;
}
body.vsg-area-societa-page .vsg-athletes-table .vsg-tesseramento-copy strong,
body.vsg-area-societa-page .vsg-athletes-table .vsg-tesseramento-copy small{
  display:block!important;
  max-width:100%!important;
  white-space:normal!important;
}
body.vsg-area-societa-page .vsg-athletes-table .vsg-tesseramento-copy strong{
  font-size:10px!important;
  line-height:1.15!important;
}
body.vsg-area-societa-page .vsg-athletes-table .vsg-tesseramento-copy small{
  margin-top:2px!important;
  color:#7a8981!important;
  font-size:8.5px!important;
  line-height:1.2!important;
}
body.vsg-area-societa-page .vsg-athlete-row:has(.vsg-ios-notification-badge) td:first-child{
  box-shadow:inset 3px 0 0 #ff3b30!important;
}
body.vsg-area-societa-page .vsg-athlete-activity-legend{
  gap:8px!important;
  padding:8px 10px!important;
}

/* Tablet: niente scorrimento orizzontale, ogni atleta diventa una scheda compatta. */
@media(max-width:1180px){
  body.vsg-area-societa-page .vsg-athletes-table-wrap{
    overflow:visible!important;
    border:0!important;
    background:transparent!important;
  }
  body.vsg-area-societa-page .vsg-athletes-table,
  body.vsg-area-societa-page .vsg-athletes-table tbody{
    display:block!important;
    width:100%!important;
  }
  body.vsg-area-societa-page .vsg-athletes-table thead,
  body.vsg-area-societa-page .vsg-athletes-table colgroup{
    display:none!important;
  }
  body.vsg-area-societa-page .vsg-athletes-table .vsg-athlete-row{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    width:100%!important;
    margin:0 0 12px!important;
    border:1px solid #d9e6df!important;
    border-radius:16px!important;
    overflow:hidden!important;
    background:#fff!important;
    box-shadow:0 5px 16px rgba(26,60,44,.04)!important;
  }
  body.vsg-area-societa-page .vsg-athletes-table .vsg-athlete-row>td{
    position:relative!important;
    display:block!important;
    width:auto!important;
    min-width:0!important;
    min-height:82px!important;
    padding:29px 12px 12px!important;
    border:0!important;
    border-right:1px solid #e3ebe7!important;
    border-bottom:1px solid #e3ebe7!important;
    background:#fff!important;
  }
  body.vsg-area-societa-page .vsg-athletes-table .vsg-athlete-row>td::before{
    content:attr(data-label)!important;
    position:absolute!important;
    top:9px!important;
    left:12px!important;
    color:#73827a!important;
    font-size:8.5px!important;
    font-weight:700!important;
    line-height:1!important;
    letter-spacing:.11em!important;
    text-transform:uppercase!important;
  }
  body.vsg-area-societa-page .vsg-athletes-table .vsg-athlete-row>td:nth-child(4n){border-right:0!important}
  body.vsg-area-societa-page .vsg-athletes-table .vsg-athlete-row>td:nth-last-child(-n+4){border-bottom:0!important}
  body.vsg-area-societa-page .vsg-athletes-table .vsg-athlete-row>.vsg-athlete-cell{
    grid-column:span 2!important;
    min-height:102px!important;
    padding-top:28px!important;
  }
  body.vsg-area-societa-page .vsg-athletes-table .vsg-athlete-row>.vsg-athlete-context-cell{
    grid-column:span 2!important;
    min-height:102px!important;
  }
  body.vsg-area-societa-page .vsg-athlete-identity{
    align-items:center!important;
  }
  body.vsg-area-societa-page .vsg-athlete-name-link{font-size:15px!important}
  body.vsg-area-societa-page .vsg-athletes-table .vsg-badge{font-size:10px!important}
  body.vsg-area-societa-page .vsg-athletes-table .vsg-figc-input{max-width:180px!important}
}

@media(max-width:720px){
  body.vsg-area-societa-page .vsg-athletes-table .vsg-athlete-row{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body.vsg-area-societa-page .vsg-athletes-table .vsg-athlete-row>td{
    min-height:78px!important;
  }
  body.vsg-area-societa-page .vsg-athletes-table .vsg-athlete-row>td:nth-child(4n){border-right:1px solid #e3ebe7!important}
  body.vsg-area-societa-page .vsg-athletes-table .vsg-athlete-row>td:nth-child(2n){border-right:0!important}
  body.vsg-area-societa-page .vsg-athletes-table .vsg-athlete-row>td:nth-last-child(-n+4){border-bottom:1px solid #e3ebe7!important}
  body.vsg-area-societa-page .vsg-athletes-table .vsg-athlete-row>td:nth-last-child(-n+2){border-bottom:0!important}
  body.vsg-area-societa-page .vsg-athletes-table .vsg-athlete-row>.vsg-athlete-cell,
  body.vsg-area-societa-page .vsg-athletes-table .vsg-athlete-row>.vsg-athlete-context-cell{
    grid-column:1/-1!important;
  }
  body.vsg-area-societa-page .vsg-athletes-table .vsg-athlete-row>.vsg-athlete-context-cell{
    min-height:72px!important;
  }
  body.vsg-area-societa-page .vsg-athlete-photo-stack{
    flex-basis:52px!important;
    width:52px!important;
    height:59px!important;
  }
  body.vsg-area-societa-page .vsg-athlete-photo-stack .vsg-photo-thumb,
  body.vsg-area-societa-page .vsg-athlete-photo-stack .vsg-photo-placeholder{
    width:50px!important;
    height:56px!important;
  }
}

@media(max-width:460px){
  body.vsg-area-societa-page .vsg-athletes-table .vsg-athlete-row{
    grid-template-columns:1fr!important;
  }
  body.vsg-area-societa-page .vsg-athletes-table .vsg-athlete-row>td,
  body.vsg-area-societa-page .vsg-athletes-table .vsg-athlete-row>td:nth-child(n){
    grid-column:1!important;
    min-height:68px!important;
    border-right:0!important;
    border-bottom:1px solid #e3ebe7!important;
  }
  body.vsg-area-societa-page .vsg-athletes-table .vsg-athlete-row>td:last-child{
    border-bottom:0!important;
  }
  body.vsg-area-societa-page .vsg-athletes-table .vsg-athlete-row>.vsg-athlete-cell{
    min-height:98px!important;
  }
}

/* 1.12.1 — Abbigliamento: consegnati compatti e separati dagli ordini ancora da gestire. */
body.vsg-area-societa-page .vsg-clothing-delivered{
  margin:18px 0 6px!important;
  border:1px solid #dbe6e0!important;
  border-radius:18px!important;
  background:#fff!important;
  overflow:hidden!important;
  box-shadow:0 7px 22px rgba(17,57,39,.04)!important;
}
body.vsg-area-societa-page .vsg-clothing-delivered>summary{
  list-style:none!important;
}
body.vsg-area-societa-page .vsg-clothing-delivered>summary::-webkit-details-marker{
  display:none!important;
}
body.vsg-area-societa-page .vsg-clothing-delivered-summary{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  min-height:72px!important;
  padding:14px 17px!important;
  background:#f7faf8!important;
  cursor:pointer!important;
  user-select:none!important;
}
body.vsg-area-societa-page .vsg-clothing-delivered-summary::after{
  content:'Mostra'!important;
  flex:0 0 auto!important;
  color:#0b6b43!important;
  font-size:11px!important;
  font-weight:700!important;
}
body.vsg-area-societa-page .vsg-clothing-delivered[open] .vsg-clothing-delivered-summary::after{
  content:'Nascondi'!important;
}
body.vsg-area-societa-page .vsg-clothing-delivered-copy{
  display:grid!important;
  min-width:0!important;
  gap:2px!important;
}
body.vsg-area-societa-page .vsg-clothing-delivered-copy small{
  color:#0b6b43!important;
  font-size:9px!important;
  font-weight:700!important;
  letter-spacing:.14em!important;
}
body.vsg-area-societa-page .vsg-clothing-delivered-copy strong{
  color:#1f3027!important;
  font-size:16px!important;
  line-height:1.2!important;
}
body.vsg-area-societa-page .vsg-clothing-delivered-copy em{
  max-width:760px!important;
  color:#77847d!important;
  font-size:10px!important;
  font-style:normal!important;
  line-height:1.45!important;
}
body.vsg-area-societa-page .vsg-clothing-delivered-count{
  display:grid!important;
  place-items:center!important;
  flex:0 0 34px!important;
  width:34px!important;
  height:34px!important;
  border-radius:999px!important;
  background:#e3f3e9!important;
  color:#176238!important;
  font-size:13px!important;
  font-weight:700!important;
}
body.vsg-area-societa-page .vsg-clothing-delivered-list{
  display:grid!important;
  padding:0 14px 12px!important;
}
body.vsg-area-societa-page .vsg-clothing-delivered-row{
  display:grid!important;
  grid-template-columns:minmax(210px,1.65fr) minmax(110px,.55fr) minmax(90px,.42fr) minmax(150px,.72fr) auto!important;
  gap:12px!important;
  align-items:center!important;
  min-width:0!important;
  padding:11px 4px!important;
  border-top:1px solid #e5ece8!important;
}
body.vsg-area-societa-page .vsg-clothing-delivered-athlete{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-width:0!important;
}
body.vsg-area-societa-page .vsg-clothing-delivered-check{
  display:grid!important;
  place-items:center!important;
  flex:0 0 28px!important;
  width:28px!important;
  height:28px!important;
  border-radius:999px!important;
  background:#e2f3e8!important;
  color:#14733f!important;
  font-size:14px!important;
  font-weight:800!important;
}
body.vsg-area-societa-page .vsg-clothing-delivered-athlete>span:last-child{
  display:grid!important;
  min-width:0!important;
  gap:2px!important;
}
body.vsg-area-societa-page .vsg-clothing-delivered-athlete strong{
  overflow:hidden!important;
  color:#213128!important;
  font-size:12px!important;
  font-weight:700!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
body.vsg-area-societa-page .vsg-clothing-delivered-athlete small{
  overflow:hidden!important;
  color:#7b8881!important;
  font-size:9px!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
body.vsg-area-societa-page .vsg-clothing-delivered-data{
  display:grid!important;
  min-width:0!important;
  gap:1px!important;
}
body.vsg-area-societa-page .vsg-clothing-delivered-data small{
  color:#89948e!important;
  font-size:8px!important;
  font-weight:600!important;
  letter-spacing:.05em!important;
  text-transform:uppercase!important;
}
body.vsg-area-societa-page .vsg-clothing-delivered-data strong{
  color:#46564e!important;
  font-size:10px!important;
  font-weight:600!important;
  line-height:1.3!important;
}
body.vsg-area-societa-page .vsg-clothing-delivered-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:7px!important;
}
body.vsg-area-societa-page .vsg-btn-compact,
body.vsg-area-societa-page .vsg-clothing-delivered-manage>summary{
  min-height:34px!important;
  padding:7px 11px!important;
  border:1px solid #cfe0d6!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#17623c!important;
  font-size:9px!important;
  font-weight:700!important;
  line-height:1.2!important;
  text-decoration:none!important;
  cursor:pointer!important;
  box-sizing:border-box!important;
}
body.vsg-area-societa-page .vsg-clothing-delivered-manage{
  position:relative!important;
}
body.vsg-area-societa-page .vsg-clothing-delivered-manage>summary{
  list-style:none!important;
  display:flex!important;
  align-items:center!important;
}
body.vsg-area-societa-page .vsg-clothing-delivered-manage>summary::-webkit-details-marker{
  display:none!important;
}
body.vsg-area-societa-page .vsg-clothing-delivered-manage[open]{
  grid-column:1/-1!important;
}
body.vsg-area-societa-page .vsg-clothing-delivered-manage[open]>summary{
  width:max-content!important;
  margin-left:auto!important;
}
body.vsg-area-societa-page .vsg-clothing-delivered-manage form{
  position:absolute!important;
  z-index:30!important;
  right:0!important;
  top:42px!important;
  display:grid!important;
  grid-template-columns:minmax(150px,1fr) minmax(145px,1fr) auto!important;
  gap:9px!important;
  min-width:440px!important;
  padding:12px!important;
  border:1px solid #d8e4dd!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 18px 42px rgba(17,57,39,.15)!important;
}
body.vsg-area-societa-page .vsg-clothing-delivered-manage form label{
  display:grid!important;
  gap:4px!important;
}
body.vsg-area-societa-page .vsg-clothing-delivered-manage form label>span{
  color:#6d7b74!important;
  font-size:8px!important;
  font-weight:700!important;
}
body.vsg-area-societa-page .vsg-clothing-delivered-manage form :is(select,input){
  min-height:34px!important;
  padding:6px 9px!important;
  border:1px solid #d7e3dc!important;
  border-radius:9px!important;
  background:#fff!important;
  font-size:10px!important;
}
@media (max-width:980px){
  body.vsg-area-societa-page .vsg-clothing-delivered-row{
    grid-template-columns:minmax(190px,1.5fr) repeat(2,minmax(90px,.5fr)) auto!important;
  }
  body.vsg-area-societa-page .vsg-clothing-delivered-row>.vsg-clothing-delivered-data:nth-of-type(3){
    display:none!important;
  }
}
@media (max-width:720px){
  body.vsg-area-societa-page .vsg-clothing-delivered-summary{
    align-items:flex-start!important;
  }
  body.vsg-area-societa-page .vsg-clothing-delivered-summary::after{
    display:none!important;
  }
  body.vsg-area-societa-page .vsg-clothing-delivered-row{
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:8px 12px!important;
  }
  body.vsg-area-societa-page .vsg-clothing-delivered-athlete{
    grid-column:1/2!important;
  }
  body.vsg-area-societa-page .vsg-clothing-delivered-data{
    display:none!important;
  }
  body.vsg-area-societa-page .vsg-clothing-delivered-actions{
    grid-column:2/3!important;
    grid-row:1!important;
  }
  body.vsg-area-societa-page .vsg-clothing-delivered-manage form{
    position:fixed!important;
    left:14px!important;
    right:14px!important;
    bottom:18px!important;
    top:auto!important;
    min-width:0!important;
    grid-template-columns:1fr!important;
  }
}


/* 1.4.22 — Prospetto entrate e generazione manuale ricevute */
.vsg-payment-overview{margin:0 0 22px;padding:22px;border:1px solid var(--vsg-border,#dfe7e2);border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(18,58,40,.05)}
.vsg-payment-overview-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:16px}
.vsg-payment-overview-head span{display:block;margin-bottom:4px;font-size:11px;line-height:1.2;font-weight:800;letter-spacing:.12em;color:var(--vsg-green,#0b6b43)}
.vsg-payment-overview-head h2{margin:0;font-size:22px;line-height:1.18;font-weight:760;color:#17231d}
.vsg-payment-overview-head p{margin:6px 0 0;font-size:13px;line-height:1.5;color:#6a786f}
.vsg-payment-overview-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.vsg-payment-stat{min-width:0;padding:16px;border:1px solid #e0e8e3;border-radius:14px;background:#f8fbf9}
.vsg-payment-stat span{display:block;font-size:12px;font-weight:700;color:#66756d}
.vsg-payment-stat strong{display:block;margin:5px 0 2px;font-size:22px;line-height:1.2;font-weight:780;color:#17231d;white-space:nowrap}
.vsg-payment-stat small{display:block;font-size:11px;color:#7a8780}
.vsg-payment-stat.is-quota{background:#f5faf7}.vsg-payment-stat.is-clothing{background:#f7f9fc}.vsg-payment-stat.is-pending{background:#fffaf0}
.vsg-payment-breakdown{margin-top:12px;padding-top:12px;border-top:1px solid #e6ece8}
.vsg-payment-breakdown>div{display:flex;align-items:center;gap:16px;flex-wrap:wrap;font-size:12px;color:#6a786f}
.vsg-payment-breakdown span{font-weight:700}.vsg-payment-breakdown strong{font-weight:700;color:#35443c}
.vsg-card-actions .vsg-inline-action{display:inline-flex;margin:0}
.vsg-button-link{appearance:none;-webkit-appearance:none;border:0;background:transparent;padding:0;font:inherit;cursor:pointer}
.vsg-receipt-generate{white-space:nowrap}
@media(max-width:1050px){.vsg-payment-overview-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.vsg-payment-overview{padding:16px;border-radius:15px}.vsg-payment-overview-cards{grid-template-columns:1fr}.vsg-payment-stat strong{font-size:20px}.vsg-payment-breakdown>div{display:grid;gap:6px}.vsg-card-actions .vsg-inline-action,.vsg-card-actions .vsg-inline-action .vsg-btn{width:100%}}

/* 1.4.23 — inserimento ordini abbigliamento da segreteria */
.vsg-clothing-secretary-entry{margin:0 0 22px;border:1px solid #dce7e1;background:#fff;overflow:hidden}
.vsg-clothing-secretary-entry>summary{list-style:none;display:flex;align-items:center;gap:14px;padding:17px 19px;cursor:pointer;background:linear-gradient(180deg,#fff,#f8fbf9);user-select:none}
.vsg-clothing-secretary-entry>summary::-webkit-details-marker{display:none}
.vsg-clothing-secretary-entry>summary:after{content:'›';margin-left:auto;font-size:28px;line-height:1;color:#678075;transform:rotate(90deg);transition:transform .18s ease}
.vsg-clothing-secretary-entry[open]>summary:after{transform:rotate(-90deg)}
.vsg-clothing-secretary-entry>summary>span:nth-child(2){display:flex;min-width:0;flex-direction:column;gap:2px}
.vsg-clothing-secretary-entry>summary small{font-size:10px;font-weight:800;letter-spacing:.12em;color:#0b6b43}
.vsg-clothing-secretary-entry>summary strong{font-size:16px;font-weight:750;color:#193127}
.vsg-clothing-secretary-entry>summary em{font-size:12px;font-style:normal;font-weight:500;color:#6a7d73}
.vsg-clothing-secretary-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#0b6b43;color:#fff;font-size:24px;font-weight:400;flex:0 0 auto;box-shadow:0 6px 15px rgba(11,107,67,.16)}
.vsg-clothing-secretary-body{padding:20px;border-top:1px solid #e5ece8}
.vsg-clothing-secretary-form{display:flex;flex-direction:column;gap:18px}
.vsg-clothing-secretary-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px}
.vsg-clothing-secretary-grid .is-wide{grid-column:1/-1}
.vsg-clothing-secretary-grid label,.vsg-clothing-secretary-items label{display:flex;flex-direction:column;gap:6px;min-width:0}
.vsg-clothing-secretary-grid label>span,.vsg-clothing-secretary-items label>span{font-size:11px;font-weight:750;color:#486157}
.vsg-clothing-secretary-grid select,.vsg-clothing-secretary-items input{width:100%;min-height:43px;border:1px solid #ccd9d2;border-radius:10px;background:#fff;color:#223a30;font:inherit;box-sizing:border-box}
.vsg-clothing-secretary-grid select{padding:0 11px}
.vsg-clothing-secretary-items{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;padding-top:16px;border-top:1px solid #e8eeeb}
.vsg-clothing-secretary-items-head{grid-column:1/-1;display:flex;align-items:baseline;gap:9px;margin-bottom:2px}
.vsg-clothing-secretary-items-head strong{font-size:13px;color:#223a30}
.vsg-clothing-secretary-items-head span{font-size:11px;color:#788980}
.vsg-clothing-secretary-items label{padding:11px;border:1px solid #e2eae6;border-radius:12px;background:#fafcfb}
.vsg-clothing-secretary-items label>span{display:flex;flex-direction:column;gap:2px;line-height:1.25}
.vsg-clothing-secretary-items label>span small{font-size:10px;font-weight:600;color:#7d8d85}
.vsg-clothing-secretary-items input{min-height:38px;padding:6px 8px;text-align:center;font-weight:750}
.vsg-clothing-secretary-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:16px;border-top:1px solid #e8eeeb}
.vsg-clothing-secretary-footer p{margin:0;max-width:700px;font-size:12px;line-height:1.55;color:#677a70}
.vsg-clothing-secretary-footer p strong{color:#264137}
.vsg-clothing-content-editor{margin:14px 0 0;border:1px solid #dfe8e3;border-radius:12px;background:#fbfdfc;overflow:hidden}
.vsg-clothing-content-editor>summary{list-style:none;cursor:pointer;padding:11px 13px;font-size:12px;font-weight:750;color:#315146;display:flex;align-items:center;justify-content:space-between}
.vsg-clothing-content-editor>summary::-webkit-details-marker{display:none}
.vsg-clothing-content-editor>summary:after{content:'Modifica';font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#0b6b43}
.vsg-clothing-content-editor[open]>summary{border-bottom:1px solid #e5ece8;background:#f5faf7}
.vsg-clothing-content-editor .vsg-clothing-secretary-form{padding:14px}
.vsg-clothing-content-editor .vsg-clothing-secretary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.vsg-clothing-content-editor .vsg-clothing-secretary-items{grid-template-columns:repeat(5,minmax(0,1fr));padding-top:12px}
.vsg-clothing-editor-locked{padding:13px 14px;color:#7d5f19;background:#fff8e6;font-size:12px;line-height:1.45}

@media (max-width:980px){
  .vsg-clothing-secretary-grid{grid-template-columns:1fr 1fr}
  .vsg-clothing-secretary-grid .is-wide{grid-column:1/-1}
  .vsg-clothing-secretary-items,.vsg-clothing-content-editor .vsg-clothing-secretary-items{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vsg-clothing-content-editor .vsg-clothing-secretary-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:620px){
  .vsg-clothing-secretary-entry>summary{padding:14px;align-items:flex-start}
  .vsg-clothing-secretary-entry>summary em{display:none}
  .vsg-clothing-secretary-body{padding:14px}
  .vsg-clothing-secretary-grid,.vsg-clothing-content-editor .vsg-clothing-secretary-grid{grid-template-columns:1fr}
  .vsg-clothing-secretary-grid .is-wide{grid-column:auto}
  .vsg-clothing-secretary-items,.vsg-clothing-content-editor .vsg-clothing-secretary-items{grid-template-columns:1fr 1fr}
  .vsg-clothing-secretary-footer{align-items:stretch;flex-direction:column}
  .vsg-clothing-secretary-footer .vsg-btn{width:100%;justify-content:center}
}
@media (max-width:390px){
  .vsg-clothing-secretary-items,.vsg-clothing-content-editor .vsg-clothing-secretary-items{grid-template-columns:1fr}
}


/* 1.4.25 — Ordini abbigliamento cronologici e riepilogo magazzino per pezzo reale */
body.vsg-area-societa-page .vsg-clothing-order-date{
  margin:7px 0 0!important;
  font-size:12px!important;
  line-height:1.3!important;
  font-weight:700!important;
  color:#68766f!important;
}
body.vsg-area-societa-page .vsg-clothing-order-date::before{
  content:"🕒";
  margin-right:6px;
  font-size:12px;
}
body.vsg-area-societa-page .vsg-clothing-supplier-card .vsg-card-head p{
  max-width:760px;
}
body.vsg-area-societa-page .vsg-clothing-aggregate-copy small{
  font-weight:650!important;
}

/* 1.4.27 — Magazzino */
.vsg-inventory-page-head,.vsg-clothing-page-head{align-items:flex-start}
.vsg-inventory-head-actions,.vsg-clothing-head-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.vsg-inventory-stats{margin-bottom:20px}
.vsg-inventory-order-card{margin-bottom:20px}
.vsg-inventory-updated{font-size:12px;font-weight:600;color:#65746c;background:#f3f7f5;border:1px solid #dde8e2;border-radius:999px;padding:8px 12px;white-space:nowrap}
.vsg-inventory-missing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px}
.vsg-inventory-missing-item{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 14px;border:1px solid #f0d4d4;background:#fff8f8;border-radius:12px}
.vsg-inventory-missing-item>span{font-size:22px}.vsg-inventory-missing-item strong{display:block;font-size:13px;color:#26342d}.vsg-inventory-missing-item small{display:block;margin-top:2px;font-size:11px;color:#718078}.vsg-inventory-missing-item b{font-size:18px;color:#b02f2f}
.vsg-inventory-form{background:#fff;border:1px solid #dfe8e3;border-radius:18px;padding:22px;box-shadow:0 8px 22px rgba(17,61,40,.05)}
.vsg-inventory-form-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:18px;border-bottom:1px solid #e5ece8}.vsg-inventory-form-head>div>span{display:block;font-size:10px;letter-spacing:.12em;font-weight:700;color:#0b6b43}.vsg-inventory-form-head h3{margin:4px 0 5px;font-size:20px}.vsg-inventory-form-head p{margin:0;color:#69776f;font-size:13px;line-height:1.5}
.vsg-inventory-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.vsg-inventory-group{border:1px solid #dfe8e3;border-radius:14px;overflow:hidden;background:#fff}.vsg-inventory-group-head{display:flex;align-items:center;gap:10px;padding:13px 14px;background:#f7faf8;border-bottom:1px solid #e5ece8}.vsg-inventory-group-head>span{font-size:22px}.vsg-inventory-group-head strong{display:block;font-size:14px}.vsg-inventory-group-head small{display:block;font-size:11px;color:#748178;margin-top:2px}
.vsg-inventory-table{width:100%}.vsg-inventory-row{display:grid;grid-template-columns:minmax(92px,1.2fr) minmax(86px,.8fr) 72px 86px;align-items:center;gap:8px;min-height:43px;padding:7px 12px;border-top:1px solid #edf2ef}.vsg-inventory-row:first-child{border-top:0}.vsg-inventory-row.is-head{min-height:32px;background:#fcfdfc;color:#7a867f;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.vsg-inventory-row>strong{font-size:12px;font-weight:600;color:#2b3931}.vsg-inventory-row input{width:78px;height:32px;padding:5px 8px;border:1px solid #cfdcd5;border-radius:8px;font:600 12px/1 Poppins,sans-serif;text-align:center;background:#fff}.vsg-inventory-row.is-missing{background:#fffafa}.vsg-inventory-required{font-size:13px;font-weight:600;text-align:center}.vsg-inventory-shortage{text-align:center}.vsg-inventory-shortage b{color:#b02f2f;font-size:13px}.vsg-inventory-shortage em{font-style:normal;color:#0b7a49;font-size:11px;font-weight:700}
.vsg-inventory-savebar{position:sticky;bottom:12px;z-index:5;margin-top:18px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:rgba(247,250,248,.96);backdrop-filter:blur(8px);border:1px solid #d9e5de;border-radius:13px;box-shadow:0 8px 24px rgba(17,61,40,.10)}.vsg-inventory-savebar span{font-size:12px;color:#5c6c63;line-height:1.45}.vsg-inventory-savebar .vsg-btn{flex:0 0 auto}
@media(max-width:980px){.vsg-inventory-missing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vsg-inventory-groups{grid-template-columns:1fr}}
@media(max-width:680px){.vsg-inventory-page-head,.vsg-clothing-page-head{display:block}.vsg-inventory-head-actions,.vsg-clothing-head-actions{margin-top:14px;justify-content:stretch}.vsg-inventory-head-actions .vsg-btn,.vsg-clothing-head-actions .vsg-btn{flex:1 1 auto;justify-content:center}.vsg-inventory-missing-grid{grid-template-columns:1fr}.vsg-inventory-form{padding:14px;border-radius:14px}.vsg-inventory-form-head{display:block}.vsg-inventory-form-head .vsg-btn{width:100%;margin-top:12px}.vsg-inventory-row{grid-template-columns:minmax(76px,1fr) 76px 58px 70px;gap:5px;padding:7px 8px}.vsg-inventory-row input{width:68px}.vsg-inventory-savebar{position:static;display:block}.vsg-inventory-savebar .vsg-btn{width:100%;margin-top:10px}.vsg-inventory-updated{display:block;margin-top:8px;white-space:normal}}

/* 1.4.28 — Consegne parziali abbigliamento */
body.vsg-area-societa-page .vsg-clothing-order-badges{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
body.vsg-area-societa-page .vsg-partial-chip{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border-radius:999px;background:#fff6de;border:1px solid #edd79d;color:#765513;font-size:11px;font-weight:700;line-height:1.1;white-space:nowrap}
body.vsg-area-societa-page .vsg-partial-delivery{margin:14px 0;border:1px solid #dce7e1;border-radius:14px;background:#fbfdfc;overflow:hidden}
body.vsg-area-societa-page .vsg-partial-delivery>summary{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center;cursor:pointer;padding:13px 14px;list-style:none;background:#f7faf8}
body.vsg-area-societa-page .vsg-partial-delivery>summary::-webkit-details-marker{display:none}
body.vsg-area-societa-page .vsg-partial-delivery-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#e9f4ee;font-size:17px}
body.vsg-area-societa-page .vsg-partial-delivery-copy strong{display:block;color:#24332b;font-size:13px;font-weight:700}
body.vsg-area-societa-page .vsg-partial-delivery-copy small{display:block;margin-top:2px;color:#6e7c74;font-size:11px;line-height:1.35}
body.vsg-area-societa-page .vsg-partial-delivery-progress{min-width:48px;text-align:center;padding:7px 9px;border-radius:9px;background:#fff;border:1px solid #dce7e1;color:#0b6b43;font-size:12px;font-weight:800}
body.vsg-area-societa-page .vsg-partial-delivery-form{padding:14px;border-top:1px solid #e2eae6;background:#fff}
body.vsg-area-societa-page .vsg-partial-delivery-note{padding:10px 12px;margin-bottom:12px;border-radius:10px;background:#f1f7f4;color:#53645b;font-size:11px;line-height:1.45}
body.vsg-area-societa-page .vsg-partial-delivery-note strong{color:#274437}
body.vsg-area-societa-page .vsg-partial-delivery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
body.vsg-area-societa-page .vsg-partial-delivery-grid>label{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:66px;padding:10px 11px;border:1px solid #e1e9e5;border-radius:11px;background:#fff}
body.vsg-area-societa-page .vsg-partial-delivery-grid>label.is-complete{background:#f3faf6;border-color:#cfe6d8}
body.vsg-area-societa-page .vsg-partial-item-main{display:flex;align-items:center;gap:9px;min-width:0}
body.vsg-area-societa-page .vsg-partial-item-emoji{flex:0 0 auto;font-size:20px}
body.vsg-area-societa-page .vsg-partial-item-main strong{display:block;color:#29382f;font-size:12px;font-weight:700;line-height:1.25}
body.vsg-area-societa-page .vsg-partial-item-main small{display:block;margin-top:3px;color:#7a867f;font-size:10px;line-height:1.25}
body.vsg-area-societa-page .vsg-partial-item-control{display:grid;grid-template-columns:auto 52px;align-items:center;gap:4px 7px;flex:0 0 auto}
body.vsg-area-societa-page .vsg-partial-item-control>small{grid-column:1/3;color:#7a867f;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;text-align:right}
body.vsg-area-societa-page .vsg-partial-item-control input{width:52px;height:34px;padding:4px 6px;border:1px solid #cbd9d1;border-radius:8px;background:#fff;text-align:center;font:700 12px/1 Poppins,sans-serif}
body.vsg-area-societa-page .vsg-partial-item-control em{font-style:normal;color:#69776f;font-size:10px;font-weight:600;white-space:nowrap}
body.vsg-area-societa-page .vsg-partial-delivery-grid>label.is-complete .vsg-partial-item-control em{color:#0b7a49;font-weight:700}
body.vsg-area-societa-page .vsg-partial-delivery-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-top:12px;padding-top:12px;border-top:1px solid #e7eeea}
body.vsg-area-societa-page .vsg-partial-delivery-footer>label{display:grid;gap:5px;color:#526259;font-size:10px;font-weight:700}
body.vsg-area-societa-page .vsg-partial-delivery-footer input[type=date]{height:38px;padding:7px 9px;border:1px solid #cfdcd5;border-radius:9px;background:#fff;font:600 11px/1.2 Poppins,sans-serif}
body.vsg-area-societa-page .vsg-partial-delivery-footer>div{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-width:0}
body.vsg-area-societa-page .vsg-partial-delivery-footer>div>small{max-width:390px;color:#6f7d75;font-size:10px;line-height:1.35;text-align:right}
@media(max-width:900px){body.vsg-area-societa-page .vsg-partial-delivery-grid{grid-template-columns:1fr}}
@media(max-width:680px){body.vsg-area-societa-page .vsg-clothing-order-badges{justify-content:flex-start}body.vsg-area-societa-page .vsg-partial-delivery>summary{grid-template-columns:32px minmax(0,1fr);padding:12px}body.vsg-area-societa-page .vsg-partial-delivery-progress{grid-column:1/3;width:100%;box-sizing:border-box}body.vsg-area-societa-page .vsg-partial-delivery-form{padding:11px}body.vsg-area-societa-page .vsg-partial-delivery-grid>label{align-items:flex-start;flex-direction:column;gap:9px}body.vsg-area-societa-page .vsg-partial-item-control{width:100%;grid-template-columns:minmax(0,1fr) 58px auto}body.vsg-area-societa-page .vsg-partial-item-control>small{grid-column:1/2;text-align:left;align-self:center}body.vsg-area-societa-page .vsg-partial-item-control input{width:58px}body.vsg-area-societa-page .vsg-partial-delivery-footer{display:block}body.vsg-area-societa-page .vsg-partial-delivery-footer>label{margin-bottom:10px}body.vsg-area-societa-page .vsg-partial-delivery-footer input[type=date]{width:100%;box-sizing:border-box}body.vsg-area-societa-page .vsg-partial-delivery-footer>div{display:block}body.vsg-area-societa-page .vsg-partial-delivery-footer>div>small{display:block;max-width:none;text-align:left;margin-bottom:8px}body.vsg-area-societa-page .vsg-partial-delivery-footer .vsg-btn{width:100%;justify-content:center}}

/* 1.13.0 · pagamenti: contabile segreteria + acconti */
body.vsg-area-societa-page .vsg-badge.vsg-parziale{background:#fff0cf!important;color:#8a5a00!important;border-color:#f2cf88!important}
body.vsg-area-societa-page .vsg-payment-card:has(.vsg-parziale){border-left-color:#d99a20}
.vsg-payment-proof-secretary{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) auto;gap:12px;align-items:end;margin:14px 0;padding:14px;border:1px dashed #cbd9d1;border-radius:14px;background:#f8fbf9}
.vsg-payment-proof-secretary>div{align-self:center}.vsg-payment-proof-secretary strong,.vsg-payment-proof-secretary span{display:block}.vsg-payment-proof-secretary strong{font-size:13px;color:#24352c}.vsg-payment-proof-secretary span{margin-top:3px;font-size:11px;line-height:1.45;color:#718078}
.vsg-payment-proof-secretary input[type=file]{width:100%;font-size:12px}
.vsg-payment-partial-note{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:10px 0;padding:10px 12px;border-radius:12px;background:#fff8e7;border:1px solid #f0d79b;color:#72500d}.vsg-payment-partial-note strong{font-size:12px}.vsg-payment-partial-note span{font-size:12px}
.vsg-payment-review-form label small{display:block;margin-top:3px;font-size:10px;line-height:1.35;color:#839087}
@media(max-width:850px){.vsg-payment-proof-secretary{grid-template-columns:1fr}.vsg-payment-proof-secretary .vsg-btn{width:100%}}

/* 1.4.32 — Storico consegne: mostra esattamente quali pezzi sono stati consegnati. */
body.vsg-area-societa-page .vsg-clothing-delivered-row{
  grid-template-columns:minmax(210px,1.55fr) minmax(92px,.48fr) minmax(90px,.42fr) minmax(82px,.38fr) minmax(120px,.58fr) auto!important;
}
body.vsg-area-societa-page .vsg-clothing-delivered-contents{
  grid-column:1/-1!important;
  margin:0 0 2px 38px!important;
  border:1px solid #e2ebe6!important;
  border-radius:12px!important;
  background:#fafcfb!important;
  overflow:hidden!important;
}
body.vsg-area-societa-page .vsg-clothing-delivered-contents>summary{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  min-height:42px!important;
  padding:8px 11px!important;
  list-style:none!important;
  cursor:pointer!important;
}
body.vsg-area-societa-page .vsg-clothing-delivered-contents>summary::-webkit-details-marker{display:none!important;}
body.vsg-area-societa-page .vsg-clothing-delivered-contents>summary>span{
  display:grid!important;
  min-width:0!important;
  gap:1px!important;
}
body.vsg-area-societa-page .vsg-clothing-delivered-contents>summary small{
  color:#89948e!important;
  font-size:8px!important;
  font-weight:700!important;
  letter-spacing:.08em!important;
}
body.vsg-area-societa-page .vsg-clothing-delivered-contents>summary strong{
  overflow:hidden!important;
  color:#33463c!important;
  font-size:10px!important;
  font-weight:650!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
body.vsg-area-societa-page .vsg-clothing-delivered-contents>summary em{
  flex:0 0 auto!important;
  color:#0b6b43!important;
  font-size:9px!important;
  font-style:normal!important;
  font-weight:700!important;
}
body.vsg-area-societa-page .vsg-clothing-delivered-contents[open]>summary em::before{content:'Nascondi';}
body.vsg-area-societa-page .vsg-clothing-delivered-contents[open]>summary em{font-size:0!important;}
body.vsg-area-societa-page .vsg-clothing-delivered-contents[open]>summary em::before{font-size:9px!important;}
body.vsg-area-societa-page .vsg-clothing-delivered-chips{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:7px!important;
  padding:0 11px 11px!important;
}
body.vsg-area-societa-page .vsg-clothing-delivered-chip{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  min-height:30px!important;
  padding:5px 8px!important;
  border:1px solid #dce8e1!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#33463c!important;
  line-height:1.15!important;
}
body.vsg-area-societa-page .vsg-clothing-delivered-chip b{font-size:9px!important;font-weight:700!important;}
body.vsg-area-societa-page .vsg-clothing-delivered-chip small{font-size:8px!important;color:#68776f!important;font-weight:600!important;}
body.vsg-area-societa-page .vsg-clothing-delivered-chip i{font-size:9px!important;color:#0b6b43!important;font-style:normal!important;font-weight:800!important;}
body.vsg-area-societa-page .vsg-clothing-delivered-empty{font-size:9px!important;color:#7b8881!important;}
@media(max-width:980px){
  body.vsg-area-societa-page .vsg-clothing-delivered-row{grid-template-columns:minmax(190px,1.5fr) repeat(2,minmax(90px,.55fr)) auto!important;}
  body.vsg-area-societa-page .vsg-clothing-delivered-row>.vsg-clothing-delivered-data:nth-of-type(3),
  body.vsg-area-societa-page .vsg-clothing-delivered-row>.vsg-clothing-delivered-data:nth-of-type(4){display:none!important;}
}
@media(max-width:680px){
  body.vsg-area-societa-page .vsg-clothing-delivered-row{grid-template-columns:1fr auto!important;gap:8px!important;}
  body.vsg-area-societa-page .vsg-clothing-delivered-athlete{grid-column:1/-1!important;}
  body.vsg-area-societa-page .vsg-clothing-delivered-data{display:none!important;}
  body.vsg-area-societa-page .vsg-clothing-delivered-actions{grid-column:1/-1!important;justify-content:flex-start!important;}
  body.vsg-area-societa-page .vsg-clothing-delivered-contents{grid-column:1/-1!important;margin-left:0!important;}
  body.vsg-area-societa-page .vsg-clothing-delivered-contents>summary strong{white-space:normal!important;}
}
\n\n/* 1.13.4 · conferma bonifico da estratto conto senza contabile */\n.vsg-payment-bank-missing,.vsg-payment-bank-verified{margin:14px 0;padding:13px 15px;border-radius:12px;display:flex;gap:6px;flex-direction:column}\n.vsg-payment-bank-missing{background:#f6f8fa;border:1px solid #d8e0e5;color:#33443b}\n.vsg-payment-bank-verified{background:#eaf7ef;border:1px solid #b8ddc6;color:#175d36}\n.vsg-payment-bank-missing strong,.vsg-payment-bank-verified strong{font-size:14px;font-weight:700;line-height:1.35}\n.vsg-payment-bank-missing span,.vsg-payment-bank-verified span{font-size:12px;line-height:1.5;color:inherit;opacity:.9}\n.vsg-bank-verify-check{display:flex!important;align-items:flex-start;gap:11px;padding:13px 14px;border:1px solid #cbd8d1;border-radius:12px;background:#f7faf8;cursor:pointer}\n.vsg-bank-verify-check>input{width:18px!important;height:18px!important;min-width:18px;margin:2px 0 0!important;accent-color:#0b6b43}\n.vsg-bank-verify-check>span{display:flex;flex-direction:column;gap:3px}\n.vsg-bank-verify-check strong{font-size:13px;font-weight:700;color:#183a2a}\n.vsg-bank-verify-check small{font-size:11px;line-height:1.45;color:#63746b;font-weight:400}\n@media(max-width:620px){.vsg-payment-bank-missing,.vsg-payment-bank-verified,.vsg-bank-verify-check{padding:12px}}\n\n\n/* 1.13.5 · consegne già comprese nel conteggio fisico */
.vsg-stock-baseline-check{display:flex!important;align-items:flex-start;gap:10px;padding:12px 13px;border:1px solid #d6e2dc;border-radius:12px;background:#f7faf8;cursor:pointer;grid-column:1/-1}
.vsg-stock-baseline-check>input{width:18px!important;height:18px!important;min-width:18px;margin:2px 0 0!important;accent-color:#0b6b43}
.vsg-stock-baseline-check>span{display:flex;flex-direction:column;gap:2px;min-width:0}
.vsg-stock-baseline-check strong{font-size:12px;line-height:1.35;color:#183a2a;font-weight:700}
.vsg-stock-baseline-check small{font-size:11px;line-height:1.45;color:#63746b;font-weight:400}
.vsg-stock-baseline-check.is-compact{margin:6px 0;padding:9px 10px}
@media(max-width:620px){.vsg-stock-baseline-check{padding:11px 12px}}

.vsg-precount-delivery-chip{display:inline-flex;margin-top:4px;padding:3px 7px;border-radius:999px;background:#edf7f1;color:#17663c;font-size:9px;font-style:normal;font-weight:700;line-height:1.2;white-space:nowrap}


/* 1.13.6 · Juniores: iscrizione societaria semplificata */
.vsg-juniores-quick-add{margin:0 0 18px;border:1px solid #d8e6de;border-radius:16px;background:#fff;overflow:hidden}
.vsg-juniores-quick-add>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;padding:16px 18px;background:#f5faf7;color:#173d2b}
.vsg-juniores-quick-add>summary::-webkit-details-marker{display:none}
.vsg-juniores-quick-add>summary>span:nth-child(2){display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.vsg-juniores-quick-add>summary strong{font-size:15px;font-weight:750}
.vsg-juniores-quick-add>summary small{font-size:12px;color:#687970;font-weight:450;line-height:1.45}
.vsg-juniores-quick-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#e3f3e9;font-size:20px;flex:0 0 38px}
.vsg-juniores-quick-form{padding:18px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.vsg-juniores-quick-form label{display:flex;flex-direction:column;gap:6px;min-width:0}
.vsg-juniores-quick-form label>span{font-size:12px;font-weight:700;color:#42564b}
.vsg-juniores-quick-form input{width:100%;min-width:0;box-sizing:border-box;border:1px solid #cadbd1;border-radius:10px;padding:11px 12px;background:#fff;color:#1f3027;font:inherit}
.vsg-juniores-quick-note{grid-column:span 3;display:flex;flex-direction:column;gap:3px;padding:11px 13px;border-radius:11px;background:#f2f7f4;color:#52655a}
.vsg-juniores-quick-note strong{font-size:12px;color:#0b6b43}
.vsg-juniores-quick-note span{font-size:11px;line-height:1.45}
.vsg-juniores-quick-form>.vsg-btn{align-self:end;min-height:44px}
@media(max-width:1050px){.vsg-juniores-quick-form{grid-template-columns:repeat(2,minmax(0,1fr))}.vsg-juniores-quick-note{grid-column:span 1}}
@media(max-width:640px){.vsg-juniores-quick-add>summary{padding:14px}.vsg-juniores-quick-form{grid-template-columns:1fr;padding:14px}.vsg-juniores-quick-note{grid-column:1}.vsg-juniores-quick-form>.vsg-btn{width:100%}}


/* 1.4.38 · previsione entrate e coda notifiche operativa */
.vsg-payment-overview-block{margin-top:18px}
.vsg-payment-overview-block:first-of-type{margin-top:0}
.vsg-payment-overview-block-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:0 0 10px;padding-top:2px}
.vsg-payment-overview-block-head strong{font-size:14px;line-height:1.25;font-weight:780;color:#203128}
.vsg-payment-overview-block-head span{font-size:12px;line-height:1.4;color:#738078;text-align:right}
.vsg-payment-overview-cards.is-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.vsg-payment-stat.is-forecast{background:#eef8f2;border-color:#cfe5d7}
.vsg-payment-stat.is-confirmed{background:#f1f8f4;border-color:#d7e9de}
.vsg-payment-breakdown{display:grid;gap:8px;margin-top:14px}
@media(max-width:900px){.vsg-payment-overview-cards.is-three{grid-template-columns:1fr}.vsg-payment-overview-block-head{align-items:flex-start;flex-direction:column;gap:3px}.vsg-payment-overview-block-head span{text-align:left}}
