/* =========================================================
   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; }
}
