/* Valve UI System 1.3.9 — tipografia e interazioni coordinate. */
:root{
  --valve-font:"Poppins",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  --valve-weight-regular:400;
  --valve-weight-medium:500;
  --valve-weight-semibold:600;
  --valve-weight-bold:700;
  --valve-weight-heavy:700;
  --valve-focus:0 0 0 4px rgba(11,107,67,.13);
}

body.vsg-standalone-app,
body.vfa-standalone-app,
body.vfa-login-standalone{
  font-family:var(--valve-font)!important;
  font-weight:var(--valve-weight-regular);
  font-synthesis:none;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

body.vsg-standalone-app :where(.vsg-native-layout,.vsg-shell,.vsg-content,.valve-proprietary-footer),
body.vfa-standalone-app :where(.vfa-native-layout,.vds-family-top,.vds-quick-nav,.vrr-wrap,.vds-wrap,.valve-wrap,.valve-proprietary-footer),
body.vfa-login-standalone :where(.vfa-login-native-layout,.valve-login,.valve-proprietary-footer){
  font-family:var(--valve-font)!important;
}

body.vsg-standalone-app :where(button,input,select,textarea),
body.vfa-standalone-app :where(button,input,select,textarea),
body.vfa-login-standalone :where(button,input,select,textarea){
  font-family:var(--valve-font)!important;
  font-weight:var(--valve-weight-medium);
}

body.vsg-standalone-app :where(p,li,dd,td,small),
body.vfa-standalone-app :where(p,li,dd,td,small),
body.vfa-login-standalone :where(p,li,dd,td,small){
  line-height:1.55;
}

body.vsg-standalone-app :where(h1,h2,h3,h4),
body.vfa-standalone-app :where(h1,h2,h3,h4),
body.vfa-login-standalone :where(h1,h2,h3,h4){
  font-family:var(--valve-font)!important;
  font-weight:var(--valve-weight-bold);
  letter-spacing:-.025em;
  text-wrap:balance;
}

body.vsg-standalone-app :where(strong,b),
body.vfa-standalone-app :where(strong,b),
body.vfa-login-standalone :where(strong,b){
  font-weight:var(--valve-weight-bold);
}

/* Controlli coerenti, leggibili e piacevoli da utilizzare. */
body.vsg-standalone-app :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea),
body.vfa-standalone-app :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea),
body.vfa-login-standalone :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea){
  transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease;
}

body.vsg-standalone-app :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea):focus,
body.vfa-standalone-app :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea):focus,
body.vfa-login-standalone :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea):focus{
  border-color:#178454!important;
  outline:0!important;
  box-shadow:var(--valve-focus)!important;
}

body.vsg-standalone-app :where(.vsg-button,.vsg-action,.vsg-open-athlete,.vsg-logout,.vsg-quick-nav a),
body.vfa-standalone-app :where(.vrr-button,.vds-button,.valve-btn,.vds-logout,.vds-quick-nav a),
body.vfa-login-standalone :where(.valve-btn,input[type="submit"],.vfa-login-home-link){
  font-weight:var(--valve-weight-semibold)!important;
  transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease,border-color .16s ease,color .16s ease;
}

@media (hover:hover){
  body.vsg-standalone-app :where(.vsg-button,.vsg-action,.vsg-open-athlete,.vsg-logout):hover,
  body.vfa-standalone-app :where(.vrr-button,.vds-button,.valve-btn,.vds-logout):hover,
  body.vfa-login-standalone :where(.valve-btn,input[type="submit"],.vfa-login-home-link):hover{
    transform:translateY(-1px);
  }
}

body.vsg-standalone-app :where(a,button,input,select,textarea):focus-visible,
body.vfa-standalone-app :where(a,button,input,select,textarea):focus-visible,
body.vfa-login-standalone :where(a,button,input,select,textarea):focus-visible{
  outline:3px solid rgba(19,138,86,.28);
  outline-offset:3px;
}

/* Le emoji mantengono il rendering nativo del dispositivo. */
body.vsg-standalone-app :where([class*="emoji"],[role="img"]),
body.vfa-standalone-app :where([class*="emoji"],[role="img"]),
body.vfa-login-standalone :where([class*="emoji"],[role="img"]){
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif!important;
  font-synthesis:none;
}

@media (prefers-reduced-motion:reduce){
  body.vsg-standalone-app *,
  body.vfa-standalone-app *,
  body.vfa-login-standalone *{
    scroll-behavior:auto!important;
    transition-duration:.01ms!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
  }
}


/* ==========================================================
   VALVE UI 1.4.0 — AUDIT COMPLETO DI TIPOGRAFIA E CONTROLLI
   Gerarchia: 400 testo, 500 campi, 600 comandi, 700 titoli.
   ========================================================== */
:root{
  --valve-control-border:#c8d7cf;
  --valve-control-border-focus:#168b55;
  --valve-control-radius:10px;
  --valve-control-height:44px;
  --valve-button-green:#0b6b43;
  --valve-button-green-hover:#075b39;
  --valve-button-soft:#edf8f2;
}

/* Campi: elimina i bordi spessi ereditati dal tema. */
body.vsg-standalone-app input:is([type="text"],[type="search"],[type="email"],[type="password"],[type="tel"],[type="url"],[type="number"],[type="date"],[type="month"],[type="time"],[type="datetime-local"]),
body.vsg-standalone-app select,
body.vsg-standalone-app textarea,
body.vfa-standalone-app input:is([type="text"],[type="search"],[type="email"],[type="password"],[type="tel"],[type="url"],[type="number"],[type="date"],[type="month"],[type="time"],[type="datetime-local"]),
body.vfa-standalone-app select,
body.vfa-standalone-app textarea,
body.vfa-login-standalone input:is([type="text"],[type="search"],[type="email"],[type="password"],[type="tel"],[type="url"],[type="number"],[type="date"]),
body.vfa-login-standalone select,
body.vfa-login-standalone textarea{
  box-sizing:border-box!important;
  min-height:var(--valve-control-height)!important;
  border:1px solid var(--valve-control-border)!important;
  border-width:1px!important;
  border-style:solid!important;
  border-radius:var(--valve-control-radius)!important;
  background:#fff!important;
  color:#24322b!important;
  box-shadow:none!important;
  font-family:var(--valve-font)!important;
  font-size:14px!important;
  font-weight:500!important;
  line-height:1.25!important;
}
body.vsg-standalone-app textarea,
body.vfa-standalone-app textarea,
body.vfa-login-standalone textarea{
  min-height:110px!important;
  padding:11px 13px!important;
  resize:vertical;
}
body.vsg-standalone-app input:is([type="text"],[type="search"],[type="email"],[type="password"],[type="tel"],[type="url"],[type="number"],[type="date"],[type="month"],[type="time"],[type="datetime-local"]),
body.vsg-standalone-app select,
body.vfa-standalone-app input:is([type="text"],[type="search"],[type="email"],[type="password"],[type="tel"],[type="url"],[type="number"],[type="date"],[type="month"],[type="time"],[type="datetime-local"]),
body.vfa-standalone-app select,
body.vfa-login-standalone input:is([type="text"],[type="search"],[type="email"],[type="password"],[type="tel"],[type="url"],[type="number"],[type="date"]),
body.vfa-login-standalone select{
  padding:0 13px!important;
}
body.vsg-standalone-app input::placeholder,
body.vfa-standalone-app input::placeholder,
body.vfa-login-standalone input::placeholder,
body.vsg-standalone-app textarea::placeholder,
body.vfa-standalone-app textarea::placeholder,
body.vfa-login-standalone textarea::placeholder{
  color:#9aa8a1!important;
  opacity:1!important;
  font-weight:400!important;
}

/* Focus pulito e uniforme. */
body.vsg-standalone-app input:focus,
body.vsg-standalone-app select:focus,
body.vsg-standalone-app textarea:focus,
body.vfa-standalone-app input:focus,
body.vfa-standalone-app select:focus,
body.vfa-standalone-app textarea:focus,
body.vfa-login-standalone input:focus,
body.vfa-login-standalone select:focus,
body.vfa-login-standalone textarea:focus{
  border-color:var(--valve-control-border-focus)!important;
  outline:0!important;
  box-shadow:0 0 0 3px rgba(22,139,85,.12)!important;
}

/* Pulsanti primari: sempre verdi, mai neri. */
body.vsg-standalone-app .vsg-btn,
body.vsg-area-societa-page .vsg-btn,
body.vfa-standalone-app .vrr-button,
body.vfa-standalone-app .vds-button,
body.vfa-standalone-app .valve-btn,
body.vfa-login-standalone .valve-btn,
body.vfa-login-standalone input[type="submit"]{
  box-sizing:border-box!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  min-height:var(--valve-control-height)!important;
  padding:10px 15px!important;
  border:1px solid var(--valve-button-green)!important;
  border-radius:10px!important;
  background:var(--valve-button-green)!important;
  background-color:var(--valve-button-green)!important;
  color:#fff!important;
  box-shadow:0 4px 11px rgba(11,107,67,.14)!important;
  font-family:var(--valve-font)!important;
  font-size:14px!important;
  font-weight:600!important;
  line-height:1.2!important;
  text-align:center!important;
  text-decoration:none!important;
  white-space:nowrap;
}
body.vsg-standalone-app .vsg-btn:hover,
body.vsg-area-societa-page .vsg-btn:hover,
body.vfa-standalone-app .vrr-button:hover,
body.vfa-standalone-app .vds-button:hover,
body.vfa-standalone-app .valve-btn:hover,
body.vfa-login-standalone .valve-btn:hover,
body.vfa-login-standalone input[type="submit"]:hover{
  background:var(--valve-button-green-hover)!important;
  background-color:var(--valve-button-green-hover)!important;
  border-color:var(--valve-button-green-hover)!important;
  color:#fff!important;
}

/* Azioni secondarie chiare, senza fondo nero. */
body.vsg-standalone-app .vsg-btn.vsg-secondary,
body.vsg-area-societa-page .vsg-btn.vsg-secondary,
body.vfa-standalone-app .valve-btn.valve-secondary,
body.vfa-standalone-app .vrr-button.vrr-dark,
body.vfa-login-standalone .valve-btn.valve-secondary{
  border:1px solid var(--valve-button-green)!important;
  background:#fff!important;
  background-color:#fff!important;
  color:var(--valve-button-green)!important;
  box-shadow:none!important;
}
body.vsg-standalone-app .vsg-btn.vsg-secondary:hover,
body.vsg-area-societa-page .vsg-btn.vsg-secondary:hover,
body.vfa-standalone-app .valve-btn.valve-secondary:hover,
body.vfa-standalone-app .vrr-button.vrr-dark:hover,
body.vfa-login-standalone .valve-btn.valve-secondary:hover{
  border-color:var(--valve-button-green)!important;
  background:var(--valve-button-soft)!important;
  background-color:var(--valve-button-soft)!important;
  color:var(--valve-button-green)!important;
}

/* Allineamento coerente delle righe di azione. */
body.vsg-standalone-app :is(.vsg-card-actions,.vsg-filter-actions,.vsg-clothing-order-actions),
body.vfa-standalone-app :is(.vds-row-actions,.vrr-actions,.vrr-admin-buttons){
  align-items:stretch!important;
}
body.vsg-standalone-app :is(.vsg-card-actions,.vsg-filter-actions,.vsg-clothing-order-actions) :is(.vsg-btn,button,a),
body.vfa-standalone-app :is(.vds-row-actions,.vrr-actions,.vrr-admin-buttons) :is(.vds-button,.vrr-button,.valve-btn,button,a){
  align-self:stretch;
}

/* Pesi coerenti: nessun elemento dell’interfaccia supera 700. */
body.vsg-standalone-app :is(label,.vsg-nav a,.vsg-detail-nav a,.vsg-badge,.vsg-filter-toggle),
body.vfa-standalone-app :is(label,.vds-quick-nav a,.vds-badge,.vrr-badge,.valve-status),
body.vfa-login-standalone label{
  font-weight:600!important;
}
body.vsg-standalone-app :is(h1,h2,h3,h4,strong,b),
body.vfa-standalone-app :is(h1,h2,h3,h4,strong,b),
body.vfa-login-standalone :is(h1,h2,h3,h4,strong,b){
  font-weight:700!important;
}

/* Contorni dei riquadri di stato più discreti. */
body.vsg-standalone-app .vui-status-card,
body.vfa-standalone-app .vui-status-card{
  border-width:1px!important;
}


/* ==========================================================
   VALVE UI 1.4.1 — LEGGIBILITÀ E ALLINEAMENTO TRASVERSALE
   ========================================================== */
body.vsg-standalone-app,
body.vfa-standalone-app,
body.vfa-login-standalone{
  color:#24342c!important;
  line-height:1.5!important;
  text-rendering:optimizeLegibility;
}
body.vsg-standalone-app :where(.vsg-section-head p,.vsg-card-head p,.vsg-card small,.vsg-table td small,.vui-status-detail),
body.vfa-standalone-app :where(.vfa-card small,.vds-card small,.vrr-card small,.vui-status-detail),
body.vfa-login-standalone :where(small,.vfa-login-help){
  color:#596a61!important;
  font-size:11px!important;
  font-weight:500!important;
  line-height:1.45!important;
}
body.vsg-standalone-app .vsg-card-head>div>span,
body.vfa-standalone-app :where(.vfa-card-head>div>span,.vds-section-title>span,.vrr-section-title>span){
  color:#35604a!important;
  font-size:10px!important;
  font-weight:700!important;
  letter-spacing:.09em!important;
}
body.vsg-standalone-app :where(.vsg-card,.vui-status-card,.vsg-notification),
body.vfa-standalone-app :where(.vfa-card,.vds-card,.vrr-card,.vui-status-card){
  min-width:0!important;
}
body.vsg-standalone-app :where(.vsg-card-head,.vsg-section-head),
body.vfa-standalone-app :where(.vfa-card-head,.vds-section-title,.vrr-section-title){
  min-width:0!important;
}
body.vsg-standalone-app :where(.vsg-card-head h3,.vsg-section-head h2,.vsg-section-head h3),
body.vfa-standalone-app :where(.vfa-card-head h3,.vds-section-title h3,.vrr-section-title h3){
  color:#203128!important;
  line-height:1.3!important;
  overflow-wrap:anywhere;
}
body.vsg-standalone-app :where(.vsg-badge,.vsg-status,.vsg-clothing-summary-count,.vsg-filter-toggle),
body.vfa-standalone-app :where(.vds-badge,.vrr-badge,.valve-status){
  font-size:11px!important;
  font-weight:600!important;
  line-height:1.25!important;
}
body.vsg-standalone-app .vui-status-detail,
body.vfa-standalone-app .vui-status-detail{
  font-size:11px!important;
  font-weight:500!important;
}
body.vsg-standalone-app :where(.vsg-card-actions,.vsg-filter-actions,.vsg-clothing-order-actions,.vsg-actions),
body.vfa-standalone-app :where(.vds-row-actions,.vrr-actions,.vrr-admin-buttons,.valve-actions){
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  flex-wrap:wrap!important;
}
body.vsg-standalone-app :where(.vsg-card-actions,.vsg-filter-actions,.vsg-clothing-order-actions,.vsg-actions) :where(.vsg-btn,button,a),
body.vfa-standalone-app :where(.vds-row-actions,.vrr-actions,.vrr-admin-buttons,.valve-actions) :where(.vds-button,.vrr-button,.valve-btn,button,a){
  min-height:44px!important;
  align-self:center!important;
}
body.vsg-standalone-app :where(table),
body.vfa-standalone-app :where(table){
  line-height:1.45!important;
}
body.vsg-standalone-app :where(td,th),
body.vfa-standalone-app :where(td,th){
  vertical-align:middle!important;
}
@media(max-width:700px){
  body.vsg-standalone-app :where(.vsg-card-actions,.vsg-filter-actions,.vsg-clothing-order-actions,.vsg-actions) :where(.vsg-btn,button,a),
  body.vfa-standalone-app :where(.vds-row-actions,.vrr-actions,.vrr-admin-buttons,.valve-actions) :where(.vds-button,.vrr-button,.valve-btn,button,a){
    justify-content:center!important;
  }
}
