/* Ghana Brigades – style.css (shared public + auth) */
:root {
  --primary: #1B3A6B;
  --primary-dark: #0D1F3C;
  --secondary: #C0392B;
  --accent: #F0B429;
  --success: #27ae60;
  --text: #2c3e50;
  --gray: #6c757d;
  --light: #F8FAFC;
  --border: #e9ecef;
  --font: 'DM Sans', sans-serif;
}

body { font-family: var(--font); }

.fw-500 { font-weight: 500; }
.fw-600 { font-weight: 600; }
.fw-700 { font-weight: 700; }

/* Buttons */
.btn-primary { background: var(--primary); border-color: var(--primary); }
.btn-primary:hover { background: #2a5298; border-color: #2a5298; }

/* Form inputs */
.form-control:focus, .form-select:focus {
  border-color: var(--primary);
  box-shadow: 0 0 0 0.25rem rgba(27,58,107,0.12);
}

/* Loading overlay */
.page-loader {
  position: fixed; inset: 0; background: white;
  display: flex; align-items: center; justify-content: center;
  z-index: 9999; transition: opacity 0.4s;
}
.page-loader.hide { opacity: 0; pointer-events: none; }
.loader-shield {
  width: 64px; height: 64px; border-radius: 16px;
  background: linear-gradient(135deg, var(--primary), var(--secondary));
  display: flex; align-items: center; justify-content: center;
  color: white; font-size: 1.6rem;
  animation: pulse 1.2s ease-in-out infinite;
}
@keyframes pulse { 0%,100%{transform:scale(1)}50%{transform:scale(1.1)} }

/* Auth pages shared */
.auth-wrap { min-height: 100vh; display: flex; align-items: center; font-family: var(--font); }

/* Responsive utilities */
@media (max-width: 575.98px) {
  .xs-full { width: 100% !important; }
  .xs-hide { display: none !important; }
}