/*
    Design tokens mirrored from chambersign-portal to bring the signing app's
    visual language in line with the portal, so the two apps read as one
    product. Source: chambersign-portal/wwwroot/css/tokens.css +
    css/portal-shell.css (the portal's effective, composed theme — warm paper
    surfaces, green primary action, olive trust accent, coral c·sign wordmark,
    Newsreader serif display + Plus Jakarta Sans UI).

    APP ISOLATION: this is an independent copy. The signing app and the portal
    are deliberately separate; nothing here is linked or shared across repos.
    Eventually the two should share one tokens.css (NuGet package or codegen);
    until that decision is made each app keeps its own mirrored copy.

    The extra tokens the signing pages rely on (spacing/type scales, status
    colours, --text-* ramp) are preserved by NAME; only their VALUES were
    re-tinted to the portal's warm palette.
*/

:root {
    /* Brand — green primary action (the agreed "Signera" colour) + olive
       trust accent. The coral c·sign wordmark keeps its own --brand-mark. */
    --brand-primary: #78A557;
    --brand-primary-hover: #96BB7A;
    --brand-primary-disabled: #C4D6B4;
    --brand-primary-soft: #EAF1E3;
    --brand-primary-soft-border: #CFE0BF;
    --brand-primary-avatar-bg: #EAF1E3;
    --brand-accent: #5E7A4E;
    --brand-accent-hover: #4E6640;

    /* Coral wordmark mark — the c·sign dot. Independent of the primary
       action colour (matches the portal, which also keeps coral here). */
    --brand-mark: #FF5757;

    /* Backgrounds — warm paper */
    --bg-page: #F4EEE6;
    --bg-page-alt: #EFE7DA;
    --bg-surface: #FCFAF6;
    --bg-subtle: #FBF6EE;
    --bg-subtler: #FDFBF7;
    --bg-hover: #F0E9DD;
    --bg-sidebar: #929FB3;

    /* Text — warm ink */
    --text-heading: #211C17;
    --text-primary: #2A2320;
    --text-secondary: #7A7066;
    --text-muted: #9A8E80;
    --text-subdued: #9A8E80;
    --text-faint: #B3A899;
    --text-fainter: #C4BBAF;
    --text-faintest: #D6CEC2;

    /* Status — success (muted green) */
    --color-success: #0F6E56;
    --color-success-soft: #EAF1E3;
    --color-success-border: #CFE0BF;

    /* Status — error (muted terracotta) */
    --color-error: #993C1D;
    --color-error-soft: #F7EBE5;
    --color-error-border: #E8C7B7;

    /* Status — warning (warm amber) */
    --color-warning-icon: #E08A00;
    --color-warning-text: #8A5A00;
    --color-warning-soft: #FBF1DD;
    --color-warning-soft-alt: #FBF4E3;
    --color-warning-border: #ECD9A8;

    /* Borders — warm hairlines */
    --border-subtle: #EADFD0;
    --border-card: #E2D7C8;
    --border-button: #E2D7C8;

    /* Typography — Plus Jakarta Sans UI, Newsreader serif display */
    --font-family-base: 'Plus Jakarta Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    --font-family-default: var(--font-family-base);
    --font-family-heading: 'Newsreader', Georgia, 'Times New Roman', serif;
    --font-family-mono: monospace;

    --font-size-xs: 10px;
    --font-size-2xs: 11px;
    --font-size-sm: 12px;
    --font-size-base: 13px;
    --font-size-md: 14px;
    --font-size-lg: 15px;
    --font-size-xl: 16px;
    --font-size-2xl: 18px;
    --font-size-3xl: 20px;
    --font-size-4xl: 22px;

    /* Spacing scale (4px-based with finer steps) */
    --space-1: 2px;
    --space-2: 4px;
    --space-3: 6px;
    --space-4: 8px;
    --space-5: 10px;
    --space-6: 12px;
    --space-7: 14px;
    --space-8: 16px;
    --space-10: 20px;
    --space-12: 24px;
    --space-14: 28px;
    --space-16: 32px;
    --space-20: 60px;

    /* Border radii — the portal's softer, friendlier scale */
    --radius-sm: 8px;
    --radius-md: 12px;
    --radius-lg: 16px;
    --radius-xl: 20px;
    --radius-pill: 999px;
    --radius-full: 50%;

    /* Transitions */
    --transition-fast: 0.15s;
    --transition-spinner-fast: 0.7s;
    --transition-spinner-base: 0.8s;
}
