/* =========================================================
   NTT-CBT Student Theme (Modern, lightweight)
   - Works with Bootstrap 3 + AdminLTE
   - CSS only (no logic touched)
   ========================================================= */

html, body { height: 100%; }
body { background:#f5f7fb; }

/* container width (nice on desktop, fluid on mobile) */
.content-wrapper .container,
.container { max-width: 1180px; }

/* Navbar */
.navbar { border: 0; box-shadow: 0 10px 25px rgba(17,24,39,.08); }
.navbar .navbar-brand b { letter-spacing:.2px; }
#anbk-logout { color:#fff !important; }
.navbar a { -webkit-font-smoothing: antialiased; }

/* Main cards (AdminLTE .box) */
.box{
  border:1px solid rgba(17,24,39,.08) !important;
  border-radius:16px !important;
  box-shadow:0 12px 26px rgba(17,24,39,.07) !important;
  overflow:hidden;
}
.box-header{
  padding:14px 16px !important;
  border-bottom:1px solid rgba(255,255,255,.18) !important;
}
.box-header .box-title{ font-weight:800 !important; letter-spacing:.2px; }

/* Modern gradient headers */
.box.box-primary>.box-header,
.box.box-info>.box-header,
.box.box-success>.box-header,
.box.box-warning>.box-header,
.box.box-danger>.box-header,
.box-header.with-border{
  background:linear-gradient(90deg,#5b21b6 0%,#6d28d9 55%,#7c3aed 100%) !important;
  color:#fff !important;
}

/* Body spacing */
.box-body{ padding:16px !important; background:#fff !important; }
.box-footer{ padding:14px 16px !important; background:#fff !important; border-top:1px solid rgba(17,24,39,.08) !important; }

/* Alerts / callouts */
.alert, .callout{
  border-radius:16px !important;
  border:1px solid rgba(17,24,39,.08) !important;
  box-shadow:0 12px 26px rgba(17,24,39,.07) !important;
}
.alert-info, .callout.callout-info{
  background:#fff !important;
  color:#111827 !important;
  border-left:6px solid #7c3aed !important;
}
.alert-info b, .callout.callout-info h4{ color:#5b21b6 !important; }

/* Tables */
.table>thead>tr>th{
  background:#f3f4f6 !important;
  color:#111827 !important;
  font-weight:800 !important;
  border-bottom:1px solid rgba(17,24,39,.12) !important;
}
.table>tbody>tr>td{
  border-top:1px solid rgba(17,24,39,.06) !important;
  vertical-align:middle !important;
}
.table-hover>tbody>tr:hover{ background:#faf5ff !important; }

/* Buttons */
.btn{
  border-radius:12px !important;
  font-weight:800 !important;
  border:0 !important;
  box-shadow:0 10px 20px rgba(17,24,39,.10) !important;
}
.btn:active{ box-shadow:none !important; }
.btn-primary{ background:linear-gradient(90deg,#5b21b6 0%,#7c3aed 100%) !important; }
.btn-success{ background:linear-gradient(90deg,#16a34a 0%,#22c55e 100%) !important; }
.btn-danger{ background:linear-gradient(90deg,#b91c1c 0%,#ef4444 100%) !important; }
.btn-warning{ background:linear-gradient(90deg,#b45309 0%,#f59e0b 100%) !important; }

/* Labels/badges */
.label, .badge{ border-radius:999px !important; padding:5px 10px !important; font-weight:800 !important; }

/* DataTables small cleanup */
.dt-buttons, .DTTT_container { display:none !important; }
.dataTables_wrapper .dataTables_filter input,
.dataTables_wrapper .dataTables_length select{
  border-radius:12px !important;
  border:1px solid rgba(17,24,39,.14) !important;
  padding:7px 10px !important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button{
  border-radius:12px !important;
  border:1px solid rgba(17,24,39,.12) !important;
  background:#fff !important;
  margin:0 2px !important;
  padding:6px 10px !important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover{
  background:linear-gradient(90deg,#5b21b6 0%,#7c3aed 100%) !important;
  color:#fff !important;
  border:0 !important;
}

/* Exam lock overlay (created by JS) */
#cbt-lock-overlay{
  position:fixed; inset:0; z-index:99999;
  background:rgba(17,24,39,.78);
  display:none;
}
#cbt-lock-overlay .card{
  position:absolute; left:50%; top:50%;
  transform:translate(-50%,-50%);
  width:min(520px, calc(100% - 32px));
  background:#fff;
  border-radius:18px;
  padding:18px 18px;
  box-shadow:0 18px 60px rgba(0,0,0,.35);
}
#cbt-lock-overlay .title{ font-weight:900; color:#111827; font-size:16px; }
#cbt-lock-overlay .desc{ color:#4b5563; margin-top:6px; }
#cbt-lock-overlay .actions{ margin-top:12px; display:flex; gap:10px; flex-wrap:wrap; }

/* Mobile tweaks */
@media (max-width: 768px){
  .box-body{ padding:12px !important; }
  .navbar .container{ padding-left:10px; padding-right:10px; }
  #anbk-logout{ padding-left:10px; padding-right:10px; }
}

/* ===== NTT-CBT Blue & White Professional UI 2026 ===== */
:root{--cbt-blue:#0b63ce;--cbt-blue-dark:#084c9e;--cbt-blue-soft:#eaf3ff;--cbt-ink:#10233f;--cbt-line:#dce8f6;}
body,.content-wrapper{background:linear-gradient(180deg,#edf5ff 0,#f8fbff 280px,#f4f7fb 100%)!important;color:var(--cbt-ink);}
.main-header .navbar,.navbar{background:linear-gradient(90deg,#084c9e,#0b63ce 58%,#1686ea)!important;}
.box.box-primary>.box-header,.box.box-info>.box-header,.box.box-success>.box-header,.box.box-warning>.box-header,.box.box-danger>.box-header,.box-header.with-border,.cbt-card .box-header,.cbt-topbar{background:linear-gradient(135deg,#084c9e 0%,#0b63ce 55%,#1686ea 100%)!important;}
.btn-primary{background:linear-gradient(90deg,#084c9e,#0b63ce)!important;}
.alert-info,.callout.callout-info{border-left-color:var(--cbt-blue)!important}.alert-info b,.callout.callout-info h4{color:var(--cbt-blue-dark)!important}.table-hover>tbody>tr:hover{background:#eef6ff!important}
.cbt-opt input:checked~.cbt-opt-inner{background:var(--cbt-blue-soft)!important}.cbt-opt input:checked~.cbt-opt-inner .cbt-opt-badge{background:var(--cbt-blue)!important;border-color:var(--cbt-blue)!important;box-shadow:0 8px 18px rgba(11,99,206,.22)!important}
#cbt-network-status{position:fixed;right:16px;bottom:16px;z-index:9998;border-radius:999px;padding:8px 13px;font-size:12px;font-weight:800;box-shadow:0 10px 30px rgba(15,35,63,.15);transition:.2s}
#cbt-network-status.online{background:#e8fff2;color:#08783e;border:1px solid #bcebd1}#cbt-network-status.offline{background:#fff3e7;color:#a34500;border:1px solid #ffd2ad}
#cbt-security-layer{display:none;position:fixed;inset:0;z-index:100000;background:rgba(7,24,48,.84);backdrop-filter:blur(7px);align-items:center;justify-content:center;padding:20px}
#cbt-security-layer.show{display:flex}.cbt-security-card{width:min(520px,100%);background:#fff;border-radius:24px;padding:28px;text-align:center;box-shadow:0 32px 90px rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.4)}
.cbt-security-icon,.cbt-locked-icon{width:76px;height:76px;margin:0 auto 16px;border-radius:22px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#e8f3ff,#cfe6ff);color:var(--cbt-blue);font-size:34px}.cbt-security-card h3{font-size:24px;font-weight:900;color:var(--cbt-ink)}.cbt-security-card p{font-size:15px;line-height:1.65;color:#5a6b82}.cbt-security-count{margin:16px 0;padding:10px 14px;border-radius:12px;background:#f2f7fd;color:#42546b}
.cbt-locked-page{min-height:calc(100vh - 120px);display:flex;align-items:center;justify-content:center;padding:32px 15px}.cbt-locked-card{width:min(620px,100%);background:#fff;border:1px solid var(--cbt-line);border-radius:28px;padding:38px;text-align:center;box-shadow:0 24px 60px rgba(30,71,116,.13)}.cbt-locked-kicker{font-size:12px;font-weight:900;letter-spacing:2px;color:var(--cbt-blue);margin-bottom:8px}.cbt-locked-card h1{font-size:30px;font-weight:900;color:var(--cbt-ink);margin:0 0 12px}.cbt-locked-card p{color:#64748b;font-size:16px;line-height:1.7}.cbt-locked-note{margin:20px 0;padding:13px;border-radius:14px;background:#eef6ff;color:#31577f;font-weight:700}
@media(max-width:767px){#cbt-network-status{right:10px;bottom:10px}.cbt-security-card,.cbt-locked-card{padding:22px;border-radius:20px}.cbt-locked-card h1{font-size:23px}}
