/*
  Afrandeh Design System — CSS tokens
  منبع: برند بوک افرنده v2.0 (مهر ۱۴۰۵) — C:\Design Office\Brandbook\14050705
  مود روشن: صفحه #EBDDC5 · سطح/کارت/هدر #F5EAD8 · سطح نرم #E6D4BA · حاشیه #D9C7AB · تعاملی مسی #C67139 (متن #9A4F1F)
  مود تیره: صفحه #12141C · سطح #1A1D24 · سطح نرم #20242C · تعاملی آبی UI #0B6FCB (متن #5AA6EE)
  Primary blue #03B0F7 | Accent/Danger red #F33B4A | Warning yellow #FAC23A | Success green (derived)
  توکن‌های اصلی رنگ در design_handoff_afrandeh/tokens/colors.css (پروژه برند) — نسخه‌ی زیر مقادیر
  همان طیف OKLCH را به hex معادل ترجمه می‌کند تا با ساختار موجود این فایل سازگار بماند.
*/

:root {
    /* Brand — پالت "Organic" (docs/handoff_light_theme_colors.md) */
    --afr-brand-primary: #c67139;
    --afr-brand-primary-rgb: 198, 113, 57;
    --afr-brand-secondary: #7a8a5e;
    --afr-brand-secondary-rgb: 122, 138, 94;
    --afr-brand-accent: #f33b4a;
    --afr-brand-accent-rgb: 243, 59, 74;
    /* نسخه‌ی تیره‌شده برای حالت روشن — زرد اصلی برند (#fac23a) به‌عنوان متن/بوردر روی پس‌زمینه‌ی
       کرم/سفید تقریباً ناخوانا است (کنتراست ~1.6:1)؛ این مقدار ~7:1 است. حالت تاریک پایین‌تر زرد
       اصلی را نگه می‌دارد چون آنجا کنتراست کافی دارد. */
    --afr-brand-warning: #9a4f1f;
    --afr-brand-warning-rgb: 154, 79, 31;
    /* متن هشدار درون‌فرم (برند بوک ۶.۱) */
    --afr-warning-text: #6f310b;
    /* آبی رابط کاربری — اطلاعیه/لینک (برند بوک ۳)؛ آبی لوگو (#03B0F7) فقط برای خودِ نشان است */
    --afr-brand-info: #0b6fcb;
    --afr-brand-info-rgb: 11, 111, 203;
    --afr-brand-error: #f33b4a;
    --afr-brand-error-rgb: 243, 59, 74;
    --afr-brand-success: #1fa971;
    --afr-brand-success-rgb: 31, 169, 113;
    --afr-brand-on-primary: #ffffff;

    /* Spacing (base 4px) */
    --afr-space-1: 4px;
    --afr-space-2: 8px;
    --afr-space-3: 12px;
    --afr-space-4: 16px;
    --afr-space-5: 20px;
    --afr-space-6: 24px;
    --afr-space-8: 32px;
    --afr-space-10: 40px;
    --afr-space-12: 48px;
    --afr-space-16: 64px;

    /* Radius */
    --afr-radius-sm: 6px;
    --afr-radius-md: 10px;
    --afr-radius-lg: 14px;
    --afr-radius-xl: 20px;
    --afr-radius-pill: 999px;

    /* Shadow — ملایم */
    --afr-shadow-sm: 0 1px 2px rgba(var(--afr-brand-primary-rgb), 0.06);
    --afr-shadow-md: 0 4px 12px rgba(var(--afr-brand-primary-rgb), 0.08);
    --afr-shadow-lg: 0 12px 32px rgba(var(--afr-brand-primary-rgb), 0.12);

    /* Typography */
    --afr-font-family: "Vazirmatn", "Inter", "Segoe UI", Tahoma, sans-serif;
    /* تنظیمات نمایش قابل‌انتخاب کاربر (FontSettingsDialog) — این چهار مقدار، پیش‌فرض‌اند و به‌صورت
       inline style روی <html> توسط afrandehFont.js بازنویسی می‌شوند (نگاه کنید site.css برای مصرف). */
    --afr-font-family-menu: var(--afr-font-family);
    --afr-font-family-groupkind: var(--afr-font-family);
    --afr-font-scale: 100%;
    --afr-digit-font: 'AfrPersianDigits';
    --afr-font-size-xs: 0.75rem;
    --afr-font-size-sm: 0.875rem;
    --afr-font-size-md: 1rem;
    --afr-font-size-lg: 1.125rem;
    --afr-font-size-xl: 1.25rem;
    --afr-font-size-2xl: 1.5rem;
    --afr-line-height-tight: 1.35;
    --afr-line-height-normal: 1.5;

    /* Layout */
    --afr-content-max-width: 1440px;
    --afr-touch-min: 44px;
    --afr-breakpoint-mobile: 768px;
    --afr-appbar-height: 56px;
    --afr-drawer-width: 220px;

    /* Surfaces — Light (کرم گرم) */
    --afr-bg: #ebddc5;
    --afr-surface: #f5ead8;
    --afr-surface-muted: #e6d4ba;
    --afr-border: #d9c7ab;
    --afr-text: #201e1d;
    --afr-text-muted: #645c50;
    --afr-text-placeholder: #968d7f;

    /* Grid — برند بوک ۶.۴ */
    --afr-grid-header-bg: #e6d4ba;
    --afr-grid-row-bg: #f5ead8;
    --afr-grid-row-alt-bg: #efe3ce;

    /* Components — هم‌راستا با MudTheme (light/dark) */
    --afr-toolbar-bg: #efe3ce;
    --afr-tab-idle-bg: var(--mud-palette-background-gray);
    --afr-tab-idle-text: var(--mud-palette-text-secondary);
    --afr-tab-active-bg: rgba(var(--afr-brand-primary-rgb), 0.14);
    --afr-tab-active-border: var(--afr-brand-primary);
    --afr-tab-active-text: #9a4f1f;

    /* Chrome — AppBar / Drawer / Nav / Session (برند بوک ۹: سطوح تخت، بدون شفافیت/شیشه‌ای) */
    --afr-chrome-bg: #f5ead8;
    --afr-chrome-text: var(--afr-brand-primary);
    --afr-chrome-text-muted: #645c50;
    --afr-chrome-border: #d9c7ab;
    --afr-chrome-icon: #474238;
    --afr-chrome-divider: rgba(var(--afr-brand-primary-rgb), 0.12);
    --afr-nav-text: #645c50;
    --afr-nav-icon: #82796a;
    --afr-nav-hover-bg: #efe3ce;
    --afr-nav-active-bg: rgba(var(--afr-brand-primary-rgb), 0.14);
    --afr-nav-active-text: #9a4f1f;
    --afr-nav-active-border: var(--afr-brand-primary);
    --afr-nav-group-title: #645c50;
    --afr-session-pill-bg: color-mix(in srgb, var(--afr-brand-primary) 8%, #f5ead8);
    --afr-session-pill-border: color-mix(in srgb, var(--afr-brand-primary) 22%, #dcd3c4);
    --afr-session-label: #645c50;
    --afr-session-value: var(--afr-brand-primary);
    --afr-user-name: #201e1d;
    --afr-user-code: #645c50;
    --afr-tab-bar-bg: #f5ead8;

    /* Feedback */
    --afr-snackbar-duration: 1000ms;

    /* Grid — سطر انتخاب/فوکوس‌شده (رنگ از Accounting.razor.css گرفته شده تا در کل پروژه یکسان باشد) */
    --afr-row-selected-border: #c67139;
    --afr-row-selected-bg: rgba(198, 113, 57, 0.14);
}

.mud-theme-dark,
html[data-theme="dark"],
html.mud-theme-dark {
    /* برند بوک ۶.۱: رنگ تعاملی مود تیره آبی رابط کاربری است، نه مسی */
    --afr-brand-primary: #0b6fcb;
    --afr-brand-primary-rgb: 11, 111, 203;
    --afr-brand-warning: #fac23a;
    --afr-brand-warning-rgb: 250, 194, 58;
    --afr-warning-text: #f2f2f4;
    --afr-brand-info: #5aa6ee;
    --afr-brand-info-rgb: 90, 166, 238;

    --afr-bg: #12141c;
    --afr-surface: #1a1d24;
    --afr-surface-muted: #20242c;
    --afr-border: rgba(255, 255, 255, 0.08);
    --afr-text: #f2f2f4;
    --afr-text-muted: #9ea3ab;
    --afr-text-placeholder: #6a6f78;

    --afr-grid-header-bg: #20242c;
    --afr-grid-row-bg: #1a1d24;
    --afr-grid-row-alt-bg: rgba(255, 255, 255, 0.035);

    --afr-toolbar-bg: #20242c;
    --afr-tab-idle-bg: rgba(255, 255, 255, 0.06);
    --afr-tab-idle-text: #9ea3ab;
    --afr-tab-active-bg: rgba(12, 114, 203, 0.18);
    --afr-tab-active-border: #0b6fcb;
    --afr-tab-active-text: #5aa6ee;

    --afr-chrome-bg: #1a1d24;
    --afr-chrome-text: #f2f2f4;
    --afr-chrome-text-muted: #9ea3ab;
    --afr-chrome-border: rgba(255, 255, 255, 0.08);
    --afr-chrome-icon: #c9ccd2;
    --afr-chrome-divider: rgba(255, 255, 255, 0.12);
    --afr-nav-text: #9ea3ab;
    --afr-nav-icon: #9ea3ab;
    --afr-nav-hover-bg: rgba(255, 255, 255, 0.06);
    --afr-nav-active-bg: rgba(12, 114, 203, 0.18);
    --afr-nav-active-text: #5aa6ee;
    --afr-nav-active-border: #5aa6ee;
    --afr-nav-group-title: #9ea3ab;
    --afr-session-pill-bg: rgba(11, 111, 203, 0.14);
    --afr-session-pill-border: rgba(11, 111, 203, 0.30);
    --afr-session-label: #9ea3ab;
    --afr-session-value: #5aa6ee;
    --afr-user-name: #f2f2f4;
    --afr-user-code: #9ea3ab;
    --afr-tab-bar-bg: #1a1d24;

    --afr-shadow-sm: 0 1px 4px rgba(0, 0, 0, 0.35);
    --afr-shadow-md: 0 10px 28px rgba(0, 0, 0, 0.4);
    --afr-shadow-lg: 0 16px 44px rgba(0, 0, 0, 0.45);

    --afr-row-selected-border: #5aa6ee;
    --afr-row-selected-bg: rgba(12, 114, 203, 0.16);
}

/* ===== لوگو وابسته به تم (برند بوک v2.0 بخش ۲) =====
   روی سطح روشن فقط نسخه‌ی روشن (واژه‌نگاره تیره #201E1D)؛ روی سطح تیره نسخه‌ی اصلی (واژه‌نگاره سفید).
   هر دو <img> در markup هستند و این کلاس‌ها بر اساس html[data-theme] یکی را پنهان می‌کنند. */
.afr-logo--dark-only {
    display: none !important;
}

html[data-theme="dark"] .afr-logo--dark-only,
html.mud-theme-dark .afr-logo--dark-only {
    display: inline-block !important;
}

html[data-theme="dark"] .afr-logo--light-only,
html.mud-theme-dark .afr-logo--light-only {
    display: none !important;
}

/* مود تیره: آبی #0B6FCB برای دکمه‌ی پر مناسب است اما به‌عنوان متن روی #12141C کنتراست کمی دارد؛
   برند بوک ۶.۱/۶.۲ برای متن/آیکون تعاملی تن روشن‌تر #5AA6EE را تعیین کرده است. */
html[data-theme="dark"] .mud-primary-text,
html[data-theme="dark"] .mud-button-text.mud-button-text-primary,
html[data-theme="dark"] .mud-button-outlined.mud-button-outlined-primary {
    color: #5aa6ee !important;
}

html[data-theme="dark"] .mud-button-outlined.mud-button-outlined-primary {
    border-color: rgba(90, 166, 238, 0.5) !important;
}

/* Utilities tied to tokens */
.afr-page {
    color: var(--afr-text);
    font-family: var(--afr-font-family);
}

.afr-content-shell {
    max-width: var(--afr-content-max-width);
    margin-inline: auto;
    width: 100%;
}

@media (max-width: 768px) {
    .afr-page-padding {
        padding: var(--afr-space-2);
    }
}

@media (min-width: 769px) {
    .afr-page-padding {
        padding: var(--afr-space-4);
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* سطر انتخاب/فوکوس‌شده‌ی گریدها (MudTable/MudDataGrid/AfrandDataGrid) — سراسری، هم‌راستا با هر دو تم */
.afr-grid-row--selected {
    background: var(--afr-row-selected-bg) !important;
    outline: 2px solid var(--afr-row-selected-border);
    outline-offset: -2px;
}

/* =====================================================================================================
   ترکیب‌های رنگی انتخابی کاربر (منوی تم هدر) — html[data-palette="..."]
   «روشن» و «تیره»ی اصلی دست‌نخورده‌اند (بلوک‌های بالا)؛ هر ترکیب روی پایه‌ی روشن یا تیره سوار می‌شود
   (data-theme همچنان light/dark است تا CSS صفحه‌ها که به آن وابسته‌اند درست کار کنند) و فقط توکن‌ها را
   عوض می‌کند. مقدارهای MudBlazor معادل در Afrandeh.UI.Shared/Theme/AfrandehTheme.cs (Palettes) است —
   هر دو باید با هم عوض شوند. رنگ‌ها از پالت‌های مرجع انتخاب‌شده توسط مدیر؛ کنتراست متن/دکمه ≥ 4.5:1.

   هر ترکیب فقط «ورودی»ها را می‌گذارد (primary / accent-text / chrome-title / سطوح / متن)؛ بقیه‌ی توکن‌ها
   در بلوک عمومی html[data-palette] از روی همین ورودی‌ها ساخته می‌شوند.
   ===================================================================================================== */
html[data-palette] {
    --afr-grid-header-bg: var(--afr-surface-muted);
    --afr-grid-row-bg: var(--afr-surface);
    --afr-toolbar-bg: var(--afr-surface-muted);
    --afr-tab-active-bg: rgba(var(--afr-brand-primary-rgb), 0.16);
    --afr-tab-active-border: var(--afr-accent-text);
    --afr-tab-active-text: var(--afr-accent-text);

    --afr-chrome-bg: var(--afr-surface);
    --afr-chrome-text: var(--afr-chrome-title);
    --afr-chrome-text-muted: var(--afr-text-muted);
    --afr-chrome-border: var(--afr-border);
    --afr-chrome-icon: var(--afr-text-muted);
    --afr-chrome-divider: rgba(var(--afr-brand-primary-rgb), 0.16);
    --afr-nav-text: var(--afr-text-muted);
    --afr-nav-icon: var(--afr-text-muted);
    --afr-nav-hover-bg: var(--afr-surface-muted);
    --afr-nav-active-bg: rgba(var(--afr-brand-primary-rgb), 0.16);
    --afr-nav-active-text: var(--afr-accent-text);
    --afr-nav-active-border: var(--afr-accent-text);
    --afr-nav-group-title: var(--afr-text-muted);
    --afr-session-pill-bg: rgba(var(--afr-brand-primary-rgb), 0.12);
    --afr-session-pill-border: rgba(var(--afr-brand-primary-rgb), 0.30);
    --afr-session-label: var(--afr-text-muted);
    --afr-session-value: var(--afr-accent-text);
    --afr-user-name: var(--afr-text);
    --afr-user-code: var(--afr-text-muted);
    --afr-tab-bar-bg: var(--afr-surface);

    --afr-row-selected-border: var(--afr-accent-text);
    --afr-row-selected-bg: rgba(var(--afr-brand-primary-rgb), 0.16);
}

/* شکوفه — پاستلی گرم (هلویی/کرم + آبی بنفش) · روشن */
html[data-palette="blossom"] {
    --afr-brand-primary: #526ca6;
    --afr-brand-primary-rgb: 82, 108, 166;
    --afr-brand-secondary: #c4778c;
    --afr-brand-secondary-rgb: 196, 119, 140;
    --afr-brand-warning: #9a5b12;
    --afr-brand-warning-rgb: 154, 91, 18;
    --afr-warning-text: #5e3608;
    --afr-brand-info: #3f5688;
    --afr-brand-info-rgb: 63, 86, 136;
    --afr-accent-text: #3f5688;
    --afr-chrome-title: #3f5688;

    --afr-bg: #f6e6d6;
    --afr-surface: #fdf3e8;
    --afr-surface-muted: #f8e5d0;
    --afr-border: #e6cdb4;
    --afr-text: #3b2f33;
    --afr-text-muted: #6f5a60;
    --afr-text-placeholder: #a38e94;
    --afr-grid-row-alt-bg: #faebdb;
}

/* تالاب — نیلی/آبی/فیروزه‌ای با زمینه‌ی سبز روشن · روشن */
html[data-palette="lagoon"] {
    --afr-brand-primary: #4d52b4;
    --afr-brand-primary-rgb: 77, 82, 180;
    --afr-brand-secondary: #2e9c8b;
    --afr-brand-secondary-rgb: 46, 156, 139;
    --afr-brand-warning: #946200;
    --afr-brand-warning-rgb: 148, 98, 0;
    --afr-warning-text: #5e3d00;
    --afr-brand-info: #2b7fd0;
    --afr-brand-info-rgb: 43, 127, 208;
    --afr-accent-text: #3b3f9a;
    --afr-chrome-title: #3b3f9a;

    --afr-bg: #e8f1dc;
    --afr-surface: #f4f9ec;
    --afr-surface-muted: #e1edd4;
    --afr-border: #c5dcb5;
    --afr-text: #1c2040;
    --afr-text-muted: #4a5272;
    --afr-text-placeholder: #8189a6;
    --afr-grid-row-alt-bg: #edf5e3;
}

/* دارچین و دریا — نارنجی‌قرمز + سبز دریایی روی کرم خنثی · روشن */
html[data-palette="spice"] {
    --afr-brand-primary: #c84a2b;
    --afr-brand-primary-rgb: 200, 74, 43;
    --afr-brand-secondary: #2f9c88;
    --afr-brand-secondary-rgb: 47, 156, 136;
    --afr-brand-warning: #946200;
    --afr-brand-warning-rgb: 148, 98, 0;
    --afr-warning-text: #5e3d00;
    --afr-brand-info: #2f9c88;
    --afr-brand-info-rgb: 47, 156, 136;
    --afr-accent-text: #a63a1f;
    --afr-chrome-title: #a63a1f;

    --afr-bg: #f3ece5;
    --afr-surface: #faf6f1;
    --afr-surface-muted: #e9dacd;
    --afr-border: #d8c9bb;
    --afr-text: #2f2924;
    --afr-text-muted: #6b5f55;
    --afr-text-placeholder: #9c9186;
    --afr-grid-row-alt-bg: #f6efe8;
}

/* توت — شرابی/بنفش‌صورتی + آبی · روشن */
html[data-palette="berry"] {
    --afr-brand-primary: #934372;
    --afr-brand-primary-rgb: 147, 67, 114;
    --afr-brand-secondary: #536ca5;
    --afr-brand-secondary-rgb: 83, 108, 165;
    --afr-brand-warning: #9a5b12;
    --afr-brand-warning-rgb: 154, 91, 18;
    --afr-warning-text: #5e3608;
    --afr-brand-info: #536ca5;
    --afr-brand-info-rgb: 83, 108, 165;
    --afr-brand-error: #c0283a;
    --afr-brand-error-rgb: 192, 40, 58;
    --afr-accent-text: #7a3560;
    --afr-chrome-title: #7a3560;

    --afr-bg: #f5e6ee;
    --afr-surface: #fbf1f6;
    --afr-surface-muted: #f0dbe6;
    --afr-border: #dfc0d2;
    --afr-text: #2d1a26;
    --afr-text-muted: #6b4f60;
    --afr-text-placeholder: #a58a99;
    --afr-grid-row-alt-bg: #f8e9f0;
}

/* نیمه‌شب — سرمه‌ای/بنفش خاکستری روی مشکی آبی · تیره */
html[data-palette="midnight"] {
    --afr-brand-primary: #3d5387;
    --afr-brand-primary-rgb: 61, 83, 135;
    --afr-brand-secondary: #bfa9ba;
    --afr-brand-secondary-rgb: 191, 169, 186;
    --afr-brand-info: #9aa3d6;
    --afr-brand-info-rgb: 154, 163, 214;
    --afr-accent-text: #aab3e3;
    --afr-chrome-title: #ece8f2;

    --afr-bg: #0e0d15;
    --afr-surface: #141932;
    --afr-surface-muted: #182346;
    --afr-border: rgba(191, 169, 186, 0.16);
    --afr-text: #ece8f2;
    --afr-text-muted: #a7a3bd;
    --afr-text-placeholder: #6f6c88;
    --afr-grid-row-alt-bg: rgba(191, 169, 186, 0.04);
    --afr-tab-idle-bg: rgba(191, 169, 186, 0.08);
    --afr-tab-idle-text: #a7a3bd;
    --afr-chrome-icon: #c9c6d8;
    --afr-nav-hover-bg: rgba(191, 169, 186, 0.08);
}

/* بلوک‌های «متن/آیکون تعاملی» مود تیره‌ی اصلی رنگ #5aa6ee را اجباری می‌کنند؛ برای نیمه‌شب به رنگ تأکید خودش */
html[data-palette="midnight"] .mud-primary-text,
html[data-palette="midnight"] .mud-button-text.mud-button-text-primary,
html[data-palette="midnight"] .mud-button-outlined.mud-button-outlined-primary {
    color: var(--afr-accent-text) !important;
}

html[data-palette="midnight"] .mud-button-outlined.mud-button-outlined-primary {
    border-color: rgba(170, 179, 227, 0.5) !important;
}
