@font-face {
  font-family: "Vazirmatn";
  src: url("fonts/vazirmatn/Vazirmatn-wght.woff2") format("woff2-variations"),
       url("fonts/vazirmatn/Vazirmatn-wght.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

:root {
  --bs-font-sans-serif: "Vazirmatn", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --app-purple: #7c3aed;
  --app-gold: #c99a14;
}
body { font-family: var(--bs-font-sans-serif); background: #fff; }

/* night mode: black background (panel only) */
[data-bs-theme="dark"] {
  --bs-body-bg: #000;
  --bs-body-bg-rgb: 0, 0, 0;
  --bs-tertiary-bg: #0d0d0d;
  --bs-secondary-bg: #141414;
}
[data-bs-theme="dark"] body { background: #000; }
[data-bs-theme="dark"] .card { --bs-card-bg: #0b0b0b; }

.app-top { background: var(--bs-body-bg); }
.app-side { min-height: calc(100vh - 57px); }
@media (min-width: 992px) { .app-side { position: sticky; top: 57px; } }

.btn-touch { min-height: 44px; min-width: 44px; display: inline-flex; align-items: center; justify-content: center; gap: .35rem; }
.nav-pills .nav-link { min-height: 44px; display: flex; align-items: center; gap: .5rem; }
.nav-tabs .nav-link { min-height: 44px; display: flex; align-items: center; gap: .35rem; }

.text-purple { color: var(--app-purple) !important; }
.bg-purple { background-color: var(--app-purple) !important; }
.text-gold { color: var(--app-gold) !important; }

.log-box { max-height: 60vh; overflow: auto; font-size: .78rem; padding: .75rem; white-space: pre; background: var(--bs-tertiary-bg); }
.login-bg { background: #fff; }
[data-bs-theme="dark"] .login-bg { background: #000; }

/* logo: sits on a white chip in night mode so the dark K stays visible */
.brand-logo { display: inline-block; line-height: 0; border-radius: .5rem; }
.brand-logo-lg img { max-height: 64px; width: auto; }
[data-bs-theme="dark"] .brand-logo { background: #fff; padding: .25rem .5rem; }
