/* cuentas.css — cash-flow integral de 6 cuentas */

/* selector de cuentas (chips) */
.cta-acct-chips { display: flex; flex-wrap: wrap; gap: 6px; flex: 1 1 auto; }
/* (transition de .cta-chip vive en main.css — paridad ya cubierta) */
.cta-chip { font-size: 13px; padding: 5px 12px; border-radius: 999px; }
.cta-chip.active {
  background: var(--accent); color: var(--accent-fg);
  border-color: var(--accent);
}

/* sub-tabs */
.cta-subtabs { gap: 4px; margin-top: 8px; flex-wrap: wrap; }
.cta-subtab { font-size: 13px; padding: 4px 12px; transition: background .15s; }
.cta-subtab.active {
  background: var(--accent-soft); color: var(--accent);
  border-color: var(--accent);
}

/* section head */
.cta-section-head {
  display: flex; align-items: baseline; justify-content: space-between;
  flex-wrap: wrap; gap: 8px; margin: 6px 2px 14px;
}
.cta-section-head h2 { font-size: 18px; margin: 0; }
.cta-section-head .muted, .muted { color: var(--fg-muted); }
.small { font-size: 12px; }

/* KPI grid (reusa .kpi-card de reports.css) */
.kpi-grid {
  display: grid; gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
}
.kpi-card .kpi-label { color: var(--fg-muted); font-size: 12px; text-transform: uppercase; letter-spacing: .03em; }
.kpi-card .kpi-value { font-size: 26px; font-weight: 700; margin-top: 4px; }
.kpi-card.kpi-good .kpi-value { color: var(--ok); }
.kpi-card.kpi-bad  .kpi-value { color: var(--danger); }

/* tablas (flujo / movimientos / consolidado / presupuesto) */
.cta-table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 10px; }
.cta-grid { width: 100%; border-collapse: collapse; font-size: 13px; }
.cta-grid th, .cta-grid td {
  padding: 7px 10px; text-align: left; white-space: nowrap;
  border-bottom: 1px solid var(--line);
}
.cta-grid thead th {
  position: sticky; top: 0; background: var(--bg-alt); z-index: 1;
  font-weight: 600; color: var(--fg-muted);
}
.cta-grid td.num, .cta-grid th.num { text-align: right; font-variant-numeric: tabular-nums; }
.cta-grid td.strong { font-weight: 700; }
.cta-grid tbody tr { transition: background .15s; }
.cta-grid tbody tr:hover { background: var(--bg-alt); }
.cta-grid .cta-grp td {
  background: var(--accent-soft); color: var(--accent);
  font-weight: 700; text-transform: uppercase; font-size: 11px; letter-spacing: .04em;
}
.cta-grid .cta-grp.egr td { background: var(--danger-soft); color: var(--danger-fg); }
.cta-grid .cta-grp.ing td { background: var(--ok-soft); color: var(--ok-fg); }

/* tags tipo movimiento */
.tag { padding: 2px 8px; border-radius: 999px; font-size: 11px; font-weight: 600; }
.tag-in  { background: var(--ok-soft); color: var(--ok-fg); }
.tag-out { background: var(--danger-soft); color: var(--danger-fg); }
.tag-tr  { background: #e0e7ff; color: #4338ca; }

/* tarjetas globales: desglose "debe cada empresa" */
.cta-grid td.tj-empresas { white-space: normal; max-width: 380px; }
.tj-chip {
  display: inline-flex; align-items: baseline; gap: 4px;
  padding: 2px 8px; margin: 2px 4px 2px 0; border-radius: 999px;
  background: var(--bg-alt); border: 1px solid var(--line);
  font-size: 11px; font-variant-numeric: tabular-nums;
}
.tj-chip-emp { color: var(--fg-muted); font-weight: 600; }

/* barras presupuesto */
.bar { width: 120px; height: 8px; border-radius: 999px; background: var(--bg-alt); overflow: hidden; }
.bar span { display: block; height: 100%; background: var(--accent); }
.bar span.bar-over { background: var(--danger); }

/* form rows en modales cuentas */
#cta-mov-form .form-row, #cta-transfer-form .form-row {
  display: flex; flex-direction: column; gap: 4px; margin-bottom: 12px;
}
#cta-mov-form .form-row > span, #cta-transfer-form .form-row > span {
  font-size: 13px; color: var(--fg-muted);
}
#cta-mov-form input, #cta-mov-form select,
#cta-transfer-form input, #cta-transfer-form select {
  padding: 8px 10px; border: 1px solid var(--line-strong);
  border-radius: 8px; background: var(--bg-elev); color: var(--fg); font-size: 14px;
}

.dash-error { padding: 24px; color: var(--danger); text-align: center; }

/* dark: egr/ing/tag-in/tag-out ya salen de los tokens --ok-soft/--ok-fg y
   --danger-soft/--danger-fg (main.css); solo tag-tr (índigo) no tiene token
   y conserva su override */
[data-theme="dark"] .tag-tr  { background: #1e1b4b; color: #a5b4fc; }

/* ---- header: cuentas/líneas como pestañas de primer nivel ---- */
.acct-tabs { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: thin; max-width: 100%; }
.acct-tabs::-webkit-scrollbar { height: 4px; }
.acct-tabs .view-tab { white-space: nowrap; }
.view-tab-sep { margin-left: 8px; border-left: 1px solid var(--line); padding-left: 14px; }

/* ---- Resumen: sub-encabezado del cashflow bajo los KPIs ---- */
.cta-section-head-sub { margin-top: 22px; }
.cta-section-head-sub h3 { font-size: 15px; margin: 0; }
.cta-dashboard-grid { margin-top: 16px; }
.cta-check-row {
  flex-direction: row !important; align-items: center; gap: 8px !important;
  color: var(--fg-muted); font-size: 13px;
}
.cta-check-row input { width: auto; }

/* botón compacto reutilizado en encabezados de sección */
.btn.small { font-size: 12px; padding: 3px 10px; }

/* ---- Attelier · proyectos inmobiliarios (desarrollos) ---- */
.dev-list { display: grid; gap: 14px; }
.dev-card { border: 1px solid var(--line); border-radius: 12px; padding: 14px 16px; background: var(--bg-elev); }
.dev-card-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; flex-wrap: wrap; }
.dev-card-head h3 { margin: 0; font-size: 16px; }
.dev-id { font-size: 12px; color: var(--fg-muted); font-weight: 500; margin-left: 6px; }
.dev-card-actions { display: flex; gap: 6px; flex-shrink: 0; }
.dev-badge { font-size: 11px; padding: 1px 8px; border-radius: 999px; background: var(--accent-soft); color: var(--accent); text-transform: capitalize; }
.dev-st-cerrado { background: var(--ok-soft); color: var(--ok-fg); }
.dev-st-cancelado { background: var(--danger-soft); color: var(--danger-fg); }
.dev-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0; }
.dev-chip { background: var(--bg-alt); border-radius: 8px; padding: 5px 10px; font-size: 12px; display: flex; flex-direction: column; min-width: 90px; }
.dev-chip span { color: var(--fg-muted); font-size: 11px; }
.dev-chip b { font-size: 14px; }
.dev-chip b.pos { color: var(--ok); } .dev-chip b.neg { color: var(--danger); }
.dev-campos { display: grid; gap: 10px; }
.dev-area { border-top: 1px solid var(--line); padding-top: 8px; }
.dev-area-t { margin: 0 0 6px; font-size: 12px; text-transform: uppercase; letter-spacing: .04em; color: var(--fg-muted); }
.dev-fields { margin: 0; display: grid; gap: 4px; }
.dev-field { display: flex; justify-content: space-between; gap: 12px; font-size: 14px; }
.dev-field dt { color: var(--fg-muted); margin: 0; }
.dev-field dd { margin: 0; font-weight: 500; text-align: right; }
.dev-field-acts { margin-left: 8px; opacity: .55; }
.dev-field-acts .link-btn { font-size: 12px; }
.dev-field:hover .dev-field-acts { opacity: 1; }

/* dev modal: secciones + grid + filas de campo */
.modal-content.modal-wide { max-width: 640px; width: 92vw; }
.dev-fsec { margin-bottom: 14px; }
.dev-fsec-head { display: flex; justify-content: space-between; align-items: center; }
.dev-fsec-head h4 { margin: 8px 0; }
.dev-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.dev-campo-row { display: grid; grid-template-columns: 1fr 1fr 1fr auto auto; gap: 6px; margin-bottom: 6px; align-items: center; }
.dev-campo-row input, .dev-campo-row select { font-size: 13px; padding: 5px 7px; }
@media (max-width: 560px) { .dev-grid2, .dev-campo-row { grid-template-columns: 1fr 1fr; } }
