/* Estrutura do relatório. Os tokens oficiais permanecem na fonte da marca. */
@import url("brand/styles.css");

* { box-sizing: border-box; }
html { scroll-behavior: auto; scroll-padding-top: var(--site-header-offset, 24px); }
body { margin: 0; min-width: 0; font-family: var(--font-sans); font-size: 16px; line-height: 1.7; background: var(--surface-bg); color: var(--content-primary); }
img { max-width: 100%; height: auto; }
svg { flex: none; width: 20px; height: 20px; }
button, input, select, textarea { font: inherit; }
button, summary, a { -webkit-tap-highlight-color: transparent; }
button, select { cursor: pointer; }
button, input, select { min-height: 44px; border: 1px solid var(--border-default); border-radius: var(--radius-md); }
button { padding: 8px 16px; background: var(--surface-card); color: var(--color-roxo-dark); font-weight: 500; }
input, select { min-width: 0; padding: 8px 12px; background: var(--surface-card); color: var(--content-primary); }
a { color: var(--color-roxo-dark); text-decoration-thickness: 1px; text-underline-offset: 4px; overflow-wrap: anywhere; }
a:hover { color: var(--brand-primary); }
p { margin: 0 0 16px; }
ul, ol { margin: 12px 0 20px; padding-left: 24px; }
li { margin-bottom: 8px; }
h1, h2, h3, h4 { font-family: var(--font-display); font-weight: 700; color: inherit; text-wrap: balance; }
h1 { margin: 0 0 24px; font-size: clamp(36px, 4vw, 46px); line-height: 1.08; letter-spacing: -.035em; }
h2 { margin: 0; font-size: 36px; line-height: 1.25; letter-spacing: -.035em; }
h3 { margin: 0 0 16px; font-size: 24px; line-height: 1.25; letter-spacing: -.01em; }
h4 { margin: 0 0 8px; font-size: 16px; line-height: 1.5; }
strong, b { font-weight: 700; }
code, .inline-code { font-family: var(--font-mono); font-size: 14px; overflow-wrap: anywhere; }
.layout { display: grid; grid-template-columns: 248px minmax(0, 1fr); min-height: 100vh; }
.sidebar { position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; gap: 16px; padding: 32px 20px; background: var(--surface-dark); color: var(--content-inverse); overflow: auto; }
.sidebar > div:first-child { display: flex; align-items: center; min-width: 0; }
.brand { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 0; }
.brand img { display: block; width: 160px; }
.sidebar-label { font-size: 14px; line-height: 1.5; }
.mobile-title { display: none; }
.language-switch { display: flex; flex-wrap: wrap; gap: 4px; }
.language-switch a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 8px 12px; border: 1px solid var(--color-indigo-light); border-radius: 8px; color: white; text-decoration: none; font-size: 14px; }
.language-switch a[aria-current="page"] { background: var(--color-indigo-light); font-weight: 700; }
.nav { display: flex; flex-direction: column; gap: 4px; }
.nav a { display: flex; align-items: center; gap: 12px; min-height: 44px; padding: 12px; border-radius: 8px; color: white; font-size: 14px; line-height: 1.5; text-decoration: none; }
.nav b { min-width: 20px; font: 14px/1.5 var(--font-mono); }
.nav a:hover, .language-switch a:hover { background: var(--color-indigo-light); }
.nav a.active, .nav a[aria-current="location"] { background: var(--brand-primary); color: white; font-weight: 700; }
.nav-rule { border-top: 1px solid var(--color-indigo-light); margin: 12px; }
.sidebar-bottom { margin-top: auto; padding-top: 24px; font-size: 14px; line-height: 1.7; }
.sidebar-bottom strong { display: block; }
.main { width: 100%; max-width: 1200px; margin: auto; padding: 40px 40px 80px; min-width: 0; }
.topline { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; margin-bottom: 20px; font-size: 14px; color: var(--content-secondary); }
.topline > span:first-child { letter-spacing: .04em; text-transform: uppercase; }
.private { display: inline-flex; align-items: center; gap: 8px; }
.heading, .lead, .section-head p, .scope-note, .product-delivery-note > p, .decision-boundary, .offer-source-note { max-width: 68ch; }
.lead { font-size: 18px; line-height: 1.7; color: var(--content-secondary); }
.section { margin-top: 64px; }
[id] { scroll-margin-top: 0; }
.section-head { display: flex; align-items: flex-start; gap: 16px; margin-bottom: 24px; }
.section-head p { margin: 12px 0 0; color: var(--content-secondary); }
.section-number { flex: none; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: var(--color-roxo-soft); color: var(--color-roxo-dark); font: 500 14px/1 var(--font-mono); }
.section-kicker, .offer-role { display: block; font-size: 14px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--color-roxo-dark); margin-bottom: 16px; }
.offer-overview { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.offer-summary { display: flex; flex-direction: column; min-width: 0; padding: 24px; border: 1px solid var(--border-default); border-radius: 16px; background: var(--surface-card); box-shadow: var(--shadow-sm); }
.offer-summary h2 { font-size: 30px; margin-bottom: 16px; }
.offer-summary p { margin-bottom: 20px; }
.offer-price { margin-top: auto; margin-bottom: 20px; font: 700 24px/1.25 var(--font-mono); font-variant-numeric: tabular-nums; }
.offer-price span { display: block; margin-top: 8px; font: 400 14px/1.5 var(--font-sans); }
.offer-summary > a { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 8px 16px; border-radius: 8px; background: var(--color-roxo-soft); color: var(--color-roxo-dark); text-decoration: none; font-size: 14px; font-weight: 500; }
.core-offer { border-top: 4px solid var(--brand-primary); padding-top: 20px; }
.core-offer > a { background: var(--brand-primary); color: white; }
.offer-source-note { margin: 20px 0 0; font-size: 14px; color: var(--content-secondary); }
.offer-definition { display: grid; grid-template-columns: minmax(220px, .85fr) minmax(0, 1.65fr); margin: 24px 0; border: 1px solid var(--border-default); border-radius: 16px; background: var(--surface-card); overflow: hidden; }
.offer-identity { padding: 32px; background: var(--color-roxo-soft); border-right: 1px solid var(--border-default); }
.offer-identity h3 { font-size: 30px; }
.offer-promise { font-size: 18px; }
.offer-identity dl { margin: 24px 0 0; }
.offer-identity dt { margin: 24px 0 8px; font-size: 14px; color: var(--color-roxo-dark); font-weight: 700; }
.offer-identity dd { margin: 0; }
.offer-spec { min-width: 0; padding: 32px; }
.offer-spec h4:not(:first-child) { margin-top: 24px; }
.offer-spec h4, .shared-engine h4 { color: var(--color-roxo-dark); }
.offer-boundary, .flow-note, .choice-fixed { padding: 16px 20px; border-left: 4px solid var(--brand-primary); background: var(--surface-ground); border-radius: 0 8px 8px 0; }
.offer-boundary { font-size: 14px; }
.offer-mapping { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--border-default); }
.offer-reference, .offer-spec .offer-reference { margin: 16px 0 0; font-size: 14px; color: var(--content-secondary); }
.offer-connection, .shared-engine { padding: 32px; border: 1px solid var(--border-default); border-radius: 16px; margin: 24px 0; background: var(--surface-card); }
.audience-paths, .shared-engine { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
.shared-engine { background: var(--color-roxo-soft); }
.product-delivery-note { padding-top: 24px; }
.product-association { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; font-weight: 500; margin: 8px 0; }
.decision-matrix { border: 1px solid var(--border-default); border-radius: 16px; background: var(--surface-card); overflow: hidden; }
.decision-row { display: grid; grid-template-columns: minmax(160px, .8fr) 1fr 1fr; gap: 24px; padding: 24px; border-top: 1px solid var(--border-default); }
.decision-row:first-child { border-top: 0; }
.decision-row h3 { font-size: 20px; }
.decision-row p { margin-bottom: 0; }
.row-links, .mini-links, .anchor-links, .section-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 16px; font-size: 14px; }
.row-links a, .mini-links a, .anchor-links a, .section-actions a, .section-actions button { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 8px 12px; border-radius: 8px; }
.sequence-approved { padding: 32px; margin-bottom: 24px; border: 1px solid var(--border-default); border-radius: 16px; background: var(--surface-card); }
.sequence-approved ol { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 20px; padding: 0; margin: 24px 0 0; list-style: none; counter-reset: sequence; }
.sequence-approved li { border-top: 1px solid var(--border-default); padding-top: 12px; font-size: 14px; counter-increment: sequence; }
.sequence-approved li::before { content: counter(sequence); display: block; margin-bottom: 8px; font: 14px var(--font-mono); color: var(--color-roxo-dark); }
.journey-status-grid, .choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.journey-status, .choice, .panel { min-width: 0; padding: 24px; border: 1px solid var(--border-default); border-radius: 12px; background: var(--surface-card); }
.journey-status-top, .choice-head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-bottom: 16px; }
.remaining, .delivery-pending { margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--border-default); }
.decision-stage { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin: 32px 0 16px; }
.decision-stage > span { font: 500 14px/1.5 var(--font-mono); color: var(--color-roxo-dark); }
.decision-stage h3 { margin: 0; }
.scope-mandate { padding: 32px; border-radius: 16px; margin: 24px 0 32px; background: var(--surface-dark); color: white; }
.scope-mandate h3 { margin-top: 20px; font-size: 30px; }
.scope-mandate p { max-width: 68ch; }
.scope-mandate a { color: white; }
.scope-choice { display: flex; flex-direction: column; }
.choice-priority { font-size: 14px; color: var(--content-secondary); }
.d-id { font: 700 14px var(--font-mono); color: var(--color-roxo-dark); }
.choice-question { font-size: 18px; }
.scope-choice h4 { font-size: 14px; color: var(--color-roxo-dark); }
.delivery-spec, .delivery-acceptance, .decision-next { margin-top: 20px; }
.delivery-acceptance { padding: 16px 20px; background: var(--color-roxo-soft); border-left: 4px solid var(--brand-primary); border-radius: 0 8px 8px 0; }
.delivery-acceptance p, .delivery-pending p { margin-bottom: 0; }
.scope-choice > .row-links { margin-top: auto; padding-top: 20px; }
.decision-boundary { padding-left: 20px; border-left: 4px solid var(--brand-primary); margin: 24px 0; font-size: 14px; }
.notice { display: flex; align-items: flex-start; gap: 16px; padding: 20px 24px; margin: 24px 0; background: var(--color-roxo-soft); border-left: 4px solid var(--brand-primary); border-radius: 0 12px 12px 0; }
.notice p:last-child { margin: 0; }
.notice strong { display: block; margin-bottom: 8px; }
.support-detail { margin-bottom: 16px; border: 1px solid var(--border-default); border-radius: 12px; background: var(--surface-card); }
.support-detail > summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 72px; padding: 24px; cursor: pointer; list-style: none; border-radius: 12px; }
.support-detail > summary::-webkit-details-marker { display: none; }
.support-detail summary strong { display: block; font-size: 20px; line-height: 1.5; }
.support-detail summary small { display: block; margin-top: 8px; font-size: 14px; color: var(--content-secondary); }
.expand-label { flex: none; font-size: 14px; color: var(--color-roxo-dark); }
.expand-label::after { content: ' +'; font-size: 20px; }
.support-detail[open] .expand-label::after { content: ' −'; }
.support-body { padding: 8px 24px 24px; border-top: 1px solid var(--border-default); background: var(--surface-bg); border-radius: 0 0 12px 12px; }
.support-body > .section { margin-top: 32px; }
.support-body .section-number { display: none; }
.support-body .section-head h2 { font-size: 30px; }
.product-detail { padding: 24px; margin-top: 32px; border: 1px solid var(--border-default); border-radius: 12px; background: var(--surface-card); }
.detail-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; border-bottom: 1px solid var(--border-default); padding-bottom: 20px; margin-bottom: 20px; }
.detail-heading p { color: var(--content-secondary); margin: 0; }
.screens { display: flex; flex-direction: column; }
.screen { display: grid; grid-template-columns: 172px minmax(0, 1fr); gap: 24px; padding: 24px 0; border-top: 1px solid var(--border-default); }
.screen:first-child { border-top: 0; }
.screen-id { display: inline-flex; align-items: center; min-height: 44px; padding: 8px; margin-left: -8px; font: 700 14px var(--font-mono); }
.screen-title { font-size: 18px; font-weight: 700; margin-bottom: 12px; }
.screen-details { display: grid; gap: 16px; min-width: 0; }
.screen-details > div { display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 16px; }
.screen-details h4 { font-size: 14px; }
.screen-details p { margin: 0; }
.evidence { font-size: 14px; color: var(--content-secondary); }
.cols, .audit-summary, .legend { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 24px; }
.legend > div { padding: 20px; background: var(--surface-card); border: 1px solid var(--border-default); border-radius: 12px; }
.legend p { font-size: 14px; margin: 12px 0 0; }
.flow { padding: 24px; margin-bottom: 20px; border: 1px solid var(--border-default); border-radius: 12px; background: var(--surface-card); }
.flow-head { display: flex; align-items: flex-start; gap: 16px; margin-bottom: 20px; }
.flow-head p { margin: 0; }
.flow-label, .source-key { display: grid; place-items: center; flex: none; min-width: 48px; height: 48px; padding: 8px; border-radius: 8px; background: var(--surface-dark); color: white; font: 500 14px var(--font-mono); }
.flow-track { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 12px; margin-bottom: 20px; }
.step { position: relative; padding: 12px 16px; border: 1px solid var(--border-default); border-radius: 8px; background: var(--surface-ground); }
.step a { display: flex; align-items: center; gap: 8px; min-height: 44px; font-size: 14px; font-weight: 700; }
.step span { display: block; font-size: 14px; }
.step.gate { border-style: dashed; }
.step.local-step { border-left: 4px solid var(--brand-primary); }
.flow-note { margin: 0; font-size: 14px; }
.audit-list { margin-top: 24px; display: grid; gap: 16px; }
.audit-item { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 20px; padding: 24px; background: var(--surface-card); border: 1px solid var(--border-default); border-radius: 12px; }
.audit-id { font: 700 14px/1.7 var(--font-mono); color: var(--color-roxo-dark); }
.audit-body { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.audit-body strong { display: block; margin-bottom: 8px; font-size: 14px; }
.audit-source { font-size: 14px; }
.source-card { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 20px; padding: 24px; margin: 16px 0; background: var(--surface-card); border: 1px solid var(--border-default); border-radius: 12px; }
.source-card h3 { overflow-wrap: anywhere; }
.source-facts { font-size: 14px; color: var(--content-secondary); }
.time-note, .small { font-size: 14px; }
.footer { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 24px; margin-top: 64px; padding-top: 24px; border-top: 1px solid var(--border-default); font-size: 14px; color: var(--content-secondary); }

/* Recursos de leitura e exemplos contextualizados. */
.reading-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 24px 0; }
.reading-summary a { display: flex; flex-direction: column; justify-content: center; min-height: 88px; padding: 16px; border: 1px solid var(--border-default); border-radius: 12px; background: var(--surface-card); text-decoration: none; font-size: 14px; color: var(--content-primary); }
.reading-summary strong, .reading-summary b { font: 700 24px/1.25 var(--font-mono); color: var(--color-roxo-dark); }
.reading-tools { padding: 20px; border: 1px solid var(--border-default); border-radius: 12px; background: var(--surface-card); margin: 24px 0; }
.reading-tools h2 { font-size: 24px; margin-bottom: 20px; }
.reading-tools form { display: grid; grid-template-columns: minmax(0, 1fr) minmax(180px, .5fr); gap: 8px 16px; align-items: end; }
.reading-tools label { font-size: 14px; font-weight: 500; }
.reading-tools label[for="document-search"] { grid-column: 1; grid-row: 1; }
.reading-tools label[for="product-filter"] { grid-column: 2; grid-row: 1; }
.reading-tools .search-controls { display: flex; align-items: stretch; gap: 8px; grid-column: 1; grid-row: 2; }
.reading-tools select { width: 100%; grid-column: 2; grid-row: 2; }
.reading-tools button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
.reading-tools input { width: 100%; }
.reading-tools p { margin: 12px 0 0; font-size: 14px; }
.search-results { margin-top: 16px; }
.search-results, .search-results ul { list-style: none; padding: 0; }
.search-results li { border-top: 1px solid var(--border-default); margin: 0; }
.search-results a { display: flex; align-items: center; min-height: 44px; padding: 12px; font-size: 14px; }
.mobile-index { display: none; }
.glossary { margin: 24px 0; border: 1px solid var(--border-default); border-radius: 12px; background: var(--surface-card); }
.glossary > summary { min-height: 44px; padding: 16px 20px; cursor: pointer; font-weight: 500; }
.glossary dl { margin: 0; padding: 0 20px 20px; }
.glossary dt { margin-top: 20px; font-weight: 700; color: var(--color-roxo-dark); }
.glossary dd { margin: 8px 0 0; max-width: 68ch; }
.decision-next { border-top: 1px solid var(--border-default); padding-top: 20px; }
.evidence-explainer { padding: 20px; margin: 20px 0; background: var(--surface-ground); border: 1px solid var(--border-default); border-radius: 12px; }
.evidence-explainer dl { display: grid; grid-template-columns: minmax(120px, .4fr) 1fr; gap: 8px 16px; margin: 0; font-size: 14px; }
.evidence-explainer dd { margin: 0; }
.evidence-explainer dt { font-weight: 700; }
.teteu-example, .radar-example { padding: 24px; margin-top: 24px; border: 1px solid var(--border-default); border-radius: 16px; background: var(--surface-card); }
.teteu-example header { display: flex; align-items: center; gap: 16px; margin-bottom: 20px; }
.teteu-example img { width: 64px; height: 64px; object-fit: contain; flex: none; }
.teteu-example blockquote { margin: 16px 0; padding: 20px; border-radius: 12px; background: var(--color-roxo-soft); }
.teteu-example small, .radar-example small { font-size: 14px; }
.radar-example ul { list-style: none; padding: 0; display: grid; gap: 12px; }
.radar-example li { padding: 16px; border-radius: 8px; color: var(--content-primary); }
.radar-example .healthy { background: var(--status-healthy-bg); }
.radar-example .attention { background: var(--status-attention-bg); }
.radar-example .critical { background: var(--status-critical-bg); }
.radar-example .status-dot { display: inline-block; width: 12px; height: 12px; margin-right: 8px; border: 1px solid currentColor; border-radius: 50%; }
.radar-example .healthy .status-dot { background: var(--color-agua); }
.radar-example .attention .status-dot { background: var(--color-ambar); }
.radar-example .critical .status-dot { background: var(--color-terracota); }

@media (max-width: 1200px) {
  .layout { grid-template-columns: 224px minmax(0, 1fr); }
  .main { padding: 32px 24px 64px; }
  .offer-overview { grid-template-columns: 1fr; }
  .offer-summary { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 24px; }
  .offer-role { grid-column: 1 / -1; margin-bottom: 4px; }
  .offer-summary h2, .offer-price { margin: 0; }
  .offer-summary > p:not(.commercial-note) { margin: 0; grid-column: 2; grid-row: 2 / 4; }
  .offer-summary > .commercial-note { margin: 0; grid-column: 1 / -1; grid-row: 4; }
  .offer-summary > a { grid-column: 1 / -1; margin-top: 8px; }
  .decision-row { grid-template-columns: minmax(160px, .7fr) 1fr; }
  .decision-row > .row-subject { grid-row: span 2; }
  .offer-definition { grid-template-columns: 1fr; }
  .offer-identity { border-right: 0; border-bottom: 1px solid var(--border-default); }
  .offer-identity, .offer-spec { padding: 24px; }
  .choice-grid, .journey-status-grid { grid-template-columns: 1fr; }
}
@media (max-width: 960px) {
  .layout { display: block; }
  .sidebar { position: sticky; height: auto; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 12px; padding: 8px 16px; overflow: visible; z-index: var(--z-sticky); }
  .brand img { width: 112px; }
  .sidebar-label, .sidebar-bottom, .sidebar > .nav, .mobile-title { display: none; }
  .language-switch { flex-wrap: nowrap; gap: 4px; align-items: center; }
  .language-switch a { padding: 8px; font-size: 14px; }
  .mobile-index { display: block; grid-column: 1 / -1; min-width: 0; }
  .mobile-index > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; padding: 8px 12px; border: 1px solid var(--color-indigo-light); border-radius: 8px; cursor: pointer; list-style: none; font-size: 14px; }
  .mobile-index > summary::-webkit-details-marker { display: none; }
  .mobile-index .index-label { font-weight: 700; }
  .mobile-index .current-section { margin-left: auto; text-align: right; }
  .mobile-index[open] > summary > svg { transform: rotate(180deg); }
  .mobile-index .nav { max-height: min(50vh, 400px); overflow: auto; margin-top: 8px; padding-bottom: 8px; }
  .main { padding-top: 32px; }
  .reading-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sequence-approved ol { grid-template-columns: 1fr; gap: 8px; }
  .sequence-approved li { display: flex; gap: 12px; }
  .audience-paths, .shared-engine, .audit-body { grid-template-columns: 1fr; gap: 20px; }
  .screen { grid-template-columns: 1fr; gap: 16px; }
}
@media (max-width: 640px) {
  h1 { font-size: 36px; }
  h2, .section-head h2 { font-size: 30px; }
  .main { padding: 24px 16px 48px; }
  .lead { font-size: 18px; }
  .section { margin-top: 48px; }
  .section-head { gap: 12px; }
  .section-number { width: 32px; height: 32px; border-radius: 8px; }
  .offer-summary { display: flex; gap: 0; padding: 20px; }
  .offer-summary h2 { margin-bottom: 16px; }
  .offer-summary p { margin-bottom: 20px; }
  .offer-price { margin-bottom: 20px; }
  .offer-summary > a { margin-top: 0; }
  .offer-role { margin-bottom: 12px; }
  .offer-identity, .offer-spec, .offer-connection, .shared-engine, .scope-mandate, .sequence-approved, .choice, .journey-status, .flow, .panel { padding: 20px; }
  .scope-mandate h3 { font-size: 24px; }
  .decision-row { grid-template-columns: 1fr; padding: 20px; gap: 20px; }
  .decision-row > .row-subject { grid-row: auto; }
  .detail-heading { flex-direction: column; gap: 12px; }
  .support-detail > summary { padding: 20px; gap: 12px; }
  .support-detail summary strong { font-size: 18px; }
  .support-body { padding: 8px 12px 20px; }
  .product-detail { padding: 16px; }
  .screen-details > div { display: block; }
  .cols, .audit-summary, .legend, .flow-track { grid-template-columns: 1fr; }
  .audit-item, .source-card { grid-template-columns: 1fr; padding: 20px; gap: 12px; }
  .source-key { justify-self: start; }
  .flow-head { gap: 12px; }
  .teteu-example, .radar-example { padding: 20px; }
  .evidence-explainer dl { grid-template-columns: 1fr; }
  .evidence-explainer dd { margin-bottom: 12px; }
  .reading-tools { padding: 16px; }
  .reading-tools form { grid-template-columns: 1fr; }
  .reading-tools label[for="document-search"], .reading-tools label[for="product-filter"], .reading-tools .search-controls, .reading-tools select { grid-column: 1; grid-row: auto; }
  .reading-tools .search-controls { margin-bottom: 8px; }
}
@media (max-width: 359px) {
  .sidebar { padding: 8px 12px; gap: 8px; }
  .brand img { width: 96px; }
  .language-switch a { padding: 8px; font-size: 14px; }
  .expand-label { max-width: 56px; overflow-wrap: normal; }
  h1 { font-size: 32px; }
}
