.neon-auth-ui{display:contents}.guest-banner{background:var(--bg-soft);border-bottom:1px solid var(--border);color:var(--text-soft);align-items:center;gap:10px;padding:9px 16px;font-size:.82rem;display:flex}.guest-banner__message{text-align:center;flex:1}.guest-banner__actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.guest-banner__cta{appearance:none;color:#2a68c4;font:inherit;cursor:pointer;background:#edf4ff;border:none;border-radius:999px;padding:5px 13px;font-size:.8rem;font-weight:600;transition:background .14s,box-shadow .14s,transform 80ms;box-shadow:inset 0 0 0 1px #c7deff}.guest-banner__cta:hover{background:#def;box-shadow:inset 0 0 0 1px #a8ccff}.guest-banner__cta:active{transform:scale(.97)}.guest-banner__dismiss{appearance:none;font:inherit;color:var(--text-soft);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:1rem;line-height:1;transition:opacity .15s}.guest-banner__dismiss:hover{opacity:.55}:root{--bg:#fff;--bg-soft:#fafbfc;--surface:#fff;--text-strong:#25304a;--text:#5f6d87;--text-soft:#8f9ab0;--border:#edf1f5;--shadow:0 8px 24px #25304a0d;--blue:#8eb8ff;--blue-soft:#e5f0ff;--pink:#f5a9c6;--pink-soft:#ffe9f2;--mint-soft:#e4f6f1;--sans:"Avenir Next", "Nunito Sans", "Segoe UI", sans-serif;--mono:"SFMono-Regular", "SF Mono", Consolas, monospace;font-family:var(--sans);color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;font-weight:400;line-height:1.5}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%}body{min-height:100svh;margin:0}#root{justify-content:center;width:100%;display:flex}button,input,textarea,select{font:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:600}code{color:var(--text-strong);font-family:var(--mono);background:#eceff5e6;border-radius:.5rem;padding:.15rem .45rem;font-size:.92em}a{color:inherit}.main{box-sizing:border-box;width:min(100%,460px);padding:36px 24px 72px}button{border:none}.dashboard,.tx-view,.import-screen{position:relative}.dashboard-shell,.tx-view,.import-screen{flex-direction:column;gap:36px;display:flex}.dashboard-shell>*,.tx-view>*,.import-screen>*{z-index:1;position:relative}.month-nav,.dashboard-balance-card,.stat-strip,.dashboard-card,.tx-section,.import-dropzone,.ai-panel{box-shadow:none;background:0 0;border:0}.month-nav,.dashboard-balance-card,.dashboard-card,.tx-section,.import-dropzone,.ai-panel{border-radius:0}.dashboard-month-nav .month-nav{padding:0}.dashboard-month-nav{width:100%}.month-nav{flex-direction:column;gap:16px;padding:0;display:flex}.month-nav__topbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.month-nav__brand{align-items:center;gap:9px;display:flex}.month-nav__brand svg{border-radius:8px;flex-shrink:0}.month-nav__brand-name{letter-spacing:-.03em;color:var(--text-strong);font-size:1rem;font-weight:700}.month-nav__actions{align-items:center;gap:8px;display:flex}.nav-context{flex-direction:column;gap:12px;display:flex}.nav-context__heading{letter-spacing:-.05em;color:var(--text-strong);align-items:baseline;gap:10px;font-size:2rem;font-weight:700;line-height:1;display:flex}.nav-context__year{letter-spacing:-.02em;color:var(--text-soft);font-size:1rem;font-weight:500}.year-strip{scrollbar-width:none;-ms-overflow-style:none;gap:6px;padding:2px 0;display:flex;overflow-x:auto}.year-strip::-webkit-scrollbar{display:none}.year-strip__pill{appearance:none;border:1px solid var(--border);color:var(--text-soft);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border-radius:999px;flex:none;min-height:36px;padding:7px 16px;font-size:.8rem;font-weight:600;transition:background .13s,border-color .13s,color .13s,transform .1s}.year-strip__pill--active{background:var(--text-strong);border-color:var(--text-strong);color:#fff}.year-strip__pill:not(.year-strip__pill--active):hover{background:var(--blue-soft);color:var(--text-strong);border-color:#c5daff}.month-selector{scrollbar-width:none;-ms-overflow-style:none;flex-direction:row;gap:6px;padding:2px 0 8px;display:flex;overflow-x:auto}.month-selector::-webkit-scrollbar{display:none}.month-chip{appearance:none;border:1px solid var(--border);background:var(--bg-soft);color:var(--text);font:inherit;cursor:pointer;white-space:nowrap;border-radius:20px;flex-direction:column;flex:none;align-items:center;gap:2px;min-width:52px;padding:8px 12px;transition:background .13s,border-color .13s,color .13s,transform .1s,opacity .1s;display:flex}.month-chip:not(.month-chip--empty):active,.year-strip__pill:active{opacity:.82;transition-duration:60ms;transform:scale(.91)}.month-chip--all{min-width:60px}.month-chip--empty{opacity:.38}.month-chip--active{background:var(--blue-soft);border-color:var(--blue);color:var(--text-strong);opacity:1}.month-chip:not(.month-chip--empty):not(.month-chip--active):hover{background:var(--blue-soft);border-color:#c5daff}.month-chip__label{letter-spacing:-.01em;font-size:.8rem;font-weight:600;line-height:1.2}.month-chip--active .month-chip__label{color:var(--blue)}.month-chip__amount{color:var(--text-soft);font-size:.68rem;line-height:1.2}.month-chip--active .month-chip__amount{color:#3d6fcc}.month-nav__btn,.ghost-chip,.quick-action,.recent-activity-row,.back-btn,.tx-cat__pill,.tx-cat__option,.month-pill,.import-btn,.ai-panel__save,.ai-panel__clear-btn,.ai-panel__close,.ai-panel__category-remove{appearance:none;cursor:pointer;font:inherit;color:inherit;background:0 0;border:0}.sr-only-input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.month-nav__btn{width:48px;height:48px;color:var(--text-strong);box-shadow:none;background:0 0;border-radius:50%;place-items:center;font-size:28px;font-weight:600;transition:transform .16s,color .16s,opacity .16s;display:grid}.month-nav__btn:hover:not(:disabled),.ghost-chip:hover,.quick-action:hover,.recent-activity-row:hover,.back-btn:hover,.tx-cat__pill:hover,.tx-cat__option:hover,.month-pill:hover,.import-btn:hover,.ai-panel__save:hover,.ai-panel__clear-btn:hover,.ai-panel__close:hover,.ai-panel__category-remove:hover{transform:translateY(-1px)}.month-nav__btn:hover:not(:disabled){color:#111827}.month-nav__btn:disabled{opacity:.28;cursor:default}.month-nav__total,.dashboard-header__greeting,.dashboard-balance-card__amount,.stat-strip__value,.section-heading__title,.score-pill,.donut-center__amount,.chart-legend-amount,.recent-activity-row__amount,.tx-section__title,.tx-amount,.import-title,.ai-panel__title{color:var(--text-strong)}.month-nav__total{color:var(--text);font-size:.92rem;font-weight:500}.dashboard-balance-card{flex-direction:column;gap:28px;padding:0 0 8px;display:flex}.dashboard-balance-card__eyebrow,.dashboard-empty-state__eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--text-soft);font-size:.75rem;font-weight:600}.dashboard-balance-card__top,.section-heading,.tx-section__header,.tx-view-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.dashboard-balance-card__top{align-items:flex-end}.dashboard-balance-card__actions{align-items:center;gap:10px;display:flex}.dashboard-empty-state{flex-direction:column;align-items:flex-start;gap:14px;padding:8px 0 4px;display:flex}.dashboard-empty-state__title{color:var(--text-strong);letter-spacing:-.06em;margin:0;font-size:2.2rem;font-weight:600;line-height:1.02}.dashboard-empty-state__body{max-width:28rem;color:var(--text);font-size:1rem;line-height:1.55}.dashboard-empty-state__action{appearance:none;color:var(--text-strong);font:inherit;cursor:pointer;background:#f5f8fc;border:0;border-radius:999px;padding:12px 18px;font-weight:600}.tx-page{flex-direction:column;gap:28px;display:flex}.tx-page__topbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.tx-page__month{color:var(--text-soft);font-size:.95rem;font-weight:600}.tx-page__hero{flex-direction:column;gap:6px;padding-bottom:4px;display:flex}.tx-page__eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--text-soft);font-size:.75rem;font-weight:600}.tx-page__title{color:var(--text-strong);letter-spacing:-.07em;margin:0;font-size:2.8rem;font-weight:600;line-height:.98}.tx-page__copy{max-width:32rem;color:var(--text);font-size:1rem;line-height:1.55}.tx-section{background:#fbfcfe;border-radius:28px;flex-direction:column;gap:18px;padding:20px;display:flex}.dashboard-header,.dashboard-balance-card__body,.dashboard-grid,.quick-actions,.health-copy,.recent-activity-list,.tx-section__meta,.tx-section__actions,.tx-row,.tx-row__main,.tx-row__content,.tx-row__side,.ai-panel,.ai-panel__fields,.ai-panel__label,.ai-panel__section,.ai-panel__examples-row,.ai-panel__add-category,.import-dropzone{flex-direction:column;display:flex}.dashboard-header{gap:10px}.dashboard-header__eyebrow,.section-heading__eyebrow,.dashboard-balance-card__label,.stat-strip__label,.donut-center__label,.chart-legend-pct,.recent-activity-row__meta,.tx-date,.tx-section__count,.import-eyebrow,.ai-panel__section-label,.ai-panel__hint,.health-copy__body{color:var(--text-soft)}.ai-panel__hint--warn{color:#b45309;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:8px 12px}.dashboard-header__eyebrow,.section-heading__eyebrow,.dashboard-balance-card__label,.import-eyebrow,.ai-panel__section-label{letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:600}.dashboard-header__greeting{letter-spacing:-.07em;font-size:3.2rem;font-weight:600;line-height:1.02}.ghost-chip,.score-pill{border-radius:999px;font-size:.8rem;font-weight:600}.ghost-chip{color:var(--text-strong);box-shadow:none;white-space:nowrap;background:#f5f8fc;padding:10px 14px}.ghost-chip--danger{color:#b5475a;background:#fff2f4}.dashboard-balance-card__body{gap:28px}.dashboard-balance-hero{flex-direction:column;display:flex}.dashboard-balance-card__amount{letter-spacing:-.1em;font-size:clamp(4.5rem,18vw,6.5rem);font-weight:600;line-height:.88;display:block}.dashboard-balance-card__subtle{color:var(--text-soft);font-size:.88rem;line-height:1.5}.delta--up{color:#b5475a;font-weight:600}.delta--down{color:#2a7a55;font-weight:600}.dashboard-balance-card__metrics,.dashboard-grid{gap:22px;display:grid}.stat-pair{border-top:1px solid var(--border);grid-template-columns:1fr 1fr;padding-top:20px;display:grid}.stat-pair__item{flex-direction:column;gap:5px;display:flex}.stat-pair__item+.stat-pair__item{border-left:1px solid var(--border);padding-left:20px}.stat-pair__label{letter-spacing:.09em;text-transform:uppercase;color:var(--text-soft);font-size:.72rem;font-weight:600}.stat-pair__value{letter-spacing:-.05em;color:var(--text-strong);font-size:1.6rem;font-weight:600;line-height:1;display:block}.stat-pair__value--pos{color:#2a7a55}.stat-pair__value--neg{color:#b5475a}.stat-pair__hint{color:var(--text-soft);font-size:.82rem;display:block}.stat-strip{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;padding-block:24px;display:grid}.stat-strip__item{flex-direction:column;gap:8px;display:flex}.stat-strip__value{letter-spacing:-.04em;font-size:1.75rem;font-weight:600;line-height:1.1}.stat-strip__unit{color:var(--text-soft);margin-left:3px;font-size:.8rem}.stat-strip__label{font-size:.82rem;line-height:1.45}.stat-strip__sep{display:none}.dashboard-grid{grid-template-columns:1fr}.dashboard-card,.tx-section{padding:0}.section-heading{margin-bottom:22px}.section-heading__title{letter-spacing:-.06em;margin:3px 0 0;font-size:2.35rem;font-weight:600}.insight-grid{grid-template-columns:1fr;gap:16px;display:grid}.insight-tile{border-radius:30px;flex-direction:column;gap:10px;padding:24px 22px;display:flex}.insight-tile--blue{background:#edf4ff}.insight-tile--pink{background:#fff2f6}.insight-tile--mint{background:#eef8f3}.insight-tile__label,.health-copy__title,.chart-legend-name,.tx-desc{color:var(--text-strong);font-weight:500}.insight-tile__value{color:var(--text-strong);letter-spacing:-.07em;font-size:2.25rem;font-weight:600;line-height:1}.insight-tile__body,.health-copy__body,.chart-legend-pct,.tx-date{font-size:.92rem;line-height:1.5}.dashboard-card--health{padding-top:4px}.score-pill{min-width:46px;height:42px;box-shadow:none;background:#eff5ff;border-radius:999px;place-items:center;padding-inline:12px;display:grid}.health-meter{background:#f3f6fa;border-radius:999px;height:16px;margin-bottom:18px;overflow:hidden}.health-meter__fill{border-radius:inherit;background:linear-gradient(90deg,#f7bccf 0%,#a8c9ff 100%);height:100%}.health-copy{gap:8px;margin-bottom:10px}.health-copy__title{letter-spacing:-.03em;font-size:1.35rem}.month-pills{gap:12px;margin-top:20px;display:grid}.month-pill{width:100%;color:var(--text);box-shadow:none;background:#f6f8fb;border-radius:22px;justify-content:space-between;align-items:center;gap:10px;padding:16px 18px;display:flex}.month-pill strong{color:var(--text-strong);font-size:1rem}.month-pill--active{background:#edf4ff}.spending-chart{flex-direction:column;gap:32px;display:flex}.spending-chart__panel{align-items:start;gap:28px;display:grid}.spending-chart__hero{z-index:2;flex-direction:column;align-items:center;gap:24px;display:flex;position:relative}.donut-wrap{width:280px;margin:0 auto;position:relative;overflow:visible}.donut-center{width:142px;height:142px;box-shadow:none;background:#fff;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.donut-center__amount{text-align:center;letter-spacing:-.05em;font-size:1.55rem;font-weight:600;line-height:1.1}.donut-center__label{text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}.spending-highlight{text-align:left;background:#f6f8fb;border-radius:28px;align-items:center;gap:16px;width:100%;padding:20px 22px;display:flex}.chart-tooltip{border:1px solid var(--border);font-family:var(--sans);pointer-events:none;background:#fff;border-radius:14px;padding:10px 12px;box-shadow:0 10px 30px #25304a14}.chart-tooltip__title{color:var(--text-strong);font-size:.85rem;font-weight:600;line-height:1.2}.chart-tooltip__eyebrow{color:var(--text-soft);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:600}.chart-tooltip__value{color:var(--text);margin-top:4px;font-size:.8rem;line-height:1.2}.chart-tooltip__meta{color:var(--text-soft);margin-top:4px;font-size:.74rem;line-height:1.25}.chart-tooltip__hint{color:var(--text-soft);margin-top:6px;font-size:.72rem;line-height:1.35}.spending-highlight__swatch{border-radius:999px;flex-shrink:0;width:18px;height:72px}.spending-highlight__copy{flex-direction:column;gap:6px;min-width:0;display:flex}.spending-highlight__eyebrow,.chart-legend-share{color:var(--text-soft);text-transform:uppercase;letter-spacing:.08em;font-size:.8rem}.spending-highlight__title{color:var(--text-strong);letter-spacing:-.05em;font-size:1.9rem;font-weight:600;line-height:1}.spending-highlight__meta{color:var(--text);font-size:.96rem;line-height:1.45}.spending-chart__legend,.tx-list{flex-direction:column;gap:12px;display:flex}.spending-chart__legend{z-index:1;position:relative}.chart-legend-row,.tx-row{width:100%;box-shadow:none;text-align:left;box-sizing:border-box;background:#f7f8fb;border-radius:18px;align-items:center;gap:14px;padding:14px;display:flex}.chart-legend-row{cursor:pointer;border:0;transition:background-color .16s,transform .16s}.chart-legend-row:hover{background:#f1f5fa}.chart-legend-avatar{width:36px;height:36px;color:var(--text-strong);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:.85rem;font-weight:700;display:flex}.chart-legend-copy{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.chart-legend-bar-wrap{background:var(--border);border-radius:2px;width:100%;height:4px;overflow:hidden}.chart-legend-bar-fill{border-radius:2px;height:100%}.chart-legend-sub{color:var(--text-soft);font-size:.76rem;line-height:1}.chart-legend-name,.recent-activity-row__title,.tx-desc{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chart-legend-name{color:var(--text-strong);font-size:.9rem;font-weight:600}.chart-legend-amount,.recent-activity-row__amount,.tx-amount{white-space:nowrap;font-size:1rem;font-weight:600}.chart-legend-values{text-align:right;flex-direction:column;align-self:center;align-items:flex-end;gap:4px;display:flex}.recent-activity-row{cursor:pointer;border:0}.tx-view-header{padding-top:2px}.back-btn{box-shadow:none;color:var(--text-strong);background:#f6f8fb;border-radius:999px;align-self:flex-start;align-items:center;gap:6px;padding:12px 16px;font-weight:500;display:inline-flex}.back-btn__icon{flex-shrink:0}.tx-section{background:0 0;border-radius:0;gap:16px;padding:0}.tx-section__meta{gap:8px}.tx-section__eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--text-soft);font-size:.75rem;font-weight:600}.tx-section__title{letter-spacing:-.04em;color:var(--text-strong);font-size:1.55rem;font-weight:600}.tx-section__copy{max-width:32rem;color:var(--text);margin:0;font-size:.95rem;line-height:1.5}.tx-section__actions{justify-content:flex-start;gap:8px;width:100%}.tx-ai-primary{background:var(--text-strong);color:#fff;letter-spacing:-.01em;cursor:pointer;white-space:nowrap;border:none;border-radius:999px;align-items:center;gap:7px;padding:9px 16px;font-size:.875rem;font-weight:600;transition:background .15s,opacity .15s;display:inline-flex}.tx-ai-primary:hover{background:#3a4a6b}.tx-ai-primary:disabled{opacity:.5;cursor:default}.tx-ai-primary__icon{opacity:.85;flex-shrink:0}.tx-rules-btn{color:var(--text-strong);letter-spacing:-.01em;border:1px solid var(--border);cursor:pointer;white-space:nowrap;background:0 0;border-radius:999px;align-items:center;gap:7px;padding:9px 16px;font-size:.875rem;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex}.tx-rules-btn:hover{background:var(--bg-soft);border-color:#c5daff}.tx-rules-btn:disabled{opacity:.4;cursor:default}.tx-ai-hint{cursor:pointer;font:inherit;color:var(--text-soft);background:0 0;border:none;align-items:center;gap:5px;padding:0;font-size:.8rem;transition:color .15s;display:inline-flex}.tx-ai-hint:hover{color:var(--text-strong)}.tx-ai-hint__learned{color:var(--text-strong);font-weight:600}.tx-ai-hint__arrow{font-size:.75rem;transition:transform .15s}.tx-ai-hint:hover .tx-ai-hint__arrow{transform:translate(2px)}.tx-ai-config{background:var(--bg-soft);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-size:.8rem;transition:background .15s,border-color .15s;display:inline-flex}.tx-ai-config:hover{background:#edf4ff;border-color:#c5d9f7}.tx-ai-config--active{color:var(--text-strong);background:#edf4ff;border-color:#8eb8ff}.tx-ai-config__info{align-items:center;gap:6px;display:flex}.tx-ai-config__provider{color:var(--text-strong);font-weight:500}.tx-ai-config__learned{color:#3a4a1a;letter-spacing:.01em;background:#d4f542;border-radius:999px;align-items:center;padding:2px 7px;font-size:.72rem;font-weight:600;display:inline-flex}.tx-ai-config__gear{color:var(--text-soft);flex-shrink:0;transition:color .15s}.tx-ai-config:hover .tx-ai-config__gear,.tx-ai-config--active .tx-ai-config__gear{color:var(--text-strong)}.tx-list-wrap{flex-direction:column;gap:24px;width:100%;display:flex}.tx-date-group{flex-direction:column;display:flex}.tx-date-group__label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-soft);border-bottom:1px solid var(--border);margin-bottom:0;padding-bottom:8px;font-size:.75rem;font-weight:600}.tx-list{margin:0;padding:0;list-style:none}.tx-row{border-bottom:1px solid var(--border);background:0 0;border-radius:0;grid-template-columns:minmax(0,1fr) auto;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:grid}.tx-row__main,.tx-row__side{flex-direction:row}.tx-row__main{flex:1;align-items:center;gap:10px;min-width:0}.tx-row__icon{width:28px;height:28px;color:var(--text-soft);background:#f5f7fb;border-radius:50%;flex-shrink:0;place-items:center;font-size:.78rem;display:grid}.tx-row__avatar{user-select:none;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.82rem;font-weight:700;line-height:1;display:flex}.tx-list li.tx-row:last-child{border-bottom:none}.tx-row__content{gap:3px;min-width:0}.tx-row__side{flex-direction:column;justify-content:flex-end;align-items:flex-end;gap:6px;min-width:96px}.tx-cat{position:relative}.tx-cat__pill{color:var(--text);white-space:nowrap;background:0 0;align-items:center;gap:5px;padding:4px 0;font-size:.78rem;font-weight:500;transition:color .14s;display:inline-flex;position:relative}.tx-desc{white-space:nowrap;color:var(--text-strong);font-size:.96rem;line-height:1.25}.tx-date{color:var(--text-soft);font-size:.8rem}.tx-amount{letter-spacing:-.03em;color:var(--text-strong);font-size:1rem;line-height:1}.tx-cat__pill:hover,.tx-cat__pill--open{color:var(--text-strong)}.tx-cat__chevron{color:var(--text-soft);transition:transform .16s}.tx-cat__pill--open .tx-cat__chevron{transform:rotate(180deg)}.tx-cat__dropdown{border:1px solid var(--border);z-index:200;background:#fff;border-radius:18px;flex-direction:column;gap:4px;width:240px;max-width:min(240px,100vw - 40px);padding:8px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 4px 6px #25304a0a,0 12px 32px #25304a1a}.tx-cat__search-wrap{background:var(--bg-soft);border-radius:12px;align-items:center;gap:8px;margin-bottom:2px;padding:8px 10px;display:flex}.tx-cat__search-icon{color:var(--text-soft);flex-shrink:0}.tx-cat__search-input{font:inherit;color:var(--text-strong);background:0 0;border:none;outline:none;flex:1;min-width:0;font-size:.88rem}.tx-cat__search-input::placeholder{color:var(--text-soft)}.tx-cat__search-clear{background:var(--border);width:18px;height:18px;color:var(--text-soft);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.8rem;line-height:1;transition:background .12s,color .12s;display:flex}.tx-cat__search-clear:hover{color:var(--text-strong);background:#dde3ea}.tx-cat__options{scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex-direction:column;max-height:232px;padding-bottom:8px;display:flex;overflow:hidden auto;-webkit-mask-image:linear-gradient(#000 calc(100% - 20px),#0000 100%);mask-image:linear-gradient(#000 calc(100% - 20px),#0000 100%)}.tx-cat__option{border-radius:10px;align-items:stretch;transition:background .12s;display:flex}.tx-cat__option--focused{background:var(--bg-soft)}.tx-cat__option--active{background:#f0f2f5}.tx-cat__option--active.tx-cat__option--focused{background:#e8ebf0}.tx-cat__option-btn{min-width:0;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex:1;align-items:center;gap:10px;padding:7px 8px;display:flex}.tx-cat__option-avatar{letter-spacing:0;user-select:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:.72rem;font-weight:700;display:flex}.tx-cat__option-name{letter-spacing:-.01em;min-width:0;color:var(--text-strong);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.9rem;font-weight:500;overflow:hidden}.tx-cat__option--active .tx-cat__option-name{font-weight:600}.tx-cat__match{color:inherit;text-decoration:underline;text-decoration-color:var(--text-soft);text-underline-offset:2px;background:0 0;font-weight:700}.tx-cat__option-check{color:var(--text-strong);opacity:.5;flex-shrink:0}.tx-cat__option-remove{width:32px;color:var(--text-soft);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:0 10px 10px 0;flex-shrink:0;justify-content:center;align-self:stretch;align-items:center;padding:0;font-size:1rem;line-height:1;transition:opacity .12s,color .12s,background .12s;display:flex}.tx-cat__option:hover .tx-cat__option-remove{opacity:1}.tx-cat__option-remove:hover{color:#c0425a;background:#ffeef2}.tx-cat__option--create{border-top:1px solid var(--border);border-radius:0 0 10px 10px;margin-top:4px;padding-top:4px}.tx-cat__option--create .tx-cat__option-btn{padding:8px}.tx-cat__option--create .tx-cat__option-name{color:var(--text);font-weight:400}.tx-cat__option--create .tx-cat__option-name strong{color:var(--text-strong);font-weight:600}.tx-cat__create-icon{background:var(--bg-soft);border:1px dashed var(--border);width:26px;height:26px;color:var(--text-soft);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;line-height:1;display:flex}.tx-cat__option--focused .tx-cat__create-icon{border-style:solid;border-color:var(--text-soft);color:var(--text)}.tx-cat__create-hint{background:var(--bg-soft);border:1px solid var(--border);font-family:var(--mono);color:var(--text-soft);border-radius:5px;flex-shrink:0;margin-left:auto;padding:2px 6px;font-size:.7rem;line-height:1.4}.tx-cat__option--focused .tx-cat__create-hint{border-color:var(--text-soft);color:var(--text);background:#fff}.tx-cat__empty{color:var(--text-soft);text-align:center;padding:12px;font-size:.84rem}@keyframes sheet-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes sheet-backdrop-in{0%{opacity:0}to{opacity:1}}.tx-cat-sheet__root{z-index:9000;flex-direction:column;justify-content:flex-end;display:flex;position:fixed;inset:0}.tx-cat-sheet__backdrop{background:#25304a73;animation:.22s forwards sheet-backdrop-in;position:absolute;inset:0}.tx-cat-sheet{width:100%;max-height:75vh;padding-bottom:env(safe-area-inset-bottom,0px);background:#fff;border-radius:24px 24px 0 0;flex-direction:column;animation:.32s cubic-bezier(.34,1.1,.64,1) forwards sheet-slide-up;display:flex;position:relative;overflow:hidden}.tx-cat-sheet__handle{background:var(--border);border-radius:2px;flex-shrink:0;width:36px;height:4px;margin:12px auto 0}.tx-cat-sheet__header{flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 20px 10px;display:flex}.tx-cat-sheet__title{color:var(--text-strong);letter-spacing:-.02em;font-size:1rem;font-weight:600}.tx-cat-sheet__close{background:var(--bg-soft);width:32px;height:32px;color:var(--text-soft);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.1rem;display:flex}.tx-cat-sheet__close:hover{background:var(--border);color:var(--text-strong)}.tx-cat-sheet__search{border-radius:14px;flex-shrink:0;margin:0 16px 8px}.tx-cat-sheet__search .tx-cat__search-input{font-size:16px}.tx-cat-sheet__options{-webkit-overflow-scrolling:touch;flex:1;min-height:0;max-height:none;padding:0 8px 16px;overflow-y:auto;-webkit-mask-image:none;mask-image:none}.tx-cat-sheet__option .tx-cat__option-btn{touch-action:manipulation;min-height:48px;padding:10px 8px;font-size:1rem}.tx-cat-sheet__close{touch-action:manipulation}.tx-cat-sheet__avatar{border-radius:10px!important;width:32px!important;height:32px!important;font-size:.8rem!important}.tx-empty{color:var(--text);text-align:center;background:#f7f8fb;border-radius:20px;padding:18px}.tx-breakdown{flex-direction:column;gap:14px;padding:4px 0 10px;display:flex}.tx-breakdown__header{flex-direction:column;gap:4px;display:flex}.tx-breakdown__eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--text-soft);font-size:.72rem;font-weight:600}.tx-breakdown__title{color:var(--text-strong);margin:0;font-size:1rem;font-weight:600}.tx-breakdown__panel{grid-template-columns:minmax(0,240px) minmax(0,1fr);align-items:start;gap:24px;display:grid}.tx-breakdown__chart{justify-content:center;display:flex;position:sticky;top:24px}.tx-breakdown__donut{width:240px;height:240px;position:relative}.tx-breakdown__center{text-align:center;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:0 28px;display:flex;position:absolute;inset:0}.tx-breakdown__center-name{color:var(--text-soft);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:.7rem;font-weight:600;overflow:hidden}.tx-breakdown__amount{letter-spacing:-.05em;color:var(--text-strong);font-size:1.5rem;font-weight:700;line-height:1}.tx-breakdown__label{color:var(--text-soft);font-size:.72rem;font-weight:500}.tx-breakdown__legend{flex-direction:column;gap:2px;display:flex}.tx-breakdown__row{cursor:pointer;border-radius:10px;flex-direction:column;gap:0;transition:opacity .15s,background .15s;display:flex;overflow:hidden}.tx-breakdown__row:hover,.tx-breakdown__row--active{background:#f5f8fc}.tx-breakdown__row--dim{opacity:.3}.tx-breakdown__row-main{grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:10px 10px 8px;display:grid}.tx-breakdown__swatch{border-radius:3px;flex-shrink:0;width:10px;height:10px}.tx-breakdown__name{min-width:0;color:var(--text-strong);white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:500;overflow:hidden}.tx-breakdown__amount-cell{color:var(--text-strong);letter-spacing:-.02em;white-space:nowrap;font-size:.9rem;font-weight:600}.tx-breakdown__pct-pill{white-space:nowrap;letter-spacing:.01em;border-radius:999px;padding:2px 7px;font-size:.72rem;font-weight:700}.tx-breakdown__bar-track{background:#d6deeb59;border-radius:99px;height:3px;margin:0 10px 8px;overflow:hidden}.tx-breakdown__bar-fill{border-radius:99px;height:100%;transition:width .3s}.tx-breakdown__inline-txs{flex-direction:column;gap:1px;margin:0;padding:0 10px 10px;list-style:none;animation:.15s inline-in;display:flex}@keyframes inline-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes period-in{0%{opacity:0;transform:translateY(9px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes label-up{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.nav-period-text{will-change:transform, opacity;animation:.32s cubic-bezier(.34,1.4,.64,1) period-in;display:inline-block}.balance-label-enter{will-change:transform, opacity;animation:.26s cubic-bezier(.22,1,.36,1) label-up;display:inline-block}.balance-subtle-enter{will-change:opacity;animation:.3s 60ms both fade-in;display:inline-block}.stat-label-enter{will-change:transform, opacity;animation:.24s cubic-bezier(.22,1,.36,1) both label-up;display:block}.stat-hint-enter{will-change:opacity;animation:.26s both fade-in;display:block}.stat-pair__item:first-child .stat-label-enter{animation-delay:30ms}.stat-pair__item:first-child .stat-hint-enter{animation-delay:80ms}.stat-pair__item:nth-child(2) .stat-label-enter{animation-delay:90ms}.stat-pair__item:nth-child(2) .stat-hint-enter{animation-delay:.14s}.tx-breakdown__inline-tx{background:#ffffffb3;border-radius:6px;justify-content:space-between;align-items:baseline;gap:12px;padding:5px 8px;display:flex}.tx-breakdown__inline-tx-desc{color:var(--text-strong);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:.8rem;overflow:hidden}.tx-breakdown__inline-tx-meta{color:var(--text-soft);white-space:nowrap;flex-shrink:0;font-size:.75rem}.tx-breakdown__inline-more{color:var(--text-soft);padding:4px 8px 0;font-size:.75rem}.ai-suggestions{flex-direction:column;gap:12px;padding:14px 0 4px;display:flex}.ai-suggestions__header{flex-direction:column;gap:4px;display:flex}.ai-suggestions__eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--text-soft);font-size:.72rem;font-weight:600}.ai-suggestions__title{color:var(--text-strong);font-size:1rem;font-weight:600}.ai-suggestions__list{gap:10px;display:grid}.ai-suggestion-card{background:linear-gradient(#f8fbff 0%,#f5f7fc 100%);border-radius:22px;flex-direction:column;gap:14px;padding:18px 18px 16px;display:flex}.ai-suggestion-card__meta,.ai-suggestion-card__actions{justify-content:space-between;align-items:center;gap:10px;display:flex}.ai-suggestion-card__heading{flex-direction:column;gap:3px;display:flex}.ai-suggestion-card__eyebrow,.ai-suggestion-card__sample-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-soft);font-size:.7rem;font-weight:600}.ai-suggestion-card__name{letter-spacing:-.03em;color:var(--text-strong);font-size:1.12rem;font-weight:600}.ai-suggestion-card__count{min-height:30px;color:var(--text-strong);background:#8eb8ff24;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;padding:0 10px;font-size:.78rem;font-weight:600;display:inline-flex}.ai-suggestion-card__sample{background:#ffffffb8;border-radius:16px;flex-direction:column;gap:6px;padding:12px 14px;display:flex}.ai-suggestion-card__copy{color:var(--text-strong);margin:0;font-size:.92rem;line-height:1.45}.ghost-chip--primary{color:var(--text-strong);background:#eaf3ff;border-radius:999px;padding:10px 14px;font-weight:600}.nav-action-btn{font:inherit;cursor:pointer;white-space:nowrap;border:none;border-radius:999px;align-items:center;gap:7px;padding:9px 15px;font-size:.82rem;font-weight:600;transition:background .14s,box-shadow .14s,transform 80ms;display:inline-flex}.nav-action-btn--primary{color:#2a68c4;background:#edf4ff;box-shadow:inset 0 0 0 1px #c7deff}.nav-action-btn--primary:hover{background:#def;box-shadow:inset 0 0 0 1px #a8ccff}.nav-action-btn--primary:active{transform:scale(.97)}.nav-icon-btn{width:36px;height:36px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;transition:background .14s,color .14s,transform 80ms;display:inline-flex}.nav-icon-btn:hover{color:var(--text-strong);background:#f0f3f8}.nav-icon-btn:active{transform:scale(.92)}.nav-icon-btn:focus-visible{outline-offset:2px;outline:2px solid #8eb8ff}.ghost-chip--muted{color:var(--text-soft);border-radius:999px;padding:10px 12px}.import-brand{align-items:center;gap:10px;display:flex}.import-brand__icon{border-radius:8px;flex-shrink:0}.import-brand__name{letter-spacing:-.03em;color:var(--text-strong);font-size:1.1rem;font-weight:700}.import-dropzone{text-align:center;background:var(--bg);border:2px dashed var(--border);border-radius:28px;flex-direction:column;align-items:center;gap:20px;padding:40px 28px;transition:border-color .16s,background .16s;display:flex}.import-dropzone--active{border-color:var(--blue);background:var(--blue-soft)}.import-icon-wrap{background:var(--blue-soft);color:#3d6fcc;border-radius:16px;place-items:center;width:56px;height:56px;display:grid}.import-drop-label{color:var(--text-strong);margin:0;font-size:1rem;font-weight:600}.ai-panel__save,.ai-panel__clear-btn{color:var(--text-strong);background:linear-gradient(#edf4ff,#fff2f6);border-radius:18px;justify-content:center;align-items:center;padding:13px 18px;font-weight:600;display:inline-flex;position:relative;box-shadow:inset 0 0 0 1px #d7e0efe6}.import-btn{background:var(--blue-soft);color:#3d6fcc;box-shadow:inset 0 0 0 1.5px var(--blue);border-radius:999px;justify-content:center;align-items:center;padding:11px 24px;font-size:.875rem;font-weight:600;transition:background .14s;display:inline-flex}.import-btn:hover{background:#d4e8ff}.import-file-input--hidden{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.import-steps{background:var(--bg-soft);border:1px solid var(--border);border-radius:20px;flex-direction:column;gap:16px;padding:24px;display:flex}.import-steps__label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-soft);font-size:.72rem;font-weight:600}.import-steps__list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.import-steps__item{color:var(--text);align-items:center;gap:12px;font-size:.9rem;line-height:1.45;display:flex}.import-steps__num{background:var(--blue-soft);color:#3d6fcc;border-radius:50%;flex-shrink:0;place-items:center;width:22px;height:22px;font-size:.7rem;font-weight:700;display:grid}.ai-panel{background:#fff;border-radius:28px;gap:18px;padding:18px}.ai-panel__header{justify-content:space-between;align-items:center;gap:10px;display:flex}.ai-panel__title{font-size:1rem;font-weight:600}.ai-panel__close,.ai-panel__category-remove{background:#f6f8fb;border-radius:12px;place-items:center;width:32px;height:32px;display:grid;box-shadow:inset 0 0 0 1px #dfd9cebf}.ai-panel__section,.ai-panel__fields{gap:10px}.ai-panel__providers,.ai-panel__category-list{flex-wrap:wrap;gap:8px;display:flex}.ai-provider-option,.ai-panel__category-tag{box-shadow:none;color:var(--text-strong);background:#f6f8fb;border-radius:999px;align-items:center;gap:8px;padding:10px 12px;font-size:.85rem;display:inline-flex}.ai-provider-option input{accent-color:#8eb8ff}.ai-provider-option--active{background:#edf4ff}.ai-panel__label{color:var(--text-strong);gap:6px;font-size:.9rem}.ai-panel__input{box-sizing:border-box;border:1px solid var(--border);width:100%;color:var(--text-strong);font:inherit;background:#fffdfa;border-radius:18px;outline:none;padding:13px 14px;transition:border-color .16s,box-shadow .16s,background-color .16s}.ai-panel__input:focus,.month-nav__btn:focus-visible,.ghost-chip:focus-visible,.quick-action:focus-visible,.recent-activity-row:focus-visible,.back-btn:focus-visible,.tx-cat__pill:focus-visible,.tx-cat__option:focus-visible,.month-pill:focus-visible,.import-btn:focus-visible,.ai-panel__save:focus-visible,.ai-panel__clear-btn:focus-visible,.ai-panel__close:focus-visible,.ai-panel__category-remove:focus-visible{outline:none;box-shadow:0 0 0 4px #adc9ff47,inset 0 0 0 1px #9ebffcf2}.ai-panel__input:focus{background:#fff;border-color:#a0befaeb;box-shadow:0 0 0 4px #adc9ff38}.ai-panel__examples-row{flex-direction:row;justify-content:space-between;align-items:center}.ai-panel__example-count{color:var(--text)}.ai-panel__add-category{gap:10px}@media (min-width:720px){.main{width:min(100%,980px)}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.insight-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.spending-chart__panel{grid-template-columns:minmax(280px,340px) minmax(0,1fr);align-items:start;gap:36px}.spending-chart__hero{position:sticky;top:24px}.tx-section__header{flex-direction:row;align-items:flex-start}.tx-section__actions{width:auto;min-width:260px}}@media (max-width:719px){.month-nav{gap:14px}.month-nav__actions{justify-content:space-between;width:100%}.tx-breakdown__panel{grid-template-columns:1fr;gap:12px}.tx-breakdown__chart{position:static}.tx-breakdown__legend{gap:2px}.month-nav__btn{width:44px;height:44px}.month-nav__label{font-size:1.8rem}.dashboard-balance-card__top{flex-direction:column;align-items:flex-start}.dashboard-balance-card__actions{flex-wrap:wrap}.stat-strip{grid-template-columns:1fr}.dashboard-header__greeting{font-size:2.7rem}.dashboard-balance-card__amount{font-size:clamp(3.8rem,18vw,5rem)}.section-heading__title{font-size:2rem}.spending-highlight__title{font-size:1.6rem}.chart-legend-row{align-items:center}.tx-section__header,.tx-view-header,.dashboard-balance-card__top,.section-heading,.tx-row,.tx-row__side{flex-direction:column;align-items:stretch}.tx-row__side{justify-content:flex-start}.chart-legend-row,.recent-activity-row{align-items:flex-start}.chart-legend-values{align-self:flex-start;margin-top:2px}}.settings-section{border:1px solid var(--border);background:#fff;border-radius:20px;flex-direction:column;gap:14px;padding:24px;display:flex}.settings-section+.settings-section{margin-top:12px}.settings-section__title{color:var(--text-strong);margin:0;font-size:1rem;font-weight:600}.settings-section__desc{color:var(--text-muted);margin:0;font-size:.875rem;line-height:1.5}.settings-section__empty{color:var(--text-muted);margin:0;font-size:.875rem}.settings-tag-list{flex-wrap:wrap;gap:8px;display:flex}.settings-tag{color:var(--text-strong);background:#f6f8fb;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-size:.85rem;display:inline-flex}.settings-tag--muted{color:var(--text-muted);background:#f0f4f8}.settings-tag__remove{width:18px;height:18px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:1rem;line-height:1;transition:background .12s,color .12s;display:inline-flex}.settings-tag__remove:hover{color:#b5475a;background:#ffe5e8}.settings-suggestions{flex-wrap:wrap;gap:8px;display:flex}.settings-suggestion-chip{border:1.5px dashed var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:20px;align-items:center;gap:4px;padding:5px 12px;font-size:.78rem;font-weight:500;transition:border-color .15s,color .15s,background .15s;display:inline-flex}.settings-suggestion-chip:hover{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb, var(--accent) 6%, transparent)}.settings-suggestion-chip--active{border-style:solid;border-color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, transparent);color:var(--accent);font-weight:600}.settings-suggestion-chip--active:hover{color:#b5475a;background:#ffe5e8;border-color:#b5475a}.settings-add-form{align-items:center;gap:10px;display:flex}.settings-add-form__input{border:1px solid var(--border);color:var(--text-strong);font:inherit;background:#fffdfa;border-radius:999px;outline:none;flex:1;padding:11px 14px;font-size:.9rem;transition:border-color .16s,box-shadow .16s}.settings-add-form__input:focus{border-color:#8eb8ff;box-shadow:0 0 0 3px #8eb8ff2e}.learned-rules-list{border:1px solid var(--border);background:var(--border);border-radius:12px;flex-direction:column;gap:1px;display:flex;overflow:hidden}.learned-rule{background:var(--bg);align-items:center;gap:8px;padding:10px 14px;font-size:.84rem;display:flex}.learned-rule__desc{color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.learned-rule__arrow{color:var(--text-soft);flex-shrink:0;font-size:.78rem}.learned-rule__cat{color:var(--blue);background:var(--blue-soft);border-radius:999px;flex-shrink:0;padding:2px 8px;font-size:.82rem;font-weight:600}.learned-rule__remove{appearance:none;color:var(--text-soft);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;padding:0;font-size:1rem;line-height:1;transition:background .12s,color .12s;display:flex}.learned-rule__remove:hover{color:#b5475a;background:#ffe5e8}.settings-section--danger{background:#fffbfb;border-color:#fbd0d6}.settings-section--danger .settings-section__title{color:#b5475a}.settings-danger-confirm{background:#fff2f4;border:1px solid #fbd0d6;border-radius:12px;flex-direction:column;gap:12px;padding:14px;display:flex}.settings-danger-confirm__text{color:#7a2233;margin:0;font-size:.875rem}.settings-danger-confirm__actions{align-items:center;gap:10px;display:flex}.settings-danger-btn{color:#fff;font:inherit;cursor:pointer;background:#c8364e;border:none;border-radius:999px;align-items:center;padding:9px 16px;font-size:.82rem;font-weight:600;transition:background .14s,opacity .14s;display:inline-flex}.settings-danger-btn:hover:not(:disabled){background:#a82a40}.settings-danger-btn:disabled{opacity:.6;cursor:not-allowed}.ai-progress{background:#f5f8ff;border:1px solid #d6e4ff;border-radius:14px;flex-direction:column;gap:8px;padding:14px 16px;display:flex}.ai-progress__bar-wrap{background:#dce8ff;border-radius:99px;height:4px;overflow:hidden}.ai-progress__bar{background:#3b7ef6;border-radius:99px;height:100%;transition:width .3s}.ai-progress__label{color:#3558b8;font-size:.8rem;font-weight:500}.ai-result{background:#f0faf4;border:1px solid #b6e8cb;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.ai-result__body{align-items:center;gap:10px;display:flex}.ai-result__icon{color:#1f8f5a;flex-shrink:0}.ai-result__text{color:#1a6644;font-size:.85rem;line-height:1.4}.ai-result__dismiss{color:#4a9a70;cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;padding:0;font-size:1.1rem;line-height:1;transition:background .12s;display:inline-flex}.ai-result__dismiss:hover{background:#c9edd8}@keyframes tx-processing-pulse{0%,to{background:0 0}50%{background:#edf4ff}}.tx-row--processing{border-radius:8px;animation:1.2s ease-in-out infinite tx-processing-pulse}.insights-panel{flex-direction:column;gap:8px;display:flex}.insights-narrative{border-left:2px solid var(--blue);color:var(--text);margin-bottom:2px;padding:8px 0 8px 12px;font-size:.85rem;line-height:1.65}.insights-narrative p{margin:0}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.insights-narrative--skeleton{background:linear-gradient(90deg, var(--bg-soft) 25%, var(--border) 50%, var(--bg-soft) 75%);background-size:200% 100%;border-radius:6px;height:38px;margin-bottom:2px;animation:1.4s infinite shimmer}.insights-list{flex-direction:column;gap:7px;display:flex}.insight-card{background:var(--bg-soft);border:1px solid var(--border);text-align:left;font:inherit;color:inherit;cursor:default;border-radius:14px;align-items:center;gap:14px;width:100%;padding:13px 15px;display:flex}.insight-card--clickable{cursor:pointer;transition:background .13s,border-color .13s}.insight-card--clickable:hover{background:#eef2f8;border-color:#d8e2f0}.insight-card--clickable:active{background:#e6edf6}.insight-card--warning{background:#fffcf5;border-color:#ecddb0}.insight-card--warning.insight-card--clickable:hover{background:#fef8e4;border-color:#e8ce88}.insight-card--positive{background:#f5fbf8;border-color:#b8dfc8}.insight-card--positive.insight-card--clickable:hover{background:#eaf6f0;border-color:#9ed1b6}.insight-card__body{flex-direction:column;flex:1;gap:0;min-width:0;display:flex}.insight-card__kind{letter-spacing:.08em;text-transform:uppercase;color:var(--text-soft);margin-bottom:3px;font-size:.6rem;font-weight:700}.insight-card__subject{color:var(--text-strong);text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;font-weight:700;line-height:1.25;overflow:hidden}.insight-card__metric{color:var(--text-strong);letter-spacing:-.03em;margin-top:2px;font-size:1.15rem;font-weight:800;line-height:1.2}.insight-card--warning .insight-card__metric{color:#b45309}.insight-card--positive .insight-card__metric{color:#15803d}.insight-card__copy{color:var(--text-soft);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:3px;font-size:.7rem;line-height:1.4;display:-webkit-box;overflow:hidden}.insight-card__chart{flex-shrink:0;width:72px;height:52px}.insight-dots{flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;width:100%;display:flex}.insight-dots__dot{background:var(--border);border-radius:50%;flex-shrink:0;width:6px;height:6px;transition:background .3s}.insight-dots__dot--on{background:var(--blue)}.trend-badge{vertical-align:middle;border-radius:999px;margin-left:6px;padding:1px 5px;font-size:.7rem;font-weight:700;line-height:1.4;display:inline-block}.trend-badge--up{color:#dc2626;background:#ef444414}.trend-badge--down{color:#16a34a;background:#22c55e14}.dashboard-content{flex-direction:column;gap:36px;transition:opacity .1s;display:flex}.dashboard-content--pending{opacity:.65;pointer-events:none}.ghost-chip,.back-btn{transition:transform .1s,opacity .1s,background .14s,color .14s}.back-btn:active,.ghost-chip:active{opacity:.75;transition-duration:55ms;transform:scale(.94)}.spending-highlight{cursor:pointer;transition:background .15s,transform .1s}.spending-highlight:hover{background:#f0f4fa}.spending-highlight:active{transition-duration:60ms;transform:scale(.98)}@keyframes page-enter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.tx-page{will-change:transform, opacity;animation:.3s cubic-bezier(.22,1,.36,1) page-enter}@keyframes row-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.tx-row{will-change:transform, opacity;animation:.22s cubic-bezier(.22,1,.36,1) both row-enter}.tx-row:has(.tx-cat__pill--open){z-index:10}.tx-row:first-child{animation-delay:0s}.tx-row:nth-child(2){animation-delay:20ms}.tx-row:nth-child(3){animation-delay:40ms}.tx-row:nth-child(4){animation-delay:60ms}.tx-row:nth-child(5){animation-delay:80ms}.tx-row:nth-child(6){animation-delay:.1s}.tx-row:nth-child(7){animation-delay:.12s}.tx-row:nth-child(8){animation-delay:.14s}.tx-row:nth-child(9){animation-delay:.16s}.tx-row:nth-child(10){animation-delay:.18s}.tx-row:nth-child(11){animation-delay:.2s}.tx-row:nth-child(12){animation-delay:.22s}.tx-row:nth-child(n+13){animation-delay:.24s}.tx-row--processing{will-change:background;animation:1.2s ease-in-out infinite tx-processing-pulse}@keyframes legend-enter{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.chart-legend-row{will-change:transform, opacity;animation:.22s cubic-bezier(.22,1,.36,1) both legend-enter}.chart-legend-row:first-child{animation-delay:0s}.chart-legend-row:nth-child(2){animation-delay:35ms}.chart-legend-row:nth-child(3){animation-delay:70ms}.chart-legend-row:nth-child(4){animation-delay:.105s}.chart-legend-row:nth-child(5){animation-delay:.14s}.chart-legend-row:nth-child(6){animation-delay:.175s}.chart-legend-row:nth-child(n+7){animation-delay:.21s}@keyframes bar-scale-in{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.tx-breakdown__row{animation:.2s cubic-bezier(.22,1,.36,1) both legend-enter}.tx-breakdown__row:first-child{animation-delay:0s}.tx-breakdown__row:nth-child(2){animation-delay:30ms}.tx-breakdown__row:nth-child(3){animation-delay:60ms}.tx-breakdown__row:nth-child(4){animation-delay:90ms}.tx-breakdown__row:nth-child(5){animation-delay:.12s}.tx-breakdown__row:nth-child(6){animation-delay:.15s}.tx-breakdown__row:nth-child(n+7){animation-delay:.18s}.tx-breakdown__bar-fill{transform-origin:0;will-change:transform;animation:.55s cubic-bezier(.22,1,.36,1) both bar-scale-in}.tx-breakdown__row:first-child .tx-breakdown__bar-fill{animation-delay:60ms}.tx-breakdown__row:nth-child(2) .tx-breakdown__bar-fill{animation-delay:90ms}.tx-breakdown__row:nth-child(3) .tx-breakdown__bar-fill{animation-delay:.12s}.tx-breakdown__row:nth-child(4) .tx-breakdown__bar-fill{animation-delay:.15s}.tx-breakdown__row:nth-child(5) .tx-breakdown__bar-fill{animation-delay:.18s}.tx-breakdown__row:nth-child(6) .tx-breakdown__bar-fill{animation-delay:.21s}@keyframes dropdown-open{0%{opacity:0;transform:translateY(-8px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.tx-cat__dropdown{transform-origin:100% 0;will-change:transform, opacity;animation:.19s cubic-bezier(.34,1.3,.64,1) dropdown-open}.insights-list .insight-card{animation:.28s both fade-in}.insights-list .insight-card:first-child{animation-delay:0s}.insights-list .insight-card:nth-child(2){animation-delay:50ms}.insights-list .insight-card:nth-child(3){animation-delay:.1s}.insights-list .insight-card:nth-child(4){animation-delay:.15s}.insights-list .insight-card:nth-child(5){animation-delay:.2s}.insights-list .insight-card:nth-child(n+6){animation-delay:.25s}.sk{background:linear-gradient(90deg, var(--bg-soft) 25%, var(--border) 50%, var(--bg-soft) 75%);background-size:200% 100%;flex-shrink:0;animation:1.6s ease-in-out infinite shimmer}.app-skeleton{flex-direction:column;gap:36px;animation:.18s fade-in;display:flex}.sk-nav{flex-direction:column;gap:16px;display:flex}.sk-topbar{justify-content:space-between;align-items:center;display:flex}.sk-brand-row,.sk-actions-row{align-items:center;gap:9px;display:flex}.sk-chips-row{gap:6px;display:flex;overflow:hidden}.sk-balance,.sk-chart-card{flex-direction:column;gap:14px;display:flex}.sk-chart-body{align-items:center;gap:20px;display:flex}.sk-legend-col{flex-direction:column;flex:1;gap:10px;display:flex}.sk-insights-block{flex-direction:column;gap:14px;display:flex}.sk--logo{border-radius:8px;width:26px;height:26px}.sk--brand-text{border-radius:6px;width:62px;height:15px}.sk--btn-pill{border-radius:999px;width:82px;height:34px}.sk--avatar{border-radius:50%;width:36px;height:36px}.sk--greeting{border-radius:6px;width:185px;height:26px}.sk--period-heading{border-radius:8px;width:125px;height:42px}.sk--month-chip{border-radius:20px;flex:none;height:48px}.sk--balance-label{border-radius:6px;width:128px;height:13px}.sk--balance-amount{border-radius:12px;width:100%;height:86px}.sk--balance-subtle{border-radius:6px;width:175px;height:13px}.sk--section-eyebrow{border-radius:5px;width:108px;height:11px}.sk--section-title{border-radius:6px;width:195px;height:22px}.sk--donut{border-radius:50%;width:160px;height:160px}.sk--legend-item{border-radius:16px;width:100%;height:44px}.sk--insight-line{border-radius:8px;width:100%;height:44px}.sk-chips-row .sk:nth-child(2){animation-delay:60ms}.sk-chips-row .sk:nth-child(3){animation-delay:.12s}.sk-chips-row .sk:nth-child(4){animation-delay:.18s}.sk-chips-row .sk:nth-child(5){animation-delay:.24s}.sk-chips-row .sk:nth-child(6){animation-delay:.3s}.sk-chips-row .sk:nth-child(n+7){animation-delay:.36s}.app-content-ready{animation:.32s fade-in}@keyframes icon-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.import-icon-wrap svg{will-change:transform;animation:2.6s ease-in-out infinite icon-float}.import-dropzone--active .import-icon-wrap svg{transition:transform .2s;animation:none;transform:translateY(-6px)}.import-steps__item{animation:.26s cubic-bezier(.22,1,.36,1) both label-up}.import-steps__item:first-child{animation-delay:.12s}.import-steps__item:nth-child(2){animation-delay:.195s}.import-steps__item:nth-child(3){animation-delay:.27s}.import-steps__item:nth-child(4){animation-delay:.345s}@keyframes badge-pop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.trend-badge{will-change:transform, opacity;animation:.28s cubic-bezier(.34,1.56,.64,1) badge-pop}.trend-chart{background:var(--surface);border:1px solid var(--border);border-radius:20px;flex-direction:column;gap:4px;padding:16px 20px 10px;display:flex}.trend-chart__eyebrow{letter-spacing:.07em;text-transform:uppercase;color:var(--text-soft);font-size:.72rem;font-weight:600}.budget-bar{flex-direction:column;gap:6px;margin-top:12px;display:flex}.budget-bar__track{background:var(--border);border-radius:99px;height:5px;overflow:hidden}.budget-bar__fill{background:#5ec98a;border-radius:99px;height:100%;transition:width .5s,background .3s}.budget-bar__fill[data-warn]{background:#f4b94a}.budget-bar__fill[data-over]{background:#f4604a}.budget-bar__label{color:var(--text-soft);font-size:.72rem}.budget-bar__over{color:#f4604a;font-weight:600}.budget-input-row{align-items:center;gap:8px;display:flex}.budget-input{border:1px solid var(--border);width:120px;color:var(--text-strong);background:var(--bg-soft);border-radius:10px;padding:8px 12px;font-size:.9rem}.budget-input:focus{border-color:var(--blue);outline:none}.tx-filter-chips{flex-wrap:wrap;gap:6px;display:flex}.tx-filter-chip{color:var(--text);background:var(--bg-soft);border:1px solid var(--border);cursor:pointer;border-radius:999px;align-items:center;gap:5px;padding:5px 11px;font-size:.8rem;font-weight:500;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.tx-filter-chip:hover{background:#eef2f8}.tx-filter-chip--active{background:var(--text-strong);color:#fff;border-color:var(--text-strong)}.tx-filter-chip--review .tx-filter-chip__count{color:#f4604a;background:#f4604a22}.tx-filter-chip--review.tx-filter-chip--active .tx-filter-chip__count{color:#fff;background:#fff3}.tx-filter-chip__count{background:#00000012;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 4px;font-size:.7rem;font-weight:700;display:inline-flex}.tx-filter-chip--active .tx-filter-chip__count{background:#fff3}.auth-page{background:var(--bg);justify-content:center;align-items:center;width:100%;min-height:100svh;padding:24px;display:flex}.auth-page__inner{flex-direction:column;gap:40px;width:100%;max-width:360px;display:flex}.auth-brand{align-items:center;gap:10px;display:flex}.auth-brand svg{border-radius:8px;flex-shrink:0}.auth-brand__name{letter-spacing:-.03em;color:var(--text-strong);font-size:1.05rem;font-weight:700}.auth-form{flex-direction:column;gap:24px;display:flex}.auth-form__header{flex-direction:column;gap:6px;display:flex}.auth-form__title{letter-spacing:-.045em;color:var(--text-strong);font-size:1.75rem;font-weight:700;line-height:1.1}.auth-form__subtitle{color:var(--text-soft);font-size:.9rem;line-height:1.5}.auth-form__email{color:var(--text);font-weight:600}.auth-field{flex-direction:column;gap:8px;display:flex}.auth-field__label{letter-spacing:.03em;color:var(--text-soft);text-transform:uppercase;font-size:.8rem;font-weight:600}.auth-field__input{appearance:none;border:none;border-bottom:1.5px solid var(--border);width:100%;font:inherit;color:var(--text-strong);background:0 0;border-radius:0;outline:none;padding:13px 0;font-size:1rem;transition:border-color .15s}.auth-field__input::placeholder{color:var(--text-soft);opacity:.6}.auth-field__input:focus{border-bottom-color:var(--blue)}.auth-otp{grid-template-columns:repeat(6,1fr);gap:8px;display:grid}.auth-otp__box{aspect-ratio:1;appearance:none;border:1.5px solid var(--border);background:var(--bg-soft);width:100%;min-width:0;font:inherit;letter-spacing:-.02em;color:var(--text-strong);text-align:center;caret-color:var(--blue);border-radius:12px;outline:none;padding:0;font-size:1.35rem;font-weight:700;transition:border-color .15s,background .15s}.auth-otp__box:focus{border-color:var(--blue);background:var(--blue-soft)}.auth-otp__box:not(:placeholder-shown):not(:focus){background:#f4f8ff;border-color:#c5daff}.auth-btn{appearance:none;background:var(--text-strong);color:#fff;width:100%;font:inherit;letter-spacing:-.01em;cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:50px;padding:14px 20px;font-size:.95rem;font-weight:600;transition:opacity .15s,transform .1s;display:flex}.auth-btn:hover:not(:disabled){opacity:.88}.auth-btn:active:not(:disabled){transition-duration:60ms;transform:scale(.98)}.auth-btn:disabled{opacity:.38;cursor:default}.auth-btn__spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.7s linear infinite auth-spin}@keyframes auth-spin{to{transform:rotate(360deg)}}.auth-error{color:#e05d6f;margin:-8px 0;font-size:.85rem;line-height:1.4}.auth-error__resend{appearance:none;font:inherit;font-size:inherit;color:#e05d6f;cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:4px 0 0;font-weight:600;text-decoration:underline}.auth-error__resend:hover{opacity:.7}.auth-switch{appearance:none;font:inherit;font-size:inherit;color:var(--text-strong);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline;transition:opacity .15s}.auth-switch:hover{opacity:.7}.auth-verified-banner{color:#1a7a4a;background:#edfaf3;border:1px solid #a3e6c2;border-radius:10px;padding:12px 16px;font-size:.9rem;font-weight:500;line-height:1.4}.auth-email-sent{flex-direction:column;gap:16px;display:flex}.auth-email-sent__icon{font-size:2.5rem;line-height:1}.auth-email-sent__title{letter-spacing:-.045em;color:var(--text-strong);margin:0;font-size:1.75rem;font-weight:700;line-height:1.1}.auth-email-sent__body{color:var(--text-soft);margin:0;font-size:.95rem;line-height:1.55}.auth-email-sent__hint{color:var(--text-soft);margin:4px 0 8px;font-size:.875rem}.auth-skip{appearance:none;font:inherit;color:var(--text-soft);cursor:pointer;text-align:center;background:0 0;border:none;width:100%;padding:0;font-size:.85rem;transition:opacity .15s}.auth-skip:hover{opacity:.7}.migrate-backdrop{backdrop-filter:blur(4px);z-index:900;background:#25304a59;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.migrate-modal{background:var(--surface);border-radius:20px;flex-direction:column;gap:16px;width:100%;max-width:380px;padding:32px 28px;display:flex;box-shadow:0 24px 64px #25304a24}.migrate-modal__icon{border-radius:12px;flex-shrink:0;width:44px;height:44px;overflow:hidden}.migrate-modal__title{letter-spacing:-.035em;color:var(--text-strong);margin:0;font-size:1.3rem;font-weight:700;line-height:1.2}.migrate-modal__body{color:var(--text);margin:0;font-size:.92rem;line-height:1.55}.migrate-modal__actions{flex-direction:column;gap:10px;margin-top:4px;display:flex}.migrate-btn{appearance:none;font:inherit;letter-spacing:-.01em;cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;min-height:48px;padding:13px 20px;font-size:.95rem;font-weight:600;transition:opacity .15s,transform .1s;display:flex}.migrate-btn:disabled{opacity:.4;cursor:default}.migrate-btn--primary{background:var(--text-strong);color:#fff}.migrate-btn--primary:hover:not(:disabled){opacity:.88}.migrate-btn--primary:active:not(:disabled){transform:scale(.98)}.migrate-btn--ghost{color:var(--text-soft);background:0 0;font-size:.88rem;font-weight:500}.migrate-btn--ghost:hover:not(:disabled){opacity:.65}.migrate-spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.7s linear infinite migrate-spin}@keyframes migrate-spin{to{transform:rotate(360deg)}}
