/* GENERATED from tokens/base.tokens.yaml + tokens/brands/vuco.yaml (sha256:3d7f61e99528) — DO NOT EDIT. */
/* Regenerate in @vuco/kit: node tokens/generate-tokens.mjs --brand vuco   (AR-20: hand-copied values are review-rejectable) */
/* Money-role font per font-verdict.json: Plus Jakarta Sans (tnum confirmed 2026-07-16) */

/* Self-hosted fonts (AD-14: no third-party requests from the customer's browser). */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/PlusJakartaSans-Regular.ttf') format('truetype');
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/fonts/PlusJakartaSans-Medium.ttf') format('truetype');
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/fonts/PlusJakartaSans-SemiBold.ttf') format('truetype');
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/PlusJakartaSans-Bold.ttf') format('truetype');
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('/fonts/PlusJakartaSans-ExtraBold.ttf') format('truetype');
}

/* Hosted Page ships light-only (UX decision); the dark block exists for completeness. */
:root {
  --color-surface-base: #F3F2EF;
  --color-surface-raised: #FFFFFF;
  --color-surface-sunken: #EAE8E2;
  --color-ink-primary: #15181D;
  --color-ink-secondary: #49515B;
  --color-ink-disabled: #9AA2AD;
  --color-primary: #0E6E63;
  --color-on-primary: #FFFFFF;
  --color-primary-tonal: #E6F4F1;
  --color-on-primary-tonal: #0E6E63;
  --color-link: #0E6E63;
  --color-accent: #EA580C;
  --color-on-accent: #1A1005;
  --color-status-paid: #15803D;
  --color-status-paid-text: #166534;
  --color-status-overdue: #D92D20;
  --color-status-overdue-text: #B42318;
  --color-status-failed: #B45309;
  --color-status-failed-text: #92400E;
  --color-border-hairline: #E3E7EC;
  --color-border-input: #6B7280;
  --color-focus-ring: #0E6E63;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-xl: 24px;
  --radius-full: 9999px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --font-display: 800 28px/1.2 'Plus Jakarta Sans', system-ui, sans-serif;
  --font-title: 700 22px/1.25 'Plus Jakarta Sans', system-ui, sans-serif;
  --font-heading: 600 17px/1.3 'Plus Jakarta Sans', system-ui, sans-serif;
  --font-body: 400 16px/1.45 'Plus Jakarta Sans', system-ui, sans-serif;
  --font-field: 400 18px/1.4 'Plus Jakarta Sans', system-ui, sans-serif;
  --font-meta: 500 13px/1.35 'Plus Jakarta Sans', system-ui, sans-serif;
  --font-money: 700 20px/1 'Plus Jakarta Sans', system-ui, sans-serif;
  --font-money-hero: 700 44px/1.1 'Plus Jakarta Sans', system-ui, sans-serif;
}

[data-theme='dark'] {
  --color-surface-base: #16171B;
  --color-surface-raised: #212328;
  --color-surface-sunken: #1B1C21;
  --color-ink-primary: #F2F4F7;
  --color-ink-secondary: #A6ADB8;
  --color-ink-disabled: #5C636D;
  --color-primary: #1F7D72;
  --color-on-primary: #FFFFFF;
  --color-primary-tonal: #16302C;
  --color-on-primary-tonal: #9AD4CA;
  --color-link: #9AD4CA;
  --color-accent: #FFA35C;
  --color-on-accent: #1A1005;
  --color-status-paid: #4ADE80;
  --color-status-paid-text: #4ADE80;
  --color-status-overdue: #F97066;
  --color-status-overdue-text: #F97066;
  --color-status-failed: #FDB022;
  --color-status-failed-text: #FDB022;
  --color-border-hairline: #2A2F37;
  --color-border-input: #8A93A0;
  --color-focus-ring: #3FA294;
}

/* Money surfaces MUST use this class: tabular figures are opt-in (tnum, AR-24). */
.vuco-money {
  font: var(--font-money);
  font-variant-numeric: tabular-nums;
}
