:root {
  --background: #0b0b0d;
  --surface: #151518;
  --surface-2: #1f1f24;
  --cream: #f1eee7;
  --text: #f8f5ed;
  --muted: #aaa7a0;
  --line: rgba(255, 255, 255, .12);
  --pink: #ec0051;
  --orange: #ff6717;
  --yellow: #d9dd18;
  --brand: linear-gradient(110deg, var(--pink), var(--orange) 58%, var(--yellow));
}

/* Clubs catalog */
.clubs-network-section,
.clubs-page,
.club-detail-page {
  position: relative;
  padding: clamp(64px, 8vw, 112px) clamp(18px, 6vw, 92px);
  background:
    radial-gradient(circle at 8% 8%, rgba(236, 0, 81, .18), transparent 28%),
    radial-gradient(circle at 92% 10%, rgba(217, 221, 24, .12), transparent 30%),
    #0a0a0c;
  overflow: hidden;
}

.clubs-network-section {
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
  align-items: center;
  gap: clamp(24px, 4vw, 58px);
  border-top: 1px solid rgba(255, 255, 255, .08);
  border-bottom: 1px solid rgba(255, 255, 255, .08);
}

.clubs-network-section::before,
.clubs-page::before,
.club-detail-page::before {
  content: "";
  position: absolute;
  width: 520px;
  height: 520px;
  right: -180px;
  top: -220px;
  border-radius: 50%;
  border: 90px solid rgba(236, 0, 81, .12);
  pointer-events: none;
}

.clubs-network-copy,
.clubs-network-section > .club-card-grid,
.clubs-value-grid,
.clubs-page > *,
.club-detail-page > * {
  position: relative;
  z-index: 1;
}

.clubs-network-copy h2,
.clubs-hero h1,
.club-detail-hero h1 {
  max-width: 780px;
  margin: 10px 0 14px;
  color: var(--text);
  font-size: clamp(30px, 4.2vw, 58px);
  line-height: .96;
  letter-spacing: -.055em;
  text-transform: uppercase;
}

.clubs-network-copy p,
.clubs-hero p,
.club-detail-hero p,
.club-empty-state p {
  max-width: 680px;
  color: rgba(248, 245, 237, .72);
  line-height: 1.65;
}

.clubs-network-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

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

.clubs-value-grid article {
  min-height: 190px;
  padding: 20px;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 16px;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .11), rgba(255, 255, 255, .035)),
    radial-gradient(circle at 0 0, rgba(217, 221, 24, .13), transparent 36%);
  box-shadow: 0 24px 70px rgba(0, 0, 0, .28);
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.clubs-value-grid article:hover,
.club-card:hover {
  transform: translateY(-4px);
  border-color: rgba(217, 221, 24, .34);
  box-shadow: 0 30px 90px rgba(236, 0, 81, .18);
}

.clubs-value-grid .ui-icon {
  width: 42px;
  height: 42px;
  margin-bottom: 18px;
  padding: 10px;
  border-radius: 12px;
  color: #111;
  background: var(--brand);
}

.clubs-value-grid b {
  display: block;
  margin-bottom: 8px;
  color: var(--text);
  font-size: 18px;
}

.clubs-value-grid span {
  color: rgba(248, 245, 237, .68);
  line-height: 1.5;
}

.club-card-grid {
  display: grid;
  gap: 18px;
}

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

.club-card-grid.catalog {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 28px;
}

.club-card {
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(24, 24, 28, .94), rgba(13, 13, 16, .98));
  box-shadow: 0 24px 70px rgba(0, 0, 0, .24);
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.club-card-media {
  position: relative;
  display: block;
  height: 210px;
  overflow: hidden;
  background: #111;
}

.club-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .32s ease, filter .32s ease;
}

.club-card:hover .club-card-media img {
  transform: scale(1.06);
  filter: saturate(1.12) contrast(1.08);
}

.club-logo-badge {
  position: absolute;
  left: 14px;
  bottom: 14px;
  display: grid;
  place-items: center;
  width: 66px;
  height: 66px;
  padding: 8px;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 14px;
  background: rgba(8, 8, 10, .72);
  backdrop-filter: blur(10px);
}

.club-logo-badge img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.club-card-body {
  display: grid;
  gap: 10px;
  padding: 18px;
}

.club-card-body small {
  color: var(--yellow);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.club-card-body h3 {
  margin: 0;
  font-size: 22px;
  line-height: 1.05;
}

.club-card-body h3 a,
.club-more-link {
  color: var(--text);
  text-decoration: none;
}

.club-card-body p {
  margin: 0;
  min-height: 42px;
  color: rgba(248, 245, 237, .68);
  line-height: 1.45;
}

.club-service-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.club-service-tags span {
  padding: 7px 9px;
  border-radius: 8px;
  color: #fff;
  background: rgba(255, 255, 255, .075);
  font-size: 11px;
  font-weight: 800;
}

.club-more-link {
  color: var(--yellow);
  font-size: 13px;
  font-weight: 900;
}

.clubs-hero,
.club-filter-panel,
.club-empty-state,
.club-partner-cta,
.club-detail-grid article {
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 18px;
  background: rgba(18, 18, 22, .82);
  box-shadow: 0 24px 80px rgba(0, 0, 0, .24);
  backdrop-filter: blur(12px);
}

.clubs-hero {
  padding: clamp(28px, 5vw, 54px);
}

.club-filter-panel {
  margin-top: 18px;
  padding: 16px;
}

.club-filter-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr)) auto auto;
  gap: 10px;
  align-items: end;
}

.club-filter-form label {
  display: grid;
  gap: 7px;
  color: rgba(248, 245, 237, .72);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.club-filter-form select,
.club-filter-form button,
.club-filter-form a {
  min-height: 44px;
  border-radius: 9px;
}

.club-filter-form select {
  padding: 0 12px;
  border: 1px solid rgba(255, 255, 255, .12);
  color: #fff;
  background: #101014;
}

.club-filter-form button {
  border: 0;
  color: #111;
  background: var(--brand);
  font-weight: 950;
  cursor: pointer;
}

.club-filter-form a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 14px;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, .12);
  text-decoration: none;
}

.club-empty-state {
  display: grid;
  place-items: center;
  margin-top: 24px;
  padding: clamp(32px, 6vw, 70px);
  text-align: center;
}

.club-empty-state .ui-icon {
  width: 54px;
  height: 54px;
  margin-bottom: 12px;
  color: var(--yellow);
}

.club-detail-hero {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(320px, 1.1fr);
  gap: clamp(24px, 4vw, 52px);
  align-items: center;
}

.club-detail-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

.club-detail-media {
  position: relative;
  overflow: hidden;
  min-height: 420px;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 22px;
  background: #111;
  box-shadow: 0 28px 90px rgba(0, 0, 0, .32);
}

.club-detail-media > img {
  width: 100%;
  height: 100%;
  min-height: 420px;
  object-fit: cover;
}

.club-detail-media span {
  position: absolute;
  left: 18px;
  bottom: 18px;
  display: grid;
  place-items: center;
  width: 90px;
  height: 90px;
  padding: 12px;
  border-radius: 18px;
  background: rgba(8, 8, 10, .76);
  backdrop-filter: blur(10px);
}

.club-detail-media span img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.club-detail-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 24px;
}

.club-detail-grid article {
  padding: 22px;
}

.club-detail-grid h2 {
  margin: 0 0 14px;
  font-size: 22px;
}

.club-detail-grid p,
.club-detail-grid li {
  color: rgba(248, 245, 237, .72);
  line-height: 1.55;
}

.club-detail-grid ul {
  margin: 0;
  padding-left: 18px;
}

.club-partner-cta {
  margin-top: 24px;
  padding: clamp(26px, 4vw, 44px);
}

.admin-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.club-admin-form textarea {
  min-height: 110px;
}

.admin-club-grid {
  display: grid;
  gap: 16px;
}

.admin-club-card {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: 18px;
  padding: 14px;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 16px;
  background: rgba(255, 255, 255, .045);
}

.admin-club-card > img {
  width: 180px;
  height: 130px;
  border-radius: 12px;
  object-fit: cover;
}

.admin-club-card h3 {
  margin: 4px 0 8px;
}

.admin-club-card details {
  grid-column: 1 / -1;
}

.admin-club-card summary {
  cursor: pointer;
  color: var(--yellow);
  font-weight: 900;
}

@media (max-width: 980px) {
  .clubs-network-section,
  .club-detail-hero {
    grid-template-columns: 1fr;
  }

  .club-card-grid.teaser,
  .club-card-grid.catalog,
  .club-detail-grid,
  .clubs-value-grid {
    grid-template-columns: 1fr;
  }

  .club-filter-form,
  .admin-form-grid,
  .admin-club-card {
    grid-template-columns: 1fr;
  }

  .admin-club-card > img {
    width: 100%;
  }
}

/* PROFI FIT v3 product layout */
.site-header {
  height: 72px;
  padding: 0 clamp(18px, 4vw, 64px);
  gap: 18px;
}

.site-header nav {
  gap: clamp(14px, 2vw, 30px);
}

.header-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.language-picker {
  position: relative;
  z-index: 70;
}

.language-picker summary {
  list-style: none;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  height: 42px;
  padding: 0 12px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 9px;
  color: #fff;
  background: rgba(255,255,255,.055);
  cursor: pointer;
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease, background .22s ease;
}

.language-picker summary::-webkit-details-marker {
  display: none;
}

.language-picker summary:hover,
.language-picker[open] summary {
  transform: translateY(-1px);
  border-color: rgba(217,221,24,.48);
  background: rgba(217,221,24,.1);
  box-shadow: 0 14px 40px rgba(217,221,24,.12);
}

.language-picker summary span:not(.ui-icon) {
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .08em;
}

.language-picker .ui-icon,
.login-link .ui-icon {
  width: 19px;
  height: 19px;
}

.language-picker > div {
  position: absolute;
  top: calc(100% + 9px);
  right: 0;
  display: grid;
  min-width: 156px;
  padding: 7px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 10px;
  background: rgba(10,10,12,.96);
  box-shadow: 0 28px 80px rgba(0,0,0,.55);
  backdrop-filter: blur(18px);
}

.language-picker a {
  display: flex;
  align-items: center;
  min-height: 34px;
  padding: 0 10px;
  border-radius: 7px;
  color: rgba(255,255,255,.72);
  font-size: 12px;
  font-weight: 850;
}

.language-picker a:hover,
.language-picker a.active {
  color: #101013;
  background: var(--yellow);
}

.login-link {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 42px;
  padding: 0 16px;
  border: 0;
  border-radius: 9px;
  color: #111;
  background: var(--brand);
  box-shadow: 0 14px 36px rgba(236,0,81,.32), inset 0 1px 0 rgba(255,255,255,.25);
  cursor: pointer;
  overflow: hidden;
  isolation: isolate;
}

.login-link::after,
.secondary-action.solid::after,
.primary-action::after {
  content: "";
  position: absolute;
  inset: -1px;
  z-index: -1;
  background: linear-gradient(115deg, transparent 0 34%, rgba(255,255,255,.55), transparent 66% 100%);
  transform: translateX(-125%);
  animation: profi-shine 3.4s ease-in-out infinite;
}

.login-link:hover {
  transform: translateY(-1px);
  box-shadow: 0 20px 48px rgba(236,0,81,.42);
}

.hero-section.hero-v3 {
  min-height: calc(100svh - 72px);
  padding: clamp(28px, 4vw, 58px) clamp(18px, 5vw, 82px) clamp(28px, 4vw, 56px);
  grid-template-columns: minmax(0, .98fr) minmax(360px, .88fr);
  gap: clamp(22px, 4vw, 72px);
}

.hero-v3 .hero-content {
  align-self: center;
  max-width: 760px;
}

.hero-v3 .hero-content h1 {
  max-width: 720px;
  margin: 16px 0 18px;
  font-size: clamp(42px, 5.1vw, 84px);
  line-height: .93;
  letter-spacing: -.045em;
}

.hero-v3 .hero-content h1 em {
  max-width: 650px;
  font-size: .58em;
  line-height: 1.04;
}

.hero-v3 .hero-lead {
  max-width: 620px;
  font-size: clamp(14px, 1.12vw, 17px);
  line-height: 1.58;
}

.hero-v3 .hero-actions {
  gap: 12px;
  margin-top: 24px;
}

.hero-v3 .hero-benefits {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
  max-width: 690px;
  margin-top: 22px;
}

.hero-v3 .hero-benefits div {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 2px 9px;
  align-items: center;
  min-height: 62px;
  padding: 10px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.025));
}

.hero-v3 .hero-benefits .ui-icon {
  grid-row: span 2;
  width: 32px;
  height: 32px;
  border-radius: 9px;
  color: #111;
  background: var(--brand);
  box-shadow: 0 12px 26px rgba(236,0,81,.22);
}

.hero-v3 .hero-benefits b {
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.hero-v3 .hero-benefits span:not(.ui-icon) {
  color: rgba(255,255,255,.56);
  font-size: 10px;
}

.hero-video-bg {
  opacity: 1;
}

.hero-video-bg video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: .64;
  filter: brightness(1.22) contrast(1.08) saturate(1.12);
}

.hero-video-overlay {
  background:
    radial-gradient(circle at 78% 28%, rgba(236,0,81,.18), transparent 34%),
    linear-gradient(90deg, rgba(8,8,10,.82) 0 29%, rgba(8,8,10,.62) 48%, rgba(8,8,10,.9) 100%),
    linear-gradient(180deg, rgba(8,8,10,.46), #0b0b0d 100%);
}

.hero-v3 .coach-cutout {
  position: relative;
  min-height: min(640px, calc(100svh - 96px));
  align-self: end;
  isolation: isolate;
}

.hero-v3 .coach-solo {
  position: absolute;
  left: -2vw;
  right: auto;
  bottom: -42px;
  width: min(560px, 38vw);
  height: min(670px, calc(100svh - 60px));
  overflow: visible;
  background: none;
}

.hero-v3 .coach-solo::before {
  inset: 9% 18% 5%;
  border-radius: 42px;
  background: radial-gradient(circle at 52% 24%, rgba(217,221,24,.22), transparent 38%), linear-gradient(180deg, rgba(236,0,81,.15), transparent 70%);
  filter: blur(22px);
}

.hero-v3 .coach-solo::after {
  display: none;
}

.hero-v3 .coach-solo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center bottom;
  filter: saturate(1.03) contrast(1.12) drop-shadow(0 42px 42px rgba(0,0,0,.78));
  mix-blend-mode: normal;
}

.hero-v3 .coach-title-card {
  position: absolute;
  right: 2%;
  top: 42%;
  z-index: 3;
  width: min(330px, 54%);
  padding: 14px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 12px;
  background: rgba(12,12,15,.42);
  box-shadow: 0 24px 74px rgba(0,0,0,.42);
  backdrop-filter: blur(16px);
}

.hero-v3 .coach-title-card::before {
  opacity: .55;
}

.hero-v3 .coach-title-card strong {
  margin: 6px 0 10px;
  font-size: clamp(19px, 1.8vw, 27px);
}

.hero-v3 .award-list {
  display: grid;
  gap: 6px;
}

.hero-v3 .award-list span {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  padding: 6px 8px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 8px;
  background: rgba(255,255,255,.045);
}

.hero-v3 .award-list .ui-icon {
  width: 22px;
  height: 22px;
  color: var(--yellow);
}

.hero-v3 .award-list b {
  font-size: 10px;
  letter-spacing: .04em;
}

.platform-section,
.coach-story-section,
.app-bot-section,
.results-proof-section,
.reviews-section,
.faq-section-v3,
.programs-section-v3 {
  padding: clamp(58px, 7vw, 108px) clamp(18px, 6vw, 92px);
}

.platform-section {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(320px, .82fr);
  gap: clamp(26px, 6vw, 88px);
  align-items: center;
  background:
    radial-gradient(circle at 88% 12%, rgba(217,221,24,.1), transparent 28%),
    linear-gradient(180deg, #0e0e11, #151518);
}

.platform-copy h2,
.coach-story-copy h2,
.app-bot-section h2,
.results-proof-section h2,
.reviews-section h2,
.faq-section-v3 h2,
.programs-section-v3 h2,
.admin-page h1,
.cabinet-hero h1 {
  max-width: 930px;
  margin: 14px 0;
  font-size: clamp(30px, 4.2vw, 58px);
  line-height: 1.02;
  letter-spacing: -.035em;
  text-transform: uppercase;
}

.platform-copy > p:not(.eyebrow),
.coach-story-copy > p,
.programs-section-v3 .section-head p,
.app-bot-section p,
.results-proof-section p,
.reviews-section p,
.faq-section-v3 p,
.admin-page p,
.cabinet-hero p {
  color: rgba(255,255,255,.66);
  font-size: clamp(14px, 1.18vw, 17px);
  line-height: 1.64;
}

.platform-points,
.app-features,
.achievement-grid,
.review-grid,
.before-after-grid {
  display: grid;
  gap: 14px;
}

.platform-points {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 26px 0;
}

.platform-points article,
.app-features article,
.achievement-grid article,
.review-grid article,
.before-after-grid > article,
.cabinet-card,
.analytics-board article,
.admin-tables article {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.025));
  box-shadow: 0 26px 80px rgba(0,0,0,.22);
}

.platform-points article,
.app-features article,
.achievement-grid article {
  display: grid;
  gap: 8px;
  padding: 18px;
}

.platform-points .ui-icon,
.app-features .ui-icon,
.achievement-grid .ui-icon,
.admin-page .ui-icon {
  width: 32px;
  height: 32px;
  color: var(--yellow);
}

.platform-points b,
.app-features b,
.achievement-grid b,
.review-grid b {
  font-size: 15px;
  font-weight: 950;
}

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

.review-photo-card {
  display: grid;
  grid-template-rows: 170px 1fr;
  min-height: 430px;
}

.review-photo-card::before {
  content: "";
  position: absolute;
  inset: auto 18px 18px 18px;
  height: 90px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(236,0,81,.22), transparent 62%);
  filter: blur(18px);
  pointer-events: none;
}

.review-photo-card > img {
  width: 100%;
  height: 170px;
  object-fit: cover;
  filter: saturate(.94) contrast(1.08);
}

.review-photo-card > div {
  position: relative;
  z-index: 2;
  display: grid;
  align-content: start;
  gap: 10px;
  padding: 18px;
}

.review-photo-card small {
  width: fit-content;
  padding: 7px 9px;
  border-radius: 999px;
  color: var(--yellow);
  background: rgba(217,221,24,.08);
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.platform-points span,
.app-features span,
.achievement-grid span,
.review-grid span,
.before-after-grid p,
.footer-main p,
.footer-nav a {
  color: rgba(255,255,255,.62);
  font-size: 13px;
  line-height: 1.5;
}

.primary-action.compact {
  min-height: 46px;
  padding: 0 22px;
}

.platform-video-card {
  position: relative;
  min-height: 520px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 18px;
  background: #070708;
  box-shadow: 0 38px 110px rgba(0,0,0,.38);
}

.platform-video-card video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .72;
  filter: brightness(1.08) contrast(1.08);
}

.platform-video-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 28%, rgba(7,7,8,.94) 100%);
}

.platform-video-card > div {
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 18px;
  z-index: 2;
  display: grid;
  gap: 5px;
  padding: 18px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 12px;
  background: rgba(10,10,12,.55);
  backdrop-filter: blur(16px);
}

.platform-video-card small,
.program-card-top span,
.review-grid span {
  color: var(--yellow);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.platform-video-card b {
  font-size: clamp(22px, 2.6vw, 34px);
  line-height: 1.03;
}

.coach-story-section {
  display: grid;
  grid-template-columns: minmax(320px, .84fr) minmax(0, 1fr);
  gap: clamp(30px, 6vw, 86px);
  align-items: center;
  background: #101013;
}

.coach-story-media {
  position: relative;
  min-height: 620px;
}

.coach-story-media img:first-child {
  position: absolute;
  inset: 0 auto auto 0;
  width: 78%;
  height: 590px;
  object-fit: cover;
  object-position: center top;
  border-radius: 18px;
  box-shadow: 0 34px 120px rgba(0,0,0,.42);
}

.coach-story-media img:nth-child(2) {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 46%;
  height: 300px;
  object-fit: cover;
  border: 8px solid #101013;
  border-radius: 16px;
  box-shadow: 0 22px 80px rgba(0,0,0,.44);
}

.achievement-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 24px;
}

.source-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 18px;
}

.source-links a {
  padding: 9px 11px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 8px;
  color: rgba(255,255,255,.7);
  font-size: 11px;
  font-weight: 900;
}

.programs-section-v3 {
  background: var(--cream);
  color: #121215;
}

.programs-section-v3 .eyebrow,
.programs-section-v3 .section-head p {
  color: #6b665d;
}

.program-market {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 34px;
}

.program-card-v3 {
  display: grid;
  gap: 18px;
  padding: 20px;
  border: 1px solid rgba(18,18,21,.12);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 26px 80px rgba(20,20,24,.09);
}

.program-card-top h3 {
  margin: 10px 0 8px;
  font-size: clamp(22px, 2.4vw, 34px);
  line-height: 1.02;
  letter-spacing: -.03em;
  text-transform: uppercase;
}

.program-card-top p {
  margin: 0;
  color: #5d5a53;
  line-height: 1.55;
}

.tariff-lines {
  display: grid;
  gap: 9px;
}

.tariff-line {
  display: grid;
  grid-template-columns: .72fr 1fr;
  gap: 10px;
  align-items: center;
  padding: 11px;
  border: 1px solid rgba(18,18,21,.1);
  border-radius: 12px;
  background: #f6f3ec;
}

.tariff-line b {
  display: block;
  color: #151518;
  font-size: 13px;
  font-weight: 950;
}

.tariff-line small {
  color: #6d6960;
  font-size: 11px;
  line-height: 1.3;
}

.price-buttons {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
}

.price-buttons a {
  display: grid;
  place-items: center;
  min-height: 50px;
  padding: 6px;
  border-radius: 9px;
  color: #111;
  background: linear-gradient(135deg, rgba(236,0,81,.12), rgba(255,103,23,.12), rgba(217,221,24,.2));
  box-shadow: inset 0 0 0 1px rgba(18,18,21,.08);
  transition: transform .2s ease, box-shadow .2s ease;
}

.price-buttons a:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 34px rgba(236,0,81,.18);
}

.price-buttons strong {
  font-size: 11px;
}

.price-buttons span {
  font-size: 13px;
  font-weight: 950;
}

.app-bot-section {
  display: grid;
  grid-template-columns: minmax(320px, .82fr) minmax(0, 1fr);
  gap: clamp(28px, 7vw, 96px);
  align-items: center;
  background:
    radial-gradient(circle at 22% 12%, rgba(236,0,81,.24), transparent 30%),
    #0b0b0d;
}

.app-device {
  position: relative;
  min-height: 620px;
}

.phone-shell {
  position: absolute;
  left: 6%;
  top: 0;
  width: min(360px, 76vw);
  min-height: 590px;
  padding: 14px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 38px;
  background: linear-gradient(180deg, #202026, #080809);
  box-shadow: 0 38px 120px rgba(0,0,0,.5);
}

.phone-screen {
  min-height: 560px;
  padding: 24px;
  border-radius: 28px;
  background:
    radial-gradient(circle at 68% 10%, rgba(217,221,24,.18), transparent 28%),
    linear-gradient(180deg, #111115, #070708);
}

.app-bot-section .phone-screen {
  position: relative;
  min-height: 560px;
  padding: 0;
  overflow: hidden;
  background:
    radial-gradient(circle at 70% 0, rgba(217,221,24,.16), transparent 30%),
    linear-gradient(180deg, #111115, #070708);
}

.app-bot-section .phone-screen > *:not(.app-cabinet-preview-img) {
  display: none !important;
}

.app-cabinet-preview-img {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center top !important;
  border-radius: inherit !important;
}

.app-bot-section .phone-screen::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url("../img/app-cabinet-preview.png") center top / cover no-repeat;
  transform: translateZ(0);
}

.app-bot-section .phone-screen::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  z-index: 2;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.08),
    inset 0 -90px 120px rgba(0,0,0,.34);
}

.phone-screen img {
  width: 128px;
}

.phone-screen h3 {
  margin: 42px 0 8px;
  font-size: 34px;
}

.phone-screen b {
  display: block;
  color: transparent;
  background: var(--brand);
  background-clip: text;
  font-size: 28px;
  line-height: 1.05;
}

.mini-bars {
  display: flex;
  align-items: end;
  gap: 9px;
  height: 150px;
  margin-top: 34px;
}

.mini-bars i {
  flex: 1;
  border-radius: 999px 999px 5px 5px;
  background: var(--brand);
}

.bot-card {
  position: absolute;
  right: 0;
  bottom: 46px;
  display: grid;
  gap: 8px;
  max-width: 270px;
  padding: 18px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 14px;
  background: rgba(11,11,13,.72);
  box-shadow: 0 24px 84px rgba(0,0,0,.44);
  backdrop-filter: blur(16px);
}

.bot-card .ui-icon {
  width: 34px;
  height: 34px;
  color: var(--yellow);
}

.app-features {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 24px;
}

.results-proof-section {
  background: #111114;
}

.before-after-grid {
  grid-template-columns: 1fr .85fr 1fr;
  margin-top: 30px;
}

.before-after-grid > article {
  padding: 16px;
}

.compare-card {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
  min-height: 280px;
}

.compare-card figure {
  position: relative;
  min-height: 280px;
  margin: 0;
  overflow: hidden;
  border-radius: 12px;
}

.compare-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.9) contrast(1.08);
}

.compare-card figcaption {
  position: absolute;
  left: 10px;
  bottom: 10px;
  padding: 7px 9px;
  border-radius: 8px;
  color: #111;
  background: var(--yellow);
  font-size: 11px;
  font-weight: 950;
}

.before-after-grid h3,
.cabinet-card h2,
.admin-tables h2 {
  margin: 14px 0 8px;
  font-size: 22px;
  line-height: 1.08;
}

.result-stats {
  display: grid;
  gap: 10px;
}

.result-stats span {
  display: grid;
  min-height: 92px;
  padding: 16px;
  border-radius: 12px;
  background: #f3f0e9;
  color: #151518;
}

.result-stats b {
  font-size: 32px;
}

.review-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 30px;
}

.review-grid article {
  padding: 22px;
}

.faq-section-v3 {
  background: #0d0d0f;
}

.faq-section-v3 .faq-grid {
  margin-top: 30px;
}

.site-footer {
  padding-top: 62px;
}

.footer-main {
  grid-template-columns: 1.25fr .75fr 1fr 1fr;
}

.footer-nav {
  display: grid;
  gap: 10px;
}

.footer-nav span,
.footer-apps > span,
.footer-payments > span {
  color: #fff;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.footer-social {
  display: flex;
  gap: 8px;
  margin-top: 16px;
}

.footer-social a {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 10px;
  color: var(--yellow);
  background: rgba(255,255,255,.055);
}

.footer-social .ui-icon,
.footer-payments .ui-icon,
.store-btn .ui-icon {
  width: 20px;
  height: 20px;
}

.footer-payments em {
  gap: 7px;
  border-radius: 10px;
}

.store-btn {
  gap: 9px;
  border-radius: 10px;
}

.form-page.with-coach {
  position: relative;
  overflow: hidden;
}

.form-page.with-coach .questionnaire-card {
  position: relative;
  z-index: 2;
}

.form-coach-bg {
  top: 18px;
  right: clamp(0px, 4vw, 70px);
  bottom: auto;
  height: min(760px, 94vh);
  opacity: .42;
}

.form-coach-bg img {
  object-fit: contain;
  object-position: center top;
}

.selected-plan-note {
  display: flex;
  gap: 12px;
  align-items: center;
  margin: 18px 0;
  padding: 14px;
  border: 1px solid rgba(217,221,24,.22);
  border-radius: 10px;
  background: rgba(217,221,24,.07);
}

.selected-plan-note .ui-icon {
  width: 30px;
  height: 30px;
  color: var(--yellow);
}

.selected-plan-note b,
.selected-plan-note span {
  display: block;
}

.selected-plan-note span {
  color: rgba(255,255,255,.62);
  font-size: 13px;
}

.form-page input,
.form-page select,
.form-page textarea,
.auth-modal input {
  border-radius: 8px;
}

.check-row {
  display: flex !important;
  grid-template-columns: none !important;
  align-items: center;
  gap: 10px !important;
  margin-top: 12px;
}

.password-tip {
  margin: 0;
  color: rgba(255,255,255,.56);
  font-size: 12px;
}

.dashboard-v3,
.admin-page {
  min-height: calc(100vh - 72px);
  padding: clamp(38px, 5vw, 74px) clamp(18px, 6vw, 92px);
  color: #fff;
  background:
    radial-gradient(circle at 82% 6%, rgba(236,0,81,.18), transparent 30%),
    #0b0b0d;
}

.cabinet-hero,
.admin-hero {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: end;
  margin-bottom: 28px;
}

.profile-card {
  display: grid;
  gap: 8px;
  min-width: 260px;
  padding: 18px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 14px;
  background: rgba(255,255,255,.055);
}

.profile-card .ui-icon {
  width: 42px;
  height: 42px;
  color: var(--yellow);
}

.profile-card a,
.cabinet-card a {
  color: var(--yellow);
  font-weight: 900;
}

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

.cabinet-card {
  padding: 18px;
}

.workout-plan {
  grid-column: span 2;
}

.workout-plan ol,
.nutrition-card ul {
  margin: 14px 0;
  padding-left: 20px;
  color: rgba(255,255,255,.74);
  line-height: 1.8;
}

.workout-plan .locked {
  color: rgba(255,255,255,.44);
}

.mini-form,
.calc-form {
  display: grid;
  gap: 9px;
}

.mini-form input,
.mini-form select,
.mini-form textarea,
.calc-form input,
.calc-form select {
  width: 100%;
  min-height: 42px;
  padding: 0 12px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 8px;
  color: #fff;
  background: rgba(255,255,255,.055);
}

.mini-form textarea {
  min-height: 96px;
  padding-top: 12px;
}

.mini-form button,
.workout-plan button {
  min-height: 42px;
  border: 0;
  border-radius: 9px;
  color: #111;
  background: var(--brand);
  font-weight: 950;
  cursor: pointer;
}

.swap-list {
  display: grid;
  gap: 8px;
}

.swap-list span {
  padding: 10px;
  border-radius: 9px;
  background: rgba(255,255,255,.055);
  color: rgba(255,255,255,.74);
}

.analytics-board {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 22px;
}

.analytics-board article {
  display: grid;
  gap: 8px;
  padding: 16px;
}

.analytics-board article > b {
  color: transparent;
  background: var(--brand);
  background-clip: text;
  font-size: 18px;
}

.analytics-board span {
  display: flex;
  gap: 7px;
  align-items: center;
  color: rgba(255,255,255,.72);
  font-size: 12px;
}

.admin-tables {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.admin-tables article {
  padding: 18px;
}

.admin-login-card {
  max-width: 520px;
  margin: 8vh auto;
  padding: 28px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 16px;
  background: rgba(255,255,255,.055);
  box-shadow: 0 34px 100px rgba(0,0,0,.34);
}

.table-scroll {
  overflow-x: auto;
}

.admin-tables table {
  width: 100%;
  border-collapse: collapse;
  min-width: 560px;
  color: rgba(255,255,255,.72);
  font-size: 12px;
}

.admin-tables th,
.admin-tables td {
  padding: 10px;
  border-bottom: 1px solid rgba(255,255,255,.08);
  text-align: left;
}

.admin-tables th {
  color: var(--yellow);
  font-size: 10px;
  text-transform: uppercase;
}

.empty-note {
  color: rgba(255,255,255,.55);
}

.admin-total-users {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 14px;
  padding: 10px 12px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 10px;
  background: rgba(255,255,255,.055);
}

.admin-total-users .ui-icon {
  width: 26px;
  height: 26px;
  color: var(--yellow);
}

.admin-total-users b {
  color: var(--yellow);
  font-size: 24px;
}

.admin-total-users span {
  color: rgba(255,255,255,.62);
  font-size: 12px;
}

@keyframes profi-shine {
  0%, 42% { transform: translateX(-125%); }
  58%, 100% { transform: translateX(125%); }
}

@media (max-width: 1180px) {
  .program-market,
  .admin-tables {
    grid-template-columns: 1fr;
  }

  .cabinet-grid,
  .analytics-board {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 920px) {
  .site-header nav {
    display: none;
  }

  .hero-section.hero-v3,
  .platform-section,
  .coach-story-section,
  .app-bot-section {
    grid-template-columns: 1fr;
  }

  .hero-v3 .coach-cutout {
    min-height: 440px;
  }

  .hero-v3 .coach-solo {
    left: 0;
    width: min(440px, 62vw);
    height: 480px;
  }

  .hero-v3 .coach-title-card {
    right: 0;
    top: 90px;
    width: min(340px, 58vw);
  }

  .before-after-grid,
  .review-grid,
  .cabinet-grid {
    grid-template-columns: 1fr;
  }

  .workout-plan {
    grid-column: auto;
  }
}

@media (max-width: 720px) {
  .site-header {
    height: 64px;
    padding: 0 12px;
    gap: 8px;
  }

  .brand-logo {
    width: 118px;
    height: 48px;
  }

  .brand-logo img {
    width: 118px;
  }

  .header-actions {
    gap: 5px;
    margin-left: auto;
  }

  .language-picker {
    margin-left: 0;
  }

  .language-picker summary {
    height: 37px;
    padding: 0 9px;
    border-radius: 8px;
  }

  .language-picker .ui-icon,
  .login-link .ui-icon {
    width: 17px;
    height: 17px;
  }

  .language-picker summary span:not(.ui-icon) {
    font-size: 10px;
  }

  .language-picker > div {
    min-width: 138px;
  }

  .login-link {
    height: 37px;
    padding: 0 11px;
    border-radius: 8px;
  }

  .login-link span:not(.ui-icon) {
    font-size: 0;
  }

  .hero-section.hero-v3 {
    min-height: calc(100svh - 64px);
    grid-template-rows: auto 1fr;
    gap: 0;
    padding: 20px 14px 18px;
  }

  .hero-v3 .hero-content h1 {
    margin: 10px 0 10px;
    font-size: clamp(30px, 10.6vw, 42px);
    letter-spacing: -.04em;
  }

  .hero-v3 .hero-lead {
    max-width: 96%;
    font-size: 12.5px;
    line-height: 1.42;
  }

  .hero-v3 .hero-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 7px;
    margin-top: 12px;
  }

  .hero-v3 .hero-actions a {
    width: 100%;
    min-height: 39px;
    padding: 0 13px;
    border-radius: 9px;
    font-size: 9.5px;
  }

  .hero-v3 .hero-benefits {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 5px;
    margin-top: 10px;
  }

  .hero-v3 .hero-benefits div {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 58px;
    padding: 6px 4px;
    border-radius: 9px;
    text-align: center;
  }

  .hero-v3 .hero-benefits .ui-icon {
    width: 25px;
    height: 25px;
  }

  .hero-v3 .hero-benefits b {
    font-size: 8.5px;
  }

  .hero-v3 .hero-benefits span:not(.ui-icon) {
    font-size: 0;
  }

  .hero-v3 .coach-cutout {
    min-height: min(42svh, 360px);
    margin-top: -8px;
    overflow: hidden;
  }

  .hero-v3 .coach-solo {
    left: -18vw;
    bottom: -25px;
    width: 76vw;
    height: min(42svh, 380px);
    transform: scaleX(-1);
  }

  .hero-v3 .coach-solo img {
    object-position: center bottom;
  }

  .hero-v3 .coach-title-card {
    top: 44px;
    right: -8px;
    width: min(236px, 62vw);
    padding: 10px;
    border-radius: 10px;
    background: rgba(12,12,15,.38);
  }

  .hero-v3 .coach-title-card strong {
    font-size: 16px;
  }

  .hero-v3 .award-list {
    gap: 5px;
  }

  .hero-v3 .award-list span {
    min-height: 28px;
    padding: 4px 6px;
  }

  .hero-v3 .award-list .ui-icon {
    width: 18px;
    height: 18px;
  }

  .hero-v3 .award-list b {
    font-size: 8px;
  }

  .platform-points,
  .app-features,
  .achievement-grid,
  .price-buttons,
  .analytics-board {
    grid-template-columns: 1fr;
  }

  .platform-video-card {
    min-height: 360px;
  }

  .coach-story-media {
    min-height: 430px;
  }

  .coach-story-media img:first-child {
    width: 86%;
    height: 400px;
  }

  .coach-story-media img:nth-child(2) {
    width: 46%;
    height: 190px;
    border-width: 5px;
  }

  .tariff-line {
    grid-template-columns: 1fr;
  }

  .app-device {
    min-height: 520px;
  }

  .phone-shell {
    left: 0;
    width: 78vw;
    min-height: 500px;
    border-radius: 30px;
  }

  .phone-screen {
    min-height: 470px;
    border-radius: 22px;
  }

  .app-bot-section .phone-screen {
    min-height: 470px;
  }

  .bot-card {
    right: 0;
    bottom: 18px;
    max-width: 210px;
  }

  .compare-card {
    min-height: 230px;
  }

  .compare-card figure {
    min-height: 230px;
  }

  .footer-main {
    grid-template-columns: 1fr;
  }

  .cabinet-hero,
  .admin-hero {
    display: grid;
    align-items: start;
  }

  .form-coach-bg {
    top: 72px;
    right: -88px;
    height: 460px;
    opacity: .18;
    pointer-events: none;
  }

  .form-page.with-coach .questionnaire-card {
    background: rgba(16,16,18,.86);
    backdrop-filter: blur(8px);
  }
}

.pf-video-player {
  position: relative;
  overflow: hidden;
  min-height: 220px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 18px;
  background: radial-gradient(circle at 15% 10%, rgba(236,0,81,.26), transparent 32%), #070709;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 18px 54px rgba(0,0,0,.34);
}

.pf-video-player video {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  background: #050506;
}

.pf-player-play {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  border: 0;
  color: #fff;
  background: linear-gradient(180deg, rgba(0,0,0,.16), rgba(0,0,0,.62));
  font-weight: 950;
  letter-spacing: .02em;
  cursor: pointer;
  transition: opacity .2s ease, transform .2s ease;
}

.pf-player-play .ui-icon {
  width: 52px;
  height: 52px;
  color: #e4e800;
  border-radius: 999px;
  border: 1px solid rgba(228,232,0,.35);
  background: rgba(0,0,0,.42);
  box-shadow: 0 0 36px rgba(236,0,81,.38);
}

.pf-video-player.is-playing .pf-player-play {
  opacity: 0;
  pointer-events: none;
}

.pf-player-bottom {
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 16px;
  z-index: 2;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  color: #fff;
  pointer-events: none;
}

.pf-player-bottom b {
  display: block;
  max-width: 360px;
  font-size: 14px;
  line-height: 1.2;
}

.pf-player-bottom span {
  display: block;
  margin-top: 4px;
  color: rgba(255,255,255,.72);
  font-size: 12px;
}

.pf-player-bottom button {
  pointer-events: auto;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 10px;
  padding: 8px 10px;
  color: #fff;
  background: rgba(15,15,18,.72);
  font-size: 11px;
  font-weight: 800;
}

.pf-player-track {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 3;
  height: 7px;
  padding: 0;
  border: 0;
  background: rgba(255,255,255,.16);
  cursor: pointer;
}

.pf-player-track span {
  display: block;
  width: 0;
  height: 100%;
  background: linear-gradient(90deg, #ef0051, #ff6b1a, #e4e800);
}

.exercise-alternatives {
  margin: 12px 0 0;
  border: 1px solid rgba(228,232,0,.16);
  border-radius: 14px;
  background: rgba(228,232,0,.04);
}

.exercise-alternatives summary {
  padding: 11px 13px;
  color: #e4e800;
  font-weight: 900;
  cursor: pointer;
}

.exercise-alt-list {
  display: grid;
  gap: 8px;
  padding: 0 12px 12px;
}

.exercise-alt-list span {
  display: grid;
  grid-template-columns: 24px 1fr;
  gap: 7px 9px;
  align-items: center;
  padding: 10px;
  border-radius: 12px;
  background: rgba(255,255,255,.055);
}

.exercise-alt-list .ui-icon {
  grid-row: span 2;
  color: #e4e800;
}

.exercise-alt-list b {
  color: #fff;
  font-size: 13px;
}

.exercise-alt-list small {
  color: rgba(255,255,255,.58);
  font-size: 11px;
}

.admin-import-panels .admin-upload-form small {
  display: inline-flex;
  width: fit-content;
  margin-top: 4px;
  padding: 7px 10px;
  border: 1px solid rgba(228,232,0,.18);
  border-radius: 999px;
  color: #e4e800;
  background: rgba(228,232,0,.07);
  font-weight: 800;
}

@media (max-width: 720px) {
  .pf-video-player {
    min-height: 190px;
    border-radius: 14px;
  }

  .pf-player-bottom {
    left: 9px;
    right: 9px;
    bottom: 13px;
  }

  .pf-player-bottom b {
    max-width: 220px;
    font-size: 12px;
  }
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--text); background: var(--background); font-family: Inter, Arial, Helvetica, sans-serif; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; }
button, input { font: inherit; }

body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(circle at 75% 12%, rgba(236, 0, 81, .2), transparent 30%),
    radial-gradient(circle at 12% 48%, rgba(217, 221, 24, .08), transparent 24%),
    linear-gradient(180deg, #0b0b0d, #121216 45%, #0b0b0d);
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  height: 82px;
  display: flex;
  align-items: center;
  gap: 26px;
  padding: 0 5vw;
  border-bottom: 1px solid var(--line);
  background: rgba(11, 11, 13, .88);
  backdrop-filter: blur(18px);
}

.brand-logo { width: 146px; height: 58px; display: flex; align-items: center; overflow: hidden; }
.brand-logo img { width: 146px; max-width: none; }
.brand-logo strong { display: none; color: transparent; background: var(--brand); background-clip: text; font-size: 22px; font-weight: 950; white-space: nowrap; }
.site-header nav { display: flex; gap: 24px; margin-left: auto; color: #dedbd5; font-size: 12px; font-weight: 850; }
.site-header nav a { position: relative; }
.site-header nav a::after { content: ""; position: absolute; left: 0; right: 0; bottom: -7px; height: 2px; transform: scaleX(0); transform-origin: left; background: var(--brand); transition: transform .2s ease; }
.site-header nav a:hover::after { transform: scaleX(1); }
.language-links { display: flex; gap: 6px; }
.language-links a { padding: 7px 9px; border: 1px solid var(--line); border-radius: 999px; color: #aaa; font-size: 10px; font-weight: 900; }
.language-links a.active { color: #111; background: var(--yellow); }
.login-link { color: var(--yellow); font-size: 12px; font-weight: 950; }

.eyebrow { display: flex; align-items: center; gap: 12px; margin: 0; color: #c9c5bd; font-size: 11px; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }
.eyebrow::before { content: ""; width: 38px; height: 3px; background: var(--brand); }

.hero-section {
  position: relative;
  min-height: 820px;
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  align-items: center;
  gap: 58px;
  padding: 70px 6vw 55px;
  overflow: hidden;
}

.hero-bg-line {
  position: absolute;
  right: -120px;
  top: 105px;
  width: 600px;
  height: 600px;
  border: 90px solid rgba(236, 0, 81, .38);
  border-radius: 50%;
  animation: pulse-ring 5s ease-in-out infinite;
}

.hero-content { position: relative; z-index: 2; }
.hero-content h1 { max-width: 900px; margin: 24px 0 26px; font-size: clamp(64px, 8vw, 124px); line-height: .86; letter-spacing: -.055em; text-transform: uppercase; }
.hero-content h1 span, .hero-content h1 em { display: block; }
.hero-content h1 em { max-width: 800px; color: transparent; background: var(--brand); background-clip: text; font-size: .64em; font-style: normal; line-height: 1.03; }
.hero-lead { max-width: 660px; color: #bbb8b0; font-size: 18px; line-height: 1.68; }
.hero-actions { display: flex; align-items: center; gap: 22px; margin-top: 34px; }
.primary-action, .secondary-action, .pricing-grid a, .next-workout a, .form-page button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0 24px;
  border: 0;
  border-radius: 12px;
  color: #fff;
  background: var(--brand);
  box-shadow: 0 16px 38px rgba(236, 0, 81, .22);
  font-size: 12px;
  font-weight: 950;
  transition: transform .2s ease, box-shadow .2s ease;
}
.primary-action:hover, .pricing-grid a:hover, .next-workout a:hover, .form-page button:hover { transform: translateY(-2px); box-shadow: 0 22px 50px rgba(236, 0, 81, .32); }
.secondary-action { color: #f2efe8; background: transparent; box-shadow: none; }
.hero-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; max-width: 620px; margin-top: 46px; }
.hero-stats div { padding: 16px; border: 1px solid var(--line); border-radius: 14px; background: rgba(255, 255, 255, .035); }
.hero-stats b { display: block; font-size: 26px; }
.hero-stats span { color: #8c8982; font-size: 10px; font-weight: 850; text-transform: uppercase; }

.hero-media { position: relative; z-index: 2; align-self: end; min-height: 655px; }
.hero-photo-main {
  position: absolute;
  right: 0;
  bottom: -55px;
  width: min(620px, 46vw);
  height: 650px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.16);
  clip-path: polygon(8% 0, 100% 0, 100% 100%, 0 100%, 0 12%);
  box-shadow: 0 36px 100px rgba(0,0,0,.48);
}
.hero-photo-main::after, .hero-photo-small::after, .proof-gallery figure::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,.38));
}
.hero-photo-main img, .hero-photo-small img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.82) contrast(1.08); transition: transform .5s ease; }
.hero-photo-main:hover img, .hero-photo-small:hover img, .proof-gallery figure:hover img { transform: scale(1.045); }
.hero-photo-small {
  position: absolute;
  left: 0;
  bottom: 45px;
  width: min(245px, 20vw);
  height: 305px;
  overflow: hidden;
  border: 10px solid #0b0b0d;
  border-radius: 18px;
  box-shadow: 0 28px 80px rgba(0,0,0,.45);
}
.coach-card { position: absolute; right: 0; top: 110px; max-width: 290px; padding: 18px 20px; border-left: 3px solid var(--yellow); background: rgba(16, 16, 18, .88); backdrop-filter: blur(12px); }
.coach-card small { color: #918f89; font-size: 9px; letter-spacing: .14em; }
.coach-card strong { display: block; margin: 5px 0 8px; font-size: 19px; }
.coach-card span { color: #aaa7a0; font-size: 10px; line-height: 1.5; }

.marquee-strip { overflow: hidden; border-block: 1px solid var(--line); background: #111113; }
.marquee-strip div { display: flex; gap: 54px; width: max-content; padding: 22px 0; animation: marquee 22s linear infinite; }
.marquee-strip span { color: transparent; -webkit-text-stroke: 1px rgba(255,255,255,.35); font-size: 26px; font-weight: 950; letter-spacing: .08em; }

.content-section, .pricing-section, .results-section, .coach-section, .visual-proof-section, .final-cta { padding: 110px 7vw; }
.section-head { max-width: 860px; }
.section-head.centered { margin: 0 auto 52px; text-align: center; }
.section-head.centered .eyebrow { justify-content: center; }
.section-head h2, .pricing-section h2, .results-section h2, .coach-section h2, .final-cta h2 { margin: 20px 0; font-size: clamp(44px, 5.6vw, 82px); line-height: .94; letter-spacing: -.048em; text-transform: uppercase; }
.section-head p:last-child { max-width: 720px; color: var(--muted); font-size: 16px; line-height: 1.7; }

.feature-grid, .program-grid, .pricing-grid, .faq-grid, .admin-grid, .dashboard-grid {
  display: grid;
  gap: 16px;
}
.feature-grid { grid-template-columns: repeat(4, 1fr); margin-top: 58px; }
.feature-grid article, .program-grid article, .pricing-grid article, .dashboard-grid article, .admin-grid article, .queue, .faq-grid details {
  position: relative;
  padding: 28px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.025));
  overflow: hidden;
}
.feature-grid article::after, .program-grid article::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 0;
  background: linear-gradient(180deg, transparent, rgba(255, 103, 23, .16));
  transition: height .25s ease;
}
.feature-grid article:hover::after, .program-grid article:hover::after { height: 100%; }
.feature-grid span { color: var(--orange); font-size: 12px; font-weight: 950; }
.feature-grid h3, .program-grid h3 { position: relative; z-index: 1; margin-top: 38px; font-size: 20px; text-transform: uppercase; }
.feature-grid p, .program-grid p, .program-grid li { position: relative; z-index: 1; color: var(--muted); line-height: 1.58; }

.coach-section { display: grid; grid-template-columns: .95fr 1.05fr; align-items: center; gap: 7vw; background: #101013; }
.coach-photo-stack { position: relative; min-height: 650px; }
.coach-photo-stack img { box-shadow: 0 28px 90px rgba(0,0,0,.35); }
.coach-photo-stack img:first-child { position: absolute; left: 0; top: 0; width: 70%; height: 590px; object-fit: cover; clip-path: polygon(0 7%, 92% 0, 100% 93%, 8% 100%); }
.coach-photo-stack img:nth-child(2) { position: absolute; right: 0; bottom: 0; width: 44%; height: 300px; object-fit: cover; border: 10px solid #101013; border-radius: 18px; }
.coach-photo-stack img:nth-child(3) { position: absolute; right: 8%; top: 54px; width: 34%; height: 245px; object-fit: cover; border: 10px solid #101013; border-radius: 18px; filter: contrast(1.1); }
.story-lead, .coach-section blockquote { color: #d3d0c8; font-size: 18px; line-height: 1.72; }
.coach-section blockquote { margin: 28px 0; padding-left: 24px; border-left: 3px solid var(--orange); color: var(--muted); }
.coach-facts { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--line); }
.coach-facts span { padding: 16px 10px; border-right: 1px solid var(--line); text-align: center; font-size: 10px; font-weight: 950; }
.coach-facts span:last-child { border-right: 0; }

.program-grid { grid-template-columns: repeat(3, 1fr); margin-top: 42px; }
.program-grid ul { margin: 20px 0 0; padding-left: 18px; }

.visual-proof-section { background: #0d0d0f; }
.proof-gallery {
  display: grid;
  grid-template-columns: 1.25fr .85fr;
  grid-template-rows: 300px 300px;
  gap: 16px;
  margin-top: 46px;
}
.proof-gallery figure {
  position: relative;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #151518;
}
.proof-gallery figure.large { grid-row: span 2; }
.proof-gallery img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s ease; }
.proof-gallery figure.large img { object-position: 55% center; }
.proof-gallery figcaption {
  position: absolute;
  left: 22px;
  right: 22px;
  bottom: 20px;
  z-index: 2;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
}
.proof-gallery b { font-size: 28px; text-transform: uppercase; }
.proof-gallery span { max-width: 220px; color: #ccc8bf; font-size: 12px; line-height: 1.45; text-align: right; }

.results-section { display: grid; grid-template-columns: .85fr 1.15fr; align-items: center; gap: 6vw; background: var(--cream); color: #17171a; }
.results-section .eyebrow { color: #6a6760; }
.dashboard-preview { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.phone-card, .chart-card, .metric-card { padding: 26px; border-radius: 20px; background: #fffdf8; box-shadow: 0 24px 70px rgba(0,0,0,.12); }
.phone-card { grid-row: span 2; color: #fff; background: radial-gradient(circle at 80% 10%, rgba(236,0,81,.38), transparent 34%), #17171a; }
.phone-card strong { display: block; margin: 40px 0 8px; font-size: 32px; text-transform: uppercase; }
.phone-card p { color: #aaa7a0; }
.phone-card a { color: var(--yellow); font-weight: 950; }
.chart-card { height: 260px; display: flex; align-items: end; gap: 12px; }
.chart-card span { flex: 1; border-radius: 8px 8px 3px 3px; background: #d8d5ce; }
.chart-card span:last-child { background: var(--brand); }
.metric-card b { display: block; margin: 22px 0 8px; font-size: 42px; }

.pricing-section { color: #17171a; background: #f1eee7; }
.pricing-grid { grid-template-columns: repeat(3, 1fr); }
.pricing-grid article { min-height: 360px; display: flex; flex-direction: column; color: #17171a; border-color: #d4d0c8; background: #fffdf8; }
.pricing-grid article.featured { color: #fff; border-color: #17171a; background: #17171a; transform: translateY(-10px); }
.pricing-grid small { color: var(--orange); font-weight: 950; letter-spacing: .14em; }
.pricing-grid h3 { min-height: 70px; font-size: 26px; text-transform: uppercase; }
.pricing-grid p { color: #706d66; line-height: 1.6; }
.pricing-grid .featured p { color: #aaa7a0; }
.pricing-grid a { margin-top: auto; }

.faq-grid { grid-template-columns: repeat(2, 1fr); margin-top: 34px; }
.faq-grid summary { cursor: pointer; font-size: 18px; font-weight: 900; }
.faq-grid p { color: var(--muted); line-height: 1.6; }

.final-cta { min-height: 470px; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; background: radial-gradient(circle at 78% 35%, rgba(217, 221, 24, .15), transparent 28%), #0b0b0d; }
.final-cta h2 { max-width: 850px; }

.form-page { min-height: calc(100vh - 82px); padding: 70px 6vw; background: radial-gradient(circle at 88% 12%, rgba(236, 0, 81, .2), transparent 28%), #0d0d0f; }
.form-page section { max-width: 600px; margin: 0 auto; padding: 34px; border: 1px solid var(--line); border-radius: 18px; background: #151517; }
.form-page.wide section { max-width: 1120px; }
.form-page h1 { margin: 18px 0 16px; font-size: clamp(42px, 6vw, 74px); line-height: .95; text-transform: uppercase; }
.form-page section > p:not(.eyebrow) { color: var(--muted); line-height: 1.65; }
.form-page h2 { margin: 28px 0 12px; font-size: 20px; }
.form-page form, .form-grid { display: grid; gap: 14px; }
.form-grid { grid-template-columns: repeat(3, 1fr); }
.form-page label { display: grid; gap: 8px; color: #d9d7d1; font-size: 11px; font-weight: 850; text-transform: uppercase; }
.form-page input { min-height: 48px; padding: 0 14px; border: 1px solid var(--line); border-radius: 10px; color: #fff; background: #101013; outline: 0; }
.option-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.option-grid label { min-height: 62px; padding: 13px; border: 1px solid var(--line); border-radius: 12px; background: #101013; text-transform: none; cursor: pointer; }
.option-grid input, .consent input { min-height: auto; width: auto; }
.consent { display: flex !important; align-items: center; margin-top: 18px; line-height: 1.5; text-transform: none !important; }

.dashboard { min-height: calc(100vh - 82px); padding: 60px 6vw; color: #202024; background: #efede7; }
.dashboard h1 { margin: 10px 0 30px; font-size: clamp(36px, 5vw, 64px); line-height: 1; }
.dashboard-grid { grid-template-columns: repeat(4, 1fr); }
.next-workout { grid-column: span 2; color: #fff; background: radial-gradient(circle at 85% 20%, rgba(236, 0, 81, .3), transparent 30%), linear-gradient(145deg, #17171a, #242429) !important; }
.next-workout h2 { font-size: 40px; text-transform: uppercase; }
.bars { height: 210px; display: flex; align-items: end; gap: 8px; }
.bars i { flex: 1; border-radius: 5px; background: #d9d6cf; }
.bars i.today { background: var(--brand); }
.dashboard-grid strong, .admin-grid strong { display: block; margin-top: 14px; font-size: 34px; }
.queue { margin-top: 20px; color: #202024; background: #f8f7f3; border-color: #d6d3cc; }
.admin-grid { grid-template-columns: repeat(4, 1fr); }

@keyframes marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

@keyframes pulse-ring {
  0%, 100% { transform: scale(1); opacity: .55; }
  50% { transform: scale(1.06); opacity: .32; }
}

@media (max-width: 1050px) {
  .site-header nav { display: none; }
  .hero-section, .coach-section, .results-section { grid-template-columns: 1fr; }
  .hero-media { min-height: 610px; }
  .hero-photo-main { width: min(620px, 100%); }
  .hero-photo-small { width: 230px; left: 4%; }
  .feature-grid, .admin-grid, .dashboard-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 720px) {
  .site-header { height: auto; flex-wrap: wrap; padding: 12px 18px; gap: 12px; }
  .brand-logo { width: 118px; }
  .brand-logo img { width: 118px; }
  .login-link { margin-left: auto; }
  .hero-section { min-height: auto; padding: 50px 20px 0; }
  .hero-content h1 { font-size: 54px; }
  .hero-actions { align-items: flex-start; flex-direction: column; }
  .hero-stats, .feature-grid, .program-grid, .pricing-grid, .faq-grid, .dashboard-preview, .dashboard-grid, .admin-grid, .form-grid, .option-grid { grid-template-columns: 1fr; }
  .hero-media { min-height: 600px; margin-top: 30px; }
  .hero-photo-main { left: 0; right: auto; bottom: 0; width: 100%; height: 540px; }
  .hero-photo-small { left: auto; right: 12px; bottom: 18px; width: 38%; min-width: 130px; height: 190px; border-width: 6px; border-radius: 14px; }
  .coach-card { left: 12px; right: 12px; top: 24px; max-width: none; }
  .marquee-strip span { font-size: 20px; }
  .content-section, .pricing-section, .results-section, .coach-section, .visual-proof-section, .final-cta, .form-page, .dashboard { padding: 75px 20px; }
  .coach-photo-stack { min-height: 560px; }
  .coach-photo-stack img:first-child { width: 88%; height: 490px; }
  .coach-photo-stack img:nth-child(2) { width: 46%; height: 220px; border-width: 6px; }
  .coach-photo-stack img:nth-child(3) { right: 0; top: 24px; width: 39%; height: 185px; border-width: 6px; }
  .coach-facts { grid-template-columns: repeat(2, 1fr); }
  .proof-gallery { grid-template-columns: 1fr; grid-template-rows: auto; }
  .proof-gallery figure, .proof-gallery figure.large { grid-row: auto; height: 360px; }
  .proof-gallery figcaption { align-items: flex-start; flex-direction: column; }
  .proof-gallery span { text-align: left; }
  .pricing-grid article.featured { transform: none; }
  .next-workout { grid-column: auto; }
}

/* Compact premium refinement */
.hero-section { min-height: 700px; padding: 118px 7vw 64px; }
.hero-content h1 { max-width: 760px; margin: 18px 0; font-size: clamp(42px, 5.4vw, 82px); line-height: .94; letter-spacing: -.044em; }
.hero-content h1 em { max-width: 680px; font-size: .62em; line-height: 1.04; }
.hero-lead, .section-head p, .story-lead, .program-grid p, .pricing-grid p, .faq-grid p, .footer-brand p { font-size: clamp(15px, 1.25vw, 17px); line-height: 1.65; }
.content-section, .pricing-section, .results-section, .coach-section, .visual-proof-section, .final-cta { padding: 82px 7vw; }
.section-head h2, .pricing-section h2, .results-section h2, .coach-section h2, .final-cta h2 { max-width: 920px; margin: 14px 0; font-size: clamp(30px, 3.6vw, 52px); line-height: 1.03; letter-spacing: -.035em; }
.program-grid h3, .pricing-grid h3, .feature-grid h3 { font-size: clamp(22px, 2.2vw, 31px); line-height: 1.08; }
.hero-media { isolation: isolate; }
.hero-photo-main { height: 600px; border-radius: 34px; clip-path: none; background: radial-gradient(circle at 54% 18%, rgba(255,255,255,.12), transparent 28%), linear-gradient(145deg, #18181d, #050506 72%); box-shadow: 0 38px 130px rgba(0,0,0,.62), inset 0 0 0 1px rgba(255,255,255,.08); }
.hero-photo-main::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(7,7,8,.9), transparent 34%, transparent 64%, rgba(7,7,8,.78)), linear-gradient(180deg, transparent 42%, rgba(7,7,8,.92)); pointer-events: none; }
.hero-photo-main img { position: relative; z-index: 0; object-position: 50% 24%; filter: saturate(.9) contrast(1.12) drop-shadow(0 28px 36px rgba(0,0,0,.5)); }
.hero-photo-small { width: 225px; height: 280px; border-radius: 24px; border: 8px solid #0c0c0e; box-shadow: 0 22px 70px rgba(0,0,0,.52); }
.coach-card { max-width: 265px; border: 1px solid rgba(255,255,255,.12); background: rgba(12,12,14,.78); backdrop-filter: blur(18px); }
.coach-photo-stack { min-height: 560px; }
.coach-photo-stack img:first-child { width: 74%; height: 520px; border-radius: 34px; clip-path: none; object-position: center top; filter: saturate(.92) contrast(1.1); }
.coach-photo-stack img:nth-child(2), .coach-photo-stack img:nth-child(3) { border-color: #09090a; border-radius: 22px; }
.proof-gallery figure { border-radius: 28px; overflow: hidden; background: #111115; }
.proof-gallery img { filter: saturate(.9) contrast(1.08); }
.site-footer { position: relative; overflow: hidden; padding: 58px 7vw 28px; color: #fff; background: #070708; border-top: 1px solid rgba(255,255,255,.08); }
.footer-glow { position: absolute; width: 460px; height: 460px; right: -180px; top: -240px; background: radial-gradient(circle, rgba(217,221,24,.2), transparent 64%); pointer-events: none; }
.footer-main { position: relative; display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 34px; align-items: start; }
.footer-logo, .footer-apps > span, .footer-payments > span { display: inline-flex; align-items: center; gap: 12px; margin-bottom: 18px; color: #fff; font-size: 12px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.footer-logo img { width: 138px; max-height: 42px; object-fit: contain; }
.footer-logo strong { display: none; }
.footer-brand p { max-width: 440px; margin: 0; color: rgba(255,255,255,.64); }
.footer-apps div, .footer-payments div { display: flex; flex-wrap: wrap; gap: 10px; }
.store-btn { min-width: 154px; padding: 11px 15px; border: 1px solid rgba(255,255,255,.16); border-radius: 16px; color: #fff; background: rgba(255,255,255,.06); transition: transform .25s ease, border-color .25s ease, background .25s ease; }
.store-btn:hover { transform: translateY(-3px); border-color: rgba(217,221,24,.55); background: rgba(217,221,24,.08); }
.store-btn small, .store-btn b { display: block; }
.store-btn small { color: rgba(255,255,255,.55); font-size: 10px; }
.store-btn b { margin-top: 2px; font-size: 17px; }
.footer-payments em { display: inline-flex; align-items: center; justify-content: center; min-width: 92px; height: 42px; padding: 0 14px; border: 1px solid rgba(255,255,255,.14); border-radius: 999px; color: rgba(255,255,255,.86); background: linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.025)); font-style: normal; font-weight: 900; }
.footer-bottom { position: relative; display: flex; justify-content: space-between; gap: 22px; margin-top: 42px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.08); color: rgba(255,255,255,.48); font-size: 13px; }
.footer-bottom p { margin: 0; }
.footer-bottom nav { display: flex; flex-wrap: wrap; gap: 18px; }
.footer-bottom a { color: rgba(255,255,255,.62); }
.legal-page {
  padding: 145px 7vw 90px;
  background:
    radial-gradient(circle at 15% 10%, rgba(236,0,81,.18), transparent 34%),
    radial-gradient(circle at 90% 5%, rgba(217,221,24,.12), transparent 30%),
    #0b0b0d;
  color: #fff;
}

.legal-hero,
.legal-grid,
.legal-note {
  width: min(1180px, 100%);
  margin: 0 auto;
}

.legal-hero {
  margin-bottom: 26px;
}

.legal-hero h1 {
  max-width: 920px;
  margin: 12px 0 18px;
  font-size: clamp(34px, 5vw, 62px);
  line-height: .96;
  letter-spacing: -.045em;
}

.legal-hero p {
  max-width: 880px;
  color: rgba(255,255,255,.72);
  font-size: clamp(15px, 1.25vw, 18px);
  line-height: 1.7;
}

.legal-hero span {
  display: inline-flex;
  margin-top: 14px;
  padding: 9px 12px;
  border: 1px solid rgba(217,221,24,.18);
  border-radius: 999px;
  color: var(--yellow);
  background: rgba(217,221,24,.07);
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}

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

.legal-card {
  position: relative;
  overflow: hidden;
  margin: 0;
  padding: 24px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 20px;
  background: linear-gradient(145deg, rgba(255,255,255,.07), rgba(255,255,255,.025));
  box-shadow: 0 22px 70px rgba(0,0,0,.2);
}

.legal-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 100% 0, rgba(236,0,81,.12), transparent 42%);
  pointer-events: none;
}

.legal-card small,
.legal-card h2,
.legal-card p {
  position: relative;
  z-index: 2;
}

.legal-card small {
  color: var(--yellow);
  font-weight: 950;
  letter-spacing: .12em;
}

.legal-card h2 {
  margin: 10px 0 14px;
  font-size: clamp(18px, 2vw, 26px);
  line-height: 1.08;
}

.legal-card p {
  margin: 10px 0 0;
  color: rgba(255,255,255,.68);
  line-height: 1.62;
}

.legal-note {
  margin-top: 18px;
  padding: 18px 20px;
  border: 1px solid rgba(217,221,24,.16);
  border-radius: 18px;
  background: rgba(217,221,24,.055);
}

.legal-note b {
  color: var(--yellow);
}

.legal-note p {
  margin: 8px 0 0;
  color: rgba(255,255,255,.72);
}

@media (max-width: 1050px) {
  .footer-main { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }
}

@media (max-width: 720px) {
  .hero-section { min-height: auto; padding: 104px 18px 44px; }
  .hero-content h1 { font-size: 38px; line-height: .98; }
  .hero-lead { max-width: 100%; }
  .content-section, .pricing-section, .results-section, .coach-section, .visual-proof-section, .final-cta, .form-page, .dashboard { padding: 54px 18px; }
  .section-head h2, .pricing-section h2, .results-section h2, .coach-section h2, .final-cta h2 { font-size: 30px; line-height: 1.05; }
  .hero-photo-main { height: 430px; border-radius: 26px; }
  .hero-photo-small { right: 10px; width: 34%; min-width: 124px; height: 168px; }
  .coach-photo-stack { min-height: 420px; }
  .coach-photo-stack img:first-child { width: 100%; height: 380px; }
  .coach-photo-stack img:nth-child(2), .coach-photo-stack img:nth-child(3) { display: none; }
  .footer-main { grid-template-columns: 1fr; gap: 26px; }
  .footer-bottom { flex-direction: column; }
}

/* Top rebuild */
.site-header { height: 74px; padding: 0 3vw; gap: 18px; }
.brand-logo { width: 132px; height: 50px; }
.brand-logo img { width: 132px; }
.site-header nav { gap: 20px; font-size: 12px; }
.login-link { min-height: 42px; padding: 0 20px; border: 0; border-radius: 999px; color: #111; background: var(--yellow); cursor: pointer; font-size: 12px; font-weight: 950; box-shadow: 0 14px 34px rgba(217,221,24,.18); }
.language-links { display: none; }
.language-picker { position: relative; z-index: 80; }
.language-picker summary { list-style: none; display: inline-flex; align-items: center; gap: 8px; min-height: 42px; padding: 0 17px; border: 1px solid rgba(255,255,255,.16); border-radius: 999px; color: #111; background: var(--yellow); cursor: pointer; font-size: 12px; font-weight: 950; }
.language-picker summary::-webkit-details-marker { display: none; }
.language-picker summary::after { content: "⌄"; font-size: 12px; }
.language-picker div { position: absolute; right: 0; top: calc(100% + 10px); min-width: 175px; padding: 8px; border: 1px solid rgba(255,255,255,.12); border-radius: 18px; background: rgba(12,12,14,.96); box-shadow: 0 24px 70px rgba(0,0,0,.46); backdrop-filter: blur(18px); }
.language-picker a { display: block; padding: 11px 12px; border-radius: 12px; color: rgba(255,255,255,.75); font-size: 13px; font-weight: 800; }
.language-picker a:hover, .language-picker a.active { color: #111; background: var(--yellow); }
.hero-section.hero-v2 { min-height: calc(100vh - 74px); padding: 54px 5vw 46px; align-items: center; gap: 36px; }
.hero-v2 .hero-content h1 { max-width: 720px; font-size: clamp(46px, 5.8vw, 88px); line-height: .91; }
.hero-v2 .hero-lead { max-width: 620px; font-size: 17px; }
.secondary-action.solid { color: #fff; border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.055); box-shadow: none; }
.coach-cutout { align-self: center; min-height: 610px; }
.coach-solo { position: absolute; right: 0; bottom: -10px; width: min(590px, 45vw); height: 610px; overflow: hidden; border: 0; border-radius: 0; background: radial-gradient(circle at 55% 40%, rgba(217,221,24,.18), transparent 34%); }
.coach-solo::before { content: ""; position: absolute; inset: 2% 10% 0 16%; z-index: 0; border-radius: 48% 48% 0 0; background: linear-gradient(180deg, rgba(236,0,81,.18), transparent 62%); filter: blur(8px); }
.coach-solo::after { content: ""; position: absolute; inset: 0; z-index: 2; background: linear-gradient(90deg, rgba(11,11,13,.95) 0 6%, transparent 22% 76%, rgba(11,11,13,.92) 96% 100%), linear-gradient(180deg, transparent 58%, #0b0b0d 97%); pointer-events: none; }
.coach-solo img { position: relative; z-index: 1; width: 100%; height: 100%; object-fit: cover; object-position: 56% 22%; filter: saturate(.95) contrast(1.16) drop-shadow(0 38px 46px rgba(0,0,0,.72)); mix-blend-mode: lighten; }
.coach-cutout .coach-card { right: 0; top: 82px; left: auto; max-width: 315px; }
.login-modal { width: min(480px, calc(100vw - 32px)); padding: 30px; border: 1px solid rgba(255,255,255,.14); border-radius: 26px; color: #fff; background: #111115; box-shadow: 0 40px 120px rgba(0,0,0,.7); }
.login-modal::backdrop { background: rgba(0,0,0,.74); backdrop-filter: blur(6px); }
.login-modal h2 { margin: 16px 0 8px; font-size: 34px; line-height: 1; letter-spacing: -.03em; }
.login-modal p:not(.eyebrow) { color: var(--muted); line-height: 1.6; }
.modal-close { position: absolute; right: 16px; top: 14px; width: 38px; height: 38px; border: 1px solid rgba(255,255,255,.12); border-radius: 999px; color: #fff; background: rgba(255,255,255,.06); cursor: pointer; font-size: 24px; }
.login-modal form { display: grid; gap: 14px; margin-top: 18px; }
.login-modal label { display: grid; gap: 8px; color: #dedbd5; font-size: 11px; font-weight: 900; text-transform: uppercase; }
.login-modal input, .form-page select { min-height: 48px; padding: 0 14px; border: 1px solid var(--line); border-radius: 10px; color: #fff; background: #101013; outline: 0; }
.login-modal button:not(.modal-close), .social-login button { min-height: 48px; border: 0; border-radius: 12px; color: #fff; background: var(--brand); cursor: pointer; font-weight: 950; }
.social-login { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 14px; }
.social-login button { border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.06); }
.modal-links { display: flex; justify-content: space-between; gap: 14px; margin-top: 16px; color: var(--yellow); font-size: 13px; font-weight: 850; }
.form-page { padding-top: 98px; }
.form-page h1 { font-size: clamp(34px, 4.5vw, 58px); }
.form-page input[type="radio"], .form-page input[type="checkbox"], .login-modal input[type="checkbox"] { min-height: auto; width: 16px; height: 16px; accent-color: var(--yellow); }
.option-grid label, .consent { display: flex !important; align-items: center; grid-template-columns: none; text-transform: none !important; font-size: 13px !important; line-height: 1.45; }
.password-hint { margin: 0; color: var(--muted); font-size: 13px; }

@media (max-width: 1050px) {
  .site-header nav { display: none; }
  .hero-section.hero-v2 { grid-template-columns: 1fr; padding-top: 42px; }
  .coach-cutout { min-height: 520px; }
  .coach-solo { position: relative; width: min(520px, 100%); height: 520px; margin-left: auto; }
}

@media (max-width: 720px) {
  .site-header { height: auto; min-height: 70px; padding: 10px 14px; }
  .brand-logo, .brand-logo img { width: 118px; }
  .language-picker summary, .login-link { min-height: 38px; padding: 0 13px; }
  .hero-section.hero-v2 { padding: 34px 18px 38px; }
  .hero-v2 .hero-content h1 { font-size: 40px; }
  .hero-actions { gap: 12px; }
  .hero-actions a { width: 100%; }
  .coach-cutout { min-height: 420px; }
  .coach-solo { height: 410px; }
  .coach-cutout .coach-card { left: 10px; right: 10px; top: 14px; max-width: none; }
  .social-login { grid-template-columns: 1fr; }
}

/* Hero video + final compact pass */
.hero-section.hero-v2 {
  min-height: calc(100svh - 74px);
  padding: 38px 5vw 34px;
  background: #050506;
}

.hero-video-bg,
.hero-video-overlay {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.hero-video-bg {
  z-index: 0;
  opacity: .32;
  filter: saturate(.75) contrast(1.1);
}

.hero-video-bg iframe {
  position: absolute;
  left: 50%;
  top: 50%;
  width: max(120vw, 178vh);
  height: max(67.5vw, 100vh);
  transform: translate(-50%, -50%) scale(1.18);
  border: 0;
}

.hero-video-overlay {
  z-index: 1;
  background:
    radial-gradient(circle at 82% 52%, rgba(217,221,24,.18), transparent 24%),
    radial-gradient(circle at 58% 18%, rgba(236,0,81,.25), transparent 30%),
    linear-gradient(90deg, rgba(5,5,6,.96) 0 35%, rgba(5,5,6,.72) 60%, rgba(5,5,6,.9)),
    linear-gradient(180deg, rgba(5,5,6,.66), #050506 92%);
}

.hero-v2 .hero-content,
.hero-v2 .hero-media {
  z-index: 2;
}

.hero-v2 .hero-content h1 {
  margin: 14px 0 14px;
  font-size: clamp(40px, 5.15vw, 78px);
  line-height: .93;
}

.hero-v2 .hero-lead {
  max-width: 560px;
  font-size: 16px;
  line-height: 1.58;
}

.hero-v2 .hero-actions {
  gap: 14px;
  margin-top: 26px;
}

.primary-action,
.secondary-action.solid,
.pricing-grid a,
.next-workout a,
.form-page button,
.login-modal button:not(.modal-close) {
  position: relative;
  overflow: hidden;
  min-height: 48px;
  border-radius: 14px;
  isolation: isolate;
}

.primary-action::after,
.secondary-action.solid::after,
.pricing-grid a::after,
.next-workout a::after,
.form-page button::after,
.login-modal button:not(.modal-close)::after {
  content: "";
  position: absolute;
  inset: -120% auto -120% -45%;
  z-index: -1;
  width: 42%;
  transform: rotate(18deg);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.46), transparent);
  transition: left .55s ease;
}

.primary-action:hover::after,
.secondary-action.solid:hover::after,
.pricing-grid a:hover::after,
.next-workout a:hover::after,
.form-page button:hover::after,
.login-modal button:not(.modal-close):hover::after {
  left: 120%;
}

.secondary-action.solid:hover {
  transform: translateY(-2px);
  border-color: rgba(217,221,24,.52);
  box-shadow: 0 18px 45px rgba(217,221,24,.12);
}

.hero-v2 .hero-stats {
  max-width: 560px;
  margin-top: 28px;
}

.hero-v2 .hero-stats div {
  padding: 13px;
  backdrop-filter: blur(10px);
}

.coach-cutout {
  min-height: 560px;
}

.coach-solo {
  right: -38px;
  bottom: -32px;
  width: min(665px, 47vw);
  height: 610px;
  overflow: visible;
  background: none;
}

.coach-solo::before {
  inset: 12% 2% 8% 10%;
  z-index: 0;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(217,221,24,.2), rgba(236,0,81,.16) 46%, transparent 68%);
  filter: blur(18px);
}

.coach-solo::after {
  inset: auto 4% 0 10%;
  height: 34%;
  z-index: 2;
  background: linear-gradient(180deg, transparent, #050506 92%);
}

.coach-solo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center bottom;
  filter: drop-shadow(0 34px 42px rgba(0,0,0,.72));
  mix-blend-mode: normal;
}

.coach-cutout .coach-card {
  top: 70px;
  right: 12px;
  padding: 22px;
  border-radius: 22px;
}

.form-page {
  padding: 88px 4vw 48px;
}

.form-page section {
  max-width: 780px;
  padding: 24px;
  border-radius: 24px;
  background: rgba(18,18,21,.9);
}

.form-page.wide section {
  max-width: 1040px;
}

.form-page h1 {
  margin: 10px 0 10px;
  font-size: clamp(30px, 3.7vw, 48px);
  line-height: 1.02;
}

.form-page section > p:not(.eyebrow) {
  margin: 0 0 18px;
  font-size: 14px;
  line-height: 1.55;
}

.form-page h2 {
  margin: 18px 0 10px;
  font-size: 15px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.form-page form,
.form-grid {
  gap: 10px;
}

.form-page:not(.wide) form,
.form-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

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

.form-page label {
  gap: 6px;
  font-size: 10px;
}

.form-page input,
.form-page select {
  min-height: 42px;
  padding: 0 12px;
  border-radius: 12px;
}

.option-grid {
  gap: 8px;
}

.option-grid label,
.consent {
  min-height: 42px;
  padding: 10px 12px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 12px;
  background: rgba(255,255,255,.035);
}

.form-page .consent,
.form-page button,
.password-hint {
  grid-column: 1 / -1;
}

.form-page button {
  margin-top: 6px;
}

@media (max-width: 1050px) {
  .hero-section.hero-v2 {
    min-height: auto;
    padding: 42px 5vw 28px;
  }

  .coach-solo {
    right: auto;
    bottom: auto;
    width: min(560px, 100%);
    height: 520px;
  }
}

/* Compact language selector */
.language-picker summary {
  min-width: 68px;
  min-height: 36px;
  gap: 7px;
  padding: 0 10px;
  border-radius: 7px;
  font-size: 11px;
}

.language-picker summary .ui-icon {
  width: 16px;
  height: 16px;
  color: var(--yellow);
}

.language-picker summary .ui-icon svg {
  width: 15px;
  height: 15px;
}

.language-picker summary::after {
  width: 6px;
  height: 6px;
  border-width: 1.5px;
}

.language-picker div {
  min-width: 132px;
  top: calc(100% + 7px);
  padding: 6px;
  border-radius: 9px;
}

.language-picker a {
  padding: 8px 9px;
  border-radius: 6px;
  font-size: 12px;
}

@media (max-width: 720px) {
  .language-picker summary {
    min-width: 62px;
    min-height: 34px;
    padding: 0 8px;
    font-size: 10px;
  }

  .language-picker div {
    right: -48px;
  }
}

/* UX polish requested */
.language-picker summary,
.login-link,
.secondary-action.solid {
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.language-picker summary:hover,
.login-link:hover {
  transform: translateY(-2px);
  border-color: rgba(217,221,24,.55);
  box-shadow: 0 16px 36px rgba(217,221,24,.16), inset 0 1px 0 rgba(255,255,255,.16);
}

.login-link,
.secondary-action.solid {
  animation: soft-button-glow 2.8s ease-in-out infinite;
}

.secondary-action.solid {
  border-color: rgba(217,221,24,.35);
  background:
    linear-gradient(180deg, rgba(217,221,24,.14), rgba(255,255,255,.04)),
    rgba(255,255,255,.04);
}

@keyframes soft-button-glow {
  0%, 100% { box-shadow: 0 12px 28px rgba(236,0,81,.14), 0 0 0 rgba(217,221,24,0); }
  50% { box-shadow: 0 18px 42px rgba(236,0,81,.2), 0 0 28px rgba(217,221,24,.16); }
}

.auth-modal {
  width: min(430px, calc(100vw - 28px));
  padding: 24px;
  border-radius: 12px;
}

.auth-modal h2 {
  margin: 12px 0 16px;
  font-size: 30px;
}

.login-form {
  gap: 10px;
}

.auth-switch {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.auth-switch label {
  position: relative;
  display: flex !important;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 8px;
  background: rgba(255,255,255,.045);
  cursor: pointer;
  text-transform: none !important;
}

.auth-switch input {
  position: absolute;
  opacity: 0;
}

.auth-switch input:checked + span {
  color: #111;
}

.auth-switch label:has(input:checked) {
  background: var(--yellow);
  border-color: var(--yellow);
}

.phone-row {
  display: grid;
  grid-template-columns: 112px 1fr;
  gap: 8px;
}

.phone-row select,
.phone-row input,
.auth-modal input {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.social-login {
  grid-template-columns: 1fr;
}

.social-login button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 42px;
  border-radius: 8px;
  font-size: 13px;
}

.apple-login {
  color: #fff;
  background: #050506 !important;
}

.google-login {
  color: #141414 !important;
  background: #fff !important;
}

.google-login .ui-icon svg {
  stroke: #141414;
}

.coach-title-card {
  bottom: 18px;
  width: min(360px, 90%);
}

.award-list {
  display: grid;
  gap: 8px;
}

.award-list span {
  display: grid;
  grid-template-columns: 30px 1fr;
  align-items: center;
  gap: 9px;
  width: 100%;
  max-width: none;
  padding: 8px 10px;
}

.award-list .ui-icon {
  width: 30px;
  height: 30px;
  border-radius: 8px;
  color: #111;
  background: var(--brand);
}

.award-list b {
  color: rgba(255,255,255,.9);
  font-size: 10px;
  letter-spacing: .1em;
}

.premium-marquee {
  padding: 9px 0;
  background: rgba(8,8,9,.9);
}

.premium-marquee .marquee-track {
  animation-duration: 36s;
}

.premium-marquee span {
  min-height: 36px;
  padding: 0 13px;
  border-color: rgba(255,255,255,.08);
  color: rgba(255,255,255,.72);
  background: rgba(255,255,255,.035);
  box-shadow: none;
}

.premium-marquee .ui-icon {
  width: 23px;
  height: 23px;
  color: rgba(217,221,24,.9);
  background: rgba(255,255,255,.045);
}

.premium-marquee b {
  font-size: 10px;
  letter-spacing: .12em;
}

.dock-support a {
  display: flex;
  align-items: center;
  gap: 10px;
}

.dock-support a .ui-icon {
  color: var(--yellow);
}

@media (max-width: 720px) {
  .coach-cutout {
    min-height: 292px;
    margin-top: -18px;
  }

  .coach-solo {
    height: 314px;
    width: 112%;
    margin-left: -18%;
  }

  .coach-title-card {
    left: auto;
    right: 4px;
    bottom: 26px;
    width: min(205px, 58vw);
    padding: 10px;
  }

  .coach-title-card small {
    margin-bottom: 5px;
    font-size: 8px;
  }

  .coach-title-card strong {
    margin-bottom: 8px;
    font-size: 16px;
  }

  .award-list {
    gap: 5px;
  }

  .award-list span {
    grid-template-columns: 23px 1fr;
    gap: 6px;
    padding: 5px 6px;
  }

  .award-list .ui-icon {
    width: 23px;
    height: 23px;
    border-radius: 6px;
  }

  .award-list b {
    font-size: 7px;
    letter-spacing: .06em;
  }

  .auth-modal {
    padding: 18px;
  }

  .phone-row {
    grid-template-columns: 92px 1fr;
  }

  .premium-marquee {
    padding: 7px 0;
  }

  .premium-marquee span {
    min-height: 32px;
    padding: 0 10px;
  }
}

/* Login and coach card refinement */
.smart-login {
  display: grid;
  gap: 10px;
}

.smart-login label {
  display: grid;
  gap: 7px;
}

.smart-login input {
  width: 100%;
  min-width: 0;
}

.auth-modal {
  overflow: visible;
}

.auth-modal input:focus,
.auth-modal select:focus {
  border-color: rgba(217,221,24,.5);
  box-shadow: 0 0 0 3px rgba(217,221,24,.08);
}

.auth-switch,
.phone-row {
  display: none;
}

.coach-title-card {
  border-color: rgba(255,255,255,.12);
  border-left-color: rgba(217,221,24,.7);
  background: linear-gradient(135deg, rgba(12,12,15,.46), rgba(12,12,15,.24));
  box-shadow: 0 28px 76px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.08);
}

.coach-title-card::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(135deg, rgba(255,255,255,.08), transparent 45%, rgba(217,221,24,.07));
  pointer-events: none;
}

.coach-title-card > * {
  position: relative;
  z-index: 1;
}

@media (max-width: 720px) {
  .coach-solo {
    margin-left: -26%;
  }

  .coach-title-card {
    right: 4px;
    bottom: auto;
    top: 38%;
    transform: translateY(-50%);
    width: min(218px, 57vw);
    background: linear-gradient(135deg, rgba(9,9,11,.54), rgba(9,9,11,.24));
  }

  .mobile-dock {
    bottom: 10px;
  }
}

/* Shared questionnaire with side coach cutout */
.form-page.with-coach {
  position: relative;
  min-height: calc(100vh - 68px);
  overflow: hidden;
  padding: 86px 4vw 58px;
  background:
    radial-gradient(circle at 88% 28%, rgba(236,0,81,.22), transparent 30%),
    radial-gradient(circle at 72% 74%, rgba(217,221,24,.12), transparent 24%),
    linear-gradient(135deg, #0b0b0d, #151519 58%, #09090a);
}

.form-page.with-coach::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    linear-gradient(90deg, rgba(9,9,10,.96) 0 50%, rgba(9,9,10,.62) 75%, rgba(9,9,10,.88)),
    repeating-linear-gradient(135deg, rgba(255,255,255,.025) 0 1px, transparent 1px 18px);
  pointer-events: none;
}

.form-coach-bg {
  position: absolute;
  right: min(2vw, 28px);
  bottom: -34px;
  z-index: 1;
  width: min(470px, 34vw);
  opacity: .38;
  filter: drop-shadow(0 34px 70px rgba(0,0,0,.58)) saturate(.92) contrast(1.08);
  pointer-events: none;
}

.form-coach-bg img {
  width: 100%;
  height: auto;
  display: block;
}

.questionnaire-card {
  position: relative;
  z-index: 2;
  margin: 0 auto 0 3vw !important;
  max-width: min(910px, calc(100vw - 8vw)) !important;
  border-color: rgba(255,255,255,.1) !important;
  background: rgba(14,14,17,.78) !important;
  box-shadow: 0 28px 90px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.07);
  backdrop-filter: blur(18px);
}

.questionnaire-card h1 {
  max-width: 720px;
}

.questionnaire-card form {
  max-width: 100%;
}

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

.compact-options label {
  min-height: 36px;
  font-size: 12px !important;
}

@media (max-width: 1180px) {
  .form-coach-bg {
    right: -80px;
    width: 430px;
    opacity: .24;
  }

  .questionnaire-card {
    margin-left: auto !important;
  }
}

@media (max-width: 720px) {
  .form-page.with-coach {
    padding: 76px 14px 88px;
  }

  .form-page.with-coach::before {
    background:
      linear-gradient(180deg, rgba(9,9,10,.94), rgba(9,9,10,.76)),
      repeating-linear-gradient(135deg, rgba(255,255,255,.025) 0 1px, transparent 1px 18px);
  }

  .form-coach-bg {
    right: -125px;
    bottom: 18px;
    width: 310px;
    opacity: .18;
  }

  .questionnaire-card {
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 16px !important;
  }

  .compact-options {
    grid-template-columns: 1fr 1fr;
  }

  .compact-options label {
    min-height: 34px;
    font-size: 11px !important;
  }
}

/* Mobile header spacing fix */
@media (max-width: 720px) {
  .site-header {
    gap: 5px;
  }

  .brand-logo {
    margin-right: auto;
  }

  .language-picker {
    margin-left: 0;
    margin-right: 2px;
  }

  .login-link {
    margin-left: 0;
  }
}

@media (max-width: 720px) {
  .hero-section.hero-v2 {
    padding: 26px 18px 34px;
  }

  .hero-video-bg iframe {
    width: 220vw;
    height: 124vw;
  }

  .hero-v2 .hero-content h1 {
    font-size: 36px;
  }

  .hero-v2 .hero-actions {
    align-items: stretch;
  }

  .coach-cutout {
    min-height: 380px;
  }

  .coach-solo {
    height: 380px;
  }

  .coach-cutout .coach-card {
    top: 8px;
  }

  .form-page:not(.wide) form,
  .form-page.wide .form-grid,
  .form-grid {
    grid-template-columns: 1fr;
  }

  .form-page {
    padding: 76px 14px 34px;
  }

  .form-page section {
    padding: 18px;
  }
}

/* User requested hero/photo/button/form refinement */
.site-header {
  height: 68px;
  padding: 0 3.2vw;
  border-bottom-color: rgba(255,255,255,.08);
}

.brand-logo,
.brand-logo img {
  width: 126px;
  height: auto;
}

.language-picker summary,
.login-link {
  min-height: 40px;
  padding: 0 14px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 8px;
  color: #f7f3ea;
  background: linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.025));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 12px 30px rgba(0,0,0,.18);
}

.language-picker summary {
  min-width: 88px;
  justify-content: space-between;
}

.language-picker summary::after {
  content: "";
  width: 8px;
  height: 8px;
  border-right: 2px solid var(--yellow);
  border-bottom: 2px solid var(--yellow);
  transform: rotate(45deg) translateY(-2px);
}

.picker-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  color: var(--yellow);
  font-size: 14px;
}

.login-link {
  gap: 8px;
  color: #101010;
  background: var(--brand);
}

.language-picker div {
  border-radius: 10px;
}

.language-picker a {
  border-radius: 6px;
}

.hero-section.hero-v2 {
  min-height: calc(100svh - 68px);
  grid-template-columns: minmax(0, .92fr) minmax(420px, .82fr);
  gap: 24px;
  padding: 26px 5vw 22px;
  background: #060607;
}

.hero-photo-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}

.hero-photo-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 34%;
  opacity: .34;
  filter: grayscale(.2) saturate(.78) contrast(1.1) blur(.2px);
  transform: scale(1.035);
}

.hero-video-bg {
  display: none;
}

.hero-video-overlay {
  background:
    linear-gradient(90deg, rgba(5,5,6,.97) 0 34%, rgba(5,5,6,.76) 58%, rgba(5,5,6,.92)),
    radial-gradient(circle at 78% 46%, rgba(236,0,81,.25), transparent 27%),
    radial-gradient(circle at 88% 22%, rgba(217,221,24,.18), transparent 18%),
    linear-gradient(180deg, rgba(5,5,6,.34), #050506 94%);
}

.hero-bg-line {
  right: 7vw;
  top: 15vh;
  width: 430px;
  height: 430px;
  border-width: 58px;
  opacity: .58;
}

.hero-v2 .hero-content h1 {
  max-width: 650px;
  margin: 12px 0;
  font-size: clamp(38px, 4.8vw, 70px);
  line-height: .94;
}

.hero-v2 .hero-lead {
  max-width: 520px;
  font-size: 15px;
  line-height: 1.55;
}

.coach-cutout {
  min-height: 540px;
}

.coach-solo {
  right: -18px;
  bottom: -26px;
  width: min(610px, 44vw);
  height: 560px;
}

.coach-solo::before {
  inset: 10% 1% 9% 8%;
  background: radial-gradient(circle, rgba(217,221,24,.18), rgba(236,0,81,.18) 44%, transparent 70%);
}

.coach-solo img {
  object-fit: contain;
  transform: translateY(4px);
}

.coach-cutout .coach-card {
  top: 52px;
  right: 4px;
  max-width: 292px;
  border-radius: 10px;
  background: rgba(9,9,10,.72);
}

.primary-action,
.secondary-action.solid,
.pricing-grid a,
.next-workout a,
.form-page button,
.login-modal button:not(.modal-close) {
  border-radius: 8px;
}

.hero-actions .primary-action,
.hero-actions .secondary-action {
  min-height: 46px;
  padding: 0 20px;
}

.form-page section,
.legal-card,
.login-modal {
  border-radius: 10px;
}

.form-page input,
.form-page select,
.login-modal input {
  min-height: 39px;
  border-radius: 6px;
}

.option-grid label,
.consent {
  min-height: 38px;
  padding: 8px 10px;
  border-radius: 6px;
}

.form-page.wide section {
  max-width: 960px;
}

.form-page section {
  padding: 20px;
}

.form-page h1 {
  font-size: clamp(28px, 3.2vw, 42px);
}

.form-page h2 {
  margin: 14px 0 8px;
  font-size: 13px;
}

.form-page label {
  font-size: 9px;
}

@media (max-width: 1050px) {
  .hero-section.hero-v2 {
    grid-template-columns: 1fr;
    padding-top: 28px;
  }

  .coach-solo {
    width: min(520px, 100%);
    height: 500px;
    margin-inline: auto;
  }
}

@media (max-width: 720px) {
  .site-header {
    min-height: 64px;
    padding: 9px 12px;
    gap: 8px;
  }

  .brand-logo,
  .brand-logo img {
    width: 108px;
  }

  .language-picker summary,
  .login-link {
    min-height: 36px;
    padding: 0 10px;
    border-radius: 7px;
  }

  .hero-section.hero-v2 {
    min-height: auto;
    padding: 22px 16px 28px;
  }

  .hero-v2 .hero-content h1 {
    font-size: 34px;
  }

  .hero-v2 .hero-lead {
    font-size: 14px;
  }

  .coach-cutout {
    min-height: 350px;
  }

  .coach-solo {
    height: 350px;
  }

  .coach-cutout .coach-card {
    top: 0;
    right: 0;
    left: 0;
  }
}

/* Local MP4 hero background */
.hero-video-bg {
  display: block;
  z-index: 0;
  opacity: .46;
  filter: saturate(.8) contrast(1.12);
}

.hero-video-bg video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: scale(1.04);
}

.hero-video-bg iframe,
.hero-photo-bg {
  display: none;
}

.hero-video-overlay {
  background:
    linear-gradient(90deg, rgba(5,5,6,.98) 0 32%, rgba(5,5,6,.78) 56%, rgba(5,5,6,.92)),
    radial-gradient(circle at 72% 50%, rgba(236,0,81,.22), transparent 28%),
    radial-gradient(circle at 90% 18%, rgba(217,221,24,.16), transparent 18%),
    linear-gradient(180deg, rgba(5,5,6,.28), #050506 96%);
}

@media (max-width: 720px) {
  .hero-video-bg video {
    object-position: 58% center;
    transform: scale(1.1);
  }

  .hero-video-bg {
    opacity: .34;
  }
}

/* Final hero UX pass */
.ui-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.ui-icon svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.hero-video-bg {
  opacity: .6;
  filter: brightness(1.16) saturate(.92) contrast(1.08);
}

.hero-video-overlay {
  background:
    linear-gradient(90deg, rgba(5,5,6,.92) 0 28%, rgba(5,5,6,.58) 54%, rgba(5,5,6,.8)),
    radial-gradient(circle at 72% 50%, rgba(236,0,81,.18), transparent 30%),
    radial-gradient(circle at 90% 18%, rgba(217,221,24,.14), transparent 20%),
    linear-gradient(180deg, rgba(5,5,6,.18), #050506 98%);
}

.hero-v2 .hero-content h1 {
  font-size: clamp(36px, 4.5vw, 66px);
}

.hero-benefits {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  max-width: 600px;
  margin-top: 24px;
}

.hero-benefits div {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 4px 9px;
  min-height: 58px;
  padding: 9px 10px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 10px;
  background: linear-gradient(180deg, rgba(255,255,255,.085), rgba(255,255,255,.025));
  backdrop-filter: blur(12px);
}

.hero-benefits .ui-icon {
  grid-row: span 2;
  width: 32px;
  height: 32px;
  border-radius: 9px;
  color: #111;
  background: var(--brand);
  box-shadow: 0 12px 26px rgba(236,0,81,.22);
}

.hero-benefits .ui-icon svg {
  width: 18px;
  height: 18px;
  stroke-width: 2;
}

.hero-benefits b {
  color: #fff;
  font-size: 12px;
  line-height: 1;
  text-transform: uppercase;
}

.hero-benefits span:not(.ui-icon) {
  color: rgba(255,255,255,.62);
  font-size: 10px;
  line-height: 1.15;
}

.coach-title-card {
  position: absolute;
  right: 0;
  bottom: 34px;
  z-index: 4;
  width: min(330px, 88%);
  padding: 18px;
  border: 1px solid rgba(255,255,255,.14);
  border-left: 3px solid var(--yellow);
  border-radius: 10px;
  color: #fff;
  background: linear-gradient(135deg, rgba(10,10,12,.9), rgba(10,10,12,.62));
  box-shadow: 0 26px 70px rgba(0,0,0,.42);
  backdrop-filter: blur(18px);
}

.coach-title-card small {
  display: block;
  margin-bottom: 7px;
  color: rgba(255,255,255,.48);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.coach-title-card strong {
  display: block;
  margin-bottom: 12px;
  font-size: clamp(20px, 2.1vw, 28px);
  line-height: 1.05;
}

.coach-title-card div {
  display: grid;
  gap: 6px;
}

.coach-title-card span {
  display: inline-flex;
  width: max-content;
  max-width: 100%;
  padding: 5px 8px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 6px;
  color: rgba(255,255,255,.72);
  background: rgba(255,255,255,.04);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
}

.premium-marquee {
  position: relative;
  overflow: hidden;
  padding: 12px 0;
  border-top: 1px solid rgba(255,255,255,.09);
  border-bottom: 1px solid rgba(255,255,255,.09);
  background:
    linear-gradient(90deg, rgba(236,0,81,.12), rgba(255,103,23,.08), rgba(217,221,24,.1)),
    rgba(8,8,9,.96);
}

.premium-marquee::before,
.premium-marquee::after {
  content: "";
  position: absolute;
  top: 0;
  z-index: 2;
  width: 120px;
  height: 100%;
  pointer-events: none;
}

.premium-marquee::before {
  left: 0;
  background: linear-gradient(90deg, #080809, transparent);
}

.premium-marquee::after {
  right: 0;
  background: linear-gradient(270deg, #080809, transparent);
}

.premium-marquee .marquee-track {
  display: flex;
  width: max-content;
  gap: 12px;
  padding-left: 12px;
  animation: premium-marquee 28s linear infinite;
  will-change: transform;
}

.premium-marquee:hover .marquee-track {
  animation-play-state: paused;
}

.premium-marquee span {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  padding: 0 16px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 10px;
  color: #fff;
  background: linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.025));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 12px 28px rgba(0,0,0,.18);
}

.premium-marquee .ui-icon {
  width: 27px;
  height: 27px;
  border-radius: 8px;
  color: #111;
  background: var(--brand);
}

.premium-marquee b {
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .14em;
}

@keyframes premium-marquee {
  from { transform: translate3d(0,0,0); }
  to { transform: translate3d(-50%,0,0); }
}

.mobile-dock {
  display: none;
}

@media (max-width: 720px) {
  body {
    padding-bottom: 76px;
  }

  .site-header {
    justify-content: flex-start;
  }

  .brand-logo {
    margin-right: auto;
  }

  .language-picker {
    margin-left: auto;
  }

  .hero-section.hero-v2 {
    min-height: calc(100svh - 64px);
    grid-template-rows: auto 1fr;
    gap: 6px;
    overflow: hidden;
  }

  .hero-v2 .hero-content h1 {
    font-size: 31px;
  }

  .hero-v2 .hero-lead {
    max-width: 96%;
    font-size: 13px;
    line-height: 1.45;
  }

  .hero-v2 .hero-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 7px;
    margin-top: 13px;
  }

  .hero-actions .primary-action,
  .hero-actions .secondary-action {
    min-height: 40px;
    padding: 0 14px;
    font-size: 10px;
  }

  .hero-benefits {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    margin-top: 12px;
  }

  .hero-benefits div {
    min-height: 44px;
    padding: 7px;
    gap: 2px 7px;
  }

  .hero-benefits .ui-icon {
    width: 27px;
    height: 27px;
    border-radius: 7px;
  }

  .hero-benefits b {
    font-size: 10px;
  }

  .hero-benefits span:not(.ui-icon) {
    font-size: 9px;
  }

  .coach-cutout {
    min-height: 310px;
    margin-top: -10px;
  }

  .coach-solo {
    height: 322px;
    width: 100%;
  }

  .coach-title-card {
    right: 0;
    bottom: 8px;
    left: auto;
    width: min(250px, 76vw);
    padding: 12px;
  }

  .coach-title-card strong {
    font-size: 18px;
  }

  .coach-title-card span {
    padding: 4px 6px;
    font-size: 8px;
  }

  .premium-marquee {
    padding: 9px 0;
  }

  .premium-marquee .marquee-track {
    animation-duration: 22s;
  }

  .premium-marquee span {
    min-height: 38px;
    padding: 0 12px;
    border-radius: 8px;
  }

  .premium-marquee b {
    font-size: 9px;
  }

  .mobile-dock {
    position: fixed;
    left: 12px;
    right: 12px;
    bottom: 12px;
    z-index: 90;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    padding: 8px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 14px;
    background: rgba(9,9,11,.88);
    box-shadow: 0 22px 70px rgba(0,0,0,.52);
    backdrop-filter: blur(18px);
  }

  .dock-btn,
  .dock-menu summary,
  .dock-support summary {
    list-style: none;
    display: grid;
    place-items: center;
    gap: 3px;
    min-height: 48px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 10px;
    color: #fff;
    background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.025));
    cursor: pointer;
    font-size: 10px;
    font-weight: 900;
  }

  .dock-menu summary::-webkit-details-marker,
  .dock-support summary::-webkit-details-marker {
    display: none;
  }

  .dock-btn {
    font: inherit;
  }

  .mobile-dock .ui-icon {
    width: 22px;
    height: 22px;
    color: var(--yellow);
  }

  .dock-menu nav,
  .dock-support div {
    position: fixed;
    left: 12px;
    right: 12px;
    bottom: 82px;
    display: grid;
    gap: 8px;
    padding: 14px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 14px;
    background: rgba(12,12,15,.96);
    box-shadow: 0 22px 70px rgba(0,0,0,.52);
    backdrop-filter: blur(18px);
  }

  .dock-menu a,
  .dock-support a {
    padding: 12px;
    border-radius: 9px;
    color: #fff;
    background: rgba(255,255,255,.055);
    font-size: 13px;
    font-weight: 850;
  }

  .dock-support strong {
    font-size: 18px;
  }

  .dock-support p {
    margin: 0 0 4px;
    color: rgba(255,255,255,.66);
    font-size: 13px;
    line-height: 1.45;
  }
}

/* PROFI FIT v3 final override tail */
.site-header { height: 72px; padding: 0 clamp(18px, 4vw, 64px); gap: 18px; }
.header-actions { display: flex; align-items: center; gap: 8px; }
.site-header nav { gap: clamp(14px, 2vw, 30px); }
.language-picker { position: relative; z-index: 70; margin-left: 0; }
.language-picker summary { list-style: none; display: inline-flex; align-items: center; gap: 7px; height: 42px; padding: 0 12px; border: 1px solid rgba(255,255,255,.13); border-radius: 9px; color: #fff; background: rgba(255,255,255,.055); cursor: pointer; transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease, background .22s ease; }
.language-picker summary::-webkit-details-marker { display: none; }
.language-picker summary:hover, .language-picker[open] summary { transform: translateY(-1px); border-color: rgba(217,221,24,.48); background: rgba(217,221,24,.1); box-shadow: 0 14px 40px rgba(217,221,24,.12); }
.language-picker summary span:not(.ui-icon) { font-size: 11px; font-weight: 950; letter-spacing: .08em; }
.language-picker > div { position: absolute; top: calc(100% + 9px); right: 0; display: grid; min-width: 156px; padding: 7px; border: 1px solid rgba(255,255,255,.14); border-radius: 10px; background: rgba(10,10,12,.96); box-shadow: 0 28px 80px rgba(0,0,0,.55); backdrop-filter: blur(18px); }
.language-picker a { display: flex; align-items: center; min-height: 34px; padding: 0 10px; border-radius: 7px; color: rgba(255,255,255,.72); font-size: 12px; font-weight: 850; }
.language-picker a:hover, .language-picker a.active { color: #101013; background: var(--yellow); }
.login-link { position: relative; display: inline-flex; align-items: center; gap: 8px; height: 42px; padding: 0 16px; border: 0; border-radius: 9px; color: #111; background: var(--brand); box-shadow: 0 14px 36px rgba(236,0,81,.32), inset 0 1px 0 rgba(255,255,255,.25); cursor: pointer; overflow: hidden; isolation: isolate; }
.login-link:hover { transform: translateY(-1px); box-shadow: 0 20px 48px rgba(236,0,81,.42); }
.hero-section.hero-v3 { min-height: calc(100svh - 72px); padding: clamp(28px, 4vw, 58px) clamp(18px, 5vw, 82px) clamp(28px, 4vw, 56px); grid-template-columns: minmax(0, .98fr) minmax(360px, .88fr); gap: clamp(22px, 4vw, 72px); }
.hero-v3 .hero-content h1 { max-width: 720px; margin: 16px 0 18px; font-size: clamp(42px, 5.1vw, 84px); line-height: .93; letter-spacing: -.045em; }
.hero-v3 .hero-content h1 em { max-width: 650px; font-size: .58em; line-height: 1.04; }
.hero-v3 .hero-lead { max-width: 620px; font-size: clamp(14px, 1.12vw, 17px); line-height: 1.58; }
.hero-v3 .hero-actions { gap: 12px; margin-top: 24px; }
.hero-v3 .hero-benefits { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; max-width: 690px; margin-top: 22px; }
.hero-v3 .hero-benefits div { display: grid; grid-template-columns: auto 1fr; gap: 2px 9px; align-items: center; min-height: 62px; padding: 10px; border: 1px solid rgba(255,255,255,.1); border-radius: 12px; background: linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.025)); }
.hero-v3 .hero-benefits .ui-icon { grid-row: span 2; width: 32px; height: 32px; border-radius: 9px; color: #111; background: var(--brand); box-shadow: 0 12px 26px rgba(236,0,81,.22); }
.hero-v3 .hero-benefits b { font-size: 11px; font-weight: 950; letter-spacing: .08em; text-transform: uppercase; }
.hero-v3 .hero-benefits span:not(.ui-icon) { color: rgba(255,255,255,.56); font-size: 10px; }
.hero-video-bg { opacity: 1; }
.hero-video-bg video { width: 100%; height: 100%; object-fit: cover; object-position: center; opacity: .64; filter: brightness(1.22) contrast(1.08) saturate(1.12); }
.hero-video-overlay { background: radial-gradient(circle at 78% 28%, rgba(236,0,81,.18), transparent 34%), linear-gradient(90deg, rgba(8,8,10,.82) 0 29%, rgba(8,8,10,.62) 48%, rgba(8,8,10,.9) 100%), linear-gradient(180deg, rgba(8,8,10,.46), #0b0b0d 100%); }
.hero-v3 .coach-cutout { position: relative; min-height: min(640px, calc(100svh - 96px)); align-self: end; isolation: isolate; }
.hero-v3 .coach-solo { position: absolute; left: -2vw; right: auto; bottom: -42px; width: min(560px, 38vw); height: min(670px, calc(100svh - 60px)); overflow: visible; background: none; }
.hero-v3 .coach-solo::after { display: none; }
.hero-v3 .coach-solo img { width: 100%; height: 100%; object-fit: contain; object-position: center bottom; filter: saturate(1.03) contrast(1.12) drop-shadow(0 42px 42px rgba(0,0,0,.78)); mix-blend-mode: normal; }
.hero-v3 .coach-title-card { position: absolute; right: 2%; top: 42%; z-index: 3; width: min(330px, 54%); padding: 14px; border: 1px solid rgba(255,255,255,.16); border-radius: 12px; background: rgba(12,12,15,.42); box-shadow: 0 24px 74px rgba(0,0,0,.42); backdrop-filter: blur(16px); }
.hero-v3 .coach-title-card strong { margin: 6px 0 10px; font-size: clamp(19px, 1.8vw, 27px); }
.hero-v3 .award-list { display: grid; gap: 6px; }
.hero-v3 .award-list span { display: flex; align-items: center; gap: 8px; min-height: 34px; padding: 6px 8px; border: 1px solid rgba(255,255,255,.1); border-radius: 8px; background: rgba(255,255,255,.045); }
.hero-v3 .award-list .ui-icon { width: 22px; height: 22px; color: var(--yellow); }
.form-coach-bg { top: 18px; right: clamp(0px, 4vw, 70px); bottom: auto; height: min(760px, 94vh); opacity: .42; }
.form-coach-bg img { object-fit: contain; object-position: center top; }
.footer-main { grid-template-columns: 1.25fr .75fr 1fr 1fr; }

@media (max-width: 920px) {
  .site-header nav { display: none; }
  .hero-section.hero-v3, .platform-section, .coach-story-section, .app-bot-section { grid-template-columns: 1fr; }
  .hero-v3 .coach-cutout { min-height: 440px; }
  .hero-v3 .coach-solo { left: 0; width: min(440px, 62vw); height: 480px; }
  .hero-v3 .coach-title-card { right: 0; top: 90px; width: min(340px, 58vw); }
}

@media (max-width: 720px) {
  .site-header { height: 64px; padding: 0 12px; gap: 8px; justify-content: flex-start; }
  .brand-logo { width: 118px; height: 48px; margin-right: auto; }
  .brand-logo img { width: 118px; }
  .header-actions { gap: 5px; margin-left: 0; }
  .language-picker { margin-left: 0; }
  .language-picker summary { height: 37px; padding: 0 9px; border-radius: 8px; }
  .language-picker summary span:not(.ui-icon) { font-size: 10px; }
  .language-picker > div { min-width: 138px; }
  .login-link { height: 37px; padding: 0 11px; border-radius: 8px; }
  .login-link span:not(.ui-icon) { font-size: 0; }
  .hero-section.hero-v3 { min-height: calc(100svh - 64px); grid-template-rows: auto 1fr; gap: 0; padding: 20px 14px 18px; }
  .hero-v3 .hero-content h1 { margin: 10px 0; font-size: clamp(30px, 10.6vw, 42px); letter-spacing: -.04em; }
  .hero-v3 .hero-lead { max-width: 96%; font-size: 12.5px; line-height: 1.42; }
  .hero-v3 .hero-actions { display: grid; grid-template-columns: 1fr; gap: 7px; margin-top: 12px; }
  .hero-v3 .hero-actions a { width: 100%; min-height: 39px; padding: 0 13px; border-radius: 9px; font-size: 9.5px; }
  .hero-v3 .hero-benefits { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 5px; margin-top: 10px; }
  .hero-v3 .hero-benefits div { display: flex; flex-direction: column; justify-content: center; min-height: 58px; padding: 6px 4px; border-radius: 9px; text-align: center; }
  .hero-v3 .hero-benefits .ui-icon { width: 25px; height: 25px; }
  .hero-v3 .hero-benefits b { font-size: 8.5px; }
  .hero-v3 .hero-benefits span:not(.ui-icon) { font-size: 0; }
  .hero-v3 .coach-cutout { min-height: min(42svh, 360px); margin-top: -8px; overflow: hidden; }
  .hero-v3 .coach-solo { left: -18vw; bottom: -25px; width: 76vw; height: min(42svh, 380px); transform: scaleX(-1); }
  .hero-v3 .coach-title-card { top: 44px; right: -8px; width: min(236px, 62vw); padding: 10px; border-radius: 10px; background: rgba(12,12,15,.38); }
  .hero-v3 .coach-title-card strong { font-size: 16px; }
  .hero-v3 .award-list span { min-height: 28px; padding: 4px 6px; }
  .hero-v3 .award-list .ui-icon { width: 18px; height: 18px; }
  .hero-v3 .award-list b { font-size: 8px; }
  .footer-main { grid-template-columns: 1fr; }
  .form-coach-bg { top: 72px; right: -88px; height: 460px; opacity: .18; pointer-events: none; }
  .form-page.with-coach .questionnaire-card { background: rgba(16,16,18,.86); backdrop-filter: blur(8px); }
}

/* PROFI FIT v4 logos, program cards and LiqPay pricing */
.hero-v3 .coach-title-card {
  display: none !important;
}

.footer-social a {
  color: #fff;
}

.footer-social .social-instagram {
  background: radial-gradient(circle at 30% 110%, #feda75, #fa7e1e 28%, #d62976 55%, #962fbf 78%, #4f5bd5);
}

.footer-social .social-telegram {
  background: #229ed9;
}

.footer-social .social-youtube {
  background: #ff0033;
}

.footer-social .social-tiktok {
  background: linear-gradient(135deg, #00f2ea, #111 46%, #ff0050);
}

.footer-social .social-facebook {
  background: #1877f2;
}

.payment-logos {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.pay-logo {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-width: 104px;
  height: 46px;
  padding: 0 13px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 10px;
  background: linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.025));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
  font-style: normal;
  overflow: hidden;
}

.visa-logo b {
  color: #fff;
  font-size: 20px;
  font-style: italic;
  font-weight: 950;
  letter-spacing: .08em;
}

.mastercard-logo {
  justify-content: flex-start;
  padding-left: 12px;
}

.mastercard-logo i {
  width: 22px;
  height: 22px;
  margin-right: -11px;
  border-radius: 50%;
}

.mastercard-logo i:first-child {
  background: #eb001b;
}

.mastercard-logo i:nth-child(2) {
  background: #f79e1b;
  mix-blend-mode: screen;
}

.mastercard-logo b {
  margin-left: 12px;
  color: #fff;
  font-size: 11px;
}

.liqpay-logo {
  color: #161719;
  background: linear-gradient(135deg, #b5f000, #e7ff5f);
}

.liqpay-logo i,
.wayforpay-logo i {
  display: grid;
  place-items: center;
  width: 25px;
  height: 25px;
  border-radius: 7px;
  background: #161719;
  color: var(--yellow);
  font-size: 11px;
  font-weight: 950;
  font-style: normal;
  text-transform: uppercase;
}

.liqpay-logo b,
.wayforpay-logo b {
  font-size: 16px;
  font-weight: 950;
}

.wayforpay-logo {
  color: #fff;
  background: linear-gradient(135deg, #20264b, #4971ff);
}

.wayforpay-logo i {
  color: #fff;
  background: rgba(255,255,255,.18);
}

.source-logos {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 20px;
}

.source-logo {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 3px 10px;
  align-items: center;
  min-height: 68px;
  padding: 12px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.025));
}

.source-logo i {
  grid-row: span 2;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 11px;
  color: #101013;
  background: var(--brand);
  font-style: normal;
  font-weight: 950;
}

.source-logo b {
  color: #fff;
  font-size: 15px;
  font-weight: 950;
}

.source-logo span {
  color: rgba(255,255,255,.58);
  font-size: 11px;
  text-transform: uppercase;
}

.wabba-logo i {
  background: linear-gradient(135deg, #d9dd18, #fff36a);
}

.firstua-logo i {
  background: linear-gradient(135deg, #005bbb, #ffd500);
}

.kyivcity-logo i {
  color: #fff;
  background: linear-gradient(135deg, #0f60ff, #ffd500);
}

.programs-section-v4 {
  padding: clamp(58px, 7vw, 108px) clamp(18px, 6vw, 92px);
  background: #101013;
}

.programs-section-v4 .section-head p {
  color: rgba(255,255,255,.62);
}

.goal-program-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 34px;
}

.goal-program-card {
  position: relative;
  min-height: 430px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 16px;
  background: #070708;
  box-shadow: 0 28px 90px rgba(0,0,0,.28);
}

.goal-program-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  filter: saturate(.96) contrast(1.08);
  transition: transform .45s ease, filter .45s ease;
}

.goal-program-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,.3) 42%, rgba(0,0,0,.92) 100%);
}

.goal-program-card:hover img {
  transform: scale(1.05);
  filter: saturate(1.08) contrast(1.1);
}

.goal-program-card > div {
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 16px;
  z-index: 2;
}

.goal-program-card span {
  display: inline-flex;
  margin-bottom: 9px;
  padding: 7px 9px;
  border-radius: 8px;
  color: #111;
  background: var(--yellow);
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.goal-program-card h3 {
  margin: 0 0 8px;
  color: #fff;
  font-size: clamp(22px, 2.5vw, 34px);
  line-height: 1.02;
  letter-spacing: -.03em;
  text-transform: uppercase;
}

.goal-program-card p {
  margin: 0 0 14px;
  color: rgba(255,255,255,.72);
  font-size: 14px;
  line-height: 1.5;
}

.goal-program-card a {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  padding: 0 14px;
  border-radius: 9px;
  color: #111;
  background: var(--brand);
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
}

.program-card-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
  margin-top: 14px;
}

.goal-program-card .program-card-actions a {
  justify-content: center;
  text-align: center;
}

.program-card-actions .program-pick-btn {
  position: static !important;
  inset: auto !important;
  min-height: 42px !important;
}

.program-more-btn {
  border: 1px solid rgba(255,255,255,.22) !important;
  color: #fff !important;
  background: rgba(255,255,255,.08) !important;
  backdrop-filter: blur(10px);
  box-shadow: none !important;
}

.program-more-btn:hover {
  border-color: rgba(217,221,24,.62) !important;
  background: rgba(217,221,24,.12) !important;
}

.program-detail-page {
  min-height: 100vh;
  color: #fff;
  background:
    radial-gradient(circle at 12% 0, rgba(236,0,81,.22), transparent 32%),
    radial-gradient(circle at 90% 16%, rgba(217,221,24,.12), transparent 30%),
    #070708;
}

.program-detail-hero {
  position: relative;
  min-height: calc(100svh - 72px);
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(320px, .58fr);
  gap: 24px;
  align-items: end;
  padding: clamp(74px, 9vw, 130px) clamp(18px, 6vw, 92px) clamp(38px, 6vw, 82px);
  overflow: hidden;
}

.program-detail-bg {
  position: absolute;
  inset: 0;
}

.program-detail-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .38;
  filter: saturate(1.08) contrast(1.08);
}

.program-detail-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(7,7,8,.96), rgba(7,7,8,.76) 45%, rgba(7,7,8,.88)),
    linear-gradient(180deg, rgba(7,7,8,.1), #070708 100%);
}

.program-detail-copy,
.program-detail-panel {
  position: relative;
  z-index: 2;
}

.program-detail-copy {
  max-width: 860px;
}

.back-link {
  display: inline-flex;
  margin-bottom: 18px;
  color: rgba(255,255,255,.68);
  font-size: 13px;
  font-weight: 900;
}

.program-detail-copy h1 {
  max-width: 860px;
  margin: 10px 0 14px;
  font-size: clamp(42px, 6vw, 92px);
  line-height: .92;
  letter-spacing: -.055em;
  text-transform: uppercase;
}

.program-detail-copy p {
  max-width: 720px;
  color: rgba(255,255,255,.72);
  font-size: clamp(16px, 1.6vw, 22px);
  line-height: 1.55;
}

.program-detail-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 22px;
}

.program-detail-panel {
  align-self: stretch;
  display: grid;
  gap: 14px;
  align-content: end;
  padding: 22px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 18px;
  background:
    radial-gradient(circle at 0 0, rgba(217,221,24,.16), transparent 45%),
    rgba(255,255,255,.06);
  backdrop-filter: blur(18px);
  box-shadow: 0 30px 110px rgba(0,0,0,.38);
}

.program-detail-panel > span {
  width: fit-content;
  padding: 8px 10px;
  border-radius: 9px;
  color: #111;
  background: var(--yellow);
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
}

.program-detail-panel > b {
  font-size: clamp(22px, 2.5vw, 34px);
  line-height: 1.08;
  letter-spacing: -.035em;
}

.program-detail-panel div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding-top: 12px;
  border-top: 1px solid rgba(255,255,255,.1);
}

.program-detail-panel small {
  color: rgba(255,255,255,.48);
  font-weight: 900;
  text-transform: uppercase;
}

.program-detail-panel strong {
  color: var(--yellow);
  text-align: right;
  text-transform: uppercase;
}

.program-detail-grid-v2,
.program-flow-section,
.program-sample-section,
.program-question-card,
.program-not-found {
  padding: clamp(48px, 6vw, 88px) clamp(18px, 6vw, 92px);
}

.program-detail-grid-v2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.program-info-card,
.program-flow-section,
.program-sample-section,
.program-question-card,
.program-not-found {
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 20px;
  background:
    radial-gradient(circle at 0 0, rgba(236,0,81,.14), transparent 44%),
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.032));
  box-shadow: 0 28px 95px rgba(0,0,0,.26);
}

.program-info-card {
  padding: 24px;
}

.program-info-card h2,
.program-flow-section h2,
.program-sample-section h2,
.program-question-card h2,
.program-not-found h1 {
  margin: 8px 0 16px;
  font-size: clamp(28px, 3vw, 46px);
  line-height: .98;
  letter-spacing: -.04em;
  text-transform: uppercase;
}

.program-info-card ul {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.program-info-card li {
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 10px;
  align-items: center;
  color: rgba(255,255,255,.76);
}

.program-info-card .ui-icon {
  color: var(--yellow);
}

.program-flow-section,
.program-sample-section,
.program-question-card {
  display: grid;
  grid-template-columns: minmax(0, .72fr) minmax(0, 1fr);
  gap: 22px;
  margin: 0 clamp(18px, 6vw, 92px) 18px;
  padding: 28px;
}

.program-flow-section p,
.program-sample-section p,
.program-question-card p {
  color: rgba(255,255,255,.68);
  line-height: 1.6;
}

.program-step-list,
.sample-workout-list {
  display: grid;
  gap: 10px;
}

.program-step-list article,
.sample-workout-list article {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 13px 14px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 12px;
  background: rgba(255,255,255,.045);
}

.program-step-list span {
  color: var(--yellow);
  font-weight: 950;
}

.sample-workout-list b {
  color: #fff;
}

.sample-workout-list span {
  color: rgba(255,255,255,.58);
  text-align: right;
}

.program-detail-pricing {
  margin-top: 28px;
}

.program-question-card {
  align-items: center;
  margin-bottom: clamp(44px, 6vw, 90px);
}

.program-question-card > div:last-child {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.pricing-section-v4 {
  padding: clamp(58px, 7vw, 108px) clamp(18px, 6vw, 92px);
  color: #111;
  background:
    radial-gradient(circle at 12% 0, rgba(236,0,81,.14), transparent 30%),
    var(--cream);
}

.pricing-section-v4 .eyebrow,
.pricing-section-v4 .section-head p {
  color: #6b665d;
}

.pricing-selector-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 34px;
}

.price-card-v4 {
  position: relative;
  display: grid;
  gap: 16px;
  padding: 20px;
  border: 1px solid rgba(18,18,21,.12);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 28px 90px rgba(18,18,21,.1);
}

.price-card-v4.featured {
  color: #fff;
  background: linear-gradient(180deg, #17171b, #070708);
  box-shadow: 0 34px 110px rgba(236,0,81,.2);
}

.price-card-head small {
  color: var(--pink);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .12em;
}

.price-card-v4.featured .price-card-head small {
  color: var(--yellow);
}

.price-card-head h3 {
  margin: 8px 0;
  font-size: clamp(25px, 3vw, 40px);
  line-height: 1.02;
  letter-spacing: -.035em;
  text-transform: uppercase;
}

.price-card-head p {
  margin: 0;
  color: #66625a;
  line-height: 1.5;
}

.price-card-v4.featured .price-card-head p,
.price-card-v4.featured li {
  color: rgba(255,255,255,.66);
}

.program-select-label {
  display: grid;
  gap: 7px;
  color: inherit;
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
}

.program-select-label select {
  width: 100%;
  min-height: 44px;
  padding: 0 12px;
  border: 1px solid rgba(18,18,21,.12);
  border-radius: 8px;
  background: #f6f3ec;
  color: #111;
}

.price-card-v4.featured .program-select-label select {
  border-color: rgba(255,255,255,.14);
  background: rgba(255,255,255,.08);
  color: #fff;
}

.price-card-v4 ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.price-card-v4 li {
  position: relative;
  padding-left: 19px;
  color: #5f5b54;
  font-size: 13px;
}

.price-card-v4 li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .55em;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--brand);
}

.period-choice {
  display: grid;
  gap: 9px;
}

.period-pay {
  position: relative;
  display: grid;
  grid-template-columns: .62fr .62fr .85fr auto;
  gap: 8px;
  align-items: center;
  width: 100%;
  min-height: 72px;
  padding: 11px;
  border: 1px solid rgba(18,18,21,.1);
  border-radius: 12px;
  color: #111;
  background: #f7f4ed;
  cursor: pointer;
  text-align: left;
  overflow: hidden;
  transition: transform .22s ease, box-shadow .22s ease;
}

.period-pay:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 44px rgba(236,0,81,.16);
}

.price-card-v4.featured .period-pay {
  border-color: rgba(255,255,255,.1);
  color: #fff;
  background: rgba(255,255,255,.065);
}

.period-pay span {
  font-weight: 950;
}

.period-pay del {
  color: #8b867d;
  font-size: 13px;
}

.period-pay strong {
  color: transparent;
  background: var(--brand);
  background-clip: text;
  font-size: 21px;
  font-weight: 950;
}

.period-pay small {
  position: absolute;
  right: 10px;
  top: 8px;
  padding: 4px 7px;
  border-radius: 999px;
  color: #111;
  background: var(--yellow);
  font-size: 10px;
  font-weight: 950;
}

.period-pay em {
  align-self: end;
  justify-self: end;
  color: var(--yellow);
  font-size: 10px;
  font-style: normal;
  font-weight: 950;
  text-transform: uppercase;
}

.checkout-page {
  min-height: calc(100vh - 72px);
  padding: clamp(46px, 7vw, 96px) clamp(18px, 6vw, 92px);
  background:
    radial-gradient(circle at 80% 8%, rgba(236,0,81,.2), transparent 32%),
    #0b0b0d;
}

.checkout-card {
  max-width: 820px;
  margin: 0 auto;
  padding: clamp(22px, 4vw, 38px);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03));
  box-shadow: 0 34px 110px rgba(0,0,0,.34);
}

.checkout-card h1 {
  margin: 14px 0;
  font-size: clamp(32px, 5vw, 60px);
  line-height: 1.02;
  letter-spacing: -.04em;
  text-transform: uppercase;
}

.checkout-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 22px 0;
}

.checkout-summary span {
  display: grid;
  gap: 5px;
  padding: 14px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 12px;
  background: rgba(255,255,255,.055);
}

.checkout-summary small {
  color: rgba(255,255,255,.52);
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.checkout-summary b,
.checkout-summary strong {
  font-size: 18px;
}

.checkout-summary strong {
  color: var(--yellow);
  font-size: 30px;
}

.checkout-warning {
  display: flex;
  gap: 14px;
  padding: 16px;
  border: 1px solid rgba(217,221,24,.18);
  border-radius: 12px;
  background: rgba(217,221,24,.07);
}

.checkout-warning .ui-icon {
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  color: var(--yellow);
}

.checkout-warning p {
  margin: 5px 0 0;
  color: rgba(255,255,255,.65);
  line-height: 1.5;
}

.liqpay-pay-button {
  width: 100%;
  min-height: 58px;
  border: 0;
  border-radius: 10px;
  color: #111;
  background: linear-gradient(135deg, #b5f000, #e7ff5f);
  box-shadow: 0 20px 55px rgba(181,240,0,.22);
  font-weight: 950;
  cursor: pointer;
}

.checkout-note {
  color: rgba(255,255,255,.55);
  font-size: 13px;
}

@media (max-width: 1020px) {
  .goal-program-grid,
  .pricing-selector-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .program-detail-hero,
  .program-detail-grid-v2,
  .program-flow-section,
  .program-sample-section,
  .program-question-card {
    grid-template-columns: 1fr;
  }

  .program-detail-panel {
    align-self: auto;
  }
}

@media (max-width: 720px) {
  .source-logos,
  .goal-program-grid,
  .pricing-selector-grid,
  .checkout-summary {
    grid-template-columns: 1fr;
  }

  .goal-program-card {
    min-height: 360px;
  }

  .program-card-actions {
    grid-template-columns: 1fr;
  }

  .program-detail-hero {
    min-height: auto;
    padding-top: 34px;
  }

  .program-detail-copy h1 {
    font-size: clamp(36px, 12vw, 54px);
  }

  .program-flow-section,
  .program-sample-section,
  .program-question-card {
    margin-left: 14px;
    margin-right: 14px;
    padding: 18px;
  }

  .program-detail-grid-v2 {
    padding-left: 14px;
    padding-right: 14px;
  }

  .program-step-list article,
  .sample-workout-list article {
    align-items: flex-start;
    flex-direction: column;
  }

  .sample-workout-list span {
    text-align: left;
  }

  .period-pay {
    grid-template-columns: 1fr 1fr;
    min-height: 92px;
  }

  .period-pay em {
    justify-self: start;
  }

  .payment-logos {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Compact proportional typography */
.hero-v3 .hero-content h1 {
  max-width: 610px;
  font-size: clamp(36px, 4.25vw, 64px) !important;
  line-height: .96 !important;
  letter-spacing: -.038em !important;
}

.hero-v3 .hero-content h1 em {
  max-width: 560px;
  font-size: .56em !important;
  line-height: 1.08 !important;
}

.platform-copy h2,
.coach-story-copy h2,
.app-bot-section h2,
.results-proof-section h2,
.reviews-section h2,
.faq-section-v3 h2,
.programs-section-v3 h2,
.programs-section-v4 h2,
.pricing-section-v4 h2,
.final-cta h2,
.admin-page h1,
.cabinet-hero h1,
.checkout-card h1 {
  max-width: 780px;
  font-size: clamp(26px, 3.05vw, 44px) !important;
  line-height: 1.07 !important;
  letter-spacing: -.028em !important;
}

.price-card-head h3,
.goal-program-card h3,
.program-card-top h3 {
  font-size: clamp(20px, 2vw, 28px) !important;
  line-height: 1.08 !important;
}

.before-after-grid h3,
.cabinet-card h2,
.admin-tables h2 {
  font-size: 19px !important;
}

.eyebrow {
  gap: 9px;
  font-size: 9.5px !important;
  letter-spacing: .13em !important;
}

.eyebrow::before {
  width: 30px;
  height: 2px;
}

.platform-section,
.coach-story-section,
.app-bot-section,
.results-proof-section,
.reviews-section,
.faq-section-v3,
.programs-section-v3,
.programs-section-v4,
.pricing-section-v4,
.final-cta {
  padding-top: clamp(46px, 5.6vw, 82px) !important;
  padding-bottom: clamp(46px, 5.6vw, 82px) !important;
}

.section-head {
  max-width: 860px;
}

.section-head.centered {
  margin-inline: auto;
  text-align: center;
}

.section-head p,
.platform-copy > p:not(.eyebrow),
.coach-story-copy > p,
.app-bot-section p,
.results-proof-section p,
.reviews-section p,
.faq-section-v3 p {
  font-size: clamp(13px, 1.05vw, 15.5px) !important;
  line-height: 1.56 !important;
}

@media (max-width: 720px) {
  .hero-v3 .hero-content h1 {
    font-size: clamp(27px, 8.8vw, 35px) !important;
    line-height: 1 !important;
  }

  .platform-copy h2,
  .coach-story-copy h2,
  .app-bot-section h2,
  .results-proof-section h2,
  .reviews-section h2,
  .faq-section-v3 h2,
  .programs-section-v4 h2,
  .pricing-section-v4 h2,
  .final-cta h2,
  .checkout-card h1 {
    font-size: clamp(23px, 7vw, 30px) !important;
    line-height: 1.08 !important;
  }

  .hero-v3 .hero-lead {
    font-size: 12px !important;
  }
}

.footer-logo img {
  width: 184px !important;
  max-height: 58px !important;
}

.payment-logos {
  gap: 7px !important;
}

.pay-logo {
  min-width: 82px !important;
  height: 34px !important;
  padding: 0 9px !important;
  border-radius: 8px !important;
  gap: 4px !important;
}

.visa-logo b {
  font-size: 15px !important;
}

.mastercard-logo {
  padding-left: 9px !important;
}

.mastercard-logo i {
  width: 17px !important;
  height: 17px !important;
  margin-right: -9px !important;
}

.mastercard-logo b {
  margin-left: 9px !important;
  font-size: 9px !important;
}

.liqpay-logo i,
.wayforpay-logo i {
  width: 19px !important;
  height: 19px !important;
  border-radius: 5px !important;
  font-size: 8px !important;
}

.liqpay-logo b,
.wayforpay-logo b {
  font-size: 12px !important;
}

.final-cta {
  min-height: 270px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 16px 24px !important;
}

.final-cta .eyebrow {
  grid-column: 1 / -1 !important;
  margin: 0 !important;
}

.final-cta h2 {
  margin: 0 !important;
  max-width: 760px !important;
}

.final-cta .primary-action {
  justify-self: end !important;
  white-space: nowrap !important;
}

.program-pick-btn {
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  z-index: 3 !important;
  min-height: 38px !important;
  padding: 0 14px !important;
  border: 1px solid rgba(255,255,255,.2) !important;
  border-radius: 9px !important;
  background: linear-gradient(135deg, #ec0051, #ff6a1a 52%, #d9dd18) !important;
  box-shadow: 0 14px 42px rgba(236,0,81,.28) !important;
  color: #111 !important;
  font-size: 10px !important;
  font-weight: 950 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  transition: transform .22s ease, box-shadow .22s ease, filter .22s ease !important;
}

.program-pick-btn:hover {
  transform: translateY(-2px) scale(1.02) !important;
  box-shadow: 0 20px 58px rgba(255,106,26,.32) !important;
  filter: saturate(1.12) brightness(1.05) !important;
}

.goal-program-card > div {
  padding-right: 18px !important;
}

.program-select-label select,
.price-card-v4.featured .program-select-label select,
.program-select-label option {
  border-radius: 7px !important;
  background: #fff !important;
  color: #111 !important;
}

.price-card-v4.program-picked {
  border-color: rgba(217,221,24,.66) !important;
  box-shadow: 0 34px 110px rgba(217,221,24,.16), inset 0 0 0 1px rgba(217,221,24,.22) !important;
}

.period-pay {
  grid-template-columns: .48fr minmax(118px, 1fr) auto !important;
  padding-right: 10px !important;
}

.period-pay .price-sale-line {
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 6px !important;
  white-space: nowrap !important;
}

.period-pay del {
  font-size: 11px !important;
}

.period-pay strong {
  font-size: 18px !important;
  line-height: 1 !important;
}

.period-pay em {
  min-height: 28px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 9px !important;
  border-radius: 999px !important;
  background: rgba(217,221,24,.11) !important;
  white-space: nowrap !important;
}

.period-pay small {
  right: 8px !important;
  top: 7px !important;
  font-size: 9px !important;
}

.platform-points article,
.app-features article,
.achievement-grid article {
  grid-template-columns: 36px 1fr !important;
  align-items: start !important;
  gap: 6px 11px !important;
  background:
    radial-gradient(circle at 0 0, rgba(236,0,81,.18), transparent 42%),
    linear-gradient(135deg, rgba(255,255,255,.105), rgba(255,255,255,.028)) !important;
  transition: transform .24s ease, border-color .24s ease, box-shadow .24s ease, background .24s ease !important;
}

.platform-points article:hover,
.app-features article:hover,
.achievement-grid article:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(217,221,24,.42) !important;
  background:
    radial-gradient(circle at 0 0, rgba(217,221,24,.2), transparent 44%),
    linear-gradient(135deg, rgba(255,255,255,.13), rgba(255,255,255,.035)) !important;
  box-shadow: 0 30px 90px rgba(236,0,81,.16) !important;
}

.platform-points .ui-icon,
.app-features .ui-icon,
.achievement-grid .ui-icon {
  grid-row: 1 / span 2 !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 11px !important;
  background: linear-gradient(135deg, rgba(236,0,81,.18), rgba(217,221,24,.2)) !important;
  color: var(--yellow) !important;
}

.platform-points b,
.app-features b,
.achievement-grid b {
  align-self: center !important;
  margin-top: 2px !important;
}

.platform-points article > span:not(.ui-icon),
.app-features article > span:not(.ui-icon),
.achievement-grid article > span:not(.ui-icon) {
  grid-column: 2 !important;
}

.review-grid article {
  position: relative !important;
  padding: 46px 20px 22px !important;
}

.review-grid article > b {
  display: block !important;
  margin-bottom: 12px !important;
}

.review-grid .review-program {
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  display: inline-flex !important;
  max-width: calc(100% - 28px) !important;
  padding: 6px 9px !important;
  border: 1px solid rgba(217,221,24,.26) !important;
  border-radius: 999px !important;
  background: rgba(217,221,24,.12) !important;
  color: var(--yellow) !important;
  font-size: 9px !important;
  line-height: 1.1 !important;
}

@media (max-width: 720px) {
  .footer-logo img {
    width: 168px !important;
  }

  .pay-logo {
    min-width: 76px !important;
  }

  .final-cta {
    grid-template-columns: 1fr !important;
    min-height: 230px !important;
  }

  .final-cta .primary-action {
    justify-self: start !important;
    width: 100% !important;
  }

  .period-pay {
    grid-template-columns: .42fr 1fr !important;
    min-height: 92px !important;
    padding-top: 28px !important;
  }

  .period-pay em {
    grid-column: 1 / -1 !important;
    justify-self: stretch !important;
  }

  .program-pick-btn {
    top: 12px !important;
    right: 12px !important;
    min-height: 34px !important;
    padding: 0 11px !important;
    font-size: 9px !important;
  }

  .review-grid article {
    padding-top: 50px !important;
  }
}

.admin-access-screen,
.admin-app {
  min-height: 100vh;
  color: #fff;
  background:
    radial-gradient(circle at 8% 0, rgba(236,0,81,.22), transparent 32%),
    radial-gradient(circle at 96% 12%, rgba(217,221,24,.12), transparent 28%),
    #070708;
}

.admin-access-screen {
  display: grid;
  place-items: center;
  padding: 24px;
}

.admin-access-card {
  width: min(100%, 460px);
  padding: 30px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.035));
  box-shadow: 0 34px 120px rgba(0,0,0,.42);
}

.admin-access-card img {
  width: 188px;
  margin-bottom: 24px;
}

.admin-access-card h1 {
  margin: 10px 0;
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1;
  letter-spacing: -.04em;
  text-transform: uppercase;
}

.admin-access-card p {
  color: rgba(255,255,255,.66);
  line-height: 1.55;
}

.admin-login-form {
  display: grid;
  gap: 10px;
  margin: 22px 0;
}

.admin-login-form input,
.admin-login-form button,
.admin-app input,
.admin-app select,
.admin-app textarea,
.admin-inline-form button,
.admin-ticket-form button,
.admin-topbar button {
  min-height: 42px;
  border-radius: 9px;
  font: inherit;
}

.admin-login-form input,
.admin-app input,
.admin-app select,
.admin-app textarea {
  width: 100%;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.075);
  color: #fff;
  padding: 0 12px;
  outline: none;
}

.admin-app textarea {
  min-height: 94px;
  padding: 12px;
  resize: vertical;
}

.admin-app option {
  background: #101013;
  color: #fff;
}

.admin-login-form button,
.admin-inline-form button,
.admin-ticket-form button,
.admin-topbar button {
  border: 0;
  padding: 0 14px;
  color: #111;
  background: linear-gradient(135deg, #ec0051, #ff6a1a 52%, #d9dd18);
  box-shadow: 0 14px 44px rgba(236,0,81,.22);
  font-weight: 950;
  cursor: pointer;
}

.admin-app {
  display: grid;
  grid-template-columns: 290px minmax(0, 1fr);
}

.admin-sidebar {
  position: sticky;
  top: 0;
  height: 100vh;
  max-height: 100vh;
  display: flex;
  flex-direction: column;
  gap: 22px;
  padding: 22px;
  border-right: 1px solid rgba(255,255,255,.08);
  background: rgba(6,6,8,.82);
  backdrop-filter: blur(18px);
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: rgba(217,221,24,.45) rgba(255,255,255,.06);
}

.admin-logo img {
  width: 176px;
}

.admin-sidebar nav {
  display: grid;
  gap: 8px;
  padding-bottom: 8px;
}

.admin-sidebar::-webkit-scrollbar {
  width: 7px;
}

.admin-sidebar::-webkit-scrollbar-track {
  background: rgba(255,255,255,.05);
}

.admin-sidebar::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(236,0,81,.72), rgba(217,221,24,.72));
}

.admin-sidebar nav a {
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: 10px;
  align-items: center;
  padding: 11px;
  border: 1px solid transparent;
  border-radius: 12px;
  color: rgba(255,255,255,.78);
  background: rgba(255,255,255,.025);
  transition: transform .22s ease, border-color .22s ease, background .22s ease;
}

.admin-sidebar nav a:hover,
.admin-sidebar nav a.active {
  transform: translateX(3px);
  border-color: rgba(217,221,24,.28);
  color: #fff;
  background:
    radial-gradient(circle at 0 0, rgba(236,0,81,.2), transparent 50%),
    rgba(255,255,255,.075);
}

.admin-sidebar .ui-icon {
  width: 38px;
  height: 38px;
  border-radius: 11px;
  background: rgba(217,221,24,.1);
  color: var(--yellow);
}

.admin-sidebar b {
  display: block;
  font-size: 13px;
}

.admin-sidebar small {
  display: block;
  margin-top: 2px;
  color: rgba(255,255,255,.48);
  font-size: 11px;
  line-height: 1.25;
}

.admin-site-link {
  margin-top: auto;
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 10px;
  color: #fff;
  background: rgba(255,255,255,.055);
  font-weight: 900;
}

.admin-workspace {
  min-width: 0;
  padding: 24px;
}

.admin-topbar {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-start;
  margin-bottom: 22px;
  padding: 22px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 18px;
  background:
    radial-gradient(circle at 100% 0, rgba(217,221,24,.13), transparent 35%),
    linear-gradient(135deg, rgba(255,255,255,.095), rgba(255,255,255,.032));
}

.admin-topbar span {
  color: var(--yellow);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .16em;
}

.admin-topbar h1 {
  margin: 8px 0;
  font-size: clamp(28px, 3.4vw, 46px);
  line-height: .98;
  letter-spacing: -.04em;
  text-transform: uppercase;
}

.admin-topbar p {
  max-width: 720px;
  margin: 0;
  color: rgba(255,255,255,.62);
  line-height: 1.55;
}

.admin-top-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
  min-width: 260px;
}

.admin-webhook-action {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 0 14px;
  border: 1px solid rgba(42,171,238,.45);
  border-radius: 10px;
  color: #fff;
  background:
    linear-gradient(135deg, rgba(42,171,238,.38), rgba(255,255,255,.08)),
    rgba(42,171,238,.16);
  box-shadow: 0 14px 40px rgba(42,171,238,.18);
  font-weight: 950;
  text-decoration: none;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.admin-webhook-action:hover {
  transform: translateY(-2px);
  border-color: rgba(42,171,238,.82);
  box-shadow: 0 18px 48px rgba(42,171,238,.28);
}

.admin-webhook-action .ui-icon {
  width: 20px;
  height: 20px;
  color: #fff;
}

.admin-webhook-action span {
  color: #fff;
  font-size: 12px;
  letter-spacing: .02em;
  text-transform: none;
}

.admin-notice {
  margin: 0 0 18px;
  padding: 13px 15px;
  border: 1px solid rgba(217,221,24,.24);
  border-radius: 12px;
  color: #fff;
  background: rgba(217,221,24,.08);
}

.admin-notice.error {
  border-color: rgba(236,0,81,.36);
  background: rgba(236,0,81,.12);
}

.admin-kpi-grid,
.admin-period-grid,
.admin-panels-two,
.admin-ticket-grid,
.admin-photo-grid,
.admin-program-grid,
.admin-system-grid,
.admin-price-matrix {
  display: grid;
  gap: 14px;
}

.admin-kpi-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 18px;
}

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

.admin-kpi-grid article,
.admin-period-grid article,
.admin-panel,
.admin-ticket-card,
.admin-photo-card,
.admin-program-card,
.admin-price-matrix article,
.admin-system-grid article {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 16px;
  background:
    radial-gradient(circle at 0 0, rgba(236,0,81,.14), transparent 44%),
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.032));
  box-shadow: 0 24px 80px rgba(0,0,0,.22);
}

.admin-kpi-grid article {
  padding: 18px;
}

.admin-kpi-grid small,
.admin-system-grid span,
.admin-muted {
  color: rgba(255,255,255,.54);
}

.admin-kpi-grid b {
  display: block;
  margin: 8px 0 4px;
  font-size: clamp(28px, 3vw, 44px);
  line-height: 1;
  letter-spacing: -.04em;
}

.admin-period-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-bottom: 18px;
}

.admin-period-grid article {
  display: grid;
  gap: 9px;
  padding: 16px;
}

.admin-period-grid article > b {
  color: #fff;
  font-size: 15px;
}

.admin-period-grid span {
  display: flex;
  gap: 7px;
  align-items: center;
  color: rgba(255,255,255,.68);
  font-size: 12px;
}

.admin-period-grid .ui-icon {
  width: 20px;
  height: 20px;
  color: var(--yellow);
}

.admin-panels-two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-bottom: 18px;
}

.admin-panel {
  padding: 18px;
  margin-bottom: 18px;
}

.admin-panel h2,
.admin-panel-head h2 {
  margin: 0 0 14px;
  font-size: 20px !important;
  letter-spacing: -.02em;
}

.admin-panel-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  margin-bottom: 12px;
}

.admin-panel-head span {
  color: rgba(255,255,255,.52);
  font-size: 12px;
}

.admin-data-table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
}

.admin-data-table th,
.admin-data-table td {
  padding: 12px;
  border-bottom: 1px solid rgba(255,255,255,.075);
  vertical-align: top;
  text-align: left;
}

.admin-data-table th {
  color: rgba(255,255,255,.48);
  font-size: 10px;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.admin-data-table td {
  color: rgba(255,255,255,.78);
  font-size: 13px;
}

.admin-data-table td b {
  display: block;
  color: #fff;
  margin-bottom: 3px;
}

.admin-data-table small,
.admin-photo-card small,
.admin-ticket-card small {
  color: rgba(255,255,255,.48);
  font-size: 11px;
}

.admin-inline-form {
  display: flex;
  gap: 8px;
  align-items: center;
}

.admin-inline-form select {
  min-width: 132px;
}

.admin-badge {
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  padding: 0 9px;
  border-radius: 999px;
  color: #111;
  background: var(--yellow);
  font-size: 10px;
  font-weight: 950;
  text-transform: uppercase;
}

.status-blocked,
.status-failed,
.status-cancelled,
.status-rejected {
  color: #fff;
  background: #ec0051;
}

.status-paid,
.status-completed,
.status-active,
.status-approved,
.status-answered {
  color: #101013;
  background: #d9dd18;
}

.status-pending-payment,
.status-review,
.status-new,
.status-in-review,
.status-in-progress {
  color: #fff;
  background: #ff6a1a;
}

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

.admin-ticket-card {
  padding: 18px;
}

.admin-ticket-card > div:first-child {
  display: grid;
  gap: 8px;
  margin-bottom: 12px;
}

.admin-ticket-card b {
  font-size: 18px;
}

.admin-ticket-card p {
  color: rgba(255,255,255,.7);
  line-height: 1.55;
}

.admin-ticket-form {
  display: grid;
  gap: 10px;
}

.admin-ticket-form > div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

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

.admin-photo-card {
  display: grid;
}

.admin-photo-card img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
}

.admin-photo-card > div {
  display: grid;
  gap: 8px;
  padding: 14px;
}

.admin-photo-card b {
  color: #fff;
}

.admin-photo-card span {
  color: rgba(255,255,255,.58);
  font-size: 12px;
}

.admin-program-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 18px;
}

.admin-program-card {
  min-height: 380px;
}

.admin-program-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.9) contrast(1.08);
}

.admin-program-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.06), rgba(0,0,0,.86));
}

.admin-program-card > div {
  position: absolute;
  z-index: 2;
  left: 16px;
  right: 16px;
  bottom: 16px;
}

.admin-program-card small {
  display: inline-flex;
  padding: 6px 8px;
  border-radius: 8px;
  color: #111;
  background: var(--yellow);
  font-weight: 950;
}

.admin-program-card h2 {
  margin: 10px 0 8px;
  font-size: 24px !important;
  line-height: 1.02;
  text-transform: uppercase;
}

.admin-program-card p {
  color: rgba(255,255,255,.7);
  line-height: 1.45;
}

.admin-program-card a {
  color: var(--yellow);
  font-weight: 950;
}

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

.admin-price-matrix article {
  display: grid;
  gap: 10px;
  padding: 16px;
}

.admin-price-matrix h3 {
  margin: 0;
  font-size: 18px;
}

.admin-price-matrix p {
  margin: 0;
  color: rgba(255,255,255,.58);
}

.admin-price-matrix span {
  display: grid;
  grid-template-columns: .7fr .8fr .8fr;
  gap: 8px;
  align-items: center;
  padding: 9px;
  border-radius: 10px;
  background: rgba(255,255,255,.06);
}

.admin-price-matrix strong {
  color: var(--yellow);
}

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

.admin-system-grid article {
  padding: 14px;
}

.admin-system-grid b {
  display: block;
  margin-bottom: 4px;
  color: #fff;
}

@media (max-width: 1180px) {
  .admin-app {
    grid-template-columns: 1fr;
  }

  .admin-sidebar {
    position: relative;
    height: auto;
  }

  .admin-sidebar nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-kpi-grid,
  .admin-period-grid,
  .admin-photo-grid,
  .admin-program-grid,
  .admin-price-matrix,
  .admin-system-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .admin-workspace,
  .admin-sidebar {
    padding: 14px;
  }

  .admin-sidebar nav,
  .admin-kpi-grid,
  .admin-kpi-grid.compact,
  .admin-period-grid,
  .admin-panels-two,
  .admin-ticket-grid,
  .admin-photo-grid,
  .admin-program-grid,
  .admin-price-matrix,
  .admin-system-grid {
    grid-template-columns: 1fr;
  }

  .admin-topbar {
    display: grid;
    padding: 16px;
  }

  .admin-inline-form,
  .admin-ticket-form > div {
    grid-template-columns: 1fr;
    display: grid;
  }

  .admin-inline-form button {
    width: 100%;
  }
}

.dashboard-v3 {
  background:
    radial-gradient(circle at 10% 0, rgba(236,0,81,.18), transparent 32%),
    radial-gradient(circle at 90% 8%, rgba(217,221,24,.12), transparent 30%),
    #08080a !important;
}

.dashboard-v3 .cabinet-hero {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 300px !important;
  align-items: stretch !important;
  margin-bottom: 18px !important;
  padding: 20px !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  border-radius: 22px !important;
  background:
    radial-gradient(circle at 92% 0, rgba(217,221,24,.14), transparent 34%),
    linear-gradient(135deg, rgba(255,255,255,.09), rgba(255,255,255,.03)) !important;
  box-shadow: 0 30px 110px rgba(0,0,0,.28) !important;
}

.dashboard-v3 .cabinet-hero h1 {
  max-width: 760px !important;
  margin: 10px 0 !important;
  font-size: clamp(28px, 3.2vw, 46px) !important;
}

.dashboard-v3 .cabinet-hero p {
  max-width: 720px !important;
  margin: 0 !important;
  color: rgba(255,255,255,.66) !important;
  font-size: 14px !important;
}

.cabinet-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 18px;
}

.cabinet-tabs a {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  padding: 0 12px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 999px;
  color: #fff;
  background: rgba(255,255,255,.055);
  font-size: 12px;
  font-weight: 900;
}

.dashboard-v3 .profile-card {
  min-width: 0 !important;
  border-radius: 18px !important;
  background:
    radial-gradient(circle at 100% 0, rgba(236,0,81,.22), transparent 38%),
    rgba(255,255,255,.07) !important;
}

.dashboard-v3 .cabinet-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

.dashboard-v3 .cabinet-card {
  display: grid !important;
  align-content: start !important;
  gap: 10px !important;
  min-height: 230px !important;
  padding: 18px !important;
  border-radius: 18px !important;
  background:
    radial-gradient(circle at 0 0, rgba(236,0,81,.16), transparent 44%),
    linear-gradient(145deg, rgba(255,255,255,.09), rgba(255,255,255,.032)) !important;
  transition: transform .24s ease, border-color .24s ease, box-shadow .24s ease !important;
}

.dashboard-v3 .cabinet-card:hover {
  transform: translateY(-3px) !important;
  border-color: rgba(217,221,24,.32) !important;
  box-shadow: 0 28px 90px rgba(236,0,81,.14) !important;
}

.dashboard-v3 .workout-plan,
.dashboard-v3 .progress-card {
  grid-column: span 2 !important;
}

.dashboard-v3 .cabinet-card h2 {
  margin: 0 !important;
  font-size: 20px !important;
  line-height: 1.12 !important;
}

.dashboard-v3 .workout-plan ol,
.dashboard-v3 .nutrition-card ul {
  display: grid !important;
  gap: 8px !important;
  margin: 2px 0 8px !important;
  padding: 0 !important;
  list-style: none !important;
}

.dashboard-v3 .workout-plan li,
.dashboard-v3 .nutrition-card li,
.swap-list span {
  padding: 10px 12px !important;
  border-radius: 11px !important;
  background: rgba(255,255,255,.055) !important;
  color: rgba(255,255,255,.76) !important;
  line-height: 1.35 !important;
}

.dashboard-v3 .workout-plan li.done {
  color: #111 !important;
  background: linear-gradient(135deg, #d9dd18, #fff36a) !important;
  font-weight: 900 !important;
}

.dashboard-v3 .workout-plan li.locked {
  display: flex !important;
  gap: 8px !important;
  align-items: center !important;
  color: rgba(255,255,255,.54) !important;
}

.dashboard-v3 .workout-plan li.locked .ui-icon {
  width: 22px !important;
  height: 22px !important;
  color: var(--yellow) !important;
}

.dashboard-v3 .mini-form,
.dashboard-v3 .calc-form {
  gap: 8px !important;
}

.dashboard-v3 .mini-form input,
.dashboard-v3 .mini-form select,
.dashboard-v3 .mini-form textarea,
.dashboard-v3 .calc-form input,
.dashboard-v3 .calc-form select {
  border-radius: 8px !important;
  background: rgba(255,255,255,.075) !important;
}

.dashboard-v3 .calc-form strong {
  min-height: 48px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  color: #111;
  background: linear-gradient(135deg, #d9dd18, #fff36a);
  font-size: 22px;
  font-weight: 950;
}

.cabinet-chart {
  height: 150px;
  display: flex;
  align-items: flex-end;
  gap: 10px;
  padding: 12px;
  border-radius: 14px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02)),
    repeating-linear-gradient(0deg, transparent 0 29px, rgba(255,255,255,.06) 30px);
}

.cabinet-chart i {
  position: relative;
  flex: 1;
  min-height: 18%;
  border-radius: 10px 10px 5px 5px;
  background: linear-gradient(180deg, #ec0051, #ff6a1a 52%, #d9dd18);
  box-shadow: 0 14px 30px rgba(236,0,81,.24);
}

.cabinet-chart i span,
.cabinet-chart i b {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
  font-size: 9px;
}

.cabinet-chart i span {
  bottom: -19px;
  color: rgba(255,255,255,.46);
}

.cabinet-chart i b {
  top: -18px;
  color: #fff;
}

.progress-card p {
  margin: 14px 0 0 !important;
  color: rgba(255,255,255,.58) !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
}

@media (max-width: 1120px) {
  .dashboard-v3 .cabinet-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 720px) {
  .dashboard-v3 .cabinet-hero {
    grid-template-columns: 1fr !important;
    padding: 16px !important;
  }

  .dashboard-v3 .cabinet-grid {
    grid-template-columns: 1fr !important;
  }

  .dashboard-v3 .workout-plan,
  .dashboard-v3 .progress-card {
    grid-column: auto !important;
  }

  .cabinet-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cabinet-tabs a {
    justify-content: center;
  }
}

.client-access-screen,
.client-app {
  min-height: 100vh;
  color: #fff;
  background:
    radial-gradient(circle at 10% -10%, rgba(236,0,81,.2), transparent 34%),
    radial-gradient(circle at 95% 0, rgba(217,221,24,.14), transparent 30%),
    #08080a;
}

.client-access-screen {
  display: grid;
  place-items: center;
  padding: 24px;
}

.client-access-card {
  width: min(520px, 100%);
  padding: 26px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(255,255,255,.1), rgba(255,255,255,.035));
  box-shadow: 0 30px 110px rgba(0,0,0,.42);
}

.client-access-card img {
  width: 158px;
  height: auto;
  margin-bottom: 22px;
}

.client-access-card h1 {
  margin: 8px 0 10px;
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1;
}

.client-access-card p {
  color: rgba(255,255,255,.68);
  line-height: 1.55;
}

.client-access-card div {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 20px;
}

.client-app {
  display: grid;
  grid-template-columns: 286px minmax(0, 1fr);
}

.client-sidebar {
  position: sticky;
  top: 0;
  height: 100vh;
  display: flex;
  flex-direction: column;
  gap: 22px;
  padding: 22px;
  border-right: 1px solid rgba(255,255,255,.09);
  background: rgba(6,6,8,.86);
  backdrop-filter: blur(18px);
}

.client-logo img {
  width: 154px;
  height: auto;
}

.client-sidebar nav {
  display: grid;
  gap: 8px;
}

.client-sidebar nav a,
.client-site-link {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 54px;
  padding: 10px 12px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 12px;
  color: rgba(255,255,255,.82);
  background: rgba(255,255,255,.035);
  text-decoration: none;
  transition: transform .22s ease, border-color .22s ease, background .22s ease;
}

.client-sidebar nav a:hover,
.client-sidebar nav a.active,
.client-site-link:hover {
  transform: translateX(3px);
  border-color: rgba(217,221,24,.35);
  background:
    linear-gradient(135deg, rgba(236,0,81,.22), rgba(217,221,24,.08)),
    rgba(255,255,255,.065);
}

.client-sidebar .ui-icon {
  width: 25px;
  height: 25px;
  color: var(--yellow);
  flex: 0 0 auto;
}

.client-sidebar b {
  display: block;
  font-size: 13px;
}

.client-sidebar small {
  display: block;
  margin-top: 2px;
  color: rgba(255,255,255,.46);
  font-size: 10px;
  line-height: 1.25;
}

.client-site-link {
  margin-top: auto;
  justify-content: center;
  min-height: 44px;
  font-weight: 900;
}

.client-workspace {
  min-width: 0;
  padding: 22px clamp(16px, 4vw, 48px) 48px;
}

.client-topbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 210px;
  align-items: stretch;
  gap: 14px;
  margin-bottom: 20px;
  padding: 18px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 18px;
  background:
    radial-gradient(circle at 100% 0, rgba(217,221,24,.12), transparent 35%),
    linear-gradient(135deg, rgba(255,255,255,.09), rgba(255,255,255,.035));
}

.client-topbar span,
.client-section-head .eyebrow,
.client-card-head span {
  color: rgba(255,255,255,.62);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.client-topbar h1 {
  margin: 6px 0;
  font-size: clamp(28px, 3.2vw, 46px);
  line-height: 1;
}

.client-topbar p {
  margin: 0;
  color: rgba(255,255,255,.62);
}

.client-topbar article {
  display: grid;
  gap: 8px;
  padding: 14px;
  border-radius: 14px;
  background: rgba(255,255,255,.06);
}

.client-topbar article small {
  color: rgba(255,255,255,.58);
  font-weight: 800;
}

.client-topbar article b {
  font-size: 30px;
  line-height: 1;
}

.client-topbar article i {
  height: 7px;
  border-radius: 999px;
  background: linear-gradient(90deg, #ec0051 var(--value), rgba(255,255,255,.14) var(--value));
}

.client-notice {
  margin-bottom: 16px;
  padding: 12px 14px;
  border: 1px solid rgba(217,221,24,.32);
  border-radius: 12px;
  color: #111;
  background: linear-gradient(135deg, #d9dd18, #fff36a);
  font-weight: 900;
}

.client-overview-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.client-main-card,
.workout-day-card,
.nutrition-day-card,
.swap-section,
.settings-grid .cabinet-card,
.progress-layout .cabinet-card,
.photo-layout .cabinet-card,
.support-layout .cabinet-card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 18px;
  background:
    radial-gradient(circle at 0 0, rgba(236,0,81,.17), transparent 38%),
    linear-gradient(145deg, rgba(255,255,255,.1), rgba(255,255,255,.035));
  box-shadow: 0 24px 80px rgba(0,0,0,.25);
}

.client-main-card {
  min-height: 620px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: clamp(18px, 2.4vw, 28px);
}

.client-main-card.nutrition {
  background:
    radial-gradient(circle at 100% 0, rgba(217,221,24,.15), transparent 38%),
    linear-gradient(145deg, rgba(255,255,255,.1), rgba(255,255,255,.035));
}

.client-card-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}

.client-card-head span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.client-card-head .ui-icon {
  width: 23px;
  height: 23px;
  color: var(--yellow);
}

.client-card-head b {
  padding: 8px 10px;
  border-radius: 10px;
  color: #111;
  background: linear-gradient(135deg, #d9dd18, #fff36a);
  font-size: 12px;
}

.client-main-card h2,
.client-section-head h2 {
  margin: 0;
  font-size: clamp(24px, 2.6vw, 38px);
  line-height: 1.05;
}

.client-main-card p,
.client-section-head p {
  max-width: 780px;
  margin: 0;
  color: rgba(255,255,255,.66);
  line-height: 1.55;
}

.client-exercise-mini,
.client-meal-mini {
  display: grid;
  gap: 10px;
  margin-top: auto;
}

.client-exercise-mini span,
.client-meal-mini span,
.swap-list span {
  display: grid;
  gap: 4px;
  padding: 12px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 12px;
  background: rgba(255,255,255,.055);
}

.client-exercise-mini b,
.client-meal-mini b,
.swap-list b {
  color: #fff;
  font-size: 13px;
}

.client-exercise-mini small,
.client-meal-mini small,
.swap-list span {
  color: rgba(255,255,255,.62);
  font-size: 12px;
  line-height: 1.4;
}

.client-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 6px;
}

.client-card-actions a,
.complete-workout-form button,
.admin-upload-form button {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 16px;
  border: 0;
  border-radius: 11px;
  color: #111;
  background: linear-gradient(135deg, #ec0051, #ff6a1a 48%, #d9dd18);
  box-shadow: 0 12px 32px rgba(236,0,81,.28);
  font-weight: 950;
  text-decoration: none;
  cursor: pointer;
  transition: transform .22s ease, box-shadow .22s ease;
}

.client-card-actions a:hover,
.complete-workout-form button:hover,
.admin-upload-form button:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 46px rgba(236,0,81,.38);
}

.client-section-head {
  display: grid;
  gap: 8px;
  margin-bottom: 16px;
}

.workout-roadmap,
.nutrition-week-grid,
.client-photo-grid,
.client-ticket-list {
  display: grid;
  gap: 14px;
}

.workout-day-card {
  padding: 16px;
}

.workout-day-title {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
}

.workout-day-title > span {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 14px;
  color: #111;
  background: linear-gradient(135deg, #d9dd18, #fff36a);
  font-weight: 950;
}

.workout-day-title h3 {
  margin: 0 0 4px;
  font-size: 22px;
}

.workout-day-title p {
  margin: 0;
  color: rgba(255,255,255,.58);
}

.workout-day-title > b {
  padding: 8px 10px;
  border-radius: 10px;
  background: rgba(255,255,255,.08);
  color: rgba(255,255,255,.72);
  font-size: 12px;
}

.workout-day-card.completed .workout-day-title > b {
  color: #111;
  background: linear-gradient(135deg, #d9dd18, #fff36a);
}

.exercise-video-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}

.exercise-card {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: 12px;
  padding: 10px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 14px;
  background: rgba(255,255,255,.045);
}

.exercise-media,
.exercise-media video,
.exercise-player-empty {
  width: 100%;
  min-height: 150px;
  border-radius: 12px;
  overflow: hidden;
  background: #111116;
}

.exercise-media video {
  display: block;
  object-fit: cover;
}

.exercise-player-empty {
  display: grid;
  place-items: center;
  gap: 8px;
  color: rgba(255,255,255,.62);
  background:
    radial-gradient(circle at 50% 0, rgba(236,0,81,.28), transparent 52%),
    #111116;
  text-align: center;
  font-weight: 900;
}

.exercise-player-empty .ui-icon {
  width: 34px;
  height: 34px;
  color: var(--yellow);
}

.exercise-player-empty.instruction-only {
  padding: 18px;
  background:
    radial-gradient(circle at 20% 0, rgba(217,221,24,.2), transparent 50%),
    linear-gradient(135deg, rgba(255,255,255,.075), rgba(255,255,255,.025)),
    #111116;
}

.exercise-player-empty.instruction-only b {
  color: #fff;
  font-size: 18px;
}

.exercise-player-empty.instruction-only span {
  max-width: 260px;
  color: rgba(255,255,255,.68);
  font-size: 13px;
  line-height: 1.45;
}

.exercise-card small {
  color: var(--yellow);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.exercise-card h4 {
  margin: 6px 0;
  font-size: 17px;
}

.exercise-card p {
  margin: 0 0 10px;
  color: rgba(255,255,255,.58);
  font-size: 13px;
  line-height: 1.42;
}

.exercise-card ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.exercise-card li {
  display: grid;
  gap: 2px;
  padding: 8px;
  border-radius: 9px;
  background: rgba(255,255,255,.06);
}

.exercise-card li b {
  color: rgba(255,255,255,.45);
  font-size: 10px;
}

.exercise-card li span {
  color: #fff;
  font-size: 12px;
  font-weight: 900;
}

.locked-workout {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 14px;
  padding: 14px;
  border: 1px dashed rgba(255,255,255,.14);
  border-radius: 13px;
  color: rgba(255,255,255,.58);
  background: rgba(255,255,255,.035);
}

.locked-workout .ui-icon {
  width: 26px;
  height: 26px;
  color: var(--yellow);
}

.nutrition-summary,
.progress-layout,
.photo-layout,
.support-layout,
.settings-grid,
.admin-media-grid,
.admin-food-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.nutrition-summary article {
  display: grid;
  gap: 6px;
  padding: 16px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 15px;
  background: rgba(255,255,255,.055);
}

.nutrition-summary small,
.nutrition-summary span {
  color: rgba(255,255,255,.58);
}

.nutrition-summary b {
  font-size: 20px;
}

.nutrition-week-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 14px;
}

.nutrition-day-card {
  padding: 14px;
}

.nutrition-day-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.nutrition-day-head b {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  color: #111;
  background: linear-gradient(135deg, #d9dd18, #fff36a);
}

.nutrition-day-head span {
  color: rgba(255,255,255,.58);
  font-size: 12px;
}

.meal-card {
  display: grid;
  grid-template-columns: 118px minmax(0, 1fr);
  gap: 10px;
  padding: 10px 0;
  border-top: 1px solid rgba(255,255,255,.08);
}

.meal-card img,
.meal-photo-art {
  width: 100%;
  height: 92px;
  object-fit: cover;
  border-radius: 12px;
}

.meal-photo-art {
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at 20% 20%, rgba(217,221,24,.26), transparent 38%),
    linear-gradient(135deg, rgba(236,0,81,.22), rgba(255,106,26,.12));
}

.meal-photo-art .ui-icon {
  width: 30px;
  height: 30px;
  color: #fff;
}

.meal-card h4 {
  margin: 0 0 4px;
  font-size: 15px;
}

.meal-card p {
  margin: 0 0 6px;
  color: rgba(255,255,255,.62);
  font-size: 12px;
  line-height: 1.38;
}

.meal-card small {
  color: var(--yellow);
  font-weight: 900;
}

.swap-section {
  margin-top: 14px;
  padding: 18px;
}

.swap-section h3 {
  margin: 0 0 12px;
}

.swap-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.progress-layout {
  grid-template-columns: 1.2fr 1fr 1fr;
}

.photo-layout,
.support-layout {
  grid-template-columns: 360px minmax(0, 1fr);
}

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

.settings-grid dl {
  display: grid;
  gap: 8px;
  margin: 0;
}

.settings-grid dt {
  color: rgba(255,255,255,.42);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.settings-grid dd {
  margin: -5px 0 6px;
  color: #fff;
}

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

.client-photo-grid article,
.client-ticket-list article,
.empty-client-card {
  padding: 12px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 14px;
  background: rgba(255,255,255,.045);
}

.client-photo-grid img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  border-radius: 12px;
}

.client-photo-grid b,
.client-photo-grid span {
  display: block;
  margin-top: 7px;
}

.client-photo-grid span,
.client-ticket-list span {
  color: rgba(255,255,255,.52);
  font-size: 12px;
}

.client-ticket-list article {
  display: grid;
  gap: 8px;
}

.client-ticket-list article > div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}

.client-ticket-list p {
  margin: 0;
  color: rgba(255,255,255,.66);
}

.client-ticket-list blockquote {
  margin: 0;
  padding: 12px;
  border-left: 3px solid var(--yellow);
  border-radius: 10px;
  background: rgba(217,221,24,.08);
  color: #fff;
}

.empty-client-card {
  display: grid;
  place-items: center;
  gap: 8px;
  min-height: 180px;
  text-align: center;
  color: rgba(255,255,255,.62);
}

.empty-client-card .ui-icon {
  width: 34px;
  height: 34px;
  color: var(--yellow);
}

.media-upload-panel {
  min-height: 100%;
}

.admin-upload-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.admin-upload-form label {
  display: grid;
  gap: 6px;
  color: rgba(255,255,255,.7);
  font-size: 12px;
  font-weight: 800;
}

.admin-upload-form input,
.admin-upload-form textarea {
  min-height: 42px;
  padding: 0 12px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 9px;
  color: #fff;
  background: rgba(255,255,255,.06);
}

.admin-upload-form textarea {
  min-height: 118px;
  padding: 12px;
  resize: vertical;
  line-height: 1.45;
}

.admin-broadcast-form .broadcast-message-field,
.admin-broadcast-form label:first-child {
  grid-column: 1 / -1;
}

.admin-broadcast-form button .ui-icon {
  width: 18px;
  height: 18px;
  margin-right: 8px;
}

.admin-upload-form button {
  grid-column: 1 / -1;
  width: fit-content;
}

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

.admin-video-card,
.admin-food-grid article {
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 14px;
  background: rgba(255,255,255,.045);
}

.admin-video-card video,
.admin-food-grid img {
  width: 100%;
  height: 190px;
  display: block;
  object-fit: cover;
  background: #111116;
}

.admin-video-card div,
.admin-food-grid div {
  display: grid;
  gap: 4px;
  padding: 12px;
}

.admin-video-card span,
.admin-video-card small,
.admin-food-grid span,
.admin-food-grid small {
  color: rgba(255,255,255,.55);
  font-size: 12px;
}

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

@media (max-width: 1180px) {
  .review-grid-photo {
    grid-template-columns: 1fr;
  }

  .legal-grid {
    grid-template-columns: 1fr;
  }

  .client-app {
    grid-template-columns: 86px minmax(0, 1fr);
  }

  .client-logo img,
  .client-sidebar small,
  .client-sidebar nav span small,
  .client-site-link {
    display: none;
  }

  .client-sidebar nav a {
    justify-content: center;
    padding: 10px;
  }

  .client-sidebar nav a span b {
    display: none;
  }

  .exercise-video-grid,
  .nutrition-week-grid,
  .progress-layout,
  .admin-media-grid,
  .admin-food-grid {
    grid-template-columns: 1fr;
  }

  .client-overview-grid,
  .photo-layout,
  .support-layout,
  .settings-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .client-app {
    display: block;
    padding-bottom: 82px;
  }

  .client-sidebar {
    position: fixed;
    z-index: 80;
    left: 10px;
    right: 10px;
    bottom: 10px;
    top: auto;
    height: auto;
    padding: 8px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 18px;
    background: rgba(8,8,10,.9);
    box-shadow: 0 18px 60px rgba(0,0,0,.42);
  }

  .client-sidebar nav {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 5px;
  }

  .client-sidebar nav a {
    min-height: 48px;
    border-radius: 12px;
  }

  .client-logo,
  .client-site-link {
    display: none;
  }

  .client-workspace {
    padding: 14px 12px 24px;
  }

  .client-topbar {
    grid-template-columns: 1fr;
    padding: 14px;
  }

  .client-topbar h1 {
    font-size: 28px;
  }

  .client-main-card {
    min-height: auto;
    padding: 16px;
  }

  .client-main-card h2,
  .client-section-head h2 {
    font-size: 25px;
  }

  .workout-day-title {
    grid-template-columns: 42px minmax(0, 1fr);
  }

  .workout-day-title > b {
    grid-column: 1 / -1;
    width: fit-content;
  }

  .workout-day-title > span {
    width: 40px;
    height: 40px;
  }

  .exercise-card,
  .meal-card {
    grid-template-columns: 1fr;
  }

  .exercise-media,
  .exercise-media video,
  .exercise-player-empty {
    min-height: 210px;
  }

  .nutrition-summary,
  .swap-list,
  .client-photo-grid,
  .admin-upload-form,
  .media-steps {
    grid-template-columns: 1fr;
  }
}

/* Final stable first-screen layout */
.hero-section.hero-v3 {
  position: relative !important;
  min-height: calc(100svh - 72px) !important;
  display: grid !important;
  grid-template-columns: minmax(0, .92fr) minmax(390px, .82fr) !important;
  align-items: end !important;
  gap: clamp(16px, 3.2vw, 54px) !important;
  padding: clamp(22px, 3.2vw, 48px) clamp(18px, 4.8vw, 76px) clamp(18px, 3vw, 42px) !important;
  overflow: hidden !important;
}

.hero-v3 .hero-content {
  position: relative !important;
  z-index: 4 !important;
  align-self: center !important;
  max-width: 650px !important;
}

.hero-v3 .hero-content h1 {
  max-width: 600px !important;
  margin: 12px 0 14px !important;
  font-size: clamp(36px, 4.05vw, 62px) !important;
  line-height: .96 !important;
  letter-spacing: -.04em !important;
}

.hero-v3 .hero-content h1 em {
  max-width: 530px !important;
  font-size: .55em !important;
  line-height: 1.08 !important;
}

.hero-v3 .hero-lead {
  max-width: 560px !important;
  font-size: clamp(13px, 1.02vw, 16px) !important;
  line-height: 1.5 !important;
}

.hero-v3 .hero-actions {
  margin-top: 18px !important;
}

.hero-v3 .hero-benefits {
  max-width: 610px !important;
  margin-top: 16px !important;
  gap: 7px !important;
}

.hero-v3 .hero-benefits div {
  min-height: 54px !important;
  padding: 8px !important;
  border-radius: 10px !important;
}

.hero-v3 .hero-benefits .ui-icon {
  width: 27px !important;
  height: 27px !important;
}

.hero-v3 .hero-benefits b {
  font-size: 10px !important;
}

.hero-v3 .hero-benefits span:not(.ui-icon) {
  font-size: 9px !important;
}

.hero-v3 .coach-cutout {
  position: relative !important;
  z-index: 3 !important;
  min-height: min(610px, calc(100svh - 86px)) !important;
  align-self: end !important;
  overflow: visible !important;
  isolation: isolate !important;
}

.hero-v3 .coach-solo {
  position: absolute !important;
  z-index: 2 !important;
  left: -9% !important;
  right: auto !important;
  bottom: -38px !important;
  width: min(510px, 34vw) !important;
  height: min(650px, calc(100svh - 62px)) !important;
  overflow: visible !important;
  background: none !important;
  transform: none !important;
}

.hero-v3 .coach-solo img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center bottom !important;
  filter: saturate(1.04) contrast(1.12) drop-shadow(0 42px 42px rgba(0,0,0,.78)) !important;
}

.hero-thesis-cloud {
  position: absolute;
  z-index: 5;
  inset: clamp(22px, 5vw, 58px) 0 clamp(24px, 5vw, 70px) 34%;
  pointer-events: none;
}

.hero-thesis {
  position: absolute;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-width: 190px;
  min-height: 44px;
  padding: 8px 12px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 13px;
  color: #fff;
  background:
    linear-gradient(135deg, rgba(255,255,255,.15), rgba(255,255,255,.055)),
    rgba(9,9,12,.34);
  box-shadow: 0 18px 48px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.12);
  backdrop-filter: blur(14px);
}

.hero-thesis::after {
  content: "";
  position: absolute;
  inset: -1px;
  z-index: -1;
  border-radius: inherit;
  background: linear-gradient(135deg, rgba(236,0,81,.35), rgba(217,221,24,.2));
  opacity: .42;
}

.hero-thesis .ui-icon {
  flex: 0 0 auto;
  width: 25px;
  height: 25px;
  color: #111;
  border-radius: 8px;
  background: linear-gradient(135deg, #ec0051, #ff6a1a 55%, #d9dd18);
  box-shadow: 0 10px 24px rgba(236,0,81,.22);
}

.hero-thesis b {
  font-size: clamp(11px, .92vw, 14px);
  line-height: 1.12;
  letter-spacing: .01em;
}

.hero-thesis:nth-child(1) {
  top: 1%;
  right: 7%;
}

.hero-thesis:nth-child(2) {
  top: 20%;
  right: 0;
}

.hero-thesis:nth-child(3) {
  top: 40%;
  right: 10%;
}

.hero-thesis:nth-child(4) {
  top: 60%;
  right: 1%;
}

.hero-thesis:nth-child(5) {
  bottom: 1%;
  right: 13%;
}

@media (max-width: 1050px) {
  .hero-section.hero-v3 {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto minmax(360px, 1fr) !important;
    padding-top: 24px !important;
  }

  .hero-v3 .hero-content {
    max-width: 760px !important;
  }

  .hero-v3 .coach-cutout {
    min-height: 455px !important;
  }

  .hero-v3 .coach-solo {
    left: -4% !important;
    bottom: -34px !important;
    width: min(480px, 56vw) !important;
    height: 510px !important;
  }

  .hero-thesis-cloud {
    inset: 34px 0 34px 42%;
  }
}

@media (max-width: 720px) {
  .hero-section.hero-v3 {
    min-height: calc(100svh - 64px) !important;
    grid-template-rows: auto minmax(292px, 38svh) !important;
    gap: 2px !important;
    padding: 14px 12px 12px !important;
  }

  .hero-v3 .hero-content h1 {
    margin: 8px 0 !important;
    font-size: clamp(26px, 8vw, 34px) !important;
    line-height: 1 !important;
  }

  .hero-v3 .hero-content h1 em {
    font-size: .58em !important;
  }

  .hero-v3 .hero-lead {
    max-width: 98% !important;
    font-size: 11.5px !important;
    line-height: 1.36 !important;
  }

  .hero-v3 .hero-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 6px !important;
    margin-top: 10px !important;
  }

  .hero-v3 .hero-actions a {
    min-height: 37px !important;
    padding: 0 12px !important;
    border-radius: 9px !important;
    font-size: 9.2px !important;
  }

  .hero-v3 .hero-benefits {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 4px !important;
    margin-top: 8px !important;
  }

  .hero-v3 .hero-benefits div {
    min-height: 45px !important;
    padding: 5px 3px !important;
  }

  .hero-v3 .hero-benefits .ui-icon {
    width: 21px !important;
    height: 21px !important;
  }

  .hero-v3 .hero-benefits b {
    font-size: 7.8px !important;
  }

  .hero-v3 .coach-cutout {
    min-height: 292px !important;
    margin-top: -4px !important;
    overflow: hidden !important;
  }

  .hero-v3 .coach-solo {
    left: -27vw !important;
    bottom: -28px !important;
    width: 78vw !important;
    height: 322px !important;
    transform: scaleX(-1) !important;
  }

  .hero-thesis-cloud {
    inset: 10px 0 14px 42%;
    display: grid;
    align-content: center;
    gap: 6px;
  }

  .hero-thesis,
  .hero-thesis:nth-child(n) {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto;
    min-width: 0;
    min-height: 33px;
    gap: 6px;
    padding: 6px 7px;
    border-radius: 9px;
  }

  .hero-thesis .ui-icon {
    width: 19px;
    height: 19px;
    border-radius: 6px;
  }

  .hero-thesis b {
    font-size: 9.2px;
    line-height: 1.05;
  }
}

/* Email code access */
.auth-notice {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 14px 0;
  padding: 11px 12px;
  border: 1px solid rgba(217,221,24,.22);
  border-radius: 10px;
  color: #fff;
  background: linear-gradient(135deg, rgba(217,221,24,.12), rgba(236,0,81,.08));
  font-size: 13px;
  line-height: 1.45;
}

.auth-notice .ui-icon {
  width: 22px;
  height: 22px;
  color: var(--yellow);
}

.email-code-panel {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  margin: 16px 0 18px;
  padding: 16px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 12px;
  background:
    radial-gradient(circle at 0% 0%, rgba(236,0,81,.22), transparent 34%),
    linear-gradient(135deg, rgba(255,255,255,.105), rgba(255,255,255,.035));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 22px 60px rgba(0,0,0,.24);
}

.email-code-panel h2 {
  margin: 4px 0 8px !important;
  font-size: clamp(22px, 2.4vw, 32px) !important;
  line-height: 1.05 !important;
}

.email-code-panel p {
  margin: 0 0 8px !important;
  color: rgba(255,255,255,.72) !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
}

.email-code-panel strong {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 7px;
  color: #111;
  background: var(--yellow);
  font-size: 12px;
  font-weight: 950;
}

.email-code-icon {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 12px;
  color: #111;
  background: linear-gradient(135deg, #ec0051, #ff6a1a 52%, #d9dd18);
  box-shadow: 0 16px 36px rgba(236,0,81,.28);
}

.email-code-form {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 10px;
  margin: 0 !important;
}

.email-code-form label {
  margin: 0;
}

.email-code-form input {
  text-align: center;
  font-size: 22px;
  font-weight: 950;
  letter-spacing: 8px;
}

.email-code-form button,
.resend-code-form button {
  min-height: 43px !important;
  border-radius: 8px !important;
}

.resend-code-form {
  grid-column: 1 / -1;
  margin: -2px 0 0 !important;
}

.resend-code-form button {
  width: 100%;
  border: 1px solid rgba(255,255,255,.14) !important;
  color: #fff !important;
  background: rgba(255,255,255,.07) !important;
}

.login-modal .email-code-panel {
  grid-template-columns: minmax(0, 1fr);
  padding: 12px;
}

.login-modal .email-code-icon {
  display: none;
}

.login-modal .email-code-form {
  grid-template-columns: 1fr;
}

.verification-page {
  display: grid;
  place-items: center;
}

.verification-card {
  max-width: 760px !important;
  background:
    radial-gradient(circle at 88% 0%, rgba(217,221,24,.12), transparent 34%),
    linear-gradient(145deg, rgba(18,18,22,.94), rgba(10,10,12,.98)) !important;
}

.auth-switch-note {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  margin-top: 16px;
  padding: 12px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 10px;
  color: rgba(255,255,255,.78);
  background: rgba(255,255,255,.055);
  font-size: 13px;
}

.auth-switch-note .ui-icon {
  color: var(--yellow);
}

@media (max-width: 720px) {
  .email-code-panel {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    padding: 12px;
  }

  .email-code-icon {
    width: 38px;
    height: 38px;
  }

  .email-code-form {
    grid-template-columns: 1fr;
  }

  .auth-switch-note {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .auth-switch-note a {
    grid-column: 1 / -1;
    width: 100%;
  }
}

/* Cabinet access and login logs */
.client-topbar-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(150px, 1fr));
  gap: 10px;
  min-width: min(470px, 48vw);
}

.client-topbar-cards article {
  min-width: 0 !important;
}

.client-topbar-cards article span {
  display: block;
  margin-top: 5px;
  color: rgba(255,255,255,.62);
  font-size: 11px;
  font-weight: 750;
}

.dashboard-paywall {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr);
  gap: 18px;
  margin-top: 18px;
  padding: 18px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 16px;
  background:
    radial-gradient(circle at 0% 0%, rgba(236,0,81,.24), transparent 32%),
    radial-gradient(circle at 95% 12%, rgba(217,221,24,.16), transparent 28%),
    linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.025));
  box-shadow: 0 24px 70px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.08);
}

.paywall-copy h2 {
  margin: 6px 0 9px;
  font-size: clamp(24px, 2.6vw, 38px);
  line-height: 1;
  letter-spacing: -.03em;
}

.paywall-copy p {
  max-width: 660px;
  color: rgba(255,255,255,.72);
  line-height: 1.55;
}

.paywall-price-preview {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}

.paywall-price-preview span {
  display: grid;
  gap: 4px;
  padding: 10px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 10px;
  background: rgba(255,255,255,.055);
}

.paywall-price-preview b {
  font-size: 12px;
}

.paywall-price-preview small {
  color: var(--yellow);
  font-weight: 850;
}

.dashboard-buy-form {
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 14px;
  background: rgba(8,8,10,.62);
}

.dashboard-buy-form label {
  display: grid;
  gap: 6px;
  color: rgba(255,255,255,.78);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.dashboard-buy-form select {
  min-height: 42px;
  padding: 0 12px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 8px;
  color: #fff;
  background: #111115;
  outline: none;
}

.dashboard-buy-form button,
.admin-search-form button {
  min-height: 44px;
  border: 0;
  border-radius: 8px;
  color: #111;
  background: linear-gradient(135deg, #ec0051, #ff6a1a 52%, #d9dd18);
  box-shadow: 0 14px 34px rgba(236,0,81,.22);
  cursor: pointer;
  font-weight: 950;
}

.locked-access {
  position: relative;
  overflow: hidden;
}

.locked-access::after {
  content: "";
  position: absolute;
  inset: auto -12% -38% 35%;
  height: 180px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(217,221,24,.2), transparent 70%);
  pointer-events: none;
}

.admin-search-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 10px;
  align-items: center;
}

.admin-search-form input {
  min-height: 44px;
  padding: 0 13px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 8px;
  color: #fff;
  background: rgba(255,255,255,.055);
  outline: none;
}

.admin-search-form a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 14px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 8px;
  color: #fff;
  text-decoration: none;
  font-weight: 850;
}

.login-log-table code {
  display: inline-block;
  max-width: 270px;
  padding: 6px 8px;
  border-radius: 7px;
  color: var(--yellow);
  background: rgba(255,255,255,.06);
  white-space: normal;
  word-break: break-all;
}

.free-workout-admin-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.free-workout-admin-grid article {
  display: grid;
  gap: 7px;
  min-height: 136px;
  padding: 13px;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 12px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.075), rgba(255,255,255,.025)),
    rgba(255,255,255,.035);
}

.free-workout-admin-grid small {
  color: var(--yellow);
  font-weight: 900;
}

.free-workout-admin-grid b {
  color: #fff;
  font-size: 15px;
}

.free-workout-admin-grid span {
  color: rgba(255,255,255,.62);
  font-size: 12px;
  line-height: 1.45;
}

.admin-check {
  justify-content: flex-start;
  min-height: 42px;
  padding: 9px 10px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 8px;
  background: rgba(255,255,255,.055);
}

@media (max-width: 920px) {
  .client-topbar-cards,
  .dashboard-paywall {
    grid-template-columns: 1fr;
    min-width: 0;
  }

  .paywall-price-preview {
    grid-template-columns: 1fr;
  }

  .admin-search-form {
    grid-template-columns: 1fr;
  }

  .free-workout-admin-grid {
    grid-template-columns: 1fr;
  }
}

/* User cabinet premium app polish */
.client-app-pro {
  background:
    radial-gradient(circle at 14% 0, rgba(236,0,81,.18), transparent 28%),
    radial-gradient(circle at 86% 2%, rgba(217,221,24,.11), transparent 25%),
    linear-gradient(135deg, #070708, #101014 46%, #08080a);
}

.client-app-pro .client-sidebar {
  width: 264px;
  padding: 18px;
  border-right-color: rgba(255,255,255,.075);
  background: linear-gradient(180deg, rgba(8,8,10,.94), rgba(11,11,13,.82));
}

.client-app-pro .client-sidebar nav a {
  min-height: 50px;
  border-radius: 10px;
}

.client-topbar-pro {
  grid-template-columns: minmax(0, 1fr) minmax(260px, 330px);
  gap: 14px;
  margin-bottom: 16px;
  padding: 14px;
  border-radius: 14px;
}

.client-topbar-copy h1 {
  max-width: 820px;
  margin: 5px 0 6px;
  font-size: clamp(24px, 2.4vw, 34px);
  letter-spacing: -.035em;
}

.client-topbar-copy p {
  max-width: 860px;
  font-size: 13px;
}

.client-status-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 12px;
}

.client-status-pill {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 34px;
  padding: 6px 9px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 9px;
  background: rgba(255,255,255,.052);
}

.client-status-pill.status-action {
  padding: 0;
  overflow: hidden;
  border-color: rgba(217,221,24,.34);
  background:
    radial-gradient(circle at 100% 0, rgba(217,221,24,.16), transparent 48%),
    rgba(255,255,255,.062);
  cursor: pointer;
}

.client-status-pill.status-action button {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 34px;
  padding: 6px 7px 6px 9px;
  border: 0;
  color: inherit;
  background: transparent;
  cursor: pointer;
  font: inherit;
}

.client-status-pill.status-action em {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  margin-left: 4px;
  padding: 4px 8px;
  border-radius: 999px;
  color: #101012;
  background: linear-gradient(135deg, var(--yellow), #fff36a);
  font-size: 10px;
  font-style: normal;
  font-weight: 950;
  text-transform: uppercase;
  box-shadow: 0 10px 28px rgba(217,221,24,.16);
}

.client-status-pill.status-action:hover {
  border-color: rgba(217,221,24,.56);
  box-shadow: 0 12px 36px rgba(217,221,24,.12);
  transform: translateY(-1px);
}

.client-status-pill small {
  color: rgba(255,255,255,.48);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.client-status-pill b {
  color: #fff;
  font-size: 11px;
  line-height: 1.15;
}

.client-status-pill.success {
  border-color: rgba(217,221,24,.28);
  background: rgba(217,221,24,.085);
}

.client-status-pill.success b {
  color: var(--yellow);
}

.client-status-pill.warning {
  border-color: rgba(255,106,26,.28);
  background: rgba(255,106,26,.085);
}

.client-progress-widget {
  display: grid;
  grid-template-columns: 86px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  padding: 12px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 13px;
  background: rgba(255,255,255,.052);
}

.client-progress-orb {
  width: 82px;
  height: 82px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background:
    radial-gradient(circle at center, #111116 57%, transparent 58%),
    conic-gradient(#d9dd18 var(--progress), rgba(255,255,255,.1) 0);
}

.client-progress-orb b,
.client-progress-orb small {
  grid-area: 1 / 1;
}

.client-progress-orb b {
  transform: translateY(-5px);
  color: #fff;
  font-size: 21px;
}

.client-progress-orb small {
  transform: translateY(15px);
  color: rgba(255,255,255,.48);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.client-progress-widget strong,
.client-progress-widget span {
  display: block;
}

.client-progress-widget strong {
  margin-top: 5px;
  color: #fff;
  font-size: 14px;
  line-height: 1.28;
}

.client-progress-widget span,
.client-progress-widget small {
  color: rgba(255,255,255,.54);
  font-size: 11px;
}

.client-command-panel {
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(320px, .96fr);
  gap: 14px;
  margin-bottom: 14px;
}

.client-focus-card,
.client-mini-kpi-grid article,
.workout-progress-panel,
.measurement-kpis article,
.client-verification-grid article {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 14px;
  background:
    radial-gradient(circle at 0 0, rgba(236,0,81,.16), transparent 32%),
    linear-gradient(145deg, rgba(255,255,255,.085), rgba(255,255,255,.03));
  box-shadow: 0 22px 70px rgba(0,0,0,.22);
}

.client-focus-card {
  min-height: 220px;
  display: grid;
  align-content: space-between;
  gap: 12px;
  padding: 18px;
}

.client-focus-card h2 {
  max-width: 720px;
  margin: 0;
  font-size: clamp(25px, 3vw, 39px);
  line-height: 1;
  letter-spacing: -.04em;
}

.client-focus-card p:not(.eyebrow) {
  max-width: 720px;
  margin: 0;
  color: rgba(255,255,255,.68);
  line-height: 1.5;
}

.client-focus-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}

.client-focus-actions a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 0 13px;
  border-radius: 9px;
  color: #111;
  background: linear-gradient(135deg, #ec0051, #ff6a1a 52%, #d9dd18);
  box-shadow: 0 14px 34px rgba(236,0,81,.25);
  font-size: 12px;
  font-weight: 950;
}

.client-focus-actions a:nth-child(2) {
  color: #fff;
  background: rgba(255,255,255,.075);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: none;
}

.client-focus-actions .ui-icon {
  width: 20px;
  height: 20px;
}

.client-mini-kpi-grid,
.measurement-kpis,
.client-verification-grid {
  display: grid;
  gap: 10px;
}

.client-mini-kpi-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.client-mini-kpi-grid article,
.measurement-kpis article {
  min-height: 105px;
  display: grid;
  gap: 5px;
  padding: 14px;
}

.client-mini-kpi-grid .ui-icon,
.measurement-kpis .ui-icon,
.client-verification-grid .ui-icon {
  width: 24px;
  height: 24px;
  color: var(--yellow);
}

.client-mini-kpi-grid span,
.measurement-kpis span,
.client-verification-grid span {
  color: rgba(255,255,255,.48);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.client-mini-kpi-grid b,
.measurement-kpis b,
.client-verification-grid b {
  color: #fff;
  font-size: 18px;
  line-height: 1.12;
}

.client-mini-kpi-grid small,
.measurement-kpis small,
.client-verification-grid small {
  color: rgba(255,255,255,.58);
  font-size: 11px;
  line-height: 1.35;
}

.client-app-pro .client-main-card {
  min-height: 430px;
  border-radius: 14px;
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.client-app-pro .client-main-card:hover,
.workout-day-card:hover,
.nutrition-day-card:hover,
.client-mini-kpi-grid article:hover,
.measurement-kpis article:hover,
.client-verification-grid article:hover {
  transform: translateY(-2px);
  border-color: rgba(217,221,24,.22);
  box-shadow: 0 28px 90px rgba(0,0,0,.32);
}

.client-app-pro .client-main-card h2,
.client-app-pro .client-section-head h2 {
  font-size: clamp(22px, 2.2vw, 31px);
  letter-spacing: -.035em;
}

.client-app-pro .client-main-card p,
.client-app-pro .client-section-head p {
  font-size: 13.5px;
}

.client-exercise-mini span,
.client-meal-mini span {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  border-radius: 10px;
}

.client-exercise-mini small,
.client-meal-mini small {
  text-align: right;
}

.workout-progress-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(230px, 300px);
  gap: 14px;
  margin-bottom: 14px;
  padding: 18px;
}

.workout-progress-panel h2 {
  margin: 5px 0 7px;
  font-size: clamp(24px, 2.5vw, 34px);
  line-height: 1;
  letter-spacing: -.035em;
}

.workout-progress-panel p:not(.eyebrow) {
  max-width: 780px;
  margin: 0;
  color: rgba(255,255,255,.66);
  line-height: 1.5;
}

.workout-progress-panel aside {
  display: grid;
  gap: 6px;
  padding: 13px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 12px;
  background: rgba(8,8,10,.46);
}

.workout-progress-panel aside span,
.workout-progress-panel aside small {
  color: rgba(255,255,255,.5);
  font-size: 11px;
}

.workout-progress-panel aside b {
  color: #fff;
  font-size: 18px;
  line-height: 1.18;
}

.workout-step-line {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(42px, 1fr));
  gap: 8px;
}

.workout-step-line span {
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 9px;
  background: rgba(255,255,255,.05);
}

.workout-step-line span.completed,
.workout-step-line span.available {
  border-color: rgba(217,221,24,.34);
  background: linear-gradient(135deg, rgba(236,0,81,.28), rgba(217,221,24,.12));
}

.workout-step-line b {
  color: #fff;
  font-size: 12px;
}

.workout-day-card.current {
  border-color: rgba(217,221,24,.34);
  box-shadow: 0 0 0 1px rgba(217,221,24,.1), 0 28px 90px rgba(0,0,0,.34);
}

.workout-day-card.locked {
  opacity: .78;
}

.workout-day-title h3 {
  font-size: clamp(18px, 1.6vw, 22px);
}

.exercise-card {
  border-radius: 12px;
}

.nutrition-summary-pro {
  margin-bottom: 14px;
}

.nutrition-summary-pro article {
  min-height: 112px;
  border-radius: 13px;
}

.nutrition-day-card.today {
  border-color: rgba(217,221,24,.38);
  background:
    radial-gradient(circle at 100% 0, rgba(217,221,24,.18), transparent 36%),
    linear-gradient(145deg, rgba(255,255,255,.105), rgba(255,255,255,.04));
}

.nutrition-day-card.today .nutrition-day-head b {
  background: linear-gradient(135deg, #ec0051, #ff6a1a 50%, #d9dd18);
}

.measurement-kpis {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 14px;
}

.progress-layout .cabinet-card,
.photo-layout .cabinet-card,
.support-layout .cabinet-card,
.settings-grid .cabinet-card {
  border-radius: 14px;
}

.progress-layout .cabinet-card h2,
.photo-layout .cabinet-card h2,
.support-layout .cabinet-card h2,
.settings-grid .cabinet-card h2 {
  margin-top: 0;
  font-size: 21px;
  letter-spacing: -.025em;
}

.mini-form input,
.mini-form select,
.mini-form textarea,
.calc-form input,
.calc-form select,
.dashboard-buy-form select {
  border-radius: 7px;
}

.mini-form button,
.dashboard-buy-form button {
  transition: transform .22s ease, box-shadow .22s ease;
}

.mini-form button:hover,
.dashboard-buy-form button:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 45px rgba(236,0,81,.32);
}

.client-verification-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 14px;
}

.client-verification-grid article {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  padding: 14px;
}

.client-verification-grid article > div {
  min-width: 0;
  display: grid;
  gap: 4px;
}

.client-verification-grid span,
.client-verification-grid b,
.client-verification-grid small {
  display: block;
}

.client-verification-grid b,
.client-verification-grid small {
  overflow-wrap: anywhere;
  word-break: normal;
}

.client-verification-grid article.verified {
  border-color: rgba(217,221,24,.28);
}

.client-verification-grid article.pending {
  border-color: rgba(255,106,26,.26);
}

.settings-grid code {
  display: inline-block;
  max-width: 100%;
  padding: 6px 8px;
  border-radius: 7px;
  color: var(--yellow);
  background: rgba(255,255,255,.06);
  white-space: normal;
  word-break: break-all;
}

@media (max-width: 1180px) {
  .client-app-pro .client-sidebar {
    width: 86px;
  }

  .client-command-panel,
  .client-topbar-pro,
  .workout-progress-panel,
  .measurement-kpis,
  .client-verification-grid {
    grid-template-columns: 1fr;
  }

  .measurement-kpis,
  .client-verification-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .client-app-pro .client-sidebar {
    width: auto;
  }

  .client-topbar-pro {
    padding: 12px;
  }

  .client-topbar-copy h1 {
    font-size: 23px;
  }

  .client-status-strip {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .client-status-pill {
    align-items: start;
    display: grid;
    gap: 3px;
    min-height: 48px;
  }

  .client-progress-widget {
    grid-template-columns: 72px minmax(0, 1fr);
  }

  .client-progress-orb {
    width: 70px;
    height: 70px;
  }

  .client-command-panel {
    gap: 10px;
  }

  .client-focus-card {
    min-height: 190px;
    padding: 14px;
  }

  .client-focus-card h2,
  .workout-progress-panel h2 {
    font-size: 24px;
  }

  .client-mini-kpi-grid,
  .measurement-kpis,
  .client-verification-grid {
    grid-template-columns: 1fr;
  }

  .client-mini-kpi-grid article,
  .measurement-kpis article {
    min-height: 88px;
  }

  .client-app-pro .client-main-card {
    min-height: auto;
  }

  .client-exercise-mini span,
  .client-meal-mini span {
    grid-template-columns: 1fr;
  }

  .client-exercise-mini small,
  .client-meal-mini small {
    text-align: left;
  }

  .workout-progress-panel {
    padding: 14px;
  }

  .workout-step-line {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .exercise-card {
    grid-template-columns: 1fr;
  }

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

  .meal-card {
    grid-template-columns: 88px minmax(0, 1fr);
  }

  .meal-card img,
  .meal-photo-art {
    height: 82px;
  }

  .client-ticket-list article > div {
    display: grid;
  }
}

/* Real client progress tools */
.client-reminders-panel {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(360px, 1.1fr);
  gap: 14px;
  margin-bottom: 14px;
  padding: 16px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 14px;
  background:
    radial-gradient(circle at 100% 0, rgba(217,221,24,.14), transparent 34%),
    linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.028));
}

.account-start-card {
  max-width: 1120px;
}

.account-method-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 22px;
}

.account-method-grid article,
.phone-through-telegram,
.account-flow-note {
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 14px;
  background:
    radial-gradient(circle at 0 0, rgba(236,0,81,.15), transparent 34%),
    linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.025));
}

.account-method-grid article {
  display: grid;
  align-content: start;
  gap: 12px;
  padding: 18px;
}

.account-method-grid h2 {
  margin: 0;
  font-size: clamp(20px, 2vw, 28px);
  line-height: 1.08;
}

.account-method-grid p,
.phone-through-telegram span,
.account-flow-note span {
  color: rgba(255,255,255,.68);
  line-height: 1.5;
}

.telegram-account-card {
  border-color: rgba(217,221,24,.24) !important;
}

.account-flow-note,
.phone-through-telegram {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  margin-top: 14px;
  padding: 14px;
}

.account-flow-note {
  grid-template-columns: 36px minmax(0, 1fr);
}

.phone-through-telegram .ui-icon,
.account-flow-note .ui-icon {
  width: 28px;
  height: 28px;
  color: var(--yellow);
}

.phone-through-telegram b,
.account-flow-note b {
  display: block;
  color: #fff;
}

.phone-through-telegram a,
.phone-link-card a,
.phone-link-card button {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 14px;
  border: 0;
  border-radius: 9px;
  color: #111;
  background: linear-gradient(135deg, #ec0051, #ff6a1a 52%, #d9dd18);
  font-weight: 950;
  text-decoration: none;
  cursor: pointer;
}

.verified-inline {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  padding: 10px 12px;
  border-radius: 10px;
  color: #111;
  background: linear-gradient(135deg, #d9dd18, #fff36a);
  font-weight: 950;
}

.verified-inline .ui-icon {
  width: 18px;
  height: 18px;
}

@media (max-width: 980px) {
  .account-method-grid {
    grid-template-columns: 1fr;
  }

  .phone-through-telegram {
    grid-template-columns: 32px minmax(0, 1fr);
  }

  .phone-through-telegram a {
    grid-column: 1 / -1;
  }
}

/* Production polish: PWA, app block, program and cabinet cards */
.install-toast {
  position: fixed;
  right: clamp(14px, 2vw, 26px);
  bottom: clamp(14px, 2vw, 26px);
  z-index: 90;
  width: min(430px, calc(100vw - 28px));
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 14px;
  padding: 16px 46px 16px 16px;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 14px;
  color: #fff;
  background:
    radial-gradient(circle at 0 0, rgba(236,0,81,.3), transparent 45%),
    linear-gradient(145deg, rgba(19,19,23,.96), rgba(10,10,12,.92));
  box-shadow: 0 28px 90px rgba(0,0,0,.46), 0 0 0 1px rgba(217,221,24,.06) inset;
  backdrop-filter: blur(18px);
}

.install-toast[hidden] {
  display: none;
}

.install-toast button {
  position: absolute;
  top: 8px;
  right: 10px;
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 7px;
  color: rgba(255,255,255,.78);
  background: rgba(255,255,255,.08);
  cursor: pointer;
}

.install-toast-icon {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 12px;
  color: #111;
  background: linear-gradient(135deg, #ec0051, #ff6a1a 52%, #d9dd18);
}

.install-toast-icon .ui-icon {
  width: 25px;
  height: 25px;
}

.install-toast b {
  display: block;
  margin-bottom: 5px;
  font-size: 15px;
  line-height: 1.2;
}

.install-toast p {
  margin: 0;
  color: rgba(255,255,255,.68);
  font-size: 12px;
  line-height: 1.5;
}

.app-bot-section {
  position: relative;
  overflow: hidden;
}

.app-bot-section::before {
  content: "";
  position: absolute;
  inset: 10% -18% auto auto;
  width: 520px;
  height: 520px;
  border-radius: 50%;
  background: conic-gradient(from 180deg, rgba(236,0,81,.28), rgba(255,106,26,.14), rgba(217,221,24,.18), transparent 74%);
  filter: blur(8px);
  opacity: .7;
  pointer-events: none;
}

.app-bot-section > * {
  position: relative;
  z-index: 1;
}

.phone-status-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.phone-status-row img {
  width: 118px;
}

.phone-status-row span {
  padding: 6px 8px;
  border-radius: 8px;
  color: #111;
  background: linear-gradient(135deg, #d9dd18, #fff36a);
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .1em;
}

.phone-task-card {
  margin-top: 18px;
  padding: 14px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 14px;
  background:
    radial-gradient(circle at 100% 0, rgba(217,221,24,.14), transparent 38%),
    rgba(255,255,255,.06);
}

.phone-task-card small,
.phone-task-card span {
  display: block;
  color: rgba(255,255,255,.56);
  font-size: 11px;
  line-height: 1.35;
}

.phone-task-card strong {
  display: block;
  margin: 5px 0;
  color: #fff;
  font-size: 17px;
  line-height: 1.12;
}

.phone-micro-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 7px;
  margin-top: 10px;
}

.phone-micro-grid span {
  min-height: 46px;
  display: grid;
  place-items: center;
  padding: 8px;
  border-radius: 11px;
  color: rgba(255,255,255,.76);
  background: rgba(255,255,255,.055);
  font-size: 10px;
  font-weight: 900;
  text-align: center;
}

.app-cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin-top: 22px;
}

.app-store-cta {
  min-width: 150px;
  border-color: rgba(217,221,24,.18);
  background:
    radial-gradient(circle at 0 0, rgba(217,221,24,.14), transparent 42%),
    rgba(255,255,255,.07);
}

.app-store-cta:hover,
.app-open-cabinet:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 48px rgba(236,0,81,.28);
}

.app-open-cabinet {
  min-height: 52px;
}

.app-readiness {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}

.app-readiness span {
  padding: 7px 9px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 9px;
  color: rgba(255,255,255,.72);
  background: rgba(255,255,255,.045);
  font-size: 11px;
  font-weight: 900;
}

.goal-program-card {
  isolation: isolate;
  transform: translateZ(0);
  transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease;
}

.goal-program-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    radial-gradient(circle at 14% 12%, rgba(217,221,24,.22), transparent 28%),
    linear-gradient(145deg, rgba(236,0,81,.22), transparent 38%);
  opacity: 0;
  transition: opacity .32s ease;
}

.goal-program-card:hover {
  transform: translateY(-4px);
  border-color: rgba(217,221,24,.28);
  box-shadow: 0 34px 110px rgba(0,0,0,.42), 0 0 0 1px rgba(217,221,24,.08) inset;
}

.goal-program-card:hover::before {
  opacity: 1;
}

.goal-program-card a {
  box-shadow: 0 14px 36px rgba(236,0,81,.28);
}

.goal-program-card a:hover {
  transform: translateY(-2px);
}

.client-command-panel.overview-command {
  align-items: stretch;
}

.client-focus-card::after,
.client-main-card::after,
.client-mini-kpi-grid article::after {
  content: "";
  position: absolute;
  inset: auto 16px 0 16px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(217,221,24,.45), transparent);
  opacity: .55;
}

.client-focus-card strong {
  color: transparent;
  background: linear-gradient(135deg, #fff, #d9dd18);
  -webkit-background-clip: text;
  background-clip: text;
  font-size: clamp(18px, 2vw, 27px);
  line-height: 1.08;
}

.client-card-status {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  padding: 9px 11px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 10px;
  color: rgba(255,255,255,.8);
  background: rgba(255,255,255,.055);
  font-size: 12px;
  font-weight: 900;
}

.client-card-status .ui-icon {
  width: 18px;
  height: 18px;
  color: var(--yellow);
}

.client-card-actions a,
.client-card-actions button,
.complete-workout-form button {
  border-radius: 9px;
}

.client-card-actions a.is-muted {
  color: #fff;
  background: rgba(255,255,255,.075);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: none;
}

.client-app-pro .client-main-card {
  min-height: 390px;
}

.client-app-pro .client-main-card.workout {
  background:
    radial-gradient(circle at 0 0, rgba(236,0,81,.2), transparent 38%),
    radial-gradient(circle at 88% 14%, rgba(217,221,24,.13), transparent 30%),
    linear-gradient(145deg, rgba(255,255,255,.095), rgba(255,255,255,.032));
}

.client-app-pro .client-main-card.nutrition {
  background:
    radial-gradient(circle at 100% 0, rgba(217,221,24,.19), transparent 38%),
    radial-gradient(circle at 10% 80%, rgba(236,0,81,.12), transparent 35%),
    linear-gradient(145deg, rgba(255,255,255,.095), rgba(255,255,255,.032));
}

.client-exercise-mini span,
.client-meal-mini span {
  transition: transform .22s ease, border-color .22s ease, background .22s ease;
}

.client-exercise-mini span:hover,
.client-meal-mini span:hover {
  transform: translateX(3px);
  border-color: rgba(217,221,24,.18);
  background: rgba(255,255,255,.075);
}

.exercise-video-grid {
  grid-template-columns: 1fr;
}

.exercise-card {
  grid-template-columns: minmax(280px, .78fr) minmax(0, 1fr);
  align-items: stretch;
}

.exercise-media,
.exercise-media video,
.exercise-player-empty {
  min-height: 220px;
}

.telegram-admin-panel .ui-icon {
  width: 28px;
  height: 28px;
  color: var(--yellow);
}

@media (max-width: 920px) {
  .install-toast {
    bottom: 84px;
  }

  .app-device {
    min-height: 560px;
  }

  .phone-shell {
    left: 50%;
    transform: translateX(-50%);
  }

  .bot-card {
    right: 50%;
    transform: translateX(50%);
    bottom: 10px;
  }

  .exercise-card {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .app-device {
    min-height: 520px;
  }

  .phone-shell {
    width: min(330px, 88vw);
    min-height: 510px;
    border-radius: 30px;
  }

  .phone-screen {
    min-height: 480px;
    padding: 18px;
    border-radius: 22px;
  }

  .phone-screen h3 {
    margin-top: 26px;
    font-size: 28px;
  }

  .phone-screen b {
    font-size: 24px;
  }

  .mini-bars {
    height: 92px;
    margin-top: 18px;
  }

  .phone-micro-grid {
    grid-template-columns: 1fr;
  }

  .app-cta-row {
    display: grid;
    grid-template-columns: 1fr;
  }

  .app-store-cta,
  .app-open-cabinet {
    width: 100%;
  }

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

  .client-mini-kpi-grid {
    grid-template-columns: 1fr;
  }

  .client-overview-grid {
    grid-template-columns: 1fr;
  }

  .install-toast {
    right: 10px;
    bottom: 78px;
    width: calc(100vw - 20px);
    grid-template-columns: 38px minmax(0, 1fr);
    padding: 13px 40px 13px 13px;
    border-radius: 12px;
  }
}

.client-reminders-panel h3 {
  margin: 5px 0 7px;
  font-size: clamp(22px, 2vw, 30px);
  line-height: 1;
  letter-spacing: -.035em;
}

.client-reminders-panel p:not(.eyebrow) {
  max-width: 720px;
  margin: 0;
  color: rgba(255,255,255,.64);
  line-height: 1.48;
}

.client-task-list {
  display: grid;
  gap: 9px;
}

.client-task-card {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-height: 70px;
  padding: 12px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 12px;
  background: rgba(8,8,10,.44);
  transition: transform .22s ease, border-color .22s ease, background .22s ease;
}

.client-task-card:hover {
  transform: translateY(-2px);
  border-color: rgba(217,221,24,.28);
  background: rgba(255,255,255,.065);
}

.client-task-card .ui-icon {
  width: 30px;
  height: 30px;
  color: var(--yellow);
}

.client-task-card b,
.client-task-card small {
  display: block;
}

.client-task-card b {
  color: #fff;
  font-size: 14px;
}

.client-task-card small {
  margin-top: 3px;
  color: rgba(255,255,255,.58);
  font-size: 12px;
  line-height: 1.35;
}

.client-task-card strong {
  padding: 8px 10px;
  border-radius: 9px;
  color: #111;
  background: linear-gradient(135deg, #ec0051, #ff6a1a 50%, #d9dd18);
  font-size: 11px;
  font-weight: 950;
}

.client-task-card.done strong {
  background: #d9dd18;
}

.client-task-card.done {
  border-color: rgba(217,221,24,.24);
}

.client-task-card.due {
  border-color: rgba(255,106,26,.24);
}

.client-app-pro .exercise-video-grid {
  grid-template-columns: 1fr;
}

.client-app-pro .exercise-card {
  grid-template-columns: minmax(260px, 38%) minmax(0, 1fr);
  align-items: stretch;
  gap: 14px;
  padding: 12px;
}

.client-app-pro .exercise-media,
.client-app-pro .exercise-media video,
.client-app-pro .exercise-player-empty {
  min-height: 260px;
}

.exercise-details {
  min-width: 0;
}

.exercise-details ul {
  margin-bottom: 12px;
}

.set-log-form {
  display: grid;
  gap: 8px;
  margin-top: 12px;
  padding: 10px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 11px;
  background: rgba(0,0,0,.18);
}

.set-log-head,
.set-log-row {
  display: grid;
  grid-template-columns: 70px minmax(90px, 1fr) minmax(86px, .8fr) 58px;
  align-items: center;
  gap: 7px;
}

.set-log-head {
  color: rgba(255,255,255,.46);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.set-log-row {
  padding: 7px;
  border: 1px solid rgba(255,255,255,.075);
  border-radius: 9px;
  background: rgba(255,255,255,.04);
}

.set-log-row b {
  color: var(--yellow);
  font-size: 12px;
}

.set-log-row input:not([type="checkbox"]) {
  width: 100%;
  min-height: 34px;
  padding: 0 9px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 7px;
  color: #fff;
  background: #111115;
  outline: none;
}

.set-log-row input:not([type="checkbox"]):focus,
.mini-form input:focus,
.mini-form select:focus,
.mini-form textarea:focus,
.dashboard-buy-form select:focus {
  border-color: rgba(217,221,24,.45);
  box-shadow: 0 0 0 3px rgba(217,221,24,.08);
}

.set-log-row span {
  display: grid;
  place-items: center;
}

.set-log-row input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.set-log-row i {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 8px;
  background: rgba(255,255,255,.055);
}

.set-log-row input[type="checkbox"]:checked + i {
  border-color: rgba(217,221,24,.65);
  background: linear-gradient(135deg, #ec0051, #ff6a1a 50%, #d9dd18);
}

.set-log-row input[type="checkbox"]:checked + i::before {
  content: "✓";
  color: #111;
  font-size: 17px;
  font-weight: 950;
}

.set-log-form button {
  min-height: 38px;
  border: 0;
  border-radius: 8px;
  color: #111;
  background: linear-gradient(135deg, #ec0051, #ff6a1a 52%, #d9dd18);
  box-shadow: 0 12px 28px rgba(236,0,81,.22);
  cursor: pointer;
  font-size: 12px;
  font-weight: 950;
}

.set-log-row.time-row input[name^="workingWeightKg"] {
  border-color: rgba(42,171,238,.22);
  background:
    linear-gradient(135deg, rgba(42,171,238,.08), transparent),
    #111115;
}

.email-confirm-panel {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  margin: 0 0 16px;
  padding: 16px;
  border: 1px solid rgba(217,221,24,.24);
  border-radius: 16px;
  background:
    radial-gradient(circle at 0 0, rgba(217,221,24,.14), transparent 38%),
    rgba(255,255,255,.055);
}

.email-confirm-panel .ui-icon {
  width: 42px;
  height: 42px;
  padding: 10px;
  border-radius: 13px;
  color: #111;
  background: var(--brand);
}

.email-confirm-panel b,
.email-confirm-panel span {
  display: block;
}

.email-confirm-panel span {
  margin-top: 3px;
  color: rgba(255,255,255,.64);
  line-height: 1.45;
}

.email-confirm-panel button {
  min-height: 42px;
  padding: 0 16px;
  border: 0;
  border-radius: 10px;
  color: #111;
  background: var(--brand);
  box-shadow: 0 14px 34px rgba(236,0,81,.22);
  cursor: pointer;
  font-weight: 950;
}

.activity-card {
  overflow: hidden;
}

.activity-table {
  display: grid;
  gap: 8px;
}

.activity-row {
  display: grid;
  grid-template-columns: minmax(220px, 1.5fr) repeat(3, minmax(110px, 1fr));
  gap: 10px;
  align-items: center;
  padding: 12px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 12px;
  background: rgba(255,255,255,.04);
}

.activity-row.head {
  color: rgba(255,255,255,.48);
  background: transparent;
  border-color: transparent;
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.activity-row b,
.activity-row small {
  display: block;
}

.activity-row small {
  margin-top: 4px;
  color: rgba(255,255,255,.5);
}

.activity-row span:not(:first-child) {
  color: rgba(255,255,255,.78);
  font-weight: 850;
}

.mini-form select,
.dashboard-buy-form select,
.admin-inline-form select,
.admin-ticket-form select {
  color-scheme: dark;
  color: #fff;
  background-color: #111115;
  border-color: rgba(255,255,255,.12);
}

.mini-form select option,
.dashboard-buy-form select option,
.admin-inline-form select option,
.admin-ticket-form select option {
  color: #fff;
  background: #111115;
}

@media (max-width: 920px) {
  .client-reminders-panel,
  .client-app-pro .exercise-card {
    grid-template-columns: 1fr;
  }

  .client-app-pro .exercise-media,
  .client-app-pro .exercise-media video,
  .client-app-pro .exercise-player-empty {
    min-height: 220px;
  }

  .email-confirm-panel,
  .activity-row {
    grid-template-columns: 1fr;
  }

  .activity-row.head {
    display: none;
  }
}

@media (max-width: 560px) {
  .client-task-card {
    grid-template-columns: 32px minmax(0, 1fr);
  }

  .client-task-card strong {
    grid-column: 1 / -1;
    width: fit-content;
  }

  .set-log-head {
    display: none;
  }

  .set-log-row {
    grid-template-columns: 42px minmax(0, 1fr) minmax(78px, .75fr) 42px;
    gap: 6px;
  }
}

/* Production dashboard refinement */
.client-app-pro .client-main-card {
  min-height: 360px;
  gap: 12px;
  padding: clamp(16px, 2vw, 22px);
  border-color: rgba(255,255,255,.14);
  background:
    linear-gradient(145deg, rgba(255,255,255,.105), rgba(255,255,255,.035)),
    radial-gradient(circle at 6% 0, rgba(236,0,81,.24), transparent 34%),
    radial-gradient(circle at 94% 0, rgba(217,221,24,.12), transparent 32%);
}

.client-app-pro .client-main-card.nutrition {
  background:
    linear-gradient(145deg, rgba(255,255,255,.1), rgba(255,255,255,.034)),
    radial-gradient(circle at 92% 0, rgba(217,221,24,.17), transparent 34%),
    radial-gradient(circle at 10% 100%, rgba(236,0,81,.16), transparent 32%);
}

.client-workout-title {
  display: grid;
  gap: 5px;
}

.client-workout-title > span {
  color: var(--yellow);
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.client-app-pro .client-workout-title h2 {
  max-width: 560px;
  font-size: clamp(24px, 2.1vw, 34px);
}

.client-focus-card > strong {
  color: var(--yellow);
  font-size: clamp(18px, 1.6vw, 24px);
  line-height: 1.1;
}

.client-card-status {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  width: fit-content;
  max-width: 100%;
  padding: 10px 12px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 10px;
  color: rgba(255,255,255,.84);
  background: rgba(255,255,255,.06);
  font-size: 13px;
  font-weight: 900;
}

.client-card-status .ui-icon {
  width: 21px;
  height: 21px;
  color: var(--yellow);
  flex: 0 0 auto;
}

.client-card-status.pending {
  border-color: rgba(255,103,23,.35);
  background: linear-gradient(135deg, rgba(236,0,81,.18), rgba(255,103,23,.08));
}

.client-card-status.rest {
  border-color: rgba(217,221,24,.32);
  background: linear-gradient(135deg, rgba(217,221,24,.13), rgba(255,255,255,.035));
}

.client-card-status.completed {
  color: #111;
  border-color: rgba(217,221,24,.62);
  background: linear-gradient(135deg, #d9dd18, #fff36a);
}

.client-card-status.completed .ui-icon {
  color: #111;
}

.client-exercise-mini,
.client-meal-mini {
  gap: 8px;
  margin-top: 4px;
}

.client-exercise-mini span,
.client-meal-mini span {
  padding: 10px 11px;
  border-radius: 9px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.075), rgba(255,255,255,.035));
}

.client-card-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, max-content));
  align-items: center;
  gap: 8px;
  margin-top: 4px;
}

.client-card-actions .complete-workout-form {
  margin: 0;
}

.client-card-actions a,
.client-card-actions .complete-workout-form button {
  min-height: 40px;
  border-radius: 8px;
  padding: 0 15px;
  position: relative;
  overflow: hidden;
}

.client-card-actions a::after,
.client-card-actions .complete-workout-form button::after,
.place-club::after {
  content: "";
  position: absolute;
  inset: -80% auto -80% -35%;
  width: 32px;
  transform: rotate(22deg);
  background: rgba(255,255,255,.55);
  filter: blur(10px);
  opacity: .65;
  animation: profiButtonSweep 2.8s ease-in-out infinite;
}

.client-card-actions a:nth-child(2),
.client-card-actions a.is-muted {
  color: #fff;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.13);
  box-shadow: none;
}

.client-card-actions a:nth-child(2)::after,
.client-card-actions a.is-muted::after {
  display: none;
}

.workout-step-line span.rest {
  border-color: rgba(217,221,24,.32);
  background: repeating-linear-gradient(135deg, rgba(217,221,24,.18) 0 8px, rgba(255,255,255,.055) 8px 16px);
}

.workout-day-card.rest {
  opacity: .92;
  border-color: rgba(217,221,24,.24);
}

.client-planning-grid {
  display: grid;
  grid-template-columns: minmax(320px, .78fr) minmax(0, 1.22fr);
  gap: 14px;
  margin-top: 14px;
}

.training-days-panel,
.client-clubs-panel {
  position: relative;
  overflow: hidden;
  padding: 16px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 14px;
  background:
    radial-gradient(circle at 100% 0, rgba(217,221,24,.13), transparent 32%),
    linear-gradient(145deg, rgba(255,255,255,.085), rgba(255,255,255,.03));
  box-shadow: 0 22px 70px rgba(0,0,0,.22);
}

.client-panel-heading {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.client-panel-heading h3 {
  margin: 4px 0 0;
  color: #fff;
  font-size: clamp(20px, 1.8vw, 28px);
  line-height: 1;
}

.client-panel-heading > span,
.client-panel-heading > a {
  flex: 0 0 auto;
  padding: 8px 10px;
  border-radius: 8px;
  color: #111;
  background: linear-gradient(135deg, #d9dd18, #fff36a);
  font-size: 11px;
  font-weight: 950;
  text-decoration: none;
}

.training-days-panel p {
  margin: 0 0 12px;
  color: rgba(255,255,255,.64);
  font-size: 13px;
  line-height: 1.45;
}

.training-days-form {
  display: grid;
  grid-template-columns: repeat(7, minmax(36px, 1fr));
  gap: 7px;
}

.training-days-form label {
  cursor: pointer;
}

.training-days-form input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.training-days-form span {
  min-height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 8px;
  color: rgba(255,255,255,.78);
  background: rgba(255,255,255,.06);
  font-size: 12px;
  font-weight: 950;
  transition: transform .2s ease, border-color .2s ease, background .2s ease;
}

.training-days-form label:hover span {
  transform: translateY(-1px);
  border-color: rgba(217,221,24,.38);
}

.training-days-form input:checked + span {
  color: #111;
  border-color: transparent;
  background: linear-gradient(135deg, #ec0051, #ff6717 50%, #d9dd18);
}

.training-days-form button {
  grid-column: 1 / -1;
  min-height: 40px;
  border: 0;
  border-radius: 8px;
  color: #111;
  background: linear-gradient(135deg, #ec0051, #ff6717 52%, #d9dd18);
  box-shadow: 0 14px 32px rgba(236,0,81,.24);
  cursor: pointer;
  font-weight: 950;
}

.client-club-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.client-club-mini {
  display: grid;
  grid-template-columns: 86px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  padding: 8px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 12px;
  color: #fff;
  background: rgba(8,8,10,.36);
  text-decoration: none;
  transition: transform .22s ease, border-color .22s ease, background .22s ease;
}

.client-club-mini:hover {
  transform: translateY(-2px);
  border-color: rgba(217,221,24,.28);
  background: rgba(255,255,255,.065);
}

.client-club-mini img {
  width: 86px;
  height: 70px;
  object-fit: cover;
  border-radius: 9px;
}

.client-club-mini small,
.client-club-mini em {
  display: block;
  color: rgba(255,255,255,.54);
  font-size: 10px;
  font-style: normal;
  line-height: 1.28;
}

.client-club-mini b {
  display: block;
  margin: 3px 0;
  color: #fff;
  font-size: 13px;
  line-height: 1.15;
}

.clubs-network-section {
  align-items: start;
  padding-top: clamp(46px, 6vw, 82px);
  padding-bottom: clamp(46px, 6vw, 82px);
}

.clubs-network-section .club-card-grid.teaser {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.clubs-network-section .club-card {
  border-radius: 14px;
}

.clubs-network-section .club-card-media {
  height: 160px;
}

.clubs-network-section .club-card-body {
  gap: 7px;
  padding: 13px;
}

.clubs-network-section .club-card-body h3 {
  font-size: 17px;
}

.clubs-network-section .club-card-body p {
  min-height: 0;
  font-size: 12px;
}

.clubs-network-section .club-service-tags span {
  padding: 6px 8px;
  border-radius: 7px;
  font-size: 10px;
}

.clubs-network-actions .place-club {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  position: relative;
  overflow: hidden;
  color: #111;
  border: 0;
  background: linear-gradient(135deg, #ec0051, #ff6717 52%, #d9dd18);
  box-shadow: 0 16px 38px rgba(236,0,81,.25);
}

.clubs-network-actions .place-club .ui-icon {
  width: 19px;
  height: 19px;
  color: #111;
}

@media (max-width: 1180px) {
  .client-planning-grid,
  .client-club-list,
  .clubs-network-section,
  .clubs-network-section .club-card-grid.teaser {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .client-app-pro .client-main-card {
    padding: 14px;
  }

  .client-card-actions {
    grid-template-columns: 1fr;
  }

  .client-card-actions a,
  .client-card-actions .complete-workout-form button {
    width: 100%;
  }

  .client-card-status {
    width: 100%;
  }

  .training-days-form {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .client-panel-heading {
    display: grid;
  }

  .client-panel-heading > span,
  .client-panel-heading > a {
    width: fit-content;
  }

  .client-club-mini {
    grid-template-columns: 78px minmax(0, 1fr);
  }

  .client-club-mini img {
    width: 78px;
    height: 64px;
  }

  .clubs-network-section {
    padding-top: 38px;
    padding-bottom: 38px;
  }
}

@keyframes profiButtonSweep {
  0%, 42% {
    transform: translateX(0) rotate(22deg);
    opacity: 0;
  }
  54% {
    opacity: .72;
  }
  78%, 100% {
    transform: translateX(520px) rotate(22deg);
    opacity: 0;
  }
}

.club-card {
  isolation: isolate;
  background:
    linear-gradient(145deg, rgba(255,255,255,.06), transparent 38%),
    linear-gradient(145deg, rgba(24, 24, 28, .96), rgba(9, 9, 12, .98));
}

.club-card-media {
  isolation: isolate;
}

.club-card-media::after,
.club-detail-media::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(180deg, rgba(8,8,10,.06), rgba(8,8,10,.46) 78%, rgba(8,8,10,.82)),
    radial-gradient(circle at 82% 12%, rgba(217,221,24,.16), transparent 36%);
  pointer-events: none;
}

.club-card-media > img,
.club-detail-media > img {
  filter: saturate(1.06) contrast(1.06);
}

.club-card:hover .club-card-media > img {
  transform: scale(1.07);
  filter: saturate(1.18) contrast(1.1);
}

.club-logo-badge,
.club-detail-media span {
  z-index: 2;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(9,9,12,.68);
  box-shadow: 0 16px 46px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.14);
  backdrop-filter: blur(14px);
}

.club-logo-badge {
  width: 78px;
  height: 58px;
  border-radius: 12px;
}

.club-logo-badge img,
.club-card:hover .club-logo-badge img,
.club-detail-media span img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  filter: none;
  transform: none;
}

.club-card-body {
  background:
    radial-gradient(circle at 12% 0, rgba(236,0,81,.1), transparent 32%),
    linear-gradient(180deg, rgba(255,255,255,.025), transparent);
}

.club-card-body h3 a:hover,
.club-more-link:hover {
  color: var(--yellow);
}

.club-service-tags span {
  border: 1px solid rgba(255,255,255,.08);
  background: linear-gradient(135deg, rgba(255,255,255,.1), rgba(255,255,255,.035));
}

.client-club-mini {
  background:
    linear-gradient(135deg, rgba(255,255,255,.07), rgba(255,255,255,.025)),
    rgba(8,8,10,.34);
}

.client-club-mini img {
  filter: saturate(1.08) contrast(1.05);
}

.telegram-login-wrap {
  display: grid;
  gap: 8px;
  justify-items: stretch;
  margin: 12px 0;
  padding: 12px;
  border: 1px solid rgba(42,171,238,.22);
  border-radius: 12px;
  background:
    radial-gradient(circle at 18% 0, rgba(42,171,238,.18), transparent 48%),
    rgba(255,255,255,.045);
}

.telegram-login-wrap > span {
  color: rgba(255,255,255,.62);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.telegram-bot-login-wrap {
  padding: 10px;
}

.telegram-bot-login {
  position: relative;
  display: grid;
  grid-template-columns: 46px 1fr auto;
  gap: 4px 12px;
  align-items: center;
  min-height: 74px;
  padding: 14px 15px;
  color: #fff;
  text-decoration: none;
  border: 1px solid rgba(42,171,238,.34);
  border-radius: 14px;
  background:
    radial-gradient(circle at 12% 15%, rgba(42,171,238,.34), transparent 32%),
    linear-gradient(135deg, rgba(14,18,24,.96), rgba(22,24,30,.88));
  box-shadow: 0 18px 48px rgba(42,171,238,.16), inset 0 1px 0 rgba(255,255,255,.08);
  overflow: hidden;
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.telegram-bot-login::after {
  content: "";
  position: absolute;
  inset: -70% auto -70% -35%;
  width: 42%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.28), transparent);
  transform: rotate(18deg) translateX(-120%);
  animation: loginShine 3.4s ease-in-out infinite;
}

.telegram-bot-login:hover {
  transform: translateY(-2px);
  border-color: rgba(42,171,238,.72);
  box-shadow: 0 20px 48px rgba(42,171,238,.24);
}

.telegram-bot-login .ui-icon {
  grid-row: span 2;
  width: 46px;
  height: 46px;
  padding: 10px;
  color: #fff;
  border-radius: 50%;
  background: linear-gradient(135deg, #2aabee, #1687c8);
  box-shadow: 0 12px 26px rgba(42,171,238,.28);
}

.telegram-bot-login b {
  position: relative;
  z-index: 1;
  color: #fff;
  font-size: 15px;
  line-height: 1.15;
}

.telegram-bot-login small {
  position: relative;
  z-index: 1;
  color: rgba(255,255,255,.66);
  font-size: 12px;
  line-height: 1.35;
}

.telegram-bot-login::before {
  content: "→";
  grid-column: 3;
  grid-row: 1 / span 2;
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  color: #111;
  background: var(--yellow);
  font-weight: 950;
}

@keyframes loginShine {
  0%, 46% {
    transform: rotate(18deg) translateX(-120%);
    opacity: 0;
  }
  58% {
    opacity: .8;
  }
  82%, 100% {
    transform: rotate(18deg) translateX(360%);
    opacity: 0;
  }
}

/* Account page compact production layout */
.account-start-page {
  padding-top: clamp(92px, 9vw, 118px) !important;
}

.account-start-card {
  width: min(1180px, calc(100vw - 44px)) !important;
  max-width: 1180px !important;
  padding: clamp(22px, 2.5vw, 34px) !important;
}

.account-start-card > h1 {
  margin: 8px 0 8px !important;
  max-width: 680px;
  font-size: clamp(32px, 4vw, 54px) !important;
  line-height: .98 !important;
  letter-spacing: -.035em !important;
}

.account-start-card > p:not(.eyebrow) {
  max-width: 860px;
  margin: 0;
  color: rgba(255,255,255,.68);
  font-size: 15px;
  line-height: 1.55;
}

.account-method-grid {
  grid-template-columns: repeat(3, minmax(260px, 1fr)) !important;
  align-items: stretch;
  gap: 16px !important;
}

.account-method-grid article {
  position: relative;
  min-width: 0;
  min-height: 0;
  padding: clamp(18px, 1.8vw, 24px) !important;
  border-radius: 18px !important;
  overflow: hidden;
}

.account-method-grid article::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(135deg, rgba(255,255,255,.08), transparent 42%);
  opacity: .6;
}

.account-method-grid article > * {
  position: relative;
  z-index: 1;
}

.account-method-grid h2 {
  max-width: 100%;
  overflow-wrap: anywhere;
  margin: 0 0 4px !important;
  font-size: clamp(19px, 1.45vw, 24px) !important;
  line-height: 1.08 !important;
  letter-spacing: -.02em !important;
  text-transform: none !important;
}

.account-method-grid p {
  margin: 0 0 4px;
  font-size: 14px;
  line-height: 1.5 !important;
}

.account-method-grid .login-form {
  display: grid;
  gap: 10px;
  margin-top: 4px;
}

.account-method-grid .login-form label {
  gap: 7px;
  font-size: 10px;
}

.account-method-grid input {
  min-height: 46px !important;
  padding: 0 14px !important;
}

.account-method-grid button,
.account-method-grid .telegram-bot-login {
  min-height: 52px !important;
  width: 100%;
}

.telegram-account-card {
  display: grid !important;
  align-content: stretch !important;
}

.telegram-bot-login {
  grid-template-columns: 42px 1fr auto;
  padding: 12px 14px !important;
}

.telegram-bot-login em {
  grid-row: span 2;
  align-self: center;
  padding: 6px 8px;
  color: #111;
  border-radius: 999px;
  background: var(--yellow);
  font-size: 11px;
  font-style: normal;
  font-weight: 950;
  white-space: nowrap;
}

.account-flow-note {
  border-radius: 16px !important;
}

@media (max-width: 1120px) {
  .account-method-grid {
    grid-template-columns: 1fr 1fr !important;
  }

  .telegram-account-card {
    grid-column: 1 / -1;
  }
}

@media (max-width: 720px) {
  .account-start-page {
    padding: 78px 12px 90px !important;
  }

  .account-start-card {
    width: 100% !important;
    padding: 16px !important;
  }

  .account-start-card > h1 {
    font-size: 30px !important;
  }

  .account-method-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .account-method-grid article {
    padding: 16px !important;
  }

  .account-method-grid h2 {
    font-size: 21px !important;
  }

  .account-flow-note {
    grid-template-columns: 28px 1fr !important;
    align-items: start !important;
  }
}

/* Clean Telegram login button */
.telegram-login-wrap.telegram-bot-login-wrap {
  margin: 8px 0 14px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.telegram-login-wrap.telegram-bot-login-wrap > span {
  display: none !important;
}

.telegram-login-wrap .telegram-bot-login {
  display: flex !important;
  grid-template-columns: none !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 11px !important;
  min-height: 56px !important;
  width: 100% !important;
  padding: 0 18px !important;
  border: 1px solid rgba(42,171,238,.68) !important;
  border-radius: 10px !important;
  color: #fff !important;
  background: linear-gradient(135deg, #2aabee, #1687c8) !important;
  box-shadow: 0 16px 38px rgba(42,171,238,.24) !important;
}

.telegram-login-wrap .telegram-bot-login::before,
.telegram-login-wrap .telegram-bot-login::after,
.telegram-login-wrap .telegram-bot-login small,
.telegram-login-wrap .telegram-bot-login em {
  display: none !important;
}

.telegram-login-wrap .telegram-bot-login .ui-icon {
  width: 24px !important;
  height: 24px !important;
  padding: 0 !important;
  border-radius: 0 !important;
  color: #fff !important;
  background: transparent !important;
  box-shadow: none !important;
}

.telegram-login-wrap .telegram-bot-login b {
  color: #fff !important;
  font-size: 16px !important;
  line-height: 1 !important;
  letter-spacing: -.01em !important;
}

.telegram-login-wrap .telegram-bot-login:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(42,171,238,.95) !important;
  box-shadow: 0 20px 48px rgba(42,171,238,.32) !important;
}

.telegram-login-wrap .telegram-bot-login.is-loading {
  pointer-events: none !important;
  opacity: .78 !important;
  filter: saturate(1.18) !important;
}

.telegram-login-status {
  margin: 10px 0 0 !important;
  padding: 10px 12px !important;
  border: 1px solid rgba(42,171,238,.28) !important;
  border-radius: 9px !important;
  color: rgba(255,255,255,.76) !important;
  background: rgba(42,171,238,.09) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.45 !important;
}

/* Admin translations */
.translation-admin-intro p {
  max-width: 980px;
  color: rgba(255,255,255,.66);
  line-height: 1.6;
}

.translation-filter-form select {
  min-height: 44px;
  padding: 0 12px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 8px;
  color: #fff;
  background: #111115;
}

.translation-editor {
  padding: 0 !important;
  overflow: hidden;
}

.translation-editor-head,
.translation-save-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px;
  border-bottom: 1px solid rgba(255,255,255,.1);
}

.translation-save-bar {
  border-top: 1px solid rgba(255,255,255,.1);
  border-bottom: 0;
  justify-content: flex-end;
}

.translation-editor-head h2 {
  margin: 0 0 4px;
}

.translation-editor-head p {
  margin: 0;
  color: rgba(255,255,255,.56);
  font-size: 13px;
}

.translation-editor-head button,
.translation-save-bar button {
  min-height: 44px;
  border: 0;
  border-radius: 8px;
  color: #111;
  background: var(--brand);
  box-shadow: 0 16px 34px rgba(236,0,81,.22);
  cursor: pointer;
  font-weight: 950;
}

.translation-table {
  min-width: 1180px;
}

.translation-table th {
  min-width: 190px;
  vertical-align: top;
}

.translation-table th:first-child,
.translation-table td:first-child {
  position: sticky;
  left: 0;
  z-index: 2;
  min-width: 220px;
  background: #111115;
}

.translation-table th small,
.translation-table td small {
  display: block;
  margin-top: 4px;
  color: rgba(255,255,255,.45);
  font-size: 10px;
}

.translation-table textarea {
  display: block;
  width: 100%;
  min-height: 82px;
  resize: vertical;
  padding: 10px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 8px;
  color: #fff;
  background: rgba(255,255,255,.055);
  font: inherit;
  font-size: 12px;
  line-height: 1.45;
  outline: none;
}

.translation-table textarea:focus {
  border-color: rgba(217,221,24,.55);
  box-shadow: 0 0 0 3px rgba(217,221,24,.12);
}

@media (max-width: 720px) {
  .translation-editor-head,
  .translation-save-bar {
    align-items: stretch;
    flex-direction: column;
  }

  .translation-editor-head button,
  .translation-save-bar button {
    width: 100%;
  }
}

/* Final visual polish: source logos, centered mobile CTAs, visible mobile purchase */
.source-logos {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: clamp(14px, 2vw, 26px) !important;
  margin-top: 22px !important;
}

.source-logo {
  display: inline-flex !important;
  grid-template-columns: none !important;
  align-items: center !important;
  gap: 9px !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: rgba(255,255,255,.86) !important;
  background: transparent !important;
  box-shadow: none !important;
  opacity: .86 !important;
  transition: opacity .22s ease, transform .22s ease, filter .22s ease !important;
}

.source-logo:hover {
  opacity: 1 !important;
  transform: translateY(-2px) !important;
  filter: drop-shadow(0 10px 20px rgba(236,0,81,.22)) !important;
}

.source-logo i {
  display: inline-grid !important;
  grid-row: auto !important;
  place-items: center !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  color: var(--yellow) !important;
  background: transparent !important;
  font-size: 15px !important;
  font-style: normal !important;
  font-weight: 1000 !important;
  letter-spacing: -.04em !important;
  line-height: 1 !important;
}

.source-logo b {
  color: #fff !important;
  font-size: clamp(16px, 1.35vw, 22px) !important;
  font-weight: 1000 !important;
  letter-spacing: -.04em !important;
  line-height: 1 !important;
}

.source-logo span {
  display: none !important;
}

.firstua-logo b {
  color: #ffd500 !important;
  text-shadow: -1px 0 #005bbb, 0 1px #005bbb, 1px 0 #005bbb, 0 -1px #005bbb;
}

.kyivcity-logo b {
  color: #65a2ff !important;
}

.period-pay em {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 34px !important;
  padding: 0 12px !important;
  border-radius: 999px !important;
  color: #111 !important;
  background: linear-gradient(135deg, #ec0051, #ff8a16 50%, #d9dd18) !important;
  box-shadow: 0 10px 28px rgba(236,0,81,.26) !important;
  font-size: 11px !important;
  font-weight: 1000 !important;
  letter-spacing: .035em !important;
  white-space: nowrap !important;
}

.dashboard-buy-form button,
.liqpay-pay-button {
  color: #111 !important;
  text-shadow: none !important;
}

@media (max-width: 720px) {
  .source-logos {
    justify-content: center !important;
    gap: 14px 18px !important;
    width: 100% !important;
    text-align: center !important;
  }

  .source-logo {
    justify-content: center !important;
  }

  .hero-actions,
  .hero-v3 .hero-actions,
  .program-card-actions,
  .program-detail-actions,
  .program-question-card,
  .clubs-network-actions,
  .app-cta-row,
  .client-card-actions,
  .dashboard-buy-form {
    justify-content: center !important;
    justify-items: center !important;
    text-align: center !important;
  }

  .hero-actions a,
  .hero-v3 .hero-actions a,
  .program-card-actions a,
  .program-detail-actions a,
  .clubs-network-actions a,
  .app-cta-row a,
  .client-card-actions a,
  .dashboard-buy-form button,
  .liqpay-pay-button {
    width: min(100%, 330px) !important;
    justify-content: center !important;
    text-align: center !important;
  }

  .period-pay {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    min-height: 0 !important;
    padding: 13px !important;
    text-align: center !important;
  }

  .period-pay > span,
  .period-pay .price-sale-line,
  .period-pay em {
    justify-self: center !important;
  }

  .period-pay small {
    position: static !important;
    justify-self: center !important;
    order: 4 !important;
    margin-top: 2px !important;
  }

  .period-pay em {
    width: min(100%, 270px) !important;
    min-height: 42px !important;
    margin-top: 4px !important;
    font-size: 12px !important;
  }
}

/* Fast hero CTA effects: no infinite shine/blur on main buttons */
.hero-v3 .hero-actions .primary-action,
.hero-v3 .hero-actions .secondary-action.solid {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  animation: none !important;
  filter: none !important;
  transform: translateZ(0) !important;
  backface-visibility: hidden !important;
  transition:
    transform .16s ease,
    box-shadow .16s ease,
    border-color .16s ease,
    background .16s ease !important;
  will-change: transform !important;
}

.hero-v3 .hero-actions .primary-action::after,
.hero-v3 .hero-actions .secondary-action.solid::after,
.hero-v3 .hero-actions .primary-action::before,
.hero-v3 .hero-actions .secondary-action.solid::before {
  animation: none !important;
  filter: none !important;
  transition: opacity .16s ease, transform .16s ease !important;
}

.hero-v3 .hero-actions .primary-action::after,
.hero-v3 .hero-actions .secondary-action.solid::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: -1 !important;
  pointer-events: none !important;
  border-radius: inherit !important;
  background: linear-gradient(110deg, rgba(255,255,255,.18), transparent 42%, rgba(255,255,255,.11)) !important;
  opacity: .28 !important;
  transform: translateX(-18%) !important;
}

.hero-v3 .hero-actions .primary-action:hover,
.hero-v3 .hero-actions .secondary-action.solid:hover {
  transform: translate3d(0, -2px, 0) !important;
  filter: none !important;
}

.hero-v3 .hero-actions .primary-action:hover {
  box-shadow: 0 16px 34px rgba(236,0,81,.28) !important;
}

.hero-v3 .hero-actions .secondary-action.solid:hover {
  border-color: rgba(217,221,24,.36) !important;
  box-shadow: 0 12px 28px rgba(0,0,0,.28) !important;
}

.hero-v3 .hero-actions .primary-action:hover::after,
.hero-v3 .hero-actions .secondary-action.solid:hover::after {
  opacity: .42 !important;
  transform: translateX(0) !important;
}

/* APP + BOT preview stability */
.app-bot-section {
  grid-template-columns: minmax(360px, .78fr) minmax(0, 1fr) !important;
  gap: clamp(28px, 5vw, 74px) !important;
  overflow: hidden !important;
}

.app-bot-section .app-device {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  min-height: clamp(650px, 52vw, 780px) !important;
  padding-bottom: 112px !important;
}

.app-bot-section .phone-shell {
  position: relative !important;
  left: auto !important;
  top: auto !important;
  width: min(430px, 100%) !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  padding: 12px !important;
  transform: none !important;
}

.app-bot-section .phone-screen {
  min-height: 0 !important;
  aspect-ratio: 860 / 1320 !important;
}

.app-bot-section .app-cabinet-preview-img {
  object-fit: cover !important;
  object-position: center top !important;
}

.app-bot-section .bot-card {
  z-index: 4 !important;
  right: auto !important;
  left: 50% !important;
  bottom: 22px !important;
  width: min(360px, 86%) !important;
  max-width: none !important;
  transform: translateX(-50%) !important;
}

@media (max-width: 920px) {
  .app-bot-section {
    grid-template-columns: 1fr !important;
  }

  .app-bot-section .app-device {
    min-height: 710px !important;
  }

  .app-bot-section .phone-shell {
    width: min(390px, 88vw) !important;
  }
}

@media (max-width: 640px) {
  .app-bot-section .app-device {
    min-height: 640px !important;
    padding-bottom: 96px !important;
  }

  .app-bot-section .phone-shell {
    width: min(330px, 88vw) !important;
  }

  .app-bot-section .bot-card {
    bottom: 8px !important;
    width: min(330px, 90%) !important;
  }
}

/* Cabinet and admin workspace upgrade */
.client-quick-rail {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin: 0 0 14px;
}

.client-quick-rail a {
  min-height: 96px;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  padding: 13px;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 13px;
  color: #fff;
  background:
    radial-gradient(circle at 0 0, rgba(236,0,81,.17), transparent 42%),
    linear-gradient(145deg, rgba(255,255,255,.082), rgba(255,255,255,.028));
  box-shadow: 0 18px 58px rgba(0,0,0,.24);
  text-decoration: none;
  transition: transform .2s ease, border-color .2s ease, background .2s ease;
}

.client-quick-rail a:hover {
  transform: translateY(-2px);
  border-color: rgba(217,221,24,.28);
  background:
    radial-gradient(circle at 0 0, rgba(236,0,81,.26), transparent 42%),
    linear-gradient(145deg, rgba(255,255,255,.115), rgba(255,255,255,.04));
}

.client-quick-rail a.primary {
  border-color: rgba(217,221,24,.28);
  background:
    radial-gradient(circle at 0 0, rgba(217,221,24,.2), transparent 42%),
    linear-gradient(135deg, rgba(236,0,81,.24), rgba(255,106,26,.16) 55%, rgba(217,221,24,.12));
}

.client-quick-rail .ui-icon {
  width: 34px;
  height: 34px;
  padding: 7px;
  border-radius: 10px;
  color: var(--yellow);
  background: rgba(217,221,24,.1);
}

.client-quick-rail b,
.admin-action-grid b {
  display: block;
  color: #fff;
  font-size: 14px;
  line-height: 1.1;
}

.client-quick-rail small,
.admin-action-grid small {
  display: block;
  margin-top: 4px;
  color: rgba(255,255,255,.56);
  font-size: 11px;
  line-height: 1.32;
}

.admin-command-center {
  display: grid;
  grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr);
  gap: 14px;
  margin-bottom: 18px;
  padding: 18px;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 18px;
  background:
    radial-gradient(circle at 0 0, rgba(236,0,81,.21), transparent 40%),
    radial-gradient(circle at 100% 0, rgba(217,221,24,.12), transparent 34%),
    linear-gradient(145deg, rgba(255,255,255,.09), rgba(255,255,255,.028));
  box-shadow: 0 26px 85px rgba(0,0,0,.28);
}

.admin-command-copy {
  display: grid;
  align-content: center;
  gap: 8px;
}

.admin-command-copy h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(23px, 2.4vw, 34px);
  line-height: 1;
  letter-spacing: -.035em;
}

.admin-command-copy p:not(.eyebrow) {
  max-width: 520px;
  margin: 0;
  color: rgba(255,255,255,.66);
  font-size: 14px;
  line-height: 1.5;
}

.admin-action-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.admin-action-grid a {
  min-height: 102px;
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 13px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 13px;
  color: #fff;
  background: rgba(255,255,255,.045);
  text-decoration: none;
  transition: transform .2s ease, border-color .2s ease, background .2s ease;
}

.admin-action-grid a:hover {
  transform: translateY(-2px);
  border-color: rgba(217,221,24,.26);
  background: rgba(255,255,255,.075);
}

.admin-action-grid .ui-icon {
  width: 36px;
  height: 36px;
  padding: 8px;
  border-radius: 11px;
  color: var(--yellow);
  background: rgba(217,221,24,.1);
}

.admin-action-grid strong {
  min-width: 42px;
  padding: 8px 10px;
  border-radius: 10px;
  color: #111;
  background: linear-gradient(135deg, #d9dd18, #fff36a);
  text-align: center;
  font-size: 14px;
  font-weight: 950;
}

.admin-sidebar {
  scroll-behavior: smooth;
}

.admin-sidebar nav a {
  min-height: 62px;
}

@media (max-width: 1180px) {
  .client-quick-rail,
  .admin-action-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .admin-command-center {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .client-quick-rail {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .client-quick-rail a {
    min-height: 86px;
    padding: 12px;
  }

  .admin-action-grid {
    grid-template-columns: 1fr;
  }

  .admin-action-grid a {
    min-height: 82px;
  }
}

@media (max-width: 520px) {
  .client-quick-rail {
    grid-template-columns: 1fr;
  }

  .client-focus-actions,
  .client-card-actions {
    justify-content: center;
  }

  .client-card-actions {
    grid-template-columns: 1fr;
  }

  .client-card-actions a,
  .client-card-actions .complete-workout-form button {
    width: 100%;
  }
}

/* Club application workflow */
.club-apply-page {
  padding: clamp(30px, 5vw, 68px) clamp(14px, 5vw, 72px);
  color: #fff;
  background:
    radial-gradient(circle at 8% 0, rgba(236,0,81,.2), transparent 34%),
    radial-gradient(circle at 92% 8%, rgba(217,221,24,.12), transparent 30%),
    #08080a;
}

.club-apply-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 390px);
  gap: 18px;
  align-items: stretch;
  margin-bottom: 18px;
}

.club-apply-hero > div,
.club-apply-hero > aside,
.club-apply-success,
.club-apply-card,
.club-apply-info article,
.admin-club-application {
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 18px;
  background:
    radial-gradient(circle at 0 0, rgba(236,0,81,.15), transparent 42%),
    linear-gradient(145deg, rgba(255,255,255,.09), rgba(255,255,255,.03));
  box-shadow: 0 24px 80px rgba(0,0,0,.25);
}

.club-apply-hero > div,
.club-apply-hero > aside {
  padding: clamp(18px, 2.4vw, 28px);
}

.club-apply-hero h1 {
  max-width: 880px;
  margin: 10px 0;
  font-size: clamp(30px, 4vw, 54px);
  line-height: .98;
  letter-spacing: -.045em;
  text-transform: uppercase;
}

.club-apply-hero p {
  max-width: 780px;
  color: rgba(255,255,255,.68);
  line-height: 1.58;
}

.club-apply-hero > aside {
  display: grid;
  align-content: center;
  gap: 10px;
  border-color: rgba(217,221,24,.22);
}

.club-apply-hero > aside b {
  color: var(--yellow);
  font-size: 22px;
}

.club-apply-hero > aside span {
  padding: 10px 12px;
  border-radius: 10px;
  color: rgba(255,255,255,.72);
  background: rgba(255,255,255,.055);
}

.club-apply-steps {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 18px;
}

.club-apply-steps span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 999px;
  background: rgba(255,255,255,.055);
}

.club-apply-steps .ui-icon {
  width: 20px;
  height: 20px;
  color: var(--yellow);
}

.club-apply-success {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  margin-bottom: 18px;
  padding: 16px;
  border-color: rgba(217,221,24,.28);
}

.club-apply-success .ui-icon {
  width: 42px;
  height: 42px;
  color: var(--yellow);
}

.club-apply-success h2,
.club-apply-card h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(20px, 2vw, 28px);
}

.club-apply-success p {
  margin: 5px 0 0;
  color: rgba(255,255,255,.65);
}

.club-apply-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
  gap: 18px;
  align-items: start;
}

.club-apply-form {
  display: grid;
  gap: 14px;
}

.club-apply-card {
  display: grid;
  gap: 13px;
  padding: clamp(16px, 2vw, 22px);
}

.apply-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.club-apply-form label {
  display: grid;
  gap: 7px;
  color: rgba(255,255,255,.78);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.club-apply-form input,
.club-apply-form textarea {
  width: 100%;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 10px;
  padding: 13px 14px;
  color: #fff;
  background: rgba(5,5,7,.72);
  outline: 0;
}

.club-apply-form textarea {
  min-height: 118px;
  resize: vertical;
}

.club-apply-form input:focus,
.club-apply-form textarea:focus {
  border-color: rgba(217,221,24,.42);
  box-shadow: 0 0 0 3px rgba(217,221,24,.08);
}

.club-apply-form .check-row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: rgba(255,255,255,.68);
  line-height: 1.45;
  letter-spacing: 0;
  text-transform: none;
}

.club-apply-form .check-row input {
  width: auto;
  margin-top: 2px;
}

.club-apply-form button,
.club-approve-form button,
.club-card-status-form button {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 0;
  border-radius: 10px;
  padding: 0 18px;
  color: #111;
  background: linear-gradient(135deg, #ec0051, #ff6717 52%, #d9dd18);
  box-shadow: 0 14px 34px rgba(236,0,81,.26);
  cursor: pointer;
  font-weight: 950;
}

.club-apply-form button .ui-icon {
  width: 20px;
  height: 20px;
  color: #111;
}

.club-apply-info {
  position: sticky;
  top: 88px;
  display: grid;
  gap: 12px;
}

.club-apply-info article {
  display: grid;
  gap: 7px;
  padding: 16px;
}

.club-apply-info .ui-icon {
  width: 30px;
  height: 30px;
  color: var(--yellow);
}

.club-apply-info b {
  color: #fff;
}

.club-apply-info span {
  color: rgba(255,255,255,.62);
  line-height: 1.45;
}

.admin-club-application-grid {
  display: grid;
  gap: 12px;
}

.admin-club-application {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr) minmax(230px, auto);
  gap: 14px;
  align-items: center;
  padding: 12px;
}

.admin-club-application > img {
  width: 150px;
  height: 110px;
  object-fit: cover;
  border-radius: 12px;
}

.admin-club-application h3 {
  margin: 5px 0;
  color: #fff;
  font-size: 20px;
}

.admin-club-application small,
.admin-club-application em,
.admin-club-application span {
  display: block;
  color: rgba(255,255,255,.58);
  font-size: 12px;
  font-style: normal;
  line-height: 1.4;
}

.club-approve-form {
  display: grid;
  gap: 8px;
}

.club-approve-form a {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 9px;
  color: #fff;
  background: rgba(255,255,255,.06);
  text-decoration: none;
  font-weight: 900;
}

.club-card-status-form {
  margin-top: 8px;
}

.club-card-status-form button {
  min-height: 36px;
  border-radius: 8px;
  padding: 0 12px;
  box-shadow: none;
}

.admin-club-application details {
  grid-column: 1 / -1;
}

@media (max-width: 980px) {
  .club-apply-hero,
  .club-apply-layout,
  .admin-club-application {
    grid-template-columns: 1fr;
  }

  .club-apply-info {
    position: static;
  }

  .admin-club-application > img {
    width: 100%;
    height: 190px;
  }
}

@media (max-width: 620px) {
  .apply-form-grid {
    grid-template-columns: 1fr;
  }

  .club-apply-success {
    grid-template-columns: 1fr;
  }

  .club-apply-form button {
    width: 100%;
  }
}

/* Admin analytics and tickets refinement */
.admin-analytics-board {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  gap: 14px;
  margin-bottom: 18px;
}

.admin-insight-panel {
  position: relative;
  overflow: hidden;
  padding: 18px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 16px;
  background:
    radial-gradient(circle at 0 0, rgba(236,0,81,.15), transparent 44%),
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.032));
  box-shadow: 0 24px 80px rgba(0,0,0,.22);
}

.admin-insight-panel.wide {
  grid-column: 1 / -1;
}

.admin-activity-bars,
.admin-page-ranking,
.admin-event-timeline,
.admin-sales-grid {
  display: grid;
  gap: 10px;
}

.admin-activity-bar,
.admin-rank-row {
  display: grid;
  gap: 7px;
  padding: 10px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 11px;
  background: rgba(255,255,255,.045);
}

.admin-activity-bar span,
.admin-rank-row {
  align-items: center;
}

.admin-activity-bar span,
.admin-rank-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
}

.admin-activity-bar b,
.admin-rank-row b,
.admin-sale-card b {
  color: #fff;
}

.admin-activity-bar em,
.admin-rank-row strong {
  justify-self: end;
  color: var(--yellow);
  font-style: normal;
  font-weight: 950;
}

.admin-activity-bar > i,
.admin-rank-row i {
  display: block;
  height: 7px;
  width: 100%;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
}

.admin-activity-bar > i::before,
.admin-rank-row i::before {
  content: "";
  display: block;
  width: var(--bar);
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #ec0051, #ff6717 55%, #d9dd18);
}

.admin-rank-row {
  grid-template-columns: 42px minmax(0, 1fr);
}

.admin-rank-row strong {
  justify-self: auto;
  color: #111;
  padding: 8px 0;
  border-radius: 10px;
  background: linear-gradient(135deg, #d9dd18, #fff36a);
  text-align: center;
}

.admin-rank-row span {
  display: grid;
  gap: 6px;
}

.admin-rank-row small,
.admin-sale-card small,
.admin-event-timeline small {
  color: rgba(255,255,255,.56);
}

.admin-event-timeline {
  margin-top: 12px;
}

.admin-event-timeline span {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr) auto;
  gap: 10px;
  padding: 8px 0;
  border-top: 1px solid rgba(255,255,255,.07);
  color: rgba(255,255,255,.72);
  font-size: 12px;
}

.admin-event-timeline b {
  color: var(--yellow);
}

.admin-event-timeline em {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-style: normal;
}

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

.admin-sale-card {
  display: grid;
  gap: 8px;
  padding: 14px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 13px;
  background: rgba(255,255,255,.045);
}

.admin-sale-card span {
  display: flex;
  align-items: center;
  gap: 9px;
}

.admin-sale-card .ui-icon {
  width: 30px;
  height: 30px;
  padding: 7px;
  border-radius: 9px;
  color: var(--yellow);
  background: rgba(217,221,24,.1);
}

.admin-sale-card strong {
  color: #fff;
  font-size: clamp(22px, 2vw, 30px);
  line-height: 1;
}

.ticket-kpis {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.admin-ticket-filter {
  grid-template-columns: minmax(220px, 1fr) 180px 180px auto auto;
}

.admin-ticket-board {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.pro-ticket {
  display: grid;
  gap: 14px;
  padding: 16px;
  border-radius: 16px;
}

.pro-ticket.priority-urgent,
.pro-ticket.priority-high {
  border-color: rgba(236,0,81,.32);
}

.pro-ticket header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
}

.pro-ticket header h3 {
  margin: 8px 0 0;
  color: #fff;
  font-size: 20px;
  line-height: 1.15;
}

.pro-ticket header strong {
  padding: 9px 10px;
  border-radius: 10px;
  color: #111;
  background: linear-gradient(135deg, #d9dd18, #fff36a);
  font-size: 12px;
  font-weight: 950;
}

.pro-ticket header > div > span {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.ticket-client-line {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.ticket-client-line span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 10px;
  border-radius: 9px;
  color: rgba(255,255,255,.68);
  background: rgba(255,255,255,.055);
  font-size: 12px;
}

.ticket-client-line .ui-icon {
  width: 18px;
  height: 18px;
  color: var(--yellow);
}

.ticket-message,
.ticket-reply-preview {
  padding: 12px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 12px;
  background: rgba(6,6,8,.35);
}

.ticket-message small,
.ticket-reply-preview small {
  color: rgba(255,255,255,.46);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.ticket-message p,
.ticket-reply-preview p {
  margin: 7px 0 0;
  color: rgba(255,255,255,.76);
  line-height: 1.55;
}

.ticket-reply-preview {
  border-color: rgba(217,221,24,.18);
  background: rgba(217,221,24,.055);
}

.pro-ticket-form label {
  display: grid;
  gap: 7px;
  color: rgba(255,255,255,.56);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.pro-ticket-form button {
  width: fit-content;
}

@media (max-width: 1120px) {
  .admin-analytics-board,
  .admin-ticket-board {
    grid-template-columns: 1fr;
  }

  .admin-sales-grid,
  .ticket-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .admin-ticket-filter {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 680px) {
  .admin-sales-grid,
  .ticket-kpis,
  .admin-ticket-filter,
  .pro-ticket header,
  .admin-event-timeline span {
    grid-template-columns: 1fr !important;
  }

  .pro-ticket-form button {
    width: 100%;
  }
}

.admin-ticket-board .pro-ticket {
  background:
    radial-gradient(circle at 0 0, rgba(217,221,24,.08), transparent 34%),
    linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.018));
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 18px 55px rgba(0,0,0,.24);
}

.admin-ticket-board .pro-ticket.priority-urgent,
.admin-ticket-board .pro-ticket.priority-high {
  border-color: rgba(255,106,26,.22);
  background:
    radial-gradient(circle at 100% 0, rgba(255,106,26,.12), transparent 38%),
    linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.018));
}

.admin-ticket-board .ticket-message,
.admin-ticket-board .ticket-reply-preview,
.admin-ticket-board .ticket-client-line span {
  background: rgba(255,255,255,.035);
}

.photo-kpis {
  margin-bottom: 14px;
}

.admin-photo-filter {
  margin-bottom: 16px;
}

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

.pro-photo-card {
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.085);
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  box-shadow: 0 22px 70px rgba(0,0,0,.22);
}

.pro-photo-card .photo-thumb {
  display: block;
  overflow: hidden;
  background: rgba(0,0,0,.28);
}

.pro-photo-card .photo-thumb img {
  transition: transform .35s ease, filter .35s ease;
}

.pro-photo-card:hover .photo-thumb img {
  transform: scale(1.035);
  filter: saturate(1.08) contrast(1.05);
}

.photo-client-head,
.photo-meta-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.photo-client-head {
  justify-content: space-between;
}

.photo-client-code,
.video-bind-status {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 7px 9px;
  border: 1px solid rgba(217,221,24,.2);
  border-radius: 9px;
  color: var(--yellow);
  background: rgba(217,221,24,.07);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.photo-meta-list span {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  padding: 7px 8px;
  border-radius: 9px;
  background: rgba(255,255,255,.04);
}

.photo-meta-list .ui-icon {
  width: 16px;
  height: 16px;
  color: var(--yellow);
}

.admin-card-link {
  color: var(--yellow);
  font-size: 12px;
  font-weight: 950;
  text-decoration: none;
}

.admin-reset-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 14px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 10px;
  color: rgba(255,255,255,.78);
  background: rgba(255,255,255,.035);
  font-size: 12px;
  font-weight: 900;
  text-decoration: none;
}

.admin-video-top .admin-panel {
  align-self: stretch;
}

.compact-head {
  margin-bottom: 14px;
}

.admin-video-upload .wide-field {
  grid-column: 1 / -1;
}

.admin-video-upload button {
  display: inline-flex;
  gap: 9px;
  align-items: center;
}

.admin-video-upload button .ui-icon {
  width: 18px;
  height: 18px;
}

.admin-video-guide {
  background:
    radial-gradient(circle at 100% 0, rgba(236,0,81,.13), transparent 36%),
    linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.018));
}

.admin-video-workflow {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.admin-video-workflow article {
  display: grid;
  gap: 8px;
  padding: 14px;
  border: 1px solid rgba(255,255,255,.085);
  border-radius: 13px;
  background: rgba(255,255,255,.035);
}

.admin-video-workflow .ui-icon {
  width: 28px;
  height: 28px;
  color: var(--yellow);
}

.admin-video-workflow b {
  color: #fff;
}

.admin-video-workflow span,
.admin-video-bind-table small {
  color: rgba(255,255,255,.62);
}

.admin-video-bind-panel {
  overflow: hidden;
}

.admin-video-bind-table td {
  vertical-align: top;
}

.admin-video-kpis article {
  min-height: 118px;
}

.compact-admin-action {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,.08);
}

.missing-video-card .video-missing-preview {
  display: grid;
  place-items: center;
  min-height: 154px;
  border-radius: 14px;
  color: rgba(255,255,255,.72);
  background:
    radial-gradient(circle at 35% 20%, rgba(236,0,81,.2), transparent 44%),
    rgba(7,7,9,.64);
}

.missing-video-card .video-missing-preview .ui-icon {
  width: 28px;
  height: 28px;
  color: var(--yellow);
}

.admin-video-library-table {
  min-width: 1180px;
}

.admin-video-library-list {
  display: grid;
  gap: 12px;
}

.admin-video-edit-card {
  display: grid;
  grid-template-columns: minmax(140px, .55fr) minmax(220px, 1fr) minmax(220px, 1fr) minmax(140px, .55fr) minmax(190px, .72fr) minmax(180px, .7fr) minmax(170px, .6fr) minmax(120px, .45fr);
  gap: 10px;
  align-items: end;
  padding: 12px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 16px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.055), rgba(255,255,255,.018)),
    rgba(10,10,13,.62);
}

.admin-video-edit-card:hover {
  border-color: rgba(217,221,24,.24);
  box-shadow: 0 18px 40px rgba(0,0,0,.18);
}

.admin-video-edit-card label,
.video-edit-file,
.video-edit-status {
  display: grid;
  gap: 6px;
}

.admin-video-edit-card label,
.video-edit-status small {
  color: rgba(255,255,255,.58);
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.video-edit-status b {
  display: inline-flex;
  width: fit-content;
  padding: 7px 9px;
  border-radius: 999px;
  color: #111;
  background: var(--yellow);
  font-size: 11px;
  font-weight: 950;
}

.video-edit-file a {
  color: var(--yellow);
  font-weight: 950;
  text-decoration: none;
}

.video-edit-file small {
  max-width: 210px;
  overflow: hidden;
  color: rgba(255,255,255,.5);
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-video-library-table td:first-child {
  min-width: 120px;
}

.admin-video-library-table td:nth-child(2) {
  min-width: 310px;
}

.admin-video-library-table td:nth-child(3) {
  max-width: 280px;
}

.admin-video-library-table a {
  color: var(--yellow);
  font-weight: 900;
  text-decoration: none;
}

.admin-video-row-form {
  display: grid;
  gap: 8px;
}

.admin-video-row-form label {
  display: grid;
  gap: 5px;
  color: rgba(255,255,255,.58);
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.admin-video-library-table input,
.admin-video-library-table select,
.admin-video-edit-card input,
.admin-video-edit-card select,
.admin-video-map-form select {
  width: 100%;
  min-height: 40px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 9px;
  color: #fff;
  background: rgba(7,7,10,.72);
  font-weight: 800;
}

.admin-video-library-table option,
.admin-video-edit-card option,
.admin-video-map-form option {
  color: #101010;
  background: #fff;
}

.admin-video-library-table button,
.admin-video-edit-card button,
.admin-video-map-form button {
  min-height: 40px;
  border: 0;
  border-radius: 10px;
  color: #111;
  background: linear-gradient(90deg, var(--pink), var(--orange), var(--yellow));
  box-shadow: 0 14px 34px rgba(236,0,81,.2);
  font-weight: 950;
  cursor: pointer;
}

.mini-check {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  justify-content: center;
  padding: 9px 10px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 10px;
  background: rgba(255,255,255,.035);
  color: rgba(255,255,255,.75);
}

.video-bind-status.is-linked {
  border-color: rgba(217,221,24,.34);
  color: #101010;
  background: var(--yellow);
}

.admin-video-map-form {
  min-width: 320px;
}

.admin-no-video-note {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0 11px;
  border: 1px solid rgba(217,221,24,.24);
  border-radius: 10px;
  color: var(--yellow);
  background: rgba(217,221,24,.07);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.legacy-template-bind {
  opacity: .92;
}

@media (max-width: 1180px) {
  .pro-photo-grid,
  .admin-video-workflow {
    grid-template-columns: 1fr;
  }

  .admin-video-edit-card {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 720px) {
  .admin-video-edit-card {
    grid-template-columns: 1fr;
  }
}

/* Mobile client dashboard final UX pass */
@media (max-width: 720px) {
  .client-app.client-app-pro {
    display: block !important;
    min-height: 100svh;
    padding: 0 0 calc(142px + env(safe-area-inset-bottom));
    background:
      radial-gradient(circle at 0 0, rgba(236,0,81,.2), transparent 34%),
      radial-gradient(circle at 100% 0, rgba(217,221,24,.13), transparent 30%),
      #08080a;
  }

  .client-app-pro .client-workspace {
    width: 100%;
    max-width: 100vw;
    padding: 10px 10px 24px !important;
    overflow-x: hidden;
  }

  .client-app-pro .client-sidebar {
    position: fixed !important;
    z-index: 120;
    left: 8px !important;
    right: 8px !important;
    bottom: calc(8px + env(safe-area-inset-bottom)) !important;
    top: auto !important;
    width: auto !important;
    height: auto !important;
    max-height: none;
    display: block !important;
    padding: 8px !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    border-radius: 18px !important;
    background:
      linear-gradient(180deg, rgba(18,18,22,.96), rgba(8,8,10,.94));
    box-shadow: 0 18px 70px rgba(0,0,0,.58), inset 0 1px 0 rgba(255,255,255,.08);
    backdrop-filter: blur(18px);
  }

  .client-app-pro .client-logo,
  .client-app-pro .client-site-link,
  .client-app-pro .client-sidebar small {
    display: none !important;
  }

  .client-app-pro .client-sidebar nav {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 6px !important;
  }

  .client-app-pro .client-sidebar nav a {
    min-height: 54px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 4px !important;
    padding: 7px 4px !important;
    border-radius: 13px !important;
    background: rgba(255,255,255,.045);
    transform: none !important;
  }

  .client-app-pro .client-sidebar nav a.active {
    border-color: rgba(217,221,24,.42) !important;
    background:
      radial-gradient(circle at 50% 0, rgba(217,221,24,.18), transparent 60%),
      linear-gradient(135deg, rgba(236,0,81,.2), rgba(255,106,26,.13));
  }

  .client-app-pro .client-sidebar .ui-icon {
    width: 22px !important;
    height: 22px !important;
    color: var(--yellow);
  }

  .client-app-pro .client-sidebar nav a span,
  .client-app-pro .client-sidebar nav a span b {
    display: block !important;
    max-width: 100%;
  }

  .client-app-pro .client-sidebar nav a span b {
    overflow: hidden;
    color: rgba(255,255,255,.9);
    font-size: 9px !important;
    line-height: 1.05;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .client-topbar.client-topbar-pro {
    position: relative;
    z-index: 10;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    margin: 0 0 10px !important;
    padding: 12px !important;
    border-radius: 18px !important;
    background:
      radial-gradient(circle at 100% 0, rgba(217,221,24,.14), transparent 34%),
      linear-gradient(145deg, rgba(255,255,255,.095), rgba(255,255,255,.035));
  }

  .client-topbar-copy > span {
    font-size: 9px !important;
    letter-spacing: .12em;
  }

  .client-topbar-copy h1 {
    margin: 5px 0 4px !important;
    font-size: 23px !important;
    line-height: 1.02 !important;
    letter-spacing: -.035em;
  }

  .client-topbar-copy p {
    font-size: 12px !important;
    line-height: 1.35;
  }

  .client-status-strip {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 7px !important;
    margin: 10px -2px 0 !important;
    padding: 0 2px 4px;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
  }

  .client-status-strip::-webkit-scrollbar,
  .client-quick-rail::-webkit-scrollbar {
    display: none;
  }

  .client-status-pill {
    flex: 0 0 auto;
    min-width: 132px;
    min-height: 42px !important;
    display: grid !important;
    gap: 2px !important;
    padding: 7px 9px !important;
    border-radius: 11px !important;
    scroll-snap-align: start;
  }

  .client-status-pill small {
    font-size: 8px !important;
  }

  .client-status-pill b {
    font-size: 10px !important;
  }

  .client-progress-widget {
    grid-template-columns: 58px minmax(0, 1fr) !important;
    gap: 10px !important;
    padding: 10px !important;
    border-radius: 14px !important;
  }

  .client-progress-orb {
    width: 56px !important;
    height: 56px !important;
  }

  .client-progress-orb b {
    font-size: 16px !important;
    transform: translateY(-4px);
  }

  .client-progress-orb small {
    font-size: 7px !important;
    transform: translateY(11px);
  }

  .client-progress-widget strong {
    font-size: 12px !important;
  }

  .client-progress-widget span,
  .client-progress-widget small {
    font-size: 10px !important;
  }

  .client-notice {
    margin: 0 0 10px !important;
    padding: 10px 11px !important;
    border-radius: 12px !important;
    font-size: 12px !important;
    line-height: 1.35;
  }

  .client-command-panel,
  .client-command-panel.overview-command,
  .client-overview-grid,
  .client-planning-grid,
  .progress-layout,
  .photo-layout,
  .support-layout,
  .settings-grid,
  .nutrition-summary,
  .nutrition-week-grid {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .client-focus-card,
  .training-days-panel,
  .client-clubs-panel,
  .client-main-card,
  .workout-day-card,
  .nutrition-day-card,
  .swap-section,
  .cabinet-card,
  .client-reminders-panel,
  .client-task-card,
  .client-mini-kpi-grid article,
  .measurement-kpis article,
  .client-verification-grid article {
    border-radius: 15px !important;
  }

  .client-focus-card {
    min-height: 0 !important;
    gap: 9px !important;
    padding: 14px !important;
  }

  .client-focus-card h2 {
    font-size: 27px !important;
    line-height: .98 !important;
  }

  .client-focus-card strong {
    font-size: 18px !important;
  }

  .client-focus-card p:not(.eyebrow) {
    font-size: 12px !important;
    line-height: 1.4;
  }

  .client-focus-actions,
  .client-card-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 7px !important;
  }

  .client-focus-actions a,
  .client-card-actions a,
  .client-card-actions button,
  .complete-workout-form button,
  .set-log-form button,
  .mini-form button,
  .email-confirm-panel button {
    width: 100% !important;
    min-height: 42px !important;
    border-radius: 10px !important;
  }

  .client-mini-kpi-grid,
  .measurement-kpis,
  .client-verification-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  .client-mini-kpi-grid article,
  .measurement-kpis article {
    min-height: 86px !important;
    padding: 12px !important;
  }

  .client-mini-kpi-grid b,
  .measurement-kpis b,
  .client-verification-grid b {
    font-size: 15px !important;
    overflow-wrap: anywhere;
  }

  .client-mini-kpi-grid small,
  .measurement-kpis small,
  .client-verification-grid small {
    font-size: 10px !important;
  }

  .client-quick-rail {
    display: flex !important;
    gap: 8px !important;
    margin: 0 -10px 10px !important;
    padding: 0 10px 4px !important;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }

  .client-quick-rail a {
    flex: 0 0 164px;
    min-height: 72px !important;
    grid-template-columns: 30px minmax(0, 1fr) !important;
    gap: 8px !important;
    padding: 11px !important;
    scroll-snap-align: start;
  }

  .client-quick-rail .ui-icon {
    width: 30px !important;
    height: 30px !important;
    padding: 6px !important;
  }

  .client-quick-rail b {
    font-size: 12px !important;
  }

  .client-quick-rail small {
    font-size: 10px !important;
    line-height: 1.22;
  }

  .client-reminders-panel {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    padding: 14px !important;
    margin-bottom: 10px !important;
  }

  .client-reminders-panel h3,
  .client-section-head h2 {
    font-size: 23px !important;
  }

  .client-reminders-panel p:not(.eyebrow),
  .client-section-head p,
  .client-main-card p {
    font-size: 12px !important;
    line-height: 1.42;
  }

  .client-task-card {
    grid-template-columns: 34px minmax(0, 1fr) !important;
    gap: 9px !important;
    padding: 11px !important;
  }

  .client-task-card strong {
    grid-column: auto !important;
    justify-self: end;
    width: auto !important;
    min-width: 76px;
    text-align: center;
  }

  .client-main-card {
    min-height: 0 !important;
    gap: 11px !important;
    padding: 14px !important;
  }

  .client-card-head {
    align-items: flex-start !important;
  }

  .client-card-head span {
    font-size: 9px !important;
    line-height: 1.25;
  }

  .client-main-card h2,
  .client-app-pro .client-main-card h2 {
    font-size: 24px !important;
    line-height: 1.02 !important;
  }

  .client-exercise-mini,
  .client-meal-mini {
    margin-top: 0 !important;
    gap: 7px !important;
  }

  .client-exercise-mini span,
  .client-meal-mini span {
    padding: 10px !important;
    border-radius: 11px !important;
  }

  .client-card-status {
    width: 100% !important;
    justify-content: center;
    padding: 9px 10px !important;
  }

  .client-panel-heading {
    display: grid !important;
    gap: 9px !important;
  }

  .client-panel-heading h3 {
    font-size: 22px !important;
  }

  .training-days-panel,
  .client-clubs-panel {
    padding: 14px !important;
  }

  .training-days-form {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 6px !important;
  }

  .training-days-form span {
    min-height: 38px !important;
    border-radius: 10px !important;
  }

  .client-club-list {
    grid-template-columns: 1fr !important;
  }

  .client-club-mini {
    grid-template-columns: 74px minmax(0, 1fr) !important;
    padding: 8px !important;
  }

  .client-club-mini img {
    width: 74px !important;
    height: 62px !important;
  }

  .workout-day-card {
    padding: 13px !important;
  }

  .workout-day-title {
    grid-template-columns: 40px minmax(0, 1fr) !important;
    gap: 10px !important;
  }

  .workout-day-title > span {
    width: 38px !important;
    height: 38px !important;
    border-radius: 12px !important;
  }

  .workout-day-title h3 {
    font-size: 19px !important;
  }

  .workout-day-title p {
    font-size: 12px !important;
  }

  .workout-day-title > b {
    grid-column: 1 / -1;
    width: 100% !important;
    text-align: center;
  }

  .exercise-video-grid {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .exercise-card {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    padding: 9px !important;
    border-radius: 13px !important;
  }

  .exercise-media,
  .exercise-media video,
  .exercise-player-empty {
    min-height: 172px !important;
    border-radius: 11px !important;
  }

  .exercise-card h4 {
    font-size: 16px !important;
  }

  .exercise-card p {
    font-size: 12px !important;
  }

  .exercise-card ul {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 5px !important;
  }

  .exercise-card li {
    padding: 7px 6px !important;
  }

  .set-log-form {
    padding: 9px !important;
    gap: 7px !important;
  }

  .set-log-head {
    display: none !important;
  }

  .set-log-row {
    grid-template-columns: 34px minmax(0, 1fr) minmax(74px, .72fr) 36px !important;
    gap: 6px !important;
    padding: 6px !important;
  }

  .set-log-row input:not([type="checkbox"]) {
    min-height: 34px !important;
    padding: 0 8px !important;
    font-size: 12px !important;
  }

  .set-log-row i {
    width: 28px !important;
    height: 28px !important;
  }

  .nutrition-summary article,
  .nutrition-day-card,
  .swap-section,
  .cabinet-card {
    padding: 13px !important;
  }

  .meal-card {
    grid-template-columns: 88px minmax(0, 1fr) !important;
    gap: 9px !important;
  }

  .meal-card img,
  .meal-photo-art {
    height: 78px !important;
    border-radius: 11px !important;
  }

  .swap-list {
    grid-template-columns: 1fr !important;
  }

  .mini-form,
  .calc-form {
    gap: 8px !important;
  }

  .mini-form input,
  .mini-form select,
  .mini-form textarea,
  .calc-form input,
  .calc-form select {
    min-height: 44px !important;
    border-radius: 10px !important;
    font-size: 14px !important;
  }

  .cabinet-chart {
    min-height: 180px !important;
    padding: 16px 8px 30px !important;
  }

  .client-photo-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 9px !important;
  }

  .client-photo-grid article {
    padding: 8px !important;
  }

  .client-photo-grid img {
    height: 158px !important;
    border-radius: 11px !important;
  }

  .client-ticket-list article {
    padding: 12px !important;
  }

  .client-ticket-list article > div {
    display: grid !important;
    gap: 5px !important;
  }

  .email-confirm-panel {
    grid-template-columns: 36px minmax(0, 1fr) !important;
    gap: 10px !important;
    padding: 13px !important;
  }

  .email-confirm-panel form {
    grid-column: 1 / -1;
  }

  .email-confirm-panel .ui-icon {
    width: 36px !important;
    height: 36px !important;
    padding: 8px !important;
  }

  .activity-table {
    gap: 9px !important;
  }

  .activity-row.head {
    display: none !important;
  }

  .activity-row {
    grid-template-columns: 1fr !important;
    gap: 7px !important;
    padding: 12px !important;
  }

  .activity-row:not(.head) span:not(:first-child) {
    display: grid;
    grid-template-columns: 78px minmax(0, 1fr);
    gap: 8px;
    align-items: center;
    padding-top: 7px;
    border-top: 1px solid rgba(255,255,255,.07);
    font-size: 13px;
  }

  .activity-row:not(.head) span:nth-child(2)::before {
    content: "Раньше";
  }

  .activity-row:not(.head) span:nth-child(3)::before {
    content: "Сейчас";
  }

  .activity-row:not(.head) span:nth-child(4)::before {
    content: "Итог";
  }

  .activity-row:not(.head) span:not(:first-child)::before {
    color: rgba(255,255,255,.45);
    font-size: 10px;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  .settings-grid dl {
    gap: 6px !important;
  }

  .settings-grid dd {
    overflow-wrap: anywhere;
  }

  .client-access-screen {
    min-height: 100svh;
    padding: 14px !important;
  }

  .client-access-card {
    padding: 18px !important;
    border-radius: 18px !important;
  }

  .client-access-card img {
    width: 132px !important;
    margin-bottom: 16px !important;
  }

  .client-access-card h1 {
    font-size: 30px !important;
  }

  .client-access-card div {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 380px) {
  .client-mini-kpi-grid,
  .measurement-kpis,
  .client-verification-grid,
  .client-photo-grid {
    grid-template-columns: 1fr !important;
  }

  .client-app-pro .client-sidebar nav a span b {
    font-size: 8px !important;
  }

  .set-log-row {
    grid-template-columns: 30px minmax(0, 1fr) minmax(66px, .68fr) 32px !important;
  }
}

/* Client dashboard priority order: workouts and nutrition first */
.client-app-pro .client-workspace {
  display: flex;
  flex-direction: column;
}

.client-topbar-compact {
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center;
  margin-bottom: 14px;
  padding: 16px;
}

.client-topbar-compact .client-topbar-copy h1 {
  font-size: clamp(24px, 2.4vw, 36px);
}

.client-topbar-compact .client-topbar-copy p {
  max-width: 720px;
}

.client-topbar-brief {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

.client-topbar-brief span,
.client-topbar-brief a {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 11px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 10px;
  color: rgba(255,255,255,.86);
  background: rgba(255,255,255,.055);
  text-decoration: none;
}

.client-topbar-brief small {
  color: rgba(255,255,255,.48);
  font-size: 9px;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.client-topbar-brief b {
  color: #fff;
  font-size: 12px;
}

.client-topbar-brief a {
  color: #111;
  border-color: transparent;
  background: linear-gradient(135deg, #d9dd18, #fff36a);
  font-size: 12px;
  font-weight: 950;
}

.client-overview-grid {
  order: 10;
}

.dashboard-paywall {
  order: 20;
}

.client-quick-rail {
  order: 30;
}

.client-reminders-panel {
  order: 40;
}

.client-planning-grid {
  order: 50;
}

.client-command-panel.overview-command {
  order: 60;
  margin-top: 14px;
  opacity: .94;
}

.client-command-panel.overview-command .client-focus-card {
  min-height: 150px;
}

.client-command-panel.overview-command .client-focus-card p:not(.eyebrow),
.client-command-panel.overview-command .client-focus-actions {
  display: none;
}

.client-command-panel.overview-command .client-mini-kpi-grid article {
  min-height: 92px;
}

@media (max-width: 720px) {
  .client-topbar-compact {
    grid-template-columns: 1fr !important;
    gap: 9px !important;
    margin-bottom: 9px !important;
    padding: 11px !important;
  }

  .client-topbar-brief {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
  }

  .client-topbar-brief span,
  .client-topbar-brief a {
    min-height: 38px;
    justify-content: center;
    gap: 4px;
    padding: 7px 6px;
    border-radius: 10px;
  }

  .client-topbar-brief small {
    font-size: 7px;
  }

  .client-topbar-brief b,
  .client-topbar-brief a {
    font-size: 10px;
  }

  .client-overview-grid {
    margin-top: 0;
  }

  .client-quick-rail {
    margin-top: 10px !important;
  }

  .client-command-panel.overview-command {
    margin-top: 8px;
  }

  .client-command-panel.overview-command .client-focus-card {
    min-height: 0 !important;
  }
}

/* PROFI FIT final video/player overrides */
.pf-video-player { position: relative; overflow: hidden; min-height: 220px; border: 1px solid rgba(255,255,255,.12); border-radius: 18px; background: radial-gradient(circle at 15% 10%, rgba(236,0,81,.26), transparent 32%), #070709; box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 18px 54px rgba(0,0,0,.34); }
.pf-video-player video { display: block; width: 100%; aspect-ratio: 16/9; object-fit: cover; background: #050506; }
.pf-player-play { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; gap: 12px; border: 0; color: #fff; background: linear-gradient(180deg, rgba(0,0,0,.16), rgba(0,0,0,.62)); font-weight: 950; letter-spacing: .02em; cursor: pointer; transition: opacity .2s ease; }
.pf-player-play .ui-icon { width: 52px; height: 52px; color: #e4e800; border-radius: 999px; border: 1px solid rgba(228,232,0,.35); background: rgba(0,0,0,.42); box-shadow: 0 0 36px rgba(236,0,81,.38); }
.pf-video-player.is-playing .pf-player-play { opacity: 0; pointer-events: none; }
.pf-player-bottom { position: absolute; left: 12px; right: 12px; bottom: 16px; z-index: 2; display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; color: #fff; pointer-events: none; }
.pf-player-bottom b { display: block; max-width: 360px; font-size: 14px; line-height: 1.2; }
.pf-player-bottom span { display: block; margin-top: 4px; color: rgba(255,255,255,.72); font-size: 12px; }
.pf-player-bottom button { pointer-events: auto; border: 1px solid rgba(255,255,255,.18); border-radius: 10px; padding: 8px 10px; color: #fff; background: rgba(15,15,18,.72); font-size: 11px; font-weight: 800; }
.pf-player-track { position: absolute; left: 0; right: 0; bottom: 0; z-index: 3; height: 7px; padding: 0; border: 0; background: rgba(255,255,255,.16); cursor: pointer; }
.pf-player-track span { display: block; width: 0; height: 100%; background: linear-gradient(90deg, #ef0051, #ff6b1a, #e4e800); }
.exercise-alternatives { margin: 12px 0 0; border: 1px solid rgba(228,232,0,.16); border-radius: 14px; background: rgba(228,232,0,.04); }
.exercise-alternatives summary { padding: 11px 13px; color: #e4e800; font-weight: 900; cursor: pointer; }
.exercise-alt-list { display: grid; gap: 8px; padding: 0 12px 12px; }
.exercise-alt-list span { display: grid; grid-template-columns: 24px 1fr; gap: 7px 9px; align-items: center; padding: 10px; border-radius: 12px; background: rgba(255,255,255,.055); }
.exercise-alt-list .ui-icon { grid-row: span 2; color: #e4e800; }
.exercise-alt-list b { color: #fff; font-size: 13px; }
.exercise-alt-list small { color: rgba(255,255,255,.58); font-size: 11px; }
.admin-import-panels .admin-upload-form small { display: inline-flex; width: fit-content; margin-top: 4px; padding: 7px 10px; border: 1px solid rgba(228,232,0,.18); border-radius: 999px; color: #e4e800; background: rgba(228,232,0,.07); font-weight: 800; }
@media (max-width: 720px) { .pf-video-player { min-height: 190px; border-radius: 14px; } .pf-player-bottom { left: 9px; right: 9px; bottom: 13px; } .pf-player-bottom b { max-width: 220px; font-size: 12px; } }

/* Account language settings */
.account-language-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);
  gap: 22px;
  align-items: center;
  margin: 20px 0;
  padding: 24px;
  border: 1px solid rgba(217, 221, 24, .22);
  background:
    radial-gradient(circle at 0 0, rgba(236, 0, 81, .18), transparent 34%),
    radial-gradient(circle at 100% 0, rgba(217, 221, 24, .16), transparent 34%),
    rgba(18, 18, 21, .92);
}
.language-panel-copy {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}
.language-panel-copy .ui-icon {
  flex: 0 0 46px;
  width: 46px;
  height: 46px;
  padding: 11px;
  border-radius: 14px;
  color: var(--yellow);
  background: rgba(217, 221, 24, .1);
}
.language-panel-copy h2 {
  margin: 5px 0 8px;
  font-size: clamp(24px, 2.4vw, 38px);
  line-height: 1;
}
.language-panel-copy p:last-child {
  max-width: 760px;
  margin: 0;
  color: rgba(255,255,255,.72);
  line-height: 1.5;
}
.account-language-form {
  display: grid;
  gap: 12px;
}
.account-language-form label {
  display: grid;
  gap: 7px;
  color: rgba(255,255,255,.62);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.account-language-form label span,
.account-language-form select {
  min-height: 46px;
  width: 100%;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 10px;
  background: rgba(255,255,255,.055);
  color: #fff;
  padding: 0 14px;
  font-size: 14px;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: none;
}
.account-language-form label span {
  display: flex;
  align-items: center;
}
.account-language-form select option {
  background: #111116;
  color: #fff;
}
.account-language-form button {
  min-height: 48px;
  border: 0;
  border-radius: 10px;
  color: #111;
  background: linear-gradient(135deg, #ec0051, #ff6a1a 52%, #d9dd18);
  font-weight: 950;
  cursor: pointer;
}
@media (max-width: 760px) {
  .account-language-panel {
    grid-template-columns: 1fr;
    padding: 18px;
  }
  .language-panel-copy {
    gap: 12px;
  }
  .language-panel-copy .ui-icon {
    width: 40px;
    height: 40px;
  }
}
