/* Shared layout limits. Form and save behavior are unchanged. */
main,.panel,.detail,.catalog,.workbench,.workspace,.overview,.stats,.stat,.grid,.measure-grid,.extra-grid,.account,.heading,.page-heading,.archive-toolbar,.archive-search,.toolbar-actions{min-width:0}
img,video{max-width:100%}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
input,select,textarea{max-width:100%;box-sizing:border-box}
.product .name,.product b,.product-heading h3,.identifiers,.history-row strong,.history-row span,.location-value,.workflow-summary,.footnote,.footer,#detailTitle,#workflowTitle,#countTitle,#barcodeLabel,#workflowBarcode{overflow-wrap:anywhere}
.identifiers,.product .meta,.history-row{min-width:0}
.history-row{grid-template-columns:minmax(0,1fr) 90px 100px 125px}
.sidebar,.operations-sidebar{overflow-y:auto;overscroll-behavior:contain}
dialog{box-sizing:border-box;max-width:calc(100vw - 24px);max-height:calc(100dvh - 32px);overflow:auto}
#loginPanel{box-sizing:border-box;max-width:min(420px,calc(100% - 28px))!important}
#form input,#measurement-form input{scroll-margin:100px}
.product-list,#list{overscroll-behavior:contain}
@media(max-width:1024px){
 .sidebar,.operations-sidebar{position:static;inset:auto;width:auto;padding:16px 20px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:16px;overflow:visible}
 .operations-sidebar{margin:0 -18px}
 .logo,.operations-brand img{width:110px;max-height:36px}
 .sidebar>a,.operations-brand{flex:0 0 auto}
 .sidebar .workspace,.side-bottom,.operations-label,.operations-bottom{display:none}
 .sidebar nav,.operations-sidebar nav{display:flex;min-width:0;gap:6px;margin:0;justify-content:flex-end}
 .sidebar nav a,.operations-sidebar nav a{min-height:44px;padding:10px 12px;font-size:12px;line-height:1.4;white-space:normal;display:flex;align-items:center}
 .sidebar nav i{display:none}
 main,#appMain{margin-left:0;margin-right:0;max-width:100%;padding-left:18px;padding-right:18px}
 header,.app-header{height:auto;min-height:64px;display:flex;align-items:center;flex-wrap:wrap;gap:10px 18px;padding:12px 0}
 .breadcrumb{flex:1 1 160px;font-size:10px;letter-spacing:1px;line-height:1.6}
 .account{flex:1 1 190px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end;margin-left:auto;max-width:100%}
 .app-header .brand{display:none}
 .app-nav{display:flex;flex:1 1 180px;width:auto;min-width:0;gap:6px}
 .app-nav .nav-item{min-height:44px;font-size:12px}
 .heading,.page-heading{flex-wrap:wrap;align-items:center;gap:14px;margin-top:24px}
 .heading>div,.page-heading>div{min-width:0;flex:1 1 220px}
 .heading h1,.page-heading h1{font-size:clamp(22px,3.3vw,28px);line-height:1.35}
 .heading .secondary,.add-sheet{min-height:44px}
 input:not([type=checkbox]),select,textarea,dialog input,dialog select,dialog textarea,.search-wrap input,.archive-search input{font-size:16px;min-height:46px}
 input[type=checkbox]{width:20px;height:20px;flex-shrink:0}
 button,.primary,.secondary,.quiet,.icon-button,.theme-toggle,.filters button,.archive-tabs button,.record-actions button{min-height:44px}
 .measure-grid,.extra-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}
 .measure-grid>label{display:grid;grid-template-rows:minmax(2.8em,auto) minmax(46px,auto) auto;gap:4px;align-content:start;line-height:1.4}
 .measure-grid>label input{margin-top:0;width:100%;min-width:0}
 .measure-grid>label small{margin-top:2px}
 .product .meta{flex-wrap:wrap;line-height:1.5;gap:6px}
 .search-wrap{min-width:0}
 .search-wrap input{width:100%;min-width:0}
 .filters{flex-wrap:wrap;gap:5px}
 .filters button{padding:8px 10px}
 .save-area{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
 .save-area .primary{width:100%;min-height:48px;justify-content:center}
 .checkbox{min-height:44px;align-items:center;font-size:12px;line-height:1.6}
 .checkbox input{width:20px;height:20px}
 .actions{position:static;flex-wrap:wrap;gap:10px;margin-bottom:0;padding-bottom:calc(12px + env(safe-area-inset-bottom))}
 .actions button{min-height:46px;flex:1 1 120px;white-space:normal}
 .presence-table{max-width:100%;overflow-x:auto}
 dialog{max-height:calc(100dvh - 24px);max-width:calc(100vw - 24px);padding:22px;overscroll-behavior:contain}
 #attachmentDialog{max-height:calc(100dvh - 24px);max-width:calc(100vw - 24px)}
 .attachment-heading,.password-heading,.audit-toolbar{flex-wrap:wrap;gap:10px;padding:16px}
 .attachment-body,.audit-body{padding:16px;overflow-wrap:anywhere}
 .uncertain{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));max-width:none;max-height:55dvh;overflow:auto;padding:16px}
 .uncertain button{white-space:normal;line-height:1.5}
 footer{flex-wrap:wrap;line-height:1.8;gap:5px 14px}
 footer span:last-child{margin-left:0}
}
@media(min-width:761px) and (max-width:1024px){
 .workbench,.workspace{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr);gap:18px}
 .panel-title,#measurement-form,.panel{padding:20px}
 .stats{grid-template-columns:repeat(4,minmax(0,1fr))}
 .stats>div{padding-left:16px;padding-right:16px}
 .product-list{height:clamp(320px,60dvh,620px)}
 .count-heading .stats{min-width:0;width:100%}
 .archive-table{max-width:100%;overflow-x:auto}
 .history-row{grid-template-columns:minmax(0,1fr) 75px 90px 105px;gap:10px}
}
@media(max-width:760px){
 main,#appMain{padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right));padding-bottom:calc(24px + env(safe-area-inset-bottom))}
 .operations-sidebar{margin-left:calc(-1 * max(14px,env(safe-area-inset-left)));margin-right:calc(-1 * max(14px,env(safe-area-inset-right)))}
 .workbench,.workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}
 .stats,.count-heading .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 0}
 .stats>div{padding-left:16px;padding-right:16px}
 .stats>div:nth-child(even){border-right:0}
 .stat:nth-child(odd){border-left:0}
 .count-heading .stats{width:100%;min-width:0}
 .product-list{height:clamp(240px,42svh,380px)}
 #list{max-height:none}
 #measurement-form,.panel-title,.panel{padding:18px}
 .product{padding:16px}
 .product-heading h3{font-size:18px}
 .empty-detail{min-height:260px;padding:30px 20px}
 .history-row{grid-template-columns:minmax(0,1fr) 100px;gap:8px}
 .history-row>span:nth-child(3){display:none}
 .history-row>span:last-child{text-align:right}
 .history-row button{min-width:0;white-space:normal}
 .app-header{margin-bottom:22px}
 .page-heading{margin-top:18px}
 .page-heading p{max-width:none}
 .measurement-launch{gap:12px;padding:18px;flex-wrap:wrap}
 .measurement-launch>div:not(.launch-icon){flex:1 1 180px;min-width:0}
 .launch-action{margin-left:0;flex:1 1 100%;white-space:normal;min-height:44px;justify-content:space-between}
 .archive-toolbar{display:flex;flex-wrap:wrap;gap:12px}
 .archive-search{width:100%;flex:1 1 100%}
 .toolbar-actions{max-width:100%;flex-wrap:wrap;margin-left:auto}
 .archive-tabs{display:flex;flex-wrap:wrap;gap:8px}
 .archive-tabs button{flex:1 1 135px;white-space:normal}
 .archive-table{overflow:visible;max-width:100%}
 .archive-table table,.archive-table tbody{display:block;width:100%}
 .archive-table tbody tr{grid-template-columns:repeat(2,minmax(0,1fr));padding:4px 16px 14px}
 .archive-table td{min-width:0;overflow-wrap:anywhere;padding:10px 0}
 .archive-table td.record-actions{flex-wrap:wrap;gap:8px}
 .record-actions button{flex:1 1 120px;white-space:normal;margin:0}
 .grid{grid-template-columns:minmax(0,1fr)}
 .summary{flex-wrap:wrap;gap:8px}
 .attachment-actions{display:flex;flex-wrap:wrap}
 .attachment-actions button{flex:1 1 120px;white-space:normal}
}
@media(max-width:480px){
 .sidebar,.operations-sidebar{flex-wrap:wrap;gap:14px;padding:14px 16px}
 .sidebar nav,.operations-sidebar nav{width:100%;flex:1 1 100%;justify-content:stretch;gap:8px}
 .sidebar nav a,.operations-sidebar nav a{flex:1 1 0;min-width:0;font-size:11px;padding:10px;justify-content:center}
 .logo,.operations-brand img{width:100px}
 .sidebar .app-revision,.operations-sidebar .app-revision{margin-top:6px}
 .account{flex-basis:100%;justify-content:flex-end;gap:8px}
 .app-header .account{order:0}
 .app-nav{order:1;width:100%;flex-basis:100%}
 .app-nav .nav-item{flex:1 1 0;justify-content:center}
 .heading>div{flex-basis:100%}
 .heading{margin-bottom:12px}
 .heading p{margin-bottom:0}
 .stats strong{font-size:27px}
 .panel-title{padding:16px;gap:8px;flex-wrap:wrap}
 #measurement-form{padding:16px}
 .measure-grid>label{font-size:11px}
 .identifiers{gap:8px;font-size:10px}
 .history .panel-title .muted{line-height:1.5}
 .history-list{padding-left:16px;padding-right:16px}
 .archive-table tbody tr{grid-template-columns:minmax(0,1fr)}
 .archive-table td{grid-column:1/-1}
 .page-heading .add-sheet{width:100%;justify-content:center}
 #loginPanel{margin-top:5dvh!important;padding:22px!important}
}
@media(pointer:coarse){button,.theme-toggle,.quiet,.secondary,.icon-button,.filters button,.record-actions button{min-height:44px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
