/* ============================================================
   گارسونت — Garsonet · AI Restaurant OS
   Brand v2 — Orange-primary, lime-green AI, flat charcoal.
   No gradients · no glassmorphism · no neon · minimal shadows.
   ============================================================ */

@font-face {
  font-family: 'Dana';
  src: url('../../Dana-Regular.ttf') format('truetype');
  font-weight: 400; font-display: swap;
}
@font-face {
  font-family: 'Dana';
  src: url('../../Dana-Medium.ttf') format('truetype');
  font-weight: 500; font-display: swap;
}
@font-face {
  font-family: 'Dana';
  src: url('../../Dana-DemiBold.ttf') format('truetype');
  font-weight: 600; font-display: swap;
}
@font-face {
  font-family: 'Dana';
  src: url('../../Dana-Black.ttf') format('truetype');
  font-weight: 700; font-display: swap;
}
@font-face {
  font-family: 'Dana';
  src: url('../../Dana-Black.ttf') format('truetype');
  font-weight: 800; font-display: swap;
}

:root {
  /* ---- Surfaces (flat charcoal) ---- */
  --bg-0: #121212;        /* app background */
  --bg-1: #121212;        /* page canvas */
  --surface-1: #18181B;   /* cards / panels / modals */
  --surface-2: #1F1F23;   /* raised cards / inputs */
  --surface-3: #27272A;   /* hover / active */
  --surface-solid: #18181B;

  /* ---- Hairlines & borders ---- */
  --line-1: #1E1E22;
  --line-2: #27272A;
  --line-3: #34343A;

  /* ---- Text ---- */
  --text-1: #FFFFFF;      /* primary */
  --text-2: #A1A1AA;      /* secondary */
  --text-3: #71717A;      /* muted / metadata */
  --text-on-accent: #FFFFFF;

  /* ---- Brand accent: Orange (action / CTA / active / highlight) ---- */
  --accent: #FF6B35;
  --accent-2: #FFA552;    /* hover / secondary highlight / badges */
  --accent-soft: rgba(255, 107, 53, 0.12);
  --accent-glow: rgba(255, 107, 53, 0.0);  /* glow disabled (no neon) */
  --accent-ink: #FFFFFF;  /* text on solid orange */

  /* ---- AI / success: Lime Green (used sparingly) ---- */
  --ai: #9BE22D;
  --ai-2: #8BCC28;
  --ai-soft: rgba(155, 226, 45, 0.12);
  --ai-glow: rgba(155, 226, 45, 0.0);
  --ai-ink: #122000;      /* text on solid green */

  /* ---- Semantic ---- */
  --pos: #9BE22D;
  --neg: #F4564E;
  --warn: #E0A33A;
  --info: #A1A1AA;        /* neutral-info (kept grayscale to respect palette) */
  --pos-soft: rgba(155, 226, 45, 0.12);
  --neg-soft: rgba(244, 86, 78, 0.12);
  --warn-soft: rgba(224, 163, 58, 0.12);
  --info-soft: rgba(161, 161, 170, 0.12);

  /* ---- Warm tone (ratings / table chip) → secondary orange ---- */
  --gold: #FFA552;
  --gold-soft: rgba(255, 165, 82, 0.12);

  /* ---- Radii ---- */
  --r-xs: 8px;
  --r-sm: 12px;
  --r-md: 16px;
  --r-lg: 20px;
  --r-xl: 24px;
  --r-pill: 999px;

  /* ---- Shadows (minimal) ---- */
  --sh-sm: 0 1px 2px rgba(0,0,0,0.3);
  --sh-md: 0 4px 16px rgba(0,0,0,0.24);
  --sh-lg: 0 12px 32px rgba(0,0,0,0.32);
  --sh-glow: 0 4px 16px rgba(0,0,0,0.24);
  --sh-ai: 0 4px 16px rgba(0,0,0,0.24);

  /* ---- Type scale ---- */
  --fs-display: clamp(30px, 3.2vw, 44px);
  --fs-h1: clamp(24px, 2.4vw, 32px);
  --fs-h2: 22px;
  --fs-h3: 18px;
  --fs-body: 15px;
  --fs-sm: 13.5px;
  --fs-xs: 12px;

  /* ---- Spacing rhythm ---- */
  --gap: 20px;
  --pad-card: 22px;
  --sidebar-w: 264px;
  --header-h: 72px;

  --ease: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
}

/* ---- Light theme overrides ---- */
[data-theme="light"] {
  --bg-0: #F4F4F5;
  --bg-1: #F4F4F5;
  --surface-1: #FFFFFF;
  --surface-2: #F4F4F5;
  --surface-3: #E4E4E7;
  --surface-solid: #FFFFFF;
  --line-1: #E4E4E7;
  --line-2: #D4D4D8;
  --line-3: #A1A1AA;
  --text-1: #18181B;
  --text-2: #3F3F46;
  --text-3: #71717A;
  --text-on-accent: #FFFFFF;
  --sh-sm: 0 1px 3px rgba(0,0,0,0.08);
  --sh-md: 0 4px 16px rgba(0,0,0,0.10);
  --sh-lg: 0 12px 32px rgba(0,0,0,0.12);
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }

body {
  font-family: 'Dana', system-ui, -apple-system, sans-serif;
  background: var(--bg-0);
  color: var(--text-1);
  direction: rtl;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-feature-settings: "ss01";
  line-height: 1.6;
}

.tnum { font-variant-numeric: tabular-nums; font-feature-settings: "tnum"; }

::selection { background: var(--accent-soft); color: var(--text-1); }

* { scrollbar-width: thin; scrollbar-color: var(--surface-3) transparent; }
*::-webkit-scrollbar { width: 10px; height: 10px; }
*::-webkit-scrollbar-thumb { background: var(--surface-3); border-radius: 999px; border: 3px solid transparent; background-clip: content-box; }
*::-webkit-scrollbar-thumb:hover { background: #34343A; background-clip: content-box; }

.muted { color: var(--text-2); }
.dim { color: var(--text-3); }
a { color: inherit; text-decoration: none; }

@keyframes fadeUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes blink { 0%, 100% { opacity: 1; } 50% { opacity: 0; } }
@keyframes orbit { to { transform: rotate(360deg); } }
@keyframes breathe { 0%,100% { transform: scale(1); } 50% { transform: scale(1.06); } }
@keyframes voicePulse { 0%,100% { box-shadow: 0 0 0 0 rgba(239,68,68,0.55); } 50% { box-shadow: 0 0 0 8px rgba(239,68,68,0); } }
@keyframes waveBar { 0%,100% { transform: scaleY(0.22); } 50% { transform: scaleY(1); } }
