@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');
:root{--ink:#172b27;--muted:#71817b;--green:#1b6b52;--green2:#dff2e8;--bg:#f4f7f4;--line:#e4ebe6;--white:#fff;--red:#bb554c;--shadow:0 8px 28px rgba(24,54,43,.07)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',-apple-system,BlinkMacSystemFont,sans-serif}button,input,select{font:inherit}button{cursor:pointer}.app-shell{max-width:560px;min-height:100vh;margin:auto;background:var(--bg);padding-bottom:calc(84px + env(safe-area-inset-bottom))}.topbar{height:72px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;background:#102a26;color:white;position:sticky;top:0;z-index:5}.brand{display:flex;align-items:center;gap:10px}.brand-mark{width:38px;height:38px;border-radius:12px;background:#d9eee2;color:#164b3c;display:grid;place-items:center;font:800 13px Manrope}.brand strong{display:block;font:800 13px Manrope;letter-spacing:1.3px}.brand small{display:block;color:#a9c4b8;font-size:11px;margin-top:2px}.top-actions{display:flex;align-items:center;gap:10px}.settings-top-btn{width:42px;height:42px;border:1px solid #46675d;border-radius:14px;display:grid;place-items:center;font-size:21px}.icon-btn{border:0;background:transparent;color:white;font-size:22px}main{padding:22px 18px 18px}.page{display:none}.page.active{display:block;animation:fade .2s ease}@keyframes fade{from{opacity:.5;transform:translateY(4px)}to{opacity:1;transform:none}}h1,h2,p{margin-top:0}h1{font:800 27px Manrope;letter-spacing:-.8px;margin-bottom:0}h2{font:700 17px Manrope;margin:0}.eyebrow{font-size:9px;font-weight:700;letter-spacing:1.5px;color:var(--muted);margin-bottom:7px}.welcome,.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.date-chip{font-size:10px;color:var(--muted);background:white;border:1px solid var(--line);padding:8px 10px;border-radius:20px}.networth-card{background:linear-gradient(135deg,#143d33,#1e6550);color:white;padding:22px;border-radius:22px;box-shadow:var(--shadow);margin-bottom:22px}.card-top{display:flex;justify-content:space-between;color:#bdd9cb;font-size:9px;letter-spacing:1.3px;font-weight:700}.live-dot{color:#9ce0b8}.big-number{font:800 34px Manrope;letter-spacing:-1px;margin:13px 0 20px}.nw-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #ffffff35;padding-top:14px}.nw-grid small,.metric small{display:block;color:#c5dbd0;font-size:11px;margin-bottom:5px}.nw-grid strong{font:700 16px Manrope}.section-heading{display:flex;justify-content:space-between;align-items:center;margin:23px 0 12px}.section-heading input{width:auto;max-width:145px}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.metric{background:white;border:1px solid var(--line);border-radius:16px;padding:15px;box-shadow:0 3px 12px rgba(20,50,38,.025)}.metric small{color:var(--muted)}.metric strong{font:700 18px Manrope;display:block;overflow-wrap:anywhere}.metric-icon{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;margin-bottom:10px}.income-icon{background:#e0f4e8;color:#1b8a58}.expense-icon{background:#fff0e8;color:#c36b45}.cashflow,.summary-strip{display:flex;justify-content:space-between;align-items:center;background:#e8f1eb;border-radius:14px;padding:15px;margin-top:12px;font-size:12px}.cashflow strong,.summary-strip strong{font:700 16px Manrope}.list-card{background:white;border:1px solid var(--line);border-radius:16px;overflow:hidden}.empty{padding:22px;text-align:center;color:var(--muted);font-size:12px}.list-row{display:flex;align-items:center;gap:11px;padding:13px 14px;border-bottom:1px solid #edf1ee}.list-row:last-child{border-bottom:0}.row-icon{width:35px;height:35px;border-radius:11px;background:#edf5ef;color:var(--green);display:grid;place-items:center;flex:none}.row-main{min-width:0;flex:1}.row-main strong{display:block;font-size:12px}.row-main small{display:block;color:var(--muted);font-size:10px;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-amount{font:700 12px Manrope;white-space:nowrap}.positive{color:#208357}.negative{color:#a44c43}.text-btn{background:none;border:0;color:var(--green);font-size:11px;font-weight:700}.primary-btn,.secondary-btn,.danger-btn{border:0;border-radius:12px;padding:12px 15px;font-size:12px;font-weight:700}.primary-btn{background:var(--green);color:white}.primary-btn.small{padding:9px 12px}.secondary-btn{background:#eaf1ec;color:#214f3e;border:1px solid #dbe7df}.danger-btn{background:#fff0ed;color:#a3443d}.toolbar{display:flex;gap:8px;margin-bottom:13px}.toolbar input{flex:1;min-width:0}.toolbar select{width:108px}.toolbar select:last-child{width:116px}.month-heading{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:#edf4ef;color:#214f3e;font-size:11px;font-weight:800;letter-spacing:.2px}.month-heading span{font-weight:500;color:#7c8d83;font-size:10px}.month-group+.month-group{border-top:1px solid var(--line)}input,select{border:1px solid #dce6df;background:white;border-radius:11px;padding:11px 12px;color:var(--ink);font-size:12px;min-width:0}input:focus,select:focus{outline:2px solid #9ccbb1;border-color:transparent}.field-label{display:block;font-size:11px;color:var(--muted);margin:15px 0 6px}.form-card,.settings-card{background:white;border:1px solid var(--line);border-radius:17px;padding:16px;margin:15px 0}.form-card h2,.settings-card h2{margin-bottom:13px}.form-card label,.dialog-form>label{display:block;font-size:11px;font-weight:600;color:#5e7068;margin:11px 0}.form-card input,.form-card select,.dialog-form>label input,.dialog-form>label select{display:block;width:100%;margin-top:6px}.form-card .primary-btn{width:100%;margin-top:8px}.budget-stack{display:grid;gap:10px}.budget-item{background:white;border:1px solid var(--line);border-radius:15px;padding:14px}.budget-head{display:flex;justify-content:space-between;gap:10px;font-size:11px;font-weight:700}.budget-head small{font-weight:500;color:var(--muted)}.progress{height:7px;border-radius:8px;background:#edf1ee;margin:11px 0 7px;overflow:hidden}.progress span{height:100%;display:block;border-radius:8px;background:#39966c}.progress span.over{background:#c45d50}.budget-foot{display:flex;justify-content:space-between;color:var(--muted);font-size:10px}.hint{font-size:10px;line-height:1.6;color:var(--muted);margin:10px 0}.settings-card p{line-height:1.55}.settings-card .secondary-btn,.settings-card .danger-btn{margin:5px 5px 0 0}.button-row{display:flex;flex-wrap:wrap;gap:7px}.file-button{display:inline-block;cursor:pointer}.file-button input{display:none}.status-line{font-size:12px;font-weight:700;color:#a06b2c}.version{text-align:center;color:#9aa8a0;font-size:9px;letter-spacing:1px;margin:25px 0}.tabbar{position:fixed;z-index:10;bottom:0;left:50%;transform:translateX(-50%);width:min(560px,100%);padding:9px 8px calc(9px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);backdrop-filter:blur(15px);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(6,1fr)}.tab{border:0;background:none;color:#87958d;display:grid;justify-items:center;gap:3px;padding:3px}.tab span{font-size:21px;line-height:22px}.tab small{font-size:9px}.tab.active{color:var(--green);font-weight:700}.tab.active span{background:#e1f0e6;border-radius:10px;padding:2px 13px}dialog{border:0;border-radius:22px;padding:0;width:min(440px,calc(100% - 28px));max-height:88vh;box-shadow:0 20px 80px #102a2640}dialog::backdrop{background:#0c211dcc;backdrop-filter:blur(3px)}.dialog-form{padding:21px;max-height:85vh;overflow:auto}.dialog-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.dialog-header h2{font-size:22px}.close-btn{border:0;background:#edf2ee;border-radius:50%;width:32px;height:32px;font-size:22px;color:#456}.segmented{display:grid;grid-template-columns:1fr 1fr;background:#eef3ef;padding:4px;border-radius:12px}.segmented button{border:0;background:transparent;padding:9px;border-radius:9px;color:#6d7d74;font-size:12px}.segmented button.selected{background:white;color:var(--green);font-weight:700;box-shadow:0 2px 6px #183c2915}.dialog-form>.primary-btn{width:100%;margin-top:14px}.check-label{display:flex!important;align-items:center;gap:8px}.check-label input{width:auto!important;margin:0!important}#toast{position:fixed;z-index:30;bottom:calc(88px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%,15px);opacity:0;pointer-events:none;background:#183c32;color:white;padding:11px 16px;border-radius:30px;font-size:11px;box-shadow:var(--shadow);transition:.2s;max-width:90%;text-align:center}#toast.show{opacity:1;transform:translate(-50%,0)}@media(min-width:600px){body{padding:20px 0}.app-shell{min-height:calc(100vh - 40px);border-radius:24px;overflow:hidden;box-shadow:0 10px 50px #143b2814}.topbar{border-radius:24px 24px 0 0}.tabbar{bottom:20px;border-radius:0 0 24px 24px}}

/* Personalisation: dark theme, clearer transaction actions, and iPhone tap behavior */
:root{color-scheme:light;--income:#188653;--expense:#c43f43}
html,body,button,a,.list-row{touch-action:manipulation}
input,select,textarea{font-size:16px!important}
.income-icon{color:var(--income)!important;background:#e3f5e9!important}.expense-icon{color:var(--expense)!important;background:#ffeaeb!important}
.transaction-row{flex-wrap:wrap}.tx-actions{display:flex;gap:7px;align-items:center;margin-left:46px;width:calc(100% - 46px)}.tx-actions .text-btn{padding:5px 2px}
.account-row{cursor:pointer}.account-row:active{background:var(--green2)}
html[data-theme="dark"]{color-scheme:dark;--ink:#e5eee9;--muted:#9aaca3;--green:#65bd91;--green2:#203d31;--bg:#101916;--line:#2b3b34;--white:#18231e;--red:#ff7777;--shadow:0 8px 28px rgba(0,0,0,.24)}
html[data-theme="dark"] body,html[data-theme="dark"] .app-shell{background:var(--bg);color:var(--ink)}
html[data-theme="dark"] .topbar{background:#0a1712}html[data-theme="dark"] .date-chip,html[data-theme="dark"] .metric,html[data-theme="dark"] .list-card,html[data-theme="dark"] .form-card,html[data-theme="dark"] .settings-card,html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] dialog{background:#18231e;color:var(--ink);border-color:var(--line)}
html[data-theme="dark"] .month-heading,html[data-theme="dark"] .secondary-btn,html[data-theme="dark"] .cashflow,html[data-theme="dark"] .summary-strip{background:#20352b;color:#d8e9df;border-color:var(--line)}
html[data-theme="dark"] .tabbar{background:rgba(19,29,24,.96);border-color:var(--line)}html[data-theme="dark"] .tab{color:#91a49a}html[data-theme="dark"] .tab.active{color:#82d4a8}html[data-theme="dark"] .list-row{border-color:var(--line)}html[data-theme="dark"] .month-heading{background:#20352b}html[data-theme="dark"] .close-btn{background:#293a31;color:#e5eee9}

@media (prefers-color-scheme:dark){html[data-theme="system"]{color-scheme:dark;--ink:#e5eee9;--muted:#9aaca3;--green:#65bd91;--green2:#203d31;--bg:#101916;--line:#2b3b34;--white:#18231e;--red:#ff7777;--shadow:0 8px 28px rgba(0,0,0,.24)}html[data-theme="system"] body,html[data-theme="system"] .app-shell{background:var(--bg);color:var(--ink)}html[data-theme="system"] .date-chip,html[data-theme="system"] .metric,html[data-theme="system"] .list-card,html[data-theme="system"] .form-card,html[data-theme="system"] .settings-card,html[data-theme="system"] input,html[data-theme="system"] select,html[data-theme="system"] dialog{background:#18231e;color:var(--ink);border-color:var(--line)}html[data-theme="system"] .month-heading,html[data-theme="system"] .secondary-btn,html[data-theme="system"] .cashflow,html[data-theme="system"] .summary-strip{background:#20352b;color:#d8e9df;border-color:var(--line)}html[data-theme="system"] .tabbar{background:rgba(19,29,24,.96);border-color:var(--line)}html[data-theme="system"] .tab{color:#91a49a}html[data-theme="system"] .tab.active{color:#82d4a8}html[data-theme="system"] .list-row{border-color:var(--line)}html[data-theme="system"] .close-btn{background:#293a31;color:#e5eee9}}

/* My Wealth vNext: compact dashboard, dense budget overview, advanced analytics and palettes */
.networth-card.compact-networth{padding:14px 17px;margin-bottom:12px}.compact-networth .big-number{font-size:27px;margin:7px 0 10px}.compact-networth .nw-grid{padding-top:8px}.compact-networth .nw-grid strong{font-size:14px}
.cashflow-inline{gap:8px}.cashflow-inline .metric{display:flex;align-items:center;gap:8px;padding:9px 11px;min-width:0}.cashflow-inline .metric-icon{margin:0;flex:none}.cashflow-inline .metric small{margin:0;font-size:10px}.cashflow-inline .metric strong{font-size:14px;white-space:nowrap}.cashflow-inline .metric{flex-wrap:nowrap}
#dashboard .section-heading{margin:13px 0 7px}#dashboard .cashflow{padding:10px 13px;margin-top:8px}#dashboard .list-row{padding:8px 11px}#dashboard .row-icon{width:29px;height:29px}#dashboard .row-main strong{font-size:11px}#dashboard .row-main small{font-size:9px}#dashboard .row-amount{font-size:11px}
/* Home stays within the viewport; other tabs retain normal scrolling. */
@media(max-width:599px){body:has(#dashboard.active){overflow:hidden}#dashboard.active{height:calc(100dvh - 142px);overflow:hidden;padding-bottom:0}#dashboard .welcome{margin-bottom:7px}#dashboard .welcome h1{font-size:22px}#dashboard .networth-card{margin-bottom:8px}#dashboard .section-heading h2{font-size:13px}#dashboard #recentList{max-height:150px;overflow:hidden}}
.budget-controls{display:grid;grid-template-columns:1fr auto;align-items:end;gap:10px;margin-bottom:14px}.budget-controls .field-label{margin-bottom:6px}.budget-stack{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.budget-item{padding:11px}.budget-head{font-size:10px;align-items:flex-start}.budget-head span:last-child{text-align:right}.budget-foot{font-size:9px}.budget-item .progress{margin:8px 0 6px}
.report-filters{display:grid;grid-template-columns:1fr 1fr;gap:9px;background:var(--white);border:1px solid var(--line);border-radius:15px;padding:12px;margin:12px 0}.report-filters label{font-size:10px;color:var(--muted);display:grid;gap:4px}.report-filters input,.report-filters select{width:100%;padding:9px 7px}.report-filters button{align-self:end}.chart-card{background:var(--white);border:1px solid var(--line);border-radius:15px;padding:13px;min-height:95px}.chart-legend{display:flex;gap:14px;font-size:10px;margin-bottom:10px}.bar-chart{height:125px;display:flex;align-items:stretch;gap:5px;overflow-x:auto}.bar-pair{min-width:23px;flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:5px}.bar-columns{height:100px;width:100%;display:flex;align-items:flex-end;justify-content:center;gap:3px;border-bottom:1px solid var(--line)}.bar-columns i{display:block;width:7px;min-height:1px;border-radius:4px 4px 0 0}.bar-income{background:#239b68}.bar-expense{background:#d95357}.bar-pair small{font-size:8px;color:var(--muted)}.report-bar{height:5px;background:var(--line);border-radius:6px;margin-top:6px;overflow:hidden}.report-bar i{display:block;height:100%;background:#d95357;border-radius:6px}.category-edit-row{display:flex;align-items:center;gap:7px;padding:9px 2px;border-bottom:1px solid var(--line);font-size:12px}.category-edit-row span{flex:1}.category-edit-row small{font-size:9px;color:var(--muted)}
html[data-theme="blue"]{--green:#2867b2;--green2:#e7f0fc;--bg:#f2f6fc;--line:#d8e3f1;--white:#fff}html[data-theme="blue"] .topbar{background:#1f5798}html[data-theme="blue"] .networth-card{background:linear-gradient(135deg,#245b9d,#397fc1)}html[data-theme="blue"] .primary-btn{background:#2867b2}html[data-theme="blue"] .tab.active{color:#2867b2}
html[data-theme="navy"]{color-scheme:dark;--ink:#e7edf7;--muted:#a4b2c7;--green:#78a9ed;--green2:#233956;--bg:#0d1728;--line:#263750;--white:#15243a;--shadow:0 8px 28px rgba(0,0,0,.3)}html[data-theme="navy"] body,html[data-theme="navy"] .app-shell{background:var(--bg);color:var(--ink)}html[data-theme="navy"] .topbar{background:#091326}html[data-theme="navy"] .networth-card{background:linear-gradient(135deg,#142b4d,#244d7d)}html[data-theme="navy"] .metric,html[data-theme="navy"] .list-card,html[data-theme="navy"] .form-card,html[data-theme="navy"] .settings-card,html[data-theme="navy"] input,html[data-theme="navy"] select,html[data-theme="navy"] dialog,html[data-theme="navy"] .chart-card{background:#15243a;color:var(--ink);border-color:var(--line)}html[data-theme="navy"] .tabbar{background:#101d31;border-color:var(--line)}html[data-theme="navy"] .month-heading,html[data-theme="navy"] .cashflow,html[data-theme="navy"] .summary-strip{background:#203956;color:var(--ink)}html[data-theme="navy"] .list-row{border-color:var(--line)}
/* Navigation, transaction detail and selection refinements */
.page{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}.page::-webkit-scrollbar{display:none}
.app-shell{height:100dvh;min-height:100dvh;overflow:hidden}main{min-height:0;overflow:hidden}.page.active{height:100%;overflow-y:auto;padding-bottom:calc(92px + env(safe-area-inset-bottom))}
.bulk-toolbar{display:flex;align-items:center;gap:12px;padding:10px 2px;position:sticky;top:0;background:var(--surface,#f5f8f6);z-index:3}.bulk-toolbar:not(.has-selection){opacity:.75}.bulk-toolbar button{margin-left:auto}.tx-select{padding:6px}.transaction-row{cursor:pointer}.transaction-row:active{opacity:.8}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.detail-grid p{margin:0;padding:12px;background:var(--surface-2,#f1f4f2);border-radius:12px;display:flex;flex-direction:column;gap:5px}.detail-grid small{color:var(--muted,#71817b)}
:root[data-accent="blue"]{--accent:#2876c7;--accent-soft:#e5f0fc} :root[data-accent="teal"]{--accent:#138b83;--accent-soft:#e1f5f2} :root[data-accent="purple"]{--accent:#8054bd;--accent-soft:#f0e9fa} :root[data-accent="orange"]{--accent:#d97724;--accent-soft:#fff0e2}
:root[data-accent="blue"] .primary-btn,:root[data-accent="blue"] .tab.active{background:#2876c7}:root[data-accent="teal"] .primary-btn,:root[data-accent="teal"] .tab.active{background:#138b83}:root[data-accent="purple"] .primary-btn,:root[data-accent="purple"] .tab.active{background:#8054bd}:root[data-accent="orange"] .primary-btn,:root[data-accent="orange"] .tab.active{background:#d97724}

/* My Wealth layout repair: each screen scrolls inside the app frame. */
html,body{height:100%;min-height:100%;overflow:hidden}
body{min-height:100dvh}
.app-shell{height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding-bottom:0}
.topbar{flex:0 0 auto;position:relative;top:auto}
main{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;padding-bottom:24px}
.page{display:none;min-height:100%;overflow:visible}
.page.active{display:block}
.tabbar{position:relative;left:auto;bottom:auto;transform:none;width:100%;flex:0 0 auto;padding-bottom:calc(9px + env(safe-area-inset-bottom));z-index:10}
@media(min-width:600px){body{padding:0}.app-shell{min-height:0;height:100dvh;border-radius:0;overflow:hidden}.topbar{border-radius:0}.tabbar{bottom:auto;border-radius:0}}

/* Accent colour is the app-wide chrome palette, independent of display mode. */
:root{--accent:#1b6b52;--accent-dark:#102f27;--accent-soft:#e4f1e9;--accent-border:#cfe2d6}
:root[data-accent="green"]{--accent:#1b6b52;--accent-dark:#102f27;--accent-soft:#e4f1e9;--accent-border:#cfe2d6}
:root[data-accent="blue"]{--accent:#2867b2;--accent-dark:#173b68;--accent-soft:#e5f0fc;--accent-border:#cbdcf1}
:root[data-accent="teal"]{--accent:#138b83;--accent-dark:#0b4644;--accent-soft:#e1f5f2;--accent-border:#c3e7e2}
:root[data-accent="purple"]{--accent:#8054bd;--accent-dark:#392653;--accent-soft:#f0e9fa;--accent-border:#dfd0f0}
:root[data-accent="orange"]{--accent:#d97724;--accent-dark:#66370f;--accent-soft:#fff0e2;--accent-border:#f2d7bc}
.topbar{background:var(--accent-dark)!important}
.brand-mark{background:var(--accent-soft)!important;color:var(--accent)!important}
.primary-btn{background:var(--accent)!important}
.text-btn,.tab.active{color:var(--accent)!important}
.tab.active span{background:var(--accent-soft)!important}
.networth-card{background:linear-gradient(135deg,var(--accent-dark),var(--accent))!important}
.cashflow,.summary-strip,.secondary-btn,.segmented button.selected{background:var(--accent-soft)!important;border-color:var(--accent-border)!important;color:var(--accent-dark)!important}
.metric,.list-card,.form-card,.settings-card,.budget-item{border-color:var(--accent-border)}
.row-icon{background:var(--accent-soft);color:var(--accent)}
.progress span{background:var(--accent)}
input:focus,select:focus{outline-color:var(--accent)}
.tabbar{border-top-color:var(--accent-border)}
html[data-theme="dark"] .cashflow,html[data-theme="dark"] .summary-strip,html[data-theme="dark"] .secondary-btn,html[data-theme="dark"] .segmented button.selected{background:color-mix(in srgb,var(--accent) 24%,#18231e)!important;color:var(--ink)!important;border-color:var(--line)!important}
html[data-theme="dark"] .tab.active span{background:color-mix(in srgb,var(--accent) 28%,#18231e)!important}

/* Bottom navigation follows the selected app-wide accent palette. */
.tabbar{background:var(--accent-dark)!important;border-top:1px solid var(--accent)!important}
.tabbar .tab{color:color-mix(in srgb,var(--accent-soft) 68%,#ffffff)!important}
.tabbar .tab.active{color:#ffffff!important}
.tabbar .tab.active span{background:var(--accent)!important;color:#ffffff!important}
.tabbar .tab small{color:inherit!important}
html[data-theme="dark"] .tabbar,html[data-theme="navy"] .tabbar{background:var(--accent-dark)!important}

/* My Wealth visual refresh: consistent green identity, spacing and responsive controls */
:root{--accent:#176b50;--accent-soft:#e2f0e8;--accent-border:#cfe2d7}
html[data-accent="green"]{--accent:#176b50;--accent-soft:#e2f0e8;--accent-border:#cfe2d7}
html[data-accent="blue"]{--accent:#2867a8;--accent-soft:#e5effa;--accent-border:#d0e0f1}
html[data-accent="teal"]{--accent:#087f83;--accent-soft:#e0f2f1;--accent-border:#c8e5e3}
html[data-accent="purple"]{--accent:#7554a6;--accent-soft:#eee8f7;--accent-border:#ddd1ed}
html[data-accent="orange"]{--accent:#b86a25;--accent-soft:#f8ecdf;--accent-border:#ecd8c2}
.top-settings-btn,.settings-top-btn{width:42px;height:42px;display:grid;place-items:center;border:0;background:transparent;color:inherit}
.settings-top-btn svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tabbar{background:#102f26!important;border-top:1px solid rgba(255,255,255,.1)!important}
.tab{color:#c6d8d0!important;border-radius:15px;transition:background .18s,color .18s}
.tab.active{color:#fff!important;background:transparent!important}
.tab.active span{background:#176b50!important;color:#fff!important;border-radius:18px!important;padding:6px 15px!important;min-width:54px;box-shadow:0 3px 12px #071f1830}
.tab.active small{font-weight:800}
.bulk-toolbar{display:none;position:sticky;top:0;z-index:5;align-items:center;gap:12px;padding:10px 12px;background:var(--accent-soft);border:1px solid var(--accent-border);border-radius:14px;margin:8px 0 12px;flex-wrap:wrap}
.bulk-toolbar.has-selection{display:flex}.bulk-toolbar label{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:700}.bulk-toolbar strong{font-size:12px;margin-right:auto}.bulk-toolbar button{white-space:nowrap}
.tx-select{display:flex;align-items:center;justify-content:center;padding:4px}.tx-select input,.bulk-toolbar input{width:18px;height:18px;accent-color:var(--accent)}
.transaction-row{min-height:66px;touch-action:pan-y}.transaction-row:active{background:var(--accent-soft)}
.budget-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:end;gap:5px 12px;padding:12px 14px;background:var(--white);border:1px solid var(--line);border-radius:16px;margin-bottom:14px}
.budget-controls .field-label{grid-column:1/-1;margin:0}.budget-controls input{width:100%}.budget-controls .primary-btn{align-self:stretch;min-width:120px}
.settings-card>label.setting-row{display:grid;grid-template-columns:1fr minmax(145px,48%);align-items:center;gap:14px;padding:13px 0;margin:0;border-bottom:1px solid var(--line);font-size:12px;color:var(--ink)}.settings-card>label.setting-row:last-of-type{border-bottom:0}.settings-card>label.setting-row select{width:100%;margin:0}
.investment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0 14px}.investment-tile{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:8px;padding:18px 16px;min-height:150px;border:1px solid var(--accent-border);border-radius:20px;background:var(--white);color:var(--ink);box-shadow:0 5px 18px rgba(20,50,38,.035)}.investment-tile>span{font-size:24px;color:var(--accent)}.investment-tile strong{font-size:15px}.investment-tile b{font:800 22px Manrope;overflow-wrap:anywhere}.investment-tile small{font-size:11px;color:var(--muted)}.investment-tile:active{background:var(--accent-soft)}.investment-actions{margin:12px 0 22px}.investment-total{background:var(--accent-soft);border:1px solid var(--accent-border)}
.transaction-types{grid-template-columns:repeat(3,1fr)}.transaction-types button.selected{background:var(--accent);color:white;box-shadow:none}.report-category-row{width:100%;border:0;background:transparent;text-align:left;color:inherit;cursor:pointer}.report-category-row:active{background:var(--accent-soft)}
.report-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.report-filters label{min-width:0}.report-filters input,.report-filters select{width:100%}
input,select,button{max-width:100%}button{line-height:1.3}.button-row>*{min-width:0}.dialog-form label{min-width:0}.dialog-form input,.dialog-form select{max-width:100%;box-sizing:border-box}
@media(max-width:390px){.page{padding-left:14px;padding-right:14px}.page-heading{gap:8px}.page-heading h1{font-size:24px}.toolbar{flex-wrap:wrap}.toolbar input{flex-basis:100%}.toolbar button{flex:1}.investment-tile{padding:15px 13px}.investment-tile b{font-size:19px}.bulk-toolbar{gap:8px}.bulk-toolbar button{font-size:11px;padding:8px}}

/* Refined My Wealth visual system — aligned to the approved iPhone concept */
:root{--accent:#176b50;--accent-dark:#102f26;--accent-soft:#e4f1e9;--accent-border:#cfe2d7;--bg:#f3f7f4;--ink:#19332c;--muted:#788780;--line:#e0e9e3;--white:#fff;--shadow:0 8px 26px rgba(18,54,40,.055)}
html,body{background:var(--bg);color:var(--ink)}
.app-shell{max-width:560px;background:var(--bg)}
.topbar{height:82px;padding:0 22px;background:var(--accent-dark)!important;box-shadow:0 4px 18px rgba(8,35,27,.12)}
.brand{gap:12px}.brand-mark{width:48px;height:48px;border-radius:15px;font-size:16px;background:#e5f2ea!important;color:var(--accent)!important}.brand strong{font-size:15px;letter-spacing:1.4px}.brand small{font-size:12px;color:#b9d0c6}
.settings-top-btn{width:46px;height:46px;border-radius:14px;color:#e7f2ec}.settings-top-btn svg{width:29px;height:29px;stroke-width:1.8}
main{padding:0 0 18px}.page{padding:20px 18px 28px}.page-heading{align-items:center;margin:2px 0 16px}.page-heading h1{font:800 27px Manrope;letter-spacing:-.6px}.eyebrow{letter-spacing:1.25px;font-size:9px;color:var(--muted)}
.networth-card{border-radius:22px!important;padding:22px!important;background:linear-gradient(135deg,#e4f1e9,#dceee4)!important;color:#18372e!important;box-shadow:none!important}.networth-card .card-top{color:#49645a}.networth-card .big-number{font:800 31px Manrope;letter-spacing:-1px}.networth-card .nw-grid{border-top:1px solid #c8ddd0;margin-top:14px;padding-top:12px}.networth-card small{color:#72847a}
.section-heading{margin:22px 0 11px;align-items:center}.section-heading h2{font:750 18px Manrope;letter-spacing:-.25px}.metric-grid{gap:11px}.metric,.cashflow,.summary-strip,.list-card,.settings-card,.chart-card,.form-card{border:1px solid var(--line);border-radius:17px;background:var(--white);box-shadow:var(--shadow)}.metric{padding:15px;min-height:94px}.metric strong{font:800 18px Manrope}.cashflow{padding:15px 17px;margin-top:10px}.list-card{padding:6px 12px}.list-row{padding:13px 3px;border-bottom:1px solid #edf1ee;gap:10px}.row-icon{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;flex:0 0 36px}.row-main strong{font-size:13px}.row-main small{font-size:11px}
.tabbar{height:82px;min-height:82px;background:#102f26!important;border-top:1px solid rgba(255,255,255,.08)!important;padding:8px 9px calc(8px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(6,1fr);gap:4px}.tab{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:0;background:transparent!important;border-radius:15px;color:#c6d8d0!important;padding:4px 2px}.tab span{display:grid;place-items:center;min-width:48px;height:32px;padding:3px 12px!important;border-radius:17px!important;font-size:21px;line-height:1;color:inherit;background:transparent!important;box-shadow:none!important}.tab small{font-size:10px;font-weight:500;color:inherit!important}.tab.active{color:#fff!important;background:transparent!important}.tab.active span{background:#176b50!important;color:#fff!important;min-width:54px;height:34px;box-shadow:0 3px 12px rgba(0,0,0,.15)!important}.tab.active small{font-weight:800}
/* Keep the budget month and Set Budget action on one clean row. */
.budget-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;gap:4px 12px;align-items:end;padding:12px 14px;border-radius:17px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}.budget-controls .field-label{grid-column:1;align-self:center;font-size:11px;font-weight:700;color:var(--muted)}.budget-controls input{grid-column:1;grid-row:2;min-width:0;width:100%;height:42px}.budget-controls .primary-btn{grid-column:2;grid-row:1/3;min-width:118px;height:42px;align-self:center;white-space:nowrap}
/* Settings controls have their own rows and never collide on narrow screens. */
.settings-card{padding:17px 16px;margin-bottom:14px}.settings-card h2{font:750 16px Manrope;margin:0 0 9px}.settings-card>label.setting-row{grid-template-columns:minmax(0,1fr) minmax(135px,46%);min-height:54px;padding:10px 0;gap:12px;font-size:13px}.settings-card>label.setting-row select{min-width:0;height:40px;border-radius:11px;padding:0 10px;font-size:12px}.settings-card .hint{line-height:1.45;margin:9px 0 0}
/* All form controls shrink within their grid cell; no overlapping selects. */
input,select,textarea{min-width:0;max-width:100%;width:100%;height:42px;border:1px solid #dce5df;border-radius:11px;background:#fff;padding:9px 11px;color:var(--ink);font-size:13px}input[type=checkbox]{width:18px;height:18px;padding:0}input[type=month],input[type=date]{min-width:0}label{min-width:0}label select,label input{display:block;margin-top:6px}.button-row{display:flex;gap:9px;align-items:stretch}.button-row>*{flex:1;min-width:0}.primary-btn,.secondary-btn,.danger-btn{border-radius:13px;min-height:42px;font-weight:750}.secondary-btn{background:var(--accent-soft)!important;border-color:var(--accent-border)!important;color:var(--accent-dark)!important}
.investment-total{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px;border-radius:17px;background:var(--accent-soft)!important}.investment-total strong{font:800 23px Manrope}.investment-grid{gap:11px}.investment-tile{min-height:144px;padding:17px 15px;border-radius:19px;box-shadow:var(--shadow);gap:7px}.investment-tile>span{font-size:25px}.investment-tile strong{font:750 15px Manrope}.investment-tile b{font:800 22px Manrope}.investment-tile small{font-size:11px;line-height:1.4}
.investment-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.investment-actions button{min-height:58px;white-space:normal;padding:10px;font-size:12px}
.transaction-types{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;background:transparent;padding:0}.transaction-types button{min-width:0;min-height:66px;border:1px solid var(--line);border-radius:14px;background:#f7faf8;color:var(--ink);font-size:12px;font-weight:700}.transaction-types button.selected{background:var(--accent)!important;color:white!important;border-color:var(--accent)!important}
.bulk-toolbar{background:#e3f0e8;border:1px solid #cfe2d7;border-radius:14px;padding:10px 12px;gap:8px}.bulk-toolbar.has-selection{display:flex}.bulk-toolbar strong{font-size:12px}.bulk-toolbar label{white-space:nowrap}.bulk-toolbar button{font-size:11px;padding:8px 10px}.transaction-row{min-height:68px}.tx-select{flex:0 0 28px}.tx-select input{width:19px;height:19px}
.report-filters{background:#fff;padding:13px;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);gap:10px}.report-filters label{font-size:11px;color:var(--muted)}.report-category-row{padding:14px 4px}.report-bar{height:5px;border-radius:6px;background:#edf2ee;margin-top:8px;overflow:hidden}.report-bar i{display:block;height:100%;border-radius:6px;background:var(--accent)}
.dialog-form{padding:22px;border-radius:22px;gap:13px}.dialog-form label{font-size:12px;font-weight:650}.dialog-form input,.dialog-form select{margin-top:6px}.dialog-header h2{font:800 21px Manrope}
@media(max-width:390px){.page{padding:16px 14px 26px}.topbar{height:76px;padding:0 16px}.brand-mark{width:44px;height:44px}.page-heading h1{font-size:24px}.investment-tile{min-height:136px;padding:14px 12px}.investment-tile b{font-size:19px}.settings-card>label.setting-row{grid-template-columns:minmax(0,1fr) minmax(118px,46%);gap:8px}.settings-card>label.setting-row select{font-size:11px;padding:0 7px}.budget-controls .primary-btn{min-width:108px;font-size:11px;padding:9px}.tabbar{height:78px;min-height:78px}.tab span{min-width:42px}}

/* My Wealth — unified screen system, rebuilt against the approved reference */
:root{--forest:#102f26;--green:#176b50;--green-2:#1e795d;--mint:#e4f1e9;--paper:#f3f7f4;--ink:#19332c;--muted:#7c8983;--line:#e0e9e3;--danger:#c94f43;--positive:#16804f;--card:#fff;--shadow:0 7px 22px rgba(17,55,40,.055)}
html,body{background:var(--paper);color:var(--ink)}body{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.app-shell{width:100%;max-width:560px;min-height:100dvh;margin:0 auto;background:var(--paper);box-shadow:0 0 40px rgba(0,0,0,.04)}
.topbar{height:92px;padding:0 22px;background:var(--forest)!important;color:#fff;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:48px;height:48px;border-radius:15px;background:#e5f2ea;color:var(--green);font-weight:850;display:grid;place-items:center}.brand strong{font-size:15px;letter-spacing:1.5px}.brand small{display:block;color:#b9d0c6;font-size:12px;margin-top:3px}.settings-top-btn{width:44px;height:44px;border:0;background:transparent;color:#e5f2ea}.settings-top-btn svg{width:28px;height:28px;stroke:currentColor;fill:none}
main{padding:0 0 22px;min-height:calc(100dvh - 174px)}.page{display:none;padding:20px 18px 30px;overflow:visible}.page.active{display:block}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:3px 0 16px}.page-heading h1,.activity-title-row h1{font-size:26px;font-weight:800;letter-spacing:-.6px;margin:0}.eyebrow{font-size:9px;letter-spacing:1.2px;color:var(--muted);font-weight:800}
.networth-card{background:linear-gradient(135deg,#e6f2ea,#dceee4)!important;border:0!important;border-radius:21px!important;padding:21px!important;color:var(--ink)!important;box-shadow:none!important}.card-top{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:650}.live-dot{color:var(--green)}.big-number{font-size:30px;font-weight:850;letter-spacing:-1px;margin:8px 0}.nw-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;border-top:1px solid #cbded2;padding-top:12px;margin-top:12px}.nw-grid small{display:block;color:var(--muted);font-size:11px}.nw-grid strong{display:block;font-size:15px;margin-top:4px}
.home-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin:14px 0}.home-summary-card{min-width:0;min-height:102px;background:var(--card);border:1px solid var(--line);border-radius:17px;padding:14px;display:flex;flex-direction:column;align-items:flex-start;gap:5px;box-shadow:var(--shadow)}.home-icon{font-size:22px;color:var(--green);line-height:1.1}.home-summary-card small{font-size:11px;color:var(--ink);font-weight:650}.home-summary-card strong{font-size:17px;font-weight:800;overflow-wrap:anywhere}.liability-card .home-icon{color:#c45b4e}.home-month-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:13px 14px;box-shadow:var(--shadow)}.home-month-card .section-heading{margin:0 0 10px}.home-month-card .section-heading h2{font-size:15px}.home-month-card input{max-width:135px;height:32px;border:0;background:transparent;padding:3px;font-weight:650}.home-flow-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.home-flow-grid>div{display:flex;flex-direction:column;align-items:center;gap:4px;border-right:1px solid var(--line)}.home-flow-grid>div:last-child{border:0}.flow-icon{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#e9f4ec;color:var(--green);font-size:17px;font-weight:800}.flow-icon.expense-icon{background:#faeeeb;color:var(--danger)}.flow-icon.saving-icon{background:#e9f4ec}.home-flow-grid small{font-size:10px;color:var(--muted)}.home-flow-grid strong{font-size:13px;font-weight:800}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:20px 0 10px}.section-heading h2{font-size:17px;font-weight:800;margin:0}.text-btn{color:var(--green);font-weight:750}.metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric,.cashflow,.summary-strip,.list-card,.settings-card,.chart-card,.form-card{background:#fff;border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow)}.metric{padding:14px;min-height:90px}.metric strong{font-size:18px;font-weight:800}.cashflow{padding:14px 16px;margin-top:10px;display:flex;justify-content:space-between}.list-card{padding:5px 12px}.list-row{display:flex;align-items:center;gap:10px;padding:12px 3px;border-bottom:1px solid #edf1ee}.list-row:last-child{border-bottom:0}.row-icon{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:#eaf3ee;color:var(--green);flex:0 0 36px}.row-main{flex:1;min-width:0}.row-main strong{display:block;font-size:13px}.row-main small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.row-amount{font-size:13px;font-weight:800;white-space:nowrap}.positive{color:var(--positive)}.negative{color:var(--danger)}
/* Activity layout: compact month/filter controls and touch-friendly rows */
.activity-title-row{display:flex;align-items:center;justify-content:space-between;margin:2px 0 13px}.activity-top-actions{display:flex;gap:8px}.activity-top-actions .icon-btn{width:38px;height:38px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--forest);font-size:20px}.activity-month-row{display:grid;grid-template-columns:22px minmax(0,1fr) 22px auto;gap:5px;align-items:center;padding:9px 10px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);font-size:12px;text-align:center}.activity-month-row>span{font-size:20px;color:var(--muted)}.budget-inline{background:var(--mint);border:1px solid #cfe2d7;color:var(--forest);border-radius:11px;padding:8px 10px;font-size:10px;font-weight:800;white-space:nowrap}.activity-type-pills{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;background:#e9efeb;border-radius:13px;padding:4px;margin:10px 0}.activity-type-pills button{border:0;background:transparent;border-radius:10px;padding:8px 2px;font-size:11px;font-weight:700;color:#52645b}.activity-type-pills button.selected{background:var(--forest);color:#fff;box-shadow:0 2px 7px #102f2622}.toolbar{display:flex;gap:8px;align-items:center;margin:10px 0}.toolbar input{flex:1;min-width:0}.month-group{padding:0 0 5px}.month-heading{font-size:11px;font-weight:800;padding:11px 2px 7px;color:#455b50;display:flex;justify-content:space-between}.transaction-row{min-height:62px;position:relative;touch-action:pan-y}.transaction-row:active{background:#f7faf8}.tx-select{order:-1;display:flex;align-items:center}.tx-select input{width:18px;height:18px;accent-color:var(--green)}.bulk-toolbar{display:none;position:sticky;bottom:7px;z-index:4;flex-wrap:wrap;align-items:center;background:var(--forest);color:#fff;border:0;border-radius:13px;padding:9px 11px;margin:9px 0;box-shadow:0 5px 18px #102f2630}.bulk-toolbar.has-selection{display:flex}.bulk-toolbar strong{margin-right:auto}.bulk-toolbar label{display:flex;align-items:center;gap:6px;font-size:11px}.bulk-toolbar input{width:17px;height:17px}.bulk-toolbar .text-btn{color:#fff}.bulk-toolbar .secondary-btn{background:#e4f1e9!important;color:var(--forest)!important}
/* Wealth / investment pages */
.summary-strip{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:15px;margin:10px 0}.summary-strip strong{font-size:20px;font-weight:850}.investment-total{background:var(--mint)!important;border-color:#d1e4d8!important}.investment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin:12px 0}.investment-tile{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:7px;padding:17px 15px;min-height:143px;border:1px solid var(--line);border-radius:19px;background:#fff;color:var(--ink);box-shadow:var(--shadow)}.investment-tile>span{font-size:24px;color:var(--green)}.investment-tile strong{font-size:15px;font-weight:800}.investment-tile b{font-size:22px;font-weight:850;overflow-wrap:anywhere}.investment-tile small{font-size:11px;color:var(--muted);line-height:1.4}.investment-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.investment-actions button{min-height:58px;white-space:normal;padding:10px;font-size:12px}
/* Budgets / reports / settings */
.budget-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;gap:4px 10px;align-items:center;padding:12px 14px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);margin-bottom:14px}.budget-controls .field-label{grid-column:1;grid-row:1;font-size:11px;color:var(--muted);font-weight:700}.budget-controls input{grid-column:1;grid-row:2;width:100%;height:38px}.budget-controls .primary-btn{grid-column:2;grid-row:1/3;min-width:118px;height:42px;white-space:nowrap}.budget-stack{display:grid;grid-template-columns:1fr;gap:9px}.budget-item{padding:13px 14px;background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow)}.budget-head{display:flex;justify-content:space-between;gap:8px;font-size:12px}.progress{height:7px;background:#e9efeb;border-radius:10px;overflow:hidden;margin:9px 0 6px}.progress span{display:block;height:100%;background:linear-gradient(90deg,#16834f,#2da66b);border-radius:10px}.progress span.over{background:var(--danger)}.budget-foot{display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}.report-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:13px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.report-filters label{font-size:11px;color:var(--muted);min-width:0}.report-filters input,.report-filters select{width:100%;margin-top:5px}.settings-card{padding:16px;margin-bottom:13px}.settings-card h2{font-size:15px;font-weight:800;margin:0 0 8px}.settings-card>label.setting-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,45%);align-items:center;gap:12px;min-height:54px;padding:9px 0;margin:0;border-bottom:1px solid var(--line);font-size:13px}.settings-card>label.setting-row select{width:100%;min-width:0;margin:0;height:39px}.settings-card>label.setting-row:last-of-type{border-bottom:0}
input,select,textarea{box-sizing:border-box;min-width:0;max-width:100%;width:100%;height:42px;border:1px solid #dce5df;border-radius:11px;background:#fff;padding:9px 11px;color:var(--ink);font-size:13px}input[type=checkbox]{width:18px;height:18px;padding:0;accent-color:var(--green)}label{min-width:0}.button-row{display:flex;gap:9px;align-items:stretch}.button-row>*{flex:1;min-width:0}.primary-btn,.secondary-btn,.danger-btn{border-radius:13px;min-height:42px;font-weight:750}.primary-btn{background:var(--green)!important;color:#fff!important;border:1px solid var(--green)!important}.secondary-btn{background:var(--mint)!important;border:1px solid #cfe2d7!important;color:var(--forest)!important}.transaction-types{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.transaction-types button{min-width:0;min-height:65px;border:1px solid var(--line);border-radius:14px;background:#f7faf8;color:var(--ink);font-size:12px;font-weight:750}.transaction-types button.selected{background:var(--green)!important;color:#fff!important;border-color:var(--green)!important}.tabbar{position:sticky;bottom:0;z-index:10;height:82px;min-height:82px;background:var(--forest)!important;border-top:1px solid #ffffff17!important;padding:7px 8px calc(7px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(6,1fr);gap:3px}.tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:0;background:transparent!important;border-radius:14px;color:#c7d8d0!important;padding:3px 1px;min-width:0}.tab span{display:grid;place-items:center;min-width:46px;height:32px;padding:2px 12px;border-radius:18px;font-size:21px;line-height:1;color:inherit;background:transparent!important}.tab small{font-size:10px;color:inherit!important}.tab.active{color:#fff!important;background:transparent!important}.tab.active span{background:var(--green)!important;color:#fff!important;min-width:54px;height:34px}.tab.active small{font-weight:800}
@media(max-width:390px){.page{padding:16px 14px 24px}.topbar{height:80px;padding:0 16px}.brand-mark{width:44px;height:44px}.activity-title-row h1,.page-heading h1{font-size:24px}.investment-tile{min-height:132px;padding:14px 12px}.investment-tile b{font-size:19px}.budget-controls .primary-btn{min-width:105px;font-size:11px;padding:8px}.settings-card>label.setting-row{grid-template-columns:minmax(0,1fr) minmax(112px,45%);gap:8px}.tabbar{height:78px;min-height:78px}.tab span{min-width:40px}.bulk-toolbar{gap:6px}.bulk-toolbar button{font-size:10px;padding:7px}}
.tx-select{display:none}.bulk-toolbar.has-selection~#transactionList .tx-select{display:flex}.transaction-row:has([data-select-tx]:checked){background:#f0f7f2}

/* PHASE 1 — cohesive reference-led visual system */
:root{--forest:#102f26;--mint:#e3f1e9;--accent:#176b50;--accent-dark:#102f26;--accent-soft:#dceee4;--line:#e0e9e3;--bg:#f3f7f4;--ink:#172d26;--muted:#7b8982;--shadow:0 7px 22px rgba(20,55,40,.055)}
body{background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:-.12px}
.app-shell{max-width:560px;background:#f3f7f4;min-height:100dvh;padding-bottom:0;display:flex;flex-direction:column}
.topbar{height:88px;min-height:88px;padding:0 22px;background:#102f26;box-shadow:0 5px 18px rgba(9,39,29,.12)}
.brand{gap:13px}.brand-mark{width:48px;height:48px;border-radius:16px;background:#e4f2e9;color:#176b50;font-size:15px}.brand strong{font-size:15px;letter-spacing:1.15px}.brand small{font-size:13px;color:#b4c9bf}
.settings-top-btn{border:0;background:transparent;border-radius:50%;width:44px;height:44px;color:#e4f2e9}.settings-top-btn svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
main{padding:0;flex:1;min-height:0;overflow:hidden}.page{height:100%;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:20px 18px calc(28px + env(safe-area-inset-bottom));scrollbar-width:none}.page::-webkit-scrollbar{display:none}.page.active{display:block}
.page-heading,.activity-title-row{margin:2px 0 16px}.page-heading h1,.activity-title-row h1{font-size:25px;letter-spacing:-.55px}
.networth-card{background:#e3f1e9!important;color:#17382c!important;border:1px solid #d8e9df;border-radius:20px;padding:20px 19px;margin-bottom:14px;box-shadow:none}.card-top{color:#48695a;font-size:12px;letter-spacing:0;font-weight:650}.live-dot{color:#176b50}.big-number{font-size:30px;margin:9px 0 16px;color:#17382c}.nw-grid{border-color:#c9ded1}.nw-grid small{color:#71877b}.nw-grid strong{color:#17382c}
.home-summary-grid{gap:10px}.home-summary-card{border-radius:16px;min-height:94px;padding:13px 14px;box-shadow:none}.home-summary-card small{font-size:11px}.home-summary-card strong{font-size:17px}.home-month-card,.metric,.cashflow,.summary-strip,.list-card,.settings-card,.chart-card,.form-card,.budget-item{border-radius:17px;box-shadow:none;border:1px solid var(--line);background:#fff}
.home-month-card{padding:15px;margin-top:14px}.home-month-card .section-heading{margin:0 0 12px}.home-flow-grid>div{gap:5px}.flow-icon{width:34px;height:34px}
.section-heading{margin:19px 0 10px;gap:10px}.section-heading h2{font-size:16px}.list-card{padding:4px 12px}.list-row{padding:12px 3px;gap:11px}.row-icon{width:36px;height:36px;border-radius:12px}.row-main strong{font-size:13px}.row-main small{font-size:11px}.row-amount{font-size:13px}
.activity-title-row{margin-bottom:13px}.activity-top-actions .icon-btn{background:#fff;border-color:var(--line);color:var(--forest);border-radius:12px}.activity-month-row{grid-template-columns:22px minmax(0,1fr) 22px auto;padding:8px 10px;border-radius:14px;box-shadow:none}.budget-inline{background:var(--mint);border-color:#cfe2d7;color:var(--forest);padding:8px 11px}.activity-type-pills{background:#e8efea}.activity-type-pills button{font-size:11px}.activity-type-pills button.selected{background:#145b45;color:white}
.investment-total{background:#e3f1e9!important;border:0!important}.investment-tile{min-height:145px;border-radius:18px;padding:16px 15px;box-shadow:none;gap:8px}.investment-tile>span{font-size:23px}.investment-tile strong{font-size:15px}.investment-tile b{font-size:22px}.investment-actions{gap:9px}.investment-actions button{border-radius:14px}
.budget-controls{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:15px;box-shadow:none}.budget-controls .field-label{margin:0;white-space:nowrap}.budget-controls input{width:auto;flex:1;min-width:0;height:38px}.budget-controls .primary-btn{height:40px;min-width:116px;flex:0 0 auto}.budget-stack{gap:9px}.budget-item{padding:13px 14px}
.report-filters{border-radius:16px;box-shadow:none;gap:9px}.report-filters label{display:block;min-width:0}.report-filters input,.report-filters select{width:100%;min-width:0}.settings-card{padding:16px;margin:0 0 13px}.settings-card h2{font-size:15px;margin-bottom:9px}.settings-card>label.setting-row{grid-template-columns:minmax(0,1fr) minmax(0,44%);min-height:56px;gap:12px;padding:9px 0}.settings-card>label.setting-row span{font-size:13px;font-weight:650}.settings-card>label.setting-row select{height:40px;border-radius:10px;font-size:12px}
input,select,textarea{border-radius:10px;border-color:#dce6df;min-width:0;max-width:100%}button{ -webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #80b89a;outline-offset:2px}
.tabbar{position:fixed!important;left:50%!important;bottom:0!important;transform:translateX(-50%)!important;width:min(560px,100%)!important;height:82px;min-height:82px;background:#102f26!important;border-top:1px solid rgba(255,255,255,.1)!important;padding:7px 8px calc(7px + env(safe-area-inset-bottom))!important;box-shadow:0 -5px 18px rgba(10,40,29,.08)}.tab{color:#c7d8d0!important;gap:3px;padding:3px 1px}.tab span{min-width:46px;height:32px;border-radius:17px;background:transparent!important}.tab.active{background:transparent!important;color:#fff!important}.tab.active span{background:#176b50!important;color:#fff!important;min-width:54px;height:34px;border-radius:18px;box-shadow:0 2px 9px rgba(0,0,0,.12)!important}.tab small{font-size:10px}
.app-shell{padding-bottom:calc(82px + env(safe-area-inset-bottom))}
@media(max-width:390px){.topbar{height:82px;min-height:82px;padding:0 16px}.page{padding-left:14px;padding-right:14px}.investment-tile{min-height:132px;padding:14px 12px}.investment-tile b{font-size:19px}.budget-controls{gap:7px;padding:8px}.budget-controls .primary-btn{min-width:104px;font-size:11px;padding:8px}.settings-card>label.setting-row{grid-template-columns:minmax(0,1fr) minmax(0,44%);gap:7px}.tabbar{height:78px;min-height:78px}.tab span{min-width:40px}}
@media(min-width:600px){body{padding:0}.app-shell{height:100dvh;min-height:0;border-radius:0;overflow:hidden}.topbar{border-radius:0}.tabbar{bottom:0!important;border-radius:0!important}}

/* EXACT-REFERENCE REDESIGN — consistent across every primary screen */
:root{--forest:#0d3027;--green:#176c50;--green2:#e4f1e9;--mint:#e4f1e9;--bg:#f4f7f4;--ink:#18332b;--muted:#7e8e86;--line:#e1e9e4;--danger:#c94f4b;--shadow:0 8px 22px rgba(16,54,38,.055)}
html,body{min-height:100%;background:var(--bg)}body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif;letter-spacing:-.18px}.app-shell{max-width:560px;min-height:100dvh;background:var(--bg)}
.topbar{height:90px;min-height:90px;padding:0 22px;background:var(--forest);box-shadow:none}.brand-mark{background:#e4f1e9;color:#14563f;border-radius:15px;width:48px;height:48px}.brand strong{font-size:15px;letter-spacing:1.3px}.brand small{font-size:13px;color:#b8cbc2}.settings-top-btn{width:42px;height:42px;color:#e5f1eb}.settings-top-btn svg{width:27px;height:27px}
main{padding:0;min-height:0;overflow:hidden}.page{padding:20px 18px calc(108px + env(safe-area-inset-bottom));scroll-padding-bottom:120px}.page-heading,.activity-title-row{margin:2px 0 16px}.page-heading h1,.activity-title-row h1{font-size:25px;font-weight:800;letter-spacing:-.7px}.eyebrow{font-size:9px;letter-spacing:1.7px;font-weight:800;color:var(--muted)}
.networth-card{background:#e3f1e9!important;color:#17382c!important;border:0;border-radius:18px;padding:17px 17px 15px;margin:0 0 12px;box-shadow:none}.card-top{font-size:11px;color:#688174;letter-spacing:1.2px;font-weight:800;text-transform:uppercase}.live-dot{color:#23865e}.big-number{font-size:29px;font-weight:850;letter-spacing:-1px;margin:8px 0 13px}.nw-grid{border-top:1px solid #cbded2;padding-top:10px;grid-template-columns:1fr 1fr}.nw-grid small{font-size:11px}.nw-grid strong{font-size:17px}
.home-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.home-summary-card{min-height:85px;padding:11px 12px;border:1px solid var(--line);border-radius:15px;background:#fff;display:grid;grid-template-columns:24px 1fr;grid-template-rows:auto auto;column-gap:8px;align-items:center;box-shadow:none}.home-summary-card .home-icon{grid-row:1/3;width:25px;height:25px;border-radius:8px;display:grid;place-items:center;font-size:16px;color:var(--green);background:#e7f3eb}.home-summary-card small{font-size:10px;color:#52665c}.home-summary-card strong{font-size:17px;letter-spacing:-.4px}.home-summary-card.liability-card .home-icon{background:#fff0ed;color:#c94f4b}.home-month-card{padding:13px 14px;margin-top:11px;border-radius:16px;background:#fff;border:1px solid var(--line);box-shadow:none}.home-month-card .section-heading{margin:0 0 10px}.home-month-card .section-heading h2{font-size:14px}.home-month-card input{width:auto;max-width:112px;height:30px;border:0;background:#f3f7f4;font-size:10px;padding:4px}.home-flow-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.home-flow-grid>div{display:grid;justify-items:center;gap:4px}.flow-icon{width:31px;height:31px;border-radius:11px}.income-icon{background:#e2f4e9;color:#21885a}.expense-icon{background:#fff0ed;color:#c94f4b}.home-flow-grid small{font-size:10px;color:var(--muted)}.home-flow-grid strong{font-size:13px}.section-heading{margin:16px 0 9px;display:flex;align-items:center;justify-content:space-between;gap:8px}.section-heading h2{font-size:15px;font-weight:800}.text-btn{font-size:11px;color:var(--green)}#dashboard #recentList{max-height:180px;overflow:auto;border-radius:15px}
.activity-title-row{display:flex;justify-content:space-between;align-items:center}.activity-title-row h1{margin:0}.activity-top-actions{display:flex;gap:8px}.activity-top-actions .icon-btn{width:37px;height:37px;border-radius:11px;background:#fff;border:1px solid var(--line);color:var(--forest);font-size:18px}.activity-month-row{display:grid;grid-template-columns:30px minmax(0,1fr) 30px auto;align-items:center;gap:5px;padding:8px 9px;border:1px solid var(--line);border-radius:13px;background:#fff}.activity-month-row>button:not(.budget-inline){border:0;background:transparent;color:var(--ink);font-size:20px}.activity-month-row strong{text-align:center;font-size:12px}.budget-inline{background:#e5f2e9;color:#17583f;border:1px solid #d2e6d9;border-radius:10px;padding:8px 10px;font-size:10px;font-weight:800;white-space:nowrap}.activity-type-pills{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;padding:4px;margin:9px 0;background:#e8efea;border-radius:13px}.activity-type-pills button{border:0;background:transparent;border-radius:10px;padding:8px 3px;font-size:10px;color:#62736a}.activity-type-pills button.selected{background:#125d45;color:white;font-weight:800;box-shadow:0 2px 5px #0e3b2c24}.toolbar{margin:8px 0}.toolbar input{height:37px;border-radius:11px}.bulk-toolbar{display:none;padding:9px 10px;background:#0f6147;color:white;border-radius:13px;margin:9px 0;gap:8px;align-items:center;flex-wrap:wrap}.bulk-toolbar.has-selection{display:flex}.bulk-toolbar label{display:flex;align-items:center;gap:5px;font-size:10px}.bulk-toolbar input{width:15px;height:15px}.bulk-toolbar strong{font-size:11px}.bulk-toolbar .text-btn{color:#e4f2e9}.bulk-actions{display:flex;width:100%;gap:5px}.bulk-actions button{flex:1;min-width:0;padding:8px 4px;font-size:9px;border-radius:9px;min-height:32px}.bulk-actions .secondary-btn{background:#e4f1e9!important;color:#14563f!important}.bulk-actions .danger-btn{background:#fff0ed!important;color:#b5423f!important}.list-card{border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:none;overflow:hidden}.month-heading{padding:10px 12px;background:#f1f6f2;color:#344f42;font-size:10px}.list-row{min-height:59px;padding:9px 11px;gap:9px}.row-icon{width:34px;height:34px;border-radius:11px}.row-main strong{font-size:11px}.row-main small{font-size:9px}.row-amount{font-size:12px}.transaction-row{cursor:pointer}.transaction-row:active{background:#edf5ef}.transaction-row .row-amount.negative{color:#c84e4a}.transaction-row .row-amount.positive{color:#208653}.tx-select{margin-left:4px}.tx-select input{width:17px;height:17px}
#wealth .page-heading{display:none}#wealth .summary-strip{padding:15px;border-radius:16px;background:#e4f1e9;border:0;margin:0 0 12px;font-size:12px}#wealth .investment-total{margin-top:0}.investment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.investment-tile{display:grid;grid-template-columns:1fr;justify-items:start;align-content:start;gap:6px;min-height:136px;padding:15px;border:1px solid var(--line);border-radius:17px;background:#fff;box-shadow:none;text-align:left;color:var(--ink)}.investment-tile>span{font-size:21px;color:var(--green)}.investment-tile strong{font-size:14px}.investment-tile b{font-size:22px;letter-spacing:-.5px}.investment-tile small{font-size:10px;color:var(--muted)}.investment-actions{display:grid;grid-template-columns:1fr 1fr;margin:12px 0 17px}.investment-actions button{font-size:10px;min-height:54px;padding:9px;border-radius:13px}.account-row .row-amount{margin-left:auto}.investment-detail-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;background:#eef4ef;border-radius:11px;padding:4px;margin-bottom:12px}.investment-detail-tabs span{text-align:center;padding:8px 2px;border-radius:8px;font-size:10px;color:var(--muted)}.investment-detail-tabs .selected{background:#176b50;color:white;font-weight:800}
.budget-controls{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:13px;padding:8px 9px}.budget-controls .field-label{font-size:10px}.budget-controls input{flex:1;width:1px;height:35px;border:0;background:#f3f7f4;font-size:11px}.budget-controls .primary-btn{min-width:103px;height:36px;padding:7px 9px;font-size:10px}.budget-gauge-card{background:#fff;border:1px solid var(--line);border-radius:17px;margin:11px 0 14px;padding:12px 15px 13px}.gauge-wrap{height:140px;position:relative;max-width:290px;margin:auto}.gauge-wrap svg{width:100%;height:140px;overflow:visible}.gauge-track,.gauge-fill{fill:none;stroke-width:15;stroke-linecap:round}.gauge-track{stroke:#e4eee7}.gauge-fill{stroke:#169b5b;transition:stroke-dashoffset .25s}.gauge-center{position:absolute;left:0;right:0;bottom:8px;display:grid;justify-items:center;gap:2px}.gauge-center strong{font-size:21px}.gauge-center small{font-size:10px;color:var(--muted)}.gauge-center b{font-size:10px}.gauge-caption{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:10px;font-size:10px;color:var(--muted)}.gauge-caption strong{color:var(--green)}.budget-stack{display:grid;gap:7px}.budget-item{padding:11px 12px;border:1px solid var(--line);border-radius:13px;background:#fff}.budget-head{font-size:11px}.budget-head>span{font-size:10px}.budget-head .text-btn{font-weight:800}.progress{height:6px;background:#e9efeb;margin:8px 0 5px}.progress span{background:#169b5b}.budget-foot{font-size:9px}.muted-label{font-size:9px;color:var(--muted)}
.report-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:11px;border-radius:14px;background:#fff;border:1px solid var(--line);box-shadow:none}.report-filters label{font-size:9px}.report-filters input,.report-filters select{height:35px;font-size:10px;padding:7px;margin-top:4px}.report-filters button{grid-column:1/-1;min-height:34px;padding:7px}.report-metrics .metric{padding:12px;border-radius:13px}.report-metrics .metric strong{font-size:17px}.cashflow{padding:12px 14px;border-radius:13px;background:#e5f2e9;border:0}.chart-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:13px;min-height:110px}.chart-legend{font-size:10px}.bar-chart{height:110px}.report-category-row{width:100%;background:#fff;border:0;text-align:left}.report-bar{height:5px;background:#e9efeb;border-radius:6px;margin-top:6px;overflow:hidden}.report-bar i{display:block;height:100%;background:#188354;border-radius:6px}
.settings-card{padding:14px;border-radius:15px;border:1px solid var(--line);background:#fff;margin-bottom:11px;box-shadow:none}.settings-card h2{font-size:13px;margin-bottom:7px}.settings-card>label.setting-row{min-height:50px;grid-template-columns:minmax(0,1fr) minmax(112px,44%);padding:7px 0}.settings-card>label.setting-row span{font-size:11px}.settings-card>label.setting-row select{height:35px;font-size:10px}.setting-link{display:flex;width:100%;justify-content:space-between;align-items:center;background:#fff;border:0;border-top:1px solid var(--line);padding:12px 2px;font-size:12px;color:var(--ink);text-align:left}.setting-link b{font-size:18px;color:var(--muted)}
.tabbar{height:76px;min-height:76px;background:var(--forest)!important;border-top:1px solid rgba(255,255,255,.08)!important;padding:6px 8px calc(6px + env(safe-area-inset-bottom))!important;box-shadow:none!important}.tab{color:#c7d8d0!important;gap:2px}.tab span{min-width:42px;height:31px;border-radius:15px;font-size:20px}.tab.active{background:transparent!important;color:#fff!important}.tab.active span{min-width:48px;height:32px;background:var(--green)!important;color:#fff!important;border-radius:14px;box-shadow:none!important}.tab small{font-size:9px}.app-shell{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
/* Accent colour applies to the full navigation and action system, not just a single icon. */
html[data-accent="blue"]{--green:#1768a6;--forest:#123b5b;--green2:#e5f0f8;--mint:#e5f0f8}html[data-accent="teal"]{--green:#137b78;--forest:#103c3b;--green2:#e2f2f0;--mint:#e2f2f0}html[data-accent="purple"]{--green:#7053a6;--forest:#302348;--green2:#eee9f6;--mint:#eee9f6}html[data-accent="orange"]{--green:#bd6b28;--forest:#56351e;--green2:#f8eee3;--mint:#f8eee3}
@media(max-width:390px){.page{padding-left:14px;padding-right:14px}.topbar{height:82px;min-height:82px;padding:0 16px}.home-summary-card{min-height:79px;padding:9px}.home-summary-card strong{font-size:15px}.investment-tile{min-height:126px;padding:13px}.investment-tile b{font-size:19px}.activity-month-row{grid-template-columns:24px minmax(0,1fr) 24px auto;gap:3px}.budget-controls{gap:5px;padding:7px}.budget-controls .primary-btn{min-width:92px;font-size:9px}.settings-card>label.setting-row{grid-template-columns:minmax(0,1fr) minmax(104px,44%);gap:7px}.tabbar{height:72px;min-height:72px}.tab span{min-width:37px}.bulk-actions button{font-size:8px}}
@media(min-width:600px){.app-shell{height:100dvh;min-height:0}.page{padding-bottom:110px}}

/* Activity reference alignment */
.topbar .top-context-title{margin:0;color:#fff;font-size:21px;font-weight:800;letter-spacing:-.35px}.topbar .top-actions{display:flex;align-items:center;gap:7px}.topbar .activity-header-action{width:36px;height:36px;border:0;background:transparent;color:#fff;font-size:23px;display:grid;place-items:center}
body.activity-page-mode .topbar .brand{display:none}body.activity-page-mode .topbar{justify-content:space-between;min-height:72px;height:72px;padding:0 17px}body.activity-page-mode .topbar .top-context-title{display:block}body.activity-page-mode .topbar .top-context-title[hidden],body.activity-page-mode .topbar .activity-header-action[hidden]{display:none}
.activity-title-row{min-height:8px;margin:0 0 3px}.activity-context-spacer{display:none}.activity-title-row .activity-top-actions{margin-left:auto}.activity-title-row .activity-top-actions .icon-btn{width:34px;height:30px;border:0;background:var(--mint);border-radius:9px;color:var(--forest);font-size:19px}.activity-search-row[hidden]{display:none}.activity-search-row{display:flex;margin:7px 0}
.transaction-row{display:flex;align-items:center;gap:9px}.transaction-row .tx-select{order:0;display:flex;flex:0 0 22px;width:22px;margin:0;padding:0;justify-content:center}.transaction-row .tx-select input{width:17px;height:17px;margin:0;accent-color:#126247}.transaction-row .row-icon{order:1;flex:0 0 34px;margin:0}.transaction-row .row-main{order:2;flex:1;min-width:0}.transaction-row .row-amount{order:3;white-space:nowrap}
.bulk-toolbar{position:fixed;left:14px;right:14px;bottom:calc(76px + env(safe-area-inset-bottom));z-index:30;margin:0;padding:0;display:none;overflow:hidden;flex-direction:column;gap:0;border-radius:13px;background:#fff;color:#17382d;border:1px solid #d7e6dc;box-shadow:0 8px 26px #09271c2b}.bulk-toolbar.has-selection{display:flex}.bulk-selection-head{height:34px;width:100%;display:flex;align-items:center;gap:10px;padding:0 11px;background:#0e6046;color:white}.bulk-selection-head label{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:800}.bulk-selection-head input{width:16px;height:16px;accent-color:#b9e4ca}.bulk-selection-head .text-btn{color:#fff;margin-left:auto;font-size:11px;padding:3px 4px}.bulk-selection-head .select-all-text{margin-left:4px;text-decoration:underline}
.bulk-actions{display:flex;width:100%;gap:0;padding:5px 2px}.bulk-actions button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:46px;padding:4px 2px;border:0;border-radius:0;background:white!important;color:#183a2d!important;font-size:17px}.bulk-actions button small{font-size:10px;font-weight:700}.bulk-actions .danger-btn{color:#b64b45!important}
.transaction-types{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.transaction-types button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:58px;padding:6px;border:1px solid var(--line);border-radius:12px;background:#f7f9f7;color:var(--ink)}.transaction-types button.selected{background:#126247;color:#fff;border-color:#126247}.transaction-types .kind-icon{font-size:21px;line-height:1;font-weight:800}.transaction-types small{font-size:11px;font-weight:700}.income-kind-icon{color:#208653}.expense-kind-icon{color:#c84e4a}.transfer-kind-icon{color:#126247}.transaction-types button.selected .kind-icon{color:#fff}
.date-field-wrap{position:relative;display:flex;align-items:center}.date-field-wrap input{width:100%;min-width:0;padding-right:42px}.date-field-icon{position:absolute;right:12px;pointer-events:none;color:#52685e;font-size:17px}
@media(max-width:390px){body.activity-page-mode .topbar{height:68px;min-height:68px}.bulk-toolbar{left:10px;right:10px}.transaction-row{gap:7px}.transaction-row .row-icon{flex-basis:31px;width:31px;height:31px}}

/* Activity toolbar repair: search stays in top nav; selection tray is viewport-fixed above bottom nav. */
body.activity-page-mode .topbar{height:76px;min-height:76px;padding:0 16px;justify-content:space-between}
body.activity-page-mode .topbar .brand{display:none}
body.activity-page-mode .topbar .top-context-title{display:block;font-size:23px;white-space:nowrap}
body.activity-page-mode .topbar .top-context-title[hidden]{display:none}
.topbar .activity-header-action{width:34px;height:38px;padding:7px;border:0;background:transparent;color:#fff;display:grid;place-items:center}
.topbar .activity-header-action svg,.settings-top-btn svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.topbar .top-actions{gap:8px;min-width:0}
.top-search-input{width:clamp(100px,32vw,180px);height:36px;padding:6px 10px;border:1px solid #ffffff55;border-radius:10px;background:#ffffff18;color:#fff;font-size:13px}
.top-search-input::placeholder{color:#d7e7df}.top-search-input[hidden]{display:none}
.topbar .settings-top-btn{border:0;background:transparent;border-radius:50%;width:38px;height:38px;color:#fff}
.activity-title-row{display:none!important}
.activity-month-row{grid-template-columns:28px minmax(0,1fr) 28px auto;gap:6px;padding:7px 8px;margin-top:0}
.activity-month-row .activity-add-btn{display:flex;align-items:center;justify-content:center;gap:5px;min-height:34px;padding:6px 10px;border:0;border-radius:10px;background:var(--green);color:#fff;font-size:11px;font-weight:800;white-space:nowrap}
.activity-add-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
.activity-search-row{display:none!important}
#bulkToolbar{position:fixed!important;left:12px!important;right:12px!important;bottom:calc(84px + env(safe-area-inset-bottom) + 10px)!important;top:auto!important;z-index:50!important;margin:0!important;padding:0!important;display:none!important;overflow:hidden;flex-direction:column!important;gap:0!important;border-radius:13px!important;background:#fff!important;color:#183d30!important;border:1px solid #d6e6dc!important;box-shadow:0 7px 24px #0c2e202e!important}
body.activity-page-mode #bulkToolbar.has-selection{display:flex!important}body:not(.activity-page-mode) #bulkToolbar{display:none!important}
.bulk-selection-head{height:34px;display:flex;align-items:center;gap:8px;padding:0 11px;background:var(--forest);color:#fff}
.bulk-selection-head label{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:800}.bulk-selection-head label input{width:16px;height:16px;accent-color:#ccebd7}
.bulk-selection-head .text-btn{margin-left:auto;color:#fff;font-size:11px;padding:3px 5px}.bulk-selection-head .select-all-text{margin-left:4px;text-decoration:underline}
.bulk-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding:4px 3px;background:#fff}
.bulk-actions button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:48px;padding:3px;border:0!important;border-radius:0!important;background:transparent!important;color:#18563f!important;font-size:17px}
.bulk-actions button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.bulk-actions button small{font-size:10px;font-weight:750}.bulk-actions .danger-btn{color:#c34e48!important}
.transaction-row .row-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.transfer-icon{background:#edf5f1;color:#176448}
.transaction-types button{min-height:64px;gap:5px}.transaction-types .kind-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.date-field-wrap input{height:42px!important;min-height:42px!important;padding:8px 40px 8px 11px!important}.date-field-icon{right:11px;display:grid;place-items:center}.date-field-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tab span svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.tab.active span{display:grid;place-items:center}
@media(max-width:390px){body.activity-page-mode .topbar{height:70px;min-height:70px}.top-search-input{width:clamp(84px,27vw,125px)}.activity-month-row .activity-add-btn{font-size:10px;padding:6px 7px}#bulkToolbar{left:9px!important;right:9px!important;bottom:calc(78px + env(safe-area-inset-bottom) + 8px)!important}.bulk-actions button{min-height:45px}}
.transaction-types .kind-icon{display:grid;place-items:center}.transaction-types .kind-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.bulk-actions button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}


/* Budget page header and category progress layout */
body.budget-page-mode .topbar{height:76px;min-height:76px;padding:0 16px;justify-content:space-between}
body.budget-page-mode .topbar .brand{display:none}
body.budget-page-mode .topbar .top-budget-title{display:block}
body.budget-page-mode .topbar .top-context-title{display:block;font-size:23px;white-space:nowrap}
body.budget-page-mode .topbar .top-context-title[hidden]{display:none}
body.budget-page-mode .topbar .top-actions{gap:9px}
.top-budget-action{height:36px;padding:0 12px;border:1px solid #ffffff38;border-radius:10px;background:#ffffff16;color:#fff;font-size:11px;font-weight:800;white-space:nowrap}
.top-budget-action[hidden]{display:none}
.topbar .settings-top-btn{display:grid;place-items:center;border:0;border-radius:50%;background:transparent;width:38px;height:38px;color:#fff}
.topbar .settings-top-btn svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.budget-page-mode .page-heading{display:none}
#budgets .budget-controls{display:grid;grid-template-columns:auto minmax(130px,1fr);align-items:center;gap:10px;padding:0;margin:0 0 11px;border:0;background:transparent;box-shadow:none}
#budgets .budget-controls .field-label{grid-column:auto;grid-row:auto;margin:0;font-size:11px;font-weight:750;color:var(--muted)}
#budgets .budget-controls input{grid-column:auto;grid-row:auto;width:100%;height:34px;max-width:190px;padding:6px 10px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:11px}
#budgets .budget-gauge-card{margin:0 0 13px;padding:10px 13px 11px}
#budgets .gauge-wrap{height:132px;max-width:270px}
#budgets .gauge-wrap svg{height:132px}
#budgets .section-heading{margin:13px 0 7px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}
#budgets .section-heading h2{font-size:13px}
#budgets .section-heading .muted-label{font-size:10px;font-weight:700;color:var(--ink)}
#budgetList.budget-stack{display:grid;grid-template-columns:1fr;gap:0;padding:0 10px;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}
#budgetList .budget-category-row{width:100%;min-width:0;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:8px;padding:10px 2px;border:0;border-bottom:1px solid #edf1ee;border-radius:0;background:transparent;text-align:left;color:var(--ink);box-shadow:none}
#budgetList .budget-category-row:last-child{border-bottom:0}
.budget-category-icon{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:#edf5ef;color:var(--green)}
.budget-category-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.budget-category-row:nth-child(4n+2) .budget-category-icon{background:#edf6f0;color:#268451}
.budget-category-row:nth-child(4n+3) .budget-category-icon{background:#edf4fa;color:#367ba5}
.budget-category-row:nth-child(4n+4) .budget-category-icon{background:#fff4e7;color:#c88737}
.budget-category-main{display:grid;gap:6px;min-width:0}
.budget-category-line{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
.budget-category-line strong{font-size:11px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.budget-category-line>span{font-size:10px;font-weight:750;white-space:nowrap}
.budget-category-line i{font-style:normal;color:var(--muted);font-weight:500}
.budget-progress-line{display:grid;grid-template-columns:minmax(0,1fr) 29px;align-items:center;gap:8px}
.budget-progress-line .progress{height:6px;margin:0;background:#e8eee9;border-radius:10px}
.budget-progress-line .progress span{height:100%;border-radius:10px;background:#169b5b}
.budget-progress-line .progress span.over{background:var(--danger)}
.budget-progress-line>b{text-align:right;font-size:10px;font-weight:800;color:var(--ink)}
#entryDialog .date-field-wrap{height:42px!important;min-height:42px!important;max-height:42px!important;width:100%;margin-top:6px}
#entryDialog #entryDate{display:block;width:100%;height:42px!important;min-height:42px!important;max-height:42px!important;line-height:normal;padding:8px 39px 8px 11px!important;font-size:13px;-webkit-appearance:none;appearance:none;border-radius:11px}
#entryDialog .date-field-icon{right:11px;top:50%;transform:translateY(-50%)}
@media(max-width:390px){body.budget-page-mode .topbar{height:70px;min-height:70px;padding:0 13px}.top-budget-action{height:33px;padding:0 9px;font-size:10px}.budget-category-line>span{font-size:9px}#budgets .budget-gauge-card{padding:8px 10px}}

/* Reports reference redesign */
.report-section-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:4px;margin:0 0 14px;background:var(--surface-2,#e9f1ec);border-radius:13px}
.report-section-tabs button{min-height:34px;padding:7px 8px;border:0;border-radius:10px;background:transparent;color:var(--muted);font-size:12px;font-weight:800}
.report-section-tabs button.selected{background:var(--forest);color:#fff;box-shadow:0 2px 7px #0b352522}
.report-filters[hidden],.report-view[hidden],#reportCategoryDetailView[hidden]{display:none!important}
.report-filters{display:block;margin:0 0 14px;padding:13px;border:1px solid var(--line);border-radius:15px;background:var(--surface)}
.report-filter-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.report-filter-heading strong{font-size:14px}
.report-filter-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.report-filter-grid label{display:grid;gap:5px;font-size:11px;color:var(--muted);font-weight:700}
.report-filter-grid input,.report-filter-grid select{width:100%;min-width:0;height:38px;padding:6px 8px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);font-size:12px}
.report-filters>.secondary-btn{margin-top:10px;min-height:34px}
.report-total-card{display:flex;flex-direction:column;gap:5px;padding:17px 18px;margin-bottom:14px;border-radius:16px;background:#e5f1e9;color:#173b2e}
.report-total-card>span{font-size:12px;font-weight:700;color:#62766b}
.report-total-card>strong{font-size:27px;line-height:1.15;font-weight:850;letter-spacing:-.5px}
.report-total-card>small{font-size:11px;color:#718278}
.income-report-total{background:#e6f1ed}
.networth-report-total{background:#e1efe7}
.report-chart-section{display:grid;grid-template-columns:minmax(130px,1fr) minmax(135px,1fr);align-items:center;gap:14px;padding:10px 3px 18px}
.report-donut{width:min(42vw,168px);height:min(42vw,168px);max-width:168px;max-height:168px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;position:relative;background:conic-gradient(#dfe8e2 0 100%);justify-self:center}
.report-donut-hole{width:62%;height:62%;border-radius:50%;background:var(--surface);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:5px}
.report-donut-hole strong{font-size:clamp(12px,3.5vw,16px);font-weight:850;line-height:1.2;white-space:nowrap}
.report-donut-hole small{font-size:9px;color:var(--muted);margin-top:3px}
.report-legend{display:flex;flex-direction:column;gap:9px;min-width:0}
.report-legend-row{display:grid;grid-template-columns:9px minmax(0,1fr) auto;align-items:center;gap:7px;font-size:10px}
.report-legend-row i{width:8px;height:8px;border-radius:50%}
.report-legend-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}
.report-legend-row b{font-size:10px;font-weight:800;color:var(--muted);font-variant-numeric:tabular-nums}
.report-category-list{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;background:var(--surface);overflow:hidden}
.report-category-list.empty{padding:12px}
.report-category-item{width:100%;display:grid;grid-template-columns:34px minmax(0,1fr) 33px 12px;align-items:center;gap:9px;padding:11px 10px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);text-align:left}
.report-category-item:last-child{border-bottom:0}
.report-category-icon{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:#edf4ef;color:#176447}
.report-category-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.report-category-icon.income-icon{background:#e5f4eb;color:#238451}
.report-category-icon.expense-icon{background:#fff0ec;color:#c65b4c}
.report-category-main{display:flex;flex-direction:column;gap:3px;min-width:0}
.report-category-main strong{font-size:12px;font-weight:800}
.report-category-main small{font-size:10px;color:var(--muted)}
.report-category-progress{height:4px;border-radius:10px;background:var(--surface-2,#e8efea);overflow:hidden;margin-top:2px}
.report-category-progress b{height:100%;display:block;border-radius:10px}
.report-category-percent{font-size:10px;text-align:right;font-weight:800;color:var(--muted);font-variant-numeric:tabular-nums}
.report-category-chevron{font-size:20px;color:var(--muted);text-align:right}
.report-detail-heading{display:flex;align-items:center;gap:11px;margin:2px 0 14px}
.report-back-btn{width:34px;height:34px;border:0;border-radius:50%;background:var(--surface-2,#e8efea);color:var(--ink);font-size:25px;line-height:1}
.report-detail-heading h2{margin:0;font-size:19px}
.report-detail-heading small{font-size:11px;color:var(--muted)}
.report-transaction-list{display:flex;flex-direction:column;gap:0}
.report-date-heading{padding:13px 4px 7px;color:var(--muted);font-size:11px;font-weight:800}
.report-transaction-list .transaction-row{border-bottom:1px solid var(--line)}
.report-line-chart{padding:10px 12px 8px;border:1px solid var(--line);border-radius:14px;background:var(--surface);min-height:125px}
.report-line-chart svg{display:block;width:100%;height:auto}
.report-chart-empty{min-height:110px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center}
.report-chart-empty strong{font-size:21px}
.report-chart-empty span{max-width:240px;font-size:11px;line-height:1.45;color:var(--muted)}
.report-chart-axis{display:flex;justify-content:space-between;color:var(--muted);font-size:9px;margin-top:3px}
.report-breakdown-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;padding:12px 10px;border-bottom:1px solid var(--line)}
.report-breakdown-row:last-child{border-bottom:0}
.report-breakdown-icon{width:30px;height:30px;border-radius:9px;background:var(--surface-2,#edf3ef);display:grid;place-items:center;color:var(--forest);font-size:17px}
.report-breakdown-row>span:nth-child(2){display:flex;flex-direction:column;gap:3px}
.report-breakdown-row strong{font-size:12px}
.report-breakdown-row small{font-size:10px;color:var(--muted)}
.report-breakdown-row>b{font-size:12px;font-variant-numeric:tabular-nums}
body.reports-page-mode .topbar .brand{display:none}
body.reports-page-mode .topbar{justify-content:space-between;min-height:72px;height:72px;padding:0 16px}
body.reports-page-mode .topbar .top-context-title{display:block}
body.reports-page-mode .topbar .top-context-title[hidden]{display:none}
body.reports-page-mode .topbar .activity-header-action{display:grid}
body.reports-page-mode .topbar #topSearchBtn{display:none!important}
.topbar [hidden]{display:none!important}
@media(max-width:390px){
 .report-chart-section{grid-template-columns:minmax(118px,.95fr) minmax(120px,1.05fr);gap:9px}
 .report-donut{width:clamp(118px,39vw,150px);height:clamp(118px,39vw,150px)}
 .report-category-item{grid-template-columns:31px minmax(0,1fr) 29px 10px;gap:7px;padding:10px 8px}
 .report-total-card>strong{font-size:25px}
}

.report-total-card .report-category-budget-meta{font-size:10px;color:#718278;font-weight:700}

/* Settings reference layout and functional workflow panels */
.top-back-btn{width:28px;height:36px;border:0;background:transparent;color:#fff;font-size:30px;line-height:1;padding:0;display:grid;place-items:center;margin-right:2px}
body.settings-page-mode .topbar{justify-content:flex-start;gap:8px}
body.settings-page-mode .topbar .brand{display:none}
body.settings-page-mode .topbar .top-context-title{display:block;font-size:20px}
body.settings-page-mode .topbar .top-actions{margin-left:auto}
body.settings-page-mode .topbar .settings-top-btn{display:none}
.settings-reference-layout{display:grid;gap:14px}
.settings-group{background:var(--white);border:1px solid var(--line);border-radius:17px;padding:14px 15px;box-shadow:var(--shadow)}
.settings-group h2{font-size:13px;font-weight:800;margin:0 0 7px;color:var(--ink)}
.settings-group .setting-row,.settings-group .setting-link{width:100%;min-height:43px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 1px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);font-size:12px;text-align:left}
.settings-group .setting-row:last-child,.settings-group .setting-link:last-child{border-bottom:0}
.settings-group .setting-row>span,.settings-group .setting-link>span{display:flex;align-items:center;gap:10px;min-width:0}
.settings-icon,.setting-icon{font-style:normal;display:inline-grid;place-items:center;width:20px;height:20px;flex:0 0 20px;color:var(--green);font-size:16px;font-weight:700}
.settings-group .setting-row select{width:auto;max-width:44%;min-width:100px;height:32px;margin:0;padding:0 8px;font-size:11px;border:0;background:transparent;text-align:right}
.settings-group .setting-link b{font-size:20px;color:var(--muted);font-weight:400}
.settings-group .setting-link small{margin-left:6px;font-size:9px;color:var(--green);font-weight:700;white-space:nowrap}
.settings-group .status-line{font-size:10px;margin:10px 0 2px}
.settings-hidden-tools{display:none}
.settings-hidden-tools.open{display:block}
.settings-hidden-tools .button-row{margin:8px 0}
.transfer-candidate-card{border:1px solid var(--line);border-radius:14px;padding:13px;margin:10px 0;background:var(--white)}
.transfer-candidate-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.transfer-candidate-top strong{font-size:16px;font-weight:800}
.transfer-candidate-top span{font-size:10px;color:#9a6c27;background:#fff4d9;padding:4px 7px;border-radius:20px}
.transfer-candidate-card p{font-size:12px;margin:8px 0 4px}.transfer-candidate-card small{font-size:10px;color:var(--muted);line-height:1.45}
.transfer-candidate-card .button-row{margin-top:10px}.transfer-candidate-card .button-row button{flex:1;min-width:0;font-size:10px;padding:10px 8px}
.investment-detail-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-bottom:12px}
.investment-detail-tabs button{border:1px solid var(--line);border-radius:9px;padding:8px 4px;background:var(--white);color:var(--muted);font-size:10px}
.investment-detail-tabs button.selected{background:var(--green);color:#fff;border-color:var(--green)}
.investment-holding-row{width:100%;border:0;background:transparent;text-align:left;color:var(--ink)}
.settings-group .setting-row:focus-within,.settings-group .setting-link:focus-visible{outline:2px solid #8fc7a8;outline-offset:2px;border-radius:8px}
@media(max-width:390px){.settings-group{padding:12px 13px}.settings-group .setting-row,.settings-group .setting-link{min-height:41px;font-size:11px}.transfer-candidate-card .button-row{flex-direction:column}}

#investmentTxToHoldingLabel[hidden],#investmentTxToUnitsLabel[hidden]{display:none!important}

/* November polish: modal report filters, compact date fields, dark surfaces, dedicated budget editor and settings subpages */
body.budget-page-mode .topbar .top-context-title{display:block}
body.budget-page-mode .topbar #topSetBudgetBackBtn[hidden],body.budget-page-mode .topbar #topBudgetTitle[hidden],body.budget-page-mode .topbar #topSetBudgetTitle[hidden]{display:none!important}
body.budget-page-mode #topSetBudgetBtn[hidden]{display:none!important}
#budgets .budget-gauge-card{background:var(--white);border:1px solid var(--line);color:var(--ink)}
#budgets .budget-category-line i{color:var(--muted)}
.budget-editor-month{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;margin:2px 0 10px;padding:11px 13px;background:var(--white);border:1px solid var(--line);border-radius:14px}
.budget-editor-month label{font-size:12px;font-weight:750;color:var(--muted)}
.budget-editor-month input{width:100%;height:38px;min-width:0;padding:6px 10px;font-size:13px}
.budget-edit-list{display:flex;flex-direction:column;padding:0 12px;background:var(--white);border:1px solid var(--line);border-radius:15px;overflow:hidden}
.budget-edit-row{display:grid;grid-template-columns:34px minmax(0,1fr) minmax(105px,38%);align-items:center;gap:9px;min-height:55px;padding:7px 1px;border-bottom:1px solid var(--line)}
.budget-edit-row:last-child{border-bottom:0}
.budget-edit-row>strong{font-size:12px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.budget-edit-input-wrap{display:flex;align-items:center;gap:5px;min-width:0;height:36px;padding:0 8px;border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--muted)}
.budget-edit-input-wrap input{width:100%;min-width:0;height:32px;padding:3px 0;border:0;background:transparent;text-align:right;color:var(--ink);font-size:12px!important}
.budget-save-all{width:100%;margin:14px 0 8px;min-height:46px}
#reportFilterDialog{width:min(440px,calc(100% - 28px));border-radius:20px}
#reportFilterDialog .dialog-form{padding:19px}
#reportFilterDialog .report-filter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
#reportFilterDialog .report-filter-grid label{display:grid;gap:5px;min-width:0;font-size:11px;color:var(--muted);font-weight:700}
#reportFilterDialog .report-filter-grid input,#reportFilterDialog .report-filter-grid select,
#filterDialog .dialog-form>label input[type="date"],#filterDialog .dialog-form>label select{display:block;width:100%;min-width:0;height:42px;min-height:42px;max-height:42px;box-sizing:border-box;margin:0;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--white);color:var(--ink);font-size:13px!important;line-height:normal;-webkit-appearance:none;appearance:none}
#filterDialog .dialog-form>label{display:grid;gap:6px}
#filterDialog .dialog-form>label input[type="date"]{margin-top:0}
#reportFilterDialog .report-filter-grid input[type="date"]{padding-right:8px}
#reportFilterDialog .report-filter-actions{display:grid;grid-template-columns:1fr 1fr;margin-top:14px}
#reportFilterDialog .report-filter-actions button{min-height:42px}
.settings-subpage[hidden],#settingsMainView[hidden]{display:none!important}
.settings-subpage .settings-group{display:grid;gap:9px}
.settings-subpage .settings-group h2{margin-bottom:0}
.settings-action-wide{width:100%;min-height:43px;display:flex;align-items:center;justify-content:center;margin:0;text-align:center}
.settings-subpage .setting-link{min-height:43px}
.settings-subpage .file-button{position:relative}
.settings-subpage .file-button input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
html[data-theme="dark"]{--white:#202c26;--bg:#111a16;--line:#34443b;--ink:#e7efe9;--muted:#a6b5ac}
html[data-theme="dark"] .home-month-card,html[data-theme="dark"] .budget-gauge-card,html[data-theme="dark"] #budgetList.budget-stack,
html[data-theme="dark"] .budget-edit-list,html[data-theme="dark"] .budget-editor-month,html[data-theme="dark"] .settings-group,
html[data-theme="dark"] .report-category-list,html[data-theme="dark"] .report-line-chart,html[data-theme="dark"] .report-filters,
html[data-theme="dark"] .report-total-card,html[data-theme="dark"] .report-category-item{background:#202c26!important;color:var(--ink)!important;border-color:#34443b!important}
html[data-theme="dark"] .report-total-card>span,html[data-theme="dark"] .report-total-card>small{color:#b5c5bb!important}
html[data-theme="dark"] .report-donut-hole{background:#202c26!important}
html[data-theme="dark"] .budget-edit-input-wrap{background:#17221c;border-color:#3b4b42}
html[data-theme="dark"] .budget-category-icon,html[data-theme="dark"] .report-category-icon{background:#2b3b32!important;color:#a9dfbd!important}
html[data-theme="dark"] .progress,html[data-theme="dark"] .report-category-progress{background:#39483f}
html[data-theme="dark"] .budget-category-row{color:var(--ink)!important;border-color:#34443b!important}
html[data-theme="dark"] .report-section-tabs{background:#202c26}
html[data-theme="dark"] .report-section-tabs button.selected{background:var(--accent-dark);color:#fff}
@media(prefers-color-scheme:dark){html[data-theme="system"]{--white:#202c26;--bg:#111a16;--line:#34443b;--ink:#e7efe9;--muted:#a6b5ac}html[data-theme="system"] .home-month-card,html[data-theme="system"] .budget-gauge-card,html[data-theme="system"] #budgetList.budget-stack,html[data-theme="system"] .budget-edit-list,html[data-theme="system"] .budget-editor-month,html[data-theme="system"] .settings-group,html[data-theme="system"] .report-category-list,html[data-theme="system"] .report-line-chart,html[data-theme="system"] .report-total-card,html[data-theme="system"] .report-category-item{background:#202c26!important;color:var(--ink)!important;border-color:#34443b!important}html[data-theme="system"] .report-total-card>span,html[data-theme="system"] .report-total-card>small{color:#b5c5bb!important}html[data-theme="system"] .report-donut-hole{background:#202c26!important}html[data-theme="system"] .budget-edit-input-wrap{background:#17221c;border-color:#3b4b42}}
@media(max-width:390px){.budget-edit-row{grid-template-columns:31px minmax(0,1fr) minmax(98px,39%);gap:7px;min-height:52px}.budget-edit-row>strong{font-size:11px}#reportFilterDialog .dialog-form{padding:16px}#reportFilterDialog .report-filter-grid{gap:8px}}

/* Wealth overview refresh — investment-led, with cash held in Accounts. */
#wealth{padding-top:18px}
.wealth-heading{display:flex;align-items:center;justify-content:space-between;margin:0 0 15px}
.wealth-heading h1{font:800 27px Manrope;margin:2px 0 0;letter-spacing:-.7px}
.wealth-heading .eyebrow{margin:0;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:1.1px}
.wealth-heading .icon-btn{width:42px;height:42px;border:1px solid var(--line);border-radius:14px;background:var(--white);display:grid;place-items:center}
.wealth-heading svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.wealth-hero{border-radius:22px;padding:20px 19px 15px;background:linear-gradient(140deg,#123f35,#1d6b50);color:#fff;box-shadow:0 10px 25px rgba(16,65,49,.13);margin-bottom:20px}
.wealth-hero-top{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#d5e8df;font-weight:650}
.wealth-live-dot{font-size:9px;color:#a7dfbe}
.wealth-hero>strong{display:block;font:850 clamp(28px,8vw,36px) Manrope;letter-spacing:-1px;margin:10px 0 2px;overflow-wrap:anywhere}
.wealth-hero>small{font-size:11px;color:#d1e4db}
.wealth-hero-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(255,255,255,.2);margin-top:17px;padding-top:12px;font-size:12px;color:#d5e8df}
.wealth-hero-bottom b{font-size:14px;color:#fff}
#wealth .wealth-section-heading{margin-top:0}
#wealth .investment-grid{margin:10px 0 17px}
#wealth .investment-tile{position:relative;min-height:130px;padding:15px;border-radius:18px;background:var(--white);border:1px solid var(--line);gap:7px}
#wealth .investment-tile>span{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:var(--accent-soft);font-size:20px}
#wealth .investment-tile strong{font-size:13px}
#wealth .investment-tile b{font-size:20px}
.wealth-performance-card,.wealth-allocation-card{border:1px solid var(--line);border-radius:18px;background:var(--white);padding:15px;margin-bottom:16px}
.wealth-performance-card .section-heading{margin:0 0 13px}
.wealth-performance-card .section-heading h2{font-size:15px}
.wealth-performance-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 10px}
.wealth-performance-grid>div{min-width:0;display:flex;flex-direction:column;gap:5px}
.wealth-performance-grid small{font-size:10px;color:var(--muted)}
.wealth-performance-grid strong{font:800 16px Manrope;overflow-wrap:anywhere}
.wealth-performance-note{font-size:10px;color:var(--muted);line-height:1.45;margin:13px 0 0}
.wealth-allocation-card{padding:15px}
.wealth-allocation-bar{height:12px;border-radius:20px;overflow:hidden;background:var(--line);display:flex;position:relative}
.wealth-allocation-bar span{position:absolute;top:0;bottom:0}
.wealth-allocation-legend{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px;margin-top:13px}
.wealth-allocation-legend>div{display:grid;grid-template-columns:9px 1fr auto;align-items:center;gap:6px;font-size:10px}
.wealth-allocation-legend i{width:8px;height:8px;border-radius:50%}
.wealth-allocation-legend span{color:var(--muted)}
.wealth-allocation-legend b{font-size:10px}
.wealth-account-hint{margin:-3px 0 10px;line-height:1.45}
.wealth-other-subcategories{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}
.wealth-other-subcategories>div{display:flex;flex-direction:column;gap:4px;border:1px solid var(--line);border-radius:12px;padding:11px}
.wealth-other-subcategories span{font-size:10px;color:var(--muted)}
.wealth-other-subcategories strong{font-size:14px}
.wealth-other-subcategories small{font-size:9px;color:var(--muted)}
html[data-theme="dark"] .wealth-performance-card,html[data-theme="dark"] .wealth-allocation-card,html[data-theme="dark"] #wealth .investment-tile,html[data-theme="dark"] .wealth-heading .icon-btn{background:#18231e;border-color:var(--line)}
html[data-theme="dark"] .wealth-hero{background:linear-gradient(140deg,#102b24,#174a39)}
@media(max-width:390px){.wealth-hero{padding:18px 16px}.wealth-performance-card,.wealth-allocation-card{padding:13px}.wealth-performance-grid strong{font-size:14px}.wealth-allocation-legend{gap:9px 7px}}
/* Wealth header now keeps only the eyebrow; settings stays in the global top navigation. */
.wealth-heading{display:block;margin:0 0 15px}
.wealth-heading .icon-btn,.wealth-heading svg{display:none}
/* Transaction amount and post-transaction account balance stack. */
.transaction-row .tx-amount-stack{order:3;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:3px;min-width:82px;margin-left:auto;white-space:nowrap}
.transaction-row .tx-amount-stack .row-amount{order:0}
.tx-account-balance{display:block;color:var(--muted,#71817b);font-size:9px;font-weight:650;line-height:1.2}
.wealth-heading .icon-btn,.wealth-heading svg{display:none!important}
.wealth-heading{display:block;margin:0 0 12px}

/* Reminders & Bills */
.reminder-month-controls{display:grid;grid-template-columns:42px 1fr 42px;gap:9px;margin:10px 0}.reminder-month-controls button{border:1px solid var(--line);border-radius:12px;background:var(--white);color:var(--green);font-size:24px}.reminder-summary{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:8px;background:#e4f1e9;border-radius:17px;padding:14px;margin:12px 0}.reminder-summary small{display:block;color:#71877c;font-size:10px;margin-bottom:5px}.reminder-summary strong{font:800 16px Manrope;color:#183d31}.reminder-toolbar{margin:10px 0}.reminder-row{display:flex;align-items:center;gap:9px;padding:13px 11px;border-bottom:1px solid var(--line);min-width:0}.reminder-date{width:38px;height:42px;flex:none;border-radius:11px;background:#e8f3ec;color:#176b50;display:grid;align-content:center;justify-items:center}.reminder-date b{font:800 16px Manrope}.reminder-date small{font-size:9px}.reminder-main{flex:1;min-width:0}.reminder-main strong{display:block;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reminder-main small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.reminder-status{display:inline-block;font-size:9px;color:#75877e;margin-top:4px}.reminder-status.paid{color:#168253}.reminder-status.overdue{color:#b94e43}.reminder-status.due{color:#b07825}.reminder-amount{text-align:right;white-space:nowrap;font-size:11px;font-weight:800}.reminder-amount small{display:block;color:var(--muted);font-size:9px}.reminder-edit{border:0;background:transparent;color:var(--muted);font-size:20px;padding:4px}.reminder-home-footer{padding:9px 12px;text-align:right}.reminders-page-mode .topbar .brand{display:none}.reminders-page-mode .topbar{justify-content:flex-start}.reminders-page-mode .page-heading h1{font-size:24px}@media(max-width:390px){.tabbar{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:1px;padding-left:4px!important;padding-right:4px!important}.tab span{min-width:36px!important;padding:2px 7px!important}.tab.active span{min-width:40px!important}.tab small{font-size:9px!important}.reminder-row{gap:6px;padding:11px 8px}.reminder-summary{padding:11px 9px}.reminder-summary strong{font-size:13px}}

/* Build 11: stable Reminders navigation/header and a more compact Home monthly card. */
body.reminders-page-mode .topbar{justify-content:space-between!important}
body.reminders-page-mode .topbar .top-actions{margin-left:auto!important;flex:0 0 auto}
body.reminders-page-mode .topbar .top-context-title{display:block;min-width:0;white-space:nowrap}
body.reminders-page-mode .topbar .top-context-title[hidden]{display:none!important}
.home-month-card{padding:10px 12px!important;margin-top:8px!important}
.home-month-card .section-heading{margin:0 0 7px!important;min-height:34px}
.home-month-card .section-heading h2{font-size:14px!important}
.home-month-card .section-heading input{width:132px!important;max-width:132px!important;height:32px!important;padding:3px 8px!important;font-size:14px!important;line-height:1.1!important;border-radius:10px}
.home-flow-grid{gap:3px!important}
.home-flow-grid>div{gap:3px!important;padding:0 2px}
.home-flow-grid .flow-icon{width:30px!important;height:30px!important;font-size:16px!important}
.home-flow-grid small{font-size:10px!important;line-height:1.1}
.home-flow-grid strong{font-size:12px!important;line-height:1.2;white-space:nowrap}
@media(max-width:390px){.home-month-card{padding:9px 10px!important}.home-month-card .section-heading input{width:126px!important;max-width:126px!important;font-size:13px!important}.home-flow-grid strong{font-size:11px!important}}

/* Build 12: compact reminder month navigation beside the create action. */
.reminder-topbar{display:flex;align-items:center;gap:9px;width:100%;margin:0 0 16px;min-width:0}
.reminder-topbar .reminder-month-controls{display:grid;grid-template-columns:34px minmax(0,1fr) 34px;gap:5px;align-items:center;flex:1;min-width:0;margin:0}
.reminder-month-controls button{height:46px;min-height:46px;padding:0;border-radius:12px;font-size:22px;line-height:1}
.reminder-month-controls input[type=month]{height:46px;min-height:46px;width:100%;min-width:0;padding:0 7px;border:1px solid var(--line);border-radius:12px;background:var(--white);color:var(--text);font:600 13px Manrope;text-align:center}
.reminder-topbar #addReminderBtn{height:46px;min-height:46px;flex:0 0 auto;width:148px;padding:0 10px;white-space:nowrap;font-size:13px;border-radius:12px}
@media(max-width:390px){.reminder-topbar{gap:7px}.reminder-topbar .reminder-month-controls{grid-template-columns:30px minmax(0,1fr) 30px;gap:3px}.reminder-month-controls button{height:44px;min-height:44px}.reminder-month-controls input[type=month]{height:44px;min-height:44px;font-size:12px;padding:0 3px}.reminder-topbar #addReminderBtn{width:137px;height:44px;min-height:44px;font-size:12px;padding:0 7px}}
/* Build 13: give the month picker a little less width beside Add reminder. */
.reminder-topbar .reminder-month-controls{flex:0 1 54%;}
.reminder-topbar #addReminderBtn{flex:1 1 0;width:auto;min-width:132px;}
@media(max-width:390px){.reminder-topbar .reminder-month-controls{flex-basis:53%;}.reminder-topbar #addReminderBtn{min-width:126px;}}

/* Build 15: compact month selector with more room for Add reminder. */
.reminder-topbar{gap:8px}
.reminder-topbar .reminder-month-controls{flex:0 0 44%;width:44%;grid-template-columns:32px minmax(0,1fr) 32px;gap:4px}
.reminder-topbar #addReminderBtn{flex:1 1 0;width:auto;min-width:0;height:46px;min-height:46px}
.reminder-month-controls button,.reminder-month-controls input[type=month]{height:46px;min-height:46px}
@media(max-width:390px){.reminder-topbar .reminder-month-controls{flex-basis:44%;width:44%;grid-template-columns:27px minmax(0,1fr) 27px;gap:2px}.reminder-month-controls input[type=month]{font-size:11px;padding:0 1px}.reminder-topbar #addReminderBtn{height:44px;min-height:44px;font-size:11px;padding:0 4px}}

/* Build 16: clear auto-book preference row in reminder editor. */
.dialog-form>label.check-row{display:flex;align-items:flex-start;gap:10px;line-height:1.45;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#f4f8f5;font-size:12px}.dialog-form>label.check-row input{flex:0 0 18px;width:18px;height:18px;margin:1px 0 0}


/* Build 17: month navigation keeps the full month label visible; arrow sits at selector edge. */
.reminder-topbar{display:flex;align-items:center;gap:8px;min-width:0}
.reminder-topbar .reminder-month-controls{display:grid;grid-template-columns:30px minmax(0,1fr) 30px;gap:4px;flex:0 0 64%;width:64%;min-width:0}
.reminder-topbar .reminder-month-controls button{width:30px;height:46px;min-height:46px;padding:0}
.reminder-topbar .reminder-month-controls input[type=month]{width:100%;min-width:0;height:46px;min-height:46px;padding:0 3px;font-size:12px;text-align:center}
.reminder-topbar #addReminderBtn{flex:1 1 0;width:auto;min-width:0;height:46px;min-height:46px;padding:0 5px;font-size:11px;white-space:nowrap}
#reminderCategoryWrap[hidden],#reminderAccountWrap[hidden],#reminderCreditFields[hidden]{display:none!important}
@media(max-width:390px){.reminder-topbar{gap:6px}.reminder-topbar .reminder-month-controls{flex-basis:64%;width:64%;grid-template-columns:28px minmax(0,1fr) 28px;gap:3px}.reminder-topbar .reminder-month-controls button{width:28px;height:44px;min-height:44px}.reminder-topbar .reminder-month-controls input[type=month]{height:44px;min-height:44px;font-size:11px;padding:0 1px}.reminder-topbar #addReminderBtn{height:44px;min-height:44px;font-size:10px;padding:0 3px}}


/* Build 18: normalize native iOS date controls in reminder dialogs. */
#reminderDialog input[type="date"],
#reminderPaymentDialog input[type="date"]{
  display:block!important;
  box-sizing:border-box!important;
  width:100%!important;
  height:42px!important;
  min-height:42px!important;
  max-height:42px!important;
  margin-top:6px!important;
  padding:8px 10px!important;
  line-height:22px!important;
  font-size:13px!important;
  border-radius:11px!important;
  -webkit-appearance:none!important;
  appearance:none!important;
  vertical-align:middle;
}
#reminderDialog input[type="date"]::-webkit-date-and-time-value,
#reminderPaymentDialog input[type="date"]::-webkit-date-and-time-value{
  min-height:22px;
  line-height:22px;
  text-align:left;
  padding:0;
}


/* Build 19: align Activity month controls with Reminders and refine bulk selection. */
.activity-month-row{
  display:grid!important;
  grid-template-columns:30px minmax(0,1fr) 30px 132px!important;
  gap:5px!important;
  align-items:center!important;
  min-width:0!important;
  min-height:46px!important;
  padding:0!important;
  background:var(--surface,#fff)!important;
  color:var(--ink,#172b27)!important;
  border:1px solid var(--line)!important;
  border-radius:14px!important;
  box-shadow:none!important;
}
.activity-month-row>button:not(.activity-add-btn){
  width:30px!important;height:44px!important;min-height:44px!important;
  display:grid!important;place-items:center!important;padding:0!important;
  border:1px solid var(--line)!important;border-radius:12px!important;
  background:var(--surface,#fff)!important;color:var(--green,#1b6b52)!important;
  font-size:22px!important;line-height:1!important;
}
.activity-month-row>strong{
  min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;
  white-space:nowrap!important;text-align:center!important;font-size:13px!important;
  color:var(--ink,#172b27)!important;
}
.activity-month-row .activity-add-btn{
  width:132px!important;min-width:0!important;height:44px!important;min-height:44px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  gap:5px!important;padding:0 6px!important;border:0!important;border-radius:12px!important;
  background:var(--green,#1b6b52)!important;color:#fff!important;
  font-size:12px!important;font-weight:800!important;white-space:nowrap!important;
}
.activity-month-row .activity-add-btn svg{width:16px!important;height:16px!important;flex:0 0 16px}
@media(max-width:390px){
  .activity-month-row{grid-template-columns:28px minmax(0,1fr) 28px 122px!important;gap:4px!important}
  .activity-month-row>button:not(.activity-add-btn){width:28px!important;height:44px!important}
  .activity-month-row .activity-add-btn{width:122px!important;height:44px!important;font-size:11px!important}
  .activity-month-row>strong{font-size:12px!important}
}

/* The destination account is only relevant to transfers. Enforce the hidden state
   against generic dialog label display rules, including on iOS Safari. */
#entryToAccountWrap[hidden],#entryCategoryWrap[hidden]{display:none!important}

/* Build 19: selection header shows count and amount; checkbox is the only select-all control. */
.bulk-selection-head{background:#0e6046!important;color:#fff!important;min-height:40px!important;height:40px!important}
.bulk-selection-head label{flex:1;min-width:0;gap:8px!important}
.bulk-selection-head .selected-tx-total{margin-left:auto;font-size:11px;font-weight:800;white-space:nowrap;color:#e3f2e9}
.bulk-selection-head .deselect-selected-btn{
  flex:0 0 32px!important;width:32px!important;height:32px!important;
  display:grid!important;place-items:center!important;margin:0 0 0 6px!important;
  padding:0!important;border:0!important;background:transparent!important;
  color:#ff7770!important;font-size:28px!important;line-height:1!important;font-weight:800!important;
}
.bulk-selection-head .select-all-text{display:none!important}
.bulk-toolbar{background:#e4f1e9!important;border-color:#c9dfd2!important}
.bulk-actions{background:#e4f1e9!important;padding:7px 5px!important}
.bulk-actions button{background:transparent!important;color:#14563f!important}
.bulk-actions button svg{background:transparent!important}
.bulk-actions .danger-btn{color:#b5423f!important}


/* Build 20: final compact bulk-selection toolbar overrides */
#bulkToolbar{
  bottom:calc(70px + env(safe-area-inset-bottom) + 2px)!important;
  padding:0!important;
  border-radius:13px!important;
  background:#e4f1e9!important;
  border:1px solid #c9dfd2!important;
  overflow:hidden!important;
  box-shadow:0 5px 16px #0c2e201f!important;
}
#bulkToolbar .bulk-selection-head{
  display:flex!important;
  min-height:34px!important;
  height:34px!important;
  padding:0 10px!important;
  background:#0e6046!important;
  color:#fff!important;
}
#bulkToolbar .bulk-selection-head label{
  display:flex!important;
  flex:1 1 auto!important;
  min-width:0!important;
  align-items:center!important;
  gap:7px!important;
  margin:0!important;
}
#bulkToolbar #selectedTxCount{white-space:nowrap!important}
#bulkToolbar #selectedTxTotal{
  display:inline-block!important;
  visibility:visible!important;
  opacity:1!important;
  margin-left:auto!important;
  color:#e3f2e9!important;
  font-size:11px!important;
  font-weight:800!important;
  white-space:nowrap!important;
}
#bulkToolbar #deselectAllTx{
  display:grid!important;
  flex:0 0 38px!important;
  width:38px!important;
  min-width:38px!important;
  height:34px!important;
  margin:0 0 0 6px!important;
  padding:0!important;
  place-items:center!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#ff625c!important;
  font-size:34px!important;
  line-height:1!important;
  font-weight:900!important;
}
#bulkToolbar .select-all-text,
#bulkToolbar .select-all-label,
#bulkToolbar .select-all-action{display:none!important}
#bulkToolbar .bulk-actions{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:0!important;
  width:100%!important;
  min-height:40px!important;
  padding:3px 4px!important;
  margin:0!important;
  background:#e4f1e9!important;
}
#bulkToolbar .bulk-actions button{
  min-width:0!important;
  min-height:38px!important;
  padding:3px 2px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#14563f!important;
  box-shadow:none!important;
}
#bulkToolbar .bulk-actions button svg{
  background:transparent!important;
}
#bulkToolbar .bulk-actions .danger-btn{color:#b5423f!important}


/* Build 21: Activity month picker, compact selection toolbar and visual cleanup */
.activity-month-row{grid-template-columns:30px minmax(0,1fr) 30px minmax(118px,34%)!important;gap:5px!important}
.activity-month-picker-trigger{
  display:flex!important;align-items:center!important;justify-content:center!important;
  width:100%!important;min-width:0!important;height:42px!important;padding:0 5px!important;
  border:0!important;background:transparent!important;color:var(--forest)!important;
  font:inherit!important;font-weight:800!important;white-space:nowrap!important;
}
.activity-month-picker-input{
  position:absolute!important;width:1px!important;height:1px!important;opacity:.01!important;
  pointer-events:none!important;left:50%!important;top:0!important;
}
#bulkToolbar{
  bottom:calc(70px + env(safe-area-inset-bottom) + 1px)!important;
  background:#e4f1e9!important;border-color:#c9dfd2!important;
  box-shadow:0 4px 12px #0c2e2018!important;
}
#bulkToolbar .bulk-actions{min-height:35px!important;padding:1px 3px!important;background:#e4f1e9!important}
#bulkToolbar .bulk-actions button{min-height:34px!important;padding:1px 2px!important;background:transparent!important}
#bulkToolbar .bulk-selection-head{min-height:32px!important;height:32px!important}
#bulkToolbar #selectedTxTotal{font-size:11px!important}

.activity-month-label-wrap{
  position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;
  width:100%!important;min-width:0!important;height:42px!important;overflow:hidden!important;
}
.activity-month-label-wrap #activityMonthLabel{
  display:block!important;margin:0!important;text-align:center!important;white-space:nowrap!important;
  pointer-events:none!important;
}
.activity-month-label-wrap .activity-month-picker-input{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  opacity:.01!important;pointer-events:auto!important;z-index:2!important;
}


/* Build 22: remove the full-width Activity month/action panel */
.activity-month-row{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  border-radius:0!important;
  padding:0!important;
  margin:0 0 10px!important;
  min-height:44px!important;
}
/* Keep only the individual controls visibly surfaced */
.activity-month-row>button:not(.activity-add-btn){
  background:var(--surface,#fff)!important;
  border:1px solid var(--line)!important;
}
.activity-month-row .activity-month-label-wrap{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.activity-month-row .activity-add-btn{
  box-shadow:none!important;
}


/* Build 24: privacy lock and clearly separated import groups */
.biometric-locked .app-shell{visibility:hidden!important;pointer-events:none!important}
.biometric-lock{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:24px;background:var(--bg,#f3f7f4);color:var(--text,#183b32)}
.biometric-lock[hidden]{display:none!important}
.biometric-lock-card{width:min(100%,440px);padding:32px 24px;border:1px solid var(--border,#dce8e1);border-radius:24px;background:var(--card,#fff);text-align:center;box-shadow:0 16px 48px rgba(0,0,0,.12)}
.biometric-lock-card .brand-mark{margin:0 auto 22px}
.biometric-lock-card h1{font-size:26px;margin:0 0 10px}
.biometric-lock-card p{color:var(--muted,#82938b);line-height:1.5}
.biometric-lock-card .primary-btn{width:100%;margin-top:18px;white-space:normal}
#biometricLockStatus{min-height:20px}
.settings-group .hint{line-height:1.5}
#biometricUnlockToggle{width:22px;height:22px;accent-color:var(--accent,#176d54)}
