/* ============================================================================
   EzDesign v1 — Component layer
   Easy Z Ecosystem · core/ui-kit/ui-kit.css
   ---------------------------------------------------------------------------
   كل الفئات بادئة `ez-` — تحميل هذا الملف لا يمس أي فئة قائمة
   (.btn, .card, .pill, .modal ...) لذلك هو إضافي وآمن في كل الأسطح.
   القواعد: لا !important · لا خصائص فيزيائية (left/right) · لا خط < 12px ·
   كل المقاسات من tokens.css.
   ========================================================================= */

/* ── ١. الأزرار ─────────────────────────────────────────────────────── */
.ezd-btn {
  --ez-btn-bg: var(--ez-surface);
  --ez-btn-fg: var(--ez-ink);
  --ez-btn-bd: var(--ez-border-strong);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--ez-s-2);
  height: 40px;
  padding-inline: var(--ez-s-4);
  border: 1px solid var(--ez-btn-bd);
  border-radius: var(--ez-r-md);
  background: var(--ez-btn-bg);
  color: var(--ez-btn-fg);
  font-family: inherit;
  font-size: var(--ez-fs-meta);
  font-weight: var(--ez-fw-semi);
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
  text-decoration: none;
  transition: background var(--ez-d-fast) var(--ez-ease),
              border-color var(--ez-d-fast) var(--ez-ease),
              transform var(--ez-d-fast) var(--ez-ease),
              box-shadow var(--ez-d-fast) var(--ez-ease);
}
.ezd-btn:hover { background: var(--ez-surface-2); }
.ezd-btn:active { transform: translateY(1px); }
.ezd-btn[disabled],
.ezd-btn[aria-disabled="true"] { opacity: .45; pointer-events: none; }
.ezd-btn .ezd-ico { width: 17px; height: 17px; flex: none; }

.ezd-btn--primary {
  --ez-btn-bg: var(--ez-brand-fill);
  --ez-btn-fg: var(--ez-brand-on);
  --ez-btn-bd: transparent;
  box-shadow: var(--ez-e-1);
}
.ezd-btn--primary:hover { --ez-btn-bg: var(--ez-brand-press); box-shadow: var(--ez-e-2); }

.ezd-btn--soft {
  --ez-btn-bg: var(--ez-brand-soft);
  --ez-btn-fg: var(--ez-brand-fill);
  --ez-btn-bd: transparent;
}
.ezd-btn--soft:hover { --ez-btn-bg: var(--ez-brand-fill); --ez-btn-fg: var(--ez-brand-on); }

.ezd-btn--ghost {
  --ez-btn-bg: transparent;
  --ez-btn-fg: var(--ez-ink-2);
  --ez-btn-bd: transparent;
}
.ezd-btn--ghost:hover { --ez-btn-bg: var(--ez-surface-2); --ez-btn-fg: var(--ez-ink); }

.ezd-btn--danger {
  --ez-btn-bg: transparent;
  --ez-btn-fg: var(--ez-bad);
  --ez-btn-bd: var(--ez-bad-border);
}
.ezd-btn--danger:hover { --ez-btn-bg: var(--ez-bad-bg); }

.ezd-btn--dark {
  --ez-btn-bg: var(--ez-ink);
  --ez-btn-fg: var(--ez-bg);
  --ez-btn-bd: transparent;
}

.ezd-btn--sm { height: 32px; padding-inline: var(--ez-s-3); font-size: var(--ez-fs-caption); border-radius: var(--ez-r-sm); }
.ezd-btn--lg { height: 48px; padding-inline: var(--ez-s-6); font-size: var(--ez-fs-body); }
.ezd-btn--block { width: 100%; }
.ezd-btn--icon { width: 40px; padding: 0; }
.ezd-btn--icon.ezd-btn--sm { width: 32px; }
.ezd-btn--icon.ezd-btn--lg { width: 48px; }

.ezd-btn__spin {
  width: 14px;
  height: 14px;
  border: 2px solid currentColor;
  border-block-start-color: transparent;
  border-radius: 50%;
  animation: ez-spin .7s linear infinite;
}
@keyframes ez-spin { to { transform: rotate(1turn); } }

/* ── ٢. الحقول ──────────────────────────────────────────────────────── */
.ezd-field { display: grid; gap: var(--ez-s-1); }
.ezd-field__label {
  display: flex;
  align-items: center;
  gap: var(--ez-s-1);
  font-size: var(--ez-fs-meta);
  font-weight: var(--ez-fw-semi);
  color: var(--ez-ink-2);
}
.ezd-field__req { color: var(--ez-bad); }
.ezd-field__hint { font-size: var(--ez-fs-caption); color: var(--ez-ink-3); line-height: 1.6; }
.ezd-field__err {
  display: flex;
  align-items: center;
  gap: var(--ez-s-1);
  font-size: var(--ez-fs-caption);
  color: var(--ez-bad);
}
.ezd-field__err .ezd-ico { width: 13px; height: 13px; flex: none; }

.ezd-input {
  width: 100%;
  height: 42px;
  padding-inline: var(--ez-s-3);
  border: 1px solid var(--ez-border-strong);
  border-radius: var(--ez-r-md);
  background: var(--ez-surface);
  color: var(--ez-ink);
  font-family: inherit;
  font-size: var(--ez-fs-meta);
  transition: border-color var(--ez-d-fast) var(--ez-ease),
              box-shadow var(--ez-d-fast) var(--ez-ease);
}
.ezd-input::placeholder { color: var(--ez-ink-4); }
.ezd-input:hover { border-color: var(--ez-n-300); }
.ezd-input:focus {
  outline: none;
  border-color: var(--ez-brand);
  box-shadow: var(--ez-ring);
}
.ezd-input[aria-invalid="true"] { border-color: var(--ez-bad); }
.ezd-input[aria-invalid="true"]:focus { box-shadow: 0 0 0 3px rgba(190, 18, 60, .2); }
.ezd-input[disabled],
.ezd-input[readonly] { background: var(--ez-surface-2); color: var(--ez-ink-3); }

.ezd-textarea { height: auto; min-height: 96px; padding-block: var(--ez-s-3); resize: vertical; line-height: var(--ez-lh-body); }

.ezd-search { position: relative; }
.ezd-search .ezd-ico {
  position: absolute;
  inset-inline-start: var(--ez-s-3);
  inset-block-start: 50%;
  translate: 0 -50%;
  width: 16px;
  height: 16px;
  color: var(--ez-ink-4);
  pointer-events: none;
}
.ezd-search .ezd-input { padding-inline-start: 36px; }

.ezd-switch { display: inline-flex; align-items: center; gap: var(--ez-s-3); font-size: var(--ez-fs-meta); cursor: pointer; }
.ezd-switch input { position: absolute; opacity: 0; width: 0; height: 0; }
.ezd-switch__track {
  position: relative;
  flex: none;
  width: 38px;
  height: 22px;
  border-radius: var(--ez-r-pill);
  background: var(--ez-n-300);
  transition: background var(--ez-d-base) var(--ez-ease);
}
.ezd-switch__track::after {
  content: "";
  position: absolute;
  inset-block-start: 3px;
  inset-inline-start: 3px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #fff;
  box-shadow: var(--ez-e-1);
  transition: translate var(--ez-d-base) var(--ez-ease);
}
.ezd-switch input:checked + .ezd-switch__track { background: var(--ez-brand-fill); }
.ezd-switch input:checked + .ezd-switch__track::after { translate: 16px 0; }
.ezd-switch input:focus-visible + .ezd-switch__track { box-shadow: var(--ez-ring); }
.ezd-switch input:disabled + .ezd-switch__track { opacity: .5; }

/* ── ٣. الشرائح والشارات ────────────────────────────────────────────── */
.ezd-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  height: 24px;
  padding-inline: 9px;
  border: 1px solid transparent;
  border-radius: var(--ez-r-pill);
  background: var(--ez-surface-3);
  color: var(--ez-ink-2);
  font-size: var(--ez-fs-caption);
  font-weight: var(--ez-fw-semi);
  line-height: 1;
  white-space: nowrap;
}
.ezd-pill .ezd-ico { width: 12px; height: 12px; flex: none; }
.ezd-pill__dot { width: 6px; height: 6px; border-radius: 50%; background: currentColor; flex: none; }

.ezd-pill--ok   { background: var(--ez-ok-bg);   color: var(--ez-ok);   border-color: var(--ez-ok-border); }
.ezd-pill--warn { background: var(--ez-warn-bg); color: var(--ez-warn); border-color: var(--ez-warn-border); }
.ezd-pill--bad  { background: var(--ez-bad-bg);  color: var(--ez-bad);  border-color: var(--ez-bad-border); }
.ezd-pill--info { background: var(--ez-info-bg); color: var(--ez-info); border-color: var(--ez-info-border); }

/* حالات الطلب السبع — خريطة واحدة بدل ثلاثيات لونية في كل موضع */
.ezd-status--pending    { background: var(--ez-warn-bg); color: var(--ez-warn); border-color: var(--ez-warn-border); }
.ezd-status--processing { background: var(--ez-info-bg); color: var(--ez-info); border-color: var(--ez-info-border); }
.ezd-status--packed     { background: var(--ez-surface-3); color: var(--ez-ink-2); border-color: var(--ez-border-strong); }
.ezd-status--shipped    { background: var(--ez-info-bg); color: var(--ez-info); border-color: var(--ez-info-border); }
.ezd-status--delivered  { background: var(--ez-ok-bg);   color: var(--ez-ok);   border-color: var(--ez-ok-border); }
.ezd-status--cancelled  { background: var(--ez-bad-bg);  color: var(--ez-bad);  border-color: var(--ez-bad-border); }
.ezd-status--returned   { background: var(--ez-warn-bg); color: var(--ez-warn); border-color: var(--ez-warn-border); }

/* ── ٤. الأسطح ──────────────────────────────────────────────────────── */
.ezd-card {
  background: var(--ez-surface);
  border: 1px solid var(--ez-border);
  border-radius: var(--ez-r-lg);
  box-shadow: var(--ez-e-1);
}
.ezd-card--flat { box-shadow: none; }
.ezd-card--raised { box-shadow: var(--ez-e-2); }
.ezd-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--ez-s-4);
  padding: var(--ez-s-4) var(--ez-s-5);
  border-block-end: 1px solid var(--ez-border);
}
.ezd-card__title { font-size: var(--ez-fs-h3); font-weight: var(--ez-fw-semi); line-height: var(--ez-lh-tight); }
.ezd-card__pad { padding: var(--ez-s-5); }
.ezd-card__foot {
  padding: var(--ez-s-3) var(--ez-s-5);
  border-block-start: 1px solid var(--ez-border);
  display: flex;
  gap: var(--ez-s-2);
  justify-content: flex-end;
}

.ezd-kpi {
  display: grid;
  gap: var(--ez-s-1);
  padding: var(--ez-s-4);
  border: 1px solid var(--ez-border);
  border-radius: var(--ez-r-md);
  background: var(--ez-surface);
}
.ezd-kpi__label { font-size: var(--ez-fs-caption); font-weight: var(--ez-fw-semi); color: var(--ez-ink-3); }
.ezd-kpi__value {
  font-size: var(--ez-fs-h2);
  font-weight: var(--ez-fw-bold);
  line-height: 1.1;
  letter-spacing: -.01em;
  font-variant-numeric: tabular-nums;
}
.ezd-kpi__delta { display: inline-flex; align-items: center; gap: 3px; font-size: var(--ez-fs-caption); font-weight: var(--ez-fw-semi); }
.ezd-kpi__delta--up { color: var(--ez-ok); }
.ezd-kpi__delta--down { color: var(--ez-bad); }

/* ── ٥. الجداول ─────────────────────────────────────────────────────── */
.ezd-table-wrap {
  overflow-x: auto;
  border-radius: inherit;
  max-width: 100%;
}
.ezd-table { width: 100%; border-collapse: collapse; font-size: var(--ez-fs-meta); }
.ezd-table th {
  position: sticky;
  inset-block-start: 0;
  z-index: 1;
  text-align: start;
  padding: 10px var(--ez-s-4);
  background: var(--ez-surface-2);
  border-block-end: 1px solid var(--ez-border);
  font-size: var(--ez-fs-caption);
  font-weight: var(--ez-fw-semi);
  color: var(--ez-ink-3);
  white-space: nowrap;
}
.ezd-table td {
  padding: var(--ez-s-3) var(--ez-s-4);
  border-block-end: 1px solid var(--ez-border);
  vertical-align: middle;
}
.ezd-table tbody tr:last-child td { border-block-end: 0; }
.ezd-table tbody tr:hover { background: var(--ez-surface-2); }
.ezd-table__num { font-variant-numeric: tabular-nums; }
.ezd-table__sub { font-size: var(--ez-fs-caption); color: var(--ez-ink-3); }

/* ── ٦. التبويبات ───────────────────────────────────────────────────── */
.ezd-tabs {
  display: inline-flex;
  gap: 2px;
  padding: 3px;
  border-radius: var(--ez-r-md);
  background: var(--ez-surface-3);
  max-width: 100%;
  overflow-x: auto;
  scrollbar-width: none;
}
.ezd-tabs::-webkit-scrollbar { display: none; }
.ezd-tabs button,
.ezd-tabs .ezd-tab {
  padding: 6px var(--ez-s-3);
  border: 0;
  border-radius: var(--ez-r-sm);
  background: none;
  color: var(--ez-ink-3);
  font-family: inherit;
  font-size: var(--ez-fs-meta);
  font-weight: var(--ez-fw-semi);
  white-space: nowrap;
  cursor: pointer;
  transition: background var(--ez-d-fast) var(--ez-ease), color var(--ez-d-fast) var(--ez-ease);
}
.ezd-tabs [aria-selected="true"] {
  background: var(--ez-surface);
  color: var(--ez-ink);
  box-shadow: var(--ez-e-1);
}

/* ── ٧. الحالات: تحميل / فارغ / خطأ ─────────────────────────────────── */
.ezd-skeleton {
  display: block;
  border-radius: var(--ez-r-xs);
  background: linear-gradient(90deg, var(--ez-surface-3) 25%, var(--ez-surface-2) 37%, var(--ez-surface-3) 63%);
  background-size: 400% 100%;
  animation: ez-shimmer 1.4s ease-in-out infinite;
}
@keyframes ez-shimmer {
  0% { background-position: 100% 0; }
  100% { background-position: 0 0; }
}
.ezd-skeleton--text { height: 12px; }
.ezd-skeleton--title { height: 18px; }
.ezd-skeleton--block { height: 96px; border-radius: var(--ez-r-md); }

.ezd-empty {
  display: grid;
  justify-items: center;
  gap: var(--ez-s-2);
  padding: var(--ez-s-10) var(--ez-s-6);
  text-align: center;
}
.ezd-empty__icon {
  width: 52px;
  height: 52px;
  margin-block-end: var(--ez-s-1);
  border-radius: var(--ez-r-md);
  background: var(--ez-surface-3);
  color: var(--ez-ink-3);
  display: grid;
  place-items: center;
}
.ezd-empty__icon .ezd-ico { width: 24px; height: 24px; }
.ezd-empty__title { font-size: var(--ez-fs-body); font-weight: var(--ez-fw-semi); }
.ezd-empty__text { max-width: 36ch; font-size: var(--ez-fs-meta); color: var(--ez-ink-3); line-height: var(--ez-lh-body); }

.ezd-alert {
  display: flex;
  align-items: flex-start;
  gap: var(--ez-s-3);
  padding: var(--ez-s-3) var(--ez-s-4);
  border: 1px solid var(--ez-border);
  border-radius: var(--ez-r-md);
  background: var(--ez-surface);
  font-size: var(--ez-fs-meta);
  line-height: 1.65;
}
.ezd-alert .ezd-ico { width: 17px; height: 17px; flex: none; margin-block-start: 2px; }
.ezd-alert--ok   { background: var(--ez-ok-bg);   border-color: var(--ez-ok-border); }
.ezd-alert--ok .ezd-ico { color: var(--ez-ok); }
.ezd-alert--warn { background: var(--ez-warn-bg); border-color: var(--ez-warn-border); }
.ezd-alert--warn .ezd-ico { color: var(--ez-warn); }
.ezd-alert--bad  { background: var(--ez-bad-bg);  border-color: var(--ez-bad-border); }
.ezd-alert--bad .ezd-ico { color: var(--ez-bad); }
.ezd-alert--info { background: var(--ez-info-bg); border-color: var(--ez-info-border); }
.ezd-alert--info .ezd-ico { color: var(--ez-info); }

/* ── ٨. التنبيهات العائمة ───────────────────────────────────────────── */
.ezd-toast-stack {
  position: fixed;
  inset-block-end: calc(var(--ez-s-5) + var(--ez-safe-b));
  inset-inline-start: var(--ez-s-5);
  z-index: var(--ez-z-toast);
  display: flex;
  flex-direction: column;
  gap: var(--ez-s-2);
  max-width: min(390px, calc(100vw - 2 * var(--ez-s-5)));
  pointer-events: none;
}
.ezd-toast {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 11px var(--ez-s-4);
  border: 1px solid var(--ez-border);
  border-radius: var(--ez-r-md);
  background: var(--ez-surface);
  box-shadow: var(--ez-e-2);
  font-size: var(--ez-fs-meta);
  line-height: 1.6;
  pointer-events: auto;
  animation: ez-toast-in var(--ez-d-base) var(--ez-ease-out);
}
@keyframes ez-toast-in {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: none; }
}
.ezd-toast .ezd-ico { width: 17px; height: 17px; flex: none; margin-block-start: 1px; }
.ezd-toast--ok   { border-color: var(--ez-ok-border); }
.ezd-toast--ok .ezd-ico { color: var(--ez-ok); }
.ezd-toast--bad  { border-color: var(--ez-bad-border); }
.ezd-toast--bad .ezd-ico { color: var(--ez-bad); }
.ezd-toast--warn { border-color: var(--ez-warn-border); }
.ezd-toast--warn .ezd-ico { color: var(--ez-warn); }
.ezd-toast--info { border-color: var(--ez-info-border); }
.ezd-toast--info .ezd-ico { color: var(--ez-info); }
.ezd-toast__body { flex: 1; min-width: 0; }
.ezd-toast__action {
  background: none;
  border: 0;
  padding: 0;
  margin-block-start: 6px;
  color: var(--ez-brand-fill);
  font-family: inherit;
  font-size: var(--ez-fs-caption);
  font-weight: var(--ez-fw-semi);
  cursor: pointer;
}
.ezd-toast__close {
  flex: none;
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: var(--ez-r-xs);
  background: none;
  color: var(--ez-ink-4);
  cursor: pointer;
}
.ezd-toast__close:hover { background: var(--ez-surface-2); color: var(--ez-ink); }
.ezd-toast__close .ezd-ico { width: 14px; height: 14px; margin: 0; }

/* ── ٩. الطبقات: نافذة، تأكيد، درج ────────────────────────────────── */
.ezd-overlay {
  position: fixed;
  inset: 0;
  z-index: var(--ez-z-modal);
  background: rgba(23, 20, 18, .48);
  display: grid;
  place-items: center;
  padding: var(--ez-s-4);
  animation: ez-fade var(--ez-d-fast) var(--ez-ease);
}
@keyframes ez-fade { from { opacity: 0; } to { opacity: 1; } }

.ezd-modal {
  width: 100%;
  max-width: 440px;
  max-height: calc(100dvh - 2 * var(--ez-s-4));
  overflow: auto;
  background: var(--ez-surface);
  border: 1px solid var(--ez-border);
  border-radius: var(--ez-r-lg);
  box-shadow: var(--ez-e-3);
  animation: ez-modal-in var(--ez-d-base) var(--ez-ease-out);
}
@keyframes ez-modal-in {
  from { opacity: 0; transform: translateY(10px) scale(.98); }
  to { opacity: 1; transform: none; }
}
.ezd-modal--lg { max-width: 640px; }
.ezd-modal__head {
  display: flex;
  align-items: flex-start;
  gap: var(--ez-s-3);
  padding: var(--ez-s-5) var(--ez-s-5) var(--ez-s-3);
}
.ezd-modal__title { font-size: var(--ez-fs-lead); font-weight: var(--ez-fw-semi); line-height: var(--ez-lh-tight); }
.ezd-modal__body { padding: 0 var(--ez-s-5) var(--ez-s-4); font-size: var(--ez-fs-meta); color: var(--ez-ink-2); line-height: var(--ez-lh-body); }
.ezd-modal__foot {
  display: flex;
  gap: var(--ez-s-2);
  justify-content: flex-end;
  padding: var(--ez-s-3) var(--ez-s-5) var(--ez-s-5);
}

.ezd-drawer {
  position: fixed;
  inset-block: 0;
  inset-inline-start: 0;              /* جهة البداية — يمين في العربية */
  z-index: var(--ez-z-drawer);
  width: min(400px, 100vw);
  display: flex;
  flex-direction: column;
  background: var(--ez-surface);
  border-inline-end: 1px solid var(--ez-border);
  box-shadow: var(--ez-e-3);
  animation: ez-drawer-in var(--ez-d-slow) var(--ez-ease-out);
}
@keyframes ez-drawer-in {
  from { transform: translateX(100%); }
  to { transform: none; }
}
[dir="ltr"] .ezd-drawer { animation-name: ez-drawer-in-ltr; }
@keyframes ez-drawer-in-ltr {
  from { transform: translateX(-100%); }
  to { transform: none; }
}
.ezd-drawer__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--ez-s-3);
  padding: var(--ez-s-4) var(--ez-s-5);
  border-block-end: 1px solid var(--ez-border);
}
.ezd-drawer__body { flex: 1; overflow: auto; padding: var(--ez-s-5); }
.ezd-drawer__foot { padding: var(--ez-s-4) var(--ez-s-5); border-block-start: 1px solid var(--ez-border); }

/* ── ١٠. رصيف الإجراءات العائمة (بديل ١٣ زرًا طائرًا) ─────────────── */
.ezd-dock {
  position: fixed;
  inset-block-end: calc(var(--ez-s-5) + var(--ez-safe-b));
  inset-inline-end: var(--ez-s-5);
  z-index: var(--ez-z-dock);
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: var(--ez-s-2);
}
.ezd-dock__item {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: var(--ez-tap);
  padding: 0 var(--ez-s-4);
  border: 1px solid var(--ez-border);
  border-radius: var(--ez-r-pill);
  background: var(--ez-surface);
  color: var(--ez-ink-2);
  font-family: inherit;
  font-size: var(--ez-fs-caption);
  font-weight: var(--ez-fw-semi);
  text-decoration: none;
  box-shadow: var(--ez-e-1);
  cursor: pointer;
  transition: transform var(--ez-d-fast) var(--ez-ease), box-shadow var(--ez-d-fast) var(--ez-ease);
}
.ezd-dock__item:hover { transform: translateY(-1px); box-shadow: var(--ez-e-2); color: var(--ez-ink); }
.ezd-dock__item .ezd-ico { width: 15px; height: 15px; }

.ezd-dock__main {
  width: 48px;
  height: 48px;
  min-height: 48px;
  padding: 0;
  justify-content: center;
  border: 0;
  background: #25d366;
  color: #fff;
  box-shadow: 0 8px 20px -8px rgba(37, 211, 102, .7);
}
.ezd-dock__main .ezd-ico { width: 22px; height: 22px; }

/* ── ١١. التركيز — قاعدة واحدة عالمية داخل نطاق الأداة ─────────────── */
.ezd-focusable:focus-visible,
.ezd-btn:focus-visible,
.ezd-input:focus-visible,
.ezd-dock__item:focus-visible,
.ezd-tabs button:focus-visible,
.ezd-tabs .ezd-tab:focus-visible {
  outline: var(--ez-ring-width) solid var(--ez-brand);
  outline-offset: 2px;
}

/* ── ١٢. أدوات تخطيط صغيرة ─────────────────────────────────────────── */
.ezd-stack { display: grid; gap: var(--ez-s-3); }
.ezd-row { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ez-s-2); }
.ezd-spacer { margin-inline-start: auto; }
.ezd-truncate { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ── ١٣. احترام تقليل الحركة ────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  .ezd-toast,
  .ezd-modal,
  .ezd-overlay,
  .ezd-drawer { animation: none; }
  .ezd-skeleton { animation: none; }
  .ezd-btn:active,
  .ezd-dock__item:hover { transform: none; }
  .ezd-switch__track,
  .ezd-switch__track::after { transition: none; }
}
