/* Design tokens, reset and typography. Everything uses logical properties so one stylesheet serves LTR and RTL. */
:root {
  --brand: #102947; --accent: #17407a; --accent-2: #1d4f99; --on-accent: #fff; --gold: #c9a23f;
  --bg: #f3f5f9; --surface: #fff; --surface-2: #eef1f7; --text: #14213a; --muted: #5a6a85; --line: #dde3ee; --focus: #2d6cdf;
  --ok: #0a7a3d; --ok-bg: #e4f5ec; --danger: #b3261e; --danger-bg: #fdecea; --warn: #8a5300; --warn-bg: #fff3dc;
  --r: 14px; --r-sm: 10px; --shadow: 0 1px 2px rgba(16,41,71,.06), 0 6px 18px rgba(16,41,71,.07);
  --font: "Segoe UI", system-ui, -apple-system, Roboto, "Noto Sans", "Noto Sans Arabic", "Noto Naskh Arabic", Tahoma, "Geeza Pro", Arial, sans-serif;
  --top-h: 56px; --tab-h: 62px; color-scheme: light;
}
:root[data-theme="dark"] {
  --accent: #8ab0ff; --accent-2: #a9c3ff; --on-accent: #0b1220; --bg: #0b1220; --surface: #121c30; --surface-2: #1a2742; --text: #e8edf7; --muted: #9aa8c4; --line: #243455; --focus: #8ab0ff;
  --ok: #6fd39a; --ok-bg: #12301f; --danger: #ff8a80; --danger-bg: #3a1714; --warn: #ffc56b; --warn-bg: #3a2b0e; --shadow: 0 1px 2px rgba(0,0,0,.4), 0 6px 18px rgba(0,0,0,.3); color-scheme: dark;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --accent: #8ab0ff; --accent-2: #a9c3ff; --on-accent: #0b1220; --bg: #0b1220; --surface: #121c30; --surface-2: #1a2742; --text: #e8edf7; --muted: #9aa8c4; --line: #243455; --focus: #8ab0ff;
    --ok: #6fd39a; --ok-bg: #12301f; --danger: #ff8a80; --danger-bg: #3a1714; --warn: #ffc56b; --warn-bg: #3a2b0e; --shadow: 0 1px 2px rgba(0,0,0,.4), 0 6px 18px rgba(0,0,0,.3); color-scheme: dark;
  }
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { margin: 0; background: var(--bg); color: var(--text); font: 16px/1.55 var(--font); -webkit-font-smoothing: antialiased; overscroll-behavior-y: contain; }
html[lang="ar"] body { line-height: 1.75; letter-spacing: 0; }
h1, h2, h3 { line-height: 1.3; margin: 0; }
h1 { font-size: 1.4rem; } h2 { font-size: 1.1rem; } h3 { font-size: 1rem; }
p { margin: 0; }
a { color: var(--accent); }
button, input, select, textarea { font: inherit; color: inherit; }
img { max-width: 100%; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; border-radius: 6px; }
.skip { position: absolute; inset-inline-start: 8px; top: -60px; background: var(--brand); color: #fff; padding: 10px 14px; border-radius: 8px; z-index: 100; }
.skip:focus { top: 8px; }
[hidden] { display: none !important; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.muted { color: var(--muted); } .small { font-size: .88rem; }
.ic { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex: none; }
[dir="rtl"] .flip { transform: scaleX(-1); }
@media (prefers-reduced-motion: reduce) { * { animation-duration: .001ms !important; transition-duration: .001ms !important; scroll-behavior: auto !important; } }
