/* ════════════════════════════════════════════════════════════════════════
   Mokarrar PMS — Design Tokens (dynamic theming core)
   Default look matches codal: ink #323133 · accent (red) #c9253b
   Every color here is a CSS custom property; the Theme engine overrides changed
   ones inline (see partials/theme-vars.php) so the whole app re-skins from Settings.
   ════════════════════════════════════════════════════════════════════════ */

/* ── Global font: IRANSansX (moved from project root) ─────────────────── */
@font-face {
    font-family: 'IRANSansX';
    src: url('../fonts/IRANSansXVFont.woff2') format('woff2-variations'),
         url('../fonts/IRANSansXVFont.woff2') format('woff2');
    font-weight: 100 900;
    font-display: swap;
    font-style: normal;
}

:root {
    /* Brand */
    --ink: #323133;
    --ink-2: #4a4a4d;
    --accent: #c9253b;
    --accent-2: #e02a44;
    --accent-soft: rgba(201, 37, 59, .09);
    --accent-ring: rgba(201, 37, 59, .25);

    /* Surfaces */
    --bg: #f5f6f8;
    --surface: #ffffff;
    --surface-2: #fafbfc;
    --surface-3: #f1f3f5;
    --border: #e6e8ec;
    --border-strong: #d4d8de;

    /* Text */
    --text: #1f2024;
    --text-muted: #6b7180;
    --text-soft: #9aa0ad;
    --text-invert: #ffffff;

    /* Status */
    --success: #15803d;
    --success-soft: #e8f5ec;
    --warning: #b45309;
    --warning-soft: #fdf3e7;
    --info: #1d4ed8;
    --info-soft: #eaf0fe;
    --danger: #c9253b;
    --danger-soft: #fcebee;
    --neutral-soft: #eef0f3;

    /* Shape */
    --radius-sm: 7px;
    --radius: 11px;
    --radius-lg: 16px;
    --radius-pill: 999px;

    --shadow-xs: 0 1px 2px rgba(20, 22, 28, .05);
    --shadow-sm: 0 1px 3px rgba(20, 22, 28, .07), 0 1px 2px rgba(20, 22, 28, .04);
    --shadow: 0 4px 14px rgba(20, 22, 28, .08), 0 1px 3px rgba(20, 22, 28, .05);
    --shadow-lg: 0 18px 50px rgba(20, 22, 28, .16);

    --header-h: 64px;
    --sidebar-w: 264px;
    --container: 1240px;

    --font: 'IRANSansX', 'Segoe UI', Tahoma, sans-serif;
    --ease: cubic-bezier(.4, 0, .2, 1);
}

[data-theme='dark'] {
    --ink: #e8e9ec;
    --ink-2: #c4c6cc;
    --accent: #ef4860;
    --accent-2: #f15c72;
    --accent-soft: rgba(239, 72, 96, .14);
    --accent-ring: rgba(239, 72, 96, .35);

    --bg: #0e0f13;
    --surface: #17181e;
    --surface-2: #1c1e25;
    --surface-3: #23262e;
    --border: #2a2d36;
    --border-strong: #383c47;

    --text: #e8e9ec;
    --text-muted: #9aa0ad;
    --text-soft: #6b7180;
    --text-invert: #ffffff;

    --success: #34d399;
    --success-soft: rgba(52, 211, 153, .14);
    --warning: #fbbf24;
    --warning-soft: rgba(251, 191, 36, .14);
    --info: #60a5fa;
    --info-soft: rgba(96, 165, 250, .14);
    --danger: #f87171;
    --danger-soft: rgba(248, 113, 113, .14);
    --neutral-soft: #23262e;

    --shadow-xs: 0 1px 2px rgba(0, 0, 0, .4);
    --shadow-sm: 0 1px 3px rgba(0, 0, 0, .5);
    --shadow: 0 6px 20px rgba(0, 0, 0, .5);
    --shadow-lg: 0 24px 60px rgba(0, 0, 0, .6);
}
