:root{--primary: #10b981;--primary-dark: #059669;--primary-light: #34d399;--secondary: #14b8a6;--success: #10b981;--danger: #ef4444;--dark-bg: #0f172a;--darker-bg: #1e293b;--card-bg: #1e293b;--white: #ffffff;--gray: #475569;--gray-light: #64748b;--text-primary: #f1f5f9;--text-secondary: #cbd5e1;--border-radius: 12px;--transition: all .3s cubic-bezier(.4, 0, .2, 1)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--dark-bg);color:var(--text-primary);overflow-x:hidden}.app{min-height:100vh;width:100%}.landing{width:100%;min-height:100vh}.hero{background:linear-gradient(135deg,#064e3b 0%,var(--dark-bg) 100%);min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;width:600px;height:600px;background:radial-gradient(circle,rgba(16,185,129,.15) 0%,transparent 70%);border-radius:50%;top:-300px;right:-300px}.hero-content{max-width:600px;width:100%;z-index:1}.hero-title{font-size:clamp(2.5rem,6vw,4rem);font-weight:800;margin-bottom:1rem;line-height:1.2;color:var(--white);animation:fadeInUp .6s ease;text-shadow:0 2px 10px rgba(0,0,0,.3)}.gradient-text{background:linear-gradient(to right,var(--primary),var(--secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:1.25rem;margin-bottom:3rem;color:var(--text-secondary);animation:fadeInUp .6s ease .2s both}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.calculator-card{background:var(--card-bg);border-radius:20px;padding:2.5rem;box-shadow:0 10px 40px #00000080;border:2px solid var(--primary);animation:fadeInUp .6s ease .4s both}.calculator-card h3{color:var(--white);font-size:1.5rem;margin-bottom:2rem;font-weight:700}.calculator-group{margin-bottom:2rem}.calculator-label{display:flex;justify-content:space-between;margin-bottom:1rem;color:var(--text-primary);font-weight:600;font-size:1.1rem}.calculator-value{color:var(--primary);font-size:1.5rem;font-weight:700}.slider{width:100%;height:8px;border-radius:5px;background:var(--gray);outline:none;-webkit-appearance:none}.slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:24px;height:24px;border-radius:50%;background:var(--primary);cursor:pointer;box-shadow:0 4px 12px #10b98199;border:3px solid var(--white)}.slider::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:var(--primary);cursor:pointer;border:3px solid var(--white);box-shadow:0 4px 12px #10b98199}.range-labels{display:flex;justify-content:space-between;margin-top:.5rem;font-size:.875rem;color:var(--text-secondary);font-weight:500}.monthly-payment{background:linear-gradient(135deg,var(--primary),var(--secondary));padding:1.5rem;border-radius:var(--border-radius);display:flex;justify-content:space-between;align-items:center;margin:2rem 0;color:#fff;box-shadow:0 4px 15px #10b98166}.payment-amount{font-size:2rem;font-weight:700}.cta-button{width:100%;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;border:none;padding:1.25rem 2rem;border-radius:var(--border-radius);font-size:1.125rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:var(--transition);box-shadow:0 4px 15px #10b98180;text-transform:uppercase;letter-spacing:.5px}.cta-button:hover{transform:translateY(-2px);box-shadow:0 6px 25px #10b981b3}.cta-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.features{padding:4rem 2rem;background:var(--darker-bg)}.features-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}.feature-card{background:var(--card-bg);padding:2.5rem;border-radius:var(--border-radius);text-align:center;transition:var(--transition);border:2px solid var(--gray)}.feature-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px #10b9814d;border-color:var(--primary)}.feature-icon{font-size:3rem;margin-bottom:1rem}.feature-card h3{margin-bottom:.5rem;font-size:1.25rem;color:var(--white);font-weight:700}.feature-card p{color:var(--text-secondary);font-size:1rem;line-height:1.6}.application-container{min-height:100vh;background:var(--dark-bg);padding:2rem}.application-header{max-width:800px;margin:0 auto 2rem;display:flex;align-items:center;gap:1rem}.back-button{background:var(--card-bg);color:var(--white);border:2px solid var(--primary);padding:.75rem 1.5rem;border-radius:var(--border-radius);display:flex;align-items:center;gap:.5rem;cursor:pointer;transition:var(--transition);font-weight:600}.back-button:hover{background:var(--primary);transform:translate(-3px)}.application-header h1{font-size:2rem;color:var(--white)}.progress-container{max-width:800px;margin:0 auto 2rem;background:var(--card-bg);padding:1.25rem;border-radius:var(--border-radius);border:2px solid var(--gray)}.progress-steps{display:flex;align-items:center;justify-content:space-between;position:relative}.progress-step{display:flex;align-items:center;gap:.75rem;flex:1;position:relative;z-index:2}.step-number{width:40px;height:40px;min-width:40px;border-radius:50%;background:var(--dark-bg);border:2px solid var(--gray);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;transition:var(--transition)}.progress-step.active .step-number{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 0 15px #10b98199;transform:scale(1.1)}.progress-step span{font-size:.95rem;color:var(--text-secondary);font-weight:600;white-space:nowrap}.progress-step.active span{color:var(--primary);font-weight:700}.progress-line{position:absolute;left:40px;right:40px;top:20px;height:3px;background:var(--gray);z-index:1;transition:var(--transition)}.progress-line.active{background:var(--primary);box-shadow:0 0 10px #10b98180}.application-form{max-width:800px;margin:0 auto;background:var(--card-bg);border-radius:20px;padding:3rem;box-shadow:0 10px 40px #00000080;border:2px solid var(--primary)}.form-step h2{margin-bottom:2rem;font-size:1.75rem;color:var(--primary);font-weight:700}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--white);font-size:1.05rem}.form-group input,.form-group select{width:100%;padding:.875rem 1rem;background:var(--dark-bg);border:2px solid var(--gray);border-radius:var(--border-radius);color:var(--white);font-size:1rem;transition:var(--transition)}.form-group input::placeholder{color:var(--gray-light)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #10b98133;background:var(--darker-bg)}.form-group input.error,.form-group select.error{border-color:var(--danger)}.error-text{display:block;color:var(--danger);font-size:.875rem;margin-top:.25rem;font-weight:600}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.secondary-button{flex:1;background:var(--dark-bg);color:var(--white);border:2px solid var(--primary);padding:1rem 2rem;border-radius:var(--border-radius);font-size:1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:var(--transition)}.secondary-button:hover{background:var(--card-bg);transform:translate(-3px)}.cta-button{flex:2}.summary-card{background:var(--dark-bg);padding:1.5rem;border-radius:var(--border-radius);margin-bottom:2rem;border:2px solid var(--primary)}.summary-card h3{margin-bottom:1rem;color:var(--primary);font-weight:700;font-size:1.25rem}.summary-item{display:flex;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid var(--gray)}.summary-item:last-child{border-bottom:none}.summary-item span{color:var(--text-secondary);font-weight:500}.summary-item strong{color:var(--white);font-weight:700}.success-container{min-height:100vh;background:linear-gradient(135deg,#064e3b 0%,var(--dark-bg) 100%);display:flex;align-items:center;justify-content:center;padding:2rem}.success-card{background:var(--card-bg);padding:4rem 3rem;border-radius:20px;text-align:center;max-width:500px;box-shadow:0 20px 60px #00000080;border:2px solid var(--primary);animation:fadeInUp .6s ease}.success-icon-large{color:var(--success);margin-bottom:1.5rem;filter:drop-shadow(0 0 20px rgba(16,185,129,.5))}.success-card h1{color:var(--white);margin-bottom:1rem;font-size:2rem;font-weight:700}.success-card p{color:var(--text-secondary);margin-bottom:2rem;line-height:1.6;font-size:1.1rem}@media (max-width: 768px){.hero-title{font-size:2.5rem}.calculator-card{padding:1.5rem}.application-form{padding:2rem 1.5rem}.form-row{grid-template-columns:1fr}.progress-container{padding:1rem}.progress-step span{font-size:.75rem}.step-number{width:35px;height:35px;min-width:35px;font-size:.95rem}.progress-line{left:35px;right:35px;top:17px}.form-actions{flex-direction:column}.cta-button,.secondary-button{width:100%}}@media (max-width: 480px){.application-header{flex-direction:column;align-items:flex-start}.calculator-card{padding:1.25rem}.monthly-payment{flex-direction:column;gap:.5rem;text-align:center}.feature-card{padding:2rem 1.5rem}}:root{--primary: #4CAF50;--primary-dark: #45a049;--secondary: #667eea;--danger: #f44336;--danger-dark: #da190b;--warning: #ff9800;--success: #4CAF50;--dark: #1a1a1a;--dark-light: #242424;--gray: #333;--gray-light: #444;--gray-lighter: #555;--text-primary: rgba(255, 255, 255, .87);--text-secondary: rgba(255, 255, 255, .6);--border-radius: 8px;--transition: all .3s ease}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;background-color:var(--dark-light);color:var(--text-primary)}.container{width:100%;min-height:100vh}.navbar{background:var(--dark);padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid var(--primary);position:sticky;top:0;z-index:100;box-shadow:0 2px 10px #0000004d}.navbar h1{color:var(--primary);font-size:1.5rem;margin:0;font-weight:700}.mobile-menu-btn{display:none;background:none;border:none;color:var(--text-primary);cursor:pointer;padding:.5rem}.user-info{display:flex;align-items:center;gap:1rem;transition:var(--transition)}.welcome-text{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary)}.logout-btn{background:var(--danger);color:#fff;border:none;padding:.5rem 1rem;border-radius:var(--border-radius);cursor:pointer;font-size:.9rem;display:flex;align-items:center;gap:.5rem;transition:var(--transition)}.logout-btn:hover{background:var(--danger-dark);transform:translateY(-2px);box-shadow:0 4px 8px #f443364d}.auth-container{display:flex;justify-content:center;align-items:center;min-height:calc(100vh - 70px);background:linear-gradient(135deg,var(--secondary) 0%,#764ba2 100%);padding:1rem}.auth-form{background:#fff;padding:2.5rem;border-radius:16px;box-shadow:0 10px 40px #0000004d;width:100%;max-width:450px;color:#333;animation:slideUp .4s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.auth-form h2{margin-bottom:.5rem;text-align:center;color:#333;font-size:clamp(1.5rem,4vw,2rem);font-weight:700}.auth-subtitle{text-align:center;color:#666;margin-bottom:2rem;font-size:.95rem}.input-group{position:relative;margin-bottom:.5rem}.input-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#999;pointer-events:none}.input-group input,.input-group select{width:100%;padding:.75rem .75rem .75rem 2.75rem;border:2px solid #e0e0e0;border-radius:var(--border-radius);font-size:1rem;transition:var(--transition);background:#fff}.input-group input:focus,.input-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #4caf501a}.input-group input.error,.input-group select.error{border-color:var(--danger)}.error-text{color:var(--danger);font-size:.85rem;margin-top:.25rem;margin-bottom:1rem;display:block}.password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:#999;cursor:pointer;padding:.5rem;display:flex;align-items:center}.password-toggle:hover{color:var(--primary)}.submit-btn{width:100%;padding:.875rem;background:var(--primary);color:#fff;border:none;border-radius:var(--border-radius);font-size:1rem;font-weight:600;cursor:pointer;margin-top:1rem;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:var(--transition)}.submit-btn:hover:not(:disabled){background:var(--primary-dark);transform:translateY(-2px);box-shadow:0 4px 12px #4caf504d}.submit-btn:disabled{background:#ccc;cursor:not-allowed;transform:none}.spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.auth-switch{text-align:center;margin-top:1.5rem;color:#666;font-size:.95rem}.auth-switch a{color:var(--primary);text-decoration:none;font-weight:600;cursor:pointer;transition:var(--transition)}.auth-switch a:hover{text-decoration:underline}.dashboard{padding:2rem;max-width:1200px;margin:0 auto;animation:fadeIn .5s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.dashboard-header{margin-bottom:2rem}.dashboard-header h2{margin-bottom:.5rem;color:var(--primary);font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700}.dashboard-subtitle{color:var(--text-secondary);font-size:1.1rem}.btn-primary{background:var(--primary);color:#fff;padding:.875rem 1.75rem;border:none;border-radius:var(--border-radius);font-size:1rem;font-weight:600;cursor:pointer;margin-bottom:2rem;display:inline-flex;align-items:center;gap:.5rem;transition:var(--transition)}.btn-primary:hover:not(:disabled){background:var(--primary-dark);transform:translateY(-2px);box-shadow:0 4px 12px #4caf504d}.btn-secondary{background:var(--gray);color:#fff;padding:.875rem 1.75rem;border:none;border-radius:var(--border-radius);font-size:1rem;font-weight:600;cursor:pointer;transition:var(--transition)}.btn-secondary:hover:not(:disabled){background:var(--gray-light);transform:translateY(-2px)}.applications-section{background:var(--gray);padding:2rem;border-radius:12px;margin-top:2rem}.applications-section h3{color:var(--primary);margin-bottom:1.5rem;font-size:clamp(1.25rem,3vw,1.75rem);font-weight:700}.skeleton-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.skeleton-card{background:linear-gradient(90deg,var(--gray-light) 25%,var(--gray-lighter) 50%,var(--gray-light) 75%);background-size:200% 100%;animation:loading 1.5s infinite;height:200px;border-radius:var(--border-radius)}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.empty-state{text-align:center;padding:4rem 2rem;color:var(--text-secondary)}.empty-icon{color:var(--gray-lighter);margin-bottom:1rem}.empty-state h4{color:var(--text-primary);margin-bottom:.5rem;font-size:1.5rem}.empty-state p{margin-bottom:2rem;font-size:1.1rem}.applications-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.application-card{background:var(--gray-light);border-radius:var(--border-radius);padding:1.5rem;border-left:4px solid var(--primary);transition:var(--transition);animation:slideUp .4s ease}.application-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #0000004d}.card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:1rem}.card-header h4{color:var(--text-primary);font-size:1.25rem;font-weight:600;margin:0;flex:1}.status-badge{display:flex;align-items:center;gap:.25rem;padding:.35rem .75rem;border-radius:20px;font-size:.85rem;font-weight:600;white-space:nowrap}.status-badge.pending{background:#ff980033;color:var(--warning)}.status-badge.approved{background:#4caf5033;color:var(--success)}.status-badge.rejected{background:#f4433633;color:var(--danger)}.status-icon{flex-shrink:0}.card-body{margin-bottom:1rem}.card-detail{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;color:var(--text-secondary);font-size:.95rem}.card-detail svg{flex-shrink:0;color:var(--primary)}.card-footer{padding-top:1rem;border-top:1px solid var(--gray-lighter)}.card-footer small{color:var(--text-secondary);font-size:.85rem}.form-container{max-width:700px;margin:2rem auto;background:var(--gray);padding:2.5rem;border-radius:12px;width:100%;animation:slideUp .4s ease}.form-container h2{color:var(--primary);margin-bottom:.5rem;font-size:clamp(1.5rem,4vw,2rem);font-weight:700}.form-subtitle{color:var(--text-secondary);margin-bottom:2rem;font-size:1rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:var(--text-primary);font-weight:600;font-size:.95rem}.form-group .input-group input,.form-group .input-group select,.form-group .input-group textarea{padding:.75rem .75rem .75rem 2.75rem;border:2px solid var(--gray-lighter);border-radius:var(--border-radius);background:var(--gray-light);color:var(--text-primary);font-size:1rem;width:100%;transition:var(--transition)}.form-group .input-group input:focus,.form-group .input-group select:focus,.form-group .input-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #4caf501a}.form-actions{display:flex;gap:1rem;margin-top:2rem}.form-actions button{flex:1;padding:.875rem;border-radius:var(--border-radius);font-size:1rem;font-weight:600;cursor:pointer;border:none;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:var(--transition)}@media (max-width: 768px){.navbar{padding:1rem;flex-wrap:wrap}.mobile-menu-btn{display:block}.user-info{display:none;width:100%;flex-direction:column;align-items:stretch;padding-top:1rem}.user-info.mobile-open{display:flex}.welcome-text{justify-content:center}.logout-btn{width:100%;justify-content:center}.auth-form{padding:2rem 1.5rem}.dashboard{padding:1.5rem 1rem}.btn-primary{width:100%;justify-content:center}.applications-grid{grid-template-columns:1fr}.form-container{padding:2rem 1.5rem;margin:1rem}.form-actions{flex-direction:column}}.success-message{text-align:center;padding:3rem 2rem}.success-icon,.success-message h2{color:var(--success);margin-bottom:1rem}.success-message p{color:var(--text-secondary);margin-bottom:2rem;font-size:1.1rem}@media (max-width: 480px){.navbar h1{font-size:1.2rem}.auth-form{padding:1.5rem 1rem}.dashboard{padding:1rem .5rem}.applications-section,.form-container{padding:1.5rem 1rem}}
