/* Scope the current HRMS Next UI visual language to its sign-in page. */
body.next-login-ui{--login-bg:#f6f7fb;--login-surface:#fff;--login-text:#172033;--login-muted:#64718a;--login-border:#e1e5ef;--login-primary:#5b50e8;--login-primary-hover:#4d42d8;margin:0;background:radial-gradient(circle at 85% 8%,#eeecfe 0,transparent 35%),var(--login-bg);color:var(--login-text);font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:14px}
.next-login-ui .login-page{display:grid;place-items:center;width:100%;min-height:100dvh;padding:24px}
.next-login-ui .login-panel{width:min(440px,100%);overflow:hidden;border:1px solid var(--login-border);border-radius:12px;background:var(--login-surface);box-shadow:0 20px 55px -32px rgba(19,26,44,.35)}
.next-login-ui .compact-header{padding:28px 30px 8px}
.next-login-ui .compact-header p{margin:0 0 8px;color:var(--login-primary);font-size:11px;font-weight:750;letter-spacing:.1em}
.next-login-ui .compact-header h1{margin:0;color:var(--login-text);font-size:28px;font-weight:750;line-height:1.2}
.next-login-ui .login-form{gap:18px;padding:20px 30px 30px;background:var(--login-surface)}
.next-login-ui .login-field{grid-template-columns:1fr;align-items:stretch;gap:7px}
.next-login-ui .login-field label{padding:0;color:#52617a;font-size:13px;font-weight:650}
.next-login-ui .login-field input{width:100%;min-height:42px;padding:10px 12px;border:1px solid #d7ddea;border-radius:7px;background:#fff;color:var(--login-text);font-size:14px;outline:0}
.next-login-ui .login-field input:hover{border-color:#aeb7ce}
.next-login-ui .login-field input:focus{border-color:#8b81f2;box-shadow:0 0 0 3px #8b81f21f}
.next-login-ui .login-password-control{position:relative}
.next-login-ui .login-password-control input{padding-right:48px}
.next-login-ui .login-password-toggle{position:absolute;top:3px;right:3px;display:grid;place-items:center;width:36px;height:36px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--login-muted);cursor:pointer}
.next-login-ui .login-password-toggle:hover{background:#f1efff;color:var(--login-primary)}
.next-login-ui .login-password-toggle:focus-visible,.next-login-ui .primary-button:focus-visible{outline:2px solid var(--login-primary);outline-offset:2px}
.next-login-ui .login-password-toggle .ti{font-size:19px}
.next-login-ui .single-error{margin:0;padding:11px 12px;border:1px solid #dcd8fb;border-left:3px solid var(--login-primary);border-radius:7px;background:#f5f3ff;color:#5145b9;font-size:12px;font-weight:600;line-height:1.45}
.next-login-ui .single-error.error{border-color:#f4c8d1;border-left-color:#c3344c;background:#fff0f2;color:#a5243d}
.next-login-ui .single-error.success{border-color:#cae9d2;border-left-color:#1f8848;background:#e5f7e9;color:#1c7a3e}
.next-login-ui .primary-button.full{width:100%;min-height:42px;margin:2px 0 0;border:1px solid var(--login-primary);border-radius:7px;background:var(--login-primary);color:#fff;font-size:14px;font-weight:700;box-shadow:0 8px 18px #5b50e833}
.next-login-ui .primary-button.full:hover:not(:disabled){background:var(--login-primary-hover);border-color:var(--login-primary-hover)}
.next-login-ui .primary-button.full:disabled{opacity:.6;cursor:wait}
@media(max-width:480px){.next-login-ui .login-page{padding:16px}.next-login-ui .compact-header{padding:24px 22px 6px}.next-login-ui .login-form{padding:18px 22px 24px}}
