/* Participant template pack */
.candy-template-kemdikdasmen{--km-blue:#1f4db8;--km-cyan:#20a9dc;--km-bg:#eef2f7;--km-line:#d8dee8;background:var(--km-bg)!important}.candy-template-kemdikdasmen .candy-student-topbar{background:linear-gradient(100deg,#17439e,#285dc8)!important;border:0!important}.candy-template-kemdikdasmen .candy-student-brand-title,.candy-template-kemdikdasmen .candy-student-brand-sub,.candy-template-kemdikdasmen .candy-student-user-name,.candy-template-kemdikdasmen .candy-student-user-role{color:#fff!important}.candy-template-kemdikdasmen .candy-student-brand img{background:#fff;border-radius:50%;padding:6px}.candy-template-kemdikdasmen.candy-exam-focus .candy-student-footer,.candy-template-kemdikdasmen.candy-exam-focus .candy-mobile-navigation{display:none!important}.candy-template-kemdikdasmen .candy-exam-workspace{max-width:980px;margin:auto}.candy-template-kemdikdasmen .candy-exam-top{border:1px solid var(--km-line)!important;border-radius:8px 8px 0 0!important;background:#fff!important;box-shadow:none!important}.candy-template-kemdikdasmen .candy-exam-top-icon{display:none!important}.candy-template-kemdikdasmen .candy-exam-head-tools{display:flex;gap:8px;align-items:center}.candy-template-kemdikdasmen .candy-timer{min-width:160px;height:42px;border:1px solid #cbd3df!important;border-radius:6px!important;background:#fff!important;color:#4b5563!important;box-shadow:none!important}.candy-template-kemdikdasmen .candy-timer-label{display:inline!important;font-size:10px;color:#6b7280}.candy-template-kemdikdasmen .candy-head-question-list{display:inline-flex!important;background:#28a9d8!important;color:#fff!important;border:0!important;border-radius:6px!important}.candy-template-kemdikdasmen .candy-question-panel{margin-top:0!important;border:1px solid var(--km-line)!important;border-top:0!important;border-radius:0 0 8px 8px!important;background:#fff!important;box-shadow:none!important;padding:24px 34px!important}.candy-template-kemdikdasmen .candy-question-content{font-family:Arial,sans-serif!important;line-height:1.65!important}.candy-template-kemdikdasmen .candy-question-nav{border-top:1px solid #d9dee7!important;margin-top:22px!important;padding-top:16px!important;display:grid!important;grid-template-columns:1fr auto 1fr!important}.candy-template-kemdikdasmen #btn-prev{justify-self:start;background:#cf4c47!important;color:#fff!important;border-color:#cf4c47!important;border-radius:5px!important}.candy-template-kemdikdasmen #btn-next{justify-self:end;background:#20a9dc!important;color:#fff!important;border-color:#20a9dc!important;border-radius:5px!important}.candy-template-kemdikdasmen #btnRagu{grid-column:2;grid-row:1;background:#d6a900!important;color:#fff!important;border-color:#d6a900!important;border-radius:5px!important}.candy-template-kemdikdasmen #btnRagu.is-active{background:#b88700!important}.candy-template-kemdikdasmen .candy-mobile-question-list{display:none!important}.candy-template-kemdikdasmen .candy-question-map-item.is-doubt{background:#f4c542!important;border-color:#d2a91b!important;color:#5d4700!important}@media(max-width:767.98px){.candy-template-kemdikdasmen .candy-question-panel{padding:15px!important}.candy-template-kemdikdasmen .candy-exam-head-tools{width:100%;display:grid;grid-template-columns:1fr auto}.candy-template-kemdikdasmen .candy-timer{min-width:0}.candy-template-kemdikdasmen .candy-question-nav{grid-template-columns:1fr 1fr!important;gap:8px}.candy-template-kemdikdasmen #btnRagu{grid-column:1/-1;grid-row:auto}.candy-template-kemdikdasmen #btn-prev,.candy-template-kemdikdasmen #btn-next,.candy-template-kemdikdasmen #btnRagu{width:100%;justify-content:center}}
body.candy-kemdik-login{--primary:#1f4db8!important;--violet:#2866d6!important;background:#eef2f7!important}body.candy-kemdik-login .page{display:block!important;position:relative!important;min-height:100dvh!important;background:linear-gradient(180deg,#1d4cac 0 33%,#eef2f7 33% 100%)!important}body.candy-kemdik-login .visual{height:32vh;min-height:220px;padding:28px;background:transparent!important}body.candy-kemdik-login .visual:before,body.candy-kemdik-login .visual:after{display:none}body.candy-kemdik-login .visual-inner{display:flex;align-items:center;justify-content:center;gap:14px}body.candy-kemdik-login .visual-logo{width:58px;height:58px;margin:0;padding:7px;border-radius:50%;box-shadow:none}body.candy-kemdik-login .visual h1{font-size:24px;color:#fff;margin:0;text-transform:uppercase}body.candy-kemdik-login .visual p{color:#dbe8ff!important;font-size:12px}body.candy-kemdik-login .mini-badge{display:none}body.candy-kemdik-login .form-side{position:absolute!important;left:50%;top:27vh;transform:translateX(-50%);width:min(390px,calc(100% - 28px));min-height:auto!important;padding:0!important;background:transparent!important;overflow:visible!important}body.candy-kemdik-login .login-card{max-width:none}body.candy-kemdik-login .mobile-brand{display:none!important}body.candy-kemdik-login .login-surface{background:#fff;border:1px solid #d8dee8;border-radius:18px;padding:28px;box-shadow:0 18px 50px rgba(20,44,90,.16)}body.candy-kemdik-login .head{text-align:center}body.candy-kemdik-login .head .tag{display:none}body.candy-kemdik-login .head h2{font-size:22px}body.candy-kemdik-login .form-control,body.candy-kemdik-login .btn-login{border-radius:5px!important}body.candy-kemdik-login .btn-login{background:#244fac!important;box-shadow:none!important}@media(max-width:600px){body.candy-kemdik-login .visual{height:28vh;min-height:190px}body.candy-kemdik-login .visual-inner{flex-direction:column}body.candy-kemdik-login .form-side{top:23vh}body.candy-kemdik-login .login-surface{padding:22px}}

/* ===== v6.0.61 participant polish ===== */

/* Brand copy: application name with school directly below, aligned beside logo */
.candy-student-brand{
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
}
.candy-student-brand-copy{
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    gap:1px!important;
    min-width:0!important;
}
.candy-student-brand-title{
    line-height:1.08!important;
}
.candy-student-brand-sub{
    display:block!important;
    line-height:1.15!important;
    margin:0!important;
}

/* Dashboard statistics: icon + number side-by-side in a minimal card */
.candy-stat-grid-compact .candy-stat{
    min-height:76px!important;
    padding:12px 14px!important;
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
    position:relative!important;
}
.candy-stat-grid-compact .candy-stat-icon{
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    margin:0!important;
    flex:0 0 40px!important;
}
.candy-stat-grid-compact .candy-stat-copy{
    min-width:0!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
}
.candy-stat-grid-compact .candy-stat-value{
    font-size:22px!important;
    line-height:1!important;
    margin:0 0 4px!important;
}
.candy-stat-grid-compact .candy-stat-label{
    font-size:9.5px!important;
    line-height:1.15!important;
    margin:0!important;
}
@media(max-width:767.98px){
    .candy-stat-grid-compact{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:8px!important;
    }
    .candy-stat-grid-compact .candy-stat{
        min-height:66px!important;
        padding:10px 11px!important;
        gap:9px!important;
    }
    .candy-stat-grid-compact .candy-stat-icon{
        width:34px!important;
        height:34px!important;
        min-width:34px!important;
        flex-basis:34px!important;
    }
    .candy-stat-grid-compact .candy-stat-value{font-size:18px!important}
    .candy-stat-grid-compact .candy-stat-label{font-size:8.5px!important}
}

/* Kemdikdasmen header: keep participant identity readable */
.candy-template-kemdikdasmen .candy-student-user{
    background:rgba(255,255,255,.13)!important;
    border:1px solid rgba(255,255,255,.22)!important;
    color:#fff!important;
    min-width:150px!important;
}
.candy-template-kemdikdasmen .candy-student-user-copy{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    min-width:0!important;
}
.candy-template-kemdikdasmen .candy-student-user-name{
    display:block!important;
    color:#fff!important;
    font-weight:800!important;
    opacity:1!important;
    max-width:145px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
}
.candy-template-kemdikdasmen .candy-student-user-role{
    display:block!important;
    color:rgba(255,255,255,.78)!important;
    opacity:1!important;
}
.candy-template-kemdikdasmen .candy-student-avatar{
    background:#fff!important;
    color:#3157bf!important;
}

/* Exam mode gets the same blue visual identity as the login page */
.candy-template-kemdikdasmen.candy-exam-focus{
    background:
        linear-gradient(180deg,#234faa 0,#2e61c7 250px,#eef2f7 250px,#eef2f7 100%)!important;
    min-height:100dvh!important;
}
.candy-template-kemdikdasmen.candy-exam-focus .candy-student-shell{
    background:transparent!important;
    min-height:100dvh!important;
}
.candy-template-kemdikdasmen.candy-exam-focus .candy-focus-main{
    position:relative!important;
    z-index:2!important;
    padding-top:34px!important;
}
.candy-template-kemdikdasmen.candy-exam-focus .candy-exam-workspace{
    position:relative!important;
    z-index:3!important;
}
.candy-template-kemdikdasmen.candy-exam-focus .candy-exam-top{
    box-shadow:0 10px 34px rgba(18,43,93,.12)!important;
}
.candy-template-kemdikdasmen.candy-exam-focus .candy-question-panel{
    box-shadow:0 18px 42px rgba(18,43,93,.10)!important;
}

/* Login branding: school under application name, both aligned next to the logo */
body.candy-kemdik-login .visual-inner{
    flex-direction:row!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:left!important;
}
body.candy-kemdik-login .kemdik-login-brand-copy{
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:flex-start!important;
    gap:3px!important;
}
body.candy-kemdik-login .kemdik-login-brand-copy h1{
    margin:0!important;
    line-height:1.05!important;
}
body.candy-kemdik-login .kemdik-login-brand-copy p{
    margin:0!important;
    line-height:1.2!important;
}
@media(max-width:600px){
    body.candy-kemdik-login .visual-inner{
        flex-direction:row!important;
        gap:10px!important;
    }
    body.candy-kemdik-login .kemdik-login-brand-copy{
        align-items:flex-start!important;
    }
}


/* =========================================================
   v6.0.66 — Fix login brand stacking
   ========================================================= */
body.candy-kemdik-login .visual-inner{
    display:grid!important;
    grid-template-columns:auto auto!important;
    grid-template-rows:auto!important;
    align-items:center!important;
    justify-content:center!important;
    column-gap:12px!important;
    row-gap:0!important;
    text-align:left!important;
    max-width:none!important;
}
body.candy-kemdik-login .visual-logo{
    grid-column:1!important;
    grid-row:1!important;
    margin:0!important;
    width:58px!important;
    height:58px!important;
    flex:0 0 58px!important;
}
body.candy-kemdik-login .kemdik-login-brand-copy{
    grid-column:2!important;
    grid-row:1!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:center!important;
    gap:4px!important;
    min-width:0!important;
}
body.candy-kemdik-login .kemdik-login-brand-copy h1{
    display:block!important;
    margin:0!important;
    padding:0!important;
    color:#fff!important;
    font-size:24px!important;
    line-height:1.05!important;
    font-weight:900!important;
    white-space:nowrap!important;
}
body.candy-kemdik-login .kemdik-login-brand-copy p{
    display:block!important;
    margin:0!important;
    padding:0!important;
    color:#dbe8ff!important;
    font-size:11px!important;
    line-height:1.15!important;
    white-space:nowrap!important;
}
body.candy-kemdik-login .mini-badge{
    display:none!important;
}
@media(max-width:600px){
    body.candy-kemdik-login .visual-inner{
        column-gap:10px!important;
    }
    body.candy-kemdik-login .visual-logo{
        width:50px!important;
        height:50px!important;
    }
    body.candy-kemdik-login .kemdik-login-brand-copy h1{
        font-size:19px!important;
    }
    body.candy-kemdik-login .kemdik-login-brand-copy p{
        font-size:9px!important;
    }
}


/* =========================================================
   v6.0.67 — Keep Kemdikdasmen login branding visible on mobile
   ========================================================= */
@media(max-width:600px){
    body.candy-kemdik-login .visual{
        display:flex!important;
        visibility:visible!important;
        opacity:1!important;
        height:30vh!important;
        min-height:205px!important;
        padding:24px 16px 54px!important;
        align-items:flex-start!important;
        justify-content:center!important;
    }
    body.candy-kemdik-login .visual-inner{
        display:grid!important;
        visibility:visible!important;
        opacity:1!important;
        grid-template-columns:auto auto!important;
        align-items:center!important;
        justify-content:center!important;
        column-gap:10px!important;
        width:auto!important;
        max-width:100%!important;
        margin:0 auto!important;
        transform:none!important;
    }
    body.candy-kemdik-login .visual-logo{
        display:block!important;
        visibility:visible!important;
        opacity:1!important;
        width:48px!important;
        height:48px!important;
        margin:0!important;
    }
    body.candy-kemdik-login .kemdik-login-brand-copy{
        display:flex!important;
        visibility:visible!important;
        opacity:1!important;
        flex-direction:column!important;
        align-items:flex-start!important;
        justify-content:center!important;
        gap:3px!important;
    }
    body.candy-kemdik-login .kemdik-login-brand-copy h1{
        display:block!important;
        visibility:visible!important;
        opacity:1!important;
        font-size:18px!important;
        line-height:1.05!important;
        white-space:nowrap!important;
        margin:0!important;
    }
    body.candy-kemdik-login .kemdik-login-brand-copy p{
        display:block!important;
        visibility:visible!important;
        opacity:1!important;
        font-size:9px!important;
        line-height:1.15!important;
        white-space:nowrap!important;
        margin:0!important;
    }

    /* Keep login card lower so it does not cover the brand. */
    body.candy-kemdik-login .form-side{
        top:20vh!important;
        padding-top:72px!important;
    }
}


/* =========================================================
   v6.0.68 — Branding mobile tepat di atas card login
   ========================================================= */
@media(max-width:600px){
    body.candy-kemdik-login .visual{
        position:relative!important;
        height:30vh!important;
        min-height:205px!important;
        padding:0!important;
        display:block!important;
    }

    /* Tempatkan logo + nama aplikasi tepat di atas card login. */
    body.candy-kemdik-login .visual-inner{
        position:absolute!important;
        left:50%!important;
        bottom:44px!important;
        transform:translateX(-50%)!important;
        display:grid!important;
        grid-template-columns:auto auto!important;
        align-items:center!important;
        justify-content:center!important;
        column-gap:10px!important;
        margin:0!important;
        width:max-content!important;
        max-width:calc(100% - 28px)!important;
    }

    body.candy-kemdik-login .visual-logo{
        width:48px!important;
        height:48px!important;
        margin:0!important;
    }

    body.candy-kemdik-login .kemdik-login-brand-copy{
        display:flex!important;
        flex-direction:column!important;
        align-items:flex-start!important;
        justify-content:center!important;
        gap:3px!important;
    }

    body.candy-kemdik-login .kemdik-login-brand-copy h1{
        font-size:18px!important;
        line-height:1.05!important;
        margin:0!important;
    }

    body.candy-kemdik-login .kemdik-login-brand-copy p{
        font-size:9px!important;
        line-height:1.15!important;
        margin:0!important;
    }

    /* Card tetap overlap area biru, tetapi tidak menutupi branding. */
    body.candy-kemdik-login .form-side{
        top:20vh!important;
        padding-top:62px!important;
    }
}

@media(max-width:420px){
    body.candy-kemdik-login .visual-inner{
        bottom:40px!important;
    }
    body.candy-kemdik-login .visual-logo{
        width:44px!important;
        height:44px!important;
    }
    body.candy-kemdik-login .kemdik-login-brand-copy h1{
        font-size:17px!important;
    }
}
