/* ProTrenerov UX refactor — 2026-09-29. Loaded last; no page-specific logic. */
html,body{max-width:100%;overflow-x:hidden}
*,*::before,*::after{box-sizing:border-box}
img,svg,video,canvas{max-width:100%}
img{display:block}
button,input,select,textarea{max-width:100%}
input,select,textarea{min-width:0}
.field-v3,.field-v4,.progress-field19,.promo-field18,.settings-v3>label,.workspace-form18 label{min-width:0}
.field-v3 input,.field-v3 select,.field-v3 textarea,.field-v4 input,.field-v4 select,.field-v4 textarea,.progress-field19 input,.progress-field19 select,.progress-field19 textarea,.promo-field18 input,.promo-field18 select,.promo-field18 textarea{width:100%;min-width:0}
.button,.pill-button{white-space:normal;text-align:center}
.mobile-dock186{max-width:calc(100vw - 16px)!important}
.mobile-dock186 a{min-width:0!important;overflow:hidden}
.mobile-dock186 small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Active lime controls must retain dark text in both themes. */
html[data-theme="dark"] .info-nav a.is-active,
html[data-theme="dark"] .info-nav a[aria-current="page"],
html[data-theme="dark"] .pro-commercial-nav18 a.active,
html[data-theme="dark"] .account-role-button185.is-active{color:#191c18!important}

/* Trainer photos: remove the inline-image baseline strip and keep the heart inside the image. */
.trainer-photo-v4 img,.coach-photo-v4 img,.favorite-v3-card img,.profile-photo-v4 img{display:block}
.trainer-photo-v4,.coach-photo-v4{overflow:hidden}
.trainer-photo-wrap-v41{min-width:0;position:relative}
.heart-v4,.heart-v3{z-index:2;touch-action:manipulation}

/* Mobile catalog: one card, one readable hierarchy, no desktop booking rail. */
@media(max-width:600px){
  .catalog-head-v4{padding-top:18px}
  .catalog-title-row{display:grid;gap:16px}
  .catalog-title-row>div{min-width:0}
  .catalog-search-inline{width:100%;min-width:0}
  .catalog-search-inline input{min-width:0}
  .category-scroll{max-width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px}
  .category-scroll a{flex:0 0 auto}
  .catalog-toolbar{display:grid;grid-template-columns:1fr;min-width:0}
  .catalog-city-summary,.sort-control,.mobile-filter-button{width:100%;min-width:0}
  .sort-control label{width:100%;min-width:0}
  .sort-control select{width:100%;max-width:none}
  .trainer-results-v4,.trainer-row-v4,.trainer-info-v4,.trainer-book-v4{min-width:0;max-width:100%}
  .trainer-row-v4{display:grid;grid-template-columns:78px minmax(0,1fr);gap:12px;padding:12px;overflow:hidden}
  .trainer-photo-v4{width:78px;height:104px}
  .trainer-info-v4 p,.trainer-specialty span,.trainer-proof{overflow-wrap:anywhere}
  .trainer-title-v4 a{font-size:18px;overflow-wrap:anywhere}
  .trainer-book-v4{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;border-top:1px solid var(--line);padding-top:10px}
  .trainer-book-v4 .row-slots{grid-column:1/-1;min-width:0;overflow-x:auto}
  .trainer-book-v4 .button{min-width:0;width:100%}
  .trainer-book-v4>strong{grid-column:1/-1}
  .trainer-book-v4>small{display:none}
  .trainer-photo-wrap-v41>.heart-v4{width:32px;height:32px;right:3px;top:3px}

  /* Internal navigation becomes a compact horizontal scroller rather than a giant row. */
  .info-nav,.pro-commercial-nav18,.workspace-primary-nav18,.workspace-links18{max-width:100%;overflow-x:auto;flex-wrap:nowrap!important;scrollbar-width:none}
  .info-nav::-webkit-scrollbar,.pro-commercial-nav18::-webkit-scrollbar,.workspace-primary-nav18::-webkit-scrollbar,.workspace-links18::-webkit-scrollbar{display:none}
  .info-nav a,.pro-commercial-nav18 a,.workspace-primary-nav18 a,.workspace-links18 a{flex:0 0 auto!important;white-space:nowrap}

  /* Generic grids used by legacy workspace pages. */
  .workspace-groups18,.workspace-sections18,.workspace-forms18,.workspace-records18,.workspace-table18{min-width:0;max-width:100%}
  .workspace-table18{overflow-x:auto}
  .workspace-table18 table{min-width:0;width:100%}
  .workspace-form18,.workspace-form18 .form-grid,.workspace-form18 .form-fields{min-width:0;max-width:100%}

  /* Progress */
  .progress-onboard19,.progress-main19,.progress-hero19,.progress-panel19,.progress-split19,.progress-column19{min-width:0;max-width:100%}
  .progress-onboard-shell19,.progress-hero-inner19{display:block}
  .progress-onboard-copy19{margin-bottom:18px}
  .progress-onboard19 h1,.progress-hero19 h1{font-size:40px;line-height:.98;overflow-wrap:anywhere}
  .progress-hero-status19{min-width:0;margin-top:16px}
  .progress-goal-grid19,.progress-form-grid19{grid-template-columns:1fr!important}
  .progress-form-grid19 .full{grid-column:auto!important}
  .progress-step19{margin-top:20px}
  .progress-advanced19{border:1px solid var(--line);border-radius:16px;padding:12px;background:var(--paper)}
  .progress-advanced19 summary{display:grid;grid-template-columns:36px 1fr;gap:3px 10px;align-items:center;cursor:pointer;list-style:none}
  .progress-advanced19 summary::-webkit-details-marker{display:none}
  .progress-advanced19 summary span{grid-row:1/3;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--paper-2);font-weight:900}
  .progress-advanced19 summary small{grid-column:2;color:var(--muted)}
  .progress-advanced19>.progress-form-grid19{margin-top:14px}
  .progress-split19{grid-template-columns:1fr!important}
  .progress-photo-form19{grid-template-columns:1fr!important}
  .progress-photo-form19 .progress-photo-picker19,.progress-photo-form19 .button{width:100%;grid-column:auto!important}
  .progress-photo-preview19{grid-template-columns:72px minmax(0,1fr)!important;min-width:0}
  .progress-photo-preview19 img{width:72px;height:88px}
  .progress-photo-preview-copy19{min-width:0}
  .progress-photo-preview-copy19 b,.progress-photo-preview-copy19 small{overflow-wrap:anywhere}
  .progress-table19{overflow-x:auto}
  .progress-table19 table{min-width:560px}
  .progress-tabs19{overflow-x:auto;flex-wrap:nowrap!important;scrollbar-width:none}
  .progress-tabs19 a{flex:0 0 auto;white-space:nowrap}

  /* Promo */
  .promo-admin18,.promo-hub18,.promo-link-page18{min-width:0}
  .promo-admin-form18,.promo-row18,.promo-extra-grid18,.promo-editor-grid18,.promo-limits-grid18,.promo-mode18{grid-template-columns:1fr!important}
  .promo-save18{grid-template-columns:1fr!important}
  .promo-save18 .button{width:100%;min-width:0}
  .promo-admin-table18{overflow-x:auto}
  .promo-admin-table18 table{min-width:760px}
  .promo-check-form18{grid-template-columns:1fr!important}
  .promo-check-form18 .button{width:100%}

  /* Staff / owner pages */
  .staff-refactor-shell,.club-manage-shell,.admin-org-shell{min-width:0}
  .staff-refactor-grid,.club-manage-grid,.admin-org-grid{grid-template-columns:1fr!important}
  .staff-refactor-actions,.club-manage-actions{grid-template-columns:1fr 1fr!important}
  .staff-refactor-actions a,.club-manage-actions a{min-width:0}
}

@media(max-width:380px){
  .shell{width:calc(100% - 24px)!important}
  .wordmark-copy strong{font-size:18px!important}
  .trainer-row-v4{grid-template-columns:70px minmax(0,1fr);padding:10px}
  .trainer-photo-v4{width:70px;height:94px}
  .trainer-title-v4 a{font-size:17px}
  .mobile-dock186{left:4px!important;right:4px!important}
}

/* Promo links and staff screens use the same Volt paper system. */
.promo-link-page18{padding:44px 0 90px}
.promo-link-card18{max-width:720px;margin:0 auto;padding:36px;border:1px solid var(--line);border-radius:24px;background:var(--paper);box-shadow:var(--shadow-sm)}
.promo-link-card18 h1{font-size:clamp(34px,5vw,58px);margin:10px 0 12px;line-height:1}
.promo-link-card18>p{color:var(--muted);line-height:1.65}
.promo-link-offer18{display:grid;gap:5px;margin:24px 0;padding:22px;border-radius:18px;background:var(--volt);color:#191c18}
.promo-link-offer18 strong{font-size:32px;letter-spacing:.03em}
.promo-link-actions18{display:flex;gap:10px;flex-wrap:wrap}
.promo-link-note{font-size:12px!important;color:var(--muted)}
.promo-link-expired18{display:grid;gap:5px;padding:18px;margin:24px 0;border:1px solid var(--line);border-radius:16px;background:var(--paper-2)}

.staff-refactor,.club-manage-refactor,.admin-org-refactor{padding:28px 0 90px}
.staff-refactor-head,.club-manage-head,.admin-org-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:22px}
.staff-refactor-head h1,.club-manage-head h1,.admin-org-head h1{font-size:clamp(36px,5vw,60px);margin:8px 0;line-height:.98}
.staff-refactor-head p,.club-manage-head p,.admin-org-head p{margin:0;color:var(--muted);max-width:760px;line-height:1.6}
.staff-refactor-grid,.club-manage-grid,.admin-org-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.staff-refactor-section,.club-manage-section,.admin-org-section{padding:20px;border:1px solid var(--line);border-radius:20px;background:var(--paper);box-shadow:var(--shadow-sm)}
.staff-refactor-section h2,.club-manage-section h2,.admin-org-section h2{margin:0 0 6px;font-size:20px}
.staff-refactor-section>p,.club-manage-section>p,.admin-org-section>p{margin:0 0 14px;color:var(--muted);font-size:13px}
.staff-refactor-actions,.club-manage-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.staff-refactor-actions a,.club-manage-actions a{display:flex;align-items:center;justify-content:space-between;min-width:0;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:var(--paper-2);font-weight:800}
.staff-refactor-actions a span,.club-manage-actions a span{display:grid;gap:4px;min-width:0}.staff-refactor-actions a b,.club-manage-actions a b{display:block;line-height:1.25}.staff-refactor-actions a small,.club-manage-actions a small{display:block;margin:0;color:var(--muted);font-size:12px;line-height:1.45;font-weight:600}.staff-refactor-actions a>strong,.club-manage-actions a>strong{flex:0 0 auto;margin-left:12px;font-size:22px;line-height:1}.staff-refactor-actions a:hover,.club-manage-actions a:hover{border-color:var(--volt-ink);background:var(--paper)}
.admin-org-table{overflow-x:auto}.admin-org-table table{width:100%;border-collapse:collapse}.admin-org-table th,.admin-org-table td{padding:11px 9px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.admin-org-table th{font-size:11px;color:var(--muted)}
.admin-org-decision{display:flex;gap:7px;flex-wrap:wrap}.admin-org-decision form{margin:0}.admin-org-decision button{min-height:38px;padding:0 12px;border:1px solid var(--line-strong);border-radius:10px;background:var(--paper-2);color:var(--ink);font-weight:800}.admin-org-decision .publish{background:var(--volt);color:#191c18;border-color:var(--volt)}
.club-status18{display:inline-flex;padding:6px 9px;border-radius:999px;background:var(--paper-2);font-size:11px;font-weight:900}.club-status18.pending{color:#9b6806}.club-status18.published{color:var(--green)}.club-status18.rejected{color:#c44d4d}
.club-manage-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.club-manage-card{padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--paper-2)}.club-manage-card b{display:block}.club-manage-card small{display:block;color:var(--muted);margin-top:4px}.club-manage-section form{display:grid;gap:10px}.club-manage-section .field-v3{min-width:0}
html[data-theme="dark"] .account-limit-card-v1{background:linear-gradient(180deg,rgba(32,24,24,.96),rgba(22,19,19,.96));border-color:rgba(232,71,71,.34);color:var(--ink)}
html[data-theme="dark"] .account-limit-card-v1 p{color:var(--muted)}
html[data-theme="dark"] .account-limit-badge-v1{background:#e84747;color:#fff}
html[data-theme="dark"] .profile-completion18-card{background:linear-gradient(135deg,rgba(36,48,24,.96),rgba(24,31,21,.96));border-color:rgba(190,240,35,.34);color:var(--ink)}
html[data-theme="dark"] .profile-completion18-card p{color:var(--muted)}
html[data-theme="dark"] .profile-completion18-card h2{color:var(--ink)}
@media(max-width:600px){
  .workspace-settings18{grid-template-columns:1fr!important;min-width:0}
  .workspace-settings18 .full-v3{grid-column:auto!important}
  .workspace-form18{min-width:0;overflow:hidden}
  .workspace-link-list18,.workspace-records18,.workspace-forms18{min-width:0}
  .workspace-record18{min-width:0;grid-template-columns:minmax(0,1fr) auto!important}
  .workspace-record-main18,.workspace-record-title18,.workspace-record-title18 a,.workspace-record18 p{min-width:0;overflow-wrap:anywhere}
  .workspace-record-actions18{grid-column:1/-1;display:grid;grid-template-columns:1fr;min-width:0}
  .workspace-record-actions18 .button{width:100%}
  .account-client-intro18{margin:8px 0 0;color:var(--muted);max-width:620px;line-height:1.5}
  .client-dashboard-nav18{display:flex;gap:7px;overflow-x:auto;max-width:100%;padding-bottom:3px;scrollbar-width:none}
  .client-dashboard-nav18::-webkit-scrollbar{display:none}
  .client-dashboard-nav18 a{flex:0 0 auto;white-space:nowrap;padding:10px 13px;border:1px solid var(--line);border-radius:999px;background:var(--paper);font-size:12px;font-weight:900}
  .client-dashboard-nav18 a.active{background:var(--volt);color:#191c18;border-color:var(--volt)}
  .client-section18{padding:22px 0}
  .client-section18 .dash-section-head{gap:12px;align-items:flex-start}
  .client-section18 .dash-section-head .button{flex:0 0 auto}
}
.club-plan18{padding:28px 0 90px}.club-plan-head18{max-width:820px;margin:18px 0 22px}.club-plan-head18 h1{font-size:clamp(38px,5vw,64px);line-height:.98;margin:8px 0 12px}.club-plan-head18 p{color:var(--muted);line-height:1.65}.club-plan-card18{max-width:900px;padding:28px;border:1px solid var(--line);border-radius:24px;background:var(--paper);box-shadow:var(--shadow-sm);display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:28px}.club-plan-card18 h2{font-size:48px;margin:10px 0 0}.club-plan-card18>div>span{font-size:13px;text-transform:uppercase;letter-spacing:.08em;font-weight:900}.club-plan-card18>div>small{color:var(--muted)}.club-plan-card18 ul{margin:0;padding-left:20px;display:grid;gap:10px;line-height:1.5}.club-plan-card18 p{grid-column:1/-1;color:var(--muted);margin:0}.club-plan-card18 form{grid-column:1/-1}.club-plan-active18{display:flex;gap:12px;align-items:center;padding:14px 18px;margin:0 0 14px;border:1px solid rgba(17,121,95,.25);border-radius:16px;background:rgba(17,121,95,.08)}.club-plan-active18 span{color:var(--muted)}
@media(max-width:600px){.club-plan-card18{grid-template-columns:1fr;padding:20px;gap:18px}.club-plan-card18 h2{font-size:42px}.club-plan-card18 p,.club-plan-card18 form{grid-column:auto}.club-plan-active18{display:grid}.club-plan-card18 .button{width:100%}}
/* iOS / reduced-motion fallback: the cinematic layer always has a real visual fallback. */
.site-cinematic-bg18{background:#08110f url('/static/img/hero-gym.jpg') center/cover no-repeat!important}
html[data-theme="light"] .site-cinematic-bg18{background-color:#edf1eb!important}
html[data-theme="dark"] .site-cinematic-bg18{background-color:#08110f!important}
@media(prefers-reduced-motion:reduce){.site-cinematic-bg18{background-image:url('/static/img/hero-gym.jpg')!important}}
.booking-self-note18{display:grid;gap:3px;margin:0 0 14px;padding:13px 15px;border:1px solid var(--line);border-radius:14px;background:var(--paper-2)}.booking-self-note18 b{font-size:13px}.booking-self-note18 span{font-size:12px;color:var(--muted)}
html[data-theme="dark"] .booking-self-note18{background:#101b18;border-color:var(--line)}
.home-empty-catalog18{grid-column:1/-1;padding:28px}.home-empty-catalog18 h3{font-size:28px;margin:8px 0}.home-empty-catalog18 p{max-width:680px;color:var(--muted);line-height:1.6}.home-empty-catalog18>div{display:flex;gap:9px;flex-wrap:wrap}.home-empty-catalog18 .button{min-width:160px}
@media(max-width:600px){.home-empty-catalog18{padding:20px}.home-empty-catalog18 h3{font-size:23px}.home-empty-catalog18>div{display:grid}.home-empty-catalog18 .button{width:100%}}
