:root{--ink:#1d2926;--muted:#7b8882;--green:#19644f;--green-dark:#153c35;--green-soft:#e7f2ec;--bg:#f5f6f3;--line:#e8ebe6;--white:#fff;--peach:#fbede5;--lav:#f0edfa;--shadow:0 10px 35px rgba(33,52,43,.045);font-family:'DM Sans',sans-serif;color:var(--ink);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-size:14px}button,input,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.sidebar{width:248px;background:var(--green-dark);color:#f5f8f4;position:fixed;inset:0 auto 0 0;padding:30px 18px 22px;display:flex;flex-direction:column;z-index:4}.brand{color:inherit;text-decoration:none;display:flex;align-items:center;gap:11px;padding:0 9px 34px}.brand strong{display:block;font:800 16px 'Manrope',sans-serif;letter-spacing:-.6px}.brand small{display:block;color:#a5c2b3;font-size:8px;letter-spacing:1.25px;margin-top:3px}.brand-mark{width:38px;height:38px;border-radius:12px;background:#d8a779;display:grid;place-items:center;flex:none}.brand-mark svg{width:24px;stroke:var(--green-dark);stroke-width:1.8;fill:none}.nav-label,.eyebrow{font-size:9px;font-weight:700;letter-spacing:1.35px}.nav-label{color:#76988a;padding:0 12px 12px}.side-nav{display:grid;gap:6px}.nav-link{border:0;background:transparent;color:#b8c9c0;border-radius:10px;padding:11px 12px;display:flex;align-items:center;gap:12px;text-align:left;font-size:13px;transition:.16s}.nav-link:hover{background:#214d43;color:#fff}.nav-link.active{background:#27564a;color:#fff;font-weight:600}.nav-icon{font-size:18px;width:18px;text-align:center;line-height:1}.nav-count{margin-left:auto;border-radius:99px;background:#3b6d5e;padding:2px 7px;font-size:10px}.sidebar-bottom{margin-top:auto}.sidebar-note{margin:0 2px 20px;padding:14px 13px;display:flex;gap:10px;background:#204940;border:1px solid #2b5a4d;border-radius:12px;color:#cee1d6}.sidebar-note p{font-size:11px;line-height:1.6;margin:0}.sidebar-note strong{color:#fff}.note-spark{color:#e2b98f;font-size:18px}.local-badge{font-size:9px;color:#85a497;padding:16px 10px 0;display:flex;align-items:center;gap:7px}.local-badge span{width:6px;height:6px;border-radius:50%;background:#7bd09b}.main-content{margin-left:248px;max-width:1700px;padding:0 50px 28px}.topbar{height:76px;border-bottom:1px solid #e6eae4;display:flex;align-items:center;justify-content:space-between}.crumb{display:flex;gap:9px;align-items:center;font-size:9px;letter-spacing:1.1px;font-weight:700;color:#9aa49f}.crumb span:last-child{color:#51645b}.crumb-slash{color:#d0d7d1}.top-actions{display:flex;align-items:center;gap:10px}.month-picker{height:36px;padding:0 10px;border:1px solid #e2e7e2;background:#fff;border-radius:8px;display:flex;align-items:center;gap:8px;color:#77867e}.calendar-icon{font-size:16px}.month-picker input{border:0;outline:0;background:transparent;color:#4d5c55;font-size:11px;width:116px}.icon-button,.avatar{width:35px;height:35px;border:1px solid #e4e9e3;background:#fff;border-radius:9px;color:#5e7167;font-size:17px}.avatar{border:0;background:#dfebe3;color:var(--green);font-weight:700;font-size:13px}.mobile-brand{display:none}.view{display:none;padding-top:34px;animation:fade-in .2s ease}.active-view{display:block}@keyframes fade-in{from{opacity:.65;transform:translateY(3px)}to{opacity:1;transform:none}}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:25px}.eyebrow{color:#8b9d93;margin:0 0 8px}.page-heading h1{font:700 32px 'Manrope',sans-serif;letter-spacing:-1.35px;margin:0;color:#21332c}.heading-dot{color:#d4a06d}.page-subtitle{margin:7px 0 0;color:#819087;font-size:12px}.button{border:1px solid transparent;border-radius:8px;padding:10px 14px;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.15s}.button-primary{color:#fff;background:var(--green);box-shadow:0 3px 8px rgba(25,100,79,.12)}.button-primary:hover{background:#13543f;transform:translateY(-1px)}.button-primary span{font-size:16px;line-height:10px}.button-outline{border-color:#dce5dd;background:#fff;color:#3a6555}.button-outline:hover{border-color:#aecbbb;background:#f8fbf8}.button-ghost{background:transparent;color:#77847e}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.summary-card{min-height:126px;padding:16px 17px 14px;background:var(--white);border:1px solid #eaeee9;border-radius:12px;box-shadow:var(--shadow)}.summary-top{display:flex;align-items:center;justify-content:space-between}.summary-label{font-size:10px;color:#738078;font-weight:600}.summary-icon{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;font-size:15px}.icon-green{background:var(--green-soft);color:#357c5d}.icon-peach{background:var(--peach);color:#bd7850}.icon-lilac{background:var(--lav);color:#8b79c5}.icon-light{background:#315d51;color:#d7ebdd}.summary-value{display:block;margin:12px 0 7px;font:700 22px 'Manrope',sans-serif;letter-spacing:-.75px;color:#24352e}.dark-summary{background:var(--green-dark);border-color:var(--green-dark)}.dark-summary .summary-label{color:#c7d7ce}.dark-summary .summary-value{color:#fff}.summary-foot{font-size:9px;color:#99a59f;display:flex;align-items:center;gap:6px}.status-dot{width:6px;height:6px;border-radius:50%}.green-dot{background:#58b981}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(270px,.85fr);gap:14px;margin-top:15px}.panel{background:#fff;border:1px solid #e9ede8;border-radius:12px;box-shadow:var(--shadow)}.flow-panel,.cards-panel{padding:19px 21px}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between}.panel-heading h2,.list-toolbar h2,.settings-panel h2,.data-panel h2{font:700 16px 'Manrope',sans-serif;letter-spacing:-.35px;color:#263831;margin:0}.panel-heading .eyebrow{margin-bottom:5px}.period-chip,.routine-badge{border-radius:100px;background:#f2f6f2;color:#829188;padding:6px 9px;font-size:8px;font-weight:700;letter-spacing:.7px}.flow-legend{display:flex;gap:15px;margin:21px 0 4px 3px;color:#7d8983;font-size:9px}.flow-legend span{display:flex;align-items:center;gap:6px}.legend-dot{width:7px;height:7px;border-radius:50%;display:inline-block}.income-dot{background:#347759}.expense-dot{background:#d7a06e}.chart-area{height:132px;display:flex;gap:7px;align-items:flex-end;padding:12px 8px 0;border-bottom:1px solid #ecf0ec;background:repeating-linear-gradient(to bottom,transparent 0,transparent 31px,#f0f3f0 32px)}.chart-group{flex:1;display:flex;align-items:flex-end;justify-content:center;gap:3px;height:100%;position:relative}.chart-bar{width:min(14px,35%);border-radius:4px 4px 0 0;min-height:3px;transition:height .3s}.chart-bar.in{background:#427d61}.chart-bar.out{background:#e7b48c}.chart-months{display:flex;justify-content:space-between;font-size:8px;color:#a0aaa4;padding:7px 3px 0}.chart-totals{display:flex;border-top:1px solid #edf0ec;margin-top:14px;padding-top:12px;gap:28px}.chart-totals div{display:grid;gap:4px}.chart-totals span{font-size:9px;color:#89958e}.chart-totals strong{font-size:11px;color:#43534b}.chart-totals div:last-child strong{color:#367456}.cards-panel{background:#fdfefd}.card-chip{font-size:8px;font-weight:700;font-style:italic;color:#73827b;letter-spacing:1px;border:1px solid #e8ece8;padding:5px 7px;border-radius:5px}.card-spend{font:700 26px 'Manrope',sans-serif;letter-spacing:-1px;margin:18px 0 2px;color:#263831}.muted-small{font-size:10px;color:#9aa59f;margin:0}.progress-track{height:6px;background:#edf2ed;border-radius:9px;margin:19px 0 9px;overflow:hidden}.progress-track span{height:100%;width:0;display:block;background:#37785b;border-radius:9px;transition:width .3s}.limit-row{display:flex;align-items:center;justify-content:space-between;font-size:9px;color:#89968e}.text-button{padding:0;border:0;background:transparent;color:#438062;font-size:10px;font-weight:700}.text-button:hover{text-decoration:underline}.text-button span{margin-left:3px}.card-tip{background:#f1f6f1;border-radius:8px;margin:18px 0 13px;padding:10px;display:flex;gap:8px;align-items:flex-start}.tip-icon{font-size:13px;color:#bd956a}.card-tip p{font-size:9px;line-height:1.55;color:#7a8a80;margin:0}.card-tip strong{color:#53665b}.full-button{width:100%;min-height:34px;font-size:10px}.lower-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.85fr);gap:14px;margin-top:15px}.recent-panel,.debt-preview-panel{padding:18px 20px}.transaction-list{margin-top:13px}.transaction-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:10px 0;border-top:1px solid #f0f2ef}.transaction-main{display:flex;align-items:center;gap:10px;min-width:0}.transaction-symbol{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#edf5ef;color:#46805f;flex:none}.transaction-symbol.expense-symbol{background:#fbf0e9;color:#ba7950}.transaction-symbol.transfer-symbol{background:#eff0fa;color:#7977a7}.transaction-copy{min-width:0}.transaction-copy strong{font-size:10px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#44534b}.transaction-copy small{font-size:8px;color:#9aa49e;display:block;margin-top:3px}.transaction-amount{font-size:10px;font-weight:700;white-space:nowrap}.amount-positive{color:#397856}.amount-negative{color:#506158}.row-date{font-size:8px;color:#a1aaa4;white-space:nowrap}.empty-state{padding:28px 14px;text-align:center;color:#8c9992}.empty-state .empty-icon{width:38px;height:38px;border-radius:12px;background:#f0f5f0;display:grid;place-items:center;margin:0 auto 10px;color:#498263;font-size:19px}.empty-state strong{font-size:11px;color:#57665e}.empty-state p{font-size:9px;line-height:1.6;margin:5px auto 0;max-width:245px}.debt-empty{min-height:125px;display:grid;align-content:center}.debt-preview-card{padding:12px 0;border-top:1px solid #eef1ed;display:flex;align-items:center;justify-content:space-between;gap:8px}.debt-preview-card:first-child{margin-top:12px}.debt-preview-card strong{font-size:10px;color:#4c5d54;display:block}.debt-preview-card small{font-size:8px;color:#9ca6a0}.debt-preview-card b{font:700 12px 'Manrope',sans-serif;color:#293a32;white-space:nowrap}.reassurance-banner{margin-top:15px;background:#e9f2eb;border:1px solid #dfece2;border-radius:11px;display:flex;align-items:center;gap:12px;padding:13px 16px}.reassurance-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#d5e8d9;color:#3c8056}.reassurance-banner strong{font-size:10px;color:#355744}.reassurance-banner p{font-size:9px;color:#718379;margin:4px 0 0}.banner-link{margin-left:auto;border:0;background:transparent;color:#438062;font-size:18px}.app-footer{display:flex;justify-content:space-between;color:#a3ada6;font-size:8px;letter-spacing:.3px;margin-top:28px}.app-footer span:first-child{font-weight:700;letter-spacing:1px}.table-panel{padding:20px}.list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}.list-toolbar h2{margin-bottom:4px}.filter-pills{display:flex;gap:4px;padding:3px;background:#f3f5f2;border-radius:8px}.filter-pill{border:0;border-radius:6px;background:transparent;padding:7px 10px;color:#89958e;font-size:9px}.filter-pill.selected{background:#fff;color:#416854;box-shadow:0 1px 4px #1d39230f;font-weight:700}.full-transaction-list{border-top:1px solid #edf0ec}.full-transaction-list .transaction-row{padding:13px 3px;grid-template-columns:minmax(0,1fr) 90px 100px auto auto}.scope-tag{font-size:8px;border-radius:4px;padding:4px 6px;background:#f0f5f1;color:#67816f;white-space:nowrap}.scope-tag.pf{background:#f2f0fa;color:#8275aa}.row-actions{display:flex;gap:6px;justify-content:flex-end}.mini-action{border:0;background:transparent;color:#a4aea7;font-size:12px;padding:4px}.mini-action:hover{color:#9d554a}.debt-summary-strip{display:grid;grid-template-columns:repeat(3,1fr);background:#e9f1eb;border:1px solid #deebe1;border-radius:11px;margin-bottom:16px;padding:17px 21px}.debt-summary-strip div{display:grid;gap:5px;border-right:1px solid #d7e4d9;padding-left:22px}.debt-summary-strip div:first-child{padding-left:0}.debt-summary-strip div:last-child{border:0}.debt-summary-strip span{font-size:9px;color:#7d9083}.debt-summary-strip strong{font:700 17px 'Manrope',sans-serif;color:#315a43}.debt-list{border-top:1px solid #edf0ec}.debt-card{display:grid;grid-template-columns:minmax(0,1.4fr) .85fr .75fr .65fr auto;align-items:center;gap:12px;padding:15px 3px;border-bottom:1px solid #edf0ec}.debt-title{display:flex;align-items:center;gap:10px}.debt-icon{width:33px;height:33px;display:grid;place-items:center;border-radius:9px;background:#f7f0eb;color:#ae794f}.debt-title strong{font-size:10px;color:#415148;display:block}.debt-title small,.debt-cell small{font-size:8px;color:#9aa49e;display:block;margin-top:4px}.debt-cell span{font-size:10px;color:#4d5e54;font-weight:600}.debt-status{display:inline-flex!important;align-items:center;gap:5px;font-size:8px!important;border-radius:100px;padding:5px 8px;background:#eff6ef;color:#4b805d!important;width:max-content}.debt-status.late{background:#fbefec;color:#b26955!important}.debt-status.negotiating{background:#f3f0fa;color:#7d70a4!important}.debt-status:before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor}.debt-actions{display:flex;gap:5px}.info-callout{display:flex;align-items:flex-start;gap:10px;background:#f7f3eb;border:1px solid #f0e7d9;border-radius:9px;padding:12px 14px;margin-top:14px;color:#7e7464}.info-callout span{width:17px;height:17px;border:1px solid #cbb18d;border-radius:50%;display:grid;place-items:center;font-size:10px;flex:none}.info-callout p{font-size:9px;line-height:1.6;margin:0}.plan-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(265px,.75fr);gap:15px}.routine-panel{padding:20px 22px}.routine-step{display:flex;gap:14px;padding:19px 0;border-top:1px solid #eef1ed}.routine-step:first-of-type{margin-top:15px}.step-number{font:700 11px 'Manrope',sans-serif;color:#86a290;min-width:22px}.routine-step strong{font-size:11px;color:#3e5247}.routine-step p{font-size:9px;color:#89958e;line-height:1.65;margin:5px 0 0;max-width:510px}.plan-side{padding:21px}.plan-art{height:115px;background:linear-gradient(135deg,#e6f1e7,#f5f4ec);border-radius:9px;margin-bottom:19px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.plan-art:before,.plan-art:after{content:'';position:absolute;border:1px solid #cbdfcf;border-radius:50%;width:130px;height:130px;left:-30px;top:43px}.plan-art:after{width:180px;height:180px;left:auto;right:-35px;top:-89px}.plan-art span{font:800 34px 'Manrope',sans-serif;color:#558266;transform:rotate(-8deg)}.plan-art i{position:absolute;left:62%;top:26px;font-style:normal;color:#d29b69;font-size:19px}.plan-art b{position:absolute;right:21%;bottom:16px;color:#7ca989;font-size:15px}.plan-side h2{font:700 17px/1.4 'Manrope',sans-serif;color:#354c3f;letter-spacing:-.4px;margin:0}.muted{font-size:10px;color:#89958e;line-height:1.7}.plan-side .button{margin-top:11px}.settings-panel{padding:21px 22px}.settings-form{margin-top:18px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field{display:grid;gap:6px}.field>span{font-size:9px;color:#718077;font-weight:600}.field input,.field select{width:100%;height:38px;border:1px solid #e0e7e1;border-radius:7px;background:#fff;color:#405147;padding:0 10px;font-size:11px;outline:none}.field input:focus,.field select:focus{border-color:#74a989;box-shadow:0 0 0 3px #eaf4ec}.field input::placeholder{color:#b4bdb7}.span-2{grid-column:span 2}.settings-note{display:flex;gap:9px;background:#f0f6ef;border-radius:8px;padding:10px;color:#6c7d71}.settings-note span{color:#b18c61}.settings-note p{font-size:9px;line-height:1.6;margin:0}.form-actions{display:flex;align-items:center;gap:12px}.saved-message{font-size:9px;color:#488060}.data-panel{padding:21px 22px;margin-top:14px;display:flex;justify-content:space-between;align-items:center;gap:25px}.data-panel .muted{max-width:470px}.data-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.import-button{cursor:pointer}.danger-text{color:#a7594d}.routine-badge{font-size:8px}.modal{border:0;padding:0;width:min(480px,calc(100% - 28px));max-width:480px;border-radius:14px;box-shadow:0 25px 90px #13251c33;color:var(--ink)}.modal::backdrop{background:#10221ab0;backdrop-filter:blur(2px)}.modal form{padding:22px}.modal-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:19px}.modal-heading .eyebrow{margin:0 0 4px}.modal-heading h2{font:700 19px 'Manrope',sans-serif;letter-spacing:-.5px;margin:0;color:#263a30}.close-button{border:0;background:#f2f5f1;color:#77867d;border-radius:7px;width:28px;height:28px;font-size:19px;line-height:1}.modal .field{margin-bottom:13px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-hint{font-size:9px;line-height:1.5;color:#87948b;background:#f5f7f4;padding:9px 10px;border-radius:7px;margin:2px 0 17px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,18px);background:#203f34;color:white;padding:10px 16px;border-radius:8px;font-size:10px;box-shadow:0 8px 20px #13241c2b;opacity:0;pointer-events:none;transition:.2s;z-index:10}.toast.show{opacity:1;transform:translate(-50%,0)}

@media(max-width:1120px){.main-content{padding-left:30px;padding-right:30px}.sidebar{width:220px}.main-content{margin-left:220px}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:minmax(0,1.2fr) minmax(250px,.8fr)}.lower-grid{grid-template-columns:minmax(0,1fr) minmax(245px,.8fr)}}
@media(max-width:780px){.sidebar{width:auto;height:60px;inset:auto 0 0;padding:5px 8px;flex-direction:row;justify-content:center}.brand,.nav-label{display:none}.side-nav{display:grid;grid-template-columns:repeat(5,1fr);width:min(560px,100%);gap:5px;align-items:stretch}.nav-link{justify-content:center;flex-direction:column;min-width:44px;padding:5px 3px;font-size:0;gap:2px;border-radius:9px}.nav-icon{font-size:18px}.nav-count{display:none}.sidebar-bottom{display:none}.main-content{margin-left:0;padding:0 20px 84px}.topbar{height:65px}.crumb{display:none}.mobile-brand{display:flex;align-items:center;gap:8px;font-size:12px;color:#315144}.small-mark{width:26px;height:26px;font-size:14px}.top-actions{gap:6px}.month-picker{height:32px;padding:0 6px;gap:4px}.month-picker input{width:105px;font-size:9px}.icon-button,.avatar{width:31px;height:31px}.page-heading h1{font-size:27px}.page-heading{align-items:flex-start;gap:13px}.page-heading>.button{margin-top:7px;white-space:nowrap}.dashboard-grid,.lower-grid,.plan-layout{grid-template-columns:1fr}.cards-panel{min-height:280px}.debt-card{grid-template-columns:minmax(0,1.4fr) .85fr .75fr auto}.debt-card .debt-cell:nth-of-type(3){display:none}.full-transaction-list .transaction-row{grid-template-columns:minmax(0,1fr) 80px 90px auto}.full-transaction-list .transaction-row .row-date{display:none}.data-panel{align-items:flex-start;flex-direction:column}.data-actions{justify-content:flex-start}}
@media(max-width:520px){.main-content{padding:0 13px 84px}.topbar{height:57px}.mobile-brand{font-size:10px}.month-picker input{width:93px}.month-picker .calendar-icon{display:none}.icon-button{font-size:14px}.avatar{font-size:11px}.view{padding-top:24px}.page-heading{display:block;margin-bottom:18px}.page-heading>.button{margin-top:13px}.page-heading h1{font-size:25px}.page-subtitle{font-size:10px;line-height:1.5}.summary-grid{gap:8px}.summary-card{padding:12px;min-height:112px}.summary-label{font-size:9px}.summary-value{font-size:18px;margin:13px 0 7px}.summary-foot{font-size:8px}.summary-icon{width:24px;height:24px}.dashboard-grid,.lower-grid{gap:9px;margin-top:9px}.flow-panel,.cards-panel,.recent-panel,.debt-preview-panel{padding:15px}.panel-heading h2{font-size:14px}.chart-area{height:112px}.chart-totals{gap:12px}.chart-totals span{font-size:8px}.chart-totals strong{font-size:9px}.reassurance-banner{align-items:flex-start;padding:11px;gap:9px}.reassurance-banner p{line-height:1.5}.app-footer{font-size:7px;gap:15px}.app-footer span:last-child{text-align:right}.table-panel{padding:14px}.list-toolbar{align-items:flex-start;flex-direction:column;gap:10px}.filter-pills{width:100%;justify-content:space-between}.filter-pill{flex:1;padding:7px 5px}.full-transaction-list .transaction-row{grid-template-columns:minmax(0,1fr) auto auto;gap:7px}.full-transaction-list .transaction-row .scope-tag{display:none}.transaction-copy strong{max-width:135px}.transaction-amount{font-size:9px}.debt-summary-strip{padding:13px 11px}.debt-summary-strip div{padding-left:10px}.debt-summary-strip span{font-size:8px}.debt-summary-strip strong{font-size:12px}.debt-card{grid-template-columns:minmax(0,1fr) auto auto;gap:6px;padding:12px 0}.debt-card .debt-cell{display:none}.debt-title strong{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.debt-actions .mini-action{padding:2px}.form-row{grid-template-columns:1fr 1fr;gap:8px}.modal form{padding:18px}.modal .field>span{font-size:8px}.field input,.field select{font-size:10px;padding:0 7px}.settings-form{grid-template-columns:1fr}.span-2{grid-column:span 1}.data-actions .button{font-size:9px;padding:9px}.debt-preview-panel .panel-heading{align-items:center}}
