.profile-avatar-placeholder {
    width: 96px;
    height: 96px;
    border-radius: 50%;
    background-color: #f5f5f5;
    display: flex;
    align-items: center;
    justify-content: center;
}

.auth-illustration--login {
    background-image: radial-gradient(circle at 20% 20%, rgba(90, 200, 250, 0.25), transparent 55%),
        radial-gradient(circle at 80% 30%, rgba(143, 148, 251, 0.25), transparent 55%),
        url('https://images.unsplash.com/photo-1455763916899-e8b50eca9967?auto=format&fit=crop&w=1200&q=80');
}

.auth-illustration--signup {
    background-image: radial-gradient(circle at 25% 20%, rgba(90, 200, 250, 0.25), transparent 55%),
        radial-gradient(circle at 70% 30%, rgba(143, 148, 251, 0.25), transparent 55%),
        url('/static/signup_background.jpeg');
}

.auth-required-indicator {
    color: #f14668;
    margin-left: 0.2rem;
}

.auth-help-text {
    display: block;
    margin-top: 0.4rem;
}

.signup-beta-banner {
    margin-top: 1rem;
    margin-bottom: 1.25rem;
    border-radius: 12px;
}

.signup-beta-title {
    font-weight: 600;
    margin-bottom: 0.35rem;
}

.signup-beta-copy {
    margin-bottom: 0;
}

.auth-notice-card {
    width: min(640px, 90vw);
    background: var(--bg-card);
    border-radius: 32px;
    padding: clamp(2rem, 3vw, 3rem);
    box-shadow: var(--shadow-strong);
    text-align: center;
}

.auth-notice-icon {
    width: 96px;
    height: 96px;
    border-radius: 50%;
    margin: 0 auto 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(252, 165, 165, 0.25);
}

.auth-notice-text {
    color: var(--text-muted);
    font-size: 1.125rem;
    margin-bottom: 1.5rem;
}

.auth-notice-meta {
    background: rgba(254, 242, 242, 0.9);
    border: 1px solid #fecaca;
    border-radius: 16px;
    padding: 1.5rem;
    text-align: left;
    margin-bottom: 2rem;
}

.auth-notice-meta p {
    margin: 0 0 0.5rem 0;
}

.auth-notice-meta p:last-child {
    margin-bottom: 0;
}

.auth-notice-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 0.5rem;
    text-decoration: none;
}
