fix(fristenrechner): dark-mode token migration for overhaul CSS (m/paliad#146)
Some checks failed
Paliad CI gate / build (push) Has been cancelled
Paliad CI gate / test-go (push) Has been cancelled
Paliad CI gate / deploy (push) Has been cancelled

The Fristenrechner overhaul CSS shipped in S2/S3/S4 (commits 9ab8dd8,
2a2c5b8, 70985d8) used hardcoded hex literals across the result view,
Mode A search, and Mode B wizard surfaces. The `:root[data-theme="dark"]`
flip had nothing to override, so toggling the theme left the whole
Fristenrechner pane stuck in light-mode colors.

Migrate every hex literal in those sections to the design-token system
that the rest of paliad already uses (PWAHead.tsx flips
`data-theme` from localStorage):

- Surfaces: `#fff`/`#fafaf6`/`#f4f4f0` → `--color-surface` /
  `--color-surface-2` / `--color-bg-subtle`.
- Borders: `#d8d8cf`/`#e0e0d4`/`#ececde` → `--color-border`;
  `#c8c8be`/`#d4d4c9`/`#d4d4cc` → `--color-border-strong`.
- Text: `#1f1f1f`/`#2a2a2a` → `--color-text`; `#444`/`#555`/`#666` →
  `--color-text-muted`; `#777`/`#888`/`#999` → `--color-text-subtle`.
- Status palette: error → `--status-red-*`; spawn/cond badges +
  court-set hint → `--status-amber-*`; ok-msg → `--status-green-*`;
  claimant party + filter-row badge → `--status-blue-*`; recommended
  group stripe → new `--status-blue-border`; conditional stripe →
  `--status-amber-border`.
- Defendant/court party stances → `--status-red-*` /
  new `--status-purple-*` bucket.
- Brand-lime cues (mandatory group stripe, mode-tab active underline,
  wizard row-number circle) → `--color-accent` / `--color-accent-dark`.
- Lime soft tints (nudge, footer, hover bgs, success message, "from
  Akte" wizard row, edit-button hover) → new
  `--color-accent-soft-{bg,fg,border}` tokens.
- Saturated lime pills (active chip, jurisdiction badge, wizard
  active-row outline) → new `--color-accent-strong-{bg,fg,border}`
  tokens.
- Lime accent links (rule-source, edit-date, result-cta, wizard-edit)
  → existing `--color-accent-fg` (midnight in light, lime in dark).
- Wizard active-row glow `rgba(198, 244, 28, 0.15)` → token-driven
  `rgb(var(--hlc-lime-rgb) / 0.15)`.
- Trigger card box-shadow → `var(--shadow)` (auto-deepens in dark).

Ten new tokens introduced in `:root` + mirrored in
`:root[data-theme="dark"]`: 6 accent-soft/-strong, 1 status-blue
border, 3 status-purple bucket.

Verified by mounting `frontend/dist/assets/global.css` against a static
representative DOM (all four group stripes, every party stance, mode-A
filter + result list, mode-B wizard with filter/qualifier badges,
trigger card, write-back footer, kontextfrei nudge, ok/error
messages). Toggled `data-theme="dark"` via JS — every surface, border,
chip, badge, and status pill flipped to its dark counterpart.
`bun run build` + `go vet ./...` clean. Layout / spacing / sizing
untouched (colours, borders, shadows only).

NO CHANGES IN FUNCTIONALITY. PoC pane only flips visuals when the
theme is toggled now.

t-paliad-326.
This commit is contained in:
mAi
2026-05-27 10:41:29 +02:00
parent 233547297c
commit 76d38c4c84

View File

@@ -67,6 +67,21 @@
--color-segment-active-fg: var(--color-accent-dark);
--color-segment-active-border: var(--color-accent);
/* Accent soft/strong tints — pale lime backdrops for nudges, hover
states, success messages and saturated "selected" chip pills.
Soft is the pale tint (footer, nudge, ok-msg, hover); strong is
the saturated lime pill (active chip, jurisdiction badge,
wizard active-row outline). Dark mode flips to alpha-on-midnight
so the lime cue stays visible without shouting. Consumed by
.fristen-overhaul-* / .fristen-mode-* / .fristen-wizard-*
(m/paliad#146 follow-up, t-paliad-326). */
--color-accent-soft-bg: #f7fbe6;
--color-accent-soft-fg: #3d501c;
--color-accent-soft-border: #d2e08b;
--color-accent-strong-bg: #d3edb7;
--color-accent-strong-fg: #38531a;
--color-accent-strong-border: #98b545;
/* Status palette — five buckets (red/amber/green/blue/neutral) shared
across dashboard cards, frist-due-chips, agenda urgency, termin
badges, login forms. Light values match the existing pastel-on-dark
@@ -87,8 +102,14 @@
--status-blue-bg: #dbeafe;
--status-blue-fg: #1e40af;
--status-blue-fg-2: #2563eb;
--status-blue-border: #93c5fd;
--status-blue-soft-bg: #eef2ff;
--status-blue-soft-fg: #4338ca;
/* Purple bucket — added for "court" party stance and other neutral
institutional roles. Tailwind-style purple-100/purple-800/300. */
--status-purple-bg: #f0e2f7;
--status-purple-fg: #4f2c66;
--status-purple-border: #d8b4fe;
--status-neutral-bg: #f3f4f6;
--status-neutral-fg: #6b7280;
--status-neutral-fg-2: #475569;
@@ -188,6 +209,16 @@
--color-segment-active-fg: var(--color-accent-dark);
--color-segment-active-border: var(--color-accent);
/* Accent soft/strong tints — alpha-tinted lime on midnight so the
cue reads without flattening the surface. Mirrors the light-mode
block above (t-paliad-326). */
--color-accent-soft-bg: rgb(var(--hlc-lime-rgb) / 0.08);
--color-accent-soft-fg: #bef264;
--color-accent-soft-border: rgb(var(--hlc-lime-rgb) / 0.30);
--color-accent-strong-bg: rgb(var(--hlc-lime-rgb) / 0.22);
--color-accent-strong-fg: var(--hlc-lime);
--color-accent-strong-border: rgb(var(--hlc-lime-rgb) / 0.45);
--shadow: 0 1px 3px rgba(0, 0, 0, 0.4), 0 1px 2px rgba(0, 0, 0, 0.3);
--shadow-md: 0 4px 12px rgba(0, 0, 0, 0.45);
--shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.55);
@@ -211,8 +242,13 @@
--status-blue-bg: rgb(59 130 246 / 0.18);
--status-blue-fg: #93c5fd;
--status-blue-fg-2: #60a5fa;
--status-blue-border: rgb(59 130 246 / 0.35);
--status-blue-soft-bg: rgb(99 102 241 / 0.18);
--status-blue-soft-fg: #a5b4fc;
/* Purple bucket — alpha-tinted on midnight, bright fg for AA. */
--status-purple-bg: rgb(168 85 247 / 0.18);
--status-purple-fg: #d8b4fe;
--status-purple-border: rgb(168 85 247 / 0.35);
--status-neutral-bg: rgb(var(--hlc-cream-rgb) / 0.08);
--status-neutral-fg: rgb(var(--hlc-cream-rgb) / 0.66);
--status-neutral-fg-2: rgb(var(--hlc-cream-rgb) / 0.55);
@@ -18907,31 +18943,31 @@ dialog.quick-add-sheet::backdrop {
padding: 0.9rem 1.1rem;
border-radius: 0.6rem;
margin: 0.5rem 0;
background: #f4f4f0;
border: 1px solid #e3e3da;
color: #444;
background: var(--color-bg-subtle);
border: 1px solid var(--color-border);
color: var(--color-text);
font-size: 0.95rem;
}
.fristen-overhaul-error {
background: #fde9e7;
border-color: #f0b8b1;
color: #732f25;
background: var(--status-red-bg);
border-color: var(--status-red-border);
color: var(--status-red-fg);
}
.fristen-overhaul-nudge {
background: #f8fbe8;
border-color: #d2e08b;
color: #4d5a2a;
background: var(--color-accent-soft-bg);
border-color: var(--color-accent-soft-border);
color: var(--color-accent-soft-fg);
}
.fristen-overhaul-trigger {
background: #fff;
border: 1px solid #d8d8cf;
background: var(--color-surface);
border: 1px solid var(--color-border);
border-radius: 0.8rem;
padding: 1rem 1.2rem;
margin-bottom: 1.2rem;
box-shadow: 0 2px 6px rgba(0,0,0,0.04);
box-shadow: var(--shadow);
}
.fristen-overhaul-trigger-header {
@@ -18948,7 +18984,7 @@ dialog.quick-add-sheet::backdrop {
.fristen-overhaul-trigger-title {
margin: 0;
font-size: 1.25rem;
color: #1f1f1f;
color: var(--color-text);
}
.fristen-overhaul-trigger-meta {
@@ -18957,7 +18993,7 @@ dialog.quick-add-sheet::backdrop {
gap: 0.5rem;
margin-top: 0.5rem;
font-size: 0.9rem;
color: #555;
color: var(--color-text-muted);
}
.fristen-overhaul-trigger-code,
@@ -18965,15 +19001,15 @@ dialog.quick-add-sheet::backdrop {
.fristen-overhaul-trigger-juris {
padding: 0.15rem 0.55rem;
border-radius: 0.4rem;
background: #f1f1eb;
color: #555;
background: var(--color-surface-muted);
color: var(--color-text-muted);
font-family: ui-monospace, "SFMono-Regular", Menlo, monospace;
font-size: 0.8rem;
}
.fristen-overhaul-trigger-juris {
background: #d3edb7;
color: #38531a;
background: var(--color-accent-strong-bg);
color: var(--color-accent-strong-fg);
font-family: inherit;
font-weight: 600;
}
@@ -18987,15 +19023,16 @@ dialog.quick-add-sheet::backdrop {
.fristen-overhaul-trigger-date-label {
font-size: 0.9rem;
color: #555;
color: var(--color-text-muted);
}
.fristen-overhaul-trigger-date-input {
padding: 0.35rem 0.55rem;
font-size: 0.95rem;
border: 1px solid #c8c8be;
border: 1px solid var(--color-border-strong);
border-radius: 0.4rem;
background: #fff;
background: var(--color-input-bg);
color: var(--color-text);
}
.fristen-overhaul-groups {
@@ -19005,21 +19042,21 @@ dialog.quick-add-sheet::backdrop {
}
.fristen-overhaul-group {
background: #fff;
border: 1px solid #e2e2d6;
background: var(--color-surface);
border: 1px solid var(--color-border);
border-radius: 0.7rem;
padding: 0.9rem 1.1rem;
}
.fristen-overhaul-group--mandatory { border-left: 4px solid #c6f41c; }
.fristen-overhaul-group--recommended { border-left: 4px solid #99c4e3; }
.fristen-overhaul-group--optional { border-left: 4px solid #d4d4cc; }
.fristen-overhaul-group--conditional { border-left: 4px solid #f5b66a; }
.fristen-overhaul-group--mandatory { border-left: 4px solid var(--color-accent); }
.fristen-overhaul-group--recommended { border-left: 4px solid var(--status-blue-border); }
.fristen-overhaul-group--optional { border-left: 4px solid var(--color-border-strong); }
.fristen-overhaul-group--conditional { border-left: 4px solid var(--status-amber-border); }
.fristen-overhaul-group-title {
margin: 0 0 0.6rem 0;
font-size: 1rem;
color: #2a2a2a;
color: var(--color-text);
text-transform: uppercase;
letter-spacing: 0.04em;
}
@@ -19039,8 +19076,8 @@ dialog.quick-add-sheet::backdrop {
gap: 0.7rem;
align-items: start;
padding: 0.5rem 0.6rem;
background: #fafaf6;
border: 1px solid #ececde;
background: var(--color-surface-2);
border: 1px solid var(--color-border);
border-radius: 0.5rem;
}
@@ -19071,7 +19108,7 @@ dialog.quick-add-sheet::backdrop {
.fristen-overhaul-rule-title {
font-weight: 600;
color: #1f1f1f;
color: var(--color-text);
}
.fristen-overhaul-rule-spawn,
@@ -19079,14 +19116,14 @@ dialog.quick-add-sheet::backdrop {
font-size: 0.75rem;
padding: 0.05rem 0.45rem;
border-radius: 0.35rem;
background: #f3e5cf;
color: #6e4a1d;
background: var(--status-amber-bg);
color: var(--status-amber-fg);
white-space: nowrap;
}
.fristen-overhaul-rule-cond {
background: #fff2d6;
color: #7a570e;
background: var(--status-amber-bg);
color: var(--status-amber-fg-2);
}
.fristen-overhaul-rule-meta-row {
@@ -19094,33 +19131,33 @@ dialog.quick-add-sheet::backdrop {
flex-wrap: wrap;
gap: 0.5rem;
font-size: 0.85rem;
color: #555;
color: var(--color-text-muted);
}
.fristen-overhaul-rule-duration {
color: #2a2a2a;
color: var(--color-text);
}
.fristen-overhaul-rule-party {
padding: 0.05rem 0.45rem;
border-radius: 0.35rem;
font-size: 0.75rem;
background: #eef2e3;
color: #4a5d2a;
background: var(--color-accent-soft-bg);
color: var(--color-accent-soft-fg);
}
.fristen-overhaul-rule-party--claimant { background: #d2e9ff; color: #1c4567; }
.fristen-overhaul-rule-party--defendant { background: #ffe2d7; color: #6e2c14; }
.fristen-overhaul-rule-party--court { background: #f0e2f7; color: #4f2c66; }
.fristen-overhaul-rule-party--claimant { background: var(--status-blue-bg); color: var(--status-blue-fg); }
.fristen-overhaul-rule-party--defendant { background: var(--status-red-bg); color: var(--status-red-fg); }
.fristen-overhaul-rule-party--court { background: var(--status-purple-bg); color: var(--status-purple-fg); }
.fristen-overhaul-rule-source {
font-family: ui-monospace, "SFMono-Regular", Menlo, monospace;
font-size: 0.8rem;
color: #444;
color: var(--color-text-muted);
}
a.fristen-overhaul-rule-source {
color: #2d4f1a;
color: var(--color-accent-fg);
text-decoration: underline;
text-underline-offset: 2px;
}
@@ -19128,12 +19165,12 @@ a.fristen-overhaul-rule-source {
.fristen-overhaul-rule-notes {
margin-top: 0.3rem;
font-size: 0.85rem;
color: #555;
color: var(--color-text-muted);
}
.fristen-overhaul-rule-notes summary {
cursor: pointer;
color: #666;
color: var(--color-text-muted);
}
.fristen-overhaul-rule-date-cell {
@@ -19147,16 +19184,16 @@ a.fristen-overhaul-rule-source {
.fristen-overhaul-rule-date {
font-weight: 600;
color: #1f1f1f;
color: var(--color-text);
}
.fristen-overhaul-rule-date--unknown {
color: #999;
color: var(--color-text-subtle);
font-weight: 400;
}
.fristen-overhaul-rule-court-set {
color: #6e4a1d;
color: var(--status-amber-fg);
font-style: italic;
font-size: 0.85rem;
}
@@ -19164,15 +19201,16 @@ a.fristen-overhaul-rule-source {
.fristen-overhaul-rule-date-input {
padding: 0.2rem 0.4rem;
font-size: 0.95rem;
border: 1px solid #c8c8be;
border: 1px solid var(--color-border-strong);
border-radius: 0.3rem;
background: #fff;
background: var(--color-input-bg);
color: var(--color-text);
}
.fristen-overhaul-rule-edit-date {
border: 0;
background: transparent;
color: #4a6f1f;
color: var(--color-accent-fg);
font-size: 0.8rem;
cursor: pointer;
padding: 0.1rem 0.3rem;
@@ -19180,7 +19218,7 @@ a.fristen-overhaul-rule-source {
}
.fristen-overhaul-rule-edit-date:hover {
background: #eef4dd;
background: var(--color-accent-soft-bg);
}
.fristen-overhaul-footer {
@@ -19189,14 +19227,14 @@ a.fristen-overhaul-rule-source {
align-items: center;
margin-top: 1.2rem;
padding: 0.9rem 1.1rem;
background: #f7fbe6;
border: 1px solid #d3e08b;
background: var(--color-accent-soft-bg);
border: 1px solid var(--color-accent-soft-border);
border-radius: 0.7rem;
}
.fristen-overhaul-footer-count {
font-size: 0.95rem;
color: #3d501c;
color: var(--color-accent-soft-fg);
font-weight: 500;
}
@@ -19211,8 +19249,8 @@ a.fristen-overhaul-rule-source {
border-radius: 0.4rem;
}
.fristen-overhaul-msg.form-msg-ok { background: #e7f4d6; color: #3a5113; }
.fristen-overhaul-msg.form-msg-error { background: #fde9e7; color: #732f25; }
.fristen-overhaul-msg.form-msg-ok { background: var(--status-green-bg); color: var(--status-green-fg); }
.fristen-overhaul-msg.form-msg-error { background: var(--status-red-bg); color: var(--status-red-fg); }
@media (max-width: 600px) {
.fristen-overhaul-rule {
@@ -19240,7 +19278,7 @@ a.fristen-overhaul-rule-source {
display: flex;
gap: 0.4rem;
margin: 0 0 1rem 0;
border-bottom: 2px solid #e3e3da;
border-bottom: 2px solid var(--color-border);
}
.fristen-mode-tab {
@@ -19252,7 +19290,7 @@ a.fristen-overhaul-rule-source {
border: 0;
border-bottom: 3px solid transparent;
margin-bottom: -2px;
color: #555;
color: var(--color-text-muted);
font-size: 1rem;
font-weight: 500;
cursor: pointer;
@@ -19260,14 +19298,14 @@ a.fristen-overhaul-rule-source {
}
.fristen-mode-tab:hover {
background: #f5f5ef;
color: #1f1f1f;
background: var(--color-overlay-faint);
color: var(--color-text);
}
.fristen-mode-tab.is-active {
color: #2a2a2a;
border-bottom-color: #c6f41c;
background: #fbfdf3;
color: var(--color-text);
border-bottom-color: var(--color-accent);
background: var(--color-accent-soft-bg);
}
.fristen-mode-tab-icon {
@@ -19285,8 +19323,8 @@ a.fristen-overhaul-rule-source {
}
.fristen-mode-a-filters {
background: #f7f8f2;
border: 1px solid #e2e3d7;
background: var(--color-bg-subtle);
border: 1px solid var(--color-border);
border-radius: 0.7rem;
padding: 0.8rem 1rem;
}
@@ -19294,7 +19332,7 @@ a.fristen-overhaul-rule-source {
.fristen-mode-a-filters-header {
font-size: 0.8rem;
letter-spacing: 0.05em;
color: #6e7256;
color: var(--color-text-muted);
text-transform: uppercase;
margin-bottom: 0.6rem;
font-weight: 600;
@@ -19310,7 +19348,7 @@ a.fristen-overhaul-rule-source {
.fristen-mode-a-axis-label {
font-size: 0.85rem;
color: #555;
color: var(--color-text-muted);
min-width: 7rem;
font-weight: 500;
}
@@ -19326,9 +19364,9 @@ a.fristen-overhaul-rule-source {
align-items: center;
gap: 0.3rem;
padding: 0.25rem 0.65rem;
border: 1px solid #d4d4c9;
background: #fff;
color: #2a2a2a;
border: 1px solid var(--color-border-strong);
background: var(--color-surface);
color: var(--color-text);
border-radius: 1rem;
font-size: 0.85rem;
cursor: pointer;
@@ -19336,14 +19374,14 @@ a.fristen-overhaul-rule-source {
}
.fristen-mode-a-chip:hover {
border-color: #b9c98f;
background: #f6fae5;
border-color: var(--color-accent-soft-border);
background: var(--color-accent-soft-bg);
}
.fristen-mode-a-chip.is-active {
background: #d8ed90;
border-color: #98b545;
color: #2c3d10;
background: var(--color-accent-strong-bg);
border-color: var(--color-accent-strong-border);
color: var(--color-accent-strong-fg);
font-weight: 600;
}
@@ -19353,7 +19391,7 @@ a.fristen-overhaul-rule-source {
.fristen-mode-a-chip-loading,
.fristen-mode-a-chip-empty {
color: #888;
color: var(--color-text-subtle);
font-size: 0.85rem;
font-style: italic;
}
@@ -19361,24 +19399,24 @@ a.fristen-overhaul-rule-source {
.fristen-mode-a-inbox {
margin-top: 0.5rem;
padding-top: 0.4rem;
border-top: 1px dashed #d8d8cd;
border-top: 1px dashed var(--color-border);
}
.fristen-mode-a-inbox-summary {
cursor: pointer;
color: #5f664a;
color: var(--color-text-muted);
font-size: 0.85rem;
margin-bottom: 0.3rem;
user-select: none;
}
.fristen-mode-a-inbox-summary:hover {
color: #2a2a2a;
color: var(--color-text);
}
.fristen-mode-a-search {
background: #fff;
border: 1px solid #d8d8ce;
background: var(--color-surface);
border: 1px solid var(--color-border);
border-radius: 0.7rem;
padding: 0.6rem 0.9rem;
}
@@ -19390,7 +19428,7 @@ a.fristen-overhaul-rule-source {
}
.fristen-mode-a-search-icon {
color: #888;
color: var(--color-text-subtle);
}
.fristen-mode-a-search-input {
@@ -19400,12 +19438,12 @@ a.fristen-overhaul-rule-source {
font-size: 1rem;
background: transparent;
padding: 0.3rem 0;
color: #1f1f1f;
color: var(--color-text);
}
.fristen-mode-a-results {
background: #fff;
border: 1px solid #e0e0d4;
background: var(--color-surface);
border: 1px solid var(--color-border);
border-radius: 0.7rem;
padding: 0.7rem 0.9rem;
}
@@ -19419,12 +19457,12 @@ a.fristen-overhaul-rule-source {
.fristen-mode-a-results-title {
font-weight: 600;
color: #2a2a2a;
color: var(--color-text);
}
.fristen-mode-a-results-count {
font-size: 0.85rem;
color: #777;
color: var(--color-text-subtle);
}
.fristen-mode-a-result-list {
@@ -19444,16 +19482,16 @@ a.fristen-overhaul-rule-source {
gap: 0.7rem;
align-items: center;
padding: 0.55rem 0.7rem;
background: #fafaf6;
border: 1px solid #ececde;
background: var(--color-surface-2);
border: 1px solid var(--color-border);
border-radius: 0.5rem;
cursor: pointer;
}
.fristen-mode-a-result:hover,
.fristen-mode-a-result:focus {
background: #f1f7d8;
border-color: #c2d182;
background: var(--color-accent-soft-bg);
border-color: var(--color-accent-soft-border);
outline: none;
}
@@ -19467,7 +19505,7 @@ a.fristen-overhaul-rule-source {
.fristen-mode-a-result-title {
font-weight: 600;
color: #1f1f1f;
color: var(--color-text);
}
.fristen-mode-a-result-meta {
@@ -19476,36 +19514,36 @@ a.fristen-overhaul-rule-source {
gap: 0.4rem;
align-items: center;
font-size: 0.8rem;
color: #555;
color: var(--color-text-muted);
margin-top: 0.2rem;
}
.fristen-mode-a-result-pt {
font-family: ui-monospace, "SFMono-Regular", Menlo, monospace;
padding: 0.05rem 0.45rem;
background: #efefe6;
background: var(--color-surface-muted);
border-radius: 0.3rem;
}
.fristen-mode-a-result-pt-name {
color: #555;
color: var(--color-text-muted);
}
.fristen-mode-a-result-juris {
padding: 0.05rem 0.45rem;
background: #d3edb7;
color: #38531a;
background: var(--color-accent-strong-bg);
color: var(--color-accent-strong-fg);
border-radius: 0.3rem;
font-weight: 600;
}
.fristen-mode-a-result-followups {
color: #4a6f1f;
color: var(--color-accent-fg);
font-weight: 500;
}
.fristen-mode-a-result-cta {
color: #88a554;
color: var(--color-accent-fg);
font-size: 1.2rem;
}
@@ -19514,13 +19552,13 @@ a.fristen-overhaul-rule-source {
.fristen-mode-a-result-error {
list-style: none;
padding: 0.7rem 0.5rem;
color: #888;
color: var(--color-text-subtle);
font-style: italic;
font-size: 0.9rem;
}
.fristen-mode-a-result-error {
color: #732f25;
color: var(--status-red-fg);
}
@media (max-width: 600px) {
@@ -19545,8 +19583,8 @@ a.fristen-overhaul-rule-source {
* ==================================================================== */
.fristen-wizard-root {
background: #fff;
border: 1px solid #e0e0d4;
background: var(--color-surface);
border: 1px solid var(--color-border);
border-radius: 0.7rem;
padding: 1rem 1.1rem;
}
@@ -19558,13 +19596,13 @@ a.fristen-overhaul-rule-source {
.fristen-wizard-title {
margin: 0 0 0.25rem 0;
font-size: 1.15rem;
color: #2a2a2a;
color: var(--color-text);
}
.fristen-wizard-hint {
margin: 0;
font-size: 0.85rem;
color: #666;
color: var(--color-text-muted);
}
.fristen-wizard-rows {
@@ -19574,19 +19612,19 @@ a.fristen-overhaul-rule-source {
}
.fristen-wizard-row {
background: #fafaf6;
border: 1px solid #e0e0d4;
background: var(--color-surface-2);
border: 1px solid var(--color-border);
border-radius: 0.6rem;
padding: 0.55rem 0.7rem;
}
.fristen-wizard-row.is-active {
border-color: #b1c468;
box-shadow: 0 0 0 2px rgba(198, 244, 28, 0.15);
border-color: var(--color-accent-strong-border);
box-shadow: 0 0 0 2px rgb(var(--hlc-lime-rgb) / 0.15);
}
.fristen-wizard-row.is-from-project {
background: #f4f8e0;
background: var(--color-accent-soft-bg);
}
.fristen-wizard-row.is-implicit {
@@ -19607,8 +19645,8 @@ a.fristen-overhaul-rule-source {
width: 1.6rem;
height: 1.6rem;
border-radius: 50%;
background: #c6f41c;
color: #2a2a2a;
background: var(--color-accent);
color: var(--color-accent-dark);
font-weight: 600;
font-size: 0.85rem;
}
@@ -19622,32 +19660,32 @@ a.fristen-overhaul-rule-source {
font-weight: 600;
}
.fristen-wizard-row-badge--filter { background: #d6e4f0; color: #1c4567; }
.fristen-wizard-row-badge--qualifier { background: #f5e1a8; color: #6c4905; }
.fristen-wizard-row-badge--filter { background: var(--status-blue-bg); color: var(--status-blue-fg); }
.fristen-wizard-row-badge--qualifier { background: var(--status-amber-bg); color: var(--status-amber-fg-2); }
.fristen-wizard-row-label {
font-weight: 500;
color: #2a2a2a;
color: var(--color-text);
}
.fristen-wizard-row-anno {
font-size: 0.75rem;
color: #5d6e2a;
background: #ebf4c9;
color: var(--color-accent-soft-fg);
background: var(--color-accent-soft-bg);
padding: 0.05rem 0.4rem;
border-radius: 0.3rem;
}
.fristen-wizard-row-answer {
margin-left: auto;
color: #1f1f1f;
color: var(--color-text);
font-weight: 500;
}
.fristen-wizard-row-edit {
background: transparent;
border: 0;
color: #4a6f1f;
color: var(--color-accent-fg);
cursor: pointer;
font-size: 0.85rem;
padding: 0.15rem 0.45rem;
@@ -19655,7 +19693,7 @@ a.fristen-overhaul-rule-source {
}
.fristen-wizard-row-edit:hover {
background: #eef4dd;
background: var(--color-accent-soft-bg);
}
.fristen-wizard-row-body {
@@ -19671,7 +19709,7 @@ a.fristen-overhaul-rule-source {
.fristen-wizard-empty,
.fristen-wizard-probe {
font-size: 0.85rem;
color: #888;
color: var(--color-text-subtle);
font-style: italic;
}