/* Office Hero — generated from tokens.json */
@font-face { font-family: "Inter"; src: url("fonts/Inter-Regular.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Inter"; src: url("fonts/Inter-Medium.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "Inter"; src: url("fonts/Inter-SemiBold.woff2") format("woff2"); font-weight: 600; font-style: normal; font-display: swap; }
:root {
  --brand-forest: #002b1b;
  --brand-forest-hover: #0b3d29;
  --brand-lime: #b6ff3b;
  --brand-lime-hover: #a3ee24;
  --on-forest: #ffffff;
  --on-lime: var(--text-primary);
  --text-primary: #111111;
  --text-secondary: #5f6368;
  --text-disabled: #9aa0a6;
  --background: #f7f7f7;
  --surface: #ffffff;
  --surface-muted: #efefef;
  --border-subtle: #dedede;
  --border-strong: #7a7f85;
  --focus-ring: var(--brand-forest);
  --focus-ring-on-dark: var(--brand-lime);
  --state-hover: #f2f2f2;
  --state-selected: #f1ffdb;
  --state-disabled: var(--surface-muted);
  --overlay-scrim: rgba(17, 17, 17, 0.48);
  --success: #0f6b3a;
  --success-surface: #e7f4ec;
  --warning: #8a4b00;
  --warning-surface: #fff3d6;
  --error: #c5221f;
  --error-surface: #fdecea;
  --info: #1a5ba6;
  --info-surface: #e8f0fb;
  --shadow-overlay: 0 8px 24px rgba(17, 17, 17, 0.12);
  --space-4: 4px;
  --space-8: 8px;
  --space-12: 12px;
  --space-16: 16px;
  --space-24: 24px;
  --space-32: 32px;
  --space-48: 48px;
  --space-64: 64px;
  --control-height: 44px;
  --row-height: 52px;
  --row-height-compact: 40px;
  --border-width: 1px;
  --focus-ring-width: 2px;
  --radius-sm: 4px;
  --radius-control: 6px;
  --radius-card: 8px;
  --font-sans: Inter, Arial, Helvetica, sans-serif;
}
.display { font-family: var(--font-sans); font-size: 40px; line-height: 48px; font-weight: 500; letter-spacing: -0.01em; }
.page-title { font-family: var(--font-sans); font-size: 30px; line-height: 38px; font-weight: 500; letter-spacing: -0.005em; }
.section-title { font-family: var(--font-sans); font-size: 22px; line-height: 30px; font-weight: 500; }
.component-title { font-family: var(--font-sans); font-size: 18px; line-height: 26px; font-weight: 600; }
.body { font-family: var(--font-sans); font-size: 16px; line-height: 24px; font-weight: 400; }
.body-sm { font-family: var(--font-sans); font-size: 14px; line-height: 20px; font-weight: 400; }
.label { font-family: var(--font-sans); font-size: 14px; line-height: 20px; font-weight: 500; }
.meta { font-family: var(--font-sans); font-size: 12px; line-height: 16px; font-weight: 500; }
.eyebrow { font-family: var(--font-sans); font-size: 12px; line-height: 16px; font-weight: 500; letter-spacing: 0.06em; text-transform: uppercase; }
.amount { font-family: var(--font-sans); font-size: 14px; line-height: 20px; font-weight: 400; font-variant-numeric: tabular-nums; }
.amount-total { font-family: var(--font-sans); font-size: 22px; line-height: 30px; font-weight: 600; font-variant-numeric: tabular-nums; }
.display-mobile { font-family: var(--font-sans); font-size: 32px; line-height: 40px; font-weight: 500; }
.page-title-mobile { font-family: var(--font-sans); font-size: 24px; line-height: 32px; font-weight: 500; }
.section-title-mobile { font-family: var(--font-sans); font-size: 20px; line-height: 28px; font-weight: 500; }
