body {
  padding-top: 57px;
  --bs-tooltip-zindex: 2080;
  --medirec-purple-bg-subtle: #eee5ff;
  --medirec-purple-text-emphasis: #5a3a9e;
}

/* Compact controls are the MediRec default. Use *-md or Bootstrap's *-lg
   sizing classes when a surface needs more emphasis. */
.btn:where(:not(.btn-md):not(.btn-lg)) {
  --bs-btn-padding-y: 0.25rem;
  --bs-btn-padding-x: 0.5rem;
  --bs-btn-font-size: 0.875rem;
  --bs-btn-border-radius: var(--bs-border-radius-sm);
}

.form-control:where(:not(.form-control-md):not(.form-control-lg)) {
  min-height: calc(
    1.5em + 0.5rem + calc(var(--bs-border-width) * 2)
  );
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  border-radius: var(--bs-border-radius-sm);
}

.form-select:where(:not(.form-select-md):not(.form-select-lg)) {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  padding-left: 0.5rem;
  font-size: 0.875rem;
  border-radius: var(--bs-border-radius-sm);
}

.medirec-minimal-page {
  padding-top: 0;
}
.ag-theme-alpine {
  --ag-grid-size: 5px;
}
.ag-watermark {
  display: none;
}
.ag-cell-actions {
  overflow: visible !important;
}
.ag-row {
  z-index: 0;
}
.ag-row.ag-row-focus {
  z-index: 1;
}
.htmx-indicator,
.htmx-show {
  display: none;
}
.htmx-request.htmx-indicator,
.htmx-request .htmx-indicator,
.htmx-request.htmx-show,
.htmx-request .htmx-show {
  display: block;
}
.htmx-result,
.htmx-hide {
  display: block;
}
.htmx-request.htmx-result,
.htmx-request .htmx-result,
.htmx-request.htmx-hide,
.htmx-request .htmx-hide {
  display: none;
}
.selectize-dropdown-content {
  max-height: 500px;
}
:not(:focus-within).selectize-input.selectize-collapse {
  max-height: 100px;
  overflow: auto;
}
.text-purple {
  color: #6f42c1 !important;
}
.btn-apple {
  background-color: #78da27 !important;
  border-color: #78da27 !important;
  color: #fff !important;
}
.btn-purple {
  background-color: #6f42c1 !important;
  border-color: #6f42c1 !important;
  color: #fff !important;
}
.btn-purple:hover {
  background-color: #5a3a9e !important;
  border-color: #5a3a9e !important;
}
.bg-purple {
  background-color: #6f42c1 !important;
  border-color: #6f42c1 !important;
}
.btn-light-purple {
  background-color: #8b6dc3 !important;
  border-color: #8b6dc3 !important;
  color: #fff !important;
}
.btn-light-purple:hover {
  background-color: #6f42c1 !important;
  border-color: #6f42c1 !important;
}
.btn-orange {
  background-color: #fd7e14 !important;
  border-color: #fd7e14 !important;
  color: #fff !important;
}
.btn-brown {
  background-color: #783f04 !important;
  border-color: #783f04 !important;
  color: #fff !important;
}
.btn-brown:hover {
  background-color: #5f3103 !important;
  border-color: #5f3103 !important;
}
.bg-brown {
  background-color: #783f04 !important;
  border-color: #783f04 !important;
}
.btn-outline-brown {
  --bs-btn-color: #783f04;
  --bs-btn-border-color: #783f04;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #783f04;
  --bs-btn-hover-border-color: #783f04;
  --bs-btn-focus-shadow-rgb: 120, 63, 4;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #783f04;
  --bs-btn-active-border-color: #783f04;
  --bs-btn-disabled-color: #783f04;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #783f04;
  --bs-gradient: none;
}
.btn-orange:hover {
  background-color: #e6730e !important;
  border-color: #e6730e !important;
}
.bg-orange {
  background-color: #fd7e14 !important;
  border-color: #fd7e14 !important;
}
.alert-orange {
  color: #664d03 !important;
  background-color: #ffe7d2 !important;
  border-color: #ffe7d2 !important;
}
.bg-light-orange {
  background-color: #ffe799 !important;
  border-color: #ffe799 !important;
}
.btn-light-orange {
  background-color: #ffe799 !important;
  border-color: #ffe799 !important;
}
.btn-light-orange:hover {
  background-color: #ffdb66 !important;
  border-color: #ffdb66 !important;
}
.btn-outline-orange {
  --bs-btn-color: #fd7e14;
  --bs-btn-border-color: #fd7e14;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #fd7e14;
  --bs-btn-hover-border-color: #fd7e14;
}
.btn-outline-orange:hover {
  --bs-btn-color: #fff;
  --bs-btn-border-color: #e6730e;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #e6730e;
  --bs-btn-hover-border-color: #e6730e;
}
.btn-outline-purple {
  --bs-btn-color: #5a3a9e;
  --bs-btn-border-color: #5a3a9e;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #5a3a9e;
  --bs-btn-hover-border-color: #5a3a9e;
  --bs-btn-focus-shadow-rgb: 108, 117, 125;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #5a3a9e;
  --bs-btn-active-border-color: #5a3a9e;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #5a3a9e;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #5a3a9e;
  --bs-gradient: none;
}
.border-bottom-purple {
  border-bottom: 2px solid #6f42c1 !important;
}
.border-bottom-orange {
  border-bottom: 2px solid #fd7e14 !important;
}
.border-bottom-blue {
  border-bottom: 2px solid #007bff !important;
}
.border-bottom-green {
  border-bottom: 2px solid #28a745 !important;
}
.active.btn-outline-secondary {
  /* change it to btn-secondary */
  background-color: #6f42c1;
  border-color: var(--bs-border-color);
}

.form-control::placeholder {
  color: var(--bs-secondary-color);
}

.col-30 {
  width: 30%;
}
.col-70 {
  width: 70%;
}

.selectize-input {
  max-height: 250px;
  overflow: auto;
}

.selectize-control .selectize-input.disabled,
.selectize-control.disabled .selectize-input {
  border-color: var(--bs-border-color) !important;
  background: var(--bs-secondary-bg) !important;
  color: var(--bs-secondary-color) !important;
  cursor: not-allowed;
  opacity: 1;
}

.selectize-control .selectize-input.disabled > .item,
.selectize-control.disabled .selectize-input > .item {
  color: inherit;
}

.selectize-control .selectize-input.disabled::after,
.selectize-control.disabled .selectize-input::after {
  opacity: 0.5;
}

.is-valid .selectize-input {
  border-color: #198754;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}

.selectize-control.detail-required-invalid > .selectize-input,
.selectize-input.detail-required-invalid,
.selectize-control.is-invalid > .selectize-input,
.selectize-input.is-invalid {
  border-color: #dc3545 !important;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075) !important;
}

.medirec-grid-tooltip {
  border: 1px solid var(--bs-border-color);
  background: var(--bs-body-bg);
  color: var(--bs-body-color);
}

.medirec-status-logo {
  width: 6.25rem;
  height: 6.25rem;
  object-fit: contain;
}

.medirec-surface {
  border: 1px solid var(--bs-border-color);
  background: var(--bs-body-bg);
  color: var(--bs-body-color);
}

.medirec-surface-subtle,
.medirec-section-header,
.medirec-readonly-panel {
  background: var(--bs-tertiary-bg);
  color: var(--bs-body-color);
}

.medirec-section-header {
  border-bottom: 1px solid var(--bs-border-color);
  padding: 0.5rem;
}

.medirec-readonly-panel {
  border: 1px solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
  padding: 0.5rem;
}

:where(.form-control, .form-select)[readonly] {
  border-color: var(--bs-border-color);
  background-color: var(--bs-tertiary-bg);
  color: var(--bs-body-color);
}

.medirec-record-card {
  color: var(--bs-body-color);
}

@media print {
  :root,
  [data-bs-theme="dark"] {
    color-scheme: light !important;
    --bs-body-color: #212529;
    --bs-body-bg: #fff;
    --bs-secondary-color: rgba(33, 37, 41, 0.75);
    --bs-tertiary-color: rgba(33, 37, 41, 0.5);
    --bs-tertiary-bg: #f8f9fa;
    --bs-secondary-bg: #e9ecef;
    --bs-secondary-bg-subtle: #e2e3e5;
    --bs-secondary-text-emphasis: #2b2f32;
    --bs-border-color: #dee2e6;
  }

  body {
    background: #fff !important;
    color: #212529 !important;
  }
}
