It is because ui-select creates isolate scope, and if you write ng-model="selected", you actually will bind it to the variable of that inner ui-select scope, but still have no access to it in such case
@imjakechapman Yes, ui-select uses template cache, so what you can do is:
copy templates from ui-select sources, compile them as <script type="ng-template" id="mytheme123/choices.html", etc. and then in the ui-select directive, point out to use that theme <ui-select theme="mytheme123"
Sorry, not compile, well, insert them into your document
There you can add eny extra classes or remove ones, and modify the styles as you want. Just be carefull that a couple of elements in templates are actually directives, they are inserted on directive compile stage, for example ui-select-single and ui-select-multiple, depending on the type of used ui-select
Sorry about that dull '1.', I wanted to write step-by-step, but didn't manage to find whether it's Enter or Ctrl+Enter :-D