:root{--navy:#1f3864;--blue:#2e5496;--green:#548235;--red:#c00000;--grey:#6b7280}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Arial,Helvetica,sans-serif;background:#f4f6fb;color:#1f2937}.wrap{max-width:1100px;margin:0 auto;padding:24px}h1{color:var(--navy);font-size:26px}.sub{color:var(--grey);margin:4px 0 20px}.topbar{display:flex;justify-content:space-between;align-items:flex-start}.logout{background:none;border:1px solid #d1d5db;border-radius:8px;padding:7px 14px;font-size:13px;cursor:pointer;color:var(--grey)}.logout:hover{background:#fff}.tabs{display:flex;gap:4px;border-bottom:1px solid #e5e7eb;margin-bottom:22px}.tab{background:none;border:0;padding:10px 16px;font-size:14px;font-weight:600;color:var(--grey);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.tab.active,.tab:hover{color:var(--navy)}.tab.active{border-bottom-color:var(--navy)}.equiv-banner{background:#eef3fb;border:1px solid #d6e2f3;border-left:3px solid var(--navy);border-radius:8px;padding:10px 14px;font-size:13px;color:#39414f;margin-bottom:18px}.equiv-banner strong{color:var(--navy)}.txn-summary{display:flex;flex-wrap:wrap;gap:18px;font-size:13px;color:var(--grey);margin-bottom:14px}.type-pill{font-size:11px;font-weight:700;padding:2px 9px;border-radius:10px}.type-pill.Fixed{background:#e7edf7;color:var(--blue)}.type-pill.Variable{background:#eef3e8;color:var(--green)}.freq-pill{font-size:11px;font-weight:700;padding:2px 9px;border-radius:10px;white-space:nowrap}.freq-pill.monthly{background:#e7edf7;color:var(--blue)}.freq-pill.yearly{background:#efe6f6;color:#7030a0}.freq-pill.biweekly{background:#eef3e8;color:var(--green)}.freq-pill.weekly{background:#fbf2dd;color:#8a6d1b}tfoot td{border-top:2px solid #e5e7eb;border-bottom:0}th.sortable{cursor:pointer;user-select:none;white-space:nowrap}th.sortable:hover{color:var(--navy)}.day-input{width:64px;padding:5px 6px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;text-align:right;font-variant-numeric:tabular-nums}.sched-cell{min-width:150px}.sched-edit{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.sched-select{padding:5px 6px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;background:#fff}.sched-done{background:var(--navy);color:#fff;border:0;border-radius:6px;padding:5px 10px;font-size:12px;cursor:pointer}.sched-display{background:none;border:1px dashed transparent;border-radius:6px;padding:4px 6px;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:14px;color:#1f2937;text-align:left}.sched-display:hover{border-color:#d1d5db;background:#fafbfd}.sched-label{font-weight:600;color:var(--navy)}.sched-date{font-size:12px;color:var(--grey)}.sched-set{color:#9aa1ac;font-style:italic}.link-cell{display:flex;align-items:center;gap:6px}.link-cell+.link-cell{margin-top:5px}.url-input{width:100%;min-width:130px;padding:5px 7px;border:1px solid #d1d5db;border-radius:6px;font-size:13px}.open-link{color:var(--blue);text-decoration:none;font-size:16px;line-height:1;flex-shrink:0}.open-link:hover{color:var(--navy)}.cards{display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:22px}.card{border-radius:12px;padding:16px;box-shadow:0 2px 8px rgba(0,0,0,.06);text-align:center}.card .label{font-size:12px;color:var(--grey);text-transform:uppercase;letter-spacing:.5px}.card .val{font-size:26px;font-weight:700;margin-top:6px}.green{color:var(--green)}.red{color:var(--red)}.blue{color:var(--blue)}.navy{color:var(--navy)}.grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:22px}.panel{border-radius:12px;padding:18px;box-shadow:0 2px 8px rgba(0,0,0,.06)}.panel h2{color:var(--navy);margin-bottom:12px}table{width:100%;border-collapse:collapse;font-size:14px}td,th{text-align:left;padding:8px 6px;border-bottom:1px solid #eef0f4}th{color:var(--grey);font-size:12px}td.amt{text-align:right;font-variant-numeric:tabular-nums}.note{font-size:12px;color:var(--grey);margin-top:10px}.todo-add{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}.todo-add input[type=text]{flex:1;min-width:180px}.todo-add input[type=text],.todo-add select{padding:9px;border:1px solid #d1d5db;border-radius:8px;font-size:14px}.todo-add select{background:#fff}.loginbox button,.todo-add button{background:var(--navy);color:#fff;border:0;padding:10px 18px;border-radius:8px;font-size:14px;cursor:pointer}.todo-list{list-style:none}.todo-item{display:flex;align-items:center;gap:10px;padding:10px 4px;border-bottom:1px solid #eef0f4}.todo-item input[type=checkbox]{width:18px;height:18px;cursor:pointer;flex-shrink:0}.todo-item .task{flex:1;font-size:14px}.todo-item.done .task{text-decoration:line-through;color:var(--grey)}.badge{font-size:11px;font-weight:700;padding:3px 9px;border-radius:12px;color:#fff;white-space:nowrap}.badge.Nicholas{background:var(--blue)}.badge.Sarah{background:#7030a0}.badge.Both{background:var(--green)}.todo-del{background:none;border:0;color:#c0c4cc;cursor:pointer;font-size:18px;padding:0 4px}.todo-del:hover{color:var(--red)}.loginpage{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--navy)}.loginbox{background:#fff;border-radius:14px;padding:34px;width:340px;box-shadow:0 10px 40px rgba(0,0,0,.25)}.loginbox h1{font-size:22px;margin-bottom:4px}.loginbox p{color:var(--grey);font-size:13px;margin-bottom:18px}.loginbox label{display:block;font-size:13px;font-weight:600;margin:12px 0 4px}.loginbox input{width:100%;padding:10px;border:1px solid #d1d5db;border-radius:8px;font-size:14px}.loginbox button{width:100%;margin-top:18px}.err{color:var(--red);font-size:13px;margin-top:12px}@media(max-width:760px){.cards{grid-template-columns:1fr 1fr}.grid{grid-template-columns:1fr}}.tab-gap{flex:1}.spend-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}.spend-title{font-size:18px;color:var(--navy);margin:0}.spend-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.val-sub{font-size:14px;color:var(--grey);font-weight:600}.btn-secondary{color:var(--navy);border:1px solid #cfd6e4;border-radius:8px;padding:7px 12px;font-size:13px;font-weight:600;cursor:pointer}.btn-secondary:hover{background:#eef3fb}.btn-secondary:disabled{opacity:.6;cursor:default}.linkish{background:none;border:0;color:var(--blue);font-size:13px;font-weight:600;cursor:pointer;padding:2px 4px}.linkish:hover{text-decoration:underline}.linkish.danger{color:var(--red)}.linkish:disabled{color:#b0b5bf;cursor:default;text-decoration:none}table.small{font-size:13px}table.small td,table.small th{padding:6px}.txn-list td{vertical-align:middle}.txn-list tr.needs-attention td{background:#fff9ec}.scroll-x{overflow-x:auto}.ellipsis,.nowrap{white-space:nowrap}.ellipsis{max-width:260px;overflow:hidden;text-overflow:ellipsis}.clickable{cursor:pointer}.clickable:hover td{background:#f7f9fd}.swatch{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:8px;vertical-align:middle}.cat-select{max-width:190px;padding:4px 6px;border:1px solid #d1d5db;border-radius:6px;font-size:12px;background:#fff}.src-pill{font-size:10px;font-weight:700;padding:2px 7px;border-radius:10px;text-transform:uppercase;letter-spacing:.3px}.src-pill.ai{background:#efe6f6;color:#7030a0}.src-pill.rule{background:#e7edf7;color:var(--blue)}.src-pill.manual{background:#eef3e8;color:var(--green)}.st-pill{font-size:11px;font-weight:700;padding:2px 9px;border-radius:10px;white-space:nowrap}.st-pill.paid{background:#eef3e8;color:var(--green)}.st-pill.differs{background:#fbf2dd;color:#8a6d1b}.st-pill.partial{background:#e7edf7;color:var(--blue)}.st-pill.outstanding{background:#fbe9e9;color:var(--red)}.facts{list-style:none;font-size:14px;line-height:1.9}.facts strong{color:var(--navy)}.upload-box{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.upload-box input[type=file]{font-size:13px}.upload-box button{background:var(--navy);color:#fff;border:0;padding:9px 16px;border-radius:8px;font-size:14px;cursor:pointer}.upload-box button:disabled{opacity:.5;cursor:default}.import-result{background:#eef3fb;border:1px solid #d6e2f3;border-radius:8px;padding:12px 14px;margin-top:14px;font-size:14px;line-height:1.6}.warn{color:#8a6d1b;background:#fbf2dd;border-radius:6px;padding:6px 10px;font-size:13px;margin-top:8px}.due-chip{font-size:11px;color:var(--grey);background:#f1f3f7;border-radius:10px;padding:1px 8px;margin-left:8px;white-space:nowrap}.due-chip.late{color:var(--red);background:#fbe9e9}.recur-icon{color:var(--blue);font-weight:700}.recurring{margin-top:16px;border-top:1px solid #eef0f4;padding-top:10px}.recurring-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.recurring-list{list-style:none;margin:8px 0}.recurring-item{display:flex;align-items:center;gap:6px;padding:8px 4px;border-bottom:1px solid #eef0f4}.recurring-main{flex:1;min-width:0}.recurring-name{display:block;font-size:14px}.recurring-meta{font-size:12px;color:var(--grey)}.recurring-meta .badge{font-size:10px;padding:1px 7px}.icon-btn{background:none;border:1px solid transparent;border-radius:6px;color:#b0b5bf;cursor:pointer;font-size:15px;padding:2px 6px}.icon-btn:hover{border-color:#d1d5db;color:var(--navy)}.icon-btn.on{color:var(--blue)}.recurring-form{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:10px}.recurring-form input[type=text]{flex:1;min-width:160px;padding:7px 9px;border:1px solid #d1d5db;border-radius:8px;font-size:13px}.recurring-form input[type=date],.recurring-form select{padding:7px 8px;border:1px solid #d1d5db;border-radius:8px;font-size:13px;background:#fff}.recurring-form button{background:var(--navy);color:#fff;border:0;padding:8px 14px;border-radius:8px;font-size:13px;cursor:pointer}.recurring-form button:disabled{opacity:.5;cursor:default}.recurring-form button.btn-secondary{background:#fff;color:var(--navy)}.check{font-size:13px;display:flex;align-items:center;gap:4px;white-space:nowrap}@media(max-width:760px){.ellipsis{max-width:150px}.cat-select{max-width:140px}}.btn-primary{background:var(--navy);border:0;padding:8px 14px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer}.btn-primary:disabled{opacity:.5;cursor:default}.env-pill{font-size:10px;font-weight:700;background:#fbf2dd;color:#8a6d1b;border-radius:10px;padding:2px 8px;margin-left:10px;vertical-align:middle;text-transform:uppercase}.src-pill.plaid{background:#e3f4ef;color:#1c7a5a}.pending-pill{font-size:10px;color:#8a6d1b;background:#fbf2dd;border-radius:8px;padding:1px 6px;margin-left:6px}tr.muted td{color:#9aa1ac}.card-sub{font-size:11px;color:var(--grey);margin-top:4px}.snapshot-banner{display:flex;align-items:center;gap:6px;flex-wrap:wrap}a.btn-secondary{display:inline-block;text-decoration:none;margin-top:14px}:root{--navy:#223d35;--blue:#396b5b;--green:#39735e;--red:#ad4d48;--grey:#727c76;--line:#e2e6df;--paper:#f7f8f4;--ink:#253c33;--accent:#365f4e}body{background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #9fbba8;outline-offset:3px}input:not([type=checkbox]):not([type=file]),select,textarea{background:#fff;border:1px solid #dce2d9;border-radius:8px;padding:9px 11px;color:var(--ink);min-width:0}textarea{resize:vertical}a{color:var(--blue)}svg{flex-shrink:0}a svg,button svg{vertical-align:middle}.app-shell{display:flex;min-height:100vh}.sidebar{width:235px;background:#fff;border-right:1px solid var(--line);position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;padding:30px 16px 18px;z-index:20;overflow-y:auto}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--ink);padding:0 12px 29px;font-family:Georgia,serif;font-size:25px;line-height:1.15;letter-spacing:-.7px}.brand-icon{display:grid;place-items:center;width:40px;height:43px;background:#edf2e9;border:1px solid #dce5d7;border-radius:11px;color:#42654e}.brand-sub{display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:9px;letter-spacing:2.8px;font-weight:600;margin-top:6px;color:#8a948b}.nav-group{font-size:10px;letter-spacing:1.3px;color:#8c958e;text-transform:uppercase;padding:22px 14px 9px;font-weight:600}.nav-item{border:0;background:none;color:#65716a;display:flex;align-items:center;gap:12px;width:100%;padding:12px 13px;margin:2px 0;border-radius:8px;font-size:13px;text-align:left;white-space:nowrap}.nav-item.active{background:#eaf0e6;color:#2e5843;font-weight:650}.nav-item:hover{background:#f2f5ef}.nav-count{margin-left:auto;font-size:10px;font-weight:500;border-radius:4px;background:#e9eee6;padding:1px 6px}.sidebar-bottom{margin-top:auto;padding:36px 6px 0;display:flex;align-items:center;gap:10px}.sidebar-bottom strong{font-size:12px;display:block}.sidebar-bottom small{font-size:10px;color:var(--grey)}.sidebar-bottom .plain-icon{margin-left:auto}.user-avatar{width:32px;height:32px;border-radius:50%;background:#eee9dd;display:grid;place-items:center;color:#706650;font-size:13px}.app-main{margin-left:235px;min-width:0;width:calc(100% - 235px)}.app-topbar{height:71px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 38px;color:#849085;font-size:11px;background:#fbfcf9}.app-topbar>span{font-family:Georgia,serif;font-size:15px;font-style:italic;color:#7c877c}.app-topbar>div{display:flex;align-items:center;gap:7px}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#659170}.topbar-divider{height:13px;border-left:1px solid var(--line);margin:0 9px}main{padding:34px 38px 0;max-width:1700px;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:27px}.eyebrow{font-size:9px;letter-spacing:1.6px;text-transform:uppercase;font-weight:650;color:#849082;display:block;margin-bottom:7px}h1{font-size:32px;letter-spacing:-1px;color:var(--ink);font-weight:550}.page-heading p{font-size:12px;color:#7b857c;margin-top:6px}.btn-primary,.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 14px;font-size:12px;border-radius:7px;font-weight:550;text-decoration:none;white-space:nowrap}.btn-primary{background:var(--accent);color:#fff;border:1px solid var(--accent)}.btn-primary:hover{background:#274b3d}.btn-secondary{background:#fff;border-color:#dae0d6;color:#596d5a}.btn-secondary:hover{background:#f0f4ec}.linkish{gap:6px;font-size:11px;font-weight:550;padding:0;text-decoration:none}.linkish,.plain-icon{display:inline-flex;align-items:center}.plain-icon{border:0;background:transparent;color:#748077;justify-content:center;min-width:30px;min-height:30px;border-radius:6px;font-size:23px}.plain-icon:hover{background:#eff3eb}.app-footer{padding:28px 0 22px;margin-top:30px;border-top:1px solid var(--line);font-size:10px;color:#9ba396;display:flex;justify-content:space-between;gap:14px}.app-footer>span:first-child{font-family:Georgia,serif;font-size:12px;font-style:italic}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:#fff;padding:14px}.skip-link:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.muted-text{color:var(--grey)}.right{text-align:right}.loading{padding:40px;text-align:center;color:var(--grey)}.error-message{background:#fcf0ed;color:#a4493b;border:1px solid #edc9c0;border-radius:8px;padding:12px 15px;margin:12px 0;font-size:13px}.welcome-banner{background:#e9eee3;border:1px solid #dfe6d8;border-radius:13px;position:relative;display:flex;justify-content:space-between;padding:30px 31px;overflow:hidden;margin-bottom:28px;min-height:195px}.welcome-banner .eyebrow{color:#778b69;font-size:9px;letter-spacing:1.2px}.welcome-banner h2{font-family:Georgia,serif;font-size:30px;font-weight:400;letter-spacing:-.7px;margin:7px 0 8px;color:#304632}.welcome-banner p{font-size:12px;color:#7b866f}.welcome-banner button{background:transparent;border:0;display:flex;align-items:center;gap:12px;font-size:11px;font-weight:600;color:#3c6248;margin-top:21px;padding:0}.hero-art{position:relative;min-width:180px;width:225px;height:140px;margin:-5px 18px 0 25px;opacity:.7}.art-house{left:73px;top:64px;width:83px;height:70px;border:1.5px solid #9caa80;z-index:2}.art-house,.art-roof{position:absolute;background:#e1e8d5}.art-roof{width:68px;height:68px;border-left:1.5px solid #9caa80;border-top:1.5px solid #9caa80;transform:rotate(45deg);left:80px;top:27px}.art-window{top:16px;left:12px;width:20px;height:21px;background:linear-gradient(90deg,transparent 47%,#9caa80 48%,#9caa80 51%,transparent 52%),linear-gradient(0deg,transparent 47%,#9caa80 48%,#9caa80 51%,transparent 52%)}.art-door,.art-window{position:absolute;border:1px solid #9caa80}.art-door{bottom:0;right:14px;width:23px;height:43px;border-bottom:none;background:#cbd8bc}.art-circle{position:absolute;width:65px;height:84px;border:1px solid #a8b78f;border-radius:50%;bottom:20px;left:20px;background:#dce6cc}.art-circle:after{content:"";position:absolute;left:32px;top:30px;height:72px;border-left:1px solid #a8b78f}.art-line{position:absolute;width:180px;bottom:5px;left:15px;border-bottom:1px solid #a8b78f}.panel-heading,.section-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.section-heading h2{font-size:14px;font-weight:600}.section-heading>span{font-size:10px;color:#8a9388}.panel-heading h2{margin:0;font-size:14px;font-weight:600}.panel-heading .eyebrow{font-size:8px;color:#96a08f;letter-spacing:1.1px;margin-bottom:6px}.cards{gap:14px;margin-bottom:26px}.card{text-align:left;border:1px solid var(--line);box-shadow:none;border-radius:11px;padding:19px 20px;background:#fff}.card .label{font-size:10px;text-transform:none;letter-spacing:.1px;color:#7f897e}.card .val{font-size:25px;font-weight:500;letter-spacing:-.9px;margin:11px 0 10px;line-height:1.2;font-variant-numeric:tabular-nums}.card small{font-size:9px;color:#8e978a;display:block}.card-top{display:flex;align-items:center;justify-content:space-between;color:#8ba184}.overview-cards .card:first-child{background:#f1f5ed}.panel{border:1px solid var(--line);border-radius:11px;box-shadow:none;padding:23px;background:#fff;min-width:0}.panel h2{color:var(--ink);font-size:15px;font-weight:600}.overview-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:20px;margin-bottom:20px}.overview-bottom{display:grid;grid-template-columns:1.4fr 1fr;gap:20px}.category-bars{display:flex;flex-direction:column;gap:17px;padding:10px 0 18px}.bar-label{justify-content:space-between;font-size:11px;margin-bottom:8px;gap:10px}.bar-label,.bar-label>span{display:flex;align-items:center}.bar-label>span{gap:7px;color:#707c71}.bar-label i{width:6px;height:6px;border-radius:50%}.bar-label strong{font-size:11px;font-weight:550}.bar-track{height:5px;background:#f1f3ed;border-radius:10px;overflow:hidden}.bar-track span{display:block;height:100%;border-radius:10px}.panel-foot{margin-top:11px;padding-top:14px;border-top:1px solid #eef0e9;font-size:9px;color:#9aa190}.upcoming-list{list-style:none}.upcoming-list li{display:flex;gap:12px;align-items:center;border-bottom:1px solid #eef1e9;padding:12px 0}.upcoming-list li:last-child{border:0}.date-tile{width:37px;border:1px solid #e6e9e0;border-radius:7px;text-align:center;flex-shrink:0;padding:4px 0;line-height:1.3}.date-tile small{display:block;font-size:7px;text-transform:uppercase;letter-spacing:.7px;color:#839178}.date-tile strong{font-size:15px;font-weight:500}.upcoming-list li>div:nth-child(2){flex:1;min-width:0}.upcoming-list li>div:nth-child(2)>strong{font-size:11px;font-weight:550;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upcoming-list li>div:nth-child(2)>span{font-size:9px;color:#96a08e;display:flex;gap:5px;align-items:center;margin-top:3px}.upcoming-list b{font-size:11px;font-weight:500;white-space:nowrap}.recent-row{display:flex;align-items:center;gap:12px;border-bottom:1px solid #edf0e8;padding:14px 0;font-size:11px}.recent-row:last-child{border:0}.recent-row>div{flex:1}.recent-row strong{font-weight:550}.recent-row small{display:block;font-size:9px;color:#909987;margin-top:3px}.merchant-mark{background:#f0f3ec;border:1px solid #e5eadf;color:#859475;width:32px;height:32px;border-radius:8px;display:grid;place-items:center;font-family:Georgia,serif;font-size:15px;flex-shrink:0}.plan-preview{background:#f0f3ea}.plan-preview h2{margin-top:14px}.plan-amount{font-size:25px;font-weight:500;letter-spacing:-.7px;display:block;margin:13px 0}.plan-amount small{font-size:10px;font-weight:400;color:#8a947e;letter-spacing:0}.plan-preview p{font-size:11px;line-height:1.8;color:#859079;margin:10px 0 15px}.plan-preview hr{border:0;border-top:1px solid #dfe6d6;margin:22px 0}.plan-preview .btn-secondary{background:#f7f9f3;font-size:10px}.sync-note{color:#96a08e;text-align:center;margin-top:20px}.sync-note,.sync-note .linkish{font-size:10px}.section-toolbar{display:flex;align-items:center;gap:11px;margin-bottom:20px;flex-wrap:wrap}.section-toolbar>select{font-size:12px}.search-box{display:flex;align-items:center;gap:10px;min-width:200px;flex:1;border:1px solid var(--line);background:#fff;border-radius:8px;padding:0 12px;color:#98a28f}.search-box input:not([type=checkbox]){border:0;background:transparent;width:100%;padding:11px 0;font-size:12px;outline-offset:2px}.ledger{padding:0;overflow:hidden}.ledger-filters{display:flex;gap:9px;align-items:center;flex-wrap:wrap;padding:17px 19px;background:#fbfcf8;border-bottom:1px solid var(--line)}.ledger-filters select{font-size:11px;max-width:210px;padding:7px 10px}.ledger-filters .linkish{margin-left:auto}th{font-size:9px;letter-spacing:.7px;text-transform:uppercase;color:#8d9784;padding:13px 17px;background:#fcfdf9;font-weight:600}td{padding:15px 17px;border-color:#eef1e8;font-size:12px}td.amt{white-space:nowrap}.row-sub{display:block;font-size:10px;color:#929a8a;margin-top:4px}.payee{font-weight:550;font-size:12px;display:block;max-width:240px}.transaction-table .cat-select{border:1px solid transparent;background:#f6f8f2;max-width:165px;font-size:11px;padding:6px 7px}.transaction-table .cat-select:hover{border-color:#dce3d3}.source-label{font-size:9px;white-space:nowrap;color:#8a9780;background:#eff4e9;border-radius:5px;padding:4px 6px}.source-label.csv{background:#f2f0e9;color:#958b6e}.pagination{display:flex;align-items:center;gap:8px;padding:16px 19px;font-size:11px;color:#8a9480;border-top:1px solid var(--line)}.pagination>span{margin-right:auto}.pagination button{padding:6px 11px;font-size:10px}.ledger>.error-message{margin:15px}.plan-banner{display:flex;align-items:center;gap:40px;border:1px solid #dfe7d6;background:#edf2e6;border-radius:12px;padding:26px 29px;margin-bottom:24px}.plan-banner>div:first-child{flex:1}.plan-banner h2{font-size:28px;font-weight:500;letter-spacing:-.5px}.plan-banner h2 small{font-size:12px;font-weight:400;color:#8c987f;letter-spacing:0}.plan-banner p{font-size:11px;color:#8a957c;margin-top:7px}.plan-stat>span{display:block;font-size:28px;font-family:Georgia,serif}.plan-stat small{font-size:10px;color:#8d997e}.bill-panel{padding:0;overflow:hidden}.bill-name{font-weight:550;font-size:12px;background:none;border:0;color:var(--ink);text-align:left}.bill-name:hover{text-decoration:underline}.row-actions{display:flex;align-items:center;gap:11px}.row-actions .btn-secondary{font-size:10px;padding:5px 10px}.freq-pill{font-weight:500;font-size:10px}.freq-pill.monthly{color:#53745d;background:#edf3e8}.freq-pill.yearly{color:#8b788f;background:#f2edf5}.freq-pill.biweekly{color:#757344;background:#f4f2e6}.planning-footer{display:flex;align-items:center;gap:28px;margin-top:20px}.planning-footer>div{flex:1}.planning-footer form{display:flex;align-items:flex-end;gap:8px}.planning-footer input{max-width:150px}.planning-footer .note{max-width:620px}.vendor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.vendor-card{display:flex;flex-direction:column}.vendor-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:18px}.vendor-avatar{width:43px;height:43px;background:#eef2e6;border:1px solid #e0e6d4;border-radius:10px;display:grid;place-items:center;font-family:Georgia,serif;color:#7a8b64;font-size:16px}.soft-pill{display:inline-block;background:#f1f4ec;color:#7d8b6f;padding:4px 9px;font-size:9px;border-radius:5px}.vendor-card h2{margin-bottom:4px;font-size:16px}.vendor-contact{font-size:11px;color:#939c87;margin-bottom:16px}.contact-details{display:flex;flex-direction:column;gap:8px;font-size:12px;overflow-wrap:anywhere}.contact-details a{text-decoration:none}.contact-details a:hover{text-decoration:underline}.contact-details p{color:#919b87}.vendor-notes{white-space:pre-wrap;font-size:11px;line-height:1.8;color:#8c977e;border-top:1px solid #edf0e7;margin-top:16px;padding-top:12px}.vendor-actions{display:flex;gap:15px;align-items:center;justify-content:space-between;margin-top:auto;padding-top:22px}.vendor-actions .btn-secondary{font-size:10px;padding:7px 9px}.empty-state{text-align:center;padding:44px 16px;max-width:460px;margin:auto}.empty-icon{display:grid;place-items:center;width:57px;height:57px;border-radius:14px;background:#eff3e9;color:#83966d;margin:0 auto 17px}.empty-state h3{font-size:16px;font-weight:550}.empty-state p{font-size:12px;color:#89957c;line-height:1.8;margin:9px 0 20px}.empty-state .btn-primary{font-size:11px}.modal{border:1px solid var(--line);border-radius:16px;max-width:600px;width:calc(100% - 30px);margin:auto;padding:0;box-shadow:0 24px 100px #12291f26;max-height:90vh;color:var(--ink)}.modal::backdrop{background:#17261d66;backdrop-filter:blur(3px)}.modal-inner{padding:27px}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:23px}.modal-head h2{font-family:Georgia,serif;font-size:25px;font-weight:400}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field>label{font-size:11px;font-weight:550;color:#7b8870}.field input,.field select,.field textarea{font-size:13px;width:100%}.field.wide{grid-column:1/-1}.form-actions{display:flex;gap:10px;align-items:center;margin-top:26px;padding-top:20px;border-top:1px solid var(--line)}.form-actions>span{flex:1}.form-help{font-size:11px;color:#8c977f;margin:12px 0 18px;line-height:1.8}.event-detail p{margin:15px 0;color:#819071;font-size:13px}.event-detail h3{font-size:24px;font-weight:500}.calendar-toolbar{justify-content:space-between}.calendar-nav{display:flex;align-items:center;gap:8px}.calendar-nav h2{font-size:18px;font-weight:500;min-width:140px}.calendar-nav .btn-secondary{font-size:10px;padding:6px 10px;margin-left:7px}.segmented{display:inline-flex;padding:3px;background:#eaf0e3;border-radius:7px}.segmented button{padding:6px 13px;font-size:11px;border:0;background:transparent;border-radius:5px;color:#7a886d}.segmented button.selected{background:#fff;color:#395b3e;box-shadow:0 1px 4px #40592d12}.calendar-legend{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin:6px 0 18px}.calendar-legend button{display:flex;gap:6px;align-items:center;font-size:10px;background:none;border:0;color:#8e9a80;padding:4px 0;border-bottom:1px solid transparent}.calendar-legend button.selected{border-bottom-color:#4d6c44;color:#42653d}.calendar-legend>span{font-size:9px;color:#95a085;margin-left:auto}.event-dot{display:inline-block;width:6px;height:6px;border-radius:50%;flex-shrink:0}.event-dot.bill{background:#92a475}.event-dot.appointment{background:#8aa6b9}.event-dot.service{background:#c9ab75}.event-dot.task{background:#b3a0b9}.calendar-month{border:1px solid var(--line);background:#fff;border-radius:11px;overflow:hidden;min-width:630px}.calendar-scroll{overflow-x:auto}.calendar-days,.calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays{background:#f2f6ed;border-bottom:1px solid var(--line)}.calendar-weekdays>div{padding:12px;text-align:center;font-size:10px;color:#899879}.calendar-day{min-height:129px;border-right:1px solid #edf0e7;border-bottom:1px solid #edf0e7;padding:7px;position:relative}.calendar-day:nth-child(7n){border-right:0}.calendar-day.outside{background:#fbfcf8}.calendar-day.outside .day-number{color:#b5bfaa}.day-number{width:26px;height:26px;display:inline-grid;place-items:center;font-size:11px;border:0;background:none;color:#6f8060;border-radius:50%;margin-bottom:5px}.is-today{background:#52734a!important;color:#fff!important}.day-add{border:0;background:none;color:#a5b293;position:absolute;top:9px;right:10px;opacity:0}.calendar-day:hover .day-add,.day-add:focus-visible{opacity:1}.calendar-event{display:flex;gap:4px;align-items:center;width:100%;text-align:left;font-size:9px;padding:4px 6px;border:0;border-left:2px solid transparent;border-radius:4px;margin:3px 0;min-height:25px}.calendar-event>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.calendar-event small{font-size:8px;white-space:nowrap}.agenda-entry.bill,.calendar-event.bill{background:#f0f4e8;color:#6e834e;border-left-color:#a4b589}.agenda-entry.appointment,.calendar-event.appointment{background:#eef3f7;color:#738da2;border-left-color:#a1b6c7}.agenda-entry.service,.calendar-event.service{background:#f8f3e7;color:#ab935e;border-left-color:#d4bb83}.agenda-entry.task,.calendar-event.task{background:#f5eff7;color:#9b83a4;border-left-color:#bfa9c7}.more-events{background:none;border:0;font-size:9px;color:#869b6e;padding:2px 6px}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.agenda-day{padding:14px 10px;min-height:280px;border-radius:8px}.agenda-day header{text-align:center;border-bottom:1px solid var(--line);padding:0 0 13px;margin-bottom:12px}.agenda-day header>span{display:block;font-size:9px;text-transform:uppercase;color:#93a27f}.agenda-date{border:0;border-radius:5px;background:none;padding:4px 5px;font-size:13px;color:#758564}.agenda-entry{display:flex;flex-direction:column;gap:5px;border:0;border-left:2px solid;border-radius:5px;margin-bottom:10px;padding:11px 9px;text-align:left;width:100%}.agenda-entry small{font-size:9px}.agenda-entry strong{font-size:11px;font-weight:500;overflow-wrap:anywhere}.agenda-add,.agenda-entry span{font-size:10px}.agenda-add{margin-top:10px}.day-agenda .agenda-day{max-width:760px;margin:auto;padding:24px}.day-agenda .agenda-entry{padding:16px 20px}.day-agenda .agenda-entry strong{font-size:15px}.day-agenda header{display:flex;align-items:center;gap:12px;text-align:left}.import-section{margin-top:34px;border-top:1px solid var(--line);padding-top:26px}.import-section>.eyebrow{margin-bottom:16px}.grid .panel canvas{max-height:300px}.reconciliation-panel{max-height:670px;overflow:auto}.recurring-form button{background:var(--accent)}.todo-add input{flex:1}.todo-add input[type=date]{flex:0 1 150px}.todo-list .task{font-size:13px}.todo-item{padding:16px 4px}.badge.Nicholas{background:#6b8c7c}.badge.Sarah{background:#a08cab}.badge.Both{background:#94a47d}.recap-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:30px;align-items:start}.recap-preferences>.empty-icon{margin:0 0 18px}.recap-preferences>h2{font-size:20px;font-weight:500}.recap-preferences>p{font-size:12px;color:#87947a;line-height:1.9}.recap-setting{display:flex;align-items:center;gap:16px;justify-content:space-between;padding:24px 0 7px;margin-top:15px;border-top:1px solid var(--line)}.recap-setting strong{font-size:13px}.recap-setting small{display:block;font-size:10px;color:#919e83;margin-top:5px}.toggle{width:42px;height:24px;border:0;background:#c5cdbe;border-radius:20px;padding:3px;flex-shrink:0}.toggle>span{width:18px;height:18px;background:#fff;border-radius:50%;display:block;transition:transform .2s}.toggle.on{background:#55794b}.toggle.on>span{transform:translateX(18px)}.recap-details{margin-top:25px}.recap-details dt{font-size:10px;text-transform:uppercase;color:#91a07e;letter-spacing:1px;margin-top:23px}.recap-details dd{font-size:12px;color:#718265;line-height:1.8;margin-top:6px}.email-preview{border:1px solid var(--line);border-radius:13px;overflow:hidden;background:#fff}.preview-label{padding:13px 25px;font-size:9px;letter-spacing:1px;color:#90a07b;background:#f2f5ed}.email-preview-head{padding:29px 32px;background:#294636;color:#fff}.email-preview-head .eyebrow{color:#b4c4aa}.email-preview-head h2{font-family:Georgia,serif;font-size:28px;font-weight:400;margin:11px 0}.email-preview-head p{font-size:11px;color:#bfd0b3}.email-preview-body{padding:30px 32px;font-size:13px}.email-preview-body>p{margin-bottom:14px}.email-preview-body ul{list-style:none;margin:22px 0}.email-preview-body li{padding:17px 0;border-bottom:1px solid #e9eee2;font-size:13px;color:#627456;line-height:1.8}.email-preview-body>.btn-primary{margin:7px 0 22px}.email-preview-body .note{font-size:10px;color:#929f82}.note{line-height:1.8}.spend-head .spend-title{font-size:17px}.txn-list tr.needs-attention td{background:#fdfbf3}.small th{font-size:9px}.small td{font-size:12px}@media(min-width:1500px){main{padding-left:50px;padding-right:50px}.welcome-banner{padding:35px 39px}.hero-art{margin-right:60px}}@media(max-width:1200px){.sidebar{width:210px;padding-left:11px;padding-right:11px}.app-main{margin-left:210px;width:calc(100% - 210px)}main{padding:28px 25px 0}.app-topbar{padding:0 25px}.vendor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card{padding:17px 14px}.card .val{font-size:22px}.week-grid{overflow-x:auto;grid-template-columns:repeat(7,minmax(120px,1fr));padding-bottom:10px}.calendar-nav h2{font-size:15px}.overview-grid{grid-template-columns:1fr 1fr}.hero-art{width:170px;margin-right:0}.plan-banner{gap:25px}.recap-layout{gap:20px}.page-heading>.btn-secondary{font-size:10px}}@media(max-width:950px){.overview-bottom,.overview-grid{grid-template-columns:1fr}.overview-cards,.transaction-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-banner{flex-wrap:wrap}.plan-banner>div:first-child{flex-basis:100%}.planning-footer{align-items:flex-start;flex-direction:column;gap:17px}.recap-layout{grid-template-columns:1fr}.hero-art{display:none}.page-heading{align-items:flex-start}.page-heading>.btn-secondary{display:none}.vendor-grid{grid-template-columns:1fr}.calendar-event small{display:none}.section-toolbar .search-box{flex-basis:100%}}@media(max-width:700px){.app-shell{display:block}.sidebar{position:relative;width:100%;height:auto;padding:15px 14px 0;border-right:0;border-bottom:1px solid var(--line);overflow:visible}.brand{padding:0 3px 14px;font-size:22px}.brand-icon{width:35px;height:35px}.brand-sub{font-size:8px;margin-top:3px}.sidebar nav{display:flex;gap:3px;overflow-x:auto;padding-bottom:10px}.nav-group{display:none}.nav-item{font-size:11px;padding:8px 10px;gap:7px}.nav-item svg{width:16px;height:16px}.nav-count{display:none}.sidebar-bottom{position:absolute;top:14px;right:16px;padding:0}.sidebar-bottom small{display:none}.sidebar-bottom strong{font-size:11px}.sidebar-bottom .user-avatar{display:none}.app-main{margin:0;width:100%}.app-topbar{display:none}main{padding:25px 17px 0}.page-heading{margin-bottom:21px}h1{font-size:28px}.page-heading .eyebrow{display:none}.page-heading p{font-size:11px;max-width:340px}.welcome-banner{padding:25px;min-height:180px;margin-bottom:23px}.welcome-banner h2{font-size:27px}.welcome-banner p{font-size:11px;max-width:240px}.section-heading>span{font-size:9px}.section-heading h2{font-size:13px}.cards{gap:10px}.card{padding:17px 14px}.card .val{font-size:23px}.card small{font-size:8px}.panel{padding:19px}.bill-panel,.ledger{padding:0}.overview-bottom,.overview-grid{gap:17px}.panel-heading .linkish{font-size:10px}.vendor-grid{grid-template-columns:1fr}.app-footer{font-size:9px}.app-footer>span:last-child{display:none}.calendar-nav{flex-wrap:wrap}.calendar-nav h2{font-size:15px}.calendar-legend{gap:12px}.calendar-legend>span{margin-left:0}.calendar-toolbar{gap:15px}.plan-banner{padding:22px;gap:22px}.plan-banner h2{font-size:25px}.plan-banner h2 small{font-size:10px}.modal-inner{padding:22px}.modal-head h2{font-size:23px}.form-grid{gap:13px}.form-actions{flex-wrap:wrap}.form-actions .btn-primary,.form-actions .btn-secondary{font-size:11px;padding:9px 11px}.ledger-filters{padding:13px;gap:7px}.ledger-filters select{max-width:100%;flex:1;min-width:120px;font-size:10px}.ledger-filters .linkish{margin-left:0}.transaction-table{min-width:750px}.bills-table{min-width:680px}.section-toolbar>.btn-primary{font-size:11px}.email-preview-body,.email-preview-head{padding:25px}.email-preview-head h2{font-size:26px}.todo-add{flex-wrap:wrap}.todo-item{gap:7px}.todo-item .task{font-size:12px}.badge{font-size:9px}.grid{gap:17px}.spend-head{margin-top:10px}.day-add{opacity:1}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.calendar-legend button,.card small,.category-bars .bar-label>span,.contact-details p,.email-preview-body .note,.empty-state p,.form-help,.note,.page-heading p,.panel-foot,.plan-banner p,.plan-preview p,.plan-stat small,.recap-details dd,.recap-details dt,.recap-preferences>p,.recap-setting small,.recent-row small,.row-sub,.section-heading>span,.sync-note,.upcoming-list li>div:nth-child(2)>span,.vendor-contact,.vendor-notes{color:#697561}.calendar-event,.card small,.panel-foot,.recent-row small,.row-sub,.sync-note{font-size:10px}.agenda-entry.bill,.calendar-event.bill{color:#5e713f}.agenda-entry.appointment,.calendar-event.appointment{color:#506e87}.agenda-entry.service,.calendar-event.service{color:#816b37}.agenda-entry.task,.calendar-event.task{color:#7d6187}.scroll-x{position:relative;max-width:100%}