/* =========================================================================
   Untd. Performance — design tokens
   Ported verbatim from the Untd. Performance design system
   (project 39250873-9c58-457e-a530-9b13c634f57e).

   Colours, type, space, radius, elevation and motion all resolve through
   these custom properties. The Customizer overrides a small number of them
   on :root via an inline style block, so never hard-code a hex in a
   template — read the token.
   ========================================================================= */

:root{
/* ── Base: ink (the wordmark plate) ───────────────────────────── */
--ink-1000:#000000;--ink-950:#08080A;--ink-900:#0E0F11;--ink-800:#16181B;--ink-700:#1F2226;--ink-600:#2B2F35;--ink-500:#3A3F47;
/* ── Base: chrome (machined metal neutrals) ───────────────────── */
--chrome-400:#5A616B;--chrome-300:#868D97;--chrome-200:#B4BAC3;--chrome-100:#D9DDE3;--chrome-50:#EFF1F4;--white:#FFFFFF;
/* ── Base: gold (the Street Approved badge) ───────────────────── */
--gold-100:#FFF3CC;--gold-200:#FFE79A;--gold-300:#FFD84D;--gold-400:#F5C518;--gold-500:#DDA80C;--gold-600:#B4830A;--gold-700:#7A5806;
/* ── Base: signal ─────────────────────────────────────────────── */
--red-400:#FF4A3D;--red-500:#E12B1E;--red-600:#A81A10;
--green-400:#3ED27A;--green-500:#1FA85A;
--blue-400:#4FA8E8;--blue-500:#2A7FC0;
--amber-400:#F5A524;

/* ── Semantic: surfaces ───────────────────────────────────────── */
--surface-page:var(--ink-950);
--surface-raised:var(--ink-900);
--surface-card:var(--ink-800);
--surface-card-hover:var(--ink-700);
--surface-sunken:var(--ink-1000);
--surface-inverse:var(--white);
--surface-inverse-muted:var(--chrome-50);
--surface-accent:var(--gold-400);
--surface-accent-hover:var(--gold-300);
--surface-accent-quiet:rgba(245,197,24,.12);
--surface-overlay:rgba(8,8,10,.78);
--surface-glass:rgba(22,24,27,.72);

/* ── Semantic: text ───────────────────────────────────────────── */
--text-heading:var(--white);
--text-body:var(--chrome-100);
--text-muted:var(--chrome-300);
--text-faint:var(--chrome-400);
--text-accent:var(--gold-400);
--text-on-accent:var(--ink-950);
--text-on-inverse:var(--ink-900);
--text-on-inverse-muted:var(--chrome-400);

/* ── Semantic: lines ──────────────────────────────────────────── */
--border-hairline:rgba(255,255,255,.08);
--border-default:rgba(255,255,255,.14);
--border-strong:rgba(255,255,255,.28);
--border-accent:var(--gold-400);
--border-inverse:rgba(0,0,0,.12);
--focus-ring:var(--gold-300);

/* ── Semantic: status ─────────────────────────────────────────── */
--status-success:var(--green-400);--status-success-quiet:rgba(62,210,122,.14);
--status-danger:var(--red-400);--status-danger-quiet:rgba(255,74,61,.14);
--status-warning:var(--amber-400);--status-warning-quiet:rgba(245,165,36,.14);
--status-info:var(--blue-400);--status-info-quiet:rgba(79,168,232,.14);

/* ── Gradients & effects ──────────────────────────────────────── */
--grad-chrome:linear-gradient(180deg,#F2F4F7 0%,#B4BAC3 42%,#5A616B 52%,#9AA0A8 62%,#EFF1F4 100%);
--grad-gold:linear-gradient(180deg,var(--gold-200) 0%,var(--gold-400) 45%,var(--gold-600) 100%);
--grad-protect-bottom:linear-gradient(180deg,rgba(8,8,10,0) 0%,rgba(8,8,10,.55) 45%,rgba(8,8,10,.94) 100%);
--grad-protect-top:linear-gradient(180deg,rgba(8,8,10,.9) 0%,rgba(8,8,10,0) 100%);
--carbon-weave:repeating-linear-gradient(45deg,rgba(255,255,255,.022) 0 2px,transparent 2px 4px),repeating-linear-gradient(-45deg,rgba(255,255,255,.022) 0 2px,transparent 2px 4px);

/* ── Type ─────────────────────────────────────────────────────── */
--font-display:"Saira Condensed","Saira",system-ui,sans-serif;
--font-ui:"Archivo",system-ui,-apple-system,sans-serif;
--font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,monospace;

--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-black:900;

--display-1:clamp(3.5rem,7vw,6.5rem);
--display-2:clamp(2.75rem,5vw,4.5rem);
--display-3:clamp(2rem,3.4vw,3rem);
--display-lh:0.88;
--display-ls:-0.015em;
--display-skew:-8deg;

--h1:2.25rem;--h2:1.75rem;--h3:1.375rem;--h4:1.125rem;
--heading-lh:1.14;--heading-ls:-0.01em;

--body-lg:1.0625rem;--body:0.9375rem;--body-sm:0.8125rem;
--body-lh:1.55;--body-ls:0;

--label:0.75rem;--label-lh:1.2;--label-ls:0.14em;
--label-sm:0.6875rem;--label-sm-ls:0.18em;
--mono:0.8125rem;--mono-ls:0.02em;

/* ── Space ────────────────────────────────────────────────────── */
--space-0:0;--space-1:2px;--space-2:4px;--space-3:8px;--space-4:12px;--space-5:16px;--space-6:20px;
--space-7:24px;--space-8:32px;--space-9:40px;--space-10:48px;--space-11:64px;--space-12:80px;--space-13:120px;
--gutter:24px;--gutter-lg:40px;
--container:1360px;--container-narrow:820px;
--section-y:var(--space-12);--section-y-lg:var(--space-13);
--control-h-sm:32px;--control-h:44px;--control-h-lg:54px;
--touch-min:44px;

/* ── Radius ───────────────────────────────────────────────────── */
--radius-0:0;--radius-1:2px;--radius-2:4px;--radius-3:6px;--radius-4:8px;--radius-pill:999px;
--radius-control:var(--radius-2);
--radius-card:var(--radius-3);
--radius-media:var(--radius-2);
--radius-modal:var(--radius-4);
--clip-shear:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);
--clip-shear-sm:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px);

/* ── Elevation ────────────────────────────────────────────────── */
--shadow-0:none;
--shadow-1:0 1px 0 rgba(255,255,255,.05) inset,0 1px 2px rgba(0,0,0,.5);
--shadow-2:0 1px 0 rgba(255,255,255,.06) inset,0 4px 14px rgba(0,0,0,.55);
--shadow-3:0 1px 0 rgba(255,255,255,.07) inset,0 12px 32px rgba(0,0,0,.6);
--shadow-4:0 24px 60px rgba(0,0,0,.7);
--shadow-accent:0 6px 20px rgba(245,197,24,.28);
--inset-well:inset 0 2px 6px rgba(0,0,0,.6);
--edge-top:inset 0 1px 0 rgba(255,255,255,.08);
--ring-focus:0 0 0 2px var(--ink-950),0 0 0 4px var(--focus-ring);
--blur-glass:blur(14px) saturate(120%);

/* ── Motion ───────────────────────────────────────────────────── */
--dur-instant:80ms;--dur-fast:140ms;--dur-base:220ms;--dur-slow:380ms;--dur-reveal:600ms;
--ease-standard:cubic-bezier(.2,.8,.2,1);
--ease-out:cubic-bezier(.16,1,.3,1);
--ease-in:cubic-bezier(.4,0,1,1);
--ease-shift:cubic-bezier(.6,0,.2,1);
--transition-control:background-color var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard),transform var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard);
--press-scale:0.985;
--hover-lift:-1px;
}

@media (prefers-reduced-motion:reduce){
  :root{--dur-fast:0ms;--dur-base:0ms;--dur-slow:0ms;--dur-reveal:0ms}
}

/* Light scope — invoice / spec-sheet / print surfaces */
[data-theme="light"]{
--surface-page:var(--white);--surface-raised:var(--chrome-50);--surface-card:var(--white);--surface-card-hover:var(--chrome-50);
--surface-sunken:var(--chrome-100);--surface-glass:rgba(255,255,255,.8);
--text-heading:var(--ink-950);--text-body:var(--ink-700);--text-muted:var(--chrome-400);--text-faint:var(--chrome-300);
--border-hairline:rgba(0,0,0,.07);--border-default:rgba(0,0,0,.12);--border-strong:rgba(0,0,0,.24);
}
