:root{--m-surface: #F7F7F5;--m-card: #ffffff;--m-ink: #18181b;--m-ink-secondary: #52525b;--m-muted: #a1a1aa;--m-divider: #f0f0ef;--m-border: #e4e4e7;--m-subtle: #f4f4f5;--m-dash: #ebebeb;--m-green: #48A887;--m-green-dark: #3a8a6e;--m-green-bg: #f0fdfb;--m-green-border: #86e8c6;--m-red: #C1666B;--m-red-bg: #fdf0f1;--m-red-border: #e8aaad;--m-warning: #D4B483;--m-warning-bg: #fdf8f0;--m-warning-border:#e8d0a0;--m-orange: #c2410c;--m-blue: #007aff;--m-dur-micro: .15s;--m-dur-fast: .2s;--m-dur-normal: .3s;--m-dur-swipe: .28s;--m-ease-ios: cubic-bezier(.32, .72, 0, 1);--m-ease-out: cubic-bezier(0, 0, .2, 1);--m-ease-in: cubic-bezier(.4, 0, .8, 1);--m-ease-spring:cubic-bezier(.34, 1.56, .64, 1);--m-dur-sheet-enter: .38s;--m-dur-sheet-exit: .26s;--m-z-input: 2;--m-z-section: 5;--m-z-sticky: 15;--m-z-overlay: 20;--m-z-header: 30;--m-z-dropdown: 50;--m-radius-sm: 8px;--m-radius-md: 12px;--m-radius-item: 14px;--m-radius-input: 18px;--m-radius-sheet: 28px;--m-radius-pill: 20px}.m-shell{position:fixed;left:0;right:0;background:#f7f7f5;display:flex;flex-direction:column;font-family:system-ui,-apple-system,Helvetica Neue,Segoe UI,sans-serif;font-size:14px;color:#18181b;overflow:hidden;-webkit-font-smoothing:antialiased}.m-header{height:52px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;background:#f7f7f5;border-bottom:1px solid rgba(0,0,0,.06);flex-shrink:0;z-index:30}.m-header-logo{line-height:1}.m-header-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:10px;border:none;background:transparent;color:#52525b;cursor:pointer;transition:background .15s;font-size:18px;padding:0}.m-header-btn:active{background:#0000000f}.m-header-login{font-size:13px;font-weight:600;color:#48a887;cursor:pointer;padding:6px 12px;border-radius:20px;background:#16a34a14;border:none;transition:background .15s}.m-header-login:active{background:#16a34a29}.m-header-auth{display:flex;align-items:center;gap:6px}.m-header-signup{font-size:13px;font-weight:600;color:#fff;cursor:pointer;padding:6px 12px;border-radius:20px;background:#48a887;border:none;transition:background .15s}.m-header-signup:active{background:#3a8a6e}.m-user-menu-wrap{position:relative}.m-user-menu{position:absolute;right:0;top:calc(100% + 6px);background:#fff;border-radius:14px;box-shadow:0 8px 32px #00000024,0 0 0 1px #0000000d;min-width:200px;z-index:50;overflow:hidden;animation:menuIn .15s cubic-bezier(.32,.72,0,1);transform-origin:top right;padding:6px 0}.m-user-email{font-size:12px;color:#a1a1aa;padding:8px 16px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.m-scroll-area{flex:1;overflow-y:auto;overflow-x:hidden;min-height:0;scrollbar-width:none;overscroll-behavior-y:none;display:flex;flex-direction:column;background-color:#f7f7f5;background-image:linear-gradient(rgba(0,0,0,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.02) 1px,transparent 1px);background-size:28px 28px;background-position:0 0;padding-bottom:max(24px,env(safe-area-inset-bottom,24px))}.m-scroll-area::-webkit-scrollbar{display:none}.m-scroll-area.m-scroll-locked{overflow:hidden;touch-action:none}.m-scroll-spacer{flex:1;min-height:12px}.m-input-bar{flex-shrink:0;padding:8px 14px 10px}.m-bottom-bar-wrap{flex-shrink:0}.m-quick-chips{display:flex;flex-direction:row;gap:7px;padding:0 14px 10px;overflow-x:auto;scrollbar-width:none;flex-shrink:0;-webkit-overflow-scrolling:touch}.m-quick-chips::-webkit-scrollbar{display:none}.m-quick-chip{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;padding:5px 11px;border-radius:var(--m-radius-pill);border:1.5px solid var(--m-border);background:var(--m-card);cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;color:var(--m-ink-secondary);transition:background var(--m-dur-micro),border-color var(--m-dur-micro),color var(--m-dur-micro);-webkit-tap-highlight-color:transparent;white-space:nowrap}.m-quick-chip:active{background:var(--m-green-bg);border-color:var(--m-green-border);color:var(--m-green)}.m-quick-chip-name{font-weight:600;color:var(--m-ink)}.m-quick-chip:active .m-quick-chip-name{color:var(--m-green-dark)}.m-quick-chip-amount{font-size:12px;color:var(--m-muted);font-weight:500}.m-quick-chip:active .m-quick-chip-amount{color:var(--m-green)}.m-suggestions{display:flex;gap:0;padding:4px 14px 0;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;flex-shrink:0;align-items:center;-webkit-mask-image:linear-gradient(to right,black 75%,transparent 100%);mask-image:linear-gradient(to right,black 75%,transparent 100%);background:#f7f7f5}.m-suggestions::-webkit-scrollbar{display:none}.m-input-zone{padding:14px 14px 10px;background:transparent;position:relative;z-index:2;flex-shrink:0}.m-input-card{background:#fff;border-radius:18px;box-shadow:0 2px 12px #00000014,0 0 0 1px #0000000a;display:flex;align-items:center;gap:10px;padding:12px 14px;transition:box-shadow .2s}.m-input-card.focused{box-shadow:0 4px 20px #16a34a26,0 0 0 2px #16a34a4d}.m-input-card.locked{opacity:.6;pointer-events:none}.m-input-icon{font-size:18px;flex-shrink:0;color:#a1a1aa}.m-input-field{flex:1;border:none;background:transparent;font-size:17px;color:#18181b;letter-spacing:-.2px;outline:none;padding:0;font-family:inherit;line-height:1.4}.m-input-field::placeholder{color:#a1a1aa;font-size:16px}.m-send-btn{width:34px;height:34px;background:#48a887;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;border:none;font-size:16px;color:#fff;transition:transform .15s,opacity .15s,background .15s;font-weight:700}.m-send-btn:not(:disabled):not(.loading){animation:sendPulse 1.8s ease-in-out infinite}.m-send-btn:active{transform:scale(.9);animation:none}.m-send-btn:disabled{opacity:0;pointer-events:none}.m-input-card.focused .m-send-btn:disabled{opacity:.35}.m-send-btn.loading{background:#d4d4d8;pointer-events:none}.m-suggestion{background:transparent;border:none;padding:4px 10px 4px 0;font-size:13px;color:#b4b4b4;cursor:pointer;white-space:nowrap;font-family:inherit;font-weight:400;flex-shrink:0;transition:color .15s;border-right:1px solid #e0e0de;margin-right:10px;line-height:1}.m-suggestion-prefix{font-size:12px;color:#c8c8c8;font-weight:500;white-space:nowrap;flex-shrink:0;margin-right:4px;font-family:inherit}.m-suggestion:last-child{border-right:none;margin-right:0}.m-suggestion:active{color:#52525b}.m-tip-bar{display:flex;align-items:center;gap:7px;padding:8px 14px 2px;overflow:hidden;background:transparent;border:none;width:100%;cursor:pointer;text-align:left;font-family:inherit;-webkit-tap-highlight-color:transparent}.m-tip-bar:active .m-tip-text{opacity:.6}.m-tip-label{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--m-muted);background:var(--m-subtle);padding:2px 6px;border-radius:4px;flex-shrink:0;line-height:1.4}.m-tip-text{font-size:12px;font-weight:400;color:var(--m-ink-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4;will-change:opacity,transform}.m-suggestions-divider{height:1px;background:#00000012;margin:0 14px 4px}.m-month-strip{background:#fafafa;border-bottom:1px solid #e4e4e7;padding:0 16px}.m-month-row{display:flex;align-items:center;gap:8px;height:40px;position:relative}.m-month-row .m-month-label-btn{display:flex;align-items:center;gap:4px;background:transparent;border:none;cursor:pointer;padding:4px 6px;margin-left:-6px;border-radius:6px;-webkit-tap-highlight-color:transparent;transition:background .15s;font-size:12px;font-weight:700;color:#3f3f46;letter-spacing:.03em;white-space:nowrap;flex-shrink:0}.m-month-row .m-month-label-btn:active{background:#ebebeb}.m-month-picker-chevron{color:#a1a1aa;transition:transform .2s ease;flex-shrink:0}.m-month-picker-chevron.open{transform:rotate(-180deg)}.m-inline-divider{width:1px;height:14px;background:#e4e4e7;flex-shrink:0}.m-month-inline-stats{display:flex;align-items:baseline;gap:4px;flex:1}.m-inline-val{font-size:13px;font-weight:700;line-height:1}.m-inline-val.expense{color:var(--m-ink)}.m-inline-val.income{color:#48a887}.m-inline-key{font-size:10px;color:#a1a1aa;text-transform:uppercase;letter-spacing:.04em}.m-inline-sep{font-size:10px;color:#d4d4d8;margin:0 2px}.m-month-picker-dropdown{position:absolute;top:calc(100% + 6px);left:0;transform:none;background:#fff;border:1px solid #e4e4e7;border-radius:14px;box-shadow:0 8px 28px #00000021;z-index:50;padding:14px;min-width:220px;animation:mp-pop .15s ease}@keyframes mp-pop{0%{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.mp-year-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.mp-year-label{font-size:14px;font-weight:700;color:#18181b}.mp-year-btn{background:#f4f4f5;border:1px solid #e4e4e7;border-radius:6px;padding:3px 10px;font-size:16px;cursor:pointer;color:#3f3f46;transition:background .12s;-webkit-tap-highlight-color:transparent}.mp-year-btn:hover:not(:disabled){background:#e4e4e7}.mp-year-btn:disabled{opacity:.3;cursor:not-allowed}.mp-month-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.mp-month-cell{padding:8px 4px;border:1px solid #e4e4e7;border-radius:8px;background:#f4f4f5;font-size:12px;font-weight:500;color:#3f3f46;cursor:pointer;text-align:center;transition:background .12s,border-color .12s;-webkit-tap-highlight-color:transparent}.mp-month-cell:hover:not(:disabled){background:#e4e4e7}.mp-month-cell--selected{background:#c2410c!important;color:#fff!important;border-color:#c2410c!important;font-weight:700}.mp-month-cell--today{border-color:#c2410c;color:#c2410c;font-weight:600}.mp-month-cell--disabled{opacity:.28;cursor:not-allowed}@keyframes emptyCTAIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes bottomBarSlideUp{0%{opacity:0;transform:translateY(64px)}to{opacity:1;transform:translateY(0)}}.m-empty{flex:1;display:flex;flex-direction:column;align-items:stretch;min-height:0}.m-empty-hero{display:flex;flex-direction:column;align-items:center;padding:40px 24px 20px;text-align:center}.m-empty-illustration{width:80px;height:60px;margin-bottom:12px}.m-empty-icon{margin-bottom:16px;animation:m-pen-write 2s ease-in-out infinite;transform-origin:80% 80%}@keyframes m-pen-write{0%{transform:rotate(-8deg) translate(-2px,1px)}25%{transform:rotate(-5deg) translate(2px,-1px)}50%{transform:rotate(-8deg) translate(4px,1px)}75%{transform:rotate(-5deg) translate(2px,-1px)}to{transform:rotate(-8deg) translate(-2px,1px)}}.m-today-nudge{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;margin:20px 14px 4px;padding:16px 14px;cursor:pointer;animation:fadeUp var(--m-dur-normal) var(--m-ease-out) both;-webkit-tap-highlight-color:transparent}.m-today-nudge:active{opacity:.5;transition:opacity 80ms}.m-today-nudge-icon{flex-shrink:0;animation:m-pen-write 2.4s ease-in-out infinite;transform-origin:80% 80%}.m-today-nudge-title{font-size:13px;font-weight:400;color:var(--m-muted);letter-spacing:0;line-height:1.4;text-align:center}.m-empty-title{font-family:Playwrite VN,cursive;font-size:22px;font-weight:400;color:var(--m-ink);margin-bottom:12px;line-height:1.4}.m-empty-dots span{animation:dotPulse 1.4s infinite ease-in-out;opacity:0}.m-empty-dots span:nth-child(1){animation-delay:0s}.m-empty-dots span:nth-child(2){animation-delay:.2s}.m-empty-dots span:nth-child(3){animation-delay:.4s}@keyframes dotPulse{0%,80%,to{opacity:0}40%{opacity:1}}.m-empty-subtitle{font-size:13px;color:#a1a1aa;line-height:1.5}.m-empty-divider{height:1px;background:var(--m-divider, #f0f0ef);margin:0 20px;flex-shrink:0}.m-empty-cta{padding:20px 16px 24px;display:flex;flex-direction:column;gap:16px;animation:emptyCTAIn .22s cubic-bezier(0,0,.2,1) both;transition:opacity .18s ease,transform .18s ease}.m-empty-cta.exiting{opacity:0;transform:translateY(-8px);pointer-events:none}.m-empty-input-trigger{cursor:pointer}.m-empty-input-trigger:active{box-shadow:0 4px 20px #16a34a26,0 0 0 2px #16a34a4d}.m-empty-input-placeholder{flex:1;font-size:16px;color:#a1a1aa;letter-spacing:-.2px;line-height:1.4;-webkit-user-select:none;user-select:none}.m-empty-cta-chips{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.m-empty-cta-chip{background:#fff;border:1.5px solid #e4e4e7;border-radius:20px;padding:5px 12px;font-size:13px;font-weight:500;color:#3f3f46;font-family:inherit;cursor:pointer;transition:all .15s}.m-empty-cta-chip:active{background:#f0fdfb;border-color:#86e8c6;color:#48a887}.m-empty-cta-tips{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:center;row-gap:6px}.m-empty-tip-pair{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.m-empty-tip-chip{background:#f4f4f5;border-radius:6px;padding:2px 8px;font-size:12px;font-weight:700;color:#3f3f46;font-family:SF Mono,Fira Code,monospace}.m-empty-tip-label{font-size:12px;color:#a1a1aa}.m-empty-examples{background:#fff;border:1px solid #f0f0ef;border-radius:12px;padding:12px 16px;width:100%;box-sizing:border-box;margin-top:8px}.m-empty-example-row{display:flex;align-items:center;gap:6px;width:100%;background:none;border:none;padding:6px 0;cursor:pointer;border-bottom:1px solid #f4f4f5;text-align:left}.m-empty-example-row:last-child{border-bottom:none}.m-empty-example-row:active{opacity:.6}.m-empty-ex-input{font-size:12px;font-weight:500;color:#52525b;font-style:italic;flex-shrink:0}.m-empty-ex-arrow{font-size:11px;color:#d1d5db;flex-shrink:0}.m-empty-ex-result{font-size:12px;color:#a1a1aa;flex:1}.m-section-header{display:flex;align-items:center;gap:10px;padding:8px 14px 10px;flex-shrink:0;background:#f7f7f5}.m-section-line{flex:1;height:1px;background:#00000014}.m-section-collapse{color:#a1a1aa;flex-shrink:0;transition:transform .2s ease}.m-section-collapse.collapsed{transform:rotate(-90deg)}.m-section-label{font-size:11px;font-weight:700;color:#a1a1aa;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;flex-shrink:0}.m-section-label.today{color:#c2410c;background:#c2410c1a;border-radius:6px;padding:2px 8px;letter-spacing:.04em}.m-section-total{font-size:12px;font-weight:700;color:#52525b;white-space:nowrap;background:#0000000d;padding:3px 9px;border-radius:20px;flex-shrink:0}.m-section-total.income{color:var(--m-green);background:var(--m-green-bg)}.m-day-group:first-child{margin-top:24px}.m-day-group+.m-day-group{margin-top:4px}.m-log-list{padding:0 14px 8px;display:flex;flex-direction:column;gap:6px}.m-pending-item{display:flex;align-items:center;gap:6px;background:var(--m-card);border:1.5px dashed var(--m-border);border-radius:var(--m-radius-item);padding:10px 10px 10px 12px;opacity:.8;animation:fadeUp .2s ease}.m-pending-body{flex:1;display:flex;align-items:center;gap:10px;cursor:pointer;min-width:0}.m-pending-amount{font-size:14px;font-weight:700;color:var(--m-muted);white-space:nowrap;flex-shrink:0}.m-pending-actions{display:flex;flex-direction:column;gap:4px;flex-shrink:0}.m-pending-confirm{flex-shrink:0;width:28px;height:28px;border-radius:50%;background:var(--m-green-bg);border:1px solid var(--m-green-border);color:var(--m-green);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--m-dur-micro) var(--m-ease-out)}.m-pending-confirm:active{background:var(--m-green-border)}.m-pending-dismiss{flex-shrink:0;width:28px;height:28px;border-radius:50%;background:var(--m-subtle);border:none;color:var(--m-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--m-dur-micro) var(--m-ease-out)}.m-pending-dismiss:active{background:var(--m-border);color:var(--m-ink)}.m-swipe-wrap{position:relative;overflow:hidden;border-radius:14px}.m-swipe-actions{position:absolute;right:0;top:0;bottom:0;display:flex;gap:6px;padding:0 6px;align-items:center;width:80px;box-sizing:border-box}.m-swipe-btn{flex:1;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:none;cursor:pointer;font-size:11px;font-weight:600;font-family:inherit;transition:background .15s,transform .15s;border-radius:10px}.m-swipe-btn span{line-height:1}.m-swipe-btn.delete{background:#fef2f2;color:#dc2626;border:1.5px solid #fca5a5}.m-swipe-btn.delete.confirm{background:#dc2626;color:#fff;border:1.5px solid #dc2626}.m-swipe-btn.delete:active{background:#fee2e2;transform:scale(.96)}.m-swipe-item{position:relative;z-index:1;will-change:transform;background:#f7f7f5}.m-log-item{background:#fff;border-radius:14px;padding:12px 10px 12px 14px;display:flex;align-items:center;gap:8px;box-shadow:0 1px 3px #0000000f;cursor:pointer;transition:background .15s;animation:fadeUp .2s ease;position:relative}.m-log-item:active{background:#f9f9f8}.m-cat-dot{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.m-log-info{flex:1;min-width:0}.m-log-name{display:flex;align-items:center;gap:5px;font-size:14px;font-weight:600;color:#18181b;letter-spacing:-.1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.m-log-recur-icon{color:#a1a1aa;flex-shrink:0}.m-log-meta{font-size:12px;color:#a1a1aa;margin-top:1px}.m-log-amount{font-size:15px;font-weight:700;letter-spacing:-.3px;flex-shrink:0}.m-log-amount.expense,.m-log-amount.bill{color:#18181b}.m-log-amount.income{color:#48a887}.m-name-wrap{margin-bottom:10px}.m-name-input{width:100%;box-sizing:border-box;border:none;border-bottom:1.5px dashed var(--m-dash);background:transparent;font-size:15px;font-weight:500;color:#18181b;font-family:inherit;padding:4px 0 8px;outline:none;transition:border-color .15s}.m-name-input::placeholder{color:#a1a1aa;font-weight:400}.m-name-input:focus{border-bottom-color:#48a887}.m-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000004d;z-index:20;opacity:0;will-change:opacity;transition:opacity var(--m-dur-sheet-exit) var(--m-ease-in);pointer-events:none}.m-overlay.visible{opacity:1;pointer-events:all;transition:opacity var(--m-dur-sheet-enter) var(--m-ease-ios)}.m-confirm{position:absolute;bottom:0;left:0;right:0;max-height:88svh;background:#fff;border-radius:28px 28px 0 0;padding:12px 20px 32px;z-index:30;transform:translateY(100%);will-change:transform;transition:transform var(--m-dur-sheet-exit) var(--m-ease-in);box-shadow:0 -8px 40px #00000026;padding-bottom:max(32px,env(safe-area-inset-bottom,32px))}.m-confirm.visible{transform:translateY(0);transition:transform var(--m-dur-sheet-enter) var(--m-ease-ios)}.m-card-handle{width:36px;height:4px;background:#e5e5e380;border-radius:2px;margin:0 auto 16px}.m-loading-echo{font-size:15px;color:#71717a;margin-bottom:16px;font-style:italic}.m-shimmer{background:linear-gradient(90deg,#f4f4f5 25%,#e5e5e3,#f4f4f5 75%);background-size:200% 100%;animation:shimmer 1.4s infinite;border-radius:8px;margin-bottom:8px}.m-shimmer.lg{height:32px;margin-bottom:12px}.m-shimmer.md{height:20px;width:60%}.m-shimmer.sm{height:16px;width:40%;margin-top:4px}.m-loading-label{margin-top:14px;font-size:13px;color:#a1a1aa;display:flex;align-items:center;gap:6px}.m-spinner{width:14px;height:14px;border:2px solid #e5e5e3;border-top-color:#a1a1aa;border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}.m-type-row{display:flex;gap:8px;margin-bottom:14px}.m-type-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 16px;border-radius:20px;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;border:1.5px solid transparent;font-family:inherit}.m-type-pill svg{flex-shrink:0}.m-type-pill.expense.active{background:#fef2f2;color:#dc2626;border-color:#fca5a5}.m-type-pill.income.active{background:#f0fdfb;color:#48a887;border-color:#86e8c6}.m-type-pill.inactive{background:#f4f4f5;color:#a1a1aa;border-color:#f4f4f5}.m-confirm-amount{font-size:38px;font-weight:800;color:#18181b;letter-spacing:0;margin-bottom:14px;line-height:1}.m-confirm-amount-wrap{display:flex;align-items:baseline;border-bottom:1.5px dashed var(--m-dash);margin-bottom:14px;padding-bottom:8px;transition:border-color .15s}.m-confirm-amount-wrap:focus-within{border-bottom-color:#48a887}.m-confirm-amount-input,.m-confirm-amount-input:not(:placeholder-shown){font-size:38px!important;font-weight:800;color:#18181b;letter-spacing:0;font-variant-numeric:tabular-nums;line-height:1;min-width:0;flex:1;border:none;background:transparent;font-family:inherit;outline:none;padding:0;caret-color:#48a887}.m-confirm-amount-input::placeholder{color:#d4d4d8}.m-confirm-amount-suffix{font-size:38px;font-weight:800;letter-spacing:0;line-height:1;color:#d4d4d8;flex-shrink:0}.m-confirm-field{display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:14px;background:#f9f9f8;margin-bottom:8px;cursor:pointer;transition:background .15s;border:1.5px solid transparent}.m-confirm-field:active{background:#f0f0ef}.m-confirm-field.highlighted{background:#f0fdfb;border-color:#86e8c6}.m-field-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0}.m-field-label{flex:1}.m-field-key{font-size:11px;color:#a1a1aa;font-weight:500;margin-bottom:1px}.m-field-val{font-size:14px;font-weight:600;color:#18181b}.m-field-val.muted{color:#a1a1aa}.m-field-chevron{width:26px;height:26px;display:flex;align-items:center;justify-content:center;color:silver;flex-shrink:0}.m-confidence-note{font-size:12px;color:#a1a1aa;padding:0 2px 10px;line-height:1.4}.m-recurring-row{cursor:pointer}.m-toggle-wrap{position:relative;flex-shrink:0}.m-toggle-input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.m-toggle-track{display:block;width:44px;height:26px;border-radius:13px;background:#d4d4d8;transition:background .2s;position:relative}.m-toggle-input:checked~.m-toggle-track{background:#48a887}.m-toggle-thumb{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #0003;transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.m-toggle-input:checked~.m-toggle-track .m-toggle-thumb{transform:translate(18px)}.m-confirm-btns{display:flex;gap:10px;margin-top:14px}.m-btn-save{flex:1;background:#48a887;color:#fff;border:none;border-radius:14px;height:50px;font-size:15px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .15s,transform .1s;letter-spacing:-.2px;font-family:inherit}.m-btn-save:active{background:#3a8a6e;transform:scale(.98)}.m-btn-cancel{background:#f4f4f5;color:#52525b;border:none;border-radius:14px;height:50px;padding:0 20px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .15s}.m-btn-cancel:active{background:#e5e5e3}.m-inner-nav{overflow:hidden;position:relative}.m-inner-pages{display:flex;transition:transform .3s cubic-bezier(.32,.72,0,1);width:200%}.m-inner-pages.page2{transform:translate(-50%)}.m-inner-page{width:50%;flex-shrink:0}.m-sheet-header{height:44px;display:flex;align-items:center;border-bottom:1px solid #f0f0ef;margin-bottom:4px}.m-sheet-back{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#18181b;cursor:pointer;background:none;border:none;font-family:inherit;flex-shrink:0;transition:background .12s}.m-sheet-back:active{background:#0000000f}.m-sheet-back-chevron{display:none}.m-sheet-title{font-size:15px;font-weight:700;color:#18181b;flex:1;text-align:center;padding-right:60px}.m-sheet-body{overflow-y:auto;scrollbar-width:none;max-height:400px}.m-sheet-body::-webkit-scrollbar{display:none}.m-picker-divider{height:1px;background:#f4f4f4;margin:0 0 0 50px}.m-member-item,.m-cat-item{display:flex;align-items:center;gap:14px;padding:13px 10px;cursor:pointer;border-radius:12px;transition:background .12s}.m-member-item:active,.m-cat-item:active{background:#f4f4f5}.m-member-item.selected,.m-cat-item.selected{background:#f0fdfb}.m-member-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#fff;flex-shrink:0}.m-cat-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.m-member-name,.m-cat-name{flex:1;font-size:15px;font-weight:500;color:#18181b}.m-member-check,.m-cat-check{width:24px;height:24px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#48a887}.m-member-add{display:flex;align-items:center;gap:14px;padding:13px 10px;cursor:pointer;color:#007aff;border-radius:12px;transition:background .12s}.m-member-add:active{background:#f0f8ff}.m-member-add-icon{width:36px;height:36px;border-radius:50%;border:2px dashed #93c5fd;display:flex;align-items:center;justify-content:center;font-size:18px;color:#93c5fd;flex-shrink:0}.m-member-add-label{font-size:15px;font-weight:500}.m-member-input-wrap{margin:4px 0 8px 50px;background:#fff;border:1.5px solid #86e8c6;border-radius:10px;padding:10px 14px;display:flex;align-items:center;gap:8px}.m-member-input{border:none;background:transparent;font-size:15px;color:#18181b;font-family:inherit;outline:none;flex:1;padding:0}.m-upgrade{margin:10px 14px;background:linear-gradient(135deg,#f0fdfb,#dcfce7);border:1px solid #86e8c6;border-radius:16px;padding:14px;position:relative;flex-shrink:0;animation:fadeUp .3s ease}.m-upgrade-header{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px}.m-upgrade-emoji{font-size:18px}.m-upgrade-text-wrap{flex:1}.m-upgrade-title{font-size:13px;font-weight:700;color:#3a8a6e;margin-bottom:2px}.m-upgrade-body{font-size:12px;color:var(--m-green-dark);line-height:1.5}.m-upgrade-dismiss{position:absolute;top:10px;right:12px;color:var(--m-green-dark);cursor:pointer;background:none;border:none;padding:4px;display:flex;align-items:center;justify-content:center;opacity:.7}.m-btn-upgrade{display:block;width:100%;background:var(--m-green);color:#fff;border:none;border-radius:10px;height:36px;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit}@keyframes toastIn{0%{opacity:0;transform:translate(-50%) translateY(-120%)}60%{opacity:1;transform:translate(-50%) translateY(6px)}80%{transform:translate(-50%) translateY(-3px)}to{transform:translate(-50%) translateY(0)}}@keyframes toastOut{0%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(-110%)}}.m-toast-wrap{position:fixed;top:calc(env(safe-area-inset-top,0px) + 12px);left:50%;transform:translate(-50%);z-index:var(--m-z-dropdown);background:var(--m-ink);color:#fff;border-radius:var(--m-radius-pill);box-shadow:0 4px 24px #00000038;overflow:hidden;display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;font-family:system-ui,-apple-system,Helvetica Neue,Segoe UI,sans-serif;pointer-events:none;opacity:1;will-change:transform,opacity}.m-toast-wrap.entering{animation:toastIn .42s var(--m-ease-spring) forwards;pointer-events:all}.m-toast-wrap.visible{opacity:1;transform:translate(-50%) translateY(0);pointer-events:all}.m-toast-wrap.leaving{animation:toastOut .28s var(--m-ease-ios) forwards;pointer-events:none}.m-toast-wrap.simple{padding:10px 20px;white-space:nowrap}.m-toast-wrap.undo{width:80%;padding:10px 6px 10px 18px}.m-toast-text{flex:1;line-height:1}.m-toast-action{background:#ffffff24;border:1px solid rgba(255,255,255,.22);color:#fff;font-size:12px;font-weight:700;letter-spacing:.02em;padding:5px 13px;border-radius:calc(var(--m-radius-pill) - 4px);cursor:pointer;font-family:inherit;flex-shrink:0;transition:background var(--m-dur-micro) ease;-webkit-tap-highlight-color:transparent}.m-toast-action:hover{background:#ffffff3d}.m-toast-action:active{background:#ffffff52;transform:scale(.96)}.m-toast-progress{position:absolute;bottom:0;left:0;height:3px;background:#a3e635;border-radius:0 0 var(--m-radius-pill) var(--m-radius-pill);transform-origin:left center;animation:toastProgress linear forwards}@keyframes toastProgress{0%{width:100%}to{width:0%}}.m-log-actions{position:relative;flex-shrink:0}.m-kebab-btn{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:#d4d4d8;font-size:18px;cursor:pointer;border-radius:8px;transition:background .15s,color .15s;padding:0;line-height:1;letter-spacing:-1px}.m-kebab-btn:active,.m-kebab-btn:focus-visible{background:#f4f4f5;color:#52525b}.m-log-menu{position:absolute;right:0;top:calc(100% + 4px);background:#fff;border-radius:14px;box-shadow:0 8px 32px #00000024,0 0 0 1px #0000000d;min-width:148px;z-index:50;overflow:hidden;animation:menuIn .15s cubic-bezier(.32,.72,0,1);transform-origin:top right}.m-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:13px 16px;border:none;background:transparent;font-size:14px;font-weight:500;color:#18181b;cursor:pointer;font-family:inherit;text-align:left;transition:background .1s}.m-menu-item:active{background:#f4f4f5}.m-menu-item.danger{color:#dc2626}.m-menu-item.danger:active{background:#fef2f2}.m-menu-icon{font-size:15px;width:18px;text-align:center;flex-shrink:0}.m-menu-divider{height:1px;background:#f0f0ef;margin:0 12px}@keyframes menuIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes sendPulse{0%,to{transform:scale(1);box-shadow:0 0 #48a88780}50%{transform:scale(1.08);box-shadow:0 0 0 6px #48a88700}}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.m-multi-summary{display:flex;background:#f9f9f8;border-radius:14px;padding:10px 14px;margin-bottom:10px;justify-content:space-between}.m-multi-stat{display:flex;flex-direction:column;align-items:center;flex:1;gap:2px}.m-multi-stat+.m-multi-stat{border-left:1px solid #e5e5e3}.m-multi-stat-label{font-size:10px;color:#a1a1aa;font-weight:500;text-transform:uppercase;letter-spacing:.06em}.m-multi-stat-val{font-size:14px;font-weight:700;color:#18181b;letter-spacing:-.3px}.m-multi-stat-val.expense{color:var(--m-ink)}.m-multi-stat-val.income{color:#48a887}.m-multi-item-list{display:flex;flex-direction:column;gap:7px;margin-bottom:12px;max-height:44svh;overflow-y:auto;-webkit-overflow-scrolling:touch}.m-log-item.low-conf{border:1.5px solid #fde68a;background:#fffdf5}.m-low-conf-badge{font-size:10px;background:#fff7ed;color:#c2410c;border:1px solid #fed7aa;border-radius:6px;padding:1px 7px;font-weight:600;white-space:nowrap;flex-shrink:0}.m-multi-expanded{background:#fff;border:1.5px solid #e5e5e3;border-radius:16px;padding:10px 10px 8px;display:flex;flex-direction:column;gap:6px;box-shadow:0 2px 10px #00000012}.m-multi-expanded .m-confirm-field{margin-bottom:0;border-radius:12px}.m-multi-amt-input{border:none;background:transparent;font-size:14px;font-weight:600;color:#18181b;width:100%;outline:none;font-family:inherit;letter-spacing:-.2px}.m-multi-amt-input::placeholder{color:#d4d4d8}.m-multi-done-btn{width:100%;height:38px;background:#48a887;color:#fff;border:none;border-radius:12px;font-size:14px;font-weight:700;cursor:pointer;margin-top:2px}.m-pwa-banner{margin:10px 14px 4px;background:var(--m-card);border:1px solid var(--m-border);border-radius:16px;padding:14px;position:relative;display:flex;align-items:center;gap:10px;flex-shrink:0;animation:fadeUp .3s ease;box-shadow:0 2px 8px #0000000f}.m-pwa-banner-icon{font-size:20px;flex-shrink:0}.m-pwa-banner-text{flex:1;min-width:0}.m-pwa-banner-title{font-size:13px;font-weight:700;color:var(--m-ink);margin-bottom:2px}.m-pwa-banner-body{font-size:12px;color:var(--m-ink-secondary);line-height:1.4}.m-pwa-install-btn{flex-shrink:0;background:var(--m-green);color:#fff;border:none;border-radius:9px;padding:7px 13px;font-size:12px;font-weight:700;cursor:pointer;font-family:inherit;transition:background var(--m-dur-micro) var(--m-ease-out)}.m-pwa-install-btn:active{background:var(--m-green-dark);transform:scale(.97)}.m-pwa-dismiss{position:absolute;top:10px;right:12px;font-size:15px;color:var(--m-muted);background:none;border:none;cursor:pointer;font-weight:600;padding:0}.m-pwa-sheet{position:absolute;bottom:0;left:0;right:0;background:var(--m-card);border-top:1px solid var(--m-border);border-radius:22px 22px 0 0;padding:12px 20px 40px;animation:m-sheet-enter var(--m-dur-sheet-enter) var(--m-ease-ios) both;z-index:var(--m-z-dropdown)}.m-pwa-sheet.dismissing{animation:m-sheet-exit var(--m-dur-sheet-exit) var(--m-ease-in) both}.m-pwa-sheet-handle{width:36px;height:4px;background:var(--m-border);border-radius:2px;margin:0 auto 18px}.m-pwa-sheet-title{font-size:17px;font-weight:800;color:var(--m-ink);margin-bottom:8px}.m-pwa-sheet-body{font-size:14px;color:var(--m-ink-secondary);line-height:1.5;margin-bottom:20px}.m-pwa-steps{list-style:none;padding:0;margin:0 0 22px;display:flex;flex-direction:column;gap:14px}.m-pwa-steps li{display:flex;align-items:flex-start;gap:12px;font-size:14px;color:var(--m-ink);line-height:1.5}.m-pwa-step-icon{width:24px;height:24px;background:var(--m-green);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;flex-shrink:0;margin-top:1px}.m-pwa-share-icon{font-size:15px;vertical-align:middle;background:var(--m-subtle);border-radius:5px;padding:1px 4px}.m-pwa-sheet-btns{display:flex;gap:10px}.m-pwa-got-it{flex:1;background:var(--m-green);color:#fff;border:none;border-radius:12px;height:46px;font-size:15px;font-weight:700;cursor:pointer;font-family:inherit;transition:background var(--m-dur-micro) var(--m-ease-out)}.m-pwa-got-it:active{background:var(--m-green-dark);transform:scale(.98)}.m-pwa-later{flex:0 0 80px;background:var(--m-subtle);color:var(--m-ink-secondary);border:1px solid var(--m-border);border-radius:12px;height:46px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;transition:background var(--m-dur-micro) var(--m-ease-out)}.m-pwa-later:active{background:var(--m-border)}.m-pwa-guide{max-height:88vh;overflow-y:auto}.m-pwa-guide-tabs{display:flex;gap:8px;margin-bottom:20px}.m-pwa-guide-tab{flex:1;height:36px;border-radius:10px;border:1.5px solid var(--m-border);background:var(--m-subtle);color:var(--m-ink-secondary);font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;transition:all var(--m-dur-micro) var(--m-ease-out)}.m-pwa-guide-tab.active{background:var(--m-green-bg);border-color:var(--m-green-border);color:var(--m-green)}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes m-sheet-enter{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes m-sheet-exit{0%{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes m-overlay-enter{0%{opacity:0}to{opacity:1}}@keyframes m-overlay-exit{0%{opacity:1}to{opacity:0}}.m-keyboard-bar{position:fixed;left:0;right:0;height:44px;background:#f2f2f7;border-top:1px solid rgba(0,0,0,.12);display:flex;align-items:center;justify-content:space-between;padding:0 8px 0 16px;z-index:200;animation:slideUp .15s var(--m-ease-out) both}.m-keyboard-hint{font-size:13px;color:var(--m-ink-secondary);letter-spacing:.01em}.m-keyboard-nhap-btn{font-size:15px;font-weight:700;color:var(--m-green);background:none;border:none;padding:10px 10px 10px 20px;cursor:pointer;font-family:inherit;-webkit-tap-highlight-color:transparent;letter-spacing:.01em}.m-keyboard-nhap-btn:active{opacity:.6}.mr-screen{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--m-surface);z-index:90;display:flex;flex-direction:column;overflow:hidden;animation:mr-slide-in .28s cubic-bezier(.32,.72,0,1) both}@keyframes mr-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.mr-header{height:52px;display:flex;align-items:center;padding:0 14px 0 4px;background:var(--m-card);border-bottom:1px solid var(--m-divider);flex-shrink:0}.mr-back{background:none;border:none;padding:8px;cursor:pointer;color:var(--m-ink);display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;flex-shrink:0;-webkit-tap-highlight-color:transparent}.mr-back:active{background:var(--m-subtle)}.mr-header-label{flex:1;text-align:center;font-size:14px;font-weight:600;color:var(--m-ink-secondary)}.mr-header-spacer{width:36px;flex-shrink:0}.mr-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;background-color:var(--m-surface);background-image:linear-gradient(rgba(0,0,0,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.018) 1px,transparent 1px);background-size:28px 28px}.mr-body::-webkit-scrollbar{display:none}.mr-page{position:relative;padding-bottom:36px}.mr-page:before{content:"";position:absolute;left:48px;top:0;bottom:0;width:1.5px;background:#c832322e;pointer-events:none}.mr-month-header{padding:18px 18px 14px 64px;border-bottom:1px solid var(--m-border)}.mr-month-title{font-family:Playwrite VN,cursive;font-weight:150;font-size:22px;color:var(--m-ink);line-height:1.4;letter-spacing:-.2px}.mr-sum{padding:10px 18px 0 64px}.mr-row{display:flex;align-items:baseline;padding:5px 0;border-bottom:1px solid var(--m-divider)}.mr-row:last-of-type{border-bottom:none}.mr-lbl{font-size:13px;color:var(--m-ink-secondary);white-space:nowrap;flex-shrink:0}.mr-dots{flex:1;min-width:12px;border-bottom:1px dotted rgba(0,0,0,.13);margin:0 7px;position:relative;top:-3px}.mr-val{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0}.mr-val.g{color:var(--m-green)}.mr-val.r{color:var(--m-red)}.mr-total{display:flex;align-items:baseline;padding:7px 0 6px;margin-top:2px;border-top:1.5px solid var(--m-ink);position:relative}.mr-total:after{content:"";position:absolute;left:0;right:0;bottom:0;border-bottom:1.5px solid var(--m-ink)}.mr-total-lbl{font-size:13px;font-weight:700;color:var(--m-ink)}.mr-total-val{font-size:15px;font-weight:700;font-variant-numeric:tabular-nums;margin-left:auto}.mr-total-val.g{color:var(--m-green)}.mr-total-val.r{color:var(--m-red)}.mr-insight{margin:8px 18px 4px 64px;padding:6px 0 6px 10px;font-size:12px;font-style:italic;color:var(--m-ink-secondary);line-height:1.5}.mr-insight b{font-style:normal;font-weight:700}.mr-insight--up{border-left:2px solid var(--m-red)}.mr-insight--up b{color:var(--m-red)}.mr-insight--down{border-left:2px solid var(--m-green)}.mr-insight--down b{color:var(--m-green)}.mr-insight--neutral{border-left:2px solid var(--m-muted);color:var(--m-muted)}.mr-sec{display:flex;align-items:center;gap:10px;padding:13px 18px 8px 64px}.mr-sec span{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--m-muted);white-space:nowrap}.mr-sec-line{flex:1;height:1px;background:var(--m-border)}.mr-tabs{display:flex;padding:0 18px 0 64px;border-bottom:1px solid var(--m-divider)}.mr-tab{padding:7px 12px 7px 0;font-size:12px;font-weight:500;color:var(--m-muted);cursor:pointer;border-bottom:1.5px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.mr-tab.active{color:var(--m-ink);font-weight:700;border-bottom-color:var(--m-green)}.mr-donut-wrap{display:flex;flex-direction:column;align-items:center;padding:4px 18px 8px 64px}.mr-donut-svg{display:block;overflow:visible;filter:drop-shadow(0 2px 12px rgba(0,0,0,.06))}.mr-donut-c-label{font-size:10px;font-weight:500;fill:var(--m-muted);letter-spacing:.05em;text-transform:uppercase;font-family:system-ui,-apple-system,sans-serif}.mr-donut-c-total{font-size:14px;font-weight:700;fill:var(--m-ink);font-variant-numeric:tabular-nums;font-family:system-ui,-apple-system,sans-serif;letter-spacing:-.3px}.mr-donut-c-name{font-size:10px;font-weight:500;fill:var(--m-ink-secondary);font-family:system-ui,-apple-system,sans-serif}.mr-donut-c-amt{font-size:13px;font-weight:700;fill:var(--m-ink);font-variant-numeric:tabular-nums;font-family:system-ui,-apple-system,sans-serif;letter-spacing:-.3px}.mr-donut-c-pct{font-size:10px;font-weight:500;fill:var(--m-muted);font-family:system-ui,-apple-system,sans-serif}.mr-blist{padding:0 18px 2px 64px}.mr-brow{display:flex;align-items:center;padding:6px 0;gap:7px;border-bottom:1px solid var(--m-divider)}.mr-brow:last-child{border-bottom:none}.mr-brow--active{background:var(--m-subtle);border-radius:8px;margin:0 -6px;padding-left:6px;padding-right:6px}.mr-bdot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.mr-bname{font-size:12px;color:var(--m-ink);flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mr-bar-w{width:72px;flex-shrink:0}.mr-bar-bg{height:3px;background:var(--m-subtle);border-radius:2px}.mr-bar-fill{height:3px;border-radius:2px}.mr-pct{font-size:11px;color:var(--m-muted);width:26px;text-align:right;flex-shrink:0}.mr-amt{font-size:11px;font-weight:600;color:var(--m-ink);font-variant-numeric:tabular-nums;width:74px;text-align:right;flex-shrink:0}.mr-brow-empty{font-size:12px;color:var(--m-muted);padding:12px 0;text-align:center}.mr-t3row{display:flex;align-items:center;padding:8px 18px 8px 64px;gap:9px;border-bottom:1px solid var(--m-divider)}.mr-t3row:last-child{border-bottom:none}.mr-t3rank{font-size:11px;font-weight:700;color:var(--m-muted);width:18px;flex-shrink:0}.mr-t3emoji{font-size:15px;flex-shrink:0}.mr-t3info{flex:1;min-width:0}.mr-t3name{font-size:12px;color:var(--m-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mr-t3meta{font-size:11px;color:var(--m-muted)}.mr-t3amt{font-size:12px;font-weight:600;color:var(--m-ink);font-variant-numeric:tabular-nums;flex-shrink:0}.mr-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 24px;text-align:center;gap:6px}.mr-empty-icon{font-size:52px;margin-bottom:8px}.mr-empty-title{font-size:17px;font-weight:600;color:var(--m-ink)}.mr-empty-body{font-size:14px;color:var(--m-muted);margin-bottom:12px}.mr-empty-cta{background:var(--m-green);color:#fff;border:none;padding:12px 28px;border-radius:var(--m-radius-pill);font-size:15px;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent}.mr-empty-cta:active{background:var(--m-green-dark)}.m-report-btn{background:none;border:none;padding:5px 9px;margin-left:4px;cursor:pointer;color:var(--m-blue);display:flex;align-items:center;gap:3px;border-radius:8px;flex-shrink:0;font-family:inherit;-webkit-tap-highlight-color:transparent;transition:opacity var(--m-dur-micro)}.m-report-btn:active{opacity:.6}.mr-footer-space{height:48px}.mr-stats-row{display:flex;align-items:center;padding:8px 18px 14px 64px}.mr-stat-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px}.mr-stat-val{font-size:14px;font-weight:700;color:var(--m-ink);font-variant-numeric:tabular-nums;letter-spacing:-.3px;line-height:1}.mr-stat-val.g{color:var(--m-green)}.mr-stat-val.r{color:var(--m-red)}.mr-stat-key{font-size:9px;font-weight:500;color:var(--m-muted);text-transform:uppercase;letter-spacing:.06em;text-align:center;line-height:1.3}.mr-stat-sep{width:1px;height:26px;background:var(--m-divider);flex-shrink:0}.mr-bars-wrap{padding:4px 18px 14px 64px}.mr-bar-day-rect{transform-box:fill-box;transform-origin:50% 100%}.mr-bars-legend{display:flex;align-items:center;gap:4px;margin-top:6px;font-size:9px;color:var(--m-muted);font-family:system-ui,-apple-system,sans-serif}.mr-bars-legend-dot{display:inline-block;width:6px;height:6px;border-radius:50%;flex-shrink:0}.mr-bars-legend-dash{display:inline-block;width:14px;height:1px;background:var(--m-muted);opacity:.5;border-top:1px dashed var(--m-muted);margin-left:10px;flex-shrink:0}.dog-mascot{position:fixed;bottom:90px;left:0;z-index:999;cursor:pointer;pointer-events:auto}.dog-sprite{background-repeat:no-repeat;image-rendering:pixelated;mix-blend-mode:screen}.dog-mascot:not(.running) .dog-sprite{animation:dog-float 2.4s ease-in-out infinite}@keyframes dog-float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.landing-shell{min-height:100dvh;background-color:var(--m-surface);background-image:linear-gradient(rgba(0,0,0,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.025) 1px,transparent 1px);background-size:28px 28px;font-family:-apple-system,SF Pro Display,Helvetica Neue,Segoe UI,sans-serif;color:var(--m-ink);-webkit-font-smoothing:antialiased;overflow-x:hidden;touch-action:pan-y}.landing-hero{padding:36px 20px 24px;display:flex;flex-direction:column;align-items:center;text-align:center}.landing-logo{margin-bottom:6px;line-height:1}.landing-tagline{font-size:15px;color:var(--m-ink-secondary);margin-bottom:24px;font-weight:400;line-height:1.5}.landing-demo{width:100%;background:var(--m-card);border-radius:22px;border:1px solid var(--m-border);overflow:hidden;box-shadow:0 4px 20px #00000012,0 1px 4px #0000000a;margin-bottom:24px;position:relative;touch-action:pan-y;pointer-events:none;display:flex;flex-direction:column}.landing-demo-header{height:44px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--m-divider);background:var(--m-surface);flex-shrink:0;order:0}.landing-demo-logo{line-height:1}.landing-demo-month{font-size:12px;font-weight:600;color:var(--m-ink-secondary);background:var(--m-subtle);padding:3px 10px;border-radius:999px}.landing-demo-input-block{padding:8px 12px 12px;background:var(--m-surface);border-bottom:1px solid var(--m-divider);flex-shrink:0;order:1}.landing-demo-input-row{display:flex;align-items:center;gap:8px;background:var(--m-card);border-radius:var(--m-radius-input);border:1.5px solid var(--m-border);padding:10px 14px;animation:demo-input-focus 8s linear infinite}.landing-demo-input-text{flex:1;min-height:20px;line-height:20px;position:relative;overflow:hidden;-webkit-user-select:none;user-select:none}.demo-placeholder-text{position:absolute;top:0;right:0;bottom:0;left:0;font-size:14px;font-weight:400;color:var(--m-muted);white-space:nowrap;animation:demo-placeholder-hide 8s linear infinite}.demo-typed-text{display:inline-block;font-size:14px;font-weight:500;color:var(--m-ink);white-space:nowrap;clip-path:inset(0 100% 0 0);animation:demo-typed-reveal 8s linear infinite}.landing-demo-input-icon{font-size:15px;flex-shrink:0;line-height:1}.landing-demo-cursor{display:inline-block;width:2px;height:15px;background:var(--m-green);border-radius:1px;margin-left:1px;vertical-align:middle;animation:landing-blink 1s step-end infinite}@keyframes landing-blink{0%,to{opacity:1}50%{opacity:0}}.landing-demo-send{width:30px;height:30px;background:var(--m-green);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;opacity:.3;animation:demo-send-active 8s linear infinite}.landing-demo-send svg{width:14px;height:14px;fill:#fff}.landing-demo-chips{display:flex;gap:6px;margin-bottom:7px;overflow:hidden}.landing-demo-chip{font-size:12px;font-weight:500;color:var(--m-ink-secondary);background:var(--m-subtle);border-radius:var(--m-radius-pill);padding:4px 10px;white-space:nowrap;border:1px solid var(--m-border)}.landing-demo-scroll{height:196px;flex-shrink:0;order:2;overflow:hidden;background-color:var(--m-surface);background-image:linear-gradient(rgba(0,0,0,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.02) 1px,transparent 1px);background-size:28px 28px;padding:12px 12px 0}.landing-log-list{animation:demo-list-push 8s linear infinite}.landing-today-label{display:inline-flex;align-items:center;font-size:11px;font-weight:700;color:#fff;background:var(--m-orange);padding:3px 10px;border-radius:999px;margin-bottom:8px;text-transform:uppercase;letter-spacing:.4px}.landing-log-item{display:flex;align-items:center;gap:10px;background:var(--m-card);border-radius:var(--m-radius-item);padding:10px 12px;margin-bottom:6px;border:1px solid var(--m-border)}.landing-log-icon{width:32px;height:32px;border-radius:var(--m-radius-sm);display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0;background:var(--m-subtle)}.landing-log-icon--income{background:var(--m-green-bg)}.landing-log-icon--food{background:var(--m-warning-bg)}.landing-log-icon--transport{background:var(--m-subtle)}.landing-log-icon--coffee{background:var(--m-warning-bg)}.landing-log-body{flex:1;min-width:0}.landing-log-name{font-size:13px;font-weight:600;color:var(--m-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.landing-log-cat{font-size:11px;color:var(--m-muted);margin-top:1px}.landing-log-amount{font-size:13px;font-weight:700;color:var(--m-ink);flex-shrink:0}.landing-log-amount--income{color:var(--m-green)}.demo-new-entry{animation:demo-new-entry-in 8s linear infinite}.landing-confirm-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;background:#00000059;display:flex;align-items:flex-end;opacity:0;pointer-events:none;border-radius:22px;overflow:hidden;animation:demo-overlay-show 8s linear infinite}.landing-confirm-card{width:100%;background:var(--m-card);border-radius:var(--m-radius-sheet) var(--m-radius-sheet) 0 0;padding:14px 16px 20px;animation:demo-card-slide 8s linear infinite}.landing-confirm-handle{width:36px;height:4px;background:var(--m-border);border-radius:2px;margin:0 auto 12px}.landing-confirm-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--m-muted);margin-bottom:10px}.landing-confirm-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.landing-confirm-amount{font-size:26px;font-weight:800;color:var(--m-ink);letter-spacing:-.5px}.landing-type-pill{font-size:12px;font-weight:600;padding:5px 14px;border-radius:var(--m-radius-pill);background:var(--m-subtle);color:var(--m-ink-secondary);border:1px solid var(--m-border)}.landing-confirm-fields{display:flex;gap:8px;margin-bottom:12px}.landing-confirm-field{flex:1;background:var(--m-subtle);border-radius:var(--m-radius-md);padding:8px 10px;display:flex;align-items:flex-start;gap:7px}.landing-field-icon{width:28px;height:28px;min-width:28px;border-radius:var(--m-radius-sm);background:var(--m-card);display:flex;align-items:center;justify-content:center;font-size:14px;margin-top:1px}.landing-field-body{flex:1;min-width:0}.landing-field-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--m-muted);margin-bottom:2px}.landing-field-val{font-size:13px;font-weight:600;color:var(--m-ink)}.landing-confirm-save{width:100%;height:44px;background:var(--m-green);color:#fff;font-size:14px;font-weight:700;border:none;border-radius:var(--m-radius-pill);display:flex;align-items:center;justify-content:center;font-family:inherit}.landing-ctas{display:flex;flex-direction:column;gap:10px;width:100%;margin-bottom:12px}.landing-btn-primary{width:100%;height:52px;background:var(--m-green);color:#fff;font-size:16px;font-weight:700;border:none;border-radius:var(--m-radius-pill);cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 4px 16px #16a34a47,0 1px 4px #16a34a26;transition:background var(--m-dur-micro),transform .12s var(--m-ease-spring);-webkit-tap-highlight-color:transparent}.landing-btn-primary:active{background:var(--m-green-dark);transform:scale(.98)}.landing-btn-secondary{width:100%;height:52px;background:var(--m-card);color:var(--m-ink);font-size:15px;font-weight:600;border:1.5px solid var(--m-border);border-radius:var(--m-radius-pill);cursor:pointer;font-family:inherit;transition:background var(--m-dur-micro);-webkit-tap-highlight-color:transparent}.landing-btn-secondary:active{background:var(--m-subtle)}.landing-no-account{font-size:12px;color:var(--m-muted);display:flex;align-items:center;justify-content:center;gap:8px}.landing-no-account:before,.landing-no-account:after{content:"";flex:1;height:1px;background:var(--m-divider);max-width:44px}.landing-divider{height:1px;background:var(--m-divider);margin:0 24px}.landing-section{padding:22px 20px}.landing-feature-tag{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:var(--m-green);background:var(--m-green-bg);border:1px solid var(--m-green-border);padding:4px 10px;border-radius:var(--m-radius-pill);margin-bottom:10px}.landing-feature-heading{font-size:22px;font-weight:700;color:var(--m-ink);line-height:1.25;margin-bottom:8px;letter-spacing:-.4px}.landing-feature-body{font-size:14px;line-height:1.65;color:var(--m-ink-secondary);margin-bottom:20px}.landing-nlp-card{background:var(--m-card);border:1px solid var(--m-border);border-radius:18px;overflow:hidden;box-shadow:0 2px 12px #0000000f}.landing-nlp-examples{padding:14px 14px 8px;display:flex;flex-direction:column;gap:7px}.landing-nlp-row{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--m-subtle);border-radius:10px}.landing-nlp-input{font-size:13px;font-weight:600;color:var(--m-ink);flex:1}.landing-nlp-arrow{font-size:12px;color:var(--m-muted)}.landing-nlp-result{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:600}.landing-nlp-cat{color:var(--m-ink-secondary)}.landing-nlp-amount{color:var(--m-red);margin-left:2px}.landing-nlp-amount.income{color:var(--m-green)}.landing-nlp-hint{padding:6px 14px 12px;font-size:11px;color:var(--m-muted);text-align:center;font-weight:500}.landing-plan-card{background:var(--m-card);border:1px solid var(--m-border);border-radius:20px;overflow:hidden;box-shadow:0 2px 16px #00000012}.landing-plan-header-row{display:grid;grid-template-columns:1fr 88px 88px 88px;border-bottom:1px solid var(--m-border)}.landing-plan-spacer{padding:16px;display:flex;align-items:center}.landing-plan-col-head{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:16px 10px;gap:4px;text-align:center;position:relative}.landing-plan-col-head--free{background:#16a34a0f;border-left:1px solid rgba(22,163,74,.18);border-right:1px solid rgba(22,163,74,.18)}.landing-plan-col-head--pro{border-left:1px solid var(--m-border)}.landing-plan-col-head--premium{border-left:1px solid rgba(245,158,11,.35);background:#f59e0b0f}.landing-plan-badge{font-size:9px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--m-green);background:#16a34a1f;border-radius:100px;padding:2px 7px;margin-bottom:2px}.landing-plan-col-name{font-size:12px;font-weight:700;color:var(--m-ink)}.landing-plan-col-sub{font-size:11px;color:var(--m-muted)}.landing-plan-row{display:grid;grid-template-columns:1fr 88px 88px 88px;border-bottom:1px solid var(--m-border)}.landing-plan-row:last-child{border-bottom:none}.landing-plan-feature{padding:11px 16px;font-size:12.5px;color:var(--m-ink-secondary);font-weight:500;display:flex;align-items:center}.landing-plan-cell{display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;border-left:1px solid var(--m-border)}.landing-plan-cell--free{border-left-color:#16a34a2e;background:#16a34a08}.landing-plan-cell--free.is-yes{color:var(--m-green)}.landing-plan-cell--free.is-no{color:var(--m-border);font-size:18px;font-weight:300}.landing-plan-cell--pro.is-yes{color:var(--m-green)}.landing-plan-cell--pro.is-no{color:var(--m-border);font-size:18px;font-weight:300}.landing-plan-cell--premium{border-left-color:#f59e0b40;background:#f59e0b0a}.landing-plan-cell--premium.is-yes{color:#f59e0b}.landing-plan-cell--premium.is-no{color:var(--m-border);font-size:18px;font-weight:300}.landing-plan-toggle-row{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:10px 16px;background:#f59e0b0d;border:none;border-top:1px solid rgba(245,158,11,.2);cursor:pointer;transition:background .15s}.landing-plan-toggle-row:hover{background:#f59e0b1a}.landing-plan-toggle-label{font-size:11.5px;font-weight:600;color:#f59e0b;letter-spacing:.2px}.landing-plan-toggle-chevron{font-size:15px;font-weight:700;color:#f59e0b;display:inline-block;transform:rotate(90deg);transition:transform .22s ease;line-height:1}.landing-plan-toggle-chevron.is-open{transform:rotate(270deg)}.landing-plan-extra{overflow:hidden;max-height:0;transition:max-height .3s ease}.landing-plan-extra.is-open{max-height:400px}.landing-plan-row--premium-only{background:#f59e0b08}.landing-plan-feature--premium{color:var(--m-ink);font-weight:600}.landing-sync-card{background:var(--m-card);border:1px solid var(--m-border);border-radius:18px;padding:16px;box-shadow:0 2px 12px #0000000f;display:flex;flex-direction:column;gap:10px}.landing-sync-flow{display:flex;align-items:center;justify-content:space-between;gap:6px}.landing-sync-node{flex:1;background:var(--m-subtle);border-radius:12px;padding:12px 8px;text-align:center}.landing-sync-icon{font-size:22px;margin-bottom:4px}.landing-sync-label{font-size:11px;font-weight:600;color:var(--m-ink-secondary);line-height:1.4}.landing-sync-arrow{font-size:16px;color:var(--m-green);flex-shrink:0}.landing-sync-badge{font-size:12px;color:var(--m-green);background:var(--m-green-bg);border:1px solid var(--m-green-border);border-radius:8px;padding:8px 12px;font-weight:500;text-align:center;line-height:1.5}.landing-pwa-tabs{display:flex;gap:6px;margin-bottom:14px}.landing-pwa-tab{flex:1;padding:8px 0;text-align:center;font-size:13px;font-weight:600;border-radius:var(--m-radius-md);border:1.5px solid var(--m-border);background:var(--m-subtle);color:var(--m-ink-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:5px;transition:background var(--m-dur-micro),border-color var(--m-dur-micro),color var(--m-dur-micro);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.landing-pwa-tab.active{background:var(--m-ink);border-color:var(--m-ink);color:#fff}.landing-pwa-steps{display:flex;flex-direction:column;gap:0}.landing-pwa-step{display:flex;gap:14px;align-items:flex-start;padding:13px 0;position:relative}.landing-pwa-step:not(:last-child):after{content:"";position:absolute;left:15px;top:40px;bottom:-2px;width:1.5px;background:var(--m-border)}.landing-pwa-num{width:31px;height:31px;min-width:31px;border-radius:50%;background:var(--m-card);border:1.5px solid var(--m-border);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--m-ink-secondary);z-index:1}.landing-pwa-content{flex:1;padding-top:4px}.landing-pwa-title{font-size:14px;font-weight:600;color:var(--m-ink);line-height:1.3}.landing-pwa-sub{font-size:12px;color:var(--m-muted);margin-top:3px;line-height:1.5}.landing-pwa-badge{display:inline-flex;align-items:center;gap:3px;background:var(--m-subtle);border:1px solid var(--m-border);border-radius:6px;padding:1px 6px;font-size:12px;font-weight:600;color:var(--m-ink);vertical-align:middle;line-height:1.7;white-space:nowrap}.landing-free-section{text-align:center;padding-top:36px;padding-bottom:36px}.landing-free-quote{display:flex;align-items:baseline;justify-content:center;gap:6px;font-size:26px;font-weight:500;color:var(--m-ink);line-height:1;margin:0 0 14px;letter-spacing:-.3px;white-space:nowrap}.landing-free-openquote,.landing-free-closequote{font-size:48px;line-height:1;color:var(--m-green);opacity:.35;font-family:Georgia,serif;font-weight:700}.landing-free-quote strong{font-family:Playwrite VN,cursive;font-size:30px;font-weight:400;color:var(--m-green);letter-spacing:-.5px}.landing-free-sub{font-size:13px;color:var(--m-muted);margin:0;line-height:1.6}.landing-premium-link{background:none;border:none;padding:0;font:inherit;font-size:inherit;color:var(--m-green);font-weight:700;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.landing-plans-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:80;display:flex;align-items:flex-end}.landing-plans-sheet{width:100%;max-height:88vh;background:var(--m-card);border-radius:24px 24px 0 0;display:flex;flex-direction:column;animation:m-sheet-enter .38s cubic-bezier(.32,.72,0,1) both}.landing-plans-handle{width:36px;height:4px;background:var(--m-border);border-radius:2px;margin:12px auto 0;flex-shrink:0}.landing-plans-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px 12px;border-bottom:1px solid var(--m-divider);flex-shrink:0}.landing-plans-title{font-size:15px;font-weight:700;color:var(--m-ink)}.landing-plans-close{background:var(--m-subtle);border:none;width:28px;height:28px;border-radius:50%;font-size:13px;color:var(--m-muted);cursor:pointer;display:flex;align-items:center;justify-content:center}.landing-plans-body{overflow-y:auto;padding:16px 16px 40px;-webkit-overflow-scrolling:touch}.landing-footer{padding:8px 20px 40px;display:flex;flex-direction:column;gap:14px;text-align:center}.landing-footer-note{font-size:12px;color:var(--m-muted)}.landing-footer-badges{display:flex;align-items:center;justify-content:flex-start;gap:16px;text-align:left}.landing-footer-badge{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--m-ink-secondary);font-weight:500}.landing-footer-dot{width:6px;height:6px;border-radius:50%;background:var(--m-green);flex-shrink:0}.landing-footer-brand{font-size:11px;color:var(--m-muted);padding-top:4px;border-top:1px solid var(--m-divider)}.landing-scroll-hint{margin-top:16px;display:flex;justify-content:center}.landing-scroll-arrow{width:40px;height:56px;color:var(--m-green);filter:drop-shadow(0 2px 6px rgba(22,163,74,.25));animation:landing-hint-sketch 1.8s cubic-bezier(.45,0,.55,1) infinite;transform-origin:center top}@keyframes landing-hint-sketch{0%{transform:translateY(0) rotate(-4deg);opacity:.6}30%{transform:translateY(8px) rotate(3deg);opacity:1}60%{transform:translateY(12px) rotate(-2deg);opacity:1}to{transform:translateY(0) rotate(-4deg);opacity:.6}}.landing-section--competitor{text-align:center}.landing-comp-header{max-width:560px;margin:0 auto 32px}.landing-comp-subhead{font-size:15px;color:var(--m-ink-secondary);line-height:1.65;margin-top:10px}.landing-comp-table-wrap{border-radius:16px;border:1px solid var(--m-border);box-shadow:0 2px 16px #00000012;overflow:hidden}.landing-comp-table{width:100%;border-collapse:collapse;background:var(--m-card);table-layout:fixed}.landing-comp-th{padding:14px 10px;font-size:12px;font-weight:700;border-bottom:1px solid var(--m-border);white-space:normal;word-break:keep-all;text-align:center;vertical-align:middle}.landing-comp-th--label{text-align:left;width:40%;color:transparent}.landing-comp-th--us{background:#16a34a12;border-left:1px solid rgba(22,163,74,.2);color:var(--m-green)}.landing-comp-th--us span{display:block;text-align:center}.landing-comp-th--other{color:var(--m-ink-secondary);border-left:1px solid var(--m-border)}.landing-comp-th--other span{display:block;text-align:center}.landing-table-logo{display:block;transform:scale(1.275);transform-origin:left center}.landing-comp-us-badge{display:inline-block!important;font-size:9px!important;font-weight:800;letter-spacing:.5px;text-transform:uppercase;background:#16a34a26;color:var(--m-green);border-radius:100px;padding:2px 7px;margin-bottom:4px}.landing-comp-row:last-child td{border-bottom:none}.landing-comp-td{padding:12px 10px;border-bottom:1px solid var(--m-border);vertical-align:middle;word-break:break-word}.landing-comp-td--label{font-size:12.5px;font-weight:500;color:var(--m-ink-secondary);text-align:left;word-break:keep-all}.landing-comp-td--us{text-align:center;background:#16a34a0a;border-left:1px solid rgba(22,163,74,.2)}.landing-comp-td--other{text-align:center;border-left:1px solid var(--m-border)}.landing-comp-yes{font-size:15px;font-weight:700;color:var(--m-ink-tertiary, var(--m-muted))}.landing-comp-yes--us{color:var(--m-green);font-size:16px}.landing-comp-no{font-size:16px;font-weight:300;color:var(--m-border)}.landing-comp-partial{font-size:11px;color:var(--m-muted);font-weight:500}.landing-comp-us-val{font-size:12px;font-weight:700;color:var(--m-green);display:flex;align-items:center;justify-content:center;gap:4px;flex-wrap:wrap;line-height:1.5;text-align:center}.landing-report-card{background:var(--m-card);border:1px solid var(--m-border);border-radius:18px;padding:16px;display:flex;flex-direction:column;gap:12px}.landing-report-header{display:flex;justify-content:space-between;align-items:center}.landing-report-month{font-family:Playwrite VN,cursive;font-size:14px;font-weight:400;color:var(--m-ink);letter-spacing:-.1px}.landing-report-summary{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:700;font-variant-numeric:tabular-nums}.landing-report-exp{color:var(--m-red)}.landing-report-inc{color:var(--m-green)}.landing-report-sep{color:var(--m-muted);font-weight:400}.landing-report-ledger{display:flex;flex-direction:column;border-top:1.5px solid var(--m-ink);padding-top:2px}.landing-report-row{display:flex;align-items:center;padding:6px 0;border-bottom:1px dotted rgba(0,0,0,.1);gap:6px}.landing-report-row--total{border-bottom:none;border-top:1.5px solid var(--m-ink);margin-top:2px;padding-top:7px}.landing-report-row-label{font-size:12px;color:var(--m-ink-secondary);flex-shrink:0}.landing-report-row-dots{flex:1;border-bottom:1px dotted rgba(0,0,0,.13);margin:0 4px 4px;align-self:flex-end}.landing-report-row-val{font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;flex-shrink:0}.landing-report-row-val--red{color:var(--m-red)}.landing-report-row-val--green{color:var(--m-green)}.landing-report-cats{background:var(--m-subtle);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:7px}.landing-report-cats-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--m-muted);margin-bottom:2px}.landing-report-cat-row{display:flex;align-items:center;gap:7px;font-size:12px}.landing-report-cat-name{flex:1;color:var(--m-ink);font-weight:500}.landing-report-cat-bar-bg{width:56px;height:3px;background:var(--m-border);border-radius:2px;overflow:hidden;flex-shrink:0}.landing-report-cat-bar-fill{height:100%;background:var(--m-green);border-radius:2px}.landing-report-cat-amt{font-size:11px;font-weight:700;color:var(--m-ink);font-variant-numeric:tabular-nums;width:64px;text-align:right;flex-shrink:0}.landing-report-badge{font-size:12px;color:var(--m-green);font-weight:500;background:var(--m-green-bg);border:1px solid var(--m-green-border);border-radius:10px;padding:8px 12px;text-align:center;line-height:1.4}@keyframes demo-input-focus{0%,5%{border-color:var(--m-border);box-shadow:none;animation-timing-function:ease-out}12%{border-color:var(--m-green);box-shadow:0 0 0 3px #48a88726;animation-timing-function:linear}35%{border-color:var(--m-green);box-shadow:0 0 0 3px #48a88726;animation-timing-function:step-end}37%{border-color:var(--m-border);box-shadow:none}to{border-color:var(--m-border);box-shadow:none}}@keyframes demo-placeholder-hide{0%,12%{opacity:1;animation-timing-function:ease-out}15%{opacity:0;animation-timing-function:linear}35%{opacity:0;animation-timing-function:step-end}37%{opacity:1}to{opacity:1}}@keyframes demo-typed-reveal{0%,12%{clip-path:inset(0 100% 0 0);animation-timing-function:linear}25%{clip-path:inset(0 0% 0 0);animation-timing-function:linear}35%{clip-path:inset(0 0% 0 0);animation-timing-function:step-end}37%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 100% 0 0)}}@keyframes demo-send-active{0%,25%{opacity:.3;animation-timing-function:step-end}29%{opacity:1;animation-timing-function:linear}35%{opacity:1;animation-timing-function:step-end}37%{opacity:.3}to{opacity:.3}}@keyframes demo-overlay-show{0%,29%{opacity:0;animation-timing-function:ease-out}35%{opacity:1;animation-timing-function:linear}57%{opacity:1;animation-timing-function:ease-in}63%{opacity:0}to{opacity:0}}@keyframes demo-card-slide{0%,29%{transform:translateY(100%);animation-timing-function:cubic-bezier(.32,.72,0,1)}35%{transform:translateY(0);animation-timing-function:linear}57%{transform:translateY(0);animation-timing-function:cubic-bezier(.4,0,1,1)}63%{transform:translateY(100%)}to{transform:translateY(100%)}}@keyframes demo-list-push{0%,63%{transform:translateY(-54px);animation-timing-function:cubic-bezier(.32,.72,0,1)}68%{transform:translateY(0);animation-timing-function:linear}88%{transform:translateY(0);animation-timing-function:ease-in}95%{transform:translateY(-54px)}to{transform:translateY(-54px)}}@keyframes demo-new-entry-in{0%,63%{opacity:0;animation-timing-function:ease-out}68%{opacity:1;animation-timing-function:linear}88%{opacity:1;animation-timing-function:ease-out}95%{opacity:0}to{opacity:0}}.landing-nav{display:none}.landing-nav-actions{display:flex;align-items:center;gap:10px}.landing-nav-login{height:36px;padding:0 18px;background:transparent;border:1.5px solid var(--m-border);border-radius:var(--m-radius-pill);font-size:14px;font-weight:600;color:var(--m-ink);cursor:pointer;font-family:inherit;transition:background var(--m-dur-micro)}.landing-nav-login:hover{background:var(--m-subtle)}.landing-nav-try{height:36px;padding:0 18px;background:var(--m-green);border:none;border-radius:var(--m-radius-pill);font-size:14px;font-weight:700;color:#fff;cursor:pointer;font-family:inherit;transition:background var(--m-dur-micro)}.landing-nav-try:hover{background:var(--m-green-dark)}.landing-h1,.landing-hero-eyebrow,.landing-hero-subtitle,.landing-desktop-notice{display:none}.landing-phone-frame{width:100%}.landing-phone-notch{display:none}.landing-stats{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:6px 4px}.landing-stat-item{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:500;color:var(--m-ink-secondary);padding:3px 8px 3px 0}.landing-stat-dot{width:5px;height:5px;border-radius:50%;background:var(--m-green);flex-shrink:0}.landing-section-inner{display:flex;flex-direction:column;gap:20px}.landing-pwa-panels{margin-top:4px}.landing-pwa-panel{display:none}.landing-pwa-panel.active{display:block}.landing-pwa-panel-title{display:none}.landing-footer-heading{font-family:Playwrite VN,cursive;font-size:24px;font-weight:400;color:var(--m-ink);line-height:1.4;letter-spacing:-.2px;margin:0 0 8px}.landing-footer-sub{font-size:13px;color:var(--m-muted);margin:0 0 16px}.landing-footer-btns{display:flex;flex-direction:column;gap:10px;width:100%;margin-top:4px}.landing-footer-btn-primary{height:52px;font-size:16px}.landing-footer-btn-secondary{height:52px;font-size:15px}.landing-social{text-align:center}.landing-social-header{margin-bottom:24px}.landing-testimonials{display:flex;flex-direction:column;gap:12px;margin-bottom:28px}.landing-testimonial{display:flex;gap:14px;align-items:flex-start;background:var(--m-card);border:1px solid var(--m-border);border-radius:16px;padding:16px;text-align:left}.landing-testimonial-avatar{width:40px;height:40px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#fff;letter-spacing:.02em}.landing-testimonial-body{display:flex;flex-direction:column;gap:8px;flex:1}.landing-testimonial-quote{font-size:13px;color:var(--m-ink-secondary);line-height:1.6;font-style:italic}.landing-testimonial-meta{display:flex;flex-direction:column;gap:1px}.landing-testimonial-name{font-size:12px;font-weight:700;color:var(--m-ink)}.landing-testimonial-context{font-size:11px;color:var(--m-muted)}.landing-social-stats{display:flex;align-items:center;justify-content:center;gap:0;background:var(--m-card);border:1px solid var(--m-border);border-radius:16px;padding:16px 0}.landing-social-stat{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px}.landing-social-stat-val{font-size:22px;font-weight:800;color:var(--m-green);font-variant-numeric:tabular-nums;letter-spacing:-.5px}.landing-social-stat-label{font-size:11px;color:var(--m-muted);font-weight:500;text-align:center;line-height:1.3}.landing-social-disclaimer{font-size:11px;color:var(--m-muted);line-height:1.6;text-align:center;font-style:italic;margin-bottom:16px;padding:0 4px}.landing-social-stat-sep{width:1px;height:36px;background:var(--m-border);flex-shrink:0}.landing-faq-section{text-align:center}.landing-faq-list{display:flex;flex-direction:column;gap:8px;text-align:left;margin-top:8px}.landing-faq-item{background:var(--m-card);border:1px solid var(--m-border);border-radius:14px;cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;transition:border-color var(--m-dur-micro),background var(--m-dur-micro);overflow:hidden}.landing-faq-item.open{border-color:var(--m-green-border);background:var(--m-green-bg)}.landing-faq-q{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 16px;font-size:14px;font-weight:600;color:var(--m-ink);line-height:1.4}.landing-faq-chevron{font-size:18px;font-weight:400;color:var(--m-muted);flex-shrink:0;line-height:1;transition:color var(--m-dur-micro)}.landing-faq-item.open .landing-faq-chevron{color:var(--m-green)}.landing-faq-a{padding:12px 16px 15px;font-size:13px;color:var(--m-ink-secondary);line-height:1.65;border-top:1px solid var(--m-green-border);animation:faq-open .18s var(--m-ease-out) both}@keyframes faq-open{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@media (min-width: 820px){.landing-shell{--dt-display: 44px;--dt-h2: 30px;--dt-h3: 18px;--dt-body-lg: 17px;--dt-body: 14px;--dt-label: 12px;--dt-micro: 10px;--dt-lh-display: 1.2;--dt-lh-heading: 1.3;--dt-lh-body: 1.7;--dt-lh-label: 1.5;--dt-ls-display: -.5px;--dt-ls-heading: -.2px;--dt-ls-label: .5px;--dt-ls-micro: .6px}.landing-nav{display:flex;height:64px;align-items:center;justify-content:space-between;padding:0 60px;border-bottom:1px solid var(--m-divider);background:#f7f7f5eb;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);position:sticky;top:0;z-index:50}.landing-hero{display:grid;grid-template-columns:1fr 300px;column-gap:56px;align-items:center;text-align:left;padding:48px 60px;max-width:1024px;margin:0 auto}.landing-logo{display:none!important}.landing-hero-eyebrow{display:inline-flex;align-items:center;gap:6px;font-size:var(--dt-label);font-weight:600;letter-spacing:var(--dt-ls-label);color:var(--m-green);background:#16a34a17;border:1px solid rgba(22,163,74,.22);border-radius:100px;padding:4px 12px;margin-bottom:20px;width:fit-content}.landing-h1{display:block;font-family:Playwrite VN,cursive;font-size:var(--dt-display);font-weight:400;letter-spacing:var(--dt-ls-display);line-height:1.45;color:var(--m-ink);margin:0 0 20px}.landing-h1 span{color:var(--m-green)}.landing-hero-subtitle{display:block;font-size:var(--dt-body-lg);line-height:var(--dt-lh-body);color:var(--m-ink-secondary);margin:0 0 36px;max-width:400px}.landing-tagline{display:none}.landing-phone-frame{grid-column:2;grid-row:1 / 10;align-self:center;background:#1c1c1e;border-radius:46px;padding:14px 10px 20px;box-shadow:0 0 0 1px #333,0 40px 80px #0000006b,0 16px 32px #0000003d;width:300px;height:600px;display:flex;flex-direction:column}.landing-phone-notch{display:block;width:88px;height:24px;background:#1c1c1e;border-radius:12px;margin:0 auto 8px}.landing-demo{border-radius:32px;width:100%;flex:1;min-height:0;margin-bottom:0;overflow:hidden;box-shadow:none;border:none}.landing-demo .landing-demo-scroll{flex:1;height:auto;min-height:0}.landing-ctas{flex-direction:row;width:auto;margin-bottom:0}.landing-btn-primary{width:auto;flex:none;padding:0 28px;font-size:var(--dt-body-lg);height:48px}.landing-btn-secondary{width:auto;flex:none;padding:0 28px;font-size:var(--dt-body);height:48px}.landing-stats{justify-content:flex-start;flex-wrap:nowrap;gap:0;margin-top:12px}.landing-stat-item{font-size:var(--dt-label);padding:3px 14px;border-left:1px solid var(--m-border)}.landing-stat-item:first-child{border-left:none;padding-left:0}.landing-desktop-notice{display:flex;align-items:center;gap:8px;margin-top:20px;padding:10px 14px;background:#00000008;border:1px solid var(--m-border);border-radius:10px;font-size:var(--dt-label);color:var(--m-ink-secondary);line-height:var(--dt-lh-label);max-width:400px}.landing-desktop-notice-icon{font-size:16px;flex-shrink:0}.landing-desktop-notice strong{color:var(--m-ink);font-weight:600}.landing-scroll-hint{justify-content:flex-start;margin-top:20px}.landing-scroll-arrow{width:44px;height:62px}.landing-section{max-width:1024px;margin:0 auto;padding:52px 60px}.landing-divider{max-width:1024px;margin:0 auto}.landing-section-inner{flex-direction:row;align-items:center;gap:64px}.landing-section-copy{flex:1;min-width:0}.landing-section-visual{flex:0 0 380px}.landing-section--alt .landing-section-copy{order:2}.landing-section--alt .landing-section-visual{order:1}.landing-section--plans .landing-section-inner{flex-direction:column;align-items:flex-start;gap:32px}.landing-section--plans .landing-section-copy{order:1;max-width:560px}.landing-section--plans .landing-section-visual{order:2;flex:0 0 auto;width:100%}.landing-section--plans .landing-plan-header-row,.landing-section--plans .landing-plan-row{grid-template-columns:1fr 160px 160px 160px}.landing-feature-tag{font-size:var(--dt-label);letter-spacing:var(--dt-ls-label)}.landing-feature-heading{font-size:var(--dt-h2);line-height:var(--dt-lh-heading);letter-spacing:var(--dt-ls-heading)}.landing-feature-body{font-size:var(--dt-body-lg);line-height:var(--dt-lh-body)}.landing-section--competitor{text-align:center}.landing-comp-th{padding:20px 20px 16px;font-size:var(--dt-body)}.landing-comp-th--label{width:36%}.landing-comp-td{padding:14px 20px}.landing-comp-td--label,.landing-comp-partial{font-size:var(--dt-body)}.landing-comp-yes,.landing-comp-yes--us,.landing-comp-no{font-size:16px}.landing-comp-us-val{font-size:var(--dt-body);gap:6px}.landing-comp-us-badge{font-size:var(--dt-micro)!important;padding:3px 9px}.landing-plan-col-name{font-size:var(--dt-body)}.landing-plan-col-sub{font-size:var(--dt-label)}.landing-plan-feature{font-size:var(--dt-body);padding:13px 20px}.landing-plan-cell,.landing-plan-cell--free.is-no,.landing-plan-cell--pro.is-no,.landing-plan-cell--premium.is-no{font-size:16px}.landing-pwa-tabs{display:none}.landing-pwa-panels{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:28px}.landing-pwa-panel{display:block}.landing-pwa-panel-title{display:block;font-size:var(--dt-label);letter-spacing:var(--dt-ls-label);font-weight:700;color:var(--m-ink-secondary);margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--m-divider)}.landing-pwa-num{width:32px;height:32px;font-size:var(--dt-label);line-height:var(--dt-lh-label)}.landing-pwa-title{font-size:var(--dt-body-lg);line-height:var(--dt-lh-heading);font-weight:600}.landing-pwa-sub{font-size:var(--dt-body);line-height:var(--dt-lh-body)}.landing-footer{max-width:640px;margin:0 auto;padding:52px 60px 64px;flex-direction:column;align-items:center;text-align:center;gap:0}.landing-footer-heading{font-size:var(--dt-h2);line-height:var(--dt-lh-heading);letter-spacing:var(--dt-ls-heading);margin-bottom:12px}.landing-footer-sub{margin-bottom:28px}.landing-footer-btns{flex-direction:row;width:auto;gap:12px;margin-bottom:28px}.landing-footer-btn-primary{width:auto;flex:none;min-width:200px;height:50px;font-size:var(--dt-body-lg)}.landing-footer-btn-secondary{width:auto;min-width:120px;height:50px;font-size:var(--dt-body)}.landing-testimonials{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.landing-testimonial-quote{font-size:var(--dt-label)}.landing-social-stat-val{font-size:28px}.landing-social-stat-label{font-size:var(--dt-label)}.landing-faq-list{max-width:680px;margin-left:auto;margin-right:auto}.landing-faq-q{font-size:var(--dt-body-lg);padding:18px 20px}.landing-faq-a{font-size:var(--dt-body);padding:14px 20px 18px}.landing-footer-badges{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:0;margin-bottom:24px;padding-top:24px;border-top:1px solid var(--m-divider);width:100%}.landing-footer-badge{padding:4px 16px;border-left:1px solid var(--m-border);font-size:var(--dt-label)}.landing-footer-badge:first-child{border-left:none}}
