/* Auth pages (login / register / password) rendered inside the landing shell.
   Restyles the legacy form classes with theme tokens. */
.lp-auth { padding: clamp(2rem, 5vw, 4rem) 0; background: var(--lp-bg); }
.lp-auth .container { max-width: var(--lp-container-max); }
.lp-auth [data-theme] { --main-color: var(--lp-primary); }
.lp-auth .card, .lp-auth .card-blur { background: var(--lp-surface); border: 1px solid var(--lp-border); border-radius: var(--lp-radius-lg); box-shadow: var(--lp-shadow-lg); backdrop-filter: none; }
.lp-auth .card-body { padding: clamp(1.5rem, 3vw, 2.5rem); }
.lp-auth .shadow-4, .lp-auth .shadow-5 { box-shadow: none !important; }
.lp-auth img.rounded-4 { border-radius: var(--lp-radius-lg) !important; box-shadow: var(--lp-shadow-lg); }
.lp-auth .text-base, .lp-auth .tenant-login-company-name, .lp-auth .tenant-login-company-details a { color: var(--lp-primary) !important; }
.lp-auth .text-medium-gray, .lp-auth .tenant-login-action-title, .lp-auth .tenant-login-company-details { color: var(--lp-text-muted) !important; }
.lp-auth .text-base-hover:hover { color: var(--lp-primary) !important; }
.lp-auth .text-opposite-base { color: var(--lp-primary-contrast) !important; }
.lp-auth h2 { font-family: var(--lp-font-heading); }
.lp-auth .form-control { background: var(--lp-bg) !important; border: 1px solid var(--lp-border) !important; border-radius: var(--lp-radius-sm) !important; color: var(--lp-text) !important; font-family: var(--lp-font-body); }
.lp-auth .form-control:focus { border-color: var(--lp-primary) !important; box-shadow: 0 0 0 .2rem color-mix(in srgb, var(--lp-primary) 20%, transparent) !important; }
.lp-auth .form-floating > label { color: var(--lp-text-muted); }
.lp-auth .form-check-input:checked { background-color: var(--lp-primary); border-color: var(--lp-primary); }
.lp-auth .btn { border-radius: var(--lp-btn-radius); font-family: var(--lp-font-body); font-weight: 700; transition: var(--lp-transition); }
.lp-auth .btn-base, .lp-auth .bg-base { background: var(--lp-primary) !important; border-color: var(--lp-primary) !important; color: var(--lp-primary-contrast) !important; }
.lp-auth .btn-base:hover { filter: brightness(1.08); }
.lp-auth .btn-google { background: var(--lp-surface); border: 1px solid var(--lp-border); color: var(--lp-text); display: inline-flex; align-items: center; justify-content: center; gap: .5rem; }
.lp-auth .btn-google:hover { border-color: var(--lp-primary); }
.lp-auth .btn-google img { height: 20px; }
.lp-auth .text-outside-line-full { position: relative; display: inline-block; padding: 0 .75rem; color: var(--lp-text-muted); }
.lp-auth .text-outside-line-full::before, .lp-auth .text-outside-line-full::after { content: ""; position: absolute; top: 50%; width: 60px; height: 1px; background: var(--lp-border); }
.lp-auth .text-outside-line-full::before { inset-inline-end: 100%; }
.lp-auth .text-outside-line-full::after { inset-inline-start: 100%; }
.lp-auth .w-70 { width: 70%; }
.lp-auth .padding-50px-lr { padding-inline: 50px; }
.lp-auth .padding-80px-lr { padding-inline: 80px; }
.lp-auth .invalid-feedback { display: block; }
.lp-auth .alert { border-radius: var(--lp-radius); }
.lp-auth .tenant-login-brand-logo { max-height: 86px; max-width: 160px; object-fit: contain; }
@media (max-width: 767.98px) { .lp-auth .padding-50px-lr, .lp-auth .padding-80px-lr { padding-inline: 0; } .lp-auth .w-70 { width: 100%; } }
/* the bootstrap stylesheet is loaded after base.css on auth pages; re-assert a few landing basics */
.lp-auth ~ footer, .lp .lp-footer, .lp .mn-footer { font-family: var(--lp-font-body); }
body.lp { font-family: var(--lp-font-body) !important; }
