Query filter rows kept a fixed 40px height, so in Compact their labels
sat 3px below the operator select.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Compact, Normal and Large scale the text (13/14/16px) and the control
heights (32/40/48px) via data-size on <html>. Normal is unchanged.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Placeholders use the outline color, so an empty field no longer looks
filled.
Sidebar link lists (queries, versions, wiki index, admin menu) use
regular body text; only the section titles stay bold. Each item gets
8px vertical padding and a 2px gap, so wrapped names stay apart.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
At medium and high contrast, secondary-container turns dark. The empty
part of progress bars, highlighted code lines and a targeted roadmap
header now use surface-container-highest, so the fill and the text stay
readable. The selected project in the project jump is light at these
levels too; its check mark marks it.
The selected sidebar query gets the pill style even with its "clear"
icon next to it. The icon sits inside the pill and takes the pill's
text color.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
From 900px up, selects and text fields fill their column up to 480px,
numbers and dates are 140px, and long text stays full width, so every
form shares one right edge. Below 900px every field runs full width.
Overrides core's id-pinned widths (% Done, mobile dates, settings
textareas). check-form-alignment.mjs now checks widths at 1440, 1024
and 390px across all settings tabs and admin forms.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Admins set the default mode, contrast and color on Settings > Display,
shown as three labelled form rows below the Theme select. Logged-in
users' choices are saved on their account and override only the parts
they changed; anonymous visitors get the default.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The month and year selects sit between previous/next icon buttons on one
row, with Apply / Clear / Save after them, on all widths. On mobile the
calendar becomes an agenda: date column beside the issues, days of
neighbouring months hidden, empty days collapsed to one line, lighter
week headers and a highlighted today row.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
On mobile the filter operator and value fields span the row instead of
fixed desktop widths, and empty value rows are hidden. "Add filter"
becomes an M3 tonal button on all widths so it stands out from the
outlined filter fields.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Regroup Redmine's "<strong>Label</strong>: value<br>" tooltip lines on
first hover into a title block and a label/value grid (theme.js).
- Style the issue link as a kicker, the subject as title-small, and the
labels as a muted column next to aligned values.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Generate medium/high contrast schemes, add a custom swatch that builds a scheme
in the browser via lazy-loaded scheme.js, allow Theme Builder exports as palettes.
Drop the teal palette and spread the swatches across the menu width.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Theme div.tooltip span.tip as an M3 rich tooltip (surface-container,
elevation, rounded corners, body-medium text).
- Raise .ui-tooltip specificity so jQuery UI's .ui-widget-content rule
no longer overrides the inverse-surface colors.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Drawer uses the M3 width (up to 360px) so the appearance picker fits;
segmented buttons get equal widths and swatches no longer shrink.
- Dividers separate the drawer groups, so section headings no longer
read as nav items.
- Sidebar forms in the drawer (e.g. activity filters) line up with the
nav labels, fields stack under their label, checkbox rows align.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Core's responsive.css shifts #wrapper and #header aside when the flyout
opens. Make it an M3 modal drawer: fixed over the page with a scrim that
closes it on tap via core's existing #main click handler.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The dark-mode arrow swap outranked select[multiple], so the arrow
repeated behind every option in listbox selects (e.g. query columns).
Wrap the mode selectors in :where() to keep base select specificity.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>