src/lib/Plugin/Skin/components/controls-base.scss
.lm-btn {
    padding: 0 $control-spacing;
    line-height: $row-height;
    border: none;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.lm-btn, .lm-btn:active, .lm-btn-link:focus, .lm-btn:hover {
    outline: none !important;
}

.lm-btn-icon {
    height: $row-height;
    width: $row-height;
    line-height: $row-height;
    padding: 0;
    text-align: center;
}

.lm-btn-link {
    .lm-icon {
        font-size: 100%;
    }
}

.lm-btn-link, .lm-btn-link:active, .lm-btn-link:focus {
    color: $lm-btn-link-font-color;
    text-decoration: none;   
}

.lm-btn-link:hover {
    color: $hover-font-color;
    text-decoration: none;
}

.lm-btn-link-toggle-on {
    color: $lm-btn-link-toggle-on-font-color;
}

.lm-btn-link-toggle-off, .lm-btn-link-toggle-off:active, .lm-btn-link-toggle-off:focus {
    color: $lm-btn-link-toggle-off-font-color;
}

.lm-btn-link-toggle-off:hover,  .lm-btn-link-toggle-on:hover {
    color: $hover-font-color;
}

@mixin lm-btn($name, $font, $bg) {
    .lm-btn-#{$name}, .lm-btn-#{$name}:active, .lm-btn-#{$name}:focus {
        color: $font;
        background: $bg;
    }    
    .lm-btn-#{$name}:hover {
        color: $hover-font-color;
        background: color-lower-contrast($bg, 2.5%);
    }
    
    .lm-btn-#{$name}[disabled], .lm-btn-#{$name}[disabled]:hover, 
    .lm-btn-#{$name}[disabled]:active, .lm-btn-#{$name}[disabled]:focus {
        color: color-lower-contrast($font, 1%);
    }
}

@include lm-btn('remove', $lm-btn-remove-font-color, $lm-btn-remove-background);
@include lm-btn('action', $font-color, $lm-btn-action-background);
@include lm-btn('commit-on', $lm-btn-commit-on-font-color, $lm-btn-commit-on-background);
@include lm-btn('commit-off', $lm-btn-commit-off-font-color, $lm-btn-commit-off-background);

.lm-btn-remove:hover {
    color: $lm-btn-remove-hover-font-color;
}
.lm-btn-commit-on:hover {
	color: $lm-btn-commit-on-hover-font-color;
}

.lm-btn-action {
    height: $row-height;
    line-height: $row-height;
}

.lm-form-control {    
    width: 100%;
    background: $lm-form-control-background;
    color: $font-color;
    border: none !important;
    padding: 0 $control-spacing;   
    line-height: $row-height - 2px;  
    height: $row-height;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;    
    box-shadow: none !important;
    
    &:hover {
        color: $hover-font-color;
        background-color: color-increase-contrast($lm-form-control-background, 5%);
        border: none;
        outline-offset: -1px;
        outline: 1px solid color-increase-contrast($lm-form-control-background, 20%);    
    }
    
    &:active, &:focus {
        color: $font-color;
        background-color: $lm-form-control-background;
        border: none;
        outline-offset: 0;
        outline: none;    
    }
}

.lm-btn-commit {        
    text-align: right;
    padding-top: 0;
    padding-bottom: 0;
    padding-right: $control-spacing;
    padding-left: 0;
    line-height: $row-height;
    border: none;
    overflow: hidden;
    
    .lm-icon {
        display: block-inline;
        line-height: $row-height;
        margin-right: $control-spacing;
        width: $row-height;
        text-align: center;
        float: left;
    } 
}

select.lm-form-control { 
    background: none;
    background-color: $lm-form-control-background;
    background-size: 8px 12px;
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAUCAMAAACzvE1FAAAADFBMVEUzMzMzMzMzMzMzMzMKAG/3AAAAA3RSTlMAf4C/aSLHAAAAPElEQVR42q3NMQ4AIAgEQTn//2cLdRKppSGzBYwzVXvznNWs8C58CiussPJj8h6NwgorrKRdTvuV9v16Afn0AYFOB7aYAAAAAElFTkSuQmCC);
    background-repeat: no-repeat;
    background-position: right $control-spacing top (($row-height - 12px) / 2);    
}

select.lm-form-control:-moz-focusring {
    color: transparent;
    text-shadow: 0 0 0 $font-color;
}