/*
|--------------------------------------------------------------------------
| DNA Business Suite V2
|--------------------------------------------------------------------------
| AUTH
|--------------------------------------------------------------------------
| Forgot Password
| Verify OTP
| Reset Password
|--------------------------------------------------------------------------
| PART 1
| Root
| Reset
| Wrapper
| Layout
|--------------------------------------------------------------------------
*/

:root{

    --auth-bg:#f8fafc;

    --auth-card:#ffffff;

    --auth-primary:#2563eb;

    --auth-primary-hover:#1d4ed8;

    --auth-text:#0f172a;

    --auth-muted:#64748b;

    --auth-border:#e2e8f0;

    --auth-radius:20px;

    --auth-shadow:
        0 18px 48px rgba(15,23,42,.08);

}

*{

    margin:0;

    padding:0;

    box-sizing:border-box;

}

html,
body{

    width:100%;

    min-height:100%;

}

body{

    font-family:Inter,sans-serif;

    background:var(--auth-bg);

    color:var(--auth-text);

}

/* ==========================================================
   WRAPPER
========================================================== */

.auth-wrapper{

    min-height:100vh;

    display:flex;

    align-items:center;

    justify-content:center;

    padding:48px 24px;

}

/* ==========================================================
   CONTAINER
========================================================== */

.auth-container{

    width:100%;

    max-width:1120px;

    display:flex;

    background:var(--auth-card);

    border-radius:var(--auth-radius);

    overflow:hidden;

    box-shadow:var(--auth-shadow);

}

/* ==========================================================
   LEFT
========================================================== */

.auth-left{

    width:46%;

    background:
        linear-gradient(
            135deg,
            #2563eb,
            #3b82f6
        );

    color:#ffffff;

    display:flex;

    align-items:center;

    justify-content:center;

    padding:60px;

}

.auth-brand{

    width:100%;

    max-width:360px;

}

.auth-logo{

    width:72px;

    height:72px;

    border-radius:20px;

    background:rgba(255,255,255,.15);

    backdrop-filter:blur(8px);

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:28px;

    font-weight:700;

    margin-bottom:28px;

}

.auth-brand h1{

    font-size:34px;

    font-weight:800;

    line-height:1.25;

    margin-bottom:18px;

}

.auth-brand p{

    font-size:16px;

    line-height:1.8;

    color:rgba(255,255,255,.90);

}
/* ==========================================================
   RIGHT
========================================================== */

.auth-right{

    width:54%;

    display:flex;

    align-items:center;

    justify-content:center;

    padding:60px;

    background:#ffffff;

}

/* ==========================================================
   CARD
========================================================== */

.auth-card{

    width:100%;

    max-width:460px;

}

.auth-title{

    font-size:30px;

    font-weight:800;

    color:var(--auth-text);

    margin-bottom:12px;

}

.auth-subtitle{

    font-size:15px;

    line-height:1.7;

    color:var(--auth-muted);

    margin-bottom:34px;

}

/* ==========================================================
   FORM
========================================================== */

.auth-form{

    width:100%;

}

.auth-group{

    margin-bottom:22px;

}

.auth-label{

    display:block;

    margin-bottom:8px;

    font-size:14px;

    font-weight:600;

    color:var(--auth-text);

}

.auth-input{

    width:100%;

    height:52px;

    border:1px solid var(--auth-border);

    border-radius:14px;

    background:#ffffff;

    padding:0 16px;

    outline:none;

    font-size:15px;

    transition:.20s;

}

.auth-input:focus{

    border-color:var(--auth-primary);

    box-shadow:

        0 0 0 4px rgba(37,99,235,.10);

}

.auth-input::placeholder{

    color:#94a3b8;

}

/* ==========================================================
   BUTTON
========================================================== */

.auth-button{

    width:100%;

    height:52px;

    border:none;

    border-radius:14px;

    background:var(--auth-primary);

    color:#ffffff;

    font-size:15px;

    font-weight:700;

    cursor:pointer;

    transition:.20s;

}

.auth-button:hover{

    background:var(--auth-primary-hover);

}

.auth-button:disabled{

    opacity:.7;

    cursor:not-allowed;

}

/* ==========================================================
   FOOTER
========================================================== */

.auth-footer{

    margin-top:24px;

    text-align:center;

}

.auth-footer a{

    color:var(--auth-primary);

    text-decoration:none;

    font-weight:600;

    transition:.20s;

}

.auth-footer a:hover{

    text-decoration:underline;

}
/* ==========================================================
   OTP
========================================================== */

.auth-otp{

    display:grid;

    grid-template-columns:repeat(6,1fr);

    gap:12px;

    margin-bottom:28px;

}

.auth-otp input{

    width:100%;

    height:58px;

    border:1px solid var(--auth-border);

    border-radius:14px;

    background:#ffffff;

    text-align:center;

    font-size:22px;

    font-weight:700;

    outline:none;

    transition:.20s;

}

.auth-otp input:focus{

    border-color:var(--auth-primary);

    box-shadow:

        0 0 0 4px rgba(37,99,235,.10);

}

/* ==========================================================
   INFO BOX
========================================================== */

.auth-info{

    display:flex;

    align-items:flex-start;

    gap:12px;

    padding:16px 18px;

    margin-bottom:24px;

    border-radius:14px;

    background:#eff6ff;

    border:1px solid #bfdbfe;

}

.auth-info i{

    font-size:18px;

    color:#2563eb;

    margin-top:2px;

}

.auth-info p{

    margin:0;

    font-size:14px;

    line-height:1.7;

    color:#334155;

}

/* ==========================================================
   DIVIDER
========================================================== */

.auth-divider{

    position:relative;

    margin:26px 0;

    text-align:center;

}

.auth-divider::before{

    content:"";

    position:absolute;

    left:0;

    right:0;

    top:50%;

    height:1px;

    background:var(--auth-border);

}

.auth-divider span{

    position:relative;

    padding:0 14px;

    background:#ffffff;

    color:var(--auth-muted);

    font-size:13px;

}

/* ==========================================================
   RESPONSIVE
========================================================== */

@media (max-width:992px){

    .auth-wrapper{

        padding:32px 20px;

    }

    .auth-container{

        flex-direction:column;

        max-width:640px;

    }

    .auth-left{

        width:100%;

        padding:42px 34px;

        text-align:center;

    }

    .auth-brand{

        max-width:100%;

    }

    .auth-logo{

        margin:0 auto 22px;

    }

    .auth-right{

        width:100%;

        padding:42px 34px;

    }

}

@media (max-width:768px){

    .auth-wrapper{

        padding:18px;

    }

    .auth-container{

        border-radius:18px;

    }

    .auth-left{

        padding:34px 24px;

    }

    .auth-brand h1{

        font-size:28px;

    }

    .auth-brand p{

        font-size:15px;

    }

    .auth-right{

        padding:28px 22px;

    }

    .auth-title{

        font-size:26px;

    }

    .auth-subtitle{

        margin-bottom:26px;

    }

    .auth-input{

        height:50px;

    }

    .auth-button{

        height:50px;

    }

    .auth-otp{

        gap:8px;

    }

    .auth-otp input{

        height:52px;

        font-size:20px;

    }

}

@media (max-width:480px){

    .auth-wrapper{

        padding:12px;

    }

    .auth-left{

        padding:28px 20px;

    }

    .auth-right{

        padding:24px 18px;

    }

    .auth-title{

        font-size:24px;

    }

    .auth-brand h1{

        font-size:24px;

    }

    .auth-brand p{

        font-size:14px;

        line-height:1.7;

    }

    .auth-otp{

        gap:6px;

    }

    .auth-otp input{

        height:48px;

        font-size:18px;

    }

    .auth-footer{

        font-size:14px;

    }

}