/*
 * ARGONE canonical design tokens.
 *
 * Keep actual palette values here. Feature styles may consume these tokens or
 * define a scoped semantic alias, but must not create a competing brand theme.
 */
:root {
    /* Typography: one scale for application chrome, forms and data views. */
    --argone-font-family: "Yekan Bakh FaNum", Tahoma, Arial, sans-serif;
    --argone-font-weight-thin: 100;
    --argone-font-weight-light: 300;
    --argone-font-weight-regular: 400;
    --argone-font-weight-medium: 500;
    --argone-font-weight-semibold: 600;
    --argone-font-weight-bold: 700;
    --argone-font-weight-extrabold: 800;
    --argone-font-weight-black: 900;
    --argone-font-weight-extrablack: 950;

    --argone-font-size-3xs: .625rem;
    --argone-font-size-2xs: .6875rem;
    --argone-font-size-xs: .75rem;
    --argone-font-size-sm: .8125rem;
    --argone-font-size-base: .875rem;
    --argone-font-size-md: 1rem;
    --argone-font-size-lg: 1.125rem;
    --argone-font-size-xl: 1.25rem;
    --argone-font-size-2xl: 1.5rem;
    --argone-font-size-3xl: 1.75rem;
    --argone-font-size-4xl: 2rem;
    --argone-font-size-display: 2.5rem;

    --argone-line-height-none: 1;
    --argone-line-height-tight: 1.3;
    --argone-line-height-snug: 1.45;
    --argone-line-height-normal: 1.6;
    --argone-line-height-relaxed: 1.75;
    --argone-line-height-loose: 1.9;
    --argone-letter-spacing-tight: -.01em;
    --argone-letter-spacing-normal: 0;
    --argone-letter-spacing-wide: .02em;

    /* Semantic type roles keep hierarchy stable across feature styles. */
    --argone-type-page-title: var(--argone-font-size-lg);
    --argone-type-section-title: var(--argone-font-size-md);
    --argone-type-label: var(--argone-font-size-xs);
    --argone-type-control: var(--argone-font-size-sm);
    --argone-type-table-header: var(--argone-font-size-xs);
    --argone-type-table-body: var(--argone-font-size-sm);
    --argone-type-meta: var(--argone-font-size-2xs);

    /* Spacing: 4px base grid with half steps for compact controls. */
    --argone-space-0: 0;
    --argone-space-0-5: .125rem;
    --argone-space-1: .25rem;
    --argone-space-1-5: .375rem;
    --argone-space-2: .5rem;
    --argone-space-2-5: .625rem;
    --argone-space-3: .75rem;
    --argone-space-3-5: .875rem;
    --argone-space-4: 1rem;
    --argone-space-5: 1.25rem;
    --argone-space-6: 1.5rem;
    --argone-space-8: 2rem;
    --argone-space-10: 2.5rem;
    --argone-space-12: 3rem;
    --argone-space-16: 4rem;

    /* Semantic spacing roles for shared layout and components. */
    --argone-layout-page-inline: var(--argone-space-6);
    --argone-layout-page-inline-mobile: var(--argone-space-3);
    --argone-layout-section-gap: var(--argone-space-6);
    --argone-layout-card-padding: var(--argone-space-4);
    --argone-layout-card-padding-comfortable: var(--argone-space-5);
    --argone-layout-control-gap: var(--argone-space-2);
    --argone-layout-control-padding-block: var(--argone-space-2-5);
    --argone-layout-control-padding-inline: var(--argone-space-3-5);

    /* Brand and semantic colors */
    --argone-color-primary: #2f6fed;
    --argone-color-primary-rgb: 47, 111, 237;
    --argone-color-primary-dark: #1e4fa8;
    --argone-color-primary-soft: #eef4ff;
    --argone-color-primary-border: #c7d7f5;
    --argone-color-primary-focus: #8fb2f2;
    --argone-color-on-primary: #ffffff;
    --argone-color-text: #172033;
    --argone-color-text-rgb: 23, 32, 51;
    --argone-color-muted: #667085;
    --argone-color-muted-rgb: 102, 112, 133;
    --argone-color-placeholder: #98a2b3;
    --argone-color-disabled-text: #98a2b3;
    --argone-color-disabled-surface: #f0f3f8;
    --argone-color-disabled-border: #e4e7ec;
    --argone-color-border: #e4e7ec;
    --argone-color-border-soft: #eef1f5;
    --argone-color-border-strong: #d0d5dd;
    --argone-color-surface: #ffffff;
    --argone-color-surface-soft: #f7f9fc;
    --argone-color-surface-softer: #f0f3f8;
    --argone-color-paper-surface: #ffffff;
    --argone-color-paper-text: #111827;
    --argone-color-success: #12b886;
    --argone-color-success-rgb: 18, 184, 134;
    --argone-color-success-action: #087f5b;
    --argone-color-success-action-rgb: 8, 127, 91;
    --argone-color-success-text: #087f5b;
    --argone-color-danger: #e45b61;
    --argone-color-danger-rgb: 228, 91, 97;
    --argone-color-danger-action: #c9363e;
    --argone-color-danger-action-rgb: 201, 54, 62;
    --argone-color-danger-text: #b4232d;
    --argone-color-warning: #d99a23;
    --argone-color-warning-rgb: 217, 154, 35;
    --argone-color-warning-action: #8a5a00;
    --argone-color-warning-action-rgb: 138, 90, 0;
    --argone-color-warning-text: #8a5a00;
    --argone-color-info: #2f80ed;
    --argone-color-info-rgb: 47, 128, 237;
    --argone-color-info-action: #175cd3;
    --argone-color-info-action-rgb: 23, 92, 211;
    --argone-color-info-text: #175cd3;
    --argone-color-navy: #16324f;

    /* Elevation and interaction */
    --argone-color-shadow: 0 .25rem 1rem rgba(15, 23, 42, .06);
    --argone-color-shadow-raised: 0 .8rem 2rem rgba(15, 23, 42, .12);
    --argone-color-focus: 0 0 0 .18rem rgba(var(--argone-color-primary-rgb), .09);

    /* Feature accents: semantic aliases, not independent themes. */
    --argone-color-payroll-primary: #2f6fed;
    --argone-color-payroll-primary-soft: #eef4ff;
    --argone-color-payroll-primary-border: #c7d7f5;
    --argone-color-payroll-accent: #f47d5a;
    --argone-color-payroll-accent-soft: #fff1ed;
    --argone-color-payroll-border: #e4e7ec;
    --argone-color-payroll-text: #1e2a3a;
    --argone-color-payroll-muted: #667085;
    --argone-color-payroll-page: #f7f9fc;
    --argone-color-accounting-group: #2f6fed;
    --argone-color-accounting-ledger: #0f9d8a;
    --argone-color-accounting-subsidiary: #b7791f;
    --argone-color-accounting-detail: #7a5af8;
    --argone-color-correspondence-primary: #16324f;
    --argone-color-status-success-surface: #e6fcf5;
    --argone-color-status-danger-surface: #fdecec;
    --argone-color-status-warning-surface: #fff6d9;
    --argone-color-status-info-surface: #eaf2ff;

    /* Shared geometry and motion */
    --argone-size-radius-xs: .45rem;
    --argone-size-radius-sm: .55rem;
    --argone-size-radius: .65rem;
    --argone-size-radius-lg: .8rem;
    --argone-size-control-height: 2.65rem;
    --argone-motion-fast: 160ms ease;
    --argone-motion-duration-fast: 140ms;
    --argone-motion-duration-standard: 220ms;
    --argone-motion-duration-slow: 360ms;
    --argone-motion-ease-standard: cubic-bezier(.2, .8, .2, 1);
    --argone-motion-ease-emphasized: cubic-bezier(.22, 1, .36, 1);
    --argone-motion-stagger-step: 45ms;

    /* Bootstrap foundations follow the ARGONE rhythm. */
    --bs-font-sans-serif: var(--argone-font-family);
    --bs-body-font-family: var(--argone-font-family);
    --bs-body-font-size: var(--argone-font-size-base);
    --bs-body-font-weight: var(--argone-font-weight-regular);
    --bs-body-line-height: var(--argone-line-height-normal);
    --bs-spacer: var(--argone-space-4);
}

body[data-argone-design-scope="unified"],
body[data-argone-design-scope="unified-auth"],
body.correspondence-body {
    /* Compatibility aliases used by existing shared and feature CSS. */
    --argone-ref-primary: var(--argone-color-primary);
    --argone-ref-primary-rgb: var(--argone-color-primary-rgb);
    --argone-ref-primary-dark: var(--argone-color-primary-dark);
    --argone-ref-primary-soft: var(--argone-color-primary-soft);
    --argone-ref-text: var(--argone-color-text);
    --argone-ref-muted: var(--argone-color-muted);
    --argone-ref-border: var(--argone-color-border);
    --argone-ref-border-soft: var(--argone-color-border-soft);
    --argone-ref-surface: var(--argone-color-surface);
    --argone-ref-surface-soft: var(--argone-color-surface-soft);
    --argone-ref-surface-softer: var(--argone-color-surface-softer);
    --argone-ref-success: var(--argone-color-success);
    --argone-ref-success-rgb: var(--argone-color-success-rgb);
    --argone-ref-danger: var(--argone-color-danger);
    --argone-ref-danger-rgb: var(--argone-color-danger-rgb);
    --argone-ref-warning: var(--argone-color-warning);
    --argone-ref-warning-rgb: var(--argone-color-warning-rgb);
    --argone-ref-info: var(--argone-color-info);
    --argone-ref-info-rgb: var(--argone-color-info-rgb);
    --argone-ref-navy: var(--argone-color-navy);
    --argone-ref-radius-xs: var(--argone-size-radius-xs);
    --argone-ref-radius-sm: var(--argone-size-radius-sm);
    --argone-ref-radius: var(--argone-size-radius);
    --argone-ref-radius-lg: var(--argone-size-radius-lg);
    --argone-ref-shadow: var(--argone-color-shadow);
    --argone-ref-shadow-raised: var(--argone-color-shadow-raised);
    --argone-ref-focus: var(--argone-color-focus);
    --argone-ref-control-height: var(--argone-size-control-height);
    --argone-ref-transition: var(--argone-motion-fast);

    --argone-ds-primary: var(--argone-color-primary);
    --argone-ds-primary-dark: var(--argone-color-primary-dark);
    --argone-ds-text: var(--argone-color-text);
    --argone-ds-muted: var(--argone-color-muted);
    --argone-ds-border: var(--argone-color-border-soft);
    --argone-ds-surface-soft: var(--argone-color-surface-soft);
    --argone-ds-success: var(--argone-color-success);
    --argone-ds-danger: var(--argone-color-danger);
    --argone-ds-warning: var(--argone-color-warning);
    --argone-ds-navy: var(--argone-color-navy);

    /* Bootstrap semantic bridge */
    --bs-primary: var(--argone-color-primary);
    --bs-primary-rgb: var(--argone-color-primary-rgb);
    --bs-primary-text-emphasis: var(--argone-color-primary-dark);
    --bs-primary-bg-subtle: var(--argone-color-primary-soft);
    --bs-primary-border-subtle: var(--argone-color-primary-border);
    --bs-success: var(--argone-color-success-action);
    --bs-success-rgb: var(--argone-color-success-action-rgb);
    --bs-success-text-emphasis: var(--argone-color-success-text);
    --bs-success-bg-subtle: color-mix(in srgb, var(--argone-color-success) 12%, var(--argone-color-surface));
    --bs-success-border-subtle: color-mix(in srgb, var(--argone-color-success) 35%, var(--argone-color-border));
    --bs-danger: var(--argone-color-danger-action);
    --bs-danger-rgb: var(--argone-color-danger-action-rgb);
    --bs-danger-text-emphasis: var(--argone-color-danger-text);
    --bs-danger-bg-subtle: color-mix(in srgb, var(--argone-color-danger) 10%, var(--argone-color-surface));
    --bs-danger-border-subtle: color-mix(in srgb, var(--argone-color-danger) 35%, var(--argone-color-border));
    --bs-warning: var(--argone-color-warning-action);
    --bs-warning-rgb: var(--argone-color-warning-action-rgb);
    --bs-warning-text-emphasis: var(--argone-color-warning-text);
    --bs-warning-bg-subtle: color-mix(in srgb, var(--argone-color-warning) 12%, var(--argone-color-surface));
    --bs-warning-border-subtle: color-mix(in srgb, var(--argone-color-warning) 35%, var(--argone-color-border));
    --bs-info: var(--argone-color-info-action);
    --bs-info-rgb: var(--argone-color-info-action-rgb);
    --bs-info-text-emphasis: var(--argone-color-info-text);
    --bs-info-bg-subtle: color-mix(in srgb, var(--argone-color-info) 10%, var(--argone-color-surface));
    --bs-info-border-subtle: color-mix(in srgb, var(--argone-color-info) 35%, var(--argone-color-border));
    --bs-secondary: var(--argone-color-muted);
    --bs-secondary-rgb: var(--argone-color-muted-rgb);
    --bs-tertiary-bg: var(--argone-color-surface-softer);
    --bs-body-color: var(--argone-color-text);
    --bs-body-color-rgb: var(--argone-color-text-rgb);
    --bs-body-bg: var(--argone-color-surface-soft);
    --bs-border-color: var(--argone-color-border);
    --bs-border-color-translucent: rgba(var(--argone-color-text-rgb), .15);
    --bs-secondary-color: var(--argone-color-muted);
    --bs-emphasis-color: var(--argone-color-text);
    --bs-light: var(--argone-color-surface-soft);
    --bs-light-rgb: 247, 249, 252;
    --bs-dark: var(--argone-color-navy);
    --bs-dark-rgb: 22, 50, 79;
    --bs-link-color: var(--argone-color-primary);
    --bs-link-hover-color: var(--argone-color-primary-dark);
}

[data-bs-theme="dark"] body[data-argone-design-scope="unified"],
[data-bs-theme="dark"] body[data-argone-design-scope="unified-auth"],
[data-bs-theme="dark"] body.correspondence-body {
    color-scheme: dark;
    --argone-color-primary: #2563eb;
    --argone-color-primary-rgb: 37, 99, 235;
    --argone-color-primary-dark: #1d4ed8;
    --argone-color-primary-soft: #172554;
    --argone-color-primary-border: #35558f;
    --argone-color-primary-focus: #60a5fa;
    --argone-color-on-primary: #ffffff;
    --argone-color-text: #f2f4f7;
    --argone-color-text-rgb: 242, 244, 247;
    --argone-color-muted: #98a2b3;
    --argone-color-muted-rgb: 152, 162, 179;
    --argone-color-disabled-text: #98a2b3;
    --argone-color-disabled-surface: #1d2939;
    --argone-color-disabled-border: #475467;
    --argone-color-success-text: #6ce9c3;
    --argone-color-danger-text: #ff9b9f;
    --argone-color-warning-text: #f6c969;
    --argone-color-info-text: #9cc4ff;
    --argone-color-border: #344054;
    --argone-color-border-soft: #1d2939;
    --argone-color-border-strong: #475467;
    --argone-color-surface: #101828;
    --argone-color-surface-soft: #161f2f;
    --argone-color-surface-softer: #1d2939;
    --argone-color-status-success-surface: #064e3b;
    --argone-color-status-danger-surface: #7a1f24;
    --argone-color-status-warning-surface: #6b4700;
    --argone-color-status-info-surface: #123b6b;
    --argone-color-navy: #f9fafb;
    --argone-color-shadow: 0 .25rem 1rem rgba(0, 0, 0, .16);
    --argone-color-shadow-raised: 0 .8rem 2rem rgba(0, 0, 0, .30);
    --argone-color-focus: 0 0 0 .18rem rgba(var(--argone-color-primary-rgb), .24);

    /* Bootstrap utility RGB values must follow the dark surfaces as well. */
    --bs-light: var(--argone-color-surface-soft);
    --bs-light-rgb: 22, 31, 47;
    --bs-light-text-emphasis: var(--argone-color-text);
    --bs-light-bg-subtle: var(--argone-color-surface-softer);
    --bs-light-border-subtle: var(--argone-color-border);
    --bs-dark: #0f172a;
    --bs-dark-rgb: 15, 23, 42;
    --bs-dark-text-emphasis: var(--argone-color-text);
    --bs-dark-bg-subtle: #0b1220;
    --bs-dark-border-subtle: var(--argone-color-border-strong);
    --bs-heading-color: var(--argone-color-text);
    --bs-link-color: var(--argone-color-primary);
    --bs-link-hover-color: var(--argone-color-primary-focus);
    --bs-link-color-rgb: var(--argone-color-primary-rgb);
    --bs-link-hover-color-rgb: 96, 165, 250;
    --bs-secondary-bg: var(--argone-color-surface);
    --bs-secondary-bg-rgb: 16, 24, 40;
    --bs-tertiary-bg: var(--argone-color-surface-softer);
    --bs-tertiary-bg-rgb: 29, 41, 57;
}
