body {
    font-family: Arial, sans-serif;
    margin: 0;
    padding: 0;
    background-color: white;
}
.container {
    margin: 0;
    background-color: white;
    padding: 0;
}
h1, h2, h3 {
    color: #333;
    border-bottom: 2px solid #4CAF50;
    padding-bottom: 5px;
    margin-top: 5px;
    margin-bottom: 5px;
    font-size: 1.2em;
}
h1 {
    font-size: 1.5em;
}
.filter-panel {
    background-color: #f9f9f9;
    padding: 8px;
    margin-bottom: 10px;
}
.filter-panel .ui-panel-content {
    padding: 5px !important;
}
.filter-form {
    display: flex;
    flex-direction: column;
    gap: 0px;
}
.filter-form-item {
    margin: 0px;
    padding: 0px;
    line-height: 1.0;
}
.filter-form-item .ui-outputlabel {
    display: block;
    margin: 0px;
    padding: 0px;
    font-size: 0.9em;
    line-height: 1.0;
}
.filter-form-item .ui-calendar,
.filter-form-item .ui-selectonemenu,
.filter-form-item .ui-selectoneradio,
.filter-form-item .ui-inputtext,
.filter-form-item .ui-spinner,
.filter-form-item .ui-selectbooleancheckbox,
.filter-form-item .ui-commandbutton {
    margin: 0px;
    margin-top: 0px;
    display: block;
    width: 100%;
}
.filter-form-item .ui-selectoneradio {
    margin-top: 0px;
}
.filter-form-item .ui-selectoneradio .ui-grid-row {
    margin: 0px;
    padding: 0px;
}
.filter-form-item .ui-selectoneradio .ui-grid-row > div {
    padding: 0px 3px;
    margin: 0px;
}
.status-legend {
    margin-top: 10px;
    padding: 5px;
    background-color: #f9f9f9;
}
.status-legend h3 {
    font-size: 0.9em;
    margin: 5px 0;
}
.status-item {
    display: flex;
    align-items: center;
    margin-bottom: 3px;
    font-size: 0.85em;
}
.status-color {
    width: 15px;
    height: 15px;
    margin-right: 5px;
    border: 1px solid #ddd;
}
.button-container {
    margin-top: 5px;
    display: flex;
    gap: 5px;
    flex-wrap: wrap;
}
.ui-datatable .ui-datatable-header {
    text-align: right !important;
    padding: 5px !important;
}
.ui-button-text-only .ui-button-text {
    padding: 0.2em 0.5em;
    font-size: 0.9em;
}
.ui-selectonemenu {
    min-width: 120px;
}
.ui-selectoneradio .ui-grid-row > div {
    padding: 0.1em 0.3em;
}
.ui-panel-content {
    padding: 0.5em !important;
}
.layout-content .ui-panel-content {
    padding: 0.5em !important;
}
.ui-datatable {
    width: 100% !important;
}
.layout-main {
    display: flex;
    gap: 2px;
}
.layout-sidebar {
    min-width: 120px;
}
.layout-content {
    flex: 1;
    min-width: 0;
    width: 100%;
}
.ui-panelgrid td {
    padding: 2px 5px !important;
    font-size: 0.9em;
}
.ui-outputlabel {
    font-size: 0.9em;
}
.ui-datatable table {
    table-layout: fixed;
    width: 100% !important;
}
.ui-datatable th,
.ui-datatable td {
    white-space: nowrap;
    padding: 4px 6px !important;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 0.90em;
}
.ui-datatable .ui-datatable-data > tr > td:nth-child(2),
.ui-datatable .ui-datatable-thead > tr > th:nth-child(2) {
    white-space: nowrap;
}
/* Enhanced selection styling */
.ui-datatable .ui-state-highlight {
    background-color: #007ad9 !important;
    color: #ffffff !important;
    border: 2px solid #005b9f !important;
    font-weight: bold;
}
.color-done-in-time { background-color: lightgreen; }
.color-done-extra-time { color: white; background-color: purple; }
.color-due-12h { background-color: #eff1b2; }
.color-due-6h { background-color: #ffe67f; }
.color-due-2h { background-color: #ffc67f; }
.color-due-1h { background-color: #ffa67f; }
.color-overdue { color: white; background-color: #ff7f7f; }
.color-error { background-color: lightgrey; }
.message-panel {
    margin-top: 10px;
    padding: 10px;
    background-color: #f0f0f0;
    border: 1px solid #ccc;
    border-radius: 4px;
}
.message-panel:empty {
    display: none;
}
/* Header styling */
.header-panel {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px solid #ddd;
    margin-bottom: 10px;
}
.header-left {
    display: flex;
    align-items: center;
}
.header-right {
    display: flex;
    align-items: center;
}
/* Navigation buttons */
.nav-button {
    margin-right: 5px;
    padding: 5px 10px;
    background-color: #f5f5f5;
    border: 1px solid #ddd;
    border-radius: 3px;
    color: #333;
    text-decoration: none;
    font-size: 0.9em;
}
.nav-button:hover {
    background-color: #e9e9e9;
}
.nav-button:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}
/* Form styling */
.form-group {
    margin-bottom: 15px;
}
.form-control {
    width: 100%;
    padding: 5px;
    border: 1px solid #ddd;
    border-radius: 3px;
}
/* Panel styling */
.ui-panel {
    margin-bottom: 15px;
    border: 1px solid #ddd;
    border-radius: 3px;
}
.ui-panel-titlebar {
    background-color: #f5f5f5;
    padding: 8px;
    border-bottom: 1px solid #ddd;
}
.ui-panel-content {
    padding: 10px;
}
/* Warning and info panels */
.warning {
    background-color: #fff3cd;
    color: #856404;
    padding: 15px;
    border-radius: 4px;
    margin: 20px 0;
}
.disk-space-info {
    background-color: #d1ecf1;
    color: #0c5460;
    padding: 10px;
    border-radius: 4px;
    display: block;
    margin-bottom: 20px;
}
.server-info {
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid #ddd;
}
.debug-info {
    background-color: #f8f9fa;
    padding: 15px;
    border-radius: 4px;
    margin-top: 20px;
}
.access-denied {
    background-color: #f8d7da;
    color: #721c24;
    padding: 20px;
    border-radius: 4px;
    margin-top: 20px;
}