/* Spin Gaming — portal de senha AD.
   Paleta da Política de Segurança da Informação (Master Policy, ReportLab):
   roxo 0.247/0.165/0.471 = #3F2A78, texto #333, fundo #F5F5F5, cinza #808080.
   Sem webfonts externas. */

:root {
  --sg-bg: #f5f5f5;
  --sg-card: #ffffff;
  --sg-ink: #333333;
  --sg-muted: #666666;
  --sg-line: #d9d9d9;
  --sg-accent: #3f2a78;
  --sg-accent-hover: #2f1f5c;
  --sg-on-accent: #ffffff;
  --sg-danger: #b42318;
  --sg-warn-bg: #f7f4fb;
}

html, body {
  min-height: 100%;
  background: var(--sg-bg) !important;
  color: var(--sg-ink) !important;
  font-family: Helvetica, "Helvetica Neue", Arial, sans-serif !important;
}

#background_url {
  display: none !important;
  background: none !important;
}

img.logo,
.footer,
#ltb-component {
  display: none !important;
}

body > .container {
  max-width: 40rem;
  padding: 2.75rem 1rem 3rem;
}

.card,
.card.card-success,
.card.shadow {
  background: var(--sg-card) !important;
  color: var(--sg-ink) !important;
  border: 1px solid var(--sg-line) !important;
  border-radius: 4px !important;
  box-shadow: 0 8px 24px rgba(63, 42, 120, 0.06) !important;
  overflow: hidden;
}

.card-body {
  padding: 0 !important;
}

.navbar,
.navbar.bg-body-tertiary,
.navbar.shadow {
  background: var(--sg-card) !important;
  border-bottom: 2px solid var(--sg-accent) !important;
  box-shadow: none !important;
  padding: 0.9rem 1.4rem !important;
}

.navbar-brand {
  display: flex !important;
  align-items: center !important;
  gap: 0.85rem !important;
  color: var(--sg-ink) !important;
  font-size: 0.82rem !important;
  font-weight: 500 !important;
}

.navbar-brand:hover {
  color: var(--sg-accent) !important;
}

img.menu-logo {
  display: block !important;
  height: 28px !important;
  width: auto !important;
  max-height: 28px !important;
  margin: 0 !important;
}

.nav-link {
  color: var(--sg-muted) !important;
  font-size: 0.84rem !important;
  padding: 0.35rem 0.75rem !important;
}

.nav-link.active,
.nav-link:hover {
  color: var(--sg-accent) !important;
  font-weight: 600 !important;
}

.navbar-toggler {
  border-color: var(--sg-line) !important;
}

.card-body > .container {
  max-width: none;
  padding: 0;
}

.card-body > a {
  display: none !important;
}

.result.alert,
.help.alert,
.alert {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--sg-muted) !important;
  margin: 0 !important;
}

.result.alert {
  color: var(--sg-accent) !important;
  font-size: 1.2rem !important;
  font-weight: 700 !important;
  padding: 1.4rem 1.5rem 0.3rem !important;
}

.result.alert .fa {
  display: none;
}

.help.alert {
  background: var(--sg-warn-bg) !important;
  padding: 0.75rem 1.5rem !important;
  font-size: 0.9rem !important;
  line-height: 1.5;
  color: var(--sg-ink) !important;
}

.alert-info {
  padding: 1.15rem 1.5rem 1.5rem !important;
}

.col-form-label,
label {
  color: var(--sg-ink) !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-align: left !important;
  font-weight: 700 !important;
}

@media (min-width: 576px) {
  .col-form-label.text-end {
    text-align: left !important;
  }
}

.input-group-text {
  background: var(--sg-bg) !important;
  color: var(--sg-accent) !important;
  border: 1px solid var(--sg-line) !important;
  border-right: 0 !important;
}

.form-control,
input[type="text"],
input[type="password"],
input[type="email"] {
  background: #ffffff !important;
  color: var(--sg-ink) !important;
  border: 1px solid var(--sg-line) !important;
  box-shadow: none !important;
}

.form-control:focus {
  border-color: var(--sg-accent) !important;
  box-shadow: 0 0 0 2px rgba(63, 42, 120, 0.18) !important;
}

.btn,
.btn-success,
input[type="submit"],
button[type="submit"] {
  background: var(--sg-accent) !important;
  color: var(--sg-on-accent) !important;
  border: 0 !important;
  border-radius: 3px !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-size: 0.78rem !important;
  padding: 0.7rem 1.35rem !important;
}

.btn:hover,
button[type="submit"]:hover {
  background: var(--sg-accent-hover) !important;
  color: var(--sg-on-accent) !important;
}

.alert-danger,
.result.alert-danger {
  color: var(--sg-danger) !important;
  background: #fef2f1 !important;
  padding: 0.85rem 1.5rem !important;
}

img[alt="captcha"] {
  border: 1px solid var(--sg-line);
  border-radius: 3px;
  background: #fff;
}

#captcha-refresh {
  color: var(--sg-accent) !important;
  cursor: pointer;
}

a {
  color: var(--sg-accent) !important;
}

::-moz-selection {
  background: var(--sg-accent);
  color: #fff;
}

::selection {
  background: var(--sg-accent);
  color: #fff;
}
