:root {
  --color-azul-escuro: #0f2a4a;
  --color-azul-medio: #1f5c8b;
  --color-branco: #ffffff;
  --color-cinza-claro: #f2f4f7;
  --color-cinza-medio: #6b7684;
  --color-dourado: #c8963e;
  --color-sucesso: #2e7d55;
  --color-erro: #b3261e;
}

body {
  background-color: var(--color-cinza-claro);
  color: #1c2733;
  font-family: "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

a {
  color: var(--color-azul-medio);
}

.navbar-brand-custom {
  background-color: var(--color-azul-escuro);
}

.navbar-brand-custom .navbar-brand,
.navbar-brand-custom .nav-link {
  color: var(--color-branco) !important;
}

.navbar-brand-custom .nav-link:hover,
.navbar-brand-custom .nav-link:focus {
  color: var(--color-dourado) !important;
}

.btn-primary-brand {
  background-color: var(--color-azul-medio);
  border-color: var(--color-azul-medio);
  color: var(--color-branco);
}

.btn-primary-brand:hover,
.btn-primary-brand:focus {
  background-color: var(--color-azul-escuro);
  border-color: var(--color-azul-escuro);
  color: var(--color-branco);
}

.btn-accent-brand {
  background-color: var(--color-dourado);
  border-color: var(--color-dourado);
  color: var(--color-azul-escuro);
  font-weight: 600;
}

.btn-accent-brand:hover,
.btn-accent-brand:focus {
  background-color: #b0822f;
  border-color: #b0822f;
  color: var(--color-branco);
}

.hero-section {
  background: linear-gradient(135deg, var(--color-azul-escuro), var(--color-azul-medio));
  color: var(--color-branco);
  padding: 3.5rem 0;
}

.card-resource {
  border: 1px solid #e3e7ec;
  border-radius: 0.5rem;
  height: 100%;
}

.card-resource .badge-tipo {
  background-color: var(--color-azul-medio);
  color: var(--color-branco);
}

.footer-brand {
  background-color: var(--color-azul-escuro);
  color: var(--color-cinza-claro);
  padding: 2rem 0;
  margin-top: 3rem;
}

.footer-brand a {
  color: var(--color-cinza-claro);
}

.progress-bar-brand {
  background-color: var(--color-dourado);
}

.password-strength {
  height: 0.35rem;
  border-radius: 0.25rem;
  background-color: #e3e7ec;
  overflow: hidden;
  margin-top: 0.25rem;
}

.password-strength-fill {
  height: 100%;
  width: 0;
  transition: width 0.2s ease, background-color 0.2s ease;
  background-color: var(--color-erro);
}

.skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  background: var(--color-azul-escuro);
  color: var(--color-branco);
  padding: 0.5rem 1rem;
  z-index: 1050;
}

.skip-link:focus {
  left: 0;
}

.form-label {
  font-weight: 600;
}

.pd-nav-badge {
  background-color: var(--color-dourado);
  color: var(--color-azul-escuro);
  border-radius: 999px;
  padding: 0.05rem 0.5rem;
  font-size: 0.75rem;
  font-weight: 700;
  margin-left: 0.35rem;
}
