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>