:root {
  --qa-ink: #f2f2f2;
  --qa-muted: #9a9a9a;
  --qa-paper: #0a0a0a;
  --qa-card: #141414;
  --qa-line: #2a2a2a;
  --qa-accent: #c1121f;
  --qa-accent-2: #9b0d18;
  --qa-accent-dark: #7a0a12;
  --qa-gold: #c1121f;
  --qa-gold-soft: #ff4d57;
  --qa-ok: #1f8a3b;
  --qa-bad: #c1121f;
  --qa-shadow: 0 10px 28px rgba(0, 0, 0, 0.55);
  --qa-font-display: "Oswald", "Arial Narrow", sans-serif;
  --qa-font-body: "IBM Plex Sans", "Segoe UI", sans-serif;
  --qa-radius: 0.25rem;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  display: flex;
  flex-direction: column;
  font-family: var(--qa-font-body);
  color: var(--qa-ink);
  background:
    radial-gradient(900px 420px at 0% 0%, rgba(193, 18, 31, 0.18), transparent 55%),
    radial-gradient(700px 380px at 100% 10%, rgba(255, 255, 255, 0.04), transparent 50%),
    repeating-linear-gradient(
      0deg,
      transparent,
      transparent 2px,
      rgba(255, 255, 255, 0.015) 2px,
      rgba(255, 255, 255, 0.015) 3px
    ),
    linear-gradient(180deg, #050505 0%, #0d0d0d 45%, #111 100%);
  min-height: 100vh;
}

h1, h2, h3, .brand {
  font-family: var(--qa-font-display);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-weight: 600;
  color: #fff;
}

a { color: var(--qa-gold-soft); text-decoration: none; }
a:hover { color: #fff; }

.navbar-qa {
  background: #000;
  border-bottom: 3px solid var(--qa-accent);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.65);
  padding: 0.65rem 0;
}
.navbar-qa .navbar-brand,
.navbar-qa .nav-link {
  color: #f2f2f2 !important;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  font-size: 0.82rem;
}
.navbar-qa .nav-link:hover,
.navbar-qa .nav-link.active { color: var(--qa-gold-soft) !important; }
.is-aluno .navbar-qa .nav-link.active {
  color: var(--qa-gold-soft) !important;
  box-shadow: inset 0 -2px 0 var(--qa-accent);
}
.is-aluno .navbar-qa .nav-link-questoes {
  position: relative;
  padding: 0.28rem 0.55rem;
  border: 1px solid transparent;
  border-radius: 2px;
  color: #fff !important;
  box-shadow: inset 0 -2px 0 var(--qa-accent);
}
.is-aluno .navbar-qa .nav-link-questoes.active {
  background: rgba(193, 18, 31, 0.22);
  border-color: var(--qa-accent);
  box-shadow: 0 0 10px rgba(193, 18, 31, 0.28);
  color: #fff !important;
}

.nav-concurso-destaque {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 0.22rem;
  max-width: 11.5rem;
  background: rgba(193, 18, 31, 0.16);
  border: 1px solid var(--qa-accent);
  box-shadow: 0 0 12px rgba(193, 18, 31, 0.22);
  border-radius: 2px;
  padding: 0.28rem 0.45rem 0.32rem;
  margin-left: 0.35rem;
  min-width: 0;
}
.nav-concurso-nome {
  display: block;
  max-width: 100%;
  color: #fff;
  font-family: var(--qa-font-display);
  font-weight: 700;
  font-size: 0.72rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.15;
}
.nav-concurso-trocar {
  color: #fff !important;
  font-size: 0.58rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration: none;
  border: 1px solid rgba(255, 255, 255, 0.45);
  border-radius: 2px;
  padding: 0.14rem 0.38rem;
  line-height: 1;
  white-space: nowrap;
  align-self: stretch;
  text-align: center;
}
.nav-concurso-trocar:hover,
.nav-concurso-trocar:focus-visible {
  background: #fff;
  color: #000 !important;
  border-color: #fff;
}

@media (max-width: 991.98px) {
  .nav-concurso-destaque {
    width: 100%;
    max-width: none;
    margin: 0.4rem 0 0.55rem;
    padding: 0.55rem 0.7rem;
    align-items: stretch;
  }
  .nav-concurso-nome {
    font-size: 0.9rem;
    white-space: normal;
    overflow: visible;
    text-overflow: unset;
  }
  .nav-concurso-trocar {
    font-size: 0.72rem;
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.28rem 0.55rem;
  }
}

.brand-mark {
  font-family: var(--qa-font-display);
  font-weight: 700;
  font-size: 1.2rem;
  letter-spacing: 0.08em;
  color: #fff !important;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
}
.brand-logo {
  display: block;
  height: 26px;
  width: auto;
  max-width: 132px;
  object-fit: contain;
  flex-shrink: 0;
}
.brand-logo-lg {
  height: 56px;
  max-width: 180px;
}
.brand-logo-preview {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 3.6rem;
  padding: 0.65rem;
  background: #0a0a0a;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 2px;
}
.brand-logo-preview img {
  height: 36px;
  width: auto;
  max-width: 160px;
  object-fit: contain;
}
.auth-insignia .brand-logo-lg {
  margin: 0 auto;
}

.icon-skull,
.icon-bones,
.icon-ig,
.icon-duelo,
.icon-eye {
  display: inline-block;
  vertical-align: middle;
  flex-shrink: 0;
  width: 1.1rem;
  height: 1.1rem;
}
.icon-boonie {
  display: inline-block;
  width: 1.45rem;
  height: 1.45rem;
  object-fit: contain;
  vertical-align: middle;
  flex-shrink: 0;
  /* Vermelho do sistema (#c1121f), sem o tom rosa do filtro anterior */
  filter: brightness(0) saturate(100%) invert(13%) sepia(94%) saturate(6054%) hue-rotate(346deg) brightness(89%) contrast(97%);
}
.qa-badge-skull.icon-boonie {
  /* Na lista, mantÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ©m contraste das ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ³rbitas */
  filter: grayscale(1) brightness(0.75) sepia(1) hue-rotate(-48deg) saturate(7) contrast(1.25);
}
.brand-skull {
  width: 1.55rem !important;
  height: 1.55rem !important;
  color: var(--qa-accent);
}
.mini-skull {
  width: 1rem !important;
  height: 1rem !important;
}
h1 .mini-skull,
h1 .icon-skull,
.page-hero h1 .icon-skull {
  width: 1.15rem !important;
  height: 1.15rem !important;
  margin-right: 0.35rem;
  vertical-align: -0.1em;
}
.footer-boonie {
  width: 2.4rem !important;
  height: 2.4rem !important;
}
.skull-insignia {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  background: #000;
  border: 2px solid var(--qa-accent);
  border-radius: 50%;
  box-shadow: 0 0 0 3px #111, 0 0 18px rgba(193, 18, 31, 0.45);
}
.skull-insignia .icon-skull,
.skull-insignia .icon-bones {
  width: auto;
  height: auto;
}
.skull-insignia .insignia-boonie {
  width: 3rem !important;
  height: 3rem !important;
}
.insignia-bones {
  position: absolute;
  width: 48px;
  height: 48px;
  color: #fff;
  opacity: 0.9;
}
.insignia-skull {
  position: relative;
  z-index: 1;
  width: 26px !important;
  height: 26px !important;
  color: var(--qa-accent);
}

.skull-watermark {
  position: absolute;
  right: 6%;
  top: 50%;
  transform: translateY(-50%);
  width: 110px !important;
  height: 110px !important;
  color: rgba(193, 18, 31, 0.14);
  pointer-events: none;
  z-index: 0;
}
.hero-home { position: relative; overflow: hidden; }
.hero-home .hero-inner { position: relative; z-index: 1; }

.page-hero .skull-corner {
  position: absolute;
  right: 1.1rem;
  top: 1.1rem;
  transform: none;
  width: 36px !important;
  height: 36px !important;
  color: rgba(255, 255, 255, 0.22);
  z-index: 0;
  pointer-events: none;
}
.page-hero > *:not(.skull-corner) { position: relative; z-index: 1; }

.motivation-banner .tag {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}
.motivation-banner .tag .mini-skull {
  width: 0.95rem !important;
  height: 0.95rem !important;
  color: var(--qa-accent);
}

.timer-chip .skull-timer {
  width: 0.95rem !important;
  height: 0.95rem !important;
  color: var(--qa-accent);
}

.footer-qa .footer-skulls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  margin-bottom: 0.35rem;
  color: var(--qa-accent);
}
.footer-qa .footer-skulls svg {
  width: 1.15rem !important;
  height: 1.15rem !important;
}

.btn-qa .btn-skull,
.btn-qa .btn-ig,
.btn-qa-outline .btn-ig {
  width: 1rem !important;
  height: 1rem !important;
  margin-right: 0.35rem;
  vertical-align: -0.1rem;
}

.rank-strip span {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
}
.rank-strip .mini-skull {
  width: 0.85rem !important;
  height: 0.85rem !important;
}

@media (max-width: 768px) {
  .skull-watermark { width: 72px !important; height: 72px !important; opacity: 0.4; right: 4%; }
  .page-hero .skull-corner { width: 28px !important; height: 28px !important; right: 0.75rem; top: 0.75rem; }
}

.user-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: #111;
  border: 1px solid #333;
  border-radius: 2px;
  padding: 0.2rem 0.65rem 0.2rem 0.2rem;
  color: #f2f2f2 !important;
  font-size: 0.8rem;
  text-transform: none;
  letter-spacing: 0;
  text-decoration: none;
}
a.user-chip:hover {
  border-color: var(--qa-accent);
  color: #fff !important;
}
.user-avatar {
  width: 28px;
  height: 28px;
  border-radius: 2px;
  background: #000;
  border: 1px solid var(--qa-accent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.8rem;
  font-weight: 700;
  color: #fff;
}

.motivation-banner {
  background: linear-gradient(90deg, #000, #1a1a1a);
  color: #f2f2f2;
  border: 1px solid #2a2a2a;
  border-left: 4px solid var(--qa-accent);
  padding: 0.85rem 1.1rem;
  margin-bottom: 1.1rem;
  font-size: 0.95rem;
  box-shadow: var(--qa-shadow);
  animation: riseIn 0.5s ease-out;
}
.motivation-banner .tag {
  display: inline-block;
  font-family: var(--qa-font-display);
  font-size: 0.7rem;
  letter-spacing: 0.12em;
  color: var(--qa-accent);
  margin-bottom: 0.25rem;
}
.motivation-banner p { margin: 0; font-style: italic; opacity: 0.95; }

.hero-home {
  min-height: calc(100vh - 180px);
  display: flex;
  align-items: center;
  padding: 3rem 0 4rem;
  position: relative;
}
.hero-home .hero-inner {
  max-width: 680px;
  animation: riseIn 0.7s ease-out;
}
.hero-home .eyebrow {
  display: inline-block;
  background: #000;
  color: #fff;
  font-family: var(--qa-font-display);
  font-weight: 600;
  font-size: 0.78rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 0.4rem 0.75rem;
  border-left: 3px solid var(--qa-accent);
  margin-bottom: 1rem;
}
.hero-home h1 {
  font-size: clamp(2.4rem, 6vw, 3.8rem);
  line-height: 1.05;
  margin-bottom: 1rem;
  color: #fff;
  text-shadow: 0 0 24px rgba(193, 18, 31, 0.25);
}
.hero-home p.lead-copy {
  font-size: 1.1rem;
  color: var(--qa-muted);
  max-width: 36rem;
  line-height: 1.65;
}

@keyframes riseIn {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: none; }
}
@keyframes pulseSoft {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.04); }
}
@keyframes tick {
  from { opacity: 0.7; }
  to { opacity: 1; }
}
@keyframes shakeMiss {
  0%, 100% { transform: translateX(0); }
  20% { transform: translateX(-6px); }
  40% { transform: translateX(6px); }
  60% { transform: translateX(-4px); }
  80% { transform: translateX(4px); }
}
@keyframes hitFlash {
  0% { box-shadow: inset 0 0 0 0 rgba(31, 138, 59, 0.0); }
  40% { box-shadow: inset 0 0 0 2px rgba(31, 138, 59, 0.55); }
  100% { box-shadow: inset 0 0 0 0 rgba(31, 138, 59, 0.0); }
}
@keyframes xpFloatUp {
  0% { opacity: 0; transform: translate(-50%, 8px) scale(0.85); }
  15% { opacity: 1; transform: translate(-50%, 0) scale(1); }
  100% { opacity: 0; transform: translate(-50%, -42px) scale(1.05); }
}
@keyframes stampPop {
  0% { transform: scale(0.6); opacity: 0; }
  60% { transform: scale(1.08); opacity: 1; }
  100% { transform: scale(1); opacity: 1; }
}
@keyframes masteryFill {
  from { width: 0; }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  .timer-chip,
  .timer-chip .dot,
  .modal-promocao-stamp,
  .mission-stamp,
  .patente-ladder-row.is-atual,
  .patente-ladder-row.is-elegivel,
  .patente-here-pip,
  .patente-now-bar > span::after,
  .operator-progress-bar > span::after,
  .patente-ladder-track > span::after,
  .mastery-bar span::after,
  .progress-thin > span::after,
  .operator-stat.is-hot,
  .elite-row.is-me,
  .elite-card.is-me,
  .mobile-card.is-me,
  .auth-insignia,
  .login-splash-insignia,
  .login-splash-screen .skull-watermark {
    animation: none !important;
  }
}

.btn-qa {
  background: linear-gradient(180deg, #e11d2e, var(--qa-accent));
  border: 1px solid #7a0a12;
  color: #fff;
  font-family: var(--qa-font-display);
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 0.65rem 1.25rem;
  border-radius: 2px;
  box-shadow: 0 4px 0 #000;
  transition: transform 0.12s ease, box-shadow 0.12s ease;
}
.btn-qa:hover {
  background: linear-gradient(180deg, #ff2a3b, #c1121f);
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 5px 0 #000;
}
.btn-qa:active {
  transform: translateY(2px);
  box-shadow: 0 1px 0 #000;
}
.btn-qa:disabled { opacity: 0.5; transform: none; box-shadow: none; }
.btn-qa-outline {
  background: transparent;
  border: 2px solid #fff;
  color: #fff;
  font-family: var(--qa-font-display);
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border-radius: 2px;
  padding: 0.55rem 1.15rem;
}
.btn-qa-outline:hover {
  background: #fff;
  color: #000;
}

.panel {
  background: var(--qa-card);
  border: 1px solid var(--qa-line);
  border-top: 3px solid var(--qa-accent);
  border-radius: var(--qa-radius);
  padding: 1.35rem 1.5rem;
  margin-bottom: 1rem;
  box-shadow: var(--qa-shadow);
}

.page-hero {
  background:
    linear-gradient(135deg, #000 0%, #1a0507 55%, #2a0a0e 100%),
    repeating-linear-gradient(45deg, transparent, transparent 8px, rgba(255,255,255,0.02) 8px, rgba(255,255,255,0.02) 16px);
  color: #f2f2f2;
  border-radius: var(--qa-radius);
  border-bottom: 3px solid var(--qa-accent);
  padding: 1.6rem 1.75rem 1.4rem;
  margin-bottom: 1.15rem;
  position: relative;
  overflow: hidden;
  box-shadow: var(--qa-shadow);
}
.page-hero h1 {
  margin: 0 0 0.35rem;
  font-size: clamp(1.45rem, 3vw, 2rem);
  color: #fff;
}
.page-hero p {
  margin: 0;
  opacity: 0.88;
  text-transform: none;
  letter-spacing: 0;
  font-family: var(--qa-font-body);
  color: #d0d0d0;
}

.stat-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 0.75rem;
}
.stat-item {
  background: #121212;
  border: 1px solid #2a2a2a;
  border-radius: var(--qa-radius);
  padding: 1rem 0.75rem;
  text-align: center;
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.35);
  transition: transform 0.15s ease;
}
.stat-item:hover { transform: translateY(-2px); border-color: #444; }
.stat-item .stat-label {
  display: block;
  font-size: 0.68rem;
  color: var(--qa-muted);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-family: var(--qa-font-display);
  margin-top: 0.25rem;
}
.stat-item strong {
  display: block;
  font-size: 1.4rem;
  font-family: var(--qa-font-display);
  color: #fff;
  line-height: 1.2;
  letter-spacing: 0.02em;
}
.stat-item.highlight {
  background: linear-gradient(160deg, #1a0507, #3a0c12);
  border-color: var(--qa-accent);
}
.stat-item.highlight strong,
.stat-item.highlight .stat-label { color: #fff; }
.stat-item.highlight strong { color: var(--qa-gold-soft); }

.subject-card {
  border: 1px solid #2a2a2a;
  border-left: 4px solid var(--qa-accent);
  border-radius: var(--qa-radius);
  padding: 0.9rem 1rem;
  margin-bottom: 0.65rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.75rem;
  background: #101010;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.subject-card-rise {
  animation: riseIn 0.45s ease-out both;
  animation-delay: var(--rise-delay, 0s);
}
.subject-card:hover {
  border-color: var(--qa-accent);
  box-shadow: 0 4px 16px rgba(193, 18, 31, 0.2);
}
.subject-card .subject-name {
  margin: 0;
  font-weight: 700;
  font-family: var(--qa-font-display);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-size: 0.95rem;
  color: #fff;
}
.subject-main {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
.mastery-row {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  max-width: 16rem;
}
.mastery-label {
  font-size: 0.72rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-family: var(--qa-font-display);
  color: var(--qa-muted);
}
.mastery-label.is-new { color: #888; }
.mastery-label.is-mid { color: #d4a017; }
.mastery-label.is-ok { color: #3ecf6a; }
.mastery-bar {
  height: 6px;
  position: relative;
  background: #121212;
  border: 1px solid #2a2a2a;
  border-radius: 0;
  overflow: hidden;
}
.mastery-bar::before,
.progress-thin::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background: repeating-linear-gradient(
    90deg,
    transparent 0 7px,
    rgba(0, 0, 0, 0.5) 7px 8px
  );
}
.mastery-bar span {
  display: block;
  height: 100%;
  position: relative;
  background: repeating-linear-gradient(90deg, #6a5410 0 6px, #d4a017 6px 8px);
  animation: masteryFill 0.7s ease-out;
}
.mastery-bar span::after,
.progress-thin > span::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 2px;
  background: #fff6f6;
  box-shadow: 0 0 6px var(--qa-accent);
  animation: tacScan 2.8s linear infinite;
}
.mastery-bar.is-ok span {
  background: repeating-linear-gradient(90deg, #14662c 0 6px, #1f8a3b 6px 8px);
}
.mastery-bar.is-ok span::after { display: none; }

.challenge-topbar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.45rem;
}
.challenge-count {
  margin-top: 0.15rem;
  font-family: var(--qa-font-display);
  font-size: 0.95rem;
  letter-spacing: 0.06em;
  color: #cfcfcf;
  font-variant-numeric: tabular-nums;
}
.timer-chip::after,
.quick-link::after,
.mobile-card.is-me::after,
.mission-end::after {
  content: "";
  position: absolute;
  inset: 5px;
  pointer-events: none;
  z-index: 1;
  background:
    linear-gradient(var(--qa-accent), var(--qa-accent)) 0 0 / 8px 1px no-repeat,
    linear-gradient(var(--qa-accent), var(--qa-accent)) 0 0 / 1px 8px no-repeat,
    linear-gradient(var(--qa-accent), var(--qa-accent)) 100% 0 / 8px 1px no-repeat,
    linear-gradient(var(--qa-accent), var(--qa-accent)) 100% 0 / 1px 8px no-repeat,
    linear-gradient(var(--qa-accent), var(--qa-accent)) 0 100% / 8px 1px no-repeat,
    linear-gradient(var(--qa-accent), var(--qa-accent)) 0 100% / 1px 8px no-repeat,
    linear-gradient(var(--qa-accent), var(--qa-accent)) 100% 100% / 8px 1px no-repeat,
    linear-gradient(var(--qa-accent), var(--qa-accent)) 100% 100% / 1px 8px no-repeat;
}
.mission-end::after { inset: 8px; }
.timer-chip {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  background:
    repeating-linear-gradient(
      0deg,
      transparent,
      transparent 3px,
      rgba(193, 18, 31, 0.08) 3px,
      rgba(193, 18, 31, 0.08) 4px
    ),
    #000;
  color: #fff;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.06em;
  padding: 0.45rem 0.85rem;
  border-radius: 2px;
  border: 1px solid var(--qa-accent);
  font-size: 0.95rem;
  font-family: var(--qa-font-display);
  animation: tacBeacon 1.8s steps(2, end) infinite;
}
.timer-chip .dot {
  width: 8px;
  height: 8px;
  border-radius: 0;
  border: 1px solid var(--qa-accent);
  background:
    linear-gradient(var(--qa-accent), var(--qa-accent)) 50% 0 / 1px 100% no-repeat,
    linear-gradient(var(--qa-accent), var(--qa-accent)) 0 50% / 100% 1px no-repeat,
    #000;
  animation: tacBlink 1.1s steps(1, end) infinite;
}

.feedback-box {
  border-radius: var(--qa-radius);
  padding: 1.4rem 1.5rem;
  margin: 1rem 0;
  animation: riseIn 0.35s ease-out;
  box-shadow: var(--qa-shadow);
  background: #141414;
  color: #f2f2f2;
  position: relative;
  overflow: hidden;
}
.feedback-box.ok {
  border: 1px solid #1f8a3b;
  border-left: 5px solid var(--qa-ok);
  background: #0d1610;
}
.feedback-box.bad {
  border: 1px solid #7a0a12;
  border-left: 5px solid var(--qa-bad);
  background: #16080a;
}
.feedback-box.feedback-hit {
  animation: riseIn 0.35s ease-out, hitFlash 0.7s ease-out;
}
.feedback-box.feedback-miss {
  animation: riseIn 0.2s ease-out, shakeMiss 0.45s ease-out;
}
.feedback-box h3 { margin-top: 0; font-size: 1.2rem; color: #fff; }
.feedback-mark {
  display: inline-block;
  margin-left: 0.45rem;
  font-size: 0.72rem;
  font-family: var(--qa-font-display);
  letter-spacing: 0.08em;
  padding: 0.18rem 0.45rem;
  border-radius: 2px;
  vertical-align: middle;
  animation: stampPop 0.45s ease-out;
}
.feedback-mark.is-ok {
  background: #146b2e;
  color: #fff;
  border: 1px solid #3ecf6a;
}
.feedback-mark.is-bad {
  background: #5c0a12;
  color: #ffb4b8;
  border: 1px solid var(--qa-accent);
}
.xp-float-host {
  position: absolute;
  top: 1.1rem;
  right: 1.4rem;
  width: 0;
  height: 0;
  pointer-events: none;
}
.xp-float {
  position: absolute;
  left: 0;
  top: 0;
  transform: translate(-50%, 0);
  font-family: var(--qa-font-display);
  font-weight: 700;
  letter-spacing: 0.06em;
  font-size: 1.05rem;
  white-space: nowrap;
  animation: xpFloatUp 1.15s ease-out forwards;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.65);
}
.xp-float.is-gain { color: #3ecf6a; }
.xp-float.is-loss { color: #ff8a90; }
.xp-pill {
  display: inline-block;
  background: var(--qa-accent);
  color: #fff;
  font-weight: 700;
  font-size: 0.8rem;
  padding: 0.2rem 0.55rem;
  border-radius: 2px;
  font-family: var(--qa-font-display);
  letter-spacing: 0.04em;
}
.xp-pill-bad {
  background: #3a3a3a;
  border: 1px solid #666;
  color: #ffb4b8;
}
.xp-pill-safe {
  background: #1a2a1e;
  border: 1px solid #2f6b3f;
  color: #8fd4a4;
}
.xp-pill-combo {
  background: #2a2208;
  border: 1px solid #c9a227;
  color: #f3e6b0;
}
.meta-hit-banner {
  border: 1px solid #2f6b3f;
  background: #0d1610;
  padding: 0.85rem 1rem;
  border-radius: 2px;
  animation: riseIn 0.4s ease-out, hitFlash 0.8s ease-out;
}
.patente-drop-banner {
  border: 1px solid #7a1a22;
  background: #14080a;
  padding: 0.85rem 1rem;
  border-radius: 2px;
  text-align: left;
  color: #f2f2f2;
}
.patente-drop-banner strong {
  display: block;
  font-family: var(--qa-font-display);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-size: 0.82rem;
  color: #ffd0d3;
  margin-bottom: 0.2rem;
}
.modal-patente-drop {
  border-top-color: #ff4d57;
}
.next-step-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  align-items: center;
}
.rank-strip-link,
.rank-strip > a:not(.btn),
.rank-strip > button:not(.btn) {
  display: inline-flex;
  align-items: center;
  background: transparent;
  border: 2px solid #fff;
  color: #fff;
  font-family: var(--qa-font-display);
  font-weight: 600;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  padding: 0.18rem 0.55rem;
  border-radius: 2px;
  line-height: 1.3;
  cursor: pointer;
}
.rank-strip-link:hover,
.rank-strip > a:not(.btn):hover,
.rank-strip > button:not(.btn):hover {
  background: #fff;
  color: #000;
}
.page-hero-compact h1 { margin-bottom: 0.35rem; }

.operator-card {
  display: flex;
  flex-direction: column;
  gap: 1.15rem;
  padding: 1.5rem 1.6rem 1.35rem;
}
.operator-top {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem 1.25rem;
}
.operator-id { min-width: min(100%, 220px); flex: 1 1 16rem; }
.operator-badges {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.7rem;
}
.qa-duelo-chip {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  min-height: 30px;
  padding: 0.3rem 0.65rem;
  border: 1px solid var(--qa-gold-soft);
  border-radius: 2px;
  background: #140608;
  color: #fff;
  font-family: var(--qa-font-display);
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  line-height: 1;
  text-decoration: none;
  box-shadow: 0 0 12px rgba(193, 18, 31, 0.4);
  animation: dueloChipPulse 1.8s ease-in-out infinite;
}
.qa-duelo-chip:hover,
.qa-duelo-chip:focus-visible {
  color: #fff;
  border-color: #fff;
  background: #1c080c;
  outline: none;
  filter: brightness(1.12);
}
.qa-duelo-chip .icon-duelo {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}
.qa-duelo-chip-label { line-height: 1; }
.qa-duelo-chip-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.15rem;
  height: 1.15rem;
  padding: 0 0.28rem;
  border-radius: 99px;
  background: var(--qa-accent);
  color: #fff;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
}
@keyframes dueloChipPulse {
  0%, 100% { box-shadow: 0 0 8px rgba(193, 18, 31, 0.28); }
  50% { box-shadow: 0 0 16px rgba(255, 77, 87, 0.62); }
}
@media (prefers-reduced-motion: reduce) {
  .qa-duelo-chip { animation: none; }
}
.qa-simulado-chip {
  border-color: rgba(232, 122, 26, 0.55);
  background: #141008;
  box-shadow: 0 0 12px rgba(232, 122, 26, 0.35);
  animation-name: simuladoChipPulse;
}
@keyframes simuladoChipPulse {
  0%, 100% { box-shadow: 0 0 8px rgba(232, 122, 26, 0.28); }
  50% { box-shadow: 0 0 16px rgba(255, 170, 70, 0.55); }
}
.nav-duelo-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.15rem;
  height: 1.15rem;
  margin-left: 0.3rem;
  padding: 0 0.28rem;
  border-radius: 99px;
  background: var(--qa-accent);
  color: #fff !important;
  font-size: 0.65rem;
  font-weight: 700;
  line-height: 1;
  vertical-align: middle;
}
.operator-card h1 { margin: 0 0 0.3rem; }
.operator-id p {
  margin: 0;
  max-width: 34rem;
}
.operator-card .skull-corner {
  top: 50%;
  right: 0.85rem;
  transform: translateY(-50%);
  width: 108px !important;
  height: 108px !important;
  color: rgba(255, 255, 255, 0.06);
}
.operator-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
  flex-shrink: 0;
}
.operator-actions .btn {
  min-height: 38px;
  padding: 0.4rem 0.9rem;
  font-size: 0.78rem;
}
.operator-action-ghost {
  border-color: rgba(255, 255, 255, 0.35) !important;
  color: #d8d8d8 !important;
}
.operator-action-ghost:hover {
  border-color: #fff !important;
  color: #000 !important;
  background: #fff;
}
.operator-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(138px, 1fr));
  gap: 0.65rem;
}
.operator-stat {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  background:
    repeating-linear-gradient(
      0deg,
      transparent,
      transparent 3px,
      rgba(193, 18, 31, 0.05) 3px,
      rgba(193, 18, 31, 0.05) 4px
    ),
    rgba(0, 0, 0, 0.38);
  border: 1px solid rgba(193, 18, 31, 0.38);
  border-radius: 2px;
  padding: 0.7rem 0.8rem 0.65rem;
  min-height: 4.4rem;
  text-decoration: none;
  color: inherit;
}
.operator-stat::after,
.tac-corners::after {
  content: "";
  position: absolute;
  inset: 4px;
  pointer-events: none;
  background:
    linear-gradient(var(--qa-accent), var(--qa-accent)) 0 0 / 8px 1px no-repeat,
    linear-gradient(var(--qa-accent), var(--qa-accent)) 0 0 / 1px 8px no-repeat,
    linear-gradient(var(--qa-accent), var(--qa-accent)) 100% 0 / 8px 1px no-repeat,
    linear-gradient(var(--qa-accent), var(--qa-accent)) 100% 0 / 1px 8px no-repeat,
    linear-gradient(var(--qa-accent), var(--qa-accent)) 0 100% / 8px 1px no-repeat,
    linear-gradient(var(--qa-accent), var(--qa-accent)) 0 100% / 1px 8px no-repeat,
    linear-gradient(var(--qa-accent), var(--qa-accent)) 100% 100% / 8px 1px no-repeat,
    linear-gradient(var(--qa-accent), var(--qa-accent)) 100% 100% / 1px 8px no-repeat;
}
.tac-corners { position: relative; }
.tac-corners::after { inset: 7px; z-index: 2; }
.operator-stat-link:hover,
.operator-stat-link:focus-visible {
  border-color: var(--qa-accent);
  background: rgba(193, 18, 31, 0.16);
  color: #fff;
  text-decoration: none;
}
.operator-stat-link:focus-visible {
  outline: 2px solid var(--qa-gold-soft);
  outline-offset: 2px;
}
.operator-stat-label {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-family: var(--qa-font-display);
  font-size: 0.68rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #b8b8b8;
}
.operator-stat .mini-skull {
  width: 0.8rem !important;
  height: 0.8rem !important;
  color: var(--qa-gold-soft);
}
.operator-stat strong {
  font-family: var(--qa-font-display);
  font-size: 1.35rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  line-height: 1.1;
  color: #fff;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.operator-stat small {
  font-size: 0.72rem;
  color: #9a9a9a;
  letter-spacing: 0;
  text-transform: none;
  font-family: var(--qa-font-body);
}
.operator-stat.is-hot {
  border-color: #c45c12;
  background:
    repeating-linear-gradient(
      0deg,
      transparent,
      transparent 3px,
      rgba(196, 92, 18, 0.08) 3px,
      rgba(196, 92, 18, 0.08) 4px
    ),
    rgba(26, 16, 8, 0.7);
  animation: tacBeacon 1.8s steps(2, end) infinite;
}
.operator-stat.is-hot .operator-stat-label,
.operator-stat.is-hot small { color: #ffc48a; }
.operator-stat.is-hot .streak-flame {
  background: #e87a1a;
  box-shadow: 0 0 8px rgba(232, 122, 26, 0.55);
  animation: pulseSoft 1.4s ease infinite;
}
.operator-progress { width: 100%; }
.operator-progress-head,
.operator-progress-foot {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 0.75rem;
  flex-wrap: wrap;
}
.operator-progress-head {
  font-size: 0.82rem;
  color: #e8e8e8;
  margin-bottom: 0.45rem;
}
.operator-progress-arrow {
  color: var(--qa-gold-soft);
  margin: 0 0.35rem;
  font-family: var(--qa-font-display);
}
.operator-progress-ready {
  color: #8fd4a4;
  font-weight: 600;
}
.operator-progress-bar {
  height: 10px;
  position: relative;
  background: #0a0304;
  border: 1px solid #5a1018;
  border-radius: 0;
  overflow: hidden;
}
.operator-progress-bar::before,
.patente-now-bar::before,
.patente-ladder-track::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background: repeating-linear-gradient(
    90deg,
    transparent 0 9px,
    rgba(0, 0, 0, 0.55) 9px 10px
  );
}
.operator-progress-bar > span {
  display: block;
  height: 100%;
  min-width: 0;
  position: relative;
  background: repeating-linear-gradient(
    90deg,
    #6a0a12 0 8px,
    var(--qa-accent) 8px 10px
  );
  animation: ladderFill 0.9s ease-out both;
}
.operator-progress-foot {
  margin-top: 0.4rem;
  font-size: 0.72rem;
  color: #9a9a9a;
  font-family: var(--qa-font-display);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

@media (max-width: 768px) {
  .operator-card { padding: 1.15rem 1.05rem 1.1rem; gap: 1rem; }
  .operator-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .operator-card .skull-corner {
    width: 72px !important;
    height: 72px !important;
    right: 0.5rem;
  }
  .operator-actions { width: 100%; }
  .operator-actions .btn { flex: 1 1 auto; }
  .operator-card .qa-badge-ig-wide {
    width: auto;
    min-width: 0;
    padding: 0 0.55rem;
  }
  .operator-card .qa-badge-ig-wide .qa-badge-ig-label { display: inline; }
  .operator-card .qa-duelo-chip-label { display: inline; }
}
.meta-panel-compact.is-done {
  border-color: #2f6b3f;
}
.modal-meta-ok .mission-kicker { color: #3ecf6a; }
.meta-stamp-ok { filter: saturate(1.1); }

.subject-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  align-items: center;
  justify-content: flex-end;
}
.study-list {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}
.area-bloco-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 0.5rem;
  margin: 0.85rem 0 0.35rem;
  padding: 0.2rem 0.15rem 0.35rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.area-bloco-head:first-child,
.study-list > .area-bloco-section:first-child .area-bloco-head,
.mesa-materias-tree > .area-bloco-section:first-child .area-bloco-head {
  margin-top: 0;
}
.area-bloco-section {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}
.area-bloco-section.is-filtered-out {
  display: none !important;
}
.edital-print-bloco-title {
  margin: 1.15rem 0 0.55rem;
  padding: 0.45rem 0.65rem;
  font-family: var(--qa-font-display);
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #fff;
  background: var(--qa-accent);
  border: 1px solid var(--qa-accent-dark);
  line-height: 1.25;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}
.edital-print-bloco-title:first-of-type {
  margin-top: 0.35rem;
}
.perf-row-bloco td {
  background: rgba(0, 0, 0, 0.04);
  font-size: 0.75rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding-top: 0.55rem !important;
  padding-bottom: 0.55rem !important;
}
.study-list-head,
.subject-card.subject-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 5.2rem 5.6rem 5rem 9.5rem;
  align-items: center;
  column-gap: 0.65rem;
}
.study-list-head {
  padding: 0 0.75rem 0.2rem;
  font-size: 0.65rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--qa-muted);
  font-family: var(--qa-font-display);
}
.study-list-head span:nth-child(2),
.study-list-head span:nth-child(3),
.study-list-head span:nth-child(4),
.study-list-head-actions {
  text-align: right;
}
.study-list-head-actions { min-height: 1px; }
.subject-card.subject-row {
  padding: 0.5rem 0.75rem;
  margin-bottom: 0;
}
.subject-row .subject-main {
  min-width: 0;
  gap: 0.28rem;
}
.subject-row .subject-name {
  font-size: 0.86rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.subject-row .mastery-bar {
  max-width: none;
  width: 100%;
  height: 4px;
}
.subject-row .subject-metric {
  font-family: var(--qa-font-display);
  font-size: 0.84rem;
  font-variant-numeric: tabular-nums;
  text-align: right;
  color: #ddd;
  letter-spacing: 0.02em;
}
.subject-row .subject-metric.is-mid { color: #d4a017; }
.subject-row .subject-metric.is-ok { color: #3ecf6a; }
.subject-row .subject-metric.is-new { color: #888; }
.subject-row .subject-actions {
  justify-self: end;
  justify-content: flex-end;
  align-items: center;
  gap: 0.75rem;
  width: auto;
}
.subject-row .subject-link {
  color: #bdbdbd;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  white-space: nowrap;
}
.subject-row .subject-link:hover {
  color: #fff;
}
.subject-actions .btn {
  text-transform: none;
  letter-spacing: 0.02em;
  padding-left: 0.65rem;
  padding-right: 0.65rem;
}
.assunto-tree {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}
.assunto-tree .subject-card {
  margin-bottom: 0;
}
.assunto-node.has-children.is-open > .subject-card {
  border-color: var(--qa-accent);
}
.subject-card-lead {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  flex: 1;
  min-width: 0;
}
.subject-card.has-children .subject-main[data-assunto-expand-main] {
  cursor: pointer;
}
.assunto-expand {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  min-height: 2.35rem;
  padding: 0 0.7rem;
  border: 1px solid #d8d8d8;
  border-radius: var(--qa-radius);
  background: transparent;
  color: #fff;
  font-family: var(--qa-font-display);
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
  transition: border-color 0.15s, background 0.15s, color 0.15s;
}
.assunto-expand:hover,
.assunto-expand:focus-visible {
  border-color: var(--qa-accent);
  background: rgba(193, 18, 31, 0.18);
  outline: none;
}
.assunto-expand-icon {
  width: 0.85rem;
  height: 0.85rem;
  flex: 0 0 auto;
  transition: transform 0.18s ease;
}
.assunto-node.is-open > .subject-card .assunto-expand-icon {
  transform: rotate(90deg);
}
.assunto-node.is-open > .subject-card .assunto-expand {
  border-color: var(--qa-accent);
  background: rgba(193, 18, 31, 0.22);
}
.assunto-filhos {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin: 0.5rem 0 0.15rem 0.55rem;
  padding-left: 0.85rem;
  border-left: 2px solid #2a2a2a;
}
.assunto-filhos[hidden] {
  display: none !important;
}
.subject-card.is-child {
  padding: 0.75rem 0.9rem;
  background: #0c0c0c;
}
.assunto-filhos .subject-name {
  font-size: 0.88rem;
}
.study-filter-panel {
  padding: 0.9rem 1rem;
}
.study-filter-row {
  display: grid;
  grid-template-columns: 1fr minmax(140px, 200px);
  gap: 0.65rem;
}
.study-filter-search,
.study-filter-select {
  background: #101010;
  border: 1px solid #2a2a2a;
  color: #f2f2f2;
  border-radius: 2px;
}
.study-filter-search:focus,
.study-filter-select:focus {
  border-color: var(--qa-accent);
  box-shadow: 0 0 0 0.15rem rgba(193, 18, 31, 0.2);
  background: #101010;
  color: #fff;
}
.materia-block.is-filtered-out,
.subject-card.is-filtered-out,
.materia-assunto-row.is-filtered-out {
  display: none !important;
}

.materia-block-head {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 0.75rem;
  padding-bottom: 0.65rem;
  border-bottom: 2px solid var(--qa-line);
}
.materia-block-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}
.materia-outline {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}
.materia-assunto-row {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  padding: 0.45rem 0.35rem;
  border-radius: var(--qa-radius);
  color: #ddd;
}
.materia-assunto-row:hover {
  background: rgba(255, 255, 255, 0.03);
}
.materia-assunto-row.is-sub {
  padding-left: 1.5rem;
  color: #c8c8c8;
}
.materia-assunto-n {
  flex: 0 0 auto;
  min-width: 2.4rem;
  color: var(--qa-accent);
  font-family: var(--qa-font-display);
  font-weight: 600;
  font-size: 0.9rem;
  line-height: 1.4;
}
.materia-assunto-body {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
}
.materia-assunto-nome {
  font-weight: 600;
  line-height: 1.35;
  color: #f0f0f0;
}
.materia-assunto-row.is-item .materia-assunto-nome {
  font-size: 0.98rem;
}
.materia-assunto-meta {
  font-size: 0.78rem;
  color: var(--qa-muted);
}
.materia-assunto-actions {
  flex: 0 0 auto;
  align-self: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  justify-content: flex-end;
}
.materia-assunto-cta {
  flex: 0 0 auto;
  align-self: center;
}

.edital-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.edital-item {
  display: flex;
  gap: 0.75rem;
  padding: 0.85rem 0;
  border-bottom: 1px solid #222;
  animation: riseIn 0.35s ease-out both;
  align-items: center;
}
.edital-item:last-child { border-bottom: 0; }
.edital-check {
  width: 18px;
  height: 18px;
  margin-top: 0;
  border: 1.5px solid #555;
  border-radius: 2px;
  flex-shrink: 0;
  background: #101010;
}
.edital-item.is-coberto .edital-check {
  border-color: #3ecf6a;
  background: #146b2e;
  box-shadow: inset 0 0 0 3px #0d1610;
}
.edital-item.is-em_progresso .edital-check {
  border-color: #d4a017;
  background: linear-gradient(135deg, #d4a017 50%, transparent 50%);
}
.edital-body {
  flex: 1;
  min-width: 0;
}
.edital-title {
  color: #fff;
  font-weight: 600;
  line-height: 1.35;
}
.edital-num {
  color: var(--qa-accent);
  font-family: var(--qa-font-display);
  letter-spacing: 0.04em;
  margin-right: 0.35rem;
}
.edital-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 0.75rem;
  margin-top: 0.35rem;
  font-size: 0.8rem;
  color: var(--qa-muted);
}
.edital-action {
  flex-shrink: 0;
  align-self: center;
}
.edital-action .btn {
  font-size: 0.72rem;
  padding: 0.4rem 0.75rem;
  letter-spacing: 0.04em;
  white-space: nowrap;
}
@media (max-width: 640px) {
  .edital-item {
    flex-wrap: wrap;
    align-items: flex-start;
  }
  .edital-check {
    margin-top: 0.2rem;
  }
  .edital-action {
    width: 100%;
    padding-left: 1.7rem;
  }
  .edital-action .btn {
    width: 100%;
  }
}

.mission-promo-win {
  position: relative;
  overflow: hidden;
}
.promo-ceremony { position: relative; z-index: 1; }
.promo-burst {
  position: absolute;
  inset: -20% -10% auto;
  height: 220px;
  background:
    radial-gradient(circle at 50% 40%, rgba(193, 18, 31, 0.35), transparent 55%),
    radial-gradient(circle at 30% 60%, rgba(212, 160, 23, 0.18), transparent 45%),
    radial-gradient(circle at 70% 55%, rgba(62, 207, 106, 0.12), transparent 40%);
  pointer-events: none;
  animation: riseIn 0.6s ease-out;
}
.promo-stamp-win {
  animation: stampPop 0.55s ease-out, pulseSoft 1.8s ease 0.55s infinite;
}
.promo-rank-track {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
}
.promo-arrow-anim {
  font-size: 1.4rem;
  color: var(--qa-gold-soft, #d4a017);
  animation: riseIn 0.5s ease-out 0.15s both;
}
.patente-promo-next {
  animation: stampPop 0.6s ease-out 0.2s both;
}

.badge-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.4rem;
}
.badge-grid-modal {
  grid-template-columns: 1fr;
  text-align: left;
  gap: 0.45rem;
}
.badge-grid-modal .qa-badge strong,
.badge-grid-modal .qa-badge span {
  white-space: normal;
}
.qa-badge {
  border: 1px solid #2a2a2a;
  background: #101010;
  padding: 0.4rem 0.45rem;
  border-radius: 2px;
  display: flex;
  flex-direction: column;
  gap: 0;
  min-width: 0;
}
.qa-badge-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.3rem;
}
.qa-badge-main {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  min-width: 0;
  flex: 1;
}
.qa-badge-text {
  display: flex;
  flex-direction: column;
  gap: 0.05rem;
  min-width: 0;
}
.qa-badge-skull,
.qa-badge-icon {
  width: 1.2rem !important;
  height: 1.2rem !important;
  margin-top: 0;
  flex-shrink: 0;
  color: #6a6a6a;
}
.qa-badge.is-earned .qa-badge-icon { color: #3ecf6a; }
.qa-badge.is-rara .qa-badge-icon { color: #6cb4e8; }
.qa-badge.is-epica .qa-badge-icon { color: #c084fc; }
.qa-badge.is-lendaria .qa-badge-icon { color: #e0b84a; }
.qa-badge.is-earned.is-rara .qa-badge-icon { color: #7ec8f8; }
.qa-badge.is-earned.is-epica .qa-badge-icon { color: #d4a5ff; }
.qa-badge.is-earned.is-lendaria .qa-badge-icon { color: #f0c95a; }
.qa-badge-lock {
  display: inline-flex;
  width: 1.15rem;
  height: 1.15rem;
  align-items: center;
  justify-content: center;
  color: #555;
  font-size: 0.85rem;
  line-height: 1;
  flex-shrink: 0;
}
.qa-badge strong {
  font-family: var(--qa-font-display);
  font-size: 0.68rem;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: #888;
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.qa-badge span {
  font-size: 0.62rem;
  color: #666;
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.qa-badge.is-earned {
  border-color: #2f6b3f;
  background: #0d1610;
}
.qa-badge.is-earned strong { color: #3ecf6a; }
.qa-badge.is-earned span { color: #9ab5a3; }
.qa-badge.is-locked { opacity: 0.55; }
.qa-badge-ig {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.2rem;
  width: 30px;
  height: 30px;
  min-width: 30px;
  min-height: 30px;
  padding: 0;
  border-radius: 7px;
  border: 1.5px solid transparent;
  background:
    linear-gradient(#0d1610, #0d1610) padding-box,
    linear-gradient(45deg, #f9ce34, #ee2a7b, #6228d7) border-box;
  color: #fff;
  cursor: pointer;
  flex-shrink: 0;
  touch-action: manipulation;
}
.qa-badge-ig-wide {
  width: auto;
  padding: 0 0.45rem;
}
.qa-badge-ig-label {
  font-family: var(--qa-font-display);
  font-size: 0.62rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  line-height: 1;
}
.qa-badge-ig:hover,
.qa-badge-ig:focus-visible {
  color: #fff;
  filter: brightness(1.15);
  outline: none;
}
.qa-badge-ig .icon-ig {
  width: 13px;
  height: 13px;
}
.badge-share-stamp {
  width: 88px;
  height: 88px;
  margin-inline: auto;
  border-radius: 50%;
  border: 2px solid var(--qa-accent);
  background: #000;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0 0 3px #111, 0 0 18px rgba(193, 18, 31, 0.45);
}
.badge-share-skull {
  width: 3.4rem !important;
  height: 3.4rem !important;
  filter: none !important;
}
.qa-story-hint {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.68rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #9a9a9a;
}
.qa-story-hint .icon-ig {
  width: 0.85rem;
  height: 0.85rem;
  color: #ee2a7b;
}
.modal-story-dialog { max-width: 400px; }
#modal-story { z-index: 1090; }
.story-preview-wrap {
  aspect-ratio: 9 / 16;
  width: min(100%, 220px);
  max-height: min(52vh, 420px);
  margin: 0 auto 1rem;
  border: 1px solid #2a2a2a;
  border-radius: 14px;
  overflow: hidden;
  background: #000;
  display: flex;
  align-items: center;
  justify-content: center;
}
.story-preview-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.btn-reset-link {
  background: none;
  border: 0;
  width: 100%;
  text-align: left;
  padding: 0;
  color: inherit;
}
.btn-reset-link.quick-link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.7rem 0;
  border-bottom: 1px solid #222;
  cursor: pointer;
}

.geral-assuntos {
  display: grid;
  gap: 0.45rem;
  max-height: 280px;
  overflow: auto;
  border: 1px solid #2a2a2a;
  padding: 0.65rem;
  background: #101010;
}
.geral-assunto-item {
  display: flex;
  gap: 0.55rem;
  align-items: flex-start;
  margin: 0;
  cursor: pointer;
}
.challenge-fade {
  animation: riseIn 0.3s ease-out;
}

.streak-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  background: #141414;
  border: 1px solid #333;
  padding: 0.2rem 0.55rem;
  border-radius: 2px;
  font-family: var(--qa-font-display);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-size: 0.78rem;
}
.streak-chip.is-hot {
  border-color: #c45c12;
  color: #ffc48a;
  background: #1a1008;
}
.streak-chip small {
  font-size: 0.68rem;
  opacity: 0.75;
  text-transform: none;
  letter-spacing: 0;
  font-family: var(--qa-font-body);
}
.streak-flame {
  width: 8px;
  height: 8px;
  border-radius: 50% 50% 40% 40%;
  background: #666;
  display: inline-block;
}
.streak-chip.is-hot .streak-flame {
  background: #e87a1a;
  box-shadow: 0 0 8px rgba(232, 122, 26, 0.55);
  animation: pulseSoft 1.4s ease infinite;
}

.next-step-panel {
  position: relative;
  border-color: var(--qa-accent);
  background:
    repeating-linear-gradient(
      0deg,
      transparent,
      transparent 3px,
      rgba(193, 18, 31, 0.06) 3px,
      rgba(193, 18, 31, 0.06) 4px
    ),
    linear-gradient(135deg, #16080a 0%, #101010 55%);
  animation: riseIn 0.45s ease-out;
}
.next-step-panel::after {
  content: "";
  position: absolute;
  inset: 6px;
  pointer-events: none;
  background:
    linear-gradient(var(--qa-accent), var(--qa-accent)) 0 0 / 10px 2px no-repeat,
    linear-gradient(var(--qa-accent), var(--qa-accent)) 0 0 / 2px 10px no-repeat,
    linear-gradient(var(--qa-accent), var(--qa-accent)) 100% 0 / 10px 2px no-repeat,
    linear-gradient(var(--qa-accent), var(--qa-accent)) 100% 0 / 2px 10px no-repeat,
    linear-gradient(var(--qa-accent), var(--qa-accent)) 0 100% / 10px 2px no-repeat,
    linear-gradient(var(--qa-accent), var(--qa-accent)) 0 100% / 2px 10px no-repeat,
    linear-gradient(var(--qa-accent), var(--qa-accent)) 100% 100% / 10px 2px no-repeat,
    linear-gradient(var(--qa-accent), var(--qa-accent)) 100% 100% / 2px 10px no-repeat;
}
.next-step-kicker {
  font-family: var(--qa-font-display);
  font-size: 0.75rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--qa-accent);
  margin-bottom: 0.55rem;
  display: flex;
  align-items: center;
  gap: 0.35rem;
}
.next-step-body {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.next-step-body h2 {
  text-transform: none;
  letter-spacing: 0.02em;
}

.alt-option {
  display: block;
  width: 100%;
  text-align: left;
  border: 1.5px solid #2a2a2a;
  background: #101010;
  color: #f2f2f2;
  border-radius: 2px;
  padding: 0.95rem 1.1rem;
  margin-bottom: 0.55rem;
  cursor: pointer;
  transition: border-color 0.15s, background 0.15s, transform 0.12s;
}
.alt-option:hover {
  border-color: var(--qa-accent);
  background: #1a0a0c;
  transform: translateX(3px);
}
.alt-option:has(input:checked) {
  border-color: var(--qa-accent);
  background: #220c10;
  box-shadow: inset 4px 0 0 var(--qa-accent);
}
.alt-option:has(input:checked)::after {
  content: "";
  position: absolute;
  inset: 5px;
  pointer-events: none;
  background:
    linear-gradient(var(--qa-accent), var(--qa-accent)) 0 0 / 8px 1px no-repeat,
    linear-gradient(var(--qa-accent), var(--qa-accent)) 0 0 / 1px 8px no-repeat,
    linear-gradient(var(--qa-accent), var(--qa-accent)) 100% 0 / 8px 1px no-repeat,
    linear-gradient(var(--qa-accent), var(--qa-accent)) 100% 0 / 1px 8px no-repeat,
    linear-gradient(var(--qa-accent), var(--qa-accent)) 0 100% / 8px 1px no-repeat,
    linear-gradient(var(--qa-accent), var(--qa-accent)) 0 100% / 1px 8px no-repeat,
    linear-gradient(var(--qa-accent), var(--qa-accent)) 100% 100% / 8px 1px no-repeat,
    linear-gradient(var(--qa-accent), var(--qa-accent)) 100% 100% / 1px 8px no-repeat;
}
.alt-option input { margin-right: 0.65rem; flex-shrink: 0; }
.alt-option {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  position: relative;
  padding-right: 2.6rem;
  min-width: 0;
  font-size: 0.92rem;
  line-height: 1.45;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.alt-option > strong { flex-shrink: 0; }
.alt-option .alt-text {
  flex: 1 1 auto;
  min-width: 0;
  overflow-wrap: break-word;
  word-break: break-word;
}
.alt-elim {
  position: absolute;
  top: 0.55rem;
  right: 0.45rem;
  width: 1.7rem;
  height: 1.7rem;
  border: 1px solid #3a3a3a;
  background: #161616;
  color: #bbb;
  font-size: 0.75rem;
  line-height: 1;
  cursor: pointer;
}
.alt-elim:hover { border-color: var(--qa-accent); color: #fff; }
.alt-option.is-eliminated {
  opacity: 0.45;
  text-decoration: line-through;
}
.alt-option.is-eliminated input { pointer-events: none; }
.alt-option.is-eliminated .alt-elim {
  opacity: 1;
  pointer-events: auto;
  text-decoration: none;
}
.questao-texto-wrap {
  margin: 0 0 0.85rem;
}
.questao-texto-toggle {
  font-weight: 600;
}
.questao-texto-body {
  margin-top: 0.55rem;
  padding: 0.9rem 1rem;
  border: 1.5px solid #2a2a2a;
  background: #0c0c0c;
  color: #ececec;
  font-size: 0.95rem;
  line-height: 1.55;
}
.questao-texto-body[hidden] { display: none !important; }
.alt-admin .form-label {
  display: flex;
  align-items: baseline;
  gap: 0.45rem;
  flex-wrap: wrap;
}
.alt-admin-hint {
  font-size: 0.78rem;
  font-weight: 500;
  color: #9a9a9a;
}
.alt-admin.is-correct .form-label,
.alt-admin.is-correct textarea[name^="alt_"] {
  text-decoration: underline;
  text-decoration-color: #2ecc71;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}
.alt-admin.is-wrong .form-label,
.alt-admin.is-wrong textarea[name^="alt_"] {
  text-decoration: underline;
  text-decoration-color: #e74c3c;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}
.alt-admin.is-correct textarea[name^="alt_"] { border-color: rgba(46, 204, 113, 0.55); }
.alt-admin.is-wrong textarea[name^="alt_"] { border-color: rgba(231, 76, 60, 0.45); }
.alt-admin-texto,
.alt-admin-erro {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  resize: vertical;
  min-height: 4.5rem;
}
.alt-admin-erro { min-height: 3.2rem; }
.enunciado-toolbar,
.prova-tools {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem 0.65rem;
  margin-bottom: 0.35rem;
}
.prova-tool,
.prova-btn {
  appearance: none;
  font-family: var(--qa-font-display);
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  font-size: 0.78rem;
  color: #f2f2f2;
  background: #111;
  border: 1.5px solid #3a3a3a;
  border-radius: 2px;
  padding: 0.55rem 0.9rem;
  min-height: 42px;
  cursor: pointer;
  line-height: 1;
}
.prova-tool {
  min-height: 34px;
  padding: 0.35rem 0.7rem;
  font-size: 0.72rem;
}
.prova-tool:hover,
.prova-btn:hover {
  border-color: #fff;
  background: #1a1a1a;
  color: #fff;
}
.prova-tool.is-on {
  border-color: var(--qa-accent);
  color: #fff;
  background: #1a0a0c;
}
.prova-btn.is-on {
  border-color: #c9a227;
  color: #f3d56a;
  box-shadow: inset 0 -2px 0 #c9a227;
}
.prova-btn-end {
  border-color: #8a1a22;
  color: #ffb3b8;
}
.prova-btn-end:hover {
  border-color: var(--qa-accent);
  background: #1a0a0c;
  color: #fff;
}
.prova-tool-hint {
  margin: 0 0 0.85rem;
  font-size: 0.75rem;
  line-height: 1.45;
  color: var(--qa-muted);
}
.prova-keys {
  display: inline;
  font-size: inherit;
  color: inherit;
}
.prova-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: space-between;
  gap: 0.55rem;
  margin-top: 1rem;
  padding-top: 0.85rem;
  border-top: 1px solid var(--qa-line);
}
.prova-actions-nav,
.prova-actions-main {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  align-items: stretch;
}
.prova-actions-main .btn-qa {
  min-height: 42px;
  padding: 0.55rem 1.35rem;
}
.challenge-enunciado {
  font-family: var(--qa-font-body);
  font-weight: 400;
  font-size: 1.05rem;
  line-height: 1.6;
  letter-spacing: 0;
  text-transform: none;
  color: #ececec;
  overflow-wrap: break-word;
  word-break: break-word;
  user-select: text;
  -webkit-user-select: text;
  cursor: text;
}
.challenge-enunciado .enunciado-lead,
.challenge-enunciado .enunciado-fecha,
.challenge-enunciado .enunciado-item {
  margin: 0;
}
.challenge-enunciado .enunciado-lead {
  margin-bottom: 0.7rem;
}
.challenge-enunciado .enunciado-itens {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  margin: 0.15rem 0 0.85rem;
}
.challenge-enunciado .enunciado-item {
  display: grid;
  grid-template-columns: 2.15rem minmax(0, 1fr);
  column-gap: 0.45rem;
  align-items: start;
  padding: 0.55rem 0.7rem;
  background: #101010;
  border: 1px solid #2a2a2a;
  border-left: 3px solid var(--qa-accent);
  border-radius: 2px;
}
.challenge-enunciado .enunciado-item-n {
  font-family: var(--qa-font-display);
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--qa-gold-soft);
  line-height: 1.45;
  padding-top: 0.05rem;
}
.challenge-enunciado .enunciado-item-t {
  min-width: 0;
  line-height: 1.5;
}
.challenge-enunciado .enunciado-fecha {
  margin-top: 0.15rem;
  font-weight: 600;
  color: #fff;
}
mark.qa-grifo {
  background: #e8c547;
  color: #111;
  padding: 0 0.12em;
  border-radius: 2px;
}
.prova-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-bottom: 0.85rem;
}
.prova-nav-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.6rem 1rem;
  flex-wrap: wrap;
  margin-bottom: 0.85rem;
  padding: 0.4rem 0.15rem;
  border-top: 1px solid rgba(193, 18, 31, 0.55);
  border-bottom: 1px solid rgba(193, 18, 31, 0.55);
}
.prova-nav-row .prova-nav {
  flex: 1 1 auto;
  margin-bottom: 0;
  min-width: 0;
}
.duelo-placar-strip {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.4rem;
  flex: 0 0 auto;
  margin-left: auto;
}
.duelo-strip-lado {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 4.6rem;
  max-width: 8rem;
  padding: 0.2rem 0.45rem 0.25rem;
  border: 1px solid #2a2a2a;
  background: #101010;
  text-align: center;
}
.duelo-strip-lado.is-hot {
  border-color: rgba(61, 255, 122, 0.55);
  box-shadow: 0 0 10px rgba(61, 255, 122, 0.12);
}
.duelo-strip-lado.is-win { border-color: #2ecc71; }
.duelo-strip-lado strong {
  display: block;
  font-family: var(--qa-font-display);
  font-size: 1.05rem;
  line-height: 1.1;
  color: #fff;
}
.duelo-strip-nome {
  font-size: 0.68rem;
  color: #9a9a9a;
  max-width: 7.2rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.duelo-placar-strip .duelo-vs {
  font-size: 0.72rem;
  padding: 0 0.1rem;
}
.duelo-placar-strip small {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.18rem;
  font-size: 0.62rem;
  color: #8a8a8a;
  min-height: 1em;
}
.duelo-placar-strip .live-dot {
  width: 6px;
  height: 6px;
  margin: 0;
}
.prova-nav-cell {
  min-width: 2.15rem;
  min-height: 2.15rem;
  padding: 0.2rem 0.3rem;
  border: 1px solid #333;
  background: #101010;
  color: #ddd;
  font-size: 0.75rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  line-height: 1.1;
}
.prova-nav-cell small { font-size: 0.65rem; color: #aaa; }
.prova-nav-cell.is-current { border-color: var(--qa-accent); background: #220c10; }
.prova-nav-cell.is-done { border-color: #2a6a3a; }
.prova-nav-cell.is-mark { box-shadow: inset 0 -2px 0 #c9a227; }
.prova-completo {
  margin-top: 0.75rem;
  padding: 0.55rem 0.7rem;
  border: 1px solid #2a6a3a;
  background: #0d1610;
  font-size: 0.88rem;
}
.cota-lista { display: flex; flex-direction: column; gap: 0.55rem; }
.cota-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  border: 1px solid #2a2a2a;
  padding: 0.7rem 0.85rem;
}
.cota-row.is-empty { opacity: 0.45; }
.cota-row .form-control { width: 5.5rem; text-align: center; }
.cota-row.is-locked { cursor: default; background: rgba(255,255,255,0.02); }
.cota-locked-value {
  min-width: 5.5rem;
  text-align: center;
  font-size: 1.1rem;
  color: #fff;
}
.is-disabled-slider {
  opacity: 0.45;
  pointer-events: none;
}
.nota-final-box {
  text-align: center;
  border: 1px solid #2a6a3a;
  background: #0d1610;
  padding: 1rem 1.1rem;
}
.nota-final-box strong { font-size: 1.25rem; }

.prova-resultado .aar-label { margin-bottom: 1rem; }
.prova-scoreboard {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1.25rem;
  align-items: center;
  padding: 1.15rem 1.25rem;
  border: 1px solid var(--qa-line);
  background:
    linear-gradient(135deg, rgba(193, 18, 31, 0.12), transparent 42%),
    linear-gradient(180deg, rgba(255,255,255,0.03), transparent);
  margin-bottom: 1rem;
}
.prova-scoreboard.is-up {
  border-color: rgba(31, 138, 59, 0.55);
  background:
    linear-gradient(135deg, rgba(31, 138, 59, 0.14), transparent 45%),
    linear-gradient(180deg, rgba(255,255,255,0.03), transparent);
}
.prova-scoreboard.is-mid {
  border-color: rgba(201, 162, 39, 0.45);
}
.prova-scoreboard.is-down {
  border-color: rgba(193, 18, 31, 0.55);
}
.prova-scoreboard-ring .result-ring { margin: 0; }
.result-ring-lg {
  width: 132px;
  height: 132px;
}
.result-ring-lg .result-ring-inner {
  width: 100px;
  height: 100px;
}
.result-ring-lg .result-ring-inner strong { font-size: 1.65rem; }
.prova-scoreboard-kicker {
  font-family: var(--qa-font-display);
  font-size: 0.78rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--qa-accent);
}
.prova-scoreboard.is-up .prova-scoreboard-kicker { color: #3dbe63; }
.prova-scoreboard.is-mid .prova-scoreboard-kicker { color: #d4b24a; }
.prova-scoreboard-score {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0.35rem 0.55rem;
  margin: 0;
  line-height: 1;
}
.prova-scoreboard-score strong {
  font-size: clamp(2rem, 5vw, 2.75rem);
  font-family: var(--qa-font-display);
  color: #fff;
}
.prova-scoreboard-score span {
  font-size: 1.35rem;
  color: #9a9a9a;
}
.prova-scoreboard-score em {
  font-style: normal;
  font-size: 0.85rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #8a8a8a;
}
.prova-scoreboard-meta {
  color: #9a9a9a;
  font-size: 0.92rem;
}
.prova-kpi-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.65rem;
}
.prova-kpi {
  border: 1px solid var(--qa-line);
  background: rgba(0, 0, 0, 0.28);
  padding: 0.85rem 0.9rem;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  min-height: 4.6rem;
}
.prova-kpi strong {
  font-size: 1.35rem;
  color: #fff;
  line-height: 1.1;
}
.prova-kpi span {
  font-size: 0.72rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #8f8f8f;
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}
.prova-kpi span small {
  font-size: 0.68rem;
  letter-spacing: 0.04em;
  text-transform: none;
  color: #6f6f6f;
}
.prova-kpi.is-ok { border-color: rgba(31, 138, 59, 0.45); }
.prova-kpi.is-ok strong { color: #4fd07a; }
.prova-kpi.is-bad { border-color: rgba(193, 18, 31, 0.45); }
.prova-kpi.is-bad strong { color: #ff6b73; }
.prova-kpi.is-time { border-color: rgba(193, 18, 31, 0.35); }

.prova-materias {
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
}
.prova-materia-card {
  border: 1px solid var(--qa-line);
  background: rgba(0, 0, 0, 0.22);
  padding: 0.9rem 1rem;
}
.prova-materia-card.is-up { border-left: 3px solid #1f8a3b; }
.prova-materia-card.is-mid { border-left: 3px solid #c9a227; }
.prova-materia-card.is-down { border-left: 3px solid var(--qa-accent); }
.prova-materia-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.55rem;
}
.prova-materia-top strong { color: #fff; }
.prova-materia-bar {
  height: 0.38rem;
  background: #1c1c1c;
  border: 1px solid #2a2a2a;
  overflow: hidden;
  margin-bottom: 0.55rem;
}
.prova-materia-bar > span {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, #8a1018, var(--qa-accent));
}
.prova-materia-card.is-up .prova-materia-bar > span {
  background: linear-gradient(90deg, #146b2e, #1f8a3b);
}
.prova-materia-card.is-mid .prova-materia-bar > span {
  background: linear-gradient(90deg, #8a7018, #c9a227);
}
.prova-materia-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.85rem;
  color: #8f8f8f;
  font-size: 0.82rem;
}

.prova-resultado + .aar-section .cartao-grid {
  gap: 0.45rem;
}
.prova-resultado ~ .aar-section .cartao-cell {
  min-height: 3rem;
  transition: transform 0.15s ease, border-color 0.15s ease;
}
.prova-resultado ~ .aar-section .cartao-cell:hover {
  transform: translateY(-1px);
}

@media (max-width: 767.98px) {
  .prova-scoreboard {
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
  }
  .prova-scoreboard-score { justify-content: center; }
  .prova-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 420px) {
  .prova-kpi-grid { grid-template-columns: 1fr 1fr; }
}

.edital-regra-row .form-control { max-width: 6.5rem; }
.cartao-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(2.6rem, 1fr));
  gap: 0.35rem;
}
.cartao-cell {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 2.6rem;
  border: 1px solid #333;
  color: inherit;
  text-decoration: none;
  font-size: 0.75rem;
  background: #101010;
}
.cartao-cell.is-ok { border-color: #1f8a3b; background: #0d1610; }
.cartao-cell.is-bad { border-color: var(--qa-accent); background: #1a0a0c; }
.cartao-cell.is-blank { opacity: 0.6; }
.cartao-duelo-row { margin-bottom: 0.9rem; }
.cartao-duelo-row:last-child { margin-bottom: 0; }
.cartao-duelo-name {
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #8f8f8f;
  margin: 0 0 0.4rem;
  font-weight: 600;
}
.cartao-duelo-key {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 0.4rem 0.55rem;
  margin-bottom: 0.7rem;
  font-family: var(--qa-font-display);
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #9a9a9a;
}
.cartao-duelo-swatch {
  display: inline-flex;
  flex-direction: column;
  width: 0.7rem;
  height: 1.05rem;
  border: 1px solid #444;
  flex-shrink: 0;
  overflow: hidden;
}
.cartao-duelo-swatch i {
  display: block;
  flex: 1;
}
.cartao-duelo-swatch i:first-child { background: #1f8a3b; }
.cartao-duelo-swatch i:last-child { background: #8a8f98; }
.cartao-duelo-key-eu,
.cartao-duelo-key-op { color: #d8d8d8; }
.cartao-duelo-vs {
  color: #666;
  letter-spacing: 0.04em;
}
.cartao-duelo-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(3.35rem, 1fr));
  gap: 0.4rem;
}
.cartao-duelo-q {
  display: flex;
  flex-direction: column;
  min-height: 5.1rem;
  background: #101010;
  border: 1px solid #2a2a2a;
  color: inherit;
  text-decoration: none;
  overflow: hidden;
  transition: transform 0.15s ease, border-color 0.15s ease;
}
.cartao-duelo-q:hover {
  transform: translateY(-1px);
  border-color: #555;
}
.cartao-duelo-q.is-both-ok { border-color: #1f8a3b; }
.cartao-duelo-q.is-both-bad { border-color: var(--qa-accent); }
.cartao-duelo-q.is-split {
  border-color: #c9a227;
  box-shadow: inset 3px 0 0 #c9a227;
}
.cartao-duelo-n {
  display: block;
  text-align: center;
  font-size: 0.62rem;
  letter-spacing: 0.1em;
  color: #8f8f8f;
  padding: 0.22rem 0 0.18rem;
  border-bottom: 1px solid #222;
}
.cartao-duelo-mark {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1;
  min-height: 1.35rem;
  font-family: var(--qa-font-display);
  font-size: 1.05rem;
  line-height: 1;
}
.cartao-duelo-mark.is-ok {
  color: #3ddc6a;
  background: #0d1610;
}
.cartao-duelo-mark.is-bad {
  color: #ff6b73;
  background: #1a0a0c;
}
.cartao-duelo-mark.is-blank {
  color: #666;
  opacity: 0.75;
}
.cartao-duelo-gab {
  display: block;
  text-align: center;
  font-size: 0.58rem;
  letter-spacing: 0.06em;
  color: #7a7a7a;
  padding: 0.18rem 0;
  border-top: 1px solid #222;
  background: #0c0c0c;
}
@media (max-width: 575.98px) {
  .cartao-duelo-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .cartao-duelo-key {
    flex-wrap: wrap;
  }
}
.quick-link-form { margin: 0; }
.quick-link-form .quick-link { width: 100%; }
.alt-option.is-review {
  cursor: default;
  pointer-events: none;
  position: relative;
  padding-right: 8.2rem;
}
.alt-option.is-review:hover {
  transform: none;
}
.alt-option.is-review.is-correct,
.alt-option.is-review.is-correct:hover {
  border-color: #1f8a3b;
  background: #0d1610;
  box-shadow: inset 4px 0 0 var(--qa-ok);
}
.alt-option.is-review.is-wrong,
.alt-option.is-review.is-wrong:hover {
  border-color: #7a0a12;
  background: #16080a;
  box-shadow: inset 4px 0 0 var(--qa-bad);
}
.alt-option.is-review:not(.is-correct):not(.is-wrong):hover {
  border-color: #2a2a2a;
  background: #101010;
}
.alt-review-tag {
  position: absolute;
  top: 0.7rem;
  right: 0.75rem;
  font-size: 0.68rem;
  font-family: var(--qa-font-display);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 0.14rem 0.4rem;
  border-radius: 2px;
  font-weight: 600;
}
.alt-review-tag.is-ok {
  background: #146b2e;
  color: #fff;
}
.alt-review-tag.is-bad {
  background: var(--qa-bad);
  color: #fff;
}
.feedback-actions .btn {
  min-height: 44px;
}

.recall-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.32rem;
  font-family: var(--qa-font-display);
  font-size: 0.68rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  font-weight: 600;
  padding: 0.16rem 0.5rem 0.16rem 0.32rem;
  border-radius: 2px;
  border: 1px solid;
  line-height: 1.2;
}
.recall-chip .recall-svg {
  width: 0.95rem;
  height: 0.95rem;
  flex-shrink: 0;
}
.recall-chip.is-ok {
  background: rgba(31, 138, 59, 0.16);
  border-color: #1f8a3b;
  color: #7dffa0;
}
.recall-chip.is-bad {
  background: rgba(193, 18, 31, 0.16);
  border-color: var(--qa-bad);
  color: #ff8a93;
}

.q-fonte {
  margin-bottom: 0.95rem;
}
.q-fonte-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 0.65rem;
  margin-bottom: 0.5rem;
}
.q-fonte-code {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  font-family: var(--qa-font-display);
  font-size: 0.78rem;
  letter-spacing: 0.06em;
  color: #fff;
  background: #000;
  border: 1px solid var(--qa-accent);
  padding: 0.2rem 0.5rem;
  border-radius: 2px;
  line-height: 1.2;
}
.q-fonte-trail {
  font-size: 0.86rem;
  line-height: 1.4;
  color: var(--qa-muted);
  padding-top: 0.08rem;
}
.q-fonte-materia {
  color: #e8e8e8;
  font-weight: 600;
}
.q-fonte-sep {
  margin: 0 0.35rem;
  color: #666;
  font-weight: 400;
}
.q-fonte-assunto {
  color: var(--qa-gold-soft);
  font-weight: 600;
}
.q-fonte-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem 0.9rem;
  font-size: 0.8rem;
  color: #cfcfcf;
  border-top: 1px solid var(--qa-line);
  padding-top: 0.5rem;
}
.q-fonte-meta em {
  font-style: normal;
  color: #8a8a8a;
  text-transform: uppercase;
  font-size: 0.64rem;
  letter-spacing: 0.08em;
  font-family: var(--qa-font-display);
  margin-right: 0.28rem;
}
.q-fonte-val {
  color: var(--qa-gold-soft);
  font-weight: 700;
  font-style: normal;
}

.progress-thin {
  height: 8px;
  position: relative;
  background: #0a0304;
  border-radius: 0;
  overflow: hidden;
  border: 1px solid #5a1018;
}
.progress-thin > span {
  display: block;
  height: 100%;
  position: relative;
  background: repeating-linear-gradient(
    90deg,
    #6a0a12 0 8px,
    var(--qa-accent) 8px 10px
  );
  animation: ladderFill 0.85s ease-out both;
}

.table-qa {
  background: #141414;
  color: #f2f2f2;
  border-radius: var(--qa-radius);
  overflow: hidden;
}
.table-qa th,
.table-qa td {
  color: #e8e8e8;
  border-color: #2a2a2a !important;
}
.table-qa thead th {
  background: #0a0a0a;
  color: #fff;
}
.badge-status-rascunho { background: #555; }
.badge-status-aprovada { background: var(--qa-ok); }
.badge-status-rejeitada { background: var(--qa-bad); }

.result-ring {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  margin: 0 auto 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: conic-gradient(var(--qa-accent) calc(var(--pct) * 1%), #2a2a2a 0);
  border: 3px solid #fff;
  animation: riseIn 0.6s ease;
}
.result-ring-inner {
  width: 92px;
  height: 92px;
  border-radius: 50%;
  background: #0a0a0a;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-family: var(--qa-font-display);
}
.result-ring-inner strong { font-size: 1.5rem; color: #fff; line-height: 1; }
.result-ring-inner .small { color: #999; }

body:has(.auth-shell) .footer-qa { display: none; }
body:has(.auth-shell) main.container {
  min-height: calc(100dvh - 5.5rem);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
body:has(.auth-shell) main.container > .alert {
  max-width: 440px;
  width: 100%;
  margin: 0 auto 0.9rem;
}
.auth-shell {
  max-width: 440px;
  width: 100%;
  margin: 2rem auto;
  position: relative;
}
.gate-desk {
  width: min(1040px, 100%);
  display: grid;
  grid-template-columns: minmax(0, 1fr) 420px;
  gap: 3rem;
  align-items: center;
}
.gate-desk .auth-shell { margin: 0; max-width: none; }
.gate-kicker {
  margin: 0 0 0.7rem;
  font-family: var(--qa-font-display);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--qa-accent);
}
.gate-desk-copy h1 {
  margin: 0 0 0.8rem;
  color: #fff;
  font-size: clamp(2.2rem, 4vw, 3.3rem);
  line-height: 1.02;
}
.name-shine {
  color: #fff;
  animation: namePulse 2.8s ease-in-out infinite;
}
@keyframes namePulse {
  0%, 100% { color: #fff; text-shadow: none; }
  50% { color: #ff2a36; text-shadow: 0 0 18px rgba(255, 42, 54, 0.55); }
}
body:has(.gate-desk)::before {
  content: "";
  position: fixed;
  z-index: 0;
  width: min(560px, 80vw);
  height: min(560px, 80vw);
  right: 8%;
  top: 50%;
  pointer-events: none;
  background: radial-gradient(circle, rgba(193, 18, 31, 0.42) 0%, rgba(193, 18, 31, 0.12) 42%, transparent 70%);
  filter: blur(6px);
  animation: radarGlow 5.5s ease-in-out infinite;
}
body:has(.gate-desk) main.container { position: relative; z-index: 1; }
body:has(.gate-desk) .navbar-qa { display: none !important; }
@keyframes radarGlow {
  0%, 100% { opacity: 0.35; transform: translateY(-50%) scale(0.9); }
  50% { opacity: 0.9; transform: translateY(-50%) scale(1.08); }
}
@media (max-width: 900px) {
  body:has(.gate-desk)::before {
    right: auto;
    left: 50%;
    top: 42%;
    animation-name: radarGlowMobile;
  }
}
@keyframes radarGlowMobile {
  0%, 100% { opacity: 0.3; transform: translate(-50%, -50%) scale(0.9); }
  50% { opacity: 0.75; transform: translate(-50%, -50%) scale(1.06); }
}
@media (prefers-reduced-motion: reduce) {
  .name-shine { animation: none; color: #fff; text-shadow: none; }
  body:has(.gate-desk)::before { animation: none; opacity: 0.4; }
  .gate-desk::before,
  .gate-desk .auth-shell::after,
  .concurso-choose-card.is-current::before,
  .login-splash-hatch,
  .login-splash-screen::after,
  .login-splash-card::before { animation: none; }
}
@property --beam {
  syntax: "<angle>";
  inherits: false;
  initial-value: 0deg;
}
.gate-desk::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px);
  background-size: 56px 56px;
  animation: gridDrift 22s linear infinite;
}
.gate-desk > * { position: relative; z-index: 1; }
@keyframes gridDrift {
  to { background-position: 56px 56px; }
}
.gate-desk .auth-shell::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  padding: 1px;
  background: conic-gradient(from var(--beam), transparent 0 72%, #ff2a36 86%, transparent 94%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask-composite: exclude;
  animation: beamSpin 3.8s linear infinite;
}
@keyframes beamSpin {
  to { --beam: 360deg; }
}
.gate-desk-copy p {
  margin: 0;
  max-width: 34rem;
  color: var(--qa-muted);
  font-size: 1.05rem;
  line-height: 1.55;
}
.gate-desk-copy ul {
  margin: 1.15rem 0 0;
  padding: 0;
  list-style: none;
}
.gate-desk-copy li {
  position: relative;
  margin: 0.4rem 0;
  padding-left: 0.9rem;
  color: #eee;
  font-size: 0.95rem;
}
.gate-desk-copy li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.45rem;
  width: 6px;
  height: 6px;
  background: var(--qa-accent);
}
@media (max-width: 900px) {
  .gate-desk { display: block; }
  .gate-desk-copy { display: none; }
  .gate-desk .auth-shell { max-width: 440px; margin: 0 auto; }
}
@media (min-width: 901px) {
  body:has(.gate-desk) main.container {
    align-items: stretch;
    justify-content: center;
    width: min(1040px, calc(100% - 2.5rem));
    max-width: 1040px;
    margin-left: auto;
    margin-right: auto;
    min-height: 100dvh;
    padding-top: 1.25rem !important;
    padding-bottom: 1.25rem !important;
  }
  .gate-desk {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    align-items: center;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 400px);
    gap: 2.25rem 2.5rem;
  }
  .gate-desk .auth-insignia,
  .gate-desk .auth-card > h2,
  .gate-desk .auth-card > .text-muted.small.mb-3 { display: none; }
  .gate-desk-logo {
    margin: 0 0 1.1rem;
    line-height: 0;
  }
  .gate-desk-logo .brand-skull {
    width: 72px;
    height: 72px;
    max-width: 72px;
  }
  .gate-desk-logo .brand-logo-lg {
    width: auto;
    height: 110px;
    max-width: min(320px, 100%);
  }
  .gate-desk-copy,
  .gate-desk .auth-shell { min-width: 0; }
  .gate-desk .auth-shell .auth-card { padding: 0.9rem 1.1rem 0.75rem; }
  .gate-desk .auth-insignia { margin-bottom: 0.35rem !important; }
  .gate-desk .auth-insignia .brand-logo-lg,
  .gate-desk .auth-insignia .brand-skull { height: 40px; width: 40px; }
  .gate-desk .rank-strip { margin-bottom: 0.55rem !important; }
  .gate-desk .motivation-banner { margin-bottom: 0.7rem !important; padding: 0.6rem 0.8rem; }
  .gate-desk .auth-field { margin-bottom: 0.55rem !important; }
  .gate-desk .form-control-lg {
    min-height: 2.45rem;
    padding-top: 0.35rem;
    padding-bottom: 0.35rem;
    font-size: 1rem;
  }
  .gate-desk .auth-remember { margin-bottom: 0.6rem !important; min-height: 2.7rem; }
  .gate-desk .auth-card .mt-3 { margin-top: 0.55rem !important; }
  .gate-desk-solo {
    display: flex;
    justify-content: center;
  }
  .gate-desk-solo .auth-shell { max-width: 440px; }
  .gate-desk-solo .auth-insignia { display: block; }
}
.auth-shell .auth-card {
  position: relative;
  z-index: 1;
  padding: 1.45rem 1.4rem 1.35rem;
  overflow: hidden;
  animation: riseIn 0.45s ease-out;
  background:
    linear-gradient(135deg, #000 0%, #1a0507 55%, #2a0a0e 100%),
    repeating-linear-gradient(45deg, transparent, transparent 8px, rgba(255,255,255,0.02) 8px, rgba(255,255,255,0.02) 16px);
  border-bottom: 3px solid var(--qa-accent);
}
.auth-shell .auth-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: repeating-linear-gradient(
    0deg,
    transparent,
    transparent 3px,
    rgba(193, 18, 31, 0.04) 3px,
    rgba(193, 18, 31, 0.04) 4px
  );
}
.rank-pager {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.75rem;
  margin-top: 0.9rem;
  font-size: 0.85rem;
}
#aba-ranking .patente-ladder-row {
  grid-template-columns: minmax(12rem, 1.3fr) minmax(18rem, 2fr) minmax(5.5rem, 0.7fr);
}
#aba-ranking .rank-ladder-stats {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.35rem 0.5rem;
  position: relative;
  z-index: 1;
}
#aba-ranking .rank-ladder-stats em {
  display: block;
  font-style: normal;
  font-family: var(--qa-font-display);
  font-size: 0.58rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #8a8a8a;
}
#aba-ranking .rank-ladder-stats strong {
  font-family: var(--qa-font-display);
  font-size: 0.82rem;
  letter-spacing: 0.04em;
  color: #fff;
}
@media (max-width: 720px) {
  #aba-ranking .rank-ladder-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.duelo-fila .patente-ladder-row,
#aba-arena .patente-ladder-row,
#aba-historico .patente-ladder-row {
  grid-template-columns: minmax(12rem, 1.3fr) minmax(14rem, 1.6fr) minmax(6.5rem, auto);
}
.duelo-fila .rank-ladder-stats,
#aba-arena .rank-ladder-stats,
#aba-historico .rank-ladder-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.35rem 0.5rem;
  position: relative;
  z-index: 1;
}
.duelo-fila .rank-ladder-stats em,
#aba-arena .rank-ladder-stats em,
#aba-historico .rank-ladder-stats em {
  display: block;
  font-style: normal;
  font-family: var(--qa-font-display);
  font-size: 0.58rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #8a8a8a;
}
.duelo-fila .rank-ladder-stats strong,
#aba-arena .rank-ladder-stats strong,
#aba-historico .rank-ladder-stats strong {
  font-family: var(--qa-font-display);
  font-size: 0.82rem;
  letter-spacing: 0.04em;
  color: #fff;
}
.duelo-ladder-cta {
  text-transform: none;
  letter-spacing: 0;
  font-family: inherit;
  flex-wrap: wrap;
}
.duelo-ladder-cta form { margin: 0; }
@media (max-width: 720px) {
  .duelo-fila .rank-ladder-stats,
  #aba-arena .rank-ladder-stats,
  #aba-historico .rank-ladder-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.rank-page ~ #rank-live ~ .tab-content .rank-who {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.15rem;
}
.rank-page ~ .tab-content .rank-who .patente-badge,
.rank-page ~ #rank-live ~ .tab-content .rank-who .patente-badge {
  font-size: 0.62rem;
  padding: 0.06rem 0.35rem;
  letter-spacing: 0.04em;
}
.rank-page ~ .tab-content .table-qa tbody tr.is-destaque,
.rank-page ~ #rank-live ~ .tab-content .table-qa tbody tr.is-destaque {
  background: rgba(193, 18, 31, 0.08);
}
.duelo-rules {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.55rem;
  margin-bottom: 1rem;
}
.duelo-destaque {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}
.duelo-destaque .duelo-oponente-card {
  grid-template-columns: 1fr;
  align-items: start;
  min-height: 8.5rem;
}
.duelo-destaque .duelo-oponente-cta {
  justify-self: start;
}
@media (max-width: 720px) {
  .duelo-rules { grid-template-columns: 1fr; }
  .duelo-destaque { grid-template-columns: 1fr; }
  .duelo-destaque .duelo-oponente-card {
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    min-height: 0;
  }
}
.auth-insignia {
  text-align: center;
  animation: tacBlink 1.8s steps(2, end) infinite;
}
.auth-insignia.has-logo { animation: none; }
.auth-field {
  animation: riseIn 0.4s ease-out both;
}
.auth-error {
  margin: 0 0 1rem;
  padding: 0.7rem 0.85rem;
  border: 1px solid #7a0a12;
  border-left: 3px solid var(--qa-accent);
  background: rgba(193, 18, 31, 0.14);
  color: #ffb3b8;
  font-size: 0.9rem;
  line-height: 1.35;
}
.auth-field .pw-field .form-control {
  padding-right: 3.1rem;
}
.auth-field .pw-icon-btn {
  width: 2.5rem;
  height: 2.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #9a9a9a;
  cursor: pointer;
}
.auth-field .pw-icon-btn .icon-eye {
  width: 1.25rem;
  height: 1.25rem;
}
.auth-field .pw-icon-btn:hover,
.auth-field .pw-icon-btn[aria-pressed="true"] {
  color: #fff;
}
.auth-field:nth-of-type(1) { animation-delay: 0.06s; }
.auth-field:nth-of-type(2) { animation-delay: 0.12s; }
.auth-form .auth-remember { animation: riseIn 0.4s ease-out 0.18s both; }
.auth-submit { animation: riseIn 0.4s ease-out 0.22s both; }
.auth-remember {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.85rem;
  width: 100%;
  min-height: 3.15rem;
  margin: 0;
  padding: 0.7rem 0.9rem;
  border: 1px solid rgba(193, 18, 31, 0.38);
  border-left: 3px solid #3a3a3a;
  background: rgba(0, 0, 0, 0.38);
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease;
}
.auth-remember:hover,
.auth-remember:focus-within {
  border-color: var(--qa-accent);
  background: rgba(193, 18, 31, 0.16);
}
.auth-remember.is-on {
  border-left-color: var(--qa-accent);
  background: rgba(193, 18, 31, 0.16);
}
.auth-remember-input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}
.auth-remember-switch {
  position: relative;
  flex-shrink: 0;
  width: 2.7rem;
  height: 1.25rem;
  border: 1px solid #555;
  background:
    repeating-linear-gradient(90deg, #1a1a1a 0 6px, #111 6px 8px);
  border-radius: 2px;
}
.auth-remember-switch span {
  position: absolute;
  top: 2px;
  left: 3px;
  width: 0.95rem;
  height: 0.95rem;
  background: #8a8a8a;
  border-radius: 1px;
  transition: transform 0.16s ease, background 0.16s ease;
}
.auth-remember.is-on .auth-remember-switch {
  border-color: var(--qa-accent);
  background: rgba(193, 18, 31, 0.45);
}
.auth-remember.is-on .auth-remember-switch span {
  transform: translateX(1.15rem);
  background: #fff;
}
.auth-remember-copy {
  display: block;
  min-width: 0;
  color: #f2f2f2;
}
.auth-remember-copy span {
  display: block;
  font-family: var(--qa-font-display);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-size: 0.92rem;
  font-weight: 600;
}
.auth-remember-copy small {
  display: block;
  margin-top: 0.12rem;
  color: #8a8a8a;
  font-size: 0.78rem;
  letter-spacing: 0;
  text-transform: none;
  font-weight: 400;
}

main.container { flex: 1 0 auto; width: 100%; }
.footer-qa {
  margin-top: 0;
  padding: 0.85rem 0;
  color: #8a8a8a;
  font-size: 0.72rem;
  border-top: 2px solid var(--qa-accent);
  background: #000;
}
.footer-qa-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.45rem 0.85rem;
}
.footer-qa-inner strong {
  font-family: var(--qa-font-display);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #fff;
  font-size: 0.78rem;
}
.footer-qa-inner span {
  font-family: var(--qa-font-display);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #8a8a8a;
}
.footer-qa-inner span + span {
  border-left: 1px solid #2a2a2a;
  padding-left: 0.85rem;
}

.quick-link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.85rem 1rem;
  border-radius: 2px;
  border: 1px solid #2a2a2a;
  border-left: 3px solid var(--qa-accent);
  margin-bottom: 0.55rem;
  background:
    repeating-linear-gradient(
      0deg,
      transparent,
      transparent 3px,
      rgba(193, 18, 31, 0.04) 3px,
      rgba(193, 18, 31, 0.04) 4px
    ),
    #101010;
  color: #fff;
  font-weight: 600;
  font-family: var(--qa-font-display);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-size: 0.85rem;
  transition: background 0.15s, border-color 0.15s;
}
.quick-link:hover {
  background: #1a0a0c;
  border-color: var(--qa-accent);
  color: #fff;
  text-decoration: none;
}
.quick-link .badge-soft {
  background: var(--qa-accent);
  color: #fff;
  border-radius: 2px;
  padding: 0.15rem 0.5rem;
  font-size: 0.72rem;
}

.rank-strip {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 0.75rem;
}
.rank-strip span {
  background: rgba(193, 18, 31, 0.2);
  border: 1px solid rgba(193, 18, 31, 0.55);
  color: #fff;
  font-size: 0.72rem;
  font-family: var(--qa-font-display);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0.2rem 0.5rem;
}
.rank-strip > .btn {
  padding: 0.18rem 0.55rem;
  font-size: 0.72rem;
  line-height: 1.3;
}

.rank-mode {
  display: inline-flex;
  gap: 0.3rem;
  margin: 0 0 1rem;
  padding: 0.22rem;
  border: 1px solid var(--qa-line);
  border-radius: 999px;
  background: #101010;
}
.rank-mode-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.38rem 1.05rem;
  border: 1px solid transparent;
  border-radius: 999px;
  color: #cfcfcf;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
  font-family: var(--qa-font-display);
}
.rank-mode-btn:hover {
  color: #fff;
}
.rank-mode-btn.is-on {
  border-color: var(--qa-accent);
  background: rgba(193, 18, 31, 0.2);
  color: #ffd0d3;
}
.table-qa th.is-key {
  color: #ffd0d3;
}

.form-control,
.form-select,
.text-preview,
pre {
  background: #0a0a0a !important;
  border-color: #333 !important;
  color: #f2f2f2 !important;
}
.text-preview,
pre {
  max-height: 160px;
  overflow: auto;
  padding: 0.75rem 0.9rem;
  border: 1px solid #333;
  border-radius: var(--qa-radius);
  white-space: pre-wrap;
  word-break: break-word;
}
.form-control:focus,
.form-select:focus {
  border-color: var(--qa-accent) !important;
  box-shadow: 0 0 0 0.2rem rgba(193, 18, 31, 0.25) !important;
}
.form-label { color: #ccc; }
.text-muted { color: #8a8a8a !important; }
.alert-warning {
  background: #2a1a00;
  border-color: #664d03;
  color: #ffecb5;
}
.alert-success {
  background: #0d1a10;
  border-color: #1f8a3b;
  color: #b7f0c5;
}
.alert-danger {
  background: #1a080a;
  border-color: #7a0a12;
  color: #ffb3b8;
}
.btn-outline-secondary {
  color: #ccc;
  border-color: #555;
}
.btn-outline-secondary:hover {
  background: #222;
  border-color: #777;
  color: #fff;
}
.table { --bs-table-bg: transparent; --bs-table-color: #e8e8e8; }

@media (max-width: 768px) {
  .page-hero { padding: 1.2rem; }
  .challenge-topbar { flex-direction: column; align-items: flex-start; }
}

/* ?? Ranking / Meta / Patentes BOPE ?? */
.patente-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  background: #000;
  border: 1px solid var(--qa-accent);
  color: #fff;
  font-family: var(--qa-font-display);
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0.3rem 0.65rem;
  border-radius: 2px;
}
.patente-sgt3, .patente-sgt2, .patente-sgt1 {
  border-color: #b8892a;
}
.patente-subtenente, .patente-aspirante, .patente-tenente2, .patente-tenente1, .patente-capitao {
  border-color: #d4b84a;
  color: #f3e6b0;
}
.patente-major, .patente-tencel, .patente-coronel { border-color: #ff4d57; }
.patente-genbrig, .patente-gendiv, .patente-genex, .patente-marechal {
  border-color: #e8c547;
  color: #ffe9a0;
}
.patente-elite {
  background: linear-gradient(90deg, #1a0507, #3a0c12);
  border-color: #ff4d57;
  box-shadow: 0 0 12px rgba(193, 18, 31, 0.45);
}
.patente-progress { max-width: 360px; }
.operator-card .patente-progress,
.operator-progress { max-width: none; }

.qa-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  border: 0;
}
.qa-tab {
  display: inline-flex;
  align-items: center;
  padding: 0.45rem 0.9rem;
  border: 1px solid var(--qa-line);
  border-radius: 999px;
  background: #101010;
  color: #cfcfcf;
  font-size: 0.85rem;
  font-weight: 600;
  font-family: inherit;
}
.qa-tab:hover {
  color: #fff;
  border-color: #555;
}
.qa-tab.active {
  border-color: var(--qa-accent);
  background: rgba(193, 18, 31, 0.16);
  color: #ffd0d3;
}

.perfil-hero-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 0.85rem;
}
.perfil-hero-top p { max-width: 36rem; }
.perfil-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  justify-content: flex-end;
}
.perfil-id {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  align-items: stretch;
}
.perfil-id-stat {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 42px;
  padding: 0.35rem 0.75rem;
  border: 1px solid var(--qa-line);
  background: rgba(0, 0, 0, 0.35);
  border-radius: 6px;
}
.perfil-id-stat small {
  font-size: 0.65rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #9a9a9a;
}
.perfil-id-stat strong {
  font-size: 0.92rem;
  color: #fff;
}
.perfil-id-mail strong {
  font-weight: 500;
  font-size: 0.82rem;
  text-transform: none;
  letter-spacing: 0;
  font-family: var(--qa-font-body);
}

.xp-rules {
  margin-bottom: 1.1rem;
}
.xp-rules-head { margin-bottom: 0.9rem; }
.xp-rules-quiet {
  margin: 1.25rem 0 0;
  padding: 0;
  border: 1px solid #222;
  background: #0c0c0c;
  border-radius: 2px;
}
.xp-rules-quiet > summary {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  list-style: none;
  cursor: pointer;
  padding: 0.7rem 1.8rem 0.7rem 0.9rem;
  font-family: var(--qa-font-display);
  font-size: 0.82rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #8a8a8a;
}
.xp-rules-quiet > summary::-webkit-details-marker { display: none; }
.xp-rules-quiet > summary::after {
  content: "▸";
  position: absolute;
  right: 0.9rem;
  top: 0.75rem;
  color: #5a5a5a;
  font-size: 0.75rem;
}
.xp-rules-quiet { position: relative; }
.xp-rules-quiet[open] > summary {
  border-bottom: 1px solid #222;
  color: #bdbdbd;
}
.xp-rules-quiet[open] > summary::after { content: "▾"; }
.xp-rules-quiet > summary small {
  font-family: var(--qa-font-body);
  font-size: 0.75rem;
  letter-spacing: 0;
  text-transform: none;
  color: #6a6a6a;
  font-weight: 400;
}
.xp-rules-quiet .xp-gain-grid,
.xp-rules-quiet .xp-rule-grid {
  padding: 0.75rem 0.85rem 0.9rem;
  opacity: 0.82;
}
.xp-rules-quiet .xp-gain-card,
.xp-rules-quiet .xp-rule-card {
  background: #101010;
  border-radius: 2px;
}
.xp-rules-quiet .xp-gain-card strong {
  font-size: 1.1rem;
}
.xp-gain-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.65rem;
  margin-bottom: 0.85rem;
}
.xp-gain-card {
  background: linear-gradient(180deg, #161616, #0e0e0e);
  border: 1px solid var(--qa-line);
  border-radius: 10px;
  padding: 0.85rem 0.9rem;
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
}
.xp-gain-label {
  font-size: 0.72rem;
  color: #9a9a9a;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.xp-gain-card strong {
  font-family: var(--qa-font-display);
  font-size: 1.35rem;
  color: #8fd4a4;
  letter-spacing: 0.04em;
}
.xp-gain-card span:last-child {
  font-size: 0.75rem;
  color: #8a8a8a;
}
.xp-rule-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem;
}
.xp-rule-card {
  background: #101010;
  border: 1px solid var(--qa-line);
  border-radius: 10px;
  padding: 1rem 1.05rem 0.85rem;
}
.xp-rule-kicker {
  margin: 0 0 0.2rem;
  font-family: var(--qa-font-display);
  font-size: 0.68rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--qa-gold-soft);
}
.xp-rule-card h3 {
  margin: 0 0 0.55rem;
  font-size: 1rem;
  color: #fff;
}
.xp-rule-card ul {
  margin: 0;
  padding-left: 1.05rem;
  color: #bdbdbd;
  font-size: 0.86rem;
}
.xp-rule-card li { margin-bottom: 0.28rem; }
.xp-rule-card li:last-child { margin-bottom: 0; }

.xp-conquest { margin-top: 0; }
.xp-conquest-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 0.7rem;
  margin: 0 0 0.9rem;
  font-size: 0.72rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-weight: 700;
}
.xp-conquest-legend span::before {
  content: "";
  display: inline-block;
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 50%;
  margin-right: 0.35rem;
  vertical-align: 0.05rem;
}
.xp-conquest-legend .is-comum { color: #9a9a9a; }
.xp-conquest-legend .is-comum::before { background: #6a6a6a; }
.xp-conquest-legend .is-rara { color: #6cb4e8; }
.xp-conquest-legend .is-rara::before { background: #6cb4e8; }
.xp-conquest-legend .is-epica { color: #c084fc; }
.xp-conquest-legend .is-epica::before { background: #c084fc; }
.xp-conquest-legend .is-lendaria { color: #e0b84a; }
.xp-conquest-legend .is-lendaria::before { background: #e0b84a; }
.xp-conquest-group {
  margin: 0.15rem 0 0.45rem;
  font-family: var(--qa-font-display);
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #d0d0d0;
}
.xp-rule-card .xp-conquest-list {
  list-style: none;
  margin: 0 0 1rem;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem;
}
.xp-rule-card .xp-conquest-list li {
  margin: 0;
  padding: 0.7rem 0.75rem;
  border: 1px solid var(--qa-line);
  border-radius: 10px;
  background: #0c0c0c;
  display: grid;
  grid-template-columns: 2.45rem 1fr;
  gap: 0.65rem;
  align-items: start;
}
.xp-conquest-icon {
  width: 2.45rem;
  height: 2.45rem;
  display: grid;
  place-items: center;
  border-radius: 9px;
  background: #161616;
  color: #8a8a8a;
  border: 1px solid #2a2a2a;
}
.xp-conquest-icon .qa-badge-icon {
  width: 1.35rem !important;
  height: 1.35rem !important;
  color: inherit;
}
.xp-conquest-body {
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
  min-width: 0;
}
.xp-conquest-list strong {
  color: #fff;
  font-size: 0.88rem;
  line-height: 1.25;
}
.xp-conquest-list em {
  font-style: normal;
  font-size: 0.66rem;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  font-weight: 700;
  color: #8a8a8a;
}
.xp-conquest-list span {
  color: #9a9a9a;
  font-size: 0.8rem;
  line-height: 1.35;
}
.xp-conquest-list li.is-rara .xp-conquest-icon { color: #6cb4e8; border-color: #2a4a62; background: #101820; }
.xp-conquest-list li.is-rara em { color: #6cb4e8; }
.xp-conquest-list li.is-epica .xp-conquest-icon { color: #c084fc; border-color: #4a2f66; background: #160e20; }
.xp-conquest-list li.is-epica em { color: #c084fc; }
.xp-conquest-list li.is-lendaria .xp-conquest-icon { color: #e0b84a; border-color: #6a5420; background: #1a1508; }
.xp-conquest-list li.is-lendaria em { color: #e0b84a; }
.xp-conquest-list li.is-earned {
  border-color: #234a2c;
  border-left: 3px solid #1f8a3b;
  background: #0b100c;
  border-radius: 2px;
}
.xp-conquest-list li.is-earned .xp-conquest-icon {
  color: #8fd4a4;
  border-color: #1f8a3b;
  background: #102016;
}
.xp-conquest-list li.is-earned strong { color: #8fd4a4; }
.xp-conquest-list li.is-earned.is-rara {
  border-color: #2d6a90;
  background: rgba(108, 180, 232, 0.08);
}
.xp-conquest-list li.is-earned.is-rara .xp-conquest-icon,
.xp-conquest-list li.is-earned.is-rara strong { color: #9fd4f8; }
.xp-conquest-list li.is-earned.is-epica {
  border-color: #6b3d96;
  background: rgba(192, 132, 252, 0.08);
}
.xp-conquest-list li.is-earned.is-epica .xp-conquest-icon,
.xp-conquest-list li.is-earned.is-epica strong { color: #ddb8ff; }
.xp-conquest-list li.is-earned.is-lendaria {
  border-color: #8a6a18;
  background: rgba(224, 184, 74, 0.1);
}
.xp-conquest-list li.is-earned.is-lendaria .xp-conquest-icon,
.xp-conquest-list li.is-earned.is-lendaria strong { color: #f0d27a; }

.patente-board {
  overflow: visible;
}
.patente-board-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 0.85rem;
}
.patente-now {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.2rem;
  text-align: right;
}
.patente-now strong {
  font-family: var(--qa-font-display);
  letter-spacing: 0.05em;
  color: #fff;
}
.patente-now-note {
  font-size: 0.78rem;
  color: #9a9a9a;
}
.patente-now-note.is-ready { color: #8fd4a4; font-weight: 600; }
.patente-now-bar {
  height: 8px;
  position: relative;
  background: #0a0304;
  border: 1px solid #5a1018;
  border-radius: 0;
  overflow: hidden;
  margin-bottom: 1rem;
}
.patente-now-bar > span {
  display: block;
  height: 100%;
  position: relative;
  background: repeating-linear-gradient(
    90deg,
    #6a0a12 0 8px,
    var(--qa-accent) 8px 10px
  );
  animation: ladderFill 0.85s ease-out both;
}
.patente-now-bar > span::after,
.operator-progress-bar > span::after,
.patente-ladder-track > span::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 2px;
  background: #fff6f6;
  box-shadow: 0 0 6px var(--qa-accent), 6px 0 10px rgba(193, 18, 31, 0.45);
  animation: tacScan 2.8s linear infinite;
}

.patente-ladder-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}
.patente-ladder-row {
  position: relative;
  display: grid;
  grid-template-columns: minmax(10rem, 1.2fr) minmax(4rem, 1fr) minmax(0, 0.9fr);
  align-items: center;
  gap: 0.55rem 0.9rem;
  padding: 0.7rem 0.85rem;
  border: 1px solid var(--qa-line);
  background: #0c0c0c;
  border-radius: 2px;
}
.patente-ladder-main {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.75rem;
}
.patente-ladder-row.is-atual {
  border-color: var(--qa-accent);
  background:
    repeating-linear-gradient(
      0deg,
      transparent,
      transparent 3px,
      rgba(193, 18, 31, 0.07) 3px,
      rgba(193, 18, 31, 0.07) 4px
    ),
    #120406;
  animation: tacBeacon 1.8s steps(2, end) infinite;
}
.patente-ladder-row.is-atual::before {
  content: "";
  position: absolute;
  inset: 4px;
  pointer-events: none;
  z-index: 1;
  background:
    linear-gradient(var(--qa-accent), var(--qa-accent)) 0 0 / 11px 2px no-repeat,
    linear-gradient(var(--qa-accent), var(--qa-accent)) 0 0 / 2px 11px no-repeat,
    linear-gradient(var(--qa-accent), var(--qa-accent)) 100% 0 / 11px 2px no-repeat,
    linear-gradient(var(--qa-accent), var(--qa-accent)) 100% 0 / 2px 11px no-repeat,
    linear-gradient(var(--qa-accent), var(--qa-accent)) 0 100% / 11px 2px no-repeat,
    linear-gradient(var(--qa-accent), var(--qa-accent)) 0 100% / 2px 11px no-repeat,
    linear-gradient(var(--qa-accent), var(--qa-accent)) 100% 100% / 11px 2px no-repeat,
    linear-gradient(var(--qa-accent), var(--qa-accent)) 100% 100% / 2px 11px no-repeat;
}
.patente-ladder-row.is-conquistada {
  opacity: 1;
  border-color: #234a2c;
  border-left: 3px solid #1f8a3b;
  background: #0b100c;
}
.patente-ladder-row.is-bloqueada {
  opacity: 0.48;
  background:
    repeating-linear-gradient(
      -45deg,
      transparent,
      transparent 6px,
      rgba(255, 255, 255, 0.03) 6px,
      rgba(255, 255, 255, 0.03) 7px
    ),
    #0a0a0a;
}
.patente-ladder-row.is-elegivel {
  border-color: #8a6a10;
  border-left: 3px solid #c4a035;
  background: #120e06;
  animation: tacAlert 1.4s steps(2, end) infinite;
}
.patente-ladder-xp {
  font-family: var(--qa-font-display);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 0.82rem;
  color: #fff;
  white-space: nowrap;
}
.patente-ladder-track {
  height: 8px;
  position: relative;
  background: #121212;
  border: 1px solid #2a2a2a;
  border-radius: 0;
  overflow: hidden;
}
.patente-ladder-track > span {
  display: block;
  height: 100%;
  position: relative;
  background: repeating-linear-gradient(
    90deg,
    #3a3a3a 0 8px,
    #5a5a5a 8px 10px
  );
  animation: ladderFill 0.85s ease-out both;
  animation-delay: calc(var(--i, 0) * 55ms);
}
.patente-ladder-row.is-atual .patente-ladder-track {
  border-color: #5a1018;
  background: #0a0304;
}
.patente-ladder-row.is-atual .patente-ladder-track > span,
.patente-ladder-row.is-elegivel .patente-ladder-track > span {
  background: repeating-linear-gradient(
    90deg,
    #6a0a12 0 8px,
    var(--qa-accent) 8px 10px
  );
}
.patente-ladder-row.is-elegivel .patente-ladder-track > span {
  background: repeating-linear-gradient(
    90deg,
    #6a5410 0 8px,
    #c4a035 8px 10px
  );
}
.patente-ladder-row.is-conquistada .patente-ladder-track {
  border-color: #234a2c;
}
.patente-ladder-row.is-conquistada .patente-ladder-track > span {
  background: repeating-linear-gradient(
    90deg,
    #14662c 0 8px,
    #1f8a3b 8px 10px
  );
}
.patente-ladder-row.is-conquistada .patente-ladder-track > span::after,
.patente-ladder-row.is-bloqueada .patente-ladder-track > span::after {
  display: none;
}
.patente-ladder-note {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.4rem;
  font-family: var(--qa-font-display);
  font-size: 0.68rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #8a8a8a;
  text-align: right;
  position: relative;
  z-index: 1;
}
.patente-note-icon {
  width: 0.9rem;
  height: 0.9rem;
  flex: 0 0 auto;
}
.patente-note-icon.is-ok { color: #1f8a3b; }
.patente-note-icon.is-ready { color: #c4a035; }
.patente-ladder-row.is-atual .patente-ladder-note {
  color: #ffb8bc;
  font-weight: 600;
}
.patente-ladder-row.is-conquistada .patente-ladder-note { color: #6fbf84; }
.patente-ladder-row.is-elegivel .patente-ladder-note { color: #d4b85a; }
.patente-here-pip {
  width: 8px;
  height: 8px;
  flex: 0 0 auto;
  border: 1px solid var(--qa-accent);
  background:
    linear-gradient(var(--qa-accent), var(--qa-accent)) 50% 0 / 1px 100% no-repeat,
    linear-gradient(var(--qa-accent), var(--qa-accent)) 0 50% / 100% 1px no-repeat,
    #000;
  animation: tacBlink 1.1s steps(1, end) infinite;
}
@keyframes ladderFill {
  from { width: 0; }
}
@keyframes tacScan {
  0% { transform: translateX(0); }
  100% { transform: translateX(2200%); }
}
@keyframes tacBeacon {
  0%, 100% { border-color: var(--qa-accent); }
  50% { border-color: #5a1018; }
}
@keyframes tacAlert {
  0%, 100% { border-left-color: #c4a035; }
  50% { border-left-color: #5a4a10; }
}
@keyframes tacBlink {
  0%, 49% { opacity: 1; }
  50%, 100% { opacity: 0.2; }
}
@media (max-width: 900px) {
  .xp-gain-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .xp-rule-grid { grid-template-columns: 1fr; }
  .xp-rule-card .xp-conquest-list { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .patente-ladder-row {
    grid-template-columns: 1fr;
  }
  .patente-ladder-note { text-align: left; justify-content: flex-start; }
  .patente-now { align-items: flex-start; text-align: left; }
}

.modal-promocao-dialog { max-width: 440px; }
.modal-promocao {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(420px 220px at 50% 0%, rgba(193, 18, 31, 0.35), transparent 65%),
    #0a0a0a;
  border: 1px solid #2a2a2a;
  border-top: 4px solid var(--qa-accent);
  border-radius: var(--qa-radius);
  color: #f2f2f2;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.65);
  animation: riseIn 0.4s ease-out;
}
.modal-promocao .modal-body { padding: 2rem 1.5rem 1.5rem; }
.modal-promocao-close {
  position: absolute;
  top: 0.85rem;
  right: 0.85rem;
  z-index: 2;
  opacity: 0.7;
}
.modal-promocao-close:hover { opacity: 1; }
.modal-promocao-glow {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: repeating-linear-gradient(
    45deg,
    transparent,
    transparent 10px,
    rgba(255, 255, 255, 0.015) 10px,
    rgba(255, 255, 255, 0.015) 20px
  );
}
.modal-promocao-stamp { animation: pulseSoft 1.8s ease infinite; }
.patente-promo-track {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
}
.patente-promo-arrow {
  font-family: var(--qa-font-display);
  color: var(--qa-accent);
  font-size: 1.25rem;
  letter-spacing: 0;
}
.patente-promo-next {
  border-color: var(--qa-gold-soft);
  color: var(--qa-gold-soft);
  animation: pulseSoft 1.6s ease infinite;
}
.modal-backdrop.show { opacity: 0.82; }

.meta-panel { border-top-color: #fff; }
.badge-meta-ok {
  background: rgba(31, 138, 59, 0.22);
  color: #8fd4a4;
  border: 1px solid rgba(62, 207, 106, 0.45);
  font-family: var(--qa-font-display);
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0.25rem 0.6rem;
  border-radius: 2px;
}

.meta-slider-form { margin: 0; }
.meta-slider-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.55rem;
}
.meta-slider-value {
  display: inline-flex;
  align-items: baseline;
  gap: 0.35rem;
  font-family: var(--qa-font-display);
  font-size: 1.35rem;
  letter-spacing: 0.04em;
  color: #fff;
  min-width: 4.5rem;
  text-align: right;
  line-height: 1;
}
.meta-slider-unit {
  font-family: var(--qa-font-body);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--qa-muted);
}
.meta-slider-wrap {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 0.15rem 0;
  touch-action: none;
}
.meta-slider {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  height: 44px;
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  outline: none;
  cursor: pointer;
  touch-action: none;
}
.meta-slider:focus-visible {
  outline: 2px solid var(--qa-accent);
  outline-offset: 2px;
}
.meta-slider::-webkit-slider-runnable-track {
  height: 10px;
  border: 1px solid #333;
  border-radius: 0;
  background: linear-gradient(
    90deg,
    var(--qa-accent) 0%,
    var(--qa-accent) var(--meta-pct, 8%),
    #222 var(--meta-pct, 8%),
    #222 100%
  );
}
.meta-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 26px;
  height: 26px;
  margin-top: -9px;
  border-radius: 2px;
  background: linear-gradient(180deg, #ff4d57, var(--qa-accent));
  border: 2px solid #fff;
  box-shadow: 0 0 10px rgba(193, 18, 31, 0.55);
  cursor: grab;
  position: relative;
  z-index: 2;
}
.meta-slider::-webkit-slider-thumb:active { cursor: grabbing; }
.meta-slider::-moz-range-track {
  height: 10px;
  border: 1px solid #333;
  border-radius: 0;
  background: linear-gradient(
    90deg,
    var(--qa-accent) 0%,
    var(--qa-accent) var(--meta-pct, 8%),
    #222 var(--meta-pct, 8%),
    #222 100%
  );
}
.meta-slider::-moz-range-thumb {
  width: 26px;
  height: 26px;
  border-radius: 2px;
  background: linear-gradient(180deg, #ff4d57, var(--qa-accent));
  border: 2px solid #fff;
  box-shadow: 0 0 10px rgba(193, 18, 31, 0.55);
  cursor: grab;
}
.meta-slider-ends {
  display: flex;
  justify-content: space-between;
  margin-top: 0.15rem;
}
.meta-slider-ends-diff {
  gap: 0.2rem;
}
.meta-slider-ends-diff span {
  flex: 1 1 0;
  min-width: 0;
  text-align: center;
  line-height: 1.2;
}
.meta-slider-ends-diff span:first-child { text-align: left; }
.meta-slider-ends-diff span:last-child { text-align: right; }

.rank-row {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.55rem 0;
  border-bottom: 1px solid #2a2a2a;
}
.rank-row:last-child { border-bottom: 0; }
.rank-row.is-me {
  background: rgba(193, 18, 31, 0.12);
  margin: 0 -0.5rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  border-radius: 2px;
}
.rank-who {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  flex-wrap: wrap;
}
.rank-pos {
  display: inline-flex;
  width: 28px;
  height: 28px;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  font-family: var(--qa-font-display);
  font-weight: 700;
  font-size: 0.78rem;
  color: #f2f2f2;
  background: #1c1c1c;
  border: 1px solid rgba(255, 255, 255, 0.14);
  font-variant-numeric: tabular-nums;
}
.rank-name { flex: 1; color: #fff; font-size: 0.9rem; }
.rank-name-blur {
  filter: none;
}
.rank-xp {
  font-family: var(--qa-font-display);
  color: #fff;
  font-size: 0.85rem;
}

.panel.elite-board {
  padding: 0.9rem 0.95rem 1rem;
}
.elite-board-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 0.75rem;
  margin-bottom: 0.65rem;
}
.elite-board-links {
  display: inline-flex;
  gap: 0.65rem;
  white-space: nowrap;
}
.elite-board-links a {
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 0.72rem;
}
.elite-split {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.7rem;
  align-items: stretch;
}
.elite-pane {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 0.55rem 0.5rem 0.5rem;
  border: 1px solid var(--qa-line);
  border-radius: 2px;
  background: #0c0c0c;
}
.elite-pane-title {
  margin: 0 0 0.5rem;
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 0.35rem;
  font-family: var(--qa-font-display);
  font-size: 0.62rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--qa-gold-soft);
}
.elite-pane-title span {
  color: #7a7a7a;
  letter-spacing: 0.04em;
  font-weight: 500;
}
.elite-pane.is-honors {
  background:
    repeating-linear-gradient(
      135deg,
      transparent,
      transparent 5px,
      rgba(245, 197, 66, 0.035) 5px,
      rgba(245, 197, 66, 0.035) 6px
    ),
    #0c0c0c;
  border-color: #3a3420;
}
.elite-pane.is-honors .elite-pane-title {
  color: #f5c542;
  border-bottom: 1px solid rgba(245, 197, 66, 0.22);
  padding-bottom: 0.4rem;
  margin-bottom: 0.65rem;
}
.elite-podium {
  list-style: none;
  margin: 0 0 0.45rem;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.4rem;
  align-items: stretch;
}
.elite-podium.is-stand {
  align-items: end;
  grid-template-columns: 1fr 1.22fr 1fr;
  gap: 0.35rem;
}
.elite-podium.is-stand .elite-card.is-silver,
.elite-podium.is-stand .elite-card.is-bronze {
  margin-top: 0.7rem;
}
.elite-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0.22rem;
  min-width: 0;
  padding: 0.5rem 0.28rem 0.35rem;
  border: 1px solid var(--qa-line);
  border-radius: 2px;
  background:
    repeating-linear-gradient(
      -45deg,
      transparent,
      transparent 4px,
      rgba(255, 255, 255, 0.02) 4px,
      rgba(255, 255, 255, 0.02) 5px
    ),
    #101010;
}
.elite-card-id {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.2rem;
}
.elite-card.is-gold {
  border-color: #d4b84a;
  background:
    repeating-linear-gradient(
      -45deg,
      transparent,
      transparent 4px,
      rgba(245, 197, 66, 0.06) 4px,
      rgba(245, 197, 66, 0.06) 5px
    ),
    linear-gradient(180deg, rgba(245, 197, 66, 0.28), #12100a 62%);
  box-shadow: 0 0 18px rgba(212, 184, 74, 0.22);
}
.elite-card.is-silver {
  border-color: #b0b0b0;
  background:
    repeating-linear-gradient(
      -45deg,
      transparent,
      transparent 4px,
      rgba(192, 192, 192, 0.05) 4px,
      rgba(192, 192, 192, 0.05) 5px
    ),
    linear-gradient(180deg, rgba(192, 192, 192, 0.18), #111 62%);
}
.elite-card.is-bronze {
  border-color: #c07832;
  background:
    repeating-linear-gradient(
      -45deg,
      transparent,
      transparent 4px,
      rgba(205, 127, 50, 0.06) 4px,
      rgba(205, 127, 50, 0.06) 5px
    ),
    linear-gradient(180deg, rgba(205, 127, 50, 0.2), #120d09 62%);
}
.elite-card.is-me {
  animation: tacBeacon 1.8s steps(2, end) infinite;
}
.elite-card.is-me::after {
  content: "";
  position: absolute;
  inset: 4px;
  pointer-events: none;
  background:
    linear-gradient(var(--qa-accent), var(--qa-accent)) 0 0 / 8px 1px no-repeat,
    linear-gradient(var(--qa-accent), var(--qa-accent)) 0 0 / 1px 8px no-repeat,
    linear-gradient(var(--qa-accent), var(--qa-accent)) 100% 0 / 8px 1px no-repeat,
    linear-gradient(var(--qa-accent), var(--qa-accent)) 100% 0 / 1px 8px no-repeat,
    linear-gradient(var(--qa-accent), var(--qa-accent)) 0 100% / 8px 1px no-repeat,
    linear-gradient(var(--qa-accent), var(--qa-accent)) 0 100% / 1px 8px no-repeat,
    linear-gradient(var(--qa-accent), var(--qa-accent)) 100% 100% / 8px 1px no-repeat,
    linear-gradient(var(--qa-accent), var(--qa-accent)) 100% 100% / 1px 8px no-repeat;
}
.elite-medal {
  display: flex;
  align-items: center;
  line-height: 0;
  flex: 0 0 auto;
}
.elite-medal-svg {
  width: 40px;
  height: 52px;
  display: block;
  overflow: visible;
  filter: drop-shadow(0 3px 4px rgba(0, 0, 0, 0.45));
}
.elite-card.is-gold .elite-medal-svg {
  width: 48px;
  height: 62px;
  filter: drop-shadow(0 0 8px rgba(245, 197, 66, 0.45)) drop-shadow(0 3px 5px rgba(0, 0, 0, 0.4));
}
.elite-card .elite-avatar {
  width: 36px;
  height: 36px;
  font-size: 0.9rem;
  border-radius: 50%;
  flex: 0 0 auto;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.45);
}
.elite-card.is-gold .elite-avatar {
  width: 40px;
  height: 40px;
  border-color: #d4b84a;
  box-shadow: 0 0 0 1px rgba(245, 197, 66, 0.35), 0 2px 8px rgba(0, 0, 0, 0.45);
}
.elite-card.is-silver .elite-avatar {
  border-color: #c0c0c0;
}
.elite-card.is-bronze .elite-avatar {
  border-color: #cd7f32;
}
.elite-card-step {
  display: block;
  width: 78%;
  height: 5px;
  margin-top: 0.2rem;
  border-radius: 1px 1px 0 0;
  background: #2a2a2a;
}
.elite-card.is-gold .elite-card-step {
  height: 9px;
  background: linear-gradient(180deg, #f5c542, #8a7010);
  box-shadow: 0 0 8px rgba(245, 197, 66, 0.25);
}
.elite-card.is-silver .elite-card-step {
  height: 6px;
  background: linear-gradient(180deg, #d0d0d0, #6e6e6e);
}
.elite-card.is-bronze .elite-card-step {
  height: 6px;
  background: linear-gradient(180deg, #cd7f32, #6a3a12);
}
.elite-card .elite-who {
  width: 100%;
  align-items: center;
}
.elite-card .elite-who strong {
  display: block;
  font-size: 0.72rem;
  max-width: 100%;
}
.elite-card .elite-who .rank-who {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.28rem;
  width: 100%;
  white-space: normal;
  overflow: visible;
  text-overflow: unset;
  line-height: 1.2;
}
.elite-card .rank-who .patente-badge {
  max-width: 100%;
  font-size: 0.58rem;
  letter-spacing: 0.04em;
  padding: 0.16rem 0.35rem;
}
.elite-card .rank-who .live-dot {
  display: none;
}
.elite-card .elite-who small {
  font-size: 0.58rem;
}
.elite-card .elite-xp {
  text-align: center;
  margin-top: auto;
}
.elite-card .elite-xp strong {
  font-size: 0.95rem;
}
.elite-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  flex: 1;
}
.elite-row {
  position: relative;
  display: grid;
  grid-template-columns: 26px 26px minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.4rem;
  padding: 0.4rem 0.5rem;
  border: 1px solid var(--qa-line);
  border-radius: 2px;
  background: #101010;
}
.elite-row.is-top {
  padding: 0.42rem 0.5rem;
}
.elite-row.is-gold {
  border-color: #d4b84a;
  background: linear-gradient(90deg, rgba(245, 197, 66, 0.16), #12100a 55%);
}
.elite-row.is-silver {
  border-color: #8d8d8d;
  background: linear-gradient(90deg, rgba(192, 192, 192, 0.12), #111 55%);
}
.elite-row.is-bronze {
  border-color: #b56a2b;
  background: linear-gradient(90deg, rgba(205, 127, 50, 0.14), #120d09 55%);
}
.elite-row.is-rest {
  opacity: 0.72;
  padding: 0.42rem 0.65rem;
}
.elite-row .podium {
  width: 22px;
  height: 22px;
  font-size: 0.75rem;
  border-radius: 6px;
}
.elite-row.is-me {
  box-shadow: none;
  animation: tacBeacon 1.8s steps(2, end) infinite;
}
.elite-row.is-me::after {
  content: "";
  position: absolute;
  inset: 4px;
  pointer-events: none;
  background:
    linear-gradient(var(--qa-accent), var(--qa-accent)) 0 0 / 8px 1px no-repeat,
    linear-gradient(var(--qa-accent), var(--qa-accent)) 0 0 / 1px 8px no-repeat,
    linear-gradient(var(--qa-accent), var(--qa-accent)) 100% 0 / 8px 1px no-repeat,
    linear-gradient(var(--qa-accent), var(--qa-accent)) 100% 0 / 1px 8px no-repeat,
    linear-gradient(var(--qa-accent), var(--qa-accent)) 0 100% / 8px 1px no-repeat,
    linear-gradient(var(--qa-accent), var(--qa-accent)) 0 100% / 1px 8px no-repeat,
    linear-gradient(var(--qa-accent), var(--qa-accent)) 100% 100% / 8px 1px no-repeat,
    linear-gradient(var(--qa-accent), var(--qa-accent)) 100% 100% / 1px 8px no-repeat;
}
.elite-pos {
  font-family: var(--qa-font-display);
  color: #7a7a7a;
  font-size: 0.78rem;
  text-align: center;
}
.elite-avatar {
  width: 26px;
  height: 26px;
  font-size: 0.7rem;
  border-radius: 6px;
}
.elite-row.is-rest .elite-avatar {
  width: 22px;
  height: 22px;
  font-size: 0.62rem;
}
.elite-row .rank-who {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.12rem;
  white-space: normal;
  overflow: visible;
  line-height: 1.15;
}
.elite-who {
  min-width: 0;
  display: flex;
  flex-direction: column;
}
.elite-row .elite-person-name {
  font-size: 0.78rem;
  font-weight: 600;
}
.elite-row .rank-who .patente-badge {
  font-size: 0.58rem;
  letter-spacing: 0.04em;
  padding: 0.05rem 0.32rem;
  gap: 0.2rem;
}
.elite-who strong {
  color: #fff;
  font-size: 0.8rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.elite-who em {
  font-style: normal;
  color: var(--qa-gold-soft);
  font-size: 0.72rem;
  font-weight: 600;
}
.elite-who small {
  color: #8f8f8f;
  font-size: 0.72rem;
}
.elite-xp {
  text-align: right;
  display: flex;
  flex-direction: column;
}
.elite-xp strong {
  font-family: var(--qa-font-display);
  color: #fff;
  font-size: 0.85rem;
  letter-spacing: 0.04em;
}
.elite-xp small {
  font-size: 0.52rem;
  color: #8fd4a4;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.elite-xp-week {
  font-size: 0.65rem;
  color: #8a8a8a;
  letter-spacing: 0.02em;
}
.rank-xp-pair strong {
  font-family: var(--qa-font-display);
  letter-spacing: 0.04em;
}
.rank-xp-delta {
  display: inline-block;
  margin-left: 0.4rem;
  font-family: var(--qa-font-display);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  vertical-align: middle;
  animation: rank-xp-pop 2.8s ease forwards;
}
.rank-xp-pair .rank-xp-delta {
  display: block;
  margin: 0.15rem 0 0;
}
.rank-xp-delta.is-up,
.js-rank-xp-semana.is-xp-up,
.js-rank-xp-total.is-xp-up {
  color: #3dff7a;
}
.rank-xp-delta.is-down,
.js-rank-xp-semana.is-xp-down,
.js-rank-xp-total.is-xp-down {
  color: #ff5c5c;
}
.rank-gap {
  display: inline-block;
  margin-left: 0.35rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--qa-muted, #9aa);
}
.rank-gap.is-up { color: #3dff7a; }
.rank-gap.is-down { color: #ff5c5c; }
.rank-xp-pair .rank-gap { display: block; margin: 0.15rem 0 0; }
.elite-xp .rank-gap { display: block; margin: 0.1rem 0 0; font-size: 0.68rem; }
@keyframes rank-xp-pop {
  0% { opacity: 0; transform: translateY(6px); }
  14% { opacity: 1; transform: translateY(0); }
  72% { opacity: 1; }
  100% { opacity: 0; transform: translateY(-8px); }
}
.rank-xp-week {
  margin-top: 0.15rem;
  font-size: 0.72rem;
  color: #8a8a8a;
}
.elite-outside {
  margin: 0.75rem 0 0;
  font-size: 0.8rem;
  color: #9a9a9a;
}

.podium {
  display: inline-flex;
  width: 28px;
  height: 28px;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  font-family: var(--qa-font-display);
  font-weight: 700;
  color: #000;
}
.podium.gold { background: #f5c542; }
.podium.silver { background: #c0c0c0; }
.podium.bronze { background: #cd7f32; color: #fff; }
.rank-me-row { background: rgba(193, 18, 31, 0.12) !important; }
.live-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  margin: 0 0.35rem 0 0;
  border-radius: 50%;
  background: #3dff7a;
  box-shadow: 0 0 0 0 rgba(61, 255, 122, 0.65);
  animation: live-pulse 1.6s ease-out infinite;
  vertical-align: middle;
  flex: 0 0 auto;
}
@keyframes live-pulse {
  0% { box-shadow: 0 0 0 0 rgba(61, 255, 122, 0.55); }
  70% { box-shadow: 0 0 0 8px rgba(61, 255, 122, 0); }
  100% { box-shadow: 0 0 0 0 rgba(61, 255, 122, 0); }
}
@media (prefers-reduced-motion: reduce) {
  .live-dot { animation: none; }
  .rank-xp-delta { animation: none; }
}

.mission-end {
  position: relative;
  max-width: 760px;
  margin: 0 auto;
  padding: 1.5rem;
  border: 1px solid #2a2a2a;
  border-top: 4px solid var(--qa-accent);
  background:
    repeating-linear-gradient(
      0deg,
      transparent,
      transparent 3px,
      rgba(193, 18, 31, 0.05) 3px,
      rgba(193, 18, 31, 0.05) 4px
    ),
    radial-gradient(600px 280px at 50% 0%, rgba(193, 18, 31, 0.22), transparent 60%),
    #0a0a0a;
  box-shadow: var(--qa-shadow);
  animation: riseIn 0.55s ease-out;
}
.mission-end.mission-ok { border-top-color: #1f8a3b; }
.mission-end.mission-retry { border-top-color: var(--qa-accent); }
.mission-kicker {
  font-family: var(--qa-font-display);
  letter-spacing: 0.18em;
  color: var(--qa-accent);
  font-size: 0.8rem;
}
.mission-ok .mission-kicker { color: #3ecf6a; }
.mission-stamp { animation: pulseSoft 1.8s ease infinite; }

/* Simulado */
.modo-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 0.75rem;
}
.modo-card {
  display: block;
  border: 1px solid #2a2a2a;
  background: #101010;
  padding: 0.9rem 1rem;
  border-radius: 2px;
  cursor: pointer;
  border-left: 3px solid #444;
}
.modo-card:has(input:checked) {
  border-color: var(--qa-accent);
  border-left-color: var(--qa-accent);
  background: #1a0a0c;
}
.modo-card input { margin-right: 0.45rem; }
.modo-card strong {
  display: block;
  font-family: var(--qa-font-display);
  letter-spacing: 0.04em;
  margin-bottom: 0.25rem;
  color: #fff;
}
.modo-card span {
  display: block;
  font-size: 0.85rem;
  color: #9a9a9a;
  margin-top: 0.35rem;
}
.timer-countdown { border-color: #fff; }
.timer-warn { border-color: #f5c542 !important; color: #f5c542 !important; }
.timer-danger {
  border-color: var(--qa-accent) !important;
  color: #ff4d57 !important;
  animation: pulseSoft 0.7s ease infinite;
}
.revisao-item {
  border: 1px solid #2a2a2a;
  border-left: 4px solid #555;
  padding: 0.9rem 1rem;
  margin-bottom: 0.75rem;
  background: #101010;
  border-radius: 2px;
}
.revisao-item.ok { border-left-color: #1f8a3b; }
.revisao-item.bad { border-left-color: var(--qa-accent); }
.revisao-item.branco { border-left-color: #888; }

.edital-row td {
  padding-top: 0;
  border-top: 0;
}
.edital-outline {
  background: #101010;
  border: 1px solid #2a2a2a;
  border-left: 4px solid var(--qa-accent);
  border-radius: 2px;
  padding: 0.9rem 1.1rem;
  color: #e8e8e8;
  font-size: 0.9rem;
  line-height: 1.45;
}
.edital-outline-title,
.edital-outline > strong {
  display: block;
  color: #fff;
  font-family: var(--qa-font-display);
  font-size: 1.05rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  margin-bottom: 0.7rem;
  line-height: 1.25;
}
.edital-line {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  margin: 0.18rem 0;
  color: #d6d6d6;
}
.edital-line.is-item {
  padding-left: 0;
  font-weight: 500;
  color: #ececec;
}
.edital-line.is-sub {
  padding-left: 1.35rem;
  color: #c8c8c8;
}
.edital-n {
  flex: 0 0 auto;
  min-width: 2.35rem;
  color: var(--qa-accent);
  font-family: var(--qa-font-display);
  font-size: 0.86rem;
  font-weight: 600;
  line-height: 1.45;
}
.edital-text {
  flex: 1 1 auto;
  min-width: 0;
  line-height: 1.45;
}
.edital-count {
  flex: 0 0 auto;
  margin-left: auto;
  padding-left: 0.5rem;
  font-size: 0.72rem;
  color: #9a9a9a;
  white-space: nowrap;
  line-height: 1.45;
}
.edital-line.is-ok { color: #c8f0d0; }
.edital-line.is-ok .edital-n { color: var(--qa-ok); }
.edital-line.is-pend { color: #f5d48a; }
.edital-line.is-pend .edital-n { color: #e0b44a; }
.edital-line.is-empty { opacity: 0.9; }
.edital-link {
  text-decoration: none;
  color: inherit;
  border-radius: 2px;
  padding: 0.12rem 0.15rem;
}
.edital-link:hover {
  background: #1a1a1a;
  color: #fff;
}
.edital-link:hover .edital-n { color: var(--qa-gold-soft); }
.acesso-lista {
  max-height: 160px;
  overflow: auto;
  border: 1px solid #2a2a2a;
  padding: 0.45rem 0.6rem;
  background: #101010;
}

#aba-cadastro,
#aba-link,
#aba-alunos,
#novo-aluno {
  scroll-margin-top: 1rem;
}
.aluno-enlist {
  padding: 1.25rem 1.3rem 1.2rem;
  margin-bottom: 1.25rem;
}
.aluno-enlist-head {
  margin-bottom: 1.1rem;
}
.aluno-enlist-head h2 {
  color: #fff;
}
.aluno-enlist-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: 1.25rem 1.5rem;
}
.aluno-enlist-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1rem;
  margin-top: 1.15rem;
  padding-top: 1rem;
  border-top: 1px solid #2a2a2a;
}
.convite-uso-options {
  display: grid;
  gap: 0.65rem;
}
.convite-link-box {
  padding: 0.9rem 1rem;
  border: 1px solid #3a3a3a;
  background: #171717;
}
.convite-wa {
  margin-top: 0.85rem;
  padding-top: 0.85rem;
  border-top: 1px solid #2a2a2a;
}
.convite-wa--destaque {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}
.convite-wa-toggle {
  margin: 0.55rem 0 0.15rem;
}
.convite-wa-toggle > summary {
  cursor: pointer;
  list-style: none;
  color: #cfcfcf;
  font-size: 0.75rem;
  font-family: var(--qa-font-display);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  user-select: none;
}
.convite-wa-toggle > summary::-webkit-details-marker { display: none; }
.convite-wa-toggle > summary::after {
  content: ' ▾';
  color: var(--qa-accent);
}
.convite-wa-toggle[open] > summary::after { content: ' ▴'; }
.convite-wa-toggle .convite-wa {
  margin-top: 0.65rem;
  padding-top: 0;
  border-top: 0;
}
.convite-wa-toggle .convite-wa .form-label { display: none; }
.convite-wa-preview {
  border: 1px solid #2a3d32;
  background:
    linear-gradient(180deg, rgba(18, 28, 24, 0.92), rgba(14, 20, 18, 0.98)),
    repeating-linear-gradient(
      -12deg,
      transparent,
      transparent 10px,
      rgba(255, 255, 255, 0.015) 10px,
      rgba(255, 255, 255, 0.015) 20px
    );
  padding: 0.7rem 0.75rem 0.85rem;
}
.convite-wa-meta {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  margin-bottom: 0.55rem;
  color: #9bbbb0;
  font-size: 0.72rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-family: var(--qa-font-display);
}
.convite-wa-dot {
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 50%;
  background: #25d366;
  box-shadow: 0 0 0 3px rgba(37, 211, 102, 0.18);
  flex-shrink: 0;
}
.convite-wa-bubble {
  max-width: 34rem;
  margin-left: auto;
  padding: 0.7rem 0.8rem 0.75rem;
  border-radius: 0.55rem 0.55rem 0.15rem 0.55rem;
  background: #1f3a2c;
  border: 1px solid #2f5a42;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.28);
}
.convite-wa-text {
  margin: 0;
  white-space: pre-wrap;
  word-break: break-word;
  font-family: inherit;
  font-size: 0.9rem;
  line-height: 1.45;
  color: #e8f5ee;
}
.convite-wa-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.7rem;
}
.convite-wa-phone {
  flex: 1 1 14rem;
  min-width: 12rem;
  margin: 0;
}
.convite-wa-phone .form-control {
  width: 100%;
}
.btn-whatsapp {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  border: 1px solid #1fa855;
  background: #128c4a;
  color: #fff;
  font-family: var(--qa-font-display);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.btn-whatsapp:hover,
.btn-whatsapp:focus {
  background: #0f7a40;
  border-color: #25d366;
  color: #fff;
}
.btn-whatsapp .icon-wa {
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
}
.convite-lista {
  padding-top: 1rem;
  border-top: 1px solid #2a2a2a;
}
.convite-card-list {
  display: grid;
  gap: 0.65rem;
}
.convite-card {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.75rem 0.85rem;
  border: 1px solid #2f2f2f;
  background: #141414;
}
.convite-card-main {
  min-width: 0;
  flex: 1;
}
.convite-card-side {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.4rem;
  flex-shrink: 0;
}
.convite-edit {
  margin-top: 0.75rem;
}
.pw-field {
  position: relative;
}
.pw-field .form-control {
  padding-right: 4.4rem;
}
.pw-icon-btn {
  position: absolute;
  right: 0.4rem;
  top: 50%;
  transform: translateY(-50%);
  border: 0;
  background: transparent;
  color: #cfcfcf;
  font-size: 0.75rem;
  font-family: var(--qa-font-display);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 0.25rem 0.4rem;
  min-height: 0 !important;
}
.pw-icon-btn:hover { color: #fff; }
.pw-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.75rem;
}
.acesso-chip-grid {
  display: grid;
  gap: 0.5rem;
}
.acesso-chip-grid.is-locked {
  opacity: 0.45;
  pointer-events: none;
}
.acesso-chip {
  display: flex;
  align-items: flex-start;
  gap: 0.7rem;
  margin: 0 0 0.5rem;
  padding: 0.75rem 0.85rem;
  border: 1px solid #2a2a2a;
  background: #101010;
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease;
}
.acesso-chip-grid .acesso-chip { margin: 0; }
.acesso-chip:hover { border-color: #444; }
.acesso-chip.is-on {
  border-color: var(--qa-accent);
  background: rgba(193, 18, 31, 0.14);
}
.acesso-chip-all {
  border-left: 3px solid var(--qa-accent);
}
.acesso-chip input {
  margin-top: 0.2rem;
  width: 1.05rem;
  height: 1.05rem;
  accent-color: var(--qa-accent);
  flex-shrink: 0;
}
.acesso-chip-body {
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
  min-width: 0;
}
.acesso-chip-body strong {
  color: #fff;
  font-size: 0.92rem;
  font-weight: 600;
}
.acesso-chip-body small {
  color: var(--qa-muted);
  font-size: 0.75rem;
  line-height: 1.35;
}
.aluno-roster-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.9rem;
}
.aluno-roster-head h2 { color: #fff; }
.aluno-roster-tools {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.55rem;
  flex: 1 1 280px;
}
.aluno-filtro-concurso {
  flex: 1 1 220px;
  max-width: 320px;
  margin: 0;
}
.aluno-filtro-login {
  flex: 1 1 200px;
  max-width: 280px;
  margin: 0;
}
.aluno-search {
  flex: 1 1 220px;
  max-width: 320px;
  margin: 0;
}
.aluno-grupo {
  margin-bottom: 1rem;
}
.aluno-grupo-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem 0.75rem;
  background: #111;
  color: #fff;
  padding: 0.7rem 0.9rem;
  border: 1px solid #000;
  margin-bottom: 0.45rem;
}
.aluno-grupo-titulo {
  min-width: 0;
}
.aluno-grupo-head h3 {
  margin: 0;
  color: #fff;
  font-size: 0.92rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.aluno-grupo-titulo p {
  margin: 0.15rem 0 0;
  color: var(--qa-muted);
  font-size: 0.75rem;
}
.aluno-grupo-side {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
}
.aluno-grupo-meta {
  color: #f0b429;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.aluno-aviso-panel {
  border-left: 4px solid var(--qa-accent);
}
.aluno-aviso-panel-head {
  margin-bottom: 0.85rem;
}
.aluno-aviso-panel-form {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 0.75rem 1rem;
}
.aluno-aviso-panel-select {
  flex: 1 1 16rem;
  min-width: 12rem;
  margin: 0;
}
.aluno-aviso-panel-form .btn {
  flex: 0 0 auto;
}
.aluno-grupo-vazio {
  margin-bottom: 0;
}
.aluno-card-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.aluno-card {
  background: #141414;
  border: 1px solid var(--qa-line, #2a2a2a);
  border-left: 4px solid var(--qa-accent);
  border-radius: var(--qa-radius);
  padding: 0.7rem 0.85rem;
}
.aluno-card-top {
  display: grid;
  grid-template-columns: auto minmax(0, 1.4fr) auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.55rem 0.9rem;
}
.aluno-card .user-avatar {
  width: 36px;
  height: 36px;
  font-size: 0.95rem;
  flex-shrink: 0;
}
.aluno-card-id {
  min-width: 0;
}
.aluno-card-name {
  margin: 0;
  color: #fff;
  font-size: 0.98rem;
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0;
  font-family: var(--qa-font-body);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.aluno-card-email {
  color: var(--qa-muted);
  font-size: 0.78rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.aluno-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem 0.55rem;
  align-items: center;
  margin-top: 0;
  font-size: 0.75rem;
  color: var(--qa-muted);
}
.aluno-card-meta .patente-badge {
  padding: 0.18rem 0.45rem;
  font-size: 0.68rem;
}
.aluno-access-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
  margin-top: 0;
  justify-content: flex-end;
}
.aluno-card-actions {
  display: flex;
  flex-wrap: nowrap;
  gap: 0.4rem;
  flex-shrink: 0;
}
.aluno-card-actions .btn {
  min-width: 4.6rem;
}
.acesso-tag {
  display: inline-flex;
  align-items: center;
  padding: 0.12rem 0.42rem;
  border: 1px solid #3a3a3a;
  background: #161616;
  color: #cfcfcf;
  font-size: 0.66rem;
  font-family: var(--qa-font-display);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  line-height: 1.3;
}
.acesso-tag.is-all {
  border-color: #5a2a2e;
  color: #f0c9cc;
  background: rgba(193, 18, 31, 0.12);
}
.acesso-tag.is-warn {
  border-color: #8a6a12;
  color: #f5d48a;
}
.acesso-tag.is-live {
  border-color: #1e6a3a;
  color: #8fd4a4;
  background: rgba(61, 255, 122, 0.08);
}
.acesso-tag.is-off {
  border-color: #6a6a6a;
  color: #bdbdbd;
  background: rgba(255, 255, 255, 0.04);
}
.acesso-tag.is-ok {
  border-color: #1e6a3a;
  color: #8fd4a4;
  background: rgba(61, 255, 122, 0.08);
}
.aluno-aviso-form {
  display: inline-flex;
  margin: 0;
}
.aluno-meta-login,
.aluno-meta-cadastro {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.28rem;
  line-height: 1.35;
}
.aluno-meta-k {
  color: #8f8f8f;
  font-size: 0.68rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-family: var(--qa-font-display);
}
.aluno-meta-v {
  color: #d8d8d8;
}
.aluno-card.is-never {
  border-left-color: #c9a227;
}
.aluno-card.is-live {
  border-left-color: #3dff7a;
}
.aluno-card.is-inactive {
  border-left-color: #6a6a6a;
  opacity: 0.78;
}
.aluno-card-name .live-dot {
  margin-right: 0.4rem;
}
.aluno-edit {
  margin-top: 0;
  border-top: 0;
  padding-top: 0;
}
.aluno-card > .aluno-edit:not([open]) > :not(summary) {
  display: none;
}
.aluno-card > .aluno-edit[open] {
  display: block;
  margin-top: 0.75rem;
  border-top: 1px solid #2a2a2a;
  padding-top: 0.75rem;
}
.aluno-card > .aluno-edit[open] .aluno-edit-form {
  margin-top: 0;
}
.aluno-card > .aluno-edit > summary {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}
.aluno-edit summary {
  cursor: pointer;
  color: #ddd;
  font-size: 0.82rem;
  font-family: var(--qa-font-display);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  list-style: none;
}
.aluno-edit summary::-webkit-details-marker { display: none; }
.aluno-edit summary::after {
  content: " \25BE";
  color: var(--qa-accent);
  margin-left: 0.25rem;
}
.aluno-edit[open] summary::after { content: " \25B4"; }
.aluno-edit-form { margin-top: 0.85rem; }
.aluno-edit-actions {
  display: flex;
  gap: 0.5rem;
  margin-top: 0.9rem;
}
.aluno-status-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.65rem;
}
.aluno-status-actions .aluno-delete {
  margin-top: 0;
}
.aluno-delete {
  margin-top: 0.65rem;
}

@media (max-width: 992px) {
  .aluno-enlist-grid { grid-template-columns: 1fr; }
  .aluno-search,
  .aluno-filtro-concurso,
  .aluno-filtro-login { max-width: none; }
  .aluno-enlist-actions { flex-direction: column; align-items: stretch; }
  .aluno-enlist-actions .btn { width: 100%; }
  .aluno-edit-actions .btn,
  .aluno-status-actions .btn,
  .aluno-delete .btn { width: 100%; }
  .aluno-status-actions { flex-direction: column; }
  .convite-card { flex-direction: column; align-items: stretch; }
  .convite-card .btn { width: 100%; }
  .convite-card-side { align-items: stretch; }
  .convite-wa-actions .btn { width: 100%; }
  .convite-wa-bubble { max-width: none; }
  .aluno-card-top {
    grid-template-columns: auto minmax(0, 1fr) auto;
    grid-template-areas:
      "avatar id actions"
      "meta meta meta"
      "tags tags tags";
  }
  .aluno-card .user-avatar { grid-area: avatar; }
  .aluno-card-id { grid-area: id; }
  .aluno-card-meta { grid-area: meta; }
  .aluno-access-tags { grid-area: tags; justify-content: flex-start; }
  .aluno-card-actions { grid-area: actions; }
}
.edital-link {
  text-decoration: none;
  color: inherit;
  border-radius: 2px;
  padding: 0.12rem 0.15rem;
}
.edital-link:hover { background: #1a1a1a; color: #fff; }
.topico-chip {
  display: inline-block;
  margin-top: 0.35rem;
  padding: 0.15rem 0.45rem;
  border: 1px solid #3a3a3a;
  background: #161616;
  font-size: 0.75rem;
  color: #e6c36a;
}
.topico-chip.is-warn {
  color: #f5c542;
  border-color: #6a5310;
}

body.login-splash {
  margin: 0;
  min-height: 100dvh;
  min-height: 100vh;
}
.login-splash-screen {
  min-height: 100dvh;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: max(1.25rem, env(safe-area-inset-top)) 1.15rem max(1.4rem, env(safe-area-inset-bottom));
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(900px 420px at 0% 0%, rgba(193, 18, 31, 0.18), transparent 55%),
    radial-gradient(700px 380px at 100% 10%, rgba(255, 255, 255, 0.04), transparent 50%),
    repeating-linear-gradient(0deg, transparent, transparent 2px, rgba(255,255,255,0.015) 2px, rgba(255,255,255,0.015) 3px),
    linear-gradient(180deg, #050505 0%, #0d0d0d 45%, #111 100%);
}
.login-splash-hatch {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px);
  background-size: 56px 56px;
  animation: gridDrift 22s linear infinite;
}
.login-splash-screen::after {
  content: "";
  position: absolute;
  z-index: 0;
  width: min(560px, 80vw);
  height: min(560px, 80vw);
  right: 8%;
  top: 50%;
  pointer-events: none;
  background: radial-gradient(circle, rgba(193, 18, 31, 0.42) 0%, rgba(193, 18, 31, 0.12) 42%, transparent 70%);
  filter: blur(6px);
  animation: radarGlow 5.5s ease-in-out infinite;
}
.login-splash-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 4;
  pointer-events: none;
  padding: 1px;
  background: conic-gradient(from var(--beam), transparent 0 72%, #ff2a36 86%, transparent 94%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask-composite: exclude;
  animation: beamSpin 3.8s linear infinite;
}
body:has(.login-splash-screen) .navbar-qa { display: none; }
@media (max-width: 900px) {
  .login-splash-screen::after {
    right: auto;
    left: 50%;
    top: 42%;
    animation-name: radarGlowMobile;
  }
}
.login-splash-screen .skull-watermark {
  right: 8%;
  width: 160px !important;
  height: 160px !important;
  opacity: 0.22;
  animation: tacBlink 2.4s steps(2, end) infinite;
}
.login-splash-card {
  position: relative;
  z-index: 1;
  max-width: 620px;
  width: min(100%, 620px);
  text-align: left;
  padding: 1.6rem 1.5rem 1.35rem;
  animation: riseIn 0.5s ease-out;
  background:
    linear-gradient(135deg, #000 0%, #1a0507 55%, #2a0a0e 100%),
    repeating-linear-gradient(45deg, transparent, transparent 8px, rgba(255,255,255,0.02) 8px, rgba(255,255,255,0.02) 16px);
  border: 1px solid rgba(193, 18, 31, 0.55);
  border-bottom: 3px solid var(--qa-accent);
  box-shadow: inset 0 0 0 1px rgba(193, 18, 31, 0.12), var(--qa-shadow);
}
.login-splash-insignia { animation: tacBlink 1.8s steps(2, end) infinite; }
.login-splash-insignia.has-logo { animation: none; }
.login-splash-insignia .brand-logo-lg { margin: 0 auto; }
.login-splash-op {
  font-family: var(--qa-font-display);
  font-size: 0.72rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #9a9a9a;
  margin: 0 0 0.65rem;
}
.login-splash-card h1 {
  font-size: clamp(1.7rem, 6.5vw, 2.7rem);
  line-height: 1.05;
  margin-bottom: 0.9rem;
}
.login-splash-strip {
  justify-content: flex-start;
  margin-bottom: 0.75rem;
}
.login-splash-meta {
  color: var(--qa-muted);
  font-size: 0.88rem;
  margin-bottom: 1.15rem;
}
.login-splash-frase {
  font-size: clamp(1.05rem, 3.2vw, 1.35rem);
  line-height: 1.45;
  color: #f2f2f2;
  font-style: italic;
  margin: 0 0 1.5rem;
  padding: 0.85rem 1rem;
  border-left: 3px solid var(--qa-accent);
  background: rgba(0, 0, 0, 0.35);
  text-align: left;
}
.login-splash-go { width: 100%; }
.login-splash-progress {
  height: 8px;
  background: #121212;
  border: 1px solid #2a2a2a;
  margin: 1.45rem 0 0.7rem;
  max-width: none;
  overflow: hidden;
}
.login-splash-progress span {
  display: block;
  height: 100%;
  width: 0;
  background: repeating-linear-gradient(90deg, var(--qa-accent) 0 8px, var(--qa-accent-2) 8px 10px);
  animation: splashFill linear forwards;
}
.login-splash-hint {
  color: #777;
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-family: var(--qa-font-display);
  margin: 0;
}
@keyframes splashFill {
  from { width: 0; }
  to { width: 100%; }
}
.page-hero.is-booting {
  animation: riseIn 0.45s ease-out;
}

.setup-step {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.6rem;
  height: 1.6rem;
  margin-bottom: 0.55rem;
  border: 1px solid var(--qa-accent);
  background: #000;
  color: #fff;
  font-family: var(--qa-font-display);
  font-size: 0.85rem;
  letter-spacing: 0.04em;
}
.setup-pill {
  display: inline-block;
  padding: 0.2rem 0.55rem;
  border-radius: 2px;
  font-size: 0.72rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-weight: 600;
  border: 1px solid var(--qa-line);
  color: #cfcfcf;
}
.setup-pill.is-ok {
  border-color: #1f8a3b;
  color: #7dffa0;
  background: rgba(31, 138, 59, 0.15);
}
.setup-pill.is-warn {
  border-color: #b8860b;
  color: #ffd56a;
  background: rgba(184, 134, 11, 0.14);
}
.setup-pill.is-bad {
  border-color: var(--qa-accent);
  color: #ff8a90;
  background: rgba(193, 18, 31, 0.16);
}
@media (max-width: 768px) {
  .login-splash-screen {
    padding-top: max(1rem, env(safe-area-inset-top));
  }
  .login-splash-card { padding: 1.25rem 1rem 1.1rem; }
  .login-splash-go {
    width: 100%;
    min-height: 48px;
  }
  .login-splash-progress { max-width: none; width: 100%; }
  .login-splash-frase { font-size: 1.02rem; }
  .login-splash-screen .skull-watermark {
    width: 88px !important;
    height: 88px !important;
    right: 4%;
    opacity: 0.18;
  }
}

.gerar-box {
  margin-top: 1.25rem;
  padding: 1rem 1.1rem;
  border: 1px solid var(--qa-line);
  border-left: 4px solid var(--qa-accent);
  background: #101010;
}
.gerar-box.is-wait { border-left-color: #b8860b; }
.gerar-box.is-done { border-left-color: #1f8a3b; }
.gerar-box.is-error { border-left-color: var(--qa-accent); }

.badge-soft {
  display: inline-block;
  background: #1a1a1a;
  color: #fff;
  border: 1px solid #3a3a3a;
  border-radius: 2px;
  padding: 0.18rem 0.5rem;
  font-size: 0.72rem;
  font-family: var(--qa-font-display);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  white-space: nowrap;
}
.badge-soft.is-hot {
  background: var(--qa-accent);
  border-color: var(--qa-accent);
  color: #fff;
}
.badge-soft.is-ok {
  background: rgba(31, 138, 59, 0.18);
  border-color: #1f8a3b;
  color: #7dffa0;
}
.badge-soft.is-warn {
  background: rgba(184, 134, 11, 0.16);
  border-color: #b8860b;
  color: #ffd56a;
}

.section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.95rem;
  padding-bottom: 0.7rem;
  border-bottom: 1px solid #2a2a2a;
}
.section-head h2 {
  margin: 0;
  font-size: 1rem;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.action-panel { border-top-color: #fff; }
.action-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.action-form { margin: 0; }

.list-card {
  background: #101010;
  border: 1px solid #2a2a2a;
  border-left: 4px solid var(--qa-accent);
  border-radius: var(--qa-radius);
  padding: 0.95rem 1.05rem;
  margin-bottom: 0.65rem;
}
.list-card:last-child { margin-bottom: 0; }
.list-card.is-hot {
  border-left-color: #ff4d57;
  background: #1a0a0c;
}
.list-card.is-open {
  border-left-color: #f5c542;
  background: #161208;
}
.list-card.is-ok { border-left-color: #1f8a3b; }
.list-card-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
}
.list-card-kicker {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-bottom: 0.4rem;
}
.list-card-review-form {
  display: inline;
  margin: 0;
}
.list-card-review-btn {
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  font: inherit;
  line-height: inherit;
}
.list-card-review-btn:hover,
.list-card-review-btn:focus-visible {
  filter: brightness(1.12);
  outline: 1px solid #fff;
  outline-offset: 1px;
}
.list-card-review-btn:active {
  transform: translateY(1px);
}
.list-card-title {
  margin: 0 0 0.15rem;
  color: #fff;
  font-weight: 600;
  font-size: 0.95rem;
  line-height: 1.4;
  text-transform: none;
  letter-spacing: 0;
  font-family: var(--qa-font-body);
}
.list-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 0.9rem;
  margin-top: 0.55rem;
  font-size: 0.8rem;
  color: var(--qa-muted);
}
.list-card-side {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.55rem;
  flex-shrink: 0;
}
.list-card-score {
  font-family: var(--qa-font-display);
  font-size: 1.15rem;
  color: #fff;
  line-height: 1;
}
.score-track {
  width: 100%;
  max-width: 220px;
  height: 6px;
  margin-top: 0.7rem;
  background: #222;
  border: 1px solid #333;
  overflow: hidden;
}
.score-track > span {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, #7a0a12, var(--qa-accent), #ff4d57);
}
.list-card.is-ok .score-track > span {
  background: linear-gradient(90deg, #14632a, #1f8a3b);
}

.empty-panel {
  text-align: center;
  padding: 2.4rem 1.4rem;
}
.empty-skull {
  width: 2.2rem !important;
  height: 2.2rem !important;
  color: var(--qa-accent);
  margin-bottom: 0.75rem;
}

.mobile-stack { display: none; }
.desktop-table { display: block; }
.table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.mobile-card {
  position: relative;
  background: #141414;
  border: 1px solid var(--qa-line);
  border-left: 4px solid var(--qa-accent);
  border-radius: 2px;
  padding: 0.95rem 1rem;
}
.mobile-card.is-me {
  background:
    repeating-linear-gradient(
      0deg,
      transparent,
      transparent 3px,
      rgba(193, 18, 31, 0.07) 3px,
      rgba(193, 18, 31, 0.07) 4px
    ),
    rgba(193, 18, 31, 0.12);
  border-color: var(--qa-accent);
  animation: tacBeacon 1.8s steps(2, end) infinite;
}
.mobile-card-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}
.mobile-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem 1rem;
  margin-top: 0.7rem;
  font-size: 0.82rem;
  color: var(--qa-muted);
}
.mobile-q {
  display: block;
  text-transform: none;
  letter-spacing: 0;
  font-family: var(--qa-font-body);
  font-size: 0.95rem;
  font-weight: 600;
  margin-top: 0.25rem;
}
.mobile-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
  margin-top: 0.75rem;
}
.mobile-actions .btn,
.mobile-actions form { margin: 0; }

.materiais-filtro-label {
  display: block;
  margin-bottom: 0.45rem;
  font-family: var(--qa-font-display);
  font-size: 0.68rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #b8b8b8;
}
.materiais-filtro-form {
  display: none;
}
.materiais-filtro .qa-tabs {
  margin-bottom: 0;
}
a.qa-tab {
  text-decoration: none;
}
.materiais-filtro .qa-tab small {
  margin-left: 0.3rem;
  opacity: 0.7;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
  font-family: inherit;
}
@media (max-width: 768px) {
  .materiais-filtro-form { display: block; }
  .materiais-filtro .qa-tabs { display: none; }
}

.merge-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
  margin-bottom: 0.85rem;
}
.merge-bar .form-control {
  flex: 1 1 220px;
  max-width: 320px;
}
.merge-check {
  display: inline-flex;
  align-items: center;
  margin: 0 0.45rem 0 0;
  vertical-align: middle;
}
.table-qa input[type="checkbox"],
.merge-check input[type="checkbox"] {
  width: 1.05rem;
  height: 1.05rem;
  accent-color: var(--qa-accent);
  cursor: pointer;
}

@media (max-width: 768px) {
  html, body { overflow-x: hidden; }
  body { padding-bottom: env(safe-area-inset-bottom); }
  main.container {
    padding-left: 0.9rem;
    padding-right: 0.9rem;
    padding-top: 1rem;
  }
  .auth-shell {
    max-width: none;
    margin: 0.35rem auto 1rem;
  }
  .auth-shell .auth-card { padding: 1.35rem 1.05rem 1.2rem; }
  .auth-remember { min-height: 3.4rem; }
  .navbar-qa .nav-link {
    padding: 0.85rem 0.25rem;
    font-size: 0.92rem;
  }
  .is-aluno .navbar-qa .nav-link-questoes {
    padding: 0.55rem 0.7rem;
    display: inline-flex;
    width: 100%;
  }
  .qa-tabs {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 0.2rem;
    margin-left: -0.2rem;
    margin-right: -0.2rem;
    padding-left: 0.2rem;
    padding-right: 0.2rem;
  }
  .qa-tab {
    flex: 0 0 auto;
    min-height: 40px;
  }
  .nav-concurso-destaque {
    width: 100%;
    max-width: none;
    margin: 0.4rem 0 0.55rem;
    padding: 0.55rem 0.7rem;
    align-items: stretch;
  }
  .nav-concurso-nome {
    font-size: 0.9rem;
    white-space: normal;
    overflow: visible;
    text-overflow: unset;
  }
  .nav-concurso-trocar {
    font-size: 0.72rem;
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.28rem 0.55rem;
  }
  .navbar-toggler { min-width: 44px; min-height: 44px; }
  .btn, .btn-sm {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .form-control, .form-select {
    min-height: 44px;
    font-size: 16px;
  }
  .subject-card {
    flex-direction: column;
    align-items: stretch;
  }
  .subject-card .btn { width: 100%; }
  .study-list-head { display: none; }
  .subject-card.subject-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-areas:
      "name name name"
      "assuntos questoes dominio"
      "act act act";
    row-gap: 0.4rem;
    column-gap: 0.5rem;
  }
  .subject-row .subject-main { grid-area: name; }
  .subject-row .subject-name { white-space: normal; }
  .subject-row [data-col="assuntos"] { grid-area: assuntos; }
  .subject-row [data-col="questoes"] { grid-area: questoes; }
  .subject-row [data-col="dominio"] { grid-area: dominio; }
  .subject-row .subject-metric {
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
  }
  .subject-row .subject-metric::before {
    content: attr(data-label);
    font-size: 0.62rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--qa-muted);
  }
  .subject-row .subject-actions {
    grid-area: act;
    width: 100%;
    justify-self: stretch;
  }
  .subject-row .subject-actions .btn {
    flex: 1;
    width: auto;
  }
  .assunto-expand {
    min-height: 44px;
    min-width: 44px;
    width: auto;
    flex: 0 0 auto;
  }
  .assunto-filhos {
    margin-left: 0.15rem;
    padding-left: 0.55rem;
  }
  .mastery-row { max-width: none; }
  .next-step-body { flex-direction: column; align-items: stretch; }
  .next-step-body .btn { width: 100%; }
  .next-step-actions { width: 100%; flex-direction: column; }
  .next-step-actions .btn,
  .next-step-actions form { width: 100%; }
  .study-filter-row { grid-template-columns: 1fr; }
  .subject-actions { width: 100%; }
  .subject-actions .btn { flex: 1; }
  .materia-assunto-row { flex-wrap: wrap; }
  .materia-assunto-actions { width: 100%; }
  .materia-assunto-actions .btn { flex: 1; }
  .rank-strip {
    flex-direction: column;
    align-items: stretch;
  }
  .rank-strip span,
  .rank-strip > .btn {
    width: 100%;
    justify-content: center;
  }
  .auth-strip {
    flex-direction: row;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
  }
  .auth-strip span {
    width: auto;
  }
  .rank-mode {
    display: flex;
    width: 100%;
  }
  .rank-mode-btn {
    flex: 1;
  }
  .stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-hero h1 { font-size: 1.35rem; word-break: break-word; }
  .mobile-stack {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
  }
  .desktop-table { display: none !important; }
  .table-scroll { max-width: 100%; }
  .table-qa { min-width: 560px; }
  .desktop-table .table-qa { min-width: 0; }
  .challenge-question-panel { padding: 1rem 0.85rem; }
  .challenge-enunciado {
    font-size: 1rem;
    line-height: 1.55;
  }
  .challenge-enunciado .enunciado-itens { gap: 0.45rem; }
  .challenge-enunciado .enunciado-item {
    grid-template-columns: 1.85rem minmax(0, 1fr);
    padding: 0.65rem 0.7rem;
  }
  .alt-option { padding: 0.85rem 0.8rem; padding-right: 2.4rem; font-size: 0.9rem; }
  .alt-option:hover { transform: none; }
  .alt-option.is-review { padding-right: 1rem; padding-top: 2.1rem; }
  .alt-review-tag { top: 0.45rem; right: 0.55rem; }
  .feedback-box { padding: 1.1rem; }
  .feedback-actions { flex-direction: column; }
  .feedback-actions .btn { width: 100%; }
  .challenge-topbar { width: 100%; }
  .timer-chip { width: 100%; justify-content: center; }
  .prova-actions {
    flex-direction: column;
  }
  .prova-actions-nav,
  .prova-actions-main {
    width: 100%;
  }
  .prova-actions-nav .prova-btn {
    flex: 1 1 0;
  }
  .prova-actions-main .btn-qa {
    flex: 1 1 auto;
  }
  .prova-keys { display: none; }
  #form-resposta .btn { width: auto; }
  .meta-slider-form { width: 100%; }
  .meta-slider-ends-diff { font-size: 0.68rem; }
  .modo-grid { grid-template-columns: 1fr; }
  .action-bar { align-items: stretch; }
  .action-form,
  .action-form .btn { width: 100%; }
  .list-card-top {
    flex-direction: column;
    align-items: stretch;
  }
  .list-card-side {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
  .list-card-side .btn { width: auto; }
  .score-track { max-width: none; }
  .badge-grid { gap: 0.35rem; }
  .qa-badge { padding: 0.35rem 0.4rem; }
  .qa-badge strong { font-size: 0.62rem; }
  .qa-badge span { font-size: 0.58rem; }
  .qa-badge-ig {
    width: 32px;
    height: 32px;
    min-width: 32px;
    min-height: 32px;
  }
  .qa-badge-ig-wide .qa-badge-ig-label { display: none; }
  .qa-badge-ig-wide {
    width: 32px;
    min-width: 32px;
    padding: 0;
  }
  .aar-orders-btns {
    flex-direction: column;
    align-items: stretch;
  }
  .aar-orders-btns .btn,
  .aar-orders-btns form { width: 100%; }
  .revisao-item { padding: 0.8rem 0.75rem; }
  .perf-period {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 0.25rem;
  }
  .perf-period-btn { flex: 0 0 auto; }
  .perf-chart-wrap { height: 180px; }
  .perf-donut-wrap { width: 168px; height: 168px; }
  .perf-header { flex-direction: column; align-items: stretch; }
  .perf-scope { width: 100%; }
  .perf-scope-btn { flex: 1; justify-content: center; }
  .table-stack-mobile {
    overflow: visible;
  }
  .table-stack-mobile .table-qa { min-width: 0; }
  .table-stack-mobile table,
  .table-stack-mobile thead,
  .table-stack-mobile tbody,
  .table-stack-mobile tr,
  .table-stack-mobile th,
  .table-stack-mobile td {
    display: block;
    width: 100%;
  }
  .table-stack-mobile thead { display: none; }
  .table-stack-mobile tbody {
    display: flex;
    flex-direction: column;
    gap: 0.7rem;
    padding: 0.75rem;
  }
  .table-stack-mobile tr {
    background: #141414;
    border: 1px solid var(--qa-line);
    border-left: 4px solid var(--qa-accent);
    padding: 0.85rem 0.95rem;
  }
  .table-stack-mobile tr.is-empty-row {
    background: transparent;
    border: 0;
    padding: 0.5rem 0.15rem;
  }
  .table-stack-mobile td {
    border: 0 !important;
    padding: 0.3rem 0 !important;
    width: 100%;
  }
  .table-stack-mobile td[data-label]::before {
    content: attr(data-label);
    display: block;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--qa-muted);
    margin-bottom: 0.12rem;
  }
  .table-stack-mobile .admin-row-form {
    flex-direction: column;
    align-items: stretch !important;
  }
  .table-stack-mobile .mobile-actions {
    margin-top: 0.35rem;
  }
  .table-stack-mobile .mobile-actions .btn,
  .table-stack-mobile .mobile-actions form,
  .table-stack-mobile td[data-label="Ações"] .btn,
  .table-stack-mobile td[data-label="Ações"] form {
    width: 100%;
  }
  .table-stack-mobile .admin-assunto-cod { width: auto; }
  .table-stack-mobile .admin-assunto-row.is-child td:first-child,
  .table-stack-mobile .admin-assunto-row[data-level="2"] td:first-child,
  .table-stack-mobile .admin-assunto-row[data-level="3"] td:first-child {
    padding-left: 0 !important;
  }
  .table-stack-mobile .admin-assunto-row[data-level="1"] { margin-left: 0.55rem; width: calc(100% - 0.55rem); }
  .table-stack-mobile .admin-assunto-row[data-level="2"] { margin-left: 1rem; width: calc(100% - 1rem); }
  .table-stack-mobile .admin-assunto-row[data-level="3"] { margin-left: 1.45rem; width: calc(100% - 1.45rem); }
  .table-stack-mobile .admin-assunto-bloco-body + .admin-assunto-bloco-body tr:first-child {
    border-top: 3px solid #f0b429;
  }
  .table-stack-mobile.admin-assunto-bloco tbody {
    padding: 0.4rem 0.55rem;
    gap: 0.45rem;
  }
}

/* Desempenho do aluno (estilo dashboard) */
.perf-page { margin-bottom: 2rem; }
.perf-breadcrumb {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  color: var(--qa-muted);
  font-size: 0.85rem;
  margin-bottom: 0.85rem;
}
.perf-breadcrumb a { color: var(--qa-muted); }
.perf-breadcrumb a:hover { color: #fff; }
.perf-header {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.25rem;
}
.perf-header h1 {
  margin: 0 0 0.25rem;
  font-family: var(--qa-font-display);
  font-size: clamp(1.6rem, 3vw, 2rem);
  color: var(--qa-gold-soft);
  letter-spacing: 0.02em;
}
.perf-header p {
  margin: 0;
  color: var(--qa-muted);
  max-width: 36rem;
}
.perf-scope { display: flex; gap: 0.4rem; align-items: flex-start; }
.perf-scope-btn {
  display: inline-flex;
  align-items: center;
  padding: 0.45rem 0.85rem;
  border: 1px solid var(--qa-line);
  border-radius: 999px;
  background: #101010;
  color: #cfcfcf;
  font-size: 0.85rem;
  font-weight: 600;
  text-decoration: none;
}
.perf-scope-btn.is-active {
  border-color: var(--qa-accent);
  background: rgba(193, 18, 31, 0.16);
  color: #ffd0d3;
}

.perf-filter-panel {
  background: var(--qa-card);
  border: 1px solid var(--qa-line);
  border-radius: var(--qa-radius);
  padding: 1rem 1.1rem 1.1rem;
  margin-bottom: 1.1rem;
}
.perf-filter-head h2 {
  margin: 0 0 0.85rem;
  font-size: 0.95rem;
  font-weight: 700;
}
.perf-period {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-bottom: 1rem;
}
.perf-period-btn {
  display: inline-flex;
  align-items: center;
  padding: 0.4rem 0.8rem;
  border: 1px solid var(--qa-line);
  border-radius: 999px;
  background: #0d0d0d;
  color: #cfcfcf;
  font-size: 0.82rem;
  font-weight: 600;
  text-decoration: none;
}
.perf-period-btn:hover { border-color: #555; color: #fff; }
.perf-period-btn.is-active {
  background: var(--qa-accent);
  border-color: var(--qa-accent);
  color: #fff;
}
.perf-filter-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
  align-items: end;
}
.perf-filter-grid .form-label {
  color: var(--qa-muted);
  font-size: 0.78rem;
  margin-bottom: 0.25rem;
}
.perf-filter-actions {
  display: flex;
  gap: 0.45rem;
  justify-content: flex-end;
}

.perf-kpi-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
  margin-bottom: 1.1rem;
}
.perf-kpi {
  background: var(--qa-card);
  border: 1px solid var(--qa-line);
  border-radius: var(--qa-radius);
  padding: 0.95rem 1rem;
}
.perf-kpi-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: var(--qa-muted);
  font-size: 0.82rem;
  margin-bottom: 0.55rem;
}
.perf-kpi strong {
  display: block;
  font-family: var(--qa-font-display);
  font-size: 1.7rem;
  line-height: 1;
  color: #fff;
}
.perf-kpi strong.is-accent { color: var(--qa-gold-soft); }
.perf-kpi strong.is-ok,
.perf-table .is-ok,
.perf-donut-legend .is-ok { color: #2ecc71; }
.perf-kpi strong.is-bad,
.perf-table .is-bad,
.perf-donut-legend .is-bad { color: #ff5a63; }
.perf-kpi-ico {
  width: 1.5rem;
  height: 1.5rem;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  background: #1a1a1a;
  font-size: 0.75rem;
}
.perf-kpi-ico.is-accent { color: var(--qa-gold-soft); }
.perf-kpi-ico.is-ok { color: #2ecc71; }
.perf-kpi-ico.is-bad { color: #ff5a63; }

.perf-charts {
  display: grid;
  grid-template-columns: 1.6fr 1fr;
  gap: 0.75rem;
  margin-bottom: 1.1rem;
}
.perf-chart-card,
.perf-table-card {
  background: var(--qa-card);
  border: 1px solid var(--qa-line);
  border-radius: var(--qa-radius);
  padding: 1rem 1.1rem;
}
.perf-chart-card h2,
.perf-table-head h2 {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 700;
}
.perf-chart-wrap { height: 240px; margin-top: 0.75rem; }
.perf-donut-wrap {
  position: relative;
  width: 220px;
  height: 220px;
  margin: 0.75rem auto 0.5rem;
}
.perf-donut-center {
  position: absolute;
  inset: 0;
  display: grid;
  place-content: center;
  text-align: center;
  pointer-events: none;
}
.perf-donut-center strong {
  font-family: var(--qa-font-display);
  font-size: 1.5rem;
  line-height: 1;
}
.perf-donut-center span {
  color: var(--qa-muted);
  font-size: 0.78rem;
}
.perf-donut-legend {
  display: flex;
  justify-content: center;
  gap: 1rem;
  font-size: 0.85rem;
  font-weight: 600;
}

.perf-table-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}
.perf-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
}
.perf-table th,
.perf-table td {
  padding: 0.75rem 0.65rem;
  border-bottom: 1px solid #222;
  vertical-align: middle;
}
.perf-table thead th {
  color: var(--qa-muted);
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  border-bottom-color: #333;
}
.perf-row-parent,
.perf-row-assunto { cursor: pointer; }
.perf-row-parent:hover,
.perf-row-assunto:hover { background: rgba(255, 255, 255, 0.03); }
.perf-row-parent[aria-expanded="true"] .perf-chevron { transform: rotate(90deg); }
.perf-chevron {
  display: inline-block;
  transition: transform 0.15s ease;
  color: var(--qa-muted);
  font-size: 1.1rem;
}
.perf-subcount {
  display: block;
  color: var(--qa-muted);
  font-size: 0.75rem;
  font-weight: 400;
  margin-top: 0.1rem;
}
.perf-indent { padding-left: 0.85rem; display: inline-block; }
.perf-indent-2 { padding-left: 1.6rem; display: inline-block; color: #d0d0d0; }
.perf-table-nested { background: #0d0d0d; }
.perf-table-nested.is-deep { background: #0a0a0a; }
.perf-table-nested td:first-child { width: 38%; }
.perf-pct {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-weight: 700;
}
.perf-pct.is-up { color: #2ecc71; }
.perf-pct.is-down { color: #ff5a63; }
.perf-pct.is-mid { color: #f0c14b; }
.perf-arrow { font-size: 0.7rem; }
.perf-q-title { display: block; margin-bottom: 0.25rem; }
.perf-col-toggle { width: 2rem; }

.perf-m-node,
.perf-m-assunto,
.perf-m-topico {
  background: #141414;
  border: 1px solid var(--qa-line);
  border-left: 4px solid var(--qa-accent);
  padding: 0.85rem 0.95rem;
}
.perf-m-node { border-radius: 2px; }
.perf-m-assunto {
  margin-top: 0.65rem;
  background: #101010;
}
.perf-m-topicos {
  margin-top: 0.55rem;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}
.perf-m-topico {
  border-left-width: 3px;
  background: #0c0c0c;
  padding: 0.65rem 0.75rem;
}
.perf-m-sum {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  list-style: none;
}
.perf-m-node > summary.perf-m-sum {
  cursor: pointer;
  list-style: none;
}
.perf-m-sum::-webkit-details-marker { display: none; }
.perf-m-node > summary.perf-m-sum::after {
  content: "›";
  color: var(--qa-muted);
  font-size: 1.15rem;
  line-height: 1;
  flex-shrink: 0;
  transition: transform 0.15s ease;
}
.perf-m-node[open] > summary.perf-m-sum::after { transform: rotate(90deg); }
.perf-m-sum-main { min-width: 0; flex: 1; }
.perf-m-kpis {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 0.85rem;
  margin-top: 0.55rem;
  font-size: 0.8rem;
  color: var(--qa-muted);
}
.perf-m-kpis .is-ok { color: #2ecc71; }
.perf-m-kpis .is-bad { color: #ff5a63; }

.concurso-pick-all,
.concurso-pick-item {
  display: flex;
  gap: 0.55rem;
  align-items: flex-start;
  margin: 0 0 0.45rem;
  cursor: pointer;
}
.concurso-pick-list {
  display: grid;
  gap: 0.35rem;
  max-height: 280px;
  overflow: auto;
  border: 1px solid #2a2a2a;
  padding: 0.65rem;
  background: #101010;
  margin-top: 0.65rem;
}
.concurso-foco-form {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem;
}
.concurso-foco-form .form-select {
  max-width: 22rem;
}
.concurso-choose-grid {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 0.85rem;
}
.concurso-choose-card:not(.is-current) {
  flex: 0.86 1 0;
  padding: 0.9rem 0.8rem 0.8rem;
}
.concurso-choose-card.is-current {
  flex: 1.2 1 0;
  padding: 1.15rem 1rem 1rem;
}
.concurso-choose-card.is-current,
.concurso-choose-card:not(.is-current) {
  flex-direction: column;
  align-items: stretch;
}
.concurso-choose-card.is-current h2 {
  font-size: 1.25rem;
}
.concurso-choose-card:not(.is-current) h2 {
  font-size: 1rem;
}
.concurso-choose-card.is-current .btn,
.concurso-choose-card .btn {
  width: 100%;
  margin-top: auto;
  white-space: normal;
}
.concurso-choose-orgao {
  margin: 0 0 0.35rem;
  color: #b5b5b5;
  font-size: 0.78rem;
}
.concurso-choose-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 0.2rem 0.55rem;
  margin: 0 0 0.65rem;
  color: #9a9a9a;
  font-size: 0.75rem;
}
.concurso-choose-facts span + span {
  padding-left: 0.55rem;
  border-left: 1px solid #333;
}
.concurso-choose-prova {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.5rem;
  margin: 0 0 0.85rem;
  padding-top: 0.45rem;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.concurso-choose-prova strong {
  color: #fff;
  font-family: var(--qa-font-display);
  letter-spacing: 0.04em;
  font-size: 0.95rem;
}
.concurso-choose-prova span {
  color: #8a8a8a;
  font-size: 0.75rem;
  white-space: nowrap;
}
.concurso-choose-body { min-width: 0; }
.concurso-choose-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.55rem 0.65rem;
  margin: 0.75rem 0 0.9rem;
}
.concurso-choose-stats span:nth-child(4) { grid-column: 1; }
.concurso-choose-stats span:nth-child(5) { grid-column: 2; }
.concurso-choose-stats em {
  display: block;
  font-style: normal;
  font-family: var(--qa-font-display);
  font-size: 0.58rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #8a8a8a;
}
.concurso-choose-stats strong {
  display: block;
  color: #fff;
  font-family: var(--qa-font-display);
  font-size: 0.92rem;
  letter-spacing: 0.03em;
  line-height: 1.25;
}
.concurso-choose-stats small {
  display: block;
  color: #8a8a8a;
  font-size: 0.72rem;
}
.concurso-choose-card {
  position: relative;
  display: flex;
  flex-direction: column;
  background:
    repeating-linear-gradient(
      0deg,
      transparent,
      transparent 3px,
      rgba(193, 18, 31, 0.05) 3px,
      rgba(193, 18, 31, 0.05) 4px
    ),
    rgba(0, 0, 0, 0.38);
  border: 1px solid rgba(193, 18, 31, 0.38);
  border-left: 3px solid #3a3a3a;
  padding: 1.15rem 1rem 1rem;
  animation: riseIn 0.4s ease-out both;
  animation-delay: calc(var(--i, 0) * 0.06s);
  transition: border-color 0.15s, box-shadow 0.15s, background 0.15s;
}
.concurso-choose-card:hover {
  border-color: var(--qa-accent);
  box-shadow: 0 4px 16px rgba(193, 18, 31, 0.2);
}
.concurso-choose-card.is-current::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  padding: 1px;
  background: conic-gradient(from var(--beam), transparent 0 72%, #ff2a36 86%, transparent 94%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask-composite: exclude;
  animation: beamSpin 3.8s linear infinite;
}
.concurso-choose-card.is-current {
  border-color: var(--qa-accent);
  border-left-color: var(--qa-accent);
  background:
    repeating-linear-gradient(
      0deg,
      transparent,
      transparent 3px,
      rgba(193, 18, 31, 0.08) 3px,
      rgba(193, 18, 31, 0.08) 4px
    ),
    rgba(193, 18, 31, 0.14);
}
.concurso-choose-card h2 {
  color: #fff;
  letter-spacing: 0.04em;
  font-size: 1.15rem;
  line-height: 1.15;
  margin-bottom: 0.15rem;
}
.concurso-choose-card.is-current h2 {
  font-size: 1.35rem;
}
.concurso-choose-card .btn {
  width: 100%;
  margin-top: auto;
}
@media (max-width: 800px) {
  .concurso-choose-grid { flex-direction: column; }
}
.duelo-hero .icon-duelo {
  width: 1.15rem !important;
  height: 1.15rem !important;
  margin-right: 0.35rem;
  vertical-align: -0.1em;
  color: var(--qa-gold-soft);
}
.duelo-hero.is-win {
  border-bottom-color: #1f8a3b;
  background:
    radial-gradient(700px 280px at 50% 0%, rgba(31, 138, 59, 0.18), transparent 60%),
    linear-gradient(135deg, #000 0%, #051a0a 55%, #0a2a12 100%);
}
.duelo-hero.is-loss {
  border-bottom-color: var(--qa-accent);
}
.duelo-hero.is-draw {
  border-bottom-color: #f5c542;
}
.duelo-rules {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.55rem;
  margin: 0 0 1.1rem;
}
.duelo-rule {
  background: #101010;
  border: 1px solid #2a2a2a;
  border-top: 3px solid var(--qa-accent);
  padding: 0.75rem 0.85rem 0.7rem;
}
.duelo-rule strong {
  display: block;
  font-family: var(--qa-font-display);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-size: 0.92rem;
  color: #fff;
  margin-bottom: 0.2rem;
}
.duelo-rule span {
  color: var(--qa-muted);
  font-size: 0.78rem;
}
.duelo-hero-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}
.duelo-brief {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.65rem;
  margin: 0.85rem 0 0.55rem;
}
.duelo-brief div {
  min-width: 0;
  padding-left: 0.55rem;
  border-left: 2px solid rgba(193, 18, 31, 0.75);
}
.duelo-brief small {
  display: block;
  font-family: var(--qa-font-display);
  font-size: 0.62rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #8a8a8a;
}
.duelo-brief strong {
  display: block;
  color: #fff;
  font-size: 1.15rem;
  line-height: 1.2;
}
.duelo-arena-head .duelo-search { max-width: 240px; margin: 0; }
.duelo-arena-count {
  color: #8a8a8a;
  font-size: 0.85rem;
  letter-spacing: 0.04em;
}
@media (max-width: 720px) {
  .duelo-brief { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .duelo-arena-head .duelo-search { max-width: none; width: 100%; }
}
.duelo-hero-line {
  margin-top: 0.15rem;
  color: #b5b5b5;
  font-size: 0.86rem;
}
.duelo-hero-line a {
  color: #ffd0d3;
  text-decoration: none;
}
.duelo-hero-line a:hover { color: #fff; }
.switch-board {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.45rem 0.75rem;
  margin: 0 0 1rem;
  padding: 0.35rem;
  border: 1px solid #2a2a2a;
  background: #101010;
  border-radius: 2px;
}
.switch-board .qa-tabs,
.switch-board .rank-mode {
  margin: 0;
  border: 0;
  background: transparent;
  padding: 0;
  border-radius: 0;
  gap: 0.25rem;
}
.switch-board .qa-tab,
.switch-board .rank-mode-btn {
  border-radius: 2px;
  min-height: 36px;
  background: transparent;
}
.duelo-hero ~ .duelo-rules {
  gap: 0;
  border: 1px solid #2a2a2a;
  background: #101010;
  border-radius: 2px;
  overflow: hidden;
}
.duelo-hero ~ .duelo-rules .duelo-rule {
  border: 0;
  border-right: 1px solid #2a2a2a;
  border-top: 0;
  background: transparent;
}
.duelo-hero ~ .duelo-rules .duelo-rule:last-child { border-right: 0; }
@media (max-width: 720px) {
  .duelo-hero ~ .duelo-rules .duelo-rule {
    border-right: 0;
    border-bottom: 1px solid #2a2a2a;
  }
  .duelo-hero ~ .duelo-rules .duelo-rule:last-child { border-bottom: 0; }
}
.duelo-urgent {
  border-color: rgba(193, 18, 31, 0.55);
  box-shadow: 0 0 18px rgba(193, 18, 31, 0.12);
}
.duelo-card {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.85rem;
}
.duelo-card-main {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  min-width: 0;
  flex: 1;
}
.duelo-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  flex-shrink: 0;
  justify-content: flex-end;
}
.duelo-avatar {
  width: 40px;
  height: 40px;
  font-size: 0.95rem;
  flex-shrink: 0;
  margin-top: 0.15rem;
}
.duelo-avatar.is-lg {
  width: 52px;
  height: 52px;
  font-size: 1.15rem;
  margin-top: 0;
}
.duelo-search {
  max-width: 22rem;
}
.duelo-oponentes {
  display: grid;
  gap: 0.55rem;
}
.duelo-oponente-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.75rem;
  padding: 0.7rem 0.8rem;
  background: #101010;
  border: 1px solid #2a2a2a;
  border-left: 4px solid #2a2a2a;
}
.duelo-oponente-card.is-challenge { border-left-color: var(--qa-accent); }
.duelo-oponente-card.is-live { border-left-color: #f5c542; }
.duelo-oponente-card .duelo-avatar { margin-top: 0; }
.duelo-oponente-id { min-width: 0; }
.duelo-oponente-id strong {
  display: block;
  color: #fff;
  font-size: 0.95rem;
}
.duelo-oponente-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.65rem;
  margin-top: 0.3rem;
  font-size: 0.78rem;
  color: var(--qa-muted);
}
.duelo-oponente-meta .patente-badge {
  padding: 0.14rem 0.4rem;
  font-size: 0.66rem;
}
.duelo-oponente-cta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  justify-content: flex-end;
}
.duelo-record {
  color: #d8d8d8;
  font-family: var(--qa-font-display);
  letter-spacing: 0.04em;
}
.duelo-scoreline {
  color: #fff;
  font-family: var(--qa-font-display);
  letter-spacing: 0.04em;
}
.duelo-empty { padding: 1.6rem 1rem; }
.duelo-faceoff {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1rem;
}
.duelo-face {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.35rem;
  text-align: center;
}
.duelo-face strong {
  font-size: 0.95rem;
  color: #fff;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.duelo-vs-stamp {
  font-family: var(--qa-font-display);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--qa-gold-soft);
  font-size: 1.15rem;
}
.duelo-result-title {
  text-align: center;
  margin-bottom: 0.25rem;
}
.duelo-show-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 0.9rem;
  margin-top: 0.9rem;
  font-size: 0.8rem;
  color: var(--qa-muted);
}
.duelo-show-actions { justify-content: flex-start; }
.duelo-oponente-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.75rem;
  padding: 0.65rem 0;
  border-bottom: 1px solid #222;
}
.duelo-placar {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 0.75rem;
  align-items: center;
  text-align: center;
}
.duelo-lado {
  background: #101010;
  border: 1px solid #2a2a2a;
  padding: 1rem 0.75rem;
}
.duelo-lado.is-win {
  border-color: #2ecc71;
}
.duelo-lado.is-hot {
  border-color: rgba(61, 255, 122, 0.55);
  box-shadow: 0 0 12px rgba(61, 255, 122, 0.12);
}
.duelo-lado strong {
  display: block;
  font-size: 2rem;
  font-family: var(--qa-font-display);
  line-height: 1.1;
}
.duelo-lado small {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  min-height: 1.2em;
}
.duelo-placar-live.is-mini {
  margin: 0;
  padding: 0.15rem 0 0;
}
.duelo-placar-live.is-mini .duelo-lado {
  padding: 0.65rem 0.5rem;
}
.duelo-placar-live.is-mini .duelo-lado strong {
  font-size: 1.45rem;
}
.duelo-live-wrap {
  padding: 0.65rem 0.7rem 0.75rem;
  border: 1px solid #2a2a2a;
  background: #0d0d0d;
}
.duelo-vs {
  font-family: var(--qa-font-display);
  letter-spacing: 0.08em;
  color: var(--qa-muted);
}
.list-card.is-scheduled {
  opacity: 0.78;
}
.prova-countdown {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  padding: 0.75rem 0.85rem;
  border: 1px solid rgba(193, 18, 31, 0.38);
  background: rgba(0, 0, 0, 0.28);
  border-radius: 2px;
}
.prova-countdown-title {
  font-family: var(--qa-font-display);
  font-size: 1.55rem;
  line-height: 1.1;
  color: #fff;
  letter-spacing: 0.04em;
}
.prova-countdown-sub,
.prova-countdown-date {
  color: #b8b8b8;
  font-size: 0.82rem;
}
.prova-countdown.prova-breve,
.prova-countdown.prova-hoje {
  border-color: #c45c12;
  background: rgba(26, 16, 8, 0.7);
}
.prova-countdown.prova-hoje .prova-countdown-title,
.prova-countdown.prova-breve .prova-countdown-title {
  color: #ffc48a;
}
.prova-countdown.prova-passou {
  border-color: #3a3a3a;
  opacity: 0.85;
}
.prova-choose-meta.prova-breve,
.prova-choose-meta.prova-hoje {
  color: #ffc48a;
}
.rank-name-link {
  color: inherit;
  text-decoration: none;
}
.rank-name-link:hover,
.rank-name-link:focus-visible {
  color: #fff;
  text-decoration: underline;
}
.ficha-weak-list {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}
.ficha-weak-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.75rem;
  padding: 0.55rem 0;
  border-bottom: 1px solid #222;
}
.ficha-weak-row:last-child { border-bottom: 0; padding-bottom: 0; }

@media (max-width: 640px) {
  .duelo-rules { grid-template-columns: 1fr; }
  .duelo-card {
    flex-direction: column;
    align-items: stretch;
  }
  .duelo-card-actions {
    width: 100%;
  }
  .duelo-card-actions .btn,
  .duelo-card-actions form { flex: 1; }
  .duelo-card-actions .btn { width: 100%; }
  .duelo-oponente-card {
    grid-template-columns: auto minmax(0, 1fr);
  }
  .duelo-oponente-cta {
    grid-column: 1 / -1;
    width: 100%;
  }
  .duelo-oponente-cta .btn,
  .duelo-oponente-cta form { flex: 1; }
  .duelo-oponente-cta .btn { width: 100%; }
  .duelo-search { max-width: none; }
  .duelo-oponente-row { flex-wrap: wrap; }
  .prova-nav-row {
    align-items: stretch;
  }
  .duelo-placar-strip {
    width: 100%;
    justify-content: space-between;
    margin-left: 0;
  }
  .duelo-strip-lado {
    flex: 1;
    max-width: none;
  }
  .concurso-foco-form .form-select { max-width: none; width: 100%; }
  .aluno-grupo-side { width: 100%; }
  .aluno-grupo-side .btn { flex: 1; }
  .aluno-card-top {
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-areas:
      "avatar id"
      "meta meta"
      "tags tags"
      "actions actions";
  }
  .aluno-card-actions { width: 100%; }
  .aluno-card-actions .btn { flex: 1; }
}

@media (max-width: 992px) {
  .perf-filter-grid,
  .perf-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .perf-charts { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .perf-filter-grid { grid-template-columns: 1fr; }
  .perf-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .perf-filter-actions { justify-content: stretch; }
  .perf-filter-actions .btn { flex: 1; }
  .perf-header h1 { font-size: 1.45rem; }
  .perf-table-card { padding: 0.85rem 0.7rem; }
  .perf-kpi { padding: 0.75rem 0.8rem; }
  .perf-kpi strong { font-size: 1.35rem; }
}

/* ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¢ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¢ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ Imprimir edital ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¢ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¢ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ */
.edital-print-option { border-left: 4px solid var(--qa-accent); }
.edital-escolha-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.55rem;
  height: 100%;
  padding: 1.15rem 1.15rem 1.05rem;
  background: var(--qa-card);
  border: 1px solid var(--qa-line);
  border-top: 3px solid var(--qa-accent);
  color: var(--qa-ink);
  text-decoration: none;
  transition: border-color 0.15s ease, transform 0.15s ease;
}
.edital-escolha-card:hover {
  color: var(--qa-ink);
  border-color: var(--qa-accent);
  transform: translateY(-2px);
}
.edital-escolha-card.is-progresso { border-top-color: var(--qa-ok); }
.edital-escolha-card.is-progresso:hover { border-color: var(--qa-ok); }
.edital-escolha-kicker {
  font-family: var(--qa-font-display);
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--qa-gold-soft);
}
.edital-escolha-card.is-progresso .edital-escolha-kicker { color: #7ddea0; }
.edital-escolha-card h2 {
  margin: 0;
  font-size: 1.35rem;
}
.edital-escolha-card p {
  margin: 0;
  color: var(--qa-muted);
  font-size: 0.92rem;
  line-height: 1.45;
  text-transform: none;
  letter-spacing: 0;
  font-family: var(--qa-font-body);
  font-weight: 400;
}
.edital-escolha-sheet {
  display: grid;
  gap: 3px;
  width: 100%;
  margin: 0.35rem 0 0.45rem;
  padding: 0.55rem;
  background: #f6f6f6;
  border: 1px solid #ddd;
}
.edital-escolha-row {
  display: grid;
  grid-template-columns: 1.6fr repeat(4, 0.7fr);
  gap: 3px;
  min-height: 0.85rem;
}
.edital-escolha-row > span {
  display: block;
  min-height: 0.7rem;
  background: #fff;
  border: 1px solid #e4e4e4;
  color: #333;
  font-family: var(--qa-font-body);
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
  text-align: center;
  line-height: 1.4;
}
.edital-escolha-row > span:first-child {
  background: linear-gradient(90deg, #ececec 0 72%, transparent 72%);
  border-color: transparent;
}
.edital-escolha-row.is-head > span {
  background: #f0b429;
  border-color: #f0b429;
  color: #111;
  font-family: var(--qa-font-display);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.edital-escolha-row.is-head > span:first-child { background: #111; color: #fff; border-color: #111; }
.edital-escolha-row .is-ok { background: #1f8a3b; border-color: #1f8a3b; }
.edital-escolha-row .is-bad { background: #c1121f; border-color: #c1121f; }
.edital-escolha-card .btn { margin-top: auto; }
.edital-print-body {
  margin: 0;
  background: #f4f4f4;
  color: #111;
  font-family: var(--qa-font-body);
}
.edital-print-toolbar {
  position: sticky;
  top: 0;
  z-index: 10;
  background: #111;
  border-bottom: 3px solid var(--qa-accent);
  padding: 0.75rem 1rem;
}
.edital-print-toolbar-inner {
  max-width: 980px;
  margin: 0 auto;
  display: flex;
  justify-content: flex-end;
  gap: 0.5rem;
}
.edital-print {
  max-width: 980px;
  margin: 1.25rem auto 2rem;
  padding: 2rem 2.25rem;
  background: #fff;
  color: #111;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.18);
}
.edital-print-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.25rem;
  border-bottom: 3px solid var(--qa-accent);
  padding-bottom: 1rem;
  margin-bottom: 1.75rem;
}
.edital-print-header-text {
  min-width: 0;
  flex: 1;
}
.edital-print-header-logo {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.edital-print-logo {
  display: block;
  height: 64px;
  width: auto;
  max-width: 180px;
  object-fit: contain;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}
.edital-print-mark {
  width: 56px !important;
  height: 56px !important;
}
.edital-print-brand {
  font-family: var(--qa-font-display);
  font-size: 0.85rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--qa-accent);
  margin: 0 0 0.35rem;
}
.edital-print-title {
  font-family: var(--qa-font-display);
  font-size: 1.85rem;
  line-height: 1.15;
  margin: 0 0 0.35rem;
  color: #111;
}
.edital-print-orgao {
  margin: 0 0 0.35rem;
  color: #444;
  font-size: 0.95rem;
}
.edital-print-meta {
  margin: 0;
  color: #666;
  font-size: 0.85rem;
}
.edital-print-empty {
  color: #666;
  margin: 0;
}
.edital-processo {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  font-size: 0.82rem;
  color: #111;
  border: 1px solid #000;
}
.edital-processo-bloco {
  margin: 0 0 1.15rem;
}
.edital-processo-bloco:last-of-type {
  margin-bottom: 0;
}
.edital-processo-col-topico { width: auto; }
.edital-processo-col-aula { width: 3.4rem; }
.edital-processo-col-stat { width: 4.2rem; }
.edital-processo th,
.edital-processo td {
  border: 1px solid #000;
  vertical-align: middle;
}
.edital-processo-head .edital-processo-materia {
  background: #111;
  color: #fff;
  font-family: var(--qa-font-display);
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  text-align: left;
  padding: 0.55rem 0.65rem;
  line-height: 1.25;
}
.edital-processo-head .edital-processo-etapa {
  background: #f0b429;
  color: #111;
  font-family: var(--qa-font-display);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-align: center;
  padding: 0.4rem 0.15rem;
  width: 3.4rem;
  line-height: 1.15;
}
.edital-processo-secao th {
  background: #2a2a2a;
  color: #fff;
  font-family: var(--qa-font-display);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  text-align: left;
  padding: 0.4rem 0.65rem;
  line-height: 1.25;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}
.edital-processo-topico {
  background: #fff;
  padding: 0.38rem 0.55rem;
  line-height: 1.35;
  text-align: left;
}
.edital-processo-aula,
.edital-processo-stat {
  text-align: center;
  font-weight: 700;
  vertical-align: middle;
}
.edital-processo-aula {
  width: 3.4rem;
  height: 1.7rem;
  font-size: 0.95rem;
  color: #fff;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}
.edital-processo-aula.is-visto {
  background: #1f8a3b;
}
.edital-processo-aula.is-falta {
  background: #c1121f;
}
.edital-processo-stat {
  background: #fff;
  width: 4.2rem;
  font-size: 0.82rem;
  padding: 0.28rem 0.15rem;
}
.edital-processo-stat.is-certa { color: #1f8a3b; }
.edital-processo-stat.is-errada { color: #c1121f; }
.edital-processo-stat.is-pct { color: #111; }
.edital-processo-legenda {
  margin: 0.85rem 0 0;
  font-size: 0.8rem;
  color: #555;
}
.edital-print-footer {
  margin-top: 2rem;
  padding-top: 0.75rem;
  border-top: 1px solid #ccc;
  font-size: 0.78rem;
  color: #777;
}

.caderno-print-q {
  margin: 0 0 1.25rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #ddd;
  break-inside: avoid;
}
.caderno-print-kicker {
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #666;
  margin-bottom: 0.35rem;
}
.caderno-print-enunciado { margin-bottom: 0.5rem; }
.caderno-print-alts { margin: 0 0 0.5rem 1.1rem; }
.caderno-print-alts .is-gabarito { font-weight: 600; }
.caderno-print-note { font-size: 0.88rem; margin-bottom: 0.35rem; }

@media (max-width: 640px) {
  .edital-print { margin: 0.75rem; padding: 1.25rem; }
  .edital-processo-col-aula,
  .edital-processo-col-stat { width: 3.4rem; }
  .edital-processo-head .edital-processo-etapa { width: auto; font-size: 0.58rem; }
  .edital-processo-aula,
  .edital-processo-stat { width: 3.4rem; }
}

@media print {
  .no-print,
  .edital-print-toolbar { display: none !important; }
  .edital-print-body {
    background: #fff !important;
  }
  .edital-print {
    max-width: none;
    margin: 0;
    padding: 0;
    box-shadow: none;
  }
  .edital-print-header {
    break-inside: avoid;
    page-break-inside: avoid;
  }
  .edital-print-header-logo img,
  .edital-print-logo {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  .edital-processo {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  .edital-print-bloco-title {
    background: #c1121f !important;
    color: #fff !important;
    border-color: #7a0a12 !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  .edital-processo-bloco {
    margin-bottom: 0.85rem;
  }
  .edital-processo-head,
  .edital-processo-secao {
    break-inside: avoid;
    page-break-inside: avoid;
  }
  a { color: inherit; text-decoration: none; }
}

/* ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¢ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¢ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ Admin: assuntos em blocos ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¢ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¢ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ */
.admin-assunto-materia-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  background: #111;
  color: #fff;
  padding: 0.7rem 0.9rem;
  border: 1px solid #000;
  margin-bottom: 0.45rem;
}
.admin-assunto-materia-head .h6 { color: #fff; letter-spacing: 0.04em; text-transform: uppercase; }
.admin-assunto-materia-qtd {
  color: #f0b429;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.admin-assunto-bloco {
  border: 1px solid #2a2a2a;
}
.admin-assunto-bloco-body + .admin-assunto-bloco-body tr:first-child td {
  border-top: 3px solid #f0b429 !important;
}
.admin-assunto-form {
  display: grid;
  grid-template-columns: minmax(140px, 1.4fr) minmax(120px, 1fr) auto auto;
  gap: 0.4rem;
  align-items: center;
}
.admin-assunto-ativo {
  font-size: 0.78rem;
  white-space: nowrap;
  margin: 0;
}
.admin-assunto-cod {
  width: 5.8rem;
  vertical-align: middle;
}
.admin-assunto-cod-input {
  font-family: var(--qa-font-display);
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  text-align: center;
  color: #f0b429 !important;
  font-weight: 700;
}
.admin-assunto-qtd {
  display: block;
  font-size: 0.68rem;
  color: #9a9a9a;
}
.admin-assunto-row.is-child td:first-child {
  padding-left: 1.35rem;
}
.admin-assunto-row[data-level="2"] td:first-child { padding-left: 2.1rem; }
.admin-assunto-row[data-level="3"] td:first-child { padding-left: 2.85rem; }
@media (max-width: 767.98px) {
  .admin-assunto-form {
    grid-template-columns: 1fr;
  }
}

/* ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¢ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¢ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ Admin: vincular assuntos ao concurso ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¢ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¢ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ */
.concurso-vincular-item {
  display: flex;
  gap: 0.65rem;
  align-items: flex-start;
  width: 100%;
  margin: 0;
  padding: 0.65rem 0.75rem;
  border: 1px solid var(--qa-line);
  background: var(--qa-card);
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease;
}
.concurso-vincular-item.is-checked {
  border-color: var(--qa-accent);
  background: rgba(193, 18, 31, 0.08);
}
.concurso-vincular-item input {
  margin-top: 0.2rem;
  flex-shrink: 0;
}
.concurso-vincular-item-body {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  min-width: 0;
}
.concurso-vincular-item-nome {
  font-weight: 600;
  line-height: 1.3;
}
.concurso-vincular-item-meta {
  font-size: 0.8rem;
  color: var(--qa-muted);
}

/* ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¢ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¢ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ Perfil: progresso do concurso ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¢ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¢ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ */
.perfil-progresso-kpis {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.55rem;
  margin-bottom: 0.85rem;
}
.perfil-progresso-kpis .perf-kpi {
  padding: 0.7rem 0.75rem;
}
.perfil-progresso-kpis .perf-kpi-top {
  font-size: 0.72rem;
  margin-bottom: 0.35rem;
}
.perfil-progresso-kpis .perf-kpi strong {
  font-size: 1.25rem;
}
.perfil-progresso-kpis .perf-kpi:last-child {
  grid-column: 1 / -1;
}
.perfil-progresso-detalhe > summary {
  cursor: pointer;
  color: var(--qa-muted);
  font-size: 0.85rem;
  list-style: none;
}
.perfil-progresso-detalhe > summary::-webkit-details-marker { display: none; }
.perfil-progresso-detalhe > summary::before {
  content: "▶";
  display: inline-block;
  margin-right: 0.35rem;
  font-size: 0.65rem;
  transition: transform 0.15s ease;
}
.perfil-progresso-detalhe[open] > summary::before { transform: rotate(90deg); }
.perfil-progresso .perf-mobile-tree {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}
.perfil-progresso .perf-m-assunto .mobile-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-top: 0.45rem;
}

/* ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¢ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¢ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ RPG tÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¡tico: insÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ­gnias, QG, AAR, SFX ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¢ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ¢ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ */
.patente-mark {
  width: 1.05rem;
  height: 1.05rem;
  flex-shrink: 0;
  display: block;
}
.patente-mark-lg {
  width: 3.2rem;
  height: 3.2rem;
  margin: 0 auto;
  color: var(--qa-gold-soft);
}
.mini-mark {
  width: 0.85rem;
  height: 0.85rem;
  display: inline-block;
  vertical-align: -0.1rem;
}
.patente-badge-name { line-height: 1.1; }
.patente-recruta { border-color: #5a5a5a; color: #cfcfcf; }
.patente-soldado { border-color: #7a8a6a; color: #d7e0c8; }
.patente-cabo { border-color: #8a9a4a; color: #e4efb0; }
.patente-mark-recruta { opacity: 0.85; }
.patente-mark-genbrig, .patente-mark-gendiv, .patente-mark-genex, .patente-mark-marechal {
  filter: drop-shadow(0 0 3px rgba(232, 197, 71, 0.55));
}
.patente-mark-elite { filter: drop-shadow(0 0 4px rgba(255, 77, 87, 0.55)); }

.hq-card.operator-card {
  gap: 1rem;
  padding: 1.2rem 1.35rem 1.1rem;
  margin-bottom: 1.1rem;
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-bottom: 3px solid var(--qa-accent);
  background:
    radial-gradient(720px 220px at 0% 0%, rgba(193, 18, 31, 0.2), transparent 55%),
    linear-gradient(180deg, #140709 0%, #0a0a0a 100%);
  box-shadow:
    0 0 0 1px rgba(0, 0, 0, 0.45),
    0 16px 40px rgba(0, 0, 0, 0.5);
}
.hq-kicker {
  color: #ff7a82;
  letter-spacing: 0.2em;
  font-size: 0.68rem;
  opacity: 0.9;
}
.hq-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.55rem 0.9rem;
  padding-bottom: 0.65rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}
.hq-card .operator-id { min-width: 0; flex: none; width: 100%; }
.operator-id-line {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem 0.9rem;
}
.hq-card .operator-badges { margin-bottom: 0; }
.hq-card h1 {
  margin: 0;
  font-size: clamp(1.28rem, 2.4vw, 1.62rem);
  line-height: 1.1;
  letter-spacing: 0.03em;
}
.hq-card .operator-id p {
  margin-top: 0.35rem;
  font-size: 0.92rem;
  color: #b0b0b0;
  max-width: 42rem;
}
.hq-card .operator-actions .btn {
  min-height: 34px;
  padding: 0.28rem 0.72rem;
  font-size: 0.68rem;
  border-width: 1px;
  border-color: rgba(255, 255, 255, 0.28);
  color: #d6d6d6;
  background: rgba(0, 0, 0, 0.25);
}
.hq-card .operator-actions .btn:hover {
  border-color: #fff;
  color: #000;
  background: #fff;
}
.hq-card .operator-stats {
  gap: 0.55rem;
}
.hq-card .operator-stat {
  padding: 0.62rem 0.7rem 0.55rem;
  min-height: 0;
  border-color: rgba(255, 255, 255, 0.08);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.035), transparent 72%),
    rgba(0, 0, 0, 0.38);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}
.hq-card .operator-stat::after {
  display: none;
}
.hq-card .operator-stat-label {
  color: #9a9a9a;
  letter-spacing: 0.12em;
  font-size: 0.64rem;
}
.hq-card .operator-stat-link:hover,
.hq-card .operator-stat-link:focus-visible {
  border-color: rgba(193, 18, 31, 0.7);
  background: rgba(193, 18, 31, 0.14);
}
.hq-card .operator-stat.is-hot {
  border-color: rgba(232, 122, 26, 0.55);
}
.hq-card .operator-stat strong {
  font-size: 1.2rem;
  margin-top: 0.1rem;
}
.hq-card .operator-stat.is-lead strong {
  font-size: 1.55rem;
  line-height: 1;
}
.hq-card .operator-stat.is-quiet {
  opacity: 0.62;
}
.hq-card .operator-stat.is-quiet strong {
  font-size: 1.05rem;
}
.operator-progress-falta {
  color: #cfcfcf;
  font-weight: 500;
}
.hq-card .operator-stat small { font-size: 0.7rem; }
.hq-card .operator-progress {
  padding-top: 0.2rem;
}
.hq-card .operator-progress-head {
  margin-bottom: 0.4rem;
  font-size: 0.8rem;
}
.hq-card .operator-progress-bar {
  height: 9px;
  border-color: rgba(193, 18, 31, 0.4);
  background: #060203;
}
.hq-card .skull-corner {
  width: 80px !important;
  height: 80px !important;
  opacity: 0.55;
}

.hq-ops {
  display: grid;
  grid-template-columns: minmax(0, 1.85fr) minmax(13.5rem, 0.62fr);
  gap: 1rem;
  margin-bottom: 1.1rem;
  align-items: stretch;
}
.hq-ops:has(> :only-child) {
  grid-template-columns: 1fr;
}
.hq-ops > .panel {
  margin-bottom: 0;
  padding: 1.05rem 1.15rem;
  border-color: rgba(255, 255, 255, 0.07);
  border-top-color: rgba(193, 18, 31, 0.7);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.03), transparent 46%),
    #121212;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.38);
}
.hq-ops > .meta-panel-compact.is-done {
  border-top-color: rgba(62, 207, 106, 0.65);
  border-color: rgba(47, 107, 63, 0.45);
  background:
    linear-gradient(180deg, rgba(31, 138, 59, 0.1), transparent 48%),
    #0f1411;
}

.ordem-dia-panel {
  position: relative;
  overflow: hidden;
}
.ordem-dia-panel::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: linear-gradient(180deg, #ff4d57, rgba(193, 18, 31, 0.15));
}
.ordem-dia-head {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 0.5rem 0.85rem;
  margin-bottom: 0.8rem;
  padding-bottom: 0.6rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.hq-ops .next-step-kicker { margin-bottom: 0.15rem; }
.ordem-dia-sub {
  font-size: 0.72rem;
  color: var(--qa-muted);
  letter-spacing: 0.04em;
}
.ordem-dia-rank {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.25rem 0.5rem;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(0, 0, 0, 0.4);
  border-radius: 2px;
}
.ordem-dia-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr auto;
  gap: 0.75rem 1rem;
  align-items: center;
}
.hq-ops .ordem-dia-grid {
  grid-template-columns: minmax(0, 1fr) auto;
}
.hq-ops .ordem-dia-intel { grid-column: 1; }
.hq-ops .ordem-dia-exec {
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: center;
  flex-direction: column;
  align-items: stretch;
  gap: 0.5rem;
  min-width: 10rem;
}
.hq-ops .ordem-dia-exec .btn {
  width: 100%;
  justify-content: center;
  min-height: 40px;
  font-size: 0.78rem;
}
.hq-ops .ordem-dia-exec .btn-qa {
  box-shadow: 0 4px 0 #000, 0 0 18px rgba(193, 18, 31, 0.28);
}
.hq-ops .ordem-dia-exec .btn-qa-outline {
  border-width: 1px;
  border-color: rgba(255, 255, 255, 0.45);
  color: #e8e8e8;
  padding: 0.45rem 0.9rem;
}
.ordem-dia-label {
  display: block;
  font-family: var(--qa-font-display);
  font-size: 0.62rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #ff6b73;
  margin-bottom: 0.2rem;
}
.ordem-dia-block h2 {
  text-transform: none;
  letter-spacing: 0.015em;
  font-size: 1.05rem;
  margin-bottom: 0.18rem;
  font-weight: 600;
  line-height: 1.25;
}
.ordem-dia-block .text-muted,
.ordem-dia-intel .small {
  color: #9f9f9f !important;
  line-height: 1.4;
}
.ordem-dia-exec {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  justify-content: flex-end;
}

.quota-compact-head {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 0.45rem 0.75rem;
  margin-bottom: 0.55rem;
}
.quota-compact-status {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
}
.quota-compact-pct {
  font-family: var(--qa-font-display);
  font-size: 0.9rem;
  letter-spacing: 0.04em;
  color: #fff;
  padding: 0.12rem 0.42rem;
  border: 1px solid rgba(193, 18, 31, 0.45);
  background: rgba(193, 18, 31, 0.12);
  border-radius: 2px;
}
.meta-panel-compact.is-done .quota-compact-pct {
  border-color: rgba(62, 207, 106, 0.45);
  background: rgba(31, 138, 59, 0.16);
  color: #b8f0c8;
}
.quota-compact-bar {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  margin-bottom: 0.65rem;
  font-size: 0.78rem;
  color: #cfcfcf;
}
.quota-compact-bar .progress-thin {
  height: 8px;
}
.quota-slider-form {
  padding-top: 0.35rem;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}
.quota-slider-form .meta-slider-head { margin-bottom: 0.25rem; }
.quota-slider-form .meta-slider-value { font-size: 1.05rem; min-width: 0; }
.quota-slider-form .meta-slider-wrap {
  min-height: 32px;
  padding: 0;
}
.quota-slider-form .meta-slider { height: 32px; }

@media (max-width: 991.98px) {
  .hq-ops { grid-template-columns: 1fr; }
  .ordem-dia-grid,
  .hq-ops .ordem-dia-grid {
    grid-template-columns: 1fr;
  }
  .hq-ops .ordem-dia-intel,
  .hq-ops .ordem-dia-exec {
    grid-column: auto;
    grid-row: auto;
  }
  .ordem-dia-exec,
  .hq-ops .ordem-dia-exec {
    justify-content: flex-start;
    flex-direction: row;
    align-items: stretch;
    min-width: 0;
  }
  .hq-ops .ordem-dia-exec .btn {
    width: auto;
    flex: 1 1 auto;
  }
}
@media (max-width: 768px) {
  .hq-card.operator-card { padding: 1rem 0.95rem 0.95rem; gap: 0.75rem; }
  .hq-card .operator-actions { width: 100%; }
  .hq-card .operator-actions .btn { flex: 1 1 auto; min-height: 44px; }
  .quota-slider-form .meta-slider-wrap { min-height: 44px; }
  .quota-slider-form .meta-slider { height: 44px; }
}

/* QG · lista de matérias + ranking */
main.container:has(.hq-card) .row.g-3 {
  --bs-gutter-x: 1.1rem;
  --bs-gutter-y: 1.1rem;
  margin-bottom: 0.2rem;
}
main.container:has(.hq-card) .study-filter-panel {
  padding: 0.9rem 1.05rem;
  border-color: rgba(255, 255, 255, 0.07);
  border-top-color: rgba(193, 18, 31, 0.5);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.025), transparent 55%),
    #121212;
  margin-bottom: 0.85rem !important;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.28);
}
main.container:has(.hq-card) .study-filter-search,
main.container:has(.hq-card) .study-filter-select {
  min-height: 42px;
  border-color: rgba(255, 255, 255, 0.1);
  background: #0c0c0c !important;
}
main.container:has(.hq-card) .study-list {
  gap: 0.5rem;
}
main.container:has(.hq-card) .study-list-head {
  padding: 0 0.9rem 0.4rem;
  opacity: 0.8;
  font-size: 0.62rem;
}
main.container:has(.hq-card) .subject-card.subject-row {
  padding: 0.7rem 0.9rem;
  border-color: rgba(255, 255, 255, 0.07);
  border-left-width: 3px;
  border-left-color: rgba(193, 18, 31, 0.7);
  background:
    linear-gradient(90deg, rgba(193, 18, 31, 0.05), transparent 26%),
    #101010;
  transition: border-color 0.15s, background 0.15s, transform 0.12s, box-shadow 0.15s;
}
main.container:has(.hq-card) .subject-card.subject-row:hover {
  border-color: rgba(193, 18, 31, 0.5);
  border-left-color: #ff4d57;
  background:
    linear-gradient(90deg, rgba(193, 18, 31, 0.12), transparent 36%),
    #151010;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3);
  transform: translateY(-1px);
}
main.container:has(.hq-card) .subject-row .subject-name {
  font-size: 0.92rem;
  letter-spacing: 0.035em;
}
main.container:has(.hq-card) .subject-row .subject-metric {
  font-size: 0.88rem;
  color: #c8c8c8;
}
main.container:has(.hq-card) .subject-row .subject-metric.is-mid { color: #e0b020; }
main.container:has(.hq-card) .subject-row .subject-metric.is-ok { color: #4adf78; }
main.container:has(.hq-card) .subject-row .mastery-bar {
  height: 5px;
  margin-top: 0.15rem;
}
main.container:has(.hq-card) .subject-row .subject-actions {
  gap: 0.45rem;
}
main.container:has(.hq-card) .subject-row .subject-actions .btn {
  min-height: 36px;
  padding: 0.3rem 0.75rem;
  font-size: 0.72rem;
}
main.container:has(.hq-card) .subject-row .subject-actions .btn-qa-outline {
  border-width: 1px;
  border-color: rgba(255, 255, 255, 0.35);
  color: #ddd;
}
main.container:has(.hq-card) .subject-row .subject-actions .btn-qa {
  min-width: 5.6rem;
}
main.container:has(.hq-card) .panel.elite-board {
  padding: 1.05rem 1.1rem 1.15rem;
  border-color: rgba(255, 255, 255, 0.07);
  border-top-color: rgba(193, 18, 31, 0.6);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.025), transparent 42%),
    #121212;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.38);
  height: 100%;
}
main.container:has(.hq-card) .elite-board-head {
  margin-bottom: 0.85rem;
  padding-bottom: 0.6rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
main.container:has(.hq-card) .elite-board-head .mission-kicker {
  font-size: 0.68rem;
  letter-spacing: 0.16em;
  margin-bottom: 0.15rem !important;
}
main.container:has(.hq-card) .elite-pane {
  padding: 0.7rem 0.65rem 0.6rem;
  border-color: rgba(255, 255, 255, 0.07);
  background: rgba(0, 0, 0, 0.3);
}
main.container:has(.hq-card) .elite-pane.is-honors {
  border-color: rgba(245, 197, 66, 0.28);
}
main.container:has(.hq-card) .elite-row {
  border-color: rgba(255, 255, 255, 0.07);
  background: #0e0e0e;
  padding: 0.45rem 0.55rem;
}
main.container:has(.hq-card) .elite-row.is-me {
  animation: none;
  border-color: rgba(193, 18, 31, 0.7);
  background: linear-gradient(90deg, rgba(193, 18, 31, 0.22), #14090b 60%);
  box-shadow: inset 3px 0 0 var(--qa-accent);
}
main.container:has(.hq-card) .elite-row.is-me::after {
  display: none;
}

.hq-aux {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  align-items: stretch;
  margin-top: 1.1rem;
  margin-bottom: 1.15rem;
}
.hq-aux:has(> :nth-child(2):last-child) {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.hq-aux > .panel {
  margin-bottom: 0;
  padding: 1rem 1.05rem;
  min-width: 0;
  border-color: rgba(255, 255, 255, 0.07);
  border-top-width: 2px;
  border-top-color: rgba(193, 18, 31, 0.5);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.02), transparent 50%),
    #121212;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.32);
}
.hq-aux-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.4rem 0.7rem;
  margin-bottom: 0.75rem;
  padding-bottom: 0.55rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.hq-aux-head .h6 {
  margin: 0;
  letter-spacing: 0.05em;
  font-size: 0.92rem;
}
.hq-aux-head .small {
  color: #9a9a9a;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 0.68rem;
  font-family: var(--qa-font-display);
}
.hq-aux-head .small:hover { color: #ff8a90; }
.hq-aux .quick-link,
.hq-aux .btn-reset-link.quick-link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.6rem 0.75rem;
  margin-bottom: 0.42rem;
  font-size: 0.76rem;
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-left: 3px solid rgba(193, 18, 31, 0.7);
  background:
    linear-gradient(90deg, rgba(193, 18, 31, 0.05), transparent 42%),
    #0e0e0e;
  transition: border-color 0.15s, background 0.15s, transform 0.12s;
}
.hq-aux .quick-link:hover,
.hq-aux .btn-reset-link.quick-link:hover {
  border-color: rgba(193, 18, 31, 0.5);
  background:
    linear-gradient(90deg, rgba(193, 18, 31, 0.14), transparent 48%),
    #160a0c;
  transform: translateX(2px);
}
.hq-aux .quick-link:last-child,
.hq-aux .quick-link-form:last-child {
  margin-bottom: 0;
}
.hq-aux .quick-link .badge-soft {
  flex: 0 0 auto;
  font-size: 0.6rem;
  padding: 0.16rem 0.45rem;
  letter-spacing: 0.07em;
  background: rgba(193, 18, 31, 0.85);
}
.hq-aux .quick-link.is-hot,
.quick-link.is-hot {
  padding: 0.85rem 0.9rem;
  font-size: 0.84rem;
  letter-spacing: 0.06em;
  border: 1px solid rgba(193, 18, 31, 0.7);
  border-left: 4px solid var(--qa-accent);
  background:
    repeating-linear-gradient(
      0deg,
      transparent,
      transparent 3px,
      rgba(193, 18, 31, 0.08) 3px,
      rgba(193, 18, 31, 0.08) 4px
    ),
    linear-gradient(90deg, rgba(193, 18, 31, 0.28), rgba(20, 8, 10, 0.96) 48%),
    #14080a;
  box-shadow:
    0 0 0 1px rgba(193, 18, 31, 0.22),
    0 0 18px rgba(193, 18, 31, 0.32),
    inset 0 0 22px rgba(193, 18, 31, 0.1);
  animation: featuredPulse 2.4s ease-in-out infinite;
}
.hq-aux .quick-link.is-hot:hover,
.quick-link.is-hot:hover {
  transform: translateX(0);
  border-color: #ff4d57;
  background:
    repeating-linear-gradient(
      0deg,
      transparent,
      transparent 3px,
      rgba(193, 18, 31, 0.1) 3px,
      rgba(193, 18, 31, 0.1) 4px
    ),
    linear-gradient(90deg, rgba(193, 18, 31, 0.4), #1a0a0c 52%),
    #1a0a0c;
  box-shadow:
    0 0 0 1px rgba(255, 77, 87, 0.4),
    0 0 26px rgba(193, 18, 31, 0.5),
    inset 0 0 24px rgba(193, 18, 31, 0.14);
}
.hq-aux .quick-link.is-hot .badge-soft,
.quick-link.is-hot .badge-soft {
  font-size: 0.68rem;
  padding: 0.28rem 0.62rem;
  background: var(--qa-accent);
  border-color: #ff4d57;
  box-shadow: 0 0 10px rgba(193, 18, 31, 0.55);
}
.quick-link.is-hot::after {
  inset: 4px;
  background:
    linear-gradient(var(--qa-accent), var(--qa-accent)) 0 0 / 11px 2px no-repeat,
    linear-gradient(var(--qa-accent), var(--qa-accent)) 0 0 / 2px 11px no-repeat,
    linear-gradient(var(--qa-accent), var(--qa-accent)) 100% 0 / 11px 2px no-repeat,
    linear-gradient(var(--qa-accent), var(--qa-accent)) 100% 0 / 2px 11px no-repeat,
    linear-gradient(var(--qa-accent), var(--qa-accent)) 0 100% / 11px 2px no-repeat,
    linear-gradient(var(--qa-accent), var(--qa-accent)) 0 100% / 2px 11px no-repeat,
    linear-gradient(var(--qa-accent), var(--qa-accent)) 100% 100% / 11px 2px no-repeat,
    linear-gradient(var(--qa-accent), var(--qa-accent)) 100% 100% / 2px 11px no-repeat;
}
@keyframes featuredPulse {
  0%, 100% {
    box-shadow:
      0 0 0 1px rgba(193, 18, 31, 0.2),
      0 0 14px rgba(193, 18, 31, 0.26),
      inset 0 0 18px rgba(193, 18, 31, 0.08);
  }
  50% {
    box-shadow:
      0 0 0 1px rgba(255, 77, 87, 0.45),
      0 0 26px rgba(193, 18, 31, 0.48),
      inset 0 0 24px rgba(193, 18, 31, 0.14);
  }
}
.hq-aux .badge-grid {
  gap: 0.5rem;
}
.hq-aux .qa-badge {
  border-color: rgba(255, 255, 255, 0.07);
  background: #0e0e0e;
  padding: 0.52rem 0.55rem;
  transition: border-color 0.15s, background 0.15s, transform 0.12s;
}
.hq-aux .qa-badge:hover {
  border-color: rgba(193, 18, 31, 0.4);
  background: #140a0c;
  transform: translateY(-1px);
}
.hq-log-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.65rem;
  padding: 0.6rem 0.75rem;
  margin-bottom: 0.42rem;
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-left: 3px solid rgba(193, 18, 31, 0.7);
  background:
    linear-gradient(90deg, rgba(193, 18, 31, 0.05), transparent 42%),
    #0e0e0e;
  color: inherit;
  text-decoration: none;
  transition: border-color 0.15s, background 0.15s, transform 0.12s;
}
.hq-log-row:last-child { margin-bottom: 0; }
.hq-log-row:hover {
  color: inherit;
  text-decoration: none;
  border-color: rgba(193, 18, 31, 0.5);
  background:
    linear-gradient(90deg, rgba(193, 18, 31, 0.14), transparent 48%),
    #160a0c;
  transform: translateX(2px);
}
.hq-log-row:hover .hq-log-title { color: #ff8a90; }
.hq-log-main {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
}
.hq-log-title {
  font-weight: 600;
  font-size: 0.82rem;
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.hq-log-meta {
  font-size: 0.7rem;
  color: var(--qa-muted);
  letter-spacing: 0.01em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.hq-log-row .badge-soft {
  flex: 0 0 auto;
  font-size: 0.6rem;
  padding: 0.16rem 0.45rem;
  letter-spacing: 0.07em;
  background: rgba(193, 18, 31, 0.85);
}
@media (max-width: 991.98px) {
  .hq-aux,
  .hq-aux:has(> :nth-child(2):last-child) {
    grid-template-columns: 1fr;
  }
}

.aar-report {
 text-align: left;
}
.aar-header { margin-bottom: 0.5rem; }
.aar-op-tag {
 font-family: var(--qa-font-display);
 font-size: 0.78rem;
 letter-spacing: 0.12em;
 color: #cfcfcf;
}
.aar-section {
 margin: 1.25rem 0;
 padding: 1rem 0 0;
 border-top: 1px solid var(--qa-line);
}
.aar-label {
 font-family: var(--qa-font-display);
 font-size: 0.72rem;
 letter-spacing: 0.16em;
 text-transform: uppercase;
 color: var(--qa-accent);
 margin-bottom: 0.75rem;
}
.aar-engage {
 display: grid;
 grid-template-columns: auto 1fr;
 gap: 1.25rem;
 align-items: center;
}
.aar-stats { margin: 0; }
.aar-orders .btn { min-width: 9rem; }
@media (max-width: 575.98px) {
 .aar-engage { grid-template-columns: 1fr; justify-items: center; }
 .aar-stats { width: 100%; }
}

.qa-sfx-toggle {
  opacity: 0.9;
  border: 0;
  background: transparent;
  cursor: pointer;
  color: inherit;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.35rem;
  line-height: 1;
}
.qa-sfx-toggle .icon-sound {
  width: 1.2rem;
  height: 1.2rem;
  display: block;
}
.qa-sfx-toggle.is-muted {
  opacity: 0.55;
  color: #ff6b73;
}
.qa-sfx-toggle:hover {
  opacity: 1;
  color: #fff;
}
.qa-sfx-fab {
  position: fixed;
  right: max(0.85rem, env(safe-area-inset-right));
  bottom: max(0.85rem, env(safe-area-inset-bottom));
  z-index: 1080;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 999px;
  border: 1px solid rgba(193, 18, 31, 0.55);
  background: rgba(10, 10, 10, 0.92);
  color: #f2f2f2;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45);
  backdrop-filter: blur(6px);
}
.qa-sfx-fab .icon-sound {
  width: 1.35rem;
  height: 1.35rem;
}
.qa-sfx-fab:hover,
.qa-sfx-fab:focus-visible {
  border-color: var(--qa-accent);
  color: #fff;
  outline: none;
}
.qa-sfx-fab.is-muted {
  border-color: #5a5a5a;
  color: #ff6b73;
}
@media (max-width: 575.98px) {
  .qa-sfx-fab {
    right: max(0.7rem, env(safe-area-inset-right));
    bottom: max(0.7rem, env(safe-area-inset-bottom));
  }
}

.qa-live-toast-host {
  position: fixed;
  top: max(0.85rem, env(safe-area-inset-top));
  left: 50%;
  transform: translateX(-50%);
  z-index: 1090;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  width: min(22rem, calc(100vw - 1.5rem));
  pointer-events: none;
}
.qa-live-toast {
  pointer-events: auto;
  padding: 0.85rem 1rem;
  border: 1px solid rgba(193, 18, 31, 0.55);
  border-left: 3px solid var(--qa-accent);
  background: rgba(8, 8, 8, 0.94);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.5);
  color: #f2f2f2;
  opacity: 0;
  transform: translateY(-10px);
  transition: opacity 0.28s ease, transform 0.28s ease;
}
.qa-live-toast.is-in {
  opacity: 1;
  transform: translateY(0);
}
.qa-live-toast.is-out {
  opacity: 0;
  transform: translateY(-8px);
}
.qa-live-toast-kicker {
  margin: 0 0 0.2rem;
  font-family: var(--qa-font-display);
  font-size: 0.68rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--qa-accent);
}
.qa-live-toast-title {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.3;
}
.qa-live-toast-body {
  margin: 0.25rem 0 0;
  font-size: 0.82rem;
  color: #cfcfcf;
}

.qa-combat-feed {
  position: fixed;
  right: max(0.75rem, env(safe-area-inset-right));
  top: max(4.6rem, calc(env(safe-area-inset-top) + 3.8rem));
  z-index: 1085;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.38rem;
  width: min(13.2rem, 48vw);
  pointer-events: none;
}
.qa-combat-tick {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.55rem;
  padding: 0.38rem 0.55rem 0.34rem;
  border: 1px solid rgba(193, 18, 31, 0.42);
  background: rgba(8, 8, 8, 0.9);
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.42);
  opacity: 0;
  transform: translateX(14px);
  transition: opacity 0.24s ease, transform 0.24s ease;
}
.qa-combat-tick::after {
  content: "";
  position: absolute;
  inset: 3px;
  pointer-events: none;
  background:
    linear-gradient(currentColor, currentColor) 0 0 / 6px 1px no-repeat,
    linear-gradient(currentColor, currentColor) 0 0 / 1px 6px no-repeat,
    linear-gradient(currentColor, currentColor) 100% 0 / 6px 1px no-repeat,
    linear-gradient(currentColor, currentColor) 100% 0 / 1px 6px no-repeat,
    linear-gradient(currentColor, currentColor) 0 100% / 6px 1px no-repeat,
    linear-gradient(currentColor, currentColor) 0 100% / 1px 6px no-repeat,
    linear-gradient(currentColor, currentColor) 100% 100% / 6px 1px no-repeat,
    linear-gradient(currentColor, currentColor) 100% 100% / 1px 6px no-repeat;
  opacity: 0.7;
}
.qa-combat-tick.is-in {
  opacity: 1;
  transform: translateX(0);
}
.qa-combat-tick.is-out {
  opacity: 0;
  transform: translateX(10px);
}
.qa-combat-tick.is-hit {
  border-color: rgba(140, 168, 92, 0.55);
  color: #c5d9a4;
}
.qa-combat-tick.is-miss,
.qa-combat-tick.is-loss {
  border-color: rgba(193, 18, 31, 0.7);
  color: #ff8a90;
}
.qa-combat-name {
  font-family: var(--qa-font-display);
  font-size: 0.68rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.qa-combat-xp {
  flex: 0 0 auto;
  font-family: var(--qa-font-display);
  font-size: 0.72rem;
  letter-spacing: 0.06em;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.qa-combat-tick.is-hit .qa-combat-xp { color: #d7e8b8; }
.qa-combat-tick.is-miss .qa-combat-xp,
.qa-combat-tick.is-loss .qa-combat-xp { color: #ffb4b8; }
.qa-combat-tick.is-passou {
  border-color: rgba(196, 160, 53, 0.7);
  color: #e8d48a;
}
.qa-combat-tick.is-te-passou {
  border-color: rgba(193, 18, 31, 0.75);
  color: #ffb080;
}
.qa-combat-tick.is-passou .qa-combat-xp { color: #f0e0a0; }
.qa-combat-tick.is-te-passou .qa-combat-xp { color: #ffc4a8; }

/* Comando · administrador */
body.is-admin {
  background:
    radial-gradient(980px 460px at 0% -8%, rgba(193, 18, 31, 0.22), transparent 52%),
    radial-gradient(720px 380px at 100% 0%, rgba(255, 255, 255, 0.035), transparent 48%),
    repeating-linear-gradient(
      0deg,
      transparent,
      transparent 3px,
      rgba(255, 255, 255, 0.012) 3px,
      rgba(255, 255, 255, 0.012) 4px
    ),
    linear-gradient(180deg, #050505 0%, #0c0c0c 42%, #111 100%);
}
body.is-admin main.container {
  max-width: 1120px;
}
.dropdown-menu-qa {
  background: #0a0a0a;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-top: 2px solid var(--qa-accent);
  border-radius: 2px;
  padding: 0.35rem 0;
  min-width: 12.5rem;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.55);
  margin-top: 0.45rem !important;
}
.dropdown-menu-qa .dropdown-item {
  color: #e8e8e8;
  font-family: var(--qa-font-display);
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0.55rem 0.95rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}
.dropdown-menu-qa .dropdown-item:hover,
.dropdown-menu-qa .dropdown-item:focus {
  background: rgba(193, 18, 31, 0.18);
  color: #fff;
}
.dropdown-menu-qa .dropdown-item.active {
  background: rgba(193, 18, 31, 0.28);
  color: #fff;
}
.navbar-qa .dropdown-toggle::after {
  margin-left: 0.4rem;
  vertical-align: 0.15em;
  opacity: 0.7;
}
.is-admin .navbar-qa .nav-link.active {
  color: var(--qa-gold-soft) !important;
  box-shadow: inset 0 -2px 0 var(--qa-accent);
}
.cmd-nav-chip {
  gap: 0.4rem;
}
.cmd-nav-chip.is-live {
  box-shadow: 0 0 14px rgba(61, 255, 122, 0.18);
  border-color: rgba(61, 255, 122, 0.45);
}
.cmd-nav-chip .live-dot { margin: 0; }
button.nav-foco-toggle {
  background: rgba(193, 18, 31, 0.16);
  color: #fff;
  font-family: var(--qa-font-display);
  font-weight: 700;
  font-size: 0.82rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  line-height: 1;
  cursor: pointer;
}
button.nav-foco-toggle.is-empty {
  background: rgba(255, 255, 255, 0.04);
}
.nav-foco-nome {
  max-width: 14rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.nav-foco-toggle:hover,
.nav-foco-toggle:focus-visible,
.nav-foco-toggle.show {
  color: #fff;
}
.nav-concurso-destaque.is-empty {
  border-color: rgba(255, 255, 255, 0.28);
  background: rgba(255, 255, 255, 0.04);
  box-shadow: none;
}
.nav-foco-menu {
  max-height: 18rem;
  overflow: auto;
  min-width: 16rem;
}
.nav-foco-menu form { margin: 0; }
.nav-foco-menu .dropdown-item {
  width: 100%;
  text-align: left;
  background: transparent;
  border: 0;
  cursor: pointer;
}
.dropdown-menu-qa .dropdown-divider {
  border-top-color: rgba(255, 255, 255, 0.08);
  margin: 0.35rem 0;
  opacity: 1;
}
.dropdown-menu-qa .dropdown-header {
  color: #8f8f8f;
  font-size: 0.65rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
tr.is-foco > td {
  background: rgba(193, 18, 31, 0.08);
}
@media (max-width: 991.98px) {
  .nav-foco-toggle { font-size: 0.95rem; }
  .nav-foco-nome { max-width: none; }
}
.is-admin .admin-hero,
.is-admin .hq-card.operator-card {
  margin-bottom: 1.15rem;
}
.is-admin .hq-card.operator-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background:
    repeating-linear-gradient(
      0deg,
      transparent,
      transparent 2px,
      rgba(255, 255, 255, 0.016) 2px,
      rgba(255, 255, 255, 0.016) 3px
    );
}
.cmd-rank-badge {
  border-color: var(--qa-accent);
  background: rgba(193, 18, 31, 0.18);
  box-shadow: 0 0 12px rgba(193, 18, 31, 0.28);
}
.cmd-live-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  min-height: 30px;
  padding: 0.28rem 0.65rem;
  border: 1px solid rgba(61, 255, 122, 0.45);
  border-radius: 2px;
  background: rgba(8, 28, 16, 0.7);
  color: #b8f0c8;
  font-family: var(--qa-font-display);
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-decoration: none;
}
.cmd-live-chip:hover,
.cmd-live-chip:focus-visible {
  color: #fff;
  border-color: #7dffb0;
  background: rgba(12, 40, 22, 0.9);
}
.hq-card .operator-stat.is-live {
  border-color: rgba(61, 255, 122, 0.35);
}
.hq-card .operator-stat.is-live .operator-stat-label { color: #8fd4a4; }
.cmd-coverage { padding-top: 0.15rem; }
.cmd-brief {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.85rem 1.1rem;
  padding: 0.85rem 0.95rem;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-left: 3px solid var(--qa-accent);
  background:
    linear-gradient(90deg, rgba(193, 18, 31, 0.12), transparent 42%),
    rgba(0, 0, 0, 0.38);
}
.cmd-brief.is-hot {
  border-color: rgba(232, 122, 26, 0.45);
  border-left-color: #e87a1a;
  background:
    linear-gradient(90deg, rgba(232, 122, 26, 0.14), transparent 46%),
    rgba(20, 12, 6, 0.55);
  animation: tacBeacon 1.8s steps(2, end) infinite;
}
.cmd-brief-copy {
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
  min-width: min(100%, 16rem);
  flex: 1;
}
.cmd-brief-copy .ordem-dia-label { margin-bottom: 0; }
.cmd-brief-copy strong {
  font-family: var(--qa-font-display);
  font-size: 1.02rem;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: #fff;
}
.cmd-brief-copy small {
  color: #9a9a9a;
  font-size: 0.78rem;
}
.cmd-brief .btn {
  flex-shrink: 0;
  min-height: 40px;
  padding-right: 0.7rem;
}
.cmd-brief .cmd-go {
  width: 0.85rem;
  height: 0.85rem;
  margin-left: 0.25rem;
  opacity: 0.85;
}
.is-admin .panel {
  border-color: rgba(255, 255, 255, 0.07);
  border-top-color: rgba(193, 18, 31, 0.7);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.03), transparent 46%),
    #121212;
}
.is-admin .panel > h2:first-child,
.is-admin .panel > .h6:first-child,
.is-admin .panel > h2.h5:first-child,
.is-admin .panel > h2.h6:first-child {
  font-family: var(--qa-font-display);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-size: 0.78rem;
  color: #ff8a90;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  padding-bottom: 0.55rem;
  margin-bottom: 1rem;
}
.is-admin .form-label,
.is-admin .form-label.small {
  font-family: var(--qa-font-display);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 0.68rem;
  color: #b8b8b8;
}
.is-admin .form-control,
.is-admin .form-select {
  border-color: rgba(255, 255, 255, 0.1) !important;
  background: #0c0c0c !important;
}
.is-admin .form-control:focus,
.is-admin .form-select:focus {
  border-color: rgba(193, 18, 31, 0.65) !important;
  box-shadow: 0 0 0 3px rgba(193, 18, 31, 0.18);
}
.concurso-novo {
  display: grid;
  gap: 0.85rem;
  width: 100%;
}
.concurso-novo-head {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
  margin-bottom: 1rem;
}
.concurso-novo-head > span {
  font-family: var(--qa-font-display);
  letter-spacing: 0.08em;
  color: #ff8a90;
  font-size: 0.78rem;
  line-height: 1.4;
}
.concurso-novo-head h2 { margin: 0 0 0.15rem; }
.concurso-novo-head p {
  margin: 0;
  color: #9a9a9a;
  font-size: 0.82rem;
}
.concurso-novo-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.85rem 1rem;
}
.concurso-novo-modos {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
}
.concurso-novo-modo {
  display: grid;
  gap: 0.2rem;
  margin: 0;
  padding: 0.85rem 0.9rem;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: #0c0c0c;
  cursor: pointer;
}
.concurso-novo-modo:has(input:checked) {
  border-color: rgba(193, 18, 31, 0.75);
  box-shadow: inset 3px 0 0 #c1121f;
}
.concurso-novo-modo input { accent-color: #c1121f; }
.concurso-novo-modo strong {
  font-size: 0.92rem;
  color: #fff;
}
.concurso-novo-modo span {
  color: #9a9a9a;
  font-size: 0.78rem;
}
.concurso-novo-acoes {
  display: flex;
  justify-content: flex-end;
}
.concurso-novo-acoes .btn { min-width: 220px; }
.concurso-edit-row > td { background: #0c0c0c; padding: 0.85rem !important; }
.concurso-edit-form { max-width: none; }
.concurso-edit-acoes {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.75rem;
  margin-top: 0.85rem;
}
.admin-filtro-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr)) auto;
  gap: 0.75rem;
  align-items: end;
}
.admin-filtro-grid .form-select { width: 100%; }
.admin-filtro-grid-3 { grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr) auto; }
@media (max-width: 900px) {
  .admin-filtro-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 720px) {
  .concurso-novo-grid,
  .concurso-novo-modos { grid-template-columns: 1fr; }
  .concurso-novo-acoes .btn { width: 100%; }
}
.is-admin .qa-tabs { gap: 0.35rem; }
.is-admin .qa-tab {
  border-radius: 2px;
  font-family: var(--qa-font-display);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 0.72rem;
  background: rgba(0, 0, 0, 0.35);
}
.is-admin a.qa-tab {
  color: #cfcfcf;
}
.is-admin a.qa-tab:hover {
  color: #fff;
}
.is-admin a.qa-tab.active {
  color: #ffd0d3;
}
.is-admin .table-qa {
  background: transparent;
}
.is-admin .table-qa thead th {
  font-family: var(--qa-font-display);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 0.68rem;
  color: #b8b8b8;
  background: rgba(0, 0, 0, 0.45);
  border-bottom-color: rgba(193, 18, 31, 0.35) !important;
}
.is-admin .table-qa tbody tr {
  transition: background 0.12s;
}
.is-admin .table-qa tbody tr:hover {
  background: rgba(193, 18, 31, 0.08);
}
.is-admin .mobile-card {
  background:
    linear-gradient(90deg, rgba(193, 18, 31, 0.06), transparent 28%),
    #101010;
  border-color: rgba(255, 255, 255, 0.07);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.28);
}
.is-admin .mobile-card + .mobile-card { margin-top: 0.55rem; }
.is-admin .admin-q-enunciado,
.is-admin .mobile-q.challenge-enunciado {
  white-space: normal;
  font-weight: 600;
  line-height: 1.45;
}
.is-admin .admin-q-alts {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 0.35rem;
  font-size: 0.9rem;
  line-height: 1.4;
}
.is-admin .admin-q-alts li {
  padding: 0.35rem 0.55rem;
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 2px;
  background: rgba(255, 255, 255, 0.02);
  white-space: normal;
}
.is-admin .admin-q-alts li.is-ok {
  border-color: rgba(46, 160, 67, 0.45);
  background: rgba(46, 160, 67, 0.12);
}
.is-admin .admin-q-gabarito {
  padding: 0.4rem 0.55rem;
  border: 1px solid rgba(46, 160, 67, 0.45);
  background: rgba(46, 160, 67, 0.12);
  border-radius: 2px;
  font-size: 0.9rem;
  white-space: normal;
}

.cmd-section { margin-bottom: 1.15rem; }
.cmd-section-head {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  margin-bottom: 0.65rem;
}
.cmd-section-n {
  font-family: var(--qa-font-display);
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  color: #ff6b73;
  border: 1px solid rgba(193, 18, 31, 0.45);
  background: rgba(193, 18, 31, 0.12);
  padding: 0.12rem 0.42rem;
  border-radius: 2px;
}
.cmd-section-head h2 {
  margin: 0;
  font-size: 0.92rem;
  letter-spacing: 0.16em;
  color: #fff;
}
.cmd-section-line {
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, rgba(193, 18, 31, 0.55), transparent 92%);
}
.cmd-map {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.65rem;
}
.cmd-map-1 { grid-template-columns: minmax(0, 28rem); }
.cmd-map-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cmd-map-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.cmd-card {
  position: relative;
  display: grid;
  grid-template-areas:
    "index value"
    "title title"
    "text text"
    "meta go";
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.18rem 0.7rem;
  min-height: 9.1rem;
  padding: 0.95rem 1rem 0.9rem;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-left: 3px solid rgba(193, 18, 31, 0.75);
  border-radius: var(--qa-radius);
  background:
    linear-gradient(90deg, rgba(193, 18, 31, 0.07), transparent 38%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.035), transparent 58%),
    #101010;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.3);
  animation: riseIn 0.45s ease-out both;
  animation-delay: var(--rise-delay, 0s);
  transition: border-color 0.15s, background 0.15s, transform 0.12s, box-shadow 0.15s;
}
.cmd-card::after {
  content: "";
  position: absolute;
  inset: 6px;
  pointer-events: none;
  background:
    linear-gradient(var(--qa-accent), var(--qa-accent)) 0 0 / 8px 1px no-repeat,
    linear-gradient(var(--qa-accent), var(--qa-accent)) 0 0 / 1px 8px no-repeat,
    linear-gradient(var(--qa-accent), var(--qa-accent)) 100% 0 / 8px 1px no-repeat,
    linear-gradient(var(--qa-accent), var(--qa-accent)) 100% 0 / 1px 8px no-repeat,
    linear-gradient(var(--qa-accent), var(--qa-accent)) 0 100% / 8px 1px no-repeat,
    linear-gradient(var(--qa-accent), var(--qa-accent)) 0 100% / 1px 8px no-repeat,
    linear-gradient(var(--qa-accent), var(--qa-accent)) 100% 100% / 8px 1px no-repeat,
    linear-gradient(var(--qa-accent), var(--qa-accent)) 100% 100% / 1px 8px no-repeat;
  opacity: 0.45;
}
.cmd-card:hover,
.cmd-card:focus-visible {
  color: inherit;
  text-decoration: none;
  border-color: rgba(193, 18, 31, 0.55);
  border-left-color: #ff4d57;
  background:
    linear-gradient(90deg, rgba(193, 18, 31, 0.16), transparent 44%),
    #151010;
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.42);
  transform: translateY(-2px);
  outline: none;
}
.cmd-card:hover::after,
.cmd-card:focus-visible::after { opacity: 0.9; }
.cmd-card:hover .cmd-card-go,
.cmd-card:focus-visible .cmd-card-go {
  color: #fff;
  transform: translateX(3px);
}
.cmd-card.is-hot {
  border-color: rgba(232, 122, 26, 0.45);
  border-left-color: #e87a1a;
  box-shadow: 0 0 18px rgba(232, 122, 26, 0.2);
}
.cmd-card-index {
  grid-area: index;
  font-family: var(--qa-font-display);
  font-size: 0.62rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #ff6b73;
}
.cmd-card-value {
  grid-area: value;
  justify-self: end;
  font-family: var(--qa-font-display);
  font-size: 1.35rem;
  line-height: 1;
  letter-spacing: 0.04em;
  color: #fff;
}
.cmd-card-title {
  grid-area: title;
  font-family: var(--qa-font-display);
  font-size: 1.02rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #fff;
  margin: 0.15rem 0 0;
}
.cmd-card-text {
  grid-area: text;
  margin: 0.2rem 0 0.35rem;
  font-size: 0.8rem;
  color: #9f9f9f;
  line-height: 1.4;
}
.cmd-card-meta {
  grid-area: meta;
  align-self: end;
  font-family: var(--qa-font-display);
  font-size: 0.64rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #cfcfcf;
  padding: 0.16rem 0.42rem;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(0, 0, 0, 0.35);
  border-radius: 2px;
  width: max-content;
}
.cmd-card-go {
  grid-area: go;
  justify-self: end;
  align-self: end;
  display: inline-flex;
  color: #ff6b73;
  transition: transform 0.15s, color 0.15s;
}
.cmd-card-go .icon-chevron {
  width: 1rem;
  height: 1rem;
}
.cmd-card.is-hot .cmd-card-meta {
  border-color: rgba(232, 122, 26, 0.5);
  color: #ffc48a;
}
.cmd-card.is-hot .cmd-card-value { color: #ffc48a; }
@media (prefers-reduced-motion: reduce) {
  .cmd-brief.is-hot { animation: none; }
}
@media (max-width: 1199.98px) {
  .cmd-map-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 991.98px) {
  .cmd-map,
  .cmd-map-1,
  .cmd-map-2,
  .cmd-map-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .is-admin .navbar-qa .dropdown-menu-qa {
    width: 100%;
    margin: 0.15rem 0 0.4rem !important;
    border-left: 3px solid var(--qa-accent);
    border-top-width: 0;
  }
  .is-admin .navbar-qa .nav-link.active {
    box-shadow: none;
  }
  .cmd-brief .btn { width: 100%; }
}
@media (max-width: 768px) {
  .cmd-map,
  .cmd-map-1,
  .cmd-map-2,
  .cmd-map-4 { grid-template-columns: 1fr; }
  .cmd-card { min-height: 0; }
  .cmd-hq .operator-actions .btn { flex: 1 1 auto; }
}

.st-filters .form-label { margin-bottom: 0.25rem; }
.st-board {
  display: grid;
  grid-template-columns: minmax(17rem, 0.92fr) minmax(0, 1.18fr);
  gap: 1rem;
  margin-bottom: 1rem;
  align-items: stretch;
}
.st-board-qr,
.st-board-ops {
  display: flex;
  flex-direction: column;
  margin-bottom: 0;
}
.st-board-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.85rem;
  margin-bottom: 1rem;
  padding-bottom: 0.7rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.st-board-kicker {
  display: block;
  font-family: var(--qa-font-display);
  font-size: 0.66rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #8d8d8d;
  margin-bottom: 0.2rem;
}
.st-board-head h2 {
  margin: 0;
  font-family: var(--qa-font-display);
  font-size: 0.92rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #ff8a90;
}
.st-qr-stage {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0.15rem 0 1rem;
}
.st-link-box {
  display: flex;
  gap: 0.5rem;
  align-items: center;
  min-width: 0;
  padding: 0.4rem 0.45rem 0.4rem 0.8rem;
  background: #0a0a0a;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 2px;
}
.st-link-box .js-st-url {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.74rem;
  color: #e4e4e4;
  background: none;
  border: 0;
  padding: 0;
}
.st-link-box .btn { flex-shrink: 0; }
.st-qr-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  width: min(16rem, 100%);
  padding: 1rem;
  background: #fff;
  border-radius: 4px;
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.08),
    0 18px 36px rgba(0, 0, 0, 0.45);
  overflow: hidden;
}
.st-qr-wrap canvas,
.st-qr-wrap img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  max-width: 280px;
}
.st-qr-wrap canvas[hidden],
.st-qr-wrap img[hidden] {
  display: none !important;
}
.st-qr-caption {
  margin: 0.7rem 0 0;
  font-family: var(--qa-font-display);
  font-size: 0.68rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #9a9a9a;
}
.st-qr-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem;
  margin-top: 0.75rem;
}
.st-qr-actions .btn { width: 100%; }
.st-board-note {
  margin: 0.85rem 0 0;
  font-size: 0.78rem;
  line-height: 1.45;
  color: #9a9a9a;
}
.st-ops-meta {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(8.6rem, 1fr));
  gap: 0.55rem;
  margin: 0 0 1rem;
}
.st-ops-meta > div {
  margin: 0;
  padding: 0.7rem 0.8rem;
  background: rgba(0, 0, 0, 0.32);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 2px;
}
.st-ops-meta dt {
  font-family: var(--qa-font-display);
  font-size: 0.64rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #8f8f8f;
}
.st-ops-meta dd {
  margin: 0.28rem 0 0;
  font-family: var(--qa-font-display);
  font-size: 0.95rem;
  letter-spacing: 0.02em;
  color: #fff;
}
.st-ops-lead {
  margin: 0 0 1rem;
  color: #cfcfcf;
  line-height: 1.5;
}
.st-ops-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.st-ops-actions form { margin: 0; }
.st-agendar-form {
  margin-top: 1.1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}
.st-ops-danger {
  margin: auto 0 0;
  padding-top: 1.15rem;
  border-top: 1px solid rgba(193, 18, 31, 0.28);
}
@media (max-width: 991.98px) {
  .st-board { grid-template-columns: 1fr; }
}
@media (max-width: 575.98px) {
  .st-qr-actions { grid-template-columns: 1fr; }
}
.st-start-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: flex-end;
}
.st-agendar,
.st-agendar-form { max-width: 28rem; }
.st-datetime {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(8.5rem, 1fr);
  gap: 0.65rem;
  align-items: stretch;
}
.st-datetime-field {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  margin: 0;
}
.st-datetime-field span {
  font-size: 0.72rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #b8b8b8;
}
.st-datetime-date,
.st-datetime-time {
  min-height: 3rem;
  font-size: 1.05rem;
  font-weight: 600;
  cursor: pointer;
  color-scheme: dark;
}
.st-datetime-date::-webkit-calendar-picker-indicator,
.st-datetime-time::-webkit-calendar-picker-indicator {
  cursor: pointer;
  opacity: 1;
  width: 1.35rem;
  height: 1.35rem;
  filter: invert(1);
}
@media (max-width: 575.98px) {
  .st-datetime { grid-template-columns: 1fr; }
}
.st-materia { border-top: 1px solid rgba(255,255,255,.08); padding-top: 0.75rem; margin-top: 0.75rem; }
.st-materia:first-child { border-top: 0; padding-top: 0; margin-top: 0; }
.st-modos {
  display: grid;
  gap: 0.65rem;
}
@media (min-width: 768px) {
  .st-modos { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.st-modo {
  display: flex;
  gap: 0.7rem;
  align-items: flex-start;
  margin: 0;
  padding: 0.85rem 0.95rem;
  border: 1.5px solid #2a2a2a;
  background: #101010;
  cursor: pointer;
}
.st-modo input { margin-top: 0.2rem; flex-shrink: 0; }
.st-modo strong { display: block; }
.st-modo small { display: block; color: #9a9a9a; margin-top: 0.2rem; line-height: 1.35; }
.st-modo:has(input:checked) {
  border-color: var(--qa-accent);
  background: #1a0a0c;
}
.st-assuntos { margin: 0.35rem 0 0.15rem; }
.st-assuntos summary {
  cursor: pointer;
  font-size: 0.78rem;
  color: #9f9f9f;
}
.st-assunto-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.75rem;
  margin-top: 0.4rem;
}
.st-assunto {
  display: inline-flex;
  gap: 0.35rem;
  align-items: center;
  font-size: 0.8rem;
}
.st-home-list {
  display: grid;
  gap: 0.75rem;
}
.st-home-card {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-areas: "kicker cta" "title cta" "meta cta";
  gap: 0.15rem 1rem;
  align-items: center;
  text-decoration: none;
  color: inherit;
  margin-bottom: 0;
}
.st-home-card:hover { color: inherit; }
.st-home-kicker {
  grid-area: kicker;
  font-size: 0.68rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #cfcfcf;
}
.st-home-card strong { grid-area: title; }
.st-home-card small { grid-area: meta; color: #9f9f9f; }
.st-home-card .badge-soft { grid-area: cta; }
.st-home-card.is-hot {
  border-color: rgba(232, 122, 26, 0.45);
}
table.table-qa tr.is-me td { background: rgba(232, 122, 26, 0.12); }
@media print {
  body * { visibility: hidden !important; }
  .st-print-qr,
  .st-print-qr * { visibility: visible !important; }
  .st-print-qr {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    background: #fff !important;
    color: #111 !important;
    box-shadow: none !important;
    border: 0 !important;
  }
  .st-print-qr .btn,
  .st-print-qr .st-link-box,
  .st-print-qr .st-qr-actions,
  .st-print-qr .st-board-note,
  .st-print-qr .st-board-kicker,
  .st-print-qr .st-qr-caption { display: none !important; }
  .st-print-qr [hidden] {
    display: none !important;
    visibility: hidden !important;
  }
  .st-print-qr .st-board-head {
    border: 0;
    justify-content: center;
    text-align: center;
  }
  .st-print-qr .st-board-head h2 { color: #111 !important; }
  .st-print-qr .st-qr-stage { margin: 0; }
  .st-print-qr .st-qr-wrap {
    margin: 1.5rem auto;
    width: 280px;
    box-shadow: none;
  }
}

@media (max-width: 575.98px) {
  .qa-combat-feed {
    width: min(11.2rem, 46vw);
    top: max(4.2rem, calc(env(safe-area-inset-top) + 3.4rem));
    right: max(0.5rem, env(safe-area-inset-right));
  }
  .qa-combat-tick {
    padding: 0.3rem 0.42rem;
  }
  .qa-combat-name,
  .qa-combat-xp { font-size: 0.62rem; }
}

.banco-filtros { padding: 1rem 1.1rem 1.05rem; }
.banco-search {
  position: relative;
  margin-bottom: 0.85rem;
}
.banco-search-icon {
  position: absolute;
  left: 0.85rem;
  top: 50%;
  transform: translateY(-50%);
  color: #8a8a8a;
  font-size: 1.05rem;
  line-height: 1;
  pointer-events: none;
}
.banco-search-input {
  padding-left: 2.35rem !important;
  min-height: 2.75rem;
}
.banco-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}
.banco-pill {
  position: relative;
  margin: 0;
  padding: 0.28rem 0.7rem;
  border: 1px solid #2a2a2a;
  background: #101010;
  font-size: 0.75rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  cursor: pointer;
}
.banco-pill input { position: absolute; opacity: 0; pointer-events: none; }
.banco-pill.is-on,
.banco-pill:has(input:checked) {
  border-color: var(--qa-accent);
  background: #1a0a0c;
  color: #fff;
}
.banco-grid {
  display: grid;
  grid-template-columns: minmax(140px, 1.35fr) minmax(160px, 1.55fr) minmax(110px, 1fr) minmax(72px, 0.55fr) minmax(110px, 1fr) minmax(120px, 1fr);
  gap: 0.7rem;
  align-items: end;
}
.banco-grid > div {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.banco-field-ano {
  max-width: 6.5rem;
}
.banco-grid .form-label {
  margin-bottom: 0.35rem;
}
.banco-grid .form-select,
.banco-grid .banco-dd-toggle,
.banco-grid .banco-mod-readonly {
  height: 2.375rem;
  min-height: 2.375rem;
  box-sizing: border-box;
}
.banco-mod-readonly {
  display: flex;
  align-items: center;
  color: #b8b8b8;
  cursor: default;
}
@media (max-width: 992px) {
  .banco-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .banco-field-ano { max-width: none; }
}
@media (max-width: 560px) {
  .banco-grid {
    grid-template-columns: 1fr;
  }
}
.banco-filtros-mid {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem 1rem;
  align-items: center;
  justify-content: space-between;
  margin-top: 0.9rem;
}
.banco-filtros-foot {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
  align-items: center;
  justify-content: space-between;
  margin-top: 0.95rem;
  padding-top: 0.85rem;
  border-top: 1px solid #222;
}
.banco-filtros-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  align-items: center;
}
.banco-chips { display: flex; flex-wrap: wrap; gap: 0.4rem; align-items: center; }
.banco-chip {
  display: inline-flex;
  align-items: center;
  padding: 0.2rem 0.55rem;
  border: 1px solid #333;
  background: #161616;
  color: #ddd;
  font-size: 0.78rem;
  text-decoration: none;
}
.banco-chip:hover { border-color: var(--qa-accent); color: #fff; }

.banco-dd {
  position: relative;
}
.banco-dd-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  width: 100%;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  text-align: left;
  line-height: 1.25;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}
.banco-dd-value {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #f2f2f2;
}
.banco-dd-caret {
  flex: 0 0 auto;
  width: 0.45rem;
  height: 0.45rem;
  border-right: 1.5px solid #9a9a9a;
  border-bottom: 1.5px solid #9a9a9a;
  transform: rotate(45deg);
  margin-top: -0.2rem;
  transition: transform 0.15s ease;
}
.banco-dd.is-open .banco-dd-caret {
  transform: rotate(-135deg);
  margin-top: 0.15rem;
}
.banco-dd-panel {
  position: absolute;
  z-index: 40;
  top: calc(100% + 0.3rem);
  left: 0;
  right: 0;
  min-width: min(100%, 22rem);
  width: max(100%, 18rem);
  max-width: min(28rem, 92vw);
  background: #0e0e0e;
  border: 1px solid #333;
  border-radius: var(--qa-radius);
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.55);
  overflow: hidden;
}
.banco-dd-search {
  padding: 0.55rem 0.6rem;
  border-bottom: 1px solid #222;
  background: #121212;
}
.banco-dd-list {
  max-height: 16rem;
  overflow: auto;
  padding: 0.35rem 0;
}
.banco-dd-group-title {
  padding: 0.45rem 0.75rem 0.2rem;
  font-family: var(--qa-font-display);
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #ffd0d3;
}
.banco-dd-item {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  width: 100%;
  margin: 0;
  padding: 0.42rem 0.75rem;
  border: 0;
  background: transparent;
  color: #e8e8e8;
  text-align: left;
  font-size: 0.88rem;
  line-height: 1.35;
  white-space: normal;
  word-break: break-word;
  cursor: pointer;
}
.banco-dd-item.is-all {
  color: #cfcfcf;
  border-bottom: 1px solid #222;
  margin-bottom: 0.2rem;
}
.banco-dd-check {
  flex: 0 0 auto;
  margin-top: 0.15rem;
  accent-color: var(--qa-accent);
}
.banco-dd-item > span {
  flex: 1 1 auto;
  min-width: 0;
}
.banco-dd-item:hover,
.banco-dd-item:focus-within {
  background: rgba(193, 18, 31, 0.14);
  outline: none;
}
.banco-dd-item.is-on {
  background: rgba(193, 18, 31, 0.22);
  color: #fff;
  box-shadow: inset 3px 0 0 var(--qa-accent);
}
.banco-dd-empty {
  padding: 0.65rem 0.75rem 0.85rem;
}
@media (max-width: 640px) {
  .banco-dd-panel {
    position: fixed;
    left: 0.75rem;
    right: 0.75rem;
    width: auto;
    max-width: none;
    top: auto;
  }
}
.banco-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
  align-items: center;
  justify-content: space-between;
  margin: 1rem 0 0.85rem;
}
.banco-found { color: #ddd; }
.banco-por {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0;
}
.banco-por-label {
  margin: 0;
  font-size: 0.78rem;
  color: #9a9a9a;
  white-space: nowrap;
}
.banco-por .form-select {
  width: auto;
  min-width: 4.5rem;
}
.banco-feed { display: grid; gap: 1.1rem; }
.panel.banco-card {
  padding: 0;
  overflow: hidden;
  scroll-margin-top: 5.5rem;
}
.banco-card.is-ok { border-color: #1f8a3b; }
.banco-card.is-hot { border-color: #7a0a12; }
.banco-card-head {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  align-items: center;
  padding: 0.55rem 1rem;
  background: #161616;
  border-bottom: 1px solid #2a2a2a;
}
.banco-card-num {
  font-weight: 700;
  min-width: 1.2rem;
  color: #f2f2f2;
}
.banco-card-code {
  color: #cfcfcf;
  font-size: 0.82rem;
}
.banco-tag {
  display: inline-flex;
  padding: 0.12rem 0.5rem;
  border: 1px solid #2a4a7a;
  background: #132238;
  color: #9ec4ff;
  font-size: 0.72rem;
}
.banco-tag.is-status-ok {
  border-color: rgba(31, 138, 59, 0.55);
  background: #0d1610;
  color: #7dff9a;
}
.banco-tag.is-status-bad {
  border-color: rgba(193, 18, 31, 0.55);
  background: #16080a;
  color: #ff8a90;
}
.banco-tag.is-status-done {
  border-color: rgba(193, 18, 31, 0.7);
  background: rgba(193, 18, 31, 0.18);
  color: #fff;
}
.banco-ja-resolvida {
  margin-bottom: 0.85rem;
  padding: 0.75rem 0.9rem;
}
.banco-ja-resolvida .motivation-banner {
  margin-bottom: 0 !important;
}
.banco-ja-resolvida .motivation-banner p {
  margin-bottom: 0;
}
.banco-card-body { padding: 1rem 1.1rem 1.15rem; }
.banco-card .q-fonte { margin-bottom: 0.85rem; }
.banco-card-meta {
  font-size: 0.78rem;
  color: #9a9a9a;
  margin-bottom: 0.7rem;
}
.banco-enunciado { margin-bottom: 0.95rem; }
.banco-feed .q-fonte-meta .banco-tag { margin: 0; }
.banco-alts { display: grid; gap: 0.45rem; }
.banco-feed .alt-option {
  transform: none;
  margin-bottom: 0;
}
.banco-feed .alt-option:hover { transform: none; }
.banco-feed .alt-option input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
  margin: 0;
}
.banco-feed .alt-option > strong {
  display: inline-flex;
  width: 1.85rem;
  height: 1.85rem;
  flex: 0 0 1.85rem;
  border-radius: 50%;
  border: 1.5px solid #5a5a5a;
  align-items: center;
  justify-content: center;
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1;
}
.banco-feed .alt-option:has(input:checked) > strong,
.banco-feed .alt-option.is-review.is-correct > strong {
  border-color: #2ecc71;
  background: #2ecc71;
  color: #111;
}
.banco-feed .alt-option:has(input:checked):not(.is-review) > strong {
  border-color: var(--qa-accent);
  background: var(--qa-accent);
  color: #fff;
}
.banco-feed .alt-option.is-review.is-wrong > strong {
  border-color: #e74c3c;
  background: #e74c3c;
  color: #fff;
}
.banco-responder {
  margin-top: 0.95rem;
  min-width: 10rem;
}
.banco-card .feedback-box {
  margin: 0.95rem 0 0;
  padding: 1rem 1.05rem 1.05rem;
}
.banco-pager {
  display: flex;
  gap: 0.45rem;
  align-items: center;
  justify-content: center;
  margin: 1rem 0 2rem;
}
.banco-page {
  min-width: 2.2rem;
  padding: 0.3rem 0.6rem;
  border: 1px solid #2a2a2a;
  background: #101010;
  color: #ddd;
  text-align: center;
  text-decoration: none;
  font-size: 0.85rem;
}
.banco-page.is-on { border-color: var(--qa-accent); color: #fff; }
@media (max-width: 767.98px) {
  .banco-card-body { padding: 0.85rem 0.85rem 1rem; }
  .banco-responder { width: 100%; }
}

/* Admin: matérias */
.admin-flow {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 0.3rem;
}
.admin-flow-step {
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  gap: 0.05rem;
  min-width: 0;
  min-height: 0;
  padding: 0.4rem 0.45rem;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-left: 2px solid rgba(255, 255, 255, 0.14);
  background: rgba(0, 0, 0, 0.38);
  color: #c8c8c8;
  text-decoration: none;
}
a.admin-flow-step:hover,
a.admin-flow-step:focus-visible {
  color: #fff;
  border-color: rgba(193, 18, 31, 0.45);
  background: rgba(193, 18, 31, 0.1);
}
.admin-flow-n {
  font-family: var(--qa-font-display);
  font-size: 0.58rem;
  letter-spacing: 0.1em;
  color: #ff6b73;
}
.admin-flow-label {
  font-family: var(--qa-font-display);
  font-size: 0.7rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #fff;
  line-height: 1.15;
}
.admin-flow-step small {
  color: #8f8f8f;
  font-size: 0.62rem;
  line-height: 1.25;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.admin-flow-step.is-done {
  border-left-color: rgba(61, 255, 122, 0.55);
}
.admin-flow-step.is-now {
  border-color: rgba(193, 18, 31, 0.45);
  border-left-color: var(--qa-accent);
  background:
    linear-gradient(90deg, rgba(193, 18, 31, 0.16), transparent 62%),
    rgba(0, 0, 0, 0.45);
  box-shadow: 0 0 16px rgba(193, 18, 31, 0.12);
}
.admin-import-tips {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.55rem;
  margin-bottom: 1.15rem;
}
.admin-import-tip {
  padding: 0.7rem 0.8rem;
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-left: 3px solid rgba(193, 18, 31, 0.55);
  background: rgba(0, 0, 0, 0.28);
}
.admin-import-tip span {
  display: block;
  font-family: var(--qa-font-display);
  font-size: 0.68rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #ff8a90;
  margin-bottom: 0.28rem;
}
.admin-import-tip p {
  margin: 0;
  font-size: 0.8rem;
  color: #b8b8b8;
  line-height: 1.4;
}
.admin-import-tip code {
  color: #f0b429;
  background: transparent;
  padding: 0;
}
.import-assunto-lista {
  max-height: 18rem;
  overflow: auto;
  border: 1px solid #333;
  border-radius: var(--qa-radius);
  background: #0a0a0a;
}
.import-assunto-item {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  margin: 0;
  padding: 0.65rem 0.85rem;
  border-bottom: 1px solid #222;
  cursor: pointer;
  color: #f2f2f2;
}
.import-assunto-item:last-child { border-bottom: 0; }
.import-assunto-item:hover,
.import-assunto-item:has(input:checked) {
  background: rgba(193, 18, 31, 0.12);
}
.import-assunto-item input {
  margin-top: 0.2rem;
  flex: 0 0 auto;
}
.import-assunto-texto {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  min-width: 0;
  white-space: normal;
  word-break: break-word;
  line-height: 1.35;
}
.import-assunto-texto strong {
  color: #ffd0d3;
  font-weight: 600;
}
.import-assunto-texto span {
  color: #e8e8e8;
}
.import-gabarito.is-ok,
select.import-gabarito {
  border-color: rgba(46, 204, 113, 0.65) !important;
  color: #7dffa8 !important;
  box-shadow: inset 0 0 0 1px rgba(46, 204, 113, 0.2);
}
.import-alt.is-ok .form-label {
  color: #7dffa8;
  font-weight: 600;
}
.import-alt.is-ok .form-control {
  border-color: rgba(46, 204, 113, 0.65) !important;
  color: #b8ffd0 !important;
  background: rgba(31, 138, 59, 0.18) !important;
  box-shadow: inset 3px 0 0 var(--qa-ok);
}
.admin-file-drop {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.18rem;
  min-height: 4.6rem;
  padding: 0.85rem 1rem;
  border: 1px dashed rgba(255, 255, 255, 0.16);
  background: #0c0c0c;
  cursor: pointer;
  margin: 0;
  overflow: hidden;
}
.admin-file-drop:hover,
.admin-file-drop:focus-within {
  border-color: rgba(193, 18, 31, 0.65);
  background: rgba(193, 18, 31, 0.06);
}
.admin-file-drop input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}
.admin-file-drop strong {
  font-size: 0.86rem;
  color: #fff;
}
.admin-file-drop span {
  font-size: 0.75rem;
  color: #8f8f8f;
}
.admin-import-text {
  min-height: 10.5rem;
}
.is-admin .admin-materia-import > h2:first-child {
  margin-bottom: 0.85rem;
}
.admin-materia-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.55rem 0.75rem;
  padding: 0.85rem 0.95rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.admin-materia-toolbar .form-control {
  flex: 1 1 12rem;
  min-width: 10rem;
}
.admin-materia-toolbar .form-label {
  margin-bottom: 0;
}
.admin-materia-form {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  align-items: center;
}
.admin-materia-form .form-control {
  flex: 1 1 12rem;
  min-width: 8rem;
}
.admin-materia-ativo {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin: 0;
  font-size: 0.78rem;
  white-space: nowrap;
  color: #c8c8c8;
}
@media (max-width: 991.98px) {
  .admin-import-tips {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 767.98px) {
  .admin-flow {
    flex-wrap: wrap;
  }
  .admin-flow-step {
    flex: 1 1 calc(33.333% - 0.3rem);
  }
  .admin-import-tips {
    grid-template-columns: 1fr;
  }
  .admin-flow-step small { white-space: normal; }
  .table-stack-mobile .admin-materia-toolbar {
    flex-direction: column;
    align-items: stretch;
  }
  .table-stack-mobile .admin-materia-form {
    flex-direction: column;
    align-items: stretch;
  }
}

/* Admin: prévia da importação */
.preview-wrap { padding-bottom: 5.5rem; }
.preview-savebar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem 1rem;
  margin-bottom: 1rem;
  padding: 0.85rem 0.95rem;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-left: 3px solid var(--qa-accent);
  background:
    linear-gradient(90deg, rgba(193, 18, 31, 0.14), transparent 48%),
    rgba(0, 0, 0, 0.45);
  position: sticky;
  top: 0.65rem;
  z-index: 20;
}
.preview-savebar-copy {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: min(100%, 14rem);
}
.preview-savebar-copy strong {
  font-family: var(--qa-font-display);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #fff;
  font-size: 0.92rem;
}
.preview-savebar-copy small { color: #9a9a9a; }
.preview-savebar-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}
.preview-list {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}
.preview-materia {
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-top: 3px solid rgba(193, 18, 31, 0.7);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.03), transparent 46%),
    #121212;
}
.preview-materia.is-dragging,
.preview-assunto.is-dragging {
  opacity: 0.45;
}
.preview-materia.is-dragover,
.preview-assunto.is-dragover {
  border-color: rgba(240, 180, 41, 0.7);
}
.preview-materia-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 0.65rem 0.85rem;
  padding: 0.85rem 0.95rem 0.75rem;
  background: #111;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.preview-materia-title {
  flex: 1 1 16rem;
  min-width: 12rem;
}
.preview-materia-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
}
.preview-handle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.6rem;
  min-height: 2.2rem;
  color: #8f8f8f;
  letter-spacing: -0.12em;
  cursor: grab;
  user-select: none;
  font-size: 0.95rem;
}
.preview-handle:active { cursor: grabbing; }
.preview-move {
  display: flex;
  flex-wrap: wrap;
  gap: 0.28rem;
}
.preview-assuntos {
  list-style: none;
  margin: 0;
  padding: 0.45rem 0.55rem 0.25rem;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}
.preview-assunto {
  display: grid;
  grid-template-columns: auto 4.6rem minmax(0, 1fr) minmax(8rem, 0.7fr) auto;
  gap: 0.4rem;
  align-items: center;
  padding: 0.4rem 0.45rem;
  border: 1px solid rgba(255, 255, 255, 0.06);
  background: rgba(0, 0, 0, 0.28);
}
.preview-assunto[data-level="1"] { margin-left: 1.15rem; width: calc(100% - 1.15rem); }
.preview-assunto[data-level="2"] { margin-left: 2.2rem; width: calc(100% - 2.2rem); }
.preview-assunto[data-level="3"] { margin-left: 3.2rem; width: calc(100% - 3.2rem); }
.preview-codigo {
  font-family: var(--qa-font-display);
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  text-align: center;
  color: #f0b429 !important;
}
.preview-assunto-flag {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 0;
}
.preview-hint {
  color: #8f8f8f;
  font-size: 0.68rem;
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.preview-materia-foot {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  padding: 0.55rem 0.95rem 0.85rem;
}
@media (max-width: 767.98px) {
  .preview-savebar { position: static; }
  .preview-assunto {
    grid-template-columns: auto 4.2rem 1fr;
  }
  .preview-assunto[data-level="1"] { margin-left: 0.7rem; width: calc(100% - 0.7rem); }
  .preview-assunto[data-level="2"] { margin-left: 1.2rem; width: calc(100% - 1.2rem); }
  .preview-assunto[data-level="3"] { margin-left: 1.6rem; width: calc(100% - 1.6rem); }
  .preview-assunto .preview-assunto-flag,
  .preview-assunto .preview-move {
    grid-column: 1 / -1;
  }
  .preview-hint { white-space: normal; }
}

/* Configura��es admin � comunica��es / se��es */
.config-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 0.75rem;
  margin: 0 0 1.25rem;
  padding: 0.65rem 0.85rem;
  background: #101010;
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-left: 3px solid var(--qa-accent);
}
.config-nav a {
  font-family: var(--qa-font-display);
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #b8b8b8;
}
.config-nav a:hover { color: #ff8a90; }
.config-section {
  margin-bottom: 1.75rem;
  scroll-margin-top: 1rem;
}
.config-section-head {
  margin-bottom: 0.9rem;
}
.config-section-head .h5 {
  font-family: var(--qa-font-display);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #f2f2f2;
}
.config-panel {
  height: 100%;
}
.config-pill {
  display: inline-block;
  margin-left: 0.35rem;
  padding: 0.15rem 0.45rem;
  font-family: var(--qa-font-display);
  font-size: 0.65rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  border: 1px solid transparent;
}
.config-pill-ok {
  color: #3ecf6a;
  border-color: rgba(62, 207, 106, 0.35);
  background: rgba(62, 207, 106, 0.08);
}
.config-pill-warn {
  color: #ffb020;
  border-color: rgba(255, 176, 32, 0.35);
  background: rgba(255, 176, 32, 0.08);
}

.config-auto-table {
  --bs-table-bg: transparent;
  --bs-table-color: #d8d8d8;
  color: #d8d8d8;
  border-color: rgba(255, 255, 255, 0.08);
}
.config-auto-table th {
  font-family: var(--qa-font-display);
  font-size: 0.68rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #ff8a90;
  border-color: rgba(255, 255, 255, 0.08);
  white-space: nowrap;
}
.config-auto-table td {
  border-color: rgba(255, 255, 255, 0.06);
  vertical-align: top;
}
.config-auto-table .form-check-input {
  width: 1.1rem;
  height: 1.1rem;
  margin: 0;
  background-color: #0c0c0c;
  border-color: rgba(255, 255, 255, 0.25);
}
.config-auto-table .form-check-input:checked {
  background-color: var(--qa-accent);
  border-color: var(--qa-accent);
}

.config-mail-previa-modal {
  background: #121212;
  color: #f2f2f2;
  border: 1px solid rgba(255, 255, 255, 0.12);
}
.config-mail-previa-frame {
  display: block;
  width: 100%;
  min-height: min(70vh, 640px);
  border: 0;
  background: #0a0a0a;
}

.config-weekdays {
  display: flex;
  flex-wrap: wrap;
  gap: 0.28rem;
}
.config-weekday {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.15rem;
  height: 1.9rem;
  margin: 0;
  padding: 0 0.35rem;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: #0c0c0c;
  color: #9a9a9a;
  font-family: var(--qa-font-display);
  font-size: 0.62rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  cursor: pointer;
  user-select: none;
}
.config-weekday input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  cursor: pointer;
  z-index: 2;
}
.config-weekday span {
  position: relative;
  z-index: 1;
  pointer-events: none;
}
.config-weekday.is-on,
.config-weekday:has(input:checked) {
  color: #fff;
  border-color: var(--qa-accent);
  background: rgba(193, 18, 31, 0.32);
  box-shadow: inset 0 0 0 1px rgba(193, 18, 31, 0.4);
}

.privacy-layout {
  display: grid;
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
}
.privacy-nav {
  position: sticky;
  top: 1rem;
  background: var(--qa-card);
  border: 1px solid var(--qa-line);
  border-left: 3px solid var(--qa-accent);
  border-radius: var(--qa-radius);
  padding: 1rem 0.85rem;
}
.privacy-nav .mission-kicker {
  margin: 0 0.65rem 0.65rem;
}
.privacy-nav a {
  display: block;
  color: #d0d0d0;
  text-decoration: none;
  font-size: 0.92rem;
  line-height: 1.35;
  padding: 0.45rem 0.65rem;
  border-radius: 2px;
}
.privacy-nav a:hover,
.privacy-nav a:focus-visible {
  color: #fff;
  background: rgba(193, 18, 31, 0.22);
}
.privacy-doc section {
  scroll-margin-top: 1rem;
  padding-top: 0.35rem;
}
.privacy-doc section + section {
  margin-top: 1.35rem;
  padding-top: 1.15rem;
  border-top: 1px solid var(--qa-line);
}
.privacy-doc h2 {
  font-family: var(--qa-font-display);
  font-size: 1.15rem;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  margin: 0 0 0.65rem;
}
.privacy-doc p,
.privacy-doc li {
  color: #d7d7d7;
}
.privacy-doc ul {
  margin-bottom: 0.75rem;
  padding-left: 1.15rem;
}
.privacy-note {
  margin-bottom: 0;
  color: var(--qa-muted) !important;
  font-size: 0.92rem;
}
@media (max-width: 860px) {
  .privacy-layout {
    grid-template-columns: 1fr;
  }
  .privacy-nav {
    position: static;
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    padding: 0.85rem;
  }
  .privacy-nav .mission-kicker {
    flex: 1 0 100%;
    margin: 0 0 0.25rem;
  }
  .privacy-nav a {
    border: 1px solid var(--qa-line);
    padding: 0.35rem 0.55rem;
    font-size: 0.82rem;
  }
}

.prof-foto {
  object-fit: cover;
  padding: 0;
}

.concurso-choose-grid.is-wrap {
  flex-wrap: wrap;
}

.concurso-choose-grid.is-wrap .concurso-choose-card {
  flex: 0 1 auto;
  width: max-content;
  max-width: 100%;
}

.prof-choose-card {
  flex-direction: row !important;
  align-items: center;
  gap: 0.85rem;
  width: max-content;
  max-width: 100%;
}

.prof-choose-foto {
  width: 96px;
  height: 96px;
  flex: 0 0 96px;
  border-radius: 4px;
  object-fit: cover;
  display: block;
  border: 2px solid rgba(193, 18, 31, 0.55);
}

.prof-choose-foto.is-fallback {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #1a1a1a;
  color: #fff;
  font-family: var(--qa-font-display);
  font-size: 1.6rem;
  letter-spacing: 0.04em;
}

.prof-choose-card .concurso-choose-body {
  flex: 0 1 auto;
  width: auto;
}

.prof-choose-card .concurso-choose-stats {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  margin: 0.45rem 0 0;
}

.prof-choose-card .concurso-choose-stats span:nth-child(n) {
  grid-column: auto;
}

.prof-choose-head {
  display: flex;
  align-items: center;
  gap: 0.55rem;
}

.prof-wa-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  flex: 0 0 2rem;
  border-radius: 50%;
  color: #25d366;
  border: 1px solid rgba(37, 211, 102, 0.45);
  background: rgba(37, 211, 102, 0.12);
  transition: background 0.15s, border-color 0.15s;
}

.prof-wa-btn:hover {
  color: #25d366;
  background: rgba(37, 211, 102, 0.22);
  border-color: #25d366;
}

.prof-wa-btn .icon-wa {
  width: 1.05rem;
  height: 1.05rem;
}
