:root { --brand-50:#eef2ff; --brand-500:#3b82f6; --brand-600:#2563eb; --brand-700:#1d4ed8; --slate-900:#0f172a; }
* { box-sizing: border-box; }
body { font-family: 'Inter', sans-serif; }
.member-nav, .glass-nav { background: rgba(255,255,255,0.98); border-bottom: 1px solid rgba(226,232,240,0.9); box-shadow: 0 10px 30px -22px rgba(15,23,42,0.22); }
.site-logo-badge { width: 2.75rem; height: 2.75rem; border-radius: 1rem; background: #2563eb !important; color: #fff !important; display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 10px 20px -14px rgba(37,99,235,.65); flex-shrink:0; }
.site-logo-badge i { color:#fff !important; opacity:1 !important; }
.member-nav-link { color:#334155; font-weight:600; text-decoration:none; transition:color .2s ease; }
.member-nav-link:hover, .member-nav-link.active { color:#2563eb; }
.member-logout-btn, .primary-btn { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; padding:.625rem 1.25rem; border-radius:.75rem; border:1px solid #2563eb; background:#2563eb !important; color:#fff !important; font-weight:600; font-size:.875rem; text-decoration:none; box-shadow:0 8px 20px -12px rgba(37,99,235,.55); transition:all .2s ease; }
.member-logout-btn:hover, .primary-btn:hover { background:#1d4ed8 !important; border-color:#1d4ed8 !important; color:#fff !important; }
.secondary-btn { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; padding:.625rem 1.25rem; border-radius:.75rem; border:1px solid #cbd5e1; background:#fff; color:#334155; font-weight:600; font-size:.875rem; text-decoration:none; transition:all .2s ease; }
.secondary-btn:hover { border-color:#93c5fd; color:#2563eb; background:#f8fafc; }
.icon-box { width:3rem; height:3rem; border-radius:1rem; background:#2563eb; color:#fff; display:flex; align-items:center; justify-content:center; margin-bottom:1.25rem; }
.status-box { border-radius:1rem; border:1px solid; padding:1rem 1.25rem; font-size:.925rem; line-height:1.55; }
.status-box.success { background:#ecfdf5; color:#065f46; border-color:#a7f3d0; }
.status-box.error { background:#fff1f2; color:#9f1239; border-color:#fecdd3; }
.status-box.warning { background:#fffbeb; color:#92400e; border-color:#fde68a; }
.form-input { width:100%; padding:.85rem 1rem; border:1px solid #e2e8f0; border-radius:.9rem; background:#f8fafc; outline:none; font-size:.9rem; }
.form-input:focus { border-color:#2563eb; box-shadow:0 0 0 4px rgba(37,99,235,.12); background:#fff; }
.admin-table { width:100%; border-collapse:collapse; }
.admin-table th, .admin-table td { padding:.85rem 1rem; border-bottom:1px solid #e2e8f0; text-align:left; font-size:.875rem; }
.admin-table th { color:#475569; font-weight:800; text-transform:uppercase; font-size:.72rem; letter-spacing:.05em; background:#f8fafc; }

/* Robust button visibility fixes */
.primary-btn,
button.primary-btn,
a.primary-btn,
#login-btn,
#register-btn,
#submit-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  border: 1px solid #2563eb !important;
  background: #2563eb !important;
  background-color: #2563eb !important;
  color: #ffffff !important;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 8px 20px -12px rgba(37,99,235,.55);
}
.primary-btn *,
#login-btn *,
#register-btn *,
#submit-btn * {
  color: #ffffff !important;
  fill: #ffffff !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.primary-btn:hover,
button.primary-btn:hover,
a.primary-btn:hover,
#login-btn:hover,
#register-btn:hover,
#submit-btn:hover {
  background: #1d4ed8 !important;
  background-color: #1d4ed8 !important;
  border-color: #1d4ed8 !important;
  color: #ffffff !important;
}
.primary-btn:disabled,
#login-btn:disabled,
#register-btn:disabled,
#submit-btn:disabled {
  background: #60a5fa !important;
  border-color: #60a5fa !important;
  color: #ffffff !important;
  cursor: not-allowed;
}
.secondary-btn,
a.secondary-btn,
button.secondary-btn {
  background: #ffffff !important;
  color: #334155 !important;
  border: 1px solid #cbd5e1 !important;
}
.secondary-btn *,
a.secondary-btn *,
button.secondary-btn * {
  color: inherit !important;
}
.member-logout-btn,
.member-logout-btn * {
  color: #ffffff !important;
}

.status-box.info { background:#eff6ff; color:#1e40af; border-color:#bfdbfe; }