/* PC-004 — espelho cadastral CNPJ persistido no Portal.
   Tema semântico: nenhuma cor fixa de dark/light vive neste componente. */
.portal #content:has(>.company-layout)>.cp-company-registry-mirror{
  grid-column:1/-1!important;
  margin-top:0!important;
  min-width:0!important;
  padding:20px!important;
  color:var(--cp-text)!important;
  background:var(--cp-surface)!important;
  border-color:var(--cp-border)!important;
  box-shadow:var(--cp-shadow)!important;
}
.cp-registry-title{align-items:flex-start!important}
.cp-registry-title>div{min-width:0}
.cp-registry-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px;
  margin-top:16px;
  overflow:hidden;
  border:1px solid var(--cp-border)!important;
  border-radius:14px;
  background:var(--cp-border)!important;
}
.cp-registry-field{
  min-width:0;
  padding:13px 14px;
  background:var(--cp-surface-2)!important;
  color:var(--cp-text)!important;
}
.cp-registry-field.wide{grid-column:span 2}
.cp-registry-field span{
  display:block;
  margin-bottom:5px;
  color:var(--cp-muted)!important;
  font-size:10px;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.cp-registry-field strong{
  display:block;
  color:var(--cp-text-strong)!important;
  font-size:12px;
  line-height:1.45;
  overflow-wrap:anywhere;
}
.cp-registry-details{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:14px;
}
.cp-registry-details details{
  min-width:0;
  border:1px solid var(--cp-border)!important;
  border-radius:12px;
  background:var(--cp-surface-2)!important;
  color:var(--cp-text)!important;
  overflow:hidden;
}
.cp-registry-details summary{
  cursor:pointer;
  list-style:none;
  padding:12px 14px;
  color:var(--cp-text-strong)!important;
  font-size:11px;
  font-weight:900;
}
.cp-registry-details summary::-webkit-details-marker{display:none}
.cp-registry-details summary b{
  float:right;
  min-width:24px;
  padding:2px 7px;
  border:1px solid var(--cp-border)!important;
  border-radius:999px;
  background:var(--cp-active)!important;
  color:var(--cp-accent)!important;
  text-align:center;
  font-size:9px;
}
.cp-registry-list{display:grid;gap:7px;padding:0 12px 12px}
.cp-registry-list-row{
  display:grid;
  grid-template-columns:minmax(74px,.35fr) minmax(0,1fr);
  gap:10px;
  align-items:start;
  padding:9px 10px;
  border:1px solid var(--cp-border)!important;
  border-radius:9px;
  background:var(--cp-surface)!important;
  color:var(--cp-text)!important;
}
.cp-registry-list-row.partner{grid-template-columns:minmax(150px,.6fr) minmax(0,1fr)}
.cp-registry-list-row code{color:var(--cp-accent)!important;font-size:10px}
.cp-registry-list-row strong{color:var(--cp-text-strong)!important;font-size:11px;overflow-wrap:anywhere}
.cp-registry-list-row span{color:var(--cp-muted)!important;font-size:10px;line-height:1.4;overflow-wrap:anywhere}
.cp-registry-foot{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:10px;
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid var(--cp-border)!important;
  background:var(--cp-surface)!important;
  color:var(--cp-muted)!important;
  font-size:10px;
}
.cp-registry-foot strong{color:var(--cp-text-strong)!important}

@media(max-width:1320px){
  .portal #content:has(>.company-layout)>.cp-company-registry-mirror{margin-top:16px!important}
  .cp-registry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cp-registry-details{grid-template-columns:1fr}
}
@media(max-width:720px){
  .cp-registry-grid{grid-template-columns:1fr}
  .cp-registry-field.wide{grid-column:auto}
  .cp-registry-list-row,.cp-registry-list-row.partner{grid-template-columns:1fr}
  .cp-registry-foot{display:grid}
}
