:root {
  --brand: #034A6B;
  --brand-2: #0B3A55;
  --blue: #2388C9;
  --accent: #FDC012;
  --bs-primary: #2388C9;
  --bs-primary-rgb: 35,136,201;
}
body { font-family: 'IBM Plex Sans Arabic', 'IBM Plex Sans', system-ui, sans-serif; background: #F2F6F9; color: #1B2733; }
h1, h2, h3, .h4, .h5, .navbar-brand { font-family: 'Noto Kufi Arabic', 'IBM Plex Sans Arabic', sans-serif; }
.num, .file-no { font-family: 'IBM Plex Sans', 'IBM Plex Sans Arabic', sans-serif; }
.app-nav { background: #fff; border-top: 4px solid var(--brand); box-shadow: 0 1px 0 #E3EAF0, 0 2px 10px rgba(3,74,107,.06); }
.app-nav .nav-link { color: #4A5B6A; font-weight: 500; }
.app-nav .nav-link.active, .app-nav .nav-link:hover { color: var(--brand); }
.app-nav .nav-link.active { box-shadow: inset 0 -3px 0 var(--accent); }
.app-nav .user-box { color: #6A7B8A; }
.brand-logo { height: 42px; }
.card { border: 0; box-shadow: 0 1px 3px rgba(16,24,40,.08); border-radius: 12px; }
.card-header { background: #fff; font-weight: 700; border-bottom: 1px solid #eef0f4; }
.stat-card .value { font-size: 1.55rem; font-weight: 700; }
.stat-card .label { color: #6b7280; font-size: .9rem; }
.stat-card i { font-size: 1.8rem; opacity: .85; }
.btn-brand { background: var(--brand); color: #fff; }
.btn-brand:hover { background: var(--brand-2); color: #fff; }
.text-brand { color: var(--brand); }
.table thead th { background: #f8fafc; font-weight: 600; white-space: nowrap; }
.num { direction: ltr; unicode-bidi: embed; font-variant-numeric: tabular-nums; }
.items-table input, .items-table select { min-width: 90px; }
.items-table .svc-col { min-width: 240px; }
.items-table .line-total { font-weight: 700; }
.totals-box { background: #f8fafc; border-radius: 10px; padding: 1rem; }
.totals-box .row-t { display: flex; justify-content: space-between; padding: .25rem 0; }
.totals-box .grand { border-top: 2px solid var(--brand); margin-top: .4rem; padding-top: .5rem; font-size: 1.15rem; font-weight: 700; }
.file-no { font-weight: 700; letter-spacing: .3px; color: var(--brand); direction: ltr; display: inline-block; }
.login-wrap { min-height: 80vh; display: flex; align-items: center; justify-content: center; }
.login-card { width: 100%; max-width: 400px; }
@media print { .no-print { display: none !important; } }

.btn-outline-primary { --bs-btn-color: var(--blue); --bs-btn-border-color: var(--blue); --bs-btn-hover-bg: var(--blue); --bs-btn-hover-border-color: var(--blue); }
.text-bg-primary { background-color: var(--blue) !important; }
.progress-bar.bg-success { background-color: var(--blue) !important; }
.card-header { color: var(--brand); }
