/* 2.05 tablet operating refinements. Loaded last; scoped to the operating desk only. */

/* 1. Landscape tablet / narrow desktop: floor-panel toolbar as ONE aligned row. */
@media (orientation:landscape) and (min-width:900px) and (max-width:1366px){
 .shell.view-desk:not(.focus-operation) .floor-panel>.panel-heading{display:flex!important;flex-wrap:nowrap!important;align-items:center!important;gap:10px!important;min-height:0!important;height:56px;padding:6px 10px 6px 16px!important}
 .shell.view-desk:not(.focus-operation) .floor-panel>.panel-heading>.panel-title{display:flex;flex:none;flex-wrap:nowrap;align-items:center;gap:6px;margin:0!important}
 .shell.view-desk:not(.focus-operation) .floor-panel>.panel-heading>.panel-title h2{margin:0;font-size:14px;white-space:nowrap}
 .shell.view-desk:not(.focus-operation) .floor-panel>.panel-heading .floor-filters{display:flex!important;flex:1 1 auto!important;flex-wrap:nowrap!important;align-items:center;gap:8px!important;min-width:0;margin:0!important;padding:0!important;border:0!important}
 .shell.view-desk:not(.focus-operation) .floor-panel>.panel-heading .number-filters{flex:1 1 auto;min-width:0;justify-content:flex-start;gap:2px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 22px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 22px),transparent);padding-right:18px}
 .shell.view-desk:not(.focus-operation) .floor-panel>.panel-heading .number-filters::-webkit-scrollbar{display:none}
 .shell.view-desk:not(.focus-operation) .floor-panel>.panel-heading .number-filter{min-height:40px!important;padding:4px 11px!important}
 .shell.view-desk:not(.focus-operation) .floor-panel>.panel-heading .search-box{flex:0 0 150px;width:150px!important;max-width:150px!important;height:40px!important;min-height:40px!important;margin:0!important;transition:flex-basis .18s,width .18s,max-width .18s}
 .shell.view-desk:not(.focus-operation) .floor-panel>.panel-heading .search-box:focus-within{flex-basis:210px;width:210px!important;max-width:210px!important}
 .shell.view-desk:not(.focus-operation) .floor-panel>.panel-heading .search-box input{min-width:0;width:100%;height:100%}
 .shell.view-desk:not(.focus-operation) .floor-panel>.panel-heading>.view-switch{flex:none;align-self:center;margin:0!important}
 .shell.view-desk:not(.focus-operation) .floor-panel>.panel-heading>.view-switch button{min-height:40px!important;min-width:40px}
 .shell.view-desk:not(.focus-operation) .floor-panel .map-bottom{min-height:0;padding:4px 14px!important}
 .shell.view-desk:not(.focus-operation) .floor-panel .map-bottom .legend-filter{min-height:32px}
}
/* Very tight widths (e.g. 900-1050 with sidebar): drop the redundant count badge. */
@media (orientation:landscape) and (min-width:900px) and (max-width:1050px){
 .shell.view-desk:not(.focus-operation) .floor-panel>.panel-heading .count-badge{display:none}
 .shell.view-desk:not(.focus-operation) .floor-panel>.panel-heading .search-box{flex-basis:120px;width:120px!important;max-width:120px!important}
}

/* 2. 营业模式 seat drawer: never taller than the space under the toolbar; scrolls inside itself. */
.shell.focus-operation.detail-open .workspace-grid>.right-column{display:flex!important;flex-direction:column;overflow:hidden!important;pointer-events:none}
@media (orientation:landscape){.shell.focus-operation.detail-open .workspace-grid>.right-column{bottom:max(8px,env(safe-area-inset-bottom))!important}}
/* --drawer-pad fixes the top padding so the sticky header offset is exact whatever other sheets set. */
.shell.focus-operation.detail-open #seat-detail{--drawer-pad:18px;flex:0 1 auto;height:auto!important;min-height:0!important;max-height:100%!important;padding-top:var(--drawer-pad)!important;padding-left:20px!important;padding-right:20px!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;pointer-events:auto}
.shell.focus-operation.detail-open #seat-detail .detail-header{position:sticky;top:calc(-1 * var(--drawer-pad));z-index:2;margin:calc(-1 * var(--drawer-pad)) -20px 10px!important;padding:14px 64px 10px 20px;background:inherit;border-radius:18px 18px 0 0}
/* Close button is pinned to the fixed drawer frame, so it never scrolls away. */
.shell.focus-operation.detail-open #seat-detail>.close-detail{position:absolute!important;top:6px;right:8px;z-index:3;float:none!important;margin:0!important;pointer-events:auto}
/* Short landscape screens: compact the header and timer so actions surface sooner. */
@media (orientation:landscape) and (max-height:900px){
 .shell.focus-operation.detail-open #seat-detail{--drawer-pad:14px}
 .shell.focus-operation.detail-open #seat-detail .detail-header{padding-top:12px;padding-bottom:8px;margin-bottom:8px!important}
 .shell.focus-operation.detail-open #seat-detail .timer-card{margin:2px 0 8px;padding:10px 14px}
 .shell.focus-operation.detail-open #seat-detail .timer-card strong{font-size:30px;margin:2px 0}
}
/* Portrait keeps its flush bottom sheet from focus-operation.css (rounded top corners only). */
@media (orientation:portrait){.shell.focus-operation.detail-open #seat-detail .detail-header{border-radius:20px 20px 0 0}}
