/* =========================================================
   SWC PMO · cdc.css
   Centro de Custos (CDC) — lista + drill financeiro.
========================================================= */

.cdc-page { padding: 24px 28px; max-width: 1400px; }

.cdc-header {
  display: flex; justify-content: space-between; align-items: flex-start;
  gap: 16px; margin-bottom: 20px;
}
.cdc-header h1 { margin: 0 0 4px 0; font-size: 22px; }
.cdc-header .muted { font-size: 13px; color: var(--swm-muted, #8892a4); }

.cdc-tabs {
  display: flex; gap: 4px; margin-bottom: 16px;
  border-bottom: 1px solid var(--swm-border, #1a1d27);
}
.cdc-tab {
  background: transparent; border: none; color: var(--swm-muted, #8892a4);
  padding: 10px 18px; cursor: pointer; font-size: 14px;
  border-bottom: 2px solid transparent; transition: all .15s;
}
.cdc-tab:hover { color: var(--swm-text, #e8eaf0); }
.cdc-tab.active {
  color: var(--swm-gold, #f59e0b);
  border-bottom-color: var(--swm-gold, #f59e0b);
}

.cdc-body { min-height: 200px; }

.cdc-table th.num, .cdc-table td.num { text-align: right; }
.cdc-table .cdc-saldo.pos { color: #34d399; font-weight: 600; }
.cdc-table .cdc-saldo.neg { color: #f87171; font-weight: 600; }

.cdc-empty {
  text-align: center; padding: 48px 24px;
  color: var(--swm-muted, #8892a4); font-size: 14px;
}
.cdc-error {
  background: rgba(248, 113, 113, .12); color: #fca5a5;
  padding: 12px 16px; border-radius: 6px; margin: 12px 0;
  border: 1px solid rgba(248, 113, 113, .3);
}

/* ── Drill (modal grande) ────────────────────────── */
.swm-modal-lg { max-width: 960px; width: 92vw; }

.modal-head {
  display: flex; justify-content: space-between; align-items: center;
  padding: 16px 20px; border-bottom: 1px solid var(--swm-border, #1a1d27);
}
.modal-head h2 { margin: 0 0 4px 0; font-size: 17px; }
.modal-close {
  background: none; border: none; color: var(--swm-muted, #8892a4);
  font-size: 24px; cursor: pointer; line-height: 1;
}

.cdc-badge {
  display: inline-block; padding: 2px 10px; border-radius: 10px;
  font-size: 11px; text-transform: uppercase; letter-spacing: .5px;
}
.cdc-badge.aberto     { background: rgba(52,211,153,.15); color: #34d399; }
.cdc-badge.finalizado { background: rgba(148,163,184,.15); color: #94a3b8; }

.cdc-meta {
  display: grid; grid-template-columns: 1fr 1fr; gap: 12px 24px;
  padding: 16px 20px; border-bottom: 1px solid var(--swm-border, #1a1d27);
}
.cdc-meta .full { grid-column: 1 / -1; }
.cdc-meta .label {
  display: block; font-size: 11px; text-transform: uppercase;
  color: var(--swm-muted, #8892a4); margin-bottom: 2px; letter-spacing: .4px;
}
.cdc-meta strong { font-size: 14px; }
.cdc-escopo { white-space: pre-wrap; font-size: 13px; line-height: 1.5; }

.cdc-fin {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px;
  padding: 16px 20px; border-bottom: 1px solid var(--swm-border, #1a1d27);
}
.cdc-card {
  background: var(--swm-card, #14171f); border-radius: 8px;
  padding: 14px 16px; border: 1px solid var(--swm-border, #1a1d27);
}
.cdc-card span {
  display: block; font-size: 11px; text-transform: uppercase;
  color: var(--swm-muted, #8892a4); margin-bottom: 6px; letter-spacing: .4px;
}
.cdc-card strong { font-size: 18px; }
.cdc-card.pos strong { color: #34d399; }
.cdc-card.neg strong { color: #f87171; }

.cdc-os { padding: 16px 20px; border-bottom: 1px solid var(--swm-border, #1a1d27); }
.cdc-os-head {
  display: flex; justify-content: space-between; align-items: center;
  margin-bottom: 12px;
}
.cdc-os-head h3 { margin: 0; font-size: 14px; font-weight: 600; }

.cdc-actions {
  display: flex; justify-content: flex-end; gap: 8px;
  padding: 14px 20px;
}

.btn-warn {
  background: rgba(248, 113, 113, .12); color: #fca5a5;
  border: 1px solid rgba(248, 113, 113, .3);
}
.btn-warn:hover { background: rgba(248, 113, 113, .2); }

.btn-link {
  background: transparent; border: none; color: var(--swm-gold, #f59e0b);
  cursor: pointer; font-size: 12px; padding: 0; text-decoration: underline;
}

/* ── Form Novo / Vincular ────────────────────────── */
.cdc-form { padding: 16px 20px; }
.cdc-form label {
  display: block; margin-bottom: 14px; font-size: 12px;
  color: var(--swm-muted, #8892a4);
}
.cdc-form input, .cdc-form textarea, .cdc-form select {
  display: block; width: 100%; padding: 8px 10px;
  background: var(--swm-input, #0f1117);
  border: 1px solid var(--swm-border, #1a1d27);
  border-radius: 6px; color: var(--swm-text, #e8eaf0);
  font-size: 13px; margin-top: 4px; font-family: inherit;
}
.cdc-form .req { color: #f87171; }

.cdc-form-actions {
  display: flex; justify-content: flex-end; gap: 8px;
  padding: 12px 20px 18px;
}

.cdc-vinc-list {
  max-height: 50vh; overflow-y: auto; padding: 0 20px;
}
.cdc-vinc-list table { width: 100%; }
