

*{box-sizing:border-box}
body.minimal-login{margin:0;min-height:100svh;padding:48px 20px;display:grid;place-items:center;background:#f6f4ee;color:#111;font-family:'Helvena',Arial,sans-serif;font-size:16px;line-height:1.5;color-scheme:light}
a{color:inherit;text-underline-offset:3px}
.login-card{width:100%;max-width:550px;padding:60px 64px 28px;background:#fff;border:1px solid #e6e3dc;border-radius:28px}
.login-brand{display:inline-block}.login-brand img{display:block;width:210px;max-width:100%;height:auto}
.login-fields{margin-top:78px}.login-fields h1{margin:0;font-size:34px;font-weight:600;line-height:1.15;letter-spacing:-.7px}
.login-subtitle{margin:8px 0 30px;font-size:16px;color:#333}
:is(#login-form,#auth-form){display:grid;grid-template-columns:minmax(0,1fr);gap:0}
:is(#login-form,#auth-form)>input,:is(#login-form,#auth-form) .password-control input{display:block;width:100%;height:48px;min-height:48px;margin:0;padding:12px 15px;background:#f2f1ee;border:1px solid #e5e2dc;border-radius:8px;font:inherit;color:#111;box-shadow:none}
:is(#login-form,#auth-form)>input{margin-bottom:20px}:is(#login-form,#auth-form) input::placeholder{color:#555;opacity:1}
:is(#login-form,#auth-form) input:focus{outline:2px solid #67528d;outline-offset:2px}
:is(#login-form,#auth-form) .password-control{position:relative;display:block;width:100%;height:48px}
:is(#login-form,#auth-form) .password-toggle{position:absolute;right:5px;top:3px;transform:none;width:42px;height:42px;padding:10px;border:0;background:transparent;border-radius:6px;display:grid;place-items:center}
:is(#login-form,#auth-form) .password-toggle:hover{background:#e6e3dc}
.password-toggle img{width:21px;height:21px;object-fit:contain;pointer-events:none}
.forgot-password{justify-self:start;font-size:14px;margin-top:8px;text-decoration:none}.forgot-password:hover{text-decoration:underline}
#auth-status:empty{display:none}#auth-status{font-size:14px;line-height:1.45;margin:14px 0 0}
.login-submit{margin-top:34px;width:100%;min-height:48px;border:1px solid #111;border-radius:8px;background:#111;color:#fff;font:inherit;cursor:pointer;transition:background .18s,color .18s}
.login-submit:hover{background:#d8cced;color:#111}.login-submit:disabled{opacity:.6;cursor:wait}
.login-register{font-size:14px;color:#555;margin:22px 0 0}.login-register a{color:#4d3676;margin-left:5px}
.login-support{display:flex;justify-content:center;gap:17px;flex-wrap:wrap;margin-top:104px;font-size:12px;color:#555}.login-support a{text-decoration:none}.login-support a:hover{text-decoration:underline}
a:focus-visible,button:focus-visible{outline:2px solid #67528d;outline-offset:3px}
:is(#login-form,#auth-form) .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;display:block}
@media(max-width:560px){body.minimal-login{padding:24px 16px}.login-card{padding:36px 26px 24px;border-radius:22px}.login-fields{margin-top:52px}.login-support{margin-top:64px;gap:14px}.login-brand img{width:185px}}
@media(prefers-reduced-motion:reduce){.login-submit{transition:none}}

/* Certivo artwork alongside the simplified login card. */
.login-layout{width:100%;max-width:1120px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,550px);gap:24px;align-items:stretch}
.login-certivo{position:relative;margin:0;min-width:0;overflow:hidden;border-radius:28px;background:#073c80}
.login-certivo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.login-layout .login-card{min-width:0}
@media(max-width:800px){.login-layout{max-width:550px;grid-template-columns:minmax(0,1fr);gap:18px}.login-certivo{height:220px}.login-certivo img{object-position:center}}
@media(max-width:560px){.login-certivo{height:180px;border-radius:22px}}

#auth-form [hidden],#auth-form[hidden]{display:none!important}
#auth-form input{display:block;width:100%;height:48px;min-height:48px;margin:0;padding:12px 15px;background:#f2f1ee;border:1px solid #e5e2dc;border-radius:8px;font:inherit;color:#111;box-shadow:none}
.reset-hint{font-size:13px;line-height:1.5;color:#555;margin:8px 0 0}
#login-form .code-help{font-size:13px;line-height:1.5;color:#555;margin:22px 0 8px}#login-form .code-switch{justify-self:start;border:0;background:none;padding:0;color:#4d3676;font:inherit;font-size:14px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}#login-form .code-restart{font-size:13px;margin-top:22px;color:#555}#login-code{letter-spacing:.12em}#login-form[hidden]{display:none!important}

#login-form.code-form #login-code{margin-bottom:12px}
#login-form.code-form .login-submit{margin-top:0;margin-bottom:0}
#login-form.code-form [role=status]:empty{display:none}
#login-form.code-form [role=status]:not(:empty){margin:0 0 12px}

.login-card .login-tagline{margin:14px 0 0;font-size:16px;font-weight:400;line-height:1.5;color:#555}

/* Compact supporting text across login and recovery screens. */
#auth-status,#login-status,#demo-status,.login-register,.login-support{font-size:12px;line-height:1.5}
