/* TaxKnowledgeHub Design System - tokens */
@import url("https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;700;800&family=Public+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Source+Serif+4:ital,opsz,wght@0,8..60,400;0,8..60,600;1,8..60,400&family=IBM+Plex+Mono:wght@400;500;600&display=swap");

:root{
  --graphite-950:#0A0C0D;--graphite-900:#181C1E;--graphite-800:#2A3134;--graphite-700:#3D4649;
  --graphite-600:#525C61;--graphite-500:#6E787D;--graphite-200:#C7CED0;--graphite-100:#E6EAEB;--graphite-50:#F4F6F6;
  --navy-900:#0F1F33;--navy-800:#14243D;--navy-700:#1E3A5F;--navy-600:#2C5686;
  --navy-500:#3E74AE;--navy-100:#DCE7F3;--navy-50:#F1F5FA;
  --green-900:#0B3A24;--green-800:#125C39;--green-700:#177A4A;--green-600:#1F9459;
  --green-500:#3FBE7C;--green-200:#A9E3C4;--green-100:#DFF3E8;--green-50:#F1FAF5;
  --grey-950:#0E1213;--grey-900:#1B2224;--grey-800:#2C3538;--grey-700:#3A4247;
  --grey-600:#5A6469;--grey-500:#6B757B;--grey-400:#9AA4AA;--grey-300:#C3CACD;
  --grey-200:#D9DEE0;--grey-150:#E6EAEA;--grey-100:#EEF1F1;--grey-50:#F7F9F8;--white:#FFFFFF;
  --red-800:#8C1D18;--red-700:#B3261E;--red-100:#FBE9E7;
  --blue-700:#1E4E8C;--blue-100:#DCE7F3;

  --text-heading:var(--graphite-900);
  --text-body:var(--grey-800);
  --text-muted:var(--grey-500);
  --text-subtle:var(--grey-400);
  --text-inverse:var(--white);
  --text-link:var(--navy-700);
  --text-link-hover:var(--graphite-800);
  --text-accent:var(--green-800);
  --text-price:var(--graphite-800);
  --text-danger:var(--red-700);

  --surface-page:var(--white);
  --surface-sunken:var(--grey-50);
  --surface-card:var(--white);
  --surface-card-alt:var(--grey-50);
  --surface-inverse:var(--graphite-900);
  --surface-inverse-alt:var(--graphite-950);
  --surface-brand-tint:var(--graphite-50);
  --surface-accent-tint:var(--green-100);
  --surface-info-tint:var(--navy-50);
  --surface-danger-tint:var(--red-100);
  --surface-overlay:rgba(10,12,13,.55);

  --border-subtle:var(--grey-150);
  --border-default:var(--grey-200);
  --border-strong:var(--grey-300);
  --border-brand:var(--graphite-800);
  --border-accent:var(--green-600);
  --border-inverse:rgba(255,255,255,.16);
  --focus-ring:var(--green-600);

  --action-primary-bg:var(--green-800);
  --action-primary-bg-hover:var(--green-900);
  --action-primary-fg:var(--white);
  --action-secondary-bg:var(--graphite-800);
  --action-secondary-bg-hover:var(--graphite-900);
  --action-secondary-fg:var(--white);
  --action-outline-fg:var(--graphite-800);
  --action-outline-border:var(--graphite-800);
  --action-ghost-fg:var(--grey-700);
  --action-ghost-bg-hover:var(--grey-100);
  --action-disabled-bg:var(--grey-150);
  --action-disabled-fg:var(--grey-400);

  --status-live-bg:var(--red-700);--status-live-fg:var(--white);
  --status-ondemand-bg:var(--navy-100);--status-ondemand-fg:var(--navy-800);
  --status-bundle-bg:var(--green-100);--status-bundle-fg:var(--green-900);
  --status-complete-bg:var(--graphite-100);--status-complete-fg:var(--graphite-900);
  --status-neutral-bg:var(--grey-100);--status-neutral-fg:var(--grey-700);

  --font-display:"Archivo","Helvetica Neue",Arial,sans-serif;
  --font-sans:"Public Sans","Helvetica Neue",Arial,sans-serif;
  --font-serif:"Source Serif 4",Georgia,"Times New Roman",serif;
  --font-mono:"IBM Plex Mono",ui-monospace,"SF Mono",Menlo,monospace;

  --text-3xs:11px;--text-2xs:12px;--text-xs:13px;--text-sm:14px;--text-base:16px;
  --text-md:17px;--text-lg:19px;--text-xl:22px;--text-2xl:26px;--text-3xl:32px;
  --text-4xl:40px;--text-5xl:52px;--text-6xl:64px;

  --leading-tight:1.08;--leading-snug:1.2;--leading-heading:1.28;
  --leading-normal:1.5;--leading-relaxed:1.65;--leading-loose:1.8;

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

  --tracking-tightest:-.03em;--tracking-tight:-.015em;--tracking-normal:0;
  --tracking-wide:.02em;--tracking-caps:.08em;--tracking-caps-loose:.12em;

  --space-0:0;--space-1:2px;--space-2:4px;--space-3:5px;--space-4:8px;--space-5:10px;
  --space-6:12px;--space-7:16px;--space-8:20px;--space-9:24px;--space-10:32px;
  --space-11:40px;--space-12:48px;--space-13:56px;--space-14:64px;--space-15:80px;
  --space-16:96px;--space-17:120px;
  --gap-grid:var(--space-9);
  --pad-card:var(--space-9);--pad-card-compact:var(--space-7);
  --section-y:var(--space-16);--section-y-tight:var(--space-12);

  --radius-xs:3px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;
  --radius-xl:12px;--radius-2xl:16px;--radius-pill:999px;
  --radius-control:var(--radius-md);--radius-card:var(--radius-lg);

  --shadow-xs:0 1px 2px rgba(14,18,19,.06);
  --shadow-sm:0 1px 3px rgba(14,18,19,.08),0 1px 2px rgba(14,18,19,.04);
  --shadow-md:0 4px 12px rgba(14,18,19,.08);
  --shadow-lg:0 12px 28px rgba(14,18,19,.12);
  --shadow-xl:0 24px 56px rgba(6,26,15,.18);
  --shadow-header:0 1px 0 var(--border-subtle);
  --shadow-card-hover:var(--shadow-md);
  --ring-focus:0 0 0 3px rgba(31,148,89,.32);

  --duration-fast:120ms;--duration-base:180ms;--duration-slow:260ms;
  --ease-standard:cubic-bezier(.2,0,.2,1);
  --transition-control:background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard);
  --transition-card:box-shadow var(--duration-base) var(--ease-standard),border-color var(--duration-base) var(--ease-standard),transform var(--duration-base) var(--ease-standard);
  --lift-hover:translateY(-2px);

  --container-max:1240px;--container-narrow:760px;
  --gutter:var(--space-9);--gutter-mobile:var(--space-7);
  --header-height:76px;--utility-bar-height:36px;
  --order-summary-width:360px;
}
@media (prefers-reduced-motion:reduce){:root{--duration-fast:0ms;--duration-base:0ms;--duration-slow:0ms;--lift-hover:none}}
.tkh-inverse{
  --text-heading:var(--white);--text-body:rgba(255,255,255,.82);--text-muted:rgba(255,255,255,.6);
  --text-link:var(--green-500);--text-link-hover:var(--green-200);
  --surface-page:var(--graphite-900);--surface-card:rgba(255,255,255,.06);--surface-sunken:var(--graphite-950);
  --border-default:rgba(255,255,255,.16);--border-subtle:rgba(255,255,255,.1);
  --action-ghost-fg:var(--white);--action-ghost-bg-hover:rgba(255,255,255,.1);
  --action-outline-fg:var(--white);--action-outline-border:rgba(255,255,255,.4);
}