@font-face {
  font-family: "Google Sans";
  src: url("/static/fonts/GoogleSans-VariableFont_GRAD,opsz,wght.ttf")
    format("truetype-variations");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Google Sans";
  src: url("/static/fonts/GoogleSans-Italic-VariableFont_GRAD,opsz,wght.ttf")
    format("truetype-variations");
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
}

html,
body {
  font-family: "Google Sans", "Roboto", sans-serif;
}

p,
li,
.long-text,
.serif,
.document-text,
.content-text {
  font-family: "Google Sans", "Roboto", sans-serif;
}

html {
  font-size: 1.1rem;
}

a {
  color: #3c8dbc;
  text-decoration: none;
}

a:hover {
  color: #23527c;
  text-decoration: none;
}

/* Set color for sub-tabs */
#jazzy-tabs .nav-link {
  color: #3c8dbc !important;
}

.app-header {
  background-image: url("/static/header_background.svg");
  background-repeat: no-repeat;
  background-size: cover;
  padding: 0 !important;
  margin: 0 !important;
  border-bottom: none !important;
}

.app-main {
  background-color: #f4f6f9 !important;
}

.app-sidebar {
  box-shadow: 6px 0 18px rgba(0, 0, 0, 0.18) !important;
  z-index: 1030;
}

.sidebar-brand {
  height: auto !important;
  padding: 0 !important;
}

#jazzy-logo {
  height: auto !important;
  line-height: normal !important;
  padding: 0 !important;
  margin: 0 !important;
}

#jazzy-logo img {
  max-height: none !important;
  width: 100%;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
}

/*Used not to displane the user panel (name and impersonate button) when sidebar is collapsed*/
.sidebar-mini.sidebar-collapse .app-sidebar:not(:hover) .user-panel {
  display: none !important;
}

#header_logo {
  position: relative;
  padding: 0;
  margin: 0;
  margin-left: 1rem;
  display: block;
  transform: translate(-10%, -20%);
  width: 7em;
  background-image: url("/static/header_logo.svg");
  background-repeat: no-repeat;
  background-size: cover;
}

#ceric-emblem {
  width: 100%;
  display: block;
  margin: auto;
  padding: auto;
}

.login-card-body {
  padding: 1em;
}

.login-box {
  width: 100%;
  max-width: 1300px;
  margin: 0 auto;
}

#cookie-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 999;
  border-radius: 0;
  display: block;
  background-color: orange;
  padding: 2em;
}

.tab-pane .card {
  box-shadow: 0 0 0 0;
}

.table > :not(caption) > * > * {
  border-bottom: 0;
}

/* Ellipsis for sidebar nav items */
.sidebar-menu > .nav-item > .nav-link > p,
.nav-treeview > .nav-item > .nav-link > p {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: calc(100% - 3rem);
}

/* Styling for main nav-items */
.sidebar-menu > .nav-item > .nav-link {
  border-left: 5px solid #e9ecef;
  margin-left: 0.5rem;
  padding-left: 0.1rem;
  transition: border-color 0.3s ease;
}

.sidebar-menu > .nav-item > .nav-link:hover {
  border-left: 5px solid #034ea2;
}

.sidebar-menu > .nav-item > .nav-link.active {
  border-left: 5px solid #034ea2;
}

/* Styling for sub nav-items */
.nav-treeview {
  padding-left: 1rem;
}

.nav-treeview > .nav-item > .nav-link {
  padding-left: 1rem;
  border-left: 5px solid #e9ecef;
  margin-left: 0.5rem;
  transition: border-color 0.3s ease;
}

.nav-treeview > .nav-item > .nav-link:hover {
  border-left: 5px solid #7cccbf;
}

.nav-treeview > .nav-item > .nav-link.active {
  border-left: 5px solid #7cccbf;
}

.sidebar-light-info .sidebar-menu > .nav-item > .nav-link.active {
  background-color: rgba(0, 0, 0, 0.1);
  color: #212529;
  box-shadow: none;
}

.center-box {
  width: calc(100% - 20px);
  max-width: 600px;
  margin: auto;
  text-align: center;
}

/**
 * NOTE: We are overriding the default bootstrap 5 behavior of smooth scrolling
 * to prevent a known issue with selenium: https://github.com/SeleniumHQ/selenium/issues/8973
 * TODO: Remove this override once the issue is resolved
 */
:root {
  scroll-behavior: auto;
}

.input-group.dbdp {
  display: flex;
  white-space: normal !important;
}

.input-group.dbdp input[type="text"] {
  flex: 1;
  width: auto;
}

.selection-table {
  display: flex;
  gap: 1.5rem;
}

.selection-table__pane {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.selection-table__pane--position-left {
  flex: 0 0 auto;
}

.selection-table__pane--position-right {
  flex: 1;
}

.selection-table__group {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.selection-table__title {
  font-size: 1.25rem;
  font-weight: bold;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #dee2e6;
}

.selection-table__title--no-line {
  border-bottom: none;
}

.selection-table__field {
  display: flex;
  flex-direction: column;
}

.selection-table__field__label {
  position: relative;
}

.selection-table__field .selection-table__field__label {
  margin: 0;
}

.selection-table__filter-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #ffc107;
  display: inline-block;
  vertical-align: middle;
}

.selection-table__field .selection-table__filter-dot {
  opacity: 0;
  transition: opacity 100ms ease-in;
  position: absolute;
  left: -10px;
  top: 10px;
}

.selection-table__field--filter-applied .selection-table__filter-dot {
  opacity: 1;
}

.selection-table__filters-warning {
  font-size: 1rem;
  opacity: 0;
  transform: translateY(0.5rem);
  transition: none 100ms ease-in;
  transition-property: opacity, transform;
}

.selection-table--filters-applied .selection-table__filters-warning {
  opacity: 1;
  transform: translateY(0);
}

.selection-table__clear {
  font-size: 1rem;
  color: #64748b;
  cursor: pointer;
  opacity: 0;
  transition: opacity 100ms ease-in;
  text-decoration: underline;
  font-weight: normal;
}

.selection-table--filters-applied .selection-table__clear {
  opacity: 1;
}

.selection-table__table-wrapper {
  border-bottom: 1px solid #dee2e6;
}

.selection-table__table-wrapper th {
  border: none;
}

.selection-table__table-wrapper table {
  margin: 0;
}

.selection-table__table-wrapper .selection-table__add-more {
  text-align: center;
  color: #3c8dbc;
  text-decoration: underline;
  cursor: pointer;
  background: none;
  border: none;
  width: 100%;
  padding: 0.75rem;
  border-top: 1px solid #dee2e6;
}

body.modal-open > .app-wrapper {
  filter: none !important;
}

.modal.show {
  backdrop-filter: blur(1px);
}

.modal-static .modal-dialog {
  transform: none !important;
}

.select2-container .select2-selection--single .select2-selection__rendered {
  padding-left: 0 !important;
  padding-top: 2px;
}

.modal-tabular .modal-dialog.modal-lg {
  width: min(900px, calc(100vw - 2rem)) !important;
  max-width: calc(100vw - 2rem) !important;
}

.modal-tabular .modal-content {
  max-height: 85vh;
  overflow-y: auto;
}

iframe.related-iframe {
  width: 100%;
  height: 100%;
}

.callout-skyblue {
  border-left-color: skyblue;
}

.report-cards-container {
  display: flex;
  flex-wrap: wrap;
}

.report-card {
  /*box-shadow: 0 0 1px rgba(0,0,0,.125),0 1px 3px rgba(0,0,0,.2);*/
  flex: 1 1 30%;
  display: flex;
  flex-direction: column;
}

.card {
  margin-bottom: 1rem;
}
.report-technical {
  border-top: 5px solid skyblue;
}

.report-scientific {
  border-top: 5px solid dodgerblue;
}

.report-assignments {
  border-top: 5px solid mediumblue;
}

/*Overrides the jazzmin class for the info button in base.py*/
.btn-info-new {
  background-color: #17a2b8;
  color: #ffffff;
  border-color: #17a2b8;
}

.btn-info-new:hover {
  background-color: #138496;
  color: #ffffff;
  border-color: #117a8b;
}

#jazzy-actions .btn-info,
#jazzy-actions input[type="submit"].btn-info {
  background-color: #17a2b8 !important;
  border-color: #17a2b8 !important;
  color: #ffffff !important;
}

#jazzy-actions .btn-info:hover,
#jazzy-actions input[type="submit"].btn-info:hover {
  background-color: #138496 !important;
  border-color: #138496 !important;
}

/*Aligns all buttons to the left */
#jazzy-actions .btn-save,
#jazzy-actions .btn-add,
#jazzy-actions .btn-delete,
#jazzy-actions .btn-danger,
#jazzy-actions .btn-primary,
#jazzy-actions .btn-secondary,
#jazzy-actions .btn-success,
#jazzy-actions .btn-warning,
#jazzy-actions .btn-info,
#jazzy-actions .btn-light,
#jazzy-actions .btn-dark,
#jazzy-actions .btn-link,
#jazzy-actions .btn-outline-primary,
#jazzy-actions .btn-outline-secondary,
#jazzy-actions .btn-outline-success,
#jazzy-actions .btn-outline-danger,
#jazzy-actions .btn-outline-warning,
#jazzy-actions .btn-outline-info,
#jazzy-actions input[type="submit"].btn-save,
#jazzy-actions input[type="submit"].btn-add,
#jazzy-actions input[type="submit"].btn-delete,
#jazzy-actions input[type="submit"].btn-danger,
#jazzy-actions input[type="submit"].btn-primary,
#jazzy-actions input[type="submit"].btn-secondary,
#jazzy-actions input[type="submit"].btn-success,
#jazzy-actions input[type="submit"].btn-warning,
#jazzy-actions input[type="submit"].btn-info {
  text-align: left !important;
}

/* Changelist search and select2 alignment */
#changelist-search {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center !important;
  gap: 10px;
}

#changelist-search .form-group {
  margin-bottom: 0 !important;
  display: flex;
  align-items: center;
}

#changelist-search .form-control,
#changelist-search select,
#changelist-search .btn,
.select2-container .select2-selection--single {
  height: 38px !important;
}

#changelist-search .btn {
  display: inline-flex;
  align-items: center;
  padding: 0 12px;
}

.select2-container .select2-selection--single {
  padding: 0 0.75rem !important;
  display: flex !important;
  align-items: center !important;
  border-radius: 0.375rem !important;
}

.select2-container .select2-selection__rendered {
  line-height: 1.4 !important;
  padding-left: 0 !important;
}

.select2-container .select2-selection__arrow {
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
}
/* End of search and select2 alignment */

/* Compact tables */
.table th,
.table td {
  padding: 0.5rem 0.4rem !important;
  line-height: 1.2 !important;
  vertical-align: middle !important;
}

fieldset.module .table th,
fieldset.module .table td {
  padding: 0.75rem 0.4rem !important;
}

/* Reduce font size slightly for table content if needed for compactness */
.table {
  font-size: 0.95rem !important;
}

/* Tighten up admin module headers and rows */
.module h2 {
  margin-bottom: 0.25rem !important;
  padding: 0.25rem 0.5rem !important;
}

.module .row.my-4,
.module .row.my-3 {
  margin-top: 0.25rem !important;
  margin-bottom: 0.25rem !important;
}

/* Further reduce Bootstrap padding in cards */
.card-body.p-5 {
  padding: 1rem !important;
}

.card-body {
  padding: 0.75rem !important;
}

/* Tighten up form groups inside tables or modules */
.module .form-group {
  margin-bottom: 0.5rem !important;
}

/* Hide inner border in Proposal tabs */
.model-proposal fieldset.module,
.model-proposal .module,
.model-proposal .card .card {
  border: none !important;
}

/* Style header for instrument usage in Proposal tabs */
.model-proposal #instrument_usage_list-group table.table thead tr {
  border-top: 2px solid #d3d3d3;
  border-bottom: 2px solid #d3d3d3;
}

/* Style upper border for Participants in Proposal tabs */
.model-proposal #participant_list-group .card-header,
.model-proposal #image_list-group .card-header {
  border-top: 5px solid #669999;
}

/* Style the delete .vCheckboxLabel in inlines */
.delete .vCheckboxLabel {
  color: #dc3545;
  font-weight: bold;
}

/* Tighten up spacing for Proposal Admin */
/* .model-proposal .card-body.p-5 {
  padding: 1rem !important;
}
 */

/* Apply button in the skills matrix of reviewers */
#save-skills-btn {
  background-color: #17a2b8;
  border-color: #17a2b8;
}

#save-skills-btn:hover {
  background-color: #138496;
  border-color: #138496;
}

/* ------------------------------------------------------------------
   Proposal admin layout fixes after Jazzmin/Bootstrap update
   Scope: Calls & Proposals > Proposals only

   Jazzmin now renders fields as:
   .row > label.col-sm-3 + .col-auto.fieldBox

   The .col-auto field column causes inconsistent field widths.
   Restore the old PMS behaviour by making the field column predictable.
   ------------------------------------------------------------------ */

.model-proposal .card-body.p-5 {
  padding: 1.5rem !important;
}

.model-proposal .row > label.col-sm-3 {
  flex: 0 0 180px;
  max-width: 180px;
  padding-top: 0.45rem;
  font-weight: 600;
}

.model-proposal .row > .fieldBox.col-auto {
  flex: 0 1 auto;
  max-width: 760px;
  padding-left: 0;
}

/* Normal inputs/selects should keep a readable PMS admin width */
.model-proposal .row > .fieldBox .form-control,
.model-proposal .row > .fieldBox input[type="text"],
.model-proposal .row > .fieldBox input[type="number"],
.model-proposal .row > .fieldBox select,
.model-proposal .row > .fieldBox .select2-container {
  width: auto !important;
  min-width: 180px;
  max-width: 760px;
}

/* Title should not look too small */
.model-proposal .row > .fieldBox.field-title input[type="text"],
.model-proposal .row > .fieldBox.field-title .form-control {
  width: 360px !important;
  max-width: 100%;
}

/* Long dropdowns need more space */
.model-proposal
  .row
  > .fieldBox.field-principal_investigator
  .select2-container,
.model-proposal .row > .fieldBox.field-call .select2-container,
.model-proposal
  .row
  > .fieldBox.field-societal_challenge_sub_category
  .select2-container,
.model-proposal
  .row
  > .fieldBox.field-discipline_sub_category
  .select2-container {
  width: 520px !important;
  max-width: 760px;
}

/* Large editors/textareas should be wide but contained */
.model-proposal .row > .fieldBox textarea,
.model-proposal .row > .fieldBox .tox-tinymce {
  width: 760px !important;
  max-width: 100%;
}

/* Help/error text follows the field column */
.model-proposal .row > .fieldBox .form-text,
.model-proposal .row > .fieldBox .help,
.model-proposal .row > .fieldBox .help-block {
  max-width: 760px;
  line-height: 1.35;
}

@media (max-width: 991.98px) {
  .model-proposal .row > label.col-sm-3 {
    flex: 0 0 100%;
    max-width: 100%;
    padding-top: 0;
    margin-bottom: 0.35rem;
  }

  .model-proposal .row > .fieldBox.col-auto {
    flex: 0 0 100%;
    max-width: 100%;
    padding-left: calc(var(--bs-gutter-x) * 0.5);
  }

  .model-proposal .row > .fieldBox .form-control,
  .model-proposal .row > .fieldBox input[type="text"],
  .model-proposal .row > .fieldBox input[type="number"],
  .model-proposal .row > .fieldBox select,
  .model-proposal .row > .fieldBox .select2-container,
  .model-proposal .row > .fieldBox textarea,
  .model-proposal .row > .fieldBox .tox-tinymce {
    width: 100% !important;
    max-width: 100%;
  }
}

.model-proposal #jazzy-actions .mb-3 {
  margin-bottom: 0.5rem !important;
}

/* Standard Call admin layout fixes after Jazzmin/Bootstrap update */
/* Standard Call admin layout fixes */
.model-standardcall .row > label.col-sm-3 {
  flex: 0 0 180px;
  max-width: 180px;
  padding-top: 0.45rem;
  font-weight: 600;
}

.model-standardcall .row > .fieldBox.col-auto {
  flex: 1 1 0;
  max-width: 760px;
  padding-left: 0;
}

.model-standardcall .row > .fieldBox .form-control,
.model-standardcall .row > .fieldBox input[type="text"],
.model-standardcall .row > .fieldBox select,
.model-standardcall .row > .fieldBox .select2-container {
  width: 100% !important;
  max-width: 760px;
}

.model-standardcall .row > .fieldBox.field-name input[type="text"],
.model-standardcall .row > .fieldBox.field-label input[type="text"] {
  max-width: 360px;
}

.model-standardcall .row > .fieldBox.field-workflow select,
.model-standardcall .row > .fieldBox.field-workflow .select2-container {
  max-width: 360px;
}

.model-standardcall .row > .fieldBox .form-text,
.model-standardcall .row > .fieldBox .help,
.model-standardcall .row > .fieldBox .help-block {
  max-width: 760px;
  line-height: 1.35;
}

/* Stack earlier because Jazzmin action sidebar reduces available width */
@media (max-width: 1199.98px) {
  .model-standardcall .row > label.col-sm-3,
  .model-standardcall .row > .fieldBox.col-auto {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .model-standardcall .row > .fieldBox.col-auto {
    padding-left: calc(var(--bs-gutter-x) * 0.5);
  }

  .model-standardcall .row > .fieldBox .form-control,
  .model-standardcall .row > .fieldBox input[type="text"],
  .model-standardcall .row > .fieldBox select,
  .model-standardcall .row > .fieldBox .select2-container {
    width: 100% !important;
    max-width: 100%;
  }
}

/* Fast Track Call admin layout fixes after Jazzmin/Bootstrap update */
.model-fasttrackcall .row > label.col-sm-3 {
  flex: 0 0 180px;
  max-width: 180px;
  padding-top: 0.45rem;
  font-weight: 600;
}

.model-fasttrackcall .row > .fieldBox.col-auto {
  flex: 1 1 0;
  max-width: 760px;
  padding-left: 0;
}

.model-fasttrackcall .row > .fieldBox .form-control,
.model-fasttrackcall .row > .fieldBox input[type="text"],
.model-fasttrackcall .row > .fieldBox input[type="number"],
.model-fasttrackcall .row > .fieldBox select,
.model-fasttrackcall .row > .fieldBox .select2-container {
  width: 100% !important;
  max-width: 760px;
}

.model-fasttrackcall .row > .fieldBox.field-name input[type="text"],
.model-fasttrackcall .row > .fieldBox.field-label input[type="text"] {
  max-width: 360px;
}

.model-fasttrackcall .row > .fieldBox .form-text,
.model-fasttrackcall .row > .fieldBox .help,
.model-fasttrackcall .row > .fieldBox .help-block {
  max-width: 760px;
  line-height: 1.35;
}

@media (max-width: 1199.98px) {
  .model-fasttrackcall .row > label.col-sm-3,
  .model-fasttrackcall .row > .fieldBox.col-auto {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .model-fasttrackcall .row > .fieldBox.col-auto {
    padding-left: calc(var(--bs-gutter-x) * 0.5);
  }

  .model-fasttrackcall .row > .fieldBox .form-control,
  .model-fasttrackcall .row > .fieldBox input[type="text"],
  .model-fasttrackcall .row > .fieldBox input[type="number"],
  .model-fasttrackcall .row > .fieldBox select,
  .model-fasttrackcall .row > .fieldBox .select2-container {
    width: 100% !important;
    max-width: 100%;
  }
}

/* Scientific Review Panel: make Select2 multiple selected items readable */
.model-scientificreviewpanel .field-review_panel_chairs,
.model-scientificreviewpanel .field-review_panel_members {
  max-width: 520px;
}

.model-scientificreviewpanel .field-review_panel_chairs .select2-container,
.model-scientificreviewpanel .field-review_panel_members .select2-container,
.model-scientificreviewpanel .field-review_panel_chairs .select2-selection,
.model-scientificreviewpanel .field-review_panel_members .select2-selection {
  width: 520px !important;
  max-width: 100% !important;
}

.model-scientificreviewpanel .select2-selection--multiple {
  min-height: 38px;
  padding: 4px 6px;
}

.model-scientificreviewpanel
  .select2-selection--multiple
  .select2-selection__choice {
  display: block !important;
  width: fit-content;
  max-width: calc(100% - 8px);
  color: #212529 !important;
  background-color: #e9ecef !important;
  border: 1px solid #adb5bd !important;
  border-radius: 4px;
  margin: 2px 4px 4px 0 !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.model-scientificreviewpanel
  .select2-selection--multiple
  .select2-selection__choice__display {
  color: #212529 !important;
}

.model-scientificreviewpanel
  .select2-selection--multiple
  .select2-selection__choice__remove {
  color: #6c757d !important;
}

@media (max-width: 991.98px) {
  .model-scientificreviewpanel .field-review_panel_chairs,
  .model-scientificreviewpanel .field-review_panel_members,
  .model-scientificreviewpanel .field-review_panel_chairs .select2-container,
  .model-scientificreviewpanel .field-review_panel_members .select2-container,
  .model-scientificreviewpanel .field-review_panel_chairs .select2-selection,
  .model-scientificreviewpanel .field-review_panel_members .select2-selection {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* Users changelist: keep table readable on narrower screens */
.model-user.change-list .results,
.model-user.change-list #result_list {
  width: 100%;
}

.model-user.change-list .results {
  overflow-x: auto;
}

.model-user.change-list #result_list {
  min-width: 1100px;
}

.model-user.change-list #result_list th,
.model-user.change-list #result_list td {
  vertical-align: middle;
}

.model-user.change-list #result_list .field-email,
.model-user.change-list #result_list .field-email_address,
.model-user.change-list #result_list td:first-child {
  white-space: nowrap;
}

.model-user.change-list #result_list .field-institute {
  white-space: nowrap;
}

.model-user.change-list #result_list .field-ops {
  white-space: nowrap;
}
/* Users changelist: keep Ops buttons side-by-side */
.model-user.change-list #result_list td:nth-child(5) {
  white-space: nowrap;
  min-width: 90px;
}

.model-user.change-list #result_list td:nth-child(5) a,
.model-user.change-list #result_list td:nth-child(5) .btn {
  display: inline-flex !important;
  vertical-align: middle;
  margin-right: 0.25rem;
}

/* Institutes admin layout fixes after Jazzmin/Bootstrap update */
.model-institute .row > label.col-sm-3 {
  flex: 0 0 180px;
  max-width: 180px;
  padding-top: 0.45rem;
  font-weight: 600;
}

.model-institute .row > .fieldBox.col-auto {
  flex: 1 1 0;
  max-width: 760px;
  padding-left: 0;
}

.model-institute .row > .fieldBox .form-control,
.model-institute .row > .fieldBox input[type="text"],
.model-institute .row > .fieldBox select,
.model-institute .row > .fieldBox textarea,
.model-institute .row > .fieldBox .select2-container {
  width: 100% !important;
  max-width: 760px;
}

.model-institute .row > .fieldBox.field-name input[type="text"] {
  max-width: 360px;
}

.model-institute .row > .fieldBox.field-country select,
.model-institute .row > .fieldBox.field-country .select2-container {
  max-width: 260px;
}

.model-institute .row > .fieldBox textarea {
  min-height: 180px;
}

.model-institute .row > .fieldBox .form-text,
.model-institute .row > .fieldBox .help,
.model-institute .row > .fieldBox .help-block {
  max-width: 760px;
  line-height: 1.35;
}

@media (max-width: 1199.98px) {
  .model-institute .row > label.col-sm-3,
  .model-institute .row > .fieldBox.col-auto {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .model-institute .row > .fieldBox.col-auto {
    padding-left: calc(var(--bs-gutter-x) * 0.5);
  }

  .model-institute .row > .fieldBox .form-control,
  .model-institute .row > .fieldBox input[type="text"],
  .model-institute .row > .fieldBox select,
  .model-institute .row > .fieldBox textarea,
  .model-institute .row > .fieldBox .select2-container {
    width: 100% !important;
    max-width: 100%;
  }
}

/* Instrument admin layout fixes after Jazzmin/Bootstrap update */
.model-instrument .row > label.col-sm-3 {
  flex: 0 0 190px;
  max-width: 190px;
  padding-top: 0.45rem;
  font-weight: 600;
}

.model-instrument .row > .fieldBox.col-auto {
  flex: 1 1 0;
  max-width: 760px;
  padding-left: 0;
}

.model-instrument .row > .fieldBox .form-control,
.model-instrument .row > .fieldBox input[type="text"],
.model-instrument .row > .fieldBox input[type="number"],
.model-instrument .row > .fieldBox select,
.model-instrument .row > .fieldBox textarea,
.model-instrument .row > .fieldBox .select2-container {
  width: 100% !important;
  max-width: 760px;
}

.model-instrument .row > .fieldBox.field-code input[type="text"],
.model-instrument .row > .fieldBox.field-name input[type="text"] {
  max-width: 360px;
}

.model-instrument .row > .fieldBox.field-facility .select2-container {
  max-width: 520px;
}

.model-instrument .row > .fieldBox.field-technique .select2-container,
.model-instrument .row > .fieldBox.field-membership_type .select2-container {
  max-width: 280px;
}

.model-instrument .row > .fieldBox.field-parameters_schema textarea {
  max-width: 420px;
  min-height: 160px;
}

.model-instrument .row > .fieldBox .form-text,
.model-instrument .row > .fieldBox .help,
.model-instrument .row > .fieldBox .help-block {
  max-width: 760px;
  line-height: 1.35;
}

.model-instrument .row > .fieldBox input[type="checkbox"] {
  width: auto !important;
}

@media (max-width: 1199.98px) {
  .model-instrument .row > label.col-sm-3,
  .model-instrument .row > .fieldBox.col-auto {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .model-instrument .row > .fieldBox.col-auto {
    padding-left: calc(var(--bs-gutter-x) * 0.5);
  }

  .model-instrument .row > .fieldBox .form-control,
  .model-instrument .row > .fieldBox input[type="text"],
  .model-instrument .row > .fieldBox input[type="number"],
  .model-instrument .row > .fieldBox select,
  .model-instrument .row > .fieldBox textarea,
  .model-instrument .row > .fieldBox .select2-container {
    width: 100% !important;
    max-width: 100%;
  }
}

/* Instruments changelist: keep filters and Add button aligned */
.model-instrument.change-list #changelist-filter-extra-actions,
.model-instrument.change-list .object-tools {
  margin-left: auto;
}

.model-instrument.change-list .changelist-search,
.model-instrument.change-list #toolbar,
.model-instrument.change-list .actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
}

.model-instrument.change-list #toolbar form {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
}

.model-instrument.change-list #toolbar form .btn-success,
.model-instrument.change-list #toolbar form a.btn-success,
.model-instrument.change-list .object-tools .btn-success,
.model-instrument.change-list .object-tools a.btn-success {
  margin-left: auto;
  white-space: nowrap;
}

/* Keep Instruments table readable */
.model-instrument.change-list .results {
  overflow-x: auto;
}

.model-instrument.change-list #result_list {
  min-width: 1050px;
}

@media (max-width: 1199.98px) {
  .model-instrument.change-list #toolbar form .btn-success,
  .model-instrument.change-list #toolbar form a.btn-success,
  .model-instrument.change-list .object-tools .btn-success,
  .model-instrument.change-list .object-tools a.btn-success {
    margin-left: 0;
  }
}

/* Facility admin layout fixes after Jazzmin/Bootstrap update */
.model-facility .row > label.col-sm-3 {
  flex: 0 0 190px;
  max-width: 190px;
  padding-top: 0.45rem;
  font-weight: 600;
}

.model-facility .row > .fieldBox.col-auto {
  flex: 1 1 0;
  max-width: 760px;
  padding-left: 0;
}

.model-facility .row > .fieldBox .form-control,
.model-facility .row > .fieldBox input[type="text"],
.model-facility .row > .fieldBox select,
.model-facility .row > .fieldBox textarea,
.model-facility .row > .fieldBox .select2-container {
  width: 100% !important;
  max-width: 760px;
}

.model-facility .row > .fieldBox.field-code input[type="text"] {
  max-width: 260px;
}

.model-facility .row > .fieldBox.field-name input[type="text"] {
  max-width: 520px;
}

.model-facility .row > .fieldBox.field-country select,
.model-facility .row > .fieldBox.field-country .select2-container,
.model-facility .row > .fieldBox.field-membership_type select,
.model-facility .row > .fieldBox.field-membership_type .select2-container {
  max-width: 260px;
}

.model-facility .row > .fieldBox.field-city input[type="text"] {
  max-width: 360px;
}

.model-facility .row > .fieldBox .form-text,
.model-facility .row > .fieldBox .help,
.model-facility .row > .fieldBox .help-block {
  max-width: 760px;
  line-height: 1.35;
}

@media (max-width: 1199.98px) {
  .model-facility .row > label.col-sm-3,
  .model-facility .row > .fieldBox.col-auto {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .model-facility .row > .fieldBox.col-auto {
    padding-left: calc(var(--bs-gutter-x) * 0.5);
  }

  .model-facility .row > .fieldBox .form-control,
  .model-facility .row > .fieldBox input[type="text"],
  .model-facility .row > .fieldBox select,
  .model-facility .row > .fieldBox textarea,
  .model-facility .row > .fieldBox .select2-container {
    width: 100% !important;
    max-width: 100%;
  }
}

/* Instrument edit: keep boolean row compact */
.model-instrument .row > .fieldBox.field-enabled {
  max-width: 120px;
}

.model-instrument .row > .fieldBox.field-enabled .readonly,
.model-instrument .row > .fieldBox.field-enabled .form-control {
  width: 80px !important;
  max-width: 80px !important;
}

/* Instrument edit: allow longer instrument names */
.model-instrument .row > .fieldBox.field-code input[type="text"] {
  max-width: 420px;
}

.model-instrument .row > .fieldBox.field-name input[type="text"] {
  max-width: 520px;
}

/* Proposal disable temporary edit modal: keep modal above Bootstrap backdrop */
.model-proposal .modal[id$="-disable-temp-modal"].show {
  z-index: 1080 !important;
}

/* Keep Bootstrap modals above their backdrop */
.modal-backdrop {
  z-index: 1050 !important;
}

.modal {
  z-index: 1055 !important;
}

/* Keep this special proposal modal above normal modals if needed */
.model-proposal .modal[id$="-disable-temp-modal"].show {
  z-index: 1080 !important;
}

/* Loosen up alert messages */
.alert {
  padding: 0.5rem !important;
}

.alert-dismissible {
  padding-right: 3rem !important;
}

.alert .icon {
  padding: 0.5rem !important;
}

/* Style Add another or Remove buttons in Proposals */
.model-proposal .add-row a,
.model-proposal .add-btn {
  display: inline-block;
  padding: 0.25rem 0.75rem;
  font-size: 0.875rem;
  line-height: 1.5;
  border-radius: 0.25rem;
  color: #fff;
  background-color: #034ea2;
  border-color: #034ea2;
  text-decoration: none;
  font-weight: bold;
  margin-top: 0.5rem;
}

.model-proposal .add-row a:hover,
.model-proposal .add-btn:hover {
  background-color: #122267;
  border-color: #122267;
  color: #fff;
}

.model-proposal .inline-deletelink {
  display: inline-block;
  padding: 0.25rem 0.75rem;
  font-size: 0.875rem;
  line-height: 1.5;
  border-radius: 0.25rem;
  color: #fff;
  background-color: #832b7c;
  border-color: #832b7c;
  text-decoration: none;
  font-weight: bold;
  margin-top: 0.5rem;
}

.inline-deletelink:hover {
  background-color: #832b7c;
  border-color: #832b7c;
  color: #fff;
}
