/* v0.5.6: reflow content instead of masking horizontal overflow. */
.main-shell,main,#screen,.profile-content,.card,.field{min-width:0}
@media(max-width:900px){
 .main-shell{margin-left:0;width:100%;max-width:100%}
 main,#screen,.profile-content{width:100%;max-width:100%}
 main{padding:20px 14px}
 .app :where(p,h1,h2,h3,h4,b,strong,small,a,span),dialog :where(p,h1,h2,h3,h4,b,strong,small,a,span){overflow-wrap:anywhere}
 .main-shell>header{gap:8px;min-height:64px;height:auto;padding:12px 14px}
 .main-shell>header .breadcrumb{flex:1;min-width:0;margin:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
 .header-right{flex-shrink:0;gap:6px}.header-right .button{padding:8px;min-height:40px}
 .mobile-menu{display:flex;flex-shrink:0;min-height:44px;min-width:36px}
 .sidebar{transform:translateX(-100%);width:min(280px,calc(100vw - 64px));height:100dvh;max-height:100dvh;padding-bottom:max(16px,env(safe-area-inset-bottom));overflow-y:auto}
 .menu-open .sidebar{transform:translateX(0);box-shadow:0 0 0 100vmax #16251d70}
 .menu-open .mobile-menu{position:fixed;z-index:40;background:white;border-radius:6px;left:auto;right:8px;top:12px}
 .sidebar nav{flex:1 1 auto;min-height:90px}.sidebar-bottom{padding-top:14px}
 .page-top{flex-direction:column;align-items:stretch;gap:14px}
 .page-top>.actions{flex-direction:row;align-items:center;justify-content:flex-start;flex-wrap:wrap}
 .page-top>div,.actions>*,.toolbar>*,.card-head>*,.line-item>*,.profile-identity>div,.session-info{min-width:0;max-width:100%}
 .actions,.card-foot,.toolbar,.modal-actions,.card-head,.section-top{flex-wrap:wrap}
 .button,.badge,.session-pill{white-space:normal;overflow-wrap:anywhere;text-align:center}
 .button{min-height:44px;max-width:100%}.button.small{min-height:40px}
 .toolbar{gap:12px;align-items:stretch}.toolbar>.actions{width:100%}
 .toolbar .field,.clients-toolbar>.field{width:100%;min-width:0;flex:auto}
 .search,.search input{width:100%}.clients-toolbar .subtle{padding:0}
 input,select,textarea{min-width:0;max-width:100%;width:100%;font-size:16px}
 input[type=checkbox],input[type=radio]{width:20px;flex-shrink:0}
 .stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stat{min-width:0;padding:14px}
 .stat-value{font-size:25px;overflow-wrap:anywhere}.stat-top{gap:6px}
 .dashboard-grid,.lower-grid,.cards-grid,.profile-overview-grid,.workout-settings-grid,.exercise-filters,.exercise-media,.form-grid,.detail-grid{grid-template-columns:minmax(0,1fr)}
 .stack{display:flex;flex-direction:column;min-width:0}.card-head{padding:16px}.empty{padding:24px 16px}
 .profile-hero{padding:18px;gap:18px}.profile-identity{width:100%;gap:12px}.profile-identity h1{font-size:24px}
 .profile-identity>.avatar{width:42px;height:42px;font-size:16px}
 .profile-hero-actions,.profile-hero-actions.compact-action-group{width:100%;max-width:100%;justify-content:flex-start;flex:initial}
 .profile-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;gap:4px;padding:6px;border:1px solid var(--line);border-radius:8px}
 .profile-tab{white-space:normal;text-align:center;padding:12px 8px;min-width:0;min-height:44px;border-radius:5px;border-bottom:0}
 .profile-tab.active{background:#e5f5ef;color:#08756e}
 .profile-card-body{padding:0 16px 18px}.profile-checkin{padding:18px}
 /* Turn every data table into labeled, vertically stacked records. */
 .table-wrap{overflow:visible;min-width:0;max-width:100%}
 table.responsive-table{display:block;width:100%;min-width:0!important;max-width:100%;text-align:left}
 .responsive-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .responsive-table tbody,.responsive-table tfoot{display:block;width:100%}
 .responsive-table tbody tr{display:block;padding:16px;border-bottom:1px solid var(--line)}
 .responsive-table tbody tr:last-child{border-bottom:0}
 .responsive-table tbody td,.responsive-table tbody th{display:block;white-space:normal;width:100%;min-width:0;border:0;padding:8px 0;font-size:15px;overflow-wrap:anywhere;background:transparent}
 .responsive-table tbody td::before{content:attr(data-label);display:block;font-size:12px;font-weight:600;color:#66777e;margin-bottom:5px;letter-spacing:.2px}
 .responsive-table tbody td[data-label=""]::before{display:none}
 .responsive-table tbody td:first-child{padding-top:0}
 .client-name{align-items:flex-start;gap:10px}.client-name>div{min-width:0}
 .client-package-summary,.client-next-session{min-width:0;max-width:100%;width:100%}
 .client-next-session{min-height:44px}.client-package-summary small{white-space:normal}
 .responsive-table td.compact-action-group{display:flex;flex-wrap:wrap;gap:8px}
 .responsive-table td.compact-action-group::before{flex-basis:100%}
 /* Two short rows for view/date controls. */
 .schedule-toolbar>.calendar-controls{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));width:100%;gap:8px}
 .calendar-controls>[data-action=calendar-mode]{grid-column:span 2}
 .calendar-controls>[data-action=calendar-shift]{grid-column:span 1;padding:8px 0}
 .calendar-controls>#schedule-date{grid-column:span 4;width:100%;min-width:0;max-width:100%;padding:8px;font-size:16px;box-sizing:border-box}
 .schedule-toolbar>[data-action]{width:100%}
 .calendar-grid.week,.calendar-grid.month,.calendar-grid.day{grid-template-columns:minmax(0,1fr)}
 .calendar-placeholder{display:none}.calendar-day{min-width:0;min-height:100px}
 .calendar-grid.month .calendar-day{min-height:100px}
 .calendar-event{min-width:0;max-width:100%}.calendar-session-pills{flex-wrap:wrap}
 .calendar-session-title{-webkit-line-clamp:unset;display:block;overflow:visible}
 .session-row{flex-wrap:wrap;gap:10px;padding:16px}.session-row .session-info{flex:1 1 150px}
 .session-row .time{min-width:0}.session-line{display:none}
 .session-participant{padding:14px;align-items:stretch}.session-participant-person{min-width:0}
 .session-detail-actions.compact-action-group .button{flex:1 1 auto}
 .session-workout,.session-training-block{min-width:0;padding:14px}
 .session-primary-facts .pill-fact{max-width:100%}
 .inbox{display:flex;flex-direction:column;min-width:0}
 .conversation-list{display:flex;flex-direction:column;overflow:visible;max-width:100%}
 .conversation{min-width:0;width:100%;padding:14px}.conversation>div{min-width:0}
 .chat,.chat-body{min-width:0}.chat-body{padding:16px}.bubble{max-width:100%;overflow-wrap:anywhere}
 .chat-form{flex-wrap:wrap;padding:14px}.chat-form input{flex:1 1 170px}
 dialog,.wide-dialog{width:calc(100% - 20px);max-width:calc(100% - 20px);max-height:calc(100dvh - 24px);padding:18px;margin:auto;overflow-y:auto}
 .modal-heading{gap:12px;align-items:flex-start}.modal-heading h2{min-width:0;overflow-wrap:anywhere}.modal-heading .icon-btn{flex-shrink:0;min-width:36px;min-height:36px}
 .form-grid{gap:14px}.field.full{grid-column:1/-1}
 .builder-section{min-width:0;padding:12px}.builder-exercise{grid-template-columns:repeat(2,minmax(0,1fr))}
 .builder-exercise .name-field,.builder-exercise .video-field{grid-column:1/-1}
 .builder-exercise input,.exercise-row input{width:100%;min-width:0}
 .exercise-row{flex-wrap:wrap}.exercise-row>div{min-width:0}
 .log-set{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
 .log-set>:first-child{grid-column:1/-1}
 .modal-actions{gap:8px}.modal-actions .button{flex:1 1 auto}
 .line-item,.metric-item,.profile-session-line{flex-wrap:wrap;gap:10px}
 .line-item [style*="display:flex"]{flex-wrap:wrap}
 .bar-chart{gap:5px;padding-inline:0}.bar-chart .bar{min-width:0}
 .history-chart,img,video,iframe{max-width:100%}.history-chart{min-width:0}
 pre{white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%}
 footer{flex-wrap:wrap;max-width:100%;padding:16px 14px}footer span{overflow-wrap:anywhere}
 .auth-page{display:block}.auth-page,.auth-brand,.auth-content,.auth-card{min-width:0;max-width:100%}
 .auth-content{padding:28px 18px}.auth-brand .wordmark{max-width:100%}
}
