:root[data-bs-theme='light']{
  --bg: #f8fafc;
  --card: #ffffff;
  --text: #0f172a;
  --muted:#64748b;
  --primary:#4f46e5;  /* indigo */
  --secondary:#a78bfa;/* violet */
  --border:#e2e8f0;
  --shadow: 0 10px 30px rgba(2,6,23,.08);
  --glass: rgba(255,255,255,.7);
}
:root[data-bs-theme='dark']{
  --bg: #0f172a;
  --card: #0b1220;
  --text: #e2e8f0;
  --muted:#94a3b8;
  --primary:#60a5fa;  /* light blue */
  --secondary:#22d3ee;/* cyan */
  --border:#1e293b;
  --shadow: 0 16px 42px rgba(0,0,0,.55);
  --glass: rgba(15,23,42,.55);
}
html, body{ background:var(--bg); color:var(--text); }
.navbar.bg-primary{
  background: linear-gradient(90deg, var(--primary) 0%, var(--secondary) 100%) !important;
}
.card{
  background: linear-gradient(180deg, var(--glass) 0%, rgba(255,255,255,0) 100%);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border:1px solid var(--border);
  border-radius: 16px;
  box-shadow: var(--shadow);
}
.table td, .table th{ vertical-align: middle; }
.table-hover tbody tr:hover{ background-color: rgba(79,70,229,.06); }
:root[data-bs-theme='dark'] .table-hover tbody tr:hover{ background-color: rgba(96,165,250,.08); }
.btn-primary{ background-color: var(--primary); border-color: var(--primary); border-radius: 12px; }
.btn-primary:hover{ filter: brightness(1.03); }
.btn{ border-radius: 12px; }
.badge.copyable{ cursor: pointer; user-select: none; }
.badge.copyable:hover{ filter: brightness(1.1); }
.table thead th{ border-bottom: 1px solid var(--border); color: var(--muted); }
.navbar-brand img{ border-radius: 10px; box-shadow: 0 4px 14px rgba(0,0,0,.15); }
.input-group-text{ background-color: transparent; }
