/* Tabulator container */
#study-plan-report {
  width: 100%;
  border-radius: 10px;
  box-shadow: inset 0 0 8px rgba(0, 123, 255, 0.1);
  background-color: #fff;       /* table background */
  font-family: Arial, sans-serif;
  font-size: 14px;
  max-height: 300px;
  overflow-y: hidden;
  border: 2px solid #2c7be5;
}

#study-plan-report .tabulator-tableholder {
    overflow-y: auto;
    overflow-x: hidden;
}

/* Header background */
.tabulator .tabulator-header,
.tabulator .tabulator-header .tabulator-col {
  background:  #2c7be5;
  color: #fff;
  font-weight: 600;
  font-size: 14px;
  border: 1px solid transparent;
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

/* Header corners */
.tabulator .tabulator-header .tabulator-col:first-child {
  border-top-left-radius: 10px;
}

.tabulator .tabulator-header .tabulator-col:last-child {
  border-top-right-radius: 10px;
}

/* Explicit hover style for headers */
.tabulator .tabulator-header .tabulator-col:hover {
  background-color: #1a5fcc !important;
}

/* Header filter inputs */
.tabulator .tabulator-header-filter input {
  background-color: #fff;
  border: 1px solid #c8dbf5;
  border-radius: 6px;
  padding: 4px 6px;
  font-size: 13px;
  color: #333;
}

/* Rows */
.tabulator .tabulator-row {
  background-color: #fff;        /* white rows */
  border-bottom: 0;
  transition: background-color 0.2s ease;
}

.tabulator .tabulator-row.tabulator-row-even {
  background-color: #f0f4ff;     /* subtle alternate row */
}

.tabulator .tabulator-row:hover {
  background-color: #e4efff;         /* slightly stronger hover */
  box-shadow: inset 0 0 5px rgba(44,123,229,0.08);
}

/* Cells */
.tabulator .tabulator-cell {
  vertical-align: middle;
  border-right: 0;
  white-space: normal;
}

.tabulator .tabulator-cell i {
  vertical-align: middle;   /* centers relative to the text line */
}

/* Conflict tags */
.tabulator-cell .tag {
  display: inline-block;
  background-color: #eef5ff;
  color: #2c7be5;
  padding: 2px 6px;
  margin: 2px 4px 2px 0;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 600;
  border: 1px solid rgba(44, 123, 229, 0.25);
}