/* ============================================================
   Portalic — Typography tokens
   Source: DESIGN.md §3 + apps/*/src/index.css
   Native system stacks by design — no webfont binaries ship.
   menu-qr leads with SF Pro; the dashboard leads with Helvetica
   Neue — the turquoise operator identity, F54S01. Hierarchy is
   identical across surfaces — only the leading family differs.
   ============================================================ */

/* SF Pro is Apple's system font — licensed for local use only, so no
   webfont binary can ship. These local() declarations bind the family
   names to the locally-installed fonts on Apple devices; everywhere
   else the stack falls through to the platform sans-serif. */
@font-face {
  font-family: "SF Pro Display";
  src: local("SF Pro Display"), local("SFProDisplay-Regular"), local(".SFNSDisplay"), local("-apple-system");
  font-weight: 100 900;
  font-style: normal;
}
@font-face {
  font-family: "SF Pro Text";
  src: local("SF Pro Text"), local("SFProText-Regular"), local(".SFNSText"), local("-apple-system");
  font-weight: 100 900;
  font-style: normal;
}

:root {
  /* Families */
  --font-menu: "SF Pro Display", "SF Pro Text", -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif;
  --font-dashboard: "Helvetica Neue", Helvetica, Arial, -apple-system, BlinkMacSystemFont, sans-serif;

  /* Hierarchy — weight carries it; no decorative variation */
  --type-display-size: clamp(2rem, 5vw, 3.5rem);
  --type-display-weight: 700;
  --type-display-leading: 1.05;
  --type-display-tracking: -0.03em;

  --type-headline-size: clamp(1.5rem, 3vw, 2rem);
  --type-headline-weight: 700;
  --type-headline-leading: 1.1;
  --type-headline-tracking: -0.02em;

  --type-title-size: 1.125rem;   /* 18px — product names, category headings */
  --type-title-weight: 600;
  --type-title-leading: 1.3;

  --type-body-size: 1rem;        /* 16px — max 65ch on menu-qr */
  --type-body-weight: 400;
  --type-body-leading: 1.5;

  --type-label-size: 0.75rem;    /* 12px — uppercase metadata, status chips */
  --type-label-weight: 500;
  --type-label-leading: 1.3;
  --type-label-tracking: 0.06em;
}

/* Type scale utility classes (mirror menu-qr's .type-* classes) */
.type-display  { font-size: var(--type-display-size); font-weight: var(--type-display-weight); letter-spacing: var(--type-display-tracking); line-height: var(--type-display-leading); }
.type-headline { font-size: var(--type-headline-size); font-weight: var(--type-headline-weight); letter-spacing: var(--type-headline-tracking); line-height: var(--type-headline-leading); }
.type-title    { font-size: var(--type-title-size); font-weight: var(--type-title-weight); line-height: var(--type-title-leading); }
.type-body     { font-size: var(--type-body-size); font-weight: var(--type-body-weight); line-height: var(--type-body-leading); }
.type-label    { font-size: var(--type-label-size); font-weight: var(--type-label-weight); letter-spacing: var(--type-label-tracking); line-height: var(--type-label-leading); text-transform: uppercase; }
