:root {
  --bg: #0f1115;
  --surface: #1a1d23;
  --surface-2: #23262e;
  --text: #e4e6eb;
  --muted: #9aa0a6;
  --primary: #3b82f6;
  --sidebar-width: 260px;
}

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

.dim-wrapper {
  min-height: 100vh;
}

.dim-sidebar {
  width: var(--sidebar-width);
  background: var(--surface);
  min-height: 100vh;
  border-right: 1px solid #2c2f38;
}

.dim-sidebar .nav-link {
  color: var(--muted);
  border-radius: 6px;
  margin-bottom: 4px;
}

.dim-sidebar .nav-link:hover,
.dim-sidebar .nav-link.active {
  background: var(--surface-2);
  color: var(--text);
}

.dim-main {
  background: var(--bg);
}

.dim-topbar {
  background: var(--surface);
  border-bottom: 1px solid #2c2f38;
}

.dim-card {
  background: var(--surface);
  border: 1px solid #2c2f38;
  color: var(--text);
}

.dim-footer {
  background: var(--surface);
  border-top: 1px solid #2c2f38;
  color: var(--muted);
  margin-top: auto;
}

.form-control, .form-control:focus {
  background: var(--surface-2);
  border: 1px solid #2c2f38;
  color: var(--text);
}

.btn-primary {
  background: var(--primary);
  border-color: var(--primary);
}

.table-dark {
  --bs-table-bg: var(--surface);
  --bs-table-border-color: #2c2f38;
  --bs-table-striped-bg: var(--surface-2);
}
