/* WorkflowOptionalStepsDropdown — shared optional-step multi-select. The panel * renders through a portal (position: fixed) so it is not clipped inside a modal's * overflow boundary. */ .wf-optional-steps-dropdown { display: inline-flex; } .wf-optional-steps-dropdown-trigger:disabled { opacity: 0.5; cursor: default; } .wf-optional-steps-dropdown-panel { position: fixed; z-index: 1000; display: flex; flex-direction: column; gap: 2px; max-height: 320px; overflow-y: auto; padding: 4px; background: var(--surface, #fff); border: 1px solid var(--border); border-radius: var(--radius-sm, 6px); /* FNXC:DashboardThemeTokens 2026-06-25-13:15: Shadow fallback must stay tokenized via color-mix, never a raw alpha color call, so the global/component no-raw-rgb CSS hygiene guards pass. */ box-shadow: var(--shadow-md, 0 6px 20px color-mix(in srgb, #000000 18%, transparent)); } .wf-optional-steps-dropdown-option { display: flex; align-items: flex-start; gap: 8px; padding: 6px 8px; border-radius: var(--radius-sm, 6px); cursor: pointer; } .wf-optional-steps-dropdown-option:hover, .wf-optional-steps-dropdown-option.is-active { /* FNXC:DashboardTheming 2026-06-21-00:00: Status/theme-token tests ban raw rgba fallbacks for --surface-hover; use the shared color-mix fallback so every color theme, including newly added shadcn variants, keeps tokenized hover surfaces. */ background: var(--surface-hover, color-mix(in srgb, var(--surface) 90%, var(--text) 10%)); } .wf-optional-steps-dropdown-option:focus-visible { outline: 2px solid var(--accent, #4f7cff); outline-offset: -2px; } .wf-optional-steps-dropdown-option-body { display: flex; flex-direction: column; gap: 2px; min-width: 0; } .wf-optional-steps-dropdown-option-name { display: inline-flex; align-items: center; gap: 6px; font-size: 0.8rem; font-weight: 600; } .wf-optional-steps-dropdown-option-desc { font-size: 0.72rem; color: var(--text-muted); }