:root{--color-bg-base:#f7f6f3;--color-bg-surface:#fff;--color-bg-subtle:#efede8;--color-text-primary:#1a1917;--color-text-secondary:#6b6760;--color-text-disabled:#b0ada8;--color-accent-primary:#2563eb;--color-accent-primary-light:#eff4ff;--color-accent-primary-dark:#1d4ed8;--color-positive:#16a34a;--color-positive-light:#f0fdf4;--color-negative:#dc2626;--color-negative-light:#fff5f5;--color-warning:#d97706;--color-warning-light:#fffbeb;--color-border:#e5e2dc;--color-border-strong:#c9c5be;--text-xs:11px;--text-sm:13px;--text-base:15px;--text-md:17px;--text-lg:20px;--text-xl:24px;--text-2xl:32px;--font-sans:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--transition-fast:.12s ease;--transition-base:.2s ease;--transition-slow:.3s ease-out}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body{background-color:var(--color-bg-base);width:100%;height:100%;overflow-x:hidden}body{color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}a{color:inherit;transition:color var(--transition-fast), opacity var(--transition-fast);text-decoration:none}button,input,select,textarea{font-family:inherit;font-size:100%}button{cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast), opacity var(--transition-fast), transform var(--transition-fast);background:0 0;border:none}button:active{opacity:.85;transform:scale(.97)}img{max-width:100%;display:block}.pageContainer{max-width:430px;padding:0 var(--space-4);width:100%;margin:0 auto;padding-bottom:80px}.flexCenter{min-height:100vh;padding:var(--space-4);flex-direction:column;justify-content:center;align-items:center;display:flex}.tabular-nums{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.amountPositive{color:var(--color-positive)}.amountNegative{color:var(--color-negative)}.card{background:var(--color-bg-surface);border:1px solid var(--color-border);padding:var(--space-4);border-radius:16px;width:100%;max-width:430px}.input{width:100%;min-height:44px;padding:var(--space-3) var(--space-4);background:var(--color-bg-surface);border:1px solid var(--color-border);font-size:var(--text-base);color:var(--color-text-primary);transition:border-color var(--transition-base), box-shadow var(--transition-base);border-radius:12px;outline:none}.input:focus{border-color:var(--color-accent-primary);box-shadow:0 0 0 3px #2563eb26}.buttonPrimary{background:var(--color-accent-primary);color:#fff;border-radius:12px;justify-content:center;align-items:center;width:100%;min-height:44px;font-weight:600;display:flex}.buttonPrimary:hover{background:var(--color-accent-primary-dark)}.buttonSecondary{background:var(--color-bg-subtle);width:100%;min-height:44px;color:var(--color-text-primary);border-radius:12px;justify-content:center;align-items:center;font-weight:600;display:flex}.buttonSecondary:hover{opacity:.9}.fab{bottom:calc(64px + var(--space-4));right:var(--space-4);background:var(--color-accent-primary);color:#fff;z-index:100;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;font-size:24px;display:flex;position:fixed;box-shadow:0 4px 12px #2563eb59}.bottomNav{background:var(--color-bg-surface);border-top:1px solid var(--color-border);height:64px;padding-bottom:env(safe-area-inset-bottom);z-index:50;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.navItem{align-items:center;gap:var(--space-1);color:var(--color-text-secondary);font-size:var(--text-xs);flex-direction:column;min-width:64px;display:flex}.navItemActive{color:var(--color-accent-primary);background:var(--color-accent-primary-light);padding:var(--space-1) var(--space-3);border-radius:12px}.bottomSheet{background:var(--color-bg-surface);padding:var(--space-4);padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom));z-index:150;border-radius:20px 20px 0 0;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 24px #00000014}.sheetHandle{background:var(--color-border-strong);width:36px;height:4px;margin:0 auto var(--space-4);border-radius:2px}
