*{box-sizing:border-box;font-family:Inter,Arial,sans-serif}html{font-size:16px}body{color:#172033;background:#f2f5fb;min-height:100vh;margin:0}#root{min-height:100vh}a{color:#2357ff;font-weight:700;text-decoration:none}.app-shell{min-height:100vh;display:flex}.app-sidebar{color:#eef4ff;background:#0f1b3d;flex-shrink:0;width:280px;height:100vh;padding:28px 20px;transition:width .25s,padding .25s,opacity .2s,transform .25s;position:sticky;top:0;overflow:hidden}.sidebar-collapsed .app-sidebar{opacity:0;width:0;padding-block:28px;padding-inline:0;transform:translate(-18px)}.sidebar-brand h3,.sidebar-brand p{color:inherit}.sidebar-badge{background:#ffffff1f;border-radius:999px;margin-bottom:14px;padding:7px 12px;font-size:.82rem;font-weight:700;display:inline-block}.sidebar-nav{gap:10px;margin-top:28px;display:grid}.sidebar-quick-actions{display:none}.sidebar-link{color:#d7e3ff;border-radius:14px;padding:12px 14px;font-weight:700;display:block}.shell-main{flex:1;min-width:0;transition:width .25s}.shell-header{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffe0;border-bottom:1px solid #d9dfebd9;justify-content:space-between;align-items:center;gap:16px;padding:18px 24px;display:flex;position:sticky;top:0}.customer-header{gap:20px}.header-title-block{min-width:0}.shell-header h2{margin:2px 0 0}.shell-kicker{color:#2357ff;text-transform:uppercase;letter-spacing:.08em;font-size:.82rem;font-weight:800;display:inline-block}.shell-content{min-height:calc(100vh - 88px)}.menu-toggle{background:linear-gradient(135deg,#2357ff 0%,#4f7bff 100%);border-radius:16px;justify-content:center;align-items:center;width:auto;margin-top:0;padding:10px;display:inline-flex;box-shadow:0 14px 30px #2357ff38}.menu-toggle svg{width:24px;height:24px;display:block}.sidebar-overlay{display:none}.header-user{text-align:right}.header-user strong,.header-user span{display:block}.header-user span{color:#667085;font-size:.92rem}.header-actions{align-items:center;gap:10px;margin-left:auto;display:flex}.customer-header-actions{background:#edf4ffe6;border-radius:18px;padding:6px}.header-btn{width:auto;margin-top:0;padding:10px 14px;font-size:.92rem}.header-btn.secondary{color:#2357ff;box-shadow:none;background:#eef4ff}.danger-btn{background:#e63946}.mobile-page,.admin-page{position:relative}.mobile-page:before,.admin-page:before{content:"";z-index:-1;background:radial-gradient(circle at 0 0,#2357ff1f,#0000 28%),radial-gradient(circle at 100% 100%,#47b6ff24,#0000 25%),linear-gradient(#edf4ff 0%,#fff 68%);position:fixed;inset:0}.mobile-page{width:min(100%,1180px);min-height:100vh;margin:0 auto;padding:32px 20px 48px}.mobile-page>*{width:100%;margin-inline:auto}.card,.hero-card{background:#fff;border-radius:28px;width:100%;margin-top:28px;padding:28px;box-shadow:0 18px 50px #0f235a1a}.form-card{max-width:760px}.status-card{max-width:620px}.hero-card{flex-direction:column;justify-content:center;max-width:1080px;min-height:560px;display:flex}.hero-grid{grid-template-columns:minmax(0,1.4fr) minmax(280px,.9fr);align-items:center;gap:28px;display:grid}.hero-actions{flex-direction:column;align-items:flex-start;display:flex}.hero-actions .btn{max-width:280px}.hero-copy{gap:18px;display:grid}.hero-progress{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.progress-card,.home-panel,.home-info-card{background:linear-gradient(#fbfcff 0%,#f4f8ff 100%);border:1px solid #e7ecf7}.progress-card{border-radius:18px;padding:16px}.progress-card span,.progress-card strong{display:block}.progress-card span{color:#667085;font-size:.88rem}.progress-card strong{color:#172033;margin-top:6px;font-size:1rem}.hero-inline-actions{flex-wrap:wrap;gap:16px;display:flex}.hero-highlights{gap:18px;display:grid}.home-panel{border-radius:22px;padding:20px}.home-panel.accent{background:linear-gradient(135deg,#eef4ff 0%,#f8fbff 100%)}.feature-list,.timeline-list{gap:14px;margin-top:16px;display:grid}.feature-item,.timeline-item{border-bottom:1px solid #e7ecf7;gap:6px;padding:14px 0;display:grid}.feature-item:last-child,.timeline-item:last-child{border-bottom:0;padding-bottom:0}.feature-item strong,.timeline-item strong{color:#172033}.feature-item span,.timeline-item span{color:#667085;line-height:1.5}.home-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:1080px;margin:24px auto 0;display:grid}.approval-banner{background:linear-gradient(135deg,#f2fff7 0%,#fff 100%);border:1px solid #d7f5e5;grid-template-columns:minmax(0,1.5fr) auto;align-items:center;gap:20px;max-width:1080px;margin:24px auto 0;display:grid}.approval-banner h3{margin-bottom:10px}.approval-banner-copy p{margin:8px 0 0}.approval-banner-actions{align-items:center;display:flex}.approval-banner-actions .btn{min-width:220px;margin-top:0}.home-info-card{margin-top:0}.badge{color:#2357ff;background:#eaf0ff;border-radius:999px;width:fit-content;margin-bottom:16px;padding:8px 14px;font-weight:700;display:inline-block}.success-badge{color:#0f9f61;background:#e8fff2}h1{letter-spacing:-.04em;margin:0 0 14px;font-size:clamp(2.4rem,4vw,4.2rem);line-height:1}h2,h3,h4{margin-top:0}p{color:#667085;line-height:1.6}.field{margin-top:14px}label{margin-bottom:7px;font-size:14px;font-weight:700;display:block}input,select,textarea{background:#fff;border:1px solid #d9dfeb;border-radius:14px;outline:none;width:100%;padding:14px;font-size:15px}textarea{min-height:85px}.btn,button{cursor:pointer;color:#fff;background:linear-gradient(135deg,#2357ff 0%,#3c6cff 100%);border:0;border-radius:15px;width:100%;margin-top:18px;padding:14px 18px;font-size:16px;font-weight:800;transition:transform .2s,box-shadow .2s}.btn:hover,button:hover{transform:translateY(-1px);box-shadow:0 10px 24px #2357ff2e}.btn:disabled,button:disabled{opacity:.6;cursor:not-allowed}.btn.danger,button.danger{background:#e63946}.link-btn{color:#2357ff;width:auto;box-shadow:none;background:0 0;margin-top:12px;padding:0}.step-header{margin-bottom:18px}.step-header span{color:#2357ff;margin-bottom:8px;font-weight:900;display:inline-block}.summary,.bank-box,.payment-card,.success-box,.amount-box{background:#f6f8ff;border-radius:16px;margin-top:16px;padding:16px}.amount-box{color:#2357ff;font-size:18px;font-weight:900}.loan-amount-display{text-align:center;margin-bottom:18px}.refund-note,.note{color:#8a6500;background:#fff8df;border-radius:14px;padding:12px;font-weight:700}.file-name{color:#2357ff;font-weight:700}.center{text-align:center}.review-card,.approval-card{position:relative;overflow:hidden}.review-visual{place-items:center;width:120px;height:120px;margin:0 auto 12px;display:grid;position:relative}.loader{border:7px solid #e2e8f0;border-top-color:#2357ff;border-radius:50%;width:64px;height:64px;margin:20px auto;animation:.9s linear infinite spin}.review-pulse{border:1px solid #2357ff2e;border-radius:50%;animation:2.2s ease-out infinite ripple;position:absolute;inset:10px}.review-pulse-two{animation-delay:1.1s}.review-timer{gap:4px;margin-top:8px;display:grid}.review-timer strong{color:#172033;font-size:2.1rem;line-height:1}.review-timer span{color:#667085;font-size:.92rem}.progress-track{background:#e9eef9;border-radius:999px;width:min(100%,360px);height:12px;margin:18px auto 0;overflow:hidden}.progress-fill{border-radius:inherit;background:linear-gradient(90deg,#2357ff 0%,#6aa6ff 100%);height:100%;transition:width .9s}.review-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px;display:grid}.review-step{background:#f8faff;border:1px solid #e6ecfb;border-radius:16px;padding:14px 10px}.review-step strong,.review-step span{display:block}.review-step strong{color:#172033}.review-step span{color:#667085;margin-top:5px;font-size:.88rem}.review-step.active{background:linear-gradient(#edf4ff 0%,#f8fbff 100%);border-color:#d7e4ff}.approval-icon{color:#0f9f61;background:radial-gradient(circle,#0f9f6124 0%,#0f9f610a 65%,#0000 100%);border-radius:50%;place-items:center;width:88px;height:88px;margin:0 auto 14px;animation:2.8s ease-in-out infinite floatGlow;display:grid}.approval-icon svg{width:64px;height:64px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ripple{0%{opacity:.7;transform:scale(.9)}to{opacity:0;transform:scale(1.18)}}@keyframes fadeLift{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes floatGlow{0%,to{transform:translateY(0);box-shadow:0 0 #0f9f6100}50%{transform:translateY(-4px);box-shadow:0 16px 32px #0f9f611f}}.auth-layout{grid-template-columns:minmax(0,1.05fr) minmax(360px,460px);align-items:center;gap:28px;min-height:calc(100vh - 80px);display:grid}.auth-panel{color:#0f1b3d;background:linear-gradient(145deg,#ffffffe0,#eaf1ffeb),#fff;border-radius:28px;padding:40px 32px;box-shadow:0 20px 50px #0f235a1a}.auth-panel h1{max-width:12ch}.auth-form{width:100%;max-width:460px;margin-top:0}.tac-status-card{background:linear-gradient(135deg,#eff4ff 0%,#fbfdff 100%);border:1px solid #dbe5ff;border-radius:18px;align-items:center;gap:14px;margin-bottom:12px;padding:14px 16px;animation:.35s fadeLift;display:flex}.tac-status-card strong,.tac-status-card span{display:block}.tac-status-card span{color:#667085;margin-top:4px;font-size:.9rem}.tac-orbit{border:1px dashed #2357ff47;border-radius:50%;flex-shrink:0;width:42px;height:42px;animation:2.4s linear infinite spin;position:relative}.tac-orbit-dot{background:#2357ff;border-radius:50%;width:9px;height:9px;position:absolute;box-shadow:0 0 0 5px #2357ff1f}.tac-orbit-dot:first-child{top:-3px;left:16px}.tac-orbit-dot:nth-child(2){bottom:12px;right:-2px}.tac-orbit-dot:nth-child(3){bottom:12px;left:-2px}.info-list{gap:14px;margin-top:28px;display:grid}.info-item{background:#ffffffb8;border:1px solid #2357ff14;border-radius:18px;padding:16px}.info-item strong,.info-item span{display:block}.info-item span{color:#667085;margin-top:6px}.loan-term-grid,.payment-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px;display:grid}.payment-page .form-card{max-width:920px}.payment-card-shell{max-width:780px}.payment-state-card{max-width:760px}.payment-layout .success-box,.payment-layout form{margin-top:20px}.loan-overview-layout{gap:24px;max-width:1040px;margin:0 auto;display:grid}.loan-overview-card{margin-top:0}.loan-overview-head{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.loan-status-pill{color:#2357ff;background:#eef4ff;border-radius:999px;justify-content:center;align-items:center;width:fit-content;padding:9px 14px;font-size:.86rem;font-weight:800;display:inline-flex}.status-loan-approved,.status-approved,.status-completed{color:#0f9f61;background:#e8fff2}.status-receipt-rejected,.status-rejected{color:#d92d20;background:#ffecef}.status-pending,.status-pending-receipt-review,.status-review-pending{color:#9a6b00;background:#fff7df}.loan-summary-grid,.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px;display:grid}.loan-summary-box,.detail-item{background:#f8faff;border:1px solid #e7ecf7;border-radius:18px;padding:16px}.loan-summary-box span,.loan-summary-box strong,.detail-item span,.detail-item strong{display:block}.loan-summary-box span,.detail-item span{color:#667085;font-size:.9rem}.loan-summary-box strong,.detail-item strong{color:#172033;margin-top:6px}.section-head p{margin:6px 0 0}.payment-status-list{gap:14px;margin-top:18px;display:grid}.payment-status-item{background:#f8faff;border:1px solid #e7ecf7;border-radius:18px;justify-content:space-between;gap:16px;padding:18px;display:flex}.payment-status-item strong,.payment-status-item span,.payment-status-meta small{display:block}.payment-status-item span,.payment-status-meta small{color:#667085;margin-top:5px}.payment-status-meta{text-align:right;min-width:190px}.admin-page{justify-content:center;align-items:center;min-height:100vh;padding:30px;display:flex}.admin-auth-layout{width:min(100%,1080px)}.admin-auth-panel{flex-direction:column;justify-content:center;min-height:420px;display:flex}.admin-layout{width:min(100%,1200px);margin:0 auto;padding:28px}.admin-page-head{margin-bottom:18px}.admin-page-head p{margin:6px 0 0}.admin-toolbar{flex-wrap:wrap;gap:10px;margin-bottom:18px;display:flex}.admin-card{background:#fff;border-radius:18px;margin-bottom:20px;padding:22px;box-shadow:0 12px 30px #0000000f}.admin-card.wide{width:100%}.admin-top{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.admin-top>div{flex-wrap:wrap;gap:12px;display:flex}.grid-2{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}table{border-collapse:collapse;background:#fff;border-radius:16px;width:100%;overflow:hidden;box-shadow:0 12px 30px #0000000f}th,td{text-align:left;border-bottom:1px solid #edf0f6;padding:14px}th{color:#fff;background:#2357ff}.status{color:#2357ff;background:#eef4ff;border-radius:999px;padding:6px 10px;font-weight:800}.table-actions{gap:8px;display:flex}.table-actions button{width:auto;margin:0;padding:8px 12px;font-size:13px}.receipt-cell{gap:6px;display:grid}.inline-link{width:auto;box-shadow:none;color:#2357ff;text-align:left;background:0 0;margin-top:0;padding:0;font-size:.92rem;font-weight:700}.action-icon{color:#2357ff;background:linear-gradient(135deg,#eff4ff 0%,#dfe9ff 100%);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.action-icon svg{width:22px;height:22px}.sidebar-action-card{text-align:left;color:#fff;width:100%;box-shadow:none;background:#ffffff14;border-radius:18px;align-items:center;gap:12px;margin-top:0;padding:14px;display:flex}.sidebar-action-card span:last-child{gap:3px;display:grid}.sidebar-action-card strong,.sidebar-action-card small{display:block}.sidebar-action-card small{color:#e7eeffb8;font-size:.8rem;font-weight:500}.sidebar-action-card.logout{background:#ffffff1f}.muted-text{color:#98a2b3;font-size:.9rem}.modal-backdrop{z-index:40;background:#0f1b3d99;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.receipt-modal{background:#fff;border-radius:24px;width:min(100%,900px);max-height:90vh;padding:20px;overflow:auto;box-shadow:0 24px 60px #00000038}.receipt-modal-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.modal-close{width:auto;margin-top:0;padding:10px 14px}.receipt-preview{background:#f8faff;border:1px solid #e5e9f2;border-radius:18px;min-height:420px;margin-top:18px;overflow:hidden}.receipt-preview img,.receipt-preview iframe{border:0;width:100%;min-height:420px;display:block}.fee-setting{border:1px solid #e5e9f2;border-radius:16px;margin-bottom:16px;padding:16px}@media (width<=1024px){.app-sidebar{width:240px}.hero-card{min-height:auto}.hero-grid,.hero-progress,.home-grid,.approval-banner,.loan-summary-grid,.detail-grid,.auth-layout,.loan-term-grid,.payment-grid{grid-template-columns:1fr}.auth-layout{min-height:auto}.auth-panel h1{max-width:none}.auth-form{max-width:100%}}@media (width<=768px){.app-shell{display:block}.app-sidebar{z-index:40;width:min(82vw,290px);transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-100%);box-shadow:18px 0 40px #0f1b3d2e}.sidebar-open .app-sidebar{transform:translate(0)}.sidebar-open .sidebar-overlay{z-index:35;background:#09122a59;border:0;border-radius:0;margin:0;padding:0;display:block;position:fixed;inset:0}.menu-toggle{display:inline-flex}.shell-header{flex-wrap:wrap;gap:12px;padding:14px 16px}.header-user{display:none}.header-actions{flex-wrap:wrap;justify-content:flex-start;width:100%;margin-left:0}.customer-header-actions{display:none}.sidebar-quick-actions{border-top:1px solid #ffffff1f;gap:12px;margin-top:22px;padding-top:22px;display:grid}.mobile-page{width:100%;padding:18px 14px 32px}.card,.hero-card{border-radius:20px;margin-top:18px;padding:20px 16px}.auth-panel{border-radius:22px;padding:24px 20px}.auth-layout{gap:18px}h1{font-size:2rem}h2{font-size:1.45rem}p{font-size:.95rem}input,select,textarea,.btn,button{font-size:1rem}.hero-actions{align-items:stretch}.hero-actions .btn{max-width:none}.hero-inline-actions{gap:10px 16px}.loan-overview-head,.payment-status-item{flex-direction:column}.payment-status-meta{text-align:left;min-width:0}.review-steps{grid-template-columns:1fr}.grid-2{grid-template-columns:1fr;gap:16px}.admin-top{flex-direction:column;align-items:flex-start}.admin-layout{padding:16px 14px 28px}.admin-page{align-items:flex-start;padding:16px}.admin-card{border-radius:16px;padding:18px 16px}table{box-shadow:none;background:0 0}table,thead,tbody,th,td,tr{display:block}thead{display:none}tbody{gap:14px;display:grid}tr{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 12px 30px #0000000f}td{justify-content:space-between;gap:12px;padding:12px 14px;font-size:13px;display:flex}td:before{content:attr(data-label);color:#172033;font-weight:800}td[colspan]{text-align:center;display:block}td[colspan]:before{content:none}.table-actions{flex-wrap:wrap;justify-content:flex-end}.receipt-modal{padding:16px}.receipt-modal-head{flex-direction:column}.receipt-preview,.receipt-preview img,.receipt-preview iframe{min-height:280px}}@media (width<=480px){.mobile-page{padding-inline:12px}.card,.hero-card{padding:18px 14px}h1{font-size:1.75rem}.badge{padding:7px 12px;font-size:.82rem}}:root{--brand-navy:#10204a;--brand-indigo:#3347d7;--brand-teal:#10c6b2;--brand-coral:#ff8a3d;--brand-yellow:#ffd166}body{background:#eef7fb}.app-sidebar{background:linear-gradient(#11265c 0%,#101b3f 55%,#0b1532 100%)}.sidebar-badge{color:#c8fff7;background:#10c6b22e}.sidebar-link.active,.sidebar-link:hover{color:#fff;background:#ffd1662e}.shell-header{background:#ffffffe6}.shell-kicker,a,.link-btn,.amount-box,.step-header span,.file-name{color:var(--brand-indigo)}.menu-toggle,.btn,button{color:#fff;background:linear-gradient(135deg,#ff8a3d 0%,#ffb347 100%);box-shadow:0 14px 28px #ff8a3d38}.btn:hover,button:hover{box-shadow:0 12px 28px #ff8a3d47}.header-btn.secondary,.simple-secondary-btn,.link-btn{color:#fff;box-shadow:none;background:#ffffff38}.header-btn.secondary{color:var(--brand-indigo);background:#eef4ff}input:focus,select:focus,textarea:focus{border-color:var(--brand-teal);box-shadow:0 0 0 4px #10c6b229}.mobile-page:before,.admin-page:before{background:radial-gradient(circle at 0 0,#3347d752,#0000 28%),radial-gradient(circle at 100% 100%,#10c6b247,#0000 32%),linear-gradient(135deg,#eef3ff 0%,#e6fbf7 45%,#fff7eb 100%)}.simple-home-page{place-items:start center;padding-top:44px;display:grid}.simple-hero-card{color:#fff;background:radial-gradient(circle at 86% 16%,#ffd166f2 0 13%,#0000 14%),radial-gradient(circle at 8% 90%,#10c6b261 0 24%,#0000 25%),linear-gradient(145deg,#3145d4 0%,#6146cf 45%,#10bfae 100%);border-radius:34px;width:min(100%,620px);min-height:560px;margin-top:28px;padding:36px;position:relative;overflow:hidden;box-shadow:0 28px 70px #1720503d}.simple-hero-card:before,.simple-hero-card:after{content:"";background:#ffffff24;border-radius:999px;position:absolute}.simple-hero-card:before{width:220px;height:220px;bottom:-80px;right:-70px}.simple-hero-card:after{width:130px;height:130px;top:80px;left:-34px}.simple-hero-content{z-index:1;gap:20px;max-width:520px;display:grid;position:relative}.app-mark{width:78px;height:78px;color:var(--brand-indigo);letter-spacing:-.08em;background:#ffffffeb;border-radius:24px;place-items:center;font-size:1.7rem;font-weight:900;display:grid;box-shadow:0 18px 42px #0b15322e}.simple-badge{color:#fff;background:#ffffff2b;border-radius:999px;width:fit-content;padding:9px 15px;font-weight:800}.simple-hero-card h1{color:#fff;max-width:460px;margin:0;font-size:clamp(2.45rem,5vw,4.6rem);line-height:.96}.simple-status-pill{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff29;border:1px solid #ffffff2e;border-radius:18px;justify-content:space-between;align-items:center;gap:16px;width:100%;padding:14px 16px;display:flex}.simple-status-pill span,.simple-stats span{color:#ffffffc7;font-size:.9rem}.simple-status-pill strong,.simple-stats strong{color:#fff}.simple-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.simple-stats>div{background:#ffffff26;border:1px solid #ffffff2e;border-radius:20px;gap:6px;padding:16px;display:grid}.simple-actions{gap:12px;max-width:330px;margin-top:10px;display:grid}.simple-actions .btn,.simple-secondary-btn{border-radius:18px;margin-top:0}.simple-secondary-btn{border:1px solid #ffffff47}.calculator-only-card,.simple-approval-banner{max-width:620px}@media (width<=768px){.simple-home-page{padding-top:16px}.simple-hero-card{border-radius:28px;min-height:520px;padding:28px 20px}.simple-stats{grid-template-columns:1fr}.simple-actions{max-width:none}}
