@import url('/assets/site-color-palette.css');

:root {
  --network-bg: var(--palette-gray-100);
  --network-surface: var(--palette-surface);
  --network-ink: var(--palette-text);
  --network-muted: var(--palette-text-muted);
  --network-accent: var(--color-action);
  --network-accent-deep: var(--color-action-hover);
  --network-border: rgba(0, 0, 0, 0.18);
  --network-shadow-sm: none;
  --network-shadow-md: none;
  --network-shadow-lg: none;
  --primary: var(--color-primary);
  --primary-dark: var(--color-primary-dark);
  --brand: var(--color-primary);
  --brand-dark: var(--color-primary-dark);
  --brand-deep: var(--color-primary-dark);
  --ink: var(--palette-text);
  --muted: var(--palette-text-muted);
  --line: rgba(0, 0, 0, 0.18);
  --surface: var(--palette-surface);
  --surface-strong: var(--palette-surface-muted);
  --card: var(--palette-surface);
  --white: var(--palette-white);
  --success: var(--color-status-success);
  --green: var(--color-status-success);
  --gold: var(--color-status-warning);
  --danger: var(--color-status-error);
  --shadow: none;
}

html {
  background: var(--network-bg);
}

body {
  min-height: 100vh;
  color: var(--network-ink);
  background: var(--network-bg) !important;
}

button,
[type="button"],
[type="submit"],
[type="reset"],
.button,
.button-ghost,
.button-inline,
.btn,
.btn-outline,
.btn-secondary,
.solid,
.ghost,
.soft,
.site-topbar__button,
.site-topbar__cta,
.site-topbar__page-action,
.site-topbar__ghost {
  background-image: none !important;
}

input,
select,
textarea {
  min-height: 50px;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 8px;
  background: #ffffff;
  color: var(--network-ink);
  box-shadow: none;
}

input:focus,
select:focus,
textarea:focus {
  outline: none;
  border-color: rgba(0, 0, 0, 0.9);
  box-shadow: inset 0 0 0 1px #000000;
}

input::placeholder,
textarea::placeholder {
  color: #7a7a7a;
}

.button-icon-spin {
  animation: coachhubButtonSpin 0.85s linear infinite;
}

button[aria-busy="true"],
.button[aria-busy="true"],
.btn[aria-busy="true"],
.ghost[aria-busy="true"],
.solid[aria-busy="true"],
.site-topbar__button[aria-busy="true"],
.site-topbar__cta[aria-busy="true"],
.site-topbar__page-action[aria-busy="true"] {
  cursor: wait !important;
}

@keyframes coachhubButtonSpin {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

.site-topbar {
  background: rgba(255, 255, 255, 0.92);
  border-bottom-color: rgba(0, 0, 0, 0.12);
  box-shadow: none;
}

.site-topbar__nav {
  border-color: rgba(0, 0, 0, 0.12);
  background: #ffffff;
  box-shadow: none;
}

.site-topbar__link,
.site-topbar__button,
.site-topbar__cta,
.site-topbar__ghost,
.site-topbar__page-action,
.solid,
.ghost,
.soft,
.btn,
.btn-outline,
.btn-secondary,
.button,
.button-link,
button[type="submit"] {
  transition: transform 0.24s ease, box-shadow 0.24s ease, border-color 0.28s ease, background 0.32s cubic-bezier(0.22, 1, 0.36, 1), color 0.32s cubic-bezier(0.22, 1, 0.36, 1);
}

.site-topbar__link:not(.is-active),
.site-topbar__button,
.site-topbar__cta,
.site-topbar__ghost,
.site-topbar__page-action,
.solid,
.ghost,
.soft,
.btn,
.btn-outline,
.btn-secondary,
.button,
.button-ghost,
.button-link,
button[type="submit"],
.locale-switcher-trigger,
.locale-link,
.icon-button,
.tag-option {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.site-topbar__link:not(.is-active)::before,
.site-topbar__button::before,
.site-topbar__ghost::before,
.site-topbar__page-action::before,
.ghost::before,
.soft::before,
.btn-outline::before,
.btn-secondary::before,
.button-ghost::before,
.button-link::before,
.locale-switcher-trigger::before,
.locale-link::before,
.icon-button::before,
.tag-option::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: var(--palette-inverse);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.42s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
  z-index: 0;
}

.site-topbar__cta::before,
.solid::before,
.btn::before,
.button::before,
button[type="submit"]::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: var(--palette-surface);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.42s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
  z-index: 0;
}

.site-topbar__link:not(.is-active) > *,
.site-topbar__button > *,
.site-topbar__cta > *,
.site-topbar__ghost > *,
.site-topbar__page-action > *,
.solid > *,
.ghost > *,
.soft > *,
.btn > *,
.btn-outline > *,
.btn-secondary > *,
.button > *,
.button-ghost > *,
.button-link > *,
button[type="submit"] > *,
.locale-switcher-trigger > *,
.locale-link > *,
.icon-button > *,
.tag-option > * {
  position: relative;
  z-index: 1;
}

.site-topbar__button,
.site-topbar__page-action,
.site-topbar__ghost,
.ghost,
.soft,
.btn-outline,
.btn-secondary,
.button-link,
.button-ghost,
.button-inline,
.locale-switcher-trigger,
.locale-link,
.icon-button {
  min-height: 48px;
  padding-inline: 18px;
  border: 1px solid rgba(0, 0, 0, 0.88);
  border-radius: 8px;
  background: var(--palette-surface);
  color: var(--palette-text);
  box-shadow: none;
}

.site-topbar__cta,
.solid,
.btn,
.button,
button[type="submit"] {
  min-height: 48px;
  padding-inline: 18px;
  border: 1px solid #000000;
  border-radius: 8px;
  background: var(--palette-inverse);
  color: var(--palette-inverse-text);
  box-shadow: none;
}

.site-topbar__button:hover,
.site-topbar__cta:hover,
.site-topbar__page-action:hover,
.ghost:hover,
.soft:hover,
.solid:hover,
.btn:hover,
.btn-outline:hover,
.btn-secondary:hover,
.button:hover,
.button-link:hover,
button[type="submit"]:hover,
.button-ghost:hover,
.button-inline:hover,
.locale-switcher-trigger:hover,
.locale-link:hover,
.icon-button:hover {
  transform: none;
  background: inherit;
}

.site-topbar__link:not(.is-active):hover,
.site-topbar__link:not(.is-active):focus-visible,
.site-topbar__button:hover,
.site-topbar__button:focus-visible,
.site-topbar__ghost:hover,
.site-topbar__ghost:focus-visible,
.site-topbar__page-action:hover,
.site-topbar__page-action:focus-visible,
.ghost:hover,
.ghost:focus-visible,
.soft:hover,
.soft:focus-visible,
.btn-outline:hover,
.btn-outline:focus-visible,
.btn-secondary:hover,
.btn-secondary:focus-visible,
.button-ghost:hover,
.button-ghost:focus-visible,
.button-link:hover,
.button-link:focus-visible,
.locale-switcher-trigger:hover,
.locale-switcher-trigger:focus-visible,
.locale-link:hover,
.locale-link:focus-visible,
.icon-button:hover,
.icon-button:focus-visible,
.tag-option:hover,
.tag-option:focus-visible {
  color: var(--palette-inverse-text) !important;
  background: var(--palette-surface) !important;
}

.site-topbar__cta:hover,
.site-topbar__cta:focus-visible,
.solid:hover,
.solid:focus-visible,
.btn:hover,
.btn:focus-visible,
.button:hover,
.button:focus-visible,
button[type="submit"]:hover,
button[type="submit"]:focus-visible {
  color: var(--palette-text) !important;
  background: var(--palette-inverse) !important;
}

.site-topbar__link:not(.is-active):hover::before,
.site-topbar__link:not(.is-active):focus-visible::before,
.site-topbar__button:hover::before,
.site-topbar__button:focus-visible::before,
.site-topbar__ghost:hover::before,
.site-topbar__ghost:focus-visible::before,
.site-topbar__page-action:hover::before,
.site-topbar__page-action:focus-visible::before,
.ghost:hover::before,
.ghost:focus-visible::before,
.soft:hover::before,
.soft:focus-visible::before,
.btn-outline:hover::before,
.btn-outline:focus-visible::before,
.btn-secondary:hover::before,
.btn-secondary:focus-visible::before,
.button-ghost:hover::before,
.button-ghost:focus-visible::before,
.button-link:hover::before,
.button-link:focus-visible::before,
.locale-switcher-trigger:hover::before,
.locale-switcher-trigger:focus-visible::before,
.locale-link:hover::before,
.locale-link:focus-visible::before,
.icon-button:hover::before,
.icon-button:focus-visible::before,
.tag-option:hover::before,
.tag-option:focus-visible::before,
.site-topbar__cta:hover::before,
.site-topbar__cta:focus-visible::before,
.solid:hover::before,
.solid:focus-visible::before,
.btn:hover::before,
.btn:focus-visible::before,
.button:hover::before,
.button:focus-visible::before,
button[type="submit"]:hover::before,
button[type="submit"]:focus-visible::before {
  transform: scaleX(1);
}

.site-topbar__button:focus-visible,
.site-topbar__cta:focus-visible,
.site-topbar__page-action:focus-visible,
.ghost:focus-visible,
.soft:focus-visible,
.solid:focus-visible,
.btn:focus-visible,
.btn-outline:focus-visible,
.btn-secondary:focus-visible,
.button:focus-visible,
.button-link:focus-visible,
button[type="submit"]:focus-visible,
.button-ghost:focus-visible,
.button-inline:focus-visible,
.locale-switcher-trigger:focus-visible,
.locale-link:focus-visible,
.icon-button:focus-visible {
  outline: none;
  box-shadow: inset 0 0 0 1px #000000;
}

body.site-topbar-auth-page {
  display: block;
  padding: 0 24px 36px;
}

body.site-topbar-auth-page .shell {
  margin-top: 36px;
  border-radius: 12px;
  background: var(--palette-surface);
  border: 1px solid rgba(0, 0, 0, 0.12);
  box-shadow: var(--network-shadow-lg);
}

body.site-topbar-auth-page .intro {
  background: var(--palette-inverse);
  box-shadow: var(--network-shadow-lg);
}

body.site-topbar-auth-page .signin,
body.site-topbar-auth-page .copy,
body.site-topbar-auth-page .panel {
  background: var(--palette-surface);
}

body > main > section.hero {
  padding-top: 42px;
}

body > main > section.hero .hero-grid {
  gap: 30px;
  align-items: stretch;
  padding: 12px;
}

body > main > section.hero .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  border-radius: 8px;
  border: 1px solid rgba(0, 0, 0, 0.14);
  background: var(--palette-surface);
  box-shadow: var(--network-shadow-sm);
  color: var(--palette-text);
}

.filters,
.results,
.signal-card,
.cards .card,
.empty-state,
.notice,
.popup-card,
.modal-card,
.alert-popup-card,
.newsletter-confirm-card,
.wallet-chart-panel,
.wallet-stat,
.metrics > article,
#trainer-dashboard-shell .card:not(.highlight):not(.profile-status-card),
#company-dashboard-shell .card:not(.highlight):not(.profile-status-card),
#profile-shell .share-card,
#profile-shell .repeater-card {
  border: 1px solid var(--network-border);
  background: var(--palette-surface);
  box-shadow: var(--network-shadow-md);
}

.dashboard-tab-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 8px;
  border: 1px solid rgba(0, 0, 0, 0.14);
  border-radius: 10px;
  background: var(--palette-surface);
  box-shadow: var(--network-shadow-md);
  margin-bottom: 24px;
}

.dashboard-tab-button {
  min-height: 44px;
  padding: 0 16px;
  border-radius: 8px;
  border: 1px solid transparent;
  background: transparent;
  color: var(--network-muted);
  font: inherit;
  font-weight: 700;
}

.dashboard-tab-button.is-active {
  color: #ffffff;
  background: var(--palette-inverse);
  box-shadow: none;
}

.topbar,
.hero-card,
.sidebar-card,
.detail-card,
.notice,
.modal-panel,
.summary-item,
.company-row,
.snapshot-item,
.empty-state,
.stat,
.panel,
.map-card,
.map-results,
.roadmap-intro,
.roadmap-display,
.footer-shell,
.cta,
.quote,
.card {
  border-color: rgba(0, 0, 0, 0.14) !important;
  background-color: var(--palette-surface) !important;
  box-shadow: none !important;
}

.topbar,
.hero-card,
.sidebar-card,
.detail-card,
.panel,
.summary-item,
.company-row,
.snapshot-item,
.empty-state,
.cta,
.quote,
.card,
.modal-panel,
.notice,
.roadmap-intro,
.roadmap-display,
.footer-shell,
.map-card,
.map-results {
  border-radius: 12px !important;
}

.hero-banner,
body.site-topbar-auth-page .intro,
.roadmap-intro,
.footer-shell,
.cta {
  background-color: var(--palette-inverse) !important;
  color: var(--palette-inverse-text) !important;
}

.hero-banner::before,
.hero-banner::after,
.hero-card::before,
.roadmap-intro::before,
.roadmap-intro::after {
  display: none !important;
}

.hero-visual,
.hero-visual::before,
.hero-visual::after {
  background-color: var(--palette-surface) !important;
  box-shadow: none !important;
}

.hero-visual::before,
.hero-visual::after {
  content: none !important;
}

 

.stat,
.summary-item,
.snapshot-item,
.company-row,
.panel {
  background-color: #ffffff !important;
}

.stat i,
.summary-item-icon,
.section-heading i,
.snapshot-item-icon,
.feature-mark,
.icon,
.icon-button,
.map-region-pill i,
.mini-chip i,
.pill i,
.button i,
.button-ghost i,
.button-inline i,
.btn i,
.btn-outline i,
.site-topbar__button i,
.site-topbar__cta i,
.site-topbar__page-action i,
.locale-switcher-trigger i,
.locale-link i {
  color: #111111 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.button:hover i,
.btn:hover i,
.site-topbar__cta:hover i,
button[type="submit"]:hover i,
.button-ghost:hover i,
.btn-outline:hover i,
.site-topbar__button:hover i,
.site-topbar__page-action:hover i,
.locale-switcher-trigger:hover i,
.locale-link:hover i {
  color: currentColor !important;
}

.button i,
.btn i,
.site-topbar__cta i,
button[type="submit"] i {
  color: currentColor !important;
}

.status-pill,
.status-pill.closed,
.mini-pill,
.pill,
.section-kicker,
.roadmap-pill,
.footer-pill,
.footer-kicker,
.mini-chip,
.roadmap-step-label,
.roadmap-display-meta,
.map-region-pill,
.phone-badge,
.phone-chip,
.billing-chip,
.badge,
.badge-green,
.badge-gold,
.badge-alt,
.badge-admin,
.badge-company,
.badge-verified,
.chip,
.chip-green,
.chip-gold,
.chip-muted,
.skill,
.tag,
.tag-option,
.verify,
.level,
.plan,
span.status,
.status.live,
.status.busy,
.status.idle,
.toggle,
.followed-trainer-badge,
.trainer-badge {
  background-color: var(--palette-surface) !important;
  color: var(--palette-text) !important;
  border: 1px solid rgba(0, 0, 0, 0.86) !important;
  box-shadow: none !important;
}

.button-inline {
  min-height: auto;
  padding-inline: 0;
  border: 0 !important;
  color: var(--palette-text) !important;
}

.button-inline:hover {
  background: transparent !important;
  color: #000000 !important;
}

.apply-warning,
.notice.success,
.notice.error,
.field.is-invalid input,
.field.is-invalid textarea,
.field.is-invalid select,
.form-error,
.field-error {
  border-color: rgba(0, 0, 0, 0.86) !important;
  color: #111111 !important;
  box-shadow: none !important;
}

.locale-switcher-label,
.locale-current,
.locale-link-name,
.locale-link-code {
  color: #111111 !important;
}

.locale-current,
.locale-switcher-menu {
  background: var(--palette-surface) !important;
  border: 1px solid rgba(0, 0, 0, 0.88) !important;
  box-shadow: none !important;
}

.locale-link.active,
.locale-link[aria-current="page"],
.locale-link:hover {
  background: var(--palette-inverse) !important;
  border-color: #111111 !important;
  color: var(--palette-inverse-text) !important;
}

.locale-link.active .locale-link-name,
.locale-link.active .locale-link-code,
.locale-link[aria-current="page"] .locale-link-name,
.locale-link[aria-current="page"] .locale-link-code,
.locale-link:hover .locale-link-name,
.locale-link:hover .locale-link-code,
.locale-link.active i,
.locale-link[aria-current="page"] i,
.locale-link:hover i {
  color: #ffffff !important;
}

.roadmap-node,
.roadmap-step.active .roadmap-node,
.roadmap-step:hover .roadmap-node,
.roadmap-step:focus-visible .roadmap-node,
.roadmap-progress,
.roadmap-progress-bar,
.quote,
.quote::before,
.app-download,
.app-point,
.store-btn,
.phone-frame,
.phone-screen,
.phone-badge,
.phone-stat,
.phone-card,
.phone-chip,
.phone-list-item,
.phone-list-icon,
.footer-status {
  box-shadow: none !important;
}

.roadmap-node {
  background: var(--palette-surface) !important;
  border: 1px solid rgba(0, 0, 0, 0.88) !important;
  color: var(--palette-text) !important;
}

.roadmap-step.active .roadmap-node,
.roadmap-step:hover .roadmap-node,
.roadmap-step:focus-visible .roadmap-node,
.roadmap-progress-bar {
  background: var(--palette-inverse) !important;
  color: var(--palette-inverse-text) !important;
}

.roadmap-progress {
  background: var(--palette-gray-300) !important;
}

.roadmap-step.active .roadmap-step-title,
.roadmap-step:hover .roadmap-step-title,
.roadmap-step:focus-visible .roadmap-step-title {
  color: #111111 !important;
}

.quote::before {
  color: rgba(0, 0, 0, 0.14) !important;
}

.app-download,
.phone-frame,
.phone-card,
.footer-shell {
  background: var(--palette-inverse) !important;
  color: var(--palette-inverse-text) !important;
  border: 1px solid rgba(0, 0, 0, 0.88) !important;
}

.app-point,
.phone-chip {
  background: transparent !important;
  border: 1px solid rgba(255, 255, 255, 0.24) !important;
  color: #ffffff !important;
}

.app-point i,
.footer-status,
.app-download-copy p,
.app-download-note,
.app-point span,
.phone-stat span,
.phone-card p {
  color: rgba(255, 255, 255, 0.86) !important;
}

.store-btn,
.phone-screen,
.phone-stat,
.phone-list-item {
  background: var(--palette-surface) !important;
  border: 1px solid rgba(0, 0, 0, 0.14) !important;
  color: var(--palette-text) !important;
}

.phone-screen,
.phone-list-icon,
.phone-badge {
  background-image: none !important;
}

.phone-badge,
.phone-list-icon {
  background: var(--palette-surface-muted) !important;
  border: 1px solid rgba(0, 0, 0, 0.14) !important;
  color: var(--palette-text) !important;
}

.store-btn i,
.phone-list-icon,
.phone-list-icon i,
.phone-status i,
.app-point i {
  color: currentColor !important;
}

.section-head,
.card-head,
.header,
.hero-bar,
.filters-head,
.results-head {
  align-items: flex-start;
}

@media (max-width: 980px) {
  body.site-topbar-auth-page .shell {
    margin-top: 24px;
  }
}

@media (max-width: 820px) {
  body.site-topbar-auth-page {
    padding-inline: 16px;
  }

  body > main > section.hero {
    padding-top: 28px;
  }

  .dashboard-tab-nav {
    border-radius: 18px;
  }
}