/*!
 * Hermitz One brand tokens v1.0.0
 * Source of truth: Hermitz One design system (tokens.json). Do not hand-edit values here.
 * Theme: <html data-theme="light|dark">; no attribute = follow the OS setting.
 * Prefix --app- (brand-agnostic) keeps tokens clear of Bootstrap's --bs- variables.
 */
:root {
  --app-brand-navy: #0b1020;
  --app-brand-blue: #2563eb;
  --app-brand-indigo: #6366f1;
  --app-brand-cyan: #22d3ee;
  --app-brand-gold: #d6b36a;
  --app-brand-cloud: #f8fafc;
  --app-brand-slate: #64748b;
  --app-bg: #f8fafc;
  --app-surface: #ffffff;
  --app-surface-sunken: #f1f5f9;
  --app-sidebar: #0b1020;
  --app-border: #e2e8f0;
  --app-border-control: #7c8aa5;
  --app-ink: #0b1020;
  --app-ink-muted: #475569;
  --app-ink-subtle: #64748b;
  --app-ink-on-sidebar: #f8fafc;
  --app-ink-on-sidebar-muted: #94a3b8;
  --app-on-accent: #ffffff;
  --app-accent: #2563eb;
  --app-accent-hover: #1d4ed8;
  --app-accent-text: #2563eb;
  --app-accent-soft: #eff6ff;
  --app-ai: #4f46e5;
  --app-ai-soft: #eef2ff;
  --app-highlight: #0e7490;
  --app-gold-text: #8a6a1f;
  --app-focus-ring: #2563eb;
  --app-success: #047857;
  --app-success-soft: #ecfdf5;
  --app-warning: #b45309;
  --app-warning-soft: #fffbeb;
  --app-danger: #b91c1c;
  --app-danger-soft: #fef2f2;
  --app-info-text: #1d4ed8;
  --app-neutral-text: #475569;
  --app-neutral-soft: #f1f5f9;
  --app-shadow-card: 0 1px 2px rgba(11,16,32,0.06), 0 1px 3px rgba(11,16,32,0.04);
  --app-shadow-pop: 0 12px 32px rgba(11,16,32,0.14), 0 2px 6px rgba(11,16,32,0.08);
  --app-space-1: 4px;
  --app-space-2: 8px;
  --app-space-3: 12px;
  --app-space-4: 16px;
  --app-space-5: 20px;
  --app-space-6: 24px;
  --app-space-8: 32px;
  --app-space-12: 48px;
  --app-radius-sm: 6px;
  --app-radius-md: 10px;
  --app-radius-lg: 14px;
  --app-radius-pill: 999px;
  --app-font-display: "Sora", "IBM Plex Sans", system-ui, sans-serif;
  --app-font-sans: "IBM Plex Sans", "IBM Plex Sans Arabic", system-ui, -apple-system, "Segoe UI", sans-serif;
  --app-font-arabic: "IBM Plex Sans Arabic", "IBM Plex Sans", "Segoe UI", Tahoma, sans-serif;
  --app-font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
  --app-bg: #0b1020;
  --app-surface: #121a30;
  --app-surface-sunken: #0e1528;
  --app-sidebar: #080c18;
  --app-border: #1f2a44;
  --app-border-control: #64748b;
  --app-ink: #f8fafc;
  --app-ink-muted: #94a3b8;
  --app-ink-subtle: #7c8aa5;
  --app-accent: #2563eb;
  --app-accent-hover: #3b82f6;
  --app-accent-text: #60a5fa;
  --app-accent-soft: #0f1e3d;
  --app-ai: #a5b4fc;
  --app-ai-soft: #1a1b45;
  --app-highlight: #22d3ee;
  --app-gold-text: #d6b36a;
  --app-focus-ring: #22d3ee;
  --app-success: #34d399;
  --app-success-soft: #0f2a24;
  --app-warning: #fbbf24;
  --app-warning-soft: #2a2110;
  --app-danger: #f87171;
  --app-danger-soft: #2e1518;
  --app-info-text: #60a5fa;
  --app-neutral-text: #94a3b8;
  --app-neutral-soft: #1a2238;
  --app-shadow-card: none;
  --app-shadow-pop: 0 12px 32px rgba(0,0,0,0.5);
    color-scheme: dark;
  }
}
:root[data-theme="dark"] {
  --app-bg: #0b1020;
  --app-surface: #121a30;
  --app-surface-sunken: #0e1528;
  --app-sidebar: #080c18;
  --app-border: #1f2a44;
  --app-border-control: #64748b;
  --app-ink: #f8fafc;
  --app-ink-muted: #94a3b8;
  --app-ink-subtle: #7c8aa5;
  --app-accent: #2563eb;
  --app-accent-hover: #3b82f6;
  --app-accent-text: #60a5fa;
  --app-accent-soft: #0f1e3d;
  --app-ai: #a5b4fc;
  --app-ai-soft: #1a1b45;
  --app-highlight: #22d3ee;
  --app-gold-text: #d6b36a;
  --app-focus-ring: #22d3ee;
  --app-success: #34d399;
  --app-success-soft: #0f2a24;
  --app-warning: #fbbf24;
  --app-warning-soft: #2a2110;
  --app-danger: #f87171;
  --app-danger-soft: #2e1518;
  --app-info-text: #60a5fa;
  --app-neutral-text: #94a3b8;
  --app-neutral-soft: #1a2238;
  --app-shadow-card: none;
  --app-shadow-pop: 0 12px 32px rgba(0,0,0,0.5);
  color-scheme: dark;
}

/* Bootstrap 5.3 bridge: map brand tokens onto Bootstrap's own variables */
:root, [data-bs-theme] {
  --bs-body-font-family: var(--app-font-sans);
  --bs-body-font-size: 0.875rem;
  --bs-body-line-height: 1.5714;
  --bs-body-bg: var(--app-bg);
  --bs-body-color: var(--app-ink);
  --bs-secondary-color: var(--app-ink-muted);
  --bs-border-color: var(--app-border);
  --bs-primary: #2563eb;
  --bs-primary-rgb: 37, 99, 235;
  --bs-link-color: var(--app-accent-text);
  --bs-link-hover-color: var(--app-accent-hover);
  --bs-border-radius: var(--app-radius-md);
  --bs-border-radius-sm: var(--app-radius-sm);
  --bs-border-radius-lg: var(--app-radius-lg);
  --bs-focus-ring-color: var(--app-focus-ring);
}
body { background: var(--app-bg); color: var(--app-ink); font-family: var(--app-font-sans); }
[dir="rtl"] body, :lang(ar) { font-family: var(--app-font-arabic); }
h1, h2, .app-display { font-family: var(--app-font-display); letter-spacing: -0.01em; }
.app-num, .app-amount { font-variant-numeric: tabular-nums; }
.app-docno { font-family: var(--app-font-mono); font-weight: 500; font-size: 0.8125rem; }
:focus-visible { outline: 2px solid var(--app-focus-ring); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; animation: none !important; } }
