.gym-today{padding:28px;margin-bottom:20px;background:#1c2316;border:1px solid #526638}.gym-today-meta{display:flex;gap:12px;flex-wrap:wrap;justify-content:space-between;align-items:center}.gym-today time{color:#c2cab7;font-size:.9rem}.gym-today h1{font-size:clamp(26px,4vw,38px);line-height:1.2;margin:20px 0 14px;overflow-wrap:anywhere}.gym-today p{font-size:16px;line-height:1.6;margin:16px 0;color:#c2cab7}.gym-session-open{min-height:48px}.gym-calendar{margin-bottom:24px}.gym-calendar>summary{cursor:pointer;min-height:56px;padding:18px;font-size:16px;font-weight:700;list-style-position:inside}.gym-calendar>summary small{display:block;font-weight:400;font-size:14px;color:#bec5b5;margin-top:6px}.gym-calendar .client-calendar{margin:0;border:0}.gym-exercises{display:grid;gap:16px;margin:22px 0}.gym-exercise{padding:20px;background:#10150d;border:1px solid #46503b;border-radius:8px}.gym-exercise-heading{display:flex;gap:12px;align-items:baseline}.gym-exercise-heading>span{font-size:13px;color:#d8f36a}.gym-exercise h3{font-size:18px;line-height:1.4;margin:0}.gym-instructions{margin-top:14px}.gym-instructions p{font-size:17px;line-height:1.65;margin:10px 0;white-space:pre-wrap;overflow-wrap:anywhere;color:#edf0e5}.gym-connection{padding:14px;margin:12px 0;background:#382b16;border:1px solid #9e8147;color:#f4deb6;font-size:15px;line-height:1.5}.gym-connection[hidden]{display:none}.gym-calendar summary:focus-visible{outline:2px solid #d8f36a;outline-offset:2px}.gym-session-modal .modal-actions .btn{min-height:48px}.gym-session-modal .field,.gym-session-modal input,.gym-session-modal textarea,.gym-session-modal select{font-size:16px}.gym-session-modal .field select{min-height:48px}
@media(max-width:700px){.gym-client aside{padding:12px 16px;gap:0}.gym-client aside .brand img{max-width:122px}.gym-client aside>div:has(>nav){height:0}.gym-client aside nav{position:fixed;bottom:0;left:0;right:0;z-index:40;background:#151a12;border-top:1px solid #46503b;padding:8px 8px calc(8px + env(safe-area-inset-bottom));margin:0;display:flex;flex-wrap:nowrap;gap:4px}.gym-client aside .nav-btn{min-height:48px;font-size:13px;line-height:1.3;padding:9px 6px}.gym-client .topbar{min-height:60px;padding:10px 16px}.gym-client main{padding:18px 16px calc(100px + env(safe-area-inset-bottom))}.gym-today{padding:20px}.gym-today h1{font-size:28px}.gym-today-meta{display:grid;gap:8px}.gym-session-open{width:100%;font-size:16px}.gym-calendar .calendar-controls{width:100%;justify-content:space-between}.gym-calendar .calendar-controls .btn{min-width:48px;min-height:48px}.gym-calendar .calendar-event{min-height:100px}.gym-calendar .calendar-event strong{font-size:17px}.gym-calendar .calendar-event small{font-size:14px}.gym-client .client-month-card{margin-top:24px}.gym-session-modal{width:100%!important;max-width:100%!important;height:100dvh;max-height:100dvh!important;margin:0!important;padding:20px 18px calc(24px + env(safe-area-inset-bottom))!important;border-radius:0!important;overscroll-behavior:contain}.modal-backdrop:has(.gym-session-modal){padding:0;align-items:stretch}.gym-session-modal .modal-head{position:sticky;top:-20px;background:#191d16;z-index:2;padding:14px 0;margin-top:-6px;align-items:flex-start}.gym-session-modal .modal-head h2{font-size:24px;line-height:1.3;overflow-wrap:anywhere}.gym-session-modal .modal-head button{min-width:48px;min-height:48px;flex-shrink:0}.gym-session-modal .modal-actions{position:sticky;bottom:calc(-24px - env(safe-area-inset-bottom));background:#191d16;border-top:1px solid #46503b;padding:12px 0 calc(12px + env(safe-area-inset-bottom));margin-bottom:-24px;z-index:2}.gym-session-modal .modal-actions .btn{font-size:15px}.gym-session-modal .session-feedback-intro{font-size:16px;line-height:1.6}.gym-session-modal .session-mode-toggle{min-height:48px;font-size:15px}.gym-exercise{padding:16px}}
@media(prefers-reduced-motion:reduce){.gym-client *,.gym-session-modal *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
html:has(.gym-session-modal),body:has(.gym-session-modal){overflow:hidden}
/* Compact controls; preserve exercise typography and device safe areas. */
@media(max-width:700px){
 .modal-backdrop:has(.gym-session-modal){height:100dvh;overflow:hidden;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)!important;box-sizing:border-box}
 .gym-session-modal{height:100%!important;max-height:100%!important;padding:16px 18px 0!important;box-sizing:border-box}
 .gym-session-modal .modal-head{top:-16px;margin-top:0;padding:12px 0;gap:12px}
 .gym-session-modal .modal-head h2{margin:0;min-width:0}
 .gym-session-modal .modal-head button{width:44px;min-width:44px;height:44px;min-height:44px;padding:0;line-height:1}
 .gym-session-modal .modal-actions{bottom:0;margin:16px 0 0;padding:8px 0;gap:8px;display:flex;align-items:center;flex-wrap:wrap}
 .gym-session-modal .modal-actions .btn{min-height:44px;padding:10px 12px;font-size:14px;line-height:1.3;flex:1 1 110px;width:auto;white-space:normal}
 .gym-session-modal .modal-actions .btn.outline{flex:0 1 auto}
}
