body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box;margin:0;padding:0}:root{--primary-dark:#1a472a;--primary-light:#2d6a3e;--accent-green:#10b981;--accent-red:#ef4444;--accent-blue:#3b82f6;--accent-amber:#f59e0b;--bg-primary:#fff;--bg-secondary:#f8fafc;--bg-tertiary:#f1f5f9;--border-color:#e2e8f0;--text-primary:#1f2937;--text-secondary:#6b7280;--text-light:#9ca3af;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--font-display:"Segoe UI",Tahoma,Geneva,Verdana,sans-serif;--font-body:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto",sans-serif;--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;--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition-base:200ms cubic-bezier(0.4,0,0.2,1);--transition-slow:300ms cubic-bezier(0.4,0,0.2,1)}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8fafc;background-color:var(--bg-secondary);color:#1f2937;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-body);line-height:1.6}.app{background:linear-gradient(135deg,#f8fafc,#fff);background:linear-gradient(135deg,var(--bg-secondary) 0,var(--bg-primary) 100%);display:flex;flex-direction:column;min-height:100vh}.app-header{background:linear-gradient(135deg,#1a472a,#2d6a3e);background:linear-gradient(135deg,var(--primary-dark) 0,var(--primary-light) 100%);box-shadow:0 10px 15px -3px #0000001a;box-shadow:var(--shadow-lg);color:#fff;padding:1.5rem;padding:var(--spacing-lg);position:sticky;top:0;z-index:100}.header-content{gap:1.5rem;gap:var(--spacing-lg);justify-content:space-between;margin:0 auto;max-width:1200px}.header-content,.header-title{align-items:center;display:flex}.header-title{gap:1rem;gap:var(--spacing-md)}.header-icon{height:40px;opacity:.9;width:40px}.header-title h1{font-size:1.75rem;font-weight:700;margin:0}.header-email{font-size:.875rem;margin:0;opacity:.8}.btn-logout{align-items:center;background:#fff3;border:1px solid #ffffff4d;border-radius:.5rem;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;gap:var(--spacing-sm);padding:.5rem 1rem;padding:var(--spacing-sm) var(--spacing-md);transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--transition-base)}.btn-logout:hover{background:#ffffff4d;border-color:#ffffff80;transform:translateY(-1px)}.app-main{animation:fadeIn .3s cubic-bezier(.4,0,.2,1);animation:fadeIn var(--transition-slow);flex:1 1;margin:0 auto;max-width:1200px;padding:1.5rem;padding:var(--spacing-lg);width:100%}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.app-footer{background:#f1f5f9;background:var(--bg-tertiary);border-top:1px solid #e2e8f0;border-top:1px solid var(--border-color);color:#6b7280;color:var(--text-secondary);font-size:.875rem;margin-top:auto;text-align:center}.app-footer,.totals-section{padding:1.5rem;padding:var(--spacing-lg)}.totals-section{grid-gap:1.5rem;grid-gap:var(--spacing-lg);animation:slideUp .3s cubic-bezier(.4,0,.2,1);animation:slideUp var(--transition-slow);display:grid;gap:1.5rem;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin:0 auto;max-width:1200px;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.total-card{background:#fff;border-left:4px solid;border-radius:1rem;box-shadow:0 4px 6px -1px #0000001a;box-shadow:var(--shadow-md);padding:1.5rem;padding:var(--spacing-lg);transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--transition-base)}.total-card:hover{box-shadow:0 10px 15px -3px #0000001a;box-shadow:var(--shadow-lg);transform:translateY(-4px)}.total-card.income{border-left-color:#10b981;border-left-color:var(--accent-green)}.total-card.expense{border-left-color:#ef4444;border-left-color:var(--accent-red)}.total-card.balance{border-left-color:#3b82f6;border-left-color:var(--accent-blue)}.total-label{align-items:center;color:#6b7280;color:var(--text-secondary);display:flex;font-size:.875rem;font-weight:600;gap:.5rem;gap:var(--spacing-sm);letter-spacing:.05em;margin-bottom:1rem;margin-bottom:var(--spacing-md);text-transform:uppercase}.total-amount{font-feature-settings:"tnum";color:#1f2937;color:var(--text-primary);font-size:2rem;font-variant-numeric:tabular-nums;font-weight:700}.app-tabs{background:#fff;border-bottom:2px solid #e2e8f0;border-bottom:2px solid var(--border-color);display:flex;gap:1rem;gap:var(--spacing-md);margin:0 auto;max-width:1200px;padding:0 1.5rem;padding:0 var(--spacing-lg);position:sticky;top:80px;width:100%;z-index:50}.tab{align-items:center;background:none;border:none;border-bottom:3px solid #0000;color:#6b7280;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.95rem;font-weight:600;gap:.5rem;gap:var(--spacing-sm);margin-bottom:-2px;padding:1rem 1.5rem;padding:var(--spacing-md) var(--spacing-lg);transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--transition-base)}.tab:hover{color:#1f2937;color:var(--text-primary)}.tab.active{border-bottom-color:#1a472a;border-bottom-color:var(--primary-dark);color:#1a472a;color:var(--primary-dark)}.btn-add-transaction,.btn-primary,.btn-secondary{align-items:center;border:none;border-radius:.5rem;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;gap:.5rem;gap:var(--spacing-sm);padding:1rem 1.5rem;padding:var(--spacing-md) var(--spacing-lg);transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--transition-base)}.btn-primary{background:linear-gradient(135deg,#1a472a,#2d6a3e);background:linear-gradient(135deg,var(--primary-dark) 0,var(--primary-light) 100%);box-shadow:0 4px 6px -1px #0000001a;box-shadow:var(--shadow-md);color:#fff}.btn-primary:hover{box-shadow:0 10px 15px -3px #0000001a;box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:#f1f5f9;background:var(--bg-tertiary);border:1px solid #e2e8f0;border:1px solid var(--border-color);color:#1f2937;color:var(--text-primary)}.btn-secondary:hover{background:#e2e8f0;background:var(--border-color)}.btn-add-transaction{background:linear-gradient(135deg,#10b981,#059669);background:linear-gradient(135deg,var(--accent-green) 0,#059669 100%);box-shadow:0 4px 6px -1px #0000001a;box-shadow:var(--shadow-md);color:#fff;justify-content:center;margin-bottom:1.5rem;margin-bottom:var(--spacing-lg);width:100%}.btn-add-transaction:hover{box-shadow:0 10px 15px -3px #0000001a;box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn-icon{align-items:center;background:none;border:none;border-radius:.375rem;color:#6b7280;color:var(--text-secondary);cursor:pointer;display:flex;justify-content:center;padding:.5rem;padding:var(--spacing-sm);transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast)}.btn-icon:hover{background:#f1f5f9;background:var(--bg-tertiary);color:#1f2937;color:var(--text-primary)}.btn-icon.danger:hover{background:#ef44441a;color:#ef4444;color:var(--accent-red)}.btn-close{align-items:center;background:none;border:none;color:#6b7280;color:var(--text-secondary);cursor:pointer;display:flex;justify-content:center;padding:.5rem;padding:var(--spacing-sm);transition:color .15s cubic-bezier(.4,0,.2,1);transition:color var(--transition-fast)}.btn-close:hover{color:#1f2937;color:var(--text-primary)}.form-container{animation:slideUp .3s cubic-bezier(.4,0,.2,1);animation:slideUp var(--transition-slow)}.transaction-form{background:#fff;border-radius:1rem;box-shadow:0 10px 15px -3px #0000001a;box-shadow:var(--shadow-lg);margin:0 auto;max-width:500px;padding:2rem;padding:var(--spacing-xl)}.form-header{align-items:center;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:1.5rem;margin-bottom:var(--spacing-lg);padding-bottom:1.5rem;padding-bottom:var(--spacing-lg)}.form-header h3{font-size:1.5rem}.form-group{margin-bottom:1.5rem;margin-bottom:var(--spacing-lg)}.form-row{grid-gap:1.5rem;grid-gap:var(--spacing-lg);display:grid;gap:1.5rem;gap:var(--spacing-lg);grid-template-columns:1fr 1fr}.form-group label{color:#1f2937;color:var(--text-primary);display:block;font-size:.9rem;font-weight:600;margin-bottom:.5rem;margin-bottom:var(--spacing-sm)}.form-group input,.form-group select{border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:.5rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-body);font-size:1rem;padding:1rem;padding:var(--spacing-md);transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast);width:100%}.form-group input:focus,.form-group select:focus{border-color:#1a472a;border-color:var(--primary-dark);box-shadow:0 0 0 3px #1a472a1a;outline:none}.radio-group{display:flex;gap:1.5rem;gap:var(--spacing-lg)}.radio{align-items:center;cursor:pointer;display:flex;font-weight:500;gap:.5rem;gap:var(--spacing-sm)}.radio input[type=radio]{cursor:pointer;margin:0;width:auto}.form-actions{border-top:1px solid #e2e8f0;border-top:1px solid var(--border-color);justify-content:flex-end;margin-top:2rem;margin-top:var(--spacing-xl);padding-top:1.5rem;padding-top:var(--spacing-lg)}.form-actions,.transaction-list{display:flex;gap:1rem;gap:var(--spacing-md)}.transaction-list{animation:slideUp .3s cubic-bezier(.4,0,.2,1);animation:slideUp var(--transition-slow);flex-direction:column}.transaction-item{align-items:center;background:#fff;border-left:4px solid;border-radius:.75rem;box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);display:flex;justify-content:space-between;padding:1rem 1.5rem;padding:var(--spacing-md) var(--spacing-lg);transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--transition-base)}.transaction-item:hover{box-shadow:0 4px 6px -1px #0000001a;box-shadow:var(--shadow-md);transform:translateX(2px)}.transaction-item.income{background:linear-gradient(90deg,#10b98105,#fff);border-left-color:#10b981;border-left-color:var(--accent-green)}.transaction-item.expense{background:linear-gradient(90deg,#ef444405,#fff);border-left-color:#ef4444;border-left-color:var(--accent-red)}.transaction-details{align-items:center;display:flex;flex:1 1;gap:1.5rem;gap:var(--spacing-lg);justify-content:space-between}.transaction-main{flex:1 1}.transaction-main h4{color:#1f2937;color:var(--text-primary);font-size:1rem;margin:0 0 .25rem;margin:0 0 var(--spacing-xs) 0}.transaction-category{color:#6b7280;color:var(--text-secondary);font-size:.875rem;margin:0}.transaction-date{color:#9ca3af;color:var(--text-light);font-size:.875rem;white-space:nowrap}.transaction-amount{font-feature-settings:"tnum";align-items:center;display:flex;font-variant-numeric:tabular-nums;font-weight:700;gap:1rem;gap:var(--spacing-md);min-width:120px;text-align:right}.transaction-item.income .amount{color:#10b981;color:var(--accent-green)}.transaction-item.expense .amount{color:#ef4444;color:var(--accent-red)}.transaction-actions{display:flex;gap:.5rem;gap:var(--spacing-sm)}.transaction-edit{align-items:center;display:flex;gap:1rem;gap:var(--spacing-md);width:100%}.transaction-edit input{border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:.375rem;flex:1 1;padding:.5rem 1rem;padding:var(--spacing-sm) var(--spacing-md)}.dashboard{grid-gap:2rem;grid-gap:var(--spacing-xl);animation:slideUp .3s cubic-bezier(.4,0,.2,1);animation:slideUp var(--transition-slow);display:grid;gap:2rem;gap:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}.dashboard-section{background:#fff;border-radius:1rem;box-shadow:0 4px 6px -1px #0000001a;box-shadow:var(--shadow-md);padding:2rem;padding:var(--spacing-xl)}.dashboard-section h2{color:#1f2937;color:var(--text-primary);font-size:1.25rem;margin:0 0 1.5rem;margin:0 0 var(--spacing-lg) 0}.empty-chart{font-size:.95rem;padding:3rem;padding:var(--spacing-2xl)}.empty-chart,.empty-state{color:#6b7280;color:var(--text-secondary);text-align:center}.empty-state{padding:3rem 1.5rem;padding:var(--spacing-2xl) var(--spacing-lg)}.empty-state svg{height:64px;margin:0 auto 1.5rem;margin:0 auto var(--spacing-lg);opacity:.5;width:64px}.empty-state h3{color:#1f2937;color:var(--text-primary);font-size:1.25rem;margin-bottom:1rem;margin-bottom:var(--spacing-md)}.login-page{align-items:center;background:linear-gradient(135deg,#1a472a,#2d6a3e);background:linear-gradient(135deg,var(--primary-dark) 0,var(--primary-light) 100%);display:flex;justify-content:center;min-height:100vh;padding:1.5rem;padding:var(--spacing-lg)}.login-card{animation:slideUp .3s cubic-bezier(.4,0,.2,1);animation:slideUp var(--transition-slow);background:#fff;border-radius:1.5rem;box-shadow:0 20px 25px -5px #0000001a;box-shadow:var(--shadow-xl);max-width:400px;padding:3rem;padding:var(--spacing-2xl);text-align:center;width:100%}.login-icon{color:#1a472a;color:var(--primary-dark);height:80px;margin:0 auto 1.5rem;margin:0 auto var(--spacing-lg);width:80px}.login-card h1{font-size:1.75rem;margin-bottom:.5rem;margin-bottom:var(--spacing-sm)}.login-subtitle{color:#6b7280;color:var(--text-secondary);margin-bottom:2rem;margin-bottom:var(--spacing-xl)}.btn-google-login{align-items:center;background:#fff;border:2px solid #e2e8f0;border:2px solid var(--border-color);border-radius:.5rem;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:1rem;gap:var(--spacing-md);justify-content:center;margin-bottom:1.5rem;margin-bottom:var(--spacing-lg);padding:1rem 1.5rem;padding:var(--spacing-md) var(--spacing-lg);transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--transition-base);width:100%}.btn-google-login:hover{border-color:#1a472a;border-color:var(--primary-dark);box-shadow:0 4px 6px -1px #0000001a;box-shadow:var(--shadow-md)}.login-note{color:#6b7280;color:var(--text-secondary);font-size:.875rem;margin-bottom:1.5rem;margin-bottom:var(--spacing-lg)}.login-features{border-top:1px solid #e2e8f0;border-top:1px solid var(--border-color);flex-direction:column;margin-top:2rem;margin-top:var(--spacing-xl);padding-top:2rem;padding-top:var(--spacing-xl)}.feature,.login-features{display:flex;gap:1rem;gap:var(--spacing-md)}.feature{align-items:center;color:#6b7280;color:var(--text-secondary);font-size:.875rem;text-align:left}.feature-icon{font-size:1.5rem}.app-loading{align-items:center;background:linear-gradient(135deg,#f8fafc,#fff);background:linear-gradient(135deg,var(--bg-secondary) 0,var(--bg-primary) 100%);display:flex;flex-direction:column;justify-content:center;min-height:100vh}.spinner{animation:spin 1s linear infinite;border:4px solid #e2e8f0;border-top-color:#1a472a;border:4px solid var(--border-color);border-radius:50%;border-top-color:var(--primary-dark);height:48px;width:48px}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:768px){.app-header{padding:1rem;padding:var(--spacing-md)}.header-content{align-items:flex-start;flex-direction:column}.header-title h1{font-size:1.25rem}.app-main,.totals-section{padding:1rem;padding:var(--spacing-md)}.dashboard,.form-row,.totals-section{grid-template-columns:1fr}.transaction-details,.transaction-item{align-items:flex-start;flex-direction:column}.transaction-details{margin-bottom:1rem;margin-bottom:var(--spacing-md);width:100%}.transaction-amount{justify-content:space-between;width:100%}.app-tabs{padding:0 1rem;padding:0 var(--spacing-md)}}@media print{.app-footer,.app-header,.app-tabs,.btn-add-transaction,.btn-logout,.transaction-actions{display:none}}@media (prefers-color-scheme:dark){:root{--bg-primary:#1a1a1a;--bg-secondary:#0f0f0f;--text-primary:#f3f4f6;--text-secondary:#d1d5db}.dashboard-section,.login-card,.total-card,.transaction-form,.transaction-item{background:#1f1f1f}}
/*# sourceMappingURL=main.9be1290b.css.map*/