:root{font-family:'General Sans',Arial,sans-serif;color:#202c42;background:#fff}*{box-sizing:border-box}.login-page{margin:0}.login-layout{max-width:none;margin:0;padding:0;display:grid;grid-template-columns:1.05fr 1fr;min-height:100vh}.login-brand{background:#f2f4f7;border-right:1px solid #e0e5ec;padding:55px 64px 35px;display:flex;flex-direction:column;justify-content:space-between}.login-logo{width:176px;height:auto}.login-intro{padding:55px 0;max-width:440px}.login-intro>span{font-size:12px;color:#5c687b}.login-intro h1{font-size:49px;letter-spacing:-1.9px;line-height:1.15;font-weight:500;margin:22px 0}.login-intro p{font-size:14px;line-height:1.9;color:#5c687b;max-width:350px}.login-rule{width:42px;height:2px;background:#18233f;margin:32px 0 24px}.login-intro .brand-line{font-size:11px;line-height:2;color:#626f82}.login-brand>small{font-size:10px;color:#626f82}.login-form-panel{padding:60px 50px 30px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}.login-form-wrap{width:100%;max-width:365px;padding:30px 0 75px}.login-mode{display:inline-block;background:#f7f5ed;border:1px solid #ded7bd;color:#78632c;padding:4px 7px;font-size:10px;border-radius:4px}.login-form-wrap h2{font-size:27px;font-weight:500;letter-spacing:-.7px;margin:19px 0 9px}.login-description{font-size:12px;color:#626f82;margin:0 0 28px}.login-form-wrap label{display:block;font-size:12px;margin:19px 0 9px}.login-form-wrap input{width:100%;min-height:45px;border:1px solid #aab5c4;border-radius:5px;background:#fff;padding:11px 12px;font-size:12px;color:#25344d}.login-form-wrap input::placeholder{color:#6c7684}.password-field{display:flex;position:relative}.password-field input{padding-right:91px}.password-field button{position:absolute;right:3px;top:3px;bottom:3px;border:0;font-size:10px;background:transparent;color:#4c5d77;padding:9px}.login-submit{width:100%;min-height:45px;margin-top:24px;background:#17233e;color:white;border:1px solid #17233e;border-radius:5px;font-size:12px}.login-submit:hover{background:#2a3b5b}.demo-account{display:flex;gap:12px;align-items:center;justify-content:space-between;margin:25px 0 16px;padding:14px;border:1px solid #e1e6ed;background:#fafbfc;border-radius:5px}.demo-account b{font-size:10px;font-weight:500}.demo-account span{display:block;font-size:10px;color:#5b687c;margin-top:7px;line-height:1.9}.demo-account code{font-family:inherit;color:#344965;font-size:10px}.demo-account button{font-size:10px;min-height:40px;white-space:nowrap;padding:7px 9px;border:1px solid #c3cbd7}.login-limits{font-size:10px;line-height:1.9;color:#626f82}.login-bottom{position:absolute;bottom:30px;font-size:10px;color:#626f82;text-align:center;padding:0 20px}#login-error:not([hidden]){padding:11px;margin-top:15px;background:#fff4ee;border:1px solid #ddc0b1;border-radius:4px;color:#88492f;font-size:11px;line-height:1.7}input[aria-invalid=true]{border-color:#a75a3a}button:focus-visible,input:focus-visible{outline:3px solid #7594bf;outline-offset:3px}@font-face{font-family:'General Sans';src:url('assets/fonts/general-sans-regular.otf') format('opentype');font-weight:400;font-display:swap}@media(max-width:1000px){.login-brand{padding:40px}.login-intro h1{font-size:40px}.login-form-panel{padding:45px 30px}}@media(max-width:700px){.login-layout{grid-template-columns:1fr}.login-brand{padding:28px 25px;border-right:0;border-bottom:1px solid #e0e5ec}.login-logo{width:143px}.login-intro{padding:25px 0 0}.login-intro h1{font-size:30px;margin:13px 0 0}.login-intro h1 br{display:none}.login-intro>span,.login-intro p,.login-rule,.login-brand>small{display:none}.login-form-panel{padding:30px 25px 65px;justify-content:flex-start}.login-form-wrap{padding:0 0 20px}.login-form-wrap h2{font-size:25px}.login-bottom{bottom:23px;line-height:1.7}.demo-account{flex-wrap:wrap}.demo-account button{min-height:44px}.login-intro{max-width:none}}@media(max-width:360px){.login-brand,.login-form-panel{padding-left:20px;padding-right:20px}.login-intro h1{font-size:27px}}

/* ---------- premium login: same language as the dashboard ---------- */
html body.login-page{
  min-height:100vh;display:grid;place-items:center;padding:24px;color:#262b33;
  background:
    radial-gradient(900px 600px at 8% 0%,#e9e6a8 0,transparent 60%),
    radial-gradient(800px 700px at 45% 12%,#7fb3c9 0,transparent 62%),
    radial-gradient(800px 600px at 92% 8%,#f2b9a8 0,transparent 60%),
    radial-gradient(900px 800px at 6% 100%,#7fb0c4 0,transparent 60%),
    linear-gradient(160deg,#e6e8b4,#b8cfcf 40%,#efc5b4 70%,#e8ecb0);
  background-attachment:fixed;
}
html body.login-page .login-layout{width:min(1080px,100%);min-height:min(660px,calc(100vh - 48px));border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 40px 90px -34px rgba(30,40,60,.45),0 2px 6px rgba(16,24,40,.06);animation:l-rise .7s cubic-bezier(.22,.8,.24,1) both}
html body.login-page .login-brand{background:linear-gradient(165deg,#f7f9fb,#eef2f6);border-right:1px solid #e8ebf0;color:#0f1218;padding:40px}
html body.login-page .login-brand h1{font-weight:650;letter-spacing:-.03em;color:#0f1218}
html body.login-page .login-brand p,html body.login-page .login-brand small{color:#6b7380}
html body.login-page .login-intro>span,html body.login-page .login-mode{display:inline-block;width:fit-content;padding:4px 12px;border-radius:999px;background:#fff;border:1px solid #e8ebf0;color:#4b5563;font-size:11.5px;font-weight:600;letter-spacing:.02em}
html body.login-page .login-rule{background:#e3e7ee;height:1px}
html body.login-page .login-form-panel{background:#fff;padding:40px}
html body.login-page .login-form-wrap h2{font-weight:650;letter-spacing:-.025em;color:#0f1218}
html body.login-page .login-form-wrap label{font-weight:600;color:#3a414c}
html body.login-page input{border:1px solid #e1e5ec;border-radius:10px;background:#fff;transition:border-color .18s,box-shadow .18s}
html body.login-page input:hover{border-color:#cfd5de}
html body.login-page input:focus{outline:none;border-color:#2f8bf0;box-shadow:0 0 0 3px rgba(47,139,240,.16)}
html body.login-page .password-field button{border-radius:8px;color:#4b5563;transition:background .18s}
html body.login-page .password-field button:hover{background:#f1f4f8}
html body.login-page .login-submit{background:linear-gradient(180deg,#3a3f48,#0f1218);border:0;border-radius:10px;color:#fff;font-weight:600;box-shadow:0 10px 20px -10px rgba(15,18,24,.6),inset 0 1px 0 rgba(255,255,255,.12);transition:transform .18s cubic-bezier(.22,.8,.24,1),box-shadow .18s}
html body.login-page .login-submit:hover{transform:translateY(-1px);box-shadow:0 16px 26px -12px rgba(15,18,24,.65),inset 0 1px 0 rgba(255,255,255,.14)}
html body.login-page .login-submit:active{transform:scale(.985)}
html body.login-page .demo-account{background:#f7f9fb;border:1px solid #e8ebf0;border-radius:12px}
html body.login-page #login-error{border-radius:10px}
@keyframes l-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media(max-width:860px){html body.login-page{padding:0;display:block}html body.login-page .login-layout{width:100%;min-height:100vh;border-radius:0;box-shadow:none;grid-template-columns:1fr}html body.login-page .login-brand{border-right:0;border-bottom:1px solid #e8ebf0;padding:28px 24px}html body.login-page .login-form-panel{padding:28px 24px}}
@media(prefers-reduced-motion:reduce){html body.login-page *{animation:none!important;transition:none!important}}
