/* Identidade de cards compartilhada. Não altera largura, altura, borda física,
   espaçamento, grade, posicionamento ou ordem. Bordas existentes são preservadas
   em espessura e apenas recebem cor transparente; o contorno é pintado por inset. */
:root {
  --cards-line: var(--line);
  --cards-accent: var(--accent);
  --cards-confirm: var(--good);
  --cards-attention: var(--warn);
  --cards-danger: var(--bad);
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --cards-line: var(--line);
    --cards-accent: var(--accent);
    --cards-confirm: var(--good);
    --cards-attention: var(--warn);
    --cards-danger: var(--bad);
  }
}
:root[data-theme="dark"] {
  --cards-line: var(--line);
  --cards-accent: var(--accent);
  --cards-confirm: var(--good);
  --cards-attention: var(--warn);
  --cards-danger: var(--bad);
}
:root:root .app .panel,
:root:root .app .stat,
:root:root .auth.auth-page .card.auth-card,
:root:root .public-wrap .panel,
:root:root .modal > .panel,
:root:root .reference-pdv .product-workspace,
:root:root .reference-pdv .sale-cart,
:root:root .reference-pdv .operation-rail button,
:root:root .reference-pdv .sale-footer,
:root:root .reference-pdv .item-fields .field,
:root:root .reference-pdv .product-tile {
  border-radius: 16px;
  border-color: transparent;
  background: var(--surface);
  color: var(--fg);
  box-shadow: inset 0 0 0 1px var(--cards-line), inset 4px 0 0 var(--cards-accent);
}
:root:root .app .stat .n {
  font-family: "JetBrains Mono", var(--f-mono);
  font-variant-numeric: tabular-nums;
}
/* Tipografia de títulos preservada: substituir a família no ERP altera a
   largura intrínseca. Ver ESTILO-CARDS-SISTEMA.md para a medição. */
:root:root .app .stat:has(.n[style*="--good"]),
:root:root .reference-pdv .item-fields .field:has(output) {
  --cards-accent: var(--good);
}
:root:root .app .stat:has(.n[style*="--warn"]),
:root:root .reference-pdv .operation-rail button[data-k="F4"],
:root:root .reference-pdv .operation-rail button[data-k="F8"],
:root:root .reference-pdv .operation-rail #bFechar { --cards-accent: var(--warn); }
:root:root .app .stat:has(.n[style*="--bad"]),
:root:root .reference-pdv .operation-rail button[data-k="F7"] { --cards-accent: var(--bad); }
:root:root .reference-pdv .operation-rail button[data-k="F10"] { --cards-accent: var(--good); }
:root:root .reference-pdv .operation-rail button:hover,
:root:root .reference-pdv .product-tile:hover {
  border-color: transparent;
  background: var(--accent-soft);
  box-shadow: inset 0 0 0 1px var(--accent), inset 4px 0 0 var(--cards-accent);
}
:root:root .reference-pdv .footer-total strong { color: var(--good); }
:root:root .reference-pdv .item-fields .field:has(output) { background: var(--good-soft); color: var(--good); }
:root:root .app .banner { border-radius: 14px; --cards-accent: var(--warn); box-shadow: inset 0 0 0 1px var(--line), inset 4px 0 0 var(--cards-accent); }
:root:root .app .banner[style*="--bad"] { --cards-accent: var(--bad); }
:root:root .app .banner[style*="--good"] { --cards-accent: var(--good); }
:root:root .app .btn.danger,
:root:root .reference-pdv .sale-footer .danger { box-shadow: inset 0 0 0 1px var(--bad), inset 4px 0 0 var(--bad); }
@media print {
  :root:root .app .panel, :root:root .app .stat, :root:root .public-wrap .panel,
  :root:root .modal > .panel { box-shadow: none; }
}
