/* ═══════════════════════════════════════════════════════════════════════════
   css/table.css — Deals module styles
   Extends main.css — does not redefine existing classes.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Month tab strip ─────────────────────────────────────────────────────── */
.month-tabs { display:flex; gap:4px; overflow-x:auto; padding-bottom:2px; margin-bottom:14px; scrollbar-width:none; }
.month-tabs::-webkit-scrollbar { display:none; }
.month-tab { padding:5px 14px; border:1.5px solid #e2e8f0; border-radius:20px; background:#fff; font-size:12px; font-weight:600; color:#64748b; cursor:pointer; white-space:nowrap; transition:all .15s; flex-shrink:0; user-select:none; }
.month-tab:hover  { border-color:var(--accent); color:var(--accent); }
.month-tab.active { background:var(--accent); border-color:var(--accent); color:#fff; }

/* ── Deals stat card color variants (adds on top of .deal-mini-stat) ─────── */
.deal-stat-total   .deal-mini-val { color:#1e293b; }
.deal-stat-funded  .deal-mini-val { color:#38a169; }
.deal-stat-pending .deal-mini-val { color:#d97706; }
.deal-stat-return  .deal-mini-val { color:#e53e3e; }

/* ── Column group toggle bar ─────────────────────────────────────────────── */
.col-group-bar { display:flex; align-items:center; gap:4px; margin-bottom:12px; flex-wrap:wrap; }
.col-group-btn {
  padding:5px 14px; border:1.5px solid #e2e8f0; border-radius:20px;
  background:#fff; font-size:12px; font-weight:600; color:#64748b;
  cursor:pointer; transition:all .15s; user-select:none;
}
.col-group-btn:hover              { border-color:#94a3b8; color:#334155; }
.col-group-btn.active             { background:#1e293b; border-color:#1e293b; color:#fff; }
.col-group-btn[data-group="core"] { background:#f1f5f9; border-color:#cbd5e1; color:#475569; cursor:default; pointer-events:none; }
.col-group-bar-label { font-size:11px; font-weight:700; color:#94a3b8; text-transform:uppercase; letter-spacing:.6px; margin-right:4px; }

/* ── Filter bar ──────────────────────────────────────────────────────────── */
.deals-filter-bar { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:14px; }
.deals-filter-bar select            { width:auto; min-width:140px; }
.deals-filter-bar input[type="text"]{ width:auto; min-width:160px; }
.deals-count-badge { font-size:12px; font-weight:500; color:#94a3b8; }

/* ── Table wrapper ───────────────────────────────────────────────────────── */
.deals-table-wrap {
  overflow-x:auto;
  border-radius:12px;
  border:1px solid #e2e8f0;
  box-shadow:0 2px 8px rgba(0,0,0,.06);
  background:#fff;
}

/* ── Table structure ─────────────────────────────────────────────────────── */
.deals-table { border-collapse:collapse; width:max-content; min-width:100%; font-size:13px; table-layout:fixed; }

.deals-table thead th {
  background:#1e293b;
  color:#64748b;
  font-size:10.5px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.6px;
  padding:10px 12px;
  border-right:1px solid rgba(255,255,255,.07);
  white-space:nowrap;
  position:sticky;
  top:0;
  z-index:2;
  text-align:left;
}

.deals-table td {
  border-bottom:1px solid #f1f5f9;
  border-right:1px solid #f1f5f9;
  height:38px;
  padding:0 10px;
  vertical-align:middle;
  white-space:nowrap;
}

.deals-table td.wrap { white-space:normal; }

.deals-table tbody tr:nth-child(even) td { background:#fafbfc; }

/* ── Sticky row number column ────────────────────────────────────────────── */
.deals-table .deal-rn { position:sticky; left:0; z-index:1; background:#f8fafc; }
.deals-table tbody tr:nth-child(even) .deal-rn { background:#f3f5f7; }
.deals-table thead th:first-child { z-index:3; } /* on top of sticky col + sticky header */

/* ── Row hover ───────────────────────────────────────────────────────────── */
.deals-table tbody tr:hover td       { background:#eff6ff !important; }
.deals-table tbody tr:hover .deal-rn { background:#dbeafe !important; color:#1d4ed8; font-weight:700; }

/* ── Row status: left-border variants ───────────────────────────────────── */
.deal-row-funded  > td { border-left:3px solid #38a169; }
.deal-row-pending > td { border-left:3px solid #d97706; }
.deal-row-return  > td { border-left:3px solid #e53e3e; }
.deal-row-switch  > td { border-left:3px solid #3b82f6; }
.deal-row-cancel  > td { border-left:3px solid #94a3b8; }

.deal-row-funded:hover  > td { background:#f0fdf4 !important; }
.deal-row-pending:hover > td { background:#fffbeb !important; }
.deal-row-return:hover  > td { background:#fff5f5 !important; }
.deal-row-switch:hover  > td { background:#eff6ff !important; }

/* ── Row status: PENDING 10–14 days → orange ────────────────────────────── */
.deal-row-pending-warn > td       { background:#fff7ed; border-left:3px solid #ea580c; }
.deal-row-pending-warn > .deal-rn { background:#fed7aa; }
.deal-row-pending-warn:hover > td { background:#ffedd5 !important; }

/* ── Row status: PENDING 15+ days → red ─────────────────────────────────── */
.deal-row-pending-red > td       { background:#fff1f2; border-left:3px solid #e53e3e; }
.deal-row-pending-red > .deal-rn { background:#fecaca; }
.deal-row-pending-red:hover > td { background:#fee2e2 !important; }

/* ── Row status: NOT PAID RETURN → dark red full row ────────────────────── */
.deal-row-notpaid > td       { background:#7f1d1d; color:#fecaca; border-left:3px solid #450a0a; }
.deal-row-notpaid > .deal-rn { background:#450a0a; color:#fca5a5; }
.deal-row-notpaid:hover > td { background:#991b1b !important; }
.deal-row-notpaid .badge     { filter:brightness(1.3); }
.deal-row-notpaid .appr-btn  { filter:brightness(.8); }

/* ── Inline edit: active cell ────────────────────────────────────────────── */
td[data-editing="1"] {
  background:#eff6ff !important;
  box-shadow:inset 0 0 0 2px #3b82f6;
  padding:0;
}

/* ── ✅/❌ toggle button enhancements (extends main.css .appr-btn) ────────── */
.appr-btn:hover  { opacity:.8; transform:scale(1.1);  }
.appr-btn:active { transform:scale(.93); }

/* ── + Add Row footer bar ────────────────────────────────────────────────── */
.deals-table-footer {
  display:flex; align-items:center; gap:14px;
  padding:10px 16px;
  background:#fafbff;
  border-top:1px solid #e2e8f0;
  border-radius:0 0 12px 12px;
}

.btn-add-row {
  background:#f1f5f9;
  color:#475569;
  border:1.5px dashed #cbd5e1;
}
.btn-add-row:hover { background:#e2e8f0 !important; border-color:#94a3b8; color:#334155; }

/* ── Save indicator (separate from main.css .deal-save-status) ───────────── */
.deal-save-indicator { font-size:11px; font-weight:600; color:#94a3b8; transition:color .2s; }
.deal-save-indicator.saving  { color:#94a3b8; }
.deal-save-indicator.saved   { color:#38a169; }
.deal-save-indicator.unsaved { color:#d97706; }
.deal-save-indicator.error   { color:#e53e3e; }

/* ══════════════════════════════════════════════════════════════════════════
   AG Grid overrides — Modern Spreadsheet style
   ══════════════════════════════════════════════════════════════════════════ */

/* ── AG Grid overrides: all handled in grid.js injectStyles() ────────────── */

/* Row number pinned col */
.ag-theme-balham .ag-cell[col-id="rowNum"] {
  color: #9ca3af; font-size: 10px; justify-content: center; background: #f3f4f6;
}

/* Thin scrollbar */
#ag-deals-grid ::-webkit-scrollbar       { width: 5px; height: 5px; }
#ag-deals-grid ::-webkit-scrollbar-track { background: #f8f9fa; }
#ag-deals-grid ::-webkit-scrollbar-thumb { background: #ced4da; border-radius: 2px; }
#ag-deals-grid ::-webkit-scrollbar-thumb:hover { background: #adb5bd; }

/* B-1 (2026-07-16): financier kilidi — deals grid'inde financerNotes dışı
   hücreler financier'a kapalı (rules hasOnly + UI). Leads lock görsel dili. */
#ag-deals-grid .ag-cell.fin-locked { background: #f8fafc !important; color: #94a3b8; cursor: not-allowed; }
