Settings layout primitives
The Settings modal is plain HTML (index.html) plus a small set of CSS primitives
(src/renderer/index.css). New tabs should reuse those primitives instead of
inventing a width, grid or card per feature.
Panes
| Class | Width | Use |
|---|---|---|
settings-pane |
56rem |
Every form-shaped tab: Decision, Input, Shadow, Recording, Research, Clients, Remote, Experimental. |
settings-pane-wide |
72rem |
Data-table surfaces only: Tools, Wrappers. |
Apply the pane class to the <section data-settings-panel="…"> element. The modal
wrapper already supplies a 72rem outer column, padding and a stable scrollbar
gutter, so every pane starts on the same left edge; panes are centred in that
column, which splits the leftover space evenly instead of leaving it all on the
right.
<section data-settings-panel="research" class="hidden settings-pane">
…
</section>
Field rows
| Class | Columns |
|---|---|
settings-grid |
1 column, the base field row |
settings-grid settings-grid-2 |
2 columns from 640px |
settings-grid settings-grid-3 |
3 columns from 640px |
settings-grid settings-grid-4 |
2 columns from 640px, 4 from 1024px |
Use one grid per logical row of fields inside a <fieldset>.
<div class="settings-grid settings-grid-2">
<fieldset class="fieldset">
<legend class="fieldset-legend">Endpoint</legend>
<input id="settings-endpoint" class="input input-sm w-full" />
<p class="label font-mono text-[10px]">Base host or the full /v1/systemone URL.</p>
</fieldset>
…
</div>
Cards
settings-card is the bordered feature block. settings-card-info adds the blue
JEV accent; settings-card-warning adds the experimental accent.
<div class="mt-6 settings-card settings-card-info">…</div>
Helper text
daisyUI's .label defaults to white-space: nowrap, which made long help text
overflow its fieldset. The modal sets white-space: normal for p.label, so
helper paragraphs wrap to the field width without extra classes.
Checklist for a new tab
- Use
settings-pane(orsettings-pane-wideonly for a table). - Group fields in
settings-gridrows; do not addmax-w-*per tab. - Put explanatory blocks in
settings-card. - Keep labels and help text inside the same
<fieldset>so they share a column.