feat(t-paliad-063): adopt HLC brand palette across paliad
Replace ad-hoc lime/forest-green system with the official 4-color HLC palette. Lime + midnight are the primary pair; cyan + cream supporting. Tokens - :root now exposes --hlc-lime, --hlc-midnight, --hlc-cyan, --hlc-cream plus channel-token siblings (--hlc-*-rgb) so tints can be expressed as rgb(var(--hlc-*-rgb) / a) without hex literals. - --color-bg → cream, --color-text/--color-hero-bg → midnight, --color-accent → lime, --color-accent-dark → midnight (foreground on lime; passes WCAG AA where #fff failed). - New --sidebar-* tokens for the dark sidebar surface. Sweep (frontend/src/styles/global.css) - Replaced every hard-coded #c6f41c / #65a30d / #84cc16 / #b8e616 / #4d7c0f / #1a2e1a / #1a1a2e / #1a2e05 with the matching var(...). - rgba(101,163,13,a) and rgba(198,244,28,a) collapsed to rgb(var(--hlc-lime-rgb) / a). - text-on-lime now uses var(--color-accent-dark) instead of #fff; btn-danger keeps white on red. Sidebar reskin (cronus's audit, F-30) - Background: midnight; text: cream (muted via cream-channel alpha); active/hover: lime. Border + hover use cream-channel alphas so no rgba hex creep on the dark surface. Brand assets - manifest.json theme_color → lime, background_color → cream. - icon.svg / icon-maskable.svg base recoloured to lime + midnight glyph. - 32× <meta name="theme-color"> across pages updated to #BFF355. - Email templates (base.html, invitation.html) lime accent updated; mail_service_test.go expectation tracks the new hex. Deferred / out of scope - PNG icons under public/icons/ are baked artefacts; regen left to the next deploy. - Categorical chip colours (office tints, traffic-light red/amber/green, termin-type hues) are functional, not brand, and deliberately untouched. - Dark mode is not in scope. Verified - bun run build clean. - go build ./... clean; mail render tests pass. - Visual sweep at 1280×900 against frontend/dist via Playwright on /, /login, /dashboard, /projects, /agenda, /team, /fristenrechner, /glossary — sidebar midnight + lime active, cream page bg, white cards, midnight text on lime CTAs. Supersedes audit findings F-14, F-30, F-31.
This commit is contained in:
@@ -1,10 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" width="512" height="512">
|
||||
<rect width="512" height="512" fill="#65a30d"/>
|
||||
<rect width="512" height="512" fill="#BFF355"/>
|
||||
<text x="256" y="340"
|
||||
font-family="DejaVu Sans Mono, Liberation Mono, Menlo, Consolas, monospace"
|
||||
font-size="288" font-weight="700"
|
||||
fill="#ffffff"
|
||||
fill="#002236"
|
||||
text-anchor="middle"
|
||||
textLength="170" lengthAdjust="spacingAndGlyphs">p</text>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 452 B After Width: | Height: | Size: 452 B |
@@ -1,10 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" width="512" height="512">
|
||||
<rect width="512" height="512" fill="#65a30d"/>
|
||||
<rect width="512" height="512" fill="#BFF355"/>
|
||||
<text x="256" y="376"
|
||||
font-family="DejaVu Sans Mono, Liberation Mono, Menlo, Consolas, monospace"
|
||||
font-size="384" font-weight="700"
|
||||
fill="#ffffff"
|
||||
fill="#002236"
|
||||
text-anchor="middle"
|
||||
textLength="220" lengthAdjust="spacingAndGlyphs">p</text>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 452 B After Width: | Height: | Size: 452 B |
@@ -6,8 +6,8 @@
|
||||
"scope": "/",
|
||||
"display": "standalone",
|
||||
"orientation": "portrait",
|
||||
"theme_color": "#65a30d",
|
||||
"background_color": "#ffffff",
|
||||
"theme_color": "#BFF355",
|
||||
"background_color": "#EEE5E1",
|
||||
"lang": "de",
|
||||
"dir": "ltr",
|
||||
"id": "paliad",
|
||||
|
||||
@@ -10,7 +10,7 @@ export function renderAdminTeam(): string {
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
|
||||
<meta name="theme-color" content="#65a30d" />
|
||||
<meta name="theme-color" content="#BFF355" />
|
||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="default" />
|
||||
<PWAHead />
|
||||
|
||||
@@ -55,7 +55,7 @@ export function renderAdmin(): string {
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
|
||||
<meta name="theme-color" content="#65a30d" />
|
||||
<meta name="theme-color" content="#BFF355" />
|
||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="default" />
|
||||
<PWAHead />
|
||||
|
||||
@@ -15,7 +15,7 @@ export function renderAgenda(): string {
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
|
||||
<meta name="theme-color" content="#65a30d" />
|
||||
<meta name="theme-color" content="#BFF355" />
|
||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="default" />
|
||||
<PWAHead />
|
||||
|
||||
@@ -10,7 +10,7 @@ export function renderAppointmentsCalendar(): string {
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
|
||||
<meta name="theme-color" content="#65a30d" />
|
||||
<meta name="theme-color" content="#BFF355" />
|
||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="default" />
|
||||
<PWAHead />
|
||||
|
||||
@@ -10,7 +10,7 @@ export function renderAppointmentsDetail(): string {
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
|
||||
<meta name="theme-color" content="#65a30d" />
|
||||
<meta name="theme-color" content="#BFF355" />
|
||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="default" />
|
||||
<PWAHead />
|
||||
|
||||
@@ -10,7 +10,7 @@ export function renderAppointmentsNew(): string {
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
|
||||
<meta name="theme-color" content="#65a30d" />
|
||||
<meta name="theme-color" content="#BFF355" />
|
||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="default" />
|
||||
<PWAHead />
|
||||
|
||||
@@ -10,7 +10,7 @@ export function renderAppointments(): string {
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
|
||||
<meta name="theme-color" content="#65a30d" />
|
||||
<meta name="theme-color" content="#BFF355" />
|
||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="default" />
|
||||
<PWAHead />
|
||||
|
||||
@@ -10,7 +10,7 @@ export function renderChangelog(): string {
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
|
||||
<meta name="theme-color" content="#65a30d" />
|
||||
<meta name="theme-color" content="#BFF355" />
|
||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="default" />
|
||||
<PWAHead />
|
||||
|
||||
@@ -14,7 +14,7 @@ export function renderChecklistsDetail(): string {
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
|
||||
<meta name="theme-color" content="#65a30d" />
|
||||
<meta name="theme-color" content="#BFF355" />
|
||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="default" />
|
||||
<PWAHead />
|
||||
|
||||
@@ -13,7 +13,7 @@ export function renderChecklistsInstance(): string {
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
|
||||
<meta name="theme-color" content="#65a30d" />
|
||||
<meta name="theme-color" content="#BFF355" />
|
||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="default" />
|
||||
<PWAHead />
|
||||
|
||||
@@ -10,7 +10,7 @@ export function renderChecklists(): string {
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
|
||||
<meta name="theme-color" content="#65a30d" />
|
||||
<meta name="theme-color" content="#BFF355" />
|
||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="default" />
|
||||
<PWAHead />
|
||||
|
||||
@@ -10,7 +10,7 @@ export function renderCourts(): string {
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
|
||||
<meta name="theme-color" content="#65a30d" />
|
||||
<meta name="theme-color" content="#BFF355" />
|
||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="default" />
|
||||
<PWAHead />
|
||||
|
||||
@@ -17,7 +17,7 @@ export function renderDashboard(): string {
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
|
||||
<meta name="theme-color" content="#65a30d" />
|
||||
<meta name="theme-color" content="#BFF355" />
|
||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="default" />
|
||||
<PWAHead />
|
||||
|
||||
@@ -10,7 +10,7 @@ export function renderDeadlinesCalendar(): string {
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
|
||||
<meta name="theme-color" content="#65a30d" />
|
||||
<meta name="theme-color" content="#BFF355" />
|
||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="default" />
|
||||
<PWAHead />
|
||||
|
||||
@@ -10,7 +10,7 @@ export function renderDeadlinesDetail(): string {
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
|
||||
<meta name="theme-color" content="#65a30d" />
|
||||
<meta name="theme-color" content="#BFF355" />
|
||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="default" />
|
||||
<PWAHead />
|
||||
|
||||
@@ -10,7 +10,7 @@ export function renderDeadlinesNew(): string {
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
|
||||
<meta name="theme-color" content="#65a30d" />
|
||||
<meta name="theme-color" content="#BFF355" />
|
||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="default" />
|
||||
<PWAHead />
|
||||
|
||||
@@ -10,7 +10,7 @@ export function renderDeadlines(): string {
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
|
||||
<meta name="theme-color" content="#65a30d" />
|
||||
<meta name="theme-color" content="#BFF355" />
|
||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="default" />
|
||||
<PWAHead />
|
||||
|
||||
@@ -32,7 +32,7 @@ export function renderDownloads(): string {
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
|
||||
<meta name="theme-color" content="#65a30d" />
|
||||
<meta name="theme-color" content="#BFF355" />
|
||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="default" />
|
||||
<PWAHead />
|
||||
|
||||
@@ -44,7 +44,7 @@ export function renderFristenrechner(): string {
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
|
||||
<meta name="theme-color" content="#65a30d" />
|
||||
<meta name="theme-color" content="#BFF355" />
|
||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="default" />
|
||||
<PWAHead />
|
||||
|
||||
@@ -10,7 +10,7 @@ export function renderGebuehrentabellen(): string {
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
|
||||
<meta name="theme-color" content="#65a30d" />
|
||||
<meta name="theme-color" content="#BFF355" />
|
||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="default" />
|
||||
<PWAHead />
|
||||
|
||||
@@ -10,7 +10,7 @@ export function renderGlossary(): string {
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
|
||||
<meta name="theme-color" content="#65a30d" />
|
||||
<meta name="theme-color" content="#BFF355" />
|
||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="default" />
|
||||
<PWAHead />
|
||||
|
||||
@@ -20,7 +20,7 @@ export function renderIndex(): string {
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
|
||||
<meta name="theme-color" content="#65a30d" />
|
||||
<meta name="theme-color" content="#BFF355" />
|
||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="default" />
|
||||
<PWAHead />
|
||||
|
||||
@@ -95,7 +95,7 @@ export function renderKostenrechner(): string {
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
|
||||
<meta name="theme-color" content="#65a30d" />
|
||||
<meta name="theme-color" content="#BFF355" />
|
||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="default" />
|
||||
<PWAHead />
|
||||
|
||||
@@ -10,7 +10,7 @@ export function renderLinks(): string {
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
|
||||
<meta name="theme-color" content="#65a30d" />
|
||||
<meta name="theme-color" content="#BFF355" />
|
||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="default" />
|
||||
<PWAHead />
|
||||
|
||||
@@ -9,7 +9,7 @@ export function renderLogin(loginJs: string): string {
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
|
||||
<meta name="theme-color" content="#65a30d" />
|
||||
<meta name="theme-color" content="#BFF355" />
|
||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="default" />
|
||||
<PWAHead />
|
||||
|
||||
@@ -14,7 +14,7 @@ export function renderNotFound(): string {
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
|
||||
<meta name="theme-color" content="#65a30d" />
|
||||
<meta name="theme-color" content="#BFF355" />
|
||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="default" />
|
||||
<PWAHead />
|
||||
|
||||
@@ -9,7 +9,7 @@ export function renderOnboarding(): string {
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
|
||||
<meta name="theme-color" content="#65a30d" />
|
||||
<meta name="theme-color" content="#BFF355" />
|
||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="default" />
|
||||
<PWAHead />
|
||||
|
||||
@@ -15,7 +15,7 @@ export function renderProjectsDetail(): string {
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
|
||||
<meta name="theme-color" content="#65a30d" />
|
||||
<meta name="theme-color" content="#BFF355" />
|
||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="default" />
|
||||
<PWAHead />
|
||||
|
||||
@@ -14,7 +14,7 @@ export function renderProjectsNew(): string {
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
|
||||
<meta name="theme-color" content="#65a30d" />
|
||||
<meta name="theme-color" content="#BFF355" />
|
||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="default" />
|
||||
<PWAHead />
|
||||
|
||||
@@ -12,7 +12,7 @@ export function renderProjects(): string {
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
|
||||
<meta name="theme-color" content="#65a30d" />
|
||||
<meta name="theme-color" content="#BFF355" />
|
||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="default" />
|
||||
<PWAHead />
|
||||
|
||||
@@ -14,7 +14,7 @@ export function renderSettings(): string {
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
|
||||
<meta name="theme-color" content="#65a30d" />
|
||||
<meta name="theme-color" content="#BFF355" />
|
||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="default" />
|
||||
<PWAHead />
|
||||
|
||||
@@ -1,15 +1,44 @@
|
||||
/* patholo — Patent Knowledge for Hogan Lovells */
|
||||
/* Paliad — Patent Knowledge for HLC */
|
||||
|
||||
:root {
|
||||
--color-bg: #fafafa;
|
||||
--color-surface: #ffffff;
|
||||
--color-text: #1a1a2e;
|
||||
--color-text-muted: #64647a;
|
||||
--color-accent: #65a30d; /* lime green */
|
||||
--color-accent-light: #84cc16;
|
||||
--color-border: #e5e5ed;
|
||||
--color-hero-bg: #1a2e1a; /* dark forest */
|
||||
--color-hero-text: #ffffff;
|
||||
/* HLC brand palette (4 colors).
|
||||
Lime + midnight are the primary pair. Cyan + cream are supporting. */
|
||||
--hlc-lime: #BFF355;
|
||||
--hlc-midnight: #002236;
|
||||
--hlc-cyan: #9FE3D9;
|
||||
--hlc-cream: #EEE5E1;
|
||||
|
||||
/* Channel tokens enable rgb(var(--*-rgb) / a) for tints without
|
||||
hard-coded rgba values elsewhere. */
|
||||
--hlc-lime-rgb: 191 243 85;
|
||||
--hlc-midnight-rgb: 0 34 54;
|
||||
--hlc-cyan-rgb: 159 227 217;
|
||||
--hlc-cream-rgb: 238 229 225;
|
||||
|
||||
/* Surface + semantic tokens — re-pointed onto the brand palette. */
|
||||
--color-bg: var(--hlc-cream);
|
||||
--color-bg-subtle: #f7f3f0; /* slightly off-cream for table headers / soft surfaces */
|
||||
--color-bg-lime-tint: rgb(var(--hlc-lime-rgb) / 0.10);
|
||||
--color-surface: #ffffff; /* cards stay white for contrast */
|
||||
--color-text: var(--hlc-midnight);
|
||||
--color-text-muted: #5a6573;
|
||||
--color-accent: var(--hlc-lime);
|
||||
--color-accent-light: #d8f78a; /* lighter lime for hover */
|
||||
--color-accent-dark: var(--hlc-midnight); /* foreground on lime — WCAG AA */
|
||||
--color-border: #e1dcd6; /* derived from cream, neutral warm */
|
||||
--color-hero-bg: var(--hlc-midnight);
|
||||
--color-hero-text: #ffffff;
|
||||
|
||||
/* Sidebar — dark midnight surface with cream text + lime active.
|
||||
Built from cream-channel alphas so contrast stays consistent
|
||||
on the midnight base without spraying rgba() hex around. */
|
||||
--sidebar-bg: var(--hlc-midnight);
|
||||
--sidebar-text: var(--hlc-cream);
|
||||
--sidebar-text-muted: rgb(var(--hlc-cream-rgb) / 0.66);
|
||||
--sidebar-text-active: var(--hlc-lime);
|
||||
--sidebar-border: rgb(var(--hlc-cream-rgb) / 0.12);
|
||||
--sidebar-hover-bg: rgb(var(--hlc-cream-rgb) / 0.08);
|
||||
--sidebar-input-bg: rgb(var(--hlc-cream-rgb) / 0.08);
|
||||
--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
|
||||
--font-mono: "JetBrains Mono", "Fira Code", monospace;
|
||||
--radius: 8px;
|
||||
@@ -408,7 +437,7 @@ main {
|
||||
|
||||
.login-input:focus {
|
||||
border-color: var(--color-accent);
|
||||
box-shadow: 0 0 0 3px rgba(101, 163, 13, 0.15);
|
||||
box-shadow: 0 0 0 3px rgb(var(--hlc-lime-rgb) / 0.15);
|
||||
}
|
||||
|
||||
.login-input::placeholder {
|
||||
@@ -425,7 +454,7 @@ main {
|
||||
border: none;
|
||||
border-radius: var(--radius);
|
||||
background: var(--color-accent);
|
||||
color: #ffffff;
|
||||
color: var(--color-accent-dark);
|
||||
cursor: pointer;
|
||||
transition: background 0.15s ease;
|
||||
}
|
||||
@@ -488,8 +517,9 @@ main {
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
width: var(--sidebar-collapsed);
|
||||
background: var(--color-surface);
|
||||
border-right: 1px solid var(--color-border);
|
||||
background: var(--sidebar-bg);
|
||||
color: var(--sidebar-text);
|
||||
border-right: 1px solid var(--sidebar-border);
|
||||
z-index: 40;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
@@ -512,7 +542,7 @@ main {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
height: 3.5rem;
|
||||
border-bottom: 1px solid var(--color-border);
|
||||
border-bottom: 1px solid var(--sidebar-border);
|
||||
flex-shrink: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
@@ -521,7 +551,7 @@ main {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
text-decoration: none;
|
||||
color: var(--color-text);
|
||||
color: var(--sidebar-text);
|
||||
flex: 1;
|
||||
min-width: 0;
|
||||
height: 100%;
|
||||
@@ -536,7 +566,7 @@ main {
|
||||
.sidebar-pin {
|
||||
background: none;
|
||||
border: none;
|
||||
color: var(--color-text-muted);
|
||||
color: var(--sidebar-text-muted);
|
||||
cursor: pointer;
|
||||
padding: 0.35rem;
|
||||
margin-right: 0.75rem;
|
||||
@@ -554,8 +584,8 @@ main {
|
||||
}
|
||||
|
||||
.sidebar-pin:hover {
|
||||
color: var(--color-accent);
|
||||
background: rgba(0, 0, 0, 0.04);
|
||||
color: var(--sidebar-text-active);
|
||||
background: var(--sidebar-hover-bg);
|
||||
}
|
||||
|
||||
.sidebar-pin svg {
|
||||
@@ -565,7 +595,7 @@ main {
|
||||
}
|
||||
|
||||
.sidebar.pinned .sidebar-pin {
|
||||
color: var(--color-accent);
|
||||
color: var(--sidebar-text-active);
|
||||
}
|
||||
|
||||
/* Vertical drag-strip on the sidebar's right edge. Only meaningful when
|
||||
@@ -614,7 +644,7 @@ main {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
min-height: 2.5rem;
|
||||
color: var(--color-text-muted);
|
||||
color: var(--sidebar-text-muted);
|
||||
text-decoration: none;
|
||||
font-size: 0.85rem;
|
||||
font-weight: 500;
|
||||
@@ -630,12 +660,12 @@ main {
|
||||
}
|
||||
|
||||
.sidebar-item:hover {
|
||||
color: var(--color-text);
|
||||
background: rgba(0, 0, 0, 0.03);
|
||||
color: var(--sidebar-text);
|
||||
background: var(--sidebar-hover-bg);
|
||||
}
|
||||
|
||||
.sidebar-item.active {
|
||||
color: var(--color-accent);
|
||||
color: var(--sidebar-text-active);
|
||||
}
|
||||
|
||||
.sidebar-item.active::after {
|
||||
@@ -645,7 +675,7 @@ main {
|
||||
top: 4px;
|
||||
bottom: 4px;
|
||||
width: 3px;
|
||||
background: var(--color-accent);
|
||||
background: var(--sidebar-text-active);
|
||||
border-radius: 0 2px 2px 0;
|
||||
}
|
||||
|
||||
@@ -683,7 +713,7 @@ main {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
padding: 0.5rem 0;
|
||||
border-top: 1px solid var(--color-border);
|
||||
border-top: 1px solid var(--sidebar-border);
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
@@ -693,7 +723,7 @@ main {
|
||||
|
||||
.sidebar-lang-item:hover {
|
||||
background: transparent;
|
||||
color: var(--color-text-muted);
|
||||
color: var(--sidebar-text-muted);
|
||||
}
|
||||
|
||||
.sidebar-lang {
|
||||
@@ -712,7 +742,7 @@ main {
|
||||
border-radius: 50%;
|
||||
border: none;
|
||||
background: var(--color-accent);
|
||||
color: #fff;
|
||||
color: var(--color-accent-dark);
|
||||
cursor: pointer;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
@@ -820,7 +850,7 @@ main {
|
||||
|
||||
.input-section select:focus {
|
||||
border-color: var(--color-accent);
|
||||
box-shadow: 0 0 0 3px rgba(101, 163, 13, 0.15);
|
||||
box-shadow: 0 0 0 3px rgb(var(--hlc-lime-rgb) / 0.15);
|
||||
}
|
||||
|
||||
/* Streitwert */
|
||||
@@ -859,7 +889,7 @@ main {
|
||||
|
||||
.streitwert-field:focus {
|
||||
border-color: var(--color-accent);
|
||||
box-shadow: 0 0 0 3px rgba(101, 163, 13, 0.15);
|
||||
box-shadow: 0 0 0 3px rgb(var(--hlc-lime-rgb) / 0.15);
|
||||
}
|
||||
|
||||
input[type="range"] {
|
||||
@@ -919,7 +949,7 @@ input[type="range"]::-moz-range-thumb {
|
||||
.streitwert-presets button.active {
|
||||
background: var(--color-accent);
|
||||
border-color: var(--color-accent);
|
||||
color: #fff;
|
||||
color: var(--color-accent-dark);
|
||||
}
|
||||
|
||||
/* Instance cards */
|
||||
@@ -1155,19 +1185,19 @@ input[type="range"]::-moz-range-thumb {
|
||||
.result-action-btn--accent {
|
||||
background: var(--color-accent);
|
||||
border-color: var(--color-accent);
|
||||
color: #fff;
|
||||
color: var(--color-accent-dark);
|
||||
}
|
||||
|
||||
.result-action-btn--accent:hover {
|
||||
background: var(--color-accent-light);
|
||||
border-color: var(--color-accent-light);
|
||||
color: #fff;
|
||||
color: var(--color-accent-dark);
|
||||
}
|
||||
|
||||
.result-action-btn.copied {
|
||||
background: var(--color-accent);
|
||||
border-color: var(--color-accent);
|
||||
color: #fff;
|
||||
color: var(--color-accent-dark);
|
||||
}
|
||||
|
||||
/* Scenario comparison */
|
||||
@@ -1219,7 +1249,7 @@ input[type="range"]::-moz-range-thumb {
|
||||
|
||||
.comparison-diff-card.diff-decrease {
|
||||
border-color: var(--color-accent);
|
||||
background: rgba(101, 163, 13, 0.04);
|
||||
background: rgb(var(--hlc-lime-rgb) / 0.04);
|
||||
}
|
||||
|
||||
.comparison-diff-card.diff-increase {
|
||||
@@ -1300,7 +1330,7 @@ input[type="range"]::-moz-range-thumb {
|
||||
height: 1.5rem;
|
||||
border-radius: 50%;
|
||||
background: var(--color-accent);
|
||||
color: #fff;
|
||||
color: var(--color-accent-dark);
|
||||
font-size: 0.75rem;
|
||||
font-weight: 700;
|
||||
flex-shrink: 0;
|
||||
@@ -1348,8 +1378,8 @@ input[type="range"]::-moz-range-thumb {
|
||||
|
||||
.proceeding-btn.active {
|
||||
border-color: var(--color-accent);
|
||||
background: rgba(101, 163, 13, 0.06);
|
||||
box-shadow: 0 0 0 3px rgba(101, 163, 13, 0.15);
|
||||
background: rgb(var(--hlc-lime-rgb) / 0.06);
|
||||
box-shadow: 0 0 0 3px rgb(var(--hlc-lime-rgb) / 0.15);
|
||||
}
|
||||
|
||||
.proceeding-btn strong {
|
||||
@@ -1397,7 +1427,7 @@ input[type="range"]::-moz-range-thumb {
|
||||
|
||||
.date-input:focus {
|
||||
border-color: var(--color-accent);
|
||||
box-shadow: 0 0 0 3px rgba(101, 163, 13, 0.15);
|
||||
box-shadow: 0 0 0 3px rgb(var(--hlc-lime-rgb) / 0.15);
|
||||
}
|
||||
|
||||
.calculate-btn {
|
||||
@@ -1408,7 +1438,7 @@ input[type="range"]::-moz-range-thumb {
|
||||
border: none;
|
||||
border-radius: var(--radius);
|
||||
background: var(--color-accent);
|
||||
color: #fff;
|
||||
color: var(--color-accent-dark);
|
||||
cursor: pointer;
|
||||
transition: background 0.15s ease;
|
||||
align-self: flex-start;
|
||||
@@ -1655,7 +1685,7 @@ input[type="range"]::-moz-range-thumb {
|
||||
padding: 0.55rem 1.1rem;
|
||||
font-size: 0.85rem;
|
||||
font-weight: 600;
|
||||
color: #fff;
|
||||
color: var(--color-accent-dark);
|
||||
background: var(--color-accent);
|
||||
border: none;
|
||||
border-radius: var(--radius);
|
||||
@@ -1749,7 +1779,7 @@ input[type="range"]::-moz-range-thumb {
|
||||
.filter-pill.active {
|
||||
background: var(--color-accent);
|
||||
border-color: var(--color-accent);
|
||||
color: #fff;
|
||||
color: var(--color-accent-dark);
|
||||
}
|
||||
|
||||
.glossar-table-wrap {
|
||||
@@ -1780,7 +1810,7 @@ input[type="range"]::-moz-range-thumb {
|
||||
}
|
||||
|
||||
.glossar-table tbody tr:hover {
|
||||
background: rgba(101, 163, 13, 0.04);
|
||||
background: rgb(var(--hlc-lime-rgb) / 0.04);
|
||||
}
|
||||
|
||||
.glossar-table td {
|
||||
@@ -1837,7 +1867,7 @@ input[type="range"]::-moz-range-thumb {
|
||||
}
|
||||
|
||||
.glossar-feedback-btn:hover {
|
||||
background: rgba(101, 163, 13, 0.1);
|
||||
background: rgb(var(--hlc-lime-rgb) / 0.1);
|
||||
color: var(--color-accent);
|
||||
opacity: 1;
|
||||
}
|
||||
@@ -1967,7 +1997,7 @@ input[type="range"]::-moz-range-thumb {
|
||||
border: none;
|
||||
border-radius: var(--radius);
|
||||
background: var(--color-accent);
|
||||
color: #fff;
|
||||
color: var(--color-accent-dark);
|
||||
cursor: pointer;
|
||||
font-family: var(--font-sans);
|
||||
transition: background 0.15s ease;
|
||||
@@ -2044,7 +2074,7 @@ input[type="range"]::-moz-range-thumb {
|
||||
|
||||
.download-card:hover .download-btn {
|
||||
background: var(--color-accent);
|
||||
color: #fff;
|
||||
color: var(--color-accent-dark);
|
||||
}
|
||||
|
||||
.download-icon {
|
||||
@@ -2211,7 +2241,7 @@ input[type="range"]::-moz-range-thumb {
|
||||
.links-pending-badge {
|
||||
font-size: 0.78rem;
|
||||
color: var(--color-accent);
|
||||
background: rgba(101, 163, 13, 0.1);
|
||||
background: rgb(var(--hlc-lime-rgb) / 0.1);
|
||||
padding: 0.25rem 0.65rem;
|
||||
border-radius: 999px;
|
||||
font-weight: 600;
|
||||
@@ -2225,7 +2255,7 @@ input[type="range"]::-moz-range-thumb {
|
||||
padding: 0.5rem 1rem;
|
||||
font-size: 0.85rem;
|
||||
font-weight: 600;
|
||||
color: #fff;
|
||||
color: var(--color-accent-dark);
|
||||
background: var(--color-accent);
|
||||
border: none;
|
||||
border-radius: var(--radius);
|
||||
@@ -2264,7 +2294,7 @@ input[type="range"]::-moz-range-thumb {
|
||||
|
||||
.links-filter-btn.active {
|
||||
background: var(--color-accent);
|
||||
color: #fff;
|
||||
color: var(--color-accent-dark);
|
||||
border-color: var(--color-accent);
|
||||
}
|
||||
|
||||
@@ -2451,7 +2481,7 @@ input[type="range"]::-moz-range-thumb {
|
||||
padding: 0.5rem 1.25rem;
|
||||
font-size: 0.85rem;
|
||||
font-weight: 600;
|
||||
color: #fff;
|
||||
color: var(--color-accent-dark);
|
||||
background: var(--color-accent);
|
||||
border: none;
|
||||
border-radius: var(--radius);
|
||||
@@ -2509,17 +2539,17 @@ input[type="range"]::-moz-range-thumb {
|
||||
|
||||
.print-header {
|
||||
padding: 1.5rem 0 1rem;
|
||||
border-bottom: 2px solid #65a30d;
|
||||
border-bottom: 2px solid var(--color-accent);
|
||||
margin-bottom: 1.5rem;
|
||||
}
|
||||
|
||||
.print-header-brand {
|
||||
font-size: 1.2rem;
|
||||
color: #1a1a2e;
|
||||
color: var(--hlc-midnight);
|
||||
}
|
||||
|
||||
.print-header-brand strong {
|
||||
color: #65a30d;
|
||||
color: var(--color-accent);
|
||||
font-size: 1.4rem;
|
||||
}
|
||||
|
||||
@@ -2624,13 +2654,13 @@ input[type="range"]::-moz-range-thumb {
|
||||
.gebuehren-input:focus {
|
||||
outline: none;
|
||||
border-color: var(--color-accent);
|
||||
box-shadow: 0 0 0 3px rgba(101, 163, 13, 0.15);
|
||||
box-shadow: 0 0 0 3px rgb(var(--hlc-lime-rgb) / 0.15);
|
||||
}
|
||||
|
||||
.btn-lookup {
|
||||
padding: 0.5rem 1rem;
|
||||
background: var(--color-accent);
|
||||
color: #fff;
|
||||
color: var(--color-accent-dark);
|
||||
border: none;
|
||||
border-radius: var(--radius);
|
||||
font-weight: 500;
|
||||
@@ -2780,11 +2810,11 @@ input[type="range"]::-moz-range-thumb {
|
||||
}
|
||||
|
||||
.gebuehren-table tbody tr:hover {
|
||||
background: rgba(101, 163, 13, 0.04);
|
||||
background: rgb(var(--hlc-lime-rgb) / 0.04);
|
||||
}
|
||||
|
||||
.gebuehren-table tbody tr.highlight {
|
||||
background: rgba(101, 163, 13, 0.12);
|
||||
background: rgb(var(--hlc-lime-rgb) / 0.12);
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
@@ -2983,12 +3013,12 @@ input[type="range"]::-moz-range-thumb {
|
||||
font-size: 0.72rem;
|
||||
font-weight: 600;
|
||||
letter-spacing: 0.04em;
|
||||
background: rgba(101, 163, 13, 0.12);
|
||||
background: rgb(var(--hlc-lime-rgb) / 0.12);
|
||||
color: var(--color-accent);
|
||||
}
|
||||
|
||||
.checklist-regime-UPC {
|
||||
background: rgba(101, 163, 13, 0.12);
|
||||
background: rgb(var(--hlc-lime-rgb) / 0.12);
|
||||
color: var(--color-accent);
|
||||
}
|
||||
|
||||
@@ -3234,7 +3264,7 @@ input[type="range"]::-moz-range-thumb {
|
||||
}
|
||||
|
||||
.checklist-item:hover {
|
||||
background: rgba(101, 163, 13, 0.04);
|
||||
background: rgb(var(--hlc-lime-rgb) / 0.04);
|
||||
}
|
||||
|
||||
.checklist-item.checked .checklist-item-text {
|
||||
@@ -3402,7 +3432,7 @@ input[type="range"]::-moz-range-thumb {
|
||||
}
|
||||
|
||||
.gericht-card:hover {
|
||||
border-color: rgba(101, 163, 13, 0.4);
|
||||
border-color: rgb(var(--hlc-lime-rgb) / 0.4);
|
||||
}
|
||||
|
||||
.gericht-card.open {
|
||||
@@ -3452,7 +3482,7 @@ input[type="range"]::-moz-range-thumb {
|
||||
align-items: center;
|
||||
padding: 0.12rem 0.55rem;
|
||||
border-radius: 99px;
|
||||
background: rgba(101, 163, 13, 0.1);
|
||||
background: rgb(var(--hlc-lime-rgb) / 0.1);
|
||||
color: var(--color-accent);
|
||||
font-weight: 600;
|
||||
font-size: 0.72rem;
|
||||
@@ -3503,7 +3533,7 @@ input[type="range"]::-moz-range-thumb {
|
||||
}
|
||||
|
||||
.gericht-feedback-btn:hover {
|
||||
background: rgba(101, 163, 13, 0.1);
|
||||
background: rgb(var(--hlc-lime-rgb) / 0.1);
|
||||
color: var(--color-accent);
|
||||
}
|
||||
|
||||
@@ -3526,7 +3556,7 @@ input[type="range"]::-moz-range-thumb {
|
||||
|
||||
.gericht-card.open .gericht-toggle {
|
||||
background: var(--color-accent);
|
||||
color: #fff;
|
||||
color: var(--color-accent-dark);
|
||||
border-color: var(--color-accent);
|
||||
}
|
||||
|
||||
@@ -3650,7 +3680,7 @@ input[type="range"]::-moz-range-thumb {
|
||||
.sidebar-group {
|
||||
margin-top: 0.75rem;
|
||||
padding-top: 0.75rem;
|
||||
border-top: 1px solid var(--color-border);
|
||||
border-top: 1px solid var(--sidebar-border);
|
||||
}
|
||||
|
||||
.sidebar-group:first-of-type {
|
||||
@@ -3663,7 +3693,7 @@ input[type="range"]::-moz-range-thumb {
|
||||
font-size: 0.66rem;
|
||||
letter-spacing: 0.08em;
|
||||
text-transform: uppercase;
|
||||
color: var(--color-text-muted);
|
||||
color: var(--sidebar-text-muted);
|
||||
opacity: 0;
|
||||
transition: opacity 0.15s ease;
|
||||
white-space: nowrap;
|
||||
@@ -3701,8 +3731,8 @@ input[type="range"]::-moz-range-thumb {
|
||||
padding: 0.6rem 1.25rem;
|
||||
font-size: 0.9rem;
|
||||
font-weight: 600;
|
||||
color: #1a1a2e;
|
||||
background: #c6f41c;
|
||||
color: var(--hlc-midnight);
|
||||
background: var(--hlc-lime);
|
||||
border: none;
|
||||
border-radius: var(--radius);
|
||||
cursor: pointer;
|
||||
@@ -3711,7 +3741,7 @@ input[type="range"]::-moz-range-thumb {
|
||||
}
|
||||
|
||||
.btn-cta-lime:hover {
|
||||
background: #b8e616;
|
||||
background: var(--color-accent-light);
|
||||
}
|
||||
|
||||
.btn-cta-lime:active {
|
||||
@@ -3725,7 +3755,7 @@ input[type="range"]::-moz-range-thumb {
|
||||
}
|
||||
|
||||
.btn-cta-lime.btn-outline:hover {
|
||||
background: rgba(198, 244, 28, 0.1);
|
||||
background: rgb(var(--hlc-lime-rgb) / 0.1);
|
||||
}
|
||||
|
||||
.akten-controls {
|
||||
@@ -3803,7 +3833,7 @@ input[type="range"]::-moz-range-thumb {
|
||||
letter-spacing: 0.04em;
|
||||
color: var(--color-text-muted);
|
||||
border-bottom: 1px solid var(--color-border);
|
||||
background: #fafafa;
|
||||
background: var(--color-bg-subtle);
|
||||
}
|
||||
|
||||
.akten-table tbody tr {
|
||||
@@ -3817,7 +3847,7 @@ input[type="range"]::-moz-range-thumb {
|
||||
}
|
||||
|
||||
.akten-table tbody tr:hover {
|
||||
background: #f8fbf0;
|
||||
background: var(--color-bg-lime-tint);
|
||||
}
|
||||
|
||||
.akten-table td {
|
||||
@@ -3886,12 +3916,12 @@ input[type="range"]::-moz-range-thumb {
|
||||
}
|
||||
|
||||
.akten-firmwide-chip {
|
||||
background: #c6f41c;
|
||||
color: #1a1a2e;
|
||||
background: var(--hlc-lime);
|
||||
color: var(--hlc-midnight);
|
||||
}
|
||||
|
||||
.akten-firmwide-dot {
|
||||
color: #c6f41c;
|
||||
color: var(--hlc-lime);
|
||||
font-size: 0.95em;
|
||||
margin-left: 0.4rem;
|
||||
text-shadow: 0 0 2px rgba(26, 26, 46, 0.35);
|
||||
@@ -3968,13 +3998,13 @@ input[type="range"]::-moz-range-thumb {
|
||||
}
|
||||
|
||||
.projekt-tree-row:hover {
|
||||
background: #f8fbf0;
|
||||
background: var(--color-bg-lime-tint);
|
||||
}
|
||||
|
||||
.projekt-tree-row:focus-visible {
|
||||
outline: 2px solid var(--color-accent);
|
||||
outline-offset: 1px;
|
||||
background: #f8fbf0;
|
||||
background: var(--color-bg-lime-tint);
|
||||
}
|
||||
|
||||
.projekt-tree-toggle {
|
||||
@@ -3999,7 +4029,7 @@ input[type="range"]::-moz-range-thumb {
|
||||
}
|
||||
|
||||
.projekt-tree-toggle:hover {
|
||||
background: rgba(198, 244, 28, 0.18);
|
||||
background: rgb(var(--hlc-lime-rgb) / 0.18);
|
||||
color: var(--color-text);
|
||||
}
|
||||
|
||||
@@ -4099,7 +4129,7 @@ input[type="range"]::-moz-range-thumb {
|
||||
}
|
||||
|
||||
.projekt-tree-node[aria-current="true"] > .projekt-tree-row {
|
||||
background: rgba(198, 244, 28, 0.2);
|
||||
background: rgb(var(--hlc-lime-rgb) / 0.2);
|
||||
border-left: 3px solid var(--color-accent);
|
||||
padding-left: calc(0.5rem - 3px);
|
||||
}
|
||||
@@ -4248,7 +4278,7 @@ input[type="range"]::-moz-range-thumb {
|
||||
}
|
||||
|
||||
.akten-suggestion:hover {
|
||||
background: #f8fbf0;
|
||||
background: var(--color-bg-lime-tint);
|
||||
}
|
||||
|
||||
.akten-suggestion-meta {
|
||||
@@ -4352,7 +4382,7 @@ input[type="range"]::-moz-range-thumb {
|
||||
|
||||
.akten-tab.active {
|
||||
color: var(--color-text);
|
||||
border-bottom-color: #c6f41c;
|
||||
border-bottom-color: var(--hlc-lime);
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
@@ -4452,7 +4482,7 @@ input[type="range"]::-moz-range-thumb {
|
||||
letter-spacing: 0.04em;
|
||||
color: var(--color-text-muted);
|
||||
border-bottom: 1px solid var(--color-border);
|
||||
background: #fafafa;
|
||||
background: var(--color-bg-subtle);
|
||||
}
|
||||
|
||||
.akten-parteien-table td {
|
||||
@@ -4573,7 +4603,7 @@ input[type="range"]::-moz-range-thumb {
|
||||
}
|
||||
|
||||
.frist-summary-card:hover {
|
||||
background: #fafafa;
|
||||
background: var(--color-bg-subtle);
|
||||
transform: translateY(-1px);
|
||||
}
|
||||
|
||||
@@ -4659,9 +4689,9 @@ input[type="range"]::-moz-range-thumb {
|
||||
}
|
||||
|
||||
.frist-reopen-btn:hover {
|
||||
color: var(--color-accent, #65a30d);
|
||||
border-color: var(--color-accent, #65a30d);
|
||||
background: rgba(198, 244, 28, 0.08);
|
||||
color: var(--color-accent, var(--color-accent));
|
||||
border-color: var(--color-accent, var(--color-accent));
|
||||
background: rgb(var(--hlc-lime-rgb) / 0.08);
|
||||
}
|
||||
|
||||
.frist-reopen-btn:disabled {
|
||||
@@ -4794,7 +4824,7 @@ input[type="range"]::-moz-range-thumb {
|
||||
}
|
||||
|
||||
.frist-cal-cell-empty {
|
||||
background: #fafafa;
|
||||
background: var(--color-bg-subtle);
|
||||
}
|
||||
|
||||
.frist-cal-cell-has {
|
||||
@@ -4813,7 +4843,7 @@ input[type="range"]::-moz-range-thumb {
|
||||
|
||||
.frist-cal-today .frist-cal-day {
|
||||
background: var(--color-accent);
|
||||
color: white;
|
||||
color: var(--color-accent-dark);
|
||||
border-radius: 999px;
|
||||
width: 1.5rem;
|
||||
height: 1.5rem;
|
||||
@@ -5067,7 +5097,7 @@ input[type="range"]::-moz-range-thumb {
|
||||
.dashboard-card-amber .dashboard-card-count { color: #b45309; }
|
||||
.dashboard-card-amber { border-left: 3px solid #f59e0b; }
|
||||
.dashboard-card-green .dashboard-card-count { color: #15803d; }
|
||||
.dashboard-card-green { border-left: 3px solid #65a30d; }
|
||||
.dashboard-card-green { border-left: 3px solid var(--color-accent); }
|
||||
.dashboard-card-done .dashboard-card-count { color: #475569; }
|
||||
.dashboard-card-done { border-left: 3px solid #94a3b8; }
|
||||
|
||||
@@ -5249,7 +5279,7 @@ input[type="range"]::-moz-range-thumb {
|
||||
|
||||
.dashboard-termin-hearing { background: #b91c1c; }
|
||||
.dashboard-termin-meeting { background: #2563eb; }
|
||||
.dashboard-termin-consultation { background: #65a30d; }
|
||||
.dashboard-termin-consultation { background: var(--color-accent); }
|
||||
.dashboard-termin-deadline_hearing { background: #b45309; }
|
||||
|
||||
.dashboard-empty {
|
||||
@@ -5367,7 +5397,7 @@ input[type="range"]::-moz-range-thumb {
|
||||
}
|
||||
.termin-type-hearing { background: #b91c1c; color: #b91c1c; }
|
||||
.termin-type-meeting { background: #2563eb; color: #2563eb; }
|
||||
.termin-type-consultation { background: #65a30d; color: #65a30d; }
|
||||
.termin-type-consultation { background: var(--color-accent); color: var(--color-accent); }
|
||||
.termin-type-deadline_hearing { background: #b45309; color: #b45309; }
|
||||
.termin-type-default { background: #94a3b8; color: #64748b; }
|
||||
|
||||
@@ -5382,7 +5412,7 @@ input[type="range"]::-moz-range-thumb {
|
||||
}
|
||||
.termin-type-chip.termin-type-hearing { background: rgba(185, 28, 28, 0.10); }
|
||||
.termin-type-chip.termin-type-meeting { background: rgba(37, 99, 235, 0.10); }
|
||||
.termin-type-chip.termin-type-consultation { background: rgba(101, 163, 13, 0.10); }
|
||||
.termin-type-chip.termin-type-consultation { background: rgb(var(--hlc-lime-rgb) / 0.10); }
|
||||
.termin-type-chip.termin-type-deadline_hearing { background: rgba(180, 83, 9, 0.12); }
|
||||
|
||||
.termin-type-badge {
|
||||
@@ -5399,7 +5429,7 @@ input[type="range"]::-moz-range-thumb {
|
||||
}
|
||||
.termin-type-badge.termin-type-hearing { background: rgba(185, 28, 28, 0.12); color: #b91c1c; }
|
||||
.termin-type-badge.termin-type-meeting { background: rgba(37, 99, 235, 0.12); color: #2563eb; }
|
||||
.termin-type-badge.termin-type-consultation { background: rgba(101, 163, 13, 0.12); color: #4d7c0f; }
|
||||
.termin-type-badge.termin-type-consultation { background: rgb(var(--hlc-lime-rgb) / 0.12); color: var(--hlc-midnight); }
|
||||
.termin-type-badge.termin-type-deadline_hearing { background: rgba(180, 83, 9, 0.14); color: #92400e; }
|
||||
|
||||
.termin-personal-tag {
|
||||
@@ -5531,7 +5561,7 @@ input[type="range"]::-moz-range-thumb {
|
||||
|
||||
.notiz-form-editing {
|
||||
border-color: var(--color-accent);
|
||||
box-shadow: 0 0 0 2px rgba(101, 163, 13, 0.15);
|
||||
box-shadow: 0 0 0 2px rgb(var(--hlc-lime-rgb) / 0.15);
|
||||
}
|
||||
|
||||
.notiz-textarea {
|
||||
@@ -5549,7 +5579,7 @@ input[type="range"]::-moz-range-thumb {
|
||||
.notiz-textarea:focus {
|
||||
outline: none;
|
||||
border-color: var(--color-accent);
|
||||
box-shadow: 0 0 0 2px rgba(101, 163, 13, 0.2);
|
||||
box-shadow: 0 0 0 2px rgb(var(--hlc-lime-rgb) / 0.2);
|
||||
}
|
||||
|
||||
.notiz-form-actions {
|
||||
@@ -5694,7 +5724,7 @@ input[type="range"]::-moz-range-thumb {
|
||||
}
|
||||
|
||||
.sidebar-search-icon {
|
||||
color: var(--color-text-muted);
|
||||
color: var(--sidebar-text-muted);
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
@@ -5705,9 +5735,9 @@ input[type="range"]::-moz-range-thumb {
|
||||
padding: 0 0.5rem;
|
||||
font-size: 0.85rem;
|
||||
font-family: var(--font-sans);
|
||||
color: var(--color-text);
|
||||
background: var(--color-bg);
|
||||
border: 1px solid var(--color-border);
|
||||
color: var(--sidebar-text);
|
||||
background: var(--sidebar-input-bg);
|
||||
border: 1px solid var(--sidebar-border);
|
||||
border-radius: 6px;
|
||||
outline: none;
|
||||
opacity: 0;
|
||||
@@ -5724,7 +5754,7 @@ input[type="range"]::-moz-range-thumb {
|
||||
}
|
||||
|
||||
.sidebar-search-input:focus {
|
||||
border-color: var(--color-accent);
|
||||
border-color: var(--sidebar-text-active);
|
||||
}
|
||||
|
||||
.sidebar-search-input::-webkit-search-cancel-button {
|
||||
@@ -5737,10 +5767,10 @@ input[type="range"]::-moz-range-thumb {
|
||||
font-family: var(--font-mono, monospace);
|
||||
font-size: 0.7rem;
|
||||
padding: 0.05rem 0.35rem;
|
||||
border: 1px solid var(--color-border);
|
||||
border: 1px solid var(--sidebar-border);
|
||||
border-radius: 3px;
|
||||
color: var(--color-text-muted);
|
||||
background: var(--color-bg);
|
||||
color: var(--sidebar-text-muted);
|
||||
background: var(--sidebar-input-bg);
|
||||
opacity: 0;
|
||||
pointer-events: none;
|
||||
transition: opacity 150ms ease;
|
||||
@@ -5944,12 +5974,12 @@ input[type="range"]::-moz-range-thumb {
|
||||
padding: 0 0.3rem;
|
||||
border-radius: 999px;
|
||||
background: var(--color-accent);
|
||||
color: #fff;
|
||||
color: var(--color-accent-dark);
|
||||
font-size: 0.65rem;
|
||||
font-weight: 700;
|
||||
line-height: 1rem;
|
||||
text-align: center;
|
||||
box-shadow: 0 0 0 2px var(--color-bg, #fff);
|
||||
box-shadow: 0 0 0 2px var(--sidebar-bg);
|
||||
pointer-events: none;
|
||||
transition: left 150ms ease;
|
||||
}
|
||||
@@ -6005,7 +6035,7 @@ input[type="range"]::-moz-range-thumb {
|
||||
}
|
||||
|
||||
.changelog-tag-feature {
|
||||
background: rgba(101, 163, 13, 0.14);
|
||||
background: rgb(var(--hlc-lime-rgb) / 0.14);
|
||||
color: var(--color-accent);
|
||||
}
|
||||
|
||||
@@ -6085,7 +6115,7 @@ input[type="range"]::-moz-range-thumb {
|
||||
}
|
||||
.agenda-chip:hover { background: var(--color-surface, #e5e7eb); }
|
||||
.agenda-chip-active {
|
||||
background: var(--color-accent-lime, #c6f41c);
|
||||
background: var(--color-accent-lime, var(--hlc-lime));
|
||||
border-color: rgba(0,0,0,0.1);
|
||||
color: #1a1a1a;
|
||||
}
|
||||
@@ -6293,7 +6323,7 @@ input[type="range"]::-moz-range-thumb {
|
||||
.team-group-header h2 {
|
||||
margin: 0;
|
||||
font-size: 1.25rem;
|
||||
color: var(--color-text, #1a1a2e);
|
||||
color: var(--color-text, var(--hlc-midnight));
|
||||
}
|
||||
|
||||
.team-group-sub {
|
||||
@@ -6309,11 +6339,11 @@ input[type="range"]::-moz-range-thumb {
|
||||
}
|
||||
|
||||
.team-dept-lead strong {
|
||||
color: var(--color-text, #1a1a2e);
|
||||
color: var(--color-text, var(--hlc-midnight));
|
||||
}
|
||||
|
||||
.team-dept-lead a {
|
||||
color: var(--color-accent, #65a30d);
|
||||
color: var(--color-accent, var(--color-accent));
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
@@ -6350,7 +6380,7 @@ input[type="range"]::-moz-range-thumb {
|
||||
}
|
||||
|
||||
.team-card:hover {
|
||||
border-color: var(--color-accent, #65a30d);
|
||||
border-color: var(--color-accent, var(--color-accent));
|
||||
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
|
||||
}
|
||||
|
||||
@@ -6359,8 +6389,8 @@ input[type="range"]::-moz-range-thumb {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
border-radius: 50%;
|
||||
background: var(--color-accent-light, #84cc16);
|
||||
color: #1a2e05;
|
||||
background: var(--color-accent-light, var(--color-accent-light));
|
||||
color: var(--hlc-midnight);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
@@ -6376,7 +6406,7 @@ input[type="range"]::-moz-range-thumb {
|
||||
|
||||
.team-card-name {
|
||||
font-weight: 600;
|
||||
color: var(--color-text, #1a1a2e);
|
||||
color: var(--color-text, var(--hlc-midnight));
|
||||
line-height: 1.2;
|
||||
overflow-wrap: anywhere;
|
||||
}
|
||||
@@ -6430,7 +6460,7 @@ input[type="range"]::-moz-range-thumb {
|
||||
gap: 0.35rem;
|
||||
margin-top: 0.6rem;
|
||||
font-size: 0.82rem;
|
||||
color: var(--color-accent, #65a30d);
|
||||
color: var(--color-accent, var(--color-accent));
|
||||
text-decoration: none;
|
||||
overflow-wrap: anywhere;
|
||||
word-break: break-all;
|
||||
@@ -6538,7 +6568,7 @@ input[type="range"]::-moz-range-thumb {
|
||||
padding: 0 4px;
|
||||
border-radius: 8px;
|
||||
background: var(--color-accent);
|
||||
color: #fff;
|
||||
color: var(--color-accent-dark);
|
||||
font-size: 0.65rem;
|
||||
font-weight: 700;
|
||||
line-height: 16px;
|
||||
@@ -6569,7 +6599,7 @@ input[type="range"]::-moz-range-thumb {
|
||||
height: 44px;
|
||||
border-radius: 50%;
|
||||
background: var(--color-accent);
|
||||
color: #fff;
|
||||
color: var(--color-accent-dark);
|
||||
margin-top: -10px;
|
||||
box-shadow: var(--shadow-md);
|
||||
transition: background 150ms ease, transform 100ms ease;
|
||||
@@ -6679,7 +6709,7 @@ dialog.quick-add-sheet::backdrop {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
border-radius: 50%;
|
||||
background: rgba(101, 163, 13, 0.1);
|
||||
background: rgb(var(--hlc-lime-rgb) / 0.1);
|
||||
color: var(--color-accent);
|
||||
flex-shrink: 0;
|
||||
}
|
||||
@@ -6783,8 +6813,8 @@ dialog.quick-add-sheet::backdrop {
|
||||
width: 38px;
|
||||
height: 38px;
|
||||
border-radius: 10px;
|
||||
background: #65a30d;
|
||||
color: #ffffff;
|
||||
background: var(--color-accent);
|
||||
color: var(--color-accent-dark);
|
||||
display: grid;
|
||||
place-items: center;
|
||||
font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
|
||||
@@ -6817,7 +6847,7 @@ dialog.quick-add-sheet::backdrop {
|
||||
justify-content: center;
|
||||
vertical-align: -4px;
|
||||
margin: 0 0.15rem;
|
||||
color: var(--color-accent, #65a30d);
|
||||
color: var(--color-accent, var(--color-accent));
|
||||
}
|
||||
|
||||
.pwa-install-cta {
|
||||
@@ -6825,8 +6855,8 @@ dialog.quick-add-sheet::backdrop {
|
||||
padding: 0.55rem 0.95rem;
|
||||
border: none;
|
||||
border-radius: 10px;
|
||||
background: #65a30d;
|
||||
color: #ffffff;
|
||||
background: var(--color-accent);
|
||||
color: var(--color-accent-dark);
|
||||
font-family: var(--font-sans);
|
||||
font-weight: 600;
|
||||
font-size: 0.85rem;
|
||||
@@ -6834,7 +6864,7 @@ dialog.quick-add-sheet::backdrop {
|
||||
}
|
||||
|
||||
.pwa-install-cta:hover {
|
||||
background: #4d7c0f;
|
||||
background: var(--hlc-midnight);
|
||||
}
|
||||
|
||||
.pwa-install-dismiss {
|
||||
@@ -6897,7 +6927,7 @@ dialog.quick-add-sheet::backdrop {
|
||||
}
|
||||
|
||||
.admin-team-table tbody tr:hover {
|
||||
background: #f8fbf0;
|
||||
background: var(--color-bg-lime-tint);
|
||||
}
|
||||
|
||||
.admin-team-loading {
|
||||
@@ -6934,7 +6964,7 @@ dialog.quick-add-sheet::backdrop {
|
||||
}
|
||||
|
||||
.admin-team-edit-row {
|
||||
background: #fdfff5;
|
||||
background: var(--color-bg-lime-tint);
|
||||
}
|
||||
|
||||
.admin-team-input {
|
||||
@@ -6967,7 +6997,7 @@ dialog.quick-add-sheet::backdrop {
|
||||
}
|
||||
|
||||
.sidebar-admin-group .sidebar-group-label {
|
||||
color: #c6f41c;
|
||||
color: var(--hlc-lime);
|
||||
}
|
||||
|
||||
/* --- Project breadcrumb (t-paliad-049) ---------------------------------
|
||||
@@ -7001,9 +7031,9 @@ dialog.quick-add-sheet::backdrop {
|
||||
|
||||
.projekt-crumb-link:hover,
|
||||
.projekt-crumb-link:focus-visible {
|
||||
border-color: var(--color-accent, #c6f41c);
|
||||
background: rgba(198, 244, 28, 0.12);
|
||||
color: var(--color-text, #1a1a2e);
|
||||
border-color: var(--color-accent, var(--hlc-lime));
|
||||
background: rgb(var(--hlc-lime-rgb) / 0.12);
|
||||
color: var(--color-text, var(--hlc-midnight));
|
||||
outline: none;
|
||||
}
|
||||
|
||||
@@ -7019,7 +7049,7 @@ dialog.quick-add-sheet::backdrop {
|
||||
|
||||
.projekt-crumb-link:hover .projekt-crumb-icon,
|
||||
.projekt-crumb-link:focus-visible .projekt-crumb-icon {
|
||||
color: var(--color-text, #1a1a2e);
|
||||
color: var(--color-text, var(--hlc-midnight));
|
||||
}
|
||||
|
||||
.projekt-crumb-icon svg {
|
||||
@@ -7036,9 +7066,9 @@ dialog.quick-add-sheet::backdrop {
|
||||
}
|
||||
|
||||
.projekt-crumb-current {
|
||||
color: var(--color-text, #1a1a2e);
|
||||
color: var(--color-text, var(--hlc-midnight));
|
||||
font-weight: 700;
|
||||
background: #fafafa;
|
||||
background: var(--color-bg-subtle);
|
||||
border-color: #d4d4d8;
|
||||
}
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ export function renderTeam(): string {
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
|
||||
<meta name="theme-color" content="#65a30d" />
|
||||
<meta name="theme-color" content="#BFF355" />
|
||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="default" />
|
||||
<PWAHead />
|
||||
|
||||
@@ -55,7 +55,7 @@ func TestRenderTemplateDeadlineReminder(t *testing.T) {
|
||||
for _, want := range []string{
|
||||
"Paliad", "Schriftsatz einreichen", "2026-04-21", "2026/0042",
|
||||
"Mustermann ./. Musterfrau", "https://paliad.de/deadlines/123",
|
||||
"morgen", "#c6f41c",
|
||||
"morgen", "#BFF355",
|
||||
} {
|
||||
if !strings.Contains(html, want) {
|
||||
t.Errorf("rendered html missing %q", want)
|
||||
|
||||
@@ -10,11 +10,11 @@
|
||||
<tr><td align="center">
|
||||
<table role="presentation" width="560" cellpadding="0" cellspacing="0" border="0" style="background:#ffffff;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,0.06);">
|
||||
<tr>
|
||||
<td style="background:#c6f41c;padding:20px 28px;">
|
||||
<td style="background:#BFF355;padding:20px 28px;">
|
||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0">
|
||||
<tr>
|
||||
<td align="left" style="font-size:20px;font-weight:700;color:#1c1917;letter-spacing:-0.01em;">
|
||||
<span style="display:inline-block;width:28px;height:28px;background:#1c1917;color:#c6f41c;border-radius:6px;text-align:center;line-height:28px;font-weight:800;vertical-align:middle;margin-right:10px;">p</span>
|
||||
<span style="display:inline-block;width:28px;height:28px;background:#1c1917;color:#BFF355;border-radius:6px;text-align:center;line-height:28px;font-weight:800;vertical-align:middle;margin-right:10px;">p</span>
|
||||
<span style="vertical-align:middle;">Paliad</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<h1 style="margin:0 0 16px 0;font-size:20px;line-height:1.3;color:#1c1917;">{{.InviterName}} invites you to Paliad</h1>
|
||||
<p style="margin:0 0 12px 0;">Paliad is the patent practice platform for HLC — matter management, deadline calculations, knowledge tools, and more.</p>
|
||||
{{if .Message}}
|
||||
<div style="background:#f5f5f4;border-left:3px solid #c6f41c;padding:14px 16px;margin:20px 0;border-radius:0 6px 6px 0;font-size:14px;line-height:1.55;color:#44403c;white-space:pre-wrap;">{{.Message}}</div>
|
||||
<div style="background:#f5f5f4;border-left:3px solid #BFF355;padding:14px 16px;margin:20px 0;border-radius:0 6px 6px 0;font-size:14px;line-height:1.55;color:#44403c;white-space:pre-wrap;">{{.Message}}</div>
|
||||
{{end}}
|
||||
<p style="margin:20px 0 24px 0;">Sign up with your HLC email to get started:</p>
|
||||
<p style="margin:0;">
|
||||
@@ -16,7 +16,7 @@
|
||||
<h1 style="margin:0 0 16px 0;font-size:20px;line-height:1.3;color:#1c1917;">{{.InviterName}} lädt Sie zu Paliad ein</h1>
|
||||
<p style="margin:0 0 12px 0;">Paliad ist die Patent-Praxis-Plattform für HLC — Aktenverwaltung, Fristenberechnung, Wissenswerkzeuge und mehr.</p>
|
||||
{{if .Message}}
|
||||
<div style="background:#f5f5f4;border-left:3px solid #c6f41c;padding:14px 16px;margin:20px 0;border-radius:0 6px 6px 0;font-size:14px;line-height:1.55;color:#44403c;white-space:pre-wrap;">{{.Message}}</div>
|
||||
<div style="background:#f5f5f4;border-left:3px solid #BFF355;padding:14px 16px;margin:20px 0;border-radius:0 6px 6px 0;font-size:14px;line-height:1.55;color:#44403c;white-space:pre-wrap;">{{.Message}}</div>
|
||||
{{end}}
|
||||
<p style="margin:20px 0 24px 0;">Registrieren Sie sich mit Ihrer HLC-E-Mail-Adresse:</p>
|
||||
<p style="margin:0;">
|
||||
|
||||
Reference in New Issue
Block a user