:root {
	/* Brand palette: white, deep navy, orange, silver (approved identity 25D). */
	--am-navy-950: #071a35;
	--am-navy-900: #0b2344;
	--am-navy-800: #12305a;
	--am-navy-700: #28415f;
	--am-navy-600: #3d5473;
	--am-orange-600: #fc6018;
	--am-orange-500: #fc6018;
	--am-orange-text: #c94400;
	--am-orange-hover: #e9530f;
	--am-orange-100: #fff0e9;
	--am-orange-50: #fff7f2;
	--am-silver-500: #aeb7c2;
	--am-silver-300: #d7dde4;
	--am-silver-200: #e5e9ee;
	--am-silver-100: #f1f4f7;
	--am-white: #ffffff;
	--am-surface: #f8fafc;

	/* Status colors, checked at WCAG AA on white and on their soft backgrounds. */
	--am-success: #0c6d3b;
	--am-success-strong: #0c6d3b;
	--am-warning: var(--am-orange-text);
	--am-danger: #b42318;
	--am-info: #28415f;
	--am-focus: #165dff;

	/* Approved action orange; resting labels use navy for AA text contrast. */
	--am-action: var(--am-orange-600);
	--am-action-hover: var(--am-orange-hover);

	/* Brand orange: non-text accents only (active indicator, nodes, selected rings). */
	--am-brand: var(--am-orange-600);
	--am-brand-bright: var(--am-orange-500);
	--am-brand-soft: var(--am-orange-100);

	/* Semantic roles. */
	--am-text: var(--am-navy-950);
	--am-text-muted: var(--am-navy-700);
	--am-text-subtle: #5a6b81;
	--am-link: var(--am-navy-900);
	--am-canvas: var(--am-white);
	--am-surface-2: var(--am-silver-100);
	--am-border: var(--am-silver-200);
	--am-border-strong: var(--am-silver-300);
	--am-status-success-bg: #e6f4ec;
	--am-status-success-hover-bg: #d3ebdd;
	--am-status-success-fg: var(--am-success-strong);
	--am-status-warning-bg: var(--am-orange-100);
	--am-status-warning-fg: var(--am-navy-900);
	--am-status-danger-bg: #fbe9e7;
	--am-status-overdue-bg: #fde8e6;
	--am-status-danger-fg: var(--am-danger);
	--am-status-info-bg: #eef3f9;
	--am-status-info-fg: var(--am-navy-700);
	--am-status-neutral-bg: var(--am-silver-100);
	--am-status-neutral-fg: var(--am-navy-700);
	--am-status-danger-border: rgb(180 35 24 / 0.45);
	--am-status-warning-border: #ffd9c7;
	--am-danger-hover: #8e1c12;

	/* Portal-shell colors on the deep-navy navigation surface. */
	--am-sidebar-text: #e6edf6;
	--am-sidebar-text-muted: #b9c7d8;
	--am-sidebar-icon: #a9b8cc;
	--am-sidebar-index: #c6d5e5;
	--am-sidebar-hover-bg: rgb(255 255 255 / 0.08);
	--am-sidebar-active-bg: rgb(255 255 255 / 0.12);
	--am-sidebar-divider: rgb(255 255 255 / 0.14);
	--am-sidebar-control-border: rgb(255 255 255 / 0.28);
	--am-sidebar-control-hover-bg: rgb(255 255 255 / 0.1);
	--am-topbar-glass: rgb(255 255 255 / 0.94);
	--am-mask-opaque: #000;
	--am-drawer-scrim: rgb(7 26 53 / 0.56);
	--am-ops-matrix-fade: rgb(15 30 56 / 0.08);

	/* Spacing. */
	--am-space-1: 0.25rem;
	--am-space-2: 0.5rem;
	--am-space-3: 0.75rem;
	--am-space-4: 1rem;
	--am-space-5: 1.25rem;
	--am-space-6: 1.5rem;
	--am-space-8: 2rem;
	--am-space-10: 2.5rem;
	--am-space-12: 3rem;

	/* Type scale. */
	--am-text-xs: 0.75rem;
	--am-text-sm: 0.875rem;
	--am-text-base: 1rem;
	--am-text-md: 1.125rem;
	--am-text-lg: 1.375rem;
	--am-text-xl: 1.75rem;
	--am-text-2xl: clamp(1.875rem, 1.4rem + 1.4vw, 2.375rem);
	--am-leading-tight: 1.2;
	--am-leading-normal: 1.5;
	--am-tnum: "tnum" 1;

	/* Shape and elevation. */
	--am-radius-sm: 0.375rem;
	--am-radius-control: 0.5rem;
	--am-radius-card: 0.75rem;
	--am-radius-lg: 1rem;
	--am-radius-pill: 999px;
	--am-shadow-1: 0 1px 2px rgb(7 26 53 / 0.06);
	--am-shadow-2: 0 0.5rem 1.5rem rgb(7 26 53 / 0.06);
	--am-shadow-drawer: 0 1.5rem 3rem rgb(7 26 53 / 0.24);

	/* Layers, motion, layout. */
	--am-z-topbar: 20;
	--am-z-mobile-nav: 24;
	--am-z-backdrop: 25;
	--am-z-drawer: 30;
	--am-z-skip: 100;
	--am-duration: 160ms;
	--am-ease: cubic-bezier(0.2, 0.7, 0.2, 1);
	--am-sidebar-width: 16rem;
	--am-topbar-height: 4.75rem;
	--am-content-max: 76rem;
	--am-content-wide: 88rem;

	/* Inter is preferred when installed locally; no third-party font request is made. */
	--am-font-sans: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
