/**
 * Lightweight utility classes for member/admin pages (no Tailwind CDN).
 */

/* Sizing */
.w-4 { width: 1rem; }
.h-4 { height: 1rem; }
.w-5 { width: 1.25rem; }
.h-5 { height: 1.25rem; }
.w-6 { width: 1.5rem; }
.h-6 { height: 1.5rem; }

/* Display */
.block { display: block; }
.hidden { display: none; }
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.flex { display: flex; }
.grid { display: grid; }
.inline-flex { display: inline-flex; }

/* Flex / grid */
.flex-shrink-0,
.shrink-0 { flex-shrink: 0; }
.items-center { align-items: center; }
.justify-between { justify-content: space-between; }
.justify-center { justify-content: center; }
.grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
.gap-4 { gap: 1rem; }
.gap-6 { gap: 1.5rem; }

@media (min-width: 768px) {
  .md\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Spacing */
.mt-2 { margin-top: 0.5rem; }
.mt-3 { margin-top: 0.75rem; }
.mt-6 { margin-top: 1.5rem; }
.mt-8 { margin-top: 2rem; }
.mb-1 { margin-bottom: 0.25rem; }
.mb-2 { margin-bottom: 0.5rem; }
.mb-3 { margin-bottom: 0.75rem; }
.mb-4 { margin-bottom: 1rem; }
.mb-6 { margin-bottom: 1.5rem; }

/* Typography */
.font-sans { font-family: 'Plus Jakarta Sans', 'Inter', system-ui, sans-serif; }
.antialiased { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.text-xs { font-size: 0.75rem; line-height: 1rem; }
.text-sm { font-size: 0.875rem; line-height: 1.25rem; }
.text-lg { font-size: 1.125rem; line-height: 1.75rem; }
.font-bold { font-weight: 700; }
.uppercase { text-transform: uppercase; }
.tracking-wider { letter-spacing: 0.05em; }

.text-navy-900 { color: #0a1628; }
.text-navy-800 { color: #0f3460; }
.text-gold-400 { color: #f4c430; }
.text-slate-500 { color: #64748b; }
.text-slate-600 { color: #475569; }

.dark .dark\:block { display: block; }
.dark .dark\:hidden { display: none; }
.dark .dark\:text-slate-100 { color: #f1f5f9; }
.dark .dark\:text-slate-400 { color: #94a3b8; }
.dark .dark\:text-slate-500 { color: #64748b; }

/* SVG defaults inside interactive controls */
.member-sub-back svg,
.profile-logout-btn svg,
.icon-btn svg,
.member-modal-close svg {
  width: 1.25rem;
  height: 1.25rem;
  flex-shrink: 0;
}
