/* === Reports module styles ============================================
 * Report tabs + period picker reuse .cust-pill. The printable statement
 * lives in .rep-paper (modeled on .inv-paper). Drill-down reuses .drawer.
 * This file MUST load after invoices.css so the print rules below win.
 * ===================================================================== */

.rep-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s-3);
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--s-4);
}
.rep-tabs, .rep-periods {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s-2);
}
.rep-custom {
  display: flex;
  gap: var(--s-2);
  align-items: center;
  flex-wrap: wrap;
}
.rep-custom .field__input { padding: 6px 10px; font-size: var(--text-sm); }
.rep-custom__sep { color: var(--t3); font-size: var(--text-sm); }

/* ─── Printable statement paper ──────────────────────────────────── */
.rep-paper {
  background: #fff;
  border: 1px solid var(--b1);
  border-radius: var(--r);
  box-shadow: var(--sh-2);
  padding: 40px 44px;
  max-width: 760px;
  /* Left-aligned (not centered) so the right-hand amounts column stays clear
     of the right-side drill-down panel. Centered on print. */
  margin: 0;
  color: #1a2230;
}
@media print { .rep-paper { margin: 0 auto; } }
.rep-paper__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: var(--s-5);
  padding-bottom: var(--s-4);
  border-bottom: 2px solid #1a2230;
  margin-bottom: var(--s-5);
}
.rep-paper__org-name {
  font-family: var(--fd);
  font-size: 18px;
  font-weight: var(--w-bold);
  color: #0a0f1a;
  letter-spacing: -0.02em;
}
.rep-paper__org-line { font-size: 12px; color: #5a6472; line-height: 1.5; }
.rep-paper__title-block { text-align: right; }
.rep-paper__title {
  font-family: var(--fd);
  font-size: 22px;
  font-weight: var(--w-bold);
  color: var(--primary-deep);
  letter-spacing: 0.02em;
}
.rep-paper__period { font-size: 12px; color: #5a6472; margin-top: 4px; }

/* Statement rows (P&L, Balance Sheet) */
.rep-section { margin-bottom: var(--s-5); }
.rep-section__title {
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #8a94a2;
  font-weight: var(--w-semibold);
  padding-bottom: 6px;
  border-bottom: 1px solid #e5e9f0;
  margin-bottom: 6px;
}
.rep-row {
  display: flex;
  justify-content: space-between;
  gap: var(--s-4);
  padding: 6px 4px;
  font-size: 13px;
  border-radius: var(--rs);
}
.rep-row[data-drill-account] { cursor: pointer; }
.rep-row[data-drill-account]:hover { background: #f2f8f4; }
.rep-row__label { color: #384252; }
.rep-row__amt { font-family: var(--font-mono); font-variant-numeric: tabular-nums; color: #1a2230; }
.rep-row--sub { padding-left: 18px; }
.rep-row--sub .rep-row__label { color: #5a6472; }
.rep-row--total {
  border-top: 1.5px solid #d8dee8;
  margin-top: 4px;
  font-weight: var(--w-bold);
}
.rep-row--total .rep-row__amt { color: var(--primary-deep); }
.rep-row--grand {
  border-top: 2px solid #1a2230;
  border-bottom: 2px solid #1a2230;
  margin-top: 6px;
  padding: 10px 4px;
  font-size: 15px;
  font-weight: var(--w-bold);
}
.rep-row--neg .rep-row__amt { color: var(--negative); }

.rep-balance-check {
  margin-top: var(--s-4);
  padding: 8px 12px;
  border-radius: var(--rs);
  font-size: 12px;
  text-align: center;
}
.rep-balance-check--ok  { background: var(--primary-tint); color: var(--primary-deep); }
.rep-balance-check--bad { background: var(--negative-tint); color: var(--negative); }

/* Tables (Trial Balance, Aging) */
.rep-table { width: 100%; border-collapse: collapse; margin-top: var(--s-2); }
.rep-table th {
  text-align: left;
  font-size: 11px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #8a94a2;
  font-weight: var(--w-semibold);
  padding: 8px 10px;
  border-bottom: 1.5px solid #d8dee8;
}
.rep-table th.num, .rep-table td.num { text-align: right; }
.rep-table td {
  padding: 8px 10px;
  font-size: 13px;
  color: #1a2230;
  border-bottom: 1px solid #eef1f6;
}
.rep-table td.num { font-family: var(--font-mono); font-variant-numeric: tabular-nums; }
.rep-table tr[data-drill-account] { cursor: pointer; }
.rep-table tr[data-drill-account]:hover td { background: #f2f8f4; }
.rep-table tfoot td {
  font-weight: var(--w-bold);
  border-top: 2px solid #1a2230;
  border-bottom: none;
  color: var(--primary-deep);
}
.rep-table td.is-bad { color: var(--negative); }

.rep-empty { padding: var(--s-6); text-align: center; color: #8a94a2; font-size: var(--text-sm); }

.rep-paper__foot {
  margin-top: var(--s-6);
  padding-top: var(--s-3);
  border-top: 1px solid #eef1f6;
  font-size: 11px;
  color: #8a94a2;
  display: flex;
  justify-content: space-between;
}

/* ─── Drill-down panel (reuses .drawer shell) ────────────────────── */
.rep-drill__meta { font-size: var(--text-sm); color: var(--t2); margin-bottom: var(--s-3); }
.rep-drill__table { width: 100%; border-collapse: collapse; }
.rep-drill__table th {
  text-align: left; font-size: var(--text-2xs); text-transform: uppercase;
  letter-spacing: 0.06em; color: var(--t3); padding: 6px 8px;
  border-bottom: 1px solid var(--b1);
}
.rep-drill__table th.num, .rep-drill__table td.num { text-align: right; }
.rep-drill__table td {
  padding: 8px; font-size: var(--text-sm); color: var(--tx);
  border-bottom: 1px solid var(--b0);
}
.rep-drill__table td.num { font-family: var(--font-mono); }
.rep-drill__ref { font-family: var(--font-mono); font-size: var(--text-xs); color: var(--t3); }

@media (max-width: 560px) {
  .rep-paper { padding: 24px 20px; }
  .rep-paper__head { flex-direction: column; gap: var(--s-3); }
  .rep-paper__title-block { text-align: left; }
}

/* ─── PRINT ──────────────────────────────────────────────────────── */
/* Loaded after invoices.css so .rep-paper wins its global body*{hidden}. */
@media print {
  body * { visibility: hidden; }
  .rep-paper, .rep-paper * { visibility: visible; }
  .rep-paper {
    position: absolute; left: 0; top: 0;
    width: 100%; max-width: none; margin: 0;
    border: none; box-shadow: none; border-radius: 0; padding: 0;
  }
  .app__sidebar, .app__topbar, .app__bottom, .app-sidebar, .app-topbar,
  .mobile-bottom-bar, .ambient-orbs, #nav-backdrop,
  .rep-toolbar, .module-head { display: none !important; }
  .rep-row[data-drill-account]:hover { background: none; }
  @page { margin: 16mm; }
}
