/* ControlPDV Portal Final Pass v1 — Master methodology adaptation */
html[data-cp-theme]{
  --cp-page-max:1680px;--cp-radius-card:14px;--cp-radius-control:10px;
  --cp-space-1:6px;--cp-space-2:10px;--cp-space-3:14px;--cp-space-4:18px;--cp-space-5:24px;
  --cp-font-body:14px;--cp-font-small:12px;--cp-font-micro:10px;
}
html[data-cp-theme] .portal>.main{padding:24px clamp(22px,2.4vw,32px) 52px!important}
html[data-cp-theme] .portal :is(.topbar,.content,.banner){width:min(var(--cp-page-max),100%)!important;max-width:var(--cp-page-max)!important;margin-left:auto!important;margin-right:auto!important}
html[data-cp-theme] .portal .content{color:var(--cp-text)!important;font-size:var(--cp-font-body);line-height:1.52}
html[data-cp-theme] .portal .topbar{margin-bottom:20px!important}
html[data-cp-theme] .portal .topbar h1{font-size:clamp(25px,2vw,31px)!important;line-height:1.12;color:var(--cp-text-strong)!important}
html[data-cp-theme] .portal h2{color:var(--cp-text-strong)!important;font-size:18px;line-height:1.25;letter-spacing:-.012em}
html[data-cp-theme] .portal h3{color:var(--cp-text-strong)!important;font-size:14px;line-height:1.3}
html[data-cp-theme] .portal :is(p,small){line-height:1.48}
html[data-cp-theme] .portal .muted{color:var(--cp-muted)!important}
html[data-cp-theme] .portal .card{color:var(--cp-text)!important;background:var(--cp-surface)!important;border:1px solid var(--cp-border)!important;border-radius:var(--cp-radius-card)!important;box-shadow:var(--cp-shadow)!important}
html[data-cp-theme] .portal :is(.section.card,.form-card,.history-card){padding:18px!important}
html[data-cp-theme] .portal .section-head{gap:14px!important;margin-bottom:14px!important}
html[data-cp-theme] .portal .section-head>div{min-width:0}
html[data-cp-theme] .portal .section-head :is(h2,h3){margin-bottom:0}
html[data-cp-theme] .portal .eyebrow{color:var(--cp-accent)!important;font-size:var(--cp-font-micro)!important;letter-spacing:.12em!important}
html[data-cp-theme] .portal :is(.field input,.field select,.field textarea){color:var(--cp-field-text)!important;background:var(--cp-field)!important;border:1px solid var(--cp-border-strong)!important;border-radius:var(--cp-radius-control)!important}
html[data-cp-theme] .portal :is(.field input,.field select,.field textarea):focus{border-color:var(--cp-accent)!important;box-shadow:0 0 0 3px var(--cp-accent-soft)!important}
html[data-cp-theme] .portal :is(.switch-row,.permission-option,.permission-readonly,.credential-box,.status-line){color:var(--cp-text)!important;background:var(--cp-surface-2)!important;border-color:var(--cp-border)!important;box-shadow:none!important}
html[data-cp-theme] .portal :is(.switch-row,.permission-option):hover{background:var(--cp-hover)!important;border-color:var(--cp-border-strong)!important}
html[data-cp-theme] .portal .table-wrap{background:var(--cp-surface)!important;border-color:var(--cp-border)!important;border-radius:12px!important}
html[data-cp-theme] .portal table{color:var(--cp-text)!important}
html[data-cp-theme] .portal table th{color:var(--cp-muted)!important;background:var(--cp-surface-3)!important;border-color:var(--cp-border)!important}
html[data-cp-theme] .portal table td{color:var(--cp-text)!important;background:var(--cp-surface)!important;border-color:var(--cp-border)!important}
html[data-cp-theme] .portal :is(.primary,.secondary,.ghost,.danger){border-radius:var(--cp-radius-control)!important;min-height:38px}
html[data-cp-theme] .portal :is(.secondary,.ghost){background:var(--cp-surface-2)!important;color:var(--cp-text)!important;border-color:var(--cp-border-strong)!important}
html[data-cp-theme] .portal :is(.secondary,.ghost):hover{background:var(--cp-hover)!important}
html[data-cp-theme] .portal :is(.notice,.warnbox,.empty){border-radius:12px!important}

html[data-cp-theme="light"] .portal :is(
  .registry-mirror,.registry-head,.registry-item,.registry-list>div,.registry-ie-option,.cp-registry-block,.cp-registry-kv,.activation-registry,.public-status-grid>div,
  .pdv-register024,.pdv-meta024,.flow-card024,.flow024,.ecosystem-flow025,.cp-evo-card,.cp-evo-mini,
  .lc-provider-option026,.lc-warning024,.acq-plan,.acq-code,.food-section024,.food-config-box024,.food-external-channel024,.food-row024,
  .pc011-root,.pc011-finance-grid>article,.cp-legal-card,.glp,.glp-mini
){color-scheme:light!important;color:var(--cp-text)!important;background:var(--cp-surface)!important;border-color:var(--cp-border)!important;box-shadow:none!important}
html[data-cp-theme="light"] .portal :is(.registry-item,.registry-list>div,.registry-ie-option,.cp-registry-block,.cp-registry-kv,.pdv-meta024,.flow024,.ecosystem-flow025,.cp-evo-mini,.food-config-box024,.food-row024,.glp-mini){background:var(--cp-surface-2)!important}
html[data-cp-theme="light"] .portal .registry-head{background:var(--cp-surface-3)!important}
html[data-cp-theme="light"] .portal .registry-grid{background:var(--cp-border)!important}
html[data-cp-theme="light"] .portal :is(.registry-head p,.registry-item span,.registry-list span,.registry-source,.pdv-meta024 span,.flow024,.ecosystem-flow025,.cp-evo-mini small,.food-row024 small,.glp-mini span){color:var(--cp-muted)!important}
html[data-cp-theme="light"] .portal :is(.registry-item strong,.registry-list strong,.pdv-meta024 strong,.cp-evo-mini strong,.food-row024 strong,.glp-mini strong){color:var(--cp-text-strong)!important}
html[data-cp-theme="light"] .portal .content [style*="background:#0"],html[data-cp-theme="light"] .portal .content [style*="background: #0"]{background:var(--cp-surface-2)!important;color:var(--cp-text)!important}

html[data-cp-theme] :is(.modal,.glp-dialog,.pc012-dialog,.cp-legal-dialog,.cp-coupon-modal024>.card){color:var(--cp-text)!important;background:var(--cp-surface)!important;border-color:var(--cp-border)!important}
html[data-cp-theme] .modal-back{color:var(--cp-text)}
html[data-cp-theme] .modal-back :is(.permission-option,.switch-row,.credential-box,.status-line){color:var(--cp-text)!important;background:var(--cp-surface-2)!important;border-color:var(--cp-border)!important}
html[data-cp-theme] .portal .content>.card+.card,html[data-cp-theme] .portal .content>.section+.section{margin-top:18px!important}
html[data-cp-theme] .portal :is(.grid2,.dashboard-grid,.billing-layout,.security-layout,.stores-layout,.food-admin-grid024,.pc011-finance-grid){gap:16px!important}

.portal-visual-organizer{margin:0 0 20px;padding:16px 17px;border:1px solid var(--cp-border);border-radius:15px;background:var(--cp-surface);box-shadow:var(--cp-shadow)}
.portal-visual-organizer-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:13px}
.portal-visual-organizer-head h2{margin:4px 0 5px!important}.portal-visual-organizer-head p{max-width:880px;margin:0;color:var(--cp-muted);font-size:12px}
.portal-visual-eyebrow{display:block;color:var(--cp-accent);font-size:9px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.portal-visual-context{flex:0 0 auto;padding:5px 8px;border:1px solid var(--cp-border-strong);border-radius:999px;color:var(--cp-muted);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.portal-workspace-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px}
.portal-workspace-tabs button{min-width:0;padding:10px 11px;border:1px solid var(--cp-border);border-radius:11px;background:var(--cp-surface-2);color:var(--cp-muted);text-align:left;cursor:pointer}
.portal-workspace-tabs button:hover{background:var(--cp-hover);border-color:var(--cp-border-strong)}
.portal-workspace-tabs button.active{background:var(--cp-active);border-color:var(--cp-accent);box-shadow:inset 3px 0 var(--cp-accent)}
.portal-workspace-tabs button span{display:block;color:var(--cp-text-strong);font-size:11px;font-weight:900}.portal-workspace-tabs button small{display:block;margin-top:3px;color:var(--cp-muted);font-size:9px;line-height:1.35}
.portal-organized-section{position:relative!important;margin-bottom:18px!important}.portal-organized-section::after{content:"";position:absolute;left:-1px;top:16px;bottom:16px;width:3px;border-radius:4px;background:var(--portal-zone-accent,var(--cp-accent));opacity:.78}
.portal-section-label{display:inline-flex;align-items:center;gap:6px;margin:0 0 10px;padding:4px 7px;border:1px solid color-mix(in srgb,var(--portal-zone-accent,var(--cp-accent)) 46%,var(--cp-border));border-radius:999px;background:var(--cp-surface-2);color:var(--portal-zone-accent,var(--cp-accent));font-size:8px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.portal-section-label::before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.portal-zone-hidden,.portal-parent-hidden{display:none!important}

html[data-cp-theme],html[data-cp-theme] body,html[data-cp-theme] *{scrollbar-width:thin;scrollbar-color:var(--cp-border-strong) color-mix(in srgb,var(--cp-bg) 82%,transparent)}
html[data-cp-theme]::-webkit-scrollbar,html[data-cp-theme] body::-webkit-scrollbar,html[data-cp-theme] *::-webkit-scrollbar{width:8px;height:8px}
html[data-cp-theme]::-webkit-scrollbar-track,html[data-cp-theme] body::-webkit-scrollbar-track,html[data-cp-theme] *::-webkit-scrollbar-track{background:color-mix(in srgb,var(--cp-bg) 82%,transparent);border-radius:999px}
html[data-cp-theme]::-webkit-scrollbar-thumb,html[data-cp-theme] body::-webkit-scrollbar-thumb,html[data-cp-theme] *::-webkit-scrollbar-thumb{min-width:42px;min-height:42px;border:2px solid var(--cp-bg);border-radius:999px;background:var(--cp-border-strong)}
html[data-cp-theme]::-webkit-scrollbar-thumb:hover,html[data-cp-theme] body::-webkit-scrollbar-thumb:hover,html[data-cp-theme] *::-webkit-scrollbar-thumb:hover{background:var(--cp-accent)}
html[data-cp-theme]::-webkit-scrollbar-button,html[data-cp-theme] body::-webkit-scrollbar-button,html[data-cp-theme] *::-webkit-scrollbar-button{width:0;height:0;display:none}
html[data-cp-theme]::-webkit-scrollbar-corner,html[data-cp-theme] body::-webkit-scrollbar-corner,html[data-cp-theme] *::-webkit-scrollbar-corner{background:transparent}
html[data-cp-theme] .portal :is(.nav,.table-wrap,.modal,.pc012-dialog,.glp-dialog){scrollbar-gutter:stable}
@media(max-width:1100px){.portal-workspace-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}html[data-cp-theme] .portal>.main{padding-inline:22px!important}}
@media(max-width:700px){.portal-visual-organizer-head{display:block}.portal-visual-context{display:inline-flex;margin-top:10px}.portal-workspace-tabs{grid-template-columns:1fr}}


/* ControlPDV Portal Final Pass v2 — visual parity with Master methodology */
html[data-cp-theme] .portal .content[data-portal-density="comfortable"]{
  --cp-section-gap:18px;
}
html[data-cp-theme] .portal .content[data-portal-density="dashboard"]{
  --cp-section-gap:14px;
}
html[data-cp-theme] .portal .content > section.card,
html[data-cp-theme] .portal .content > .cp-evo-card,
html[data-cp-theme] .portal .content > .glp,
html[data-cp-theme] .portal .content > .cp-legal-wrap{
  margin-bottom:var(--cp-section-gap,18px);
}
html[data-cp-theme] .portal :is(.company-layout,.stores-layout,.security-layout,.pc011-finance-grid,.food-admin-grid024).portal-single-column{
  grid-template-columns:minmax(0,1fr)!important;
}
html[data-cp-theme] .portal .portal-organized-section{
  min-width:0;
  animation:none!important;
  transition:none!important;
}
html[data-cp-theme] .portal .portal-visual-organizer{
  position:relative;
  overflow:hidden;
}
html[data-cp-theme] .portal .portal-visual-organizer::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:3px;
  background:var(--cp-accent);
}
html[data-cp-theme] .portal .portal-workspace-tabs button{
  min-height:58px;
}
html[data-cp-theme] .portal .portal-workspace-tabs button:focus-visible{
  outline:2px solid var(--cp-accent);
  outline-offset:2px;
}

/* Normalize late/runtime surfaces that used legacy dark variables. */
html[data-cp-theme] .portal :is(
  .pc012-item,.glp-notification,.glp-message,.glp-check,.lc-source-note024,
  .connector-card024,.security-note024,.cp-coupon-filters024,.cp-coupon-status024,
  .cp-legal-note,.pc021-machine,.pc021-history,.pc021-provision,.pc021-summary
){
  color:var(--cp-text)!important;
  border-color:var(--cp-border)!important;
}
html[data-cp-theme="dark"] .portal :is(
  .pc012-item,.glp-notification,.lc-source-note024,.connector-card024,.security-note024,
  .cp-coupon-filters024,.cp-legal-note
){
  background:var(--cp-surface-2)!important;
}
html[data-cp-theme="light"] .portal :is(
  .pc012-item,.glp-notification,.lc-source-note024,.connector-card024,.security-note024,
  .cp-coupon-filters024,.cp-legal-note,.pc021-machine,.pc021-history,.pc021-provision,.pc021-summary
){
  background:var(--cp-surface-2)!important;
}
html[data-cp-theme="light"] .portal :is(.pc012-copy h3,.glp-notification h3,.connector-card024 h2,.connector-card024 h3){
  color:var(--cp-text-strong)!important;
}
html[data-cp-theme="light"] .portal :is(.pc012-copy p,.pc012-meta,.glp-meta,.connector-capabilities026,.cp-coupon-status024){
  color:var(--cp-muted)!important;
}
html[data-cp-theme] .portal :is(.pc012-item,.glp-notification,.glp-check){
  border-radius:12px!important;
}
html[data-cp-theme] .portal .glp-notification.unread,
html[data-cp-theme] .portal .pc012-item.unread{
  background:color-mix(in srgb,var(--cp-accent) 8%,var(--cp-surface))!important;
  border-color:color-mix(in srgb,var(--cp-accent) 48%,var(--cp-border))!important;
}
html[data-cp-theme] .portal .glp-message.customer{
  background:color-mix(in srgb,var(--cp-accent) 9%,var(--cp-surface-2))!important;
}
html[data-cp-theme] .portal .glp-message.support{
  background:color-mix(in srgb,var(--cp-success) 9%,var(--cp-surface-2))!important;
}
html[data-cp-theme] .portal .glp-note{
  background:color-mix(in srgb,var(--cp-warning) 8%,var(--cp-surface-2))!important;
  color:var(--cp-text)!important;
  border-color:color-mix(in srgb,var(--cp-warning) 35%,var(--cp-border))!important;
}
html[data-cp-theme] .portal .glp-error{
  background:color-mix(in srgb,var(--cp-danger) 9%,var(--cp-surface-2))!important;
  color:var(--cp-text)!important;
  border-color:color-mix(in srgb,var(--cp-danger) 40%,var(--cp-border))!important;
}
html[data-cp-theme] .portal .glp-progress{
  background:var(--cp-surface-3)!important;
}
html[data-cp-theme] .portal .glp-progress i{
  background:var(--cp-accent)!important;
}

/* Tables and long operational areas keep room to breathe without wasting desktop width. */
html[data-cp-theme] .portal :is(.table-wrap,.lc-table024,.cp-coupon-table024){
  max-width:100%;
}
html[data-cp-theme] .portal :is(.table-wrap,.lc-table024){
  overflow:auto;
}
html[data-cp-theme] .portal :is(.table,table) :is(th,td){
  padding:11px 12px;
}
html[data-cp-theme] .portal :is(.row2,.row3,.glp-grid,.lc-kpis024,.cp-evo-grid,.billing-kpis){
  row-gap:14px!important;
  column-gap:14px!important;
}
html[data-cp-theme] .portal :is(.company-layout,.stores-layout,.security-layout){
  align-items:start;
}
html[data-cp-theme] .portal .field > span,
html[data-cp-theme] .portal .cp-legal-grid label{
  color:var(--cp-muted)!important;
  font-size:11px!important;
  letter-spacing:.01em;
}
html[data-cp-theme] .portal .field :is(input,select,textarea){
  min-height:40px;
}
html[data-cp-theme] .portal .section-head > :is(.badge,.permission-chip){
  flex:0 0 auto;
}

/* Legal, support and communication content follows the same surface vocabulary as the rest of the Portal. */
html[data-cp-theme] .cp-legal-card,
html[data-cp-theme] .pc012-dialog,
html[data-cp-theme] .glp-dialog{
  box-shadow:var(--cp-shadow)!important;
}
html[data-cp-theme="light"] :is(.cp-contract-text,.pc012-dialog,.glp-dialog){
  background:var(--cp-surface)!important;
  color:var(--cp-text)!important;
  border-color:var(--cp-border)!important;
}
html[data-cp-theme="light"] .cp-contract-text{
  background:var(--cp-surface-2)!important;
}

/* Keep tiny status colors semantic, but never let them become unreadable. */
html[data-cp-theme] .portal :is(.lc-state024,.pc021-online,.pc020-report-export-status){
  font-weight:800;
}
html[data-cp-theme="light"] .portal :is(.lc-state024.open,.pc021-online.ok,.pc020-report-export-status.ok){
  color:var(--cp-success)!important;
}
html[data-cp-theme="light"] .portal :is(.lc-state024.missing,.lc-state024.unknown){
  color:var(--cp-warning)!important;
}

@media(min-width:1440px){
  html[data-cp-theme] .portal .portal-workspace-tabs{
    grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  }
}

/* ControlPDV Portal Final Pass v3 — auditoria visual completa da gravação 2026-09-18 16:50
   Regra: tema é semântico. Nenhuma superfície funcional possui paleta própria fora dos tokens do Portal. */
html[data-cp-theme]{
  --cp-type-title:18px;
  --cp-type-card-title:14px;
  --cp-type-body:12px;
  --cp-type-label:10px;
  --cp-type-price:24px;
}
html[data-cp-theme] .portal,
html[data-cp-theme] .modal,
html[data-cp-theme] dialog{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
}

/* Minha Empresa: consulta + cadastro permanecem visíveis juntos. Não é um workspace.
   A grade estrutural permanece sob responsabilidade de portal-company-layout.css. */
html[data-cp-theme] .portal #content:has(>.company-layout) .company-registry-console,
html[data-cp-theme] .portal #content:has(>.company-layout) .company-form-card{
  min-width:0!important;
  background:var(--cp-surface)!important;
  color:var(--cp-text)!important;
  border-color:var(--cp-border)!important;
}
html[data-cp-theme] .portal #content:has(>.company-layout)>.cp-company-registry-mirror{
  width:100%!important;
  min-width:0!important;
}

/* Espelho cadastral: uma única gramática visual nos dois temas. */
html[data-cp-theme] .registry-empty{
  background:var(--cp-surface-2)!important;
  background-image:none!important;
  color:var(--cp-muted)!important;
  border-color:var(--cp-border-strong)!important;
}
html[data-cp-theme] .registry-mirror{
  background:var(--cp-surface)!important;
  background-image:none!important;
  color:var(--cp-text)!important;
  border-color:var(--cp-border)!important;
  box-shadow:none!important;
}
html[data-cp-theme] .registry-head{
  background:var(--cp-surface-3)!important;
  background-image:none!important;
  color:var(--cp-text)!important;
  border-color:var(--cp-border)!important;
}
html[data-cp-theme] .registry-head span{
  color:var(--cp-accent)!important;
}
html[data-cp-theme] .registry-head h3{
  color:var(--cp-text-strong)!important;
  font-size:var(--cp-type-title)!important;
}
html[data-cp-theme] .registry-head p,
html[data-cp-theme] .registry-source{
  color:var(--cp-muted)!important;
}
html[data-cp-theme] .registry-grid{
  background:var(--cp-border)!important;
}
html[data-cp-theme] .registry-item{
  background:var(--cp-surface-2)!important;
  background-image:none!important;
  color:var(--cp-text)!important;
}
html[data-cp-theme] .registry-item span{
  color:var(--cp-muted)!important;
  font-size:var(--cp-type-label)!important;
}
html[data-cp-theme] .registry-item strong{
  color:var(--cp-text-strong)!important;
  font-size:var(--cp-type-body)!important;
}
html[data-cp-theme] .registry-mirror details{
  background:var(--cp-surface)!important;
  border-color:var(--cp-border)!important;
}
html[data-cp-theme] .registry-mirror summary{
  background:var(--cp-surface)!important;
  color:var(--cp-text-strong)!important;
  border-color:var(--cp-border)!important;
}
html[data-cp-theme] .registry-list>div,
html[data-cp-theme] .registry-ie-option{
  background:var(--cp-surface-2)!important;
  background-image:none!important;
  color:var(--cp-text)!important;
  border-color:var(--cp-border)!important;
}
html[data-cp-theme] .registry-list code{color:var(--cp-accent)!important}
html[data-cp-theme] .registry-list span{color:var(--cp-muted)!important}
html[data-cp-theme] .registry-source,
html[data-cp-theme] .registry-actions{
  background:var(--cp-surface)!important;
  border-color:var(--cp-border)!important;
}
html[data-cp-theme] .public-status-grid{
  border-color:var(--cp-border)!important;
}
html[data-cp-theme] .public-status-grid>div{
  background:var(--cp-surface-2)!important;
  color:var(--cp-text)!important;
  border-color:var(--cp-border)!important;
}

/* Redundância deliberada para o modo claro: vence contratos legados mesmo se o seletor de módulo mudar. */
html[data-cp-theme="light"] .registry-mirror,
html.light .registry-mirror,
html[data-cp-theme="light"] .registry-head,
html.light .registry-head,
html[data-cp-theme="light"] .registry-item,
html.light .registry-item,
html[data-cp-theme="light"] .registry-list>div,
html.light .registry-list>div,
html[data-cp-theme="light"] .registry-ie-option,
html.light .registry-ie-option{
  color-scheme:light!important;
  box-shadow:none!important;
}
html[data-cp-theme="light"] .registry-mirror,
html[data-cp-theme="light"] .registry-mirror{background:var(--cp-surface)!important;border-color:var(--cp-border)!important}
html[data-cp-theme="light"] .registry-head,
html.light .registry-head{background:var(--cp-surface-3)!important}
html[data-cp-theme="light"] .registry-item,
html.light .registry-item,
html[data-cp-theme="light"] .registry-list>div,
html.light .registry-list>div,
html[data-cp-theme="light"] .registry-ie-option,
html.light .registry-ie-option{background:var(--cp-surface-2)!important}

/* Modal também é Portal: avisos e subcards nunca herdam a paleta dark do CSS legado. */
html[data-cp-theme] .modal .notice,
html[data-cp-theme] .modal-back .notice,
html[data-cp-theme] .modal .cp-inline-note,
html[data-cp-theme] .modal-back .cp-inline-note,
html[data-cp-theme] .modal .client-delivery-box025,
html[data-cp-theme] .modal .food-config-box024,
html[data-cp-theme] .modal .switch-row,
html[data-cp-theme] .modal .permission-option,
html[data-cp-theme] .modal .food-row024{
  background:var(--cp-surface-2)!important;
  background-image:none!important;
  color:var(--cp-text)!important;
  border-color:var(--cp-border)!important;
}
html[data-cp-theme] .modal .notice,
html[data-cp-theme] .modal-back .notice{
  color:var(--cp-muted-2)!important;
}
html[data-cp-theme] .modal :is(.notice,.cp-inline-note,.client-delivery-box025,.food-config-box024) strong{
  color:var(--cp-text-strong)!important;
}

/* Plano e adicionais: mesma escala tipográfica e mesma semântica de preço. */
html[data-cp-theme] .portal :is(.pc011-plan,.cp-addon){
  font-family:inherit!important;
  color:var(--cp-text)!important;
}
html[data-cp-theme] .portal .pc011-plan-head>div>span,
html[data-cp-theme] .portal .cp-addon>small{
  color:var(--cp-muted)!important;
  font-size:var(--cp-type-label)!important;
  line-height:1.25!important;
  font-weight:900!important;
  letter-spacing:.07em!important;
  text-transform:uppercase!important;
}
html[data-cp-theme] .portal .pc011-plan-head h3,
html[data-cp-theme] .portal .cp-addon>strong{
  color:var(--cp-text-strong)!important;
  font-size:var(--cp-type-card-title)!important;
  line-height:1.3!important;
  font-weight:850!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
html[data-cp-theme] .portal .pc011-price,
html[data-cp-theme] .portal .cp-addon .price{
  display:flex!important;
  align-items:baseline!important;
  gap:3px!important;
  margin:10px 0 8px!important;
  color:var(--cp-text-strong)!important;
  font-size:var(--cp-type-price)!important;
  line-height:1.1!important;
  font-weight:900!important;
  letter-spacing:-.02em!important;
}
html[data-cp-theme] .portal .pc011-price small,
html[data-cp-theme] .portal .cp-addon .price small{
  display:inline!important;
  margin:0!important;
  color:var(--cp-muted)!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:700!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
html[data-cp-theme] .portal .pc011-plan>p,
html[data-cp-theme] .portal .cp-addon>p{
  color:var(--cp-muted)!important;
  font-size:var(--cp-type-body)!important;
  line-height:1.5!important;
}
html[data-cp-theme] .portal .cp-addon{
  background:var(--cp-surface-2)!important;
  border-color:var(--cp-border)!important;
}

/* Tipografia transversal: módulos diferentes não podem inventar uma escala própria. */
html[data-cp-theme] .portal :is(
  .cp-evo-card,.cp-evo-mini,.glp,.glp-mini,.pc012-item,.connector-card024,
  .food-section024,.lc-source-note024,.cp-legal-card,.acq-plan,.pdv-register024
){
  font-family:inherit!important;
}
html[data-cp-theme] .portal :is(
  .cp-evo-head h2,.glp h2,.food-section024 h2,.connector-card024 h2,.cp-legal-card h2
){
  font-size:var(--cp-type-title)!important;
  line-height:1.25!important;
  color:var(--cp-text-strong)!important;
}
html[data-cp-theme] .portal :is(
  .cp-evo-muted,.glp-meta,.connector-capabilities026,.food-section024 .muted,.cp-legal-card .muted
){
  color:var(--cp-muted)!important;
  font-size:var(--cp-type-body)!important;
  line-height:1.5!important;
}

/* Estados de erro do Go-Live seguem o tema e não parecem uma tela paralela. */
html[data-cp-theme] .portal .glp-error{
  background:var(--cp-danger-bg)!important;
  background-image:none!important;
  color:var(--cp-danger)!important;
  border-color:color-mix(in srgb,var(--cp-danger) 42%,var(--cp-border))!important;
}

/* Nenhum texto de conteúdo deve herdar cor fixa clara/escura de um módulo legado. */
html[data-cp-theme] .portal .content :is(
  .registry-mirror,.cp-evo-card,.cp-evo-mini,.pc011-root,.glp,.food-section024,
  .connector-card024,.cp-legal-card,.acq-plan,.pdv-register024
){
  color:var(--cp-text)!important;
}
