/* Approved compact system, 2026-10-08. Load after module styles.
   Presentation only: never override hidden, permission, disabled or busy state. */
:root{
  --ui-font:"Segoe UI","Microsoft YaHei","PingFang SC",sans-serif;
  --ui-body:15px;--ui-aux:13px;--ui-name:16px;--ui-section:18px;--ui-title:20px;--ui-number:24px;
  --ui-button:36px;--ui-row-button:32px;--ui-tool-button:30px;--ui-field:36px;--ui-field-text:14px;
  --ui-s1:4px;--ui-s2:8px;--ui-s3:12px;--ui-s4:16px;
  --mist-body:var(--ui-font);--mist-serif:var(--ui-font);--mist-number:var(--ui-font);
  --mist-radius-control:7px;--mist-border:var(--mist-line,#d3e5f0);
}
html,body{font-family:var(--ui-font);font-size:var(--ui-body);line-height:1.5;font-variant-numeric:lining-nums tabular-nums}
body [hidden]{display:none!important}
/* Old modules contain explicit Georgia/monospace rules. Business numbers share the body face. */
body :is(button,input,select,textarea,h1,h2,h3,h4,h5,p,span,small,b,strong,td,th,dt,dd,label,summary,a){font-family:var(--ui-font)!important;font-variant-numeric:lining-nums tabular-nums}
body :is(.page,.modal,.drawer,dialog){font-size:var(--ui-body);line-height:1.5}
body :is(.page,.modal,.drawer,dialog) :is(h1,h2){font-size:var(--ui-title)!important;line-height:1.4;font-weight:700;letter-spacing:0}
body :is(.page,.modal,.drawer,dialog) h3{font-size:var(--ui-section)!important;line-height:1.4;font-weight:600;letter-spacing:0}
body :is(.modal-head,.drawer-head,[class$="dialog-head"]) h3{font-size:var(--ui-title)!important;font-weight:700}
body :is(.page,.modal,.drawer,dialog) :is(h4,h5){font-size:var(--ui-name);line-height:1.4;font-weight:600;letter-spacing:0}
body :is(small,.muted,.asset-code-subtle,.asset-id-copy,.activity-summary,.iv-detail-caption,.iv-detail-eyebrow,.iv-state-help,.dy-followup-help,.supplier-note){font-size:var(--ui-aux)!important;line-height:1.5}
body :is(.page,.modal,.drawer,dialog) :is(p,dd,td){font-size:var(--ui-body);line-height:1.5}
body :is(.mist-field,.form-grid>label,.supplier-field,.delivery-field,.invoice-filters>label,.energy-bill-search-field,.filter-grid>label){font-size:var(--ui-body)!important;font-weight:600;gap:var(--ui-s1)}
body :is(.detail-item small,.energy-proof-facts dt,.iv-detail-facts dt,.maintenance-detail-grid dt){font-size:var(--ui-aux)!important;font-weight:400;margin-bottom:var(--ui-s1)}
body :is(.detail-item b,.energy-proof-facts dd,.iv-detail-facts dd,.maintenance-detail-grid dd,.asset-meta,.asset-meta b){font-size:var(--ui-body)!important;line-height:1.5}
body :is(.metric b,.luggage-kpis b,.lost-found-kpis b,.network-asset-kpis b,.energy-kpis b,.inventory-metrics b,.overview-column>b,.task-location,.energy-proof-money,.iv-detail-total>strong,.iv-detail-amount){font-size:var(--ui-number)!important;font-weight:700!important;line-height:1.3;letter-spacing:0}
body :is(.panel,.supplier-workspace,.invoice-workspace,.delivery-workspace){padding:var(--ui-s4);margin-bottom:var(--ui-s3)}
body :is(.modal-body,.detail){padding:var(--ui-s4)}
body :is(.modal-head,.drawer-head){padding:var(--ui-s3) var(--ui-s4);gap:var(--ui-s2)}
body :is(.panel-head,.mist-results-heading){margin-bottom:var(--ui-s2);gap:var(--ui-s2)}
body :is(.two-col,.form-grid,.detail-grid,.asset-search-primary,.filter-grid){gap:var(--ui-s3)}
body :is(.toolbar,.modal-actions,.detail-actions,.page-header-action-group){gap:var(--ui-s2)}

/* Ordinary, inline, tool and icon buttons have one size vocabulary. */
body :is(.btn,.icon-btn,.icon-action,.supplier-dialog-close,.dy-followup-close,.dy-followup-dialog-close,.image-zoom-toolbar button,.energy-proof-tools button,.energy-proof-toolbar button){
  min-height:var(--ui-button)!important;height:auto!important;align-self:center;min-width:0;padding:4px 10px!important;
  font-size:14px!important;line-height:1.4!important;font-weight:600;border-radius:7px!important;letter-spacing:0;touch-action:manipulation;
}
body :is(.btn.mini,td .btn,.iv-list-row .btn,.dy-list-row .btn,.supplier-offer-row .btn){min-height:var(--ui-row-button)!important;padding:3px 8px!important;border-radius:6px!important;font-size:var(--ui-aux)!important}
body :is(.icon-btn,.icon-action,.supplier-dialog-close,.dy-followup-close,.dy-followup-dialog-close){width:var(--ui-button)!important;min-width:var(--ui-button)!important;height:var(--ui-button)!important;padding:0!important;text-align:center;vertical-align:middle;font-size:18px!important;flex-shrink:0}
body .btn :is(svg,.ui-icon){width:14px;height:14px;flex:none}
.ui-icon{display:inline-block;width:14px;height:14px;vertical-align:-2px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
body .btn:has(>.ui-icon){align-items:center;justify-content:center;gap:6px}
body :is(.btn,.icon-btn,.icon-action):disabled{cursor:not-allowed;box-shadow:none;opacity:.48}
body :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=hidden]){min-height:var(--ui-field)!important;height:auto!important;padding:6px 10px!important;font-size:var(--ui-field-text)!important;line-height:1.5;border-radius:7px!important}
body :is(.invoice-filters,.asset-search-primary,.supplier-filters,.energy-bill-search-filters,.filter-grid)>.btn{align-self:end}
body #page-invoices .invoice-filters :is(input,select,summary){font-size:var(--ui-field-text)!important}
body #invoicePlatformMenu summary{min-height:var(--ui-field)!important;padding:6px 10px;border-radius:7px;line-height:1.5}
body textarea{height:auto}
/* Legacy underline sort controls are not form boxes. Keep until migrated to headings. */
body :is(#energySearchSort,#energySearchDirection){min-height:var(--ui-button)!important;border-radius:0!important;padding:4px 6px!important}
body :is(.workspace-tabs,.procurement-tabs,.maintenance-tabs,.inventory-result-tabs,.parameter-tabs,.linen-tabs,.guest-item-tabs,.people-scope-tabs,.role-permission-tabs,.network-tabs,.energy-tabs,.delivery-tabs,.task-tabs) button{
  min-height:var(--ui-button)!important;padding:5px 12px!important;font-size:var(--ui-body)!important;line-height:1.4;border-radius:7px;gap:6px;
}
body .sidebar #nav button{min-height:40px;padding:7px 10px;font-size:var(--ui-body);line-height:1.4}
body .sidebar .brand strong{font-size:var(--ui-section);letter-spacing:0}
body #toast.toast{font-size:var(--ui-body);line-height:1.5}

/* Fixed shared action position; do not infer permissions from primary/secondary styling. */
body .page-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--ui-s2);min-width:0}
body .page-header-action-group{align-items:center;flex-wrap:wrap;gap:var(--ui-s2)}
body .main>.topbar>.online-pill{font-size:var(--ui-aux);line-height:1.5;padding:2px 7px;border-radius:6px;flex:none;white-space:nowrap}
body .page-header-action-group .btn{min-height:var(--ui-button)!important}
body #deliveryOrderNew{height:auto!important;min-height:var(--ui-button)!important;padding:4px 10px!important;border-radius:7px 0 0 7px!important}
body #deliveryRegisterMenu.delivery-type-toggle{width:var(--ui-button)!important;height:var(--ui-button)!important;min-width:var(--ui-button)!important;min-height:var(--ui-button)!important;border-radius:0 7px 7px 0!important}
body .main>.topbar{gap:var(--ui-s2)}

/* Same segmented switch on every list/card page, including its ARIA state. */
body :is(.ui-view-switch,.asset-view-switch,.dy-view-switch){display:inline-flex;align-items:center;gap:2px;padding:2px;border:1px solid var(--mist-line);border-radius:8px;background:var(--mist-blue);min-height:34px;width:max-content;max-width:100%;margin:0}
body :is(.ui-view-switch,.asset-view-switch,.dy-view-switch)>button{min-height:var(--ui-row-button)!important;padding:4px 10px!important;border:0!important;border-radius:6px!important;background:transparent;color:var(--mist-focus);font-size:var(--ui-aux)!important;line-height:1.4!important;box-shadow:none}
body :is(.ui-view-switch,.asset-view-switch,.dy-view-switch)>button:is(.active,[aria-pressed=true]){background:var(--mist-primary)!important;color:#fff!important;box-shadow:0 2px 5px #426b961a}
body .dy-view-switch>span{font-size:var(--ui-aux);padding:0 8px}
.ui-results-tools{display:flex;align-items:center;justify-content:flex-end;gap:var(--ui-s2);flex-wrap:wrap;min-width:0;margin-left:auto}
body .mist-results-heading{display:flex;align-items:center;flex-wrap:wrap}
body #assetBatchToolGroup{display:flex;align-items:center;gap:0;flex:0 0 auto!important;width:max-content!important;max-width:100%;margin:0;padding:2px!important;border:1px solid var(--mist-line)!important;border-radius:8px;background:var(--mist-control)!important;box-shadow:none}
body #assetBatchToolGroup .asset-command-buttons{display:flex;gap:2px;flex-wrap:wrap;align-items:center}
body #assetBatchToolGroup .btn{min-height:var(--ui-tool-button)!important;padding:3px 8px!important;border:0;background:transparent;border-radius:5px!important;font-size:var(--ui-aux)!important;box-shadow:none}
body #assetBatchToolGroup .btn::before{content:none}
body #assetBatchToolGroup #assetBatchOpsBtn{background:var(--mist-blue);color:var(--mist-focus);border-left:1px solid var(--mist-line)}
body #assetBatchToolGroup .asset-command-group-title{display:none}
body .asset-command-toolbar{padding-top:var(--ui-s2);margin-top:var(--ui-s3)}
body .asset-command-group{padding:0;gap:6px}
body .asset-command-groups{gap:var(--ui-s4);flex-wrap:wrap}
body .asset-command-buttons{gap:var(--ui-s2)}

/* Readable dense tables: preserve long values and a real heading per field. */
body table{font-size:var(--ui-body);line-height:1.4}
body :is(th,td){padding:7px 10px;line-height:1.4}
body th{font-size:var(--ui-aux);font-weight:600;background:var(--mist-blue);color:var(--mist-on-tint)}
body :is(.iv-list-head,.iv-list-row,.dy-list-head,.dy-list-row,.supplier-list-head,.supplier-row){padding:7px 10px;font-size:var(--ui-body);line-height:1.4;gap:var(--ui-s2)}
body :is(.iv-list-head,.dy-list-head,.supplier-list-head){font-size:var(--ui-aux);font-weight:600}
body :is(.asset-grid,.delivery-list,.lost-found-list){gap:var(--ui-s3)}
body #assetResults .asset-info{padding:var(--ui-s3)}
body #assetResults .asset-info h4{font-size:var(--ui-name);font-weight:600;line-height:1.4}
body #assetResults .asset-meta{font-size:var(--ui-body);gap:4px 8px;line-height:1.5}
body #assetResults .asset-card-check{width:32px;height:32px;top:8px;right:8px}
body #assetResults .asset-card-check input{width:16px;height:16px}
body #assetResults.asset-compact{display:block}
body .ui-asset-table-wrap{overflow:auto;border:1px solid var(--mist-line);border-radius:10px;background:var(--mist-control)}
body .ui-asset-table{table-layout:fixed;width:100%;border-collapse:collapse}
body .ui-asset-table .check-col{width:38px;text-align:center;padding:7px 3px}
body .ui-asset-table .photo-col{width:58px}
body .ui-asset-table .name-col{width:23%}
body .ui-asset-table :is(td,th){white-space:normal;overflow-wrap:anywhere;vertical-align:middle}
body #assetResults .ui-asset-table tr.asset-card{display:table-row!important;background:transparent;box-shadow:none;border:0;border-radius:0;transform:none}
body #assetResults .ui-asset-table tr.asset-card:hover{background:var(--mist-blue);box-shadow:none;transform:none}
body #assetResults .ui-asset-table tr.asset-card:focus-visible{outline-offset:-3px}
body #assetResults .ui-asset-table .asset-card-check{position:static;display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;width:24px;height:28px;min-height:28px!important;padding:0;margin:0}
body #assetResults .ui-asset-table .asset-card-check input{width:16px!important;height:16px!important;min-height:16px!important;margin:0}
body #assetResults .ui-asset-table .asset-photo{width:40px;height:40px;min-height:0;padding:0;border-radius:6px;font-size:10px;text-align:center}
body #assetResults .ui-asset-table .asset-info{padding:0}
body .ui-asset-table .ui-asset-name{display:block;font-size:var(--ui-name);font-weight:600}
body .ui-asset-table .ui-asset-code{display:block;color:var(--mist-muted);font-size:var(--ui-aux);margin-top:2px;line-height:1.5}
body .ui-asset-table :is(.asset-name-with-policy,.asset-name-with-policy>span){white-space:normal;flex-wrap:wrap}
body .ui-asset-table tbody tr:last-child td{border-bottom:0}

/* Pagination and business badges never reuse large primary action styling. */
body :is(.pager,.task-pager,.asset-pager,.delivery-pagination,.invoice-pagination,.energy-progress-pager,.lost-found-pager,.energy-batch-pager){display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:var(--ui-s2);font-size:var(--ui-aux);line-height:1.5;margin-top:var(--ui-s3)}
body :is(.pager,.task-pager,.asset-pager,.delivery-pagination,.invoice-pagination,.energy-progress-pager,.lost-found-pager,.energy-batch-pager) :is(span,label){font-size:var(--ui-aux)}
body :is(.pager,.task-pager,.asset-pager,.delivery-pagination,.invoice-pagination,.energy-progress-pager,.lost-found-pager,.energy-batch-pager) .btn{min-height:var(--ui-button)!important;padding:4px 10px!important}
body :is(.badge,.status-pill,.asset-alert,.supplier-tag,.supplier-priority,.iv-review-state,.energy-bill-chip,.inv-status,.iv-detail-status,.task-age-badge,.asset-policy-badge){font-size:var(--ui-aux)!important;line-height:1.5!important;font-weight:500;padding:2px 6px;border-radius:6px!important;max-width:100%;white-space:normal;overflow-wrap:anywhere}

/* Touch density is independent of the access-terminal policy. No feature is hidden here. */
@media(max-width:599px),(pointer:coarse){
  :root{--ui-body:16px;--ui-button:48px;--ui-row-button:44px;--ui-tool-button:44px;--ui-field:48px;--ui-field-text:16px}
  body :is(.btn,.icon-btn,.icon-action,.supplier-dialog-close,.dy-followup-close,.dy-followup-dialog-close,.ui-view-switch>button,.asset-view-switch>button,.dy-view-switch>button,.image-zoom-toolbar button,.energy-proof-tools button,.energy-proof-toolbar button){min-width:44px!important;min-height:44px!important}
  body :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=hidden]){font-size:16px!important}
  body .sidebar #nav button{min-height:44px}
  body :is(.ui-results-tools,#assetBatchToolGroup .asset-command-buttons){gap:8px}
  body #assetBatchToolGroup{padding:4px!important}
  body .page-header-actions{overflow-x:auto}
  body .page-header-action-group{flex-wrap:nowrap}
  body :is(.ui-view-switch,.asset-view-switch,.dy-view-switch){gap:8px;flex-wrap:wrap;width:auto}
  body #assetResults .asset-card-check{width:44px;height:44px}
}
@media(max-width:920px){
  body .ui-asset-table-wrap{overflow:visible;border:0;background:transparent}
  body #assetResults .ui-asset-table{display:block;table-layout:auto;width:100%;min-width:0!important;max-width:100%}
  body .ui-asset-table :is(tbody,tr){width:100%}
  body #assetResults .ui-asset-table tr.asset-card{display:grid!important;grid-template-columns:44px minmax(0,1fr);gap:4px 8px;border:1px solid var(--mist-line);border-radius:10px;padding:10px;margin-bottom:8px;background:var(--mist-control)}
  body .ui-asset-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  body .ui-asset-table :is(td,tbody){display:block}
  body .ui-asset-table td{grid-column:2;padding:0;border:0;width:auto!important;min-width:0}
  body .ui-asset-table td[data-label]::before{content:attr(data-label)"：";color:var(--mist-muted);font-size:var(--ui-aux);font-weight:400}
  body .ui-asset-table td:is(.check-col,.photo-col){grid-column:1;display:flex;justify-content:center}
  body .ui-asset-table .check-col{grid-row:1/2}
  body .ui-asset-table .photo-col{grid-row:2/5}
  body #assetResults .ui-asset-table .asset-card-check{width:44px;height:44px;min-height:44px!important}
  body .ui-asset-table td.name-col{grid-row:1/2}
  body .ui-asset-table td:is(.check-col,.photo-col,.name-col)::before{content:none}
}
@media(prefers-reduced-motion:reduce){body :is(.btn,.icon-btn,.asset-card){transition:none}}
/* Clickable field headings share one quiet, keyboard-accessible affordance. */
.ui-sort-button{font:inherit;font-weight:600;color:inherit;border:0;background:transparent;padding:4px 0;min-height:var(--ui-row-button,28px);display:inline-flex;align-items:center;gap:6px;cursor:pointer;text-align:left}
.ui-sort-button span{color:var(--primary,#426b96);font-size:12px}
.ui-sort-button:hover{color:#315c8c}
.ui-sort-button:focus-visible{outline:2px solid #426b96;outline-offset:3px;border-radius:3px}
.ui-data-table{width:100%;border-collapse:collapse;table-layout:auto;font-size:13px}
.ui-data-table th{background:#eaf3f8;color:#4e657a;font-weight:600;text-align:left}
.ui-data-table td,.ui-data-table th{padding:7px 10px;border-bottom:1px solid #d3e5f0;vertical-align:middle;overflow-wrap:anywhere}
.ui-data-table td small{display:block;font-size:12px;color:#60768a}
.ui-data-table td strong{font-size:14px;font-weight:600}
.ui-data-table .ui-actions{display:flex;gap:8px;flex-wrap:wrap}
.ui-data-table .ui-id{font-size:12px;font-weight:400}
.ui-data-table button.asset-link{text-align:left;font-size:14px;font-weight:600}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ui-people{display:inline-block;max-width:100%;white-space:normal;overflow-wrap:anywhere;color:inherit;cursor:help;text-decoration:underline dotted #738aa0;text-underline-offset:3px;touch-action:manipulation}
.ui-people:focus-visible{outline:2px solid #4b75a2;outline-offset:3px;border-radius:3px}
.ui-people-tooltip{position:fixed;inset:auto;margin:0;box-sizing:border-box;width:max-content;max-width:min(400px,calc(100vw - 16px));max-height:min(320px,60vh);overflow:auto;padding:10px 12px;border:1px solid #a9bfd2;border-radius:7px;background:#f8fbfd;color:#263b50;box-shadow:0 6px 18px #263b5026;font:13px/1.6 var(--ui-font);overflow-wrap:anywhere;z-index:9999}
.ui-button-tooltip{position:fixed;inset:auto;margin:0;box-sizing:border-box;width:max-content;max-width:300px;max-height:60dvh;overflow:auto;padding:9px 12px;border:1px solid #426b96;border-radius:7px;background:#263b50;color:#fff;box-shadow:0 6px 18px #263b5026;font:12px/1.5 var(--ui-font);overflow-wrap:anywhere;white-space:pre-wrap;z-index:9999}
/* Repair modal padding uses the compact token; old -18px margins overflowed its 16px body. */
body .maintenance-detail-modal{min-width:0;max-width:100%;grid-template-columns:minmax(0,1fr);box-sizing:border-box}
body .maintenance-detail-modal :is(.form-grid,.form-grid>*,input,textarea,.purchase-channel-picker,.maintenance-detail-header){min-width:0;max-width:100%;box-sizing:border-box}
body .maintenance-detail-modal :is(p,dd,span,strong,small){overflow-wrap:anywhere;white-space:normal}
body .maintenance-detail-modal .modal-actions{margin:0 calc(-1 * var(--ui-s4)) calc(-1 * var(--ui-s4));padding:12px var(--ui-s4);bottom:calc(-1 * var(--ui-s4));flex-wrap:wrap;box-sizing:border-box}
body .maintenance-detail-modal .modal-actions .btn{max-width:100%;white-space:normal}
body #maintenanceBody td:nth-child(8){white-space:normal;min-width:130px;max-width:190px}
@media(pointer:coarse){.ui-people{min-height:44px;display:inline-flex;align-items:center}}
body .energy-non-current-badge{display:inline-flex;align-items:center;padding:2px 6px;border-radius:6px;background:#fcebed;color:#ac253c;font-size:12px;font-style:normal;font-weight:600;white-space:nowrap}
@media(max-width:760px),(pointer:coarse){.ui-sort-button{min-height:44px}}
@media(max-width:760px){
  .ui-data-table,.ui-data-table tbody,.ui-data-table tr,.ui-data-table td{display:block;width:auto;min-width:0}
  .ui-data-table thead{display:flex;overflow-x:auto;max-width:100%;background:#eaf3f8}
  .ui-data-table thead tr{display:flex;gap:12px;padding:4px 10px}
  .ui-data-table th{display:block;flex:0 0 auto;border:0;padding:0}
  .ui-data-table tr{border:1px solid #d3e5f0;border-radius:7px;margin-bottom:8px;padding:4px 0}
  .ui-data-table td{display:grid;grid-template-columns:85px minmax(0,1fr);gap:8px;border:0;padding:4px 10px}
  .ui-data-table td::before{content:attr(data-label);color:#60768a;font-size:12px}
  .ui-data-table td .ui-actions{grid-column:2}
  body table:not(.ui-data-table):has([data-ui-sort]) thead{display:block!important;overflow-x:auto;max-width:100%;background:var(--mist-blue)}
  body table:not(.ui-data-table):has([data-ui-sort]) thead tr{display:flex!important;gap:12px;padding:4px 10px}
  body table:not(.ui-data-table):has([data-ui-sort]) thead th{display:block!important;flex:none;padding:0;border:0}
  body table:not(.ui-data-table):has([data-ui-sort]) thead th:not(:has([data-ui-sort])){display:none!important}
  body :is(.dy-followup-header,.iv-list-head):has([data-ui-sort]){display:flex!important;gap:12px;overflow-x:auto;max-width:100%;padding:4px 10px}
  body :is(.dy-followup-header,.iv-list-head):has([data-ui-sort])>span{flex:none}
  body :is(.dy-followup-header,.iv-list-head):has([data-ui-sort])>span:not(:has([data-ui-sort])){display:none}
}
@media(min-width:761px) and (max-width:1200px){body .iv-list-head:has([data-ui-sort]){display:flex;gap:12px;overflow-x:auto}body .iv-list-head>span:not(:has([data-ui-sort])){display:none}}
@media(min-width:761px) and (max-width:1100px){body .dy-followup-header:has([data-ui-sort]){display:flex;gap:12px;overflow-x:auto}body .dy-followup-header>span:not(:has([data-ui-sort])){display:none}}
/* V18.0.3: related personnel actions and inline supplier creation. */
body .personnel-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-left:auto}
body .purchase-supplier-field .purchase-channel-picker{display:grid;grid-template-columns:minmax(0,1fr) 36px;gap:8px;align-items:start}
body .purchase-supplier-field .purchase-channel-picker>input{padding-right:10px;min-height:36px;width:100%;box-sizing:border-box}
body .purchase-supplier-field .purchase-supplier-add{position:static;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;min-height:36px;padding:0;border:1px solid var(--control-border,#738aa0);border-radius:7px;font-size:20px;line-height:1;background:#eaf3f8;box-sizing:border-box}
body .person-lost-item{display:flex;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid #d3e5f0;min-width:0}
body .person-lost-item>div{flex:1;min-width:0;overflow-wrap:anywhere}
body .person-lost-item small{display:block;color:#60768a;font-size:12px}
body .person-lost-item dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;margin:0;flex:2;min-width:0}
body .person-lost-item dt{color:#60768a;font-size:12px}
body .person-lost-item dd{margin:0;overflow-wrap:anywhere}
body .person-possessions .ui-pagination{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-top:12px}
body .maintenance-return-form label{display:grid;gap:4px}
body .maintenance-return-form .maintenance-method-options label{display:flex;align-items:center;gap:6px}
body .maintenance-return-form textarea{width:100%;box-sizing:border-box;min-width:0;resize:vertical}
body .maintenance-return-record{padding:12px 0;border-bottom:1px solid #d3e5f0;overflow-wrap:anywhere}
body .maintenance-return-record:last-child{border-bottom:0}
body .maintenance-return-record p{margin:6px 0}
body .maintenance-return-quality{color:#60768a;font-size:12px}
@media(max-width:600px){body .person-lost-item{flex-wrap:wrap}body .person-lost-item>div,body .person-lost-item dl{flex-basis:100%}}
@media(max-width:600px){body .maintenance-detail-modal .maintenance-action-section .form-grid{grid-template-columns:minmax(0,1fr)!important}}
@media(pointer:coarse),(max-width:700px){body .purchase-supplier-field .purchase-channel-picker{grid-template-columns:minmax(0,1fr) 44px}body .purchase-supplier-field .purchase-supplier-add{width:44px;height:44px;min-height:44px}body .purchase-supplier-field .purchase-channel-picker>input{min-height:44px}}

/* V18.0.4: controls share one bottom baseline, including labelled dates,
   switches, query and clear. Scope is explicit; business forms are untouched. */
body .ui-filterbar{align-items:end!important;gap:8px;min-width:0}
body .ui-filterbar>label:not(:has(input[type=checkbox])){display:flex;flex-direction:column;gap:4px;min-width:0;margin:0}
body :is(.page,.modal,dialog) .ui-filterbar :is(input,select):not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]),body :is(.page,.modal,dialog) .ui-filterbar .btn,body #page-invoices .invoice-filters summary{box-sizing:border-box;min-height:var(--ui-field)!important;height:var(--ui-field)!important;margin-block:0}
body #page-invoices .invoice-filters .btn{min-height:var(--ui-field)!important;height:var(--ui-field)!important}
body .ui-filterbar .btn{align-self:end;white-space:nowrap}
body .ui-filter-clear{border-color:var(--mist-line)!important;background:var(--mist-control)!important;color:var(--mist-focus)!important;font-weight:600}
body .ui-filter-clear:hover:not(:disabled),body .ui-selection-action:hover:not(:disabled){background:var(--mist-blue)!important}
body .ui-selection-action{min-height:var(--ui-field)!important;padding:6px 12px!important;border:1px solid var(--mist-line)!important;border-radius:7px!important;background:var(--mist-control)!important;color:var(--mist-focus)!important;font-size:var(--ui-field-text)!important;font-weight:600;box-shadow:none!important;white-space:nowrap}
body .ui-selection-action:focus-visible,body .ui-filter-clear:focus-visible{outline:2px solid var(--mist-primary);outline-offset:2px}
body .ui-selection-action:disabled{opacity:.52;cursor:not-allowed}
body .ui-filterbar :is(input,select,button,summary){transition-property:background-color,border-color,color,box-shadow!important}
body #page-invoices #invoiceFilters :is(input,select,summary){font-size:var(--ui-field-text)!important}
body .ui-filter-actions{display:flex;align-items:end;gap:8px}
body #deliveryFilters{display:flex;align-items:end;flex-wrap:wrap;gap:8px}
body #page-delivery #deliveryFilters :is(input,select){font-size:var(--ui-field-text)!important}
body #page-delivery.delivery-records-view #deliveryFilters{display:grid;grid-template-columns:minmax(0,1fr) 160px 170px auto auto;grid-template-areas:'search month stage query clear'}
body #page-delivery.delivery-records-view #uiFilterClear-delivery{grid-area:clear}
body #deliveryFilters>input:not([type=month]){flex:1 1 220px;min-width:160px}
body #deliveryFilters .dy-date-range{display:flex;align-items:end;gap:8px}
body #deliveryFilters .dy-date-range>label{display:grid;gap:4px;margin:0;min-width:0}
body #deliveryFilters .dy-date-range input{width:140px;min-width:0}
body #deliveryCollectedChecks{align-self:end;gap:8px;flex-wrap:wrap}
body #deliveryCollectedChecks .dy-collected-toggle{box-sizing:border-box;height:var(--ui-field);min-height:var(--ui-field);margin:0;padding:4px 8px;align-items:center}
body #page-invoices .invoice-toolbar>div{display:flex;gap:8px 12px;align-items:baseline;flex-wrap:wrap;width:100%}
body #page-invoices .invoice-toolbar p{margin:0}
body #page-invoices .invoice-filters{display:grid;grid-template-columns:minmax(220px,1fr) repeat(2,140px) repeat(3,110px) 140px auto;gap:8px;margin:16px 0}
body #page-invoices .invoice-filters>:is(label,.iv-platform-filter){width:auto;min-width:0}
body #page-invoices .invoice-filters .iv-filter-search{min-width:0}
body #page-invoices .invoice-selection{display:flex;justify-content:space-between;gap:8px 16px;border-top:1px solid #d3e5f0;padding:12px 0;margin:0}
body #page-invoices .iv-selection-summary{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;min-width:0}
body #page-invoices .iv-selection-summary .invoice-check{flex:0 0 auto;gap:8px;min-height:36px;white-space:nowrap}
body #page-invoices .iv-selected-total{color:#263b50;white-space:nowrap}
body #page-invoices #invoiceSelectedAmount{font-size:16px;color:#263b50}
body #page-invoices .iv-batch-actions{border:0;padding:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
body #page-invoices .iv-print-mode{display:flex;align-items:center;gap:8px;margin:0;min-width:0}
body #page-invoices .iv-print-mode>span{white-space:nowrap;flex-shrink:0}
body #page-invoices .iv-print-mode select{min-width:130px;max-width:100%;min-height:36px!important;height:36px!important}
body #page-invoices .iv-batch-actions>.btn{min-height:36px!important;height:36px!important;align-self:center}
body #invoicePrintStatus{flex-basis:100%;font-size:12px;overflow-wrap:anywhere}
body #invoicePrintStatus:empty{display:none}
body .iv-review-choices{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center}
body .energy-existing-dialog{box-sizing:border-box;width:min(840px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;border:1px solid #d3e5f0;border-radius:14px;background:#f6fafc;color:#263b50;overflow:auto}
body .energy-existing-dialog::backdrop{background:#263b5070}
body .energy-existing-dialog>:is(header,footer){display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:#f6fafc}
body .energy-existing-dialog>header{border-bottom:1px solid #d3e5f0}
body .energy-existing-dialog>footer{position:sticky;bottom:0;border-top:1px solid #d3e5f0}
body .energy-existing-body{padding:16px;overflow-wrap:anywhere}
body .energy-existing-body img{display:block;width:100%;height:auto}
body .energy-existing-body summary{padding:8px;cursor:pointer}
@media(max-width:1450px){body #page-invoices .invoice-filters{grid-template-columns:repeat(6,minmax(0,1fr))}body #page-invoices .invoice-filters .iv-filter-search{grid-column:span 2}body #page-invoices .invoice-filters .iv-platform-filter{grid-column:span 2}body #page-invoices .invoice-filters .ui-filter-actions{grid-column:span 3}}
@media(min-width:1201px) and (max-width:1450px){body #page-invoices :is(.iv-list-head,.iv-list-row){grid-template-columns:24px minmax(70px,1fr) 70px 68px minmax(56px,.8fr) minmax(110px,1.3fr) 76px 50px 106px 50px 42px!important;gap:6px!important}}
@media(max-width:760px){
  body #page-invoices .invoice-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
  body #page-invoices .invoice-filters>:is(.iv-filter-search,.iv-platform-filter,.ui-filter-actions){grid-column:1/-1}
  body #page-invoices .iv-batch-actions{width:100%;padding-top:8px;border-top:1px solid #d3e5f0}
  body #page-invoices .iv-print-mode{flex:1 1 100%;justify-content:space-between}
  body #page-invoices .iv-batch-actions>.btn{flex:1}
  body #deliveryFilters>:is(input,select,.dy-date-range,.dy-collected-checks){width:100%;min-width:0}
  body #deliveryFilters .dy-date-range>label{flex:1}
  body #deliveryFilters .dy-date-range input{width:100%}
  body .ui-filterbar{flex-wrap:wrap}
  body .energy-existing-dialog>footer{flex-wrap:wrap}
}
@media(pointer:coarse),(max-width:700px){
  body :is(.page,.modal,dialog) .ui-filterbar :is(input,select):not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]),body :is(.page,.modal,dialog) .ui-filterbar .btn,body #page-invoices .invoice-filters summary,body #page-invoices .invoice-filters .btn,body #deliveryCollectedChecks .dy-collected-toggle,body #page-invoices .iv-batch-actions>.btn,body #page-invoices .iv-print-mode select{height:44px!important;min-height:44px!important}
}
@media(max-width:1000px){body #page-delivery.delivery-records-view #deliveryFilters{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:'search search' 'month stage' 'query clear'}}

/* V18.0.5: field toolbars fill the page, not desktop max-content slots.
   Visibility/terminal policy still wins over these layout-only rules. */
@media(max-width:920px),(max-width:1100px) and (hover:none) and (pointer:coarse){
  body #page-assets .mist-results-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
  body #page-assets .mist-results-heading h3{margin:0}
  body #page-assets .ui-results-tools{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr);width:100%;margin:0;gap:8px}
  body #page-assets #assetBatchToolGroup{display:block!important;width:100%!important;min-width:0;box-sizing:border-box;padding:4px!important}
  body #page-assets #assetBatchToolGroup .asset-command-buttons{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.5fr)!important;gap:8px!important;width:100%}
  body #page-assets #assetBatchToolGroup #assetBatchOpsBtn{grid-column:auto!important;border-left:0}
  body #page-assets #assetBatchToolGroup .btn{width:100%;min-width:0!important;min-height:44px!important;white-space:normal}
  body #page-assets .asset-view-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;box-sizing:border-box;gap:8px}
  body #page-assets .asset-command-toolbar{padding:8px!important}
  body #page-assets .asset-command-groups{gap:8px!important}
  body #page-assets #assetFilterToolGroup .asset-command-buttons{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  body #page-assets #assetFilterToolGroup .btn{min-width:0;min-height:44px!important;width:100%;box-sizing:border-box;white-space:normal;overflow-wrap:anywhere}
  body #page-assets #assetFilterToolGroup #assetNoRfidBtn{grid-column:auto!important}
  body #page-assets #assetFilterToolGroup #assetClearBtn{grid-column:1/-1}
  body .energy-proof-tools{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));width:100%;gap:8px}
  body .energy-proof-tools button{min-width:0!important;min-height:44px!important;padding:4px!important}
  body .energy-proof-full{min-height:44px;max-width:calc(100% - 18px);white-space:normal}
  body .energy-proof-media>header small{line-height:1.5}
  body input[type=file]{width:100%;min-width:0;max-width:100%;box-sizing:border-box}
  body .lost-found-filter-row{display:flex;flex-wrap:wrap;gap:8px}
  body .lost-found-filter-row>:is(input,select){flex:1 1 160px;min-width:0;max-width:100%}
  body .lost-found-filter-row>.btn{flex:1 1 100px;min-width:0}
  body #page-assets #assetBatchToolGroup:is(.hidden,.terminal-feature-hidden,[hidden]){display:none!important}
}
@media(max-width:380px){body .energy-proof-tools{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* Invisible full-width absolute radios used to extend the tablet document.
   Keep native semantics/focus, with the visible label as the touch surface. */
body .choice-segment label{position:relative;min-width:0}
body .choice-segment input{inset:0;width:1px!important;height:1px!important;min-width:0!important;min-height:0!important;margin:0;clip-path:inset(50%)}
body .choice-segment input:focus-visible+span{outline:2px solid var(--mist-primary);outline-offset:2px}
@media(max-width:1200px){
  body .lost-found-filter-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px}
  body .lost-found-filter-row>:is(input,select,.btn){width:100%;min-width:0;box-sizing:border-box}
}
@media(pointer:coarse),(max-width:760px){body .choice-segment label span{min-height:44px;height:auto;white-space:normal}}
.proof-hint-touch{display:none}
.image-preview-stage:is(.is-dragging,.is-pinching) img{transition:opacity .12s}
.iv-preview-image{touch-action:none;overscroll-behavior:contain}
.iv-preview-image img{user-select:none;-webkit-user-drag:none}
.iv-preview-hint{flex:none;margin:0;color:var(--mist-muted);font-size:var(--ui-aux);line-height:1.5}
/* V18.0.6: real fields, readable history, one bottom workflow action area. */
body .energy-batch-source{height:auto;min-width:0;align-self:start}
body .energy-batch-source-caption{margin:6px 0 0;padding:0 4px;font-size:12px;line-height:1.5;color:var(--mist-text,#263b50);overflow-wrap:anywhere;white-space:normal}
body .energy-batch-source-caption span{display:block}
body .dy-parcel-detail .dy-detail-history{padding:12px 16px!important;box-sizing:border-box;min-width:0}
body .dy-detail-history>p{margin:10px 0;overflow-wrap:anywhere}
body .dy-detail-history>p small{display:block}
body .dy-detail-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;margin-top:12px;border-top:1px solid var(--mist-border,#d3e5f0);padding-top:12px}
body .dy-detail-footer .delivery-detail-actions{margin:0;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
body .dy-detail-footer .delivery-detail-actions:empty{display:none}
body .dy-followup-header,body .dy-followup-row>button{grid-template-columns:minmax(0,2fr) minmax(6em,.8fr) minmax(4em,.6fr) minmax(6em,.8fr) minmax(0,1.5fr) 6em 6em 5em;gap:12px}
body .dy-followup-header>span{white-space:nowrap;text-align:left;justify-self:start}
body .dy-followup-row .dy-stage{white-space:nowrap}
body .dy-followup-recipient{min-width:0;overflow-wrap:anywhere}
body .web-version-link{display:block;background:none;border:0;border-radius:4px;padding:0;color:var(--mist-muted,#60768a);font-size:12px;cursor:pointer;min-height:28px;text-align:left}
body .web-version-link:hover{color:var(--mist-primary,#4b75a2);text-decoration:underline}
body .web-version-link:focus-visible{outline:2px solid var(--mist-primary,#4b75a2);outline-offset:2px}
body .release-history-dialog{box-sizing:border-box;width:min(640px,calc(100% - 24px));max-height:calc(100dvh - 24px);padding:16px;border:1px solid var(--mist-border,#d3e5f0);border-radius:14px;background:var(--mist-bg,#f6fafc);color:var(--mist-text,#263b50);overflow:auto}
.release-history-dialog::backdrop{background:rgba(38,59,80,.45)}
body .release-history-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:12px}
body .release-history-dialog h3{margin:0}
body .release-history-help{color:var(--mist-muted,#60768a);font-size:12px}
.release-history-list details{padding:8px 12px;margin:8px 0;border:1px solid var(--mist-border,#d3e5f0);border-radius:8px;background:#fff}
.release-history-list summary{min-height:32px;display:list-item;align-content:center;cursor:pointer;font-weight:600}
.release-history-list ul{margin:8px 0;padding-left:20px}
.release-history-list li{margin:6px 0;overflow-wrap:anywhere}
@media(max-width:1100px){
 body .dy-followup-header{display:none}
 body .dy-followup-row>button{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px}
 body .dy-followup-row>button>:is(.dy-followup-main,.dy-followup-place,.dy-followup-recipient,.dy-followup-person,.dy-followup-reason){grid-column:1/-1;grid-row:auto;text-align:left;justify-self:start}
 body .dy-followup-place::before{content:'配送至：';color:var(--mist-muted)}
 body .dy-followup-recipient::before{content:'接收人：';color:var(--mist-muted)}
 body .dy-followup-row>button>.dy-stage{grid-column:1;grid-row:auto}
 body .dy-followup-age{grid-column:1;grid-row:auto;justify-self:start}
 body .dy-followup-age::before{content:'本次耗时：'}
 body .dy-followup-open{grid-column:2;grid-row:auto}
}
@media(pointer:coarse),(max-width:760px),(max-width:920px) and (max-height:500px){
 body .web-version-link,body .release-history-list summary{min-height:44px}
 body .release-history-dialog{padding:12px;padding-bottom:max(12px,env(safe-area-inset-bottom))}
 body .release-history-dialog .btn{min-width:44px;min-height:44px}
 body .dy-detail-footer .btn{min-height:44px;white-space:normal}
}
@media(hover:none),(pointer:coarse){.proof-hint-desktop{display:none}.proof-hint-touch{display:inline}}

/* V18.0.7: compact desk workflows, shared card/list selection, touch-safe wrap. */
body .procurement-page-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
body .procurement-page-head .workspace-tabs{margin:0;max-width:100%}
body .procurement-page-tools{display:flex;justify-content:flex-end;gap:8px;flex-shrink:0}
body .procurement-page-tools .active{border-color:var(--mist-primary);color:var(--mist-primary);background:var(--mist-blue,#eaf3f8)}
body .filing-intro{margin-bottom:12px}
body .filing-intro h3{margin:0 0 4px}
body .filing-workspace{padding:20px}
body .filing-workspace .ai-reference{padding:16px;border:1px solid var(--mist-border);border-radius:10px;background:var(--mist-blue,#eaf3f8);margin:0 0 20px}
body .filing-workspace .ai-reference h3{margin:0 0 4px}
body .filing-workspace .ai-reference p{margin:4px 0 12px}
body #assetCreateForm .form-section-title{padding:12px 0 8px;margin:12px 0 8px;border-bottom:1px solid var(--mist-border);font-size:16px}
body #assetCreateForm .procurement-quantity-field{display:grid;max-width:none;gap:4px;align-content:start}
body #assetCreateForm .procurement-quantity-field input{width:100%!important;max-width:none}
body .filing-workspace .form-details{margin:20px 0}
body .filing-workspace .procurement-submit-bar{justify-content:flex-end;border-top:1px solid var(--mist-border);padding-top:12px}
body #page-batch .procurement-import-steps{gap:12px}
body #page-batch .batch-export-grid{display:grid;grid-template-columns:1fr;gap:12px}
body #page-batch .batch-export-grid .quick{text-align:left;min-height:88px;border:1px solid var(--mist-border);background:#fff;border-radius:10px;padding:16px}
body #page-batch .procurement-submit-bar{justify-content:flex-end}
body .task-result-tools,body #taskBatch{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
body .task-result-tools{justify-content:flex-end}
body .task-selection-status{min-height:18px;margin:0 0 12px;color:var(--mist-muted);font-size:12px}
body .task-group-select{display:flex;align-items:center;gap:8px;margin:0;align-self:flex-start;cursor:pointer}
body .task-card-select{display:flex;align-items:center;justify-content:center;flex-shrink:0;margin:0;cursor:pointer}
body :is(.task-group-select,.task-card-select) input{width:20px;height:20px;margin:0;accent-color:var(--mist-primary)}
body .task-group.selected{border-color:var(--mist-primary);box-shadow:0 0 0 2px var(--mist-primary);background:#dcecf6}
body .task-list-heading{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) 90px minmax(190px,.9fr);gap:12px;padding:10px 14px;border:1px solid var(--mist-border);border-radius:8px;background:var(--mist-blue);font-weight:600;margin-bottom:8px}
body .task-layout-list .task-list,body .task-layout-list .task-group-members{display:grid;grid-template-columns:1fr;gap:8px}
body #taskPanel.task-layout-list .task-card{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) 90px minmax(190px,.9fr);align-items:center;gap:12px;padding:12px 14px;border-radius:8px;box-shadow:none}
body .task-layout-list .task-card-top{display:contents}
body .task-layout-list .task-card-select{grid-column:1;grid-row:1;align-self:start;justify-self:start;z-index:1}
body .task-layout-list .task-card-title{grid-column:1;grid-row:1;padding-left:0}
body .task-layout-list .task-card:has(.task-card-select) .task-card-title{padding-left:28px}
body #taskPanel.task-layout-list .task-card-title strong{font-size:14px}
body #taskPanel.task-layout-list .task-card-title .task-subject{font-size:12px;margin:4px 0 0}
body .task-layout-list .task-card-top>.task-age-badge{position:static;grid-column:3;grid-row:1;justify-self:start}
body .task-layout-list .task-handler{grid-column:2;grid-row:1;margin:0;min-width:0}
body #taskPanel.task-layout-list .task-actions{grid-column:4;grid-row:1;margin:0;padding:0;border:0;display:flex;justify-content:flex-end;flex-wrap:wrap}
body .task-layout-list .task-actions .task-date{flex-basis:100%;text-align:right}
body .task-layout-list .task-card>:is(.task-warning,.task-anomaly-badge){grid-column:1/-1}
body .task-layout-list .task-group{border-radius:8px;margin:0}
body .task-layout-list .task-group::before,body .task-layout-list .task-group::after,body .task-layout-list .task-folder-icon{display:none}
body .task-layout-list .task-group>header{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:12px 14px}
body .task-layout-list .task-group-heading{grid-column:1;grid-row:2}
body .task-layout-list .task-group h3{font-size:14px;margin:0}
body .task-layout-list .task-group-age{grid-column:2;grid-row:1;justify-self:end}
body .task-layout-list .task-group-actions{grid-column:2;grid-row:2/4;border:0;padding:0;justify-content:flex-end}
body .task-layout-list .task-group-actions>span{display:none}
body .task-layout-list .task-group-content{padding:0 12px 12px}
body .review-score-popover{position:relative;min-width:0;align-self:end}
body .review-score-popover>summary{min-height:36px;box-sizing:border-box;align-content:center;padding:6px 10px;border:1px solid var(--mist-border);border-radius:8px;background:#fff;cursor:pointer;white-space:nowrap;font-size:12px}
body .review-score-popover output{font-weight:600}
body .review-score-popover .review-score{position:absolute;z-index:30;right:0;top:calc(100% + 8px);box-sizing:border-box;width:300px;max-width:calc(100vw - 32px);padding:12px;background:#fff;box-shadow:0 8px 24px #263b5026}
body .review-score-popover .review-score>div{grid-template-columns:1fr;gap:8px}
body .review-score-popover input[type=range]{min-height:32px;width:100%}
body .dy-detail-footer :is(.modal-actions,.task-ack-actions){margin:0;justify-content:flex-end}
@media(min-width:1101px){
 body #page-batch.active{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,.8fr);gap:16px;align-items:start}
 body #page-batch>.procurement-page-head,body #page-batch>.procurement-intro{grid-column:1/-1;margin:0}
 body #page-batch>.panel{margin:0;min-width:0;padding:20px}
 body #page-batch .procurement-import-steps{grid-template-columns:1fr}
 body #page-batch .procurement-import-steps>div{display:grid;grid-template-columns:32px minmax(0,1fr) 150px;gap:8px 16px;padding:14px}
 body #page-batch .procurement-import-steps>div>.btn{grid-column:3;align-self:center;margin:0;width:auto}
 body #page-batch:has(#batchPreviewStage:not(.hidden)){grid-template-columns:1fr}
 body #taskFilters.task-filters{display:grid;grid-template-columns:minmax(140px,2fr) minmax(110px,1fr) minmax(120px,1fr) minmax(110px,.8fr) auto auto;align-items:end;gap:8px}
 body #taskFilters.task-filter-mine{grid-template-columns:minmax(140px,2fr) minmax(110px,1fr) minmax(110px,.8fr) auto auto}
 body #taskFilters .mist-field{min-width:0;margin:0;display:grid;gap:4px}
 body #taskFilters :is(input,select){height:36px;min-height:36px;margin:0;width:100%}
 body #taskFilters>.btn{height:36px;min-height:36px;margin:0;grid-column:auto;justify-self:auto;width:auto}
 body #reviewFilters.review-filters{grid-template-columns:minmax(110px,1.3fr) minmax(80px,.8fr) minmax(80px,.8fr) 125px 125px 142px auto;align-items:end;gap:8px;padding:12px}
 body #reviewFilters>label{gap:4px}
 body #reviewFilters :is(input:not([type=range]):not([type=checkbox]),select){width:100%;min-width:0;min-height:36px;height:36px;margin:0;padding:6px}
 body #reviewFilters .review-filter-actions{display:flex;gap:8px;margin:0;grid-column:auto}
 body #reviewFilters .review-filter-actions .btn{min-height:36px;height:36px}
}
/* V18.0.8: padded, in-border headings; query suggestions never grant location permissions. */
body :is(.review-score-popover,.residual-popover){position:relative;min-width:0;align-self:end}
body .residual-popover>summary{box-sizing:border-box;min-height:36px;padding:6px 10px;align-content:center;border:1px solid var(--mist-border);border-radius:8px;background:#fff;cursor:pointer;white-space:nowrap;font-size:12px}
body :is(.review-score-popover,.residual-popover)>.range-popover-panel{position:absolute;z-index:40;top:calc(100% + 8px);right:0;width:300px;max-width:calc(100vw - 32px);box-sizing:border-box;padding:14px;border:1px solid var(--mist-border);border-radius:10px;background:#fff;box-shadow:0 8px 24px #263b5026}
body .range-popover-panel>h4{margin:0 0 12px;font-size:13px;line-height:1.5;color:var(--mist-ink)}
body .range-popover-panel :is(fieldset,.review-score){position:static;display:grid;gap:12px;min-width:0;width:100%;max-width:none;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;background:transparent}
body .range-popover-panel label{display:grid;gap:4px;min-width:0;margin:0}
body .range-popover-panel input[type=range]{box-sizing:border-box;min-width:0;width:100%;min-height:32px;margin:0;accent-color:var(--mist-primary)}
body .range-popover-panel .review-unscored{display:flex;align-items:center;gap:8px;margin:0}
body #disposalFilters{display:grid!important;grid-template-columns:minmax(130px,1.6fr) minmax(90px,.8fr) 125px 125px minmax(130px,1fr) 120px auto;align-items:end;gap:8px}
body #disposalFilters>label{display:grid;gap:4px;min-width:0;margin:0;grid-column:auto}
body #disposalFilters>label>span{white-space:nowrap;font-size:12px}
body #disposalFilters :is(input:not([type=range]),select){box-sizing:border-box;width:100%;min-width:0;min-height:36px;height:36px;margin:0;padding:6px;font-size:13px}
body #disposalFilters>.range-filter-actions{grid-column:auto;grid-row:auto;display:flex;gap:8px;margin:0}
body #disposalFilters>.range-filter-actions .btn{min-height:36px;height:36px;padding:6px 10px;font-size:13px}
body .room-filter-picker{display:block;position:relative;min-width:0;width:100%;box-sizing:border-box}
body .room-filter-picker .location-suggestions{z-index:45;box-sizing:border-box;max-height:240px;max-width:calc(100vw - 32px);min-width:min(230px,calc(100vw - 32px));width:max(100%,230px);text-align:left}
body .room-filter-picker .location-suggestion{width:100%;box-sizing:border-box;min-width:0;text-align:left;white-space:normal}
body .room-filter-picker .location-suggestion[aria-selected=true]{background:var(--mist-blue);outline:2px solid var(--mist-primary);outline-offset:-2px}
body .room-filter-picker small{display:block;overflow-wrap:anywhere}
body .room-hint-empty{padding:12px;white-space:normal}
body .panel:has(.room-filter-picker [aria-expanded=true]),body .panel:has(.residual-popover[open]),body .panel:has(.review-score-popover[open]){position:relative;z-index:50}
@media(max-width:1200px){body #disposalFilters{grid-template-columns:repeat(3,minmax(0,1fr))}body #disposalFilters>label:first-child{grid-column:span 2}body #disposalFilters>.range-filter-actions{justify-content:flex-end}}
@media(max-width:760px),(pointer:coarse){
 body #disposalFilters{grid-template-columns:repeat(2,minmax(0,1fr))}
 body #disposalFilters>label:first-child,body #disposalFilters>.range-filter-actions{grid-column:1/-1}
 body #disposalFilters :is(input:not([type=range]),select,.btn),body .residual-popover>summary{min-height:44px;height:auto}
 body #disposalFilters :is(input:not([type=range]),select){font-size:16px}
 body :is(.review-score-popover,.residual-popover)>.range-popover-panel{right:auto;left:0;width:280px}
 body .range-popover-panel input[type=range],body .range-popover-panel .review-unscored,body .room-filter-picker .location-suggestion{min-height:44px}
 body .room-filter-picker .location-suggestion{padding:10px;touch-action:manipulation}
}
@media(max-width:1100px){
 body #taskFilters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:8px}
 body #taskFilters>.mist-field:first-child{grid-column:1/-1}
 body #taskFilters>.btn{width:auto;grid-column:auto}
 body .task-list-heading{display:none}
 body #taskPanel.task-layout-list .task-card{grid-template-columns:minmax(0,1fr) auto;gap:8px}
 body .task-layout-list .task-card-title{grid-column:1}
 body .task-layout-list .task-card-top>.task-age-badge{grid-column:2}
 body .task-layout-list .task-handler{grid-column:1/-1;grid-row:auto}
 body #taskPanel.task-layout-list .task-actions{grid-column:1/-1;grid-row:auto}
 body .task-layout-list .task-group-actions{grid-column:1/-1;grid-row:auto}
 body .procurement-page-head{align-items:flex-start;flex-wrap:wrap}
 body .procurement-page-tools{margin-left:auto}
}
@media(pointer:coarse),(max-width:760px){
 body .filing-workspace{padding:12px}
 body .filing-workspace .ai-reference{padding:12px}
 body .task-group-select{min-height:44px}
 body .task-group-select input{min-width:24px;min-height:24px}
 body .task-card-select{width:44px;min-height:44px}
 body .task-layout-list .task-card:has(.task-card-select) .task-card-title{padding-left:52px}
 body .review-score-popover>summary{min-height:44px}
 body .review-score-popover .review-score{right:auto;left:0}
 body #taskFilters :is(input,select,.btn){min-height:44px;height:auto}
 body .task-result-tools{justify-content:flex-start;width:100%}
 body #taskBatch{gap:8px}
}

/* V18.1.3: one filter control height/baseline, including current-location input. */
body .ui-filterbar :is(.asset-filter-toggle,summary){box-sizing:border-box;height:var(--ui-field)!important;min-height:var(--ui-field)!important;margin-block:0;align-content:center}
body .ui-filterbar>label{align-self:end;gap:4px!important}
body .ui-filterbar>label>span{line-height:18px}
body .ui-filterbar :is(input,select,.btn,summary):not([type=checkbox]):not([type=radio]):not([type=range]){font-size:var(--ui-field-text)!important;line-height:1.5}
body .ui-filterbar .filter-active{border-color:#1677e8!important;background:#eef6ff!important;box-shadow:0 0 0 2px #1677e81a!important;color:#1f4e7c}
body #page-assets .archive-filter-row>label{margin:0;align-self:end}
@media(max-width:760px),(pointer:coarse){
 body .ui-filterbar :is(.asset-filter-toggle,summary){height:44px!important;min-height:44px!important}
 body .ui-filterbar :is(input,select):not([type=checkbox]):not([type=radio]):not([type=range]){font-size:16px!important}
}

/* Keep room suggestions above the task cards instead of trapping them in the filter stack. */
body #page-approvals #taskFilters:has(#taskRoom[aria-expanded="true"]){position:relative;z-index:80;overflow:visible}
body #page-approvals #taskFilters .room-filter-picker:has(#taskRoom[aria-expanded="true"]){z-index:81}
body #page-approvals #taskFilters .location-suggestions{z-index:82}

body #modal.modal-rfid-bind{width:min(680px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:hidden}
body #modal.modal-rfid-bind #modalBody{overflow-y:auto;max-height:calc(100dvh - 82px)}
body .rfid-bind-body{padding:14px 18px!important}
body .rfid-bind-grid{gap:10px 12px}
body .rfid-bind-grid>label{margin:0;min-width:0}
body .rfid-bind-grid input:not([type=range]){min-height:38px;margin-top:4px}
body .rfid-bind-grid .r1-power-row{display:flex;align-items:center;gap:12px;margin:0;padding:6px 0}
body .rfid-bind-grid .r1-power-row label{flex:1;margin:0}
body .rfid-bind-grid .rfid-read-row{display:flex;align-items:center;gap:10px}
body .rfid-bind-grid .rfid-read-row span{font-size:13px;color:var(--mist-muted)}
body .rfid-write-panel{margin:10px 0 0;padding:12px;border:1px solid var(--mist-line,#cbd8e7);border-radius:10px;background:var(--mist-soft,#f4f8fc)}
body .rfid-write-panel p{margin:6px 0 10px;line-height:1.5;color:var(--mist-muted)}
body .rfid-write-panel #rbWriteUniqueStatus{margin-top:8px;min-height:20px;line-height:1.5;color:var(--mist-ink,#173454);overflow-wrap:anywhere}
body .rfid-bind-body .modal-actions{margin-top:10px}
@media(max-width:560px){body .rfid-bind-grid{grid-template-columns:1fr}body .rfid-bind-grid>label{grid-column:1/-1}}
