﻿ 
    /* ===== Page Background ===== */
    body, html{
    height: 100%;
    margin: 0;
    font-family: 'Poppins', sans-serif;
    display: flex;
    justify-content: center;
    align-items: center;
    background: linear-gradient(326deg, #150f4a, #f36b6b);
    overflow: hidden;
}

/* ===== Card Container ===== */
.login-card {
    width: 100%;
    max-width: 760px; /* maximum width for large screens */
    margin: 0 auto;
    min-height: 500px;
    border-radius: 25px;
    overflow: hidden;
    box-shadow: 0 25px 50px rgba(0,0,0,0.3);
    background: #fff;
    display: flex;
    animation: fadeInUp 0.8s ease forwards;
}
/* ===== Left Side ===== */

.left-side {
    flex: 1;
    background: linear-gradient( 158deg, #130e51, #f36b6b);
    clip-path: polygon(0 0, 100% 0, 85% 100%, 0% 100%);
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    text-align: center;
    padding: 30px;
    color: #fff;
    position: relative;
}

    .left-side h2 {
        font-size: 32px;
        margin-bottom: 20px;
    }

    .left-side p {
        font-size: 16px;
        line-height: 1.5;
    }

    .left-side .card-footer {
        position: absolute;
        bottom: 20px;
        width: calc(100%);
        font-size: 13px;
        color: #fff;
    }

/* ===== Right Side ===== */
.right-side {
    flex: 1;
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    padding: 50px 40px;
    position: relative;
}

/* ===== Input Fields ===== */
.field {
    position: relative;
    margin-bottom: 25px;
    width: 100%;
}

    .field input {
        width: 100%;
        padding: 15px 50px 15px 20px;
        border-radius: 30px;
        border: none;
        outline: none;
        background: #f0f0f0;
        font-size: 15px;
        transition: all 0.3s ease;
        box-shadow: inset 0 0 0 #d03f3f77;
    }

        .field input:focus {
            background: #fff;
            box-shadow: 0 0 12px #d03f3f77, 0 0 25px #d03f3f44;
            border: 1px solid #d03f3f;
        }

    .field label {
        position: absolute;
        top: 50%;
        left: 20px;
        transform: translateY(-50%);
        color: #aaa;
        pointer-events: none;
        transition: 0.3s ease;
    }

    .field input:focus + label,
    .field input:not(:placeholder-shown) + label {
        top: -10px;
        font-size: 12px;
        color: #d03f3f;
    }

    .field .fas {
        position: absolute;
        right: 20px;
        top: 50%;
        transform: translateY(-50%);
        color: #d03f3f77;
        transition: color 0.3s ease;
    }

    .field input:focus ~ .fas {
        color: #d03f3f;
    }

.password-toggle {
    cursor: pointer;
}

/* ===== Button ===== */
.btn-login {
    position: relative;
    overflow: hidden;
    width: 100%;
    padding: 15px 0;
    border: none;
    border-radius: 30px;
    font-size: 16px;
    font-weight: 600;
    color: #fff;
    background: linear-gradient(90deg, #130e51, #f36b6b);
    cursor: pointer;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    margin-top: 10px;
}

    .btn-login:hover {
        transform: scale(1.05);
    }

    .btn-login::after {
        content: '';
        position: absolute;
        top: 0;
        left: -50%;
        width: 50%;
        height: 100%;
        background: linear-gradient(to right, rgba(255,255,255,0.5), rgba(255,255,255,0));
        transform: skewX(-20deg);
        transition: all 0.5s ease;
    }

    .btn-login:hover::after {
        left: 100%;
    }

/* ===== Forgot Password ===== */
.forgot-pass a {
    color: #d03f3f;
    text-decoration: none;
}

    .forgot-pass a:hover {
        text-decoration: underline;
    }

.footer {
    display: none;
}
/* ===== Animation ===== */
@keyframes fadeInUp {
    0% {
        opacity: 0;
        transform: translateY(50px);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ===== Responsive ===== */
@media(max-width:900px) {

    .login-card {
        flex-direction: column;
        height: auto;
    }

    .left-side, .right-side {
        flex: unset;
        width: 100%;
        clip-path: none;
        padding: 30px;
    }

        .left-side .card-footer {
            bottom: 10px;
        }
}

/* --------------------------- */
/*   RESPONSIVE FIXES          */
/* --------------------------- */
/* Mobile base reset */
@media (max-width: 768px) {
    body

{
    padding: 0 !important;
    margin: 0 !important;
    overflow-x: hidden;
}

/* Center card in mobile */
    .auth-wrapper {
        display: flex;
        justify-content: center;
        align-items: center;
        min-height: 100vh;
        padding: 0 5px; /* 5px padding on left and right */
        box-sizing: border-box;
    }

/* Main card responsive */
.auth-card {
    width: 100% !important;
    max-width: 380px !important;
    border-radius: 18px !important;
    padding: 20px !important;
}

/* Snake / Curve panel */
.decor-panel {
    clip-path: polygon(0 0, 100% 0, 90% 100%, 0% 100%) !important;
    height: 120px !important;
}

/* LOGO TOP LEFT */
.logo-left {
    position: absolute;
    top: 15px !important;
    left: 15px;
    width: 55px !important;
}

/* LOGO TOP RIGHT */
    .logo-right {
        position: absolute;
        top: 4px !important;
        right: 15px;
        width: 42px !important;
        left: 2px;
    }

/* Input fields spacing */
.form-control {
    height: 45px !important;
    font-size: 14px !important;
}

/* Buttons */
.btn {
    height: 45px !important;
    font-size: 15px !important;
}

/* Slide animation spacing */
#loginSection, #forgotSection {
    padding-top: 10px !important;
}

/* Footer */
.auth-footer {
    text-align: center !important;
    font-size: 12px !important;
    padding: 10px 0 !important;
    position: relative !important;
}

}

@media (max-width: 430px) {
    .auth-card {
        max-width: 92% !important;
        padding: 18px !important;
    }

    .decor-panel {
        height: 100px !important;
    }

    .logo-left, .logo-right {
        width: 48px !important;
    }

    .btn {
        font-size: 14px !important;
    }
    .login-card {
        flex-direction: column;
        height: auto;
    }
}


