/* Shared navigation geometry: changing a view must not move its controls. */
html{scrollbar-gutter:stable}
body{--workspace-sticky-top:12px;--workspace-tab-height:56px}
body>.shell main{overflow-anchor:none}
body>.shell main :is(.quote-tabs,.dw-tabs,.claim-tabs,.billing-tab-dock,.directory-toolbar,.section-nav,.settings-tabs,.claim-steps,.shipment-status-tabs,.overview-tabs,.saved-filters){
 position:sticky;top:var(--workspace-sticky-top);z-index:12;box-sizing:border-box;
 background:#f0f4f9;box-shadow:0 4px 16px #18324d0a;scroll-behavior:auto;
}
body>.shell main :is(.quote-tabs,.dw-tabs,.claim-tabs,.section-nav,.shipment-status-tabs,.overview-tabs,.saved-filters){
 display:flex;flex-wrap:nowrap;align-items:center;overflow-x:auto;max-width:100%;
 min-height:56px;margin:0 0 20px;border:1px solid #e0e7ef;border-radius:12px;padding:5px;gap:5px;
 scrollbar-width:thin;scroll-padding-inline:6px;
}
body>.shell main :is(.quote-tabs,.dw-tabs,.claim-tabs,.billing-tabs,.directory-tabs,.section-nav,.settings-tabs,.claim-steps,.shipment-status-tabs,.overview-tabs,.saved-filters)>:is(button,a),
body>.shell main :is(.quote-tabs,.dw-tabs,.claim-tabs,.billing-tabs,.directory-tabs,.section-nav,.settings-tabs,.claim-steps,.shipment-status-tabs,.overview-tabs,.saved-filters)>:is(button,a):is([aria-current],[aria-selected=true],[aria-pressed=true],.selected,.active){
 font-weight:650;flex-shrink:0;transition:background-color 140ms ease,color 140ms ease,border-color 140ms ease;
}
body>.shell main :is(.quote-tabs,.dw-tabs,.claim-tabs,.billing-tabs,.directory-tabs,.section-nav,.shipment-status-tabs,.overview-tabs,.saved-filters)>:is(button,a){white-space:nowrap}
body>.shell main :is(.billing-tab-dock,.directory-toolbar){
 display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:nowrap;
 margin:0 0 20px;padding:5px;border:1px solid #e0e7ef;border-radius:12px;min-height:64px;
}
body>.shell main :is(.billing-tab-dock,.directory-toolbar)>[role=tablist]{min-width:0;overflow-x:auto;flex-wrap:nowrap;margin:0;border:0;box-shadow:none}
body>.shell main .directory-toolbar>#add-entry{flex-shrink:0}
body>.shell main .billing-tab-dock>.reconciled{font-size:13px;margin:0 12px;text-align:right}
body>.shell main :is(#dw-panel,#case-panel,#invoices-panel,#statements-panel,.directory-workspace,#saved-quotes-view,.claim-work){min-height:calc(100dvh - 100px)}
body>.shell main #new-quote-view{min-height:calc(100dvh - 100px)}
body>.shell main .saved-filters{top:calc(var(--workspace-sticky-top) + var(--workspace-tab-height) + 8px);z-index:11}
body>.shell main #saved-quotes-list{min-height:calc(100dvh - 160px)}
/* Status filters belong above the variable history filters and result count. */
body.shipments-view{--workspace-sticky-top:84px}
body.shipments-view .shipment-toolbar{position:static}
body.shipments-view #rows{min-height:calc(100dvh - 170px)}
body>.shell main .overview-shipments{overflow:visible}
body>.shell main .overview-tabs{margin:0;border-radius:0;box-shadow:0 4px 10px #18324d08}
body>.shell main #overview-loads{min-height:320px}
/* Form navigation stays available without changing form behavior. */
body>.shell main .settings-tabs{max-height:calc(100dvh - 24px);overflow:auto}
body>.shell main .claim-steps{top:12px;max-height:calc(100dvh - 24px);overflow:auto}
body>.shell main :is(.settings-panel,#schedule-form>.panel){scroll-margin-top:90px}
body>.shell main .section-nav a{white-space:nowrap}
/* Centered dialogs retain their top edge when switching instruction methods. */
#instructions-dialog{height:min(720px,calc(100dvh - 32px));max-height:calc(100dvh - 32px);box-sizing:border-box;overflow:auto}
#instructions-dialog .method-tabs{position:sticky;top:0;z-index:2;background:#fff;flex-wrap:nowrap;overflow-x:auto}
#instructions-dialog .method-tabs button{font-weight:650;white-space:nowrap;flex-shrink:0}
.weather-tabs{overflow-anchor:none}
@media(max-width:1200px){
 body>.shell main .claim-steps{flex-direction:row;flex-wrap:nowrap;align-items:center;min-height:60px;padding:5px;border:1px solid #e0e7ef;border-radius:12px;top:12px}
 body>.shell main .claim-steps>button{flex:0 0 auto;white-space:nowrap}
}
@media(max-width:1050px){
 body>.shell main .settings-tabs{display:flex;flex-wrap:nowrap;align-items:center;min-height:60px;max-width:100%;width:100%;overflow-x:auto}
 body>.shell main .settings-tabs>a{width:auto;white-space:nowrap;flex-shrink:0}
}
@media(max-width:760px){
 body{--workspace-tab-height:60px}
 body.shipments-view{--workspace-sticky-top:76px}
 body>.shell main :is(.quote-tabs,.dw-tabs,.claim-tabs,.section-nav,.shipment-status-tabs,.overview-tabs,.saved-filters){min-height:60px;gap:3px}
 body>.shell main :is(.billing-tab-dock,.directory-toolbar){min-height:64px;flex-direction:row;padding:4px;gap:4px}
 body>.shell main .billing-tab-dock>.reconciled{display:none}
 body>.shell main .directory-toolbar>#add-entry{width:auto;min-height:44px;padding:9px;font-size:13px}
 body>.shell main .directory-tabs>button{padding:9px 10px}
}
@media(prefers-reduced-motion:reduce){
 body>.shell main :is(.quote-tabs,.dw-tabs,.claim-tabs,.billing-tabs,.directory-tabs,.section-nav,.settings-tabs,.claim-steps,.shipment-status-tabs,.overview-tabs,.saved-filters)>:is(button,a){transition:none}
}
@media print{
 body>.shell main :is(.quote-tabs,.dw-tabs,.claim-tabs,.billing-tab-dock,.directory-toolbar,.section-nav,.settings-tabs,.claim-steps,.shipment-status-tabs,.overview-tabs,.saved-filters){position:static;box-shadow:none}
 body>.shell main :is(#dw-panel,#case-panel,#invoices-panel,#statements-panel,.directory-workspace,#new-quote-view,#saved-quotes-view,#saved-quotes-list,.claim-work,#rows,#overview-loads){min-height:0}
}
