@font-face{font-family:LoginJakarta;src:url('/login-jakarta.woff2') format('woff2');font-weight:400 800;font-display:swap}
html body #loginView{--lp-edge:clamp(10px,1vw,20px);box-sizing:border-box;position:fixed;inset:0;z-index:100;display:flex!important;align-items:stretch;justify-content:stretch;overflow:hidden;padding:var(--lp-edge)!important;background:linear-gradient(135deg,#090d16,#0f172a 55%,#1e3a8a)!important;font:13px/1.5 LoginJakarta,Arial,sans-serif!important;color:#0f172a!important;width:100%!important;max-width:none!important;min-height:0!important;margin:0!important}
html body #loginView[hidden]{display:none!important}
#loginView *{box-sizing:border-box;font-family:inherit}
html body #loginView .lp-card{width:100%;height:calc(100dvh - (2 * var(--lp-edge)));max-width:none;min-height:0;max-height:none;overflow:hidden;background:#fff;border-radius:20px;border:1px solid #ffffff33;box-shadow:0 30px 60px -15px #0006;display:flex;flex-direction:column;gap:0}
#loginView .lp-hero{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(500px,1.1fr);gap:clamp(34px,5vw,96px);padding:clamp(26px,4vh,68px) clamp(34px,3.8vw,78px) clamp(18px,2.4vh,36px);align-items:center;flex:1 1 auto;min-width:0;min-height:0;overflow:auto}
#loginView .lp-hero>div{width:100%;max-width:540px;justify-self:start}
#loginView .lp-brand{display:flex;align-items:center;gap:14px}
#loginView .lp-mark{width:52px;height:52px;display:grid;place-items:center;border-radius:14px;background:#0f172a;color:#fff;font-size:22px;font-weight:800;flex-shrink:0}
#loginView .lp-brand-copy{border-left:1px solid #e2e8f0;padding-left:14px}
#loginView .lp-brand-copy strong{font-size:11px;letter-spacing:.2em;color:#2563eb}
#loginView .lp-brand-copy small{display:block;font-size:10px;color:#64748b;font-weight:600}
html body #loginView h1{margin:18px 0 0;font-size:clamp(28px,3.2vw,42px)!important;font-weight:800!important;letter-spacing:-.03em;line-height:1.2;color:#0f172a}
#loginView h1 span,#loginView blockquote span{color:#2563eb}
#loginView .lp-subtitle{margin:6px 0 0;font-size:14px;color:#526076;font-weight:600}
#loginView .lp-accent{margin-top:12px;height:3px;width:100px;background:#2563eb;border-radius:9px}
#loginView blockquote{margin:16px 0;border-left:4px solid #2563eb;padding-left:12px;font-size:14px;font-weight:700}
html body #loginView #loginForm{display:block;width:100%;max-width:430px;min-width:0;border:1px solid #e2e8f0;border-radius:16px;background:#f8fafc;padding:20px 24px;margin:16px 0 0;box-shadow:none}
html body #loginView h2{margin:0;font-size:16px!important;font-weight:800!important;color:#0f172a}
#loginView .lp-form-note{margin:3px 0 16px;font-size:11px;color:#64748b}
html body #loginView label{display:block;margin:12px 0 0;font-size:11px!important;font-weight:700!important;color:#475569!important}
html body #loginView input:not([type=hidden]){display:block;width:100%!important;min-width:0!important;height:42px!important;min-height:0!important;margin:5px 0 0!important;padding:10px 12px!important;border:1px solid #cbd5e1!important;border-radius:10px!important;background:#fff!important;color:#0f172a!important;font-size:13px!important;font-weight:500!important;box-shadow:none!important;text-align:left!important;text-transform:none!important;letter-spacing:normal!important}
html body #loginView input:focus{outline:2px solid #2563eb;outline-offset:2px}
#loginView .lp-password{position:relative}
html body #loginView #password{padding-right:52px!important}
html body #loginView button{cursor:pointer;text-transform:none!important;letter-spacing:normal!important;min-width:0;min-height:0;font:700 12px LoginJakarta,Arial,sans-serif!important}
html body #loginView .lp-text-button{border:0!important;border-radius:4px;background:transparent!important;box-shadow:none!important;color:#2563eb!important;padding:2px!important;height:auto!important}
html body #loginView #loginPasswordToggle{position:absolute;right:11px;top:11px;font-size:10px!important}
#loginView .lp-password-label{display:flex;justify-content:space-between;align-items:baseline}
html body #loginView #loginBtn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:44px;min-height:44px;margin:18px 0 0;padding:11px!important;border:0!important;border-radius:10px;background:#2563eb!important;color:white!important;box-shadow:0 8px 15px -3px #2563eb4d!important;font-size:13px!important;font-weight:800!important}
html body #loginView #loginBtn:hover{background:#1d4ed8!important}
html body #loginView #loginBtn:disabled{background:#94a3b8!important;cursor:wait;box-shadow:none!important}
#loginView .lp-assistance{font-size:10px;text-align:center;color:#64748b;margin:12px 0 0}
html body #loginView .lp-assistance button{font-size:10px!important}
#loginView #loginHelpText{font-size:11px;color:#475569;margin:10px 0 0}
#loginView #loginError{background:#fee2e2;color:#b91c1c;border:1px solid #fca5a5;padding:10px;border-radius:8px;font-size:12px;margin:12px 0 0}
#loginView .lp-art{width:100%;height:clamp(330px,46vh,560px);margin:0;aspect-ratio:auto;max-height:none;border:1px solid #e2e8f0;border-radius:16px;overflow:hidden;box-shadow:0 20px 25px -5px #0002;background:#e2e8f0;align-self:center}
#loginView .lp-art img{display:block;width:100%;height:100%;object-fit:cover}
#loginView .lp-status{position:relative;inset:auto;z-index:auto;width:auto;height:auto;flex:0 0 auto;margin:0 clamp(24px,3.2vw,66px) clamp(14px,1.8vh,24px);padding:15px 24px;border:1px solid #e2e8f0;border-radius:14px;background:#f8fafc}
#loginView .lp-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
#loginView .lp-status-item{display:flex;align-items:center;gap:10px;min-width:0}
#loginView .lp-status-icon{width:34px;height:34px;flex-shrink:0;display:grid;place-items:center;background:#eff6ff;border-radius:50%;font-size:16px;color:#2563eb}
#loginView .lp-status-item small{display:block;font-size:10px;font-weight:700;text-transform:uppercase;color:#64748b}
#loginView .lp-status-item strong{display:block;font-size:12px;color:#0f172a}
#loginView .lp-status-item strong[data-ready=true]{color:#047857}
#loginView .lp-status-item strong[data-ready=false]{color:#b91c1c}
#loginView .lp-status-line{border-top:1px solid #e2e8f0;padding-top:10px;margin-top:12px;display:flex;align-items:center;gap:12px;font-size:11px;color:#475569}
#loginView .lp-track{height:5px;flex:1;background:#e2e8f0;border-radius:8px;overflow:hidden}
#loginView .lp-track span{display:block;width:100%;height:100%;background:linear-gradient(90deg,#2563eb,#10b981)}
#loginView [aria-busy=true] .lp-track span{width:40%;animation:lp-progress 1.5s ease-in-out infinite}
#loginView .lp-footer{position:relative;inset:auto;z-index:auto;width:auto;height:auto;display:flex;flex:0 0 auto;min-height:56px;gap:16px;align-items:center;justify-content:space-between;padding:14px clamp(24px,3.2vw,66px);background:#090d16;color:#cbd5e1;font-size:11px}
#loginView .lp-footer p{margin:0;text-align:center;color:#94a3b8}
#loginView .lp-footer>span{white-space:nowrap}
#loginView .lp-spinner{width:14px;height:14px;border:2px solid #ffffff77;border-top-color:#fff;border-radius:50%;animation:lp-spin .8s linear infinite}
#loginView [hidden]{display:none!important}
#loginView :focus-visible{outline:2px solid #2563eb;outline-offset:3px}
@keyframes lp-spin{to{transform:rotate(360deg)}}
@keyframes lp-progress{50%{transform:translateX(150%)}}
@media(max-width:1000px){#loginView .lp-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#loginView .lp-hero{grid-template-columns:minmax(320px,.95fr) minmax(380px,1.05fr);gap:24px;padding:24px 28px 18px}#loginView .lp-art{height:clamp(280px,40vh,380px)}#loginView .lp-footer{flex-wrap:wrap;justify-content:center}#loginView .lp-footer p{order:3;width:100%}}
@media(min-width:701px) and (max-height:850px){
html body #loginView .lp-card{gap:0}
#loginView .lp-hero{padding:16px 32px 12px;gap:28px}
#loginView .lp-mark{width:40px;height:40px;font-size:18px;border-radius:11px}
html body #loginView h1{margin-top:10px;font-size:30px!important}
#loginView .lp-subtitle{font-size:12px;margin-top:4px}
#loginView .lp-accent{margin-top:8px}
#loginView blockquote{margin:8px 0;font-size:12px}
html body #loginView #loginForm{padding:14px 20px;margin-top:10px}
#loginView .lp-form-note{margin-bottom:8px}
html body #loginView label{margin-top:8px}
html body #loginView input:not([type=hidden]){height:38px!important;padding:8px 12px!important}
html body #loginView #loginPasswordToggle{top:9px}
html body #loginView #loginBtn{height:40px;min-height:40px;margin-top:12px}
#loginView .lp-assistance{margin-top:8px}
#loginView .lp-status{margin:0 32px 12px;padding:10px 18px}
#loginView .lp-status-grid{gap:10px}
#loginView .lp-status-line{padding-top:6px;margin-top:8px}
#loginView .lp-footer{padding:12px 32px;gap:8px}
}
@media(max-width:860px){html body #loginView{--lp-edge:8px;overflow:hidden}html body #loginView .lp-card{height:calc(100dvh - 16px);border-radius:14px;overflow:auto}#loginView .lp-hero{grid-template-columns:1fr;padding:24px 20px 18px;overflow:visible;flex:0 0 auto}#loginView .lp-hero>div{max-width:none}#loginView .lp-art{height:clamp(210px,32vh,320px)}html body #loginView #loginForm{max-width:none;padding:18px}#loginView .lp-status{margin:0 20px 14px;padding:14px}#loginView .lp-brand-copy small{font-size:9px}#loginView .lp-footer{padding:16px 18px;font-size:10px}}
@media(max-width:520px){#loginView .lp-status-grid{grid-template-columns:1fr}#loginView .lp-status-item:nth-child(3),#loginView .lp-status-item:nth-child(4){display:none}#loginView .lp-art{height:200px}#loginView .lp-footer>span:last-child{display:none}}
@media(prefers-reduced-motion:reduce){#loginView .lp-spinner,#loginView .lp-track span{animation:none!important}}
