/* ================================================================
   StudiPredict AI — Custom CSS
   Proyek UTS Praktikum Kecerdasan Buatan
================================================================ */

/* ── Root Variables ────────────────────────────────────────────── */
:root {
  --primary: #1565c0;
  --success: #2e7d32;
  --body-bg: #f4f6fb;
  --card-radius: 12px;
}

body {
  background-color: var(--body-bg);
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  min-height: 100vh;
}

/* ── Card Styling ────────────────────────────────────────────────── */
.card {
  border-radius: var(--card-radius) !important;
  transition: box-shadow 0.2s ease;
}
.card:hover {
  box-shadow: 0 6px 24px rgba(0,0,0,0.10) !important;
}
.card-header {
  border-radius: var(--card-radius) var(--card-radius) 0 0 !important;
}

/* ── Navbar ──────────────────────────────────────────────────────── */
.navbar {
  backdrop-filter: blur(10px);
}
.navbar-brand {
  letter-spacing: 0.5px;
}

/* ── Hero Banner ─────────────────────────────────────────────────── */
.hero-banner {
  background: linear-gradient(135deg, #1565c0 0%, #7b1fa2 100%);
  position: relative;
  overflow: hidden;
}
.hero-banner::before {
  content: '';
  position: absolute;
  top: -50%;
  right: -10%;
  width: 300px;
  height: 300px;
  border-radius: 50%;
  background: rgba(255,255,255,0.05);
}

/* ── Model Selection Cards ───────────────────────────────────────── */
.model-card {
  cursor: pointer;
  transition: all 0.2s ease;
  background: #fff;
}
.model-card:hover {
  border-color: var(--primary) !important;
  background: #e3f2fd;
}
.model-card.border-primary {
  border-color: var(--primary) !important;
  background: #e3f2fd;
}

/* ── Result Icons ─────────────────────────────────────────────────── */
.result-icon {
  width: 90px;
  height: 90px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.5rem;
}
.lulus-icon {
  background: linear-gradient(135deg, #e8f5e9, #c8e6c9);
  color: #2e7d32;
  box-shadow: 0 4px 20px rgba(46,125,50,0.3);
}
.gagal-icon {
  background: linear-gradient(135deg, #ffebee, #ffcdd2);
  color: #c62828;
  box-shadow: 0 4px 20px rgba(198,40,40,0.3);
}

/* ── Stat Boxes ──────────────────────────────────────────────────── */
.stat-box {
  transition: all 0.2s ease;
}
.stat-box:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

/* ── Progress Bar ─────────────────────────────────────────────────── */
.progress {
  border-radius: 10px;
}
.progress-bar {
  border-radius: 10px;
  transition: width 0.8s ease;
}

/* ── Table ───────────────────────────────────────────────────────── */
.table th {
  font-weight: 600;
  font-size: 0.875rem;
  letter-spacing: 0.3px;
}
.table td {
  vertical-align: middle;
}

/* ── Alert ───────────────────────────────────────────────────────── */
.alert {
  border-radius: var(--card-radius) !important;
  border: none;
}
.alert-success { background: #e8f5e9; color: #1b5e20; }
.alert-danger  { background: #ffebee; color: #b71c1c; }
.alert-warning { background: #fff8e1; color: #e65100; }
.alert-info    { background: #e1f5fe; color: #01579b; }

/* ── Accordion ────────────────────────────────────────────────────── */
.accordion-button:not(.collapsed) {
  background: #e3f2fd;
  color: var(--primary);
}
.accordion-button:focus {
  box-shadow: none;
}

/* ── Footer ──────────────────────────────────────────────────────── */
footer {
  margin-top: auto;
  font-size: 0.85rem;
}

/* ── Badge Dot ───────────────────────────────────────────────────── */
.dot {
  display: inline-block;
  border-radius: 50%;
  flex-shrink: 0;
}

/* ── Section Title ───────────────────────────────────────────────── */
.section-title {
  font-size: 0.95rem;
}

/* ── Responsive Tweaks ───────────────────────────────────────────── */
@media (max-width: 576px) {
  .hero-banner h1 { font-size: 1.4rem; }
  .result-icon    { width: 70px; height: 70px; font-size: 1.8rem; }
  .model-card     { font-size: 0.85rem; }
}

/* ── Spinner ─────────────────────────────────────────────────────── */
.spinner-border-sm {
  width: 1rem;
  height: 1rem;
}

/* ── Scrollbar ───────────────────────────────────────────────────── */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: #f1f1f1; }
::-webkit-scrollbar-thumb { background: #bbb; border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: #888; }
