@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    font-family:'Plus Jakarta Sans',sans-serif;
    background:#020617;
    color:white;
    min-height:100vh;
    display:flex;
    justify-content:center;
    align-items:center;
    overflow:hidden;
}


body::before{
    content:"";
    position:fixed;
    inset:0;

    background:
    radial-gradient(circle at top left,#0ea5e930,transparent 30%),
    radial-gradient(circle at bottom right,#2563eb20,transparent 30%);

    z-index:-1;
}

/* CARD */
.container{
    width:390px;

    padding:34px;

    border-radius:28px;

    background:
    linear-gradient(
        145deg,
        rgba(15,23,42,0.96),
        rgba(2,6,23,0.92)
    );

    border:1px solid rgba(255,255,255,0.05);

    box-shadow:
    0 10px 40px rgba(0,0,0,0.45),
    0 0 30px rgba(59,130,246,0.08);

    backdrop-filter:blur(16px);

    animation:fadeUp 0.5s ease;
}

.container p{
    font-size: 13px;
}

/* LOGO */
.logo{
    width:120px;
    display:block;

    margin:0 auto 2px auto;

    filter:drop-shadow(0 6px 18px rgba(0,0,0,0.4));
}

form{
    margin-top:10px;
}

.input-group{
    margin-bottom:14px;
}

/* INPUT */
.input{
    width:100%;
    height:52px;

    padding:0 16px;

    border:none;
    outline:none;

    border-radius:14px;

    background:#0f172a;

    border:1px solid rgba(255,255,255,0.08);

    color:white;

    font-size:14px;
    font-weight:600;

    transition:
    border 0.25s ease,
    box-shadow 0.25s ease,
    background 0.25s ease;

    box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.03),
    0 4px 12px rgba(0,0,0,0.22);
}

.input::placeholder{
    color:#64748b;
}

.input:focus{
    border-color:#3b82f6;

    background:#111c33;

    box-shadow:
    0 0 0 3px rgba(59,130,246,0.12),
    0 0 18px rgba(59,130,246,0.16);
}



.login-btn{
    width:100%;
    height:52px;

    border:none;
    border-radius:14px;

    cursor:pointer;

    font-size:16px;
    font-weight:700;

    transition:0.25s ease;

    background:linear-gradient(135deg,#0ea5e9,#2563eb);
    color:white;

    box-shadow:0 10px 24px rgba(37,99,235,0.25);

    margin-top:8px;
}

.login-btn:hover{
    transform:translateY(-2px);
}

.register-btn{
    background:linear-gradient(135deg,#a855f7,#7c3aed);
    color:white;

    box-shadow:0 10px 24px rgba(168,85,247,0.25);
}

button:hover{
    transform:translateY(-2px);
}


.footer-text{
    text-align:center;
    margin-top:18px;
    color:#64748b;
    font-size:12px;
}


.modal{
    position:fixed;
    inset:0;

    background:rgba(0,0,0,0.65);

    backdrop-filter:blur(10px);

    display:flex;
    align-items:center;
    justify-content:center;

    z-index:9999;
}

.hidden{
    display:none;
}

.modal-box{
    width:340px;
    padding:26px;

    border-radius:22px;

    background:linear-gradient(
        145deg,
        rgba(30,41,59,0.95),
        rgba(15,23,42,0.98)
    );

    border:1px solid rgba(255,255,255,0.08);

    text-align:center;
}

.modal-box h2{
    margin-bottom:12px;
}

.modal-box p{
    color:#94a3b8;
    margin-bottom:20px;
}


.cancel-btn{
    width:100%;
    height:48px;

    border:none;
    border-radius:14px;

    background:linear-gradient(135deg,#0ea5e9,#2563eb);

    color:white;

    font-weight:700;

    cursor:pointer;
}


@keyframes fadeUp{
    from{
        opacity:0;
        transform:translateY(20px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }
}

.title{
    text-align:center;
    margin-bottom:20px;
    font-size:28px;
    font-weight:800;
}

.register-link{
    margin-top:20px;
    text-align:center;
    color:#94a3b8;
    font-size:14px;
}

.register-link a{
    color:#38bdf8;
    text-decoration:none;
    font-weight:700;
}

.register-link a:hover{
    text-decoration:underline;
}

/* PASSWORD GROUP */
.password-group{
    position:relative;
    width:100%;
}

/* PASSWORD INPUT */
.password-group .input{
    width:100%;
    padding-right:52px;
}

/* EYE ICON */
.toggle-password{
    position:absolute;

    top:50%;
    right:16px;

    transform:translateY(-50%);

    display:flex;
    align-items:center;
    justify-content:center;

    width:24px;
    height:24px;

    cursor:pointer;

    color:#64748b;

    font-size:18px;

    transition:0.2s ease;

    z-index:5;
}

.toggle-password:hover{
    color:#38bdf8;
}

/* MOBILE RESPONSIVE */
@media (max-width:480px){

    .toggle-password{
        right:14px;
        font-size:17px;
    }

    .password-group .input{
        padding-right:48px;
    }

}

/* REMEMBER ME */
.remember-me{
    display:flex;
    align-items:center;
    gap:10px;

    margin-top:8px;
    margin-bottom:18px;

    color:#94a3b8;

    font-size:14px;
    font-weight:600;

    flex-wrap:wrap;
}

/* CUSTOM CHECKBOX */
.remember-me input[type="checkbox"]{
    appearance:none;
    -webkit-appearance:none;

    width:18px;
    height:18px;

    min-width:18px;

    border-radius:6px;

    border:1px solid rgba(255,255,255,0.15);

    background:#0f172a;

    cursor:pointer;

    position:relative;

    transition:0.2s ease;
}

/* CHECKED STATE */
.remember-me input[type="checkbox"]:checked{
    background:linear-gradient(135deg,#0ea5e9,#2563eb);

    border-color:#3b82f6;

    box-shadow:0 0 12px rgba(59,130,246,0.35);
}

/* CHECK ICON */
.remember-me input[type="checkbox"]:checked::before{
    content:"✔";

    position:absolute;

    top:50%;
    left:50%;

    transform:translate(-50%,-50%);

    color:white;

    font-size:11px;
}

/* LABEL */
.remember-me label{
    cursor:pointer;

    transition:0.2s ease;

    line-height:1.2;
}

.remember-me label:hover{
    color:#38bdf8;
}

/* MOBILE */
@media (max-width:480px){

    .remember-me{
        font-size:13px;
        gap:8px;
    }

    .remember-me input[type="checkbox"]{
        width:17px;
        height:17px;
    }

}

.login-options{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-top:10px;
    margin-bottom:20px;
}

.forgot-link{
    color:#2563eb;
    text-decoration:none;
    font-size:14px;
    font-weight:600;
}

.forgot-link:hover{
    text-decoration:underline;
}