/* Nepal Postcode — October 2026 approved visual identity.
   Loaded last so it safely overrides page-local legacy theme declarations. */
:root {
  --np-red: #DC2626;
  --np-red-dark: #B91C1C;
  --np-yellow: #F4B400;
  --np-navy: #1F2937;
  --np-navy-2: #1F2937;
  --np-ink: #1F2937;
  --np-muted: #667085;
  --np-soft: #F8F9FB;
  --np-soft-2: #E5E7EB;
  --np-line: #E5E7EB;
  --red: #DC2626;
  --ink: #1F2937;
  --muted: #667085;
  --line: #E5E7EB;
  --soft: #F8F9FB;
}

/* Consistent wordmark across public, field and administrative screens. */
.brand-logo,
.np-logo {
  width: auto;
  height: 51px;
  max-width: min(375px, 48vw);
  object-fit: contain;
  object-position: left center;
}

.np-topbar,
.np-header {
  border-bottom: 2px solid var(--np-yellow, #F4B400);
  background: rgba(255,255,255,.98);
}

body {
  color: var(--np-ink);
  background-color: var(--np-soft);
}

h1, h2, h3 { color: var(--np-ink); }
.eyebrow, .np-eyebrow { color: var(--np-red); }
.eyebrow::before { background: var(--np-yellow); }

.card, .np-card, .panel, .np-metric, .np-field-login, .request-card {
  border-color: var(--np-line);
}
.card-head, .request-card, .np-metric { background-color: #fff; }

.nav-link.primary,
.np-btn:not(.subtle):not(.dark),
button:not(.secondary):not(.danger):not(.nav-btn):not(.drawer-close) {
  accent-color: var(--np-red);
}

input:focus-visible,
select:focus-visible,
textarea:focus-visible,
button:focus-visible,
a:focus-visible {
  outline: 3px solid var(--np-yellow);
  outline-offset: 2px;
}

.np-btn:not(.subtle):not(.dark) { background:var(--np-red); border-color:var(--np-red); }
.np-btn.subtle { color:var(--np-ink); border-color:var(--np-line); }
.np-nav.active { color:var(--np-red-dark); background:#FFF1F1; border-left:3px solid var(--np-yellow); }
.np-item.selected, .np-item:hover { border-color:var(--np-red); background:#FFF8F8; }
.np-status.pending { background:#FFF7D6; color:#785500; }

.np-admin-signin main { border-color:var(--np-line); box-shadow:0 14px 38px rgba(31,41,55,.08); }
.np-admin-signin main img { width:min(100%,315px); max-width:100%; max-height:90px; }
.np-admin-signin main button[type="submit"] { background:var(--np-red); }
.np-admin-signin main a { color:var(--np-ink); }

.np-brand-statement {
  margin: 0 0 17px;
  color: var(--np-muted);
  line-height: 1.45;
  font-size: 13px;
  max-width: 34ch;
}
.np-brand-statement::before {
  display: block;
  content: "";
  width: 46px;
  height: 4px;
  background: var(--np-yellow);
  border-radius: 8px;
  margin: 9px 0 12px;
}

/* Yellow means connection and opportunity, not status or warning. */
.num { background:#FFF3CC; color:#765000; }
.trust-item { border-color:#FCE9A6; background:#FFF9E9; }
.support-card { background:linear-gradient(180deg,#fff,#FFFCF2); }

@media (max-width: 630px) {
  .brand-logo, .np-logo { height: 37px; max-width: 56vw; }
  .np-topbar, .np-header { padding-left: 11px; padding-right: 11px; }
  .np-brand-statement { font-size:12px; margin-bottom:12px; }
}
@media (max-width: 390px) {
  .brand-logo, .np-logo { height:33px; max-width:49vw; }
}
