First shot at getting a session management system in place. Login and logout pages are there, and auth seems to be working and sufficiently secure for the moment. Sessions last indefinitely and are cookie-based.
/**
* Based upon the AmaroK WebControl interface by:
* Jonas Christian Drewsen ( kde at xspect dot dk )
* André Kelpe ( fs111 at web dot de )
* Peter C. Ndikuwera ( pndiku at gmail dot com )
*/
body {
font-family: sans-serif;
background-color: #262626;
color: #ffffff;
padding: 0 8px;
background-image: url(images/playbar-shadow.gif);
background-repeat: repeat-x;
}
div.tblholder {
padding: 1px;
background-color: #b0b0b0;
border: 1px solid #000000;
}
div.tblholder table {
background-color: #606060;
}
tr th {
background-color: #505050;
}
tr.row1 td {
background-color: #383838;
}
tr.row2 td {
background-color: #424242;
}
tr.current td {
background-color: #303030;
color: #ffff00;
}
div#playbar {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 32px;
padding: 0;
margin: 0;
background-image: url(images/playbar.gif);
background-repeat: repeat-x;
background-color: #383f61;
border-bottom: 1px solid #000000;
}
div.playbar-inner {
padding: 5px;
line-height: 22px;
}
a img {
border-width: 0;
}
div#playlist {
margin-top: 48px;
}
a.tracklink {
text-decoration: none;
color: white;
}
div#playlist tr.current a.tracklink {
color: #ffff00;
}
span#playmeter, span#volume_wrap {
position: relative;
top: -7px;
}
a.volume_button {
padding-right: 10px;
margin-right: 1px;
background-color: #262626;
border: 1px solid #909090;
text-decoration: none;
}
a.volume_button_active {
background-color: #404040;
border-color: #d0d0d0;
}
/* Position slider (playhead) */
div#playhead {
background-image: url(images/position-empty.png);
width: 250px;
background-repeat: no-repeat;
background-position: center center;
float: right;
margin-left: 10px;
}
div#playhead-filler {
background-image: url(images/position-full.png);
width: 150px;
background-repeat: no-repeat;
background-position: left center;
}
div#playhead-button {
background-image: url(images/playhead.png);
width: 16px;
height: 16px;
font-size: 1px;
position: absolute;
background-repeat: no-repeat;
background-position: center center;
}
/* The list of colors that will be cycled through as playback takes place */
tr.pulsar0 td { background-color: #303030; }
tr.pulsar1 td { background-color: #333333; }
tr.pulsar2 td { background-color: #363636; }
tr.pulsar3 td { background-color: #393939; }
tr.pulsar4 td { background-color: #3c3c3c; }
tr.pulsar5 td { background-color: #3f3f3f; }
tr.pulsar6 td { background-color: #424242; }
tr.pulsar7 td { background-color: #454545; }
tr.pulsar8 td { background-color: #484848; }
tr.pulsar9 td { background-color: #4b4b4b; }
div.poweredby {
font-size: smaller;
text-align: center;
margin: 10px 0;
}
div.poweredby a {
color: #57608a;
}