/* Mobile keeps the same information and permissions, with independent table scroll. */
#menuBackdrop{display:none}
.amount-sort{position:relative}
@media(max-width:1000px){
  aside{display:flex!important;flex-direction:column;overflow:hidden!important;max-width:calc(100vw - 48px);padding:64px 18px 12px!important}
  .sidebar-brand .logo{width:145px;max-width:100%;margin-bottom:12px}
  .sidebar-brand .project-label{display:block;font-size:11px;margin-top:0}
  aside h1{display:block;font-size:29px;margin:6px 0}
  .sidebar-brand .address{display:block;font-size:13px;margin:6px 0 12px}
  .sidebar-brand .cash-nav{margin:0 0 10px;min-height:44px}
  .sidebar-scroll{min-height:0;overflow-x:hidden;overflow-y:auto}
  #tabs{display:flex;flex-direction:column;overflow:visible;gap:4px}
  #tabs button{width:100%;min-width:0;min-height:44px;white-space:normal;flex:none}
  #tabs small{display:block;flex:none;font-size:11px}
  #tabs .divider{display:block;font-size:17px;font-weight:800;color:#303c3c;margin:20px 0 10px}
  aside .source{display:block;font-size:12px;line-height:1.5}
  body.menu-open{overflow:hidden}
  body.menu-open #menuBackdrop{display:block;position:fixed;inset:0;z-index:34;border:0;border-radius:0;background:#182a2c66;padding:0}
  #mobileMenu{min-height:44px}
  #tableSection,.table-context,#measurementWorkspace,#detail,#itemBody,.parallel-grids,.measurement-side{min-width:0}
  .toolbar .search input{width:100%;min-width:0}
  .cashflow-tools>*{min-width:0;max-width:100%}
  .cashflow-tools select{width:100%}
  .measurement-grid input:not([type=checkbox]){min-height:32px}
  #detail .measurement-grid td{height:36px}
  .row-number button{min-height:36px}
}
@media(max-width:760px){
  .table-context>.toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;padding:6px 0}
  .table-context #breadcrumbs{grid-column:1/-1;min-width:0}
  .toolbar .search{grid-column:1/-1;width:100%;max-width:none;min-width:0;box-sizing:border-box}
  .toolbar .search-filters{min-width:0;display:flex;gap:4px;flex-wrap:wrap}
  .toolbar button{min-height:42px;padding:6px 8px}
  .toolbar .search-status{grid-column:1/-1;overflow-wrap:anywhere}
  .metric{padding:12px!important}
  .metric strong{font-size:clamp(19px,4.2vw,24px)!important;white-space:nowrap}
  .metric .metric-with-ocs{font-size:13px;overflow-wrap:anywhere}
  .control-topbar{gap:8px}
  .share-actions button{white-space:normal}
  main>header .actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  main>header .actions>button,.more-options>summary{width:100%;min-height:44px;padding:10px 6px;font-size:14px;text-align:center}
  .more-options-list{right:0;left:auto;max-width:calc(100vw - 32px)}
  #detail .dialog-head>div:first-child{min-width:0;max-width:100%}
  #detail .detail-actions{max-width:100%;gap:5px}
  .measurement-navigation button,#closeDetail,#expandMeasurements{min-width:40px;min-height:40px}
  #detail .measurement-side>header{flex-wrap:wrap;gap:4px}
  #detail .measurement-side>header>span{white-space:normal}
  body.measurement-focus #detail{height:100dvh;padding-bottom:env(safe-area-inset-bottom)}
  body.measurement-focus .parallel-grids{grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(2,minmax(0,1fr));min-height:0;gap:6px;padding:4px}
  body.measurement-focus .measurement-side{min-height:0;max-height:none}
  body.measurement-focus .parallel-scroll{min-height:0}
  body.measurement-focus .parallel-totals{display:grid;grid-template-columns:1fr 1fr;gap:3px;font-size:12px}
  body.measurement-focus .parallel-totals strong{font-size:14px}
  body.measurement-focus .parallel-save{gap:4px;flex-wrap:wrap}
  body.measurement-focus .parallel-save label{flex:1 1 100%;min-width:0}
  body.measurement-focus .parallel-footer{max-height:30dvh;overflow:auto}
  body.measurement-focus .bulk-tools{max-height:92px}
  body.measurement-focus #detail .dialog-head{min-height:44px}
}
@media(max-width:380px){.metrics{grid-template-columns:minmax(0,1fr)!important}.metric strong{font-size:24px!important}}
@media(prefers-reduced-motion:reduce){aside{transition:none}}

/* Phone item sheet: full description and one continuous vertical reading flow. */
@media(max-width:760px){
  body.mobile-item-detail #mobileMenu{display:none}
  body.mobile-item-detail #expandMeasurements{display:none}
  body.mobile-item-detail #detail{padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);background:#fff}
  body.mobile-item-detail #detail .dialog-head{flex:none;display:flex;flex-direction:column;align-items:stretch;padding:10px 12px;gap:8px}
  body.mobile-item-detail #detail .dialog-head>div:first-child{display:block;width:100%;flex:none;min-width:0}
  body.mobile-item-detail #detail .eyebrow{display:block;margin:0 0 5px;font-size:12px!important}
  body.mobile-item-detail #detail .dialog-head h2{white-space:normal;text-overflow:clip;overflow:visible;font-size:19px;line-height:1.25;overflow-wrap:anywhere;margin:0}
  body.mobile-item-detail #detail .detail-actions{width:100%;display:flex;justify-content:space-between}
  body.mobile-item-detail #detail #itemBody{display:block;overflow:auto;overscroll-behavior:contain;flex:1;min-height:0;-webkit-overflow-scrolling:touch}
  body.mobile-item-detail #detail .parallel-description{display:block}
  body.mobile-item-detail #detail .parallel-description>div{height:auto!important;max-height:none!important;overflow:visible;padding:8px 12px 14px;font-size:16px;line-height:1.45}
  body.mobile-item-detail #descriptionResize{display:none}
  body.mobile-item-detail .parallel-grids{display:block;padding:8px;overflow:visible;min-height:0}
  body.mobile-item-detail .measurement-side{display:flex;flex-direction:column;min-height:0;max-height:none;margin-bottom:14px;overflow:hidden}
  body.mobile-item-detail .measurement-side>header{position:static;align-items:flex-start;justify-content:space-between;gap:6px;padding:10px;font-size:16px;line-height:1.3}
  body.mobile-item-detail .measurement-side>header>span{font-size:14px}
  /* Tables scroll sideways; vertical gestures continue through the whole phone sheet. */
  body.mobile-item-detail .parallel-scroll{flex:none;min-height:0;max-height:none;overflow:auto;overscroll-behavior:contain auto}
  body.mobile-item-detail .parallel-footer{max-height:none;overflow:visible;padding:10px 12px}
  body.mobile-item-detail .parallel-coverage{max-height:none;overflow:visible;padding:6px 12px}
  body.mobile-item-detail .bulk-tools{max-height:none;overflow:visible;padding:8px}
  body.mobile-item-detail .bulk-tools:has(.bulk-full:disabled){display:none}
  body.mobile-item-detail #detail .measurement-grid{font-size:14px}
}
