.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;display:flex;max-width:100%;max-height:100%;z-index:1000}.cdk-overlay-backdrop{position:absolute;inset:0;pointer-events:auto;-webkit-tap-highlight-color:transparent;opacity:0;touch-action:manipulation;z-index:1000;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}@media(prefers-reduced-motion){.cdk-overlay-backdrop{transition-duration:1ms}}.cdk-overlay-backdrop-showing{opacity:1}@media(forced-colors:active){.cdk-overlay-backdrop-showing{opacity:.6}}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing,.cdk-high-contrast-active .cdk-overlay-transparent-backdrop{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;display:flex;flex-direction:column;min-width:1px;min-height:1px;z-index:1000}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}.cdk-overlay-popover{background:none;border:none;padding:0;outline:0;overflow:visible;position:fixed;pointer-events:none;white-space:normal;color:inherit;text-decoration:none;width:100%;height:100%;inset:0 auto auto 0}.cdk-overlay-popover::backdrop{display:none}.cdk-overlay-popover .cdk-overlay-backdrop{position:fixed;z-index:auto}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}:root{color-scheme:light;--c-bg: #ffffff;--c-surface: #ffffff;--c-surface-2: #f2f4f7;--c-text: #14161a;--c-text-2: #545b66;--c-accent: #4f46e5;--c-accent-contrast: #ffffff;--c-danger: #d92d20;--c-success: #067647;--c-warning: #b54708;--sh-1: 0 1px 2px rgb(16 24 40 / 6%), 0 1px 3px rgb(16 24 40 / 10%);--sh-2: 0 4px 8px -2px rgb(16 24 40 / 10%), 0 2px 4px -2px rgb(16 24 40 / 6%);--sh-3: 0 -8px 24px -4px rgb(16 24 40 / 12%), 0 -4px 8px -4px rgb(16 24 40 / 6%);--c-text-3: color-mix(in srgb, var(--c-text) 45%, transparent);--c-border: color-mix(in srgb, var(--c-text) 12%, transparent);--c-border-strong: color-mix(in srgb, var(--c-text) 22%, transparent);--c-hover: color-mix(in srgb, var(--c-text) 5%, transparent);--c-pressed: color-mix(in srgb, var(--c-text) 10%, transparent);--c-accent-soft: color-mix(in srgb, var(--c-accent) 12%, transparent);--c-danger-soft: color-mix(in srgb, var(--c-danger) 12%, transparent);--c-selection: color-mix(in srgb, var(--c-accent) 26%, transparent);--c-scrim: color-mix(in srgb, #000 45%, transparent);--c-skeleton: color-mix(in srgb, var(--c-text) 8%, transparent);--c-skeleton-shine: color-mix(in srgb, var(--c-text) 14%, transparent);--ff: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--fs-display: 2rem;--fs-h1: 1.375rem;--fs-h2: 1.125rem;--fs-title: 1.0625rem;--fs-body: .9375rem;--fs-sm: .8125rem;--fs-xs: .75rem;--lh-tight: 1.2;--lh-normal: 1.45;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.25rem;--sp-6: 1.5rem;--sp-8: 2rem;--sp-10: 2.5rem;--sp-12: 3rem;--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-xl: 20px;--r-full: 999px;--dur-fast: .12s;--dur: .18s;--dur-slow: .24s;--ease: cubic-bezier(.22, 1, .36, 1);--app-height: var(--app-viewport-height, 100dvh);--app-overlay-height: var(--app-visible-height, var(--app-height));--tap-min: 44px;--appbar-h: 52px;--tabbar-h: 56px;--content-max: 640px;--safe-top: max(env(safe-area-inset-top, 0px), var(--tg-safe-area-inset-top, 0px));--safe-bottom: max(env(safe-area-inset-bottom, 0px), var(--tg-safe-area-inset-bottom, 0px));--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px)}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{min-height:var(--app-height);font-family:var(--ff);font-size:var(--fs-body);line-height:var(--lh-normal);color:var(--c-text);background:var(--c-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}img,picture,svg,canvas{display:block;max-width:100%}input,button,textarea,select{font:inherit;color:inherit}input,textarea{caret-color:var(--c-accent)}::selection,input::selection,textarea::selection{background:var(--c-selection);color:var(--c-text)}button{border:0;padding:0;background:none;cursor:pointer}h1,h2,h3,h4{font-size:inherit;font-weight:inherit;text-wrap:balance}p{text-wrap:pretty}ul,ol{list-style:none;padding:0}a{color:var(--c-accent);text-decoration:none}:focus{outline:none}:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px;border-radius:var(--r-sm)}input[type=number]{appearance:textfield}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{appearance:none;margin:0}input[type=search]{appearance:none}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{appearance:none;display:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);min-height:var(--tap-min);padding:0 var(--sp-4);border-radius:var(--r-md);font-size:var(--fs-body);font-weight:var(--fw-semibold);line-height:1;white-space:nowrap;transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease),opacity var(--dur) var(--ease)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--primary{color:var(--c-accent-contrast);background:var(--c-accent)}@media(hover:hover){.btn--primary:hover:not(:disabled){background:color-mix(in srgb,var(--c-accent) 88%,var(--c-text))}}.btn--primary:active:not(:disabled){background:color-mix(in srgb,var(--c-accent) 80%,var(--c-text))}.btn--secondary{color:var(--c-text);background:var(--c-surface-2)}@media(hover:hover){.btn--secondary:hover:not(:disabled){background:color-mix(in srgb,var(--c-surface-2) 85%,var(--c-text))}}.btn--secondary:active:not(:disabled){background:var(--c-pressed)}.btn--danger{color:var(--c-danger);background:var(--c-danger-soft)}@media(hover:hover){.btn--danger:hover:not(:disabled){background:color-mix(in srgb,var(--c-danger) 20%,transparent)}}.btn--block{width:100%}.icon-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex:none;border-radius:var(--r-full);color:var(--c-text-2);transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease)}.icon-btn:after{content:"";position:absolute;inset:50% auto auto 50%;width:var(--tap-min);height:var(--tap-min);transform:translate(-50%,-50%)}@media(hover:hover){.icon-btn:hover:not(:disabled){background:var(--c-hover);color:var(--c-text)}}.icon-btn:active:not(:disabled){background:var(--c-pressed)}.icon-btn:disabled{opacity:.4;cursor:not-allowed}.icon-btn--danger{color:var(--c-danger)}.field{display:flex;flex-direction:column;gap:var(--sp-2)}.field__label{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--c-text-2)}.field__control{width:100%;min-height:var(--tap-min);padding:var(--sp-3) var(--sp-4);border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-surface);color:var(--c-text);font-size:var(--fs-body);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.field__control::placeholder{text-indent:3px;color:var(--c-text-3)}.field__control:focus{border-color:var(--c-accent);box-shadow:0 0 0 3px var(--c-accent-soft)}.field__control:disabled{opacity:.5;cursor:not-allowed}.field__control--amount{font-size:var(--fs-h1);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums}.picker-field{position:relative;display:block}.picker-field__control{padding-right:var(--tap-min);font-variant-numeric:tabular-nums}.picker-field__button{position:absolute;top:0;right:0;display:flex;align-items:center;justify-content:center;width:var(--tap-min);height:100%;min-height:var(--tap-min);border:0;border-radius:var(--r-md);background:transparent;color:var(--c-text-3);transition:color var(--dur) var(--ease);--icon-size: 20px}.picker-field__button:active{color:var(--c-accent)}.picker-field__button:disabled{opacity:.5;cursor:not-allowed}.picker-field:has(.picker-field__native:active) .picker-field__button{color:var(--c-accent)}.picker-field__native{position:absolute;top:0;right:0;width:var(--tap-min);height:100%;min-height:var(--tap-min);padding:0;border:0;background:transparent;opacity:0;cursor:pointer;appearance:none;font-size:16px}.picker-field__native:disabled{pointer-events:none}.field__error{font-size:var(--fs-sm);color:var(--c-danger)}.field__control--invalid,.field--invalid .field__control{border-color:var(--c-danger)}.field__control--invalid:focus,.field--invalid .field__control:focus{box-shadow:0 0 0 3px var(--c-danger-soft)}.chip{display:inline-flex;align-items:center;gap:var(--sp-1);min-height:32px;padding:0 var(--sp-3);border:1px solid var(--c-border);border-radius:var(--r-full);background:transparent;color:var(--c-text-2);font-size:var(--fs-sm);font-weight:var(--fw-medium);white-space:nowrap;transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease)}.chip--selected{border-color:transparent;background:var(--c-accent);color:var(--c-accent-contrast)}button.chip{position:relative}button.chip:after{content:"";position:absolute;inset:50% 0 auto;height:var(--tap-min);transform:translateY(-50%)}.chip--tag{min-height:22px;position:static;padding:0 var(--sp-2);border-color:transparent;background:var(--c-surface-2);font-size:var(--fs-xs)}.chip--category{min-height:22px;position:static;padding:0 var(--sp-2);border-color:transparent;background:var(--c-accent-soft);color:var(--c-accent);font-size:var(--fs-xs)}.chip--guess{border-color:var(--c-accent)}.chip__count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:var(--r-full);background:var(--c-surface-2);color:var(--c-text-2);font-size:var(--fs-xs);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums}.chip--selected .chip__count{background:color-mix(in srgb,var(--c-accent-contrast) 24%,transparent);color:var(--c-accent-contrast)}.chip--not-spread{border:1px dashed var(--c-border-strong);background:transparent;color:var(--c-text-3)}.chip--mini{min-height:18px;padding:0 var(--sp-1);font-size:11px}.switch{appearance:none;position:relative;flex:none;width:44px;height:26px;margin:0;border-radius:var(--r-full);background:color-mix(in srgb,var(--c-text) 50%,transparent);transition:background-color var(--dur) var(--ease);cursor:pointer}.switch:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:var(--r-full);background:var(--c-surface);box-shadow:var(--sh-1);transition:transform var(--dur) var(--ease)}.switch:checked,.switch.switch--on{background:var(--c-accent)}.switch:checked:after,.switch.switch--on:after{transform:translate(18px)}.switch:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px}.switch:disabled{opacity:.5;cursor:default}.switch-row{display:flex;align-items:center;gap:var(--sp-4);min-height:var(--tap-min);padding:var(--sp-3) var(--sp-4);cursor:pointer}.switch-row__main{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.switch-row__title{font-weight:var(--fw-medium)}.switch-row__hint{font-size:var(--fs-xs);color:var(--c-text-2)}.field-head{display:flex;align-items:center;gap:var(--sp-1)}.field-head__help{position:relative;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex:none;border-radius:var(--r-full);color:var(--c-text-3);transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease);--icon-size: 16px}.field-head__help:after{content:"";position:absolute;inset:50% auto auto 50%;width:var(--tap-min);height:var(--tap-min);transform:translate(-50%,-50%)}@media(hover:hover){.field-head__help:hover{background:var(--c-hover);color:var(--c-text-2)}}.field-head__help:active{background:var(--c-pressed);color:var(--c-accent)}.segmented{display:flex;gap:2px;padding:3px;border-radius:var(--r-md);background:var(--c-surface-2)}.segmented__item{position:relative;flex:1;min-width:0;min-height:38px;padding:0 var(--sp-2);border-radius:calc(var(--r-md) - 3px);color:var(--c-text-2);font-size:var(--fs-sm);font-weight:var(--fw-semibold);white-space:nowrap;transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease)}.segmented__item:after{content:"";position:absolute;inset:50% 0 auto;height:var(--tap-min);transform:translateY(-50%)}.segmented__item:active{background:var(--c-pressed)}.segmented__item--active{background:var(--c-surface);color:var(--c-text);box-shadow:var(--sh-1)}.segmented__item--active:active{background:var(--c-surface)}.amount-row{display:flex;align-items:flex-end;gap:var(--sp-3)}.amount-row .field__control{height:56px;line-height:1.2}.amount-row__amount{flex:1;min-width:0}.amount-row__currency{flex:none;width:116px}.amount-row__error{margin-top:calc(var(--sp-3) * -1)}.currency-button{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);font-weight:var(--fw-semibold);text-align:left;--icon-size: 18px}.currency-button app-icon{color:var(--c-text-2)}.markup{display:flex;flex-direction:column;gap:var(--sp-2)}.category-row{display:flex;align-items:center;gap:var(--sp-3);width:100%;min-height:var(--tap-min);padding:var(--sp-3) var(--sp-4);text-align:left}.category-row:active{background:var(--c-pressed)}.category-row:disabled{opacity:.5}.category-row__icon,.category-row__chevron{color:var(--c-text-3);--icon-size: 18px}.category-row__title{flex:1;min-width:0}.category-row__title--empty{color:var(--c-text-2)}.chips{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.chips__chip{padding-right:var(--sp-1);background:var(--c-surface-2);border-color:transparent;color:var(--c-text)}.chips__chip--currency{padding-right:var(--sp-3);--icon-size: 14px}.chips__chip--currency app-icon{color:var(--c-text-2)}.chips__remove{position:relative;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--r-full);color:var(--c-text-2);--icon-size: 14px}.chips__remove:after{content:"";position:absolute;inset:50% auto auto 50%;width:var(--tap-min);height:var(--tap-min);transform:translate(-50%,-50%)}.chips__remove:active{background:var(--c-pressed)}.chips__remove:disabled{opacity:.4}.chips__add{color:var(--c-accent);border-style:dashed;--icon-size: 14px}.chips__add:disabled{opacity:.5}.panel{background:var(--c-surface);border-radius:var(--r-lg);overflow:hidden}.panel--bordered{border:1px solid var(--c-border)}.panel__row+.panel__row{border-top:1px solid var(--c-border)}.panel__row{display:flex;align-items:center;gap:var(--sp-3);width:100%;min-height:var(--tap-min);padding:var(--sp-3) var(--sp-4);text-align:left;transition:background-color var(--dur-fast) var(--ease)}@media(hover:hover){.panel__row:is(button,a):hover{background:var(--c-hover)}}button.panel__row:active{background:var(--c-pressed)}.section-title{padding:0 var(--sp-4) var(--sp-2);font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--c-text-2);text-transform:none}.amount{font-variant-numeric:tabular-nums;font-weight:var(--fw-semibold);white-space:nowrap}.amount--display{font-size:var(--fs-display);font-weight:var(--fw-bold);letter-spacing:-.02em;line-height:var(--lh-tight)}.skeleton{position:relative;overflow:hidden;border-radius:var(--r-sm);background:var(--c-skeleton)}.skeleton:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,var(--c-skeleton-shine),transparent);animation:skeleton-shine 1.4s ease-in-out infinite}@keyframes skeleton-shine{to{transform:translate(100%)}}.text-2{color:var(--c-text-2)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.cdk-overlay-container{height:var(--app-overlay-height)}.overlay-scrim{background:var(--c-scrim);animation:scrim-in var(--dur) var(--ease)}@keyframes scrim-in{0%{opacity:0}}.sheet{display:flex;flex-direction:column;width:100vw;max-width:var(--content-max);max-height:calc(var(--app-overlay-height) * .92);background:var(--c-surface);border-radius:var(--r-xl) var(--r-xl) 0 0;box-shadow:var(--sh-3);animation:sheet-in var(--dur-slow) var(--ease)}@keyframes sheet-in{0%{transform:translateY(100%)}}.sheet__grabber{touch-action:none}.sheet__header{touch-action:pan-x}.sheet__grabber{flex:none;align-self:center;padding:var(--sp-2) var(--sp-6) var(--sp-1)}.sheet__grabber:before{content:"";display:block;width:36px;height:4px;border-radius:var(--r-full);background:var(--c-border-strong)}.sheet__header{flex:none;display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3) var(--sp-3)}.sheet--returning{transition:transform var(--dur) var(--ease)}.sheet__title{flex:1;min-width:0;padding-left:var(--sp-2);font-size:var(--fs-title);font-weight:var(--fw-semibold)}.sheet__body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 var(--sp-4) calc(var(--sp-4) + var(--safe-bottom));display:flex;flex-direction:column;gap:var(--sp-4)}.sheet__body>*{flex:none}.sheet:has(.sheet__footer) .sheet__body{padding-bottom:var(--sp-4)}.sheet__footer{flex:none;display:flex;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);padding-bottom:calc(var(--sp-4) + var(--safe-bottom));border-top:1px solid var(--c-border);background:var(--c-surface)}.sheet__footer>*{flex:1}.dialog{width:min(340px,100vw - var(--sp-8));padding:var(--sp-5);background:var(--c-surface);border-radius:var(--r-lg);box-shadow:var(--sh-2);animation:dialog-in var(--dur) var(--ease)}@keyframes dialog-in{0%{opacity:0;transform:scale(.96)}}.dialog__title{font-size:var(--fs-h2);font-weight:var(--fw-semibold);margin-bottom:var(--sp-2)}.dialog__message{color:var(--c-text-2);margin-bottom:var(--sp-5)}.dialog__actions{display:flex;gap:var(--sp-3)}.dialog__actions>*{flex:1}.toast-stack{position:fixed;top:calc(var(--safe-top) + var(--sp-2));left:50%;transform:translate(-50%);z-index:1200;display:flex;flex-direction:column;gap:var(--sp-2);width:min(100vw - var(--sp-6),420px);pointer-events:none}.toast{display:flex;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);background:var(--c-surface);border:1px solid var(--c-border);box-shadow:var(--sh-2);font-size:var(--fs-body);pointer-events:auto;animation:toast-in var(--dur) var(--ease)}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}}.toast--error{border-color:color-mix(in srgb,var(--c-danger) 40%,transparent)}.toast--error .toast__icon{color:var(--c-danger)}.toast--success .toast__icon{color:var(--c-success)}.toast--info .toast__icon{color:var(--c-accent)}.toast__icon{flex:none;margin-top:1px}.toast__text{flex:1;min-width:0}
