/* Activated by the desktop controller only. Mobile documents never receive these classes. */
html.hap-desktop-shell { --hap-desktop-menu-width:248px; --hap-desktop-header-height:78px; }
html.hap-desktop-shell.hap-desktop-collapsed { --hap-desktop-menu-width:76px; }
.hap-desktop-shell body { overflow:hidden!important; }
.hap-desktop-shell body.hap-wm-admin-app #wpcontent { margin-left:var(--hap-desktop-menu-width)!important; }
.hap-desktop-shell body > #wpadminbar,.hap-desktop-shell #wpfooter { display:none!important; }
.hap-desktop-shell :is(.hap-app-sidebar,.sidebar) { position:fixed!important; left:0!important; top:0!important; width:var(--hap-desktop-menu-width)!important; height:100vh!important; box-sizing:border-box; transform:none!important; z-index:70; transition:width .18s ease; }
.hap-desktop-shell :is(.hap-admin-topbar,.hap-app-topbar) { position:fixed!important; top:0!important; left:var(--hap-desktop-menu-width)!important; right:0!important; height:var(--hap-desktop-header-height); margin:0!important; padding:14px 28px!important; box-sizing:border-box; z-index:60; background:#fff; border-bottom:1px solid #e2e8f1; display:flex; align-items:center; gap:18px; transition:left .18s ease; }
.hap-desktop-shell :is(.hap-admin-topbar,.hap-app-topbar) :is(.search,.hap-operations-top-actions,.mobile-menu,.hap-mobile-menu,.hap-mobile-header-clock) { display:none!important; }
.hap-desktop-shell .hap-workspace-context { display:flex; gap:10px; align-items:center; min-width:0; margin-right:auto; color:#31445f; font-size:13px; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.hap-desktop-shell .hap-workspace-context svg { width:19px; height:19px; flex:0 0 19px; color:#5980b9; }
.hap-desktop-shell .hap-desktop-initial-overlay { display:none!important; }
.hap-desktop-shell body.hap-wm-admin-app #wpbody-content > :not(.hap-app-sidebar):not(.sidebar):not(.hap-admin-topbar):not(.hap-app-topbar):not(script):not(style) { display:none!important; }
.hap-desktop-shell body.hap-system-page .hap-app-main > :not(.hap-app-topbar):not(script):not(style) { display:none!important; }
.hap-desktop-shell .hap-desktop-sidebar-toggle { position:fixed; left:calc(var(--hap-desktop-menu-width) - 17px); top:27px; z-index:100005; display:grid; place-items:center; width:34px; height:34px; padding:7px; border:1px solid #cbd8eb; border-radius:10px; background:#fff; color:#2a446a; box-shadow:0 3px 12px #10244320; cursor:pointer; transition:left .18s ease,background .15s ease,box-shadow .15s ease; }
.hap-desktop-shell .hap-desktop-sidebar-toggle:hover { background:#edf4ff; border-color:#8caddb; box-shadow:0 4px 16px #10244330; }
.hap-desktop-shell .hap-desktop-sidebar-toggle svg { width:20px; height:20px; }
.hap-desktop-shell.hap-desktop-collapsed .hap-desktop-sidebar-toggle svg { transform:scaleX(-1); }
.hap-desktop-shell .hap-nav-group-menu { left:calc(var(--hap-desktop-menu-width) + 6px)!important; }
.hap-desktop-shell.hap-desktop-collapsed :is(.sidebar,.hap-app-sidebar) { padding-left:10px!important; padding-right:10px!important; }
.hap-desktop-shell.hap-desktop-collapsed :is(.brand,.hap-app-brand) { justify-content:center; padding-left:0; padding-right:0; gap:0; }
.hap-desktop-shell.hap-desktop-collapsed :is(.brand,.hap-app-brand) > span:last-child { display:none!important; }
.hap-desktop-shell.hap-desktop-collapsed :is(.nav-label,.hap-nav-label,.sidebar-note,.hap-sidebar-note,.hap-sidebar-online,.sidebar-download,.hap-sidebar-calendar,.hap-mobile-sidebar-logout) { display:none!important; }
.hap-desktop-shell.hap-desktop-collapsed :is(.nav-item,.hap-nav-item) { justify-content:center; min-height:44px; padding-left:8px; padding-right:8px; gap:0; }
.hap-desktop-shell.hap-desktop-collapsed .hap-nav-group-trigger > span:not(.nav-icon),
.hap-desktop-shell.hap-desktop-collapsed .hap-nav-home > span:not(.nav-icon),
.hap-desktop-shell.hap-desktop-collapsed .hap-app-nav .hap-nav-item > .hap-desktop-nav-label { display:none!important; }
.hap-desktop-shell.hap-desktop-collapsed .hap-nav-quick-actions { grid-template-columns:1fr; gap:7px; margin-left:0; margin-right:0; }
.hap-desktop-shell.hap-desktop-collapsed .hap-nav-quick-actions .hap-desktop-nav-label { display:none; }
.hap-desktop-shell.hap-desktop-collapsed .hap-nav-quick-actions a { padding:8px; min-height:36px; font-size:18px; }
.hap-desktop-shell .hap-workspace { position:fixed; top:var(--hap-desktop-header-height); left:var(--hap-desktop-menu-width); right:0; bottom:0; z-index:40; display:flex; flex-direction:column; background:#f3f5f9; min-width:0; transition:left .18s ease; }
.hap-desktop-shell .hap-workspace-bar { display:flex; align-items:center; gap:12px; flex:0 0 62px; min-height:62px; padding:9px 20px 0; border-bottom:1px solid #dce4ef; background:linear-gradient(180deg,#edf1f7,#f5f7fb); }
.hap-desktop-shell .hap-workspace-tabs { display:flex; gap:6px; align-items:stretch; overflow-x:auto; overflow-y:hidden; min-width:0; flex:1; height:53px; scrollbar-width:thin; scrollbar-color:#becce0 transparent; }
.hap-desktop-shell .hap-workspace-tab { position:relative; display:flex; align-items:center; flex:0 0 auto; max-width:280px; height:46px; border:1px solid #e2c68d; border-radius:9px 9px 0 0; color:#684819; background:#fff1d2; transition:background .15s,border-color .15s; }
.hap-desktop-shell .hap-workspace-tab:hover { background:#ffe5ae; color:#51360e; }
.hap-desktop-shell .hap-workspace-tab.is-active { color:#fff; background:#205fc9; border-color:#1a56b9; box-shadow:0 3px 8px #174b8d25; }
.hap-desktop-shell .hap-workspace-tab.is-active:before { content:""; position:absolute; left:12px; right:12px; top:0; height:3px; border-radius:0 0 3px 3px; background:#a6cdff; }
.hap-desktop-shell .hap-workspace-tab-button { display:flex; align-items:center; justify-content:flex-start; gap:8px; border:0; background:transparent; color:inherit; padding:11px 7px 10px 13px; min-width:0; min-height:42px; max-width:240px; font:650 13px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; cursor:pointer; box-shadow:none; }
.hap-desktop-shell .hap-workspace-tab-button svg { width:17px; height:17px; flex:0 0 17px; color:inherit; }
.hap-desktop-shell .is-active .hap-workspace-tab-button svg { color:#fff; }
.hap-desktop-shell .hap-workspace-tab-label { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.hap-desktop-shell .hap-workspace-tab-state { width:6px; height:6px; flex:0 0 6px; border-radius:50%; background:transparent; }
.hap-desktop-shell .is-dirty .hap-workspace-tab-state { background:#b65c00; }
.hap-desktop-shell .is-active.is-dirty .hap-workspace-tab-state { background:#ffe172; }
.hap-desktop-shell .is-loading .hap-workspace-tab-button > svg { opacity:.5; }
.hap-desktop-shell .hap-workspace-tab-close { display:grid; place-items:center; flex:0 0 27px; width:27px; height:27px; padding:5px; margin-right:7px; border:0; border-radius:6px; background:transparent; color:inherit; cursor:pointer; }
.hap-desktop-shell .hap-workspace-tab-close svg { width:15px; height:15px; }
.hap-desktop-shell .hap-workspace-tab-close:hover { color:#314f79; background:#e3ebf6; }
.hap-desktop-shell .is-active .hap-workspace-tab-close:hover { color:#fff; background:#ffffff25; }
.hap-desktop-shell .hap-workspace-tools { display:flex; gap:7px; align-items:center; padding-bottom:8px; }
.hap-desktop-shell .hap-workspace-tools > button { display:grid; place-items:center; width:33px; height:33px; border:1px solid #d6e0ed; border-radius:8px; color:#50698d; background:#f9fbfe; cursor:pointer; padding:7px; }
.hap-desktop-shell .hap-workspace-tools svg { width:17px; height:17px; }
.hap-desktop-shell .hap-workspace-picker { max-width:150px; min-height:33px; border:1px solid #d6e0ed; border-radius:8px; color:#4b6384; background:#f9fbfe; font-size:11px; padding:3px 22px 3px 7px; }
.hap-desktop-shell .hap-workspace-stage { position:relative; flex:1 1 auto; min-height:0; min-width:0; background:#f5f7fa; }
.hap-desktop-shell .hap-workspace-pane { position:absolute; inset:0; width:100%; height:100%; min-width:0; }
.hap-desktop-shell .hap-workspace-pane.is-background { z-index:0; }
.hap-desktop-shell .hap-workspace-pane.hap-workspace-popup-pane { z-index:2; display:grid; place-items:center; padding:20px 24px; background:#192e4b45; }
.hap-desktop-shell .hap-workspace-pane.hap-workspace-popup-pane > iframe { width:min(1180px,100%); height:100%; max-height:100%; border:1px solid #d0dcec; border-radius:14px; box-shadow:0 18px 65px #0d264b40; background:#fff; }
.hap-desktop-shell .hap-workspace-popup-pane .hap-workspace-loading { position:absolute; inset:20px 24px; border-radius:14px; background:#fff; }
.hap-desktop-shell .hap-workspace-pane[hidden],.hap-desktop-shell .hap-workspace [hidden] { display:none!important; }
.hap-desktop-shell .hap-workspace-pane > iframe { display:block; border:0; width:100%; height:100%; background:#f5f7fa; }
.hap-desktop-shell .hap-workspace-pane.hap-workspace-failed { display:flex; flex-direction:column; }
.hap-desktop-shell .hap-workspace-failed .hap-workspace-loading { flex:0 0 auto; height:auto; padding:15px; gap:6px; }
.hap-desktop-shell .hap-workspace-failed > iframe { flex:1 1 auto; min-height:0; }
.hap-desktop-shell .hap-workspace-loading { height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:16px; color:#5d7391; font-size:13px; }
.hap-desktop-shell .hap-workspace-loading a { color:#2c68bc; }
.hap-desktop-shell .hap-workspace-status { position:fixed; left:calc(var(--hap-desktop-menu-width) + 28px); right:28px; top:calc(var(--hap-desktop-header-height) + 76px); bottom:auto; z-index:2147483200; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:13px 16px; border:1px solid #d5a231; border-radius:10px; background:#fff3cc; color:#59400e; box-shadow:0 6px 24px #162b4d25; font-size:13px; font-weight:600; }
.hap-desktop-shell .hap-workspace-status > button { display:grid; place-items:center; flex:0 0 28px; width:28px; height:28px; padding:5px; border:0; border-radius:6px; background:#f4e1ab; color:#59400e; cursor:pointer; }
.hap-desktop-shell .hap-workspace-status svg { width:18px; height:18px; }
.hap-desktop-shell .hap-workspace-status[hidden] { display:none!important; }
.hap-workspace-confirm { width:min(420px,90vw); border:1px solid #d7e1ef; border-radius:16px; padding:24px; color:#213751; box-shadow:0 20px 70px #0d244640; }
.hap-workspace-confirm::backdrop { background:#132a4b55; }
.hap-workspace-confirm h2 { font-size:18px; margin:0 0 10px; }
.hap-workspace-confirm p { font-size:13px; line-height:1.6; color:#61718a; }
.hap-workspace-confirm > div { display:flex; justify-content:flex-end; gap:8px; margin-top:24px; }
.hap-workspace-confirm button { border:1px solid #d3dfef; border-radius:8px; padding:9px 12px; color:#365479; background:#f9fbfe; cursor:pointer; }
.hap-workspace-confirm [data-discard] { border-color:#edc9c6; color:#ab4038; background:#fff6f5; }
.hap-desktop-shell :is(.hap-workspace button,.hap-desktop-sidebar-toggle):focus-visible { outline:3px solid #6da6fb; outline-offset:-3px; }
/* Embedded screens are still the original WordPress documents with the same server checks. */
html.hap-desktop-frame { padding-top:0!important; margin:0!important; min-width:0!important; background:#f5f7fa!important; }
html.hap-desktop-frame body { margin:0!important; padding:0!important; min-width:0!important; background:#f5f7fa!important; }
.hap-desktop-frame :is(#adminmenumain,#wpadminbar,#wpfooter,.hap-app-sidebar,.sidebar,.hap-admin-topbar,.hap-app-topbar,.app-backdrop,.hap-app-backdrop,.hap-mobile-tabbar) { display:none!important; }
.hap-desktop-frame :is([data-hap-tg-launcher],[data-hap-tg-chatbox],[data-hap-employee-chat-launcher],[data-hap-employee-chatbox],[data-hap-finance-calendar-launcher],[data-hap-finance-calendar-popup]) { display:none!important; }
.hap-desktop-frame :is(#wpwrap,#wpcontent,#wpbody,#wpbody-content,#hap-system-content,.hap-app-main) { margin:0!important; padding:0!important; width:100%!important; max-width:none!important; min-width:0!important; float:none!important; box-sizing:border-box; }
.hap-desktop-frame body.hap-wm-admin-app #wpcontent { padding-bottom:0!important; }
.hap-desktop-frame :is(.hap-app-shell,.app-shell) { display:block!important; min-height:0!important; }
.hap-desktop-frame body.hap-wm-admin-app .wrap { margin:0!important; padding:22px 26px 36px!important; }
.hap-desktop-frame :is(.wrap,.hap-quotes-view,.hap-analytics,.hap-finance-page,.hap-payroll-page) { width:100%!important; max-width:none!important; min-width:0; box-sizing:border-box; float:none!important; }
.hap-desktop-frame .hap-quote-company-form { width:100%; max-width:none; }
.hap-desktop-frame .hap-app-main > :not(.hap-app-topbar) { margin-left:22px; margin-right:22px; }
.hap-desktop-frame .hap-workspace-page-tools { display:flex; align-items:center; justify-content:flex-end; gap:8px; padding:10px 26px 0; }
.hap-desktop-frame .hap-workspace-heading { display:flex; flex-wrap:wrap; align-items:center; gap:12px 20px; }
.hap-desktop-frame .hap-workspace-heading > div:first-child { flex:1 1 320px; min-width:0; }
.hap-desktop-frame .hap-workspace-heading > .hap-workspace-page-tools { flex:0 1 300px; margin-left:auto; padding:0; }
.hap-desktop-frame .hap-workspace-page-tools .search { display:flex; align-items:center; gap:7px; flex:0 1 300px; width:300px; max-width:100%; min-width:180px; min-height:36px!important; height:36px!important; padding:0 10px!important; border:1px solid #d4deeb; border-radius:8px; background:#fff; box-shadow:none; }
.hap-desktop-frame .hap-workspace-page-tools .search input:not([type=hidden]) { box-sizing:border-box; width:100%; min-width:0; height:32px!important; min-height:0!important; padding:0!important; border:0!important; font-size:12px!important; line-height:1.4; background:transparent; box-shadow:none!important; }
.hap-desktop-frame .hap-workspace-page-tools .search > span { flex:0 0 auto; font-size:15px; }
.hap-desktop-frame form[method=get] :is(input[type=search],input[name=s],input[name=search]) { min-height:36px!important; height:36px!important; font-size:12px!important; padding:6px 10px!important; border-radius:8px!important; }
.hap-desktop-frame form[method=get] :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=file]),select) { min-height:36px!important; height:36px!important; font-size:12px!important; box-sizing:border-box; }
.hap-desktop-frame form[method=get] :is(button[type=submit],.hap-reconciliation-filter-actions .button) { min-height:36px; padding:6px 12px; font-size:12px; box-sizing:border-box; }
.hap-desktop-frame .hap-quote-search-panel { padding:6px 8px; border-radius:9px; box-shadow:none; }
.hap-desktop-frame .hap-quote-search-panel label { min-width:180px; max-width:360px; }
.hap-desktop-frame .hap-quote-search-panel input { min-height:34px!important; height:34px!important; }
.hap-desktop-frame.hap-desktop-detail { height:100%!important; overflow:hidden!important; }
.hap-desktop-frame.hap-desktop-detail body { height:100%!important; overflow:hidden!important; }
.hap-desktop-frame.hap-desktop-detail :is(#wpwrap,#wpcontent,#hap-system-content) { display:none!important; }
.hap-desktop-frame .hap-workspace-form-root { position:fixed; inset:0; width:100%; height:100%; min-width:0; min-height:0; }
.hap-desktop-frame .hap-workspace-form-root > .modal.open { position:absolute!important; inset:0!important; transform:none!important; opacity:1!important; display:flex!important; flex-direction:column!important; pointer-events:auto!important; width:100%!important; max-width:none!important; height:100%!important; max-height:100%!important; min-height:0!important; margin:0!important; border:0!important; border-radius:0!important; box-shadow:none!important; overflow:hidden!important; }
.hap-desktop-frame .hap-workspace-form-root > .modal > .modal-head { flex:0 0 auto!important; padding:17px 22px!important; background:#fff; }
.hap-desktop-frame .hap-workspace-form-root > .modal > .modal-head h2 { font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:20px; }
.hap-desktop-frame .hap-workspace-form-root > .modal > .modal-body { flex:1 1 auto!important; overflow:auto!important; padding:18px 22px 120px!important; min-height:0!important; }
.hap-desktop-frame .hap-workspace-form-root :is(.hap-popup-drag-handle,.hap-popup-resize-handle) { display:none!important; }
.hap-desktop-frame .hap-workspace-form-root .modal-actions { position:fixed!important; left:0!important; right:0!important; bottom:0!important; width:100%!important; margin:0!important; padding:12px 22px!important; box-sizing:border-box; z-index:100140; box-shadow:0 -5px 16px #203c5910; }
.hap-desktop-frame .hap-workspace-form-root .hap-fixed-form-actions { left:0!important; right:0!important; width:100%!important; }
@media(max-width:1100px) {
 .hap-desktop-shell .hap-workspace-bar { padding-left:12px; padding-right:12px; gap:7px; }
 .hap-desktop-shell .hap-workspace-picker { max-width:100px; }
 .hap-desktop-shell :is(.hap-admin-topbar,.hap-app-topbar) { padding-left:23px!important; padding-right:16px!important; }
}
@media(prefers-reduced-motion:reduce) { .hap-desktop-shell :is(.hap-workspace,.hap-app-sidebar,.sidebar,.hap-desktop-sidebar-toggle,.hap-admin-topbar,.hap-app-topbar) { transition:none!important; } }
