:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:960px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.app-layout{min-height:100vh;display:flex;flex-direction:column;background:var(--page-bg, #0f172a)}.app-layout__header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid var(--header-border, rgba(255, 255, 255, .08));background:var(--header-bg, rgba(15, 23, 42, .9))}.app-layout__header-left,.app-layout__header-right{flex:1;display:flex;align-items:center;gap:.5rem;min-width:0}.app-layout__header-left{justify-content:flex-start}.app-layout__header-right{justify-content:flex-end}.app-layout__logo{font-size:1.25rem;font-weight:700;color:inherit;text-decoration:none;letter-spacing:-.02em}.app-layout__logo:hover{color:#818cf8}.app-layout__nav{display:flex;align-items:center;gap:.5rem;flex-shrink:0;padding:0 1rem}.app-layout__link{padding:.5rem .75rem;font-size:.9rem;font-weight:500;color:var(--text-soft, #94a3b8);text-decoration:none;border-radius:8px;transition:background .2s,color .2s}.app-layout__link:hover{color:#c7d2fe;background:#ffffff0f}.app-layout__link--active{color:#818cf8;background:#6366f126}.app-layout__add-expense{padding:.5rem 1rem;font-size:.9rem;font-weight:500;color:var(--text-soft, #94a3b8);text-decoration:none;border-radius:8px;border:1px solid var(--btn-border, #334155);background:transparent;transition:border-color .2s,color .2s}.app-layout__add-expense:hover{color:#c7d2fe;border-color:#6366f1}.app-layout__account{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;padding:0;color:var(--text-soft, #94a3b8);text-decoration:none;border-radius:8px;border:1px solid var(--btn-border, #334155);background:transparent;transition:border-color .2s,color .2s}.app-layout__account:hover{color:#c7d2fe;border-color:#6366f1}.app-layout__account-icon{width:1.25rem;height:1.25rem}.app-layout__body{flex:1;display:flex;min-height:0}.app-layout__main{flex:1;width:100%;padding:1rem 3rem;box-sizing:border-box;overflow:auto}.app-layout__content{width:100%}.app-layout__scroll-top{position:fixed;bottom:1.5rem;left:1.5rem;z-index:50;display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;padding:0;border:1px solid var(--btn-border, #334155);border-radius:50%;background:var(--header-bg, rgba(15, 23, 42, .95));color:var(--text-soft, #94a3b8);cursor:pointer;box-shadow:0 4px 12px #0003;transition:color .2s,border-color .2s,transform .15s}.app-layout__scroll-top:hover{color:#c7d2fe;border-color:#6366f1;transform:scale(1.05)}.app-layout__scroll-top svg{width:1.25rem;height:1.25rem}@media(max-width:768px){.app-layout--add-expense .app-layout__main{display:flex;align-items:center;justify-content:center;padding:1rem;min-height:0}}@media(prefers-color-scheme:light){.app-layout{--page-bg: #f1f5f9}.app-layout__header{--header-bg: #fff;--header-border: #e2e8f0}.app-layout__link{color:#475569}.app-layout__link:hover{color:#3730a3}.app-layout__link--active{color:#4f46e5;background:#6366f11a}.app-layout__add-expense{--btn-border: #cbd5e1;color:#475569}.app-layout__add-expense:hover{color:#4f46e5;border-color:#6366f1}.app-layout__account{--btn-border: #cbd5e1;color:#475569}.app-layout__account:hover{color:#4f46e5;border-color:#6366f1}.app-layout__scroll-top{background:#fff;border-color:#e2e8f0;color:#475569;box-shadow:0 4px 12px #00000014}.app-layout__scroll-top:hover{color:#4f46e5;border-color:#6366f1}}.landing{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 3rem;text-align:center;box-sizing:border-box}.landing__card{width:480px;padding:2.5rem 3rem;background:var(--card-bg, rgba(255, 255, 255, .05));border-radius:16px;border:1px solid var(--card-border, rgba(255, 255, 255, .08));box-shadow:0 8px 32px #0003}.landing__title{font-size:3rem;font-weight:700;margin:0 0 .5rem;letter-spacing:-.03em;background:linear-gradient(135deg,#fff,#b8c0e0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.landing__tagline{font-size:1.2rem;color:var(--text-soft, #94a3b8);margin:0 0 .75rem}.landing__sub{font-size:.95rem;color:var(--text-muted, #64748b);line-height:1.5;margin:0 0 1.75rem}.landing__btn{display:inline-block;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;border-radius:10px;text-decoration:none;transition:transform .15s,box-shadow .15s}.landing__btn--primary{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border:none}.landing__btn--primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px #6366f166}.landing__footer{margin-top:auto;padding-top:2rem;font-size:.85rem;color:var(--text-muted, #64748b)}.landing__status-ok{color:#22c55e}.landing__status-off{color:#ef4444}@media(prefers-color-scheme:light){.landing__card{--card-bg: #fff;--card-border: #e2e8f0}.landing__title{background:linear-gradient(135deg,#1e293b,#475569);-webkit-background-clip:text;background-clip:text}}.login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem 3rem;box-sizing:border-box}.login__card{width:400px;padding:2rem 2.5rem;background:var(--card-bg, rgba(255, 255, 255, .05));border-radius:16px;border:1px solid var(--card-border, rgba(255, 255, 255, .08));box-shadow:0 8px 32px #0003}.login__title{font-size:1.75rem;font-weight:700;margin:0 0 .25rem}.login__sub{font-size:.95rem;color:var(--text-muted, #94a3b8);margin:0 0 1.5rem}.login__form{display:flex;flex-direction:column;gap:.75rem}.login__label{font-size:.875rem;font-weight:500;color:var(--text-soft, #94a3b8)}.login__input{padding:.75rem 1rem;font-size:1rem;border-radius:10px;border:1px solid var(--input-border, #334155);background:var(--input-bg, #1e293b);color:inherit;outline:none;transition:border-color .2s}.login__input:focus{border-color:#6366f1}.login__input::placeholder{color:var(--text-muted, #64748b)}.login__email-hint{font-size:.875rem;color:var(--text-muted, #64748b);margin:0 0 .25rem}.login__error{font-size:.875rem;color:#ef4444;margin:0}.login__btn{padding:.75rem 1.25rem;font-size:1rem;font-weight:600;border-radius:10px;border:none;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;cursor:pointer;margin-top:.25rem;transition:opacity .2s}.login__btn:hover:not(:disabled){opacity:.95}.login__btn:disabled{opacity:.7;cursor:not-allowed}.login__back{background:transparent;border:none;color:var(--text-muted, #94a3b8);font-size:.875rem;cursor:pointer;padding:.5rem 0;margin-top:.25rem}.login__back:hover{color:#6366f1}.login__footer{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--card-border, rgba(255, 255, 255, .08))}.login__footer a{color:var(--text-muted, #94a3b8);text-decoration:none;font-size:.9rem}.login__footer a:hover{color:#6366f1}@media(prefers-color-scheme:light){.login__card{--card-bg: #fff;--card-border: #e2e8f0}.login__input{--input-border: #cbd5e1;--input-bg: #f8fafc}}.overview{max-width:1600px;margin:0 auto;padding:0 .5rem}.overview__nav{display:flex;align-items:center;gap:4px;margin-bottom:.5rem}.overview__filters{display:flex;align-items:flex-end;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.overview__filter-group{display:flex;flex-direction:column;gap:.3rem}.overview__filter-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--text-soft, #64748b)}.overview__month-input,.overview__select{padding:.4rem .75rem;border-radius:6px;border:1px solid #334155;background:#1e293b;color:#e2e8f0;font-size:.9rem;cursor:pointer}.overview__month-input:focus,.overview__select:focus{outline:none;border-color:#6366f1}.overview__select option.overview__month-option--year-odd{background:#1e293b}.overview__select option.overview__month-option--year-even{background:#0f172a}.overview__filter-sep{font-size:1rem;color:#475569;padding-bottom:.35rem}.overview__filter-months{font-size:.8rem;color:#64748b;padding-bottom:.45rem;margin-left:.25rem}.overview__row,.cm__row{display:flex;align-items:stretch;gap:1.25rem}.overview__filter-sep{margin:1rem;padding:0;border-bottom:1px solid #1e293b;border-top:none;border-left:none;border-right:none}.overview__stats--stacked,.cm__stats.overview__stats--stacked{display:flex;flex-direction:column;gap:.75rem;flex:0 0 auto;width:200px;margin-bottom:0}.overview__stats--stacked .overview__stat-card{flex:0 0 auto;min-width:0}.overview__chart-section--fill{flex:1;min-width:0;margin-bottom:0}.cm__chart-main{flex:1;min-width:0}.cm__charts{display:flex;gap:1rem;flex:1;min-width:0}.cm__chart-half{flex:1;min-width:0}.overview__stats{display:flex;gap:.75rem;margin-bottom:1.75rem;flex-wrap:wrap}.overview__stat-card{display:flex;flex-direction:column;gap:.2rem;padding:1rem 1.25rem;border-radius:10px;border:1px solid #1e293b;background:#0f172a;min-width:140px;flex:1}.overview__stat-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:#64748b}.overview__stat-value{font-size:1.4rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.2}.overview__stat-value--pos{color:#4ade80}.overview__stat-value--neg{color:#f87171}.overview__stat-value--zero{color:#64748b}.overview__stat-sub{font-size:.74rem;color:#64748b;margin-top:.1rem}.overview__stat-sub--stacked{display:flex;flex-direction:column;gap:.05rem}.overview__stat-sub--stacked .overview__stat-sub-line{display:block}.overview__chart-section{margin-bottom:1.75rem}.overview__chart-title{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:#64748b;margin:0 0 .75rem;display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}.overview__chart-subtitle{font-size:.75rem;font-weight:400;text-transform:none;letter-spacing:0;color:#475569}.overview__chart-wrap{background:#0f172a;border:1px solid #1e293b;border-radius:10px;padding:1rem .5rem .5rem}.overview__tooltip{background:#1e293b;border:1px solid #334155;border-radius:8px;padding:.6rem .9rem;font-size:.85rem}.overview__tooltip-label{font-weight:600;color:#e2e8f0;margin:0 0 .4rem}.overview__tooltip-row{display:flex;justify-content:space-between;gap:1.5rem;margin:.15rem 0;font-variant-numeric:tabular-nums}.overview__tooltip-row span:first-child{color:#94a3b8}.overview__tooltip-hint{margin:.35rem 0 0;font-size:.75rem;color:#64748b!important}.overview__muted{color:#64748b;margin:0}.cm{margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid #1e293b}.cm--loading{margin-bottom:2rem}.cm__header{display:flex;align-items:baseline;gap:.6rem;margin-bottom:1rem}.cm__title{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:#64748b;margin:0}.cm__month-label{font-size:.85rem;color:#94a3b8;font-weight:500}.cm__nav{display:flex;align-items:center;gap:4px;margin-left:auto}.cm__nav-btn{background:var(--card-bg, rgba(255, 255, 255, .05));border:1px solid var(--card-border, rgba(255, 255, 255, .08));color:#94a3b8;font-size:.8rem;padding:.35rem .5rem;border-radius:6px;cursor:pointer;transition:color .15s,border-color .15s,background .15s}.cm__nav-btn:hover:not(:disabled){color:#e2e8f0;border-color:#475569}.cm__nav-btn:disabled{opacity:.5;cursor:default}.cm__nav-btn--current{padding:.35rem .6rem;margin-left:4px}.cm__stats{margin-bottom:1rem}.cm__expected{margin-bottom:1rem;padding:.6rem .75rem;border-radius:8px;background:#1e293b99;border:1px solid #334155}.cm__expected-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#64748b;display:block;margin-bottom:.4rem}.cm__expected-list{margin:0;padding:0;list-style:none}.cm__expected-item{display:flex;justify-content:space-between;align-items:center;gap:.75rem;font-size:.875rem;padding:.2rem 0}.cm__expected-desc{color:#94a3b8}.cm__expected-amt{font-variant-numeric:tabular-nums;color:#f87171}.cm__chart-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.25rem .75rem .5rem;flex-wrap:wrap}.cm__chart-header-right{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.cm__chart-toggle{font-size:.72rem;color:#94a3b8;background:none;border:none;cursor:pointer;padding:.2rem .4rem;border-radius:4px;text-transform:none;letter-spacing:0}.cm__chart-toggle:hover{color:#cbd5e1;background:#ffffff0f}.cm__chart-toggle[aria-pressed=true]{color:#a5b4fc}.cm__chart-title{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:#64748b;padding:0;display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}.cm__legend{display:flex;align-items:center;gap:1rem;font-size:.7rem;color:#94a3b8}.cm__legend-item{display:inline-flex;align-items:center;gap:.35rem}.cm__legend-swatch{width:12px;height:10px;border-radius:2px}.cm__legend-swatch--line{height:0;width:16px;border-top:2px dashed;border-color:inherit;background:none!important;border-radius:0}@media(prefers-color-scheme:light){.overview__month-input,.overview__select{border-color:#e2e8f0;background:#fff;color:#1e293b}.overview__select option.overview__month-option--year-odd{background:#fff}.overview__select option.overview__month-option--year-even{background:#f1f5f9}.overview__stat-card,.overview__chart-wrap{background:#f8fafc;border-color:#e2e8f0}.cm__chart-toggle{color:#64748b}.cm__chart-toggle:hover{color:#475569;background:#0000000d}.cm__chart-toggle[aria-pressed=true]{color:#6366f1}.overview__tooltip{background:#fff;border-color:#e2e8f0}.cm__nav-btn{background:#f8fafc;border-color:#e2e8f0;color:#64748b}.cm__nav-btn:hover:not(:disabled){color:#334155;border-color:#cbd5e1}.overview__tooltip-label{color:#1e293b}}.dp-wrap{display:inline-flex}.dp-trigger{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .65rem;border-radius:6px;border:1px solid #334155;background:#1e293b;color:#e2e8f0;font-size:.875rem;font-family:inherit;cursor:pointer;white-space:nowrap;transition:border-color .12s}.dp-trigger:hover{border-color:#6366f1}.dp-trigger--empty .dp-trigger-text{color:#475569}.dp-trigger-icon{width:14px;height:14px;flex-shrink:0;color:#64748b}.dp-trigger-text{flex:1}.dp-trigger-clear{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;color:#64748b;cursor:pointer;border-radius:3px;flex-shrink:0;transition:color .1s}.dp-trigger-clear:hover{color:#f87171}.dp-trigger-clear svg{width:12px;height:12px}.dp-panel{width:296px;max-width:calc(100vw - 1rem);background:#1e293b;border:1px solid #334155;border-radius:12px;box-shadow:0 12px 40px #0000008c,0 2px 8px #0000004d;overflow:hidden;padding-bottom:.6rem}@media(max-width:380px){.dp-panel{width:calc(100vw - 1rem);left:.5rem!important;max-width:none}}.dp-panel-header{display:flex;justify-content:flex-end;padding:.45rem .45rem 0}.dp-close{display:flex;align-items:center;justify-content:center;width:26px;height:26px;background:none;border:none;color:#475569;cursor:pointer;border-radius:6px;transition:color .12s,background .12s;padding:0}.dp-close:hover{color:#e2e8f0;background:#0f172a}.dp-close svg{width:14px;height:14px}.dp-swipe-row{display:flex;align-items:center;border-bottom:1px solid #0f172a;padding:.1rem 0}.dp-swipe-nav{flex-shrink:0;width:30px;height:36px;background:none;border:none;color:#475569;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:color .12s;padding:0}.dp-swipe-nav:hover{color:#e2e8f0}.dp-swipe-nav svg{width:16px;height:16px}.dp-swipe-track{flex:1;display:flex;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;gap:0}.dp-swipe-track::-webkit-scrollbar{display:none}.dp-swipe-item{flex-shrink:0;min-width:56px;padding:.35rem .4rem;background:none;border:none;color:#64748b;font-size:.8rem;font-family:inherit;cursor:pointer;border-radius:6px;white-space:nowrap;text-align:center;transition:color .12s,background .12s;line-height:1.3}.dp-swipe-item:hover{color:#e2e8f0;background:#ffffff0d}.dp-swipe-item--active{color:#e2e8f0;font-weight:700;font-size:.9rem}.dp-calendar-wrap{overflow:hidden;padding:.5rem .6rem 0}.dp-calendar{animation-duration:.22s;animation-timing-function:ease;animation-fill-mode:both}.dp-calendar--slide-left{animation-name:dp-from-right}.dp-calendar--slide-right{animation-name:dp-from-left}@keyframes dp-from-right{0%{transform:translate(32px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes dp-from-left{0%{transform:translate(-32px);opacity:0}to{transform:translate(0);opacity:1}}.dp-day-headers{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:.2rem}.dp-day-headers span{text-align:center;font-size:.67rem;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.04em;padding:.2rem 0}.dp-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.dp-day{aspect-ratio:1;border:none;background:none;color:#cbd5e1;font-size:.8rem;font-family:inherit;font-variant-numeric:tabular-nums;cursor:pointer;border-radius:6px;display:flex;align-items:center;justify-content:center;position:relative;transition:background .1s,color .1s}.dp-day:hover:not(.dp-day--disabled):not(.dp-day--empty){background:#334155;color:#f1f5f9}.dp-day--empty{pointer-events:none}.dp-day--today{color:#818cf8;font-weight:600}.dp-day--today:after{content:"";position:absolute;bottom:3px;left:50%;transform:translate(-50%);width:3px;height:3px;border-radius:50%;background:#6366f1}.dp-day--selected{background:#6366f1!important;color:#fff!important;font-weight:700}.dp-day--selected:after{display:none}.dp-day--disabled{color:#2d3f55;cursor:not-allowed}@media(prefers-color-scheme:light){.dp-trigger{border-color:#e2e8f0;background:#fff;color:#1e293b}.dp-trigger:hover{border-color:#6366f1}.dp-trigger--empty .dp-trigger-text,.dp-trigger-icon{color:#94a3b8}.dp-panel{background:#fff;border-color:#e2e8f0;box-shadow:0 8px 32px #00000024,0 2px 8px #00000014}.dp-close{color:#94a3b8}.dp-close:hover{background:#f1f5f9;color:#1e293b}.dp-swipe-row{border-bottom-color:#f1f5f9}.dp-swipe-nav{color:#94a3b8}.dp-swipe-nav:hover{color:#1e293b}.dp-swipe-item{color:#94a3b8}.dp-swipe-item:hover{color:#1e293b;background:#f8fafc}.dp-swipe-item--active{color:#1e293b}.dp-day-headers span{color:#94a3b8}.dp-day{color:#334155}.dp-day:hover:not(.dp-day--disabled):not(.dp-day--empty){background:#f1f5f9;color:#1e293b}.dp-day--today{color:#6366f1}.dp-day--today:after{background:#6366f1}.dp-day--disabled{color:#cbd5e1}}.transactions-page{max-width:960px;margin:0 auto;padding:0 .5rem}.transactions-page__title{font-size:1.75rem;font-weight:700;margin:0 0 1rem}.txn-filter{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.25rem;padding:.75rem 1rem;border:1px solid #1e293b;border-radius:10px;background:#0f172a}.txn-filter__top{display:flex;align-items:flex-start;gap:.75rem}.txn-filter__left{flex:0 1 45%;min-width:0;display:flex;flex-direction:column;gap:.5rem}.txn-filter__row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.txn-filter__row--inputs{margin-top:.25rem;gap:.5rem}.txn-filter__row-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#475569;width:68px;flex-shrink:0}.txn-filter__pills{display:flex;gap:.35rem;flex-wrap:wrap}.txn-filter__pill{padding:.25rem .7rem;border-radius:999px;border:1px solid #334155;background:#1e293b;color:#94a3b8;font-size:.82rem;cursor:pointer;transition:background .12s,border-color .12s,color .12s;white-space:nowrap}.txn-filter__pill:hover{border-color:#6366f1;color:#e2e8f0}.txn-filter__pill.txn-filter__pill--active{background:#6366f1;border-color:#6366f1;color:#fff;font-weight:600}.txn-filter__pill.txn-filter__pill--active:hover{background:#4f46e5;border-color:#4f46e5;color:#fff}.txn-filter__input{padding:.35rem .65rem;border-radius:6px;border:1px solid #334155;background:#1e293b;color:#e2e8f0;font-size:.875rem}.txn-filter__input--search{flex:1;min-width:150px}.txn-filter__input--amount{width:90px}.txn-filter__sep{color:#475569;font-size:.875rem}.txn-filter__label-inline{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#475569;margin-left:.5rem}.txn-filter__tags-panel{flex:1 1 42%;min-width:320px;border:1px solid #1e293b;border-radius:8px;background:#0b1220;padding:.5rem;display:flex;flex-direction:column;gap:.4rem}.txn-filter__tags-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.txn-filter__tags-clear{border:none;background:none;color:#94a3b8;font-size:.75rem;cursor:pointer;padding:0}.txn-filter__tags-clear:hover{color:#cbd5e1}.txn-filter__tags-list{display:flex;flex-wrap:wrap;gap:.35rem;max-height:116px;overflow-y:auto;padding-right:.2rem}.txn-filter__tag-pill{padding:.2rem .55rem;border-radius:999px;border:1px solid #334155;background:#1e293b;color:#94a3b8;font-size:.78rem;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.txn-filter__tag-pill:hover{border-color:#6366f1;color:#e2e8f0}.txn-filter__tag-pill--active{background:#6366f1;border-color:#6366f1;color:#fff}.txn-summary-bar{display:flex;justify-content:space-between;align-items:center;padding:.3rem .1rem;margin-bottom:.5rem;font-size:.82rem;color:#64748b;font-variant-numeric:tabular-nums}.txn-summary-bar__totals{display:flex;align-items:center;gap:1rem}.txn-summary-bar__avg{display:inline-flex;align-items:center;gap:.35rem}.txn-summary-bar__avg-label{font-size:.75rem;color:#94a3b8;text-transform:lowercase}.transactions-page__muted{color:#64748b;margin:0}.transactions-page__table-wrap{border-radius:8px;border:1px solid #334155;overflow:hidden;background:#1e293b}.transactions-page__table{width:100%;border-collapse:collapse;font-size:.9rem}.transactions-page__table th{padding:.5rem .75rem;text-align:left;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:#94a3b8;background:#0f172a;border-bottom:1px solid #334155}.transactions-page__table td{padding:.45rem .75rem;border-bottom:1px solid #1e293b}.transactions-page__table tbody tr:last-child td{border-bottom:none}.transactions-page__table tbody tr:hover td{background:#ffffff0a}.transactions-page__row--expected td{background:#6366f10f}.transactions-page__table tbody tr.transactions-page__row--expected:hover td{background:#6366f11a}.transactions-page__amount{text-align:right;font-variant-numeric:tabular-nums}.transactions-page__date{white-space:nowrap}.transactions-page__account{color:#94a3b8;font-size:.875em}.transactions-page__account-link{color:inherit;text-decoration:none}.transactions-page__account-link:hover{color:#6366f1;text-decoration:underline}.transactions-page__pos{color:#4ade80}.transactions-page__neg{color:#f87171}.transactions-page__badge{display:inline-block;padding:.15rem .5rem;border-radius:999px;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.transactions-page__badge--income{background:#4ade801f;color:#4ade80}.transactions-page__badge--transfer{background:#60a5fa1f;color:#60a5fa}.transactions-page__badge--personal{background:#a78bfa1f;color:#a78bfa}.transactions-page__badge--business{background:#fbbf241f;color:#fbbf24}.transactions-page__badge--expected{background:#6366f12e;color:#a5b4fc}@media(prefers-color-scheme:light){.txn-filter{border-color:#e2e8f0;background:#f8fafc}.txn-filter__pill{border-color:#e2e8f0;background:#fff;color:#64748b}.txn-filter__pill:hover{border-color:#6366f1;color:#1e293b}.txn-filter__pill.txn-filter__pill--active{background:#6366f1;border-color:#6366f1;color:#fff}.txn-filter__pill.txn-filter__pill--active:hover{background:#4f46e5;border-color:#4f46e5;color:#fff}.txn-filter__input{border-color:#e2e8f0;background:#fff;color:#1e293b}.txn-filter__tags-panel{border-color:#e2e8f0;background:#f8fafc}.txn-filter__tag-pill{border-color:#e2e8f0;background:#fff;color:#64748b}.txn-filter__tag-pill:hover{border-color:#6366f1;color:#1e293b}.txn-filter__tag-pill--active{background:#6366f1;border-color:#6366f1;color:#fff}.txn-filter__tags-clear{color:#64748b}.txn-filter__tags-clear:hover{color:#334155}.transactions-page__table-wrap{border-color:#e2e8f0;background:#fff}.transactions-page__table th{background:#f1f5f9;color:#64748b;border-bottom-color:#e2e8f0}.transactions-page__table td{border-bottom-color:#f1f5f9}.transactions-page__table tbody tr:hover td{background:#f8fafc}.transactions-page__row--expected td{background:#6366f114}.transactions-page__table tbody tr.transactions-page__row--expected:hover td{background:#6366f124}.transactions-page__badge--expected{background:#6366f126;color:#4f46e5}.transactions-page__account{color:#64748b}}@media(max-width:860px){.txn-filter__top{flex-direction:column}.txn-filter__tags-panel{width:100%;max-width:none}}.accounts-list{max-width:720px;margin:0 auto}.accounts-list__specials{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:2rem}.accounts-list__special-card{display:flex;align-items:flex-start;gap:1rem;padding:1rem 1.25rem;background:var(--card-bg, rgba(255, 255, 255, .05));border:1px solid var(--card-border, rgba(255, 255, 255, .08));border-radius:8px}.accounts-list__special-link{flex:1;text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:.25rem}.accounts-list__special-link:hover .accounts-list__special-name{color:#818cf8}.accounts-list__special-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted, #64748b)}.accounts-list__special-name{font-size:1rem;font-weight:600}.accounts-list__special-name--empty{color:var(--text-muted, #64748b);font-weight:400}.accounts-list__special-link--empty{cursor:default}.accounts-list__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.accounts-list__title{font-size:1.75rem;font-weight:700;margin:0}.accounts-list__add{padding:.5rem 1rem;font-size:.9rem;font-weight:500;color:#fff;background:#6366f1;border-radius:8px;text-decoration:none;transition:opacity .2s}.accounts-list__add:hover{opacity:.9}.accounts-list__msg,.accounts-list__empty,.accounts-list__error{margin:0;color:var(--text-muted, #64748b)}.accounts-list__error{color:#ef4444}.accounts-list__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.accounts-list__item{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:var(--card-bg, rgba(255, 255, 255, .05));border:1px solid var(--card-border, rgba(255, 255, 255, .08));border-radius:8px}.accounts-list__link{flex:1;text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:.25rem}.accounts-list__link:hover{color:#818cf8}.accounts-list__name{font-weight:600}.accounts-list__meta{font-size:.875rem;color:var(--text-muted, #64748b)}.accounts-list__edit{font-size:.875rem;color:#6366f1;text-decoration:none}.accounts-list__edit:hover{text-decoration:underline}@media(prefers-color-scheme:light){.accounts-list__item,.accounts-list__special-card{--card-bg: #fff;--card-border: #e2e8f0}}.account-form{max-width:480px;margin:0 auto}.account-form__title{font-size:1.75rem;font-weight:700;margin:0 0 1.5rem}.account-form__form{display:flex;flex-direction:column;gap:.75rem}.account-form__label{font-size:.875rem;font-weight:500;color:var(--text-soft, #94a3b8)}.account-form__label--row{display:flex;align-items:center;gap:.5rem;cursor:pointer}.account-form__input{padding:.6rem .75rem;font-size:1rem;border-radius:8px;border:1px solid var(--input-border, #334155);background:var(--input-bg, #1e293b);color:inherit}.account-form__input:focus{outline:none;border-color:#6366f1}.account-form__error{margin:0;font-size:.875rem;color:#ef4444}.account-form__actions{display:flex;gap:.75rem;margin-top:.5rem}.account-form__submit{padding:.6rem 1.25rem;font-size:.95rem;font-weight:600;border:none;border-radius:8px;background:#6366f1;color:#fff;cursor:pointer}.account-form__submit:hover:not(:disabled){opacity:.9}.account-form__submit:disabled{opacity:.7;cursor:not-allowed}.account-form__cancel{padding:.6rem 1rem;font-size:.95rem;border-radius:8px;border:1px solid var(--btn-border, #334155);background:transparent;color:var(--text-soft, #94a3b8);cursor:pointer}.account-form__cancel:hover{border-color:#6366f1;color:#818cf8}.account-form__rules-header{display:flex;align-items:center;justify-content:space-between}.account-form__rules-edit{font-size:.8rem;padding:.25rem .65rem;border-radius:6px;border:1px solid #6366f1;background:transparent;color:#818cf8;cursor:pointer}.account-form__rules-edit:hover{background:#6366f11a}.account-form__rules-empty{margin:0;font-size:.85rem;color:var(--text-soft, #64748b)}.account-form__rules-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.3rem}.account-form__rules-item{font-size:.82rem;padding:.35rem .6rem;background:var(--rule-bg, #1e293b);border-radius:6px;color:var(--text-soft, #94a3b8);border:1px solid var(--input-border, #334155);font-family:monospace}.rules-modal__overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:200}.rules-modal{background:var(--modal-bg, #0f172a);border:1px solid var(--input-border, #334155);border-radius:12px;padding:1.5rem;width:720px;max-width:calc(100vw - 2rem);max-height:calc(100vh - 4rem);overflow-y:auto;display:flex;flex-direction:column;gap:.75rem}.rules-modal__header{display:flex;align-items:center;justify-content:space-between}.rules-modal__title{font-size:1.15rem;font-weight:700;margin:0}.rules-modal__close{background:none;border:none;font-size:1rem;color:var(--text-soft, #94a3b8);cursor:pointer;padding:.25rem}.rules-modal__close:hover{color:#f1f5f9}.rules-modal__hint{margin:0;font-size:.82rem;color:var(--text-soft, #64748b)}.rules-modal__empty{margin:0;font-size:.85rem;color:var(--text-soft, #64748b);text-align:center;padding:.75rem 0}.rules-modal__row{display:flex;align-items:center;gap:.5rem}.rules-modal__row-num{font-size:.75rem;color:var(--text-soft, #64748b);min-width:1.2rem;text-align:right}.rules-modal__sel{padding:.4rem .5rem;font-size:.875rem;border-radius:6px;border:1px solid var(--input-border, #334155);background:var(--input-bg, #1e293b);color:inherit;flex-shrink:0}.rules-modal__sel--type{text-transform:capitalize}.rules-modal__input{flex:1;padding:.4rem .5rem;font-size:.875rem;border-radius:6px;border:1px solid var(--input-border, #334155);background:var(--input-bg, #1e293b);color:inherit;min-width:0}.rules-modal__input:focus,.rules-modal__sel:focus{outline:none;border-color:#6366f1}.rules-modal__arrow{color:var(--text-soft, #64748b);font-size:.9rem;flex-shrink:0}.rules-modal__del{background:none;border:none;color:#ef4444;cursor:pointer;font-size:.8rem;padding:.25rem .4rem;border-radius:4px;flex-shrink:0}.rules-modal__del:hover{background:#ef44441a}.rules-modal__add{align-self:flex-start;font-size:.85rem;padding:.35rem .75rem;border-radius:6px;border:1px dashed var(--input-border, #334155);background:transparent;color:var(--text-soft, #94a3b8);cursor:pointer}.rules-modal__add:hover{border-color:#6366f1;color:#818cf8}.rules-modal__footer{display:flex;gap:.75rem;padding-top:.25rem;border-top:1px solid var(--input-border, #334155)}.rules-modal__save{padding:.5rem 1.25rem;font-size:.95rem;font-weight:600;border:none;border-radius:8px;background:#6366f1;color:#fff;cursor:pointer}.rules-modal__save:hover{opacity:.9}.rules-modal__cancel{padding:.5rem 1rem;font-size:.95rem;border-radius:8px;border:1px solid var(--btn-border, #334155);background:transparent;color:var(--text-soft, #94a3b8);cursor:pointer}.rules-modal__cancel:hover{border-color:#6366f1;color:#818cf8}@media(prefers-color-scheme:light){.account-form__input{--input-border: #cbd5e1;--input-bg: #f8fafc}.account-form__cancel{--btn-border: #cbd5e1;color:#475569}.account-form__rules-item{--rule-bg: #f1f5f9}.rules-modal{--modal-bg: #ffffff;--input-border: #cbd5e1;--input-bg: #f8fafc}.rules-modal__cancel{--btn-border: #cbd5e1;color:#475569}}.account-detail{max-width:720px;margin:0 auto}.account-detail__head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:2rem}.account-detail__title{font-size:1.75rem;font-weight:700;margin:0 0 .25rem}.account-detail__meta{margin:0;font-size:.95rem;color:var(--text-muted, #64748b)}.account-detail__edit{font-size:.9rem;font-weight:500;color:#6366f1;text-decoration:none}.account-detail__edit:hover{text-decoration:underline}.account-detail__section{margin-bottom:2rem}.account-detail__section-title{font-size:1.1rem;font-weight:600;margin:0 0 1rem}.account-detail__upload{margin-bottom:1.5rem}.account-detail__upload-actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.account-detail__import-all-btn{padding:.5rem 1rem;font-size:.9rem;font-weight:500;border-radius:8px;border:1px solid #334155;background:#1e293b;color:#e2e8f0;cursor:pointer}.account-detail__import-all-btn:hover:not(:disabled){border-color:#6366f1;color:#c7d2fe}.account-detail__import-all-btn:disabled{opacity:.6;cursor:not-allowed}.account-detail__upload-input-hidden{position:absolute;width:.1px;height:.1px;opacity:0;overflow:hidden;z-index:-1}.account-detail__upload-btn{padding:.5rem 1rem;font-size:.9rem;font-weight:600;border:none;border-radius:8px;background:#6366f1;color:#fff;cursor:pointer}.account-detail__upload-btn:hover:not(:disabled){opacity:.9}.account-detail__upload-btn:disabled{opacity:.6;cursor:not-allowed}.account-detail__download-btn{margin-left:auto;padding:.5rem 1rem;font-size:.9rem;font-weight:500;border-radius:8px;border:1px solid #475569;background:transparent;color:#cbd5e1;cursor:pointer}.account-detail__download-btn:hover:not(:disabled){border-color:#6366f1;color:#e0e7ff}.account-detail__download-btn:disabled{opacity:.6;cursor:not-allowed}.account-detail__upload-error{margin:.5rem 0 0;font-size:.875rem;color:#ef4444}.account-detail__modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.account-detail__modal{background:var(--card-bg, #1e293b);border:1px solid var(--card-border, #334155);border-radius:12px;max-width:480px;width:100%;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 40px #0006}.account-detail__modal-head{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--card-border, #334155)}.account-detail__modal-title{margin:0;font-size:1.1rem;font-weight:600}.account-detail__modal-close{width:32px;height:32px;padding:0;border:none;border-radius:6px;background:transparent;color:var(--text-soft, #94a3b8);font-size:1.5rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.account-detail__modal-close:hover{background:#ffffff14;color:inherit}.account-detail__modal-list{list-style:none;margin:0;padding:.75rem 1.25rem;overflow-y:auto}.account-detail__modal-row{display:grid;grid-template-columns:1fr minmax(0,1fr) auto;gap:.75rem;align-items:center;padding:.6rem 0;border-bottom:1px solid var(--card-border, rgba(255, 255, 255, .06))}.account-detail__modal-row:last-child{border-bottom:none}.account-detail__modal-row-file{font-size:.875rem;color:var(--text-soft, #94a3b8);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-detail__modal-input{padding:.45rem .6rem;font-size:.9rem;border-radius:6px;border:1px solid var(--input-border, #334155);background:var(--input-bg, #0f172a);color:inherit}.account-detail__modal-input:focus{outline:none;border-color:#6366f1}.account-detail__modal-input:disabled{opacity:.7;cursor:not-allowed}.account-detail__modal-status{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0}.account-detail__modal-spinner{width:18px;height:18px;border:2px solid rgba(99,102,241,.3);border-top-color:#6366f1;border-radius:50%;animation:account-detail-spin .7s linear infinite}@keyframes account-detail-spin{to{transform:rotate(360deg)}}.account-detail__modal-check{color:#4ade80;font-size:1.1rem;font-weight:700}.account-detail__modal-error{color:#f87171;font-size:1rem;cursor:help}.account-detail__modal-row--error .account-detail__modal-input{border-color:#f8717180}.account-detail__modal-actions{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.25rem;border-top:1px solid var(--card-border, #334155)}.account-detail__modal-cancel{padding:.5rem 1rem;font-size:.9rem;border-radius:8px;border:1px solid var(--card-border, #475569);background:transparent;color:var(--text-soft, #94a3b8);cursor:pointer;transition:background .15s,color .15s}.account-detail__modal-cancel:hover{background:#ffffff14;color:inherit}.account-detail__modal-upload{padding:.5rem 1rem;font-size:.9rem;font-weight:600;border-radius:8px;border:none;background:#6366f1;color:#fff;cursor:pointer;transition:opacity .15s}.account-detail__modal-upload:hover:not(:disabled){opacity:.9}.account-detail__modal-upload:disabled{opacity:.5;cursor:not-allowed}.account-detail__empty{margin:0;color:var(--text-muted, #64748b);font-size:.95rem}.account-detail__table-wrap{overflow-x:auto;border:1px solid var(--card-border, rgba(255, 255, 255, .08));border-radius:8px;background:var(--card-bg, rgba(255, 255, 255, .03))}.account-detail__table{width:100%;border-collapse:collapse;font-size:.9rem}.account-detail__table th,.account-detail__table td{padding:.6rem .75rem;text-align:left;border-bottom:1px solid var(--card-border, rgba(255, 255, 255, .08))}.account-detail__table th{font-weight:600;color:var(--text-soft, #94a3b8);background:#0003}.account-detail__table tbody tr:last-child td{border-bottom:none}.account-detail__table tbody tr:hover{background:#ffffff0a}.account-detail__cell-filename{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-detail__back{margin:0;margin-top:1.5rem}.account-detail__back a{color:#6366f1;text-decoration:none;font-size:.9rem}.account-detail__back a:hover{text-decoration:underline}.account-detail__error{color:#ef4444;margin:0 0 .5rem}.account-detail__import-btn{padding:.25rem .75rem;font-size:.8rem;border-radius:6px;border:1px solid #6366f1;background:transparent;color:#6366f1;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s}.account-detail__import-btn:hover:not(:disabled){background:#6366f1;color:#fff}.account-detail__import-btn:disabled{cursor:not-allowed;opacity:.8}.account-detail__import-btn .account-detail__import-spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(99,102,241,.3);border-top-color:#6366f1;border-radius:50%;animation:account-detail-spin .7s linear infinite;vertical-align:middle}.account-detail__actions-col{width:1%;white-space:nowrap}.account-detail__actions-cell{vertical-align:middle}.account-detail__row-actions{display:flex;align-items:center;gap:.5rem;position:relative}.account-detail__menu-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:6px;background:transparent;color:var(--text-soft, #94a3b8);cursor:pointer;transition:background .15s,color .15s}.account-detail__menu-btn:hover:not(:disabled){background:#ffffff14;color:inherit}.account-detail__menu-btn:disabled{opacity:.6;cursor:not-allowed}.account-detail__menu-dots{font-size:1.25rem;line-height:1;letter-spacing:.02em}.account-detail__menu{position:absolute;top:100%;right:0;margin-top:.25rem;min-width:220px;padding:.25rem 0;border-radius:8px;border:1px solid var(--card-border, rgba(255, 255, 255, .12));background:var(--card-bg, #1e293b);box-shadow:0 4px 12px #0000004d;z-index:10}.account-detail__menu-item{display:block;width:100%;padding:.5rem 1rem;text-align:left;font-size:.9rem;border:none;background:none;color:inherit;cursor:pointer;transition:background .15s}.account-detail__menu-item:hover{background:#ffffff14}.account-detail__menu-item--danger{color:#f87171}.account-detail__menu-item--danger:hover{background:#f8717126}@media(prefers-color-scheme:light){.account-detail__download-btn{border-color:#cbd5e1;color:#334155}.account-detail__download-btn:hover:not(:disabled){border-color:#6366f1;color:#4f46e5}.account-detail__import-all-btn{background:#f8fafc;border-color:#e2e8f0;color:#475569}.account-detail__import-all-btn:hover:not(:disabled){border-color:#6366f1;color:#4f46e5}.account-detail__table-wrap{--card-bg: #fff;--card-border: #e2e8f0}.account-detail__table th{background:#f1f5f9}.account-detail__table tbody tr:hover{background:#f8fafc}.account-detail__menu-btn:hover:not(:disabled){background:#0000000f}.account-detail__menu{--card-bg: #fff;--card-border: #e2e8f0;box-shadow:0 4px 12px #0000001f}.account-detail__menu-item:hover{background:#f1f5f9}.account-detail__menu-item--danger:hover{background:#fef2f2}.account-detail__modal{--card-bg: #fff;--card-border: #e2e8f0;box-shadow:0 20px 40px #00000026}.account-detail__modal-input{--input-border: #cbd5e1;--input-bg: #f8fafc}.account-detail__modal-cancel:hover{background:#f1f5f9;color:#1e293b}}.stmt-import{max-width:1000px;margin:0 auto}.stmt-import--review{max-width:none;margin:0}.stmt-import__head{display:flex;align-items:center;gap:1.5rem;margin-bottom:1.75rem;flex-wrap:wrap}.stmt-import__back{color:#94a3b8;text-decoration:none;font-size:.9rem}.stmt-import__back:hover{color:#e2e8f0}.stmt-import__title{font-size:1.6rem;font-weight:600;margin:0;flex:1}.stmt-import__head-actions{display:flex;align-items:center;gap:.5rem;margin-left:auto}.stmt-import__review-btn{padding:.4rem 1rem;font-size:.875rem;font-weight:600;border-radius:8px;border:none;background:#6366f1;color:#fff;cursor:pointer;transition:opacity .15s;white-space:nowrap}.stmt-import__review-btn:hover:not(:disabled){opacity:.88}.stmt-import__review-btn:disabled{opacity:.45;cursor:not-allowed}.stmt-import__menu-wrap{position:relative}.stmt-import__menu-trigger{padding:.3rem .65rem;border-radius:8px;border:1px solid var(--card-border, #1e293b);background:transparent;color:var(--text-soft, #94a3b8);font-size:1.1rem;letter-spacing:.05em;cursor:pointer;line-height:1;transition:border-color .15s,color .15s}.stmt-import__menu-trigger:hover{border-color:#6366f1;color:#e2e8f0}.stmt-import__menu{position:absolute;top:calc(100% + 6px);right:0;background:var(--menu-bg, #1e293b);border:1px solid var(--card-border, #334155);border-radius:8px;box-shadow:0 8px 24px #0006;min-width:160px;z-index:50;overflow:hidden}.stmt-import__menu-item{display:block;width:100%;text-align:left;padding:.6rem 1rem;font-size:.9rem;background:none;border:none;color:inherit;cursor:pointer;transition:background .12s}.stmt-import__menu-item:hover:not(:disabled){background:#ffffff0f}.stmt-import__menu-item:disabled{opacity:.4;cursor:not-allowed}.stmt-import__menu-item--danger{color:#f87171}.stmt-import__menu-item--danger:hover:not(:disabled){background:#f871711a}.stmt-import__loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;min-height:200px;padding:3rem 0;color:#94a3b8}.stmt-import__spinner{flex-shrink:0;width:40px;height:40px;border:3px solid rgba(99,102,241,.25);border-top-color:#6366f1;border-radius:50%;animation:stmt-import-spin .8s linear infinite}@keyframes stmt-import-spin{to{transform:rotate(360deg)}}.stmt-import__error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:10px;padding:1rem 1.25rem;color:#fca5a5;font-size:.95rem}.stmt-import__empty{color:#64748b;font-size:.95rem}.stmt-import__count{color:#94a3b8;font-size:.9rem;margin:0}.stmt-import__table-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.stmt-import__table-actions{display:flex;gap:.5rem}.stmt-import__edit-btn,.stmt-import__cancel-btn{padding:.4rem .9rem;font-size:.875rem;border-radius:8px;border:1px solid var(--card-border, #475569);background:transparent;color:var(--text-soft, #94a3b8);cursor:pointer;transition:background .15s,color .15s}.stmt-import__edit-btn:hover,.stmt-import__cancel-btn:hover:not(:disabled){background:#ffffff14;color:inherit}.stmt-import__save-btn{padding:.4rem .9rem;font-size:.875rem;font-weight:600;border-radius:8px;border:none;background:#6366f1;color:#fff;cursor:pointer;transition:opacity .15s}.stmt-import__save-btn:hover:not(:disabled){opacity:.9}.stmt-import__save-btn:disabled,.stmt-import__cancel-btn:disabled{opacity:.6;cursor:not-allowed}.stmt-import__table-wrap{border-radius:10px;border:1px solid var(--card-border, #334155);overflow:hidden;background:var(--card-bg, #1e293b)}.stmt-import__table{width:100%;border-collapse:collapse;font-size:.9rem}.stmt-import__table th{padding:.6rem 1rem;text-align:left;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:#94a3b8;background:var(--th-bg, #162032);border-bottom:1px solid var(--card-border, #334155)}.stmt-import__table td{padding:.55rem 1rem;border-bottom:1px solid var(--card-border, #1e293b);color:#e2e8f0}.stmt-import__table tbody tr:last-child td{border-bottom:none}.stmt-import__table tbody tr:hover td{background:#ffffff08}.stmt-import__amount-col{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.stmt-import__date-col{white-space:nowrap}.stmt-import__neg{color:#f87171}.stmt-import__pos{color:#4ade80}.stmt-import__del-col{width:2.5rem;padding:.35rem .5rem!important;vertical-align:middle;text-align:center}.stmt-import__row-action{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:6px;background:transparent;color:var(--text-soft, #94a3b8);cursor:pointer;font-size:1rem;transition:background .15s,color .15s}.stmt-import__row-action:hover{background:#ffffff1a;color:#f87171}.stmt-import__row-action:hover .stmt-import__undo-icon{color:#4ade80}.stmt-import__del-icon,.stmt-import__undo-icon{line-height:1}.stmt-import__row--edited td{background:#6366f11f}.stmt-import__row--edited td .stmt-import__input{background:#6366f114}.stmt-import__row--deleted td{opacity:.5;background:#00000026}.stmt-import__row--deleted td .stmt-import__input{background:#0003}.stmt-import__input{width:100%;min-width:0;padding:.35rem .5rem;font-size:.875rem;border:1px solid var(--input-border, #475569);border-radius:6px;background:var(--input-bg, #0f172a);color:inherit}.stmt-import__input:focus{outline:none;border-color:#6366f1}.stmt-import__input:disabled{cursor:not-allowed;opacity:.8}.stmt-import__input--full{min-width:160px}.stmt-import__amount-input{text-align:right;font-variant-numeric:tabular-nums;max-width:7rem}.stmt-import__type-col{white-space:nowrap;width:8rem}.stmt-import__type-select{min-width:6.5rem;cursor:pointer}.stmt-import__type-badge-cell{vertical-align:middle}.stmt-import__type-badge{display:inline-block;padding:.2rem .55rem;font-size:.75rem;font-weight:600;border-radius:999px;text-transform:capitalize;letter-spacing:.02em}.stmt-import__type-badge--income{background:#4ade8026;color:#4ade80}.stmt-import__type-badge--transfer{background:#94a3b826;color:#94a3b8}.stmt-import__control-bar{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 2rem;background:var(--header-bg, rgba(15, 23, 42, .96));border-bottom:1px solid var(--header-border, rgba(255, 255, 255, .08));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.stmt-import__control-left,.stmt-import__control-right{flex:1;display:flex;align-items:center;gap:.5rem;min-width:0}.stmt-import__control-left{justify-content:flex-start}.stmt-import__control-right{justify-content:flex-end}.stmt-import__tabs{display:flex;align-items:center;gap:.25rem;flex-shrink:0}.stmt-import__tab{padding:.4rem .85rem;font-size:.875rem;font-weight:500;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--text-soft, #94a3b8);cursor:pointer;transition:background .15s,color .15s}.stmt-import__tab:hover:not(:disabled){background:#ffffff0f;color:#e2e8f0}.stmt-import__tab--active{background:#6366f12e;color:#818cf8;border-color:#6366f14d}.stmt-import__tab:disabled{opacity:.35;cursor:not-allowed}.stmt-import__ctrl-btn{padding:.4rem .9rem;font-size:.875rem;font-weight:500;border-radius:8px;border:1px solid var(--btn-border, #334155);background:transparent;color:var(--text-soft, #94a3b8);cursor:pointer;white-space:nowrap;transition:border-color .15s,color .15s}.stmt-import__ctrl-btn:hover:not(:disabled){color:#c7d2fe;border-color:#6366f1}.stmt-import__ctrl-btn--primary{background:#6366f1;border-color:#6366f1;color:#fff;font-weight:600}.stmt-import__ctrl-btn--primary:hover:not(:disabled){opacity:.88;color:#fff;border-color:#6366f1}.stmt-import__ctrl-btn:disabled{opacity:.45;cursor:not-allowed}.stmt-import__review-body{padding:5rem 3rem 2rem;max-width:1280px;margin:0 auto}.stmt-import__dirty-bar{display:flex;gap:.5rem}.stmt-import__tab-actions{display:flex;gap:.5rem;margin-bottom:.75rem}.stmt-import__row--rule-diff td{background:#eab30812}.stmt-import__row--rule-diff:hover td{background:#eab3081f!important}.stmt-import__tag-select{position:relative}.stmt-import__tag-trigger{display:flex;align-items:center;gap:.35rem;padding:.35rem .5rem;font-size:.875rem;border:1px solid var(--input-border, #475569);border-radius:6px;background:var(--input-bg, #0f172a);color:inherit;cursor:pointer;max-width:14rem;white-space:nowrap}.stmt-import__tag-trigger:hover:not(:disabled){border-color:#6366f1}.stmt-import__tag-trigger:disabled{opacity:.6;cursor:not-allowed}.stmt-import__tag-label{overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.stmt-import__tag-arrow{flex-shrink:0;font-size:.7rem;opacity:.6}.stmt-import__tag-dropdown{position:absolute;top:calc(100% + 4px);left:0;min-width:160px;max-height:200px;overflow-y:auto;background:var(--menu-bg, #1e293b);border:1px solid var(--card-border, #334155);border-radius:8px;box-shadow:0 8px 24px #0006;z-index:100;padding:.25rem 0}.stmt-import__tag-option{display:flex;align-items:center;gap:.5rem;padding:.4rem .75rem;font-size:.875rem;cursor:pointer}.stmt-import__tag-option:hover{background:#ffffff0f}.stmt-import__tag-empty{padding:.5rem .75rem;font-size:.85rem;color:#64748b}.stmt-import__modal-overlay{position:fixed;inset:0;z-index:300;background:#000000a6;display:flex;align-items:center;justify-content:center;padding:1.5rem}.stmt-import__modal{background:var(--modal-bg, #1e293b);border:1px solid var(--card-border, #334155);border-radius:12px;box-shadow:0 16px 48px #00000080;padding:1.75rem 2rem;width:100%;max-width:600px;max-height:80vh;overflow-y:auto}.stmt-import__modal--sm{max-width:380px}.stmt-import__modal-title{font-size:1.25rem;font-weight:700;margin:0 0 1.25rem}.stmt-import__modal-section{margin-bottom:1.25rem}.stmt-import__modal-section-title{font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;margin:0 0 .4rem}.stmt-import__modal-section-note{font-size:.875rem;color:#94a3b8;margin:0 0 .75rem}.stmt-import__modal-table{width:100%;border-collapse:collapse;font-size:.875rem}.stmt-import__modal-table th{padding:.4rem .75rem;text-align:left;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:#64748b;border-bottom:1px solid var(--card-border, #334155)}.stmt-import__modal-table td{padding:.4rem .75rem;border-bottom:1px solid rgba(51,65,85,.5)}.stmt-import__modal-table tbody tr:last-child td{border-bottom:none}.stmt-import__modal-empty{color:#64748b;font-size:.9rem;margin:0 0 1.25rem}.stmt-import__modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1.5rem}.stmt-import__modal-cancel{padding:.45rem 1rem;font-size:.875rem;border-radius:8px;border:1px solid var(--card-border, #475569);background:transparent;color:var(--text-soft, #94a3b8);cursor:pointer;transition:background .15s,color .15s}.stmt-import__modal-cancel:hover:not(:disabled){background:#ffffff0f;color:#e2e8f0}.stmt-import__modal-cancel:disabled{opacity:.5;cursor:not-allowed}.stmt-import__modal-ok{padding:.45rem 1rem;font-size:.875rem;font-weight:600;border-radius:8px;border:none;background:#6366f1;color:#fff;cursor:pointer;transition:opacity .15s}.stmt-import__modal-ok:hover:not(:disabled){opacity:.88}.stmt-import__modal-ok:disabled{opacity:.5;cursor:not-allowed}.stmt-import__modal-ok--danger{background:#ef4444}.stmt-import__confirm-msg{font-size:.95rem;color:#e2e8f0;margin:0 0 .5rem;line-height:1.5}.stmt-import__expected-group-header{text-align:center!important;font-size:.7rem!important;letter-spacing:.06em!important;padding:.35rem .75rem!important;border-bottom:none!important}.stmt-import__expected-group-header--real{background:#6366f114!important;color:#818cf8!important}.stmt-import__expected-group-header--expected{background:#10b98112!important;color:#34d399!important}.stmt-import__expected-divider-col{width:2px;padding:0!important;background:var(--card-border, #334155)!important;border-left:2px solid var(--card-border, #334155)}.stmt-import__expected-assoc-col{white-space:nowrap;width:14rem}.stmt-import__expected-assoc-select{min-width:8rem;max-width:14rem;cursor:pointer;font-size:.8rem!important}.stmt-import__row--expected-matched td{background:#10b9810d}.stmt-import__row--expected-matched:hover td{background:#10b9811a!important}.stmt-import__row--expected-only td{background:#fbbf240d}.stmt-import__row--expected-only:hover td{background:#fbbf2417!important}.stmt-import__row--real-only td{background:transparent}@media(prefers-color-scheme:light){.stmt-import__menu-trigger{--card-border: #e2e8f0;color:#475569}.stmt-import__menu-trigger:hover{color:#1e293b}.stmt-import__menu{--menu-bg: #ffffff;--card-border: #e2e8f0;box-shadow:0 8px 24px #0000001f}.stmt-import__menu-item{color:#1e293b}.stmt-import__menu-item:hover:not(:disabled){background:#0000000a}.stmt-import__back{color:#64748b}.stmt-import__back:hover{color:#1e293b}.stmt-import__table-wrap{--card-bg: #fff;--card-border: #e2e8f0;--th-bg: #f1f5f9}.stmt-import__table th{color:#64748b;border-bottom-color:#e2e8f0}.stmt-import__table td{color:#1e293b;border-bottom-color:#f1f5f9}.stmt-import__table tbody tr:hover td{background:#f8fafc}.stmt-import__loading{color:#64748b}.stmt-import__edit-btn,.stmt-import__cancel-btn{border-color:#cbd5e1;color:#64748b}.stmt-import__edit-btn:hover,.stmt-import__cancel-btn:hover:not(:disabled){background:#f1f5f9;color:#1e293b}.stmt-import__row--edited td{background:#6366f114}.stmt-import__row--edited td .stmt-import__input{background:#6366f10d}.stmt-import__row--deleted td{background:#f1f5f9}.stmt-import__row--deleted td .stmt-import__input{background:#e2e8f0}.stmt-import__input{--input-border: #cbd5e1;--input-bg: #f8fafc}.stmt-import__type-badge--income{background:#15803d1a;color:#15803d}.stmt-import__type-badge--transfer{background:#64748b1f;color:#475569}.stmt-import__control-bar{--header-bg: #fff;--header-border: #e2e8f0;background:#fffffff5}.stmt-import__tab{color:#475569}.stmt-import__tab:hover:not(:disabled){color:#1e293b;background:#f1f5f9}.stmt-import__tab--active{color:#4f46e5;background:#6366f11a;border-color:#6366f140}.stmt-import__ctrl-btn{--btn-border: #cbd5e1;color:#475569}.stmt-import__ctrl-btn:hover:not(:disabled){color:#4f46e5;border-color:#6366f1}.stmt-import__tag-trigger{--input-border: #cbd5e1;--input-bg: #f8fafc}.stmt-import__tag-dropdown{--menu-bg: #fff;--card-border: #e2e8f0;box-shadow:0 8px 24px #0000001f}.stmt-import__tag-option:hover{background:#f1f5f9}.stmt-import__modal{--modal-bg: #fff;--card-border: #e2e8f0;box-shadow:0 16px 48px #00000026}.stmt-import__modal-title{color:#0f172a}.stmt-import__modal-table td{color:#1e293b}.stmt-import__modal-cancel{--card-border: #cbd5e1;color:#475569}.stmt-import__modal-cancel:hover:not(:disabled){background:#f1f5f9;color:#1e293b}.stmt-import__row--rule-diff td{background:#eab3080f}.stmt-import__confirm-msg{color:#1e293b}.stmt-import__expected-group-header--real{background:#6366f10f!important;color:#4f46e5!important}.stmt-import__expected-group-header--expected{background:#10b9810f!important;color:#059669!important}.stmt-import__expected-divider-col{background:#e2e8f0!important;border-left-color:#e2e8f0!important}.stmt-import__row--expected-matched td{background:#10b9810a}.stmt-import__row--expected-matched:hover td{background:#10b98114!important}.stmt-import__row--expected-only td{background:#eab3080d}.stmt-import__row--expected-only:hover td{background:#eab30817!important}}.account{max-width:520px;margin:0 auto;padding:2rem 0}.account__card{padding:1.5rem;background:var(--card-bg, rgba(255, 255, 255, .05));border-radius:12px;border:1px solid var(--card-border, rgba(255, 255, 255, .08))}.account__title{font-size:1.5rem;font-weight:700;margin:0 0 1.25rem}.account__dl{margin:0 0 1.5rem}.account__dt{font-size:.8rem;font-weight:500;color:var(--text-muted, #64748b);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.account__dd{font-size:1.1rem;margin:0;color:var(--text-soft, #94a3b8)}.account__actions{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;padding-top:1rem;border-top:1px solid var(--card-border, rgba(255, 255, 255, .08))}.account__link{font-size:.9rem;color:#6366f1;text-decoration:none}.account__link:hover{text-decoration:underline}.account__logout{padding:.5rem 1rem;font-size:.9rem;border-radius:8px;border:1px solid var(--btn-border, #475569);background:transparent;color:var(--text-soft, #94a3b8);cursor:pointer}.account__logout:hover{border-color:#ef4444;color:#f87171}.account__loading{color:var(--text-muted, #64748b);margin:0}.account__section{margin:1.5rem 0;padding-top:1.5rem;border-top:1px solid var(--card-border, rgba(255, 255, 255, .08))}.account__section-title{font-size:1.1rem;font-weight:600;margin:0 0 .35rem}.account__section-hint{font-size:.85rem;color:var(--text-muted, #64748b);margin:0 0 1rem}.account__tag-form{display:flex;gap:.5rem;margin-bottom:1rem}.account__input{flex:1;padding:.5rem .75rem;font-size:1rem;border-radius:8px;border:1px solid var(--input-border, #334155);background:var(--input-bg, #1e293b);color:inherit}.account__input:focus{outline:none;border-color:#6366f1}.account__btn{padding:.5rem .9rem;font-size:.9rem;border-radius:8px;cursor:pointer;font-weight:500}.account__btn--primary{border:none;background:#6366f1;color:#fff}.account__btn--primary:hover:not(:disabled){opacity:.9}.account__btn--secondary{border:1px solid var(--btn-border, #475569);background:transparent;color:var(--text-soft, #94a3b8)}.account__btn--secondary:hover:not(:disabled){border-color:#6366f1;color:#818cf8}.account__btn--danger{border:1px solid rgba(239,68,68,.5);background:transparent;color:#f87171}.account__btn--danger:hover:not(:disabled){background:#ef44441a}.account__btn--small{padding:.25rem .5rem;font-size:.8rem}.account__btn:disabled{opacity:.6;cursor:not-allowed}.account__empty{font-size:.9rem;color:var(--text-muted, #64748b);margin:0}.account__tag-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.5rem}.account__tag-item{display:flex;align-items:center;gap:.5rem;padding:.4rem .6rem;background:var(--tag-bg, rgba(30, 41, 59, .5));border-radius:8px;border:1px solid var(--input-border, #334155)}.account__tag-name{flex:1;font-size:.95rem}.account__tag-edit-input{flex:1;min-width:0}.account__section--danger{border-color:#ef444440}.account__section--danger .account__section-title{color:#f87171}.account__delete-form{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}.account__delete-label{font-size:.9rem;color:var(--text-muted, #64748b)}.account__delete-input{max-width:12rem}@media(prefers-color-scheme:light){.account__input{--input-border: #cbd5e1;--input-bg: #f8fafc}.account__tag-item{--tag-bg: #f1f5f9}.account__btn--secondary{--btn-border: #cbd5e1;color:#475569}.account__card{--card-bg: #fff;--card-border: #e2e8f0}.account__dd{color:#334155}.account__logout{--btn-border: #cbd5e1;color:#475569}.account__logout:hover{color:#dc2626}}body.add-expense-page{min-width:0;overflow-x:hidden}#root.add-expense-page-root{min-width:0}.add-expense{width:100%;max-width:420px;margin:0 auto;padding:1rem max(1rem,env(safe-area-inset-right)) max(2rem,calc(env(safe-area-inset-bottom) + 1.5rem)) max(1rem,env(safe-area-inset-left));box-sizing:border-box;-webkit-tap-highlight-color:transparent}.add-expense__title{font-size:1.5rem;font-weight:700;margin:0 0 1.5rem}.add-expense__overview-link{display:inline-flex;align-items:center;margin:0 0 .75rem;color:var(--text-soft, #94a3b8);text-decoration:none;font-size:.95rem;font-weight:500;min-height:44px;touch-action:manipulation}.add-expense__overview-link:hover{color:#c7d2fe}.add-expense__form{display:flex;flex-direction:column;gap:1.25rem}.add-expense__label{display:flex;flex-direction:column;gap:.35rem}.add-expense__label--checkbox{flex-direction:row;align-items:center;gap:.5rem;cursor:pointer;font-size:.875rem;font-weight:500}.add-expense__label-text{font-size:.875rem;font-weight:500;color:var(--text-soft, #94a3b8)}.add-expense__hint{font-size:.8rem;font-weight:400;color:#64748b}.add-expense__row-date-account{display:flex;flex-direction:column;gap:1rem;align-items:stretch}.add-expense__row-date-account .add-expense__label--compact{flex:none;min-width:0}@media(min-width:420px){.add-expense__row-date-account{flex-direction:row;align-items:flex-start}.add-expense__row-date-account .add-expense__label--compact{flex:1}}.add-expense__select--compact{min-height:48px;padding:.6rem .75rem;font-size:.9rem}.add-expense__date-row{display:flex;align-items:center;gap:.5rem}.add-expense__today-btn{padding:.6rem 1rem;font-size:.9rem;font-weight:500;border-radius:10px;border:1px solid #334155;background:#1e293b;color:#e2e8f0;cursor:pointer;flex-shrink:0;min-height:48px;touch-action:manipulation}.add-expense__today-btn:hover{border-color:#6366f1;color:#c7d2fe}.add-expense__date-picker{flex:1;min-width:0}.add-expense__date-picker .dp-trigger{min-height:48px;width:100%;box-sizing:border-box}.add-expense__amount-row{display:flex;gap:.5rem}.add-expense__amount-row .add-expense__amount-input{flex:1;min-width:5rem;width:auto}.add-expense__amount-row .add-expense__currency-select{width:5rem;flex-shrink:0}.add-expense__cad-hint{font-size:.85rem;color:var(--text-soft, #94a3b8);margin:.35rem 0 0}.add-expense__input,.add-expense__select{width:100%;padding:.85rem 1rem;font-size:16px;border-radius:10px;border:1px solid #334155;background:#1e293b;color:#e2e8f0;box-sizing:border-box;min-height:48px;-webkit-appearance:none;appearance:none}.add-expense__input::placeholder{color:#64748b}.add-expense__input:focus,.add-expense__select:focus{outline:none;border-color:#6366f1}.add-expense__tags{display:flex;flex-wrap:wrap;gap:.5rem}.add-expense__tag{padding:.6rem 1rem;font-size:.875rem;border-radius:999px;border:1px solid #334155;background:#1e293b;color:#94a3b8;cursor:pointer;min-height:44px;touch-action:manipulation;transition:border-color .15s,background .15s,color .15s}.add-expense__tag--on{border-color:#6366f1;background:#6366f133;color:#c7d2fe}.add-expense__msg{font-size:.9rem;margin:0;color:#4ade80}.add-expense__msg--err{color:#f87171}.add-expense__submit{margin-top:.5rem;padding:1rem 1.25rem;font-size:1rem;font-weight:600;border-radius:10px;border:none;background:#6366f1;color:#fff;cursor:pointer;min-height:52px;width:100%;touch-action:manipulation;transition:background .15s}.add-expense__submit:hover:not(:disabled){background:#4f46e5}.add-expense__submit:disabled{opacity:.5;cursor:not-allowed}@media(min-width:480px){.add-expense{padding:1.5rem 1.5rem 2rem}.add-expense__input,.add-expense__select{font-size:1rem}}@media(prefers-color-scheme:light){.add-expense__overview-link{color:#475569}.add-expense__overview-link:hover{color:#4f46e5}.add-expense__input,.add-expense__select{border-color:#e2e8f0;background:#fff;color:#1e293b}.add-expense__today-btn{border-color:#e2e8f0;background:#f8fafc;color:#475569}.add-expense__today-btn:hover{border-color:#6366f1;color:#4f46e5}.add-expense__input::placeholder{color:#94a3b8}.add-expense__tag{border-color:#e2e8f0;background:#f8fafc;color:#475569}.add-expense__tag--on{border-color:#6366f1;background:#eef2ff;color:#4f46e5}}.taxes-page{max-width:1400px;margin:0 auto;padding:0 .5rem}.taxes-page__header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.taxes-page__title{font-size:1.75rem;font-weight:700;margin:0;flex:1}.taxes-page__recalc-btn{padding:.4rem 1rem;border-radius:6px;border:1px solid #334155;background:#1e293b;color:#e2e8f0;font-size:.875rem;cursor:pointer;white-space:nowrap;transition:border-color .15s,background .15s}.taxes-page__recalc-btn:hover:not(:disabled){border-color:#6366f1;background:#131f35}.taxes-page__recalc-btn:disabled{opacity:.5;cursor:not-allowed}.taxes-page__recalc-msg{font-size:.875rem;color:#94a3b8;margin:0 0 .75rem}.taxes-page__muted{color:#64748b;margin:0}.taxes-page__error{color:#f87171;margin:0}.taxes-page__controls{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.taxes-page__year-selector{display:flex;gap:.5rem;flex-wrap:wrap}.taxes-page__column-toggles{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}.taxes-page__toggle{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.875rem;color:#94a3b8;-webkit-user-select:none;user-select:none}.taxes-page__toggle input{width:1rem;height:1rem;accent-color:#6366f1;cursor:pointer}.taxes-page__toggle-label{white-space:nowrap}.taxes-page__year-btn{padding:.3rem .9rem;border-radius:6px;border:1px solid #334155;background:#1e293b;color:#94a3b8;font-size:.875rem;cursor:pointer;transition:border-color .15s,color .15s}.taxes-page__year-btn:hover{border-color:#6366f1;color:#e2e8f0}.taxes-page__year-btn--active{border-color:#6366f1;background:#1a1f3a;color:#e2e8f0;font-weight:600}.taxes-page__table-wrap{border-radius:8px;border:1px solid #334155;overflow-x:auto;background:#1e293b}.taxes-page__table{width:100%;border-collapse:collapse;font-size:.9rem}.taxes-page__table th{padding:.5rem .75rem;text-align:left;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:#94a3b8;background:#0f172a;border-bottom:1px solid #334155}.taxes-page__table th.taxes-page__num,.taxes-page__table td.taxes-page__num{text-align:right;font-variant-numeric:tabular-nums}.taxes-page__table td{padding:.45rem .75rem;border-bottom:1px solid #1e293b}.taxes-page__table tbody tr:last-child td{border-bottom:none}.taxes-page__table tbody tr:hover td{background:#ffffff0a}.taxes-page__table tfoot td{padding:.55rem .75rem;border-top:2px solid #334155;font-weight:600}.taxes-page__ytd-row td{background:#0f172a}.taxes-page__pos{color:#4ade80}.taxes-page__neg{color:#f87171}.taxes-page__taxable{color:#a78bfa}.taxes-page__owed{color:#fb923c}.taxes-page__section-ytd,.taxes-page__section-budget{border-left:2px solid #334155}.taxes-page__table th.taxes-page__section-ytd,.taxes-page__table th.taxes-page__section-budget{border-left:2px solid #334155;background:#0f172a}@media(prefers-color-scheme:light){.taxes-page__recalc-btn{border-color:#e2e8f0;background:#f8fafc;color:#1e293b}.taxes-page__recalc-btn:hover:not(:disabled){background:#f1f5f9}.taxes-page__year-btn{border-color:#e2e8f0;background:#f8fafc;color:#64748b}.taxes-page__year-btn--active{background:#eef2ff;color:#1e293b}.taxes-page__toggle{color:#64748b}.taxes-page__table-wrap{border-color:#e2e8f0;background:#fff}.taxes-page__table th{background:#f1f5f9;color:#64748b;border-bottom-color:#e2e8f0}.taxes-page__table th.taxes-page__section-ytd,.taxes-page__table th.taxes-page__section-budget{border-left-color:#cbd5e1;background:#e2e8f0}.taxes-page__section-ytd,.taxes-page__section-budget{border-left-color:#e2e8f0}.taxes-page__table td{border-bottom-color:#f1f5f9}.taxes-page__table tbody tr:hover td{background:#f8fafc}.taxes-page__table tfoot td{border-top-color:#e2e8f0}.taxes-page__ytd-row td{background:#f1f5f9}}.expected-transactions{max-width:720px;margin:0 auto}.expected-transactions__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.expected-transactions__title{font-size:1.75rem;font-weight:700;margin:0}.expected-transactions__settings{font-size:.875rem;color:#6366f1;text-decoration:none}.expected-transactions__settings:hover{text-decoration:underline}.expected-transactions__filter-bar{display:inline-flex;background:var(--card-bg, rgba(255, 255, 255, .05));border:1px solid var(--card-border, rgba(255, 255, 255, .08));border-radius:8px;padding:3px;margin-bottom:1rem;gap:2px}.expected-transactions__filter-btn{background:none;border:none;cursor:pointer;font-size:.875rem;font-weight:500;padding:.375rem .875rem;border-radius:6px;color:var(--text-muted, #64748b);transition:background .15s,color .15s}.expected-transactions__filter-btn:hover:not(.expected-transactions__filter-btn--active){color:inherit;background:#6366f114}.expected-transactions__filter-btn--active{background:#6366f1;color:#fff}.expected-transactions__msg,.expected-transactions__empty{margin:0;color:var(--text-muted, #64748b)}.expected-transactions__error{margin:0;color:#ef4444}.expected-transactions__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.expected-transactions__item{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:var(--card-bg, rgba(255, 255, 255, .05));border:1px solid var(--card-border, rgba(255, 255, 255, .08));border-radius:8px}.expected-transactions__info{flex:1;display:flex;flex-direction:column;gap:.25rem;min-width:0}.expected-transactions__desc{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.expected-transactions__meta{font-size:.875rem;color:var(--text-muted, #64748b)}.expected-transactions__amount{font-size:.9rem;font-weight:600;white-space:nowrap}.expected-transactions__amount--expense{color:#ef4444}.expected-transactions__amount--income{color:#22c55e}.expected-transactions__badge{font-size:.75rem;font-weight:600;padding:.2rem .5rem;border-radius:999px;white-space:nowrap}.expected-transactions__badge--matched{background:#22c55e1f;color:#16a34a}.expected-transactions__badge--unmatched{background:#64748b1f;color:var(--text-muted, #64748b)}.expected-transactions__badge--cash{background:#6366f11f;color:#6366f1}.expected-transactions__delete{background:none;border:none;cursor:pointer;font-size:1.1rem;line-height:1;color:var(--text-muted, #64748b);padding:.25rem .375rem;border-radius:4px;transition:color .15s,background .15s}.expected-transactions__delete:hover:not(:disabled){color:#ef4444;background:#ef44441a}.expected-transactions__delete:disabled{opacity:.5;cursor:default}@media(prefers-color-scheme:light){.expected-transactions__item,.expected-transactions__filter-bar{--card-bg: #fff;--card-border: #e2e8f0}.expected-transactions__badge--matched{color:#15803d}}#root{min-height:100vh;min-width:960px;margin:0;padding:0}
