/* Mobile coach controls: stable, reachable, and independent of re-render order. */
@media(max-width:900px){
  #coachMessages .coach-message-layout{display:grid!important;grid-template-columns:minmax(0,1fr)!important;overflow:visible!important}
  #coachMessages .coach-thread-list{display:flex!important;gap:8px;max-height:none!important;padding:12px!important;overflow-x:auto!important;overflow-y:hidden!important;border-right:0!important;border-bottom:1px solid rgba(255,255,255,.1);scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
  #coachMessages .coach-thread-list .search{flex:0 0 min(220px,62vw);height:48px;margin:0}
  #coachMessages .coach-thread{display:flex!important;flex:0 0 min(250px,72vw);min-height:48px;margin:0;padding:9px!important;scroll-snap-align:start;border:1px solid rgba(255,255,255,.1)}
  #coachMessages .coach-chat{padding:12px!important;min-width:0!important}
  #coachMessages .detail-head{align-items:flex-start;flex-wrap:wrap}
  #coachMessages .message-actions{width:100%;margin-left:0!important}
  #coachMessages .message-actions button{flex:1}
  #coachMessages .coach-reply-templates{display:grid;gap:9px;padding:12px!important}
  #coachMessages .coach-template-list{display:grid!important;grid-template-columns:1fr 1fr;gap:8px;overflow:visible!important}
  #coachMessages .coach-template-list button{width:100%;min-width:0;white-space:normal!important;overflow-wrap:anywhere}
  #coachMessages .chat-input{position:relative;display:grid!important;grid-template-columns:46px 46px minmax(0,1fr)!important;gap:8px!important}
  #coachMessages #coachMessageInput{width:100%!important;min-width:0!important;font-size:16px}
  #coachMessages #coachSend{grid-column:1/-1;width:100%}
  #coachMessages #planReadyMessageTemplate{grid-column:1/-1;width:100%;white-space:normal}
  #clientsPanel .page-head{align-items:stretch}
  #clientsPanel .page-head>div:last-child{display:grid!important;grid-template-columns:1fr 1fr;gap:8px;width:100%}
  #clientsPanel #topInvite,#clientsPanel #openManualClient{width:100%;min-width:0;white-space:normal}
  #clientCards .client-tile{touch-action:manipulation}
}
@media(max-width:560px){
  #coachMessages .coach-template-list{grid-template-columns:1fr}
  #clientsPanel .page-head>div:last-child{grid-template-columns:1fr}
}
.coach-template-modal .modal-card{width:min(720px,calc(100vw - 18px))!important;max-height:min(86dvh,760px);display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;overflow:hidden}
.coach-template-modal-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:190px;padding:2px;overflow:auto;-webkit-overflow-scrolling:touch}
.coach-template-modal-list button{width:100%;white-space:normal;text-align:left}
.coach-template-modal textarea{width:100%;min-height:210px;max-height:38dvh;resize:vertical;overflow:auto;font-size:16px;line-height:1.5;white-space:pre-wrap}
.coach-template-modal .template-recipient{margin:0 0 10px;color:#b9cbbf}
@media(max-width:560px){.coach-template-modal-list{grid-template-columns:1fr;max-height:170px}.coach-template-modal .modal-card{padding:15px!important}.coach-template-modal textarea{min-height:190px}.coach-template-modal .modal-actions{display:grid;grid-template-columns:1fr 1fr}.coach-template-modal .modal-actions button{width:100%}}
