/* Standalone auth pages — client login / forgot-password / reset-password,
 * and admin login.
 *
 * These render outside both shells: they load neither style.css nor portal.css
 * nor admin.css, so the .site-logo-img sizing that every other surface inherits
 * does not reach them. Each used to carry its own inline copy of these rules;
 * a fourth page added later inherited nothing and would have rendered the
 * uploaded logo at its natural size (the current asset is 2014x547).
 *
 * Link this file from any standalone auth page instead of pasting the rules in.
 *
 * The uploaded logo replaces the gradient icon badge above it. A wide wordmark
 * cannot sit inside the 64x64 square badge, so it renders free-standing and the
 * badge is dropped — see the siteHasLogo() branch in each page's markup, which
 * keeps that page's own fa-* badge as the no-logo fallback. The 46px height is
 * matched to the badge it replaces, so the card header keeps its vertical
 * rhythm whichever branch renders.
 */

.login-header .login-logo { margin: 0 auto 18px; text-align: center; }

.login-header .login-logo .site-logo-img {
    max-height: 46px;
    max-width: 210px;
    width: auto;
    object-fit: contain;
    display: inline-block;
}

/* Carried over from the inline copies unchanged, but note: on these three
   pages this rule currently matches nothing. .login-logo is emitted only
   inside the siteHasLogo() true branch, where siteLogo() returns an <img>;
   the false branch renders a .logo-icon badge instead, never a text span.
   Kept so behaviour is identical to before, and so it is already correct
   if a page ever does place siteLogo() text inside .login-logo. */
.login-header .login-logo .logo-text {
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    font-size: 26px;
    color: #fff;
    letter-spacing: -.02em;
}
