/* Modern, centered auth pages (login / register / password reset). */

.auth-page {
    display: flex;
    justify-content: center;
    padding: 3rem 1rem 4rem;
}

.auth-container {
    width: 100%;
    max-width: 430px;
}

.auth-brand {
    text-align: center;
    margin-bottom: 1.5rem;
}

.auth-logo {
    max-height: 80px;
    max-width: 240px;
    object-fit: contain;
    margin-bottom: 0.75rem;
}

.auth-brand-name {
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--mud-palette-text-primary);
}

.auth-brand-html {
    margin-top: 0.5rem;
    color: var(--mud-palette-text-secondary);
    font-size: 0.95rem;
}

.auth-card {
    padding: 2rem 2rem 1.75rem;
    border-radius: 14px;
}

.auth-title {
    font-size: 1.35rem;
    font-weight: 600;
    margin: 0 0 0.25rem;
    color: var(--mud-palette-text-primary);
}

.auth-subtitle {
    margin: 0 0 1.5rem;
    color: var(--mud-palette-text-secondary);
    font-size: 0.95rem;
}

.auth-form .auth-field {
    display: flex;
    flex-direction: column;
    margin-bottom: 1.1rem;
}

.auth-form .auth-field label {
    font-size: 0.85rem;
    font-weight: 500;
    margin-bottom: 0.35rem;
    color: var(--mud-palette-text-secondary);
}

.auth-form .auth-input {
    padding: 0.7rem 0.9rem;
    border: 1px solid var(--mud-palette-lines-inputs, #c4c4c4);
    border-radius: 9px;
    font-size: 1rem;
    background: var(--mud-palette-surface);
    color: var(--mud-palette-text-primary);
    transition: border-color 0.15s, box-shadow 0.15s;
}

.auth-form .auth-input:focus {
    outline: none;
    border-color: var(--mud-palette-primary);
    box-shadow: 0 0 0 3px rgba(45, 106, 79, 0.18);
}

.auth-checkbox {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1.1rem;
    font-size: 0.92rem;
    color: var(--mud-palette-text-secondary);
}

.auth-btn {
    width: 100%;
    padding: 0.75rem 1rem;
    font-size: 1rem;
    font-weight: 600;
    color: #fff;
    background: var(--mud-palette-primary);
    border: none;
    border-radius: 9px;
    cursor: pointer;
    transition: background 0.15s, opacity 0.15s;
}

.auth-btn:hover {
    background: var(--mud-palette-primary-darken, #1b4332);
}

.auth-btn.secondary {
    background: transparent;
    color: var(--mud-palette-primary);
    border: 1px solid var(--mud-palette-primary);
}

.auth-divider {
    display: flex;
    align-items: center;
    text-align: center;
    color: var(--mud-palette-text-secondary);
    font-size: 0.8rem;
    margin: 1.25rem 0;
}

.auth-divider::before,
.auth-divider::after {
    content: "";
    flex: 1;
    border-bottom: 1px solid var(--mud-palette-lines-default, #e0e0e0);
}

.auth-divider:not(:empty)::before { margin-right: 0.75rem; }
.auth-divider:not(:empty)::after { margin-left: 0.75rem; }

.auth-links {
    margin-top: 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    font-size: 0.9rem;
}

.auth-links a {
    color: var(--mud-palette-primary);
    text-decoration: none;
}

.auth-links a:hover { text-decoration: underline; }

.auth-validation {
    color: var(--mud-palette-error);
    font-size: 0.82rem;
    margin-top: 0.3rem;
}

.auth-note {
    color: var(--mud-palette-text-secondary);
}
