/* ==========================================================================
   auth-shell.css — the sign-in shell's card.
   --------------------------------------------------------------------------
   Adopted from `lib\css\custom.css` 2026-08-31 (owner order, the lib\css
   retirement). Its carriers are the three `_AuthLayout` sign-in views
   (`Views\Auth\Login.cshtml`, `Views\User\ForgetPassword.cshtml`, and the
   layout itself), so it is linked once from `Views\Shared\_AuthMeta.cshtml`
   rather than per view — which also removed the two hand-rolled
   `<link href="~/lib/css/custom.css">` tags those two views carried.

   ⚠ IT READS THE LEGACY TOKENS from `lib-v2\css\app-base.css`
   (`--card-radius`, `--shadow-md`, `--primary`, `--primary-dark`,
   `--transition`). `_AuthMeta` links that sheet immediately before this one.
   Measured on the live sign-in page before the move: `--card-radius` 10px,
   `--shadow-md` `0 4px 16px rgba(0,0,0,.12)` — if either resolves empty, the
   card loses its radius and shadow silently, so keep the two links together.

   ⚠ BOTH sheets are linked at the END of `_AuthMeta`, AFTER `site.css`. That
   reproduces where `custom.css` sat on this page (the views linked it in their
   own head, i.e. after everything `_AuthMeta` had already linked). Moving them
   ahead of site.css would hand the body font back to site.css.

   ⚠ `.btn-login` does NOT paint itself the way this file reads: measured on the
   live page it renders with `button.css`'s V2 face (gold-700 ink on white), not
   the `--primary` gold fill declared below, because the button sheet is linked
   later and repaints the estate's button families. The declarations are kept
   verbatim so this move changes nothing; whether the sign-in button should be
   exempt from the V2 button standard is a separate owner question.
   ========================================================================== */

.login-wrapper {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
}

.login-card {
    width: 100%;
    max-width: 440px;
    background: #fff;
    border-radius: var(--card-radius);
    padding: 2.5rem 2rem 2rem;
    box-shadow: var(--shadow-md);
    animation: fadeSlideUp .35s ease both;
}

@keyframes fadeSlideUp {
    from { opacity: 0; transform: translateY(20px); }
    to   { opacity: 1; transform: translateY(0);    }
}

.login-header { text-align: center; margin-bottom: 1.75rem; }
.login-logo {
    height: 64px;
    margin-bottom: .75rem;
    width: 100%; /* keep aspect ratio */
    max-width: 100%; /* prevent overflow */
    object-fit: contain; /* ensure full logo is visible */
    display: block;
}

.btn-login {
    font-size: 1rem;
    font-weight: 600;
    color: #fff;
    background: var(--primary);
    border: 1px solid var(--primary-dark);
    padding: 5px 1rem;
    border-radius: 6px;
    transition: background var(--transition), box-shadow var(--transition);
}
.btn-login:hover  { background: var(--primary-dark); color: #fff; }
.btn-login:focus  { box-shadow: 0 0 0 .25rem rgba(207,181,59,.4); }
.btn-login:disabled { opacity: .7; cursor: not-allowed; }

/* Mobile ≤767 */
@media (max-width: 767px) {

    .login-card { padding: 1.75rem 1.25rem 1.5rem; }
}
