:root{--p:#5527a5;--b:#1769c2;--ink:#172033;--muted:#6e7788;--line:#e4e8ef;--bg:#f5f7fb;--ok:#11845b}*{box-sizing:border-box}body{margin:0;font:14px system-ui;color:var(--ink);background:var(--bg)}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}.logo{display:flex;align-items:center;gap:10px}.logo>span{display:grid;width:43px;height:43px;place-items:center;border-radius:14px;color:white;background:linear-gradient(135deg,var(--p),var(--b));font-weight:900}.logo strong{display:grid;font-size:18px}.logo small{color:var(--muted);font-size:9px;text-transform:uppercase}.auth{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(140deg,#f8f5ff,#edf5ff)}.auth-card{width:min(100%,440px);padding:32px;border:1px solid var(--line);border-radius:25px;background:white;box-shadow:0 20px 60px #44207018}.auth-card h1{font-size:34px;margin:35px 0 5px}.field{display:grid;gap:7px;margin:14px 0}.field input,.field select,.field textarea{width:100%;padding:13px;border:1px solid var(--line);border-radius:11px}.btn{display:inline-flex;padding:12px 18px;border:0;border-radius:11px;color:white;background:linear-gradient(135deg,var(--p),var(--b));font-weight:800;cursor:pointer}.btn.alt{color:var(--p);background:#f0eaff}.btn.danger{background:#c64259}.flash{padding:12px;margin:10px 0;border-radius:10px}.success{background:#e8f8f1;color:#08714c}.error{background:#fff0f2;color:#a02b43}.mobile{width:min(100%,520px);min-height:100vh;margin:auto;padding:0 18px 90px;background:#fbfcff}.mobile header{display:flex;justify-content:space-between;align-items:center;padding:18px 0}.lang{max-width:105px;padding:8px;border:1px solid var(--line);border-radius:9px;background:white}.hero{padding:25px;border-radius:24px;color:white;background:linear-gradient(135deg,#32205e,var(--p) 55%,var(--b));box-shadow:0 18px 35px #44208035}.hero .amount{font-size:36px;font-weight:800;margin:10px 0}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:15px}.metric,.card{padding:16px;border:1px solid var(--line);border-radius:17px;background:white}.metric span,.muted{color:var(--muted);font-size:12px}.metric strong{display:block;margin-top:6px;font-size:18px}.card{margin-top:15px}.card h2{margin:0 0 12px}.row{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-top:1px solid var(--line)}.row:first-child{border:0}.status{padding:4px 8px;border-radius:20px;color:var(--ok);background:#e7f7f1;font-size:10px;font-weight:800}.mobile nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);display:grid;grid-template-columns:repeat(4,1fr);width:min(100%,520px);padding:13px;background:white;border-top:1px solid var(--line)}.mobile nav a{text-align:center;color:#959cab;font-size:11px}.mobile nav .on{color:var(--p);font-weight:800}.admin{display:grid;min-height:100vh;grid-template-columns:230px 1fr}.admin aside{position:sticky;top:0;height:100vh;padding:25px 18px;color:white;background:#22183d}.admin aside .logo small{color:#bcb1d2}.admin-links{display:grid;gap:4px;margin:30px 0}.admin-links a{padding:11px;border-radius:9px;color:#c3b9d5}.admin-links .on{color:white;background:#ffffff16}.workspace{padding:28px;min-width:0}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.panel{margin-top:15px;padding:18px;border:1px solid var(--line);border-radius:17px;background:white;overflow:auto}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.full{grid-column:1/-1}table{width:100%;border-collapse:collapse}th,td{padding:11px;text-align:left;border-bottom:1px solid var(--line);font-size:12px}.search{display:flex;gap:8px;margin:10px 0}.search input{padding:11px;border:1px solid var(--line);border-radius:10px}.pages{display:flex;gap:5px;margin:12px}.pages a{padding:7px 10px;border:1px solid var(--line);border-radius:8px}.pages .on{color:white;background:var(--p)}@media(max-width:750px){.admin{grid-template-columns:74px 1fr}.admin aside .logo strong,.admin-links a{font-size:0}.admin-links a:first-letter{font-size:13px}.workspace{padding:14px}.grid{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}}

/* Customer loan experience */
.customer-app{--loan-blue:#1263b8;--loan-blue-dark:#0d3f7a;--loan-purple:#7254c7;--loan-soft:#eef5fc;--loan-border:#dfe8f2;background:#edf3f9}
.customer-app .mobile{padding:0 16px 96px;background:#f8fafc;box-shadow:0 0 50px #173e6814}
.customer-app .mobile header{position:sticky;z-index:10;top:0;margin:0 -16px;padding:15px 16px;background:#f8fafcee;backdrop-filter:blur(12px)}
.customer-app .logo>span{border-radius:12px;background:linear-gradient(145deg,var(--loan-blue-dark),var(--loan-blue));box-shadow:0 7px 16px #1263b82d}
.customer-app .logo strong{color:#152b46;font-size:17px}
.customer-app .logo small{color:var(--loan-blue);font-size:8px;letter-spacing:.1em}
.customer-app .btn{align-items:center;justify-content:center;gap:12px;border-radius:12px;background:linear-gradient(135deg,var(--loan-blue-dark),var(--loan-blue));box-shadow:0 8px 20px #1263b826}
.customer-app .btn.alt{color:var(--loan-blue);background:#e9f3fc;box-shadow:none}
.loan-hero{position:relative;overflow:hidden;padding:26px 23px;border-radius:25px;color:white;background:linear-gradient(135deg,#0c3c75,#1263b8 63%,#7056c7);box-shadow:0 20px 38px #13548c32}
.loan-hero:after{content:"";position:absolute;width:170px;height:170px;right:-75px;top:-80px;border:28px solid #ffffff12;border-radius:50%}
.hero-kicker{font-size:10px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;opacity:.75}
.loan-hero h1{max-width:310px;margin:12px 0 7px;font-size:30px;line-height:1.08}
.loan-hero p{margin:0;color:#d9e9fa;line-height:1.55}
.loan-range{display:grid;gap:4px;margin:23px 0 17px;padding:13px 15px;border:1px solid #ffffff1f;border-radius:14px;background:#ffffff12}
.loan-range small{color:#d9e9fa}.loan-range strong{font-size:22px}.loan-range strong span{margin:0 6px;font-size:11px;font-weight:500;opacity:.7}
.hero-btn{position:relative;z-index:1;background:white!important;color:var(--loan-blue-dark)!important;box-shadow:none!important}
.account-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:13px}
.account-summary>div{min-width:0;padding:13px 10px;border:1px solid var(--loan-border);border-radius:14px;background:white;box-shadow:0 5px 15px #183b6209}
.account-summary span,.account-summary strong{display:block}.account-summary span{min-height:28px;color:var(--muted);font-size:9px}.account-summary strong{overflow:hidden;color:#193554;font-size:14px;text-overflow:ellipsis}
.customer-section{margin-top:17px;padding:17px;border:1px solid var(--loan-border);border-radius:19px;background:white;box-shadow:0 7px 22px #173c6109}
.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.section-title h2{margin:0;font-size:16px}.section-title>span{color:var(--muted);font-size:10px}
.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.quick-grid a{display:grid;grid-template-columns:39px 1fr;column-gap:10px;align-items:center;padding:12px;border:1px solid var(--loan-border);border-radius:14px;background:#fbfdff}.quick-grid a>b{grid-row:1/3;display:grid;width:39px;height:39px;place-items:center;border-radius:12px;color:var(--loan-blue);background:#eaf3fc;font-size:18px}.quick-grid a:nth-child(3)>b{color:var(--loan-purple);background:#f0edfb}.quick-grid span{align-self:end;font-size:12px;font-weight:800}.quick-grid small{align-self:start;color:var(--muted);font-size:8px}
.how-steps{display:grid;gap:13px}.how-steps>div{display:flex;align-items:center;gap:12px}.how-steps>div>b{display:grid;flex:0 0 35px;height:35px;place-items:center;border-radius:50%;color:white;background:var(--loan-blue);font-size:11px}.how-steps>div:nth-child(2)>b{background:var(--loan-purple)}.how-steps span{display:grid;gap:3px}.how-steps small{color:var(--muted)}
.live-dot{padding:4px 8px;border-radius:99px;color:#08714c!important;background:#e7f7f1;font-weight:800}.live-dot:before{content:"";display:inline-block;width:6px;height:6px;margin-right:5px;border-radius:50%;background:#12a16f}
.disbursement-list{display:grid}.disbursement-row{display:grid;grid-template-columns:35px 1fr auto;align-items:center;gap:10px;padding:10px 0;border-top:1px solid #edf1f5}.disbursement-row:first-child{border:0}.person-mark{display:grid;width:35px;height:35px;place-items:center;border-radius:50%;color:var(--ok);background:#e8f7f1;font-weight:900}.disbursement-row div{display:grid;gap:3px}.disbursement-row small{color:var(--muted);font-size:9px}.disbursement-row>b{color:var(--loan-blue-dark);font-size:11px}
.notice-panel{border-left:4px solid var(--loan-purple)}.notice-panel article+article{margin-top:12px;padding-top:12px;border-top:1px solid var(--loan-border)}.notice-panel p{margin:5px 0 0;color:var(--muted);line-height:1.5}
.page-heading{padding:10px 2px 4px}.page-heading>span{color:var(--loan-blue);font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.page-heading h1{margin:7px 0 5px;font-size:27px}.page-heading p{margin:0;color:var(--muted);line-height:1.5}
.application-card,.verification-card{margin-top:15px;padding:21px;border:1px solid var(--loan-border);border-radius:21px;background:white;box-shadow:0 10px 25px #163f680d}.application-icon,.verification-icon{display:grid;width:50px;height:50px;place-items:center;margin-bottom:14px;border-radius:16px;color:white;background:linear-gradient(145deg,var(--loan-blue),var(--loan-purple));font-size:20px;font-weight:900}.application-card h2{margin:13px 0 7px}.application-card p,.detail-copy p{color:var(--muted);line-height:1.65}.eligibility .row strong{color:var(--loan-blue-dark)}
.loan-list{display:grid;gap:12px;margin-top:15px}.loan-request-card{padding:18px;border:1px solid var(--loan-border);border-radius:18px;background:white;box-shadow:0 7px 20px #173c6109}.loan-request-top,.loan-request-footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.loan-id{color:var(--loan-blue);font-size:10px;font-weight:900}.loan-request-card h2{margin:15px 0 5px;font-size:17px}.loan-request-card p{color:var(--muted);line-height:1.5}.loan-request-footer{margin-top:15px;padding-top:13px;border-top:1px solid var(--loan-border)}.loan-request-footer>span{color:var(--muted);font-size:10px}.loan-request-footer>strong{color:var(--ok)}.empty-state{text-align:center;padding:35px 20px;border:1px dashed #c9d7e5;border-radius:18px;background:white}.empty-state>b{display:grid;width:55px;height:55px;margin:auto;place-items:center;border-radius:17px;color:white;background:linear-gradient(145deg,var(--loan-blue),var(--loan-purple))}
.verification-head{display:flex;align-items:center;gap:13px}.verification-head .verification-icon{flex:0 0 50px;margin:0}.verification-head small{color:var(--loan-blue);font-weight:800}.verification-head h2{margin:4px 0 0}.protected-detail,.detail-copy{margin:18px 0;padding:15px;border-radius:14px;background:var(--loan-soft)}.protected-detail p{margin-bottom:0;color:var(--muted)}.detail-copy h3{margin-top:0}.reward-line{display:flex;justify-content:space-between;margin-bottom:16px;padding:13px;border:1px solid #cae2d8;border-radius:12px;background:#eff9f5}.reward-line strong{color:var(--ok)}
.bank-card h2{color:var(--loan-blue-dark)}.info-note{padding:12px;border-radius:11px;color:#52677d;background:var(--loan-soft);font-size:11px;line-height:1.5}.access-card .link-row,.link-row{display:flex;gap:10px;margin-top:10px}.link-row a{flex:1;padding:10px;border-radius:10px;color:var(--loan-blue);background:var(--loan-soft);text-align:center;font-size:11px;font-weight:800}
.history-row{display:grid;grid-template-columns:35px 1fr auto;align-items:center;gap:10px;padding:12px 0;border-top:1px solid var(--loan-border)}.history-row:first-child{border:0}.history-row>div{display:grid;gap:4px}.history-row small{color:var(--muted);font-size:9px}.history-row>div:last-child{justify-items:end}
.maintenance-card{text-align:center;padding:28px 20px}.maintenance-card>span{display:inline-flex;padding:5px 9px;border-radius:20px;color:#795d17;background:#fff5d8;font-size:9px;font-weight:900}.maintenance-card h2{margin:14px 0 7px}.maintenance-card p,.support-card p{color:var(--muted);line-height:1.6}.support-card{text-align:center;padding:28px 20px}.support-card>b{display:grid;width:60px;height:60px;margin:auto;place-items:center;border-radius:20px;color:white;background:linear-gradient(145deg,var(--loan-blue),var(--loan-purple));font-size:24px}.support-card h2{margin:14px 0 7px}.rules-copy{line-height:1.75}
.profile-head{display:flex;align-items:center;gap:14px;padding:15px 4px}.profile-head>span,.profile-head>img{display:grid;width:64px;height:64px;place-items:center;border:3px solid white;border-radius:20px;color:white;background:linear-gradient(145deg,var(--loan-blue),var(--loan-purple));box-shadow:0 8px 20px #183d6622;font-size:18px;font-weight:900;object-fit:cover}.profile-head h1{margin:0;font-size:22px}.profile-head p{margin:5px 0 0;color:var(--muted)}.profile-links{display:grid;padding:4px 17px}.profile-links a{display:flex;justify-content:space-between;padding:14px 0;border-top:1px solid var(--loan-border);font-weight:700}.profile-links a:first-child{border:0}.profile-links a:last-child{color:#b7354d}
.customer-app .customer-nav{grid-template-columns:repeat(5,1fr);padding:8px 6px calc(8px + env(safe-area-inset-bottom));box-shadow:0 -5px 20px #173e6810}.customer-app .customer-nav a{display:grid;justify-items:center;gap:2px}.customer-app .customer-nav b{font-size:17px;line-height:1}.customer-app .customer-nav span{font-size:9px}.customer-app .customer-nav .on{color:var(--loan-blue)}
@media(max-width:390px){.quick-grid{grid-template-columns:1fr}.account-summary{gap:5px}.account-summary>div{padding:11px 7px}.customer-app .customer-nav span{font-size:8px}}

/* Customer layout hardening */
.customer-app{min-height:100vh;background:linear-gradient(145deg,#eaf2fa,#f1eefb)}
.customer-app .mobile{position:relative;width:100%;max-width:520px;overflow:hidden}
.customer-app h1,.customer-app h2,.customer-app h3,.customer-app p{overflow-wrap:anywhere}
.customer-app h1{color:#132b48;letter-spacing:-.025em}
.customer-app h2{color:#173454;line-height:1.25}
.customer-app p{line-height:1.6}
.customer-app svg{display:block;width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.customer-app .quick-grid a>b svg{width:20px;height:20px}
.customer-app .field{gap:8px;margin:16px 0;color:#2d4662;font-size:12px;font-weight:700}
.customer-app .field input,.customer-app .field select,.customer-app .field textarea{min-height:48px;padding:12px 14px;border-color:#d7e2ee;border-radius:12px;color:#172f4c;background:#fbfdff;outline:none}
.customer-app .field input:focus,.customer-app .field select:focus,.customer-app .field textarea:focus{border-color:#3780c8;box-shadow:0 0 0 4px #2d78c51a}
.customer-app form>.btn{min-height:48px}
.customer-app .application-card>.btn,.customer-app .maintenance-card>.btn,.customer-app .support-card>.btn{min-height:47px}
.customer-app .row{align-items:center;min-width:0}.customer-app .row span{color:#6d7d90}.customer-app .row strong{min-width:0;text-align:right;overflow-wrap:anywhere}
.verification-icon svg{width:25px!important;height:25px!important}.empty-state>b svg{width:27px;height:27px}
.customer-app .status{display:inline-flex;align-items:center;width:max-content;max-width:100%;white-space:normal;line-height:1.25}
.customer-app .customer-nav{z-index:30;border-top-color:#dce6f0;background:#fffffff5;backdrop-filter:blur(14px)}
.customer-app .customer-nav a{min-width:0;padding:3px 1px;border-radius:10px}
.customer-app .customer-nav a.on{background:#edf5fc}
.customer-app .customer-nav b{display:grid;width:28px;height:24px;place-items:center}
.customer-app .customer-nav b svg{width:19px;height:19px}
.customer-app .customer-nav span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(min-width:700px){
  .customer-app{padding:26px}
  .customer-app .mobile{min-height:calc(100vh - 52px);border:1px solid #d9e4ef;border-radius:28px;box-shadow:0 24px 70px #173e6822}
  .customer-app .customer-nav{bottom:26px;border-radius:0 0 28px 28px}
}
@media(max-width:430px){
  .loan-hero{padding:23px 19px}.loan-hero h1{font-size:27px}
  .quick-grid{gap:8px}.quick-grid a{padding:11px 9px}
  .customer-section{padding:15px}.account-summary span{font-size:8px}.account-summary strong{font-size:12px}
}
