/* ---------- Design tokens (Skreenit brand — matches core.css) ---------- */
:root {
  /* Neutral palette */
  --color-bg: #f4f6f9;
  --color-surface: #ffffff;
  --color-border: #e2e6ed;
  --color-text: #1c2333;
  --color-text-muted: #6b7280;
  --color-text-faint: #9aa2b1;

  /* Portal accent — overridden per portal below. Base = brand primary indigo. */
  --accent: #4f46e5;
  --accent-hover: #4338ca;
  --accent-soft: #eef2ff;
  --accent-text: #4f46e5;

  /* Status colors */
  --color-success: #15803d;
  --color-success-soft: #dcfce7;
  --color-warning: #b45309;
  --color-warning-soft: #fef3c7;
  --color-danger: #b91c1c;
  --color-danger-soft: #fee2e2;
  --color-info: #1d4ed8;
  --color-info-soft: #dbeafe;
  --color-neutral-soft: #e5e7eb;

  /* Spacing scale */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;

  /* Radius / shadow */
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --shadow-sm: 0 1px 2px rgba(16, 24, 40, 0.06);
  --shadow-md: 0 4px 12px rgba(16, 24, 40, 0.08);
  --shadow-lg: 0 12px 32px rgba(16, 24, 40, 0.14);

  --sidebar-width: 244px;
  --topbar-height: 64px;
  --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --font-heading: 'Poppins', var(--font-sans);
}

/* Employer portal accent — brand secondary emerald */
body[data-portal="employer"] {
  --accent: #10b981;
  --accent-hover: #0d9668;
  --accent-soft: #d1fae5;
  --accent-text: #0d9668;
}

/* ---------- Reset ---------- */
*, *::before, *::after { box-sizing: border-box; }
html, body { height: 100%; }
body {
  margin: 0;
  font-family: var(--font-sans);
  background: var(--color-bg);
  color: var(--color-text);
  font-size: 14px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, p { margin: 0; }
h1, h2, h3, h4 { font-family: var(--font-heading); font-weight: 600; }
a { color: inherit; text-decoration: none; }
button { font-family: inherit; }
ul { list-style: none; margin: 0; padding: 0; }
input, select, textarea { font-family: inherit; font-size: inherit; }
img { max-width: 100%; display: block; }

/* ---------- Typography helpers ---------- */
.page-title { font-size: 22px; font-weight: 700; letter-spacing: -0.01em; }
.section-title { font-size: 16px; font-weight: 600; }
.text-muted { color: var(--color-text-muted); }
.text-faint { color: var(--color-text-faint); }
.text-sm { font-size: 12.5px; }

/* ---------- Utility ---------- */
.hidden { display: none !important; }
