body { font-family: 'Manrope', sans-serif; }
.hero-glow-smoke {
  background:
    radial-gradient(70% 60% at 10% 0%, rgba(47, 150, 131, 0.45), transparent 55%),
    radial-gradient(50% 50% at 85% 15%, rgba(221, 156, 63, 0.25), transparent 50%),
    radial-gradient(40% 40% at 50% 90%, rgba(92, 181, 163, 0.2), transparent 50%);
}
h1, h2, h3, .font-serif-heading { font-family: 'Fraunces', serif; }

.nav-link {
  position: relative;
  transition: color 0.2s ease, background-color 0.2s ease;
}
.nav-link.active { background: rgba(255,255,255,0.08); color: #e8b567; }
.nav-link:hover { color: #e8b567; }

.card {
  background: #fff;
  border-radius: 1rem;
  box-shadow: 0 1px 2px rgba(10,46,44,0.06), 0 8px 24px -12px rgba(10,46,44,0.12);
  border: 1px solid rgba(10,46,44,0.06);
}

.btn-primary {
  background: #155048; color: #fff; transition: background .2s ease;
}
.btn-primary:hover { background: #0a2e2c; }

.btn-amber {
  background: #dd9c3f; color: #0a2e2c; transition: background .2s ease;
}
.btn-amber:hover { background: #c17f2a; color: #fff; }

.badge-paid { background: #e3f5ef; color: #155048; }
.badge-partial { background: #fbedd6; color: #c17f2a; }
.badge-pending { background: #fde8e8; color: #b42318; }

table.data th { font-size: 0.72rem; text-transform: uppercase; letter-spacing: .04em; color: #5c7a76; }
table.data th:not([class*="text-"]) { text-align: left; }

.tab-btn { color: #5c7a76; border-bottom: 2px solid transparent; margin-bottom: -1px; transition: color .15s ease, border-color .15s ease; }
.tab-btn:hover { color: #155048; }
.tab-btn.active { color: #155048; border-bottom-color: #dd9c3f; }

@media print {
  .no-print { display: none !important; }
  body { background: #fff !important; }
  .print-area { box-shadow: none !important; border: none !important; }
}
