:root {
  --ink: #12241d;
  --paper: #f6f5f1;
  --paper-raised: #ffffff;
  --emerald: #1f6f54;
  --emerald-dark: #164f3c;
  --amber: #d97b1f;
  --line: #e2e0d8;
  --slate: #4b524c;
  --danger: #b23b3b;
}

body {
  background: var(--paper);
  color: var(--ink);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, system-ui, sans-serif;
}

.font-ledger {
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, ui-monospace, monospace;
  font-variant-numeric: tabular-nums;
}

.card {
  background: var(--paper-raised);
  border: 1px solid var(--line);
  border-radius: 10px;
}

.receipt-card {
  background: var(--paper-raised);
  border: 1px solid var(--line);
  border-radius: 8px;
  position: relative;
}
.receipt-card::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: repeating-linear-gradient(90deg, var(--emerald) 0 6px, transparent 6px 12px);
  border-radius: 8px 8px 0 0;
  opacity: 0.55;
}

.btn-primary {
  background: var(--emerald);
  color: #fff;
  transition: background .15s ease;
}
.btn-primary:hover { background: var(--emerald-dark); }
.btn-primary:disabled { opacity: .55; cursor: not-allowed; }

.btn-secondary {
  background: transparent;
  border: 1px solid var(--line);
  color: var(--ink);
}
.btn-secondary:hover { background: #eeece4; }

input, select, textarea {
  background: var(--paper-raised);
  border-color: var(--line);
}

.nav-link { color: var(--ink); }
.nav-link.active { background: #eaf3ef; color: var(--emerald-dark); }

.badge { font-size: 11px; padding: 2px 8px; border-radius: 9999px; font-weight: 500; text-transform: capitalize; }

.progress-track { height: 6px; border-radius: 9999px; overflow: hidden; background: var(--line); }
.progress-fill { height: 100%; border-radius: 9999px; background: var(--emerald); }
.progress-fill.danger { background: var(--danger); }

::selection { background: var(--amber); color: #fff; }

@media print {
  nav, .no-print { display: none !important; }
}
