:root {
  --bg: #181818;
  --panel: #202020;
  --card: #181818;
  --card-hover: #242424;
  --line: rgba(255, 255, 255, .11);
  --ink: #ffffff;
  --ink-2: rgba(255, 255, 255, .82);
  --ink-3: rgba(255, 255, 255, .66);
  --ink-4: rgba(255, 255, 255, .5);
  --ink-5: rgba(255, 255, 255, .34);
  --warn: #ffc72c;
  --warn-ink: #e8cf80;
  --jc: #2a74ff;
  --jt: #8db5ff;
  --jon: #ffffff;
  --js: rgba(42, 116, 255, .12);
  --jb: rgba(42, 116, 255, .52);
  --brand-blue: #2a74ff;
  --brand-mint: #8db5ff;
  --brand-green: #8db5ff;
}

body.shell-page {
  padding: 0 !important;
  background: var(--v2-canvas);
  color: var(--v2-text);
  font-family: "Inter V2", sans-serif;
}

body.shell-page > .mobile-brandbar[hidden],
body.shell-page > .site-nav[hidden] {
  display: none !important;
}

.shell-page-shell {
  min-height: calc(var(--v2-logical-height) - 80px);
}

.shell-page-main {
  width: 100%;
  min-width: 0;
  min-height: calc(var(--v2-logical-height) - 80px);
  overflow: hidden;
  border-radius: 22px;
  background: var(--v2-surface);
}

/* Home: uma tela, quatro frentes e scroll somente dentro de cada coluna. */
body.shell-page-home {
  height: var(--v2-logical-height);
  min-height: var(--v2-logical-height);
  overflow: hidden;
}

.shell-page-home .shell-page-shell,
.shell-page-home .shell-page-main {
  height: calc(var(--v2-logical-height) - 80px);
  min-height: 0;
}

.shell-page-home .sheet {
  width: 100%;
  height: 100%;
  min-height: 0;
  margin: 0;
  padding: 0 30px 24px;
  overflow: hidden;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  background: transparent;
}

.shell-page-home .home-intro {
  padding-top: 46px;
}

.shell-page-home .home-intro h1 {
  color: var(--v2-text);
  font-family: "Inter V2", sans-serif;
  font-size: 32px;
  font-weight: 700;
  letter-spacing: -.025em;
}

.shell-page-home .home-intro .sub {
  margin-top: 8px;
  color: var(--ink-3);
  font-size: 16px;
  line-height: 1.5;
}

.shell-page-home .home-intro .upd {
  margin-top: 14px;
  color: var(--ink-5);
  font-size: 10px;
  letter-spacing: .06em;
}

.shell-page-home .board {
  min-height: 0;
  gap: 18px;
  margin-top: 34px;
  padding: 0;
  overflow: hidden;
}

.shell-page-home .column {
  height: 100%;
  min-height: 0;
  padding: 18px 16px;
  overflow: hidden;
  border-color: var(--line);
  border-radius: 16px;
  background: var(--v2-canvas);
}

.shell-page-home .col-cards {
  min-height: 0;
  gap: 16px;
  margin-top: 16px;
  padding-right: 5px;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, .22) transparent;
}

.shell-page-home .col-head h3 {
  color: rgba(255, 255, 255, .76);
  font-size: 12px;
}

.shell-page-home .col-head .dot {
  background: var(--v2-blue);
  box-shadow: 0 0 12px rgba(42, 116, 255, .64);
}

.shell-page-home .col-head .count {
  background: rgba(255, 255, 255, .055);
  color: var(--ink-3);
}

.shell-page-home a.card {
  padding: 18px 18px 14px;
  border-color: rgba(255, 255, 255, .12);
  border-bottom-color: var(--v2-blue);
  border-radius: 14px;
  background: #242424;
}

.shell-page-home a.card:hover {
  border-color: rgba(255, 255, 255, .2);
  border-bottom-color: var(--v2-blue);
  background: #292929;
}

.shell-page-home .card .label { background: var(--v2-blue); }
.shell-page-home .card h2 { color: var(--v2-text); font-size: 15px; }
.shell-page-home .card .tag,
.shell-page-home .card p b,
.shell-page-home .card-foot .go,
.shell-page-home .card .dl { color: #8db5ff; }
.shell-page-home .card p { color: var(--ink-3); font-size: 12.5px; }
.shell-page-home .card-foot { border-top-color: var(--line); }
.shell-page-home .card-foot .badge { color: var(--ink-4); }
.shell-page-home footer { margin-top: 18px; color: var(--ink-5); font-size: 9px; }

/* Páginas de leitura: o conteúdo cresce e a página rola; o rail permanece estável. */
.shell-page-document .shell-page-main,
.shell-page-progress .shell-page-main {
  padding: 52px clamp(34px, 3.5vw, 68px) 40px;
}

.shell-page-document .sheet,
.shell-page-progress .progress-sheet {
  width: 100%;
  max-width: 1480px;
  margin: 0 auto;
}

.shell-page-document .sheet > h1 {
  max-width: 28ch;
  color: var(--v2-text);
  font-family: "Inter V2", sans-serif;
  font-size: clamp(30px, 2.1vw, 42px);
  font-weight: 720;
  line-height: 1.12;
  letter-spacing: -.03em;
  text-align: left;
}

.shell-page-document .subtitle {
  max-width: 78ch;
  margin: 14px 0 0;
  color: var(--ink-3);
  font-size: 15px;
  line-height: 1.6;
  text-align: left;
}

.shell-page-document .header-rule {
  width: 56px;
  height: 4px;
  margin: 24px 0 8px;
  background: var(--v2-blue);
}

.shell-page-document .sections,
.shell-page-document .stats { margin-top: 34px; gap: 18px; }

.shell-page-document .section,
.shell-page-document .stat {
  border-color: var(--line);
  border-bottom-color: var(--v2-blue);
  border-radius: 14px;
  background: var(--v2-canvas);
}

.shell-page-document .section h2,
.shell-page-document .stat .value { color: #8db5ff; }
.shell-page-document .section li,
.shell-page-document .stat .label { color: var(--ink-2); }
.shell-page-document .page-banner {
  margin-left: 0;
  text-align: left;
}
.shell-page-document .footer,
.shell-page-progress .progress-footer { color: var(--ink-4); }

/* Progresso preserva seus componentes e cálculos, usando a nova casca e paleta. */
.shell-page-progress .progress-sheet {
  max-width: none;
  min-height: calc(var(--v2-logical-height) - 184px);
}

.shell-page-progress .executive { padding-top: 4px; }
.shell-page-progress .readiness-value,
.shell-page-progress .timeline-value,
.shell-page-progress .timeline-panel-value { color: #8db5ff; }
.shell-page-progress .timeline-panel { background: var(--v2-canvas); }
.shell-page-progress .impact-item.is-gain strong,
.shell-page-progress .additional-value { color: #8db5ff; }

@media screen and (max-width: 1399px) {
  .shell-page-home .sheet { padding-inline: 22px; }
  .shell-page-home .board { gap: 12px; }
  .shell-page-home .column { padding-inline: 12px; }
  body.journey-v2-body.is-nav-expanded.shell-page-home .column { padding-inline: 10px; }
  body.journey-v2-body.is-nav-expanded.shell-page-home .col-head { gap: 6px; padding-inline: 1px; }
  body.journey-v2-body.is-nav-expanded.shell-page-home .col-head h3 {
    font-size: 10px;
    letter-spacing: .12em;
  }
  body.journey-v2-body.is-nav-expanded.shell-page-home .col-head .count {
    min-width: 25px;
    padding-inline: 6px;
  }
  .shell-page-home a.card { padding: 15px 14px 12px; }
  .shell-page-home .card p { font-size: 11.5px; }
  .shell-page-document .shell-page-main,
  .shell-page-progress .shell-page-main { padding-inline: 34px; }
}

@media (prefers-reduced-motion: reduce) {
  .shell-page-main,
  .shell-page-main * { scroll-behavior: auto !important; }
}

@media print {
  html { min-width: 0; }
  body.shell-page { width: 100%; min-width: 0; zoom: 1; }
  .shell-page-shell { width: 100%; min-height: 0; margin: 0; display: block; }
  .shell-page-shell > .journey-v2-rail { display: none; }
  .shell-page-main { min-height: 0; overflow: visible; border-radius: 0; }
}
