body{margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f7fa;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.app{background:linear-gradient(135deg,#4f46e5,#7c3aed);min-height:100vh}.app-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffffa;box-shadow:0 2px 20px #00000026;padding:1rem 2rem;position:-webkit-sticky;position:sticky;top:0;z-index:100}.app-header h1{color:#1a202c;font-size:2rem;font-weight:700;margin-bottom:1rem;text-align:center}.nav-tabs{display:flex;gap:.5rem;justify-content:center}.nav-tabs button{background:#0000;border:none;border-radius:8px;color:#374151;cursor:pointer;font-weight:500;padding:.75rem 1.5rem;position:relative;transition:all .2s ease}.nav-tabs button:hover{background:#4f46e51a;color:#4f46e5}.nav-tabs button.active{background:#4f46e5;box-shadow:0 4px 12px #4f46e566;color:#fff}.app-main{margin:0 auto;max-width:1400px;padding:2rem}.dashboard{grid-gap:2rem;display:grid;gap:2rem}.dashboard-overview{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;padding:2rem}.debts-section{width:100%}.debts-header{display:flex;justify-content:flex-end;margin-bottom:2rem}.debts-header-centered{display:flex!important;justify-content:center!important;margin-bottom:2rem}.add-debt-btn{background:linear-gradient(135deg,#4f46e5,#7c3aed);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease}.add-debt-btn:hover{box-shadow:0 8px 25px #4f46e566;transform:translateY(-2px)}.add-debt-btn-inverted{background:#fff;border:2px solid #4f46e5;border-radius:8px;box-shadow:0 2px 10px #4f46e51a;color:#4f46e5;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.add-debt-btn-inverted:hover{background:#4f46e5;box-shadow:0 8px 25px #4f46e54d;color:#fff;transform:translateY(-2px)}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{animation:modalSlideIn .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 25px 50px #00000040;max-height:90vh;max-width:600px;overflow:hidden;width:90%}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{align-items:center;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1.5rem 2rem}.modal-header h2{color:#1a202c;font-size:1.5rem;font-weight:600;margin:0}.modal-close{align-items:center;background:none;border:none;border-radius:50%;color:#6b7280;cursor:pointer;display:flex;font-size:2rem;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.modal-close:hover{background:#f3f4f6;color:#374151}.modal-body{max-height:calc(90vh - 80px);overflow-y:auto;padding:0}.modal-body .debt-form{background:#0000;border-radius:0;box-shadow:none;padding:2rem}.section-grid{grid-gap:2rem;align-items:start;display:grid;gap:2rem;grid-template-columns:1fr 1fr}@media (max-width:968px){.section-grid{grid-template-columns:1fr}.modal-content{max-height:95vh;width:95%}.modal-header{padding:1rem 1.5rem}.modal-body .debt-form{padding:1.5rem}}.debt-form,.income-form{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;padding:2rem}.debt-form h2,.income-form h3{color:#1a202c;font-size:1.5rem;font-weight:600;margin-bottom:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{color:#374151;display:block;font-weight:500;margin-bottom:.5rem}.form-group input,.form-group select{border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;padding:.75rem;transition:border-color .2s ease;width:100%}.form-group input:focus,.form-group select:focus{border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a;outline:none}button{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}button[type=submit]{background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;margin-top:1rem;width:100%}button[type=submit]:hover{box-shadow:0 8px 25px #4f46e566;transform:translateY(-2px)}button[type=button]{background:#4299e1;color:#fff;margin-bottom:1rem}button[type=button]:hover{background:#3182ce}.calculation-result{animation:slideIn .3s ease-out;background:#f0f9ff;border:2px solid #0ea5e9;border-radius:8px;color:#0c4a6e;font-weight:600;margin-top:.75rem;padding:.75rem 1rem;text-align:center}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.debt-list,.income-list{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;padding:2rem}.debt-summary,.income-list h3{margin-bottom:2rem}.debt-summary h3{color:#1a202c;font-size:1.5rem;font-weight:600;margin-bottom:1rem}.summary-stats{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.stat-item{align-items:center;background:#f7fafc;border-radius:8px;display:flex;justify-content:space-between;padding:1rem}.stat-label{color:#374151;font-weight:500}.stat-value{color:#1a202c;font-size:1.1rem;font-weight:700}.total-progress-section{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border:2px solid #e2e8f0;border-radius:12px;padding:1.5rem}.total-progress-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.progress-label{color:#374151;font-size:1.1rem;font-weight:600}.progress-percentage{background:#d1fae5;border:1px solid #10b981;border-radius:20px;color:#059669;font-size:1.2rem;font-weight:700;padding:.25rem .75rem}.total-progress-bar{margin-bottom:1rem}.total-progress-track{background:#e5e7eb;border-radius:10px;box-shadow:inset 0 2px 4px #0000001a;height:20px;overflow:hidden;width:100%}.total-progress-fill{background:linear-gradient(135deg,#10b981,#059669);border-radius:10px;height:100%;position:relative;transition:width .5s ease-in-out}.total-progress-fill:after{animation:shine 2s infinite;background:linear-gradient(90deg,#0000,#ffffff4d 50%,#0000);bottom:0;content:"";left:0;position:absolute;right:0;top:0}@keyframes shine{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.progress-amounts{color:#6b7280;display:flex;font-size:.9rem;font-weight:500;justify-content:space-between}.original-amount{color:#374151}.remaining-amount{color:#dc2626}.debt-table{display:block;margin-top:1rem;width:100%}.debt-table-header{grid-gap:.5rem;background:#f8fafc;border-bottom:2px solid #e5e7eb;border-radius:8px 8px 0 0;color:#374151;display:grid;font-size:.9rem;font-weight:600;gap:.5rem;grid-template-columns:2fr 1.2fr 1.2fr .8fr 1.2fr 1fr 1.2fr 1fr .8fr .8fr;padding:.75rem}.debt-table-header .sortable{border-radius:4px;cursor:pointer;padding:.25rem;transition:background-color .2s ease;-webkit-user-select:none;user-select:none}.debt-table-header .sortable:hover{background-color:#e5e7eb}.debt-table-row{grid-gap:.5rem;align-items:center;background:#fff;border-bottom:1px solid #e5e7eb;display:grid;gap:.5rem;grid-template-columns:2fr 1.2fr 1.2fr .8fr 1.2fr 1fr 1.2fr 1fr .8fr .8fr;padding:1rem .75rem;transition:background-color .2s ease}.debt-table-row:hover{background:#f9fafb}.debt-table-row:last-child{border-bottom:none;border-radius:0 0 8px 8px}.debt-table-row.near-payoff{background:#f0f9ff;border-left:4px solid #3b82f6}.debt-table-row.high-interest{background:#fef2f2;border-left:4px solid #ef4444}.debt-table-row.near-payoff.high-interest{background:#fffbeb;border-left:4px solid #f59e0b}.col-name strong{color:#1a202c;font-size:1rem}.col-current,.col-payment,.col-total{color:#1a202c;font-weight:500}.col-rate{color:#374151;font-weight:500}.months-badge{background:#e0f2fe;border-radius:12px;color:#0369a1;display:inline-block;font-size:.85rem;font-weight:600;min-width:35px;padding:.25rem .5rem;text-align:center}.months-badge.payment-too-low{background:#fef2f2;color:#dc2626;font-weight:700}.col-progress{align-items:center;display:flex;gap:.5rem}.mini-progress{background:#e5e7eb;border-radius:3px;height:6px;overflow:hidden;width:40px}.mini-progress-fill{background:linear-gradient(135deg,#10b981,#059669);height:100%;transition:width .3s ease}.progress-percent{color:#374151;font-size:.85rem;font-weight:500;min-width:30px}.col-actions{display:flex;justify-content:center}.actions-vertical{display:flex;flex-direction:column;gap:.25rem}.mini-btn{align-items:center;border:none;border-radius:4px;cursor:pointer;display:flex;font-size:.8rem;height:24px;justify-content:center;transition:all .2s ease;width:24px}.edit-mini-btn{background:#e0f2fe;color:#0369a1}.edit-mini-btn:hover{background:#0369a1;color:#fff}.delete-mini-btn{background:#fef2f2;color:#dc2626}.delete-mini-btn:hover{background:#dc2626;color:#fff}@media (max-width:1200px){.debt-table-header,.debt-table-row{font-size:.85rem;grid-template-columns:2fr 1fr 1fr .8fr 1fr .8fr 1fr .8fr .6fr .6fr}}@media (max-width:968px){.debt-table{display:none}.debt-items{grid-gap:1rem;display:grid;gap:1rem}}.debt-items{grid-gap:1rem;display:grid;gap:1rem}.debt-item{background:#fafafa;border:1px solid #e2e8f0;border-radius:8px;padding:1.5rem;position:relative;transition:all .2s ease}.debt-item:hover,.income-item:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.debt-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.debt-header h4{color:#1a202c;font-size:1.25rem;font-weight:600}.debt-actions{align-items:center;display:flex;gap:.5rem}.delete-btn,.edit-btn{align-items:center;border:none;border-radius:50%;cursor:pointer;display:flex;font-size:1rem;height:30px;justify-content:center;transition:background-color .2s ease;width:30px}.edit-btn{background:#4f46e5;color:#fff}.edit-btn:hover{background:#3730a3}.delete-btn{background:#e53e3e;color:#fff;font-size:1.2rem}.delete-btn:hover{background:#c53030}.debt-details{grid-gap:.5rem;display:grid;gap:.5rem;margin-bottom:1rem}.detail-row{align-items:center;display:flex;justify-content:space-between}.detail-row span:first-child{color:#374151}.detail-row .amount{color:#1a202c;font-weight:600}.progress-bar{margin-top:1rem}.progress-track{background:#e2e8f0;border-radius:4px;height:8px;overflow:hidden;width:100%}.progress-fill{background:linear-gradient(135deg,#48bb78,#38a169);height:100%;transition:width .3s ease}.progress-text{color:#374151;font-size:.9rem;margin-top:.5rem;text-align:center}.income-info{flex-grow:1}.income-info h4{color:#1a202c;font-size:1.1rem;font-weight:600;margin-bottom:.5rem}.income-info p{color:#374151;margin-bottom:.25rem}.total-income{background:#f0fff4;border:2px solid #48bb78;border-radius:8px;margin-top:2rem;padding:1rem;text-align:center}.debt-charts{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;padding:2rem}.debt-charts,.financial-summary{margin-bottom:2rem}.financial-summary h3{color:#1a202c;font-size:1.5rem;font-weight:600;margin-bottom:1rem}.summary-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.summary-item{align-items:center;background:#f7fafc;border-radius:8px;display:flex;justify-content:space-between;padding:1rem}.summary-item strong{color:#374151}.positive{color:#38a169;font-weight:600}.negative{color:#e53e3e;font-weight:600}.chart-section{margin-bottom:2rem}.chart-header{justify-content:space-between;margin-bottom:1.5rem}.chart-controls,.chart-header{align-items:center;display:flex}.chart-controls{flex-direction:row;flex-wrap:wrap;gap:1.5rem}.toggle-options{display:flex;flex-direction:column;gap:.75rem}.toggle-label{align-items:center;color:#374151;cursor:pointer;display:flex;font-size:.9rem}.toggle-label input[type=checkbox]{margin-right:.5rem;transform:scale(1.2)}.toggle-text{font-weight:500}.strategy-selector{align-items:center;display:flex;gap:.75rem}.strategy-label{color:#374151;font-size:.9rem;font-weight:500}.strategy-select{background:#fff;border:1px solid #d1d5db;border-radius:.375rem;color:#374151;cursor:pointer;font-size:.9rem;padding:.4rem .8rem;transition:border-color .2s}.strategy-select:hover{border-color:#9ca3af}.strategy-select:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a;outline:none}.strategy-info-section{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;margin:1.5rem 0;padding:1.5rem}.strategy-explanation h4{font-size:1.1rem;margin-bottom:1rem;margin-top:0}.strategy-description{line-height:1.6;margin-bottom:1rem;opacity:.95}.targeted-debt{background:#ffffff26;border-radius:8px;margin-top:1rem;padding:1rem}.targeted-debt strong{display:block;font-size:.9rem;margin-bottom:.5rem;opacity:.9}.debt-target{font-size:1.1rem;font-weight:600}.compare-btn{background:#fff;border:none;border-radius:8px;color:#667eea;cursor:pointer;font-weight:600;margin-top:1rem;padding:.75rem 1.5rem;transition:transform .2s,box-shadow .2s}.compare-btn:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.strategy-comparison{background:#fff;border-radius:8px;color:#374151;margin-top:1.5rem;padding:1.5rem}.strategy-comparison h4{color:#1a202c;margin-top:0}.comparison-table{border-collapse:collapse;margin-top:1rem;width:100%}.comparison-table td,.comparison-table th{border-bottom:1px solid #e5e7eb;padding:.75rem;text-align:left}.comparison-table th{background:#f3f4f6;color:#4b5563;font-weight:600}.comparison-table tr.active-strategy{background:#eff6ff;font-weight:600}.comparison-table tr.active-strategy td:first-child{color:#2563eb}.threshold-control{background:#f3f4f6;border-radius:8px;display:flex;flex-direction:column;gap:.75rem;margin-top:1rem;padding:1rem}.threshold-label{color:#374151;font-size:.9rem;font-weight:600}.threshold-slider{-webkit-appearance:none;background:linear-gradient(90deg,#10b981 0,#eab308 50%,#ef4444);border-radius:3px;height:6px;outline:none;width:100%}.threshold-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#6366f1;border-radius:50%;box-shadow:0 2px 4px #0003;cursor:pointer;height:20px;width:20px}.threshold-slider::-moz-range-thumb{background:#6366f1;border:none;border-radius:50%;box-shadow:0 2px 4px #0003;cursor:pointer;height:20px;width:20px}.threshold-hint{color:#6b7280;font-size:.8rem;font-style:italic}.extra-payment-control{background:#eff6ff;border-radius:8px;display:flex;flex-direction:column;gap:.75rem;margin-top:1rem;padding:1rem}.extra-payment-label{color:#1e40af;font-size:.9rem;font-weight:600}.extra-payment-slider{-webkit-appearance:none;background:linear-gradient(90deg,#dbeafe 0,#3b82f6);border-radius:3px;height:6px;outline:none;width:100%}.extra-payment-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#1e40af;border-radius:50%;box-shadow:0 2px 4px #0003;cursor:pointer;height:20px;width:20px}.extra-payment-slider::-moz-range-thumb{background:#1e40af;border:none;border-radius:50%;box-shadow:0 2px 4px #0003;cursor:pointer;height:20px;width:20px}.impact-btn{align-self:flex-start;background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:.5rem 1rem;transition:background .2s}.impact-btn:hover{background:#2563eb}.extra-payment-impact{background:#f0fdf4;border:2px solid #86efac;border-radius:12px;margin:1.5rem 0;padding:1.5rem}.extra-payment-impact h4{color:#166534;margin-bottom:1rem;margin-top:0}.impact-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.impact-card{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:1rem}.impact-card h5{color:#166534;font-size:1rem;margin:0 0 1rem}.impact-stats{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:1fr 1fr}.stat{display:flex;flex-direction:column;gap:.25rem}.stat-label{color:#6b7280;font-size:.75rem;letter-spacing:.5px;text-transform:uppercase}.stat-value{color:#1f2937;font-size:1rem;font-weight:600}.stat.highlight .stat-value{color:#059669}.chart-section h3{color:#1a202c;font-size:1.25rem;font-weight:600;margin-bottom:1rem}.no-data{color:#fbbf24;font-size:1.1rem;padding:3rem;text-align:center}@media (max-width:768px){.app-header{padding:1rem}.app-header h1{font-size:1.5rem}.nav-tabs{flex-direction:column;gap:.25rem}.nav-tabs button{padding:.5rem 1rem}.app-main{padding:1rem}.summary-grid,.summary-stats{grid-template-columns:1fr}.debt-form,.debt-list,.income-form,.income-list{padding:1.5rem}}.login-container{align-items:center;background:linear-gradient(135deg,#4f46e5,#7c3aed);display:flex;justify-content:center;min-height:100vh;padding:2rem}.login-card{background:#fff;border-radius:16px;box-shadow:0 25px 50px #00000040;max-width:480px;overflow:hidden;width:100%}.login-header{background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;padding:2rem;text-align:center}.login-header h1{font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.login-header p{font-size:1.1rem;opacity:.9}.login-content{padding:2.5rem}.login-content h2{color:#1a202c;font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.login-content>p{color:#718096;margin-bottom:2rem}.error-message{background:#fee;border:1px solid #fed7d7;border-radius:8px;color:#e53e3e;margin-bottom:1.5rem;padding:1rem}.google-signin-btn{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:8px;color:#4a5568;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:.75rem;justify-content:center;margin-bottom:2rem;padding:1rem 1.5rem;transition:all .2s ease;width:100%}.google-signin-btn:hover:not(:disabled){border-color:#4285f4;box-shadow:0 4px 12px #4285f426;transform:translateY(-1px)}.google-signin-btn:disabled{cursor:not-allowed;opacity:.6}.google-icon{height:20px;width:20px}.login-benefits{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1.5rem}.login-benefits h3{color:#4a5568;font-size:1rem;font-weight:600;margin-bottom:1rem}.login-benefits ul{list-style:none;margin:0;padding:0}.login-benefits li{color:#718096;font-size:.9rem;padding:.25rem 0}.app-header-with-user{grid-gap:1rem;align-items:center;display:grid;gap:1rem;grid-template-columns:1fr 1fr 1fr}.app-header-with-user>div:nth-child(2){justify-self:center;text-align:center}.app-header-with-user>div:nth-child(2) h1{margin-bottom:1rem}.user-info{align-items:center;display:flex;gap:1rem;justify-self:end}.user-avatar{border-radius:50%;height:40px;object-fit:cover;width:40px}.user-name{color:#4a5568;font-weight:500}.language-switcher{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:8px;box-shadow:0 2px 8px #0000001a;display:flex;gap:2px;padding:3px}.lang-btn{background:#0000;border:none;border-radius:6px;color:#64748b;cursor:pointer;font-size:.8rem;font-weight:600;min-width:36px;overflow:hidden;padding:.5rem .9rem;position:relative;text-align:center;transition:all .25s cubic-bezier(.4,0,.2,1)}.lang-btn:hover{background:#ffffff26;box-shadow:0 4px 12px #00000026;color:#475569;transform:translateY(-1px)}.lang-btn.active{background:linear-gradient(135deg,#6366f1,#8b5cf6);box-shadow:0 4px 12px #6366f166;color:#fff;transform:translateY(-1px)}.lang-btn.active:before{background:linear-gradient(135deg,#fff3,#ffffff1a);border-radius:inherit;bottom:0;content:"";left:0;position:absolute;right:0;top:0}.logout-btn{background:#e53e3e;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:.5rem 1rem;transition:background-color .2s ease}.logout-btn:hover{background:#c53030}@media (max-width:640px){.login-container{padding:1rem}.login-card{max-width:100%}.login-header{padding:1.5rem}.login-header h1{font-size:2rem}.login-content{padding:1.5rem}.app-header-with-user{flex-direction:column;gap:1rem;text-align:center}.user-info{order:-1}}.loading-container{color:#fff;font-size:1.2rem;justify-content:center;min-height:100vh}.loading-container,.loading-text{align-items:center;display:flex}.loading-dots{display:inline-flex;margin-left:4px}.loading-dots span{animation:loading-bounce 1.4s ease-in-out infinite both;background-color:#fff;border-radius:50%;display:inline-block;height:4px;margin:0 1px;width:4px}.loading-dots span:first-child{animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}.loading-dots span:nth-child(3){animation-delay:0s}@keyframes loading-bounce{0%,80%,to{opacity:.5;transform:scale(0)}40%{opacity:1;transform:scale(1)}}.income-section{width:100%}.income-form-container{background:#fff;border:1px solid #00000008;border-radius:16px;box-shadow:0 10px 40px #00000014;overflow:hidden;transition:all .3s ease}.income-form-container:hover{box-shadow:0 12px 48px #0000001f;transform:translateY(-2px)}.income-form{background:#0000;box-shadow:none;padding:0}.income-form .form-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:#1a202c;font-size:1.75rem;font-weight:700;margin-bottom:2rem;padding:2rem 2rem 0;text-align:center}.income-form form{padding:0 2rem 2rem}.income-form .form-group{margin-bottom:1.75rem}.income-form .form-label{color:#4a5568;display:block;font-size:.95rem;font-weight:600;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.income-form .form-input,.income-form .form-select{background:#f7fafc;border:2px solid #e2e8f0;border-radius:12px;font-size:1.05rem;padding:1rem 1.25rem;transition:all .3s ease;width:100%}.income-form .form-input:focus,.income-form .form-select:focus{background:#fff;border-color:#667eea;box-shadow:0 0 0 4px #667eea1a;outline:none;transform:translateY(-2px)}.income-form .form-input::placeholder{color:#a0aec0}.income-form .form-group.error .form-input,.income-form .form-group.error .form-select{background:#fff5f5;border-color:#fc8181}.income-form .error-message{animation:shake .3s ease-in-out;color:#e53e3e;display:block;font-size:.875rem;font-weight:500;margin-top:.5rem}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}.income-form-container .form-actions{align-items:stretch!important;display:flex!important;flex-direction:row!important;gap:1rem!important;height:56px!important;margin-top:2rem!important;min-height:56px!important;width:100%!important}.income-form-container .form-actions.two-buttons{justify-content:space-between!important}.income-form-container .form-actions.one-button{justify-content:center!important}.income-form-container .form-actions button{align-items:center!important;border:none!important;border-radius:12px!important;box-sizing:border-box!important;cursor:pointer!important;display:inline-flex!important;flex:1 1!important;font-size:1rem!important;font-weight:600!important;height:56px!important;justify-content:center!important;line-height:56px!important;margin:0!important;max-width:200px!important;min-height:56px!important;padding:0 2rem!important;transition:all .3s ease!important;vertical-align:top!important}.income-form-container .form-actions .btn-primary,.income-form-container .form-actions .btn.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2)!important;box-shadow:0 4px 15px #667eea66!important;color:#fff!important}.income-form-container .form-actions .btn-primary:hover,.income-form-container .form-actions .btn.btn-primary:hover{box-shadow:0 8px 25px #667eea80!important;transform:translateY(-2px)!important}.income-form-container .form-actions .btn-secondary,.income-form-container .form-actions .btn.btn-secondary{background:#e2e8f0!important;color:#4a5568!important}.income-form-container .form-actions .btn-secondary:hover,.income-form-container .form-actions .btn.btn-secondary:hover{background:#cbd5e0!important}.income-form-container .form-actions.one-button button{max-width:300px!important}.income-list{background:#0000;box-shadow:none;padding:0}.income-list-header{align-items:center;background:#fff;border-radius:16px;box-shadow:0 4px 20px #0000000f;display:flex;justify-content:space-between;margin-bottom:2rem;padding:1.5rem 2rem}.income-list-header h3{color:#2d3748;font-size:1.5rem;font-weight:700;margin:0}.income-count{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;color:#fff;font-size:.875rem;font-weight:600;padding:.5rem 1rem}.income-items{grid-gap:1.25rem;display:grid;gap:1.25rem}.income-card{background:#fff;border-radius:16px;box-shadow:0 4px 20px #0000000f;overflow:hidden;padding:1.5rem;position:relative;transition:all .3s ease}.income-card:before{background:linear-gradient(90deg,#667eea,#764ba2);content:"";height:4px;left:0;position:absolute;right:0;top:0}.income-card:hover{border-left:3px solid #667eea;box-shadow:0 12px 30px #0000001f;transform:translateY(-4px)}.income-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.income-name-with-toggle{align-items:center;display:flex;gap:0}.income-name{color:#2d3748;font-size:1.25rem;font-weight:600;margin:0}.income-name-with-toggle .toggle-dot{margin-right:8px}.frequency-badge{border-radius:20px;font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:.375rem .75rem;text-transform:uppercase}.badge-weekly{background:#f0fff4;color:#22543d}.badge-biweekly{background:#e6fffa;color:#234e52}.badge-monthly{background:#ebf8ff;color:#2c5282}.badge-yearly{background:#faf5ff;color:#44337a}.income-card-body{grid-gap:.75rem;display:grid;gap:.75rem;margin-bottom:1rem}.income-amount,.income-monthly{align-items:center;background:#f7fafc;border-radius:8px;display:flex;justify-content:space-between;padding:.75rem}.amount-label,.monthly-label{font-size:.875rem}.amount-value{color:#2d3748;font-size:1.125rem;font-weight:700}.monthly-value{color:#667eea;font-size:1rem;font-weight:600}.income-card-actions{border-top:1px solid #e2e8f0;display:flex;gap:.5rem;justify-content:flex-end;padding-top:1rem}.btn-icon{align-items:center;border:none;border-radius:10px;box-shadow:0 2px 8px #00000026;cursor:pointer;display:flex;font-size:20px;height:45px;justify-content:center;transition:all .2s ease;width:45px}.btn-edit{background:#3b82f6;color:#fff}.btn-edit:hover{background:#2563eb;box-shadow:0 4px 12px #3b82f666;transform:scale(1.1)}.btn-delete{background:#ef4444;color:#fff}.btn-delete:hover{background:#dc2626;box-shadow:0 4px 12px #ef444466;transform:scale(1.1)}.toggle-dot{align-items:center;background:#0000;border:none;border-radius:50%;cursor:pointer;display:inline-flex;height:24px;justify-content:center;margin:0 8px 0 0;padding:4px;position:relative;width:24px;z-index:1}.toggle-dot:hover{background:#0000000d}.toggle-dot:focus{outline:none}.toggle-dot .dot{border-radius:50%;display:block;height:10px;pointer-events:none;width:10px}.toggle-dot.included .dot{background-color:#10b981}.toggle-dot.excluded .dot{background-color:#ef4444}.income-list-empty{background:#fff;border-radius:16px;box-shadow:0 4px 20px #0000000f;padding:4rem 2rem;text-align:center}.empty-state{margin:0 auto;max-width:300px}.empty-icon{color:#cbd5e0;height:80px;margin:0 auto 1.5rem;width:80px}.empty-text{color:#4a5568;font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.empty-subtext{color:#a0aec0;font-size:.95rem}.income-summary{margin-top:2rem}.summary-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;box-shadow:0 10px 30px #667eea4d;color:#fff;padding:2rem;text-align:center}.summary-label{font-size:.875rem;font-weight:500;letter-spacing:1px;margin-bottom:.5rem;opacity:.9;text-transform:uppercase}.summary-value{font-size:2.5rem;font-weight:700;text-shadow:0 2px 4px #0000001a}.expenses-unified-section{padding:20px}.expenses-header{display:flex;gap:1rem;justify-content:center;margin-bottom:2rem}.add-expense-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;box-shadow:0 4px 6px #0000001a;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.add-expense-btn:hover{box-shadow:0 6px 12px #00000026;transform:translateY(-2px)}.expenses-content{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr;margin-top:2rem}.loans-section,.recurring-expenses-section{background:#fff;background:var(--card-background);border-radius:16px;box-shadow:0 2px 8px #0000000d;padding:1.5rem}.loans-section h3,.recurring-expenses-section h3{color:#2d3748;color:var(--text-primary);font-size:1.25rem;margin-bottom:1.5rem;margin-top:0}@media (max-width:968px){.expenses-content{grid-template-columns:1fr}.expenses-header{align-items:stretch;flex-direction:column}.add-expense-btn{width:100%}}.expense-form-container{background:#fff;border:1px solid #00000008;border-radius:16px;box-shadow:0 10px 40px #00000014;overflow:hidden}.expense-form{background:#0000;box-shadow:none;padding:2rem}.expense-form h3{color:#2d3748;font-size:1.5rem;font-weight:600;margin-bottom:1.5rem}.expense-form .form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.expense-list{background:#0000;box-shadow:none;padding:0}.expense-list-header{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding:1rem 1.5rem}.expense-list-header h3{color:#2d3748;font-size:1.25rem;font-weight:600;margin:0}.expense-count{background:linear-gradient(135deg,#ef4444,#dc2626);border-radius:16px;color:#fff;font-size:.875rem;font-weight:600;padding:.375rem .75rem}.expense-items{grid-gap:1rem;display:grid;gap:1rem}.expense-card{background:#fff;border-left:3px solid #0000;border-radius:12px;box-shadow:0 2px 8px #0000000d;padding:1.25rem;position:relative;transition:all .3s ease}.expense-card:hover{border-left-color:#ef4444;box-shadow:0 8px 20px #0000001a;transform:translateY(-2px)}.expense-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.expense-name-with-toggle{align-items:center;display:flex;gap:0}.expense-name{color:#2d3748;font-size:1.125rem;font-weight:600}.expense-badges{display:flex;gap:.5rem}.category-badge{background:#fef2f2;border-radius:8px;color:#991b1b;font-size:.75rem;font-weight:500;padding:.25rem .5rem}.expense-card-body{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-bottom:1rem}.expense-amount,.expense-monthly{display:flex;flex-direction:column;gap:.25rem}.amount-label,.monthly-label{color:#718096;font-size:.75rem;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.amount-value,.monthly-value{color:#2d3748;font-size:1.125rem;font-weight:700}.expense-card-actions{border-top:1px solid #e2e8f0;display:flex;gap:.5rem;justify-content:flex-end;padding-top:.75rem}.expense-summary{margin-top:1.5rem}.expense-summary-card{background:linear-gradient(135deg,#ef4444,#dc2626);border-radius:12px;box-shadow:0 8px 24px #ef444440;color:#fff;padding:1.5rem;text-align:center}.expense-list-empty{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;padding:3rem 2rem;text-align:center}:root{--card-background:#fff;--text-primary:#2d3748}
/*# sourceMappingURL=main.77125b36.css.map*/