Phase 1 loose ends: /playbooks stub, pricing border fix, not-found token migration
Commit `82d36cc` closes three deferred items from the Phase 1 deploy checklist. None are significant individually, but together they show hosman20 doing the post-release cleanup that often gets skipped.
The /playbooks route was a dead link since 571af72 added it to the IconRail nav. This commit adds frontend/src/app/(pages)/playbooks/page.tsx as a proper empty-state stub - page header, three-tab toolbar (All / Mine / Templates), and an empty-state section with a disabled "New playbook" button. The pattern mirrors the projects page so it slots in without new primitives. Two Vitest tests cover the heading and the CTA. Build passes; the route appears in the static table.
The pricing-page border normalization is a one-liner: drops border-2 border-border-active from the Professional card, leaving all three cards on the same border border-border hairline. "Most popular" now lives only in the badge. The Suspense fallback spinner gets the same treatment (border-2 to border). If you're building a pricing surface of your own and want a clear visual hierarchy without heavier borders, this is the right call.
not-found.tsx was still on legacy tokens: font-eb-garamond, text-gray-500, a raw bg-gray-900 anchor. This moves it to bg-bg-canvas / foreground / muted-foreground and replaces the anchor with Button asChild + next/link, matching login and signup.
Spotted something wrong? Or know the PR text has fresher detail than the writeup above?