web: settings rows end in one column of controls !130

merged merged by cmc on 2026-08-31 05:20 UTC · krz/gitbay:settings-controls into main

Discussion

cmc

The label absorbs the row's free space, so a checkbox or a number input finishes at the same right edge as the text inputs and selects that stretch to reach it. Rows whose input already grows are untouched: flex-grow consumes the free space before an auto margin can.

Checkboxes are drawn rather than native and sized to 2.5rem, the height a text input, a select and a button already are — they were 22.5px beside a 39px button. appearance: none, --muted border, --fill ground with a white mark when checked.

This reverses what the stylesheet's comment argued for, so the comment is rewritten. The square is kept square: shape is the cue that survives greyscale and high contrast, so the size changes and the cue does not. Radios keep the native control and accent-color; the duplicate rule that also set it on checkboxes is gone, since it no longer applies to them.

The border is --muted rather than the --line the sized controls use. An empty box has nothing but its border to announce it, and --line in dark is #2e2e2e on #0a0a0a — about 1.4:1, under the 3:1 a UI boundary needs. --muted is 7.66:1 dark and 7:1 light.

All six checkboxes in the web UI are on the repository settings page, so nothing else changes shape. Checked in both schemes, plus hover and the focus ring.