:root{--color-red:#f87171;--color-red-soft:#f8717126;--color-orange:#fb923c;--color-yellow:#fbbf24;--color-blue:#60a5fa;--color-green:#4ade80;--color-teal:#14b8a6;--color-purple:#a855f7;--color-black:#171717;--color-white:#fff;--color-gray:#9ca3af;--bg-app:#f2f2f7;--bg-hero-dark:#141416;--bg-card:var(--color-white);--bg-muted:#f5f5f7;--text:var(--color-black);--text-on-dark:var(--color-white);--text-muted-on-dark:#ffffff8c;--text-secondary:#6b7280;--text-dim:var(--color-gray);--border:#ebebef;--border-strong:#e0e0e6;--shadow-sm:0 1px 3px #0000000f;--shadow-md:0 8px 24px #00000014;--shadow-nav:0 4px 20px #0000001a;--shadow-icon:0 8px 20px #0000002e;--brand-teal:#5eead4;--brand-teal-glow:#14b8a647;--brand-warm-glow:#fb923c1f;--icon-wrap-bg:#ffffff0f;--icon-wrap-border:#ffffff1f;--hero-glow:radial-gradient(ellipse 90% 85% at 12% -30%, var(--brand-teal-glow), transparent 58%), radial-gradient(ellipse 55% 70% at 100% 0%, var(--brand-warm-glow), transparent 52%);--accent:#2563eb;--accent-soft:#2563eb1a;--danger:var(--color-red);--danger-soft:var(--color-red-soft);--radius-xl:28px;--radius-lg:20px;--radius-md:14px;--radius-sm:10px;--font:"DM Sans", system-ui, sans-serif;--font-display:"Syne", "DM Sans", system-ui, sans-serif;--phone-max:420px;--shell-gap:0;--fab-size:56px;--fab-bottom-gap:.75rem;--hero-top-pad:.85rem;--hero-nav-size:36px;--hero-nav-gap:.85rem;--safe-bottom:env(safe-area-inset-bottom,0px);--bottom-actions-bar:calc(var(--fab-size) + var(--fab-bottom-gap) * 2 + var(--safe-bottom));--fab-scroll-pad:calc(var(--bottom-actions-bar) + .25rem);--sheet-0:#fb923c;--sheet-1:#14b8a6;--sheet-2:#60a5fa;--sheet-3:#f59e0b;--sheet-4:#f87171;--sheet-5:#2dd4bf}*,:before,:after{box-sizing:border-box}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}noscript{text-align:center;background:var(--danger-soft);color:#991b1b;margin:0;padding:1rem;font-family:system-ui,sans-serif;display:block}html{background:#141416;height:100%;font-size:16px}html[data-mode=phone]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;overflow:hidden}html[data-mode=site]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{min-height:100dvh;font-family:var(--font);color:var(--text);-webkit-font-smoothing:antialiased;background:#141416;justify-content:center;margin:0;padding:0;line-height:1.45;display:flex}body[data-mode=phone]{height:100svh;color:var(--text);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#141416;overflow:hidden}body[data-mode=site]{background:#121214;display:block;overflow:hidden auto}#root{background:#141416;justify-content:center;width:100%;min-height:100dvh;display:flex}body[data-mode=phone] #root{height:100%;min-height:0;max-height:100%}body[data-mode=site] #root{background:0 0;min-height:100dvh;display:block}.phone-shell{flex-shrink:0;width:100%;max-width:none;height:100svh;position:relative}.phone{background:var(--bg-app);width:100%;height:100%;color:var(--text);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;flex-direction:column;display:flex;position:relative;overflow:hidden}.app-frame,.app-body{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.user-bar{padding:calc(.55rem + env(safe-area-inset-top,0px)) 1.25rem .55rem;background:var(--hero-glow), var(--bg-hero-dark);color:var(--text-on-dark);z-index:20;border-bottom:1px solid #5eead41f;flex-shrink:0;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.user-bar--boot{min-height:calc(2.75rem + env(safe-area-inset-top,0px));border-bottom-color:#0000}.user-bar__identity{align-items:center;gap:.55rem;min-width:0;display:flex}.user-bar__back{border:1px solid var(--icon-wrap-border);background:var(--icon-wrap-bg);width:32px;height:32px;color:var(--text-on-dark);cursor:pointer;box-shadow:var(--shadow-icon);border-radius:50%;flex-shrink:0;place-items:center;padding:0;display:grid}.user-bar__back:hover{color:var(--brand-teal);background:#ffffff1f;border-color:#5eead459}.user-bar__avatar{object-fit:cover;background:var(--icon-wrap-bg);border:1px solid var(--icon-wrap-border);border-radius:50%;flex-shrink:0;width:28px;height:28px;box-shadow:0 0 0 2px #5eead42e}.user-bar__avatar--fallback{color:var(--brand-teal);place-items:center;font-size:.75rem;font-weight:700;display:grid}.user-bar__name{white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:600;overflow:hidden}.user-bar__logout{border:1px solid var(--icon-wrap-border);background:var(--icon-wrap-bg);color:var(--text-on-dark);font:inherit;cursor:pointer;box-shadow:var(--shadow-icon);border-radius:999px;flex-shrink:0;padding:.35rem .7rem;font-size:.75rem;font-weight:600}.user-bar__logout:hover{background:#ffffff1f;border-color:#5eead459}.user-bar__actions{flex-shrink:0;align-items:center;gap:.45rem;display:flex}.user-bar__settings{border:1px solid var(--icon-wrap-border);background:var(--icon-wrap-bg);width:36px;height:36px;color:var(--text-on-dark);cursor:pointer;box-shadow:var(--shadow-icon);border-radius:50%;flex-shrink:0;place-items:center;padding:0;display:grid;position:relative}.user-bar__settings:hover{color:var(--brand-teal);background:#ffffff1f;border-color:#5eead459}.user-bar__settings-badge{color:#fff;text-align:center;background:#ef4444;border-radius:999px;min-width:1.05rem;height:1.05rem;padding:0 .28rem;font-size:.65rem;font-weight:700;line-height:1.05rem;position:absolute;top:auto;bottom:-4px;right:-4px;box-shadow:0 0 0 2px #141416}.settings-view{flex-direction:column;min-height:100%;display:flex}.route-fallback,.boot-shell{background:#141416;width:100%;min-height:100dvh}.settings-hero{padding:var(--hero-top-pad) 1.25rem 1.35rem}.settings-hero__label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted-on-dark);margin:0;font-size:.75rem;font-weight:600}.settings-hero__title-row{align-items:center;gap:.45rem;margin-top:.35rem;display:flex}.settings-hero__title-row .settings-hero__title{flex:1;min-width:0;margin:0}.settings-hero__title{letter-spacing:-.03em;color:var(--text-on-dark);margin:.35rem 0 0;font-size:1.35rem;font-weight:700}.settings-hero__meta{color:var(--text-muted-on-dark);margin:.35rem 0 0;font-size:.82rem}.settings-body{background:var(--bg-card);min-height:0;padding:1.1rem 1.25rem calc(1.5rem + env(safe-area-inset-bottom,0px));-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;gap:.65rem;display:flex;overflow-y:auto}.settings-body>.batch-btn{width:100%}.settings-footer{flex-direction:column;align-items:stretch;gap:.35rem;margin-top:auto;padding-top:1.5rem;display:flex}.settings-footer__logout{width:100%}.settings-footer__delete{font:inherit;color:#dc2626;cursor:pointer;text-align:center;background:0 0;border:none;padding:.65rem;font-size:.84rem;font-weight:600}.settings-footer__delete:hover{color:#b91c1c}.settings-row{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);width:100%;font:inherit;text-align:left;cursor:pointer;color:var(--text);align-items:center;gap:.75rem;padding:.85rem .9rem;display:flex}.settings-row:hover{background:var(--bg-muted)}.settings-row--danger .settings-row__title{color:#dc2626}.settings-row__icon{--row-accent:var(--brand-teal);width:40px;height:40px;color:var(--row-accent);background:color-mix(in srgb, var(--row-accent) 12%, #fff);border:1px solid color-mix(in srgb, var(--row-accent) 28%, transparent);border-radius:12px;flex-shrink:0;place-items:center;display:grid}.settings-row__text{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.settings-row__title{font-size:.95rem;font-weight:600}.settings-row__hint{color:var(--text-secondary);font-size:.78rem}.settings-row__chevron{color:var(--text-dim);font-size:1.25rem;line-height:1}.settings-error{color:#dc2626;margin:.25rem 0 0;font-size:.82rem}.settings-info{color:#0f766e;margin:.25rem 0 0;font-size:.82rem}.data-block{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-muted);flex-direction:column;gap:.55rem;padding:.9rem;display:flex}.data-block__hint{color:var(--text-dim);margin:0;font-size:.82rem;line-height:1.4}.data-block__actions{flex-wrap:wrap;gap:.5rem;display:flex}.data-preview{border-top:1px solid var(--border);flex-direction:column;gap:.5rem;margin-top:.25rem;padding-top:.65rem;display:flex}.data-preview__file{word-break:break-all;margin:0;font-size:.82rem;font-weight:600}.data-preview__stats{color:var(--text-dim);margin:0;padding-left:1.1rem;font-size:.82rem;line-height:1.45}.data-preview__errors{color:#dc2626;margin:0;padding-left:1.1rem;font-size:.78rem;line-height:1.4}.data-success{color:#0f766e;margin:.25rem 0 0;font-size:.82rem}.budget-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-muted);flex-direction:column;gap:.55rem;padding:.9rem;display:flex}.budget-card--invite{background:#fef7eb;border-color:#f59e0b47}.invite-block{flex-direction:column;gap:.55rem;display:flex}.invite-card{border:1px solid color-mix(in srgb, var(--brand-teal) 28%, transparent);border-radius:var(--radius-md);background:color-mix(in srgb, var(--brand-teal) 8%, #fff);flex-direction:row;align-items:center;gap:.75rem;padding:.85rem .9rem;display:flex}.invite-card__text{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.invite-card__title{color:var(--text);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.95rem;font-weight:600;overflow:hidden}.invite-card__hint{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.78rem;overflow:hidden}button.batch-btn.invite-card__action{white-space:nowrap;flex:none;width:auto;min-width:5.5rem;margin:0;padding:.55rem 1rem;font-size:.88rem}button.batch-btn.invite-card__action:disabled{opacity:.55;cursor:default}.budget-card__label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary);margin:0;font-size:.72rem;font-weight:600}.budget-row{flex-wrap:wrap;align-items:stretch;gap:.5rem;display:flex}.budget-row .batch-btn{flex:auto;min-width:0}.budget-row--stack{flex-direction:column}.budget-row--stack .batch-btn{flex:none;width:100%}.budget-item{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);width:100%;color:var(--text);align-items:center;gap:.15rem;padding:.45rem .45rem .45rem .25rem;display:flex}.budget-item--active{border-color:color-mix(in srgb, var(--brand-teal) 45%, transparent);background:color-mix(in srgb, var(--brand-teal) 8%, #fff)}.budget-item__select{border-radius:var(--radius-sm);text-align:left;min-width:0;font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;flex:1;align-items:center;gap:.35rem;margin:0;padding:.35rem .35rem .35rem .6rem;display:flex}.budget-item__select:disabled{cursor:default}.budget-item__text{flex-direction:column;flex:1;gap:.12rem;min-width:0;display:flex}.budget-item__name{font-size:.95rem;font-weight:600}.budget-item__hint{color:var(--text-secondary);font-size:.76rem}.budget-item__mark{width:36px;height:36px;color:var(--text-dim);flex-shrink:0;place-items:center;display:grid}.budget-item__mark--on{color:var(--brand-teal)}.budget-item__actions{flex-direction:row;flex-shrink:0;align-items:center;gap:.25rem;display:flex}.budget-icon-btn{width:36px;height:36px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:10px;flex-shrink:0;place-items:center;padding:0;display:grid}.budget-icon-btn:hover{background:var(--bg-muted);color:var(--text)}.budget-icon-btn:disabled{opacity:.45;cursor:default}.budget-icon-btn--active{color:var(--brand-teal);cursor:default}.budget-icon-btn--select{color:var(--text-dim)}.budget-icon-btn--select:hover{color:var(--text);background:var(--bg-muted)}.budget-icon-btn--primary{background:var(--text);color:#fff}.budget-icon-btn--primary:hover{color:#fff;background:#111}.budget-icon-btn--danger{color:#dc2626}.budget-icon-btn--danger:hover{color:#dc2626;background:#feebeb}.members-section{flex-direction:column;gap:.15rem;display:flex}.settings-section-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);align-items:center;gap:.45rem;margin:0 0 .35rem;font-size:.72rem;font-weight:700;display:flex}.settings-section-label__icon{color:#fff;background:#141416;border-radius:50%;flex-shrink:0;place-items:center;width:1.35rem;height:1.35rem;display:grid}.settings-section-label__text{min-width:0}.members-section__label,.members-invite__label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);margin:0;font-size:.72rem;font-weight:700}.members-invite{border-top:1px solid var(--border);flex-direction:column;gap:.55rem;margin-top:.35rem;padding-top:.85rem;display:flex}.members-invite__rows{flex-direction:column;gap:.45rem;display:flex}.members-invite__row{grid-template-columns:minmax(0,1fr) 7.75rem;align-items:center;gap:.4rem;display:grid}.members-invite__row:has(.members-invite__remove){grid-template-columns:minmax(0,1fr) 7.75rem 2.25rem}.members-invite__email{width:100%;min-width:0}.members-invite__remove{width:2.25rem;height:2.25rem}.members-invite__add{width:100%}.members-list{flex-direction:column;gap:0;margin:0;padding:0;list-style:none;display:flex}.members-list__item{border-bottom:1px solid var(--border);align-items:center;gap:.65rem;padding:.7rem .15rem;display:flex}.members-list__item:last-child{border-bottom:none}.members-list__item--pending{opacity:.85}.members-list__who{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.members-list__name{text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;font-weight:600;overflow:hidden}.members-list__email{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;overflow:hidden}.members-list__role{color:var(--text-secondary);flex-shrink:0;font-size:.75rem;font-weight:600}.members-list__tools{flex-shrink:0;align-items:center;gap:.2rem;display:flex}.members-role-select{border:1px solid var(--border);background:var(--bg-card);max-width:7.5rem;font:inherit;color:var(--text);border-radius:8px;padding:.4rem .45rem;font-size:.78rem}.members-leave{width:100%;font:inherit;color:#dc2626;cursor:pointer;text-align:center;background:0 0;border:none;margin-top:.75rem;padding:.75rem;font-size:.88rem;font-weight:600}.budget-input,.budget-select{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);width:100%;min-width:0;font:inherit;color:var(--text);padding:.7rem .75rem}select.budget-input.members-invite__role{appearance:none;cursor:pointer;background-color:var(--bg-card);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23737373' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right .7rem center;background-repeat:no-repeat;background-size:.95rem;width:100%;min-width:0;padding-right:2.1rem}select.budget-input.members-invite__role:focus,select.budget-input.members-invite__role:hover{background-color:var(--bg-card);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23171717' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right .7rem center;background-repeat:no-repeat;background-size:.95rem}.budget-select--compact{width:auto;max-width:9.5rem;padding:.45rem .5rem;font-size:.82rem}.budget-list{flex-direction:column;gap:.55rem;margin:0;padding:0;list-style:none;display:flex}.budget-list__item{justify-content:space-between;align-items:center;gap:.65rem;display:flex}.budget-list__text{flex-direction:column;gap:.1rem;min-width:0;display:flex}.budget-list__title{color:var(--text);font-size:.92rem;font-weight:600}.budget-list__hint{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;overflow:hidden}.budget-list__actions{flex-shrink:0;align-items:center;gap:.4rem;display:flex}.budget-badge{color:var(--text-secondary);flex-shrink:0;font-size:.75rem;font-weight:600}.budget-link-btn{font:inherit;color:var(--brand-teal);cursor:pointer;background:0 0;border:none;padding:.25rem;font-size:.78rem;font-weight:600}.budget-link-btn--danger{color:#dc2626}.budget-muted{color:var(--text-secondary);margin:0;font-size:.8rem}.hero-budget-select{width:100%;max-width:100%;color:var(--text-on-dark);font:inherit;background:#0000002e;border:1px solid #ffffff38;border-radius:10px;margin:0 0 .15rem;padding:.45rem .55rem;font-size:.82rem;font-weight:600}.invite-banner{flex-direction:column;gap:.45rem;margin:.85rem 1.1rem .25rem;display:flex}.invite-banner__label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);margin:0;font-size:.72rem;font-weight:700}.bottom-actions__btn--ghost{visibility:hidden;pointer-events:none}.settings-cat-list{flex-direction:column;gap:.45rem;margin:0 0 .75rem;padding:0;list-style:none;display:flex}.settings-cat-item{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);align-items:center;gap:.65rem;padding:.7rem .75rem;display:flex}.category-glyph{flex-shrink:0;place-items:center;line-height:0;display:inline-grid}.category-glyph svg{margin:0;display:block}.settings-cat-item__glyph{width:36px;height:36px;color:var(--category-accent,var(--brand-teal));background:color-mix(in srgb, var(--category-accent,var(--brand-teal)) 12%, #fff);border:1px solid color-mix(in srgb, var(--category-accent,var(--brand-teal)) 28%, transparent);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;line-height:0;display:inline-flex}.settings-cat-item__glyph .category-glyph{place-items:center;line-height:0;display:grid}.category-pill__glyph.category-glyph,.category-icon-picker__glyph,.category-icon-picker__preview-glyph{place-items:center;display:grid}.category-icon-picker__preview-glyph{width:36px;height:36px;color:var(--category-accent,var(--brand-teal));background:color-mix(in srgb, var(--category-accent,var(--brand-teal)) 12%, #fff);border:1px solid color-mix(in srgb, var(--category-accent,var(--brand-teal)) 28%, transparent);border-radius:10px}.category-icon-picker__btn{aspect-ratio:1;place-items:center;display:grid}.settings-cat-item__name{flex:1;min-width:0;font-size:.92rem;font-weight:600}#app-main{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.view{flex-direction:column;flex:1;min-height:0;display:none;overflow:hidden}.view--active{display:flex}.hero--dark{background:var(--hero-glow), var(--bg-hero-dark);color:var(--text-on-dark);box-shadow:inset 0 -1px #5eead41a}.hero{padding:var(--hero-top-pad) 1.25rem 1.75rem}.hero__top-spacer{height:var(--hero-nav-size);margin-bottom:var(--hero-nav-gap)}.hero--with-refresh{padding-top:calc(.85rem + env(safe-area-inset-top,0px));position:relative}.hero__refresh{top:calc(.85rem + env(safe-area-inset-top,0px));border:1px solid var(--icon-wrap-border);background:var(--icon-wrap-bg);width:36px;height:36px;color:var(--text-on-dark);cursor:pointer;box-shadow:var(--shadow-icon);border-radius:50%;place-items:center;display:grid;position:absolute;right:1.25rem}.hero__refresh:hover:not(:disabled){color:var(--brand-teal);background:#ffffff1f;border-color:#5eead459}.hero__refresh:disabled{opacity:.7}.hero__refresh--spinning svg{animation:.75s linear infinite app-spin}.app-toolbar{padding:calc(.85rem + env(safe-area-inset-top,0px)) 1.25rem .75rem;z-index:10;justify-content:center;align-items:center;gap:.75rem;display:flex;position:relative}.app-toolbar__back{position:absolute;left:1.25rem}.app-toolbar__back[hidden]{display:none}.currency-switch{background:var(--icon-wrap-bg);border:1px solid var(--icon-wrap-border);box-shadow:var(--shadow-icon);border-radius:999px;gap:2px;padding:3px;display:inline-flex}.currency-switch__btn{color:var(--text-muted-on-dark);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:999px;padding:.4rem .85rem;font-size:.82rem;font-weight:600;transition:background .15s,color .15s}.currency-switch__btn:hover{color:var(--text-on-dark)}.currency-switch__btn--active{color:var(--text);box-shadow:var(--shadow-sm);background:#fff}.hero__label,.detail-hero__label{color:var(--text-muted-on-dark);margin:0 0 .35rem;font-size:.85rem;font-weight:500}.hero__stats{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.hero__stats--compact{border-top:1px solid #ffffff14;margin:1rem 0 0;padding-top:.85rem}.hero__stat{min-width:0}.hero__stat--end{text-align:right}.hero__stat .hero__total{letter-spacing:-.03em;margin:0;font-size:clamp(1.35rem,5.5vw,1.75rem);line-height:1.1}.hero__stat .hero__label{margin:.4rem 0 0;font-size:.75rem}.hero__stat-value{letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--text-on-dark);margin:0;font-size:1.35rem;font-weight:700;line-height:1.1}.hero__stat-label{color:var(--text-muted-on-dark);margin:.25rem 0 0;font-size:.75rem;font-weight:500}.hero__total--negative{color:color-mix(in srgb, var(--color-red) 78%, #fff)}.hero__activity{color:var(--text-muted-on-dark);border-top:1px solid #ffffff14;justify-content:space-between;align-items:baseline;gap:.75rem;margin:.35rem 0 0;padding-top:.85rem;font-size:.82rem;display:flex}.hero__activity-label{letter-spacing:.04em;text-transform:uppercase;color:color-mix(in srgb, var(--brand-teal) 75%, #fff);font-size:.72rem;font-weight:600}.hero__activity-value{font-variant-numeric:tabular-nums;text-align:right}.hero--dark .hero__label,.hero--dark .detail-hero__label{text-transform:uppercase;letter-spacing:.06em;font-size:.75rem;font-weight:600}.hero__total,.detail-hero__total{letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:var(--text-on-dark);margin:0;font-size:2.35rem;font-weight:700}.hero.hero--dark>.hero__total{letter-spacing:-.03em;margin-bottom:0;font-size:1.65rem;line-height:1.15}.detail-hero__total{font-size:2rem}.hero__meta{color:var(--text-muted-on-dark);margin:.35rem 0 1rem;font-size:.82rem}.hero__meta--hint{opacity:.85;margin-top:0;margin-bottom:.5rem}.detail-hero__meta{color:var(--text-muted-on-dark);margin:.25rem 0 0;font-size:.82rem}.detail-hero__plan{margin:.15rem 0 0}.detail-hero__plan-values{letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--text-on-dark);margin:0;font-size:1.55rem;font-weight:700;line-height:1.15}.detail-hero__plan-delta{color:var(--brand-teal);margin:.35rem 0 0;font-size:.82rem;font-weight:650}.detail-hero__plan-delta--over,.detail-hero__spent--over,.category-selected__spent--over{color:color-mix(in srgb, var(--color-red) 82%, #fff)}.detail-hero__spent--under,.category-selected__spent--under{color:var(--brand-teal)}.detail-hero__slash,.legend__slash{opacity:.55;margin:0 .35rem;font-style:italic;font-weight:500}.detail-hero__diff{font-variant-numeric:tabular-nums;margin:.4rem 0 0;font-size:.88rem;font-weight:600}.detail-hero__diff--under{color:color-mix(in srgb, var(--brand-teal) 85%, #fff)}.detail-hero__diff--over{color:color-mix(in srgb, var(--color-red) 80%, #fff)}.segment-bar{background:0 0;border-radius:999px;gap:3px;height:14px;margin-bottom:1.25rem;display:flex}.segment-bar__part{transform-origin:50%;border-radius:999px;min-width:4px;height:100%}.legend{grid-template-columns:1fr 1fr;gap:.55rem 1rem;display:grid}.legend__item{align-items:center;gap:.45rem;min-width:0;font-size:.78rem;display:flex}.legend__glyph{color:inherit;flex-shrink:0;place-items:center;display:grid}.hero--dark .legend__item{color:var(--text-muted-on-dark)}.hero--dark .legend__chip{color:#ffffffd1}.hero--dark .legend__chip--active{color:#fff}.legend__dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.legend__name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.legend__text{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.legend--with-amounts{grid-template-columns:1fr;gap:.4rem}.legend__amounts{font-variant-numeric:tabular-nums;color:color-mix(in srgb, var(--text-muted-on-dark) 90%, #fff);white-space:nowrap;font-size:.72rem}.hero--dark .legend__amounts{color:#ffffff8c}.legend__item--btn{border-radius:var(--radius-sm);cursor:pointer;font:inherit;text-align:left;background:0 0;border:none;width:100%;margin:-.2rem -.35rem;padding:.2rem .35rem;transition:background .15s}.legend__item--btn:hover{background:#ffffff14}.legend__item--active{background:#ffffff1f}.legend--chips{flex-wrap:wrap;gap:.45rem;display:flex}.legend--chips-icons{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;padding-bottom:.1rem;overflow-x:auto}.legend--chips-icons::-webkit-scrollbar{display:none}.legend__chip--icon{justify-content:center;gap:0;width:2rem;min-width:2rem;height:2rem;padding:0}.legend--chips-icons .legend__chip:not(.legend__chip--icon){flex-shrink:0;max-width:10rem}.legend--chips-icons .legend__name{white-space:nowrap;display:inline-block;overflow:hidden}.legend__chip{color:#ffffffc7;max-width:100%;font:inherit;cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent;background:#ffffff0f;border:1px solid #ffffff29;border-radius:999px;align-items:center;gap:.4rem;margin:0;padding:.45rem .7rem;font-size:.78rem;font-weight:600;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.legend__chip:hover,.legend__chip:focus-visible{color:#fff;background:#ffffff1f;border-color:#5eead473;outline:none}.legend__chip:active{transform:scale(.98)}.legend__chip--active{color:#fff;background:#ffffff29;border-color:#5eead48c;box-shadow:0 0 0 1px #5eead433}.legend__chip--over{background:color-mix(in srgb, var(--color-red) 22%, transparent);border-color:color-mix(in srgb, var(--color-red) 65%, #fff);color:color-mix(in srgb, var(--color-red) 75%, #fff)}.legend__chip--over:hover,.legend__chip--over:focus-visible{background:color-mix(in srgb, var(--color-red) 30%, transparent);border-color:color-mix(in srgb, var(--color-red) 80%, #fff);color:#fecaca}.legend__chip--over.legend__chip--active{background:color-mix(in srgb, var(--color-red) 34%, transparent);border-color:color-mix(in srgb, var(--color-red) 85%, #fff);color:#fecaca;box-shadow:0 0 0 1px color-mix(in srgb, var(--color-red) 35%, transparent)}.legend__chip--over .legend__glyph{color:inherit!important}.hero--dark .legend__chip--over,.hero--dark .legend__chip--over.legend__chip--active{color:#fecaca}.legend__chip--under{background:color-mix(in srgb, var(--brand-teal) 18%, transparent);border-color:color-mix(in srgb, var(--brand-teal) 55%, #fff);color:color-mix(in srgb, var(--brand-teal) 70%, #fff)}.legend__chip--under:hover,.legend__chip--under:focus-visible{background:color-mix(in srgb, var(--brand-teal) 26%, transparent);border-color:color-mix(in srgb, var(--brand-teal) 70%, #fff);color:#99f6e4}.legend__chip--under.legend__chip--active{background:color-mix(in srgb, var(--brand-teal) 32%, transparent);border-color:color-mix(in srgb, var(--brand-teal) 80%, #fff);color:#99f6e4;box-shadow:0 0 0 1px color-mix(in srgb, var(--brand-teal) 35%, transparent)}.legend__chip--under .legend__glyph{color:inherit!important}.hero--dark .legend__chip--under,.hero--dark .legend__chip--under.legend__chip--active{color:#99f6e4}.category-selected--over{color:color-mix(in srgb, var(--color-red) 82%, #fff)}.hero__total--over,.hero__total--negative{color:color-mix(in srgb, var(--color-red) 78%, #fff)}.legend__chip .legend__name{flex:0 auto}.legend__chip .legend__glyph{color:inherit}.legend__item--active .legend__name{color:var(--text-on-dark);font-weight:600}.sheet-card{background:var(--bg-card);flex-direction:column;flex:1;padding:1.35rem 0 0;display:flex;overflow:hidden}.sheet-card__header{justify-content:space-between;align-items:center;padding:0 1.25rem 1rem;display:flex}.sheet-card__title{letter-spacing:-.02em;margin:0;font-size:1.05rem;font-weight:700}.sheet-card__count{color:var(--text-dim);font-size:.78rem}.sheet-list-wrap{background:var(--bg-card);flex-direction:column;flex:1;min-height:0;display:flex}.sheet-filter{flex-shrink:0;padding:.85rem 1.25rem .35rem}.sheet-filter__label{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sheet-filter__row{align-items:center;gap:.55rem;display:flex}.sheet-filter__input{box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-muted);min-width:0;font:inherit;color:var(--text);flex:1;padding:.7rem .85rem;font-size:.95rem}.sheet-filter__input:focus{border-color:color-mix(in srgb, var(--brand-teal) 55%, var(--border));outline:none}.sheet-filter__input::-webkit-search-cancel-button{appearance:none}.sheet-filter__sort{flex-shrink:0;position:relative}.sheet-filter__sort-btn{border:1px solid var(--border);background:var(--bg-muted);width:2.65rem;height:2.65rem;color:var(--text-secondary);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.sheet-filter__sort-btn:hover,.sheet-filter__sort-btn--open,.sheet-filter__sort-btn--active{border-color:color-mix(in srgb, var(--brand-teal) 45%, var(--border));color:var(--text);background:#fff}.sheet-filter__input--active{border-color:color-mix(in srgb, var(--brand-teal) 40%, var(--border));box-shadow:0 0 0 1px color-mix(in srgb, var(--brand-teal) 18%, transparent)}.filter-notify{background:var(--brand-teal);pointer-events:none;border-radius:999px;width:.55rem;height:.55rem;position:absolute;top:-.1rem;right:-.1rem;box-shadow:0 0 0 2px #141416}.sheet-filter__sort-btn .filter-notify{box-shadow:0 0 0 2px var(--bg-card)}.sheet-sort-menu{z-index:40;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);min-width:12.5rem;padding:.45rem;position:absolute;top:calc(100% + .4rem);right:0;box-shadow:0 10px 28px #1414161f}.sheet-sort-menu__label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary);margin:.2rem .45rem .35rem;font-size:.68rem;font-weight:650}.sheet-sort-menu__item{border-radius:var(--radius-sm);width:100%;font:inherit;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:.45rem;padding:.55rem .65rem;font-size:.88rem;font-weight:550;display:flex}.sheet-sort-menu__item:hover{background:var(--bg-muted)}.sheet-sort-menu__item--clear{color:color-mix(in srgb, var(--brand-teal) 35%, var(--text));font-weight:650}.sheet-sort-menu__item--active{background:color-mix(in srgb, var(--brand-teal) 12%, var(--bg-muted));color:var(--text)}.sheet-sort-menu__divider{background:var(--border);height:1px;margin:.35rem}.empty-state--inline{margin:0;padding:1.25rem}.sheet-list{-webkit-overflow-scrolling:touch;background:var(--bg-card);flex:1;min-height:0;margin:0;padding:.25rem 1.25rem 1.25rem;list-style:none;overflow-y:auto}.sheet-item{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;border:none;border-bottom:1px solid var(--border);background:0 0;align-items:center;gap:.85rem;padding:.85rem 0;transition:opacity .15s;display:flex}.sheet-item:last-child{border-bottom:none}.sheet-item:active{opacity:.65}.sheet-item__icon{--sheet-accent:var(--brand-teal);width:44px;height:44px;color:var(--sheet-accent);background:color-mix(in srgb, var(--sheet-accent) 12%, #fff);border:1px solid color-mix(in srgb, var(--sheet-accent) 28%, transparent);border-radius:14px;flex-shrink:0;place-items:center;display:grid;box-shadow:0 6px 16px #0000000d,inset 0 0 0 1px #fff6}.sheet-item__body{flex:1;min-width:0}.sheet-item__name{letter-spacing:-.01em;margin:0;font-size:.95rem;font-weight:600}.sheet-item__meta{color:var(--text-secondary);margin:.15rem 0 0;font-size:.78rem}.sheet-item__amount{font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.95rem;font-weight:700}.sheet-item__amount--over{color:var(--color-red)}.detail-hero{padding:var(--hero-top-pad) 1.25rem 1.5rem}.back-btn{width:var(--hero-nav-size);height:var(--hero-nav-size);border:1px solid var(--icon-wrap-border);background:var(--icon-wrap-bg);color:var(--text-on-dark);cursor:pointer;box-shadow:var(--shadow-icon);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.back-btn:hover{color:var(--brand-teal);background:#ffffff1f;border-color:#5eead459}.detail-hero__title{letter-spacing:-.03em;color:var(--text-on-dark);margin:0;font-size:1.35rem;font-weight:700}.detail-hero__title-row{align-items:center;gap:.5rem;display:flex}.detail-hero__sheet-icon{--sheet-accent:var(--brand-teal);width:36px;height:36px;color:var(--sheet-accent);background:color-mix(in srgb, var(--sheet-accent) 18%, transparent);border:1px solid color-mix(in srgb, var(--sheet-accent) 35%, transparent);border-radius:11px;flex-shrink:0;place-items:center;display:grid}.detail-hero__title-row .detail-hero__title{flex:1;min-width:0;margin:0}.detail-hero__info{margin-bottom:.75rem}.currency-hint{color:var(--text-muted-on-dark);margin:.75rem 0 0;font-size:.72rem}.currency-hint--hidden{display:none}.category-chart{margin-top:1.25rem}.category-chart__headline{min-height:1.2em;margin-bottom:.65rem;overflow:hidden}.category-chart__headline-inner,.category-chart__headline .category-selected{margin:0}.category-selected--placeholder{visibility:hidden;pointer-events:none}.category-chart--hidden{display:none}.category-selected{font-variant-numeric:tabular-nums;color:var(--text-on-dark);min-height:1.2em;margin:0 0 .65rem;font-size:.95rem;font-weight:700}.category-selected__name{font-weight:650}.category-selected__slash{opacity:.55;margin:0 .35rem;font-style:italic;font-weight:500}.category-selected--hidden{display:none}.detail-body{background:var(--bg-card);-webkit-overflow-scrolling:touch;flex:1;padding:1.25rem;overflow-y:auto}.uploader-filter{flex-shrink:0;align-self:center;margin-left:auto;position:relative}.uploader-filter__btn{color:#ffffffb8;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff29;border-radius:999px;justify-content:center;align-items:center;width:2rem;height:2rem;padding:0;transition:background .15s,border-color .15s,color .15s;display:inline-flex;position:relative}.uploader-filter__btn:hover,.uploader-filter__btn:focus-visible,.uploader-filter__btn--open{color:#fff;background:#ffffff1f;border-color:#5eead473;outline:none}.uploader-filter__btn--active{color:#fff;background:#ffffff29;border-color:#5eead48c;box-shadow:0 0 0 1px #5eead433}.uploader-filter__menu{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;min-width:14rem;max-width:min(18rem,100vw - 2rem);max-height:min(22rem,55dvh);overflow-y:auto}.uploader-filter__menu .sheet-sort-menu__item{justify-content:flex-start;gap:.55rem}.uploader-filter__menu-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.uploader-filter__menu-sum{font-variant-numeric:tabular-nums;color:var(--text-secondary);flex-shrink:0;margin-left:auto;font-size:.82rem;font-weight:600}.uploader-filter__menu .sheet-sort-menu__item--active .uploader-filter__menu-sum{color:var(--text)}.stats-bar{border-radius:999px;gap:3px;height:10px;margin-top:1rem;display:flex;overflow:hidden}.stats-bar span{border-radius:999px;min-width:4px;display:block}.stats-hero__top{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.stats-donut{place-items:center;width:100%;margin:.25rem 0 1.15rem;display:grid;position:relative}.stats-donut--dark{margin:1.15rem 0 .15rem}.stats-donut__svg{display:block}.stats-donut__center{pointer-events:none;text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:absolute;inset:0}.stats-donut__total{font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--text);margin:0;font-size:1.05rem;font-weight:750}.stats-donut--dark .stats-donut__total{color:#fff}.stats-donut__hint{color:var(--text-secondary);margin:.2rem 0 0;font-size:.72rem;font-weight:600}.stats-donut--dark .stats-donut__hint{color:#ffffff8c}.stats-meter{background:var(--bg-muted);border-radius:999px;height:5px;margin-top:.4rem;overflow:hidden}.stats-meter__fill{border-radius:inherit;min-width:0;height:100%;display:block}.stats-toolbar{align-items:center;gap:.65rem;margin-bottom:.85rem;display:flex}.stats-view-toggle{border:1px solid var(--border);background:var(--bg-muted);border-radius:999px;flex:1;min-width:0;padding:.2rem;display:flex}.stats-view-toggle__btn{font:inherit;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:999px;flex:1;margin:0;padding:.5rem .65rem;font-size:.82rem;font-weight:650}.stats-view-toggle__btn--active{color:var(--text);background:#fff;box-shadow:0 1px 3px #14141614}.stats-filter{flex-shrink:0;position:relative}.stats-filter--on-dark{margin-top:.15rem}.stats-filter__btn{border:1px solid var(--border);background:var(--bg-muted);width:2.55rem;height:2.55rem;color:var(--text-secondary);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.stats-filter--on-dark .stats-filter__btn{color:#ffffffc7;background:#ffffff0f;border-color:#ffffff29;width:2.2rem;height:2.2rem}.stats-filter__btn:hover,.stats-filter__btn--open,.stats-filter__btn--active{border-color:color-mix(in srgb, var(--brand-teal) 45%, var(--border));color:var(--text);background:#fff}.stats-filter--on-dark .stats-filter__btn:hover,.stats-filter--on-dark .stats-filter__btn--open,.stats-filter--on-dark .stats-filter__btn--active{color:#fff;background:#ffffff24;border-color:#5eead480}.stats-filter__btn--active{box-shadow:0 0 0 1px color-mix(in srgb, var(--brand-teal) 22%, transparent)}.stats-filter__menu{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;min-width:14rem;max-width:min(18rem,100vw - 2rem);max-height:min(22rem,55dvh);right:0;overflow-y:auto}.stats-filter__menu-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.stats-list{margin:0;padding:0;list-style:none}.stats-donut__slice--btn{cursor:pointer;-webkit-tap-highlight-color:transparent;outline:none}.stats-donut__slice--btn:focus-visible{filter:brightness(1.15)}.stats-list__item{border-bottom:1px solid var(--border);align-items:flex-start;gap:.75rem;padding:.8rem 0;display:flex}.stats-list__item--btn{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;margin:0}.stats-list__item--btn:hover{background:var(--bg-muted)}.stats-list__item--active{background:color-mix(in srgb, var(--brand-teal) 8%, transparent)}.stats-list__item--dimmed{opacity:.42}.stats-list__item:last-child{border-bottom:none}.stats-list__icon{width:2.25rem;height:2.25rem;color:var(--row-accent,var(--brand-teal));background:color-mix(in srgb, var(--row-accent,var(--brand-teal)) 12%, #fff);border:1px solid color-mix(in srgb, var(--row-accent,var(--brand-teal)) 28%, transparent);border-radius:.55rem;flex-shrink:0;place-items:center;margin-top:.1rem;display:grid}.stats-list__body{flex-direction:column;flex:1;min-width:0;display:flex}.stats-list__top{justify-content:space-between;align-items:baseline;gap:.65rem;display:flex}.stats-list__name{text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;font-weight:650;overflow:hidden}.stats-list__meta{color:var(--text-secondary);margin-top:.15rem;font-size:.74rem}.stats-list__amount{font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.92rem;font-weight:700}.legend-row{align-items:flex-start;gap:.45rem;display:flex}.legend-row .legend--chips{flex:1;min-width:0}.tx-group{margin-bottom:1.5rem}.tx-group:last-child{margin-bottom:0}.tx-group__title{letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);align-items:center;gap:.4rem;margin:0 0 .65rem;font-size:.72rem;font-weight:600;display:flex}.tx-group__glyph{text-transform:none;letter-spacing:0;flex-shrink:0;place-items:center;display:grid}.tx-list{margin:0;padding:0;list-style:none}.tx-item{border-bottom:1px solid var(--border);align-items:center;gap:.75rem;padding:.75rem 0;display:flex}.tx-item--btn{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;margin:0;transition:background .15s}.tx-item--btn:hover{background:var(--bg-muted)}.tx-item--btn:active{opacity:.85}.tx-list>li{list-style:none}.tx-list>li .tx-item{border-bottom:1px solid var(--border)}.tx-list>li:last-child .tx-item,.tx-item:last-child{border-bottom:none}.tx-item__icon{--category-accent:var(--brand-teal);width:40px;height:40px;color:var(--category-accent);background:color-mix(in srgb, var(--category-accent) 12%, #fff);border:1px solid color-mix(in srgb, var(--category-accent) 28%, transparent);border-radius:12px;flex-shrink:0;place-items:center;display:grid;box-shadow:0 4px 12px #0000000a}.tx-item__glyph{color:inherit;place-items:center;display:grid}.tx-item__body{flex:1;min-width:0}.tx-item__name{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.9rem;font-weight:600;overflow:hidden}.tx-item__meta{color:var(--text-secondary);margin:.1rem 0 0;font-size:.75rem}.tx-item__amount{font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.9rem;font-weight:700}.tx-item__amount[title]{cursor:help;-webkit-text-decoration:underline dotted var(--text-dim);text-decoration:underline dotted var(--text-dim);text-underline-offset:3px}.edit-pencil-btn{border-radius:var(--radius-sm);background:var(--bg-muted);width:32px;height:32px;color:var(--text);cursor:pointer;border:none;flex-shrink:0;place-items:center;padding:0;display:grid}.edit-pencil-btn--on-dark{background:var(--icon-wrap-bg);color:var(--text-on-dark);border:1px solid var(--icon-wrap-border);box-shadow:var(--shadow-icon)}.edit-pencil-btn--on-dark:hover{color:var(--brand-teal);border-color:#5eead459}.edit-pencil-btn--inline{border-radius:50%;width:28px;height:28px}.edit-dialog-backdrop{z-index:450;padding:max(.75rem, env(safe-area-inset-top,0px)) 1rem calc(1rem + env(safe-area-inset-bottom,0px));background:#00000073;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0;overflow:hidden}.edit-dialog-backdrop--center{align-items:center}.edit-dialog-backdrop--center .edit-dialog{max-height:min(92svh,100%)}.edit-dialog--help{height:min(92svh,640px);max-height:min(92svh,100%)}.edit-dialog{width:100%;max-width:var(--phone-max);background:var(--bg-card);border-radius:var(--radius-lg);max-height:100%;box-shadow:var(--shadow-md);flex-direction:column;min-height:0;display:flex;overflow:hidden}.edit-dialog__header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.edit-dialog__title{margin:0;font-size:1rem;font-weight:700}.edit-dialog__close{background:var(--bg-muted);width:32px;height:32px;color:var(--text);cursor:pointer;border:none;border-radius:50%;font-size:.9rem}.edit-dialog__body{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex-direction:column;flex:1;gap:.85rem;min-height:0;padding:1.25rem;display:flex;overflow-y:auto}.help-dialog__list{flex-direction:column;gap:0;margin:0;padding:0;list-style:none;display:flex}.help-dialog__item{border-bottom:1px solid var(--border)}.help-dialog__item:last-child{border-bottom:none}.help-dialog__trigger{width:100%;font:inherit;text-align:left;cursor:pointer;color:var(--text);background:0 0;border:none;align-items:flex-start;gap:.65rem;margin:0;padding:.85rem 0;display:flex}.help-dialog__trigger-text{flex-direction:column;flex:1;gap:.12rem;min-width:0;display:flex}.help-dialog__title{color:var(--text);font-size:.92rem;font-weight:650}.help-dialog__example{color:var(--text-secondary);font-size:.78rem}.help-dialog__chevron{color:var(--text-secondary);flex-shrink:0;place-items:center;margin-top:.1rem;display:grid}.help-dialog__collapse{grid-template-rows:0fr;transition:grid-template-rows .3s cubic-bezier(.22,1,.36,1);display:grid}.help-dialog__collapse.is-open{grid-template-rows:1fr}.help-dialog__collapse-inner{min-height:0;overflow:hidden}.help-dialog__panel{padding:0 0 .9rem}.help-dialog__press{flex-wrap:wrap;gap:.4rem;margin:0 0 .65rem;display:flex}.help-dialog__key{border:1px solid var(--border);background:var(--bg-card);color:var(--text);border-radius:999px;align-items:center;gap:.4rem;padding:.35rem .55rem .35rem .35rem;font-size:.75rem;font-weight:600;display:inline-flex}.help-dialog__key-icon{color:#fff;background:#141416;border-radius:50%;flex-shrink:0;place-items:center;width:1.55rem;height:1.55rem;display:grid}.help-dialog__key-label{padding-right:.15rem}.help-dialog__steps{color:var(--text);text-align:left;flex-direction:column;gap:.25rem;margin:0;padding-left:1.1rem;font-size:.84rem;line-height:1.4;display:flex}.help-dialog__steps li::marker{color:var(--text-secondary)}.sheet-limits__input:disabled,.batch-field__input:disabled{opacity:.85;color:var(--text);background:var(--bg-muted);cursor:default}.sheet-limits{border-top:1px solid var(--border);flex-direction:column;gap:.65rem;padding-top:.25rem;display:flex}.sheet-limits__hint{color:var(--text-secondary);margin:-.25rem 0 0;font-size:.75rem;line-height:1.35}.sheet-limits__cats{flex-direction:column;gap:.45rem;display:flex}.sheet-limits__list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.sheet-limits__row{display:block}.sheet-limits__btn{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);width:100%;font:inherit;text-align:left;cursor:pointer;color:var(--text);align-items:center;gap:.55rem;padding:.7rem .85rem;display:flex}.sheet-limits__btn:hover{background:var(--bg-muted)}.sheet-limits__cat{min-width:0;color:var(--text);flex:1;align-items:center;gap:.45rem;display:flex}.sheet-limits__glyph{color:var(--category-accent,var(--brand-teal));flex-shrink:0}.sheet-limits__name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.88rem;font-weight:600;overflow:hidden}.sheet-limits__value{font-variant-numeric:tabular-nums;color:var(--text-secondary);flex-shrink:0;font-size:.88rem;font-weight:600}.sheet-limits__edit{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-muted);flex-direction:column;gap:.55rem;width:100%;padding:.7rem .85rem;display:flex}.sheet-limits__input{text-align:right;font-variant-numeric:tabular-nums;width:100%}.sheet-limits__edit-actions{gap:.45rem;display:flex}.sheet-limits__edit-btn{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text);font:inherit;cursor:pointer;flex:1;padding:.55rem .75rem;font-size:.85rem;font-weight:600}.sheet-limits__edit-btn:hover{background:var(--bg)}.sheet-limits__edit-btn--danger{color:#dc2626;border-color:color-mix(in srgb, #dc2626 28%, var(--border))}.sheet-limits__edit-btn--danger:hover{background:#fceeee}.sheet-limits__add{color:var(--text-secondary)}.edit-dialog__photo{border-radius:var(--radius-md);background:var(--bg-muted);width:100%;line-height:0;display:block;position:relative;overflow:hidden}.edit-dialog__photo-open{cursor:pointer;background:0 0;border:none;width:100%;padding:0;line-height:0;display:block}.edit-dialog__photo-img{object-fit:cover;width:100%;max-height:180px;display:block}.edit-dialog__photo-zoom{color:#fff;pointer-events:none;background:#0009;border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;display:flex;position:absolute;bottom:.5rem;right:.5rem}.edit-dialog__photo-download{z-index:1;color:#fff;cursor:pointer;background:#0009;border:none;border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;font-size:.95rem;line-height:1;display:flex;position:absolute;bottom:.5rem;right:calc(.85rem + 28px)}.edit-dialog__photo-download:hover:not(:disabled){background:#000000bf}.edit-dialog__photo-download:disabled{opacity:.55;cursor:default}.confirm-dialog-backdrop{z-index:460;background:#00000080;justify-content:center;align-items:center;padding:1.25rem;display:flex;position:fixed;inset:0}.confirm-dialog{background:var(--bg-card);border-radius:var(--radius-lg);width:100%;max-width:320px;box-shadow:var(--shadow-md);flex-direction:column;gap:.85rem;padding:1.25rem;display:flex}.confirm-dialog__title{margin:0;font-size:1.05rem;font-weight:700}.confirm-dialog__text{color:var(--text-secondary);margin:0;font-size:.88rem}.confirm-dialog__check{color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;font-size:.85rem;display:flex}.confirm-dialog__check input{width:16px;height:16px;accent-color:var(--text);cursor:pointer}.confirm-dialog__actions{grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.25rem;display:grid}.confirm-dialog__actions .batch-btn{padding:.7rem .75rem;font-size:.88rem}.batch-btn--danger-solid{background:var(--danger);color:var(--color-white)}.batch-btn--danger-solid:disabled{opacity:.6;cursor:default}.app-toolbar__title{color:var(--text-on-dark);letter-spacing:-.01em;font-size:.95rem;font-weight:600}.app-toolbar__refresh{border:1px solid var(--icon-wrap-border);background:var(--icon-wrap-bg);width:36px;height:36px;color:var(--text-on-dark);cursor:pointer;box-shadow:var(--shadow-icon);border-radius:50%;place-items:center;display:grid;position:absolute;right:1.25rem}.app-toolbar__refresh:hover:not(:disabled){color:var(--brand-teal);background:#ffffff1f;border-color:#5eead459}.app-toolbar__refresh:disabled{opacity:.7;cursor:default}.app-toolbar__refresh--spinning svg{animation:.75s linear infinite app-spin}.bottom-actions{padding:var(--fab-bottom-gap) 1.25rem calc(var(--fab-bottom-gap) + var(--safe-bottom));background:var(--bg-card);z-index:50;pointer-events:none;flex-shrink:0;justify-content:center;gap:.85rem;display:flex;position:relative}.bottom-actions__btn{pointer-events:auto;width:var(--fab-size);height:var(--fab-size);cursor:pointer;color:var(--color-white);background:#141416;border:1px solid #5eead438;border-radius:18px;place-items:center;padding:0;display:grid;box-shadow:0 10px 28px #00000038,0 0 0 1px #ffffff0f,0 0 24px #14b8a61f}.bottom-actions__btn--primary{color:var(--color-white);background:#141416}.bottom-actions__btn--active{box-shadow:0 0 0 2px var(--color-white), 0 0 0 4px #141416, 0 0 24px #14b8a633}.bottom-actions__btn:disabled{opacity:.85;cursor:default}.bottom-actions__btn--spinning svg{animation:.75s linear infinite app-spin}.photo-menu-backdrop{z-index:300;background:#00000073;justify-content:center;align-items:flex-end;display:flex;position:absolute;inset:0}.photo-menu{background:var(--bg-card);border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom,0px));flex-direction:column;gap:.35rem;display:flex}.photo-menu__btn{border-radius:var(--radius-md);background:var(--bg-muted);width:100%;font:inherit;color:var(--text);cursor:pointer;border:none;justify-content:center;align-items:center;padding:.95rem 1rem;font-size:.95rem;font-weight:600;display:flex}.photo-menu__btn:hover{background:#eaeaf0}.photo-menu__cancel{font:inherit;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;margin-top:.25rem;padding:.85rem;font-size:.9rem;font-weight:600}.scan-form{border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.1rem 1.15rem}.scan-form--placeholder{opacity:.55}.scan-form__heading{margin:0 0 .35rem;font-size:.95rem;font-weight:700}.scan-form__note{color:var(--text-secondary);margin:0 0 1rem;font-size:.78rem;line-height:1.45}.scan-form__fields{flex-direction:column;gap:.5rem;display:flex}.scan-form__field{border-radius:var(--radius-sm);background:var(--bg-muted);color:var(--text-dim);padding:.75rem .85rem;font-size:.88rem}.scan-form__field--disabled{pointer-events:none}@keyframes app-spin{to{transform:rotate(360deg)}}.app-toast{bottom:calc(var(--bottom-actions-bar) + .5rem);z-index:200;max-width:calc(var(--phone-max) - 2.5rem);text-align:center;background:var(--bg-hero-dark);color:var(--danger);box-shadow:var(--shadow-nav), 0 0 24px #14b8a614;border:1px solid #5eead426;border-radius:999px;padding:.65rem 1.1rem;font-size:.82rem;font-weight:500;transition:opacity .2s,transform .2s;position:absolute;left:50%;transform:translate(-50%)}.app-toast--hidden{opacity:0;pointer-events:none;visibility:hidden;transform:translate(-50%)translateY(.5rem)}.update-toast{bottom:calc(1rem + env(safe-area-inset-bottom,0px));z-index:10000;background:var(--bg-hero-dark);color:#f4f4f5;border:1px solid color-mix(in srgb, var(--brand-teal) 28%, transparent);max-width:calc(100vw - 1.5rem);box-shadow:var(--shadow-nav), 0 0 28px #14b8a61f;border-radius:999px;align-items:center;gap:.75rem;padding:.7rem .75rem .7rem 1.1rem;animation:.28s ease-out both update-toast-in;display:flex;position:fixed;left:50%;transform:translate(-50%)}.update-toast__text{letter-spacing:-.01em;white-space:nowrap;margin:0;font-size:.84rem;font-weight:500}.update-toast__btn{background:var(--brand-teal);color:#141416;font:inherit;letter-spacing:-.01em;cursor:pointer;-webkit-tap-highlight-color:transparent;appearance:none;border:none;border-radius:999px;outline:none;flex-shrink:0;margin:0;padding:.45rem .9rem;font-size:.8rem;font-weight:700}.update-toast__btn:hover{filter:brightness(1.05)}.update-toast__btn:active{filter:brightness(.96)}.update-toast__btn:focus-visible{box-shadow:0 0 0 2px #141416, 0 0 0 4px var(--brand-teal)}.install-toast{bottom:calc(1rem + env(safe-area-inset-bottom,0px));z-index:9990;background:var(--bg-hero-dark);color:#f4f4f5;border:1px solid color-mix(in srgb, var(--brand-teal) 28%, transparent);width:min(24rem,100vw - 1.5rem);box-shadow:var(--shadow-nav), 0 0 28px #14b8a61f;border-radius:18px;align-items:flex-end;gap:.75rem;padding:.85rem .9rem .85rem 1rem;animation:.28s ease-out both update-toast-in;display:flex;position:fixed;left:50%;transform:translate(-50%)}.install-toast__copy{flex:1;min-width:0}.install-toast__title{margin:0 0 .25rem;font-size:.88rem;font-weight:650}.install-toast__text{color:#f4f4f5c7;margin:0;font-size:.78rem;line-height:1.4}.install-toast__text--single{color:#f4f4f5;flex:1;align-self:center;font-size:.84rem}.install-toast__share{vertical-align:-2px;color:var(--brand-teal);display:inline-flex}.install-toast__actions{flex-shrink:0;gap:.35rem;display:flex}.install-toast__btn{font:inherit;cursor:pointer;background:var(--brand-teal);color:#0a0a0a;-webkit-tap-highlight-color:transparent;appearance:none;border:none;border-radius:999px;outline:none;flex-shrink:0;padding:.45rem .85rem;font-size:.8rem;font-weight:600}.install-toast__btn--ghost{color:#f4f4f5bf;background:0 0;border:1px solid #ffffff24}.install-toast__btn:hover{opacity:.92}.install-toast__btn:active{opacity:.85}.install-toast__btn:focus-visible{box-shadow:0 0 0 2px var(--bg-hero-dark), 0 0 0 4px var(--brand-teal)}@keyframes update-toast-in{0%{opacity:0;transform:translate(-50%)translateY(.65rem)}to{opacity:1;transform:translate(-50%)translateY(0)}}.empty-state{text-align:center;color:var(--text-dim);padding:2rem 0;font-size:.875rem}.empty-state--hidden{display:none}.landing-site{width:100%;min-height:100dvh;color:var(--text-on-dark);background:#121214;position:relative;overflow-x:hidden}.landing-site--loading{min-height:100dvh;display:block}.landing-site__loading{color:#ffffff8c;margin:0;font-size:.9rem}.landing-skeleton{flex-direction:column;gap:1.25rem;width:min(960px,100%);margin:0 auto;padding:1.5rem 1.25rem 3rem;display:flex}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.skeleton-view{flex-direction:column;min-height:100%;display:flex}.skeleton-hero .sk{background:#ffffff1a;animation:none}.skeleton-body{background:var(--bg-card);flex-direction:column;flex:1;gap:.75rem;padding:1.25rem;display:flex}.skeleton-body--login{align-items:stretch;gap:1rem;padding-top:2rem}.skeleton-body .sk{background:#e8e8ed;animation:none}@media (prefers-reduced-motion:no-preference){.skeleton-view.is-ready .skeleton-hero .sk{background:linear-gradient(90deg,#ffffff14 0%,#ffffff29 50%,#ffffff14 100%) 0 0/200% 100%;animation:1.4s ease-in-out infinite skeleton-shimmer}.skeleton-view.is-ready .skeleton-body .sk{background:linear-gradient(90deg, var(--bg-muted) 0%, color-mix(in srgb, var(--bg-muted) 60%, #fff) 50%, var(--bg-muted) 100%);background-size:200% 100%;animation:1.4s ease-in-out infinite skeleton-shimmer}}.sk{border-radius:var(--radius-sm);display:block}.sk--label{width:5.5rem;height:.7rem;margin-bottom:.65rem}.sk--label-sm{width:4.5rem;height:.6rem;margin-top:.35rem;margin-bottom:0}.sk--total{border-radius:var(--radius-md);width:9rem;height:2rem;margin-bottom:.55rem}.sk--total-lg{width:min(14rem,70%);height:2.6rem;margin-bottom:0}.sk--home-label{width:6.5rem;height:.65rem;margin-top:.4rem;margin-bottom:0}.sk--home-total{border-radius:var(--radius-sm);width:min(7.5rem,42vw);height:1.55rem;margin-bottom:0}.sk--stat-end .sk--home-label{margin-left:auto}.sk--stats{justify-content:space-between;gap:1rem;margin-bottom:1rem;display:flex}.sk--stats-compact{border-top:1px solid #ffffff14;margin:1rem 0 0;padding-top:.85rem}.sk--stat .sk--total{margin-bottom:0}.sk--stat-value{border-radius:var(--radius-sm);width:3.25rem;height:1.25rem}.sk--stat-end{flex-direction:column;align-items:flex-end;display:flex}.sk--stat-end .sk--label,.sk--stat-end .sk--label-sm{margin-left:auto}.sk--meta{opacity:.85;width:11rem;height:.75rem;margin-bottom:1rem}.sk--activity{border-radius:var(--radius-sm);width:100%;height:.85rem;margin-top:.85rem;padding-top:.85rem}.sk--activity-row{background:0 0;border-top:1px solid #ffffff14;border-radius:0;justify-content:space-between;align-items:center;gap:.75rem;height:auto;margin-top:.85rem;padding-top:.85rem;display:flex}.sk--activity-label{flex-shrink:0;width:4.5rem;height:.55rem}.sk--activity-value{flex-shrink:0;width:9.5rem;height:.65rem}.sk--filter{border-radius:999px;flex:1;width:auto;height:2.65rem;margin-bottom:0}.sk--filter-row{background:0 0;border-radius:0;align-items:center;gap:.55rem;height:auto;margin-bottom:.85rem;display:flex}.sk--filter-sort{border-radius:999px;flex-shrink:0;width:2.65rem;height:2.65rem}.skeleton-body--home{padding-top:.85rem}.sk--stats-hero-copy{flex-direction:column;flex:1;gap:.35rem;min-width:0;display:flex}.sk--stats-hero-copy .sk--label{margin-bottom:0}.sk--stats-filter{border-radius:999px;flex-shrink:0;width:2.35rem;height:2.35rem;margin-top:.15rem}.sk--stats-donut{place-items:center;width:100%;margin:1.15rem 0 .15rem;display:grid}.sk--stats-donut-ring{border-radius:999px;width:168px;height:168px;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 22px),#000 calc(100% - 21px));mask:radial-gradient(farthest-side,#0000 calc(100% - 22px),#000 calc(100% - 21px))}.skeleton-body--stats{gap:0;padding-top:.35rem}.sk--stats-row{border-bottom:1px solid var(--border);align-items:flex-start;gap:.75rem;padding:.8rem 0;display:flex}.sk--stats-icon{border-radius:.55rem;flex-shrink:0;width:2.25rem;height:2.25rem;margin-top:.1rem}.sk--stats-lines{flex-direction:column;flex:1;gap:.35rem;min-width:0;display:flex}.sk--stats-top{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.sk--stats-name{width:42%;height:.85rem}.sk--stats-amount{flex-shrink:0;width:5.25rem;height:.85rem}.sk--stats-meta{opacity:.85;width:34%;height:.65rem}.sk--stats-meter{border-radius:999px;width:100%;height:5px;margin-top:.05rem}.sk--sheet-row-full{border-bottom:1px solid var(--border);background:0 0;border-radius:0;align-items:center;gap:.85rem;height:auto;min-height:3.4rem;padding:.55rem 0;display:flex}.sk--sheet-icon{border-radius:12px;flex-shrink:0;width:2.5rem;height:2.5rem}.sk--sheet-lines{background:0 0;border-radius:0;flex-direction:column;flex:1;gap:.35rem;min-width:0;height:auto;display:flex}.sk--sheet-name{width:68%;height:.85rem}.sk--sheet-meta{opacity:.85;width:38%;height:.65rem}.sk--sheet-amount{flex-shrink:0;width:4.5rem;height:.85rem}.sk--bar{border-radius:999px;width:100%;height:10px;margin-bottom:.85rem}.skeleton-legend{grid-template-columns:1fr 1fr;gap:.55rem 1rem;display:grid}.sk--legend{width:85%;height:.85rem}.skeleton-title-row{align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.sk--icon-sq{border-radius:11px;flex-shrink:0;width:36px;height:36px}.sk--title{width:8rem;height:1.25rem}.sk--title-lg{width:10rem;height:1.5rem;margin:.75rem auto .5rem}.sk--icon-lg{border-radius:18px;width:64px;height:64px;margin:0 auto}.sk--sheet-row{border-radius:var(--radius-md);height:64px}.sk--sheet-row.sk--sheet-row-full{border-radius:0;height:auto;min-height:3.4rem}.sk--tx-row{border-radius:var(--radius-md);height:52px}.sk--group{width:5rem;height:.7rem;margin-top:.5rem}.sk--settings-row{border-radius:var(--radius-md);height:68px}.sk--cat-row{border-radius:var(--radius-md);height:56px}.sk--btn{border-radius:var(--radius-md);height:48px;margin-top:.35rem}.sk--link{width:6rem;height:.85rem;margin:.5rem auto 0}.sk--landing-nav,.sk--landing-hero,.sk--landing-block{border-radius:var(--radius-md);background:#ffffff14;width:100%;animation:none}.sk--landing-nav{height:2.5rem}.sk--landing-hero{height:min(52vh,420px)}.sk--landing-block{height:10rem}.landing-site__glow{pointer-events:none;z-index:0;background:radial-gradient(65% 55% at 18% 35%,#14b8a652,#0000 70%),radial-gradient(55% 50% at 88% 20%,#fb923c29,#0000 68%),radial-gradient(40% 35% at 60% 80%,#5eead414,#0000 70%);height:min(75vh,720px);animation:9s ease-in-out infinite alternate landing-glow;position:absolute;inset:-15% -10% auto}.landing-site__grain{opacity:.06;pointer-events:none;z-index:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}.landing-site__hero{z-index:1;align-items:center;min-height:100dvh;display:flex;position:relative}.landing-site__hero-mark{color:#5eead4;opacity:.12;pointer-events:none;animation:6s ease-in-out infinite landing-mark-float;position:absolute;top:50%;right:max(-4rem,-6vw)}.landing-site__hero-mark svg{width:min(52vw,420px);height:auto;display:block}.landing-site__hero-inner{z-index:1;width:min(100%,1120px);padding:calc(3.5rem + env(safe-area-inset-top,0px)) clamp(1.25rem, 5vw, 3.5rem) clamp(3rem, 8vh, 5rem);flex-direction:column;align-items:flex-start;margin:0 auto;display:flex;position:relative}.landing-site__name{font-family:var(--font-display);letter-spacing:-.05em;color:var(--text-on-dark);flex-wrap:wrap;gap:.22em;max-width:100%;margin:0 0 1.75rem;font-size:clamp(2.75rem,8vw,5.5rem);font-weight:800;line-height:.95;animation:.7s ease-out both landing-rise;display:flex}.landing-site__slogan{letter-spacing:-.025em;max-width:22ch;color:var(--text-on-dark);margin:0 0 .55rem;font-size:clamp(1.1rem,.35rem + 2vw,1.75rem);font-weight:600;line-height:1.3;animation:.7s ease-out .1s both landing-rise}.landing-site__trust{color:var(--brand-teal);margin:0 0 1.75rem;font-size:clamp(.88rem,1.4vw,1.02rem);font-weight:500;animation:.7s ease-out .16s both landing-rise}.landing-site__cta{border-radius:var(--radius-md);color:#141416;min-width:11rem;font:inherit;letter-spacing:-.01em;background:#f4f4f5;justify-content:center;align-items:center;padding:1rem 1.75rem;font-size:1rem;font-weight:700;text-decoration:none;transition:transform .2s,background .2s;animation:.7s ease-out .32s both landing-rise;display:inline-flex}.landing-site__cta:hover{background:#fff;transform:translateY(-2px)}.landing-site__cta:active{transform:translateY(0)}.landing-close{z-index:1;background:radial-gradient(70% 90% at 50% 0,#14b8a629,#0000 58%),#ffffff08;border-top:1px solid #5eead424;width:100%;margin-top:clamp(2rem,5vw,3.5rem);position:relative}.landing-close__inner{text-align:center;width:min(100%,1120px);padding:clamp(2.75rem, 7vw, 4.5rem) clamp(1.25rem, 5vw, 3.5rem) calc(3.25rem + env(safe-area-inset-bottom,0px));flex-direction:column;align-items:center;margin:0 auto;display:flex}.landing-close__label{letter-spacing:.05em;text-transform:uppercase;color:var(--brand-teal);margin:0 0 .5rem;font-size:.78rem;font-weight:700}.landing-close__title{font-family:var(--font-display);letter-spacing:-.035em;margin:0 0 .75rem;font-size:clamp(1.45rem,3vw,2rem);font-weight:800}.landing-close__text{color:#ffffff9e;max-width:34rem;margin:0 0 1.75rem;font-size:clamp(.95rem,1.5vw,1.08rem);line-height:1.55}.landing-close__cta{animation:none}.landing-how{z-index:1;width:min(100%,1240px);margin:0 auto;padding:clamp(2.5rem,6vw,4.5rem) clamp(1.25rem,5vw,3.5rem);position:relative}.landing-how__intro{text-align:center;max-width:36rem;margin:0 auto clamp(2.5rem,6vw,4rem)}.landing-how__title{font-family:var(--font-display);letter-spacing:-.04em;margin:0 0 .75rem;font-size:clamp(1.85rem,4vw,2.75rem);font-weight:800;line-height:1.1}.landing-how__subtitle{color:#ffffff8c;margin:0;font-size:clamp(.95rem,1.6vw,1.08rem);line-height:1.5}.landing-how__steps{flex-direction:column;gap:clamp(3.5rem,9vw,6.5rem);margin:0;padding:0;list-style:none;display:flex}.landing-how__step{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:center;gap:clamp(1.75rem,5vw,4rem);display:grid}.landing-how__visual{justify-content:center;min-width:0;display:flex}.landing-how__copy{max-width:30rem}.landing-how__label{letter-spacing:.04em;text-transform:uppercase;color:var(--brand-teal);margin:0 0 .55rem;font-size:.82rem;font-weight:700}.landing-how__step-title{font-family:var(--font-display);letter-spacing:-.035em;margin:0 0 .75rem;font-size:clamp(1.45rem,2.8vw,2rem);font-weight:800;line-height:1.15}.landing-how__step-text{color:#ffffff94;margin:0;font-size:clamp(.95rem,1.5vw,1.05rem);line-height:1.55}.landing-stories{z-index:1;width:min(100%,1120px);margin:0 auto;padding:clamp(1.5rem,4vw,2.5rem) clamp(1.25rem,5vw,3.5rem) clamp(2.5rem,6vw,4rem);position:relative}.landing-stories__intro{text-align:center;max-width:32rem;margin:0 auto clamp(2rem,5vw,3rem)}.landing-stories__label{letter-spacing:.05em;text-transform:uppercase;color:var(--brand-teal);margin:0 0 .5rem;font-size:.78rem;font-weight:700}.landing-stories__title{font-family:var(--font-display);letter-spacing:-.035em;margin:0;font-size:clamp(1.65rem,3.5vw,2.25rem);font-weight:800;line-height:1.15}.landing-stories__list{scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:none;gap:1.5rem;margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}.landing-stories__list::-webkit-scrollbar{display:none}.landing-stories__item{scroll-snap-align:start;scroll-snap-stop:always;flex-direction:column;flex:0 0 calc(33.3333% - 1rem);gap:1.15rem;min-width:0;display:flex}.landing-stories__quote{border:0;margin:0;padding:0}.landing-stories__quote p{color:#ffffffb8;margin:0;font-size:clamp(.95rem,1.4vw,1.05rem);line-height:1.55}.landing-stories__quote p:before{content:"“";color:var(--brand-teal);margin-right:.1em;font-weight:700}.landing-stories__person{align-items:center;gap:.75rem;margin-top:auto;display:flex}.landing-stories__photo{object-fit:cover;border:1px solid #5eead447;border-radius:50%;flex-shrink:0;width:48px;height:48px}.landing-stories__meta{min-width:0}.landing-stories__name{letter-spacing:-.015em;color:#fff;margin:0;font-size:.92rem;font-weight:700}.landing-stories__role{color:#ffffff7a;margin:.15rem 0 0;font-size:.78rem;font-weight:550}.landing-stories__dots{justify-content:center;align-items:center;gap:.45rem;margin-top:1.35rem;display:flex}.landing-stories__dot{appearance:none;cursor:pointer;background:#ffffff38;border:0;border-radius:50%;width:7px;height:7px;padding:0;transition:background .2s,transform .2s}.landing-stories__dot.is-active{background:var(--brand-teal);transform:scale(1.2)}@media (width<=860px){.landing-stories{padding-left:0;padding-right:0}.landing-stories__intro{padding-inline:clamp(1.25rem,5vw,3.5rem)}.landing-stories__list{gap:1rem;padding-inline:clamp(1.25rem,5vw,3.5rem)}.landing-stories__item{scroll-snap-align:center;flex:0 0 min(100%,22rem);width:min(100%,22rem);max-width:22rem;min-height:11.5rem}.landing-stories__dots{padding-inline:clamp(1.25rem,5vw,3.5rem)}}.landing-mock{width:min(100%,320px)}.landing-mock__phone{background:linear-gradient(160deg,#2a2a2e 0%,#1a1a1c 100%);border:1px solid #ffffff1a;border-radius:clamp(28px,4vw,36px);padding:clamp(.55rem,1.2vw,.75rem);position:relative;box-shadow:0 0 0 1px #5eead40f,0 28px 56px #0006}.landing-mock__notch{z-index:2;background:#ffffff1f;border-radius:999px;width:28%;height:7px;position:absolute;top:clamp(.85rem,1.5vw,1.1rem);left:50%;transform:translate(-50%)}.landing-mock__screen{background:#fff;border-radius:clamp(22px,3vw,28px);min-height:clamp(340px,42vh,420px);position:relative;overflow:hidden}.landing-mock__chip{color:#0f766e;background:#14b8a624;border-radius:999px;align-self:flex-start;padding:.28rem .7rem;font-size:.72rem;font-weight:700;display:inline-flex}.landing-mock__scan,.landing-mock__share{color:#171717;background:#fff;flex-direction:column;gap:1.1rem;min-height:clamp(340px,42vh,420px);padding:1.5rem 1.15rem 1.35rem;display:flex}.landing-mock__share-label{letter-spacing:.05em;text-transform:uppercase;color:#6b7280;margin:0;font-size:.72rem;font-weight:700}.landing-mock__share-list{flex-direction:column;gap:.65rem;margin:0;padding:0;list-style:none;display:flex}.landing-mock__share-item{align-items:center;gap:.75rem;display:flex}.landing-mock__share-avatar{color:#374151;background:#ececf0;border-radius:50%;flex-shrink:0;place-items:center;width:40px;height:40px;font-size:.85rem;font-weight:700;display:grid}.landing-mock__share-avatar--teal{color:#0f766e;background:#14b8a62e}.landing-mock__share-who{flex-direction:column;gap:.1rem;min-width:0;display:flex}.landing-mock__share-who strong{color:#171717;font-size:.95rem;font-weight:650}.landing-mock__share-who em{color:#6b7280;font-size:.75rem;font-style:normal;font-weight:550}.landing-mock__share-invite{color:#fff;text-align:center;background:#141416;border:1px solid #141416;border-radius:12px;margin-top:auto;padding:.85rem .95rem;font-size:.88rem;font-weight:700}.landing-mock__rows{flex-direction:column;gap:.55rem;display:flex}.landing-mock__row{background:#f7f7f9;border:1px solid #e8e8ee;border-radius:12px;flex-direction:column;gap:.15rem;padding:.8rem .9rem;display:flex}.landing-mock__row--focus{background:#fff;border-color:#141416;box-shadow:0 0 0 1px #14b8a633}.landing-mock__k{letter-spacing:.04em;text-transform:uppercase;color:#6b7280;font-size:.68rem;font-weight:700}.landing-mock__v{color:#171717;font-variant-numeric:tabular-nums;font-size:1.02rem;font-weight:650}.landing-mock__dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.landing-mock__dash{background:#f2f2f7;flex-direction:column;min-height:clamp(340px,42vh,420px);display:flex}.landing-mock__dash-hero{background:var(--hero-glow), var(--bg-hero-dark);color:#fff;padding:1.35rem 1.15rem 1.1rem}.landing-mock__dash-label{color:#ffffff8c;margin:0 0 .25rem;font-size:.75rem}.landing-mock__dash-total{letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin:0 0 .3rem;font-size:clamp(1.7rem,3vw,2.05rem);font-weight:700}.landing-mock__dash-meta{color:#ffffff7a;margin:0 0 .85rem;font-size:.72rem;font-weight:500}.landing-mock__dash-delta{color:var(--brand-teal);margin:0 0 .85rem;font-size:.78rem;font-weight:650}.landing-mock__dash-slash{color:#fff6;margin:0 .2em;font-weight:500}.landing-mock__dash-spent{color:#ffffffe0;font-weight:650}.landing-mock__dash-spent--teal{color:var(--brand-teal)}.landing-mock__dash-sheet{color:#ffffffb8;margin:0 0 .35rem;font-size:.78rem;font-weight:650}.landing-mock__dash-filter{font-variant-numeric:tabular-nums;color:#fff;margin:0 0 .65rem;font-size:.82rem;font-weight:700}.landing-mock__cat-row{align-items:center;gap:.4rem;margin-top:.75rem;display:flex}.landing-mock__cat-icons{flex:1;gap:.35rem;min-width:0;display:flex;overflow:hidden}.landing-mock__cat-chip{border:1px solid #ffffff29;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;gap:.3rem;min-width:1.55rem;height:1.55rem;padding:0 .35rem;display:inline-flex}.landing-mock__cat-chip--active{padding:0 .55rem 0 .4rem}.landing-mock__cat-chip em{color:#fff;white-space:nowrap;font-size:.68rem;font-style:normal;font-weight:650}.landing-mock__filter-btn{color:#ffffffb8;border:1px solid #ffffff29;border-radius:999px;flex-shrink:0;place-items:center;width:1.55rem;height:1.55rem;display:grid}.landing-mock__tx-list{background:#fff;flex:1;margin:0;padding:.55rem .85rem .75rem;list-style:none}.landing-mock__tx-row{border-bottom:1px solid #1414160f;align-items:center;gap:.55rem;padding:.55rem 0;display:flex}.landing-mock__tx-row:last-child{border-bottom:none}.landing-mock__tx-icon{border-radius:.45rem;flex-shrink:0;place-items:center;width:1.7rem;height:1.7rem;display:grid}.landing-mock__tx-body{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.landing-mock__tx-body strong{color:#141416;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:650;overflow:hidden}.landing-mock__tx-body em{color:#14141673;font-size:.65rem;font-style:normal}.landing-mock__tx-amount{font-variant-numeric:tabular-nums;color:#141416;flex-shrink:0;font-size:.78rem;font-weight:700}.landing-mock__bar{border-radius:999px;gap:3px;height:10px;display:flex;overflow:hidden}.landing-mock__bar span{border-radius:999px;min-width:6px;display:block}.landing-mock__limits{background:#fff;flex-direction:column;flex:1;gap:.45rem;padding:.75rem .85rem .9rem;display:flex}.landing-mock__limits-label{letter-spacing:.02em;text-transform:uppercase;color:#6b7280;margin:0 0 .15rem;font-size:.72rem;font-weight:650}.landing-mock__limits-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.landing-mock__limits-btn{box-sizing:border-box;background:#fafafa;border:1px solid #efeff3;border-radius:12px;align-items:center;gap:.55rem;width:100%;padding:.65rem .75rem;display:flex}.landing-mock__limits-icon{border-radius:9px;flex-shrink:0;place-items:center;width:32px;height:32px;display:grid}.landing-mock__limits-btn strong{color:#171717;flex:1;min-width:0;font-size:.88rem;font-weight:650}.landing-mock__limits-btn em{font-variant-numeric:tabular-nums;color:#6b7280;flex-shrink:0;font-size:.88rem;font-style:normal;font-weight:700}.landing-mock__sheet-list{background:#fff;flex-direction:column;flex:1;margin:0;padding:.35rem .85rem .85rem;list-style:none;display:flex}.landing-mock__sheet-row{border-bottom:1px solid #efeff3;grid-template-columns:auto 1fr auto;align-items:center;gap:.7rem;padding:.7rem .15rem;display:grid}.landing-mock__sheet-row:last-child{border-bottom:0}.landing-mock__sheet-icon{border-radius:10px;flex-shrink:0;place-items:center;width:36px;height:36px;display:grid}.landing-mock__sheet-body{flex-direction:column;gap:.12rem;min-width:0;display:flex}.landing-mock__sheet-body strong{color:#171717;font-size:.9rem;font-weight:650}.landing-mock__sheet-body em{color:#6b7280;font-size:.72rem;font-style:normal;font-weight:500}.landing-mock__sheet-amount{font-variant-numeric:tabular-nums;color:#171717;font-size:.92rem;font-weight:700}.landing-mock__sheet-body em.landing-mock__sheet-change{color:#0f766e;font-weight:700}.landing-mock__sheet-body em.landing-mock__sheet-change--up{color:#b45309}@keyframes landing-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes landing-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes landing-mark-float{0%,to{transform:translateY(-42%)}50%{transform:translateY(calc(-42% - 10px))}}@keyframes landing-glow{0%{opacity:.9;transform:scale(1)translateY(0)}to{opacity:1;transform:scale(1.06)translateY(3%)}}@media (width<=960px){.landing-how__step{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:1.75rem}.landing-mock{width:min(100%,300px)}.landing-mock__screen,.landing-mock__scan,.landing-mock__share,.landing-mock__dash{min-height:clamp(320px,40vh,400px)}}@media (width<=720px){.landing-site__hero{min-height:auto}.landing-site__hero-inner{padding-top:calc(2.5rem + env(safe-area-inset-top,0px));justify-content:center;min-height:min(100dvh,760px);padding-bottom:3rem}.landing-site__hero-mark{opacity:.1;animation:6s ease-in-out infinite landing-float;top:auto;bottom:4%;right:-18%}.landing-site__hero-mark svg{width:min(78vw,280px)}.landing-site__slogan{max-width:none}.landing-site__name{flex-direction:column;align-items:flex-start;gap:.02em;font-size:clamp(3rem,18vw,4.25rem);line-height:.92}.landing-how__step{text-align:left;grid-template-columns:1fr;align-items:stretch;gap:1.15rem}.landing-how__visual{justify-content:stretch;width:100%}.landing-how__copy{max-width:none}.landing-mock,.landing-mock__phone{width:100%}.landing-mock__screen,.landing-mock__scan,.landing-mock__share,.landing-mock__dash{min-height:clamp(280px,52vw,420px)}}@media (width<=420px){.landing-site__cta{width:100%}.landing-close__cta{width:100%;max-width:280px}}@media (prefers-reduced-motion:reduce){.landing-site__glow,.landing-site__hero-mark,.landing-site__name,.landing-site__slogan,.landing-site__trust,.landing-site__cta{animation:none}}.login-page__hero{text-align:center;flex:0;padding-top:3rem;padding-bottom:2rem}.login-page__brand{color:inherit;flex-direction:column;align-items:center;gap:.85rem;margin-bottom:.75rem;text-decoration:none;display:flex}.login-page__icon-wrap{color:#5eead4;width:68px;height:68px;box-shadow:var(--shadow-icon), 0 0 28px #14b8a629;background:#0a0a0a;border:1px solid #ffffff1f;border-radius:18px;place-items:center;display:grid;overflow:hidden}.login-page__icon{display:block}.login-page__title{font-family:var(--font-display);letter-spacing:-.04em;color:var(--text-on-dark);margin:0;font-size:1.85rem;font-weight:800}.login-page__body{background:var(--bg-card);color:var(--text);flex-direction:column;flex:1;align-items:center;gap:1rem;padding:2rem 1.25rem;display:flex}.login-page__btn{border-radius:var(--radius-md);color:#fff;width:100%;max-width:280px;font:inherit;cursor:pointer;background:#141416;border:none;padding:.85rem 1.25rem;font-size:.95rem;font-weight:600;transition:background .15s,box-shadow .15s;box-shadow:0 8px 24px #00000029,0 0 0 1px #5eead41f}.login-page__btn:hover:not(:disabled){background:#222226;box-shadow:0 10px 28px #0003,0 0 0 1px #5eead447}.login-page__btn:disabled{opacity:.5;cursor:default}.login-page__hint{color:var(--text-dim);text-align:center;margin:0;font-size:.78rem}.login-page__hint--error{color:var(--danger)}.login-page__back{font:inherit;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;margin-top:.25rem;padding:.5rem;font-size:.88rem;font-weight:600;text-decoration:none}.login-page__back:hover{color:var(--text)}.batch-overlay{z-index:400;background:var(--bg-app);flex-direction:column;display:flex;position:absolute;inset:0;overflow:hidden}.batch-step{flex-direction:column;flex:1;min-height:0;display:flex}.batch-step--table{background:var(--bg-app)}.batch-step--table .batch-step__footer{background:var(--bg-card);box-shadow:0 -4px 16px #0000000a}.batch-step__header{padding:calc(.75rem + env(safe-area-inset-top,0px)) 1.25rem 1rem;background:var(--hero-glow), var(--bg-hero-dark);color:var(--text-on-dark);text-align:center;flex-shrink:0;position:relative;box-shadow:inset 0 -1px #5eead41a}.batch-step__close{left:1rem;top:calc(.75rem + env(safe-area-inset-top,0px));border:1px solid var(--icon-wrap-border);background:var(--icon-wrap-bg);width:36px;height:36px;color:var(--text-on-dark);cursor:pointer;box-shadow:var(--shadow-icon);border-radius:50%;font-size:1rem;position:absolute}.batch-step__close:hover{color:var(--brand-teal);border-color:#5eead459}.batch-step__header--toolbar{padding:var(--hero-top-pad) 1.25rem .65rem;background:var(--hero-glow), var(--bg-hero-dark);color:var(--text-on-dark);text-align:left;justify-content:flex-start;align-items:center;min-height:0;display:flex;box-shadow:inset 0 -1px #5eead41a}.batch-step__title{margin:0;font-size:1.05rem;font-weight:700}.batch-step__subtitle{color:var(--text-muted-on-dark);margin:.25rem 0 0;font-size:.78rem}.batch-step__body{background:var(--bg-card);color:var(--text);flex:1;padding:1.25rem;overflow-y:auto}.batch-step__footer{padding:1rem 1.25rem calc(1rem + env(safe-area-inset-bottom,0px));background:var(--bg-card);border-top:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:.5rem;display:flex}.category-grid{grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:1.25rem;display:grid}.category-pill{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);min-width:0;color:var(--text);font:inherit;cursor:pointer;text-align:left;align-items:center;gap:.5rem;padding:.75rem .65rem .75rem .85rem;font-size:.88rem;font-weight:600;display:flex}.category-pill__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text);flex:1;overflow:hidden}.category-pill__edit{border-radius:var(--radius-sm);background:var(--bg-muted);width:28px;height:28px;color:var(--text-secondary);cursor:pointer;flex-shrink:0;place-items:center;display:grid}.category-pill__edit:hover{color:var(--text);background:var(--border)}.category-pill__glyph{width:28px;height:28px;color:var(--category-accent,var(--brand-teal));background:color-mix(in srgb, var(--category-accent,var(--brand-teal)) 12%, #fff);border:1px solid color-mix(in srgb, var(--category-accent,var(--brand-teal)) 28%, transparent);border-radius:8px;flex-shrink:0;place-items:center;display:grid}.category-pill--active{border-color:var(--text);background:var(--bg-muted)}.category-glyph__img{object-fit:cover;border-radius:4px;width:100%;max-width:1.25rem;height:100%;max-height:1.25rem;display:block}.category-icon-picker{flex-direction:column;gap:.75rem;margin-top:1.1rem;display:flex}.category-icon-picker__head{flex-direction:column;gap:.2rem;display:flex}.category-icon-picker__hint{color:var(--text-secondary);font-size:.75rem}.category-icon-picker__preview{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-muted);align-items:center;gap:.65rem;padding:.65rem .75rem;display:flex}.category-icon-picker__preview-glyph{width:36px;height:36px;color:var(--category-accent,var(--brand-teal));background:color-mix(in srgb, var(--category-accent,var(--brand-teal)) 12%, #fff);border:1px solid color-mix(in srgb, var(--category-accent,var(--brand-teal)) 28%, transparent);border-radius:10px;place-items:center;display:grid}.category-icon-picker__preview-name{font-size:.9rem;font-weight:600}.category-icon-picker__grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:.4rem;display:grid}.category-icon-picker__btn{aspect-ratio:1;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text);cursor:pointer;place-items:center;padding:0;display:grid}.category-icon-picker__btn:hover{border-color:var(--border-strong);background:var(--bg-muted)}.category-icon-picker__btn--active{border-color:var(--text);background:var(--bg-muted);box-shadow:0 0 0 1px var(--text)}.category-icon-picker__glyph{color:inherit;place-items:center;display:grid}.category-color-picker{flex-wrap:wrap;gap:.45rem;display:flex}.category-color-picker__swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:32px;height:32px;padding:0;box-shadow:inset 0 0 0 1px #00000014}.category-color-picker__swatch:hover{transform:scale(1.06)}.category-color-picker__swatch--active{border-color:var(--text);box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--text)}.category-icon-picker__actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.category-icon-picker__more-btn{border-radius:var(--radius-sm);font:inherit;cursor:pointer;border:1px solid var(--border-strong);background:var(--bg-card);color:var(--text);padding:.55rem .85rem;font-size:.82rem;font-weight:600}.category-icon-picker__more-btn:hover{background:var(--bg-muted)}.sheet-pick-hint{color:var(--text-secondary);margin:0 0 .85rem;font-size:.84rem;font-weight:500;line-height:1.35}.sheet-pick-list{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex-direction:column;gap:.5rem;max-height:min(18rem,42dvh);margin:0 0 1rem;padding:0;list-style:none;display:flex;overflow-y:auto}.sheet-pick-item{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);width:100%;font:inherit;cursor:pointer;text-align:left;color:var(--text);align-items:center;gap:.75rem;padding:.75rem .85rem;font-size:.9rem;font-weight:600;display:flex}.sheet-pick-item:hover{background:var(--bg-muted);border-color:color-mix(in srgb, var(--brand-teal) 35%, var(--border))}.sheet-pick-item--active{border-color:var(--text);background:var(--bg-muted)}.sheet-pick-item__icon{--sheet-accent:var(--brand-teal);width:36px;height:36px;color:var(--sheet-accent);background:color-mix(in srgb, var(--sheet-accent) 12%, #fff);border:1px solid color-mix(in srgb, var(--sheet-accent) 28%, transparent);border-radius:10px;flex-shrink:0;place-items:center;display:grid;box-shadow:0 4px 12px #0000000d}.sheet-pick-item__name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.sheet-pick-item__meta{font-variant-numeric:tabular-nums;color:var(--text-secondary);flex-shrink:0;font-size:.82rem;font-weight:650}.sheet-pick-create{border:1px dashed color-mix(in srgb, var(--brand-teal) 40%, var(--border));border-radius:var(--radius-md);background:color-mix(in srgb, var(--brand-teal) 6%, #fff);width:100%;font:inherit;color:color-mix(in srgb, var(--brand-teal) 25%, var(--text));cursor:pointer;justify-content:center;align-items:center;padding:.8rem 1rem;font-size:.9rem;font-weight:650;display:flex}.sheet-pick-create:hover{background:color-mix(in srgb, var(--brand-teal) 12%, #fff)}.photo-source{flex-direction:column;gap:.65rem;display:flex}.photo-review__title{text-align:center;margin:0;font-size:1rem;font-weight:700}.photo-review__hint{color:var(--text-secondary);text-align:center;margin:.35rem 0 .75rem;font-size:.78rem;line-height:1.35}.photo-review__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.photo-review__item{aspect-ratio:3/4;border-radius:var(--radius-md);border:1px solid var(--border);background:#111;position:relative;overflow:hidden}.photo-review__img{object-fit:cover;width:100%;height:100%;display:block}.photo-review__remove{color:#fff;cursor:pointer;background:#000000a6;border:none;border-radius:50%;width:28px;height:28px;font-size:.85rem;line-height:1;position:absolute;top:.35rem;right:.35rem}.photo-source__btn{border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--bg-card);width:100%;color:var(--text);font:inherit;cursor:pointer;text-align:center;padding:.9rem 1rem;font-size:.95rem;font-weight:600}.photo-source__hint{color:var(--text-secondary);text-align:center;margin:.15rem 0 0;font-size:.78rem;line-height:1.35}.scan-hud{flex-direction:column;align-items:stretch;gap:.65rem;padding:1.5rem .1rem .4rem;display:flex}.scan-hud__headline{text-align:center;letter-spacing:.28em;text-indent:.28em;text-transform:uppercase;color:var(--text);margin:0;font-size:.72rem;font-weight:700}.scan-hud__row{align-items:center;gap:.45rem;display:flex}.scan-hud__mark{color:var(--text-secondary);flex-shrink:0;font-size:.7rem;font-weight:600;line-height:1}.scan-hud__segments{flex:1;gap:4px;min-width:0;display:flex}.scan-hud__seg{background:0 0;border:1.5px solid #141416;border-radius:3px;flex:1 1 0;min-width:8px;height:18px;transition:background .25s,border-color .25s,opacity .25s}.scan-hud__seg--waiting{opacity:.85;border-color:#d4d4d8}.scan-hud__seg--active{background:#1414162e;border-color:#141416;animation:1s ease-in-out infinite scan-hud-pulse}.scan-hud__seg--ok{background:#141416;border-color:#141416}.scan-hud__seg--fail{background:#d4d4d8;border-color:#a1a1aa}.scan-hud__pct{font-variant-numeric:tabular-nums;letter-spacing:.04em;color:var(--text);text-align:right;flex-shrink:0;min-width:3.4rem;font-size:.72rem;font-weight:700}.scan-hud__analyze{letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary);align-items:center;gap:.55rem;padding:0 .15rem;font-size:.65rem;font-weight:650;display:flex}.scan-hud__analyze-line{background:#e4e4e7;flex:1;height:1px}.scan-hud__stats{flex-direction:column;gap:.45rem;margin-top:.35rem;padding:0 .15rem;display:flex}.scan-hud__stat{grid-template-columns:4.6rem 1fr auto;align-items:center;gap:.55rem;display:grid}.scan-hud__stat-label{color:var(--text-secondary);font-size:.72rem;font-weight:600}.scan-hud__stat-line{background:#ececf0;border-radius:999px;height:2px;position:relative;overflow:hidden}.scan-hud__stat-fill{border-radius:inherit;width:0;height:100%;transition:width .35s;display:block}.scan-hud__stat-fill--ok{background:#141416}.scan-hud__stat-fill--fail{background:#a1a1aa}.scan-hud__stat-value{font-variant-numeric:tabular-nums;color:var(--text);text-align:right;min-width:1.25rem;font-size:.78rem;font-weight:700}.scan-hud__note{text-align:center;color:var(--text-secondary);margin:.35rem 0 0;font-size:.75rem;line-height:1.4}@keyframes scan-hud-pulse{0%,to{opacity:.45}50%{opacity:1}}.batch-scan-summary{flex-shrink:0;padding:.75rem 1.25rem .35rem}.batch-scan-summary__title{color:var(--text-secondary);letter-spacing:.01em;margin:0 0 .45rem;font-size:.78rem;font-weight:650}.batch-scan-summary__segs{margin-bottom:.25rem}.batch-card--needs-manual{box-shadow:inset 3px 0 #a1a1aa}.batch-card--pending{opacity:.72}.batch-card__status{letter-spacing:.02em;color:var(--text-secondary);background:#ececf0;border-radius:999px;align-items:center;padding:.15rem .45rem;font-size:.68rem;font-weight:700;display:inline-flex}.batch-card__status--done{color:#fff;background:#141416}.batch-card__status--failed{color:#52525b;background:#f4f4f5;box-shadow:inset 0 0 0 1px #d4d4d8}.batch-card__status--pending{color:var(--text-secondary);background:#f4f4f5}.batch-card__ai-hint{color:var(--text-secondary);margin:0;font-size:.72rem}.batch-card__ai-hint--warn{color:#b45309}.photo-source__back,.batch-step__back-link{font:inherit;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;align-self:flex-start;margin-top:.5rem;padding:.5rem;font-size:.85rem;font-weight:600}.batch-field{flex-direction:column;gap:.35rem;display:flex}.batch-field--inline{flex-direction:row;align-items:center;gap:.75rem}.batch-field__label{color:var(--text-secondary);font-size:.78rem;font-weight:600}.batch-field__input{border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:100%;min-width:0;font:inherit;background:var(--bg-card);color:var(--text);flex:1;padding:.65rem .75rem;font-size:.9rem}.batch-field__input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft);outline:none}.batch-field__input--invalid,.batch-field__input--invalid:focus{border-color:#b91c1c;box-shadow:0 0 0 2px #b91c1c2e}select.batch-field__input,.batch-field__select{appearance:none;cursor:pointer;background-color:var(--bg-card);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23737373' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right .85rem center;background-repeat:no-repeat;background-size:1rem;padding-right:2.6rem}select.batch-field__input:focus,.batch-field__select:focus{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23171717' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")}select.batch-field__input option,.batch-field__select option{color:var(--text);background:var(--bg-card)}.batch-field__input--amount{font-variant-numeric:tabular-nums}.batch-field__input--compact{padding:.5rem .6rem;font-size:.85rem}select.batch-field__input--compact,.batch-field__input--compact.batch-field__select{background-position:right .65rem center;background-size:.9rem;padding-right:2.2rem}.batch-field__input--date{font-variant-numeric:tabular-nums;appearance:none;background-color:var(--bg-card);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23737373' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E");background-position:right .65rem center;background-repeat:no-repeat;background-size:.95rem;flex:1;min-width:0;padding-right:2.2rem;position:relative}.lt-date{border:1px solid var(--border);border-radius:var(--radius-md);background-color:var(--bg-card);box-sizing:border-box;width:100%;min-width:0;min-height:2.75rem;color:var(--text);font:inherit;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23737373' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E");background-position:right .65rem center;background-repeat:no-repeat;background-size:.95rem;flex:1;align-items:center;padding:.65rem 2.2rem .65rem .85rem;font-size:.95rem;font-weight:500;display:flex;position:relative}.lt-date--compact{border-radius:var(--radius-sm);min-height:0;padding:.5rem 2rem .5rem .6rem;font-size:.85rem}.lt-date--invalid{border-color:var(--danger)}.lt-date--disabled{opacity:.55;pointer-events:none}.lt-date__text{text-overflow:ellipsis;white-space:nowrap;pointer-events:none;min-width:0;overflow:hidden}.lt-date__native{opacity:0;cursor:pointer;border:0;width:100%;height:100%;margin:0;padding:0;font-size:1.2rem;position:absolute;inset:0}.lt-date__native::-webkit-calendar-picker-indicator{color:#0000;cursor:pointer;opacity:0;background:0 0;width:auto;height:auto;position:absolute;inset:0}.batch-field__input--date:focus{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23171717' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E")}.batch-field__input--date::-webkit-calendar-picker-indicator{color:#0000;cursor:pointer;opacity:0;background:0 0;width:auto;height:auto;position:absolute;inset:0}.batch-field__input--date::-webkit-inner-spin-button{-webkit-appearance:none;display:none}.batch-field__input--date::-webkit-clear-button{-webkit-appearance:none;display:none}.batch-sheet-picker{border-bottom:1px solid var(--border);background:var(--bg-muted);padding:.75rem 1.25rem}.batch-cards{-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;gap:.5rem;min-height:0;margin:0;padding:.65rem .75rem .5rem;list-style:none;display:flex;overflow-y:auto}.batch-add-manual{margin:0;padding:0;list-style:none}.batch-add-manual .batch-btn{width:100%}.batch-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:flex-start;gap:.6rem;padding:.6rem;display:flex}.batch-card--enter{animation:.45s cubic-bezier(.22,1,.36,1) both batch-card-enter}.batch-card--skeleton{background:#fafafa;border-style:dashed;animation:.35s both batch-card-enter}.batch-card__skeleton-thumb{background:linear-gradient(90deg,#ececf0 25%,#f5f5f7 50%,#ececf0 75%) 0 0/200% 100%;border-radius:6px;flex-shrink:0;width:52px;height:52px;animation:1.2s ease-in-out infinite batch-shimmer}.batch-card__skeleton-line{border-radius:var(--radius-sm);background:linear-gradient(90deg,#ececf0 25%,#f5f5f7 50%,#ececf0 75%) 0 0/200% 100%;height:34px;animation:1.2s ease-in-out infinite batch-shimmer}.batch-card__skeleton-line--short{width:55%}.batch-card__skeleton-line--half{flex:1}.batch-card__skeleton-row{gap:.4rem;display:flex}.batch-card__skeleton-label{color:var(--text-secondary);margin:.1rem 0 0;font-size:.72rem;font-weight:600}@keyframes batch-card-enter{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes batch-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.batch-card__main{flex-direction:column;flex:1;gap:.4rem;min-width:0;display:flex}.batch-card__row{align-items:center;gap:.5rem;display:flex}.batch-card__remove{border-radius:var(--radius-sm);background:var(--danger);width:34px;height:34px;color:var(--color-white);cursor:pointer;border:none;flex-shrink:0;place-items:center;padding:0;display:grid}.batch-card__remove:hover,.batch-card__remove:active{opacity:.88}.batch-card__thumb-btn{cursor:pointer;box-shadow:0 0 0 1px var(--border-strong);background:0 0;border:none;border-radius:6px;flex-shrink:0;padding:0;line-height:0;position:relative;overflow:hidden}.batch-card__thumb-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.batch-card__thumb{object-fit:cover;width:52px;height:52px;display:block}.batch-card__thumb--manual{border-radius:var(--radius-sm,8px);color:#8a8a93;background:#f0f0f2;flex-shrink:0;place-items:center;display:grid}.batch-card__zoom{color:#fff;pointer-events:none;background:#0009;border-radius:4px;justify-content:center;align-items:center;width:20px;height:20px;display:flex;position:absolute;bottom:2px;right:2px}.batch-card__grid{grid-template-columns:1fr 1fr;gap:.4rem;display:grid}.image-lightbox{z-index:500;padding:1rem;padding-top:calc(1rem + env(safe-area-inset-top,0px));padding-bottom:calc(1rem + env(safe-area-inset-bottom,0px));touch-action:none;background:#000000eb;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.image-lightbox__close{top:calc(.75rem + env(safe-area-inset-top,0px));z-index:2;color:#fff;cursor:pointer;background:#ffffff26;border:none;border-radius:50%;width:40px;height:40px;font-size:1rem;position:absolute;right:.75rem}.image-lightbox__close:hover{background:#ffffff40}.image-lightbox__download{top:calc(.75rem + env(safe-area-inset-top,0px));z-index:2;color:#fff;cursor:pointer;background:#ffffff26;border:none;border-radius:50%;width:40px;height:40px;font-size:1.15rem;line-height:1;position:absolute;left:.75rem}.image-lightbox__download:hover:not(:disabled){background:#ffffff40}.image-lightbox__download:disabled{opacity:.55;cursor:default}.tx-view{flex-direction:column;gap:.75rem;display:flex}.tx-view__row{flex-direction:column;gap:.2rem;display:flex}.tx-view__label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary);font-size:.72rem;font-weight:600}.tx-view__value{color:var(--text);word-break:break-word;font-size:.95rem;font-weight:600}.tx-view__value--cat{align-items:center;gap:.4rem;display:inline-flex}.image-lightbox__controls{bottom:calc(1rem + env(safe-area-inset-bottom,0px));z-index:2;background:#0000008c;border-radius:999px;align-items:center;gap:.65rem;padding:.4rem .65rem;display:flex;position:absolute;left:50%;transform:translate(-50%)}.image-lightbox__zoom-btn{color:#fff;cursor:pointer;background:#ffffff26;border:none;border-radius:50%;width:36px;height:36px;font-size:1.25rem;line-height:1}.image-lightbox__zoom-btn:disabled{opacity:.35;cursor:default}.image-lightbox__zoom-label{text-align:center;color:#fff;font-variant-numeric:tabular-nums;min-width:3.2rem;font-size:.82rem;font-weight:600}.image-lightbox__stage{touch-action:none;flex:1;justify-content:center;align-items:center;width:100%;min-height:0;display:flex;overflow:hidden}.image-lightbox__img{object-fit:contain;border-radius:var(--radius-sm);transform-origin:50%;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;max-width:100%;max-height:100%;transition:transform 50ms linear}.batch-btn{border-radius:var(--radius-md);width:100%;font:inherit;cursor:pointer;background:var(--bg-muted);color:var(--text);border:none;padding:.85rem 1.25rem;font-size:.95rem;font-weight:600}.batch-btn--primary{color:var(--color-white);background:#141416;box-shadow:0 8px 22px #00000024,0 0 0 1px #5eead41f}.batch-btn--primary:hover:not(:disabled){opacity:.88}.batch-btn--primary:disabled{opacity:.6;cursor:default}.batch-btn--danger{background:var(--danger);color:var(--color-white)}.batch-btn--danger:disabled{opacity:.6;cursor:default}.batch-error{color:var(--danger);text-align:center;margin:0;padding:.5rem 1.25rem;font-size:.82rem}.camera-overlay{z-index:500;background:#000;flex-direction:column;display:flex;position:absolute;inset:0}.camera-overlay__header{padding:calc(.75rem + env(safe-area-inset-top,0px)) 1rem .75rem;color:#fff;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:flex;position:relative}.camera-overlay__close{color:#fff;cursor:pointer;background:#ffffff26;border:none;border-radius:50%;width:36px;height:36px;position:absolute;left:1rem}.camera-overlay__torch{color:#fff;font:inherit;cursor:pointer;background:#ffffff1f;border:1px solid #ffffff59;border-radius:999px;padding:.4rem .65rem;font-size:.72rem;font-weight:600;position:absolute;right:.75rem}.camera-overlay__torch.is-on{color:#fffbeb;background:#facc1559;border-color:#facc15b3}.camera-overlay__body{background:#000;flex:1;justify-content:center;align-items:center;min-height:0;display:flex}.camera-overlay__viewport{touch-action:manipulation;width:100%;height:100%;position:relative;overflow:hidden}.camera-overlay__video,.camera-overlay__preview{object-fit:cover;cursor:crosshair;width:100%;height:100%}.camera-overlay__video{opacity:0;transition:opacity .25s}.camera-overlay__video.is-ready{opacity:1}.camera-overlay__preview{cursor:default}.camera-overlay__loading{color:#fff;text-align:center;z-index:2;background:#0000008c;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:1rem;display:flex;position:absolute;inset:0}.camera-overlay__loading p{margin:0;font-size:.9rem;font-weight:600}.camera-overlay__spinner,.photo-prepare__spinner{border:2.5px solid #ffffff40;border-top-color:#fff;border-radius:50%;width:28px;height:28px;animation:.7s linear infinite camera-spin}.photo-prepare{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.65rem;min-height:12rem;padding:2rem 1rem;display:flex}.photo-prepare__spinner{border-color:#141416 #14141626 #14141626}.photo-prepare__title{color:var(--text);margin:0;font-size:.95rem;font-weight:700}.photo-prepare__hint{color:var(--text-secondary);margin:0;font-size:.78rem}@keyframes camera-spin{to{transform:rotate(360deg)}}.camera-overlay__review-actions{flex-direction:column;gap:.5rem;width:100%;padding:0 .5rem;display:flex}.camera-overlay__action{border-radius:var(--radius-md);color:#111;width:100%;font:inherit;cursor:pointer;background:#fff;border:none;padding:.85rem 1rem;font-size:.95rem;font-weight:700}.camera-overlay__action--ghost{color:#fff;background:#ffffff24;border:1px solid #ffffff59}.camera-overlay__focus-ring{pointer-events:none;border:2px solid #5eead4;border-radius:8px;width:72px;height:72px;margin-top:-36px;margin-left:-36px;animation:.85s ease-out forwards camera-focus-pulse;position:absolute;box-shadow:0 0 0 1px #00000059}@keyframes camera-focus-pulse{0%{opacity:.2;transform:scale(1.25)}35%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.92)}}.camera-overlay__hint{color:#ffffffeb;white-space:nowrap;pointer-events:none;background:#0000008c;border-radius:999px;margin:0;padding:.35rem .7rem;font-size:.72rem;font-weight:600;position:absolute;bottom:.85rem;left:50%;transform:translate(-50%)}.camera-overlay__error{color:var(--danger);text-align:center;padding:1.5rem;font-size:.9rem}.camera-overlay__footer{padding:1.25rem 1rem calc(1.25rem + env(safe-area-inset-bottom,0px));flex-shrink:0;justify-content:center;display:flex}.camera-overlay__shutter{cursor:pointer;background:0 0;border:4px solid #fff;border-radius:50%;width:72px;height:72px;padding:0;position:relative}.camera-overlay__shutter:disabled{opacity:.45;cursor:default}.camera-overlay__shutter:after{content:"";background:#fff;border-radius:50%;position:absolute;inset:6px}@media (hover:hover) and (pointer:fine) and (width>=768px){:root{--shell-gap:1.5rem}body[data-mode=phone]{padding:var(--shell-gap) 0}body[data-mode=phone] .phone-shell{max-width:var(--phone-max);height:calc(100svh - 2 * var(--shell-gap))}body[data-mode=phone] .phone{border:1px solid #5eead41f;border-radius:36px;box-shadow:0 24px 64px #0000002e,0 0 0 1px #ffffff0a,0 0 40px #14b8a614}}@media (display-mode:standalone),(display-mode:fullscreen){:root{--safe-bottom:max(env(safe-area-inset-bottom,0px), 1.5rem);--fab-bottom-gap:.9rem}}html[data-standalone=true]{--safe-bottom:max(env(safe-area-inset-bottom,0px), 1.5rem);--fab-bottom-gap:.9rem}
