:root{
  --bg0:#070A12;
  --bg1:#0B1020;
  --card:#0D1429;
  --stroke:rgba(255,255,255,.08);
  --text:rgba(255,255,255,.92);
  --muted:rgba(255,255,255,.65);
  --glow:rgba(77, 152, 255, .45);
  --glow2:rgba(0, 255, 198, .28);
}

html,body{height:100%;}
body{
  background: radial-gradient(1200px 600px at 20% 10%, rgba(77,152,255,.14), transparent 55%),
              radial-gradient(900px 500px at 80% 30%, rgba(0,255,198,.10), transparent 50%),
              linear-gradient(180deg, var(--bg0), var(--bg1));
  color:var(--text);
}

.card-glow{
  background: linear-gradient(180deg, rgba(13,20,41,.92), rgba(10,14,28,.92));
  border: 1px solid var(--stroke);
  box-shadow: 0 0 0 1px rgba(255,255,255,.03) inset,
              0 18px 60px rgba(0,0,0,.55),
              0 0 28px var(--glow);
  border-radius: 14px;
}

.kpi{
  border: 1px solid var(--stroke);
  border-radius: 14px;
  background: rgba(13,20,41,.65);
  box-shadow: 0 0 22px var(--glow);
}

.kpi h2{margin:0;font-weight:700;letter-spacing:.3px;}
.kpi small{color:var(--muted);}

.label-muted{color:var(--muted);}
.table-darkish{
  --bs-table-bg: transparent;
  --bs-table-color: var(--text);
}
.badge-soft{
  border:1px solid var(--stroke);
  background: rgba(255,255,255,.06);
}
.badge-overdue{
  box-shadow: 0 0 18px rgba(255, 64, 129, .35);
  border-color: rgba(255,64,129,.35);
}
.btn-glow{
  box-shadow: 0 0 18px var(--glow2);
}
input,select,textarea{
  background: rgba(255,255,255,.06) !important;
  border: 1px solid var(--stroke) !important;
  color: var(--text) !important;
}
input::placeholder, textarea::placeholder{color: rgba(255,255,255,.35);}
hr{border-color: rgba(255,255,255,.10);}


/* FIX SELECT OPTIONS VISIBILITY */
select.form-select,
select.form-select option {
  background-color: #0b1220 !important;
  color: #ffffff !important;
}

select.form-select option:disabled {
  color: rgba(255,255,255,0.4) !important;
}
