:root {
  --dp-bg: #f5f7fb;
  --dp-surface: #ffffff;
  --dp-border: #d0d7de;
  --dp-soft-border: #e5e7eb;
  --dp-primary: #0d6efd;
  --dp-primary-soft: #e7f1ff;
  --dp-primary-hover: #0b5ed7;
  --dp-text-main: #111827;
  --dp-text-muted: #6b7280;
  --dp-nav-bg: #ffffff;
  --dp-nav-border: #d0d7de;
}

body {
  min-height: 100vh;
  background: radial-gradient(circle at top left, #eef3ff 0, #f5f7fb 35%, #f9fafb 100%);
  color: var(--dp-text-main);
}

.navbar.bg-dark {
  background-color: var(--dp-nav-bg) !important;
  border-bottom: 1px solid var(--dp-nav-border);
}

.navbar-dark .navbar-brand,
.navbar-dark .navbar-nav .nav-link,
.navbar-dark .navbar-text {
  color: var(--dp-text-main) !important;
}

.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link.active {
  color: var(--dp-primary) !important;
}

.badge.bg-primary,
.btn-primary {
  background-color: var(--dp-primary) !important;
  border-color: var(--dp-primary) !important;
}

.btn-outline-light {
  color: var(--dp-primary) !important;
  border-color: var(--dp-primary) !important;
}

.btn-outline-light:hover {
  background-color: var(--dp-primary-soft) !important;
  color: var(--dp-primary-hover) !important;
}

.card,
.glass-card {
  border-radius: 0.75rem;
  border: 1px solid var(--dp-soft-border);
  background: var(--dp-surface);
  box-shadow:
    0 18px 40px rgba(15, 23, 42, 0.08),
    0 0 0 1px rgba(255, 255, 255, 0.5);
}

.glass-card-header {
  padding: 1rem 1.25rem 0.25rem;
  border-bottom: 1px solid var(--dp-soft-border);
  background: linear-gradient(90deg, rgba(13, 110, 253, 0.08), transparent);
}

.glass-card-body {
  padding: 1.25rem;
}

.page-title {
  font-size: 1.75rem;
  font-weight: 600;
  letter-spacing: -0.03em;
}

.subtle-muted {
  color: var(--dp-text-muted);
}

.table thead th {
  border-bottom-width: 1px;
  border-color: var(--dp-soft-border);
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--dp-text-muted);
}

.table tbody tr:hover {
  background-color: #f3f4ff;
}

.badge.bg-soft {
  background-color: var(--dp-primary-soft);
  color: var(--dp-primary);
}

.form-control:focus,
.form-select:focus {
  border-color: var(--dp-primary);
  box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.18);
}

.chip {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.55rem;
  border-radius: 999px;
  font-size: 0.75rem;
  background: #eff6ff;
  color: #1d4ed8;
}

.chip-muted {
  background: #f3f4f6;
  color: #4b5563;
}

.stat-card {
  border-radius: 0.8rem;
  border: 1px solid var(--dp-soft-border);
  background: radial-gradient(circle at top left, #eff6ff 0, #ffffff 55%);
}

.stat-card h2 {
  font-size: 1.75rem;
  font-weight: 700;
}

.timeline-dot {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background-color: var(--dp-primary);
}

.timeline-line {
  position: absolute;
  left: 4px;
  top: 12px;
  bottom: -8px;
  width: 2px;
  background: linear-gradient(to bottom, var(--dp-primary), transparent);
}

.account-header-pill {
  padding: 0.25rem 0.75rem;
  border-radius: 999px;
  background: #eff6ff;
  color: #1d4ed8;
  font-size: 0.8rem;
}

.invoice-summary-card {
  max-width: 380px;
}

.invoice-summary-card .list-group-item {
  border: none;
  padding: 0.4rem 0;
}

@media (max-width: 768px) {
  .navbar {
    box-shadow: 0 4px 8px rgba(15, 23, 42, 0.1);
  }
}

/* dp-theme-ext */

body {
  background: var(--dp-bg);
  color: var(--dp-text-main);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.navbar {
  background-color: var(--dp-nav-bg) !important;
  border-bottom: 1px solid var(--dp-nav-border) !important;
}

.navbar-brand {
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-size: 0.9rem;
}

.navbar-light .navbar-nav .nav-link {
  color: var(--dp-text-muted);
}

.navbar-light .navbar-nav .nav-link.active,
.navbar-light .navbar-nav .nav-link:hover {
  color: var(--dp-primary);
}

.card,
.glass-card {
  border-radius: 1rem;
  border: 1px solid var(--dp-soft-border);
  background: radial-gradient(circle at top left, #ffffff 0, #f8fafc 55%);
  box-shadow: 0 18px 45px rgba(15,23,42,0.08);
}

.table {
  background-color: transparent;
}

.table > :not(caption) > * > * {
  background-color: transparent;
}

.table-striped > tbody > tr:nth-of-type(odd) > * {
  background-color: rgba(148,163,184,0.05);
}

.table-hover > tbody > tr:hover > * {
  background-color: #e5f2ff;
}

.badge.bg-dark.border {
  background-color: #f3f4f6 !important;
  color: #374151 !important;
  border-color: #d1d5db !important;
}

.badge.bg-danger,
.badge.bg-warning,
.badge.bg-success {
  border-radius: 999px;
  padding-inline: 0.6rem;
  padding-block: 0.2rem;
}

.btn-primary {
  box-shadow: 0 10px 25px rgba(37,99,235,0.35);
}

.btn-primary:hover {
  box-shadow: 0 14px 30px rgba(37,99,235,0.45);
}

.section-heading {
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: var(--dp-text-muted);
}

