/* ==========================================================================
   پل توکن پنل — D8.1 / D8.2 / D4.4
   پنل و سایت از یک پالت واحد تغذیه می‌شوند: مقادیر از
   website/assets/css/dentival-tokens.css می‌آیند و اینجا فقط نگاشت می‌شوند.

   دو تصمیم که ظاهر عجیبِ این فایل را توضیح می‌دهند:

   ۱) هر توکن یک مقدار پشتیبان دارد، چون مسیر /site-assets فقط در حالت
      cloud مِنت می‌شود (src/main.ts) و در نصب محلی dentival-tokens.css در دسترس
      نیست. بدون پشتیبان، پنلِ محلی تمام رنگش را از دست می‌داد.

   ۲) نگاشت روی لایهٔ «پریمیتیو» (--c-*) است نه نقش‌های معنایی (--color-*)،
      چون dentival-tokens.css در دارک‌مود نقش‌ها را بازتعریف می‌کند ولی پریمیتیوها
      را دست نمی‌زند. پنل هنوز دارک‌مود ندارد (D8.5) و ۳۸۱۶ رنگ سختِ روشن
      دارد؛ چرخش نقش‌ها پنل را نیم‌تیره و کنتراست‌شکسته می‌کرد.
      با آمدن D8.5 همین یک فایل به --color-* منتقل می‌شود و کل پنل دنبالش می‌آید.
   ========================================================================== */

/* قلم واحد محصول (D4.4) اکنون تنها در fonts.css تعریف می‌شود و از قالب لینک می‌شود؛ اینجا تکرار نمی‌شود */

:root {
  /* ---------- برند: سبز-زمردی؛ جایگزین آبی مستقل پنل ---------- */
  --dv-brand: var(--c-brand-600, #2a6055);
  --dv-brand-hover: var(--c-brand-700, #204c44);
  --dv-brand-active: var(--c-brand-800, #1a3d37);
  --dv-brand-mid: var(--c-brand-500, #3b7a6c);
  --dv-brand-light: var(--c-brand-300, #8fbdb2);
  --dv-brand-border: var(--c-brand-200, #bbd8d1);
  --dv-brand-soft: var(--c-brand-100, #ddece8);
  --dv-brand-subtle: var(--c-brand-50, #f2f8f6);
  /* عمیق‌ترین پلهٔ برند — جداکنندهٔ تیره داخل چیپ/کنترل */
  --dv-brand-ink: var(--c-brand-900, #142f2b);

  /* ---------- تأکید گرم: فقط نشان و برجسته‌سازی کوچک ---------- */
  --dv-accent: var(--c-accent-500, #b4682e);
  --dv-accent-ink: var(--c-accent-600, #94531f);
  --dv-accent-border: var(--c-accent-200, #efc9a5);
  --dv-accent-subtle: var(--c-accent-50, #fdf5ee);

  /* ---------- خنثی‌ها ---------- */
  --dv-n-0: var(--c-n-0, #ffffff);
  --dv-n-25: var(--c-n-25, #fbfcfc);
  --dv-n-50: var(--c-n-50, #f6f8f8);
  --dv-n-100: var(--c-n-100, #eef2f1);
  --dv-n-200: var(--c-n-200, #e2e8e7);
  --dv-n-300: var(--c-n-300, #c9d2d1);
  --dv-n-400: var(--c-n-400, #97a5a3);
  --dv-n-500: var(--c-n-500, #6b7a78);
  --dv-n-600: var(--c-n-600, #4d5b59);
  --dv-n-700: var(--c-n-700, #384442);
  --dv-n-800: var(--c-n-800, #232e2c);
  /* فقط داخل بلوکِ prefers-color-scheme چارت دندان استفاده می‌شود */
  --dv-n-850: var(--c-n-850, #1c2725);
  --dv-n-900: var(--c-n-900, #121b1a);

  /* ---------- وضعیت‌ها ---------- */
  --dv-success: var(--c-success-600, #1f7a4d);
  --dv-success-ink: var(--c-success-700, #17603c);
  --dv-success-border: var(--c-success-200, #bfe3ce);
  --dv-success-surface: var(--c-success-50, #eef8f2);

  --dv-warn: var(--c-warn-600, #8a6212);
  --dv-warn-ink: var(--c-warn-900, #3a2b0b);
  --dv-warn-border: var(--c-warn-200, #f2ddab);
  --dv-warn-surface: var(--c-warn-50, #fdf6e7);

  --dv-danger: var(--c-danger-600, #a72f2f);
  --dv-danger-ink: var(--c-danger-700, #862626);
  --dv-danger-border: var(--c-danger-200, #f3c9c9);
  --dv-danger-surface: var(--c-danger-50, #fdf1f1);

  --dv-info: var(--c-info-600, #2a5f8a);
  --dv-info-ink: var(--c-info-900, #143049);
  --dv-info-border: var(--c-info-200, #c8dcec);
  --dv-info-surface: var(--c-info-50, #eff5fa);

  /* ---------- نقش‌های سطح و متن ---------- */
  --dv-page: var(--dv-n-50);
  --dv-surface: var(--dv-n-0);
  --dv-surface-sunken: var(--dv-n-100);
  --dv-text: var(--dv-n-800);
  --dv-text-strong: var(--dv-n-900);
  /* کم‌رنگ = n-600؛ n-500 روی سطح روشن ۴٫۴۹ است و حد AA را رد می‌کند */
  --dv-text-muted: var(--dv-n-600);
  --dv-text-inverse: var(--dv-n-0);
  /* فقط آیکن و نشانهٔ تزئینی (حد ۳:۱)؛ روی متن معمولی استفاده نشود */
  --dv-icon-subtle: var(--dv-n-500);
  --dv-border: var(--dv-n-200);
  --dv-border-strong: var(--dv-n-300);
  --dv-border-subtle: var(--dv-n-100);
  /* لبهٔ کنترل‌های تعاملی (ورودی، دکمهٔ خط‌دار، سلکت). جدا از border-strong است
     چون WCAG 1.4.11 برای مرز اجزای رابط ۳:۱ می‌خواهد و n-300 روی سفید ۱٫۵۴ است */
  --dv-control-border: var(--dv-n-500);

  /* روی زمینهٔ برند (سایدبار، هدر، هد مودال): متن سفید و متنِ کم‌رنگِ خوانا */
  --dv-on-brand: var(--dv-n-0);
  /* brand-200 روی brand-600 حدود ۴٫۹ است — همان کنتراستِ سفیدِ ۸۰٪ ولی توکن‌پذیر */
  --dv-on-brand-muted: var(--c-brand-200, #bbd8d1);

  /* شیار اسکرول‌بار/نوار پیشرفت و اسکلتِ بارگذاری */
  --dv-track: var(--dv-n-200);
  --dv-skeleton: var(--dv-n-100);
  --dv-skeleton-highlight: var(--dv-n-200);

  /* حلقهٔ فوکوس روی مقدار روشنِ dentival-tokens.css پین شده؛ نسخهٔ دارکش برای پنلِ
     روشن بی‌رمق می‌شد. تنها rgba این فایل، هم‌مقدار --focus-ring سایت */
  --dv-focus: var(--dv-brand-mid);
  --dv-focus-ring: 0 0 0 3px rgba(59, 122, 108, 0.32);
  --dv-focus-ring-offset: 2px;

  /* ---------- تایپوگرافی ---------- */
  --dv-font-sans: var(--font-sans, 'Vazirmatn', 'Segoe UI', Tahoma, system-ui, sans-serif);
  --dv-fs-2xs: var(--fs-2xs, 0.75rem);
  --dv-fs-xs: var(--fs-xs, 0.8125rem);
  --dv-fs-sm: var(--fs-sm, 0.875rem);
  --dv-fs-md: var(--fs-md, 0.9375rem);
  --dv-fs-base: var(--fs-base, 1rem);
  --dv-fs-lg: var(--fs-lg, 1.125rem);
  --dv-fs-xl: var(--fs-xl, 1.25rem);
  --dv-fs-2xl: var(--fs-2xl, 1.5rem);
  --dv-fw-regular: var(--fw-regular, 400);
  --dv-fw-medium: var(--fw-medium, 500);
  --dv-fw-bold: var(--fw-bold, 700);
  --dv-lh-tight: var(--lh-tight, 1.35);
  --dv-lh-heading: var(--lh-heading, 1.5);
  --dv-lh-body: var(--lh-body, 1.8);

  /* ---------- فاصله، شعاع، حرکت ---------- */
  --dv-sp-1: var(--sp-1, 0.25rem);
  --dv-sp-2: var(--sp-2, 0.5rem);
  --dv-sp-3: var(--sp-3, 0.75rem);
  --dv-sp-4: var(--sp-4, 1rem);
  --dv-sp-5: var(--sp-5, 1.25rem);
  --dv-sp-6: var(--sp-6, 1.5rem);
  --dv-sp-8: var(--sp-8, 2rem);
  --dv-sp-10: var(--sp-10, 2.5rem);
  --dv-radius-sm: var(--radius-sm, 6px);
  --dv-radius-md: var(--radius-md, 8px);
  --dv-radius-lg: var(--radius-lg, 10px);
  --dv-radius-xl: var(--radius-xl, 12px);
  --dv-dur-fast: var(--dur-fast, 120ms);
  --dv-dur-base: var(--dur-base, 180ms);
  --dv-ease-out: var(--ease-out, cubic-bezier(0.22, 0.61, 0.36, 1));
}

/* سایه‌ها هم مثل --dv-focus-ring روی مقدار روشنِ dentival-tokens.css پین شده‌اند و
   عمداً var() نیستند: نسخهٔ دارکِ --shadow-* آلفای ۰٫۵ دارد و اگر سیستمِ
   کاربر تیره باشد، پنلِ روشن سایه‌های سیاه و سنگین می‌گرفت. با آمدن D8.5
   این چهار خط هم به var(--shadow-*) منتقل می‌شوند. */
:root {
  --dv-shadow-xs: 0 1px 2px rgba(18, 27, 26, 0.04);
  --dv-shadow-sm: 0 1px 3px rgba(18, 27, 26, 0.06), 0 1px 2px rgba(18, 27, 26, 0.04);
  --dv-shadow-md: 0 4px 12px rgba(18, 27, 26, 0.06);
  --dv-shadow-lg: 0 10px 28px rgba(18, 27, 26, 0.08);
}

/* مقادیر نیم‌شفاف (D8.3) — این‌ها هم مثل چهار سایهٔ بالا عمداً پین‌اند نه var():
   نقش‌های نیم‌شفافِ dentival-tokens.css (--color-inverse-*، --color-overlay-*) در دارک‌مود
   می‌چرخند و پنلِ روشن را نیم‌تیره می‌کردند. با آمدن D8.5 همین بلوک به آن نقش‌ها
   منتقل می‌شود و بقیهٔ پنل دنبالش می‌آید. */
:root {
  /* سطح و لبه روی زمینهٔ برند */
  --dv-on-brand-surface: rgba(255, 255, 255, 0.1);
  --dv-on-brand-surface-hover: rgba(255, 255, 255, 0.18);
  --dv-on-brand-border: rgba(255, 255, 255, 0.35);
  /* لبهٔ کنترل روی برند باید ۳:۱ باشد؛ ۰٫۳۵ روی brand-600 فقط ۲٫۶ می‌داد */
  --dv-on-brand-border-strong: rgba(255, 255, 255, 0.55);

  /* سطح شیشه‌ای روی زمینهٔ رنگی، و پوششِ سفیدِ لودینگ */
  --dv-glass: rgba(255, 255, 255, 0.5);
  --dv-glass-strong: rgba(255, 255, 255, 0.7);
  --dv-scrim: rgba(255, 255, 255, 0.88);
  --dv-scrim-strong: rgba(255, 255, 255, 0.95);

  /* بک‌دراپِ تیره — سه پله: dim ملایم، off-canvas، مودالِ تمام‌صفحه */
  --dv-backdrop-soft: rgba(18, 27, 26, 0.18);
  --dv-backdrop: rgba(18, 27, 26, 0.45);
  --dv-backdrop-strong: rgba(18, 27, 26, 0.78);

  /* مرکّبِ سایه، برای سایه‌هایی که هندسهٔ ویژه دارند و در مقیاس --dv-shadow-* نمی‌گنجند */
  --dv-shadow-ink-soft: rgba(18, 27, 26, 0.05);
  --dv-shadow-ink: rgba(18, 27, 26, 0.1);
  --dv-shadow-ink-strong: rgba(18, 27, 26, 0.18);
  --dv-shadow-ink-deep: rgba(18, 27, 26, 0.3);
  /* هالهٔ رنگی زیر هدر/دکمهٔ برند — ته‌رنگش با برندِ سبز عوض شد، نه با نیلیِ قبلی */
  --dv-shadow-brand: rgba(42, 96, 85, 0.35);
  --dv-shadow-brand-strong: rgba(42, 96, 85, 0.55);
  --dv-shadow-success: rgba(31, 122, 77, 0.35);
}

/* رمزگذاریِ وضعیت دندان (D8.3) — عمداً روی پریمیتیو بسته شده و **هرگز** بخشی از
   پالتِ کلینیک (P2) نیست: این‌ها معنای بالینی‌اند نه سلیقهٔ برند. اگر با تمِ کلینیک
   می‌چرخیدند، «سالم» یک کلینیک می‌توانست رنگِ «پوسیده»ی کلینیک دیگر شود.

   هر وضعیت دو پله دارد: `-surface` تهٔ رنگِ روشن برای پُرکردنِ بدنهٔ دندان و
   `-ink` رنگِ اشباعِ لبه و نمونهٔ راهنما. پُرِ روشن لازم است چون شمارهٔ دندان
   داخل خودِ شکل نوشته می‌شود؛ با پُرِ اشباعِ قبلی، شمارهٔ «عصب‌کشی» ۱٫۷۴:۱ بود.

   ریشه/ایمپلنت پریمیتیو ندارند (پالت Dentival بنفش و فیروزه‌ای ندارد) و تنها
   مقادیر پین‌شدهٔ این بلوک‌اند؛ بقیه از --c-* می‌آیند. */
:root {
  --dv-tooth-healthy-surface: var(--c-success-50, #eef8f2);
  --dv-tooth-healthy-ink: var(--c-success-600, #1f7a4d);

  --dv-tooth-cavity-surface: var(--c-danger-50, #fdf1f1);
  --dv-tooth-cavity-ink: var(--c-danger-600, #a72f2f);

  --dv-tooth-filled-surface: var(--c-info-50, #eff5fa);
  --dv-tooth-filled-ink: var(--c-info-600, #2a5f8a);

  --dv-tooth-crown-surface: var(--c-warn-50, #fdf6e7);
  --dv-tooth-crown-ink: var(--c-warn-600, #8a6212);

  --dv-tooth-extracted-surface: var(--c-n-100, #eef2f1);
  --dv-tooth-extracted-ink: var(--c-n-600, #4d5b59);

  /* بنفشِ عصب‌کشی — بدونِ پریمیتیو، پس پین‌شده */
  --dv-tooth-endo-surface: #f4eef8;
  --dv-tooth-endo-ink: #6b3d8f;

  /* فیروزه‌ایِ ایمپلنت — بدونِ پریمیتیو، پس پین‌شده */
  --dv-tooth-implant-surface: #e9f4f7;
  --dv-tooth-implant-ink: #0f6b73;
}
