:root { --radius: 14px; }
body { background: #f6f7fb; }
.hero { background: linear-gradient(135deg,#eef4ff,#fff7e6) !important; }
.card { border-radius: var(--radius); }
.house-badge { font-size: .85rem; padding: .4em .8em; border-radius: 20px; }
.house-green { background-color: #198754 !important; color: #fff !important; }
.house-blue { background-color: #0d6efd !important; color: #fff !important; }
.house-yellow { background-color: #ffc107 !important; color: #000 !important; }
.house-red { background-color: #dc3545 !important; color: #fff !important; }

.choice-label { display:block; border:2px solid #e5e7eb; border-radius:12px; padding:.8rem 1rem; cursor:pointer; transition:.15s; background:#fff; }
.choice-label:hover { border-color:#0d6efd; background:#f0f6ff; }
.choice-input:checked + .choice-label { border-color:#0d6efd; background:#e7f1ff; font-weight:600; }
.question-img { max-height:320px; object-fit:contain; border-radius:12px; }

/* ── Quiz take page: fit everything without page scroll ── */
.take-compact .card { border-radius: 12px; }
.take-compact .question-title { font-size: 1.1rem; line-height: 1.3; margin-bottom: .25rem; }
.take-compact .choice-label { padding: .55rem .75rem; border-radius: 10px; font-size: .95rem; line-height: 1.25; }
.take-compact .question-img { max-height: 130px; }
.take-compact .take-alert { padding: .45rem .75rem; margin-bottom: .5rem; font-size: .9rem; }
.take-compact .take-choices .list-group-item { padding: .45rem .75rem; font-size: .92rem; }
.take-compact .house-mini { min-width: 86px !important; padding-top: .3rem !important; padding-bottom: .3rem !important; border-top-width: 4px !important; }
.take-compact .house-mini .badge { font-size: .72rem; }
/* hide footer + tighten main spacing on take page only */
.take-hide-footer footer { display: none !important; }
.take-hide-footer main.container { margin-top: .6rem !important; margin-bottom: .6rem !important; }
@media (max-height: 800px) {
  .take-compact .question-title { font-size: 1rem; }
  .take-compact .choice-label { padding: .45rem .65rem; font-size: .9rem; }
  .take-compact .question-img { max-height: 100px; }
}
.progress { height: 10px; }
.timer-danger { color:#dc3545 !important; font-weight:700; }
.table img.thumb { height:40px; border-radius:6px; }

/* Enhanced Dashboard UI */
.hero-banner {
  background: linear-gradient(135deg, #f0f7ff 0%, #ffffff 50%, #fefcf3 100%);
  border: 1px solid #e3e8f0;
}
.hover-elevate {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.hover-elevate:hover {
  transform: translateY(-3px);
  box-shadow: 0 0.75rem 1.5rem rgba(13, 110, 253, 0.08) !important;
}
.shadow-xs {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}
.border-dashed {
  border-style: dashed !important;
}
.upload-dropzone {
  background-color: #f8fafc;
  border-color: #cbd5e1 !important;
  transition: all 0.2s ease-in-out;
}
.upload-dropzone:hover {
  background-color: #f1f5f9;
  border-color: #0d6efd !important;
}
.nav-pills .nav-link {
  color: #4b5563;
  border-radius: 10px;
  transition: all 0.15s ease;
}
.nav-pills .nav-link:hover {
  background-color: #f3f4f6;
}
.nav-pills .nav-link.active {
  background-color: #0d6efd;
  color: #fff;
  box-shadow: 0 4px 6px -1px rgba(13, 110, 253, 0.2);
}
