/* ============================================================
   AUTH — Login page CSS
   ============================================================ */

.jh-auth-wrap {
    display: flex; align-items: center; justify-content: center;
    min-height: 100dvh; padding: 20px; position: relative; z-index: 1;
}
.jh-auth-card {
    width: 100%; max-width: 380px; padding: 36px 28px;
    background: var(--gl); backdrop-filter: blur(var(--blur)); -webkit-backdrop-filter: blur(var(--blur));
    border: 1px solid var(--glB); border-radius: var(--R-xl);
    box-shadow: var(--sh-xl); text-align: center;
    animation: jh-ai .6s var(--ease) both;
}
.jh-auth-logo {
    width: 56px; height: 56px; border-radius: var(--R-md); margin: 0 auto 16px;
    background: linear-gradient(135deg, var(--accent), var(--accent-light));
    display: flex; align-items: center; justify-content: center;
    font-size: 18px; font-weight: 800; color: #fff;
}
.jh-auth-title { font-size: 22px; font-weight: 800; letter-spacing: -.5px; }
.jh-auth-sub { font-size: 13px; color: var(--tx2); margin-top: 4px; margin-bottom: 28px; }
.jh-auth-error {
    display: flex; align-items: center; gap: 8px; padding: 10px 14px;
    border-radius: var(--R-sm); background: rgba(239,68,68,.1); color: var(--err);
    font-size: 13px; margin-bottom: 16px; text-align: left;
}
.jh-auth-form { display: flex; flex-direction: column; gap: 16px; text-align: left; }
