﻿/* =========================================================
   FORGOT PASSWORD PAGE
   ========================================================= */

* {
    box-sizing: border-box;
}

html,
body,
form {
    width: 100%;
    min-height: 100%;
    margin: 0;
}

body {
    font-family: Inter, "Segoe UI", Arial, sans-serif;
    background: radial-gradient( circle at top left, rgba(7, 139, 85, 0.08), transparent 34% ), linear-gradient( 145deg, #f7faf8 0%, #edf4f0 100% );
    color: #173d2e;
}

/* =========================================================
   PAGE LAYOUT
   ========================================================= */

.forgot-password-page {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    padding: 36px 20px;
}

.forgot-password-shell {
    width: 100%;
    max-width: 470px;
}

/* =========================================================
   BRAND
   ========================================================= */

.forgot-password-brand {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-bottom: 18px;
}

.forgot-password-logo {
    display: block;
    width: auto;
    max-width: 150px;
    height: 42px;
    object-fit: contain;
}

.forgot-password-system-name {
    padding-left: 12px;
    border-left: 1px solid #cfdcd5;
    color: #527064;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.03em;
}

/* =========================================================
   CARD
   ========================================================= */

.forgot-password-card {
    position: relative;
    padding: 36px 38px 32px;
    border: 1px solid #dce6e1;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.97);
    box-shadow: 0 24px 60px rgba(27, 70, 51, 0.11), 0 4px 14px rgba(27, 70, 51, 0.05);
}

/* =========================================================
   HEADER ICON
   ========================================================= */

.forgot-password-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    margin: 0 auto 20px;
    border: 1px solid #cde5d9;
    border-radius: 16px;
    background: linear-gradient( 145deg, #edf9f3, #e1f3e9 );
    color: #078b55;
    box-shadow: 0 8px 20px rgba(7, 139, 85, 0.11);
}

    .forgot-password-icon svg {
        width: 27px;
        height: 27px;
    }

/* =========================================================
   HEADING
   ========================================================= */

.forgot-password-heading {
    margin-bottom: 26px;
    text-align: center;
}

.forgot-password-eyebrow {
    display: block;
    margin-bottom: 8px;
    color: #078b55;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.forgot-password-heading h1 {
    margin: 0 0 11px;
    color: #173d2e;
    font-size: 27px;
    font-weight: 800;
    line-height: 1.2;
}

.forgot-password-heading p {
    margin: 0;
    color: #687a71;
    font-size: 13px;
    line-height: 1.65;
}

/* =========================================================
   MESSAGE
   ========================================================= */

.forgot-password-message {
    margin-bottom: 20px;
    padding: 13px 15px;
    border: 1px solid transparent;
    border-radius: 10px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.55;
}

.forgot-password-message-success {
    border-color: #a7d9c5;
    background: #edf9f3;
    color: #145c3c;
}

.forgot-password-message-error {
    border-color: #efb3b3;
    background: #fff1f1;
    color: #a32727;
}

/* =========================================================
   FIELD
   ========================================================= */

.forgot-password-field {
    margin-bottom: 20px;
}

    .forgot-password-field > label {
        display: block;
        margin-bottom: 8px;
        color: #2d4b3e;
        font-size: 12px;
        font-weight: 800;
    }

.forgot-password-input-wrap {
    position: relative;
}

.forgot-password-input-icon {
    position: absolute;
    top: 50%;
    left: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 19px;
    height: 19px;
    color: #71827a;
    pointer-events: none;
    transform: translateY(-50%);
}

    .forgot-password-input-icon svg {
        width: 18px;
        height: 18px;
    }

input.forgot-password-input {
    display: block;
    width: 100%;
    height: 48px;
    padding: 0 14px 0 45px;
    border: 1px solid #cfdad4;
    border-radius: 10px;
    outline: none;
    background: #ffffff;
    color: #1d352a;
    font-family: inherit;
    font-size: 14px;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
}

    input.forgot-password-input::placeholder {
        color: #9aa8a1;
    }

    input.forgot-password-input:hover {
        border-color: #aebfb6;
    }

    input.forgot-password-input:focus {
        border-color: #078b55;
        background: #ffffff;
        box-shadow: 0 0 0 4px rgba(7, 139, 85, 0.10);
    }

.forgot-password-help {
    display: block;
    margin-top: 7px;
    color: #87938d;
    font-size: 11px;
    line-height: 1.45;
}

/* =========================================================
   BUTTON
   ========================================================= */

input.forgot-password-button,
input[type="submit"].forgot-password-button {
    display: block !important;
    width: 100% !important;
    height: 48px !important;
    padding: 0 20px !important;
    border: 1px solid #078b55 !important;
    border-radius: 10px !important;
    background: linear-gradient( 135deg, #078b55, #067348 ) !important;
    color: #ffffff !important;
    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    letter-spacing: 0.01em !important;
    line-height: 1 !important;
    cursor: pointer !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    box-shadow: 0 8px 18px rgba(7, 139, 85, 0.18);
    transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease !important;
}

    input.forgot-password-button:hover {
        background: linear-gradient( 135deg, #067f4e, #055f3c ) !important;
        box-shadow: 0 11px 24px rgba(7, 139, 85, 0.23);
        transform: translateY(-1px);
    }

    input.forgot-password-button:active {
        transform: translateY(0);
    }

/* =========================================================
   BACK LINK
   ========================================================= */

.forgot-password-back {
    margin-top: 22px;
    text-align: center;
}

    .forgot-password-back a {
        display: inline-flex;
        align-items: center;
        gap: 7px;
        color: #426658;
        font-size: 12px;
        font-weight: 800;
        text-decoration: none;
        transition: color 0.18s ease;
    }

        .forgot-password-back a:hover {
            color: #078b55;
            text-decoration: none;
        }

        .forgot-password-back a span {
            font-size: 17px;
            line-height: 1;
        }

/* =========================================================
   FOOTER
   ========================================================= */

.forgot-password-footer {
    margin: 18px 0 0;
    color: #819087;
    font-size: 11px;
    font-weight: 600;
    text-align: center;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 520px) {
    .forgot-password-page {
        align-items: flex-start;
        padding: 24px 14px;
    }

    .forgot-password-brand {
        margin-bottom: 14px;
    }

    .forgot-password-card {
        padding: 30px 22px 26px;
        border-radius: 16px;
    }

    .forgot-password-heading h1 {
        font-size: 24px;
    }

    .forgot-password-logo {
        max-width: 125px;
        height: 36px;
    }

    .forgot-password-system-name {
        font-size: 11px;
    }
}
.password-rules {
    margin: -8px 0 18px;
}

.reset-completed-panel {
    padding: 18px;
    border: 1px solid #a7d9c5;
    border-radius: 12px;
    background: #edf9f3;
    text-align: center;
}

    .reset-completed-panel p {
        margin: 0 0 16px;
        color: #145c3c;
        font-size: 13px;
        font-weight: 700;
        line-height: 1.55;
    }

.reset-login-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 18px;
    border: 1px solid #078b55;
    border-radius: 9px;
    background: #078b55;
    color: #ffffff;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
}

    .reset-login-link:hover {
        border-color: #067a4b;
        background: #067a4b;
        color: #ffffff;
        text-decoration: none;
    }