/* GATEPASS design tokens — derived from the reference "Social Intelligence" dashboard (violet → magenta, soft cards). */

@font-face { font-family: 'Prompt'; font-weight: 400; font-display: swap; src: url('../fonts/prompt-thai-400-normal.woff2') format('woff2'); unicode-range: U+0E01-0E5B, U+200C-200D, U+25CC; }
@font-face { font-family: 'Prompt'; font-weight: 500; font-display: swap; src: url('../fonts/prompt-thai-500-normal.woff2') format('woff2'); unicode-range: U+0E01-0E5B, U+200C-200D, U+25CC; }
@font-face { font-family: 'Prompt'; font-weight: 600; font-display: swap; src: url('../fonts/prompt-thai-600-normal.woff2') format('woff2'); unicode-range: U+0E01-0E5B, U+200C-200D, U+25CC; }
@font-face { font-family: 'Prompt'; font-weight: 700; font-display: swap; src: url('../fonts/prompt-thai-700-normal.woff2') format('woff2'); unicode-range: U+0E01-0E5B, U+200C-200D, U+25CC; }
@font-face { font-family: 'Prompt'; font-weight: 400; font-display: swap; src: url('../fonts/prompt-latin-400-normal.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Prompt'; font-weight: 500; font-display: swap; src: url('../fonts/prompt-latin-500-normal.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Prompt'; font-weight: 600; font-display: swap; src: url('../fonts/prompt-latin-600-normal.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Prompt'; font-weight: 700; font-display: swap; src: url('../fonts/prompt-latin-700-normal.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

@font-face { font-family: 'IBM Plex Sans Thai'; font-weight: 400; font-display: swap; src: url('../fonts/ibm-plex-sans-thai-thai-400-normal.woff2') format('woff2'); unicode-range: U+0E01-0E5B, U+200C-200D, U+25CC; }
@font-face { font-family: 'IBM Plex Sans Thai'; font-weight: 500; font-display: swap; src: url('../fonts/ibm-plex-sans-thai-thai-500-normal.woff2') format('woff2'); unicode-range: U+0E01-0E5B, U+200C-200D, U+25CC; }
@font-face { font-family: 'IBM Plex Sans Thai'; font-weight: 600; font-display: swap; src: url('../fonts/ibm-plex-sans-thai-thai-600-normal.woff2') format('woff2'); unicode-range: U+0E01-0E5B, U+200C-200D, U+25CC; }
@font-face { font-family: 'IBM Plex Sans Thai'; font-weight: 700; font-display: swap; src: url('../fonts/ibm-plex-sans-thai-thai-700-normal.woff2') format('woff2'); unicode-range: U+0E01-0E5B, U+200C-200D, U+25CC; }
@font-face { font-family: 'IBM Plex Sans Thai'; font-weight: 400; font-display: swap; src: url('../fonts/ibm-plex-sans-thai-latin-400-normal.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'IBM Plex Sans Thai'; font-weight: 500; font-display: swap; src: url('../fonts/ibm-plex-sans-thai-latin-500-normal.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'IBM Plex Sans Thai'; font-weight: 600; font-display: swap; src: url('../fonts/ibm-plex-sans-thai-latin-600-normal.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'IBM Plex Sans Thai'; font-weight: 700; font-display: swap; src: url('../fonts/ibm-plex-sans-thai-latin-700-normal.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

:root {
  --font-display: 'Prompt', 'IBM Plex Sans Thai', system-ui, sans-serif;
  --font-body: 'IBM Plex Sans Thai', 'Prompt', system-ui, -apple-system, 'Segoe UI', sans-serif;

  --bg: #f4f2fb;
  --surface: #ffffff;
  --surface-2: #faf9ff;
  --surface-3: #f3f0fc;
  --line: #ece9f7;
  --line-strong: #ddd8f0;
  --text: #1e1b3a;
  --text-2: #4b4868;
  --muted: #7b7896;
  --faint: #a5a2bd;

  --primary: #7c3aed;
  --primary-600: #6d28d9;
  --primary-50: #f3ecff;
  --primary-100: #e8dcff;
  --accent: #c026d3;
  --pink: #ec4899;
  --pink-50: #fdeaf4;
  --amber: #f59e0b;
  --amber-50: #fff4dc;
  --green: #10b981;
  --green-50: #dcf7ec;
  --red: #ef4444;
  --red-50: #fde6e6;
  --blue: #3b82f6;
  --blue-50: #e3eeff;
  --teal: #14b8a6;
  --teal-50: #d9f5f1;

  --grad: linear-gradient(135deg, #7c3aed 0%, #c026d3 100%);
  --grad-soft: linear-gradient(135deg, #f3ecff 0%, #fdeaf4 100%);
  --grad-text: linear-gradient(90deg, #7c3aed 0%, #a855f7 60%, #c026d3 100%);

  --side-bg: linear-gradient(180deg, #1b1445 0%, #231a62 100%);
  --side-text: rgba(255, 255, 255, .78);
  --side-muted: rgba(255, 255, 255, .42);
  --side-hover: rgba(255, 255, 255, .08);

  --r-xl: 22px;
  --r-lg: 18px;
  --r: 12px;
  --r-sm: 9px;
  --shadow-sm: 0 1px 2px rgba(45, 27, 105, .06);
  --shadow: 0 8px 30px rgba(76, 29, 149, .06);
  --shadow-lg: 0 24px 70px rgba(45, 27, 105, .22);
  --ring: 0 0 0 3px rgba(124, 58, 237, .18);

  --side-w: 224px;
  --side-w-collapsed: 72px;
  --top-h: 60px;
  --ease: cubic-bezier(.2, .8, .2, 1);

  color-scheme: light;
}

[data-theme='dark'] {
  --bg: #100d24;
  --surface: #1a1638;
  --surface-2: #1f1b42;
  --surface-3: #262150;
  --line: #2b2659;
  --line-strong: #3a3474;
  --text: #f1eeff;
  --text-2: #cbc6ec;
  --muted: #9b96c4;
  --faint: #6f6a9b;
  --primary: #9d6bff;
  --primary-600: #8b5cf6;
  --primary-50: #2a1f57;
  --primary-100: #35286f;
  --pink-50: #3a1f45;
  --amber-50: #3a3018;
  --green-50: #12352d;
  --red-50: #40202a;
  --blue-50: #1c2c52;
  --teal-50: #123a3a;
  --grad-soft: linear-gradient(135deg, #2a1f57 0%, #3a1f45 100%);
  --grad-text: linear-gradient(90deg, #a78bfa 0%, #c084fc 60%, #f0abfc 100%);
  --side-bg: linear-gradient(180deg, #0f0b2b 0%, #150f3b 100%);
  --shadow: 0 8px 30px rgba(0, 0, 0, .35);
  --shadow-lg: 0 24px 70px rgba(0, 0, 0, .55);
  --ring: 0 0 0 3px rgba(157, 107, 255, .3);
  color-scheme: dark;
}
