*, *::before, *::after { box-sizing: border-box; }
html { direction: rtl; -webkit-text-size-adjust: 100%; }
body {
  margin: 0; font: var(--text-body); color: var(--color-text-primary);
  background: var(--color-surface-page); min-width: 1280px;
  font-feature-settings: "ss01"; text-rendering: optimizeLegibility;
}
a { color: var(--color-text-brand); text-decoration: none; }
a:hover { text-decoration: underline; }
h1, h2, h3, h4 { margin: 0; }
h1 { font: var(--text-h1); }
h2 { font: var(--text-h2); }
h3 { font: var(--text-h3); }
p { margin: 0 0 var(--space-3); }
button, input, select, textarea { font: inherit; color: inherit; }
img, svg { display: block; }
.icon { width: 20px; height: 20px; flex: none; display: inline-block; vertical-align: middle; }
.icon-sm { width: 16px; height: 16px; }
.ltr { direction: ltr; unicode-bidi: isolate; display: inline-block; }
.num { font-variant-numeric: tabular-nums; }
.muted { color: var(--color-text-muted); }
.secondary { color: var(--color-text-secondary); }
.small { font: var(--text-small); }
.caption { font: var(--text-caption); }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.stack > * + * { margin-block-start: var(--space-4); }
.row { display: flex; align-items: center; gap: var(--space-2); }
.row-between { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); }
.grow { flex: 1; }
:focus-visible { outline: 2px solid var(--color-brand-amber); outline-offset: 2px; }
[hidden] { display: none !important; }
