/* SAP system graph (SG6): client tab "SAP systems" and Administration > System graph. */
.sg-explorador { display: flex; flex-direction: column; gap: 12px; padding: 12px 0; min-width: 0; }
.sg-abas { display: flex; gap: 6px; flex-wrap: wrap; border-bottom: 1px solid var(--color-border); padding-bottom: 6px; }
.sg-abas .btn-secondary.active, .sg-abas .btn.active { background: var(--color-accent-soft); color: var(--color-accent); font-weight: 600; }
.sg-corpo { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.sg-barra { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.sg-barra input, .sg-barra select { min-width: 0; width: auto; flex: 1 1 140px; max-width: 260px; }
.sg-painel { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 340px); gap: 12px; align-items: start; }
.sg-canvas { min-height: 420px; height: 60vh; border: 1px solid var(--color-border); border-radius: var(--radius-5); position: relative; overflow: hidden; }
.sg-lateral { min-width: 0; max-height: 60vh; overflow: auto; padding: 8px; border: 1px solid var(--color-border); border-radius: var(--radius-5); background: var(--color-surface); }
.sg-lateral h3 { margin: 0 0 6px; font-family: var(--font-mono); font-size: var(--fs-5); overflow-wrap: anywhere; }
.sg-relacoes, .sg-membros, .sg-processos { margin: 6px 0; padding-left: 16px; font-size: var(--fs-6); overflow-wrap: anywhere; }
.sg-processos { list-style: none; padding-left: 0; display: flex; flex-direction: column; gap: 2px; }
.sg-fonte { max-height: 260px; overflow: auto; font-size: var(--fs-6); background: var(--color-surface); padding: 8px; }
.sg-card-bloco { margin: 8px 0; }
.sg-card-bloco ul { margin: 2px 0; padding-left: 18px; }
.sg-resumo, .sg-custo { display: flex; flex-direction: column; gap: 6px; }
.sg-custo-linha { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.sg-accoes { display: flex; flex-direction: column; gap: 8px; max-width: 560px; }
.sg-tabela { width: 100%; border-collapse: collapse; font-size: var(--fs-6); }
.sg-tabela th, .sg-tabela td { text-align: left; padding: 4px 8px; border-bottom: 1px solid var(--color-border); overflow-wrap: anywhere; }
.sg-tabela td:nth-child(2) { font-family: var(--font-mono); }
.sg-admin .sg-form { display: flex; flex-direction: column; gap: 16px; max-width: 760px; }
.sg-admin fieldset { border: 1px solid var(--color-border); border-radius: var(--radius-5); padding: 10px 12px; display: flex; flex-direction: column; gap: 8px; }
.sg-admin label { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.sg-admin label.sg-campo { flex-direction: column; align-items: flex-start; gap: 4px; }
.sg-admin label.sg-campo input { width: 100%; max-width: 220px; }
.sg-admin .sg-linha { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.sg-admin .sg-linha input { flex: 1 1 120px; min-width: 0; max-width: 220px; }
.sg-admin input[type="checkbox"] { width: auto; min-width: 0; }
.sg-admin .sg-cfg-erro { color: var(--color-danger, #c0392b); font-size: var(--fs-6); }
@media (max-width: 760px) {
  .sg-painel { grid-template-columns: minmax(0, 1fr); }
  .sg-canvas { min-height: 300px; height: 48vh; }
  .sg-lateral { max-height: none; }
  .sg-tabela { display: block; overflow-x: auto; }
}
