:root{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","PingFang SC",sans-serif;color:#25324b;background:#eff3f9;font-synthesis:none;font-size:14px}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}h1,h2,h3,p{margin:0}h1{font-size:19px;letter-spacing:-.035em}h2{font-size:24px;letter-spacing:-.045em}h3{font-size:16px;letter-spacing:-.03em}p{line-height:1.65}.app-shell{max-width:1570px;margin:auto;padding:26px 28px 30px}.app-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:27px}.brand{display:flex;align-items:center;gap:12px}.brand-mark{height:42px;width:42px;display:grid;place-items:center;background:#3267d6;color:white;font-size:19px;font-weight:780;border-radius:14px;box-shadow:0 5px 14px #3267d62b}.brand p{font-size:11px;color:#8090a4;margin-top:3px}.state-pill{border:1px solid #e0e5ed;background:#fff;border-radius:20px;padding:9px 13px;font-size:12px;color:#65748b;display:flex;align-items:center;gap:8px}.state-dot{width:7px;height:7px;border-radius:100%;background:#c99b3a}.state-dot.ok{background:#2da687}.state-dot.offline{background:#d0954c}.page-layout{display:grid;grid-template-columns:170px minmax(0,1fr) 344px;align-items:start;gap:23px}.side-nav{display:flex;flex-direction:column;gap:5px;position:sticky;top:20px;padding-top:4px}.nav-item{border:0;background:transparent;border-radius:13px;color:#6b7891;text-align:left;padding:13px 15px;font-weight:600}.nav-item span{font-size:17px;margin-right:11px}.nav-item.selected{background:#e3eaf9;color:#2e5eca}.nav-note{border-top:1px solid #dbe2ee;color:#8b98a9;font-size:11px;line-height:1.8;margin:18px 9px 0;padding-top:18px}.page-content{min-width:0}.view.hidden{display:none}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:3px 0 19px}.eyebrow{font-size:10px;color:#95a2b5;font-weight:800;letter-spacing:.14em;margin-bottom:6px}.banner{background:#fff7e7;color:#8d692f;border:1px solid #f1e2bd;padding:12px 15px;border-radius:13px;margin-bottom:17px;font-size:12px;line-height:1.65}.banner.live{background:#eaf9f2;color:#1b795a;border-color:#c7edd9}.card{border:1px solid #e4e9f1;background:#fff;box-shadow:0 8px 32px #263a6405;border-radius:19px;padding:22px;margin-bottom:17px;min-width:0}.card-dark{background:linear-gradient(133deg,#23375b,#1e2a47);color:#fff;border:0}.cards-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.metric-label{font-size:12px;color:#78879e;font-weight:620}.card-dark .metric-label{color:#bdc9e2}.metric-xl{font-size:35px;letter-spacing:-.065em;font-weight:730;margin:24px 0 16px;font-variant-numeric:tabular-nums}.metric-md{font-size:25px;font-weight:730;margin:16px 0 9px;letter-spacing:-.045em;font-variant-numeric:tabular-nums}.metric-hint,.disclaimer{font-size:11px;color:#8996a9;line-height:1.6}.card-dark .metric-hint{color:#bac8e3}.positive{color:#148a68}.card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}.card-head small,.minor{font-size:11px;color:#8794a6;line-height:1.7}.row-between{display:flex;align-items:center;justify-content:space-between;gap:8px}.label-mini{font-size:11px;color:#96a0af}.savings-item b{font-size:13px}.savings-amount{font-size:24px;letter-spacing:-.045em;display:block;margin:13px 0}.track{height:9px;border-radius:20px;background:#ebeff7;overflow:hidden}.fill{height:100%;background:#4478dc;width:0}.muted-fill{width:0}.hairline{height:1px;background:#edf0f6;margin:19px 0}.savings-item .minor{margin-top:9px}.empty-state{color:#8493aa;background:#f7f9fc;border:1px dashed #e0e7f1;border-radius:13px;padding:24px 16px;text-align:center;font-size:12px}.text-button{border:0;background:none;color:#4778cf;font-size:12px;font-weight:600}.sticky-entry{position:sticky;top:18px}.segmented{display:flex;background:#f0f3f8;border-radius:12px;padding:4px;gap:2px;margin:12px 0 23px}.segmented button{flex:1;min-width:0;border:0;background:transparent;color:#7b8799;border-radius:9px;padding:10px 2px;font-size:12px;font-weight:600}.segmented button.on{background:#fff;color:#2d5dcc;box-shadow:0 1px 5px #0000000d}.form-group{margin-bottom:17px}.form-group[hidden]{display:none}.form-group label{display:block;font-size:12px;color:#65738a;margin-bottom:8px;font-weight:600}.form-group input,.form-group select,.filters input,.filters select{border:1px solid #dce3ee;border-radius:11px;width:100%;height:43px;padding:0 12px;background:#fff;color:#2e3b52;outline:none;min-width:0}.form-group input:focus,.form-group select:focus,.filters input:focus{border-color:#6b98e9;box-shadow:0 0 0 3px #ebf1ff}.money-input{display:flex;align-items:center;border:1px solid #dce3ee;border-radius:12px;padding:0 12px;gap:8px}.money-input input{border:0!important;box-shadow:none!important;height:65px;font-size:28px;letter-spacing:-.05em;font-weight:700;padding:0}.money-input span{font-size:22px;font-weight:600}.primary-button,.outline-button,.subtle-button{border:1px solid transparent;border-radius:11px;font-weight:670;font-size:12px;padding:12px 14px}.primary-button{background:#3567d6;color:#fff}.primary-button:hover{background:#2d59bd}.primary-button.large{width:100%;font-size:14px;padding:16px}.outline-button,.subtle-button{background:#fff;color:#50637f;border-color:#dce3ec}.form-help{font-size:11px;line-height:1.75;color:#91a0b3;margin-top:12px}.transaction-list{display:flex;flex-direction:column}.transaction-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 0;border-bottom:1px solid #eef1f5}.transaction-row:last-child{border-bottom:0}.tx-main{min-width:0}.tx-name{font-size:12px;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tx-sub{font-size:10px;color:#91a0b3;margin-top:5px;line-height:1.6}.tx-money{font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.tx-money.negative{color:#c45a63}.tx-money.positive{color:#188c69}.filters{display:flex;gap:10px;margin:0 0 10px}.filters input{flex:1}.filters select{width:145px}.account-row,.setting-line{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #eef0f5;padding:14px 0}.account-row:last-child,.setting-line:last-child{border:0}.account-row strong{font-size:13px;white-space:nowrap}.account-row .minor{font-size:10px}.setting-line span{font-size:12px;color:#627089}.setting-line b{font-size:11px;color:#536786}.count-pill{padding:5px 9px;font-size:11px;border-radius:20px;color:#607492;background:#f0f4fa}.button-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:15px}.button-grid button{font-size:11px;line-height:1.3}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,16px);max-width:min(490px,calc(100vw - 25px));background:#24334b;color:white;border-radius:12px;box-shadow:0 14px 36px #222e4b36;padding:13px 18px;font-size:12px;line-height:1.65;opacity:0;pointer-events:none;transition:.22s;z-index:11}.toast.show{opacity:1;transform:translate(-50%,0)}.toast.error{background:#ad4e58}.nav-item:focus-visible,button:focus-visible{outline:3px solid #b6cdfb;outline-offset:2px}footer{font-size:11px;color:#a0abb9;text-align:center;padding:17px}
@media(max-width:1250px){.page-layout{grid-template-columns:140px minmax(0,1fr) 320px;gap:15px}.app-shell{padding:20px}.card{padding:18px}}@media(max-width:960px){.page-layout{grid-template-columns:1fr;gap:15px}.side-nav{position:static;display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.side-nav .nav-item{text-align:center;font-size:12px;padding:12px 5px}.side-nav .nav-item span{display:block;margin:0 0 4px}.nav-note{display:none}.entry-column{grid-row:2}.sticky-entry{position:static}.page-content{grid-row:3}}@media(max-width:560px){.app-shell{padding:16px 12px 40px}.app-header{margin-bottom:17px}.brand-mark{width:37px;height:37px;border-radius:11px}.brand h1{font-size:17px}.brand p{font-size:10px}.state-pill{font-size:10px;padding:8px 9px}.cards-two{gap:10px}.cards-two .card{padding:16px}.metric-xl{font-size:26px;margin:18px 0 12px}.metric-md{font-size:21px}.card{border-radius:17px;padding:18px;margin-bottom:13px}.section-heading h2{font-size:22px}.button-grid{grid-template-columns:1fr}.filters{flex-direction:column}.filters select{width:100%}.state-pill{max-width:155px}.state-pill span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Alpha 2 — compact dashboard / anchored bottom navigation */
.app-shell{max-width:920px;padding:24px 24px calc(104px + env(safe-area-inset-bottom,0px))}
.app-header{margin-bottom:20px}
.page-layout{display:block}
.page-content{max-width:800px;margin:0 auto}
.section-heading{margin-bottom:15px}
.balance-card{padding:22px}
.balance-card .savings-amount{font-size:35px;margin:12px 0 18px}
.balance-divider{height:1px;background:#edf0f6;margin:19px 0 14px}
.today-inline{font-size:13px;color:#65738a;margin-bottom:5px}
.today-inline strong{color:#263952;font-size:17px;font-variant-numeric:tabular-nums}
.track{height:10px;width:100%}
.balance-card .minor{margin-top:10px}
.savings-item .minor{margin-top:10px}
.savings-amount{margin:12px 0 16px}
.side-nav{position:fixed;top:auto;left:50%;bottom:calc(12px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;width:min(600px,calc(100% - 28px));gap:5px;border:1px solid #e0e6ee;border-radius:19px;background:#fffffffa;padding:8px;box-shadow:0 8px 36px #263a6426;z-index:20;backdrop-filter:blur(16px)}
.side-nav .nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;text-align:center;font-size:11px;padding:9px 3px 8px;line-height:1.25;border-radius:12px}
.side-nav .nav-item span{font-size:19px;margin:0;line-height:1}
.side-nav .nav-item.selected{background:#e8eefc}
.side-nav .nav-add{background:#3267d6;color:#fff}
.side-nav .nav-add span{font-size:23px}
.side-nav .nav-add:hover{background:#2859c2}
.nav-note{display:none}
.entry-backdrop{display:none;position:fixed;inset:0;background:#17233d8c;z-index:30}
.entry-column{display:none;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(500px,calc(100vw - 28px));max-height:calc(100dvh - 36px);overflow-y:auto;overscroll-behavior:contain;z-index:31}
body.entry-open{overflow:hidden}
body.entry-open .entry-column,body.entry-open .entry-backdrop{display:block}
.sticky-entry{position:static;margin:0;box-shadow:0 14px 50px #17233d30}
.close-entry{border:0;background:#f0f3f8;color:#53627c;border-radius:12px;width:35px;height:35px;display:grid;place-items:center;font-size:25px;line-height:1}
.close-entry:hover{background:#e0e7f3}
.toast{bottom:calc(100px + env(safe-area-inset-bottom,0px));z-index:40}
@media(max-width:960px){.page-layout{display:block}.page-content{max-width:800px;margin:0 auto}.side-nav{position:fixed;top:auto;bottom:calc(12px + env(safe-area-inset-bottom,0px));display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}.entry-column{grid-row:auto}.sticky-entry{position:static}}
@media(max-width:560px){.app-shell{padding:16px 12px calc(104px + env(safe-area-inset-bottom,0px))}.brand-mark{width:37px;height:37px}.balance-card .savings-amount{font-size:30px}.side-nav{width:calc(100% - 16px);bottom:calc(6px + env(safe-area-inset-bottom,0px));padding:6px;border-radius:16px}.side-nav .nav-item{font-size:10px;padding:9px 2px}.card{margin-bottom:12px}.entry-column{left:0;bottom:0;top:auto;transform:none;max-height:92dvh;width:100%;border-radius:22px 22px 0 0}.entry-column .card{border-radius:22px 22px 0 0;margin-bottom:0;padding-bottom:calc(20px + env(safe-area-inset-bottom,0px))}}

/* Alpha 4 · configuration forms below account list (home unchanged) */
.settings-field{display:flex;flex-direction:column;gap:7px;margin:15px 0}
.settings-field label{font-weight:600;color:#39475f;font-size:12px}
.settings-field input{max-width:320px;width:100%;border:1px solid #d6deeb;border-radius:12px;background:#fff;padding:12px 13px;color:#263950;outline-offset:2px}
.opening-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px}
.opening-fields .settings-field{margin:10px 0}
.opening-fields input{max-width:none}
@media(max-width:560px){.opening-fields{grid-template-columns:1fr}}

/* Alpha 4.1 — dashboard presentation only; transaction/Numbers logic unchanged */
.today-primary h3{font-size:14px;color:#60718a;font-weight:650}
.today-amount{display:block;margin:12px 0 5px;font-size:40px;line-height:1.16;letter-spacing:-.055em;font-weight:750;color:#24344c;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.today-primary .metric-hint{margin-top:8px}
.balance-card .balance-divider{margin:22px 0 21px}
.balance-card .available-section .savings-amount{font-size:27px;margin:12px 0 15px}
.balance-card .available-section .track{height:10px}
@media(max-width:560px){.today-amount{font-size:36px}.balance-card .available-section .savings-amount{font-size:25px}}

/* Alpha 5 · Account reconciliation: confined to the Accounts page; dashboard unchanged. */
.reconcile-info{background:#f4f7fc;color:#56657d;border-radius:12px;padding:12px 14px;font-size:12px;line-height:1.8;white-space:pre-line;overflow-wrap:anywhere}
#reconcileAccount{width:100%;max-width:330px;padding:12px;border:1px solid #d6deeb;background:#fff;border-radius:12px;color:#263950}
.account-row .account-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.account-row .mini-action{background:#f5f8fd;border:1px solid #e2e8f1;border-radius:8px;padding:6px 10px;font-size:11px;color:#4266a6}
.account-row .account-meta{margin-top:5px;color:#8593a5;font-size:10px}
@media(max-width:560px){.account-row .account-actions{gap:6px}.account-row .mini-action{padding:6px}}

/* Alpha 7 · budgets live only in the Data view; keep the compact dashboard unchanged. */
#budgetCurrency{width:100%;max-width:320px;padding:12px;border:1px solid #d6deeb;border-radius:12px;color:#263950;background:#fff}
.budget-help{margin-top:12px}
.budget-fields{margin:12px 0;display:flex;flex-direction:column;gap:2px}
.budget-line{padding:12px 0;border-bottom:1px solid #edf0f5}
.budget-line-top{display:flex;justify-content:space-between;align-items:center;gap:12px}
.budget-line-top label{font-weight:650;font-size:13px;color:#364862}
.budget-line-top input{width:145px;max-width:48%;border:1px solid #dce3ee;border-radius:11px;padding:11px 12px;background:white;color:#263950;text-align:right}
.budget-progress{background:#e9edf4;border-radius:20px;height:8px;margin:9px 0 5px;overflow:hidden}
.budget-progress-fill{height:100%;background:#4478dc;width:0}
.budget-progress-fill.warn{background:#d08d32}
.budget-progress-fill.over{background:#c65e65}
.budget-line-detail{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:#7a889f}
.budget-total{background:#f2f6fc;border-radius:12px;padding:12px 14px;margin:16px 0;color:#4d607c;font-size:12px;line-height:1.65}
