diff --git a/Cargo.lock b/Cargo.lock
index 2574e6d..c78a95d 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -1140,7 +1140,7 @@ checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe"
[[package]]
name = "openpxe"
-version = "0.4.62"
+version = "0.4.63"
dependencies = [
"anyhow",
"axum",
@@ -1162,7 +1162,7 @@ dependencies = [
[[package]]
name = "openpxe-core"
-version = "0.4.62"
+version = "0.4.63"
dependencies = [
"anyhow",
"bcrypt",
@@ -1181,7 +1181,7 @@ dependencies = [
[[package]]
name = "openpxe-dhcp-proxy"
-version = "0.4.62"
+version = "0.4.63"
dependencies = [
"anyhow",
"bytes",
@@ -1195,7 +1195,7 @@ dependencies = [
[[package]]
name = "openpxe-http-api"
-version = "0.4.62"
+version = "0.4.63"
dependencies = [
"anyhow",
"axum",
@@ -1226,7 +1226,7 @@ dependencies = [
[[package]]
name = "openpxe-ipxe-assets"
-version = "0.4.62"
+version = "0.4.63"
dependencies = [
"openpxe-core",
"rust-embed",
@@ -1236,7 +1236,7 @@ dependencies = [
[[package]]
name = "openpxe-iso-store"
-version = "0.4.62"
+version = "0.4.63"
dependencies = [
"anyhow",
"bcrypt",
@@ -1260,7 +1260,7 @@ dependencies = [
[[package]]
name = "openpxe-tftp"
-version = "0.4.62"
+version = "0.4.63"
dependencies = [
"anyhow",
"bytes",
@@ -1274,7 +1274,7 @@ dependencies = [
[[package]]
name = "openpxe-webui"
-version = "0.4.62"
+version = "0.4.63"
[[package]]
name = "parking_lot"
diff --git a/Cargo.toml b/Cargo.toml
index ccdf2b0..28c5b8b 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -12,7 +12,7 @@ members = [
]
[workspace.package]
-version = "0.4.62"
+version = "0.4.63"
edition = "2021"
rust-version = "1.95"
license = "MIT OR Apache-2.0"
diff --git a/crates/webui/src/app.css b/crates/webui/src/app.css
index 0ee06ab..62f20a1 100644
--- a/crates/webui/src/app.css
+++ b/crates/webui/src/app.css
@@ -34,9 +34,18 @@
--topbar-h: 56px;
--mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, system-ui, sans-serif;
+ /* v0.4.63: tie native form-control rendering (checkboxes, scroll bars,
+ date pickers) to the active OpenPXE theme. Without this, the inline
+ `` in index.html forces
+ dark form chrome in *both* themes — so the SSO "Enable single sign-on"
+ checkbox renders as an opaque black square against the light-mode
+ panel, ignoring our accent-color hint. CSS `color-scheme` overrides
+ the meta and tracks `data-theme` correctly. */
+ color-scheme: dark;
}
:root[data-theme="light"] {
+ color-scheme: light;
/* Light palette — high-contrast neutral, accent unchanged for brand
consistency. Designed against Netbox Labs's reference screenshot:
near-white surfaces, soft grey dividers, dark text. */
@@ -304,6 +313,23 @@ label.field textarea {
font-size: 14px; line-height: 1.4;
box-shadow: none; -webkit-appearance: none; appearance: none;
}
+/* v0.4.63: with `appearance: none`, the native