/* Base font size */
html {
  font-size: 14px;
  position: relative;
  min-height: 100%;
}

/* Responsive font size */
@media (min-width: 768px) {
  html {
    font-size: 14px;
  }
}

/* Focus styles for buttons and form controls */
.btn:focus,
.btn:active:focus,
.btn-link.nav-link:focus,
.form-control:focus,
.form-check-input:focus {
  box-shadow:
    0 0 0 0.1rem white,
    0 0 0 0.25rem #258cfb;
}

/* Body margin for footer */
body {
  margin-bottom: 60px;
  line-height: 1.2; /* Smaller line height */
}

/* Compact table design */
.table td,
.table th {
  padding: 2px; /* Smaller padding */
  font-size: 12px; /*; /* Smaller font size */
  line-height: 1.2; /* Smaller line height */
}

#dataTable td,
#dataTable th {
  padding: 2px !important; /* Smaller padding */
  font-size: 12px; /*; /* Smaller font size */
}

.table-responsive {
  overflow-x: auto;
}

/* Striped and hover table styles */
.table-striped tbody tr:nth-of-type(odd) {
  background-color: rgba(0, 0, 0, 0.05);
}

.table-hover tbody tr:hover {
  background-color: rgba(0, 0, 0, 0.075);
}

/* Button group styles */
.btn-group .btn {
  padding: 2px 4px; /* Smaller padding */
  margin: 0 1px; /* Smaller margin */
  font-size: 12px; /*; /* Smaller font size */
}

/* Small button styles */
.btn-sm {
  padding: 1px 3px; /* Even smaller padding */
  font-size: 10px; /* Even smaller font size */
}

/* Primary, danger, and info button styles */
.btn-primary,
.btn-danger,
.btn-info {
  margin: 0px;
}

/* Vertical alignment for data table cells */
#dataTable td {
  vertical-align: middle;
}

/* Compact form controls */
.form-control,
.form-select {
  padding: 2px 4px; /* Smaller padding */
  font-size: 12px; /*; /* Smaller font size */
  height: auto; /* Auto height to fit content */
}

/* Compact navigation links */
.nav-link {
  padding: 2px 4px; /* Smaller padding */
  font-size: 12px; /*; /* Smaller font size */
}

/*DataTable SearchBox Style*/
div.dt-container div.dt-search input {
  width: 300px !important;
  padding: 6px 12px;
  border-radius: 4px;
  border: 1px solid #ced4da;
}

/*For Filter UI*/
.form-select-sm,
.form-control-sm {
  font-size: 0.875rem;
  padding: 0.25rem 0.25rem;
}

.small.mb-0 {
  font-weight: 500;
}

.work-note-cell {
  max-width: 500px;
  white-space: normal;
  word-break: break-word;
  overflow-wrap: break-word;
}

.input-group-sm > .form-control,
.input-group-sm > .form-select,
.input-group-sm > .input-group-text {
  padding: 0.25rem 0.25rem;
  font-size: 0.875rem;
}
.date-input {
  width: 90px !important;
}
.project-input {
  width: 210px !important;
}
