@font-face{font-family:system;src:local('Inter'),local('Helvetica Neue')}*{box-sizing:border-box}body{margin:0;background:#f5f7f8;color:#202e32;font:16px/1.5 system,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #61a897;outline-offset:3px}a{color:#216e61}h1,h2,h3,p{margin:0}h1{font-size:32px;letter-spacing:-1px;font-weight:650}h2{font-size:20px;letter-spacing:-.4px}h3{font-size:16px}small,.muted{color:#68787c}small{font-size:13px}.layout{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100vh}.sidebar{background:#fff;border-right:1px solid #e1e8ea;padding:32px 20px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;gap:12px;align-items:center;font-size:27px;font-weight:650;letter-spacing:-1px;margin:0 12px 42px}.brand img{width:38px;height:38px}.nav{display:grid;gap:6px}.nav button{background:transparent;border:0;border-radius:9px;text-align:left;padding:12px 14px;color:#65747a;display:flex;align-items:center;gap:12px;font-size:15px}.nav button.active{background:#eaf3f0;color:#174c41;font-weight:600}.nav svg{width:20px;height:20px}.nav .count{margin-left:auto;background:#d5e8e0;font-size:12px;border-radius:5px;padding:1px 6px}.side-footer{margin-top:auto;padding:24px 12px 0;font-size:13px;color:#718083}.side-footer strong{display:block;color:#354d49;font-weight:500}.main{padding:32px 44px 40px;max-width:1600px;width:100%;margin:auto}.topbar{display:flex;align-items:center;justify-content:space-between;padding-bottom:25px;border-bottom:1px solid #e0e7e8;margin-bottom:32px}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:1.6px;color:#70827f;margin-bottom:4px}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.btn{border:1px solid #d7e1e2;background:white;color:#334c49;border-radius:8px;padding:9px 16px;font-size:14px;font-weight:550;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}.btn svg{width:17px;height:17px}.btn.primary{background:#183f36;border-color:#183f36;color:#fff}.btn.danger{color:#a04444}.btn.soft{background:#eff5f2}.btn.small{padding:6px 11px;font-size:13px}.banner{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#e9f2e6;border:1px solid #d1e1ca;border-radius:10px;padding:14px 20px;margin-bottom:25px;font-size:14px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:28px}.metric,.panel{background:#fff;border:1px solid #e1e8e9;border-radius:12px}.metric{padding:22px 24px}.metric.featured{background:#193e36;color:white;border-color:#193e36;position:relative;overflow:hidden}.metric-label{font-size:14px;color:#6f7e82;margin-bottom:12px}.featured .metric-label,.featured small{color:#bdd0c8}.metric-value{font-size:29px;font-weight:550;letter-spacing:-1px;font-variant-numeric:tabular-nums;margin-bottom:8px}.metric small{display:block}.positive{color:#267564}.negative{color:#9a4e46}.featured .metric-value{color:#eef7e9}.grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,1fr);gap:24px;margin-bottom:24px}.panel{padding:24px;min-width:0}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px}.panel-head p{font-size:14px;margin-top:3px;color:#778488}.chart{display:flex;height:170px;gap:24px;align-items:end;padding:12px 5px 0}.chart-col{display:flex;flex:1;flex-direction:column;align-items:center;height:100%;justify-content:end;gap:10px}.chart-bars{height:130px;display:flex;gap:6px;align-items:end;width:100%;justify-content:center}.bar{width:23px;border-radius:4px 4px 0 0;min-height:2px}.bar.income{background:#2e7060}.bar.expense{background:#b8cfca}.chart-col small{font-size:12px}.legend{display:flex;gap:20px;font-size:13px;color:#6d7e7b}.legend span:before{content:'';display:inline-block;width:8px;height:8px;border-radius:2px;background:#2e7060;margin-right:7px}.legend span+span:before{background:#b8cfca}.account-line{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid #edf1f2}.account-line:last-child{border-bottom:0}.account-icon{width:39px;height:39px;background:#edf3f3;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#4a7269}.account-icon svg{width:20px;height:20px}.account-line .number{margin-left:auto;font-weight:550;font-size:15px}.account-line p{font-size:14px;font-weight:550}.account-line small{text-transform:capitalize}.link-button{border:0;background:transparent;color:#276a5b;padding:0;font-size:14px;cursor:pointer}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;color:#7e8b8f;font-size:12px;text-transform:uppercase;letter-spacing:.6px;font-weight:500;padding:12px 14px;background:#f8fafb;white-space:nowrap}td{padding:16px 14px;border-bottom:1px solid #edf1f3}td:first-child{padding-left:0}th:first-child{padding-left:0}tr:last-child td{border-bottom:0}.number{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.pill{display:inline-block;font-size:12px;border-radius:5px;padding:3px 8px;background:#f0f3f4;color:#5f7476;white-space:nowrap}.pill.transfer{background:#e7f1ec;color:#27715b}.pill.warn{background:#fff2da;color:#916326}.toolbar{display:flex;gap:12px;margin-bottom:20px;align-items:center;flex-wrap:wrap}input,select{border:1px solid #d7e1e3;border-radius:7px;padding:9px 11px;background:#fff;color:#344b4c;max-width:100%;min-width:0;font-size:14px}input[type=search]{flex:1;min-width:180px}input[type=checkbox]{accent-color:#276f5d;width:17px;height:17px}.empty{padding:40px 20px;text-align:center}.empty svg{width:42px;height:42px;color:#41786b;margin-bottom:14px}.empty p{max-width:460px;margin:8px auto 22px;color:#7b898d;font-size:15px}.account-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.account-card .metric-value{margin-top:24px}.account-card .actions{border-top:1px solid #e7eeee;margin-top:20px;padding-top:16px}.match{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:center;padding:20px;background:#f8faf9;border:1px solid #e0e9e6;border-radius:10px;margin:15px 0}.match .bridge{text-align:center;color:#6f8680;font-size:12px}.match p{font-size:15px;font-weight:550}.match small{display:block}.match-amount{font-size:21px;letter-spacing:-.6px;font-weight:550;margin:7px 0}.match-actions{display:flex;gap:10px;justify-content:flex-end}.match-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px;font-size:13px;color:#778584}.progress{height:7px;background:#edf2f2;border-radius:10px;overflow:hidden;margin:14px 0 8px}.progress>div{height:100%;background:#538f7c;border-radius:10px}.progress.over>div{background:#c77763}.budget-row{padding:18px 0;border-bottom:1px solid #edf1f3}.budget-top{display:flex;justify-content:space-between;gap:20px}.budget-row input{width:120px;text-align:right}.budget-row .budget-meta{display:flex;justify-content:space-between;color:#71837f;font-size:13px}dialog{border:1px solid #dce6e3;border-radius:16px;padding:28px;width:min(720px,calc(100vw - 32px));max-height:90vh;box-shadow:0 24px 100px #122f3540;color:#203b36}dialog::backdrop{background:#14332f66;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.close{border:0;background:#eef3f2;width:32px;height:32px;border-radius:50%;font-size:20px;color:#527269}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:7px;font-size:14px}.field.full{grid-column:1/-1}.field small{font-size:12px}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:28px}.notice{padding:13px 16px;background:#f0f5f4;border-radius:8px;font-size:14px;color:#5b7770;margin:16px 0}.error{background:#fff0ec;color:#975644}.import-zone{border:1px dashed #9eb8af;border-radius:12px;padding:30px;text-align:center;margin-top:20px;background:#f8faf9}.import-zone input{display:block;margin:18px auto 0;max-width:100%}.preview{max-height:260px;overflow:auto}.preview td{padding:10px 12px}.stats-line{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.stats-line span{background:#eef4f1;padding:7px 12px;border-radius:7px;font-size:14px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#163d33;color:white;padding:12px 20px;border-radius:9px;box-shadow:0 5px 25px #173d3326;display:none;z-index:10;max-width:90vw;font-size:14px}.loading{padding:50px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.settings-grid p{font-size:14px;color:#6d827b;margin:10px 0 20px}.statement-summary{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-top:20px}.statement-summary>div{padding:15px;background:#eef5f2;border-radius:8px}.statement-summary strong{display:block;font-size:19px;margin-top:5px}.demo-mark{color:#58756e;font-size:12px;margin-top:4px}.meta-line{display:flex;gap:20px;align-items:center;justify-content:space-between;font-size:13px;color:#72827d;margin-top:16px}.full-width{grid-column:1/-1}.intro-card{background:#193e36;color:white;border-radius:14px;padding:38px;margin-bottom:28px;display:flex;align-items:center;justify-content:space-between;gap:30px}.intro-card p{color:#c1d4ca;margin:10px 0 22px;max-width:520px}.intro-card h2{font-size:27px}.intro-card .btn.primary{background:#d0eaaa;color:#1d493b;border-color:#d0eaaa}.intro-art{display:flex;gap:12px;align-items:end;height:140px;min-width:180px}.intro-art span{background:#467e66;width:40px;border-radius:7px;height:50%}.intro-art span:nth-child(2){height:75%;background:#74a984}.intro-art span:nth-child(3){height:100%;background:#c9e49e}
.bridge svg{width:26px;height:26px}.import-zone>svg{width:36px;height:36px}.budget-top label{font-size:14px;color:#607973}
.workspace-controls{margin:0 10px 24px}.workspace-controls select{width:100%}.workspace-controls .meta-line{gap:10px;font-size:12px}.workspace-controls .link-button{font-size:12px}.auth-shell{max-width:570px;margin:70px auto;padding:0 20px}.auth-brand{display:flex;align-items:center;gap:12px;font-size:30px;font-weight:600;margin-bottom:30px}.auth-brand img{width:44px;height:44px}.auth-shell .panel{padding:30px}.auth-shell h1{font-size:28px;margin-bottom:15px}.auth-shell .notice{margin-top:24px}
@media(min-width:1500px){.main{padding:36px 56px}}@media(max-width:1100px){.main{padding:28px}.layout{grid-template-columns:200px minmax(0,1fr)}.metrics{gap:12px}.metric{padding:18px}.metric-value{font-size:24px}.account-grid{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}.sidebar{padding:28px 12px}.brand{margin-bottom:30px}}@media(max-width:760px){.layout{display:block}.sidebar{position:static;height:auto;padding:15px 18px;border-right:0;border-bottom:1px solid #e1e8ea}.brand{margin:0 0 15px;font-size:24px}.brand img{width:30px;height:30px}.nav{display:flex;overflow:auto;gap:5px}.nav button{font-size:13px;padding:8px 10px;white-space:nowrap;gap:6px}.nav svg{width:16px;height:16px}.side-footer{display:none}.main{padding:22px 18px}.topbar{align-items:start;gap:16px;flex-wrap:wrap;margin-bottom:22px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-value{font-size:23px}.metric{padding:16px}.panel{padding:18px}.account-grid,.settings-grid{grid-template-columns:1fr}.intro-card{padding:26px}.intro-art{display:none}.match{grid-template-columns:1fr 1fr;gap:12px}.match .bridge{grid-column:1/-1;grid-row:2}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.statement-summary{grid-template-columns:1fr}.banner{align-items:start;flex-direction:column}.match-meta{align-items:start;flex-direction:column}.chart{gap:12px}.nav .count{margin-left:0}h1{font-size:28px}}@media(prefers-reduced-motion:no-preference){.panel,.metric{animation:arrive .25s ease-out}@keyframes arrive{from{opacity:.5;transform:translateY(4px)}to{opacity:1;transform:none}}}
.calendar-scroll{overflow:auto;margin-top:20px}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));min-width:910px;border:1px solid #dce6df;border-radius:10px;overflow:hidden}.weekday{padding:12px;background:#edf3ee;font-size:12px;font-weight:600;color:#527367;text-align:center}.calendar-cell{min-height:175px;padding:10px;border-top:1px solid #dce6df;border-right:1px solid #dce6df;display:flex;flex-direction:column;gap:5px}.calendar-cell.outside{background:#f5f7f4;color:#88958e}.calendar-cell.today{box-shadow:inset 0 0 0 2px #477d60}.day-heading{background:none;border:0;text-align:left;display:flex;justify-content:space-between;gap:4px;color:inherit;font-size:15px;cursor:pointer;padding:0 0 8px;font-weight:600}.day-heading small{font-size:10px;font-weight:400}.calendar-entry{border:0;background:#edf3ee;padding:6px;border-radius:4px;cursor:pointer;text-align:left;font-size:11px;display:flex;flex-direction:column;gap:2px;color:#334f43;width:100%;overflow:hidden}.calendar-entry span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-entry strong{font-size:11px}.day-balance{margin-top:auto;padding-top:10px;display:flex;flex-direction:column;font-size:12px;gap:3px}.day-balance small{font-size:10px;color:#73867b}.balance-graph{width:100%;height:auto;max-height:300px}.balance-graph text{fill:#718278;font-size:12px}.category-node{padding:14px 0;border-bottom:1px solid #e5ebe6}.category-node summary{cursor:pointer;font-weight:600;margin-bottom:10px}.category-children{padding-left:24px;border-left:2px solid #e6eee8}.category-line{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.category-line strong{margin-left:auto;font-size:13px}.category-line small{color:#819288}.category-line .link-button{max-width:50%;text-align:left}.category-node .progress{margin-top:10px;height:5px}
.calendar-entry.predicted{border:1px dashed #967043;background:#faf3e8;color:#846341}

.account-label{display:inline-flex;align-items:center;gap:8px}.account-dot{display:inline-block;width:10px;height:10px;flex:0 0 10px;border-radius:50%;box-shadow:0 0 0 1px #0002}.account-legend{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin-top:16px}.account-legend button{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #e1e8e9;border-radius:8px;background:#f9fbfa;padding:12px;text-align:left;font-size:13px;color:#344b4c}.account-legend button:hover{background:#edf3ee}.account-legend strong{white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:550}.graph-help{font-size:13px;margin-top:8px}.calendar-entry{border-left:4px solid var(--account-color,#287b66)}.calendar-entry.predicted{border-left:4px solid var(--account-color,#287b66)}.calendar-entry small{font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}input[type=color]{width:80px;height:42px;padding:4px}.balance-graph{max-height:360px}

.calendar-entry{flex-direction:row;align-items:center;gap:6px;padding:4px 5px}.calendar-entry span{flex:1;min-width:0}.calendar-entry strong{flex-shrink:0;white-space:nowrap;font-variant-numeric:tabular-nums}.calendar-balance-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding:12px;background:#f7faf8;border-radius:8px;font-size:13px}.calendar-balance-toolbar>span{min-width:0}.balance-presets{margin:18px 0}.balance-choices{display:grid;gap:4px;max-height:45vh;overflow:auto}.balance-choices>label{display:flex;align-items:center;gap:12px;padding:9px;border-bottom:1px solid #edf1ef;font-size:14px;cursor:pointer}.balance-choices small{margin-left:auto}.day-balance small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:700px){.calendar-balance-toolbar{align-items:flex-start;flex-direction:column}}

.sidebar-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:30px}.sidebar-heading .brand{margin:0;gap:8px}.sidebar-toggle{border:1px solid #dce6e2;border-radius:7px;background:#f5f8f6;color:#355e51;width:28px;height:32px;flex-shrink:0;font-size:24px;line-height:1}.sidebar-collapsed{grid-template-columns:76px minmax(0,1fr)}.sidebar-collapsed .sidebar{padding:24px 10px}.sidebar-collapsed .sidebar-heading{flex-direction:column;gap:14px}.sidebar-collapsed .brand-name,.sidebar-collapsed .nav-label,.sidebar-collapsed .side-footer,.sidebar-collapsed .workspace-controls{display:none}.sidebar-collapsed .brand img{width:32px;height:32px}.sidebar-collapsed .nav button{justify-content:center;padding:12px 8px;position:relative}.sidebar-collapsed .nav .count{position:absolute;top:0;right:0;font-size:10px}.calendar-cell{container-type:inline-size;container-name:calendar-day;min-height:150px}.calendar-entry{flex-direction:column;align-items:stretch;gap:1px}.calendar-entry span{flex:auto}.calendar-entry strong{text-align:right}
@container calendar-day (min-width:125px){.calendar-entry{flex-direction:row;align-items:center;gap:6px}.calendar-entry span{flex:1}.calendar-entry strong{text-align:right}}
@media(max-width:760px){.sidebar-heading{margin-bottom:15px}.sidebar-collapsed{display:block}.sidebar-collapsed .sidebar{padding:15px 18px}.sidebar-collapsed .sidebar-heading{flex-direction:row}.sidebar-collapsed .nav button{padding:8px 10px}.sidebar-collapsed .nav .count{position:static}}
