*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:'Poppins',sans-serif;
}

body{
    min-height:100vh;
    display:flex;
    justify-content:center;
    align-items:center;

    background-image:url("/static/images/background_login.jpeg");
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    background-attachment:fixed;
    overflow-x:hidden;
}

/* Dark overlay */
body::before{
    content:"";
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.35);
    z-index:-1;
}

.container{
    width:100%;
    min-height:100vh;
    display:flex;
}

/* ================= LEFT PANEL ================= */

.left-panel{
    flex:1;
    display:flex;
    justify-content:center;
    align-items:center;
    flex-direction:column;
    padding:60px;
    color:#fff;
    text-align:center;
}

.left-panel img{
    width:320px;
    max-width:100%;
    margin-bottom:30px;
}

.left-panel h1{
    font-size:3rem;
    margin-bottom:20px;
    font-weight:700;
    text-shadow:0 4px 10px rgba(0,0,0,.4);
}

.left-panel p{
    max-width:500px;
    line-height:1.8;
    font-size:16px;
    color:#f3f4f6;
}

/* ================= RIGHT PANEL ================= */

.right-panel{
    flex:1;
    display:flex;
    justify-content:center;
    align-items:center;
    padding:40px;
}

/* ================= GLASS CARD ================= */

.login-card{
    position:relative;
    width:100%;
    max-width:460px;
    padding:45px;

    background:rgba(255,255,255,0.15);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);

    border:1px solid rgba(255,255,255,.25);
    border-radius:25px;

    box-shadow:
        0 15px 40px rgba(0,0,0,.35);

    overflow:hidden;
}

.login-card::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:25px;
    padding:1px;

    background:linear-gradient(
        135deg,
        rgba(255,255,255,.8),
        rgba(255,255,255,.1)
    );

    -webkit-mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);

    -webkit-mask-composite:xor;
            mask-composite:exclude;

    pointer-events:none;
}

/* ================= LOGO ================= */

.logo{
    text-align:center;
    margin-bottom:35px;
}

.logo img{
    width:100px;
    height:100px;
    object-fit:contain;
    margin-bottom:15px;
}

.logo h2{
    color:#fff;
    margin-bottom:8px;
    font-size:28px;
}

.logo p{
    color:#f3f4f6;
    font-size:14px;
}

/* ================= MESSAGE ================= */

.message{
    padding:12px;
    margin-bottom:20px;
    border-radius:12px;
    background:rgba(255,255,255,.18);
    color:#b66262;
    border:1px solid rgba(255,255,255,.25);
}

/* ================= FORM ================= */

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

.form-group label{
    display:block;
    margin-bottom:8px;
    color:#fff;
    font-size:14px;
    font-weight:500;
}

.form-control{
    width:100%;
    padding:15px 18px;

    border-radius:14px;
    border:1px solid rgba(255,255,255,.25);

    background:rgba(255,255,255,.15);

    color:#fff;
    font-size:15px;

    transition:.3s;
}

.form-control::placeholder{
    color:rgba(255,255,255,.75);
}

.form-control:focus{
    outline:none;

    border-color:#fff;

    background:rgba(255,255,255,.22);

    box-shadow:
        0 0 15px rgba(255,255,255,.2);
}

/* ================= OPTIONS ================= */

.options{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:25px;
    font-size:14px;
    color:#fff;
}

.options label{
    color:#fff;
}

.options a{
    color:#dbeafe;
    text-decoration:none;
}

.options a:hover{
    color:#fff;
}

/* ================= LOGIN BUTTON ================= */

.login-btn{
    width:100%;
    padding:15px;
    border:none;
    border-radius:14px;

    background:linear-gradient(135deg,#2563eb,#4f46e5);

    color:#fff;
    font-size:16px;
    font-weight:600;

    cursor:pointer;
    transition:.3s;
}

.login-btn:hover{
    transform:translateY(-3px);

    box-shadow:
        0 12px 25px rgba(37,99,235,.4);
}

/* ================= REGISTER ================= */

.register{
    margin-top:25px;
    text-align:center;
    color:#fff;
}

.register a{
    color:#dbeafe;
    font-weight:600;
    text-decoration:none;
}

.register a:hover{
    color:#fff;
}

/* ================= RESPONSIVE ================= */

@media(max-width:992px){

    .left-panel{
        display:none;
    }

    .right-panel{
        width:100%;
        padding:25px;
    }

    .login-card{
        padding:35px 25px;
    }
}

@media(max-width:576px){

    .login-card{
        padding:30px 20px;
        border-radius:20px;
    }

    .logo h2{
        font-size:24px;
    }

    .options{
        flex-direction:column;
        gap:10px;
        align-items:flex-start;
    }
}