/* HustlePay 2026 — coherent banking UI (presentation only; business rules stay in the API). */
:root {
  --hp2026-navy:#112b46;
  --hp2026-deep:#0a1e33;
  --hp2026-ink:#152a40;
  --hp2026-muted:#64748b;
  --hp2026-border:#e2e8f0;
  --hp2026-wash:#f6f8fb;
  --hp2026-white:#ffffff;
  --hp2026-accent:#e97b32;
  --hp2026-blue:#14658c;
  --hp2026-green:#157d69;
  --hp2026-shadow:0 2px 14px rgba(20,44,73,.045);
  color-scheme: light;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
}
html {scroll-behavior:smooth}
body, .app-shell,.main-area,.content-area{background:var(--hp2026-wash)!important;color:var(--hp2026-ink)}
body {font-size:14px;line-height:1.52;-webkit-font-smoothing:antialiased}
button, input, select, textarea {font-family:inherit}
button:disabled{opacity:.57;cursor:not-allowed!important}
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #efa657!important;outline-offset:2px}
:where(button,a) {touch-action:manipulation}
a {text-underline-offset:3px}
a:hover {text-decoration-color:currentColor}
.app-shell{display:grid;grid-template-columns:252px minmax(0,1fr)!important;min-height:100vh}
.sidebar{position:sticky!important;top:0;height:100dvh!important;padding:18px 12px 12px!important;background:var(--hp2026-deep)!important;color:#e1ebf6;z-index:80;box-shadow:none!important;min-width:0;overflow:hidden}
.brand{flex:0 0 auto;display:flex;align-items:center;gap:11px;min-height:72px!important;padding:12px 10px!important;margin:0 0 10px!important;background:transparent!important;border:0!important;box-shadow:none!important}
.brand-logo{max-width:39px!important;max-height:42px!important;object-fit:contain;flex-shrink:0}
.brand-copy{min-width:0}.brand-copy strong{display:block!important;color:#fff!important;font-size:1.15rem!important;font-weight:800!important;letter-spacing:-.035em}.brand-copy span{display:block!important;color:#aabbd0!important;font-size:.72rem!important;margin:0!important}.brand-copy .brand-product{color:#8399b3!important;font-size:.67rem!important;margin-top:2px!important}
.sidebar-nav-area{flex:1 1 auto;min-height:0;overflow:auto;padding:4px 2px 14px;scrollbar-width:thin;scrollbar-color:#435d76 transparent}
.nav-menu.hp-navigation{display:flex!important;flex-direction:column!important;gap:12px!important;padding:0 1px}
.hp-nav-group{display:flex;flex-direction:column;gap:2px;min-width:0}
.hp-nav-group>summary{display:flex;justify-content:space-between;align-items:center;gap:8px;cursor:pointer;padding:11px 11px 6px;list-style:none;border-radius:8px;user-select:none}
.hp-nav-group>summary::-webkit-details-marker{display:none}
.hp-nav-group>summary:hover{background:#142b42}
.hp-nav-group .nav-section{display:block!important;font-weight:800!important;letter-spacing:.1em;font-size:.65rem!important;color:#91a9c4!important;padding:9px 11px 5px!important;margin:0!important;line-height:1.3}
.hp-nav-group>summary .nav-section{padding:0!important}
.hp-group-chevron{font-size:1.1rem;color:#a0b4c9;transition:transform .18s}
.hp-nav-group[open] .hp-group-chevron{transform:rotate(180deg)}
.hp-group-links{display:flex;flex-direction:column;gap:2px;padding:4px 0 1px}
.hp-navigation a{display:flex!important;gap:11px;align-items:center;min-height:42px!important;padding:9px 11px!important;margin:0!important;border:1px solid transparent!important;border-radius:9px!important;color:#c7d4e5!important;background:transparent!important;text-decoration:none!important;font-size:.85rem!important;font-weight:550!important;line-height:1.25!important;transition:background .12s,color .12s,border-color .12s}
.hp-navigation a:hover{background:#183651!important;color:#fff!important}
.hp-navigation a.active{background:#20455f!important;border:1px solid #33617c!important;border-left:3px solid var(--hp2026-accent)!important;color:#fff!important;font-weight:750!important;padding-left:9px!important}
.hp-navigation a .nav-label{min-width:0;overflow-wrap:break-word}
.hp-navigation a .nav-icon{display:inline-grid;place-items:center;flex:0 0 24px;width:24px;height:24px;color:#afc3d8!important;font-size:1.08rem!important;font-weight:650;font-family:ui-sans-serif,system-ui,sans-serif;line-height:1}
.hp-navigation a.active .nav-icon{color:#ffd6b7!important}
.hp-account-navigation{border-top:1px solid #284056;padding-top:9px;margin-top:2px}
.sidebar-user{flex:0 0 auto;display:flex;align-items:center;gap:10px;min-width:0;padding:12px 8px!important;margin-top:5px;border-top:1px solid #264158;color:#eaf0f7!important;text-decoration:none;border-radius:8px}
.sidebar-user:hover{background:#142e48}.sidebar-user-copy{min-width:0;display:grid;gap:2px}.sidebar-user-copy strong{max-width:145px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.8rem}.sidebar-user-copy small{max-width:145px;color:#a2b4c8!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.71rem}
.sidebar-user .avatar{flex:0 0 34px;width:34px;height:34px;background:#294960!important;color:#fff!important;font-size:.8rem}
.sidebar-user .chevron{margin-left:auto;color:#a7bcd0}.sidebar-logout{display:flex;align-items:center;gap:9px;margin:3px 3px 2px;padding:9px 13px!important;border-radius:8px!important;border:1px solid #294960!important;color:#d9e6f5!important;background:transparent!important;font-size:.81rem;font-weight:650;text-align:left;cursor:pointer}.sidebar-logout:hover{background:#19354c!important}
.topbar{position:sticky!important;top:0;z-index:45;min-height:74px!important;padding:13px clamp(16px,2.6vw,38px)!important;background:rgba(255,255,255,.975)!important;border-bottom:1px solid var(--hp2026-border)!important;box-shadow:none!important;gap:14px}
.topbar-left,.topbar-actions{display:flex;align-items:center;gap:12px;min-width:0}
.topbar-actions{margin-left:auto}.topbar .menu-button{width:39px!important;height:39px!important;border-radius:10px!important;border:1px solid #e0e7ee!important;background:#fff!important;color:#244766!important;font-size:1.06rem!important;display:grid;place-items:center;flex-shrink:0}
.topbar .menu-button:hover{background:#f4f8fb!important}
.hp-mobile-toggle{display:none!important}
.bank-selector{display:flex!important;align-items:center;gap:9px;min-width:0;border:0!important;background:transparent!important;padding:0!important}
.hp-scope-dot{width:9px;height:9px;border-radius:50%;background:#24a47e;flex-shrink:0;box-shadow:0 0 0 4px #e3f7ef}.hp-scope-stack{display:grid;gap:1px;min-width:0}.hp-scope-stack small{font-size:.68rem;color:#728399!important;line-height:1.25}.hp-scope-stack strong{font-size:.92rem;font-weight:750;color:#1c344d;max-width:270px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.topbar .header-control{background:#f7f9fc!important;border:1px solid #e9edf3!important;border-radius:9px!important;min-height:38px!important}
.topbar .header-control select{min-height:33px!important;border:0!important;background:transparent!important;color:#203b52!important;padding:3px 21px 3px 7px!important;font-size:.78rem!important}
.topbar .header-control span{color:#74859c;font-size:.72rem}.topbar .date-control{padding:0 10px!important;align-items:center}.topbar .date-control strong{font-weight:650!important;font-size:.78rem;color:#64748b}
.hp-quick-link{padding:9px 13px;background:#eaf4f9;border:1px solid #cde3ee;color:#165b7e;font-weight:750;font-size:.77rem;text-decoration:none;border-radius:9px;white-space:nowrap}.hp-quick-link:hover{background:#dceef6}
.notification-button{width:38px!important;height:38px!important;border:1px solid #e4ebf2!important;background:#fff!important;border-radius:10px!important;color:#274966!important;display:grid!important;place-items:center!important;font-size:1rem}
.hp-profile-link{text-decoration:none;border:1px solid #e4ebf2;padding:5px 10px 5px 5px;border-radius:11px;background:#fff}.hp-profile-link:hover{background:#f6f9fc}.hp-profile-link .avatar{width:32px;height:32px;flex:0 0 32px;background:#eaf0f6!important;color:#244b65!important}.hp-profile-link .profile-copy strong{font-size:.78rem!important;color:#233b53}.hp-profile-link .profile-copy small{font-size:.68rem!important;color:#74859a}
.content-area{width:100%!important;max-width:none!important;min-width:0;padding:clamp(18px,2.4vw,34px)!important;background:var(--hp2026-wash)!important}
.hp-content-inner{width:100%;max-width:1580px;margin:0 auto;min-width:0}
.app-footer{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:9px 18px;padding:15px clamp(20px,2.6vw,38px)!important;background:transparent!important;border-top:1px solid #e8edf3;color:#8090a4!important;font-size:.71rem!important}
.app-footer .footer-link{color:#1e688a!important;text-decoration:underline}
.page-header,.page-title-row{display:flex!important;align-items:flex-start!important;gap:15px!important;justify-content:space-between;margin-bottom:22px!important}
.hp-heading-content{min-width:0;max-width:940px}.hp-breadcrumb{display:flex;align-items:center;gap:9px;margin-bottom:9px;color:#8190a3;font-size:.73rem}.hp-breadcrumb a{color:#5c7590;text-decoration:none}.hp-breadcrumb a:hover{text-decoration:underline}
.page-header h1,.page-title-row h1{font-size:clamp(1.43rem,2.1vw,2rem)!important;font-weight:780!important;line-height:1.21!important;letter-spacing:-.035em!important;margin:0!important;color:#162e47!important}
.page-header p,.page-title-row p{color:#64768a!important;font-size:.86rem!important;line-height:1.6!important;margin:7px 0 0!important;max-width:970px}
.page-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.page-actions .button,.page-actions .ui-button{margin:0!important}
.panel,.metric-card,.executive-kpi,.filters-card,.wallet-selector-card,.table-card,.kpi-card,.incident-settings-card,.notification-card{background:#fff!important;border:1px solid var(--hp2026-border)!important;border-radius:14px!important;box-shadow:var(--hp2026-shadow)!important}
.panel{padding:clamp(16px,1.8vw,24px)!important}
.panel-heading,.admin-panel-heading{gap:10px!important}.panel-heading h2,.admin-panel-heading h2,.panel h2{font-weight:750;letter-spacing:-.016em;color:#1c3750}.panel-heading p,.admin-panel-heading p{font-size:.84rem!important;color:var(--hp2026-muted)!important}
.metric-card,.executive-kpi,.kpi-card{padding:19px!important;min-height:112px;overflow:hidden}.metric-card strong,.executive-kpi strong,.kpi-card strong{font-variant-numeric:tabular-nums;font-size:clamp(1.28rem,1.8vw,1.78rem);letter-spacing:-.03em}
.executive-kpi-grid,.metric-grid,.kpi-grid,.money-flow-grid,.provider-performance-grid,.chart-grid,.bottom-dashboard-grid{gap:13px!important;margin-bottom:19px}
.panel-heading{padding-top:0;padding-left:0;padding-right:0}
.button,.ui-button,.page-actions button,.hp-dialog-actions button{display:inline-flex!important;align-items:center;justify-content:center;gap:7px;padding:9px 14px!important;min-height:40px!important;border-radius:9px!important;font-size:.83rem!important;font-weight:700!important;line-height:1.15!important;box-shadow:none!important;white-space:normal;text-align:center;transition:background .12s ease,box-shadow .12s ease,transform .12s ease}
.button.primary,.ui-button.primary,.ui-button:not(.secondary):not(.danger):not(.outline){background:#155b82!important;color:#fff!important;border:1px solid #155b82!important}
.button.primary:hover,.ui-button.primary:hover,.ui-button:not(.secondary):not(.danger):not(.outline):hover{background:#104b6c!important}
.button.secondary,.ui-button.secondary,.ui-button.outline{background:#fff!important;color:#27516e!important;border:1px solid #d7e2eb!important}
.button.secondary:hover,.ui-button.secondary:hover{background:#f0f6fa!important}
.ui-button.danger{background:#fff1f0!important;border:1px solid #f1c4c1!important;color:#a33230!important}
.ui-button.danger:hover{background:#ffe6e3!important}
.button.compact,.ui-button.compact{min-height:35px!important;padding:7px 11px!important;font-size:.77rem!important}
button[disabled]{box-shadow:none!important;cursor:not-allowed}
input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea,.form-control{box-sizing:border-box;min-height:43px!important;height:auto;max-width:100%;border:1px solid #d5e0ea!important;border-radius:9px!important;color:#193851!important;background:#fff!important;padding:9px 12px!important;font-size:.84rem!important;font-weight:450!important;box-shadow:none!important}
input::placeholder,textarea::placeholder{color:#9aabc0!important;font-size:.81rem}
input:focus,select:focus,textarea:focus{border-color:#4999bc!important;box-shadow:0 0 0 3px rgba(25,106,151,.10)!important;outline:none}
textarea{line-height:1.55!important;min-height:86px!important;resize:vertical}
input[type=checkbox],input[type=radio]{accent-color:#1d6c8d}
label{color:#304b65;font-weight:650;font-size:.82rem}
.form-group{gap:7px}.form-group label{font-size:.82rem;color:#31495f}
.filter-toolbar,.filters-card,.shared-filter-bar{gap:14px!important}
.filters-card{padding:16px!important}
.filter-toolbar>* , .enterprise-filters>*{min-width:0}
.table-responsive,.table-scroll,.data-table-wrap,.dashboard-table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.table,.enterprise-table,.dashboard-table{width:100%;border-collapse:separate!important;border-spacing:0!important}
.table th,.enterprise-table th,.dashboard-table th{background:#f7f9fc!important;color:#667b92!important;font-size:.70rem!important;font-weight:800!important;letter-spacing:.035em;text-transform:uppercase;white-space:nowrap;padding:12px 13px!important;border-bottom:1px solid #e5ebf2!important}
.table td,.enterprise-table td,.dashboard-table td{color:#304860;font-size:.79rem!important;line-height:1.45;padding:12px 13px!important;border-bottom:1px solid #eef2f6!important;vertical-align:middle;overflow-wrap:anywhere}
.table tbody tr:hover,.enterprise-table tbody tr:hover,.dashboard-table tbody tr:hover{background:#f9fbfd!important}
.table tbody tr:last-child td{border-bottom:0!important}
.table td strong,.enterprise-table td strong{font-weight:730!important;color:#1c3b57}
.status-badge,.status-pill{font-size:.7rem!important;line-height:1.3!important;padding:5px 9px!important;border-radius:999px!important;font-weight:730!important;white-space:nowrap}
.alert,.inline-notice,.dashboard-financial-warning{padding:13px 15px!important;border-radius:10px!important;line-height:1.5!important;font-size:.83rem!important}
.alert.warning,.inline-notice{background:#fff9ed!important;border:1px solid #efdbab!important;color:#75551f!important}
.alert.error{background:#fff3f2!important;color:#922c2c!important;border:1px solid #f2c1bd!important}
.alert.success{background:#effaf6!important;color:#146c52!important;border:1px solid #bfe9d7!important}
.empty-state,.chart-empty-state{background:#fafcfe!important;border-radius:12px!important}
.loading-panel{min-height:180px!important}
.live-data-note{background:#f3f8fc!important;border-color:#d9e8f2!important}
/* Finance workflow stepper */
.hp-workflow-strip{display:flex;align-items:center;justify-content:space-between;gap:13px;padding:14px 19px;background:#fff;border:1px solid var(--hp2026-border);border-radius:13px;margin:0 0 14px;box-shadow:var(--hp2026-shadow)}
.hp-workflow-strip>div{display:flex;align-items:center;gap:11px;min-width:0;flex:1}
.hp-workflow-strip>div>span:last-child{display:grid;gap:2px}
.hp-workflow-strip strong{font-size:.78rem;color:#24415a}.hp-workflow-strip small{font-size:.71rem;color:#75859a;font-weight:450;line-height:1.35}
.hp-step{display:grid;place-items:center;flex:0 0 29px;width:29px;height:29px;border-radius:9px;background:#e8f2f7;color:#176186;font-size:.79rem;font-weight:800}
.hp-workflow-arrow{font-size:1.4rem;color:#b1bfcd;line-height:1}
.hp-info-line{display:flex;gap:11px;align-items:flex-start;background:#edf5f9;border:1px solid #d8e7f0;border-radius:11px;padding:12px 16px;margin:0 0 18px;color:#48657b;font-size:.79rem;line-height:1.55}
.hp-info-line strong{color:#1f506a}.hp-info-icon{display:grid;place-items:center;flex:0 0 23px;width:23px;height:23px;border-radius:50%;background:#d6eaf4;color:#145c84;font-size:.8rem;font-weight:800}
.hp-bank-scope{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px;padding:17px 20px!important}
.hp-filter-intro{display:grid;gap:4px;align-self:center}.hp-filter-intro strong{font-size:.9rem;color:#233c54}.hp-filter-intro small{font-size:.75rem;color:#7e8ea0}
.hp-bank-picker-fields{display:grid;grid-template-columns:minmax(175px,1fr) minmax(220px,1.4fr);gap:12px;align-items:end;width:min(100%,580px)}
.hp-field{display:grid;gap:6px;min-width:0;font-weight:750;font-size:.79rem}.hp-field>span{display:flex;justify-content:space-between;gap:8px;align-items:center}.hp-field em,.hp-field small{color:#8394a8;font-size:.7rem;font-style:normal;font-weight:500}.hp-field select,.hp-field input{width:100%;min-width:0}
.hp-bank-indicator{display:flex;align-items:center;gap:12px;padding:13px 18px;background:#fff;border:1px solid var(--hp2026-border);border-radius:11px;margin-bottom:18px}.hp-bank-indicator-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#eaf1f6;color:#155c81;font-size:1.2rem}.hp-bank-indicator>div:last-child{display:grid;gap:2px}.hp-bank-indicator strong{color:#213d57;font-size:.85rem}.hp-bank-indicator small{color:#7c8da1;font-size:.73rem}
.hp-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:16px 0 12px}.hp-section-heading h2{font-size:1.13rem;font-weight:780;letter-spacing:-.025em;color:#1c344c;margin:0}.hp-section-heading p{color:#74869a;font-size:.79rem;line-height:1.5;margin:3px 0 0}.hp-section-meta{font-size:.73rem;color:#8a99ab;white-space:nowrap}
.hp-funding-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:20px}
.hp-funding-card{position:relative;min-width:0;background:#fff;border:1px solid var(--hp2026-border);border-radius:14px;padding:20px;box-shadow:var(--hp2026-shadow);overflow:hidden}
.hp-funding-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:#eb9d40}.hp-funding-card.hp-mtn:before{background:#ebb52e}
.hp-funding-card-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:19px}.hp-provider-identity{display:flex;gap:10px;align-items:center;min-width:0}.hp-provider-identity>div{display:grid;gap:2px}.hp-provider-identity strong{font-size:.85rem;color:#233d54}.hp-provider-identity small{font-size:.72rem;color:#7b8da2}.hp-provider-mark{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:11px;background:#fff3cc;color:#80611a;font-size:.92rem;font-weight:900}.hp-orange .hp-provider-mark{background:#fff0e3;color:#c86821}
.hp-available-label{font-size:.75rem;color:#78899e}.hp-available-amount{font-size:clamp(1.24rem,1.9vw,1.72rem);font-weight:820;line-height:1.25;letter-spacing:-.035em;color:#102f4b;margin:3px 0 16px;white-space:normal;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.hp-balance-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 16px;border-top:1px solid #eef2f6;padding-top:15px}.hp-balance-details>div{display:grid;gap:4px;min-width:0}.hp-balance-details span{font-size:.72rem;color:#78899c;line-height:1.4}.hp-balance-details strong{font-size:.86rem;color:#28425d;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.hp-balance-details .hp-balance-total strong{color:#146e65}
.hp-risk-note{border-left:3px solid #ecad54;padding:8px 11px;background:#fff8e8;color:#875c21;font-size:.72rem;line-height:1.5;margin-top:14px}
.hp-funding-card-bottom{display:flex;flex-wrap:wrap;gap:8px;border-top:1px solid #eef2f6;padding-top:15px;margin-top:16px}
.hp-updating{font-size:.75rem;color:#1e6b8b;margin:2px 0 10px}
.hp-skeleton-card{min-height:275px}.hp-skeleton-line,.hp-skeleton-amount{border-radius:8px;background:linear-gradient(90deg,#f2f5f8 20%,#e9eef3 50%,#f2f5f8 80%);background-size:200% 100%;animation:hp-shimmer 1.3s linear infinite;height:16px;margin:12px 0;width:65%}.hp-skeleton-amount{height:43px;width:80%;margin:23px 0}
@keyframes hp-shimmer{to{background-position-x:-200%}}
.hp-select-prompt{display:grid;justify-items:center;text-align:center;gap:10px;padding:60px 20px;background:#fff;border:1px dashed #d3e0eb;border-radius:14px}.hp-select-prompt h2{font-size:1.2rem;margin:4px 0 0}.hp-select-prompt p{font-size:.83rem;color:#7a8ca1;max-width:430px;margin:0}.hp-select-prompt-icon{display:grid;place-items:center;width:53px;height:53px;border-radius:15px;background:#e9f2f7;color:#176487;font-size:1.6rem}
.hp-records-panel{padding:0!important;overflow:hidden}.hp-records-heading{padding:20px 21px 15px;margin:0!important;align-items:center}.hp-receipt-filters{display:flex;gap:9px;flex-wrap:wrap}.hp-receipt-filters input{width:min(100%,255px)}.hp-receipt-filters select{width:150px}
.hp-records-panel .hp-table-scroll{max-height:660px;overflow:auto}
.hp-data-table{width:100%;min-width:840px}.hp-data-table td{vertical-align:middle!important}.hp-data-table td small{display:block;color:#8a99ac;margin-top:2px;font-size:.69rem}.hp-number{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700}.hp-reference{font-size:.76rem;overflow-wrap:anywhere}
.hp-table-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 21px;border-top:1px solid #edf1f6;font-size:.75rem;color:#8493a4}
.hp-table-empty{text-align:center;padding:44px 20px}.hp-table-empty strong{font-size:.86rem;color:#34506b}.hp-table-empty p{margin:7px auto 0!important;font-size:.78rem;color:#8b98a9;max-width:450px}
.hp-modal-backdrop{backdrop-filter:blur(3px);background:rgba(9,25,43,.62)!important;padding:18px!important;z-index:1250!important}
.hp-funding-dialog,.hp-review-dialog{width:min(100%,680px)!important;max-width:100%!important;max-height:min(90dvh,840px)!important;overflow:auto!important;border-radius:16px!important;box-shadow:0 28px 90px rgba(5,20,36,.25)!important}
.hp-dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:23px 25px 18px!important;border-bottom:1px solid #e9eef3}.hp-dialog-heading small,.hp-usage-drawer header small{color:#1f6a86;font-size:.68rem;font-weight:850;letter-spacing:.09em}.hp-dialog-heading h2{font-size:1.33rem;margin:5px 0 5px;color:#1b344d;font-weight:800;letter-spacing:-.025em}.hp-dialog-heading p{color:#73869a;font-size:.79rem;max-width:530px;margin:0;line-height:1.55}
.hp-close-dialog{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;min-height:36px!important;border:1px solid #e2e9f0!important;background:#fff!important;border-radius:10px!important;font-size:1.4rem;color:#5f758d;cursor:pointer}.hp-close-dialog:hover{background:#f1f6fa!important}
.hp-dialog-content{padding:23px 25px}.hp-dialog-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.hp-span-2{grid-column:1/-1}.hp-dialog-check{padding:13px 14px;border-radius:10px;background:#f2f8fb;border:1px solid #dbeaf3;margin-top:20px}.hp-dialog-check strong{display:block;color:#24536e;font-size:.81rem}.hp-dialog-check p{font-size:.76rem;color:#527084;line-height:1.55;margin:5px 0 0}
.hp-dialog-actions{padding:16px 25px!important;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px;border-top:1px solid #e8eef3}
.hp-review-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px}.hp-review-facts>div{display:grid;gap:4px;background:#f7fafc;border:1px solid #ecf0f4;border-radius:9px;padding:12px}.hp-review-facts span{font-size:.71rem;color:#8092a7}.hp-review-facts strong{font-size:.82rem;color:#203f59;overflow-wrap:anywhere}
.hp-usage-overlay{backdrop-filter:blur(1px)}.hp-usage-drawer{width:min(760px,100vw)!important;box-shadow:-15px 0 60px rgba(5,22,39,.21)!important}.hp-usage-drawer header{align-items:flex-start}.hp-usage-drawer header h2{font-size:1.24rem;margin:4px 0;color:#1b364e}.hp-usage-drawer header p{font-size:.77rem;color:#74869a;margin:6px 0 0}.hp-usage-totals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px}.hp-usage-totals>div{display:grid;gap:6px;padding:15px;background:#f3f8fc;border:1px solid #e2edf4;border-radius:10px}.hp-usage-totals span{font-size:.72rem;color:#7a8ea2}.hp-usage-totals strong{font-size:1rem;font-variant-numeric:tabular-nums;color:#21435e}
/* Charts, reporting and older pages share the same density and typography. */
.chart-panel,.provider-performance-panel,.money-flow-overview,.key-metrics-panel{overflow:hidden}
.money-flow-card,.provider-performance-card{border:1px solid #e2eaf2!important;border-radius:12px!important;background:#fff!important;box-shadow:none!important}
.chart-heading,.admin-panel-heading{align-items:center}
.recent-transactions-card{min-width:0}
.dashboard-line-chart{max-width:100%;height:auto}.chart-gridline{stroke:#e8eef4}
.login-page{background:#f5f8fb!important}.login-brand-panel{background:linear-gradient(152deg,#102d49,#081c30)!important}.login-brand-panel h1{letter-spacing:-.045em}.login-eyebrow{color:#e7a56d!important}.login-form-panel{background:#f6f8fb!important}.login-card{border-radius:18px!important;box-shadow:0 18px 65px rgba(15,41,63,.08)!important}.login-mini-mark{background:#e8f2f8!important;color:#155b82!important}.login-submit{background:#155b82!important;color:#fff!important}
.app-loading{display:grid;justify-items:center;align-content:center;gap:12px;min-height:100vh;background:#f7f9fc!important;color:#587088!important;font-weight:700;letter-spacing:.01em}
.app-loading:before{content:"";display:block;width:34px;height:34px;border-radius:50%;border:3px solid #d6e8f1;border-top-color:#176c8e;animation:hp-spin .8s linear infinite}
/* Make menu collapse an actual compact mode, while preserving keyboard navigation. */
.app-shell.sidebar-collapsed{grid-template-columns:76px minmax(0,1fr)!important}
.sidebar-collapsed .brand{justify-content:center;padding:12px 4px!important}
.sidebar-collapsed .brand-copy,.sidebar-collapsed .nav-section,.sidebar-collapsed .hp-group-chevron,.sidebar-collapsed .nav-label,.sidebar-collapsed .sidebar-user-copy,.sidebar-collapsed .sidebar-user .chevron,.sidebar-collapsed .sidebar-logout{display:none!important}
.sidebar-collapsed .hp-nav-group>summary{display:none!important}
.sidebar-collapsed .sidebar-nav-area{overflow-y:auto;overflow-x:hidden}
.sidebar-collapsed .hp-navigation a{justify-content:center!important;padding:10px 5px!important;font-size:0!important}
.sidebar-collapsed .hp-navigation a.active{padding-left:5px!important}
.sidebar-collapsed .hp-navigation a .nav-icon{flex-basis:24px}
.sidebar-collapsed .sidebar-user{justify-content:center}.sidebar-collapsed .nav-menu.hp-navigation{gap:9px!important}
.sidebar-collapsed .hp-nav-group{border-bottom:1px solid #264057;padding-bottom:7px}
.sidebar-collapsed .hp-nav-group details{display:block}
/* Navigation on tablet/phone: fixed, overlay, single column and touch friendly. */
.mobile-nav-backdrop{display:none}
@media(max-width:1300px){
 .header-control.date-control{display:none!important}
 .topbar .hp-profile-link .profile-copy{display:none}
 .hp-workflow-strip small{display:none}
}
@media(max-width:1024px){
 .app-shell,.app-shell.sidebar-collapsed{grid-template-columns:minmax(0,1fr)!important}
 .sidebar{position:fixed!important;top:0!important;left:0!important;bottom:0!important;height:100dvh!important;width:min(310px,88vw)!important;transform:translateX(-104%);transition:transform .20s ease;z-index:91!important;visibility:hidden}
 .app-shell.mobile-sidebar-open .sidebar{transform:translateX(0);visibility:visible}
 .mobile-nav-backdrop{display:block!important;position:fixed!important;inset:0;background:rgba(8,23,41,.55);border:0!important;opacity:0;pointer-events:none;z-index:90!important;transition:opacity .2s}
 .app-shell.mobile-sidebar-open .mobile-nav-backdrop{opacity:1;pointer-events:auto}
 .hp-desktop-toggle{display:none!important}.hp-mobile-toggle{display:grid!important}
 .sidebar-collapsed .brand-copy,.sidebar-collapsed .nav-section,.sidebar-collapsed .hp-group-chevron,.sidebar-collapsed .nav-label,.sidebar-collapsed .sidebar-user-copy,.sidebar-collapsed .sidebar-user .chevron,.sidebar-collapsed .sidebar-logout{display:initial!important}
 .sidebar-collapsed .brand-copy{display:block!important}.sidebar-collapsed .sidebar-user-copy{display:grid!important}.sidebar-collapsed .nav-section{display:block!important}
 .sidebar-collapsed .hp-nav-group>summary{display:flex!important}
 .sidebar-collapsed .hp-navigation a{justify-content:flex-start!important;padding:9px 11px!important;font-size:.85rem!important}
 .sidebar-collapsed .sidebar-user{justify-content:flex-start}.sidebar-collapsed .hp-nav-group{border:0;padding-bottom:0}
 .mobile-nav-close{display:grid!important}
 .hp-bank-scope{flex-direction:column;align-items:stretch}.hp-bank-picker-fields{width:100%}
 .hp-funding-grid{gap:11px}.hp-funding-card{padding:17px}
}
@media(max-width:760px){
 .topbar{min-height:64px!important;padding:10px 15px!important;gap:8px!important}
 .topbar-left,.topbar-actions{gap:8px}
 .hp-scope-stack strong{max-width:175px;font-size:.79rem}.hp-scope-stack small{font-size:.64rem}
 .header-control.header-select-control,.topbar .scope-chip,.data-mode-switch{display:none!important}
 .hp-quick-link{display:none}
 .hp-profile-link .avatar{width:31px;height:31px}.hp-profile-link{padding:3px}
 .content-area{padding:18px 15px 25px!important}
 .page-header,.page-title-row{flex-direction:column!important;align-items:stretch!important;gap:12px!important}
 .page-actions{justify-content:flex-start;flex-wrap:wrap;width:100%}
 .page-actions .ui-button,.page-actions .button{flex:1 1 auto}
 .page-header h1,.page-title-row h1{font-size:1.52rem!important}
 .page-header p,.page-title-row p{font-size:.83rem!important}
 .hp-workflow-strip{padding:13px;flex-wrap:wrap;justify-content:flex-start;gap:10px}.hp-workflow-strip>div{flex:1 1 135px}.hp-workflow-arrow{display:none}.hp-workflow-strip strong{font-size:.76rem}
 .hp-funding-grid{grid-template-columns:1fr}.hp-funding-card{padding:17px}.hp-available-amount{font-size:1.65rem}
 .hp-bank-picker-fields{grid-template-columns:1fr 1fr}.hp-section-heading{align-items:flex-start}
 .hp-records-heading{flex-direction:column!important;align-items:stretch!important;padding:17px!important}.hp-receipt-filters{width:100%}.hp-receipt-filters input{flex:1;width:auto;min-width:120px}.hp-receipt-filters select{width:130px}
 .hp-dialog-fields{grid-template-columns:1fr}.hp-span-2{grid-column:auto}
 .hp-dialog-heading,.hp-dialog-content{padding:19px!important}.hp-dialog-actions{padding:14px 18px!important}.hp-review-facts{grid-template-columns:1fr 1fr}
 .hp-usage-drawer{width:100%!important}
 .metric-grid,.executive-kpi-grid,.transaction-kpi-grid,.money-flow-grid,.provider-performance-grid,.chart-grid,.bottom-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .chart-grid>*,.bottom-dashboard-grid>*{grid-column:1/-1!important}
 .filters-card,.panel{padding:16px!important}.hp-records-panel{padding:0!important}
 .app-footer{padding:14px 16px!important;display:flex!important;gap:8px;font-size:.69rem!important}
 .login-brand-panel{min-height:250px!important;padding:32px 24px!important}.login-card{padding:26px!important}
}
@media(max-width:520px){
 .hp-scope-stack strong{max-width:110px}.hp-scope-dot{display:none}
 .notification-button{width:34px!important;height:34px!important}
 .content-area{padding:14px 12px 20px!important}
 .page-header h1,.page-title-row h1{font-size:1.38rem!important}
 .hp-bank-picker-fields{grid-template-columns:1fr}.hp-receipt-filters{flex-direction:column}.hp-receipt-filters input,.hp-receipt-filters select{width:100%}
 .hp-balance-details{gap:10px}.hp-funding-card-bottom button{flex:1 1 125px}
 .hp-review-facts{grid-template-columns:1fr}
 .hp-dialog-actions{flex-direction:column-reverse!important}.hp-dialog-actions button{width:100%}
 .metric-grid,.executive-kpi-grid,.transaction-kpi-grid,.money-flow-grid,.provider-performance-grid,.chart-grid,.bottom-dashboard-grid{grid-template-columns:1fr!important}
 .hp-table-footer{align-items:flex-start;flex-direction:column}
 .login-form-panel{padding:16px!important}.login-card{padding:22px!important}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
/* Contextual, collapsible instructions on pages that use the shared header. */
.hp-page-help{display:inline-block;max-width:860px;margin-top:10px;font-size:.77rem;color:#526e82}
.hp-page-help>summary{font-size:.76rem;font-weight:700;color:#1f6888;cursor:pointer;list-style:none;display:flex;align-items:center;gap:6px;width:max-content;max-width:100%}
.hp-page-help>summary:before{content:"?";display:grid;place-items:center;width:18px;height:18px;border:1px solid #b9d5e3;background:#eaf4f9;border-radius:50%;font-weight:850;font-size:.68rem;color:#266987}
.hp-page-help>summary:hover{text-decoration:underline}
.hp-page-help>summary::-webkit-details-marker{display:none}
.hp-page-help p{padding:10px 12px;margin:8px 0 0!important;background:#f3f8fb;border:1px solid #e0ebf2;border-radius:8px;font-size:.77rem!important;line-height:1.6}
.hp-finance-strip{margin-bottom:15px}
.hp-finance-strip>div{flex:1 1 110px}
.hp-advanced-control{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 18px;border:1px solid var(--hp2026-border);border-radius:12px;background:#fff;box-shadow:var(--hp2026-shadow);margin:0 0 17px}
.hp-advanced-control strong{display:block;font-weight:760;color:#29455c;font-size:.86rem}.hp-advanced-control p{font-size:.77rem;color:#8291a3;margin:3px 0 0}
@media(max-width:600px){.hp-advanced-control{align-items:stretch;flex-direction:column}.hp-advanced-control button{width:100%}}

/* ===========================================================================
   HustlePay UX stability release (2026-11-03)
   Applies to the entire Portal. Fixes legacy rules which sized navigation
   text like icons; establishes one responsive, readable visual language.
   =========================================================================== */
:root {
  --hp-ui-navy: #102e49;
  --hp-ui-deep: #091e33;
  --hp-ui-accent: #ed7a34;
  --hp-ui-text: #172e45;
  --hp-ui-muted: #5d7185;
  --hp-ui-border: #dfe8ef;
  --hp-ui-surface: #ffffff;
  --hp-ui-canvas: #f4f7fa;
  --hp-ui-focus: #e98648;
}
html { font-size: 16px; }
body, .app-shell, .main-area, .content-area { background:var(--hp-ui-canvas)!important;color:var(--hp-ui-text); }
body { font-size:14px;line-height:1.5; }
.app-shell { grid-template-columns:270px minmax(0,1fr)!important; }
.sidebar { background:var(--hp-ui-deep)!important;padding:15px 12px!important; }
/* Clear and readable product identity, rather than a tiny unreadable logo. */
.sidebar .brand {
  flex:0 0 auto!important;display:flex!important;justify-content:space-between;
  min-height:76px!important;height:auto!important;padding:9px 8px 15px!important;
  margin:0 0 6px!important;background:transparent!important;border:0!important;
  border-bottom:1px solid rgba(255,255,255,.13)!important;
  border-radius:0!important;box-shadow:none!important;overflow:visible;
}
.hp-brand-home { display:flex;align-items:center;gap:11px;min-width:0;text-decoration:none!important; }
.hp-brand-home .brand-copy { display:flex;flex-direction:column;gap:1px;min-width:0; }
.hp-brand-home .brand-copy.product-lockup strong { color:#fff!important;font-size:1.17rem!important;font-weight:790;line-height:1.18;letter-spacing:-.035em; }
.hp-brand-home .brand-copy.product-lockup>span { display:block!important;color:#d2e1ed!important;font-size:.79rem!important;overflow:visible;white-space:nowrap; }
.hp-brand-home .brand-copy.product-lockup>span.brand-product { color:#94adc2!important;font-size:.67rem!important;letter-spacing:.025em;text-transform:none; }
.hp-brand-mark {
  display:grid;place-items:center;flex:0 0 41px;width:41px;height:41px;
  border-radius:12px;background:#fff;color:#11466e;font-size:1.4rem;
  font-weight:850;letter-spacing:-.06em;box-shadow:inset 0 -3px 0 rgba(237,122,52,.7);
}
.sidebar-nav-area { padding:8px 0 12px!important;overflow-y:auto!important;overflow-x:hidden!important; }
.sidebar .nav-menu.hp-navigation {display:flex!important;flex-direction:column!important;gap:13px!important;padding:0 2px!important;min-width:0;}
.sidebar .hp-nav-group {min-width:0!important;gap:2px;}
.sidebar .hp-nav-group>.nav-section,.sidebar .hp-nav-group>summary .nav-section {
  color:#a5bcd0!important;font-size:10px!important;font-weight:750!important;letter-spacing:.09em!important;
}
.sidebar .hp-nav-group>.nav-section {padding:8px 11px 4px!important;}
.sidebar .hp-nav-group>summary {display:flex!important;align-items:center;min-height:36px;padding:7px 11px!important;border-radius:9px;}
.sidebar .hp-nav-group>summary .nav-section{padding:0!important;}
.sidebar .hp-nav-group:not([open]) > .hp-group-links {display:none!important;}
.sidebar .hp-nav-group[open] > .hp-group-links {display:flex!important;flex-direction:column;gap:3px;padding:1px 0 2px;}
.sidebar .nav-menu.hp-navigation a:not(.hp-brand-home) {
  display:flex!important;align-items:center!important;gap:11px!important;
  width:100%;min-height:42px!important;padding:9px 11px!important;
  font-size:14px!important;font-weight:530!important;line-height:1.35!important;
  border-radius:10px!important;text-align:left!important;white-space:normal!important;
  color:#d6e3ee!important;box-shadow:none!important;
}
.sidebar .nav-menu.hp-navigation a:not(.hp-brand-home) > .nav-label {
  width:auto!important;min-width:0!important;max-width:none!important;
  flex:1 1 auto!important;display:block!important;font-size:14px!important;
  text-align:left!important;white-space:normal!important;word-break:normal!important;
  overflow-wrap:normal!important;line-height:1.35!important;color:inherit!important;
}
.sidebar .nav-menu.hp-navigation a:not(.hp-brand-home) > .nav-icon {
  flex:0 0 23px!important;display:grid!important;place-items:center;
  width:23px!important;min-width:23px!important;max-width:23px!important;
  height:24px!important;color:#b4c9d9!important;font-size:17px!important;line-height:1!important;
}
.sidebar .nav-menu.hp-navigation a.active {background:#244a67!important;border:1px solid #375d79!important;border-left:3px solid var(--hp-ui-accent)!important;padding-left:9px!important;color:#fff!important;}
.sidebar .nav-menu.hp-navigation a:hover {background:#173853!important;color:#fff!important;}
.sidebar-user {gap:11px!important;min-height:53px!important;}
.sidebar-user-copy strong {font-size:.81rem!important;}
.sidebar-user-copy small {font-size:.73rem!important;}
.sidebar-logout {min-height:41px!important;font-size:.83rem!important;}
/* Genuine compact mode, distinct from normal sidebar: icons only. */
@media (min-width:1025px) {
  .app-shell.sidebar-collapsed {grid-template-columns:76px minmax(0,1fr)!important;}
  .sidebar-collapsed .sidebar .brand {justify-content:center!important;padding:11px 0!important;}
  .sidebar-collapsed .hp-brand-home {justify-content:center!important;}
  .sidebar-collapsed .hp-brand-home .brand-copy {display:none!important;}
  .sidebar-collapsed .hp-nav-group>summary {display:none!important;}
  .sidebar-collapsed .hp-nav-group>.nav-section {display:none!important;}
  .sidebar-collapsed .hp-nav-group > .hp-group-links {display:flex!important;flex-direction:column;}
  .sidebar-collapsed .nav-menu.hp-navigation a:not(.hp-brand-home) {justify-content:center!important;padding:9px 2px!important;}
  .sidebar-collapsed .nav-menu.hp-navigation a:not(.hp-brand-home) > .nav-label {display:none!important;}
  .sidebar-collapsed .nav-menu.hp-navigation a:not(.hp-brand-home) > .nav-icon {display:grid!important;}
  .sidebar-collapsed .sidebar-user-copy,.sidebar-collapsed .sidebar-user .chevron,.sidebar-collapsed .sidebar-logout {display:none!important;}
  .sidebar-collapsed .sidebar-user {justify-content:center!important;}
}
/* Consistent legible components throughout the application. */
.content-area {padding:25px clamp(18px,2.3vw,34px)!important;}
.hp-content-inner {max-width:1450px!important;}
.topbar {min-height:70px!important;gap:12px!important;}
.topbar-actions {gap:9px!important;}
.topbar .hp-profile-link .profile-copy strong {font-size:.81rem!important;}
.topbar .hp-profile-link .profile-copy small {font-size:.71rem!important;}
.page-header h1,.page-title-row h1 {font-size:clamp(1.6rem,2.0vw,2.05rem)!important;line-height:1.2!important;letter-spacing:-.03em!important;}
.page-header p,.page-title-row p {font-size:.89rem!important;line-height:1.55!important;}
.page-header {margin-bottom:21px!important;}
.panel,.metric-card,.executive-kpi,.filters-card,.table-card,.kpi-card {border-color:var(--hp-ui-border)!important;border-radius:14px!important;box-shadow:0 2px 10px rgba(16,46,73,.035)!important;}
.panel {padding:22px!important;}
.panel h2,.panel-heading h2 {font-size:1.01rem!important;line-height:1.4!important;}
.panel p,.panel-heading p {font-size:.86rem!important;line-height:1.5!important;}
.button,.ui-button,button.primary,button.secondary {font-size:.85rem;}
input:not([type=checkbox]):not([type=radio]),select,textarea {font-size:14px;}
.table-scroll,.table-wrap,.table-responsive,.dashboard-table-wrap,.admin-table-scroll {overflow-x:auto;max-width:100%;}
:where(table td,table th) {font-size:.81rem;line-height:1.35;}
/* Important: do not force all card content into tiny fonts to fit a column. */
:where(.metric-card,.executive-kpi,.provider-performance-card) small {font-size:.75rem;line-height:1.4;}
:where(.metric-grid,.executive-kpi-grid,.transaction-kpi-grid,.provider-performance-grid) > * {min-width:0;}
:where(.form-group,.hp-field) label {font-weight:650;}
/* Main dashboard: clear hierarchy without repeating the same five KPIs. */
.hp-dashboard-section-intro {display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin:19px 0 13px;}
.hp-dashboard-section-intro h2,.hp-dashboard-expanded-heading h2 {margin:4px 0 2px;font-size:1.15rem;letter-spacing:-.025em;color:#172e45;}
.hp-dashboard-section-intro p,.hp-dashboard-expanded-heading p {margin:0;color:#64778a;font-size:.82rem;line-height:1.45;}
.hp-eyebrow {font-size:.66rem;font-weight:800;letter-spacing:.12em;color:#1d6d90;}
.hp-dashboard-section-links {display:flex;gap:9px;flex-wrap:wrap;}
.hp-dashboard-section-links a {font-size:.79rem;font-weight:700;color:#1d607e;text-decoration:none;padding:8px 11px;background:#fff;border:1px solid #dbe7ef;border-radius:8px;}
.hp-dashboard-section-links a:hover {background:#eaf5f9;}
.money-flow-overview {margin-bottom:17px!important;}
.money-flow-overview .panel-heading {align-items:center;gap:14px;margin-bottom:14px;}
.money-flow-overview .panel-heading p {margin:4px 0 0!important;}
.money-flow-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
.money-flow-card {min-height:165px!important;padding:17px!important;background:#f9fbfd!important;border:1px solid #e2eaf1!important;border-radius:11px!important;box-shadow:none!important;}
.money-flow-card .flow-label {font-size:.72rem!important;color:#60778a!important;letter-spacing:.05em;}
.money-flow-card>strong {font-size:1.85rem!important;line-height:1.1!important;}
.money-flow-card small {font-size:.77rem!important;line-height:1.4;color:#6c7d90;}
.flow-money-list {margin-top:12px;gap:6px;}
.flow-money-list>div {font-size:.78rem!important;}
.hp-dashboard-expanded-heading {margin:18px 0 12px;}
.hp-advanced-control {margin-top:17px!important;padding:17px 19px!important;}
.hp-advanced-control strong {font-size:.9rem!important;}
.hp-advanced-control p {font-size:.8rem!important;}
.data-source-banner {border-radius:10px!important;font-size:.78rem!important;line-height:1.45;}
/* Login screen: balanced, no artificial top/bottom overflow at normal desktop heights. */
.login-page {display:grid!important;grid-template-columns:minmax(0,46%) minmax(0,54%)!important;min-height:100dvh!important;background:#f5f7fa!important;}
.login-brand-panel {
  position:relative;display:flex!important;flex-direction:column;justify-content:space-between!important;
  min-width:0;padding:clamp(30px,4.6vw,72px)!important;
  background:#102b45!important;overflow:hidden;color:#fff;
}
.login-brand-panel:after {right:-160px!important;bottom:-230px!important;opacity:.3!important;pointer-events:none;}
.login-brand-content {position:relative;z-index:1;display:flex;flex-direction:column;gap:clamp(32px,8vh,94px);min-height:0;flex:1;justify-content:center;}
.login-brand-lockup {display:flex;align-items:center;gap:13px;}
.login-brand-lockup .hp-brand-mark {width:47px;height:47px;flex-basis:47px;font-size:1.55rem;}
.login-brand-lockup>div {display:grid;gap:1px;}
.login-brand-lockup strong {font-weight:800;font-size:1.3rem;line-height:1.2;letter-spacing:-.03em;color:#fff;}
.login-brand-lockup small {font-size:.78rem;color:#becfdd;}
.login-brand-copy {max-width:610px;}
.login-kicker,.login-form-eyebrow {font-size:.72rem;font-weight:790;letter-spacing:.13em;color:#e8ad82;}
.login-brand-panel h1 {font-size:clamp(2.15rem,3.65vw,3.8rem)!important;line-height:1.11!important;letter-spacing:-.05em!important;margin:12px 0 19px!important;max-width:620px!important;}
.login-brand-panel .login-brand-copy>p {max-width:540px;margin:0;color:#c9d8e4;line-height:1.6;font-size:1rem;}
.login-security-note {margin-top:26px!important;padding:13px 15px!important;max-width:485px!important;background:rgba(255,255,255,.045)!important;}
.login-security-note strong {font-size:.86rem;}
.login-security-note span {font-size:.78rem;}
.login-brand-bottom {position:relative;z-index:1;color:#91acbf;font-size:.76rem;padding-top:24px;}
.login-form-panel {display:grid;place-items:center;min-width:0;padding:clamp(18px,3vw,48px)!important;background:#f5f7fa!important;}
.login-card {width:min(100%,444px)!important;padding:clamp(25px,2.5vw,38px)!important;border-radius:17px!important;box-shadow:0 15px 50px rgba(14,41,65,.075)!important;}
.login-card-header {margin-bottom:27px!important;}
.login-card-header h2 {font-size:1.7rem!important;margin:7px 0 6px!important;color:#162f48;}
.login-card-header p {font-size:.88rem;line-height:1.5;color:#62758a;}
.login-card .form-group {margin-bottom:18px;}
.login-card .form-control {height:45px!important;min-height:45px!important;font-size:.9rem;}
.login-card .login-submit {min-height:46px!important;margin-top:7px!important;border-radius:9px!important;font-weight:730!important;background:#16618a!important;}
.login-card .login-support {font-size:.77rem;line-height:1.55;color:#748397;text-align:center;margin:24px 0 0;}
/* Desktop layouts with shorter windows should remain useful without clipped content. */
@media(min-width:900px) and (min-height:650px) {
  .login-page {height:100dvh!important;min-height:0!important;}
  .login-brand-panel,.login-form-panel {height:100dvh;}
}
@media(max-width:1200px){
  .app-shell {grid-template-columns:250px minmax(0,1fr)!important;}
  .sidebar .nav-menu.hp-navigation a:not(.hp-brand-home) {font-size:13px!important;}
  .sidebar .nav-menu.hp-navigation a:not(.hp-brand-home) > .nav-label {font-size:13px!important;}
  .money-flow-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:1024px) {
  .app-shell,.app-shell.sidebar-collapsed {grid-template-columns:minmax(0,1fr)!important;}
  .sidebar {width:min(300px,90vw)!important;}
  .sidebar .nav-menu.hp-navigation a:not(.hp-brand-home) > .nav-label {display:block!important;}
  .sidebar-collapsed .nav-menu.hp-navigation a:not(.hp-brand-home) > .nav-label {display:block!important;}
  .sidebar-collapsed .hp-brand-home .brand-copy {display:flex!important;}
  .sidebar-collapsed .hp-nav-group>summary {display:flex!important;}
  .sidebar-collapsed .hp-nav-group>.nav-section {display:block!important;}
  .sidebar-collapsed .hp-nav-group:not([open])>.hp-group-links {display:none!important;}
  .hp-dashboard-section-intro {align-items:flex-start;flex-direction:column;}
}
@media(max-width:780px) {
  .login-page {grid-template-columns:minmax(0,1fr)!important;min-height:100dvh!important;}
  .login-brand-panel {padding:22px 22px!important;min-height:0!important;}
  .login-brand-content {gap:12px!important;}
  .login-brand-lockup {gap:10px;}
  .login-brand-lockup .hp-brand-mark {width:39px;height:39px;flex-basis:39px;font-size:1.35rem;}
  .login-brand-lockup strong {font-size:1.08rem;}
  .login-brand-copy,.login-brand-bottom {display:none!important;}
  .login-form-panel {padding:20px 17px 32px!important;display:flex;align-items:flex-start;justify-content:center;}
  .login-card {max-width:480px!important;padding:25px!important;}
  .content-area {padding:17px 15px!important;}
  .panel {padding:17px!important;}
  .money-flow-grid {grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .money-flow-overview .panel-heading {align-items:flex-start;flex-direction:column;}
  .topbar .header-select-control {display:none!important;}
  .sidebar .brand {padding-top:9px!important;}
}
@media(max-width:520px) {
  .money-flow-grid {grid-template-columns:1fr!important;}
  .money-flow-card {min-height:135px!important;}
  .login-form-panel {padding:12px 12px 28px!important;}
  .login-card {padding:23px 20px!important;}
  .hp-dashboard-section-links {width:100%;}
  .hp-dashboard-section-links a {flex:1;text-align:center;}
  .topbar .hp-profile-link {display:none!important;}
  .page-header h1 {font-size:1.52rem!important;}
}
@media(max-width:1024px) {
  /* Keep the mobile drawer above even the legacy sticky topbar. */
  .app-shell .sidebar {z-index:1300!important;}
  .app-shell .mobile-nav-backdrop {z-index:1290!important;}
  .app-shell .topbar {z-index:65!important;}
  .mobile-nav-close {z-index:2!important;}
}
@media(min-width:1025px) {
  .app-shell.sidebar-collapsed .sidebar .hp-nav-group > .hp-group-links {display:flex!important;}
  .app-shell.sidebar-collapsed .sidebar-logout {display:flex!important;justify-content:center!important;font-size:0!important;max-width:46px;margin:7px auto!important;padding:7px!important;}
  .app-shell.sidebar-collapsed .sidebar-logout span {font-size:17px!important;}
}
@media(max-width:780px) {
  .login-page {display:flex!important;flex-direction:column!important;}
  .login-brand-panel {flex:0 0 auto!important;min-height:90px!important;}
  .login-form-panel {flex:1 1 auto!important;min-height:0!important;}
}
/* Shared form/table legibility on legacy modules, without changing their data model. */
.content-area table th,.content-area table td {font-size:.8rem!important;line-height:1.45!important;}
.content-area table th {font-weight:750!important;white-space:nowrap;}
.content-area table td small,.content-area table th small {font-size:.72rem!important;}
.content-area .form-group label,.content-area .hp-field>span {font-size:.82rem!important;line-height:1.35!important;}
.content-area .form-control,.content-area input:not([type=checkbox]):not([type=radio]),.content-area select,.content-area textarea {font-size:.86rem;}
.content-area .alert {font-size:.85rem!important;line-height:1.5;}
