/*
 * OHE Admin Dashboard v2 — Design Tokens
 *
 * Single source of truth for visual primitives. All component CSS
 * (style.css, partials, view templates) consumes these vars.
 *
 * Source: Internal/OHE Admin Dashboard/mocks/atelier-os.html
 * Locked: 2026-04-29 (DASHBOARD-001)
 */

/* ============ FONT FACES (self-hosted, latin subset) ============ */

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/Inter-400-Regular.woff2') format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('fonts/Inter-500-Regular.woff2') format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('fonts/Inter-600-Regular.woff2') format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('fonts/Inter-700-Regular.woff2') format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('fonts/Inter-800-Regular.woff2') format('woff2');
}

@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('fonts/Fraunces-500-Regular.woff2') format('woff2');
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('fonts/Fraunces-600-Regular.woff2') format('woff2');
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('fonts/Fraunces-700-Regular.woff2') format('woff2');
}
@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url('fonts/Fraunces-500-Italic.woff2') format('woff2');
}

:root {
  /* ============ SURFACES ============ */
  --bg: #F5F5F7;
  --surface: #FFFFFF;
  --surface-2: #FBFBFD;
  --surface-3: #F2F2F4;

  /* ============ INK / TEXT ============ */
  --ink: #1D1D1F;
  --ink-2: #3A3A3C;
  --secondary: #6E6E73;
  --tertiary: #86868B;

  /* ============ DIVIDERS ============ */
  --divider: #D2D2D7;
  --divider-soft: #E8E8ED;

  /* ============ ACCENT (oxblood — heraldic crest) ============ */
  --accent: #9B2C2C;
  --accent-2: #7F1D1D;
  --accent-soft: #FBF1F0;

  /* ============ STATUS ============ */
  --positive: #1F7A3A;
  --positive-soft: #E8F5EC;
  --negative: #C0392B;
  --warning: #B45309;
  --warning-soft: #FEF6E7;
  --info: #0A66C2;
  --info-soft: #EAF2FB;

  /* ============ SHADOWS ============ */
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, .04), 0 0 0 1px rgba(0, 0, 0, .04);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, .05), 0 1px 3px rgba(0, 0, 0, .06), 0 0 0 1px rgba(0, 0, 0, .04);
  --shadow-lg: 0 12px 40px rgba(0, 0, 0, .06), 0 2px 8px rgba(0, 0, 0, .04);

  /* ============ RADII ============ */
  --radius-sm: 6px;
  --radius: 10px;
  --radius-lg: 14px;

  /* ============ TYPE ============ */
  --type-display: 'Fraunces', Georgia, serif;
  --type-ui: 'Inter', -apple-system, BlinkMacSystemFont, 'SF Pro Text', sans-serif;

  /* ============ LAYOUT ============ */
  --topbar-h: 48px;
  --sidebar-w: 228px;

  /* ============ TYPE SCALE ============ */
  --fs-body: 13.5px;
  --fs-small: 12px;
  --fs-tiny: 10.5px;
  --fs-micro: 9.5px;
  --fs-h1: 26px;
  --fs-h2: 18px;
  --lh-body: 1.45;
  --lh-tight: 1.2;

  /* ============ SPACING ============ */
  --sp-1: 4px;
  --sp-2: 8px;
  --sp-3: 12px;
  --sp-4: 16px;
  --sp-5: 20px;
  --sp-6: 24px;

  /* ============ TRANSITIONS ============ */
  --t-fast: .12s;
  --t-base: .2s;
}

/* Tabular numerals helper — apply to any numeric cell */
.num {
  font-variant-numeric: tabular-nums;
}
