/* ============================================
   LA LLORONA - VIEWS CSS
   Estilos especificos por vista
   Light Theme Enterprise
   ============================================ */

/* ── CORTE / ANTICIPOS ── */
.apc {
  display: flex; align-items: center; gap: 12px;
  padding: 12px 14px; border-radius: 9px;
  border: 1px solid var(--bd); background: var(--s2); margin-bottom: 8px;
}
.api { font-size: 22px; flex-shrink: 0; }
.apn { flex: 1; }
.at { font-size: 13px; font-weight: 700; color: var(--t1); }
.ad { font-size: 11px; color: var(--t3); margin-top: 2px; }
.apa { display: flex; gap: 6px; flex-shrink: 0; }

/* Corte nav buttons */
.db {
  background: rgba(27, 107, 58, .06); border: 1.5px solid rgba(27, 107, 58, .2);
  color: #1B6B3A; border-radius: 9px; padding: 9px 18px;
  font-size: 13px; font-weight: 700; cursor: pointer; transition: all .15s;
}
.db:hover { background: rgba(27, 107, 58, .12); border-color: rgba(27, 107, 58, .4); }
.nd { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.nd-date { font-size: 16px; font-weight: 800; color: var(--t1); }

/* ── P&L TABLE ── */
.pch { display: block !important; padding-left: 0; }
.prow {
  display: flex !important; align-items: center;
  padding: 6px 4px; border-bottom: 1px solid var(--bd); min-height: 28px;
}
.prow:last-child { border-bottom: none; }
.ptg {
  width: 16px; flex-shrink: 0; cursor: pointer;
  color: var(--t4); font-size: 9px; text-align: center;
}
.pi { width: 14px; flex-shrink: 0; }
.pl {
  flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis;
  white-space: nowrap; color: var(--t2); font-size: 13px; padding-right: 10px;
}
.pa {
  flex-shrink: 0; width: 120px; font-family: monospace;
  font-size: 13px; font-weight: 700; text-align: right;
}
.pm {
  flex-shrink: 0; width: 50px; font-family: monospace;
  font-size: 10px; text-align: right; color: var(--t3);
}
.prow.hd .pl { font-weight: 800; color: var(--t1); font-size: 14px; }
.prow.hd .pa { font-weight: 800; }
.prow.tt .pa { font-weight: 800; color: var(--gr); }
.prow.sb .pl { color: var(--t3); font-size: 12px; }
.prow.sb .pa { font-size: 12px; color: var(--t3); font-weight: 500; }
.prow.fl .pl { color: var(--fl); font-weight: 700; }
.prow.fl .pa { color: var(--fl); }
.prow.fl .pm { color: var(--fl); }

/* P&L table native */
#pnl-table tbody tr { border-bottom: 1px solid var(--bd); }
#pnl-table tbody tr:last-child { border-bottom: none; }
#pnl-table .pnl-hd:hover { background: var(--s2); cursor: pointer; }
#pnl-table .pnl-sub td:first-child::before { content: ''; display: inline-block; }

/* ── DASHBOARD STRIP ── */
.saldo-strip {
  background: #FFFFFF;
  border: 1px solid #E0E0DA; border-radius: 12px;
  padding: 14px 20px; display: flex; gap: 24px; align-items: center;
  margin-bottom: 18px; box-shadow: 0 1px 3px rgba(0, 0, 0, .06);
}
.sl-title {
  font-size: 10px; font-weight: 700; color: #7A7A7A;
  text-transform: uppercase; letter-spacing: 1.5px;
}
.sl-val {
  font-family: monospace; font-size: 20px; font-weight: 900;
  color: #1A1A1A; margin: 4px 0 2px;
}
.sl-sub { font-size: 10px; color: #B0B0B0; }
.sl-sep {
  width: 1px; background: #E0E0DA; align-self: stretch;
}

/* Status strip operativo (8 tarjetas navegables) */
.db-status-card {
  display: flex; align-items: center; gap: 10px;
  padding: 11px 14px; margin-bottom: 0; cursor: pointer; transition: all .15s;
}
.db-status-card:hover { border-color: var(--bd2); background: var(--s2); }
.db-status-ic { font-size: 20px; flex-shrink: 0; }
.db-status-bd { flex: 1; min-width: 0; }
.db-status-lbl { font-size: 11px; font-weight: 700; color: var(--t1); }
.db-status-sub { font-size: 10px; color: var(--t3); margin-top: 1px; }

/* Responsive: saldo-strip reapila en movil */
@media (max-width: 768px) {
  .saldo-strip { flex-wrap: wrap; gap: 14px 18px; padding: 14px 16px; }
  .saldo-strip > div:not(.sl-sep) { flex: 1 1 42%; }
  .sl-sep { display: none; }
}

/* ── Grids especiales de consulta (retrofit responsive socio/admin) ── */
/* P&L zona 3: panel Resultado Real (col fija) + chart */
.pnl-split { display: grid; grid-template-columns: 300px 1fr; gap: 14px; align-items: stretch; }
/* Socios: form de ejecución de inversión (admin) — Monto/Forma/Fecha/Botón */
.soc-exec-grid { display: grid; grid-template-columns: 1fr 1fr 1fr auto; gap: 10px; align-items: end; }
@media (max-width: 768px) {
  .pnl-split { grid-template-columns: 1fr; }
  .soc-exec-grid { grid-template-columns: 1fr; }
}

/* ── BANK CARDS ── */
.btc {
  background: #FFFFFF; border: 1px solid #E0E0DA; border-radius: 12px;
  padding: 16px 18px; cursor: pointer; transition: all .2s;
  display: flex; align-items: center; gap: 10px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, .4);
}
.btc:hover { border-color: #D0D0C8; background: #F5F5F1; }
.btc.sel {
  background: rgba(30, 58, 95, .06); border: 2px solid #1E3A5F;
  color: #1A1A1A; box-shadow: none;
}
.btc.sela {
  background: rgba(180, 83, 9, .06); border: 2px solid #B45309;
  color: #1A1A1A; box-shadow: none;
}
.btc.selg {
  background: rgba(21, 128, 61, .06); border: 2px solid #15803D;
  color: #1A1A1A; box-shadow: none;
}
.btc-name { font-size: 13px; font-weight: 700; color: var(--t1); }
.btc-bal { font-family: monospace; font-size: 18px; font-weight: 900; color: #1A1A1A; margin-top: 2px; }
.btc-sub { font-size: 10px; color: var(--t3); margin-top: 1px; }
.btc-saldo-ini { font-size: 10px; color: var(--t4); margin-top: 2px; }
.btc.sel .btc-name, .btc.sela .btc-name { color: #1A1A1A; font-weight: 800; }
.btc.sel .btc-sub, .btc.sela .btc-sub,
.btc.sel .btc-saldo-ini, .btc.sela .btc-saldo-ini { color: #7A7A7A; }
.btc.sel .btc-bal, .btc.sela .btc-bal { color: #1A1A1A; font-size: 22px; }

/* ── CSV ROWS ── */
.csvr:nth-child(even) { background: rgba(0, 0, 0, .015); }
.csvr:hover { background: rgba(0, 0, 0, .03); }
.csvr td { padding: 6px 10px; border-bottom: 1px solid #EEEEE8; }

/* ── PROVEEDORES ── */
#v-prov table a { color: var(--t2); text-decoration: none; }
#v-prov table a:hover { color: var(--t1); text-decoration: underline; }
