*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6}#root,body,html{height:100%}h1,h2,h3,h4,h5,h6{font-weight:600;margin-bottom:.5rem}h1{font-size:1.75rem}h2{font-size:1.5rem}h3{font-size:1.25rem}button{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:500;gap:.5rem;padding:.75rem 1rem;transition:all .2s ease}.btn-primary{background-color:#007bff;color:#fff}.btn-primary:hover{background-color:#0056b3}.btn-secondary{background-color:#6c757d;color:#fff}.btn-secondary:hover{background-color:#545b62}.btn-danger{background-color:#dc3545;color:#fff}.btn-danger:hover{background-color:#c82333}.btn-success{background-color:#28a745;color:#fff}.btn-success:hover{background-color:#1e7e34}input,select,textarea{border:1px solid #ddd;border-radius:8px;font-size:1rem;padding:.75rem;transition:border-color .2s ease;width:100%}input:focus,select:focus,textarea:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}label{color:#555;display:block;font-weight:500;margin-bottom:.5rem}.card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:1rem;padding:1.5rem}.container{margin:0 auto;max-width:1200px;padding:0 1rem}.text-center{text-align:center}.text-success{color:#28a745}.text-danger{color:#dc3545}.text-muted{color:#6c757d}.d-flex{display:flex}.justify-content-between{justify-content:space-between}.align-items-center{align-items:center}.gap-1{gap:.5rem}.gap-2{gap:1rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mt-2{margin-top:1rem}.loading{align-items:center;display:flex;justify-content:center;padding:2rem}.spinner{animation:spin 1s linear infinite;border:3px solid #f3f3f3;border-radius:50%;border-top-color:#007bff;height:2rem;width:2rem}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-message{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;color:#721c24;margin-bottom:1rem;padding:1rem}.success-message{background-color:#d4edda;border:1px solid #c3e6cb;border-radius:8px;color:#155724;margin-bottom:1rem;padding:1rem}@media (max-width:768px){.container{padding:0 .5rem}h1{font-size:1.5rem}h2{font-size:1.25rem}.card{padding:1rem}button{font-size:.9rem;padding:.5rem .75rem}}.app{display:flex;flex-direction:column;height:100vh;max-width:100vw;overflow-x:hidden}.main-content{flex:1 1;overflow-y:auto;padding:1rem 1rem 5rem}.header{background:linear-gradient(135deg,#007bff,#0056b3);box-shadow:0 2px 8px #0000001a;color:#fff;padding:1rem;position:-webkit-sticky;position:sticky;top:0;z-index:100}.header h1{font-size:1.5rem;font-weight:600;margin:0;text-align:center}.bottom-nav{background:#fff;border-top:1px solid #e0e0e0;bottom:0;box-shadow:0 -2px 8px #0000001a;left:0;padding:.5rem;position:fixed;right:0;z-index:100}.nav-menu{justify-content:space-around;margin:0 auto;max-width:600px}.nav-item,.nav-menu{align-items:center;display:flex}.nav-item{border-radius:8px;color:#666;flex-direction:column;min-width:60px;padding:.5rem;text-decoration:none;transition:all .2s ease}.nav-item:hover{background-color:#f8f9fa;color:#007bff}.nav-item.active{color:#007bff;font-weight:600}.nav-icon{height:24px;margin-bottom:.25rem;width:24px}.nav-label{font-size:.75rem;text-align:center}.dashboard{margin:0 auto;max-width:800px}.balance-card{background:linear-gradient(135deg,#28a745,#20c997);color:#fff;margin-bottom:2rem;text-align:center}.balance-amount{font-size:2rem;font-weight:700;margin:.5rem 0}.balance-label{font-size:.9rem;opacity:.9}.stats-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:2rem}.stat-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:1rem;text-align:center}.stat-value{font-size:1.5rem;font-weight:600;margin-bottom:.25rem}.stat-label{color:#666;font-size:.9rem}.income .stat-value{color:#28a745}.expense .stat-value{color:#dc3545}.engel .stat-value{color:#007bff}.transaction-item{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:1rem;transition:background-color .2s ease}.transaction-item:hover{background-color:#f8f9fa}.transaction-item:last-child{border-bottom:none}.transaction-info{flex:1 1}.transaction-category{font-weight:600;margin-bottom:.25rem}.transaction-memo{color:#666;font-size:.9rem;margin-bottom:.25rem}.transaction-date{color:#999;font-size:.8rem}.transaction-amount{font-size:1.1rem;font-weight:600}.transaction-amount.income{color:#28a745}.transaction-amount.expense{color:#dc3545}.transaction-actions{display:flex;gap:.5rem;margin-left:1rem}.action-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;justify-content:center;padding:.5rem;transition:all .2s ease}.edit-btn{background-color:#ffc107;color:#212529}.edit-btn:hover{background-color:#e0a800}.delete-btn{background-color:#dc3545;color:#fff}.delete-btn:hover{background-color:#c82333}.form-container{margin:0 auto;max-width:500px}.form-group{margin-bottom:1.5rem}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.radio-group{display:flex;gap:1rem;margin-top:.5rem}.radio-option{align-items:center;display:flex;gap:.5rem}.radio-option input[type=radio]{width:auto}.chart-container{height:300px;margin:2rem 0;position:relative}.chart-wrapper{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:2rem;padding:1.5rem}.chart-title{color:#333;font-weight:600;margin-bottom:1rem;text-align:center}.empty-state{color:#666;padding:3rem 1rem;text-align:center}.empty-state h3{margin-bottom:1rem}@media (max-width:768px){.main-content{padding:.5rem .5rem 5rem}.balance-amount{font-size:1.5rem}.stats-grid{gap:.5rem;grid-template-columns:repeat(2,1fr)}.form-row{grid-template-columns:1fr}.transaction-item{padding:.75rem}.transaction-actions{flex-direction:column;gap:.25rem}.chart-container{height:250px}.radio-group{flex-direction:column;gap:.5rem}}@media (max-width:480px){.balance-amount,.stat-value{font-size:1.25rem}.chart-container{height:200px}}
/*# sourceMappingURL=main.9e489dc0.css.map*/