web/settings: add the repository settings screens from the redesign
Completes the desktop half of the Settings Redesign Figma
(TFhrx7FBh2Ue5SGH8CUeBU) that the user-settings pass left out: General,
Access, Pipelines, Hooks and Sites, plus the rename, custom-label,
collaborator, secret and webhook drill-downs.
There was no repository settings surface in the rewrite at all, so this
adds the route tree under [handle]/[repo]/settings and a Settings tab on
RepoTabs. The tab is unconditional for now -- gating it needs the
viewer's push access, which the repo layout load doesn't resolve yet.
The sidebar card, drill-down shell and row primitives are reused from
the user settings. Three of them grew to cover patterns that only appear
on the repo pages: SettingsList's gap is now named in spacing units
because the designs use all of 8/12/16px, SettingsRow takes a muted
description, and SettingsBlock is the new title+description+action
header that Access and Pipelines put above each card. Multi-line copy is
passed as an array of lines rather than a string with escapes, which
reads better and keeps the templates free of useless mustaches.
SettingsEmpty replaces EmptyState inside settings: Figma's empty state
there is a single 52px row, not the tall italic box the rest of the app
uses. SettingsSaveBar factors out the Reset / "Unsaved changes" / Save
trio now that General, Sites and Profile all carry it.
Verified light and dark against the Figma renders; navigation, card and
surface tokens plus nav width and heading size all match.
Refs TAN-575.
Signed-off-by: eti <eti@eti.tf>