/* Identidade editorial compartilhada. Gráficos conservam suas paletas e unidades. */
:root { --obs-papel:#FAF8F2; --obs-tinta:#14243A; --obs-destaque:#00697F; --obs-regra:#D8D2C6; --obs-contexto:#E6EFF0; --obs-marfim:#F3EFE5; }
.obs-dominios { display:flex; flex-wrap:wrap; gap:4px 16px; align-items:center; }
.obs-dominios a { min-height:44px; display:inline-flex; align-items:center; padding:4px 0; border-bottom:2px solid transparent; font-size:13px; line-height:1.35; color:var(--obs-tinta); text-decoration:none; }
.obs-dominios a[aria-current] { border-color:var(--obs-destaque); font-weight:600; }
.obs-dominios a:hover { color:var(--obs-destaque); }
.obs-hero { background:var(--obs-tinta); color:white; padding:clamp(24px,3vw,40px); }
.obs-hero h1 { font-weight:400; font-size:clamp(32px,3.6vw,52px); line-height:1.12; letter-spacing:-.015em; max-width:760px; }
.obs-hero p { line-height:1.6; }
.obs-hero .obs-eyebrow { font-size:12px; letter-spacing:.14em; text-transform:uppercase; margin:0 0 16px; }
.obs-hero a { color:var(--obs-marfim); }
.obs-hero .obs-primary { display:inline-flex; min-height:44px; align-items:center; padding:10px 18px; margin-top:20px; background:var(--obs-marfim); color:var(--obs-tinta); text-decoration:none; font:600 14px/1.4 var(--sans, var(--font-sans, system-ui)); }
.obs-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); background:white; border-bottom:1px solid var(--obs-regra); color:var(--obs-tinta); margin:0; }
.obs-metrics>div { padding:20px 24px; min-width:0; }
.obs-metrics>div+div { border-left:1px solid var(--obs-regra); }
.obs-metrics dd { margin:0; }
.obs-metrics dd:first-child { font:400 30px/1.2 var(--serif, var(--font-serif, Georgia)); }
.obs-metrics dt { font-size:13px; font-weight:600; margin-top:6px; }
.obs-metrics dd:last-child:not(:first-child) { font-size:12px; margin-top:4px; line-height:1.5; color:#3D4147; }
@media(max-width:639px) { .obs-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); } .obs-metrics>div { padding:16px; } .obs-metrics>div:nth-child(3) { border-left:0; } .obs-metrics>div:nth-child(n+3) { border-top:1px solid var(--obs-regra); } .obs-dominios { gap:0 12px; } }
/* Energia: abertura, catálogo e módulos usam a mesma tinta e ritmo do OBEE. */
.dominio-energia { color:var(--obs-tinta); }
.dominio-energia .obs-identidade { border-bottom:1px solid var(--obs-regra); }
.dominio-energia .obs-identidade>.ed-pagina { padding-block:6px; }
.dominio-energia #proposito { margin-top:24px; padding-top:0; padding-bottom:0; }
.dominio-energia .obs-hero [class*="text-carvao"], .dominio-energia .obs-hero [class*="text-mineral"], .dominio-energia .obs-hero [class*="text-energia"] { color:var(--obs-marfim); }
.dominio-energia .obs-hero .border-linha, .dominio-energia .obs-hero .divide-linha>*+* { border-color:#ffffff40; }
.dominio-energia .obs-hero nav li { padding-block:8px; }
.dominio-energia .obs-hero nav a { font-size:16px; }
.dominio-energia .obs-hero .ed-lead { font-size:16px; }
.dominio-energia .obs-home-search { margin-block:24px; padding:20px 24px; border:1px solid var(--obs-regra); background:white; }
.dominio-energia .obs-catalogo>div { padding:24px; border:1px solid var(--obs-regra); border-top:3px solid var(--obs-destaque); background:white; }
.dominio-energia .obs-catalogo h3 { color:var(--obs-tinta); font-size:24px; }
.dominio-energia .cab-modulo { margin-top:24px; margin-bottom:12px; padding:24px; border-top:3px solid var(--obs-destaque); background:white; }
.dominio-energia .cab-modulo h1 { color:var(--obs-tinta); }
.dominio-energia .ed-faixa { background:white; padding:20px 24px; margin-block:0 24px; }
.dominio-energia [data-secao-painel]>h3 { color:var(--obs-tinta); font-size:24px; }
@media(max-width:639px) { .dominio-energia .cab-modulo, .dominio-energia .obs-home-search, .dominio-energia .obs-catalogo>div { padding:20px 16px; } .dominio-energia .ed-faixa { padding:16px; } .dominio-energia .obs-hero nav { border-top:1px solid #ffffff40; padding-top:20px; } }
/* Crédito: navegação persistente com leitura ampla; modo escuro continua disponível. */
html:not([data-theme="dark"]) .observatorio-credito { --bg:var(--obs-papel); --surface:#FFFFFF; --surface-2:var(--obs-contexto); --text:var(--obs-tinta); --text-2:#3D4147; --text-3:#626762; --border:var(--obs-regra); --accent:var(--obs-destaque); --accent-ink:#0B4F5E; --accent-soft:var(--obs-contexto); }
.observatorio-credito { --fs-base:15px; --fs-sm:14px; --fs-2xs:12px; --fs-xs:13px; --sidebar-w:244px; }
.observatorio-credito .obs-brandbar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px 32px; padding:8px clamp(16px,3vw,40px); border-bottom:1px solid var(--border); background:var(--surface); position:relative; z-index:40; }
.observatorio-credito .obs-brand { display:inline-flex; min-height:44px; align-items:center; gap:12px; font:400 17px/1.3 var(--serif); text-transform:uppercase; letter-spacing:.22em; color:var(--text); text-decoration:none; }
.observatorio-credito .obs-dominios a { color:var(--text); }
.observatorio-credito main { max-width:1240px; padding:28px clamp(16px,3vw,36px) 64px; }
.observatorio-credito .sidebar { background:var(--surface); padding:24px 16px 16px; }
.observatorio-credito .brand { border-bottom:1px solid var(--border); padding-bottom:20px; }
.observatorio-credito .brandtext { font-size:16px; line-height:1.35; }
.observatorio-credito .navlabel { font-size:12px; letter-spacing:.08em; }
.observatorio-credito #tabs button[data-view] { min-height:44px; font-size:14px; padding-block:10px; }
.observatorio-credito .pagehead { background:var(--surface); border-top:3px solid var(--accent); padding:24px; margin-bottom:20px; }
.observatorio-credito .pagehead h1, .observatorio-credito .pagehead h2 { font:400 clamp(28px,3vw,40px)/1.15 var(--serif); color:var(--text); margin:0 0 12px; }
.observatorio-credito .pagehead .viewdesc { font-size:16px; line-height:1.6; }
.observatorio-credito .ph-meta { line-height:1.6; }
.observatorio-credito .card { border-radius:0; padding:24px; }
.observatorio-credito .card h4 { font-size:15px; line-height:1.45; }
.observatorio-credito .sechead { margin-top:40px; padding-top:20px; border-top:1px solid var(--border); }
.observatorio-credito .sechead h3 { font:400 28px/1.25 var(--serif); }
.observatorio-credito .tblwrap { border:1px solid var(--border); }
.observatorio-credito table.data { font-size:14px; }
.observatorio-credito table.data th { padding-block:12px; color:var(--text); background:var(--surface-2); }
.observatorio-credito .controls { gap:12px; background:var(--surface); padding:16px; border:1px solid var(--border); }
.observatorio-credito .controls select, .observatorio-credito .controls input, .observatorio-credito button.btn { min-height:44px; }
.obs-credit-hero { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:32px; }
.obs-credit-hero h1 { margin-bottom:16px; }
.obs-credit-hero>div>p:not(.obs-eyebrow) { max-width:600px; font-size:16px; color:var(--obs-marfim); }
.obs-credit-hero nav { border-left:1px solid #ffffff40; padding-left:24px; }
.obs-credit-hero nav>a { display:block; min-height:44px; padding:14px 0; font:400 20px/1.3 var(--serif); text-decoration:none; border-bottom:1px solid #ffffff40; }
.obs-credit-hero nav>a span { display:block; margin-top:6px; font:400 14px/1.6 var(--sans); }
.observatorio-credito .obs-map-meta { border-top:0; background:transparent; padding:20px 0 0; }
.observatorio-credito .obs-map-meta h2, .observatorio-credito .obs-map-meta .viewdesc { display:none; }
.observatorio-credito .mapa-fluxo { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.observatorio-credito .mapa-no { border-radius:0; border-top:3px solid var(--accent); padding:24px; }
.observatorio-credito .mapa-no h4 { font:400 22px/1.25 var(--serif); }
.observatorio-credito .mapa-no::after { content:none; }
.observatorio-credito .mapa-num { border-radius:0; width:32px; height:32px; margin-bottom:12px; }
.observatorio-credito .mapa-no li a { display:inline-flex; align-items:center; min-height:44px; font-size:14px; }
.observatorio-credito .mapa-perg div { padding-block:12px; }
.observatorio-credito .mapa-perg dt { font-size:15px; line-height:1.5; }
.observatorio-credito .mapa-perg dd a { display:inline-flex; min-height:44px; align-items:center; font-size:14px; }
.obs-index-search { border:1px solid var(--border); padding:20px; background:var(--surface); margin-bottom:20px; }
.obs-index-search label { display:block; font-weight:600; font-size:14px; margin-bottom:8px; }
.obs-index-search>div { display:flex; gap:12px; flex-wrap:wrap; }
.obs-index-search input { flex:1; min-width:0; width:100%; min-height:48px; border:1px solid var(--text-3); background:var(--surface); color:var(--text); padding:12px; }
.obs-index-search button { min-height:44px; padding:8px 16px; border:1px solid var(--border); background:var(--surface-2); color:var(--text); }
.obs-index-search [role=status] { font-size:13px; margin:12px 0 0; }
.observatorio-credito [hidden] { display:none!important; }
[data-theme=dark] .observatorio-credito .obs-metrics { background:var(--surface); color:var(--text); }
[data-theme=dark] .observatorio-credito .obs-metrics dd:last-child { color:var(--text-2); }
@media(min-width:1600px) { .observatorio-credito .mapa-fluxo { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media(max-width:1100px) { .obs-credit-hero { grid-template-columns:1fr; } .obs-credit-hero nav { border-left:0; padding-left:0; border-top:1px solid #ffffff40; padding-top:20px; } .obs-credit-hero nav>a { font-size:18px; } }
@media(max-width:960px) { .observatorio-credito .obs-brandbar { padding:8px 16px; } .observatorio-credito .mobilebar { background:var(--surface); backdrop-filter:none; min-height:56px; } .observatorio-credito .mobilebar button { min-width:44px; min-height:44px; } .observatorio-credito .mobile-obs { display:none; } .observatorio-credito .mapa-fluxo { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:639px) { .observatorio-credito .obs-brandbar { gap:0; } .observatorio-credito .obs-brand { font-size:15px; } .observatorio-credito .obs-dominios { width:100%; } .observatorio-credito .pagehead, .observatorio-credito .card, .observatorio-credito .mapa-no { padding:20px 16px; } .observatorio-credito .obs-map-meta { padding:16px 0 0; } .observatorio-credito .mapa-fluxo { grid-template-columns:1fr; } .observatorio-credito .sechead h3 { font-size:24px; } }
@media print { .obs-brandbar, .obs-index-search, .obs-dominios, .obs-primary { display:none!important; } .obs-hero { background:white; color:black; padding:0; } .obs-hero a, .obs-hero p, .obs-credit-hero>div>p:not(.obs-eyebrow) { color:black; } }
.obs-hero h1 { font-family:var(--serif, var(--font-serif, Georgia)); }
.observatorio-credito .sidefoot { flex-wrap:wrap; gap:8px; }
.observatorio-credito .sidefoot .updated { flex-basis:100%; font-size:12px; line-height:1.5; }
.observatorio-credito .sidefoot button, .observatorio-credito .sidefoot a { min-width:32px; min-height:44px; }

.observatorio-credito .obs-index-group>summary { display:flex; align-items:center; gap:12px; min-height:48px; cursor:pointer; list-style:none; }
.observatorio-credito .obs-index-group>summary::-webkit-details-marker { display:none; }
.observatorio-credito .obs-index-group>summary h4 { flex:1; margin:0; font:400 22px/1.3 var(--serif); }
.observatorio-credito .obs-index-count { font-size:12px; color:var(--text-3); white-space:nowrap; }
.observatorio-credito .obs-index-arrow { color:var(--accent-ink); }
.observatorio-credito .obs-index-group[open] .obs-index-arrow { transform:rotate(180deg); }
.observatorio-credito .obs-index-group .mapa-perg { margin-top:16px; border-top:1px solid var(--border); }

/* Crédito e Energia — ritmo editorial. Escopo explícito: não altera o OBEE.
   Figuras, paletas de séries, filtros e contratos numéricos permanecem próprios. */
.observatorio-credito, .dominio-energia {
  --obs-papel:#F8F7F2; --obs-tinta:#182B36; --obs-destaque:#09697A;
  --obs-regra:#D7DCD7; --obs-contexto:#E7EFEE;
}
.observatorio-credito .obs-hero, .dominio-energia .obs-hero {
  background:transparent; color:var(--obs-tinta); padding:24px 0 28px;
  border-top:2px solid var(--obs-destaque); border-bottom:1px solid var(--obs-regra);
}
.observatorio-credito .obs-hero h1, .dominio-energia .obs-hero h1 {
  font-size:clamp(30px,3.2vw,46px); line-height:1.16; text-wrap:balance;
}
.observatorio-credito .obs-hero p, .observatorio-credito .obs-hero nav>a span,
.dominio-energia .obs-hero [class*="text-carvao"],
.dominio-energia .obs-hero [class*="text-mineral"] { color:#58666B; }
.observatorio-credito .obs-hero a, .dominio-energia .obs-hero a { color:var(--obs-destaque); }
.observatorio-credito .obs-hero .obs-primary { background:var(--obs-destaque); color:white; }
.observatorio-credito .obs-hero nav, .observatorio-credito .obs-hero nav>a,
.dominio-energia .obs-hero .border-linha, .dominio-energia .obs-hero .divide-linha>*+* { border-color:var(--obs-regra); }
.observatorio-credito .obs-metrics, .dominio-energia .obs-metrics { background:transparent; }
.observatorio-credito .obs-metrics>div, .dominio-energia .obs-metrics>div { padding:14px 16px; }
.observatorio-credito .obs-metrics dd:first-child, .dominio-energia .obs-metrics dd:first-child {
  font-family:inherit; font-size:20px; font-variant-numeric:tabular-nums;
}
.observatorio-credito .pagehead, .dominio-energia .cab-modulo {
  background:transparent; padding:24px 0; border-top:2px solid var(--obs-destaque);
  border-bottom:1px solid var(--obs-regra); margin-bottom:24px;
}
.observatorio-credito .obs-map-meta { border-top:0; }
.observatorio-credito .pagehead .viewdesc, .dominio-energia .ed-lead { max-width:70ch; line-height:1.65; }
.observatorio-credito .pagehead h1, .dominio-energia .ed-h1 { text-wrap:balance; }
.observatorio-credito .grid { gap:24px; }
.observatorio-credito .grid>* { min-width:0; }
.observatorio-credito .card { box-shadow:none; border-color:var(--border); }
.observatorio-credito .card h4 { font-size:16px; color:var(--text); margin-bottom:12px; }
.observatorio-credito .sechead { margin-top:48px; padding-top:24px; }
.observatorio-credito .sechead h3 { text-wrap:balance; }
.observatorio-credito .guia-leitura {
  margin:20px 0 28px; padding:20px 24px; border-left:3px solid var(--accent);
  background:var(--surface); color:var(--text-2);
}
.observatorio-credito .guia-pergunta { font:400 22px/1.35 var(--serif); color:var(--text); margin:0 0 12px; }
.observatorio-credito .guia-como, .observatorio-credito .guia-limite { max-width:75ch; margin:8px 0; font-size:14px; line-height:1.65; }
.observatorio-credito .guia-leitura .guia { border:0; border-top:1px solid var(--border); border-radius:0; margin:16px 0 0; background:transparent; }
.observatorio-credito .guia-leitura summary { padding:10px 0 0; min-height:44px; }
.observatorio-credito .guia-leitura .guiabody { display:block; border:0; padding:12px 0 0; max-width:75ch; }
.observatorio-credito table.data { font-variant-numeric:tabular-nums; }
.observatorio-credito table.data td { padding-block:12px; }
.observatorio-credito table.data tbody tr:hover { background:var(--surface-2); }
.dominio-energia [data-painel-evidencia] { padding-top:32px; margin-top:16px; }
.dominio-energia [data-painel-evidencia]>header { max-width:75ch; }
.dominio-energia [data-notas-painel] { padding-block:16px; }
.dominio-energia [data-notas-painel] aside { line-height:1.65; }
.dominio-energia .ed-faixa { background:transparent; padding:20px 0; }
.dominio-energia .obs-home-search { padding:16px 20px; }
.dominio-energia .obs-catalogo>div { border:0; border-top:1px solid var(--obs-regra); background:transparent; padding:24px 0; }
.dominio-energia .ed-meta { font-size:13px; line-height:1.6; margin-top:12px; }
.dominio-energia [data-limite] { border-left:2px solid var(--obs-regra); padding-left:12px; margin-top:16px; line-height:1.6; }
.observatorio-credito :is(a,button,input,select,summary):focus-visible,
.dominio-energia :is(a,button,input,select,summary):focus-visible { outline:2px solid var(--obs-destaque); outline-offset:4px; }
@media(max-width:639px) {
  .observatorio-credito .obs-hero, .dominio-energia .obs-hero { padding:20px 0; }
  .observatorio-credito .pagehead, .dominio-energia .cab-modulo { padding:20px 0; }
  .observatorio-credito .guia-leitura { padding:16px; }
  .observatorio-credito .guia-pergunta { font-size:20px; }
  .observatorio-credito .guiamais { white-space:normal; }
  .observatorio-credito .grid { gap:16px; }
  .observatorio-credito .sechead { margin-top:32px; }
  .dominio-energia [data-painel-evidencia] { padding-top:24px; }
  .dominio-energia .obs-hero nav { border-color:var(--obs-regra); }
}
html[data-theme="dark"] .observatorio-credito { --obs-tinta:var(--text); --obs-regra:var(--border); --obs-destaque:var(--accent); }
html[data-theme="dark"] .observatorio-credito .obs-hero p,
html[data-theme="dark"] .observatorio-credito .obs-hero nav>a span { color:var(--text-2); }
@media(prefers-reduced-motion:reduce) {
  .observatorio-credito *, .dominio-energia * { scroll-behavior:auto!important; animation:none!important; transition:none!important; }
}
html[data-theme="dark"] .observatorio-credito .obs-hero .obs-primary { color:var(--bg); }

/* Revisão por subpainel: guia de leitura compacto e acesso aos capítulos longos. */
.observatorio-credito .obs-page-index {
  margin:0 0 28px; border-block:1px solid var(--border); background:transparent;
}
.observatorio-credito .obs-page-index summary {
  padding:12px 0; min-height:44px; color:var(--accent-ink); cursor:pointer;
  font-size:14px; font-weight:600;
}
.observatorio-credito .obs-page-index nav {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 28px; padding:0 0 16px;
}
.observatorio-credito .obs-page-index a {
  display:flex; align-items:center; min-height:44px; padding:8px 0;
  border-top:1px solid var(--border); color:var(--text-2); line-height:1.45;
  text-decoration:none; overflow-wrap:anywhere;
}
.observatorio-credito .obs-page-index a:hover { color:var(--accent-ink); text-decoration:underline; }
.observatorio-credito h3[id] { scroll-margin-top:100px; }
@media(min-width:1100px) {
  .observatorio-credito .guia-leitura {
    display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:28px;
  }
  .observatorio-credito .guia-pergunta,
  .observatorio-credito .guia-leitura .guia { grid-column:1 / -1; }
  .observatorio-credito .guia-leitura .guia { margin-top:8px; }
}
/* Proventos: dezoito companhias precisam de duas colunas legíveis, não três minigráficos. */
.observatorio-credito #view-market .ov-3col { grid-template-columns:repeat(2,minmax(0,1fr)); }
@media(max-width:639px) {
  .observatorio-credito .obs-page-index nav,
  .observatorio-credito #view-market .ov-3col { grid-template-columns:minmax(0,1fr); }
}
@media print { .observatorio-credito .obs-page-index { display:none; } }
/* Modalidades do produto: conservar prazo e indexador também no celular. */
.observatorio-credito #view-product .controls .seg { flex-wrap:wrap; }
.observatorio-credito #view-product .controls .seg button {
  white-space:normal; max-width:36ch; min-height:44px; text-align:left; line-height:1.4;
}
.observatorio-credito #view-products .card h4 a { color:inherit; text-underline-offset:4px; }
