/**
 * UI Theme - Bootstrap 5 Enhancements
 * Minimal overrides for consistent polish
 */

:root {
  --ui-primary: #0d6efd;
  --ui-success: #198754;
  --ui-warning: #ffc107;
  --ui-danger: #dc3545;
  --ui-muted: #6c757d;
  --ui-border: #dee2e6;
  --ui-bg-light: #f8f9fa;
  --ui-radius: 0.375rem;
}

/* Cards */
.card {
  border-radius: var(--ui-radius);
  box-shadow: 0 1px 3px rgba(0,0,0,0.08);
  border-color: var(--ui-border);
}
.card-header {
  background: var(--ui-bg-light);
  border-bottom-color: var(--ui-border);
  padding: 0.75rem 1rem;
}
.card-header h5, .card-header h6 {
  font-weight: 600;
}
.card-body {
  padding: 1rem;
}

/* Tables */
.table {
  font-size: 0.875rem;
}
.table thead th {
  font-weight: 600;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  color: var(--ui-muted);
  border-bottom-width: 1px;
}
.table-hover tbody tr:hover {
  background-color: rgba(0,0,0,0.02);
}
.table td {
  vertical-align: middle;
}

/* Forms */
.form-control-sm, .form-select-sm {
  font-size: 0.875rem;
}
.input-group-sm .btn {
  font-size: 0.875rem;
}

/* Buttons */
.btn-sm {
  font-size: 0.8125rem;
  padding: 0.25rem 0.625rem;
}
.btn-link {
  text-decoration: none;
}
.btn-link:hover {
  text-decoration: underline;
}

/* Badges */
.badge {
  font-weight: 500;
  font-size: 0.75rem;
}

/* Code */
code {
  font-size: 0.8125rem;
  color: var(--ui-muted);
  background: var(--ui-bg-light);
  padding: 0.125rem 0.375rem;
  border-radius: 0.25rem;
}

/* Status dots */
.text-success { color: var(--ui-success) !important; }
.text-danger { color: var(--ui-danger) !important; }

/* Utilities */
.gap-1 { gap: 0.25rem !important; }
.gap-2 { gap: 0.5rem !important; }
.gap-3 { gap: 1rem !important; }

/* Alerts - compact */
.alert.py-2 {
  font-size: 0.875rem;
}

/* Responsive tweaks */
@media (max-width: 768px) {
  .card-header .d-flex {
    flex-direction: column;
    gap: 0.5rem;
    align-items: flex-start !important;
  }
  .table {
    font-size: 0.8125rem;
  }
}
