.mf-menu-extra{display:none}
.progress-label-short{display:none}
@media(max-width:760px){
 html,body{max-width:100%}
 body{font-size:15px}
 *,*::before,*::after{box-sizing:border-box}
 .field,.card,.client-card-body,.client-card-top>div,.program-item-header>div,.auth-form-wrap{min-width:0}
 input,select,textarea{max-width:100%;min-width:0}
 button,a,[role=button]{touch-action:manipulation}
 input[type=text],input[type=email],input[type=password],input[type=date],input[type=number],input[type=tel],select,textarea{font-size:16px!important;min-height:48px}
 textarea{min-height:96px}
 label{font-size:14px}
 .sublabel,.mk-note{font-size:13px}
 .app-layout{padding:1.5rem 1rem 5rem}
 .page-heading{font-size:26px}
 .card{padding:1.15rem 1rem}
 .field-grid{grid-template-columns:1fr}
 .chip{min-height:44px;display:inline-flex;align-items:center;font-size:14px;padding:8px 14px;max-width:100%;white-space:normal;text-align:left;line-height:1.3}
 .chip:focus-visible,.toggle:focus-visible,.auth-tab:focus-visible{outline:3px solid var(--green-dark);outline-offset:2px}
 .toggle-row{min-height:48px;align-items:center}
 .toggle{width:52px;height:30px;border-radius:15px;position:relative}
 .toggle::before{content:"";position:absolute;inset:-9px -6px}
 .toggle-knob{width:24px;height:24px;top:3px;left:3px}
 .toggle.on .toggle-knob,.toggle.purple-on .toggle-knob,.toggle.hyrox-on .toggle-knob{left:25px}
 .toggle-label{font-size:15px;line-height:1.4}
 .btn-primary,.out-btn,.btn-danger,.nav-btn,.back-btn,.modal-cancel{min-height:44px;font-size:14px}
 .out-btn,.btn-danger{padding:8px 16px}
 .back-btn{padding:0 8px 0 0;margin-bottom:1rem}
 .modal-cancel{display:inline-flex;align-items:center;padding:0 12px}
 .client-card-actions{display:grid;grid-template-columns:1fr;gap:10px}
 .client-card-actions>*{width:100%;min-height:48px;justify-content:center}
 .client-card-top{flex-wrap:wrap;gap:8px}
 .clients-grid{grid-template-columns:minmax(0,1fr)}
 .client-card-body{padding:18px 16px}
 .client-name,.client-profile-name,.program-item-title,.greeting-line{overflow-wrap:anywhere}
 .client-goal-badge{white-space:normal;max-width:100%;font-size:13px}
 .client-meta,.client-stat,.program-item-date{font-size:14px}
 .client-stats{flex-wrap:wrap;gap:8px 16px}
 .dashboard-greeting{margin-bottom:24px}
 .dashboard-toolbar{flex-wrap:wrap}
 .empty-state{padding:32px 16px}
 .client-profile-header{flex-direction:column}
 .client-profile-actions{width:100%;display:grid;grid-template-columns:1fr;gap:10px}
 .client-profile-actions>*{width:100%;min-height:48px}
 .generate-for-banner{align-items:flex-start;flex-wrap:wrap;gap:8px;overflow-wrap:anywhere}
 #section-generate{position:sticky;bottom:0;z-index:60;padding:8px 0 calc(8px + env(safe-area-inset-bottom));background:var(--gray-50)}
 #generate-btn{min-height:56px;font-size:17px;margin-top:0;animation:none!important}
 #generate-btn[hidden]{display:none}
 #generation-loading{padding:24px 16px}
 #generation-loading p{font-size:16px}
 .output-header{flex-direction:column}
 .output-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}
 .output-actions>*{min-height:48px}
 .output-title{font-size:20px}
 #output-section{scroll-margin-top:160px}
 #program-output,.program-item-body{padding:18px 16px;font-size:16px;line-height:1.75;overflow-wrap:anywhere;min-width:0}
 #program-output h1,.program-item-body h1{font-size:24px}
 #program-output h2,.program-item-body h2{font-size:21px}
 #program-output h3,.program-item-body h3{font-size:18px}
 #program-output table,.program-item-body table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;width:100%;font-size:15px;overscroll-behavior-x:contain}
 #program-output th,#program-output td,.program-item-body th,.program-item-body td{min-width:104px;padding:10px;overflow-wrap:normal}
 #program-output pre,.program-item-body pre{max-width:100%;overflow-x:auto}
 .program-item-header{padding:16px;min-height:60px;gap:12px}
 .program-item-title{font-size:16px}
 .program-item-chevron{flex-shrink:0}
 .program-item-actions{display:grid;grid-template-columns:1fr;gap:10px}
 .program-item-actions>*{width:100%;min-height:48px}
 .watch-link{font-size:13px;display:inline-block;min-height:44px;line-height:44px}
 .progress-bar{padding:0 8px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible;align-items:stretch}
 .progress-step{padding:8px 3px;font-size:12px;white-space:normal;min-width:0;flex-direction:column;justify-content:flex-start;gap:4px;text-align:center;line-height:1.3;overflow-wrap:anywhere}
 .progress-arrow{display:none}
 .progress-label-full{display:none}
 .progress-label-short{display:inline}
 .modal-overlay{padding:.5rem;align-items:flex-end}
 .modal{padding:1.5rem 1.15rem;max-height:calc(100dvh - 1rem);overflow-y:auto}
 .modal.modal-large{max-height:calc(100dvh - 1rem)}
 .modal-footer{flex-direction:column-reverse}
 .modal-footer>*{width:100%;min-height:48px}
 .modal-btn{min-height:48px}
 .modal-price{font-size:32px}
 .auth-tab{min-height:44px;display:flex;align-items:center;justify-content:center;font-size:15px}
 .auth-submit{min-height:52px;font-size:16px}
 .auth-white-panel{padding:1.75rem 1.1rem 3rem}
 .auth-form-headline{font-size:24px}
 .auth-feature-item{font-size:14px}
 .auth-form a,.auth-form button:not(.auth-submit){min-height:44px}
 .auth-form-sub,.greeting-sub,.page-sub,.info-banner{font-size:15px;line-height:1.65}
 .auth-error{overflow-wrap:anywhere}
 /* nav: account actions move into menu */
 #trainer-name-nav,#portal-btn,#logout-btn,#usage-indicator,#nav-login-btn{display:none!important}
 nav{padding:0 12px;position:sticky;height:64px}
 .nav-right{gap:8px;min-width:0}
 .nav-links{display:none}
 .nav-links.nav-open{display:grid;position:absolute;left:12px;right:12px;top:100%;gap:0}
 .nav-links.nav-open a{display:flex!important;min-height:48px}
 .marketing-menu{display:inline-flex;align-items:center;justify-content:center;min-width:56px}
 #nav-signup-btn{font-size:14px!important;max-width:none;padding:8px 12px!important}
 #usage-indicator{font-size:12px;padding:4px 8px;white-space:nowrap}
 .nav-links.nav-open{max-height:calc(100dvh - 72px);overflow-y:auto}
 .nav-links.nav-open .mf-menu-extra{display:flex!important;width:100%;text-align:left;border:0;border-top:1px solid var(--gray-200);border-radius:0;background:none;font-size:14px;padding:8px 12px;color:var(--gray-800);font-family:inherit;font-weight:500;cursor:pointer;min-height:44px;align-items:center}
 .nav-links.nav-open .mf-menu-who{color:var(--gray-500);cursor:default}
 .mk-table-scroll{-webkit-overflow-scrolling:touch}
 .mk-table{min-width:520px;font-size:14px}
 .mk-wrap h2{font-size:21px}
 .mk-faq summary{font-size:16px}
 .lp-footer a,.mk-links a{min-height:44px}
 .lp-hero-cta,.lp-pricing-cta{min-height:52px;width:100%;max-width:340px;font-size:16px}
 .lp-hero-sub,.lp-feature-body,.lp-pricing-sub{font-size:16px;line-height:1.7}
 .lp-hero-note,.lp-pricing-small,.lp-pricing-per,.lp-footer-copy,.legal-updated{font-size:14px;line-height:1.6}
 .lp-trust-inner{gap:12px 20px;flex-wrap:wrap}
 .lp-trust-item{font-size:14px}
 .mk-wrap{padding:28px 16px}
 .mk-wrap p,.mk-wrap li,.mk-faq p,.mk-lead{font-size:16px;line-height:1.7}
 .mk-links{gap:8px 16px}
 .mk-links a{font-size:14px}
 .legal-content{padding:28px 16px 48px;overflow-wrap:anywhere}
 .legal-content p,.legal-content li{font-size:16px;line-height:1.75}
 .legal-back{min-height:44px;font-size:15px}
 .global-footer{padding:20px 16px;font-size:14px;line-height:2}
 .global-footer a{display:inline-flex;align-items:center;min-height:44px}
 img,video,iframe{max-width:100%}
 #soro-blog,.blog-view{overflow-wrap:anywhere}
 #soro-blog table,.blog-view table{display:block;max-width:100%;overflow-x:auto}
 #soro-blog pre{overflow-x:auto}
 #soro-blog .soro-blog-card{min-width:0;padding:16px;gap:12px}
 #soro-blog .soro-blog-card-content{min-width:0}
 #soro-blog .soro-blog-card-excerpt,#soro-blog .soro-blog-article-content{font-size:16px;line-height:1.75}
 #soro-blog .soro-blog-back{min-height:44px}
}
@media(max-width:400px){
 .page-heading{font-size:24px}
 .output-actions{grid-template-columns:1fr}
 nav .logo{font-size:19px}
}
