diff --git a/frontend/src/styles.css b/frontend/src/styles.css index a687458..8a25f99 100644 --- a/frontend/src/styles.css +++ b/frontend/src/styles.css @@ -314,7 +314,11 @@ input::placeholder { color: var(--text-muted); } display: none; position: absolute; top: calc(100% + 4px); left: 0; background: var(--bg); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow-md); padding: 6px 0; - min-width: 220px; max-height: 280px; overflow-y: auto; z-index: 30; + /* Fit the widest option (no horizontal scroll) instead of a fixed width; the + scrollbar gutter is reserved so the vertical scrollbar never squeezes the + nowrap labels into a horizontal scroll. Capped to the viewport as a safety. */ + width: max-content; min-width: 220px; max-width: 96vw; + max-height: 280px; overflow-y: auto; overflow-x: hidden; scrollbar-gutter: stable; z-index: 30; } .dropdown.open .dropdown-panel { display: block; } .dropdown-panel label {