/* Minimal custom CSS - Tailwind handles most styling */

/* Cumulative table specific */
.cumulative-table-wrap {
  max-height: calc(100vh - 320px);
  overflow: auto;
}

.cumulative-table th,
.cumulative-table td {
  white-space: nowrap;
}

.cumulative-table thead th {
  position: sticky;
  top: 0;
  z-index: 5;
  background: rgb(17 24 39); /* gray-900 */
}

.cumulative-table thead th:first-child {
  z-index: 15;
}

.cumulative-table tbody td:first-child {
  z-index: 5;
}

/* Current report column highlight */
.current-col {
  box-shadow: inset 2px 0 0 rgb(59 130 246 / 0.3), inset -2px 0 0 rgb(59 130 246 / 0.3);
}

thead .current-col {
  box-shadow: inset 2px 0 0 rgb(59 130 246 / 0.3), inset -2px 0 0 rgb(59 130 246 / 0.3),
              0 2px 0 rgb(59 130 246 / 0.3) inset;
}

/* Out of range values */
.out-of-range {
  position: relative;
}

.out-of-range::after {
  content: '';
  position: absolute;
  inset: 2px;
  border: 1px solid rgb(248 113 113 / 0.4);
  border-radius: 4px;
  pointer-events: none;
}

/* Toast animations */
.toast-wrap > div {
  animation: slideIn 0.3s ease-out;
}

@keyframes slideIn {
  from { transform: translateY(20px); opacity: 0; }
  to { transform: translateY(0); opacity: 1; }
}

/* Patient/report list scrollable areas */
.panel-scroll {
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: rgb(75 85 99) transparent;
}

.panel-scroll::-webkit-scrollbar {
  width: 6px;
}

.panel-scroll::-webkit-scrollbar-thumb {
  background: rgb(75 85 99);
  border-radius: 3px;
}

/* Mode button active state */
.mode-btn.active {
  background: rgb(59 130 246);
  color: white;
}
