:root{
  --bg:#0b0f14;
  --surface:#11161c;
  --surface-2:#0e1319;
  --card:#0f141b;
  --line:rgba(255,255,255,.10);

  --text:#e8edf5;
  --muted:#cfd6e0;              /* brighter than before */
  --placeholder:#aeb7c3;        /* readable placeholders */

  --accent:#ef4444;             /* red */
  --accent-600:#d93b3b;
  --accent-soft: rgba(239,68,68,.12);
  --glow: 0 8px 30px rgba(239,68,68,.25);

  --radius:14px;
}

html,body{height:100%}
body{
  background:
    radial-gradient(1200px 700px at 70% -20%, var(--accent-soft), transparent 60%) no-repeat,
    var(--bg);
  color:var(--text);
}

/* NAV */
.navbar{
  background:linear-gradient(180deg,#141a22,#0f141b);
  border-bottom:1px solid var(--line);
}
.navbar .nav-link{ color:var(--text); opacity:.9 }
.navbar .nav-link:hover{ opacity:1; }

/* CARDS */
.card{
  background:linear-gradient(180deg,var(--surface),var(--surface-2));
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:0 8px 30px rgba(0,0,0,.25);
}

/* FORMS */
.form-label{ color:var(--text); opacity:.95 }
.form-control,
.form-select,
.input-group-text{
  background:#0d1218;
  border-color:#1e2733;
  color:var(--text);
}
.form-control:focus,
.form-select:focus{
  border-color:var(--accent);
  box-shadow:0 0 0 .25rem rgba(239,68,68,.18);
}
.input-group-text{ color:var(--placeholder) }

.form-text{
  color:var(--muted) !important;   /* ↑ contrast */
  font-size:0.92rem;
}

::placeholder{ color:var(--placeholder) !important; opacity:1 }

/* BUTTONS */
.btn-accent{
  background:var(--accent);
  border:1px solid var(--accent-600);
  color:#fff;
  box-shadow:var(--glow);
}
.btn-accent:hover{ background:var(--accent-600) }
.btn-outline-light{ border-color:#2a3442; }

/* BADGES / ALERTS */
.badge{ border-radius:999px }
.alert-dark{
  background:#0f141b;
  border:1px solid var(--line);
  color:var(--text);
}
.alert code{ color:#fff }

/* LINKS */
a.link-info{ color:#7cc5ff }
a.link-info:hover{ color:#a7d7ff }

/* UTIL */
.text-muted{ color:var(--muted)!important }
.divider{ height:1px; background:var(--line); margin:1rem 0 }
