/* Reset and Base Styles */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    margin: 0;
}

/* Header */
header, .berkeley-header {
    padding: 0;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

.container {
    width: 100%;
}

.header-content {
    text-align: center;
}

/* Header for directory listings */
.berkeley-header .header-content {
    text-align: left;
}

/* Logo for directory listings */
.logo {
    height: 50px;
    width: auto;
}

/* Main Content */
.main-container {
    width: 100%;
    padding: 30px 0;
}

/* Directory listing specific */
.berkeley-header + .main-container {
    margin: 20px auto;
    max-width: 1170px;
}

/* Login Box Style */
.login-box {
    width: 360px;
    max-width: 100%;
    margin: 50px auto 30px;
    border: 1px solid #ddd;
}

.login-header {
    border-bottom: 1px solid #ddd;
    padding: 10px 15px;
}

.login-header h1 {
    margin: 0;
}

.login-body {
    padding: 20px;
}

/* Service panels */
.panel, .content-box {
    border: 1px solid #ddd;
    margin-bottom: 20px;
}

.panel-heading, .content-header {
    border-bottom: 1px solid #ddd;
    padding: 10px 15px;
}

.panel-heading h2, .content-header h1 {
    margin: 0;
}

.panel-body, .content-body {
    padding: 15px;
}

.service-grid {
    width: 100%;
}

.service-grid td {
    padding: 7px;
    width: 33.33%;
    vertical-align: top;
}

.service-card {
    display: block;
    padding: 15px;
    border: 1px solid #ddd;
    text-decoration: none;
    color: inherit;
}

.service-card h3 {
    margin-bottom: 8px;
}

.service-card p {
    margin: 0;
}

/* Buttons */
.btn {
    display: inline-block;
    padding: 6px 12px;
    text-align: center;
    cursor: pointer;
    border: 1px solid #ccc;
    text-decoration: none;
}

.btn-group {
    width: 100%;
    text-align: center;
    margin: 20px 0;
}

.btn-group .btn {
    margin: 0 5px;
}

/* Form elements */
.form-group {
    margin-bottom: 15px;
}

label {
    display: inline-block;
    max-width: 100%;
    margin-bottom: 5px;
    font-weight: bold;
    font-size: 13px;
}

/* Footer */
footer {
    padding: 20px 0;
    margin-top: 40px;
    text-align: center;
}

/* Style nginx directory listing */
.directory-listing {
    width: 100%;
}

.header-table, .footer-table {
    width: 100%;
}

pre {
    margin: 0;
}

pre a {
    text-decoration: none;
}

pre a:hover {
    text-decoration: underline;
}

/* Utility classes */
.text-center {
    text-align: center;
}
