.auth-public-body {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    margin: 0;
    background: radial-gradient(circle at top left, rgba(37, 99, 235, 0.09), transparent 35%), var(--background);
}

.auth-public-card {
    width: 100%;
    max-width: 440px;
    padding: 36px;
    box-sizing: border-box;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 16px;
    box-shadow: 0 20px 45px -24px rgba(15, 23, 42, 0.35);
}

.auth-public-header { text-align: center; margin-bottom: 26px; }
.auth-public-logo { display: inline-flex; align-items: center; justify-content: center; width: 68px; height: 68px; margin: 0 auto 12px; }
.auth-public-logo .logo-icon { width: 68px; height: 68px; }
.auth-public-header h1 { margin: 0 0 8px; font-size: 24px; color: var(--text); }
.auth-public-header p, .auth-public-message { margin: 0; color: var(--text-secondary); font-size: 14px; line-height: 1.55; }
.auth-public-form .form-group { margin-bottom: 18px; }
.auth-public-form label { display: block; margin-bottom: 7px; color: var(--text); font-size: 13px; font-weight: 650; }
.auth-public-form .form-control { min-height: 46px; padding: 11px 13px; background: var(--surface-alt); border: 1px solid var(--border); }
.auth-public-form .form-control:focus { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.16); }
.auth-public-submit { width: 100%; min-height: 46px; margin-top: 6px; border-radius: 9px; font-weight: 700; }
.auth-public-footer { margin: 22px 0 0; text-align: center; font-size: 13px; }
.auth-public-status { text-align: center; padding: 8px 0; }

@media (max-width: 520px) {
    .auth-public-body { padding: 16px; align-items: flex-start; }
    .auth-public-card { margin-top: 18px; padding: 28px 22px; }
}
