body.login { display: grid; grid-template-columns: minmax(360px, 5fr) 7fr; min-height: 100vh; background: var(--surface); }
.login .side { background: var(--primary-dark); color: var(--nav-text); padding: 40px 44px; display: flex; flex-direction: column; }
.login .side img { height: 28px; align-self: flex-start; }
.login .side .pitch { margin-top: auto; max-width: 34ch; }
.login .side .pitch h2 { color: #fff; font-size: 22px; font-weight: 600; line-height: 1.3; margin-bottom: 10px; }
.login .side .pitch p { margin: 0; font-size: 14px; }
.login .side .legal { margin-top: 40px; font-size: 12px; color: var(--nav-section); }
.login .form { display: flex; align-items: center; justify-content: center; padding: 40px; }
.login .box { width: 360px; }
.login .box h1 { margin-bottom: 6px; }
.login .box .sub { color: var(--muted); margin-bottom: 26px; }
.login .sso { width: 100%; height: 42px; }
.login .foot { margin-top: 18px; font-size: 13px; color: var(--muted); }
@media (max-width: 800px) { body.login { grid-template-columns: 1fr; } .login .side { display: none; } }
.login .or { margin: 18px 0 10px; font-size: 13px; color: var(--muted); text-align: center; }
