/* Small overrides layered on top of the Tailwind CDN build (plain CSS —
   the CDN build does not process @apply, only a compiled Tailwind CLI
   build does; swap to @apply freely once you set that up). */
@media print {
  .no-print { display: none !important; }
  body { background: #fff !important; }
}
.uk-card {
  background: #fff;
  border-radius: 0.75rem;
  box-shadow: 0 1px 2px 0 rgba(0,0,0,0.05);
  border: 1px solid #f3f4f6;
}
.uk-scrollbar::-webkit-scrollbar { height: 8px; width: 8px; }
.uk-scrollbar::-webkit-scrollbar-thumb { background: #c7d2fe; border-radius: 8px; }
.uk-card { transition: box-shadow .18s ease, transform .18s ease; }

/* ---- Sidebar navigation ---- */
.nav-link {
  display: flex; align-items: center; gap: 0.75rem;
  padding: 0.62rem 0.75rem;
  border-radius: 0.6rem;
  border-left: 3px solid transparent;
  font-size: 0.875rem; font-weight: 500;
  color: rgba(255,255,255,.65);
  transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
.nav-link:hover { background: rgba(255,255,255,.06); color: #fff; }
.nav-link.active {
  background: rgba(255,255,255,.1);
  color: #fff;
  border-left-color: #ed3237;
  font-weight: 600;
  box-shadow: inset 0 1px 2px rgba(0,0,0,.15);
}
.nav-icon { width: 1.15rem; height: 1.15rem; flex-shrink: 0; opacity: .92; }
.nav-section {
  padding: 0.9rem 0.75rem 0.35rem;
  font-size: 0.625rem; font-weight: 700; letter-spacing: .12em;
  text-transform: uppercase; color: rgba(255,255,255,.35);
}

/* ---- Dashboard stat cards ---- */
.stat-card { position: relative; overflow: hidden; }
.stat-card:hover { box-shadow: 0 12px 28px -12px rgba(26,29,82,.18); transform: translateY(-2px); }
.stat-blob {
  position: absolute; right: -18px; top: -18px; width: 84px; height: 84px;
  border-radius: 50%; opacity: .5; pointer-events: none;
}

/* ---- Member modal tabs ---- */
.member-tab-btn {
  padding: 0.85rem 1rem 0.75rem;
  font-size: 0.8rem; font-weight: 600; color: #9ca3af;
  border-bottom: 2px solid transparent;
  white-space: nowrap; transition: color .15s ease, border-color .15s ease;
}
.member-tab-btn:hover { color: #374151; }
.member-tab-btn.active { color: #2f3480; border-bottom-color: #ed3237; }

/* ---- Member form fields: label-less, placeholder-driven pill inputs ---- */
.mf-input {
  width: 100%;
  background: #f7f8fb;
  border: 1.5px solid transparent;
  border-radius: 12px;
  padding: 0.72rem 0.95rem;
  font-size: 0.85rem;
  color: #1f2937;
  transition: background-color .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.mf-input::placeholder { color: #9aa1ae; }
.mf-input:hover { background: #f0f1f5; }
.mf-input:focus {
  outline: none;
  background: #fff;
  border-color: #2f3480;
  box-shadow: 0 0 0 4px rgba(47,52,128,.08);
}
textarea.mf-input { resize: vertical; min-height: 84px; line-height: 1.5; }
select.mf-input {
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239aa1ae' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.85rem center;
  padding-right: 2.25rem;
}
.mf-field-label {
  display: block; font-size: 0.68rem; font-weight: 600; color: #9ca3af;
  text-transform: uppercase; letter-spacing: .04em; margin-bottom: 0.4rem;
}

/* ---- Member form: collapsible sub-sections (Spouse Info / Next of Kin) ---- */
.mf-section-toggle { cursor: pointer; }
.mf-section-chevron {
  display: inline-block; font-size: 0.6rem; color: #9ca3af;
  transition: transform .15s ease;
}
.mf-section-toggle[aria-expanded="false"] .mf-section-chevron { transform: rotate(-90deg); }
