Marcel
e94f43264c
fix(topbar): add overflow-hidden to flex row so long titles truncate instead of pushing kebab off-screen
...
CI / Unit & Component Tests (push) Has been cancelled
CI / Backend Unit Tests (push) Has been cancelled
CI / E2E Tests (push) Has been cancelled
CI / Unit & Component Tests (pull_request) Has been cancelled
CI / Backend Unit Tests (pull_request) Has been cancelled
CI / E2E Tests (pull_request) Has been cancelled
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-01 10:23:32 +02:00
Marcel
da7f94de84
feat(topbar): hide sender→receiver chip row below md to make room for buttons
...
CI / E2E Tests (push) Has been cancelled
CI / Unit & Component Tests (pull_request) Has been cancelled
CI / Backend Unit Tests (pull_request) Has been cancelled
CI / E2E Tests (pull_request) Has been cancelled
CI / Unit & Component Tests (push) Has been cancelled
CI / Backend Unit Tests (push) Has been cancelled
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-01 10:22:05 +02:00
Marcel
3f0b686963
feat(topbar): always show annotate-stop button — primary action, not hidden in kebab
...
CI / Unit & Component Tests (push) Has been cancelled
CI / E2E Tests (pull_request) Has been cancelled
CI / Unit & Component Tests (pull_request) Has been cancelled
CI / Backend Unit Tests (pull_request) Has been cancelled
CI / Backend Unit Tests (push) Has been cancelled
CI / E2E Tests (push) Has been cancelled
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-01 10:16:38 +02:00
Marcel
1e9ef63191
refactor(topbar): extract annotate/download actions as Svelte snippets, render in desktop + kebab
...
CI / Unit & Component Tests (pull_request) Has been cancelled
CI / Backend Unit Tests (pull_request) Has been cancelled
CI / E2E Tests (pull_request) Has been cancelled
CI / Backend Unit Tests (push) Has been cancelled
CI / E2E Tests (push) Has been cancelled
CI / Unit & Component Tests (push) Has been cancelled
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-01 10:15:31 +02:00
Marcel
51348ad26a
feat(topbar): add mobile kebab menu for annotate/download actions hidden below md
...
CI / Unit & Component Tests (pull_request) Has been cancelled
CI / Backend Unit Tests (pull_request) Has been cancelled
CI / Unit & Component Tests (push) Has been cancelled
CI / E2E Tests (pull_request) Has been cancelled
CI / Backend Unit Tests (push) Has been cancelled
CI / E2E Tests (push) Has been cancelled
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-01 10:11:50 +02:00
Marcel
dba1e2a8eb
fix(topbar): use Long-Arrow-Right icon for sender→receiver separator
...
CI / Unit & Component Tests (pull_request) Has been cancelled
CI / Backend Unit Tests (pull_request) Has been cancelled
CI / E2E Tests (pull_request) Has been cancelled
CI / Unit & Component Tests (push) Has been cancelled
CI / Backend Unit Tests (push) Has been cancelled
CI / E2E Tests (push) Has been cancelled
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-01 10:05:03 +02:00
Marcel
654b1283c1
fix(topbar): replace → text char with degruyter arrow icon for reliable centering
...
CI / E2E Tests (pull_request) Has been cancelled
CI / Unit & Component Tests (push) Has been cancelled
CI / Backend Unit Tests (push) Has been cancelled
CI / E2E Tests (push) Has been cancelled
CI / Unit & Component Tests (pull_request) Has been cancelled
CI / Backend Unit Tests (pull_request) Has been cancelled
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-01 09:59:43 +02:00
Marcel
c5b98af69b
fix(topbar): center arrow glyph vertically with inline-flex items-center
...
CI / Backend Unit Tests (push) Has been cancelled
CI / E2E Tests (push) Has been cancelled
CI / Unit & Component Tests (pull_request) Has been cancelled
CI / Backend Unit Tests (pull_request) Has been cancelled
CI / E2E Tests (pull_request) Has been cancelled
CI / Unit & Component Tests (push) Has been cancelled
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-01 09:46:37 +02:00
Marcel
03e2382c8a
feat(topbar): increase arrow to 30px and fix vertical alignment with leading-none
...
CI / Backend Unit Tests (pull_request) Has been cancelled
CI / E2E Tests (pull_request) Has been cancelled
CI / Unit & Component Tests (pull_request) Has been cancelled
CI / Unit & Component Tests (push) Has been cancelled
CI / Backend Unit Tests (push) Has been cancelled
CI / E2E Tests (push) Has been cancelled
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-01 09:37:28 +02:00
Marcel
528e1e05ea
feat(topbar): increase sender→receiver arrow size for visibility
...
CI / E2E Tests (push) Has been cancelled
CI / Unit & Component Tests (pull_request) Has been cancelled
CI / Backend Unit Tests (pull_request) Has been cancelled
CI / E2E Tests (pull_request) Has been cancelled
CI / Unit & Component Tests (push) Has been cancelled
CI / Backend Unit Tests (push) Has been cancelled
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-01 09:35:30 +02:00
Marcel
c64abccf63
feat(i18n): add doc_panel_annotate_hint message key in de/en/es, use in AnnotateHintStrip
...
CI / Backend Unit Tests (pull_request) Has been cancelled
CI / Unit & Component Tests (pull_request) Has been cancelled
CI / Unit & Component Tests (push) Has been cancelled
CI / E2E Tests (push) Has been cancelled
CI / E2E Tests (pull_request) Has been cancelled
CI / Backend Unit Tests (push) Has been cancelled
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-01 09:30:21 +02:00
Marcel
47960b5028
feat(topbar): scale action button text and icons to match surrounding text size
...
CI / Unit & Component Tests (push) Has been cancelled
CI / Backend Unit Tests (push) Has been cancelled
CI / E2E Tests (push) Has been cancelled
CI / Unit & Component Tests (pull_request) Has been cancelled
CI / Backend Unit Tests (pull_request) Has been cancelled
CI / E2E Tests (pull_request) Has been cancelled
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-01 09:23:31 +02:00
Marcel
7f2940f0f2
feat(topbar): increase all font sizes and bar height by another 25%
...
CI / Unit & Component Tests (push) Has been cancelled
CI / Backend Unit Tests (push) Has been cancelled
CI / E2E Tests (push) Has been cancelled
CI / Unit & Component Tests (pull_request) Failing after 1m23s
CI / Backend Unit Tests (pull_request) Failing after 2m38s
CI / E2E Tests (pull_request) Failing after 1h14m58s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-01 09:12:27 +02:00
Marcel
37d728b006
feat(topbar): increase all font sizes and bar height by 25% for legibility
...
CI / Backend Unit Tests (push) Has been cancelled
CI / E2E Tests (push) Has been cancelled
CI / Backend Unit Tests (pull_request) Failing after 2m38s
CI / Unit & Component Tests (push) Has been cancelled
CI / E2E Tests (pull_request) Failing after 1h15m22s
CI / Unit & Component Tests (pull_request) Failing after 1m40s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-01 09:09:59 +02:00
Marcel
965087b787
Revert "feat(topbar): double all font sizes and increase bar height for legibility"
...
CI / Unit & Component Tests (push) Has been cancelled
CI / Backend Unit Tests (push) Has been cancelled
CI / E2E Tests (push) Has been cancelled
CI / Unit & Component Tests (pull_request) Failing after 1m22s
CI / Backend Unit Tests (pull_request) Failing after 2m35s
CI / E2E Tests (pull_request) Failing after 1h16m54s
This reverts commit 1d2e6d7b86 .
2026-04-01 09:04:24 +02:00
Marcel
1d2e6d7b86
feat(topbar): double all font sizes and increase bar height for legibility
...
CI / Unit & Component Tests (pull_request) Failing after 1m54s
CI / Backend Unit Tests (pull_request) Failing after 2m55s
CI / E2E Tests (pull_request) Failing after 1h12m45s
CI / Unit & Component Tests (push) Has been cancelled
CI / Backend Unit Tests (push) Has been cancelled
CI / E2E Tests (push) Has been cancelled
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-01 08:52:23 +02:00
Marcel
0c40e10743
fix(topbar): add role=group to OverflowPillButton outer div — a11y warning
...
CI / Unit & Component Tests (pull_request) Failing after 3m32s
CI / Backend Unit Tests (pull_request) Failing after 3m5s
CI / E2E Tests (pull_request) Failing after 1h11m43s
CI / Unit & Component Tests (push) Has been cancelled
CI / Backend Unit Tests (push) Has been cancelled
CI / E2E Tests (push) Has been cancelled
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-31 23:17:11 +02:00
Marcel
358131ca34
feat(ui): replace DocumentTopBar with responsive orchestrator (issue #173 )
...
- Accent bar, h-12/h-14 responsive height, 44×44px back link touch target
- PersonChipRow with sender→receivers chips, overflow pill button at ≥768px
- DocumentStatusChip dot-only at ≥768px
- Edit/annotate/download actions with annotateMode wiring
- AnnotateHintStrip below main row when annotateMode active
- status field added to Doc type
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-31 23:11:11 +02:00
Marcel
c7af33b998
feat(ui): add OverflowPillButton — tooltip, Escape focus return, use:clickOutside
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-31 23:08:53 +02:00
Marcel
eafb566170
feat(ui): add PersonChipRow — sender→receivers chips, 2nd receiver hidden md:contents
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-31 23:00:32 +02:00
Marcel
624eb9e5d6
feat(ui): add OverflowPillDisplay — non-interactive aria-hidden +N span
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-31 22:58:47 +02:00
Marcel
7bd995a045
feat(ui): add AnnotateHintStrip — 18px hint strip, hidden md:flex, annotateMode gated
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-31 22:46:32 +02:00
Marcel
20dbe04d45
feat(ui): add DocumentStatusChip — dot-only status indicator, hidden md:block
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-31 22:43:15 +02:00
Marcel
c9211b3061
feat(ui): add PersonChip component — avatar initials, abbreviated prop
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-31 22:42:01 +02:00
Marcel
27254fb0ac
feat(utils): add personFormat utility module with 6 pure functions (TDD)
...
abbreviateName, formatXsMeta, personAvatarColor (djb2), formatDate,
statusDotClass, statusLabel — 27 tests all green
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-31 22:39:44 +02:00
Marcel
b5a68e69e2
refactor(actions): extract clickOutside to shared module, replace 5 inline copies
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-31 22:34:54 +02:00
Marcel
b1e959412f
feat(frontend): add xs breakpoint (375px) to Tailwind @theme
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-31 22:02:46 +02:00
Marcel
19035fbeab
fix(dashboard): move right column first in DOM for mobile-first upload zone
...
CI / Backend Unit Tests (pull_request) Failing after 2m37s
CI / E2E Tests (pull_request) Failing after 1h12m25s
CI / Unit & Component Tests (push) Failing after 1m21s
CI / Backend Unit Tests (push) Failing after 2m30s
CI / E2E Tests (push) Failing after 6m59s
CI / Unit & Component Tests (pull_request) Failing after 1m41s
On small screens the upload zone now appears above recent docs.
lg:order-last keeps it visually on the right at desktop width.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-31 20:42:37 +02:00
Marcel
79faee554a
fix(dashboard): reduce incomplete docs widget from 5 to 3 items to prevent scroll
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-31 20:40:02 +02:00
Marcel
5adef7bec5
refactor(dashboard): delete DashboardMentions component — notifications page exists
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-31 20:29:03 +02:00
Marcel
595c2eb987
test(e2e): Classic Split — right column absent for read-only user, present for admin
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-31 20:27:39 +02:00
Marcel
518019f099
chore(e2e): gitignore Playwright auth state — regenerate in CI via auth.setup.ts
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-31 20:26:01 +02:00
Marcel
38b8804b17
style(dashboard): bump stats footnote from text-xs to text-sm for legibility
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-31 20:24:47 +02:00
Marcel
81ed1ce3ed
test(admin): replace setTimeout timing hack with vi.waitFor in layout specs
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-31 20:23:05 +02:00
Marcel
92e7aa127c
feat(dashboard): Classic Split — 2-col layout, remove DashboardMentions widget
...
CI / Unit & Component Tests (pull_request) Has been cancelled
CI / Backend Unit Tests (pull_request) Has been cancelled
CI / E2E Tests (pull_request) Has been cancelled
CI / Unit & Component Tests (push) Has been cancelled
CI / Backend Unit Tests (push) Has been cancelled
CI / E2E Tests (push) Has been cancelled
Restructures the dashboard to a lg:grid-cols-[1fr_300px] split:
- Left column: DashboardRecentDocuments (with stats footnote)
- Right column: DropZone (canWrite) + DashboardNeedsMetadata (flex-1)
Adds showRightColumn guard (canWrite || incompleteDocs.length > 0) so
read-only users with a complete archive never see an empty 300px ghost
column. DashboardMentions is removed from the page; the file is kept.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-31 19:36:36 +02:00
Marcel
f618364632
feat(dashboard): add stats footnote and min-h touch target to DashboardRecentDocuments
...
Adds stats?: StatsDTO | null prop; renders a quiet footnote showing total
document and person counts. Guards on stats?.totalDocuments != null so
zero is shown but the footnote is absent when stats fails. Adds
min-h-[44px] to doc rows for WCAG 2.5.5 touch target compliance.
Adds dashboard_stats_documents/persons i18n keys in de/en/es.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-31 19:29:00 +02:00
Marcel
20923d04b6
feat(dashboard): replace notifications fetch with stats in server load
...
Removes /api/notifications from the dashboard widget fetches and replaces
it with /api/stats so the page no longer needs to own notification data.
Returns stats: StatsDTO | null (null on failure) instead of mentions.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-31 19:23:31 +02:00
Marcel
6d61297182
fix(tests): fix 27 failing frontend unit tests
...
Six categories of breakage:
1. date.ts — add formatGermanDateInput(raw: string): string as a pure
function covering both digit-stream auto-dot and manual-dot-with-padding
modes. Refactor handleGermanDateInput to delegate to it. Fixes 16 failures
in date.spec.ts where the function was imported but didn't exist.
2. Admin layout specs (groups/tags/users) — $effect fires on initial mount
with manualCollapse=false, so the spy captured 'false' before the click's
effect ran. Fix: move spy setup after render(), add await setTimeout(0) to
flush Svelte effects before asserting.
3. DashboardMentions — component now renders a persistent
"Benachrichtigungsverlauf ansehen" link, making getByRole('link') strict-
mode violations. Fix: scope link queries to the actor name, and check
absence of the actor link (not all links) in the no-documentId test.
4. Conversations page — empty-state copy changed from "Wählen Sie zwei
Personen aus" to "Korrespondenz durchsuchen". Update the test.
5. Login page — AuthHeader adds a second aria-label="Familienarchiv" link.
Use .first() to avoid strict-mode violation.
6. Persons page — alias is rendered with German quotation marks „…" not
straight quotes "…". Update the test string.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-31 17:28:35 +02:00
Marcel
fb636e4152
fix(e2e): replace fragile .last() selector with data-testid on password form submit
...
The password-reset E2E test was using button[type="submit"].last() to target
the password change button on the profile page. The profile page has two submit
buttons with identical text, so .last() is layout-order-dependent and breaks
if the form order ever changes.
Add data-testid="submit-password" to PasswordChangeForm and use getByTestId()
in the test.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-31 17:13:09 +02:00
Marcel
527d174e9c
fix(focus-rings): remove broken [&_input]:focus selectors and fix error state focus-visible
...
CI / Unit & Component Tests (pull_request) Has been cancelled
CI / Backend Unit Tests (pull_request) Has been cancelled
CI / E2E Tests (pull_request) Has been cancelled
CI / Unit & Component Tests (push) Has been cancelled
CI / Backend Unit Tests (push) Has been cancelled
CI / E2E Tests (push) Has been cancelled
- Strip malformed [[&_input]:focus:*] class fragments from PersonTypeahead
wrapper divs in both ConversationFilterBar components — PersonTypeahead
manages its own focus ring; parent selectors were redundant and broken
- Fix WhoWhenSection error state: focus:ring-red-500 → focus-visible:ring-red-500
so invalid date field ring no longer fires on mouse click
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-31 16:42:11 +02:00
Marcel
f1bf32ee05
feat(focus-rings): CommentThread selection highlight → dotted outline
...
CI / Unit & Component Tests (pull_request) Failing after 1m19s
CI / Backend Unit Tests (pull_request) Failing after 2m29s
CI / E2E Tests (pull_request) Failing after 1h47m37s
CI / Unit & Component Tests (push) Has been cancelled
CI / Backend Unit Tests (push) Has been cancelled
CI / E2E Tests (push) Has been cancelled
ring-2 ring-accent (box-shadow) replaced with outline-2 outline-dotted
outline-accent — visually distinct from the focus ring (solid, navy/mint),
making selection state and keyboard focus clearly different
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-31 15:27:48 +02:00
Marcel
a5cc8fd16e
feat(focus-rings): update interactive widgets to ring-focus-ring
...
PersonTypeahead, MentionEditor, PanelHistory, UserGroupsSection,
notifications filter buttons, CorrespondentSuggestionsDropdown:
replace ring-accent/ring-primary with ring-focus-ring
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-31 15:25:02 +02:00
Marcel
1541afd470
feat(focus-rings): update all form inputs and document components to ring-focus-ring
...
Replaces focus:border-ink, focus:ring-ink, focus:ring-primary, focus:ring-accent
patterns with focus-visible:ring-2 focus-visible:ring-focus-ring focus:outline-none
across: PersonEditForm, profile forms, admin forms, document sections,
conversation filter bars, persons/documents new forms
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-31 15:22:11 +02:00
Marcel
d0deb26065
feat(focus-rings): update auth and search inputs to ring-focus-ring
...
login, forgot-password, reset-password, persons search,
CorrespondenzFilterControls: replace focus:border-ink/ring-ink
with focus-visible:ring-2 focus-visible:ring-focus-ring
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-31 15:18:42 +02:00
Marcel
f04e4ffa8b
feat(focus-rings): update header/nav components to ring-focus-ring
...
ThemeToggle, NotificationBell, LanguageSwitcher, UserMenu, AppNav:
replace focus-visible:ring-accent → focus-visible:ring-focus-ring
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-31 15:15:06 +02:00
Marcel
17889df220
feat(focus-rings): add --c-focus-ring token to CSS design system
...
Light: #012851 (brand-navy, 14:1 on white)
Dark: #a1dcd8 (brand-mint, 9.2:1 on canvas)
- @theme inline mapping → Tailwind ring-focus-ring utility
- Global :focus-visible fallback in @layer base
- forced-colors fallback for Windows High Contrast mode
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-31 15:12:00 +02:00
Marcel
fe1121de65
test(focus-rings): add failing Playwright tests for --c-focus-ring token and element ring colors
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-31 15:08:36 +02:00
Marcel
2004a80055
fix(a11y): UserMenu avatar bg-white/text-brand-navy — WCAG AA contrast
...
CI / Unit & Component Tests (push) Failing after 1m21s
CI / Backend Unit Tests (push) Failing after 2m27s
CI / E2E Tests (push) Failing after 1h50m38s
CI / Unit & Component Tests (pull_request) Failing after 1m23s
CI / Backend Unit Tests (pull_request) Failing after 2m30s
CI / E2E Tests (pull_request) Failing after 1h53m14s
bg-brand-mint (#A6DAD8) on text-brand-navy (#012851 ) = 3.5:1, fails AA
for text-xs (12px). bg-white (#fff) on text-brand-navy = 14:1 AAA.
White also reads as a distinct shape against the navy header background.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-31 14:07:55 +02:00
Marcel
f70b5ae6bd
fix(dark-mode): address PR #168 review blockers
...
CI / Unit & Component Tests (pull_request) Has been cancelled
CI / Backend Unit Tests (pull_request) Has been cancelled
CI / E2E Tests (pull_request) Has been cancelled
CI / Backend Unit Tests (push) Has been cancelled
CI / E2E Tests (push) Has been cancelled
CI / Unit & Component Tests (push) Has been cancelled
- AuthHeader: bg-brand-navy → bg-header (semantic token, responds to dark mode)
- header.spec.ts: add forgot-password AuthHeader tests (bg + axe)
- header.spec.ts: fix BRAND_NAVY comment — references --c-header, not --c-primary
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-31 13:30:00 +02:00
Marcel
12b8324245
chore: merge main into feat/issue-166 — resolve blue header conflicts
...
CI / E2E Tests (pull_request) Failing after 1h51m28s
CI / Unit & Component Tests (pull_request) Failing after 1m30s
CI / Backend Unit Tests (pull_request) Failing after 2m23s
CI / Unit & Component Tests (push) Has been cancelled
CI / Backend Unit Tests (push) Has been cancelled
CI / E2E Tests (push) Has been cancelled
- +layout.svelte: adopt main's blue header structure (accent stripe, no
border-b, bg-header instead of bg-brand-navy)
- layout.css light mode: drop --c-nav-active (removed by main); set
--c-header: #012851 (confirmed correct now that header is brand-navy)
- layout.css dark mode: drop --c-nav-active; keep navy PDF tokens and
--c-header: #012851 from our branch
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-31 12:24:20 +02:00