*{

    margin:0;

    padding:0;

    box-sizing:border-box;

}

body{

    font-family:Inter,sans-serif;

    background:linear-gradient(135deg,#EEF4FF,#F8FAFC);

    min-height:100vh;

    display:flex;

    justify-content:center;

    align-items:center;

}

.login-page{

    width:100%;

    display:flex;

    justify-content:center;

    align-items:center;

    padding:30px;

}

.login-card{

    width:100%;

    max-width:430px;

    background:#fff;

    border-radius:28px;

    padding:38px;

    box-shadow:0 20px 50px rgba(15,23,42,.10);

}

.login-logo{

    width:82px;

    height:82px;

    border-radius:24px;

    background:linear-gradient(135deg,#2563EB,#1D4ED8);

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:38px;

    margin:0 auto 22px;

    color:#fff;

}

.login-card h1{

    text-align:center;

    font-size:34px;

    font-weight:800;

    color:#0F172A;

}

.login-card p{

    text-align:center;

    color:#64748B;

    margin:10px 0 30px;

    font-size:15px;

}

.input-group-custom{

    margin-bottom:22px;

}

.input-group-custom label{

    display:block;

    margin-bottom:8px;

    font-size:14px;

    font-weight:600;

    color:#475569;

}

.input-group-custom input{

    width:100%;

    height:56px;

    border:1px solid #E2E8F0;

    border-radius:16px;

    padding:0 16px;

    outline:none;

    transition:.25s;

    font-size:15px;

}

.input-group-custom input:focus{

    border-color:#2563EB;

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

}

.password-box{

    position:relative;

}

.password-box input{

    padding-right:55px;

}

.toggle-password{

    position:absolute;

    right:16px;

    top:50%;

    transform:translateY(-50%);

    border:none;

    background:none;

    font-size:20px;

    cursor:pointer;

}

.login-options{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:24px;

}

.remember-me{

    display:flex;

    align-items:center;

    gap:8px;

    font-size:14px;

    color:#475569;

}

.remember-me input{

    accent-color:#2563EB;

}

.forgot-link{

    text-decoration:none;

    color:#2563EB;

    font-weight:600;

}

.login-btn{

    width:100%;

    height:58px;

    border:none;

    border-radius:18px;

    background:linear-gradient(135deg,#2563EB,#1D4ED8);

    color:#fff;

    font-size:17px;

    font-weight:700;

    transition:.25s;

    box-shadow:0 12px 30px rgba(37,99,235,.28);

}

.login-btn:hover{

    transform:translateY(-2px);

    box-shadow:0 18px 40px rgba(37,99,235,.35);

}

.divider{

    text-align:center;

    margin:26px 0;

    color:#94A3B8;

    position:relative;

}

.divider::before,

.divider::after{

    content:"";

    position:absolute;

    top:50%;

    width:42%;

    height:1px;

    background:#E2E8F0;

}

.divider::before{

    left:0;

}

.divider::after{

    right:0;

}

.register-btn{

    display:flex;

    justify-content:center;

    align-items:center;

    width:100%;

    height:56px;

    border-radius:18px;

    background:#F8FAFC;

    border:1px solid #E2E8F0;

    text-decoration:none;

    color:#0F172A;

    font-weight:700;

    transition:.25s;

}

.register-btn:hover{

    background:#EEF4FF;

    border-color:#2563EB;

    color:#2563EB;

}

@media(max-width:768px){

    .login-card{

        padding:28px;

    }

}