:root{
  --bg0:#070A12;
  --card:#0F172A;            /* slate-900 */
  --card2:#111B33;
  --border:rgba(255,255,255,.18);
  --border2:rgba(255,255,255,.24);
  --text:#F9FAFB;            /* hampir putih */
  --muted:rgba(249,250,251,.78);
  --muted2:rgba(249,250,251,.62);
  --accent:#3B82F6;          /* blue-500 */
  --accent2:#22C55E;         /* green-500 */
  --danger:#EF4444;
}

body{
  background:
    radial-gradient(1200px 650px at 10% 10%, rgba(59,130,246,.20), transparent 58%),
    radial-gradient(900px 520px at 90% 0%, rgba(34,197,94,.16), transparent 58%),
    radial-gradient(900px 520px at 70% 90%, rgba(168,85,247,.10), transparent 60%),
    var(--bg0);
  color: var(--text);
}

.glass{
  background: rgba(15,23,42,.86);
  border: 1px solid var(--border);
  box-shadow: 0 10px 40px rgba(0,0,0,.35);
  backdrop-filter: blur(10px);
}

.small-muted{ color: var(--muted); }
.divider{ border-color: rgba(255,255,255,.16) !important; }

/* Form */
.form-control, .form-select, textarea{
  background: rgba(255,255,255,.12);
  border: 1px solid var(--border2);
  color: var(--text);
}
.form-control::placeholder, textarea::placeholder{
  color: rgba(249,250,251,.72);
}
.form-control:focus, .form-select:focus, textarea:focus{
  border-color: rgba(59,130,246,.85);
  box-shadow: 0 0 0 .2rem rgba(59,130,246,.20);
  background: rgba(255,255,255,.16);
  color: var(--text);
}
label{ color: rgba(249,250,251,.92); font-weight: 600; }

/* Required marker */
.req::after{ content:" *"; color: var(--danger); }

/* Buttons */
.btn-gradient{
  background: linear-gradient(90deg, var(--accent), var(--accent2));
  border: 0;
  color: #06101f;
}
.btn-gradient:hover{
  filter: brightness(1.05);
}

/* Pagination colors */
.page-link{
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.14);
  color: var(--text);
}
.page-link:hover{
  background: rgba(255,255,255,.14);
  color: var(--text);
}
.page-item.disabled .page-link{
  background: rgba(255,255,255,.05);
  color: rgba(249,250,251,.45);
  border-color: rgba(255,255,255,.10);
}

/* Table - high contrast */
.table-dark{
  --bs-table-color: var(--text);
  --bs-table-bg: rgba(255,255,255,.06);
  --bs-table-border-color: rgba(255,255,255,.12);
  --bs-table-striped-bg: rgba(255,255,255,.05);
  --bs-table-hover-bg: rgba(255,255,255,.08);
}
.table thead th{
  color: rgba(249,250,251,.95);
  letter-spacing: .2px;
}
.table td, .table th{
  border-color: rgba(255,255,255,.12) !important;
}

/* Alerts readability on dark */
.alert{
  border: 1px solid rgba(255,255,255,.16);
}

/* Code blocks */
code{
  color: rgba(249,250,251,.92);
  background: rgba(255,255,255,.10);
  padding: .1rem .35rem;
  border-radius: .35rem;
}


/* ==== FIX: Bootstrap .card default color (dark text) ==== */
.card{
  color: var(--text) !important;
  background: transparent;
}
.glass{
  color: var(--text) !important;
}

/* Detail pages (dl dt/dd) */
dl dt{
  color: rgba(249,250,251,.94);
  font-weight: 700;
}
dl dd{
  color: rgba(249,250,251,.86);
}

/* Links on dark */
a{
  color: rgba(249,250,251,.92);
}
a:hover{
  color: rgba(249,250,251,1);
}

/* Badges */
.badge.text-bg-dark{
  background: rgba(255,255,255,.12) !important;
  border: 1px solid rgba(255,255,255,.18);
  color: var(--text) !important;
}
