/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[6].rules[0].oneOf[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[6].rules[0].oneOf[0].use[2]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[6].rules[1].use[0]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[6].rules[1].use[1]!./src/styles.scss?ngGlobalStyle ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
@import url(https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap);
/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[6].rules[0].oneOf[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[6].rules[0].oneOf[0].use[2]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[6].rules[1].use[0]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[6].rules[1].use[1]!./src/styles.scss?ngGlobalStyle (1) ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/* -------------------- */
/* 1) TOKENS INVARIÁVEIS (marca, opacidades, escala) */
/* -------------------- */
:root {
  /* Marca */
  --primary-blue: #0071F5;
  --secondary-blue: #2AA6FF;
  --tertiary-blue: #2aa6ff38;
  --quaternary-blue: #3757BA;
  --primary-yellow: #FDC22A;
  --secondary-yellow: #FEF9C2;
  --primary-red: #FF4E79;
  --dark-red: #e53935;
  --primary-green: #2F887C;
  --secondary-green: #2BAB5A;
  --tertiary-green: #DBFBE7;
  --quaternary-green: #267142;
  --primary-purple: #5d5fef;
  --secondary-purple: #F2E7FF;
  --tertiary-purple: #8141B6;
  /* Opacidades */
  --primary-blue-20-opacity: #E5F4FF81;
  --primary-blue-50-opacity: #0071f530;
  --primary-red-05-opacity: #FF4E7905;
  --primary-red-20-opacity: #FF4E7920;
  --primary-red-80-opacity: #FF4E7980;
  --primary-purple-20-opacity: #5d5fef20;
  --primary-yellow-20-opacity: #FDC22A20;
  --primary-green-20-opacity: #2F887C20;
  --primary-green-80-opacity: #2F887C80;
  --secondary-blue-20-opacity: #2AA6FF20;
  /* Escala de cinzas */
  --grey-10: #FFFFFF;
  --grey-20: #F8F9FA;
  --grey-30: #E9ECEF;
  --grey-40: #CED4DA;
  --grey-50: #ADB5BD;
  --grey-60: #868E96;
  --grey-70: #495057;
  --grey-80: #343A40;
  --grey-90: #18181B;
  --grey-100: #121212;
  --box-shadow: 0 4px 4px #DDDDDD71;
  --primary-gradient: linear-gradient(90deg, var(--primary-blue), var(--secondary-blue));
  /* -------------------- */
  /* 2) VARIÁVEIS SEMÂNTICAS (LIGHT = default) */
  /* -------------------- */
  --bg: var(--grey-10);
  /* fundo da página */
  --bg-card: var(--grey-20);
  /* cor de superfícies (compatível com vários componentes) */
  --background-color: var(--bg-card);
  /* cartões/superfícies elevadas */
  --bg-modal: var(--grey-10);
  --bg-transparent: #ffffff9e;
  --text: var(--grey-80);
  --text-muted: var(--grey-70);
  --heading: var(--grey-80);
  --link: var(--primary-blue);
  --border: var(--grey-30);
  --hover: var(--grey-30);
  --focus-outline: var(--secondary-blue);
  --auth-focus-ring: 0 0 0 .18rem rgba(0, 113, 245, 0.12);
  --auth-panel-shadow: 0 1rem 2.4rem rgba(0, 0, 0, 0.06);
  --auth-page-card-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.05);
  --auth-primary-gradient: var(--primary-gradient);
  --auth-hero-bg: radial-gradient(circle at 55% 35%, #0071f50e, #ffffff 60%);
  --auth-hero-bg-alt: radial-gradient(circle at 50% 30%, #12397d 0%, #09152c 68%, #07101f 100%);
  --auth-hero-overlay: linear-gradient(180deg, rgba(5, 17, 40, 0.2) 0%, rgba(5, 17, 40, 0.72) 100%);
  --auth-hero-title: var(--primary-blue);
  --auth-hero-heading: var(--text-muted);
  --auth-hero-text: #c6d2eb;
  --auth-hero-text-soft: #aab3c5;
  --auth-hero-surface-bg: #7ebaff24;
  --auth-hero-surface-border: var(--secondary-blue);
  --auth-hero-surface-strong-border: rgba(255, 255, 255, 0.12);
  --auth-hero-surface-hover-bg: rgba(77, 163, 255, 0.05);
  --auth-hero-surface-hover-border: rgba(77, 163, 255, 0.4);
  --auth-hero-surface-hover-shadow: 0 10px 30px rgba(0, 113, 245, 0.2);
  --auth-hero-glow: radial-gradient(circle, rgba(0, 113, 245, 0.25), transparent 70%);
  --auth-side-nav-bg: linear-gradient(180deg, var(--primary-blue-20-opacity), rgba(42, 166, 255, 0.06));
  --auth-side-nav-bg-child: linear-gradient(180deg, rgba(0, 113, 245, 0.08), rgba(33, 201, 167, 0.08));
  --auth-icon-soft-bg: rgba(0, 113, 245, 0.08);
  --auth-info-border: rgba(0, 113, 245, 0.15);
  --auth-info-border-soft: rgba(0, 113, 245, 0.14);
  --auth-danger-soft-border: rgba(220, 38, 38, 0.2);
  --auth-danger-soft-bg: rgba(220, 38, 38, 0.08);
  --auth-danger-soft-text: #dc2626;
  --auth-video-bg: #000;
  --auth-ready-bg: radial-gradient(circle at top, rgba(0, 113, 245, 0.08), transparent 45%), var(--bg);
  /* Compatibilidade geral */
  color-scheme: light dark;
}

/* -------------------- */
/* 3) OVERRIDES DO TEMA ESCURO */
/* -------------------- */
.dark-mode {
  --bg: #090F1D;
  --bg-card: #1f2937;
  --bg-modal: #0e172c;
  --bg-transparent: #2e3b6299;
  --text: var(--grey-20);
  --text-muted: var(--grey-40);
  --heading: var(--grey-20);
  --border: #162330;
  --hover: rgba(255, 255, 255, 0.08);
  --box-shadow: 0 4px 4px #0071f510;
  --link: var(--grey-10);
  --primary-blue-20-opacity: #0071f530;
  --auth-hero-bg: radial-gradient(circle at 55% 35%, #0f1b3d, #090f1d 60%);
  --auth-hero-title: var(--grey-10);
  --auth-hero-heading: #eaf2ff;
  --auth-focus-ring: 0 0 0 .18rem rgba(42, 166, 255, 0.22);
  --auth-panel-shadow: 0 1rem 2.4rem rgba(0, 0, 0, 0.24);
  --auth-page-card-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.2);
  --auth-side-nav-bg: linear-gradient(180deg, rgba(0, 113, 245, 0.18), rgba(42, 166, 255, 0.08));
  --auth-side-nav-bg-child: linear-gradient(180deg, rgba(0, 113, 245, 0.18), rgba(33, 201, 167, 0.1));
  --auth-icon-soft-bg: rgba(0, 113, 245, 0.14);
  --auth-ready-bg: radial-gradient(circle at top, rgba(0, 113, 245, 0.18), transparent 45%), var(--bg);
  --auth-hero-surface-bg: rgba(255, 255, 255, 0.06);
  --auth-hero-surface-border: rgba(255, 255, 255, 0.08);
  --auth-hero-surface-strong-border: rgba(255, 255, 255, 0.12);
  --auth-hero-surface-hover-bg: rgba(77, 163, 255, 0.05);
  --auth-hero-surface-hover-border: rgba(77, 163, 255, 0.4);
  --auth-hero-surface-hover-shadow: 0 10px 30px rgba(0, 113, 245, 0.2);
}

/* -------------------- */
/* 4) REGRAS GLOBAIS    */
/* -------------------- */
* {
  box-sizing: border-box;
  font-family: "Inter", sans-serif;
  scroll-behavior: smooth;
  outline: 0;
}

html {
  font-size: 10px !important;
  min-height: unset !important;
  min-width: unset !important;
}

body {
  margin: 0;
  padding: 0;
  min-height: unset !important;
  min-width: unset !important;
  background-color: var(--bg) !important;
  color: var(--text);
}

a {
  text-decoration: none;
  cursor: pointer;
  color: var(--text);
}

button {
  cursor: pointer;
}

button.call-to-action-button {
  background-color: var(--secondary-blue);
  border-radius: 1.2rem;
  border: none;
  color: var(--grey-10);
  font-weight: 500;
  padding: 1.2rem 1.8rem;
}

/* Utilitários */
.body-no-scroll {
  overflow: hidden !important;
}

/* -------------------- */
/* 5) PADRÕES DE COMPONENTES (consumindo APENAS variáveis semânticas) */
/* -------------------- */
/* Links “voltar” */
.go-back-button a {
  display: flex;
  align-items: center;
  color: var(--link);
}
.go-back-button a nb-icon {
  width: 2.4rem;
}
.go-back-button a p {
  font-size: 2rem;
  font-weight: 600;
}

/* Loader */
.spinner {
  background: var(--bg-transparent);
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.loader {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: inline-block;
  border-top: 3px solid var(--primary-blue);
  border-right: 3px solid transparent;
  animation: rotation 1s linear infinite;
  position: absolute;
  top: 50%;
  left: 50%;
}

/* Toggles GenIQ */
.gq-toggle {
  --w: 44px;
  --h: 24px;
  --t: 18px;
  --tx: 20px;
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
  cursor: pointer;
  -webkit-user-select: none;
          user-select: none;
}
.gq-toggle.lg {
  --w: 56px;
  --h: 30px;
  --t: 24px;
  --tx: 26px;
}
.gq-toggle input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}
.gq-toggle .track {
  width: var(--w);
  height: var(--h);
  background: var(--border);
  border-radius: 999px;
  position: relative;
  transition: background 0.2s ease, box-shadow 0.2s ease;
  box-shadow: inset 0 0 0 1px var(--border);
}
.gq-toggle .thumb {
  position: absolute;
  top: 50%;
  left: 3px;
  transform: translateY(-50%);
  width: var(--t);
  height: var(--t);
  border-radius: 50%;
  background: var(--grey-10);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
  transition: transform 0.22s ease;
}
.gq-toggle input:checked + .track {
  background: var(--primary-blue);
  box-shadow: inset 0 0 0 1px var(--primary-blue);
}
.gq-toggle input:checked + .track .thumb {
  transform: translate(var(--tx), -50%);
}
.gq-toggle input:focus-visible + .track {
  outline: 3px solid var(--focus-outline);
  outline-offset: 2px;
}
.gq-toggle .label {
  font-size: 1.2rem;
  font-weight: 600;
  color: var(--text-muted);
}

/* Tabs */
.tabs-container {
  background-color: var(--bg);
  border: 1px solid var(--border);
  border-radius: 0.8rem;
  padding: 0.6rem;
  display: flex;
  width: 100%;
  margin-bottom: 2rem;
}
.tabs-container .tabs {
  display: flex;
  gap: 0.5rem;
  width: 100%;
}
.tabs-container .tabs .tab {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.6rem 1rem;
  width: 100%;
  font-weight: 500;
  background: transparent;
  border: none;
  border-radius: 6px;
  color: var(--text-muted);
  cursor: pointer;
  transition: background 0.2s ease;
}
.tabs-container .tabs .tab nb-icon {
  width: 1.6rem;
}
.tabs-container .tabs .tab:hover {
  background-color: var(--hover);
}
.tabs-container .tabs .tab.active {
  background-color: var(--primary-blue);
  color: var(--grey-10);
}

.is-invalid {
  border: 1px solid var(--primary-red) !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(229, 57, 53, 0.15);
}

.error-text {
  margin-top: 0.35rem;
  font-size: 1.1rem;
  color: var(--primary-red);
}

/* Animações */
@keyframes rotation {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@media print {
  html,
  body {
    height: auto !important;
    overflow: visible !important;
  }
  .sidebar,
  .toolbar,
  nav,
  aside,
  .question-wrapper {
    display: none !important;
  }
  .layout,
  .viewer,
  .viewer-content {
    height: auto !important;
    overflow: visible !important;
  }
  .viewer-content {
    position: static !important;
    width: 100%;
    padding: 0;
    background: var(--bg);
  }
  .paper-shell {
    display: block;
  }
  .paper {
    width: 80rem;
    min-height: 90rem;
    margin: 0 auto;
    box-shadow: none;
    border: none;
    page-break-after: always;
    break-after: page;
    transform: none !important;
  }
  .question-print {
    page-break-inside: avoid;
    break-inside: avoid;
    margin-bottom: 2.4rem;
    padding-bottom: 1.6rem;
    border-bottom: 1px solid var(--border);
    font-size: 1.4rem;
  }
  .paper:last-child {
    page-break-after: auto;
  }
}

/*# sourceMappingURL=styles.css.map*/