/* Custom CSS for Highlighting App
   Matches Streamlit theme styling */

/* Primary button styling */
.btn-primary {
  background-color: #fda52f;
  border-color: #fda52f;
  color: #234465;
}

.btn-primary:hover,
.btn-primary:focus {
  background-color: #e8941f;
  border-color: #e8941f;
  color: #234465;
}

.btn-primary:active {
  background-color: #d88515;
  border-color: #d88515;
  color: #234465;
}

/* Secondary button styling */
.btn-secondary {
  background-color: #f5f7fa;
  border-color: #d8dde3;
  color: #234465;
}

.btn-secondary:hover,
.btn-secondary:focus {
  background-color: #eef1f4;
  border-color: #c8cdd3;
  color: #234465;
}

/* Invalid cell styling for data tables */
.cell-invalid {
  background-color: rgba(255, 99, 71, 0.3) !important;
  font-weight: bold;
  border: 2px solid #160052 !important;
}

/* Warning cell styling for data tables */
.cell-warning {
  background-color: rgba(255, 165, 0, 0.3) !important;
  font-weight: bold;
  border: 2px solid #160052 !important;
}

/* Code styling */
code, pre {
  font-family: 'Space Mono', monospace;
  font-size: 0.8rem;
  background-color: #eef1f4;
  border-radius: 0.25rem;
  padding: 0.2rem 0.4rem;
}

/* Card styling */
.card {
  background-color: #f5f7fa;
  border-color: #d8dde3;
}

/* Link styling */
a {
  color: #234465;
  text-decoration: none;
}

a:hover {
  color: #fda52f;
  text-decoration: underline;
}

/* Accordion styling */
.accordion-button {
  background-color: #f5f7fa;
  color: #234465;
}

.accordion-button:not(.collapsed) {
  background-color: #eef1f4;
  color: #234465;
}

/* Alert styling */
.alert-success {
  background-color: rgba(40, 167, 69, 0.1);
  border-color: #28a745;
  color: #155724;
}

.alert-danger {
  background-color: rgba(220, 53, 69, 0.1);
  border-color: #dc3545;
  color: #721c24;
}

.alert-warning {
  background-color: rgba(255, 193, 7, 0.1);
  border-color: #ffc107;
  color: #856404;
}

/* Spinner styling */
.spinner-border {
  color: #fda52f;
}

/* DataTables styling */
.dataTables_wrapper {
  font-size: 0.9rem;
}

table.dataTable thead th {
  background-color: #f5f7fa;
  color: #234465;
  border-bottom: 2px solid #d8dde3;
}

table.dataTable tbody tr:hover {
  background-color: #fdfdf8 !important;
}

/* Selectize input styling */
.selectize-input {
  border-color: #d8dde3;
  border-radius: 0.75rem;
}

.selectize-input.focus {
  border-color: #fda52f;
  box-shadow: 0 0 0 0.2rem rgba(253, 165, 47, 0.25);
}

/* Form control styling */
.form-control:focus {
  border-color: #fda52f;
  box-shadow: 0 0 0 0.2rem rgba(253, 165, 47, 0.25);
}

/* Horizontal rule styling */
hr {
  border-color: #d8dde3;
  opacity: 1;
}

/* Home link styling */
.home-link {
  color: #234465;
  text-decoration: none;
}

.home-link:hover {
  color: #fda52f;
}
