:root {
  --bg: #f5f7fb;
  --panel: #ffffff;
  --text: #0f172a;
  --muted: #64748b;
  --line: #e2e8f0;
  --accent: #0f766e;
  --accent-2: #1d4ed8;
}

html, body {
  background: var(--bg);
  color: var(--text);
}

.app-shell {
  min-height: 100vh;
}

.sidebar {
  background: #0b1220;
  color: #e2e8f0;
  border-right: 1px solid rgba(255,255,255,.06);
}

.sidebar .nav-link {
  color: #cbd5e1;
  border-radius: .65rem;
}

.sidebar .nav-link.active,
.sidebar .nav-link:hover {
  background: rgba(255,255,255,.08);
  color: #fff;
}

.content-card, .stat-card, .table-card {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: 0 10px 20px rgba(15, 23, 42, .04);
}

.stat-value {
  font-size: 2rem;
  font-weight: 700;
}

.badge-soft {
  background: #e2e8f0;
  color: #334155;
}

.table > :not(caption) > * > * {
  padding: .9rem .75rem;
}

.form-control, .form-select {
  border-radius: .8rem;
}

.btn {
  border-radius: .8rem;
}

.topbar {
  background: rgba(245,247,251,.8);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--line);
}

.muted {
  color: var(--muted);
}
