:root{color:#172a42;font-synthesis:none;--ink:#172a42;--muted:#64758a;--line:#dde5ee;--green:#087a61;--navy:#12243a;background:#f3f6fa;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{outline-offset:4px}button,a{touch-action:manipulation}button{cursor:pointer;border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:9px;padding:10px 15px;font-weight:550}button:hover{background:#eaf1f6}button:disabled{opacity:.55;cursor:not-allowed}a{color:#086d9f;text-decoration:none}a:hover{text-decoration:underline}input,textarea,select{min-width:0;color:var(--ink);background:#fff;border:1px solid #ced8e4;border-radius:8px;padding:10px 12px}label{color:var(--muted);gap:7px;font-size:.875rem;display:grid}h1,h2,h3,p{margin:0}h1{letter-spacing:-1px;font-size:2rem}h2{letter-spacing:-.3px;font-size:1.15rem}h3{font-size:1rem}p{line-height:1.6}.muted,small{color:var(--muted)}small{font-size:.8125rem}.shell{grid-template-columns:226px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--navy);color:#d5dfec;flex-direction:column;align-self:start;gap:30px;height:100dvh;padding:32px 20px;display:flex;position:sticky;top:0;overflow-y:auto}.brand{letter-spacing:-.7px;color:inherit;align-items:center;gap:10px;font-size:1.5rem;font-weight:700;display:flex}.brand img{width:34px}.sidebar nav{gap:7px;display:grid}.nav{text-align:left;color:#aebed0;background:0 0;border:0;padding:12px 15px;font-size:.9375rem}.nav.active{color:#b3f4e1;background:#254255}.nav:hover{color:#fff;background:#20394f}.sidebar footer{color:#96a8be;margin-top:auto;padding:10px;font-size:.8125rem;line-height:1.8}.sidebar footer strong{color:#dce6ef}.main{width:100%;max-width:1700px;margin:0 auto;padding:34px 40px}.topbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:30px;display:flex}.eyebrow{letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin-bottom:8px;font-size:.75rem;font-weight:700}.actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.primary{background:var(--navy);color:#fff;border-color:var(--navy)}.primary:hover{background:#26455f}.accent{color:#113e35;background:#8ee6cb;border-color:#8ee6cb}.subline{color:var(--muted);margin-top:8px;font-size:.875rem}.banner{color:#285a76;background:#e4f3fb;border:1px solid #b9ddef;border-radius:10px;margin-bottom:24px;padding:12px 18px;font-size:.875rem;line-height:1.55}.stats{grid-template-columns:1.35fr 1fr 1fr;gap:18px;margin-bottom:24px;display:grid}.card{border:1px solid var(--line);background:#fff;border-radius:14px;padding:24px}.stat.featured{background:var(--navy);color:#fff;border-color:var(--navy)}.stat .label{color:var(--muted);font-size:.875rem}.stat.featured .label,.stat.featured small{color:#bbcfdf}.stat .value{letter-spacing:-1px;font-variant-numeric:tabular-nums;margin:16px 0 8px;font-size:2.1rem;font-weight:650}.stat small{line-height:1.5;display:block}.positive{color:var(--green)}.negative{color:#ae4f40}.grid{grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);gap:22px;margin-bottom:24px;display:grid}.section-head{justify-content:space-between;align-items:center;gap:14px;margin-bottom:20px;display:flex}.account{border-top:1px solid var(--line);justify-content:space-between;gap:14px;padding:17px 0;display:flex}.account:first-of-type{border-top:0}.account h3{margin-bottom:6px}.account small{margin-top:4px;display:block}.account strong{font-variant-numeric:tabular-nums}.bank-icon{background:#e9f0f8;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:.75rem;font-weight:800;display:flex}.account-name{gap:12px;display:flex}.right{text-align:right}.badge{color:#52677c;white-space:nowrap;background:#edf3f8;border-radius:5px;padding:4px 8px;font-size:.75rem;display:inline-block}.badge.warn{color:#865717;background:#fff2d6}.badge.good{color:#127354;background:#e1f5ed}.bars{align-items:flex-end;gap:14px;height:155px;padding-top:15px;display:flex}.bar-group{flex:1;align-items:flex-end;gap:4px;height:100%;padding-bottom:24px;display:flex;position:relative}.bar{background:#43b99b;border-radius:4px 4px 0 0;width:50%;min-height:2px}.bar.debit{background:#b8c9dc}.bar-label{text-align:center;width:100%;color:var(--muted);font-size:.75rem;position:absolute;bottom:0}.legend{color:var(--muted);gap:18px;font-size:.8125rem;display:flex}.legend i{background:#43b99b;border-radius:2px;width:9px;height:9px;margin-right:6px;display:inline-block}.legend i.out{background:#b8c9dc}.filters{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.filters input[type=search]{flex:1;min-width:160px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:.875rem}th{text-align:left;letter-spacing:.6px;text-transform:uppercase;color:var(--muted);white-space:nowrap;background:#f7f9fc;padding:14px 12px;font-size:.75rem;font-weight:650}td{border-bottom:1px solid #edf1f6;padding:17px 12px}td small{margin-top:5px;display:block}td.amount,th.amount{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}td strong{font-weight:600}tr:last-child td{border-bottom:0}.table-foot{justify-content:space-between;align-items:center;gap:10px;margin-top:16px;display:flex}.empty{text-align:center;color:var(--muted);padding:45px 16px;line-height:1.7}.empty h3{color:var(--ink);margin-bottom:8px}.stack{gap:18px;display:grid}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.full{grid-column:1/-1}.login{max-width:470px;margin:12vh auto;padding:36px}.login .brand{margin-bottom:35px}.login h1{font-size:1.8rem}.login p{color:var(--muted);margin:14px 0 25px}.login form{gap:18px;display:grid}.login .demo{width:100%;margin-top:18px}#toast{background:var(--navy);color:#fff;z-index:10;border-radius:10px;max-width:90vw;padding:14px 22px;display:none;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 8px 30px #142a4430}#toast.visible{display:block}.error{color:#ab3e36;font-size:.875rem}.progress{background:#e8eef4;border-radius:5px;height:7px;margin:14px 0;overflow:hidden}.progress span{background:#38aa90;height:100%;display:block}.settings-row{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:18px 0;display:flex}.check{align-items:center;gap:8px;display:flex}.notice{color:#806125;background:#fff7e5;border-radius:8px;padding:12px;font-size:.875rem;line-height:1.6}dialog{border:1px solid var(--line);border-radius:16px;width:calc(100% - 32px);max-width:600px;padding:28px}dialog::backdrop{background:#10283b80}.details{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.875rem;line-height:1.8}.mt{margin-top:20px}.metric-note{color:var(--muted);margin-top:24px;font-size:.8125rem;line-height:1.6}@media (width>=1500px){.main{padding:40px 60px}}@media (width<=1100px){.shell{grid-template-columns:190px minmax(0,1fr)}.main{padding:25px}.stats{gap:12px}.stat .value{font-size:1.65rem}.grid{grid-template-columns:1fr}}@media (width<=760px){.shell{display:block}.sidebar{gap:16px;height:auto;padding:16px;position:static;overflow-y:visible}.sidebar nav{gap:5px;display:flex;overflow:auto}.nav{white-space:nowrap;padding:8px 10px;font-size:.875rem}.sidebar footer{display:none}.main{padding:22px 16px}.topbar{flex-direction:column;align-items:flex-start}.stats{grid-template-columns:1fr}.stat .value{margin:12px 0;font-size:2rem}.card{padding:20px}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.login{margin:8vh 16px}.actions{width:100%}.actions select{flex:1}.section-head,.table-foot{flex-wrap:wrap}}.lifetime{margin-bottom:24px}.lifetime-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.lifetime-metrics .muted{font-size:.875rem;line-height:1.5}.lifetime-metrics strong{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin-top:12px;font-size:1.75rem;display:block}@media (width<=760px){.lifetime-metrics{grid-template-columns:1fr}}.sidebar .nav{border-radius:9px;text-decoration:none;display:block}.review-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-top:20px;font-size:.875rem;display:flex}.review-checkbox{align-self:flex-start;padding-top:3px}.review-description{overflow-wrap:anywhere;flex:1;min-width:0}.review-item{align-items:flex-start}.review-item input[type=checkbox],.review-toolbar input[type=checkbox]{width:18px;height:18px;accent-color:var(--green)}.money-flow{background:#fff;border:1px solid #ced8e4;border-radius:8px;align-items:center;gap:14px;margin:0;padding:7px 12px 10px;display:flex}.money-flow legend{color:var(--muted);padding:0 4px;font-size:.75rem}.money-flow label{white-space:nowrap;color:var(--ink)}.money-flow input{width:17px;height:17px;accent-color:var(--green)}.filters{align-items:end}textarea{resize:vertical;width:100%}.transaction-note{white-space:pre-wrap;overflow-wrap:anywhere;max-width:32rem}.notification{justify-content:space-between;align-items:center;margin:1rem 0;display:flex}.import-progress{margin-bottom:20px}.import-progress progress,progress[aria-label=Starting\ import]{accent-color:#327965;width:100%;height:12px}.import-progress h2{margin-top:0}.import-progress button{margin-right:8px}body{line-height:1.5}button,input:not([type=checkbox]),select{min-height:42px}button{font-size:.875rem;line-height:1.4}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--green)}input[type=checkbox]{width:18px;height:18px;accent-color:var(--green);cursor:pointer;flex:0 0 18px;margin:0;padding:0}.check{min-height:42px;color:var(--ink);cursor:pointer}label{font-weight:500}label>input:not([type=checkbox]),label>select{width:100%}small{line-height:1.6}.card,.card>div,.topbar>div,.settings-row>div{min-width:0}.card>h2+p,.section-head h2+p{color:var(--muted);margin-top:6px;font-size:.875rem}.card>p+p{margin-top:12px}.card>p+button,.card>p+.settings-row{margin-top:18px}.card>h2+.legend{margin-top:12px}.card>h2+.account{margin-top:16px}.account{align-items:flex-start}.account>div:first-child{flex:1;min-width:0}.account h3,.settings-row h3,.settings-row strong{overflow-wrap:anywhere}.account>button,.account>.badge,.account .right{flex-shrink:0}.account .right a{margin-top:6px;font-size:.8125rem;display:inline-block}.settings-row{gap:16px;padding:20px 0}.settings-row:last-child{padding-bottom:0}.settings-row small{margin-top:6px;display:block}.settings-row .actions{width:auto}.settings-page{gap:24px}.account-editor{border-top:1px solid var(--line);gap:20px;margin-top:20px;padding:24px 0;display:grid}.account-editor+.account-editor{margin-top:0}.account-editor:last-child{padding-bottom:0}.account-identity{align-self:start;gap:6px;display:grid}.account-identity small{overflow-wrap:anywhere}.account-identity .badge{justify-self:start;margin-top:4px}.tracking-option{border:1px solid var(--line);background:#f7f9fc;border-radius:8px;gap:12px;padding:12px}.account-controls{grid-template-columns:minmax(0,1fr) minmax(260px,1fr) auto;align-items:end;gap:16px;display:grid}.tracking-field{gap:7px;display:grid}.field-label{color:var(--muted);font-size:.875rem;font-weight:500}.account-controls input:not([type=checkbox]),.account-controls .tracking-option,.account-controls>button{height:44px;min-height:44px}.account-controls input:not([type=checkbox]){font-weight:400}.account-controls .tracking-option{padding:0 12px;font-weight:400}.form-grid>button,form.stack>button{justify-self:start}.form-grid>button.full{grid-column:1/-1}.form-grid.mt{border-top:1px solid var(--line);padding-top:20px}.planning-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.filters{border:1px solid var(--line);background:#f7f9fc;border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:16px;margin-bottom:24px;padding:16px;display:grid}.filters input[type=search]{min-width:0}.money-flow{gap:16px;min-width:0;height:42px;margin:28px 0 0;padding:0 12px;position:relative}.money-flow legend{padding:0;font-size:.875rem;font-weight:500;position:absolute;top:-28px;left:0}.money-flow .check{font-weight:400}.review-toolbar{border:1px solid var(--line);background:#f7f9fc;border-radius:8px;margin-bottom:16px;padding:12px}.review-toolbar:empty{display:none}.review-item>input[type=checkbox]{margin-top:4px}.review-item p{margin-top:4px;font-size:.875rem}.badge{align-self:center;line-height:1.5}.notification{gap:16px}.notification button{flex-shrink:0}.import-progress>p{color:var(--muted);overflow-wrap:anywhere;margin-top:8px;font-size:.875rem}.import-progress>progress{margin-top:16px}.import-progress>small{margin-top:12px;display:block}.import-progress>button{margin-top:16px}input[type=file]{font-size:.875rem}input[type=file]::file-selector-button{color:var(--ink);font:inherit;background:#edf3f8;border:0;border-radius:5px;margin-right:12px;padding:6px 10px}dialog{color:var(--ink);max-height:calc(100dvh - 32px);overflow-y:auto;box-shadow:0 24px 80px #10283b33}dialog>.section-head{border-bottom:1px solid var(--line);padding-bottom:16px}.details{border:1px solid var(--line);background:#f7f9fc;border-radius:8px;padding:16px}.details>p{margin-top:8px}.table-wrap{border:1px solid var(--line);border-radius:8px}td{vertical-align:top}td:first-child{overflow-wrap:anywhere;min-width:200px}.stat .value{overflow-wrap:anywhere}@media (width<=1100px){.topbar{flex-direction:column;align-items:flex-start}.planning-grid{grid-template-columns:1fr}.filters{grid-template-columns:repeat(2,minmax(0,1fr))}.search-field{grid-column:1/-1}}@media (width<=760px){h1{letter-spacing:-.6px;font-size:1.65rem}.card{padding:20px}.topbar>.actions{grid-template-columns:1fr 1fr;display:grid}.topbar>.actions>select{grid-column:1/-1;width:100%}.account-editor{grid-template-columns:1fr;gap:16px}.account-controls{grid-template-columns:1fr}.account-controls>button{justify-self:start}.settings-row .actions{width:100%}.filters{gap:14px;padding:12px}.filters>.money-flow,.filters>label:nth-of-type(2){grid-column:1/-1}.account{flex-wrap:wrap}.account .right{flex-shrink:1}.lifetime-metrics{gap:20px}.lifetime-metrics>div+div{border-top:1px solid var(--line);padding-top:20px}dialog{padding:20px}}.badge.info{color:#285a76;background:#e4f3fb}.import-progress .section-head{align-items:flex-start}.import-progress .section-head .badge{flex-shrink:0;align-self:start}.import-metrics{border:1px solid var(--line);background:#f7f9fc;border-radius:10px;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;display:grid}.import-metrics>div{padding:16px 20px}.import-metrics>div+div{border-left:1px solid var(--line)}.import-metrics dt{color:var(--muted);font-size:.8125rem}.import-metrics dd{color:var(--ink);font-variant-numeric:tabular-nums;margin:6px 0 0;font-size:1.5rem;font-weight:650}.import-meta{flex-wrap:wrap;gap:16px 32px;margin-top:20px;display:flex}.import-meta p{gap:4px;font-size:.8125rem;display:grid}.import-meta span{color:var(--muted)}.import-meta strong{overflow-wrap:anywhere;font-weight:500}@media (width<=760px){.import-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.import-metrics>div{padding:12px}.import-metrics>div:nth-child(3){border-left:0}.import-metrics>div:nth-child(n+3){border-top:1px solid var(--line)}}.filters .search-field{grid-column:1/-1}.filters label>input,.filters label>select{font-weight:400}@media (width<=760px){.sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:visible}.sidebar .nav{white-space:normal}}form.stack>label+small{margin-top:-12px}.form-grid label>input,.form-grid label>select{font-weight:400}.notification{color:#285a76;background:#e4f3fb;border:1px solid #b9ddef;padding:12px 16px}.import-progress progress{appearance:none;background:#e8eef4;border:0;border-radius:6px;margin:0 0 20px;display:block;overflow:hidden}.import-progress progress::-webkit-progress-bar{background:#e8eef4;border-radius:6px}.import-progress progress:indeterminate::-webkit-progress-bar{background:linear-gradient(90deg,#e8eef4 0% 30%,#38aa90 50%,#e8eef4 70% 100%) 0 0/200% 100%;animation:2s linear infinite import-pulse}@keyframes import-pulse{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.import-progress progress:indeterminate::-webkit-progress-bar{animation:none}}.danger-outline{color:#a32d27;background:#fff;border-color:#e8b4b0}.danger-outline:hover{background:#fff0ef;border-color:#c7544c}.danger{color:#fff;background:#b42318;border-color:#b42318}.danger:hover{background:#912018;border-color:#912018}.modal-close{width:32px;height:32px;min-height:32px;color:var(--muted);background:0 0;border:0;flex:0 0 32px;justify-content:center;align-items:center;padding:0;display:inline-flex}.confirmation-modal{border-radius:14px;max-width:480px;padding:24px}.confirmation-modal>.section-head{border:0;gap:16px;margin-bottom:16px;padding:0}.confirmation-modal h2{font-size:1.125rem;line-height:1.4}.confirmation-description{color:var(--muted);font-size:.875rem;line-height:1.65}.confirmation-modal>.error{margin-top:12px}.confirmation-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:10px;margin-top:24px;padding-top:20px;display:flex}.confirmation-actions>button{min-height:42px}@media (width<=480px){.confirmation-modal{padding:20px}.confirmation-actions{flex-wrap:wrap}}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.transaction-filters{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:20px;display:flex}.transaction-filters>label{min-width:0}.transaction-filters .search-field{flex:180px}.transaction-filters input:not([type=checkbox]),.transaction-filters select{height:38px;min-height:38px;padding:8px 10px;font-size:.8125rem;font-weight:400}.transaction-filters .category-filter{flex:0 0 140px}.flow-filter{border:1px solid #ced8e4;border-radius:8px;flex:none;align-items:center;gap:12px;min-width:0;height:38px;margin:0;padding:0 10px;display:flex}.flow-filter .check{white-space:nowrap;gap:6px;min-height:36px;font-size:.8125rem;font-weight:400}.flow-filter input[type=checkbox]{flex-basis:16px;width:16px;height:16px}.transaction-filters .date-filter{background:#fff;border:1px solid #ced8e4;border-radius:8px;flex:0 0 164px;align-items:center;gap:6px;height:38px;padding-left:10px;font-size:.75rem;display:flex}.transaction-filters .date-filter input{background:0 0;border:0;width:100%;min-width:0;height:36px;min-height:36px;padding:6px}@media (width<=1100px){.transaction-filters .search-field{flex-basis:100%}}@media (width<=760px){.transaction-filters{gap:10px 8px}.transaction-filters .category-filter{flex:120px}.transaction-filters .date-filter{flex:140px}.transaction-filters{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.transaction-filters .search-field,.transaction-filters .flow-filter,.transaction-filters .category-filter{grid-column:1/-1}.transaction-filters .date-filter{gap:2px;padding-left:6px}}
