/* Natureland Admin — small additions on top of Tailwind CDN utilities */
:root {
  --nl-primary: #b3122a;
  --nl-primary-dark: #8c0e21;
  --nl-ink: #221f1c;
  --nl-sand: #f6f1e7;
  --nl-border: #e7ddcb;
}

body { font-family: 'Jost', ui-sans-serif, system-ui, -apple-system, sans-serif; }

.nl-brand { font-family: 'Cormorant Garamond', ui-serif, Georgia, serif; }

.nl-sidebar-link.active {
  background-color: rgba(179, 18, 42, 0.08);
  color: var(--nl-primary);
  font-weight: 600;
}

.nl-nav-icon { color: currentColor; opacity: .65; flex-shrink: 0; }
.nl-sidebar-link.active .nl-nav-icon { opacity: 1; }

.nl-nav-group summary { list-style: none; }
.nl-nav-group summary::-webkit-details-marker { display: none; }
.nl-nav-group summary::marker { content: ""; }

.nl-chevron { color: rgba(0, 0, 0, .35); transition: transform .15s ease; }
.nl-nav-group[open] > summary .nl-chevron { transform: rotate(90deg); }
.nl-nav-group[open] > summary.active .nl-chevron { color: var(--nl-primary); }

.nl-nav-children {
  margin-left: 15px;
  padding-left: 18px;
  border-left: 1px solid var(--nl-border);
}
.nl-nav-child { padding-left: 13px; font-size: 13.5px; }
.nl-nav-child.active {
  border-left: 2px solid var(--nl-primary);
  margin-left: -1px;
  padding-left: 12px;
}

.nl-btn-primary,
.nl-btn-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .375rem;
  transition: background-color .15s ease, border-color .15s ease, box-shadow .15s ease, transform .1s ease;
  cursor: pointer;
}
.nl-btn-primary:focus-visible,
.nl-btn-secondary:focus-visible,
.nl-action-danger:focus-visible {
  outline: 2px solid var(--nl-primary);
  outline-offset: 2px;
}

.nl-btn-primary {
  background-color: var(--nl-primary);
  color: #fff;
  box-shadow: 0 1px 2px rgba(179, 18, 42, 0.25), 0 2px 6px rgba(179, 18, 42, 0.15);
}
.nl-btn-primary:hover { background-color: var(--nl-primary-dark); box-shadow: 0 2px 4px rgba(179, 18, 42, 0.3), 0 4px 10px rgba(179, 18, 42, 0.2); }
.nl-btn-primary:active { transform: translateY(1px); box-shadow: 0 1px 2px rgba(179, 18, 42, 0.25); }

.nl-btn-secondary {
  background-color: #fff;
  color: var(--nl-ink);
  border: 1px solid rgba(0, 0, 0, 0.15);
}
.nl-btn-secondary:hover { background-color: #fbfaf7; border-color: rgba(0, 0, 0, 0.28); box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06); }
.nl-btn-secondary:active { transform: translateY(1px); }

.nl-action-danger {
  color: #b91c1c;
  border-radius: .375rem;
  padding: .1875rem .5rem;
  margin: -.1875rem -.5rem;
  transition: background-color .15s ease, color .15s ease;
}
.nl-action-danger:hover { background-color: #fdeaea; color: #8c1414; text-decoration: underline; }

.nl-badge-published { background: #dff5e3; color: #1a7a35; }
.nl-badge-draft { background: #f1eee6; color: #6b6355; }
.nl-badge-hidden { background: #fdeaea; color: #b3122a; }

.nl-badge-active { background: #dff5e3; color: #1a7a35; }
.nl-badge-inactive { background: #f1eee6; color: #6b6355; }

.nl-badge-pending { background: #fdf3d8; color: #92700f; }
.nl-badge-sent, .nl-badge-completed { background: #dff5e3; color: #1a7a35; }
.nl-badge-failed { background: #fdeaea; color: #b3122a; }
.nl-badge-processing { background: #e2edfb; color: #1c4f8c; }

table.nl-table th { text-align: left; font-size: 11px; text-transform: uppercase; letter-spacing: .08em; color: #7a7266; padding: 10px 14px; border-bottom: 1px solid var(--nl-border); }
table.nl-table td { padding: 12px 14px; border-bottom: 1px solid var(--nl-border); font-size: 14px; vertical-align: top; }
table.nl-table tr:hover td { background: rgba(179,18,42,0.03); }
