/* ── Dftr · دفتر — App Stylesheet ── */
:root {
  --dftr-ink:       #0f1117;
  --dftr-teal:      #1D9E75;
  --dftr-teal-lt:   #E1F5EE;
  --dftr-teal-dk:   #085041;
  --dftr-gold:      #c9973a;
  --dftr-gold-lt:   #fdf3e2;
  --dftr-surface:   #f7f8fc;
  --dftr-line:      #e4e7f0;
}

body {
  font-family: 'IBM Plex Sans Arabic', sans-serif;
  background: var(--dftr-surface);
  color: var(--dftr-ink);
}

/* Numbers always LTR */
.num { font-family: 'IBM Plex Mono', monospace; direction: ltr; display: inline-block; }
.num-dr { color: var(--dftr-teal-dk); }
.num-cr { color: #c0392b; }

/* ── Sidebar ── */
.dftr-sidebar {
  width: 230px; min-width: 230px;
  background: var(--dftr-ink);
  overflow: hidden;
}
.dftr-sidebar-brand { padding: 20px 18px 14px; }
.dftr-wordmark    { font-size: 20px; font-weight: 700; color: var(--dftr-gold); letter-spacing: -.3px; }
.dftr-wordmark-ar { font-size: 13px; color: #8b92a8; }

.dftr-nav-section {
  padding: 14px 18px 4px;
  font-size: 10px; font-weight: 600;
  letter-spacing: .8px; text-transform: uppercase;
  color: #8b92a8;
}
.dftr-nav-item {
  display: flex; align-items: center; gap: 10px;
  padding: 9px 18px;
  font-size: 13.5px; color: rgba(255,255,255,.65);
  text-decoration: none;
  border-right: 3px solid transparent;
  transition: all .15s;
}
.dftr-nav-item:hover { background: rgba(255,255,255,.05); color: rgba(255,255,255,.9); }
.dftr-nav-item.active { background: rgba(29,158,117,.12); color: var(--dftr-teal); border-right-color: var(--dftr-teal); }

/* ── Topbar ── */
.dftr-topbar { height: 56px; background: #fff; flex-shrink: 0; }
.dftr-company-badge {
  background: var(--dftr-gold-lt); color: #a07828;
  border: 1px solid #e8d4a0;
  padding: 4px 12px; border-radius: 20px;
  font-size: 12.5px; font-weight: 500;
}
.dftr-company-badge-teal { background: var(--dftr-teal-lt); color: var(--dftr-teal-dk); border-color: #a8dbd6; }

/* ── Cards & tables ── */
.dftr-card { background: #fff; border: 1px solid var(--dftr-line); border-radius: 12px; box-shadow: 0 1px 3px rgba(0,0,0,.07); }
.dftr-card .card-header { background: #fff; border-bottom: 1px solid var(--dftr-line); }

.table thead th { background: var(--dftr-surface); font-weight: 600; font-size: 12px; color: var(--dftr-ink); white-space: nowrap; }
.table tbody tr:hover td { background: var(--dftr-surface); }

/* ── Badges ── */
.badge-teal   { background: var(--dftr-teal-lt); color: var(--dftr-teal-dk); }
.badge-gold   { background: var(--dftr-gold-lt); color: #a07828; }
.badge-danger { background: #fdecea; color: #c0392b; }
.badge-success{ background: #e2f4ec; color: #1a7a4e; }

/* ── Buttons ── */
.btn-dftr-primary { background: var(--dftr-teal); color: #fff; border: none; }
.btn-dftr-primary:hover { background: var(--dftr-teal-dk); color: #fff; }

/* ── Journal lines table ── */
.journal-lines thead th { background: var(--dftr-teal); color: #fff; }
.journal-total { background: var(--dftr-surface); border-top: 2px solid var(--dftr-line); padding: 10px 14px; }
