/* ==============================
   JEMPUT SAMPAH LOGIN
   Theme : Navy + Green + White
============================== */

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');

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

:root{

    --primary:#1F2D4D;
    --primary-dark:#16233d;

    --green:#2FA84F;
    --green-dark:#238540;

    --white:#ffffff;
    --gray:#f4f7fa;
    --gray2:#d7dde5;
    --text:#4c5563;

    --shadow:0 20px 40px rgba(0,0,0,.08);

}

body{

    min-height:100vh;
    background:linear-gradient(135deg,#edf6ff,#ffffff,#eefbf2);
    display:flex;
    justify-content:center;
    align-items:center;
    padding:40px;

}

/*=========================
        MAIN CONTAINER
==========================*/

.container{

    width:1200px;
    min-height:720px;

    background:white;
    border-radius:28px;
    overflow:hidden;

    display:flex;

    box-shadow:var(--shadow);

}

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

.content-side{

    width:50%;
    padding:70px;

    display:flex;
    flex-direction:column;
    justify-content:space-between;

    background:linear-gradient(160deg,#ffffff,#f4fff6);

    position:relative;

}

.content-side::before{

    content:"";

    position:absolute;

    width:420px;
    height:420px;

    border-radius:50%;

    background:rgba(47,168,79,.08);

    top:-140px;
    left:-120px;

}

.content-side::after{

    content:"";

    position:absolute;

    width:260px;
    height:260px;

    border-radius:50%;

    background:rgba(31,45,77,.05);

    right:-90px;
    bottom:-70px;

}

.brand-wrapper{

    position:relative;
    z-index:2;

}

.main-logo{

    margin-bottom:35px;

}

.main-logo img{

    width:220px;

}

.title-red{

    font-size:62px;
    font-weight:800;
    color:var(--primary);
    line-height:1.05;

}

.title-dark{

    color:var(--green);

}

.tagline{

    margin-top:18px;

    font-size:22px;
    color:var(--green);

    font-weight:600;

}

.desc{

    margin-top:18px;

    color:var(--text);

    font-size:16px;

    line-height:30px;

    max-width:520px;

}

.url-badge{

    display:inline-flex;

    margin-top:30px;

    padding:12px 26px;

    border-radius:50px;

    background:linear-gradient(90deg,var(--primary),var(--green));

    color:white;

    font-weight:600;

    box-shadow:0 10px 25px rgba(47,168,79,.25);

}

.bottom-banner{

    position:relative;
    z-index:2;

}

.bottom-banner img{

    width:260px;

    opacity:.9;

}

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

.form-side{

    width:50%;

    display:flex;
    justify-content:center;
    align-items:center;

    background:#f8fafc;

}

.login-box{

    width:430px;

    background:white;

    padding:55px;

    border-radius:24px;

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

}

.login-box h2{

    color:var(--primary);

    font-size:34px;

    font-weight:700;

}

.login-box p{

    margin-top:8px;

    color:#768295;

    margin-bottom:35px;

}

/*=========================
      INPUT
==========================*/

.input-field{

    margin-bottom:22px;

}

.input-field label{

    display:block;

    margin-bottom:8px;

    color:var(--primary);

    font-weight:600;

}

.input-field input{

    width:100%;

    height:54px;

    border-radius:14px;

    border:2px solid #dbe3ec;

    padding:0 18px;

    font-size:15px;

    transition:.3s;

    outline:none;

    background:white;

}

.input-field input:focus{

    border-color:var(--green);

    box-shadow:0 0 0 5px rgba(47,168,79,.12);

}

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

.btn-masuk{

    width:100%;

    height:56px;

    border:none;

    border-radius:14px;

    margin-top:15px;

    background:linear-gradient(90deg,var(--primary),var(--green));

    color:white;

    font-size:16px;

    font-weight:700;

    cursor:pointer;

    transition:.3s;

}

.btn-masuk:hover{

    transform:translateY(-3px);

    box-shadow:0 14px 30px rgba(47,168,79,.30);

}

.btn-panduan{

    width:100%;

    margin-top:18px;

    display:flex;

    justify-content:center;
    align-items:center;
    gap:10px;

    text-decoration:none;

    padding:15px;

    border-radius:14px;

    border:2px solid var(--green);

    color:var(--green);

    font-weight:600;

    transition:.3s;

}

.btn-panduan:hover{

    background:var(--green);

    color:white;

}

/*=========================
      LINK
==========================*/

.register-link{

    text-align:center;

    font-size:14px;

}

.register-link a{

    color:var(--green);

    font-weight:700;

    text-decoration:none;

}

.register-link a:hover{

    color:var(--primary);

}

/*=========================
      COPYRIGHT
==========================*/

.copyright{

    margin-top:35px;

    text-align:center;

    font-size:13px;

    color:#8b97a6;

}

/*=========================
      ERROR
==========================*/

.error-text{

    display:block;

    margin-top:8px;

    color:#e53935;

    font-size:13px;

}

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

@media(max-width:980px){

.container{

    flex-direction:column;

    width:100%;

}

.content-side,
.form-side{

    width:100%;

}

.content-side{

    padding:50px;

}

.title-red{

    font-size:46px;

}

.login-box{

    width:90%;
    margin:40px 0;

}

}