/* Shared visual direction with TW Ventas: charcoal header, compact rail, light workspace. */
#expense-classification{min-width:0;margin:16px 0;padding:0 14px 12px;border:1px solid #d7dfe5;border-radius:12px}
#expense-classification legend{padding:0 6px;font-size:13px;font-weight:650}
#expense-classification label{margin:10px 0 0}
#expense-classification .text-action{text-align:left;white-space:normal}
#classification-editor{padding:0 10px 8px;background:#f1f6fa;border-radius:9px}
#classification-editor .primary{margin:10px 10px 0 0}
#classification-status{font-size:12px}
body{--shell-header:94px;--shell-stripe:5px}
.brand-header{height:var(--shell-header);position:sticky;top:0;z-index:7;background:#414143;color:#fff;padding:0 32px;gap:20px;border:0}
.brand{color:white;gap:18px;font-size:32px;flex-shrink:0}
.brand-mark{width:100px;flex:0 0 100px}
.brand-words{display:block;line-height:1.1}
.brand-words small{display:block;color:#e4e4e4;font-size:9px;letter-spacing:2.3px;margin-top:11px;font-weight:650;line-height:1.3}
.brand-stripe{position:sticky;top:var(--shell-header);z-index:7;height:var(--shell-stripe)}
.header-right{gap:12px;color:#fff}
.model-badge{border:1px solid #ffffff50;padding:12px 16px;border-radius:28px;font-size:12px;font-weight:650;white-space:nowrap}
.view-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.view-controls button{min-height:40px;padding:8px 13px;background:transparent;border:1px solid #ffffff50;border-radius:9px;color:#fff;font-size:12px;white-space:nowrap}
.view-controls button:hover{background:#ffffff15}
.profile{background:#ffffff12;color:#fff;border-color:#ffffff45}
.desktop-nav{position:fixed;top:calc(var(--shell-header) + var(--shell-stripe));width:96px;min-height:0;bottom:0;padding:20px 8px;gap:8px;overflow-y:auto;scrollbar-width:thin}
.desktop-nav>p{display:none}
.desktop-nav button{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:74px;padding:10px 2px;text-align:center;font-size:11px;font-weight:600;color:#73838b}
.desktop-nav button.selected{background:#e8f4fb;color:#0076ad}
.desktop-nav button svg{width:23px;height:23px;flex-shrink:0}
.nav-bottom{margin-top:auto;padding-top:12px;border:0}
.nav-bottom span{display:none}
main{margin-left:96px;padding:28px clamp(22px,3vw,44px) 36px;max-width:none}
.model-notice{margin-bottom:20px}
.page-heading{margin-bottom:26px;min-height:74px}
.home-grid{grid-template-columns:minmax(0,1.35fr) minmax(310px,1fr);gap:20px}
.panel{padding:22px;border-radius:17px;box-shadow:0 3px 15px #22313d03}
.balance{border-top:1px solid var(--line)}
.balance h2{font-size:clamp(32px,3vw,44px)}
.balance-bottom{margin-top:20px}
.currencies button{border-radius:22px}
.primary{background:#007eb8;min-height:48px}
.bottom-nav button svg{width:23px;height:23px}
.bottom-nav button.selected{background:#e8f4fb;border-radius:12px}
@media(min-width:1200px){.home-grid>.balance,.home-grid>.month{min-height:290px}.home-grid>.upcoming,.home-grid>.recent{min-height:290px}}
@media(min-width:701px) and (max-width:1000px){.brand-header{padding:0 20px}.brand{font-size:28px;gap:12px}.brand-mark{width:80px;flex-basis:80px}.brand-words small{font-size:8px;letter-spacing:1.5px}.home-grid{grid-template-columns:minmax(0,1fr)}.model-badge{display:none}.header-right{gap:8px}.view-controls button{padding:8px 10px}.page-heading{flex-wrap:wrap}.account-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
 body{--shell-header:112px;--shell-stripe:5px}
 .brand-header{padding:12px 16px;gap:10px;align-items:center}
 .brand{font-size:26px;gap:10px;min-width:0}
 .brand-mark{width:70px;flex-basis:70px}
 .brand-words small{font-size:7px;letter-spacing:1.3px;margin-top:8px;max-width:130px}
 .header-right{flex-direction:column;align-items:flex-end;gap:7px;min-width:98px}
 .profile{display:none}
 .model-badge{display:block;font-size:10px;padding:7px 11px}
 .view-controls{gap:5px;justify-content:flex-end;max-width:110px}
 .view-controls button{min-height:32px;font-size:10px;padding:6px 9px}
 .desktop-nav{display:none}
 main{margin:0;padding:22px 16px 180px}
 .home-grid{grid-template-columns:minmax(0,1fr);gap:15px}
 .panel{padding:19px}
 .page-heading{min-height:0;margin-bottom:22px}
 .page-heading h1{font-size:29px}
 .balance h2{font-size:38px}
 .account-grid{grid-template-columns:1fr}
 .bottom-nav{padding-top:8px}
 .bottom-nav button{min-height:52px;min-width:64px;font-size:11px}
 .mobile-add{bottom:calc(84px + env(safe-area-inset-bottom))}
}
