:root {
  --gym-bg: #0b0f14;
  --gym-surface: #121922;
  --gym-accent: #e63946;
  --gym-accent-hover: #ff5a66;
  --gym-text: #e8eef5;
  --gym-muted: #9aa8b8;
  --gym-border: rgba(255, 255, 255, 0.08);
}

body {
  font-family: "Segoe UI", system-ui, -apple-system, sans-serif;
  background: var(--gym-bg);
  color: var(--gym-text);
}

.navbar-gym {
  background: rgba(11, 15, 20, 0.92);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--gym-border);
}

.brand-gym {
  font-weight: 800;
  letter-spacing: 0.04em;
  color: var(--gym-text) !important;
}

.brand-gym span {
  color: var(--gym-accent);
}

.auth-shell {
  min-height: 100vh;
  display: flex;
  align-items: center;
  padding: 5rem 0 3rem;
  background: linear-gradient(160deg, rgba(11, 15, 20, 1) 0%, rgba(18, 25, 34, 0.95) 50%, rgba(11, 15, 20, 1) 100%),
    radial-gradient(ellipse at 20% 20%, rgba(230, 57, 70, 0.12), transparent 50%);
}

.btn-accent {
  background: var(--gym-accent);
  border: none;
  color: #fff;
  font-weight: 600;
  padding: 0.65rem 1.4rem;
}

.btn-accent:hover {
  background: var(--gym-accent-hover);
  color: #fff;
}

.btn-outline-gym {
  border: 1px solid var(--gym-border);
  color: var(--gym-text);
}

.btn-outline-gym:hover {
  border-color: var(--gym-accent);
  color: #fff;
  background: rgba(230, 57, 70, 0.12);
}

.form-gym {
  background: var(--gym-surface);
  border: 1px solid var(--gym-border);
  border-radius: 1rem;
  padding: 2rem;
}

.form-gym .form-control {
  background: #0d1218;
  border: 1px solid var(--gym-border);
  color: var(--gym-text);
}

.form-gym .form-control:focus {
  border-color: var(--gym-accent);
  box-shadow: 0 0 0 0.2rem rgba(230, 57, 70, 0.2);
  color: var(--gym-text);
}

.form-gym label {
  color: var(--gym-muted);
  font-size: 0.9rem;
}

.text-muted-gym {
  color: var(--gym-muted) !important;
}

footer.footer-gym {
  border-top: 1px solid var(--gym-border);
  color: var(--gym-muted);
  font-size: 0.9rem;
}
