/* Touch-first layouts: readable controls, card tables and safe modal scrolling. */
.nav-scrim{display:none}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
@media(max-width:760px){
 body{overflow-x:hidden}
 body.nav-open{overflow:hidden}
 .nav-scrim{position:fixed;inset:0;z-index:9;background:#102a2670;border:0;width:100%;height:100%}
 .nav-open .nav-scrim{display:block}
 .sidebar{width:min(82vw,290px);padding-bottom:calc(22px + env(safe-area-inset-bottom));overflow-y:auto;transition:transform .18s ease}
 .sidebar .nav-item{min-height:46px}
 .topbar{position:sticky;top:0;z-index:8;min-height:64px;padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}
 .mobile-menu,.top-actions>button{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
 .top-actions{gap:3px}.identity{gap:0}.avatar{width:30px;height:30px}
 .breadcrumb{gap:6px;min-width:0;font-size:11px}.breadcrumb>b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:110px}
 .content{padding:22px max(14px,env(safe-area-inset-right)) calc(28px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}
 .heading{gap:16px;margin-bottom:22px}.heading h1{font-size:25px;line-height:1.45;overflow-wrap:anywhere}.heading p{font-size:12px;line-height:1.8}
 .heading>.actions{width:100%}.heading>.actions .btn{flex:1}
 .btn{min-height:44px;padding:10px 14px;font-size:13px}.btn.tiny{min-height:40px;padding:9px 12px;font-size:12px}
 .stat{padding:16px 14px}.stat-top{font-size:11px;gap:6px}.stat-icon{padding:6px}.stat-number{font-size:30px;margin:10px 0 6px}.stat-foot{font-size:10px;line-height:1.6}
 .panel-head{padding:18px 16px}.panel-body{padding:0 16px 18px}.legend{flex-wrap:wrap;gap:15px}.legend>div{min-width:35%}
 .split{flex-wrap:wrap;align-items:flex-start}.split>.actions{max-width:100%}
 .sku-tabs{flex-wrap:nowrap;overflow:auto;padding:3px 1px 9px;scroll-snap-type:x proximity}.sku-tab{flex-shrink:0;min-height:48px;scroll-snap-align:start;white-space:nowrap}
 .tabs{gap:22px;padding:0 1px}.tab{min-height:48px;font-size:13px}
 .table-wrap{overflow:visible}.table-wrap table,.table-wrap tbody,.table-wrap tr,.table-wrap td{display:block;width:100%;white-space:normal}
 .table-wrap thead{display:none}.table-wrap tbody tr{padding:16px;border-bottom:1px solid var(--line)}.table-wrap tbody tr:last-child{border-bottom:0}
 .table-wrap td{border:0;padding:6px 0;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;overflow-wrap:anywhere;font-size:12px}
 .table-wrap td:before{content:attr(data-label);color:var(--muted);font-size:11px;flex-shrink:0;max-width:30%}
 .table-wrap td:first-child{display:block;padding:0 0 10px}.table-wrap td:first-child:before{display:none}
 .table-wrap td:last-child{justify-content:flex-end}.table-wrap td:last-child:before{margin-right:auto}
 .table-wrap td>.actions{justify-content:flex-end}.table-wrap td .project-sub{line-height:1.7}
 .table-wrap td:has(.progress-label){display:block}.table-wrap td:has(.progress-label):before{display:none}.progress-label,.progress{width:100%}
 .product-cell{gap:12px}.product-tile{width:42px;height:46px}.project-name{font-size:14px;line-height:1.6}
 .record-card{padding:16px}.record-head{gap:10px}.record-head h3{line-height:1.6}.record-data{gap:12px}.record-data dt{font-size:11px}.record-data dd{font-size:13px}
 .record-card .actions{gap:8px}.record-card .actions .btn{flex:1}.record-card .actions .role-note{flex-basis:100%}
 .modal-backdrop{padding:10px;padding-top:max(10px,env(safe-area-inset-top));padding-bottom:max(10px,env(safe-area-inset-bottom))}
 .modal{max-height:calc(100dvh - 20px);width:100%;border-radius:12px}.modal-head{padding:14px 16px;flex-shrink:0}.modal-head h2{font-size:16px}.close{min-width:44px;min-height:44px}
 .modal-body{padding:18px 16px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.modal-foot{padding:12px 16px;flex-shrink:0}.modal-foot .btn{flex:1;min-height:46px}
 .field input,.field select,.field textarea,.filters input,.filters select{font-size:16px;min-height:46px;max-width:100%}.field label{font-size:13px}.field textarea{min-height:115px}
 .filters>*{flex:1 1 42%;min-width:0}.filters input{flex-basis:100%}.filters .btn{min-height:46px}
 .checkboxes{gap:6px}.checkboxes label{min-height:44px;border:1px solid var(--line);border-radius:6px;padding:8px 10px}.checkboxes input{width:18px;height:18px}
 .check-row{font-size:12px;line-height:1.7}.check-row b{white-space:nowrap}.gate-box{padding:12px}
 .login-form{padding-top:calc(35px + env(safe-area-inset-top));padding-bottom:calc(35px + env(safe-area-inset-bottom))}.account-grid{gap:8px}.account-btn{min-height:48px;font-size:12px}
 .login-form .btn.primary{min-height:48px}.kpi-inline{padding:18px;gap:24px 10px}.kpi-inline>div{width:calc(50% - 5px)}.kpi-inline b{font-size:22px}
}
@media(prefers-reduced-motion:reduce){.sidebar{transition:none}}
.grid-main>*,.right-rail>*,.panel,.stat{min-width:0}
.stats{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(min-width:761px) and (max-width:1100px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.heading{flex-wrap:wrap}.right-rail{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.responsibility-card{gap:16px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
