.ez-auth-wrap {
    min-height: 100vh;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    padding: 32px 0;
    background:
        radial-gradient(circle at 15% 10%, rgba(14,124,102,.07), transparent 40%),
        radial-gradient(circle at 85% 90%, rgba(242,166,90,.10), transparent 40%),
        var(--ez-bg);
}

.ez-auth-brand { display: flex; flex-direction: column; align-items: center; gap: 10px; margin-bottom: 22px; }
.ez-auth-logo {
    width: 52px; height: 52px; border-radius: 14px; background: var(--ez-primary); color: #fff;
    display: flex; align-items: center; justify-content: center; font-weight: 800; letter-spacing: .02em;
    box-shadow: var(--ez-shadow);
}
.ez-auth-brand-name { font-weight: 700; color: var(--ez-secondary); }

.ez-auth-card { border-top: 4px solid var(--ez-primary); }

.ez-auth-card h1 { font-size: 1.3rem; margin-bottom: 4px; }
.ez-auth-card > p.ez-muted { margin-bottom: 22px; }

.ez-auth-switch { text-align: center; margin-top: 18px; font-size: .9rem; }
.ez-auth-switch a { color: var(--ez-primary); font-weight: 700; text-decoration: none; }

.ez-auth-forgot { display: block; text-align: left; font-size: .85rem; margin: -8px 0 18px; color: var(--ez-primary); text-decoration: none; }
[dir="rtl"] .ez-auth-forgot { text-align: left; }

.ez-auth-support { margin-top: 20px; font-size: .8rem; color: var(--ez-muted); }
.ez-auth-support a { color: var(--ez-primary); text-decoration: none; }

.ez-lock-notice { background: #FCEAEA; color: #B4232B; padding: 14px; border-radius: 12px; font-size: .88rem; margin-bottom: 18px; text-align: center; }
