/*
 * نظام تصميم موحّد — الإدارة الشاملة
 * هوية أردوازية (slate) للإطار والإجراءات الرئيسية؛ ألوان دلالية للنجاح/التحذير/الخطر.
 */
:root {
  --app-font: "Tajawal", sans-serif;

  /* سلّم الأردواز — أساس الواجهة الموحّدة */
  --app-slate-50: #f8fafc;
  --app-slate-100: #f1f5f9;
  --app-slate-200: #e2e8f0;
  --app-slate-400: #94a3b8;
  --app-slate-500: #64748b;
  --app-slate-600: #475569;
  --app-slate-700: #334155;
  --app-slate-800: #1e293b;
  --app-slate-900: #0f172a;

  /* توافق قديم (كود يشير إلى brand) — قيم أردوازية */
  --app-brand-50: #f8fafc;
  --app-brand-100: #f1f5f9;
  --app-brand-200: #e2e8f0;
  --app-brand-300: #cbd5e1;
  --app-brand-400: #94a3b8;
  --app-brand-500: #64748b;
  --app-brand-600: #475569;
  --app-brand-700: #334155;
  --app-brand-800: #1e293b;
  --app-brand-900: #0f172a;
  --app-brand-950: #020617;

  /* إجراء رئيسي، بطاقات تدرّج، جداول table-custom — متوافق مع الشريط العلوي */
  --app-gradient: linear-gradient(135deg, #64748b 0%, #475569 38%, #334155 72%, #1e293b 100%);
  --app-navbar-gradient: linear-gradient(180deg, #475569 0%, #334155 48%, #1e293b 100%);
  --app-gradient-start: var(--app-slate-500);
  --app-gradient-end: var(--app-slate-800);
  --app-gradient-subtle: linear-gradient(135deg, var(--app-slate-100), var(--app-slate-400));
  --app-gradient-mesh: radial-gradient(1000px 520px at 100% 0%, rgba(148, 163, 184, 0.07), transparent 58%);

  --app-body-bg: #f4f5f7;
  --app-body-gradient: var(--app-gradient-mesh),
    linear-gradient(180deg, #fafbfc 0%, var(--app-body-bg) 45%, #f1f3f6 100%);

  --app-radius: 16px;
  --app-radius-lg: 18px;
  --app-radius-xl: 22px;
  --app-shadow: 0 1px 2px rgba(15, 23, 42, 0.04), 0 8px 22px -8px rgba(15, 23, 42, 0.07);
  --app-shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.045);
  --app-shadow-float: 0 10px 28px -10px rgba(15, 23, 42, 0.09), 0 2px 8px rgba(15, 23, 42, 0.04);
  --app-card-border: rgba(148, 163, 184, 0.35);
  --app-surface: #ffffff;
  --app-text: #0f172a;
  --app-muted: #64748b;
  --app-border: #e2e8f0;
  --app-primary: var(--app-slate-700);
  --app-primary-soft: rgba(51, 65, 85, 0.14);
  --app-ring: rgba(71, 85, 105, 0.32);

  --app-on-brand-bg: #ffffff;
  --app-success-on-surface: #166534;
  --app-danger-on-surface: #991b1b;
  --app-warning-on-surface: #92400e;
  --app-info-surface: rgba(241, 245, 249, 0.96);

  --app-teal: var(--app-slate-700);
  --app-teal-soft: rgba(71, 85, 105, 0.12);

  /* طباعة عربية — إيقاع سطر موحّد وقراءة أوضح */
  --app-text-size-base: 1rem;
  --app-line-height: 1.65;
  --app-line-height-heading: 1.28;
  --app-line-height-ui: 1.45;

  /* Bootstrap 5 — إزالة الأزرق الافتراضي: أساسي وروابط = سليت */
  --bs-primary: #334155;
  --bs-primary-rgb: 51, 65, 85;
  --bs-link-color: #334155;
  --bs-link-hover-color: #1e293b;
}

/* فئات Bootstrap/قديمة اسمها «teal» — لون أردوازي موحّد */
.text-teal {
  color: var(--app-slate-700) !important;
}

/* تخطي إلى المحتوى — إتاحة لوحة المفاتيح (يظهر عند التركيز فقط) */
.app-skip-link {
  position: fixed;
  top: 0.5rem;
  inset-inline-start: 50%;
  transform: translateX(-50%);
  z-index: 2005;
  border: 1px solid var(--app-border);
}

@media print {
  .app-skip-link {
    display: none !important;
  }
}

/* رأس صفحات التطبيق — سطح زجاجي خفيف */
.app-page-hero {
  background: #fff;
  border: 1px solid var(--app-border);
  border-radius: var(--app-radius-lg);
  padding: 1.15rem 1.25rem;
  box-shadow: var(--app-shadow-sm);
  margin-bottom: 1.15rem;
}

.app-page-hero .app-page-hero__title {
  font-size: clamp(1.05rem, 2.8vw, 1.3rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--app-text);
  margin-bottom: 0.35rem;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.app-page-hero .app-page-hero__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 14px;
  background: linear-gradient(145deg, var(--app-slate-100), rgba(148, 163, 184, 0.25));
  border: 1px solid var(--app-slate-200);
  color: var(--app-slate-700);
  flex-shrink: 0;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
}

.page-leads-inbox .app-page-wrap {
  display: flex;
  flex-direction: column;
}

.page-leads-inbox .btn-group .btn {
  font-weight: 700;
}

@media (max-width: 575.98px) {
  .page-leads-inbox .app-page-hero .d-flex.flex-wrap.gap-2 {
    width: 100%;
  }
  .page-leads-inbox .btn-group {
    width: 100%;
    flex-direction: column;
  }
  .page-leads-inbox .btn-group > .btn {
    border-radius: 12px !important;
    width: 100%;
  }
}

* {
  font-family: var(--app-font);
}

@media (prefers-reduced-motion: no-preference) {
  html {
    scroll-behavior: smooth;
  }
}

::selection {
  background: rgba(148, 163, 184, 0.38);
  color: var(--app-slate-900);
}

body.app-body,
body.auth-page {
  font-size: var(--app-text-size-base);
  line-height: var(--app-line-height);
  color: var(--app-text);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-feature-settings: "kern" 1;
}

/* عناوين — إيقاع أوضح مع النص العربي */
.app-body h1,
.app-body h2,
.app-body h3,
.app-body h4,
.app-body h5,
.app-body h6,
.app-body .h1,
.app-body .h2,
.app-body .h3,
.app-body .h4,
.app-body .h5,
.app-body .h6 {
  line-height: var(--app-line-height-heading);
  letter-spacing: -0.02em;
  text-wrap: balance;
}

.app-body .btn,
.app-body .nav-link,
.app-body .form-label,
.app-body .dropdown-item {
  line-height: var(--app-line-height-ui);
}

body.auth-page .form-label,
body.auth-page label:not(.form-check-label) {
  font-weight: 600;
  color: var(--app-slate-800);
  margin-bottom: 0.35rem;
}

/* خلفية واحدة لكل التطبيق (صفحات تستخدم app-body — ما عدا صفحات الدخول المنفصلة) */
body.app-body:not(.auth-page) {
  background: var(--app-body-gradient);
  min-height: 100dvh;
}

.app-body main,
.app-body .container,
.app-body .container-fluid {
  --app-section-gap: clamp(0.85rem, 2.2vw, 1.25rem);
}

.app-body .card + .card,
.app-body .app-card + .app-card,
.app-body .card-modern + .card-modern {
  margin-top: var(--app-section-gap);
}

/* نظام موحّد وعصري لعناصر الواجهة */
.app-body .btn {
  border-radius: 12px;
  font-weight: 600;
  letter-spacing: 0.01em;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
  transition: box-shadow 0.16s ease, filter 0.16s ease, background-color 0.16s ease, transform 0.14s ease;
  touch-action: manipulation;
  -webkit-tap-highlight-color: rgba(71, 85, 105, 0.12);
}

.app-body .btn:hover {
  transform: none;
  box-shadow: 0 2px 10px rgba(15, 23, 42, 0.08);
}

.app-body .btn:active:not(:disabled):not(.disabled) {
  transform: translateY(1px);
  filter: brightness(0.97);
}

.app-body .btn:focus-visible,
.app-body .form-control:focus,
.app-body .form-select:focus {
  box-shadow: 0 0 0 0.22rem var(--app-primary-soft);
  border-color: rgba(71, 85, 105, 0.45);
}

.app-body .btn-primary {
  background: var(--app-gradient);
  border-color: var(--app-slate-800);
  color: var(--app-on-brand-bg) !important;
}

.app-body .btn-outline-primary {
  --bs-btn-color: var(--app-slate-700);
  --bs-btn-border-color: rgba(71, 85, 105, 0.38);
  --bs-btn-hover-bg: rgba(148, 163, 184, 0.18);
  --bs-btn-hover-color: var(--app-slate-900);
  --bs-btn-hover-border-color: rgba(51, 65, 85, 0.45);
}

.app-body .btn-success {
  background: linear-gradient(135deg, #4ade80, #15803d);
  border-color: #166534;
  color: #fff !important;
}

.app-body .btn-success:hover,
.app-body .btn-success:focus-visible {
  filter: brightness(1.04);
  color: #fff !important;
}

.app-body .btn-outline-success {
  --bs-btn-color: #166534;
  --bs-btn-border-color: rgba(22, 101, 52, 0.45);
  --bs-btn-hover-bg: rgba(220, 252, 231, 0.85);
  --bs-btn-hover-color: #14532d;
  --bs-btn-hover-border-color: rgba(22, 101, 52, 0.55);
}

.app-body .btn-info {
  background: linear-gradient(135deg, #38bdf8, #0369a1);
  border-color: #0284c7;
  color: #fff !important;
}

.app-body .btn-info:hover,
.app-body .btn-info:focus-visible {
  filter: brightness(1.03);
  color: #fff !important;
}

.app-body .btn-outline-info {
  --bs-btn-color: #0369a1;
  --bs-btn-border-color: rgba(3, 105, 161, 0.4);
  --bs-btn-hover-bg: rgba(224, 242, 254, 0.9);
  --bs-btn-hover-color: #0c4a6e;
}

.app-body .btn-warning,
.app-body .btn-warning.text-dark {
  background: linear-gradient(135deg, #fef9c3, #facc15);
  border-color: rgba(234, 179, 8, 0.65);
  color: #713f12 !important;
}

.app-body .btn-warning:hover,
.app-body .btn-warning.text-dark:hover {
  filter: brightness(0.98);
  color: #713f12 !important;
}

.app-body .btn-outline-warning {
  --bs-btn-color: #a16207;
  --bs-btn-border-color: rgba(234, 179, 8, 0.55);
  --bs-btn-hover-bg: rgba(254, 243, 199, 0.95);
}

.app-body .btn-danger {
  background: linear-gradient(135deg, #f87171, #b91c1c);
  border-color: #991b1b;
  color: #fff !important;
}

.app-body .btn-danger:hover {
  filter: brightness(1.05);
  color: #fff !important;
}

.app-body .btn-outline-danger {
  --bs-btn-color: #b91c1c;
  --bs-btn-border-color: rgba(185, 28, 28, 0.45);
  --bs-btn-hover-bg: rgba(254, 226, 226, 0.95);
}

.app-body .btn-secondary {
  background: linear-gradient(180deg, #f1f5f9, #e2e8f0);
  border-color: #cbd5e1;
  color: #334155 !important;
}

.app-body .btn-secondary:hover {
  filter: brightness(0.98);
  color: #1e293b !important;
}

.app-body .badge.bg-primary {
  background: var(--app-gradient) !important;
  color: #fff !important;
}

.app-body .badge.bg-success {
  background: linear-gradient(135deg, #4ade80, #15803d) !important;
  color: #fff !important;
}

.app-body .badge.bg-info {
  background: linear-gradient(135deg, #7dd3fc, #0369a1) !important;
  color: #fff !important;
}

.app-body .badge.bg-warning.text-dark {
  background: linear-gradient(135deg, #fef9c3, #eab308) !important;
  color: #713f12 !important;
}

.app-body .alert-info {
  background: linear-gradient(135deg, var(--app-info-surface), #ffffff);
  border-color: rgba(148, 163, 184, 0.45);
  color: var(--app-slate-800);
}

.app-body .alert-success {
  background: linear-gradient(135deg, rgba(220, 252, 231, 0.65), #ffffff);
  border-color: rgba(34, 197, 94, 0.35);
  color: #166534;
}

.app-body .alert-warning {
  background: linear-gradient(135deg, rgba(254, 243, 199, 0.75), #ffffff);
  border-color: rgba(245, 158, 11, 0.45);
  color: #92400e;
}

.app-body .alert-danger {
  background: linear-gradient(135deg, rgba(254, 226, 226, 0.65), rgba(255, 255, 255, 0.98));
  border-color: rgba(185, 28, 28, 0.38);
  color: #991b1b;
}

.app-body .nav-pills .nav-link.active,
.app-body .nav-pills .show > .nav-link {
  background: var(--app-gradient);
  color: #fff !important;
}

.app-body .nav-pills .nav-link:not(.active):hover {
  background: rgba(148, 163, 184, 0.2);
  color: var(--app-slate-900);
}

.app-body .nav-pills .nav-link {
  transition: background-color 0.14s ease, color 0.14s ease, transform 0.12s ease, filter 0.12s ease, box-shadow 0.14s ease;
  touch-action: manipulation;
  -webkit-tap-highlight-color: rgba(71, 85, 105, 0.12);
}

.app-body .nav-pills .nav-link:not(.active):active {
  transform: translateY(1px);
  filter: brightness(0.97);
}

.app-body .nav-pills .nav-link.active:active {
  transform: translateY(1px);
  filter: brightness(0.94);
}

.app-body .card-header.bg-primary {
  background: var(--app-gradient) !important;
  color: #fff !important;
  border-bottom: none;
}

.app-body .card-header.bg-success {
  background: linear-gradient(135deg, #4ade80, #15803d) !important;
  color: #fff !important;
  border-bottom: none;
}

.app-body .card-header.bg-info {
  background: linear-gradient(135deg, #7dd3fc, #0369a1) !important;
  color: #fff !important;
  border-bottom: none;
}

.app-body .text-success {
  color: var(--app-success-on-surface) !important;
}

/* Bootstrap 5 «subtle» utilities — أخضر هادئ */
.app-body .bg-success-subtle {
  background-color: rgba(220, 252, 231, 0.75) !important;
}
.app-body .border-success-subtle {
  border-color: rgba(34, 197, 94, 0.38) !important;
}

.app-body .border-teal {
  border-color: rgba(71, 85, 105, 0.35) !important;
}

.app-body .text-primary {
  color: var(--app-primary) !important;
}

.app-body .text-info {
  color: #0369a1 !important;
}

.app-body .link-success {
  color: #15803d !important;
}

.app-body .link-success:hover,
.app-body .link-success:focus {
  color: #14532d !important;
}

.app-body .border-info {
  border-color: rgba(14, 165, 233, 0.42) !important;
}

.app-body .bg-info.bg-opacity-10 {
  background-color: rgba(14, 165, 233, 0.12) !important;
}

.app-body .progress-bar.bg-success {
  background: linear-gradient(90deg, #4ade80, #15803d) !important;
}

.app-body .progress-bar.bg-danger {
  background: linear-gradient(90deg, #f87171, #991b1b) !important;
}

.app-body .form-control,
.app-body .form-select {
  border-radius: 12px;
  border-color: var(--app-border);
  min-height: 2.65rem;
  background-color: #fff;
}

.app-body .form-control::placeholder {
  color: #94a3b8;
}

.app-body .card,
.app-body .modal-content {
  border: 1px solid var(--app-card-border);
  border-radius: var(--app-radius-lg);
  box-shadow: var(--app-shadow);
  background: var(--app-surface);
}

.app-body .modal-content {
  overflow: hidden;
}

.app-body .modal-header {
  border-bottom: 1px solid rgba(148, 163, 184, 0.22);
  background: linear-gradient(180deg, #ffffff 0%, rgba(248, 250, 252, 0.95) 100%);
}

.app-body .modal-title {
  font-weight: 800;
  letter-spacing: -0.015em;
  color: #1e293b;
}

html[dir="rtl"] .app-body .modal-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

html[dir="rtl"] .app-body .modal-header .btn-close {
  margin: 0 !important;
  order: -1;
}

.app-body .modal-footer {
  border-top: 1px solid #eef2f7;
  background: #f8fafc;
}

.app-body .btn-close {
  transition: transform 0.14s ease, opacity 0.14s ease, filter 0.14s ease;
  touch-action: manipulation;
  -webkit-tap-highlight-color: rgba(71, 85, 105, 0.15);
}

.app-body .btn-close:active {
  transform: scale(0.88);
  opacity: 0.72;
  filter: brightness(0.92);
}

/* أكورديون — إحساس ضغط على رأس اللوحة */
.app-body .accordion-button {
  transition: transform 0.12s ease, filter 0.12s ease, box-shadow 0.15s ease, background-color 0.15s ease;
  touch-action: manipulation;
  -webkit-tap-highlight-color: rgba(71, 85, 105, 0.1);
}

.app-body .accordion-button:active {
  transform: translateY(1px);
  filter: brightness(0.98);
}

.app-body .dropdown-menu {
  border-radius: 14px;
  border: 1px solid var(--app-card-border);
  box-shadow: var(--app-shadow-float);
  padding: 0.45rem;
}

.app-body .dropdown-item {
  border-radius: 9px;
  font-weight: 600;
  padding: 0.5rem 0.7rem;
}

.app-body .dropdown-item:hover,
.app-body .dropdown-item:focus {
  background: rgba(148, 163, 184, 0.22);
}

.app-body .dropdown-item:not(.active):not(.disabled):active {
  background: rgba(148, 163, 184, 0.32);
}

.app-body .table {
  --bs-table-striped-bg: rgba(241, 245, 249, 0.85);
}

.app-body .table > :not(caption) > * > * {
  border-bottom-color: #edf2f7;
  vertical-align: middle;
}

.app-body .badge {
  border-radius: 999px;
  font-weight: 700;
}

.app-body .alert {
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.05);
}

.app-body .nav-tabs {
  border-bottom-color: #e6edf7;
  gap: 0.3rem;
}

.app-body .nav-tabs .nav-link {
  border-radius: 10px 10px 0 0;
  border: 1px solid transparent;
  color: #475569;
  font-weight: 700;
}

.app-body .nav-tabs .nav-link:hover {
  border-color: #e2e8f0 #e2e8f0 #e6edf7;
  background: #f8fafc;
}

.app-body .nav-tabs .nav-link.active {
  color: #0f172a;
  background: #fff;
  border-color: #dbe3f0 #dbe3f0 #fff;
}

.app-body .nav-tabs .nav-link {
  transition: background-color 0.12s ease, border-color 0.12s ease, color 0.12s ease, transform 0.12s ease, filter 0.12s ease;
  touch-action: manipulation;
  -webkit-tap-highlight-color: rgba(71, 85, 105, 0.1);
}

.app-body .nav-tabs .nav-link:active {
  transform: translateY(1px);
  filter: brightness(0.97);
}

.app-body .pagination {
  gap: 0.22rem;
}

.app-body .page-link {
  border-radius: 9px !important;
  border-color: #dbe3f0;
  color: #334155;
  font-weight: 600;
  transition: background-color 0.12s ease, border-color 0.12s ease, color 0.12s ease, transform 0.12s ease, filter 0.12s ease, box-shadow 0.12s ease;
  touch-action: manipulation;
  -webkit-tap-highlight-color: rgba(71, 85, 105, 0.12);
}

.app-body .page-link:hover {
  background: #f1f5f9;
  border-color: #cbd5e1;
  color: #0f172a;
}

.app-body .page-item:not(.disabled):not(.active) .page-link:active {
  transform: translateY(1px);
  filter: brightness(0.96);
}

.app-body .page-item.active .page-link {
  background: var(--app-gradient);
  border-color: var(--app-slate-700);
}

.app-body .page-item.active .page-link:active {
  filter: brightness(0.94);
  transform: translateY(1px);
}

.app-body .input-group-text {
  border-radius: 10px;
  border-color: #dbe3f0;
  background: #f8fafc;
  color: #475569;
  font-weight: 600;
}

.app-body .list-group-item {
  border-color: #edf2f7;
}

.app-body .list-group-item.active {
  background: var(--app-gradient);
  border-color: var(--app-slate-700);
}

.app-body .table-responsive {
  border-radius: 14px;
}

@media (max-width: 575.98px) {
  .app-body .card,
  .app-body .modal-content,
  .app-card,
  .card-custom,
  .card-modern {
    border-radius: 12px;
  }

  .app-body .btn {
    min-height: 2.35rem;
  }

  .app-body .table > :not(caption) > * > * {
    padding: 0.5rem 0.45rem;
    font-size: 0.84rem;
  }

  .app-navbar {
    padding-block: 0.38rem;
  }

  .app-navbar .app-user-trigger {
    padding: 0.3rem 0.56rem !important;
  }
}

/* محاذاة شريط التنبيهات مع app-page-wrap — غالبية الصفحات: px-2 · px-md-3 */
.app-body:not(.page-dashboard):not(.page-maintenance-ops) .app-flash-stack.container-fluid {
  padding-left: 0.5rem !important;
  padding-right: 0.5rem !important;
}
@media (min-width: 768px) {
  .app-body:not(.page-dashboard):not(.page-maintenance-ops) .app-flash-stack.container-fluid {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
}

/* الصيانة والتشغيل: نفس حشو الداشبورد (px-sm-3) */
.app-body.page-maintenance-ops .app-flash-stack.container-fluid {
  padding-left: 0.5rem !important;
  padding-right: 0.5rem !important;
}
@media (min-width: 576px) {
  .app-body.page-maintenance-ops .app-flash-stack.container-fluid {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
}

/* ================= صفحات الإدارة اليومية ================= */
/* Property Management */
/* صف فلاتر المستأجرين: خلفية شفافة — الرأس في القالب أبيض/محايد */
.page-property-mgmt .pm-tenants-controls {
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 0;
  box-shadow: none;
}
/* صف أدوات ضيق في صفحة العقار فقط — لا تستخدم محددات مرافق عامة قد تُصيب رؤوس البطاقات */
.page-property-mgmt .pm-toolbar-filters-row {
  background: #fff;
  border: 1px solid #e7edf6;
  border-radius: 14px;
  padding: 0.55rem;
  box-shadow: 0 2px 12px rgba(15, 23, 42, 0.05);
}

.page-property-mgmt .pm-tenants-controls .btn,
.page-property-mgmt .pm-toolbar-filters-row .btn {
  border-radius: 10px;
}

.page-property-mgmt .pm-table-scroll-wrap {
  border: 1px solid #e7edf6;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 3px 14px rgba(15, 23, 42, 0.05);
}

.page-property-mgmt .pm-table-scroll-hint {
  background: linear-gradient(135deg, #f8fafc, #f1f5f9) !important;
  border-color: #e7edf6 !important;
}

.page-property-mgmt .pm-tenants-table thead th,
.page-property-mgmt .pm-expired-table thead th,
.page-property-mgmt .pm-buildings-table thead th {
  background: linear-gradient(180deg, #f1f5f9, #e8edf3) !important;
  color: #334155;
  border-bottom: 1px solid #cbd5e1;
  font-weight: 800;
}

.page-property-mgmt .pm-actions-cell .btn {
  border-radius: 9px;
}

.page-property-mgmt .nav-pills .nav-link {
  border-radius: 11px;
  font-weight: 700;
  color: #475569;
}

.page-property-mgmt .nav-pills .nav-link.active {
  background: linear-gradient(180deg, #475569, #334155);
  color: #fff !important;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.12);
}

/* Accounts page */
.app-body .card-custom .d-flex.flex-wrap.gap-2.align-items-center.mb-2 {
  background: #fff;
  border: 1px solid #e7edf6;
  border-radius: 14px;
  padding: 0.55rem;
  box-shadow: 0 2px 12px rgba(15, 23, 42, 0.05);
}

.table-accounts-stack thead th {
  background: linear-gradient(135deg, #f1f5f9, #e2e8f0) !important;
  color: #334155 !important;
  border-bottom: 1px solid #cbd5e1 !important;
  font-weight: 800;
}

.table-accounts-stack tbody tr:hover {
  background: #f8fafc;
}

.table-accounts-stack .acc-row-action {
  border-radius: 9px;
  min-width: 2rem;
}

#bulkAccountsModal .table-responsive,
#addAccountsModal .table-responsive {
  border: 1px solid #e7edf6 !important;
  border-radius: 12px !important;
  background: #fff;
}

#bulkAccountsModal .modal-body,
#addAccountsModal .modal-body {
  background: linear-gradient(180deg, #fff, #f8fafc);
}

/* Bills + Buildings + Reports Advanced */
.bills-page .bills-main-card,
.page-buildings .card-custom,
.page-reports-advanced .app-card {
  border: 1px solid #e6edf7;
  border-radius: 16px;
  box-shadow: 0 6px 20px rgba(15, 23, 42, 0.07);
}

.bills-page .bills-filter-panel,
.page-reports-advanced .row.g-3.mb-4 {
  background: linear-gradient(180deg, #ffffff, #f8fafc);
  border: 1px solid #e6edf7;
  border-radius: 14px;
  padding: 0.9rem;
}

.bills-page .bills-actions-bar {
  background: linear-gradient(180deg, #f8fafc, #f1f5f9);
}

.bills-page .table-bills-stack thead th,
.page-buildings .table-buildings-stack thead th,
.page-reports-advanced .table-reports-buildings-stack thead th,
.page-reports-advanced .table-reports-managers-stack thead th {
  background: linear-gradient(135deg, #f1f5f9, #e2e8f0) !important;
  color: #334155 !important;
  border-bottom: 1px solid #cbd5e1 !important;
  font-weight: 800;
}

.bills-page .table-bills-stack tbody tr:hover,
.page-buildings .table-buildings-stack tbody tr:hover,
.page-reports-advanced .table-reports-buildings-stack tbody tr:hover,
.page-reports-advanced .table-reports-managers-stack tbody tr:hover {
  background: #f8fafc;
}

.page-buildings .table-responsive,
.page-reports-advanced .table-responsive {
  border: 1px solid #e6edf7;
  border-radius: 14px;
  background: #fff;
}

.page-buildings .table-buildings-stack .btn,
.page-reports-advanced .table .btn,
.bills-page .table-bills-stack .btn {
  border-radius: 9px;
}

.page-reports-advanced .card-header {
  border-bottom: 1px solid #e8edf6;
}

.page-reports-advanced .card-header.bg-success {
  background: linear-gradient(135deg, #4ade80, #15803d) !important;
  color: #fff !important;
}

.page-reports-advanced .manager-buildings-subtable {
  border: 1px solid #e4ebf6;
  box-shadow: none;
}

/* Workforce + Maintenance + Admin + Notifications + Update */
.page-workforce .app-card,
.page-maintenance-ops .mo-card,
.page-admin-users .app-card,
.page-notifications .app-card,
.page-update-advanced .app-card {
  border: 1px solid #e6edf7;
  border-radius: 16px;
  box-shadow: 0 6px 20px rgba(15, 23, 42, 0.07);
}

.page-workforce .table-responsive,
.page-admin-users .table-responsive,
.page-update-advanced .table-responsive {
  border: 1px solid #e6edf7;
  border-radius: 12px;
  background: #fff;
}

.page-workforce table thead th,
.page-maintenance-ops .mo-table thead th,
.page-admin-users .table thead th,
.page-update-advanced .table thead th {
  background: linear-gradient(135deg, #f1f5f9, #e2e8f0) !important;
  color: #334155 !important;
  border-bottom: 1px solid #cbd5e1 !important;
  font-weight: 800;
}

.page-workforce tbody tr:hover,
.page-maintenance-ops tbody tr:hover,
.page-admin-users tbody tr:hover,
.page-update-advanced tbody tr:hover {
  background: #f8fafc;
}

.page-workforce .card-header.bg-info,
.page-admin-users .app-card-header-gradient,
.page-update-advanced .app-card-header-gradient {
  background: var(--app-gradient) !important;
  color: #fff !important;
}

.page-maintenance-ops .mo-kpi,
.page-workforce .border.rounded.p-2.text-center.bg-light {
  border-color: #dbe3f0 !important;
  background: linear-gradient(180deg, #fff, #f8fafc) !important;
}

.page-maintenance-ops .nav-pills .nav-link,
.page-workforce .btn,
.page-admin-users .btn,
.page-notifications .btn,
.page-update-advanced .btn {
  border-radius: 10px;
}

.page-admin-users .admin-users-tabs {
  border-bottom: 1px solid #e2e8f0;
  background: linear-gradient(180deg, #f8fafc, #fff);
}
.page-admin-users .admin-users-tabs .nav-link {
  border: none;
  border-radius: 10px 10px 0 0;
  color: #475569;
  font-weight: 600;
  font-size: 0.82rem;
}
.page-admin-users .admin-users-tabs .nav-link:hover {
  color: #0f172a;
  background: rgba(148, 163, 184, 0.22);
}
.page-admin-users .admin-users-tabs .nav-link.active {
  color: #0f172a;
  background: #fff;
  box-shadow: 0 -2px 0 var(--app-slate-600) inset;
}
.page-admin-users [data-bs-toggle="collapse"]:not(.collapsed) .collapse-chevron {
  transform: rotate(180deg);
}
.page-admin-users .collapse-chevron {
  transition: transform 0.2s ease;
}
.page-admin-users .admin-roles-guide-list li {
  margin-bottom: 0.35rem;
}

.page-maintenance-ops .mo-soft {
  background: linear-gradient(180deg, #fff, #f8fafc);
}

.page-notifications .alert {
  border-width: 1px;
  border-color: #e0e7f2;
}

.page-notifications .alert.alert-secondary {
  background: linear-gradient(135deg, #f8fafc, #fff);
}

.page-update-advanced .card.border-0.shadow-sm {
  border: 1px solid #e6edf7 !important;
  box-shadow: 0 3px 12px rgba(15, 23, 42, 0.06) !important;
  border-radius: 14px;
}

.page-workforce .wf-reminder-days {
  max-width: 8rem;
}

.page-update-advanced .update-progress {
  height: 12px;
}

.app-navbar {
  background: var(--app-navbar-gradient);
  padding-block: 0.42rem;
  padding-inline: 0;
  box-shadow: 0 2px 14px rgba(15, 23, 42, 0.14), 0 1px 0 rgba(255, 255, 255, 0.06) inset;
  border-bottom: 1px solid rgba(15, 23, 42, 0.18);
}

/* صف واحد على الشاشات الكبيرة؛ على الجوال يسمح بصف ثانٍ لمنطقة الـ collapse */
.app-navbar-shell {
  min-height: 2.55rem;
  align-items: center;
}

/* الشاشات الواسعة: الهوية يمين، الإشعارات + الحساب ملتصقان بأقصى اليسار */
@media (min-width: 992px) {
  .app-navbar-shell {
    justify-content: space-between;
    align-items: center;
  }

  .app-navbar-collapse {
    flex-grow: 0 !important;
    flex-shrink: 0;
    width: auto;
    max-width: none;
  }
}

@media (max-width: 991.98px) {
  .app-navbar-brand-cluster {
    order: 1;
  }
  .app-navbar-toggler {
    order: 2;
  }
  .app-navbar-collapse {
    flex-basis: 100%;
    order: 3;
  }
}

.app-navbar-brand-cluster {
  max-width: calc(100% - 7rem);
}

@media (min-width: 992px) {
  .app-navbar-brand-cluster {
    max-width: calc(100% - 14rem);
  }
}

.app-navbar-toggler {
  transition: transform 0.14s ease, opacity 0.14s ease, box-shadow 0.14s ease;
  touch-action: manipulation;
}

.app-navbar-toggler:focus {
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.35);
}

.app-navbar-toggler:active {
  transform: scale(0.96);
  opacity: 0.92;
}

.app-navbar-collapse.navbar-collapse.collapse.show {
  margin-top: 0.35rem;
}

@media (min-width: 992px) {
  .app-navbar-collapse.navbar-collapse {
    margin-top: 0 !important;
  }
}

.app-navbar .navbar-brand,
.app-navbar .nav-link {
  color: #fff !important;
}

.app-navbar .navbar-brand {
  padding: 0;
  margin: 0;
  border-radius: 0;
}

.app-navbar .navbar-brand:active {
  opacity: 0.88;
}

.app-navbar .app-brand-title {
  line-height: 1.2;
}

.app-navbar .app-navbar-brand-name {
  font-size: clamp(0.95rem, 2.5vw, 1.05rem);
  letter-spacing: -0.01em;
}

.app-navbar .app-brand-subtitle {
  font-size: 0.72rem;
}

.app-navbar .app-navbar-brand-tagline {
  font-size: 0.7rem;
  font-weight: 500;
  opacity: 0.9;
}

.app-navbar .nav-link:hover {
  color: #fff !important;
  opacity: 0.92;
}

.app-navbar .nav-link:active {
  opacity: 0.82;
}

.app-navbar .navbar-nav-user .nav-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.25rem;
}

/* رابط الجرس: الشارة مثبتة على زاوية الأيقونة وليست بجانبها كنص */
.app-nav-notify-link {
  position: relative;
  min-width: 2.5rem;
  min-height: 2.5rem;
}
.app-nav-notify-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.35rem;
  height: 1.35rem;
  font-size: 1.05rem;
  line-height: 1;
}
.app-nav-notify-badge {
  position: absolute;
  min-width: 1.05rem;
  min-height: 1.05rem;
  padding: 0 0.28rem !important;
  font-size: 0.62rem !important;
  font-weight: 700;
  line-height: 1rem !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  top: -0.12rem;
  inset-inline-end: -0.42rem;
  box-shadow: 0 0 0 2px rgba(15, 23, 42, 0.92);
  z-index: 2;
}
.app-nav-notify-link:hover {
  background: rgba(255, 255, 255, 0.1);
}
.app-nav-notify-link.active {
  background: rgba(255, 255, 255, 0.18);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.22);
}

.app-user-trigger{
  padding: .42rem .95rem !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.09) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  line-height: 1.25;
  font-weight: 600;
  box-shadow: none;
  max-width: min(18rem, 52vw);
  transition: background 0.14s ease, border-color 0.14s ease, transform 0.14s ease, filter 0.14s ease;
  touch-action: manipulation;
  -webkit-tap-highlight-color: rgba(255, 255, 255, 0.12);
}
.app-user-trigger-label {
  max-width: 11rem;
}
.app-user-trigger:hover{
  background: rgba(255,255,255,.16) !important;
  border-color: rgba(255,255,255,.28) !important;
}
.app-user-trigger:active {
  transform: translateY(1px);
  filter: brightness(0.94);
}

.offcanvas#appUserPanel{width:min(21rem,95vw)}
.app-user-panel{
  background: linear-gradient(180deg,#ffffff,#f8fafc);
}
.app-user-panel-head{
  background: linear-gradient(135deg, rgba(148, 163, 184, 0.22), rgba(100, 116, 139, 0.1));
  border-bottom: 1px solid rgba(148, 163, 184, 0.28);
}
.app-user-panel-avatar{
  width:2rem;height:2rem;border-radius:999px;
  display:inline-flex;align-items:center;justify-content:center;
  background:#334155;color:#fff;font-size:.9rem;
}
.app-user-panel-item{
  display:flex;align-items:center;justify-content:space-between;
  background:#fff;border:1px solid #e6ecf5 !important;
  font-weight:600;color:#0f172a;
  transition: background-color 0.14s ease, border-color 0.14s ease, transform 0.14s ease, filter 0.14s ease;
  touch-action: manipulation;
  -webkit-tap-highlight-color: rgba(71, 85, 105, 0.12);
}
.app-user-panel-main{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  min-width:0;
}
.app-user-panel-item:hover{
  background:#f1f5f9;
  border-color:#cbd5e1 !important;
}

.app-user-panel-item:active {
  transform: translateY(1px);
  filter: brightness(0.97);
}

.app-user-panel .offcanvas-body{overflow-y:auto}

.offcanvas.app-user-panel{
  transition: transform .24s cubic-bezier(.22,.61,.36,1);
}

.offcanvas-backdrop.show{
  opacity:.18;
  backdrop-filter: blur(2px);
}

.navbar-nav-main {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.08rem;
}

/* تسميات الشريط العلوي: أيقونة + نص بنفس الترتيب البصري في كل القوائم */
.app-nav-dd-inner {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}
.app-navbar .dropdown-menu.app-nav-submenu {
  padding: 0.35rem 0.45rem;
  min-width: min(100vw - 2rem, 19rem);
}
.app-navbar .dropdown-menu.app-nav-submenu .dropdown-header {
  font-weight: 700;
  font-size: 0.68rem;
  letter-spacing: 0.04em;
  color: #64748b !important;
  padding-top: 0.55rem !important;
  padding-bottom: 0.25rem !important;
}
.app-navbar .dropdown-menu.app-nav-submenu .dropdown-item {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  font-weight: 600;
  padding: 0.48rem 0.55rem;
  border-radius: 9px;
}
.app-navbar .dropdown-menu.app-nav-submenu .dropdown-item .app-nav-dd-ico {
  flex: 0 0 1.1rem;
  width: 1.1rem;
  text-align: center;
  margin-top: 0.12rem;
  font-size: 0.88rem;
  color: #64748b;
  opacity: 0.95;
}
.app-navbar .dropdown-menu.app-nav-submenu .dropdown-item.text-muted .app-nav-dd-ico {
  color: #94a3b8;
}
.app-navbar .dropdown-menu.app-nav-submenu .dropdown-item.active {
  background: linear-gradient(135deg, #475569, #334155);
  color: #fff !important;
}
.app-navbar .dropdown-menu.app-nav-submenu .dropdown-item.active .app-nav-dd-ico {
  color: rgba(255, 255, 255, 0.92) !important;
}

.app-navbar .dropdown-menu.app-nav-submenu .dropdown-item:not(.active):active {
  background: rgba(51, 65, 85, 0.1);
}

/* قوائم «المزيد» في الأشرطة وسطح الصفحات — أيقونات موحّدة مع لوحة التحكم */
.app-dd-trigger-inner {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}
.app-body .dropdown-menu.app-dd-menu {
  padding: 0.35rem 0.45rem;
  min-width: min(100vw - 2rem, 18rem);
}
.app-body .dropdown-menu.app-dd-menu .dropdown-item {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  font-weight: 600;
  padding: 0.48rem 0.55rem;
  border-radius: 9px;
}
.app-body .dropdown-menu.app-dd-menu .dropdown-item .app-dd-ico {
  flex: 0 0 1.1rem;
  width: 1.1rem;
  text-align: center;
  margin-top: 0.1rem;
  font-size: 0.88rem;
  color: #64748b;
  opacity: 0.95;
}
.app-body .dropdown-menu.app-dd-menu .dropdown-item.text-muted .app-dd-ico {
  color: #94a3b8;
}
.app-body .dropdown-menu.app-dd-menu .dropdown-item.active {
  background: linear-gradient(135deg, #475569, #334155);
  color: #fff !important;
}
.app-body .dropdown-menu.app-dd-menu .dropdown-item.active .app-dd-ico {
  color: rgba(255, 255, 255, 0.92) !important;
}

.app-body .dropdown-menu.app-dd-menu .dropdown-item:not(.active):active {
  background: rgba(51, 65, 85, 0.1);
}

.app-body .dropdown-menu.app-dd-menu .dropdown-header {
  font-weight: 700;
  font-size: 0.68rem;
  letter-spacing: 0.04em;
  color: #64748b !important;
  padding-top: 0.5rem !important;
}

/* قائمة جانبية «كل الأقسام» — offcanvas-end + bootstrap.min.css = انزلاق من يمين الشاشة */
.app-fullnav-panel.offcanvas {
  z-index: 1046;
}
.app-fullnav-trigger {
  flex-shrink: 0;
  background: rgba(255, 255, 255, 0.08) !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.16) !important;
  transition: background 0.14s ease, border-color 0.14s ease, transform 0.14s ease, filter 0.14s ease;
  touch-action: manipulation;
  -webkit-tap-highlight-color: rgba(255, 255, 255, 0.12);
}
.app-fullnav-trigger:hover,
.app-fullnav-trigger:focus-visible {
  background: rgba(255, 255, 255, 0.15) !important;
  color: #fff !important;
}
.app-fullnav-trigger:active {
  transform: translateY(1px);
  filter: brightness(0.94);
}
.app-fullnav-panel {
  max-width: min(21rem, 94vw);
  background: #f9fafb;
  box-shadow: -6px 0 28px rgba(15, 23, 42, 0.06);
}
.app-fullnav-head {
  background: #fff;
  border-bottom: 1px solid var(--app-border);
  box-shadow: none !important;
}
.app-fullnav-title-plain {
  font-size: 1.05rem;
  letter-spacing: -0.01em;
  color: var(--app-text);
}
.app-fullnav-panel .offcanvas-title {
  color: #1e293b;
}
.app-fullnav-panel-icon {
  width: 2rem;
  height: 2rem;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(71, 85, 105, 0.1);
  color: #334155;
}
.app-fullnav-scroll {
  max-height: calc(100vh - 7rem);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-gutter: stable;
}
.app-fullnav-block {
  background: #fff;
  border: 1px solid #eceef2;
  border-radius: 12px;
  padding: 0.2rem 0.35rem 0.45rem;
  margin-bottom: 0.45rem;
  box-shadow: none;
}
.app-fullnav-block .list-group-item {
  border-radius: 10px !important;
  margin-bottom: 1px;
  border: none !important;
  background: transparent;
}
.app-fullnav-section-label {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.72rem;
  font-weight: 600;
  color: #475569;
  letter-spacing: 0.01em;
  padding: 0.5rem 0.4rem 0.2rem;
}
.app-fullnav-section-label--sub {
  padding-top: 0.65rem;
  font-size: 0.66rem;
  font-weight: 600;
  color: var(--app-muted);
}
.app-fullnav-section-badge {
  width: 1.7rem;
  height: 1.7rem;
  border-radius: 9px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.78rem;
  flex-shrink: 0;
}
.app-fullnav-section-badge--electric {
  background: rgba(245, 158, 11, 0.11);
  color: #b45309;
}
.app-fullnav-section-badge--property {
  background: rgba(16, 185, 129, 0.1);
  color: #0f766e;
}
.app-fullnav-section-badge--ops {
  background: rgba(71, 85, 105, 0.12);
  color: #334155;
}
.app-fullnav-section-badge--quick {
  background: rgba(148, 163, 184, 0.14);
  color: #64748b;
}
.app-fullnav-home-pill {
  background: #fff !important;
  border: 1px solid #e8eaef !important;
  box-shadow: none !important;
}
.app-fullnav-home-pill.active {
  border-color: rgba(71, 85, 105, 0.35) !important;
  background: rgba(241, 245, 249, 0.95) !important;
}
.app-fullnav-row {
  display: inline-flex;
  align-items: flex-start;
  gap: 0.45rem;
}
.app-fullnav-ico {
  flex: 0 0 1.15rem;
  width: 1.15rem;
  text-align: center;
  margin-top: 0.12rem;
  font-size: 0.9rem;
  color: #64748b;
}
.app-fullnav-panel .list-group-item-action {
  transition: background-color 0.12s ease, transform 0.12s ease, filter 0.12s ease;
  touch-action: manipulation;
  -webkit-tap-highlight-color: rgba(71, 85, 105, 0.1);
}

.app-fullnav-panel .list-group-item-action:hover {
  background: rgba(148, 163, 184, 0.14) !important;
}

.app-fullnav-panel .list-group-item-action:active {
  transform: translateY(1px);
  filter: brightness(0.97);
}
.app-fullnav-panel .list-group-item.active {
  background: rgba(71, 85, 105, 0.1) !important;
  color: #0f172a;
  font-weight: 600;
}
.app-fullnav-panel .list-group-item.active .app-fullnav-ico {
  color: #475569;
}

.app-navbar .navbar-nav-main .nav-link.dropdown-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
}
.app-navbar .navbar-nav-main .nav-link.dropdown-toggle::after {
  margin-inline-start: auto;
}

.app-navbar .navbar-nav-main .nav-link{
  font-size: .92rem;
  padding: .44rem .62rem;
  border-radius: .62rem;
  font-weight: 600;
}

.app-navbar .navbar-nav-main .nav-link:hover{
  background: rgba(255,255,255,.10);
}

.app-navbar .navbar-nav-main .nav-link:active {
  background: rgba(255, 255, 255, 0.16);
}

.app-navbar .navbar-nav-main .nav-link.active {
  background: rgba(255,255,255,.2);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.18);
}

@media (min-width: 992px) {
  .app-navbar .navbar-collapse-inner {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    width: 100%;
    justify-content: flex-end;
    gap: 0.35rem;
  }
  .app-navbar .navbar-nav-main{
    flex-wrap: nowrap;
  }
  .app-navbar .navbar-nav-user {
    margin-inline-start: 0 !important;
  }
}

@media (min-width: 1200px) and (max-width: 1439.98px){
  .app-navbar .navbar-nav-main .nav-link{
    font-size:.88rem;
    padding:.36rem .46rem;
  }
}

@media (max-width: 991.98px) {
  .app-navbar .navbar-collapse-inner {
    flex-direction: column;
    align-items: stretch;
    padding: .7rem;
    margin-top: .45rem;
    border-radius: 1rem;
    background: linear-gradient(160deg, rgba(255,255,255,.16), rgba(255,255,255,.09));
    border: 1px solid rgba(255,255,255,.24);
    backdrop-filter: blur(6px);
    gap: .5rem;
    width: 100%;
    max-width: none;
    margin-inline: 0;
    box-shadow: 0 14px 28px rgba(15, 23, 42, 0.22);
  }
  .app-navbar .navbar-nav-main{
    width:100%;
    flex-direction: column;
    align-items: stretch;
    gap:.25rem;
  }
  .app-navbar .navbar-nav-main .nav-link{
    border-radius: .72rem;
    padding: .62rem .78rem !important;
    background: rgba(255,255,255,.08);
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap: .35rem;
  }
  .app-navbar .navbar-nav-main .nav-link.dropdown-toggle::after {
    margin-inline-start: auto !important;
  }
  .app-navbar .navbar-nav-main .nav-link.active{
    background: rgba(255,255,255,.24);
    font-weight: 700;
  }
  .app-navbar .navbar-nav-main .dropdown-menu{
    position: static !important;
    transform: none !important;
    inset: auto !important;
    width: 100%;
    margin: .25rem 0 0;
    border-radius: .72rem;
    border: 1px solid rgba(255,255,255,.25);
    box-shadow: none;
    background: rgba(255,255,255,.95);
  }
  .app-navbar .navbar-nav-main .dropdown-item{
    padding: .56rem .74rem;
    white-space: normal;
  }
  .app-navbar .navbar-nav-user{
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
    gap: .4rem;
    margin-top: .35rem;
    padding-top: .45rem;
    border-top: 1px solid rgba(255,255,255,.18);
  }
  /* لا يوجد شريط روابط رئيسي فوق الإشعارات والحساب — إزالة الخط الفاصل الزائد */
  .app-navbar .navbar-collapse-inner > .navbar-nav-user:first-child{
    margin-top: 0 !important;
    padding-top: 0 !important;
    border-top: none !important;
  }
  .app-navbar .navbar-nav-user .nav-item{
    margin: 0;
  }
  .app-navbar .navbar-nav-user .nav-link:not(.app-user-trigger){
    padding: .24rem .42rem !important;
  }
  .app-navbar .navbar-nav-user .nav-link.app-user-trigger{
    padding: .48rem .85rem !important;
    max-width: min(16rem, 88vw);
  }
  .app-user-trigger{
    box-shadow: none;
  }
}

.app-navbar .navbar-toggler {
  border-color: rgba(255, 255, 255, 0.55) !important;
}

.app-navbar .navbar-toggler-icon {
  filter: brightness(0) invert(1);
}

.app-page-title {
  font-weight: 800;
  color: #1e293b;
  letter-spacing: -0.02em;
}

.app-card {
  border: 1px solid var(--app-border);
  border-radius: var(--app-radius-lg);
  box-shadow: var(--app-shadow-sm);
  overflow: hidden;
  background: var(--app-surface);
}

/* بطاقات فيها .dropdown: overflow:hidden يقصّ القائمة المنسدلة */
@supports selector(:has(*)) {
  .app-card:has(.dropdown) {
    overflow: visible;
  }
  .app-card:has(.dropdown) .dropdown-menu {
    z-index: 1040;
  }
}

/* لا تفرض الرمادي الفاتح على رؤوس التدرّج — Bootstrap يعرّض للأبيض عبر --bs-card-cap-bg */
.app-card .card-header:not(.app-card-header-gradient) {
  font-weight: 600;
  border-bottom: 1px solid var(--app-border);
  background: #fafbfc;
}

.app-table thead {
  background: var(--app-navbar-gradient);
  color: #fff;
}

.app-table thead th {
  border: none;
  font-weight: 600;
}

.whatsapp-support {
  position: fixed;
  bottom: max(0.75rem, env(safe-area-inset-bottom));
  right: max(0.65rem, env(safe-area-inset-right));
  background: var(--app-gradient);
  color: #fff !important;
  border-radius: 999px;
  padding: 0.65rem 1.15rem;
  max-width: calc(100vw - 1.35rem);
  text-decoration: none;
  font-weight: 700;
  letter-spacing: 0.01em;
  z-index: 1000;
  border: 1px solid rgba(255, 255, 255, 0.28);
  box-shadow: var(--app-shadow-float), 0 0 0 1px rgba(15, 23, 42, 0.06);
  transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
  touch-action: manipulation;
  -webkit-tap-highlight-color: rgba(255, 255, 255, 0.15);
}

.whatsapp-support:hover {
  transform: translateY(-2px) scale(1.02);
  filter: brightness(1.06);
  color: #fff !important;
  box-shadow: 0 16px 40px -10px rgba(15, 23, 42, 0.22), 0 4px 14px rgba(15, 23, 42, 0.1);
}

.whatsapp-support:active {
  transform: translateY(0) scale(0.98);
  filter: brightness(0.94);
  color: #fff !important;
}

.manager-buildings-subtable {
  font-size: 0.9rem;
  background: #f8fafc;
  border-radius: 12px;
}

.manager-buildings-subtable th {
  background: #e2e8f0 !important;
  color: #334155 !important;
}

/* ========== هيكل موحّد لكل الصفحات (جوال + سطح المكتب) ========== */
html.h-100,
html.app-html {
  height: 100%;
}

.app-page-wrap {
  flex: 1 0 auto;
  width: 100%;
  max-width: 1400px;
  margin-inline: auto;
}

/* بطاقات المحتوى — نفس ظل app-card */
.card-custom,
.card-modern,
.app-surface-card {
  border: 1px solid var(--app-card-border);
  border-radius: var(--app-radius-lg);
  box-shadow: var(--app-shadow);
  background: #fff;
  overflow: hidden;
}

@supports selector(:has(*)) {
  .card-custom:has(.dropdown),
  .card-modern:has(.dropdown),
  .app-surface-card:has(.dropdown) {
    overflow: visible;
  }
  .card-custom:has(.dropdown) .dropdown-menu,
  .card-modern:has(.dropdown) .dropdown-menu,
  .app-surface-card:has(.dropdown) .dropdown-menu {
    z-index: 1040;
  }
}

.card-header-modern,
.app-surface-card > .card-header:not(.bg-primary):not(.text-white) {
  background: linear-gradient(180deg, #ffffff 0%, rgba(248, 250, 252, 0.92) 100%);
  border-bottom: 1px solid rgba(148, 163, 184, 0.22);
  font-weight: 700;
  padding: clamp(0.85rem, 3vw, 1.25rem) clamp(1rem, 3vw, 1.5rem);
}

.app-card-header-gradient {
  /* Bootstrap 5.3: .card-header يضبط background-color من --bs-card-cap-bg (أبيض) فوق التدرّج */
  --bs-card-cap-bg: transparent;
  --bs-card-cap-color: #fff;
  background-color: transparent !important;
  background-image: var(--app-gradient) !important;
  background-repeat: no-repeat !important;
  background-size: 100% 100% !important;
  color: #fff !important;
  border: none !important;
}

.btn-add {
  background: var(--app-gradient);
  color: #fff !important;
  border: none;
  padding: 0.45rem 1.1rem;
  border-radius: 12px;
  font-weight: 600;
}

.btn-add:hover {
  filter: brightness(1.05);
  color: #fff !important;
}

/* جداول البيانات — رأس موحّد */
.table.table-custom > thead,
table.table-custom thead {
  background: var(--app-gradient);
  color: #fff;
}

.table.table-custom > thead th,
table.table-custom thead th {
  border: none;
  font-weight: 600;
  font-size: 0.82rem;
  color: #fff !important;
  vertical-align: middle;
}

/* لوحة التحكم — لوحة ألوان واحدة وهادئة (سليت + لمسات أنماط) */
.page-dashboard {
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  --dash-fg: #0f172a;
  --dash-muted: #64748b;
  --dash-surface: #ffffff;
  --dash-line: rgba(15, 23, 42, 0.08);
}

.page-dashboard > nav {
  flex-shrink: 0;
}

.page-dashboard .dash-page-header {
  background: #fff;
  border: 1px solid var(--app-border);
  border-radius: var(--app-radius-lg);
  padding: 1.1rem 1.2rem;
  box-shadow: var(--app-shadow-sm);
  margin-bottom: 1.2rem;
}
.page-dashboard .dash-page-header h1,
.page-dashboard .dash-page-header .app-page-heading__title {
  color: var(--dash-fg);
  letter-spacing: -0.02em;
}
.page-dashboard .dash-page-header .app-page-heading__lead {
  color: var(--dash-muted);
}

/* محاذاة فلاش التنبيهات مع عرض المحتوى (app-page-wrap يستخدم px-2 / px-sm-3) */
.page-dashboard .app-flash-stack.container-fluid {
  padding-left: 0.5rem !important;
  padding-right: 0.5rem !important;
}
@media (min-width: 576px) {
  .page-dashboard .app-flash-stack.container-fluid {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
}

/* عنوان الصفحة: نفس أسلوب أيقونة عناوين الأقسام داخل البطاقة */
.page-dashboard .dash-page-header.app-page-heading {
  margin-bottom: 1.25rem;
}
.page-dashboard .dash-page-header .app-page-heading__icon {
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  background: rgba(148, 163, 184, 0.22);
  color: var(--app-slate-700);
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
}

.page-dashboard .dash-section-title {
  font-size: 1.02rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--dash-fg);
  display: flex;
  align-items: center;
  gap: 0.45rem;
  flex-wrap: wrap;
  line-height: 1.35;
}

.page-dashboard .dash-section-title > i:first-child {
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  flex-shrink: 0;
}

.page-dashboard .dash-section-title--electric > i:first-child {
  background: rgba(254, 243, 199, 0.85);
  color: #b45309;
}

.page-dashboard .dash-section-title--property > i:first-child {
  background: var(--app-primary-soft);
  color: var(--app-primary);
}

.page-dashboard .dash-section-title--work > i:first-child {
  background: rgba(226, 232, 240, 0.95);
  color: var(--app-slate-800);
}

.page-dashboard .dash-section-title--maint > i:first-child {
  background: rgba(148, 163, 184, 0.22);
  color: var(--app-slate-700);
}

.page-dashboard .dash-section-title--wa > i:first-child {
  background: rgba(209, 250, 229, 0.65);
  color: #15803d;
}

.page-dashboard .dash-section-title--wa .fab.fa-whatsapp {
  color: #15803d !important;
}

.page-dashboard .dash-modules-heading {
  color: #94a3b8 !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em;
  text-transform: none;
  font-size: 0.72rem !important;
  margin-top: 0.35rem !important;
}

.page-dashboard .dash-section--electric .dash-section--body > .row.g-2.g-sm-3.mt-2 .card-modern .card-header-modern {
  background: linear-gradient(180deg, rgba(254, 243, 199, 0.45), rgba(255, 255, 255, 0));
  border-bottom-color: rgba(245, 158, 11, 0.35);
  color: #92400e;
}

.page-dashboard .dash-section--electric .dash-section--body > .row.g-2.g-sm-3.mt-2 .card-modern .card-header-modern i {
  color: #d97706;
}

.page-dashboard .alert.alert-danger.border-0.shadow-sm {
  border-radius: 12px !important;
  border-inline-start: 4px solid #b91c1c !important;
  background: linear-gradient(90deg, rgba(254, 226, 226, 0.65), #fff) !important;
  color: #7f1d1d !important;
}

.page-dashboard .dash-section--actions .btn-outline-secondary {
  border-color: #cbd5e1;
  color: #475569;
}

.page-dashboard .dash-section--actions .btn-outline-secondary:hover {
  background: #f8fafc;
  border-color: #94a3b8;
  color: #1e293b;
}

/* أزرار قسم العقار تستخدم نفس زرّي الكهرباء: أساسي بنفسجي + ثانوي outline (بدل أخضر/أصفر خام) */

/* واتساب — نفس تدرّج الهوية (أحادي اللون) */
.page-dashboard .dash-section--wa .dash-section--actions .btn-success {
  background: var(--app-gradient);
  border: none;
  color: #fff !important;
}

.page-dashboard .dash-section--wa .dash-section--actions .btn-success:hover {
  filter: brightness(1.05);
  color: #fff !important;
}

.page-dashboard .dash-section--electric .progress {
  background-color: rgba(226, 232, 240, 0.95) !important;
}

.page-dashboard .dash-section--electric .progress-bar.bg-success {
  background: linear-gradient(90deg, #4ade80, #15803d) !important;
}

.page-dashboard .dash-section--electric .progress-bar.bg-danger {
  background: linear-gradient(90deg, #f87171, #991b1b) !important;
}

/* بطاقة «حالة الفواتير» — بدون أحمر؛ أيقونات وأرقام متناسقة */
.page-dashboard .dash-invoice-status .dash-inv-row {
  font-size: 0.9rem;
  color: var(--app-text);
}
.page-dashboard .dash-invoice-status .dash-inv-icon {
  font-size: 1rem;
  width: 1.35rem;
  text-align: center;
  flex-shrink: 0;
}
.page-dashboard .dash-invoice-status .dash-inv-icon--paid {
  color: #15803d;
}
.page-dashboard .dash-invoice-status .dash-inv-icon--unpaid {
  color: #b45309;
}
.page-dashboard .dash-invoice-status .dash-inv-icon--none {
  color: var(--app-muted);
}
.page-dashboard .dash-invoice-status .dash-inv-num {
  font-variant-numeric: tabular-nums;
  font-size: 0.92rem;
  font-weight: 700;
  color: #0f172a;
}
.page-dashboard .dash-section--electric .dash-invoice-status .progress.dash-inv-progress {
  height: 9px;
  border-radius: 999px;
  background-color: rgba(226, 232, 240, 0.88) !important;
}
.page-dashboard .dash-section--electric .dash-invoice-status .progress-bar {
  border-radius: 999px;
}

.page-dashboard .dash-section--electric .dash-overdue-title {
  color: #92400e !important;
}

.page-dashboard .stat-card {
  background: #fff;
  border-radius: var(--app-radius-xl);
  padding: clamp(1rem, 3.5vw, 1.5rem);
  box-shadow: var(--app-shadow);
  border: 1px solid var(--app-card-border);
  position: relative;
  overflow: hidden;
  height: 100%;
  min-height: 8.5rem;
}

.page-dashboard .stat-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
}

.page-dashboard .stat-card.primary::before {
  background: linear-gradient(90deg, var(--app-slate-400), var(--app-slate-700));
}

.page-dashboard .stat-card.success::before {
  background: linear-gradient(90deg, #4ade80, #15803d);
}

.page-dashboard .stat-card.warning::before {
  background: linear-gradient(90deg, #fde047, #ca8a04);
}

.page-dashboard .stat-card.danger::before {
  background: linear-gradient(90deg, #f87171, #991b1b);
}

.page-dashboard .stat-icon {
  width: clamp(40px, 11vw, 50px);
  height: clamp(40px, 11vw, 50px);
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.65rem;
  border: 1px solid rgba(148, 163, 184, 0.35);
}

.page-dashboard .stat-icon.primary {
  background: rgba(148, 163, 184, 0.28);
  color: var(--app-slate-700);
}

.page-dashboard .stat-icon.success {
  background: rgba(220, 252, 231, 0.95);
  color: #15803d;
}

.page-dashboard .stat-icon.warning {
  background: rgba(254, 243, 199, 0.9);
  color: #b45309;
}

.page-dashboard .stat-icon.danger {
  background: rgba(254, 226, 226, 0.85);
  color: #b91c1c;
}

.page-dashboard .stat-icon i {
  font-size: clamp(1.1rem, 4.5vw, 1.5rem) !important;
}

.page-dashboard .stat-value {
  font-size: clamp(1.2rem, 4.8vw, 2rem);
  font-weight: 800;
  color: #1e293b;
  line-height: 1.2;
  word-break: break-word;
}

.page-dashboard .stat-label {
  font-size: clamp(0.78rem, 2.8vw, 0.875rem);
  color: #64748b;
  font-weight: 500;
  margin-top: 0.15rem;
}

.page-dashboard .month-title {
  font-size: clamp(1.28rem, 4.5vw, 2rem);
  font-weight: 800;
  line-height: 1.2;
  margin: 0;
  background: var(--app-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  letter-spacing: -0.02em;
}

.page-dashboard .progress {
  height: 10px !important;
  border-radius: 6px;
}

/* روابط الأرقام/البطاقات — قابلة للنقر بالكامل + إحساس ضغط واضح */
.page-dashboard a.stat-card,
.page-dashboard a.card-modern,
.page-dashboard a.dash-tile {
  color: inherit;
  display: block;
  transition: transform 0.14s ease, box-shadow 0.14s ease, border-color 0.14s ease, filter 0.14s ease;
  cursor: pointer;
  touch-action: manipulation;
  -webkit-tap-highlight-color: rgba(71, 85, 105, 0.12);
}
.page-dashboard a.stat-card {
  min-height: 8.5rem;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
}
.page-dashboard a.card-modern {
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.page-dashboard a.dash-tile {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.page-dashboard a.dash-tile--inline {
  min-height: 0;
}
.page-dashboard a.stat-card:hover,
.page-dashboard a.card-modern:hover,
.page-dashboard a.dash-tile:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 26px -10px rgba(15, 23, 42, 0.08), 0 2px 8px rgba(15, 23, 42, 0.04);
  border-color: rgba(71, 85, 105, 0.28);
  color: inherit;
}
.page-dashboard a.stat-card:active,
.page-dashboard a.card-modern:active,
.page-dashboard a.dash-tile:active {
  transform: translateY(1px);
  box-shadow: 0 2px 10px rgba(15, 23, 42, 0.06), 0 1px 3px rgba(15, 23, 42, 0.05);
  border-color: rgba(51, 65, 85, 0.35);
  filter: brightness(0.97);
  color: inherit;
}
.page-dashboard a.dash-alert-link {
  color: inherit;
  transition: transform 0.14s ease, box-shadow 0.14s ease, filter 0.14s ease, border-color 0.14s ease;
  cursor: pointer;
  touch-action: manipulation;
  -webkit-tap-highlight-color: rgba(71, 85, 105, 0.12);
}
.page-dashboard a.dash-alert-link:hover {
  color: var(--app-slate-900);
  filter: brightness(0.98);
}
.page-dashboard a.dash-alert-link:active {
  transform: translateY(1px);
  box-shadow: inset 0 1px 3px rgba(15, 23, 42, 0.06);
  filter: brightness(0.96);
}

/* بطاقات أقسام الرئيسية + مربعات الأرقام — تنسيق موحّد */
.page-dashboard .dash-section {
  background: #fff;
  border-radius: var(--app-radius-lg);
  box-shadow: var(--app-shadow-sm);
  border: 1px solid var(--app-border) !important;
  border-inline-start: 3px solid var(--dash-accent, var(--app-slate-500));
  height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
}
.page-dashboard .dash-section--electric {
  --dash-accent: #ca8a04;
}
.page-dashboard .dash-section--property {
  --dash-accent: var(--app-slate-600);
}

.page-dashboard .dash-section--property a.alert-warning.dash-alert-link {
  background: linear-gradient(135deg, rgba(254, 243, 199, 0.85), rgba(255, 255, 255, 0.98));
  border-color: rgba(245, 158, 11, 0.42) !important;
  color: #78350f !important;
}

.page-dashboard .dash-section--property a.alert-warning.dash-alert-link:hover {
  border-color: rgba(217, 119, 6, 0.55) !important;
  filter: brightness(0.99);
}

.page-dashboard .dash-tile--property-accent .dash-tile__value {
  color: var(--app-slate-800);
}

.page-dashboard .dash-tile-icon-property {
  color: rgba(71, 85, 105, 0.55) !important;
  opacity: 1 !important;
}
/* زر صندوق طلبات روابط العرض: يبقى فوق أي تداخل طبقات قد يمنع النقر على بطاقات dash-tile */
.page-dashboard .dash-unit-leads-entry {
  position: relative;
  z-index: 8;
  isolation: isolate;
}
.page-dashboard .dash-unit-leads-entry > .btn {
  position: relative;
  z-index: 9;
  pointer-events: auto;
}
@media (min-width: 1200px) {
  /* عمود «الإيجار والعقار» فوق عمود الكهرباء إن حدث تداخل طبقات في بعض المتصفحات (RTL) */
  .page-dashboard .row.align-items-stretch.mb-3 > .col-xl-5.d-flex {
    position: relative;
    z-index: 2;
  }
}
.page-dashboard .dash-section--work {
  --dash-accent: var(--app-brand-500);
}
.page-dashboard .dash-section--maint {
  --dash-accent: var(--app-brand-700);
}
.page-dashboard .dash-section--wa {
  --dash-accent: var(--app-brand-600);
}
.page-dashboard .dash-section--body {
  flex: 1 1 auto;
}
.page-dashboard .dash-section--actions {
  margin-top: auto;
  padding-top: 0.85rem;
  border-top: 1px solid var(--app-border);
}
.page-dashboard .dash-leads-btn {
  box-shadow: none;
}
.page-dashboard .dash-tile {
  background: #fafbfc;
  border-radius: 12px;
  padding: 0.85rem 0.7rem;
  min-height: 5.25rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  border: 1px solid var(--app-border);
  box-shadow: none;
  transition: transform 0.14s ease, box-shadow 0.18s ease, border-color 0.18s ease, background-color 0.18s ease, filter 0.14s ease;
}
.page-dashboard .dash-tile:hover {
  border-color: #cbd5e1;
  background: #fff;
  box-shadow: var(--app-shadow-sm);
}
.page-dashboard .dash-tile--inline {
  min-height: 0;
  min-width: 5.5rem;
  padding: 0.65rem 1rem;
  flex: 0 0 auto;
}
.page-dashboard .dash-tile__value {
  font-size: clamp(1.1rem, 3vw, 1.55rem);
  font-weight: 700;
  line-height: 1.2;
  color: #0f172a;
}
.page-dashboard .dash-tile__label {
  font-size: 0.78rem;
  color: #64748b;
  font-weight: 600;
  margin-top: 0.2rem;
  line-height: 1.3;
}
.page-dashboard .dash-tile--success .dash-tile__value {
  color: #15803d;
}
.page-dashboard .dash-tile--info .dash-tile__value {
  color: #0369a1;
}
.page-dashboard .dash-tile--warning .dash-tile__value {
  color: #b45309;
}
.page-dashboard .dash-row-modules > [class*="col-"] {
  display: flex;
  flex-direction: column;
}
.page-dashboard .dash-row-modules .dash-section {
  flex: 1 1 auto;
}

.page-dashboard .dash-section .dropdown-menu {
  border-radius: 14px;
  border: 1px solid var(--app-card-border);
  box-shadow: var(--app-shadow-float);
  padding: 0.4rem 0;
}

.page-dashboard .dropdown-item .text-danger {
  color: #b91c1c !important;
}

.page-dashboard .dash-section--electric a.card-modern {
  border: 1px solid var(--app-card-border);
  border-radius: var(--app-radius-lg);
  overflow: hidden;
}

.page-dashboard .alert.alert-danger .btn.btn-sm.btn-danger {
  background: linear-gradient(135deg, #f87171, #991b1b);
  border: none;
  color: #fff !important;
}

.page-dashboard .alert.alert-danger .btn.btn-sm.btn-danger:hover {
  filter: brightness(1.05);
  color: #fff !important;
}

.page-dashboard .dash-section .btn:focus-visible {
  outline: 2px solid var(--dash-accent, var(--app-slate-500));
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  .page-dashboard a.stat-card,
  .page-dashboard a.card-modern,
  .page-dashboard a.dash-tile {
    transition: none !important;
  }
  .page-dashboard a.stat-card:hover,
  .page-dashboard a.card-modern:hover,
  .page-dashboard a.dash-tile:hover {
    transform: none;
    box-shadow: var(--app-shadow-sm);
  }
  .page-dashboard a.stat-card:active,
  .page-dashboard a.card-modern:active,
  .page-dashboard a.dash-tile:active,
  .page-dashboard a.dash-alert-link:active {
    transform: none;
    filter: brightness(0.96);
  }
  .app-body .btn:active:not(:disabled):not(.disabled) {
    transform: none;
  }
}

.page-dashboard .dash-section .dropdown-item {
  border-radius: 8px;
  margin-inline: 0.35rem;
  padding: 0.45rem 0.65rem;
  transition: background-color 0.12s ease, color 0.12s ease;
}

.page-dashboard .dash-section .dropdown-item:active {
  background: rgba(148, 163, 184, 0.28);
  color: var(--app-slate-900);
}

.page-dashboard .dash-section .dropdown-item:hover,
.page-dashboard .dash-section .dropdown-item:focus {
  background: rgba(15, 23, 42, 0.055);
}

.page-dashboard .dash-section--electric .dropdown-item:hover {
  background: rgba(254, 243, 199, 0.55);
}

.page-dashboard .dash-section--property .dropdown-item:hover {
  background: rgba(241, 245, 249, 0.95);
}

.page-dashboard .dash-property-intro a.link-secondary {
  color: #475569 !important;
  transition: color 0.15s ease, border-color 0.15s ease;
}

.page-dashboard .dash-property-intro a.link-secondary:hover {
  color: var(--app-primary) !important;
  border-bottom-color: rgba(71, 85, 105, 0.45) !important;
}

.page-dashboard .dash-property-intro a.link-secondary:active {
  color: #0f172a !important;
  opacity: 0.92;
}

/* قوائم «المزيد» في لوحة التحكم: أيقونات موحّدة ومحاذاة مع القائمة العلوية */
.page-dashboard .dash-dd-trigger-inner {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}
.page-dashboard .dash-dd-menu {
  padding: 0.35rem 0.4rem;
}
.page-dashboard .dash-dd-menu .dropdown-header {
  font-weight: 700;
  font-size: 0.68rem;
  letter-spacing: 0.04em;
  color: #64748b !important;
}
.page-dashboard .dash-dd-menu .dropdown-item {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  border-radius: 9px;
  padding: 0.48rem 0.55rem;
}
.page-dashboard .dash-dd-menu .dropdown-item .dash-dd-ico {
  flex: 0 0 1.1rem;
  width: 1.1rem;
  text-align: center;
  margin-top: 0.1rem;
  font-size: 0.88rem;
  color: #64748b;
  opacity: 0.95;
}
.page-dashboard .dash-dd-menu .dropdown-item.text-muted .dash-dd-ico {
  color: #94a3b8;
}

/* تسجيل الدخول / التسجيل — خلفية موحّدة مع الهوية */
body.auth-page {
  background: var(--app-gradient);
}

body.auth-page .login-card,
body.auth-page .register-card {
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(10px);
  border-radius: clamp(18px, 5vw, 28px);
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.22);
}

body.auth-page .login-card h2,
body.auth-page .register-card h2,
body.auth-page .login-card .app-page-heading__title,
body.auth-page .register-card .app-page-heading__title {
  background: var(--app-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  font-weight: 800;
}

body.auth-page .login-card .app-page-heading,
body.auth-page .register-card .app-page-heading {
  margin-bottom: 1rem;
}

body.auth-page .login-card .app-page-heading.text-center .app-page-heading__lead,
body.auth-page .register-card .app-page-heading.text-center .app-page-heading__lead {
  margin-inline: auto;
  text-align: center;
  max-width: 26rem;
}

body.auth-page .btn-login,
body.auth-page .btn-register {
  background: var(--app-gradient);
  border: none;
  color: #fff;
  font-weight: 600;
  border-radius: 14px;
}

body.auth-page .btn-login:hover,
body.auth-page .btn-register:hover {
  filter: brightness(1.05);
  color: #fff;
}

body.auth-page .login-card a,
body.auth-page .register-card a {
  color: var(--app-primary);
  font-weight: 600;
}

body.auth-page .form-control {
  border-radius: 12px;
  border: 1px solid #e2e8f0;
}

body.auth-page .auth-password-wrap {
  position: relative;
}

body.auth-page .auth-password-wrap > .form-control {
  padding-inline-end: 2.85rem;
}

body.auth-page .auth-password-toggle {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  inset-inline-end: 0.2rem;
  z-index: 4;
  padding: 0.4rem 0.55rem;
  border: none;
  border-radius: 10px;
  color: var(--app-brand-600);
  background: transparent;
  line-height: 1;
  cursor: pointer;
}

body.auth-page .auth-password-toggle:hover,
body.auth-page .auth-password-toggle:focus-visible {
  color: var(--app-slate-800);
  background: rgba(148, 163, 184, 0.22);
}

body.auth-page .auth-password-toggle:focus-visible {
  outline: 2px solid rgba(71, 85, 105, 0.38);
  outline-offset: 1px;
}

/* شريط التنقّل المدمج hub_nav_strips + أشرطة legacy */
.hub-nav-merged {
  border-radius: 14px;
  border: 1px solid rgba(148, 163, 184, 0.35);
  background: linear-gradient(168deg, #ffffff 0%, #f8fafc 48%, rgba(241, 245, 249, 0.92) 100%);
  box-shadow: 0 2px 12px rgba(15, 23, 42, 0.04);
  padding: 0.55rem 0.85rem !important;
  border-inline-start: 3px solid rgba(71, 85, 105, 0.38);
}
.hub-nav-merged .hub-nav-open-all {
  font-weight: 700;
}
.hub-nav-merged .hub-nav-vr {
  min-height: 1.5rem;
}
/* شريط موجّه للقائمة اليمنى فقط — بدون أزرار اختصار أفقية */
.hub-nav-slim {
  padding: 0.45rem 0.75rem !important;
  border-inline-start-width: 2px;
}
.hub-nav-slim .hub-nav-slim-hint {
  font-size: 0.8125rem;
}
.hub-nav-slim .hub-nav-open-all {
  font-weight: 700;
}
@media (max-width: 575.98px) {
  .hub-nav-merged .hub-nav-quick .btn {
    padding-inline: 0.45rem;
  }
}

/* شريط إجراءات/عناوين علوي — موحّد مع صفحة الشؤون القانونية (.app-action-toolbar = .prop-hub-toolbar) */
.app-action-toolbar,
.prop-hub-toolbar {
  position: sticky;
  top: 0;
  z-index: 1005;
  background: rgba(255, 255, 255, 0.97);
  backdrop-filter: blur(8px);
  padding: 0.5rem 0 0.65rem;
  margin-bottom: 0.75rem !important;
  border-bottom: 1px solid rgba(15, 23, 42, 0.08);
  /* القوائم المنسدلة (المزيد / كل الروابط): لا تقصّها overflow من الشريط أو من أب لاصق */
  overflow: visible;
}
.app-action-toolbar .dropdown-menu,
.prop-hub-toolbar .dropdown-menu {
  z-index: 1040;
}
.app-action-toolbar .d-flex.gap-2,
.prop-hub-toolbar .d-flex.gap-2 {
  gap: 0.45rem !important;
}
@media print {
  .app-action-toolbar,
  .prop-hub-toolbar,
  .app-flash-stack {
    display: none !important;
  }
}

/* شريط الكهرباء — يُكمّل صفحات العقار */
.electric-module-strip.prop-hub-toolbar {
  background: linear-gradient(180deg, rgba(255, 251, 235, 0.94), rgba(255, 255, 255, 0.97));
  border-bottom-color: rgba(234, 179, 8, 0.24);
}

/* ========== نمط صفحة موحّد (عناوين + بطاقات + فلاش) — يُعتمد في كل التطبيق ========== */
.app-flash-stack {
  max-width: 1400px;
  margin-inline: auto;
}
.app-flash-stack .app-flash-inner .alert:last-child {
  margin-bottom: 0 !important;
}
.app-flash-stack .alert {
  border-radius: var(--app-radius-lg);
  box-shadow: var(--app-shadow-sm);
  border-width: 1px;
}

/* عنوان صفحة: أيقونة + عنوان + وصف (مثل الشؤون القانونية) */
.app-page-heading {
  margin-bottom: 0.5rem;
}
.app-page-heading__title {
  font-size: clamp(1.05rem, 2.5vw, 1.35rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--app-text);
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.45rem;
  line-height: 1.35;
}
.app-page-heading__icon {
  color: var(--app-slate-600);
  font-size: 1.05em;
  flex-shrink: 0;
}
.app-page-heading__lead {
  color: var(--app-muted);
  font-size: 0.875rem;
  line-height: 1.55;
  margin-top: 0.35rem;
  margin-bottom: 0;
  max-width: 62rem;
}

/* عناوين أقسام داخل الصفحة — نفس روح dash-section-title */
.app-section-title {
  font-size: 1.02rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--app-text);
  display: flex;
  align-items: center;
  gap: 0.45rem;
  flex-wrap: wrap;
  line-height: 1.35;
  margin-bottom: 0.75rem;
}
.app-section-title > i:first-of-type {
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  flex-shrink: 0;
  background: var(--app-primary-soft);
  color: var(--app-primary);
}

/* رأس بطاقة أبيض — مثل صندوق الشؤون القانونية */
.app-body .app-card .card-header.bg-white,
.app-body .card.app-card .card-header.bg-white {
  background: #fff !important;
  border-bottom: 1px solid rgba(148, 163, 184, 0.22);
  font-weight: 700;
}

/* حقول صغيرة — ارتفاع أنسب تحت الهوية الموحّدة */
.app-body .form-control.form-control-sm,
.app-body .form-select.form-select-sm {
  min-height: 2.15rem;
  border-radius: 10px;
}

/* جداول داخل بطاقات — رأس فاتح موحّد */
.app-body .app-card .table thead.table-light th,
.app-body .card.app-card .table thead.table-light th {
  background: #f1f5f9 !important;
  color: #334155 !important;
  font-weight: 700;
  border-color: var(--app-border);
  font-size: 0.8125rem;
}

/* إلغاء حركة الضغط عند تفضيل المستخدم تقليل الحركة */
@media (prefers-reduced-motion: reduce) {
  .app-user-panel-item:active,
  .app-fullnav-panel .list-group-item-action:active,
  .app-user-trigger:active,
  .app-fullnav-trigger:active,
  .app-navbar-toggler:active,
  .app-body .nav-pills .nav-link:active,
  .app-body .nav-tabs .nav-link:active,
  .app-body .page-link:active,
  .app-body .accordion-button:active,
  .app-body .btn-close:active {
    transform: none !important;
  }
  .whatsapp-support:active {
    transform: none !important;
  }
}

/* ── اختصارات سطح المكتب ── */
.app-context-nav {
  background: rgba(255, 255, 255, 0.92);
  border-bottom: 1px solid rgba(148, 163, 184, 0.28);
  backdrop-filter: blur(6px);
}
.app-context-nav__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.5rem;
  padding: 0.45rem 0;
  font-size: 0.8125rem;
}
.app-context-nav__label {
  color: var(--app-muted, #64748b);
  font-weight: 700;
  font-size: 0.75rem;
  letter-spacing: 0.02em;
}
.app-context-nav__sep {
  color: rgba(148, 163, 184, 0.55);
  user-select: none;
  padding-inline: 0.15rem;
}
.app-context-nav__link {
  color: #475569;
  text-decoration: none;
  padding: 0.28rem 0.65rem;
  border-radius: 999px;
  border: 1px solid transparent;
  transition: background 0.12s ease, color 0.12s ease, border-color 0.12s ease;
  white-space: nowrap;
}
.app-context-nav__link:hover {
  background: rgba(51, 65, 85, 0.07);
  color: #0f172a;
}
.app-context-nav__link.is-active {
  background: var(--app-primary-soft, rgba(51, 65, 85, 0.1));
  border-color: rgba(51, 65, 85, 0.18);
  color: var(--app-primary, #334155);
  font-weight: 600;
}

/* ── حالة فارغة موحّدة ── */
.app-empty-state {
  text-align: center;
  padding: 2.25rem 1.25rem;
  border-radius: 0.75rem;
  border: 1px dashed rgba(148, 163, 184, 0.45);
  background: rgba(248, 250, 252, 0.85);
}
.app-empty-state--compact {
  padding: 1.25rem 0.75rem;
  border: none;
  background: transparent;
}
.app-empty-state__icon {
  width: 3rem;
  height: 3rem;
  margin-inline: auto;
  margin-bottom: 0.65rem;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  box-shadow: 0 1px 4px rgba(15, 23, 42, 0.08);
  color: #64748b;
  font-size: 1.15rem;
}
.app-empty-state--compact .app-empty-state__icon {
  width: 2.35rem;
  height: 2.35rem;
  font-size: 0.95rem;
  margin-bottom: 0.45rem;
}
.app-empty-state__title {
  font-weight: 700;
  color: var(--app-text, #0f172a);
  font-size: 0.95rem;
}
.app-empty-state__msg {
  color: var(--app-muted, #64748b);
  font-size: 0.875rem;
  line-height: 1.55;
  max-width: 28rem;
  margin-inline: auto;
}
.app-empty-state--compact .app-empty-state__msg {
  font-size: 0.8125rem;
}
@media (prefers-reduced-motion: no-preference) {
  .app-empty-state__icon {
    animation: app-empty-breathe 4s ease-in-out infinite;
  }
}
@keyframes app-empty-breathe {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.04); }
}
@media (prefers-reduced-motion: reduce) {
  .app-empty-state__icon {
    animation: none;
  }
}

/* ── شريط اختصارات الوحدة (كهرباء / إيجار) ── */
.app-module-hub {
  background: #fff;
  border: 1px solid rgba(148, 163, 184, 0.28);
  border-radius: 0.75rem;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05);
}
.app-module-hub__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.5rem;
  padding: 0.55rem 0.75rem;
  font-size: 0.8125rem;
}
.app-module-hub__label {
  font-weight: 700;
  color: #b45309;
  margin-inline-end: 0.15rem;
  white-space: nowrap;
}
.app-module-hub--electric .app-module-hub__label {
  color: #b45309;
}
.app-module-hub--property .app-module-hub__label {
  color: #047857;
}
.app-module-hub--property .app-module-hub__link:hover {
  background: rgba(16, 185, 129, 0.1);
  color: #047857;
}
.app-module-hub--property .app-module-hub__link.is-active {
  background: rgba(16, 185, 129, 0.14);
  border-color: rgba(5, 150, 105, 0.28);
  color: #047857;
}
.app-module-hub__link {
  color: #475569;
  text-decoration: none;
  padding: 0.28rem 0.65rem;
  border-radius: 999px;
  border: 1px solid transparent;
  white-space: nowrap;
  transition: background 0.12s ease, color 0.12s ease;
}
.app-module-hub__link:hover {
  background: rgba(245, 158, 11, 0.1);
  color: #92400e;
}
.app-module-hub__link.is-active {
  background: rgba(245, 158, 11, 0.15);
  border-color: rgba(217, 119, 6, 0.25);
  color: #92400e;
  font-weight: 600;
}
.app-module-hub__link--muted {
  color: #64748b;
  font-size: 0.78rem;
}
.app-module-hub__link--muted:hover {
  background: rgba(51, 65, 85, 0.07);
  color: #334155;
}
.app-module-hub__sep {
  color: rgba(148, 163, 184, 0.5);
  user-select: none;
}
@media (max-width: 991.98px) {
  .app-module-hub__inner {
    flex-wrap: nowrap;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .app-module-hub__inner::-webkit-scrollbar {
    display: none;
  }
  .app-module-hub__link {
    flex-shrink: 0;
  }
}

/* ── مسار الصفحة (رجوع + breadcrumb) ── */
.app-page-trail {
  background: #f8fafc;
  border-bottom: 1px solid rgba(148, 163, 184, 0.25);
}
.app-page-trail__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem 1rem;
  padding: 0.5rem 0;
  min-height: 2.75rem;
}
.app-page-trail__back {
  font-weight: 600;
  font-size: 0.8125rem;
  white-space: nowrap;
}
.app-page-trail__crumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.8125rem;
  color: var(--app-muted, #64748b);
  min-width: 0;
}
.app-page-trail__crumbs a {
  color: #475569;
  text-decoration: none;
}
.app-page-trail__crumbs a:hover {
  color: var(--app-primary, #334155);
  text-decoration: underline;
}
.app-page-trail__sep {
  opacity: 0.45;
  user-select: none;
}
.app-page-trail__group {
  color: #94a3b8;
  font-size: 0.75rem;
  font-weight: 600;
}
.app-page-trail__current {
  color: var(--app-text, #0f172a);
  font-weight: 700;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: min(52vw, 22rem);
}

/* ── شريط سفلي — جوال ── */
.app-mobile-bottom-nav {
  position: fixed;
  inset-inline: 0;
  bottom: 0;
  z-index: 1040;
  display: flex;
  align-items: stretch;
  justify-content: space-around;
  gap: 0.15rem;
  padding: 0.35rem 0.35rem calc(0.35rem + env(safe-area-inset-bottom));
  background: rgba(255, 255, 255, 0.96);
  border-top: 1px solid rgba(148, 163, 184, 0.35);
  backdrop-filter: blur(8px);
  box-shadow: 0 -4px 20px rgba(15, 23, 42, 0.08);
}
.app-mobile-bottom-nav__item {
  flex: 1 1 0;
  min-width: 0;
  max-width: 5.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.15rem;
  padding: 0.25rem 0.15rem;
  border: 0;
  background: transparent;
  color: #64748b;
  font-size: 0.68rem;
  font-weight: 600;
  text-decoration: none;
  border-radius: 0.5rem;
  line-height: 1.15;
}
.app-mobile-bottom-nav__item i {
  font-size: 1.05rem;
}
.app-mobile-bottom-nav__item.is-active,
.app-mobile-bottom-nav__item:active {
  color: var(--app-primary, #334155);
  background: rgba(51, 65, 85, 0.08);
}
body.app-body.has-mobile-bottom-nav {
  padding-bottom: calc(5.75rem + env(safe-area-inset-bottom));
}
body.app-body.has-mobile-bottom-nav .whatsapp-support,
body.app-body.has-mobile-bottom-nav .whatsapp-float {
  bottom: calc(4.75rem + env(safe-area-inset-bottom)) !important;
}

/* ── اختصارات — تمرير أفقي على الجوال ── */
@media (max-width: 991.98px) {
  .app-context-nav__inner {
    flex-wrap: nowrap;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 0.15rem;
  }
  .app-context-nav__inner::-webkit-scrollbar {
    display: none;
  }
  .app-context-nav__link {
    flex-shrink: 0;
  }
}
