/**
 * Do not edit directly, this file was auto-generated.
 */

:root {
  --dt-palette-orange-500: #F35625; /** Figma 'DT Orange'. The BRAND colour — see semantic color.brand. Not an action colour: white on it is 3.40:1, which fails AA. */
  --dt-palette-purple-900: #1F1451; /** Figma 'DT Purple' */
  --dt-palette-purple-950: #100A29; /** Figma 'NEW DT Dark Purple' */
  --dt-palette-lilac-600: #4D56CC; /** Figma 'DT Lilac'. A primary-group colour that had no token at all before. Drawn on the canvas but NOT published as a Figma style, so no designer can currently reference it. */
  --dt-palette-blue-100: #EEF4FF; /** Lighter 04 */
  --dt-palette-blue-300: #9DBCFF; /** Lighter 03. Was #A5C2F0 (portal $info) — Figma wins. */
  --dt-palette-blue-400: #5788F2; /** Lighter 02 */
  --dt-palette-blue-500: #4E7AD9; /** Lighter 01 */
  --dt-palette-blue-600: #456CC0; /** Primary. Unchanged — SCSS and Figma already agreed. */
  --dt-palette-blue-700: #3C5DA6; /** Darker 01. The button hover AND pressed fill in Figma. */
  --dt-palette-blue-800: #294173; /** Darker 02 */
  --dt-palette-blue-900: #172440; /** Darker 03 */
  --dt-palette-green-100: #E9F7F3; /** Lighter 04 — unpublished in Figma */
  --dt-palette-green-300: #B8E9DA; /** Lighter 03 — unpublished in Figma */
  --dt-palette-green-400: #7BC2AD; /** Lighter 02 — unpublished in Figma. Was #7ED286 (portal $success), a true green that does not sit on this teal-leaning ramp. */
  --dt-palette-green-500: #52A68D; /** Lighter 01 — unpublished in Figma */
  --dt-palette-green-600: #31876D; /** Primary. Same value as the old green.700 — only its step number changed. */
  --dt-palette-green-700: #256652; /** Darker 01. White on this is 6.77:1. RULING 2026-07-28: adopted as semantic `success` (was green.600), clearing the last colour contrast failure. */
  --dt-palette-green-800: #174034; /** Darker 02 */
  --dt-palette-green-900: #0D241C; /** Darker 03 */
  --dt-palette-red-100: #FAE6EA; /** Lighter 04 — unpublished in Figma */
  --dt-palette-red-300: #DD8888; /** Lighter 03 — unpublished in Figma */
  --dt-palette-red-400: #D1193A; /** Lighter 02. CORRECTED 2026-07-22 (second Figma pass): the PUBLISHED STYLE 'DT Red / Lighter 02' is #D1193A — read off the colour-picker component, which uses it for the empty-swatch marker. The 'Color System' documentation page paints this ramp slot #B51515 as a RAW HEX with no style attached, and that swatch is the thing that is wrong: #B51515 is a pure red (~0deg) among crimsons (~350deg) and breaks monotonic saturation, whereas #D1193A sits cleanly between Lighter 01 #AD1530 and Lighter 03 #DD8888. Note this means #D1193A — the old semantic danger — WAS in the design file all along, just at a different ramp step than Primary. */
  --dt-palette-red-500: #AD1530; /** Lighter 01. Was #F95540 (portal $danger), which brand.json already recorded as not adopted. */
  --dt-palette-red-600: #8D1127; /** Primary — the semantic danger. Replaces #D1193A; see the ruling note in semantic.json. */
  --dt-palette-red-700: #6E0D1F; /** Darker 01 */
  --dt-palette-red-800: #470814; /** Darker 02. Was #D1193A, which moved to 600 and then lost the tie to Figma's #8D1127. */
  --dt-palette-red-900: #26040B; /** Darker 03 */
  --dt-palette-yellow-100: #FFF3CA; /** Lighter 04 */
  --dt-palette-yellow-300: #FFE58A; /** Lighter 03 */
  --dt-palette-yellow-400: #FFD74A; /** Lighter 02. Was #EDD272 (portal $warning) — Figma wins. */
  --dt-palette-yellow-500: #FFC909; /** Lighter 01 */
  --dt-palette-yellow-600: #E8B708; /** Primary — the semantic warning. Needs a DARK foreground: white on it is 1.87:1. */
  --dt-palette-yellow-700: #CFA307; /** Darker 01 */
  --dt-palette-yellow-800: #A88506; /** Darker 02 */
  --dt-palette-yellow-900: #6B5504; /** Darker 03 */
  --dt-palette-gray-50: #F7F9FD; /** Figma 'NEW DT Background' — the app canvas colour sitting behind cards. Added 2026-07-22. Distinct from gray.100 #F4F7FC despite being close; both are published separately in Figma. */
  --dt-palette-gray-100: #F4F7FC; /** == Figma 'DT Gray 01' */
  --dt-palette-gray-200: #EAEDF2; /** == Figma 'DT Gray 02'. Was maintained in three places. */
  --dt-palette-gray-300: #E4E6EF; /** No Figma equivalent — SCSS only. */
  --dt-palette-gray-350: #D5D5DD; /** RULING 2026-07-28: the disabled contained-button background, painted as a raw hex on the Figma component. Sits between gray.300 and gray.400 by luminance, hence 350. Very close to gray.400 #D1D3E0 but distinct (greyer, less blue). semantic color.disabled points here. */
  --dt-palette-gray-400: #D1D3E0; /** No Figma equivalent — SCSS only. */
  --dt-palette-gray-500: #B5B4C3; /** == Figma 'DT Gray 03' */
  --dt-palette-gray-600: #7E8299; /** == Figma 'DT Gray 04' */
  --dt-palette-gray-700: #5E6278; /** No Figma equivalent — SCSS only. */
  --dt-palette-gray-800: #3F4254; /** == Figma 'DT Black' */
  --dt-palette-gray-900: #181C32; /** No Figma equivalent — SCSS only. */
  --dt-palette-white: #FFFFFF;
  --dt-palette-black: #000000;
  --dt-fixed-social-facebook: #1877F2;
  --dt-fixed-social-google: #4285F4;
  --dt-fixed-social-linkedin: #0A66C2;
  --dt-fixed-social-youtube: #FF0000;
  --dt-fixed-social-whatsapp: #25D366;
  --dt-space-0: 0;
  --dt-space-1: 4px;
  --dt-space-2: 8px;
  --dt-space-3: 12px;
  --dt-space-4: 16px;
  --dt-space-5: 20px;
  --dt-space-6: 24px;
  --dt-space-8: 32px;
  --dt-space-10: 40px;
  --dt-size-xxs: 20px;
  --dt-size-xs: 24px;
  --dt-size-sm: 32px;
  --dt-size-md: 40px;
  --dt-size-lg: 48px;
  --dt-size-xl: 56px;
  --dt-breakpoint-tablet: 576px; /** min-width at which the tablet type tier takes over from mobile */
  --dt-breakpoint-desktop: 1200px; /** min-width at which the desktop type tier takes over from tablet */
  --dt-elevation-card: 4px 4px 34px 0 rgba(0, 0, 0, 0.05);
  --dt-icon-size: 20px;
  --dt-radius-none: 0;
  --dt-radius-sm: 4px;
  --dt-radius-md: 6px; /** email-builder's button hardcodes 6px */
  --dt-radius-lg: 8px;
  --dt-radius-full: 9999px;
  --dt-typography-font-family: 'Poppins', Helvetica, sans-serif; /** Every text style in the Figma library resolves to Poppins. No fallback is declared in Figma; the fallback chain here is inherited from semantic.json font.family. */
  --dt-typography-weight-regular: 400; /** Figma weight 'Regular' */
  --dt-typography-weight-medium: 500; /** Figma weight 'Medium' */
  --dt-typography-weight-semibold: 600; /** Figma weight 'SemiBold' */
  --dt-typography-line-height-body: 1.4; /** Figma 140% — applied to Overline and every Body/Subtitle tier */
  --dt-typography-line-height-heading: 1.2; /** Figma 120% — applied to H1-H4 */
  --dt-typography-desktop-overline: 10px; /** Source: Figma text style group 'Desktop/*' */
  --dt-typography-desktop-body-3: 12px;
  --dt-typography-desktop-body-2: 14px; /** Figma style is named 'Body 2 - Subtitle 2' */
  --dt-typography-desktop-body-1: 16px; /** Figma style is named 'Body 1 - Subtitle 1' */
  --dt-typography-desktop-h4: 18px;
  --dt-typography-desktop-h3: 20px;
  --dt-typography-desktop-h2: 26px;
  --dt-typography-desktop-h1: 30px;
  --dt-typography-tablet-overline: 9px; /** Source: Figma text style group 'Tablet/*' */
  --dt-typography-tablet-body-3: 10px;
  --dt-typography-tablet-body-2: 12px;
  --dt-typography-tablet-body-1: 14px;
  --dt-typography-tablet-h4: 16px; /** GAP: the Figma group also contains a stray fourth style 'SemiBold 24/120' that belongs to no tier. Not reproduced here. */
  --dt-typography-tablet-h3: 18px;
  --dt-typography-tablet-h2: 24px; /** GAP: Figma publishes only Regular and Medium at this tier — there is no Tablet/H2/SemiBold. */
  --dt-typography-tablet-h1: 28px;
  --dt-typography-mobile-overline: 10px; /** Source: Figma text style group 'Mobile/*'. ANOMALY: larger than the Tablet overline (9px), so the ramp is not monotonic across breakpoints. Reproduced faithfully from Figma; see FIGMA-EXTRACT.md. */
  --dt-typography-mobile-body-2: 11px;
  --dt-typography-mobile-body-1: 13px;
  --dt-typography-mobile-h4: 15px;
  --dt-typography-mobile-h3: 17px;
  --dt-typography-mobile-h2: 22px;
  --dt-typography-mobile-h1: 26px;
  --dt-color-brand: var(--dt-palette-orange-500); /** IDENTITY, NOT ACTION. The orange belongs to the logo, illustrations and decorative accents. It is NOT safe as a text or button colour — white on it is 3.40:1 and gray-800 only 2.91:1, so both directions fail AA. Anything a user clicks uses `primary` instead. Split out on 2026-07-22: `primary` previously carried both meanings, which is why the same colour was simultaneously the brand and a permanent contrast failure. */
  --dt-color-on-brand: var(--dt-palette-gray-800); /** Only for LARGE text (AA needs 3:1 there, and this gives 2.91:1 — still short). Treat any text on brand orange as a design smell. */
  --dt-color-primary: var(--dt-palette-blue-600); /** The primary ACTION colour. Figma paints every primary button DT Blue #456CC0 (see FIGMA-EXTRACT.md §4). White on it is 5.05:1 — passes AA, where the old orange did not. Was #F35625 until 2026-07-22. */
  --dt-color-on-primary: var(--dt-palette-white);
  --dt-color-primary-hover: var(--dt-palette-blue-700); /** Figma 'DT Blue/Darker 01'. Figma uses this same step for the PRESSED state too, so pressed is currently indistinguishable from hover — see FIGMA-EXTRACT.md §4. */
  --dt-color-secondary: var(--dt-palette-purple-900);
  --dt-color-on-secondary: var(--dt-palette-white);
  --dt-color-success: var(--dt-palette-green-700); /** RULING 2026-07-28: moved from green.600 #31876D (4.36:1, failed AA) to green.700 #256652 (6.77:1, passes). Both are published Figma green ramp steps; this is the darker one. Removed from contrast-baseline.json as a result. */
  --dt-color-on-success: var(--dt-palette-white);
  --dt-color-warning: var(--dt-palette-yellow-600); /** DRIFT RESOLVED 2026-07-22 from the Figma library: 'DT Yellow/Primary' #E8B708 replaces #EDD272, which appears nowhere in the design file. */
  --dt-color-on-warning: var(--dt-palette-gray-800); /** MUST stay dark. White on #E8B708 is 1.87:1 — a severe failure. Do not flip this pairing. */
  --dt-color-danger: var(--dt-palette-red-600); /** DRIFT RESOLVED 2026-07-22: Figma's 'DT Red/Primary' #8D1127. This supersedes the 2026-07-20 ruling that picked the email-builder's #D1193A over the portal's #F95540 — that decision was made between two code repos, without the design file in the room, and #D1193A appears nowhere in Figma. Measured 9.37:1 on white, comfortably better than #D1193A's 5.37:1. */
  --dt-color-on-danger: var(--dt-palette-white);
  --dt-color-info: var(--dt-palette-blue-500); /** Added 2026-08 for the portal Button's `info` colour (was a raw #119ada). Points at blue.500 — an informational blue distinct from `primary` (blue.600); a tenant can re-theme it independently. white on #4E7AD9 is ~4.6:1 (AA). */
  --dt-color-on-info: var(--dt-palette-white);
  --dt-color-canvas: var(--dt-palette-gray-50); /** Figma 'NEW DT Background' #F7F9FD — the page background BEHIND cards and panels. Distinct from `surface` (the card itself, white) and from `surface-muted` (a muted region inside a surface). Added 2026-07-22; the token set previously had no way to express the app canvas. */
  --dt-color-on-canvas: var(--dt-palette-gray-800);
  --dt-color-surface: var(--dt-palette-white);
  --dt-color-on-surface: var(--dt-palette-gray-800); /** Replaces the email-builder's hardcoded #3f4254 in base/_typography.scss. */
  --dt-color-surface-muted: var(--dt-palette-gray-100);
  --dt-color-on-surface-muted: var(--dt-palette-gray-600);
  --dt-color-border: var(--dt-palette-gray-300);
  --dt-color-border-strong: var(--dt-palette-gray-400);
  --dt-color-disabled: var(--dt-palette-gray-350); /** RULING 2026-07-28: the disabled contained-button background in Figma is #D5D5DD, painted as a raw hex on the component. Added to the palette as gray.350 and adopted here. Was gray.200 #EAEDF2. on-disabled contrast is WCAG-exempt (inactive component). */
  --dt-color-on-disabled: var(--dt-palette-gray-500);
  --dt-font-family: var(--dt-typography-font-family); /** Aliased to typography.font-family so Poppins is declared once. Portal loads it from Google CDN; email-builder self-hosts but only in its demo entry, so the published bundle assumes the host provides it. */
  --dt-font-size-sm: var(--dt-typography-desktop-body-2); /** 14px. Was 0.9rem (~14.4px) — now anchored to a real Figma tier. */
  --dt-font-size-md: var(--dt-typography-desktop-body-1); /** 16px. Was 1rem — same value, now anchored to a real Figma tier. */
  --dt-font-size-lg: var(--dt-typography-desktop-h4); /** 18px. Was 1.1rem (~17.6px) — now anchored to a real Figma tier. */
  --dt-font-weight-regular: var(--dt-typography-weight-regular);
  --dt-font-weight-medium: var(--dt-typography-weight-medium);
  --dt-font-weight-semibold: var(--dt-typography-weight-semibold);
  --dt-color-primary-text: var(--dt-color-primary); /** The primary colour adjusted to be readable AS TEXT on `surface` — outlined buttons, text buttons, links, active tab labels, brand-coloured icons. This is the third tier-2 role proposed in README section 10, implemented 2026-07-22. It defaults to `primary`, so brands that already pass need do nothing; a tenant whose brand is too light overrides just this key (see themes/nordic.json). The x/on-x pair only ever protected a colour used as a BACKGROUND — it does nothing when the colour IS the foreground. The Figma button set makes this urgent rather than theoretical: 6 of its 8 button types (Outlined, Text and Link, x primary/secondary) paint this colour as text. */
}
