/* ==========================================================
   eBillSeva Authentication
   Forgot Password
========================================================== */


/* ==========================================================
   Page
========================================================== */

.auth-page {
    min-height: 100vh;
    background: var(--bs-light, #f8f9fa);
}

.auth-main {
    min-height: 100vh;
}


/* ==========================================================
   Shell
========================================================== */

.auth-shell {
    min-height: 100vh;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 40px 16px;
}


/* ==========================================================
   Container
========================================================== */

.auth-container {
    width: 100%;
    max-width: 460px;
}


/* ==========================================================
   Card
========================================================== */

.auth-card {
    width: 100%;

    background: #ffffff;

    border: 1px solid rgba(13, 71, 161, 0.08);

    border-radius: 20px;

    padding: 40px;

    box-shadow:
        0 20px 60px rgba(0, 0, 0, 0.08);
}


/* ==========================================================
   Brand
========================================================== */

.auth-brand {
    margin-bottom: 28px;
}

.auth-logo {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    text-decoration: none;
}

.auth-logo-image {
    display: block;

    width: 100px;
    height: 100px;

    object-fit: contain;
}

.auth-brand-tagline {
    margin: 8px 0 0;

    font-size: 0.9rem;

    color: #6c757d;
}


/* ==========================================================
   Heading
========================================================== */

.auth-heading {
    margin-bottom: 28px;
}

.auth-title {
    margin: 0;

    font-size: 1.75rem;
    line-height: 1.25;

    font-weight: 700;

    color: #172033;

    letter-spacing: -0.025em;
}

.auth-subtitle {
    margin: 8px 0 0;

    color: #6c757d;

    font-size: 0.94rem;

    line-height: 1.6;
}


/* ==========================================================
   Form
========================================================== */

.auth-form .form-label {
    color: #273142;

    font-size: 0.88rem;

    font-weight: 600;
}


/* ==========================================================
   Input Group
========================================================== */

.auth-input-group {
    position: relative;

    display: flex;

    align-items: center;
}

.auth-input-icon {
    position: absolute;

    left: 14px;

    z-index: 2;

    color: #7a8494;

    pointer-events: none;
}

.auth-input {
    min-height: 48px;

    padding-left: 42px;
    padding-right: 14px;

    border-radius: 10px;

    border-color: #dce1e8;

    box-shadow: none;
}

.auth-input:focus {
    border-color: var(--bs-primary, #0d47a1);

    box-shadow:
        0 0 0 3px rgba(13, 71, 161, 0.10);
}


/* ==========================================================
   Submit
========================================================== */

.auth-submit {
    min-height: 48px;

    border-radius: 10px;

    font-weight: 600;
}


/* ==========================================================
   Alerts
========================================================== */

.auth-alert {
    border-radius: 10px;

    font-size: 0.88rem;

    line-height: 1.5;
}

.auth-alert i {
    flex-shrink: 0;

    margin-top: 2px;
}


/* ==========================================================
   Back to Login
========================================================== */

.auth-login-footer {
    margin-top: 26px;

    color: #6c757d;

    font-size: 0.88rem;
}

.auth-login-footer a {
    margin-left: 4px;

    color: var(--bs-primary, #0d47a1);

    font-weight: 600;

    text-decoration: none;
}

.auth-login-footer a:hover {
    text-decoration: underline;
}


/* ==========================================================
   Back to Website
========================================================== */

.auth-back-home {
    margin-top: 16px;
}

.auth-small-link {
    color: var(--bs-primary, #0d47a1);

    font-size: 0.82rem;

    text-decoration: none;
}

.auth-small-link:hover {
    text-decoration: underline;
}


/* ==========================================================
   Footer
========================================================== */

.auth-footer {
    margin-top: 28px;

    color: #8a93a0;

    font-size: 0.76rem;
}

.auth-footer-dot {
    margin: 0 5px;
}


/* ==========================================================
   Mobile
========================================================== */

@media (max-width: 575.98px) {

    .auth-shell {
        padding: 20px 12px;
    }

    .auth-card {
        padding: 28px 20px;

        border-radius: 16px;
    }

    .auth-logo-image {
        width: 84px;
        height: 84px;
    }

    .auth-title {
        font-size: 1.5rem;
    }

    .auth-subtitle {
        font-size: 0.9rem;
    }

}