/* ==========================================================================
   نظام التصميم الموحد — منصة الاستشارات المحاسبية
   "الدفتر والميزانية" (The Ledger & The Balance)
   ----------------------------------------------------------------------
   فكرة التصميم: هوية بصرية مستوحاة من دفاتر الحسابات والقوائم المالية
   الرسمية — غلاف كحلي داكن كغلاف دفتر الأستاذ، حبر أخضر زمردي كختم
   الاعتماد والتدقيق، وخلفية ورقية دافئة تحاكي المستندات المطبوعة.
   العنصر المميز: "الختم" — شعار دائري بخطوط الميزان داخل إطار مجدول،
   يظهر كعلامة تجارية وكشارة "معتمد" بجانب المحاسبين، وكختم متحرك في
   الصفحة الرئيسية.
   يدعم وضعين: فاتح (ورقي) وداكن (كحلي ليلي) عبر [data-theme="dark"]
   ========================================================================== */

/* ------------------------- الخطوط ------------------------- */
/* Amiri: خط نسخي عربي تقليدي يُستخدم في المحررات والعقود الرسمية — للعناوين فقط */
/* Cairo: خط عربي هندسي حديث وواضح — لجسم النص والواجهات */

:root{
  --font-display: 'Amiri', 'Playfair Display', serif;
  --font-body: 'Cairo', -apple-system, sans-serif;

  /* ---------- المقياس الثابت (لا يتغير بين الوضعين) ---------- */
  --radius-xs: 6px;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-xl: 22px;
  --radius-2xl: 28px;
  --radius-full: 999px;
  --border-radius: var(--radius-md);
  --border-radius-sm: var(--radius-sm);
  --border-radius-md: var(--radius-md);
  --border-radius-lg: var(--radius-lg);
  --border-radius-xl: var(--radius-xl);
  --border-radius-2xl: var(--radius-2xl);
  --border-radius-full: var(--radius-full);
  --radius-pill: var(--radius-full);

  --spacing-xs: 0.4rem;
  --spacing-sm: 0.75rem;
  --spacing-md: 1.1rem;
  --spacing-lg: 1.75rem;
  --spacing-xl: 2.5rem;
  --spacing-xxl: 3.5rem;
  --spacing-2xl: 3.5rem;
  --spacing-3xl: 5rem;
  --spacing-4xl: 7rem;

  --text-xs: 0.76rem;
  --text-sm: 0.87rem;
  --text-base: 1rem;
  --text-lg: 1.15rem;
  --text-xl: 1.35rem;
  --text-2xl: 1.65rem;
  --text-3xl: 2rem;
  --text-4xl: 2.5rem;
  --text-5xl: 3.1rem;
  --text-6xl: 3.8rem;
  --text-7xl: 4.6rem;

  --font-size-sm: var(--text-sm);
  --font-size-base: var(--text-base);
  --font-size-lg: var(--text-lg);
  --font-size-xl: var(--text-xl);

  --navbar-height: 78px;
  --sidebar-w: 278px;
  --sidebar-width: var(--sidebar-w);
  --container-max-width: 1240px;
  --transition: 0.22s cubic-bezier(.4,0,.2,1);
}

/* ------------------------- الوضع الفاتح (Parchment) ------------------------- */
:root,
[data-theme="light"]{
  color-scheme: light;

  --ls-bg: #F5F1E7;
  --ls-bg-alt: #ECE5D3;
  --ls-surface: #FFFFFF;
  --ls-surface-2: #FBF9F3;
  --ls-border: #E1D6BE;
  --ls-border-strong: #C9B98F;

  --ls-text: #1C2430;
  --ls-text-muted: #5C6470;
  --ls-text-faint: #8A8F7E;

  --ls-primary: #0E2340;
  --ls-primary-2: #163A5F;
  --ls-primary-soft: #E7ECF2;
  --ls-primary-contrast: #FFFFFF;
  --ls-primary-text: #163A5F;

  --ls-accent: #1F7A54;
  --ls-accent-2: #155E40;
  --ls-accent-soft: #DCEEE3;
  --ls-accent-contrast: #0B2318;

  --ls-success: #2F6F4E;
  --ls-success-soft: #E1EEE5;
  --ls-danger: #A23B32;
  --ls-danger-soft: #F5E4E1;
  --ls-warning: #A9762A;
  --ls-warning-soft: #F3E7CF;
  --ls-info: #2C6690;
  --ls-info-soft: #E2ECF2;

  --ls-sidebar-bg: #0E2340;
  --ls-sidebar-bg-2: #0A1B31;
  --ls-sidebar-text: #C7D2DE;
  --ls-sidebar-text-dim: #8FA0B5;
  --ls-sidebar-active: #16324F;
  --ls-sidebar-border: rgba(255,255,255,0.09);

  --ls-shadow-sm: 0 1px 3px rgba(20,25,15,0.06), 0 1px 2px rgba(20,25,15,0.05);
  --ls-shadow-md: 0 6px 18px rgba(30,32,20,0.08);
  --ls-shadow-lg: 0 14px 34px rgba(30,32,20,0.10);
  --ls-shadow-xl: 0 24px 54px rgba(20,25,15,0.14);
  --ls-shadow-gold: 0 10px 26px rgba(31,122,84,0.25);
  --ls-shadow-inner: inset 0 1px 3px rgba(20,25,15,0.08);

  --shadow-xs: var(--ls-shadow-sm);
  --shadow-sm: var(--ls-shadow-sm);
  --shadow-md: var(--ls-shadow-md);
  --shadow-lg: var(--ls-shadow-lg);
  --shadow-xl: var(--ls-shadow-xl);
  --shadow-2xl: var(--ls-shadow-xl);
  --shadow-gold: var(--ls-shadow-gold);
  --shadow-inner: var(--ls-shadow-inner);

  /* سلّم رمادي — طبيعي في الفاتح (الأرقام الصغيرة فاتحة/الكبيرة داكنة) */
  --gray-50:  #FAF8F2;
  --gray-100: #F1ECDF;
  --gray-200: #E5DDC8;
  --gray-300: #D2C7A6;
  --gray-400: #A79E7E;
  --gray-500: #7C7660;
  --gray-600: #5C6470;
  --gray-700: #3F4753;
  --gray-800: #29323D;
  --gray-900: #1C2430;

  --navy-500: #35516F;
  --navy-600: #26405C;
  --navy-700: #1B324C;
  --navy-800: #12263A;
  --navy-900: #0E2340;
  --navy-950: #091729;

  --gold-100: #DCEEE3;
  --gold-400: #3E9E74;
  --gold-500: #1F7A54;
  --gold-600: #155E40;
  --gold-700: #0F4A32;
}

/* ------------------------- الوضع الداكن (Ledger Night) ------------------------- */
[data-theme="dark"]{
  color-scheme: dark;

  --ls-bg: #0A1420;
  --ls-bg-alt: #0D1826;
  --ls-surface: #101E31;
  --ls-surface-2: #16273C;
  --ls-border: #24374E;
  --ls-border-strong: #33495F;

  --ls-text: #E9E4D6;
  --ls-text-muted: #9FADBE;
  --ls-text-faint: #71839A;

  --ls-primary: #1B3A5C;
  --ls-primary-2: #24507A;
  --ls-primary-soft: #16273C;
  --ls-primary-contrast: #FFFFFF;
  --ls-primary-text: #8FB4DE;

  --ls-accent: #4FBE8B;
  --ls-accent-2: #7CD6AC;
  --ls-accent-soft: #0F2B20;
  --ls-accent-contrast: #08170F;

  --ls-success: #4FA179;
  --ls-success-soft: #123324;
  --ls-danger: #CB6259;
  --ls-danger-soft: #331714;
  --ls-warning: #D6A752;
  --ls-warning-soft: #2E2311;
  --ls-info: #63A6D8;
  --ls-info-soft: #112A3A;

  --ls-sidebar-bg: #08111C;
  --ls-sidebar-bg-2: #060D16;
  --ls-sidebar-text: #A9B7C7;
  --ls-sidebar-text-dim: #6F8194;
  --ls-sidebar-active: #16273C;
  --ls-sidebar-border: rgba(255,255,255,0.07);

  --ls-shadow-sm: 0 1px 3px rgba(0,0,0,0.35);
  --ls-shadow-md: 0 6px 18px rgba(0,0,0,0.4);
  --ls-shadow-lg: 0 14px 34px rgba(0,0,0,0.45);
  --ls-shadow-xl: 0 24px 54px rgba(0,0,0,0.55);
  --ls-shadow-gold: 0 10px 30px rgba(79,190,139,0.18);
  --ls-shadow-inner: inset 0 1px 3px rgba(0,0,0,0.4);

  --shadow-xs: var(--ls-shadow-sm);
  --shadow-sm: var(--ls-shadow-sm);
  --shadow-md: var(--ls-shadow-md);
  --shadow-lg: var(--ls-shadow-lg);
  --shadow-xl: var(--ls-shadow-xl);
  --shadow-2xl: var(--ls-shadow-xl);
  --shadow-gold: var(--ls-shadow-gold);
  --shadow-inner: var(--ls-shadow-inner);

  /* سلّم رمادي معكوس في الداكن: الأرقام الكبيرة تصبح فاتحة (نص) والصغيرة داكنة (خلفيات) */
  --gray-50:  #0D1826;
  --gray-100: #121F2F;
  --gray-200: #1A2C40;
  --gray-300: #24374E;
  --gray-400: #3D5670;
  --gray-500: #6E86A0;
  --gray-600: #93A6BB;
  --gray-700: #B7C4D3;
  --gray-800: #D6DEE7;
  --gray-900: #E9E4D6;

  --navy-500: #4A6E90;
  --navy-600: #3A5A78;
  --navy-700: #2B4460;
  --navy-800: #1D2F45;
  --navy-900: #1B3A5C;
  --navy-950: #0E1B2B;

  --gold-100: #0F2B20;
  --gold-400: #3E9E74;
  --gold-500: #4FBE8B;
  --gold-600: #7CD6AC;
  --gold-700: #9EE4C0;
}

/* ==========================================================================
   طبقة التوافق: أسماء المتغيرات القديمة (المُستخدمة داخل الصفحات مباشرة)
   تُمرَّر جميعها إلى الرموز الجديدة أعلاه، بحيث يتغيّر كل شيء تلقائياً
   مع تبديل الوضع الفاتح/الداكن دون الحاجة لتعديل أي صفحة Blade.
   ========================================================================== */
:root{
  --primary: var(--ls-primary);
  --primary-color: var(--ls-primary);
  --primary-dark: var(--ls-primary-2);
  --primary-hover: var(--ls-primary-2);
  --primary-light: var(--ls-primary-soft);
  --primary-navy: var(--ls-primary);
  --primary-green: var(--ls-primary);
  --legal-navy: var(--ls-primary);
  --dark-color: var(--ls-text);
  --black: var(--ls-text);
  --default: var(--ls-text);

  --secondary-color: var(--ls-text-muted);
  --secondary-dark: var(--ls-text);
  --secondary-light: var(--ls-text-faint);
  --text-primary: var(--ls-text);
  --text-secondary: var(--ls-text-muted);
  --text-muted: var(--ls-text-muted);
  --light-color: var(--ls-surface);
  --off-white: var(--ls-surface);

  --accent-color: var(--ls-accent);
  --accent-gold: var(--ls-accent);
  --accent-gold-light: var(--ls-accent-soft);
  --accent-light-gold: var(--ls-accent-soft);
  --accent-light: var(--ls-accent-soft);
  --accent-dark: var(--ls-accent-2);
  --accent-hover: var(--ls-accent-2);
  --accent-bronze: var(--ls-accent-2);
  --bronze: var(--ls-accent-2);
  --legal-gold: var(--ls-accent);
  --legal-burgundy: var(--ls-danger);
  --legal-silver: var(--ls-border-strong);

  --success: var(--ls-success);
  --success-color: var(--ls-success);
  --success-dark: var(--ls-success);
  --success-light: var(--ls-success-soft);
  --success-bg: var(--ls-success-soft);

  --danger: var(--ls-danger);
  --danger-color: var(--ls-danger);
  --danger-dark: var(--ls-danger);
  --danger-light: var(--ls-danger-soft);
  --danger-bg: var(--ls-danger-soft);

  --info: var(--ls-info);
  --info-color: var(--ls-info);
  --info-dark: var(--ls-info);
  --info-light: var(--ls-info-soft);
  --info-bg: var(--ls-info-soft);

  --status-active: var(--ls-info);
  --status-pending: var(--ls-warning);
  --status-completed: var(--ls-success);
  --status-cancelled: var(--ls-danger);

  --bg-body: var(--ls-bg);
  --bg-primary: var(--ls-surface);
  --bg-secondary: var(--ls-bg-alt);
  --bg-tertiary: var(--ls-surface-2);
  --bg-surface: var(--ls-surface);
  --bg-surface-2: var(--ls-surface-2);
  --light-gray: var(--ls-bg-alt);
  --dark-gray: var(--ls-text-muted);
  --gray: var(--ls-text-muted);

  --bg-sidebar: var(--ls-sidebar-bg);
  --bg-sidebar-active: var(--ls-sidebar-active);
  --bg-sidebar-hover: var(--ls-sidebar-active);

  --border-color: var(--ls-border);
  --border-light: var(--ls-border);
  --border-strong: var(--ls-border-strong);

  --font-arabic: var(--font-body);
  --font-arabic-traditional: var(--font-display);
  --font-family: var(--font-body);
  --font-primary: var(--font-display);
  --font-secondary: var(--font-body);
  --font-heading: var(--font-display);

  --text-on-dark: #F3F1E6;
  --text-on-dark-muted: rgba(243,241,230,0.72);

  --white: #FFFFFF;
  --single: initial;
}

/* ==========================================================================
   الأساسيات
   ========================================================================== */
*{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }
body{
  margin: 0;
  background: var(--ls-bg);
  color: var(--ls-text);
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.7;
  transition: background-color var(--transition), color var(--transition);
  -webkit-font-smoothing: antialiased;
}
img{ max-width: 100%; display: block; }
a{ text-decoration: none; color: inherit; }
h1,h2,h3,h4,h5,h6{ font-family: var(--font-display); margin: 0; color: var(--ls-text); }
p{ margin: 0; }
ul{ margin: 0; padding: 0; list-style: none; }
button{ font-family: inherit; cursor: pointer; }

::selection{ background: var(--ls-accent); color: var(--ls-accent-contrast); }

::-webkit-scrollbar{ width: 10px; height: 10px; }
::-webkit-scrollbar-track{ background: var(--ls-bg-alt); }
::-webkit-scrollbar-thumb{ background: var(--ls-border-strong); border-radius: var(--radius-full); }
::-webkit-scrollbar-thumb:hover{ background: var(--ls-accent); }

:focus-visible{
  outline: 2px solid var(--ls-accent);
  outline-offset: 2px;
  border-radius: 4px;
}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{ animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; scroll-behavior: auto !important; }
}

/* الختم الرسمي — العنصر المميز للهوية */
.ls-seal{
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 50%;
  color: var(--ls-accent);
  flex-shrink: 0;
}
.ls-seal svg{ width: 100%; height: 100%; display: block; }

/* زر تبديل الوضع الفاتح/الداكن */
.theme-toggle-btn{
  display: inline-flex; align-items: center; justify-content: center;
  width: 42px; height: 42px;
  border-radius: var(--radius-full);
  border: 1px solid var(--ls-border);
  background: var(--ls-surface);
  color: var(--ls-text);
  cursor: pointer;
  transition: var(--transition);
  position: relative;
  flex-shrink: 0;
}
.theme-toggle-btn:hover{ border-color: var(--ls-accent); color: var(--ls-accent); transform: translateY(-1px); box-shadow: var(--ls-shadow-sm); }
.theme-toggle-btn svg{ width: 20px; height: 20px; }
.theme-toggle-btn .icon-sun{ display: none; }
[data-theme="dark"] .theme-toggle-btn .icon-moon{ display: none; }
[data-theme="dark"] .theme-toggle-btn .icon-sun{ display: block; }
.theme-toggle-btn--onDark{ background: rgba(255,255,255,0.06); border-color: var(--ls-sidebar-border); color: var(--ls-sidebar-text); }
.theme-toggle-btn--onDark:hover{ color: var(--ls-accent); border-color: var(--ls-accent); }

/* ==========================================================================
   شريط التنقّل العام (navbar-luxury)
   ========================================================================== */
.navbar-luxury{
  position: sticky; top: 0; z-index: 100;
  background: var(--ls-surface);
  border-bottom: 1px solid var(--ls-border);
  backdrop-filter: saturate(1.2) blur(8px);
}
.navbar-container{
  max-width: var(--container-max-width);
  margin: 0 auto;
  height: var(--navbar-height);
  display: flex; align-items: center; justify-content: space-between;
  gap: var(--spacing-lg);
  padding: 0 var(--spacing-lg);
}
.navbar-brand{ display: flex; align-items: center; gap: var(--spacing-sm); font-weight: 700; font-size: var(--text-lg); color: var(--ls-text); }
.navbar-brand-icon{
  width: 42px; height: 42px; border-radius: 50%;
  background: var(--ls-primary);
  color: var(--ls-accent);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.1rem;
}
.navbar-menu{ display: flex; align-items: center; gap: var(--spacing-lg); }
.navbar-menu-link{ font-size: var(--text-sm); font-weight: 600; color: var(--ls-text-muted); position: relative; padding: 6px 0; transition: var(--transition); }
.navbar-menu-link::after{ content:""; position:absolute; right:0; bottom:0; width:0; height:2px; background:var(--ls-accent); transition: var(--transition); }
.navbar-menu-link:hover, .navbar-menu-link.active{ color: var(--ls-primary-text); }
.navbar-menu-link:hover::after, .navbar-menu-link.active::after{ width: 100%; }
.navbar-button{ display:inline-flex; align-items:center; gap:.5rem; padding: .65rem 1.3rem; border-radius: var(--radius-md); font-weight:700; font-size: var(--text-sm); transition: var(--transition); }
.navbar-button-outline{ border: 1.5px solid var(--ls-border-strong); color: var(--ls-text); margin-left:.6rem; }
.navbar-button-outline:hover{ border-color: var(--ls-primary-text); color: var(--ls-primary-text); }
.navbar-button-primary{ background: var(--ls-primary); color: var(--ls-primary-contrast); }
.navbar-button-primary:hover{ background: var(--ls-primary-2); box-shadow: var(--ls-shadow-md); transform: translateY(-1px); }

.navbar-actions{ display:flex; align-items:center; gap:.75rem; }
.navbar-mobile-toggle{
  display:none; width:42px; height:42px; border-radius: var(--radius-sm);
  border:1px solid var(--ls-border); background: var(--ls-surface); color: var(--ls-text);
  align-items:center; justify-content:center; font-size:1.2rem; flex-shrink:0;
}

/* لوحة قائمة الموبايل — طبقة ثابتة تغطي الشاشة بالكامل، مستقلة تماماً عن تدفق الصفحة */
.navbar-mobile-panel{ display:none; }
.navbar-mobile-panel-header{ display:flex; align-items:center; justify-content:space-between; margin-bottom: var(--spacing-lg); }
.navbar-mobile-panel-close{
  width:40px; height:40px; border-radius: var(--radius-sm); flex-shrink:0;
  border:1px solid var(--ls-border); background: var(--ls-surface-2); color: var(--ls-text);
  display:flex; align-items:center; justify-content:center;
}
.navbar-mobile-menu{ display:flex; flex-direction:column; }
.navbar-mobile-menu li{ border-bottom: 1px solid var(--ls-border); }
.navbar-mobile-menu .navbar-menu-link{ display:block; padding: 1rem .2rem; font-size: var(--text-base); }
.navbar-mobile-menu .navbar-menu-link::after{ display:none; }
.navbar-mobile-actions{ display:flex; flex-direction:column; gap: var(--spacing-md); margin-top: var(--spacing-xl); }
.navbar-mobile-actions .navbar-button{ width:100%; justify-content:center; margin-inline-start:0 !important; }

@media (max-width: 900px){
  .navbar-menu{ display:none !important; }
  .navbar-actions{ display:none !important; }
  .navbar-mobile-toggle{ display:inline-flex !important; }
  .navbar-luxury[data-mobile-open] .navbar-mobile-panel{
    display:flex !important; flex-direction:column !important;
    position:fixed !important; top:0 !important; left:0 !important; right:0 !important; bottom:0 !important;
    width:100vw !important; height:100vh !important; z-index:200 !important;
    background: var(--ls-surface) !important; color: var(--ls-text);
    padding: var(--spacing-lg) !important; overflow-y:auto !important; margin:0 !important;
  }
}

/* ==========================================================================
   البطل (hero-luxury)
   ========================================================================== */
.hero-luxury{
  position: relative;
  background:
    radial-gradient(1100px 500px at 85% -10%, color-mix(in srgb, var(--ls-accent) 12%, transparent), transparent 60%),
    var(--ls-primary);
  overflow: hidden;
  padding: var(--spacing-4xl) 0 var(--spacing-3xl);
}
.hero-luxury::before{
  content:"";
  position:absolute; inset:0;
  background-image: repeating-linear-gradient(90deg, rgba(255,255,255,0.035) 0 1px, transparent 1px 64px);
  pointer-events:none;
}
.hero-container{
  max-width: var(--container-max-width); margin:0 auto; padding: 0 var(--spacing-lg);
  display:grid; grid-template-columns: 1.1fr .9fr; gap: var(--spacing-2xl); align-items:center;
  position: relative; z-index: 1;
}
.hero-badge{
  display:inline-flex; align-items:center; gap:.5rem;
  background: rgba(255,255,255,0.08); border:1px solid rgba(217,185,112,0.35);
  color: var(--ls-accent); padding:.5rem 1rem; border-radius: var(--radius-full);
  font-size: var(--text-sm); font-weight:700; margin-bottom: var(--spacing-lg);
}
.hero-title{
  font-family: var(--font-display);
  font-size: var(--text-7xl); line-height:1.2; font-weight:700; color:#fff;
  margin-bottom: var(--spacing-md);
}
.hero-title-accent{ color: var(--ls-accent); }
.hero-description{ font-size: var(--text-lg); color: rgba(255,255,255,0.78); max-width: 560px; margin-bottom: var(--spacing-xl); }
.hero-actions{ display:flex; gap: var(--spacing-md); margin-bottom: var(--spacing-2xl); flex-wrap: wrap; }
.hero-button{ display:inline-flex; align-items:center; gap:.6rem; padding: 1rem 1.8rem; border-radius: var(--radius-md); font-weight:700; transition: var(--transition); }
.hero-button-primary{ background: var(--ls-accent); color: var(--ls-accent-contrast); }
.hero-button-primary:hover{ background: var(--ls-accent-2); transform: translateY(-2px); box-shadow: var(--ls-shadow-gold); }
.hero-button-outline{ border: 1.5px solid rgba(255,255,255,0.35); color:#fff; }
.hero-button-outline:hover{ border-color: var(--ls-accent); color: var(--ls-accent); }
.hero-stats{ display:flex; gap: var(--spacing-2xl); flex-wrap: wrap; }
.hero-stat-number{ font-family: var(--font-display); font-size: var(--text-4xl); font-weight:700; color: var(--ls-accent); }
.hero-stat-label{ font-size: var(--text-sm); color: rgba(255,255,255,0.7); }
.hero-image{ position: relative; }
.hero-image img{
  border-radius: var(--radius-xl);
  box-shadow: var(--ls-shadow-xl);
  border: 6px solid rgba(255,255,255,0.08);
}
@media (max-width: 900px){
  .hero-container{ grid-template-columns: 1fr; }
  .hero-title{ font-size: var(--text-5xl); }
  .hero-image{ order:-1; }
}

/* ==========================================================================
   الأقسام العامة (section-luxury)
   ========================================================================== */
.section-luxury{ padding: var(--spacing-3xl) 0; }
.section-container{ max-width: var(--container-max-width); margin:0 auto; padding: 0 var(--spacing-lg); }
.section-header{ text-align:center; max-width: 680px; margin: 0 auto var(--spacing-2xl); }
.section-badge{
  display:inline-flex; align-items:center; gap:.5rem;
  background: var(--ls-accent-soft); color: var(--ls-accent-2);
  padding:.45rem .9rem; border-radius: var(--radius-full);
  font-size: var(--text-sm); font-weight:700; margin-bottom: var(--spacing-md);
}
.section-title{ font-size: var(--text-4xl); font-weight:700; margin-bottom: var(--spacing-md); }
.section-description{ color: var(--ls-text-muted); font-size: var(--text-lg); }

.grid-luxury{ display:grid; gap: var(--spacing-lg); }
.grid-luxury-2{ grid-template-columns: repeat(2,1fr); }
.grid-luxury-3{ grid-template-columns: repeat(3,1fr); }
.grid-luxury-4{ grid-template-columns: repeat(4,1fr); }
@media (max-width: 980px){ .grid-luxury-3,.grid-luxury-4{ grid-template-columns: repeat(2,1fr); } }
@media (max-width: 620px){ .grid-luxury-2,.grid-luxury-3,.grid-luxury-4{ grid-template-columns: 1fr; } }

.card-luxury{
  background: var(--ls-surface);
  border: 1px solid var(--ls-border);
  border-radius: var(--radius-lg);
  padding: var(--spacing-xl);
  transition: var(--transition);
  box-shadow: var(--ls-shadow-sm);
}
.card-luxury:hover{ transform: translateY(-4px); box-shadow: var(--ls-shadow-lg); border-color: var(--ls-accent); }
.card-icon-luxury{
  width: 56px; height:56px; border-radius: var(--radius-md);
  background: var(--ls-primary-soft); color: var(--ls-primary-text);
  display:flex; align-items:center; justify-content:center;
  font-size: 1.4rem; margin-bottom: var(--spacing-md);
}
.card-title-luxury{ font-size: var(--text-xl); font-weight:700; margin-bottom: var(--spacing-sm); }
.card-description-luxury{ color: var(--ls-text-muted); line-height:1.8; }
.card-link-luxury{ display:inline-flex; align-items:center; gap:.4rem; margin-top: var(--spacing-md); color: var(--ls-accent-2); font-weight:700; font-size: var(--text-sm); }
.card-link-luxury:hover{ gap:.65rem; }
.card-header-luxury{ display:flex; align-items:center; justify-content:space-between; margin-bottom: var(--spacing-md); }
.card-body-luxury{ padding-top: var(--spacing-sm); }
.card-footer{ display:flex; align-items:center; gap:.5rem; flex-wrap:wrap; margin: var(--spacing-md) 0; }

/* شارات صغيرة نصية عامة (badge-professional) */
.badge-professional{ display:inline-flex; align-items:center; gap:.35rem; padding:.3rem .7rem; border-radius: var(--radius-full); font-size: var(--text-xs); font-weight:700; }
.badge-professional.badge-warning{ background: var(--ls-warning-soft); color: var(--ls-warning); }
.badge-professional.badge-gray{ background: var(--ls-surface-2); color: var(--ls-text-muted); border: 1px solid var(--ls-border); }
.badge-professional.badge-success{ background: var(--ls-success-soft); color: var(--ls-success); }
.badge-professional.badge-danger{ background: var(--ls-danger-soft); color: var(--ls-danger); }
.badge-professional.badge-info{ background: var(--ls-info-soft); color: var(--ls-info); }

/* ==========================================================================
   التذييل (footer-luxury)
   ========================================================================== */
.footer-luxury{ background: var(--ls-sidebar-bg); color: rgba(255,255,255,0.85); padding: var(--spacing-3xl) 0 var(--spacing-lg); }
.footer-container{ max-width: var(--container-max-width); margin:0 auto; padding: 0 var(--spacing-lg); }
.footer-grid{ display:grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: var(--spacing-xl); margin-bottom: var(--spacing-2xl); }
@media (max-width: 900px){ .footer-grid{ grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px){ .footer-grid{ grid-template-columns: 1fr; } }
.footer-title{ font-family: var(--font-body); color:#fff; font-size: var(--text-base); font-weight:700; margin-bottom: var(--spacing-md); }
.footer-links{ display:flex; flex-direction:column; gap:.6rem; }
.footer-link{ color: rgba(255,255,255,0.65); font-size: var(--text-sm); transition: var(--transition); }
.footer-link:hover{ color: var(--ls-accent); }
.footer-bottom{ border-top: 1px solid rgba(255,255,255,0.1); padding-top: var(--spacing-lg); text-align:center; font-size: var(--text-sm); color: rgba(255,255,255,0.55); }

/* ==========================================================================
   الأزرار العامة (btn-luxury)
   ========================================================================== */
.btn-luxury{
  display:inline-flex; align-items:center; justify-content:center; gap:.55rem;
  padding: .8rem 1.5rem; border-radius: var(--radius-md);
  font-weight:700; font-size: var(--text-sm); border: 1.5px solid transparent;
  transition: var(--transition); white-space: nowrap;
}
.btn-luxury-primary{ background: var(--ls-primary); color: var(--ls-primary-contrast); }
.btn-luxury-primary:hover{ background: var(--ls-primary-2); box-shadow: var(--ls-shadow-md); transform: translateY(-1px); }
.btn-luxury-secondary{ background: var(--ls-surface-2); color: var(--ls-text); border-color: var(--ls-border); }
.btn-luxury-secondary:hover{ border-color: var(--ls-primary-text); }
.btn-luxury-outline{ background: transparent; border-color: var(--ls-border-strong); color: var(--ls-text); }
.btn-luxury-outline:hover{ border-color: var(--ls-accent); color: var(--ls-accent-2); }
.btn-luxury-dark{ background: var(--ls-text); color: var(--ls-surface); }
.btn-luxury-success{ background: var(--ls-success); color: #fff; }
.btn-luxury-danger{ background: var(--ls-danger); color: #fff; }
.btn-luxury-sm{ padding:.5rem 1rem; font-size: var(--text-xs); }
.btn-luxury-lg{ padding: 1rem 2rem; font-size: var(--text-base); }
.btn-luxury:disabled, .btn-luxury.disabled{ opacity:.55; cursor:not-allowed; transform:none !important; box-shadow:none !important; }

/* ==========================================================================
   صفحات الدخول والتسجيل (auth-luxury)
   ========================================================================== */
.auth-luxury-container{ display:grid; grid-template-columns: 1fr 1fr; min-height: 100vh; }
.auth-luxury-left{
  background:
    radial-gradient(700px 400px at 20% 10%, color-mix(in srgb, var(--ls-accent) 14%, transparent), transparent 60%),
    var(--ls-primary);
  color:#fff; padding: var(--spacing-2xl); display:flex; flex-direction:column; justify-content:center;
}
.auth-luxury-logo{ display:flex; align-items:center; gap: var(--spacing-sm); margin-bottom: var(--spacing-2xl); }
.auth-luxury-logo-icon{ width:52px; height:52px; border-radius:50%; background: rgba(255,255,255,0.08); color: var(--ls-accent); display:flex; align-items:center; justify-content:center; font-size:1.3rem; border:1px solid rgba(217,185,112,.35); }
.auth-luxury-logo-text{ font-weight:700; font-size: var(--text-lg); }
.auth-luxury-content{ max-width: 460px; }
.auth-luxury-title{ font-family: var(--font-display); font-size: var(--text-4xl); margin-bottom: var(--spacing-md); }
.auth-luxury-description{ color: rgba(255,255,255,0.75); font-size: var(--text-base); line-height:1.8; margin-bottom: var(--spacing-xl); }
.auth-luxury-features{ display:flex; flex-direction:column; gap: var(--spacing-md); }
.auth-luxury-feature{ display:flex; align-items:center; gap: var(--spacing-md); }
.auth-luxury-feature-icon{ width:40px; height:40px; border-radius: var(--radius-sm); background: rgba(255,255,255,0.07); color: var(--ls-accent); display:flex; align-items:center; justify-content:center; }
.auth-luxury-feature-text{ font-size: var(--text-sm); color: rgba(255,255,255,0.85); }
.auth-luxury-right{ background: var(--ls-bg); display:flex; align-items:center; justify-content:center; padding: var(--spacing-xl); position: relative; }
.auth-luxury-form-container{ width:100%; max-width: 440px; }
.auth-luxury-form-header{ margin-bottom: var(--spacing-xl); }
.auth-luxury-form-title{ font-size: var(--text-3xl); font-weight:700; margin-bottom: var(--spacing-xs); }
.auth-luxury-form-subtitle{ color: var(--ls-text-muted); }
.auth-luxury-footer{ text-align:center; margin-top: var(--spacing-lg); color: var(--ls-text-muted); font-size: var(--text-sm); }
.auth-luxury-footer a{ color: var(--ls-accent-2); font-weight:700; }
@media (max-width: 900px){ .auth-luxury-container{ grid-template-columns: 1fr; } .auth-luxury-left{ padding: var(--spacing-xl); } }

/* اختيار نوع الحساب في التسجيل */
.user-type-selector-luxury{ display:grid; grid-template-columns: 1fr 1fr; gap: var(--spacing-md); }
.user-type-option-luxury{
  border: 1.5px solid var(--ls-border); border-radius: var(--radius-md);
  padding: var(--spacing-md); text-align:center; cursor:pointer; transition: var(--transition);
  background: var(--ls-surface);
}
.user-type-option-luxury:hover{ border-color: var(--ls-accent); }
.user-type-option-luxury.selected, .user-type-option-luxury:has(input:checked){ border-color: var(--ls-primary); background: var(--ls-primary-soft); box-shadow: var(--ls-shadow-sm); }
.user-type-icon-luxury{ font-size:1.6rem; color: var(--ls-primary-text); margin-bottom:.4rem; }
.user-type-title-luxury{ font-weight:700; margin-bottom:.2rem; }
.user-type-label-luxury{ font-weight:700; margin-bottom:.2rem; }
.user-type-description-luxury{ font-size: var(--text-xs); color: var(--ls-text-muted); }

/* ==========================================================================
   عناصر النماذج (form-*-luxury) + تجاوزات بوتستراب
   ========================================================================== */
.form-group-luxury{ margin-bottom: var(--spacing-lg); }
.form-label-luxury{ display:flex; align-items:center; gap:.4rem; font-weight:700; font-size: var(--text-sm); margin-bottom: var(--spacing-xs); color: var(--ls-text); }
.form-control-luxury, .form-control, .form-select{
  width:100%; padding: .8rem 1rem; border-radius: var(--radius-sm);
  border: 1.5px solid var(--ls-border); background: var(--ls-surface); color: var(--ls-text);
  font-family: var(--font-body); font-size: var(--text-base); transition: var(--transition);
}
.form-control-luxury:focus, .form-control:focus, .form-select:focus{
  outline:none; border-color: var(--ls-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--ls-accent) 20%, transparent);
}
.form-control-luxury.is-invalid, .form-control.is-invalid{ border-color: var(--ls-danger); }
.invalid-feedback-luxury, .invalid-feedback{ display:block; color: var(--ls-danger); font-size: var(--text-xs); margin-top:.3rem; }
.form-check-luxury, .form-check{ display:flex; align-items:center; gap:.5rem; }
.form-check-input-luxury, .form-check-input{ width:18px; height:18px; accent-color: var(--ls-primary); }
.form-check-label-luxury, .form-check-label{ font-size: var(--text-sm); color: var(--ls-text-muted); }

/* ==========================================================================
   هيكل لوحات التحكم (dashboard-luxury / sidebar-luxury)
   ========================================================================== */
.dashboard-luxury-layout{ display:flex; min-height:100vh; background: var(--ls-bg); }

/* ---- الرف الجانبي: "دفتر القيد" — ثلاث مناطق ثابتة: رأس / تنقّل مقسّم بأقسام / بطاقة مستخدم مثبّتة أسفل ---- */
.dashboard-luxury-sidebar{
  --sb-w: var(--sidebar-w);
  width: var(--sb-w); flex-shrink:0;
  background: var(--ls-sidebar-bg);
  border-left: 1px solid var(--ls-sidebar-border);
  display:flex; flex-direction:column;
  position: sticky; top:0; height:100vh; overflow:hidden;
  transition: width var(--transition);
  z-index: 40;
}
.dashboard-luxury-sidebar[data-collapsed="true"]{ --sb-w: 84px; }

.sidebar-luxury-header{
  padding: var(--spacing-lg) var(--spacing-md) var(--spacing-md);
  display:flex; align-items:center; justify-content:space-between; gap:.5rem;
  flex-shrink:0;
}
.sidebar-luxury-brand{ display:flex; align-items:center; gap: var(--spacing-sm); min-width:0; margin-bottom:0; }
.sidebar-luxury-brand-icon{
  width:40px; height:40px; border-radius: var(--radius-sm); flex-shrink:0;
  background: linear-gradient(160deg, rgba(217,185,112,.16), rgba(217,185,112,.03));
  color: var(--ls-accent); display:flex; align-items:center; justify-content:center;
  border: 1px solid rgba(217,185,112,.3);
}
.sidebar-luxury-brand-text{ color:#fff; font-weight:700; font-size: var(--text-sm); white-space:nowrap; overflow:hidden; }
.sidebar-luxury-collapse-btn{
  width:30px; height:30px; border-radius: var(--radius-sm); flex-shrink:0;
  border:1px solid var(--ls-sidebar-border); background:transparent; color: var(--ls-sidebar-text-dim);
  display:flex; align-items:center; justify-content:center; transition: var(--transition);
}
.sidebar-luxury-collapse-btn:hover{ color: var(--ls-accent); border-color: var(--ls-accent); }
.sidebar-luxury-collapse-btn svg{ width:15px; height:15px; transition: transform var(--transition); }
.dashboard-luxury-sidebar[data-collapsed="true"] .sidebar-luxury-collapse-btn svg{ transform: rotate(180deg); }

.sidebar-luxury-scroll{ flex:1; min-height:0; overflow-y:auto; overflow-x:hidden; padding: 0 var(--spacing-sm) var(--spacing-md); }
.sidebar-luxury-nav{ padding: var(--spacing-sm) 0; display:flex; flex-direction:column; gap:.2rem; }
.sidebar-luxury-nav-section + .sidebar-luxury-nav-section{ margin-top: var(--spacing-md); }
.sidebar-luxury-nav-section-label{
  color: var(--ls-sidebar-text-dim); font-size: .68rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  padding: 0 .7rem; margin-bottom: .4rem; white-space:nowrap; overflow:hidden;
}
.dashboard-luxury-sidebar[data-collapsed="true"] .sidebar-luxury-nav-section-label{ opacity:0; height:0; margin:0; }

.sidebar-luxury-nav-link{
  display:flex; align-items:center; gap: var(--spacing-sm);
  padding: .68rem .8rem; border-radius: var(--radius-sm);
  color: var(--ls-sidebar-text); font-size: var(--text-sm); font-weight:600;
  transition: var(--transition); position:relative; white-space:nowrap;
}
.sidebar-luxury-nav-link span{ overflow:hidden; text-overflow:ellipsis; }
.dashboard-luxury-sidebar[data-collapsed="true"] .sidebar-luxury-nav-link{ justify-content:center; padding:.68rem; }
.dashboard-luxury-sidebar[data-collapsed="true"] .sidebar-luxury-nav-link span,
.dashboard-luxury-sidebar[data-collapsed="true"] .sidebar-luxury-nav-badge{ display:none; }
.sidebar-luxury-nav-link i, .sidebar-luxury-nav-link .bi{ font-size:1.05rem; width:20px; text-align:center; color: var(--ls-sidebar-text-dim); transition: var(--transition); flex-shrink:0; }
.sidebar-luxury-nav-link:hover{ background: rgba(255,255,255,0.05); color:#fff; }
.sidebar-luxury-nav-link:hover i{ color: var(--ls-accent); }
.sidebar-luxury-nav-link.active{ background: var(--ls-sidebar-active); color:#fff; }
.sidebar-luxury-nav-link.active::before{
  content:""; position:absolute; right:-.5rem; top:20%; bottom:20%; width:3px; border-radius:2px;
  background: var(--ls-accent);
}
.sidebar-luxury-nav-link.active i{ color: var(--ls-accent); }
.sidebar-luxury-nav-badge{ margin-right:auto; background: var(--ls-accent); color: var(--ls-accent-contrast); font-size:.68rem; font-weight:700; padding:.1rem .5rem; border-radius: var(--radius-full); flex-shrink:0; }

/* ---- بطاقة المستخدم — مثبّتة أسفل الرف دائماً ---- */
.sidebar-luxury-footer{ flex-shrink:0; padding: var(--spacing-md); border-top: 1px solid var(--ls-sidebar-border); }
.sidebar-luxury-user{ display:flex; align-items:center; gap: var(--spacing-sm); background: rgba(255,255,255,0.04); padding: .6rem; border-radius: var(--radius-md); }
.sidebar-luxury-avatar{ width:38px; height:38px; border-radius:50%; background: var(--ls-accent); color: var(--ls-accent-contrast); display:flex; align-items:center; justify-content:center; font-weight:700; font-size:.8rem; flex-shrink:0; }
.sidebar-luxury-user-info{ min-width:0; overflow:hidden; }
.sidebar-luxury-user-info h4{ color:#fff; font-size: var(--text-sm); margin:0; font-family: var(--font-body); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sidebar-luxury-user-info p{ color: var(--ls-sidebar-text-dim); font-size: var(--text-xs); margin:0; white-space:nowrap; }
.dashboard-luxury-sidebar[data-collapsed="true"] .sidebar-luxury-user-info,
.dashboard-luxury-sidebar[data-collapsed="true"] .sidebar-luxury-footer .sidebar-luxury-nav-link span{ display:none; }
.dashboard-luxury-sidebar[data-collapsed="true"] .sidebar-luxury-user{ justify-content:center; }

/* ---- المنطقة الرئيسية + شريط علوي بأسلوب "مسار التنقّل" ---- */
.dashboard-luxury-main{ flex:1; min-width:0; }
.dashboard-luxury-topbar{
  display:flex; align-items:center; justify-content:space-between; gap: var(--spacing-md);
  padding: 0 var(--spacing-xl); height: 72px;
  background: var(--ls-surface); border-bottom: 1px solid var(--ls-border);
  position: sticky; top:0; z-index:30;
}
.dashboard-luxury-topbar-crumb{ display:flex; align-items:center; gap:.6rem; color: var(--ls-text-faint); font-size: var(--text-xs); font-weight:600; margin-bottom:.15rem; }
.dashboard-luxury-topbar-crumb i{ font-size:.65rem; }
.dashboard-luxury-topbar-title{ font-size: var(--text-xl); font-weight:700; margin:0; }
.dashboard-luxury-topbar-actions{ display:flex; align-items:center; gap: var(--spacing-sm); }
.dashboard-luxury-topbar-user{ display:flex; align-items:center; gap:.55rem; padding-right: var(--spacing-sm); border-right:1px solid var(--ls-border); }
.dashboard-luxury-topbar-user .avatar{ width:34px; height:34px; border-radius:50%; background: var(--ls-primary-soft); color: var(--ls-primary-text); display:flex; align-items:center; justify-content:center; font-weight:700; font-size:.75rem; }
.dashboard-luxury-topbar-user .name{ font-size: var(--text-sm); font-weight:700; line-height:1.2; }
.dashboard-luxury-topbar-user .role{ font-size: var(--text-xs); color: var(--ls-text-muted); }
.sidebar-mobile-toggle{
  display:none; width:42px; height:42px; border-radius: var(--radius-full);
  border:1px solid var(--ls-border); background: var(--ls-surface); color: var(--ls-text);
  align-items:center; justify-content:center; font-size:1.15rem; flex-shrink:0; cursor:pointer;
  transition: var(--transition);
}
.sidebar-mobile-toggle:hover{ border-color: var(--ls-accent); color: var(--ls-accent); }

.dashboard-luxury-content{ padding: var(--spacing-xl); }
.dashboard-luxury-header{ margin-bottom: var(--spacing-xl); }
.dashboard-luxury-header-content h1, .dashboard-luxury-header-content h2{ font-size: var(--text-2xl); font-weight:700; }
.dashboard-luxury-header-content p{ color: var(--ls-text-muted); margin-top:.3rem; }

@media (max-width: 980px){
  .dashboard-luxury-sidebar{
    position: fixed !important; right:0 !important; top:0 !important; height:100vh !important;
    transform: translateX(100%) !important; box-shadow: var(--ls-shadow-xl);
    width: var(--sidebar-w) !important; z-index: 210 !important;
    transition: transform var(--transition) !important;
  }
  body[data-sidebar-open] .dashboard-luxury-sidebar{ transform: translateX(0) !important; }

  /* على الموبايل، القائمة دائماً بالنص الكامل حتى لو كانت مطوية على شاشة الكمبيوتر */
  .dashboard-luxury-sidebar[data-collapsed="true"] .sidebar-luxury-nav-link{ justify-content:flex-start !important; padding: .68rem .8rem !important; }
  .dashboard-luxury-sidebar[data-collapsed="true"] .sidebar-luxury-nav-link span,
  .dashboard-luxury-sidebar[data-collapsed="true"] .sidebar-luxury-nav-badge{ display:inline-flex !important; }
  .dashboard-luxury-sidebar[data-collapsed="true"] .sidebar-luxury-nav-section-label{ opacity:1 !important; height:auto !important; margin-bottom:.4rem !important; }
  .dashboard-luxury-sidebar[data-collapsed="true"] .sidebar-luxury-user-info{ display:block !important; }
  .dashboard-luxury-sidebar[data-collapsed="true"] .sidebar-luxury-user{ justify-content:flex-start !important; }
  .sidebar-luxury-collapse-btn{ display:none !important; }

  body[data-sidebar-open]{ overflow: hidden; }
  .sidebar-overlay{ display:none; }
  body[data-sidebar-open] .sidebar-overlay{ display:block; position:fixed; inset:0; background: rgba(6,10,16,.55); z-index:205; }
  .dashboard-luxury-content{ padding: var(--spacing-md); }
  .dashboard-luxury-topbar{ padding: 0 var(--spacing-md); }
  .dashboard-luxury-topbar-user .name, .dashboard-luxury-topbar-user .role{ display:none; }
  .dashboard-luxury-topbar-crumb{ display:none; }
  .dashboard-luxury-topbar-title{ font-size: var(--text-base); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width: 40vw; }
  .sidebar-mobile-toggle{ display:inline-flex; }
}
@media (max-width: 420px){
  .dashboard-luxury-topbar-user{ display:none; }
}

/* ==========================================================================
   بطاقات المؤشرات (metric-luxury / metrics-luxury-grid)
   ========================================================================== */
.metrics-luxury-grid{ display:grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: var(--spacing-lg); margin-bottom: var(--spacing-xl); }
.metric-luxury-card{
  background: var(--ls-surface); border:1px solid var(--ls-border); border-radius: var(--radius-lg);
  padding: var(--spacing-lg); box-shadow: var(--ls-shadow-sm); transition: var(--transition);
}
.metric-luxury-card:hover{ box-shadow: var(--ls-shadow-md); transform: translateY(-2px); }
.metric-luxury-header{ display:flex; align-items:center; justify-content:space-between; margin-bottom: var(--spacing-md); }
.metric-luxury-icon{ width:48px; height:48px; border-radius: var(--radius-md); background: var(--ls-primary-soft); color: var(--ls-primary-text); display:flex; align-items:center; justify-content:center; font-size:1.25rem; }
.metric-luxury-body .metric-value, .metric-luxury-body h3{ font-size: var(--text-3xl); font-weight:700; font-family: var(--font-display); }
.metric-luxury-body .metric-label{ color: var(--ls-text-muted); font-size: var(--text-sm); }
.metric-luxury-trend{ font-size: var(--text-xs); font-weight:700; padding:.2rem .55rem; border-radius: var(--radius-full); }
.metric-luxury-trend.up{ background: var(--ls-success-soft); color: var(--ls-success); }
.metric-luxury-trend.down{ background: var(--ls-danger-soft); color: var(--ls-danger); }

/* ==========================================================================
   الجداول (table-luxury) وتجاوزات جدول بوتستراب
   ========================================================================== */
.table-luxury-container{ background: var(--ls-surface); border:1px solid var(--ls-border); border-radius: var(--radius-lg); overflow:hidden; box-shadow: var(--ls-shadow-sm); margin-bottom: var(--spacing-xl); }
.table-luxury-header{ display:flex; align-items:center; justify-content:space-between; padding: var(--spacing-md) var(--spacing-lg); border-bottom:1px solid var(--ls-border); background: var(--ls-surface-2); }
.table-luxury-title{ font-weight:700; font-size: var(--text-lg); margin:0; }
.table-luxury-body{ overflow-x:auto; }

.table-luxury, table.table, .table{ width:100%; border-collapse: collapse; font-size: var(--text-sm); color: var(--ls-text); }
.table-luxury thead th, table.table thead th, .table thead th{
  background: var(--ls-surface-2); color: var(--ls-text-muted); font-weight:700;
  text-align: right; padding: .9rem var(--spacing-md); border-bottom: 1px solid var(--ls-border);
  font-size: var(--text-xs); text-transform: uppercase; letter-spacing: .03em;
}
.table-luxury tbody td, table.table tbody td, .table tbody td{ padding: .9rem var(--spacing-md); border-bottom: 1px solid var(--ls-border); vertical-align: middle; }
.table-luxury tbody tr:hover, table.table tbody tr:hover, .table tbody tr:hover{ background: var(--ls-surface-2); }
.table-luxury tbody tr:last-child td, .table tbody tr:last-child td{ border-bottom:none; }
.table-borderless td, .table-borderless th{ border:0 !important; }
.table-sm td, .table-sm th{ padding: .55rem .7rem; }
.table-responsive{ overflow-x:auto; }

/* شارات الحالة */
.status-badge-luxury, .badge{
  display:inline-flex; align-items:center; gap:.35rem; font-weight:700; font-size: var(--text-xs);
  padding: .35rem .8rem; border-radius: var(--radius-full); border: 1px solid transparent;
}
.status-badge-luxury.status-pending, .status-pending{ background: var(--ls-warning-soft); color: var(--ls-warning); }
.status-badge-luxury.status-active, .status-active{ background: var(--ls-info-soft); color: var(--ls-info); }
.status-badge-luxury.status-completed, .status-completed{ background: var(--ls-success-soft); color: var(--ls-success); }
.status-badge-luxury.status-cancelled, .status-cancelled{ background: var(--ls-danger-soft); color: var(--ls-danger); }
.status-badge-luxury.status-success, .status-success{ background: var(--ls-success-soft); color: var(--ls-success); }
.status-badge-luxury.status-info, .status-info{ background: var(--ls-info-soft); color: var(--ls-info); }

/* أزرار الإجراءات المصغّرة في الجداول */
.action-buttons-luxury{ display:flex; gap:.4rem; }
.action-btn-luxury, .btn-view, .btn-edit, .btn-delete{
  width:34px; height:34px; border-radius: var(--radius-sm); display:inline-flex; align-items:center; justify-content:center;
  border:1px solid var(--ls-border); color: var(--ls-text-muted); transition: var(--transition); background: var(--ls-surface);
}
.action-btn-luxury:hover{ border-color: var(--ls-primary-text); color: var(--ls-primary-text); }
.btn-view:hover{ border-color: var(--ls-info); color: var(--ls-info); }
.btn-edit:hover{ border-color: var(--ls-accent-2); color: var(--ls-accent-2); }
.btn-delete:hover{ border-color: var(--ls-danger); color: var(--ls-danger); }

/* تنبيهات */
.alert-luxury, .alert{ padding: var(--spacing-md) var(--spacing-lg); border-radius: var(--radius-md); border:1px solid transparent; font-size: var(--text-sm); margin-bottom: var(--spacing-lg); }
.alert-success, .alert-luxury.success{ background: var(--ls-success-soft); color: var(--ls-success); border-color: color-mix(in srgb, var(--ls-success) 30%, transparent); }
.alert-danger, .alert-luxury.danger{ background: var(--ls-danger-soft); color: var(--ls-danger); border-color: color-mix(in srgb, var(--ls-danger) 30%, transparent); }
.alert-warning{ background: var(--ls-warning-soft); color: var(--ls-warning); }
.alert-info{ background: var(--ls-info-soft); color: var(--ls-info); }

/* شارة عدد الرسائل غير المقروءة فوق زر المحادثة */
.chat-unread-badge{
  position:absolute; top:-8px; left:-8px;
  background: var(--ls-danger); color:#fff; font-size:.68rem; font-weight:700;
  min-width:19px; height:19px; padding:0 4px; border-radius: var(--radius-full);
  display:inline-flex; align-items:center; justify-content:center;
  border:2px solid var(--ls-surface); line-height:1;
}

/* ==========================================================================
   تجاوزات بوتستراب العامة (Bootstrap 5 RTL) — لتوحيد الشكل داخل الصفحات
   الداخلية التي لم يُعد بناء الماركب فيها بعد
   ========================================================================== */
.card{ background: var(--ls-surface); border:1px solid var(--ls-border); border-radius: var(--radius-lg); box-shadow: var(--ls-shadow-sm); }
.card-body{ padding: var(--spacing-lg); }
.card-header{ background: var(--ls-surface-2); border-bottom:1px solid var(--ls-border); font-weight:700; }
.card-footer{ background: var(--ls-surface-2); border-top:1px solid var(--ls-border); }

.btn{ border-radius: var(--radius-sm); font-weight:600; transition: var(--transition); }
.btn-primary{ background: var(--ls-primary); border-color: var(--ls-primary); }
.btn-primary:hover, .btn-primary:focus{ background: var(--ls-primary-2); border-color: var(--ls-primary-2); }
.btn-success{ background: var(--ls-success); border-color: var(--ls-success); }
.btn-danger{ background: var(--ls-danger); border-color: var(--ls-danger); }
.btn-warning{ background: var(--ls-warning); border-color: var(--ls-warning); color:#fff; }
.btn-outline-primary{ color: var(--ls-primary-text); border-color: var(--ls-primary-text); }
.btn-outline-primary:hover{ background: var(--ls-primary); }
.btn-close{ filter: var(--bs-btn-close-filter, none); }
[data-theme="dark"] .btn-close:not(.btn-close-white){ filter: invert(1) grayscale(1); }

.modal-content{ background: var(--ls-surface); color: var(--ls-text); border-radius: var(--radius-lg); border:1px solid var(--ls-border); }
.modal-header, .modal-footer{ border-color: var(--ls-border); }

.nav-tabs{ border-bottom: 1px solid var(--ls-border); }
.nav-tabs .nav-link{ color: var(--ls-text-muted); border:none; border-bottom:2px solid transparent; font-weight:700; }
.nav-tabs .nav-link.active{ color: var(--ls-primary-text); background:transparent; border-bottom-color: var(--ls-accent); }

.dropdown-menu{ background: var(--ls-surface); border:1px solid var(--ls-border); box-shadow: var(--ls-shadow-md); }
.dropdown-item{ color: var(--ls-text); }
.dropdown-item:hover{ background: var(--ls-surface-2); }

.pagination .page-link{ background: var(--ls-surface); border-color: var(--ls-border); color: var(--ls-text); }
.pagination .page-item.active .page-link{ background: var(--ls-primary); border-color: var(--ls-primary); }

/* select2 (المستخدم في نماذج العميل/المحامي) */
.select2-container--default .select2-selection--single{ background: var(--ls-surface); border:1.5px solid var(--ls-border); border-radius: var(--radius-sm); height:auto; padding: .45rem .2rem; }
.select2-container--default .select2-selection--single .select2-selection__rendered{ color: var(--ls-text); }
.select2-dropdown{ background: var(--ls-surface); border-color: var(--ls-border); color: var(--ls-text); }
.select2-container--default .select2-results__option--highlighted[aria-selected]{ background: var(--ls-primary); }

/* حركة ختم بسيطة عند تحميل الصفحة الرئيسية */
@keyframes ls-stamp{
  0%{ transform: scale(2.2) rotate(-14deg); opacity:0; }
  55%{ transform: scale(0.94) rotate(2deg); opacity:1; }
  75%{ transform: scale(1.04) rotate(-1deg); }
  100%{ transform: scale(1) rotate(0deg); }
}
.ls-seal--stamp{ animation: ls-stamp .7s cubic-bezier(.2,.8,.3,1.2) both; }

@media print{
  .navbar-luxury, .footer-luxury, .dashboard-luxury-sidebar, .theme-toggle-btn{ display:none !important; }
}
