@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--paper:#f4f5f3;--white:#fff;--ink:#20241f;--muted:#878c84;--line:#eceeea;--green:#355d46;--mint:#e5eee7;--amber:#f5ead6;--serif:Manrope,'DM Sans',sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:13px}.rail{position:fixed;inset:0 auto 0 0;width:66px;background:#202d26;display:flex;align-items:center;flex-direction:column;z-index:2}.brand{font:700 25px var(--serif);color:#f7f8f5;margin:19px 0 37px}.brand span{color:#b9cfbc}.rail-btn{width:38px;height:38px;margin-bottom:9px;background:none;border:0;border-radius:12px;color:#aeb8ae;font-size:18px}.rail-btn.active{background:#385242;color:#fff}.rail-bottom{margin-top:auto;margin-bottom:20px;width:31px;height:31px;border-radius:50%;background:#dbe5dc;color:#365141;display:grid;place-items:center;font-weight:700;font-size:11px}.shell{margin-left:66px;padding:0 46px;max-width:1600px}.topbar{height:61px;border-bottom:1px solid #e7e9e5;display:flex;align-items:center;justify-content:space-between}.crumb{color:#747a72;font-size:12px}.crumb span,.page-footer span span{color:#b4b9b2;margin:0 8px}.top-right{display:flex;gap:17px;align-items:center}.demo-pill{color:#58645a;font-size:11px;padding:7px 10px;border-radius:99px;background:#e8eee8}.demo-pill i{display:inline-block;background:#81a18a;border-radius:50%;width:6px;height:6px;margin-right:6px}.avatar{border:0;border-radius:50%;width:30px;height:30px;background:#e4e8e2;color:#435447;font-size:10px;font-weight:700}.intro{display:flex;justify-content:space-between;align-items:end;padding:39px 0 30px}.eyebrow,.dialog-kicker{font-size:9px;letter-spacing:1.35px;color:#7e857b;font-weight:700}.eyebrow span{color:#b8bdb6;margin:0 5px}h1{font:600 32px var(--serif);letter-spacing:-1.3px;margin:9px 0 3px}.subtitle{font-size:12px;color:#898e87;margin:0}.primary{background:var(--green);color:white;border:0;border-radius:8px;padding:11px 14px;font:600 11px 'DM Sans';box-shadow:0 2px 3px #1c402019;cursor:pointer}.primary:hover{background:#2d503c}.primary span{font-size:16px;margin-right:6px}.stats{border:1px solid #e9ebe7;background:#fff;border-radius:11px;display:grid;grid-template-columns:1fr 1fr 1fr 1.8fr;padding:19px 22px;margin-bottom:22px}.stats article{display:flex;flex-direction:column;gap:4px;border-right:1px solid var(--line);padding-left:22px}.stats article:first-child{padding-left:0}.stats article:nth-child(3){border:0}.stats article>span{font-size:9px;letter-spacing:1px;color:#8a9087;font-weight:600}.stats strong{font:600 22px var(--serif);letter-spacing:-.5px}.stats small{font-size:10px;color:#9ba097}.stat-note{border-left:1px solid var(--line);display:flex;gap:12px;align-items:center;justify-content:flex-end;color:#858b82;font-size:10px;line-height:1.6;padding-right:8px}.spark{font-size:19px;color:#739079}.toolbar{display:flex;align-items:center;gap:9px;margin-bottom:12px}.search{height:36px;background:#fff;border:1px solid #e7e9e5;border-radius:7px;display:flex;align-items:center;gap:8px;padding:0 10px;flex:1;min-width:180px}.search>span{font-size:20px;color:#848b82}.search input{border:0;outline:0;font:11px 'DM Sans';width:100%;background:transparent}.toolbar select{height:36px;border:1px solid #e7e9e5;background:#fff;border-radius:7px;color:#555c54;font:10px 'DM Sans';padding:0 24px 0 10px;max-width:160px}.clear{border:0;background:none;color:#8b9089;font:10px 'DM Sans';cursor:pointer;padding:8px}.view-label{margin-left:auto;color:#939990;font-size:10px;white-space:nowrap}.view-label b{color:#465148;background:#e8ebe7;padding:6px 9px;border-radius:5px;margin-left:5px;font-weight:500}.table-card{background:#fff;border:1px solid #e8eae6;border-radius:10px;overflow:hidden}.table-meta{height:49px;padding:0 17px;display:flex;align-items:center;justify-content:space-between;font-size:11px}.table-meta strong{font-weight:600}.table-meta>div>span{color:#9a9f98}.selection{display:flex;align-items:center;gap:12px;color:#697168}.selection button{background:var(--mint);color:#385a43;border:0;border-radius:6px;padding:7px 10px;font:600 10px 'DM Sans';cursor:pointer}.table-wrap{overflow:auto;max-height:calc(100vh - 370px);min-height:255px}table{border-collapse:collapse;width:100%;min-width:920px;text-align:left}thead{position:sticky;top:0;background:#fafbf9;z-index:1}th{height:34px;color:#858b83;font-size:9px;letter-spacing:.4px;font-weight:500;padding:0 10px;border-block:1px solid #eff0ed;white-space:nowrap}th:first-child,td:first-child{padding-left:18px}.check-cell{width:32px}th button{border:0;background:none;padding:0;color:inherit;font:inherit;letter-spacing:inherit;cursor:pointer}th button span{color:#bdc2ba;margin-left:3px}td{height:48px;border-bottom:1px solid #f0f1ee;padding:5px 10px;font-size:10px;color:#414740;white-space:nowrap}tbody tr:hover{background:#fbfcfa}tbody tr:last-child td{border-bottom:0}input[type=checkbox]{accent-color:var(--green);width:13px;height:13px;cursor:pointer}.date{color:#788077;font-variant-numeric:tabular-nums}.description{font-weight:600;color:#353c35;max-width:235px;overflow:hidden;text-overflow:ellipsis}.description small{display:block;font-weight:400;color:#9ba097;margin-top:4px;font-size:9px}.account-name{display:flex;align-items:center;gap:7px}.bank-dot{width:22px;height:22px;border-radius:7px;display:grid;place-items:center;background:#edf1ed;font-size:9px;color:#596c5c}.amount{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.amount.positive{color:#477452}.amount-head{text-align:right}.editable{min-width:95px}.editable select{appearance:none;width:100%;min-width:92px;max-width:142px;height:26px;border:1px solid transparent;border-radius:5px;padding:0 17px 0 7px;background:transparent;color:#566053;font:10px 'DM Sans';cursor:pointer}.editable select:hover,.editable select:focus{border-color:#dce4dc;background:#fff;outline:none}.editable select.empty{color:#aa8b5d;background:#fbf6eb}.pill{display:inline-flex;align-items:center;gap:5px;border-radius:99px;padding:5px 8px;font-size:9px;background:#eef3ee;color:#57745d}.pill.pending{background:#f7efdf;color:#9a7942}.pill i{width:5px;height:5px;border-radius:50%;background:currentColor}.table-footer{height:39px;border-top:1px solid #eff0ed;display:flex;align-items:center;justify-content:space-between;padding:0 17px;font-size:9px;color:#91978e}.table-footer b{color:#8ca28f;font-size:13px;margin-left:4px}.page-footer{display:flex;justify-content:space-between;color:#9ba097;font-size:9px;padding:17px 2px}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%,12px);padding:10px 15px;background:#24352b;color:#fff;border-radius:8px;font-size:11px;opacity:0;pointer-events:none;transition:.2s;z-index:5}.toast.show{opacity:1;transform:translate(-50%,0)}dialog{border:0;border-radius:14px;width:min(420px,calc(100% - 28px));padding:26px;color:var(--ink);box-shadow:0 20px 80px #18251c33}dialog::backdrop{background:#18251c66;backdrop-filter:blur(2px)}dialog h2{font:600 23px var(--serif);margin:9px 0}dialog p{color:#858b82;font-size:11px;margin-bottom:20px}dialog label{font-size:10px;color:#747a72;display:block;margin:12px 0}dialog input{display:block;width:100%;height:37px;border:1px solid #e5e8e2;border-radius:7px;margin-top:5px;padding:0 10px;font:11px 'DM Sans';outline-color:#729079}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.secondary{padding:9px 13px;border:1px solid #e6e8e4;background:white;border-radius:7px;font:11px 'DM Sans';color:#596159;cursor:pointer}@media(max-width:850px){.shell{padding:0 21px}.stats{grid-template-columns:repeat(3,1fr)}.stat-note{display:none}.stats article:first-child{padding-left:0}.toolbar{flex-wrap:wrap}.search{flex-basis:100%}.view-label{display:none}.table-wrap{max-height:none}.intro{padding-top:28px}.intro h1{font-size:28px}}@media(max-width:500px){.rail{width:50px}.shell{margin-left:50px;padding:0 13px}.crumb{font-size:10px}.intro{align-items:center}.intro h1{font-size:24px}.intro .primary{font-size:0;padding:9px 12px}.intro .primary span{font-size:16px;margin:0}.stats{padding:14px 10px}.stats article{padding-left:10px}.stats strong{font-size:18px}.stats small{font-size:9px}.toolbar select{flex:1;max-width:none}}

.date-filter{height:36px;max-width:142px;min-width:125px;border:1px solid #e7e9e5;background:#fff;border-radius:7px;color:#555c54;font:10px "DM Sans";padding:0 8px}.date-separator{font-size:10px;color:#8b9089;margin:0 -4px}@media(max-width:850px){.date-filter{flex:1;max-width:none}.date-separator{display:none}}
/* Private access and password recovery */
.access-screen{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:24px;background:#f4f5f3}
.access-screen[hidden]{display:none}
.access-card{width:min(100%,420px);padding:38px;background:#fff;border:1px solid #e8e9e6;border-radius:18px;box-shadow:0 18px 60px #20251b12}
.access-brand{margin-bottom:30px;font-size:34px}
.access-card h1{margin:10px 0 8px;font-size:30px;letter-spacing:-.8px}
.access-card>p{color:#777c75;line-height:1.55;margin:0 0 24px}
.access-card label{display:block;margin:16px 0;font-size:13px;font-weight:600;color:#444a43}
.access-card input{display:block;width:100%;margin-top:7px;padding:12px 13px;border:1px solid #dfe2dc;border-radius:9px;font:inherit;background:#fff}
.access-card label small{display:block;margin-top:6px;color:#888d86;font-weight:400;line-height:1.45}
.access-submit{width:100%;justify-content:center;margin-top:10px;padding:12px}
.access-submit:disabled{opacity:.6;cursor:wait}
.access-switch{display:block;margin:17px auto 0;border:0;background:none;color:#566551;text-decoration:underline;cursor:pointer;font:inherit}
.access-switch[hidden]{display:none}
.access-message{min-height:20px;margin:18px 0 0!important;font-size:13px;text-align:center}
.access-message.error{color:#b34237}
.user-email{font-size:12px;color:#777c75}
.sign-out{border:0;background:transparent;color:#62685f;font:inherit;font-size:12px;cursor:pointer}
body:not(.authenticated)>.rail,body:not(.authenticated)>.shell{visibility:hidden}
@media(max-width:560px){.access-card{padding:28px 23px}.user-email{display:none}}
.table-pages{display:flex;align-items:center;gap:9px}.table-pages button{border:1px solid #e6e8e4;background:#fff;border-radius:5px;padding:5px 8px;color:#596159;font:10px 'DM Sans';cursor:pointer}.table-pages button:disabled{opacity:.45;cursor:default}.table-pages span{min-width:30px;text-align:center}
