/* Progressive Registry — small additions on top of Pico.css (light/dark
   via prefers-color-scheme come from Pico itself). */

:root {
  --reg-green: #3fb950;
  --reg-amber: #d29922;
  --reg-red: #f85149;
}

body { padding-bottom: 3rem; }

.site-header h1 { margin-bottom: 0; }
.site-header .tagline {
  color: var(--pico-muted-color, #6e7781);
  margin-bottom: 0;
}

.muted { color: var(--pico-muted-color, #6e7781); }
.mono { font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace; }

/* Catalog cards */
.cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 1rem;
}
.card header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.5rem;
}
.card h3 { margin: 0.4rem 0 0.2rem; }
.card .meta {
  color: var(--pico-muted-color, #6e7781);
  font-size: 0.875rem;
}
.card footer { display: flex; justify-content: space-between; align-items: center; }

/* Badges */
.badge {
  display: inline-block;
  padding: 0.1rem 0.6rem;
  border-radius: 999px;
  border: 1px solid;
  font-size: 0.78rem;
  font-weight: 600;
  line-height: 1.5;
  white-space: nowrap;
}
.badge.kind {
  color: var(--pico-muted-color, #6e7781);
  border-color: var(--pico-muted-border-color, #8b949e);
}
.badge.approved { color: var(--reg-green); border-color: var(--reg-green); background: rgba(63, 185, 80, 0.12); }
.badge.pending  { color: var(--reg-amber); border-color: var(--reg-amber); background: rgba(210, 153, 34, 0.14); }
.badge.rejected { color: var(--reg-red);   border-color: var(--reg-red);   background: rgba(248, 81, 73, 0.12); }

.price-paid { font-weight: 600; }
.price-free { color: var(--pico-muted-color, #6e7781); }

/* Tables */
table td, table th { vertical-align: top; }

/* Publish / admin forms */
form.reg-form { max-width: 32rem; }
pre.result {
  white-space: pre-wrap;
  word-break: break-word;
  background: rgba(127, 127, 127, 0.08);
  padding: 0.75rem 1rem;
  border-radius: 4px;
  margin-top: 1rem;
}
.queue-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 0.75rem 1rem;
  border: 1px solid var(--pico-muted-border-color, #8b949e);
  border-radius: 4px;
  margin-bottom: 0.75rem;
}
.queue-item .actions { display: flex; gap: 0.5rem; flex-shrink: 0; }

.notice { padding: 0.75rem 1rem; border-radius: 4px; margin: 1rem 0; }
.notice.ok { border: 1px solid var(--reg-green); color: var(--reg-green); }
.notice.err { border: 1px solid var(--reg-red); color: var(--reg-red); }
