:root {
  --primary: #198754;
  --secondary: #157347;
  --background: #F8F9FA;
  --border: #E5E7EB;
  --text: #212529;
}

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

.navbar, .card, .border-end {
  border-color: var(--border) !important;
}

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

.btn-success:hover {
  background-color: var(--secondary);
  border-color: var(--secondary);
}

@media (max-width: 768px) {
  .border-end {
    width: 100% !important;
  }
}

/* GLOBAL TYPOGRAPHY OVERRIDES */
body {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  font-family: 'Plus Jakarta Sans', Inter, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
h1, .h1 { font-size: 26px; font-weight: 700; line-height: 1.25; }
h2, .h2 { font-size: 22px; font-weight: 600; line-height: 1.3; }
h3, .h3 { font-size: 18px; font-weight: 600; line-height: 1.35; }
h4, .h4 { font-size: 16px; font-weight: 600; line-height: 1.4; }
h5, .h5 { font-size: 15px; font-weight: 600; }
h6, .h6 { font-size: 14px; font-weight: 600; }

.card-title { font-size: 15px; font-weight: 600; }

table th { font-size: 13px; font-weight: 600; letter-spacing: 0.02em; }
table td { font-size: 14px; font-weight: 400; }

label.form-label { font-size: 13px; font-weight: 500; margin-bottom: 6px; }
.form-control, .form-select { font-size: 14px; font-weight: 400; }
.form-text { font-size: 12px; }

.badge {
  font-size: 12px;
  font-weight: 500;
  text-transform: capitalize;
  letter-spacing: normal;
  padding: 0.35em 0.65em;
}

.btn {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 1.2;
  padding: 8px 16px;
}

.btn-sm {
  font-size: 13px;
  padding: 6px 12px;
}

.text-muted { opacity: 0.85; }
