/* Final SPORTIA overrides loaded after globals.css */

/* MVP onboarding: every profile now exposes the same data-trust taxonomy. */
body .profile-taxonomy-compact,
body .profile-data-taxonomy {
  display: grid !important;
  gap: 12px !important;
  box-sizing: border-box !important;
  max-width: 100% !important;
  overflow: hidden !important;
}

body .profile-taxonomy-compact {
  padding: 16px !important;
  border: 1px solid rgba(213, 224, 234, .92) !important;
  border-radius: 18px !important;
  background: linear-gradient(145deg, rgba(246, 250, 247, .96), rgba(255, 255, 255, .98)) !important;
  box-shadow: 0 16px 32px rgba(19, 43, 73, .06) !important;
}

body .profile-taxonomy-compact h3,
body .profile-data-taxonomy h3 {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
  color: var(--navy) !important;
  font-size: 14px !important;
  line-height: 1.25 !important;
  font-weight: 650 !important;
}

body .profile-taxonomy-compact p,
body .profile-data-taxonomy p {
  margin: 0 !important;
  color: rgba(15, 31, 51, .68) !important;
  font-size: 11.5px !important;
  line-height: 1.45 !important;
  font-weight: 430 !important;
}

body .profile-taxonomy-compact > div,
body .profile-data-taxonomy > div {
  display: grid !important;
  gap: 8px !important;
}

body .profile-taxonomy-compact span,
body .profile-data-taxonomy span {
  display: grid !important;
  grid-template-columns: 18px minmax(0, 1fr) !important;
  gap: 2px 8px !important;
  align-items: start !important;
  min-width: 0 !important;
  color: rgba(15, 31, 51, .74) !important;
}

body .profile-taxonomy-compact span svg,
body .profile-data-taxonomy span svg {
  grid-row: span 2 !important;
  margin-top: 1px !important;
  color: var(--sportia-green) !important;
}

body .profile-taxonomy-compact b,
body .profile-data-taxonomy b {
  min-width: 0 !important;
  color: var(--navy) !important;
  font-size: 11px !important;
  line-height: 1.15 !important;
  font-weight: 620 !important;
}

body .profile-taxonomy-compact small,
body .profile-data-taxonomy small {
  min-width: 0 !important;
  color: rgba(15, 31, 51, .58) !important;
  font-size: 10px !important;
  line-height: 1.35 !important;
  font-weight: 420 !important;
}

body .main-content[data-page="network"] .ecosystem-integrated {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto minmax(0, auto) !important;
  gap: 10px !important;
}

/* Data-model pass: keep decorative halos inside reusable cards so generated club data
   never creates false horizontal overflow in KPI and public signal cards. */
body .main-content[data-page] .kpi-card::after {
  right: -2px !important;
  top: -28px !important;
  width: 76px !important;
  height: 76px !important;
  opacity: .38 !important;
}

body.public-view .public-signal-card {
  min-height: 154px !important;
}

body.public-view .public-signal-card::after {
  right: 0 !important;
  bottom: 0 !important;
  width: 72px !important;
  height: 72px !important;
}

body .main-content[data-page="struttura-servizi"] .structure-table {
  overflow-x: auto !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel {
  position: relative !important;
  inset: auto !important;
  order: -1 !important;
  justify-self: end !important;
  width: min(560px, 100%) !important;
  min-width: 0 !important;
  max-width: 560px !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  align-items: start !important;
  gap: 7px !important;
  padding: 10px 12px 11px !important;
  overflow: hidden !important;
  border: 1px solid rgba(221, 230, 240, .96) !important;
  border-radius: 9px !important;
  background: #fff !important;
  box-shadow: 0 12px 28px rgba(17, 45, 82, .07) !important;
  backdrop-filter: none !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-map {
  min-height: 510px !important;
  padding: 28px 4px 2px !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-diagram {
  min-height: 480px !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel h3 {
  width: auto !important;
  margin: 0 !important;
  color: var(--navy) !important;
  font-size: 11px !important;
  font-weight: 640 !important;
  line-height: 1.25 !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .donut-module {
  display: grid !important;
  grid-template-columns: 88px minmax(0, 1fr) !important;
  align-items: end !important;
  gap: 12px !important;
  min-width: 0 !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .donut-figure {
  width: 82px !important;
  max-width: 82px !important;
  justify-self: center !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .donut-center strong {
  font-size: 10px !important;
  line-height: 1.05 !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .donut-center span {
  font-size: 7px !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .donut-legend {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-self: end !important;
  align-content: end !important;
  gap: 5px 12px !important;
  min-width: 0 !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .donut-legend li {
  grid-template-columns: 7px minmax(0, 1fr) 28px !important;
  gap: 6px !important;
  min-width: 0 !important;
  font-size: 8.2px !important;
  line-height: 1.18 !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .donut-legend li p {
  min-width: 0 !important;
  padding-right: 3px !important;
  overflow-wrap: anywhere !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .donut-legend li strong {
  min-width: 28px !important;
  text-align: right !important;
  white-space: nowrap !important;
  font-variant-numeric: tabular-nums !important;
}

@media (max-width: 720px) {
  body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel {
    justify-self: stretch !important;
    width: 100% !important;
    grid-template-columns: 1fr !important;
  }

  body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .donut-module {
    grid-template-columns: 88px minmax(0, 1fr) !important;
  }

  body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-map {
    min-height: 430px !important;
    padding-top: 44px !important;
  }
}

/* Network partner geography map: legend and markers must match */
body .main-content[data-page="network"] .network-geo-wide-card .detailed-partner-map {
  position: relative !important;
}

body .main-content[data-page="network"] .network-geo-wide-card .partner-map-legend {
  left: 14px !important;
  top: 14px !important;
  right: auto !important;
  max-width: min(520px, calc(100% - 28px)) !important;
  display: grid !important;
  grid-template-columns: repeat(3, max-content) !important;
  align-items: center !important;
  gap: 8px 12px !important;
  padding: 8px 10px !important;
  border: 1px solid rgba(221, 230, 240, .96) !important;
  border-radius: 9px !important;
  color: var(--navy) !important;
  background: rgba(255, 255, 255, .96) !important;
  box-shadow: 0 12px 28px rgba(17, 45, 82, .08) !important;
  backdrop-filter: blur(8px);
}

body .main-content[data-page="network"] .network-geo-wide-card .partner-map-legend li {
  display: inline-grid !important;
  grid-template-columns: 13px max-content !important;
  align-items: center !important;
  gap: 6px !important;
  white-space: nowrap !important;
  font-size: 9.8px !important;
  font-weight: 520 !important;
  line-height: 1.1 !important;
}

body .main-content[data-page="network"] .network-geo-wide-card .partner-map-legend i {
  width: 13px !important;
  height: 13px !important;
  border: 2px solid #fff !important;
  border-radius: 50% !important;
  background: var(--sportia-green) !important;
  box-shadow: 0 4px 10px rgba(0, 108, 55, .22) !important;
}

body .main-content[data-page="network"] .network-geo-wide-card .partner-map-legend i.potential {
  background: #2f7dc9 !important;
  box-shadow: 0 4px 10px rgba(47, 125, 201, .2) !important;
}

body .main-content[data-page="network"] .network-geo-wide-card .partner-map-legend i.club {
  width: 12px !important;
  height: 12px !important;
  border: 3px solid #008f46 !important;
  background: #fff !important;
  box-shadow: 0 4px 10px rgba(0, 108, 55, .22) !important;
}

body .main-content[data-page="network"] .network-geo-wide-card .club-partner-marker .sportia-map-pin {
  width: 30px !important;
  height: 30px !important;
  border: 5px solid #008f46 !important;
  border-radius: 50% 50% 50% 0 !important;
  background: #fff !important;
  transform: rotate(-45deg) !important;
  box-shadow: 0 10px 20px rgba(0, 108, 55, .2) !important;
}

body .main-content[data-page="network"] .network-geo-wide-card .club-partner-marker .sportia-map-pin::after {
  left: 7px !important;
  top: 7px !important;
  width: 6px !important;
  height: 6px !important;
  background: #008f46 !important;
}

body .main-content[data-page="network"] .network-geo-wide-card .partner-map-stats {
  right: 14px !important;
  bottom: 14px !important;
  left: auto !important;
  max-width: calc(100% - 28px) !important;
}

@media (max-width: 720px) {
  body .main-content[data-page="network"] .network-geo-wide-card .partner-map-legend {
    grid-template-columns: 1fr !important;
    max-width: 190px !important;
  }
}

/* Ranking: right insights column must not stretch when the table is expanded */
body .main-content[data-page="ranking"] .ranking-grid {
  align-items: start !important;
}

body .main-content[data-page="ranking"] .ranking-grid > .stack {
  align-self: start !important;
  height: auto !important;
  min-height: 0 !important;
  align-content: start !important;
}

body .main-content[data-page="ranking"] .ranking-grid > .stack > .card {
  height: auto !important;
  min-height: 0 !important;
}

body .main-content[data-page="ranking"] .ranking-grid > .stack > .card:last-child {
  height: auto !important;
  min-height: 0 !important;
}

/* Market Insights benchmark filters: stable height in active/inactive states */
body .main-content[data-page="market-insights"] .benchmark-tools {
  align-items: center !important;
}

body .main-content[data-page="market-insights"] .benchmark-filter,
body .main-content[data-page="market-insights"] .benchmark-filter:hover,
body .main-content[data-page="market-insights"] .benchmark-filter.active {
  box-sizing: border-box !important;
  height: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 13px !important;
  border-width: 1px !important;
  line-height: 1 !important;
  transform: none !important;
}

/* Interventions roadmap: 16 quarters after adding 2024 Q1 */
body .roadmap-gantt {
  --quarter-count: 16;
  width: calc(100% - 30px) !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

body .main-content[data-page="interventi-consigliati"] .roadmap-section-card {
  overflow-x: hidden !important;
}

@media (max-width: 720px) {
  body .main-content[data-page="interventi-consigliati"] .roadmap-section-card {
    overflow-x: auto !important;
  }

  body .roadmap-gantt {
    width: auto !important;
    min-width: 780px !important;
  }
}

/* Dashboard strategic radar labels */
body .main-content[data-page="dashboard"] .radar-label {
  font-size: 10.8px !important;
  font-weight: 580 !important;
}

/* Map distances must stay inside the card */
body .main-content[data-page="mappa"] .map-layout > .stack {
  grid-template-rows: 288px minmax(0, 1fr) !important;
}

body .main-content[data-page="mappa"] .map-distance-card {
  overflow: hidden !important;
}

body .main-content[data-page="mappa"] .map-distance-card .distance-list {
  gap: 7px !important;
  height: auto !important;
}

body .main-content[data-page="mappa"] .map-distance-card .distance-list div {
  min-height: 22px !important;
  padding: 4px 0 !important;
  gap: 10px !important;
}

body .main-content[data-page="mappa"] .map-distance-card .distance-list dt,
body .main-content[data-page="mappa"] .map-distance-card .distance-list dd {
  font-size: 12.8px !important;
  line-height: 1.18 !important;
}

body .main-content[data-page="mappa"] .map-distance-card .distance-list dt {
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
}

/* Main map: functional POI pictograms */
body .main-content[data-page="mappa"] .sportia-poi-marker {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
}

body .main-content[data-page="mappa"] .sportia-poi-marker span {
  width: 24px !important;
  height: 24px !important;
  display: inline-grid !important;
  place-items: center !important;
  flex: 0 0 24px !important;
  border: 1px solid rgba(255,255,255,.95) !important;
  border-radius: 50% !important;
  color: #fff !important;
  background: #526070 !important;
  box-shadow: 0 8px 18px rgba(7, 20, 71, .16) !important;
}

body .main-content[data-page="mappa"] .sportia-poi-marker span svg {
  width: 13px !important;
  height: 13px !important;
  stroke-width: 1.9 !important;
}

body .main-content[data-page="mappa"] .sportia-poi-marker.center span {
  background: #071447 !important;
}

body .main-content[data-page="mappa"] .sportia-poi-marker.station span {
  background: #2868d8 !important;
}

body .main-content[data-page="mappa"] .sportia-poi-marker.park span {
  background: #168958 !important;
}

body .main-content[data-page="mappa"] .sportia-poi-marker strong {
  color: rgba(7, 20, 71, .68) !important;
  font-size: 11px !important;
  font-weight: 520 !important;
  line-height: 1 !important;
  text-shadow:
    0 1px 0 rgba(255,255,255,.96),
    0 -1px 0 rgba(255,255,255,.96),
    1px 0 0 rgba(255,255,255,.96),
    -1px 0 0 rgba(255,255,255,.96) !important;
}

body .main-content[data-page="mappa"] .sportia-poi-marker.park strong {
  color: rgba(20, 113, 67, .82) !important;
}

/* Network: collaboration donut as a light transparent overlay */
body .main-content[data-page="network"] .ecosystem-integrated {
  display: block !important;
  position: relative !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-map {
  min-height: 550px !important;
  padding: 34px 4px 2px !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-diagram {
  min-height: 510px !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel {
  position: absolute !important;
  right: 18px !important;
  top: 18px !important;
  bottom: auto !important;
  z-index: 5 !important;
  width: min(208px, 25%) !important;
  min-width: 194px !important;
  max-width: 208px !important;
  height: auto !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-rows: auto auto !important;
  gap: 5px !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  pointer-events: none !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel h3 {
  width: fit-content !important;
  margin: 0 0 0 auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: rgba(7, 20, 71, .78) !important;
  background: transparent !important;
  box-shadow: none !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.95), 0 -1px 0 rgba(255,255,255,.95), 1px 0 0 rgba(255,255,255,.95), -1px 0 0 rgba(255,255,255,.95) !important;
  font-size: 8.4px !important;
  font-weight: 580 !important;
  line-height: 1.1 !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .donut-module {
  display: grid !important;
  grid-template-columns: 54px minmax(0, 1fr) !important;
  align-items: end !important;
  gap: 4px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .donut-figure {
  width: 54px !important;
  max-width: 54px !important;
  justify-self: center !important;
  filter: drop-shadow(0 7px 15px rgba(17, 45, 82, .11)) !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .donut-center strong {
  font-size: 6.8px !important;
  line-height: 1.02 !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .donut-center span {
  font-size: 5px !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .donut-legend {
  display: grid !important;
  grid-template-columns: 1fr !important;
  align-self: end !important;
  gap: 2px !important;
  width: 100% !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .donut-legend li {
  grid-template-columns: 5px minmax(0, 1fr) 18px !important;
  gap: 1px !important;
  min-height: 10px !important;
  color: rgba(7, 20, 71, .84) !important;
  font-size: 6.7px !important;
  line-height: 1.05 !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.95), 0 -1px 0 rgba(255,255,255,.95), 1px 0 0 rgba(255,255,255,.95), -1px 0 0 rgba(255,255,255,.95) !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .donut-legend li p {
  padding-right: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .donut-legend li strong {
  min-width: 18px !important;
  text-align: right !important;
  font-size: 6.7px !important;
}

/* Network partner geography map: richer but still soft and readable */
body .main-content[data-page="network"] .network-geo-wide-card .detailed-partner-map {
  display: grid !important;
  grid-template-rows: minmax(0, 1fr) auto !important;
  gap: 8px !important;
}

body .main-content[data-page="network"] .network-geo-wide-card .partner-map-stats {
  position: static !important;
  inset: auto !important;
  z-index: auto !important;
  justify-self: end !important;
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  gap: 5px !important;
  max-width: 100% !important;
  padding: 0 !important;
  border-radius: 9px !important;
  pointer-events: auto !important;
}

body .main-content[data-page="network"] .network-geo-wide-card .partner-map-stats span {
  min-height: 24px !important;
  display: inline-flex !important;
  align-items: center !important;
  padding: 4px 8px !important;
  border: 1px solid rgba(221, 230, 240, .94) !important;
  border-radius: 7px !important;
  color: rgba(7, 20, 71, .76) !important;
  background: rgba(248, 250, 252, .95) !important;
  box-shadow: none !important;
  font-size: 9px !important;
  font-weight: 520 !important;
  line-height: 1 !important;
}

body .main-content[data-page="network"] .sportia-partner-pin span {
  width: 32px !important;
  height: 32px !important;
  display: grid !important;
  place-items: center !important;
  border: 2px solid rgba(255,255,255,.96) !important;
  border-radius: 50% !important;
  color: #fff !important;
  background: var(--sportia-green) !important;
  box-shadow: 0 9px 20px rgba(0, 108, 55, .22) !important;
  font-size: 11px !important;
  font-weight: 650 !important;
}

body .main-content[data-page="network"] .sportia-partner-pin.potential span {
  background: #2f7dc9 !important;
  box-shadow: 0 9px 20px rgba(47, 125, 201, .2) !important;
}

body .main-content[data-page="network"] .sportia-partner-link {
  stroke: rgba(0, 143, 70, .22);
  stroke-width: 1.5;
  stroke-linecap: round;
}

body .main-content[data-page="network"] .sportia-partner-link.potential {
  stroke: rgba(47, 125, 201, .26);
  stroke-dasharray: 5 7;
}

@media (max-width: 900px) {
  body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel {
    position: relative !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin-top: 10px !important;
  }

  body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel h3 {
    margin-right: 0 !important;
  }

  body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .donut-module {
    grid-template-columns: 86px minmax(0, 1fr) !important;
    background: rgba(255,255,255,.9) !important;
  }
}

/* Network lower tables: desktop must fit without horizontal scrolling */
@media (min-width: 901px) {
  body .main-content[data-page="network"] .content-grid.two {
    gap: 12px !important;
  }

  body .main-content[data-page="network"] .content-grid.two > .card {
    min-width: 0 !important;
    overflow: hidden !important;
  }

  body .main-content[data-page="network"] .content-grid.two .table-scroll {
    overflow-x: visible !important;
  }

  body .main-content[data-page="network"] .content-grid.two table {
    min-width: 0 !important;
    width: 100% !important;
    table-layout: fixed !important;
  }

  body .main-content[data-page="network"] .content-grid.two th,
  body .main-content[data-page="network"] .content-grid.two td {
    padding: 8px 6px !important;
    font-size: 10px !important;
    line-height: 1.18 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  body .main-content[data-page="network"] .content-grid.two th {
    font-size: 7.8px !important;
    letter-spacing: .01em !important;
  }

  body .main-content[data-page="network"] .content-grid.two .badge {
    min-height: 19px !important;
    padding: 2px 6px !important;
    font-size: 8.6px !important;
    white-space: nowrap !important;
  }

  body .main-content[data-page="network"] .content-grid.two .pipeline-scroll-control {
    display: none !important;
  }
}

/* Stable benchmark tabs: active state must never change height */
body .benchmark-tools {
  align-items: center !important;
}

body .benchmark-filter,
body .benchmark-filter:hover,
body .benchmark-filter:focus-visible,
body .benchmark-filter.active {
  box-sizing: border-box !important;
  height: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  transform: none !important;
}

/* Map page: right cards need more room and the same map language in modal */
body .main-content[data-page="mappa"] .map-layout {
  grid-template-columns: minmax(0, 1fr) 360px !important;
  gap: 18px !important;
}

body .main-content[data-page="mappa"] .map-layout > .stack {
  height: 570px !important;
  grid-template-rows: 350px minmax(210px, 1fr) !important;
  gap: 18px !important;
}

body .main-content[data-page="mappa"] .map-position-card {
  overflow: hidden !important;
}

body .main-content[data-page="mappa"] .map-position-list {
  gap: 14px !important;
  margin-top: 10px !important;
  padding-top: 0 !important;
}

body .main-content[data-page="mappa"] .map-position-list li {
  grid-template-columns: 24px minmax(0, 1fr) !important;
  gap: 10px !important;
  min-width: 0 !important;
  font-size: 13px !important;
  line-height: 1.28 !important;
  overflow-wrap: anywhere !important;
}

body .main-content[data-page="mappa"] .map-position-list svg {
  width: 20px !important;
  height: 20px !important;
}

body .main-content[data-page="mappa"] .map-distance-card .distance-list {
  gap: 5px !important;
}

body .main-content[data-page="mappa"] .map-distance-card .distance-list div {
  min-height: 28px !important;
  padding: 5px 0 !important;
  gap: 10px !important;
}

body .main-content[data-page="mappa"] .map-distance-card .distance-list dt,
body .main-content[data-page="mappa"] .map-distance-card .distance-list dd {
  font-size: 13px !important;
  line-height: 1.16 !important;
}

body .main-content[data-page="mappa"] .map-distance-card .distance-list dt {
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
}

body .main-content[data-page="mappa"] .map-distance-card .distance-list dd {
  white-space: nowrap !important;
}

body .map-modal-panel {
  border-radius: 10px !important;
  background: rgba(255, 255, 255, .985) !important;
}

body .map-modal-map .map-mock.map-live.large {
  border-radius: 8px !important;
  background:
    radial-gradient(circle at 78% 30%, rgba(194, 231, 202, .62), transparent 17%),
    radial-gradient(circle at 39% 87%, rgba(147, 210, 249, .52), transparent 31%),
    linear-gradient(180deg, #f5f8f7 0%, #edf3f3 54%, #b9e3fb 54%, #9bd0f4 100%) !important;
}

body .map-modal .map-live.leaflet-loaded .leaflet-tile-pane {
  filter: saturate(.68) contrast(.88) brightness(1.1) opacity(.86) !important;
}

body .map-modal .leaflet-control-zoom {
  margin-right: 20px !important;
  margin-bottom: 22px !important;
  overflow: hidden !important;
  border: 1px solid #dbe4ee !important;
  border-radius: 11px !important;
  background: rgba(255,255,255,.96) !important;
  box-shadow: 0 10px 24px rgba(19, 48, 86, .14) !important;
}

body .map-modal .leaflet-control-zoom a {
  width: 42px !important;
  height: 42px !important;
  line-height: 41px !important;
  border-color: #e3eaf2 !important;
  color: #071447 !important;
  background: rgba(255,255,255,.97) !important;
  font-size: 22px !important;
  font-weight: 420 !important;
}

body .map-live.leaflet-loaded .leaflet-control-zoom .map-expand-control,
body .map-modal .leaflet-control-zoom .map-expand-control {
  position: static !important;
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
  display: grid !important;
  place-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-top: 1px solid #e3eaf2 !important;
  border-radius: 0 !important;
  color: #071447 !important;
  background: rgba(255,255,255,.97) !important;
  box-shadow: none !important;
}

body .map-live.leaflet-loaded .leaflet-control-zoom .map-expand-control:hover,
body .map-modal .leaflet-control-zoom .map-expand-control:hover {
  color: var(--sportia-green-dark) !important;
  background: #f4fbf7 !important;
}

body .map-live.leaflet-loaded .leaflet-control-zoom .map-expand-control svg,
body .map-modal .leaflet-control-zoom .map-expand-control svg {
  width: 17px !important;
  height: 17px !important;
  stroke-width: 1.8 !important;
}

/* Map POI labels: icon and text should read as one compact label */
body .main-content[data-page="mappa"] .sportia-poi-marker,
body .map-modal .sportia-poi-marker {
  position: relative !important;
  display: block !important;
  width: 170px !important;
  height: 30px !important;
}

body .main-content[data-page="mappa"] .sportia-poi-marker span,
body .map-modal .sportia-poi-marker span {
  position: absolute !important;
  left: 0 !important;
  top: 3px !important;
  z-index: 2 !important;
  width: 24px !important;
  height: 24px !important;
}

body .main-content[data-page="mappa"] .sportia-poi-marker strong,
body .map-modal .sportia-poi-marker strong {
  position: absolute !important;
  left: 28px !important;
  top: 6px !important;
  max-width: 136px !important;
  padding: 2px 5px !important;
  border-radius: 5px !important;
  color: rgba(7, 20, 71, .72) !important;
  background: rgba(255,255,255,.58) !important;
  font-size: 10.2px !important;
  font-weight: 510 !important;
  line-height: 1.05 !important;
  white-space: nowrap !important;
  box-shadow: 0 3px 10px rgba(17, 45, 82, .04) !important;
}

body .main-content[data-page="mappa"] .sportia-poi-marker.station strong,
body .map-modal .sportia-poi-marker.station strong {
  top: -9px !important;
  left: -92px !important;
  text-align: right !important;
}

body .main-content[data-page="mappa"] .sportia-poi-marker.park strong,
body .map-modal .sportia-poi-marker.park strong {
  color: rgba(20, 113, 67, .88) !important;
}

/* Financial page right rail: keep regular card rhythm */
body .main-content[data-page="dati-finanziari"] .right-rail {
  height: auto !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  gap: 12px !important;
}

body .main-content[data-page="dati-finanziari"] .right-rail > .ai-card {
  margin-top: 0 !important;
  position: static !important;
  top: auto !important;
}

@media (max-width: 1180px) {
  body .main-content[data-page="mappa"] .map-layout {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body .main-content[data-page="mappa"] .map-layout > .stack {
    height: auto !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: none !important;
  }
}

@media (max-width: 720px) {
  body .main-content[data-page="mappa"] .map-layout > .stack {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Club header: keep the title block optically aligned with the logo mark */
body .club-profile,
body .club-profile.compact {
  align-items: start !important;
}

body .club-profile-main {
  align-self: start !important;
  padding-top: 10px !important;
}

body .club-profile.compact .club-profile-main {
  padding-top: 4px !important;
}

body .main-content[data-page="interventi-consigliati"] .club-profile.compact .club-profile-main {
  padding-top: 1px !important;
}

body .club-profile .title-row {
  align-items: center !important;
  min-height: 36px !important;
}

body .club-profile.compact .title-row {
  min-height: 32px !important;
}

/* Expanded map: same visual language as the embedded map, only larger */
body .map-modal-panel-clean {
  width: min(1180px, calc(100vw - 32px)) !important;
  max-height: min(820px, calc(100vh - 32px)) !important;
  display: block !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(221, 230, 240, .95) !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: 0 30px 80px rgba(7, 20, 71, .22) !important;
}

body .map-modal-close {
  position: absolute !important;
  right: 16px !important;
  top: 16px !important;
  z-index: 560 !important;
  width: 42px !important;
  height: 42px !important;
  display: grid !important;
  place-items: center !important;
  border: 1px solid #dbe4ee !important;
  border-radius: 11px !important;
  color: #071447 !important;
  background: rgba(255,255,255,.97) !important;
  box-shadow: 0 10px 24px rgba(19, 48, 86, .14) !important;
  font-size: 24px !important;
  line-height: 1 !important;
  cursor: pointer !important;
}

body .map-modal-close:hover {
  color: var(--sportia-green-dark) !important;
  background: #f4fbf7 !important;
}

body .map-modal-map {
  height: min(76vh, 720px) !important;
  min-height: 430px !important;
}

body .map-modal-map .map-mock,
body .map-modal-map .map-mock.map-live.large {
  height: 100% !important;
  min-height: 100% !important;
  border: 0 !important;
  border-radius: 8px !important;
}

body .map-modal .map-live.leaflet-loaded::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 402 !important;
  pointer-events: none !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .12), rgba(255, 255, 255, .03) 46%, rgba(183, 222, 248, .08)),
    radial-gradient(circle at 72% 38%, rgba(225, 244, 231, .2), transparent 20%) !important;
  mix-blend-mode: screen !important;
}

body .map-modal .map-actions {
  left: 22px !important;
  bottom: 24px !important;
  z-index: 520 !important;
  gap: 14px !important;
}

body .map-modal .map-actions a,
body .map-modal .map-actions button {
  min-height: 44px !important;
  padding: 0 18px !important;
  border: 1px solid #dbe4ef !important;
  border-radius: 9px !important;
  color: #163783 !important;
  background: rgba(255,255,255,.96) !important;
  box-shadow: 0 10px 20px rgba(17, 45, 82, .12) !important;
  font-size: 13px !important;
  font-weight: 520 !important;
}

/* General chart guardrails: keep legends readable inside tight cards */
body .donut-module,
body .donut-legend,
body .donut-legend li,
body .donut-legend li p {
  min-width: 0;
}

body .donut-legend li strong {
  font-variant-numeric: tabular-nums;
}

/* Network ecosystem legend: compact overlay, no donut/text collision */
body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel {
  position: absolute !important;
  top: 16px !important;
  right: 16px !important;
  bottom: auto !important;
  left: auto !important;
  z-index: 8 !important;
  width: 292px !important;
  min-width: 292px !important;
  max-width: 292px !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 8px 10px 9px !important;
  overflow: hidden !important;
  border: 1px solid rgba(221, 230, 240, .58) !important;
  border-radius: 10px !important;
  background: rgba(255, 255, 255, .76) !important;
  box-shadow: 0 12px 28px rgba(17, 45, 82, .075) !important;
  backdrop-filter: blur(8px) saturate(1.08) !important;
  pointer-events: none !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel h3 {
  width: 100% !important;
  margin: 0 0 5px !important;
  color: rgba(7, 20, 71, .84) !important;
  background: transparent !important;
  text-align: right !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.96) !important;
  font-size: 9.4px !important;
  font-weight: 620 !important;
  line-height: 1.1 !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .donut-module {
  display: grid !important;
  grid-template-columns: 58px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .donut-figure {
  width: 72px !important;
  min-width: 72px !important;
  max-width: 72px !important;
  height: 72px !important;
  min-height: 72px !important;
  max-height: 72px !important;
  justify-self: start !important;
  transform: translateX(-8px) !important;
  filter: drop-shadow(0 8px 16px rgba(17, 45, 82, .1)) !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .donut-figure svg {
  width: 72px !important;
  height: 72px !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .donut-center strong {
  font-size: 6.9px !important;
  line-height: 1.02 !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .donut-center span {
  font-size: 5.2px !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .donut-legend {
  display: grid !important;
  grid-template-columns: 1fr !important;
  align-self: center !important;
  gap: 3px !important;
  width: 100% !important;
  min-width: 0 !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .donut-legend li {
  display: grid !important;
  grid-template-columns: 6px max-content 22px !important;
  justify-content: end !important;
  align-items: center !important;
  gap: 3px !important;
  min-height: 11px !important;
  color: rgba(7, 20, 71, .84) !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.96) !important;
  font-size: 7.6px !important;
  line-height: 1.05 !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .donut-legend li span {
  width: 6px !important;
  height: 6px !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .donut-legend li p {
  max-width: 184px !important;
  padding-right: 0 !important;
  overflow: hidden !important;
  text-align: right !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .donut-legend li strong {
  min-width: 22px !important;
  color: rgba(7, 20, 71, .9) !important;
  text-align: right !important;
  font-size: 7.6px !important;
}

@media (max-width: 900px) {
  body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 8px 0 0 !important;
  }

  body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel h3 {
    text-align: left !important;
  }

  body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .donut-legend li {
    justify-content: start !important;
    grid-template-columns: 6px minmax(0, 1fr) 26px !important;
  }

  body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .donut-legend li p {
    max-width: none !important;
    text-align: left !important;
  }
}

/* Network ecosystem donut: stronger visual weight while keeping legend type unchanged */
body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .donut-figure {
  width: 88px !important;
  min-width: 88px !important;
  max-width: 88px !important;
  height: 88px !important;
  min-height: 88px !important;
  max-height: 88px !important;
  transform: translateX(-24px) !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel {
  overflow: visible !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .donut-figure svg {
  width: 88px !important;
  height: 88px !important;
}

@media (max-width: 900px) {
  body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .donut-figure {
    width: 78px !important;
    min-width: 78px !important;
    max-width: 78px !important;
    height: 78px !important;
    min-height: 78px !important;
    max-height: 78px !important;
    transform: none !important;
  }

  body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .donut-figure svg {
    width: 78px !important;
    height: 78px !important;
  }
}

/* Expanded maps: keep pictograms optically centered inside their circular marks */
body .map-modal .sportia-map-pin,
body .main-content[data-page="mappa"] .sportia-map-pin,
body .main-content[data-page="dashboard"] .sportia-map-pin {
  position: relative !important;
  transform-origin: 50% 50% !important;
}

body .map-modal .sportia-map-pin::after,
body .main-content[data-page="mappa"] .sportia-map-pin::after,
body .main-content[data-page="dashboard"] .sportia-map-pin::after {
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
}

body .map-modal .sportia-poi-marker span,
body .main-content[data-page="mappa"] .sportia-poi-marker span {
  display: grid !important;
  place-items: center !important;
}

body .map-modal .sportia-poi-marker span svg,
body .main-content[data-page="mappa"] .sportia-poi-marker span svg {
  display: block !important;
  margin: 0 !important;
  transform: translateZ(0) !important;
}

body .map-modal .sportia-partner-pin span,
body .main-content[data-page="network"] .sportia-partner-pin span {
  display: grid !important;
  place-items: center !important;
  text-align: center !important;
  line-height: 1 !important;
}

/* Editorial responsive refinements inspired by architecture portals: calmer motion, clearer cards */
body .card,
body .kpi-card,
body .media-card,
body .service-tile,
body .export-grid button {
  transition:
    transform .22s cubic-bezier(.2, .8, .2, 1),
    box-shadow .22s cubic-bezier(.2, .8, .2, 1),
    border-color .22s ease,
    background-color .22s ease,
    filter .22s ease !important;
}

@media (hover: hover) and (pointer: fine) {
  body .card:hover,
  body .kpi-card:hover {
    transform: translateY(-2px) !important;
    border-color: rgba(0, 143, 70, .22) !important;
    box-shadow: 0 18px 42px rgba(17, 45, 82, .08) !important;
  }

  body .media-card:hover img {
    transform: scale(1.035) !important;
  }

  body .outline-action:hover svg,
  body .ghost-button:hover svg,
  body .see-all:hover svg,
  body .action-card:hover button svg,
  body .quick-actions button:hover svg {
    transform: translateX(3px) !important;
  }
}

body .media-cover {
  overflow: hidden !important;
}

body .media-cover img {
  transition: transform .42s cubic-bezier(.2, .8, .2, 1), filter .22s ease !important;
}

body .page-tabs,
body .pill-tabs,
body .top-nav {
  min-width: 0;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x proximity;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

body .top-nav::-webkit-scrollbar {
  display: none;
}

body .page-tabs a,
body .pill-tabs button,
body .top-nav a {
  scroll-snap-align: start;
}

body .top-nav .admin-bridge-link {
  flex: 0 0 auto;
  font-size: 12px;
  font-weight: 620;
  letter-spacing: 0;
  white-space: nowrap;
}

body .top-nav .admin-bridge-link span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

body .top-nav .admin-bridge-data-panel {
  min-height: 28px;
  height: 28px;
  align-self: center;
  padding: 0 9px;
  border: 1px solid rgba(0, 143, 70, .26);
  border-radius: 999px;
  color: var(--sportia-green-dark);
  background: linear-gradient(135deg, rgba(234, 247, 239, .68), rgba(255, 255, 255, .96));
  box-shadow: 0 7px 16px rgba(7, 20, 71, .035);
  font-size: 11.5px;
  line-height: 1;
}

body .top-nav .admin-bridge-data-panel svg {
  width: 12px;
  height: 12px;
  flex: 0 0 12px;
  color: var(--sportia-green);
}

body .top-nav .admin-bridge-data-panel.active,
body .top-nav .admin-bridge-data-panel:hover,
body .top-nav .admin-bridge-data-panel:focus-visible {
  border-color: rgba(0, 143, 70, .44);
  background: #fff;
  box-shadow: 0 8px 18px rgba(0, 143, 70, .08);
}

body .top-nav .admin-bridge-data-panel.active span {
  color: var(--sportia-green-dark);
}

body .top-nav .admin-bridge-data-panel.active::after {
  display: none;
}

body .top-nav .admin-bridge-community-panel {
  min-height: 28px;
  height: 28px;
  align-self: center;
  padding: 0 9px;
  border: 1px solid rgba(200, 55, 104, .24);
  border-radius: 999px;
  color: #8c2548;
  background: linear-gradient(135deg, rgba(255, 239, 246, .72), rgba(255, 255, 255, .96));
  box-shadow: 0 7px 16px rgba(140, 37, 72, .04);
  font-size: 11.5px;
  line-height: 1;
}

body .top-nav .admin-bridge-community-panel svg {
  width: 12px;
  height: 12px;
  flex: 0 0 12px;
  color: #c83768;
}

body .top-nav .admin-bridge-community-panel.active,
body .top-nav .admin-bridge-community-panel:hover,
body .top-nav .admin-bridge-community-panel:focus-visible {
  border-color: rgba(200, 55, 104, .42);
  background: #fff;
  box-shadow: 0 8px 18px rgba(200, 55, 104, .09);
}

body .top-nav .admin-bridge-community-panel.active span {
  color: #8c2548;
}

body .top-nav .admin-bridge-community-panel.active::after {
  display: none;
}

body .top-nav .admin-bridge-marketplace-panel,
body .top-nav .admin-bridge-report-panel {
  min-height: 28px;
  height: 28px;
  align-self: center;
  padding: 0 9px;
  border-radius: 999px;
  font-size: 11.5px;
  line-height: 1;
}

body .top-nav .admin-bridge-marketplace-panel {
  border: 1px solid rgba(38, 104, 216, .22);
  color: #23519a;
  background: linear-gradient(135deg, rgba(236, 243, 255, .74), rgba(255, 255, 255, .96));
  box-shadow: 0 7px 16px rgba(35, 81, 154, .035);
}

body .top-nav .admin-bridge-marketplace-panel svg {
  width: 12px;
  height: 12px;
  flex: 0 0 12px;
  color: #2868d8;
}

body .top-nav .admin-bridge-marketplace-panel.active,
body .top-nav .admin-bridge-marketplace-panel:hover,
body .top-nav .admin-bridge-marketplace-panel:focus-visible {
  border-color: rgba(38, 104, 216, .4);
  background: #fff;
  box-shadow: 0 8px 18px rgba(38, 104, 216, .08);
}

body .top-nav .admin-bridge-marketplace-panel.active span {
  color: #23519a;
}

body .top-nav .admin-bridge-report-panel {
  border: 1px solid rgba(96, 70, 180, .22);
  color: #493c86;
  background: linear-gradient(135deg, rgba(243, 240, 255, .78), rgba(255, 255, 255, .96));
  box-shadow: 0 7px 16px rgba(73, 60, 134, .035);
}

body .top-nav .admin-bridge-report-panel svg {
  width: 12px;
  height: 12px;
  flex: 0 0 12px;
  color: #6046b4;
}

body .top-nav .admin-bridge-report-panel.active,
body .top-nav .admin-bridge-report-panel:hover,
body .top-nav .admin-bridge-report-panel:focus-visible {
  border-color: rgba(96, 70, 180, .4);
  background: #fff;
  box-shadow: 0 8px 18px rgba(96, 70, 180, .08);
}

body .top-nav .admin-bridge-report-panel.active span {
  color: #493c86;
}

body .top-nav .admin-bridge-marketplace-panel.active::after,
body .top-nav .admin-bridge-report-panel.active::after {
  display: none;
}

body .profile-summary-quicknav {
  display: grid;
  grid-template-columns: 1fr;
  gap: 6px;
  margin: 10px 0;
  padding: 9px;
  border: 1px solid rgba(16, 36, 65, .08);
  border-radius: 12px;
  background: #f7faf8;
}

body .profile-summary-quicknav a {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  padding: 7px 9px;
  border-radius: 9px;
  color: #2d3d4a;
  font-size: 12px;
  font-weight: 750;
  text-decoration: none;
}

body .profile-summary-quicknav a:hover,
body .profile-summary-quicknav a:focus-visible,
body .profile-summary-quicknav a.active {
  color: var(--sportia-green-dark);
  background: #fff;
  box-shadow: 0 8px 18px rgba(15, 47, 37, .06);
}

body .profile-summary-quicknav a[href*="/admin-home"] svg {
  color: #c83768;
}

body .profile-summary-quicknav .profile-summary-manage {
  border: 1px solid rgba(47, 113, 133, .16);
  color: #214454;
  background: linear-gradient(135deg, rgba(239, 247, 249, .9), #fff);
}

body .profile-summary-quicknav .profile-summary-manage svg {
  color: #2f7185;
}

body .profile-value-strip {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 0 0 18px;
  padding: 10px;
  border: 1px solid rgba(0, 143, 70, .12);
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(238, 248, 242, .92), rgba(255, 255, 255, .96));
}

body .profile-value-strip span,
body .profile-publish-benefits span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 28px;
  padding: 6px 9px;
  border-radius: 999px;
  background: #fff;
  color: #24473c;
  font-size: 11.5px;
  font-weight: 800;
  line-height: 1;
  box-shadow: 0 8px 18px rgba(15, 47, 37, .05);
}

body .profile-value-strip span svg,
body .profile-publish-benefits span svg {
  color: var(--sportia-green);
  flex: 0 0 auto;
}

body .profile-value-strip button {
  margin-left: auto;
  min-height: 30px;
  border: 0;
  border-radius: 999px;
  padding: 0 12px;
  background: var(--sportia-green);
  color: #fff;
  font-size: 11.5px;
  font-weight: 850;
  cursor: pointer;
}

body .profile-value-card {
  border-color: rgba(0, 143, 70, .16) !important;
  background: linear-gradient(145deg, #f7fbf8, #fff) !important;
}

body .profile-launch-card {
  border-color: rgba(7, 20, 71, .12) !important;
  background:
    radial-gradient(circle at 88% 12%, rgba(0, 143, 70, .12), transparent 34%),
    linear-gradient(145deg, #ffffff 0%, #f5faf7 100%) !important;
}

body .profile-launch-card small {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 8px;
  color: var(--sportia-green-dark);
  font-size: 11px;
  font-weight: 820;
  text-transform: uppercase;
  letter-spacing: .05em;
}

body .profile-launch-card h3 {
  margin: 0 0 7px;
  color: var(--navy);
  font-size: 17px;
  line-height: 1.12;
  font-weight: 850;
}

body .profile-launch-card p {
  margin: 0;
  color: var(--navy-muted);
  font-size: 12.5px;
  line-height: 1.45;
}

body .profile-launch-card div {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 12px;
}

body .profile-launch-card span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 6px 8px;
  border-radius: 999px;
  background: rgba(0, 143, 70, .08);
  color: var(--sportia-green-dark);
  font-size: 11px;
  font-weight: 760;
}

body .profile-value-card h3 {
  display: flex;
  align-items: center;
  gap: 7px;
}

body .profile-value-card ul {
  display: grid;
  gap: 8px;
  margin: 10px 0 20px;
  padding: 0;
  list-style: none;
}

body .profile-value-card li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  color: #2f453f;
  font-size: 12px;
  line-height: 1.35;
}

body .profile-value-card li svg {
  margin-top: 1px;
  color: var(--sportia-green);
  flex: 0 0 auto;
}

body .profile-value-card button {
  width: 100%;
  min-height: 34px;
  margin-top: 8px;
  border: 0;
  border-radius: 10px;
  background: var(--sportia-green);
  color: #fff;
  font-size: 12px;
  font-weight: 850;
  cursor: pointer;
}

body .profile-publish-benefits {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 10px 0;
}

@media (max-width: 760px) {
  body .profile-value-strip {
    align-items: stretch;
  }

  body .profile-value-strip span,
  body .profile-value-strip button {
    width: 100%;
    justify-content: center;
    margin-left: 0;
  }
}

@media (max-width: 1180px) {
  body .app-header {
    grid-template-columns: minmax(160px, var(--sidebar)) minmax(0, 1fr) auto !important;
  }

  body .top-nav {
    justify-content: flex-start !important;
    gap: 14px !important;
    mask-image: linear-gradient(90deg, #000 calc(100% - 30px), transparent);
  }

  body .top-nav .admin-bridge-link {
    font-size: 11.5px;
  }
}

body .top-nav .admin-bridge-link:hover span,
body .top-nav .admin-bridge-link:focus-visible span {
  color: var(--sportia-green-dark);
}

body .top-nav .admin-bridge-link.active span {
  color: var(--sportia-green);
}

body .top-nav .admin-bridge-link.active::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 3px;
  background: var(--sportia-green);
}

body .top-nav .admin-bridge-callback {
  height: 38px;
  align-self: center;
  padding: 0 13px;
  border: 1px solid rgba(0, 143, 70, .28);
  border-radius: 999px;
  color: var(--sportia-green-dark);
  background: rgba(234, 247, 239, .68);
}

body .top-nav .admin-bridge-callback::after {
  display: none !important;
}

body .top-nav .admin-bridge-callback:hover,
body .top-nav .admin-bridge-callback:focus-visible {
  border-color: rgba(0, 143, 70, .52);
  background: #fff;
  box-shadow: 0 8px 18px rgba(0, 143, 70, .1);
}

@media (max-width: 720px) {
  body .page-tabs,
  body .pill-tabs {
    padding-bottom: 4px !important;
    mask-image: linear-gradient(90deg, #000 calc(100% - 28px), transparent) !important;
  }

  body .media-grid,
  body .services-grid,
  body .export-grid {
    scroll-snap-type: x proximity;
  }

  body .media-card,
  body .service-tile,
  body .export-grid button {
    scroll-snap-align: start;
  }

  body .card:hover,
  body .kpi-card:hover {
    transform: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body .card,
  body .kpi-card,
  body .media-card,
  body .service-tile,
  body .export-grid button,
  body .media-cover img {
    transition: none !important;
  }
}

/* Market Insights benchmark tabs: fixed geometry like the Documenti category tabs */
body .main-content[data-page="market-insights"] .benchmark-tools {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 9px !important;
  min-height: 34px !important;
}

body .main-content[data-page="market-insights"] .benchmark-filter,
body .main-content[data-page="market-insights"] .benchmark-filter:hover,
body .main-content[data-page="market-insights"] .benchmark-filter:focus-visible,
body .main-content[data-page="market-insights"] .benchmark-filter.active,
body .main-content[data-page="market-insights"] .benchmark-filter[aria-pressed="true"] {
  box-sizing: border-box !important;
  width: auto !important;
  height: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 13px !important;
  border: 1px solid var(--border) !important;
  border-radius: 6px !important;
  line-height: 1 !important;
  font-size: 10.5px !important;
  font-weight: 520 !important;
  font-variation-settings: "wght" 520 !important;
  white-space: nowrap !important;
  transform: none !important;
  vertical-align: top !important;
}

body .main-content[data-page="market-insights"] .benchmark-filter.active,
body .main-content[data-page="market-insights"] .benchmark-filter[aria-pressed="true"] {
  color: var(--sportia-green-dark) !important;
  border-color: var(--sportia-green) !important;
  background: var(--sportia-green-soft) !important;
}

/* Foto & Video: editorial, responsive gallery treatment */
body .main-content[data-page="foto-video"] .editorial-media-card {
  overflow: hidden !important;
}

body .main-content[data-page="foto-video"] .media-source-note {
  margin: -2px 0 10px !important;
  color: #667793 !important;
  font-size: 10.5px !important;
  font-weight: 430 !important;
}

body .main-content[data-page="foto-video"] .media-gallery-toolbar {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 0 12px !important;
  min-height: 32px !important;
}

body .main-content[data-page="foto-video"] .media-gallery-toolbar button,
body .main-content[data-page="foto-video"] .media-gallery-toolbar button:hover,
body .main-content[data-page="foto-video"] .media-gallery-toolbar button:focus-visible,
body .main-content[data-page="foto-video"] .media-gallery-toolbar button.active {
  box-sizing: border-box !important;
  height: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 12px !important;
  border: 1px solid var(--border) !important;
  border-radius: 6px !important;
  color: var(--navy-muted) !important;
  background: #fff !important;
  font-size: 10.5px !important;
  font-weight: 500 !important;
  font-variation-settings: "wght" 500 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  transform: none !important;
}

body .main-content[data-page="foto-video"] .media-gallery-toolbar button.active {
  color: var(--sportia-green-dark) !important;
  border-color: rgba(0, 143, 70, .46) !important;
  background: var(--sportia-green-soft) !important;
}

body .main-content[data-page="foto-video"] .editorial-gallery {
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  grid-auto-rows: 138px !important;
  gap: 10px !important;
}

body .main-content[data-page="foto-video"] .editorial-gallery.video-gallery {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  grid-auto-rows: 152px !important;
}

body .main-content[data-page="foto-video"] .editorial-gallery .media-card {
  position: relative !important;
  display: grid !important;
  grid-template-rows: 1fr auto auto !important;
  min-height: 0 !important;
  border-color: rgba(218, 228, 238, .86) !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: 0 10px 24px rgba(23, 45, 77, .045) !important;
}

body .main-content[data-page="foto-video"] .editorial-gallery .media-card[hidden] {
  display: none !important;
}

body .main-content[data-page="foto-video"] .editorial-gallery .media-card:first-child {
  grid-column: span 2 !important;
  grid-row: span 2 !important;
}

body .main-content[data-page="foto-video"] .editorial-gallery.video-gallery .media-card:first-child {
  grid-column: span 2 !important;
  grid-row: span 1 !important;
}

body .main-content[data-page="foto-video"] .editorial-gallery .media-cover {
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
  border-radius: 7px 7px 0 0 !important;
}

body .main-content[data-page="foto-video"] .editorial-gallery .media-cover::after {
  height: 64% !important;
  background: linear-gradient(180deg, transparent 12%, rgba(6, 18, 46, .12) 55%, rgba(6, 18, 46, .38) 100%) !important;
}

body .main-content[data-page="foto-video"] .editorial-gallery .media-cover img {
  transition:
    transform .5s cubic-bezier(.2, .8, .2, 1),
    filter .34s ease !important;
}

@media (hover: hover) and (pointer: fine) {
  body .main-content[data-page="foto-video"] .editorial-gallery .media-card:hover .media-cover img {
    transform: scale(1.035) !important;
    filter: saturate(1.1) contrast(1.03) !important;
  }
}

body .main-content[data-page="foto-video"] .editorial-gallery .media-card strong {
  padding: 8px 10px 0 !important;
  color: var(--navy) !important;
  font-size: 11.3px !important;
  font-weight: 590 !important;
  font-variation-settings: "wght" 590 !important;
  line-height: 1.2 !important;
}

body .main-content[data-page="foto-video"] .editorial-gallery .media-card span {
  padding: 3px 10px 9px !important;
  color: #62728e !important;
  font-size: 9.8px !important;
  font-weight: 430 !important;
}

body .main-content[data-page="foto-video"] .editorial-gallery .media-card:first-child strong {
  font-size: 13px !important;
}

body .main-content[data-page="foto-video"] .editorial-gallery .media-card:first-child::after {
  content: "Featured";
  position: absolute;
  left: 10px;
  top: 10px;
  z-index: 3;
  padding: 5px 8px;
  border: 1px solid rgba(255, 255, 255, .48);
  border-radius: 999px;
  color: #fff;
  background: rgba(7, 20, 71, .36);
  backdrop-filter: blur(7px);
  font-size: 9px;
  font-weight: 560;
}

body .main-content[data-page="foto-video"] .editorial-gallery .play-badge {
  width: 42px !important;
  height: 42px !important;
  display: grid !important;
  place-items: center !important;
  border: 1px solid rgba(255, 255, 255, .55) !important;
  border-radius: 50% !important;
  background: rgba(7, 20, 71, .32) !important;
  backdrop-filter: blur(7px) !important;
}

body .main-content[data-page="foto-video"] .editorial-gallery .play-badge svg {
  width: 30px !important;
  height: 30px !important;
}

@media (max-width: 1180px) {
  body .main-content[data-page="foto-video"] .editorial-gallery,
  body .main-content[data-page="foto-video"] .editorial-gallery.video-gallery {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-auto-rows: 150px !important;
  }
}

@media (max-width: 760px) {
  body .main-content[data-page="foto-video"] .media-gallery-toolbar {
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    padding-bottom: 2px !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
  }

  body .main-content[data-page="foto-video"] .media-gallery-toolbar::-webkit-scrollbar {
    display: none !important;
  }

  body .main-content[data-page="foto-video"] .editorial-gallery,
  body .main-content[data-page="foto-video"] .editorial-gallery.video-gallery {
    display: flex !important;
    gap: 10px !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
  }

  body .main-content[data-page="foto-video"] .editorial-gallery::-webkit-scrollbar {
    display: none !important;
  }

  body .main-content[data-page="foto-video"] .editorial-gallery .media-card,
  body .main-content[data-page="foto-video"] .editorial-gallery .media-card:first-child,
  body .main-content[data-page="foto-video"] .editorial-gallery.video-gallery .media-card:first-child {
    flex: 0 0 min(78vw, 292px) !important;
    display: grid !important;
    grid-column: auto !important;
    grid-row: auto !important;
    min-height: 226px !important;
    scroll-snap-align: start !important;
  }

  body .main-content[data-page="foto-video"] .editorial-gallery .media-card[hidden] {
    display: none !important;
  }
}

/* Network ecosystem donut: transparent overlay, larger chart, fully inside the map card */
body .main-content[data-page="network"] .ecosystem-card,
body .main-content[data-page="network"] .ecosystem-integrated,
body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-map {
  overflow: hidden !important;
}

body .main-content[data-page="network"] .ecosystem-integrated {
  position: relative !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel {
  position: absolute !important;
  top: 16px !important;
  right: 16px !important;
  bottom: auto !important;
  left: auto !important;
  z-index: 9 !important;
  box-sizing: border-box !important;
  width: min(370px, calc(100% - 32px)) !important;
  min-width: 0 !important;
  max-width: 370px !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel h3 {
  margin: 0 0 5px !important;
  padding: 0 !important;
  color: rgba(7, 20, 71, .82) !important;
  background: transparent !important;
  text-align: right !important;
  text-shadow: 0 1px 0 rgba(255, 255, 255, .86) !important;
  font-size: 9.5px !important;
  font-weight: 560 !important;
  line-height: 1.1 !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .donut-module {
  display: grid !important;
  grid-template-columns: 116px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 8px !important;
  width: 100% !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .donut-figure {
  width: 116px !important;
  min-width: 116px !important;
  max-width: 116px !important;
  height: 116px !important;
  min-height: 116px !important;
  max-height: 116px !important;
  justify-self: end !important;
  transform: none !important;
  filter: drop-shadow(0 10px 18px rgba(17, 45, 82, .12)) !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .donut-figure svg {
  width: 116px !important;
  height: 116px !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .donut-center strong {
  font-size: 8.8px !important;
  line-height: 1.02 !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .donut-center span {
  font-size: 6.2px !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .donut-legend {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 3px !important;
  min-width: 0 !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .donut-legend li {
  display: grid !important;
  grid-template-columns: 7px minmax(76px, 1fr) 24px !important;
  align-items: center !important;
  gap: 4px !important;
  min-height: 12px !important;
  color: rgba(7, 20, 71, .82) !important;
  text-shadow: 0 1px 0 rgba(255, 255, 255, .86) !important;
  font-size: 7.6px !important;
  line-height: 1.05 !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .donut-legend li span {
  width: 7px !important;
  height: 7px !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .donut-legend li p {
  max-width: none !important;
  overflow: hidden !important;
  text-align: right !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .donut-legend li strong {
  min-width: 24px !important;
  text-align: right !important;
  font-size: 7.6px !important;
}

@media (max-width: 900px) {
  body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    width: 100% !important;
    max-width: none !important;
    margin: 10px 0 0 !important;
  }

  body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel h3 {
    text-align: left !important;
  }
}

@media (max-width: 540px) {
  body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .donut-module {
    grid-template-columns: 96px minmax(0, 1fr) !important;
  }

  body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .donut-figure,
  body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .donut-figure svg {
    width: 96px !important;
    min-width: 96px !important;
    max-width: 96px !important;
    height: 96px !important;
    min-height: 96px !important;
    max-height: 96px !important;
  }
}

/* Final gallery, benchmark and ecosystem alignment pass */
body .main-content[data-page="foto-video"] .editorial-media-card,
body .main-content[data-page="foto-video"] .card:has(.editorial-gallery) {
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
}

body .main-content[data-page="foto-video"] .editorial-media-card .card-title,
body .main-content[data-page="foto-video"] .editorial-media-card .media-source-note,
body .main-content[data-page="foto-video"] .editorial-media-card .media-gallery-toolbar,
body .main-content[data-page="foto-video"] .editorial-media-card .editorial-gallery {
  margin-left: 0 !important;
  padding-left: 0 !important;
}

body .main-content[data-page="foto-video"] .media-gallery-toolbar {
  margin-top: 2px !important;
  margin-bottom: 12px !important;
}

body .main-content[data-page="foto-video"] .editorial-gallery {
  grid-auto-rows: 156px !important;
  overflow: visible !important;
}

body .main-content[data-page="foto-video"] .editorial-gallery.video-gallery {
  grid-auto-rows: 166px !important;
}

body .main-content[data-page="foto-video"] .editorial-gallery .media-card {
  min-height: 192px !important;
  overflow: hidden !important;
}

body .main-content[data-page="foto-video"] .editorial-gallery .media-card:first-child {
  min-height: 344px !important;
}

body .main-content[data-page="foto-video"] .editorial-gallery.video-gallery .media-card:first-child {
  min-height: 206px !important;
}

body .main-content[data-page="foto-video"] .editorial-gallery .media-cover {
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 4 / 3 !important;
}

body .main-content[data-page="foto-video"] .editorial-gallery .media-card:first-child .media-cover {
  aspect-ratio: 16 / 10 !important;
}

body .main-content[data-page="foto-video"] .media-cover img,
body .gallery-modal .media-cover img {
  width: 300% !important;
  max-width: none !important;
  height: auto !important;
  min-height: 200% !important;
  object-fit: contain !important;
}

body .main-content[data-page="foto-video"] .media-cover.clay img,
body .main-content[data-page="foto-video"] .media-cover.lake img,
body .main-content[data-page="foto-video"] .media-cover.house img,
body .gallery-modal .media-cover.clay img,
body .gallery-modal .media-cover.lake img,
body .gallery-modal .media-cover.house img {
  top: 0 !important;
  bottom: auto !important;
}

body .main-content[data-page="foto-video"] .media-cover.event img,
body .main-content[data-page="foto-video"] .media-cover.academy img,
body .main-content[data-page="foto-video"] .media-cover.team img,
body .main-content[data-page="foto-video"] .media-cover.sunset img,
body .gallery-modal .media-cover.event img,
body .gallery-modal .media-cover.academy img,
body .gallery-modal .media-cover.team img,
body .gallery-modal .media-cover.sunset img {
  top: auto !important;
  bottom: 0 !important;
}

body .main-content[data-page="foto-video"] .editorial-media-card .see-all {
  position: relative !important;
  inset: auto !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  z-index: 20 !important;
  width: fit-content !important;
  min-height: 36px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  margin: 24px 0 0 auto !important;
  padding: 0 14px !important;
  float: none !important;
  clear: both !important;
}

body .gallery-modal {
  position: fixed;
  inset: 0;
  z-index: 2400;
  display: grid;
  place-items: center;
  padding: clamp(14px, 3vw, 28px);
}

body .gallery-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(7, 20, 71, .42);
  backdrop-filter: blur(10px);
}

body .gallery-modal-panel {
  position: relative;
  z-index: 1;
  width: min(1180px, 100%);
  max-height: min(820px, 92vh);
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  border: 1px solid rgba(221, 230, 240, .9);
  border-radius: 14px;
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 28px 90px rgba(7, 20, 71, .2);
  overflow: hidden;
}

body .gallery-modal-panel header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px 14px;
  border-bottom: 1px solid var(--border);
}

body .gallery-modal-panel header span {
  color: var(--sportia-green);
  font-size: 10px;
  font-weight: 620;
  letter-spacing: .08em;
}

body .gallery-modal-panel header h2 {
  margin: 4px 0 4px;
  color: var(--navy);
  font-size: clamp(24px, 3vw, 34px);
  font-weight: 690;
  line-height: 1;
}

body .gallery-modal-panel header p {
  margin: 0;
  color: #667793;
  font-size: 12px;
  font-weight: 430;
}

body .gallery-modal-close {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid var(--border);
  border-radius: 50%;
  color: var(--navy);
  background: #fff;
  font-size: 24px;
  line-height: 1;
}

body .gallery-modal-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  padding: 16px;
  overflow: auto;
}

body .gallery-modal-grid .media-card {
  display: grid;
  grid-template-rows: auto auto auto;
  min-height: 0;
  border: 1px solid var(--border);
  border-radius: 9px;
  background: #fff;
  overflow: hidden;
}

body .gallery-modal-grid .media-cover {
  aspect-ratio: 4 / 3;
  height: auto;
}

body .gallery-modal-grid .media-card strong {
  padding: 10px 11px 0;
  font-size: 12px;
  font-weight: 590;
}

body .gallery-modal-grid .media-card span {
  padding: 4px 11px 11px;
  color: #64748b;
  font-size: 10.5px;
}

@media (max-width: 980px) {
  body .gallery-modal-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  body .gallery-modal {
    padding: 10px;
  }

  body .gallery-modal-grid {
    grid-template-columns: 1fr;
  }
}

/* Public Come Funziona page */
.how-hero {
  display: grid;
  grid-template-columns: minmax(320px, .78fr) minmax(560px, 1.22fr);
  gap: clamp(28px, 5vw, 74px);
  align-items: center;
  min-height: calc(100vh - 96px);
  padding: clamp(44px, 6vw, 82px) 0 44px;
}

.how-copy h1 {
  margin: 22px 0 18px;
  max-width: 720px;
  color: var(--navy);
  font-size: clamp(42px, 5.1vw, 76px);
  font-weight: 710;
  letter-spacing: -.02em;
  line-height: 1.01;
}

.how-copy p {
  max-width: 590px;
  margin: 0 0 26px;
  color: #33415f;
  font-size: 18px;
  font-weight: 410;
  line-height: 1.75;
}

.how-preview {
  position: relative;
  display: grid;
  gap: 18px;
  min-width: 0;
}

.how-preview::before {
  content: "";
  position: absolute;
  inset: -34px -24px auto auto;
  width: 240px;
  height: 300px;
  opacity: .35;
  background:
    radial-gradient(circle at 18% 16%, rgba(0, 143, 70, .46) 0 3px, transparent 4px),
    radial-gradient(circle at 82% 8%, rgba(0, 143, 70, .36) 0 2px, transparent 3px),
    radial-gradient(circle at 54% 48%, rgba(0, 143, 70, .38) 0 2px, transparent 3px),
    linear-gradient(28deg, transparent 19%, rgba(0, 143, 70, .18) 20% 20.5%, transparent 21%),
    linear-gradient(128deg, transparent 35%, rgba(0, 143, 70, .16) 36% 36.4%, transparent 37%);
  pointer-events: none;
}

.how-flow-rail {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  padding: 0 12px;
}

.how-flow-rail::before {
  content: "";
  position: absolute;
  left: 10%;
  right: 10%;
  top: 18px;
  border-top: 1px dashed rgba(0, 143, 70, .45);
}

.how-flow-rail div {
  position: relative;
  display: grid;
  justify-items: center;
  gap: 8px;
  text-align: center;
  color: var(--navy);
  font-size: 12px;
  font-weight: 620;
  line-height: 1.25;
}

.how-flow-rail b {
  z-index: 1;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: var(--sportia-green);
  box-shadow: 0 10px 24px rgba(0, 143, 70, .2);
}

.how-app-window {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr) 154px;
  gap: 0;
  min-height: 420px;
  border: 1px solid rgba(221, 230, 240, .95);
  border-radius: 18px;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 28px 80px rgba(7, 20, 71, .12);
  overflow: hidden;
}

.how-app-window > aside:first-child {
  display: grid;
  align-content: start;
  gap: 10px;
  padding: 20px 14px;
  border-right: 1px solid #edf2f7;
  background: linear-gradient(180deg, #fbfdfc, #f5fbf8);
}

.how-app-window > aside:first-child img {
  width: 100px;
  height: auto;
  margin-bottom: 8px;
}

.how-app-window > aside:first-child span {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  padding: 0 10px;
  border-radius: 8px;
  color: var(--navy);
  font-size: 12px;
  font-weight: 560;
}

.how-app-window > aside:first-child span.active {
  color: var(--sportia-green);
  background: var(--sportia-green-soft);
}

.how-app-window > section {
  min-width: 0;
  padding: 20px;
}

.how-window-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.how-window-top h2,
.how-opportunity-list h3 {
  margin: 0;
  color: var(--navy);
  font-size: 18px;
  font-weight: 690;
}

.how-window-top button,
.how-opportunity-list button {
  border: 1px solid #cfe9dc;
  border-radius: 999px;
  color: var(--sportia-green);
  background: #f6fcf8;
  font-size: 11px;
  font-weight: 650;
}

.how-window-kpis {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 16px;
}

.how-window-kpis .public-metric {
  min-height: 88px;
  align-items: start;
  padding: 12px;
}

.how-opportunity-list {
  display: grid;
  gap: 10px;
}

.how-opportunity-list article {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 9px;
  border: 1px solid #edf2f7;
  border-radius: 12px;
  background: #fff;
}

.how-opportunity-list article > span {
  width: 58px;
  height: 42px;
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(0, 143, 70, .18), rgba(40, 104, 216, .14)),
    url("/public/assets/gallery/clay.png") center / cover;
}

.how-opportunity-list strong,
.how-opportunity-list small {
  display: block;
  min-width: 0;
}

.how-opportunity-list strong {
  color: var(--navy);
  font-size: 12px;
  font-weight: 650;
}

.how-opportunity-list small {
  margin-top: 3px;
  color: #637089;
  font-size: 10.5px;
  font-weight: 430;
}

.how-ai-panel {
  display: grid;
  align-content: start;
  gap: 10px;
  padding: 18px 14px;
  border-left: 1px solid #edf2f7;
  background: #fbfdfc;
}

.how-ai-panel h3 {
  margin: 0;
  color: var(--navy);
  font-size: 15px;
  font-weight: 700;
}

.how-ai-panel p {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  color: var(--sportia-green);
  font-size: 11px;
  font-weight: 600;
}

.how-ai-panel strong {
  color: var(--navy);
  font-size: 32px;
  font-weight: 720;
  line-height: 1;
}

.how-ai-panel > span {
  color: #64748b;
  font-size: 11px;
  line-height: 1.35;
}

.how-ai-panel svg {
  width: 100%;
  height: 72px;
  overflow: visible;
}

.how-ai-panel svg path {
  fill: none;
  stroke: var(--sportia-green);
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.how-ai-panel svg circle {
  fill: var(--sportia-green);
}

.how-match-ring {
  width: 104px;
  height: 104px;
  display: grid;
  place-items: center;
  justify-self: center;
  border-radius: 50%;
  background: conic-gradient(var(--sportia-green) 0 92%, #e7eef6 92% 100%);
}

.how-match-ring::before {
  content: "";
  position: absolute;
}

.how-match-ring b,
.how-match-ring small {
  grid-area: 1 / 1;
  z-index: 1;
}

.how-match-ring b {
  margin-top: -14px;
  color: var(--sportia-green);
  font-size: 22px;
}

.how-match-ring small {
  margin-top: 32px;
  color: #5c6b82;
  font-size: 9px;
}

.how-match-ring::after {
  content: "";
  grid-area: 1 / 1;
  width: 78px;
  height: 78px;
  border-radius: 50%;
  background: #fff;
}

.how-section {
  padding-block: 34px;
}

.how-step-grid,
.how-audience-grid,
.how-faq-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.how-step-card {
  position: relative;
  display: grid;
  align-content: start;
  gap: 14px;
  min-height: 250px;
  padding: 24px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 18px 50px rgba(7, 20, 71, .045);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.how-step-card:hover,
.how-feature-card:hover,
.how-faq-card:hover {
  transform: translateY(-3px);
  border-color: rgba(0, 143, 70, .28);
  box-shadow: 0 22px 58px rgba(7, 20, 71, .075);
}

.how-step-card b {
  position: absolute;
  top: 18px;
  left: 18px;
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: var(--sportia-green);
  font-size: 13px;
}

.how-step-card .metric-icon {
  margin-top: 28px;
}

.how-step-card h3,
.how-feature-card h3,
.how-faq-card h3 {
  margin: 0;
  color: var(--navy);
  font-size: 18px;
  font-weight: 690;
  line-height: 1.18;
}

.how-step-card p,
.how-feature-card p,
.how-faq-card p {
  margin: 0;
  color: #53627a;
  font-size: 14px;
  font-weight: 410;
  line-height: 1.65;
}

.how-step-card a {
  align-self: end;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: auto;
  color: var(--sportia-green);
  font-size: 13px;
  font-weight: 660;
  text-decoration: none;
}

.how-feature-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.how-feature-card {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 18px;
  min-height: 152px;
  padding: 24px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 16px 45px rgba(7, 20, 71, .04);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.how-feature-card > span {
  width: 64px;
  height: 64px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--sportia-green);
  background: var(--sportia-green-soft);
}

.how-faq-card {
  display: grid;
  gap: 10px;
  min-height: 150px;
  padding: 22px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: #fff;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.how-faq-card h3 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.how-faq-card h3 span {
  color: var(--sportia-green);
  transform: rotate(180deg);
}

.how-cta {
  grid-template-columns: 94px minmax(0, 1fr) auto;
  align-items: center;
  background:
    radial-gradient(circle at 18% 50%, rgba(0, 143, 70, .26), transparent 34%),
    linear-gradient(135deg, #003d2b, #041b27);
}

.how-cta-badge {
  width: 74px;
  height: 74px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  background: rgba(255, 255, 255, .92);
}

.how-cta-badge img {
  width: 56px;
  height: auto;
}

.how-cta h2,
.how-cta p,
.how-cta small {
  color: #fff;
}

.how-cta p {
  opacity: .82;
}

.how-cta-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  flex-wrap: wrap;
}

.how-cta .public-secondary {
  border-color: rgba(255, 255, 255, .58);
  color: #fff;
  background: rgba(255, 255, 255, .08);
}

@media (max-width: 1180px) {
  .how-hero {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .how-copy h1,
  .how-copy p {
    max-width: 820px;
  }

  .how-step-grid,
  .how-audience-grid,
  .how-faq-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 880px) {
  .how-app-window {
    grid-template-columns: 128px minmax(0, 1fr);
  }

  .how-ai-panel {
    grid-column: 1 / -1;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: center;
    border-left: 0;
    border-top: 1px solid #edf2f7;
  }

  .how-ai-panel svg {
    height: 56px;
  }

  .how-match-ring {
    width: 88px;
    height: 88px;
  }

  .how-match-ring::after {
    width: 66px;
    height: 66px;
  }

  .how-feature-grid {
    grid-template-columns: 1fr;
  }

  .how-cta {
    grid-template-columns: 76px minmax(0, 1fr);
  }

  .how-cta-actions {
    grid-column: 1 / -1;
    justify-content: flex-start;
  }
}

@media (max-width: 680px) {
  .how-hero {
    padding-top: 28px;
  }

  .how-copy h1 {
    font-size: clamp(34px, 11vw, 48px);
  }

  .how-copy p {
    font-size: 16px;
  }

  .how-flow-rail {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 10px;
    padding: 0;
  }

  .how-flow-rail::before {
    display: none;
  }

  .how-app-window {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .how-app-window > aside:first-child {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-right: 0;
    border-bottom: 1px solid #edf2f7;
  }

  .how-app-window > aside:first-child img {
    grid-column: 1 / -1;
  }

  .how-window-kpis,
  .how-ai-panel,
  .how-step-grid,
  .how-audience-grid,
  .how-faq-grid {
    grid-template-columns: 1fr;
  }

  .how-opportunity-list article {
    grid-template-columns: 46px minmax(0, 1fr);
  }

  .how-opportunity-list article > span {
    width: 46px;
    height: 42px;
  }

  .how-opportunity-list button {
    grid-column: 2;
    justify-self: start;
  }

  .how-step-card {
    min-height: 0;
  }

  .how-feature-card {
    grid-template-columns: 56px minmax(0, 1fr);
    padding: 20px;
  }

  .how-feature-card > span {
    width: 52px;
    height: 52px;
  }

  .how-cta {
    grid-template-columns: 1fr;
  }

  .how-cta-badge {
    width: 68px;
    height: 68px;
  }

  .how-cta-actions,
  .how-cta-actions .public-primary,
  .how-cta-actions .public-secondary {
    width: 100%;
  }
}

/* Public Marketplace page */
.marketplace-hero {
  display: grid;
  grid-template-columns: minmax(320px, .78fr) minmax(540px, 1.22fr);
  gap: clamp(28px, 5vw, 76px);
  align-items: center;
  min-height: calc(100vh - 96px);
  padding: clamp(42px, 6vw, 72px) 0 38px;
}

.marketplace-copy h1 {
  margin: 22px 0 18px;
  max-width: 700px;
  color: var(--navy);
  font-size: clamp(42px, 5.1vw, 76px);
  line-height: 1;
  font-weight: 760;
}

.marketplace-copy h1::first-line {
  color: var(--navy);
}

.marketplace-copy p {
  max-width: 560px;
  color: var(--navy-muted);
  font-size: 16px;
  line-height: 1.68;
}

.marketplace-board {
  display: grid;
  gap: 12px;
  min-height: 560px;
  padding: 18px;
  border: 1px solid rgba(221, 230, 240, .95);
  border-radius: 8px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 24px 54px rgba(7, 20, 71, .12);
}

.marketplace-search-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 92px;
  gap: 10px;
}

.marketplace-search-row label {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 0 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  color: var(--navy-muted);
  background: #fff;
}

.marketplace-search-row input {
  min-width: 0;
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--navy);
  font: inherit;
}

.marketplace-search-row button,
.marketplace-filter-row button,
.market-section .section-heading.row button {
  min-height: 42px;
  border: 1px solid var(--border);
  border-radius: 8px;
  color: var(--navy);
  background: #fff;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}

.marketplace-search-row button {
  border-color: var(--sportia-green);
  color: #fff;
  background: var(--sportia-green);
}

.marketplace-filter-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.marketplace-filter-row button {
  min-height: 34px;
  padding: 0 11px;
}

.marketplace-board-grid {
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  gap: 16px;
  min-height: 0;
}

.marketplace-board-grid aside {
  display: grid;
  align-content: start;
  gap: 10px;
  padding: 10px 14px 0 0;
  border-right: 1px solid var(--border);
}

.marketplace-board-grid aside strong,
.marketplace-board-grid section h2 {
  margin: 0;
  color: var(--navy);
  font-size: 13px;
}

.marketplace-board-grid aside span,
.marketplace-board-grid aside label {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--navy-muted);
  font-size: 12px;
  line-height: 1.25;
}

.marketplace-board-grid aside span svg {
  color: var(--sportia-green);
}

.marketplace-board-grid aside label small {
  margin-left: auto;
}

.marketplace-board-grid section {
  display: grid;
  align-content: start;
  gap: 10px;
}

.market-list-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 112px;
  gap: 12px;
  min-height: 128px;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fff;
}

.market-list-item span,
.market-opportunity-media span {
  display: inline-flex;
  align-items: center;
  width: max-content;
  min-height: 22px;
  padding: 0 8px;
  border-radius: 999px;
  color: var(--sportia-green-dark);
  background: var(--sportia-green-soft);
  font-size: 10px;
  font-weight: 780;
}

.market-list-item span.purple,
.market-opportunity-media span.purple {
  color: #6B5DD3;
  background: rgba(107,93,211,.12);
}

.market-list-item span.blue,
.market-opportunity-media span.blue {
  color: #2868D8;
  background: rgba(40,104,216,.12);
}

.market-list-item span.orange,
.market-opportunity-media span.orange {
  color: #C96B00;
  background: rgba(245,166,35,.16);
}

.market-list-item h3,
.market-opportunity-card h3 {
  margin: 7px 0 3px;
  color: var(--navy);
  font-size: 15px;
  line-height: 1.25;
}

.market-list-item p,
.market-location {
  display: flex;
  align-items: center;
  gap: 5px;
  margin: 0;
  color: var(--navy-muted);
  font-size: 12px;
}

.market-list-item small {
  display: block;
  margin-top: 8px;
  color: var(--navy-muted);
  font-size: 12px;
  line-height: 1.45;
}

.market-list-item aside {
  display: grid;
  align-content: space-between;
  justify-items: end;
  gap: 12px;
}

.market-list-item aside b {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 9px;
  border-radius: 999px;
  color: var(--sportia-green-dark);
  background: var(--sportia-green-soft);
  font-size: 10px;
}

.market-list-item aside strong,
.market-opportunity-meta strong {
  color: var(--navy);
  font-size: 12px;
  text-align: right;
}

.market-section {
  padding-top: 34px;
  padding-bottom: 34px;
}

.market-section .section-heading {
  margin-bottom: 20px;
}

.market-section .section-heading.row button {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 0;
  color: var(--sportia-green-dark);
  background: transparent;
}

.market-category-grid,
.market-popular-grid,
.market-opportunity-grid,
.market-how-grid {
  display: grid;
  gap: 14px;
}

.market-category-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.market-popular-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.market-opportunity-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-items: stretch;
}

.market-category-card,
.market-opportunity-card,
.market-how-grid article {
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(7,20,71,.035);
}

.market-category-card {
  display: grid;
  justify-items: center;
  align-content: start;
  min-height: 190px;
  padding: 22px 14px;
  text-align: center;
  cursor: pointer;
}

.market-category-card.compact {
  min-height: 98px;
  padding: 16px 12px;
}

.market-category-card .metric-icon {
  margin-bottom: 12px;
}

.market-category-card h3 {
  margin: 0 0 8px;
  color: var(--navy);
  font-size: 14px;
  line-height: 1.25;
}

.market-category-card.compact h3 {
  margin-bottom: 0;
}

.market-category-card p {
  margin: 0;
  color: var(--navy-muted);
  font-size: 12px;
  line-height: 1.5;
}

.market-opportunity-card {
  display: grid;
  grid-template-rows: 128px minmax(0, 1fr);
  height: 100%;
  overflow: hidden;
}

.market-opportunity-media {
  position: relative;
  height: 128px;
  overflow: hidden;
}

.market-opportunity-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.market-opportunity-media span {
  position: absolute;
  left: 10px;
  top: 10px;
}

.market-opportunity-body {
  display: grid;
  grid-template-rows: auto auto minmax(64px, 1fr) auto auto;
  align-content: stretch;
  gap: 9px;
  min-height: 0;
  height: 100%;
  padding: 12px;
}

.market-opportunity-body > p:not(.market-location) {
  margin: 0;
  color: var(--navy-muted);
  font-size: 12px;
  line-height: 1.45;
}

.market-opportunity-meta {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  color: var(--navy-muted);
  font-size: 11px;
}

.market-opportunity-body button {
  align-self: end;
  min-height: 34px;
  border: 1px solid rgba(0,143,70,.34);
  border-radius: 8px;
  color: var(--sportia-green-dark);
  background: #fff;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}

.market-how-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.market-how-grid article {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  padding: 28px;
}

.market-how-grid article > span {
  display: grid;
  place-items: center;
  width: 92px;
  height: 92px;
  border-radius: 50%;
  color: var(--sportia-green);
  background: var(--sportia-green-soft);
}

.market-how-grid h3 {
  margin: 0 0 10px;
  font-size: 18px;
}

.market-how-grid ul {
  display: grid;
  gap: 6px;
  margin: 0 0 16px;
  padding: 0;
  list-style: none;
}

.market-how-grid li {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  color: var(--navy-muted);
  font-size: 13px;
  line-height: 1.35;
}

.market-how-grid li svg {
  flex: 0 0 auto;
  color: var(--sportia-green);
}

.market-how-grid button {
  min-height: 38px;
  padding: 0 14px;
  border: 1px solid rgba(0,143,70,.34);
  border-radius: 8px;
  color: var(--sportia-green-dark);
  background: #fff;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}

.market-stat-strip {
  margin-top: 4px;
  margin-bottom: 4px;
}

.market-cta {
  display: grid;
  grid-template-columns: 310px minmax(0, 1fr) auto;
}

.market-cta-image {
  align-self: stretch;
  min-height: 150px;
  overflow: hidden;
  border-radius: 8px;
}

.market-cta-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

@media (max-width: 1180px) {
  .marketplace-hero,
  .marketplace-board-grid,
  .market-cta {
    grid-template-columns: 1fr;
  }

  .marketplace-board-grid aside {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-right: 0;
    border-bottom: 1px solid var(--border);
    padding: 0 0 12px;
  }

  .marketplace-board-grid aside strong {
    grid-column: 1 / -1;
  }

  .market-category-grid,
  .market-popular-grid,
  .market-opportunity-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .market-category-grid,
  .market-popular-grid,
  .market-opportunity-grid,
  .market-how-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .market-how-grid article {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  .marketplace-hero {
    grid-template-columns: 1fr;
    min-height: 0;
    padding-top: 32px;
  }

  .marketplace-copy h1 {
    font-size: 36px;
    line-height: 1.02;
  }

  .marketplace-board {
    min-height: 0;
    padding: 14px;
  }

  .marketplace-search-row,
  .marketplace-board-grid aside,
  .market-category-grid,
  .market-popular-grid,
  .market-opportunity-grid,
  .market-how-grid {
    grid-template-columns: 1fr;
  }

  .market-list-item {
    grid-template-columns: 1fr;
  }

  .market-list-item aside {
    justify-items: start;
  }

  .market-cta .public-primary {
    width: 100%;
  }
}

/* Public AI Agent */
.ai-agent-hero {
  display: grid;
  grid-template-columns: minmax(330px, .82fr) minmax(540px, 1.18fr);
  gap: clamp(34px, 5vw, 76px);
  align-items: center;
  min-height: calc(100vh - 96px);
  padding: clamp(42px, 6vw, 76px) 0 44px;
}

.ai-agent-copy h1 {
  margin: 22px 0 18px;
  max-width: 720px;
  color: var(--navy);
  font-size: clamp(42px, 5vw, 70px);
  line-height: 1;
  font-weight: 760;
}

.ai-agent-copy p {
  max-width: 600px;
  color: var(--navy-muted);
  font-size: 16px;
  line-height: 1.68;
  font-weight: 430;
}

.ai-demo-console {
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr);
  gap: 0;
  min-height: 500px;
  overflow: hidden;
  border: 1px solid rgba(221, 230, 240, .95);
  border-radius: 8px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 24px 54px rgba(7,20,71,.12);
}

.ai-chat-panel {
  display: grid;
  align-content: start;
  gap: 14px;
  padding: 22px;
  border-right: 1px solid var(--border);
  background: linear-gradient(180deg, #fff, rgba(234,247,239,.38));
}

.ai-status {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 2px 10px;
  align-items: center;
}

.ai-status span {
  grid-row: span 2;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  color: #fff;
  background: var(--sportia-green);
  font-weight: 820;
}

.ai-status strong {
  color: var(--navy);
  font-size: 14px;
}

.ai-status small {
  color: var(--sportia-green-dark);
  font-size: 11px;
  font-weight: 700;
}

.ai-chat-panel p {
  margin: 0;
  padding: 12px 13px;
  border-radius: 8px;
  color: var(--navy);
  background: #F4F7FB;
  font-size: 12px;
  line-height: 1.45;
}

.ai-chat-panel p.user {
  color: var(--sportia-green-dark);
  background: var(--sportia-green-soft);
}

.ai-chat-panel label {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  margin-top: 10px;
  padding: 0 8px 0 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fff;
  color: var(--navy-muted);
}

.ai-chat-panel input {
  width: 100%;
  min-width: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--navy);
  font: inherit;
  font-size: 12px;
}

.ai-chat-panel label button {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 50%;
  color: #fff;
  background: var(--sportia-green);
  cursor: pointer;
}

.ai-dashboard-panel {
  display: grid;
  align-content: start;
  gap: 18px;
  padding: 22px;
}

.ai-dashboard-panel h2 {
  margin: 0;
  color: var(--navy);
  font-size: 18px;
}

.ai-summary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.ai-summary-grid .public-metric {
  min-height: 100px;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 8px;
}

.ai-insight-grid {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 14px;
}

.ai-insight-grid article,
.ai-prompt-result {
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fff;
}

.ai-insight-grid article {
  min-height: 210px;
  padding: 16px;
}

.ai-insight-grid h3,
.ai-prompt-result h3 {
  margin: 0 0 12px;
  color: var(--navy);
  font-size: 15px;
}

.ai-insight-grid ul {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ai-insight-grid li {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  color: var(--navy);
  font-size: 12px;
}

.ai-insight-grid li b {
  min-height: 22px;
  padding: 4px 7px;
  border-radius: 999px;
  color: var(--sportia-green-dark);
  background: var(--sportia-green-soft);
  font-size: 10px;
}

.ai-trend-chart {
  width: 100%;
  height: 150px;
}

.ai-trend-chart .axis {
  fill: none;
  stroke: #DDE6F0;
  stroke-width: 1.3;
}

.ai-trend-chart .demand,
.ai-trend-chart .offer {
  fill: none;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.ai-trend-chart .demand {
  stroke: var(--sportia-green);
}

.ai-trend-chart .offer {
  stroke: #9BA9C5;
}

.ai-trend-chart text {
  fill: var(--navy-muted);
  font-size: 10px;
}

.ai-section {
  padding-top: 38px;
}

.ai-capability-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
}

.ai-capability-grid .report-type-card {
  min-height: 205px;
}

.ai-prompt-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}

.ai-prompt-card {
  display: grid;
  grid-template-rows: auto 22px minmax(150px, 1fr);
  gap: 8px;
}

.ai-prompt-card > button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 56px;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 999px;
  color: var(--navy);
  background: #fff;
  font-size: 12px;
  font-weight: 670;
  line-height: 1.25;
  cursor: pointer;
}

.ai-prompt-arrow {
  display: grid;
  place-items: center;
  color: var(--navy-muted);
  font-style: normal;
}

.ai-prompt-result {
  display: grid;
  align-content: start;
  min-height: 164px;
  padding: 16px;
}

.ai-ranked-list {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ai-ranked-list li {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  color: var(--navy);
  font-size: 12px;
}

.ai-ranked-list b {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  color: var(--navy);
  background: #F3F6FA;
}

.ai-mini-line {
  width: 100%;
  height: 108px;
}

.ai-mini-line path {
  fill: none;
  stroke: var(--sportia-green);
  stroke-width: 4;
  stroke-linecap: round;
}

.ai-mini-line circle {
  fill: #fff;
  stroke: var(--sportia-green);
  stroke-width: 2;
}

.ai-mini-bars {
  display: grid;
  gap: 10px;
}

.ai-mini-bars span {
  display: block;
  height: 22px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--sportia-green) var(--w), #E9EEF5 var(--w));
}

.ai-mini-bars b {
  display: block;
  padding-left: 8px;
  color: var(--navy);
  font-size: 11px;
  line-height: 22px;
}

.ai-check-list,
.ai-donut-legend {
  display: grid;
  gap: 9px;
  margin: 0;
  padding: 0;
  list-style: none;
  color: var(--navy);
  font-size: 12px;
}

.ai-check-list li {
  display: flex;
  gap: 7px;
  align-items: center;
}

.ai-mini-donut {
  position: relative;
  width: 92px;
  aspect-ratio: 1;
  margin: 2px auto 12px;
  border-radius: 50%;
  background: conic-gradient(var(--sportia-green) 0 68%, #A9B5C7 68% 88%, #E5484D 88% 100%);
}

.ai-mini-donut::after {
  position: absolute;
  inset: 22px;
  border-radius: 50%;
  background: #fff;
  content: "";
}

.ai-mini-donut span {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: grid;
  place-items: center;
  color: var(--navy);
  font-weight: 780;
}

.ai-donut-legend li {
  display: flex;
  align-items: center;
  gap: 6px;
}

.ai-donut-legend i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--sportia-green);
}

.ai-donut-legend li:nth-child(2) i { background: #A9B5C7; }
.ai-donut-legend li:nth-child(3) i { background: #E5484D; }

.ai-workflow {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 54px;
}

.ai-workflow::before {
  position: absolute;
  left: 13%;
  right: 13%;
  top: 50%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(0,143,70,.4), transparent);
  content: "";
}

.ai-workflow .report-step-card {
  position: relative;
  z-index: 1;
}

.ai-security-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.ai-security-grid .report-type-card {
  display: grid;
  grid-template-columns: 60px minmax(0, 1fr);
  text-align: left;
  min-height: 150px;
}

.ai-security-grid .metric-icon {
  margin: 0;
}

.ai-security-card {
  position: relative;
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  grid-template-rows: 1fr auto;
  gap: 14px 16px;
  min-height: 270px;
  padding: 22px;
  overflow: hidden;
  border: 1px solid rgba(221, 230, 240, .96);
  border-radius: 8px;
  background:
    radial-gradient(circle at 12% 12%, rgba(234, 247, 239, .9), transparent 34%),
    linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(250, 253, 251, .94));
  box-shadow: 0 14px 34px rgba(7, 20, 71, .045);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.ai-security-card:hover {
  transform: translateY(-3px);
  border-color: rgba(0, 143, 70, .32);
  box-shadow: 0 22px 48px rgba(7, 20, 71, .085);
}

.ai-security-card::after {
  position: absolute;
  right: 14px;
  top: 14px;
  width: 78px;
  height: 78px;
  border: 1px solid rgba(0, 143, 70, .12);
  border-radius: 50%;
  background: rgba(234, 247, 239, .42);
  content: "";
  opacity: .75;
}

.ai-security-card .metric-icon {
  position: relative;
  z-index: 1;
  width: 48px;
  height: 48px;
  margin: 0;
  border: 1px solid rgba(0, 143, 70, .14);
  background: rgba(234, 247, 239, .86);
}

.ai-security-card > div {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 9px;
  min-width: 0;
}

.ai-security-card small {
  color: var(--sportia-green-dark);
  font-size: 11px;
  font-weight: 760;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.ai-security-card h3 {
  margin: 0;
  color: var(--navy);
  font-size: 19px;
  font-weight: 720;
  line-height: 1.16;
}

.ai-security-card p {
  margin: 0;
  color: var(--navy-muted);
  font-size: 13px;
  font-weight: 410;
  line-height: 1.58;
}

.ai-security-card ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, max-content));
  gap: 7px;
  margin: 6px 0 0;
  padding: 0;
  list-style: none;
}

.ai-security-card li {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-width: 0;
  min-height: 28px;
  padding: 0 8px;
  border: 1px solid rgba(221, 230, 240, .9);
  border-radius: 999px;
  color: var(--navy);
  background: rgba(255, 255, 255, .84);
  font-size: 11px;
  font-weight: 560;
  line-height: 1.15;
  white-space: normal;
}

.ai-security-card li svg {
  flex: 0 0 auto;
  color: var(--sportia-green);
}

.ai-security-card > b {
  position: relative;
  z-index: 1;
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  margin-top: 2px;
  color: var(--sportia-green-dark);
  font-size: 13px;
  font-weight: 720;
}

.ai-security-card > b span {
  position: relative;
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: #E8EEF5;
}

.ai-security-card > b span::after {
  position: absolute;
  inset: 0 auto 0 0;
  width: var(--score);
  border-radius: inherit;
  background: linear-gradient(90deg, #86D6A5, #008F46);
  content: "";
}

.ai-security-card > b strong {
  font-size: 16px;
  font-variant-numeric: tabular-nums;
}

.ai-agent-cta {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px;
  background:
    linear-gradient(90deg, rgba(234,247,239,.86), rgba(255,255,255,.96) 35%, #fff);
}

.ai-cta-badge {
  display: grid;
  place-items: center;
  width: 92px;
  height: 92px;
  border: 1px solid rgba(0,143,70,.24);
  border-radius: 8px;
  background: #fff;
}

.ai-cta-badge img {
  width: 62px;
  height: auto;
}

@media (max-width: 1180px) {
  .ai-agent-hero,
  .ai-agent-cta {
    grid-template-columns: 1fr;
  }

  .ai-capability-grid,
  .ai-prompt-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .ai-demo-console,
  .ai-insight-grid,
  .ai-summary-grid,
  .ai-security-grid,
  .ai-workflow {
    grid-template-columns: 1fr;
  }

  .ai-chat-panel {
    border-right: 0;
    border-bottom: 1px solid var(--border);
  }

  .ai-workflow {
    gap: 14px;
  }

  .ai-security-card {
    min-height: 0;
  }

  .ai-workflow::before {
    display: none;
  }
}

@media (max-width: 620px) {
  .ai-agent-copy h1 {
    font-size: 36px;
    line-height: 1.02;
  }

  .ai-demo-console {
    min-height: 0;
  }

  .ai-dashboard-panel,
  .ai-chat-panel {
    padding: 16px;
  }

  .ai-capability-grid,
  .ai-prompt-grid {
    grid-template-columns: 1fr;
  }

  .ai-agent-cta .public-primary {
    width: 100%;
  }

  .ai-security-card {
    grid-template-columns: 44px minmax(0, 1fr);
    padding: 18px;
  }

  .ai-security-card .metric-icon {
    width: 42px;
    height: 42px;
  }

  .ai-security-card ul {
    grid-template-columns: 1fr;
  }

  .ai-security-card li {
    justify-content: flex-start;
    white-space: normal;
  }
}

/* Public Database & Fonti */
.database-hero {
  display: grid;
  grid-template-columns: minmax(330px, .82fr) minmax(520px, 1.18fr);
  gap: clamp(34px, 5vw, 76px);
  align-items: center;
  min-height: calc(100vh - 96px);
  padding: clamp(42px, 6vw, 76px) 0 44px;
}

.database-copy h1 {
  margin: 22px 0 18px;
  max-width: 710px;
  color: var(--navy);
  font-size: clamp(40px, 4.9vw, 68px);
  line-height: 1;
  font-weight: 760;
}

.database-copy p {
  max-width: 610px;
  color: var(--navy-muted);
  font-size: 16px;
  line-height: 1.68;
  font-weight: 430;
}

.database-preview {
  display: grid;
  gap: 14px;
  padding: 18px;
  border: 1px solid rgba(221,230,240,.95);
  border-radius: 8px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 24px 54px rgba(7,20,71,.12);
}

.database-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.database-kpis .public-metric {
  min-height: 86px;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 8px;
}

.database-dashboard-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.database-panel {
  min-height: 248px;
  padding: 18px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(180deg, #fff, rgba(248,250,252,.72));
}

.database-panel h3 {
  margin: 0 0 4px;
  color: var(--navy);
  font-size: 16px;
}

.database-panel p {
  margin: 0;
  color: var(--navy-muted);
  font-size: 12px;
  line-height: 1.45;
}

.swiss-panel {
  position: relative;
}

.swiss-map {
  position: relative;
  min-height: 206px;
  margin-top: 8px;
  border-radius: 8px;
  background:
    radial-gradient(circle at 78% 82%, rgba(0, 143, 70, .08), transparent 30%),
    linear-gradient(180deg, #FBFDFE, #F4FAF7);
  overflow: hidden;
}

.swiss-map svg {
  width: 100%;
  height: 100%;
  min-height: 206px;
  display: block;
}

.database-live-map {
  min-height: 226px !important;
  background:
    radial-gradient(circle at 82% 74%, rgba(0, 143, 70, .1), transparent 30%),
    linear-gradient(180deg, #f4f8f7, #e9f2f1) !important;
}

.database-live-map > svg {
  display: none !important;
}

.database-live-map.leaflet-loaded .leaflet-host {
  opacity: 1 !important;
}

.database-live-map.leaflet-loaded .leaflet-tile-pane {
  filter: saturate(.5) contrast(.86) brightness(1.12) opacity(.86) !important;
}

.database-live-map .leaflet-control-zoom {
  display: none !important;
}

.database-live-map .leaflet-control-attribution {
  display: none !important;
}

.database-live-map .sportia-swiss-ticino {
  fill: rgba(0, 143, 70, .24);
  stroke: rgba(0, 108, 55, .72);
  stroke-width: 2;
  stroke-linejoin: round;
}

.database-live-map .sportia-swiss-focus {
  fill: rgba(0, 143, 70, .13);
  stroke: rgba(0, 143, 70, .45);
  stroke-width: 2;
  stroke-dasharray: 5 7;
}

.database-live-map .sportia-swiss-poi {
  color: var(--navy);
}

.database-live-map .sportia-swiss-poi span,
.database-live-map .sportia-swiss-poi strong {
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
}

.database-live-map .sportia-swiss-poi span {
  width: 22px;
  height: 22px;
  justify-content: center;
  border: 1px solid rgba(221, 230, 240, .95);
  border-radius: 50%;
  color: var(--navy);
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 7px 16px rgba(7, 20, 71, .12);
}

.database-live-map .sportia-swiss-poi strong {
  min-height: 22px;
  margin-left: 4px;
  padding: 0 7px;
  border: 1px solid rgba(221, 230, 240, .9);
  border-radius: 999px;
  color: var(--navy);
  background: rgba(255, 255, 255, .9);
  box-shadow: 0 7px 16px rgba(7, 20, 71, .1);
  font-size: 10px;
  font-weight: 650;
  line-height: 1;
  white-space: nowrap;
}

.database-live-map .sportia-swiss-poi.focus span {
  border-color: rgba(0, 143, 70, .42);
  color: #fff;
  background: var(--sportia-green);
}

.database-live-map .sportia-swiss-poi.focus strong {
  border-color: rgba(0, 143, 70, .24);
  color: var(--sportia-green-dark);
  background: rgba(255, 255, 255, .94);
}

.swiss-shadow {
  fill: rgba(7, 20, 71, .045);
  transform: translate(4px, 5px);
}

.swiss-outline {
  fill: url("#swissLand");
  stroke: rgba(43, 53, 107, .2);
  stroke-width: 1.25;
}

.canton {
  stroke: rgba(255, 255, 255, .92);
  stroke-width: 1.4;
}

.c1 { fill: #E7F5EB; }
.c2 { fill: #D6EEDF; }
.c3 { fill: #C8E8D4; }
.c4 { fill: #A9DDBE; }
.c5 { fill: #79C997; }
.c6 { fill: #EEF7F1; }

.ticino-area {
  fill: #008F46;
  stroke: #fff;
  stroke-width: 1.8;
}

.swiss-water {
  fill: url("#swissLake");
  opacity: .9;
  stroke: rgba(104, 171, 216, .22);
  stroke-width: 1;
}

.ticino-glow {
  fill: url("#ticinoGlow");
  pointer-events: none;
}

.topo-line {
  fill: none;
  stroke: rgba(43, 53, 107, .14);
  stroke-width: 1.15;
}

.topo-line.soft {
  stroke: rgba(43, 53, 107, .09);
}

.swiss-axis {
  fill: none;
  stroke: rgba(40, 104, 216, .11);
  stroke-width: 1;
  stroke-dasharray: 4 6;
}

.swiss-axis.soft {
  stroke: rgba(0, 143, 70, .1);
}

.map-dot {
  fill: #fff;
  stroke: #fff;
  stroke-width: 2.4;
  filter: drop-shadow(0 4px 8px rgba(7, 20, 71, .12));
}

.map-dot.active {
  fill: var(--sportia-green);
  stroke-width: 3;
}

.city-label rect {
  fill: rgba(255, 255, 255, .86);
  stroke: rgba(221, 230, 240, .8);
}

.city-label text {
  fill: var(--navy-muted);
  font-size: 10px;
  font-weight: 650;
  text-anchor: middle;
}

.ticino-label path {
  fill: rgba(255, 255, 255, .92);
  stroke: rgba(0, 143, 70, .28);
  filter: drop-shadow(0 8px 16px rgba(7, 20, 71, .08));
}

.ticino-label text:first-of-type {
  fill: var(--sportia-green-dark);
  font-size: 12px;
  font-weight: 760;
}

.ticino-label text:last-of-type {
  fill: #61708a;
  font-size: 9px;
  font-weight: 560;
}

.swiss-map-legend {
  position: absolute;
  left: 10px;
  bottom: 10px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 7px 9px;
  border: 1px solid rgba(221, 230, 240, .8);
  border-radius: 999px;
  background: rgba(255, 255, 255, .82);
  backdrop-filter: blur(8px);
  color: var(--navy-muted);
  font-size: 10px;
  font-weight: 600;
}

.swiss-map-legend span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  white-space: nowrap;
}

.swiss-map-legend i {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--sportia-green);
}

.swiss-map-legend span:last-child i {
  background: #fff;
  border: 2px solid #7BCB98;
}

.mini-line-chart,
.mini-bars {
  height: 178px;
  margin-top: 14px;
}

.mini-line-chart svg {
  width: 100%;
  height: 100%;
}

.mini-line-chart text {
  fill: var(--navy-muted);
  font-size: 10px;
  font-weight: 560;
}

.mini-line-chart .grid {
  fill: none;
  stroke: rgba(221, 230, 240, .74);
  stroke-width: 1;
}

.mini-line-chart .axis {
  fill: none;
  stroke: #DDE6F0;
  stroke-width: 1.4;
}

.mini-line-chart .line {
  fill: none;
  stroke: var(--sportia-green);
  stroke-width: 3.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.mini-line-chart .area {
  fill: rgba(0,143,70,.1);
}

.mini-line-chart .line-dot {
  fill: #fff;
  stroke: var(--sportia-green);
  stroke-width: 2;
}

.mini-bars {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  align-items: end;
  gap: 12px;
  padding: 18px 2px 24px;
  border-bottom: 1px solid rgba(221, 230, 240, .7);
}

.mini-bars span {
  position: relative;
  display: block;
  height: var(--h);
  min-height: 30px;
  border-radius: 8px 8px 3px 3px;
  background: linear-gradient(180deg, #50C987, var(--sportia-green));
  box-shadow: inset 0 -10px 18px rgba(0, 108, 55, .12);
}

.mini-bars strong {
  position: absolute;
  left: 50%;
  bottom: calc(100% + 6px);
  color: var(--sportia-green-dark);
  font-size: 11px;
  font-weight: 760;
  transform: translateX(-50%);
}

.mini-bars b {
  position: absolute;
  left: 50%;
  top: calc(100% + 8px);
  color: var(--navy-muted);
  font-size: 10px;
  font-weight: 560;
  transform: translateX(-50%);
  white-space: nowrap;
}

.structure-panel {
  display: grid;
  grid-template-columns: 142px minmax(0, 1fr);
  grid-template-rows: auto 1fr;
  align-items: center;
  gap: 8px 16px;
}

.structure-panel h3,
.structure-panel p {
  grid-column: 1 / -1;
}

.database-donut {
  position: relative;
  width: 136px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: conic-gradient(#008F46 0 42%, #5F8FEA 42% 66%, #F2B632 66% 84%, #A9B5C7 84% 100%);
}

.database-donut::after {
  position: absolute;
  inset: 29px;
  border-radius: 50%;
  background: #fff;
  content: "";
}

.database-donut span {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: grid;
  place-items: center;
  align-content: center;
  color: var(--navy);
  font-size: 18px;
  font-weight: 760;
}

.database-donut small {
  display: block;
  margin-top: 2px;
  color: var(--navy-muted);
  font-size: 10px;
  font-weight: 520;
}

.structure-panel ul {
  display: grid;
  gap: 9px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.structure-panel li {
  display: grid;
  grid-template-columns: 9px minmax(0, 1fr) auto;
  gap: 6px;
  align-items: center;
  color: var(--navy);
  font-size: 12px;
}

.structure-panel li b {
  color: var(--navy);
  font-size: 12px;
  font-weight: 760;
}

.structure-panel li i {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--sportia-green);
}

.structure-panel li:nth-child(2) i { background: #5F8FEA; }
.structure-panel li:nth-child(3) i { background: #F2B632; }
.structure-panel li:nth-child(4) i { background: #A9B5C7; }

.database-section {
  padding-top: 38px;
}

.database-card-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
}

.database-card-grid .report-type-card {
  min-height: 206px;
}

.database-quality-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.quality-card {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  min-height: 150px;
  padding: 20px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fff;
}

.quality-card > span {
  display: grid;
  place-items: center;
  width: 66px;
  height: 66px;
  border: 1px solid rgba(0,143,70,.24);
  border-radius: 50%;
  color: var(--sportia-green);
  background: var(--sportia-green-soft);
}

.quality-card small {
  color: var(--navy-muted);
  font-size: 12px;
  font-weight: 700;
}

.quality-card h3 {
  margin: 4px 0 5px;
  color: var(--navy);
  font-size: 22px;
}

.quality-card p {
  margin: 0;
  color: var(--navy-muted);
  font-size: 12px;
  line-height: 1.45;
}

.database-methodology {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 54px;
}

.database-methodology::before {
  position: absolute;
  left: 9%;
  right: 9%;
  top: 50%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(7,20,71,.26), transparent);
  content: "";
}

.method-card {
  position: relative;
  z-index: 1;
  min-height: 190px;
  padding: 20px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fff;
}

.method-card b {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  color: var(--sportia-green-dark);
  background: var(--sportia-green-soft);
  font-size: 11px;
}

.method-card span {
  display: block;
  margin: 16px 0 14px;
  color: var(--sportia-green);
}

.method-card h3 {
  margin: 0 0 8px;
  font-size: 16px;
}

.method-card p {
  margin: 0;
  color: var(--navy-muted);
  font-size: 12px;
  line-height: 1.5;
}

.database-cta {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px;
  color: #fff;
  background:
    radial-gradient(circle at 78% 18%, rgba(67, 205, 123, .32), transparent 28%),
    linear-gradient(135deg, #023D2A, #008F46);
}

.database-cta h2,
.database-cta p,
.database-cta small {
  color: #fff;
}

.database-cta p {
  opacity: .88;
}

.database-cta-badge {
  display: grid;
  place-items: center;
  width: 92px;
  height: 92px;
  border-radius: 8px;
  color: #fff;
  background: rgba(255,255,255,.12);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.24);
}

.database-cta .public-primary {
  color: var(--sportia-green-dark);
  border-color: rgba(255,255,255,.7);
  background: #fff;
  box-shadow: 0 14px 28px rgba(0,0,0,.14);
  white-space: nowrap;
}

@media (max-width: 1180px) {
  .database-hero,
  .database-cta {
    grid-template-columns: 1fr;
  }

  .database-card-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .database-quality-grid,
  .database-methodology {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .database-methodology {
    gap: 14px;
  }

  .database-methodology::before {
    display: none;
  }
}

@media (max-width: 760px) {
  .database-kpis,
  .database-dashboard-grid,
  .database-card-grid,
  .database-quality-grid,
  .database-methodology {
    grid-template-columns: 1fr;
  }

  .database-copy h1 {
    font-size: 36px;
    line-height: 1.02;
  }

  .structure-panel {
    grid-template-columns: 1fr;
  }

  .database-donut {
    margin: 6px auto;
  }

  .database-cta .public-primary {
    width: 100%;
  }
}

/* Public Report Center */
.report-center-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(320px, .78fr) minmax(520px, 1.22fr);
  gap: clamp(30px, 5vw, 76px);
  align-items: center;
  min-height: calc(100vh - 96px);
  padding: clamp(42px, 6vw, 76px) 0 40px;
}

.report-center-copy h1 {
  margin: 22px 0 18px;
  max-width: 680px;
  color: var(--navy);
  font-size: clamp(40px, 4.9vw, 70px);
  line-height: 1;
  letter-spacing: 0;
  font-weight: 760;
}

.report-center-copy p {
  max-width: 580px;
  color: var(--navy-muted);
  font-size: 16px;
  line-height: 1.68;
  font-weight: 430;
}

.report-library-mock {
  display: grid;
  grid-template-columns: 170px minmax(0, 1fr);
  gap: 18px;
  min-height: 520px;
  padding: 20px;
  border: 1px solid rgba(221, 230, 240, .95);
  border-radius: 8px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 24px 54px rgba(7, 20, 71, .12);
}

.report-library-mock aside {
  display: grid;
  align-content: start;
  gap: 12px;
  padding-right: 14px;
  border-right: 1px solid var(--border);
}

.report-library-mock h3 {
  margin: 0 0 2px;
  font-size: 18px;
}

.report-library-mock label {
  display: flex;
  align-items: center;
  gap: 7px;
  height: 38px;
  padding: 0 10px;
  border: 1px solid var(--border);
  border-radius: 8px;
  color: var(--navy-muted);
  background: #fff;
}

.report-library-mock input {
  width: 100%;
  min-width: 0;
  border: 0;
  outline: 0;
  background: transparent;
  font-size: 12px;
}

.report-library-mock aside strong {
  margin-top: 6px;
  font-size: 12px;
  color: var(--navy);
}

.report-library-mock aside button {
  display: grid;
  gap: 3px;
  min-height: 46px;
  padding: 8px 10px;
  border: 1px solid var(--border);
  border-radius: 8px;
  color: var(--navy);
  background: #fff;
  text-align: left;
  font-size: 11px;
  font-weight: 700;
}

.report-library-mock aside button span {
  color: var(--navy-muted);
  font-weight: 500;
}

.report-library-grid,
.report-feature-grid {
  display: grid;
  gap: 14px;
}

.report-library-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.report-feature-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.report-preview-card {
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fff;
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.report-preview-card:hover {
  transform: translateY(-2px);
  border-color: rgba(0,143,70,.26);
  box-shadow: 0 16px 34px rgba(7,20,71,.1);
}

.report-preview-media {
  display: grid;
  place-items: center;
  height: 128px;
  overflow: hidden;
  color: #fff;
  background:
    linear-gradient(180deg, rgba(255,255,255,.06), transparent),
    linear-gradient(135deg, #063D2A, #008F46);
}

.report-library-grid .report-preview-media {
  height: 112px;
}

.report-preview-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.report-preview-media.blue {
  background:
    repeating-linear-gradient(90deg, rgba(255,255,255,.16) 0 1px, transparent 1px 26px),
    linear-gradient(135deg, #082551, #2868D8);
}

.report-preview-media.dark {
  background:
    linear-gradient(135deg, rgba(0,143,70,.2), transparent),
    linear-gradient(135deg, #062037, #071447);
}

.report-preview-card > div:last-child {
  display: grid;
  gap: 8px;
  padding: 12px;
}

.report-preview-card h3 {
  margin: 0;
  font-size: 14px;
  line-height: 1.25;
}

.report-preview-card p {
  margin: 0;
  color: var(--navy-muted);
  font-size: 12px;
  line-height: 1.35;
}

.report-card-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-top: 4px;
}

.report-card-meta span {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 8px;
  border-radius: 999px;
  color: var(--sportia-green-dark);
  background: var(--sportia-green-soft);
  font-size: 10px;
  font-weight: 700;
}

.report-card-meta small {
  color: var(--navy-muted);
  font-size: 11px;
}

.report-block {
  padding-top: 34px;
  padding-bottom: 34px;
}

.report-block .section-heading.row button {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 0;
  color: var(--sportia-green-dark);
  background: transparent;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}

.report-type-grid,
.report-benefits,
.format-grid {
  display: grid;
  gap: 14px;
}

.report-type-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.report-benefits {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.format-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.report-type-card,
.format-card,
.report-step-card {
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(7,20,71,.035);
}

.report-type-card {
  display: grid;
  justify-items: center;
  align-content: start;
  gap: 10px;
  min-height: 196px;
  padding: 22px 16px;
  text-align: center;
}

.report-benefits .report-type-card {
  grid-template-columns: 50px minmax(0, 1fr);
  justify-items: start;
  align-items: center;
  min-height: 122px;
  text-align: left;
}

.report-benefits .report-type-card .metric-icon {
  grid-row: span 2;
}

.report-type-card h3,
.format-card h3,
.report-step-card h3 {
  margin: 0;
  color: var(--navy);
  font-size: 14px;
  line-height: 1.25;
}

.report-type-card p,
.format-card p,
.report-step-card p {
  margin: 0;
  color: var(--navy-muted);
  font-size: 12px;
  line-height: 1.5;
  font-weight: 430;
}

.report-workflow {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 58px;
  position: relative;
}

.report-workflow::before {
  position: absolute;
  left: 26%;
  right: 26%;
  top: 50%;
  height: 1px;
  background: linear-gradient(90deg, transparent, #8DA4C2 18%, #8DA4C2 82%, transparent);
  content: "";
}

.report-step-card {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) 58px;
  align-items: center;
  gap: 12px;
  min-height: 118px;
  padding: 18px;
}

.report-step-card b {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  color: #fff;
  background: var(--sportia-green);
  font-size: 15px;
}

.report-step-card > span {
  display: grid;
  place-items: center;
  color: var(--sportia-green);
}

.format-card {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  min-height: 96px;
  padding: 16px;
}

.format-card > span {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 8px;
  color: var(--sportia-green);
  background: var(--sportia-green-soft);
}

.format-card.red > span {
  color: #E5484D;
  background: rgba(229,72,77,.1);
}

.format-card.orange > span {
  color: #F5A623;
  background: rgba(245,166,35,.12);
}

.format-card.blue > span {
  color: #2868D8;
  background: rgba(40,104,216,.1);
}

.report-center-cta {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px;
  margin-top: 18px;
  padding: 24px 28px;
  background:
    linear-gradient(90deg, rgba(234,247,239,.84), rgba(255,255,255,.95) 34%, #fff);
}

.report-cta-badge {
  display: grid;
  place-items: center;
  gap: 7px;
  width: 86px;
  height: 86px;
  border: 1px solid rgba(0,143,70,.22);
  border-radius: 8px;
  color: var(--sportia-green);
  background: radial-gradient(circle at 35% 25%, rgba(255,255,255,.95), rgba(234,247,239,.9));
  box-shadow: inset 0 0 0 6px rgba(255,255,255,.64);
}

.report-cta-badge span {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  color: #fff;
  background: linear-gradient(135deg, var(--sportia-green), var(--sportia-green-dark));
}

.report-cta-badge strong {
  color: var(--navy);
  font-size: 10px;
  letter-spacing: .08em;
}

.report-cta-copy {
  min-width: 0;
}

.report-center-cta .report-cta-copy h2 {
  max-width: 720px;
}

.report-cta-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
  min-width: 410px;
}

.report-cta-actions .public-primary,
.report-cta-actions .public-secondary {
  min-width: 190px;
  justify-content: center;
  white-space: nowrap;
}

@media (max-width: 1180px) {
  .report-center-hero,
  .report-library-mock {
    grid-template-columns: 1fr;
  }

  .report-library-mock aside {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: end;
    border-right: 0;
    border-bottom: 1px solid var(--border);
    padding: 0 0 16px;
  }

  .report-library-mock aside h3,
  .report-library-mock aside label {
    grid-column: span 2;
  }

  .report-library-mock aside strong {
    display: none;
  }

  .report-feature-grid,
  .report-type-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .format-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .report-center-cta {
    grid-template-columns: 96px minmax(0, 1fr);
  }

  .report-cta-actions {
    grid-column: 1 / -1;
    width: 100%;
    min-width: 0;
    justify-content: flex-start;
  }
}

@media (max-width: 820px) {
  .report-library-grid,
  .report-feature-grid,
  .report-type-grid,
  .report-benefits,
  .format-grid,
  .report-workflow {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .report-workflow {
    gap: 14px;
  }

  .report-workflow::before {
    display: none;
  }
}

@media (max-width: 620px) {
  .report-center-hero {
    grid-template-columns: 1fr;
    min-height: 0;
    padding-top: 32px;
  }

  .report-center-copy h1 {
    font-size: 36px;
    line-height: 1.02;
  }

  .report-library-mock {
    min-height: 0;
    padding: 14px;
  }

  .report-library-mock aside,
  .report-library-grid,
  .report-feature-grid,
  .report-type-grid,
  .report-benefits,
  .format-grid,
  .report-workflow {
    grid-template-columns: 1fr;
  }

  .report-library-mock aside h3,
  .report-library-mock aside label {
    grid-column: auto;
  }

  .report-center-cta {
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 20px;
  }

  .report-cta-badge {
    width: 78px;
    height: 78px;
  }

  .report-cta-actions {
    flex-direction: column;
  }

  .report-cta-actions > * {
    flex: 1 1 100%;
    width: 100%;
  }
}

/* Public landing and marketplace */
.public-header {
  position: sticky;
  top: 0;
  z-index: 60;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  min-height: 72px;
  padding: 0 clamp(18px, 4vw, 54px);
  border-bottom: 1px solid rgba(221, 230, 240, .95);
  background: rgba(255, 255, 255, .92);
  backdrop-filter: blur(18px);
}

.public-brand {
  display: inline-flex;
  align-items: center;
  min-width: 166px;
}

.public-brand img,
.public-footer img {
  width: 154px;
  height: auto;
  display: block;
}

.public-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(16px, 2.6vw, 34px);
  min-width: 0;
}

.public-nav a {
  position: relative;
  color: var(--navy);
  font-size: 13px;
  font-weight: 650;
  text-decoration: none;
  white-space: nowrap;
}

.public-nav a::after {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -26px;
  height: 3px;
  border-radius: 999px;
  background: var(--sportia-green);
  content: "";
  opacity: 0;
  transform: scaleX(.4);
  transition: opacity .2s ease, transform .2s ease;
}

.public-nav a:hover::after,
.public-nav a.active::after {
  opacity: 1;
  transform: scaleX(1);
}

.public-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

.public-login,
.public-register,
.public-primary,
.public-secondary,
.center-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 0 18px;
  border-radius: 8px;
  border: 1px solid var(--sportia-green);
  font-size: 13px;
  font-weight: 680;
  text-decoration: none;
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.public-login,
.public-secondary {
  background: #fff;
  color: var(--navy);
}

.public-register,
.public-primary {
  color: #fff;
  background: linear-gradient(135deg, #008F46, #0BA65C);
  box-shadow: 0 10px 24px rgba(0, 143, 70, .16);
}

.public-primary:hover,
.public-secondary:hover,
.public-register:hover,
.public-login:hover,
.center-link:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 28px rgba(7, 20, 71, .1);
}

.public-page {
  --public-max: 1360px;
  width: min(var(--public-max), calc(100% - clamp(28px, 6vw, 88px)));
  margin: 0 auto;
  color: var(--navy);
}

.public-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(340px, .82fr) minmax(420px, 1.18fr);
  gap: clamp(34px, 5vw, 82px);
  align-items: center;
  min-height: calc(100vh - 96px);
  padding: clamp(46px, 7vw, 86px) 0 52px;
}

.hero-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  max-width: 100%;
  padding: 8px 12px;
  border: 1px solid rgba(0, 143, 70, .28);
  border-radius: 999px;
  color: var(--sportia-green-dark);
  background: var(--sportia-green-soft);
  font-size: 13px;
  font-weight: 650;
}

.hero-copy h1,
.explore-hero h1 {
  margin: 22px 0 18px;
  max-width: 720px;
  color: var(--navy);
  font-size: clamp(38px, 5vw, 74px);
  line-height: .98;
  letter-spacing: 0;
  font-weight: 760;
}

.hero-copy p,
.explore-hero p,
.section-heading p,
.public-feature-card p,
.public-cta p,
.public-footer p,
.explore-insight-card p {
  color: var(--navy-muted);
  font-size: 16px;
  line-height: 1.65;
  font-weight: 430;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 30px;
}

.hero-trust {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 30px;
}

.hero-trust span,
.center-tags span {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border: 1px solid var(--border);
  border-radius: 999px;
  color: var(--navy);
  background: rgba(255,255,255,.82);
  font-size: 12px;
  font-weight: 600;
}

.hero-visual {
  position: relative;
  min-height: clamp(430px, 48vw, 640px);
}

.hero-image-card {
  position: absolute;
  inset: 6% 0 0 6%;
  overflow: hidden;
  border-radius: 8px 0 8px 8px;
  box-shadow: 0 22px 52px rgba(7, 20, 71, .16);
  clip-path: polygon(13% 0, 100% 0, 100% 100%, 0 100%, 0 16%);
}

.hero-image-card img,
.center-image img,
.video-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.hero-network-lines {
  position: absolute;
  inset: 9% auto auto 0;
  width: 190px;
  height: 330px;
  opacity: .5;
  background:
    radial-gradient(circle at 12% 16%, #008F46 0 3px, transparent 3px),
    radial-gradient(circle at 78% 10%, #008F46 0 3px, transparent 3px),
    radial-gradient(circle at 48% 38%, #008F46 0 3px, transparent 3px),
    radial-gradient(circle at 14% 70%, #008F46 0 3px, transparent 3px),
    linear-gradient(28deg, transparent 0 33%, rgba(0,143,70,.2) 33% 34%, transparent 34%),
    linear-gradient(116deg, transparent 0 48%, rgba(0,143,70,.18) 48% 49%, transparent 49%);
}

.hero-stat-card {
  position: absolute;
  right: 4%;
  top: 21%;
  display: grid;
  gap: 10px;
  width: min(230px, 40%);
  padding: 20px;
  border: 1px solid rgba(221, 230, 240, .95);
  border-radius: 8px;
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 18px 42px rgba(7, 20, 71, .14);
  backdrop-filter: blur(14px);
}

.hero-stat-card strong {
  color: var(--navy);
  font-size: 28px;
  line-height: 1;
}

.hero-stat-card span {
  color: var(--navy-muted);
  font-size: 12px;
  line-height: 1.35;
}

.hero-stat-card i {
  height: 1px;
  background: var(--border);
}

.public-section {
  padding: clamp(34px, 5vw, 64px) 0;
  border-top: 1px solid rgba(221, 230, 240, .7);
}

.section-heading {
  max-width: 720px;
  margin: 0 auto 28px;
  text-align: center;
}

.section-heading.row {
  display: flex;
  align-items: end;
  justify-content: space-between;
  max-width: none;
  gap: 18px;
  text-align: left;
}

.section-heading small,
.public-feature-card small,
.explore-insight-card small,
.public-cta small {
  color: var(--sportia-green);
  font-size: 12px;
  font-weight: 760;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.section-heading h2,
.public-feature-card h2,
.public-cta h2,
.explore-insight-card h2 {
  margin: 7px 0 8px;
  font-size: clamp(24px, 2.8vw, 38px);
  line-height: 1.1;
}

.section-heading.row a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--sportia-green-dark);
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
}

.public-services,
.audience-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.public-service-card,
.public-feature-card,
.public-center-card,
.public-stat-strip,
.public-cta,
.explore-insight-card {
  border: 1px solid rgba(221, 230, 240, .95);
  border-radius: 8px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 8px 22px rgba(7, 20, 71, .04);
}

.public-service-card {
  padding: 22px;
  text-align: center;
}

.public-service-card .metric-icon {
  margin: 0 auto 14px;
}

.public-service-card h3 {
  margin: 0 0 8px;
  font-size: 15px;
}

.public-service-card p {
  margin: 0;
  color: var(--navy-muted);
  font-size: 13px;
  line-height: 1.5;
}

.public-video-grid {
  display: grid;
  grid-template-columns: minmax(300px, .84fr) minmax(360px, 1.16fr);
  gap: 18px;
}

.public-feature-card {
  padding: 24px;
}

.video-preview {
  position: relative;
  overflow: hidden;
  height: 250px;
  margin-top: 18px;
  border-radius: 8px;
}

.video-preview button {
  position: absolute;
  inset: 50% auto auto 50%;
  display: grid;
  place-items: center;
  width: 70px;
  height: 70px;
  border: 0;
  border-radius: 50%;
  color: var(--sportia-green);
  background: rgba(255,255,255,.92);
  transform: translate(-50%, -50%);
  cursor: pointer;
  box-shadow: 0 12px 28px rgba(7, 20, 71, .18);
}

.audience-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 16px;
}

.audience-grid .public-service-card {
  padding: 16px;
}

.public-stat-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin: 16px 0;
}

.public-metric {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 4px 14px;
  align-items: center;
  min-height: 106px;
  padding: 18px 22px;
  border-right: 1px solid var(--border);
}

.public-metric:last-child {
  border-right: 0;
}

.public-metric svg {
  grid-row: span 2;
  color: var(--sportia-green);
}

.public-metric strong {
  font-size: 25px;
  line-height: 1;
}

.public-metric span {
  color: var(--navy-muted);
  font-size: 12px;
  line-height: 1.35;
}

.public-center-grid {
  display: grid;
  gap: 16px;
}

.public-center-grid.featured {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.public-center-grid.explore {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-content: start;
}

.public-center-card {
  overflow: hidden;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.public-center-card:hover {
  transform: translateY(-3px);
  border-color: rgba(0, 143, 70, .28);
  box-shadow: 0 20px 44px rgba(7, 20, 71, .11);
}

.center-image {
  position: relative;
  display: block;
  height: 230px;
  overflow: hidden;
  color: inherit;
}

.public-center-card.compact .center-image {
  height: 205px;
}

.center-score,
.center-status {
  position: absolute;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  background: rgba(255,255,255,.92);
  color: var(--navy);
  box-shadow: 0 10px 24px rgba(7, 20, 71, .12);
}

.center-score {
  top: 12px;
  left: 12px;
  gap: 2px;
  padding: 8px 10px;
  color: var(--sportia-green-dark);
  font-size: 20px;
  font-weight: 780;
}

.center-score small {
  font-size: 11px;
  color: var(--navy-muted);
}

.center-status {
  right: 12px;
  bottom: 12px;
  min-height: 28px;
  padding: 0 10px;
  font-size: 11px;
  font-weight: 700;
}

.center-content {
  display: grid;
  gap: 12px;
  padding: 16px;
}

.center-content small {
  color: var(--navy-muted);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
}

.center-opportunity-signals {
  display: grid;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.center-opportunity-signals li {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 26px;
  padding: 5px 8px;
  border: 1px solid rgba(221,230,240,.9);
  border-radius: 999px;
  color: #263f5f;
  background: rgba(246,249,252,.9);
  font-size: 11.5px;
  line-height: 1.2;
}

.center-opportunity-signals li svg {
  flex: 0 0 auto;
  color: var(--sportia-green);
}

.center-opportunity-signals li.verified {
  color: var(--sportia-green-dark);
  border-color: rgba(0,143,70,.22);
  background: rgba(0,143,70,.08);
}

.center-opportunity-signals li.market {
  color: #204b9b;
  border-color: rgba(40,104,216,.18);
  background: rgba(40,104,216,.08);
}

.center-opportunity-signals li.need,
.center-opportunity-signals li.review {
  color: #7a4e04;
  border-color: rgba(242,182,50,.24);
  background: rgba(242,182,50,.11);
}

.sportia-network-engine,
.club-opportunity-rail-section,
.database-live-directory,
.marketplace-demand-board {
  padding-top: 38px;
  padding-bottom: 38px;
}

.network-engine-flow,
.club-opportunity-rail,
.database-signal-board,
.market-demand-grid {
  display: grid;
  gap: 14px;
}

.network-engine-flow {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.network-engine-flow article {
  position: relative;
  display: grid;
  gap: 10px;
  min-height: 218px;
  padding: 20px;
  overflow: hidden;
  border: 1px solid rgba(221,230,240,.95);
  border-radius: 18px;
  background: linear-gradient(145deg, #fff, #f7fbf8);
  box-shadow: 0 12px 30px rgba(7,20,71,.05);
}

.network-engine-flow article::after {
  content: "";
  position: absolute;
  inset: auto -38px -50px auto;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: rgba(0,143,70,.08);
}

.network-engine-flow article b {
  color: rgba(10,32,67,.28);
  font-size: 13px;
  letter-spacing: .08em;
}

.network-engine-flow article > span {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 14px;
  color: var(--sportia-green-dark);
  background: rgba(0,143,70,.1);
}

.network-engine-flow h3,
.club-opportunity-rail h3,
.database-signal-board h3,
.market-demand-grid h3 {
  margin: 0;
  color: var(--navy);
  line-height: 1.2;
}

.network-engine-flow p,
.club-opportunity-rail p,
.database-signal-board p,
.market-demand-grid p {
  margin: 0;
  color: var(--navy-muted);
  font-size: 13px;
  line-height: 1.45;
}

.network-engine-flow small {
  align-self: end;
  display: inline-flex;
  width: max-content;
  max-width: 100%;
  min-height: 28px;
  align-items: center;
  padding: 0 10px;
  border-radius: 999px;
  color: #204b9b;
  background: rgba(40,104,216,.09);
  font-size: 11px;
  font-weight: 760;
}

.club-opportunity-rail {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.club-opportunity-rail article {
  overflow: hidden;
  border: 1px solid rgba(221,230,240,.95);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(7,20,71,.05);
}

.club-opportunity-rail img {
  display: block;
  width: 100%;
  height: 142px;
  object-fit: cover;
}

.club-opportunity-rail div {
  display: grid;
  gap: 9px;
  padding: 16px;
}

.club-opportunity-rail small {
  width: max-content;
  padding: 4px 8px;
  border-radius: 999px;
  color: var(--sportia-green-dark);
  background: rgba(0,143,70,.09);
  font-size: 10.5px;
  font-weight: 780;
  text-transform: uppercase;
}

.club-opportunity-rail button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 36px;
  padding: 0 12px;
  border: 0;
  border-radius: 999px;
  color: #fff;
  background: var(--sportia-green);
  font-size: 12px;
  font-weight: 760;
  cursor: pointer;
}

.database-filter-mock {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 16px;
}

.database-filter-mock button {
  min-height: 36px;
  padding: 0 13px;
  border: 1px solid rgba(221,230,240,.95);
  border-radius: 999px;
  color: var(--navy);
  background: #fff;
  font-size: 12px;
  font-weight: 680;
  cursor: pointer;
}

.database-filter-mock button.active {
  color: #fff;
  border-color: var(--sportia-green);
  background: var(--sportia-green);
}

.database-filter-result {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  margin-bottom: 18px;
  padding: 10px 13px;
  border: 1px solid rgba(40,104,216,.15);
  border-radius: 14px;
  color: #204b9b;
  background: rgba(40,104,216,.06);
  font-size: 12.5px;
  line-height: 1.35;
}

.database-signal-board {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.database-signal-board article,
.market-demand-grid article {
  display: grid;
  gap: 9px;
  padding: 18px;
  border: 1px solid rgba(221,230,240,.95);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 26px rgba(7,20,71,.045);
}

.database-signal-board article > svg {
  color: var(--sportia-green);
}

.market-demand-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.market-demand-grid small {
  color: var(--sportia-green-dark);
  font-size: 11px;
  font-weight: 780;
  text-transform: uppercase;
}

.market-demand-grid span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: max-content;
  max-width: 100%;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  color: #204b9b;
  background: rgba(40,104,216,.08);
  font-size: 11px;
  font-weight: 760;
}

.market-card-tags,
.market-network-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.market-card-tags {
  order: -1;
  margin-bottom: 1px;
}

.market-card-tags button,
.market-network-tags button {
  min-height: 23px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 7px;
  border: 1px solid rgba(150, 169, 195, .22);
  border-radius: 999px;
  color: rgba(44, 61, 91, .58);
  background: rgba(255,255,255,.28);
  box-shadow: none;
  font-size: 10px;
  font-weight: 470;
  letter-spacing: .01em;
  backdrop-filter: blur(6px);
}

.public-page .market-opportunity-body .market-card-tags button,
.market-opportunity-body .market-card-tags button {
  min-height: 18px !important;
  height: 18px !important;
  padding: 0 4px !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: rgba(62, 76, 105, .48) !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 9px !important;
  font-weight: 420 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  transform: none !important;
}

.public-page .market-opportunity-body .market-card-tags button.active,
.public-page .market-opportunity-body .market-card-tags button:hover,
.public-page .market-opportunity-body .market-card-tags button:focus-visible,
.market-opportunity-body .market-card-tags button.active,
.market-opportunity-body .market-card-tags button:hover,
.market-opportunity-body .market-card-tags button:focus-visible {
  color: var(--sportia-green-dark) !important;
  background: transparent !important;
  box-shadow: none !important;
  text-decoration: underline !important;
  text-decoration-color: rgba(0,143,70,.36) !important;
  outline: none !important;
}

.market-card-tags button {
  cursor: pointer;
  text-decoration: underline;
  text-decoration-color: transparent;
  text-underline-offset: 3px;
  transition: border-color .18s ease, background .18s ease, color .18s ease, text-decoration-color .18s ease;
}

.market-card-tags button:hover,
.market-card-tags button:focus-visible {
  border-color: rgba(0,143,70,.22);
  color: var(--sportia-green-dark);
  background: rgba(240, 250, 244, .42);
  text-decoration-color: rgba(0,143,70,.42);
  outline: none;
}

.market-card-tags button::after {
  content: "";
}

.market-action-helper {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 10px;
  margin-top: 4px;
  color: rgba(83, 96, 121, .78);
  font-size: 10.5px;
  line-height: 1.25;
}

.market-action-helper span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.market-action-helper span::before {
  content: "";
  width: 4px;
  height: 4px;
  border-radius: 999px;
  background: rgba(0,143,70,.42);
}

.market-network-tags {
  margin: 16px 0;
}

.market-network-tags button {
  cursor: pointer;
}

.market-network-tags button.active,
.market-network-tags button:hover {
  border-color: rgba(0,143,70,.4);
  color: var(--sportia-green-dark);
  background: linear-gradient(135deg, rgba(240,250,244,.92), rgba(255,255,255,.72));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.88), 0 7px 18px rgba(0,143,70,.095);
  font-weight: 700;
}

.market-opportunity-card .card-button-row {
  margin-top: auto;
}

.market-opportunity-card .card-button-row button {
  flex: 1 1 132px;
}

.market-network-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr);
  gap: 14px;
}

.market-network-map,
.market-network-simulation {
  display: grid;
  gap: 12px;
  padding: 20px;
  border: 1px solid rgba(221,230,240,.95);
  border-radius: 20px;
  background: linear-gradient(145deg, #fff, #f7fbf8);
  box-shadow: 0 12px 30px rgba(7,20,71,.05);
}

.market-network-map h3,
.market-network-simulation h3 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 4px;
  color: var(--navy);
}

.market-network-map h3 svg,
.market-network-simulation h3 svg {
  color: var(--sportia-green);
}

.market-network-row {
  display: grid;
  grid-template-columns: minmax(112px, .75fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.05fr);
  gap: 8px;
  align-items: center;
  min-height: 48px;
  padding: 10px;
  border-radius: 14px;
  background: rgba(246,249,252,.9);
}

.market-network-row strong,
.market-network-row b {
  color: var(--navy);
  font-size: 12px;
}

.market-network-row span,
.market-network-row small {
  color: var(--navy-muted);
  font-size: 11.5px;
  line-height: 1.35;
}

.market-network-row b {
  color: #204b9b;
}

.market-network-simulation div {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  padding: 12px;
  border-radius: 14px;
  background: rgba(0,143,70,.06);
}

.market-network-simulation div > b {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 12px;
  color: var(--sportia-green-dark);
  background: rgba(0,143,70,.12);
  font-size: 11px;
}

.market-network-simulation span {
  display: grid;
  gap: 3px;
}

.market-network-simulation strong {
  color: var(--navy);
  font-size: 13px;
}

.market-network-simulation small {
  color: var(--navy-muted);
  font-size: 12px;
  line-height: 1.4;
}

.market-opportunity-modal .gallery-modal-panel {
  width: min(920px, 100%) !important;
}

.market-modal-body {
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr);
  gap: 14px;
  padding: 18px;
}

.market-modal-summary,
.market-modal-flow {
  display: grid;
  align-content: start;
  gap: 12px;
  padding: 18px;
  border: 1px solid rgba(221,230,240,.95);
  border-radius: 18px;
  background: #fff;
}

.market-modal-summary small {
  width: max-content;
  padding: 5px 9px;
  border-radius: 999px;
  color: var(--sportia-green-dark);
  background: rgba(0,143,70,.08);
  font-size: 11px;
  font-weight: 680;
}

.market-modal-summary h3 {
  margin: 0;
  color: var(--navy);
  font-size: 20px;
}

.market-modal-summary p {
  margin: 0;
  color: var(--navy-muted);
  line-height: 1.5;
}

.market-modal-stakeholders {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.market-modal-stakeholders span {
  padding: 6px 9px;
  border-radius: 999px;
  color: #204b9b;
  background: rgba(40,104,216,.08);
  font-size: 11.5px;
  font-weight: 650;
}

.market-modal-flow div {
  display: grid;
  gap: 4px;
  padding: 12px;
  border-radius: 14px;
  background: rgba(246,249,252,.95);
}

.market-modal-body.match .market-modal-flow div {
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}

.market-modal-body.match .market-modal-flow div > span {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.market-modal-flow div > b {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 12px;
  color: var(--sportia-green-dark);
  background: rgba(0,143,70,.11);
  font-size: 11px;
}

.market-modal-flow strong {
  display: block;
  color: var(--navy);
  font-size: 13px;
  line-height: 1.22;
}

.market-modal-flow small {
  display: block;
  margin-top: 2px;
  color: var(--navy-muted);
  font-size: 12px;
  font-weight: 430;
  line-height: 1.48;
}

.card-button-row,
.public-club-actions,
.public-report-actions,
.market-bridge-actions,
.community-cta-actions,
.report-cta-actions,
.how-cta-actions,
.profile-builder-actions,
.profile-publish-actions {
  display: flex !important;
  flex-flow: row wrap !important;
  align-items: center !important;
  gap: 10px !important;
}

.card-button-row > *,
.public-club-actions > *,
.public-report-actions > *,
.market-bridge-actions > *,
.community-cta-actions > *,
.report-cta-actions > *,
.how-cta-actions > *,
.profile-builder-actions > *,
.profile-publish-actions > * {
  width: auto !important;
  min-width: max-content;
}

.marketplace-crm-section,
.sponsor-supplier-section {
  padding-top: 32px;
  padding-bottom: 32px;
}

.marketplace-crm-board {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.marketplace-crm-board article,
.sponsor-supplier-card {
  border: 1px solid rgba(221,230,240,.95);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(7,20,71,.05);
}

.marketplace-crm-board article {
  display: grid;
  gap: 14px;
  padding: 18px;
}

.marketplace-crm-board header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.marketplace-crm-board header span {
  color: var(--navy);
  font-weight: 780;
}

.marketplace-crm-board header strong {
  display: grid;
  place-items: center;
  min-width: 38px;
  height: 38px;
  border-radius: 13px;
  color: var(--sportia-green-dark);
  background: rgba(0,143,70,.1);
}

.marketplace-crm-board ul,
.sponsor-supplier-card ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.marketplace-crm-board li {
  display: grid;
  gap: 2px;
  padding: 10px;
  border-radius: 12px;
  background: rgba(246,249,252,.9);
}

.marketplace-crm-board li b {
  color: var(--navy);
  font-size: 13px;
}

.marketplace-crm-board li small {
  color: var(--navy-muted);
  font-size: 12px;
}

.marketplace-crm-board button,
.sponsor-supplier-card button {
  min-height: 36px;
  padding: 0 12px;
  border: 1px solid rgba(0,143,70,.18);
  border-radius: 999px;
  color: var(--sportia-green-dark);
  background: rgba(0,143,70,.08);
  font-size: 12px;
  font-weight: 760;
  cursor: pointer;
}

.sponsor-supplier-card {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr) auto;
  gap: 18px;
  align-items: center;
  padding: 24px;
  background: linear-gradient(145deg, #fff, #f7fbf8);
}

.sponsor-supplier-card small {
  color: var(--sportia-green-dark);
  font-size: 11px;
  font-weight: 780;
  text-transform: uppercase;
}

.sponsor-supplier-card h2 {
  margin: 4px 0 8px;
  color: var(--navy);
}

.sponsor-supplier-card p {
  margin: 0;
  color: var(--navy-muted);
  line-height: 1.5;
}

.sponsor-supplier-card li {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  color: var(--navy);
  font-size: 13px;
  line-height: 1.35;
}

.sponsor-supplier-card li svg {
  flex: 0 0 auto;
  color: var(--sportia-green);
}

.public-club-opportunities-section {
  padding-top: 32px;
  padding-bottom: 32px;
}

.public-club-opportunity-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.public-club-opportunity-grid article {
  display: grid;
  gap: 10px;
  min-height: 178px;
  padding: 20px;
  border: 1px solid rgba(221,230,240,.95);
  border-radius: 18px;
  background: linear-gradient(145deg, #fff, #f7fbf8);
  box-shadow: 0 12px 30px rgba(7,20,71,.05);
}

.public-club-opportunity-grid article > span {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  color: var(--sportia-green-dark);
  background: rgba(0,143,70,.1);
}

.public-club-opportunity-grid small {
  color: #204b9b;
  font-size: 11px;
  font-weight: 780;
  text-transform: uppercase;
}

.public-club-opportunity-grid h3 {
  margin: 0;
  color: var(--navy);
  font-size: 17px;
  line-height: 1.22;
}

.public-club-opportunity-grid p {
  margin: 0;
  color: var(--navy-muted);
  font-size: 13px;
  line-height: 1.45;
}

.public-club-opportunity-grid article.market > span,
.public-club-opportunity-grid article.report > span,
.public-club-opportunity-grid article.database > span {
  color: #204b9b;
  background: rgba(40,104,216,.09);
}

.public-club-opportunity-grid article.need > span,
.public-club-opportunity-grid article.review > span,
.public-club-opportunity-grid article.community > span {
  color: #7a4e04;
  background: rgba(242,182,50,.13);
}

@media (max-width: 1180px) {
  .network-engine-flow,
  .club-opportunity-rail,
  .market-demand-grid,
  .market-network-grid,
  .marketplace-crm-board,
  .public-club-opportunity-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .market-network-row {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  .market-modal-body {
    grid-template-columns: 1fr;
  }

  .sponsor-supplier-card {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .network-engine-flow,
  .club-opportunity-rail,
  .database-signal-board,
  .market-demand-grid,
  .market-network-grid,
  .marketplace-crm-board,
  .public-club-opportunity-grid {
    grid-template-columns: 1fr;
  }

  .market-network-row {
    grid-template-columns: 1fr;
  }

  body.public-view .public-image-hotspots a {
    min-width: 38px;
    width: 38px;
    height: 38px;
    padding: 0;
  }

  body.public-view .public-image-hotspots a::before {
    left: 50%;
    width: 10px;
    height: 10px;
    transform: translate(-50%, -50%);
  }

  body.public-view .public-image-hotspots b,
  body.public-view .public-image-hotspots span {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
  }

  .network-engine-flow article {
    min-height: 0;
  }

  .center-opportunity-signals li {
    align-items: flex-start;
    border-radius: 12px;
  }

  .card-button-row,
  .public-club-actions,
  .public-report-actions,
  .market-bridge-actions,
  .community-cta-actions,
  .report-cta-actions,
  .how-cta-actions,
  .profile-builder-actions,
  .profile-publish-actions {
    align-items: stretch !important;
  }

  .card-button-row > *,
  .public-club-actions > *,
  .public-report-actions > *,
  .market-bridge-actions > *,
  .community-cta-actions > *,
  .report-cta-actions > *,
  .how-cta-actions > *,
  .profile-builder-actions > *,
  .profile-publish-actions > * {
    flex: 1 1 180px;
    min-width: 0;
  }
}

.center-content h3 {
  margin: 4px 0 2px;
  font-size: 21px;
  line-height: 1.12;
}

.center-content p {
  margin: 0;
  color: var(--navy-muted);
  font-size: 13px;
}

.center-tags,
.center-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.center-stats b {
  color: var(--navy);
  font-size: 12px;
  font-weight: 640;
}

.center-link {
  justify-self: start;
  min-height: 36px;
  padding: 0 13px;
  color: var(--sportia-green-dark);
  background: #fff;
}

.public-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin: 24px 0 44px;
  padding: 26px;
}

.explore-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 28px;
  align-items: end;
  padding: clamp(42px, 6vw, 74px) 0 30px;
}

.explore-hero h1 {
  font-size: clamp(34px, 4vw, 58px);
}

.explore-hero aside {
  display: grid;
  grid-template-columns: 1fr;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fff;
  overflow: hidden;
}

.explore-hero .public-metric {
  min-height: 92px;
  border-right: 0;
  border-bottom: 1px solid var(--border);
}

.explore-hero .public-metric:last-child {
  border-bottom: 0;
}

.explore-toolbar {
  position: sticky;
  top: 72px;
  z-index: 12;
  display: grid;
  grid-template-columns: minmax(260px, 360px) minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding: 14px 0;
  background: rgba(248, 250, 252, .86);
  backdrop-filter: blur(12px);
}

.explore-search {
  display: flex;
  align-items: center;
  gap: 8px;
  height: 44px;
  padding: 0 14px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fff;
  color: var(--navy-muted);
}

.explore-search input {
  width: 100%;
  border: 0;
  outline: 0;
  color: var(--navy);
  background: transparent;
  font: inherit;
}

.explore-filters {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding-bottom: 2px;
}

.explore-filters button {
  flex: 0 0 auto;
  min-height: 38px;
  padding: 0 14px;
  border: 1px solid var(--border);
  border-radius: 8px;
  color: var(--navy);
  background: #fff;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}

.explore-filters button.active {
  border-color: rgba(0, 143, 70, .36);
  color: var(--sportia-green-dark);
  background: var(--sportia-green-soft);
}

.explore-layout {
  display: grid;
  grid-template-columns: 330px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
  padding: 12px 0 54px;
}

.explore-insight-card {
  position: sticky;
  top: 146px;
  padding: 22px;
}

.public-footer {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) auto;
  gap: 28px;
  align-items: start;
  width: min(1360px, calc(100% - clamp(28px, 6vw, 88px)));
  margin: 0 auto;
  padding: 34px 0 44px;
  border-top: 1px solid var(--border);
}

.public-footer p {
  max-width: 410px;
  margin: 12px 0 0;
  font-size: 13px;
}

.public-footer nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 12px 22px;
}

.public-footer a {
  color: var(--navy);
  font-size: 12px;
  font-weight: 650;
  text-decoration: none;
}

@media (max-width: 1180px) {
  .public-header {
    grid-template-columns: auto auto;
  }

  .public-nav {
    order: 3;
    grid-column: 1 / -1;
    justify-content: flex-start;
    overflow-x: auto;
    padding: 0 0 12px;
  }

  .public-nav a::after {
    bottom: -12px;
  }

  .public-hero,
  .explore-hero,
  .public-video-grid,
  .explore-layout {
    grid-template-columns: 1fr;
  }

  .hero-visual {
    min-height: 520px;
  }

  .explore-insight-card {
    position: static;
  }
}

@media (max-width: 900px) {
  .public-services,
  .public-stat-strip,
  .public-center-grid.featured,
  .public-center-grid.explore {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .explore-toolbar {
    grid-template-columns: 1fr;
  }

  .public-cta,
  .public-footer {
    grid-template-columns: 1fr;
    text-align: left;
  }

  .public-footer nav {
    justify-content: flex-start;
  }
}

@media (max-width: 620px) {
  .public-header {
    min-height: 64px;
    padding: 0 16px;
  }

  .public-brand {
    min-width: 0;
  }

  .public-brand img,
  .public-footer img {
    width: 124px;
  }

  .public-login {
    display: none;
  }

  .public-register {
    min-height: 38px;
    padding: 0 12px;
  }

  .public-page,
  .public-footer {
    width: calc(100% - 28px);
  }

  .public-hero {
    min-height: 0;
    padding-top: 32px;
  }

  .hero-copy h1,
  .explore-hero h1 {
    font-size: 36px;
    line-height: 1.02;
  }

  .hero-visual {
    min-height: 390px;
  }

  .hero-image-card {
    inset: 0;
    clip-path: none;
    border-radius: 8px;
  }

  .hero-network-lines {
    display: none;
  }

  .hero-stat-card {
    left: 14px;
    right: 14px;
    top: auto;
    bottom: 14px;
    width: auto;
    grid-template-columns: repeat(3, 1fr);
  }

  .hero-stat-card i {
    display: none;
  }

  .public-services,
  .audience-grid,
  .public-stat-strip,
  .public-center-grid.featured,
  .public-center-grid.explore {
    grid-template-columns: 1fr;
  }

  .public-stat-strip .public-metric {
    border-right: 0;
    border-bottom: 1px solid var(--border);
  }

  .section-heading.row {
    align-items: start;
    flex-direction: column;
  }

  .center-image {
    height: 210px;
  }

  .video-preview {
    height: 210px;
  }
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel {
  width: min(330px, calc(100% - 32px)) !important;
  max-width: 330px !important;
  pointer-events: auto !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .donut-module {
  grid-template-columns: 116px minmax(0, 136px) !important;
  justify-content: end !important;
  gap: 2px !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .donut-legend li {
  grid-template-columns: 7px minmax(66px, 1fr) 22px !important;
  gap: 2px !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .donut-legend li p {
  padding-right: 0 !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .donut-legend li strong {
  min-width: 22px !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .donut-segment,
body .donut-segment {
  cursor: pointer !important;
  pointer-events: auto !important;
}

body .main-content[data-page="market-insights"] .benchmark-card {
  min-height: 512px !important;
  align-self: start !important;
}

body .main-content[data-page="market-insights"] .benchmark-tools {
  align-items: center !important;
  align-content: flex-start !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scrollbar-width: none !important;
  min-height: 34px !important;
  max-height: 34px !important;
  margin-bottom: 10px !important;
}

body .main-content[data-page="market-insights"] .benchmark-tools::-webkit-scrollbar {
  display: none !important;
}

body .main-content[data-page="market-insights"] .benchmark-filter,
body .main-content[data-page="market-insights"] .benchmark-filter:hover,
body .main-content[data-page="market-insights"] .benchmark-filter:focus-visible,
body .main-content[data-page="market-insights"] .benchmark-filter.active,
body .main-content[data-page="market-insights"] .benchmark-filter[aria-pressed="true"] {
  height: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;
  margin: 0 !important;
  box-shadow: none !important;
}

body .main-content[data-page="market-insights"] .benchmark-table {
  height: 257px !important;
  min-height: 257px !important;
  overflow: auto !important;
}

body .main-content[data-page="market-insights"] .benchmark-table table {
  min-height: 214px !important;
}

/* Foto & Video: balanced gallery grid with centered, non-stretched image assets */
body .main-content[data-page="foto-video"] .editorial-gallery {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-auto-rows: auto !important;
  grid-auto-flow: row !important;
  align-items: stretch !important;
  gap: 12px !important;
}

body .main-content[data-page="foto-video"] .editorial-gallery.video-gallery {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  grid-auto-rows: auto !important;
}

body .main-content[data-page="foto-video"] .editorial-gallery .media-card {
  display: grid !important;
  grid-template-rows: auto auto auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

body .main-content[data-page="foto-video"] .editorial-gallery .media-card:first-child {
  grid-column: auto !important;
  grid-row: auto !important;
  min-height: 0 !important;
}

body .main-content[data-page="foto-video"] .editorial-gallery .media-card:first-child::after {
  content: none !important;
}

body .main-content[data-page="foto-video"] .editorial-gallery.video-gallery .media-card:first-child {
  grid-column: auto !important;
  grid-row: auto !important;
  min-height: 0 !important;
}

body .main-content[data-page="foto-video"] .editorial-gallery .media-cover,
body .gallery-modal-grid .media-cover {
  position: relative !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 16 / 10 !important;
  overflow: hidden !important;
  background: #edf5f8 !important;
}

body .main-content[data-page="foto-video"] .editorial-gallery .media-cover img,
body .gallery-modal-grid .media-cover img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: none !important;
}

body .main-content[data-page="foto-video"] .editorial-gallery.video-gallery .media-cover {
  aspect-ratio: 16 / 9 !important;
}

body .main-content[data-page="foto-video"] .editorial-gallery.video-gallery .media-card:first-child .media-cover {
  aspect-ratio: 16 / 9 !important;
}

body .main-content[data-page="foto-video"] .editorial-gallery .media-card:hover .media-cover img {
  transform: scale(1.025) !important;
}

body .main-content[data-page="foto-video"] .editorial-gallery .media-card strong,
body .main-content[data-page="foto-video"] .editorial-gallery .media-card span {
  min-width: 0 !important;
}

@media (max-width: 1180px) {
  body .main-content[data-page="foto-video"] .editorial-gallery {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  body .main-content[data-page="foto-video"] .editorial-gallery.video-gallery {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  body .main-content[data-page="foto-video"] .editorial-gallery,
  body .main-content[data-page="foto-video"] .editorial-gallery.video-gallery {
    display: flex !important;
    align-items: stretch !important;
    gap: 12px !important;
  }

  body .main-content[data-page="foto-video"] .editorial-gallery .media-card,
  body .main-content[data-page="foto-video"] .editorial-gallery .media-card:first-child,
  body .main-content[data-page="foto-video"] .editorial-gallery.video-gallery .media-card:first-child {
    flex: 0 0 min(78vw, 302px) !important;
    min-height: 236px !important;
  }
}

/* Final micro-alignment: Foto & Video card inset and Network ecosystem donut */
body .main-content[data-page="foto-video"] .editorial-gallery .media-card {
  --media-card-inset: 2px;
  padding: var(--media-card-inset) !important;
  gap: 0 !important;
}

body .main-content[data-page="foto-video"] .editorial-gallery .media-cover {
  border-radius: 6px !important;
}

body .main-content[data-page="foto-video"] .editorial-gallery .media-card strong {
  padding: 8px 8px 0 !important;
}

body .main-content[data-page="foto-video"] .editorial-gallery .media-card span {
  padding: 3px 8px 8px !important;
}

body .main-content[data-page="foto-video"] .editorial-media-card .card-title,
body .main-content[data-page="foto-video"] .editorial-media-card .media-source-note,
body .main-content[data-page="foto-video"] .editorial-media-card .media-gallery-toolbar {
  padding-left: 3px !important;
  padding-right: 3px !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel {
  pointer-events: auto !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .ecosystem-donut {
  grid-template-columns: 116px minmax(0, 136px) !important;
  align-items: center !important;
  justify-content: end !important;
  gap: 2px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .ecosystem-donut .donut-figure {
  isolation: isolate !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .ecosystem-donut .donut-core {
  fill: transparent !important;
  filter: none !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .ecosystem-donut .donut-center {
  background: transparent !important;
  text-shadow: 0 1px 2px rgba(255, 255, 255, .9), 0 0 8px rgba(255, 255, 255, .72) !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .ecosystem-donut .donut-legend {
  width: 136px !important;
  gap: 3px !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .ecosystem-donut .donut-legend li {
  grid-template-columns: 7px max-content 25px !important;
  gap: 2px !important;
  justify-items: start !important;
  align-items: center !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .ecosystem-donut .donut-legend li span {
  justify-self: start !important;
  margin: 0 !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .ecosystem-donut .donut-legend li p {
  justify-self: start !important;
  text-align: left !important;
  padding: 0 !important;
  margin: 0 !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .ecosystem-donut .donut-legend li strong {
  justify-self: end !important;
  min-width: 25px !important;
  text-align: right !important;
}

/* Absolute final audit overrides: keep latest responsive composition authoritative */
body .main-content[data-page="recensioni"] .review-summary-grid {
  grid-template-columns: minmax(300px, 1.08fr) minmax(250px, .86fr) minmax(300px, 1.02fr) !important;
  align-items: start !important;
}

body .main-content[data-page="recensioni"] .review-summary-grid > .category-review-composer {
  order: 1 !important;
}

body .main-content[data-page="recensioni"] .review-summary-grid > .review-categories-card {
  order: 2 !important;
}

body .main-content[data-page="recensioni"] .review-summary-grid > .review-overview-card {
  order: 3 !important;
}

body .main-content[data-page="recensioni"] .review-summary-grid > .category-review-composer,
body .main-content[data-page="recensioni"] .review-summary-grid > .review-categories-card,
body .main-content[data-page="recensioni"] .review-summary-grid > .review-overview-card {
  grid-column: auto !important;
}

body .main-content[data-page="recensioni"] .review-overview-card .review-card-body {
  gap: 8px !important;
}

body .main-content[data-page="recensioni"] .review-overview-card .review-overview {
  grid-template-columns: minmax(100px, .62fr) minmax(0, 1.38fr) !important;
  gap: 10px !important;
  padding: 9px !important;
}

body .main-content[data-page="recensioni"] .review-overview-card .review-score-summary .review-score strong {
  font-size: 38px !important;
  line-height: .95 !important;
}

body .main-content[data-page="recensioni"] .review-overview-card .review-score-summary .stars {
  font-size: 15px !important;
}

body .main-content[data-page="recensioni"] .review-overview-card .review-distribution {
  gap: 5px !important;
}

body .main-content[data-page="recensioni"] .review-overview-card .review-dist-row {
  grid-template-columns: 32px minmax(52px, 1fr) 27px !important;
  min-height: 16px !important;
}

body .main-content[data-page="recensioni"] .review-overview-card .sportia-agent-quote {
  padding: 8px 9px !important;
}

body .main-content[data-page="recensioni"] .review-overview-card .sportia-agent-quote p {
  -webkit-line-clamp: 3 !important;
}

body .main-content[data-page="network"] .ecosystem-full-card {
  overflow: hidden !important;
}

body .main-content[data-page="network"] .ecosystem-integrated {
  min-height: clamp(500px, 47vw, 660px) !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-map {
  display: block !important;
  min-height: clamp(470px, 44vw, 620px) !important;
  padding-top: 12px !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-diagram {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: clamp(440px, 42vw, 590px) !important;
  height: 100% !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel {
  z-index: 3 !important;
}

@media (max-width: 900px) {
  body .main-content[data-page="recensioni"] .review-summary-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  }

  body .main-content[data-page="recensioni"] .review-summary-grid > .review-overview-card {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 720px) {
  body .main-content[data-page="recensioni"] .review-summary-grid {
    grid-template-columns: 1fr !important;
  }

  body .main-content[data-page="network"] .ecosystem-integrated {
    min-height: 0 !important;
  }

  body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-map {
    display: block !important;
    min-height: 430px !important;
    padding-top: 8px !important;
  }

  body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-diagram {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 405px !important;
  }
}

@media (max-width: 620px) {
  body .main-content[data-page="report"] .timeline-card {
    min-height: 0 !important;
    height: auto !important;
    overflow: hidden !important;
  }

  body .main-content[data-page="report"] .timeline-card .timeline {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 9px !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    padding: 4px 0 2px 24px !important;
  }

  body .main-content[data-page="report"] .timeline-card .timeline::before {
    left: 8px !important;
    right: auto !important;
    top: 12px !important;
    bottom: 14px !important;
    width: 2px !important;
    height: auto !important;
    background: linear-gradient(180deg, rgba(0, 143, 70, .28), rgba(0, 143, 70, .9)) !important;
  }

  body .main-content[data-page="report"] .timeline-card .timeline li {
    display: grid !important;
    grid-template-columns: 78px minmax(0, 1fr) !important;
    justify-items: start !important;
    align-content: start !important;
    gap: 9px !important;
    min-height: 0 !important;
    padding: 8px 8px 8px 0 !important;
    border-right: 0 !important;
    border-bottom: 1px solid #eef2f6 !important;
    text-align: left !important;
  }

  body .main-content[data-page="report"] .timeline-card .timeline li::before {
    left: -21px !important;
    top: 14px !important;
    transform: none !important;
  }

  body .main-content[data-page="report"] .timeline-card .timeline time,
  body .main-content[data-page="report"] .timeline-card .timeline li > div {
    justify-items: start !important;
    text-align: left !important;
  }

body .main-content[data-page="report"] .timeline-card .timeline li > div small {
    display: block !important;
  }
}

/* Absolute final public CTA override */
body .public-page .database-cta .public-primary,
body .public-page .database-cta a.public-primary {
  border-color: var(--sportia-green) !important;
  color: #fff !important;
  background: linear-gradient(135deg, #008F46 0%, #079E54 100%) !important;
  box-shadow: 0 10px 22px rgba(0, 0, 0, .14) !important;
}

/* Absolute EOF public landing mobile navigation */
.public-menu-button {
  display: none;
}

.public-drawer-backdrop,
.public-mobile-drawer {
  display: none;
}

@media (max-width: 820px) {
  body.public-view .public-header {
    grid-template-columns: 40px minmax(0, 1fr) auto !important;
    gap: 10px !important;
    min-height: 64px !important;
    padding: 0 12px !important;
  }

  body.public-view .public-menu-button {
    width: 40px !important;
    height: 40px !important;
    display: inline-grid !important;
    place-items: center !important;
    border: 1px solid rgba(0, 143, 70, .24) !important;
    border-radius: 10px !important;
    color: var(--sportia-green-dark) !important;
    background: rgba(234, 247, 239, .78) !important;
    box-shadow: 0 8px 20px rgba(7, 20, 71, .06) !important;
  }

  body.public-view .public-brand {
    justify-self: start !important;
    min-width: 0 !important;
  }

  body.public-view .public-brand img {
    width: 132px !important;
  }

  body.public-view .public-nav {
    display: none !important;
  }

  body.public-view .public-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    min-width: 0 !important;
  }

  body.public-view .public-actions .public-login {
    display: none !important;
  }

  body.public-view .public-actions .public-register {
    min-height: 38px !important;
    height: 38px !important;
    padding: 0 12px !important;
    font-size: 12px !important;
  }

  body.public-view .public-drawer-backdrop {
    position: fixed !important;
    inset: 0 !important;
    z-index: 88 !important;
    display: block !important;
    opacity: 0 !important;
    pointer-events: none !important;
    background: rgba(7, 20, 71, .26) !important;
    transition: opacity .22s ease !important;
  }

  body.public-view.public-menu-open .public-drawer-backdrop {
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  body.public-view .public-mobile-drawer {
    position: fixed !important;
    left: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    z-index: 90 !important;
    width: min(316px, calc(100vw - 34px)) !important;
    height: 100dvh !important;
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) auto !important;
    gap: 18px !important;
    padding: 18px 14px 16px !important;
    border-right: 1px solid rgba(221, 230, 240, .96) !important;
    background:
      radial-gradient(circle at 20% 4%, rgba(0,143,70,.08), transparent 26%),
      rgba(255, 255, 255, .98) !important;
    box-shadow: 22px 0 46px rgba(7, 20, 71, .18) !important;
    transform: translateX(-105%) !important;
    transition: transform .24s ease !important;
  }

  body.public-view.public-menu-open .public-mobile-drawer {
    transform: translateX(0) !important;
  }

  body.public-view .public-drawer-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    padding-bottom: 14px !important;
    border-bottom: 1px solid rgba(221, 230, 240, .82) !important;
  }

  body.public-view .public-drawer-head img {
    width: 136px !important;
    height: auto !important;
    display: block !important;
  }

  body.public-view .public-drawer-head .icon-button {
    width: 36px !important;
    height: 36px !important;
    color: var(--navy) !important;
    background: rgba(248, 250, 252, .9) !important;
  }

  body.public-view .public-mobile-drawer nav {
    display: grid !important;
    align-content: start !important;
    gap: 8px !important;
    overflow-y: auto !important;
    padding-right: 2px !important;
  }

  body.public-view .public-mobile-drawer nav a {
    min-height: 46px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 22px !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 0 12px !important;
    border: 1px solid transparent !important;
    border-radius: 10px !important;
    color: var(--navy) !important;
    text-decoration: none !important;
    font-size: 14px !important;
    font-weight: 640 !important;
  }

  body.public-view .public-mobile-drawer nav a svg {
    justify-self: end !important;
    color: var(--sportia-green) !important;
    transform: rotate(180deg) !important;
  }

  body.public-view .public-mobile-drawer nav a.active,
  body.public-view .public-mobile-drawer nav a:hover {
    border-color: rgba(0, 143, 70, .22) !important;
    color: var(--sportia-green-dark) !important;
    background: linear-gradient(90deg, rgba(234, 247, 239, .96), rgba(248, 250, 252, .65)) !important;
  }

  body.public-view .public-drawer-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    padding-top: 14px !important;
    border-top: 1px solid rgba(221, 230, 240, .82) !important;
  }

  body.public-view .public-drawer-actions .public-login,
  body.public-view .public-drawer-actions .public-register {
    display: inline-flex !important;
    width: 100% !important;
    min-height: 40px !important;
    height: 40px !important;
    padding: 0 10px !important;
    font-size: 12px !important;
  }
}

/* Public landing mobile navigation */
.public-menu-button {
  display: none;
}

.public-drawer-backdrop,
.public-mobile-drawer {
  display: none;
}

@media (max-width: 820px) {
  body.public-view .public-header {
    grid-template-columns: 40px minmax(0, 1fr) auto !important;
    gap: 10px !important;
    min-height: 64px !important;
    padding: 0 12px !important;
  }

  body.public-view .public-menu-button {
    width: 40px !important;
    height: 40px !important;
    display: inline-grid !important;
    place-items: center !important;
    border: 1px solid rgba(0, 143, 70, .24) !important;
    border-radius: 10px !important;
    color: var(--sportia-green-dark) !important;
    background: rgba(234, 247, 239, .78) !important;
    box-shadow: 0 8px 20px rgba(7, 20, 71, .06) !important;
  }

  body.public-view .public-brand {
    justify-self: start !important;
    min-width: 0 !important;
  }

  body.public-view .public-brand img {
    width: 122px !important;
  }

  body.public-view .public-nav {
    display: none !important;
  }

  body.public-view .public-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    min-width: 0 !important;
  }

  body.public-view .public-actions .public-login {
    display: none !important;
  }

  body.public-view .public-actions .public-register {
    min-height: 38px !important;
    height: 38px !important;
    padding: 0 12px !important;
    font-size: 12px !important;
  }

  body.public-view .public-drawer-backdrop {
    position: fixed !important;
    inset: 0 !important;
    z-index: 88 !important;
    display: block !important;
    opacity: 0 !important;
    pointer-events: none !important;
    background: rgba(7, 20, 71, .26) !important;
    transition: opacity .22s ease !important;
  }

  body.public-view.public-menu-open .public-drawer-backdrop {
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  body.public-view .public-mobile-drawer {
    position: fixed !important;
    left: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    z-index: 90 !important;
    width: min(316px, calc(100vw - 34px)) !important;
    height: 100dvh !important;
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) auto !important;
    gap: 18px !important;
    padding: 18px 14px 16px !important;
    border-right: 1px solid rgba(221, 230, 240, .96) !important;
    background:
      radial-gradient(circle at 20% 4%, rgba(0,143,70,.08), transparent 26%),
      rgba(255, 255, 255, .98) !important;
    box-shadow: 22px 0 46px rgba(7, 20, 71, .18) !important;
    transform: translateX(-105%) !important;
    transition: transform .24s ease !important;
  }

  body.public-view.public-menu-open .public-mobile-drawer {
    transform: translateX(0) !important;
  }

  body.public-view .public-drawer-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    padding-bottom: 14px !important;
    border-bottom: 1px solid rgba(221, 230, 240, .82) !important;
  }

  body.public-view .public-drawer-head img {
    width: 136px !important;
    height: auto !important;
    display: block !important;
  }

  body.public-view .public-drawer-head .icon-button {
    width: 36px !important;
    height: 36px !important;
    color: var(--navy) !important;
    background: rgba(248, 250, 252, .9) !important;
  }

  body.public-view .public-mobile-drawer nav {
    display: grid !important;
    align-content: start !important;
    gap: 8px !important;
    overflow-y: auto !important;
    padding-right: 2px !important;
  }

  body.public-view .public-mobile-drawer nav a {
    min-height: 46px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 22px !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 0 12px !important;
    border: 1px solid transparent !important;
    border-radius: 10px !important;
    color: var(--navy) !important;
    text-decoration: none !important;
    font-size: 14px !important;
    font-weight: 640 !important;
  }

  body.public-view .public-mobile-drawer nav a svg {
    justify-self: end !important;
    color: var(--sportia-green) !important;
    transform: rotate(180deg) !important;
  }

  body.public-view .public-mobile-drawer nav a.active,
  body.public-view .public-mobile-drawer nav a:hover {
    border-color: rgba(0, 143, 70, .22) !important;
    color: var(--sportia-green-dark) !important;
    background: linear-gradient(90deg, rgba(234, 247, 239, .96), rgba(248, 250, 252, .65)) !important;
  }

  body.public-view .public-drawer-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    padding-top: 14px !important;
    border-top: 1px solid rgba(221, 230, 240, .82) !important;
  }

  body.public-view .public-drawer-actions .public-login,
  body.public-view .public-drawer-actions .public-register {
    display: inline-flex !important;
    width: 100% !important;
    min-height: 40px !important;
    height: 40px !important;
    padding: 0 10px !important;
    font-size: 12px !important;
  }
}

/* Absolute EOF case-study mobile top-gap fix */
@media (max-width: 1100px) {
  body:not(.public-view) .sidebar {
    position: fixed !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    z-index: 80 !important;
    width: min(292px, calc(100vw - 34px)) !important;
    height: 100dvh !important;
    transform: translateX(-105%) !important;
    transition: transform .22s ease !important;
  }

  body.menu-open:not(.public-view) .sidebar {
    transform: translateX(0) !important;
  }

  body:not(.public-view) .shell {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body:not(.public-view) .main-content {
    grid-column: 1 !important;
  }
}

@media (max-width: 720px) {
  body:not(.public-view) .main-content {
    padding-top: 12px !important;
    margin-top: 0 !important;
  }

  body:not(.public-view) .club-profile,
  body:not(.public-view) .simple-title,
  body:not(.public-view) .profile-with-status {
    margin-top: 0 !important;
  }
}

/* Absolute EOF model QA: repeatable cards for every future club profile */
@keyframes sportiaSidebarDots {
  0%, 100% { opacity: .38; transform: translate(-50%, -4px); }
  50% { opacity: 1; transform: translate(-50%, 5px); }
}

body .sidebar::after {
  content: "" !important;
  position: absolute !important;
  z-index: 4 !important;
  left: 50% !important;
  bottom: 16px !important;
  width: 5px !important;
  height: 5px !important;
  display: block !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--sportia-green) !important;
  box-shadow:
    0 -10px 0 rgba(0, 143, 70, .42),
    0 10px 0 rgba(0, 143, 70, .72) !important;
  transform: translateX(-50%) !important;
  animation: sportiaSidebarDots 1.2s ease-in-out infinite !important;
  pointer-events: none !important;
}

body .main-content[data-page] .card {
  min-width: 0 !important;
}

body .main-content[data-page] .kpi-grid {
  align-items: stretch !important;
}

body .main-content[data-page] .kpi-card {
  display: grid !important;
  grid-template-columns: 40px minmax(0, 1fr) !important;
  align-items: start !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

body .main-content[data-page] .kpi-card .metric-icon {
  align-self: start !important;
  margin-top: 2px !important;
  flex: 0 0 40px !important;
}

body .main-content[data-page] .kpi-card > div:last-of-type {
  min-width: 0 !important;
  display: grid !important;
  align-content: start !important;
  justify-items: start !important;
  min-height: 70px !important;
  padding-top: 2px !important;
}

body .main-content[data-page] .kpi-label {
  display: flex !important;
  align-items: flex-start !important;
  min-height: 30px !important;
  margin-bottom: 3px !important;
  line-height: 1.18 !important;
}

body .main-content[data-page] .kpi-card strong {
  max-width: 100% !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: clip !important;
  font-size: clamp(19px, 1.8vw, 28px) !important;
  line-height: 1.05 !important;
}

body .main-content[data-page] .kpi-note {
  max-width: 100% !important;
  line-height: 1.18 !important;
}

body .public-page .how-window-kpis .public-metric,
body .public-page .database-kpis .public-metric,
body .public-page .ai-summary-grid .public-metric {
  min-width: 0 !important;
  overflow: hidden !important;
}

body .public-page .how-window-kpis .public-metric strong,
body .public-page .database-kpis .public-metric strong,
body .public-page .ai-summary-grid .public-metric strong {
  max-width: 100% !important;
  white-space: nowrap !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  font-size: clamp(18px, 1.7vw, 23px) !important;
}

body .public-page .ai-summary-grid {
  grid-template-columns: minmax(0, 2.25fr) minmax(108px, .72fr) !important;
  gap: 12px !important;
  align-items: stretch !important;
}

body .public-page .ai-summary-left {
  grid-template-columns: minmax(0, .95fr) minmax(148px, 1.22fr) !important;
  gap: 12px !important;
}

body .public-page .ai-summary-left .public-metric:nth-child(2) strong {
  font-size: clamp(17px, 1.35vw, 21px) !important;
}

body .public-page .ai-summary-focus .public-metric {
  min-height: 96px !important;
  padding: 12px 8px !important;
}

body .public-page .database-kpis {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
  width: 100% !important;
  overflow: visible !important;
}

body .public-page .database-kpis .public-metric {
  border: 1px solid rgba(221, 230, 240, .98) !important;
  border-radius: 8px !important;
  padding: 13px 11px !important;
}

body .main-content[data-page="recensioni"] .review-summary-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: start !important;
}

body .main-content[data-page="recensioni"] .review-summary-grid > .card,
body .main-content[data-page="recensioni"] .review-layout > .card {
  min-width: 0 !important;
  overflow: hidden !important;
  border-radius: 8px !important;
}

body .main-content[data-page="recensioni"] .review-overview-card .review-overview {
  grid-template-columns: minmax(100px, .68fr) minmax(0, 1.32fr) !important;
}

body .main-content[data-page="recensioni"] .review-dist-row {
  min-width: 0 !important;
}

body .main-content[data-page="recensioni"] .review-dist-row strong,
body .main-content[data-page="recensioni"] .review-score strong,
body .main-content[data-page="recensioni"] .rating-list strong,
body .main-content[data-page="recensioni"] .review-story-card strong,
body .main-content[data-page="recensioni"] .review-pulse-row strong {
  white-space: nowrap !important;
}

@media (max-width: 980px) {
  body .public-page .ai-summary-grid,
  body .public-page .ai-summary-left {
    grid-template-columns: 1fr !important;
  }

  body .public-page .database-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body .main-content[data-page="recensioni"] .review-summary-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  }

  body .main-content[data-page="recensioni"] .review-summary-grid > .review-overview-card {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 620px) {
  body .public-page .database-kpis {
    grid-template-columns: 1fr !important;
  }

  body .main-content[data-page] .kpi-card strong {
    font-size: clamp(18px, 6vw, 24px) !important;
  }

  body .main-content[data-page="recensioni"] .review-summary-grid {
    grid-template-columns: 1fr !important;
  }

  body .main-content[data-page="recensioni"] .review-summary-grid > .review-overview-card {
    grid-column: auto !important;
  }

  body .main-content[data-page="recensioni"] .review-overview-card .review-overview {
    grid-template-columns: 1fr !important;
  }
}

/* Mobile containment: dense tables, media rails and gantt never bleed outside cards */
body .main-content .card > .table-scroll {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  overscroll-behavior-inline: contain !important;
  -webkit-overflow-scrolling: touch !important;
}

body .main-content :is(.opportunity-portfolio, .benchmark-card, .ranking-benchmark-card, .document-table, .interventions-table, .roadmap-section-card, .editorial-media-card) {
  overflow: hidden !important;
}

body .main-content[data-page="foto-video"] .editorial-media-card .editorial-gallery {
  max-width: 100% !important;
  min-width: 0 !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  overscroll-behavior-inline: contain !important;
}

body .main-content[data-page="interventi-consigliati"] .roadmap-section-card {
  overflow-x: auto !important;
  overflow-y: hidden !important;
  overscroll-behavior-inline: contain !important;
}

body .main-content[data-page="interventi-consigliati"] .roadmap-gantt {
  max-width: none !important;
}

@media (max-width: 720px) {
  body .main-content[data-page="opportunita"] .opportunity-portfolio table,
  body .main-content[data-page="market-insights"] .benchmark-card table,
  body .main-content[data-page="ranking"] .ranking-benchmark-card table,
  body .main-content[data-page="documenti"] .document-table table,
  body .main-content[data-page="interventi-consigliati"] .interventions-table table {
    min-width: 720px !important;
  }

  body .main-content[data-page="foto-video"] .editorial-media-card {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  body .main-content[data-page="foto-video"] .editorial-media-card .card-title,
  body .main-content[data-page="foto-video"] .editorial-media-card .media-source-note,
  body .main-content[data-page="foto-video"] .editorial-media-card .media-gallery-toolbar,
  body .main-content[data-page="foto-video"] .editorial-media-card .editorial-gallery {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
  }

  body .main-content[data-page="foto-video"] .editorial-media-card .media-card {
    flex-basis: min(74vw, 286px) !important;
  }

  body .main-content[data-page="interventi-consigliati"] .roadmap-gantt {
    min-width: 820px !important;
  }
}

/* Final repeatable layout QA: recap cards, AI summary, database cards and sidebar cue */
@keyframes sportiaSidebarCue {
  0%, 100% { opacity: .42; transform: translate(-50%, -3px); }
  50% { opacity: 1; transform: translate(-50%, 5px); }
}

body .sidebar::after {
  content: "" !important;
  left: 50% !important;
  bottom: 16px !important;
  width: 5px !important;
  height: 5px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--sportia-green) !important;
  box-shadow:
    0 -10px 0 rgba(0, 143, 70, .42),
    0 10px 0 rgba(0, 143, 70, .72) !important;
  animation: sportiaSidebarCue 1.2s ease-in-out infinite !important;
}

body .main-content[data-page] .kpi-card {
  align-items: start !important;
}

body .main-content[data-page] .kpi-card .metric-icon {
  align-self: start !important;
  margin-top: 2px !important;
}

body .main-content[data-page] .kpi-card > div:last-of-type {
  align-content: start !important;
  padding-top: 2px !important;
}

body .main-content[data-page] .kpi-label {
  align-items: flex-start !important;
  min-height: 30px !important;
}

body .public-page .how-window-kpis .public-metric,
body .public-page .database-kpis .public-metric,
body .public-page .ai-summary-grid .public-metric {
  overflow: hidden !important;
}

body .public-page .how-window-kpis .public-metric strong,
body .public-page .database-kpis .public-metric strong,
body .public-page .ai-summary-grid .public-metric strong {
  white-space: nowrap !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

body .public-page .ai-summary-grid {
  grid-template-columns: minmax(0, 2.25fr) minmax(108px, .72fr) !important;
  gap: 12px !important;
  align-items: stretch !important;
}

body .public-page .ai-summary-left {
  grid-template-columns: minmax(0, .95fr) minmax(148px, 1.22fr) !important;
  gap: 12px !important;
}

body .public-page .ai-summary-left .public-metric:nth-child(2) strong {
  font-size: clamp(18px, 1.45vw, 22px) !important;
}

body .public-page .ai-summary-focus .public-metric {
  min-height: 96px !important;
  padding: 12px 8px !important;
}

body .public-page .ai-summary-focus .public-metric strong {
  font-size: clamp(20px, 1.6vw, 24px) !important;
}

body .public-page .database-kpis {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
  width: 100% !important;
  overflow: visible !important;
}

body .public-page .database-kpis .public-metric {
  border: 1px solid rgba(221, 230, 240, .98) !important;
  border-radius: 8px !important;
  min-width: 0 !important;
  padding: 13px 11px !important;
}

body .main-content[data-page="recensioni"] .review-summary-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

body .main-content[data-page="recensioni"] .review-summary-grid > .card {
  min-width: 0 !important;
  overflow: hidden !important;
}

body .main-content[data-page="recensioni"] .review-list-card,
body .main-content[data-page="recensioni"] .review-topics-card,
body .main-content[data-page="recensioni"] .review-composer {
  border-radius: 8px !important;
}

@media (max-width: 980px) {
  body .public-page .ai-summary-grid,
  body .public-page .ai-summary-left {
    grid-template-columns: 1fr !important;
  }

  body .public-page .database-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body .main-content[data-page="recensioni"] .review-summary-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  }

  body .main-content[data-page="recensioni"] .review-summary-grid > .review-overview-card {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 620px) {
  body .public-page .database-kpis {
    grid-template-columns: 1fr !important;
  }

  body .main-content[data-page="recensioni"] .review-summary-grid {
    grid-template-columns: 1fr !important;
  }

  body .main-content[data-page="recensioni"] .review-summary-grid > .review-overview-card {
    grid-column: auto !important;
  }
}

/* Definitive UI alignment pass */
body .public-page .public-metric strong,
body .main-content[data-page] .kpi-card strong {
  white-space: nowrap !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  letter-spacing: 0 !important;
}

body .public-page .how-window-kpis,
body .public-page .database-kpis,
body .public-page .ai-summary-grid {
  align-items: stretch !important;
}

body .public-page .how-window-kpis .public-metric,
body .public-page .database-kpis .public-metric {
  display: grid !important;
  grid-template-rows: 24px auto 1fr !important;
  align-content: start !important;
  justify-items: start !important;
  gap: 6px !important;
}

body .public-page .how-window-kpis .public-metric strong,
body .public-page .database-kpis .public-metric strong {
  font-size: clamp(17px, 2vw, 22px) !important;
  line-height: 1.04 !important;
}

body .public-page .how-window-kpis .public-metric span,
body .public-page .database-kpis .public-metric span {
  min-height: 28px !important;
  line-height: 1.2 !important;
}

body .public-page .ai-summary-grid {
  grid-template-columns: minmax(0, 2fr) minmax(132px, .95fr) !important;
}

body .public-page .ai-summary-left {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

body .public-page .ai-summary-grid .public-metric {
  display: grid !important;
  grid-template-rows: 24px auto 1fr !important;
  align-content: start !important;
  justify-items: start !important;
  min-height: 100px !important;
  height: 100% !important;
  border: 1px solid var(--border) !important;
}

body .public-page .ai-summary-grid .public-metric svg {
  align-self: start !important;
  justify-self: start !important;
}

body .public-page .ai-summary-grid .public-metric span {
  line-height: 1.2 !important;
}

body .main-content[data-page] .kpi-card {
  display: grid !important;
  grid-template-columns: 40px minmax(0, 1fr) !important;
  align-items: start !important;
}

body .main-content[data-page] .kpi-card > div:last-of-type {
  display: grid !important;
  align-content: start !important;
  min-height: 66px !important;
  padding-top: 2px !important;
}

body .main-content[data-page] .kpi-label {
  display: flex !important;
  align-items: flex-start !important;
  min-height: 25px !important;
  margin-bottom: 3px !important;
  line-height: 1.18 !important;
}

body .main-content[data-page="documenti"] .kpi-label {
  min-height: 28px !important;
}

body .main-content[data-page="recensioni"] .review-summary-grid {
  grid-template-columns: minmax(300px, 1.04fr) minmax(260px, .9fr) minmax(300px, 1.04fr) !important;
  align-items: stretch !important;
  gap: 12px !important;
}

body .main-content[data-page="recensioni"] .review-summary-grid > .category-review-composer {
  order: 1 !important;
}

body .main-content[data-page="recensioni"] .review-summary-grid > .review-categories-card {
  order: 2 !important;
}

body .main-content[data-page="recensioni"] .review-summary-grid > .review-overview-card {
  order: 3 !important;
}

body .main-content[data-page="recensioni"] .review-summary-grid > .card {
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
}

body .main-content[data-page="recensioni"] .review-card-body,
body .main-content[data-page="recensioni"] .review-topics-body {
  min-height: 0 !important;
}

body .main-content[data-page="recensioni"] .review-overview-card .review-overview {
  grid-template-columns: minmax(112px, .72fr) minmax(0, 1.28fr) !important;
  align-items: center !important;
  gap: 12px !important;
}

body .main-content[data-page="recensioni"] .review-overview-card .review-score-summary {
  align-content: center !important;
}

body .main-content[data-page="recensioni"] .review-overview-card .review-distribution {
  gap: 6px !important;
}

body .main-content[data-page="recensioni"] .review-layout {
  align-items: start !important;
}

body .main-content[data-page="recensioni"] .review-list-card {
  overflow: hidden !important;
}

body .main-content[data-page="recensioni"] .review-topics-card {
  align-self: start !important;
}

body .main-content[data-page="recensioni"] .review-topics-card .review-topics-body {
  min-height: 0 !important;
}

body .main-content[data-page="recensioni"] .review-topics-card .sportia-agent-quote {
  margin-top: 10px !important;
}

body .sidebar nav {
  position: relative !important;
  max-height: calc(100vh - 118px) !important;
  overflow-y: auto !important;
  padding-bottom: 58px !important;
  scrollbar-width: thin !important;
}

body .sidebar nav::after {
  content: "" !important;
  position: sticky !important;
  display: block !important;
  bottom: -58px !important;
  height: 42px !important;
  margin: 8px 0 0 !important;
  border-radius: 0 0 8px 8px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,.98) 56%),
    radial-gradient(circle at 50% 76%, rgba(0,143,70,.16) 0 14px, transparent 15px) !important;
  pointer-events: none !important;
}

body .sidebar nav::before {
  content: none !important;
}

body .sidebar {
  position: sticky !important;
}

body .sidebar::after {
  content: "Scorri ↓" !important;
  position: absolute !important;
  z-index: 4 !important;
  left: 50% !important;
  bottom: 12px !important;
  display: grid !important;
  place-items: center !important;
  width: 76px !important;
  height: 24px !important;
  transform: translateX(-50%) !important;
  border: 1px solid rgba(0,143,70,.24) !important;
  border-radius: 999px !important;
  color: var(--sportia-green-dark) !important;
  background: rgba(255,255,255,.94) !important;
  font-size: 10px !important;
  font-weight: 650 !important;
  pointer-events: none !important;
  box-shadow: 0 8px 20px rgba(7,20,71,.08) !important;
}

body .sidebar-database-link svg.icon-arrow-left {
  transform: none !important;
}

@media (max-width: 900px) {
  body .main-content[data-page="recensioni"] .review-summary-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  }

  body .main-content[data-page="recensioni"] .review-summary-grid > .review-overview-card {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 720px) {
  body .public-page .ai-summary-grid,
  body .public-page .ai-summary-left {
    grid-template-columns: 1fr !important;
  }

  body .main-content[data-page="recensioni"] .review-summary-grid {
    grid-template-columns: 1fr !important;
  }

  body .main-content[data-page="recensioni"] .review-summary-grid > .review-overview-card {
    grid-column: auto !important;
  }

  body .main-content[data-page="recensioni"] .review-overview-card .review-overview {
    grid-template-columns: 1fr !important;
  }
}

/* Mobile final alignment: database bridge CTAs and data-quality cards */
.public-page .marketplace-database-bridge .market-bridge-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

.public-page .marketplace-database-bridge .market-bridge-actions .public-secondary {
  min-width: 248px;
  justify-content: center !important;
}

@media (max-width: 620px) {
  .public-page .marketplace-database-bridge .market-bridge-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: 100%;
  }

  .public-page .marketplace-database-bridge .market-bridge-actions .public-secondary {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 46px !important;
    height: auto !important;
    padding: 10px 14px !important;
    justify-content: center !important;
    text-align: center !important;
    line-height: 1.18 !important;
  }

  .public-page .marketplace-database-bridge .market-bridge-actions .public-secondary svg {
    flex: 0 0 auto !important;
  }

  .public-page .database-quality-grid .quality-card {
    grid-template-columns: 48px minmax(0, 1fr) !important;
    column-gap: 22px !important;
    align-items: center !important;
    padding: 18px 18px 18px 16px !important;
  }

  .public-page .database-quality-grid .quality-card > span {
    width: 48px !important;
    height: 48px !important;
    align-self: center !important;
  }

  .public-page .database-quality-grid .quality-card > span svg {
    width: 24px !important;
    height: 24px !important;
  }

  .public-page .database-quality-grid .quality-card > div {
    padding-left: 2px !important;
  }

  .public-page .database-quality-grid .quality-card h3 {
    margin-top: 5px !important;
  }
}

/* Final alignment pass: stable metrics, case-study KPI titles and sidebar scroll hint */
.public-page .public-metric {
  grid-template-rows: auto auto 1fr;
  align-content: start;
}

.public-page .public-metric strong,
.public-page .database-kpis .public-metric strong,
.public-page .how-window-kpis .public-metric strong,
.public-page .ai-summary-grid .public-metric strong {
  white-space: nowrap !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  letter-spacing: 0;
}

.public-page .how-window-kpis {
  align-items: stretch !important;
}

.public-page .how-window-kpis .public-metric {
  display: grid !important;
  justify-items: start !important;
  align-content: start !important;
  min-width: 0 !important;
  gap: 5px !important;
}

.public-page .how-window-kpis .public-metric strong {
  font-size: clamp(18px, 2.2vw, 24px) !important;
}

.public-page .how-window-kpis .public-metric span {
  min-height: 30px;
  line-height: 1.2 !important;
}

.public-page .ai-summary-grid {
  align-items: stretch !important;
}

.public-page .ai-summary-grid .public-metric {
  display: grid !important;
  grid-template-rows: 24px auto 1fr !important;
  justify-items: start !important;
  align-content: start !important;
  min-height: 100px !important;
  border: 1px solid var(--border) !important;
}

.public-page .ai-summary-grid .public-metric svg {
  align-self: start !important;
  justify-self: start !important;
}

.public-page .ai-summary-grid .ai-summary-focus .public-metric,
.public-page .ai-summary-focus .public-metric {
  height: 100% !important;
}

.public-page .database-kpis {
  align-items: stretch !important;
}

.public-page .database-kpis .public-metric {
  display: grid !important;
  grid-template-rows: 24px auto 1fr !important;
  justify-items: start !important;
  align-content: start !important;
  gap: 6px !important;
}

.public-page .database-kpis .public-metric strong {
  font-size: clamp(17px, 2vw, 21px) !important;
}

.public-page .database-kpis .public-metric span {
  line-height: 1.22 !important;
}

body .main-content[data-page] .kpi-grid {
  align-items: stretch !important;
}

body .main-content[data-page] .kpi-card {
  display: grid !important;
  grid-template-columns: 40px minmax(0, 1fr) !important;
  align-items: center !important;
}

body .main-content[data-page] .kpi-card > div:last-of-type {
  display: grid !important;
  align-content: center !important;
  min-height: 64px !important;
}

body .main-content[data-page] .kpi-label {
  display: flex !important;
  align-items: flex-start !important;
  min-height: 24px !important;
  margin-bottom: 3px !important;
  line-height: 1.18 !important;
}

body .main-content[data-page] .kpi-card strong {
  white-space: nowrap !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

body .main-content[data-page="documenti"] .kpi-label {
  min-height: 27px !important;
}

.sidebar nav {
  position: relative;
  max-height: calc(100vh - 118px);
  overflow-y: auto;
  padding-bottom: 58px;
  scrollbar-width: thin;
}

.sidebar nav::after {
  content: "";
  position: sticky;
  display: block;
  bottom: -58px;
  height: 42px;
  margin: 8px 0 0;
  border-radius: 0 0 8px 8px;
  background:
    linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,.98) 56%),
    radial-gradient(circle at 50% 76%, rgba(0,143,70,.16) 0 14px, transparent 15px);
  pointer-events: none;
}

.sidebar nav::before {
  content: "Scorri";
  position: sticky;
  z-index: 2;
  bottom: 7px;
  display: grid;
  place-items: center;
  width: 72px;
  height: 23px;
  margin: 0 auto -30px;
  border: 1px solid rgba(0,143,70,.24);
  border-radius: 999px;
  color: var(--sportia-green-dark);
  background: rgba(255,255,255,.94);
  font-size: 10px;
  font-weight: 650;
  pointer-events: none;
  box-shadow: 0 8px 20px rgba(7,20,71,.08);
}

.sidebar-database-link svg.icon-arrow-left {
  transform: none !important;
}

/* Come funziona final CTA: readable light banner, no logo/text overlap */
body .public-page .public-cta.how-cta {
  grid-template-columns: clamp(84px, 7.4vw, 104px) minmax(0, 1fr) auto !important;
  gap: clamp(16px, 2.2vw, 24px) !important;
  align-items: center !important;
  background:
    radial-gradient(circle at 7% 42%, rgba(0, 143, 70, .11), transparent 24%),
    linear-gradient(135deg, #FFFFFF 0%, #FAFDFC 54%, #EEF9F3 100%) !important;
}

body .public-page .how-cta .how-cta-badge {
  width: clamp(76px, 6.8vw, 96px) !important;
  height: clamp(62px, 5.8vw, 78px) !important;
  border-radius: 16px !important;
  background: rgba(255, 255, 255, .96) !important;
}

body .public-page .how-cta .how-cta-badge img {
  width: 82% !important;
  max-width: 78px !important;
}

body .public-page .how-cta > div:not(.how-cta-badge):not(.how-cta-actions) {
  min-width: 0 !important;
  max-width: 640px !important;
}

body .public-page .how-cta small {
  color: var(--sportia-green-dark) !important;
  font-weight: 700 !important;
}

body .public-page .how-cta h2 {
  color: var(--navy) !important;
  text-wrap: balance !important;
}

body .public-page .how-cta p {
  color: #33456C !important;
  opacity: 1 !important;
}

body .public-page .how-cta .public-secondary {
  border-color: rgba(0, 143, 70, .46) !important;
  color: var(--navy) !important;
  background: rgba(255, 255, 255, .96) !important;
}

body .public-page .how-cta .public-secondary svg {
  color: var(--sportia-green) !important;
  stroke: var(--sportia-green) !important;
}

@media (max-width: 1180px) {
  body .public-page .public-cta.how-cta {
    grid-template-columns: 1fr !important;
  }

  body .public-page .how-cta .how-cta-badge {
    width: 92px !important;
    height: 72px !important;
  }
}

/* Come funziona: keep the four workflow CTAs aligned on one horizontal baseline */
body .public-page .how-step-grid {
  align-items: stretch !important;
}

body .public-page .how-step-card {
  display: grid !important;
  grid-template-rows: auto auto minmax(42px, auto) minmax(112px, 1fr) auto !important;
  align-content: stretch !important;
  height: 100% !important;
}

body .public-page .how-step-card .metric-icon {
  align-self: start !important;
}

body .public-page .how-step-card h3 {
  align-self: start !important;
}

body .public-page .how-step-card p {
  align-self: start !important;
}

body .public-page .how-step-card a {
  align-self: end !important;
  justify-self: start !important;
  margin-top: 14px !important;
}

/* AI Agent hero summary: complete KPI borders and align the focus card to the trend card column */
body .public-page .ai-summary-grid {
  grid-template-columns: minmax(0, 1fr) minmax(150px, .9fr) !important;
  align-items: stretch !important;
}

body .public-page .ai-summary-left,
body .public-page .ai-summary-focus {
  min-width: 0 !important;
}

body .public-page .ai-summary-focus .public-metric,
body .public-page .ai-summary-grid .public-metric {
  box-sizing: border-box !important;
  height: 100% !important;
  min-height: 106px !important;
  border: 1px solid var(--border) !important;
  border-radius: 8px !important;
  background: #fff !important;
}

body .public-page .ai-summary-focus .public-metric {
  justify-items: center !important;
  text-align: center !important;
}

body .public-page .ai-insight-grid {
  grid-template-columns: minmax(0, 1.1fr) minmax(150px, .9fr) !important;
}

body .public-page .ai-insight-grid article {
  box-sizing: border-box !important;
}

@media (max-width: 620px) {
  body .public-page .how-step-card {
    grid-template-rows: auto auto auto auto auto !important;
  }

  body .public-page .ai-summary-grid,
  body .public-page .ai-insight-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Final marketplace and case-study navigation polish */
.database-back-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 34px;
  padding: 0 12px;
  border: 1px solid rgba(0, 143, 70, .24);
  border-radius: 999px;
  background: rgba(234, 247, 239, .72);
  color: var(--sportia-green-dark);
  font-size: 12px;
  font-weight: 650;
  white-space: nowrap;
  box-shadow: 0 7px 18px rgba(0, 143, 70, .08);
}

.database-back-link svg {
  transform: none;
}

.database-back-link:hover,
.database-back-link:focus-visible {
  border-color: rgba(0, 143, 70, .44);
  background: #fff;
  color: var(--sportia-green);
}

.sidebar .sidebar-database-link {
  width: 100%;
  min-height: 44px;
  margin-top: 14px;
  padding: 0 14px;
  justify-content: flex-start;
  gap: 12px;
  border-radius: 8px;
  border-color: rgba(0, 143, 70, .22);
  background:
    linear-gradient(135deg, rgba(234, 247, 239, .82), rgba(255, 255, 255, .96));
  color: var(--sportia-green-dark);
  font-size: 13px;
  font-weight: 650;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .56);
}

.sidebar .sidebar-database-link svg {
  width: 18px;
  height: 18px;
  color: var(--sportia-green);
}

.sidebar .sidebar-database-link:hover,
.sidebar .sidebar-database-link:focus-visible {
  background: #fff;
  border-color: rgba(0, 143, 70, .44);
  box-shadow: 0 12px 24px rgba(0, 143, 70, .10);
}

.market-opportunity-media span,
.market-list-item > div > span {
  min-height: 23px !important;
  padding: 0 9px !important;
  border: 1px solid rgba(0, 143, 70, .16) !important;
  color: #006C37 !important;
  background: #DDF6E8 !important;
  box-shadow: 0 6px 14px rgba(0, 143, 70, .12) !important;
}

.market-opportunity-media span.purple,
.market-list-item > div > span.purple {
  border-color: rgba(107, 93, 211, .20) !important;
  color: #5143B6 !important;
  background: #ECE9FF !important;
  box-shadow: 0 6px 14px rgba(107, 93, 211, .12) !important;
}

.market-opportunity-media span.blue,
.market-list-item > div > span.blue {
  border-color: rgba(40, 104, 216, .20) !important;
  color: #1D56BD !important;
  background: #E7F0FF !important;
  box-shadow: 0 6px 14px rgba(40, 104, 216, .12) !important;
}

.market-opportunity-media span.orange,
.market-list-item > div > span.orange {
  border-color: rgba(245, 166, 35, .28) !important;
  color: #A95B00 !important;
  background: #FFF0D3 !important;
  box-shadow: 0 6px 14px rgba(245, 166, 35, .14) !important;
}

.market-opportunity-media span,
.market-opportunity-media span.purple,
.market-opportunity-media span.blue,
.market-opportunity-media span.orange {
  border-color: rgba(255,255,255,.78) !important;
  color: #fff !important;
  background: rgba(7,20,71,.72) !important;
  box-shadow: 0 8px 20px rgba(7,20,71,.24) !important;
  text-shadow: 0 1px 2px rgba(7,20,71,.34);
  backdrop-filter: blur(8px);
}

.market-opportunity-media span.green {
  background: rgba(0, 143, 70, .76) !important;
}

@media (max-width: 900px) {
  .header-left > .database-back-link span {
    display: none;
  }

  .header-left > .database-back-link {
    width: 34px;
    padding: 0;
    justify-content: center;
  }

  .sidebar .sidebar-database-link span {
    display: inline;
  }
}

/* Database & Fonti CTA: clearer descriptive copy on the dark green panel */
body .public-page .database-cta p {
  color: #DDF7E8 !important;
  opacity: 1 !important;
  font-weight: 430 !important;
  text-shadow: 0 1px 1px rgba(0, 58, 30, .18);
}

/* Premium public CTA cards: stronger SPORTIA mark, clearer actions */
.public-page .public-cta.connect-cta,
.public-page .public-cta.how-cta,
.public-page .public-cta.ai-agent-cta,
.public-page .public-cta.report-center-cta {
  position: relative !important;
  overflow: hidden !important;
  min-height: 158px !important;
  padding: clamp(22px, 3vw, 32px) !important;
  border: 1px solid rgba(0, 143, 70, .16) !important;
  background:
    radial-gradient(circle at 9% 42%, rgba(0, 143, 70, .13), transparent 21%),
    radial-gradient(circle at 91% 14%, rgba(40, 104, 216, .08), transparent 24%),
    linear-gradient(135deg, #FFFFFF 0%, #F8FCFA 56%, #EEF9F3 100%) !important;
  box-shadow: 0 18px 46px rgba(7, 20, 71, .075) !important;
}

.public-page .public-cta.connect-cta::after,
.public-page .public-cta.how-cta::after,
.public-page .public-cta.ai-agent-cta::after,
.public-page .public-cta.report-center-cta::after {
  content: "";
  position: absolute;
  inset: auto -22px -42px auto;
  width: 210px;
  height: 120px;
  border-radius: 999px;
  background: rgba(0, 143, 70, .055);
  transform: rotate(-13deg);
  pointer-events: none;
}

.public-page .connect-cta::before {
  content: "";
  width: clamp(96px, 10vw, 132px);
  aspect-ratio: 1.52 / 1;
  flex: 0 0 auto;
  border-radius: 18px;
  background:
    url("/public/assets/sportia-logo.png?v=15") center / 86% auto no-repeat,
    linear-gradient(135deg, rgba(255,255,255,.92), rgba(234,247,239,.72));
  border: 1px solid rgba(0, 143, 70, .16);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.72), 0 14px 32px rgba(0, 143, 70, .11);
}

.public-page .how-cta-badge,
.public-page .ai-cta-badge {
  width: clamp(104px, 10.5vw, 142px) !important;
  height: clamp(84px, 8.5vw, 112px) !important;
  flex: 0 0 auto !important;
  border-radius: 20px !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.98), rgba(234,247,239,.72)) !important;
  border: 1px solid rgba(0, 143, 70, .18) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.72), 0 14px 32px rgba(0, 143, 70, .11) !important;
}

.public-page .how-cta-badge img,
.public-page .ai-cta-badge img {
  width: 88% !important;
  max-width: 124px !important;
  height: auto !important;
  object-fit: contain !important;
}

.public-page .report-cta-badge {
  width: clamp(104px, 10.5vw, 142px) !important;
  height: clamp(84px, 8.5vw, 112px) !important;
  flex: 0 0 auto !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 20px !important;
  background:
    linear-gradient(135deg, #FFFFFF 0%, #EAF7EF 100%) !important;
  border: 1px solid rgba(0, 143, 70, .18) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.72), 0 14px 32px rgba(0, 143, 70, .11) !important;
}

.public-page .report-cta-badge img {
  width: 70px !important;
  max-width: 62% !important;
  height: auto !important;
}

.public-page .report-cta-badge span {
  position: absolute !important;
  right: 12px !important;
  bottom: 10px !important;
  width: 38px !important;
  height: 38px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 14px !important;
  color: #fff !important;
  background: linear-gradient(135deg, #008F46, #00A65A) !important;
  box-shadow: 0 8px 18px rgba(0, 143, 70, .22) !important;
}

.public-page .public-cta.connect-cta > div,
.public-page .public-cta.how-cta > div:not(.how-cta-badge):not(.how-cta-actions),
.public-page .public-cta.ai-agent-cta > div:not(.ai-cta-badge),
.public-page .public-cta.report-center-cta .report-cta-copy {
  min-width: min(100%, 330px) !important;
  max-width: 560px !important;
}

.public-page .public-cta.connect-cta small,
.public-page .public-cta.how-cta small,
.public-page .public-cta.ai-agent-cta small,
.public-page .public-cta.report-center-cta small {
  color: var(--sportia-green-dark) !important;
}

.public-page .public-cta.connect-cta h2,
.public-page .public-cta.how-cta h2,
.public-page .public-cta.ai-agent-cta h2,
.public-page .public-cta.report-center-cta h2 {
  max-width: 620px !important;
  margin-bottom: 7px !important;
}

.public-page .public-cta.connect-cta p,
.public-page .public-cta.how-cta p,
.public-page .public-cta.ai-agent-cta p,
.public-page .public-cta.report-center-cta p {
  max-width: 620px !important;
  color: #304369 !important;
  font-weight: 430 !important;
}

.public-page .report-cta-actions,
.public-page .how-cta-actions {
  position: relative !important;
  z-index: 1 !important;
  gap: 12px !important;
  align-items: center !important;
}

.public-page .report-cta-actions .public-primary,
.public-page .report-cta-actions .public-secondary,
.public-page .how-cta-actions .public-primary,
.public-page .how-cta-actions .public-secondary,
.public-page .connect-cta .public-primary,
.public-page .ai-agent-cta .public-primary {
  min-width: 178px !important;
  justify-content: center !important;
}

@media (max-width: 760px) {
  .public-page .public-cta.connect-cta,
  .public-page .public-cta.how-cta,
  .public-page .public-cta.ai-agent-cta,
  .public-page .public-cta.report-center-cta {
    align-items: stretch !important;
  }

  .public-page .connect-cta::before,
  .public-page .how-cta-badge,
  .public-page .ai-cta-badge,
  .public-page .report-cta-badge {
    width: 112px !important;
    height: 86px !important;
  }

  .public-page .report-cta-actions,
  .public-page .how-cta-actions {
    width: 100% !important;
  }
}

/* AI Agent CTA: slightly more compact than the other public CTA cards */
.public-page .public-cta.ai-agent-cta {
  min-height: 138px !important;
  padding: clamp(18px, 2.4vw, 26px) !important;
}

.public-page .ai-agent-cta .ai-cta-badge {
  width: clamp(92px, 8.8vw, 120px) !important;
  height: clamp(72px, 7.2vw, 94px) !important;
  border-radius: 18px !important;
}

.public-page .ai-agent-cta .ai-cta-badge img {
  width: 82% !important;
  max-width: 104px !important;
}

@media (max-width: 760px) {
  .public-page .public-cta.ai-agent-cta {
    min-height: 0 !important;
  }

  .public-page .ai-agent-cta .ai-cta-badge {
    width: 96px !important;
    height: 74px !important;
  }
}

/* Report Center CTA: keep the logo badge compact so it never overlaps the copy */
.public-page .public-cta.report-center-cta {
  grid-template-columns: clamp(82px, 7vw, 98px) minmax(0, 1fr) auto !important;
  gap: clamp(16px, 2vw, 22px) !important;
}

.public-page .report-center-cta .report-cta-badge {
  width: clamp(78px, 6.6vw, 94px) !important;
  height: clamp(66px, 5.8vw, 80px) !important;
  border-radius: 16px !important;
}

.public-page .report-center-cta .report-cta-badge img {
  width: 52px !important;
  max-width: 58% !important;
}

.public-page .report-center-cta .report-cta-badge span {
  right: 8px !important;
  bottom: 7px !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 10px !important;
}

.public-page .report-center-cta .report-cta-badge span svg {
  width: 19px !important;
  height: 19px !important;
}

@media (max-width: 760px) {
  .public-page .public-cta.report-center-cta {
    grid-template-columns: 1fr !important;
  }

  .public-page .report-center-cta .report-cta-badge {
    width: 92px !important;
    height: 72px !important;
  }
}

/* Final subtlety pass: cleaner case-study accents and secondary tabs */
body .main-content[data-page] {
  background:
    radial-gradient(circle at 94% 4%, rgba(0, 143, 70, .035), transparent 28%),
    radial-gradient(circle at 8% 24%, rgba(40, 104, 216, .026), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #fbfdfc 52%, #f8fafc 100%) !important;
}

body .main-content[data-page] .club-profile {
  border-color: rgba(0, 143, 70, .11) !important;
  background: linear-gradient(135deg, rgba(255, 255, 255, .99) 0%, rgba(250, 253, 252, .96) 100%) !important;
}

body .main-content[data-page] .club-profile::after {
  opacity: .11 !important;
}

body .main-content[data-page] .profile-tabs .profile-tab,
body .main-content[data-page] .profile-tabs .profile-tab.active {
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body .main-content[data-page] .profile-tabs .profile-tab.active::before {
  content: none !important;
}

body .main-content[data-page] .profile-tabs .profile-tab::after {
  border-radius: 999px !important;
}

body .main-content[data-page] .experience-card,
body .main-content[data-page] .experience-card.is-primary {
  color: var(--navy) !important;
  border-color: rgba(7, 20, 71, .105) !important;
  background: rgba(255, 255, 255, .94) !important;
  box-shadow: 0 10px 24px rgba(7, 20, 71, .035) !important;
}

body .main-content[data-page] .experience-card::after {
  opacity: 0 !important;
}

body .main-content[data-page] .experience-card small,
body .main-content[data-page] .experience-card.is-primary small {
  color: #64748b !important;
}

body .main-content[data-page] .experience-card svg,
body .main-content[data-page] .experience-card.is-primary svg {
  color: var(--sportia-green) !important;
  stroke: currentColor !important;
}

@media (hover: hover) and (pointer: fine) {
  body .main-content[data-page] .experience-card:hover,
  body .main-content[data-page] .experience-card:focus-visible,
  body .main-content[data-page] .experience-card.is-primary:hover,
  body .main-content[data-page] .experience-card.is-primary:focus-visible {
    color: var(--navy) !important;
    border-color: rgba(0, 143, 70, .34) !important;
    background: linear-gradient(180deg, #fff 0%, rgba(244, 251, 247, .72) 100%) !important;
    box-shadow: 0 16px 34px rgba(7, 20, 71, .075) !important;
  }
}

body .main-content[data-page] .experience-icon,
body .main-content[data-page] .metric-icon {
  background: rgba(234, 247, 239, .58) !important;
  box-shadow: inset 0 0 0 1px rgba(0, 143, 70, .07) !important;
}

body .main-content[data-page] .kpi-card::after {
  opacity: .55 !important;
}

body .main-content[data-page] .right-rail > .ai-card,
body .main-content[data-page] .right-rail > .card:has(.ai-list) {
  background:
    radial-gradient(circle at 100% 0%, rgba(0, 143, 70, .045), transparent 40%),
    linear-gradient(180deg, #fff, #fcfefd) !important;
}

body .main-content[data-page] .card-title h2::before {
  width: 5px !important;
  height: 5px !important;
  flex-basis: 5px !important;
  box-shadow: 0 0 0 4px rgba(0, 143, 70, .055) !important;
}

/* Home hero line-height correction */
body .public-page.home-page .hero-copy h1 {
  max-width: 760px !important;
  line-height: 1.08 !important;
  letter-spacing: 0 !important;
  text-wrap: balance;
}

@media (max-width: 620px) {
  body .public-page.home-page .hero-copy h1 {
    font-size: clamp(35px, 10.5vw, 48px) !important;
    line-height: 1.12 !important;
  }
}

/* Case-study visual uplift: same energy as the public landing, without changing the data structure */
body .main-content[data-page] {
  background:
    radial-gradient(circle at 92% 3%, rgba(0, 143, 70, .065), transparent 30%),
    radial-gradient(circle at 10% 24%, rgba(40, 104, 216, .04), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #fbfdfc 48%, #f8fafc 100%) !important;
}

body .main-content[data-page] .club-profile {
  position: relative;
  overflow: hidden;
  border-color: rgba(0, 143, 70, .16) !important;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .98) 0%, rgba(247, 252, 250, .94) 100%),
    radial-gradient(circle at 100% 0%, rgba(0, 143, 70, .12), transparent 32%) !important;
  box-shadow: 0 22px 54px rgba(12, 32, 67, .055) !important;
}

body .main-content[data-page] .club-profile::after {
  content: "";
  position: absolute;
  right: 26px;
  top: 20px;
  width: 118px;
  height: 118px;
  pointer-events: none;
  opacity: .26;
  background:
    linear-gradient(135deg, rgba(0, 143, 70, .24), transparent 1px) 0 0 / 26px 26px,
    radial-gradient(circle, rgba(0, 143, 70, .55) 1.5px, transparent 2px) 0 0 / 26px 26px;
  mask-image: radial-gradient(circle, #000 0 55%, transparent 78%);
}

body .main-content[data-page] .club-logo {
  border-color: rgba(0, 143, 70, .18) !important;
  box-shadow: 0 18px 36px rgba(7, 20, 71, .06) !important;
}

body .main-content[data-page] .verified {
  border-color: rgba(0, 143, 70, .32) !important;
  background: linear-gradient(135deg, rgba(234, 247, 239, .98), rgba(255, 255, 255, .94)) !important;
  color: var(--sportia-green-dark) !important;
}

body .main-content[data-page] .tag,
body .main-content[data-page] .profile-tabs .profile-tab {
  background: rgba(255, 255, 255, .82);
}

body .main-content[data-page] .profile-tabs {
  gap: 6px !important;
  border-bottom-color: rgba(12, 32, 67, .11) !important;
  max-width: 100% !important;
  min-width: 0 !important;
  flex-wrap: wrap !important;
  overflow: visible !important;
}

body .main-content[data-page] .profile-tabs .profile-tab {
  border-radius: 999px 999px 0 0;
  font-weight: 540 !important;
  min-width: 0 !important;
  white-space: nowrap !important;
}

body .main-content[data-page] .profile-tabs .profile-tab.active {
  color: var(--sportia-green) !important;
  background: linear-gradient(180deg, rgba(234, 247, 239, .92), rgba(255, 255, 255, 0)) !important;
}

/* Map labels: keep club names horizontal and readable even with long names. */
body .map-poi,
body .map-poi.center,
body .sportia-map-label-icon,
body .sportia-map-label-icon span,
body .main-content[data-page="mappa"] .sportia-map-label-icon,
body .main-content[data-page="mappa"] .sportia-map-label-icon span {
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
  white-space: nowrap !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

body .map-poi.center {
  min-width: max-content !important;
  max-width: min(260px, calc(100% - 32px)) !important;
  text-align: center !important;
  line-height: 1.2 !important;
}

body .sportia-map-label-icon,
body .main-content[data-page="mappa"] .sportia-map-label-icon {
  width: max-content !important;
  min-width: 140px !important;
  max-width: 260px !important;
}

body .sportia-map-label-icon span,
body .main-content[data-page="mappa"] .sportia-map-label-icon span {
  display: inline-block !important;
  width: auto !important;
  max-width: 100% !important;
  letter-spacing: .015em !important;
  line-height: 1.15 !important;
}

body .leaflet-tooltip.sportia-map-tooltip,
body .map-modal .leaflet-tooltip.sportia-map-tooltip,
body.public-view .leaflet-tooltip.sportia-map-tooltip,
body .main-content[data-page="mappa"] .leaflet-tooltip.sportia-map-tooltip {
  width: auto !important;
  min-width: max-content !important;
  max-width: min(240px, calc(100vw - 72px)) !important;
  height: auto !important;
  white-space: nowrap !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
  line-height: 1.2 !important;
}

body .main-content[data-page] .experience-strip {
  align-items: stretch;
  margin: 0 0 16px !important;
}

body .main-content[data-page] .experience-card {
  position: relative;
  overflow: hidden;
  border-color: rgba(0, 143, 70, .16) !important;
  background: rgba(255, 255, 255, .92) !important;
  box-shadow: 0 16px 36px rgba(13, 40, 72, .045) !important;
}

body .main-content[data-page] .experience-card::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 2px;
  background: linear-gradient(90deg, var(--sportia-green), rgba(40, 104, 216, .18));
  opacity: .42;
}

body .main-content[data-page] .experience-card.is-primary {
  color: #fff !important;
  border-color: rgba(0, 143, 70, .45) !important;
  background:
    linear-gradient(135deg, #007f40 0%, #08a45a 100%) !important;
  box-shadow: 0 18px 44px rgba(0, 143, 70, .20) !important;
}

body .main-content[data-page] .experience-card.is-primary small,
body .main-content[data-page] .experience-card.is-primary svg {
  color: rgba(255, 255, 255, .9) !important;
  stroke: currentColor !important;
}

body .main-content[data-page] .experience-icon,
body .main-content[data-page] .metric-icon {
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  border-radius: 50% !important;
  background:
    radial-gradient(circle at 32% 24%, rgba(255, 255, 255, .92), rgba(234, 247, 239, .88) 58%, rgba(0, 143, 70, .13) 100%) !important;
  box-shadow: inset 0 0 0 1px rgba(0, 143, 70, .09), 0 10px 22px rgba(0, 143, 70, .08) !important;
}

body .main-content[data-page] .kpi-card,
body .main-content[data-page] .card,
body .main-content[data-page] .right-rail > .card {
  border-color: rgba(7, 20, 71, .105) !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(251, 253, 252, .94)) !important;
  box-shadow: 0 14px 34px rgba(15, 38, 74, .045) !important;
}

body .main-content[data-page] .kpi-card {
  position: relative;
  overflow: hidden;
}

body .main-content[data-page] .kpi-card::after {
  content: "";
  position: absolute;
  right: -34px;
  top: -38px;
  width: 96px;
  height: 96px;
  pointer-events: none;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(0, 143, 70, .12), transparent 68%);
}

body .main-content[data-page] .kpi-card strong,
body .main-content[data-page] .score-big,
body .main-content[data-page] .big-money,
body .main-content[data-page] .ranking-position strong {
  color: var(--sportia-green) !important;
  letter-spacing: 0 !important;
}

body .main-content[data-page] .card-title {
  align-items: center !important;
}

body .main-content[data-page] .card-title h2 {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

body .main-content[data-page] .card-title h2::before {
  content: "";
  width: 7px;
  height: 7px;
  flex: 0 0 7px;
  border-radius: 50%;
  background: var(--sportia-green);
  box-shadow: 0 0 0 5px rgba(0, 143, 70, .09);
}

body .main-content[data-page] .right-rail > .ai-card,
body .main-content[data-page] .right-rail > .card:has(.ai-list) {
  border-color: rgba(0, 143, 70, .24) !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(0, 143, 70, .10), transparent 42%),
    linear-gradient(180deg, #fff, #fbfffd) !important;
}

body .main-content[data-page] .right-rail .outline-action,
body .main-content[data-page] .ghost-button,
body .main-content[data-page] .center-link,
body .main-content[data-page] .see-all {
  border-color: rgba(0, 143, 70, .28) !important;
  color: var(--sportia-green-dark) !important;
  background: rgba(255, 255, 255, .9) !important;
}

@media (hover: hover) and (pointer: fine) {
  body .main-content[data-page] .experience-card:hover,
  body .main-content[data-page] .right-rail .outline-action:hover,
  body .main-content[data-page] .ghost-button:hover,
  body .main-content[data-page] .center-link:hover,
  body .main-content[data-page] .see-all:hover {
    transform: translateY(-2px) !important;
    border-color: rgba(0, 143, 70, .42) !important;
    box-shadow: 0 18px 42px rgba(0, 143, 70, .12) !important;
  }

  body .main-content[data-page] tbody tr:hover td {
    background: rgba(234, 247, 239, .46) !important;
  }
}

body .main-content[data-page] .chart,
body .main-content[data-page] .line-chart,
body .main-content[data-page] .bar-chart,
body .main-content[data-page] .radar-chart,
body .main-content[data-page] .donut-module,
body .main-content[data-page] .funnel-module,
body .main-content[data-page] .modern-matrix {
  filter: saturate(1.05);
}

body .main-content[data-page] .badge,
body .main-content[data-page] .status-pill,
body .main-content[data-page] .priority-pill {
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .42);
}

@media (max-width: 720px) {
  body .main-content[data-page] .club-profile::after {
    width: 88px;
    height: 88px;
    right: -14px;
    top: 22px;
  }

  body .main-content[data-page] .experience-strip {
    grid-template-columns: 1fr !important;
  }

  body .main-content[data-page] .experience-card {
    min-height: 72px !important;
  }

  body .main-content[data-page] .card-title h2::before {
    width: 6px;
    height: 6px;
    flex-basis: 6px;
    box-shadow: 0 0 0 4px rgba(0, 143, 70, .08);
  }
}

/* Final public landing polish: nav, AI panels and Database & Fonti consistency */
.public-header .public-nav {
  gap: clamp(12px, 2vw, 26px) !important;
}

.public-header .public-nav a {
  font-size: 12.5px !important;
  font-weight: 650 !important;
}

.how-ai-panel {
  justify-items: center !important;
  text-align: center !important;
}

.how-ai-panel h3,
.how-ai-panel p,
.how-ai-panel > span {
  width: 100% !important;
  justify-content: center !important;
  text-align: center !important;
}

.how-ai-panel svg {
  max-width: 126px !important;
  justify-self: center !important;
}

.how-match-ring {
  justify-self: center !important;
}

.ai-chat-panel label {
  grid-template-columns: 18px minmax(0, 1fr) 28px !important;
  display: grid !important;
  align-items: center !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.ai-chat-panel label > svg,
.ai-chat-panel label button {
  flex: 0 0 auto !important;
}

.ai-chat-panel input {
  min-width: 0 !important;
  width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.ai-summary-grid {
  grid-template-columns: 1.1fr .9fr !important;
  align-items: stretch !important;
}

.ai-summary-left {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
  min-width: 0 !important;
}

.ai-summary-focus {
  display: grid !important;
  min-width: 0 !important;
}

.ai-summary-grid .public-metric {
  display: grid !important;
  grid-template-columns: 1fr !important;
  justify-items: center !important;
  align-content: center !important;
  gap: 7px !important;
  min-height: 106px !important;
  padding: 14px 12px !important;
  border-right: 0 !important;
  text-align: center !important;
}

.ai-summary-grid .public-metric svg {
  grid-row: auto !important;
  width: 24px !important;
  height: 24px !important;
}

.ai-summary-grid .public-metric strong {
  font-size: clamp(20px, 2vw, 25px) !important;
}

.ai-summary-grid .public-metric span {
  max-width: 100% !important;
  text-align: center !important;
}

.database-preview {
  background:
    radial-gradient(circle at 78% 14%, rgba(0, 143, 70, .07), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,252,250,.94)) !important;
}

.database-panel {
  background:
    radial-gradient(circle at 82% 12%, rgba(0, 143, 70, .045), transparent 32%),
    linear-gradient(180deg, #fff, rgba(248,250,252,.76)) !important;
}

.mini-line-chart .line {
  stroke: #25A965 !important;
  stroke-width: 2.6px !important;
}

.mini-line-chart .area {
  fill: rgba(37, 169, 101, .085) !important;
}

.mini-line-chart .line-dot {
  fill: #fff !important;
  stroke: #25A965 !important;
  stroke-width: 1.8px !important;
}

.mini-bars {
  border-bottom-color: rgba(221, 230, 240, .48) !important;
}

.mini-bars span {
  background: linear-gradient(180deg, #BFEBD0 0%, #52C486 100%) !important;
  box-shadow: inset 0 -10px 18px rgba(0, 108, 55, .08) !important;
}

.database-donut {
  background: conic-gradient(#48B978 0 42%, #8FB3F2 42% 66%, #F5CB6B 66% 84%, #C8D2DF 84% 100%) !important;
}

.public-page .database-cta {
  background:
    radial-gradient(circle at 9% 50%, rgba(255,255,255,.16), transparent 18%),
    linear-gradient(135deg, #024D33, #008F46) !important;
}

.public-page .database-cta .public-primary {
  border: 1px solid var(--sportia-green) !important;
  color: #fff !important;
  background: linear-gradient(135deg, #008F46 0%, #079E54 100%) !important;
  box-shadow: 0 10px 22px rgba(0, 0, 0, .14) !important;
}

.database-case-studies .section-heading.row p {
  max-width: 720px !important;
  margin: 6px 0 0 !important;
}

@media (max-width: 980px) {
  .public-header {
    grid-template-columns: 1fr auto !important;
    gap: 10px !important;
  }

  .public-header .public-brand {
    min-width: 0 !important;
  }

  .public-header .public-nav {
    order: 3 !important;
    grid-column: 1 / -1 !important;
    justify-content: flex-start !important;
    overflow-x: auto !important;
    padding: 0 0 10px !important;
    scrollbar-width: none !important;
  }

  .public-header .public-nav::-webkit-scrollbar {
    display: none !important;
  }

  .public-header .public-nav a::after {
    bottom: -10px !important;
  }

  .ai-summary-grid {
    grid-template-columns: 1fr !important;
  }

  .ai-summary-left {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 620px) {
  .ai-summary-left {
    grid-template-columns: 1fr !important;
  }

  .ai-chat-panel label {
    grid-template-columns: 16px minmax(0, 1fr) 28px !important;
    padding-left: 10px !important;
  }

  .database-dashboard-grid,
  .database-kpis {
    grid-template-columns: 1fr !important;
  }
}

/* Final landing-page card QA: stable cards, responsive grids, no clipped content */
.public-page,
.public-page * {
  min-width: 0;
}

.public-page :is(
  .public-service-card,
  .public-feature-card,
  .public-center-card,
  .public-stat-strip,
  .public-cta,
  .report-type-card,
  .report-preview-card,
  .report-step-card,
  .format-card,
  .market-category-card,
  .market-opportunity-card,
  .market-list-item,
  .market-how-grid article,
  .marketplace-board,
  .report-library-mock,
  .database-preview,
  .database-panel,
  .quality-card,
  .method-card,
  .ai-demo-console,
  .ai-prompt-card,
  .ai-prompt-result,
  .ai-security-card,
  .how-step-card,
  .how-feature-card,
  .how-faq-card
) {
  max-width: 100%;
  overflow-wrap: anywhere;
}

.public-page :is(h1, h2, h3, p, small, span, strong, b, a, button, li) {
  overflow-wrap: anywhere;
}

.public-page :is(.hero-kicker, .hero-trust span, .center-tags span, .report-card-meta span, .market-opportunity-media span, .market-list-item span) {
  white-space: normal;
  line-height: 1.2;
}

.public-page :is(.public-primary, .public-secondary, .public-register, .public-login, .center-link) {
  flex: 0 1 auto;
  max-width: 100%;
  white-space: normal;
  line-height: 1.18;
}

.public-page :is(.public-feature-card, .market-opportunity-card, .report-preview-card, .public-center-card) {
  height: 100%;
}

.public-page .market-opportunity-body,
.public-page .center-content {
  min-height: 0;
}

.public-page .market-opportunity-body button,
.public-page .center-link {
  align-self: end;
}

.public-page .report-card-meta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  align-items: center;
}

.public-page .report-card-meta span {
  justify-self: start;
}

.public-page .report-card-meta small {
  justify-self: end;
  white-space: nowrap;
}

.public-page .market-opportunity-meta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  align-items: end;
}

.public-page .market-opportunity-meta small {
  min-width: 0;
  line-height: 1.25;
}

.public-page .market-opportunity-meta strong {
  white-space: normal;
}

.public-page .report-library-mock,
.public-page .marketplace-board,
.public-page .database-preview,
.public-page .ai-demo-console,
.public-page .how-app-window {
  overflow: hidden;
}

.public-page .report-library-mock aside button,
.public-page .marketplace-filter-row button,
.public-page .marketplace-board-grid aside label,
.public-page .marketplace-board-grid aside span {
  min-width: 0;
}

.public-page .ai-insight-grid li {
  grid-template-columns: 22px minmax(0, 1fr) max-content;
}

.public-page .ai-insight-grid li b {
  justify-self: end;
  white-space: nowrap;
}

.public-page .database-panel,
.public-page .quality-card,
.public-page .method-card,
.public-page .report-type-card,
.public-page .market-category-card {
  align-content: start;
}

.public-page .structure-panel ul,
.public-page .ai-donut-legend,
.public-page .ai-check-list {
  min-width: 0;
}

.public-page .structure-panel li {
  grid-template-columns: 9px minmax(0, 1fr) max-content;
}

.public-page .database-methodology,
.public-page .ai-workflow,
.public-page .report-workflow {
  align-items: stretch;
}

.public-page .public-cta > *,
.public-page .report-cta-copy,
.public-page .report-cta-actions,
.public-page .database-cta > div,
.public-page .ai-agent-cta > div,
.public-page .how-cta > div,
.public-page .market-cta > div {
  min-width: 0;
}

@media (max-width: 1180px) {
  .public-page :is(.report-library-grid, .report-feature-grid, .report-type-grid, .market-opportunity-grid, .market-category-grid, .market-popular-grid, .database-card-grid, .ai-capability-grid, .ai-prompt-grid) {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .public-page :is(.report-benefits, .format-grid, .database-quality-grid, .database-methodology) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 820px) {
  .public-page :is(.report-library-grid, .report-feature-grid, .report-type-grid, .report-benefits, .format-grid, .market-opportunity-grid, .market-category-grid, .market-popular-grid, .market-how-grid, .database-card-grid, .database-quality-grid, .database-methodology, .ai-capability-grid, .ai-prompt-grid) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .public-page .marketplace-board-grid aside {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .public-page .report-library-mock aside {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 620px) {
  .public-page {
    width: calc(100% - 28px) !important;
  }

  .public-page :is(.public-hero, .how-hero, .ai-agent-hero, .database-hero, .marketplace-hero, .report-center-hero) {
    gap: 24px !important;
  }

  .public-page :is(.report-library-grid, .report-feature-grid, .report-type-grid, .report-benefits, .format-grid, .market-opportunity-grid, .market-category-grid, .market-popular-grid, .market-how-grid, .database-card-grid, .database-quality-grid, .database-methodology, .ai-capability-grid, .ai-prompt-grid, .public-services, .audience-grid, .public-center-grid.featured, .public-center-grid.explore) {
    grid-template-columns: 1fr !important;
  }

  .public-page :is(.report-type-card, .market-category-card, .database-card-grid .report-type-card, .ai-capability-grid .report-type-card) {
    min-height: 0 !important;
    padding: 18px !important;
  }

  .public-page .report-benefits .report-type-card,
  .public-page .quality-card,
  .public-page .how-feature-card,
  .public-page .format-card,
  .public-page .report-step-card {
    grid-template-columns: 48px minmax(0, 1fr) !important;
    min-height: 0 !important;
  }

  .public-page .report-step-card > span {
    grid-column: 1 / -1;
    justify-self: start;
  }

  .public-page .marketplace-board-grid aside,
  .public-page .report-library-mock aside,
  .public-page .database-dashboard-grid,
  .public-page .database-kpis,
  .public-page .ai-summary-grid,
  .public-page .ai-insight-grid,
  .public-page .how-window-kpis {
    grid-template-columns: 1fr !important;
  }

  .public-page .market-opportunity-card {
    grid-template-rows: minmax(148px, auto) minmax(0, 1fr) !important;
  }

  .public-page .market-opportunity-media {
    height: auto !important;
    aspect-ratio: 16 / 10;
  }

  .public-page .market-opportunity-body {
    grid-template-rows: auto auto auto auto auto !important;
  }

  .public-page .report-card-meta,
  .public-page .market-opportunity-meta {
    grid-template-columns: 1fr !important;
    gap: 5px;
  }

  .public-page .report-card-meta small,
  .public-page .market-opportunity-meta strong {
    justify-self: start;
    text-align: left;
  }

  .public-page .public-stat-strip {
    overflow: hidden;
  }

  .public-page .public-metric {
    min-height: 92px;
    padding: 16px;
  }

  .public-page .hero-kicker {
    border-radius: 14px;
  }

  .public-page .hero-trust {
    gap: 7px;
  }

  .public-page .public-cta {
    margin-bottom: 32px;
  }
}

/* Final public page CTA alignment */
.public-page .how-copy h1,
.public-page .ai-agent-copy h1,
.public-page .database-copy h1,
.public-page .marketplace-copy h1,
.public-page .report-center-copy h1 {
  max-width: min(760px, 100%);
  font-size: clamp(38px, 4.35vw, 62px);
  line-height: 1.06;
  letter-spacing: -.012em;
  text-wrap: balance;
}

.public-page .how-copy p,
.public-page .ai-agent-copy p,
.public-page .database-copy p,
.public-page .marketplace-copy p,
.public-page .report-center-copy p {
  max-width: min(660px, 100%);
}

@media (max-width: 620px) {
  .public-page .how-copy h1,
  .public-page .ai-agent-copy h1,
  .public-page .database-copy h1,
  .public-page .marketplace-copy h1,
  .public-page .report-center-copy h1 {
    font-size: clamp(34px, 10vw, 40px);
    line-height: 1.08;
  }
}

.public-page .public-cta.report-center-cta {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr) auto;
}

.public-page .public-cta.database-cta {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr) auto;
}

.public-page .public-cta.ai-agent-cta {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr) auto;
}

.public-page .public-cta.how-cta {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr) auto;
}

.public-page .public-cta.market-cta {
  display: grid;
  grid-template-columns: 310px minmax(0, 1fr) auto;
}

.public-page .report-cta-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
}

@media (max-width: 1180px) {
  .public-page .public-cta.report-center-cta,
  .public-page .public-cta.database-cta,
  .public-page .public-cta.ai-agent-cta,
  .public-page .public-cta.how-cta,
  .public-page .public-cta.market-cta {
    grid-template-columns: 1fr;
  }

  .public-page .report-cta-actions {
    justify-content: flex-start;
  }
}

@media (max-width: 620px) {
  .public-page .public-cta.report-center-cta,
  .public-page .public-cta.database-cta,
  .public-page .public-cta.ai-agent-cta,
  .public-page .public-cta.how-cta,
  .public-page .public-cta.market-cta {
    padding: 20px;
  }

  .public-page .report-cta-actions {
    flex-direction: column;
    width: 100%;
  }

  .public-page .report-cta-actions > *,
  .public-page .ai-agent-cta .public-primary,
  .public-page .how-cta .public-primary,
  .public-page .how-cta .public-secondary,
  .public-page .database-cta .public-primary,
  .public-page .market-cta .public-primary {
    width: 100%;
    min-width: 0;
  }
}

/* Closing audit overrides: review order, mobile timeline, ecosystem fill */
body .main-content[data-page="recensioni"] .review-summary-grid {
  grid-template-columns: minmax(300px, 1.08fr) minmax(250px, .86fr) minmax(300px, 1.02fr) !important;
  align-items: start !important;
}

body .main-content[data-page="recensioni"] .review-summary-grid > .category-review-composer {
  order: 1 !important;
}

body .main-content[data-page="recensioni"] .review-summary-grid > .review-categories-card {
  order: 2 !important;
}

body .main-content[data-page="recensioni"] .review-summary-grid > .review-overview-card {
  order: 3 !important;
}

body .main-content[data-page="recensioni"] .review-overview-card .review-card-body {
  gap: 8px !important;
}

body .main-content[data-page="recensioni"] .review-overview-card .review-overview {
  grid-template-columns: minmax(100px, .62fr) minmax(0, 1.38fr) !important;
  gap: 10px !important;
  padding: 9px !important;
}

body .main-content[data-page="recensioni"] .review-overview-card .review-score-summary .review-score strong {
  font-size: 38px !important;
  line-height: .95 !important;
}

body .main-content[data-page="recensioni"] .review-overview-card .review-score-summary .stars {
  font-size: 15px !important;
}

body .main-content[data-page="recensioni"] .review-overview-card .review-distribution {
  gap: 5px !important;
}

body .main-content[data-page="recensioni"] .review-overview-card .review-dist-row {
  grid-template-columns: 32px minmax(52px, 1fr) 27px !important;
  min-height: 16px !important;
}

body .main-content[data-page="recensioni"] .review-overview-card .sportia-agent-quote {
  padding: 8px 9px !important;
}

body .main-content[data-page="recensioni"] .review-overview-card .sportia-agent-quote p {
  -webkit-line-clamp: 3 !important;
}

body .main-content[data-page="network"] .ecosystem-full-card {
  overflow: hidden !important;
}

body .main-content[data-page="network"] .ecosystem-integrated {
  min-height: clamp(500px, 47vw, 660px) !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-map {
  display: block !important;
  min-height: clamp(470px, 44vw, 620px) !important;
  padding-top: 12px !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-diagram {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: clamp(440px, 42vw, 590px) !important;
  height: 100% !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel {
  z-index: 3 !important;
}

@media (max-width: 900px) {
  body .main-content[data-page="recensioni"] .review-summary-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  }

  body .main-content[data-page="recensioni"] .review-summary-grid > .review-overview-card {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 720px) {
  body .main-content[data-page="recensioni"] .review-summary-grid {
    grid-template-columns: 1fr !important;
  }

  body .main-content[data-page="network"] .ecosystem-integrated {
    min-height: 0 !important;
  }

  body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-map {
    display: block !important;
    min-height: 430px !important;
    padding-top: 8px !important;
  }

  body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-diagram {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 405px !important;
  }
}

@media (max-width: 620px) {
  body .main-content[data-page="report"] .timeline-card {
    min-height: 0 !important;
    height: auto !important;
    overflow: hidden !important;
  }

  body .main-content[data-page="report"] .timeline-card .timeline {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 9px !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    padding: 4px 0 2px 24px !important;
  }

  body .main-content[data-page="report"] .timeline-card .timeline::before {
    left: 8px !important;
    right: auto !important;
    top: 12px !important;
    bottom: 14px !important;
    width: 2px !important;
    height: auto !important;
    background: linear-gradient(180deg, rgba(0, 143, 70, .28), rgba(0, 143, 70, .9)) !important;
  }

  body .main-content[data-page="report"] .timeline-card .timeline li {
    display: grid !important;
    grid-template-columns: 78px minmax(0, 1fr) !important;
    justify-items: start !important;
    align-content: start !important;
    gap: 9px !important;
    min-height: 0 !important;
    padding: 8px 8px 8px 0 !important;
    border-right: 0 !important;
    border-bottom: 1px solid #eef2f6 !important;
    text-align: left !important;
  }

  body .main-content[data-page="report"] .timeline-card .timeline li::before {
    left: -21px !important;
    top: 14px !important;
    transform: none !important;
  }

  body .main-content[data-page="report"] .timeline-card .timeline time,
  body .main-content[data-page="report"] .timeline-card .timeline li > div {
    justify-items: start !important;
    text-align: left !important;
  }

  body .main-content[data-page="report"] .timeline-card .timeline li > div small {
    display: block !important;
  }
}

/* Absolute final public CTA override */
body .public-page .database-cta .public-primary,
body .public-page .database-cta a.public-primary {
  border-color: var(--sportia-green) !important;
  color: #fff !important;
  background: linear-gradient(135deg, #008F46 0%, #079E54 100%) !important;
  box-shadow: 0 10px 22px rgba(0, 0, 0, .14) !important;
}

/* Final CTA precedence */
body .public-page .database-cta .public-primary,
body .public-page .database-cta a.public-primary {
  border-color: var(--sportia-green) !important;
  color: #fff !important;
  background: linear-gradient(135deg, #008F46 0%, #079E54 100%) !important;
  box-shadow: 0 10px 22px rgba(0, 0, 0, .14) !important;
}

/* Landing card QA lock: this block intentionally lives at EOF so it wins. */
.public-page,
.public-page *,
.public-footer,
.public-footer * {
  min-width: 0 !important;
  box-sizing: border-box !important;
}

.public-page :is(h1, h2, h3, p, small, span, strong, b, a, button, li, label) {
  overflow-wrap: anywhere !important;
}

.public-page :is(.public-primary, .public-secondary, .public-register, .public-login, .center-link, .market-opportunity-body button, .market-how-grid button) {
  max-width: 100% !important;
  white-space: normal !important;
  line-height: 1.18 !important;
}

.public-page :is(.public-cta, .report-center-cta, .database-cta, .ai-agent-cta, .how-cta, .market-cta) > * {
  min-width: 0 !important;
}

.public-page :is(.report-card-meta, .market-opportunity-meta) {
  min-width: 0 !important;
}

.public-page .report-card-meta {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) max-content !important;
  align-items: center !important;
}

.public-page .report-card-meta span {
  justify-self: start !important;
  max-width: 100% !important;
}

.public-page .report-card-meta small {
  justify-self: end !important;
  white-space: nowrap !important;
}

.public-page .market-opportunity-meta {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) max-content !important;
  align-items: end !important;
  gap: 8px !important;
}

.public-page .market-opportunity-meta strong {
  text-align: right !important;
  white-space: normal !important;
}

.public-page :is(.market-opportunity-card, .report-preview-card, .public-center-card, .public-feature-card) {
  height: 100% !important;
}

.public-page :is(.market-opportunity-body, .center-content, .report-preview-card > div:last-child) {
  min-height: 0 !important;
}

@media (max-width: 1180px) {
  .public-page :is(.report-library-grid, .report-feature-grid, .report-type-grid, .market-opportunity-grid, .market-category-grid, .market-popular-grid, .database-card-grid, .ai-capability-grid, .ai-prompt-grid) {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .public-page :is(.report-benefits, .format-grid, .database-quality-grid, .database-methodology) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 820px) {
  .public-page :is(.report-library-grid, .report-feature-grid, .report-type-grid, .report-benefits, .format-grid, .market-opportunity-grid, .market-category-grid, .market-popular-grid, .market-how-grid, .database-card-grid, .database-quality-grid, .database-methodology, .ai-capability-grid, .ai-prompt-grid) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 620px) {
  .public-page {
    width: calc(100% - 28px) !important;
  }

  .public-page :is(.report-library-grid, .report-feature-grid, .report-type-grid, .report-benefits, .format-grid, .market-opportunity-grid, .market-category-grid, .market-popular-grid, .market-how-grid, .database-card-grid, .database-quality-grid, .database-methodology, .ai-capability-grid, .ai-prompt-grid, .public-services, .audience-grid, .public-center-grid.featured, .public-center-grid.explore, .marketplace-board-grid aside, .report-library-mock aside, .database-dashboard-grid, .database-kpis, .ai-summary-grid, .ai-insight-grid, .how-window-kpis) {
    grid-template-columns: 1fr !important;
  }

  .public-page :is(.report-type-card, .market-category-card, .database-card-grid .report-type-card, .ai-capability-grid .report-type-card, .how-step-card, .how-faq-card, .method-card) {
    min-height: 0 !important;
  }

  .public-page :is(.report-card-meta, .market-opportunity-meta) {
    grid-template-columns: 1fr !important;
    gap: 5px !important;
  }

  .public-page .report-card-meta small,
  .public-page .market-opportunity-meta strong {
    justify-self: start !important;
    text-align: left !important;
  }

  .public-page .market-opportunity-card {
    grid-template-rows: minmax(148px, auto) minmax(0, 1fr) !important;
  }

  .public-page .market-opportunity-media {
    height: auto !important;
    aspect-ratio: 16 / 10 !important;
  }
}

@media (min-width: 901px) {
  body .main-content[data-page="recensioni"] .review-summary-grid {
    grid-template-columns: minmax(300px, 1.08fr) minmax(250px, .86fr) minmax(300px, 1.02fr) !important;
  }

  body .main-content[data-page="recensioni"] .review-summary-grid > .category-review-composer,
  body .main-content[data-page="recensioni"] .review-summary-grid > .review-categories-card,
  body .main-content[data-page="recensioni"] .review-summary-grid > .review-overview-card {
    grid-column: auto !important;
  }
}

/* Final containment guard: keep dense cards inside their frame at every breakpoint */
body .main-content[data-page="ranking"] .ranking-overview {
  box-sizing: border-box !important;
  width: auto !important;
  max-width: calc(100% - 28px) !important;
  margin-left: 14px !important;
  margin-right: 14px !important;
  overflow: hidden !important;
}

body .main-content[data-page="ranking"] .ranking-overview .ranking-metric {
  min-width: 0 !important;
  padding-left: clamp(10px, 1.2vw, 16px) !important;
  padding-right: clamp(10px, 1.2vw, 16px) !important;
}

body .main-content[data-page="ranking"] .ranking-overview .ranking-metric p,
body .main-content[data-page="ranking"] .ranking-overview .ranking-metric small,
body .main-content[data-page="ranking"] .ranking-overview .ranking-metric strong {
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
}

body .main-content[data-page="market-insights"] .market-panorama {
  overflow: hidden !important;
}

body .main-content[data-page="market-insights"] .market-panorama .market-snapshot {
  box-sizing: border-box !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  align-items: stretch !important;
  overflow: hidden !important;
}

body .main-content[data-page="market-insights"] .market-panorama .market-snapshot > .market-stat-block,
body .main-content[data-page="market-insights"] .market-panorama .market-snapshot > .market-stat-block + .market-stat-block {
  min-height: 0 !important;
  padding-top: 11px !important;
  padding-bottom: 11px !important;
}

body .main-content[data-page="market-insights"] .market-stat-block {
  grid-template-rows: minmax(23px, auto) minmax(33px, auto) minmax(32px, auto) !important;
  align-content: center !important;
}

body .main-content[data-page="market-insights"] .market-stat-block > strong {
  font-size: clamp(20px, 1.85vw, 25px) !important;
  line-height: 1 !important;
}

body .main-content[data-page="market-insights"] .market-stat-block > small {
  display: -webkit-box !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 3 !important;
}

body .main-content[data-page="foto-video"] .media-cover {
  overflow: hidden !important;
}

body .main-content[data-page="foto-video"] .media-cover img,
body .gallery-modal .media-cover img,
body .gallery-modal-grid .media-cover img {
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
}

body .main-content[data-page="foto-video"] .media-cover.clay img,
body .main-content[data-page="foto-video"] .media-cover.lake img,
body .main-content[data-page="foto-video"] .media-cover.house img,
body .main-content[data-page="foto-video"] .media-cover.event img,
body .main-content[data-page="foto-video"] .media-cover.academy img,
body .main-content[data-page="foto-video"] .media-cover.team img,
body .main-content[data-page="foto-video"] .media-cover.sunset img,
body .gallery-modal .media-cover.clay img,
body .gallery-modal .media-cover.lake img,
body .gallery-modal .media-cover.house img,
body .gallery-modal .media-cover.event img,
body .gallery-modal .media-cover.academy img,
body .gallery-modal .media-cover.team img,
body .gallery-modal .media-cover.sunset img {
  inset: 0 !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
}

@media (max-width: 620px) {
  body .main-content[data-page="ranking"] .ranking-overview {
    width: auto !important;
    max-width: calc(100% - 24px) !important;
    margin-left: 12px !important;
    margin-right: 12px !important;
  }

  body .main-content[data-page="market-insights"] .market-panorama .market-snapshot {
    grid-template-columns: 1fr !important;
  }

  body .main-content[data-page="market-insights"] .market-panorama .market-snapshot > .market-stat-block,
  body .main-content[data-page="market-insights"] .market-panorama .market-snapshot > .market-stat-block + .market-stat-block {
    padding: 10px 4px !important;
  }

  body .main-content[data-page="foto-video"] .editorial-media-card .editorial-gallery,
  body .main-content[data-page="foto-video"] .editorial-media-card .editorial-gallery.video-gallery {
    display: flex !important;
    grid-template-columns: none !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    scrollbar-width: none !important;
  }

  body .main-content[data-page="foto-video"] .editorial-media-card .editorial-gallery::-webkit-scrollbar,
  body .main-content[data-page="foto-video"] .editorial-media-card .editorial-gallery.video-gallery::-webkit-scrollbar {
    display: none !important;
  }

  body .main-content[data-page="foto-video"] .editorial-media-card .media-card,
  body .main-content[data-page="foto-video"] .editorial-media-card .media-card:first-child,
  body .main-content[data-page="foto-video"] .editorial-media-card .editorial-gallery.video-gallery .media-card:first-child {
    flex: 0 0 min(78vw, 302px) !important;
    scroll-snap-align: start !important;
  }
}

/* Final review/report/network composition pass */
body .main-content[data-page="recensioni"] .review-summary-grid {
  grid-template-columns: minmax(300px, 1.08fr) minmax(250px, .86fr) minmax(300px, 1.02fr) !important;
  align-items: start !important;
}

body .main-content[data-page="recensioni"] .review-summary-grid > .category-review-composer {
  order: 1 !important;
}

body .main-content[data-page="recensioni"] .review-summary-grid > .review-categories-card {
  order: 2 !important;
}

body .main-content[data-page="recensioni"] .review-summary-grid > .review-overview-card {
  order: 3 !important;
}

body .main-content[data-page="recensioni"] .review-overview-card .review-card-body {
  gap: 8px !important;
}

body .main-content[data-page="recensioni"] .review-overview-card .review-overview {
  grid-template-columns: minmax(100px, .62fr) minmax(0, 1.38fr) !important;
  gap: 10px !important;
  padding: 9px !important;
}

body .main-content[data-page="recensioni"] .review-overview-card .review-score-summary {
  gap: 3px !important;
}

body .main-content[data-page="recensioni"] .review-overview-card .review-score-summary .review-score strong {
  font-size: 38px !important;
  line-height: .95 !important;
}

body .main-content[data-page="recensioni"] .review-overview-card .review-score-summary .stars {
  font-size: 15px !important;
  letter-spacing: 0 !important;
}

body .main-content[data-page="recensioni"] .review-overview-card .review-distribution {
  gap: 5px !important;
}

body .main-content[data-page="recensioni"] .review-overview-card .review-dist-row {
  grid-template-columns: 32px minmax(52px, 1fr) 27px !important;
  min-height: 16px !important;
}

body .main-content[data-page="recensioni"] .review-overview-card .sportia-agent-quote {
  padding: 8px 9px !important;
}

body .main-content[data-page="recensioni"] .review-overview-card .sportia-agent-quote p {
  -webkit-line-clamp: 3 !important;
}

body .main-content[data-page="network"] .ecosystem-full-card {
  overflow: hidden !important;
}

body .main-content[data-page="network"] .ecosystem-integrated {
  min-height: clamp(500px, 47vw, 660px) !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-map {
  min-height: clamp(470px, 44vw, 620px) !important;
  padding-top: 12px !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-diagram {
  min-height: clamp(440px, 42vw, 590px) !important;
  height: 100% !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel {
  z-index: 3 !important;
}

@media (max-width: 1120px) {
  body .main-content[data-page="recensioni"] .review-summary-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  }

  body .main-content[data-page="recensioni"] .review-summary-grid > .review-overview-card {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 720px) {
  body .main-content[data-page="recensioni"] .review-summary-grid {
    grid-template-columns: 1fr !important;
  }

  body .main-content[data-page="network"] .ecosystem-integrated {
    min-height: 0 !important;
  }

  body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-map {
    min-height: 430px !important;
    padding-top: 8px !important;
  }

  body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-diagram {
    min-height: 405px !important;
  }
}

@media (max-width: 620px) {
  body .main-content[data-page="report"] .timeline-card {
    min-height: 0 !important;
    height: auto !important;
    overflow: hidden !important;
  }

  body .main-content[data-page="report"] .timeline-card .timeline {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 9px !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    padding: 4px 0 2px 24px !important;
  }

  body .main-content[data-page="report"] .timeline-card .timeline::before {
    left: 8px !important;
    right: auto !important;
    top: 12px !important;
    bottom: 14px !important;
    width: 2px !important;
    height: auto !important;
    background: linear-gradient(180deg, rgba(0,143,70,.28), rgba(0,143,70,.9)) !important;
  }

  body .main-content[data-page="report"] .timeline-card .timeline li {
    display: grid !important;
    grid-template-columns: 78px minmax(0, 1fr) !important;
    justify-items: start !important;
    align-content: start !important;
    gap: 9px !important;
    min-height: 0 !important;
    padding: 8px 8px 8px 0 !important;
    border-right: 0 !important;
    border-bottom: 1px solid #eef2f6 !important;
    text-align: left !important;
  }

  body .main-content[data-page="report"] .timeline-card .timeline li::before {
    left: -21px !important;
    top: 14px !important;
    transform: none !important;
  }

  body .main-content[data-page="report"] .timeline-card .timeline time,
  body .main-content[data-page="report"] .timeline-card .timeline li > div {
    justify-items: start !important;
    text-align: left !important;
  }

  body .main-content[data-page="report"] .timeline-card .timeline li > div small {
    display: block !important;
  }
}

/* Layout containment audit: prevent card body overflow in dense KPI/chart cards */
body .main-content[data-page="ranking"] .ranking-overview {
  box-sizing: border-box !important;
  width: auto !important;
  max-width: calc(100% - 28px) !important;
  margin-left: 14px !important;
  margin-right: 14px !important;
}

body .main-content[data-page="ranking"] .ranking-overview .ranking-metric {
  padding-left: clamp(10px, 1.3vw, 16px) !important;
  padding-right: clamp(10px, 1.3vw, 16px) !important;
}

body .main-content[data-page="ranking"] .ranking-overview .ranking-metric p,
body .main-content[data-page="ranking"] .ranking-overview .ranking-metric small {
  max-width: 100%;
  overflow-wrap: anywhere;
}

body .main-content[data-page="market-insights"] .market-panorama {
  overflow: hidden !important;
}

body .main-content[data-page="market-insights"] .market-panorama .market-snapshot {
  box-sizing: border-box !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  align-items: stretch !important;
}

body .main-content[data-page="market-insights"] .market-panorama .market-snapshot > .market-stat-block,
body .main-content[data-page="market-insights"] .market-panorama .market-snapshot > .market-stat-block + .market-stat-block {
  min-height: 0 !important;
  padding-top: 12px !important;
  padding-bottom: 12px !important;
}

body .main-content[data-page="market-insights"] .market-stat-block {
  grid-template-rows: minmax(24px, auto) minmax(36px, auto) minmax(36px, 1fr) !important;
  align-content: center !important;
}

body .main-content[data-page="market-insights"] .market-stat-block > strong {
  font-size: clamp(20px, 1.9vw, 25px) !important;
  line-height: 1 !important;
}

body .main-content[data-page="market-insights"] .market-stat-block > small {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

body .main-content[data-page="foto-video"] .media-cover {
  overflow: hidden !important;
}

body .main-content[data-page="foto-video"] .media-cover img,
body .gallery-modal .media-cover img,
body .gallery-modal-grid .media-cover img {
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
}

body .main-content[data-page="foto-video"] .media-cover.clay img,
body .main-content[data-page="foto-video"] .media-cover.lake img,
body .main-content[data-page="foto-video"] .media-cover.house img,
body .main-content[data-page="foto-video"] .media-cover.event img,
body .main-content[data-page="foto-video"] .media-cover.academy img,
body .main-content[data-page="foto-video"] .media-cover.team img,
body .main-content[data-page="foto-video"] .media-cover.sunset img,
body .gallery-modal .media-cover.clay img,
body .gallery-modal .media-cover.lake img,
body .gallery-modal .media-cover.house img,
body .gallery-modal .media-cover.event img,
body .gallery-modal .media-cover.academy img,
body .gallery-modal .media-cover.team img,
body .gallery-modal .media-cover.sunset img {
  inset: 0 !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
}

@media (max-width: 620px) {
  body .main-content[data-page="ranking"] .ranking-overview {
    max-width: calc(100% - 24px) !important;
    margin-left: 12px !important;
    margin-right: 12px !important;
  }

  body .main-content[data-page="market-insights"] .market-panorama .market-snapshot {
    grid-template-columns: 1fr !important;
  }

  body .main-content[data-page="market-insights"] .market-panorama .market-snapshot > .market-stat-block,
  body .main-content[data-page="market-insights"] .market-panorama .market-snapshot > .market-stat-block + .market-stat-block {
    padding: 10px 4px !important;
  }
}

/* Final global experience and alignment pass */
body .experience-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0 0 12px;
}

body .experience-card {
  min-width: 0;
  min-height: 64px;
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) 18px;
  align-items: center;
  gap: 10px;
  padding: 11px 12px;
  border: 1px solid rgba(221, 230, 240, .95);
  border-radius: 8px;
  color: var(--navy);
  background: linear-gradient(180deg, #fff 0%, #fbfdfc 100%);
  box-shadow: 0 10px 24px rgba(7, 20, 71, .035);
  font-family: inherit;
  text-align: left;
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

body .experience-card:hover,
body .experience-card:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(0, 143, 70, .34);
  background: linear-gradient(180deg, #fff 0%, #f3fbf7 100%);
  box-shadow: 0 16px 34px rgba(7, 20, 71, .075);
  outline: none;
}

body .experience-card.is-primary {
  border-color: rgba(0, 143, 70, .26);
}

body .experience-icon {
  width: 40px;
  height: 40px;
  min-width: 40px;
  min-height: 40px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--sportia-green);
  background: var(--sportia-green-soft);
}

body .experience-icon svg {
  width: 18px;
  height: 18px;
  stroke-width: 1.55;
}

body .experience-copy {
  min-width: 0;
  display: grid;
  gap: 3px;
}

body .experience-copy strong {
  overflow: hidden;
  color: var(--navy);
  font-size: 12px;
  font-weight: 620;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body .experience-copy small {
  display: -webkit-box;
  overflow: hidden;
  color: #64748b;
  font-size: 10.5px;
  font-weight: 410;
  line-height: 1.25;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

body .experience-card > svg {
  justify-self: end;
  color: var(--sportia-green);
  opacity: .82;
  transform: rotate(180deg);
  transition: transform .18s ease;
}

body .experience-card:hover > svg {
  transform: rotate(180deg) translateX(-2px);
}

body .main-content[data-page="ranking"] .ranking-overview {
  width: 100%;
}

body .main-content[data-page="ranking"] .ranking-overview .ranking-metric {
  min-width: 0;
  overflow: hidden;
}

body .main-content[data-page="ranking"] .ranking-overview .ranking-icon {
  align-self: start;
  justify-self: center;
}

body .main-content[data-page="ranking"] .ranking-benchmark-card,
body .main-content[data-page="market-insights"] .benchmark-card,
body .main-content[data-page="documenti"] .document-table,
body .main-content[data-page="struttura-servizi"] .structure-table,
body .main-content[data-page="dati-finanziari"] .finance-indicators,
body .main-content[data-page="network"] .content-grid.two > .card,
body .main-content[data-page="opportunita"] .opportunity-portfolio,
body .main-content[data-page="interventi-consigliati"] .interventions-table {
  overflow: hidden;
}

body .main-content .card > .table-scroll {
  width: auto;
  max-width: calc(100% - 28px);
  overflow-x: auto;
  overflow-y: hidden;
}

body .main-content[data-page="interventi-consigliati"] .roadmap-section-card {
  padding-bottom: 4px;
}

body .main-content[data-page="interventi-consigliati"] .roadmap-gantt {
  --quarter-count: 16;
  min-width: 960px;
}

body .main-content[data-page="interventi-consigliati"] .roadmap-toggle {
  position: sticky;
  left: 50%;
  transform: translateX(-50%);
  max-width: 280px;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel {
  overflow: visible !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .ecosystem-donut {
  grid-template-columns: 116px minmax(0, 112px) !important;
  gap: 8px !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .ecosystem-donut .donut-legend {
  width: 112px !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .ecosystem-donut .donut-legend li {
  grid-template-columns: 7px minmax(0, 1fr) 24px !important;
  column-gap: 5px !important;
}

body .main-content[data-page="market-insights"] .market-reference-top > .card {
  align-self: stretch;
}

body .main-content[data-page="market-insights"] .market-panorama .market-snapshot {
  height: 100%;
  align-items: stretch;
}

body .main-content[data-page="market-insights"] .market-stat-block {
  display: grid;
  grid-template-rows: 28px minmax(42px, auto) 1fr;
  align-items: center;
}

body .main-content[data-page="market-insights"] .market-stat-block span,
body .main-content[data-page="market-insights"] .market-stat-block small {
  line-height: 1.25;
}

body .main-content[data-page="market-insights"] .market-seasonality .donut-module {
  align-items: center;
  min-height: 184px;
}

body .main-content[data-page="market-insights"] .market-insights-card .insight-list {
  gap: 12px;
}

body .main-content[data-page="report"] .report-preview .preview-panel h3 {
  max-width: 140px;
  margin-inline: auto;
  text-align: center;
  line-height: 1.12;
}

body .main-content[data-page="foto-video"] .editorial-media-card .media-card {
  display: grid;
  grid-template-rows: auto auto auto;
}

body .main-content[data-page="foto-video"] .editorial-media-card .media-card strong,
body .main-content[data-page="foto-video"] .editorial-media-card .media-card span {
  padding-left: 10px;
  padding-right: 10px;
}

body .main-content[data-page="foto-video"] .editorial-media-card .media-cover {
  margin: 3px 3px 0;
  width: calc(100% - 6px);
  border-radius: 7px;
}

@media (min-width: 821px) {
  body .main-content[data-page="market-insights"] .market-reference-top {
    align-items: stretch;
  }

  body .main-content[data-page="market-insights"] .market-reference-top > .card:nth-child(2),
  body .main-content[data-page="market-insights"] .market-reference-top > .card:nth-child(3) {
    min-height: 260px;
  }
}

@media (max-width: 900px) {
  body .experience-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  body .experience-strip {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  body .experience-card {
    min-height: 58px;
    padding: 9px 10px;
  }

  body .experience-copy strong {
    white-space: normal;
  }

  body .main-content[data-page="ranking"] .ranking-overview {
    display: grid !important;
    grid-template-columns: 1fr !important;
    overflow: visible !important;
  }

  body .main-content[data-page="ranking"] .ranking-overview .ranking-metric {
    flex: none !important;
    min-height: 132px !important;
    padding: 14px 14px !important;
  }

  body .main-content[data-page="ranking"] .ranking-overview .ranking-metric + .ranking-metric {
    border-left: 0 !important;
    border-top: 1px solid var(--border) !important;
  }

  body .main-content[data-page="ranking"] .ranking-overview .ranking-metric > strong {
    font-size: 33px !important;
  }

  body .main-content[data-page="foto-video"] .editorial-gallery,
  body .main-content[data-page="foto-video"] .editorial-gallery.video-gallery {
    grid-template-columns: 1fr !important;
  }

  body .main-content[data-page="foto-video"] .editorial-gallery .media-card,
  body .main-content[data-page="foto-video"] .editorial-gallery .media-card:first-child,
  body .main-content[data-page="foto-video"] .editorial-gallery.video-gallery .media-card:first-child {
    min-height: 0 !important;
  }

  body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .ecosystem-donut {
    grid-template-columns: 104px minmax(0, 1fr) !important;
  }

  body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .ecosystem-donut .donut-legend {
    width: 100% !important;
  }

  body .main-content[data-page="market-insights"] .market-stat-block {
    grid-template-rows: auto auto auto;
    gap: 6px;
  }

  body .card-title {
    min-width: 0;
    padding-right: 12px;
  }

  body .card-title h2 {
    min-width: 0;
    overflow-wrap: anywhere;
  }

  body .main-content[data-page="interventi-consigliati"] .roadmap-toggle {
    position: relative !important;
    left: auto !important;
    transform: none !important;
    width: min(260px, calc(100% - 24px)) !important;
    justify-self: start !important;
    margin-left: max(12px, calc((100vw - 280px) / 2)) !important;
    margin-right: 0 !important;
  }
}

/* Recensioni: editorial + review-platform interaction pass */
body .main-content[data-page="recensioni"] {
  --review-accent: #008f46;
  --review-gold: #d7a129;
}

body .main-content[data-page="recensioni"] .review-editorial-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(310px, .82fr);
  gap: 14px;
  margin-bottom: 12px;
}

body .main-content[data-page="recensioni"] .review-hero-copy,
body .main-content[data-page="recensioni"] .review-story-card,
body .main-content[data-page="recensioni"] .review-pulse-row article,
body .main-content[data-page="recensioni"] .review-trust-card {
  border: 1px solid rgba(215, 228, 239, .95);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 32px rgba(17, 40, 72, .045);
}

body .main-content[data-page="recensioni"] .review-hero-copy {
  display: flex;
  min-height: 226px;
  flex-direction: column;
  justify-content: center;
  padding: clamp(18px, 2.3vw, 28px);
  background:
    linear-gradient(115deg, rgba(234, 247, 239, .92), rgba(255,255,255,.9) 46%, rgba(248,250,252,.96)),
    radial-gradient(circle at 92% 18%, rgba(0,143,70,.13), transparent 30%);
}

body .main-content[data-page="recensioni"] .section-eyebrow {
  width: fit-content;
  margin-bottom: 12px;
  padding: 6px 9px;
  border-radius: 999px;
  color: var(--review-accent);
  background: rgba(0, 143, 70, .09);
  font-size: 10px;
  font-weight: 650;
  letter-spacing: .02em;
  text-transform: uppercase;
}

body .main-content[data-page="recensioni"] .review-hero-copy h2 {
  max-width: 760px;
  margin: 0;
  color: var(--navy);
  font-size: clamp(24px, 2.05vw, 34px);
  font-weight: 660;
  letter-spacing: 0;
  line-height: 1.08;
}

body .main-content[data-page="recensioni"] .review-hero-copy p {
  max-width: 690px;
  margin: 12px 0 0;
  color: #3b4d72;
  font-size: 13px;
  font-weight: 410;
  line-height: 1.62;
}

body .main-content[data-page="recensioni"] .review-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

body .main-content[data-page="recensioni"] .review-story-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

body .main-content[data-page="recensioni"] .review-story-card {
  min-width: 0;
  min-height: 106px;
  padding: 13px;
  overflow: hidden;
}

body .main-content[data-page="recensioni"] .review-story-card.large {
  grid-row: span 2;
  display: grid;
  grid-template-rows: minmax(112px, 1fr) auto auto auto;
  min-height: 226px;
  padding: 0;
}

body .main-content[data-page="recensioni"] .review-story-image {
  min-height: 120px;
  background-size: cover;
  background-position: center;
}

body .main-content[data-page="recensioni"] .review-story-card.large > span,
body .main-content[data-page="recensioni"] .review-story-card.large > strong,
body .main-content[data-page="recensioni"] .review-story-card.large > p {
  margin-inline: 13px;
}

body .main-content[data-page="recensioni"] .review-story-card span {
  display: block;
  color: #53637f;
  font-size: 10px;
  font-weight: 560;
}

body .main-content[data-page="recensioni"] .review-story-card strong {
  display: block;
  margin-top: 5px;
  color: var(--review-accent);
  font-size: 30px;
  font-weight: 680;
  line-height: 1;
}

body .main-content[data-page="recensioni"] .review-story-card p {
  margin: 6px 0 0;
  color: #435674;
  font-size: 10.5px;
  font-weight: 420;
  line-height: 1.45;
}

body .main-content[data-page="recensioni"] .review-story-card.accent {
  border-color: rgba(215,161,41,.38);
  background: #fffaf0;
}

body .main-content[data-page="recensioni"] .review-story-card.accent strong {
  color: var(--review-gold);
}

body .main-content[data-page="recensioni"] .review-pulse-row,
body .main-content[data-page="recensioni"] .review-trust-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 12px;
}

body .main-content[data-page="recensioni"] .review-pulse-row article,
body .main-content[data-page="recensioni"] .review-trust-card {
  min-height: 78px;
  padding: 12px 13px;
  text-align: left;
}

body .main-content[data-page="recensioni"] .review-pulse-row strong,
body .main-content[data-page="recensioni"] .review-trust-card strong {
  display: block;
  color: var(--navy);
  font-size: 23px;
  font-weight: 650;
  line-height: 1;
}

body .main-content[data-page="recensioni"] .review-pulse-row span,
body .main-content[data-page="recensioni"] .review-trust-card span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 6px;
  color: #253963;
  font-size: 11px;
  font-weight: 590;
}

body .main-content[data-page="recensioni"] .review-pulse-row small,
body .main-content[data-page="recensioni"] .review-trust-card small {
  display: block;
  margin-top: 4px;
  color: #687995;
  font-size: 9.5px;
  font-weight: 420;
}

body .main-content[data-page="recensioni"] .review-trust-card {
  cursor: pointer;
  transition: transform .16s ease, border-color .16s ease, background .16s ease;
}

body .main-content[data-page="recensioni"] .review-trust-card:hover,
body .main-content[data-page="recensioni"] .review-trust-card.active {
  border-color: rgba(0,143,70,.34);
  background: #f5fbf7;
  transform: translateY(-1px);
}

body .main-content[data-page="recensioni"] .review-trust-card svg {
  color: var(--review-accent);
  stroke-width: 1.7;
}

body .main-content[data-page="recensioni"] .review-summary-grid {
  align-items: stretch;
  gap: 12px;
}

body .main-content[data-page="recensioni"] .review-summary-grid > .card {
  min-height: 0;
}

body .main-content[data-page="recensioni"] .review-feed-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

body .main-content[data-page="recensioni"] .review-feed-head p {
  margin: 0;
  color: #50617e;
  font-size: 11.5px;
  font-weight: 420;
  line-height: 1.45;
}

body .main-content[data-page="recensioni"] .review-feed-tabs {
  margin-bottom: 12px !important;
}

body .main-content[data-page="recensioni"] .review-list-card.pulse-feed {
  animation: reviewFeedPulse .42s ease;
}

@keyframes reviewFeedPulse {
  0% { border-color: rgba(0,143,70,.42); box-shadow: 0 0 0 0 rgba(0,143,70,.13); }
  100% { border-color: var(--border); box-shadow: var(--shadow); }
}

body .main-content[data-page="recensioni"] .review-item {
  border-radius: 8px;
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}

body .main-content[data-page="recensioni"] .review-item:hover {
  transform: translateY(-1px);
  border-color: rgba(0,143,70,.28);
  box-shadow: 0 12px 28px rgba(17,40,72,.06);
}

body .main-content[data-page="recensioni"] .category-review-composer {
  scroll-margin-top: 96px;
}

body .main-content[data-page="recensioni"] .category-review-composer textarea:focus {
  border-color: rgba(0,143,70,.45);
  box-shadow: 0 0 0 3px rgba(0,143,70,.08);
  outline: none;
}

body .main-content[data-page="recensioni"] .review-topics-card {
  align-self: start !important;
  height: auto !important;
  min-height: 0 !important;
}

body .main-content[data-page="recensioni"] .review-topics-card .review-topics-body {
  min-height: 0 !important;
  gap: 10px !important;
}

body .main-content[data-page="recensioni"] .review-topics-card .bar-list {
  gap: 8px !important;
}

body .main-content[data-page="recensioni"] .review-topics-card .sportia-agent-quote {
  margin-top: 2px !important;
  padding: 9px 10px !important;
}

body .main-content[data-page="recensioni"] .review-topics-card .outline-action {
  margin-top: 2px !important;
}

body .main-content[data-page="recensioni"] .review-overview-card {
  height: auto !important;
  min-height: 0 !important;
}

body .main-content[data-page="recensioni"] .review-overview-card .review-card-body {
  min-height: 0 !important;
  gap: 10px !important;
}

body .main-content[data-page="recensioni"] .review-overview-card .review-overview {
  display: grid !important;
  grid-template-columns: minmax(112px, .68fr) minmax(0, 1.32fr) !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 10px !important;
  border: 1px solid rgba(222, 231, 240, .9);
  border-radius: 8px;
  background: linear-gradient(180deg, #fff, #fbfdfc);
}

body .main-content[data-page="recensioni"] .review-overview-card .review-overview > div:first-child,
body .main-content[data-page="recensioni"] .review-overview-card .review-score-summary {
  padding: 0 !important;
  border: 0 !important;
}

body .main-content[data-page="recensioni"] .review-overview-card .review-score-summary {
  display: grid !important;
  align-content: center !important;
  justify-items: start !important;
  gap: 4px !important;
}

body .main-content[data-page="recensioni"] .review-overview-card .review-score-summary .review-score strong {
  font-size: 42px !important;
}

body .main-content[data-page="recensioni"] .review-overview-card .review-score-summary .stars {
  font-size: 18px !important;
}

body .main-content[data-page="recensioni"] .review-overview-card .review-distribution {
  gap: 7px !important;
}

body .main-content[data-page="recensioni"] .review-overview-card .review-dist-row {
  grid-template-columns: 38px minmax(70px, 1fr) 30px !important;
  min-height: 18px !important;
  font-size: 9.5px !important;
}

body .main-content[data-page="recensioni"] .review-overview-card .sportia-agent-quote {
  margin-top: 0 !important;
  padding: 9px 10px !important;
}

body .main-content[data-page="recensioni"] .review-overview-card .sportia-agent-quote p {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}

@media (max-width: 1180px) {
  body .main-content[data-page="recensioni"] .review-story-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body .main-content[data-page="recensioni"] .review-story-card.large {
    grid-row: auto;
  }
}

@media (max-width: 700px) {
  body .main-content[data-page="recensioni"] .review-editorial-hero {
    grid-template-columns: 1fr;
  }

  body .main-content[data-page="recensioni"] .review-pulse-row,
  body .main-content[data-page="recensioni"] .review-trust-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body .main-content[data-page="recensioni"] .review-story-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 540px) {
  body .main-content[data-page="recensioni"] .review-hero-copy {
    min-height: 0;
    padding: 16px;
  }

  body .main-content[data-page="recensioni"] .review-hero-copy h2 {
    font-size: 23px;
    line-height: 1.12;
  }

  body .main-content[data-page="recensioni"] .review-hero-copy p {
    font-size: 12px;
  }

  body .main-content[data-page="recensioni"] .review-story-grid {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    padding-bottom: 4px;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  body .main-content[data-page="recensioni"] .review-story-grid::-webkit-scrollbar {
    display: none;
  }

  body .main-content[data-page="recensioni"] .review-story-card,
  body .main-content[data-page="recensioni"] .review-story-card.large {
    flex: 0 0 min(74vw, 250px);
    min-height: 158px;
    scroll-snap-align: start;
  }

  body .main-content[data-page="recensioni"] .review-story-card.large {
    grid-template-rows: 82px auto auto auto;
  }

  body .main-content[data-page="recensioni"] .review-story-image {
    min-height: 82px;
  }

  body .main-content[data-page="recensioni"] .review-hero-actions,
  body .main-content[data-page="recensioni"] .review-feed-head {
    align-items: stretch;
    flex-direction: column;
  }

  body .main-content[data-page="recensioni"] .review-hero-actions button,
  body .main-content[data-page="recensioni"] .review-feed-head button {
    width: 100%;
  }

  body .main-content[data-page="recensioni"] .review-pulse-row,
  body .main-content[data-page="recensioni"] .review-trust-strip {
    grid-template-columns: 1fr;
  }

  body .main-content[data-page="recensioni"] .review-topics-card .review-topics-body {
    gap: 8px !important;
  }

  body .main-content[data-page="recensioni"] .review-overview-card .review-overview {
    grid-template-columns: 104px minmax(0, 1fr) !important;
    gap: 9px !important;
    padding: 8px !important;
  }

  body .main-content[data-page="recensioni"] .review-overview-card .review-score-summary {
    grid-template-columns: 1fr !important;
    align-items: start !important;
    gap: 3px !important;
  }

  body .main-content[data-page="recensioni"] .review-overview-card .review-score-summary p {
    grid-column: auto;
  }

  body .main-content[data-page="recensioni"] .review-overview-card .review-score-summary .review-score strong {
    font-size: 35px !important;
  }

  body .main-content[data-page="recensioni"] .review-overview-card .review-score-summary .stars {
    font-size: 15px !important;
  }

  body .main-content[data-page="recensioni"] .review-overview-card .review-distribution {
    gap: 5px !important;
  }

  body .main-content[data-page="recensioni"] .review-overview-card .review-dist-row {
    grid-template-columns: 33px minmax(52px, 1fr) 27px !important;
    min-height: 16px !important;
  }
}

/* Latest adjustment: move ecosystem donut and legend text closer to the percentages */
body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel h3 {
  width: 150px !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .ecosystem-donut {
  grid-template-columns: 116px minmax(0, 75px) !important;
  gap: 10px !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .ecosystem-donut .donut-legend {
  width: 75px !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .ecosystem-donut .donut-legend li {
  grid-template-columns: 7px minmax(0, 1fr) auto !important;
  column-gap: 5px !important;
}

/* Network ecosystem legend: tighter text-to-percentage spacing */
body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel h3 {
  width: 150px !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .ecosystem-donut {
  grid-template-columns: 116px minmax(0, 150px) !important;
  gap: 6px !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .ecosystem-donut .donut-legend {
  width: 150px !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .ecosystem-donut .donut-segment {
  cursor: pointer !important;
  pointer-events: auto !important;
}

@media (max-width: 540px) {
  body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .ecosystem-donut {
    grid-template-columns: 96px minmax(0, 1fr) !important;
  }

  body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .ecosystem-donut .donut-legend {
    width: 100% !important;
  }
}

/* Final pass: gallery gutters and seasonality-style ecosystem legend */
body .main-content[data-page="foto-video"] .editorial-media-card {
  --gallery-shell-gutter: 14px;
}

body .main-content[data-page="foto-video"] .editorial-media-card .card-title,
body .main-content[data-page="foto-video"] .editorial-media-card .media-source-note,
body .main-content[data-page="foto-video"] .editorial-media-card .media-gallery-toolbar,
body .main-content[data-page="foto-video"] .editorial-media-card .editorial-gallery {
  box-sizing: border-box !important;
  width: calc(100% - (var(--gallery-shell-gutter) * 2)) !important;
  margin-left: var(--gallery-shell-gutter) !important;
  margin-right: var(--gallery-shell-gutter) !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body .main-content[data-page="foto-video"] .editorial-media-card .see-all {
  margin-right: var(--gallery-shell-gutter) !important;
}

@media (max-width: 760px) {
  body .main-content[data-page="foto-video"] .editorial-media-card {
    --gallery-shell-gutter: 10px;
  }
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel h3 {
  width: 150px !important;
  margin-left: auto !important;
  margin-right: 0 !important;
  text-align: left !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .ecosystem-donut {
  grid-template-columns: 116px minmax(0, 108px) !important;
  justify-content: end !important;
  gap: 6px !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .ecosystem-donut .donut-legend {
  width: 108px !important;
  justify-self: stretch !important;
  gap: 6px !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .ecosystem-donut .donut-legend li {
  display: grid !important;
  grid-template-columns: 7px minmax(0, 1fr) auto !important;
  column-gap: 5px !important;
  justify-items: stretch !important;
  align-items: center !important;
  text-align: left !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .ecosystem-donut .donut-legend li span {
  justify-self: start !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .ecosystem-donut .donut-legend li p {
  justify-self: stretch !important;
  min-width: 0 !important;
  display: -webkit-box !important;
  overflow: hidden !important;
  text-align: left !important;
  text-overflow: ellipsis !important;
  white-space: normal !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  line-height: 1.05 !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel .ecosystem-donut .donut-legend li strong {
  justify-self: end !important;
  min-width: 25px !important;
  text-align: right !important;
}

/* Landing CTA system: only two public action styles */
.public-header,
.public-page {
  --cta-height: 44px;
  --cta-radius: 8px;
  --cta-inline: 20px;
  --cta-font: 13px;
  --cta-weight: 700;
}

.public-login,
.public-register,
.public-page .public-primary,
.public-page .public-secondary,
.public-page .center-link,
.public-page .how-step-card a,
.public-page .section-heading.row > a,
.public-page .section-heading.row > button,
.public-page .market-section .section-heading.row button,
.public-page .report-block .section-heading.row button,
.public-page .market-opportunity-body button,
.public-page .market-how-grid button {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-height: var(--cta-height) !important;
  height: var(--cta-height) !important;
  min-width: 0 !important;
  padding: 0 var(--cta-inline) !important;
  border-radius: var(--cta-radius) !important;
  font-size: var(--cta-font) !important;
  font-weight: var(--cta-weight) !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  transform: translateY(0) !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease, color .18s ease !important;
}

.public-register,
.public-page .public-primary,
.public-page .marketplace-search-row button {
  border: 1px solid var(--sportia-green) !important;
  color: #fff !important;
  background: linear-gradient(135deg, #008F46 0%, #079E54 100%) !important;
  box-shadow: 0 10px 22px rgba(0, 143, 70, .16) !important;
}

.public-login,
.public-page .public-secondary,
.public-page .center-link,
.public-page .how-step-card a,
.public-page .section-heading.row > a,
.public-page .section-heading.row > button,
.public-page .market-section .section-heading.row button,
.public-page .report-block .section-heading.row button,
.public-page .market-opportunity-body button,
.public-page .market-how-grid button {
  border: 1px solid rgba(0, 143, 70, .46) !important;
  color: var(--navy) !important;
  background: rgba(255, 255, 255, .96) !important;
  box-shadow: none !important;
}

.public-page .public-primary svg,
.public-register svg,
.public-page .marketplace-search-row button svg {
  color: currentColor !important;
  stroke: currentColor !important;
}

.public-page .public-secondary svg,
.public-login svg,
.public-page .center-link svg,
.public-page .how-step-card a svg,
.public-page .section-heading.row > a svg,
.public-page .section-heading.row > button svg,
.public-page .market-opportunity-body button svg,
.public-page .market-how-grid button svg {
  color: var(--sportia-green) !important;
  stroke: var(--sportia-green) !important;
}

.public-register:hover,
.public-page .public-primary:hover,
.public-page .marketplace-search-row button:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 14px 28px rgba(0, 143, 70, .2) !important;
  background: linear-gradient(135deg, #007C3E 0%, #008F46 100%) !important;
}

.public-login:hover,
.public-page .public-secondary:hover,
.public-page .center-link:hover,
.public-page .how-step-card a:hover,
.public-page .section-heading.row > a:hover,
.public-page .section-heading.row > button:hover,
.public-page .market-section .section-heading.row button:hover,
.public-page .report-block .section-heading.row button:hover,
.public-page .market-opportunity-body button:hover,
.public-page .market-how-grid button:hover {
  transform: translateY(-1px) !important;
  border-color: var(--sportia-green) !important;
  background: var(--sportia-green-soft) !important;
  box-shadow: 0 12px 24px rgba(7, 20, 71, .08) !important;
}

.public-register:focus-visible,
.public-login:focus-visible,
.public-page .public-primary:focus-visible,
.public-page .public-secondary:focus-visible,
.public-page .center-link:focus-visible,
.public-page .how-step-card a:focus-visible,
.public-page .section-heading.row > a:focus-visible,
.public-page .section-heading.row > button:focus-visible,
.public-page .market-opportunity-body button:focus-visible,
.public-page .market-how-grid button:focus-visible {
  outline: 3px solid rgba(0, 143, 70, .18) !important;
  outline-offset: 2px !important;
}

.public-page .market-opportunity-body button,
.public-page .center-link {
  justify-self: start !important;
  min-height: 38px !important;
  height: 38px !important;
  padding-inline: 14px !important;
}

.public-page .section-heading.row > a,
.public-page .section-heading.row > button,
.public-page .how-step-card a {
  min-height: 36px !important;
  height: 36px !important;
  padding-inline: 13px !important;
  font-size: 12px !important;
}

.public-page .how-cta .public-secondary {
  border-color: rgba(255, 255, 255, .72) !important;
  color: #fff !important;
  background: rgba(255, 255, 255, .08) !important;
}

.public-page .how-cta .public-secondary svg {
  color: #fff !important;
  stroke: #fff !important;
}

.public-page .database-cta .public-primary {
  border-color: rgba(255, 255, 255, .82) !important;
  color: var(--sportia-green-dark) !important;
  background: #fff !important;
  box-shadow: 0 14px 28px rgba(0, 0, 0, .14) !important;
}

@media (max-width: 620px) {
  .public-header,
  .public-page {
    --cta-height: 42px;
    --cta-inline: 16px;
  }

  .public-login {
    display: none !important;
  }

  .public-register {
    min-height: 38px !important;
    height: 38px !important;
    padding-inline: 12px !important;
  }

  .public-page .hero-actions,
  .public-page .how-cta-actions,
  .public-page .report-cta-actions {
    width: 100% !important;
  }

  .public-page .public-cta {
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
  }

  .public-page .hero-actions > *,
  .public-page .how-cta-actions > *,
  .public-page .report-cta-actions > *,
  .public-page .public-cta > .public-primary,
  .public-page .public-cta > .public-secondary,
  .public-page .public-cta > a,
  .public-page .public-cta > button {
    width: 100% !important;
  }
}

/* Absolute end-of-file audit overrides: latest responsive composition wins */
body .main-content[data-page="recensioni"] .review-summary-grid {
  grid-template-columns: minmax(300px, 1.08fr) minmax(250px, .86fr) minmax(300px, 1.02fr) !important;
  align-items: start !important;
}

body .main-content[data-page="recensioni"] .review-summary-grid > .category-review-composer {
  order: 1 !important;
}

body .main-content[data-page="recensioni"] .review-summary-grid > .review-categories-card {
  order: 2 !important;
}

body .main-content[data-page="recensioni"] .review-summary-grid > .review-overview-card {
  order: 3 !important;
}

body .main-content[data-page="recensioni"] .review-summary-grid > .category-review-composer,
body .main-content[data-page="recensioni"] .review-summary-grid > .review-categories-card,
body .main-content[data-page="recensioni"] .review-summary-grid > .review-overview-card {
  grid-column: auto !important;
}

body .main-content[data-page="recensioni"] .review-overview-card .review-card-body {
  gap: 8px !important;
}

body .main-content[data-page="recensioni"] .review-overview-card .review-overview {
  grid-template-columns: minmax(100px, .62fr) minmax(0, 1.38fr) !important;
  gap: 10px !important;
  padding: 9px !important;
}

body .main-content[data-page="recensioni"] .review-overview-card .review-score-summary .review-score strong {
  font-size: 38px !important;
  line-height: .95 !important;
}

body .main-content[data-page="recensioni"] .review-overview-card .review-score-summary .stars {
  font-size: 15px !important;
}

body .main-content[data-page="recensioni"] .review-overview-card .review-distribution {
  gap: 5px !important;
}

body .main-content[data-page="recensioni"] .review-overview-card .review-dist-row {
  grid-template-columns: 32px minmax(52px, 1fr) 27px !important;
  min-height: 16px !important;
}

body .main-content[data-page="recensioni"] .review-overview-card .sportia-agent-quote {
  padding: 8px 9px !important;
}

body .main-content[data-page="recensioni"] .review-overview-card .sportia-agent-quote p {
  -webkit-line-clamp: 3 !important;
}

body .main-content[data-page="network"] .ecosystem-full-card {
  overflow: hidden !important;
}

body .main-content[data-page="network"] .ecosystem-integrated {
  min-height: clamp(500px, 47vw, 660px) !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-map {
  display: block !important;
  min-height: clamp(470px, 44vw, 620px) !important;
  padding-top: 12px !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-diagram {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: clamp(440px, 42vw, 590px) !important;
  height: 100% !important;
}

body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-donut-panel {
  z-index: 3 !important;
}

@media (max-width: 900px) {
  body .main-content[data-page="recensioni"] .review-summary-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  }

  body .main-content[data-page="recensioni"] .review-summary-grid > .review-overview-card {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 720px) {
  body .main-content[data-page="recensioni"] .review-summary-grid {
    grid-template-columns: 1fr !important;
  }

  body .main-content[data-page="network"] .ecosystem-integrated {
    min-height: 0 !important;
  }

  body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-map {
    display: block !important;
    min-height: 430px !important;
    padding-top: 8px !important;
  }

  body .main-content[data-page="network"] .ecosystem-integrated .ecosystem-diagram {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 405px !important;
  }
}

@media (max-width: 620px) {
  body .main-content[data-page="report"] .timeline-card {
    min-height: 0 !important;
    height: auto !important;
    overflow: hidden !important;
  }

  body .main-content[data-page="report"] .timeline-card .timeline {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 9px !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    padding: 4px 0 2px 24px !important;
  }

  body .main-content[data-page="report"] .timeline-card .timeline::before {
    left: 8px !important;
    right: auto !important;
    top: 12px !important;
    bottom: 14px !important;
    width: 2px !important;
    height: auto !important;
    background: linear-gradient(180deg, rgba(0, 143, 70, .28), rgba(0, 143, 70, .9)) !important;
  }

  body .main-content[data-page="report"] .timeline-card .timeline li {
    display: grid !important;
    grid-template-columns: 78px minmax(0, 1fr) !important;
    justify-items: start !important;
    align-content: start !important;
    gap: 9px !important;
    min-height: 0 !important;
    padding: 8px 8px 8px 0 !important;
    border-right: 0 !important;
    border-bottom: 1px solid #eef2f6 !important;
    text-align: left !important;
  }

  body .main-content[data-page="report"] .timeline-card .timeline li::before {
    left: -21px !important;
    top: 14px !important;
    transform: none !important;
  }

  body .main-content[data-page="report"] .timeline-card .timeline time,
  body .main-content[data-page="report"] .timeline-card .timeline li > div {
    justify-items: start !important;
    text-align: left !important;
  }

  body .main-content[data-page="report"] .timeline-card .timeline li > div small {
    display: block !important;
  }
}
/* Final cascade lock: requested alignment fixes */
body .public-header {
  overflow: hidden !important;
}

/* Il riepilogo della sessione deve poter uscire dai limiti verticali dell'header. */
body .public-header:has(.public-session-profile) {
  overflow: visible !important;
}

body .public-header .public-nav {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  overscroll-behavior-x: contain !important;
}

body .public-page .public-metric strong,
body .main-content[data-page] .kpi-card strong {
  white-space: nowrap !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  letter-spacing: 0 !important;
}

body .public-page .how-window-kpis,
body .public-page .database-kpis,
body .public-page .ai-summary-grid {
  align-items: stretch !important;
}

body .public-page .how-window-kpis .public-metric,
body .public-page .database-kpis .public-metric {
  display: grid !important;
  grid-template-rows: 24px auto 1fr !important;
  align-content: start !important;
  justify-items: start !important;
  gap: 6px !important;
}

body .public-page .how-window-kpis .public-metric strong,
body .public-page .database-kpis .public-metric strong {
  font-size: clamp(17px, 2vw, 22px) !important;
  line-height: 1.04 !important;
}

body .public-page .how-window-kpis .public-metric span,
body .public-page .database-kpis .public-metric span {
  min-height: 28px !important;
  line-height: 1.2 !important;
}

body .public-page .ai-summary-grid {
  grid-template-columns: minmax(0, 2fr) minmax(132px, .95fr) !important;
}

body .public-page .ai-summary-left {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

body .public-page .ai-summary-grid .public-metric {
  display: grid !important;
  grid-template-rows: 24px auto 1fr !important;
  align-content: start !important;
  justify-items: start !important;
  min-height: 100px !important;
  height: 100% !important;
  border: 1px solid var(--border) !important;
}

body .public-page .ai-summary-grid .public-metric svg {
  align-self: start !important;
  justify-self: start !important;
}

body .main-content[data-page] .kpi-card {
  display: grid !important;
  grid-template-columns: 40px minmax(0, 1fr) !important;
  align-items: center !important;
}

body .main-content[data-page] .kpi-card > div:last-of-type {
  display: grid !important;
  align-content: center !important;
  min-height: 66px !important;
}

body .main-content[data-page] .kpi-label {
  display: flex !important;
  align-items: flex-start !important;
  min-height: 25px !important;
  margin-bottom: 3px !important;
  line-height: 1.18 !important;
}

body .main-content[data-page="documenti"] .kpi-grid {
  grid-template-columns: repeat(5, minmax(104px, 1fr)) !important;
}

body .main-content[data-page="documenti"] .kpi-label {
  min-height: 28px !important;
}

body .main-content[data-page="recensioni"] .review-summary-grid {
  grid-template-columns: minmax(300px, 1.04fr) minmax(260px, .9fr) minmax(300px, 1.04fr) !important;
  align-items: stretch !important;
  gap: 12px !important;
}

body .main-content[data-page="recensioni"] .review-summary-grid > .category-review-composer {
  order: 1 !important;
}

body .main-content[data-page="recensioni"] .review-summary-grid > .review-categories-card {
  order: 2 !important;
}

body .main-content[data-page="recensioni"] .review-summary-grid > .review-overview-card {
  order: 3 !important;
}

body .main-content[data-page="recensioni"] .review-summary-grid > .card {
  display: flex !important;
  flex-direction: column !important;
  align-self: stretch !important;
  min-height: 0 !important;
}

body .main-content[data-page="recensioni"] .review-card-body,
body .main-content[data-page="recensioni"] .review-topics-body {
  min-height: 0 !important;
}

body .main-content[data-page="recensioni"] .review-overview-card .review-overview {
  grid-template-columns: minmax(112px, .72fr) minmax(0, 1.28fr) !important;
  align-items: center !important;
  gap: 12px !important;
}

body .main-content[data-page="recensioni"] .review-layout {
  align-items: start !important;
}

body .main-content[data-page="recensioni"] .review-list-card {
  overflow: hidden !important;
}

body .main-content[data-page="recensioni"] .review-topics-card {
  align-self: start !important;
}

body .sidebar {
  position: sticky !important;
}

body .sidebar nav {
  position: relative !important;
  max-height: calc(100vh - 118px) !important;
  overflow-y: auto !important;
  padding-bottom: 58px !important;
  scrollbar-width: thin !important;
}

body .sidebar nav::before {
  content: none !important;
}

body .sidebar::after {
  content: "Scorri ↓" !important;
  position: absolute !important;
  z-index: 4 !important;
  left: 50% !important;
  bottom: 12px !important;
  display: grid !important;
  place-items: center !important;
  width: 76px !important;
  height: 24px !important;
  transform: translateX(-50%) !important;
  border: 1px solid rgba(0,143,70,.24) !important;
  border-radius: 999px !important;
  color: var(--sportia-green-dark) !important;
  background: rgba(255,255,255,.94) !important;
  font-size: 10px !important;
  font-weight: 650 !important;
  pointer-events: none !important;
  box-shadow: 0 8px 20px rgba(7,20,71,.08) !important;
}

body .sidebar-database-link svg.icon-arrow-left {
  transform: none !important;
}

@media (max-width: 900px) {
  body .main-content[data-page="recensioni"] .review-summary-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  }

  body .main-content[data-page="recensioni"] .review-summary-grid > .review-overview-card {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 720px) {
  body .public-page .ai-summary-grid,
  body .public-page .ai-summary-left {
    grid-template-columns: 1fr !important;
  }

  body .main-content[data-page="documenti"] .kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body .main-content[data-page="recensioni"] .review-summary-grid {
    grid-template-columns: 1fr !important;
  }

  body .main-content[data-page="recensioni"] .review-summary-grid > .review-overview-card {
    grid-column: auto !important;
  }

  body .main-content[data-page="recensioni"] .review-overview-card .review-overview {
    grid-template-columns: 1fr !important;
  }
}

/* Absolute EOF public CTA override */
body .public-page .database-cta .public-primary,
body .public-page .database-cta a.public-primary {
  border-color: var(--sportia-green) !important;
  color: #fff !important;
  background: linear-gradient(135deg, #008F46 0%, #079E54 100%) !important;
  box-shadow: 0 10px 22px rgba(0, 0, 0, .14) !important;
}

/* Absolute EOF public mobile/tablet header actions */
@media (max-width: 820px) {
  body.public-view .public-header {
    grid-template-columns: 40px minmax(78px, 1fr) auto !important;
    gap: 8px !important;
  }

  body.public-view .public-brand img {
    width: clamp(100px, 27vw, 132px) !important;
  }

  body.public-view .public-actions {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 6px !important;
    min-width: 0 !important;
  }

  body.public-view .public-actions .public-login,
  body.public-view .public-actions .public-register {
    display: inline-flex !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 36px !important;
    height: 36px !important;
    padding: 0 10px !important;
    border-radius: 8px !important;
    font-size: 11.5px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  body.public-view .public-actions .public-login {
    border-color: rgba(0, 143, 70, .46) !important;
    color: var(--navy) !important;
    background: rgba(255, 255, 255, .94) !important;
  }

  body.public-view .public-actions .public-register {
    border-color: var(--sportia-green) !important;
    color: #fff !important;
    background: linear-gradient(135deg, #008F46 0%, #079E54 100%) !important;
  }
}

@media (max-width: 390px) {
  body.public-view .public-header {
    padding-inline: 10px !important;
    gap: 6px !important;
  }

  body.public-view .public-brand img {
    width: 96px !important;
  }

  body.public-view .public-actions .public-login,
  body.public-view .public-actions .public-register {
    height: 34px !important;
    min-height: 34px !important;
    padding-inline: 8px !important;
    font-size: 11px !important;
  }
}

/* Absolute EOF intervention KPI responsive containment */
body .main-content[data-page="interventi-consigliati"] .kpi-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  align-items: stretch !important;
}

body .main-content[data-page="interventi-consigliati"] .kpi-card {
  min-width: 0 !important;
  min-height: 96px !important;
  grid-template-columns: 40px minmax(0, 1fr) !important;
  gap: 9px !important;
  padding: 10px !important;
}

body .main-content[data-page="interventi-consigliati"] .kpi-card > div:last-of-type {
  min-width: 0 !important;
  min-height: 0 !important;
  align-content: center !important;
  gap: 3px !important;
}

body .main-content[data-page="interventi-consigliati"] .kpi-label {
  min-height: 26px !important;
  max-width: 100% !important;
  align-items: flex-start !important;
  font-size: clamp(9.2px, .82vw, 11px) !important;
  line-height: 1.12 !important;
  overflow-wrap: anywhere !important;
}

body .main-content[data-page="interventi-consigliati"] .kpi-card strong {
  display: block !important;
  max-width: 100% !important;
  color: var(--navy) !important;
  font-size: clamp(16px, 1.45vw, 20px) !important;
  line-height: 1.06 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  text-wrap: balance !important;
}

body .main-content[data-page="interventi-consigliati"] .kpi-card:nth-child(2) strong,
body .main-content[data-page="interventi-consigliati"] .kpi-card:nth-child(5) strong {
  font-size: clamp(14.5px, 1.25vw, 18px) !important;
}

body .main-content[data-page="interventi-consigliati"] .kpi-note {
  max-width: 100% !important;
  font-size: clamp(9px, .75vw, 10px) !important;
  line-height: 1.16 !important;
  overflow-wrap: anywhere !important;
}

@media (max-width: 1180px) {
  body .main-content[data-page="interventi-consigliati"] .kpi-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 720px) {
  body .main-content[data-page="interventi-consigliati"] .kpi-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    overflow: visible !important;
    gap: 10px !important;
    padding: 0 !important;
  }

  body .main-content[data-page="interventi-consigliati"] .kpi-card {
    width: 100% !important;
    min-height: 104px !important;
    flex: initial !important;
  }
}

@media (max-width: 430px) {
  body .main-content[data-page="interventi-consigliati"] .kpi-grid {
    grid-template-columns: 1fr !important;
  }

  body .main-content[data-page="interventi-consigliati"] .kpi-card {
    min-height: 92px !important;
  }

  body .main-content[data-page="interventi-consigliati"] .kpi-card strong {
    font-size: clamp(17px, 5.2vw, 20px) !important;
    white-space: normal !important;
  }

  body .main-content[data-page="interventi-consigliati"] .kpi-card:nth-child(2) strong,
  body .main-content[data-page="interventi-consigliati"] .kpi-card:nth-child(5) strong {
    font-size: clamp(16px, 4.9vw, 19px) !important;
  }
}

/* Absolute EOF financial cards and table containment */
body .main-content[data-page="dati-finanziari"] .kpi-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  align-items: stretch !important;
}

body .main-content[data-page="dati-finanziari"] .kpi-card {
  min-width: 0 !important;
  min-height: 100px !important;
  padding: 10px !important;
  gap: 9px !important;
  grid-template-columns: 40px minmax(0, 1fr) !important;
}

body .main-content[data-page="dati-finanziari"] .kpi-card > div:last-of-type {
  min-width: 0 !important;
  min-height: 0 !important;
  gap: 3px !important;
}

body .main-content[data-page="dati-finanziari"] .kpi-label {
  min-height: 26px !important;
  max-width: 100% !important;
  font-size: clamp(9.2px, .82vw, 11px) !important;
  line-height: 1.12 !important;
  overflow-wrap: anywhere !important;
}

body .main-content[data-page="dati-finanziari"] .kpi-card strong {
  max-width: 100% !important;
  font-size: clamp(15.5px, 1.34vw, 19px) !important;
  line-height: 1.06 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  text-wrap: balance !important;
}

body .main-content[data-page="dati-finanziari"] .kpi-note {
  max-width: 100% !important;
  font-size: clamp(9px, .75vw, 10px) !important;
  line-height: 1.16 !important;
  overflow-wrap: anywhere !important;
}

body .main-content[data-page="dati-finanziari"] .finance-indicators {
  overflow: hidden !important;
}

body .main-content[data-page="dati-finanziari"] .finance-indicators > .table-scroll {
  width: calc(100% - 28px) !important;
  max-width: calc(100% - 28px) !important;
  min-width: 0 !important;
  margin-inline: 14px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  padding-bottom: 2px !important;
  border-radius: 7px !important;
  -webkit-overflow-scrolling: touch !important;
}

body .main-content[data-page="dati-finanziari"] .finance-indicators table {
  width: 100% !important;
  min-width: 0 !important;
  table-layout: fixed !important;
  border-collapse: collapse !important;
}

body .main-content[data-page="dati-finanziari"] .finance-indicators th,
body .main-content[data-page="dati-finanziari"] .finance-indicators td {
  min-width: 0 !important;
  padding: 6px 5px !important;
  color: var(--navy) !important;
  font-size: clamp(8.2px, .63vw, 9.6px) !important;
  line-height: 1.14 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  vertical-align: middle !important;
  font-variant-numeric: tabular-nums !important;
}

body .main-content[data-page="dati-finanziari"] .finance-indicators th {
  font-weight: 620 !important;
}

body .main-content[data-page="dati-finanziari"] .finance-indicators th:first-child,
body .main-content[data-page="dati-finanziari"] .finance-indicators td:first-child {
  width: 23% !important;
  text-align: left !important;
}

body .main-content[data-page="dati-finanziari"] .finance-indicators th:nth-child(n+2),
body .main-content[data-page="dati-finanziari"] .finance-indicators td:nth-child(n+2) {
  text-align: center !important;
}

body .main-content[data-page="dati-finanziari"] .finance-indicators th:nth-child(7),
body .main-content[data-page="dati-finanziari"] .finance-indicators td:nth-child(7) {
  width: 12% !important;
}

body .main-content[data-page="dati-finanziari"] .finance-indicators th:nth-child(8),
body .main-content[data-page="dati-finanziari"] .finance-indicators td:nth-child(8) {
  width: 6% !important;
  color: var(--sportia-green) !important;
  font-weight: 680 !important;
}

@media (max-width: 1180px) {
  body .main-content[data-page="dati-finanziari"] .kpi-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 720px) {
  body .main-content[data-page="dati-finanziari"] .kpi-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    overflow: visible !important;
    gap: 10px !important;
    padding: 0 !important;
  }

  body .main-content[data-page="dati-finanziari"] .kpi-card {
    width: 100% !important;
    flex: initial !important;
  }

  body .main-content[data-page="dati-finanziari"] .finance-indicators table {
    min-width: 620px !important;
  }
}

@media (max-width: 430px) {
  body .main-content[data-page="dati-finanziari"] .kpi-grid {
    grid-template-columns: 1fr !important;
  }

  body .main-content[data-page="dati-finanziari"] .kpi-card {
    min-height: 92px !important;
  }

  body .main-content[data-page="dati-finanziari"] .kpi-card strong {
    font-size: clamp(16px, 4.9vw, 19px) !important;
  }
}

/* Absolute EOF public nav hover underline */
body.public-view .public-header .public-nav a {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  min-height: 72px !important;
  padding-inline: 2px !important;
  color: var(--navy) !important;
  transition: color .18s ease !important;
}

body.public-view .public-header .public-nav a::after {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  height: 3px !important;
  border-radius: 999px !important;
  background: var(--sportia-green) !important;
  content: "" !important;
  opacity: 0 !important;
  transform: scaleX(.36) !important;
  transform-origin: center !important;
  transition: opacity .18s ease, transform .18s ease !important;
}

body.public-view .public-header .public-nav a:hover,
body.public-view .public-header .public-nav a:focus-visible,
body.public-view .public-header .public-nav a.is-hovered,
body.public-view .public-header .public-nav a.active {
  color: var(--sportia-green-dark) !important;
}

body.public-view .public-header .public-nav a:hover::after,
body.public-view .public-header .public-nav a:focus-visible::after,
body.public-view .public-header .public-nav a.is-hovered::after,
body.public-view .public-header .public-nav a.active::after {
  opacity: 1 !important;
  transform: scaleX(1) !important;
}

@media (max-width: 980px) {
  body.public-view .public-header .public-nav a {
    min-height: 42px !important;
  }

  body.public-view .public-header .public-nav a::after {
    bottom: 0 !important;
  }
}

/* Profile onboarding wizard */
body.public-view .profile-builder-page {
  --builder-sidebar: 250px;
  --builder-rail: 282px;
  box-sizing: border-box;
  display: grid;
  grid-template-columns: var(--builder-sidebar) minmax(0, 1fr) var(--builder-rail);
  gap: 22px;
  width: min(1640px, calc(100vw - 34px));
  max-width: 100%;
  margin: 0 auto;
  padding: 18px 0 38px;
  color: var(--navy);
  overflow-x: clip;
}

body.public-view .profile-builder-sidebar,
body.public-view .profile-builder-rail,
body.public-view .profile-builder-main,
body.public-view .profile-form-card {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
}

body.public-view .profile-back-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  color: var(--sportia-green-dark);
  font-size: 12px;
  font-weight: 620;
  text-decoration: none;
}

body.public-view .profile-back-link svg {
  transform: rotate(0deg);
}

body.public-view .profile-builder-badge {
  display: grid;
  justify-items: center;
  gap: 12px;
  margin: 26px auto 28px;
  text-align: center;
}

body.public-view .profile-builder-badge > span {
  display: grid;
  place-items: center;
  width: 84px;
  height: 84px;
  border: 1.4px solid rgba(0, 143, 70, .78);
  border-radius: 999px;
  color: var(--sportia-green);
  background: linear-gradient(145deg, rgba(234, 247, 239, .9), rgba(255, 255, 255, .96));
}

body.public-view .profile-builder-badge strong {
  font-size: 14px;
  line-height: 1.25;
  font-weight: 720;
}

body.public-view .profile-builder-steps {
  display: grid;
  gap: 13px;
  margin-top: 4px;
}

body.public-view .profile-builder-steps a {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  min-height: 40px;
  color: var(--navy-muted);
  text-decoration: none;
  font-size: 13px;
  font-weight: 560;
}

body.public-view .profile-builder-steps b {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border: 1px solid #cfd8e5;
  border-radius: 999px;
  color: var(--navy);
  background: #fff;
  font-size: 13px;
}

body.public-view .profile-builder-steps a.done b,
body.public-view .profile-builder-steps a.active b {
  border-color: var(--sportia-green);
  color: #fff;
  background: var(--sportia-green);
}

body.public-view .profile-builder-steps a.active {
  color: var(--sportia-green-dark);
  font-weight: 740;
}

body.public-view .profile-help-card,
body.public-view .profile-side-card,
body.public-view .profile-form-card,
body.public-view .profile-builder-actions,
body.public-view .profile-builder-stats {
  border: 1px solid #dfe7f0;
  border-radius: 10px;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 12px 30px rgba(7, 20, 71, .035);
}

body.public-view .profile-help-card {
  display: grid;
  gap: 8px;
  margin-top: 32px;
  padding: 18px;
  text-align: center;
}

body.public-view .profile-help-card > span {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  margin: 0 auto;
  border-radius: 999px;
  color: var(--sportia-green);
  background: var(--sportia-green-soft);
}

body.public-view .profile-help-card strong,
body.public-view .profile-side-card h3,
body.public-view .profile-form-card h2,
body.public-view .profile-section-box h3 {
  margin: 0;
  color: var(--navy);
  font-weight: 760;
}

body.public-view .profile-help-card p,
body.public-view .profile-form-card p,
body.public-view .profile-side-card p {
  margin: 0;
  color: var(--navy-muted);
  font-size: 12px;
  line-height: 1.45;
}

body.public-view .profile-help-card button,
body.public-view .profile-section-box.warning button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 34px;
  border: 1px solid rgba(0, 143, 70, .42);
  border-radius: 7px;
  color: var(--sportia-green-dark);
  background: #fff;
  font-weight: 700;
}

body.public-view .profile-builder-title {
  display: grid;
  grid-template-columns: minmax(220px, 320px) minmax(0, 1fr);
  align-items: center;
  gap: 20px;
  margin-bottom: 18px;
}

body.public-view .profile-builder-title h1 {
  margin: 0;
  color: var(--navy);
  font-size: clamp(28px, 2.2vw, 34px);
  line-height: 1;
  letter-spacing: 0;
}

body.public-view .profile-builder-title p {
  margin: 6px 0 0;
  color: var(--navy-muted);
  font-size: 15px;
}

body.public-view .profile-progress-nav {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-items: start;
  gap: 0;
}

body.public-view .profile-progress-nav a {
  position: relative;
  display: grid;
  justify-items: center;
  gap: 7px;
  color: var(--navy-muted);
  text-align: center;
  text-decoration: none;
  font-size: 10.5px;
  line-height: 1.15;
  font-weight: 560;
}

body.public-view .profile-progress-nav a::before {
  position: absolute;
  top: 15px;
  right: 50%;
  width: 100%;
  height: 2px;
  background: #cfd8e5;
  content: "";
  z-index: 0;
}

body.public-view .profile-progress-nav a:first-child::before {
  display: none;
}

body.public-view .profile-progress-nav a.done::before,
body.public-view .profile-progress-nav a.active::before {
  background: var(--sportia-green);
}

body.public-view .profile-progress-nav b {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 1px solid #cfd8e5;
  border-radius: 999px;
  color: var(--navy);
  background: #fff;
  font-size: 13px;
}

body.public-view .profile-progress-nav a.done b,
body.public-view .profile-progress-nav a.active b {
  border-color: var(--sportia-green);
  color: #fff;
  background: var(--sportia-green);
}

body.public-view .profile-progress-nav a.active span {
  color: var(--sportia-green-dark);
  font-weight: 760;
}

body.public-view .profile-form-card {
  padding: clamp(16px, 1.7vw, 24px);
  overflow: hidden;
}

body.public-view .profile-form-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
}

body.public-view .profile-form-head aside {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  width: min(370px, 42%);
  padding: 11px 13px;
  border: 1px solid #cce8d6;
  border-radius: 8px;
  color: var(--sportia-green-dark);
  background: #f2fbf5;
  font-size: 11.5px;
  line-height: 1.35;
}

body.public-view .profile-form-head aside span {
  display: grid;
  gap: 2px;
}

body.public-view .profile-general-grid {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: 22px;
  align-items: stretch;
}

body.public-view .profile-fields-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px 16px;
  min-width: 0;
}

body.public-view .profile-fields-grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 14px; }
body.public-view .profile-fields-grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.public-view .profile-fields-grid.four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
body.public-view .profile-fields-grid.six { grid-template-columns: repeat(6, minmax(0, 1fr)); margin-top: 14px; }

body.public-view .profile-field {
  display: grid;
  gap: 6px;
  min-width: 0;
}

body.public-view .profile-field span {
  color: var(--navy);
  font-size: 11px;
  font-weight: 680;
}

body.public-view .profile-field b {
  color: #d64545;
}

body.public-view .profile-field input,
body.public-view .profile-field select,
body.public-view .profile-field textarea,
body.public-view .profile-social-row input {
  width: 100%;
  min-width: 0;
  min-height: 36px;
  border: 1px solid #dbe4ee;
  border-radius: 7px;
  padding: 0 10px;
  color: var(--navy);
  background: #fff;
  font: inherit;
  font-size: 12px;
  outline: none;
}

body.public-view .profile-field textarea {
  min-height: 56px;
  padding: 9px 10px;
  resize: vertical;
}

body.public-view .profile-field input:focus,
body.public-view .profile-field select:focus,
body.public-view .profile-field textarea:focus,
body.public-view .profile-social-row input:focus {
  border-color: rgba(0, 143, 70, .62);
  box-shadow: 0 0 0 3px rgba(0, 143, 70, .09);
}

body.public-view .profile-field-wide small {
  justify-self: end;
  color: #77849a;
  font-size: 10px;
}

body.public-view .profile-upload {
  display: grid;
  place-items: center;
  align-content: center;
  gap: 7px;
  min-height: 174px;
  border: 1px dashed #cbd6e5;
  border-radius: 8px;
  color: var(--navy-muted);
  text-align: center;
  cursor: pointer;
  background: linear-gradient(145deg, rgba(248, 250, 252, .9), rgba(255, 255, 255, .96));
}

body.public-view .profile-upload-input,
body.public-view [hidden] {
  display: none !important;
}

body.public-view .profile-upload.uploaded {
  border-color: rgba(0, 143, 70, .48) !important;
  background:
    linear-gradient(145deg, rgba(234, 247, 239, .72), rgba(255, 255, 255, .96)) !important;
}

body.public-view .profile-upload.uploaded::after {
  content: "Caricato";
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 0 8px;
  border-radius: 999px;
  color: var(--sportia-green-dark);
  background: #e6f7ec;
  font-size: 10px;
  font-weight: 720;
}

body.public-view .profile-upload svg {
  color: var(--navy);
}

body.public-view .profile-upload strong {
  color: var(--navy);
  font-size: 12px;
}

body.public-view .profile-upload p,
body.public-view .profile-upload small {
  font-size: 10.5px;
  line-height: 1.35;
}

body.public-view .profile-social-row {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin-top: 16px;
}

body.public-view .profile-social-row label {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 6px;
  align-items: center;
  min-width: 0;
}

body.public-view .profile-social-row span {
  color: var(--navy);
  font-size: 11px;
  font-weight: 680;
}

body.public-view .profile-social-row input {
  grid-column: 2;
  min-height: 30px;
  font-size: 10px;
}

body.public-view .profile-section-box,
body.public-view .profile-map-preview {
  min-width: 0;
  padding: 14px;
  border: 1px solid #dfe7f0;
  border-radius: 9px;
  background: rgba(255, 255, 255, .88);
}

body.public-view .profile-section-box h3 {
  margin-bottom: 10px;
  font-size: 14px;
}

body.public-view .profile-form-grid {
  display: grid;
  gap: 12px;
  margin-top: 14px;
}

body.public-view .profile-form-grid.structure {
  grid-template-columns: 1fr 1fr;
}

body.public-view .profile-form-grid.activities {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

body.public-view .profile-map-preview {
  min-height: 128px;
  background:
    radial-gradient(circle at 78% 38%, rgba(0, 143, 70, .18), transparent 0 11%, transparent 12%),
    linear-gradient(125deg, rgba(225, 234, 240, .9) 0 18%, transparent 18% 24%, rgba(233, 239, 245, .9) 24% 44%, transparent 44% 51%, rgba(229, 238, 229, .9) 51% 72%, transparent 72%),
    #f7fafb;
}

body.public-view .profile-map-preview div {
  display: flex;
  align-items: center;
  gap: 8px;
}

body.public-view .profile-map-preview span {
  padding: 4px 8px;
  border-radius: 999px;
  color: var(--sportia-green-dark);
  background: #dff4e8;
  font-size: 10px;
  font-weight: 700;
}

body.public-view .profile-check-grid,
body.public-view .profile-chip-grid,
body.public-view .profile-check-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

body.public-view .profile-check-grid label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 130px;
  color: var(--navy);
  font-size: 12px;
}

body.public-view .profile-check-grid input {
  accent-color: var(--sportia-green);
}

body.public-view .profile-chip,
body.public-view .profile-check-pills span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 28px;
  border: 1px solid #cfd8e5;
  border-radius: 6px;
  padding: 0 9px;
  color: var(--navy);
  background: #fff;
  font-size: 11px;
  font-weight: 640;
}

body.public-view .profile-chip.active,
body.public-view .profile-check-pills span {
  border-color: rgba(0, 143, 70, .56);
  color: var(--sportia-green-dark);
  background: #f4fbf7;
}

body.public-view .profile-chip-add {
  border-style: dashed;
  color: var(--sportia-green-dark);
  background: #fff;
}

body.public-view .profile-chip-add:hover,
body.public-view .profile-chip-add:focus-visible {
  border-color: rgba(0, 143, 70, .62);
  background: rgba(234, 247, 239, .58);
  outline: none;
}

body.public-view .profile-setting-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

body.public-view .profile-setting-list label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 42px;
  min-width: 0;
  padding: 9px 11px;
  border: 1px solid #dfe7f0;
  border-radius: 8px;
  background: rgba(255, 255, 255, .86);
  color: var(--navy);
  font-size: 11.5px;
  font-weight: 560;
  line-height: 1.28;
}

/* Profile builder typography pass: keep the wizard calm and form-like. */
body.public-view .profile-builder-page {
  --profile-title-weight: 640;
  --profile-label-weight: 540;
  --profile-strong-weight: 600;
}

body.public-view .profile-builder-badge strong {
  font-weight: var(--profile-strong-weight) !important;
}

body.public-view .profile-builder-steps a,
body.public-view .profile-progress-nav a,
body.public-view .profile-setting-list label {
  font-weight: 500 !important;
}

body.public-view .profile-builder-steps a.active,
body.public-view .profile-progress-nav a.active span {
  font-weight: 620 !important;
}

body.public-view .profile-help-card strong,
body.public-view .profile-side-card h3,
body.public-view .profile-form-card h2,
body.public-view .profile-section-box h3 {
  font-weight: var(--profile-title-weight) !important;
}

body.public-view .profile-form-card h2 {
  font-size: clamp(20px, 1.7vw, 25px);
}

body.public-view .profile-section-box h3,
body.public-view .profile-side-card h3 {
  font-size: 13.5px;
}

body.public-view .profile-form-head aside,
body.public-view .profile-form-head aside strong {
  font-weight: 560 !important;
}

body.public-view .profile-field span,
body.public-view .profile-social-row span {
  color: #34435a;
  font-weight: var(--profile-label-weight) !important;
}

body.public-view .profile-field b {
  font-weight: 620;
}

body.public-view .profile-upload strong,
body.public-view .profile-map-preview strong,
body.public-view .profile-recap-grid h4,
body.public-view .profile-publish-copy strong {
  font-weight: var(--profile-strong-weight) !important;
}

body.public-view .profile-chip,
body.public-view .profile-check-pills span,
body .profile-value-strip span,
body .profile-publish-benefits span,
body .profile-value-card li,
body .profile-value-card button,
body .profile-value-strip button {
  font-weight: 560 !important;
}

body.public-view .profile-chip.active,
body.public-view .profile-check-pills span {
  font-weight: 580 !important;
}

body.public-view .profile-help-card button,
body.public-view .profile-section-box.warning button,
body.public-view .profile-builder-actions :is(a, button),
body.public-view .profile-publish-actions button {
  font-weight: 620 !important;
}

body.public-view .profile-form-card p,
body.public-view .profile-side-card p,
body.public-view .profile-help-card p,
body.public-view .profile-upload p,
body.public-view .profile-upload small {
  font-weight: 400 !important;
}

body.public-view .profile-setting-list label span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
}

body.public-view .profile-setting-list input {
  flex: 0 0 auto;
  accent-color: var(--sportia-green);
}

body.public-view .profile-chip-add.expanded {
  border-color: rgba(0, 143, 70, .72);
  color: #fff;
  background: var(--sportia-green);
}

body.public-view .profile-add-row {
  display: grid;
  grid-template-columns: minmax(130px, .8fr) minmax(160px, 1fr) auto;
  gap: 8px;
  align-items: center;
  margin-top: 10px;
}

body.public-view .profile-add-row[hidden] {
  display: none !important;
}

body.public-view .profile-add-row select,
body.public-view .profile-add-row input {
  min-width: 0;
  min-height: 34px;
  border: 1px solid #dbe4ee;
  border-radius: 7px;
  padding: 0 10px;
  color: var(--navy);
  background: #fff;
  font: inherit;
  font-size: 11.5px;
}

body.public-view .profile-add-row button {
  min-height: 34px;
  border: 1px solid rgba(0, 143, 70, .38);
  border-radius: 7px;
  padding: 0 12px;
  color: #fff;
  background: var(--sportia-green);
  font-size: 11px;
  font-weight: 740;
}

body.public-view .profile-form-grid.activities .profile-add-row {
  grid-template-columns: 1fr;
  width: 100%;
}

body.public-view .profile-form-grid.activities .profile-add-row select,
body.public-view .profile-form-grid.activities .profile-add-row input,
body.public-view .profile-form-grid.activities .profile-add-row button {
  width: 100%;
}

body.public-view .profile-compact-fields {
  align-items: stretch;
}

body.public-view .profile-compact-fields .profile-field {
  align-content: start;
}

body.public-view .profile-compact-fields .profile-field span {
  display: flex;
  align-items: flex-end;
  min-height: 28px;
  line-height: 1.18;
}

body.public-view .profile-compact-fields .profile-field input {
  font-weight: 620;
}

body.public-view .profile-mini-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

body.public-view .profile-mini-table td {
  padding: 8px 7px;
  border-bottom: 1px solid #edf2f7;
  color: var(--navy);
  font-size: 11.2px;
  line-height: 1.25;
  vertical-align: middle;
}

body.public-view .profile-mini-table td:first-child {
  width: 28%;
  color: var(--navy-muted);
  font-weight: 640;
}

body.public-view .profile-mini-table tr:last-child td {
  border-bottom: 0;
}

body.public-view .profile-recap-box ul,
body.public-view .profile-doc-list,
body.public-view .profile-side-card ul {
  display: grid;
  gap: 9px;
  margin: 0;
  padding: 0;
  list-style: none;
}

body.public-view .profile-recap-box li,
body.public-view .profile-doc-list li,
body.public-view .profile-side-card li {
  display: grid;
  grid-template-columns: 20px auto minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  color: var(--navy-muted);
  font-size: 12px;
}

body.public-view .profile-side-card li {
  grid-template-columns: 18px minmax(0, 1fr);
}

body.public-view .profile-side-card li.done,
body.public-view .profile-side-card li svg {
  color: var(--sportia-green-dark);
}

body.public-view .profile-side-card li i {
  display: grid;
  place-items: center;
  width: 17px;
  height: 17px;
  border: 1px solid #b7c2d3;
  border-radius: 999px;
  font-style: normal;
  font-size: 10px;
}

body.public-view .profile-big-number strong {
  display: block;
  color: var(--navy);
  font-size: 28px;
  line-height: 1;
}

body.public-view .profile-mini-table {
  width: 100%;
  border-collapse: collapse;
}

body.public-view .profile-mini-table td {
  border-bottom: 1px solid #edf1f5;
  padding: 7px 4px;
  color: var(--navy-muted);
  font-size: 11px;
}

body.public-view .profile-media-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.45fr) minmax(0, 1fr);
  gap: 12px;
}

body.public-view .profile-file-preview {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr) 18px;
  align-items: center;
  gap: 10px;
  margin-top: 10px;
  padding: 8px;
  border: 1px solid #e2e9f2;
  border-radius: 8px;
}

body.public-view .profile-file-preview img {
  width: 58px;
  height: 38px;
  border-radius: 6px;
  object-fit: cover;
}

body.public-view .profile-file-preview span {
  display: grid;
  gap: 3px;
  color: var(--navy);
  font-size: 11px;
  font-weight: 650;
}

body.public-view .profile-file-preview small {
  color: var(--navy-muted);
  font-size: 10px;
  font-weight: 500;
}

body.public-view .profile-thumb-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr) 38px;
  gap: 6px;
  align-items: center;
  margin-top: 10px;
}

body.public-view .profile-thumb-strip img,
body.public-view .profile-thumb-strip b {
  width: 100%;
  height: 48px;
  border-radius: 7px;
  object-fit: cover;
}

body.public-view .profile-thumb-strip b {
  display: grid;
  place-items: center;
  color: #fff;
  background: linear-gradient(135deg, rgba(7, 20, 71, .74), rgba(0, 143, 70, .74));
}

body.public-view .profile-doc-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}

body.public-view .profile-doc-box {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-width: 0;
  padding: 12px;
  border: 1px solid #e2e9f2;
  border-radius: 8px;
  background: #fff;
}

body.public-view .profile-doc-box.full {
  grid-column: 1 / -1;
  grid-template-columns: 24px minmax(0, 1fr) minmax(180px, 44%) 40px;
}

body.public-view .profile-doc-box strong,
body.public-view .profile-doc-box small {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}

body.public-view .profile-doc-box strong {
  color: var(--navy);
  font-size: 12px;
}

body.public-view .profile-doc-box small {
  color: var(--navy-muted);
  font-size: 10px;
}

body.public-view .profile-doc-box progress {
  width: 100%;
  accent-color: var(--sportia-green);
}

body.public-view .profile-doc-upload {
  cursor: pointer;
  transition: border-color .18s ease, background .18s ease, transform .18s ease;
}

body.public-view .profile-doc-upload:hover,
body.public-view .profile-doc-upload:focus-visible {
  transform: translateY(-1px);
  border-color: rgba(0, 143, 70, .38);
  background: rgba(248, 252, 250, .98);
  outline: none;
}

body.public-view .profile-doc-upload.uploaded {
  border-color: rgba(0, 143, 70, .36);
  background: linear-gradient(135deg, rgba(234, 247, 239, .62), rgba(255, 255, 255, .98));
}

body.public-view .profile-doc-upload button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  min-width: 82px;
  min-height: 30px;
  border: 1px solid rgba(0, 143, 70, .28);
  border-radius: 7px;
  color: var(--sportia-green-dark);
  background: #fff;
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
}

body.public-view .profile-doc-upload.uploaded button {
  color: #fff;
  border-color: var(--sportia-green);
  background: var(--sportia-green);
}

body.public-view .profile-tabs-mini {
  display: inline-flex;
  gap: 18px;
  border-bottom: 1px solid #dfe7f0;
}

body.public-view .profile-tabs-mini button {
  min-height: 34px;
  border: 0;
  border-bottom: 2px solid transparent;
  color: var(--navy);
  background: transparent;
  font-weight: 650;
}

body.public-view .profile-tabs-mini button.active {
  color: var(--sportia-green-dark);
  border-bottom-color: var(--sportia-green);
}

body.public-view .profile-recap-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

body.public-view .profile-recap-grid article {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 12px;
  padding: 16px;
  border: 1px solid #dfe7f0;
  border-radius: 9px;
  background: #fff;
}

body.public-view .profile-recap-grid article > svg {
  display: grid;
  width: 42px;
  height: 42px;
  padding: 8px;
  border: 1px solid rgba(0, 143, 70, .32);
  border-radius: 999px;
  color: var(--sportia-green);
  background: #f2fbf5;
}

body.public-view .profile-recap-grid h4 {
  margin: 0 0 7px;
  color: var(--navy);
  font-size: 13px;
}

body.public-view .profile-recap-grid p {
  font-size: 11.5px;
}

body.public-view .profile-section-box.warning {
  border-color: rgba(245, 166, 35, .42);
  background: #fffaf0;
}

body.public-view .profile-publish-box {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr) auto;
  gap: 18px;
  align-items: stretch;
  margin-top: 14px;
  padding: 18px;
  border: 1px solid #cfd8e5;
  border-radius: 10px;
  background: linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(248, 252, 250, .94));
}

body.public-view .profile-publish-box > svg {
  align-self: center;
  width: 54px;
  height: 54px;
  padding: 11px;
  border: 1px solid rgba(0, 143, 70, .25);
  border-radius: 999px;
  color: var(--sportia-green);
  background: #f2fbf5;
}

body.public-view .profile-publish-copy {
  display: grid;
  gap: 8px;
  align-content: center;
  min-width: 0;
}

body.public-view .profile-publish-copy strong {
  color: var(--navy);
  font-size: 15px;
  line-height: 1.2;
}

body.public-view .profile-publish-copy p {
  margin: 0;
  max-width: 780px;
  color: var(--navy-muted);
  font-size: 13px;
  line-height: 1.55;
}

body.public-view .profile-publish-copy label {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  max-width: 860px;
  color: var(--navy);
  font-size: 12px;
  line-height: 1.45;
}

body.public-view .profile-publish-box input {
  accent-color: var(--sportia-green);
}

body.public-view .profile-publish-actions {
  display: flex;
  align-self: end;
  justify-self: end;
  gap: 10px;
  min-width: 0;
}

body.public-view .profile-publish-box button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 150px;
  min-height: 44px;
  padding: 0 16px;
  border: 0;
  border-radius: 8px;
  color: #fff;
  background: linear-gradient(135deg, #008F46, #079E54);
  font-weight: 760;
}

body.public-view .profile-publish-box .profile-approve-button {
  border: 1px solid rgba(0, 143, 70, .35);
  color: var(--sportia-green-dark);
  background: #fff;
  font-size: 12px;
  white-space: nowrap;
}

@media (max-width: 1120px) {
  body.public-view .profile-publish-box {
    grid-template-columns: 54px minmax(0, 1fr);
  }

  body.public-view .profile-publish-actions {
    grid-column: 2;
    justify-self: start;
    align-self: start;
    flex-wrap: wrap;
  }
}

@media (max-width: 680px) {
  body.public-view .profile-publish-box {
    grid-template-columns: 1fr !important;
    justify-items: center;
    text-align: center;
  }

  body.public-view .profile-publish-copy {
    justify-items: center;
  }

  body.public-view .profile-publish-copy label {
    text-align: left;
  }

  body.public-view .profile-publish-actions {
    grid-column: auto;
    width: 100%;
    justify-self: stretch;
  }

  body.public-view .profile-publish-actions button {
    flex: 1 1 190px;
  }
}

body.public-view .profile-builder-actions {
  display: grid;
  grid-template-columns: 150px 150px minmax(170px, 1fr);
  gap: 12px;
  align-items: center;
  margin-top: 14px;
  padding: 10px;
}

body.public-view .profile-builder-actions > .public-primary {
  justify-self: end;
  min-width: min(190px, 100%);
}

body.public-view .profile-builder-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin-top: 16px;
  margin-bottom: 0;
  overflow: hidden;
}

body.public-view .profile-builder-stats .public-metric {
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body.public-view .profile-builder-stats .public-metric + .public-metric {
  border-left: 1px solid #dfe7f0 !important;
}

body.public-view .profile-builder-rail {
  display: grid;
  gap: 14px;
  align-content: start;
}

body.public-view .profile-side-card {
  padding: 18px;
}

body.public-view .profile-side-card h3 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 14px;
  font-size: 15px;
}

body.public-view .profile-progress-card {
  display: grid;
  justify-items: center;
  gap: 9px;
  text-align: center;
}

body.public-view .profile-progress-card .progress-ring {
  width: 112px;
  height: 112px;
}

@media (max-width: 1240px) {
  body.public-view .profile-builder-page {
    grid-template-columns: 210px minmax(0, 1fr);
  }

  body.public-view .profile-builder-rail {
    grid-column: 1 / -1;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body.public-view .profile-form-grid.activities,
  body.public-view .profile-media-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.public-view .profile-fields-grid.four {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.public-view .profile-recap-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 980px) {
  body.public-view .profile-builder-page {
    grid-template-columns: 1fr;
    width: min(100% - 24px, 760px);
    padding-top: 12px;
  }

  body.public-view .profile-builder-sidebar {
    display: grid;
    gap: 12px;
  }

  body.public-view .profile-builder-badge {
    display: none;
  }

  body.public-view .profile-builder-steps {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding-bottom: 4px;
  }

  body.public-view .profile-builder-steps a {
    flex: 0 0 auto;
    grid-template-columns: 28px auto;
    min-width: 156px;
    padding: 6px 9px;
    border: 1px solid #dfe7f0;
    border-radius: 999px;
    background: #fff;
  }

  body.public-view .profile-builder-steps b {
    width: 26px;
    height: 26px;
  }

  body.public-view .profile-help-card {
    display: none;
  }

  body.public-view .profile-builder-title {
    grid-template-columns: 1fr;
  }

  body.public-view .profile-progress-nav {
    overflow-x: auto;
    padding: 4px 0 8px;
  }

  body.public-view .profile-progress-nav a {
    min-width: 118px;
  }

  body.public-view .profile-form-head {
    display: grid;
  }

  body.public-view .profile-form-head aside {
    width: 100%;
  }

  body.public-view .profile-general-grid,
  body.public-view .profile-form-grid.structure,
  body.public-view .profile-fields-grid,
  body.public-view .profile-fields-grid.two,
  body.public-view .profile-fields-grid.three,
  body.public-view .profile-fields-grid.six,
  body.public-view .profile-social-row,
  body.public-view .profile-doc-grid,
  body.public-view .profile-builder-rail {
    grid-template-columns: 1fr;
  }

  body.public-view .profile-add-row {
    grid-template-columns: 1fr;
  }

  body.public-view .profile-upload {
    min-height: 146px;
  }

  body.public-view .profile-doc-box.full,
  body.public-view .profile-publish-box,
  body.public-view .profile-builder-actions {
    grid-template-columns: 1fr;
  }

  body.public-view .profile-builder-actions > .public-primary {
    justify-self: stretch;
  }

  body.public-view .profile-builder-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.public-view .profile-builder-stats .public-metric + .public-metric {
    border-left: 0 !important;
    border-top: 1px solid #dfe7f0 !important;
  }

  body.public-view .profile-builder-stats .public-metric:nth-child(2) {
    border-top: 0 !important;
  }
}

@media (max-width: 560px) {
  body.public-view .profile-builder-page {
    width: min(100% - 18px, 430px);
  }

  body.public-view .profile-builder-title h1 {
    font-size: 25px;
  }

  body.public-view .profile-form-card,
  body.public-view .profile-side-card {
    padding: 14px;
  }

  body.public-view .profile-media-grid,
  body.public-view .profile-form-grid.activities,
  body.public-view .profile-recap-grid,
  body.public-view .profile-builder-stats {
    grid-template-columns: 1fr;
  }

  body.public-view .profile-tabs-mini {
    width: 100%;
    overflow-x: auto;
  }

  body.public-view .profile-tabs-mini button {
    flex: 0 0 auto;
  }
}

/* Profile builder step 3: keep sport activity cards evenly spaced and padded. */
body.public-view .profile-form-grid.activities {
  gap: 16px !important;
  align-items: stretch !important;
}

body.public-view .profile-form-grid.activities > .profile-section-box {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  min-height: 154px !important;
  padding: 16px !important;
}

body.public-view .profile-form-grid.activities > .profile-section-box h3 {
  min-height: 18px !important;
  margin-bottom: 12px !important;
}

body.public-view .profile-form-grid.activities .profile-chip-grid,
body.public-view .profile-form-grid.activities .profile-recap-box ul {
  align-content: flex-start !important;
  gap: 8px !important;
}

body.public-view .profile-form-grid.activities .profile-recap-box li {
  grid-template-columns: 20px 34px minmax(0, 1fr) !important;
  min-height: 24px !important;
}

@media (max-width: 1240px) {
  body.public-view .profile-form-grid.activities {
    gap: 14px !important;
  }
}

@media (max-width: 980px) {
  body.public-view .profile-form-grid.activities {
    gap: 12px !important;
  }

  body.public-view .profile-form-grid.activities > .profile-section-box {
    min-height: auto !important;
  }
}

/* Registration type selection before profile compilation */
body.public-view .profile-type-page {
  width: min(1180px, calc(100vw - 34px));
  margin: 0 auto;
  padding: clamp(34px, 5vw, 72px) 0 20px;
  color: var(--navy);
}

body.public-view .profile-type-hero {
  max-width: 760px;
  margin: 0 auto 28px;
  text-align: center;
}

body.public-view .profile-type-hero small {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 12px;
  border: 1px solid rgba(0, 143, 70, .22);
  border-radius: 999px;
  color: var(--sportia-green-dark);
  background: rgba(234, 247, 239, .72);
  font-size: 12px;
  font-weight: 720;
}

body.public-view .profile-type-hero h1 {
  margin: 15px 0 12px;
  color: var(--navy);
  font-size: clamp(30px, 4vw, 52px);
  line-height: 1.05;
  letter-spacing: 0;
}

body.public-view .profile-type-hero p {
  margin: 0 auto;
  max-width: 650px;
  color: var(--navy-muted);
  font-size: clamp(15px, 1.35vw, 18px);
  line-height: 1.55;
}

body.public-view .profile-type-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

body.public-view .profile-type-idle-notice {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 16px;
  padding: 13px 15px;
  border: 1px solid #f0d39c;
  border-radius: 11px;
  background: #fff9ed;
  color: #72501b;
}

body.public-view .profile-type-idle-notice div {
  display: grid;
  gap: 2px;
}

body.public-view .profile-type-idle-notice span {
  font-size: 12px;
}

body.public-view .profile-type-card {
  display: grid;
  grid-template-rows: 48px minmax(170px, 1fr) 34px auto;
  gap: 14px;
  min-width: 0;
  min-height: 320px;
  padding: 20px;
  border: 1px solid #dfe7f0;
  border-radius: 12px;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 18px 34px rgba(7, 20, 71, .045);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

body.public-view .profile-type-card:hover {
  transform: translateY(-3px);
  border-color: rgba(0, 143, 70, .34);
  box-shadow: 0 22px 42px rgba(7, 20, 71, .07);
}

body.public-view .profile-type-card.active {
  background:
    linear-gradient(145deg, rgba(234, 247, 239, .62), rgba(255, 255, 255, .97) 42%),
    #fff;
}

body.public-view .profile-type-card.idle {
  background: #f7f9fc;
  border-style: dashed;
  box-shadow: none;
}

body.public-view .profile-type-card.idle:hover {
  transform: none;
  border-color: #d5dfeb;
  box-shadow: none;
}

body.public-view .profile-type-card.idle .metric-icon {
  filter: grayscale(1);
  opacity: .58;
}

body.public-view .profile-type-title {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
}

body.public-view .profile-type-title h3 {
  flex: 1;
}

body.public-view .profile-type-title > span {
  flex: 0 0 auto;
  padding: 4px 7px;
  border-radius: 999px;
  background: var(--sportia-green-soft);
  color: var(--sportia-green-dark);
  font-size: 9px;
  font-weight: 850;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: .04em;
}

body.public-view .profile-type-card.idle .profile-type-title > span {
  background: #e9eef5;
  color: #65718f;
}

body.public-view .profile-type-card.idle > button {
  cursor: not-allowed;
  border-color: #d5dfeb;
  background: #eef2f7;
  color: #65718f;
  opacity: 1;
}

body.public-view .profile-type-card .metric-icon {
  width: 48px !important;
  height: 48px !important;
}

body.public-view .profile-type-card h3 {
  margin: 0 0 10px;
  color: var(--navy);
  font-size: 18px;
  line-height: 1.18;
}

body.public-view .profile-type-card p {
  margin: 0;
  color: var(--navy-muted);
  font-size: 13px;
  line-height: 1.55;
}

body.public-view .profile-type-card small {
  display: block;
  margin-top: 12px;
  color: #50608f;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.45;
}

body.public-view .profile-type-card > a,
body.public-view .profile-type-card > button {
  width: 100%;
  min-height: 40px;
}

body.public-view .profile-type-actions {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
}

body.public-view .profile-type-actions .public-primary {
  width: 100%;
}

body.public-view .profile-type-actions .profile-type-preview-link {
  align-self: center;
  width: auto;
  min-height: 30px;
  padding: 7px 12px;
  border-color: #d8e0ea;
  background: #f4f7fb;
  color: #6b7488;
  font-size: 11px;
  font-weight: 750;
  box-shadow: none;
}

body.public-view .profile-type-actions .profile-type-preview-link svg {
  width: 13px;
  height: 13px;
  color: #7b8497;
}

body.public-view .profile-type-actions .profile-type-preview-link:hover {
  border-color: #cbd5e1;
  background: #eef3f8;
  color: #4f5b6f;
  transform: translateY(-1px);
}

body.public-view .profile-type-demo-preview {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
}

body.public-view .profile-type-note {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
  margin-top: 18px;
  padding: 20px;
  border: 1px solid rgba(0, 143, 70, .24);
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(234, 247, 239, .78), rgba(255, 255, 255, .96));
}

body.public-view .profile-type-note > svg {
  width: 48px;
  height: 48px;
  padding: 10px;
  border-radius: 999px;
  color: var(--sportia-green);
  background: #fff;
}

body.public-view .profile-type-note h2 {
  margin: 0 0 5px;
  color: var(--navy);
  font-size: 18px;
}

body.public-view .profile-type-note p {
  margin: 0;
  color: var(--navy-muted);
  font-size: 13px;
  line-height: 1.5;
}

/* Media & Documents wizard: keep upload descriptions horizontal and readable. */
body.public-view .profile-media-grid {
  grid-template-columns: minmax(210px, 1fr) minmax(300px, 1.45fr) minmax(210px, 1fr) !important;
  align-items: stretch !important;
  gap: 14px !important;
}

body.public-view .profile-media-grid .profile-section-box {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  padding: 14px !important;
}

body.public-view .profile-media-grid .profile-upload {
  width: 100% !important;
  min-height: 128px !important;
  padding: 14px 12px !important;
  place-items: center !important;
  align-content: center !important;
}

body.public-view .profile-media-grid .profile-upload strong,
body.public-view .profile-media-grid .profile-upload p,
body.public-view .profile-media-grid .profile-upload small {
  max-width: 100% !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  text-align: center !important;
}

body.public-view .profile-media-grid .profile-upload p {
  max-width: 190px !important;
  line-height: 1.35 !important;
}

body.public-view .profile-media-grid .profile-file-preview,
body.public-view .profile-media-grid .profile-thumb-strip {
  margin-top: auto !important;
}

@media (max-width: 1240px) {
  body.public-view .profile-type-grid,
  body.public-view .profile-media-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 720px) {
  body.public-view .profile-type-grid,
  body.public-view .profile-media-grid {
    grid-template-columns: 1fr !important;
  }

  body.public-view .profile-type-card {
    min-height: auto;
    grid-template-rows: auto;
  }

  body.public-view .profile-type-note {
    grid-template-columns: 1fr;
    text-align: center;
    justify-items: center;
  }
}

/* Profile builder: uniform card rhythm across all 5 compilation steps. */
body.public-view .profile-form-card {
  display: grid !important;
  gap: 16px !important;
  align-content: start !important;
}

body.public-view .profile-form-card > *,
body.public-view .profile-section-box > *,
body.public-view .profile-map-preview > * {
  min-width: 0 !important;
}

body.public-view .profile-form-head,
body.public-view .profile-fields-grid.two,
body.public-view .profile-fields-grid.six,
body.public-view .profile-form-grid,
body.public-view .profile-social-row,
body.public-view .profile-doc-grid,
body.public-view .profile-publish-box {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

body.public-view .profile-general-grid,
body.public-view .profile-fields-grid,
body.public-view .profile-form-grid,
body.public-view .profile-media-grid,
body.public-view .profile-doc-grid,
body.public-view .profile-recap-grid {
  gap: 16px !important;
}

body.public-view .profile-section-box,
body.public-view .profile-map-preview {
  padding: 16px !important;
}

body.public-view .profile-section-box {
  display: grid;
  align-content: start;
  gap: 12px;
}

body.public-view .profile-section-box h3 {
  min-height: 18px !important;
  margin: 0 !important;
}

body.public-view .profile-section-box .profile-fields-grid,
body.public-view .profile-section-box .profile-check-grid,
body.public-view .profile-section-box .profile-chip-grid,
body.public-view .profile-section-box .profile-doc-list,
body.public-view .profile-section-box .profile-mini-table,
body.public-view .profile-section-box .profile-check-pills,
body.public-view .profile-section-box .profile-recap-grid {
  margin: 0 !important;
}

body.public-view .profile-form-card.verify > .profile-section-box,
body.public-view .profile-form-card > .profile-section-box,
body.public-view .profile-form-card > .profile-fields-grid,
body.public-view .profile-form-card > .profile-form-grid,
body.public-view .profile-form-card > .profile-media-grid,
body.public-view .profile-form-card > .profile-doc-grid {
  width: 100% !important;
}

body.public-view .profile-general-grid > .profile-upload,
body.public-view .profile-media-grid .profile-section-box,
body.public-view .profile-form-grid.structure > .profile-section-box,
body.public-view .profile-form-grid.structure > .profile-map-preview,
body.public-view .profile-form-grid.activities > .profile-section-box {
  height: 100% !important;
}

body.public-view .profile-form-grid.activities {
  gap: 16px !important;
}

body.public-view .profile-form-grid.activities > .profile-section-box {
  padding: 16px !important;
}

@media (max-width: 980px) {
  body.public-view .profile-builder-page {
    padding-bottom: 36px !important;
  }

  body.public-view .profile-setting-list {
    grid-template-columns: 1fr;
  }

  body.public-view .profile-form-card {
    gap: 14px !important;
  }

  body.public-view .profile-general-grid,
  body.public-view .profile-fields-grid,
  body.public-view .profile-form-grid,
  body.public-view .profile-media-grid,
  body.public-view .profile-doc-grid,
  body.public-view .profile-recap-grid {
    gap: 14px !important;
  }

  body.public-view .profile-builder-stats {
    margin-bottom: 0 !important;
  }
}

@media (max-width: 560px) {
  body.public-view .profile-builder-page {
    padding-bottom: 34px !important;
  }

  body.public-view .profile-form-card {
    gap: 12px !important;
    padding: 14px !important;
  }

  body.public-view .profile-section-box,
  body.public-view .profile-map-preview {
    padding: 14px !important;
  }

  body.public-view .profile-builder-stats {
    margin-bottom: 0 !important;
  }
}

/* Public club profile: friendly external view separated from the analytic dashboard. */
body.public-view {
  --public-club-shell: min(100% - 48px, 1320px);
}

body.public-view .public-club-hero {
  display: grid;
  grid-template-columns: minmax(300px, .92fr) minmax(0, 1.08fr);
  gap: 28px;
  align-items: stretch;
  width: var(--public-club-shell);
  margin: 36px auto 22px;
}

body.public-view .public-club-cover {
  position: relative;
  min-height: 440px;
  overflow: hidden;
  border: 1px solid #dfe7f0;
  border-radius: 18px;
  background: #f3f7f9;
  box-shadow: 0 22px 52px rgba(7, 20, 71, .08);
}

body.public-view .public-club-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

body.public-view .public-club-cover::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(7, 20, 71, 0) 45%, rgba(7, 20, 71, .36));
  content: "";
}

body.public-view .public-club-cover span {
  position: absolute;
  left: 18px;
  bottom: 18px;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0 12px;
  border-radius: 999px;
  color: #fff;
  background: rgba(0, 143, 70, .88);
  font-size: 12px;
  font-weight: 760;
}

.center-action-row {
  justify-content: flex-start;
}

.center-opportunity-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 36px;
  padding: 0 13px;
  border: 1px solid rgba(40,104,216,.18);
  border-radius: 999px;
  color: #204b9b;
  background: rgba(40,104,216,.08);
  font-size: 12px;
  font-weight: 760;
  cursor: pointer;
}

body.public-view .public-club-intro {
  display: grid;
  align-content: center;
  gap: 16px;
  padding: clamp(22px, 4vw, 52px);
  border: 1px solid #dfe7f0;
  border-radius: 18px;
  background:
    radial-gradient(circle at 90% 8%, rgba(0, 143, 70, .10), transparent 0 24%, transparent 25%),
    linear-gradient(145deg, #fff, #f8fbfa);
  box-shadow: 0 18px 48px rgba(7, 20, 71, .045);
}

body.public-view .public-club-intro > small,
body.public-view .public-club-cta small {
  color: var(--sportia-green-dark);
  font-size: 12px;
  font-weight: 780;
  text-transform: uppercase;
  letter-spacing: .04em;
}

body.public-view .public-club-intro h1 {
  max-width: 680px;
  margin: 0;
  color: var(--navy);
  font-size: clamp(38px, 5vw, 70px);
  line-height: .96;
  letter-spacing: 0;
}

body.public-view .public-club-intro p {
  max-width: 650px;
  margin: 0;
  color: var(--navy-muted);
  font-size: 16px;
  line-height: 1.6;
}

body.public-view .public-club-tags,
body.public-view .public-club-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

body.public-view .public-club-back {
  justify-self: start;
  width: max-content;
  max-width: 100%;
  padding-inline: 11px 13px;
}

body.public-view .public-club-tags span {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0 12px;
  border: 1px solid #dce6f0;
  border-radius: 999px;
  color: var(--navy);
  background: rgba(255, 255, 255, .78);
  font-size: 12px;
  font-weight: 680;
}

body.public-view .public-club-note {
  padding-top: 6px;
  font-size: 13px !important;
}

body.public-view .public-club-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  width: var(--public-club-shell);
  margin: 0 auto 24px;
}

body.public-view .public-club-kpis article,
body.public-view .public-club-card,
body.public-view .public-signal-card,
body.public-view .public-score-main,
body.public-view .public-score-card,
body.public-view .public-review-summary,
body.public-view .public-review-card,
body.public-view .public-review-cta {
  min-width: 0;
  border: 1px solid #dfe7f0;
  border-radius: 14px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 12px 34px rgba(7, 20, 71, .035);
}

body.public-view .public-club-kpis article {
  display: grid;
  gap: 7px;
  padding: 18px;
}

body.public-view .public-club-kpis article > span {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 999px;
  color: var(--sportia-green);
  background: var(--sportia-green-soft);
}

body.public-view .public-club-kpis small {
  color: var(--navy-muted);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
}

body.public-view .public-club-kpis strong {
  color: var(--sportia-green-dark);
  font-size: clamp(26px, 3vw, 38px);
  line-height: 1;
}

body.public-view .public-club-kpis p,
body.public-view .public-club-card p,
body.public-view .public-signal-card p,
body.public-view .public-score-main p,
body.public-view .public-score-card p,
body.public-view .public-review-summary p,
body.public-view .public-review-card p,
body.public-view .public-review-cta p {
  margin: 0;
  color: var(--navy-muted);
  font-size: 13px;
  line-height: 1.45;
}

body.public-view .public-club-section {
  width: var(--public-club-shell);
  margin-left: auto;
  margin-right: auto;
  padding: 0;
  border: 0;
  background: transparent;
}

body.public-view .public-club-summary-section {
  margin-top: clamp(34px, 5vw, 64px) !important;
}

body.public-view .public-club-overview {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(280px, .82fr);
  gap: 16px;
  align-items: stretch;
}

body.public-view .public-club-card {
  display: grid;
  gap: 14px;
  padding: 18px;
}

body.public-view .public-club-card.map-card {
  grid-row: span 3;
  align-content: stretch;
  gap: 12px;
}

body.public-view .public-club-card.map-card .map-mock {
  min-height: clamp(420px, 42vw, 590px);
  height: 100%;
}

body.public-view .public-club-card.map-card > div:first-child {
  margin-bottom: 2px;
}

body.public-view .public-club-card h3 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  color: var(--navy);
  font-size: 18px;
}

body.public-view .public-club-card ul {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

body.public-view .public-club-card li {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid #edf2f7;
  color: var(--navy);
}

body.public-view .public-club-card li:last-child {
  border-bottom: 0;
}

body.public-view .public-club-card li b {
  color: var(--sportia-green-dark);
  font-size: 18px;
}

body.public-view .public-position-card li,
body.public-view .public-distance-card li {
  grid-template-columns: 112px minmax(0, 1fr);
}

body.public-view .public-position-card li b,
body.public-view .public-distance-card li b {
  font-size: 13px;
  line-height: 1.2;
}

body.public-view .public-position-card li span,
body.public-view .public-distance-card li span {
  color: var(--navy-muted);
  font-size: 13px;
  line-height: 1.35;
}

body.public-view .public-location-facts ul {
  gap: 8px;
}

body.public-view .public-location-facts li {
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 10px;
  padding: 8px 0;
}

body.public-view .public-location-facts li > svg {
  display: grid;
  place-self: center;
  width: 28px;
  height: 28px;
  padding: 6px;
  border-radius: 999px;
  color: var(--sportia-green);
  background: var(--sportia-green-soft);
}

body.public-view .public-location-facts li span {
  display: grid;
  gap: 2px;
}

body.public-view .public-location-facts li b {
  color: var(--navy);
  font-size: 12px;
  line-height: 1.2;
}

body.public-view .public-location-facts li small {
  color: var(--navy-muted);
  font-size: 12px;
  line-height: 1.3;
}

body.public-view .public-signal-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

body.public-view .public-signal-card {
  position: relative;
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 4px 12px;
  align-items: center;
  padding: 16px;
  overflow: hidden;
}

body.public-view .public-signal-card::after {
  position: absolute;
  right: -24px;
  bottom: -28px;
  width: 90px;
  height: 90px;
  border-radius: 999px;
  background: rgba(0, 143, 70, .055);
  content: "";
}

body.public-view .public-signal-card > span {
  grid-row: span 3;
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 999px;
  color: var(--sportia-green);
  background: var(--sportia-green-soft);
}

body.public-view .public-signal-card small,
body.public-view .public-score-main small {
  color: var(--navy-muted);
  font-size: 11px;
  font-weight: 720;
  text-transform: uppercase;
  letter-spacing: .03em;
}

body.public-view .public-signal-card strong {
  color: var(--navy);
  font-size: clamp(22px, 2.7vw, 30px);
  line-height: 1;
}

body.public-view .public-rank-mini {
  display: flex;
  align-items: baseline;
  gap: 4px;
  color: var(--sportia-green-dark);
}

body.public-view .public-rank-mini strong {
  font-size: 58px;
  line-height: 1;
}

body.public-view .public-stars {
  color: var(--sportia-green);
  font-size: 24px;
  letter-spacing: 2px;
}

body.public-view .public-stars b {
  margin-left: 8px;
  color: var(--navy);
  font-size: 24px;
  letter-spacing: 0;
}

body.public-view .public-score-section {
  padding-top: 16px;
}

body.public-view .public-media-section,
body.public-view .public-review-section {
  padding-top: 16px;
}

body.public-view .public-score-grid {
  display: grid;
  grid-template-columns: minmax(260px, .85fr) minmax(320px, 1.15fr) minmax(260px, .95fr);
  gap: 16px;
  align-items: stretch;
}

body.public-view .public-score-main,
body.public-view .public-score-card,
body.public-view .public-review-summary,
body.public-view .public-review-card,
body.public-view .public-review-cta {
  padding: 18px;
}

body.public-view .public-score-main {
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  background:
    radial-gradient(circle at 8% 10%, rgba(0, 143, 70, .08), transparent 0 30%, transparent 31%),
    #fff;
}

body.public-view .public-score-main .public-score-title {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 -2px;
}

body.public-view .public-score-ring {
  --score: 86;
  display: grid;
  place-items: center;
  align-content: center;
  width: 132px;
  aspect-ratio: 1;
  border-radius: 999px;
  color: var(--navy);
  background:
    radial-gradient(circle, #fff 0 57%, transparent 58%),
    conic-gradient(from 180deg, var(--sportia-green) calc(var(--score) * 1%), #e7edf4 0);
  animation: publicClubRing 1s ease both;
}

body.public-view .public-score-ring strong {
  color: var(--sportia-green-dark);
  font-size: 38px;
  line-height: .95;
  animation: publicClubFadeUp .65s ease .15s both;
}

body.public-view .public-score-ring span {
  color: var(--navy-muted);
  font-size: 13px;
  font-weight: 700;
}

body.public-view .public-score-main h3,
body.public-view .public-score-card h3,
body.public-view .public-review-cta h3 {
  margin: 5px 0 8px;
  color: var(--navy);
  font-size: 18px;
  line-height: 1.2;
}

body.public-view .public-score-card h3 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 0;
}

body.public-view .public-score-main .public-score-title {
  margin: 0 0 -2px !important;
}

body.public-view .public-score-bars,
body.public-view .public-method-card ul {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

body.public-view .public-score-bar {
  display: grid;
  gap: 6px;
}

body.public-view .public-score-bar div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  color: var(--navy);
  font-size: 12px;
  font-weight: 650;
}

body.public-view .public-score-bar b {
  color: var(--sportia-green-dark);
  font-size: 13px;
}

body.public-view .public-score-bar em {
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: #edf2f7;
}

body.public-view .public-score-bar i {
  display: block;
  width: var(--score-width);
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #8fd7ae, var(--sportia-green));
  transform-origin: left center;
  animation: publicClubBar .9s ease both;
}

body.public-view .public-score-bar:nth-child(2) i { animation-delay: .06s; }
body.public-view .public-score-bar:nth-child(3) i { animation-delay: .12s; }
body.public-view .public-score-bar:nth-child(4) i { animation-delay: .18s; }
body.public-view .public-score-bar:nth-child(5) i { animation-delay: .24s; }
body.public-view .public-score-bar:nth-child(6) i { animation-delay: .30s; }

body.public-view .public-method-copy {
  margin: 0 0 14px !important;
  padding: 12px;
  border: 1px solid rgba(0, 143, 70, .16);
  border-radius: 10px;
  background: rgba(234, 247, 239, .58);
  color: var(--navy-muted);
  font-size: 12px !important;
  line-height: 1.5 !important;
}

body.public-view .public-method-card li {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 8px;
  align-items: start;
  color: var(--navy-muted);
  font-size: 12px;
  line-height: 1.45;
}

body.public-view .public-method-card li svg {
  display: grid;
  place-self: start center;
  width: 22px;
  height: 22px;
  padding: 4px;
  border-radius: 999px;
  color: var(--sportia-green);
  background: var(--sportia-green-soft);
}

body.public-view .public-method-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 14px;
}

body.public-view .public-method-pills span {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0 9px;
  border-radius: 999px;
  color: var(--sportia-green-dark);
  background: var(--sportia-green-soft);
  font-size: 11px;
  font-weight: 680;
}

body.public-view .public-review-grid {
  display: grid;
  grid-template-columns: minmax(260px, .9fr) minmax(340px, 1.2fr) minmax(260px, .9fr);
  gap: 16px;
  align-items: stretch;
}

body.public-view .public-review-summary {
  display: grid;
  align-content: start;
  gap: 12px;
}

body.public-view .public-review-summary > strong {
  color: var(--sportia-green-dark);
  font-size: 64px;
  line-height: .86;
}

body.public-view .public-review-summary > span {
  margin-top: -10px;
  color: var(--navy-muted);
  font-size: 18px;
  font-weight: 720;
}

body.public-view .public-review-summary div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 92px;
  gap: 10px;
  align-items: center;
}

body.public-view .public-review-summary div i {
  display: block;
  height: 7px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--sportia-green) var(--w), #edf2f7 0);
}

body.public-view .public-review-summary div b {
  color: var(--navy);
  font-size: 12px;
  font-weight: 680;
}

body.public-view .public-review-list {
  display: grid;
  gap: 12px;
}

body.public-view .public-review-card {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 12px;
}

body.public-view .public-review-card > span,
body.public-view .public-review-cta > span {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 999px;
  color: var(--sportia-green-dark);
  background: var(--sportia-green-soft);
  font-weight: 760;
}

body.public-view .public-review-card strong {
  display: block;
  color: var(--navy);
  font-size: 14px;
}

body.public-view .public-review-card small {
  display: block;
  margin: 2px 0 8px;
  color: #6b7699;
  font-size: 11px;
}

body.public-view .public-review-card b {
  display: inline-flex;
  gap: 5px;
  align-items: center;
  margin-top: 10px;
  color: var(--sportia-green);
  font-size: 13px;
  letter-spacing: 1px;
}

body.public-view .public-review-card b i {
  color: var(--navy-muted);
  font-style: normal;
  letter-spacing: 0;
}

body.public-view .public-review-cta {
  display: grid;
  align-content: center;
  gap: 12px;
  background: linear-gradient(145deg, rgba(234, 247, 239, .9), #fff);
}

body.public-view .public-review-cta .public-primary {
  width: 100%;
}

body.public-view .public-club-gallery {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

body.public-view .public-club-photo {
  position: relative;
  overflow: hidden;
  border: 1px solid #dfe7f0;
  border-radius: 14px;
  background: #fff;
}

body.public-view .public-club-photo img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

body.public-view .public-image-hotspots {
  position: absolute;
  inset: 0 0 58px;
  z-index: 2;
  pointer-events: none;
}

body.public-view .public-image-hotspots a {
  position: absolute;
  left: var(--x);
  top: var(--y);
  transform: translate(-50%, -50%);
  display: block;
  width: 26px;
  height: 26px;
  min-width: 26px;
  padding: 0;
  border: 1px solid rgba(255,255,255,.86);
  border-radius: 999px;
  color: #fff;
  text-decoration: none;
  background: rgba(7,20,71,.28);
  box-shadow: 0 8px 22px rgba(7,20,71,.22), 0 0 0 1px rgba(7,20,71,.16), 0 0 18px rgba(255,255,255,.18);
  backdrop-filter: blur(8px) saturate(1.08);
  cursor: pointer;
  pointer-events: auto;
  transition: width .22s ease, min-width .22s ease, background .22s ease, box-shadow .22s ease, transform .22s ease, border-color .22s ease;
}

body.public-view .public-image-hotspots a,
body.public-view .public-image-hotspots a:visited,
body.public-view .public-image-hotspots a:hover,
body.public-view .public-image-hotspots a:focus,
body.public-view .public-image-hotspots a:active,
body.public-view .public-image-hotspots a b,
body.public-view .public-image-hotspots a span,
body.public-view .public-image-hotspots a:visited b,
body.public-view .public-image-hotspots a:visited span,
body.public-view .public-image-hotspots a:hover b,
body.public-view .public-image-hotspots a:hover span,
body.public-view .public-image-hotspots a:focus b,
body.public-view .public-image-hotspots a:focus span,
body.public-view .public-image-hotspots a:active b,
body.public-view .public-image-hotspots a:active span {
  color: #fff !important;
}

body.public-view .public-image-hotspots a::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: #8bf000;
  box-shadow: 0 0 0 5px rgba(139,240,0,.2), 0 0 14px rgba(139,240,0,.58), 0 2px 8px rgba(7,20,71,.32);
  opacity: .92;
  transform: translate(-50%, -50%);
  transition: left .22s ease, opacity .22s ease, box-shadow .22s ease;
}

body.public-view .public-image-hotspots b,
body.public-view .public-image-hotspots span,
body.public-view .public-image-hotspots em {
  display: block;
  max-width: 0;
  padding-left: 0;
  opacity: 0;
  overflow: hidden;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
  pointer-events: none;
  transition: max-width .22s ease, opacity .16s ease .04s, padding-left .22s ease;
}

body.public-view .public-image-hotspots b {
  font-size: 10px;
  font-weight: 540;
  letter-spacing: .01em;
  line-height: 1.12;
  text-shadow: 0 1px 2px rgba(7,20,71,.32);
}

body.public-view .public-image-hotspots span {
  color: #fff;
  font-size: 9.6px;
  font-weight: 430;
  line-height: 1.22;
  opacity: .9;
  text-shadow: 0 1px 2px rgba(7,20,71,.3);
}

body.public-view .public-image-hotspots em {
  margin-top: 2px;
  color: rgba(255,255,255,.76);
  font-size: 8.8px;
  font-style: normal;
  font-weight: 410;
  line-height: 1.1;
  letter-spacing: .01em;
}

body.public-view .public-image-hotspots a:hover,
body.public-view .public-image-hotspots a.is-open {
  width: 212px;
  min-width: 166px;
  height: auto;
  min-height: 46px;
  padding: 7px 11px 7px 10px;
  border-color: rgba(255,255,255,.95);
  background: linear-gradient(135deg, rgba(7,20,71,.76), rgba(17,43,93,.66));
  box-shadow: 0 14px 34px rgba(7,20,71,.34), 0 0 0 1px rgba(139,240,0,.2);
  transform: translate(-50%, -50%) scale(1.015);
}

body.public-view .public-image-hotspots a:focus-visible,
body.public-view .public-image-hotspots a.is-open:focus {
  width: 212px;
  min-width: 166px;
  height: auto;
  min-height: 46px;
  padding: 7px 11px 7px 10px;
  border-color: rgba(255,255,255,.98);
  background: linear-gradient(135deg, rgba(7,20,71,.78), rgba(17,43,93,.68));
  box-shadow: 0 0 0 3px rgba(139,240,0,.22), 0 14px 34px rgba(7,20,71,.34);
  outline: none;
}

body.public-view .public-image-hotspots a:hover::before,
body.public-view .public-image-hotspots a.is-open::before,
body.public-view .public-image-hotspots a:focus-visible::before {
  left: 13px;
  opacity: 1;
  box-shadow: 0 0 0 4px rgba(139,240,0,.24), 0 0 16px rgba(139,240,0,.62), 0 2px 8px rgba(7,20,71,.34);
}

body.public-view .public-image-hotspots a:hover b,
body.public-view .public-image-hotspots a:hover span,
body.public-view .public-image-hotspots a:hover em,
body.public-view .public-image-hotspots a.is-open b,
body.public-view .public-image-hotspots a.is-open span,
body.public-view .public-image-hotspots a.is-open em,
body.public-view .public-image-hotspots a:focus-visible b,
body.public-view .public-image-hotspots a:focus-visible span,
body.public-view .public-image-hotspots a:focus-visible em {
  max-width: 172px;
  padding-left: 19px;
  opacity: 1;
  white-space: normal;
  text-overflow: clip;
}

@media (max-width: 760px) {
  body.public-view .public-image-hotspots a {
    width: 32px;
    height: 32px;
    min-width: 32px;
  }

  body.public-view .public-image-hotspots a:hover,
  body.public-view .public-image-hotspots a.is-open,
  body.public-view .public-image-hotspots a:focus-visible {
    width: min(210px, calc(100vw - 42px));
    min-width: 166px;
    height: auto;
  }

  body.public-view .public-image-hotspots a:hover b,
  body.public-view .public-image-hotspots a:hover span,
  body.public-view .public-image-hotspots a:hover em,
  body.public-view .public-image-hotspots a.is-open b,
  body.public-view .public-image-hotspots a.is-open span,
  body.public-view .public-image-hotspots a.is-open em,
  body.public-view .public-image-hotspots a:focus-visible b,
  body.public-view .public-image-hotspots a:focus-visible span,
  body.public-view .public-image-hotspots a:focus-visible em {
    max-width: 164px;
  }
}

body.public-view .public-club-photo span {
  display: block;
  padding: 12px 12px 2px;
  color: var(--navy);
  font-size: 13px;
  font-weight: 720;
}

body.public-view .public-club-photo small {
  display: block;
  padding: 0 12px 12px;
  color: var(--navy-muted);
  font-size: 11px;
  font-weight: 520;
}

body.public-view .public-club-cta {
  width: var(--public-club-shell);
  margin-left: auto;
  margin-right: auto;
}

body.public-view .public-club-cta h2 {
  margin: 0;
  color: var(--navy);
}

body.public-view .public-club-cta p {
  margin: 6px 0 0;
}

body.public-view .public-report-teaser {
  position: relative;
  overflow: hidden;
  border-color: rgba(0, 143, 70, .24);
  background:
    radial-gradient(circle at 12% 0%, rgba(0, 143, 70, .12), transparent 0 34%, transparent 35%),
    linear-gradient(135deg, #ffffff, #f6fbf8);
}

body.public-view .public-report-teaser::after {
  position: absolute;
  right: -44px;
  bottom: -56px;
  width: 190px;
  height: 190px;
  border-radius: 999px;
  border: 22px solid rgba(0, 143, 70, .07);
  content: "";
}

body.public-view .public-report-actions {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: flex-end;
}

body.public-view .public-report-actions a {
  min-width: 218px;
  min-height: 46px;
  padding-inline: 18px;
  line-height: 1.15;
}

@keyframes publicClubBar {
  from { transform: scaleX(0); opacity: .35; }
  to { transform: scaleX(1); opacity: 1; }
}

@keyframes publicClubFadeUp {
  from { transform: translateY(7px); opacity: 0; }
  to { transform: translateY(0); opacity: 1; }
}

@keyframes publicClubRing {
  from { filter: saturate(.75); transform: rotate(-7deg) scale(.96); opacity: .7; }
  to { filter: saturate(1); transform: rotate(0deg) scale(1); opacity: 1; }
}

@media (max-width: 1040px) {
  body.public-view .public-club-hero,
  body.public-view .public-club-overview,
  body.public-view .public-score-grid,
  body.public-view .public-review-grid {
    grid-template-columns: 1fr;
  }

  body.public-view .public-club-cover {
    min-height: 340px;
  }

  body.public-view .public-club-kpis,
  body.public-view .public-signal-grid,
  body.public-view .public-club-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.public-view .public-score-main {
    grid-template-columns: 120px minmax(0, 1fr);
  }

  body.public-view .public-score-ring {
    width: 120px;
  }

  body.public-view .public-club-card.map-card {
    grid-row: auto;
  }

  body.public-view .public-club-card.map-card .map-mock {
    min-height: 380px;
  }
}

@media (max-width: 620px) {
  body.public-view .public-club-hero,
  body.public-view .public-club-kpis,
  body.public-view .public-club-section,
  body.public-view .public-club-cta {
    width: min(100% - 24px, 460px);
  }

  body.public-view .public-club-kpis,
  body.public-view .public-signal-grid,
  body.public-view .public-club-gallery {
    grid-template-columns: 1fr;
  }

  body.public-view .public-club-cover {
    min-height: 260px;
  }

  body.public-view .public-club-actions a {
    width: 100%;
    justify-content: center;
  }

  body.public-view .public-club-back {
    width: max-content;
  }

  body.public-view .public-club-card.map-card .map-mock {
    min-height: 330px;
  }

  body.public-view .public-position-card li,
  body.public-view .public-distance-card li {
    grid-template-columns: 96px minmax(0, 1fr);
  }

  body.public-view .public-score-main {
    grid-template-columns: 1fr;
    justify-items: start;
  }

  body.public-view .public-score-ring {
    width: 112px;
  }

  body.public-view .public-review-summary div {
    grid-template-columns: 1fr;
    gap: 6px;
  }

body.public-view .public-report-actions,
body.public-view .public-report-actions a {
    width: 100%;
    justify-content: center;
    min-width: 0;
  }
}

/* Admin dashboard final KPI containment: generated values must never spill out of reusable cards. */
body .main-content[data-page="report"] .executive-summary {
  padding: 14px !important;
  overflow: hidden !important;
}

body .main-content[data-page="report"] .executive-summary .kpi-grid {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 10px !important;
  align-items: stretch !important;
  overflow: visible !important;
  padding: 0 !important;
}

body .main-content[data-page="report"] .executive-summary .kpi-card,
body .main-content[data-page="struttura-servizi"] .structure-kpis .kpi-card {
  min-width: 0 !important;
  min-height: 112px !important;
  grid-template-columns: 40px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 11px !important;
  overflow: hidden !important;
}

body .main-content[data-page="report"] .executive-summary .kpi-card > div:last-of-type,
body .main-content[data-page="struttura-servizi"] .structure-kpis .kpi-card > div:last-of-type {
  min-width: 0 !important;
  min-height: 0 !important;
  gap: 3px !important;
  align-content: center !important;
  overflow: hidden !important;
}

body .main-content[data-page="report"] .executive-summary .kpi-label,
body .main-content[data-page="struttura-servizi"] .structure-kpis .kpi-label {
  min-height: 27px !important;
  max-width: 100% !important;
  font-size: clamp(9px, .74vw, 10.5px) !important;
  line-height: 1.14 !important;
  overflow-wrap: anywhere !important;
  text-wrap: balance !important;
}

body .main-content[data-page="report"] .executive-summary .kpi-card strong,
body .main-content[data-page="struttura-servizi"] .structure-kpis .kpi-card strong {
  display: block !important;
  max-width: 100% !important;
  font-size: clamp(16px, 1.3vw, 21px) !important;
  line-height: 1.05 !important;
  white-space: normal !important;
  overflow: visible !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  text-wrap: balance !important;
}

body .main-content[data-page="report"] .executive-summary .kpi-note,
body .main-content[data-page="struttura-servizi"] .structure-kpis .kpi-note {
  max-width: 100% !important;
  font-size: clamp(9px, .68vw, 10px) !important;
  line-height: 1.18 !important;
  overflow-wrap: anywhere !important;
  text-wrap: pretty !important;
}

body .main-content[data-page="struttura-servizi"] .structure-kpis {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
  align-items: stretch !important;
  overflow: visible !important;
  padding: 0 !important;
}

body .main-content[data-page="struttura-servizi"] .structure-kpis .kpi-card:nth-child(4) strong,
body .main-content[data-page="struttura-servizi"] .structure-kpis .kpi-card:nth-child(5) strong,
body .main-content[data-page="struttura-servizi"] .structure-kpis .kpi-card:nth-child(7) strong {
  font-size: clamp(14.5px, 1.12vw, 18px) !important;
}

body .main-content[data-page="report"] .executive-summary .metric-icon,
body .main-content[data-page="struttura-servizi"] .structure-kpis .metric-icon {
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  align-self: center !important;
}

@media (max-width: 1180px) {
  body .main-content[data-page="report"] .executive-summary .kpi-grid,
  body .main-content[data-page="struttura-servizi"] .structure-kpis {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  body .main-content[data-page="report"] .executive-summary .kpi-grid,
  body .main-content[data-page="struttura-servizi"] .structure-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  body .main-content[data-page="report"] .executive-summary .kpi-card,
  body .main-content[data-page="struttura-servizi"] .structure-kpis .kpi-card {
    width: 100% !important;
    flex: initial !important;
    min-height: 106px !important;
  }
}

@media (max-width: 430px) {
  body .main-content[data-page="report"] .executive-summary .kpi-grid,
  body .main-content[data-page="struttura-servizi"] .structure-kpis {
    grid-template-columns: 1fr !important;
  }

  body .main-content[data-page="report"] .executive-summary .kpi-card,
  body .main-content[data-page="struttura-servizi"] .structure-kpis .kpi-card {
    min-height: 90px !important;
  }

  body .main-content[data-page="report"] .executive-summary .kpi-card strong,
  body .main-content[data-page="struttura-servizi"] .structure-kpis .kpi-card strong,
  body .main-content[data-page="struttura-servizi"] .structure-kpis .kpi-card:nth-child(4) strong,
  body .main-content[data-page="struttura-servizi"] .structure-kpis .kpi-card:nth-child(5) strong,
  body .main-content[data-page="struttura-servizi"] .structure-kpis .kpi-card:nth-child(7) strong {
    font-size: clamp(17px, 5vw, 20px) !important;
  }
}

/* Final profile verification release panel: clearer, centered and less bulky. */
body.public-view .profile-form-card.verify .profile-publish-box {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  grid-template-areas:
    "copy copy"
    "consent actions" !important;
  align-items: end !important;
  gap: 14px 18px !important;
  margin-top: 18px !important;
  padding: 20px 22px !important;
  border-color: rgba(0, 143, 70, .22) !important;
  border-radius: 12px !important;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(247, 252, 249, .96)) !important;
  box-shadow: 0 14px 34px rgba(7, 20, 71, .06) !important;
}

body.public-view .profile-form-card.verify .profile-publish-box > svg {
  grid-area: copy !important;
  justify-self: center !important;
  align-self: start !important;
  width: 44px !important;
  height: 44px !important;
  padding: 9px !important;
  margin-bottom: 2px !important;
}

body.public-view .profile-form-card.verify .profile-publish-copy {
  display: contents !important;
}

body.public-view .profile-form-card.verify .profile-publish-copy strong,
body.public-view .profile-form-card.verify .profile-publish-copy p {
  grid-area: copy !important;
  justify-self: center !important;
  max-width: 780px !important;
  text-align: center !important;
}

body.public-view .profile-form-card.verify .profile-publish-copy strong {
  align-self: start !important;
  margin-top: 50px !important;
  color: var(--navy) !important;
  font-size: clamp(16px, 1.4vw, 19px) !important;
  line-height: 1.18 !important;
  font-weight: 760 !important;
}

body.public-view .profile-form-card.verify .profile-publish-copy p {
  align-self: start !important;
  margin-top: 78px !important;
  color: #3f5072 !important;
  font-size: clamp(12.5px, .94vw, 14px) !important;
  line-height: 1.55 !important;
  text-wrap: pretty !important;
}

body.public-view .profile-form-card.verify .profile-publish-copy label {
  grid-area: consent !important;
  display: grid !important;
  grid-template-columns: 18px minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 9px !important;
  width: min(100%, 650px) !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 10px 12px !important;
  border: 1px solid rgba(0, 143, 70, .16) !important;
  border-radius: 9px !important;
  color: #263a62 !important;
  background: rgba(234, 247, 239, .48) !important;
  font-size: clamp(10.8px, .78vw, 12px) !important;
  line-height: 1.38 !important;
}

body.public-view .profile-form-card.verify .profile-publish-copy label input {
  width: 16px !important;
  height: 16px !important;
  margin: 1px 0 0 !important;
}

body.public-view .profile-form-card.verify .profile-publish-actions {
  grid-area: actions !important;
  display: inline-flex !important;
  align-self: end !important;
  justify-self: end !important;
  gap: 8px !important;
  width: auto !important;
}

body.public-view .profile-form-card.verify .profile-publish-actions button {
  min-width: 0 !important;
  min-height: 36px !important;
  height: 36px !important;
  padding: 0 13px !important;
  border-radius: 8px !important;
  gap: 6px !important;
  font-size: 11.5px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

body.public-view .profile-form-card.verify .profile-publish-actions button svg {
  width: 14px !important;
  height: 14px !important;
}

body.public-view .profile-form-card.verify .profile-publish-box .profile-approve-button {
  font-size: 11.2px !important;
  padding-inline: 12px !important;
}

@media (max-width: 980px) {
  body.public-view .profile-form-card.verify .profile-publish-box {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "copy"
      "consent"
      "actions" !important;
    align-items: center !important;
    justify-items: center !important;
  }

  body.public-view .profile-form-card.verify .profile-publish-copy label {
    width: min(100%, 720px) !important;
  }

  body.public-view .profile-form-card.verify .profile-publish-actions {
    justify-self: center !important;
  }
}

@media (max-width: 560px) {
  body.public-view .profile-form-card.verify .profile-publish-box {
    padding: 18px 14px !important;
  }

  body.public-view .profile-form-card.verify .profile-publish-copy strong {
    margin-top: 48px !important;
  }

  body.public-view .profile-form-card.verify .profile-publish-copy p {
    margin-top: 76px !important;
  }

  body.public-view .profile-form-card.verify .profile-publish-actions {
    width: 100% !important;
    flex-direction: column !important;
  }

  body.public-view .profile-form-card.verify .profile-publish-actions button {
    width: 100% !important;
  }
}

/* Verification release panel hard reset: linear, stable layout for variable legal copy. */
body.public-view .profile-form-card.verify .profile-publish-box {
  display: grid !important;
  grid-template-columns: 1fr !important;
  grid-template-areas: none !important;
  justify-items: center !important;
  align-items: start !important;
  gap: 12px !important;
  padding: 20px 22px 18px !important;
}

body.public-view .profile-form-card.verify .profile-publish-box > svg {
  grid-area: auto !important;
  margin: 0 !important;
}

body.public-view .profile-form-card.verify .profile-publish-copy {
  display: grid !important;
  justify-items: center !important;
  gap: 9px !important;
  width: min(100%, 820px) !important;
  text-align: center !important;
}

body.public-view .profile-form-card.verify .profile-publish-copy strong,
body.public-view .profile-form-card.verify .profile-publish-copy p,
body.public-view .profile-form-card.verify .profile-publish-copy label {
  grid-area: auto !important;
  align-self: auto !important;
  justify-self: center !important;
  margin: 0 !important;
}

body.public-view .profile-form-card.verify .profile-publish-copy strong {
  max-width: 100% !important;
}

body.public-view .profile-form-card.verify .profile-publish-copy p {
  max-width: 760px !important;
}

body.public-view .profile-form-card.verify .profile-publish-copy label {
  width: min(100%, 700px) !important;
  text-align: left !important;
}

body.public-view .profile-form-card.verify .profile-publish-actions {
  grid-area: auto !important;
  justify-self: end !important;
  align-self: auto !important;
  margin-top: 2px !important;
}

@media (max-width: 720px) {
  body.public-view .profile-form-card.verify .profile-publish-actions {
    justify-self: stretch !important;
  }
}

/* Public club map block: mirror the admin map composition with public-page styling. */
body.public-view .public-club-overview {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 320px) !important;
  grid-template-areas:
    "map position"
    "facilities distances"
    "facts facts" !important;
  gap: 16px !important;
  align-items: stretch !important;
}

body.public-view .public-club-overview .map-card {
  grid-area: map !important;
  grid-row: auto !important;
  min-height: 0 !important;
  align-content: stretch !important;
}

body.public-view .public-club-overview .public-position-card {
  grid-area: position !important;
}

body.public-view .public-club-overview .public-facilities-card {
  grid-area: facilities !important;
}

body.public-view .public-club-overview .public-distance-card {
  grid-area: distances !important;
}

body.public-view .public-club-overview .public-location-facts {
  grid-area: facts !important;
}

body.public-view .public-club-card.map-card .map-mock {
  min-height: clamp(330px, 30vw, 430px) !important;
  max-height: 460px !important;
  height: 100% !important;
}

body.public-view .public-location-facts {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  gap: 16px !important;
  align-items: center !important;
  padding-block: 16px !important;
}

body.public-view .public-location-facts h3 {
  align-self: start !important;
  min-width: 170px !important;
}

body.public-view .public-location-facts ul {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

body.public-view .public-location-facts li {
  min-width: 0 !important;
  padding: 0 10px 0 0 !important;
  border-bottom: 0 !important;
  border-right: 1px solid #edf2f7 !important;
}

body.public-view .public-location-facts li:last-child {
  border-right: 0 !important;
}

body.public-view .public-facilities-card {
  align-content: start !important;
}

body.public-view .public-facilities-card ul {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

body.public-view .public-facilities-card li {
  display: grid !important;
  grid-template-columns: 40px minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: center !important;
  min-width: 0 !important;
  padding: 10px !important;
  border: 1px solid #edf2f7 !important;
  border-radius: 8px !important;
  background: rgba(248, 250, 252, .74) !important;
}

body.public-view .public-facilities-card li > span {
  display: grid !important;
  place-items: center !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 999px !important;
  color: var(--sportia-green) !important;
  background: var(--sportia-green-soft) !important;
}

body.public-view .public-facilities-card li div {
  display: grid !important;
  gap: 2px !important;
  min-width: 0 !important;
}

body.public-view .public-facilities-card li small {
  color: var(--navy-muted) !important;
  font-size: 10.5px !important;
  line-height: 1.18 !important;
}

body.public-view .public-facilities-card li b {
  color: var(--navy) !important;
  font-size: clamp(16px, 1.35vw, 20px) !important;
  line-height: 1.05 !important;
  white-space: nowrap !important;
}

body.public-view .public-facilities-card li em {
  color: #667792 !important;
  font-size: 10.5px !important;
  font-style: normal !important;
  line-height: 1.2 !important;
}

@media (max-width: 1040px) {
  body.public-view .public-club-overview {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "map"
      "position"
      "facilities"
      "distances"
      "facts" !important;
  }

  body.public-view .public-club-card.map-card .map-mock {
    min-height: 360px !important;
    max-height: none !important;
  }

  body.public-view .public-location-facts {
    grid-template-columns: 1fr !important;
  }

  body.public-view .public-location-facts ul {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.public-view .public-facilities-card ul {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.public-view .public-location-facts li {
    border-right: 0 !important;
    border-bottom: 1px solid #edf2f7 !important;
    padding: 8px 0 !important;
  }
}

@media (max-width: 620px) {
  body.public-view .public-club-card.map-card .map-mock {
    min-height: 300px !important;
  }

  body.public-view .public-location-facts ul {
    grid-template-columns: 1fr !important;
  }

  body.public-view .public-facilities-card ul {
    grid-template-columns: 1fr !important;
  }
}

/* Public club final CTA: keep both actions equal, stacked, and aligned. */
body.public-view .public-report-actions {
  display: grid !important;
  grid-template-columns: minmax(0, 260px) !important;
  align-content: center !important;
  justify-content: end !important;
  gap: 12px !important;
}

body.public-view .public-report-actions a {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 48px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  padding: 0 18px !important;
  text-align: center !important;
  white-space: nowrap !important;
}

@media (max-width: 760px) {
  body.public-view .public-report-actions {
    grid-template-columns: minmax(0, 1fr) !important;
    justify-content: stretch !important;
    width: 100% !important;
  }
}

@media (max-width: 390px) {
  body.public-view .public-report-actions a {
    min-height: 52px !important;
    white-space: normal !important;
  }
}

/* Public club score band: align the three card titles on the same horizontal axis. */
body.public-view .public-score-grid > article {
  align-content: start !important;
}

body.public-view .public-score-main .public-score-title,
body.public-view .public-score-card > h3 {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 24px !important;
  margin: 0 0 14px !important;
  color: var(--navy) !important;
  font-size: 18px !important;
  line-height: 1.2 !important;
}

body.public-view .public-score-main .public-score-title {
  grid-column: 1 / -1 !important;
}

/* Public club generated-content safety: every club uses the same template,
   therefore long profile values must wrap instead of widening the cards. */
body.public-view :where(
  .public-club-hero,
  .public-club-intro,
  .public-club-kpis,
  .public-club-section,
  .public-club-overview,
  .public-club-card,
  .public-signal-card,
  .public-score-grid,
  .public-review-grid,
  .public-club-cta
) {
  min-width: 0 !important;
}

body.public-view :where(
  .public-club-card,
  .public-signal-card,
  .public-score-grid,
  .public-review-grid,
  .public-club-cta
) :where(p, small, strong, b, em, li, a, span) {
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
}

body.public-view .public-facilities-card li b {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  line-height: 1.16 !important;
}

body.public-view .public-facilities-card li :where(small, em) {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

body.public-view .public-club-section .section-heading.row > * {
  min-width: 0 !important;
}

body.public-view .public-dashboard-cta {
  box-sizing: border-box !important;
  width: 164px !important;
  min-width: 164px !important;
  min-height: 36px !important;
  justify-content: center !important;
  flex: 0 0 164px !important;
  white-space: nowrap !important;
}

@media (max-width: 1100px) {
  body.public-view .public-club-cta {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 22px !important;
  }

  body.public-view .public-report-actions {
    width: 100% !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    justify-content: stretch !important;
  }

  body.public-view .public-club-section .section-heading.row {
    align-items: flex-start !important;
    gap: 14px !important;
  }

  body.public-view .public-club-section .section-heading.row > a,
  body.public-view .public-club-section .section-heading.row > button {
    flex: 0 1 auto !important;
    min-width: 0 !important;
    max-width: min(100%, 270px) !important;
    white-space: normal !important;
    text-align: center !important;
    line-height: 1.25 !important;
  }

  body.public-view .public-report-actions a {
    height: auto !important;
    white-space: normal !important;
    line-height: 1.25 !important;
    padding-block: 11px !important;
  }
}

@media (max-width: 760px) {
  body.public-view .public-club-section .section-heading.row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.public-view .public-club-section .section-heading.row > a,
  body.public-view .public-club-section .section-heading.row > button {
    width: 100% !important;
    max-width: 100% !important;
    justify-content: center !important;
  }

  body.public-view .public-dashboard-cta {
    width: 100% !important;
    min-width: 0 !important;
    flex-basis: auto !important;
  }

  body.public-view .public-report-actions {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Public club media preview modal */
body .public-gallery-modal .gallery-modal-panel {
  grid-template-rows: auto minmax(0, 1fr) auto !important;
  width: min(1120px, 100%) !important;
}

body .public-gallery-modal-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
  padding: 18px !important;
}

body .public-gallery-modal-card {
  display: grid !important;
  grid-template-rows: auto auto auto auto !important;
  min-width: 0 !important;
  overflow: hidden !important;
  border: 1px solid #dfe7f0 !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: 0 16px 34px rgba(17, 45, 82, .06) !important;
}

body .public-gallery-modal-card > div {
  position: relative !important;
  overflow: hidden !important;
  aspect-ratio: 4 / 3 !important;
  background: #eef4f8 !important;
}

body .public-gallery-modal-card img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
}

body .public-gallery-modal-card > div > span {
  position: absolute !important;
  right: 10px !important;
  bottom: 10px !important;
  display: grid !important;
  place-items: center !important;
  width: 38px !important;
  height: 38px !important;
  border: 1px solid rgba(255, 255, 255, .72) !important;
  border-radius: 999px !important;
  color: #fff !important;
  background: rgba(7, 20, 71, .54) !important;
  backdrop-filter: blur(7px) !important;
}

body .public-gallery-modal-card small {
  justify-self: start !important;
  margin: 11px 12px 0 !important;
  padding: 4px 8px !important;
  border-radius: 999px !important;
  color: var(--sportia-green-dark) !important;
  background: var(--sportia-green-soft) !important;
  font-size: 10px !important;
  font-weight: 650 !important;
  line-height: 1 !important;
}

body .public-gallery-modal-card strong {
  padding: 8px 12px 0 !important;
  color: var(--navy) !important;
  font-size: 13px !important;
  font-weight: 680 !important;
  line-height: 1.18 !important;
}

body .public-gallery-modal-card p {
  margin: 0 !important;
  padding: 4px 12px 13px !important;
  color: var(--navy-muted) !important;
  font-size: 11px !important;
  line-height: 1.3 !important;
}

body .public-gallery-modal-footer {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto auto auto !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 14px 18px !important;
  border-top: 1px solid var(--border) !important;
  background: linear-gradient(135deg, #fff, #f7fbf9) !important;
}

body .public-gallery-modal-footer p {
  margin: 0 !important;
  color: var(--navy-muted) !important;
  font-size: 12.5px !important;
  line-height: 1.35 !important;
}

body .public-gallery-modal-footer a {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-height: 42px !important;
  padding: 0 16px !important;
  border-radius: 9px !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

body .public-gallery-modal-footer .public-primary {
  border: 1px solid var(--sportia-green) !important;
  color: #fff !important;
  background: linear-gradient(135deg, #008F46 0%, #079E54 100%) !important;
}

body .public-gallery-modal-footer .public-secondary {
  border: 1px solid rgba(0, 143, 70, .42) !important;
  color: var(--navy) !important;
  background: #fff !important;
}

body .public-gallery-modal-footer .public-secondary.muted {
  border-color: rgba(130, 146, 171, .32) !important;
  color: #647089 !important;
  background: rgba(248, 250, 252, .82) !important;
}

@media (max-width: 980px) {
  body .public-gallery-modal-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body .public-gallery-modal-footer {
    grid-template-columns: 1fr !important;
  }

  body .public-gallery-modal-footer a {
    width: 100% !important;
  }
}

@media (max-width: 620px) {
  body .public-gallery-modal-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Admin reusable KPI cards: consistent label/value/note alignment across every dashboard page. */
body .main-content[data-page] .kpi-card {
  grid-template-columns: 40px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 10px !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

body .main-content[data-page] .kpi-card .metric-icon {
  align-self: center !important;
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  margin: 0 !important;
}

body .main-content[data-page] .kpi-card > div:last-of-type {
  align-self: stretch !important;
  display: grid !important;
  grid-template-rows: 28px 32px 24px !important;
  align-content: center !important;
  justify-items: stretch !important;
  gap: 3px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

body .main-content[data-page] .kpi-card .kpi-label {
  display: flex !important;
  align-items: flex-start !important;
  height: 28px !important;
  min-height: 28px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  color: var(--navy) !important;
  font-size: clamp(9.4px, .74vw, 11px) !important;
  font-weight: 680 !important;
  line-height: 1.14 !important;
  overflow-wrap: normal !important;
  text-wrap: balance !important;
}

body .main-content[data-page] .kpi-card strong {
  display: flex !important;
  align-items: center !important;
  height: 32px !important;
  min-height: 32px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  color: var(--navy) !important;
  font-size: clamp(17px, 1.45vw, 25px) !important;
  font-weight: 660 !important;
  line-height: 1.04 !important;
  white-space: normal !important;
  overflow: visible !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  text-wrap: balance !important;
}

body .main-content[data-page="dashboard"] .kpi-card:first-child strong,
body .main-content[data-page="dati-finanziari"] .kpi-card strong,
body .main-content[data-page="report"] .kpi-card strong {
  color: var(--sportia-green) !important;
}

body .main-content[data-page] .kpi-card .kpi-note {
  display: flex !important;
  align-items: flex-start !important;
  min-height: 24px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  color: var(--sportia-green-dark) !important;
  font-size: clamp(9px, .68vw, 10.5px) !important;
  font-weight: 560 !important;
  line-height: 1.16 !important;
  overflow-wrap: normal !important;
  text-wrap: pretty !important;
}

@media (max-width: 760px) {
  body .main-content[data-page] .kpi-card {
    width: 100% !important;
  }

  body .main-content[data-page] .kpi-card strong {
    font-size: clamp(18px, 4.7vw, 24px) !important;
  }
}

/* Recensioni admin: monitoring dashboard, aligned with internal SPORTIA pages */
body .main-content[data-page="recensioni"] .review-admin-kpis {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin-bottom: 14px !important;
}

body .main-content[data-page="recensioni"] .review-admin-kpis .kpi-card {
  min-height: 112px !important;
}

body .main-content[data-page="recensioni"] .review-admin-kpis .kpi-card strong {
  color: var(--sportia-green) !important;
  font-size: clamp(18px, 1.24vw, 23px) !important;
}

body .main-content[data-page="recensioni"] .review-summary-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
  align-items: stretch !important;
  margin-top: 0 !important;
  margin-bottom: 14px !important;
}

body .main-content[data-page="recensioni"] .review-summary-grid > .review-overview-card,
body .main-content[data-page="recensioni"] .review-summary-grid > .review-categories-card,
body .main-content[data-page="recensioni"] .review-summary-grid > .review-topics-card {
  grid-column: auto !important;
  grid-row: auto !important;
  min-width: 0 !important;
  min-height: 360px !important;
  height: auto !important;
}

body .main-content[data-page="recensioni"] .review-summary-grid > .review-overview-card {
  order: 1 !important;
}

body .main-content[data-page="recensioni"] .review-summary-grid > .review-categories-card {
  order: 2 !important;
}

body .main-content[data-page="recensioni"] .review-summary-grid > .review-topics-card {
  order: 3 !important;
}

body .main-content[data-page="recensioni"] .review-summary-grid > .card .card-title {
  min-height: 30px !important;
}

body .main-content[data-page="recensioni"] .review-card-body,
body .main-content[data-page="recensioni"] .review-topics-body {
  display: grid !important;
  align-content: start !important;
  gap: 12px !important;
  min-height: 0 !important;
}

body .main-content[data-page="recensioni"] .review-overview-card .review-overview {
  grid-template-columns: 118px minmax(0, 1fr) !important;
  gap: 12px !important;
  min-height: 158px !important;
}

body .main-content[data-page="recensioni"] .review-overview-card .sportia-agent-quote p,
body .main-content[data-page="recensioni"] .review-categories-card .sportia-agent-quote p,
body .main-content[data-page="recensioni"] .review-topics-card .sportia-agent-quote p {
  -webkit-line-clamp: unset !important;
  overflow: visible !important;
}

body .main-content[data-page="recensioni"] .owner-community-feed {
  width: 100% !important;
  margin-top: 0 !important;
}

body .main-content[data-page="recensioni"] .owner-community-feed .review-feed-head {
  padding-bottom: 12px !important;
  border-bottom: 1px solid rgba(221, 230, 240, .85);
}

body .main-content[data-page="recensioni"] .owner-community-feed .review-feed-head .outline-action {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 168px !important;
}

body .main-content[data-page="recensioni"] .owner-review-list {
  display: grid !important;
  gap: 10px !important;
}

body .main-content[data-page="recensioni"] .admin-review-item {
  display: grid !important;
  grid-template-columns: 42px minmax(150px, .78fr) minmax(240px, 1.42fr) minmax(138px, auto) !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 13px !important;
}

body .main-content[data-page="recensioni"] .admin-review-item .review-person {
  min-width: 0 !important;
}

body .main-content[data-page="recensioni"] .admin-review-item p {
  min-width: 0 !important;
  margin: 0 !important;
  color: #24385f !important;
  font-size: 12px !important;
  font-weight: 420 !important;
  line-height: 1.45 !important;
}

body .main-content[data-page="recensioni"] .admin-review-item p small {
  display: block !important;
  margin: 0 0 4px !important;
  color: #687995 !important;
  font-size: 10px !important;
}

body .main-content[data-page="recensioni"] .review-owner-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  min-width: 0 !important;
}

body .main-content[data-page="recensioni"] .review-owner-actions > span {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 24px !important;
  padding: 0 8px !important;
  border-radius: 999px !important;
  font-size: 10px !important;
  font-weight: 620 !important;
  white-space: nowrap !important;
}

body .main-content[data-page="recensioni"] .review-owner-actions > span.ok {
  color: var(--sportia-green-dark) !important;
  background: rgba(0, 143, 70, .1) !important;
}

body .main-content[data-page="recensioni"] .review-owner-actions > span.watch {
  color: #946200 !important;
  background: rgba(245, 166, 35, .14) !important;
}

body .main-content[data-page="recensioni"] .ghost-button.compact {
  min-height: 30px !important;
  padding: 0 12px !important;
  border-color: rgba(0, 143, 70, .34) !important;
  color: var(--sportia-green-dark) !important;
  font-size: 11px !important;
  white-space: nowrap !important;
}

@media (max-width: 1180px) {
  body .main-content[data-page="recensioni"] .review-admin-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body .main-content[data-page="recensioni"] .review-summary-grid {
    grid-template-columns: 1fr !important;
  }

  body .main-content[data-page="recensioni"] .review-summary-grid > .review-overview-card,
  body .main-content[data-page="recensioni"] .review-summary-grid > .review-categories-card,
  body .main-content[data-page="recensioni"] .review-summary-grid > .review-topics-card {
    min-height: 0 !important;
  }
}

@media (max-width: 760px) {
  body .main-content[data-page="recensioni"] .review-admin-kpis {
    grid-template-columns: 1fr !important;
  }

  body .main-content[data-page="recensioni"] .owner-community-feed .review-feed-head,
  body .main-content[data-page="recensioni"] .review-owner-actions {
    align-items: stretch !important;
    flex-direction: column !important;
  }

  body .main-content[data-page="recensioni"] .owner-community-feed .review-feed-head .outline-action,
  body .main-content[data-page="recensioni"] .review-owner-actions .ghost-button {
    width: 100% !important;
  }

  body .main-content[data-page="recensioni"] .admin-review-item {
    grid-template-columns: 42px minmax(0, 1fr) !important;
    align-items: start !important;
  }

  body .main-content[data-page="recensioni"] .admin-review-item p,
  body .main-content[data-page="recensioni"] .admin-review-item .review-owner-actions {
    grid-column: 1 / -1 !important;
  }
}

/* Recensioni admin: final overview and feed CTA calibration */
body .main-content[data-page="recensioni"] .review-overview-card .review-card-body {
  gap: 12px !important;
}

body .main-content[data-page="recensioni"] .review-overview-card .review-overview {
  grid-template-columns: minmax(108px, 122px) minmax(0, 1fr) !important;
  align-items: stretch !important;
  gap: 10px !important;
  min-height: 168px !important;
  padding: 10px !important;
  overflow: hidden !important;
}

body .main-content[data-page="recensioni"] .review-overview-card .review-score-summary {
  display: grid !important;
  align-content: center !important;
  justify-items: start !important;
  gap: 5px !important;
  min-width: 0 !important;
  padding: 10px !important;
  border: 1px solid rgba(221, 230, 240, .88) !important;
  border-radius: 8px !important;
  background: linear-gradient(180deg, rgba(234, 247, 239, .72), rgba(255, 255, 255, .95)) !important;
}

body .main-content[data-page="recensioni"] .review-overview-card .review-score {
  display: flex !important;
  align-items: baseline !important;
  gap: 3px !important;
  max-width: 100% !important;
}

body .main-content[data-page="recensioni"] .review-overview-card .review-score strong {
  color: var(--sportia-green) !important;
  font-size: clamp(34px, 2.7vw, 42px) !important;
  font-weight: 680 !important;
  letter-spacing: 0 !important;
  line-height: .95 !important;
}

body .main-content[data-page="recensioni"] .review-overview-card .review-score span {
  color: #526482 !important;
  font-size: 17px !important;
  font-weight: 520 !important;
}

body .main-content[data-page="recensioni"] .review-overview-card .stars {
  max-width: 100% !important;
  color: var(--sportia-green) !important;
  font-size: clamp(13px, 1.2vw, 17px) !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
}

body .main-content[data-page="recensioni"] .review-overview-card .review-score-summary p {
  margin: 0 !important;
  color: #53637f !important;
  font-size: 10px !important;
  font-weight: 430 !important;
  line-height: 1.28 !important;
}

body .main-content[data-page="recensioni"] .review-overview-card .review-distribution {
  display: grid !important;
  align-content: center !important;
  gap: 7px !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

body .main-content[data-page="recensioni"] .review-overview-card .review-dist-row {
  display: grid !important;
  grid-template-columns: 24px minmax(20px, 1fr) 27px !important;
  align-items: center !important;
  gap: 4px !important;
  width: 100% !important;
  max-width: 100% !important;
  justify-self: stretch !important;
  box-sizing: border-box !important;
  min-width: 0 !important;
  min-height: 18px !important;
  color: #23385f !important;
  font-size: 8.6px !important;
}

body .main-content[data-page="recensioni"] .review-overview-card .review-dist-row > span,
body .main-content[data-page="recensioni"] .review-overview-card .review-dist-row > strong {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: clip !important;
  white-space: nowrap !important;
}

body .main-content[data-page="recensioni"] .review-overview-card .review-dist-row > strong {
  text-align: right !important;
}

body .main-content[data-page="recensioni"] .review-overview-card .review-dist-track {
  min-width: 0 !important;
  height: 6px !important;
  overflow: hidden !important;
  border-radius: 999px !important;
}

body .main-content[data-page="recensioni"] .owner-community-feed {
  display: grid !important;
  gap: 12px !important;
}

body .main-content[data-page="recensioni"] .owner-community-feed .review-feed-head {
  padding-bottom: 0 !important;
  border-bottom: 0 !important;
}

body .main-content[data-page="recensioni"] .review-feed-footer {
  display: flex !important;
  justify-content: flex-end !important;
  padding-top: 12px !important;
  border-top: 1px solid rgba(221, 230, 240, .85) !important;
}

body .main-content[data-page="recensioni"] .review-feed-footer .outline-action {
  width: auto !important;
  min-width: 168px !important;
}

@media (max-width: 1180px) {
  body .main-content[data-page="recensioni"] .review-overview-card .review-overview {
    grid-template-columns: minmax(128px, .34fr) minmax(0, .66fr) !important;
  }
}

@media (max-width: 540px) {
  body .main-content[data-page="recensioni"] .review-overview-card .review-overview {
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
  }

  body .main-content[data-page="recensioni"] .review-overview-card .review-score-summary {
    justify-items: center !important;
    text-align: center !important;
  }

  body .main-content[data-page="recensioni"] .review-feed-footer,
  body .main-content[data-page="recensioni"] .review-feed-footer .outline-action {
    width: 100% !important;
  }
}

/* Database & Fonti: align data-quality pictograms to the same horizontal axis */
.public-page .database-quality-grid .quality-card {
  grid-template-columns: 66px minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 18px !important;
  min-height: 150px !important;
}

.public-page .database-quality-grid .quality-card > span {
  align-self: start !important;
  justify-self: center !important;
  width: 66px !important;
  height: 66px !important;
  min-width: 66px !important;
  min-height: 66px !important;
}

.public-page .database-quality-grid .quality-card > div {
  display: grid !important;
  align-content: center !important;
  align-self: start !important;
  min-height: 66px !important;
  min-width: 0 !important;
}

.public-page .database-quality-grid .quality-card small,
.public-page .database-quality-grid .quality-card h3,
.public-page .database-quality-grid .quality-card p {
  min-width: 0 !important;
}

.public-page .database-quality-grid .quality-card h3 {
  line-height: 1.08 !important;
  white-space: normal !important;
}

@media (max-width: 620px) {
  .public-page .database-quality-grid .quality-card {
    grid-template-columns: 52px minmax(0, 1fr) !important;
    column-gap: 18px !important;
    padding: 18px 18px 18px 16px !important;
  }

  .public-page .database-quality-grid .quality-card > span {
    width: 52px !important;
    height: 52px !important;
    min-width: 52px !important;
    min-height: 52px !important;
  }

  .public-page .database-quality-grid .quality-card > div {
    min-height: 52px !important;
    padding-left: 0 !important;
  }
}

/* Public Community Feed page */
.community-hero {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(430px, 1.08fr);
  align-items: center;
  gap: 42px;
  padding: 58px 0 34px;
}

.community-copy h1 {
  max-width: 680px;
  margin: 18px 0 18px;
  color: var(--navy);
  font-size: clamp(44px, 5.4vw, 76px);
  font-weight: 720;
  line-height: 1.02;
  letter-spacing: 0;
}

.community-copy p {
  max-width: 620px;
  margin: 0 0 26px;
  color: var(--navy-muted);
  font-size: 17px;
  font-weight: 430;
  line-height: 1.72;
}

.community-feed-preview {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, .96fr) minmax(220px, .74fr);
  gap: 14px;
  padding: 18px;
  border: 1px solid rgba(221, 230, 240, .92);
  border-radius: 14px;
  background:
    radial-gradient(circle at 18% 22%, rgba(0, 143, 70, .1), transparent 30%),
    linear-gradient(135deg, #fff, rgba(248, 250, 252, .96));
  box-shadow: 0 26px 70px rgba(7, 20, 71, .09);
  overflow: hidden;
}

.community-feed-preview::before {
  content: "";
  position: absolute;
  inset: 14px;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(0, 143, 70, .08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 143, 70, .08) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: radial-gradient(circle at 72% 28%, #000, transparent 70%);
}

.community-feed-board-preview {
  grid-template-columns: minmax(0, 1fr);
  align-content: start;
  gap: 12px;
}

.community-board-top {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 126px;
  gap: 9px;
}

.community-board-top label {
  min-width: 0;
  min-height: 40px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 12px;
  border: 1px solid rgba(221, 230, 240, .92);
  border-radius: 9px;
  color: var(--navy-muted);
  background: rgba(255, 255, 255, .94);
}

.community-board-top input {
  width: 100%;
  min-width: 0;
  border: 0;
  outline: 0;
  color: var(--navy);
  background: transparent;
  font: inherit;
  font-size: 12.5px;
}

.community-board-top button,
.community-preview-composer button {
  min-height: 40px;
  border: 1px solid rgba(0, 143, 70, .24);
  border-radius: 9px;
  color: var(--sportia-green-dark);
  background: rgba(255, 255, 255, .94);
  font-size: 12px;
  font-weight: 620;
  white-space: nowrap;
}

.community-preview-composer {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) 104px;
  gap: 10px;
  align-items: center;
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(221, 230, 240, .9);
  border-radius: 12px;
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 14px 32px rgba(7, 20, 71, .055);
}

.community-preview-composer > span {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  color: var(--sportia-green-dark);
  background: rgba(234, 247, 239, .88);
}

.community-preview-composer div {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.community-preview-composer strong {
  color: var(--navy);
  font-size: 13px;
  font-weight: 640;
}

.community-preview-composer small {
  overflow: hidden;
  color: var(--navy-muted);
  font-size: 11.5px;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.community-preview-composer button {
  color: #fff;
  background: #17875a;
}

.community-preview-feed {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(180px, .8fr);
  gap: 12px;
  min-width: 0;
}

.community-composer-card,
.community-live-card,
.community-highlight-card {
  position: relative;
  z-index: 1;
  border: 1px solid rgba(221, 230, 240, .88);
  border-radius: 10px;
  background: rgba(255, 255, 255, .9);
  box-shadow: 0 16px 38px rgba(7, 20, 71, .06);
}

.community-composer-card {
  display: grid;
  gap: 14px;
  min-height: 236px;
  padding: 22px;
}

.community-composer-card > div {
  display: flex;
  align-items: center;
  gap: 10px;
}

.community-composer-card > div span,
.community-highlight-card > span {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  color: var(--sportia-green);
  background: rgba(234, 247, 239, .95);
}

.community-composer-card strong,
.community-live-card h3,
.community-highlight-card strong {
  color: var(--navy);
  font-weight: 700;
}

.community-composer-card p,
.community-highlight-card small {
  margin: 0;
  color: var(--navy-muted);
  font-size: 13px;
  line-height: 1.55;
}

.community-composer-card button {
  justify-self: start;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 0 16px;
  border: 0;
  border-radius: 7px;
  color: #fff;
  background: var(--sportia-green);
  font-weight: 650;
  cursor: pointer;
}

.community-live-card {
  display: grid;
  align-content: start;
  gap: 12px;
  padding: 18px;
}

.community-preview-post-card {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 10px;
  min-width: 0;
  padding: 16px;
  border: 1px solid rgba(0, 143, 70, .16);
  border-radius: 12px;
  background:
    radial-gradient(circle at 88% 12%, rgba(0, 143, 70, .08), transparent 34%),
    rgba(255, 255, 255, .92);
  box-shadow: 0 18px 42px rgba(7, 20, 71, .07);
}

.community-preview-post-card.featured {
  min-height: 210px;
}

.community-preview-post-card.compact {
  align-content: start;
  background: rgba(255, 255, 255, .86);
}

.community-preview-post-head {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-width: 0;
}

.community-preview-post-head > span {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--sportia-green-dark);
  background: rgba(234, 247, 239, .96);
}

.community-preview-post-head div {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.community-preview-post-head strong,
.community-preview-post-card h3 {
  overflow: hidden;
  color: var(--navy);
  font-weight: 720;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.community-preview-post-head strong {
  font-size: 13px;
}

.community-preview-post-head small {
  overflow: hidden;
  color: var(--navy-muted);
  font-size: 11px;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.community-preview-post-card h3 {
  margin: 3px 0 0;
  font-size: 18px;
  line-height: 1.2;
}

.community-preview-post-card.featured h3 {
  white-space: normal;
}

.community-preview-post-card.compact h3 {
  white-space: normal;
  font-size: 14px;
}

.community-preview-post-card p {
  margin: 0;
  color: var(--navy-muted);
  font-size: 12.5px;
  line-height: 1.5;
}

.community-preview-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
  padding-top: 4px;
}

.community-preview-actions span {
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  border: 1px solid rgba(221, 230, 240, .92);
  border-radius: 999px;
  color: var(--navy);
  background: #fff;
  font-size: 10.5px;
  font-weight: 680;
  white-space: nowrap;
}

.community-preview-actions span:first-child {
  color: var(--sportia-green-dark);
  border-color: rgba(0, 143, 70, .18);
  background: rgba(234, 247, 239, .72);
}

.community-preview-network {
  position: relative;
  z-index: 1;
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.community-preview-network article {
  min-width: 0;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  grid-template-rows: auto auto;
  gap: 2px 9px;
  align-items: center;
  padding: 10px;
  border: 1px solid rgba(221, 230, 240, .82);
  border-radius: 11px;
  background: rgba(255, 255, 255, .82);
}

.community-preview-network article > span {
  grid-row: 1 / 3;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--sportia-green);
  background: rgba(234, 247, 239, .82);
}

.community-preview-network strong {
  color: var(--navy);
  font-size: 12px;
  font-weight: 720;
  line-height: 1.12;
}

.community-preview-network small {
  overflow: hidden;
  color: var(--navy-muted);
  font-size: 10.5px;
  line-height: 1.24;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.community-live-card small {
  color: var(--sportia-green-dark);
  font-weight: 700;
}

.community-live-card h3 {
  margin: 0;
  font-size: 18px;
  line-height: 1.25;
}

.community-live-chart {
  display: flex;
  align-items: end;
  gap: 8px;
  height: 92px;
  margin-top: 8px;
}

.community-live-chart span {
  width: 100%;
  height: var(--h);
  min-height: 18px;
  border-radius: 999px 999px 5px 5px;
  background: linear-gradient(180deg, #22B36B, #0A7F42);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .48);
}

.community-highlight-card {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 18px;
}

.community-highlight-card > div {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.community-highlight-card strong {
  line-height: 1.18;
}

.community-highlight-card small {
  display: block;
  line-height: 1.42;
  margin-top: 1px;
}

body.community-compose-open {
  overflow: hidden;
}

.community-compose-overlay[hidden] {
  display: none !important;
}

.community-compose-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  padding: 22px;
  background: rgba(7, 20, 71, .28);
  backdrop-filter: blur(8px);
}

.community-compose-modal {
  width: min(700px, 100%);
  max-height: calc(100vh - 44px);
  overflow: auto;
  border: 1px solid rgba(221, 230, 240, .95);
  border-radius: 14px;
  background: linear-gradient(180deg, #fff, rgba(248, 250, 252, .98));
  box-shadow: 0 34px 90px rgba(7, 20, 71, .22);
}

.community-compose-modal header,
.community-compose-modal footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px;
}

.community-compose-modal header {
  border-bottom: 1px solid rgba(221, 230, 240, .88);
}

.community-compose-modal header > div {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.community-compose-modal header > div > span,
.community-compose-author > span {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  border-radius: 50%;
  color: var(--sportia-green);
  background: rgba(234, 247, 239, .92);
}

.community-compose-modal h2,
.community-compose-modal p {
  margin: 0;
}

.community-compose-modal h2 {
  color: var(--navy);
  font-size: 22px;
  line-height: 1.15;
}

.community-compose-modal header p {
  margin-top: 4px;
  color: var(--navy-muted);
  font-size: 13px;
  line-height: 1.45;
}

.community-compose-close {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  border: 1px solid rgba(221, 230, 240, .95);
  border-radius: 50%;
  color: var(--navy);
  background: #fff;
  font-size: 23px;
  line-height: 1;
  cursor: pointer;
}

.community-compose-author {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 18px 20px 0;
  padding: 14px;
  border: 1px solid rgba(221, 230, 240, .86);
  border-radius: 10px;
  background: #fff;
}

.community-compose-author div,
.community-compose-field {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.community-compose-author strong,
.community-compose-field span {
  color: var(--navy);
  font-size: 13px;
  font-weight: 700;
}

.community-compose-author small,
.community-compose-field small {
  color: var(--navy-muted);
  font-size: 11px;
  font-weight: 520;
}

.community-compose-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  padding: 16px 20px 0;
}

.community-compose-field.wide {
  grid-column: 1 / -1;
}

.community-compose-field select,
.community-compose-field textarea {
  width: 100%;
  border: 1px solid rgba(221, 230, 240, .95);
  border-radius: 9px;
  color: var(--navy);
  background: #fff;
  font: inherit;
  font-size: 13px;
  outline: none;
}

.community-compose-field select {
  min-height: 42px;
  padding: 0 12px;
}

.community-compose-field textarea {
  min-height: 118px;
  resize: vertical;
  padding: 12px;
  line-height: 1.55;
}

.community-compose-field select:focus,
.community-compose-field textarea:focus {
  border-color: rgba(0, 143, 70, .48);
  box-shadow: 0 0 0 3px rgba(0, 143, 70, .1);
}

.community-compose-field small {
  justify-self: end;
}

.community-compose-tools {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 12px 20px 0;
}

.community-compose-tools button {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 32px;
  padding: 0 11px;
  border: 1px solid rgba(0, 143, 70, .24);
  border-radius: 999px;
  color: var(--sportia-green-dark);
  background: rgba(234, 247, 239, .7);
  font-size: 12px;
  font-weight: 650;
  cursor: pointer;
}

.community-compose-preview {
  display: grid;
  gap: 12px;
  margin: 16px 20px 0;
  padding: 16px;
  border: 1px solid rgba(221, 230, 240, .9);
  border-radius: 10px;
  background: #fff;
}

.community-compose-preview > small {
  color: var(--sportia-green-dark);
  font-size: 11px;
  font-weight: 760;
  text-transform: uppercase;
}

.community-compose-preview p {
  color: var(--navy);
  font-size: 14px;
  line-height: 1.58;
}

.community-compose-preview > div:last-child {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.community-compose-preview > div:last-child span {
  padding: 5px 8px;
  border-radius: 999px;
  color: var(--navy-muted);
  background: rgba(248, 250, 252, .95);
  font-size: 11px;
  font-weight: 650;
}

.community-compose-modal footer {
  justify-content: flex-end;
  padding-top: 16px;
}

.community-compose-modal footer .public-primary,
.community-compose-modal footer .public-secondary {
  min-width: 148px;
  min-height: 42px;
  justify-content: center;
}

.community-section {
  padding-top: 34px;
}

.community-role-grid,
.community-layer-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.community-role-card,
.community-layer-card,
.community-signal-card,
.community-post-card {
  border: 1px solid rgba(221, 230, 240, .92);
  border-radius: 10px;
  background: #fff;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.community-role-card:hover,
.community-layer-card:hover,
.community-post-card:hover {
  transform: translateY(-3px);
  border-color: rgba(0, 143, 70, .28);
  box-shadow: 0 18px 42px rgba(7, 20, 71, .08);
}

.community-role-card {
  display: grid;
  justify-items: center;
  gap: 12px;
  min-height: 190px;
  padding: 22px 18px;
  text-align: center;
}

.community-role-card > span {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  border: 1px solid rgba(0, 143, 70, .18);
  border-radius: 50%;
  color: var(--sportia-green);
  background: rgba(234, 247, 239, .82);
}

.community-role-card h3,
.community-layer-card h3,
.community-signal-card h3,
.community-post-card h3 {
  margin: 0;
  color: var(--navy);
  font-weight: 700;
  letter-spacing: 0;
}

.community-role-card p,
.community-layer-card p,
.community-signal-card p,
.community-post-card p {
  margin: 0;
  color: var(--navy-muted);
  font-size: 13px;
  font-weight: 430;
  line-height: 1.55;
}

.community-filter-pills {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.community-filter-pills button {
  min-height: 34px;
  padding: 0 13px;
  border: 1px solid rgba(221, 230, 240, .95);
  border-radius: 999px;
  color: var(--navy);
  background: #fff;
  font-size: 12px;
  font-weight: 650;
  cursor: pointer;
}

.community-filter-pills button.active,
.community-filter-pills button:hover {
  border-color: rgba(0, 143, 70, .38);
  color: var(--sportia-green-dark);
  background: rgba(234, 247, 239, .9);
}

.community-feed-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 330px;
  gap: 16px;
  align-items: start;
}

.community-post-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.community-post-card {
  display: grid;
  grid-template-rows: 168px 1fr;
  min-width: 0;
  overflow: hidden;
}

.community-post-card[hidden] {
  display: none !important;
}

.community-post-media {
  position: relative;
  overflow: hidden;
  background: #edf4f1;
}

.community-post-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .35s ease;
}

.community-post-card:hover .community-post-media img {
  transform: scale(1.04);
}

.community-post-media span {
  position: absolute;
  left: 12px;
  top: 12px;
  padding: 5px 9px;
  border-radius: 999px;
  color: var(--sportia-green-dark);
  background: rgba(255, 255, 255, .9);
  font-size: 11px;
  font-weight: 700;
}

.community-post-body {
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  gap: 12px;
  padding: 16px;
}

.community-post-title-button {
  width: 100%;
  border: 0;
  padding: 0;
  color: var(--navy);
  background: transparent;
  font: inherit;
  font-size: 17px;
  font-weight: 720;
  line-height: 1.2;
  letter-spacing: 0;
  text-align: left;
  cursor: pointer;
}

.community-post-title-button:hover,
.community-post-title-button:focus-visible {
  color: var(--sportia-green-dark);
  outline: none;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}

.community-post-author {
  display: flex;
  align-items: center;
  gap: 10px;
}

.community-post-author > span {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  border-radius: 50%;
  color: var(--sportia-green);
  background: rgba(234, 247, 239, .88);
}

.community-post-author div {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.community-post-author strong {
  color: var(--navy);
  font-size: 13px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.community-post-author small,
.community-post-meta small {
  color: var(--navy-muted);
  font-size: 11px;
  font-weight: 520;
}

.community-post-meta small {
  min-width: 0;
}

.community-post-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding-top: 10px;
  border-top: 1px solid rgba(221, 230, 240, .82);
}

.community-post-meta > div {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  flex: 0 0 auto;
}

.community-post-meta button {
  min-height: 30px;
  padding: 0 12px;
  border: 1px solid rgba(0, 143, 70, .3);
  border-radius: 999px;
  color: var(--sportia-green-dark);
  background: #fff;
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
  cursor: pointer;
}

.community-post-meta button:first-child {
  color: #fff;
  border-color: var(--sportia-green);
  background: var(--sportia-green);
}

body.community-detail-open {
  overflow: hidden;
}

.community-detail-overlay[hidden] {
  display: none !important;
}

.community-detail-overlay {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: grid;
  place-items: center;
  padding: 22px;
  background: rgba(7, 20, 71, .32);
  backdrop-filter: blur(9px);
}

.community-detail-modal {
  position: relative;
  width: min(1040px, 100%);
  max-height: calc(100vh - 44px);
  overflow: auto;
  border: 1px solid rgba(221, 230, 240, .95);
  border-radius: 16px;
  background: linear-gradient(180deg, #fff, rgba(248, 250, 252, .98));
  box-shadow: 0 34px 90px rgba(7, 20, 71, .24);
}

.community-detail-close {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border: 1px solid rgba(221, 230, 240, .95);
  border-radius: 50%;
  color: var(--navy);
  background: rgba(255, 255, 255, .94);
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 12px 28px rgba(7, 20, 71, .1);
}

.community-detail-panel {
  display: grid;
  grid-template-columns: minmax(320px, .92fr) minmax(0, 1.08fr);
  min-height: 580px;
}

.community-detail-panel[hidden] {
  display: none !important;
}

.community-detail-media {
  position: sticky;
  top: 0;
  min-height: 580px;
  overflow: hidden;
  background: #eaf4f0;
}

.community-detail-media img {
  width: 100%;
  height: 100%;
  min-height: 580px;
  object-fit: cover;
  display: block;
}

.community-detail-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(7, 20, 71, .04), rgba(7, 20, 71, .22)),
    radial-gradient(circle at 28% 22%, rgba(0, 143, 70, .16), transparent 34%);
  pointer-events: none;
}

.community-detail-media span {
  position: absolute;
  left: 18px;
  bottom: 18px;
  z-index: 1;
  padding: 7px 11px;
  border-radius: 999px;
  color: var(--sportia-green-dark);
  background: rgba(255, 255, 255, .92);
  font-size: 12px;
  font-weight: 760;
  box-shadow: 0 10px 24px rgba(7, 20, 71, .12);
}

.community-detail-body {
  display: grid;
  align-content: start;
  gap: 18px;
  padding: 42px;
}

.community-detail-body > small {
  color: var(--sportia-green-dark);
  font-size: 12px;
  font-weight: 760;
  text-transform: uppercase;
  letter-spacing: .02em;
}

.community-detail-body h2 {
  max-width: 660px;
  margin: 0;
  color: var(--navy);
  font-size: clamp(30px, 4vw, 48px);
  font-weight: 720;
  line-height: 1.04;
  letter-spacing: 0;
}

.community-detail-author {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 12px;
  border: 1px solid rgba(221, 230, 240, .86);
  border-radius: 10px;
  background: #fff;
}

.community-detail-author > span {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  border-radius: 50%;
  color: var(--sportia-green);
  background: rgba(234, 247, 239, .9);
}

.community-detail-author div {
  display: grid;
  gap: 2px;
}

.community-detail-author strong {
  color: var(--navy);
  font-size: 13px;
  font-weight: 730;
}

.community-detail-author em {
  color: var(--navy-muted);
  font-size: 12px;
  font-style: normal;
}

.community-detail-copy {
  display: grid;
  gap: 12px;
}

.community-detail-copy p {
  margin: 0;
  color: var(--navy-muted);
  font-size: 15px;
  font-weight: 430;
  line-height: 1.72;
}

.community-detail-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.community-detail-facts li {
  display: grid;
  gap: 4px;
  min-height: 66px;
  padding: 12px;
  border: 1px solid rgba(221, 230, 240, .86);
  border-radius: 10px;
  background: #fff;
}

.community-detail-facts span {
  color: var(--navy-muted);
  font-size: 11px;
  font-weight: 620;
}

.community-detail-facts strong {
  color: var(--navy);
  font-size: 13px;
  font-weight: 720;
  line-height: 1.25;
}

.community-detail-sources {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 9px;
  padding-top: 6px;
}

.community-detail-sources b {
  width: 100%;
  color: var(--navy);
  font-size: 13px;
}

.community-detail-sources a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 34px;
  padding: 0 12px;
  border: 1px solid rgba(0, 143, 70, .28);
  border-radius: 999px;
  color: var(--sportia-green-dark);
  background: rgba(234, 247, 239, .72);
  font-size: 12px;
  font-weight: 690;
  text-decoration: none;
}

.community-sidebar {
  display: grid;
  gap: 12px;
  position: sticky;
  top: 94px;
  padding: 16px;
  border: 1px solid rgba(221, 230, 240, .92);
  border-radius: 10px;
  background: linear-gradient(180deg, #fff, rgba(248, 250, 252, .94));
}

.community-sidebar h3 {
  margin: 0 0 2px;
  color: var(--navy);
  font-size: 18px;
}

.community-signal-card {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 11px;
  padding: 12px;
}

.community-signal-card > span {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  color: var(--sportia-green);
  background: rgba(234, 247, 239, .9);
}

.community-layer-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.community-layer-card {
  display: grid;
  gap: 12px;
  padding: 22px;
}

.community-layer-card small {
  justify-self: start;
  padding: 5px 9px;
  border-radius: 999px;
  color: var(--sportia-green-dark);
  background: rgba(234, 247, 239, .9);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
}

.community-layer-card div {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  padding-top: 2px;
}

.community-layer-card div span {
  padding: 5px 8px;
  border: 1px solid rgba(221, 230, 240, .92);
  border-radius: 999px;
  color: var(--navy);
  background: #fff;
  font-size: 11px;
  font-weight: 620;
}

.community-cta {
  grid-template-columns: 138px minmax(0, 1fr) auto;
}

.community-cta-logo {
  display: grid;
  place-items: center;
  width: 122px;
  min-height: 64px;
  border: 1px solid rgba(255, 255, 255, .34);
  border-radius: 14px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 14px 28px rgba(7, 20, 71, .12);
}

.community-cta-logo img {
  display: block;
  width: 96px;
  height: auto;
}

.community-cta-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

@media (max-width: 1180px) {
  .community-hero,
  .community-feed-layout {
    grid-template-columns: 1fr;
  }

  .community-sidebar {
    position: static;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .community-sidebar h3 {
    grid-column: 1 / -1;
  }
}

@media (max-width: 820px) {
  .community-role-grid,
  .community-layer-grid,
  .community-post-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .community-feed-preview {
    grid-template-columns: 1fr;
  }

  .community-preview-network {
    grid-template-columns: 1fr;
  }

  .community-highlight-card {
    grid-column: auto;
  }

  .community-filter-pills {
    justify-content: flex-start;
  }

  .community-cta {
    grid-template-columns: 1fr;
  }

  .community-cta-logo {
    width: 116px;
    min-height: 58px;
  }

  .community-cta-actions {
    flex-wrap: wrap;
  }

  .community-detail-panel {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .community-detail-media {
    position: relative;
    min-height: 260px;
  }

  .community-detail-media img {
    min-height: 260px;
    max-height: 320px;
  }

  .community-detail-body {
    padding: 28px 22px 24px;
  }
}

@media (max-width: 620px) {
  .community-hero {
    padding-top: 36px;
    gap: 24px;
  }

  .community-copy h1 {
    font-size: clamp(36px, 12vw, 48px);
  }

  .community-copy p {
    font-size: 15px;
  }

  .community-role-grid,
  .community-layer-grid,
  .community-post-grid,
  .community-sidebar {
    grid-template-columns: 1fr;
  }

  .community-feed-preview {
    padding: 14px;
  }

  .community-post-card {
    grid-template-rows: 150px 1fr;
  }

  .community-post-meta,
  .community-cta-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .community-post-meta > div {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
  }

  .community-post-meta button,
  .community-cta-actions > * {
    width: 100%;
    justify-content: center;
  }

  .community-compose-overlay {
    align-items: end;
    padding: 12px;
  }

  .community-compose-modal {
    max-height: 92vh;
    border-radius: 14px 14px 0 0;
  }

  .community-compose-modal header,
  .community-compose-modal footer {
    align-items: flex-start;
    padding: 16px;
  }

  .community-compose-form {
    grid-template-columns: 1fr;
    padding-inline: 16px;
  }

  .community-compose-author,
  .community-compose-preview {
    margin-inline: 16px;
  }

  .community-compose-tools {
    padding-inline: 16px;
  }

  .community-compose-modal footer {
    align-items: stretch;
    flex-direction: column-reverse;
  }

  .community-compose-modal footer .public-primary,
  .community-compose-modal footer .public-secondary {
    width: 100%;
  }

  .community-detail-overlay {
    align-items: end;
    padding: 12px;
  }

  .community-detail-modal {
    max-height: 92vh;
    border-radius: 14px 14px 0 0;
  }

  .community-detail-body h2 {
    font-size: 28px;
  }

  .community-detail-facts {
    grid-template-columns: 1fr;
  }
}

/* Final reusable-card overflow guard. Keep this at the end so later section rules cannot override it. */
body .main-content[data-page] .kpi-card::after {
  right: -2px !important;
  top: -28px !important;
  width: 76px !important;
  height: 76px !important;
  opacity: .38 !important;
}

body.public-view .public-signal-card {
  min-height: 256px !important;
  overflow: hidden !important;
}

body.public-view .public-signal-card::after {
  right: 0 !important;
  bottom: 0 !important;
  width: 72px !important;
  height: 72px !important;
}

body .main-content[data-page="struttura-servizi"] .structure-table {
  overflow-x: auto !important;
}

body .main-content[data-page="struttura-servizi"] .structure-table table {
  width: 100% !important;
  min-width: 0 !important;
  table-layout: fixed !important;
}

body .main-content[data-page="struttura-servizi"] .structure-table .table-scroll {
  width: calc(100% - 14px) !important;
  max-width: calc(100% - 14px) !important;
}

body .main-content[data-page="struttura-servizi"] .structure-table th,
body .main-content[data-page="struttura-servizi"] .structure-table td {
  overflow-wrap: anywhere !important;
}

body .main-content[data-page="struttura-servizi"] .equipment-compact-table {
  width: calc(100% - 28px) !important;
  max-width: calc(100% - 28px) !important;
  margin-inline: 14px !important;
  overflow: hidden !important;
}

body .main-content[data-page="struttura-servizi"] .structure-verification-card {
  overflow: hidden !important;
}

body .main-content[data-page="struttura-servizi"] .equipment-compact-table table {
  width: 100% !important;
  min-width: 0 !important;
  table-layout: fixed !important;
}

body .main-content[data-page="struttura-servizi"] .equipment-compact-table th,
body .main-content[data-page="struttura-servizi"] .equipment-compact-table td {
  padding: 8px 6px !important;
  font-size: 10.5px !important;
  line-height: 1.25 !important;
  overflow-wrap: anywhere !important;
  vertical-align: middle !important;
}

body .main-content[data-page="struttura-servizi"] .equipment-compact-table th:nth-child(1),
body .main-content[data-page="struttura-servizi"] .equipment-compact-table td:nth-child(1) { width: 24% !important; }
body .main-content[data-page="struttura-servizi"] .equipment-compact-table th:nth-child(2),
body .main-content[data-page="struttura-servizi"] .equipment-compact-table td:nth-child(2) { width: 46% !important; }
body .main-content[data-page="struttura-servizi"] .equipment-compact-table th:nth-child(3),
body .main-content[data-page="struttura-servizi"] .equipment-compact-table td:nth-child(3) { width: 30% !important; }

body .main-content[data-page="struttura-servizi"] .equipment-compact-table .badge {
  max-width: 100% !important;
  padding-inline: 7px !important;
  font-size: 9px !important;
  white-space: nowrap !important;
}

/* Community feed CTA: match the global landing CTA height and rhythm. */
body.public-view .community-composer-card button[data-community-compose-open],
body .public-page .community-composer-card button[data-community-compose-open] {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  height: var(--cta-height, 46px) !important;
  min-height: var(--cta-height, 46px) !important;
  padding: 0 var(--cta-inline, 20px) !important;
  border: 1px solid var(--sportia-green) !important;
  border-radius: var(--cta-radius, 8px) !important;
  color: #fff !important;
  background: linear-gradient(135deg, #008F46 0%, #079E54 100%) !important;
  box-shadow: 0 10px 22px rgba(0, 143, 70, .16) !important;
  font-size: var(--cta-font, 13px) !important;
  font-weight: var(--cta-weight, 700) !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

body.public-view .community-composer-card button[data-community-compose-open] svg,
body .public-page .community-composer-card button[data-community-compose-open] svg {
  width: 16px !important;
  height: 16px !important;
  stroke: currentColor !important;
}

/* Profile wizard step 3: editable calendar and sport results. */
body.public-view .profile-activity-detail-grid {
  display: grid;
  grid-template-columns: minmax(360px, 1.16fr) minmax(260px, .92fr);
  gap: 16px;
  margin-top: 14px;
  align-items: stretch;
}

body.public-view .profile-activity-detail-grid > .profile-section-box:first-child,
body.public-view .profile-activity-detail-grid > .profile-section-box:last-child {
  grid-column: span 1;
}

body.public-view .profile-activity-detail-grid > .profile-section-box:last-child {
  grid-column: 1 / -1;
}

body.public-view .profile-activity-detail-grid > .profile-section-box {
  min-height: 0 !important;
}

body.public-view .profile-dynamic-table {
  display: grid;
  gap: 7px;
  min-width: 0;
}

body.public-view .profile-dynamic-head,
body.public-view .profile-dynamic-row {
  display: grid;
  grid-template-columns: repeat(var(--profile-row-cols, 3), minmax(0, 1fr));
  gap: 8px;
  align-items: center;
}

body.public-view .profile-dynamic-head {
  color: var(--navy-muted);
  font-size: 10.5px;
  font-weight: 720;
}

body.public-view .profile-dynamic-row {
  min-height: 36px;
}

body.public-view .profile-dynamic-row input,
body.public-view .profile-dynamic-row select {
  width: 100%;
  min-width: 0;
  min-height: 34px;
  border: 1px solid #dbe4ee;
  border-radius: 7px;
  padding: 0 9px;
  color: var(--navy);
  background: #fff;
  font: inherit;
  font-size: 11.5px;
  outline: none;
}

body.public-view .profile-dynamic-row input:focus,
body.public-view .profile-dynamic-row select:focus {
  border-color: rgba(0, 143, 70, .62);
  box-shadow: 0 0 0 3px rgba(0, 143, 70, .09);
}

body.public-view .profile-row-add {
  justify-self: start;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  margin-top: 2px;
  border: 1px dashed rgba(0, 143, 70, .5);
  border-radius: 7px;
  padding: 0 12px;
  color: var(--sportia-green-dark);
  background: #fff;
  font-size: 11.5px;
  font-weight: 740;
}

body.public-view .profile-row-add:hover,
body.public-view .profile-row-add:focus-visible {
  border-style: solid;
  background: rgba(234, 247, 239, .62);
  outline: none;
}

@media (max-width: 1180px) {
  body.public-view .profile-activity-detail-grid {
    grid-template-columns: 1fr;
  }

  body.public-view .profile-activity-detail-grid > .profile-section-box:last-child {
    grid-column: auto;
  }
}

@media (max-width: 620px) {
  body.public-view .profile-dynamic-head {
    display: none;
  }

  body.public-view .profile-dynamic-row {
    grid-template-columns: 1fr;
    gap: 7px;
    padding: 9px;
    border: 1px solid #edf2f7;
    border-radius: 8px;
    background: #fbfdff;
  }
}

body.public-view .community-cta .community-cta-actions .public-primary {
  flex: 0 0 auto !important;
  min-width: 138px !important;
  padding-inline: 22px !important;
  white-space: nowrap !important;
}

body.public-view .community-cta .community-cta-actions > :is(.public-primary, .public-secondary) {
  flex: 0 0 168px !important;
  width: 168px !important;
  min-width: 168px !important;
  justify-content: center !important;
  padding-inline: 18px !important;
  white-space: nowrap !important;
}

body.public-view .community-cta .community-cta-actions .public-primary svg {
  flex: 0 0 auto !important;
}

@media (max-width: 620px) {
  body.public-view .community-cta .community-cta-actions > :is(.public-primary, .public-secondary) {
    width: 100% !important;
    min-width: 0 !important;
    flex-basis: 100% !important;
  }
}

/* Final QA containment: prevent navigation, profile steppers and CTA badges from widening pages. */
body:not(.public-view) .app-header {
  max-width: 100vw !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

body:not(.public-view) .app-header:has(.header-profile-menu) {
  overflow: visible !important;
}

body:not(.public-view) .header-left,
body:not(.public-view) .header-actions,
body:not(.public-view) .top-nav {
  min-width: 0 !important;
}

@media (max-width: 1100px) {
  body:not(.public-view) .app-header {
    grid-template-columns: auto minmax(0, 1fr) auto !important;
  }

  body:not(.public-view) .top-nav {
    display: none !important;
  }

  body:not(.public-view) .header-actions {
    gap: 8px !important;
  }

  body:not(.public-view) .search-wrap,
  body:not(.public-view) .search {
    max-width: min(270px, 36vw) !important;
  }
}

@media (max-width: 760px) {
  body:not(.public-view) .search-wrap,
  body:not(.public-view) .search {
    display: none !important;
  }
}

body.public-view .profile-progress-nav {
  max-width: 100% !important;
  min-width: 0 !important;
}

@media (max-width: 860px) {
  body.public-view .profile-builder-title {
    grid-template-columns: 1fr !important;
  }

  body.public-view .profile-progress-nav {
    display: flex !important;
    gap: 12px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 2px 2px 8px !important;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  body.public-view .profile-progress-nav::-webkit-scrollbar {
    display: none;
  }

  body.public-view .profile-progress-nav a {
    flex: 0 0 104px !important;
    scroll-snap-align: start;
  }

  body.public-view .profile-progress-nav a::before {
    display: none !important;
  }
}

body.public-view .public-cta,
body.public-view .public-cta > *,
body.public-view .community-cta,
body.public-view .community-cta > * {
  min-width: 0 !important;
}

body.public-view .community-cta-logo {
  flex: 0 0 auto !important;
  min-width: 116px !important;
  overflow: hidden !important;
}

@media (max-width: 620px) {
  body.public-view .community-cta-logo {
    width: 116px !important;
    min-width: 116px !important;
  }
}

/* Internal owner tools: expanded operational boards for Marketplace, Report Center and Community. */
body .main-content[data-page^="admin-"] {
  background:
    radial-gradient(circle at 10% 0%, rgba(0, 143, 70, .055), transparent 28%),
    linear-gradient(180deg, rgba(248, 250, 252, .92), #fff 220px);
}

body .admin-tool-hero {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  width: 100%;
  margin-bottom: 16px;
  padding: 2px 0 4px;
}

body .admin-tool-hero span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--sportia-green-dark);
  font-size: 12px;
  font-weight: 720;
}

body .admin-tool-hero h1 {
  margin: 8px 0 6px;
  color: var(--navy);
  font-size: clamp(26px, 2.3vw, 34px);
  line-height: 1.04;
  letter-spacing: 0;
}

body .admin-tool-hero p {
  max-width: 760px;
  margin: 0;
  color: var(--navy-muted);
  font-size: 14px;
  line-height: 1.55;
}

body .admin-tool-public-link {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 40px;
  padding: 0 14px;
  border: 1px solid rgba(0, 143, 70, .28);
  border-radius: 999px;
  color: var(--sportia-green-dark);
  background: #fff;
  box-shadow: 0 10px 24px rgba(7, 20, 71, .05);
  font-size: 12px;
  font-weight: 720;
  white-space: nowrap;
}

body .admin-tool-kpis {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

body .admin-tool-card {
  overflow: hidden;
}

body .admin-tool-search,
body .admin-report-toolbar {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) auto auto;
  gap: 10px;
  align-items: center;
}

body .admin-tool-search label,
body .admin-report-toolbar label {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  min-height: 42px;
  padding: 0 13px;
  border: 1px solid var(--border);
  border-radius: 11px;
  background: #fff;
  color: var(--navy-muted);
}

body .admin-tool-search input,
body .admin-report-toolbar input {
  width: 100%;
  min-width: 0;
  border: 0;
  outline: 0;
  color: var(--navy);
  background: transparent;
  font: inherit;
}

body .admin-tool-search button,
body .admin-report-toolbar button,
body .admin-tool-filter-row button {
  min-height: 42px;
  border: 1px solid rgba(0, 143, 70, .24);
  border-radius: 10px;
  padding: 0 13px;
  color: var(--sportia-green-dark);
  background: rgba(234, 247, 239, .48);
  font-size: 12px;
  font-weight: 720;
  white-space: nowrap;
}

body .admin-tool-filter-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

body .admin-tool-filter-row button {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

body .admin-market-grid,
body .admin-report-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

body .admin-market-grid .market-opportunity-card,
body .admin-report-grid .report-preview-card {
  min-width: 0;
}

body .admin-market-context {
  display: grid;
  gap: 10px;
}

body .admin-market-context > span,
body .admin-user-type-pills span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  width: max-content;
  max-width: 100%;
  border: 1px solid color-mix(in srgb, var(--accent) 18%, var(--border));
  border-radius: 999px;
  padding: 6px 10px;
  background: rgba(239, 247, 243, .75);
  color: #3f6754;
  font-size: 12px;
  font-weight: 700;
}

body .admin-market-context h2 {
  margin: 0;
  font-size: clamp(21px, 3vw, 31px);
  letter-spacing: -.03em;
}

body .admin-market-context p {
  max-width: 760px;
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}

body .admin-user-type-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 4px;
}

body .admin-user-type-pills span {
  width: auto;
  background: #fff;
  color: #51675b;
}

body .admin-market-network-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

body .admin-report-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

body .admin-format-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

body .admin-community-list {
  display: grid;
  gap: 12px;
}

body .admin-community-card {
  display: grid;
  grid-template-columns: 178px minmax(0, 1fr);
  gap: 14px;
  min-width: 0;
  padding: 10px;
  border: 1px solid rgba(221, 230, 240, .88);
  border-radius: 12px;
  background: linear-gradient(180deg, #fff, rgba(248, 250, 252, .72));
}

body .admin-community-card img {
  width: 100%;
  height: 128px;
  border-radius: 9px;
  object-fit: cover;
}

body .admin-community-card small {
  color: var(--sportia-green-dark);
  font-size: 11px;
  font-weight: 680;
}

body .admin-community-card h3 {
  margin: 5px 0 6px;
  color: var(--navy);
  font-size: 16px;
}

body .admin-community-card p {
  margin: 0;
  color: var(--navy-muted);
  font-size: 13px;
  line-height: 1.48;
}

body .admin-community-card div div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

body .admin-community-card button {
  min-height: 34px;
  border: 1px solid var(--border);
  border-radius: 9px;
  padding: 0 11px;
  color: var(--navy);
  background: #fff;
  font-size: 12px;
  font-weight: 700;
}

body .admin-tool-rail-card .outline-action,
body .main-content[data-page^="admin-"] .outline-action {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 12px 0 0;
  padding: 0 13px;
  border: 1px solid rgba(0, 143, 70, .32) !important;
  border-radius: 8px !important;
  color: var(--sportia-green-dark) !important;
  background: rgba(255, 255, 255, .94) !important;
  overflow: hidden;
  text-align: center;
  white-space: nowrap;
  overflow-wrap: anywhere;
  line-height: 1.15;
  font-size: 12px;
  font-weight: 720;
}

body .admin-tool-rail-card .outline-action svg,
body .main-content[data-page^="admin-"] .outline-action svg {
  width: 15px;
  height: 15px;
  flex: 0 0 15px;
}

body .main-content[data-page^="admin-"] .market-opportunity-card button,
body .main-content[data-page^="admin-"] .admin-community-card button {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  min-height: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid rgba(0, 143, 70, .32) !important;
  border-radius: 8px !important;
  padding: 0 13px;
  color: var(--sportia-green-dark) !important;
  background: rgba(255, 255, 255, .94) !important;
  font-size: 12px;
  font-weight: 720;
  line-height: 1.15;
  white-space: nowrap;
  text-align: center;
}

body .main-content[data-page^="admin-"] .admin-community-card div div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

body .right-rail > .admin-tool-rail-card,
body .main-content[data-page^="admin-"] .right-rail > .card {
  min-width: 0;
  overflow: hidden;
}

body .right-rail > .admin-tool-rail-card .outline-action {
  align-self: stretch;
  width: calc(100% - 4px);
  margin: 16px auto 2px;
}

body .main-content[data-page="admin-marketplace"] .right-rail > .admin-tool-rail-card .marketplace-brief-action {
  width: calc(100% - 28px) !important;
  min-height: 42px !important;
  height: 42px !important;
  margin: 12px 14px 0 !important;
  padding: 0 13px !important;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 8px !important;
}

body .main-content[data-page="admin-marketplace"] .right-rail > .admin-tool-rail-card .marketplace-brief-action svg {
  width: 15px;
  height: 15px;
  flex: 0 0 15px;
  transform: none;
}

body .main-content[data-page="admin-marketplace"] .right-rail > .admin-tool-rail-card {
  padding-bottom: 16px;
}

body .main-content[data-page="admin-marketplace"] .right-rail > .admin-tool-rail-card .check-list.stacked {
  margin-bottom: 0;
}

@media (hover: hover) and (pointer: fine) {
  body .main-content[data-page^="admin-"] .right-rail .admin-tool-rail-card .outline-action:hover {
    transform: none !important;
  }
}

@media (max-width: 1380px) {
  body .admin-market-grid,
  body .admin-report-grid,
  body .admin-market-network-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 980px) {
  body .admin-tool-hero {
    align-items: flex-start;
    flex-direction: column;
  }

  body .admin-tool-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body .admin-tool-search,
  body .admin-report-toolbar {
    grid-template-columns: 1fr;
  }

  body .admin-format-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 620px) {
  body .admin-tool-kpis,
  body .admin-market-grid,
  body .admin-report-grid,
  body .admin-market-network-grid,
  body .admin-format-grid {
    grid-template-columns: 1fr !important;
  }

  body .admin-community-card {
    grid-template-columns: 1fr;
  }

  body .admin-community-card img {
    height: 190px;
  }
}

/* Contextual sidebars for internal owner tools. */
body .tool-sidebar .tool-sidebar-head {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  margin: 2px 2px 14px;
  padding: 13px 12px;
  border: 1px solid rgba(0, 143, 70, .18);
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(234, 247, 239, .72), rgba(255, 255, 255, .94));
  box-shadow: 0 12px 28px rgba(7, 20, 71, .045);
}

body .tool-sidebar .tool-sidebar-head > span {
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 40px;
  border-radius: 999px;
  color: var(--sportia-green);
  background: rgba(234, 247, 239, .96);
}

body .tool-sidebar .tool-sidebar-head div {
  min-width: 0;
  display: grid;
  gap: 3px;
}

body .tool-sidebar .tool-sidebar-head strong {
  color: var(--navy);
  font-size: 14px;
  line-height: 1.1;
}

body .tool-sidebar .tool-sidebar-head small {
  color: var(--navy-muted);
  font-size: 11px;
  line-height: 1.25;
}

body .tool-sidebar .tool-side-link {
  min-height: 44px;
}

body .tool-sidebar .tool-side-link.active {
  border-color: rgba(0, 143, 70, .18);
  background: rgba(234, 247, 239, .8);
}

body .admin-anchor {
  display: block;
  height: 0;
  scroll-margin-top: 92px;
}

body .tool-sidebar .tool-side-link:not(.active):hover,
body .tool-sidebar .tool-side-link:not(.active):focus-visible {
  color: var(--sportia-green-dark);
  background: rgba(248, 250, 252, .92);
}

body .sidebar .sidebar-public-profile-link {
  min-height: 42px;
  margin: 0 2px 12px;
  padding: 0 12px;
  border: 1px solid rgba(0, 143, 70, .22);
  border-radius: 10px;
  color: var(--sportia-green-dark);
  background: linear-gradient(135deg, rgba(234, 247, 239, .72), #fff);
  font-size: 12px;
  font-weight: 700;
  box-shadow: 0 10px 22px rgba(7, 20, 71, .045);
}

body .sidebar .sidebar-public-profile-link svg {
  width: 17px;
  height: 17px;
  color: var(--sportia-green);
}

body .sidebar .sidebar-public-profile-link:hover,
body .sidebar .sidebar-public-profile-link:focus-visible {
  border-color: rgba(0, 143, 70, .42);
  background: #fff;
  box-shadow: 0 12px 24px rgba(0, 143, 70, .1);
}

body .sidebar .side-separator.compact {
  margin: 0 8px 12px;
}

body .tool-sidebar::after,
body .tool-sidebar nav::after,
body .tool-sidebar nav::before {
  content: none !important;
  display: none !important;
}

body .tool-sidebar nav {
  padding-bottom: 12px !important;
}

/* Admin marketplace mirrors the public board, but keeps dashboard density. */
body .admin-marketplace-shell-card > .card-body,
body .admin-marketplace-shell-card .card-body {
  padding: 0;
}

body .admin-marketplace-board {
  min-height: auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body .admin-marketplace-board .marketplace-search-row {
  grid-template-columns: minmax(260px, 1fr) 92px 128px;
  padding: 16px 16px 0;
}

body .admin-marketplace-board .marketplace-filter-row {
  padding: 0 16px;
}

body .admin-marketplace-board-grid {
  grid-template-columns: 206px minmax(0, 1fr);
  padding: 0 16px 16px;
}

body .admin-marketplace-board-grid aside {
  padding-top: 6px;
}

body .admin-marketplace-board-grid section {
  min-width: 0;
}

body .admin-board-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
}

body .admin-board-heading h2 {
  min-width: 0;
}

body .admin-board-heading button {
  flex: 0 0 auto;
  min-height: 34px;
  padding: 0 11px;
  border: 1px solid rgba(0, 143, 70, .24);
  border-radius: 8px;
  color: var(--sportia-green-dark);
  background: rgba(234, 247, 239, .56);
  font-size: 12px;
  font-weight: 720;
}

body .admin-marketplace-board .market-list-item {
  min-height: 116px;
  background: linear-gradient(180deg, #fff, rgba(248, 250, 252, .65));
}

body .admin-marketplace-board .market-list-item aside {
  padding: 0;
  border-right: 0;
  align-content: center;
  justify-items: end;
}

@media (max-width: 1180px) {
  body .admin-marketplace-board-grid {
    grid-template-columns: 1fr;
  }

  body .admin-marketplace-board-grid aside {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-right: 0;
    border-bottom: 1px solid var(--border);
    padding: 0 0 12px;
  }

  body .admin-marketplace-board-grid aside strong {
    grid-column: 1 / -1;
  }
}

@media (max-width: 720px) {
  body .admin-marketplace-board .marketplace-search-row {
    grid-template-columns: 1fr;
  }

  body .admin-marketplace-board-grid aside {
    grid-template-columns: 1fr 1fr;
  }

  body .admin-board-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  body .admin-marketplace-board .market-list-item {
    grid-template-columns: 1fr;
  }

body .admin-marketplace-board .market-list-item aside {
  justify-items: start;
  }
}

/* Internal Home: aggregated SPORTIA network feed. */
body .admin-home-kpis .kpi-card {
  background:
    radial-gradient(circle at 88% 18%, rgba(0, 143, 70, .09), transparent 38%),
    linear-gradient(180deg, #fff, rgba(248, 250, 252, .76));
}

body .admin-home-composer {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  width: min(100%, 760px);
  max-width: 100%;
  margin: 0 auto;
  min-width: 0;
  box-sizing: border-box;
}

body .admin-home-composer-head {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  min-width: 0;
}

body .admin-home-composer-card {
  display: grid;
}

body .admin-home-composer-card > .admin-home-composer {
  width: min(100%, 760px);
  max-width: calc(100% - 2px);
  justify-self: center;
  margin: 10px auto 15px !important;
  box-sizing: border-box;
}

body .admin-home-composer-avatar {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(0, 143, 70, .2);
  border-radius: 999px;
  color: var(--sportia-green-dark);
  background: rgba(234, 247, 239, .85);
  font-size: 14px;
  font-weight: 760;
}

body .admin-home-composer-box {
  min-width: 0;
  display: grid;
  gap: 10px;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

body .admin-home-composer-head label {
  min-width: 0;
  color: var(--navy);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.32;
}

body .admin-home-composer-box textarea {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  resize: vertical;
  border: 1px solid rgba(221, 230, 240, .95);
  border-radius: 12px;
  padding: 12px 13px;
  color: var(--navy);
  background: linear-gradient(180deg, #fff, rgba(248, 250, 252, .62));
  font: inherit;
  line-height: 1.5;
  outline: none;
}

body .admin-home-composer-box textarea:focus {
  border-color: rgba(0, 143, 70, .42);
  box-shadow: 0 0 0 3px rgba(0, 143, 70, .08);
}

body .admin-home-composer-tools {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

body .admin-home-composer-tools span {
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0 10px;
  border: 1px solid rgba(221, 230, 240, .9);
  border-radius: 999px;
  color: var(--navy-muted);
  background: #fff;
  font-size: 12px;
  font-weight: 650;
}

body .admin-home-composer-tools span svg {
  color: var(--sportia-green);
}

body .admin-home-composer-tools button {
  min-height: 36px;
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid #217f59;
  border-radius: 999px;
  padding: 0 14px;
  color: #fff;
  background: linear-gradient(135deg, #1b9361, #16724f);
  font-size: 12px;
  font-weight: 760;
  white-space: nowrap;
  max-width: 100%;
  box-sizing: border-box;
}

body .main-content[data-page="admin-home"] .admin-home-composer-tools button {
  min-width: 136px;
  width: auto;
  flex: 0 0 auto;
  padding-inline: 16px !important;
}

body .admin-home-feed {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: min(100%, 760px);
  margin: 0 auto;
  scroll-snap-type: y proximity;
}

body .admin-home-feed-card {
  display: grid;
}

body .admin-home-feed-card > .admin-home-feed {
  justify-self: center;
}

body .admin-home-post {
  min-width: 0;
  display: grid;
  gap: 12px;
  padding: 16px;
  border: 1px solid rgba(221, 230, 240, .92);
  border-radius: 13px;
  background: linear-gradient(180deg, #fff, rgba(248, 250, 252, .76));
  box-shadow: 0 16px 34px rgba(7, 20, 71, .055);
  scroll-snap-align: start;
}

body .admin-home-post-head {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  min-width: 0;
}

body .admin-home-post-head .metric-icon {
  width: 40px !important;
  height: 40px !important;
  flex-basis: 40px !important;
}

body .admin-home-post-head div {
  min-width: 0;
  display: grid;
  gap: 2px;
}

body .admin-home-post-head strong {
  overflow: hidden;
  color: var(--navy);
  font-size: 14px;
  font-weight: 760;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body .admin-home-post-head small {
  overflow: hidden;
  color: var(--navy-muted);
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body .admin-home-post-head em {
  min-height: 24px;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 0 8px;
  color: var(--sportia-green-dark);
  background: rgba(234, 247, 239, .9);
  font-size: 10px;
  font-style: normal;
  font-weight: 750;
}

body .admin-home-post-media {
  position: relative;
  overflow: hidden;
  width: min(100%, 620px);
  aspect-ratio: 16 / 8.5;
  min-height: 0;
  justify-self: center;
  border-radius: 12px;
  background: #eef3f7;
}

body .admin-home-post-media img {
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
  filter: saturate(.96) contrast(.98);
}

body .admin-home-post-media span {
  position: absolute;
  top: 10px;
  left: 10px;
  min-height: 24px;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 0 9px;
  color: var(--sportia-green-dark);
  background: rgba(255, 255, 255, .92);
  font-size: 10px;
  font-weight: 760;
  box-shadow: 0 8px 18px rgba(7, 20, 71, .08);
}

body .admin-home-post-copy {
  display: grid;
  gap: 8px;
  min-width: 0;
  padding: 2px 2px 0;
}

body .admin-home-post h3 {
  margin: 0;
  color: var(--navy);
  font-size: clamp(18px, 1.45vw, 21px);
  line-height: 1.22;
}

body .admin-home-post p {
  margin: 0;
  color: var(--navy-muted);
  font-size: 14.5px;
  line-height: 1.62;
}

body .admin-home-post-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 0 2px 9px;
  border-bottom: 1px solid rgba(221, 230, 240, .82);
  color: var(--navy-muted);
  font-size: 12px;
}

body .admin-home-post-meta span:not(:last-child)::after {
  content: "·";
  margin-left: 10px;
  color: #9aa8ba;
}

body .admin-home-post-actions {
  display: flex;
  flex-wrap: nowrap;
  gap: 8px;
  padding-top: 0;
}

body .admin-home-post-actions button {
  flex: 1 1 0;
  min-height: 36px;
  border: 1px solid rgba(221, 230, 240, .95);
  border-radius: 999px;
  padding: 0 10px;
  color: var(--navy);
  background: #fff;
  font-size: 12px;
  font-weight: 700;
}

body .admin-home-post-actions button.is-active {
  border-color: rgba(0, 143, 70, .42) !important;
  color: var(--sportia-green-dark) !important;
  background: rgba(234, 247, 239, .94) !important;
}

body .admin-home-post-actions button span {
  color: var(--sportia-green);
  font-size: 15px;
  line-height: 1;
}

body .admin-home-comment-box {
  display: grid;
  gap: 9px;
  padding: 12px;
  border: 1px solid rgba(0, 143, 70, .18);
  border-radius: 12px;
  background: rgba(248, 250, 252, .78);
}

body .admin-home-comment-box[hidden] {
  display: none;
}

body .admin-home-comment-box label {
  color: var(--navy);
  font-size: 12px;
  font-weight: 740;
}

body .admin-home-comment-box textarea,
body .admin-publish-request :is(input, select, textarea) {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  border: 1px solid rgba(221, 230, 240, .95);
  border-radius: 10px;
  padding: 10px 11px;
  color: var(--navy);
  background: #fff;
  font: inherit;
  font-size: 13px;
  line-height: 1.45;
  outline: none;
}

body .admin-home-comment-box button {
  justify-self: end;
  min-height: 36px;
  border: 1px solid rgba(0, 143, 70, .28);
  border-radius: 8px;
  padding: 0 13px;
  color: var(--sportia-green-dark);
  background: #fff;
  font-size: 12px;
  font-weight: 740;
}

body .main-content[data-page^="admin-"] :is(.outline-action, .market-opportunity-card button, .admin-community-card button, .admin-home-post-actions button) {
  box-sizing: border-box;
  min-height: 42px !important;
  height: 42px !important;
  border: 1px solid rgba(0, 143, 70, .32) !important;
  border-radius: 8px !important;
  padding: 0 13px !important;
  color: var(--sportia-green-dark) !important;
  background: rgba(255, 255, 255, .94) !important;
  font-size: 12px !important;
  font-weight: 720 !important;
  line-height: 1.15 !important;
  white-space: nowrap !important;
  text-align: center;
  box-shadow: none;
}

body .main-content[data-page^="admin-"] :is(.outline-action, .market-opportunity-card button, .admin-community-card button, .admin-home-post-actions button):hover {
  border-color: rgba(0, 143, 70, .48) !important;
  background: #fff !important;
  box-shadow: 0 12px 26px rgba(0, 143, 70, .1);
}

body .admin-home-composer-tools button {
  min-height: 42px !important;
  height: 42px !important;
  border-radius: 8px !important;
  padding: 0 15px !important;
}

body .admin-home-signals {
  display: grid;
  gap: 10px;
}

body .admin-mini-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

body .admin-mini-panel,
body .admin-saved-row {
  min-width: 0;
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 11px;
  align-items: center;
  padding: 12px;
  border: 1px solid rgba(221, 230, 240, .86);
  border-radius: 12px;
  background: linear-gradient(180deg, #fff, rgba(248, 250, 252, .68));
}

body .admin-mini-panel div,
body .admin-saved-row div {
  min-width: 0;
  display: grid;
  gap: 3px;
}

body .admin-mini-panel strong,
body .admin-saved-row strong {
  overflow: hidden;
  color: var(--navy);
  font-size: 13px;
  line-height: 1.25;
  text-overflow: ellipsis;
}

body .admin-mini-panel small,
body .admin-saved-row small {
  color: var(--navy-muted);
  font-size: 12px;
  line-height: 1.42;
}

body .admin-saved-list {
  display: grid;
  gap: 10px;
}

body .admin-saved-row {
  grid-template-columns: 40px minmax(0, 1fr) auto;
}

body .admin-saved-row button,
body .admin-publish-request .outline-action {
  min-height: 36px;
  border: 1px solid rgba(0, 143, 70, .28);
  border-radius: 8px;
  padding: 0 12px;
  color: var(--sportia-green-dark);
  background: #fff;
  font-size: 12px;
  font-weight: 740;
  white-space: nowrap;
}

body .admin-publish-request {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

body .admin-publish-request label {
  min-width: 0;
  display: grid;
  gap: 6px;
  color: var(--navy);
  font-size: 12px;
  font-weight: 560;
}

body .admin-publish-request label:has(textarea),
body .admin-publish-request .outline-action {
  grid-column: 1 / -1;
}

body .admin-publish-request .outline-action {
  justify-self: end;
  width: auto !important;
  min-width: 150px;
}

body .admin-publish-request :is(input, select, textarea) {
  font-weight: 420;
}

body .admin-home-signal {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-width: 0;
  padding: 9px;
  border: 1px solid rgba(221, 230, 240, .78);
  border-radius: 11px;
  background: rgba(255, 255, 255, .72);
}

body .admin-home-signal .metric-icon {
  width: 40px !important;
  height: 40px !important;
}

body .admin-home-signal div {
  min-width: 0;
  display: grid;
  gap: 3px;
}

body .admin-home-signal strong {
  color: var(--navy);
  font-size: 12px;
  line-height: 1.2;
}

body .admin-home-signal small {
  color: var(--navy-muted);
  font-size: 11px;
  line-height: 1.35;
}

@media (max-width: 620px) {
  body .admin-home-composer {
    grid-template-columns: 1fr;
  }

  body .admin-home-composer-head {
    grid-template-columns: 40px minmax(0, 1fr);
  }

  body .admin-home-composer-tools button {
    width: 100%;
    margin-left: 0;
  }

  body .admin-home-post-head {
    grid-template-columns: 40px minmax(0, 1fr);
  }

  body .admin-home-post-head em {
    grid-column: 2;
    justify-self: start;
  }

  body .admin-home-feed {
    width: 100%;
  }

  body .admin-home-post {
    padding: 12px;
  }

  body .admin-home-post-media,
  body .admin-home-post-media img {
    min-height: 0;
  }

  body .admin-home-post-media {
    aspect-ratio: 16 / 10;
  }

  body .admin-home-post-actions {
    flex-wrap: wrap;
  }

body .admin-home-post-actions button {
    flex-basis: calc(50% - 4px);
  }

  body .admin-mini-grid,
  body .admin-publish-request {
    grid-template-columns: 1fr;
  }

  body .admin-saved-row {
    grid-template-columns: 40px minmax(0, 1fr);
  }

  body .admin-saved-row button {
    grid-column: 1 / -1;
    width: 100%;
  }

  body .admin-publish-request .outline-action,
  body .admin-home-comment-box button {
    justify-self: stretch;
    width: 100% !important;
  }
}

/* Final operational polish: lighter forms, softer CTAs and aligned report tags. */
body .main-content[data-page="admin-marketplace"] .admin-marketplace-board .marketplace-search-row button {
  border-color: rgba(33, 127, 89, .35) !important;
  color: #fff !important;
  background: #1b9361 !important;
  font-weight: 640 !important;
  box-shadow: none !important;
}

body .main-content[data-page="admin-marketplace"] .admin-marketplace-board .marketplace-search-row button:last-child {
  color: #16724f !important;
  background: rgba(234, 247, 239, .58) !important;
}

body .main-content[data-page="admin-report-center"] .admin-report-grid .report-preview-card {
  display: grid;
  grid-template-rows: 128px minmax(0, 1fr);
}

body .main-content[data-page="admin-report-center"] .admin-report-grid .report-preview-card > div:last-child {
  display: grid;
  grid-template-rows: minmax(34px, auto) minmax(32px, auto) auto;
  align-content: start;
  height: 100%;
}

body .main-content[data-page="admin-report-center"] .admin-report-grid .report-preview-card h3,
body .main-content[data-page="admin-report-center"] .admin-report-grid .report-preview-card p {
  min-width: 0;
}

body .main-content[data-page="admin-report-center"] .admin-report-grid .report-card-meta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  margin-top: 0;
}

body .main-content[data-page="admin-report-center"] .admin-report-grid .report-card-meta span {
  justify-self: start;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body .main-content[data-page="admin-report-center"] .admin-report-grid .report-card-meta small {
  justify-self: end;
  white-space: nowrap;
}

@media (max-width: 860px) {
  .community-preview-feed {
    grid-template-columns: 1fr;
  }

  .community-preview-composer {
    grid-template-columns: 40px minmax(0, 1fr);
  }

  .community-preview-composer button {
    grid-column: 1 / -1;
    width: 100%;
  }
}

/* Community Feed: LinkedIn-style post media and icon-only social actions. */
body .main-content[data-page="admin-home"] .admin-home-post-media {
  display: block;
  border: 0;
  padding: 0;
  color: inherit;
  text-align: left;
  cursor: pointer;
  box-shadow: none;
}

body .main-content[data-page="admin-home"] .admin-home-post-media:focus-visible {
  outline: 3px solid rgba(0, 143, 70, .18);
  outline-offset: 3px;
}

body .main-content[data-page="admin-home"] .admin-home-post-media::after {
  content: "Apri";
  position: absolute;
  right: 10px;
  bottom: 10px;
  min-height: 26px;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 0 10px;
  color: var(--navy);
  background: rgba(255, 255, 255, .92);
  font-size: 10px;
  font-weight: 680;
  opacity: 0;
  transform: translateY(4px);
  transition: opacity .18s ease, transform .18s ease;
}

body .main-content[data-page="admin-home"] .admin-home-post-media:hover::after,
body .main-content[data-page="admin-home"] .admin-home-post-media:focus-visible::after {
  opacity: 1;
  transform: translateY(0);
}

body .main-content[data-page="admin-home"] .admin-home-post-media img {
  transition: transform .22s ease, filter .22s ease;
}

body .main-content[data-page="admin-home"] .admin-home-post-media:hover img,
body .main-content[data-page="admin-home"] .admin-home-post-media:focus-visible img {
  transform: scale(1.018);
  filter: saturate(1.02) contrast(1);
}

body .main-content[data-page="admin-home"] .admin-home-post-actions {
  justify-content: center;
  gap: 12px;
}

body .main-content[data-page="admin-home"] .admin-home-post-actions button {
  flex: 0 0 42px !important;
  width: 42px !important;
  min-width: 42px !important;
  height: 42px !important;
  min-height: 42px !important;
  display: inline-grid !important;
  place-items: center !important;
  border-radius: 999px !important;
  padding: 0 !important;
}

body .main-content[data-page="admin-home"] .admin-home-post-actions button svg {
  width: 16px;
  height: 16px;
}

body .main-content[data-page="admin-home"] .admin-home-post-actions [data-feed-react] span {
  font-size: 20px;
  line-height: 1;
}

body .main-content[data-page="admin-home"] .admin-home-post-actions [data-feed-react].is-active span {
  color: #d94b5f;
}

@media (max-width: 620px) {
  body .main-content[data-page="admin-home"] .admin-home-post-actions {
    flex-wrap: nowrap;
  }

  body .main-content[data-page="admin-home"] .admin-home-post-actions button {
    flex-basis: 42px !important;
  }
}

/* Final responsive guard: data-model dashboard cards must never remain in four cramped columns. */
@media (max-width: 860px) {
  body .main-content[data-page="dashboard"] .profile-data-overview {
    grid-template-columns: 1fr !important;
  }

  body .main-content[data-page="dashboard"] .profile-data-grid {
    grid-template-columns: 1fr !important;
  }

  body .main-content[data-page="dashboard"] .profile-data-card {
    grid-template-columns: 40px minmax(0, 1fr) !important;
    width: 100%;
  }
}

/* Multi-stakeholder public profiles: operator, company and institution demo pages. */
body.public-view .stakeholder-public-hero {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  gap: clamp(24px, 4vw, 56px);
  align-items: center;
  width: min(100% - 48px, 1320px);
  margin: 34px auto 24px;
}

body.public-view .stakeholder-public-cover {
  position: relative;
  overflow: hidden;
  min-height: clamp(360px, 42vw, 560px);
  border-radius: 28px;
  background: #edf4f1;
  box-shadow: 0 24px 70px rgba(7, 20, 71, .1);
}

body.public-view .stakeholder-public-cover img {
  width: 100%;
  height: 100%;
  min-height: inherit;
  display: block;
  object-fit: cover;
}

body.public-view .stakeholder-public-cover span {
  position: absolute;
  left: 18px;
  bottom: 18px;
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  padding: 0 13px;
  border-radius: 999px;
  color: #fff;
  background: rgba(7, 20, 71, .64);
  backdrop-filter: blur(8px);
  font-size: 12px;
  font-weight: 760;
}

body.public-view .stakeholder-public-intro {
  display: grid;
  gap: 16px;
  min-width: 0;
}

body.public-view .stakeholder-public-intro > small {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: max-content;
  max-width: 100%;
  color: var(--sportia-green-dark);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
}

body.public-view .stakeholder-public-intro h1 {
  margin: 0;
  color: var(--navy);
  font-size: clamp(38px, 5.4vw, 72px);
  line-height: .96;
  letter-spacing: -.04em;
}

body.public-view .stakeholder-public-intro p {
  max-width: 690px;
  margin: 0;
  color: var(--navy-muted);
  font-size: 16px;
  line-height: 1.58;
}

body.public-view .stakeholder-kpi-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  width: min(100% - 48px, 1320px);
  margin: 0 auto 28px;
}

body.public-view .stakeholder-kpi-strip article,
body.public-view .stakeholder-card,
body.public-view .stakeholder-related-clubs a {
  min-width: 0;
  border: 1px solid #dfe7f0;
  border-radius: 18px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 12px 34px rgba(7,20,71,.045);
}

body.public-view .stakeholder-kpi-strip article {
  display: grid;
  gap: 6px;
  padding: 18px;
}

body.public-view .stakeholder-kpi-strip strong {
  color: var(--sportia-green-dark);
  font-size: clamp(28px, 4vw, 42px);
  line-height: 1;
}

body.public-view .stakeholder-kpi-strip small {
  color: var(--navy-muted);
  font-size: 12px;
  font-weight: 720;
  text-transform: uppercase;
}

body.public-view .stakeholder-public-section {
  width: min(100% - 48px, 1320px);
}

body.public-view .stakeholder-dashboard-section {
  width: min(100% - 48px, 1320px);
  padding-top: 16px;
  padding-bottom: 26px;
}

body.public-view .stakeholder-dashboard-grid {
  display: grid;
  grid-template-columns: minmax(260px, .42fr) minmax(0, .58fr);
  gap: 14px;
}

body.public-view .stakeholder-dashboard-card,
body.public-view .stakeholder-description-grid article,
body.public-view .stakeholder-module-grid article,
body.public-view .stakeholder-reference-grid article {
  min-width: 0;
  border: 1px solid #dfe7f0;
  border-radius: 18px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 12px 34px rgba(7,20,71,.045);
}

body.public-view .stakeholder-dashboard-card {
  display: grid;
  align-content: start;
  gap: 13px;
  padding: 20px;
}

body.public-view .stakeholder-dashboard-card > small,
body.public-view .stakeholder-description-grid small {
  color: var(--sportia-green-dark);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .05em;
}

body.public-view .stakeholder-completion-ring {
  display: grid;
  place-items: center;
  width: 118px;
  height: 118px;
  border-radius: 999px;
  background:
    radial-gradient(circle at center, #fff 0 58%, transparent 59%),
    conic-gradient(var(--sportia-green) calc(var(--completion) * 1%), rgba(223,231,240,.9) 0);
}

body.public-view .stakeholder-completion-ring strong {
  color: var(--navy);
  font-size: 26px;
  line-height: 1;
}

body.public-view .stakeholder-dashboard-card p {
  margin: 0;
  color: var(--navy-muted);
  font-size: 13px;
  line-height: 1.45;
}

body.public-view .stakeholder-details-card h2 {
  margin: 0;
  color: var(--navy);
  font-size: 22px;
}

body.public-view .stakeholder-details-card ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin: 0;
  padding: 0;
  list-style: none;
}

body.public-view .stakeholder-details-card li {
  display: grid;
  gap: 4px;
  min-height: 66px;
  padding: 12px;
  border-radius: 14px;
  background: linear-gradient(145deg, #f8fbf9, #eef7f2);
}

body.public-view .stakeholder-details-card b {
  color: #204b9b;
  font-size: 12px;
}

body.public-view .stakeholder-details-card span {
  color: var(--navy);
  font-size: 13px;
  line-height: 1.28;
}

body.public-view .stakeholder-description-grid,
body.public-view .stakeholder-module-grid,
body.public-view .stakeholder-reference-grid {
  display: grid;
  gap: 14px;
}

body.public-view .stakeholder-description-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.public-view .stakeholder-description-grid article {
  display: grid;
  align-content: start;
  gap: 10px;
  padding: 20px;
}

body.public-view .stakeholder-description-grid h3 {
  margin: 0;
  color: var(--navy);
  font-size: 18px;
  line-height: 1.18;
}

body.public-view .stakeholder-description-grid p {
  margin: 0;
  color: var(--navy-muted);
  font-size: 13px;
  line-height: 1.46;
}

body.public-view .stakeholder-profile-grid {
  display: grid;
  grid-template-columns: minmax(280px, .78fr) minmax(0, 1.22fr);
  gap: 14px;
}

body.public-view .stakeholder-card {
  display: grid;
  align-content: start;
  gap: 13px;
  padding: 20px;
}

body.public-view .stakeholder-card > span {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 14px;
  color: var(--sportia-green-dark);
  background: rgba(0,143,70,.1);
}

body.public-view .stakeholder-card h3 {
  margin: 0;
  color: var(--navy);
  font-size: 18px;
  line-height: 1.18;
}

body.public-view .stakeholder-card ul {
  display: grid;
  gap: 9px;
  margin: 0;
  padding: 0;
  list-style: none;
}

body.public-view .stakeholder-card li {
  display: flex;
  gap: 8px;
  align-items: center;
  color: var(--navy);
  font-size: 13px;
}

body.public-view .stakeholder-card li svg {
  flex: 0 0 auto;
  color: var(--sportia-green);
}

body.public-view .stakeholder-connection-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

body.public-view .stakeholder-connection-grid div {
  display: grid;
  gap: 6px;
  min-height: 126px;
  padding: 13px;
  border-radius: 14px;
  background: linear-gradient(145deg, #f8fbf9, #eef7f2);
}

body.public-view .stakeholder-connection-grid strong {
  color: #204b9b;
  font-size: 13px;
}

body.public-view .stakeholder-connection-grid small {
  color: var(--navy-muted);
  font-size: 12px;
  line-height: 1.42;
}

body.public-view .stakeholder-related-clubs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

body.public-view .stakeholder-related-clubs a {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding: 10px;
  color: inherit;
  text-decoration: none;
}

body.public-view .stakeholder-related-clubs img {
  width: 96px;
  height: 72px;
  border-radius: 12px;
  object-fit: cover;
}

body.public-view .stakeholder-related-clubs span {
  display: grid;
  gap: 4px;
}

body.public-view .stakeholder-related-clubs strong {
  color: var(--navy);
  font-size: 14px;
  line-height: 1.18;
}

body.public-view .stakeholder-related-clubs small {
  color: var(--navy-muted);
  font-size: 12px;
}

body.public-view .stakeholder-module-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.public-view .stakeholder-module-grid article {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  padding: 18px;
}

body.public-view .stakeholder-module-grid span {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  color: var(--sportia-green-dark);
  background: rgba(0,143,70,.1);
}

body.public-view .stakeholder-module-grid div {
  display: grid;
  gap: 6px;
}

body.public-view .stakeholder-module-grid strong,
body.public-view .stakeholder-reference-grid strong {
  color: var(--navy);
  font-size: 15px;
  line-height: 1.2;
}

body.public-view .stakeholder-module-grid small,
body.public-view .stakeholder-reference-grid small {
  color: var(--navy-muted);
  font-size: 12.5px;
  line-height: 1.42;
}

body.public-view .stakeholder-reference-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.public-view .stakeholder-reference-grid article {
  display: grid;
  align-content: start;
  gap: 7px;
  min-height: 108px;
  padding: 18px;
}

body.public-view .stakeholder-media-section {
  padding-top: 6px;
}

body.public-view .stakeholder-media-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

body.public-view .stakeholder-media-card {
  overflow: hidden;
  min-width: 0;
  border: 1px solid #dfe7f0;
  border-radius: 18px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 12px 34px rgba(7,20,71,.045);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

body.public-view .stakeholder-media-card:hover {
  transform: translateY(-2px);
  border-color: rgba(0, 143, 70, .2);
  box-shadow: 0 18px 42px rgba(7,20,71,.08);
}

body.public-view .stakeholder-media-cover {
  position: relative;
  display: block;
  min-height: 226px;
  aspect-ratio: 16 / 10;
  color: #fff;
  text-decoration: none;
  background: linear-gradient(145deg, #dfe7f0, #f5f8fd);
}

body.public-view .stakeholder-media-cover::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(7,20,71,.02), rgba(7,20,71,.54));
  pointer-events: none;
}

body.public-view .stakeholder-media-cover img {
  width: 100%;
  height: 100%;
  min-height: 226px;
  display: block;
  object-fit: cover;
  transition: transform .24s ease;
}

body.public-view .stakeholder-media-card:hover .stakeholder-media-cover img {
  transform: scale(1.035);
}

body.public-view .stakeholder-media-cover > span {
  position: absolute;
  left: 14px;
  bottom: 14px;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border: 1px solid rgba(255,255,255,.32);
  border-radius: 999px;
  background: rgba(7, 20, 71, .5);
  backdrop-filter: blur(8px);
  color: #fff;
  font-size: 10px;
  font-weight: 620;
  letter-spacing: .04em;
  text-transform: uppercase;
}

body.public-view .stakeholder-media-cover > b {
  position: absolute;
  right: 14px;
  bottom: 14px;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 999px;
  background: rgba(151, 216, 39, .88);
  color: var(--navy);
}

body.public-view .stakeholder-media-cover:focus-visible {
  outline: 3px solid rgba(151, 216, 39, .52);
  outline-offset: -4px;
}

body.public-view .stakeholder-media-card > div {
  display: grid;
  align-content: start;
  gap: 9px;
  min-height: 152px;
  padding: 16px 16px 15px;
}

body.public-view .stakeholder-media-card h3 {
  margin: 0;
  color: var(--navy);
  font-size: 16px;
  font-weight: 620;
  line-height: 1.18;
  letter-spacing: -.01em;
}

body.public-view .stakeholder-media-card p {
  margin: 0;
  color: var(--navy-muted);
  font-size: 12.5px;
  line-height: 1.46;
  max-width: 92%;
}

body.public-view .stakeholder-media-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 2px;
}

body.public-view .stakeholder-media-tags a {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 8px;
  border: 1px solid rgba(0, 143, 70, .16);
  border-radius: 999px;
  background: rgba(239, 247, 243, .7);
  color: var(--sportia-green-dark);
  font-size: 10.5px;
  font-weight: 560;
  text-decoration: none;
  transition: background .18s ease, color .18s ease, border-color .18s ease;
}

body.public-view .stakeholder-media-tags a:hover {
  border-color: rgba(0, 143, 70, .32);
  background: rgba(239, 247, 243, .95);
  color: var(--navy);
}

/* Connected tags and image hotspots: lighter hierarchy, readable overlays, real link affordance. */
body.public-view .public-image-hotspots a b,
body.public-view .public-image-hotspots a:hover b,
body.public-view .public-image-hotspots a:focus-visible b {
  font-weight: 540 !important;
}

body.public-view .public-image-hotspots a span,
body.public-view .public-image-hotspots a:hover span,
body.public-view .public-image-hotspots a:focus-visible span {
  color: #fff !important;
  font-weight: 420 !important;
}

body.public-view .public-image-hotspots a em,
body.public-view .public-image-hotspots a:hover em,
body.public-view .public-image-hotspots a:focus-visible em {
  color: rgba(255,255,255,.78) !important;
  font-weight: 390 !important;
}

body.public-view .stakeholder-media-tags a,
body .stakeholder-private-media-tags span,
body .market-card-tags button,
body .market-network-tags button {
  font-weight: 430 !important;
}

/* Assisted official-source profile prefill */
body.public-view .profile-autofill-card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(130, 172, 155, .26);
  border-radius: 30px;
  padding: clamp(18px, 2.2vw, 28px);
  margin: 24px 0 26px;
  background:
    radial-gradient(circle at 12% 4%, rgba(203, 244, 210, .62), transparent 34%),
    radial-gradient(circle at 92% 10%, rgba(207, 232, 255, .58), transparent 31%),
    linear-gradient(135deg, #fbfefb 0%, #f3faf6 52%, #f7fbff 100%);
  box-shadow: 0 22px 55px rgba(68, 102, 89, .10);
}

body.public-view .profile-autofill-card::before {
  content: "";
  position: absolute;
  inset: 12px;
  border: 1px solid rgba(255,255,255,.74);
  border-radius: 24px;
  pointer-events: none;
}

body.public-view .profile-autofill-main {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}

body.public-view .profile-autofill-icon {
  width: 50px;
  height: 50px;
  border-radius: 20px;
  display: grid;
  place-items: center;
  color: #244c42;
  background:
    linear-gradient(145deg, rgba(222, 255, 224, .95), rgba(218, 239, 255, .8));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 12px 28px rgba(96, 144, 122, .13);
}

body.public-view .profile-autofill-card small,
body.public-view .profile-autofill-card h3,
body.public-view .profile-autofill-card p {
  margin: 0;
}

body.public-view .profile-autofill-card small {
  color: #6f9283;
  font-size: .76rem;
  font-weight: 500;
  letter-spacing: .04em;
  text-transform: uppercase;
}

body.public-view .profile-autofill-card h3 {
  margin-top: 7px;
  color: #183c49;
  font-size: clamp(1.05rem, 1.5vw, 1.34rem);
  font-weight: 620;
}

body.public-view .profile-autofill-card p {
  margin-top: 8px;
  color: #607273;
  font-size: .92rem;
  line-height: 1.55;
}

body.public-view .profile-autofill-source-type {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  width: fit-content;
  margin-top: 13px;
  border: 1px solid rgba(104, 157, 138, .18);
  border-radius: 999px;
  padding: 7px 11px;
  color: #4f7669;
  background: rgba(255,255,255,.62);
  font-size: .8rem;
  font-weight: 450;
}

body.public-view .profile-autofill-input {
  display: grid;
  gap: 8px;
  margin-top: 16px;
}

body.public-view .profile-autofill-input span {
  color: #4c666b;
  font-size: .82rem;
  font-weight: 500;
}

body.public-view .profile-autofill-input input {
  width: 100%;
  border: 1px solid rgba(108, 152, 140, .18);
  border-radius: 18px;
  padding: 14px 15px;
  color: #183c49;
  background: rgba(255,255,255,.82);
  font: inherit;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.92), 0 10px 26px rgba(98, 130, 118, .055);
}

body.public-view .profile-autofill-consent {
  display: grid;
  gap: 8px;
  margin-top: 13px;
  border: 1px solid rgba(117, 159, 146, .16);
  border-radius: 18px;
  padding: 12px 13px;
  background: rgba(255,255,255,.54);
}

body.public-view .profile-autofill-consent label {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  color: #4d6665;
  font-size: .84rem;
  line-height: 1.45;
  cursor: pointer;
}

body.public-view .profile-autofill-consent input {
  width: 17px;
  height: 17px;
  margin-top: 1px;
  accent-color: #9ddf99;
}

body.public-view .profile-autofill-consent span {
  font-weight: 420;
}

body.public-view .profile-autofill-consent small {
  display: block;
  padding-left: 27px;
  color: #7a8a88;
  font-size: .76rem;
  font-weight: 390;
  letter-spacing: 0;
  line-height: 1.4;
  text-transform: none;
}

body.public-view .profile-autofill-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  margin-top: 14px;
}

body.public-view .profile-autofill-actions button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 0;
  border-radius: 999px;
  padding: 12px 18px;
  color: #21483f;
  background: linear-gradient(135deg, #dff8c9, #cdefff);
  font-weight: 570;
  cursor: pointer;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.72), 0 12px 24px rgba(101, 150, 128, .13);
}

body.public-view .profile-autofill-actions span {
  color: #718281;
  font-size: .86rem;
  font-weight: 430;
}

body.public-view .profile-autofill-mode-note {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

body.public-view .profile-autofill-mode-note article {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 9px;
  align-items: start;
  border: 1px solid rgba(117, 159, 146, .13);
  border-radius: 16px;
  padding: 11px;
  background: rgba(255,255,255,.48);
}

body.public-view .profile-autofill-mode-note svg {
  color: #6f9b88;
  margin-top: 2px;
}

body.public-view .profile-autofill-mode-note strong,
body.public-view .profile-autofill-mode-note small {
  display: block;
}

body.public-view .profile-autofill-mode-note strong {
  color: #2d5956;
  font-size: .82rem;
  font-weight: 560;
}

body.public-view .profile-autofill-mode-note small {
  margin-top: 3px;
  color: #708180;
  font-size: .76rem;
  font-weight: 390;
  letter-spacing: 0;
  line-height: 1.38;
  text-transform: none;
}

body.public-view .profile-autofill-card.applied .profile-autofill-actions span {
  color: #3e8064;
}

body.public-view .profile-autofill-result {
  margin-top: 18px;
  display: grid;
  grid-template-columns: minmax(140px, 180px) minmax(0, 1fr);
  gap: 18px;
}

body.public-view .profile-autofill-score {
  border: 1px solid rgba(103, 158, 139, .18);
  border-radius: 24px;
  padding: 18px;
  background:
    linear-gradient(155deg, rgba(235, 255, 222, .96), rgba(223, 242, 255, .88));
  color: #234a45;
  align-self: stretch;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.82);
}

body.public-view .profile-autofill-score strong {
  display: block;
  font-size: 2.2rem;
  line-height: 1;
  font-weight: 620;
}

body.public-view .profile-autofill-score span {
  display: block;
  margin-top: 8px;
  color: #5f7a78;
  font-size: .86rem;
  font-weight: 420;
}

body.public-view .profile-autofill-score i {
  display: block;
  height: 7px;
  margin-top: 18px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(70, 111, 101, .12);
}

body.public-view .profile-autofill-score b {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #b8f3a4, #9fd8ff);
}

body.public-view .profile-autofill-columns {
  display: grid;
  grid-template-columns: 1.25fr .75fr;
  gap: 14px;
}

body.public-view .profile-autofill-columns article {
  border: 1px solid rgba(110, 154, 139, .14);
  border-radius: 24px;
  padding: 16px;
  background: rgba(255,255,255,.66);
  box-shadow: 0 12px 30px rgba(80, 113, 102, .055);
}

body.public-view .profile-autofill-columns h4 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 12px;
  color: #254f52;
  font-size: .94rem;
  font-weight: 570;
}

body.public-view .profile-autofill-columns ul {
  display: grid;
  gap: 9px;
  margin: 0;
  padding: 0;
  list-style: none;
}

body.public-view .profile-autofill-columns li {
  display: grid;
  grid-template-columns: 90px minmax(0, 1fr);
  gap: 10px;
  align-items: baseline;
  color: #617174;
  font-size: .86rem;
}

body.public-view .profile-autofill-columns li span {
  color: #315b55;
  font-weight: 520;
}

body.public-view .profile-autofill-columns li small {
  color: #6f7f80;
  font-size: .84rem;
  font-weight: 410;
  letter-spacing: 0;
  text-transform: none;
}

body.public-view .profile-autofill-columns article > div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

body.public-view .profile-autofill-columns em {
  border-radius: 999px;
  padding: 7px 10px;
  color: #5f7471;
  background: rgba(231, 244, 235, .82);
  font-style: normal;
  font-size: .8rem;
  font-weight: 410;
}

body.public-view .profile-autofill-legend {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: -4px;
}

body.public-view .profile-autofill-legend span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border-radius: 999px;
  padding: 8px 11px;
  color: #5a7270;
  background: rgba(255,255,255,.68);
  font-size: .8rem;
  font-weight: 420;
}

body.public-view .profile-autofill-applied {
  grid-column: 1 / -1;
  border: 1px solid rgba(96, 154, 126, .16);
  border-radius: 22px;
  padding: 15px;
  background: rgba(245, 252, 247, .76);
}

body.public-view .profile-autofill-applied h4 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 12px;
  color: #2d5956;
  font-size: .92rem;
  font-weight: 570;
}

body.public-view .profile-autofill-applied > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

body.public-view .profile-autofill-applied span {
  display: grid;
  gap: 3px;
  border-radius: 14px;
  padding: 9px 10px;
  color: #4f6965;
  background: rgba(255,255,255,.74);
}

body.public-view .profile-autofill-applied b {
  color: #315b55;
  font-size: .78rem;
  font-weight: 560;
}

body.public-view .profile-autofill-applied small {
  color: #6d7e7b;
  font-size: .75rem;
  font-weight: 390;
  letter-spacing: 0;
  line-height: 1.35;
  text-transform: none;
}

body.public-view .profile-autofill-step-banner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(150px, 190px) auto;
  gap: 14px;
  align-items: center;
  margin: 14px 0 18px;
  border: 1px solid rgba(110, 154, 139, .16);
  border-radius: 22px;
  padding: 15px;
  background:
    linear-gradient(135deg, rgba(247, 253, 248, .96), rgba(240, 248, 255, .88));
  box-shadow: 0 14px 32px rgba(74, 111, 96, .07);
}

body.public-view .profile-autofill-step-banner small {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #6f9283;
  font-size: .74rem;
  font-weight: 500;
  letter-spacing: .035em;
  text-transform: uppercase;
}

body.public-view .profile-autofill-step-banner h3,
body.public-view .profile-autofill-step-banner p {
  margin: 0;
}

body.public-view .profile-autofill-step-banner h3 {
  margin-top: 5px;
  color: #234a45;
  font-size: 1rem;
  font-weight: 590;
}

body.public-view .profile-autofill-step-banner p {
  margin-top: 5px;
  color: #6a7d7a;
  font-size: .84rem;
  line-height: 1.45;
}

body.public-view .profile-autofill-step-meter {
  display: grid;
  gap: 6px;
}

body.public-view .profile-autofill-step-meter strong {
  color: #254f52;
  font-size: 1.28rem;
  font-weight: 620;
}

body.public-view .profile-autofill-step-meter i {
  display: block;
  height: 7px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(70, 111, 101, .12);
}

body.public-view .profile-autofill-step-meter b {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #b8f3a4, #9fd8ff);
}

body.public-view .profile-autofill-step-meter span {
  color: #7a8a88;
  font-size: .74rem;
  font-weight: 390;
}

body.public-view .profile-autofill-step-banner > a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border-radius: 999px;
  padding: 10px 13px;
  color: #254f52;
  background: rgba(255,255,255,.7);
  font-size: .8rem;
  font-weight: 520;
  text-decoration: none;
  white-space: nowrap;
}

@media (max-width: 860px) {
  body.public-view .profile-autofill-main,
  body.public-view .profile-autofill-result,
  body.public-view .profile-autofill-columns,
  body.public-view .profile-autofill-mode-note,
  body.public-view .profile-autofill-applied > div,
  body.public-view .profile-autofill-step-banner {
    grid-template-columns: 1fr;
  }

  body.public-view .profile-autofill-columns li {
    grid-template-columns: 1fr;
    gap: 3px;
  }
}

/* MVP simplification: one clear search gesture, then Database/Marketplace/Report paths. */
body.public-view .sportia-search-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 20px 0 0;
}

body.public-view .sportia-search-tabs a {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 13px;
  border-radius: 999px;
  color: rgba(30, 57, 91, .66);
  background: rgba(255,255,255,.52);
  font-size: 12px;
  font-weight: 620;
  text-decoration: none;
}

body.public-view .sportia-search-tabs a.active {
  color: #fff;
  background: var(--sportia-green);
}

body.public-view .sportia-simple-search {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  width: min(680px, 100%);
  margin: 22px 0 10px;
  padding: 7px;
  border: 1px solid rgba(30, 57, 91, .10);
  border-radius: 18px;
  background: rgba(255,255,255,.86);
  box-shadow: 0 18px 48px rgba(7, 20, 71, .08);
}

body.public-view .sportia-simple-search label {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
  padding: 0 10px;
  color: rgba(44, 61, 91, .54);
}

body.public-view .sportia-simple-search input {
  width: 100%;
  min-width: 0;
  height: 42px;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--navy);
  font: 500 14px/1.2 inherit;
}

body.public-view .sportia-simple-search button,
body.public-view .partner-insight-grid button,
body.public-view .report-partner-grid button {
  min-height: 40px;
  border: 0;
  border-radius: 13px;
  padding: 0 16px;
  background: var(--sportia-green);
  color: #fff;
  font: 650 13px/1 inherit;
  cursor: pointer;
}

body.public-view .sportia-quick-links {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0 0 18px;
}

body.public-view .sportia-quick-links a,
body.public-view .sportia-quick-links button {
  display: inline-flex;
  align-items: center;
  min-height: 27px;
  padding: 0 10px;
  border: 1px solid rgba(30, 57, 91, .10);
  border-radius: 999px;
  color: rgba(30, 57, 91, .66);
  background: rgba(255,255,255,.58);
  font-size: 11px;
  font-weight: 520;
  text-decoration: none;
  cursor: pointer;
}

body.public-view .home-map-visual {
  display: flex;
  align-items: stretch;
  min-height: clamp(520px, 52vw, 680px);
}

body.public-view .home-database-map {
  position: relative;
  display: grid;
  grid-template-rows: auto minmax(360px, 1fr) auto auto;
  gap: 12px;
  width: 100%;
  min-width: 0;
  padding: clamp(14px, 2vw, 20px);
  border: 1px solid rgba(207, 224, 233, .92);
  border-radius: 28px;
  background:
    linear-gradient(145deg, rgba(247, 251, 248, .98), rgba(255, 255, 255, .98)),
    radial-gradient(circle at 78% 10%, rgba(0, 143, 70, .12), transparent 36%);
  box-shadow: 0 28px 70px rgba(7, 20, 71, .12);
  overflow: hidden;
}

body.public-view .home-map-toolbar,
body.public-view .home-map-legend {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  position: relative;
  z-index: 2;
}

body.public-view .home-map-toolbar span,
body.public-view .home-map-toolbar strong {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 30px;
  padding: 0 11px;
  border-radius: 999px;
  color: var(--navy);
  background: rgba(255, 255, 255, .76);
  box-shadow: 0 8px 22px rgba(7, 20, 71, .06);
  font-size: 12px;
  font-weight: 680;
}

body.public-view .home-map-toolbar strong {
  color: #fff;
  background: var(--sportia-green);
}

body.public-view .home-map-canvas {
  position: relative;
  min-height: 360px;
  border: 1px solid rgba(213, 226, 235, .88);
  border-radius: 22px;
  background: linear-gradient(160deg, #f5faf6, #eef6f9 64%, #f9fbfc);
  overflow: hidden;
}

body.public-view .home-map-canvas .leaflet-host {
  position: absolute;
  inset: 0;
  z-index: 2;
  opacity: 0;
}

body.public-view .home-map-canvas.leaflet-loaded .leaflet-host {
  opacity: 1;
}

body.public-view .home-map-canvas.leaflet-loaded .leaflet-tile-pane {
  filter: saturate(.58) contrast(.88) brightness(1.12) opacity(.9);
}

body.public-view .home-map-canvas.leaflet-loaded .home-map-marker {
  display: none;
}

body.public-view .home-map-canvas svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

body.public-view .home-map-land {
  fill: #eaf5ed;
  stroke: rgba(0, 108, 55, .16);
  stroke-width: 2;
}

body.public-view .home-map-lake {
  fill: url(#homeLake);
  opacity: .86;
}

body.public-view .home-map-road {
  fill: none;
  stroke: rgba(7, 20, 71, .16);
  stroke-width: 7;
  stroke-linecap: round;
  stroke-dasharray: 1 15;
}

body.public-view .home-map-road.secondary {
  stroke: rgba(0, 143, 70, .14);
  stroke-width: 5;
}

body.public-view .home-map-labels text {
  fill: rgba(7, 20, 71, .22);
  font-size: 17px;
  font-weight: 720;
  letter-spacing: .05em;
  text-transform: uppercase;
}

body.public-view .home-map-marker {
  position: absolute;
  left: var(--x);
  top: var(--y);
  z-index: 3;
  display: grid;
  grid-template-columns: 28px minmax(92px, max-content);
  grid-template-rows: auto auto;
  align-items: center;
  gap: 2px 8px;
  min-width: 0;
  color: var(--navy);
  text-decoration: none;
  transform: translate(-14px, -14px);
  transition: opacity .18s ease, transform .18s ease, filter .18s ease;
  border: 0;
  background: transparent;
  cursor: pointer;
  font: inherit;
  text-align: left;
}

body.public-view .home-map-marker span {
  grid-row: 1 / span 2;
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border: 3px solid #fff;
  border-radius: 999px;
  color: #fff;
  background: var(--sportia-green);
  box-shadow: 0 10px 22px rgba(0, 108, 55, .24);
  font-size: 10px;
  font-weight: 760;
}

body.public-view .home-map-marker.partial span { background: #2d78bd; box-shadow: 0 10px 22px rgba(45, 120, 189, .22); }
body.public-view .home-map-marker.database span { background: #2d78bd; }
body.public-view .home-map-marker.benchmark span { background: #8f9aad; }
body.public-view .home-map-marker.unmapped span { background: #aab3bf; box-shadow: 0 10px 22px rgba(80, 92, 108, .18); }

body.public-view .home-map-marker strong,
body.public-view .home-map-marker small {
  justify-self: start;
  max-width: 170px;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .88);
  box-shadow: 0 8px 18px rgba(7, 20, 71, .08);
  line-height: 1.1;
  white-space: nowrap;
}

body.public-view .home-map-marker strong {
  color: var(--navy);
  font-size: 11px;
  font-weight: 660;
}

body.public-view .home-map-marker small {
  color: rgba(15, 31, 51, .58);
  font-size: 9px;
  font-weight: 500;
}

body.public-view .home-map-marker:hover,
body.public-view .home-map-marker:focus-visible,
body.public-view .home-map-marker.active {
  z-index: 8;
  transform: translate(-14px, -14px) scale(1.06);
}

body.public-view .home-map-marker.is-hidden,
body.public-view .home-map-result.is-hidden,
body.public-view .home-leaflet-marker.is-hidden {
  display: none;
}

body.public-view .home-leaflet-marker {
  color: var(--navy);
  background: transparent !important;
  border: 0 !important;
  border-radius: 50% !important;
  box-shadow: none !important;
}

body.public-view .home-leaflet-marker a,
body.public-view .home-leaflet-marker button {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  color: inherit;
  text-decoration: none;
  border: 0;
  background: transparent;
  border-radius: 50%;
  box-shadow: none;
  outline: 0;
  cursor: pointer;
  font: inherit;
  text-align: left;
}

body.public-view .home-leaflet-marker span {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border: 3px solid #fff;
  border-radius: 999px;
  color: #fff;
  background: var(--sportia-green);
  box-shadow: 0 10px 22px rgba(0, 108, 55, .24);
  font-size: 10px;
  font-weight: 760;
}

body.public-view .home-leaflet-marker.partial span { background: #2d78bd; box-shadow: 0 10px 22px rgba(45, 120, 189, .22); }
body.public-view .home-leaflet-marker.database span { background: #2d78bd; }
body.public-view .home-leaflet-marker.benchmark span { background: #8f9aad; }
body.public-view .home-leaflet-marker.unmapped span { background: #aab3bf; box-shadow: 0 10px 22px rgba(80, 92, 108, .18); }

body.public-view .home-leaflet-marker a:hover,
body.public-view .home-leaflet-marker a:focus-visible,
body.public-view .home-leaflet-marker a.active,
body.public-view .home-leaflet-marker button:hover,
body.public-view .home-leaflet-marker button:focus-visible,
body.public-view .home-leaflet-marker button.active {
  filter: drop-shadow(0 10px 20px rgba(7, 20, 71, .16));
}

body.public-view .home-leaflet-marker a:focus-visible span,
body.public-view .home-leaflet-marker button:focus-visible span {
  outline: 2px solid #ffffff;
  outline-offset: 2px;
  box-shadow: 0 0 0 4px rgba(0, 108, 55, .42), 0 10px 22px rgba(0, 108, 55, .24);
}

body.public-view .home-map-marker.is-muted {
  opacity: .25;
  filter: grayscale(.35);
}

body.public-view .home-map-results {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

body.public-view .home-map-result {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  min-width: 0;
  padding: 9px;
  border: 1px solid rgba(213, 226, 235, .9);
  border-radius: 15px;
  color: inherit;
  background: rgba(255,255,255,.82);
  text-decoration: none;
  transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease;
  cursor: pointer;
  font: inherit;
  text-align: left;
}

body.public-view button.home-map-result {
  width: 100%;
}

body.public-view .home-map-result:hover,
body.public-view .home-map-result:focus-visible,
body.public-view .home-map-result.active {
  border-color: rgba(0, 143, 70, .32);
  box-shadow: 0 12px 26px rgba(7, 20, 71, .075);
  transform: translateY(-1px);
}

body.public-view .home-map-result b {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 10px;
  color: var(--sportia-green-dark);
  background: var(--sportia-green-soft);
  font-size: 10px;
  font-weight: 760;
}

body.public-view .home-map-result span {
  display: grid;
  gap: 2px;
  min-width: 0;
}

body.public-view .home-map-result strong {
  min-width: 0;
  overflow: hidden;
  color: var(--navy);
  font-size: 12px;
  font-weight: 650;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.public-view .home-map-result small {
  min-width: 0;
  overflow: hidden;
  color: rgba(15, 31, 51, .56);
  font-size: 10px;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.public-view .home-map-result em {
  color: rgba(15, 31, 51, .62);
  font-size: 11px;
  font-style: normal;
  font-weight: 720;
}

body.public-view .home-map-legend {
  justify-content: start;
  gap: 8px 14px;
}

body.public-view .home-map-legend span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: rgba(15, 31, 51, .58);
  font-size: 11px;
  font-weight: 600;
}

body.public-view .home-map-legend i {
  display: inline-block !important;
  flex: 0 0 15px !important;
  box-sizing: border-box !important;
  width: 15px;
  min-width: 15px !important;
  max-width: 15px !important;
  height: 15px;
  min-height: 15px !important;
  max-height: 15px !important;
  padding: 0 !important;
  border: 2px solid #fff;
  border-radius: 50%;
  background: var(--sportia-green);
  box-shadow: 0 4px 10px rgba(7, 20, 71, .12);
}

body.public-view .home-map-legend i.partial { background: #2d78bd; }
body.public-view .home-map-legend i.database { background: #2d78bd; }
body.public-view .home-map-legend i.unmapped { background: #aab3bf; }

body.public-view .home-leaflet-map.leaflet-loaded .leaflet-bottom.leaflet-right .leaflet-control-zoom {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  margin: 0 14px 14px 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(221, 230, 240, .92) !important;
  border-radius: 15px !important;
  background: rgba(255, 255, 255, .94) !important;
  box-shadow: 0 14px 30px rgba(7, 20, 71, .12) !important;
  backdrop-filter: blur(10px) !important;
}

body.public-view .home-leaflet-map.leaflet-loaded .leaflet-control-zoom a,
body.public-view .home-leaflet-map.leaflet-loaded .leaflet-control-zoom .map-expand-control,
body.public-view .home-leaflet-map.leaflet-loaded .leaflet-control-zoom .home-inline-expand {
  position: static !important;
  display: grid !important;
  place-items: center !important;
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  min-height: 36px !important;
  margin: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(221, 230, 240, .92) !important;
  border-radius: 0 !important;
  color: var(--navy) !important;
  background: transparent !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  float: none !important;
  clear: both !important;
}

body.public-view .home-leaflet-map.leaflet-loaded .leaflet-control-zoom .leaflet-control-zoom-in {
  order: 1 !important;
}

body.public-view .home-leaflet-map.leaflet-loaded .leaflet-control-zoom .leaflet-control-zoom-out {
  order: 2 !important;
}

body.public-view .home-leaflet-map.leaflet-loaded .leaflet-control-zoom .map-expand-control {
  order: 3 !important;
  right: auto !important;
  bottom: auto !important;
  border-bottom: 0 !important;
  cursor: pointer !important;
}

body.public-view .home-leaflet-map.leaflet-loaded .leaflet-control-zoom .home-inline-expand {
  order: 3 !important;
  border-bottom: 0 !important;
  color: var(--navy) !important;
  opacity: 1 !important;
  visibility: visible !important;
  background: rgba(255, 255, 255, .94) !important;
  cursor: pointer !important;
}

body.public-view .home-leaflet-map.leaflet-loaded .leaflet-control-zoom a:hover,
body.public-view .home-leaflet-map.leaflet-loaded .leaflet-control-zoom .map-expand-control:hover,
body.public-view .home-leaflet-map.leaflet-loaded .leaflet-control-zoom .home-inline-expand:hover {
  color: #fff !important;
  background: var(--sportia-green) !important;
}

body.public-view .home-leaflet-map.leaflet-loaded .leaflet-control-zoom .map-expand-control svg,
body.public-view .home-leaflet-map.leaflet-loaded .leaflet-control-zoom .home-inline-expand svg {
  display: block !important;
  width: 17px !important;
  height: 17px !important;
  color: var(--navy) !important;
  opacity: 1 !important;
  visibility: visible !important;
  stroke: currentColor !important;
  stroke-width: 1.9 !important;
  overflow: visible !important;
}

body.public-view .home-leaflet-map.leaflet-loaded .leaflet-control-zoom .home-inline-expand:hover svg {
  color: #fff !important;
}

body.public-view .home-leaflet-map.leaflet-loaded .leaflet-control-zoom .home-inline-expand .home-expand-glyph {
  position: relative !important;
  display: block !important;
  width: 18px !important;
  height: 18px !important;
  opacity: 1 !important;
  visibility: visible !important;
  color: var(--navy) !important;
}

body.public-view .home-leaflet-map.leaflet-loaded .leaflet-control-zoom .home-inline-expand .home-expand-glyph i {
  position: absolute !important;
  display: block !important;
  width: 7px !important;
  height: 7px !important;
  border-color: currentColor !important;
  border-style: solid !important;
  opacity: 1 !important;
  visibility: visible !important;
}

body.public-view .home-leaflet-map.leaflet-loaded .leaflet-control-zoom .home-inline-expand .home-expand-glyph i:nth-child(1) {
  top: 0 !important;
  left: 0 !important;
  border-width: 2px 0 0 2px !important;
}

body.public-view .home-leaflet-map.leaflet-loaded .leaflet-control-zoom .home-inline-expand .home-expand-glyph i:nth-child(2) {
  top: 0 !important;
  right: 0 !important;
  border-width: 2px 2px 0 0 !important;
}

body.public-view .home-leaflet-map.leaflet-loaded .leaflet-control-zoom .home-inline-expand .home-expand-glyph i:nth-child(3) {
  right: 0 !important;
  bottom: 0 !important;
  border-width: 0 2px 2px 0 !important;
}

body.public-view .home-leaflet-map.leaflet-loaded .leaflet-control-zoom .home-inline-expand .home-expand-glyph i:nth-child(4) {
  bottom: 0 !important;
  left: 0 !important;
  border-width: 0 0 2px 2px !important;
}

body.public-view .home-leaflet-map.leaflet-loaded .leaflet-control-zoom .home-inline-expand:hover .home-expand-glyph {
  color: #fff !important;
}

body.public-view .sportia-frequent-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

body.public-view .sportia-frequent-grid a {
  display: grid;
  grid-template-rows: 128px auto auto;
  gap: 8px;
  min-width: 0;
  padding: 10px;
  border: 1px solid rgba(30, 57, 91, .10);
  border-radius: 20px;
  color: inherit;
  background: #fff;
  box-shadow: 0 14px 38px rgba(7, 20, 71, .055);
  text-decoration: none;
}

body.public-view .sportia-frequent-grid img {
  width: 100%;
  height: 128px;
  object-fit: cover;
  border-radius: 15px;
}

body.public-view .sportia-frequent-grid strong {
  color: var(--navy);
  font-size: 15px;
  line-height: 1.2;
}

body.public-view .sportia-frequent-grid small {
  color: var(--navy-muted);
  font-size: 12px;
}

body.public-view .sportia-portal-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

body.public-view .sportia-portal-grid article {
  display: grid;
  align-content: start;
  gap: 10px;
  min-height: 210px;
  padding: 20px;
  border: 1px solid rgba(30, 57, 91, .10);
  border-radius: 22px;
  background: linear-gradient(180deg, #fff, rgba(247,250,248,.92));
  box-shadow: 0 14px 38px rgba(7, 20, 71, .045);
}

body.public-view .sportia-portal-grid article > span {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 16px;
  color: var(--sportia-green-dark);
  background: rgba(232,247,239,.82);
}

body.public-view .sportia-portal-grid h3 {
  margin: 0;
  color: var(--navy);
  font-size: 18px;
  line-height: 1.15;
}

body.public-view .sportia-portal-grid p {
  margin: 0;
  color: var(--navy-muted);
  font-size: 13px;
  line-height: 1.48;
}

body.public-view .sportia-portal-grid a {
  align-self: end;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: max-content;
  max-width: 100%;
  color: var(--sportia-green-dark);
  font-size: 12px;
  font-weight: 680;
  text-decoration: none;
}

body.public-view .sportia-insight-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

body.public-view .sportia-insight-strip article {
  display: grid;
  align-content: start;
  gap: 8px;
  min-height: 132px;
  padding: 17px;
  border: 1px solid rgba(30, 57, 91, .10);
  border-radius: 18px;
  background: linear-gradient(180deg, #fff, rgba(247,250,248,.9));
  box-shadow: 0 12px 34px rgba(7,20,71,.045);
}

body.public-view .sportia-insight-strip small {
  color: rgba(44,61,91,.62);
  font-size: 11px;
  font-weight: 560;
}

body.public-view .sportia-insight-strip strong {
  color: var(--navy);
  font-size: 15px;
  line-height: 1.22;
}

body.public-view .sportia-insight-strip span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: max-content;
  max-width: 100%;
  margin-top: auto;
  padding: 5px 9px;
  border-radius: 999px;
  color: rgba(0,108,55,.9);
  background: rgba(232,247,239,.82);
  font-size: 11px;
  font-weight: 560;
}

body.public-view .partner-insight-grid,
body.public-view .report-partner-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

body.public-view .partner-insight-grid article,
body.public-view .report-partner-grid article {
  display: grid;
  align-content: start;
  gap: 10px;
  min-height: 220px;
  padding: 20px;
  border: 1px solid rgba(30, 57, 91, .10);
  border-radius: 20px;
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(247,250,248,.92));
  box-shadow: 0 16px 42px rgba(7, 20, 71, .055);
}

body.public-view .partner-insight-grid article > span {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 15px;
  color: var(--sportia-green-dark);
  background: rgba(232,247,239,.82);
}

body.public-view .partner-insight-grid h3,
body.public-view .report-partner-grid h3 {
  margin: 0;
  color: var(--navy);
  font-size: 18px;
  line-height: 1.2;
}

body.public-view .partner-insight-grid p,
body.public-view .report-partner-grid p {
  margin: 0;
  color: var(--navy-muted);
  font-size: 13px;
  line-height: 1.5;
}

body.public-view .report-partner-grid small {
  width: max-content;
  max-width: 100%;
  padding: 5px 9px;
  border-radius: 999px;
  color: rgba(0,108,55,.9);
  background: rgba(232,247,239,.82);
  font-weight: 560;
}

@media (max-width: 820px) {
  body.public-view .sportia-frequent-grid,
  body.public-view .sportia-portal-grid,
  body.public-view .sportia-insight-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.public-view .partner-insight-grid,
  body.public-view .report-partner-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  body.public-view .sportia-frequent-grid,
  body.public-view .sportia-portal-grid,
  body.public-view .sportia-insight-strip {
    grid-template-columns: 1fr;
  }

  body.public-view .sportia-simple-search {
    grid-template-columns: 1fr;
  }

  body.public-view .sportia-simple-search button {
    width: 100%;
  }

  body.public-view .home-map-visual {
    min-height: auto;
  }

  body.public-view .home-database-map {
    grid-template-rows: auto minmax(330px, auto) auto auto;
    border-radius: 22px;
  }

  body.public-view .home-map-canvas {
    min-height: 330px;
  }

  body.public-view .home-map-marker {
    grid-template-columns: 24px;
  }

  body.public-view .home-map-marker span {
    width: 24px;
    height: 24px;
    font-size: 9px;
  }

  body.public-view .home-map-marker strong,
  body.public-view .home-map-marker small {
    display: none;
  }

  body.public-view .home-map-results {
    grid-template-columns: 1fr;
    max-height: 280px;
    overflow: auto;
  }
}

/* Marketplace cards: lock horizontal rhythm across cards with different tag counts. */
body.public-view .market-opportunity-card {
  grid-template-rows: 128px minmax(0, 1fr) !important;
}

body.public-view .market-opportunity-body {
  grid-template-rows: 50px 42px 22px minmax(50px, 1fr) 34px 34px 86px !important;
  gap: 8px !important;
  align-content: stretch !important;
}

body.public-view .market-opportunity-body .market-location {
  align-self: start !important;
  margin: 0 !important;
  min-height: 22px !important;
}

body.public-view .market-opportunity-body .market-card-tags {
  align-self: start !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-content: flex-start !important;
  gap: 5px !important;
  min-height: 50px !important;
  max-height: 50px !important;
  overflow: hidden !important;
}

body.public-view .market-opportunity-body .market-card-tags button {
  min-height: 20px !important;
  height: 20px !important;
  padding: 0 7px !important;
  border: 1px solid rgba(30, 57, 91, .10) !important;
  border-radius: 999px !important;
  color: rgba(30, 57, 91, .62) !important;
  background: rgba(255, 255, 255, .48) !important;
  box-shadow: none !important;
  font-size: 9.5px !important;
  font-weight: 430 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  backdrop-filter: blur(5px) !important;
}

body.public-view .market-opportunity-body .market-card-tags button:hover,
body.public-view .market-opportunity-body .market-card-tags button:focus-visible,
body.public-view .market-opportunity-body .market-card-tags button.active {
  border-color: rgba(0, 143, 70, .20) !important;
  color: rgba(0, 108, 55, .92) !important;
  background: rgba(232, 247, 239, .72) !important;
  text-decoration: none !important;
  outline: none !important;
}

body.public-view .market-opportunity-body h3 {
  align-self: start !important;
  min-height: 44px !important;
  margin: 0 !important;
  display: flex !important;
  align-items: flex-start !important;
}

body.public-view .market-opportunity-body > p:not(.market-location) {
  align-self: start !important;
  margin: 0 !important;
}

body.public-view .market-opportunity-body .market-action-helper {
  grid-row: 5 !important;
  align-self: end !important;
  min-height: 34px !important;
  margin: 0 !important;
}

body.public-view .market-opportunity-card .card-button-row {
  grid-row: 7 !important;
  align-self: end !important;
  min-height: 86px !important;
  margin: 0 !important;
}

/* Marketplace opportunity outcome: make "Match RedPlus" and similar labels feel like light metadata, not heavy titles. */
body.public-view .market-opportunity-body .market-opportunity-meta {
  grid-row: 6 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 34px !important;
  padding: 5px 7px !important;
  border: 1px solid rgba(30, 57, 91, .08) !important;
  border-radius: 12px !important;
  background: rgba(247, 250, 248, .72) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.72) !important;
}

body.public-view .market-opportunity-body .market-opportunity-meta small {
  min-width: 0 !important;
  color: rgba(44, 61, 91, .58) !important;
  font-size: 9.5px !important;
  font-weight: 390 !important;
  line-height: 1.25 !important;
  letter-spacing: .005em !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.public-view .market-opportunity-body .market-opportunity-meta strong {
  justify-self: end !important;
  display: inline-flex !important;
  align-items: center !important;
  max-width: 96px !important;
  min-height: 21px !important;
  padding: 0 8px !important;
  border-radius: 999px !important;
  color: rgba(0, 108, 55, .90) !important;
  background: rgba(232, 247, 239, .76) !important;
  font-size: 10px !important;
  font-weight: 560 !important;
  line-height: 1 !important;
  text-align: right !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* Marketplace categories: keep labels readable and cards aligned across long titles. */
body.public-view .market-category-grid,
body.public-view .market-popular-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: 14px !important;
}

body.public-view .market-category-card {
  display: grid !important;
  grid-template-rows: 48px minmax(40px, auto) minmax(54px, 1fr) !important;
  align-content: start !important;
  justify-items: center !important;
  min-height: 204px !important;
  height: 100% !important;
  padding: 18px 14px !important;
  overflow: hidden !important;
  text-align: center !important;
}

body.public-view .market-category-card.compact {
  grid-template-rows: 42px minmax(38px, auto) !important;
  min-height: 112px !important;
  padding: 16px 14px !important;
}

body.public-view .market-category-card .metric-icon {
  margin: 0 !important;
  align-self: start !important;
}

body.public-view .market-category-card h3 {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 40px !important;
  margin: 0 !important;
  max-width: 100% !important;
  color: var(--navy) !important;
  font-size: clamp(12.5px, 1vw, 14px) !important;
  font-weight: 650 !important;
  line-height: 1.22 !important;
  overflow-wrap: anywhere !important;
  text-wrap: balance !important;
}

body.public-view .market-category-card.compact h3 {
  min-height: 38px !important;
  font-size: 13px !important;
}

body.public-view .market-category-card p {
  align-self: start !important;
  margin: 0 !important;
  max-width: 24ch !important;
  color: var(--navy-muted) !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
  overflow-wrap: anywhere !important;
}

@media (max-width: 820px) {
  body.public-view .market-category-grid,
  body.public-view .market-popular-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  body.public-view .market-category-grid,
  body.public-view .market-popular-grid {
    grid-template-columns: 1fr !important;
  }

  body.public-view .market-category-card,
  body.public-view .market-category-card.compact {
    grid-template-columns: 42px minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    justify-items: start !important;
    min-height: 0 !important;
    text-align: left !important;
  }

  body.public-view .market-category-card .metric-icon {
    grid-row: 1 / 3 !important;
  }

  body.public-view .market-category-card h3 {
    justify-content: flex-start !important;
    min-height: 0 !important;
  }

  body.public-view .market-category-card p {
    max-width: none !important;
  }
}

/* Final hotspot sizing: closed state is only the dot; opened state is compact and readable. */
body.public-view .public-image-hotspots a:not(:hover):not(:focus-visible):not(.is-open) {
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  min-height: 24px !important;
  padding: 0 !important;
  overflow: hidden !important;
  color: transparent !important;
}

body.public-view .public-image-hotspots a:not(:hover):not(:focus-visible):not(.is-open) b,
body.public-view .public-image-hotspots a:not(:hover):not(:focus-visible):not(.is-open) span,
body.public-view .public-image-hotspots a:not(:hover):not(:focus-visible):not(.is-open) em {
  display: none !important;
  max-width: 0 !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

body.public-view .public-image-hotspots a:hover,
body.public-view .public-image-hotspots a:focus-visible,
body.public-view .public-image-hotspots a.is-open {
  width: 186px !important;
  min-width: 152px !important;
  min-height: 42px !important;
  padding: 6px 9px 6px 9px !important;
}

body.public-view .public-image-hotspots a:hover b,
body.public-view .public-image-hotspots a:focus-visible b,
body.public-view .public-image-hotspots a.is-open b,
body.public-view .public-image-hotspots a:hover span,
body.public-view .public-image-hotspots a:focus-visible span,
body.public-view .public-image-hotspots a.is-open span,
body.public-view .public-image-hotspots a:hover em,
body.public-view .public-image-hotspots a:focus-visible em,
body.public-view .public-image-hotspots a.is-open em {
  max-width: 148px !important;
}

body.public-view .public-image-hotspots a:hover b,
body.public-view .public-image-hotspots a:focus-visible b,
body.public-view .public-image-hotspots a.is-open b {
  font-size: 9.4px !important;
  line-height: 1.08 !important;
}

body.public-view .public-image-hotspots a:hover span,
body.public-view .public-image-hotspots a:focus-visible span,
body.public-view .public-image-hotspots a.is-open span {
  font-size: 9px !important;
  line-height: 1.16 !important;
}

body.public-view .public-image-hotspots a:hover em,
body.public-view .public-image-hotspots a:focus-visible em,
body.public-view .public-image-hotspots a.is-open em {
  font-size: 8.2px !important;
}

body.public-view .stakeholder-media-tags a:hover,
body.public-view .stakeholder-media-tags a:focus-visible {
  color: var(--sportia-green-dark) !important;
  background: rgba(239, 247, 243, .78) !important;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

body.public-view .stakeholder-flow-visual {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  min-height: 48px;
  padding: 8px 10px;
  align-self: end;
  border: 1px solid rgba(0, 143, 70, .14);
  border-radius: 14px;
  background: linear-gradient(145deg, rgba(239,247,243,.86), rgba(255,255,255,.98));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.78);
}

body.public-view .stakeholder-flow-visual::after {
  content: "";
  position: absolute;
  right: -14px;
  top: 50%;
  width: 16px;
  height: 1px;
  background: linear-gradient(90deg, rgba(0,143,70,.22), transparent);
}

body.public-view .stakeholder-simulation-steps article:last-child .stakeholder-flow-visual::after {
  display: none;
}

body.public-view .stakeholder-flow-visual i {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
  border-radius: 10px;
  color: var(--sportia-green-dark);
  background: #fff;
  box-shadow: inset 0 0 0 1px rgba(0, 143, 70, .12);
}

body.public-view .stakeholder-flow-visual b {
  color: var(--navy);
  font-size: 9.8px;
  font-weight: 620;
  letter-spacing: .02em;
  line-height: 1.15;
  text-transform: uppercase;
}

body.public-view .stakeholder-simulation-section .section-heading button {
  cursor: pointer;
}

body.public-view .stakeholder-simulation-grid {
  display: grid;
  grid-template-columns: minmax(300px, .38fr) minmax(0, .62fr);
  gap: 12px;
}

body.public-view .stakeholder-simulation-brief,
body.public-view .stakeholder-simulation-steps article {
  min-width: 0;
  border: 1px solid rgba(40,104,216,.14);
  border-radius: 18px;
  background: linear-gradient(145deg, #fff, #f5f8fd);
  box-shadow: 0 12px 34px rgba(7,20,71,.045);
}

body.public-view .stakeholder-simulation-brief {
  display: grid;
  align-content: start;
  gap: 9px;
  padding: 17px;
}

body.public-view .stakeholder-simulation-brief small {
  color: #204b9b;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .05em;
}

body.public-view .stakeholder-simulation-brief h3 {
  margin: 0;
  color: var(--navy);
  font-size: 18px;
  line-height: 1.16;
}

body.public-view .stakeholder-simulation-brief p {
  margin: 0;
  color: var(--navy-muted);
  font-size: 12.5px;
  line-height: 1.42;
}

body.public-view .stakeholder-simulation-brief ul {
  display: grid;
  gap: 8px;
  margin: 4px 0 0;
  padding: 0;
  list-style: none;
}

body.public-view .stakeholder-simulation-brief li {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  min-height: 38px;
  align-items: center;
  padding: 8px 10px;
  border-radius: 12px;
  background: rgba(40,104,216,.07);
}

body.public-view .stakeholder-simulation-brief li span {
  color: var(--navy-muted);
  font-size: 12px;
}

body.public-view .stakeholder-simulation-brief li strong {
  color: #204b9b;
  font-size: 13px;
  text-align: right;
}

body.public-view .stakeholder-simulation-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
}

body.public-view .stakeholder-simulation-steps article {
  display: grid;
  grid-template-rows: auto minmax(86px, 1fr) auto;
  gap: 9px;
  min-height: 180px;
  padding: 13px;
}

body.public-view .stakeholder-simulation-steps article > div:not(.stakeholder-flow-visual) {
  display: grid;
  align-content: start;
  gap: 7px;
}

body.public-view .stakeholder-simulation-steps article > b {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 24px;
  border-radius: 999px;
  background: rgba(0,143,70,.08);
  color: var(--sportia-green-dark);
  font-size: 11px;
  letter-spacing: .08em;
}

body.public-view .stakeholder-simulation-steps strong {
  color: var(--navy);
  font-size: 14.5px;
  line-height: 1.16;
}

body.public-view .stakeholder-simulation-steps small {
  color: var(--navy-muted);
  font-size: 11.8px;
  line-height: 1.38;
}

body.public-view .profile-type-actions {
  display: flex;
  flex-flow: row wrap;
  gap: 9px;
  align-items: center;
}

body.public-view .profile-type-actions > * {
  width: auto;
}

/* Repeatable CTA system for every stakeholder public/profile card.
   All stakeholder actions must reuse public-primary/public-secondary sizing,
   stay horizontal on desktop, and stack only on narrow screens. */
body.public-view :where(
  .stakeholder-public-intro .public-club-actions,
  .stakeholder-public-section .section-heading.row,
  .stakeholder-simulation-section .section-heading.row,
  .profile-type-actions
) {
  align-items: center !important;
  gap: 10px !important;
}

body.public-view :where(
  .stakeholder-public-intro .public-club-actions,
  .profile-type-actions
) {
  display: flex !important;
  flex-flow: row wrap !important;
}

body.public-view :where(
  .stakeholder-public-intro .public-club-actions > *,
  .stakeholder-public-section .section-heading.row > a,
  .stakeholder-public-section .section-heading.row > button,
  .stakeholder-simulation-section .section-heading.row > a,
  .stakeholder-simulation-section .section-heading.row > button,
  .profile-type-actions > *
) {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: auto !important;
  min-width: max-content !important;
  min-height: var(--cta-height, 44px) !important;
  height: var(--cta-height, 44px) !important;
  padding: 0 var(--cta-inline, 20px) !important;
  border-radius: var(--cta-radius, 8px) !important;
  font-size: var(--cta-font, 13px) !important;
  font-weight: var(--cta-weight, 700) !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

body.public-view :where(
  .stakeholder-public-intro .public-club-actions > .public-primary,
  .stakeholder-public-section .section-heading.row > .public-primary,
  .stakeholder-simulation-section .section-heading.row > .public-primary,
  .profile-type-actions > .public-primary
) {
  border: 1px solid var(--sportia-green) !important;
  color: #fff !important;
  background: linear-gradient(135deg, #008F46 0%, #079E54 100%) !important;
  box-shadow: 0 10px 22px rgba(0, 143, 70, .16) !important;
}

body.public-view :where(
  .stakeholder-public-intro .public-club-actions > .public-secondary,
  .stakeholder-public-section .section-heading.row > .public-secondary,
  .stakeholder-simulation-section .section-heading.row > .public-secondary,
  .profile-type-actions > .public-secondary
) {
  border: 1px solid rgba(0, 143, 70, .46) !important;
  color: var(--navy) !important;
  background: rgba(255,255,255,.96) !important;
  box-shadow: none !important;
}

@media (max-width: 1060px) {
  body.public-view .stakeholder-public-hero,
  body.public-view .stakeholder-profile-grid,
  body.public-view .stakeholder-dashboard-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  body.public-view .stakeholder-connection-grid,
  body.public-view .stakeholder-related-clubs,
  body.public-view .stakeholder-description-grid,
  body.public-view .stakeholder-module-grid,
  body.public-view .stakeholder-reference-grid,
  body.public-view .stakeholder-media-grid,
  body.public-view .stakeholder-simulation-grid,
  body.public-view .stakeholder-simulation-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  body.public-view .stakeholder-public-hero,
  body.public-view .stakeholder-kpi-strip,
  body.public-view .stakeholder-dashboard-section,
  body.public-view .stakeholder-public-section {
    width: min(100% - 28px, 1320px);
  }

  body.public-view .stakeholder-kpi-strip,
  body.public-view .stakeholder-connection-grid,
  body.public-view .stakeholder-related-clubs,
  body.public-view .stakeholder-description-grid,
  body.public-view .stakeholder-module-grid,
  body.public-view .stakeholder-reference-grid,
  body.public-view .stakeholder-media-grid,
  body.public-view .stakeholder-simulation-grid,
  body.public-view .stakeholder-simulation-steps,
  body.public-view .stakeholder-details-card ul {
    grid-template-columns: minmax(0, 1fr);
  }

  body.public-view .stakeholder-media-cover,
  body.public-view .stakeholder-media-cover img {
    min-height: 190px;
  }

  body.public-view .stakeholder-flow-visual::after {
    display: none;
  }

  body.public-view .stakeholder-related-clubs a {
    grid-template-columns: 86px minmax(0, 1fr);
  }

  body.public-view :where(
    .stakeholder-public-intro .public-club-actions > *,
    .stakeholder-public-section .section-heading.row > a,
    .stakeholder-public-section .section-heading.row > button,
    .stakeholder-simulation-section .section-heading.row > a,
    .stakeholder-simulation-section .section-heading.row > button,
    .profile-type-actions > *
  ) {
    width: 100% !important;
    min-width: 0 !important;
    white-space: normal !important;
    text-align: center !important;
  }
}

/* Public club systematic alignment: TC Lido Lugano, TC Bellinzona and every
   future approved club must keep the same public-card rhythm and title spacing. */
body.public-view .public-club-section {
  margin-top: clamp(30px, 4vw, 48px) !important;
}

body.public-view .public-club-kpis + .public-club-section {
  margin-top: clamp(26px, 3vw, 38px) !important;
}

body.public-view :where(
  .public-club-summary-section,
  .public-score-section,
  .public-media-section,
  .public-review-section,
  .public-club-opportunities-section
) {
  padding-top: 0 !important;
}

body.public-view .public-club-section .section-heading {
  margin: 0 0 18px !important;
}

body.public-view .public-club-section .section-heading.row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 16px !important;
  align-items: end !important;
}

body.public-view .public-club-section .section-heading small {
  display: block !important;
  margin: 0 0 6px !important;
  line-height: 1.15 !important;
}

body.public-view .public-club-section .section-heading h2 {
  margin: 0 0 8px !important;
  line-height: 1.08 !important;
}

body.public-view .public-club-section .section-heading p {
  max-width: 780px !important;
  margin: 0 !important;
  line-height: 1.48 !important;
}

body.public-view :where(
  .public-club-card,
  .public-signal-card,
  .public-score-main,
  .public-score-card,
  .public-review-summary,
  .public-review-card,
  .public-review-cta,
  .public-club-opportunity-grid article
) {
  align-content: start !important;
}

body.public-view :where(
  .public-club-card h3,
  .public-score-main .public-score-title,
  .public-score-card > h3,
  .public-review-cta h3,
  .public-club-opportunity-grid h3
) {
  min-height: 24px !important;
  margin-top: 0 !important;
  margin-bottom: 10px !important;
  line-height: 1.18 !important;
}

body.public-view .public-signal-card {
  grid-template-rows: auto auto minmax(0, 1fr) !important;
  min-height: 150px !important;
}

body.public-view .public-signal-card small {
  min-height: 14px !important;
  line-height: 1.15 !important;
}

body.public-view .public-club-overview {
  grid-template-columns: minmax(0, 1fr) minmax(300px, 340px) !important;
  gap: 16px !important;
}

body.public-view .public-position-card,
body.public-view .public-distance-card {
  height: 100% !important;
}

body.public-view .public-position-card ul,
body.public-view .public-distance-card ul {
  align-content: start !important;
}

body.public-view .public-club-card li {
  min-height: 42px !important;
}

body.public-view .public-facilities-card ul {
  align-items: stretch !important;
}

body.public-view .public-facilities-card li {
  min-height: 82px !important;
}

body.public-view .public-club-opportunity-grid article {
  grid-template-rows: auto auto auto minmax(0, 1fr) !important;
}

body.public-view .public-club-opportunity-grid article > span {
  margin-bottom: 2px !important;
}

/* Landing opportunity rail: keep the action buttons on the same horizontal
   baseline across cards, even when club descriptions have different lengths. */
body.public-view .club-opportunity-rail article,
body .public-page .club-opportunity-rail article {
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
}

body.public-view .club-opportunity-rail article > div,
body .public-page .club-opportunity-rail article > div {
  display: grid !important;
  grid-template-rows: auto auto minmax(54px, 1fr) auto !important;
  height: 100% !important;
}

body.public-view .club-opportunity-rail article p,
body .public-page .club-opportunity-rail article p {
  min-height: 54px !important;
}

body.public-view .club-opportunity-rail button,
body .public-page .club-opportunity-rail button {
  align-self: end !important;
  justify-self: start !important;
  width: max-content !important;
  max-width: 100% !important;
  white-space: nowrap !important;
}

/* Landing demo path: a clear commercial walkthrough from database to network. */
body.public-view .public-demo-path-section,
body .public-page .public-demo-path-section {
  padding-top: 32px !important;
  padding-bottom: 32px !important;
}

body.public-view .public-demo-path,
body .public-page .public-demo-path {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

body.public-view .public-demo-path a,
body .public-page .public-demo-path a {
  position: relative !important;
  display: grid !important;
  grid-template-rows: auto auto auto minmax(76px, 1fr) !important;
  gap: 9px !important;
  min-width: 0 !important;
  min-height: 218px !important;
  padding: 18px !important;
  border: 1px solid rgba(221, 230, 240, .95) !important;
  border-radius: 18px !important;
  color: inherit !important;
  text-decoration: none !important;
  background: linear-gradient(145deg, #fff, #f7fbf8) !important;
  box-shadow: 0 12px 30px rgba(7, 20, 71, .05) !important;
  overflow: hidden !important;
}

body.public-view .public-demo-path a::after,
body .public-page .public-demo-path a::after {
  position: absolute !important;
  right: -28px !important;
  bottom: -32px !important;
  width: 98px !important;
  height: 98px !important;
  border-radius: 999px !important;
  background: rgba(0, 143, 70, .06) !important;
  content: "" !important;
}

body.public-view .public-demo-path b,
body .public-page .public-demo-path b {
  color: #204b9b !important;
  font-size: 12px !important;
  letter-spacing: .08em !important;
}

body.public-view .public-demo-path span,
body .public-page .public-demo-path span {
  display: grid !important;
  place-items: center !important;
  width: 42px !important;
  height: 42px !important;
  border-radius: 14px !important;
  color: var(--sportia-green-dark) !important;
  background: rgba(0, 143, 70, .1) !important;
}

body.public-view .public-demo-path strong,
body .public-page .public-demo-path strong {
  color: var(--navy) !important;
  font-size: 17px !important;
  line-height: 1.18 !important;
}

body.public-view .public-demo-path small,
body .public-page .public-demo-path small {
  color: var(--navy-muted) !important;
  font-size: 12.5px !important;
  line-height: 1.42 !important;
}

@media (max-width: 1040px) {
  body.public-view .public-club-section .section-heading.row {
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: start !important;
  }

  body.public-view .public-dashboard-cta {
    width: max-content !important;
    max-width: 100% !important;
  }

  body.public-view .public-club-overview {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.public-view .public-demo-path,
  body .public-page .public-demo-path {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  body.public-view .public-club-section {
    margin-top: 28px !important;
  }

  body.public-view .public-club-section .section-heading {
    margin-bottom: 14px !important;
  }

  body.public-view .public-dashboard-cta {
    width: 100% !important;
  }

  body.public-view .public-facilities-card li {
    min-height: 0 !important;
  }

  body.public-view .public-demo-path,
  body .public-page .public-demo-path {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.public-view .public-demo-path a,
  body .public-page .public-demo-path a {
    min-height: 0 !important;
    grid-template-rows: auto auto auto auto !important;
  }
}

/* Unified profile data model: visible quality, output and priority status. */
body .main-content[data-page="dashboard"] .profile-data-overview {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  margin: 14px 0;
}

/* Public Database: reusable data architecture cards. */
body.public-view .data-model-section .data-model-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}

body.public-view .data-model-section .data-model-grid article {
  min-width: 0;
  min-height: 214px;
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  gap: 8px;
  border: 1px solid rgba(221, 230, 240, .92);
  border-radius: 12px;
  padding: 16px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 12px 32px rgba(7, 20, 71, .045);
}

body.public-view .data-model-section .data-model-grid b {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--sportia-green-dark);
  background: rgba(234, 247, 239, .9);
  font-size: 11px;
  font-weight: 760;
}

body.public-view .data-model-section .data-model-grid h3 {
  margin: 0;
  color: var(--navy);
  font-size: 15px;
  line-height: 1.2;
}

body.public-view .data-model-section .data-model-grid p {
  margin: 0;
  color: #46567f;
  font-size: 12.5px;
  line-height: 1.45;
}

body.public-view .data-model-section .data-model-grid ul {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin: 0;
  padding: 0;
  list-style: none;
  align-self: end;
}

body.public-view .data-model-section .data-model-grid li {
  border-radius: 999px;
  padding: 4px 7px;
  color: #176645;
  background: rgba(234, 247, 239, .78);
  font-size: 10.5px;
  font-weight: 620;
  line-height: 1;
}

@media (max-width: 1180px) {
  body.public-view .data-model-section .data-model-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  body.public-view .data-model-section .data-model-grid {
    grid-template-columns: 1fr;
  }

  body.public-view .data-model-section .data-model-grid article {
    min-height: 0;
  }
}

body .main-content[data-page="dashboard"] .profile-data-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(148px, 1fr));
  gap: 10px;
}

body .main-content[data-page="dashboard"] .profile-data-card,
body .main-content[data-page="dashboard"] .profile-data-panel,
body .main-content[data-page="dashboard"] .profile-priority-panel {
  min-width: 0;
  border: 1px solid rgba(185, 199, 216, .62);
  border-radius: 10px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 10px 26px rgba(7, 20, 71, .045);
}

body .main-content[data-page="dashboard"] .profile-data-card {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  padding: 12px;
  overflow: hidden;
}

body .main-content[data-page="dashboard"] .profile-data-card > span {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: var(--sportia-green);
  background: rgba(234, 247, 239, .82);
}

body .main-content[data-page="dashboard"] .profile-data-card small,
body .main-content[data-page="dashboard"] .profile-priority-panel small {
  display: block;
  color: #637093;
  font-size: 11px;
  font-weight: 560;
  line-height: 1.25;
}

body .main-content[data-page="dashboard"] .profile-data-card strong {
  display: block;
  margin-top: 2px;
  color: var(--navy);
  font-size: clamp(18px, 1.4vw, 23px);
  font-weight: 650;
  line-height: 1.05;
  min-width: 0;
  overflow-wrap: anywhere;
}

body .main-content[data-page="dashboard"] .profile-data-card p,
body .main-content[data-page="dashboard"] .profile-data-panel p,
body .main-content[data-page="dashboard"] .profile-priority-panel p {
  margin: 4px 0 0;
  color: #40517c;
  font-size: 11.5px;
  line-height: 1.35;
}

body .main-content[data-page="dashboard"] .profile-data-panel {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 10px;
  padding: 14px;
}

body .main-content[data-page="dashboard"] .profile-data-panel h2,
body .main-content[data-page="dashboard"] .profile-priority-panel h2 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  color: var(--navy);
  font-size: 15px;
  font-weight: 700;
}

body .main-content[data-page="dashboard"] .profile-data-panel ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

body .main-content[data-page="dashboard"] .profile-data-panel li {
  min-width: 0;
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr) auto;
  gap: 6px;
  align-items: center;
  border-radius: 8px;
  padding: 8px;
  color: #2b356b;
  background: #f8fafc;
  font-size: 11.5px;
}

body .main-content[data-page="dashboard"] .profile-data-panel li.enabled svg {
  color: var(--sportia-green);
}

body .main-content[data-page="dashboard"] .profile-data-panel li span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body .main-content[data-page="dashboard"] .profile-data-panel li small {
  color: #6f7a9d;
  white-space: nowrap;
}

body .main-content[data-page="dashboard"] .profile-priority-panel {
  grid-column: 1 / -1;
  padding: 14px;
}

body .main-content[data-page="dashboard"] .profile-priority-panel > div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}

body .main-content[data-page="dashboard"] .profile-priority-panel article {
  min-width: 0;
  border: 1px solid rgba(221, 230, 240, .9);
  border-radius: 9px;
  padding: 11px;
  background: linear-gradient(135deg, rgba(234, 247, 239, .48), rgba(255, 255, 255, .92));
}

body .main-content[data-page="dashboard"] .profile-priority-panel strong {
  display: block;
  margin-top: 3px;
  color: var(--navy);
  font-size: 13px;
  line-height: 1.25;
}

body .main-content[data-page="dashboard"] .mini-action {
  min-height: 32px;
  margin-top: 10px;
  border: 1px solid rgba(0, 143, 70, .34);
  border-radius: 8px;
  padding: 0 10px;
  color: var(--sportia-green-dark);
  background: rgba(255, 255, 255, .78);
  font-size: 11.5px;
  font-weight: 650;
  cursor: pointer;
}

body .main-content[data-page="dashboard"] .ai-trace-card {
  display: grid;
  gap: 12px;
}

body .main-content[data-page="dashboard"] .ai-trace-card > div {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  border-radius: 9px;
  padding: 10px;
  background: rgba(234, 247, 239, .68);
}

body .main-content[data-page="dashboard"] .ai-trace-card strong {
  color: var(--sportia-green);
  font-size: 26px;
  line-height: 1;
}

body .main-content[data-page="dashboard"] .ai-trace-card span {
  color: var(--navy);
  font-size: 12px;
  font-weight: 650;
}

body .main-content[data-page="dashboard"] .ai-trace-card p {
  margin: 0;
  color: #40517c;
  font-size: 12.5px;
  line-height: 1.45;
}

body .main-content[data-page="dashboard"] .ai-trace-card ul {
  display: grid;
  gap: 7px;
  margin: 0;
  padding: 0;
  list-style: none;
}

body .main-content[data-page="dashboard"] .ai-trace-card li {
  display: flex;
  align-items: center;
  gap: 7px;
  color: #2b356b;
  font-size: 12px;
}

body .main-content[data-page="dashboard"] .ai-trace-card li svg {
  color: var(--sportia-green);
  flex: 0 0 auto;
}

@media (max-width: 1180px) {
  body .main-content[data-page="dashboard"] .profile-data-overview {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  body .main-content[data-page="dashboard"] .profile-data-grid,
  body .main-content[data-page="dashboard"] .profile-priority-panel > div {
    grid-template-columns: 1fr;
  }

  body .main-content[data-page="dashboard"] .profile-data-card {
    grid-template-columns: 36px minmax(0, 1fr);
    padding: 11px;
  }

  body .main-content[data-page="dashboard"] .profile-data-card > span {
    width: 36px;
    height: 36px;
  }

  body .main-content[data-page="dashboard"] .profile-data-panel ul {
    grid-template-columns: 1fr;
  }
}

/* Absolute final guard for dashboard data cards on tablet/mobile. */
@media (max-width: 860px) {
  body .main-content[data-page="dashboard"] .profile-data-overview {
    grid-template-columns: 1fr !important;
  }

  body .main-content[data-page="dashboard"] .profile-data-grid {
    grid-template-columns: 1fr !important;
  }

  body .main-content[data-page="dashboard"] .profile-data-card {
    grid-template-columns: 40px minmax(0, 1fr) !important;
    width: 100%;
  }
}

/* True last registration override: demo preview above, green CTA aligned across cards. */
body.public-view .profile-type-card {
  grid-template-rows: 48px minmax(170px, 1fr) 34px auto !important;
}

body.public-view .profile-type-title {
  gap: 7px !important;
  margin-bottom: 11px !important;
}

body.public-view .profile-type-title h3,
body.public-view .profile-type-card h3 {
  margin-bottom: 0 !important;
  font-size: clamp(15px, 1.18vw, 16.5px) !important;
  font-weight: 620 !important;
  line-height: 1.2 !important;
  letter-spacing: -.012em !important;
}

body.public-view .profile-type-title > span {
  padding: 3px 6px !important;
  font-size: 8px !important;
  font-weight: 650 !important;
  letter-spacing: .035em !important;
}

body.public-view .profile-type-card p {
  max-width: 96% !important;
  font-size: 12px !important;
  line-height: 1.48 !important;
}

body.public-view .profile-type-card small {
  margin-top: 10px !important;
  font-size: 10.25px !important;
  font-weight: 460 !important;
  line-height: 1.42 !important;
}

body.public-view .profile-type-demo-preview {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 34px !important;
}

body.public-view .profile-type-demo-preview > .profile-type-preview-link {
  width: auto !important;
  min-width: 0 !important;
  min-height: 30px !important;
  height: 30px !important;
  padding: 0 12px !important;
  border-color: #d8e0ea !important;
  background: #f4f7fb !important;
  color: #6b7488 !important;
  font-size: 11px !important;
  font-weight: 750 !important;
  box-shadow: none !important;
}

body.public-view .profile-type-preview-spacer {
  display: block !important;
  width: 1px !important;
  height: 30px !important;
  visibility: hidden !important;
}

body.public-view .profile-type-actions {
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: stretch !important;
  gap: 0 !important;
  margin-top: auto !important;
}

body.public-view .profile-type-actions > .public-primary {
  width: 100% !important;
  min-width: 0 !important;
}

/* Stakeholder private dashboard: same internal logic as club database, adapted to profile showrooms. */
body .main-content[data-page="stakeholder-dashboard"] .admin-tool-hero {
  align-items: flex-start;
  margin-bottom: 18px;
  padding: 0 0 8px;
  border-bottom: 1px solid rgba(221, 230, 240, .76);
  background: transparent;
}

body .main-content[data-page="stakeholder-dashboard"] .admin-tool-hero span {
  color: #4d6476;
}

body .main-content[data-page="stakeholder-dashboard"] .admin-tool-hero h1 {
  color: var(--navy);
}

body .main-content[data-page="stakeholder-dashboard"] .admin-tool-hero p {
  color: var(--navy-muted);
}

body:has(.main-content[data-page="stakeholder-dashboard"]) .top-nav .admin-bridge-link {
  border-color: rgba(221, 230, 240, .95) !important;
  background: #fff !important;
  color: #526579 !important;
  box-shadow: none !important;
}

body:has(.main-content[data-page="stakeholder-dashboard"]) .top-nav .admin-bridge-link svg {
  color: #6b7b8c !important;
}

body:has(.main-content[data-page="stakeholder-dashboard"]) .top-nav .admin-bridge-link.active {
  border-color: rgba(0, 143, 70, .32) !important;
  background: rgba(239, 247, 243, .74) !important;
  color: var(--sportia-green-dark) !important;
}

body:has(.main-content[data-page="stakeholder-dashboard"]) .top-nav .admin-bridge-link.active svg,
body:has(.main-content[data-page="stakeholder-dashboard"]) .top-nav .admin-bridge-link.active span {
  color: var(--sportia-green-dark) !important;
}

body .main-content[data-page="stakeholder-dashboard"] .admin-tool-card {
  overflow: hidden;
}

body .main-content[data-page="stakeholder-dashboard"] .admin-tool-card > h2,
body .main-content[data-page="stakeholder-dashboard"] .admin-tool-rail-card > h2 {
  margin-bottom: 14px;
  color: var(--navy);
  font-size: 17px;
  font-weight: 620;
  line-height: 1.2;
  letter-spacing: -.015em;
}

body .main-content[data-page="stakeholder-dashboard"] .content-grid {
  gap: 16px;
}

body .main-content[data-page="stakeholder-dashboard"] .page-primary {
  display: grid;
  gap: 16px;
}

body .stakeholder-private-context {
  position: relative;
  padding-right: min(22vw, 220px);
}

body .stakeholder-private-context::after {
  content: "";
  position: absolute;
  top: 22px;
  right: 22px;
  width: 128px;
  height: 128px;
  border-radius: 32px;
  background:
    linear-gradient(135deg, rgba(151, 216, 39, .2), rgba(22, 167, 199, .12)),
    url("/public/assets/sportia-mark.png?v=1") center / 62% no-repeat;
  border: 1px solid rgba(0, 143, 70, .12);
}

body .stakeholder-private-context .card-button-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-top: 4px;
}

body .stakeholder-private-context .outline-action {
  min-height: 38px;
  padding: 0 14px;
}

body .stakeholder-private-grid {
  align-items: stretch;
}

body .admin-profile-private-list,
body .stakeholder-quality-list,
body .stakeholder-edit-list,
body .stakeholder-module-list,
body .stakeholder-network-list {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

body .admin-profile-private-list li,
body .stakeholder-quality-list li,
body .stakeholder-edit-row,
body .stakeholder-module-row,
body .stakeholder-network-row {
  display: grid;
  grid-template-columns: minmax(110px, .8fr) minmax(0, 1.35fr) auto;
  gap: 12px;
  align-items: center;
  min-width: 0;
  padding: 12px 13px;
  border: 1px solid rgba(221, 230, 240, .9);
  border-radius: 14px;
  background: linear-gradient(180deg, #fff, rgba(248, 251, 249, .78));
}

body .admin-profile-private-list li,
body .stakeholder-quality-list li {
  min-height: 58px;
}

body .admin-profile-private-list li span,
body .stakeholder-quality-list li span,
body .stakeholder-edit-row > span {
  color: #6b7b8c;
  font-size: 11px;
  font-weight: 610;
  letter-spacing: .02em;
  text-transform: uppercase;
}

body .admin-profile-private-list li strong,
body .stakeholder-quality-list li strong,
body .stakeholder-edit-row strong,
body .stakeholder-module-row strong,
body .stakeholder-network-row strong {
  min-width: 0;
  color: var(--navy);
  font-size: 13.5px;
  font-weight: 590;
  line-height: 1.32;
  overflow-wrap: anywhere;
}

body .stakeholder-quality-list li {
  grid-template-columns: minmax(118px, .75fr) minmax(0, 1fr);
}

body .stakeholder-quality-list li small {
  grid-column: 2;
  color: var(--navy-muted);
  font-size: 12px;
  line-height: 1.35;
}

body .stakeholder-edit-row,
body .stakeholder-module-row {
  grid-template-columns: 42px minmax(0, 1fr) auto;
  min-height: 64px;
}

body .stakeholder-edit-row > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 12px;
  background: rgba(7, 21, 34, .06);
  color: #496074;
}

body .stakeholder-edit-row div,
body .stakeholder-module-row div {
  min-width: 0;
  display: grid;
  gap: 3px;
}

body .stakeholder-edit-row small,
body .stakeholder-module-row small,
body .stakeholder-network-row small {
  color: var(--navy-muted);
  font-size: 12.5px;
  line-height: 1.46;
  overflow-wrap: anywhere;
}

body .stakeholder-edit-row a,
body .stakeholder-module-row a,
body .stakeholder-connection-panel a,
body .stakeholder-network-row span,
body .admin-saved-row a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  border: 1px solid rgba(0, 143, 70, .24);
  border-radius: 999px;
  padding: 0 11px;
  color: var(--sportia-green-dark);
  background: rgba(239, 247, 243, .72);
  font-size: 11px;
  font-weight: 620;
  text-decoration: none;
  white-space: nowrap;
}

body .stakeholder-edit-row a,
body .stakeholder-module-row a {
  min-width: 92px;
}

body .stakeholder-module-row {
  grid-template-columns: 40px minmax(0, 1fr) auto;
}

body .stakeholder-network-row {
  grid-template-columns: minmax(150px, .9fr) minmax(0, 1.25fr) minmax(128px, .7fr);
  align-items: stretch;
  gap: 10px;
}

body .stakeholder-network-row > div {
  display: grid;
  align-content: start;
  gap: 5px;
  min-width: 0;
  padding: 10px 11px;
  border-radius: 12px;
  background: rgba(248, 251, 249, .72);
}

body .stakeholder-network-row > div > small {
  margin: 0;
  color: #6f7f8e;
  font-size: 10px;
  font-weight: 560;
  letter-spacing: .035em;
  line-height: 1.15;
  text-transform: uppercase;
}

body .stakeholder-network-row > div > strong,
body .stakeholder-network-row > div > span {
  margin: 0;
  min-width: 0;
  overflow-wrap: anywhere;
}

body .stakeholder-network-row > div > strong {
  color: var(--navy);
  font-size: 13px;
  font-weight: 590;
  line-height: 1.26;
}

body .stakeholder-network-row > div > span {
  display: block;
  min-height: auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--navy-muted);
  font-size: 12px;
  font-weight: 450;
  line-height: 1.42;
  text-align: left;
  white-space: normal;
}

body .stakeholder-network-output {
  border: 1px solid rgba(0, 143, 70, .16);
  background: rgba(239, 247, 243, .86) !important;
}

body .stakeholder-card-note {
  margin: 12px 0 0;
  padding: 11px 13px;
  border-radius: 14px;
  background: rgba(7, 21, 34, .04);
  color: var(--navy-muted);
  font-size: 13px;
  line-height: 1.45;
}

body .stakeholder-private-media-card {
  overflow: hidden;
}

body .stakeholder-private-media-head {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
}

body .stakeholder-private-media-head p {
  max-width: 780px;
  margin: 0;
  color: var(--navy-muted);
  font-size: 13px;
  line-height: 1.45;
}

body .stakeholder-media-publish-cta {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  column-gap: 9px;
  row-gap: 1px;
  align-items: center;
  flex: 0 0 auto;
  min-width: 196px;
  padding: 10px 12px;
  border: 1px solid rgba(0,143,70,.2);
  border-radius: 15px;
  background: linear-gradient(145deg, rgba(239,247,243,.95), #fff);
  color: var(--navy);
  text-decoration: none;
  box-shadow: 0 10px 24px rgba(7,20,71,.045);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

body .stakeholder-media-publish-cta:hover {
  transform: translateY(-1px);
  border-color: rgba(0,143,70,.36);
  box-shadow: 0 14px 30px rgba(7,20,71,.07);
}

body .stakeholder-media-publish-cta span {
  grid-row: 1 / span 2;
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 11px;
  background: var(--sportia-green);
  color: #fff;
}

body .stakeholder-media-publish-cta strong {
  margin: 0;
  color: var(--navy);
  font-size: 12.5px;
  font-weight: 620;
  line-height: 1.1;
}

body .stakeholder-media-publish-cta small {
  margin: 0;
  color: var(--navy-muted);
  font-size: 10.5px;
  font-weight: 450;
  line-height: 1.2;
}

body .stakeholder-private-media-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

body .stakeholder-private-media-row {
  display: grid;
  grid-template-rows: auto minmax(112px, 1fr) auto;
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(221, 230, 240, .92);
  border-radius: 16px;
  background: linear-gradient(180deg, #fff, rgba(248, 251, 249, .74));
}

body .stakeholder-private-media-thumb {
  position: relative;
  display: block;
  min-height: 144px;
  color: #fff;
  background: #dfe7f0;
  text-decoration: none;
}

body .stakeholder-private-media-thumb::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(7,20,71,.01), rgba(7,20,71,.58));
}

body .stakeholder-private-media-thumb img {
  width: 100%;
  height: 144px;
  display: block;
  object-fit: cover;
}

body .stakeholder-private-media-thumb small {
  position: absolute;
  left: 11px;
  bottom: 11px;
  z-index: 1;
  padding: 5px 8px;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 999px;
  background: rgba(7,20,71,.52);
  color: #fff;
  font-size: 9.5px;
  font-weight: 620;
  letter-spacing: .04em;
  text-transform: uppercase;
}

body .stakeholder-private-media-thumb b {
  position: absolute;
  right: 11px;
  bottom: 11px;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  background: rgba(151,216,39,.9);
  color: var(--navy);
}

body .stakeholder-private-media-row > div {
  display: grid;
  align-content: start;
  gap: 7px;
  padding: 13px;
}

body .stakeholder-private-media-row strong {
  color: var(--navy);
  font-size: 13.5px;
  font-weight: 590;
  line-height: 1.22;
}

body .stakeholder-private-media-row small {
  color: var(--navy-muted);
  font-size: 12px;
  line-height: 1.4;
}

body .stakeholder-private-media-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

body .stakeholder-private-media-tags span {
  padding: 4px 7px;
  border: 1px solid rgba(0,143,70,.14);
  border-radius: 999px;
  background: rgba(239,247,243,.72);
  color: var(--sportia-green-dark);
  font-size: 10px;
  font-weight: 540;
}

body .stakeholder-private-media-row > a:last-child {
  justify-self: start;
  margin: 0 13px 13px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 31px;
  padding: 0 11px;
  border: 1px solid rgba(0,143,70,.24);
  border-radius: 999px;
  background: rgba(239,247,243,.82);
  color: var(--sportia-green-dark);
  font-size: 11px;
  font-weight: 620;
  text-decoration: none;
}

body .main-content[data-page="stakeholder-dashboard"] .stakeholder-flow-visual {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 6px;
  min-height: 42px;
  padding: 7px 8px;
  border: 1px solid rgba(0, 143, 70, .12);
  border-radius: 12px;
  background: linear-gradient(145deg, rgba(239,247,243,.76), #fff);
}

body .main-content[data-page="stakeholder-dashboard"] .stakeholder-flow-visual i {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  border-radius: 9px;
  color: var(--sportia-green-dark);
  background: #fff;
}

body .main-content[data-page="stakeholder-dashboard"] .stakeholder-flow-visual b {
  color: var(--navy);
  font-size: 8.6px;
  font-weight: 620;
  letter-spacing: .025em;
  line-height: 1.12;
  text-transform: uppercase;
}

body .stakeholder-connection-panel {
  align-items: start;
  min-height: 120px;
}

body .stakeholder-connection-panel div {
  gap: 6px;
}

body .stakeholder-connection-panel a {
  justify-self: start;
  margin-top: 2px;
}

body .stakeholder-simulation-row {
  grid-template-columns: 34px minmax(0, 1fr) minmax(96px, .34fr);
  align-items: stretch;
  min-height: 88px;
}

body .stakeholder-simulation-row .metric-icon {
  align-self: center;
  font-size: 11px;
  font-weight: 650;
}

body .stakeholder-next-steps {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

body .stakeholder-next-steps li {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  padding: 11px;
  border: 1px solid rgba(221, 230, 240, .9);
  border-radius: 13px;
  background: #fff;
}

body .stakeholder-next-steps li span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 10px;
  background: rgba(0, 143, 70, .08);
  color: var(--sportia-green-dark);
  font-size: 11px;
  font-weight: 650;
}

body .stakeholder-next-steps li strong,
body .stakeholder-next-steps li small {
  min-width: 0;
  grid-column: 2;
}

body .stakeholder-next-steps li strong {
  color: var(--navy);
  font-size: 13px;
  font-weight: 590;
  line-height: 1.25;
}

body .stakeholder-next-steps li small {
  margin-top: -6px;
  color: var(--navy-muted);
  font-size: 12px;
  line-height: 1.4;
}

body .main-content[data-page="stakeholder-dashboard"] .right-rail {
  gap: 14px;
}

body .main-content[data-page="stakeholder-dashboard"] .admin-saved-row {
  align-items: start;
}

body .main-content[data-page="stakeholder-dashboard"] .admin-mini-panel strong,
body .main-content[data-page="stakeholder-dashboard"] .admin-saved-row strong {
  font-weight: 590;
  letter-spacing: -.005em;
}

body .main-content[data-page="stakeholder-dashboard"] .metric-icon {
  font-weight: 600;
}

body .main-content[data-page="stakeholder-dashboard"] .admin-tool-kpis .kpi-card > div:last-of-type {
  grid-template-rows: 24px minmax(32px, auto) 24px !important;
}

body .main-content[data-page="stakeholder-dashboard"] .admin-tool-kpis .kpi-card strong.kpi-value-text {
  align-items: center !important;
  height: auto !important;
  min-height: 32px !important;
  color: var(--navy) !important;
  font-size: clamp(12.5px, 1.02vw, 15px) !important;
  font-weight: 590 !important;
  line-height: 1.14 !important;
  letter-spacing: -.006em !important;
  overflow-wrap: anywhere !important;
  text-wrap: balance !important;
}

body .main-content[data-page="stakeholder-dashboard"] .admin-tool-kpis .kpi-card strong.kpi-value-number {
  font-size: clamp(17px, 1.45vw, 24px) !important;
}

body .main-content[data-page="stakeholder-dashboard"] .admin-saved-row a,
body .main-content[data-page="stakeholder-dashboard"] .admin-saved-row button {
  align-self: center;
}

@media (max-width: 980px) {
  body .stakeholder-private-context {
    padding-right: 0;
  }

  body .stakeholder-private-context::after {
    display: none;
  }

  body .stakeholder-private-media-head {
    align-items: flex-start;
    flex-direction: column;
  }

  body .stakeholder-private-media-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body .stakeholder-simulation-row {
    grid-template-columns: 38px minmax(0, 1fr);
  }

  body .stakeholder-simulation-row .stakeholder-flow-visual {
    grid-column: 2;
  }
}

@media (max-width: 720px) {
  body .stakeholder-private-media-list {
    grid-template-columns: minmax(0, 1fr);
  }

  body .admin-profile-private-list li,
  body .stakeholder-quality-list li,
  body .stakeholder-edit-row,
  body .stakeholder-module-row,
  body .stakeholder-network-row {
    grid-template-columns: 1fr;
  }

  body .stakeholder-quality-list li small {
    grid-column: auto;
  }

  body .stakeholder-edit-row a,
  body .stakeholder-module-row a,
  body .stakeholder-network-row span {
    justify-self: start;
  }

  body .stakeholder-network-row {
    grid-template-columns: 1fr;
  }

  body .stakeholder-edit-row a,
  body .stakeholder-module-row a {
    width: auto;
    min-width: 0;
  }
}

/* Final public-card rhythm: keep bold titles visually separated from lighter copy. */
body.public-view :where(
  .public-service-card,
  .report-type-card,
  .report-preview-card,
  .report-step-card,
  .format-card,
  .market-category-card,
  .market-opportunity-card,
  .market-list-item,
  .public-center-card,
  .public-club-card,
  .public-signal-card,
  .public-score-main,
  .public-score-card,
  .public-review-summary,
  .public-review-card,
  .public-review-cta,
  .public-club-opportunity-grid article,
  .profile-section-box,
  .profile-recap-grid article,
  .sportia-network-engine,
  .club-opportunity-rail,
  .stakeholder-description-grid,
  .stakeholder-card,
  .stakeholder-module-grid,
  .stakeholder-reference-grid,
  .stakeholder-media-card,
  .stakeholder-simulation-brief,
  .stakeholder-simulation-steps,
  .profile-type-card
) :where(h3, strong) {
  text-wrap: balance;
}

body.public-view :where(
  .public-service-card,
  .report-type-card,
  .report-preview-card,
  .report-step-card,
  .format-card,
  .market-category-card,
  .market-opportunity-card,
  .market-list-item,
  .public-center-card,
  .public-club-card,
  .public-signal-card,
  .public-score-main,
  .public-score-card,
  .public-review-summary,
  .public-review-card,
  .public-review-cta,
  .public-club-opportunity-grid article,
  .profile-section-box,
  .profile-recap-grid article,
  .stakeholder-description-grid,
  .stakeholder-card,
  .stakeholder-module-grid,
  .stakeholder-reference-grid,
  .stakeholder-media-card,
  .stakeholder-simulation-brief,
  .stakeholder-simulation-steps,
  .profile-type-card
) :where(h3, strong) + :where(p, small, span, ul) {
  margin-top: 7px !important;
}

body.public-view :where(
  .report-preview-card,
  .report-step-card,
  .format-card,
  .market-opportunity-body,
  .market-list-item,
  .center-content,
  .public-club-card,
  .public-club-opportunity-grid article,
  .profile-section-box,
  .profile-recap-grid article,
  .stakeholder-module-grid article div,
  .stakeholder-reference-grid article,
  .stakeholder-media-card > div,
  .stakeholder-related-clubs span
) > :where(h3, strong) + :where(p, small, span) {
  display: block;
}

body.public-view .stakeholder-simulation-brief li strong + span,
body.public-view .stakeholder-simulation-brief li span + strong,
body.public-view .market-opportunity-meta small + strong,
body.public-view .public-metric strong + span {
  margin-top: 0 !important;
}

body.public-view :where(
  .report-preview-card,
  .report-step-card,
  .format-card,
  .market-opportunity-body,
  .market-list-item,
  .center-content,
  .public-club-card,
  .public-club-opportunity-grid article,
  .profile-section-box,
  .profile-recap-grid article,
  .public-demo-path,
  .network-engine-flow,
  .club-opportunity-rail,
  .stakeholder-dashboard-card,
  .stakeholder-details-card,
  .stakeholder-media-card,
  .stakeholder-simulation-brief
) :where(h2, h3, strong) ~ :where(p, small, span:not(.metric-icon), ul) {
  margin-top: max(6px, .45rem);
}

body.public-view :where(
  .public-club-kpis article,
  .stakeholder-kpi-strip article,
  .public-score-main,
  .public-metric,
  .profile-check-pills,
  .profile-chip-grid,
  .profile-fields-grid,
  .profile-doc-list,
  .profile-mini-table,
  .card-button-row,
  .public-club-actions,
  .profile-builder-actions
) :where(h2, h3, strong) ~ :where(p, small, span, ul) {
  margin-top: 0 !important;
}

/* Final connected-tag override: keep hover text readable and light. */
body.public-view .public-image-hotspots a,
body.public-view .public-image-hotspots a:hover,
body.public-view .public-image-hotspots a:focus-visible {
  color: #fff !important;
}

body.public-view .public-image-hotspots a b,
body.public-view .public-image-hotspots a:hover b,
body.public-view .public-image-hotspots a:focus-visible b {
  color: #fff !important;
  font-weight: 540 !important;
}

body.public-view .public-image-hotspots a span,
body.public-view .public-image-hotspots a:hover span,
body.public-view .public-image-hotspots a:focus-visible span {
  color: #fff !important;
  font-weight: 420 !important;
}

body.public-view .public-image-hotspots a em,
body.public-view .public-image-hotspots a:hover em,
body.public-view .public-image-hotspots a:focus-visible em {
  color: rgba(255,255,255,.78) !important;
  font-weight: 390 !important;
}

body.public-view .stakeholder-media-tags a,
body .stakeholder-private-media-tags span,
body .market-card-tags button,
body .market-network-tags button {
  font-weight: 430 !important;
}
/* MVP 03 consolidation: shared opportunities and compact status rail */
.marketplace-review-summary{align-items:center;background:#071a3d;border-radius:14px;color:#fff;display:flex;justify-content:space-between;margin-bottom:18px;padding:24px 26px}.marketplace-review-summary small{color:#7ed9a5;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.marketplace-review-summary h2{font-size:1.35rem;margin:5px 0 7px}.marketplace-review-summary p{color:#d8e3ef;margin:0}.marketplace-review-summary a{background:#08a34a;border-radius:9px;color:#fff;font-size:.82rem;font-weight:800;padding:11px 14px;text-decoration:none}
.marketplace-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.marketplace-toolbar label{align-items:center;border:1px solid #dbe3e9;border-radius:9px;display:flex;flex:1 1 320px;gap:8px;padding:0 11px}.marketplace-toolbar input{border:0;min-height:42px;outline:0;width:100%}.marketplace-toolbar button{background:#fff;border:1px solid #dbe3e9;border-radius:8px;color:#425268;font:700 .76rem/1 inherit;padding:9px 11px}.marketplace-toolbar button.active{background:#071a3d;border-color:#071a3d;color:#fff}
.operational-opportunity-grid{display:grid;gap:14px}.sportia-opportunity-card{background:#fff;border:1px solid #dde5ea;border-radius:12px;padding:18px}.sportia-opportunity-card header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.sportia-opportunity-card header small{color:#617085;font-size:.7rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.sportia-opportunity-card h3{color:#071a3d;font-size:1.05rem;line-height:1.3;margin:4px 0 0}.opportunity-status{background:#e9f6ee;border-radius:999px;color:#08763b;font-size:.68rem;font-weight:800;padding:6px 9px;text-transform:uppercase}.opportunity-status.status-draft,.opportunity-status.status-closed{background:#eef1f4;color:#667485}.opportunity-core-meta{display:flex;flex-wrap:wrap;gap:10px 24px;margin:14px 0}.opportunity-core-meta div{display:grid;gap:2px}.opportunity-core-meta dt{color:#7a8797;font-size:.65rem;font-weight:800;text-transform:uppercase}.opportunity-core-meta dd{color:#26364a;font-size:.78rem;font-weight:700;margin:0}.opportunity-description{color:#45556a;font-size:.88rem;line-height:1.55;margin:12px 0}.opportunity-matching{align-items:center;background:#f4f7f8;border-radius:8px;color:#586779;display:flex;flex-wrap:wrap;font-size:.78rem;gap:9px;margin:12px 0;padding:10px 12px}.opportunity-matching strong{color:#071a3d}.opportunity-optional-meta{display:flex;flex-wrap:wrap;gap:14px;margin:10px 0}.opportunity-optional-meta span{color:#778596;font-size:.72rem}.opportunity-optional-meta b{color:#26364a}.sportia-tag-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.sportia-tag-list span{background:#f0f4f6;border-radius:999px;color:#405166;font:700 .68rem/1.2 inherit;padding:6px 8px}.sportia-opportunity-card footer{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.sportia-opportunity-card footer a,.sportia-opportunity-card footer button{font-size:.76rem;min-height:38px}.opportunity-secondary{background:#fff;border:1px solid #ccd6dd;border-radius:8px;color:#26364a;font-weight:800;padding:9px 12px}.opportunity-preview-lock{background:#f5f7f8;border-radius:9px;margin:12px 0;padding:14px}.opportunity-preview-lock strong{color:#071a3d}.opportunity-preview-lock p{color:#647386;font-size:.8rem;margin:5px 0 0}.operational-empty{background:#f6f8f9;border:1px dashed #cdd7de;border-radius:10px;color:#687689;padding:24px;text-align:center}.operational-empty p{font-size:.82rem;margin:6px 0 0}
.opportunity-editor{display:grid;gap:13px;grid-template-columns:repeat(2,minmax(0,1fr))}.opportunity-editor label{color:#566579;display:grid;font-size:.72rem;font-weight:800;gap:6px}.opportunity-editor label span{font-weight:500}.opportunity-editor input,.opportunity-editor select,.opportunity-editor textarea{border:1px solid #d6e0e6;border-radius:8px;font:500 .84rem/1.45 inherit;padding:10px 11px}.opportunity-editor .wide,.opportunity-form-actions{grid-column:1/-1}.opportunity-form-actions{display:flex;flex-wrap:wrap;gap:9px}.potential-match-guidance{background:#f1f3f5;border-radius:10px;padding:16px}.potential-match-guidance>span{background:#dfe4e8;border-radius:999px;color:#5f6c7b;font-size:.66rem;font-weight:900;padding:5px 8px}.potential-match-guidance p{color:#647386;font-size:.82rem;line-height:1.5}.market-demo-item{position:relative}.market-demo-item>span{background:#dfe3e7;border-radius:999px;color:#596775;font-size:.64rem;font-weight:900;left:10px;padding:5px 8px;position:absolute;top:10px;z-index:2}.market-demo-item .market-opportunity-card{filter:saturate(.15)}
.status-card .status-wrap{align-items:center;display:grid;grid-template-columns:96px 1fr;gap:10px 14px}.status-card .progress-ring{aspect-ratio:1/1;height:auto!important;max-width:92px;width:92px}.status-profile-label{color:#071a3d;font-size:.9rem}.status-profile-stats{grid-column:1/-1;margin:4px 0 0}.status-profile-stats div{align-items:center;border-top:1px solid #edf1f3;display:flex;justify-content:space-between;padding:8px 0}.status-profile-stats dt{color:#6d7b8c;font-size:.72rem}.status-profile-stats dd{color:#071a3d;font-size:.76rem;font-weight:800;margin:0}
@media(max-width:768px){.marketplace-review-summary{align-items:flex-start;flex-direction:column}.opportunity-editor{grid-template-columns:1fr}.opportunity-editor .wide,.opportunity-form-actions{grid-column:auto}.marketplace-toolbar label{flex-basis:100%}.status-card .status-wrap{grid-template-columns:78px 1fr}.status-card .progress-ring{width:76px}}

/* Progressive section activation */
.menu-section-badge,.tab-section-badge{background:#eef2f4;border-radius:999px;color:#657385;font-size:.58rem;font-weight:850;letter-spacing:.03em;margin-left:auto;padding:4px 6px;text-transform:uppercase}.section-state-partial .menu-section-badge,.section-state-partial .tab-section-badge{background:#fff3d8;color:#8c6410}.section-state-activatable .menu-section-badge,.section-state-activatable .tab-section-badge{background:#e7f1ff;color:#235ca3}.section-state-ai-guidance .menu-section-badge,.section-state-ai-guidance .tab-section-badge{background:#f0edf8;color:#6a4b92}.section-state-active{filter:none!important;opacity:1!important}
.bellinzona-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.bellinzona-gallery .media-card{min-width:0}.document-clean-grid{display:grid;gap:12px}.document-clean-grid article{border:1px solid #dfe6ea;border-radius:11px;padding:17px}.document-clean-grid header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.document-clean-grid small{color:#657487;font-size:.68rem;font-weight:800;text-transform:uppercase}.document-clean-grid h3{color:#071a3d;font-size:1rem;margin:4px 0}.document-clean-grid dl{display:flex;gap:20px;margin:12px 0}.document-clean-grid dl div{display:grid;gap:2px}.document-clean-grid dt{color:#84909e;font-size:.65rem;text-transform:uppercase}.document-clean-grid dd{color:#425166;font-size:.76rem;font-weight:700;margin:0}.document-clean-grid p{color:#526176;font-size:.83rem;line-height:1.55}.document-clean-grid footer,.document-extraction-list article>div{display:flex;flex-wrap:wrap;gap:8px}.document-clean-grid footer a,.document-clean-grid footer button,.document-extraction-list button{background:#fff;border:1px solid #ccd7de;border-radius:8px;color:#26364a;font-size:.72rem;font-weight:800;padding:8px 10px;text-decoration:none}.document-clean-grid footer a{background:#071a3d;border-color:#071a3d;color:#fff}.document-extraction-list{display:grid;gap:10px}.document-extraction-list article{align-items:center;background:#f5f7f8;border-radius:9px;display:grid;gap:8px;padding:13px}.document-extraction-list span{color:#667486;font-size:.78rem}
.minimal-network-map{align-items:center;display:flex;justify-content:center;min-height:220px}.minimal-network-map article{align-items:center;background:#fff;border:2px solid #079348;border-radius:14px;display:flex;flex-direction:column;gap:5px;min-width:160px;padding:18px;text-align:center}.minimal-network-map article.club{background:#071a3d;border-color:#071a3d;color:#fff}.minimal-network-map article small{color:#748293;font-size:.68rem}.minimal-network-map article.club small{color:#cbd7e3}.minimal-network-map>i{background:#079348;height:2px;width:90px}.single-partner-geo{background:#f5f8f7;border-radius:10px;padding:18px}.single-partner-geo strong{color:#071a3d;display:block;font-size:1.1rem}.single-partner-geo span{color:#08753c;font-size:.76rem;font-weight:800}.single-partner-geo p{color:#617083;font-size:.8rem}.network-collaboration-list article{border:1px solid #dfe6ea;border-radius:10px;display:grid;gap:8px;padding:15px}.network-collaboration-list article>div{display:flex;flex-direction:column}.network-collaboration-list article>span{background:#e8f6ee;border-radius:999px;color:#08783c;font-size:.65rem;font-weight:850;justify-self:start;padding:5px 7px}.network-collaboration-list p{color:#506075;font-size:.82rem;margin:0}.network-collaboration-list footer{color:#84909e;font-size:.68rem}.ai-guidance-empty{background:#f4f2f8;border-radius:10px;color:#5f5370;padding:17px}.report-ready-card{align-items:center;background:#071a3d;border-radius:14px;color:#fff;display:grid;gap:18px;grid-template-columns:auto 1fr auto;margin-bottom:16px;padding:24px}.report-ready-card small{color:#74d59e;font-size:.68rem;font-weight:900;letter-spacing:.05em}.report-ready-card h2{font-size:1.2rem;margin:5px 0}.report-ready-card p{color:#d7e1eb;font-size:.82rem;margin:0}.module-list li.is-unavailable{color:#8b96a2}.module-list li.is-unavailable strong{color:#8b96a2}.report-version-list article{border:1px solid #dfe6ea;border-radius:10px;display:grid;gap:7px;padding:16px}.report-version-list article>span{color:#08783c;font-weight:900}.report-version-list article>div{display:flex;gap:8px}.report-version-list button{background:#fff;border:1px solid #ccd7de;border-radius:7px;font-size:.72rem;font-weight:800;padding:8px 10px}
@media(max-width:768px){.bellinzona-gallery{grid-template-columns:1fr}.minimal-network-map{flex-direction:column}.minimal-network-map>i{height:52px;width:2px}.report-ready-card{align-items:start;grid-template-columns:1fr}.document-clean-grid dl{flex-direction:column;gap:8px}}

.google-review-connection{align-items:center;background:#f7faf9;border:1px solid #d9e5df;border-radius:14px;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto;margin:0 0 18px;padding:18px}.google-review-connection>div{display:flex;flex-direction:column;gap:4px}.google-review-connection>div:nth-child(2){align-items:flex-end}.google-review-connection small{color:#08783c;font-size:.68rem;font-weight:600;letter-spacing:.05em}.google-review-connection strong{color:#071a3d}.google-review-connection span,.google-review-connection p{color:#647184;font-size:.78rem}.google-review-connection p{grid-column:1/-1;margin:0}.google-review-connection a{color:#164f87;font-size:.75rem}.google-review-connection.is-empty{background:#f8f9fb}.google-place-match-modal>section{max-height:min(760px,90vh);overflow:auto;width:min(680px,92vw)}.google-place-candidates{display:grid;gap:10px;margin:18px 0}.google-place-candidates label{align-items:flex-start;border:1px solid #dce3e8;border-radius:10px;cursor:pointer;display:flex;gap:10px;padding:12px}.google-place-candidates label:has(input:checked){background:#eef8f2;border-color:#079348}.google-place-candidates label span{display:flex;flex-direction:column;gap:3px}.google-place-candidates small{color:#667487}.google-place-match-modal footer{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
@media(max-width:680px){.google-review-connection{align-items:stretch;grid-template-columns:1fr}.google-review-connection>div:nth-child(2){align-items:stretch}.google-review-connection p{grid-column:auto}.google-place-match-modal footer>*{width:100%}}

/* Google review KPI rows: keep signal count inside its card at every width. */
body .main-content[data-page="recensioni"] .review-categories-card .rating-list li{
  box-sizing:border-box;
  grid-template-columns:20px minmax(0,1fr) minmax(58px,auto);
  gap:8px;
  max-width:100%;
  width:100%;
}
body .main-content[data-page="recensioni"] .review-categories-card .rating-list li>span{
  min-width:0;
  overflow-wrap:anywhere;
}
body .main-content[data-page="recensioni"] .review-categories-card .rating-list li>strong{
  font-size:11px;
  font-weight:550;
  min-width:0;
  text-align:right;
  white-space:nowrap;
}
@media(max-width:420px){body .main-content[data-page="recensioni"] .review-categories-card .rating-list li{grid-template-columns:18px minmax(0,1fr);row-gap:3px}body .main-content[data-page="recensioni"] .review-categories-card .rating-list li>strong{grid-column:2;text-align:left}}

.google-review-preview-section{margin-bottom:14px}.google-review-preview-grid{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.google-review-preview-card{background:#fff;border:1px solid #dfe7e3;border-radius:13px;display:flex;flex-direction:column;min-width:0;padding:15px}.google-review-preview-card header{align-items:center;display:grid;gap:9px;grid-template-columns:36px minmax(0,1fr) auto}.google-review-preview-card .review-avatar{font-size:10px;height:36px;width:36px}.google-review-preview-card header>div{display:grid;gap:2px;min-width:0}.google-review-preview-card header strong{color:#193b2f;font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.google-review-preview-card header small{color:#78857f;font-size:9px}.google-review-preview-card header b{color:#e0a214;font-size:11px;font-weight:500;letter-spacing:.02em;white-space:nowrap}.google-review-preview-card header b i{color:#53645d;font-size:9px;font-style:normal;margin-left:3px}.google-review-preview-card blockquote{color:#40544b;display:-webkit-box;font-size:12px;font-style:normal;font-weight:400;line-height:1.55;margin:14px 0;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:5}.google-review-preview-card footer{align-items:center;border-top:1px solid #edf1ef;display:flex;justify-content:space-between;margin-top:auto;padding-top:10px}.google-review-preview-card footer span{color:#52665d;font-size:9px;font-weight:550}.google-review-preview-card footer a{color:#176947;font-size:9px;text-decoration:none}.google-review-coverage-note{color:#74817b;font-size:9px;margin:11px 0 0}.google-review-preview-section>.card-title{margin-bottom:12px}@media(max-width:980px){.google-review-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.google-review-preview-grid{grid-template-columns:1fr}.google-review-preview-card blockquote{-webkit-line-clamp:4}}

.center-image-empty,.public-club-cover-empty{background:linear-gradient(135deg,#edf3f0,#e3ebe7)}.center-image-placeholder,.public-cover-placeholder{align-items:center;color:#61736b;display:flex;flex-direction:column;gap:7px;height:100%;justify-content:center;min-height:100%;padding:18px;text-align:center;width:100%}.center-image-placeholder svg,.public-cover-placeholder svg{color:#82948c}.center-image-placeholder span{font-size:10px;font-weight:500}.public-cover-placeholder strong{color:#29463a;font-size:16px;font-weight:600}.public-cover-placeholder span{font-size:11px}.public-club-cover-empty .public-cover-placeholder{min-height:310px}
/* Cross-profile action and media system */
.media-asset-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.media-asset-tags span{display:inline-flex;padding:4px 8px;border-radius:999px;background:#eef4f1;color:#174b38;font-size:11px;font-weight:700;line-height:1}.public-media-tags{position:relative;z-index:2;padding:0 14px 14px}.video-asset-card .media-cover{aspect-ratio:16/9;background:#0b1d18}.video-asset-card video{width:100%;height:100%;display:block;object-fit:cover}.video-asset-card footer{display:flex;gap:8px;align-items:center;margin-top:10px}.demo-action-label,.demo-action{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#66736f}.demo-action{border-style:dashed!important;background:#f3f5f4!important}.operational-detail-body{display:grid;gap:18px;padding:24px}.operational-detail-body article{padding:16px;border:1px solid #e1e8e5;border-radius:14px}.operational-detail-body article h3{margin:0 0 8px;font-size:14px}.operational-detail-actions{display:flex;flex-wrap:wrap;gap:10px;padding:0 24px 16px}.danger-action{border:1px solid #bc3c3c;color:#a52727;background:#fff;border-radius:10px;padding:10px 14px;font-weight:700}.danger-action:disabled{opacity:.55;cursor:not-allowed}.action-feedback{min-height:24px;margin:0;padding:0 24px 24px;color:#17623f;font-weight:700}.report-version-list article>div{display:flex;flex-wrap:wrap;gap:8px}.report-version-list button:disabled,.document-extraction-list button:disabled{opacity:.5;cursor:not-allowed}
.media-viewer-modal .gallery-modal-panel>video{display:block;width:100%;max-height:72vh;background:#07120e}.media-viewer-modal .gallery-modal-panel{max-width:980px}
.video-gallery{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:16px!important}.video-gallery .video-asset-card{width:100%;max-width:none;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(230px,.75fr);grid-template-rows:auto auto 1fr auto;column-gap:22px;align-items:start;padding:14px;border:1px solid #dce6e1;border-radius:18px;background:linear-gradient(145deg,#fff 0%,#f8fbf9 100%);box-shadow:0 10px 30px rgba(15,49,38,.07);overflow:hidden}.video-gallery .video-asset-card .media-cover{grid-column:1;grid-row:1 / 5;width:100%;min-height:260px;border-radius:13px;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}.video-gallery .video-asset-card>strong{grid-column:2;margin:8px 0 0;font-size:18px;line-height:1.25;color:#0f2b22}.video-gallery .video-asset-card>span{grid-column:2;margin-top:4px;font-size:12px;color:#687770}.video-gallery .video-asset-card>.media-asset-tags{grid-column:2;align-self:start;margin-top:18px}.video-gallery .video-asset-card>footer{grid-column:2;align-self:end;margin-top:18px}.video-gallery .video-asset-card>footer .opportunity-secondary{min-height:40px;padding:9px 14px;border-radius:10px;background:#fff}.video-gallery .video-asset-card>footer a.opportunity-secondary{display:inline-flex;align-items:center;text-decoration:none}@media(max-width:760px){.video-gallery .video-asset-card{grid-template-columns:1fr;grid-template-rows:auto;padding:10px;gap:0}.video-gallery .video-asset-card .media-cover,.video-gallery .video-asset-card>strong,.video-gallery .video-asset-card>span,.video-gallery .video-asset-card>.media-asset-tags,.video-gallery .video-asset-card>footer{grid-column:1;grid-row:auto}.video-gallery .video-asset-card .media-cover{min-height:0;aspect-ratio:16/9}.video-gallery .video-asset-card>strong{font-size:16px;margin:14px 4px 0}.video-gallery .video-asset-card>span,.video-gallery .video-asset-card>.media-asset-tags,.video-gallery .video-asset-card>footer{margin-left:4px;margin-right:4px}.video-gallery .video-asset-card>footer{display:grid;grid-template-columns:1fr 1fr}.video-gallery .video-asset-card>footer .opportunity-secondary{justify-content:center}}
.standard-network-graph{position:relative;width:100%;min-height:560px;border:1px solid #e0e9e5;border-radius:18px;background:radial-gradient(circle at center,rgba(45,141,94,.09),transparent 34%),linear-gradient(#fff,#f8fbf9);overflow:hidden}.standard-network-graph:before{content:"";position:absolute;inset:50%;width:min(44vw,410px);height:min(44vw,410px);transform:translate(-50%,-50%);border:1px dashed #d6e5de;border-radius:50%}.standard-network-graph article{position:absolute;z-index:2;width:clamp(138px,18%,190px);padding:14px;border:1px solid #dfe8e4;border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(15,49,38,.08);text-align:center}.standard-network-graph .club{left:50%;top:50%;transform:translate(-50%,-50%);background:#123a2d;color:#fff;border-color:#123a2d}.standard-network-graph .club span{display:block;margin-bottom:6px}.standard-network-partners{position:absolute;inset:0}.standard-network-partners article{left:var(--x);top:var(--y);transform:translate(-50%,-50%)}.standard-network-partners article>span{display:grid;width:34px;height:34px;margin:0 auto 7px;place-items:center;border-radius:50%;background:#edf7f1;color:#176442}.standard-network-partners article small{display:block;color:#62716c;margin-top:4px}.standard-network-partners button{margin-top:9px;border:0;background:#f1f3f2;color:#69736f;padding:6px 8px;border-radius:8px;font-size:10px}.network-edges{position:absolute;inset:0;pointer-events:none}.network-edges i{position:absolute;z-index:1;left:50%;top:50%;width:36%;height:2px;transform-origin:0 50%;transform:rotate(var(--angle));background:linear-gradient(90deg,#2d8d5e,#9ac8b2)}@media(max-width:720px){.standard-network-graph{min-height:500px}.standard-network-graph:before{width:320px;height:320px}.standard-network-graph article{width:128px;padding:10px}.standard-network-partners article{left:calc(50% + (var(--x) - 50%) * .82);top:calc(50% + (var(--y) - 50%) * .82)}.standard-network-partners button{display:none}.network-edges i{width:32%}}
.operational-detail-modal .gallery-modal-panel{width:min(920px,100%);max-height:min(860px,calc(100dvh - 28px));grid-template-rows:auto minmax(0,1fr) auto auto;overscroll-behavior:contain}.operational-detail-modal .operational-detail-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding-bottom:32px}.operational-detail-modal .operational-detail-body::-webkit-scrollbar{width:9px}.operational-detail-modal .operational-detail-body::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:999px;background:#b7c9c1;background-clip:padding-box}.operational-detail-modal .operational-detail-actions{position:relative;z-index:2;margin:0;padding-top:14px;border-top:1px solid #e3ebe7;background:#fff}.operational-detail-modal .action-feedback{margin:0;background:#fff}@media(max-width:640px){body .operational-detail-modal{place-items:end center;padding:8px}.operational-detail-modal .gallery-modal-panel{max-height:calc(100dvh - 16px);border-radius:16px 16px 10px 10px}.operational-detail-modal .gallery-modal-panel header{padding:14px 14px 12px}.operational-detail-modal .gallery-modal-panel header h2{font-size:22px}.operational-detail-modal .operational-detail-body{padding:16px 14px 28px}.operational-detail-modal .operational-detail-actions{padding:12px 14px;display:grid;grid-template-columns:1fr}.operational-detail-modal .operational-detail-actions button{width:100%}.operational-detail-modal .action-feedback{padding:0 14px 14px}}
@media(max-width:720px){.standard-network-partners article{left:var(--x);top:var(--y)}}
 .standard-network-graph article strong,.standard-network-graph article small{display:block}
.public-gallery-modal-card video{display:block;width:100%;height:100%;min-height:220px;object-fit:cover;background:#07111f}
/* Network configuration, provenance and differentiated case studies */
.network-graph-toolbar{align-items:center;display:flex;justify-content:space-between;margin-bottom:14px}.network-graph-toolbar>div{align-items:center;display:flex;gap:9px}.network-graph-toolbar small{color:#66766f}.section-state-pill{border-radius:999px;font-size:10px;font-weight:900;letter-spacing:.06em;padding:6px 9px}.section-state-pill.partial{background:#fff1ce;color:#825b08}.data-origin{align-items:center;border-radius:999px;display:inline-flex!important;font-size:9px!important;font-weight:850;gap:4px;justify-content:center;margin:8px auto 0;padding:5px 7px;width:max-content}.data-origin.external{background:#eef3fa;color:#365b86}.data-origin.sportia{background:#e8f6ee;color:#117044}.data-origin.native{background:#eef0f2;color:#4e5d68}.network-collaboration-list footer{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.network-collaboration-list footer b{color:#596961;font-size:11px}
.network-config-modal .gallery-modal-panel{max-height:calc(100dvh - 28px);max-width:1120px;overflow:hidden;width:min(1120px,100%)}.network-config-modal .gallery-modal-panel>header p{color:#66766f;font-size:12px;margin:6px 0 0}.network-config-layout{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:0;overflow:auto}.network-config-layout>aside{background:#f5f8f6;border-right:1px solid #e0e8e4;padding:20px}.network-config-list{display:grid;gap:8px;margin-top:12px}.network-config-list button{background:#fff;border:1px solid #dbe5e0;border-radius:10px;color:#1a352b;display:grid;gap:3px;padding:11px;text-align:left}.network-config-list small{color:#718078;font-size:10px}.network-config-layout form{display:grid;gap:13px;grid-template-columns:repeat(2,minmax(0,1fr));overflow:auto;padding:22px}.network-config-layout label{color:#57685f;display:grid;font-size:11px;font-weight:800;gap:6px}.network-config-layout input,.network-config-layout select,.network-config-layout textarea{border:1px solid #d5e0db;border-radius:9px;font:500 13px/1.4 inherit;padding:10px}.network-config-layout .wide{grid-column:1/-1}.network-form-heading{align-items:center;display:flex;grid-column:1/-1;justify-content:space-between}.network-form-heading small{color:#168251;font-size:10px;font-weight:900}.network-form-heading h3{margin:4px 0 0}.network-form-heading>span{background:#eef2f0;border-radius:999px;color:#607168;font-size:10px;font-weight:850;padding:6px 8px}.network-ai-assistant{background:#f1f5f3;border:1px solid #dce7e1;border-radius:13px;padding:15px}.network-ai-assistant>span{color:#174a38;font-size:11px;font-weight:900}.network-ai-assistant p{color:#627169;font-size:12px}.network-ai-assistant>div{display:flex;flex-wrap:wrap;gap:7px}.network-ai-assistant button{background:#fff;border:1px solid #cfddd6;border-radius:8px;color:#325b4c;font-size:10px;font-weight:750;padding:7px 9px}.network-form-actions{display:flex;flex-wrap:wrap;gap:8px}.network-save-feedback{color:#19734a;font-size:12px;font-weight:750;margin:0}.sportia-case-grid{display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.sportia-case-card{background:#fff;border:1px solid #dce5e1;border-radius:16px;padding:24px;position:relative}.sportia-case-card.applied{border-top:4px solid #15965a}.sportia-case-card.reference{border-top:4px solid #173c70}.sportia-case-card header{align-items:flex-start;display:flex;justify-content:space-between}.sportia-case-card header span{border-radius:999px;font-size:10px;font-weight:900;letter-spacing:.06em;padding:6px 8px}.sportia-case-card.applied header span{background:#e8f6ee;color:#147044}.sportia-case-card.reference header span{background:#edf2f8;color:#234d7f}.sportia-case-card header small{color:#7a8780}.sportia-case-card h3{color:#09271d;font-size:20px;margin:20px 0 4px}.sportia-case-card>p{color:#68776f;margin:0}.sportia-case-card dl{display:flex;gap:28px;margin:20px 0}.sportia-case-card dl div{display:grid;gap:3px}.sportia-case-card dt{color:#7b8982;font-size:10px;text-transform:uppercase}.sportia-case-card dd{color:#102f24;font-size:19px;font-weight:850;margin:0}.case-feature-list{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:20px}.case-feature-list span{align-items:center;background:#f3f6f4;border-radius:999px;color:#496057;display:flex;font-size:10px;gap:4px;padding:6px 8px}.sportia-case-card>a{align-items:center;color:#096d40;display:inline-flex;font-size:12px;font-weight:850;gap:6px;text-decoration:none}@media(max-width:760px){.network-config-layout{grid-template-columns:1fr}.network-config-layout>aside{border-bottom:1px solid #e0e8e4;border-right:0}.network-config-layout form{grid-template-columns:1fr}.network-config-layout .wide{grid-column:auto}.sportia-case-grid{grid-template-columns:1fr}.network-graph-toolbar{align-items:flex-start;gap:12px}.network-graph-toolbar>div{align-items:flex-start;flex-direction:column}}
.media-asset-tags span,.public-media-tags span,.sportia-tag-list span,.market-card-tags button,.market-network-tags button{font-weight:500!important;letter-spacing:0!important}.media-asset-tags span,.public-media-tags span{background:#f2f5f4;border:1px solid #e1e8e5;color:#43554e;font-size:10px;padding:5px 7px}.public-page button,.public-page a.public-primary,.public-page a.public-secondary,.main-content button,.main-content .public-primary,.main-content .opportunity-secondary{font-weight:550!important}.main-content label,.main-content small,.main-content dt{font-weight:450}.main-content .card>header h2,.main-content .card>h2,.main-content .card h3{font-weight:600}.network-edges i.indirect{background:repeating-linear-gradient(90deg,#90a69c 0 8px,transparent 8px 14px)}.standard-network-partners article.indirect{border-style:dashed;border-color:#9eafa7;background:#f8faf9}.standard-network-partners article em{color:#66776f;display:block;font-size:9px;font-style:normal;margin-top:5px}.network-config-layout label span{font-weight:400}.opportunity-close-modal .gallery-modal-panel{max-width:520px}.opportunity-close-copy{padding:24px}.opportunity-close-copy p{color:#112f24;font-size:17px;font-weight:600;margin:0 0 8px}.opportunity-close-copy small{color:#697870;line-height:1.55}.review-source-banner{align-items:center;background:#fff;border:1px solid #e1e7e4;border-radius:14px;display:flex;justify-content:space-between;margin-bottom:16px;padding:16px 18px}.review-source-banner>div:first-child{align-items:center;display:grid;gap:3px;grid-template-columns:auto 1fr}.review-source-banner small{color:#738079;grid-column:2}.google-source-label{background:#f2f4f7;border-radius:999px;color:#405268;font-size:10px;font-weight:600;grid-row:1/3;margin-right:9px;padding:6px 8px}.review-source-tabs{display:flex;gap:7px}.review-source-tabs button{background:#fff;border:1px solid #dbe3df;border-radius:8px;color:#56675f;font-size:11px;padding:8px 10px}.review-source-tabs button.active{background:#162f65;color:#fff}@media(max-width:650px){.review-source-banner{align-items:flex-start;flex-direction:column;gap:14px}.review-source-tabs{width:100%}.review-source-tabs button{flex:1}}
.network-status-filters{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 14px}.network-status-filters button{background:#fff;border:1px solid #dce5e1;border-radius:8px;color:#52645c;font-size:10px;font-weight:500;padding:7px 9px}.network-status-filters button.active{background:#173b2e;border-color:#173b2e;color:#fff}.network-edges i.edge-status-confirmed,.network-status-legend i.edge-status-confirmed{background:#168351}.network-edges i.edge-status-to_verify,.network-status-legend i.edge-status-to_verify{background:repeating-linear-gradient(90deg,#dd8a24 0 8px,transparent 8px 14px)}.network-edges i.edge-status-potential_match,.network-status-legend i.edge-status-potential_match{background:repeating-linear-gradient(90deg,#3478bc 0 8px,transparent 8px 14px)}.network-edges i.edge-status-suggested,.network-status-legend i.edge-status-suggested{background:repeating-linear-gradient(90deg,#b8c1bd 0 3px,transparent 3px 9px)}.relationship-status-label{border-radius:999px;display:block;font-size:9px;font-weight:500!important;letter-spacing:.04em;margin:7px auto 0;padding:5px 7px;width:max-content}.relationship-status-label.green{background:#e5f5eb;color:#126f43}.relationship-status-label.orange{background:#fff1dd;color:#995b0a}.relationship-status-label.blue{background:#e8f2fd;color:#2865a0}.relationship-status-label.gray{background:#eff2f1;color:#69756f}.standard-network-partners article.node-status-to_verify{border-color:#e8b776}.standard-network-partners article.node-status-potential_match{border-color:#8bb7df}.standard-network-partners article.node-status-suggested{border-color:#cbd2cf;box-shadow:none}.network-status-legend{align-items:center;display:flex;flex-wrap:wrap;gap:9px 18px;margin-top:14px}.network-status-legend span{align-items:center;color:#627169;display:flex;font-size:9px;font-weight:500;gap:7px}.network-status-legend i{display:block;height:2px;width:28px}.standard-network-partners article[role=button]{cursor:pointer}.standard-network-partners article[role=button]:focus-visible{outline:3px solid rgba(32,116,76,.25);outline-offset:3px}.network-relationship-detail .gallery-modal-panel{max-width:660px}.network-detail-content{padding:22px}.network-detail-content dl{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.network-detail-content dl div{border-bottom:1px solid #e8eeeb;padding-bottom:9px}.network-detail-content dt{color:#7a8781;font-size:10px}.network-detail-content dd{color:#203a30;font-size:12px;font-weight:550;margin:3px 0 0}.network-detail-content p{color:#5b6c64;font-size:12px;line-height:1.55}@media(max-width:650px){.network-detail-content dl{grid-template-columns:1fr}.network-status-filters{overflow-x:auto;flex-wrap:nowrap}.network-status-filters button{white-space:nowrap}}
.network-workspace-actions{display:flex!important;gap:7px}.network-workspace-actions button{background:#fff;border:1px solid #d6e1dc;border-radius:8px;color:#355248;font-size:10px;padding:8px 10px}.network-canvas-shell{background:#f9fbfa;border:1px solid #dce7e2;border-radius:16px;cursor:grab;height:600px;overflow:hidden;position:relative;touch-action:none;user-select:none}.network-canvas-shell:active{cursor:grabbing}.network-canvas-world{height:1600px;left:0;position:absolute;top:0;transform:translate(var(--world-x),var(--world-y)) scale(var(--world-scale));transform-origin:0 0;width:2000px;will-change:transform}.network-canvas-grid{background-image:radial-gradient(#cdd8d3 1px,transparent 1px);background-size:24px 24px;height:100%;inset:0;position:absolute;width:100%}.network-canvas-controls{align-items:center;background:rgba(255,255,255,.94);border:1px solid #dce6e1;border-radius:10px;box-shadow:0 6px 18px rgba(13,48,36,.08);display:flex;gap:3px;left:12px;padding:5px;position:absolute;top:12px;z-index:12}.network-canvas-controls button{background:#fff;border:0;border-radius:7px;color:#345047;font-size:10px;min-height:30px;min-width:30px;padding:6px 8px}.network-canvas-controls button:hover{background:#edf4f0}.canvas-node{background:#fff;border:1px solid #dce6e1;border-radius:13px;box-shadow:0 8px 22px rgba(17,54,41,.09);cursor:grab;padding:12px;position:absolute;text-align:center;transform:translate(-50%,-50%);width:160px;z-index:4}.canvas-node:active{cursor:grabbing}.canvas-node.club{background:#143a2d;border-color:#143a2d;color:#fff;width:176px}.canvas-node>span{align-items:center;background:#edf6f1;border-radius:50%;color:#176141;display:flex;height:32px;justify-content:center;margin:0 auto 6px;width:32px}.canvas-node.club>span{background:rgba(255,255,255,.14);color:#fff}.canvas-node strong,.canvas-node small{display:block}.canvas-node strong{font-size:12px}.canvas-node small{color:#6d7c75;font-size:9px;margin-top:3px}.canvas-node.club small{color:#cee0d8}.canvas-edge{background:transparent;border:0;height:16px;margin-top:-8px;padding:0;position:absolute;transform-origin:0 50%;z-index:2}.canvas-edge:after{content:"";display:block;height:2px;position:absolute;top:7px;width:100%}.canvas-edge.edge-status-confirmed:after{background:#168351}.canvas-edge.edge-status-to_verify:after{background:repeating-linear-gradient(90deg,#dd8a24 0 8px,transparent 8px 14px)}.canvas-edge.edge-status-potential_match:after{background:repeating-linear-gradient(90deg,#3478bc 0 8px,transparent 8px 14px)}.canvas-edge.edge-status-suggested:after{background:repeating-linear-gradient(90deg,#b8c1bd 0 3px,transparent 3px 9px)}.network-canvas-minimap{background:rgba(255,255,255,.92);border:1px solid #dce6e1;border-radius:8px;bottom:12px;height:72px;position:absolute;right:12px;width:100px;z-index:10}.network-canvas-minimap:before{background:#e8f1ed;border-radius:4px;content:"";inset:9px;position:absolute}.network-canvas-minimap i{border:1px solid #188352;height:30px;left:32px;position:absolute;top:20px;width:40px}.network-accessible-list{border-top:1px solid #e2e9e6;margin-top:13px;padding-top:10px}.network-accessible-list summary{color:#53655d;cursor:pointer;font-size:11px;font-weight:550}.network-accessible-list[open]{display:grid;gap:6px}.network-accessible-list button{align-items:center;background:#fff;border:1px solid #e0e7e4;border-radius:8px;display:flex;justify-content:space-between;padding:9px;text-align:left}.network-accessible-list button span{color:#718078;font-size:9px}.network-canvas-shell[data-zoom=low] .canvas-node small,.network-canvas-shell[data-zoom=low] .relationship-status-label{display:none}.network-canvas-shell[data-zoom=high] .canvas-node{width:180px}.network-canvas-shell.is-expanded{border-radius:0;height:100dvh;inset:0;position:fixed;width:100vw;z-index:1000}.network-canvas-shell.is-expanded .network-canvas-controls{top:18px}.network-canvas-shell.is-expanded:after{background:#fff;border:1px solid #dce6e1;border-radius:8px;content:"ESC per chiudere";font-size:9px;padding:6px 8px;position:absolute;right:12px;top:12px;z-index:12}@media(max-width:760px){.network-canvas-shell{height:460px}.network-canvas-controls{max-width:calc(100% - 24px);overflow-x:auto}.network-canvas-controls button{white-space:nowrap}.network-workspace-actions button:first-child{display:none}}
.network-canvas-controls{pointer-events:auto}.network-canvas-controls button{cursor:pointer;pointer-events:auto}.network-canvas-controls [data-canvas-exit]{display:none;font-size:17px}.network-canvas-shell.is-expanded{isolation:isolate;z-index:2147483000!important}.network-canvas-shell.is-expanded .network-canvas-controls{left:18px;right:18px;top:18px;width:max-content}.network-canvas-shell.is-expanded .network-canvas-controls [data-canvas-exit]{display:inline-grid;margin-left:5px;place-items:center}.network-canvas-shell.is-expanded:after{bottom:14px;right:14px;top:auto}.network-canvas-open{overflow:hidden!important}.network-canvas-shell:focus-visible{outline:2px solid #278765;outline-offset:2px}@media(max-width:760px){.network-canvas-shell.is-expanded .network-canvas-controls{max-width:calc(100% - 36px)}}
.network-canvas-activation{background:rgba(18,48,38,.86);border-radius:999px;bottom:14px;color:#fff;font-size:10px;font-weight:500;left:50%;opacity:1;padding:7px 11px;pointer-events:none;position:absolute;transform:translateX(-50%);transition:opacity .18s ease;z-index:13}.network-canvas-shell[data-canvas-active="true"] .network-canvas-activation{opacity:0}.network-canvas-shell[data-canvas-active="false"]{cursor:default}.network-canvas-shell[data-canvas-active="true"]{cursor:grab}.network-canvas-shell[data-canvas-active="true"]:active{cursor:grabbing}
.network-canvas-create-menu{background:#fff;border:1px solid #d8e3de;border-radius:12px;box-shadow:0 14px 40px rgba(12,43,32,.18);display:grid;gap:5px;padding:8px;position:absolute;width:190px;z-index:30}.network-canvas-create-menu small{color:#78867f;font-size:8px;letter-spacing:.08em;padding:4px 6px}.network-canvas-create-menu button{align-items:center;background:#fff;border:0;border-radius:8px;color:#173b2e;display:flex;font-size:11px;font-weight:550;gap:7px;padding:9px;text-align:left}.network-canvas-create-menu button:hover{background:#edf5f1}.network-canvas-create-menu span{border-top:1px solid #edf1ef;color:#7a8781;font-size:9px;margin-top:3px;padding:7px 6px 3px}
.network-canvas-shell .canvas-node.club{align-items:center;aspect-ratio:1/1;border-radius:50%;box-sizing:border-box;display:flex;flex-direction:column;height:168px;justify-content:center;padding:18px;width:168px}.network-canvas-shell .canvas-node.club strong{line-height:1.25;max-width:128px}.network-canvas-shell[data-zoom=high] .canvas-node.club{height:180px;width:180px}
.network-config-modal.is-wire-mode{align-items:stretch;justify-items:end;padding:14px;pointer-events:none}.network-config-modal.is-wire-mode .gallery-modal-backdrop{display:none}.network-config-modal.is-wire-mode .gallery-modal-panel{border-radius:16px;height:calc(100dvh - 28px);max-height:none;max-width:500px;pointer-events:auto;width:min(500px,calc(100vw - 28px))}.network-config-modal.is-wire-mode .network-config-layout{display:block}.network-config-modal.is-wire-mode .network-config-layout>aside{display:none}.network-config-modal.is-wire-mode .network-config-layout form{grid-template-columns:1fr;padding:18px}.network-config-modal.is-wire-mode .network-config-layout .wide{grid-column:auto}.wire-mode-guidance{color:#65756d;font-size:11px;line-height:1.45;margin:7px 0 0;max-width:370px}.wire-preview-node{border:2px dashed #3478bc!important;box-shadow:0 0 0 8px rgba(52,120,188,.09)!important;pointer-events:none;z-index:8!important}.wire-preview-edge{background:repeating-linear-gradient(90deg,#3478bc 0 9px,transparent 9px 15px);height:3px;pointer-events:none;position:absolute;transform-origin:0 50%;z-index:7}.canvas-node.wire-parent-choice{cursor:crosshair;outline:2px dashed rgba(52,120,188,.45);outline-offset:5px}.canvas-node.wire-parent-selected{outline:4px solid rgba(52,120,188,.75);outline-offset:6px}@media(max-width:760px){.network-config-modal.is-wire-mode{padding:0}.network-config-modal.is-wire-mode .gallery-modal-panel{border-radius:0;height:52dvh;inset:auto 0 0;max-width:none;position:absolute;width:100%}}
.network-canvas-world>.network-config-modal.is-wire-mode{display:block;height:auto;inset:auto;padding:0;pointer-events:auto;position:absolute;transform:translate(-50%,-50%) scale(var(--configurator-counter-scale,1));transform-origin:center;width:340px;z-index:20}.network-canvas-world>.network-config-modal.is-wire-mode .gallery-modal-panel{border:2px dashed #3478bc;border-radius:18px;box-shadow:0 0 0 9px rgba(52,120,188,.08),0 18px 44px rgba(20,54,43,.18);height:auto;max-height:560px;max-width:none;width:340px}.network-canvas-world>.network-config-modal.is-wire-mode .gallery-modal-panel>header{padding:14px 15px 11px}.network-canvas-world>.network-config-modal.is-wire-mode .gallery-modal-panel>header>div>span,.network-canvas-world>.network-config-modal.is-wire-mode .gallery-modal-panel>header>div>p{display:none}.network-canvas-world>.network-config-modal.is-wire-mode .gallery-modal-panel>header h2{font-size:14px}.network-canvas-world>.network-config-modal.is-wire-mode .network-config-layout form{gap:9px;max-height:465px;overflow:auto;padding:13px 15px}.network-canvas-world>.network-config-modal.is-wire-mode .network-form-heading{display:block}.network-canvas-world>.network-config-modal.is-wire-mode .network-form-heading>span{display:none}.network-canvas-world>.network-config-modal.is-wire-mode .network-form-heading small{font-size:8px}.network-canvas-world>.network-config-modal.is-wire-mode .network-form-heading h3{font-size:16px}.network-canvas-world>.network-config-modal.is-wire-mode .network-config-layout label{font-size:9px}.network-canvas-world>.network-config-modal.is-wire-mode .network-config-layout input,.network-canvas-world>.network-config-modal.is-wire-mode .network-config-layout select,.network-canvas-world>.network-config-modal.is-wire-mode .network-config-layout textarea{font-size:11px;padding:8px}.network-canvas-world>.network-config-modal.is-wire-mode .network-ai-assistant{padding:10px}.network-canvas-world>.network-config-modal.is-wire-mode .network-ai-assistant>div{display:none}.network-canvas-world>.network-config-modal.is-wire-mode .network-form-actions{position:sticky;bottom:0;background:#fff;padding:6px 0}.network-canvas-world>.network-config-modal.is-wire-mode .network-form-actions button{font-size:10px;padding:8px}.wire-preview-edge{z-index:10}@media(max-width:760px){.network-canvas-world>.network-config-modal.is-wire-mode{width:300px}.network-canvas-world>.network-config-modal.is-wire-mode .gallery-modal-panel{width:300px}}
.network-canvas-world>.network-config-modal.is-wire-mode{width:420px}.network-canvas-world>.network-config-modal.is-wire-mode .gallery-modal-panel{display:grid;grid-template-rows:auto minmax(0,1fr);height:min(620px,72vh);width:420px}.network-canvas-world>.network-config-modal.is-wire-mode .gallery-modal-panel>header{background:#fff;cursor:move;position:sticky;top:0;z-index:4}.network-canvas-world>.network-config-modal.is-wire-mode .gallery-modal-panel>header>div>span,.network-canvas-world>.network-config-modal.is-wire-mode .gallery-modal-panel>header>div>p{display:block}.network-canvas-world>.network-config-modal.is-wire-mode .gallery-modal-panel>header>div>span{color:#168251;font-size:8px;letter-spacing:.08em}.network-canvas-world>.network-config-modal.is-wire-mode .gallery-modal-panel>header>div>p{font-size:9px;margin:4px 0 0}.network-canvas-world>.network-config-modal.is-wire-mode .network-config-layout{min-height:0;overflow:hidden}.network-canvas-world>.network-config-modal.is-wire-mode .network-config-layout form{height:100%;max-height:none;overscroll-behavior:contain;padding-bottom:72px}.network-canvas-world>.network-config-modal.is-wire-mode .network-form-actions{border-top:1px solid #e2e9e6;bottom:-72px;margin:0 -15px;padding:10px 15px;z-index:5}.configurator-header-actions{align-items:center;display:flex;gap:3px}.configurator-header-actions button:not(.gallery-modal-close){background:#f0f4f2;border:0;border-radius:6px;color:#52645c;font-size:9px;height:25px;width:25px}.network-config-modal[data-configurator-size=compact]{width:380px}.network-config-modal[data-configurator-size=compact] .gallery-modal-panel{height:min(540px,68vh);width:380px}.network-config-modal[data-configurator-size=wide]{width:460px}.network-config-modal[data-configurator-size=wide] .gallery-modal-panel{height:min(700px,78vh);width:460px}.network-config-modal.configuration-attention .gallery-modal-panel{animation:configuratorAttention .5s ease}@keyframes configuratorAttention{0%,100%{box-shadow:0 0 0 9px rgba(52,120,188,.08),0 18px 44px rgba(20,54,43,.18)}50%{box-shadow:0 0 0 14px rgba(221,138,36,.25),0 18px 44px rgba(20,54,43,.22)}}.wire-preview-edge.edge-status-confirmed{background:#168351}.wire-preview-edge.edge-status-to_verify{background:repeating-linear-gradient(90deg,#dd8a24 0 8px,transparent 8px 14px)}.wire-preview-edge.edge-status-potential_match{background:repeating-linear-gradient(90deg,#3478bc 0 8px,transparent 8px 14px)}.wire-preview-edge.edge-status-suggested{background:repeating-linear-gradient(90deg,#b8c1bd 0 3px,transparent 3px 9px)}@media(max-width:760px){.network-canvas-world>.network-config-modal.is-wire-mode,.network-canvas-world>.network-config-modal.is-wire-mode .gallery-modal-panel{width:360px}.network-canvas-world>.network-config-modal.is-wire-mode .gallery-modal-panel{height:min(560px,68vh)}}
.network-accessible-list[open]{display:flex;flex-wrap:wrap;gap:7px 8px}.network-accessible-list[open] summary{flex:0 0 100%;margin-bottom:3px}.network-accessible-list button{align-items:center;border-radius:999px;display:inline-flex;flex:0 0 auto;gap:7px;justify-content:flex-start;min-height:32px;padding:7px 10px;width:auto}.network-accessible-list button strong{font-size:10px;font-weight:550;white-space:nowrap}.network-accessible-list button span{background:#f0f4f2;border-radius:999px;font-size:8px;padding:3px 5px;white-space:nowrap}.network-accessible-list button:hover{background:#f4f8f6;border-color:#cbdad3}@media(max-width:520px){.network-accessible-list[open]{gap:6px}.network-accessible-list button{max-width:100%}.network-accessible-list button strong{overflow:hidden;text-overflow:ellipsis}}
.network-workspace-actions [data-network-create-tool].active{background:#e8f4ee;border-color:#23845d;color:#126f49;box-shadow:0 0 0 2px rgba(35,132,93,.12)}.network-canvas-shell[data-creation-mode="true"]{cursor:crosshair}.network-canvas-create-pointer{background:#173b2e;border-radius:999px;color:#fff;font-size:10px;font-weight:500;padding:7px 10px;pointer-events:none;position:absolute;white-space:nowrap;z-index:35}.network-config-modal[data-configurator-size=compact],.network-config-modal[data-configurator-size=compact] .gallery-modal-panel{width:360px!important}.network-config-modal[data-configurator-size=standard],.network-config-modal[data-configurator-size=standard] .gallery-modal-panel{width:460px!important}.network-config-modal[data-configurator-size=wide],.network-config-modal[data-configurator-size=wide] .gallery-modal-panel{width:580px!important}.configurator-header-actions button.active{background:#173b2e!important;color:#fff!important}.network-config-modal[data-configurator-size=wide] .network-config-layout form{grid-template-columns:repeat(2,minmax(0,1fr))}.network-config-modal[data-configurator-size=compact] .network-config-layout form{grid-template-columns:1fr}.network-config-modal[data-configurator-size=compact] .network-config-layout .wide{grid-column:auto}@media(max-width:760px){.configurator-header-actions button[data-configurator-size]{display:none}.network-canvas-world>.network-config-modal.is-wire-mode,.network-canvas-world>.network-config-modal.is-wire-mode .gallery-modal-panel{width:min(360px,calc(100vw - 24px))!important}}
.network-node-inspector{bottom:18px;display:block;pointer-events:none;position:fixed;right:18px;top:18px;width:min(390px,calc(100vw - 36px));z-index:2450}.network-node-inspector .gallery-modal-panel{background:rgba(255,255,255,.985);border:1px solid #dbe5e0;border-radius:16px;box-shadow:0 18px 55px rgba(13,43,33,.18);display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:auto;max-height:calc(100dvh - 36px);overflow:hidden;pointer-events:auto;width:100%}.network-node-inspector .gallery-modal-panel>header{padding:16px 17px 13px}.network-node-inspector .gallery-modal-panel>header span{color:#188052;font-size:9px;letter-spacing:.07em}.network-node-inspector .gallery-modal-panel>header h2{font-size:22px;margin-top:4px}.network-node-inspector .network-detail-content{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:16px 17px}.network-node-inspector .network-detail-content dl{grid-template-columns:1fr}.network-node-inspector .network-detail-content .relationship-status-label{margin:0 0 15px}.network-node-inspector .operational-detail-actions{background:#fff;border-top:1px solid #e2e9e6;display:flex;flex-wrap:wrap;gap:7px;padding:12px 17px;position:sticky;bottom:0}.network-node-inspector .operational-detail-actions button{font-size:11px;padding:9px 11px}@media(max-width:680px){.network-node-inspector{bottom:0;left:0;right:0;top:auto;width:100%;z-index:2450}.network-node-inspector .gallery-modal-panel{border-radius:16px 16px 0 0;max-height:58dvh}.network-node-inspector .network-detail-content dl{grid-template-columns:repeat(2,minmax(0,1fr))}}
.network-canvas-world>.network-config-modal.is-wire-mode,.network-canvas-world>.network-config-modal.is-wire-mode .gallery-modal-panel{width:var(--panel-width,460px)!important}.network-canvas-world>.network-config-modal.is-wire-mode .gallery-modal-panel{height:var(--panel-height,min(620px,72vh))}.network-config-modal[data-configurator-size]{width:var(--panel-width,460px)!important}.network-config-modal[data-configurator-size] .gallery-modal-panel{width:var(--panel-width,460px)!important}.configurator-header-actions{display:none}.network-node-inspector{bottom:auto;left:auto;width:var(--panel-width,min(390px,calc(100vw - 36px)))}.network-node-inspector .gallery-modal-panel{font-size:calc(1rem * var(--panel-fluid-scale,1));height:var(--panel-height,626px);max-height:calc(100dvh - 36px)}.network-canvas-world>.network-config-modal.is-wire-mode .gallery-modal-panel{font-size:calc(1rem * var(--panel-fluid-scale,1))}.network-node-inspector .gallery-modal-panel>header h2{font-size:calc(22px * var(--panel-fluid-scale,1))}.network-canvas-world>.network-config-modal.is-wire-mode .network-config-layout input,.network-canvas-world>.network-config-modal.is-wire-mode .network-config-layout select,.network-canvas-world>.network-config-modal.is-wire-mode .network-config-layout textarea{font-size:calc(11px * var(--panel-fluid-scale,1))}.panel-resize-handle{background:linear-gradient(135deg,transparent 45%,#7d9188 46% 52%,transparent 53% 61%,#7d9188 62% 68%,transparent 69%);border:0;bottom:5px;cursor:nesw-resize;height:24px;left:5px;opacity:.7;padding:0;position:absolute;width:24px;z-index:12}.panel-resize-handle:hover{opacity:1}.network-config-modal .gallery-modal-panel,.network-node-inspector .gallery-modal-panel{position:relative}@media(max-width:680px){.network-node-inspector{bottom:0;left:0;right:0;top:auto;width:100%}.network-node-inspector .gallery-modal-panel{height:min(var(--panel-height,58dvh),70dvh)}.panel-resize-handle{display:none}}
.panel-resize-handle{background:#f5f9f7;border:1px solid #cbd9d3;border-bottom-color:#aebfb7;border-left-color:#aebfb7;border-radius:0 9px 0 13px;bottom:-1px;box-shadow:2px -2px 8px rgba(17,57,43,.08);height:34px;left:-1px;opacity:1;width:38px}.panel-resize-handle:before,.panel-resize-handle:after{background:#6f887d;border-radius:999px;content:"";height:2px;left:8px;position:absolute;transform:rotate(-45deg);width:16px}.panel-resize-handle:before{bottom:10px}.panel-resize-handle:after{bottom:16px;left:7px;width:23px}.panel-resize-handle:hover{background:#eaf4ef;border-color:#89ad9e;box-shadow:2px -2px 12px rgba(21,112,72,.14);opacity:1}.panel-resize-handle:hover:before,.panel-resize-handle:hover:after{background:#167249}.panel-resize-handle:active{background:#dceee5;box-shadow:inset 0 0 0 2px rgba(22,114,73,.12)}.panel-resize-handle:focus-visible{outline:3px solid rgba(22,114,73,.24);outline-offset:2px}
.panel-resize-handle{background:repeating-linear-gradient(135deg,transparent 0 5px,#8aa097 5px 7px,transparent 7px 11px);border:0;border-radius:0 0 0 15px;bottom:7px;box-shadow:none;height:24px;left:8px;width:24px}.panel-resize-handle:before,.panel-resize-handle:after{display:none}.panel-resize-handle:hover{background:repeating-linear-gradient(135deg,transparent 0 5px,#167249 5px 7px,transparent 7px 11px);box-shadow:none}.panel-resize-handle:active{background:repeating-linear-gradient(135deg,transparent 0 5px,#0f5d3a 5px 8px,transparent 8px 11px);box-shadow:none}.network-node-inspector .operational-detail-actions,.network-config-modal .network-form-actions{padding-left:48px!important}
.network-collaborations-disclosure{padding:0!important;overflow:hidden}.network-collaborations-disclosure>summary{align-items:center;background:#fff;cursor:pointer;display:flex;justify-content:space-between;list-style:none;padding:17px 19px}.network-collaborations-disclosure>summary::-webkit-details-marker{display:none}.network-collaborations-disclosure>summary>div{display:grid;gap:3px}.network-collaborations-disclosure>summary span{color:#17372b;font-size:14px;font-weight:600}.network-collaborations-disclosure>summary small{color:#74827b;font-size:10px}.network-collaborations-disclosure>summary svg{color:#607269;transition:transform .18s ease}.network-collaborations-disclosure[open]>summary{border-bottom:1px solid #e4ebe7}.network-collaborations-disclosure[open]>summary svg{transform:rotate(180deg)}.network-collaboration-list{display:grid;gap:12px;padding:15px}.network-collaboration-list article{background:#fff;border:1px solid #dfe7e3;border-radius:12px;display:grid;gap:12px;padding:15px}.network-collaboration-list article+article{margin-top:0}.network-collaboration-list article>header{align-items:flex-start;display:flex;gap:14px;justify-content:space-between}.network-collaboration-list article>header>div{display:grid;gap:3px}.network-collaboration-list article>header>span{background:#e8f6ee;border-radius:999px;color:#08783c;font-size:9px;font-weight:600;padding:5px 7px;white-space:nowrap}.network-collaboration-list article>p{line-height:1.5}.network-collaboration-list article>footer{align-items:center;border-top:1px solid #edf1ef;display:grid;gap:12px;grid-template-columns:auto minmax(0,1fr);padding-top:11px}.network-collaboration-list article>footer>div:first-child{align-items:center;display:flex;justify-content:flex-start}.network-collaboration-list .data-origin{justify-self:start;margin:0!important}.network-source-copy{display:grid;gap:2px;justify-items:end;text-align:right}.network-source-copy small{color:#839089;font-size:8px;text-transform:uppercase}.network-source-copy b{color:#344a41;font-size:10px;font-weight:550}.network-source-copy em{color:#7b8982;font-size:9px;font-style:normal}@media(max-width:600px){.network-collaboration-list article>footer{align-items:start;grid-template-columns:1fr}.network-source-copy{justify-items:start;text-align:left}}
.opportunity-announcement-detail{max-width:860px!important}.opportunity-announcement-detail>header{padding:22px 24px 18px}.opportunity-announcement-detail>header>div>span{color:#168052;font-size:10px;font-weight:550;letter-spacing:.08em}.opportunity-announcement-detail>header h2{font-size:clamp(25px,3vw,36px);font-weight:650;line-height:1.15;margin:7px 0 16px}.opportunity-detail-heading-meta{display:flex;flex-wrap:wrap;gap:14px 30px}.opportunity-detail-heading-meta>div{display:grid;gap:5px}.opportunity-detail-heading-meta small,.opportunity-detail-facts dt,.opportunity-detail-duration small{color:#77847d;font-size:9px;font-weight:450;text-transform:uppercase}.opportunity-detail-heading-meta strong{color:#263d34;font-size:13px;font-weight:550}.opportunity-status.status-published,.opportunity-status.status-open{background:#e8f1fb;color:#28639c}.opportunity-status.status-approved{background:#e5f5eb;color:#126f43}.opportunity-status.status-closed{background:#edf0ef;color:#67736e}.opportunity-announcement-detail .operational-detail-body{display:grid;gap:22px;padding:22px 24px 30px}.opportunity-detail-facts{display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr));margin:0}.opportunity-detail-facts div{display:grid;gap:5px}.opportunity-detail-facts dd{color:#20382e;font-size:14px;font-weight:550;margin:0}.opportunity-detail-section{border-top:1px solid #e8eeeb;padding-top:20px}.opportunity-detail-section h3{color:#607069;font-size:10px;font-weight:600;letter-spacing:.06em;margin:0 0 10px;text-transform:uppercase}.opportunity-detail-section p{color:#354a41;font-size:15px;font-weight:400;line-height:1.65;margin:0;max-width:72ch}.opportunity-skill-list,.opportunity-skill-preview{display:flex;flex-wrap:wrap;gap:7px}.opportunity-skill-list span,.opportunity-skill-preview span{background:#f1f5f3;border:1px solid #dce6e1;border-radius:999px;color:#40544b;font-size:10px;font-weight:500;padding:6px 9px}.opportunity-skill-preview{margin:10px 0}.opportunity-detail-duration{background:#f5f8f6;border-radius:11px;display:grid;gap:5px;grid-template-columns:auto 1fr;padding:14px 16px}.opportunity-detail-duration strong{color:#20392f;font-size:13px;font-weight:550}.opportunity-owner-actions{align-items:center;display:flex;justify-content:space-between}.opportunity-owner-actions>div{display:flex;gap:8px}.opportunity-delete-action{background:transparent!important;border-color:#c84c4c!important;color:#a63131!important}.opportunity-delete-modal .gallery-modal-panel{max-width:560px}.opportunity-delete-modal .opportunity-close-copy p{font-size:14px;font-weight:400;line-height:1.55}.sportia-opportunity-card .opportunity-description{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}@media(max-width:650px){.opportunity-detail-facts{grid-template-columns:1fr}.opportunity-detail-heading-meta{display:grid;grid-template-columns:1fr 1fr}.opportunity-owner-actions{align-items:stretch;display:grid;gap:14px}.opportunity-owner-actions>div{display:grid}.opportunity-owner-actions button{width:100%}.opportunity-detail-duration{grid-template-columns:1fr}.opportunity-announcement-detail>header,.opportunity-announcement-detail .operational-detail-body{padding-left:16px;padding-right:16px}}
.opportunity-edit-modal .gallery-modal-panel{max-width:760px}.opportunity-edit-modal form{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr));overflow-y:auto;padding:20px}.opportunity-edit-modal form label{display:grid;gap:6px;font-size:11px;font-weight:500}.opportunity-edit-modal form input,.opportunity-edit-modal form textarea{border:1px solid #d5e0db;border-radius:9px;font:400 13px/1.5 inherit;padding:10px}.opportunity-edit-modal form .wide{grid-column:1/-1}.opportunity-edit-modal .opportunity-form-actions{display:flex;justify-content:flex-end}@media(max-width:600px){.opportunity-edit-modal form{grid-template-columns:1fr}.opportunity-edit-modal form .wide{grid-column:auto}}
/* Unified Agent SPORTIA — contextual assistance shared by profile and opportunity forms */
.agent-sportia-trigger{align-items:center;background:#f4f8f6;border:1px solid #cbdcd4;border-radius:10px;color:#174b39;display:inline-flex;font:600 12px/1.2 inherit;gap:7px;justify-content:center;padding:9px 12px}.agent-sportia-trigger:hover{background:#eaf3ee;border-color:#9fc3b2}.agent-profile-entry .agent-sportia-trigger{margin-top:12px;width:100%}.agent-form-entry{align-items:center;background:linear-gradient(135deg,#f3f8f5,#eef4f8);border:1px solid #d6e3dd;border-radius:13px;display:flex;gap:14px;justify-content:space-between;padding:13px 14px}.agent-form-entry>div{display:grid;gap:3px}.agent-form-entry strong{color:#163b2e;font-size:13px;font-weight:650}.agent-form-entry small{color:#66776f;font-size:11px}.agent-sportia-panel{background:#fff;border:1px solid #d8e3de;border-radius:18px;bottom:20px;box-shadow:0 22px 70px rgba(9,39,29,.22);display:flex;flex-direction:column;max-height:calc(100dvh - 40px);overflow:hidden;position:fixed;right:20px;width:min(430px,calc(100vw - 40px));z-index:10050}.agent-sportia-panel>header{align-items:center;background:#123f31;color:#fff;display:flex;justify-content:space-between;padding:17px 19px}.agent-sportia-panel>header small{color:#b9d4c8;font-size:9px;letter-spacing:.09em}.agent-sportia-panel h2{font-size:18px;margin:3px 0 0}.agent-sportia-panel>header button{background:transparent;border:0;color:#fff;font-size:25px}.agent-sportia-body{display:grid;gap:14px;overflow:auto;padding:18px}.agent-sportia-intro{color:#52645c;font-size:13px;line-height:1.55;margin:0}.agent-sportia-context{background:#f4f7f5;border-radius:12px;display:grid;gap:3px;padding:11px 12px}.agent-sportia-context span{color:#168052;font-size:9px;font-weight:700;letter-spacing:.08em}.agent-sportia-context b{font-size:12px;font-weight:600}.agent-sportia-context small{color:#748078;font-size:10px}.agent-sportia-quick{display:flex;flex-wrap:wrap;gap:7px}.agent-sportia-quick button{background:#fff;border:1px solid #d8e2dd;border-radius:999px;color:#36594c;font:500 10px/1.2 inherit;padding:7px 9px}.agent-sportia-request{display:grid;gap:6px}.agent-sportia-request span{color:#455a51;font-size:11px;font-weight:600}.agent-sportia-request textarea{border:1px solid #cfdcd6;border-radius:11px;font:400 13px/1.5 inherit;padding:10px;resize:vertical}.agent-sportia-loading{color:#52685e;font-size:12px}.agent-suggestion-card{border:1px solid #cfddd6;border-radius:14px;overflow:hidden}.agent-suggestion-card>header{align-items:start;background:#f3f7f5;display:flex;justify-content:space-between;padding:12px}.agent-suggestion-card>header small{color:#b36815;font-size:8px;font-weight:700;letter-spacing:.07em}.agent-suggestion-card h3{font-size:14px;margin:3px 0 0}.agent-suggestion-card>header>span{background:#fff4df;border-radius:999px;color:#955d17;font-size:9px;padding:5px 7px}.agent-suggestion-fields{display:grid;gap:1px}.agent-suggestion-fields label{align-items:start;border-top:1px solid #edf1ef;display:flex;gap:9px;padding:10px 12px}.agent-suggestion-fields label>span{display:grid;gap:2px}.agent-suggestion-fields small{color:#728078;font-size:9px;text-transform:capitalize}.agent-suggestion-fields del{color:#9a706d;font-size:10px}.agent-suggestion-fields strong{color:#193d31;font-size:11px;font-weight:550}.agent-completeness{background:#fffaf1;border-top:1px solid #efe5d5;padding:10px 12px}.agent-completeness strong{font-size:10px}.agent-completeness p{color:#795d38;font-size:10px;margin:4px 0 0}.agent-completeness.ready{background:#eff8f3}.agent-suggestion-card footer{display:flex;gap:8px;justify-content:flex-end;padding:11px 12px}.agent-suggestion-card>p{color:#79857f;font-size:9px;margin:0;padding:0 12px 12px}.agent-apply-feedback{background:#e7f5ed;color:#126e43;font-size:11px;margin:0;padding:9px 12px}
@media(max-width:680px){.agent-sportia-panel{border-radius:18px 18px 0 0;bottom:0;left:0;max-height:82dvh;right:0;width:100%}.agent-form-entry{align-items:stretch;flex-direction:column}.agent-form-entry .agent-sportia-trigger{width:100%}}
.agent-suggestion-fields em{color:#87928d;font-size:8px;font-style:normal;font-weight:600;letter-spacing:.06em;margin-top:3px;text-transform:uppercase}.agent-suggestion-fields label>span{min-width:0;width:100%}.agent-suggestion-fields del,.agent-suggestion-fields strong{line-height:1.45;overflow-wrap:anywhere}.agent-review-message{color:#586a62;font-size:11px;line-height:1.5;margin:0;padding:13px}.opportunity-edit-modal .agent-form-entry{position:sticky;top:0;z-index:2}.opportunity-edit-modal .gallery-modal-panel{max-height:calc(100dvh - 32px);overflow:hidden}.opportunity-edit-modal form{max-height:calc(100dvh - 112px)}
.profile-builder-title-tools{align-items:flex-end;display:flex;flex-direction:column;gap:10px;min-width:0}.profile-builder-title-tools .agent-sportia-trigger{box-shadow:0 5px 16px rgba(22,92,64,.08)}.profile-builder-title .agent-sportia-trigger{white-space:nowrap}
@media(max-width:900px){.profile-builder-title-tools{align-items:stretch;width:100%}.profile-builder-title-tools .agent-sportia-trigger{align-self:flex-end}}

/* SPORTIA Map — canonical controls shared by every profile and route */
.map-live.leaflet-loaded .leaflet-bottom.leaflet-right{bottom:14px!important;right:14px!important}.map-live.leaflet-loaded .leaflet-control-zoom,.map-modal .leaflet-control-zoom{background:#fff!important;border:1px solid #d5dfda!important;border-radius:11px!important;box-shadow:0 7px 20px rgba(17,54,42,.15)!important;display:flex!important;flex-direction:column!important;margin:0!important;overflow:hidden!important}.map-live.leaflet-loaded .leaflet-control-zoom a,.map-modal .leaflet-control-zoom a{align-items:center!important;background:#fff!important;border:0!important;border-bottom:1px solid #e3e9e6!important;color:#173b2f!important;display:flex!important;font:500 21px/1 inherit!important;height:40px!important;justify-content:center!important;margin:0!important;width:40px!important}.map-live.leaflet-loaded .leaflet-control-zoom a:last-of-type,.map-modal .leaflet-control-zoom a:last-of-type{border-bottom:0!important}.map-live.leaflet-loaded .leaflet-control-zoom a:hover,.map-live.leaflet-loaded .leaflet-control-zoom a:focus-visible,.map-modal .leaflet-control-zoom a:hover,.map-modal .leaflet-control-zoom a:focus-visible{background:#edf6f1!important;outline:2px solid #168052!important;outline-offset:-2px}.map-live.leaflet-loaded .leaflet-control-zoom a[aria-disabled="true"],.map-modal .leaflet-control-zoom a[aria-disabled="true"]{background:#f5f6f5!important;color:#a6afaa!important;cursor:not-allowed!important;pointer-events:none!important}.map-loading-state{align-items:center;background:#eef4f1;color:#54675f;display:flex;font-size:12px;inset:0;justify-content:center;position:absolute;z-index:1}.map-canonical-empty{align-items:center;background:#f4f7f5;border:1px dashed #ccd9d3;border-radius:14px;color:#52645c;display:flex;flex-direction:column;gap:7px;justify-content:center;min-height:280px;padding:28px;text-align:center}.map-canonical-empty span{color:#75877f}.map-canonical-empty strong{color:#203d32;font-size:15px}.map-canonical-empty p{font-size:12px;line-height:1.55;margin:0;max-width:48ch}@media(max-width:600px){.map-live.leaflet-loaded .leaflet-bottom.leaflet-right{bottom:max(12px,env(safe-area-inset-bottom))!important;right:12px!important}.map-live.leaflet-loaded .leaflet-control-zoom a,.map-modal .leaflet-control-zoom a{height:44px!important;width:44px!important}}
.map-error-state{align-items:center;background:rgba(250,252,251,.96);display:flex;flex-direction:column;gap:10px;inset:0;justify-content:center;position:absolute;z-index:600}.map-error-state strong{color:#3c5148;font-size:12px}.map-error-state button{background:#fff;border:1px solid #bfcfc7;border-radius:9px;color:#174b39;font:550 11px/1 inherit;padding:9px 12px}

/* Canonical profile media records: upload, provenance and one featured asset. */
body.public-view .profile-media-metadata{display:grid;gap:10px;margin-top:12px}body.public-view .profile-media-metadata-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}body.public-view .profile-media-record{background:#fbfcfb;border:1px solid #dbe5e0;border-radius:13px;min-width:0;overflow:hidden}body.public-view .profile-media-record>header{align-items:center;border-bottom:1px solid #e7edea;display:grid;gap:9px;grid-template-columns:42px minmax(0,1fr) auto;padding:10px}body.public-view .profile-media-record>header img{border-radius:8px;height:42px;object-fit:cover;width:42px}body.public-view .profile-media-record>header div{display:grid;gap:2px;min-width:0}body.public-view .profile-media-record>header strong{font-size:11px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body.public-view .profile-media-record>header small{color:#74827b;font-size:9px}body.public-view .profile-media-record>header>span{background:#eef3f0;border-radius:999px;color:#587067;font-size:8px;font-weight:600;padding:5px 7px}.profile-media-record-fields{display:grid;gap:8px;grid-template-columns:1fr 1fr;padding:10px}.profile-media-record-fields label{color:#5d6f67;display:grid;font-size:9px;font-weight:500;gap:4px}.profile-media-record-fields input,.profile-media-record-fields select{background:#fff;border:1px solid #d3dfd9;border-radius:8px;color:#263f35;font:400 11px/1.3 inherit;min-width:0;padding:8px}.profile-media-featured{align-items:center;border-top:1px solid #e7edea;color:#24473a;display:flex;font-size:10px;font-weight:550;gap:7px;padding:10px}.profile-media-featured input{accent-color:#168052}@media(max-width:620px){.profile-media-record-fields{grid-template-columns:1fr}.profile-media-metadata-grid{grid-template-columns:1fr!important}}

body.public-view .profile-document-metadata{border-top:1px solid #e4ebe7;display:grid;gap:8px;grid-column:1/-1;grid-template-columns:2fr 1.4fr 1fr;margin-top:8px;padding-top:10px;width:100%}
body.public-view .profile-document-metadata label{color:#5d6f67;display:grid;font-size:9px;font-weight:500;gap:4px}
body.public-view .profile-document-metadata input,body.public-view .profile-document-metadata select{background:#fff;border:1px solid #d3dfd9;border-radius:8px;color:#263f35;font:400 11px/1.3 inherit;min-width:0;padding:8px}
@media(max-width:720px){body.public-view .profile-document-metadata{grid-template-columns:1fr}}
.media-management-entry{align-items:center;background:linear-gradient(135deg,#edf7f2,#f4f8f6);border:1px solid #cfe1d8;border-radius:15px;display:flex;gap:18px;justify-content:space-between;margin-bottom:16px;padding:16px 18px}.media-management-entry>div{display:grid;gap:4px}.media-management-entry small{color:#168052;font-size:9px;font-weight:600;letter-spacing:.08em}.media-management-entry h2{color:#173b2f;font-size:17px;font-weight:600;margin:0}.media-management-entry p{color:#62736b;font-size:11px;line-height:1.45;margin:0}.media-management-entry .primary-action{white-space:nowrap}.media-upload-link{color:inherit;text-decoration:none}@media(max-width:650px){.media-management-entry{align-items:stretch;flex-direction:column}.media-management-entry .primary-action{text-align:center}}

/* Canonical CTA rhythm — shared across public, profile and operational views. */
:root{--sportia-cta-height:42px;--sportia-cta-gap:10px;--sportia-cta-pad-x:15px}
body :is(.public-primary,.public-secondary,.outline-action,.primary-action,.secondary-action,.opportunity-secondary,.danger-action,.mini-action,.agent-sportia-trigger){align-items:center;box-sizing:border-box;display:inline-flex;gap:7px;justify-content:center;line-height:1.2;min-height:var(--sportia-cta-height);padding-block:0;padding-inline:var(--sportia-cta-pad-x)}
body :is(.public-cta,.public-club-actions,.card-button-row,.profile-publish-actions,.profile-builder-actions,.operational-detail-actions,.report-cta-actions,.how-cta-actions,.community-cta-actions,.opportunity-owner-actions>div){align-items:center;gap:var(--sportia-cta-gap)}
body .sportia-case-card>a{align-items:center;border:1px solid #d4dfda;border-radius:9px;box-sizing:border-box;color:#174b39;display:inline-flex;font-size:11px;font-weight:550;gap:7px;justify-content:center;margin-top:12px;min-height:var(--sportia-cta-height);padding:0 var(--sportia-cta-pad-x);text-decoration:none}
body.public-view .profile-type-actions .profile-type-preview-link{min-height:var(--sportia-cta-height)!important;padding:0 var(--sportia-cta-pad-x)!important}
body.public-view .profile-type-demo-preview>.profile-type-preview-link{height:var(--sportia-cta-height)!important;min-height:var(--sportia-cta-height)!important}
body.public-view .public-club-section .public-secondary{min-height:var(--sportia-cta-height)!important}
body .database-back-link{min-height:38px;padding-block:0}
body .main-content[data-page] .right-rail .outline-action{min-height:38px}
body :is(.pill-tabs,.marketplace-filter-row,.network-status-filters,.media-gallery-toolbar,.profile-tabs-mini,.sportia-tag-list,.market-card-tags) button{min-height:30px}
@media(max-width:760px),(pointer:coarse){:root{--sportia-cta-height:44px;--sportia-cta-gap:9px}body :is(.public-cta,.public-club-actions,.profile-publish-actions,.profile-builder-actions,.operational-detail-actions,.report-cta-actions,.how-cta-actions,.community-cta-actions){align-items:stretch}body :is(.public-cta,.public-club-actions,.profile-publish-actions,.profile-builder-actions,.operational-detail-actions)>:is(a,button){min-height:44px}}
