:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--slate-50:#f8fafc;--slate-100:#f1f5f9;--slate-200:#e2e8f0;--slate-300:#cbd5e1;--slate-400:#94a3b8;--slate-500:#64748b;--slate-600:#475569;--slate-700:#334155;--slate-800:#1e293b;--slate-900:#0f172a;--brand-google-blue:#4285f4;--brand-google-green:#34a853;--brand-google-yellow:#fbbc05;--brand-google-red:#ea4335;--accent-primary:#4f46e5;--accent-primary-hover:#4338ca;--surface-base:#f8fafc;--surface-card:#fff;--border-subtle:#e2e8f0;--text-primary:#0f172a;--text-muted:#64748b;--text-inverse:#fff;--success:#047857;--success-light:#ecfdf5;--success-fg:#065f46;--warning:#b45309;--warning-light:#fffbeb;--warning-fg:#92400e;--error:#be123c;--error-light:#fef2f2;--error-fg:#991b1b;--info:#1d4ed8;--info-light:#eff6ff;--info-fg:#1e40af;--hero-bg:linear-gradient(145deg, #0f172a 0%, #1e293b 100%);--hero-text-muted:#94a3b8;--hero-income:#34d399;--hero-expense:#f87171;--google-btn-bg:#fff;--google-btn-fg:#1e293b;--background:var(--surface-base);--surface:var(--surface-card);--surface-secondary:#f1f5f9;--border:var(--border-subtle);--foreground:var(--text-primary);--muted-foreground:var(--text-muted);--card:var(--surface-card);--accent:var(--accent-primary);--primary:var(--accent-primary);--destructive:var(--error);--amber-100:#fef3c7;--amber-800:#92400e;--avatar-bg:#e0e7ff;--avatar-fg:#3730a3;--offline-bg:#fef2f2;--offline-fg:#991b1b;--offline-border:#fee2e2;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a;--space-0-5:4px;--space-1:8px;--space-2:16px;--space-3:24px;--space-4:32px;--space-5:40px;--space-6:48px;--space-8:64px;--space-12:96px;--space-16:128px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:20px;--radius-pill:9999px;--radius-full:9999px;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", sans-serif;--font-mono:"Menlo", "Monaco", "Courier New", monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--font-regular:400;--font-medium:500;--font-semibold:600;--font-bold:700;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.625;--z-dropdown:1000;--z-modal:1100;--z-toast:1200;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-base:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.35s cubic-bezier(.4, 0, .2, 1)}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--accent-primary:#4f46e5;--accent-primary-hover:#4338ca;--surface-base:#0b0f19;--surface-card:#111827;--border-subtle:#ffffff26;--text-primary:#f9fafb;--text-muted:#94a3b8;--text-inverse:#fff;--success:#10b981;--success-light:#10b98126;--success-fg:#6ee7b7;--warning:#f59e0b;--warning-light:#f59e0b26;--warning-fg:#fde68a;--error:#f43f5e;--error-light:#ef444426;--error-fg:#fca5a5;--info:#60a5fa;--info-light:#3b82f626;--info-fg:#93c5fd;--hero-income:#34d399;--hero-expense:#f87171;--background:var(--surface-base);--surface:var(--surface-card);--surface-secondary:#1e293b;--border:#ffffff59;--foreground:var(--text-primary);--muted-foreground:var(--text-muted);--card:var(--surface-card);--accent:var(--accent-primary);--primary:var(--accent-primary);--destructive:var(--error);--avatar-bg:#312e81;--avatar-fg:#c7d2fe;--offline-bg:#450a0a;--offline-fg:#fca5a5;--offline-border:#7f1d1d;--shadow-sm:0 1px 2px 0 #0006;--shadow-md:0 4px 6px -1px #00000080;--shadow-lg:0 10px 15px -3px #0009}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--accent-primary:#4f46e5;--accent-primary-hover:#4338ca;--surface-base:#0b0f19;--surface-card:#111827;--border-subtle:#ffffff26;--text-primary:#f9fafb;--text-muted:#94a3b8;--text-inverse:#fff;--success:#10b981;--success-light:#10b98126;--success-fg:#6ee7b7;--warning:#f59e0b;--warning-light:#f59e0b26;--warning-fg:#fde68a;--error:#f43f5e;--error-light:#ef444426;--error-fg:#fca5a5;--info:#60a5fa;--info-light:#3b82f626;--info-fg:#93c5fd;--hero-income:#34d399;--hero-expense:#f87171;--background:var(--surface-base);--surface:var(--surface-card);--surface-secondary:#1e293b;--border:#ffffff59;--foreground:var(--text-primary);--muted-foreground:var(--text-muted);--card:var(--surface-card);--accent:var(--accent-primary);--primary:var(--accent-primary);--destructive:var(--error);--avatar-bg:#312e81;--avatar-fg:#c7d2fe;--offline-bg:#450a0a;--offline-fg:#fca5a5;--offline-border:#7f1d1d;--shadow-sm:0 1px 2px 0 #0006;--shadow-md:0 4px 6px -1px #00000080;--shadow-lg:0 10px 15px -3px #0009}}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}html.preload,html.preload *{transition:none!important}html{transition:background-color .2s,color .2s}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--foreground);background:var(--background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}h1,h2,h3,h4,h5,h6,p,figure,blockquote{margin:0}ul,ol{margin:0;padding:0;list-style:none}img,svg{max-width:100%;display:block}button{font:inherit;cursor:pointer}button,a[role=button],input[type=button],input[type=submit]{min-height:44px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-viewport{background-color:var(--surface-secondary);justify-content:center;min-height:100vh;display:flex}.app-container{background:var(--background);width:100%;max-width:440px;min-height:100vh;box-shadow:var(--shadow-lg);flex-direction:column;display:flex;position:relative}.btn{height:44px;min-height:44px;padding:0 var(--space-2);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:14px;font-weight:var(--font-medium);cursor:pointer;color:var(--foreground);transition:all var(--transition-fast) ease;-webkit-user-select:none;user-select:none;box-sizing:border-box;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;line-height:1;text-decoration:none;display:inline-flex}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--accent-primary);color:var(--text-inverse);border-color:#0000}.btn-primary:hover:not(:disabled){background:var(--accent-primary-hover)}.btn-secondary{background:var(--surface-secondary);border-color:var(--border);color:var(--foreground)}.btn-secondary:hover:not(:disabled){background:var(--surface)}.btn-ghost{color:var(--foreground);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--surface-secondary)}.card{border-radius:var(--radius-lg);padding:var(--space-2);background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.app-header{background:var(--card);border-bottom:1px solid var(--border);z-index:20;justify-content:space-between;align-items:center;padding:14px 20px;display:flex;position:sticky;top:0}.brand-group h1{letter-spacing:-.02em;color:var(--foreground);align-items:center;gap:6px;font-size:18px;font-weight:700;display:flex}.brand-badge{background:var(--surface-secondary);color:var(--muted-foreground);border-radius:var(--radius-sm);border:1px solid var(--border);padding:2px 6px;font-size:10px;font-weight:600}.brand-sub{color:var(--muted-foreground);margin-top:2px;font-size:12px}.user-profile-menu{align-items:center;gap:8px;display:flex}.user-avatar{border-radius:var(--radius-full);background:var(--avatar-bg);width:36px;height:36px;color:var(--avatar-fg);border:1px solid var(--border);justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex;overflow:hidden}.theme-toggle-wrap{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);width:44px;min-width:44px;height:44px;min-height:44px;color:var(--foreground);justify-content:center;align-items:center;display:inline-flex;position:relative}.theme-toggle-icon{pointer-events:none;font-size:16px}.theme-select{opacity:0;cursor:pointer;appearance:none;width:100%;height:100%;position:absolute;top:0;left:0}.btn-signout{border:1px solid var(--border);border-radius:var(--radius-md);color:var(--muted-foreground);cursor:pointer;min-height:44px;transition:all var(--transition-fast) ease;background:0 0;justify-content:center;align-items:center;padding:0 12px;font-size:13px;font-weight:500;display:inline-flex}.btn-signout:hover{background:var(--surface-secondary);color:var(--foreground)}.offline-banner{background:var(--offline-bg);border-bottom:1px solid var(--offline-border);color:var(--offline-fg);align-items:center;gap:8px;padding:8px 16px;font-size:12px;font-weight:500;display:flex}.app-content{padding:16px;padding-bottom:calc(104px + env(safe-area-inset-bottom));flex-direction:column;flex:1;gap:16px;display:flex;overflow-y:auto}.month-navigator{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;padding:4px 8px;display:flex}.month-navigator-label{color:var(--foreground);text-align:center;-webkit-user-select:none;user-select:none;font-size:15px;font-weight:600}.btn-month-nav{border-radius:var(--radius-lg);width:44px;min-width:44px;height:44px;min-height:44px;color:var(--foreground);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;font-size:20px;line-height:1;transition:background-color .15s,transform .1s;display:inline-flex}.btn-month-nav:hover{background:var(--surface-secondary)}.btn-month-nav:active{transform:scale(.95)}.hero-card{background:var(--hero-bg);color:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-md);border:1px solid var(--border-subtle);padding:20px}.hero-label{color:var(--hero-text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:500}.hero-balance{letter-spacing:-.02em;margin:6px 0 16px;font-size:28px;font-weight:700}.stats-row{border-top:1px solid #ffffff1a;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding-top:14px;display:grid}@media (width<=360px){.stats-row{grid-template-columns:1fr;gap:10px}}.stat-item{flex-direction:column;min-width:0;display:flex}.stat-title{color:var(--hero-text-muted);white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-size:11px;overflow:hidden}.stat-val-income{color:var(--success);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.stat-val-expense{color:var(--error);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.hero-card .stat-val-income{color:var(--hero-income)}.hero-card .stat-val-expense{color:var(--hero-expense)}dialog,.delete-dialog{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);color:var(--foreground);width:calc(100% - 32px);max-width:400px;margin:auto;padding:0;box-shadow:0 20px 25px -5px #00000040}dialog::backdrop,.delete-dialog::backdrop{background:#00000080}.delete-dialog-content{flex-direction:column;gap:12px;padding:20px;display:flex}.delete-dialog-title{color:var(--foreground);margin:0;font-size:18px;font-weight:600}.delete-dialog-desc{color:var(--muted-foreground);margin:0;font-size:14px;line-height:1.5}.delete-dialog-desc strong{color:var(--foreground)}.delete-dialog-warning{background:var(--amber-100);color:var(--amber-800);border-radius:var(--radius-md);padding:10px 12px;font-size:13px;line-height:1.4}.delete-dialog-actions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.btn-dialog-cancel{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-secondary);min-width:80px;min-height:44px;color:var(--foreground);cursor:pointer;transition:all var(--transition-fast) ease;padding:0 16px;font-size:14px;font-weight:500}.btn-dialog-cancel:hover:not(:disabled){background:var(--surface)}.btn-dialog-cancel:active:not(:disabled){transform:scale(.98)}.btn-dialog-delete{border-radius:var(--radius-md);background:var(--error);min-width:80px;min-height:44px;color:var(--text-inverse);cursor:pointer;transition:all var(--transition-fast) ease;border:none;padding:0 16px;font-size:14px;font-weight:600}.btn-dialog-delete:hover:not(:disabled){opacity:.9}.btn-dialog-delete:active:not(:disabled){transform:scale(.98)}.btn-dialog-delete:disabled,.btn-dialog-cancel:disabled{opacity:.5;cursor:not-allowed}.section-header{justify-content:space-between;align-items:center;margin-top:4px;display:flex}.section-title{color:var(--foreground);text-transform:uppercase;letter-spacing:.05em;font-size:13px;font-weight:700}.accounts-scroller{scrollbar-width:none;gap:10px;padding-bottom:4px;display:flex;overflow-x:auto}.accounts-scroller::-webkit-scrollbar{display:none}.account-chip{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);min-width:130px;box-shadow:var(--shadow-sm);flex-shrink:0;padding:12px 14px}.account-chip-name{color:var(--muted-foreground);font-size:12px;font-weight:500}.account-chip-balance{color:var(--foreground);margin-top:4px;font-size:15px;font-weight:700}.filters-bar{flex-direction:column;gap:8px;display:flex}.search-filter-row{align-items:center;gap:8px;display:flex}.search-input-wrap{flex:1;position:relative}.search-input{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);width:100%;color:var(--foreground);box-sizing:border-box;min-height:44px;transition:border-color var(--transition-fast) ease, outline var(--transition-fast) ease;outline:none;padding:10px 14px;font-size:14px}.search-input:focus{outline:2px solid var(--accent-primary);outline-offset:1px;border-color:#0000}.search-input::placeholder,.form-input::placeholder,.input::placeholder,.input-hero-amount::placeholder{color:var(--muted-foreground);opacity:1}.btn-filter-trigger,.btn-export-trigger{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--card);width:44px;min-width:44px;height:44px;min-height:44px;color:var(--foreground);cursor:pointer;justify-content:center;align-items:center;transition:all .15s;display:inline-flex;position:relative}.btn-filter-trigger:hover,.btn-export-trigger:hover:not(:disabled){background:var(--surface-secondary)}.btn-export-trigger:disabled{opacity:.4;cursor:not-allowed}.btn-filter-trigger.has-active{border-color:var(--accent);color:var(--accent)}.filter-badge-counter{background:var(--accent);color:#fff;border-radius:var(--radius-full);min-width:18px;height:18px;box-shadow:var(--shadow-sm);justify-content:center;align-items:center;padding:0 4px;font-size:11px;font-weight:700;display:flex;position:absolute;top:-5px;right:-5px}.filter-section-title{color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.5px;margin-top:14px;margin-bottom:6px;font-size:11px;font-weight:700;display:block}.filter-chip-wrap{flex-wrap:wrap;gap:8px;display:flex}.filter-chip{border-radius:var(--radius-full);border:1px solid var(--border);background:var(--surface);color:var(--foreground);cursor:pointer;justify-content:center;align-items:center;min-height:38px;padding:8px 14px;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.filter-chip:hover{background:var(--surface-secondary)}.filter-chip.active{background:var(--accent-primary);color:var(--text-inverse);border-color:var(--accent-primary)}.filter-sheet-footer{background:var(--card);border-top:1px solid var(--border);gap:12px;margin-top:18px;padding:14px 0 6px;display:flex;position:sticky;bottom:0}.btn-outline{border-radius:var(--radius-md);border:1px solid var(--border);height:44px;min-height:44px;color:var(--foreground);cursor:pointer;transition:all var(--transition-fast) ease;background:0 0;flex:1;font-size:14px;font-weight:600}.btn-outline:hover:not(:disabled){background:var(--surface-secondary)}.btn-outline:active:not(:disabled){transform:scale(.98)}.btn-solid{border-radius:var(--radius-md);background:var(--accent-primary);height:44px;min-height:44px;color:var(--text-inverse);cursor:pointer;transition:all var(--transition-fast) ease;border:none;flex:1;font-size:14px;font-weight:600}.btn-solid:hover:not(:disabled){background:var(--accent-primary-hover)}.btn-solid:active:not(:disabled){transform:scale(.98)}.btn-link-action{color:var(--accent);cursor:pointer;background:0 0;border:none;margin-top:8px;padding:4px;font-size:14px;font-weight:600;text-decoration:underline}.type-filter-pills{gap:6px;display:flex;overflow-x:auto}.date-range-chips{-webkit-overflow-scrolling:touch;gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.date-chip{background:var(--surface-secondary);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--foreground);white-space:nowrap;cursor:pointer;justify-content:center;align-items:center;min-height:44px;padding:8px 14px;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.date-chip:hover{background:var(--surface)}.date-chip.active{background:var(--accent-primary);color:var(--text-inverse);border-color:var(--accent-primary)}.type-toggle{background:var(--surface-secondary);border-radius:var(--radius-md);border:1px solid var(--border);grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;display:grid}.type-btn{color:var(--muted-foreground);border-radius:var(--radius-sm);cursor:pointer;min-height:44px;transition:all var(--transition-fast) ease;background:0 0;border:none;justify-content:center;align-items:center;padding:8px 12px;font-size:13px;font-weight:500;display:flex}.type-btn:hover:not(.active){color:var(--foreground)}.type-btn.active{background:var(--accent-primary);color:var(--text-inverse);box-shadow:var(--shadow-sm);font-weight:600}.type-filter-btn{background:var(--surface-secondary);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--muted-foreground);min-height:44px;padding:6px 12px;font-size:12px;font-weight:500}.type-filter-btn.active{background:var(--accent-primary);color:var(--text-inverse);border-color:var(--accent-primary)}.filter-dropdowns-row{gap:8px;display:flex}.filter-select{flex:1;min-height:34px;padding:6px 10px;font-size:12px}.card-list{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);overflow:hidden}.tx-item{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.tx-item:last-child{border-bottom:none}.tx-left{align-items:center;gap:12px;display:flex}.tx-icon{border-radius:var(--radius-md);background:var(--surface-secondary);flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;display:flex}.tx-info{flex-direction:column;display:flex}.tx-title{color:var(--foreground);font-size:14px;font-weight:600}.tx-sub{color:var(--muted-foreground);font-size:12px}.tx-right{flex-direction:column;align-items:flex-end;display:flex}.tx-amount{font-variant-numeric:tabular-nums;font-size:14px;font-weight:700}.tx-amount-expense{color:var(--foreground)}.tx-amount-income{color:var(--success)}.tx-amount-transfer{color:var(--accent)}.tx-actions{align-items:center;gap:6px;display:flex}.btn-tx-duplicate{cursor:pointer;border-radius:var(--radius-sm);min-width:44px;min-height:44px;color:var(--muted-foreground);transition:color var(--transition-fast), background var(--transition-fast), transform var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:13px;display:inline-flex}.btn-tx-duplicate:hover{background:var(--surface);color:var(--foreground)}.btn-tx-duplicate:active{transform:scale(.92)}.btn-tx-edit{color:var(--muted-foreground);cursor:pointer;border-radius:var(--radius-sm);min-width:44px;min-height:44px;transition:color var(--transition-fast), background var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0 8px;font-size:12px;display:inline-flex}.btn-tx-edit:hover{background:var(--surface);color:var(--foreground)}.btn-tx-delete{color:var(--error);cursor:pointer;border-radius:var(--radius-sm);min-width:44px;min-height:44px;transition:opacity var(--transition-fast), background var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0 8px;font-size:12px;display:inline-flex}.btn-tx-delete:hover{background:var(--surface);opacity:.85}.empty-state-card{background:var(--card);border:1.5px dashed var(--border);border-radius:var(--radius-xl);text-align:center;flex-direction:column;align-items:center;gap:10px;padding:36px 20px;display:flex}.empty-illustration{border-radius:var(--radius-full);background:var(--surface-secondary);justify-content:center;align-items:center;width:52px;height:52px;font-size:24px;display:flex}.fab-bottom{width:100%;max-width:440px;padding:12px 16px;padding-bottom:max(12px, env(safe-area-inset-bottom));background:var(--card);border-top:1px solid var(--border);z-index:30;box-sizing:border-box;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.btn-hero{background:var(--accent-primary);width:100%;height:48px;min-height:48px;color:var(--text-inverse);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast) ease;border:none;justify-content:center;align-items:center;gap:8px;font-size:15px;font-weight:600;display:flex;box-shadow:0 4px 12px #4f46e54d}.btn-hero:hover{background:var(--accent-primary-hover)}.btn-hero:active{transform:scale(.98)}.sheet-backdrop{z-index:100;background:#0009;flex-direction:column;justify-content:flex-end;align-items:center;display:flex;position:fixed;inset:0}.bottom-sheet{background:var(--card);width:100%;max-width:480px;box-shadow:var(--shadow-lg);border:1px solid var(--border);border-top-left-radius:20px;border-top-right-radius:20px;flex-direction:column;max-height:90dvh;display:flex;overflow:hidden}@media (width>=768px){.sheet-backdrop{padding:var(--space-3);justify-content:center}.bottom-sheet{border-radius:var(--radius-xl);max-height:85vh}.sheet-handle-bar{display:none}}.sheet-handle-bar{justify-content:center;width:100%;padding-top:10px;padding-bottom:4px;display:flex}.sheet-handle{background:var(--border);border-radius:var(--radius-full);width:36px;height:4px}.sheet-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 20px 14px;display:flex}.sheet-header h3{color:var(--foreground);font-size:16px;font-weight:700}.btn-close-sheet{border-radius:var(--radius-full);width:44px;height:44px;min-height:44px;color:var(--muted-foreground);cursor:pointer;transition:all var(--transition-fast) ease;background:0 0;border:none;justify-content:center;align-items:center;font-size:20px;display:flex}.btn-close-sheet:hover{background:var(--surface-secondary);color:var(--foreground)}.sheet-scroll-body{flex-direction:column;flex:auto;gap:16px;min-height:0;padding:16px 20px;display:flex;overflow-y:auto}.tabs-segmented{background:var(--surface-secondary);border-radius:var(--radius-md);border:1px solid var(--border);grid-template-columns:1fr 1fr 1fr;gap:4px;padding:4px;display:grid}.tab-btn{color:var(--muted-foreground);border-radius:var(--radius-sm);cursor:pointer;min-height:44px;transition:all var(--transition-fast) ease;background:0 0;border:none;padding:8px 12px;font-size:13px;font-weight:500}.tab-btn:hover:not(.active){color:var(--foreground)}.tab-btn.active{background:var(--accent-primary);color:var(--text-inverse);box-shadow:var(--shadow-sm);font-weight:600}.form-group{flex-direction:column;gap:6px;display:flex}.form-label{color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}.amount-input-wrap{align-items:center;display:flex;position:relative}.amount-input-wrap span{color:var(--muted-foreground);pointer-events:none;font-size:20px;font-weight:700;position:absolute;left:14px}.input-hero-amount{border:1.5px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);width:100%;height:54px;color:var(--foreground);outline:none;padding-left:48px;padding-right:14px;font-family:inherit;font-size:22px;font-weight:700}.input-hero-amount:focus{border-color:var(--accent)}.input-helper-error{color:var(--error-fg);margin-top:6px;font-size:12px;font-weight:500}.pills-type-selector{background:var(--surface-secondary);border-radius:var(--radius-md);border:1px solid var(--border);grid-template-columns:1fr 1fr 1fr;gap:4px;padding:4px;display:grid}.pill-type-btn{border-radius:var(--radius-sm);color:var(--muted-foreground);cursor:pointer;min-height:44px;transition:all var(--transition-fast) ease;background:0 0;border:none;justify-content:center;align-items:center;padding:8px 10px;font-size:13px;font-weight:500;display:flex}.pill-type-btn:hover:not(.active){color:var(--foreground)}.pill-type-btn.active{background:var(--accent-primary);color:var(--text-inverse);box-shadow:var(--shadow-sm);font-weight:600}.input,.select,.form-select,.form-input{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);width:100%;height:44px;min-height:44px;color:var(--foreground);box-sizing:border-box;transition:border-color var(--transition-fast) ease, outline var(--transition-fast) ease;outline:none;padding:0 12px;font-size:14px}.input:focus,.select:focus,.form-select:focus,.form-input:focus{outline:2px solid var(--accent-primary);outline-offset:1px;border-color:#0000}.form-error-banner{background:var(--error-light);border:1px solid var(--offline-border);border-radius:var(--radius-md);color:var(--error-fg);justify-content:space-between;align-items:center;padding:10px 12px;font-size:12px;font-weight:500;display:flex}.login-wrap{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:80vh;padding:24px;display:flex}.login-icon{background:var(--accent-primary);width:64px;height:64px;color:var(--text-inverse);border-radius:var(--radius-xl);justify-content:center;align-items:center;margin-bottom:16px;font-size:32px;display:flex}.login-title{color:var(--foreground);font-size:24px;font-weight:700}.login-sub{color:var(--muted-foreground);margin-top:6px;margin-bottom:32px;font-size:14px}.btn-google-signin{background:var(--google-btn-bg);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:320px;height:48px;color:var(--google-btn-fg);box-shadow:var(--shadow-sm);justify-content:center;align-items:center;gap:12px;font-size:14px;font-weight:600;display:flex}.btn-header-gear{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-md);width:44px;height:44px;min-height:44px;color:var(--foreground);cursor:pointer;justify-content:center;align-items:center;font-size:18px;transition:background-color .15s,border-color .15s;display:flex}.btn-header-gear:hover{background:var(--surface-secondary);border-color:var(--accent)}.manage-segmented-wrap{padding:12px 20px 0}.type-toggle-container{background:var(--surface-secondary);border-radius:var(--radius-md);border:1px solid var(--border);grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.type-toggle-btn{color:var(--muted-foreground);border-radius:var(--radius-sm);cursor:pointer;min-height:44px;transition:all var(--transition-fast) ease;background:0 0;border:none;justify-content:center;align-items:center;padding:8px 12px;font-size:14px;font-weight:500;display:flex}.type-toggle-btn:hover:not(.active){color:var(--foreground)}.type-toggle-btn.active{background:var(--accent-primary);color:var(--text-inverse);box-shadow:var(--shadow-sm);font-weight:600}.manage-toast-banner{background:var(--error-light);border:1px solid var(--offline-border);border-radius:var(--radius-md);color:var(--error-fg);justify-content:space-between;align-items:center;margin:10px 20px 0;padding:10px 14px;font-size:13px;font-weight:500;display:flex}.manage-toast-close{color:var(--error-fg);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:16px}.btn-manage-add{background:var(--surface-secondary);border:1.5px dashed var(--muted-foreground);border-radius:var(--radius-md);width:100%;height:44px;min-height:44px;color:var(--foreground);cursor:pointer;justify-content:center;align-items:center;font-size:14px;font-weight:600;transition:all .15s;display:flex}.btn-manage-add:hover{background:var(--surface);border-color:var(--accent-primary);border-style:solid}.manage-list{flex-direction:column;gap:8px;display:flex}.manage-item-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);justify-content:space-between;align-items:center;padding:10px 14px;transition:background-color .15s;display:flex}.manage-item-row.archived{opacity:.6}.manage-item-info{text-align:left;cursor:pointer;color:inherit;background:0 0;border:none;flex:1;align-items:center;gap:12px;padding:0;display:flex}.manage-item-icon{background:var(--card);border-radius:var(--radius-md);justify-content:center;align-items:center;width:36px;height:36px;font-size:24px;display:flex}.manage-item-text{flex-direction:column;gap:2px;display:flex}.manage-item-name{color:var(--foreground);font-size:14px;font-weight:600}.manage-item-sub{color:var(--muted-foreground);font-size:12px}.manage-item-actions{align-items:center;gap:8px;display:flex}.manage-archive-btn{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--card);color:var(--foreground);cursor:pointer;padding:6px 12px;font-size:12px;font-weight:600;transition:all .15s}.manage-archive-btn:disabled{opacity:.4;cursor:not-allowed}.manage-archive-btn.is-archived{border-color:var(--accent);color:var(--accent)}.manage-edit-form{flex-direction:column;gap:14px;display:flex}.manage-form-title{color:var(--foreground);margin-bottom:4px;font-size:15px;font-weight:700}.manage-readonly-row{background:var(--surface);border-radius:var(--radius-md);justify-content:space-between;align-items:center;padding:8px 12px;font-size:13px;display:flex}.manage-readonly-label{color:var(--muted-foreground)}.manage-readonly-val{color:var(--foreground);font-weight:600}.manage-form-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:8px;display:grid}.btn-manage-cancel{border:1px solid var(--border);background:var(--surface-secondary);height:44px;min-height:44px;color:var(--foreground);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast) ease;font-weight:600}.btn-manage-cancel:hover:not(:disabled){background:var(--surface)}.btn-manage-cancel:active:not(:disabled){transform:scale(.98)}.btn-manage-save{background:var(--accent-primary);height:44px;min-height:44px;color:var(--text-inverse);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast) ease;border:none;font-weight:600}.btn-manage-save:hover:not(:disabled){background:var(--accent-primary-hover)}.btn-manage-save:active:not(:disabled){transform:scale(.98)}.btn-manage-save:disabled,.btn-manage-cancel:disabled{opacity:.6;cursor:not-allowed}.manage-bottom-bar{border-top:1px solid var(--border);background:var(--surface);padding:14px 20px}.manage-toggle-label{color:var(--foreground);cursor:pointer;align-items:center;gap:10px;font-size:13px;font-weight:500;display:flex}.manage-toggle-checkbox{width:18px;height:18px;accent-color:var(--accent);cursor:pointer}.category-breakdown-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);flex-direction:column;gap:12px;padding:16px;display:flex}.category-breakdown-header{justify-content:space-between;align-items:center;display:flex}.category-breakdown-title{color:var(--foreground);font-size:14px;font-weight:600}.category-breakdown-subtitle{color:var(--muted-foreground);font-size:12px}.category-breakdown-empty{color:var(--muted-foreground);text-align:center;padding:12px 0;font-size:13px}.category-breakdown-list{flex-direction:column;gap:12px;display:flex}.category-breakdown-item{flex-direction:column;gap:6px;display:flex}.category-breakdown-item-info{justify-content:space-between;align-items:center;font-size:13px;display:flex}.category-breakdown-item-name{color:var(--foreground);align-items:center;gap:6px;font-weight:500;display:flex}.category-breakdown-item-icon{font-size:14px}.category-breakdown-item-amount{color:var(--foreground);font-weight:600}.category-breakdown-item-pct{color:var(--muted-foreground);font-size:12px;font-weight:400}.category-breakdown-bar-track{background:var(--surface-secondary);border-radius:var(--radius-full);width:100%;height:6px;overflow:hidden}.category-breakdown-bar-fill{background:var(--accent);border-radius:var(--radius-full);height:100%;transition:width .3s}.template-chips-bar{-webkit-overflow-scrolling:touch;scrollbar-width:none;align-items:center;gap:8px;padding:8px 0;display:flex;overflow-x:auto}.template-chips-bar::-webkit-scrollbar{display:none}.template-chip{border-radius:var(--radius-full);border:1px solid var(--border);background:var(--surface);min-height:44px;color:var(--foreground);white-space:nowrap;cursor:pointer;flex-shrink:0;align-items:center;gap:8px;padding:0 14px;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.template-chip:hover{background:var(--surface-secondary);border-color:var(--muted-foreground)}.template-chip-del{width:24px;height:24px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;margin-left:2px;font-size:14px;line-height:1;transition:all .15s;display:inline-flex}.template-chip-del:hover{background:var(--destructive);color:var(--text-inverse)}.template-chip-save{border-radius:var(--radius-full);border:1.5px dashed var(--muted-foreground);background:var(--surface-secondary);min-height:44px;color:var(--foreground);white-space:nowrap;cursor:pointer;flex-shrink:0;align-items:center;gap:4px;padding:0 14px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.template-chip-save:hover{background:var(--surface);border-color:var(--accent-primary);border-style:solid}
