:root {
  --brand: #0d6efd;
}

body {
  background: #f4f6f9;
  min-height: 100vh;
}

.navbar-brand small {
  font-size: 0.6em;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.card {
  border: none;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
}

.card-header {
  background: #fff;
  border-bottom: 1px solid #eee;
  font-weight: 600;
}

.stat-card {
  border-left: 4px solid var(--brand);
}

.stat-card .value {
  font-size: 2rem;
  font-weight: 700;
  color: #212529;
}

.stat-card .label {
  color: #6c757d;
  text-transform: uppercase;
  font-size: 0.75rem;
  letter-spacing: 0.05em;
}

.invoice-line-row td {
  vertical-align: middle;
}

.badge-td {
  font-family: monospace;
  font-size: 0.75em;
}

.error-list {
  list-style: none;
  padding-left: 0;
}

.error-list li::before {
  content: "\26A0  ";
  color: #dc3545;
}

table.table-compact th,
table.table-compact td {
  font-size: 0.875rem;
  padding: 0.4rem;
}

.required::after {
  content: " *";
  color: #dc3545;
}

.summary-box {
  background: #f8f9fa;
  border: 1px solid #e5e5e5;
  border-radius: 8px;
  padding: 1rem;
}

.summary-box .row {
  margin-bottom: 0.25rem;
}

.summary-box .total-row {
  border-top: 2px solid #dee2e6;
  margin-top: 0.5rem;
  padding-top: 0.5rem;
  font-size: 1.25rem;
  font-weight: 700;
}
