:root {
  /* Color palette */
  --bs-primary: #4e73df;
  --bs-secondary: #858796;
  --bs-success: #1cc88a;
  --bs-info: #36b9cc;
  --bs-warning: #f6c23e;
  --bs-danger: #e74a3b;
  --bs-light: #f8f9fc;
  --bs-dark: #5a5c69;

  /* Typography */
  --font-sans: 'Roboto', Arial, sans-serif;
  --base-font-size: 1rem;
}

body {
  font-family: var(--font-sans);
  font-size: var(--base-font-size);
  background-color: var(--bs-light);
  color: #333;
}

.navbar {
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}
.navbar .nav-link {
  padding: .5rem 1rem;
  transition: background-color .2s, color .2s;
}
.navbar .nav-link:hover,
.navbar .nav-link.active {
  background-color: rgba(255,255,255,0.15);
}

.card {
  border: none;
  border-radius: 0.75rem;
  box-shadow: 0 4px 6px rgba(0,0,0,0.05);
}
.card .card-header {
  background-color: var(--bs-primary);
  color: white;
  font-weight: 600;
  border-top-left-radius: 0.75rem;
  border-top-right-radius: 0.75rem;
}

.btn-primary {
  background-color: var(--bs-primary);
  border: none;
  border-radius: 0.5rem;
  transition: background-color .2s, transform .1s;
}
.btn-primary:hover {
  background-color: #405ec9;
  transform: translateY(-2px);
}
.btn {
  border-radius: 0.5rem;
}

.table {
  border-radius: 0.5rem;
  overflow: hidden;
}
.table thead {
  background-color: var(--bs-secondary);
  color: white;
}
.table tbody tr:hover {
  background-color: rgba(0,0,0,0.05);
}

.form-control {
  border: 1px solid #ccc;
  border-radius: 0.5rem;
  transition: border-color .2s, box-shadow .2s;
}
.form-control:focus {
  border-color: var(--bs-info);
  box-shadow: 0 0 0 0.2rem rgba(54,185,204,0.25);
}

footer {
  font-size: 0.85rem;
  text-align: center;
  margin-top: 2rem;
}

@media (prefers-color-scheme: dark) {
  body {
    background-color: #2c2c2c;
    color: #ddd;
  }
  .navbar {
    background-color: var(--bs-dark) !important;
  }
  .table thead {
    background-color: #444;
  }
  .table tbody tr:hover {
    background-color: #3a3a3a;
  }
}
