body{margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.login-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.login-card{background:#fff;border-radius:16px;box-shadow:0 10px 40px #0000001a;max-width:400px;padding:40px;width:100%}.login-card h1{color:#333;margin-bottom:10px;text-align:center}.login-card h2{color:#666;font-size:1.5rem;margin-bottom:30px;text-align:center}.login-card form{display:flex;flex-direction:column;gap:15px}.login-card input{border:2px solid #e0e0e0;border-radius:8px;font-size:16px;padding:12px;transition:border-color .3s}.login-card input:focus{border-color:#667eea;outline:none}.login-card button{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px;transition:background .3s}.login-card button:hover{background:#5568d3}.toggle-link{color:#667eea;cursor:pointer;font-size:14px;margin-top:20px;text-align:center}.toggle-link:hover{text-decoration:underline}.error{background:#fee;border-radius:8px;color:#c33;font-size:14px;margin-bottom:15px;padding:10px}.dashboard{margin:0 auto;max-width:1200px;padding:20px}.dashboard-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.month-selector{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;gap:15px;margin-bottom:25px;padding:15px 20px}.month-selector label{color:#333;font-weight:600}.month-selector input[type=month]{border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;font-size:16px;padding:8px 12px}.month-selector input[type=month]:focus{border-color:#667eea;outline:none}.month-name{color:#667eea;font-weight:600;text-transform:capitalize}.dashboard-header h1{color:#333;margin:0}.logout-btn{background:#ff4757;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px}.summary-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:30px}.card{border-radius:12px;box-shadow:0 4px 6px #0000001a;color:#fff;padding:25px}.card.income{background:linear-gradient(135deg,#667eea,#764ba2)}.card.expenses{background:linear-gradient(135deg,#f093fb,#f5576c)}.card.balance{background:linear-gradient(135deg,#4facfe,#00f2fe)}.card h3{font-size:1rem;margin:0 0 10px;opacity:.9}.card .amount{font-size:2rem;font-weight:700;margin:0}.card-subtitle{display:block;font-size:.85rem;margin-top:5px;opacity:.8}.accounts-summary{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:30px;padding:25px}.accounts-summary h2{color:#333;margin-bottom:20px;margin-top:0}.accounts-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.account-summary-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;display:flex;flex-direction:column;gap:8px;padding:20px}.account-name{font-size:1.1rem;font-weight:600}.account-type-badge{background:#fff3;border-radius:12px;font-size:.8rem;padding:4px 10px;width:-webkit-fit-content;width:fit-content}.account-balance-display{font-size:1.8rem;font-weight:700;margin-top:10px}.budget-progress-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:30px;padding:25px}.budget-progress-container h2{color:#333;margin-bottom:20px;margin-top:0;text-transform:capitalize}.budget-progress-list{display:flex;flex-direction:column;gap:20px}.budget-progress-item{background:#f9f9f9;border-left:4px solid #667eea;border-radius:12px;padding:20px}.budget-progress-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.budget-category{color:#333;font-size:1.1rem;font-weight:600}.budget-amounts{font-size:1rem}.budget-amounts .spent{color:#667eea;font-weight:600}.budget-amounts .over-budget{color:#ff4757;font-weight:600}.budget-amounts .total{color:#999}.progress-bar-container{background:#e0e0e0;border-radius:6px;height:12px;margin-bottom:10px;overflow:hidden;width:100%}.progress-bar{background:linear-gradient(90deg,#667eea,#764ba2);border-radius:6px;height:100%;transition:width .3s ease}.progress-bar.over-budget{background:linear-gradient(90deg,#ff4757,#ff6b7a)}.budget-progress-footer{align-items:center;display:flex;font-size:.9rem;justify-content:space-between}.remaining-text{color:#00c49f;font-weight:500}.over-budget-text{color:#ff4757;font-weight:600}.percentage{color:#666;font-weight:600}.chart-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:30px;padding:25px}.chart-container h2{color:#333;margin-top:0;text-transform:capitalize}.quick-actions{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.action-btn{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;color:#333;font-weight:600;padding:20px;text-align:center;text-decoration:none;transition:transform .2s,box-shadow .2s}.action-btn:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.loading{color:#666;font-size:1.2rem;padding:50px;text-align:center}@media (max-width:768px){.dashboard{padding:15px}.dashboard-header{flex-direction:column;gap:15px}.summary-cards{grid-template-columns:1fr}.budget-progress-header,.month-selector{align-items:flex-start;flex-direction:column}.budget-progress-header{gap:8px}.accounts-grid{grid-template-columns:1fr}}.transactions-page{margin:0 auto;max-width:800px;padding:20px}.transactions-page header{align-items:center;display:flex;justify-content:space-between;margin-bottom:25px}.transaction-form{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;gap:12px;margin-bottom:25px;padding:20px}.transaction-form h3{color:#333;margin:0 0 10px}.transaction-form input,.transaction-form select{border:2px solid #e0e0e0;border-radius:8px;font-size:16px;padding:12px}.transaction-form input:focus,.transaction-form select:focus{border-color:#667eea;outline:none}.transactions-list{display:flex;flex-direction:column;gap:12px;margin-bottom:25px}.transaction-item{align-items:center;background:#fff;border-left:4px solid;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;justify-content:space-between;padding:15px}.transaction-item.ingreso{border-left-color:#00c49f}.transaction-item.egreso{border-left-color:#ff8042}.tx-info{display:flex;flex:1 1;flex-direction:column;gap:5px}.tx-category{color:#333;font-weight:600}.tx-description{color:#666;font-size:.9rem}.tx-meta{display:flex;flex-wrap:wrap;gap:15px}.tx-date{color:#999;font-size:.85rem}.tx-account{color:#667eea;font-size:.85rem;font-weight:500}.tx-actions{align-items:center;display:flex;gap:15px}.tx-amount{font-size:1.2rem;font-weight:700}.transaction-item.ingreso .tx-amount{color:#00c49f}.transaction-item.egreso .tx-amount{color:#ff8042}@media (max-width:768px){.transaction-item{align-items:flex-start;flex-direction:column;gap:10px}.tx-actions{justify-content:space-between;width:100%}}.accounts-page{margin:0 auto;max-width:1000px;padding:20px}.accounts-page header{align-items:center;display:flex;justify-content:space-between;margin-bottom:25px}.account-form{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;gap:12px;margin-bottom:25px;padding:20px}.account-form input,.account-form select{border:2px solid #e0e0e0;border-radius:8px;font-size:16px;padding:12px}.account-form h3{color:#333;margin:0 0 10px}.account-form input:focus,.account-form select:focus{border-color:#667eea;outline:none}.account-form .form-buttons{display:flex;gap:10px}.account-form .save-btn{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-weight:600;padding:12px}.account-form .save-btn:hover{background:#5568d3}.account-form .cancel-btn{background:#e0e0e0;border:none;border-radius:8px;color:#333;cursor:pointer;flex:1 1;font-weight:600;padding:12px}.account-form .cancel-btn:hover{background:#d0d0d0}.accounts-list{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-bottom:25px}.account-card{background:#fff;border-radius:12px;border-top:4px solid;box-shadow:0 2px 8px #0000001a;padding:20px}.account-card.ahorro{border-top-color:#00c49f}.account-card.crédito{border-top-color:#ff8042}.account-card.tarjeta-de-crédito{border-top-color:#667eea}.account-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.account-header h3{color:#333;margin:0}.account-type{background:#f0f0f0;border-radius:12px;color:#666;font-size:.85rem;padding:4px 12px}.account-balance,.credit-limit{display:flex;justify-content:space-between;margin-bottom:10px}.label{color:#666}.amount{color:#333;font-size:1.2rem;font-weight:700}.account-actions{display:flex;gap:8px;margin-top:15px}.account-card .delete-btn,.account-card .edit-btn{border:none;border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-size:.9rem;font-weight:600;padding:10px}.account-card .edit-btn{background:#667eea}.account-card .edit-btn:hover{background:#5568d3}.account-card .delete-btn{background:#ff4757}.account-card .delete-btn:hover{background:#e34}.empty-state{grid-column:1/-1}@media (max-width:768px){.accounts-list{grid-template-columns:1fr}}.budgets-page{margin:0 auto;max-width:1000px;padding:20px}.budgets-page header{align-items:center;display:flex;justify-content:space-between;margin-bottom:25px}.budget-summary{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:30px}.summary-card{align-items:flex-start;background:#fff;box-shadow:0 2px 8px #0000001a;gap:20px;padding:25px}.summary-card,.summary-icon{border-radius:12px;display:flex}.summary-icon{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);flex-shrink:0;font-size:3rem;height:70px;justify-content:center;width:70px}.summary-info{flex:1 1}.summary-info h3{color:#333;font-size:1rem;margin:0 0 10px}.summary-amount{color:#667eea;font-size:2rem;font-weight:700;margin:0 0 5px}.summary-subtitle{color:#999;font-size:.9rem}.period-breakdown{display:flex;flex-direction:column;gap:8px}.period-item{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;gap:8px;padding:8px 0}.period-item:last-child{border-bottom:none}.period-label{color:#666;font-weight:600;min-width:80px}.period-amount{color:#667eea;flex:1 1;font-weight:700}.period-count{color:#999;font-size:.9rem}.budget-form{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;gap:12px;margin-bottom:25px;padding:20px}.budget-form input,.budget-form select{border:2px solid #e0e0e0;border-radius:8px;font-size:16px;padding:12px}.budget-form h3{color:#333;margin:0 0 10px}.budget-form input:focus,.budget-form select:focus{border-color:#667eea;outline:none}.budget-form .form-buttons{display:flex;gap:10px}.budget-form .save-btn{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-weight:600;padding:12px}.budget-form .save-btn:hover{background:#5568d3}.budget-form .cancel-btn{background:#e0e0e0;border:none;border-radius:8px;color:#333;cursor:pointer;flex:1 1;font-weight:600;padding:12px}.budget-form .cancel-btn:hover{background:#d0d0d0}.budgets-list{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-bottom:25px}.budget-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 4px 6px #0000001a;color:#fff;padding:20px}.budget-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.budget-header h3{margin:0}.period{background:#fff3;border-radius:12px;font-size:.85rem;padding:4px 12px}.budget-amount{display:flex;justify-content:space-between;margin-bottom:15px}.budget-card .label{opacity:.9}.budget-card .amount{font-size:1.5rem;font-weight:700}.budget-actions{display:flex;gap:8px;margin-top:15px}.budget-card .delete-btn,.budget-card .edit-btn{background:#fff3;border:none;border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-size:.9rem;font-weight:600;padding:10px}.budget-card .delete-btn:hover,.budget-card .edit-btn:hover{background:#ffffff4d}.empty-state p{margin-bottom:10px}.empty-state .hint{color:#bbb;font-size:.9rem}@media (max-width:768px){.budget-summary,.budgets-list{grid-template-columns:1fr}.summary-card{align-items:center;flex-direction:column;text-align:center}.summary-info{width:100%}.period-item{justify-content:space-between}}.calendar-page{margin:0 auto;max-width:1200px;padding:20px}.calendar-page header{align-items:center;display:flex;justify-content:space-between;margin-bottom:25px}.payment-form{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;gap:12px;margin-bottom:25px;padding:20px}.payment-form input,.payment-form select{border:2px solid #e0e0e0;border-radius:8px;font-size:16px;padding:12px}.payment-form input:focus,.payment-form select:focus{border-color:#667eea;outline:none}.form-buttons{display:flex;gap:10px}.save-btn{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-weight:600;padding:12px}.save-btn:hover{background:#5568d3}.cancel-btn{background:#e0e0e0;border:none;border-radius:8px;color:#333;cursor:pointer;flex:1 1;font-weight:600;padding:12px}.cancel-btn:hover{background:#d0d0d0}.calendar-controls{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;justify-content:space-between;margin-bottom:25px;padding:20px}.calendar-controls h2{margin:0;text-transform:capitalize}.calendar-controls button{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px}.calendar-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(7,1fr);margin-bottom:30px}.day-header{background:#f5f5f5;color:#666;font-weight:700;text-align:center}.calendar-day,.day-header{border-radius:8px;padding:10px}.calendar-day{background:#fff;box-shadow:0 2px 4px #0000000d;min-height:100px;position:relative}.calendar-day.empty{background:#0000;box-shadow:none}.calendar-day.today{background:#f0f4ff;border:2px solid #667eea}.calendar-day.has-payments{background:#fff9e6}.day-number{color:#333;font-weight:700;margin-bottom:5px}.payment-item{background:#667eea;border-radius:4px;color:#fff;display:flex;flex-direction:column;font-size:.75rem;margin-top:5px;padding:4px 8px}.payment-desc{font-weight:600}.payment-amount{font-size:.7rem;opacity:.9}.upcoming-payments{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:25px;padding:20px}.upcoming-payments h3{color:#333;margin-top:0}.payment-card{align-items:center;background:#f9f9f9;border-radius:8px;display:flex;justify-content:space-between;margin-bottom:10px;padding:15px}.payment-info{display:flex;flex:1 1;flex-direction:column;gap:5px}.payment-date{color:#666;font-size:.9rem}.payment-description{align-items:center;color:#333;display:flex;font-weight:600;gap:8px}.payment-category{color:#999;font-size:.85rem;font-weight:400}.recurrence-badge{background:#e3f2fd;border-radius:12px;color:#1976d2;font-size:.75rem;font-weight:400;padding:2px 8px}.payment-actions{align-items:center;display:flex;gap:10px}.payment-card .payment-amount{color:#667eea;font-size:1.2rem;font-weight:700}.delete-btn,.edit-btn{background:none;border:none;cursor:pointer;font-size:1.1rem;opacity:.6;padding:5px;transition:opacity .2s}.delete-btn:hover,.edit-btn:hover{opacity:1}.no-payments{color:#999;font-style:italic;padding:20px;text-align:center}@media (max-width:768px){.calendar-grid{gap:5px}.calendar-day{min-height:80px;padding:5px}.payment-item{font-size:.65rem;padding:2px 4px}}.categories-page{margin:0 auto;max-width:1200px;padding:20px}.categories-page header{align-items:center;display:flex;justify-content:space-between;margin-bottom:25px}.category-form{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;gap:15px;margin-bottom:25px;padding:20px}.category-form input,.category-form select{border:2px solid #e0e0e0;border-radius:8px;font-size:16px;padding:12px}.icon-selector{display:flex;flex-direction:column;gap:10px}.icon-selector label{color:#333;font-weight:600}.icon-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(50px,1fr))}.icon-option{background:#f5f5f5;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;font-size:1.5rem;padding:12px;transition:all .2s}.icon-option:hover{background:#e8e8e8;transform:scale(1.1)}.icon-option.selected{background:#667eea;border-color:#667eea;transform:scale(1.15)}.filter-tabs{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;gap:10px;margin-bottom:25px;padding:10px}.filter-tabs button{background:#0000;border:none;border-radius:8px;color:#666;cursor:pointer;flex:1 1;font-weight:600;padding:12px;transition:all .2s}.filter-tabs button.active{background:#667eea;color:#fff}.filter-tabs button:hover:not(.active){background:#f0f0f0}.empty-state{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:60px 20px;text-align:center}.empty-state p{color:#999;font-size:1.1rem;margin-bottom:20px}.init-btn{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 24px}.init-btn:hover{background:#5568d3}.categories-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));margin-bottom:25px}.category-card{align-items:center;background:#fff;border-left:4px solid;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;gap:15px;padding:20px;transition:transform .2s}.category-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.category-card.egreso{border-left-color:#ff8042}.category-card.ingreso{border-left-color:#00c49f}.category-icon{align-items:center;background:#f5f5f5;border-radius:12px;display:flex;font-size:2rem;height:50px;justify-content:center;width:50px}.category-info{display:flex;flex:1 1;flex-direction:column;gap:5px}.category-info h3{color:#333;font-size:1rem;margin:0}.category-badges{display:flex;flex-wrap:wrap;gap:8px}.category-type{color:#999;font-size:.85rem}.default-badge{background:#e3f2fd;border-radius:12px;color:#1976d2;font-size:.75rem;font-weight:500;padding:2px 8px}.category-actions{display:flex;gap:8px}.category-card .delete-btn,.category-card .edit-btn{background:none;border:none;cursor:pointer;font-size:1.1rem;opacity:.6;padding:5px;transition:opacity .2s}.category-card .delete-btn:hover,.category-card .edit-btn:hover{opacity:1}@media (max-width:768px){.categories-grid{grid-template-columns:1fr}.icon-grid{grid-template-columns:repeat(auto-fill,minmax(45px,1fr))}.filter-tabs{flex-direction:column}}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f7fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.App{min-height:100vh}h1,h2,h3,h4,h5,h6{color:#333}.add-btn{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px;transition:background .3s}.add-btn:hover{background:#5568d3}.back-link{color:#667eea;display:inline-block;font-weight:600;margin-top:20px;text-decoration:none}.back-link:hover{text-decoration:underline}@media (max-width:768px){body{font-size:14px}h1{font-size:1.5rem}h2{font-size:1.3rem}}
/*# sourceMappingURL=main.f866e488.css.map*/