/* UHub Portal design tokens — single source mirrored in PortalTheme.cs (MudTheme).
   Any color/radius/shadow edit must change BOTH files identically. Light-only. */
:root {
    /* Duke Blue scale */
    --u-primary-50: #EEEDFB;
    --u-primary-100: #D6D2F4;
    --u-primary-200: #B0A8EA;
    --u-primary-300: #8A7EE0;
    --u-primary-400: #5B4BD1;
    --u-primary-500: #2E1BC0;
    --u-primary: #0D009D;      /* brand / 600 */
    --u-primary-700: #0A0080;
    --u-primary-800: #08006B;
    --u-primary-900: #05004A;
    --u-primary-container: #EAE9F5;  /* active-nav bg */

    /* Neutral */
    --u-neutral-0: #FFFFFF;
    --u-neutral-25: #FBFBFD;
    --u-neutral-50: #F6F7FB;
    --u-neutral-100: #EFF0F5;
    --u-border: #EDEEF3;         /* hairline / divider */
    --u-border-control: #B9BECB; /* input outlines (AA non-text) */
    --u-neutral-300: #D3D6E0;
    --u-neutral-500: #7C8296;
    --u-text-secondary: #6B7280;
    --u-text-primary: #1A1C29;

    /* Surfaces */
    --u-surface-page: #F6F7FB;
    --u-surface-1: #FFFFFF;
    --u-surface-2: #FBFBFD;
    --u-surface-sunken: #F1F2F7;
    --u-scrim: rgba(16, 18, 32, .44);

    /* Semantic: base / container(50) / text(darkened AA) */
    --u-success: #12A150; --u-success-bg: #E7F6EE; --u-success-text: #0B6E38;
    --u-warning: #F5A524; --u-warning-bg: #FEF4E2; --u-warning-text: #8A5A00;
    --u-error: #E5484D;   --u-error-bg: #FCEBEC;   --u-error-text: #A11D22;
    --u-info: #0072F5;    --u-info-bg: #E7F1FE;    --u-info-text: #0058C7;
    --u-neutral-chip: #F1F2F6; --u-neutral-chip-fg: #4B5563; --u-neutral-dot: #9CA3AF;

    /* Radius */
    --u-radius-xs: 6px;
    --u-radius-sm: 8px;
    --u-radius-md: 10px;
    --u-radius-lg: 12px;
    --u-radius-card: 14px;
    --u-radius-xl: 16px;
    --u-radius-2xl: 20px;
    --u-radius-pill: 999px;

    /* Duke-tinted layered shadows */
    --u-shadow-xs: 0 1px 2px rgba(13, 0, 157, .05);
    --u-shadow-sm: 0 1px 3px rgba(13, 0, 157, .06), 0 1px 2px -1px rgba(13, 0, 157, .05);
    --u-shadow-md: 0 4px 8px -2px rgba(13, 0, 157, .07), 0 2px 4px -2px rgba(13, 0, 157, .05);
    --u-shadow-lg: 0 12px 20px -6px rgba(13, 0, 157, .10), 0 4px 8px -4px rgba(13, 0, 157, .06);
    --u-shadow-xl: 0 20px 32px -8px rgba(13, 0, 157, .12), 0 8px 12px -6px rgba(13, 0, 157, .07);
    --u-shadow-2xl: 0 32px 56px -12px rgba(13, 0, 157, .16);

    /* Spacing (4px base) */
    --u-space-1: 2px;  --u-space-2: 4px;  --u-space-3: 8px;  --u-space-4: 12px;
    --u-space-5: 16px; --u-space-6: 20px; --u-space-7: 24px; --u-space-8: 32px;
    --u-space-9: 40px; --u-space-10: 48px; --u-space-12: 64px;

    /* Layout */
    --u-appbar-h: 64px;
    --u-drawer-w: 260px;
    --u-drawer-mini: 72px;
    --u-canvas-max: 1440px;
    --u-page-gutter: 24px;

    /* Motion */
    --u-dur-1: 120ms; --u-dur-2: 180ms; --u-dur-3: 240ms; --u-dur-4: 300ms;
    --u-ease-standard: cubic-bezier(.2, 0, 0, 1);
    --u-ease-emphasized: cubic-bezier(.4, 0, .2, 1);
    --u-ease-exit: cubic-bezier(.4, 0, 1, 1);

    /* Skeleton */
    --u-skeleton-base: #E9EBF0;
    --u-skeleton-highlight: #F3F2FA;

    /* Glass appbar */
    --u-glass-bg: rgba(255, 255, 255, .72);
    --u-glass-border: rgba(13, 0, 157, .06);
}

@media (prefers-reduced-transparency: reduce) {
    :root { --u-glass-bg: #FFFFFF; }
}
