/* Layer order declaration */
@layer reset, tokens, themes, base, components, utilities, variants, site, blueprints, overrides;

/* Tokens */
@layer tokens {
  :root {
    --ffr-color-primary: #2d4668;
    --ffr-color-primary-dark: #20639b;
    --ffr-color-primary-light: #f0f9ff;
    --ffr-color-primary-alt: #485b6a;
    --ffr-color-divider: #e9e9e9;
    --ffr-color-gold: #f79e00;
    --ffr-color-red: #e50019;
    --ffr-color-secondary-blue: #72bffc;

    --ffr-color-text-main: #0f172a;
    --ffr-color-text-body: #000000;
    --ffr-color-text-muted: #64748b;
    --ffr-color-text-light: #94a3b8;
    --ffr-color-white: #fffeff;
     --ffr-color-bg-white: #fffeff;
    --ffr-color-bg-page: #ffffff;
    --ffr-color-bg-card: #ffffff;
    --ffr-color-border: #e2e8f0;
    --ffr-input-background: #fbfbfb;

    --ffr-color-cta: #f59e0b;
    --ffr-color-cta-hover: #d97706;

    --ffr-space-1: 0.25rem;
    --ffr-space-2: 0.5rem;
    --ffr-space-3: 0.75rem;
    --ffr-space-4: 1rem;
    --ffr-space-6: 1.5rem;
    --ffr-space-8: 2rem;
    --ffr-space-9: 3rem;
    --ffr-space-10: 4rem;

    --ffr-font-sans: "Poppins", system-ui, -apple-system, sans-serif;
    --ffr-font-family: "Poppins", system-ui, -apple-system, sans-serif;
    --ffr-text-sm: 0.875rem;
    --ffr-text-base: 1rem;
    --ffr-text-lg: 1.125rem;
    --ffr-text-xl: 1.25rem;
    --ffr-text-2xl: 1.5rem;
    --ffr-text-3xl: 1.875rem;

    --ffr-radius-sm: 0.25rem;
    --ffr-radius-md: 0.5rem;
    --ffr-radius-lg: 0.75rem;

    /* Image / logo sizing */
    --ffr-size-img-sm: 8rem;
    --ffr-size-img-md: 16rem;
    --ffr-size-img-lg: 24rem;

    /* Alert container max widths */
    --ffr-alert-max-w-sm: 42rem;
    --ffr-alert-max-w-md: 56rem;
    --ffr-alert-max-w-lg: 80rem;

    /* Radius */
    --ffr-radius-pill: 37px;

    /* Padding */
    --ffr-small-padding: 4px;

    /* Overlays */
    --ffr-blue-overlay: rgba(0, 26, 49, 0.88);

    /* Font Sizes */
    --ffr-font-size-large: 50px;
    --ffr-font-size-small: 22px;

   

    /* Generic text aliases used in newer BPs */
    --ffr-color-text: var(--ffr-color-text-main);
    --ffr-color-text-subtle: var(--ffr-color-text-muted);
    --ffr-color-link: var(--ffr-color-primary);

    /* Surface / on-color aliases */
    --ffr-color-surface: var(--ffr-color-bg-card);
    --ffr-color-on-primary: var(--ffr-color-white);

    /* Extra spacing that some components expect */
    --ffr-space-5: 1.25rem;
    --ffr-space-7: 1.75rem;

    /* Radius aliases used by some components */
    --ffr-radius-1: var(--ffr-radius-sm);
    --ffr-radius-2: var(--ffr-radius-md);
    --ffr-radius-3: var(--ffr-radius-lg);

    /* Shadows used by components */
    --ffr-shadow-1: 0 1px 2px rgba(15, 23, 42, 0.06), 0 1px 1px rgba(15, 23, 42, 0.04);
    --ffr-shadow-2: 0 2px 12px rgba(15, 23, 42, 0.10);

    /* Type tokens */
    --ffr-type-h2: 700 var(--ffr-text-3xl) / 1.15 var(--ffr-font-family);
    --ffr-type-body: 400 var(--ffr-text-base) / 1.5 var(--ffr-font-family);
    --ffr-type-body-sm: 400 var(--ffr-text-sm) / 1.4 var(--ffr-font-family);
    --ffr-type-label: 700 0.75rem / 1 var(--ffr-font-family);
    --ffr-type-button: 700 0.875rem / 1 var(--ffr-font-family);

    /* -------------------------------------------------------------
       Unified theme architecture foundation (Phase 1)
       These defaults preserve the existing 3.0 visual contract.
       Theme-specific values are supplied later by ffr-variant-tokens.css.
       ------------------------------------------------------------- */

    /* Shared compatibility tokens already referenced by components.css */
    --ffr-color-text-inverse: var(--ffr-color-white);
    --ffr-color-focus: #2f6fec;
    --ffr-color-danger: #c8102e;
    --ffr-color-warning: #f59b2f;
    --ffr-color-surface-muted: #f3f5f7;
    --ffr-color-surface-overlay: var(--ffr-blue-overlay);
    --ffr-color-primary-blue: #1b4f9c;
    --ffr-color-blue: var(--ffr-color-primary-blue);
    --ffr-color-accent: var(--ffr-color-gold);
    --ffr-color-accent-hover: var(--ffr-color-cta-hover);
    --ffr-link-color: var(--ffr-color-primary-blue);

    /* Typography aliases required by existing shared components */
    --ffr-font-heading: var(--ffr-font-family);
    --ffr-font-ui: var(--ffr-font-family);
    --ffr-font-weight-normal: 400;
    --ffr-font-weight-medium: 600;
    --ffr-font-weight-semibold: 600;
    --ffr-font-weight-bold: 700;
    --ffr-font-size-1: 0.75rem;
    --ffr-font-size-2: 0.875rem;
    --ffr-font-size-3: 0.9375rem;
    --ffr-font-size-sm: var(--ffr-text-base);
    --ffr-text-1xl: var(--ffr-text-xl);
    --ffr-letterspacing-tight: -0.01em;
    --ffr-letterspacing-wide: 0.02em;

    /* Shared layout/radius aliases already referenced by components.css */
    --ffr-container-max: 1200px;
    --ffr-radius-4: 1rem;

    /* Semantic design-token interface. Defaults intentionally mirror the
       pre-unified CMS 3.0 values until a site theme is applied. */
    --ffr-bg-page: var(--ffr-color-bg-page);

    /* Section-level content should normally inherit the page canvas rather
       than introduce a second opaque surface. Legacy/Base defaults still
       resolve to the page background; unified Variant themes may override
       this to transparent. Use card/surface tokens for UI that is meant to
       read as a distinct panel. */
    --ffr-bg-section: var(--ffr-color-bg-page);
    --ffr-bg-section-subtle: var(--ffr-color-primary-light);

    --ffr-bg-surface: var(--ffr-color-bg-card);
    --ffr-bg-surface-alt: var(--ffr-color-primary-light);
    --ffr-bg-surface-strong: color-mix(in srgb, var(--ffr-color-text-main) 10%, transparent);
    --ffr-bg-surface-soft: color-mix(in srgb, var(--ffr-color-text-main) 4%, transparent);
    --ffr-bg-elevated: var(--ffr-color-bg-white);
    --ffr-bg-inverse: var(--ffr-color-primary);
    --ffr-bg-overlay: var(--ffr-color-surface-overlay);

    --ffr-text-primary: var(--ffr-color-text-main);
    --ffr-text-secondary: var(--ffr-color-text-body);
    --ffr-text-muted: var(--ffr-color-text-muted);
    --ffr-text-inverse: var(--ffr-color-text-inverse);
    --ffr-text-disabled: var(--ffr-color-text-light);

    --ffr-border-default: var(--ffr-color-border);
    --ffr-border-subtle: var(--ffr-color-divider);
    --ffr-border-strong: var(--ffr-color-primary-alt);

    --ffr-link: var(--ffr-color-primary-dark);
    --ffr-link-hover: var(--ffr-color-primary);
    --ffr-link-active: var(--ffr-color-primary);
    --ffr-link-visited: var(--ffr-color-primary-alt);

    --ffr-accent: var(--ffr-color-gold);
    --ffr-accent-hover: var(--ffr-color-cta-hover);
    --ffr-accent-contrast: var(--ffr-color-text-main);

    --ffr-focus-ring: var(--ffr-color-focus);
    --ffr-focus-offset-color: var(--ffr-color-bg-white);

    --ffr-selection-bg: var(--ffr-color-primary);
    --ffr-selection-text: var(--ffr-color-white);

    /* Stable status semantics. These are intentionally not derived from
       decorative theme accents in Phase 1. */
    --ffr-status-info-bg: #e8f3ff;
    --ffr-status-info-text: #123f73;
    --ffr-status-info-border: #1976a8;
    --ffr-status-success-bg: #e7f5ee;
    --ffr-status-success-text: #1f5b43;
    --ffr-status-success-border: #2e7668;
    --ffr-status-warning-bg: #fff4df;
    --ffr-status-warning-text: #6c4300;
    --ffr-status-warning-border: #d89a2b;
    --ffr-status-error-bg: #fdecec;
    --ffr-status-error-text: #7a2020;
    --ffr-status-error-border: #a63838;
    --ffr-status-error-inline-text: #7a2020;

    /* Component-token defaults. Components may override these locally. */
    --ffr-button-primary-bg: var(--ffr-color-primary);
    --ffr-button-primary-text: var(--ffr-color-white);
    --ffr-button-primary-hover-bg: var(--ffr-color-primary-dark);
    --ffr-button-primary-hover-text: var(--ffr-button-primary-text);
    --ffr-button-secondary-bg: var(--ffr-color-bg-card);
    --ffr-button-secondary-text: var(--ffr-color-primary);
    --ffr-button-secondary-border: var(--ffr-color-border);
    --ffr-button-secondary-hover-bg: var(--ffr-color-primary-light);
    --ffr-button-disabled-bg: var(--ffr-color-surface-muted);
    --ffr-button-disabled-text: var(--ffr-color-text-light);

    --ffr-card-bg: var(--ffr-color-bg-card);
    --ffr-card-text: var(--ffr-color-text-main);
    --ffr-card-border: var(--ffr-color-border);

    /* Social/share foreground contract. The component itself is transparent,
       so these roles adapt to the surrounding site tone. The author-facing
       Light/Medium/Dark appearance setting maps to soft/default/strong
       emphasis rather than forcing a literal light or dark color that can
       disappear against the selected page tone. */
    --ffr-social-control-fg-soft: var(--ffr-link);
    --ffr-social-control-fg-default: var(--ffr-text-secondary);
    --ffr-social-control-fg-strong: var(--ffr-text-primary);
    --ffr-social-control-border-soft: var(--ffr-border-subtle);
    --ffr-social-control-border-default: var(--ffr-border-default);
    --ffr-social-control-border-strong: var(--ffr-border-strong);
    --ffr-social-control-divider: var(--ffr-border-default);
    --ffr-social-control-hover-bg: var(--ffr-button-primary-hover-bg);
    --ffr-social-control-hover-text: var(--ffr-button-primary-hover-text);
    --ffr-social-control-hover-border: var(--ffr-button-primary-hover-bg);
    --ffr-social-control-focus: var(--ffr-focus-ring);

    /* Shell component contract. These aliases let header/navigation/footer
       consume the unified API without depending directly on legacy
       --ffr-theme-* variables. */
    --ffr-header-bg: var(--ffr-color-primary);
    --ffr-header-bg-secondary: var(--ffr-color-primary-dark);
    --ffr-header-text: var(--ffr-color-white);
    --ffr-header-text-muted: var(--ffr-color-text-light);
    --ffr-header-border: var(--ffr-color-border);
    --ffr-header-border-strong: var(--ffr-color-primary-alt);
    --ffr-header-surface-strong: var(--ffr-bg-surface-strong);
    --ffr-header-surface-soft: var(--ffr-bg-surface-soft);
    --ffr-header-link: var(--ffr-link);
    --ffr-header-link-hover: var(--ffr-link-hover);
    --ffr-header-button-bg: var(--ffr-button-primary-bg);
    --ffr-header-button-text: var(--ffr-button-primary-text);
    --ffr-header-button-hover-bg: var(--ffr-button-primary-hover-bg);
    --ffr-header-button-hover-text: var(--ffr-button-primary-hover-text);
    --ffr-header-input-bg: var(--ffr-form-control-bg);
    --ffr-header-input-text: var(--ffr-form-control-text);
    --ffr-header-input-border: var(--ffr-border-strong);
    --ffr-header-focus: var(--ffr-focus-ring);
    --ffr-header-shadow: var(--ffr-shadow-2);

    --ffr-nav-bg: var(--ffr-color-primary);
    --ffr-nav-text: var(--ffr-color-white);
    --ffr-nav-border: var(--ffr-border-default);
    --ffr-nav-surface-soft: var(--ffr-bg-surface-soft);
    --ffr-nav-link-hover: var(--ffr-link-hover);
    --ffr-nav-hover-bg: var(--ffr-bg-surface-strong);
    --ffr-nav-dropdown-bg: var(--ffr-bg-elevated);
    --ffr-nav-dropdown-text: var(--ffr-text-primary);
    --ffr-nav-dropdown-hover: var(--ffr-bg-surface-alt);
    --ffr-nav-dropdown-link-hover: var(--ffr-link);
    --ffr-nav-dropdown-border: var(--ffr-border-subtle);

    --ffr-footer-bg: var(--ffr-color-primary);
    --ffr-footer-bg-secondary: var(--ffr-color-primary-dark);
    --ffr-footer-text: var(--ffr-color-white);
    --ffr-footer-text-muted: var(--ffr-color-text-light);
    --ffr-footer-border: var(--ffr-border-default);
    --ffr-footer-link: var(--ffr-link);
    --ffr-footer-link-hover: var(--ffr-link-hover);
    --ffr-footer-accent: var(--ffr-accent);

    --ffr-form-control-bg: var(--ffr-input-background);
    --ffr-form-control-text: var(--ffr-color-text-body);
    --ffr-form-control-placeholder: var(--ffr-color-text-muted);
    --ffr-form-control-border: var(--ffr-color-border);
    --ffr-form-control-focus: var(--ffr-focus-ring);
    --ffr-form-control-disabled-bg: var(--ffr-color-surface-muted);
    --ffr-form-control-disabled-text: var(--ffr-color-text-light);

    /* Shared UI component contract — Core Framework Stage 2.
       Root values intentionally preserve the pre-Stage-2 visual contract.
       The Variant Master opts into semantic mappings through
       data-ffr-core-stage2="1" below. */

    /* Elevated/popover semantics (datepicker, menus, future tooltips). */
    --ffr-elevated-text: var(--ffr-color-text-main);
    --ffr-elevated-text-muted: var(--ffr-color-text-muted);
    --ffr-elevated-border: var(--ffr-color-border);
    --ffr-elevated-surface-alt: #e8eaeb;
    --ffr-elevated-surface-hover: #f3f5f7;
    --ffr-elevated-heading-bg: #2d4668;
    --ffr-elevated-heading-text: #ffffff;
    --ffr-elevated-selected-bg: #2d4668;
    --ffr-elevated-selected-text: #ffffff;

    /* Tabs / segmented controls. */
    --ffr-tab-bg: var(--ffr-color-surface-muted);
    --ffr-tab-text: var(--ffr-color-primary);
    --ffr-tab-muted: #6b7280;
    --ffr-tab-border: #d9e0ea;
    --ffr-tab-border-subtle: #e7ecf3;
    --ffr-tab-surface: #ffffff;
    --ffr-tab-surface-alt: #f5f7fb;
    --ffr-tab-hover-bg: #eef3f9;
    --ffr-tab-hover-text: #2d4668;
    --ffr-tab-active-bg: linear-gradient(135deg, #2d4668, #1f334d);
    --ffr-tab-active-text: #ffffff;
    --ffr-tab-mobile-active-bg: linear-gradient(135deg, #ffffff, #f8fafc);
    --ffr-tab-mobile-active-text: #2d4668;
    --ffr-tab-focus: var(--ffr-color-focus);
    --ffr-tab-shadow: 0 10px 30px rgba(2, 8, 23, 0.10);
    --ffr-tab-shadow-soft: 0 6px 18px rgba(2, 8, 23, 0.08);

    /* Core 3.0 tab component compatibility roles. These preserve the
       historical .ffr-tabs__* presentation until Stage 2 is enabled. */
    --ffr-tab-background: #eeeeee;
    --ffr-tab-color: #1f3b5b;
    --ffr-tab-hover-background: var(--ffr-color-primary, #ffffff);
    --ffr-tab-hover-color: #ffffff;
    --ffr-tab-active-background: var(--ffr-color-primary, #1f3b5b);
    --ffr-tab-active-color: var(--ffr-color-on-primary, #ffffff);
    --ffr-tab-opener-bg: var(--ffr-color-surface, #ffffff);
    --ffr-tab-opener-text: var(--ffr-color-primary, #1f3b5b);

    /* Date picker / calendar popover. */
    --ffr-datepicker-bg: #fbfbfb;
    --ffr-datepicker-text: var(--ffr-color-text-main);
    --ffr-datepicker-muted: rgba(58, 58, 58, .5);
    --ffr-datepicker-border: #fcfcfc;
    --ffr-datepicker-week-bg: #e8eaeb;
    --ffr-datepicker-week-text: #707070;
    --ffr-datepicker-header-bg: #2d4668;
    --ffr-datepicker-header-text: #ffffff;
    --ffr-datepicker-selected-bg: #2d4668;
    --ffr-datepicker-selected-text: #ffffff;
    --ffr-datepicker-input-bg: transparent;
    --ffr-datepicker-input-text: #2d4668;
    --ffr-datepicker-input-border: #dddddd;
    --ffr-datepicker-focus: var(--ffr-color-focus);

    /* Search results, badges and pagination. */
    --ffr-search-title: var(--ffr-color-primary);
    --ffr-search-summary: var(--ffr-color-text-muted);
    --ffr-search-item-border: var(--ffr-color-divider);
    --ffr-search-link: var(--ffr-color-primary);
    --ffr-search-url-link: var(--ffr-color-primary-dark);
    --ffr-search-description: var(--ffr-color-text-body);
    --ffr-search-featured-bg: var(--ffr-color-primary-light);
    --ffr-search-featured-border: var(--ffr-color-border);
    --ffr-search-featured-accent: var(--ffr-color-primary);
    --ffr-badge-featured-bg: var(--ffr-color-primary);
    --ffr-badge-featured-text: var(--ffr-color-white);

    --ffr-pagination-bg: var(--ffr-color-bg-card);
    --ffr-pagination-text: var(--ffr-color-primary);
    --ffr-pagination-border: var(--ffr-color-border);
    --ffr-pagination-hover-border: var(--ffr-color-primary);
    --ffr-pagination-active-bg: var(--ffr-color-primary);
    --ffr-pagination-active-text: var(--ffr-color-white);
    --ffr-pagination-active-border: var(--ffr-color-primary);
    --ffr-pagination-focus: var(--ffr-color-primary-dark);

    /* Shared search form. */
    --ffr-search-control-icon: var(--ffr-color-text-light);
    --ffr-search-control-bg: var(--ffr-color-white);
    --ffr-search-control-text: var(--ffr-color-text-body);
    --ffr-search-control-border: var(--ffr-color-border);
    --ffr-search-control-focus: var(--ffr-color-primary);
    --ffr-search-submit-bg: var(--ffr-color-primary);
    --ffr-search-submit-text: var(--ffr-color-white);
    --ffr-search-submit-hover-bg: var(--ffr-color-primary-dark);

    /* Shared framework alert container (not the author-configurable
       Announcement Bar blueprint, which remains blueprint-specific). */
    --ffr-alert-bg: var(--ffr-color-bg-card);
    --ffr-alert-text: var(--ffr-color-text-main);
    --ffr-alert-border: var(--ffr-color-border);
    --ffr-alert-accent: var(--ffr-color-primary);
    --ffr-alert-link: var(--ffr-color-text-main);
    --ffr-alert-link-hover: var(--ffr-color-primary);
    --ffr-alert-close-bg: var(--ffr-color-bg-card);
    --ffr-alert-close-text: var(--ffr-color-text-main);
    --ffr-alert-close-border: var(--ffr-color-border);
    --ffr-alert-close-hover: var(--ffr-color-primary);
    --ffr-alert-focus: var(--ffr-color-focus);

    /* Form validation/status roles. */
    --ffr-form-error-border: #dc2626;
    --ffr-form-error-text: #b91c1c;
    --ffr-form-success-bg: rgba(22, 163, 74, 0.08);
    --ffr-form-success-text: #166534;
    --ffr-form-success-border: rgba(22, 163, 74, 0.25);

    /* Shared resources/file-list component. File-type identity colors for
       PDF/XLS remain fixed in components.css; theme decisions live here. */
    --ffr-resources-text: var(--ffr-color-text-main);
    --ffr-resources-muted: var(--ffr-color-text-muted);
    --ffr-resources-divider: var(--ffr-color-divider);
    --ffr-resources-toggle-text: var(--ffr-color-text-muted);
    --ffr-resources-toggle-active-bg: var(--ffr-color-primary-light);
    --ffr-resources-toggle-active-text: var(--ffr-color-primary);
    --ffr-resource-file-bg: var(--ffr-color-primary-alt);
    --ffr-resource-file-text: var(--ffr-color-white);
    --ffr-resource-name: var(--ffr-color-text-main);
    --ffr-resource-focus: var(--ffr-color-primary-dark);
    --ffr-resource-card-border: var(--ffr-color-border);
    --ffr-resources-simple-name: var(--ffr-color-blue);
    --ffr-resources-simple-link: var(--ffr-link-color);
    --ffr-resources-simple-divider: rgba(0, 0, 0, 0.18);

    /* Contracts reserved for shared implementations introduced during
       blueprint migration. No broad .table/.accordion selector is added here. */
    --ffr-accordion-bg: var(--ffr-color-bg-card);
    --ffr-accordion-text: var(--ffr-color-text-main);
    --ffr-accordion-border: var(--ffr-color-border);
    --ffr-accordion-trigger-bg: var(--ffr-color-bg-card);
    --ffr-accordion-trigger-text: var(--ffr-color-primary);
    --ffr-accordion-trigger-hover-bg: var(--ffr-color-primary-light);
    --ffr-accordion-focus: var(--ffr-color-focus);

    --ffr-table-bg: var(--ffr-color-bg-card);
    --ffr-table-text: var(--ffr-color-text-body);
    --ffr-table-border: var(--ffr-color-border);
    --ffr-table-header-bg: var(--ffr-color-primary);
    --ffr-table-header-text: var(--ffr-color-white);
    --ffr-table-stripe-bg: var(--ffr-color-surface-muted);
    --ffr-table-hover-bg: var(--ffr-color-primary-light);

    --ffr-tooltip-bg: var(--ffr-color-text-main);
    --ffr-tooltip-text: var(--ffr-color-white);

    /* Accessibility utility component tokens */
    --ffr-skip-link-bg: var(--ffr-color-bg-white);
    --ffr-skip-link-text: var(--ffr-color-text-main);
    --ffr-skip-link-border: var(--ffr-color-focus);
  }

  /* Core Framework Conversion — Stage 2 mappings.
     Removing data-ffr-core-stage2="1" restores the Stage 1 component
     contract while leaving the unified theme engine active. */
  body[data-ffr-theme-engine="unified-v1"][data-ffr-core-stage="1"][data-ffr-core-stage2="1"][data-ffr-theme][data-ffr-tone] {
    --ffr-tab-bg: var(--ffr-bg-surface-alt);
    --ffr-tab-text: var(--ffr-text-primary);
    --ffr-tab-muted: var(--ffr-text-muted);
    --ffr-tab-border: var(--ffr-border-default);
    --ffr-tab-border-subtle: var(--ffr-border-subtle);
    --ffr-tab-surface: var(--ffr-bg-surface);
    --ffr-tab-surface-alt: var(--ffr-bg-surface-alt);
    --ffr-tab-hover-bg: color-mix(in srgb, var(--ffr-text-primary) 4%, transparent);
    --ffr-tab-hover-text: var(--ffr-link-hover);
    --ffr-tab-active-bg: var(--ffr-button-primary-bg);
    --ffr-tab-active-text: var(--ffr-button-primary-text);
    --ffr-tab-mobile-active-bg: var(--ffr-bg-surface);
    --ffr-tab-mobile-active-text: var(--ffr-text-primary);
    --ffr-tab-focus: var(--ffr-focus-ring);
    --ffr-tab-shadow: var(--ffr-shadow-2);
    --ffr-tab-shadow-soft: var(--ffr-shadow-1);

    --ffr-tab-background: var(--ffr-tab-surface-alt);
    --ffr-tab-color: var(--ffr-text-primary);
    --ffr-tab-hover-background: var(--ffr-button-primary-bg);
    --ffr-tab-hover-color: var(--ffr-button-primary-text);
    --ffr-tab-active-background: var(--ffr-button-primary-bg);
    --ffr-tab-active-color: var(--ffr-button-primary-text);
    --ffr-tab-opener-bg: var(--ffr-tab-surface);
    --ffr-tab-opener-text: var(--ffr-text-primary);

    --ffr-datepicker-bg: var(--ffr-bg-elevated);
    --ffr-datepicker-text: var(--ffr-elevated-text);
    --ffr-datepicker-muted: var(--ffr-elevated-text-muted);
    --ffr-datepicker-border: var(--ffr-elevated-border);
    --ffr-datepicker-week-bg: var(--ffr-elevated-surface-alt);
    --ffr-datepicker-week-text: var(--ffr-elevated-text);
    --ffr-datepicker-header-bg: var(--ffr-elevated-heading-bg);
    --ffr-datepicker-header-text: var(--ffr-elevated-heading-text);
    --ffr-datepicker-selected-bg: var(--ffr-elevated-selected-bg);
    --ffr-datepicker-selected-text: var(--ffr-elevated-selected-text);
    --ffr-datepicker-input-bg: var(--ffr-form-control-bg);
    --ffr-datepicker-input-text: var(--ffr-form-control-text);
    --ffr-datepicker-input-border: var(--ffr-form-control-border);
    --ffr-datepicker-focus: var(--ffr-form-control-focus);

    --ffr-search-title: var(--ffr-text-primary);
    --ffr-search-summary: var(--ffr-text-muted);
    --ffr-search-item-border: var(--ffr-border-subtle);
    --ffr-search-link: var(--ffr-link);
    --ffr-search-url-link: var(--ffr-link);
    --ffr-search-description: var(--ffr-text-secondary);
    --ffr-search-featured-bg: var(--ffr-card-bg);
    --ffr-search-featured-border: var(--ffr-card-border);
    --ffr-search-featured-accent: var(--ffr-focus-ring);
    --ffr-badge-featured-bg: var(--ffr-accent);
    --ffr-badge-featured-text: var(--ffr-accent-contrast);

    --ffr-pagination-bg: var(--ffr-card-bg);
    --ffr-pagination-text: var(--ffr-link);
    --ffr-pagination-border: var(--ffr-card-border);
    --ffr-pagination-hover-border: var(--ffr-link-hover);
    --ffr-pagination-active-bg: var(--ffr-button-primary-bg);
    --ffr-pagination-active-text: var(--ffr-button-primary-text);
    --ffr-pagination-active-border: var(--ffr-focus-ring);
    --ffr-pagination-focus: var(--ffr-focus-ring);

    --ffr-search-control-icon: var(--ffr-form-control-placeholder);
    --ffr-search-control-bg: var(--ffr-form-control-bg);
    --ffr-search-control-text: var(--ffr-form-control-text);
    --ffr-search-control-border: var(--ffr-form-control-border);
    --ffr-search-control-focus: var(--ffr-form-control-focus);
    --ffr-search-submit-bg: var(--ffr-button-primary-bg);
    --ffr-search-submit-text: var(--ffr-button-primary-text);
    --ffr-search-submit-hover-bg: var(--ffr-button-primary-hover-bg);

    --ffr-alert-bg: var(--ffr-card-bg);
    --ffr-alert-text: var(--ffr-card-text);
    --ffr-alert-border: var(--ffr-card-border);
    --ffr-alert-accent: var(--ffr-focus-ring);
    --ffr-alert-link: var(--ffr-card-text);
    --ffr-alert-link-hover: var(--ffr-link-hover);
    --ffr-alert-close-bg: var(--ffr-button-secondary-bg);
    --ffr-alert-close-text: var(--ffr-button-secondary-text);
    --ffr-alert-close-border: var(--ffr-button-secondary-border);
    --ffr-alert-close-hover: var(--ffr-link-hover);
    --ffr-alert-focus: var(--ffr-focus-ring);

    --ffr-form-error-border: var(--ffr-status-error-border);
    --ffr-form-error-text: var(--ffr-status-error-inline-text);
    --ffr-form-success-bg: var(--ffr-status-success-bg);
    --ffr-form-success-text: var(--ffr-status-success-text);
    --ffr-form-success-border: var(--ffr-status-success-border);

    --ffr-resources-text: var(--ffr-text-primary);
    --ffr-resources-muted: var(--ffr-text-muted);
    --ffr-resources-divider: var(--ffr-border-subtle);
    --ffr-resources-toggle-text: var(--ffr-text-muted);
    --ffr-resources-toggle-active-bg: var(--ffr-button-primary-bg);
    --ffr-resources-toggle-active-text: var(--ffr-button-primary-text);
    --ffr-resource-file-bg: var(--ffr-button-primary-bg);
    --ffr-resource-file-text: var(--ffr-button-primary-text);
    --ffr-resource-name: var(--ffr-text-primary);
    --ffr-resource-focus: var(--ffr-focus-ring);
    --ffr-resource-card-border: var(--ffr-card-border);
    --ffr-resources-simple-name: var(--ffr-link);
    --ffr-resources-simple-link: var(--ffr-link);
    --ffr-resources-simple-divider: var(--ffr-border-subtle);

    --ffr-accordion-bg: var(--ffr-card-bg);
    --ffr-accordion-text: var(--ffr-card-text);
    --ffr-accordion-border: var(--ffr-card-border);
    --ffr-accordion-trigger-bg: var(--ffr-button-secondary-bg);
    --ffr-accordion-trigger-text: var(--ffr-button-secondary-text);
    --ffr-accordion-trigger-hover-bg: var(--ffr-button-secondary-hover-bg);
    --ffr-accordion-focus: var(--ffr-focus-ring);

    --ffr-table-bg: var(--ffr-card-bg);
    --ffr-table-text: var(--ffr-card-text);
    --ffr-table-border: var(--ffr-border-default);
    --ffr-table-header-bg: var(--ffr-button-primary-bg);
    --ffr-table-header-text: var(--ffr-button-primary-text);
    --ffr-table-stripe-bg: var(--ffr-bg-surface-alt);
    --ffr-table-hover-bg: var(--ffr-bg-surface-strong);

    --ffr-tooltip-bg: var(--ffr-bg-inverse);
    --ffr-tooltip-text: var(--ffr-text-inverse);
  }
}
