:root {
  --background: #ffffff;
  --foreground: #0a0a0a;
  --muted: #f4f4f5;
  --muted-foreground: #71717a;
  --border: #e4e4e7;
  --card: #ffffff;
  --card-foreground: #0a0a0a;
  --ring: #0a0a0a;
  --radius: 0.5rem;
  --praetorium-primary: #0a0a0a;
  --praetorium-primary-hover: #18181b;
  --praetorium-primary-muted: #f4f4f5;
}

body {
  background: var(--background);
  color: var(--foreground);
}

.navbar,
.navbar .navbar-container {
  background: var(--background);
  border-bottom: 1px solid var(--border);
}

.navbar a,
.navbar-brand,
.navbar-title {
  color: var(--foreground);
}

a {
  color: #111827;
  text-decoration: none;
}

a:hover {
  color: #0f172a;
  text-decoration: underline;
}

h1, h2, h3, h4, h5 {
  color: var(--foreground);
  letter-spacing: -0.01em;
}

p, li {
  color: #1f2937;
}

.callout,
.card,
.table,
.quarto-figure {
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--card);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
}

.callout-title {
  font-weight: 600;
}

.badge,
.status-indicator,
.phase-badge,
.entity-type {
  border-radius: 999px;
  border: 1px solid var(--border);
  background: var(--muted);
  color: var(--foreground);
}

.table {
  border-collapse: separate;
  border-spacing: 0;
}

.table th,
.table td {
  border-bottom: 1px solid var(--border);
}

.sidebar {
  border-right: 1px solid var(--border);
}

pre, code {
  background: #f8fafc;
  border: 1px solid var(--border);
  border-radius: calc(var(--radius) - 2px);
}

/* Improve spacing to match shadcn rhythm */
.section {
  margin-top: 2rem;
}

.quarto-title-block .quarto-title-banner {
  background: var(--background);
  border-bottom: 1px solid var(--border);
}
