/* Haiyue · light mist / frosted glass. Loaded last; business state classes remain authoritative. */
:root {
  --mist-white:#F6FAFC; --mist-blue:#EAF3F8; --mist-ice:#F2F8FA;
  --mist-nav-start:#EBF4F9; --mist-nav-end:#D3E5F0;
  --mist-ink:#263B50; --mist-muted:#60768A; --mist-on-tint:#4E657A;
  --mist-primary:#4B75A2; --mist-primary-end:#426B96; --mist-teal:#559A9A;
  --mist-success:#286C64; --mist-success-bg:#E5F2EF;
  --mist-danger:#A83E4D; --mist-danger-bg:#F9E9EC;
  --mist-warning:#87591E; --mist-warning-bg:#F8EEDB;
  --mist-surface:#F8FBFD; --mist-glass:rgba(255,255,255,.73);
  --mist-control:rgba(255,255,255,.82); --mist-line:#D5E3ED; --mist-control-line:#738AA0;
  --mist-white-line:rgba(255,255,255,.94); --mist-focus:#365F89;
  --mist-shadow:0 12px 32px rgba(65,100,126,.075); --mist-shadow-hover:0 12px 28px rgba(65,100,126,.13);
  --mist-radius:18px; --mist-radius-control:10px; --mist-blur:24px;
  --mist-s1:4px; --mist-s2:8px; --mist-s3:12px; --mist-s4:16px; --mist-s5:24px; --mist-s6:32px;
  --mist-serif:'Songti SC','STSong','SimSun',serif;
  --mist-body:'PingFang SC','Microsoft YaHei',system-ui,sans-serif;
  --mist-number:Georgia,'Times New Roman',serif;
  --nav:var(--mist-nav-start); --nav2:var(--mist-control); --accent:var(--mist-primary); --accent2:var(--mist-teal);
  --bg:var(--mist-white); --card:var(--mist-surface); --text:var(--mist-ink); --muted:var(--mist-muted);
  --line:var(--mist-line); --danger:var(--mist-danger); --warn:var(--mist-warning); --shadow:var(--mist-shadow);
}
html,body{font-family:var(--mist-body);color:var(--mist-ink);background:var(--mist-white)}
body{background:radial-gradient(ellipse at 90% 4%,rgba(175,209,230,.3),transparent 48%),radial-gradient(ellipse at 22% 60%,rgba(181,220,216,.15),transparent 48%),linear-gradient(135deg,var(--mist-white),var(--mist-blue) 60%,var(--mist-ice));background-attachment:fixed}
.app-shell{background:transparent}
.app-shell .sidebar{background:linear-gradient(165deg,var(--mist-nav-start),var(--mist-nav-end));color:var(--mist-ink);border-right:1px solid var(--mist-white-line);box-shadow:8px 0 30px rgba(77,112,137,.035)}
.sidebar .brand{border-bottom:1px solid var(--mist-line);margin-bottom:var(--mist-s3)}
.sidebar .brand strong{color:var(--mist-ink);font-family:var(--mist-serif);font-size:18px;letter-spacing:.035em}
.sidebar .brand small,.account-bar .account-summary small{color:var(--mist-on-tint)}
.sidebar .sidebar-logo{object-fit:contain;filter:none}
#nav .nav-group-label{color:var(--mist-on-tint);font-size:12px;letter-spacing:.04em}
#nav .nav-group-label:not(:first-child){border-color:var(--mist-line)}
#nav button{color:var(--mist-ink);border-radius:var(--mist-radius-control);min-height:44px;font-size:15px;position:relative}
#nav button:hover{color:var(--mist-ink);background:rgba(255,255,255,.45)}
#nav button.active{color:var(--mist-ink);background:var(--mist-control);box-shadow:0 4px 12px rgba(77,112,137,.04)}
#nav button.active::before{content:'';position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:3px;background:var(--mist-primary)}
#nav .nav-icon,#nav button.active .nav-icon{color:var(--mist-primary)}
#nav .nav-count{background:var(--mist-danger);color:white;box-shadow:none}
.sidebar .sidebar-user{border-top-color:var(--mist-line)}
.account-trigger,.sidebar-close{color:var(--mist-ink)}
.account-trigger:hover,.account-trigger[aria-expanded=true]{background:var(--mist-control);border-color:var(--mist-white-line)}
.account-avatar{color:var(--mist-ink);background:var(--mist-nav-end)}
.account-chevron{stroke:var(--mist-muted)}
.account-menu{background:var(--mist-surface);border-color:var(--mist-white-line);box-shadow:var(--mist-shadow-hover);color:var(--mist-ink)}
.account-menu-action{color:var(--mist-ink)}.account-logout{color:var(--mist-danger)}
.main .topbar{background:transparent;backdrop-filter:none;border-bottom:1px solid var(--mist-white-line);height:auto!important;min-height:120px;padding:24px 0!important;gap:16px}
@media(min-width:921px){.main.topology-active>.topbar{min-height:0;height:0!important;padding:0!important;margin:0;border:0;overflow:hidden}}
.energy-progress-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}
.energy-progress-heading-actions #energyProgressSort{white-space:nowrap}
.topbar .topbar-heading h2{font-family:var(--mist-serif);font-size:30px;font-weight:600;letter-spacing:.06em;line-height:1.4;color:var(--mist-ink)}
.topbar .topbar-heading p{display:block!important;color:var(--mist-on-tint);font-size:14px;line-height:1.5;margin:6px 0 0}
.online-pill{background:var(--mist-success-bg);color:var(--mist-success);font-size:13px}
.page{padding-top:var(--mist-s4)}
.mist-skip-link{position:fixed;top:8px;left:260px;z-index:500;padding:12px 20px;background:var(--mist-surface);color:var(--mist-ink);border:2px solid var(--mist-focus);border-radius:10px;transform:translateY(-180%)}
.mist-skip-link:focus{transform:none}
:is(#page-dashboard,#page-assets,#page-approvals) :is(h2,h3){font-family:var(--mist-serif);font-weight:600;color:var(--mist-ink);letter-spacing:.025em}
:is(#page-dashboard,#page-assets,#page-approvals) h3{font-size:21px;line-height:1.4}
:is(#page-dashboard,#page-assets,#page-approvals) .muted{color:var(--mist-muted);font-size:14px}
:is(#page-dashboard,#page-assets,#page-approvals) :is(.panel,.metric,.asset-card,.task-card,.task-filters,.task-empty,.review-card){background:var(--mist-surface);border:1px solid var(--mist-white-line);border-radius:var(--mist-radius);box-shadow:var(--mist-shadow)}
.btn{border-color:var(--mist-control-line);border-radius:var(--mist-radius-control);background:var(--mist-control);color:var(--mist-focus);min-height:44px;line-height:1.4;transition:background .15s,border-color .15s,box-shadow .15s}
.btn:hover:not(:disabled){background:white;border-color:var(--mist-primary);box-shadow:0 3px 10px rgba(65,100,126,.07)}
.btn.primary,.asset-view-switch .active,.topbar .asset-header-scan{background:linear-gradient(135deg,var(--mist-primary),var(--mist-primary-end));color:white;border-color:var(--mist-primary-end);box-shadow:0 4px 10px rgba(66,107,150,.14)}
.btn.primary:hover:not(:disabled),.topbar .asset-header-scan:hover{background:var(--mist-primary-end);color:white}
.btn.danger,.btn.danger-outline{color:var(--mist-danger);border-color:var(--mist-danger);background:var(--mist-danger-bg)}
.btn:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}
.topbar #assetQrScanBtn{background:linear-gradient(135deg,var(--mist-primary),var(--mist-primary-end))!important;border-color:var(--mist-primary-end)!important;box-shadow:var(--mist-shadow);color:white!important}
.page .btn.mini,.modal .btn.mini,.drawer .btn.mini{min-height:44px;font-size:14px}
:is(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--mist-focus)!important;outline-offset:3px;scroll-margin-block:100px}
:is(#page-assets,#page-approvals) :is(input,select,textarea){border-color:var(--mist-control-line);background:var(--mist-control);color:var(--mist-ink);border-radius:var(--mist-radius-control)}
:is(#page-assets,#page-approvals) ::placeholder{color:var(--mist-muted);opacity:1}
.mist-field{display:grid;gap:6px;margin:0;min-width:0;color:var(--mist-muted);font-size:14px;line-height:1.5}
.mist-field>input,.mist-field>select{margin:0;min-height:44px;width:100%;max-width:none}
.mist-field:has(>.hidden){display:none}
.mist-field>span{color:var(--mist-muted)}
input[type=checkbox]{accent-color:var(--mist-primary)}
/* Overview: API metrics and navigation counts share one visual hierarchy, not new requests. */
.mist-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--mist-s4);margin-bottom:var(--mist-s5)}
.mist-metrics #metrics,.mist-metrics #mistAttentionMetrics{display:contents}
#page-dashboard .metric{position:relative;overflow:hidden;padding:20px;text-align:left;min-height:145px;color:var(--mist-ink);transform:none}
#page-dashboard .metric::after{content:'';position:absolute;bottom:0;left:20px;right:20px;height:3px;background:var(--mist-primary);border-radius:3px}
#page-dashboard .metric[data-metric=maintenance]::after{background:var(--mist-warning)}
#page-dashboard .metric[data-mist-nav=navApprovals]::after{background:var(--mist-danger)}
#page-dashboard .metric[data-mist-nav=navLuggage]::after{background:var(--mist-teal)}
#page-dashboard .metric b{font:400 40px/1.15 var(--mist-number);letter-spacing:-.03em;margin:10px 0;color:var(--mist-ink)}
#page-dashboard .metric small,#page-dashboard .metric span{font-size:14px;line-height:1.5;color:var(--mist-muted)}
.overview-heading{margin:24px 0 14px}.overview-heading h2{font-size:23px}.overview-heading p{margin:6px 0;font-size:14px;color:var(--mist-on-tint)}
#overviewCharts{gap:var(--mist-s4);align-items:start}
#overviewCharts .overview-lazy{padding:20px;margin-bottom:0}
#overviewCharts summary{font-family:var(--mist-serif);font-size:21px;font-weight:600;color:var(--mist-ink);line-height:1.5}
#overviewCharts summary small{font-family:var(--mist-body);font-size:13px;font-weight:400;color:var(--mist-muted)}
#overviewCharts .overview-chart{background:transparent;backdrop-filter:none;border:0;box-shadow:none;padding:16px 0}
.overview-chart>p,.overview-read-time{font-family:var(--mist-body);font-size:14px;color:var(--mist-muted)}
.overview-column>b{font-family:var(--mist-number);font-size:21px;color:var(--mist-ink)}
.overview-column small{display:inline-block;white-space:nowrap}
.overview-column small,.overview-column>span{font-size:13px;color:var(--mist-muted)}
.overview-column>span{white-space:normal;overflow-wrap:anywhere}
.overview-column i{background:linear-gradient(var(--mist-primary),var(--mist-primary-end));border-radius:5px 5px 0 0}
.overview-column:nth-child(3n+2) i{background:var(--mist-teal)}
.mist-dashboard-bottom{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--mist-s4);margin-top:var(--mist-s4);align-items:start}
.mist-attention-list{display:grid;gap:10px}.mist-attention-link{display:flex;align-items:center;gap:12px;min-height:60px;padding:12px;border:1px solid var(--mist-line);border-radius:10px;background:var(--mist-control);color:var(--mist-ink);text-align:left;cursor:pointer}
.mist-attention-link span{flex:1}.mist-attention-link b{font:600 24px var(--mist-number)}
#recentActivity .activity-line{padding:12px 0;border-color:var(--mist-line);color:var(--mist-ink);background:transparent}
#recentActivity .activity-type{color:var(--mist-focus);background:var(--mist-blue)}
#recentActivity :is(small,.activity-summary){font-size:13px;color:var(--mist-muted);white-space:normal}
#recentActivity .activity-one-line{flex-wrap:wrap;row-gap:6px;white-space:normal}
#recentActivity .activity-thumb{border-radius:10px;background:var(--mist-blue);color:var(--mist-muted)}
/* Asset tools stay available: presentation only, original IDs and event handlers. */
#page-assets .asset-room-index-panel{display:grid;grid-template-columns:150px minmax(0,1fr);gap:16px;align-items:center;padding:20px}
#page-assets .asset-room-index-panel>.panel-head{margin:0}
#page-assets .asset-room-selection{grid-column:1/-1}
#page-assets .asset-room-search-row{display:flex;flex-wrap:wrap;align-items:end;gap:12px}
#page-assets .asset-room-search-row>.mist-field{flex:1;min-width:220px}
#page-assets .asset-query-panel{padding:20px}
#page-assets .asset-search-primary{grid-template-columns:minmax(240px,1.5fr) repeat(2,minmax(160px,1fr)) auto!important;gap:12px;align-items:end}
#page-assets .asset-search-actions{grid-column:auto;align-self:end}
#page-assets .asset-command-toolbar{border:0;border-top:1px solid var(--mist-line);background:transparent;padding:16px 0 0;margin-top:16px;gap:10px}
#page-assets .asset-command-groups{gap:12px}
#page-assets .asset-command-group{background:transparent;border:0;padding:0;gap:8px;flex:1 1 auto}
#page-assets .asset-command-group[data-tool-group=batch]{flex:1 1 310px}
#page-assets .asset-command-group-title{font-size:13px;color:var(--mist-muted)}
#page-assets .asset-command-group-title::before{display:none}
#page-assets .asset-command-buttons{display:flex;gap:8px;flex-wrap:wrap;width:auto}
#page-assets .asset-command-buttons .btn{width:auto;min-height:44px;font-size:14px;padding:8px 12px}
#page-assets .asset-command-summary #assetCount{font-size:14px;color:var(--mist-muted);white-space:normal}
#page-assets .quick-filter-btn.active,#page-assets .batch-action-main{background:var(--mist-blue);color:var(--mist-focus);border-color:var(--mist-primary)}
.mist-results-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:20px 0 12px}
.mist-results-heading h3{margin:0}.mist-results-heading .asset-view-switch{margin:0}
#assetResults{grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:16px}
#assetResults .asset-card{padding:12px;transform:none;transition:border-color .15s,box-shadow .15s}
#assetResults .asset-card:hover{border-color:var(--mist-primary);box-shadow:var(--mist-shadow-hover)}
#assetResults .asset-photo{height:170px;border-radius:12px;background:linear-gradient(135deg,var(--mist-blue),var(--mist-white));color:var(--mist-muted);font-size:14px}
#assetResults .asset-info{padding:16px 0 4px}#assetResults .asset-info h4{font-size:17px;color:var(--mist-ink);line-height:1.5;margin-bottom:12px}
#assetResults .asset-meta{grid-template-columns:auto minmax(0,1fr);gap:7px 12px;font-size:14px;line-height:1.5}
#assetResults .asset-meta b{color:var(--mist-ink);font-weight:500;overflow-wrap:anywhere}
#assetResults .asset-card-check{width:44px;height:44px;top:14px;right:14px;margin:0;box-shadow:none;border-color:var(--mist-control-line);background:var(--mist-control)}
#assetResults .asset-card-check input{width:20px;height:20px;margin:0}
#assetResults.asset-compact{grid-template-columns:1fr}
#assetResults.asset-compact .asset-card{padding:12px 64px 12px 12px}
#assetResults.asset-compact .asset-photo{height:100%;min-height:110px}
#assetResults.asset-compact .asset-info{padding:0 0 0 16px}
#assetResults.asset-compact .asset-meta{grid-template-columns:repeat(3,auto minmax(0,1fr))}
/* Tasks and exceptions: status is conveyed by text as well as color. */
#page-approvals .task-tabs{width:fit-content;max-width:100%;border:1px solid var(--mist-white-line);background:var(--mist-surface);border-radius:16px;padding:6px;gap:6px;flex-wrap:wrap;margin-bottom:16px}
#page-approvals .task-tabs button{padding:10px 18px;border:0;background:transparent;color:var(--mist-focus);font-size:15px}
#page-approvals .task-tabs button.active{color:white;background:linear-gradient(135deg,var(--mist-primary),var(--mist-primary-end))}
#page-approvals .task-tabs b{background:var(--mist-blue);color:var(--mist-focus)}
#page-approvals .task-tabs .active b{background:rgba(255,255,255,.22);color:white}
#page-approvals .task-filters{padding:18px;gap:12px;align-items:end;grid-template-columns:minmax(240px,1.5fr) minmax(160px,.8fr) minmax(160px,.7fr) minmax(170px,.8fr) auto auto}
#page-approvals .task-filters:has(#taskAssignment.hidden){grid-template-columns:minmax(240px,1.8fr) minmax(180px,1fr) minmax(170px,.8fr) auto auto}
#page-approvals .task-toolbar{font-size:14px;color:var(--mist-muted);margin:20px 0 14px;flex-wrap:wrap}
#page-approvals .task-list{gap:16px}
#page-approvals .task-card{padding:20px;gap:14px}
#page-approvals .task-card.selected{border-color:var(--mist-primary);box-shadow:0 0 0 1px var(--mist-primary),var(--mist-shadow)}
#page-approvals .task-card-title strong{color:var(--mist-ink);font-size:17px}
#page-approvals .task-location{font-family:var(--mist-number);font-size:26px;letter-spacing:.02em;color:var(--mist-ink)}
#page-approvals .task-card-title .task-subject{color:var(--mist-muted);font-size:14px;line-height:1.6}
#page-approvals .task-step{background:var(--mist-blue);color:var(--mist-focus);font-size:14px;font-weight:500}
#page-approvals .task-age-badge{background:var(--mist-warning-bg);color:var(--mist-warning);border-radius:8px;font-size:13px}
#page-approvals .task-age-badge.overdue,#page-approvals .task-anomaly-badge{background:var(--mist-danger-bg);color:var(--mist-danger);border-color:var(--mist-danger)}
#page-approvals .task-handler{background:var(--mist-blue);color:var(--mist-muted);font-size:14px}
#page-approvals .task-handler b{color:var(--mist-ink)}
#page-approvals .task-actions{border-top:1px solid var(--mist-line);padding-top:14px;flex-wrap:wrap}
#page-approvals .task-date{font-size:13px;color:var(--mist-muted)}
#page-approvals .task-actions .btn{min-height:44px;font-size:14px}
#page-approvals .task-warning,#taskNotice{color:var(--mist-warning);background:var(--mist-warning-bg);border-color:var(--mist-warning)}
.task-card-top input{accent-color:var(--mist-primary)}
.task-pager,.asset-pager{font-size:14px;color:var(--mist-muted);gap:12px;margin-top:20px}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  :is(#page-dashboard,#page-assets,#page-approvals) :is(.panel,.metric,.asset-card,.task-card,.task-filters,.review-card){background:var(--mist-glass);backdrop-filter:blur(var(--mist-blur));-webkit-backdrop-filter:blur(var(--mist-blur))}
  /* No stacked blur on charts inside a frosted parent. */
  #overviewCharts .overview-chart{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
}
@media(hover:hover){#page-approvals .task-card[data-task-card]:hover{border-color:var(--mist-primary);background:#e6f1f8;box-shadow:0 10px 24px rgba(48,94,129,.18)}}
#page-approvals .task-card[data-task-card]:focus-visible{background:#edf6fb;outline:3px solid var(--mist-focus);outline-offset:2px}
#page-approvals .task-card.selected{background:#e7f2f9}
/* Site-wide shared chrome, forms, records and business dialogs. Do not alter display/visibility. */
:root{--accent-soft:var(--mist-blue)}
.login-shell{background:radial-gradient(ellipse at 80% 12%,var(--mist-nav-end),transparent 60%),linear-gradient(135deg,var(--mist-white),var(--mist-blue),var(--mist-ice))}
.login-card{background:var(--mist-surface);border:1px solid var(--mist-white-line);box-shadow:var(--mist-shadow);border-radius:var(--mist-radius)}
.login-card h1,.page h2,.page h3,.modal-head h3,.drawer-head h3{font-family:var(--mist-serif);color:var(--mist-ink);letter-spacing:.025em}
.page :is(h4,h5,strong),.modal :is(h4,h5),.drawer :is(h4,h5){color:var(--mist-ink)}
.page .panel,.page :is(.network-asset-hero,.lost-found-hero,.delivery-hero,.energy-hero,.linen-hero,.procurement-hero),.page :is(.network-line-card,.delivery-card,.luggage-order-card,.lost-found-card,.maintenance-asset-history,.inventory-workspace,.review-card){background:var(--mist-surface);border-color:var(--mist-white-line);border-radius:var(--mist-radius);box-shadow:var(--mist-shadow)}
.page :is(.network-asset-kpis,.lost-found-kpis,.energy-kpis,.delivery-kpis,.inventory-metrics)>:is(div,button){background:var(--mist-surface);border-color:var(--mist-white-line);border-radius:var(--mist-radius);color:var(--mist-ink);box-shadow:var(--mist-shadow)}
.page :is(.network-asset-kpis,.lost-found-kpis,.energy-kpis,.delivery-kpis,.inventory-metrics) b{font-family:var(--mist-number);color:var(--mist-ink)}
.page :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){background:var(--mist-surface);border-color:var(--mist-line);box-shadow:none;border-radius:12px}
.page :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) button{color:var(--mist-focus);border-color:var(--mist-line);min-height:44px}
.page :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) button.active{background:linear-gradient(135deg,var(--mist-primary),var(--mist-primary-end));border-color:var(--mist-primary-end);color:white;box-shadow:none}
:is(.page,.modal,.drawer,.login-card) :is(input,select,textarea){background:var(--mist-control);border-color:var(--mist-control-line);color:var(--mist-ink);border-radius:var(--mist-radius-control)}
:is(.page,.modal,.drawer,.login-card) :is(input,select,textarea):disabled{background:var(--mist-blue);color:var(--mist-muted);cursor:not-allowed}
:is(.page,.modal,.drawer,.login-card) :is(label,.muted){color:var(--mist-muted)}
:is(.page,.modal,.drawer) table{color:var(--mist-ink)}
:is(.page,.modal,.drawer) th{background:var(--mist-blue);color:var(--mist-ink);border-color:var(--mist-line)}
:is(.page,.modal,.drawer) td{border-color:var(--mist-line)}
:is(.page,.modal,.drawer) tbody tr:hover{background:var(--mist-ice)}
.page :is(.filter-grid,.task-filterbar,.inventory-history-filters,.prep-history-filterbar,.energy-room-panel,.network-asset-workbench){border-color:var(--mist-line)}
.modal,.drawer{background:var(--mist-surface);color:var(--mist-ink);box-shadow:var(--mist-shadow-hover)}
.modal{border:1px solid var(--mist-white-line);border-radius:var(--mist-radius)}
.modal-head,.drawer-head{background:var(--mist-surface);color:var(--mist-ink);border-color:var(--mist-line)}
.modal .icon-btn,.drawer .icon-btn{min-width:44px;min-height:44px;color:var(--mist-ink)}
.modal :is(.asset-detail-section,.asset-detail-more,.repair-asset-summary,.review-guide,.delivery-facts,.network-form-section,.network-detail-hero,.lost-found-register-item),.drawer :is(.asset-detail-section,.asset-detail-more,.asset-operation-panel){background:var(--mist-control);border-color:var(--mist-line);border-radius:12px}
.detail-item,.review-input,.task-dispatch-target,.network-detail-grid>div{background:var(--mist-blue);color:var(--mist-ink);border-color:var(--mist-line)}
.detail-item small,.asset-hero-main p,.asset-id-copy{color:var(--mist-muted)}
.asset-hero-main h3,.asset-detail-section h4{color:var(--mist-ink)}
.asset-id-copy{background:var(--mist-blue)}
.badge,.asset-alert.info,.primary-lite,.task-dispatch-target{background:var(--mist-blue);color:var(--mist-focus)}
.badge.green,.asset-alert.ok,.btn.return-ready{background:var(--mist-success-bg);color:var(--mist-success);border-color:var(--mist-success)}
.badge.warn,.asset-alert.warn,.detail-item.warn{background:var(--mist-warning-bg);color:var(--mist-warning)}
.asset-alert.danger,.detail-item.danger{background:var(--mist-danger-bg);color:var(--mist-danger)}
.page .btn.primary,.modal .btn.primary,.drawer .btn.primary,.login-card .btn.primary{background:linear-gradient(135deg,var(--mist-primary),var(--mist-primary-end));color:white;border-color:var(--mist-primary-end)}
.page .btn:not(.primary):not(.danger):not(.danger-outline):not(.return-ready):not(.active),.modal .btn:not(.primary):not(.danger):not(.danger-outline):not(.return-ready),.drawer .btn:not(.primary):not(.danger):not(.danger-outline){background:var(--mist-control);color:var(--mist-focus);border-color:var(--mist-control-line)}
.toast{background:var(--mist-primary-end);color:white}.toast.error{background:var(--mist-danger)}
/* Notices stay readable above native dialogs and their blurred backdrops. */
#toast.toast{position:fixed;inset:calc(env(safe-area-inset-top,0px) + 12px) 12px auto auto;margin:0;box-sizing:border-box;width:max-content;max-width:min(560px,calc(100vw - 24px));border:1px solid #ffffff80;z-index:2147483647;font-size:15px;line-height:1.5;overflow-wrap:anywhere}
#toast.toast::backdrop{background:transparent;backdrop-filter:none}
#toast.toast.hidden{display:none}
.mobile-upload-page .brand{background:linear-gradient(135deg,var(--mist-nav-start),var(--mist-nav-end));color:var(--mist-ink);border:1px solid var(--mist-white-line)}
.mobile-upload-page .brand b,.mobile-upload-page h1{font-family:var(--mist-serif)}
.mobile-upload-page .card{background:var(--mist-surface);border-color:var(--mist-white-line);box-shadow:var(--mist-shadow);border-radius:var(--mist-radius)}
.mobile-upload-page :is(.meta,.upload small){color:var(--mist-muted)}
.mobile-upload-page .upload{position:relative;background:var(--mist-control);border-color:var(--mist-control-line);color:var(--mist-ink);cursor:pointer}
.mobile-upload-page .upload input{display:block;position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.mobile-upload-page .upload:focus-within{outline:3px solid var(--mist-focus);outline-offset:3px}
.mobile-upload-page .btn{background:linear-gradient(135deg,var(--mist-primary),var(--mist-primary-end));color:white}
.mobile-upload-page .status{background:var(--mist-blue);color:var(--mist-ink)}
.mobile-upload-page .err{background:var(--mist-danger-bg);color:var(--mist-danger)}
.mobile-upload-page .ok{background:var(--mist-success-bg);color:var(--mist-success)}
#appView .page :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) button.active{background:linear-gradient(135deg,var(--mist-primary),var(--mist-primary-end));color:white;border-color:var(--mist-primary-end)}
.page .luggage-kpis>div{background:var(--mist-surface);border-color:var(--mist-white-line);border-radius:var(--mist-radius);box-shadow:var(--mist-shadow)}
.page .luggage-kpis b{font-family:var(--mist-number);font-weight:400;color:var(--mist-ink)}
.page :is(.lg-card,.ll-item,.dy-parcel-card,.dy-order-card){background:var(--mist-control);border-color:var(--mist-line);border-radius:var(--mist-radius);color:var(--mist-ink)}
:is(.page,.modal,.drawer) :is(input,select,textarea)[aria-invalid=true],:is(.page,.modal,.drawer) .field-error :is(input,select,textarea){border-color:var(--mist-danger);background:var(--mist-danger-bg)}
/* Hidden permission/state controls must win over legacy responsive display rules. */
#appView .hidden,#appView [hidden]{display:none!important}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .page>.panel,.page>div>.panel,.login-card{background:var(--mist-glass);backdrop-filter:blur(var(--mist-blur));-webkit-backdrop-filter:blur(var(--mist-blur))}
}
@media(min-width:921px){.app-shell .sidebar{width:242px;padding:20px 16px}.app-shell .main{margin-left:242px;width:calc(100% - 242px);padding:0 30px 36px}}
@media(max-width:1250px){#page-assets .asset-search-primary{grid-template-columns:repeat(2,minmax(0,1fr))!important}#page-assets .asset-search-primary>.mist-field:first-child{grid-column:1/-1}#page-assets .asset-search-actions{grid-column:1/-1}#page-approvals .task-filters,#page-approvals .task-filters:has(#taskAssignment.hidden){grid-template-columns:repeat(2,minmax(0,1fr))}#page-approvals .task-filters>.mist-field:first-child{grid-column:1/-1}.mist-dashboard-bottom{grid-template-columns:1fr}.mist-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:920px),(max-width:1100px) and (hover:none) and (pointer:coarse){
  .main .topbar{background:var(--mist-surface);min-height:64px;padding:10px 12px!important}.topbar .topbar-heading h2{font-size:23px}.topbar .topbar-heading p{display:none!important}
  .mobile-nav{background:var(--mist-surface);border-color:var(--mist-line)}.mobile-nav button.active,#menuBtn{background:var(--mist-blue);color:var(--mist-focus)}
  #nav button:not(.hidden){font-size:16px}.sidebar-close{background:var(--mist-control);color:var(--mist-ink);width:44px;height:44px}
  .mist-skip-link{left:12px}.mist-metrics{gap:12px}#page-dashboard .metric{padding:16px;min-height:140px}
  #page-assets .asset-room-index-panel{grid-template-columns:1fr;gap:12px}#page-assets .asset-command-group{flex:1 1 100%!important}
  #assetResults{grid-template-columns:repeat(2,minmax(0,1fr))}#assetResults.asset-compact .asset-meta{grid-template-columns:auto minmax(0,1fr)}
}
@media(max-width:600px){
  #page-dashboard .metric b{font-size:34px}.overview-heading{align-items:flex-start;gap:12px}.overview-heading h2{font-size:21px}
  #overviewCharts{grid-template-columns:1fr}.mist-dashboard-bottom{grid-template-columns:1fr}#page-dashboard .panel-head h3{font-size:20px}
  #page-assets .asset-search-primary{grid-template-columns:1fr!important}#page-assets .asset-search-primary>.mist-field,#page-assets .asset-search-actions{grid-column:1}
  #page-assets .asset-room-search-row>.mist-field{flex-basis:100%;min-width:0}#page-assets .asset-room-search-row>.btn{flex:1 1 140px;width:auto}
  #assetResults{grid-template-columns:1fr}#assetResults .asset-photo{height:190px}.mist-results-heading .asset-view-switch{gap:8px}
  #page-approvals .task-tabs{width:100%;gap:4px}#page-approvals .task-tabs button{min-width:0;flex:1 1 100px;padding:10px 8px;gap:6px;font-size:14px}
  #page-approvals .task-filters,#page-approvals .task-filters:has(#taskAssignment.hidden){grid-template-columns:1fr 1fr;padding:14px}
  #page-approvals .task-filters>.mist-field{grid-column:1/-1}#page-approvals .task-card{padding:16px}#page-approvals .task-list{grid-template-columns:1fr}
  #page-approvals .task-date{flex-basis:100%}.task-card-top{padding-right:64px}#taskBatch .btn{flex:1 1 auto}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media(forced-colors:active){.btn,.task-card,.asset-card,.metric{border:1px solid ButtonText}#nav button.active{outline:2px solid Highlight}}
@media print{body{background:white}.panel,.metric,.asset-card,.task-card{backdrop-filter:none!important;box-shadow:none!important}}

/* Repair-history search stays on one desktop line; cost is an optional second row. */
#maintenanceHistoryFilters{grid-template-columns:minmax(225px,2fr) minmax(108px,.8fr) repeat(2,minmax(132px,1fr)) minmax(110px,.85fr) minmax(165px,1.25fr) minmax(146px,auto) auto!important;gap:8px;align-items:end}
#maintenanceHistoryFilters>.filter-wide{grid-column:auto}
#maintenanceHistoryFilters>.range-filter-actions{grid-column:7;grid-row:1;min-width:146px}
#maintenanceHistoryFilters>.field-filter-toggle{grid-column:8;grid-row:1;min-height:42px;white-space:nowrap}
#maintenanceHistoryFilters:not(.field-filters-open)>.filter-advanced{display:none!important}
#maintenanceHistoryFilters.field-filters-open>.filter-advanced{display:grid!important;grid-column:span 2}
#maintenanceHistoryFilters input,#maintenanceHistoryFilters select{min-width:0}
@media(max-width:1450px){#maintenanceHistoryFilters{grid-template-columns:repeat(4,minmax(0,1fr))!important}#maintenanceHistoryFilters>.range-filter-actions,#maintenanceHistoryFilters>.field-filter-toggle{grid-column:auto;grid-row:auto}}
@media(max-width:760px){#maintenanceHistoryFilters{grid-template-columns:repeat(2,minmax(0,1fr))!important}#maintenanceHistoryFilters>.filter-wide,#maintenanceHistoryFilters.field-filters-open>.filter-advanced{grid-column:1/-1}#maintenanceHistoryFilters>.range-filter-actions{grid-column:1/-1}}
@media(max-width:480px){#maintenanceHistoryFilters{grid-template-columns:1fr!important}#maintenanceHistoryFilters>.filter-wide,#maintenanceHistoryFilters.field-filters-open>.filter-advanced,#maintenanceHistoryFilters>.range-filter-actions{grid-column:1}}
.image-metadata{position:absolute;left:12px;top:12px;max-width:min(78vw,650px);padding:8px 12px;border-radius:10px;background:rgba(16,37,54,.82);color:#fff;font-size:13px;line-height:1.5;overflow-wrap:anywhere;pointer-events:none}
.image-metadata:empty{display:none}
@media(max-width:700px){.image-metadata{top:64px;left:8px;right:8px;max-width:none;font-size:12px}}
.receipt-photo-link{display:inline-block;width:max-content;max-width:100%;margin:6px 0;padding:6px 0;border:0;background:transparent;color:var(--mist-focus);font:inherit;text-align:left;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.receipt-photo-link:focus-visible{outline:3px solid var(--mist-focus);outline-offset:2px}
.custody-receipt-checks{display:flex;flex-wrap:wrap;gap:8px 18px;border:1px solid var(--mist-line);border-radius:12px;padding:12px}
.custody-receipt-checks legend{color:var(--mist-ink);font-weight:700}
.custody-receipt-checks label{display:inline-flex;align-items:center;gap:8px;min-height:40px}
.custody-receipt-checks input{width:20px;height:20px;accent-color:var(--mist-primary)}
.custody-receipt-upload{display:grid;gap:8px;margin:12px 0}
.custody-mode-choice{display:flex;flex-wrap:wrap;gap:8px;border:0;margin:12px 0;padding:0}
.custody-mode-choice legend{margin-bottom:8px;color:var(--mist-ink);font-weight:700}
.custody-mode-choice label{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:8px 14px;border:1px solid var(--mist-line);border-radius:12px;background:var(--mist-surface);cursor:pointer}
.custody-mode-choice label:has(input:checked){border-color:var(--mist-primary);background:var(--mist-blue);font-weight:700}
.custody-mode-choice label:has(input:disabled){opacity:.55;cursor:not-allowed}
.custody-mode-choice input{width:19px;height:19px;accent-color:var(--mist-primary)}
.custody-mode-choice label:focus-within{outline:3px solid var(--mist-focus);outline-offset:2px}
.managed-photo{display:grid;gap:6px;min-width:0;max-width:150px;align-content:start}
.managed-photo small{color:var(--mist-muted);font-size:12px;line-height:1.4;overflow-wrap:anywhere}
.managed-photo .btn{min-height:36px}
.image-gallery-tabs{position:fixed;z-index:505;top:110px;left:50%;transform:translateX(-50%);display:flex;flex-wrap:nowrap;justify-content:flex-start;gap:8px;width:max-content;max-width:calc(100vw - 24px);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding:6px;border:1px solid rgba(255,255,255,.24);border-radius:14px;background:rgba(9,29,47,.86);box-shadow:0 8px 28px rgba(0,0,0,.28)}
.image-gallery-tabs button{flex:none;scroll-snap-align:start;min-height:44px;padding:8px 14px;border:1px solid rgba(255,255,255,.3);border-radius:9px;background:rgba(255,255,255,.1);color:#fff;font-size:14px;font-weight:700;cursor:pointer;white-space:nowrap}
.image-gallery-tabs button.active{border-color:#c2e6f0;background:#e9f6fa;color:#23465b}
.image-gallery-tabs button:hover:not(.active){background:rgba(255,255,255,.23)}
.image-gallery-tabs button:focus-visible,.image-close:focus-visible{outline:3px solid #a9e7ff;outline-offset:2px}
.image-gallery-tabs button span{font-variant-numeric:tabular-nums;opacity:.86}
.maintenance-location-facts{align-items:start}
.maintenance-location-note{grid-column:1/-1;margin:0;padding:9px 11px;border:1px solid #d4e2ec;border-radius:9px;background:#edf5fa;color:#355b75;font-size:13px;line-height:1.55}
#imageBackdrop .image-zoom-toolbar{gap:8px;padding:7px;border-radius:12px;background:rgba(12,30,48,.84)}
#imageBackdrop .image-zoom-toolbar button{min-width:72px;min-height:42px;padding:0 12px;font-size:14px;font-weight:700}
#imageBackdrop .image-zoom-toolbar button:focus-visible{outline:3px solid #a9e7ff;outline-offset:2px}
#assetResults .asset-photo[role="button"]{cursor:zoom-in}
#assetResults .asset-photo[role="button"]:focus-visible{outline:3px solid var(--mist-focus);outline-offset:-3px}
.energy-room-query-wrap{position:relative;min-width:0}
.energy-room-query-wrap .energy-room-query{display:grid;gap:4px;min-width:0}
.energy-room-query-wrap .energy-room-query input{width:100%}
.energy-room-suggestions{position:absolute;z-index:30;top:calc(100% + 5px);left:0;right:0;max-height:min(360px,50dvh);overflow:auto;padding:5px;border:1px solid var(--mist-line);border-radius:12px;background:var(--mist-surface);box-shadow:0 14px 30px rgba(38,59,80,.18)}
.energy-room-suggestions button{display:grid;width:100%;min-height:48px;gap:2px;padding:8px 10px;border:0;border-radius:8px;background:transparent;color:var(--mist-ink);text-align:left;font:inherit;cursor:pointer}
.energy-room-suggestions button strong{font-size:15px}.energy-room-suggestions button span{color:var(--mist-muted);font-size:12px;overflow-wrap:anywhere}
.energy-room-suggestions button:hover,.energy-room-suggestions button[aria-selected="true"]{background:#e6f1f8}
.energy-room-suggestions button:focus-visible{outline:3px solid var(--mist-focus);outline-offset:-3px}
.energy-room-suggestion-empty{padding:10px;color:var(--mist-muted);font-size:13px;line-height:1.5}
@media(max-width:960px){.energy-room-filters>.energy-room-query-wrap{grid-column:1/-1}}
.image-gallery-empty{grid-area:1/1;padding:20px;color:#fff;text-align:center;font-size:16px}
#imageBackdrop.asset-gallery-open .image-preview-stage{box-sizing:border-box;padding-top:150px;padding-bottom:42px}
.image-backdrop.asset-gallery-open .image-metadata{top:auto;bottom:46px}
@media(max-width:920px){
  .image-backdrop>.image-close{display:grid!important;place-items:center;top:calc(6px + env(safe-area-inset-top));right:12px;min-width:44px;min-height:44px;line-height:1;background:rgba(11,31,50,.9)}
  #imageBackdrop .image-zoom-toolbar{grid-template-columns:repeat(3,minmax(0,1fr));width:min(300px,calc(100% - 24px))}
  .image-gallery-tabs{top:calc(56px + env(safe-area-inset-top));gap:4px;padding:5px}
  .image-gallery-tabs button{min-height:44px;padding:6px 10px;font-size:13px}
  #imageBackdrop.asset-gallery-open .image-preview-stage{padding-top:calc(116px + env(safe-area-inset-top))!important;padding-bottom:calc(160px + env(safe-area-inset-bottom))!important}
  .image-backdrop.asset-gallery-open .image-metadata{top:auto;bottom:calc(160px + env(safe-area-inset-bottom));max-width:calc(100% - 20px)}
}
#modal:has(.maintenance-detail-modal){width:min(760px,calc(100vw - 24px))}
.maintenance-detail-modal{display:grid;gap:12px;color:var(--mist-ink)}
.maintenance-detail-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border:1px solid #c9ddea;border-radius:14px;background:linear-gradient(125deg,#eaf4fa,#f7fbfd)}
.maintenance-detail-header>div{min-width:0}.maintenance-detail-header small{display:block;color:var(--mist-muted);font-size:12px;line-height:1.5}
.maintenance-detail-header h3{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:3px 0 5px;color:var(--mist-ink);font-size:20px;line-height:1.35;overflow-wrap:anywhere}
.maintenance-detail-header>div>span{color:var(--mist-muted);font-size:12px}.maintenance-detail-current{min-width:155px;padding:9px 12px;border:1px solid #c9ddea;border-radius:10px;background:var(--mist-control)}
.maintenance-detail-current strong{display:block;margin-top:3px;font-size:15px;overflow-wrap:anywhere}
.maintenance-detail-section{min-width:0;padding:14px;border:1px solid var(--mist-line);border-radius:13px;background:var(--mist-surface)}
.maintenance-detail-section h4{margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid var(--mist-line);color:var(--mist-ink);font-size:15px;line-height:1.4}
.maintenance-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}
.maintenance-detail-grid>div{min-width:0;padding:9px 11px;border-radius:9px;background:var(--mist-control)}
.maintenance-detail-grid dt{margin-bottom:4px;color:var(--mist-muted);font-size:12px;line-height:1.35}
.maintenance-detail-grid dd{margin:0;color:var(--mist-ink);font-size:14px;font-weight:650;line-height:1.5;overflow-wrap:anywhere}
.maintenance-detail-modal .maintenance-description{margin:0;background:#eff6fb}
.maintenance-detail-modal .maintenance-description h4{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.maintenance-fault-text{margin:0;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}
.maintenance-detail-modal .maintenance-location-note{margin:10px 0 0}
.maintenance-detail-modal .maintenance-quiet{margin:0;color:var(--mist-muted)}
.maintenance-detail-modal .maintenance-action-section{border-color:#b9d2e6;background:#f6fafd}
.maintenance-action-section .form-grid{gap:12px}
.maintenance-current-hint{display:block;margin:4px 0 6px;color:var(--mist-muted);font-size:12px;line-height:1.5}
.maintenance-move-pending{display:inline-flex;width:max-content;max-width:100%;margin-top:4px;padding:3px 8px;border:1px solid #e9d2a0;border-radius:999px;background:var(--mist-warning-bg);color:var(--mist-warning);font-size:12px;font-weight:700;white-space:normal}
.maintenance-detail-modal #mfError:not(:empty){margin:0;padding:10px 12px;border:1px solid #ecc4ca;border-radius:9px;background:var(--mist-danger-bg);color:var(--mist-danger)}
.maintenance-detail-modal .modal-actions{position:sticky;bottom:-18px;z-index:2;margin:0 -18px -18px;padding:12px 18px;border-top:1px solid var(--mist-line);background:var(--mist-surface)}
@media(max-width:620px){.maintenance-detail-header{align-items:stretch;flex-direction:column;padding:12px}.maintenance-detail-current{min-width:0}.maintenance-detail-section{padding:11px}.maintenance-detail-grid{grid-template-columns:1fr}.maintenance-detail-modal .modal-actions{bottom:-14px;margin:0 -14px -14px;padding:10px 14px;flex-wrap:wrap}}
.room-freeze-check{--freeze-pass:#24735d;--freeze-block:#ac3545;--freeze-surface:#f5faff;--freeze-line:#cbdbea;--freeze-ink:#263b50;--freeze-blue:#326391;max-width:640px;color:var(--freeze-ink)}
.freeze-check-list{list-style:none;padding:0;margin:18px 0}.freeze-check-list li{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid var(--freeze-line);align-items:flex-start}.freeze-check-list li>span{font-size:23px;font-weight:700;line-height:1.2;color:var(--freeze-pass)}.freeze-check-list .blocked>span{color:var(--freeze-block)}.freeze-check-list small{display:block;margin-top:6px;line-height:1.5}.room-freeze-check .btn{min-height:44px}.location-freeze-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;padding:2px 5px;margin-left:4px;border:1px solid #9dbbda;border-radius:5px;background:#dceaf7;color:#285d8c;font-size:12px;font-weight:700;white-space:nowrap}
/* Acknowledgement is the final task action, not a header shortcut. */
.task-ack-actions{margin-top:24px!important;padding-top:16px;border-top:1px solid #d3e5f0;display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap}
.task-ack-button{min-height:48px!important;min-width:160px;font-weight:700!important;background:#426b96!important;color:#fff!important;border-color:#426b96!important}
@media(max-width:700px){.task-ack-button{width:100%}}
