/* ZaKenya CMS extras (admin + small public helpers) */

/* —— Admin shell —— */
.adm {
  --adm-bg: #0f1f1a;
  --adm-panel: #162a23;
  --adm-line: rgba(255,255,255,.08);
  --adm-ink: #f3f0e8;
  --adm-muted: rgba(243,240,232,.62);
  --adm-accent: #c4a35a;
  --adm-ok: #3d9a6a;
  --adm-danger: #c45c5c;
  min-height: 100vh;
  background: var(--adm-bg);
  color: var(--adm-ink);
  font-family: Inter, system-ui, sans-serif;
}
.adm a { color: var(--adm-accent); text-decoration: none; }
.adm a:hover { text-decoration: underline; }
.adm-top {
  display: flex; align-items: center; justify-content: space-between;
  padding: .85rem 1.25rem;
  border-bottom: 1px solid var(--adm-line);
  background: rgba(0,0,0,.25);
  position: sticky; top: 0; z-index: 20;
}
.adm-brand { font-weight: 600; letter-spacing: .02em; color: var(--adm-ink); }
.adm-brand span { color: var(--adm-accent); }
.adm-nav { display: flex; gap: 1rem; flex-wrap: wrap; font-size: .9rem; }
.adm-nav a { color: var(--adm-muted); }
.adm-nav a:hover, .adm-nav a[aria-current="page"] { color: var(--adm-ink); text-decoration: none; }
.adm-body { max-width: 1100px; margin: 0 auto; padding: 1.5rem 1.25rem 3rem; }
.adm h1 { font-family: "Source Serif 4", Georgia, serif; font-size: 1.75rem; margin: 0 0 1rem; font-weight: 600; }
.adm h2 { font-size: 1.1rem; margin: 1.5rem 0 .75rem; font-weight: 600; }
.adm-flash {
  background: rgba(61,154,106,.18); border: 1px solid rgba(61,154,106,.4);
  color: #b8e6cb; padding: .7rem 1rem; border-radius: 8px; margin-bottom: 1rem;
}
.adm-flash.err {
  background: rgba(196,92,92,.18); border-color: rgba(196,92,92,.45); color: #f0c4c4;
}
.adm-stats {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: .75rem; margin-bottom: 1.5rem;
}
.adm-stat {
  background: var(--adm-panel); border: 1px solid var(--adm-line);
  border-radius: 12px; padding: 1rem 1.1rem;
}
.adm-stat b { display: block; font-size: 1.6rem; font-weight: 600; }
.adm-stat span { color: var(--adm-muted); font-size: .85rem; }
.adm-table-wrap { overflow-x: auto; border: 1px solid var(--adm-line); border-radius: 12px; }
.adm table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.adm th, .adm td { padding: .65rem .85rem; text-align: left; border-bottom: 1px solid var(--adm-line); }
.adm th { color: var(--adm-muted); font-weight: 500; background: rgba(0,0,0,.2); }
.adm tr:last-child td { border-bottom: 0; }
.adm-badge {
  display: inline-block; font-size: .72rem; padding: .15rem .45rem;
  border-radius: 999px; background: rgba(255,255,255,.08); color: var(--adm-muted);
}
.adm-badge.pub { background: rgba(61,154,106,.2); color: #9ed9b8; }
.adm-badge.draft { background: rgba(196,163,90,.15); color: #e0c98a; }
.adm-actions { display: flex; gap: .5rem; flex-wrap: wrap; align-items: center; }
.adm-btn {
  display: inline-flex; align-items: center; gap: .35rem;
  border: 1px solid var(--adm-line); background: var(--adm-panel);
  color: var(--adm-ink); padding: .45rem .85rem; border-radius: 8px;
  font-size: .88rem; cursor: pointer; text-decoration: none;
}
.adm-btn:hover { border-color: var(--adm-accent); text-decoration: none; color: var(--adm-ink); }
.adm-btn.primary { background: #0d3f30; border-color: #1a5c47; color: #e8f5ef; }
.adm-btn.danger { background: transparent; border-color: rgba(196,92,92,.5); color: #e8a0a0; }
.adm-form {
  background: var(--adm-panel); border: 1px solid var(--adm-line);
  border-radius: 12px; padding: 1.25rem;
}
.adm-form label { display: block; font-size: .82rem; color: var(--adm-muted); margin: .85rem 0 .3rem; }
.adm-form label:first-child { margin-top: 0; }
.adm-form input[type=text],
.adm-form input[type=email],
.adm-form input[type=password],
.adm-form input[type=datetime-local],
.adm-form input[type=number],
.adm-form input[type=file],
.adm-form select,
.adm-form textarea {
  width: 100%; box-sizing: border-box;
  background: rgba(0,0,0,.25); border: 1px solid var(--adm-line);
  color: var(--adm-ink); border-radius: 8px; padding: .55rem .7rem;
  font: inherit;
}
.adm-form textarea { min-height: 220px; font-family: ui-monospace, Consolas, monospace; font-size: .85rem; }
.adm-form .row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
@media (max-width: 700px) { .adm-form .row { grid-template-columns: 1fr; } }
.adm-login-wrap {
  min-height: 100vh; display: grid; place-items: center; padding: 1.5rem;
  background: radial-gradient(ellipse at 30% 20%, #1a3d32 0%, #0f1f1a 55%);
}
.adm-login {
  width: min(400px, 100%); background: var(--adm-panel);
  border: 1px solid var(--adm-line); border-radius: 16px; padding: 1.75rem;
}
.adm-login h1 { font-family: "Source Serif 4", Georgia, serif; margin: 0 0 .25rem; font-size: 1.5rem; }
.adm-login p.sub { color: var(--adm-muted); margin: 0 0 1.25rem; font-size: .9rem; }
.adm-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 1rem; flex-wrap: wrap; }

/* Public: empty state / soft band */
.band {
  background: linear-gradient(180deg, rgba(13,63,48,.06), transparent);
  border-top: 1px solid rgba(13,63,48,.08);
  border-bottom: 1px solid rgba(13,63,48,.08);
}
.prose img { max-width: 100%; height: auto; border-radius: 8px; }
.prose h2 { margin-top: 1.75em; }
.prose p { line-height: 1.7; }
