/*
 * IPCGOV shared visual foundation.
 *
 * Host styles remain responsible for layout. This file owns the cross-product
 * identity tokens and accessibility defaults so the public portal and the
 * employee workspace cannot drift into separate brands.
 */
:root {
    color-scheme: light;

    --ipc-navy-950: #071d2f;
    --ipc-navy-900: #0b2942;
    --ipc-navy-800: #123b5a;
    --ipc-emerald-800: #066a65;
    --ipc-emerald-700: #087f78;
    --ipc-emerald-600: #0b9188;
    --ipc-gold-500: #c6a24a;
    --ipc-gold-300: #dfca8e;

    --ipc-ink: #152a3b;
    --ipc-muted: #66798a;
    --ipc-canvas: #f5f7f9;
    --ipc-surface: #ffffff;
    --ipc-surface-soft: #f6f9fa;
    --ipc-surface-emerald: #dff4f1;
    --ipc-line: #dfe7ec;
    --ipc-line-strong: #cad6de;

    --ipc-success: #08705e;
    --ipc-warning: #9c650b;
    --ipc-danger: #ae2c2c;
    --ipc-info: #245f83;

    --ipc-radius-xs: 4px;
    --ipc-radius-sm: 8px;
    --ipc-radius-md: 10px;
    --ipc-radius-lg: 12px;
    --ipc-shadow-sm: 0 1px 2px rgba(7, 29, 47, .035), 0 8px 24px rgba(7, 29, 47, .055);
    --ipc-shadow-lg: 0 24px 64px rgba(7, 29, 47, .15);
    --ipc-focus: 0 0 0 3px rgba(198, 162, 74, .34);
    --ipc-content-width: 1260px;

    /* Backwards-compatible aliases used by both existing hosts. */
    --navy-950: var(--ipc-navy-950);
    --navy-900: var(--ipc-navy-900);
    --navy-800: var(--ipc-navy-800);
    --green-800: var(--ipc-emerald-800);
    --green-700: var(--ipc-emerald-700);
    --green-600: var(--ipc-emerald-600);
    --teal-700: var(--ipc-emerald-700);
    --teal-600: var(--ipc-emerald-600);
    --teal-100: var(--ipc-surface-emerald);
    --gold: var(--ipc-gold-500);
    --gold-500: var(--ipc-gold-500);
    --gold-300: var(--ipc-gold-300);
    --ink: var(--ipc-ink);
    --muted: var(--ipc-muted);
    --canvas: var(--ipc-canvas);
    --surface: var(--ipc-surface);
    --surface-soft: var(--ipc-surface-soft);
    --surface-green: var(--ipc-surface-emerald);
    --line: var(--ipc-line);
    --line-soft: #eaf0f2;
    --success: var(--ipc-success);
    --warning: var(--ipc-warning);
    --danger: var(--ipc-danger);
    --radius-sm: var(--ipc-radius-sm);
    --radius: var(--ipc-radius-md);
    --shadow-sm: var(--ipc-shadow-sm);
    --shadow: var(--ipc-shadow-sm);
    --shadow-lg: var(--ipc-shadow-lg);
    --container: var(--ipc-content-width);
}

::selection {
    background: rgba(0, 127, 105, .18);
    color: var(--ipc-navy-900);
}

:where(button, input, select, textarea) {
    accent-color: var(--ipc-emerald-700);
}

:where(a, button, input, select, textarea, summary):focus-visible {
    outline: 2px solid var(--ipc-gold-500);
    outline-offset: 3px;
    box-shadow: var(--ipc-focus);
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto !important;
    }

    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}
