/* Mobile usability layer: additive, not used for printed patient documents.
   All clinical, pricing and inventory controls remain reachable. */
.mobile-nav-toggle{display:none}
html{scroll-padding-top:95px}
:where(.shell,.panel,.column-stack,.editor-layout,.billing-layout,.two-col,.settings-layout)>*{min-width:0}
.table-wrap{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
:where(.control,.btn,button,select,textarea,input){touch-action:manipulation}
@media (max-width:850px){
  html{-webkit-text-size-adjust:100%;scroll-padding-top:78px}
  body{font-size:14px}
  .topbar{position:sticky;top:0;z-index:90}
  .top-inner{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px 14px;min-height:64px}
  .top-inner .brand{grid-column:1;min-width:0;gap:8px}
  .top-inner .brand-logo{width:38px;height:38px;flex-shrink:0}
  .top-inner .brand b{font-size:13px;letter-spacing:.6px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .top-inner .brand small{font-size:10px}
  .mobile-nav-toggle{display:inline-flex;grid-column:2;grid-row:1;align-items:center;justify-content:center;gap:6px;min-width:76px;min-height:44px;border:1px solid #cddfda;background:#f4faf8;border-radius:10px;color:#17594f;font:700 13px inherit;cursor:pointer}
  .top-inner>nav{grid-column:1/-1;grid-row:2;order:initial;display:none!important;width:100%;max-height:min(60vh,480px);overflow-y:auto;overflow-x:hidden;flex:initial;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;background:white;border-top:1px solid #e5efeb;padding:10px 0 4px}
  .top-inner>nav.mobile-nav-open{display:grid!important}
  .top-inner>nav a{display:flex;align-items:center;min-height:44px;min-width:0;padding:10px 12px;border:1px solid #e7efed;border-radius:9px;white-space:normal;font-size:13px;overflow-wrap:anywhere}
  .top-inner>nav a[aria-current="page"]{background:#e8f6f1;border-color:#9bcac0;color:#075e55}
  .top-inner .userbar{grid-column:1/-1;grid-row:3;justify-content:space-between;display:none;padding:8px 1px 3px;border-top:1px solid #e7efed}
  .top-inner .userbar.mobile-nav-open{display:flex}
  .top-inner .user-chip{display:inline-flex;max-width:72vw;overflow:hidden;text-overflow:ellipsis}
  .top-inner .nav-logout{min-height:42px;padding:8px 12px;border:1px solid #dae5e2;border-radius:9px}
  .shell{padding:16px 12px 55px;max-width:100%;min-width:0;overflow-x:clip}
  .shell h1{font-size:clamp(22px,5.5vw,27px);letter-spacing:-.5px}
  .heading-row{margin-bottom:16px;gap:10px}
  .heading-row>div:first-child{min-width:0}
  .heading-row p{font-size:12px;line-height:1.45}
  .heading-actions,.form-actions,.bill-confirmation-actions{gap:8px}
  .heading-actions>.btn,.form-actions>.btn{min-height:44px}
  .panel{border-radius:12px;max-width:100%}
  .panel.pad,.editor-layout .panel.pad{padding:15px}
  .section-header{padding:15px 14px 8px;align-items:flex-start;flex-wrap:wrap}
  .section-header.flush{padding:0 0 12px}
  .section-header h2{line-height:1.3}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .stat{min-width:0;padding:12px;border-radius:10px}
  .stat strong{font-size:22px;overflow-wrap:anywhere}
  .stat span{line-height:1.25}
  .two-col,.editor-layout,.billing-layout,.queue-dashboard-grid,.settings-layout{grid-template-columns:minmax(0,1fr)!important;gap:14px}
  .column-stack{gap:14px}
  .form-grid,.template-selector{grid-template-columns:minmax(0,1fr)!important;gap:8px}
  .form-grid .wide{grid-column:1!important}
  .field{min-width:0;margin-bottom:9px}
  .control,input.control,select.control,textarea.control{font-size:16px;min-height:44px;max-width:100%}
  textarea.control{min-height:96px}
  .btn:not(.tiny),button.nav-logout{min-height:44px}
  .btn.tiny{min-height:40px;font-size:12px;padding:8px 10px}
  .search-form{gap:7px}
  .search-form input,.search-form button{min-height:44px}
  .search-form button{width:100%}
  .table-wrap{max-width:100%;overflow-x:auto;overflow-y:visible;border-radius:8px}
  .table-wrap:focus-visible{outline:2px solid var(--teal)}
  table:not(.rx-grid-table){font-size:12px}
  th,td{padding:10px 9px;overflow-wrap:break-word}
  td.actions{gap:6px}
  td.actions>.btn,td.actions form>.btn{min-height:40px}
  .info-list{grid-template-columns:minmax(82px,32%) minmax(0,1fr);gap:8px}
  .line-item{gap:8px;align-items:flex-start;flex-wrap:wrap}
  .phrase-panel,.editor-layout .phrase-panel{position:static!important;height:auto!important;max-height:none!important;min-height:0!important}
  .editor-layout nav.phrase-nav-tabs{overflow-x:auto;display:flex;flex-wrap:nowrap;scrollbar-width:thin}
  .editor-layout .phrase-nav-tabs .phrase-tab{flex:0 0 auto;min-width:56px;min-height:42px;font-size:11px}
  .editor-layout .phrase-scroller{max-height:330px;overflow:auto}
  .phrase-editor-tabs{top:64px}
  .invoice-summary{position:static}
  .bill-create-item-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bill-create-item-grid .pos-add-search,.bill-create-item-grid>.btn{grid-column:1/-1}
  .bill-create-item-grid .pos-catalogue{min-width:0;width:min(100%,calc(100vw - 30px));max-width:calc(100vw - 30px)}
  .bill-cart-table{min-width:590px}
  .bill-cart-table td{vertical-align:middle}
  .bill-final-actions .btn{min-height:48px}
  .payment-total-banner{padding:13px}
  .payment-total-banner strong{font-size:26px}
  .payment-mode-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .payment-quick-buttons>.btn{flex:1 1 110px}
  .credit-choice-row{gap:8px}
  .credit-choice-row input{max-width:42%}
  .bill-med-form,.bill-med-read{min-width:0}
  .clinical-patient-details{flex-wrap:wrap}
  .clinical-photo-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .calendar-day{min-height:60px}
  .calendar-day small{font-size:9px}
  .queue-date-form .field{max-width:none;min-width:0;flex:1 1 150px}
  .queue-period-nav,.queue-calendar-nav{flex-wrap:wrap}
  .settings-password input{font-size:16px}
  dialog{max-width:calc(100vw - 20px)!important;max-height:calc(100dvh - 30px)!important;padding:16px!important}
  .footer{padding:14px 12px;font-size:10px}
}
@media(max-width:430px){
 .top-inner>nav{grid-template-columns:1fr 1fr}
 .shell{padding:12px 9px 46px}
 .panel.pad,.editor-layout .panel.pad{padding:12px}
 .stats{gap:6px}
 .stat{padding:10px}
 .stat strong{font-size:20px}
 .bill-create-people,.bill-discount-row{grid-template-columns:1fr}
 .payment-mode-grid{grid-template-columns:1fr}
 .rx-grid-scroll{overflow-x:auto}
 .clinical-photo-cards{grid-template-columns:1fr 1fr}
 .queue-calendar-grid{gap:2px}
 .calendar-day{padding:4px 2px;min-height:57px}
 .calendar-day small{font-size:8px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{.mobile-nav-toggle{display:none!important}.topbar .top-inner>nav{display:none!important}}
