style(ui): rebuild ServiceConfigForm in inspector terminal vocabulary

Previous CSS lived in DeckyFleet.css only, so when the form rendered
inside MazeNET Inspector the inputs fell back to browser defaults
(white-on-white, oversized labels, mismatched buttons).

New ServiceConfigForm.css ships with the component itself: small
uppercase tracking-1 labels at 0.6rem (matches kvs .k), dark
transparent inputs with violet focus, matrix-green text inside
inputs, custom select chevron, dedicated svc-cfg-btn that visually
mirrors maze-btn.small, password reveal toggle, and a 96px label
column so labels never wrap into the input. Help text drops to
0.58rem dim under the input. Works identically in both surfaces.
This commit is contained in:
2026-04-29 11:50:35 -04:00
parent e51666ee14
commit ba0e7ca476
3 changed files with 191 additions and 62 deletions

View File

@@ -127,61 +127,6 @@
}
.decky-hits { font-variant-numeric: tabular-nums; }
/* Schema-driven per-service config form (shared with MazeNET Inspector). */
.service-config-form {
display: flex;
flex-direction: column;
gap: 10px;
margin-top: 8px;
padding: 10px;
border: 1px dashed var(--border);
border-radius: 2px;
}
.svc-cfg-row { display: flex; flex-direction: column; gap: 4px; }
.svc-cfg-label {
font-size: 0.62rem;
letter-spacing: 1px;
text-transform: uppercase;
opacity: 0.7;
}
.svc-cfg-secret-tag { font-size: 0.55rem; opacity: 0.6; letter-spacing: 1px; }
.svc-cfg-input {
flex: 1;
font-size: 0.72rem;
padding: 4px 6px;
background: rgba(255, 255, 255, 0.04);
border: 1px solid var(--border);
color: inherit;
font-family: inherit;
}
.svc-cfg-input:focus { outline: 1px solid var(--violet); }
.svc-cfg-pw-wrap { display: flex; gap: 6px; align-items: stretch; }
.svc-cfg-help { font-size: 0.62rem; opacity: 0.55; }
.svc-cfg-actions {
display: flex;
gap: 6px;
align-items: center;
justify-content: flex-end;
margin-top: 4px;
}
.svc-cfg-dirty-tag {
font-size: 0.6rem;
letter-spacing: 1px;
color: var(--violet);
margin-right: auto;
}
.svc-cfg-toggle-btn {
background: transparent;
border: none;
color: inherit;
cursor: pointer;
font-size: 0.62rem;
letter-spacing: 1px;
opacity: 0.7;
padding: 0;
}
.svc-cfg-toggle-btn:hover { opacity: 1; }
/* Status dots */
.status-dot {
display: inline-block;