.recovery-page { --rj-green:#225b43; --rj-lime:#d8ecb1; }
.recovery-page .conteudo { max-width:1320px; padding-top:24px; }
.rj-demo { background:var(--c-accent-soft); border:1px dashed var(--c-accent); padding:10px 16px; font:12px/1.5 var(--mono); color:var(--c-accent-ink); border-radius:8px; }
.rj-breadcrumb { display:flex; gap:12px; color:var(--c-ink-3); font-size:12px; margin:8px 0 22px; }
.rj-breadcrumb a { color:inherit; text-decoration:none; }
.rj-hero { display:flex; justify-content:space-between; align-items:flex-end; gap:24px; padding-bottom:22px; }
.rj-eyebrow { font:10px/1.5 var(--mono); letter-spacing:.09em; color:var(--c-ink-3); margin:0; }
.rj-hero .rj-eyebrow { color:var(--c-accent-ink); display:flex; align-items:center; gap:8px; }
.rj-eyebrow>span { width:6px; height:6px; border-radius:50%; background:currentColor; }
.rj-hero h1 { font:500 clamp(30px,3.5vw,44px)/1.08 var(--sans); letter-spacing:-.045em; margin:12px 0; }
.rj-lead { max-width:650px; font:13px/1.6 var(--sans); color:var(--c-ink-3); margin:0; }
.rj-primary,.rj-secondary { display:inline-flex; align-items:center; justify-content:center; gap:12px; padding:14px 20px; border-radius:7px; text-decoration:none; font-size:13px; font-weight:500; white-space:nowrap; }
.rj-primary { background:var(--rj-green); color:#fff; margin-bottom:4px; }
.rj-primary:hover { background:#17432f; }
.rj-secondary { border:1px solid var(--c-line); color:var(--c-ink); background:var(--c-surface); }
.rj-navigation { display:flex; justify-content:space-between; align-items:center; gap:20px; border-block:1px solid var(--c-line); margin-bottom:22px; flex-wrap:wrap; }
.rj-navigation nav { display:flex; gap:28px; }
.rj-navigation a { display:inline-flex; align-items:center; gap:5px; padding:17px 0; color:var(--c-ink-3); font-size:12px; text-decoration:none; }
.rj-navigation a:first-child { color:var(--c-accent-ink); border-bottom:2px solid var(--c-accent); }
.rj-navigation>span { font:10px var(--mono); color:var(--c-ink-3); padding-block:10px; }
.rj-section-head { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-bottom:24px; }
.rj-section-head h2,.rj-method h2 { font:500 28px/1.15 var(--sans); letter-spacing:-.04em; margin:8px 0 0; }
.rj-section-head p { font-size:13px; color:var(--c-ink-3); margin:10px 0 0; }
.rj-scope { display:flex; align-items:center; gap:10px; font-size:12px; }
.rj-scope label { color:var(--c-ink-3); }
.rj-scope select { max-width:180px; padding:10px 30px 10px 12px; border:1px solid var(--c-line); border-radius:6px; background:var(--c-surface); color:var(--c-ink); font:12px var(--sans); }
.rj-scope button { display:flex; gap:6px; align-items:center; padding:10px 12px; border:1px solid var(--c-line); border-radius:6px; background:var(--c-surface); color:var(--c-ink); cursor:pointer; font:12px var(--sans); }
.rj-metrics { display:grid; grid-template-columns:1.25fr 1fr 1fr 1fr; gap:12px; margin-bottom:24px; }
.rj-metric { border:1px solid var(--c-line); border-radius:10px; padding:23px; background:var(--c-surface); display:flex; flex-direction:column; }
.rj-metric>span { color:var(--c-ink-3); font-size:12px; }
.rj-metric strong { font:500 clamp(28px,3vw,43px)/1 var(--mono); letter-spacing:-.06em; margin:22px 0 13px; }
.rj-metric small { font-size:11px; color:var(--c-ink-3); }
.rj-metric-main { background:var(--rj-green); border-color:var(--rj-green); color:#fff; }
.rj-metric-main>span,.rj-metric-main small { color:#d4e3da; }
.rj-metric-main strong { color:var(--rj-lime); }
.rj-chart-grid { display:grid; grid-template-columns:minmax(0,2.2fr) minmax(260px,1fr); gap:20px; margin-bottom:20px; }
.rj-panel { padding:25px; border:1px solid var(--c-line); border-radius:10px; background:var(--c-surface); min-width:0; }
.rj-panel-head { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; margin-bottom:26px; }
.rj-panel h3 { font:500 19px/1.25 var(--sans); letter-spacing:-.025em; margin:7px 0 0; }
.rj-unit { font:10px/1.4 var(--mono); color:var(--c-ink-3); white-space:nowrap; padding-top:3px; }
.rj-chart { height:240px; display:flex; gap:12px; padding:16px 8px 0; background:repeating-linear-gradient(to top,transparent 0,transparent 49px,var(--c-line) 50px,transparent 51px); }
.rj-chart-column { flex:1; min-width:0; display:flex; flex-direction:column; align-items:center; outline-offset:5px; }
.rj-chart-track { width:100%; height:200px; display:flex; align-items:flex-end; justify-content:center; }
.rj-chart-bar { position:relative; background:var(--rj-green); width:72%; max-width:48px; border-radius:4px 4px 0 0; min-height:0; transition:background .15s; }
.rj-chart-bar-latest { background:#97b97e; }
.rj-chart-bar>span { position:absolute; top:-22px; left:50%; transform:translateX(-50%); color:var(--c-ink-3); font:10px var(--mono); }
.rj-chart-column:hover .rj-chart-bar,.rj-chart-column:focus .rj-chart-bar { background:var(--c-accent); }
.rj-chart-label { font:10px/1.3 var(--mono); color:var(--c-ink-3); padding-top:13px; white-space:nowrap; }
.rj-footnote { margin:22px 0 0; font:11px/1.5 var(--sans); color:var(--c-ink-3); }
.rj-dot { display:inline-block; width:6px; height:6px; border-radius:50%; background:var(--rj-green); margin-right:5px; }
.rj-context { background:#e9eee2; border:1px solid #dfe6d6; color:#214432; border-radius:10px; padding:26px; }
.rj-context .rj-eyebrow { color:#54715c; font-size:9px; }
.rj-context-symbol { margin:24px 0 13px; }
.rj-context h3 { font:400 31px/1.05 var(--serif); letter-spacing:-.025em; margin:0 0 16px; }
.rj-context p { font:12px/1.6 var(--sans); color:#526750; margin:10px 0; }
.rj-context a { display:flex; align-items:center; gap:8px; color:#214432; font-size:12px; text-decoration:none; margin-top:22px; }
.rj-rankings { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.rj-rank-list { list-style:none; margin:0; padding:0; }
.rj-rank-list li+li { margin-top:17px; }
.rj-rank-list a { display:flex; gap:15px; align-items:center; text-decoration:none; color:var(--c-ink); }
.rj-rank-position { font:10px var(--mono); color:var(--c-ink-3); }
.rj-rank-detail { flex:1; min-width:0; }
.rj-rank-detail>div { display:flex; justify-content:space-between; align-items:baseline; gap:14px; font-size:12px; margin-bottom:8px; }
.rj-rank-detail strong { font:12px var(--mono); white-space:nowrap; }
.rj-rank-detail small { font:10px var(--mono); color:var(--c-ink-3); margin-left:12px; }
.rj-track { display:block; height:5px; border-radius:4px; overflow:hidden; background:var(--c-surface-2); }
.rj-track>span { display:block; height:100%; background:#78a18b; border-radius:4px; }
.rj-rank-list a:hover .rj-track>span { background:var(--c-accent); }
.rj-activities li+li { margin-top:23px; }
.rj-companies { margin-top:52px; }
.rj-table-panel { border:1px solid var(--c-line); border-radius:10px; overflow:hidden; background:var(--c-surface); }
.rj-table-heading,.rj-pagination { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:20px 24px; font-size:12px; }
.rj-table-heading>span:last-child,.rj-pagination { font-size:11px; color:var(--c-ink-3); }
.rj-table-scroll { overflow-x:auto; }
.rj-table { width:100%; border-collapse:collapse; text-align:left; }
.rj-table th { padding:13px 24px; background:var(--c-surface-2); color:var(--c-ink-3); font:10px var(--mono); }
.rj-table td { padding:18px 24px; font-size:12px; border-bottom:1px solid var(--c-line); }
.rj-table td:first-child { width:34%; min-width:235px; }
.rj-table td:nth-child(3) { width:26%; }
.rj-table tbody tr:hover { background:var(--c-surface-2); }
.rj-company-name { color:var(--c-ink); text-decoration:none; font-weight:500; line-height:1.5; }
.rj-company-name:hover { color:var(--c-accent-ink); text-decoration:underline; }
.rj-company-cnpj { display:block; color:var(--c-ink-3); font:10px/1.5 var(--mono); margin-top:5px; }
.rj-date { font-family:var(--mono); white-space:nowrap; }
.rj-table .rj-capital { text-align:right; white-space:nowrap; font-family:var(--mono); font-variant-numeric:tabular-nums; }
.rj-company-open { color:var(--c-accent-ink); }
.rj-pagination nav { display:flex; gap:20px; align-items:center; }
.rj-pagination a { color:var(--c-accent-ink); text-decoration:none; }
.rj-method { display:grid; grid-template-columns:1fr 2fr; gap:60px; border-top:1px solid var(--c-line); margin-top:60px; padding:36px 0 24px; }
.rj-method h3 { font:500 13px var(--sans); margin:0 0 8px; }
.rj-method p { color:var(--c-ink-3); font:12px/1.7 var(--sans); margin:0 0 22px; }
.rj-method a { color:var(--c-accent-ink); }
.rj-empty { padding:40px 20px; color:var(--c-ink-3); line-height:1.6; }
.rj-sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.recovery-page section { scroll-margin-top:90px; }
[data-theme="dark"] .recovery-page { --rj-green:#4d8969; }
[data-theme="dark"] .rj-context { background:#213329; border-color:#344b3b; color:#d8e8d3; }
[data-theme="dark"] .rj-context p,[data-theme="dark"] .rj-context .rj-eyebrow { color:#adc2ae; }
[data-theme="dark"] .rj-context a { color:#d8e8d3; }
@media(max-width:1000px) {
  .rj-hero { align-items:center; }
  .rj-chart-grid { grid-template-columns:minmax(0,1fr); }
  .rj-context { display:none; }
  .rj-section-head { align-items:flex-start; flex-wrap:wrap; }
}
@media(max-width:640px) {
  .recovery-page .conteudo { padding-inline:18px; }
  .rj-breadcrumb { margin-bottom:18px; }
  .rj-hero { flex-direction:column; align-items:flex-start; gap:16px; }
  .rj-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .rj-hero h1 { font-size:37px; }
  .rj-lead { font-size:14px; }
  .rj-navigation { flex-wrap:wrap; gap:0; padding-bottom:12px; }
  .rj-navigation nav { gap:16px; flex-wrap:wrap; }
  .rj-navigation>span { font-size:10px; }
  .rj-metric { padding:17px 14px; }
  .rj-metric>span { min-height:32px; font-size:11px; }
  .rj-metric strong { margin-top:15px; }
  .rj-metric small { font-size:10px; line-height:1.5; }
  .rj-rankings,.rj-method { grid-template-columns:1fr; gap:20px; }
  .rj-panel { padding:20px 16px; }
  .rj-panel-head { flex-wrap:wrap; gap:7px; }
  .rj-chart { gap:5px; padding-inline:0; }
  .rj-chart-label { font-size:8px; white-space:normal; text-align:center; }
  .rj-chart-bar>span { font-size:8px; }
  .rj-scope { flex-wrap:wrap; }
  .rj-table-heading,.rj-pagination { padding:17px; flex-wrap:wrap; gap:12px; }
  .rj-table td,.rj-table th { padding:14px 17px; }
  .rj-method { margin-top:40px; }
}

.rj-company-filters { display:grid; grid-template-columns:1.5fr .8fr 1.2fr 1fr auto; align-items:end; gap:12px; padding:20px; background:var(--c-surface); border:1px solid var(--c-line); border-radius:10px; }
.rj-company-filters>div { min-width:0; }
.rj-company-filters label { display:block; font-size:11px; color:var(--c-ink-3); margin-bottom:7px; }
.rj-company-filters input,.rj-company-filters select { width:100%; min-width:0; height:42px; border:1px solid var(--c-line); border-radius:6px; padding:0 12px; background:var(--c-surface); color:var(--c-ink); font:12px var(--sans); }
.rj-company-filters button { height:42px; display:flex; align-items:center; justify-content:center; gap:8px; padding:0 18px; background:var(--rj-green); border:0; border-radius:6px; color:#fff; font:12px var(--sans); cursor:pointer; }
.rj-clear { grid-column:1/-1; color:var(--c-accent-ink); font-size:12px; justify-self:start; }
.rj-filter-help { font-size:11px; line-height:1.6; color:var(--c-ink-3); margin:10px 0 20px; }
.rj-active-filter { font-size:12px; line-height:1.6; padding:12px 16px; border:1px solid var(--c-line); border-radius:6px; }
.rj-active-filter a { color:var(--c-accent-ink); margin-left:12px; }
@media(max-width:1000px) { .rj-company-filters { grid-template-columns:1fr 1fr; } .rj-search-field { grid-column:1/-1; } .rj-companies .rj-section-head { align-items:flex-start; flex-direction:column; } }
@media(max-width:640px) { .rj-company-filters { grid-template-columns:1fr 1fr; padding:16px; } .rj-search-field { grid-column:1/-1; } .rj-company-filters button { grid-column:1/-1; } }
