/* BuildOrbit design tokens (Feature/redesing-prompt.md sections 11, 12, 41): the --app-* variables in light and dark.
   Shared by the desk (buildorbit-ds.css) and the website pages: login, client portal (buildorbit-web.css). */
:root, [data-theme="light"] {
	--app-primary: #122B3A;
	--app-primary-hover: #0F2433;
	--app-primary-soft: #E8EEF2;
	--app-on-primary: #FFFFFF;
	--app-accent: #A84E2F;
	--app-accent-soft: #F6E9E3;
	--app-accent-text: #97462A;
	--app-teal: #2F6F68;
	--app-teal-soft: #E3F0EE;

	--app-bg: #FFFFFF;  /* white page (2026-10-06, was warm ivory #F7F4EE) */
	/* sidebar: the neutral light grey of the CRM app (owner's choice 2026-10-07; LAYA: every app, only the sidebar) */
	--app-sidebar: #F8F8F8;
	--app-sidebar-border: #EDEDED;
	--app-sidebar-hover: #EFEFEF;
	--app-sidebar-active-border: #E2E2E2;
	--app-surface: #FFFFFF;
	/* neutral greys like the sidebar (owner 2026-10-09; were warm cream #FBF9F5 / #F4F0E9 / #E7E0D5 / #8F8473) */
	--app-surface-2: #F8F8F8;
	--app-hover: #EFEFEF;
	--app-stone: #E2E2E2;
	--app-border: #E5E5E5;
	--app-border-strong: #8A8A8A;

	--app-text: #17212B;
	--app-text-secondary: #475467;
	--app-text-muted: #667085;
	--app-text-disabled: #A3A3A3;

	--app-success: #16805C; --app-success-text: #126B4D; --app-success-bg: #EAF7F1;
	--app-warning: #B7791F; --app-warning-text: #8A5A12; --app-warning-bg: #FFF7E6;
	--app-danger: #C0392B;  --app-danger-text: #B42318;  --app-danger-bg: #FDEDEC;
	--app-info: #356AE6;    --app-info-text: #2B57C4;    --app-info-bg: #EEF4FF;
	--app-neutral: #98A2B3; --app-neutral-text: #475467; --app-neutral-bg: #F0F0F0;
	--app-on-danger: #FFFFFF;
	--app-on-success: #FFFFFF;
	--app-toggle-on: #2F6F68;
	/* project stages: one muted, material colour each (never the status green / amber / red) */
	--app-stage-sales: #3E6A9A; --app-stage-sales-bg: #EAF0F7;
	--app-stage-design: #7A4E86; --app-stage-design-bg: #F3ECF5;
	--app-stage-execution: #97462A; --app-stage-execution-bg: #F6E9E3;
	--app-stage-handover: #2A6560; --app-stage-handover-bg: #E3F0EE;
	--app-stage-lost: #5B6474; --app-stage-lost-bg: #F0F0F0;
	/* charts: categorical series in fixed order (validated: CVD + normal vision, light and dark; dataviz reference palette) */
	--app-chart-1: #2a78d6; --app-chart-2: #1baf7a; --app-chart-3: #eda100; --app-chart-4: #6250d6; --app-chart-5: #eb6834; --app-chart-6: #e87ba4;

	--app-focus-ring: 0 0 0 3px rgba(18, 43, 58, .18);
	--app-shadow-sm: 0 1px 2px rgba(23, 33, 43, .05);
	--app-shadow-md: 0 4px 12px rgba(23, 33, 43, .08), 0 1px 3px rgba(23, 33, 43, .06);
	--app-shadow-lg: 0 16px 40px rgba(23, 33, 43, .14), 0 2px 8px rgba(23, 33, 43, .06);
	--app-overlay: rgba(18, 23, 28, .32);

	--app-radius-xs: 4px;
	--app-radius-sm: 6px;
	--app-radius-md: 8px;
	--app-radius-lg: 10px;

	--app-space-1: 4px; --app-space-2: 8px; --app-space-3: 12px; --app-space-4: 16px; --app-space-5: 20px;
	--app-space-6: 24px; --app-space-8: 32px; --app-space-10: 40px; --app-space-12: 48px; --app-space-16: 64px;

	--app-font: "InterVariable", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	/* type scale (2026-10-12: every font-size is one of these) */
	--app-fs-page: 32px; --app-fs-figure: 24px; --app-fs-section: 20px; --app-fs-xl: 18px; --app-fs-lg: 16px; --app-fs-card: 15px;
	--app-fs-body: 14px; --app-fs-secondary: 13px; --app-fs-meta: 12px; --app-fs-micro: 11px;
	/* tint palette (figure cards, home app cards, task board): one meaning = one colour (2026-10-12) */
	--app-tint-blue: #2563eb; --app-tint-red: #dc2626; --app-tint-green: #15803d; --app-tint-amber: #b45309; --app-tint-violet: #7c3aed;
	--app-tint-teal: #0d9488; --app-tint-indigo: #4f46e5; --app-tint-rose: #e11d48; --app-tint-gray: #475569;
	--app-on-dark: #FFFFFF; /* text / icons on dark overlays (viewer, lightbox, selection bars) */

	--app-control-h: 40px;
	--app-control-h-sm: 32px;
	/* toolbar controls (search, switches, filters, small buttons) share one height (2026-10-12) */
	--app-toolbar-h: 36px;
	--app-row-h: 48px;
	--app-ease: cubic-bezier(.2, 0, 0, 1);
	--app-dur: 160ms;
}
[data-theme="dark"] {
	--app-tint-blue: #60a5fa; --app-tint-red: #f87171; --app-tint-green: #4ade80; --app-tint-amber: #fbbf24; --app-tint-violet: #a78bfa;
	--app-tint-teal: #2dd4bf; --app-tint-indigo: #818cf8; --app-tint-rose: #fb7185; --app-tint-gray: #94a3b8;
	--app-primary: #8FB3C9; --app-primary-hover: #A6C4D6; --app-primary-soft: #1E2C37; --app-on-primary: #0E1A22;
	--app-accent: #E08A66; --app-accent-soft: #3A2620; --app-accent-text: #E08A66;
	--app-teal: #6FB8AE; --app-teal-soft: #17302D;
	--app-bg: #12171C; --app-sidebar: #161C23; --app-sidebar-border: #2C343D; --app-sidebar-hover: #222A33; --app-sidebar-active-border: #2C343D; --app-surface: #1A2129; --app-surface-2: #161C23; --app-hover: #222A33;
	--app-stone: #2C343D; --app-border: #2C343D; --app-border-strong: #6B747E;
	--app-text: #ECE7DF; --app-text-secondary: #B7B0A5; --app-text-muted: #9A948A; --app-text-disabled: #5A636D;
	--app-success: #4CC38A; --app-success-text: #4CC38A; --app-success-bg: #15302A;
	--app-warning: #E3A84A; --app-warning-text: #E3A84A; --app-warning-bg: #33280F;
	--app-danger: #F07B6E;  --app-danger-text: #F07B6E;  --app-danger-bg: #3A1E1C;
	--app-info: #7FA6FF;    --app-info-text: #7FA6FF;    --app-info-bg: #1C2740;
	--app-neutral: #7A756D; --app-neutral-text: #B7B0A5; --app-neutral-bg: #262D36;
	--app-on-danger: #1A0B09;
	--app-on-success: #0B2118;
	--app-toggle-on: #3A8279;
	--app-stage-sales: #8DB0DA; --app-stage-sales-bg: #1D2A3A;
	--app-stage-design: #C49BD0; --app-stage-design-bg: #2E2235;
	--app-stage-execution: #E08A66; --app-stage-execution-bg: #3A2620;
	--app-stage-handover: #6FB8AE; --app-stage-handover-bg: #17302D;
	--app-stage-lost: #9A948A; --app-stage-lost-bg: #262D36;
	--app-chart-1: #3987e5; --app-chart-2: #199e70; --app-chart-3: #c98500; --app-chart-4: #9085e9; --app-chart-5: #d95926; --app-chart-6: #d55181;
	--app-focus-ring: 0 0 0 3px rgba(143, 179, 201, .28);
	--app-shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);
	--app-shadow-md: 0 4px 12px rgba(0, 0, 0, .35);
	--app-shadow-lg: 0 16px 40px rgba(0, 0, 0, .5);
	--app-overlay: rgba(0, 0, 0, .55);
}
/* website pages (sign-in, client portal) get data-theme from web-portal.js: the theme picked in the desk, else light
   (they used to follow the device setting, which made the sign-in page dark on every dark Windows theme) */
