:root {
  --audit-rule: color-mix(in srgb, var(--ink-700) 24%, transparent);
  --audit-muted: color-mix(in srgb, var(--accent-500) 5%, var(--paper));
  --audit-measure: 76rem;
  /* --form-control-border: definição única em application.css (D2). */
  --form-control-radius: .3rem;
  --form-control-background: var(--paper);
  --form-control-color: var(--ink-900);
  --form-focus-color: var(--accent-500);
  --form-label-color: var(--ink-500);
  --form-help-color: var(--ink-500);
}

.audit-entry-hero .marketing-hero__media img { object-position: center 38%; }
.audit-entry-auth { border-bottom: 1px solid var(--audit-rule); padding-block: clamp(2.5rem, 6vw, 5rem); background: var(--bone); }
.audit-entry-auth__inner { max-width: 64rem; }
.audit-entry-auth h1 { max-width: 24ch; font-size: clamp(2rem, 4vw, 3.6rem); }
.audit-entry-auth .marketing-copy { max-width: 58ch; }

.audit-price__grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(22rem, 1.2fr); align-items: end; gap: clamp(3rem, 8vw, 8rem); }
.audit-price__offer { border-top: 2px solid var(--accent-700); padding-top: 1.25rem; }
.audit-price__offer strong { display: block; font-family: var(--font-display); font-size: clamp(3rem, 8vw, 6.5rem); font-weight: 600; letter-spacing: -.06em; line-height: .9; }
.audit-price__offer > p:not(.marketing-eyebrow) { max-width: 56ch; margin: 1.5rem 0 0; color: var(--ink-700); line-height: 1.75; }
.audit-price__offer small { display: block; margin-top: 1rem; color: var(--ink-500); }

.audit-document { width: min(calc(100% - 2rem), var(--audit-measure)); margin-inline: auto; padding-block: clamp(2.5rem, 7vw, 6rem); }
.audit-document__hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(12rem, .28fr); align-items: end; gap: clamp(2rem, 7vw, 7rem); border-bottom: 1px solid var(--ink-900); padding-bottom: clamp(2rem, 5vw, 4rem); }
.audit-document__hero h1 { max-width: 18ch; font-size: clamp(2.5rem, 6vw, 5.2rem); }
.audit-document__hero > div > p:not(.marketing-eyebrow):not(.audit-record-code) { max-width: 64ch; color: var(--ink-700); line-height: 1.75; }
.audit-document__edition { align-self: end; border-left: 1px solid var(--audit-rule); padding-left: 1.25rem; color: var(--ink-500); font-size: .76rem; line-height: 1.7; }
.audit-document__hero--record h1,
.audit-document__hero--proof h1 { font-size: clamp(2.3rem, 5vw, 4.5rem); }

.audit-doctrine { margin-block: 2rem 0; border-left: 2px solid var(--accent-700); padding: .3rem 0 .3rem 1.25rem; }
.audit-doctrine p { max-width: 78ch; margin: 0; color: var(--ink-500); font-size: .78rem; line-height: 1.75; }
.audit-doctrine p + p { margin-top: .75rem; }
.audit-doctrine--footer { margin-top: 4rem; border-block: 1px solid var(--audit-rule); border-left: 0; padding: 1.5rem 0; }
.audit-doctrine-inline { max-width: 80ch; color: var(--ink-500); font-size: .72rem; line-height: 1.7; }

.audit-registry-tools { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: clamp(1.5rem, 5vw, 4rem); margin-top: 2.5rem; border-block: 1px solid var(--audit-rule); padding-block: 1.5rem; }
.audit-registry-search { display: grid; grid-template-columns: minmax(14rem, 32rem) auto; align-items: end; gap: .65rem; }
.audit-registry-summary { min-width: 12rem; text-align: right; }
.audit-registry-summary p { margin: 0; color: var(--ink-500); font-size: .75rem; }
.audit-registry-summary p + p { margin-top: .4rem; }
.audit-registry-summary strong { color: var(--ink-900); font-family: var(--font-display); font-size: 1.7rem; font-weight: 650; }
.audit-registry-list { margin: 3rem 0 0; padding: 0; list-style: none; }
.audit-registry-list li { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 2rem; border-top: 1px solid var(--audit-rule); padding-block: 1.75rem; }
.audit-registry-list li:last-child { border-bottom: 1px solid var(--audit-rule); }
.audit-registry-list h2 { margin-top: .55rem; font-size: clamp(1.35rem, 2.5vw, 2rem); }
.audit-registry-list p { margin: .55rem 0 0; color: var(--ink-700); }
.audit-record-code { margin: 0; color: var(--ink-500); font-family: var(--font-mono); font-size: .72rem; overflow-wrap: anywhere; }
.audit-record-action { min-width: 10rem; display: grid; justify-items: end; gap: 1rem; }
.audit-record-action a { display: inline-flex; align-items: center; min-height: 2.75rem; font-size: .82rem; font-weight: 750; }
.audit-registry-pagination { min-height: 3.5rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; border-bottom: 1px solid var(--audit-rule); color: var(--ink-500); font-size: .78rem; }
.audit-registry-pagination > div { display: flex; align-items: center; gap: 1rem; }
.audit-registry-pagination a { min-height: 2.75rem; display: inline-flex; align-items: center; color: var(--ink-900); font-weight: 750; }
.audit-record-kicker { display: flex; flex-wrap: wrap; align-items: baseline; gap: 1rem; }
.audit-record-kicker .marketing-eyebrow { margin-bottom: 0; }
.audit-status-reason { max-width: 74ch; margin: 2rem 0 0; color: var(--ink-700); line-height: 1.75; }
.audit-document__footnote { margin-top: 3rem; color: var(--ink-500); font-size: .76rem; }
.audit-document__footnote p { margin: .35rem 0 0; }

.audit-record-details { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin: 3rem 0 0; border-top: 1px solid var(--audit-rule); }
.audit-record-details > div { min-width: 0; border-bottom: 1px solid var(--audit-rule); padding: 1.2rem 1.2rem 1.2rem 0; }
.audit-record-details > div:nth-child(3n+2),
.audit-record-details > div:nth-child(3n+3) { border-left: 1px solid var(--audit-rule); padding-left: 1.2rem; }
.audit-record-details__wide { grid-column: span 2; }
.audit-record-details dt,
.audit-proof-state dt { color: var(--ink-500); font-size: .7rem; }
.audit-record-details dd,
.audit-proof-state dd { margin: .4rem 0 0; overflow-wrap: anywhere; }
.audit-record-details code { font-size: .74rem; }
.audit-document-actions { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 2rem; }

.audit-form-errors { display: grid; gap: var(--form-field-gap); margin-top: 1.5rem; border-left: 2px solid var(--form-error-color); background: var(--form-error-background); padding: .8rem 1rem; color: var(--form-error-color); font-size: var(--form-error-font-size); line-height: 1.5; }
.audit-form-errors ul { margin: 0; padding-left: 1.15rem; }
.audit-form-errors a { color: inherit; font-weight: 700; text-underline-offset: .18em; }
.audit-field-error { display: block; margin-top: .35rem; color: var(--form-error-color); font-size: var(--form-error-font-size); font-weight: 650; }
.audit-complaint { display: grid; grid-template-columns: minmax(0, .7fr) minmax(20rem, 1.3fr); gap: clamp(2.5rem, 7vw, 7rem); margin-top: 4rem; border-top: 1px solid var(--ink-900); padding-top: 2rem; }
.audit-complaint h2 { font-size: clamp(1.8rem, 3vw, 2.7rem); }
.audit-complaint > div > p:last-child { color: var(--ink-700); line-height: 1.7; }
.audit-complaint form { display: grid; gap: var(--form-stack-gap); }
.audit-field { display: grid; gap: var(--form-field-gap); }
.audit-field label { color: var(--form-label-color); font-size: var(--form-label-font-size); font-weight: 750; }
.audit-field input,
.audit-field textarea { width: 100%; min-height: var(--form-control-min-height); border: 1px solid var(--form-control-border); border-radius: var(--form-control-radius); background: var(--form-control-background); padding: var(--form-control-padding-block) var(--form-control-padding-inline); color: var(--form-control-color); font: inherit; font-size: var(--form-control-font-size); }
.audit-field textarea { min-height: var(--form-textarea-min-height); resize: vertical; line-height: 1.6; }
.audit-field input:focus-visible,
.audit-field textarea:focus-visible { border-color: var(--form-focus-color); outline: 3px solid var(--form-focus-color); outline-offset: 3px; }
.audit-field input[aria-invalid="true"],
.audit-field textarea[aria-invalid="true"] { border-color: var(--form-error-color); }
.audit-complaint .button { justify-self: start; }

.audit-proof-state { display: grid; gap: 1rem; margin: 0; border-left: 1px solid var(--audit-rule); padding-left: 1.25rem; }
.audit-proof-certificate { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 2rem; margin-top: 2rem; border-bottom: 1px solid var(--audit-rule); background: var(--audit-muted); padding: 1.5rem; }
.audit-proof-certificate h2 { font-family: var(--font-mono); font-size: 1.25rem; overflow-wrap: anywhere; }
.audit-proof-certificate p { color: var(--ink-700); }
.audit-proof-section { display: grid; grid-template-columns: minmax(12rem, .3fr) minmax(0, .7fr); gap: clamp(2rem, 6vw, 6rem); border-bottom: 1px solid var(--audit-rule); padding-block: clamp(2.5rem, 6vw, 5rem); }
.audit-proof-section > header h2 { font-size: clamp(1.65rem, 3vw, 2.6rem); }
.audit-proof-section > header > p:last-child { color: var(--ink-700); line-height: 1.7; }
.audit-proof-section > :not(header) { grid-column: 2; }
.audit-pillar-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; border-top: 1px solid var(--ink-900); }
.audit-pillar-list div { padding: 1.25rem 1rem 1.25rem 0; }
.audit-pillar-list div + div { border-left: 1px solid var(--audit-rule); padding-left: 1rem; }
.audit-pillar-list dt { color: var(--ink-500); font-size: .72rem; }
.audit-pillar-list dd { margin: .6rem 0 0; }
.audit-pillar-list strong { font-family: var(--font-display); font-size: 2.2rem; font-weight: 600; }
.audit-evidence-list,
.audit-indicator-list,
.audit-citation-list { margin: 0; padding: 0; list-style: none; }
.audit-evidence-list li { display: grid; gap: .45rem; border-top: 1px solid var(--audit-rule); padding-block: 1rem; }
.audit-evidence-list span { color: var(--ink-500); font-size: .72rem; }
.audit-indicator-list li { border-top: 1px solid var(--audit-rule); padding-block: 1.4rem; }
.audit-indicator-list__heading { display: flex; justify-content: space-between; gap: 1rem; color: var(--ink-500); font-size: .7rem; }
.audit-indicator-list h3 { margin: .8rem 0 0; font-family: var(--font-display); font-size: 1.25rem; }
.audit-indicator-list p { max-width: 68ch; color: var(--ink-700); line-height: 1.7; }
.audit-frameworks { font-size: .74rem; }
.audit-frameworks span { color: var(--ink-500); }
.audit-citation-list li { border-left: 1px solid var(--audit-rule); padding: .2rem 0 .2rem 1rem; }
.audit-citation-list li + li { margin-top: 1.2rem; }
.audit-citation-list a,
.audit-citation-list strong { font-family: var(--font-display); font-size: 1.1rem; font-weight: 700; }
.audit-citation-list p { margin: .4rem 0 0; color: var(--ink-700); }

@media (max-width: 760px) {
  .audit-price__grid,
  .audit-document__hero,
  .audit-complaint,
  .audit-proof-section,
  .audit-registry-tools { grid-template-columns: 1fr; }
  .audit-document__edition,
  .audit-proof-state { border-left: 0; border-top: 1px solid var(--audit-rule); padding: 1rem 0 0; }
  .audit-registry-list li,
  .audit-proof-certificate { grid-template-columns: 1fr; }
  .audit-registry-search { grid-template-columns: 1fr; }
  .audit-registry-summary { text-align: left; }
  .audit-registry-pagination { align-items: flex-start; flex-direction: column; padding-block: .65rem; }
  .audit-registry-pagination > div { width: 100%; justify-content: space-between; }
  .audit-record-action { justify-items: start; }
  .audit-record-details { grid-template-columns: 1fr; }
  .audit-record-details > div,
  .audit-record-details > div:nth-child(3n+2),
  .audit-record-details > div:nth-child(3n+3) { grid-column: auto; border-left: 0; padding-left: 0; }
  .audit-proof-section > :not(header) { grid-column: 1; }
  .audit-pillar-list { grid-template-columns: 1fr; }
  .audit-pillar-list div + div { border-left: 0; border-top: 1px solid var(--audit-rule); padding-left: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .audit-entry-page *,
  .audit-document * { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
.audit-record-details dd small { display: block; margin-top: .45rem; }
