.login-page { display: grid; place-items: center; min-height: 100dvh; padding: 2rem 1rem; }
.login-shell { width: min(100%, 440px); }
.login-brand { margin-bottom: 1.6rem; text-align: center; }
.login-logos { display: flex; justify-content: center; gap: .8rem; margin-bottom: .9rem; }
.login-logos img { border: 1px solid var(--app-line); border-radius: 50%; object-fit: contain; background: #fff; }
.login-brand > span { font-family: "Plus Jakarta Sans", sans-serif; font-size: 1.2rem; font-weight: 800; color: var(--app-primary-dark); }
.login-brand p { margin: .4rem 0 0; font-size: .85rem; color: var(--app-ink-soft); }
.login-card { border-top: 3px solid var(--app-primary) !important; }
.login-card .card-body { padding: 2rem; }
.login-card h1 { margin-bottom: .65rem; font: 800 1.7rem "Plus Jakarta Sans", sans-serif; color: var(--app-primary-dark); letter-spacing: -.035em; }
.login-card .input-group .btn { min-width: 80px; }
.login-card .form-control { min-height: 46px; }
.login-card button[type="submit"] { min-height: 46px; }
@media (max-width: 575.98px) { .login-card .card-body { padding: 1.5rem; } }
