/* ===================================================== */
/* CBT LOGIN SECTION */
/* ===================================================== */

#cbt-login-section{
    position:relative;
    width:100%;
    padding:40px 4%;
    overflow:hidden;

    background:
        linear-gradient(
            180deg,
            #faf9ff 0%,
            #ffffff 100%
        );
}


/* ===================================================== */
/* GLOWS */
/* ===================================================== */

.cbt-login-glow{
    position:absolute;
    border-radius:50%;
    filter:blur(100px);
    opacity:0.12;
    pointer-events:none;
}

.cbt-login-glow-left{
    width:240px;
    height:240px;
    background:#2152a3;
    top:-90px;
    left:-90px;
}

.cbt-login-glow-right{
    width:220px;
    height:220px;
    background:#2152a3;
    right:-80px;
    bottom:-80px;
}


/* ===================================================== */
/* WRAPPER */
/* ===================================================== */

.cbt-login-wrapper{
    position:relative;
    z-index:2;

    max-width:1200px;
    margin:auto;

    display:grid;
    grid-template-columns:1fr 400px;
    gap:24px;
}


/* ===================================================== */
/* INFORMATION PANEL */
/* ===================================================== */

.cbt-school-panel{
    padding:32px;

    border-radius:24px;

    background:
        linear-gradient(
            135deg,
            #312e81,
			#2152a3
            /* #4f46e5 */
        );

    color:#ffffff;

    overflow:hidden;

    box-shadow:
        0 18px 45px rgba(79,70,229,0.15);

    position:relative;
}

.cbt-school-panel::before{
    content:"";

    position:absolute;
    top:-120px;
    right:-120px;

    width:250px;
    height:250px;

    border-radius:50%;

    background:
        radial-gradient(
            rgba(255,255,255,0.12),
            transparent
        );
}


/* ===================================================== */
/* LOGO BLOCK */
/* ===================================================== */

.cbt-school-logo-block{
    display:flex;
    gap:20px;
    align-items:flex-start;
    margin-bottom:28px;
}

.cbt-school-logo-wrap{
    width:85px;
    height:85px;

    background:#ffffff;

    border-radius:20px;

    display:flex;
    align-items:center;
    justify-content:center;

    padding:10px;
}

.cbt-school-logo{
    width:100%;
    height:100%;
    object-fit:contain;
}

.cbt-access-badge{
    display:inline-flex;
    align-items:center;
    gap:8px;

    padding:8px 15px;

    border-radius:100px;

    background:rgba(255,255,255,0.12);

    font-size:0.8rem;
    font-weight:600;

    margin-bottom:15px;
}

.cbt-school-title h1{
    font-size:1.9rem;
    line-height:1.2;
    margin-bottom:12px;
}

.cbt-school-name{
    color:#ddd6fe;
}

.cbt-school-subtitle{
    color:rgba(255,255,255,0.85);
    line-height:1.7;
}


/* ===================================================== */
/* FEATURES */
/* ===================================================== */

.cbt-feature-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:14px;

    margin-bottom:28px;
}

.cbt-feature-card{
    padding:16px;

    border-radius:16px;

    background:rgba(255,255,255,0.08);

    border:1px solid rgba(255,255,255,0.08);

    display:flex;
    gap:12px;
    align-items:center;
}

.cbt-feature-card i{
    font-size:1rem;
    color:#c4b5fd;
}


/* ===================================================== */
/* NOTICE */
/* ===================================================== */

.cbt-school-notice{
    padding:20px;

    border-radius:18px;

    background:rgba(255,255,255,0.08);

    border:1px solid rgba(255,255,255,0.10);
}

.cbt-school-notice-header{
    display:flex;
    align-items:center;
    gap:10px;

    margin-bottom:12px;

    color:#ddd6fe;
    font-weight:700;
}

.cbt-school-notice ul{
    margin:0;
    padding-left:18px;
}

.cbt-school-notice li{
    margin-bottom:10px;
    line-height:1.6;
    color:rgba(255,255,255,0.88);
}


/* ===================================================== */
/* LOGIN PANEL */
/* ===================================================== */

#cbt-login-form{
    background:#ffffff;

    border-radius:24px;

    padding:30px;

    border:1px solid #e5e7eb;

    box-shadow:
        0 15px 40px rgba(15,23,42,0.05);
}

#cbt-feedback{
    display:none;

    background:#ef4444;
    color:#ffffff;

    padding:12px 15px;

    border-radius:12px;

    margin-bottom:18px;
}


/* ===================================================== */
/* HEADER */
/* ===================================================== */

.cbt-form-header{
    margin-bottom:24px;
}

.cbt-form-badge{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:8px 14px;
    border-radius:100px;
    background:#ede9fe;
    color:#2152a3;
    font-size:0.8rem;
    font-weight:700;
    margin-bottom:15px;
}

.cbt-form-header h2{
    font-size:1.5rem;
    margin-bottom:8px;
    color:#111827;
}

.cbt-form-header p{
    color:#6b7280;
    line-height:1.6;
}


/* ===================================================== */
/* INPUTS */
/* ===================================================== */

.cbt-input-group{
    margin-bottom:18px;
}

.cbt-input-group label{
    display:block;
    margin-bottom:8px;

    font-size:0.85rem;
    font-weight:600;

    color:#374151;
}

.cbt-input-wrap{
    position:relative;
}

.cbt-input-wrap i{
    position:absolute;
    left:14px;
    top:50%;
    transform:translateY(-50%);

    color:#6b7280;
}

.cbt-input{
    width:100%;
    height:50px;

    padding:0 14px 0 42px;

    border-radius:12px;

    border:1px solid #d1d5db;

    font-size:0.92rem;
}

.cbt-input:focus{
    outline:none;

    border-color:#7c3aed;

    box-shadow:
        0 0 0 4px rgba(124,58,237,0.10);
}


/* ===================================================== */
/* CAPTCHA */
/* ===================================================== */

.cbt-captcha-box{
    display:flex;
    align-items:center;
    gap:10px;

    margin-bottom:12px;
}

#captchaCanvas{
    border:1px solid #e5e7eb;
    border-radius:12px;
    background:#f8fafc;
}

.cbt-reload-btn{
    width:48px;
    height:48px;

    border:none;

    border-radius:12px;

    background:#ede9fe;

    color:#2152a3;

    cursor:pointer;
}


/* ===================================================== */
/* BUTTON */
/* ===================================================== */

.cbt-login-btn{
    width:100%;
    height:52px;

    border:none;

    border-radius:14px;

    cursor:pointer;

    color:#ffffff;

    font-weight:700;

    background:
        linear-gradient(
            10deg,
            #7c3aed,
			#2152a3
            /* #4f46e5 */
        );
}

.cbt-login-btn:hover{
    transform:translateY(-2px);
}


/* ===================================================== */
/* NOTE */
/* ===================================================== */

.cbt-security-note{
    margin-top:16px;

    display:flex;
    justify-content:center;
    align-items:center;
    gap:8px;

    color:#6b7280;

    font-size:0.84rem;
}


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

@media (max-width:1100px){

    .cbt-login-wrapper{
        grid-template-columns:1fr;
    }
}

@media (max-width:768px){

    #cbt-login-section{
        padding:30px 4%;
    }

    .cbt-school-logo-block{
        flex-direction:column;
    }

    .cbt-feature-grid{
        grid-template-columns:1fr;
    }

    #cbt-login-form{
        padding:24px;
    }
}