body {
    min-height: 100vh;

    display: flex;
    justify-content: center;
    align-items: center;

    background: linear-gradient(
        90deg,
        #eef4e6,
        #ffffff,
        #eef4e6
    );

    font-family: "Inter", sans-serif;
}

.forgot-container {
    width: 100%;
    display: flex;
    justify-content: center;
    padding: 40px 20px;
}

.forgot-card {
    width: 100%;
    max-width: 560px;

    background: #ffffff;

    padding: 60px;

    border-radius: 28px;

    box-shadow:
        0 10px 30px rgba(0,0,0,0.06);

    text-align: center;
}

.logo-area h1 {
    font-family: "Belleza", serif;

    font-size: 72px;

    color: #7FB6AE;

    letter-spacing: 10px;
    text-decoration: none;
}

.logo-link {

  text-decoration: none;
}

.logo-line {
    display: block;

    width: 180px;
    height: 4px;

    margin: 12px auto 40px;

    background: #C9A227;

    border-radius: 999px;
}

.forgot-card h2 {
    font-size: 42px;

    color: #6F775B;

    margin-bottom: 16px;
}

.subtitle {
    color: #5e6664;

    line-height: 1.7;

    margin-bottom: 40px;
}

.form-group {
    margin-bottom: 24px;
}

.input-wrapper {
    position: relative;
}

.input-wrapper input {
    width: 100%;

    height: 64px;

    border: none;

    border-radius: 20px;

    background: #f7f7f4;

    padding: 24px 20px 10px;

    font-size: 16px;
}

.input-wrapper label {
    position: absolute;

    left: 20px;
    top: 50%;

    transform: translateY(-50%);

    transition: 0.2s;

    color: #7b7b7b;

    pointer-events: none;
}

.input-wrapper input:focus + label,
.input-wrapper input:valid + label {
    top: 16px;

    font-size: 12px;

    color: #7FB6AE;

    font-weight: 600;
}

.submit-btn {
    width: 100%;

    height: 60px;

    border: none;

    border-radius: 20px;

    background: #6F775B;

    color: white;

    font-size: 18px;
    font-weight: 700;

    cursor: pointer;

    transition: .2s;
}

.submit-btn:hover {
    opacity: .9;
}

.back-link {
    display: inline-block;

    margin-top: 30px;

    color: #6F775B;

    font-weight: 600;

    text-decoration: none;
}

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

.password-message {
    margin-top: 10px;

    color: #c0392b;

    font-size: 14px;

    font-weight: 500;

    text-align: left;

    display: none;
}

.password-message.show {
    display: block;
}

.password-error {
    min-height: 20px;

    margin-top: 10px;

    color: #c0392b;

    font-size: 14px;

    text-align: center;
}