/* Release 11: design tokens, in one shared file. The admin, the client pages and (from Release 12) the public pages read these.
   Spacing uses an 8px scale. One brand accent (blue) on soft neutral greys. Colours meet WCAG AA on white. */
:root{
  /* spacing (8px scale; --sp-h is the half step for tight gaps) */
  --sp-h:4px;--sp-1:8px;--sp-2:16px;--sp-3:24px;--sp-4:32px;--sp-5:40px;--sp-6:48px;--sp-8:64px;
  /* type scale */
  --font:system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans",Ubuntu,Arial,sans-serif;
  --fs-xs:.8125rem;--fs-sm:.875rem;--fs-base:1rem;--fs-md:1.125rem;--fs-lg:1.25rem;--fs-xl:1.5rem;--fs-2xl:1.75rem;
  --lh-tight:1.25;--lh:1.55;
  /* corners */
  --rad-sm:8px;--rad:12px;--rad-lg:16px;--rad-pill:999px;
  /* soft neutrals */
  --n-0:#fff;--n-25:#fbfcfd;--n-50:#f5f7fa;--n-100:#eef1f5;--n-200:#e2e6ec;--n-300:#cdd3db;--n-400:#7b8490;--n-500:#5b6470;--n-600:#4a5260;--n-700:#353c47;--n-800:#232830;--n-900:#14181e;
  /* the one brand accent */
  --accent:#1f5fbf;--accent-strong:#184c99;--accent-soft:#eaf1fc;--accent-line:#bcd2f3;--on-accent:#fff;
  /* status colours (text colour / soft background / border) */
  --ok:#14733f;--ok-soft:#e8f5ee;--ok-line:#b5dcc4;
  --warn:#8a4b00;--warn-soft:#fff5e5;--warn-line:#f1d29d;
  --bad:#b3261e;--bad-soft:#fdeeec;--bad-line:#f2bdb8;
  --info:#1f5fbf;--info-soft:#eaf1fc;--info-line:#bcd2f3;
  /* lines, shadows and very light gradients */
  --border:#e2e6ec;--border-strong:#cdd3db;--field-border:#7b8490;
  --shadow-1:0 1px 2px rgba(20,24,30,.05);
  --shadow-2:0 1px 3px rgba(20,24,30,.07),0 1px 2px rgba(20,24,30,.04);
  --shadow-3:0 10px 30px rgba(20,24,30,.10),0 2px 6px rgba(20,24,30,.05);
  --grad-head:linear-gradient(180deg,#fff 0%,#fafbfd 100%);
  --grad-hero:linear-gradient(135deg,#f3f7fe 0%,#fff 60%);
  /* sizes */
  --tap:44px;--top-h:56px;--side-w:248px;--bottom-h:64px;--content-w:1040px;
}

/* Release 11: line icons for CSS (Lucide, ISC licence – see lib/icons-LICENSE.txt). Used as masks, so they take the text colour. */
:root{--i-check:url("data:image/svg+xml,<svg  xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' > <path d='M20 6 9 17l-5-5' /> </svg>");--i-ok:url("data:image/svg+xml,<svg  xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' > <circle cx='12' cy='12' r='10' /> <path d='m16 9-5.5 5.5L8 12' /> </svg>");--i-bad:url("data:image/svg+xml,<svg  xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' > <circle cx='12' cy='12' r='10' /> <path d='m15 9-6 6' /> <path d='m9 9 6 6' /> </svg>");--i-warn:url("data:image/svg+xml,<svg  xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' > <path d='m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3' /> <path d='M12 9v4' /> <path d='M12 17h.01' /> </svg>");--i-info:url("data:image/svg+xml,<svg  xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' > <circle cx='12' cy='12' r='10' /> <path d='M12 16v-4' /> <path d='M12 8h.01' /> </svg>");--i-chev:url("data:image/svg+xml,<svg  xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' > <path d='m6 9 6 6 6-6' /> </svg>");--i-menu:url("data:image/svg+xml,<svg  xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' > <path d='M4 5h16' /> <path d='M4 12h16' /> <path d='M4 19h16' /> </svg>");--i-lock:url("data:image/svg+xml,<svg  xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' > <rect width='18' height='11' x='3' y='11' rx='2' ry='2' /> <path d='M7 11V7a5 5 0 0 1 10 0v4' /> </svg>");}
