:root{color:#17211b;font-synthesis:none;background:#e7ebe8;font-family:Inter,Microsoft YaHei,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}body{background:#e7ebe8}button,input,textarea{font:inherit;letter-spacing:0}button{color:inherit;cursor:pointer}button:disabled{cursor:wait;opacity:.48}h1,h2,h3,p{margin:0}h1{font-size:20px}h2{font-size:17px}h3{font-size:14px}small,time{color:#738078;font-size:11px}svg{flex:none}.mobile-app{grid-template-rows:minmax(0, 1fr) calc(62px + env(safe-area-inset-bottom));background:#f4f6f4;border-inline:1px solid #d8ded9;width:min(100%,760px);height:100dvh;margin:0 auto;display:grid;position:relative;overflow:hidden}.icon-button{background:#fff;border:1px solid #d5dcd7;border-radius:7px;place-items:center;width:38px;height:38px;padding:0;display:grid}.icon-button svg{width:18px}.page-host{min-height:0;overflow:hidden}.page-column{flex-direction:column;height:100%;min-height:0;display:flex}.page-scroll{overscroll-behavior:contain;height:100%;min-height:0;padding:12px;overflow-y:auto}.page-list{overscroll-behavior:contain;min-height:0;overflow-y:auto}.page-scroll,.page-list,.detail-body,.filter-pills{scrollbar-width:none}.page-scroll::-webkit-scrollbar{display:none}.page-list::-webkit-scrollbar{display:none}.detail-body::-webkit-scrollbar{display:none}.filter-pills::-webkit-scrollbar{display:none}.page-section{background:#fff;border:1px solid #dce2dd;border-radius:8px;margin-bottom:10px;overflow:hidden}.page-section>header,.detail-section>header,.pending-memory-section>header,.markdown-section>header{border-bottom:1px solid #e5e9e6;justify-content:space-between;align-items:center;gap:10px;min-height:46px;padding:10px 12px;display:flex}.page-section>header h2,.page-section>header h3,.detail-section>header h3,.markdown-section>header h3{align-items:center;gap:7px;display:flex}.page-section>header span,.detail-section>header span,.pending-memory-section>header span,.markdown-section>header span{color:#738078;font-size:11px}.bottom-nav{padding:5px 6px env(safe-area-inset-bottom);background:#fff;border-top:1px solid #d7ddd8;grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;display:grid}.bottom-nav button{color:#6f7a73;background:0 0;border:0;align-content:center;place-items:center;gap:3px;height:53px;font-size:10px;display:grid;position:relative}.bottom-nav button svg{width:21px;height:21px}.bottom-nav button.active{color:#176b48;font-weight:700}.nav-badge{color:#fff;background:#d45b4a;border:2px solid #fff;border-radius:8px;place-items:center;min-width:16px;height:16px;padding:0 4px;font-size:8px;font-style:normal;line-height:1;display:grid;position:absolute;top:2px;left:calc(50% + 7px)}.operation-indicator{z-index:50;left:50%;bottom:calc(70px + env(safe-area-inset-bottom));color:#35433a;background:#fff;border:1px solid #cdd8d0;border-radius:7px;align-items:center;gap:8px;width:max-content;max-width:calc(100% - 28px);min-height:38px;padding:8px 12px;font-size:12px;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 5px 18px #17251b2b}.operation-indicator svg{color:#287555;width:17px}.operation-indicator b{background:#e5ece7;border-radius:9px;place-items:center;min-width:18px;height:18px;font-size:9px;display:grid}.operation-review svg{color:#a57a17}.operation-failed svg{color:#b54b3e}.status{color:#536058;white-space:nowrap;background:#edf0ee;border-radius:4px;align-items:center;min-height:22px;padding:2px 7px;font-size:10px;display:inline-flex}.status-completed,.status-succeeded,.status-active,.status-applied,.status-confirmed{color:#176345;background:#dcefe4}.status-needs_review,.status-open,.status-pending,.status-queued,.status-processing{color:#785b10;background:#f7edc9}.status-failed,.status-dead,.status-voided,.status-rejected{color:#99463b;background:#f6ded9}.negative{color:#bd4d3f}.positive{color:#16704a}.empty,.loading{color:#849087;place-items:center;min-height:128px;padding:20px;font-size:13px;display:grid}.loading.full{height:100%}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error-line{color:#964238;overflow-wrap:anywhere;background:#fff0ed;border-left:3px solid #d26052;margin:8px 10px;padding:9px 10px;font-size:12px}blockquote{color:#637068;border-left:2px solid #d6a33e;margin:8px 0 0;padding-left:10px;font-size:12px;line-height:1.55}button.primary,.primary{color:#fff!important;background:#176b48!important;border-color:#176b48!important}.period-tabs{background:#e9edea;border:1px solid #d7ddd8;border-radius:7px;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin-bottom:8px;padding:4px;display:grid}.period-tabs button{color:#68746c;background:0 0;border:0;border-radius:5px;height:34px;font-size:12px}.period-tabs button.active{color:#165f42;background:#fff;font-weight:750;box-shadow:0 1px 3px #23392b1f}.period-switcher{grid-template-columns:38px minmax(0,1fr) 38px;align-items:center;gap:10px;margin-bottom:10px;display:grid}.period-switcher.all-time{text-align:center;height:38px;padding:10px;display:block}.period-switcher strong{font-size:14px}.period-switcher input{text-align:center;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:0 0;border:0;outline:0;width:100%;height:38px;padding:0 8px;font-size:14px;font-weight:700}.flow-summary{color:#17211b;background:#fff;border:1px solid #dce3de;border-radius:8px;margin-bottom:10px;overflow:hidden;box-shadow:0 2px 8px #24352b0a}.flow-balance{align-items:center;gap:12px;min-height:91px;padding:14px;display:flex}.flow-balance-icon{color:#176b48;background:#e3f1e9;border-radius:7px;flex:0 0 40px;place-items:center;width:40px;height:40px;display:grid}.flow-balance>div{min-width:0}.flow-balance>div>span{color:#68756d;font-size:11px}.flow-balance strong{color:#17211b;overflow-wrap:anywhere;margin-top:3px;font-size:30px;line-height:1.15;display:block}.flow-balance strong.negative{color:#b94a3d}.flow-pairs{border-top:1px solid #e4e9e5;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.flow-pairs button{color:#17211b;text-align:left;background:#fbfcfb;border:0;border-radius:0;min-width:0;min-height:66px;padding:10px 30px 10px 14px;position:relative}.flow-pairs button:first-child{border-right:1px solid #e4e9e5}.flow-pairs button.active{background:#f1f6f3}.flow-pairs button>svg:last-child{color:#8a968e;width:15px;position:absolute;top:50%;right:9px;transform:translateY(-50%)}.flow-pairs span{color:#68756d;align-items:center;gap:5px;font-size:10px;display:flex}.flow-pairs b{overflow-wrap:anywhere;margin-top:4px;font-size:16px;display:block}.flow-pairs .flow-income span svg,.flow-pairs .flow-income b{color:#19724d}.flow-pairs .flow-expense span svg,.flow-pairs .flow-expense b{color:#bf5346}.transaction-section>header span{align-items:center;gap:7px;display:flex}.transaction-section>header span button{color:#176345;background:#fff;border:1px solid #cfd8d1;border-radius:4px;height:25px;padding:0 7px;font-size:10px}.mobile-chart{overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;touch-action:pan-x;-webkit-overflow-scrolling:touch;align-items:flex-end;gap:5px;height:145px;padding:20px 10px 9px;display:flex;overflow-x:auto}.mobile-chart::-webkit-scrollbar{display:none}.mobile-bar{scroll-snap-align:center;flex:0 0 calc(14.2857% - 4.28571px);grid-template-rows:15px minmax(0,1fr) 15px;place-items:end center;width:calc(14.2857% - 4.28571px);height:112px;display:grid}.mobile-bar span{color:#6e7972;font-size:8px}.mobile-bar i{background:#27825a;border-radius:3px 3px 0 0;width:min(18px,80%);display:block}.mobile-bar.zero i{background:#dce4de}.mobile-bar time{margin-top:3px;font-size:9px}.category-mobile-list{padding:5px 9px 9px}.category-mobile-list button{text-align:left;background:0 0;border:0;grid-template-columns:1fr auto;gap:5px 12px;width:100%;padding:9px 4px;display:grid;position:relative}.category-mobile-list button.selected{color:#176b48}.category-mobile-list button>span{align-items:baseline;gap:6px;min-width:0;display:flex}.category-mobile-list button>span small{flex:none}.category-mobile-list .category-amount{justify-content:flex-end}.category-mobile-list button>i{background:#e8ece9;border-radius:2px;grid-column:1/-1;height:3px;overflow:hidden}.category-mobile-list button>i>i{background:#d39b30;height:100%;display:block}.transaction-day{border-top:1px solid #e6eae7}.transaction-day:first-of-type{border-top:0}.transaction-day-head{text-align:left;background:#fff;border:0;justify-content:space-between;align-items:center;gap:10px;width:100%;min-height:52px;padding:0 12px;display:flex}.transaction-day-head>span{align-items:center;gap:6px;min-width:0;display:flex}.transaction-day-head svg{width:16px;transition:transform .15s}.transaction-day-head svg.collapsed{transform:rotate(-90deg)}.transaction-day-head small{margin-left:2px}.transaction-items{background:#fafbfa;padding:0 12px 6px 33px}.transaction-items>div{border-top:1px solid #e7ebe8;justify-content:space-between;align-items:center;gap:12px;min-height:49px;display:flex}.transaction-items>div>span{min-width:0}.transaction-items b{overflow-wrap:anywhere;font-size:13px}.transaction-items small{margin-top:3px;display:block}.subscriptions-mobile>header h2{font-size:15px}.subscriptions-mobile>div{border-top:1px solid #e7ebe8;justify-content:space-between;align-items:center;gap:10px;min-height:56px;padding:8px 12px;display:flex}.subscriptions-mobile>div>span:last-child{justify-items:end;gap:4px;display:grid}.subscriptions-mobile small{margin-top:4px;display:block}.capture-tools{background:#fff;border-bottom:1px solid #dfe4e0;gap:8px;padding:10px;display:flex}.mobile-search{background:#f7f9f7;border:1px solid #d6ddd8;border-radius:7px;flex:1;align-items:center;gap:7px;min-width:0;height:38px;padding:0 10px;display:flex}.mobile-search svg{color:#78837b;width:17px}.mobile-search input{background:0 0;border:0;outline:0;width:100%;height:100%;padding:0}.filter-pills{background:#fff;border-bottom:1px solid #dfe4e0;flex:0 0 47px;align-items:center;gap:7px;min-height:47px;padding:8px 10px;display:flex;overflow:auto hidden}.filter-pills button{white-space:nowrap;background:#fff;border:1px solid #d8ded9;border-radius:5px;min-height:30px;padding:0 12px;font-size:11px}.filter-pills button.active{color:#176344;background:#e2f0e8;border-color:#8ab7a0;font-weight:700}.capture-mobile-row{text-align:left;background:#fff;border:0;border-bottom:1px solid #e1e6e2;grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;gap:9px;width:100%;min-height:78px;padding:11px 12px;display:grid}.capture-mobile-row>div{min-width:0}.capture-mobile-row p{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:13px;font-weight:650;line-height:1.45;display:-webkit-box;overflow:hidden}.capture-mobile-row span:not(.status){color:#758078;margin-top:6px;font-size:10px;display:block}.capture-mobile-row>svg{color:#8a948d;width:17px}.segmented{background:#fff;border-bottom:1px solid #dfe4e0;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:10px;display:grid}.segmented button{color:#68736c;background:#eef1ef;border:0;border-radius:6px;justify-content:center;align-items:center;gap:6px;height:38px;font-size:12px;display:flex}.segmented button svg{width:16px}.segmented button span{background:#fff;border-radius:8px;min-width:19px;padding:2px 5px;font-size:9px}.segmented button.active{color:#176345;background:#deeee5;font-weight:700}.review-page .page-list{padding:9px}.review-card,.memory-review-card{background:#fff;border:1px solid #dbe1dc;border-radius:8px;margin-bottom:8px;overflow:hidden}.review-open{text-align:left;background:#fff;border:0;width:100%;padding:12px 34px 10px 12px;display:block;position:relative}.review-open>svg{color:#89938c;width:17px;position:absolute;top:50%;right:11px;transform:translateY(-50%)}.review-title{justify-content:space-between;align-items:center;gap:10px;display:flex}.review-title span{color:#8b6712;font-size:11px;font-weight:700}.review-open p{overflow-wrap:anywhere;margin-top:8px;font-size:14px;font-weight:650;line-height:1.45}.review-open small{margin-top:7px;line-height:1.4;display:block}.review-dismiss{color:#7b5751;background:#fafbfa;border:0;border-top:1px solid #e5e9e6;justify-content:center;align-items:center;gap:5px;width:100%;height:34px;font-size:11px;display:flex}.review-dismiss svg{width:14px}.memory-review-card{padding:12px}.memory-review-card>div:first-child{color:#6d4e82;justify-content:space-between;align-items:center;gap:10px;font-size:11px;display:flex}.memory-review-card h3{margin-top:10px;font-size:14px;line-height:1.5}.memory-review-card>small{margin-top:10px;display:block}.memory-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.memory-actions button,.pending-memory-section article>div button{background:#fff;border:1px solid #d6ddd8;border-radius:6px;justify-content:center;align-items:center;gap:6px;height:36px;font-size:12px;display:flex}.memory-actions svg,.pending-memory-section button svg{width:15px}.review-reason{color:#765c1f;background:#fff7e4;border-left:3px solid #d1a13e;align-items:flex-start;gap:8px;margin:10px;padding:10px;font-size:12px;line-height:1.45;display:flex}.review-reason svg{width:17px}.people-summary{color:#6f7a73;background:#f8faf8;border-bottom:1px solid #dfe4e0;align-items:center;gap:14px;min-height:48px;padding:8px 12px;font-size:11px;display:flex}.people-summary>svg{color:#426d8f;width:20px}.people-summary span{align-items:baseline;gap:4px;display:flex}.people-summary b{color:#26342b;font-size:15px}.person-row{text-align:left;background:#fff;border:0;border-bottom:1px solid #e1e6e2;grid-template-columns:40px minmax(0,1fr) auto 17px;align-items:center;gap:10px;width:100%;min-height:72px;padding:10px 12px;display:grid}.person-avatar{color:#315b7d;background:#e6edf4;border-radius:8px;place-items:center;width:40px;height:40px;font-weight:800;display:grid}.person-main{min-width:0}.person-main b,.person-main small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.person-main small{margin-top:5px}.person-count{justify-items:end;display:grid}.person-count b{font-size:15px}.person-count small{margin-top:1px}.person-count i{color:#795b10;background:#f7edc9;border-radius:4px;margin-top:4px;padding:2px 5px;font-size:9px;font-style:normal}.person-row>svg{color:#89938c;width:17px}.person-detail{padding:10px}.alias-line{color:#6c7870;background:#f8faf8;border:1px solid #dfe4e0;border-radius:6px;margin-bottom:9px;padding:9px 10px;font-size:11px}.pending-memory-section,.markdown-section{background:#fff;border:1px solid #dce2dd;border-radius:8px;margin-bottom:10px;overflow:hidden}.pending-memory-section article{border-top:1px solid #e5e9e6;padding:11px}.pending-memory-section article b{font-size:13px;line-height:1.5}.pending-memory-section article>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:10px;display:grid}.markdown-body{overflow-wrap:anywhere;color:#253129;padding:14px;font-size:13px;line-height:1.7}.markdown-body h1{border-bottom:1px solid #dfe4e0;margin:0 0 16px;padding-bottom:8px;font-size:20px}.markdown-body h2{color:#245a40;margin:18px 0 8px;font-size:15px}.markdown-body p{margin:8px 0}.markdown-body ul{margin:8px 0;padding-left:20px}.markdown-body li{margin:5px 0}.markdown-body code{background:#eef1ef;border-radius:3px;padding:2px 4px;font:11px Consolas,monospace}.detail-overlay{z-index:30;background:#f4f6f4;grid-template-rows:64px minmax(0,1fr);width:min(100%,760px);height:100dvh;margin:0 auto;display:grid;position:fixed;inset:0}.detail-header{background:#fff;border-bottom:1px solid #d9dfda;justify-content:space-between;align-items:center;gap:12px;padding:9px 12px 8px 15px;display:flex}.detail-header>div{min-width:0}.detail-header h2,.detail-header span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.detail-header span{color:#748078;margin-top:4px;font-size:10px;display:block}.detail-body{overscroll-behavior:contain;min-height:0;overflow-y:auto}.capture-editor{padding-bottom:18px}.editor-band{background:#fff;border-bottom:1px solid #dfe4e0;padding:12px}.editor-band label{color:#4e5b52;gap:7px;font-size:11px;font-weight:700;display:grid}.editor-band textarea{resize:vertical;background:#fbfcfb;border:1px solid #cbd4cd;border-radius:7px;outline:0;width:100%;min-height:110px;padding:10px;line-height:1.55}.editor-band textarea:focus{border-color:#65a282;box-shadow:0 0 0 2px #dceee4}.step-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:10px;display:grid}.step-actions.two-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.step-actions button{background:#fff;border:1px solid #d3dad5;border-radius:6px;justify-content:center;align-items:center;gap:5px;min-height:39px;padding:4px;font-size:11px;display:flex}.step-actions svg{width:15px}.step-track{color:#909991;grid-template-columns:auto 1fr auto 1fr auto;align-items:center;gap:6px;margin-top:12px;font-size:9px;display:grid}.step-track i{background:#dce2dd;height:1px}.step-track span.active{color:#8a6614}.step-track span.done{color:#176b48;font-weight:700}.detail-section{background:#fff;border:1px solid #dce2dd;border-radius:8px;margin:10px;overflow:hidden}.action-block{border-top:1px solid #e5e9e6;padding:11px 12px}.action-block:first-of-type{border-top:0}.action-block>div{justify-content:space-between;align-items:center;gap:10px;display:flex}.action-block p{margin-top:7px;font-size:13px;line-height:1.45}.action-block>span{color:#738078;overflow-wrap:anywhere;margin-top:5px;font-size:10px;display:block}.action-with-controls{border-top:1px solid #e5e9e6;position:relative}.action-with-controls .action-block{border:0;padding-right:82px}.icon-text{justify-content:center;align-items:center;gap:4px;display:flex}.action-with-controls>button{color:#9a4439;background:#fff7f5;border:1px solid #e4b3ab;border-radius:5px;min-height:29px;padding:0 8px;font-size:10px;position:absolute;bottom:10px;right:10px}.action-with-controls>button svg{width:13px}.process-history{background:#fff;border:1px solid #dce2dd;border-radius:8px;margin:10px;overflow:hidden}.process-history summary{cursor:pointer;align-items:center;gap:7px;min-height:44px;padding:9px 12px;font-size:12px;font-weight:700;display:flex}.process-history summary svg{width:15px}.process-history article{border-top:1px solid #e5e9e6;padding:10px 12px}.process-history article time{margin-left:7px}.process-history article p{margin-top:6px;font-size:12px;line-height:1.5}.secondary-wide{background:#fff;border:1px solid #d3dad5;border-radius:6px;justify-content:center;align-items:center;gap:6px;width:calc(100% - 20px);min-height:38px;margin:10px;font-size:12px;display:flex}.secondary-wide svg{width:15px}.login-shell{background:#eef1ef;place-items:center;width:100%;height:100%;padding:18px;display:grid}.login-panel{background:#fff;border:1px solid #d5dcd7;border-radius:8px;gap:16px;width:min(380px,100%);padding:25px 20px;display:grid}.login-mark{color:#fff;background:#176b48;border-radius:8px;place-items:center;width:42px;height:42px;display:grid}.login-mark svg{width:22px}.login-panel h1{font-size:23px}.login-panel p{color:#748078;margin-top:4px;font-size:11px}.login-panel label{color:#536058;gap:6px;font-size:11px;font-weight:700;display:grid}.login-panel input{border:1px solid #cdd6cf;border-radius:6px;outline:0;width:100%;height:42px;padding:0 10px}.login-panel input:focus{border-color:#65a282;box-shadow:0 0 0 2px #dceee4}.login-button{border:1px solid #176b48;border-radius:6px;justify-content:center;align-items:center;gap:7px;height:42px;display:flex}.login-button svg{width:17px}@media (width<=480px){.mobile-app{border-inline:0}.flow-balance strong{font-size:29px}.capture-mobile-row{grid-template-columns:minmax(0,1fr) 17px}.capture-mobile-row .status{display:none}.step-actions button{flex-direction:column;gap:1px;min-height:47px}}@media (width>=720px){.page-scroll{padding:14px 18px}.review-page .page-list{padding:12px 18px}.capture-tools,.filter-pills,.segmented{padding-inline:18px}.detail-overlay{border-inline:1px solid #d8ded9}}
