:root {
  --bg: #f1f3f7;
  --surface: #f8f9fb;
  --card: #ffffff;
  --ink: #17243b;
  --muted: #7890aa;
  --line: #dfe5ec;
  --line-strong: #cfd8e2;
  --purple: #4d1fb8;
  --purple-2: #6f3ff5;
  --purple-soft: #f1ecff;
  --orange: #ff6a00;
  --orange-soft: #fff0e5;
  --green: #0f8a4b;
  --green-2: #2cb36c;
  --green-soft: #e6f6ee;
  --blue-soft: #edf8fc;
  --blue-line: #b9e4f2;
  --danger: #b84d2b;
  --danger-soft: #fff1ec;
  --warning: #c06d00;
  --shadow: 0 18px 54px rgba(23, 36, 59, 0.09);
  --sidebar-width: 330px;
  --topbar-height: 82px;
  --footer-height: 80px;
  --service: var(--purple-2);
  --service-soft: var(--purple-soft);
}

body[data-service="creative"] {
  --service: var(--orange);
  --service-soft: var(--orange-soft);
}

body[data-service="spreadsheet"] {
  --service: var(--green);
  --service-soft: var(--green-soft);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: "Inter", Arial, sans-serif;
  color: var(--ink);
  background: var(--bg);
}
body.is-locked { overflow: hidden; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
[hidden] { display: none !important; }

.brand-area,
.top-actions,
.progress-copy,
.footer-actions,
.footer-status,
.review-actions,
.section-heading-row,
.report-brand-row {
  display: flex;
  align-items: center;
}

.brand-area { gap: 14px; }
.brand-mark,
.report-brand-mark {
  width: 48px;
  height: 48px;
  border-radius: 13px;
  display: grid;
  place-items: center;
  background: linear-gradient(145deg, var(--purple-2), var(--orange));
  color: #fff;
  font: 700 27px/1 "Poppins", sans-serif;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.18);
}
.eyebrow,
.section-eyebrow,
.hero-kicker,
.form-step {
  color: var(--muted);
  font-size: 11px;
  letter-spacing: 0.15em;
  font-weight: 700;
}
.eyebrow { margin-bottom: 4px; }

.icon-button,
.secondary-button,
.primary-button,
.ghost-button,
.danger-button {
  border-radius: 12px;
  border: 1px solid var(--line);
  min-height: 42px;
  padding: 0 16px;
  background: #fff;
  color: var(--ink);
  transition: 160ms ease;
}
.icon-button { width: 44px; padding: 0; font-size: 18px; }
.icon-button:hover,
.secondary-button:hover,
.ghost-button:hover { border-color: var(--service); color: var(--service); }
.primary-button {
  background: #173b5e;
  border-color: #173b5e;
  color: #fff;
  font-weight: 600;
  padding-inline: 22px;
}
.primary-button:hover { background: #0f2f4d; }
.ghost-button { border-color: transparent; background: transparent; color: #8ea0b2; }
.ghost-button:disabled { opacity: .35; cursor: default; }
.danger-button { color: var(--danger); background: var(--danger-soft); border-color: #ffd6c8; }

/* Capa */
.cover-view {
  min-height: 100vh;
  background:
    radial-gradient(circle at 8% 5%, rgba(111, 63, 245, .12), transparent 24%),
    radial-gradient(circle at 91% 12%, rgba(255, 106, 0, .1), transparent 23%),
    #f6f7fa;
}
.cover-header {
  height: 82px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 5vw;
  border-bottom: 1px solid rgba(207, 216, 226, .8);
  background: rgba(255, 255, 255, .72);
  backdrop-filter: blur(14px);
}
.cover-header-note { color: var(--muted); font-size: 13px; }
.cover-main { width: min(1180px, calc(100% - 48px)); margin: 0 auto; padding: 58px 0 70px; }
.cover-intro {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(480px, 1.08fr);
  gap: 64px;
  align-items: start;
}
.intro-copy { padding-top: 34px; }
.hero-kicker { display: inline-block; color: var(--purple-2); margin-bottom: 18px; }
.intro-copy h1 {
  max-width: 650px;
  margin: 0 0 20px;
  font: 700 clamp(38px, 5vw, 62px)/1.04 "Poppins", sans-serif;
  letter-spacing: -0.045em;
}
.intro-copy p {
  max-width: 620px;
  margin: 0;
  color: #61788f;
  font-size: 17px;
  line-height: 1.75;
}
.intro-highlights { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.intro-highlights span {
  padding: 8px 11px;
  border-radius: 999px;
  color: #506981;
  background: rgba(255, 255, 255, .76);
  border: 1px solid #e3e8ee;
  font-size: 12px;
  font-weight: 600;
}
.project-card {
  padding: 28px;
  border: 1px solid rgba(207, 216, 226, .85);
  border-radius: 24px;
  background: rgba(255, 255, 255, .94);
  box-shadow: var(--shadow);
}
.card-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 18px; margin-bottom: 24px; }
.card-heading h2 { margin: 6px 0 0; font: 700 24px/1.2 "Poppins", sans-serif; }
.form-step { color: var(--purple-2); }
.form-badge {
  padding: 7px 10px;
  border-radius: 999px;
  background: var(--purple-soft);
  color: var(--purple);
  font-size: 12px;
  font-weight: 700;
}
.field-label,
.service-fieldset legend {
  display: block;
  margin: 18px 0 8px;
  color: #314d68;
  font-size: 13px;
  font-weight: 700;
}
.field-label span,
.service-fieldset legend span { color: var(--orange); }
.text-field,
.textarea-field,
.select-field {
  width: 100%;
  border: 1px solid #d6dee7;
  border-radius: 12px;
  background: #fff;
  color: var(--ink);
  outline: none;
  transition: border-color 150ms ease, box-shadow 150ms ease;
}
.text-field,
.select-field { min-height: 48px; padding: 0 14px; }
.textarea-field { min-height: 150px; padding: 14px; resize: vertical; line-height: 1.55; }
.text-field:focus,
.textarea-field:focus,
.select-field:focus { border-color: var(--service); box-shadow: 0 0 0 3px color-mix(in srgb, var(--service) 12%, transparent); }
.field-help { margin: 7px 0 0; color: #92a2b2; font-size: 11px; line-height: 1.5; }
.service-fieldset { margin: 6px 0 0; padding: 0; border: 0; }
.service-grid { display: grid; gap: 10px; }
.service-card {
  position: relative;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 24px;
  gap: 13px;
  align-items: center;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: #fbfcfd;
  cursor: pointer;
  transition: 150ms ease;
}
.service-card:hover { transform: translateY(-1px); background: #fff; }
.service-card input { position: absolute; opacity: 0; pointer-events: none; }
.service-icon {
  width: 38px;
  height: 38px;
  border-radius: 11px;
  display: grid;
  place-items: center;
  background: #eef2f6;
  color: #6e8298;
  font: 700 12px/1 "Poppins", sans-serif;
}
.service-copy { display: grid; gap: 3px; }
.service-copy strong { font-size: 14px; }
.service-copy small { color: #8496a9; font-size: 11px; line-height: 1.45; }
.service-check {
  width: 23px;
  height: 23px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #e9eef3;
  color: transparent;
  font-size: 12px;
  font-weight: 700;
}
.service-card:has(input:checked) { background: #fff; box-shadow: 0 8px 22px rgba(23, 36, 59, .06); }
.service-site:has(input:checked) { border-color: #bdaeff; }
.service-site:has(input:checked) .service-icon,
.service-site:has(input:checked) .service-check { background: var(--purple-soft); color: var(--purple-2); }
.service-creative:has(input:checked) { border-color: #ffcaa8; }
.service-creative:has(input:checked) .service-icon,
.service-creative:has(input:checked) .service-check { background: var(--orange-soft); color: var(--orange); }
.service-spreadsheet:has(input:checked) { border-color: #a6dfc1; }
.service-spreadsheet:has(input:checked) .service-icon,
.service-spreadsheet:has(input:checked) .service-check { background: var(--green-soft); color: var(--green); }
.form-error { min-height: 18px; margin-top: 10px; color: var(--danger); font-size: 12px; }
.start-button { width: 100%; min-height: 50px; margin-top: 8px; }
.saved-section { margin-top: 78px; }
.section-heading-row { justify-content: space-between; gap: 18px; margin-bottom: 18px; }
.section-heading-row h2 { margin: 6px 0 0; font: 700 24px/1.2 "Poppins", sans-serif; }
.saved-count { color: var(--muted); font-size: 12px; }
.saved-projects-list { display: grid; gap: 12px; }
.saved-empty {
  padding: 26px;
  border: 1px dashed #cad4de;
  border-radius: 18px;
  background: rgba(255, 255, 255, .56);
  color: #8193a5;
  text-align: center;
  font-size: 13px;
}
.saved-project {
  display: grid;
  grid-template-columns: 7px minmax(0, 1.4fr) minmax(180px, .7fr) minmax(180px, .7fr) auto;
  gap: 18px;
  align-items: center;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: rgba(255, 255, 255, .9);
}
.saved-accent { align-self: stretch; border-radius: 999px; background: var(--purple-2); }
.saved-project[data-type="creative"] .saved-accent { background: var(--orange); }
.saved-project[data-type="spreadsheet"] .saved-accent { background: var(--green); }
.saved-project-name { display: grid; gap: 4px; min-width: 0; }
.saved-project-name strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 14px; }
.saved-project-name span,
.saved-meta span { color: #8a9caf; font-size: 11px; }
.saved-meta { display: grid; gap: 3px; }
.saved-meta strong { color: #425f7a; font-size: 12px; }
.saved-actions { display: flex; gap: 8px; }
.saved-actions button { min-height: 38px; padding-inline: 12px; font-size: 12px; }

/* Checklist */
.app-shell { min-height: 100vh; }
.topbar {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 20;
  height: var(--topbar-height);
  display: grid;
  grid-template-columns: minmax(330px, 1fr) minmax(340px, 560px) minmax(280px, 1fr);
  gap: 28px;
  align-items: center;
  padding: 0 28px;
  background: rgba(255, 255, 255, 0.97);
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(12px);
}
.briefing-brand { min-width: 0; }
.project-identity { display: grid; min-width: 0; }
#headerProjectLabel { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-family: "Poppins", sans-serif; font-size: 15px; }
#headerClientLabel { margin-top: 1px; color: var(--muted); font-size: 11px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.progress-area { width: 100%; }
.progress-copy { justify-content: space-between; margin-bottom: 9px; font-size: 13px; }
.progress-copy span { color: #93a4b6; }
.progress-copy b { color: var(--ink); }
.progress-track { width: 100%; height: 7px; border-radius: 999px; overflow: hidden; background: #e8edf2; }
.progress-fill { height: 100%; width: 0; border-radius: inherit; background: var(--service); transition: width 220ms ease; }
.top-actions { justify-content: flex-end; gap: 10px; }

.sidebar {
  position: fixed;
  left: 0;
  top: var(--topbar-height);
  bottom: var(--footer-height);
  z-index: 10;
  width: var(--sidebar-width);
  overflow-y: auto;
  background: #fbfcfd;
  border-right: 1px solid var(--line);
  padding: 20px 16px 34px;
}
.sidebar-project-card {
  display: grid;
  gap: 4px;
  margin: 0 0 24px;
  padding: 15px;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: #fff;
}
.sidebar-service { color: var(--service); font-size: 10px; font-weight: 800; letter-spacing: .1em; }
.sidebar-project-card strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; }
.sidebar-project-card small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--muted); font-size: 11px; }
.sidebar-block + .sidebar-block { margin-top: 28px; }
.sidebar-title { margin: 0 8px 12px; font-size: 11px; letter-spacing: .09em; font-weight: 700; color: #7b8fa4; }
.section-list { display: grid; gap: 8px; }
.section-item {
  width: 100%;
  border: 1px solid transparent;
  border-radius: 14px;
  padding: 11px 10px;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  background: transparent;
  color: #294868;
  text-align: left;
}
.section-item:hover { background: #f3f6f9; }
.section-item.active { background: #fff; border-color: color-mix(in srgb, var(--service) 30%, #dfe5ec); box-shadow: 0 6px 18px rgba(23, 36, 59, .05); }
.section-number {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  border: 3px solid #e1e7ed;
  color: #244464;
  background: #fff;
  font-weight: 700;
  font-size: 13px;
}
.section-item.complete .section-number { border-color: var(--green-2); color: var(--green); }
.section-label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; }
.section-count { padding: 4px 8px; border-radius: 999px; background: #eef2f6; color: #8495a8; font-size: 11px; font-weight: 700; }
.section-item.complete .section-count { background: var(--green-soft); color: var(--green); }

.content { min-height: 100vh; padding: calc(var(--topbar-height) + 34px) 34px calc(var(--footer-height) + 38px) calc(var(--sidebar-width) + 34px); }
.content-inner { max-width: 920px; margin: 0 auto; }
.section-kicker { color: var(--service); font-size: 11px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; margin-bottom: 10px; }
.content h1 { margin: 0 0 20px; font: 700 32px/1.15 "Poppins", sans-serif; letter-spacing: -0.025em; }
.deliverable { margin-bottom: 22px; padding: 16px 18px; border: 1px solid var(--blue-line); border-left: 4px solid #49bce8; border-radius: 14px; background: var(--blue-soft); color: #5a7795; font-size: 14px; line-height: 1.5; }
.deliverable strong { color: var(--ink); }
.questions-stack { display: grid; gap: 16px; }
.question-card { background: rgba(255, 255, 255, .84); border: 1px solid var(--line); border-radius: 17px; padding: 18px; transition: 160ms ease; }
.question-card.answered { border-color: #b7dfca; background: #fbfffd; }
.question-heading { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; gap: 12px; align-items: center; }
.question-index { width: 32px; height: 32px; border-radius: 9px; display: grid; place-items: center; background: #eef2f6; color: #45637f; font-weight: 700; font-size: 12px; }
.question-card.answered .question-index { background: var(--green-soft); color: var(--green); }
.question-title { margin: 0; font-size: 15px; line-height: 1.4; }
.required-mark { color: var(--orange); margin-left: 3px; }
.status-pill { padding: 6px 10px; border-radius: 999px; background: #f0f3f6; color: #8798aa; font-size: 11px; font-weight: 700; white-space: nowrap; }
.question-card.answered .status-pill { background: var(--green-soft); color: var(--green); }
.question-hint { margin: 10px 0 12px 46px; padding: 9px 11px; border-radius: 9px; background: #eff8fc; color: #64829e; font-size: 11px; line-height: 1.45; }
.question-field { margin: 12px 0 0 46px; }
.doubt-row { margin: 12px 0 0 46px; color: #95a5b5; font-size: 11px; }
.doubt-row label { display: inline-flex; align-items: center; gap: 7px; cursor: pointer; }
.doubt-row input { accent-color: var(--service); }
.bottom-bar {
  position: fixed;
  inset: auto 0 0 0;
  z-index: 25;
  min-height: var(--footer-height);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 22px;
  padding: 14px 28px;
  border-top: 1px solid var(--line);
  background: rgba(255, 255, 255, .98);
  backdrop-filter: blur(12px);
}
.footer-status { color: #8fa0b2; font-size: 12px; }
.footer-status .separator { margin: 0 5px; }
#pendingFooter { color: var(--warning); }
.footer-actions { gap: 10px; }

/* Revisão */
.review-view { min-height: 100vh; background: #eef1f5; }
.review-topbar {
  position: sticky;
  top: 0;
  z-index: 20;
  min-height: 76px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  padding: 12px 5vw;
  border-bottom: 1px solid var(--line);
  background: rgba(255, 255, 255, .96);
  backdrop-filter: blur(12px);
}
.review-actions { gap: 10px; }
.review-content { width: min(980px, calc(100% - 40px)); margin: 0 auto; padding: 38px 0 70px; }
.report-document { display: grid; gap: 18px; }
.report-cover-page,
.report-section { border: 1px solid #dfe5ec; border-radius: 22px; background: #fff; box-shadow: 0 12px 35px rgba(23, 36, 59, .05); }
.report-cover-page { min-height: 540px; display: flex; flex-direction: column; padding: 42px; overflow: hidden; position: relative; }
.report-cover-page::after {
  content: "";
  position: absolute;
  width: 310px;
  height: 310px;
  right: -120px;
  top: -105px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--service) 10%, transparent);
}
.report-brand-row { gap: 13px; position: relative; z-index: 1; }
.report-brand-mark { width: 42px; height: 42px; border-radius: 12px; font-size: 23px; }
.report-brand-row > div:last-child { display: grid; gap: 2px; }
.report-brand-row span { color: #8a9bad; font-size: 10px; font-weight: 700; letter-spacing: .12em; }
.report-brand-row strong { font: 600 12px/1.2 "Poppins", sans-serif; letter-spacing: .06em; }
.report-cover-body { margin: auto 0 38px; max-width: 760px; position: relative; z-index: 1; }
.report-service-pill { display: inline-block; margin-bottom: 15px; padding: 7px 11px; border-radius: 999px; background: var(--service-soft); color: var(--service); font-size: 11px; font-weight: 800; letter-spacing: .08em; }
.report-cover-body h1 { margin: 0 0 14px; font: 700 42px/1.08 "Poppins", sans-serif; letter-spacing: -0.035em; }
.report-cover-body p { max-width: 690px; margin: 0; color: #6c8297; line-height: 1.7; }
.report-meta-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; border: 1px solid var(--line); border-radius: 14px; overflow: hidden; background: var(--line); position: relative; z-index: 1; }
.report-meta-grid > div { display: grid; gap: 5px; padding: 14px; background: #fff; }
.report-meta-grid span { color: #92a1b1; font-size: 10px; text-transform: uppercase; letter-spacing: .08em; font-weight: 700; }
.report-meta-grid strong { font-size: 12px; }
.report-progress-summary { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 14px; position: relative; z-index: 1; }
.report-progress-summary > div { display: flex; align-items: baseline; gap: 7px; padding: 11px 13px; border-radius: 12px; background: #f6f8fa; }
.report-progress-summary strong { font: 700 18px/1 "Poppins", sans-serif; }
.report-progress-summary span { color: #8395a7; font-size: 10px; }
.report-sections { display: grid; gap: 18px; }
.report-section { padding: 30px 34px; }
.report-section-head { display: flex; justify-content: space-between; gap: 20px; padding-bottom: 16px; border-bottom: 1px solid #e8edf2; }
.report-section-head span { color: var(--service); font-size: 10px; font-weight: 800; letter-spacing: .1em; }
.report-section-head h2 { margin: 5px 0 0; font: 700 22px/1.2 "Poppins", sans-serif; }
.report-section-count { align-self: center; padding: 6px 9px; border-radius: 999px; background: #f0f3f6; color: #75899d; font-size: 10px; font-weight: 700; }
.report-qa-list { display: grid; }
.report-qa { padding: 16px 0; border-bottom: 1px solid #edf0f3; break-inside: avoid; }
.report-qa:last-child { border-bottom: 0; }
.report-question { display: flex; gap: 6px; align-items: flex-start; color: #2d4965; font-size: 12px; font-weight: 700; line-height: 1.45; }
.report-answer { margin-top: 6px; color: #5d758c; font-size: 12px; line-height: 1.6; white-space: pre-wrap; }
.report-answer.empty { color: #a0adba; font-style: italic; }
.report-doubt { display: inline-block; margin-top: 7px; padding: 4px 7px; border-radius: 7px; background: #fff4df; color: #9c6200; font-size: 9px; font-weight: 800; }

.toast {
  position: fixed;
  left: 50%;
  bottom: 98px;
  z-index: 100;
  transform: translate(-50%, 18px);
  opacity: 0;
  pointer-events: none;
  padding: 11px 15px;
  border-radius: 12px;
  background: #17243b;
  color: #fff;
  box-shadow: 0 10px 28px rgba(23, 36, 59, .2);
  font-size: 12px;
  transition: 180ms ease;
}
.toast.show { opacity: 1; transform: translate(-50%, 0); }

@media (max-width: 1050px) {
  :root { --sidebar-width: 280px; }
  .cover-intro { grid-template-columns: 1fr; gap: 34px; }
  .intro-copy { padding-top: 0; }
  .topbar { grid-template-columns: minmax(260px, 1fr) minmax(260px, 420px) auto; gap: 16px; padding-inline: 18px; }
  .top-actions .secondary-button { display: none; }
  .saved-project { grid-template-columns: 7px minmax(0, 1fr) auto; }
  .saved-meta { display: none; }
}

@media (max-width: 760px) {
  :root { --topbar-height: 74px; --footer-height: 112px; }
  .cover-header { padding-inline: 20px; }
  .cover-header-note { display: none; }
  .cover-main { width: min(100% - 28px, 620px); padding-top: 34px; }
  .intro-copy h1 { font-size: 38px; }
  .intro-copy p { font-size: 15px; }
  .project-card { padding: 20px; border-radius: 19px; }
  .saved-project { grid-template-columns: 6px minmax(0, 1fr); gap: 12px; }
  .saved-actions { grid-column: 2; }
  .topbar { grid-template-columns: 1fr auto; height: var(--topbar-height); padding-inline: 12px; }
  .home-button, .progress-area { display: none; }
  .brand-mark { width: 42px; height: 42px; }
  .top-actions { gap: 6px; }
  .sidebar { position: fixed; top: var(--topbar-height); left: 0; right: 0; bottom: auto; width: auto; height: 64px; padding: 8px 12px; overflow-x: auto; overflow-y: hidden; border-right: 0; border-bottom: 1px solid var(--line); }
  .sidebar-project-card, .sidebar-title { display: none; }
  .section-list { display: flex; gap: 8px; width: max-content; }
  .section-item { width: auto; min-width: 72px; grid-template-columns: 30px auto; padding: 7px 8px; }
  .section-number { width: 28px; height: 28px; border-width: 2px; }
  .section-label { max-width: 130px; }
  .section-count { display: none; }
  .content { padding: calc(var(--topbar-height) + 90px) 14px calc(var(--footer-height) + 28px); }
  .content h1 { font-size: 27px; }
  .question-heading { grid-template-columns: 32px minmax(0, 1fr); }
  .status-pill { grid-column: 2; justify-self: start; }
  .question-hint, .question-field, .doubt-row { margin-left: 0; }
  .bottom-bar { min-height: var(--footer-height); flex-direction: column; align-items: stretch; gap: 8px; padding: 10px 12px; }
  .footer-status { justify-content: center; }
  .footer-actions { justify-content: stretch; }
  .footer-actions button { flex: 1; padding-inline: 10px; }
  .review-topbar { padding: 10px 14px; }
  .review-topbar .brand-area > div:last-child { display: none; }
  .review-actions .secondary-button { display: none; }
  .review-content { width: min(100% - 20px, 720px); padding-top: 18px; }
  .report-cover-page, .report-section { border-radius: 16px; }
  .report-cover-page { min-height: auto; padding: 26px 22px; }
  .report-cover-body { margin: 58px 0 32px; }
  .report-cover-body h1 { font-size: 32px; }
  .report-meta-grid { grid-template-columns: 1fr 1fr; }
  .report-progress-summary { grid-template-columns: 1fr; }
  .report-section { padding: 24px 20px; }
}

@media print {
  @page { size: A4; margin: 14mm; }
  * { -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important; }
  body { background: #fff !important; }
  .screen-only,
  .cover-view,
  .briefing-view,
  .toast { display: none !important; }
  .review-view { display: block !important; background: #fff !important; }
  .review-content { width: auto !important; margin: 0 !important; padding: 0 !important; }
  .report-document { display: block !important; }
  .report-cover-page,
  .report-section { border: 0 !important; border-radius: 0 !important; box-shadow: none !important; }
  .report-cover-page { min-height: 255mm; padding: 7mm 3mm !important; page-break-after: always; }
  .report-cover-page::after { width: 90mm; height: 90mm; right: -40mm; top: -35mm; }
  .report-cover-body h1 { font-size: 34pt; }
  .report-meta-grid { margin-top: auto; }
  .report-section { padding: 0 2mm 6mm !important; break-before: page; page-break-before: always; }
  .report-section:first-child { break-before: auto; page-break-before: auto; }
  .report-section-head { padding-top: 2mm; }
  .report-qa { break-inside: avoid; page-break-inside: avoid; }
}

/* Versão 3 — capa simplificada, login e projetos salvos */
.cover-view,
.login-view {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 32px 20px;
  background: linear-gradient(135deg, #ff555e 0%, #d95a92 42%, #7a57ff 100%);
}

.home-main,
.login-main {
  width: 100%;
  display: grid;
  place-items: center;
}

.simple-cover-card,
.login-card {
  width: min(720px, 100%);
  text-align: center;
}

.simple-eyebrow {
  display: inline-block;
  margin-bottom: 10px;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .03em;
}

.simple-cover-card h1,
.login-card h1 {
  margin: 0 0 38px;
  color: #fff;
  font: 700 clamp(30px, 4vw, 46px)/1.15 "Poppins", sans-serif;
}

.login-card p {
  max-width: 520px;
  margin: -18px auto 28px;
  color: rgba(255, 255, 255, .86);
  line-height: 1.7;
}

.simple-label,
.simple-service-fieldset legend {
  display: block;
  margin: 0 0 12px;
  color: #fff;
  font: 600 18px/1.4 "Poppins", sans-serif;
}

.simple-label span,
.simple-service-fieldset legend span {
  color: #fff0b2;
}

.home-input {
  width: min(460px, 100%);
  margin: 0 auto;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, .92);
  text-align: center;
  box-shadow: 0 8px 22px rgba(23, 36, 59, .12);
}

.home-input::placeholder { color: #8b96a2; }

.link-toggle-button {
  margin: 14px auto 18px;
  border: 0;
  background: transparent;
  color: rgba(255, 255, 255, .92);
  font-size: 13px;
  text-decoration: underline;
}

.optional-project-field {
  margin: 0 0 18px;
}

.simple-service-fieldset {
  margin: 32px 0 0;
  padding: 0;
  border: 0;
}

.pill-services {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 16px;
}

.pill-service-option {
  position: relative;
}

.pill-service-option input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.pill-service-option span {
  min-width: 132px;
  min-height: 42px;
  padding: 0 18px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, .96);
  color: #2b2b2b;
  font-size: 14px;
  font-weight: 500;
  box-shadow: 0 8px 22px rgba(23, 36, 59, .1);
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, color .18s ease;
  cursor: pointer;
}

.pill-service-option span:hover {
  transform: translateY(-1px);
}

.pill-service-option input:checked + span {
  background: #173b5e;
  color: #fff;
  box-shadow: 0 12px 26px rgba(15, 47, 77, .3);
}

.home-form-error {
  min-height: 24px;
  margin-top: 14px;
  color: #fff4c4;
  font-size: 13px;
}

.home-start-button {
  width: min(400px, 100%);
  min-height: 54px;
  margin-top: 12px;
  border: 6px solid rgba(255, 255, 255, .82);
  border-radius: 0;
  background: #173b5e;
  box-shadow: 0 12px 30px rgba(23, 36, 59, .18);
}

.home-start-button:hover {
  background: #102f4d;
}

.cover-gear-button {
  position: fixed;
  right: 24px;
  bottom: 24px;
  width: 54px;
  height: 54px;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, .14);
  color: #fff;
  font-size: 28px;
  box-shadow: 0 12px 24px rgba(23, 36, 59, .14);
  backdrop-filter: blur(8px);
}

.cover-gear-button:hover {
  background: rgba(255, 255, 255, .22);
}

.login-card {
  width: min(440px, 100%);
  padding: 30px 28px;
  border-radius: 24px;
  background: rgba(255, 255, 255, .12);
  backdrop-filter: blur(16px);
  box-shadow: 0 20px 44px rgba(23, 36, 59, .18);
}

.login-card .field-label {
  margin: 0 0 8px;
  color: #fff;
  text-align: left;
}

.login-card .text-field {
  background: rgba(255, 255, 255, .94);
  border: 0;
  margin-bottom: 16px;
}

.login-card .form-error {
  min-height: 18px;
  color: #fff6c9;
  text-align: left;
}

.login-actions {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  margin-top: 6px;
}

.login-actions .secondary-button,
.login-actions .primary-button {
  flex: 1;
}

.projects-view {
  min-height: 100vh;
  background: #f4f6fa;
}

.projects-topbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  padding: 30px 5vw 22px;
  background: #fff;
  border-bottom: 1px solid var(--line);
}

.projects-topbar h1 {
  margin: 8px 0 0;
  font: 700 clamp(28px, 3.4vw, 38px)/1.1 "Poppins", sans-serif;
}

.projects-topbar-actions {
  display: flex;
  gap: 10px;
  align-items: center;
}

.projects-main {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
  padding: 30px 0 50px;
}

.projects-summary-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  margin-bottom: 18px;
}

.projects-summary-row p {
  margin: 0;
  color: #6d8196;
  font-size: 14px;
}

@media (max-width: 860px) {
  .simple-cover-card h1,
  .login-card h1 {
    margin-bottom: 30px;
    font-size: 34px;
  }

  .simple-label,
  .simple-service-fieldset legend {
    font-size: 17px;
  }

  .pill-service-option span {
    min-width: 150px;
  }

  .home-start-button {
    width: min(420px, 100%);
  }

  .projects-topbar,
  .projects-summary-row {
    flex-direction: column;
    align-items: flex-start;
  }

  .projects-topbar-actions {
    width: 100%;
  }

  .projects-topbar-actions button {
    flex: 1;
  }
}

@media (max-width: 640px) {
  .cover-view,
  .login-view {
    padding: 24px 16px 88px;
  }

  .home-input,
  .home-start-button,
  .login-card {
    width: 100%;
  }

  .pill-services {
    gap: 12px;
  }

  .pill-service-option {
    width: calc(50% - 6px);
  }

  .pill-service-option span {
    width: 100%;
    min-width: 0;
    font-size: 13px;
  }

  .login-card {
    padding: 24px 18px;
  }

  .login-actions {
    flex-direction: column;
  }
}

/* =========================================================
   V4 — Portal de acesso | identidade Bruna Guimarães
   ========================================================= */
:root {
  --brand-purple-deep: #4D1FB8;
  --brand-purple: #6F3FF5;
  --brand-purple-light: #A86CFF;
  --brand-orange: #FF6A00;
  --brand-orange-mid: #FF8C1A;
  --brand-orange-light: #FFB34D;
  --brand-green: #0F8A4B;
  --brand-green-mid: #2CB36C;
  --brand-ink: #1c1730;
  --brand-muted: #736d83;
  --brand-bg: #f7f5fb;
  --brand-line: #e8e2ef;
}

.access-view {
  position: relative;
  min-height: 100vh;
  overflow: hidden;
  background:
    linear-gradient(120deg, rgba(77,31,184,.05), transparent 38%),
    linear-gradient(300deg, rgba(255,106,0,.05), transparent 40%),
    var(--brand-bg);
}
.access-orb { position: fixed; border-radius: 50%; pointer-events: none; }
.access-orb-one { width: 440px; height: 440px; right: -180px; top: 90px; background: radial-gradient(circle at 35% 35%, rgba(168,108,255,.28), rgba(111,63,245,.07) 58%, transparent 72%); }
.access-orb-two { width: 380px; height: 380px; left: -175px; bottom: -130px; background: radial-gradient(circle at 60% 40%, rgba(255,179,77,.24), rgba(255,106,0,.06) 60%, transparent 72%); }

.access-header {
  position: relative; z-index: 2; min-height: 84px;
  display: flex; align-items: center; justify-content: space-between; gap: 28px;
  padding: 14px clamp(24px,5vw,76px);
  border-bottom: 1px solid rgba(232,226,239,.86);
  background: rgba(252,251,254,.84); backdrop-filter: blur(16px);
}
.access-brand,.portal-brand-button { display: inline-flex; align-items: center; gap: 12px; border: 0; background: transparent; color: var(--brand-ink); text-align: left; }
.access-brand img,.portal-brand-button img { width: 46px; height: 52px; object-fit: contain; }
.access-brand div,.portal-brand-button span { display: grid; gap: 2px; }
.access-brand strong,.portal-brand-button strong { font: 700 14px/1.1 "Poppins",sans-serif; letter-spacing: .08em; }
.access-brand span,.portal-brand-button small { color: #8a8396; font-size: 11px; }
.access-header-note { color: #8a8396; font-size: 12px; }

.access-main {
  position: relative; z-index: 1;
  width: min(1240px,calc(100% - 48px)); margin: 0 auto;
  padding: clamp(50px,7vh,84px) 0 54px;
  display: grid; grid-template-columns: minmax(0,.94fr) minmax(500px,1.06fr);
  gap: clamp(50px,7vw,96px); align-items: center;
}
.access-copy { padding: 12px 0; }
.access-kicker,.projects-kicker,.panel-eyebrow { color: var(--brand-purple); font-size: 11px; font-weight: 800; letter-spacing: .16em; }
.access-copy h1 { max-width: 650px; margin: 16px 0 22px; color: var(--brand-ink); font: 700 clamp(42px,5vw,67px)/1.02 "Poppins",sans-serif; letter-spacing: -.047em; }
.access-copy>p { max-width: 620px; margin: 0; color: #706a7e; font-size: 16px; line-height: 1.75; }
.access-points { display: grid; gap: 13px; margin-top: 34px; max-width: 620px; }
.access-points>div { display: grid; grid-template-columns: 42px 1fr; gap: 13px; align-items: center; }
.access-points>div>span { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 11px; background: #fff; border: 1px solid var(--brand-line); color: var(--brand-purple); font: 700 11px/1 "Poppins",sans-serif; box-shadow: 0 7px 18px rgba(55,33,89,.05); }
.access-points p { margin: 0; color: #7f798b; font-size: 12px; line-height: 1.45; }
.access-points strong { display: block; margin-bottom: 2px; color: #373042; font-size: 13px; }

.access-panel { border: 1px solid rgba(226,218,235,.95); border-radius: 28px; background: rgba(255,255,255,.92); box-shadow: 0 28px 72px rgba(65,39,99,.12); overflow: hidden; backdrop-filter: blur(14px); }
.access-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; padding: 8px; background: #f3f0f7; border-bottom: 1px solid var(--brand-line); }
.access-tab { min-height: 48px; border: 0; border-radius: 15px; background: transparent; color: #7b7488; font-size: 13px; font-weight: 700; }
.access-tab.active { background: #fff; color: var(--brand-purple-deep); box-shadow: 0 5px 18px rgba(60,35,96,.08); }
.access-form { padding: 30px 32px 28px; }
.form-title-row { display: flex; justify-content: space-between; align-items: flex-start; gap: 18px; margin-bottom: 24px; }
.form-title-row h2 { margin: 7px 0 0; color: var(--brand-ink); font: 700 25px/1.18 "Poppins",sans-serif; letter-spacing: -.025em; }
.panel-step { min-width: 44px; height: 44px; display: grid; place-items: center; border-radius: 14px; background: linear-gradient(145deg,var(--brand-purple-deep),var(--brand-purple)); color: #fff; font: 700 12px/1 "Poppins",sans-serif; box-shadow: 0 10px 24px rgba(111,63,245,.22); }
.track-intro { margin: -8px 0 22px; color: #81798d; font-size: 13px; line-height: 1.55; }
.form-grid.two-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
.form-field { margin-bottom: 16px; }
.form-field label,.access-service-fieldset legend { display: block; margin: 0 0 7px; color: #4a4257; font-size: 12px; font-weight: 700; }
.form-field label span,.access-service-fieldset legend span { color: var(--brand-orange); }
.access-form .text-field { min-height: 48px; border-color: #ddd6e5; border-radius: 12px; background: #fcfbfd; }
.access-form .text-field:focus { border-color: var(--brand-purple); box-shadow: 0 0 0 3px rgba(111,63,245,.09); }

.access-service-fieldset { margin: 5px 0 0; padding: 0; border: 0; }
.access-service-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.access-service-option { position: relative; min-height: 72px; display: grid; grid-template-columns: 38px 1fr 22px; align-items: center; gap: 10px; padding: 12px; border: 1px solid #e2dce8; border-radius: 16px; background: #fbfafc; cursor: pointer; transition: .16s ease; }
.access-service-option:hover { transform: translateY(-1px); background: #fff; box-shadow: 0 8px 22px rgba(51,32,78,.06); }
.access-service-option input { position: absolute; opacity: 0; pointer-events: none; }
.service-symbol { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 11px; background: #eee9f7; color: var(--brand-purple); font-size: 16px; }
.access-service-option>span:nth-of-type(2) { display: grid; gap: 2px; }
.access-service-option strong { color: #352d41; font-size: 12px; }
.access-service-option small { color: #90889b; font-size: 10px; }
.access-service-option i { width: 20px; height: 20px; display: grid; place-items: center; border-radius: 50%; background: #ece8f0; color: transparent; font-size: 10px; font-style: normal; font-weight: 800; }
.access-service-option:has(input:checked) { border-color: #bba6f9; background: #f9f6ff; box-shadow: 0 8px 22px rgba(111,63,245,.08); }
.access-service-option:has(input:checked) i { background: var(--brand-purple); color: #fff; }
.service-creative-option:has(input:checked) { border-color: #ffc398; background: #fff8f2; }
.service-creative-option:has(input:checked) .service-symbol { background: #fff0e4; color: var(--brand-orange); }
.service-creative-option:has(input:checked) i { background: var(--brand-orange); }
.service-spreadsheet-option:has(input:checked) { border-color: #9bd9b8; background: #f4fcf8; }
.service-spreadsheet-option:has(input:checked) .service-symbol { background: #e7f6ee; color: var(--brand-green); }
.service-spreadsheet-option:has(input:checked) i { background: var(--brand-green); }

.brand-primary-button { min-height: 52px; border: 0; border-radius: 13px; display: inline-flex; align-items: center; justify-content: center; gap: 12px; background: linear-gradient(100deg,var(--brand-purple-deep),var(--brand-purple)); color: #fff; font-weight: 700; box-shadow: 0 13px 28px rgba(88,42,199,.22); transition: .16s ease; }
.brand-primary-button:hover { transform: translateY(-1px); box-shadow: 0 16px 32px rgba(88,42,199,.28); }
.access-submit { width: 100%; margin-top: 4px; }
.access-form .form-error { min-height: 18px; margin: 8px 0 0; color: #b54225; }
.form-privacy-note { margin: 12px 0 0; color: #aaa2b2; text-align: center; font-size: 10px; }
.access-footer { position: relative; z-index: 1; display: flex; justify-content: space-between; gap: 20px; padding: 22px clamp(24px,5vw,76px); color: #9b93a6; font-size: 10px; letter-spacing: .06em; }
.access-footer span:first-child { color: #756d80; font-weight: 800; }

/* Área de projetos */
.projects-view { min-height: 100vh; background: var(--brand-bg); }
.portal-topbar { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 26px; padding: 12px clamp(22px,4.5vw,66px); border-bottom: 1px solid var(--brand-line); background: rgba(255,255,255,.95); backdrop-filter: blur(12px); }
.portal-user-area { display: flex; align-items: center; gap: 12px; }
.session-role-badge { padding: 6px 9px; border-radius: 999px; background: #eee8ff; color: var(--brand-purple-deep); font-size: 9px; font-weight: 800; letter-spacing: .11em; }
.session-role-badge.admin { background: #fff0e5; color: #d95800; }
.session-user-copy { min-width: 150px; display: grid; gap: 2px; }
.session-user-copy strong { font-size: 12px; }
.session-user-copy small { color: #938a9f; font-size: 10px; }
.projects-main { width: min(1120px,calc(100% - 42px)); margin: 0 auto; padding: 48px 0 70px; }
.projects-hero { display: flex; justify-content: space-between; align-items: flex-end; gap: 30px; margin-bottom: 26px; }
.projects-hero h1 { margin: 9px 0 8px; color: var(--brand-ink); font: 700 clamp(31px,4vw,44px)/1.1 "Poppins",sans-serif; letter-spacing: -.035em; }
.projects-hero p { max-width: 650px; margin: 0; color: #80788c; font-size: 13px; line-height: 1.6; }
.projects-count-card { min-width: 110px; padding: 15px 18px; border: 1px solid var(--brand-line); border-radius: 17px; display: grid; text-align: right; background: #fff; box-shadow: 0 10px 28px rgba(53,32,78,.05); }
.projects-count-card strong { color: var(--brand-purple-deep); font: 700 25px/1 "Poppins",sans-serif; }
.projects-count-card span { margin-top: 4px; color: #948b9e; font-size: 10px; }
.saved-projects-list { display: grid; gap: 12px; }
.saved-project { grid-template-columns: 6px minmax(0,1.35fr) minmax(150px,.62fr) minmax(150px,.62fr) auto; border-color: var(--brand-line); border-radius: 18px; box-shadow: 0 8px 24px rgba(53,32,78,.035); }
.saved-contact-line { margin-top: 4px; color: #968da0; font-size: 10px; }
.saved-status-pill { width: fit-content; padding: 5px 8px; border-radius: 999px; background: #f0ecf5; color: #7b7087; font-size: 9px; font-weight: 700; }
.saved-status-pill.complete { background: #e8f7ef; color: var(--brand-green); }

/* Logo nos ambientes internos */
.brand-logo-shell { width: 45px; height: 48px; display: grid; place-items: center; flex: 0 0 auto; }
.brand-logo-shell img { width: 38px; height: 44px; object-fit: contain; }
.report-logo-image { width: 54px; height: 62px; object-fit: contain; }
.report-brand-row { gap: 14px; }
.report-meta-grid { grid-template-columns: repeat(3,1fr); }
#sidebarContact { color: #9a8fa3; }

@media (max-width:1040px) {
  .access-main { grid-template-columns: 1fr; max-width: 760px; }
  .access-copy { text-align: center; }
  .access-copy>p,.access-points { margin-left: auto; margin-right: auto; }
  .access-points { text-align: left; }
  .access-header-note { display: none; }
}
@media (max-width:760px) {
  .access-header { padding-inline: 18px; }
  .access-main { width: min(100% - 28px,700px); padding-top: 36px; gap: 36px; }
  .access-copy h1 { font-size: 40px; }
  .access-form { padding: 25px 20px 22px; }
  .form-grid.two-columns,.access-service-grid { grid-template-columns: 1fr; }
  .projects-hero,.portal-topbar { flex-direction: column; align-items: flex-start; }
  .portal-user-area { width: 100%; flex-wrap: wrap; }
  .session-user-copy { flex: 1; }
  .saved-project { grid-template-columns: 6px 1fr; }
  .saved-project>.saved-meta,.saved-project>.saved-actions { grid-column: 2; }
  .saved-actions { flex-wrap: wrap; }
  .report-meta-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width:520px) {
  .access-brand strong { font-size: 12px; }
  .access-copy h1 { font-size: 34px; }
  .access-copy>p { font-size: 14px; }
  .access-panel { border-radius: 22px; }
  .form-title-row h2 { font-size: 21px; }
  .access-footer { flex-direction: column; text-align: center; }
  .report-meta-grid { grid-template-columns: 1fr; }
}

/* V5 — anexos, perguntas condicionais e condições comerciais */
.attachment-box {
  margin-top: 14px;
  padding: 14px;
  border: 1px dashed color-mix(in srgb, var(--service) 30%, #d7dfe7);
  border-radius: 13px;
  background: color-mix(in srgb, var(--service-soft) 42%, #ffffff);
}

.attachment-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.attachment-toolbar > div {
  display: grid;
  gap: 3px;
}

.attachment-toolbar strong {
  color: #314d68;
  font-size: 12px;
}

.attachment-toolbar small {
  color: #8396aa;
  font-size: 10px;
  line-height: 1.4;
}

.attachment-button {
  min-height: 38px;
  padding: 0 14px;
  border: 1px solid color-mix(in srgb, var(--service) 38%, #d6dee7);
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  color: var(--service);
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
  cursor: pointer;
  transition: 150ms ease;
}

.attachment-button:hover {
  border-color: var(--service);
  box-shadow: 0 6px 16px rgba(23, 36, 59, .06);
}

.attachment-list {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.attachment-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 34px;
  gap: 8px;
  align-items: center;
}

.attachment-name {
  min-width: 0;
  min-height: 38px;
  padding: 8px 10px;
  border: 1px solid #e1e6eb;
  border-radius: 10px;
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  background: #fff;
  color: #35536f;
  text-align: left;
}

.attachment-name > span:nth-child(2) {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 11px;
  font-weight: 600;
}

.attachment-name small {
  color: #91a0af;
  font-size: 9px;
  white-space: nowrap;
}

.attachment-file-icon {
  width: 24px;
  height: 24px;
  border-radius: 7px;
  display: grid;
  place-items: center;
  background: var(--service-soft);
  color: var(--service);
  font-size: 11px;
}

.attachment-remove {
  width: 34px;
  height: 34px;
  padding: 0;
  border: 1px solid #f0d8d1;
  border-radius: 9px;
  background: #fff7f4;
  color: #a84b35;
  font-size: 18px;
}

.attachment-empty {
  margin: 10px 0 0;
  color: #95a4b3;
  font-size: 10px;
}

.report-attachments {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  align-items: center;
  margin-top: 10px;
}

.report-attachments > span {
  color: #8699aa;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .08em;
}

.report-attachments button {
  padding: 6px 9px;
  border: 1px solid #dfe6ed;
  border-radius: 8px;
  background: #f8fafc;
  color: #48647e;
  font-size: 10px;
}

.report-attachments button small {
  margin-left: 5px;
  color: #91a0ae;
  font-size: 8px;
}

.report-terms-section {
  border-color: color-mix(in srgb, var(--service) 20%, #dfe5ec);
}

.terms-financial-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 20px 0 24px;
  padding: 16px;
  border-radius: 14px;
  background: #f7f9fb;
  border: 1px solid #e5eaf0;
}

.terms-financial-summary > div {
  display: grid;
  gap: 4px;
}

.terms-financial-summary span {
  color: #8798aa;
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.terms-financial-summary strong {
  color: #2e4964;
  font-size: 11px;
}

.project-terms-list {
  display: grid;
  gap: 14px;
}

.project-term {
  padding-bottom: 14px;
  border-bottom: 1px solid #edf0f3;
}

.project-term:last-child {
  border-bottom: 0;
}

.project-term h3 {
  margin: 0 0 6px;
  color: #294660;
  font: 700 12px/1.4 "Poppins", sans-serif;
}

.project-term p {
  margin: 0;
  color: #657b90;
  font-size: 10.5px;
  line-height: 1.65;
}

.terms-note {
  margin: 20px 0 0;
  padding: 12px 14px;
  border-left: 3px solid var(--service);
  background: var(--service-soft);
  color: #5d7388;
  font-size: 10px;
  line-height: 1.55;
}

@media (max-width: 680px) {
  .attachment-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .attachment-button {
    width: 100%;
  }

  .attachment-name {
    grid-template-columns: 24px minmax(0, 1fr);
  }

  .attachment-name small {
    grid-column: 2;
  }

  .terms-financial-summary {
    grid-template-columns: 1fr;
  }
}

@media print {
  .attachment-box {
    display: none !important;
  }

  .report-attachments button {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #4c6075 !important;
  }

  .report-attachments button::before {
    content: "• ";
  }

  .report-terms-section {
    break-before: page;
    page-break-before: always;
  }

  .terms-financial-summary,
  .terms-note {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
}

/* Versão 6 — ajustes visuais do briefing */
.portal-back-button {
  min-height: 42px;
  padding: 0 14px;
  border: 1px solid #d7dfee;
  border-radius: 999px;
  background: linear-gradient(180deg, #ffffff 0%, #f7f5ff 100%);
  color: #2d3551;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  box-shadow: 0 6px 18px rgba(77, 31, 184, .08);
}

.portal-back-button:hover {
  border-color: rgba(111, 63, 245, .4);
  color: var(--purple-2);
  transform: translateY(-1px);
}

.portal-back-arrow {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, rgba(111, 63, 245, .12), rgba(255, 106, 0, .12));
  color: var(--purple-2);
  font-size: 14px;
}

.topbar {
  grid-template-columns: minmax(330px, 1fr) minmax(340px, 520px) minmax(220px, .9fr);
  gap: 22px;
}

.progress-area {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  padding: 10px 14px;
  border: 1px solid #e7e4f3;
  border-radius: 18px;
  background: linear-gradient(180deg, #fff 0%, #fbfaff 100%);
}

.progress-badge {
  min-width: 76px;
  padding: 12px 10px;
  border-radius: 16px;
  text-align: center;
  background: linear-gradient(135deg, rgba(77, 31, 184, .08), rgba(255, 106, 0, .1));
  border: 1px solid rgba(111, 63, 245, .12);
}

.progress-badge strong {
  display: block;
  color: var(--ink);
  font: 700 24px/1 "Poppins", sans-serif;
}

.progress-badge span {
  display: block;
  margin-top: 4px;
  color: #7e8ca0;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.progress-details {
  min-width: 0;
}

.progress-copy {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 10px;
  margin-bottom: 8px;
}

.progress-copy strong {
  color: #263859;
  font-size: 14px;
}

.progress-copy span {
  color: #7f90a5;
  font-size: 12px;
}

.progress-track-alt {
  height: 10px;
  border-radius: 999px;
  background:
    linear-gradient(90deg, rgba(77, 31, 184, .08), rgba(255, 106, 0, .08)),
    #eef2f7;
  overflow: hidden;
}

.progress-fill {
  background: linear-gradient(90deg, var(--purple-2) 0%, var(--orange) 100%);
}

.sidebar {
  background:
    linear-gradient(180deg, #faf8ff 0%, #ffffff 26%, #fffaf7 100%);
  border-right: 1px solid #e5def7;
}

.sidebar-project-card {
  border: 1px solid #eadff9;
  background: linear-gradient(180deg, #ffffff 0%, #fcf8ff 100%);
  box-shadow: 0 10px 24px rgba(77, 31, 184, .05);
}

.sidebar-title {
  color: #7b6aa7;
}

.section-list {
  gap: 10px;
}

.section-item {
  position: relative;
  border: 1px solid #ebe7f4;
  border-left-width: 4px;
  border-radius: 16px;
  background: rgba(255, 255, 255, .78);
  box-shadow: 0 4px 14px rgba(23, 36, 59, .03);
}

.section-item:hover {
  background: #fff;
  border-color: #e1daf2;
}

.section-item:nth-child(4n+1) {
  border-left-color: rgba(111, 63, 245, .45);
  background: linear-gradient(90deg, rgba(111, 63, 245, .06), rgba(255,255,255,.95) 20%);
}

.section-item:nth-child(4n+2) {
  border-left-color: rgba(255, 140, 26, .45);
  background: linear-gradient(90deg, rgba(255, 140, 26, .07), rgba(255,255,255,.95) 20%);
}

.section-item:nth-child(4n+3) {
  border-left-color: rgba(44, 179, 108, .42);
  background: linear-gradient(90deg, rgba(44, 179, 108, .07), rgba(255,255,255,.95) 20%);
}

.section-item:nth-child(4n+4) {
  border-left-color: rgba(168, 108, 255, .45);
  background: linear-gradient(90deg, rgba(168, 108, 255, .07), rgba(255,255,255,.95) 20%);
}

.section-item.active {
  background: #fff;
  border-color: #d8cdf4;
  box-shadow: 0 10px 22px rgba(77, 31, 184, .08);
}

.section-number {
  border-width: 2px;
  background: #fff;
}

.section-item:nth-child(4n+1) .section-number {
  border-color: rgba(111, 63, 245, .2);
  color: var(--purple-2);
}

.section-item:nth-child(4n+2) .section-number {
  border-color: rgba(255, 140, 26, .22);
  color: var(--orange);
}

.section-item:nth-child(4n+3) .section-number {
  border-color: rgba(44, 179, 108, .24);
  color: var(--green);
}

.section-item:nth-child(4n+4) .section-number {
  border-color: rgba(168, 108, 255, .24);
  color: #8a54f6;
}

.section-count {
  background: #f5f2fb;
  color: #7b6aa7;
}

.deliverable {
  display: none !important;
}

.footer-status {
  display: none !important;
}

.bottom-bar {
  justify-content: flex-end;
}

@media (max-width: 1050px) {
  .topbar {
    grid-template-columns: minmax(280px, 1fr) minmax(280px, 1fr);
  }

  .top-actions {
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {
  .portal-back-button span:last-child,
  .review-home-button span:last-child {
    display: none;
  }

  .progress-area {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 12px;
  }

  .progress-badge {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 0;
    padding: 10px 12px;
  }

  .progress-badge span,
  .progress-badge strong {
    margin: 0;
  }

  .progress-copy {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }

  .bottom-bar {
    justify-content: stretch;
  }
}

/* Versão 7 — refinamento premium de navegação, cards e ações */
.briefing-view {
  background:
    radial-gradient(circle at 78% 14%, rgba(111, 63, 245, .045), transparent 26%),
    radial-gradient(circle at 52% 82%, rgba(255, 140, 26, .035), transparent 24%),
    var(--bg);
}

.topbar {
  border-bottom-color: #e9e4f1;
  box-shadow: 0 8px 28px rgba(53, 32, 78, .045);
}

.briefing-brand {
  gap: 12px;
}

.brand-logo-shell {
  position: relative;
}

.brand-logo-shell::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -3px;
  width: 24px;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--brand-purple), var(--brand-orange));
  transform: translateX(-50%);
  opacity: .75;
}

#headerProjectLabel {
  color: #211b35;
}

#headerClientLabel {
  color: #82788e;
}

.progress-area {
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .82), 0 6px 18px rgba(53, 32, 78, .035);
}

.progress-badge {
  position: relative;
  overflow: hidden;
}

.progress-badge::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 3px;
  background: linear-gradient(90deg, var(--brand-purple), var(--brand-orange));
}

.sidebar {
  padding: 18px 14px 34px;
  box-shadow: inset -1px 0 0 rgba(111, 63, 245, .025);
}

.sidebar-project-card {
  position: relative;
  overflow: hidden;
  padding: 17px 16px 16px;
  border-radius: 18px;
}

.sidebar-project-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, var(--brand-purple-deep), var(--brand-purple), var(--brand-orange));
}

.sidebar-service {
  margin-top: 3px;
  color: var(--brand-purple-deep);
}

.section-item {
  min-height: 58px;
  padding: 10px 11px;
  transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.section-item:hover {
  transform: translateX(2px);
  box-shadow: 0 8px 20px rgba(53, 32, 78, .055);
}

.section-item.active {
  transform: translateX(3px);
  border-color: color-mix(in srgb, var(--service) 30%, #ded7ec);
  box-shadow: 0 11px 26px rgba(77, 31, 184, .085);
}

.section-item.active::after {
  content: "";
  position: absolute;
  right: 10px;
  top: 50%;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--service);
  transform: translateY(-50%);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--service) 10%, transparent);
}

.section-item.active .section-count {
  margin-right: 14px;
}

.section-label {
  font-weight: 500;
}

.section-item.active .section-label {
  color: #2b2040;
  font-weight: 700;
}

.section-number {
  box-shadow: 0 4px 12px rgba(53, 32, 78, .035);
}

.content-inner {
  max-width: 960px;
}

.section-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--service-soft) 64%, #fff);
  border: 1px solid color-mix(in srgb, var(--service) 14%, #ece8f1);
  color: var(--service);
  letter-spacing: .09em;
}

.content h1 {
  margin-top: 12px;
  margin-bottom: 24px;
  color: #201a34;
  font-size: 34px;
}

.questions-stack {
  gap: 18px;
}

.question-card {
  position: relative;
  overflow: hidden;
  padding: 22px 22px 20px;
  border: 1px solid #e7e2ed;
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(255,255,255,.985), rgba(253,252,255,.96));
  box-shadow: 0 10px 30px rgba(53, 32, 78, .045);
  transition: transform 170ms ease, border-color 170ms ease, box-shadow 170ms ease;
}

.question-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, var(--service), color-mix(in srgb, var(--service) 38%, #fff));
  opacity: .7;
}

.question-card:hover {
  transform: translateY(-1px);
  border-color: color-mix(in srgb, var(--service) 18%, #e4dfea);
  box-shadow: 0 14px 34px rgba(53, 32, 78, .065);
}

.question-card.answered {
  border-color: #cfe8da;
  background: linear-gradient(180deg, #ffffff, #fbfefc);
}

.question-card.answered::before {
  background: linear-gradient(180deg, var(--green-2), #9adfb7);
  opacity: .9;
}

.question-heading {
  grid-template-columns: 38px minmax(0, 1fr) auto;
  gap: 14px;
}

.question-index {
  width: 36px;
  height: 36px;
  border: 1px solid color-mix(in srgb, var(--service) 14%, #e7e3ec);
  border-radius: 12px;
  background: color-mix(in srgb, var(--service-soft) 66%, #fff);
  color: var(--service);
  font: 700 12px/1 "Poppins", sans-serif;
}

.question-card.answered .question-index {
  border-color: #cde9d9;
  background: #edf9f2;
  color: var(--green);
}

.question-title {
  color: #25203a;
  font-size: 16px;
  font-weight: 700;
}

.status-pill {
  padding: 7px 11px;
  border: 1px solid #e8e5ec;
  background: #f8f7fa;
  color: #8b8295;
  letter-spacing: .01em;
}

.question-card.answered .status-pill {
  border-color: #d4ecdf;
  background: #edf8f2;
  color: var(--green);
}

.question-hint {
  margin-top: 13px;
  padding: 10px 12px;
  border: 1px solid #e9e2f8;
  border-radius: 12px;
  background: linear-gradient(90deg, rgba(111, 63, 245, .055), rgba(168, 108, 255, .025));
  color: #706584;
}

.question-field {
  margin-top: 14px;
}

.question-field .text-field,
.question-field .textarea-field,
.question-field .select-field {
  border-color: #ddd8e5;
  background: #fff;
  box-shadow: inset 0 1px 2px rgba(53, 32, 78, .025);
}

.question-field .text-field:hover,
.question-field .textarea-field:hover,
.question-field .select-field:hover {
  border-color: #cfc6db;
}

.question-field .text-field:focus,
.question-field .textarea-field:focus,
.question-field .select-field:focus {
  border-color: var(--service);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--service) 9%, transparent);
}

.question-field .textarea-field {
  min-height: 165px;
}

.doubt-row {
  margin-top: 13px;
  color: #92899e;
}

.doubt-row label {
  padding: 5px 7px 5px 0;
  border-radius: 8px;
}

.doubt-row input {
  width: 15px;
  height: 15px;
}

.attachment-box {
  border-radius: 15px;
  border-color: color-mix(in srgb, var(--service) 22%, #ddd7e7);
  background: linear-gradient(180deg, color-mix(in srgb, var(--service-soft) 44%, #fff), #fff);
}

.attachment-button {
  border-radius: 999px;
  padding-inline: 16px;
}

.bottom-bar {
  padding: 12px 26px;
  border-top-color: #e8e3ee;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 -12px 30px rgba(53, 32, 78, .045);
}

.footer-actions {
  gap: 9px;
}

#previousButton {
  color: #81778d;
  font-weight: 600;
}

#previousButton:not(:disabled):hover {
  color: var(--brand-purple-deep);
  background: #f7f3ff;
}

#saveButton {
  min-width: 100px;
  border-color: #d8cdf0;
  color: var(--brand-purple-deep);
  background: #fff;
  font-weight: 700;
}

#saveButton:hover {
  border-color: var(--brand-purple);
  background: #f8f5ff;
  box-shadow: 0 7px 18px rgba(111, 63, 245, .09);
}

#nextButton {
  min-width: 190px;
  border-color: transparent;
  background: linear-gradient(100deg, var(--brand-purple-deep), var(--brand-purple));
  box-shadow: 0 10px 24px rgba(77, 31, 184, .2);
}

#nextButton:hover {
  background: linear-gradient(100deg, #421ba0, #6234e5);
  box-shadow: 0 12px 28px rgba(77, 31, 184, .25);
  transform: translateY(-1px);
}

#reviewButton {
  border-color: #ddd3ef;
  color: var(--brand-purple-deep);
  background: #fff;
  font-weight: 600;
}

#reviewButton:hover {
  border-color: var(--brand-purple);
  background: #f8f5ff;
}

#resetButton {
  border-color: #ece4ef;
  color: #7f7089;
  background: #fffaf7;
}

#resetButton:hover {
  border-color: #ffd2b4;
  color: var(--brand-orange);
  background: #fff7f0;
}

@media (max-width: 1050px) and (min-width: 761px) {
  .topbar {
    grid-template-columns: minmax(250px, 1fr) minmax(300px, 430px) auto;
    gap: 14px;
  }

  .top-actions {
    grid-column: auto;
  }

  .progress-area {
    padding: 8px 10px;
    gap: 10px;
  }

  .progress-badge {
    min-width: 64px;
    padding: 10px 8px;
  }

  .progress-badge strong {
    font-size: 20px;
  }

  #reviewButton {
    display: none;
  }
}

@media (max-width: 760px) {
  .question-card {
    padding: 18px 16px 17px;
    border-radius: 18px;
  }

  .question-heading {
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 10px;
  }

  .question-index {
    width: 32px;
    height: 32px;
  }

  .content h1 {
    font-size: 28px;
  }

  #nextButton {
    min-width: 0;
  }
}

/* Versão 8 — refinamentos de revisão e cabeçalho interno */
.sidebar-project-card {
  display: none !important;
}

.sidebar {
  padding-top: 16px;
}

.sidebar-block.sections-block {
  margin-top: 0;
}

#headerProjectLabel {
  font-size: 16px;
}

#headerClientLabel {
  margin-top: 3px;
  color: #7b8ea3;
  font-size: 12px;
}

.report-service-pill,
.report-cover-body p,
.report-progress-summary {
  display: none !important;
}

.report-cover-body {
  margin: 18px 0 28px;
}

.report-cover-body h1 {
  margin: 0;
}

.report-cover-page {
  min-height: auto;
}

@media (max-width: 760px) {
  #headerProjectLabel {
    font-size: 15px;
  }

  #headerClientLabel {
    font-size: 11px;
  }
}

@media print {
  .report-service-pill,
  .report-cover-body p,
  .report-progress-summary {
    display: none !important;
  }
}

/* Versão 9 — revisão e PDF com acabamento de documento profissional */
.review-content {
  width: min(1040px, calc(100% - 40px));
}

.report-document {
  gap: 22px;
}

.report-cover-page {
  min-height: 560px;
  padding: 44px 48px 42px;
  border-color: #e4dfef;
  border-radius: 28px;
  background:
    radial-gradient(circle at 100% 0%, rgba(255, 140, 26, .08), transparent 24%),
    radial-gradient(circle at 0% 100%, rgba(111, 63, 245, .07), transparent 26%),
    #fff;
  box-shadow: 0 22px 58px rgba(38, 31, 72, .08);
}

.report-cover-page::after {
  width: 270px;
  height: 270px;
  right: -105px;
  top: -90px;
  background: linear-gradient(145deg, rgba(111, 63, 245, .07), rgba(255, 106, 0, .09));
}

.report-cover-accent {
  position: absolute;
  inset: 0 auto 0 0;
  width: 7px;
  background: linear-gradient(180deg, var(--purple-2) 0%, var(--orange) 58%, var(--green-2) 100%);
}

.report-brand-row {
  align-items: center;
}

.report-logo-image {
  width: 58px;
  height: 58px;
  object-fit: contain;
}

.report-brand-row span {
  color: #81769c;
  font-size: 10px;
  letter-spacing: .15em;
}

.report-brand-row strong {
  color: #1d2944;
  font-size: 13px;
  letter-spacing: .08em;
}

.report-cover-body {
  margin: 58px 0 36px;
  max-width: 820px;
}

.report-document-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 13px;
  color: var(--orange);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
}

.report-document-label::before {
  content: "";
  width: 28px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--purple-2), var(--orange));
}

.report-cover-body h1 {
  max-width: 840px;
  margin: 0;
  color: #17243b;
  font: 700 clamp(34px, 4.3vw, 48px)/1.08 "Poppins", sans-serif;
  letter-spacing: -.04em;
}

.report-overview-grid {
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  gap: 14px;
  margin-top: auto;
  position: relative;
  z-index: 1;
}

.report-overview-card {
  min-height: 162px;
  padding: 21px 22px;
  border: 1px solid #e5e1ed;
  border-radius: 20px;
  background: rgba(255, 255, 255, .9);
  box-shadow: 0 9px 24px rgba(48, 39, 79, .045);
}

.report-client-overview {
  background:
    linear-gradient(135deg, rgba(111, 63, 245, .045), transparent 46%),
    #fff;
}

.report-project-overview {
  background:
    linear-gradient(135deg, rgba(255, 106, 0, .045), transparent 46%),
    #fff;
}

.report-overview-label {
  display: block;
  margin-bottom: 8px;
  color: #948aa6;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .13em;
}

.report-overview-title {
  display: block;
  color: #1c2944;
  font: 700 18px/1.3 "Poppins", sans-serif;
}

.report-contact-list,
.report-project-meta {
  display: grid;
  gap: 9px 18px;
  margin-top: 18px;
}

.report-contact-list {
  grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr);
}

.report-project-meta {
  grid-template-columns: 1fr 1fr;
}

.report-project-meta > div:last-child {
  grid-column: 1 / -1;
}

.report-contact-list > div,
.report-project-meta > div {
  display: grid;
  gap: 3px;
}

.report-contact-list span,
.report-project-meta span {
  color: #9a91aa;
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .07em;
}

.report-contact-list strong,
.report-project-meta strong {
  min-width: 0;
  overflow-wrap: anywhere;
  color: #3a4b68;
  font-size: 11px;
  line-height: 1.45;
}

.report-meta-grid {
  display: none !important;
}

.report-section {
  padding: 32px 36px;
  border-color: #e5e1ed;
  border-radius: 24px;
  box-shadow: 0 14px 34px rgba(48, 39, 79, .045);
}

.report-section-head {
  position: relative;
  align-items: center;
  padding: 0 0 18px 16px;
  border-bottom-color: #eeeaf3;
}

.report-section-head::before {
  content: "";
  position: absolute;
  left: 0;
  top: 2px;
  bottom: 20px;
  width: 4px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--purple-2), var(--orange));
}

.report-section-head > div > span {
  color: #8e7aa6;
}

.report-section-head h2 {
  color: #1b2944;
  font-size: 23px;
}

.report-section-count {
  border: 1px solid #e5dfef;
  background: #faf8fd;
  color: #827495 !important;
}

.report-qa {
  padding: 18px 4px;
  border-bottom-color: #f0edf4;
}

.report-question {
  color: #293b5a;
  font-size: 12px;
}

.report-answer {
  margin-top: 8px;
  padding: 12px 14px;
  border-radius: 12px;
  background: #faf9fc;
  color: #52657d;
  font-size: 11.5px;
}

.report-answer.empty {
  background: #fbfbfc;
}

.report-terms-section {
  border-color: #ddd5ee;
  background:
    radial-gradient(circle at 100% 0%, rgba(111, 63, 245, .045), transparent 20%),
    #fff;
}

.terms-section-head::before {
  background: linear-gradient(180deg, var(--purple-2), var(--orange), var(--green-2));
}

.terms-financial-block {
  margin: 22px 0 30px;
  padding: 20px;
  border: 1px solid #e7e2ef;
  border-radius: 18px;
  background: linear-gradient(135deg, #fbf9ff 0%, #fffaf6 100%);
}

.terms-financial-heading {
  display: grid;
  gap: 4px;
  margin-bottom: 15px;
}

.terms-financial-heading span,
.terms-divider-title > span {
  color: var(--purple-2);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .12em;
}

.terms-financial-heading strong {
  color: #273754;
  font: 600 13px/1.4 "Poppins", sans-serif;
}

.terms-financial-summary {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.terms-financial-summary > div {
  min-height: 64px;
  padding: 11px 12px;
  border: 1px solid rgba(221, 214, 234, .82);
  border-radius: 12px;
  background: rgba(255, 255, 255, .74);
}

.terms-divider-title {
  display: grid;
  gap: 5px;
  margin: 0 0 16px;
}

.terms-divider-title p {
  margin: 0;
  color: #7c899b;
  font-size: 10.5px;
}

.project-terms-list {
  gap: 0;
  border: 1px solid #e8e4ee;
  border-radius: 18px;
  overflow: hidden;
}

.project-term {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 15px;
  padding: 17px 18px;
  border-bottom: 1px solid #eeeaf2;
  background: #fff;
}

.project-term:nth-child(even) {
  background: #fdfcfe;
}

.project-term:last-child {
  border-bottom: 0;
}

.project-term-number {
  width: 38px;
  height: 38px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, rgba(111, 63, 245, .1), rgba(255, 106, 0, .1));
  color: var(--purple-2);
  font: 700 11px/1 "Poppins", sans-serif;
}

.project-term-content h3 {
  margin: 0 0 5px;
  color: #263754;
  font-size: 12px;
}

.project-term-content p {
  margin: 0;
  color: #65758a;
  font-size: 10.5px;
  line-height: 1.68;
}

.terms-note {
  margin-top: 20px;
  padding: 14px 16px;
  border: 1px solid #e6def2;
  border-left: 4px solid var(--purple-2);
  border-radius: 12px;
  background: #faf8fd;
  color: #5f6f84;
}

@media (max-width: 720px) {
  .report-cover-page {
    padding: 30px 24px;
  }

  .report-overview-grid {
    grid-template-columns: 1fr;
  }

  .report-contact-list,
  .report-project-meta {
    grid-template-columns: 1fr;
  }

  .report-project-meta > div:last-child {
    grid-column: auto;
  }

  .report-section {
    padding: 25px 22px;
  }

  .terms-financial-summary {
    grid-template-columns: 1fr;
  }

  .project-term {
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 12px;
    padding: 15px;
  }

  .project-term-number {
    width: 34px;
    height: 34px;
  }
}

@media print {
  .report-cover-page {
    padding: 14mm 13mm 12mm !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: #fff !important;
  }

  .report-cover-accent {
    width: 2mm;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .report-cover-body {
    margin: 18mm 0 10mm !important;
  }

  .report-overview-grid {
    margin-top: auto;
  }

  .report-overview-card,
  .terms-financial-block,
  .project-terms-list,
  .project-term,
  .report-answer,
  .terms-note {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .report-section {
    padding: 5mm 4mm 6mm !important;
  }

  .project-term {
    break-inside: avoid;
    page-break-inside: avoid;
  }
}

/* Versão 10 — acesso simplificado e ações por andamento */
.access-instruction {
  max-width: 560px !important;
  margin-top: 22px !important;
  padding-left: 16px;
  border-left: 3px solid var(--brand-purple);
  color: #6f697a !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
}

.access-points {
  display: none !important;
}

.panel-step {
  display: none !important;
}

.form-title-row {
  justify-content: flex-start;
}

.saved-project {
  grid-template-columns: 6px minmax(0, 1.6fr) minmax(150px, .55fr) auto;
}

.saved-project-name {
  gap: 3px;
}

.saved-project-name strong {
  font-size: 15px;
}

.saved-project-name .saved-service-inline {
  display: inline-block;
  width: fit-content;
  margin-top: 2px;
  color: #5d4f77;
  font-size: 12px;
  font-weight: 700;
}

.saved-project-name small {
  margin-top: 3px;
  color: #8393a6;
  font-size: 11px;
  line-height: 1.45;
}

.saved-progress-meta {
  align-self: center;
}

.saved-edit-button {
  background: linear-gradient(135deg, var(--brand-purple-deep), var(--brand-purple));
  border-color: transparent;
  color: #fff;
}

.saved-edit-button:hover {
  background: linear-gradient(135deg, #4d1fb8, #8358ff);
  color: #fff;
}

@media (max-width: 860px) {
  .access-instruction {
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0;
    border-left: 0;
    max-width: 520px !important;
  }

  .saved-project {
    grid-template-columns: 6px minmax(0, 1fr) auto;
  }

  .saved-progress-meta {
    grid-column: 2;
  }

  .saved-actions {
    grid-column: 3;
    grid-row: 1 / span 2;
  }
}

@media (max-width: 640px) {
  .saved-project {
    grid-template-columns: 6px minmax(0, 1fr);
  }

  .saved-progress-meta,
  .saved-actions {
    grid-column: 2;
    grid-row: auto;
  }

  .saved-actions {
    width: 100%;
  }

  .saved-actions button {
    flex: 1;
  }
}

/* Versão 11 — Não se aplica */
.question-card.not-applicable {
  border-color: #d8dbe4;
  background: #fcfcfd;
}

.question-card.not-applicable .question-index {
  background: #f1f2f5;
  color: #7c8797;
}

.question-card.not-applicable .status-pill {
  background: #eef1f4;
  color: #6f7c8d;
}

.question-card.not-applicable .question-field .text-field,
.question-card.not-applicable .question-field .textarea-field,
.question-card.not-applicable .question-field .select-field {
  background: #f6f7f9;
  color: #8b97a7;
  border-color: #e2e6ec;
  cursor: not-allowed;
}

.question-card.not-applicable .question-hint {
  opacity: .82;
}

.doubt-row label {
  font-weight: 500;
}

.attachment-box-disabled {
  opacity: .82;
}

.attachment-button.is-disabled {
  pointer-events: none;
  opacity: .55;
}

.attachment-remove[disabled] {
  opacity: .45;
  cursor: not-allowed;
}

.report-answer.not-applicable {
  background: #f5f6f8;
  color: #667487;
}
