html{min-width:320px}
.login-layout{display:grid;grid-template-columns:1fr 1fr;min-height:100dvh}
.login-welcome{display:flex;align-items:center;background:var(--bos-gradient-sunrise);color:var(--bos-frame-ink);padding:clamp(24px,6vw,80px)}
.login-welcome-content{max-width:480px}
.login-logo{display:flex;align-items:end;gap:5px;width:54px;height:54px;padding:13px;border-radius:var(--bos-radius-md);background:color-mix(in srgb,var(--bos-frame-ink) 22%,transparent)}
.login-logo span{width:7px;border-radius:3px;background:var(--bos-frame-ink)}
.login-logo span:nth-child(1){height:15px}.login-logo span:nth-child(2){height:25px}.login-logo span:nth-child(3){height:19px}
.login-brand{font-size:var(--bos-text-sm);font-weight:var(--bos-weight-heavy);margin:16px 0 28px}
.login-welcome h1{font-size:clamp(30px,4vw,54px);line-height:1.15;margin:0 0 18px;max-width:360px}
.login-welcome p:not(.login-brand){font-size:var(--bos-text-lg);line-height:1.55;max-width:390px}
.login-modules{display:flex;flex-wrap:wrap;gap:8px;margin-top:42px;max-width:390px}
.login-modules span{border:1px solid var(--bos-frame-line);border-radius:var(--bos-radius-pill);padding:7px 12px;background:color-mix(in srgb,var(--bos-frame-ink) 16%,transparent);font-size:var(--bos-text-sm);font-weight:var(--bos-weight-semibold)}
.login-entry{display:grid;place-items:center;background:var(--bos-surface);padding:28px}
.login-form-wrap{width:min(100%,380px)}
.login-form-wrap h2{font-size:var(--bos-text-3xl);margin:0 0 8px}.login-form-wrap>p{color:var(--bos-muted);margin:0 0 28px}
#login-form,#forgot-form,#reset-form{display:grid;gap:12px}
#login-form[hidden],#forgot-form[hidden],#reset-form[hidden]{display:none}
.password-field{position:relative}.password-field .bos-input{padding-right:94px}.password-field button{position:absolute;right:4px;top:4px;min-width:84px;min-height:40px;border:0;border-radius:var(--bos-radius-sm);background:transparent;color:var(--bos-accent);font-weight:var(--bos-weight-bold);cursor:pointer}
.login-options{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;font-size:var(--bos-text-sm)}
.login-options label{display:flex;align-items:center;gap:8px;min-height:44px}.login-options input{width:18px;height:18px;accent-color:var(--bos-accent)}
.login-options a{font-weight:var(--bos-weight-bold)}#error{min-height:1.5em;margin:0}
#login-form [type=submit]{width:100%;box-shadow:var(--bos-shadow-cta)}
.login-form-wrap .login-help{font-size:var(--bos-text-sm);line-height:1.5;margin:24px 0 0;color:var(--bos-muted)}
:is(button,a,input):focus-visible{outline:3px solid var(--bos-accent);outline-offset:3px}
@media(max-width:899px){.login-layout{grid-template-columns:1fr}.login-welcome{min-height:270px;padding:30px 24px;background:linear-gradient(135deg,var(--bos-sunrise-1),var(--bos-sunrise-2))}.login-welcome h1{font-size:30px}.login-welcome p:not(.login-brand){font-size:15px}.login-brand{margin:9px 0 16px}.login-modules{margin-top:16px}.login-entry{align-items:start;padding:34px 24px 60px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
