/* ---------- Base variables (light) ---------- */
#do-theme{
  --app-bg:        #c4c4c5;
  --page-surface:  #ffffffa2;
  --card-surface:  #afafaf;

  --text-color:    #111827;
  --muted-text:    #6b7280;
  --heading-color: #0f172a;

  --accent:        #0d6efd;
  --border:        rgba(0,0,0,0.06);

  /* AG Grid */
  --ag-header-fg:  #111827;
  --ag-header-bg:  #f8fafc;
  --ag-odd-row:    #c4c4c4;
  --agg-even-row:   #e7e7e7;
  --ag-row-hover:  #466c92;
  --ag-row-sel:    #6289ce;
  --ag-row-border: rgba(0,0,0,0.06);

  /* Status badge fills (light) */
  --sb-base: #f8fafc; --sb-base-b: rgba(0,0,0,0.10);
  --sb-hp:   #fff7ed; --sb-hp-b:   #fdba74;
  --sb-new:  #eef2ff; --sb-new-b:  #c7d2fe;
  --sb-sent: #ecfeff; --sb-sent-b: #a5f3fc;
  --sb-ip:   #fef3c7; --sb-ip-b:   #fde68a;
  --sb-won:  #ecfdf5; --sb-won-b:  #a7f3d0;
  --sb-lost: #fef2f2; --sb-lost-b: #fecaca;
  --sb-hold: #f3f4f6; --sb-hold-b: #e5e7eb;

  /* Row warnings (light) */
  --row-due-soon: #fffbea;
  --row-overdue:  #ffe4e6;
}

/* ---------- Dark overrides ---------- */
#do-theme.theme-dark{
  --app-bg:        #0b1220;
  --page-surface:  #0f172a;
  --card-surface:  #111827;

  --text-color:    #e5e7eb;
  --muted-text:    #9ca3af;
  --heading-color: #f8fafc;

  --accent:        #3b82f6;
  --border:        rgba(255,255,255,0.10);

  /* AG Grid */
  --ag-header-fg:  #e5e7eb;
  --ag-header-bg:  #0f172a;
  --ag-odd-row:    #0b1321;
  --ag-row-hover:  #17223a;
  --ag-row-sel:    #1e2a4a;
  --ag-row-border: rgba(255,255,255,0.10);

  /* Status badge fills (dark) – slightly brighter on dark bg */
  --sb-base: #0f172a; --sb-base-b: rgba(255,255,255,0.12);
  --sb-hp:   #3a2818; --sb-hp-b:   #fdba74;
  --sb-new:  #22264b; --sb-new-b:  #c7d2fe;
  --sb-sent: #0f2a2c; --sb-sent-b: #67e8f9;
  --sb-ip:   #3a2f12; --sb-ip-b:   #fde68a;
  --sb-won:  #0f2b21; --sb-won-b:  #34d399;
  --sb-lost: #3a1515; --sb-lost-b: #fca5a5;
  --sb-hold: #1f2937; --sb-hold-b: #374151;

  /* Row warnings (dark) */
  --row-due-soon: #3a3418;
  --row-overdue:  #3a1e24;
}

/* --- Layout polish --- */
.container-xxl { max-width: 1600px; }
.subcard { border: 0; box-shadow: 0 2px 14px rgba(16,24,40,.06); border-radius: 16px; }
.fullbleed .wide-1800 { padding: 8px; }

#do-theme { background: var(--app-bg); color: var(--text-color); }
#do-theme .page-card,
#do-theme .card.page-card { background: var(--page-surface); }
#do-theme .subcard, #do-theme .subcard .card {
  background: var(--card-surface);
  border: 2px solid var(--border);
  border-radius: 18px;
  box-shadow: 0 8px 24px rgba(0,0,0,.18);
}
#do-theme .do-title, #do-theme .navbar-brand,
#do-theme h1, #do-theme h2, #do-theme h3, #do-theme h4, #do-theme h5 { color: var(--heading-color); }

/* Metric cards */
.do-metric .card-body { padding: 14px 16px; }
.do-metric .h4 { font-weight: 700 !important; }
.do-muted { color: var(--muted-text) !important; }

/* Tabs */
#do-theme .nav-tabs .nav-link { font-weight: 600; color: var(--heading-color); }
#do-theme .nav-tabs .nav-link.active {
  background: var(--accent); color: #fff; border-color: var(--accent);
}

/* ---------- AG Grid: Light (default) ---------- */
#do-theme .ag-theme-alpine {
  --ag-foreground-color: #111827;
  --ag-background-color: #ffffff;
  --ag-header-foreground-color: #111827;
  --ag-header-background-color: #f8fafc;
  --ag-odd-row-background-color: #d4d3d3;
  --ag-even-row-background-color: #cacaca;
  --ag-row-hover-color: #467caf;
  --ag-selected-row-background-color: #92afe0;
  --ag-border-color: rgba(0,0,0,0.06);
  --ag-input-border-color: #cbd5e1;
  --ag-input-focus-border-color: #60a5fa;
  --ag-checkbox-checked-color: #0ea5e9;
  --ag-font-size: 14px;
}

/* Inputs / floating filters in light */
#do-theme .ag-theme-alpine .ag-input-field-input,
#do-theme .ag-theme-alpine .ag-floating-filter-body input {
  color: #111827;
}

/* ---------- AG Grid: Dark ---------- */
#do-theme.theme-dark .ag-theme-alpine {
  --ag-foreground-color: #e5e7eb;              /* main text */
  --ag-secondary-foreground-color: #cbd5e1;    /* secondary text */
  --ag-background-color: #0f172a;              /* grid body */
  --ag-header-background-color: #111827;       /* header row */
  --ag-header-foreground-color: #e5e7eb;
  --ag-odd-row-background-color: #0b1220;
  --ag-row-hover-color: #1f2937;
  --ag-selected-row-background-color: #1d4ed8;
  --ag-border-color: rgba(255,255,255,0.08);
  --ag-input-border-color: #334155;
  --ag-input-focus-border-color: #60a5fa;
  --ag-checkbox-checked-color: #38bdf8;
  --ag-font-size: 13px;
}

/* Ensure cells & headers inherit the light text color in dark */
#do-theme.theme-dark .ag-theme-alpine .ag-cell,
#do-theme.theme-dark .ag-theme-alpine .ag-header-cell-text,
#do-theme.theme-dark .ag-theme-alpine .ag-header-group-cell-label {
  color: #e5e7eb;
}

/* Floating filter inputs in dark */
#do-theme.theme-dark .ag-theme-alpine .ag-input-field-input,
#do-theme.theme-dark .ag-theme-alpine .ag-floating-filter-body input {
  color: #e5e7eb;
  background: #0b1220;
  border-color: #334155;
}

/* Placeholder tint in dark (date/text filters) */
#do-theme.theme-dark .ag-theme-alpine ::placeholder {
  color: #94a3b8;
  opacity: 1;
}

/* Optional: row “due soon/overdue” tints for dark */
#do-theme.theme-dark .ag-theme-alpine .ag-row.due-soon { background: #3a2f0a !important; }
#do-theme.theme-dark .ag-theme-alpine .ag-row.overdue  { background: #3b0a0a !important; }

/* Status badges inside cells */
#do-theme .do-badge{
  display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;
  border:1px solid var(--sb-base-b); background: var(--sb-base); color: var(--text-color);
}
#do-theme .do-badge.hp   { background: var(--sb-hp);   border-color: var(--sb-hp-b); }
#do-theme .do-badge.new  { background: var(--sb-new);  border-color: var(--sb-new-b); }
#do-theme .do-badge.sent { background: var(--sb-sent); border-color: var(--sb-sent-b); }
#do-theme .do-badge.inproc{background: var(--sb-ip);   border-color: var(--sb-ip-b); }
#do-theme .do-badge.won  { background: var(--sb-won);  border-color: var(--sb-won-b); }
#do-theme .do-badge.lost { background: var(--sb-lost); border-color: var(--sb-lost-b); }
#do-theme .do-badge.hold { background: var(--sb-hold); border-color: var(--sb-hold-b); }

/* Row warnings */
#do-theme .ag-row.due-soon { background: var(--row-due-soon) !important; }
#do-theme .ag-row.overdue  { background: var(--row-overdue)  !important; }

#do-theme.theme-dark .navbar { background-color: #0f172a !important; border-bottom: 1px solid var(--border); }
#do-theme.theme-dark .navbar .nav-link { color: var(--text-color) !important; }

#do-theme.theme-dark .do-muted,
#do-theme.theme-dark .text-muted {
  color: #9ca3af !important; /* lighter gray for dark bg */
}

#do-theme.theme-dark .do-title,
#do-theme.theme-dark h1,
#do-theme.theme-dark h2,
#do-theme.theme-dark h3,
#do-theme.theme-dark h4,
#do-theme.theme-dark h5 {
  color: var(--heading-color) !important;
}

#do-theme.theme-dark .do-metric .card {
  box-shadow: 0 2px 10px rgba(0,0,0,0.7);
  border-color: rgba(255,255,255,0.08);
}

#do-theme.theme-dark .navbar {
  background-color: #0f172a !important;
  box-shadow: 0 2px 4px rgba(0,0,0,0.6);
}

#do-theme { --muted-text: #6b7280; }
#do-theme.theme-dark { --muted-text: #9ca3af; }
