*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-primary-deep: #0D3B44;--color-primary: #1A6B7C;--color-primary-light: #4EADC5;--color-primary-faded: rgba(78, 173, 197, .12);--color-accent: #E8C670;--color-accent-dark: #D4A03C;--color-accent-light: #F5E6C3;--color-success: #1B7340;--color-success-light: #D4EFDF;--color-danger: #A32929;--color-danger-light: #FADBD8;--color-bg-page: #F0F4F7;--color-bg-card: rgba(255, 255, 255, .72);--color-bg-card-solid: #FFFFFF;--color-bg-subtle: rgba(255, 255, 255, .5);--color-text-primary: #0F1C24;--color-text-secondary: #3D5A6A;--color-text-muted: #7A9AAD;--color-text-inverse: #FFFFFF;--color-border: rgba(13, 59, 68, .12);--color-border-light: rgba(13, 59, 68, .06);--color-border-glass: rgba(255, 255, 255, .18);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 16px rgba(0, 0, 0, .06), 0 1px 3px rgba(0, 0, 0, .04);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .08), 0 4px 12px rgba(0, 0, 0, .04);--shadow-glow: 0 0 60px rgba(78, 173, 197, .15);--shadow-focus: 0 0 0 3px rgba(26, 107, 124, .25);--glass-blur: blur(16px);--glass-saturate: saturate(180%);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display: "Manrope", var(--font-sans);--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 2rem;--text-4xl: 2.75rem;--text-5xl: 3.5rem;--leading-tight: 1.15;--leading-normal: 1.5;--leading-relaxed: 1.7;--tracking-tight: -.025em;--tracking-normal: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.5rem;--radius-2xl: 2rem;--radius-full: 9999px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .4s cubic-bezier(.4, 0, .2, 1)}[data-theme=dark]{--color-bg-page: #0F1419;--color-bg-card: rgba(30, 40, 50, .85);--color-bg-card-solid: #1A242E;--color-bg-subtle: rgba(255, 255, 255, .05);--color-text-primary: #F0F4F7;--color-text-secondary: #A0B4C4;--color-text-muted: #6B7F8E;--color-text-inverse: #0F1419;--color-border: rgba(255, 255, 255, .1);--color-border-light: rgba(255, 255, 255, .05);--color-border-glass: rgba(255, 255, 255, .08);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .2);--shadow-md: 0 4px 16px rgba(0, 0, 0, .3), 0 1px 3px rgba(0, 0, 0, .2);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .4), 0 4px 12px rgba(0, 0, 0, .3);--shadow-glow: 0 0 60px rgba(78, 173, 197, .25)}.skeleton{background:linear-gradient(90deg,var(--color-bg-subtle) 25%,var(--color-border) 50%,var(--color-bg-subtle) 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-md)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{height:1em;margin-bottom:.5em}.skeleton-text:last-child{width:60%}.skeleton-card{height:120px}.success-burst{animation:successBurst .6s cubic-bezier(.4,0,.2,1)}@keyframes successBurst{0%{opacity:0;transform:scale(.95)}50%{transform:scale(1.02)}to{opacity:1;transform:scale(1)}}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text-primary);background:var(--color-bg-page);min-height:100vh;position:relative;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;z-index:-2;background:radial-gradient(ellipse 80% 50% at 20% -20%,rgba(78,173,197,.25) 0%,transparent 50%),radial-gradient(ellipse 60% 40% at 80% 10%,rgba(212,160,60,.15) 0%,transparent 40%),radial-gradient(ellipse 50% 80% at 10% 100%,rgba(27,115,64,.12) 0%,transparent 50%),radial-gradient(ellipse 70% 50% at 90% 80%,rgba(78,173,197,.18) 0%,transparent 45%);animation:aurora 20s ease-in-out infinite alternate}@keyframes aurora{0%{opacity:.85;transform:scale(1) translateY(0)}to{opacity:1;transform:scale(1.05) translateY(-20px)}}body:after{content:"";position:fixed;inset:0;z-index:-1;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");opacity:.025;pointer-events:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--color-text-primary)}.container{width:100%;max-width:900px;margin:0 auto;padding:0 var(--space-5)}.site-header{position:sticky;top:0;z-index:50;background:var(--color-bg-card);backdrop-filter:var(--glass-blur) var(--glass-saturate);-webkit-backdrop-filter:var(--glass-blur) var(--glass-saturate);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.site-header__inner{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5)}.site-header__brand{display:flex;align-items:center;gap:var(--space-3);text-decoration:none}.site-header__logo-icon{width:44px;height:44px;border-radius:var(--radius-md);background:linear-gradient(145deg,var(--color-primary-deep),var(--color-primary));display:flex;align-items:center;justify-content:center;color:var(--color-text-inverse);box-shadow:0 4px 12px #0d3b444d}.site-header__logo-text{font-family:var(--font-display);font-weight:800;font-size:var(--text-xl);color:var(--color-primary-deep);letter-spacing:var(--tracking-tight)}.trust-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:linear-gradient(135deg,var(--color-success),#1B7340);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:700;color:var(--color-text-inverse);text-transform:uppercase;letter-spacing:.05em;box-shadow:0 2px 8px #1b734059}[data-theme=dark] .trust-badge{background:#1b734040;border:1px solid rgba(74,222,128,.3);color:#86efac;box-shadow:none}.trust-badge__icon{width:14px;height:14px}.theme-toggle{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:none;border-radius:var(--radius-full);background:var(--color-bg-card);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-sm)}.theme-toggle:hover{background:var(--color-bg-card-solid);color:var(--color-primary);transform:scale(1.05)}.theme-toggle:active{transform:scale(.95)}.theme-toggle__sun{display:none}.theme-toggle__moon,[data-theme=dark] .theme-toggle__sun{display:block}[data-theme=dark] .theme-toggle__moon{display:none}.main-content{padding:var(--space-12) 0 var(--space-20)}.hero{text-align:center;margin-bottom:var(--space-12);padding:var(--space-8) 0}.hero__title{font-size:var(--text-4xl);font-weight:800;margin-bottom:var(--space-5);letter-spacing:-.03em;line-height:1.1;background:linear-gradient(135deg,var(--color-text-primary) 0%,var(--color-primary-deep) 50%,var(--color-primary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero__subtitle{font-size:var(--text-lg);color:var(--color-text-secondary);max-width:520px;margin:0 auto var(--space-8);line-height:var(--leading-relaxed)}.trust-points{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-3)}.trust-point{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--color-bg-card);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);box-shadow:var(--shadow-sm);transition:all var(--transition-base)}.trust-point:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--color-primary-light)}.trust-point__icon{width:18px;height:18px;color:var(--color-primary)}.card{background:var(--color-bg-card);backdrop-filter:var(--glass-blur) var(--glass-saturate);-webkit-backdrop-filter:var(--glass-blur) var(--glass-saturate);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md),inset 0 1px 0 var(--color-border-glass);padding:var(--space-8);margin-bottom:var(--space-6);position:relative;overflow:hidden;transition:all var(--transition-base)}.card:hover{box-shadow:var(--shadow-lg),inset 0 1px 0 var(--color-border-glass);transform:translateY(-2px)}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent)}.card__header{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-6)}.card__step-number{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--color-primary-deep),var(--color-primary));color:var(--color-text-inverse);font-size:var(--text-sm);font-weight:700;box-shadow:0 2px 8px #0d3b4440}.card__title{font-size:var(--text-xl);font-weight:700;letter-spacing:var(--tracking-tight)}.form-group{margin-bottom:var(--space-4)}.form-label{display:block;margin-bottom:var(--space-2);font-size:var(--text-sm);font-weight:600;color:var(--color-text-secondary)}.form-input{width:100%;padding:var(--space-4);font-size:var(--text-base);font-family:var(--font-sans);color:var(--color-text-primary);background:var(--color-bg-card-solid);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:inset 0 1px 2px #0000000a;transition:all var(--transition-fast)}.form-input::placeholder{color:var(--color-text-muted)}.form-input:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--shadow-focus),inset 0 1px 2px #0000000a}.required{color:var(--color-danger);font-weight:600}.form-hint{margin-top:var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted);line-height:var(--leading-normal)}.dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12) var(--space-8);border:2px dashed var(--color-border);border-radius:var(--radius-xl);background:linear-gradient(180deg,#fffc,#f0f4f799);cursor:pointer;transition:all var(--transition-base);position:relative;overflow:hidden}.dropzone:before{content:"";position:absolute;inset:4px;border:1px dashed var(--color-border-light);border-radius:calc(var(--radius-xl) - 4px);pointer-events:none}.dropzone:hover{border-color:var(--color-primary);background:linear-gradient(180deg,#4eadc514,#4eadc505);transform:scale(1.01)}.dropzone.drag-over{border-color:var(--color-primary);border-style:solid;background:linear-gradient(180deg,#4eadc51f,#4eadc50a);transform:scale(1.02);box-shadow:var(--shadow-glow)}.dropzone__icon{width:56px;height:56px;margin-bottom:var(--space-4);color:var(--color-primary);opacity:.8;transition:all var(--transition-base)}.dropzone:hover .dropzone__icon{transform:translateY(-4px);opacity:1}.dropzone__text{font-size:var(--text-lg);font-weight:600;color:var(--color-text-primary);margin-bottom:var(--space-1)}.dropzone__subtext{font-size:var(--text-sm);color:var(--color-text-muted)}.dropzone__hint{margin-top:var(--space-4);font-size:var(--text-xs);color:var(--color-text-muted);opacity:.8}.supported-banks{display:flex;align-items:center;justify-content:center;gap:var(--space-3);margin-top:var(--space-5);font-size:var(--text-sm);color:var(--color-text-muted)}.supported-banks__tag{padding:var(--space-1) var(--space-3);background:var(--color-bg-card-solid);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:600;color:var(--color-text-secondary);transition:all var(--transition-fast)}.supported-banks__tag:hover{border-color:var(--color-primary-light);color:var(--color-primary)}.file-list{list-style:none;margin-top:var(--space-5)}.file-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);background:var(--color-bg-card-solid);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-bottom:var(--space-3);animation:slideUp .35s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-sm)}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.file-item__info{display:flex;align-items:center;gap:var(--space-4);min-width:0;flex:1}.file-item__icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-primary-faded),rgba(78,173,197,.06));border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-primary);flex-shrink:0}.file-item__details{min-width:0;flex:1}.file-item__name{font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary);word-break:break-word;line-height:1.4}.file-item__size{font-size:var(--text-xs);color:var(--color-text-muted)}.file-item__remove{padding:var(--space-2);background:transparent;border:none;cursor:pointer;color:var(--color-text-muted);border-radius:var(--radius-sm);transition:all var(--transition-fast);flex-shrink:0}.file-item__remove:hover{color:var(--color-danger);background:var(--color-danger-light)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-4) var(--space-8);font-family:var(--font-sans);font-size:var(--text-base);font-weight:700;text-decoration:none;border:none;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base);position:relative;overflow:hidden}.btn--primary{background:linear-gradient(135deg,var(--color-primary-deep) 0%,var(--color-primary) 100%);color:var(--color-text-inverse);box-shadow:0 4px 16px #0d3b4459,inset 0 1px #ffffff1a}.btn--primary:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 0%,rgba(255,255,255,.1) 50%,transparent 100%);opacity:0;transition:opacity var(--transition-base)}.btn--primary:hover:before{opacity:1}.btn--primary:hover{transform:translateY(-3px);box-shadow:0 8px 24px #0d3b4466,inset 0 1px #ffffff1a}.btn--primary:active{transform:translateY(-1px)}.btn--lg{padding:var(--space-5) var(--space-10);font-size:var(--text-lg);border-radius:var(--radius-xl)}.btn--full{width:100%}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.loading-state{text-align:center;padding:var(--space-12)}.loading-spinner{width:48px;height:48px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto var(--space-4)}@keyframes spin{to{transform:rotate(360deg)}}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4);margin-bottom:var(--space-8)}.summary-card{background:var(--color-bg-card);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md),inset 0 1px 0 var(--color-border-glass);padding:var(--space-6);text-align:center;transition:all var(--transition-base)}.summary-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.summary-card__label{font-size:var(--text-sm);font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-2)}.summary-card__value{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:800;letter-spacing:var(--tracking-tight)}.summary-card__value--income{color:var(--color-success)}.summary-card__value--tax{background:linear-gradient(135deg,var(--color-accent),#B8860B);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.tax-breakdown{margin-bottom:var(--space-6)}.tax-bar{height:10px;border-radius:var(--radius-full);background:var(--color-bg-subtle);overflow:hidden;margin:var(--space-2) 0;box-shadow:inset 0 1px 3px #0000000f}.tax-bar-fill{height:100%;border-radius:var(--radius-full);transition:width .6s cubic-bezier(.4,0,.2,1)}.tax-bar-fill--0{background:linear-gradient(90deg,#94a3b8,#64748b)}.tax-bar-fill--15{background:linear-gradient(90deg,var(--color-success-light),var(--color-success))}.tax-bar-fill--18{background:linear-gradient(90deg,var(--color-primary-light),var(--color-primary))}.tax-bar-fill--21{background:linear-gradient(90deg,var(--color-accent-light),var(--color-accent))}.tax-bar-fill--23{background:linear-gradient(90deg,#fdba74,#ea580c)}.tax-bar-fill--25{background:linear-gradient(90deg,var(--color-danger-light),var(--color-danger))}.excluded-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--space-4)}.excluded-badge{padding:var(--space-4);background:var(--color-bg-card-solid);border:1px solid var(--color-border);border-radius:var(--radius-lg);text-align:center;transition:all var(--transition-fast)}.excluded-badge:hover{border-color:var(--color-primary-light);transform:translateY(-2px)}.excluded-badge__count{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:800;color:var(--color-text-primary)}.excluded-badge__label{font-size:var(--text-xs);font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em}.pending-review-banner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-4);padding:var(--space-4) var(--space-5);margin-top:var(--space-6);background:linear-gradient(135deg,#eab3081a,#eab3080d);border:1px solid rgba(234,179,8,.3);border-radius:var(--radius-lg)}@media(max-width:480px){.pending-review-banner{flex-direction:column;align-items:stretch;text-align:center;gap:var(--space-3);padding:var(--space-4)}.pending-banner-content{flex-direction:column;align-items:center;gap:var(--space-2)}.pending-banner-text{align-items:center}.pending-banner-actions{justify-content:center;width:100%}.pending-banner-btn{flex:1}}.pending-banner-content{display:flex;align-items:center;gap:var(--space-3)}.pending-banner-icon{font-size:var(--text-xl)}.pending-banner-text{display:flex;flex-direction:column;gap:var(--space-1)}.pending-banner-text strong{font-size:var(--text-sm);font-weight:700;color:var(--color-text-primary)}.pending-banner-text span{font-size:var(--text-xs);color:var(--color-text-muted)}.pending-banner-btn{padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:600;color:var(--color-primary-deep);background:var(--color-bg-card-solid);border:1px solid var(--color-primary);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.pending-banner-btn:hover{background:var(--color-primary);color:var(--color-text-inverse)}.pending-banner-actions{display:flex;align-items:center;gap:var(--space-2)}.pending-banner-btn--secondary{padding:var(--space-2);background:transparent;border-color:var(--color-border);color:var(--color-text-muted)}.pending-banner-btn--secondary:hover{background:var(--color-danger-light);border-color:var(--color-danger);color:var(--color-danger)}[data-theme=dark] .pending-review-banner{background:linear-gradient(135deg,#eab30826,#eab30814);border-color:#eab30866}[data-theme=dark] .pending-banner-text strong{color:#fde68a}[data-theme=dark] .pending-banner-text span{color:#a0b4c4}[data-theme=dark] .pending-banner-btn{background:#1e2832f2;border-color:var(--color-primary);color:var(--color-primary-light)}[data-theme=dark] .pending-banner-btn:hover{background:var(--color-primary);color:#0f1419}[data-theme=dark] .pending-banner-btn--secondary{background:transparent;border-color:#ffffff26;color:#7a9aad}[data-theme=dark] .pending-banner-btn--secondary:hover{background:#a3292933;border-color:#dc2626;color:#fca5a5}.transactions-table-wrapper{overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--color-border)}.transactions-table{width:100%;border-collapse:collapse}.transactions-table th,.transactions-table td{padding:var(--space-4);text-align:left;font-size:var(--text-sm)}.transactions-table thead th{background:var(--color-bg-card-solid);color:var(--color-text-secondary);font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:var(--text-xs);border-bottom:1px solid var(--color-border)}.transactions-table tbody tr{border-bottom:1px solid var(--color-border-light);transition:background var(--transition-fast)}.transactions-table tbody tr:hover{background:var(--color-primary-faded)}.transactions-table .amount{font-family:var(--font-display);font-weight:700;text-align:right}.transactions-table .amount--credit{color:var(--color-success)}.bank-tag{display:inline-block;padding:var(--space-1) var(--space-3);background:var(--color-primary-faded);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:600;color:var(--color-primary-deep)}.pagination{display:flex;align-items:center;justify-content:center;gap:var(--space-2);margin-top:var(--space-6)}.page-btn{min-width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:600;color:var(--color-text-secondary);background:var(--color-bg-card-solid);border:1px solid var(--color-border);cursor:pointer;transition:all var(--transition-fast)}.page-btn:hover:not(.active):not(:disabled){border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-1px)}.page-btn.active{background:linear-gradient(135deg,var(--color-primary-deep),var(--color-primary));color:var(--color-text-inverse);border-color:transparent;box-shadow:0 2px 8px #0d3b4440}.page-btn:disabled{opacity:.4;cursor:not-allowed}.classification-cell{white-space:nowrap}.classification-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);font-size:var(--text-xs);font-weight:500;border-radius:var(--radius-full);cursor:help}.classification-badge--auto{background:#4eadc526;color:var(--color-primary);border:1px solid rgba(78,173,197,.3)}.classification-badge--reviewed{background:#1b734026;color:var(--color-success);border:1px solid rgba(27,115,64,.3)}.classification-badge--remembered{background:#e8c67026;color:#b8860b;border:1px solid rgba(232,198,112,.4)}[data-theme=dark] .classification-badge--auto{background:#4eadc533;color:#4eadc5}[data-theme=dark] .classification-badge--reviewed{background:#1b734033;color:#4ade80}[data-theme=dark] .classification-badge--remembered{background:#e8c67033;color:#e8c670}.edit-controls{display:flex;gap:var(--space-3);margin-bottom:var(--space-4);justify-content:flex-end}.tx-checkbox{width:18px;height:18px;accent-color:var(--color-primary);cursor:pointer}.checkbox-cell{width:50px;text-align:center}.editable-row{cursor:pointer}.editable-row:hover{background:var(--color-primary-faded)!important}.selected-row{background:#4eadc526!important}.selected-row:hover{background:#4eadc533!important}.batch-action-bar{position:fixed;bottom:var(--space-6);left:50%;transform:translate(-50%);display:flex;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-4) var(--space-6);background:var(--color-bg-card);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);animation:slideUpBatch .3s ease;max-width:600px;z-index:100}.batch-action-bar.hidden{display:none}.batch-action-bar span{font-weight:600;color:var(--color-text-secondary)}@keyframes slideUpBatch{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.btn--secondary{background:var(--color-bg-card-solid);color:var(--color-text-primary);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.btn--secondary:hover{border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn--danger{background:linear-gradient(135deg,var(--color-danger),#7F1D1D);color:var(--color-text-inverse);box-shadow:0 4px 16px #a3292959}.btn--danger:hover{transform:translateY(-2px);box-shadow:0 6px 20px #a3292973}.site-footer{text-align:center;padding:var(--space-10);color:var(--color-text-muted);font-size:var(--text-sm)}.site-footer__disclaimer{display:flex;align-items:center;justify-content:center;gap:var(--space-2);margin-bottom:var(--space-2);font-weight:500}.hidden{display:none!important}.text-center{text-align:center}.text-muted{color:var(--color-text-muted)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.card{animation:fadeInUp .5s cubic-bezier(.4,0,.2,1) backwards}.card:nth-child(1){animation-delay:.1s}.card:nth-child(2){animation-delay:.2s}.card:nth-child(3){animation-delay:.3s}@media(max-width:768px){.summary-grid{grid-template-columns:1fr}.hero__title{font-size:var(--text-3xl)}}@media(max-width:640px){.container{padding:0 var(--space-4)}.hero__title{font-size:var(--text-2xl)}.hero__subtitle{font-size:var(--text-base)}.card{padding:var(--space-5);border-radius:var(--radius-lg)}.dropzone{padding:var(--space-8) var(--space-4)}.trust-points{flex-direction:column;align-items:center}.site-header__inner{flex-direction:column;gap:var(--space-3)}.summary-card__value{font-size:var(--text-2xl)}}.card--spotlight{--spotlight-x: 50%;--spotlight-y: 50%;--spotlight-opacity: 0}.card--spotlight:after{content:"";position:absolute;inset:0;background:radial-gradient(400px circle at var(--spotlight-x) var(--spotlight-y),rgba(78,173,197,.15),transparent 40%);opacity:var(--spotlight-opacity);transition:opacity .3s ease;pointer-events:none;z-index:1}.scanner-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12);text-align:center}.scanner-icon{position:relative;width:80px;height:100px;margin-bottom:var(--space-6)}.scanner-icon__file{width:100%;height:100%;background:linear-gradient(180deg,var(--color-bg-card-solid),var(--color-bg-subtle));border:2px solid var(--color-border);border-radius:var(--radius-md);position:relative;box-shadow:var(--shadow-md)}.scanner-icon__file:before{content:"";position:absolute;top:-2px;right:-2px;width:24px;height:24px;background:var(--color-bg-card-solid);border-left:2px solid var(--color-border);border-bottom:2px solid var(--color-border);clip-path:polygon(100% 0,100% 100%,0 100%)}.scanner-icon__beam{position:absolute;left:-8px;right:-8px;height:4px;background:linear-gradient(90deg,transparent,var(--color-primary),var(--color-primary-light),var(--color-primary),transparent);border-radius:var(--radius-full);box-shadow:0 0 12px var(--color-primary-light),0 0 24px #4eadc566;animation:scanBeam 1.5s ease-in-out infinite}@keyframes scanBeam{0%,to{top:10%;opacity:.5}50%{top:80%;opacity:1}}.scanner-text{font-size:var(--text-lg);font-weight:600;color:var(--color-text-primary);margin-bottom:var(--space-2)}.scanner-subtext{font-size:var(--text-sm);color:var(--color-text-muted);animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.donut-chart-container{display:flex;align-items:center;justify-content:center;gap:var(--space-8);padding:var(--space-6) 0}.donut-chart{position:relative;width:180px;height:180px}.donut-chart__svg{width:100%;height:100%;transform:rotate(-90deg)}.donut-chart__ring{fill:none;stroke-width:20;stroke-linecap:round}.donut-chart__ring--bg{stroke:var(--color-bg-subtle)}.donut-chart__ring--income{stroke:url(#incomeGradient);transition:stroke-dasharray 1s cubic-bezier(.4,0,.2,1)}.donut-chart__ring--tax{stroke:url(#taxGradient);transition:stroke-dasharray 1s cubic-bezier(.4,0,.2,1)}.donut-chart__center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.donut-chart__value{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:800;color:var(--color-text-primary)}.donut-chart__label{font-size:var(--text-xs);font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.donut-legend{display:flex;flex-direction:column;gap:var(--space-4)}.donut-legend__item{display:flex;align-items:center;gap:var(--space-3)}.donut-legend__color{width:16px;height:16px;border-radius:var(--radius-sm)}.donut-legend__color--income{background:linear-gradient(135deg,var(--color-success-light),var(--color-success))}.donut-legend__color--tax{background:linear-gradient(135deg,var(--color-accent-light),var(--color-accent))}.donut-legend__text{font-size:var(--text-sm);color:var(--color-text-secondary)}.donut-legend__value{font-weight:700;color:var(--color-text-primary)}.bento-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4);margin-bottom:var(--space-10)}.bento-item{background:var(--color-bg-card);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-6);text-align:center;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.bento-item:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--color-primary-light),var(--color-primary));opacity:0}.bento-item__icon{width:48px;height:48px;margin:0 auto var(--space-4);display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-primary-faded),rgba(78,173,197,.05));border-radius:var(--radius-lg);color:var(--color-primary)}.bento-item__icon svg{width:24px;height:24px}.bento-item__title{font-family:var(--font-display);font-size:var(--text-base);font-weight:700;color:var(--color-text-primary);margin-bottom:var(--space-2)}.bento-item__desc{font-size:var(--text-xs);color:var(--color-text-muted);line-height:var(--leading-relaxed)}@media(max-width:768px){.bento-grid{grid-template-columns:1fr}.donut-chart-container{flex-direction:column}}@media(max-width:640px){.bento-item{padding:var(--space-4)}.bento-item__icon{width:40px;height:40px}}@supports (padding: env(safe-area-inset-bottom)){.main-content{padding-bottom:calc(var(--space-20) + env(safe-area-inset-bottom))}.site-header{padding-top:env(safe-area-inset-top)}}@media(max-width:480px){:root{--touch-target-min: 48px}.container{padding:0 var(--space-4)}.site-header__inner{flex-direction:column;gap:var(--space-3);padding:var(--space-3) var(--space-4)}.site-header__brand{gap:var(--space-2)}.site-header__logo-icon{width:40px;height:40px}.site-header__logo-text{font-size:var(--text-lg)}.trust-badge{font-size:.65rem;padding:var(--space-1) var(--space-3)}.hero{margin-bottom:var(--space-8);padding:var(--space-4) 0}.hero__title{font-size:var(--text-2xl);margin-bottom:var(--space-3)}.hero__subtitle{font-size:var(--text-sm);margin-bottom:var(--space-6)}.bento-grid{grid-template-columns:1fr;gap:var(--space-3);margin-bottom:var(--space-6)}.bento-item{padding:var(--space-4);display:flex;align-items:center;gap:var(--space-4);text-align:left}.bento-item__icon{margin:0;flex-shrink:0;width:44px;height:44px}.bento-item__title{margin-bottom:var(--space-1)}.bento-item__desc{font-size:var(--text-xs)}.card{padding:var(--space-5);border-radius:var(--radius-lg);margin-bottom:var(--space-4)}.card__header{margin-bottom:var(--space-4);gap:var(--space-3)}.card__step-number{width:32px;height:32px;font-size:var(--text-xs)}.card__title{font-size:var(--text-lg)}.form-input{min-height:var(--touch-target-min);font-size:var(--text-base);padding:var(--space-3) var(--space-4)}.form-label{font-size:var(--text-xs)}.dropzone{padding:var(--space-6) var(--space-4);border-radius:var(--radius-lg)}.dropzone__icon{width:40px;height:40px;margin-bottom:var(--space-3)}.dropzone__text{font-size:var(--text-base)}.dropzone__subtext{font-size:var(--text-xs)}.supported-banks{flex-wrap:wrap;justify-content:center;gap:var(--space-2);margin-top:var(--space-4);font-size:var(--text-xs)}.supported-banks__tag{padding:var(--space-1) var(--space-2)}.file-item{padding:var(--space-3);gap:var(--space-3)}.file-item__icon{width:40px;height:40px}.file-item__remove{min-width:var(--touch-target-min);min-height:var(--touch-target-min);display:flex;align-items:center;justify-content:center}.btn{width:100%;min-height:var(--touch-target-min);font-size:var(--text-base)}.btn--lg{min-height:56px;font-size:var(--text-lg);padding:var(--space-4) var(--space-6)}.summary-grid{grid-template-columns:1fr;gap:var(--space-3)}.summary-card{padding:var(--space-4)}.summary-card__value{font-size:var(--text-2xl)}.summary-card__label{font-size:var(--text-xs)}.donut-chart-container{flex-direction:column;gap:var(--space-6);padding:var(--space-4) 0}.donut-chart{width:160px;height:160px}.donut-chart__value{font-size:var(--text-xl)}.donut-legend{flex-direction:row;gap:var(--space-6)}.tax-bar{height:12px}.excluded-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.excluded-badge{padding:var(--space-3)}.excluded-badge__count{font-size:var(--text-xl)}.transactions-table-wrapper{margin:0 calc(var(--space-5) * -1);padding:0 var(--space-5);border-radius:0;border-left:none;border-right:none}.transactions-table th,.transactions-table td{padding:var(--space-3) var(--space-2);font-size:var(--text-xs);white-space:nowrap}.pagination{gap:var(--space-1);flex-wrap:wrap;padding:0 var(--space-2);max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.page-btn{min-width:36px;height:36px;font-size:var(--text-xs);padding:0 var(--space-2)}.site-footer{padding:var(--space-8) var(--space-4);font-size:var(--text-xs)}.site-footer__disclaimer{flex-direction:column;gap:var(--space-1)}.scanner-state{padding:var(--space-8)}.scanner-icon{width:60px;height:75px;margin-bottom:var(--space-4)}.scanner-text{font-size:var(--text-base)}.scanner-subtext{font-size:var(--text-xs)}}@media(min-width:481px)and (max-width:768px){.hero__title{font-size:var(--text-3xl)}.bento-grid,.summary-grid{grid-template-columns:repeat(3,1fr)}}@media(hover:none)and (pointer:coarse){.card:hover{transform:none;box-shadow:var(--shadow-md),inset 0 1px 0 var(--color-border-glass)}.bento-item:hover{transform:none}.bento-item:hover:before{opacity:0}.trust-point:hover,.btn--primary:hover,.summary-card:hover{transform:none}}.btn:active{transform:scale(.97);transition:transform .1s ease}.summary-card:active,.file-item:active{transform:scale(.98);transition:transform .1s ease}.dropzone:active{transform:scale(.99);border-color:var(--color-primary)}@media(max-width:480px){.hero{margin-bottom:var(--space-4);padding:var(--space-2) 0}.hero__title{font-size:var(--text-xl);margin-bottom:var(--space-2)}.hero__subtitle{font-size:var(--text-xs);margin-bottom:var(--space-4);display:none}.dropzone{min-height:180px;padding:var(--space-8) var(--space-4)}#processSection{position:fixed;bottom:0;left:0;right:0;z-index:50;padding:var(--space-4);padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom,0px));background:linear-gradient(to top,var(--color-bg-page) 80%,transparent);margin-bottom:0!important}#processSection .btn{box-shadow:var(--shadow-lg)}.main-content{padding-bottom:120px}.bento-grid{gap:var(--space-2);margin-bottom:var(--space-4)}.bento-item{padding:var(--space-3);gap:var(--space-3)}.bento-item__icon{width:36px;height:36px}.bento-item__icon svg{width:18px;height:18px}.bento-item__title{font-size:var(--text-sm)}.bento-item__desc{display:none}.card{padding:var(--space-4);margin-bottom:var(--space-3)}.card__header{margin-bottom:var(--space-3)}.file-item{padding:var(--space-2) var(--space-3)}.file-item__name{font-size:var(--text-sm)}.file-item__size{font-size:var(--text-xs)}}.toast-container{position:fixed;top:var(--space-6);right:var(--space-6);z-index:9999;display:flex;flex-direction:column;gap:var(--space-3);max-width:400px;pointer-events:none}@media(max-width:480px){.toast-container{top:var(--space-4);right:var(--space-4);left:var(--space-4);max-width:none}}.toast{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4) var(--space-5);background:#fffffff2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border-left:4px solid var(--color-primary);pointer-events:auto;animation:toastSlideIn .3s ease-out}.toast--error{border-left-color:var(--color-danger)}.toast--success{border-left-color:var(--color-success)}.toast--info{border-left-color:var(--color-primary)}.toast--warning{border-left-color:#f59e0b}.toast__icon{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);font-size:14px}.toast--error .toast__icon{background:var(--color-danger-light);color:var(--color-danger)}.toast--success .toast__icon{background:var(--color-success-light);color:var(--color-success)}.toast--info .toast__icon{background:var(--color-primary-faded);color:var(--color-primary)}.toast--warning .toast__icon{background:#fef3c7;color:#d97706}.toast__content{flex:1;min-width:0}.toast__title{font-weight:600;font-size:var(--text-sm);color:var(--color-text-primary);margin-bottom:var(--space-1)}.toast__message{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-relaxed)}.toast__close{flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-md);transition:all var(--transition-fast)}.toast__close:hover{background:var(--color-bg-page);color:var(--color-text-primary)}.toast.toast--exit{animation:toastSlideOut .2s ease-in forwards}@keyframes toastSlideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes toastSlideOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}[data-theme=dark] .toast{background:#1e3038f2;border-color:var(--color-border)}.paywall-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.paywall-modal__backdrop{position:absolute;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.paywall-modal__content{position:relative;width:100%;max-width:420px;background:var(--color-bg-card-solid);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:var(--space-8);animation:modalSlideUp .3s cubic-bezier(.4,0,.2,1)}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.paywall-modal__close{position:absolute;top:var(--space-4);right:var(--space-4);width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;font-size:24px;color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.paywall-modal__close:hover{background:var(--color-bg-page);color:var(--color-text-primary)}.paywall-modal__header{text-align:center;margin-bottom:var(--space-6)}.paywall-modal__header h2{font-size:var(--text-xl);font-weight:700;margin-bottom:var(--space-2)}.paywall-modal__header p{font-size:var(--text-sm);color:var(--color-text-muted)}.paywall-modal__features{background:var(--color-bg-page);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-6)}.paywall-feature{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) 0;font-size:var(--text-sm);color:var(--color-text-secondary)}.paywall-feature__icon{font-size:var(--text-lg)}.paywall-modal__price{text-align:center;margin-bottom:var(--space-6)}.paywall-price{display:block;font-size:var(--text-3xl);font-weight:800;color:var(--color-primary-deep);letter-spacing:var(--tracking-tight)}.paywall-price-note{font-size:var(--text-sm);color:var(--color-text-muted)}.paywall-modal__form{margin-bottom:var(--space-6)}.paywall-modal__security{text-align:center;font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--space-4)}[data-theme=dark] .paywall-modal__content{background:var(--color-bg-card-solid)}[data-theme=dark] .paywall-modal__features{background:#ffffff0d}[data-theme=dark] .paywall-price{color:var(--color-primary-light)}.faq-section{margin-bottom:var(--space-8)}.faq-section__title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700;color:var(--color-text-primary);text-align:center;margin-bottom:var(--space-6)}.faq-accordion{max-width:700px;margin:0 auto}.faq-item{background:var(--color-bg-card);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-bottom:var(--space-3);overflow:hidden;transition:all .2s ease}.faq-item:hover{border-color:var(--color-primary)}.faq-item[open]{background:var(--color-bg-card-solid);box-shadow:var(--shadow-md)}.faq-item__question{padding:var(--space-4) var(--space-5);font-weight:600;color:var(--color-text-primary);cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;transition:color .2s ease}.faq-item__question::-webkit-details-marker{display:none}.faq-item__question:after{content:"+";font-size:var(--text-xl);font-weight:400;color:var(--color-primary);transition:transform .2s ease}.faq-item[open] .faq-item__question:after{content:"−"}.faq-item__question:hover{color:var(--color-primary)}.faq-item__answer{padding:0 var(--space-5) var(--space-4);color:var(--color-text-secondary);line-height:var(--leading-relaxed)}.faq-item__answer strong{color:var(--color-text-primary)}.faq-section__support{text-align:center;margin-top:var(--space-6);color:var(--color-text-muted);font-size:var(--text-sm)}.faq-section__support a{color:var(--color-primary);font-weight:500;text-decoration:none}.faq-section__support a:hover{text-decoration:underline}[data-theme=dark] .faq-item{background:#ffffff08}[data-theme=dark] .faq-item[open]{background:var(--color-bg-card-solid)}.mode-selector{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);margin-top:var(--space-6)}.mode-selector__label{font-size:var(--text-sm);font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.mode-toggle{display:inline-flex;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-full);padding:4px;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--shadow-sm)}.mode-toggle__btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:500;border:none;border-radius:var(--radius-full);background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease;position:relative}.mode-toggle__btn:hover:not(:disabled){color:var(--color-primary)}.mode-toggle__btn--active{background:var(--color-primary);color:var(--color-text-inverse);box-shadow:var(--shadow-md)}.mode-toggle__btn--active:hover{background:var(--color-primary-deep)}.mode-toggle__btn--active .mode-toggle__icon{stroke:var(--color-text-inverse)}.mode-toggle__btn--disabled{opacity:.6;cursor:not-allowed}.mode-toggle__icon{flex-shrink:0;stroke:currentColor}.mode-toggle__badge{position:absolute;top:-10px;right:-6px;background:linear-gradient(135deg,var(--color-accent),var(--color-accent-dark));color:var(--color-primary-deep);font-size:9px;font-weight:700;padding:2px 6px;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.3px;box-shadow:0 2px 6px #00000026;white-space:nowrap}[data-theme=dark] .mode-toggle{background:#ffffff0d;border-color:#ffffff1a}[data-theme=dark] .mode-toggle__btn--active{background:var(--color-primary)}.bank-breakdown-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-4)}.bank-breakdown-card{padding:var(--space-5);background:linear-gradient(135deg,var(--color-bg-subtle) 0%,var(--color-bg-card-solid) 100%);border:1px solid var(--color-border);border-radius:var(--radius-lg);text-align:center;transition:all var(--transition-base);cursor:pointer}.bank-breakdown-card:hover{border-color:var(--color-primary-light);transform:translateY(-2px);box-shadow:var(--shadow-md)}.bank-breakdown-card.active{border-color:var(--color-primary);background:var(--color-primary-faded);box-shadow:var(--shadow-focus)}.bank-breakdown-card__name{font-size:var(--text-sm);font-weight:600;color:var(--color-text-secondary);margin-bottom:var(--space-2)}.bank-breakdown-card__amount{font-size:var(--text-xl);font-weight:700;color:var(--color-text-primary);margin-bottom:var(--space-1)}.bank-breakdown-card__count{font-size:var(--text-xs);color:var(--color-text-muted)}.bank-breakdown-card__currency{font-size:var(--text-xs);color:var(--color-primary);font-weight:500;margin-top:var(--space-1)}.bank-filter-select{padding:var(--space-2) var(--space-4);padding-right:var(--space-8);font-size:var(--text-sm);font-family:var(--font-sans);font-weight:500;color:var(--color-text-primary);background:var(--color-bg-card-solid);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%237A9AAD' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;transition:all var(--transition-fast)}.bank-filter-select:hover{border-color:var(--color-primary-light)}.bank-filter-select:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--shadow-focus)}.confirm-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--space-4);opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}.confirm-modal--visible{opacity:1;visibility:visible}.confirm-modal__backdrop{position:absolute;inset:0;background:#0f1c2499;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.confirm-modal__content{position:relative;max-width:380px;width:100%;padding:var(--space-6);background:var(--color-bg-card-solid);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:0 20px 60px #0003;text-align:center;transform:scale(.95) translateY(10px);transition:transform .2s ease}.confirm-modal--visible .confirm-modal__content{transform:scale(1) translateY(0)}.confirm-modal__icon{font-size:2.5rem;margin-bottom:var(--space-4)}.confirm-modal__title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;color:var(--color-text-primary);margin-bottom:var(--space-2)}.confirm-modal__message{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-relaxed);margin-bottom:var(--space-6)}.confirm-modal__actions{display:flex;gap:var(--space-3)}.confirm-modal__btn{flex:1;padding:var(--space-3) var(--space-4);font-size:var(--text-sm);font-weight:600;font-family:var(--font-sans);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast)}.confirm-modal__btn--cancel{background:transparent;border:1px solid var(--color-border);color:var(--color-text-secondary)}.confirm-modal__btn--cancel:hover{border-color:var(--color-text-muted);background:var(--color-bg-subtle)}.confirm-modal__btn--confirm{border:none;color:#fff}.confirm-modal__btn--warning{background:linear-gradient(135deg,#eab308,#ca8a04)}.confirm-modal__btn--warning:hover{background:linear-gradient(135deg,#ca8a04,#a16207);transform:translateY(-1px)}.confirm-modal__btn--danger{background:linear-gradient(135deg,var(--color-danger),#991B1B)}.confirm-modal__btn--danger:hover{background:linear-gradient(135deg,#991b1b,#7f1d1d);transform:translateY(-1px)}@media(max-width:480px){.confirm-modal__content{padding:var(--space-5)}.confirm-modal__actions{flex-direction:column-reverse}}.year-selection__hint{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-4);line-height:var(--leading-relaxed)}.year-breakdown-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--space-3);margin-bottom:var(--space-5)}.year-breakdown-item{padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-bg-card-solid);border:2px solid var(--color-border);text-align:center;cursor:pointer;transition:all var(--transition-fast)}.year-breakdown-item:hover{border-color:var(--color-primary-light);transform:translateY(-2px);box-shadow:var(--shadow-md)}.year-breakdown-item--selected{border-color:var(--color-primary);background:var(--color-primary-faded);box-shadow:0 0 0 3px var(--color-primary-faded)}.year-breakdown-item__year{font-size:var(--text-2xl);font-weight:800;color:var(--color-text-primary);margin-bottom:var(--space-1);font-family:var(--font-display)}.year-breakdown-item--selected .year-breakdown-item__year{color:var(--color-primary)}.year-breakdown-item__stats{font-size:var(--text-xs);color:var(--color-text-muted);line-height:var(--leading-normal)}.out-of-scope-badge{background:linear-gradient(135deg,#f59e0b14,#f59e0b08);border-left:4px solid #F59E0B;padding:var(--space-4);border-radius:var(--radius-md)}[data-theme=dark] .out-of-scope-badge{background:linear-gradient(135deg,#f59e0b1f,#f59e0b0d)}.out-of-scope-badge p{margin:0}.review-container{position:fixed;inset:0;z-index:100;background:#f0f4f7f2;backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-4)}[data-theme=dark] .review-container{background:#0f1419f7}[data-theme=dark] .review-container:before{background:radial-gradient(ellipse 60% 40% at 30% 20%,rgba(78,173,197,.15) 0%,transparent 50%),radial-gradient(ellipse 50% 50% at 70% 80%,rgba(27,115,64,.08) 0%,transparent 40%)}[data-theme=dark] .review-card{background:#1e2832e6;border-color:#ffffff1a}[data-theme=dark] .review-title{color:#f0f4f7}[data-theme=dark] .card-amount{color:#4ade80}[data-theme=dark] .card-meta span{background:#ffffff14;color:#a0b4c4}[data-theme=dark] .card-description{background:#1a242ef2;border-color:#ffffff1a;color:#f0f4f7}[data-theme=dark] .remember-sender-card{background:#1e2832cc;border-color:#ffffff1a}[data-theme=dark] .remember-sender-card:has(input:checked){background:#4eadc526;border-color:var(--color-primary)}[data-theme=dark] .remember-sender-text{color:#7a9aad}[data-theme=dark] .remember-sender-name{color:#4eadc5}[data-theme=dark] .remember-hint{color:#6b7f8e}[data-theme=dark] .review-btn{background:#1e2832f2}[data-theme=dark] .review-btn.undo{border-color:#ffffff26;color:#7a9aad}[data-theme=dark] .review-instructions{background:#ffffff0d;border-color:#ffffff14;color:#a0b4c4}[data-theme=dark] .finish-later-btn{color:#7a9aad}[data-theme=dark] .finish-later-btn:hover{color:#a0b4c4}[data-theme=dark] .review-progress-text{color:#7a9aad}[data-theme=dark] .review-complete{background:#1e2832f2;border-color:#ffffff1a}[data-theme=dark] .review-complete h2{color:#f0f4f7}[data-theme=dark] .review-complete .stat-label{color:#7a9aad}[data-theme=dark] .remember-checkbox-toggle{background:#1e2832f2;border-color:#fff3}[data-theme=dark] .swipe-indicator.left{background:#a3292933;border-color:#dc2626;color:#fca5a5}[data-theme=dark] .swipe-indicator.right{background:#1b734033;border-color:#16a34a;color:#86efac}.review-container:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse 60% 40% at 30% 20%,rgba(78,173,197,.2) 0%,transparent 50%),radial-gradient(ellipse 50% 50% at 70% 80%,rgba(27,115,64,.1) 0%,transparent 40%);animation:reviewAurora 15s ease-in-out infinite alternate}@keyframes reviewAurora{0%{opacity:.7}to{opacity:1}}.review-toast{display:none}.review-toast-floating{position:fixed;top:16px;right:16px;transform:translate(120%);padding:10px 16px;background:#1b7340f2;border-radius:10px;font-size:13px;font-weight:600;color:#fff;z-index:10000;opacity:0;transition:all .25s cubic-bezier(.4,0,.2,1);max-width:280px;line-height:1.4;box-shadow:0 4px 12px #00000026}.review-toast-floating.show{transform:translate(0);opacity:1}.review-toast-floating.success{background:#1b7340f2}.review-toast-floating.info{background:#0d3b44f2}.review-header{text-align:center;margin-bottom:var(--space-6)}.finish-later-btn{display:inline-flex;align-items:center;gap:var(--space-2);margin-top:var(--space-4);padding:var(--space-2) var(--space-4);font-size:var(--text-xs);font-weight:500;color:var(--color-text-muted);background:transparent;border:none;cursor:pointer;transition:all var(--transition-fast);text-decoration:underline;text-underline-offset:2px}.finish-later-btn:hover{color:var(--color-text-secondary)}.review-progress-container{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}.review-progress-bar{width:140px;height:6px;background:var(--color-border);border-radius:var(--radius-full);overflow:hidden}.review-progress-fill{height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-primary-light));border-radius:var(--radius-full);transition:width .4s cubic-bezier(.4,0,.2,1)}.review-progress-text{font-size:var(--text-xs);font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.review-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:800;color:var(--color-text-primary);letter-spacing:var(--tracking-tight)}.card-stack{position:relative;width:100%;max-width:420px;height:420px;perspective:1000px}.review-card{position:absolute;width:100%;height:100%;background:var(--color-bg-card);backdrop-filter:var(--glass-blur) var(--glass-saturate);-webkit-backdrop-filter:var(--glass-blur) var(--glass-saturate);border:1px solid var(--color-border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-lg),inset 0 1px 0 var(--color-border-glass);padding:var(--space-8);display:flex;flex-direction:column;touch-action:none;-webkit-user-select:none;user-select:none;transition:transform .1s ease,box-shadow .1s ease;transform-origin:center bottom}.review-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0}.review-card.dragging{transition:none;box-shadow:var(--shadow-lg),0 25px 60px #00000026}.review-card.swiping-left{animation:swipeLeft .35s cubic-bezier(.4,0,.2,1) forwards}.review-card.swiping-right{animation:swipeRight .35s cubic-bezier(.4,0,.2,1) forwards}@keyframes swipeLeft{to{transform:translate(-150%) rotate(-15deg);opacity:0}}@keyframes swipeRight{to{transform:translate(150%) rotate(15deg);opacity:0}}.card-amount{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:800;color:var(--color-success);text-align:center;margin-bottom:var(--space-4);letter-spacing:var(--tracking-tight)}.card-meta{display:flex;justify-content:center;gap:var(--space-5);font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-5)}.card-meta span{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);background:var(--color-bg-subtle);border-radius:var(--radius-full)}.card-description{flex:1;text-align:center;font-size:var(--text-base);font-weight:500;color:var(--color-text-primary);line-height:var(--leading-relaxed);background:var(--color-bg-card-solid);padding:var(--space-5);border-radius:var(--radius-lg);border:1px solid var(--color-border);overflow-y:auto;max-height:140px;word-break:break-word}.remember-sender{margin-top:var(--space-4)}.remember-sender-card{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);background:linear-gradient(135deg,var(--color-bg-card-solid),rgba(248,250,252,.9));border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 2px 8px #0000000a;transition:all .2s ease}.remember-sender-card:has(input:checked){border-color:var(--color-primary);background:linear-gradient(135deg,#4eadc514,#4eadc508);box-shadow:0 2px 12px #4eadc526}.remember-checkbox{position:relative;flex-shrink:0}.remember-checkbox input{position:absolute;opacity:0;width:0;height:0}.remember-checkbox-toggle{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--color-bg-card-solid);border:2px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .15s ease;will-change:background,border-color}.remember-checkbox-toggle:active{transform:scale(.95)}.remember-checkbox input:checked+.remember-checkbox-toggle{background:var(--color-primary);border-color:var(--color-primary)}.remember-checkbox-toggle svg{width:14px;height:14px;stroke:#fff;stroke-width:3;opacity:0;transform:scale(.5);transition:opacity .15s ease,transform .15s ease}.remember-checkbox input:checked+.remember-checkbox-toggle svg{opacity:1;transform:scale(1)}.remember-sender-content{flex:1;min-width:0}.remember-sender-label{display:flex;flex-direction:column;gap:var(--space-1);cursor:pointer}.remember-sender-text{font-size:var(--text-xs);font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em}.remember-sender-name{font-size:var(--text-sm);font-weight:700;color:var(--color-primary-deep);line-height:1.3;word-break:break-word}.remember-hint{margin-top:var(--space-1);font-size:var(--text-xs);color:var(--color-text-muted);font-weight:400;font-style:italic}.swipe-indicator{position:absolute;top:var(--space-5);padding:var(--space-2) var(--space-5);border-radius:var(--radius-md);font-weight:800;font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.05em;opacity:0;transition:opacity .15s ease}.swipe-indicator.left{left:var(--space-5);background:linear-gradient(135deg,var(--color-danger-light),#FEE2E2);color:var(--color-danger);border:1px solid var(--color-danger)}.swipe-indicator.right{right:var(--space-5);background:linear-gradient(135deg,var(--color-success-light),#D1FAE5);color:var(--color-success);border:1px solid var(--color-success)}.review-actions{display:flex;justify-content:center;align-items:flex-end;gap:var(--space-6);margin-top:var(--space-8)}.review-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);border-radius:var(--radius-xl);border:2px solid;background:var(--color-bg-card-solid);cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-md)}.review-btn span{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.03em}.review-btn.reject{width:80px;height:90px;border-color:var(--color-danger);color:var(--color-danger)}.review-btn.reject:hover{background:linear-gradient(135deg,var(--color-danger),#7F1D1D);color:var(--color-text-inverse);transform:scale(1.08);box-shadow:0 8px 30px #a3292966}.review-btn.accept{width:80px;height:90px;border-color:var(--color-success);color:var(--color-success)}.review-btn.accept:hover{background:linear-gradient(135deg,var(--color-success),#145A32);color:var(--color-text-inverse);transform:scale(1.08);box-shadow:0 8px 30px #1b734066}.review-btn.undo{width:56px;height:70px;border-color:var(--color-border);color:var(--color-text-muted)}.review-btn.undo span{font-size:.6rem}.review-btn.undo:hover:not(:disabled){border-color:var(--color-text-secondary);color:var(--color-text-primary);transform:scale(1.05)}.review-btn.undo:disabled{opacity:.3;cursor:not-allowed}.review-instructions{margin-top:var(--space-6);text-align:center;font-size:var(--text-sm);color:var(--color-text-secondary);font-weight:600;padding:var(--space-3) var(--space-4);background:var(--color-bg-subtle);border-radius:var(--radius-lg);border:1px solid var(--color-border-light)}.review-instructions span{color:var(--color-primary);font-weight:700}.skip-review-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);margin-top:var(--space-6);padding:var(--space-3) var(--space-5);font-size:var(--text-sm);font-weight:600;color:var(--color-text-muted);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base)}.skip-review-btn:hover{color:var(--color-text-secondary);border-color:var(--color-text-muted);background:var(--color-bg-subtle)}.skip-review-btn svg{opacity:.7}.review-card.swipe-hint{animation:swipeHint 1.5s ease-in-out}@keyframes swipeHint{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(20px) rotate(2deg)}50%{transform:translate(0) rotate(0)}75%{transform:translate(-20px) rotate(-2deg)}}.review-complete{text-align:center;padding:var(--space-10);background:var(--color-bg-card);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--color-border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-lg);max-width:440px}.review-complete h2{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:800;margin-bottom:var(--space-8);color:var(--color-text-primary);letter-spacing:var(--tracking-tight)}.review-complete .stats{display:flex;justify-content:center;gap:var(--space-10);margin-bottom:var(--space-10)}.review-complete .stat{text-align:center}.review-complete .stat-value{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:800;margin-bottom:var(--space-2)}.review-complete .stat-value.income{color:var(--color-success)}.review-complete .stat-value.personal{color:var(--color-danger)}.review-complete .stat-label{font-size:var(--text-sm);font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.review-complete button{padding:var(--space-5) var(--space-10);background:linear-gradient(135deg,var(--color-primary-deep),var(--color-primary));border:none;border-radius:var(--radius-xl);color:var(--color-text-inverse);font-family:var(--font-sans);font-size:var(--text-lg);font-weight:700;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 16px #0d3b4459}.review-complete button:hover{transform:translateY(-3px);box-shadow:0 8px 24px #0d3b4473}@supports (padding: env(safe-area-inset-bottom)){.review-container{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}}@media(max-width:480px){.review-container{padding:var(--space-4);justify-content:flex-start;padding-top:var(--space-8)}.review-header{margin-bottom:var(--space-6)}.review-progress{font-size:var(--text-xs)}.review-title{font-size:var(--text-xl)}.card-stack{height:380px;max-width:100%;flex-shrink:0}.review-card{padding:var(--space-5);border-radius:var(--radius-xl)}.card-amount{font-size:var(--text-3xl);margin-bottom:var(--space-3)}.card-meta{gap:var(--space-3);margin-bottom:var(--space-4);font-size:var(--text-xs)}.card-meta span{padding:var(--space-1) var(--space-2)}.card-description{padding:var(--space-4);font-size:var(--text-sm);max-height:120px}.remember-sender{padding-top:var(--space-3)}.remember-sender-card{padding:var(--space-3);gap:var(--space-3)}.remember-checkbox-toggle{width:22px;height:22px}.remember-sender-text{font-size:.65rem}.remember-sender-name{font-size:var(--text-xs)}.remember-hint{font-size:.65rem}.swipe-indicator{font-size:var(--text-xs);padding:var(--space-1) var(--space-3)}.review-actions{gap:var(--space-4);margin-top:var(--space-5)}.review-btn.reject,.review-btn.accept{width:72px;height:80px}.review-btn.undo{width:50px;height:60px}.review-btn span{font-size:.6rem}.review-complete{padding:var(--space-6);margin:var(--space-4);max-width:100%}.review-complete h2{font-size:var(--text-xl);margin-bottom:var(--space-6)}.review-complete .stats{gap:var(--space-6);margin-bottom:var(--space-6)}.review-complete .stat-value{font-size:var(--text-3xl)}.review-complete .stat-label{font-size:var(--text-xs)}.review-complete button{width:100%;min-height:56px;font-size:var(--text-base);padding:var(--space-4) var(--space-6)}.review-instructions{margin-top:var(--space-6);font-size:.65rem}}@media(hover:none)and (pointer:coarse){.review-btn.reject:hover,.review-btn.accept:hover{background:var(--color-bg-card-solid);transform:none}.review-complete button:hover{transform:none}}.review-container.hidden{display:none}
