TinyERP makes its own buttons for the UI, which comes out very nice. They use a simple 1 pixel gradient for the background which loads quickly and can be cached.

Here's the stylesheet they use:

body {
    margin: 0;
    padding: 0;
    background: #ffffff;
}

body,table {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 12px;
}

a {
    text-decoration: none;
    color: #990000;
}

a:hover {
    text-decoration: underline;
    color: #690000;
}

a.imglink {
    text-decoration: none;
}

a:hover .imglink {
    border: none;
}

hr {
    border: 0px;
    background-color: #888;
    height: 1px;
}

input,select,textarea {
    background-color: white;
    border: 1px solid #999999;
}

input:focus,select:focus,textarea:focus {
    border-color: #990033;
}

input.checkbox,input.radio {
    background-color: transparent;
    border: none;
    margin: 0px;
}

button {
    border: solid 1px #888888;
    background: #999;
    padding: 0px 3px;
    background: url(/static/images/button_bg.png) repeat-x left top;
    font-size: 11px;
}

button:hover {
    background: url(/static/images/button_bg2.png) repeat-x left top;
}

button.inactive {
    background: #eeeeee;
    border: solid 1px #888888;
    color: #999999;
}

#container {
    margin: auto;
    width: 100%;
}

/* ---------- Header ----------- */
table.header {
    background: url(/static/images/grdheader.gif) repeat-x left top;
    width: 100%;
}

table.menu_connection {
    padding: 0px;
    border: 0px;
    height: 25px;
}

table.menu_connection td.menu_connection_welcome {
    background: #363636;
    padding-left: 10px;
    padding-right: 18px;
    color: white;
}

table.menu_connection td.menu_connection_links {
    background: url(/static/images/mainmenu_button.png) repeat-x;
    padding-left: 10px;
    padding-right: 10px;
    color: white;
}

table.menu_connection a {
    color: white;
    padding: 0 2px;
}

table.menu_connection a:hover {
    color: white;
}

#menu_header {
    background: #666666;
    margin-bottom: 4px;
    height: 25px;
    white-space: nowrap;
}

#menu_header_menu {
    background: url(/static/images/mainmenu_button.png) repeat-x;
    text-align: center;
    font-weight: bold;
}

#menu_header_shortcuts {
    background: #363636;
    text-align: center;
    padding-left: 10px;
    padding-right: 0px;
    font-weight: bold;
}

#menu_header a {
    color: white;
}

/*------------------ Header End ---------------*/

/* ----------------- Navigation -------------- */

span.disabled_text {
    color: gray;
}


/* ------------------- Footer --------------- */
#footer {
    clear: both;
    padding: 5px;
    text-align: center;
    font-size: 11px;
    color: #777777;
    line-height: 20px;
}

#footer a {
    color: #777777;
    text-decoration: underline;
}

div.button_right {
    position: relative;
    float: right;
}

div#tab_content {
    background: #fbfbfb;
    display: block;
    border-bottom: 1px solid #bbb8a9;
    padding: 5px;
}

/*------------------------------------------------------------------*/
div.vline {
    background-color: #C3D9FF;
    width: 1px;
    height: 100%;
}

div.scrollbox {
    width: 100%;
    height: 100%;
    overflow: auto;
}

div.box,div.box2 {
    background-color: #F6F6F6;
    border-top: 1px solid #999999;
    border-bottom: 1px solid #999999;
}

div.box {
    width: 400px;
    padding: 10px;
    margin: auto;
}

div.box2 {
    padding: 10px;
    width: 450px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 10px;
    margin-bottom: 10px;
}

td.errorbox {
    padding: 10px;
    white-space: nowrap;
    margin-left: auto;
    margin-right: auto;
    margin-top: 10px;
    margin-bottom: 10px;
    background-color: #F6F6F6;
    border-top: 1px solid #999999;
    border-bottom: 1px solid #999999;
}

td.welcome {
    text-align: center;
    color: #990033;
    font-size: 16px;
    font-weight: bold;
}

div.message {
    background-color: red;
    color: white;
    text-align: center;
    font-weight: bold;
}

div.welcome {
    text-align: center;
        color: #990033;
    font-size: 16px;
    font-weight: bold;position
}

/* view style */
.view {
    width: 100%;
}

.view .spacer {
    width: 4px;
    height: 4px;
}

.view .titlebar {
    font-size: 16px;
    font-weight: bold;
    color: #950000;
    border-bottom: 1px solid #363636;
    margin-bottom: 4px;
}

.view .titlebar button {
    width: auto;
    margin: 0 1px;
    cursor: pointer;
    white-space: nowrap;
}

.view .title {
    background: url(/static/images/grdline1.gif) repeat-x left top;
    border-top: 1px solid #E3E3E3;
    height: 20px;
    padding: 5px;
    font-size: 14px;
    font-weight: bold;
}

.view .toolbar {
    background-color: #F6F6F6;
    border-top: 1px solid #bbb8a9;
    border-bottom: 1px solid #bbb8a9;
    padding: 5px;
    white-space: nowrap;
}

.view .toolbar button {
    width: auto;
    margin: 0 1px;
    cursor: pointer;
    white-space: nowrap;
}

.view .fields {
}

.view table.one2many {
    border-bottom: 1px solid #bbb8a9;
}

td.label {
    padding: 0 4px;
    text-align: right;
    white-space: nowrap;
}

td.item input,td.item select,td.item textarea,td.item button {
    width: 99%;
}

td.item .checkbox,td.item .radio {
    width: auto;
}

#view_form .fielderror {
    color: #FF0000;
}

#view_form .requiredfield {
    background-color: #CCD9FF;
}

#view_form .errorfield {
    background-color: #FF6666;
}

#view_form .readonlyfield {
    background-color: #EEEEEE;
}

/* treebar */
.treebar {
    padding-right: 5px;
    width: 100px;
}

.treebar .row {
    cursor: pointer;
}

.treesep {

}

/* ----------------- Side bar ----------------- */
#sidebar {
}

#sidebar .sidebox {
    margin-bottom: 4px;
}

#sidebar table {
    padding: 0;
    white-space: nowrap;
}

#sidebar td {
    height: 25px;
}

#sidebar a {
    background: url(/static/images/sidebar_button_bg.png) no-repeat;
    background-color: #dadada;
    border-top: 1.5px solid white;

    display: block;
    vertical-align: middle;
    font-size: 11px;
    font-weight: bold;
    color: #444;
    text-align: left;
    padding-top: 5px;
    padding-left: 12px;
    padding-right: 4px;
    height: 20px;
    text-decoration: none;
    white-space: nowrap;
}

#sidebar a:hover {
    background-position: 0px -25px;
    border-top: 1.5px solid #a6a6a6;

    text-decoration: none;
    color: #902D2D;
}
/* ------------- End side bar ------- */

The style sheet listed above is copyright of TinyERP and licensed under the GPL.