/* Recurso V5 — conserva o laudo por quesito e muda apenas sua linguagem visual. */
html.esp-recurso-v5 {
  --v5-canvas: #f5f5f2;
  --v5-paper: #fffdf8;
  --v5-ink: #171820;
  --v5-ink-2: #363947;
  --v5-muted: #667189;
  --v5-soft: #7d8494;
  --v5-line: #d9dde7;
  --v5-line-soft: #e7e8ed;
  --v5-indigo: #5c69d8;
  --v5-indigo-dark: #3e49b8;
  --v5-indigo-pale: #eceefe;
  --v5-coral: #f45d37;
  --v5-coral-dark: #c84225;
  --v5-coral-pale: #ffe8df;
  --v5-lime: #a5d93f;
  --v5-green: #167a52;
  --v5-green-pale: #e2f3e9;
  --v5-red: #b43145;
  color: var(--v5-ink);
  background: var(--v5-canvas);
}

html.esp-recurso-v5 body {
  min-width: 0;
  color: var(--v5-ink);
  background: var(--v5-canvas);
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
}

html.esp-recurso-v5 main,
html.esp-recurso-v5 .final-cta {
  width: 100%;
  min-height: 100vh;
  padding: 0;
  background: var(--v5-canvas);
}

html.esp-recurso-v5 .esp-root {
  width: min(1020px, 100%);
  margin: 0 auto;
  padding: 52px 28px 80px;
  color: var(--v5-ink);
}

html.esp-recurso-v5 .esp-intro-card {
  position: relative;
  display: block;
  margin: 0 0 18px;
  padding: 36px 40px 34px;
  overflow: hidden;
  border: 1px solid #efb5a5;
  border-radius: 20px;
  background: var(--v5-coral-pale);
  box-shadow: none;
}
html.esp-recurso-v5 .esp-intro-card::before {
  content: "";
  position: absolute;
  top: -1px;
  right: 30px;
  left: 30px;
  height: 4px;
  background: var(--v5-coral);
}
html.esp-recurso-v5 .esp-intro-card::after {
  content: "";
  position: absolute;
  top: -106px;
  right: -74px;
  width: 250px;
  height: 250px;
  border: 1px solid rgba(196,66,37,.24);
  border-radius: 50%;
  pointer-events: none;
}
html.esp-recurso-v5 .esp-app-intro { position: relative; z-index: 1; max-width: 770px; }
html.esp-recurso-v5 .esp-intro-img { display: none; }
html.esp-recurso-v5 .esp-full-kicker,
html.esp-recurso-v5 .esp-label,
html.esp-recurso-v5 .esp-result-done,
html.esp-recurso-v5 .esp-recurso-table-head {
  color: var(--v5-coral-dark);
  font: 600 10px/1.35 "IBM Plex Mono", monospace;
  letter-spacing: .12em;
  text-transform: uppercase;
}
html.esp-recurso-v5 .esp-full-title {
  max-width: 22ch;
  margin: 10px 0 10px;
  color: #281711;
  font: 650 clamp(32px,4.2vw,48px)/1.01 Inter, sans-serif;
  letter-spacing: -.06em;
}
html.esp-recurso-v5 .esp-app-intro > p:not(.esp-full-kicker):not(.esp-urgencia-hoje) {
  max-width: 77ch;
  margin: 0;
  color: #6e3f32;
  font: 400 13px/1.58 Inter, sans-serif;
}
html.esp-recurso-v5 .plan-recurso-selo {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  margin-top: 17px;
  padding: 0 11px;
  color: var(--v5-green);
  border: 1px solid #badfc9;
  border-radius: 999px;
  background: var(--v5-green-pale);
  font: 650 11px/1 Inter, sans-serif;
}

html.esp-recurso-v5 .esp-wrap {
  position: relative;
  padding: 30px;
  overflow: hidden;
  border: 1px solid var(--v5-line);
  border-radius: 20px;
  background: var(--v5-paper);
  box-shadow: 0 16px 40px rgba(23,24,32,.045);
}
html.esp-recurso-v5 .esp-wrap::before {
  content: "";
  position: absolute;
  top: -1px;
  right: 24px;
  left: 24px;
  height: 3px;
  background: var(--v5-indigo);
}

html.esp-recurso-v5 .esp-mode-switch {
  display: flex;
  width: 100%;
  margin: 0 0 24px;
  gap: 24px;
  border: 0;
  border-bottom: 1px solid var(--v5-line);
  border-radius: 0;
  background: transparent;
}
html.esp-recurso-v5 .esp-mode-switch .esp-tg {
  position: relative;
  min-width: 0;
  min-height: 46px;
  padding: 0 2px;
  color: var(--v5-muted);
  border: 0;
  border-radius: 0;
  background: transparent;
  font: 600 12px/1 Inter, sans-serif;
}
html.esp-recurso-v5 .esp-mode-switch .esp-tg::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 3px;
  background: transparent;
}
html.esp-recurso-v5 .esp-mode-switch .esp-tg.on { color: var(--v5-indigo-dark); background: transparent; box-shadow: none; }
html.esp-recurso-v5 .esp-mode-switch .esp-tg.on::after { background: var(--v5-indigo); }

html.esp-recurso-v5 .esp-label { margin: 23px 0 9px; color: var(--v5-indigo-dark); }
html.esp-recurso-v5 .esp-label:first-child { margin-top: 0; }
html.esp-recurso-v5 .esp-req-badge {
  padding: 4px 7px;
  color: var(--v5-coral-dark);
  border-radius: 999px;
  background: var(--v5-coral-pale);
  font: 650 9px/1 Inter, sans-serif;
  letter-spacing: .04em;
}

html.esp-recurso-v5 .esp-espbox,
html.esp-recurso-v5 .esp-espbox-required {
  padding: 18px;
  color: var(--v5-ink);
  border: 1px solid #efb5a5;
  border-left: 4px solid var(--v5-coral);
  border-radius: 12px;
  background: #fff8f3;
}
html.esp-recurso-v5 .esp-espbox-required .esp-espttl,
html.esp-recurso-v5 .esp-espttl { color: var(--v5-ink) !important; font: 650 13px/1.35 Inter, sans-serif; }
html.esp-recurso-v5 .esp-espsub { max-width: 76ch; margin-top: 5px; color: var(--v5-muted); font: 400 12px/1.5 Inter, sans-serif; }

html.esp-recurso-v5 .esp-drop {
  min-height: 56px;
  color: var(--v5-ink);
  border: 1px dashed #aeb5c5;
  border-radius: 10px;
  background: #fffefa;
  font: 650 12px/1.3 Inter, sans-serif;
}
html.esp-recurso-v5 .esp-drop:hover { color: var(--v5-indigo-dark); border-color: var(--v5-indigo); background: var(--v5-indigo-pale); }

html.esp-recurso-v5 .esp-select,
html.esp-recurso-v5 .esp-ta {
  min-height: 50px;
  padding: 0 14px;
  color: var(--v5-ink);
  border: 1px solid var(--v5-line);
  border-radius: 10px;
  background: #fffefa;
  font: 500 14px/1.45 Inter, sans-serif;
}
html.esp-recurso-v5 .esp-ta { min-height: 132px; padding-top: 13px; padding-bottom: 13px; }
html.esp-recurso-v5 .esp-select:focus,
html.esp-recurso-v5 .esp-ta:focus { border-color: var(--v5-indigo); box-shadow: 0 0 0 3px rgba(92,105,216,.12); }

html.esp-recurso-v5 .esp-full-head { align-items: center; margin: 20px 0 10px; }
html.esp-recurso-v5 .esp-step-count {
  color: var(--v5-muted);
  border: 1px solid var(--v5-line);
  background: var(--v5-paper);
  font: 600 10px/1 Inter, sans-serif;
}
html.esp-recurso-v5 .esp-step-tabs { gap: 8px; margin: 0 0 14px; }
html.esp-recurso-v5 .esp-step-tab {
  min-width: 104px;
  min-height: 60px;
  padding: 10px 12px;
  color: var(--v5-muted);
  border: 1px solid var(--v5-line);
  border-radius: 10px;
  background: #fffefa;
  box-shadow: none;
}
html.esp-recurso-v5 .esp-step-tab.on { color: var(--v5-indigo-dark); border-color: var(--v5-indigo); background: var(--v5-indigo-pale); box-shadow: none; }
html.esp-recurso-v5 .esp-step-tab.filled:not(.on) { color: var(--v5-green); border-color: #badfc9; background: var(--v5-green-pale); }
html.esp-recurso-v5 .esp-step-tab span { color: currentColor; font: 650 12px/1.2 Inter, sans-serif; }
html.esp-recurso-v5 .esp-step-tab small { color: currentColor; font: 400 12px/1.2 Inter, sans-serif; }

html.esp-recurso-v5 .esp-full-card {
  padding: 19px;
  border: 1px solid var(--v5-line);
  border-radius: 14px;
  background: #fffefa;
}
html.esp-recurso-v5 .esp-toggle { border-color: var(--v5-line); border-radius: 10px; background: #f7f7f4; }
html.esp-recurso-v5 .esp-toggle .esp-tg {
  min-height: 44px;
  color: var(--v5-muted);
  border-radius: 8px;
  font: 600 11px/1.25 Inter, sans-serif;
}
html.esp-recurso-v5 .esp-toggle .esp-tg.on { color: #fff; background: var(--v5-ink); box-shadow: none; }
html.esp-recurso-v5 .esp-branco { min-height: 44px; color: var(--v5-muted); font: 500 12px/1.4 Inter, sans-serif; }
html.esp-recurso-v5 .esp-branco input { width: 18px; height: 18px; accent-color: var(--v5-indigo); }
html.esp-recurso-v5 .esp-enunciado-details { margin-top: 10px; border-top: 1px solid var(--v5-line); }
html.esp-recurso-v5 .esp-enunciado-details summary { min-height: 44px; color: var(--v5-indigo-dark); font: 600 12px/1 Inter, sans-serif; }

html.esp-recurso-v5 .esp-btn {
  display: flex;
  width: 100%;
  min-height: 52px;
  align-items: center;
  justify-content: space-between;
  margin-top: 22px;
  padding: 0 18px;
  color: #fff;
  border: 0;
  border-radius: 12px;
  background: var(--v5-ink);
  font: 650 12px/1 Inter, sans-serif;
  box-shadow: none;
}
html.esp-recurso-v5 .esp-btn::after { content: "→"; font-size: 15px; font-weight: 400; }
html.esp-recurso-v5 .esp-btn:not(:disabled):hover { background: #292b35; transform: none; box-shadow: none; }
html.esp-recurso-v5 .esp-btn:disabled { color: #7a7d85; background: #d8d9d7; box-shadow: none; }
html.esp-recurso-v5 .esp-falta { color: var(--v5-muted); font: 500 12px/1.45 Inter, sans-serif; }
html.esp-recurso-v5 .esp-disc,
html.esp-recurso-v5 .esp-recurso-bottom-link { color: var(--v5-muted); border-color: var(--v5-line); font: 400 12px/1.55 Inter, sans-serif; }
html.esp-recurso-v5 .esp-recurso-bottom-link a { color: var(--v5-indigo-dark); }

html.esp-recurso-v5 .esp-load {
  min-height: 120px;
  margin-top: 18px;
  padding: 24px;
  color: var(--v5-muted);
  border: 1px solid var(--v5-line);
  border-radius: 14px;
  background: var(--v5-paper);
  font: 500 12px/1.4 Inter, sans-serif;
}
html.esp-recurso-v5 .esp-spin { border-color: var(--v5-line); border-top-color: var(--v5-coral); }
html.esp-recurso-v5 .esp-err,
html.esp-recurso-v5 .esp-recurso-warn { color: var(--v5-red); border-color: #ecc9cf; border-radius: 10px; background: #fff2f3; }

/* Resultado: a estrutura por quesito continua expansível; a cor explica a decisão. */
html.esp-recurso-v5 .esp-res { color: var(--v5-ink); font-family: Inter, sans-serif; }
html.esp-recurso-v5 .esp-recurso-veredito-card {
  padding: 22px;
  border: 1px solid var(--v5-line);
  border-radius: 14px;
  background: var(--v5-paper);
}
html.esp-recurso-v5 .esp-recurso-veredito-card.sim { border-color: #badfc9; background: var(--v5-green-pale); }
html.esp-recurso-v5 .esp-recurso-veredito-card.talvez { border-color: #efb5a5; background: var(--v5-coral-pale); }
html.esp-recurso-v5 .esp-recurso-veredito-nota strong { color: var(--v5-ink); }
html.esp-recurso-v5 .esp-recurso-veredito-potencial strong { color: var(--v5-green); }
html.esp-recurso-v5 .esp-recurso-veredito-potencial.incerto strong { color: var(--v5-coral-dark); }
html.esp-recurso-v5 .esp-recurso-table { border-color: var(--v5-line); border-radius: 12px; }
html.esp-recurso-v5 .esp-recurso-table-head { color: var(--v5-soft); border-color: var(--v5-line); background: #f7f7f4; }
html.esp-recurso-v5 .esp-recurso-quesito { border-color: var(--v5-line-soft); }
html.esp-recurso-v5 .esp-recurso-quesito summary { min-height: 50px; }
html.esp-recurso-v5 .esp-recurso-quesito.contestavel-sim summary { background: var(--v5-green-pale); }
html.esp-recurso-v5 .esp-recurso-quesito.contestavel-talvez summary { background: var(--v5-coral-pale); }
html.esp-recurso-v5 .esp-recurso-quesito.contestavel-nao summary { background: #f7f7f4; }
html.esp-recurso-v5 .esp-recurso-quesito-detail { border-color: var(--v5-line); background: var(--v5-paper); }
html.esp-recurso-v5 .esp-recurso-quesito-detail em { color: var(--v5-coral-dark); background: var(--v5-coral-pale); }
html.esp-recurso-v5 .esp-recurso-nao-recorrer { border-color: var(--v5-line); border-radius: 12px; background: #f7f7f4; }
html.esp-recurso-v5 .esp-paywall-recurso { border-top-color: var(--v5-coral) !important; }

html.esp-recurso-v5 :is(a,button,input,select,textarea,summary):focus-visible {
  outline: 2px solid var(--v5-indigo);
  outline-offset: 2px;
}

@media (max-width: 720px) {
  html.esp-recurso-v5 .esp-root { padding: 16px 12px 48px; }
  html.esp-recurso-v5 .esp-intro-card { margin-bottom: 10px; padding: 28px 20px 25px; border-radius: 18px; }
  html.esp-recurso-v5 .esp-full-title { max-width: none; font-size: 31px; }
  html.esp-recurso-v5 .esp-app-intro > p:not(.esp-full-kicker):not(.esp-urgencia-hoje) { display: block; font-size: 12px; }
  html.esp-recurso-v5 .esp-wrap { padding: 22px 16px 20px; border-radius: 18px; }
  html.esp-recurso-v5 .esp-mode-switch { gap: 20px; }
  html.esp-recurso-v5 .esp-espbox,
  html.esp-recurso-v5 .esp-espbox-required { padding: 15px 13px; }
  html.esp-recurso-v5 .esp-step-tabs { padding-bottom: 4px; overflow-x: auto; scroll-snap-type: x proximity; }
  html.esp-recurso-v5 .esp-step-tab { min-width: 94px; scroll-snap-align: start; }
  html.esp-recurso-v5 .esp-full-card { padding: 15px 12px; }
  html.esp-recurso-v5 .esp-toggle { display: grid; grid-template-columns: 1fr 1fr; }
  html.esp-recurso-v5 .esp-btn { min-height: 52px; }
}

@media (max-width: 360px) {
  html.esp-recurso-v5 .esp-root { padding-right: 8px; padding-left: 8px; }
  html.esp-recurso-v5 .esp-intro-card { padding-right: 16px; padding-left: 16px; }
  html.esp-recurso-v5 .esp-wrap { padding-right: 12px; padding-left: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  html.esp-recurso-v5 *,
  html.esp-recurso-v5 *::before,
  html.esp-recurso-v5 *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
