
/* LoanPro Cinematic Loop Login — preserves AdminLTE functionality */
:root{
  --lp-bg:#03070b;
  --lp-panel:rgba(7,15,21,.88);
  --lp-line:rgba(101,255,198,.16);
  --lp-accent:#65ffc6;
  --lp-accent2:#37a7ff;
  --lp-text:#e9fff7;
  --lp-muted:#7e9a91;
}
html,body{min-height:100%;}
body.login-page.lp-loop-login{
  min-height:100vh;
  margin:0;
  overflow:hidden;
  color:var(--lp-text);
  background:
    radial-gradient(circle at 50% 38%, rgba(55,167,255,.10), transparent 31%),
    radial-gradient(circle at 50% 52%, rgba(101,255,198,.08), transparent 38%),
    linear-gradient(180deg,#020507 0%,#050b0f 48%,#020506 100%) !important;
  position:relative;
}
body.lp-loop-login:before{
  content:"";
  position:fixed;inset:0;pointer-events:none;opacity:.32;
  background-image:
    linear-gradient(rgba(101,255,198,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(101,255,198,.035) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:radial-gradient(circle at center,#000 20%,transparent 78%);
}
body.lp-loop-login:after{
  content:"";position:fixed;left:0;right:0;top:-15%;height:18%;pointer-events:none;
  background:linear-gradient(to bottom,transparent,rgba(101,255,198,.055),transparent);
  animation:lpScan 8s linear infinite;
}
@keyframes lpScan{to{transform:translateY(720%);}}

.lp-login-shell{position:relative;z-index:3;width:100%;max-width:410px;margin:0 auto;padding:24px 18px;}
.lp-loop-login .login-box{width:100%;margin:0;opacity:0;transform:translateY(12px) scale(.985);transition:opacity .7s ease,transform .7s ease;}
.lp-loop-login.lp-ready .login-box{opacity:1;transform:none;}
.lp-loop-login .login-logo{margin-bottom:18px;text-align:center;}
.lp-brand-mark{width:68px;height:68px;margin:0 auto 13px;border-radius:18px;display:flex;align-items:center;justify-content:center;position:relative;background:rgba(255,255,255,.035);border:1px solid rgba(101,255,198,.22);box-shadow:0 0 40px rgba(101,255,198,.08), inset 0 0 24px rgba(55,167,255,.035);}
.lp-brand-mark img{max-width:48px;max-height:48px;object-fit:contain;filter:drop-shadow(0 0 10px rgba(101,255,198,.18));}
.lp-brand-mark:before,.lp-brand-mark:after{content:"";position:absolute;border-radius:22px;border:1px solid rgba(101,255,198,.12);inset:-7px;animation:lpPulse 2.8s ease-in-out infinite;}
.lp-brand-mark:after{inset:-14px;opacity:.45;animation-delay:.7s;}
@keyframes lpPulse{0%,100%{transform:scale(.98);opacity:.25}50%{transform:scale(1.025);opacity:.75}}
.lp-loop-login .login-logo .lp-brand-title{display:block;color:#f3fff9;font-size:25px;font-weight:700;letter-spacing:.3px;line-height:1.1;margin:0;}
.lp-brand-subtitle{display:block;margin-top:6px;color:var(--lp-muted);font-size:10px;letter-spacing:2.3px;text-transform:uppercase;font-weight:600;}
.lp-loop-login .card{background:var(--lp-panel);border:1px solid rgba(101,255,198,.14);border-radius:18px;overflow:hidden;box-shadow:0 24px 80px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.012) inset;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);}
.lp-loop-login .login-card-body{background:transparent;color:var(--lp-text);padding:28px 28px 24px;}
.lp-loop-login .login-box-msg{padding:0 0 22px;margin:0;color:#d8eee7;font-weight:600;letter-spacing:.15px;}
.lp-loop-login .input-group{border:1px solid rgba(126,154,145,.18);border-radius:11px;overflow:hidden;background:rgba(255,255,255,.025);transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;}
.lp-loop-login .input-group:focus-within{border-color:rgba(101,255,198,.52);box-shadow:0 0 0 3px rgba(101,255,198,.055),0 0 24px rgba(101,255,198,.045);background:rgba(255,255,255,.04);}
.lp-loop-login .form-control,.lp-loop-login .input-group-text{height:48px;background:transparent!important;border:0!important;color:#eefbf7!important;}
.lp-loop-login .form-control{padding-left:15px;}
.lp-loop-login .form-control::placeholder{color:#70847e;}
.lp-loop-login .input-group-text{color:#6f8e84!important;padding-right:15px;}
.lp-loop-login .btn.lp-login-btn{height:46px;border:0;border-radius:10px;background:linear-gradient(90deg,#2edda0,#3cb9e9)!important;color:#02110d!important;font-weight:800;letter-spacing:.3px;box-shadow:0 8px 25px rgba(46,221,160,.13);transition:transform .18s ease,filter .18s ease,box-shadow .18s ease;}
.lp-loop-login .btn.lp-login-btn:hover{transform:translateY(-1px);filter:brightness(1.08);box-shadow:0 11px 32px rgba(46,221,160,.19);}
.lp-loop-login .btn.lp-login-btn:disabled{opacity:.7;transform:none;}
.lp-loop-login a{color:#75dec0;}
.lp-loop-login a:hover{color:#a8ffe5;}
.lp-loop-login .icheck-primary label{color:#82978f;font-size:13px;font-weight:400;}
.lp-login-meta{display:flex;align-items:center;justify-content:space-between;margin:2px 0 16px;color:#58736a;font-size:10px;text-transform:uppercase;letter-spacing:1.35px;}
.lp-live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--lp-accent);box-shadow:0 0 10px var(--lp-accent);margin-right:7px;animation:lpBlink 1.65s ease-in-out infinite;}
@keyframes lpBlink{0%,100%{opacity:.35}50%{opacity:1}}
.lp-dev-credit{text-align:center;margin:16px 0 0;color:#42564f;font-size:10px;letter-spacing:.5px;}

/* Startup + authentication loop overlay */
.lp-loader-overlay{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;background:#020608;transition:opacity .55s ease,visibility .55s ease;}
.lp-loader-overlay.lp-hidden{opacity:0;visibility:hidden;pointer-events:none;}
.lp-loader-core{width:240px;text-align:center;position:relative;}
.lp-loop-orbit{width:126px;height:126px;margin:0 auto 25px;position:relative;}
.lp-loop-orbit span{position:absolute;border-radius:50%;inset:0;border:1px solid transparent;}
.lp-loop-orbit .r1{border-top-color:var(--lp-accent);border-right-color:rgba(101,255,198,.18);animation:lpRotate 1.55s linear infinite;filter:drop-shadow(0 0 5px rgba(101,255,198,.55));}
.lp-loop-orbit .r2{inset:12px;border-left-color:var(--lp-accent2);border-bottom-color:rgba(55,167,255,.17);animation:lpRotateBack 2.1s linear infinite;}
.lp-loop-orbit .r3{inset:27px;border:1px dashed rgba(101,255,198,.34);animation:lpRotate 4.7s linear infinite;}
.lp-loop-orbit .core{inset:45px;background:radial-gradient(circle,rgba(101,255,198,.95) 0 8%,rgba(101,255,198,.20) 10% 28%,rgba(55,167,255,.06) 48%,transparent 72%);box-shadow:0 0 32px rgba(101,255,198,.14);animation:lpCore 1.7s ease-in-out infinite;}
@keyframes lpRotate{to{transform:rotate(360deg)}}
@keyframes lpRotateBack{to{transform:rotate(-360deg)}}
@keyframes lpCore{0%,100%{transform:scale(.92);opacity:.65}50%{transform:scale(1.08);opacity:1}}
.lp-loader-title{color:#eafff7;font-weight:700;font-size:15px;letter-spacing:2.4px;text-transform:uppercase;}
.lp-loader-status{margin-top:8px;color:#648179;font-size:10px;letter-spacing:1.4px;text-transform:uppercase;min-height:15px;}
.lp-loader-progress{width:150px;height:1px;margin:18px auto 0;background:rgba(101,255,198,.12);overflow:hidden;position:relative;}
.lp-loader-progress:after{content:"";position:absolute;top:0;bottom:0;width:45%;left:-45%;background:linear-gradient(90deg,transparent,var(--lp-accent),transparent);animation:lpProgress 1.35s ease-in-out infinite;}
@keyframes lpProgress{to{left:100%}}
.lp-loader-code{position:absolute;left:50%;top:calc(50% + 126px);transform:translateX(-50%);color:rgba(101,255,198,.18);font:9px/1.5 monospace;letter-spacing:1.2px;white-space:nowrap;}

@media (max-width:576px){
 body.login-page.lp-loop-login{overflow:auto;}
 .lp-login-shell{padding:22px 16px;}
 .lp-loop-login .login-card-body{padding:24px 21px 21px;}
 .lp-brand-mark{width:62px;height:62px;}
}
@media (prefers-reduced-motion:reduce){
 *,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;}
}

/* Split login: organization identity left, secure form right */
.lp-login-shell.lp-login-split{
  width:min(1120px,calc(100vw - 48px));max-width:1120px;min-height:610px;margin:0 auto;padding:0;
  display:grid;grid-template-columns:minmax(0,1.2fr) minmax(380px,.8fr);position:relative;z-index:3;
  border:1px solid rgba(101,255,198,.11);border-radius:26px;overflow:hidden;
  background:rgba(3,8,12,.70);box-shadow:0 32px 100px rgba(0,0,0,.48);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
}
.lp-company-panel{position:relative;min-height:610px;display:flex;align-items:center;justify-content:center;padding:56px;overflow:hidden;border-right:1px solid rgba(101,255,198,.09);background:radial-gradient(circle at 38% 42%,rgba(55,167,255,.11),transparent 34%),radial-gradient(circle at 55% 58%,rgba(101,255,198,.08),transparent 42%),rgba(2,7,10,.45);}
.lp-company-panel:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(101,255,198,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(101,255,198,.035) 1px,transparent 1px);background-size:38px 38px;mask-image:linear-gradient(to right,#000,rgba(0,0,0,.2));pointer-events:none;}
.lp-company-panel:after{content:"";position:absolute;width:330px;height:330px;border:1px solid rgba(101,255,198,.10);border-radius:50%;box-shadow:0 0 90px rgba(55,167,255,.045),inset 0 0 70px rgba(101,255,198,.025);}
.lp-company-ambient span{position:absolute;border-radius:50%;border:1px solid rgba(101,255,198,.08);left:50%;top:50%;transform:translate(-50%,-50%);animation:lpCompanyOrbit 14s linear infinite;}
.lp-company-ambient span:nth-child(1){width:410px;height:410px}.lp-company-ambient span:nth-child(2){width:500px;height:500px;animation-duration:19s;animation-direction:reverse}.lp-company-ambient span:nth-child(3){width:590px;height:590px;animation-duration:26s}
@keyframes lpCompanyOrbit{to{transform:translate(-50%,-50%) rotate(360deg)}}
.lp-company-placeholder,.lp-company-identity{position:relative;z-index:2;text-align:center;transition:opacity .65s ease,transform .65s ease,filter .65s ease;}
.lp-company-placeholder{color:#5c746c;display:flex;flex-direction:column;align-items:center;gap:9px;opacity:.78;}
.lp-company-placeholder-icon{width:72px;height:72px;border:1px solid rgba(101,255,198,.14);border-radius:22px;display:flex;align-items:center;justify-content:center;font-size:23px;background:rgba(255,255,255,.018);margin-bottom:9px;}
.lp-company-placeholder span{font-size:12px;letter-spacing:1.8px;text-transform:uppercase;color:#7d978e}.lp-company-placeholder small{max-width:300px;font-size:10px;letter-spacing:.55px;line-height:1.65;color:#496158}
.lp-company-identity{position:absolute;left:56px;right:56px;opacity:0;transform:translateY(18px) scale(.98);filter:blur(5px);pointer-events:none;}
.lp-company-kicker{font-size:9px;letter-spacing:2.1px;text-transform:uppercase;color:#66cbae;margin-bottom:24px}.lp-company-kicker i{margin-right:7px}
.lp-company-logo{width:118px;height:118px;margin:0 auto 24px;border-radius:28px;border:1px solid rgba(101,255,198,.22);background:rgba(255,255,255,.035);display:flex;align-items:center;justify-content:center;box-shadow:0 0 48px rgba(101,255,198,.08),inset 0 0 32px rgba(55,167,255,.04);position:relative;}
.lp-company-logo:before,.lp-company-logo:after{content:"";position:absolute;border-radius:34px;border:1px solid rgba(101,255,198,.10);inset:-9px;animation:lpPulse 3s ease-in-out infinite}.lp-company-logo:after{inset:-18px;opacity:.4;animation-delay:.8s}
.lp-company-logo img{max-width:84px;max-height:84px;object-fit:contain;filter:drop-shadow(0 0 14px rgba(101,255,198,.16));}
.lp-company-identity h1{font-size:34px;line-height:1.1;font-weight:700;color:#f2fff9;margin:0 0 12px;letter-spacing:.2px}.lp-company-identity p{max-width:460px;margin:0 auto;color:#78948a;font-size:13px;line-height:1.7}.lp-company-verified{display:inline-flex;align-items:center;gap:7px;margin-top:27px;padding:8px 13px;border:1px solid rgba(101,255,198,.16);border-radius:999px;color:#74d9ba;font-size:9px;text-transform:uppercase;letter-spacing:1.5px;background:rgba(101,255,198,.035)}
.lp-company-known .lp-company-placeholder,.lp-auth-success .lp-company-placeholder{opacity:0;transform:translateY(-12px) scale(.98);filter:blur(4px);pointer-events:none}.lp-company-known .lp-company-identity,.lp-auth-success .lp-company-identity{opacity:1;transform:none;filter:none;pointer-events:auto}
.lp-form-panel{display:flex;flex-direction:column;justify-content:center;padding:44px 36px;min-width:0;background:linear-gradient(180deg,rgba(8,17,23,.84),rgba(4,10,14,.88));}
.lp-login-split .login-box{max-width:390px;margin:0 auto}.lp-login-split .lp-dev-credit{max-width:390px;width:100%;margin:16px auto 0}.lp-login-split .login-logo{margin-bottom:17px}
.lp-auth-success .lp-form-panel{opacity:.62;transition:opacity .45s ease}.lp-auth-success .lp-login-btn{pointer-events:none}
@media (max-width:900px){
 body.login-page.lp-loop-login{overflow:auto;padding:20px 0}.lp-login-shell.lp-login-split{width:min(600px,calc(100vw - 28px));grid-template-columns:1fr;min-height:0}.lp-company-panel{min-height:220px;padding:34px 28px;border-right:0;border-bottom:1px solid rgba(101,255,198,.09)}.lp-company-panel:after{width:190px;height:190px}.lp-company-ambient span:nth-child(1){width:240px;height:240px}.lp-company-ambient span:nth-child(2){width:300px;height:300px}.lp-company-ambient span:nth-child(3){width:360px;height:360px}.lp-company-identity{left:28px;right:28px}.lp-company-logo{width:82px;height:82px;border-radius:22px;margin-bottom:15px}.lp-company-logo img{max-width:58px;max-height:58px}.lp-company-identity h1{font-size:25px}.lp-company-identity p{font-size:11px}.lp-company-kicker{margin-bottom:14px}.lp-company-verified{margin-top:14px}.lp-form-panel{padding:32px 24px}.lp-company-placeholder small{display:none}
}
@media (max-width:520px){.lp-login-shell.lp-login-split{width:calc(100vw - 20px);border-radius:20px}.lp-company-panel{min-height:180px;padding:25px 20px}.lp-form-panel{padding:28px 18px}.lp-company-identity{left:20px;right:20px}.lp-company-identity p{display:none}.lp-company-verified{margin-top:10px}}
