:root{--ion-color-primary: #0054e9;--ion-color-primary-rgb: 0, 84, 233;--ion-color-primary-contrast: #fff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #004acd;--ion-color-primary-tint: #1a65eb;--ion-color-secondary: #0163aa;--ion-color-secondary-rgb: 1, 99, 170;--ion-color-secondary-contrast: #fff;--ion-color-secondary-contrast-rgb: 255, 255, 255;--ion-color-secondary-shade: #015796;--ion-color-secondary-tint: #1a73b3;--ion-color-tertiary: #6030ff;--ion-color-tertiary-rgb: 96, 48, 255;--ion-color-tertiary-contrast: #fff;--ion-color-tertiary-contrast-rgb: 255, 255, 255;--ion-color-tertiary-shade: #542ae0;--ion-color-tertiary-tint: #7045ff;--ion-color-success: #2dd55b;--ion-color-success-rgb: 45, 213, 91;--ion-color-success-contrast: #000;--ion-color-success-contrast-rgb: 0, 0, 0;--ion-color-success-shade: #28bb50;--ion-color-success-tint: #42d96b;--ion-color-warning: #ffc409;--ion-color-warning-rgb: 255, 196, 9;--ion-color-warning-contrast: #000;--ion-color-warning-contrast-rgb: 0, 0, 0;--ion-color-warning-shade: #e0ac08;--ion-color-warning-tint: #ffca22;--ion-color-danger: #c5000f;--ion-color-danger-rgb: 197, 0, 15;--ion-color-danger-contrast: #fff;--ion-color-danger-contrast-rgb: 255, 255, 255;--ion-color-danger-shade: #ad000d;--ion-color-danger-tint: #cb1a27;--ion-color-light: #f4f5f8;--ion-color-light-rgb: 244, 245, 248;--ion-color-light-contrast: #000;--ion-color-light-contrast-rgb: 0, 0, 0;--ion-color-light-shade: #d7d8da;--ion-color-light-tint: #f5f6f9;--ion-color-medium: #636469;--ion-color-medium-rgb: 99, 100, 105;--ion-color-medium-contrast: #fff;--ion-color-medium-contrast-rgb: 255, 255, 255;--ion-color-medium-shade: #57585c;--ion-color-medium-tint: #737478;--ion-color-dark: #222428;--ion-color-dark-rgb: 34, 36, 40;--ion-color-dark-contrast: #fff;--ion-color-dark-contrast-rgb: 255, 255, 255;--ion-color-dark-shade: #1e2023;--ion-color-dark-tint: #383a3e}html.ios{--ion-default-font: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Roboto", sans-serif}html.md{--ion-default-font: "Roboto", "Helvetica Neue", sans-serif}html{--ion-dynamic-font: -apple-system-body;--ion-font-family: var(--ion-default-font)}body{background:var(--ion-background-color);color:var(--ion-text-color)}body.backdrop-no-scroll{overflow:hidden}html.ios ion-modal.modal-card ion-header ion-toolbar:first-of-type,html.ios ion-modal.modal-sheet ion-header ion-toolbar:first-of-type,html.ios ion-modal ion-footer ion-toolbar:first-of-type,html.ios ion-footer.modal-footer-moving ion-toolbar:first-of-type{padding-top:6px}html.ios ion-modal.modal-card ion-header ion-toolbar:last-of-type,html.ios ion-modal.modal-sheet ion-header ion-toolbar:last-of-type{padding-bottom:6px}html.ios ion-modal ion-toolbar,html.ios .modal-footer-moving ion-toolbar{padding-right:calc(var(--ion-safe-area-right) + 8px);padding-left:calc(var(--ion-safe-area-left) + 8px)}@media screen and (min-width:768px){html.ios ion-modal.modal-card:first-of-type{--backdrop-opacity: .18}}ion-modal.modal-default.show-modal~ion-modal.modal-default{--backdrop-opacity: 0;--box-shadow: none}html.ios ion-modal.modal-card .ion-page{border-top-left-radius:var(--border-radius)}.ion-color-primary{--ion-color-base: var(--ion-color-primary, #0054e9) !important;--ion-color-base-rgb: var(--ion-color-primary-rgb, 0, 84, 233) !important;--ion-color-contrast: var(--ion-color-primary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-primary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-primary-shade, #004acd) !important;--ion-color-tint: var(--ion-color-primary-tint, #1a65eb) !important}.ion-color-secondary{--ion-color-base: var(--ion-color-secondary, #0163aa) !important;--ion-color-base-rgb: var(--ion-color-secondary-rgb, 1, 99, 170) !important;--ion-color-contrast: var(--ion-color-secondary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-secondary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-secondary-shade, #015796) !important;--ion-color-tint: var(--ion-color-secondary-tint, #1a73b3) !important}.ion-color-tertiary{--ion-color-base: var(--ion-color-tertiary, #6030ff) !important;--ion-color-base-rgb: var(--ion-color-tertiary-rgb, 96, 48, 255) !important;--ion-color-contrast: var(--ion-color-tertiary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-tertiary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-tertiary-shade, #542ae0) !important;--ion-color-tint: var(--ion-color-tertiary-tint, #7045ff) !important}.ion-color-success{--ion-color-base: var(--ion-color-success, #2dd55b) !important;--ion-color-base-rgb: var(--ion-color-success-rgb, 45, 213, 91) !important;--ion-color-contrast: var(--ion-color-success-contrast, #000) !important;--ion-color-contrast-rgb: var(--ion-color-success-contrast-rgb, 0, 0, 0) !important;--ion-color-shade: var(--ion-color-success-shade, #28bb50) !important;--ion-color-tint: var(--ion-color-success-tint, #42d96b) !important}.ion-color-warning{--ion-color-base: var(--ion-color-warning, #ffc409) !important;--ion-color-base-rgb: var(--ion-color-warning-rgb, 255, 196, 9) !important;--ion-color-contrast: var(--ion-color-warning-contrast, #000) !important;--ion-color-contrast-rgb: var(--ion-color-warning-contrast-rgb, 0, 0, 0) !important;--ion-color-shade: var(--ion-color-warning-shade, #e0ac08) !important;--ion-color-tint: var(--ion-color-warning-tint, #ffca22) !important}.ion-color-danger{--ion-color-base: var(--ion-color-danger, #c5000f) !important;--ion-color-base-rgb: var(--ion-color-danger-rgb, 197, 0, 15) !important;--ion-color-contrast: var(--ion-color-danger-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-danger-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-danger-shade, #ad000d) !important;--ion-color-tint: var(--ion-color-danger-tint, #cb1a27) !important}.ion-color-light{--ion-color-base: var(--ion-color-light, #f4f5f8) !important;--ion-color-base-rgb: var(--ion-color-light-rgb, 244, 245, 248) !important;--ion-color-contrast: var(--ion-color-light-contrast, #000) !important;--ion-color-contrast-rgb: var(--ion-color-light-contrast-rgb, 0, 0, 0) !important;--ion-color-shade: var(--ion-color-light-shade, #d7d8da) !important;--ion-color-tint: var(--ion-color-light-tint, #f5f6f9) !important}.ion-color-medium{--ion-color-base: var(--ion-color-medium, #636469) !important;--ion-color-base-rgb: var(--ion-color-medium-rgb, 99, 100, 105) !important;--ion-color-contrast: var(--ion-color-medium-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-medium-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-medium-shade, #57585c) !important;--ion-color-tint: var(--ion-color-medium-tint, #737478) !important}.ion-color-dark{--ion-color-base: var(--ion-color-dark, #222428) !important;--ion-color-base-rgb: var(--ion-color-dark-rgb, 34, 36, 40) !important;--ion-color-contrast: var(--ion-color-dark-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-dark-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-dark-shade, #1e2023) !important;--ion-color-tint: var(--ion-color-dark-tint, #383a3e) !important}.ion-page{inset:0;display:flex;position:absolute;flex-direction:column;justify-content:space-between;contain:layout size style;z-index:0}.ion-page.ion-page-overlay-passthrough{pointer-events:none}ion-modal>.ion-page{position:relative;contain:layout style;height:100%}.split-pane-visible>.ion-page.split-pane-main{position:relative}ion-route,ion-route-redirect,ion-router,ion-select-option,ion-nav-controller,ion-menu-controller,ion-action-sheet-controller,ion-alert-controller,ion-loading-controller,ion-modal-controller,ion-picker-controller,ion-popover-controller,ion-toast-controller,.ion-page-hidden{display:none!important}.ion-page-invisible{opacity:0}.can-go-back>ion-header ion-back-button{display:block}html.plt-ios.plt-hybrid,html.plt-ios.plt-pwa{--ion-statusbar-padding: 20px}@supports (padding-top: 20px){html{--ion-safe-area-top: var(--ion-statusbar-padding)}}@supports (padding-top: env(safe-area-inset-top)){html{--ion-safe-area-top: var(--safe-area-inset-top, env(safe-area-inset-top));--ion-safe-area-bottom: var(--safe-area-inset-bottom, env(safe-area-inset-bottom));--ion-safe-area-left: var(--safe-area-inset-left, env(safe-area-inset-left));--ion-safe-area-right: var(--safe-area-inset-right, env(safe-area-inset-right))}}ion-card.ion-color .ion-inherit-color,ion-card-header.ion-color .ion-inherit-color{color:inherit}.menu-content{transform:translateZ(0)}.menu-content-open{cursor:pointer;touch-action:manipulation;pointer-events:none;overflow-y:hidden}.menu-content-open ion-content{--overflow: hidden}.menu-content-open .ion-content-scroll-host{overflow:hidden}.ios .menu-content-reveal{box-shadow:-8px 0 42px #00000014}[dir=rtl].ios .menu-content-reveal{box-shadow:8px 0 42px #00000014}.md .menu-content-reveal,.md .menu-content-push{box-shadow:4px 0 16px #0000002e}ion-accordion-group.accordion-group-expand-inset>ion-accordion:first-of-type{border-top-left-radius:8px;border-top-right-radius:8px}ion-accordion-group.accordion-group-expand-inset>ion-accordion:last-of-type{border-bottom-left-radius:8px;border-bottom-right-radius:8px}ion-accordion-group>ion-accordion:last-of-type ion-item[slot=header]{--border-width: 0px}ion-accordion.accordion-animated>[slot=header] .ion-accordion-toggle-icon{transition:.3s transform cubic-bezier(.25,.8,.5,1)}@media(prefers-reduced-motion:reduce){ion-accordion .ion-accordion-toggle-icon{transition:none!important}}ion-accordion.accordion-expanding>[slot=header] .ion-accordion-toggle-icon,ion-accordion.accordion-expanded>[slot=header] .ion-accordion-toggle-icon{transform:rotate(180deg)}ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-previous ion-item[slot=header]{--border-width: 0px;--inner-border-width: 0px}ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-expanding:first-of-type,ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-expanded:first-of-type{margin-top:0}ion-input input::-webkit-date-and-time-value{text-align:start}.ion-datetime-button-overlay{--width: fit-content;--height: fit-content}.ion-datetime-button-overlay ion-datetime.datetime-grid{width:320px;min-height:320px}[ion-last-focus],header[tabindex="-1"]:focus,[role=banner][tabindex="-1"]:focus,main[tabindex="-1"]:focus,[role=main][tabindex="-1"]:focus,h1[tabindex="-1"]:focus,[role=heading][aria-level="1"][tabindex="-1"]:focus{outline:none}.popover-viewport:has(>ion-content){overflow:hidden}@supports not selector(:has(> ion-content)){.popover-viewport{overflow:hidden}}audio,canvas,progress,video{vertical-align:baseline}audio:not([controls]){display:none;height:0}b,strong{font-weight:700}img{max-width:100%}hr{height:1px;border-width:0;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}label,input,select,textarea{font-family:inherit;line-height:normal}textarea{overflow:auto;height:auto;font:inherit;color:inherit}textarea::placeholder{padding-left:2px}form,input,optgroup,select{margin:0;font:inherit;color:inherit}html input[type=button],input[type=reset],input[type=submit]{cursor:pointer;-webkit-appearance:button}a,a div,a span,a ion-icon,a ion-label,button,button div,button span,button ion-icon,button ion-label,.ion-tappable,[tappable],[tappable] div,[tappable] span,[tappable] ion-icon,[tappable] ion-label,input,textarea{touch-action:manipulation}a ion-label,button ion-label{pointer-events:none}button{padding:0;border:0;border-radius:0;font-family:inherit;font-style:inherit;font-variant:inherit;line-height:1;text-transform:none;cursor:pointer;-webkit-appearance:button}[tappable]{cursor:pointer}a[disabled],button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}*{box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}html{width:100%;height:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}html.ion-ce body{display:block}html.plt-pwa{height:100vh}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin:0;padding:0;position:fixed;width:100%;max-width:100%;height:100%;max-height:100%;transform:translateZ(0);text-rendering:optimizeLegibility;overflow:hidden;touch-action:manipulation;-webkit-user-drag:none;-ms-content-zooming:none;word-wrap:break-word;overscroll-behavior-y:none;-webkit-text-size-adjust:none;text-size-adjust:none}html{font-family:var(--ion-font-family)}@supports (-webkit-touch-callout: none){html{font:var(--ion-dynamic-font, 16px var(--ion-font-family))}}a{background-color:transparent;color:var(--ion-color-primary, #0054e9)}h1,h2,h3,h4,h5,h6{margin-top:16px;margin-bottom:10px;font-weight:500;line-height:1.2}h1{margin-top:20px;font-size:1.625rem}h2{margin-top:18px;font-size:1.5rem}h3{font-size:1.375rem}h4{font-size:1.25rem}h5{font-size:1.125rem}h6{font-size:1rem}small{font-size:75%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}:root{--brand: #0E5A50;--brand-dark: #0A463E;--brand-soft: #E3F0ED;--brand-on-dark: #CFE6E1;--ink: #13201D;--muted: #56655F;--line: #E1E7E5;--line-soft: #EDF1F0;--bg: #F2F4F3;--card: #FFFFFF;--track: #E6EBE9;--neg: #B4232A;--neg-soft: #FBE9E9;--pos: #0F7A4F;--pos-soft: #E2F3EA;--ion-font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Inter", system-ui, "Segoe UI", Roboto, sans-serif;--ion-background-color: var(--bg);--ion-text-color: var(--ink);--ion-color-primary: var(--brand);--ion-color-primary-rgb: 14, 90, 80;--ion-color-primary-contrast: #ffffff;--ion-color-primary-shade: var(--brand-dark);--ion-color-primary-tint: var(--brand);--ion-toolbar-background: var(--bg);--ion-tab-bar-background: rgba(255, 255, 255, .9);--ion-tab-bar-color: #66756F;--ion-tab-bar-color-selected: var(--brand);--ion-item-background: var(--card)}@media(prefers-color-scheme:dark){:root{--ink: #EEF3F1;--muted: #A3B2AD;--line: #2C3633;--line-soft: #252E2B;--bg: #0E1312;--card: #182120;--track: #2A3431;--neg: #FF8A8A;--neg-soft: #3A1E20;--pos: #6FD6A4;--pos-soft: #17322A;--brand-soft: #1C3A36;--ion-tab-bar-background: rgba(24, 33, 32, .92);--ion-tab-bar-color: #93A39E}}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}ion-content{--background: var(--bg)}.num,.money,.entry-amount,.donut-value{font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.neg{color:var(--neg)}.pos{color:var(--pos)}.page-pad{padding:4px 16px 120px}.card{background:var(--card);border-radius:20px;padding:16px;margin-top:12px}.card h2{margin:0 0 10px;font-size:16px;font-weight:700;letter-spacing:-.01em}.card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.card-head h2{margin:0}.link-btn{background:none;border:0;color:var(--brand);font:inherit;font-size:14px;font-weight:600;padding:10px 0 10px 10px;min-height:44px}:root .link-btn{color:var(--brand)}@media(prefers-color-scheme:dark){.link-btn{color:var(--brand-on-dark)}}.season-btn{display:inline-flex;align-items:center;gap:4px;height:34px;padding:0 12px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--ink);font:inherit;font-size:13px;font-weight:600;margin-right:8px}.hero{background:var(--brand);color:#fff;border-radius:24px;padding:18px 18px 14px;margin-top:8px}.hero-label{font-size:13px;color:var(--brand-on-dark)}.hero-value{font-size:38px;font-weight:700;letter-spacing:-.03em;margin-top:2px;line-height:1.15}.hero-pair{display:flex;gap:10px;margin-top:12px}.hero-pair>div{flex:1;border-radius:14px;padding:9px 12px;background:#ffffff1f}.hero-pair .k{font-size:12px;color:var(--brand-on-dark)}.hero-pair .v{font-size:16px;font-weight:650;margin-top:2px}.hero-bars{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:5px;align-items:end;margin-top:14px;height:52px}.hero-bars>div{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;height:100%}.hero-bars i{display:block;width:100%;border-radius:4px;background:#ffffff40}.hero-bars i.has{background:#f2c46b}.hero-bars span{font-size:10px;color:var(--brand-on-dark)}.hero-bars span.now{color:#fff;font-weight:700}.quick{display:flex;gap:12px;margin-top:14px}.quick button{flex:1;height:50px;border:0;border-radius:16px;font:inherit;font-size:16px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:8px}.quick .out{background:var(--neg-soft);color:var(--neg)}.quick .in{background:var(--pos-soft);color:var(--pos)}.sync-note{display:flex;align-items:center;gap:10px;margin-top:12px;padding:12px 14px;border-radius:16px;background:var(--card);font-size:13px;color:var(--muted);border:0;width:100%;text-align:left;font-family:inherit}.sync-note ion-icon{font-size:20px;color:var(--brand);flex:none}.entry-row{display:flex;align-items:center;gap:12px;width:100%;padding:10px 0;min-height:60px}.cat-badge{flex:none;border-radius:12px;display:inline-flex;align-items:center;justify-content:center}.entry-main{flex:1;min-width:0}.entry-title{font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.entry-sub{margin-top:2px;font-size:13px;color:var(--muted);display:flex;align-items:center;gap:4px;min-width:0}.entry-sub span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.entry-sub-icon{flex:none;font-size:13px}.entry-side{text-align:right;flex:none}.entry-amount{font-size:15px;font-weight:700}.entry-amount.neg{color:var(--neg)}.entry-amount.pos{color:var(--pos)}.entry-date{margin-top:2px;font-size:12px;color:var(--muted);display:flex;align-items:center;justify-content:flex-end;gap:4px}.entry-pending{font-size:13px;color:#b07a10}.rows{background:var(--card);border-radius:18px;overflow:hidden}.rows ion-item{--padding-start: 16px;--inner-padding-end: 16px;--min-height: 60px;--border-color: var(--line-soft)}.rows a.row-link,.rows button.row-link{display:block;width:100%;padding:0 16px;color:inherit;text-decoration:none;background:none;border:0;font:inherit;text-align:left}.rows .row-link+.row-link{border-top:1px solid var(--line-soft)}.day-head{display:flex;justify-content:space-between;margin:18px 4px 8px;font-size:13px;font-weight:700;color:var(--muted)}.seg{display:flex;gap:4px;padding:4px;background:var(--track);border-radius:14px}.seg button{flex:1;height:38px;border:0;border-radius:10px;background:transparent;font:inherit;font-size:14px;font-weight:500;color:var(--muted)}.seg button.on{background:var(--card);color:var(--ink);font-weight:700;box-shadow:0 1px 2px #13201d1f}.seg button.on.neg{color:var(--neg)}.seg button.on.pos{color:var(--pos)}.chips{display:flex;gap:8px;overflow-x:auto;padding:2px 0 4px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chips.wrap{flex-wrap:wrap;overflow:visible}.chip{flex:none;height:36px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--ink);font:inherit;font-size:13px;font-weight:600;max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chip.on{background:var(--brand);border-color:var(--brand);color:#fff}.chip.soft{background:var(--brand-soft);border-color:var(--brand);color:var(--brand)}@media(prefers-color-scheme:dark){.chip.soft{color:var(--brand-on-dark)}}.month-nav{display:flex;align-items:center;justify-content:space-between;margin:8px -6px 0}.month-nav strong{font-size:16px}.icon-btn{width:44px;height:44px;border:0;background:transparent;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;border-radius:12px;font-size:22px}.icon-btn:disabled{opacity:.3}.donut-wrap{display:flex;align-items:center;gap:14px}.donut{position:relative;flex:none}.donut-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;text-align:center}.donut-value{font-size:15px;font-weight:700}.donut-label{font-size:11px;color:var(--muted)}.legend{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.legend-row{display:flex;align-items:center;gap:8px;min-height:30px;border:0;background:none;padding:0 4px;border-radius:8px;font:inherit;font-size:13px;color:var(--ink);text-align:left}.legend-row.on{background:var(--track)}.legend-dot{width:10px;height:10px;border-radius:3px;flex:none}.legend-name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.legend-pct{font-weight:700;font-variant-numeric:tabular-nums}.bars-readout{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;min-height:22px;font-size:13px;margin-bottom:8px;font-variant-numeric:tabular-nums}.bars-readout strong{font-size:14px}.bars-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:4px;align-items:end}.bar-col{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-end;gap:4px;height:100%;border:0;background:none;padding:0;font:inherit;color:var(--muted)}.bar-stack{display:flex;gap:2px;align-items:flex-end;justify-content:center}.bar{flex:1;border-radius:5px;transition:height .2s,opacity .15s}.bar-label{font-size:10px;text-align:center}.bar-col.on .bar-label{color:var(--ink);font-weight:700}.bars-key{display:flex;gap:14px;margin-top:8px;font-size:12px;color:var(--muted)}.bars-key i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:4px;vertical-align:-1px}.line-dots{display:grid;gap:2px;margin-top:4px}.line-dot{border:0;background:none;font:inherit;font-size:10px;color:var(--muted);padding:6px 0;border-radius:6px}.line-dot.on{color:var(--ink);font-weight:700;background:var(--track)}.line-dot:disabled{opacity:.4}.rank{display:flex;flex-direction:column;gap:12px}.rank-top{display:flex;justify-content:space-between;gap:10px;font-size:13px}.rank-name{font-weight:600;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rank-track{margin-top:5px;height:8px;border-radius:8px;background:var(--track)}.rank-fill{height:8px;border-radius:8px}.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}.tile{background:var(--card);border-radius:16px;padding:12px;min-width:0}.tile .k{font-size:12px;color:var(--muted)}.tile .v{font-size:14px;font-weight:700;margin-top:4px;letter-spacing:-.01em;overflow-wrap:anywhere}.tile.brand{background:var(--brand);color:#fff}.tile.brand .k{color:var(--brand-on-dark)}.table-row{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:42px;border-top:1px solid var(--line-soft);font-size:14px}.table-row span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-row strong{font-variant-numeric:tabular-nums;white-space:nowrap}.table-row.total{border-top:2px solid var(--ink);font-weight:700;font-size:15px}.table-head{display:flex;justify-content:space-between;font-size:12px;font-weight:700;color:var(--muted);padding-bottom:8px}.stackbar{display:flex;height:14px;border-radius:7px;overflow:hidden;margin:4px 0 10px;background:var(--track)}.btn-row{display:flex;gap:10px;margin-top:14px}.btn{flex:1;min-height:48px;border-radius:14px;border:1px solid var(--line);background:var(--card);color:var(--ink);font:inherit;font-size:15px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 12px}.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn.danger{background:var(--neg-soft);border-color:transparent;color:var(--neg)}.btn ion-icon{font-size:18px}.form-amount{text-align:center;margin-top:16px}.form-amount label{font-size:13px;color:var(--muted)}.form-amount .amount-line{display:flex;align-items:baseline;justify-content:center;gap:6px}.form-amount input{width:220px;border:0;background:transparent;text-align:right;font-family:inherit;font-size:48px;font-weight:700;letter-spacing:-.03em;color:var(--ink);padding:0;outline:none;font-variant-numeric:tabular-nums}.form-amount .cur{font-size:28px;font-weight:600;color:var(--muted)}.form-amount.neg input{color:var(--neg)}.form-amount.pos input{color:var(--pos)}.field-label{font-size:13px;font-weight:600;color:var(--muted);margin:14px 4px 8px}.text-field{width:100%;height:48px;border-radius:14px;border:1px solid var(--line);background:var(--card);color:var(--ink);font:inherit;font-size:16px;padding:0 14px;box-sizing:border-box;outline:none}.text-field:focus{border-color:var(--brand)}.form-card{background:var(--card);border-radius:18px;padding:0 16px;margin-top:14px}.form-row{display:flex;align-items:center;gap:12px;min-height:54px;border-bottom:1px solid var(--line-soft);width:100%;background:none;border-left:0;border-right:0;border-top:0;padding:0;font:inherit;color:inherit;text-align:left}.form-row:last-child{border-bottom:0}.form-row .k{width:108px;flex:none;font-size:13px;color:var(--muted)}.form-row .v{flex:1;min-width:0;font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.form-row .v.placeholder{color:var(--muted);font-weight:400}.form-row input{flex:1;min-width:0;height:44px;border:0;background:transparent;font:inherit;font-size:15px;font-weight:600;color:var(--ink);outline:none;padding:0}.form-row input[type=date]{-webkit-appearance:none;appearance:none;text-align:left}.auto-tag{flex:none;padding:3px 8px;border-radius:999px;background:var(--brand-soft);color:var(--brand);font-size:11px;font-weight:700}.chev{flex:none;color:var(--muted);font-size:16px}.photo-strip{display:flex;gap:8px;margin-top:12px;overflow-x:auto}.photo-thumb{position:relative;width:76px;height:76px;flex:none;border-radius:12px;overflow:hidden;border:0;padding:0;background:var(--track)}.photo-thumb img{width:100%;height:100%;object-fit:cover;display:block}.photo-add{width:100%;min-height:52px;margin-top:12px;border:1.5px dashed #9FB3AE;border-radius:16px;background:transparent;color:var(--brand);font:inherit;font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:10px;position:relative}.photo-add input{position:absolute;inset:0;opacity:0}.form-save{padding:12px 16px calc(14px + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--line)}.form-error{color:var(--neg);font-size:13px;text-align:center;margin:0 0 8px}.pick-list{padding:4px 0 40px}.pick-row{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:50px;padding:0 18px;border:0;border-bottom:1px solid var(--line-soft);background:var(--card);font:inherit;font-size:16px;color:var(--ink);text-align:left}.pick-row.on{font-weight:700;color:var(--brand)}.pick-row.new{justify-content:flex-start;color:var(--brand);font-weight:600}.pick-row ion-icon{font-size:20px;flex:none}.empty-note{text-align:center;color:var(--muted);padding:24px;font-size:14px}.detail-hero{display:flex;flex-direction:column;align-items:center;text-align:center;padding:8px 0 4px}.detail-hero h1{margin:10px 0 0;font-size:18px;font-weight:700}.detail-amount{font-size:36px;font-weight:700;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.kv{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:46px;border-bottom:1px solid var(--line-soft);font-size:14px}.kv:last-child{border-bottom:0}.kv span:first-child{color:var(--muted);flex:none}.kv strong{text-align:right;min-width:0;overflow-wrap:anywhere}.fab-add{position:fixed;left:50%;transform:translate(-50%);bottom:calc(env(safe-area-inset-bottom,0px) + 6px);z-index:30;width:56px;height:56px;border-radius:19px;border:0;background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center;font-size:28px;box-shadow:0 8px 20px #00000038}.tab-gap{width:64px;flex:none}.search-wrap{margin-top:4px}.search-wrap ion-searchbar{padding:0;--background: var(--card);--border-radius: 14px}.summary-line{margin:12px 4px 0;font-size:13px;color:var(--muted)}.summary-line strong{color:var(--ink);font-variant-numeric:tabular-nums}.more-btn{display:block;margin:14px auto 0}.settings-group{background:var(--card);border-radius:18px;overflow:hidden;margin-top:12px}.settings-row{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;padding:0 16px;border:0;border-bottom:1px solid var(--line-soft);background:none;font:inherit;color:var(--ink);text-align:left;position:relative}.settings-row:last-child{border-bottom:0}.settings-row ion-icon{font-size:22px;color:var(--brand);flex:none}.settings-row .t{flex:1;min-width:0}.settings-row .t small{display:block;color:var(--muted);font-size:12px;margin-top:2px}.settings-row input[type=file]{position:absolute;inset:0;opacity:0}.section-title{margin:22px 4px 0;font-size:13px;font-weight:700;color:var(--muted);text-transform:none}.photo-full{width:100%;height:100%;object-fit:contain;background:#000}.flow-mark{position:absolute;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:99px;background:#e07b12;border:2px solid var(--card)}.flow-mark span{position:absolute;top:12px;left:50%;transform:translate(-50%);font-size:10px;font-weight:700;color:#b05e06;white-space:nowrap}.flow-today{position:absolute;top:-2px;transform:translate(4px);font-size:10px;color:var(--muted)}.flow-dot{position:absolute;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:99px;background:var(--ink);border:2px solid var(--card);pointer-events:none}.alert{margin-top:12px;padding:12px 14px;border-radius:16px;font-size:13px;line-height:1.45}.alert.bad{background:var(--neg-soft);color:var(--neg)}.alert.good{background:var(--pos-soft);color:var(--pos)}.mtable{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}.mtable th{text-align:right;font-size:11px;color:var(--muted);font-weight:700;padding:0 0 6px}.mtable th:first-child,.mtable td:first-child{text-align:left}.mtable td{text-align:right;padding:9px 0 9px 6px;border-top:1px solid var(--line-soft);white-space:nowrap}.mtable tr.fut td{color:var(--muted)}.mtable td.lowneg{color:var(--neg);font-weight:700}.now-tag{margin-left:4px;padding:1px 6px;border-radius:99px;background:var(--brand);color:#fff;font-size:10px;font-weight:700}.hero-sub{font-size:13px;color:var(--brand-on-dark);margin-top:2px}.up-row{display:flex;align-items:center;gap:10px;min-height:46px;border-top:1px solid var(--line-soft);font-size:14px}.up-row .d{width:44px;flex:none;color:var(--muted);font-variant-numeric:tabular-nums}.up-row .t{flex:1;min-width:0}.up-row .t div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.up-row .t small{color:var(--muted);font-size:12px}.up-row strong{font-variant-numeric:tabular-nums;white-space:nowrap}.seg.small button{height:32px;font-size:13px}.kpis h2{font-size:15px;line-height:1.3}.kpi{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:5px 0;font-size:15px}.kpi span:first-child{min-width:0}.kpi b{font-variant-numeric:tabular-nums;white-space:nowrap}.kpi.sub{font-size:13px;color:var(--muted);padding:2px 0 2px 12px}.kpi>span:last-child,.kpi>b{white-space:nowrap;flex:none}.table-row .num{white-space:nowrap}.kpi.strong{font-weight:800}.sep{height:1px;background:var(--line);margin:8px 0}.big2{font-size:30px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-top:2px}.card-sub{font-size:12px;margin:-6px 0 8px}.card-note{font-size:12px;margin:8px 0 0;line-height:1.4}.slice-row{width:100%;background:none;border:0;border-top:1px solid var(--line-soft);font:inherit;color:inherit;padding:0;text-align:left}.drill-go{color:var(--brand)}@media(prefers-color-scheme:dark){.drill-go{color:var(--brand-on-dark)}}.two-dates{display:grid;grid-template-columns:1fr 1fr;gap:10px}.two-dates label{min-width:0;display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted);font-weight:600}.two-dates input{min-height:44px;border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--ink);font:inherit;font-size:15px;padding:0 8px;width:100%;min-width:0;max-width:100%;box-sizing:border-box;-webkit-appearance:none;appearance:none}.mtable tr.tot td{font-weight:800;border-top:2px solid var(--ink)}.mtable td.pos{color:var(--pos)}.mtable td.neg{color:var(--neg)}.mtable tr.click-row{cursor:pointer}.mtable td.acc-name{max-width:150px;overflow:hidden;text-overflow:ellipsis}.line-dot{position:relative}.big-mark{position:absolute;top:-16px;left:50%;transform:translate(-50%);font-style:normal;font-size:10px;font-weight:800;color:#eb6834;white-space:nowrap}.mv{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-top:1px solid var(--line-soft)}.mv:first-child{border-top:0}.mv .dt{width:46px;flex:none;font-weight:700;font-size:14px;font-variant-numeric:tabular-nums;display:flex;flex-direction:column}.mv .dt small{font-weight:400;font-size:11px;color:var(--muted)}.mv .main{flex:1;min-width:0}.mv .d{font-size:15px;font-weight:600;line-height:1.25;background:none;border:0;padding:0;text-align:left;color:var(--ink);font-family:inherit}.mv .d.tap{color:var(--brand)}@media(prefers-color-scheme:dark){.mv .d.tap{color:var(--brand-on-dark)}}.mv .m{font-size:12px;color:var(--muted);margin-top:2px;line-height:1.3}.mv .a{background:none;border:0;font:inherit;font-weight:700;font-size:15px;font-variant-numeric:tabular-nums;white-space:nowrap;padding:0;min-height:32px}.mv .a.neg{color:var(--neg)}.mv .a.pos{color:var(--pos)}.rep-group{background:var(--brand-soft);border-radius:18px;margin:10px 0;overflow:hidden}.rep-head{display:flex;align-items:center;gap:10px;width:100%;background:none;border:0;font:inherit;color:var(--ink);text-align:left;padding:12px 14px;min-height:56px}.rep-head .ri{font-size:20px}.rep-head .rt{flex:1;min-width:0;display:flex;flex-direction:column}.rep-head b{font-size:15px}.rep-head small{font-size:12px;color:var(--muted);margin-top:2px}.rep-head .ra{color:var(--muted);font-size:18px}.rep-group .rows{margin:0 8px}.rep-badge,.att-badge{font-size:12px;margin-left:6px;font-weight:600;color:var(--muted)}.edit-banner{background:#fff4dc;color:#6b4b00;border-radius:14px;padding:10px 12px;font-size:13px;line-height:1.4;margin-bottom:12px}@media(prefers-color-scheme:dark){.edit-banner{background:#3b2f12;color:#f3d9a0}}.desc-hint{font-size:12px;color:var(--pos);margin:6px 2px 0;font-weight:600}.desc-hint.new{color:#9a6a00}.rep-row .v{display:flex;flex-direction:column;align-items:flex-end;text-align:right}.rep-row .v small{font-size:11px;color:var(--muted);font-weight:400;margin-top:2px}.rep-row.on .v{color:var(--brand);font-weight:700}.rep-sum{white-space:pre-line;background:var(--brand-soft);border-radius:14px;padding:12px;margin-top:14px;font-size:14px;line-height:1.5}.file-tile{--tone: #6b7280;display:flex;flex-direction:column;width:100%;height:100%;background:#fff;border-top:22px solid var(--tone);position:relative;padding:6px;box-sizing:border-box;text-align:left}.file-tile b{position:absolute;top:-19px;left:6px;color:#fff;font-size:11px;letter-spacing:.04em}.file-tile small{font-size:10px;color:#333;line-height:1.2;overflow:hidden;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;word-break:break-all}.thumb-x{position:absolute;top:2px;right:2px;border:0;background:none;color:#fff;font-size:22px;padding:0;filter:drop-shadow(0 0 2px rgba(0,0,0,.6))}.name-link{background:none;border:0;padding:0;font:inherit;color:inherit;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:4px}.steps{padding-left:22px;margin:4px 0 18px;font-size:15px;line-height:1.5}.steps li{margin-bottom:6px}.qr-video{border-radius:18px;overflow:hidden;background:#000;aspect-ratio:3 / 4;margin-top:10px}.qr-video video{width:100%;height:100%;object-fit:cover}.lm-tabs{padding:4px 12px 8px}.lm-row-wrap+.lm-row-wrap{border-top:1px solid var(--line-soft)}.lm-row{display:flex;align-items:center;gap:8px;padding:8px 14px;min-height:56px;width:100%;background:none;border:0;font:inherit;color:inherit;text-align:left}.lm-more{font-size:20px;color:var(--muted);flex:none}.lm-row .n{flex:1;min-width:0;display:flex;flex-direction:column}.lm-row .n b{font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lm-row .n small{font-size:12px;color:var(--muted)}.lm-row-unused button{min-width:40px;height:40px;border-radius:12px;border:0;background:var(--bg);color:var(--ink);font:inherit;font-size:16px}.lm-row-unused button.wide{font-size:12px;font-weight:700;padding:0 8px}.lm-merge{padding:0 14px 14px}.lm-merge select{width:100%;min-height:44px;border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--ink);font:inherit;padding:0 10px}.pre-alert .alert-message{white-space:pre-line}.offer-modal .btn{text-decoration:none}.warn-row{background:#fff8e1}.warn-row .t small{display:block}@media(prefers-color-scheme:dark){.warn-row{background:#3b2f12}}
