:root{color-scheme:light;--bg: #f6f7fb;--bg-accent: #edf2ff;--surface: rgba(255, 255, 255, .9);--surface-strong: #ffffff;--surface-muted: #f8f9fc;--foreground: #121826;--muted: #667085;--line: rgba(18, 24, 38, .08);--line-strong: rgba(18, 24, 38, .14);--accent: #2358e8;--accent-soft: rgba(35, 88, 232, .1);--accent-strong: #1236a8;--success: #198754;--success-soft: rgba(25, 135, 84, .12);--warning: #b7791f;--warning-soft: rgba(183, 121, 31, .14);--danger: #d14343;--danger-soft: rgba(209, 67, 67, .12);--shadow-sm: 0 10px 30px rgba(15, 23, 42, .06);--shadow-md: 0 28px 60px rgba(15, 23, 42, .08);--shadow-lg: 0 36px 90px rgba(15, 23, 42, .12);--radius-card: 24px;--radius-control: 16px;--max-content: 1400px;font-family:SF Pro Display,Avenir Next,Segoe UI,sans-serif}:root[data-theme=dark]{color-scheme:dark;--bg: #090d16;--bg-accent: #0d1424;--surface: rgba(17, 24, 39, .92);--surface-strong: #111827;--surface-muted: #161f32;--foreground: #f8fafc;--muted: #94a3b8;--line: rgba(255, 255, 255, .08);--line-strong: rgba(255, 255, 255, .14);--accent: #79a3ff;--accent-soft: rgba(121, 163, 255, .16);--accent-strong: #9dbbff;--success: #4ade80;--success-soft: rgba(74, 222, 128, .14);--warning: #f6c36a;--warning-soft: rgba(246, 195, 106, .16);--danger: #fb7185;--danger-soft: rgba(251, 113, 133, .16);--shadow-sm: 0 10px 30px rgba(0, 0, 0, .24);--shadow-md: 0 28px 60px rgba(0, 0, 0, .28);--shadow-lg: 0 36px 90px rgba(0, 0, 0, .4)}*{box-sizing:border-box}html,body,#root{min-height:100%;max-width:100%;overflow-x:hidden;background-color:var(--bg)}body{margin:0;color:var(--foreground);background:radial-gradient(circle at top left,rgba(35,88,232,.1),transparent 30%),radial-gradient(circle at top right,rgba(38,166,154,.08),transparent 26%),linear-gradient(180deg,var(--bg-accent) 0%,var(--bg) 45%,var(--bg) 100%)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{border:0}img,svg{display:block}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.app-frame{min-height:100vh;padding:0}.app-shell{position:relative;display:block;min-height:100vh}.sidebar-nav{display:none}.app-surface{position:relative;min-height:100vh;background:transparent}.screen-content{max-width:var(--max-content);margin:0 auto;padding:1.25rem 1rem 7rem}.page-shell,.screen-stack,.activity-list,.progress-stack,.timeline-list,.composer-choice,.manual-form,.recommendation-list,.dashboard-main-column,.dashboard-side-column,.budget-side-column{display:flex;flex-direction:column;gap:1rem}.page-shell{animation:page-enter .34s cubic-bezier(.22,1,.36,1) both}.page-shell>*{animation:fade-up .42s cubic-bezier(.22,1,.36,1) both}.page-shell>*:nth-child(2){animation-delay:40ms}.page-shell>*:nth-child(3){animation-delay:80ms}.page-shell>*:nth-child(4){animation-delay:.12s}.summary-strip>*,.expenses-top-grid>*,.dashboard-main-column>*,.dashboard-side-column>*,.budget-side-column>*,.recommendation-list>*{animation:card-enter .46s cubic-bezier(.22,1,.36,1) both}.summary-strip>*:nth-child(2),.expenses-top-grid>*:nth-child(2),.recommendation-list>*:nth-child(2){animation-delay:45ms}.summary-strip>*:nth-child(3),.expenses-top-grid>*:nth-child(3),.recommendation-list>*:nth-child(3){animation-delay:90ms}.summary-strip>*:nth-child(4),.expenses-top-grid>*:nth-child(4){animation-delay:135ms}.screen-header,.screen-header>div,.section-head,.activity-row,.menu-row,.subscription-item,.bottom-nav,.auth-card-header,.auth-inline-row,.dashboard-layout,.budget-layout,.expenses-layout,.more-layout{display:flex;gap:1rem}.screen-header,.section-head,.activity-row,.menu-row,.subscription-item,.bottom-nav,.auth-card-header,.auth-inline-row{align-items:center;justify-content:space-between}.screen-header{flex-direction:column;align-items:flex-start;gap:.75rem}.screen-header>div{flex-direction:column;gap:.35rem}.screen-header h1,.soft-card h3,.home-hero-card h2,.auth-card h2,.auth-hero-panel h1{margin:0}.screen-header h1{font-size:clamp(2rem,5vw,3.1rem);letter-spacing:-.05em;line-height:1.02}.screen-header-actions{display:inline-flex;align-items:center}.screen-header-action-cluster,.menu-row-content,.menu-row-actions{display:flex}.screen-header-action-cluster{flex-wrap:wrap;align-items:center;gap:.85rem}.tablet-up-only{display:none}.mobile-tablet-only{display:inline-flex}.section-label,.header-copy,.compact-metric span,.activity-row p,.recommendation-item p,.subscription-item p,.menu-row p,.progress-copy,.auth-copy,.summary-card p,.summary-card span,.detail-grid dt,.breakdown-copy span,.sidebar-panel p,.brand-mark p,.auth-feature-item p{margin:0;color:var(--muted)}.section-label{font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.header-copy{max-width:54ch;line-height:1.55}.brand-mark,.soft-card,.summary-card,.auth-card,.auth-hero-panel,.home-hero-card,.state-card,.choice-card,.receipt-preview,.floating-action-button,.account-entry{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-sm)}.soft-card,.summary-card,.home-hero-card,.state-card,.auth-card,.auth-hero-panel,.receipt-preview,.choice-card{border-radius:var(--radius-card)}.soft-card,.home-hero-card,.auth-card,.auth-hero-panel{padding:1.25rem}.summary-card{padding:1rem 1rem 1.1rem}.summary-card strong{display:block;margin-top:.45rem;font-size:1.65rem;letter-spacing:-.05em}.home-hero-card{display:grid;gap:1rem;background:linear-gradient(135deg,rgba(35,88,232,.08),transparent 40%),var(--surface)}.dashboard-link-card{cursor:pointer}.dashboard-link-card:focus-visible{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));outline:3px solid color-mix(in srgb,var(--accent) 25%,transparent);outline-offset:3px;box-shadow:var(--shadow-md)}.dashboard-link-card:active{transform:translateY(1px) scale(.995)}.budget-page [id]{scroll-margin-top:1.25rem}.balance-block{display:flex;flex-direction:column;gap:.35rem}.monthly-budget-overview{display:flex;flex-direction:column;gap:.55rem;max-width:34rem;margin-top:.55rem;color:var(--muted)}.balance-block h2{font-size:clamp(2.8rem,7vw,4.8rem);letter-spacing:-.07em;line-height:.95}.summary-strip,.expenses-top-grid,.filters-grid,.more-layout{display:grid;gap:.9rem}.summary-strip{grid-template-columns:repeat(1,minmax(0,1fr))}.compact-metric{padding:1rem;border:1px solid var(--line);border-radius:20px;background:var(--surface-strong);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.compact-metric:hover,.soft-card:hover,.summary-card:hover,.choice-card:hover,.menu-row:hover,.activity-row-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.compact-metric strong{display:block;margin-top:.35rem;font-size:1.05rem;letter-spacing:-.03em}.notice-card strong,.summary-card strong,.detail-total,.auth-hero-panel h1{letter-spacing:-.04em}.notice-card{background:linear-gradient(135deg,rgba(35,88,232,.06),transparent 40%),var(--surface)}.health-score-summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:.3rem;margin-top:.2rem}.health-score-summary>strong{font-size:clamp(2.25rem,8vw,3.5rem);letter-spacing:-.07em;line-height:1}.health-score-summary>span{color:var(--muted);font-weight:700}.health-score-summary>p{flex:0 0 100%;margin-top:.2rem;color:var(--muted)}.health-factor-list{display:grid;gap:.85rem;margin-top:1.25rem}.health-factor-row>div:first-child{display:flex;justify-content:space-between;gap:1rem;margin-bottom:.4rem}.health-factor-row span,.health-factor-row strong{font-size:.88rem}.inline-link,.plain-link,.plain-action,.auth-switch-link,.auth-back-link,.text-button{color:var(--accent);font-weight:600}.plain-action,.text-button{background:transparent;padding:0;cursor:pointer}.dashboard-layout,.budget-layout,.expenses-layout,.more-layout{flex-direction:column}.activity-list{gap:.5rem}.home-expense-ranking{max-height:min(52vh,520px);padding-right:.35rem;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}.home-expense-ranking:focus-within{scroll-behavior:smooth}.filtered-results-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.85rem}.filtered-results-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem}.filter-trigger-button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:44px;padding:.7rem .9rem;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line));border-radius:14px;color:var(--foreground);background:var(--surface-muted);font-weight:700;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease}.filter-trigger-button svg{width:18px;height:18px}.filter-trigger-button:hover{border-color:color-mix(in srgb,var(--accent) 48%,var(--line));background:var(--accent-soft)}.filter-trigger-button:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 28%,transparent);outline-offset:2px}.expense-filter-fields{display:grid;gap:1rem}.filter-sort-field{padding-top:1rem;border-top:1px solid var(--line)}.filter-dialog-actions{margin-top:1.25rem}.filtered-transaction-list{gap:.75rem;max-height:min(58vh,680px);max-height:min(58dvh,680px);margin-top:1rem;padding-top:1rem;padding-right:.35rem;border-top:1px solid var(--line);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}.filtered-transaction-list .activity-row{padding:.95rem 1rem;border:1px solid var(--line);border-radius:18px;background:var(--surface-muted)}.filtered-transaction-list .activity-row:last-child{padding-bottom:.95rem;border-bottom:1px solid var(--line)}.filtered-transaction-list .activity-row-selected{border-color:color-mix(in srgb,var(--accent) 24%,var(--line));background:var(--accent-soft)}.history-month-list{display:grid;gap:.85rem}.history-month-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;color:var(--foreground);text-align:left;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.history-month-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 24%,var(--line));box-shadow:var(--shadow-md)}.history-month-card:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 28%,transparent);outline-offset:3px}.history-month-copy,.history-month-total,.history-month-detail,.history-detail-header{display:flex}.history-month-copy,.history-month-total,.history-month-detail{flex-direction:column}.history-month-copy,.history-month-total{gap:.25rem}.history-month-copy span,.history-month-total small{color:var(--muted)}.history-month-total{flex:0 0 auto;align-items:flex-end;text-align:right}.history-month-detail{gap:1rem}.history-detail-header{flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem}.history-detail-header h2{margin:0}.activity-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;padding:.95rem 0;border-bottom:1px solid var(--line);text-align:left}.activity-row:last-child,.recommendation-item:last-child,.subscription-item:last-child,.menu-row:last-of-type{border-bottom:0;padding-bottom:0}.activity-row strong,.recommendation-item strong,.subscription-item strong,.menu-row strong,.breakdown-copy strong,.detail-grid dd,.auth-feature-item strong{font-size:.98rem}.activity-row-button{width:100%;min-height:64px;color:inherit;border-radius:18px;background:transparent;cursor:pointer;transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease}.activity-copy{min-width:0;text-align:left}.activity-title,.activity-meta{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-row-selected{padding-inline:.75rem;border:1px solid var(--accent-soft);background:var(--accent-soft)}.amount-block{display:flex;flex-direction:column;align-items:flex-end;gap:.18rem;min-width:max-content;text-align:right}.amount-block span{color:var(--muted);font-size:.82rem}.activity-amount{white-space:nowrap}.activity-note{max-width:min(32vw,16rem);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.amount-positive{color:var(--success)}.amount-negative{color:var(--foreground)}.status-pill{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:.45rem .8rem;border-radius:999px;font-size:.8rem;font-weight:700;transition:transform .18s ease,background .18s ease}.status-pill-accent{color:var(--accent);background:var(--accent-soft)}.status-pill-success{color:var(--success);background:var(--success-soft)}.status-pill-warning{color:var(--warning);background:var(--warning-soft)}.status-pill-danger{color:var(--danger);background:var(--danger-soft)}.progress-item{display:flex;flex-direction:column;gap:.7rem}.progress-track{overflow:hidden;width:100%;height:10px;border-radius:999px;background:color-mix(in srgb,var(--line-strong) 55%,transparent)}.progress-fill{height:100%;border-radius:inherit;transition:width .45s ease}.progress-fill-accent{background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 70%,white))}.progress-fill-success{background:linear-gradient(90deg,var(--success),color-mix(in srgb,var(--success) 70%,white))}.progress-fill-warning{background:linear-gradient(90deg,var(--warning),color-mix(in srgb,var(--warning) 70%,white))}.progress-fill-danger{background:linear-gradient(90deg,var(--danger),color-mix(in srgb,var(--danger) 70%,white))}.recommendation-item,.subscription-item,.menu-row{padding:.95rem 0;border-bottom:1px solid var(--line)}.subscription-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem}.subscription-copy{min-width:0;flex:1}.subscription-copy>strong,.subscription-copy>p{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.subscription-meta>span{color:var(--muted);font-size:.86rem}.subscription-row-actions,.subscription-head-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.subscription-row-actions{margin-top:.55rem}.subscription-future-note{margin:-.45rem 0 0;font-size:.84rem}.section-head.savings-goal-title-row{align-items:center;flex-direction:row}.savings-goal-title-row strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.savings-goal-title-row span{flex:0 0 auto}.savings-goal-actions{display:flex;align-items:center;gap:1rem}.savings-goal-actions .danger-link{color:var(--danger)}.breakdown-list{display:flex;flex-direction:column;gap:.95rem}.breakdown-row{display:flex;flex-direction:column;gap:.45rem}.breakdown-copy{display:flex;align-items:center;justify-content:space-between;gap:1rem}.field-block{display:flex;flex-direction:column;gap:.45rem}.field-block span{font-size:.88rem;font-weight:600}.field-block small{color:var(--danger)}.search-input,.field-block input,.field-block select,.field-block textarea,.auth-card input{width:100%;min-height:52px;padding:.95rem 1rem;border:1px solid var(--line);border-radius:var(--radius-control);color:var(--foreground);background:var(--surface-strong);transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.field-block textarea{min-height:110px;resize:vertical}.search-input:focus,.field-block input:focus,.field-block select:focus,.field-block textarea:focus{border-color:color-mix(in srgb,var(--accent) 40%,var(--line));box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 16%,transparent)}.filters-grid{grid-template-columns:repeat(1,minmax(0,1fr))}.empty-card{padding:1.25rem 0}.empty-card .section-label{margin-bottom:.45rem}.empty-card h3,.empty-card p{margin:0}.transaction-detail-card{align-self:stretch}.transaction-detail-empty{justify-content:center}.categories-layout,.categories-main-column,.categories-form-card,.category-row,.category-row-copy,.category-row-actions,.category-row-heading{display:flex}.categories-layout,.categories-main-column,.categories-form-card,.category-row-copy{flex-direction:column}.categories-layout,.categories-main-column{gap:1rem}.category-row,.category-row-heading{align-items:center;justify-content:space-between}.category-row{gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line)}.category-row:last-child{padding-bottom:0;border-bottom:0}.category-row-copy{gap:.25rem;min-width:0}.category-row-heading{gap:.75rem}.category-row-actions{flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.85rem}.category-row-selected{margin-inline:-.5rem;padding-inline:.5rem;border-radius:18px;background:var(--accent-soft)}.detail-total{margin:.4rem 0 1rem;font-size:2rem;font-weight:700}.detail-grid{display:grid;gap:1rem;margin:0}.detail-grid div{display:flex;flex-direction:column;gap:.25rem}.detail-grid dd{margin:0}.detail-note{grid-column:1 / -1}.menu-list{padding-bottom:1rem}.menu-section{display:flex;flex-direction:column;gap:.65rem;margin-top:1.35rem}.install-app-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;overflow:hidden;padding:1rem;border:1px solid color-mix(in srgb,var(--accent) 16%,var(--line));border-radius:20px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent-soft) 80%,transparent),transparent 58%),var(--surface-strong);box-shadow:var(--shadow-sm);animation:card-enter .42s cubic-bezier(.22,1,.36,1) both;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.install-app-card:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 30%,var(--line));box-shadow:var(--shadow-md)}.install-app-card-content{display:flex;align-items:center;gap:.9rem;min-width:0}.install-app-card-icon{display:inline-grid;flex:0 0 auto;width:48px;height:48px;place-items:center;border-radius:15px;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-strong));box-shadow:var(--shadow-sm)}.install-app-card-icon svg{width:21px;height:21px}.install-app-card-copy{display:flex;flex-direction:column;gap:.2rem;min-width:0}.install-app-card-copy>span{color:var(--accent);font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.install-app-card-copy strong{font-size:1rem}.install-app-card-copy p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.45}.install-app-action,.install-app-installed-status{min-height:42px;padding:.7rem .9rem;border-radius:13px;font-size:.88rem;font-weight:750;white-space:nowrap}.install-app-action{color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-strong));box-shadow:var(--shadow-sm);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.install-app-action:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.install-app-installed-status{display:inline-flex;align-items:center;color:var(--success);background:var(--success-soft)}.install-app-card-installed{border-color:color-mix(in srgb,var(--success) 22%,var(--line))}.install-app-card-installed .install-app-card-icon{background:linear-gradient(135deg,var(--success),color-mix(in srgb,var(--success) 70%,#0f5132))}.install-app-feedback{grid-column:1 / -1;margin:0}.account-entry{display:flex;align-items:center;gap:.9rem;width:100%;padding:.95rem 1rem;border-radius:20px;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease}.account-entry:hover{transform:translateY(-1px);box-shadow:var(--shadow-md);border-color:color-mix(in srgb,var(--accent) 18%,var(--line))}.account-entry-sidebar{background:linear-gradient(135deg,rgba(35,88,232,.08),transparent 55%),var(--surface)}.account-entry-avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:42px;height:42px;border-radius:14px;color:var(--accent);background:var(--accent-soft)}.account-entry-icon{width:18px;height:18px}.account-entry-initials{font-size:.82rem;font-weight:700;letter-spacing:.02em}.account-entry-copy{display:flex;flex-direction:column;gap:.15rem;min-width:0}.account-entry-copy strong{font-size:.97rem}.account-entry-copy span{color:var(--muted);font-size:.9rem}.profile-layout,.profile-action-list,.profile-readonly-grid,.profile-success-panel{display:grid;gap:1rem}.profile-action-list{margin-top:.25rem}.profile-action-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;min-height:68px;padding:.9rem 0;border-bottom:1px solid var(--line);color:inherit;text-align:left;background:transparent;cursor:pointer;transition:color .18s ease,transform .18s ease}.profile-action-row:last-child{border-bottom:0;padding-bottom:0}.profile-action-row>span:first-child{display:flex;min-width:0;flex-direction:column;gap:.2rem}.profile-action-row small{color:var(--muted);font-size:.88rem;line-height:1.45}.profile-action-arrow{flex:0 0 auto;color:var(--accent);font-size:1.15rem}.profile-support-card{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}.profile-support-card h3{margin-block:.25rem}.profile-modal-backdrop{z-index:120}.profile-modal-sheet{display:flex;max-height:min(88dvh,760px);flex-direction:column;overflow:hidden;touch-action:manipulation}.profile-modal-header{flex:0 0 auto}.profile-modal-content{min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}.profile-modal-content .transaction-detail-card{position:static}.profile-action-form{margin-top:1rem}.profile-success-panel{justify-items:start;padding-top:1rem}.profile-success-panel .save-check{width:2rem;height:2rem}.account-signout-action{margin-top:1rem}.menu-row{width:100%;align-items:flex-start}.menu-row-button{color:inherit;text-align:left;background:transparent;cursor:pointer}.menu-row-button-disabled{cursor:default}.menu-row-button-disabled:hover{transform:none;box-shadow:none}.menu-row-leading,.menu-row-copy,.install-steps,.install-step{display:flex}.menu-row-leading,.install-step{align-items:center}.menu-row-leading{gap:.8rem}.menu-row-copy,.install-steps{flex-direction:column}.menu-row-copy{gap:.2rem}.menu-row-content{flex:1;min-width:0;flex-direction:column;gap:.2rem}.menu-row-actions{flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.75rem;margin-left:auto}.menu-row-icon,.install-step-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:14px;background:var(--accent-soft);color:var(--accent)}.menu-row-icon{width:2.35rem;height:2.35rem}.menu-row-icon svg,.install-step-icon svg{width:1.15rem;height:1.15rem}.menu-row-status{color:var(--muted);font-size:.88rem;font-weight:600;white-space:nowrap}.menu-row-select,.default-preferences-action{min-width:150px;min-height:44px;padding:.65rem .85rem;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:14px;color:var(--foreground);background:color-mix(in srgb,var(--accent-soft) 38%,var(--surface-strong));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 5%,transparent);font-weight:650;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.menu-row-select:hover,.default-preferences-trigger:hover .default-preferences-action{border-color:color-mix(in srgb,var(--accent) 48%,var(--line));background:color-mix(in srgb,var(--accent-soft) 56%,var(--surface-strong))}.menu-row-select:focus-visible{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 16%,transparent);outline:none}.menu-row>.default-preferences-action{display:inline-flex;align-items:center;justify-content:center;color:var(--foreground)}.default-preferences-trigger:focus-visible .default-preferences-action{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 16%,transparent)}.menu-row>span{color:var(--muted);white-space:nowrap}.menu-row-responsive{align-items:center}.menu-row-inline-button{flex-shrink:0}.more-logout-row{color:inherit;text-align:left;background:transparent;cursor:pointer}.install-modal-backdrop{position:fixed;inset:0;z-index:100;display:flex;align-items:flex-end;justify-content:center;padding:1rem;padding-bottom:max(1rem,env(safe-area-inset-bottom,0px));background:#080b1252;backdrop-filter:blur(10px);animation:backdrop-in .22s ease both;overflow:hidden;overscroll-behavior:none}.confirmation-backdrop{z-index:300;align-items:center;padding:max(1rem,env(safe-area-inset-top,0px)) 1rem max(1rem,env(safe-area-inset-bottom,0px))}.confirmation-backdrop .confirmation-sheet{max-height:calc(100dvh - 2rem - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));border-radius:24px;animation:card-enter .26s cubic-bezier(.22,1,.36,1) both}.install-modal-sheet{width:min(560px,100%);max-height:min(85vh,720px);max-height:min(85dvh,720px);overflow-y:auto;overscroll-behavior:contain;padding:1.25rem;border:1px solid var(--line);border-radius:28px 28px 20px 20px;background:var(--surface-strong);box-shadow:var(--shadow-lg);animation:sheet-up .3s cubic-bezier(.22,1,.36,1) both;touch-action:pan-y}.install-dialog-header{align-items:flex-start}.install-platform-grid{display:grid;gap:.75rem;margin-top:1rem}.install-platform-option{display:flex;align-items:center;gap:.85rem;width:100%;min-height:72px;padding:.9rem;border:1px solid var(--line);border-radius:18px;color:inherit;text-align:left;background:var(--surface-muted);cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.install-platform-option:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 28%,var(--line));box-shadow:var(--shadow-sm)}.install-platform-option>span:last-child{display:flex;min-width:0;flex-direction:column;gap:.18rem}.install-platform-option small,.install-usage-copy{color:var(--muted)}.install-usage-copy{margin:1rem 0 0}.install-back-action{width:100%;margin-top:1rem}.default-preferences-form{margin-top:1rem}.confirmation-description{margin-top:.75rem}.install-steps{gap:.8rem;margin-top:1rem}.install-step{gap:.8rem;padding:.85rem 0;border-bottom:1px solid var(--line)}.install-step:last-child{border-bottom:0;padding-bottom:0}.install-step-icon{width:2.1rem;height:2.1rem}.install-step p{margin:0}.dialog-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.dialog-actions>*{flex:1 1 180px}.detail-card-actions{margin-top:1.25rem}.danger-cta{background:linear-gradient(135deg,var(--danger),color-mix(in srgb,var(--danger) 68%,#111827))}.bottom-nav{position:fixed;right:.75rem;bottom:.75rem;left:.75rem;z-index:20;padding:.65rem .75rem;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--surface-strong) 92%,transparent);backdrop-filter:blur(20px);box-shadow:var(--shadow-md)}.tab-link,.sidebar-link{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;border-radius:14px;color:var(--muted);transition:color .18s ease,background .18s ease,transform .18s ease,box-shadow .18s ease}.tab-link{flex:1;padding:.75rem;font-weight:600}.tab-link-active,.sidebar-link-active{color:var(--foreground);background:var(--accent-soft)}.nav-icon{width:18px;height:18px}.floating-action-button{position:fixed;right:1rem;bottom:calc(5.75rem + env(safe-area-inset-bottom,0px));z-index:30;display:inline-flex;align-items:center;gap:.65rem;min-height:56px;padding:.95rem 1.1rem;border-radius:18px;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-strong));box-shadow:var(--shadow-lg);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease;animation:float-in .32s ease both}.floating-action-button:hover{transform:translateY(-2px) scale(1.01)}.floating-action-icon{width:18px;height:18px}.expenses-header-cta{white-space:nowrap}.composer-backdrop{position:fixed;inset:0;z-index:290;display:flex;align-items:flex-end;justify-content:center;padding:1rem;background:#080b1247;backdrop-filter:blur(10px);animation:backdrop-in .22s ease both;overflow:hidden;overscroll-behavior:none}.composer-sheet{display:flex;flex-direction:column;width:min(560px,100%);min-width:0;max-width:100%;max-height:85vh;max-height:85dvh;overflow:hidden;border:1px solid var(--line);border-radius:28px 28px 20px 20px;background:var(--surface-strong);box-shadow:var(--shadow-lg);animation:sheet-up .3s cubic-bezier(.22,1,.36,1) both;touch-action:manipulation}.composer-header{flex:0 0 auto;min-width:0;padding:1.25rem 1.25rem .85rem;border-bottom:1px solid var(--line)}.composer-header>div{min-width:0}.composer-header .icon-button{flex:0 0 auto}.composer-scroll-region{flex:1 1 auto;width:100%;min-height:0;min-width:0;padding:0 1.25rem 1.25rem;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;overscroll-behavior-x:none;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;touch-action:pan-y}.composer-backdrop-closing{animation:backdrop-out .22s ease both}.composer-sheet-closing{animation:sheet-down .22s cubic-bezier(.4,0,1,1) both}.composer-choice{margin-top:1rem}.choice-card,.receipt-preview{padding:1.15rem;text-align:left;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.choice-card p,.receipt-preview p{margin-top:.35rem}.composer-choice,.composer-panel,.manual-form{width:100%;min-width:0;max-width:100%;margin-top:1rem;animation:composer-content-in .24s ease both}.composer-scroll-region .field-block,.composer-scroll-region .field-block input,.composer-scroll-region .field-block select,.composer-scroll-region .field-block textarea{width:100%;min-width:0;max-width:100%}.composer-scroll-region input[type=date]{display:block;min-inline-size:0;max-inline-size:100%}.budget-form{min-width:0;margin-top:0}.budget-form .field-block,.budget-form input,.budget-form select{width:100%;min-width:0;max-width:100%}.budget-month-input{width:100%;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis}.budget-create-button{min-height:44px;padding:.72rem .9rem;white-space:nowrap}.budget-saved-count{margin:.3rem 0 0;color:var(--muted);font-size:.88rem}.budget-progress-item{gap:.85rem;padding:1rem;border:1px solid var(--line);border-radius:18px;background:var(--surface-muted)}.budget-progress-header,.budget-progress-footer,.budget-row-actions{display:flex;align-items:center}.budget-progress-header,.budget-progress-footer{justify-content:space-between;gap:1rem}.budget-progress-copy{min-width:0}.budget-progress-copy strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.budget-progress-amount{flex:0 0 auto;text-align:right;white-space:nowrap}.budget-progress-footer>span{color:var(--muted);font-size:.84rem;font-weight:650}.budget-row-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.budget-action-button{min-height:38px;padding:.55rem .75rem;border:1px solid var(--line);border-radius:12px;color:var(--accent);background:var(--surface-strong);font-weight:700;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease}.budget-action-button:hover{border-color:color-mix(in srgb,var(--accent) 38%,var(--line));background:var(--accent-soft)}.budget-action-button:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 28%,transparent);outline-offset:2px}.budget-delete-button{color:var(--danger)}.subscription-form .field-block input:focus,.subscription-form .field-block select:focus,.subscription-form .field-block input:focus-visible,.subscription-form .field-block select:focus-visible{border-color:var(--accent);outline:none;box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 72%,transparent)}.savings-goal-form .field-block input:focus,.savings-goal-form .field-block input:focus-visible{border-color:var(--accent);outline:none;box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 72%,transparent)}.icon-button,.primary-cta,.auth-tab,.secondary-cta{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.95rem 1rem;border-radius:16px;font-weight:700;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.primary-cta{gap:.55rem;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-strong));box-shadow:var(--shadow-sm)}.secondary-cta,.icon-button{color:var(--foreground);background:var(--surface-muted)}.primary-cta:hover,.secondary-cta:hover,.icon-button:hover,.auth-tab:hover,.auth-switch-link:hover,.plain-link:hover,.plain-action:hover,.text-button:hover{transform:translateY(-1px)}button:not(:disabled):active,.menu-row-button:not(:disabled):active,.choice-card:not(:disabled):active{transform:translateY(1px) scale(.985);transition-duration:80ms}button:disabled{cursor:not-allowed;opacity:.68}.transaction-save-button{position:relative;overflow:hidden}.composer-scroll-region .transaction-save-button{position:sticky;bottom:0;z-index:2;flex:0 0 auto;box-shadow:0 -10px 24px color-mix(in srgb,var(--surface-strong) 78%,transparent),var(--shadow-sm)}.transaction-save-button.is-saving{background-size:180% 100%;animation:save-gradient 1.1s ease-in-out infinite alternate}.transaction-save-button.is-saved{background:linear-gradient(135deg,var(--success),color-mix(in srgb,var(--success) 72%,#0f5132));animation:save-confirm .36s cubic-bezier(.22,1,.36,1) both}.save-spinner{width:1rem;height:1rem;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spinner-turn .7s linear infinite}.save-check{display:inline-grid;width:1.25rem;height:1.25rem;place-items:center;border-radius:50%;color:var(--success);background:#fff;animation:check-pop .28s cubic-bezier(.22,1,.36,1) both}.auth-page{min-height:100vh;display:grid;place-items:center;padding:1rem}.auth-layout{width:min(460px,100%);display:grid;gap:.85rem}.auth-card{width:100%;padding:1.25rem;box-shadow:var(--shadow-md)}.auth-card h2{font-size:1.75rem;letter-spacing:-.04em}.auth-form{display:flex;flex-direction:column;gap:.9rem}.auth-inline-copy{color:var(--muted);font-size:.95rem}.auth-switch-link{flex-shrink:0;font-size:.95rem}.auth-inline-row{flex-wrap:wrap}.auth-card-header{margin-bottom:1rem;align-items:flex-start}.auth-logo{display:inline-flex;align-items:center;gap:.7rem;margin-bottom:.9rem}.auth-back-link{display:inline-flex;align-items:center;gap:.4rem;width:fit-content;padding:0;background:transparent;cursor:pointer;font-size:.92rem;color:var(--muted);transition:color .18s ease,transform .18s ease}.auth-back-link:hover{color:var(--foreground);transform:translate(-2px)}.auth-logo-mark{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-strong));box-shadow:var(--shadow-sm);font-size:.85rem;font-weight:700}.auth-logo-text{font-size:.95rem;font-weight:700;letter-spacing:-.02em}.auth-copy{margin-top:.45rem;max-width:34ch;line-height:1.45}.auth-primary-cta{margin-top:.15rem}.auth-support-row{margin-top:-.1rem;align-items:center}.auth-footer{display:flex;justify-content:center;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}.auth-footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem}.checkbox-field{display:inline-flex;align-items:center;gap:.6rem;font-size:.95rem;color:var(--muted)}.checkbox-field input{width:18px;height:18px}.input-with-action{position:relative}.input-with-action input{padding-right:3.5rem}.input-action{position:absolute;top:50%;right:.5rem;transform:translateY(-50%);width:40px;height:40px;border-radius:12px;color:var(--muted);background:transparent;cursor:pointer}.input-action-icon{width:18px;height:18px}.form-banner{margin-bottom:1rem;padding:.9rem 1rem;border-radius:16px;font-weight:600}.form-banner-error{color:var(--danger);background:var(--danger-soft)}.form-banner-success{color:var(--success);background:var(--success-soft)}.form-banner-info{color:var(--accent);background:var(--accent-soft)}.state-card{display:grid;gap:.9rem;place-items:center;min-height:50vh;padding:2rem;text-align:center}.skeleton-frame{display:grid;gap:.85rem;width:min(520px,100%)}.skeleton-line,.skeleton-tile{position:relative;overflow:hidden;background:color-mix(in srgb,var(--line-strong) 65%,transparent)}.skeleton-line:after,.skeleton-tile:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);animation:shimmer 1.4s infinite}:root[data-theme=dark] .skeleton-line:after,:root[data-theme=dark] .skeleton-tile:after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent)}.skeleton-line{height:18px;border-radius:999px}.skeleton-line-title{width:55%}.skeleton-line-copy{width:80%}.skeleton-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}.skeleton-tile{min-height:88px;border-radius:20px}.sidebar-footer{margin-top:auto}.timeline-group{display:flex;flex-direction:column;gap:.65rem}.timeline-card{padding-top:.2rem;padding-bottom:.2rem}.timeline-month{padding-left:.1rem}@keyframes page-enter{0%{opacity:0}to{opacity:1}}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes card-enter{0%{opacity:0;transform:translateY(12px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes backdrop-out{0%{opacity:1}to{opacity:0}}@keyframes sheet-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes sheet-down{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(28px)}}@keyframes composer-content-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes spinner-turn{to{transform:rotate(360deg)}}@keyframes check-pop{0%{transform:scale(.6)}to{transform:scale(1)}}@keyframes save-confirm{50%{transform:scale(1.015)}}@keyframes save-gradient{0%{background-position:0% 50%}to{background-position:100% 50%}}@keyframes float-in{0%{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes shimmer{to{transform:translate(100%)}}@media(min-width:640px){.screen-content{padding:1.5rem 1.5rem 7.5rem}.summary-strip,.filters-grid,.expenses-top-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-page{padding:1.5rem}.install-modal-backdrop,.composer-backdrop{align-items:center}.composer-sheet,.install-modal-sheet{border-radius:24px}}@media(min-width:768px){.screen-content{padding:1.75rem 1.75rem 7.5rem}.tablet-up-only{display:inline-flex}.summary-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.home-hero-card{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:end}.dashboard-layout,.budget-layout,.expenses-layout,.categories-layout{display:grid;align-items:start}.profile-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start}.profile-support-card{grid-column:1 / -1}.profile-readonly-grid{grid-template-columns:repeat(1,minmax(0,1fr))}.dashboard-layout{grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr)}.budget-layout{grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr)}.expenses-layout{grid-template-columns:minmax(0,1.35fr) minmax(320px,.85fr)}.categories-layout{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr)}.transaction-detail-card{position:sticky;top:1.75rem}.auth-layout{width:min(480px,100%)}.floating-action-button{display:none}}@media(min-width:1024px){.app-frame{padding:1.25rem}.app-shell{display:grid;grid-template-columns:280px minmax(0,1fr);gap:1.25rem;max-width:var(--max-content);margin:0 auto}.sidebar-nav{position:sticky;top:1.25rem;display:flex;flex-direction:column;gap:1rem;min-height:calc(100vh - 2.5rem);padding:1rem;border:1px solid var(--line);border-radius:28px;background:var(--surface);box-shadow:var(--shadow-md)}.brand-mark{display:flex;align-items:center;gap:.9rem;padding:.6rem;border-radius:18px}.brand-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:16px;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-strong));box-shadow:var(--shadow-sm);font-weight:700}.sidebar-links{display:flex;flex-direction:column;gap:.35rem}.sidebar-account-block{padding-top:.15rem;padding-bottom:.2rem;border-bottom:1px solid var(--line)}.sidebar-link{justify-content:flex-start;padding:.9rem 1rem;font-weight:600}.sidebar-panel{padding:1rem;border:1px solid var(--line);border-radius:20px;background:var(--surface-muted)}.app-surface{min-height:calc(100vh - 2.5rem);border:1px solid var(--line);border-radius:28px;background:color-mix(in srgb,var(--surface-strong) 78%,transparent);box-shadow:var(--shadow-md);backdrop-filter:blur(18px)}.screen-content{padding:2rem}.bottom-nav{display:none}.floating-action-button{right:max(2rem,calc((100vw - var(--max-content)) / 2 + 2rem));bottom:calc(2rem + env(safe-area-inset-bottom,0px))}.expenses-top-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.mobile-tablet-only{display:none}}@media(min-width:1280px){.screen-content{padding:2.25rem}.more-layout{grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr)}}@media(max-width:1023px){.app-frame{padding:0}.app-surface{min-height:100vh}}@media(max-width:639px){.install-app-card{grid-template-columns:minmax(0,1fr)}.install-app-action,.install-app-installed-status{justify-content:center;width:100%}.composer-backdrop{padding:max(4rem,calc(env(safe-area-inset-top,0px) + 3rem)) 0 0}.composer-sheet{width:100%;min-width:0;max-width:100dvw;border-right:0;border-bottom:0;border-left:0;border-radius:26px 26px 0 0;padding-bottom:env(safe-area-inset-bottom,0px);max-height:min(82dvh,calc(100dvh - env(safe-area-inset-top,0px) - 3rem))}.composer-scroll-region{padding-inline:max(1rem,env(safe-area-inset-left,0px)) max(1rem,env(safe-area-inset-right,0px));scrollbar-gutter:auto}.section-head.composer-header{align-items:center;flex-direction:row}.section-head.profile-modal-header{align-items:flex-start;flex-direction:row}.profile-modal-backdrop{padding:0}.profile-modal-sheet{width:100%;max-height:calc(100dvh - env(safe-area-inset-top,0px));padding-bottom:max(1.25rem,env(safe-area-inset-bottom,0px));border-right:0;border-bottom:0;border-left:0;border-radius:26px 26px 0 0}.profile-support-card{align-items:stretch}.profile-support-card .secondary-cta{width:100%}.screen-content{padding-bottom:7.4rem}.bottom-nav{bottom:max(.75rem,env(safe-area-inset-bottom,0px));padding-inline:.55rem}.tab-link{flex-direction:column;gap:.25rem;min-height:54px;font-size:.74rem}.floating-action-button{right:1rem;bottom:calc(6.1rem + env(safe-area-inset-bottom,0px));justify-content:center;width:56px;height:56px;min-width:56px;min-height:56px;padding:0;border-radius:50%}.floating-action-button span{display:none}.floating-action-icon{flex:0 0 auto}.screen-header,.section-head,.menu-row,.category-row,.subscription-item,.auth-card-header,.auth-inline-row{align-items:flex-start;flex-direction:column}.auth-support-row{align-items:stretch}.subscription-meta{align-items:flex-start}.activity-row{gap:.75rem}.activity-note{max-width:34vw}.menu-row-actions{width:100%;justify-content:space-between;margin-left:0}.menu-row-select,.default-preferences-action{width:100%}.budget-page #budgets>.section-head{align-items:stretch}.budget-create-button{width:100%}.budget-progress-header,.budget-progress-footer{align-items:flex-start;flex-direction:column}.budget-progress-amount{text-align:left}.budget-row-actions,.category-row-actions{width:100%;justify-content:flex-start}}@media(max-height:600px)and (max-width:767px){.composer-sheet,.profile-modal-sheet{max-height:100dvh}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:root[data-animations=disabled] *,:root[data-animations=disabled] *:before,:root[data-animations=disabled] *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
