/* ============================================================
   منولی — بازسازی UI (RECONSTRUCTION)
   tokens.css — تمام توکن‌های طراحی از @theme واقعی src/index.css
   (Source of Truth: ui-reverse-engineering/02_DESIGN_TOKENS.md)
   ============================================================ */

:root {
  /* --- رنگ‌ها (کپی حرف‌به‌حرف از @theme) --- */
  --color-surface: #000000;
  --color-inverse-surface: #e2e2e2;
  --color-on-primary: #2a3400;
  --color-outline: #8f9378;
  --color-on-error-container: #ffdad6;
  --color-primary-container: #caf300;
  --color-surface-container-highest: #222222;
  --color-surface-bright: #1A1A1A;
  --color-on-surface-variant: #C5C5C5;
  --color-background: #000000;
  --color-on-primary-container: #596c00;
  --color-outline-variant: #444932;
  --color-tertiary-container: #cde7f3;
  --color-secondary: #c6c6c7;
  --color-primary-fixed-dim: #b0d500;
  --color-secondary-fixed-dim: #c6c6c7;
  --color-surface-dim: #000000;
  --color-on-secondary: #2f3131;
  --color-on-tertiary-container: #506873;
  --color-tertiary: #ffffff;
  --color-secondary-fixed: #e2e2e2;
  --color-error-container: #93000a;
  --color-on-primary-fixed: #171e00;
  --color-on-tertiary: #1b343d;
  --color-primary: #d4ff00;
  --color-on-secondary-fixed: #1a1c1c;
  --color-surface-tint: #b0d500;
  --color-on-background: #e2e2e2;
  --color-surface-container-lowest: #000000;
  --color-tertiary-fixed: #cde7f3;
  --color-primary-fixed: #caf300;
  --color-tertiary-fixed-dim: #b1cad7;
  --color-on-surface: #e2e2e2;
  --color-on-secondary-container: #b4b5b5;
  --color-inverse-on-surface: #303030;
  --color-on-tertiary-fixed: #041e28;
  --color-on-primary-fixed-variant: #3e4c00;
  --color-surface-container-low: #0C0C0C;
  --color-surface-container-high: #2a2a2a;
  --color-secondary-container: #454747;
  --color-inverse-primary: #536600;
  --color-surface-container: #111111;
  --color-error: #ffb4ab;
  --color-surface-variant: #353535;
  --color-on-tertiary-fixed-variant: #324a54;
  --color-on-error: #690005;
  --color-on-secondary-fixed-variant: #454747;

  /* --- Spacing tokens --- */
  --spacing-margin-mobile: 1.25rem;   /* 20px */
  --spacing-stack-lg: 3rem;           /* 48px */
  --spacing-stack-sm: 0.5rem;         /* 8px  */
  --spacing-margin-desktop: 2.5rem;   /* 40px */
  --spacing-stack-md: 1.5rem;         /* 24px */
  --spacing-gutter: 1rem;             /* 16px */

  /* --- Spacing scale (Tailwind v4 dynamic: --spacing:.25rem) --- */
  --spacing: 0.25rem;

  /* --- Radius tokens --- */
  --radius-md: 0.375rem;
  --radius-lg: 0.5rem;
  --radius-xl: 0.75rem;
  --radius-2xl: 1rem;
  --radius-3xl: 1.5rem;

  /* --- Container scale --- */
  --container-xs: 20rem;  /* 320 */
  --container-sm: 24rem;  /* 384 */
  --container-md: 28rem;  /* 448 */
  --container-lg: 32rem;  /* 512 */
  --container-xl: 36rem;  /* 576 */
  --container-2xl: 42rem; /* 672 */
  --container-3xl: 48rem; /* 768 */
  --container-4xl: 56rem; /* 896 */
  --container-5xl: 64rem; /* 1024 */
  --container-7xl: 80rem; /* 1280 */

  /* --- Breakpoints (مطابق 40 §8) --- */
  --bp-sm: 40rem;   /* 640  */
  --bp-md: 48rem;   /* 768  */
  --bp-lg: 64rem;   /* 1024 */
  --bp-xl: 80rem;   /* 1280 */
}

/* ---------- Typography scale (کپی حرف‌به‌حرف index.css) ---------- */
.font-headline-xl { font-family: 'Vazirmatn', sans-serif; font-weight: 700; }
.text-headline-xl { font-size: 40px; line-height: 1.2; }

.font-headline-lg { font-family: 'Vazirmatn', sans-serif; font-weight: 700; }
.text-headline-lg { font-size: 32px; line-height: 1.2; }

.font-headline-sm { font-family: 'Vazirmatn', sans-serif; font-weight: 600; }
.text-headline-sm { font-size: 20px; line-height: 1.4; }

.font-body-lg { font-family: 'Vazirmatn', sans-serif; font-weight: 400; }
.text-body-lg { font-size: 18px; line-height: 1.6; }

.font-body-md { font-family: 'Vazirmatn', sans-serif; font-weight: 400; }
.text-body-md { font-size: 16px; line-height: 1.5; }

.font-label-lg { font-family: 'Vazirmatn', sans-serif; font-weight: 600; letter-spacing: 0.05em; }
.text-label-lg { font-size: 14px; line-height: 1; }

.font-display-lg {
  font-family: 'Vazirmatn', sans-serif;
  font-size: 64px;
  line-height: 1.1;
  letter-spacing: -0.02em;
  font-weight: 800;
}

/* ---------- کلاس‌های سفارشی پروژه ---------- */
.material-symbols-outlined {
  font-family: 'Material Symbols Outlined';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased;
}

.glowing-text { text-shadow: 0 0 20px rgba(212, 255, 0, 0.4); }

.glass-card {
  background: rgba(17, 17, 17, 0.8);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(212, 255, 0, 0.1);
  transition: all 0.3s ease;
}
.glass-card:hover {
  border-color: rgba(212, 255, 0, 0.3);
  box-shadow: 0 0 30px rgba(212, 255, 0, 0.05);
}

/* ---------- Light mode overrides (dead-CSS در اصل؛ برای fidelity حفظ شد) ---------- */
html.light body { background-color: #f8fafc; color: #0f172a; }
html.light .glass-card {
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(226, 232, 240, 0.9);
  box-shadow: 0 4px 20px -2px rgba(0, 0, 0, 0.05);
}
html.light ::-webkit-scrollbar-track { background: #f1f5f9; }
html.light ::-webkit-scrollbar-thumb { background: #cbd5e1; }
html.light ::-webkit-scrollbar-thumb:hover { background: #94a3b8; }

/* ---------- Scrollbar ---------- */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #000000; }
::-webkit-scrollbar-thumb { background: #222222; border-radius: 9999px; }
::-webkit-scrollbar-thumb:hover { background: #d4ff00; }

/* ---------- Print (فاکتور) ---------- */
@media print {
  @page { margin: 6mm; size: auto; }
  body {
    background-color: #ffffff !important;
    color: #000000 !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
  body * { visibility: hidden !important; }
  #invoice-print-area, #invoice-print-area * { visibility: visible !important; }
  #invoice-print-area {
    position: absolute !important;
    left: 0 !important; top: 0 !important;
    width: 100% !important; max-width: 100% !important;
    margin: 0 !important; padding: 0 !important;
    background: #ffffff !important; color: #000000 !important;
    border: none !important; box-shadow: none !important;
  }
  .print-hidden, .no-print { display: none !important; visibility: hidden !important; }
}
