/* Shared register presentation. Loaded AFTER every native stylesheet. */
:root{color-scheme:light;--hub-header-height:66px;--hub-font:Manrope,system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
html{scroll-padding-top:calc(var(--hub-header-height) + 12px);-webkit-text-size-adjust:100%}
.hub-module-body{--bg:#f3f5f5;--surface:#fff;--panel:#fff;--panel2:#f9fafb;--ink:#192b36;--text:#192b36;--dark:#192b36;--muted:#6e7d87;--line:#dfe5e7;--accent:#967345;--accent2:#785d42;--accent-2:#785d42;--danger:#b14545;--shadow:0 8px 28px #192b3608;font:14px/1.5 var(--hub-font);color:#192b36;background:#f3f5f5}
.hub-module-body :is(button,input,select,textarea){font-family:inherit}
.hub-module-body :is(.hero-panel,.overview){background:#fff;color:var(--hub-ink);border:1px solid var(--hub-line);border-radius:14px;box-shadow:none;padding:24px 26px}
.hub-module-body :is(.hero-panel,.overview) :is(h1,h2){color:var(--hub-ink);font-size:28px;letter-spacing:-.7px;line-height:1.2}
.hub-module-body :is(.hero-panel,.overview) p{color:var(--hub-muted);line-height:1.5}
.hub-module-body :is(.metric,.stat){background:#fff;color:var(--hub-ink);border:1px solid var(--hub-line);border-radius:10px;box-shadow:none}
.hub-module-body :is(.metric,.stat) span{color:var(--hub-muted)}
.hub-module-body :is(.content-card,.workspace,.dash-card,.panel,.modal-card){border-color:var(--hub-line);background:#fff;color:var(--hub-ink);box-shadow:none}
.hub-module-body :is(.tabs,.tab){font-family:var(--hub-font)}
.hub-module-body .tabs{background:transparent;gap:5px}
.hub-module-body .tabs .tab{color:#52646e;border-radius:8px;padding:11px 13px;flex-shrink:0;white-space:nowrap}
.hub-module-body .tabs .tab.active{background:#f4f0eb;color:#785d42;box-shadow:none}
.hub-module-body .tabs .tab.active:after{background:#b98b57}
.hub-module-body :is(.btn,.button,.mini,.mini-btn){border-color:var(--hub-line);color:var(--hub-ink);background:#fff;border-radius:8px}
.hub-module-body :is(.btn-primary,.button.primary,.btn-dark){background:var(--hub-ink);border-color:var(--hub-ink);color:#fff}
.hub-module-body :is(.btn-danger,.button.danger,.danger,.expense-delete,.recurring-delete){background:#fff6f5;border-color:#e9c5c0;color:#a13f36}
.hub-module-body :is(.field span,.field label,.muted,.empty,.panel-subtitle,.dash-card p,.dash-list,.stat .foot){color:var(--hub-muted)}
.hub-module-body :is(td,.data-table td){color:var(--hub-ink);border-bottom-color:#edf0f1}
.hub-module-body :is(.flow-row,.flow-total){border-color:var(--hub-line)}
.hub-module-body :is(input,select,textarea):focus-visible{outline:2px solid #967345;outline-offset:2px;box-shadow:none}
.hub-module-body :is(button,a,[tabindex]):focus-visible{outline:2px solid #967345;outline-offset:3px}
.hub-table-scroll{max-width:100%;min-width:0;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.hub-scroll-hint{display:none}
.hub-module-header .hub-switch .hub-switch-menu{display:none}
.hub-module-header .hub-switch[data-open] .hub-switch-menu{display:block}
.hub-module-header .hub-switch-menu{max-height:calc(100dvh - var(--hub-header-height) - 16px);overflow-y:auto}
@media(hover:hover) and (pointer:fine){.hub-module-header .hub-switch:hover .hub-switch-menu{display:block}}
.hub-module-body :is(.modal-screen,.modal-backdrop){z-index:10020}
.hub-module-body .busy-overlay{z-index:10030}
.hub-module-body :is(.toast,.toast-container){z-index:10040}
.hub-module-body :is(.workspace.is-fullscreen,body.fullscreen .workspace){z-index:10010}
body.hub-module-body.fullscreen .workspace{z-index:10010}
.hub-module-body .hh-render-usage{background:#fff;border-color:var(--hub-line);color:var(--hub-ink)}
.hub-module-body .hh-render-usage-total{font-variant-numeric:tabular-nums}

/* Manpower uses the same content shell, typography and neutral surfaces. */
html[data-hub-module="manpower"] .topbar{display:none}
html[data-hub-module="manpower"] .app-shell{min-height:calc(100dvh - var(--hub-header-height))}
html[data-hub-module="manpower"] .main{max-width:1700px;padding:0 28px 32px}
html[data-hub-module="manpower"] .tabs{max-width:1644px;margin:20px auto 14px;padding:0 0 10px;border-color:var(--hub-line)}
html[data-hub-module="manpower"] .hero-panel{align-items:center;gap:20px}
html[data-hub-module="manpower"] .metric{min-width:100px}
html[data-hub-module="manpower"] .content-card{border-radius:14px;box-shadow:none}
html[data-hub-module="manpower"] :is(.data-table tr:hover td,.plan-table .project-row td){background:#f5f7f7}
html[data-hub-module="manpower"] :is(.plan-table th,.plan-table td){border-color:var(--hub-line)}
html[data-hub-module="manpower"] .plan-table .sticky-col{background:#fff;color:var(--hub-ink)}
html[data-hub-module="manpower"] .plan-table .project-row .sticky-col{background:#f5f7f7}
html[data-hub-module="manpower"] .planning-grid{max-height:68dvh;overflow:auto}
html[data-hub-module="manpower"] .toolbar input:not([type="month"]){min-width:210px;flex:0 1 340px;text-align:left;font-weight:400}
html[data-hub-module="manpower"] .hh-copyright{text-align:center;font-size:11px;padding:20px;color:var(--hub-muted)}
html[data-hub-module="expenses"] :is(.mobile-drawer-head,.version,.sidebar-section){color:var(--hub-muted)}
html[data-hub-module="expenses"] :is(.badge.posted,.badge.pending,.badge.excluded){background:#eef2f3;color:#52646e}
html[data-hub-module="expenses"] .badge.posted{background:#e7f3ec;color:#25835b}
html[data-hub-module="expenses"] .badge.pending{background:#fff1d9;color:#8b642b}
html[data-hub-module="expenses"] :is(.alert,.notice){background:#f4f7f8;border-color:var(--hub-line);color:#52646e}
html[data-hub-module="expenses"] .alert.warning{background:#fff7e9;color:#8b642b;border-color:#ead6b5}
html[data-hub-module="expenses"] .alert.success{background:#edf7f0;color:#25835b;border-color:#cce2d4}

@media(max-width:720px){
 :root{--hub-header-height:calc(104px + env(safe-area-inset-top,0px))}
 .hub-page,.hub-module-body{min-width:0;max-width:100%;overflow-x:clip}
 .hub-page :is(input,select,textarea),.hub-module-body :is(input,select,textarea){font-size:16px;min-width:0;max-width:100%}
 .hub-page :is(button,select,summary),.hub-module-body button{min-height:44px;touch-action:manipulation}
 .hub-module-body :is(button,a){-webkit-tap-highlight-color:#b98b5726}
 .hub-module-body .hub-module-header{height:var(--hub-header-height);display:grid;grid-template-columns:40px minmax(0,1fr);grid-template-rows:44px 44px;gap:4px 8px;padding:calc(6px + env(safe-area-inset-top,0px)) 12px 6px;align-content:start}
 .hub-module-header .hub-logo{grid-column:1;grid-row:1;height:40px;padding:3px;border:0}
 .hub-module-header .hub-logo img{width:32px;height:32px}
 .hub-module-header .hub-switch{grid-row:1;grid-column:2;min-width:0;position:static;height:44px}
 .hub-module-header #hub-switch-current{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-width:0;height:44px;padding:6px 2px;font-size:12px;letter-spacing:.35px;white-space:nowrap}
 .hub-module-header .hub-account{grid-column:1/-1;grid-row:2;display:flex;width:100%;margin:0;gap:8px;justify-content:flex-end;min-width:0}
 .hub-module-body .hub-module-header .hub-account button{font-size:12px;min-height:44px;max-width:126px;padding:8px 10px!important;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:auto}
 .hub-module-header #hub-module-account{flex:1 1 100px;max-width:180px!important}
 .hub-module-body .hub-module-header .hub-account select{min-height:44px;font-size:14px;width:62px;padding:8px;flex-shrink:0}
 .hub-module-header .hub-switch-menu{position:absolute;top:100%;left:12px;right:12px;min-width:0;width:auto;max-height:calc(100dvh - var(--hub-header-height) - 20px);padding:8px;border-radius:0 0 12px 12px}
 .hub-module-header .hub-switch-menu a{display:flex;align-items:center;min-height:48px;font-size:12px;white-space:normal}
 .hub-module-body .sidebar{top:var(--hub-header-height);height:calc(100dvh - var(--hub-header-height))}
 .hub-module-body .app{min-height:calc(100dvh - var(--hub-header-height))}
 .hub-module-body :is(.app-shell,.shell){min-width:0;width:100%}
 .hub-module-body :is(.app-shell,.main){padding-left:12px;padding-right:12px}
 html[data-hub-module="warehouse"] #shell>main{padding:16px 12px 24px;min-width:0}
 .hub-module-body :is(.hero-panel,.overview){padding:18px 16px;gap:16px;border-radius:12px;flex-direction:column;align-items:stretch}
 .hub-module-body :is(.hero-panel,.overview) :is(h1,h2){font-size:24px}
 .hub-module-body :is(.hero-panel,.overview) p{font-size:12px}
 .hub-module-body :is(.hero-metrics,.overview .stats,.metrics){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%}
 .hub-module-body :is(.metric,.overview .stat){min-width:0;padding:10px 12px}
 .hub-module-body :is(.metric,.overview .stat) strong{font-size:22px}
 .hub-module-body .tabs{display:flex;overflow-x:auto;flex-wrap:nowrap;max-width:100%;gap:4px;padding:4px 0 9px;margin:14px 0 8px;scroll-padding:8px;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
 .hub-module-body .tabs .tab{min-height:44px;font-size:12px;padding:10px 12px}
 .hub-module-body :is(.toolbar,.toolbar-left,.toolbar-right,.action-group,.table-tools){min-width:0;max-width:100%;flex-wrap:wrap;gap:8px}
 .hub-module-body .toolbar{padding:12px;align-items:stretch}
 .hub-module-body :is(.toolbar-left,.toolbar-right,.action-group,.table-tools){width:100%}
 .hub-module-body :is(.toolbar-left,.action-group)>button{flex:1 1 130px;white-space:normal;line-height:1.35;padding:9px 10px}
 .hub-module-body :is(.search-field,.searchbox){display:flex;flex-direction:column;align-items:stretch;gap:5px;flex:1 1 100%;width:100%;min-width:0}
 .hub-module-body :is(.search-field,.searchbox) input{width:100%!important;min-width:0;min-height:44px}
 .hub-module-body :is(.table-view-controls,.table-tools){justify-content:flex-end}
 .hub-module-body :is(.table-zoom-controls,.table-view-controls){max-width:100%;flex-wrap:wrap;gap:5px}
 .hub-module-body :is(.table-wrap,.table-scroller){max-height:65dvh;min-height:180px}
 .hub-scroll-hint{display:block;padding:8px 12px;margin:0;color:var(--hub-muted);font-size:11px;background:#f9fafb;border-bottom:1px solid var(--hub-line)}
 .hub-module-body :is(dialog.modal,.modal-panel,.modal-screen .modal){max-width:calc(100vw - 16px);max-height:calc(100dvh - 24px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));overflow:auto;overscroll-behavior:contain}
 .hub-module-body :is(.modal-screen,.modal-backdrop){padding:8px;padding-bottom:calc(8px + env(safe-area-inset-bottom,0px));align-items:center}
 .hub-module-body :is(.modal-card,.modal-body,.modal-panel){padding:18px 14px}
 .hub-module-body :is(.form-grid,.fields,.customer-form){grid-template-columns:minmax(0,1fr)}
 .hub-module-body :is(.field.span-2,.span-2,.span-3){grid-column:1/-1}
 .hub-module-body :is(.modal-actions,.modal-footer,.form-actions){display:flex;flex-wrap:wrap;gap:8px}
 .hub-module-body :is(.modal-actions,.modal-footer,.form-actions)>button{flex:1 1 120px;max-width:100%;white-space:normal;min-height:44px}
 .hub-module-body :is(.project-folder-row,.project-folder-buttons){display:flex;flex-wrap:wrap}
 .hub-module-body .project-folder-row input{flex:1 1 100%}
 .hub-module-body .project-folder-row button{flex:1 1 auto}
 .hub-module-body :is(.modal-header h3,.modal-head h2,.modal-head h3){overflow-wrap:anywhere;font-size:20px}
 .hub-module-body .hh-render-usage{padding:12px;margin:12px 0;gap:8px;min-width:0}
 .hub-module-body .hh-render-usage-help{min-width:0;flex-basis:100%}
 .hub-module-body .hh-render-usage-help small{font-size:10px;line-height:1.4}
 .hub-module-body .hh-render-usage-total{font-size:15px}
 .hub-module-body :is(.toast,.toast-container){max-width:calc(100vw - 24px)}
 html[data-hub-module="manpower"] .main{padding:0 12px 20px}
 html[data-hub-module="manpower"] .tabs{margin:12px;padding:0 0 8px}
 html[data-hub-module="manpower"] .toolbar{padding:0;margin-bottom:12px}
 html[data-hub-module="manpower"] .toolbar input:not([type="month"]){min-width:0;flex:1 1 100%;width:100%;min-height:44px}
 html[data-hub-module="manpower"] .planning-controls{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;width:100%;gap:8px}
 html[data-hub-module="manpower"] .planning-controls input{width:100%;min-width:0;text-align:center}
 html[data-hub-module="manpower"] .plan-table .sticky-col{min-width:140px;max-width:150px;overflow-wrap:anywhere;font-size:12px}
 html[data-hub-module="manpower"] .plan-table :is(th,td){min-width:52px;padding:5px}
 html[data-hub-module="manpower"] .plan-table .plan-input{width:44px;min-height:44px;font-size:16px;padding:4px}
 html[data-hub-module="manpower"] .hub-mobile-cards{overflow:visible;max-height:none;min-height:0;padding:10px;background:#f9fafb}
 html[data-hub-module="manpower"] .hub-mobile-cards table{display:block;min-width:0;width:100%}
 html[data-hub-module="manpower"] .hub-mobile-cards thead{display:none}
 html[data-hub-module="manpower"] .hub-mobile-cards tbody{display:grid;gap:10px}
 html[data-hub-module="manpower"] .hub-mobile-cards tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px;padding:12px;border:1px solid var(--hub-line);border-radius:10px;background:#fff}
 html[data-hub-module="manpower"] .hub-mobile-cards td{display:block;min-width:0;white-space:normal;overflow-wrap:anywhere;max-width:none;padding:8px 0;font-size:13px;background:transparent}
 html[data-hub-module="manpower"] .hub-mobile-cards td:first-child{grid-column:1/-1;font-weight:750;font-size:15px}
 html[data-hub-module="manpower"] .hub-mobile-cards td:last-child{grid-column:1/-1;border:0}
 html[data-hub-module="manpower"] .hub-mobile-cards td[data-label]::before{content:attr(data-label);display:block;font-size:10px;font-weight:600;color:var(--hub-muted);margin-bottom:3px}
 html[data-hub-module="manpower"] .report-card{flex-wrap:wrap;padding:14px}
 html[data-hub-module="expenses"] .topbar{position:static;background:#fff!important;backdrop-filter:none}
 html[data-hub-module="expenses"] #main-content{padding:18px 12px calc(94px + env(safe-area-inset-bottom,0px))}
 html[data-hub-module="expenses"] .sidebar{inset:var(--hub-header-height) auto 0 0;max-height:calc(100dvh - var(--hub-header-height));border-color:var(--hub-line)}
 html[data-hub-module="expenses"] .mobile-menu-backdrop{top:var(--hub-header-height)}
 html[data-hub-module="expenses"] .mobile-bottom-nav{background:#fff;border-color:var(--hub-line);box-shadow:0 -4px 20px #192b360a}
 html[data-hub-module="expenses"] .mobile-bottom-nav button{color:#52646e}
 html[data-hub-module="expenses"] .mobile-bottom-nav :is(button.active,button[aria-expanded="true"]){background:#f4f0eb;color:#785d42}
 html[data-hub-module="expenses"] :is(.table-wrap tr,.table-wrap td){background:#fff;color:var(--hub-ink);border-color:var(--hub-line)}
 html[data-hub-module="expenses"] .table-wrap{overflow:visible;max-height:none;min-height:0}
 html[data-hub-module="expenses"] .table-wrap td[data-label]::before{color:var(--hub-muted)}
 html[data-hub-module="expenses"] :is(.mini-btn,.expense-actions .mini-btn,.expense-actions .expense-delete,.subscription-actions>button){min-height:44px;padding:9px 11px;line-height:1.3}
 html[data-hub-module="expenses"] .hh-render-usage{margin:12px}
 .hub-header{height:auto;min-height:70px;padding:12px;gap:8px;flex-wrap:wrap}
 .hub-header .hub-account{margin-left:auto}
 #hub-main{width:calc(100% - 24px);padding:26px 0}
 .hub-card{min-height:118px;padding:18px;gap:14px}
 .hub-card h2{letter-spacing:.4px;font-size:12px}
 .hub-login{padding:24px 18px}
 .hub-page dialog{max-height:calc(100dvh - 24px);overflow:auto;padding:20px 16px}
 .hub-page .hub-dialog-actions{flex-wrap:wrap}
 .hub-page .hub-dialog-actions button{flex:1 1 120px}
 .hub-page .hub-panel{padding:14px}
 .hub-page .hub-roles label{min-height:44px;line-height:1.4}
 .hub-page .hub-roles input{min-width:20px;min-height:20px}
}
@media(prefers-reduced-motion:reduce){.hub-page *,.hub-module-body *{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
