/* ==========================================================
   SBPanel Login Theme
   ========================================================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{

    font-family:
    "Segoe UI",
    Arial,
    sans-serif;

    background:#eef1fb;

    overflow:hidden;

}

/* ==========================================================
   Background
   ========================================================== */

.login-page{

    position:relative;

    width:100%;

    height:100vh;

    display:flex;

    justify-content:center;

    align-items:center;

    overflow:hidden;

}

.login-background{

    position:absolute;

    inset:0;

    background:radial-gradient(circle at top left, #10062b 0, #05040e 35%, #2d1d6f 100%);

}

/* Left Decoration */

.login-background::before{

    content:"";

    position:absolute;

    width:450px;

    height:450px;

    left:-180px;

    bottom:-160px;

    border-radius:50%;

    background:
    rgba(147,90,255,.12);

    filter:blur(5px);

}

/* Right Decoration */

.login-background::after{

    content:"";

    position:absolute;

    width:500px;

    height:500px;

    right:-220px;

    top:120px;

    border-radius:50%;

    background:
    rgba(155,92,255,.08);

}

/* ==========================================================
   Login Card
   ========================================================== */

.login-card{

    position:relative;

    z-index:2;

    width:430px;

    background:#fff;

    border-radius:10px;

    padding:35px;

    box-shadow:

    0 25px 60px rgba(0,0,0,.10);

}

/* ==========================================================
   Logo
   ========================================================== */

.login-logo{

    text-align:center;

    font-size:55px;

    font-weight:700;

    color:#47003d;

    letter-spacing:-2px;

}
.login-logo img{

width:200px;

height:auto;

}

.login-tagline{

    text-align:center;

    color:#6c7280;

    font-size:15px;

    margin-top:12px;

}

/* ==========================================================
   Divider
   ========================================================== */

.login-divider{

    margin:5px 0;

    display:flex;

    align-items:center;

    justify-content:center;

    gap:20px;

}

.login-divider::before,

.login-divider::after{

    content:"";

    flex:1;

    height:1px;

    background:#e6e8ee;

}

.login-divider span{

    color:#9d4edd;

    font-size:30px;

}

/* ==========================================================
   Heading
   ========================================================== */

.login-card h2{

    text-align:center;

    font-size:25px;

    color:#1f2937;

    margin-bottom:20px;

}

/* ==========================================================
   Error
   ========================================================== */

.login-alert{

    display:flex;

    align-items:center;

    gap:10px;

    background:#ffe5e5;

    color:#c62828;

    border-left:5px solid #d32f2f;

    padding:15px;

    border-radius:10px;

    margin-bottom:25px;

}
/* ==========================================================
   Form
   ========================================================== */

.login-form{

    display:flex;

    flex-direction:column;

    gap:24px;

}

.input-group{

    display:flex;

    flex-direction:column;

}

.input-group label{

    font-size:14px;

    font-weight:600;

    color:#444;

    margin-bottom:8px;

}

.input-box{

    position:relative;

}

.input-box i:first-child{

    position:absolute;

    left:18px;

    top:50%;

    transform:translateY(-50%);

    color:#8b8f9a;

    font-size:18px;

}

.input-box input{

    width:100%;

    height:52px;

    border:1px solid #d8dce7;

    border-radius:5px;

    padding-left:52px;

    padding-right:50px;

    font-size:15px;

    background:#fafbff;

    transition:.25s;

}

.input-box input:focus{

    outline:none;

    border-color:#8b5cf6;

    background:#fff;

    box-shadow:0 0 0 4px rgba(139,92,246,.12);

}

.input-box input::placeholder{

    color:#b2b6c1;

}

/* ==========================================================
   Password Toggle
   ========================================================== */

.toggle-password{

    position:absolute;

    right:15px;

    top:50%;

    transform:translateY(-50%);

    width:34px;

    height:34px;

    border:none;

    background:none;

    cursor:pointer;

    color:#8b8f9a;

    font-size:18px;

    transition:.2s;

}

.toggle-password:hover{

    color:#7c3aed;

}

/* ==========================================================
   Remember + Forgot
   ========================================================== */

.login-options{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-top:-8px;

    margin-bottom:10px;

}

.login-options label{

    display:flex;

    align-items:center;

    gap:8px;

    color:#666;

    font-size:14px;

}

.login-options input{

    width:16px;

    height:16px;

}

.login-options a{

    text-decoration:none;

    color:#7c3aed;

    font-size:14px;

}

.login-options a:hover{

    text-decoration:underline;

}

/* ==========================================================
   Button
   ========================================================== */

.login-btn{

    height:52px;

    border:none;

    border-radius:14px;

    background:linear-gradient(135deg,#7c3aed,#9d4edd);

    color:#fff;

    font-size:17px;

    font-weight:600;

    cursor:pointer;

    transition:.25s;

    box-shadow:0 12px 28px rgba(124,58,237,.25);

}

.login-btn:hover{

    transform:translateY(-2px);

    box-shadow:0 18px 35px rgba(124,58,237,.35);

}

.login-btn:active{

    transform:scale(.98);

}

/* ==========================================================
   Footer
   ========================================================== */

.login-footer{

    margin-top:20px;

    text-align:center;

    color:#999;

    font-size:13px;

    line-height:24px;

}

/* ==========================================================
   Responsive
   ========================================================== */

@media(max-width:700px){

.login-card{

    width:95%;

    padding:35px 25px;

    border-radius:18px;

}

.login-logo{

    font-size:52px;

}

.login-card h2{

    font-size:32px;

}

.login-divider span{

    font-size:22px;

}

}

@media(max-width:420px){

.login-options{

    flex-direction:column;

    gap:12px;

    align-items:flex-start;

}

.login-logo{

    font-size:42px;

}

.login-card{

    padding:28px 20px;

}

}
