﻿/*================ Candidate Login Page ================*/

html,
body {
    margin: 0;
    padding: 0;
    min-height: 100%;
}


.login-page {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 30px 15px;
    background: linear-gradient( 135deg, #f4f8ff, #ffffff );
    box-sizing: border-box;
}


    /* Bootstrap container */

    .login-page .container {
        width: 100%;
    }


    /* Row */

    .login-page .row {
        width: 100%;
    }


/*================ Left Panel ================*/

.login-left {
    min-height: 500px;
    padding: 45px 40px;
    border-radius: 28px;
    background: linear-gradient( 135deg, #0d6efd, #4f46e5 );
    color: #fff;
    position: relative;
    overflow: hidden;
    box-shadow: 0 30px 60px rgba(13,110,253,.25);
    display: flex;
    flex-direction: column;
    justify-content: center;
}


    /* Circle */

    .login-left::before {
        content: "";
        position: absolute;
        width: 300px;
        height: 300px;
        border-radius: 50%;
        background: rgba(255,255,255,.08);
        top: -120px;
        right: -120px;
    }


    .login-left::after {
        content: "";
        position: absolute;
        width: 180px;
        height: 180px;
        border-radius: 50%;
        background: rgba(255,255,255,.06);
        left: -60px;
        bottom: -60px;
    }


    /* Keep content above circles */

    .login-left > * {
        position: relative;
        z-index: 2;
    }


/* Badge */

.login-badge {
    display: inline-block;
    width: fit-content;
    padding: 8px 20px;
    border-radius: 40px;
    background: rgba(255,255,255,.15);
    margin-bottom: 20px;
    font-size: 15px;
}


/* Heading */

.login-left h2 {
    font-size: 38px;
    line-height: 1.2;
    font-weight: 700;
    margin-bottom: 18px;
}


/* Description */

.login-left p {
    line-height: 30px;
    color: rgba(255,255,255,.9);
    font-size: 16px;
    margin-bottom: 25px;
}


/* Features */

.login-feature {
    margin-top: 5px;
}


    .login-feature div {
        margin-bottom: 18px;
        font-size: 17px;
        display: flex;
        align-items: center;
    }


    .login-feature i {
        color: #FFD54F;
        margin-right: 12px;
        font-size: 18px;
    }


/*================ Login Card ================*/

.login-card {
    background: #fff;
    padding: 40px;
    border-radius: 25px;
    box-shadow: 0 20px 45px rgba(0,0,0,.08);
    width: 100%;
}


    /* Heading */

    .login-card h2 {
        font-weight: 700;
        margin-bottom: 8px;
    }


    .login-card p {
        color: #6c757d;
        margin-bottom: 0;
    }


    /* Labels */

    .login-card label {
        font-weight: 600;
        margin-bottom: 8px;
        color: #333;
        display: block;
    }


    /* Inputs */

    .login-card .form-control {
        height: 46px;
        border-radius: 14px;
        border: 1px solid #dee2e6;
        background: #f8faff;
        padding: 10px 15px;
    }


        .login-card .form-control:focus {
            background: #fff;
            border-color: #0d6efd;
            box-shadow: 0 0 0 3px rgba(13,110,253,.10);
        }


    /* Login button */

    .login-card .btn {
        height: 46px;
        border-radius: 14px;
        font-weight: 600;
        color: #fff;
    }


    /* Links */

    .login-card a {
        color: #0d6efd;
        text-decoration: none;
        font-weight: 600;
    }


        .login-card a:hover {
            text-decoration: underline;
        }


/*================ Mobile ================*/

@media (max-width: 991px) {

    .login-page {
        padding: 25px 15px;
    }

    .login-card {
        padding: 30px 25px;
    }
}


@media (max-width: 576px) {

    .login-page {
        min-height: 100vh;
        padding: 20px 12px;
    }

    .login-card {
        padding: 25px 20px;
        border-radius: 20px;
    }
}

/* ==========================================
   PASSWORD EYE BUTTON
========================================== */

#btnTogglePassword {
    width: 48px;
    min-width: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff !important;
    border: 1px solid #ced4da !important;
    color: #495057 !important;
    opacity: 1 !important;
}


/* Eye icon always visible */

#passwordIcon {
    display: inline-block !important;
    font-size: 18px;
    color: #495057 !important;
    opacity: 1 !important;
    visibility: visible !important;
}


/* Hover */

#btnTogglePassword:hover {
    background: #f1f3f5 !important;
    color: #0d6efd !important;
    border-color: #0d6efd !important;
}


    #btnTogglePassword:hover #passwordIcon {
        color: #0d6efd !important;
    }
#Password {
    border-right: 0 !important;
}

    #Password:focus {
        box-shadow: none !important;
        border-color: #86b7fe !important;
    }

#btnTogglePassword:focus {
    box-shadow: none !important;
}

/* ==========================================
   REMEMBER ME
========================================== */

.remember-me {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 24px;
}


    .remember-me input[type="checkbox"] {
        width: 16px;
        height: 16px;
        margin: 0;
        cursor: pointer;
        accent-color: #0d6efd;
    }


    .remember-me label {
        margin: 0;
        cursor: pointer;
        line-height: 16px;
        color: #212529;
        font-size: 14px;
    }