Skip to content

Commit 09b070f

Browse files
Make setup wizard card theming token-driven and module-mapped
1 parent 21cc93f commit 09b070f

7 files changed

Lines changed: 144 additions & 43 deletions

File tree

14.1 MB
Binary file not shown.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ebb0163a6f90560afcd747cba57bb8e7aae127fea549ca2d818ec24ca35f0967 folderview.plus-2026.03.21.08.txz

folderview.plus.plg

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,19 @@
66
<!ENTITY launch "Settings/FolderViewPlus">
77
<!ENTITY plugdir "/usr/local/emhttp/plugins/&name;">
88
<!ENTITY pluginURL "https://raw.githubusercontent.com/&github;/dev/folderview.plus.plg">
9-
<!ENTITY version "2026.03.21.07">
10-
<!ENTITY md5 "1c1b3ec507597d78f3bd54d63f3b0ab8">
9+
<!ENTITY version "2026.03.21.08">
10+
<!ENTITY md5 "2b06eaf64095913eb3e1727c7c831357">
1111
]>
1212

1313
<PLUGIN name="&name;" author="&author;" version="&version;" launch="&launch;" pluginURL="&pluginURL;" icon="folder-icon.png" support="https://forums.unraid.net/topic/197631-plugin-folderview-plus/" min="7.0.0">
1414
<CHANGES>
1515

16+
###2026.03.21.08
17+
- Feature: Reworked setup-wizard card theming to use explicit `data-fv-card-tone` module mapping instead of positional `nth-child` styling.
18+
- UX: Tokenized wizard panel/card backgrounds, accents, and shell surfaces to reduce hardcoded style coupling while preserving contrast-safe fallbacks.
19+
- Quality: Added guardrails/tests to prevent regression to positional tone mapping and raw card color literals.
20+
21+
1622
###2026.03.21.07
1723
- UX: Introduced multi-tone setup-wizard module styling so Environment/Mode/Bundle/Preset cards are visually distinct at a glance.
1824
- Fix: Increased contrast boundaries for wizard sidebar/header/footer and step panels to stop sections blending together.

scripts/theme_runtime_guard.sh

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,11 @@ require_contains "${SETTINGS_CSS}" '--fvplus-settings-surface-muted:' 'settings
7171
require_contains "${SETTINGS_CSS}" '--fvplus-settings-accent:' 'settings tokenized accent'
7272
require_contains "${SETTINGS_CSS}" '#fv-setup-assistant-dialog[[:space:]]*\{' 'wizard dialog token block exists'
7373
require_contains "${SETTINGS_CSS}" 'color-scheme:[[:space:]]*dark' 'wizard dark color scheme'
74+
require_contains "${SETTINGS_CSS}" '\.fv-setup-card\[data-fv-card-tone="env"\]' 'wizard card tone selector (env)'
75+
require_contains "${SETTINGS_CSS}" '\.fv-setup-card\[data-fv-card-tone="mode"\]' 'wizard card tone selector (mode)'
76+
require_contains "${SETTINGS_CSS}" '\.fv-setup-card\[data-fv-card-tone="bundle"\]' 'wizard card tone selector (bundle)'
77+
require_contains "${SETTINGS_CSS}" '\.fv-setup-card\[data-fv-card-tone="preset"\]' 'wizard card tone selector (preset)'
78+
require_absent "${SETTINGS_CSS}" '\.fv-setup-step-grid > \.fv-setup-card:nth-child' 'wizard should not use positional tone mapping'
7479
require_absent "${SETTINGS_CSS}" '--fv-wizard-text-primary:[[:space:]]*var\(--text' 'wizard text token must not follow host text token directly'
7580
require_absent "${SETTINGS_CSS}" '--fv-wizard-text-primary:[[:space:]]*var\(--fvplus-settings-text-primary\)' 'wizard text token must not follow settings token directly'
7681
require_contains "${SETTINGS_JS}" 'const buildResolvedThemeSnapshot = \(modeInput = null\) =>' 'theme resolver snapshot helper'

src/folderview.plus/usr/local/emhttp/plugins/folderview.plus/scripts/folderviewplus.wizard.js

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1577,7 +1577,7 @@ const renderSetupAssistantWelcomeStep = () => {
15771577
`).join('');
15781578
return `
15791579
<div class="fv-setup-step-grid">
1580-
<section class="fv-setup-card">
1580+
<section class="fv-setup-card" data-fv-card-tone="env">
15811581
<h4>Detected environment</h4>
15821582
<div class="fv-setup-chip-row">
15831583
<span class="fv-setup-chip">Docker folders: ${context.dockerFolders}</span>
@@ -1600,7 +1600,7 @@ const renderSetupAssistantWelcomeStep = () => {
16001600
<button type="button" id="fv-setup-apply-detected"><i class="fa fa-magic"></i> Use detected setup</button>
16011601
</div>
16021602
</section>
1603-
<section class="fv-setup-card">
1603+
<section class="fv-setup-card" data-fv-card-tone="mode">
16041604
<h4>Default settings mode</h4>
16051605
<p class="fv-setup-muted">You can change this any time in the top bar.</p>
16061606
<div class="fv-setup-mode-toggle">
@@ -1615,15 +1615,15 @@ const renderSetupAssistantWelcomeStep = () => {
16151615
<button type="button" class="${experienceMode === 'expert' ? 'is-active' : ''}" data-fv-setup-experience="expert">Expert</button>
16161616
</div>
16171617
</section>
1618-
<section class="fv-setup-card">
1618+
<section class="fv-setup-card" data-fv-card-tone="bundle">
16191619
<h4>Quick start bundle</h4>
16201620
<p class="fv-setup-muted">Pick a ready-made bundle. You can still fine tune profile and behavior in later steps.</p>
16211621
<div class="fv-setup-quick-preset-grid">
16221622
${quickPresetHtml}
16231623
</div>
16241624
<p class="fv-setup-muted">Current bundle: <strong>${escapeHtml(selectedQuickPreset)}</strong></p>
16251625
</section>
1626-
<section class="fv-setup-card">
1626+
<section class="fv-setup-card" data-fv-card-tone="preset">
16271627
<h4>Saved wizard presets</h4>
16281628
<p class="fv-setup-muted">Save your preferred setup path and reuse it later.</p>
16291629
<div class="fv-setup-field-grid">
@@ -1655,7 +1655,7 @@ const renderSetupAssistantWelcomeStep = () => {
16551655

16561656
const renderSetupAssistantProfileStep = () => {
16571657
return `
1658-
<div class="fv-setup-card">
1658+
<div class="fv-setup-card" data-fv-card-tone="profile">
16591659
<h4>Choose a defaults profile</h4>
16601660
<p class="fv-setup-muted">Profile defaults only apply if you enable them below.</p>
16611661
<div class="fv-setup-profile-grid">
@@ -1709,7 +1709,7 @@ const renderSetupAssistantImportTypeCard = (type) => {
17091709
const warnings = Array.isArray(plan?.warnings) ? plan.warnings : [];
17101710

17111711
return `
1712-
<section class="fv-setup-card fv-setup-import-card">
1712+
<section class="fv-setup-card fv-setup-import-card" data-fv-card-tone="import-${resolvedType}">
17131713
<div class="fv-setup-import-header">
17141714
<h4>${title} import</h4>
17151715
<div class="fv-setup-chip-row">
@@ -1790,7 +1790,7 @@ const renderSetupAssistantRuleTypeCard = (type) => {
17901790
}).join('');
17911791

17921792
return `
1793-
<section class="fv-setup-card">
1793+
<section class="fv-setup-card" data-fv-card-tone="rules-${resolvedType}">
17941794
<label class="fv-setup-inline-toggle">
17951795
<input type="checkbox" data-fv-setup-rules-enable="${resolvedType}" ${bootstrap.enabled ? 'checked' : ''} ${suggestions.length ? '' : 'disabled'}>
17961796
Add starter ${title} rules (${selectedCount}/${suggestions.length} selected)
@@ -1817,7 +1817,7 @@ const renderSetupAssistantBehaviorTypeCard = (type) => {
18171817
const title = resolvedType === 'docker' ? 'Docker' : 'VM';
18181818
const isExpert = normalizeSetupAssistantExperienceMode(setupAssistantState.experienceMode) === 'expert';
18191819
return `
1820-
<section class="fv-setup-card">
1820+
<section class="fv-setup-card" data-fv-card-tone="behavior-${resolvedType}">
18211821
<h4>${title} behavior</h4>
18221822
<div class="fv-setup-field-grid ${isExpert ? '' : 'is-guided'}">
18231823
<label class="fv-setup-field">
@@ -1865,7 +1865,7 @@ const renderSetupAssistantReviewStep = () => {
18651865
setupAssistantState.reviewNotes = notes;
18661866

18671867
return `
1868-
<div class="fv-setup-card">
1868+
<div class="fv-setup-card" data-fv-card-tone="review">
18691869
<h4>Review planned changes</h4>
18701870
<div class="fv-setup-review-grid">
18711871
<span class="fv-setup-chip">Mode: ${escapeHtml(setupAssistantState.mode)}</span>
@@ -1876,15 +1876,15 @@ const renderSetupAssistantReviewStep = () => {
18761876
<span class="fv-setup-chip">Dry run: ${setupAssistantState.dryRunOnly ? 'ON' : 'OFF'}</span>
18771877
</div>
18781878
<div class="fv-setup-impact-grid">
1879-
<article class="fv-setup-impact-card">
1879+
<article class="fv-setup-impact-card" data-fv-card-tone="impact-prefs">
18801880
<h5>Preferences</h5>
18811881
<p>${impact.prefs.totalChanges} changes planned</p>
18821882
<div class="fv-setup-chip-row">
18831883
<span class="fv-setup-chip">Docker: ${impact.prefs.byType.docker.count}</span>
18841884
<span class="fv-setup-chip">VM: ${impact.prefs.byType.vm.count}</span>
18851885
</div>
18861886
</article>
1887-
<article class="fv-setup-impact-card">
1887+
<article class="fv-setup-impact-card" data-fv-card-tone="impact-imports">
18881888
<h5>Imports</h5>
18891889
<p>${impact.imports.totals.totalOps} operations planned</p>
18901890
<div class="fv-setup-chip-row">
@@ -1893,7 +1893,7 @@ const renderSetupAssistantReviewStep = () => {
18931893
<span class="fv-setup-chip is-delete">Delete: ${impact.imports.totals.deletes}</span>
18941894
</div>
18951895
</article>
1896-
<article class="fv-setup-impact-card">
1896+
<article class="fv-setup-impact-card" data-fv-card-tone="impact-rules">
18971897
<h5>Starter rules</h5>
18981898
<p>${impact.rules.creatable} new rules planned</p>
18991899
<div class="fv-setup-chip-row">
@@ -1902,7 +1902,7 @@ const renderSetupAssistantReviewStep = () => {
19021902
<span class="fv-setup-chip">Missing folder: ${impact.rules.unresolvedFolder}</span>
19031903
</div>
19041904
</article>
1905-
<article class="fv-setup-impact-card">
1905+
<article class="fv-setup-impact-card" data-fv-card-tone="impact-total">
19061906
<h5>Total impact</h5>
19071907
<p>${impact.totalPlannedChanges} net changes estimated</p>
19081908
<div class="fv-setup-chip-row">

src/folderview.plus/usr/local/emhttp/plugins/folderview.plus/styles/folderviewplus.css

Lines changed: 106 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -3809,6 +3809,33 @@ body.fv-mobile-compact .fv-setup-field-grid {
38093809
--fv-wizard-accent-amber-rgb: 255, 170, 94;
38103810
--fv-wizard-accent-green-rgb: 147, 225, 159;
38113811
--fv-wizard-accent-cyan-rgb: 92, 213, 255;
3812+
--fv-wizard-accent-env-rgb: var(--fv-wizard-accent-blue-rgb);
3813+
--fv-wizard-accent-mode-rgb: var(--fv-wizard-accent-amber-rgb);
3814+
--fv-wizard-accent-bundle-rgb: var(--fv-wizard-accent-green-rgb);
3815+
--fv-wizard-accent-preset-rgb: var(--fv-wizard-accent-cyan-rgb);
3816+
--fv-wizard-accent-profile-rgb: var(--fv-wizard-accent-blue-rgb);
3817+
--fv-wizard-accent-import-docker-rgb: var(--fv-wizard-accent-amber-rgb);
3818+
--fv-wizard-accent-import-vm-rgb: var(--fv-wizard-accent-cyan-rgb);
3819+
--fv-wizard-accent-rules-docker-rgb: var(--fv-wizard-accent-green-rgb);
3820+
--fv-wizard-accent-rules-vm-rgb: var(--fv-wizard-accent-cyan-rgb);
3821+
--fv-wizard-accent-behavior-docker-rgb: var(--fv-wizard-accent-amber-rgb);
3822+
--fv-wizard-accent-behavior-vm-rgb: var(--fv-wizard-accent-blue-rgb);
3823+
--fv-wizard-accent-review-rgb: var(--fv-wizard-accent-blue-rgb);
3824+
--fv-wizard-accent-impact-prefs-rgb: var(--fv-wizard-accent-blue-rgb);
3825+
--fv-wizard-accent-impact-imports-rgb: var(--fv-wizard-accent-amber-rgb);
3826+
--fv-wizard-accent-impact-rules-rgb: var(--fv-wizard-accent-green-rgb);
3827+
--fv-wizard-accent-impact-total-rgb: var(--fv-wizard-accent-cyan-rgb);
3828+
--fv-wizard-shell-sidebar-bg: linear-gradient(180deg, rgba(17, 25, 37, 0.88) 0%, rgba(11, 18, 28, 0.86) 100%);
3829+
--fv-wizard-shell-head-bg: linear-gradient(180deg, rgba(17, 25, 37, 0.84) 0%, rgba(12, 20, 32, 0.78) 100%);
3830+
--fv-wizard-shell-strip-bg: rgba(10, 16, 25, 0.88);
3831+
--fv-wizard-row-bg: rgba(11, 17, 27, 0.74);
3832+
--fv-wizard-card-border-alpha: 0.34;
3833+
--fv-wizard-card-tint-alpha: 0.14;
3834+
--fv-wizard-card-surface-stop: 20%;
3835+
--fv-wizard-card-base-bg: rgba(10, 16, 25, 0.9);
3836+
--fv-wizard-card-topline-strong-alpha: 0.92;
3837+
--fv-wizard-card-topline-soft-alpha: 0.34;
3838+
--fv-wizard-card-inset-highlight: inset 0 1px 0 rgba(255, 255, 255, 0.06);
38123839
--fv-wizard-card-shadow: 0 10px 22px rgba(0, 0, 0, 0.24);
38133840
}
38143841

@@ -3881,7 +3908,7 @@ body.fv-mobile-compact .fv-setup-field-grid {
38813908
.fv-setup-assistant-sidebar {
38823909
border-right: 1px solid var(--fv-wizard-border-subtle);
38833910
padding: 0.65rem 0.62rem;
3884-
background: linear-gradient(180deg, rgba(17, 25, 37, 0.88) 0%, rgba(11, 18, 28, 0.86) 100%);
3911+
background: var(--fv-wizard-shell-sidebar-bg);
38853912
overflow-y: auto;
38863913
}
38873914

@@ -3952,7 +3979,7 @@ body.fv-mobile-compact .fv-setup-field-grid {
39523979
padding: 0;
39533980
border-radius: 8px;
39543981
border: 1px solid var(--fv-wizard-border-subtle);
3955-
background: rgba(11, 17, 27, 0.74);
3982+
background: var(--fv-wizard-row-bg);
39563983
font-size: var(--fv-wizard-font-103);
39573984
color: var(--fv-wizard-text-primary);
39583985
opacity: 0.92;
@@ -4067,7 +4094,7 @@ body.fv-mobile-compact .fv-setup-field-grid {
40674094
gap: 0.55rem;
40684095
border-bottom: 1px solid var(--fv-wizard-border-subtle);
40694096
padding: 0.7rem 0.8rem;
4070-
background: linear-gradient(180deg, rgba(17, 25, 37, 0.84) 0%, rgba(12, 20, 32, 0.78) 100%);
4097+
background: var(--fv-wizard-shell-head-bg);
40714098
}
40724099

40734100
.fv-setup-assistant-head h4 {
@@ -4085,7 +4112,7 @@ body.fv-mobile-compact .fv-setup-field-grid {
40854112
padding: 0.45rem 0.8rem 0.38rem 0.8rem;
40864113
display: grid;
40874114
gap: 0.25rem;
4088-
background: rgba(10, 16, 25, 0.88);
4115+
background: var(--fv-wizard-shell-strip-bg);
40894116
}
40904117

40914118
.fv-setup-step-grid {
@@ -4095,22 +4122,22 @@ body.fv-mobile-compact .fv-setup-field-grid {
40954122
}
40964123

40974124
.fv-setup-card {
4098-
--fv-wizard-card-accent-rgb: var(--fv-wizard-accent-blue-rgb);
4099-
border: 1px solid rgba(var(--fv-wizard-card-accent-rgb), 0.34);
4125+
--fv-wizard-card-accent-rgb: var(--fv-wizard-accent-env-rgb);
4126+
border: 1px solid rgba(var(--fv-wizard-card-accent-rgb), var(--fv-wizard-card-border-alpha));
41004127
border-radius: 10px;
41014128
background: linear-gradient(
41024129
180deg,
4103-
rgba(var(--fv-wizard-card-accent-rgb), 0.14) 0%,
4104-
var(--fv-wizard-surface-card) 20%,
4105-
rgba(10, 16, 25, 0.9) 100%
4130+
rgba(var(--fv-wizard-card-accent-rgb), var(--fv-wizard-card-tint-alpha)) 0%,
4131+
var(--fv-wizard-surface-card) var(--fv-wizard-card-surface-stop),
4132+
var(--fv-wizard-card-base-bg) 100%
41064133
);
41074134
padding: 0.6rem 0.65rem;
41084135
display: grid;
41094136
gap: 0.5rem;
41104137
min-width: 0;
41114138
position: relative;
41124139
overflow: hidden;
4113-
box-shadow: var(--fv-wizard-card-shadow), inset 0 1px 0 rgba(255, 255, 255, 0.06);
4140+
box-shadow: var(--fv-wizard-card-shadow), var(--fv-wizard-card-inset-highlight);
41144141
}
41154142

41164143
.fv-setup-card::before {
@@ -4122,27 +4149,59 @@ body.fv-mobile-compact .fv-setup-field-grid {
41224149
height: 2px;
41234150
background: linear-gradient(
41244151
90deg,
4125-
rgba(var(--fv-wizard-card-accent-rgb), 0.92) 0%,
4126-
rgba(var(--fv-wizard-card-accent-rgb), 0.34) 70%,
4152+
rgba(var(--fv-wizard-card-accent-rgb), var(--fv-wizard-card-topline-strong-alpha)) 0%,
4153+
rgba(var(--fv-wizard-card-accent-rgb), var(--fv-wizard-card-topline-soft-alpha)) 70%,
41274154
transparent 100%
41284155
);
41294156
pointer-events: none;
41304157
}
41314158

4132-
.fv-setup-step-grid > .fv-setup-card:nth-child(4n + 1) {
4133-
--fv-wizard-card-accent-rgb: var(--fv-wizard-accent-blue-rgb);
4159+
.fv-setup-card[data-fv-card-tone="env"] {
4160+
--fv-wizard-card-accent-rgb: var(--fv-wizard-accent-env-rgb);
41344161
}
41354162

4136-
.fv-setup-step-grid > .fv-setup-card:nth-child(4n + 2) {
4137-
--fv-wizard-card-accent-rgb: var(--fv-wizard-accent-amber-rgb);
4163+
.fv-setup-card[data-fv-card-tone="mode"] {
4164+
--fv-wizard-card-accent-rgb: var(--fv-wizard-accent-mode-rgb);
41384165
}
41394166

4140-
.fv-setup-step-grid > .fv-setup-card:nth-child(4n + 3) {
4141-
--fv-wizard-card-accent-rgb: var(--fv-wizard-accent-green-rgb);
4167+
.fv-setup-card[data-fv-card-tone="bundle"] {
4168+
--fv-wizard-card-accent-rgb: var(--fv-wizard-accent-bundle-rgb);
41424169
}
41434170

4144-
.fv-setup-step-grid > .fv-setup-card:nth-child(4n + 4) {
4145-
--fv-wizard-card-accent-rgb: var(--fv-wizard-accent-cyan-rgb);
4171+
.fv-setup-card[data-fv-card-tone="preset"] {
4172+
--fv-wizard-card-accent-rgb: var(--fv-wizard-accent-preset-rgb);
4173+
}
4174+
4175+
.fv-setup-card[data-fv-card-tone="profile"] {
4176+
--fv-wizard-card-accent-rgb: var(--fv-wizard-accent-profile-rgb);
4177+
}
4178+
4179+
.fv-setup-card[data-fv-card-tone="import-docker"] {
4180+
--fv-wizard-card-accent-rgb: var(--fv-wizard-accent-import-docker-rgb);
4181+
}
4182+
4183+
.fv-setup-card[data-fv-card-tone="import-vm"] {
4184+
--fv-wizard-card-accent-rgb: var(--fv-wizard-accent-import-vm-rgb);
4185+
}
4186+
4187+
.fv-setup-card[data-fv-card-tone="rules-docker"] {
4188+
--fv-wizard-card-accent-rgb: var(--fv-wizard-accent-rules-docker-rgb);
4189+
}
4190+
4191+
.fv-setup-card[data-fv-card-tone="rules-vm"] {
4192+
--fv-wizard-card-accent-rgb: var(--fv-wizard-accent-rules-vm-rgb);
4193+
}
4194+
4195+
.fv-setup-card[data-fv-card-tone="behavior-docker"] {
4196+
--fv-wizard-card-accent-rgb: var(--fv-wizard-accent-behavior-docker-rgb);
4197+
}
4198+
4199+
.fv-setup-card[data-fv-card-tone="behavior-vm"] {
4200+
--fv-wizard-card-accent-rgb: var(--fv-wizard-accent-behavior-vm-rgb);
4201+
}
4202+
4203+
.fv-setup-card[data-fv-card-tone="review"] {
4204+
--fv-wizard-card-accent-rgb: var(--fv-wizard-accent-review-rgb);
41464205
}
41474206

41484207
.fv-setup-card h4 {
@@ -4487,14 +4546,36 @@ body.fv-mobile-compact .fv-setup-field-grid {
44874546
}
44884547

44894548
.fv-setup-impact-card {
4490-
border: 1px solid var(--fv-wizard-border-subtle);
4549+
--fv-wizard-impact-accent-rgb: var(--fv-wizard-accent-impact-prefs-rgb);
4550+
border: 1px solid rgba(var(--fv-wizard-impact-accent-rgb), 0.3);
44914551
border-radius: 8px;
4492-
background: var(--fv-wizard-surface-card-strong);
4552+
background: linear-gradient(
4553+
180deg,
4554+
rgba(var(--fv-wizard-impact-accent-rgb), 0.12) 0%,
4555+
var(--fv-wizard-surface-card-strong) 20%,
4556+
var(--fv-wizard-card-base-bg) 100%
4557+
);
44934558
padding: 0.42rem 0.48rem;
44944559
display: grid;
44954560
gap: 0.28rem;
44964561
}
44974562

4563+
.fv-setup-impact-card[data-fv-card-tone="impact-prefs"] {
4564+
--fv-wizard-impact-accent-rgb: var(--fv-wizard-accent-impact-prefs-rgb);
4565+
}
4566+
4567+
.fv-setup-impact-card[data-fv-card-tone="impact-imports"] {
4568+
--fv-wizard-impact-accent-rgb: var(--fv-wizard-accent-impact-imports-rgb);
4569+
}
4570+
4571+
.fv-setup-impact-card[data-fv-card-tone="impact-rules"] {
4572+
--fv-wizard-impact-accent-rgb: var(--fv-wizard-accent-impact-rules-rgb);
4573+
}
4574+
4575+
.fv-setup-impact-card[data-fv-card-tone="impact-total"] {
4576+
--fv-wizard-impact-accent-rgb: var(--fv-wizard-accent-impact-total-rgb);
4577+
}
4578+
44984579
.fv-setup-impact-card > h5 {
44994580
margin: 0;
45004581
font-size: var(--fv-wizard-font-103);
@@ -4588,7 +4669,7 @@ body.fv-mobile-compact .fv-setup-field-grid {
45884669
align-items: center;
45894670
justify-content: space-between;
45904671
gap: 0.45rem;
4591-
background: rgba(10, 16, 25, 0.88);
4672+
background: var(--fv-wizard-shell-strip-bg);
45924673
}
45934674

45944675
.fv-setup-nav-note {
@@ -4598,7 +4679,7 @@ body.fv-mobile-compact .fv-setup-field-grid {
45984679
display: inline-flex;
45994680
align-items: center;
46004681
gap: 0.35rem;
4601-
background: rgba(10, 16, 25, 0.88);
4682+
background: var(--fv-wizard-shell-strip-bg);
46024683
}
46034684

46044685
.fv-setup-foot-left,
@@ -4612,7 +4693,7 @@ body.fv-mobile-compact .fv-setup-field-grid {
46124693
display: none;
46134694
border-top: 1px solid var(--fv-wizard-border-subtle);
46144695
padding: 0.45rem 0.8rem 0.52rem 0.8rem;
4615-
background: rgba(10, 16, 25, 0.88);
4696+
background: var(--fv-wizard-shell-strip-bg);
46164697
}
46174698

46184699
.fv-setup-progress.is-visible {

0 commit comments

Comments
 (0)