:root{
    --primary-blue:#0a43ae;
    --primary-blue-dark:#08358d;
    --dark-blue:#081f4f;
    --soft-bg:#eef2f8;
}



.login-wrapper{
    min-height:100vh;
    display:flex;
    flex-direction:column;
}

/* ==========================================
   MAIN ROW
========================================== */

.main-row{
    flex:1;
}

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

.brand-panel{
    position:relative;
    background:#f5f7fb;
    overflow:hidden;
}

/* Building Background */

.brand-bg{
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            rgba(255,255,255,.85),
            rgba(255,255,255,.85)
        ),
        url('../images/background.png');
    background-size:cover;
    background-position:center bottom;
    z-index:1;
}

/* Content */

.brand-content{
    position:relative;
    z-index:5;
    text-align:center;
    padding-top:30px;
}

.brand-logo{
    width:100%;
    height:auto;
/*    margin-bottom:20px;*/
}

.brand-title{
    font-size:48px;
    line-height:1.15;
    font-weight:800;
    color:var(--dark-blue);
    margin-bottom:15px;
}

.brand-divider{
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:20px;
}

.divider-line{
    width:100px;
    height:2px;
    background:#2b8d68;
}

.brand-sub{
    margin:0 20px;
    font-size:1.4rem;
    font-weight:700;
    letter-spacing:2px;
    color:#16305d;
}

.brand-tagline{
    color:#5d6674;
    font-size:1.35rem;
    margin-bottom:6px;
}

/* Gavel + Books */

.law-objects{
    position:absolute;
    bottom:0px;
   /* left:30%;
    transform:translateX(-50%);*/
    z-index:999;
}

.law-objects img{
    width:100%;
}

/* Blue Divider */

/*.brand-slash{
    position:absolute;
    top:-5%;
    right:-20px;
    width:6px;
    height:110%;
    background:#0d47c5;
    transform:rotate(12deg);
    transform-origin:center;
    z-index:20;
    box-shadow:-8px 0 0 #08358d;
}*/
.divider-line-main{
    position:absolute;
    top:-50px;
    right:-8px;
    width:7px;
    height:120%;
    background:#0d47c5;
    transform:rotate(12deg);
    transform-origin:top center;
    z-index:30;
}

.divider-line-shadow{
    position:absolute;
    top:-50px;
    right:-14px;
    width:2px;
    height:120%;
    background:#06296f;
    transform:rotate(12deg);
    transform-origin:top center;
    z-index:29;
}
/* ==========================================
   RIGHT PANEL
========================================== */

.form-panel{
    background:#eef2f8;
}

.login-card{
    width:540px;
    max-width:100%;
    border:none;
    border-radius:16px;
    box-shadow:0 10px 40px rgba(0,0,0,.08);
}

.card-body{
    padding:55px;
}

.avatar-circle{
    width:82px;
    height:82px;
    border-radius:50%;
    background:#dce8ff;
    color:#0a43ae;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:auto;
    font-size:2.2rem;
}

.login-title{
    font-size:2.2rem;
    font-weight:700;
    color:var(--dark-blue);
}

.form-label{
    font-weight:600;
    color:#1f2b43;
}

/* Inputs */

.input-group-custom{
    height:58px;
    border:1px solid #d4dce8;
    border-radius:10px;
    overflow:hidden;
}

.input-group-custom .input-group-text{
    background:#fff;
    border:none;
}

.input-group-custom .form-control{
    border:none;
    box-shadow:none !important;
}

.input-group-custom:focus-within{
    border-color:#0a43ae;
}

/* Login */

.btn-primary-custom{
    background:#0a43ae;
    border:none;
    color:#fff;
    height:56px;
    border-radius:10px;
    font-size:1.05rem;
    font-weight:600;
}

.btn-primary-custom:hover{
    background:#08358d;
    color:#fff;
}

/* OTP */

.btn-outline-primary-custom{
    height:56px;
    border-radius:10px;
    border:1.5px solid #0a43ae;
    color:#0a43ae;
    background:#fff;
    font-weight:600;
}

.btn-outline-primary-custom:hover{
    background:#0a43ae;
    color:#fff;
}

.divider-or{
    display:flex;
    align-items:center;
    color:#6c757d;
    font-size:.9rem;
}

.divider-or::before,
.divider-or::after{
    content:"";
    flex:1;
    height:1px;
    background:#d7dce5;
}

.divider-or span{
    padding:0 15px;
}

.alert-info-custom{
    background:#edf4ff;
    border:none;
    border-radius:10px;
    color:#33507d;
}

/* ==========================================
   FOOTER
========================================== */

.site-footer{
    background:linear-gradient(
        90deg,
        #07142f,
        #051d4e,
        #08276d
    );
    color:#fff;
    padding:16px 35px;
}

.site-footer a{
    color:#fff;
    text-decoration:none;
}

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

@media(max-width:991px){

    .brand-title{
        font-size:2rem;
    }

    .brand-tagline{
        font-size:1rem;
    }

    .brand-logo{
        width:90%;
    }

    .law-objects{
        display:none;
    }



    .card-body{
        padding:30px;
    }
}
/**************** Registration page css *****************/
        body{
    background:#f3f5f9;
    font-family:'Segoe UI',sans-serif;
}

.topbar-area{
    background:linear-gradient(90deg,#03214d,#083d8b);
    color:#fff;
    padding:18px 30px;
}

.brand-box{
    display:flex;
    align-items:center;
    gap:15px;
}

.brand-icon{
    width:100%;
}

.brand-heading{
    font-size:30px;
    font-weight:700;
    margin:0;
}

.brand-location{
    color:#ffc83d;
    font-weight:700;
}

.security-info{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
}

.security-info i{
    font-size:28px;
    color:#6be88f;
}

.support-box{
    text-align:right;
}

.registration-section{
    padding:25px;
}

.info-card{
    background:linear-gradient(180deg,#0d47a1,#062d72);
    color:#fff;
    border-radius:20px;
    padding:30px;
    height:100%;
}

.candidate-icon{
    width:40px;
    height:40px;
    border-radius:50%;
    border:2px solid rgba(255,255,255,.3);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:20px;
    margin-bottom:10px;
}

.title-line{
    width:60px;
    height:4px;
    background:#fbc02d;
    margin:15px 0 20px;
}

.feature-list{
    margin-top:30px;
}

.feature-item{
    display:flex;
    gap:15px;
    margin-bottom:25px;
}

.feature-item i{
    font-size:25px;
}

.help-widget{
    border:1px solid rgba(255,255,255,.2);
    border-radius:15px;
    padding:10px;
    text-align:center;
}

.form-shell{
    background:#fff;
    border-radius:20px;
    padding:35px;
    box-shadow:0 2px 15px rgba(0,0,0,.08);
}

.section-title{
    display:flex;
    align-items:center;
    gap:15px;
    margin-bottom:30px;
    padding-bottom:20px;
    border-bottom:1px solid #e8e8e8;
}

.section-icon{
    width:70px;
    height:70px;
    border-radius:50%;
    background:#eef5ff;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#0d47a1;
    font-size:28px;
}

.field-box{
    height:55px;
    border-radius:12px;
}

.notice-strip{
    background:#eef6ff;
    border:1px solid #cfe4ff;
    color:#0b56c5;
    padding:16px;
    border-radius:10px;
}

.action-area{
    display:flex;
    justify-content:space-between;
    margin-top:30px;
}

.reset-btn{
    padding:12px 25px;
}

.proceed-btn{
    background:#0d47a1;
    color:#fff;
    padding:12px 30px;
    border-radius:10px;
}
.back_img{
    width: 40px;
}