body.forgot-password-page {
    margin: 0;
    font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
    background: #eff4fb;
    color: #1f2a37;
}

.forgot-shell {
    max-width: 760px;
    margin: 20px auto;
    padding: 16px;
}

.forgot-title {
    margin: 0 0 12px;
    font-size: 1.5rem;
}

.auth-card {
    margin: 14px 0;
    padding: 14px;
    background: #ffffff;
    border: 1px solid #d7deea;
    border-radius: 12px;
}

.section-title {
    margin: 0 0 14px;
    font-size: 1.2rem;
}

.flash-message {
    margin: 0 0 16px;
    padding: 10px 12px;
    border: 1px solid #bdd3f3;
    background: #ebf3ff;
    border-radius: 8px;
}

.form-field {
    margin: 12px 0;
}

.form-field input {
    width: 100%;
    box-sizing: border-box;
    margin-top: 6px;
    padding: 10px;
    border: 1px solid #b8c3d6;
    border-radius: 8px;
    font-size: 14px;
}

.form-actions {
    margin: 14px 0 0;
}

.primary-button {
    width: 100%;
    border: 0;
    border-radius: 8px;
    padding: 10px 14px;
    background: #0d6efd;
    color: #ffffff;
    font-weight: 600;
    cursor: pointer;
}

.primary-button:hover {
    background: #0b5ed7;
}

.secondary-link {
    color: #0b4eb2;
    text-decoration: none;
}

.secondary-link:hover {
    text-decoration: underline;
}

.validation-message {
    color: #b42318;
    margin: 8px 0 0;
}

.validation-message.is-visible {
    display: block;
}

.home-copy {
    margin: 12px 0;
}

@media (min-width: 768px) {
    .forgot-shell {
        margin: 36px auto;
        padding: 24px;
    }

    .forgot-title {
        font-size: 1.9rem;
    }

    .auth-card {
        padding: 18px;
    }

    .primary-button {
        width: auto;
        min-width: 140px;
    }
}
