/* ============================================================
   ALINEACIÓN PRESUPUESTO ↔ FLUJO DE CAJA — Estilos
   ============================================================ */

/* --- Parámetros productivos dialog --- */
.params-dialog .export-dialog-shell { max-width:960px }
.params-table { width:100%;border-collapse:collapse;font-size:11px }
.params-table th { font:600 9px/1.2 Manrope;color:var(--muted);text-transform:uppercase;padding:8px 6px;border-bottom:2px solid var(--line);white-space:nowrap }
.params-table td { padding:6px;border-bottom:1px solid var(--line);vertical-align:middle }
.params-table .sp-name { font-weight:600;color:var(--ink);white-space:nowrap }
.params-table .num { text-align:right;font-family:'DM Mono',monospace;font-size:11px }
.params-table .p-calc { color:var(--muted);font-family:'DM Mono',monospace;font-size:11px }
.p-input { width:80px;padding:5px 6px;border:1px solid var(--line);border-radius:6px;font:400 11px 'DM Mono',monospace;text-align:right;background:var(--card);color:var(--ink) }
.p-input:focus { border-color:var(--forest-2);outline:none;box-shadow:0 0 0 2px rgba(27,104,64,.15) }
.p-input.p-total { font-weight:600;background:var(--soft) }
.p-del { background:none;border:none;cursor:pointer;color:var(--muted);font-size:14px;padding:2px 6px;border-radius:4px }
.p-del:hover { color:var(--red);background:rgba(187,62,73,.08) }
.params-total td { border-top:2px solid var(--ink);border-bottom:none;padding-top:10px }
.params-add { display:flex;gap:10px;align-items:center;margin:16px 0 }
.p-input-add { flex:1;max-width:240px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;font:400 12px Manrope;color:var(--ink) }
.params-summary { padding:12px 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--soft);font-size:10px;color:var(--muted);line-height:1.6;margin-top:8px }

/* --- $/ha strip in resumen --- */
.ha-strip { font:400 11px Manrope;color:var(--muted);display:block;line-height:1.6 }
.ha-strip strong { color:var(--ink);font-weight:600 }
.ha-detail { display:block;font-size:10px;margin-top:2px }
.ha-corrected { background:rgba(27,104,64,.06)!important;position:relative }
.ha-corrected::after { content:'✓';position:absolute;top:2px;right:4px;font-size:7px;color:var(--forest-2);opacity:.6 }

/* --- Cuadro de mando --- */
.cm-grid { display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px }
.cm-card { background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;position:relative }
.cm-card .cm-eyebrow { font:600 9px/1.2 Manrope;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px }
.cm-card h3 { font:600 14px Manrope;color:var(--ink);margin:0 0 12px }
.cm-kpi-row { display:flex;gap:12px;flex-wrap:wrap;margin-bottom:16px }
.cm-kpi { flex:1;min-width:130px;padding:12px 14px;border-radius:10px;background:var(--soft);text-align:center }
.cm-kpi .kl { font:600 8px/1.2 Manrope;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px }
.cm-kpi .kv { font:700 18px 'DM Mono',monospace;color:var(--ink) }
.cm-kpi .kh { font:400 9px Manrope;color:var(--muted);margin-top:2px }
.cm-kpi.positive .kv { color:var(--forest-2) }
.cm-kpi.negative .kv { color:var(--red) }
.cm-kpi.warning .kv { color:var(--gold) }
.cm-full { grid-column:1/-1 }
.cm-mini-table { width:100%;border-collapse:collapse;font-size:11px }
.cm-mini-table th { font:600 9px/1.2 Manrope;color:var(--muted);text-transform:uppercase;padding:6px;border-bottom:2px solid var(--line) }
.cm-mini-table td { padding:6px;border-bottom:1px solid var(--line) }
.cm-mini-table td.num { text-align:right;font-family:'DM Mono',monospace }
.cm-bar { height:6px;border-radius:3px;margin-top:4px }
.cm-bar-fill { height:100%;border-radius:3px;transition:width .3s }
.cm-bar-ppto { background:var(--forest-2) }
.cm-bar-real { background:var(--gold) }

/* --- Conciliación cruzada tab --- */
.conc-summary { display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:16px }
.conc-stat { text-align:center;padding:10px;border-radius:10px;background:var(--soft) }
.conc-stat .cs-label { font:600 8px/1.2 Manrope;color:var(--muted);text-transform:uppercase;margin-bottom:4px }
.conc-stat .cs-value { font:700 16px 'DM Mono',monospace;color:var(--ink) }
.conc-stat.match .cs-value { color:var(--forest-2) }
.conc-stat.gap .cs-value { color:var(--red) }
.conc-match { color:var(--forest-2);font-weight:600 }
.conc-gap { color:var(--red);font-weight:600 }

/* --- Alertas de inconsistencia --- */
.inc-alerts { margin:16px 0;padding:0 }
.inc-alert { display:flex;align-items:flex-start;gap:10px;padding:10px 14px;border-radius:10px;margin-bottom:8px;font:400 11px/1.5 Manrope }
.inc-alert.warn { background:rgba(196,164,107,.1);border:1px solid rgba(196,164,107,.25) }
.inc-alert.error { background:rgba(187,62,73,.06);border:1px solid rgba(187,62,73,.15) }
.inc-alert.info { background:rgba(36,95,139,.06);border:1px solid rgba(36,95,139,.15) }
.inc-alert .ia-icon { font-size:14px;flex-shrink:0;margin-top:1px }
.inc-alert .ia-text { flex:1 }
.inc-alert .ia-text strong { color:var(--ink);display:block;font-weight:600;margin-bottom:2px }
.inc-alert-go { width:100%;border:0;text-align:left;cursor:pointer;transition:transform .12s,box-shadow .12s }
.inc-alert-go:hover { transform:translateX(2px);box-shadow:0 4px 12px rgba(20,60,37,.08) }
.inc-alert-go .ia-go { align-self:center;color:var(--muted);font-size:14px;font-weight:800 }
.inc-badge { display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;border-radius:9px;background:var(--red);color:#fff;font:700 9px 'DM Mono',monospace;padding:0 5px;margin-left:4px;vertical-align:middle }

/* --- Responsive --- */
@media(max-width:800px){
  .cm-grid { grid-template-columns:1fr }
  .cm-kpi-row { gap:8px }
  .cm-kpi { min-width:100px;padding:10px }
  .cm-kpi .kv { font-size:15px }
  .params-table { font-size:10px }
  .p-input { width:60px;font-size:10px }
}
@media(max-width:620px){
  .cm-kpi-row { flex-direction:column }
  .conc-summary { grid-template-columns:1fr 1fr }
}
