/* Design tokens. The one place for brand colours, type and radii.
   app.css and bull.css read these variables; don't add new hex navies or golds elsewhere. */
@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/inter-latin-var.woff2) format("woff2")}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/jetbrains-mono-latin-400.woff2) format("woff2")}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/jetbrains-mono-latin-500.woff2) format("woff2")}
:root{
  /* ---- Robin review (Oct 31): the single colour set. Every other navy/gold/blue variable below points here. ---- */
  --navy-900:#0f1b3a; --navy-700:#192643; --navy-500:#2c3f6d;
  --gold-500:#d1a318; --gold-400:#e5b92b; --gold-700:#7d5f06; --gold-50:#fbf4df;
  --blue-600:#1f5fd6;
  --teal:#0e9f8e; --violet:#7c3aed; --coral:#f2683c; --sky:#0ea5e9; --green:#12805c;
  --surface-page:#fff; --surface-subtle:#f7f8fb; --line:#e3e6ee; --text-1:#172036; --text-2:#5b6479;
  --err:#b42318; --err-ring:#fdecea;
  /* primary per surface: gold on sign-in and marketing, navy in the app; blue is for links and secondary in-app actions only */
  --primary-auth:var(--gold-500); --primary-auth-hover:var(--gold-400); --primary-auth-text:var(--navy-900);
  --primary-app:var(--navy-700); --primary-app-hover:var(--navy-900);
  --ring:0 0 0 4px rgba(209,163,24,.25);
  /* brand (older names, kept as aliases) */
  --br-navy:var(--navy-700); --br-navy-2:#22325a; --br-navy-3:var(--navy-500);
  --br-gold:var(--gold-500); --br-gold-hover:var(--gold-400); --br-gold-text:var(--gold-700); --br-gold-soft:var(--gold-50); --br-gold-line:#ecd68c;
  /* neutrals */
  --br-line:var(--line); --br-surface:#f3f4f8; --br-page:#fafbfc; --br-white:#fff;
  --br-text:var(--text-1); --br-text-2:var(--text-2);
  /* action / link */
  --br-blue:var(--blue-600); --br-blue-soft:#eaf1ff;
  /* Apple/iOS-style light sidebar (Oct 28, 2:13 AM: "more white, less blue") */
  --br-side:#f9f9fb; --br-side-line:#e5e5ea; --br-side-text:#1d1d1f; --br-side-text-2:#6e6e73; --br-side-icon:#6e6e73;
  --br-side-hover:rgba(0,0,0,.035); --br-side-active:rgba(0,0,0,.06);
  --br-font-ui:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Inter",system-ui,"Segoe UI",Roboto,Arial,sans-serif;
  /* the one action colour (primary buttons and links); the accent setting overrides it */
  --action:var(--br-blue); --action-hover:#1a50b8; --action-soft:var(--br-blue-soft);
  /* shape */
  --br-radius:14px; --br-radius-sm:10px;
  --br-shadow:0 1px 2px rgba(23,32,54,.05),0 2px 8px rgba(23,32,54,.04);
  /* type */
  --br-font:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --br-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --br-label-size:11px;
  /* status set: one palette for pills, tiles, board columns and bars (text colours pass WCAG AA on their soft backgrounds) */
  --st-quote:#6b5ca5;      --st-quote-bg:#efecf8;      --st-quote-text:#4a3d8a;
  --st-booked:#b7791f;     --st-booked-bg:#fdf3e1;     --st-booked-text:#8a5300;
  --st-dispatched:#1f5fd6; --st-dispatched-bg:#e8f0fd; --st-dispatched-text:#1a4fb4;
  --st-in_transit:#7c3aed; --st-in_transit-bg:#f1ebfe; --st-in_transit-text:#6227c9;
  --st-delivered:#12805c;  --st-delivered-bg:#e5f5ee;  --st-delivered-text:#0d6a4b;
  --st-invoiced:#192643;   --st-invoiced-bg:#e7eaf2;   --st-invoiced-text:#192643;
  --st-sent_to_billing:#0e7490; --st-sent_to_billing-bg:#e2f3f7; --st-sent_to_billing-text:#0b5d74;
  --st-paid:#d1a318;       --st-paid-bg:#fbf4df;       --st-paid-text:#7d5f06;
  --st-cancelled:#b42318;  --st-cancelled-bg:#fdecea;  --st-cancelled-text:#b42318;
}
/* IDs, numbers and clocks in mono */
.mono,.num,code,kbd,time,[data-mono]{font-family:var(--br-mono);font-variant-numeric:tabular-nums;letter-spacing:0}
/* status pills */
.badge.pill-quote{background:var(--st-quote-bg);color:var(--st-quote-text);border-color:transparent}
.badge.pill-booked{background:var(--st-booked-bg);color:var(--st-booked-text);border-color:transparent}
.badge.pill-dispatched{background:var(--st-dispatched-bg);color:var(--st-dispatched-text);border-color:transparent}
.badge.pill-in_transit{background:var(--st-in_transit-bg);color:var(--st-in_transit-text);border-color:transparent}
.badge.pill-delivered{background:var(--st-delivered-bg);color:var(--st-delivered-text);border-color:transparent}
.badge.pill-billing,.badge.pill-invoiced{background:var(--st-invoiced-bg);color:var(--st-invoiced-text);border-color:transparent}
.badge.pill-sent_to_billing{background:var(--st-sent_to_billing-bg);color:var(--st-sent_to_billing-text);border-color:transparent}
.badge.pill-paid{background:var(--st-paid-bg);color:var(--st-paid-text);border-color:transparent}
.badge.pill-cancelled{background:var(--st-cancelled-bg);color:var(--st-cancelled-text);border-color:transparent}
/* small lock for features not in the plan (replaces "Tier N" / "Enterprise" text in the menu and checklist) */
.lock-ic{display:inline-grid;place-items:center;width:16px;height:16px;color:currentColor;opacity:.75;flex:none}.lock-ic svg{width:12px;height:12px}
/* ---- Oct 28 (7:52 PM): pro design: type scale, elevation, motion, canvas ---- */
:root{
  --fs-12:12px; --fs-13:13px; --fs-14:14.5px; --fs-16:16px; --fs-20:20px; --fs-28:28px;
  --tnum:"tnum" 1,"cv11" 1,"ss01" 1;
  --canvas:#f6f7f9; --line-2:#e8eaf0; --line-3:#f0f2f5; --text-3:#667085;
  --sh-1:0 1px 2px rgba(16,24,40,.05);
  --sh-2:0 1px 2px rgba(16,24,40,.04),0 2px 6px -1px rgba(16,24,40,.05),0 8px 24px -12px rgba(16,24,40,.10);
  --sh-3:0 2px 4px rgba(16,24,40,.04),0 12px 28px -8px rgba(16,24,40,.18);
  --ease:cubic-bezier(.2,.8,.2,1); --dur-1:.12s; --dur-2:.2s; --dur-3:.5s;
  --up:#067647; --up-bg:#ecfdf3; --down:#b42318; --down-bg:#fef3f2;
}
