/* Mobile ergonomics: scoped overrides, desktop and clinical state unchanged. */
.wa-mobile-back{display:none!important}
@media screen and (max-width:720px){
  #app{--mobile-dock-space:calc(70px + env(safe-area-inset-bottom,0px))}
  #app.wa-sidebar-hidden{--mobile-dock-space:env(safe-area-inset-bottom,0px)}
  .main,.v4749-main,#content,.content,.v4749-content{min-width:0;max-width:100%}
  .content,.v4749-content{padding:16px 12px}
  .page-heading,.card-head,.v4749-card-head{flex-wrap:wrap;gap:12px}
  .page-heading h1,.v4749-welcome h1{font-size:25px;line-height:1.2;overflow-wrap:anywhere}
  .page-heading>.actions,.toolbar{width:100%}
  .toolbar>*{min-width:0;max-width:100%}
  .toolbar input{flex:1 1 100%;max-width:none}
  .btn,.btn.small,.close,.tab,.text-link,summary{min-height:44px}
  .btn{white-space:normal;text-align:center}
  .text-link{display:inline-flex;align-items:center}
  .field,.form-grid>*,.split>*,.dashboard-grid>*{min-width:0}
  .form-grid,.split,.dashboard-grid,.detail-list{grid-template-columns:minmax(0,1fr)}
  .field input,.field select,.field textarea,.toolbar input,.toolbar select{font-size:16px}
  input[type=checkbox],input[type=radio]{min-height:initial}
  .tabs{gap:16px;scroll-padding-inline:12px;overscroll-behavior-x:contain}
  .tab{flex-shrink:0;display:inline-flex;align-items:center}
  .table-wrap{max-width:100%;overscroll-behavior-x:contain}
  .table-wrap th,.table-wrap td{padding:12px}
  .patient-header{flex-wrap:wrap}
  .patient-meta{overflow-wrap:anywhere}
  .pad,.dialog-body{padding:16px}
  #modal .dialog{max-height:calc(100dvh - 16px);max-width:100%}
  .dialog-head{gap:12px;padding:14px 16px}
  .dialog-head h2{overflow-wrap:anywhere;min-width:0}
  .dialog-foot{flex-wrap:wrap;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px))}
  .dialog-foot .btn{flex:1 1 120px}
  .quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v475512-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v475512-kpis .v4749-kpi{min-width:0;padding:12px}
  .v475512-kpis .kpi-label{flex-wrap:wrap;gap:6px}
  .v475512-kpis .kpi-label strong{font-size:13px;overflow-wrap:anywhere}
  .v475528-mobile-dock{background:var(--st-surface,#fff)}
  .v475528-dock-link{color:var(--st-ink,#234d75)}
  .v475528-more-panel{background:var(--st-surface,#fff)}
  .v475528-more-heading{color:var(--st-heading,#112e50)}

  /* One pane at a time; all existing patient and Penny actions remain reachable. */
  #app .wa-crm{height:calc(100dvh - 95px - var(--mobile-dock-space));min-height:0}
  #app.crm-focus-workspace .wa-crm{height:calc(100dvh - 44px - var(--mobile-dock-space));min-height:0}
  #app .crm-toolbar-reveal{height:44px;font-size:12px;min-width:140px}
  #app.crm-focus-workspace .wa-content{padding-top:44px!important}
  #app .wa-layout,#app .wa-contact-hidden .wa-layout,#app .wa-assistant-open .wa-layout{
    grid-template-columns:minmax(0,1fr);margin-right:0;position:relative
  }
  #app .wa-inbox{border-right:0}
  #app .wa-chat{display:none;min-width:0}
  #app .wa-mobile-chat-open .wa-inbox{display:none}
  #app .wa-mobile-chat-open .wa-chat{display:flex}
  #app .wa-mobile-back{display:inline-flex!important;min-height:44px;padding:8px 10px;font-size:14px}
  #app .wa-chat-header{flex-wrap:wrap;gap:8px;padding:10px}
  #app .wa-chat-header>div{min-width:0;flex:1}
  #app .wa-chat-header h2{font-size:16px;overflow-wrap:anywhere}
  #app .wa-chat-header small{font-size:12px}
  #app .wa-chat-header>[data-crm-tool=suggest]{order:5;flex-basis:100%;font-size:13px}
  #app .wa-toolbar{flex-wrap:wrap;gap:6px;padding:8px}
  #app .wa-toolbar-actions{flex-wrap:wrap;gap:6px;min-width:0}
  #app .wa-toolbar button,#app .wa-compose-actions button,#app .wa-tabs button{min-height:44px;font-size:13px}
  #app .wa-toolbar h1{font-size:17px}
  #app .wa-contact,#app .wa-tools-panel,#app .wa-tools-panel.wa-assistant-panel{
    position:absolute;inset:0 0 0 auto;width:100%;max-width:100%;z-index:12;overflow:auto
  }
  #app .wa-contact{padding:16px 16px 72px}
  #app .wa-contact>[data-mobile-close-contact]{display:flex;margin:0 0 12px}
  #app .wa-crm input:not([type=checkbox]):not([type=radio]),#app .wa-crm select,#app .wa-crm textarea{font-size:16px}
  #app .wa-inbox-tools{padding:12px}
  #app .wa-conversation{gap:12px;padding:14px 12px}
  #app .wa-conversation>.wa-avatar{display:grid;width:42px;height:42px}
  #app .wa-conversation-title{display:flex}
  #app .wa-conversation-title strong{font-size:15px}
  #app .wa-conversation-title time{font-size:12px}
  #app .wa-preview{font-size:13px}
  #app .wa-label{font-size:11px}
  #app .wa-messages{padding:12px}
  #app .wa-message{max-width:92%}
  #app .wa-message p{font-size:15px;line-height:1.5}
  #app .wa-crm .wa-composer{padding:8px 10px}
  #app .wa-crm .wa-compose-field textarea{min-height:44px!important;height:44px}
  #app .wa-compose-actions{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;padding:3px 0 6px}
  #app .wa-compose-actions button{flex:0 0 auto;white-space:nowrap;padding:8px 12px}
  #app .wa-compose-actions svg{display:block}
}
@media screen and (max-width:360px){
  .v475512-kpis{grid-template-columns:1fr}
}


/* Correct header overflow and keep tablet navigation labels readable. */
@media screen and (max-width:1180px){
  #app .v4749-topbar{height:auto;min-height:72px;flex-wrap:wrap;padding:10px 14px;gap:10px;max-width:100%}
  #app .v4749-topbar .v4749-global-search{flex:1 1 100%;width:100%;max-width:none;min-width:0}
  #app .v4749-topbar .top-right.v4749-top-actions{display:flex!important;flex:1 1 100%;width:100%;min-width:0;max-width:100%;margin-left:0;gap:8px;flex-wrap:wrap;justify-content:flex-start;white-space:normal}
  #app .v4749-topbar .top-right>*{max-width:100%;min-width:0;flex-shrink:1}
  #app .v4749-topbar .btn{min-height:44px;white-space:normal;font-size:12px;padding:8px 10px}
  #app .v4749-topbar .v4749-global-search input{font-size:16px;width:100%;min-width:0}
  #content .v475512-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  #content .v475512-kpis .v4749-kpi{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:14px}
  #content .v475512-kpis .kpi-label{flex-wrap:nowrap;gap:8px}
  #content .v475512-kpis .kpi-label strong{flex:1;min-width:0;line-height:1.4;font-size:13px}
  #content .v475512-kpis .kpi-category-icon{width:30px;height:30px}
  #app .wa-crm{height:calc(100dvh - 150px - var(--mobile-dock-space,0px))}
  #app.crm-focus-workspace .wa-crm{height:calc(100dvh - 44px - var(--mobile-dock-space,0px))}
}
@media screen and (min-width:721px) and (max-width:1180px){
  #app>.sidebar.v4749-sidebar{width:180px;padding:12px 8px;overflow-x:hidden}
  #app:not(.wa-sidebar-hidden)>.main{margin-left:180px;width:calc(100% - 180px)}
  #app>.sidebar.v4749-sidebar>nav{width:100%;display:block}
  #app>.sidebar.v4749-sidebar>nav>.navlink{display:flex!important;flex-direction:row;justify-content:flex-start;align-items:center;gap:8px;width:100%;max-width:100%;min-height:46px;padding:10px 8px;margin:3px 0;font-size:13px;text-align:left;white-space:normal;overflow-wrap:anywhere}
  #app>.sidebar.v4749-sidebar>nav>.navlink span{display:block!important;font-size:13px;max-width:none;white-space:normal;overflow:visible}
  #app>.sidebar.v4749-sidebar>nav>.navlink svg{width:20px!important;height:20px!important;flex:0 0 20px!important}
  #app>.sidebar.v4749-sidebar .brand{padding:8px;margin-bottom:12px}
  #app>.sidebar.v4749-sidebar .clinic-logo{max-height:72px;width:auto}
  #content.v4749-content{padding:20px 16px}
}
@media screen and (max-width:720px){
  #app>.main{width:100%;margin-left:0}
  #app .v4749-topbar .top-right.v4749-top-actions{flex-basis:100%;width:100%;min-width:0}
  #app .v4749-topbar .v475524-profile-trigger{margin-left:auto;flex:0 0 44px}
  #content .v4749-main-actions{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:8px}
  #content .v4749-main-actions .btn{height:auto;min-height:48px;padding:10px;font-size:13px}
  #content .v4749-welcome{gap:12px;margin-bottom:18px}
  #content .v4749-welcome p{font-size:14px}
  #content .v4749-card-head{height:auto;min-height:58px;padding:12px 14px}
}
@media screen and (max-width:440px){
  #content .v475512-kpis{grid-template-columns:minmax(0,1fr);gap:10px}
  #content .v475512-kpis .v4749-kpi{min-height:100px}
}
