:root{--cbt-red:#c63243;--cbt-dark:#243348;--cbt-muted:#78879c;--cbt-border:#e3eaf1}
html,body{min-height:100%}
body.layout-top-nav{background:#f0f4f9;-webkit-font-smoothing:antialiased}
body.layout-top-nav>.wrapper{min-height:100vh;display:flex;flex-direction:column}
.main-header .navbar{margin-bottom:0;border:0;background:linear-gradient(105deg,#a92136,#d5424f);box-shadow:0 3px 14px rgba(94,28,42,.13)}
.main-header .navbar-brand{max-width:calc(100vw - 160px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700;letter-spacing:.2px}
.main-header .clock-info{display:block;padding:15px 4px;color:#fff;white-space:nowrap;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}
.main-header .clock-info .fa{margin-right:5px;opacity:.9}
body.layout-top-nav .content-wrapper{position:relative;isolation:isolate;flex:1;min-height:0!important;margin-left:0;background:radial-gradient(circle at 11% 19%,rgba(208,59,76,.06),transparent 37%),linear-gradient(135deg,#f9fbfe,#e9eff7);overflow:hidden}
body.layout-top-nav .content-wrapper:before{content:"";position:absolute;inset:0;z-index:-1;background:url('../images/gedung-fasad.png') no-repeat center bottom;background-size:cover;opacity:.70;pointer-events:none}
.content-wrapper>.welcome-page{position:relative;display:flex;flex-direction:column;min-height:calc(100vh - 110px);min-height:calc(100svh - 110px)}
.welcome-header{padding:25px 15px 0}
.welcome-header h1{max-width:72%;margin:0;color:var(--cbt-dark);font-size:23px;font-weight:700;letter-spacing:-.3px}
.welcome-header h1 small{display:block;margin-top:5px;font-size:13px;font-weight:400;color:var(--cbt-muted)}
.welcome-header .breadcrumb{top:29px;background:transparent;font-size:12px}
.welcome-header .breadcrumb a{color:#65768c}
.welcome-page .welcome-main{display:flex;flex:1;align-items:center;justify-content:center;width:100%;min-width:0;margin:0;padding:30px 15px 55px}
.welcome-page .cbt-login-shell{display:block;flex:0 1 450px;width:100%;max-width:450px;min-width:0;margin:0 auto}
.welcome-page .cbt-login-card{box-sizing:border-box;display:block;width:100%;min-width:0;margin:0;background:#fff;border:1px solid rgba(55,75,100,.08);border-top:4px solid var(--cbt-red);border-radius:15px;box-shadow:0 24px 58px rgba(29,49,77,.15);overflow:hidden}
.welcome-page .cbt-login-brand{padding:20px 30px 17px;border-bottom:1px solid #edf1f5;text-align:center}
.welcome-page .cbt-login-brand img{display:block;width:auto;max-width:100%;max-height:92px;height:auto;object-fit:contain;margin:0 auto}
.welcome-page .cbt-login-body{padding:27px 34px 32px}
.welcome-page .cbt-login-title{margin:0 0 5px;text-align:center;color:var(--cbt-dark);font-size:22px;line-height:1.3;font-weight:700}
.welcome-page .cbt-login-subtitle{margin:0 0 24px;text-align:center;color:var(--cbt-muted);font-size:13px}
.welcome-page .cbt-login-form{display:block;width:100%;min-width:0}
.welcome-page .cbt-login-form .form-group{position:relative;display:block;width:100%;margin:0 0 16px}
.welcome-page .cbt-login-form .form-control{box-sizing:border-box;display:block;width:100%;min-width:0;height:46px;padding:10px 45px 10px 14px;border:1px solid #d9e2ed;border-radius:8px;outline:0;background:#fff;color:#25354b;font-size:14px;box-shadow:none;transition:border-color .18s,box-shadow .18s}
.welcome-page .cbt-login-form .form-control:focus{border-color:var(--cbt-red);box-shadow:0 0 0 3px rgba(198,50,67,.12)}
.welcome-page .cbt-login-form .form-control-feedback{position:absolute;top:0;right:0;z-index:2;width:44px;height:46px;line-height:46px;color:#9caabd;pointer-events:none}
.welcome-page .cbt-login-options{display:flex;align-items:center;min-height:28px;margin:1px 0 19px}
.welcome-page .cbt-show-password{display:inline-flex;align-items:center;gap:9px;max-width:100%;margin:0;color:#596c82;font-size:13px;line-height:1.5;font-weight:400;cursor:pointer}
.welcome-page .cbt-show-password input{flex:none;margin:0}
.welcome-page .cbt-show-password .icheckbox_square-blue{flex:none;margin:0}
.welcome-page .cbt-login-button{display:block;width:100%;min-height:46px;margin:0;padding:10px 16px;border:0;border-radius:8px;background:var(--cbt-red);font-size:14px;font-weight:700;letter-spacing:.1px;white-space:nowrap;transition:background-color .18s,box-shadow .18s}
.welcome-page .cbt-login-button:hover,.welcome-page .cbt-login-button:focus{background:#a92235;box-shadow:0 4px 12px rgba(198,50,67,.18)}
.welcome-page .cbt-login-button:disabled{opacity:.65;box-shadow:none}
#form-pesan:empty{display:none}
#form-pesan .login-alert{margin:0 0 18px;padding:11px 13px;border-radius:7px;line-height:1.5;font-size:13px;white-space:pre-line;overflow-wrap:anywhere}
.main-footer{margin-left:0!important;padding:14px 0;background:#fff;border-top:1px solid var(--cbt-border);color:#7f8da0;font-size:12px}
.main-footer .footer-flex{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.main-footer a{color:#b82d40;font-weight:600;text-decoration:none}
.main-footer a:hover,.main-footer a:focus{color:#8c2231}
.login-loading{display:flex;align-items:center;justify-content:center;gap:15px;padding:25px 18px;color:var(--cbt-dark);font-size:13px;font-weight:600}
.login-loading img{flex:none;object-fit:contain}
#modal-proses .modal-dialog{margin-top:18vh}
@media(max-width:767px){.main-header .navbar-brand{max-width:calc(100vw - 132px);font-size:15px}.main-header .clock-info{padding:15px 5px;font-size:11px}.welcome-header{padding:20px 15px 0}.welcome-header h1{max-width:100%;font-size:19px}.welcome-header .breadcrumb{position:static;float:none;margin:10px 0 0;padding:0}.welcome-page .welcome-main{padding:25px 14px 45px}.welcome-page .cbt-login-shell{max-width:420px}body.layout-top-nav .content-wrapper:before{background-position:center bottom;background-size:auto 83%;opacity:.09}.main-footer .footer-flex{justify-content:center;text-align:center}}
@media(max-width:380px){.welcome-page .cbt-login-brand{padding:17px 20px}.welcome-page .cbt-login-body{padding:23px 20px 27px}.welcome-page .cbt-login-title{font-size:20px}.welcome-page .cbt-login-subtitle{font-size:12px}.main-header .navbar-brand{max-width:calc(100vw - 125px);font-size:13px}}
@media(prefers-reduced-motion:reduce){.welcome-page .form-control,.welcome-page .cbt-login-button{transition:none}}
body.cbt-test-layout .main-header .navbar{background:linear-gradient(105deg,#a92136,#d5424f)}
body.cbt-test-layout .main-header .navbar-brand{max-width:calc(100vw - 290px)}
body.cbt-test-layout .content-wrapper{overflow:visible;min-width:0}
body.cbt-test-layout .content-wrapper:before{position:fixed;inset:50px 0 0;background-size:cover}
body.cbt-test-layout .navbar-custom-menu>.nav{display:flex;align-items:center;margin:0}
body.cbt-test-layout .navbar-custom-menu>.nav>li{float:none}
body.cbt-test-layout .navbar-custom-menu .clock-info{padding:15px 9px}
body.cbt-test-layout .navbar-nav>.user-menu>.dropdown-menu>.user-header{height:auto;min-height:75px;display:flex;align-items:center;justify-content:center;padding:14px;background:#be3042}
body.cbt-test-layout .navbar-nav>.user-menu>.dropdown-menu>.user-header p{margin:0;overflow-wrap:anywhere}
body.cbt-test-layout .navbar-nav>.user-menu>.dropdown-menu>.user-footer{padding:12px}
body.cbt-test-layout .navbar-custom-menu .user-image{width:25px;height:25px;object-fit:cover}
body.cbt-test-layout .main-footer .footer-right{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
body.cbt-test-layout .main-footer .footer-right .cbt-user-name{color:#62738b;overflow-wrap:anywhere}
body.cbt-test-layout #isi-tes-soal img{display:block;max-width:100%!important;height:auto!important}
body.cbt-test-layout #isi-tes-soal{min-width:0;overflow-wrap:break-word}
body.cbt-test-layout #isi-tes-soal table{max-width:100%}
body.cbt-test-layout #modal-password .modal-dialog{max-width:460px}
body.cbt-test-layout #modal-password .modal-content{overflow:hidden;border-radius:11px;border:0;box-shadow:0 20px 50px rgba(22,41,62,.2)}
body.cbt-test-layout #modal-password .modal-header{padding:18px 22px;border-bottom:1px solid #e7edf3}
body.cbt-test-layout #modal-password .modal-title{color:var(--cbt-dark);font-weight:700}
body.cbt-test-layout #modal-password .modal-body{padding:20px 22px 8px}
body.cbt-test-layout #modal-password .modal-footer{padding:14px 22px;border-top:1px solid #e7edf3}
body.cbt-test-layout #modal-password .form-group{margin-bottom:17px}
body.cbt-test-layout #modal-password .form-control{height:42px;border-radius:6px;border-color:#dbe4ee;box-shadow:none}
body.cbt-test-layout #modal-password .form-control:focus{border-color:var(--cbt-red);box-shadow:0 0 0 3px rgba(198,50,67,.1)}
body.cbt-test-layout #modal-password .btn-primary{background:var(--cbt-red);border-color:var(--cbt-red)}
body.cbt-test-layout #modal-password .btn-primary:hover{background:#a92235;border-color:#a92235}
body.cbt-test-layout #form-pesan-password:empty{display:none}
body.cbt-test-layout #form-pesan-password .alert{white-space:pre-line;overflow-wrap:anywhere}
body.cbt-test-layout .cbt-test-modal-loading{display:flex;align-items:center;justify-content:center;gap:14px;padding:22px 15px;color:var(--cbt-dark);font-size:13px;font-weight:600}
body.cbt-test-layout .cbt-test-modal-loading img{flex:none;object-fit:contain}
@media(max-width:767px){body.cbt-test-layout .main-header .navbar-brand{max-width:calc(100vw - 176px);font-size:14px}body.cbt-test-layout .navbar-custom-menu .clock-info{padding:15px 4px;font-size:10px}body.cbt-test-layout .navbar-custom-menu>.nav>.user-menu>a{padding:11px 7px}body.cbt-test-layout .navbar-nav>.user-menu>.dropdown-menu{right:0;left:auto}body.cbt-test-layout .content-wrapper:before{background-position:center bottom;background-size:auto 83%}body.cbt-test-layout .main-footer .footer-flex{flex-direction:column;gap:8px}}
@media(max-width:380px){body.cbt-test-layout .main-header .navbar-brand{max-width:calc(100vw - 165px);font-size:12px}body.cbt-test-layout .navbar-custom-menu .clock-info{font-size:10px}}
