/* ========== GLOBAL RESET ========== */
body {
  margin: 0;
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  min-height: 100vh;
  background-color: #f8fafc; /* fallback warna polos */
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
  z-index: 0;
}

/* gunakan pseudo-element agar background bisa diganti per halaman */
body::before {
  content: "";
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: url('/assets/default.webp') no-repeat center center / cover;
  z-index: -1;
  opacity: 0.95;
}

/* ========== PER HALAMAN ========== */
body.page-index::before {
  background-image: url('/assets/index.webp');
}

body.page-login::before {
  background-image: url('/assets/login.webp');
}

body.page-vouchers_list::before {
  background-image: url('/assets/vouchers_list.webp');
}

body.page-vouchers_add::before {
  background-image: url('/assets/vouchers_add.webp');
}

body.page-users_manage::before {
  background-image: url('/assets/users_manage.webp');
}

body.page-spin_users::before {
  background-image: url('/assets/spin_users.webp');
}

body.page-spin_display_settings::before {
  background-image: url('/assets/spin_display_settings.webp');
}

body.page-logs::before {
  background-image: url('/assets/logs.webp');
}

/* ========== EXTRA STYLING ========== */
.card {
  background: rgba(255,255,255,0.9);
  border-radius: 16px;
}

.navbar {
  position: relative;
  z-index: 10;
}
