@font-face { font-family: "Cairo"; font-weight: 400; font-display: swap; src: url("../fonts/cairo-arabic-400.fc3b3abf178d.woff2") format("woff2"); unicode-range: U+0600-06FF, U+0750-077F, U+FB50-FDFF, U+FE70-FEFF; }
@font-face { font-family: "Cairo"; font-weight: 600; font-display: swap; src: url("../fonts/cairo-arabic-600.465686e677fb.woff2") format("woff2"); unicode-range: U+0600-06FF, U+0750-077F, U+FB50-FDFF, U+FE70-FEFF; }
@font-face { font-family: "Cairo"; font-weight: 700; font-display: swap; src: url("../fonts/cairo-arabic-700.640128b2707a.woff2") format("woff2"); unicode-range: U+0600-06FF, U+0750-077F, U+FB50-FDFF, U+FE70-FEFF; }
@font-face { font-family: "Cairo"; font-weight: 400; font-display: swap; src: url("../fonts/cairo-latin-400.1f8775699abb.woff2") format("woff2"); }
@font-face { font-family: "Cairo"; font-weight: 600; font-display: swap; src: url("../fonts/cairo-latin-600.997d30a32100.woff2") format("woff2"); }
@font-face { font-family: "Cairo"; font-weight: 700; font-display: swap; src: url("../fonts/cairo-latin-700.398907c63229.woff2") format("woff2"); }

:root {
  --brand: #0f3d5e;
  --brand-2: #c8962e;
  --sidebar-w: 250px;
  --bs-body-font-family: "Cairo", system-ui, sans-serif;
}
body { font-family: var(--bs-body-font-family); background: #f3f5f8; }
.num, .money, .ltr { direction: ltr; unicode-bidi: isolate; }
td.num, td.money, td.ltr { text-align: right; }

.sidebar { width: var(--sidebar-w); background: var(--brand); min-height: 100vh; position: fixed; top: 0; right: 0; z-index: 1030; }
.sidebar .brand { color: #fff; font-weight: 700; padding: 1.1rem 1.25rem; border-bottom: 1px solid rgba(255,255,255,.1); }
.sidebar .brand img { max-height: 38px; }
.sidebar .nav-link { color: rgba(255,255,255,.8); padding: .6rem 1.25rem; border-radius: 0; display: flex; gap: .6rem; align-items: center; }
.sidebar .nav-link:hover { color: #fff; background: rgba(255,255,255,.07); }
.sidebar .nav-link.active { color: #fff; background: rgba(255,255,255,.14); border-inline-start: 4px solid var(--brand-2); }
.sidebar .nav-sub .nav-link { padding-inline-start: 2.7rem; font-size: .9rem; }
.main { margin-inline-start: var(--sidebar-w); min-height: 100vh; }
.topbar { background: #fff; border-bottom: 1px solid #e5e8ec; }
@media (max-width: 991.98px) {
  .sidebar { display: none; }
  .main { margin-inline-start: 0; }
  .offcanvas.sidebar-mobile { background: var(--brand); width: var(--sidebar-w); }
}
.card { border: 0; box-shadow: 0 1px 3px rgba(16,24,40,.06); }
.stat-card .icon { width: 46px; height: 46px; border-radius: 12px; display: grid; place-items: center; font-size: 1.35rem; }
.table > :not(caption) > * > * { vertical-align: middle; }
.badge-status-in_progress { background: #0d6efd; }
.badge-status-ready { background: #198754; }
.badge-status-delivered { background: #6c757d; }
.badge-pay-unpaid { background: #dc3545; }
.badge-pay-partial { background: #fd7e14; }
.badge-pay-paid { background: #198754; }
.board-col { min-height: 200px; background: #e9edf2; border-radius: .6rem; }
.htmx-indicator { display: none; }
.htmx-request .htmx-indicator, .htmx-request.htmx-indicator { display: inline-block; }

/* A4 print */
@page { size: A4; margin: 12mm; }
@media print {
  .sidebar, .topbar, .no-print, .offcanvas, .alert { display: none !important; }
  .main { margin: 0 !important; }
  body { background: #fff; }
  .card { box-shadow: none; }
  .print-area { padding: 0 !important; }
}
.invoice-sheet { background: #fff; max-width: 210mm; margin: 0 auto; padding: 14mm; }
.invoice-sheet .inv-head { border-bottom: 3px solid var(--brand); }
.invoice-sheet table th { background: #eef2f6 !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
