/* ============================================================
   طبقة العمق ثلاثي الأبعاد للأزرار والأيقونات التفاعلية
   تُحمّل بعد أنماط كل صفحة، ولا تغيّر الألوان أو الأحجام أو الترتيب.
   الحالات: عادي، مرور، ضغط، تركيز بلوحة المفاتيح، تعطيل.
   ============================================================ */

:root {
  --ui3d-edge: rgba(20, 63, 92, 0.16);
  --ui3d-ambient: rgba(20, 63, 92, 0.2);
  --ui3d-gloss: rgba(255, 255, 255, 0.78);
  --ui3d-gloss-soft: rgba(255, 255, 255, 0.45);
  --ui3d-press: rgba(20, 63, 92, 0.18);
  --ui3d-focus: rgba(140,47,57,0.88);
  --ui3d-depth: 2px;
  --ui3d-ease: 0.16s cubic-bezier(0.2, 0.8, 0.3, 1);
}

/* ---------- أزرار بارزة (سطح واضح) ---------- */
:is(
  .btn,
  .btn.is-pressed,
  .bookings-btn,
  .menu-toggle,
  .footer-action,
  .acc-quick-btn,
  .acc-quick-btn.is-primary,
  .acc-tab,
  .adm-icon-btn,
  .adm-eye,
  .modal-close,
  .cc-account-btn,
  .doc-btn:not(.doc-btn-ghost),
  .document-btn,
  .invoice-btn,
  .receipt-btn,
  .admin-fab
) {
  --ui3d-depth: 2px;
  touch-action: manipulation;
  transition:
    transform var(--ui3d-ease),
    box-shadow var(--ui3d-ease),
    background-color 0.16s ease,
    border-color 0.16s ease,
    color 0.16s ease;
  box-shadow:
    0 var(--ui3d-depth) 0 var(--ui3d-edge),
    0 calc(var(--ui3d-depth) + 4px) 10px -4px var(--ui3d-ambient),
    0 14px 24px -18px var(--ui3d-ambient),
    inset 0 1px 0 var(--ui3d-gloss),
    inset 0 14px 18px -16px var(--ui3d-gloss-soft);
}

/* ---------- أزرار وأيقونات مدمجة ---------- */
:is(
  .acc-link-btn,
  .acc-filter-chip,
  .acc-preset.is-active,
  .category-pill,
  .details-thumbs button,
  .search-summary-clear,
  .copy-btn,
  .cc-modal-close,
  .adm-delete-btn,
  .adm-img-remove,
  .trk-btn,
  .trk-btn-primary,
  .trk-btn-soft,
  .trk-btn-outline,
  .trk-btn-danger,
  .trk-btn-dark,
  .trk-tool,
  .trk-head-btn,
  .doc-tool-btn,
  .car-details-link,
  .acc-report-item
) {
  --ui3d-depth: 1px;
  touch-action: manipulation;
  transition:
    transform var(--ui3d-ease),
    box-shadow var(--ui3d-ease),
    background-color 0.16s ease,
    border-color 0.16s ease,
    color 0.16s ease;
  box-shadow:
    0 var(--ui3d-depth) 0 var(--ui3d-edge),
    0 4px 8px -3px var(--ui3d-ambient),
    inset 0 1px 0 var(--ui3d-gloss),
    inset 0 10px 12px -12px var(--ui3d-gloss-soft);
}

/* ---------- أجزاء تحكّم مسطّحة تظهر حافتها عند المرور فقط ---------- */
:is(
  .acc-preset,
  .trk-tab,
  .owner-tabs button,
  .owner-detail-tabs button,
  .acc-bl-tabs button,
  .doc-btn-ghost
) {
  touch-action: manipulation;
  transition:
    transform var(--ui3d-ease),
    box-shadow var(--ui3d-ease),
    background-color 0.16s ease,
    border-color 0.16s ease,
    color 0.16s ease;
}

/* التبويب النشط داخل مجموعات مسطّحة يبدو بارزًا */
:is(
  .trk-tab.is-active,
  .owner-tabs button.is-active,
  .owner-detail-tabs button.is-active,
  .acc-bl-tabs button.is-active
) {
  box-shadow:
    0 1px 0 rgba(11, 39, 58, 0.32),
    0 6px 12px -6px rgba(11, 39, 58, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.22);
}

/* ---------- عناصر قوائم نصية: استجابة خفيفة دون إطار ---------- */
:is(.cc-account-item, .owner-link-btn) {
  touch-action: manipulation;
  transition:
    transform var(--ui3d-ease),
    background-color 0.15s ease,
    color 0.15s ease;
}

/* ---------- تدرّجات حسب لون الزر ---------- */
:is(
  .btn-dark,
  .acc-quick-btn.is-primary,
  .document-btn,
  .invoice-btn,
  .receipt-btn,
  .admin-fab,
  .doc-btn-primary,
  .trk-btn-primary,
  .trk-btn-dark
) {
  --ui3d-edge: rgba(11, 39, 58, 0.42);
  --ui3d-ambient: rgba(11, 39, 58, 0.3);
  --ui3d-gloss: rgba(255, 255, 255, 0.3);
  --ui3d-gloss-soft: rgba(255, 255, 255, 0.14);
  --ui3d-press: rgba(0, 0, 0, 0.32);
}

:is(.btn-primary, .category-pill.is-active) {
  --ui3d-edge: rgba(140,47,57,0.4);
  --ui3d-ambient: rgba(140,47,57,0.34);
  --ui3d-gloss: rgba(255, 255, 255, 0.66);
  --ui3d-gloss-soft: rgba(255, 255, 255, 0.36);
  --ui3d-press: rgba(140,47,57,0.22);
}

:is(.btn-danger-outline, .adm-delete-btn, .acc-doc-remove, .adm-icon-btn-danger, .trk-btn-danger, .acc-link-btn.is-danger) {
  --ui3d-edge: rgba(189, 75, 75, 0.32);
  --ui3d-ambient: rgba(189, 75, 75, 0.22);
  --ui3d-press: rgba(140, 47, 57, 0.2);
}

.footer-action-wa {
  --ui3d-edge: rgba(10, 61, 34, 0.4);
  --ui3d-ambient: rgba(31, 138, 76, 0.3);
  --ui3d-gloss: rgba(255, 255, 255, 0.34);
  --ui3d-gloss-soft: rgba(255, 255, 255, 0.16);
  --ui3d-press: rgba(8, 50, 28, 0.3);
}

.acc-filter-chip.is-active {
  --ui3d-edge: rgba(189, 75, 75, 0.28);
  --ui3d-ambient: rgba(189, 75, 75, 0.18);
}

:is(.trk-head-btn, .adm-img-remove) {
  --ui3d-edge: rgba(0, 0, 0, 0.34);
  --ui3d-ambient: rgba(0, 0, 0, 0.26);
  --ui3d-gloss: rgba(255, 255, 255, 0.26);
  --ui3d-gloss-soft: rgba(255, 255, 255, 0.1);
  --ui3d-press: rgba(0, 0, 0, 0.34);
}

/* عيّنات الألوان تحتفظ بحلقتها الواضحة مع عمق خفيف */
.adm-swatch {
  touch-action: manipulation;
  transition: transform var(--ui3d-ease), box-shadow var(--ui3d-ease);
  box-shadow:
    0 0 0 1px rgba(20, 63, 92, 0.22),
    0 2px 0 var(--ui3d-edge),
    0 6px 12px -3px var(--ui3d-ambient),
    inset 0 1px 0 rgba(255, 255, 255, 0.55);
}

/* ---------- المرور: ارتفاع خفيف وظل أوضح ---------- */
@media (hover: hover) and (pointer: fine) {
  :is(
    .btn,
    .btn.is-pressed,
    .bookings-btn,
    .menu-toggle,
    .footer-action,
    .acc-quick-btn,
    .acc-quick-btn.is-primary,
    .acc-tab,
    .adm-icon-btn,
    .adm-eye,
    .modal-close,
    .cc-account-btn,
    .doc-btn:not(.doc-btn-ghost),
    .document-btn,
    .invoice-btn,
    .receipt-btn,
    .admin-fab
  ):not(:disabled):hover {
    transform: translateY(-1px);
    box-shadow:
      0 calc(var(--ui3d-depth) + 1px) 0 var(--ui3d-edge),
      0 calc(var(--ui3d-depth) + 6px) 14px -5px var(--ui3d-ambient),
      0 18px 30px -20px var(--ui3d-ambient),
      inset 0 1px 0 var(--ui3d-gloss),
      inset 0 14px 18px -16px var(--ui3d-gloss-soft);
  }

  :is(
    .acc-link-btn,
    .acc-filter-chip,
    .acc-preset.is-active,
    .category-pill,
    .details-thumbs button,
    .search-summary-clear,
    .copy-btn,
    .cc-modal-close,
    .adm-delete-btn,
    .adm-img-remove,
    .trk-btn,
    .trk-btn-primary,
    .trk-btn-soft,
    .trk-btn-outline,
    .trk-btn-danger,
    .trk-btn-dark,
    .trk-tool,
    .trk-head-btn,
    .doc-tool-btn,
    .car-details-link,
    .acc-report-item
  ):not(:disabled):hover {
    transform: translateY(-1px);
    box-shadow:
      0 calc(var(--ui3d-depth) + 1px) 0 var(--ui3d-edge),
      0 6px 12px -4px var(--ui3d-ambient),
      inset 0 1px 0 var(--ui3d-gloss),
      inset 0 10px 12px -12px var(--ui3d-gloss-soft);
  }

  :is(.adm-swatch):hover {
    transform: translateY(-1px);
    box-shadow:
      0 0 0 1px rgba(20, 63, 92, 0.26),
      0 3px 0 var(--ui3d-edge),
      0 8px 14px -4px var(--ui3d-ambient),
      inset 0 1px 0 rgba(255, 255, 255, 0.6);
  }

  :is(
    .acc-preset,
    .trk-tab,
    .owner-tabs button,
    .owner-detail-tabs button,
    .acc-bl-tabs button,
    .doc-btn-ghost
  ):not(:disabled):hover {
    transform: translateY(-1px);
    box-shadow:
      0 1px 0 var(--ui3d-edge),
      0 5px 10px -4px var(--ui3d-ambient),
      inset 0 1px 0 var(--ui3d-gloss);
  }
}

/* ---------- الضغط: هبوط مع تقلّص الظل ---------- */
:is(
  .btn,
  .btn.is-pressed,
  .bookings-btn,
  .menu-toggle,
  .footer-action,
  .acc-quick-btn,
  .acc-quick-btn.is-primary,
  .acc-tab,
  .adm-icon-btn,
  .adm-eye,
  .modal-close,
  .cc-account-btn,
  .doc-btn:not(.doc-btn-ghost),
  .document-btn,
  .invoice-btn,
  .receipt-btn,
  .admin-fab
):not(:disabled):active {
  transform: translateY(var(--ui3d-depth));
  box-shadow:
    0 0 0 1px var(--ui3d-edge),
    0 1px 2px var(--ui3d-ambient),
    inset 0 2px 6px var(--ui3d-press),
    inset 0 -1px 0 rgba(255, 255, 255, 0.3);
}

:is(
  .acc-link-btn,
  .acc-filter-chip,
  .acc-preset.is-active,
  .category-pill,
  .details-thumbs button,
  .search-summary-clear,
  .copy-btn,
  .cc-modal-close,
  .adm-delete-btn,
  .adm-img-remove,
  .trk-btn,
  .trk-btn-primary,
  .trk-btn-soft,
  .trk-btn-outline,
  .trk-btn-danger,
  .trk-btn-dark,
  .trk-tool,
  .trk-head-btn,
  .doc-tool-btn,
  .car-details-link,
  .acc-report-item
):not(:disabled):active {
  transform: translateY(var(--ui3d-depth));
  box-shadow:
    0 0 0 1px var(--ui3d-edge),
    0 1px 2px var(--ui3d-ambient),
    inset 0 1px 4px var(--ui3d-press);
}

.adm-swatch:active {
  transform: translateY(1px);
  box-shadow:
    0 0 0 1px rgba(20, 63, 92, 0.26),
    0 1px 2px var(--ui3d-ambient),
    inset 0 1px 3px var(--ui3d-press);
}

:is(
  .acc-preset,
  .trk-tab,
  .owner-tabs button,
  .owner-detail-tabs button,
  .acc-bl-tabs button,
  .doc-btn-ghost
):not(:disabled):active {
  transform: translateY(1px);
  box-shadow:
    0 0 0 1px var(--ui3d-edge),
    inset 0 1px 3px var(--ui3d-press);
}

:is(.cc-account-item, .owner-link-btn):not(:disabled):active {
  transform: translateY(1px);
}

/* إبقاء دوران زر إغلاق النافذة مع حركة الارتفاع والهبوط */
@media (hover: hover) and (pointer: fine) {
  .modal-close:not(:disabled):hover {
    transform: rotate(90deg) translateY(-1px);
  }
}

.modal-close:not(:disabled):active {
  transform: rotate(90deg) translateY(var(--ui3d-depth));
}

/* ---------- التركيز بلوحة المفاتيح: حلقة واضحة لا تحجب المحتوى ---------- */
:is(
  .btn,
  .btn.is-pressed,
  .bookings-btn,
  .menu-toggle,
  .footer-action,
  .acc-quick-btn,
  .acc-tab,
  .adm-icon-btn,
  .adm-eye,
  .modal-close,
  .cc-account-btn,
  .doc-btn,
  .document-btn,
  .invoice-btn,
  .receipt-btn,
  .admin-fab,
  .acc-link-btn,
  .acc-filter-chip,
  .acc-preset,
  .acc-preset.is-active,
  .category-pill,
  .details-thumbs button,
  .search-summary-clear,
  .copy-btn,
  .cc-modal-close,
  .adm-delete-btn,
  .adm-img-remove,
  .adm-swatch,
  .trk-btn,
  .trk-tool,
  .trk-head-btn,
  .trk-tab,
  .owner-tabs button,
  .owner-detail-tabs button,
  .acc-bl-tabs button,
  .doc-tool-btn,
  .doc-btn-ghost,
  .car-details-link,
  .cc-account-item,
  .owner-link-btn
):focus-visible {
  outline: 3px solid var(--ui3d-focus);
  outline-offset: 3px;
}

:is(.acc-link-btn, .acc-filter-chip, .acc-preset, .copy-btn, .trk-btn, .trk-tool, .trk-tab, .cc-account-item, .owner-link-btn, .search-summary-clear):focus-visible:focus-visible {
  outline-width: 2px;
  outline-offset: 2px;
}

/* ---------- التعطيل: لا حركة ولا عمق ---------- */
:is(
  .btn,
  .bookings-btn,
  .menu-toggle,
  .footer-action,
  .acc-quick-btn,
  .acc-tab,
  .adm-icon-btn,
  .adm-eye,
  .modal-close,
  .cc-account-btn,
  .doc-btn,
  .document-btn,
  .invoice-btn,
  .receipt-btn,
  .admin-fab,
  .acc-link-btn,
  .acc-filter-chip,
  .acc-preset,
  .category-pill,
  .details-thumbs button,
  .search-summary-clear,
  .copy-btn,
  .cc-modal-close,
  .adm-delete-btn,
  .adm-img-remove,
  .trk-btn,
  .trk-tool,
  .trk-head-btn,
  .trk-tab,
  .owner-tabs button,
  .owner-detail-tabs button,
  .acc-bl-tabs button,
  .doc-tool-btn,
  .car-details-link,
  .acc-report-item
)[disabled],
:is(
  .btn,
  .bookings-btn,
  .menu-toggle,
  .footer-action,
  .acc-quick-btn,
  .acc-tab,
  .adm-icon-btn,
  .adm-eye,
  .modal-close,
  .cc-account-btn,
  .doc-btn,
  .document-btn,
  .invoice-btn,
  .receipt-btn,
  .admin-fab,
  .acc-link-btn,
  .acc-filter-chip,
  .acc-preset,
  .category-pill,
  .details-thumbs button,
  .search-summary-clear,
  .copy-btn,
  .cc-modal-close,
  .adm-delete-btn,
  .adm-img-remove,
  .trk-btn,
  .trk-tool,
  .trk-head-btn,
  .trk-tab,
  .owner-tabs button,
  .owner-detail-tabs button,
  .acc-bl-tabs button,
  .doc-tool-btn,
  .car-details-link,
  .acc-report-item
):disabled,
:is(
  .btn,
  .bookings-btn,
  .menu-toggle,
  .footer-action,
  .acc-quick-btn,
  .acc-tab,
  .adm-icon-btn,
  .adm-eye,
  .modal-close,
  .cc-account-btn,
  .doc-btn,
  .document-btn,
  .invoice-btn,
  .receipt-btn,
  .admin-fab,
  .acc-link-btn,
  .acc-filter-chip,
  .acc-preset,
  .category-pill,
  .search-summary-clear,
  .copy-btn,
  .cc-modal-close,
  .adm-delete-btn,
  .adm-img-remove,
  .trk-btn,
  .trk-tool,
  .trk-head-btn,
  .trk-tab,
  .doc-tool-btn,
  .acc-report-item
)[aria-disabled="true"] {
  transform: none !important;
  opacity: 0.55;
  filter: saturate(0.55);
  box-shadow:
    0 0 0 1px rgba(20, 63, 92, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.4);
}

/* ---------- تقليل الحركة ---------- */
@media (prefers-reduced-motion: reduce) {
  :is(
    .btn,
    .bookings-btn,
    .menu-toggle,
    .footer-action,
    .acc-quick-btn,
    .acc-tab,
    .adm-icon-btn,
    .adm-eye,
    .modal-close,
    .cc-account-btn,
    .doc-btn,
    .document-btn,
    .invoice-btn,
    .receipt-btn,
    .admin-fab,
    .acc-link-btn,
    .acc-filter-chip,
    .acc-preset,
    .category-pill,
    .details-thumbs button,
    .search-summary-clear,
    .copy-btn,
    .cc-modal-close,
    .adm-delete-btn,
    .adm-img-remove,
    .adm-swatch,
    .trk-btn,
    .trk-tool,
    .trk-head-btn,
    .trk-tab,
    .owner-tabs button,
    .owner-detail-tabs button,
    .acc-bl-tabs button,
    .doc-tool-btn,
    .car-details-link,
    .acc-report-item,
    .cc-account-item,
    .owner-link-btn
  ) {
    transition-duration: 0.01ms !important;
  }

  :is(
    .btn,
    .bookings-btn,
    .menu-toggle,
    .footer-action,
    .acc-quick-btn,
    .acc-tab,
    .adm-icon-btn,
    .adm-eye,
    .modal-close,
    .cc-account-btn,
    .doc-btn,
    .document-btn,
    .invoice-btn,
    .receipt-btn,
    .admin-fab,
    .acc-link-btn,
    .acc-filter-chip,
    .acc-preset,
    .category-pill,
    .details-thumbs button,
    .search-summary-clear,
    .copy-btn,
    .cc-modal-close,
    .adm-delete-btn,
    .adm-img-remove,
    .adm-swatch,
    .trk-btn,
    .trk-tool,
    .trk-head-btn,
    .trk-tab,
    .owner-tabs button,
    .owner-detail-tabs button,
    .acc-bl-tabs button,
    .doc-tool-btn,
    .car-details-link,
    .acc-report-item,
    .cc-account-item,
    .owner-link-btn
  ):hover,
  :is(
    .btn,
    .bookings-btn,
    .menu-toggle,
    .footer-action,
    .acc-quick-btn,
    .acc-tab,
    .adm-icon-btn,
    .adm-eye,
    .modal-close,
    .cc-account-btn,
    .doc-btn,
    .document-btn,
    .invoice-btn,
    .receipt-btn,
    .admin-fab,
    .acc-link-btn,
    .acc-filter-chip,
    .acc-preset,
    .category-pill,
    .details-thumbs button,
    .search-summary-clear,
    .copy-btn,
    .cc-modal-close,
    .adm-delete-btn,
    .adm-img-remove,
    .trk-btn,
    .trk-tool,
    .trk-head-btn,
    .trk-tab,
    .owner-tabs button,
    .owner-detail-tabs button,
    .acc-bl-tabs button,
    .doc-tool-btn,
    .car-details-link,
    .acc-report-item,
    .cc-account-item,
    .owner-link-btn
  ):active {
    transform: none !important;
  }
}
