/*
Partners 3.0 shared CSS tokens.
Purpose: small, stable theme variables used by v3 Master Pages and feature pages.
*/

:root {
    --ss3-font-awesome: "Font Awesome 7 Pro";
    --ss3-font-family-base: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --ss3-font-family-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;

    --ss3-font-weight-regular: 400;
    --ss3-font-weight-medium: 600;
    --ss3-font-weight-strong: 700;

    --ss3-line-height-tight: 1.2;
    --ss3-line-height-data: 1.35;
    --ss3-line-height-body: 1.45;

    --ss3-font-size-label: 0.8125rem;
    --ss3-font-size-supporting: clamp(0.8125rem, calc(0.78rem + 0.16vw), 0.875rem);
    --ss3-font-size-body: clamp(0.9375rem, calc(0.90rem + 0.18vw), 1rem);
    --ss3-font-size-data: clamp(1rem, calc(0.96rem + 0.18vw), 1.0625rem);
    --ss3-font-size-control: 1rem;
    --ss3-font-size-app-title: clamp(1.0625rem, calc(0.98rem + 0.38vw), 1.25rem);
    --ss3-font-size-section-title: clamp(1.125rem, calc(1.02rem + 0.45vw), 1.25rem);
    --ss3-font-size-page-title: clamp(1.375rem, calc(1.20rem + 0.75vw), 1.625rem);

    --ss3-theme-page: #FFFFFF;
    --ss3-theme-surface: #FFFFFF;
    --ss3-theme-surface-muted: #EEF4F8;
    --ss3-theme-text: #0F172A;
    --ss3-theme-text-muted: #475569;
    --ss3-theme-shell: #1E5A93;
    --ss3-theme-shell-text: #FFFFFF;
    --ss3-theme-action: #0069B4;
    --ss3-theme-action-text: #FFFFFF;
    --ss3-theme-form-action-bar: #0B2D4D;
    --ss3-theme-form-action-bar-text: #FFFFFF;
    --ss3-theme-border: #C7D2DE;
    --ss3-theme-border-strong: #7A8DA1;
    --ss3-theme-divider-subtle: #E2E8F0;

    --ss3-theme-action-secondary: #5C677A;
    --ss3-theme-action-destructive: #B42318;
    --ss3-theme-action-destructive-hover: #8F1D14;

    /* Compatibility alias retained for existing shared/feature consumers. */
    --ss3-theme-page-text: var(--ss3-theme-text);

    --ss3-partyR: #C52D25;
    --ss3-partyD: #00478D;
    --ss3-partyU: #991583;
    --ss3-partyG: #00782E;
    --ss3-partyX: #000000;

    --ss3-color-page: var(--ss3-theme-page);
    --ss3-color-surface: var(--ss3-theme-surface);
    --ss3-color-surface-muted: var(--ss3-theme-surface-muted);
    --ss3-color-border: var(--ss3-theme-border);
    --ss3-color-border-strong: var(--ss3-theme-border-strong);
    --ss3-color-divider-subtle: var(--ss3-theme-divider-subtle);
    --ss3-color-text: var(--ss3-theme-text);
    --ss3-color-text-muted: var(--ss3-theme-text-muted);
    --ss3-color-link: var(--ss3-theme-action);
    --ss3-color-link-hover: #005A99;
    --ss3-color-primary: var(--ss3-theme-action);
    --ss3-color-primary-contrast: var(--ss3-theme-action-text);
    --ss3-color-primary-soft: rgb(0 105 180 / 0.10);
    --ss3-color-action: var(--ss3-theme-action);
    --ss3-color-action-hover: #005A99;
    --ss3-color-action-soft: rgb(0 105 180 / 0.10);
    --ss3-color-action-secondary: var(--ss3-theme-action-secondary);
    --ss3-color-action-secondary-hover: #3F4858;
    --ss3-color-action-secondary-soft: rgb(92 103 122 / 0.12);
    --ss3-color-action-destructive: var(--ss3-theme-action-destructive);
    --ss3-color-action-destructive-hover: var(--ss3-theme-action-destructive-hover);
    --ss3-color-action-destructive-soft: rgb(180 35 24 / 0.10);
    --ss3-color-accent: #0F766E;
    --ss3-color-warning: #8A5A00;
    --ss3-color-warning-bg: #FFF7DB;
    --ss3-color-error: #A82020;
    --ss3-color-error-bg: #FFF0F0;
    --ss3-color-success: #146C43;
    --ss3-color-success-bg: #EDF9F2;
    --ss3-color-info: #24527A;
    --ss3-color-info-bg: #EEF6FF;

    /* Shared DataTables defaults and optional row interaction variants. */
    --ss3-color-grid-stripe: rgb(15 23 42 / 0.018);
    --ss3-color-grid-hover: rgb(0 105 180 / 0.045);

    --ss3-shell-header-bg: var(--ss3-theme-shell);
    --ss3-shell-header-text: var(--ss3-theme-shell-text);
    --ss3-shell-header-link: var(--ss3-theme-shell-text);
    --ss3-shell-menu-bg: var(--ss3-theme-surface);
    --ss3-shell-footer-bg: var(--ss3-theme-shell);
    --ss3-shell-footer-text: var(--ss3-theme-shell-text);

    --ss3-task-header-bg: var(--ss3-theme-form-action-bar);
    --ss3-task-header-text: var(--ss3-theme-form-action-bar-text);
    --ss3-task-header-secondary-bg: var(--ss3-theme-surface);
    --ss3-task-header-secondary-text: var(--ss3-theme-form-action-bar);
    --ss3-task-header-primary-bg: var(--ss3-theme-action);
    --ss3-task-header-primary-text: var(--ss3-theme-action-text);

    --ss3-space-1: 0.25rem;
    --ss3-space-2: 0.5rem;
    --ss3-space-3: 0.75rem;
    --ss3-space-4: 1rem;
    --ss3-space-5: 1.25rem;
    --ss3-space-6: 1.5rem;
    --ss3-space-8: 2rem;

    /* Resulting semantic separations: the owning composition applies each once. */
    --ss3-gap-label: var(--ss3-space-1);
    --ss3-gap-inline: var(--ss3-space-2);
    --ss3-gap-row: var(--ss3-space-3);
    --ss3-gap-column: var(--ss3-space-4);
    --ss3-gap-heading: var(--ss3-space-3);
    --ss3-gap-group: var(--ss3-space-4);
    --ss3-gap-actions: var(--ss3-space-3);
    --ss3-gap-heading-actions: var(--ss3-space-4);
    --ss3-gap-heading-wrap: var(--ss3-space-2);
    --ss3-gap-section-before: var(--ss3-space-8);
    --ss3-gap-section-after: var(--ss3-space-4);

    --ss3-radius-sm: 0.30rem;
    --ss3-radius-md: 0.30rem;
    --ss3-radius-lg: 0.30rem;
    --ss3-shadow-sm: 0 1px 2px rgb(15 23 42 / 0.08);
    --ss3-shadow-md: 0 8px 24px rgb(15 23 42 / 0.12);

    /* Compatibility alias retained for existing consumers. */
    --ss3-line-height-base: var(--ss3-line-height-body);
    --ss3-control-height: 2.5rem;
    --ss3-site-max-width: 86rem;
    --ss3-z-drawer: 600;
    --ss3-z-modal: 900;
}

@media screen and (max-width: 39.9375em) {
    :root { --ss3-gap-section-before: var(--ss3-space-6); }
}
