feat(design): apply Monolith Editorial design system to all Fase 1 screens

- Remove all 1px border separators (sidebar border-r, page header border-b,
  section border-t, member list divide-y, invite card border). Separation is
  now achieved via background color shifts and whitespace per the "No-Line" rule.
- Fix sidebar: bg-surface-raised vs bg-background creates tonal separation.
- Correct dark background to #020617 (slate-950) per spec.
- Add surface-container-low, text-primary/secondary/muted, destructive tokens.
- Fix CSS variable color space: all tokens are RGB triplets; switch Tailwind
  config and app.css from hsl() to rgb() to prevent yellow/warm color bleed.
- Replace emoji nav icons with Lucide icons at 16px / 1.5 stroke-width.
- Apply Masthead typography (uppercase Label-MD + Title-LG) to all page headers
  and section labels across lists, tasks, notes, search, settings, manage.
- Destructive action (sign out) uses bg-destructive per spec.
- Add `just serve` command: builds and runs the prod Node server at :3000
  against the dev Docker stack for production build testing.
- Add nav_collective i18n key (en + es).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-12 22:09:25 +02:00
parent b297d253d9
commit ce1bcfb7a6
17 changed files with 240 additions and 515 deletions

View File

@@ -9,10 +9,18 @@ export default {
sans: ['Inter', 'system-ui', 'sans-serif']
},
colors: {
// Semantic aliases over Tailwind slate
background: 'hsl(var(--background) / <alpha-value>)',
surface: 'hsl(var(--surface) / <alpha-value>)',
'surface-raised': 'hsl(var(--surface-raised) / <alpha-value>)'
// Semantic aliases — "The Monolith Editorial" surface hierarchy.
// Use background shifts (never 1px borders) to separate major UI areas.
background: 'rgb(var(--background) / <alpha-value>)',
'surface-container-low': 'rgb(var(--surface-container-low) / <alpha-value>)',
surface: 'rgb(var(--surface) / <alpha-value>)',
'surface-raised': 'rgb(var(--surface-raised) / <alpha-value>)',
// Text hierarchy
'text-primary': 'rgb(var(--text-primary) / <alpha-value>)',
'text-secondary': 'rgb(var(--text-secondary) / <alpha-value>)',
'text-muted': 'rgb(var(--text-muted) / <alpha-value>)',
// Only non-slate color allowed in the system
destructive: 'rgb(var(--destructive) / <alpha-value>)'
}
}
},