:root {
  --portalFontFamily: Poppins;
}
/* NAV CARDS */
.nav-gallery {
  max-width:1200px
}
.nav-card {
  position: relative;
  border-radius: 1rem;
  border: 1px solid var(--bs-gray-300);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.nav-card:hover,
.nav-card:focus-within {
  transform: translateY(-2px);
  box-shadow: 0 0.75rem 1.5rem rgba(0, 0, 0, 0.08) !important;
}

.nav-card-link {
  color: var(--portalThemeColor4);
  font-weight: 600;
  text-decoration: none !important;
}

.nav-card-link:hover,
.nav-card-link:focus-within {
  color: var(--portalThemeColor4);
  text-decoration: none !important;
}

/* FORM OVERRIDES  */

#EntityFormPanel {
  font-family: var(--portalFontFamily);
  box-sizing: border-box;
}

.crmEntityFormView .fa {
  font-family: "FontAwesome" !important;
}

.crmEntityFormView .material-icons {
  font-family: "Material Icons" !important;
}


/* FORM CONTAINER  */

.crmEntityFormView,
#EntityFormPanel,
.crmEntityFormView .tab,
.crmEntityFormView fieldset,
.crmEntityFormView table.section {
  border: none;
  box-shadow: none;
  background: #fff;
  padding: 10px;
  border-radius: 1rem;
  margin: 0px;
}

#EntityFormPanel .validators {
  height: 0;
}


/* LABELS + HELP TEXT */

.crmEntityFormView label,
.crmEntityFormView .control-label,
.crmEntityFormView .col-form-label,
.crmEntityFormView .table-info .field-label {
  font-family: var(--portalFontFamily);
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #222;
  margin-bottom: 6px;
  background-color: transparent;
}

.crmEntityFormView .table-info,
.crmEntityFormView .description.above,
.crmEntityFormView .control-description {
  font-size: 0.8rem;
  font-weight: 400;
  color: #555;
  background-color: transparent;
  margin-top: 4px;
}

.crmEntityFormView .table-info {
  margin-bottom: 6px;
}


/* CELL SPACING + LAYOUT */


.crmEntityFormView .cell {
  padding: 0 10px 14px !important;
  vertical-align: top;
}

.crmEntityFormView .clearfix.cell {
  overflow: visible;
}

.crmEntityFormView .control:not(td.textarea > .control) {
  display: block;
}

.crmEntityFormView .tab .tab-column {
  padding-left: 5px;
}

.crmEntityFormView .form-custom-actions,
.crmEntityFormView .actions {
  border-top: none;
}


/* STANDARD EDITABLE FIELDS */
/* Excludes lookup/input-group fields on purpose */


/*.crmEntityFormView td:not(.lookup):not(.picklist):not(.boolean-radio-cell) .control > .form-control:not([readonly]):not([disabled]),
.crmEntityFormView td:not(.lookup):not(.picklist):not(.boolean-radio-cell) .control > select:not([disabled]),
.crmEntityFormView td:not(.lookup):not(.picklist):not(.boolean-radio-cell) .control > .cell select:not([readonly]):not([disabled]),
.crmEntityFormView td:not(.boolean-radio-cell) .control > textarea:not([readonly]):not([disabled]),
.crmEntityFormView td:not(.lookup):not(.picklist):not(.boolean-radio-cell) .control input[type="text"]:not([readonly]):not([disabled]),
.crmEntityFormView td:not(.lookup):not(.picklist):not(.boolean-radio-cell) .control input[type="number"]:not([readonly]):not([disabled]),
.crmEntityFormView td:not(.lookup):not(.picklist):not(.boolean-radio-cell) .control input[type="email"]:not([readonly]):not([disabled]),
.crmEntityFormView td:not(.lookup):not(.picklist):not(.boolean-radio-cell) .control input[type="date"]:not([readonly]):not([disabled]),
.crmEntityFormView td:not(.lookup):not(.picklist):not(.boolean-radio-cell) .control input[type="tel"]:not([readonly]):not([disabled]),
.crmEntityFormView td:not(.lookup):not(.picklist):not(.boolean-radio-cell) .control input[type="url"]:not([readonly]):not([disabled]) 
*/
.form-control, .crmEntityFormView td .control .form-control, .crmEntityFormView .control select, .crmEntityFormView .cell textarea, .crmEntityFormView .cell select {
  width: 100%;
  min-height: 42px;
  padding: 8px 14px;
  border: 1px solid #d0d7de;
  border-radius: 12px;
  background: #ffffff;
  color: #3f3f3f;
  box-shadow: none;
  font-size: 0.875rem;
  line-height: 1.2;
}

.crmEntityFormView td:not(.lookup):not(.picklist):not(.boolean-radio-cell) .control > .form-control:not([readonly]):not([disabled]):focus,
.crmEntityFormView td:not(.boolean-radio-cell) .control > .cell select:not([readonly]):not([disabled]):focus,
.crmEntityFormView td:not(.lookup):not(.picklist):not(.boolean-radio-cell) .control > select:not([disabled]):focus,
.crmEntityFormView td:not(.lookup):not(.picklist):not(.boolean-radio-cell) .control > textarea:not([readonly]):not([disabled]):focus,
.crmEntityFormView td:not(.lookup):not(.picklist):not(.boolean-radio-cell) .control input:not([readonly]):not([disabled]):focus {
  border-color: rgb(32 162 180);
  box-shadow: inset 0 1px 1px rgb(0 0 0 / 8%), 0 0 8px rgb(32 162 180 / 60%);
  outline: none;
}


/* READONLY FIELDS */


.crmEntityFormView td:not(.lookup) .control > .form-control[readonly],
.crmEntityFormView td:not(.lookup) .control > textarea[readonly],
.crmEntityFormView td:not(.lookup) .control input[type="text"][readonly],
.crmEntityFormView td:not(.lookup) .control input[type="number"][readonly],
.crmEntityFormView td:not(.lookup) .control input[type="email"][readonly],
.crmEntityFormView td:not(.lookup) .control input[type="date"][readonly],
.crmEntityFormView td:not(.lookup) .control input[type="tel"][readonly],
.crmEntityFormView td:not(.lookup) .control input[type="url"][readonly],
.crmEntityFormView td:not(.lookup) .control > select[disabled],
.crmEntityFormView td:not(.lookup) .control > .form-control[disabled],
.crmEntityFormView td:not(.lookup) .control > textarea[disabled] {
  width: 100%;
  min-height: 42px;
  height: 42px;
  padding: 8px 14px;
  border: none;
  border-radius: 12px;
  background: #f5f6f7;
  color: #222;
  box-shadow: none;
  font-size: 0.95rem;
  line-height: 1.2;
  opacity: 1;
  cursor: default;
}

.crmEntityFormView textarea,
.crmEntityFormView .control > textarea {
  min-height: 96px;
  height: auto;
  resize: vertical;
}


/* PICKLISTS */


.crmEntityFormView td.picklist .control > select:not([disabled]),
.crmEntityFormView td.picklist select.form-control:not([disabled]),
.crmEntityFormView td.picklist .control > select[disabled],
.crmEntityFormView td.picklist select.form-control[disabled] {
  width: 100%;
  min-height: 42px;
  height: 42px;
  padding: 8px 44px 8px 14px;
  border-radius: 12px;
  box-shadow: none;
  font-size: 0.95rem;
  line-height: 1.2;
}

.crmEntityFormView td.picklist .control > select:not([disabled]),
.crmEntityFormView td.picklist select.form-control:not([disabled]) {
  border: 1px solid #d0d7de;
  background-color: #ffffff;
  color: #1f1f1f;
}

.crmEntityFormView td.picklist .control > select[disabled],
.crmEntityFormView td.picklist select.form-control[disabled] {
  border: none;
  background-color: #f5f6f7;
  color: #555;
  opacity: 1;
}


/* LOOKUP FIELDS */

.crmEntityFormView td.lookup.form-control-cell .control .input-group {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  width: 100%;
  min-height: 42px;
  border: 1px solid #d0d7de;
  border-radius: 12px;
  background: #ffffff;
  overflow: hidden;
  position: relative;
}

.crmEntityFormView td.lookup.form-control-cell .control .input-group:focus-within {
  border-color: rgb(32 162 180);
  box-shadow: inset 0 1px 1px rgb(0 0 0 / 8%), 0 0 8px rgb(32 162 180 / 60%);
}

.crmEntityFormView td.lookup.form-control-cell .control .input-group > input.lookup.form-control,
.crmEntityFormView td.lookup.form-control-cell .control .input-group > input[type="text"].lookup {
  flex: 1 1 auto;
  min-width: 0;
  min-height: 42px;
  height: 42px;
  padding: 8px 14px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #1f1f1f;
  box-shadow: none;
}

.crmEntityFormView td.lookup.form-control-cell .control .input-group > input.lookup.form-control[readonly] {
  background: transparent;
  color: #1f1f1f;
  cursor: pointer;
  opacity: 1;
}

.crmEntityFormView td.lookup.form-control-cell .control .input-group > input.lookup.form-control:focus {
  border-color: rgb(32 162 180);
  box-shadow: inset 0 1px 1px rgb(0 0 0 / 8%), 0 0 8px rgb(32 162 180 / 60%);
}

.crmEntityFormView td.lookup.form-control-cell .control .input-group > .text-muted[aria-hidden="true"] {
  display: none;
}

.crmEntityFormView td.lookup.form-control-cell .control .input-group > .btn {
  flex: 0 0 auto;
  width: 46px;
  min-width: 46px;
  height: 42px;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #6b7280;
  box-shadow: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.crmEntityFormView td.lookup.form-control-cell .control .input-group > .btn.clearlookupfield,
.crmEntityFormView td.lookup.form-control-cell .control .input-group > .btn.launchentitylookup {
  border-left: 1px solid #d0d7de;
}

.crmEntityFormView td.lookup.form-control-cell .control .input-group > .btn .fa {
  font-size: 18px;
  line-height: 1;
}

.crmEntityFormView td.lookup.form-control-cell .control .input-group > .btn:hover,
.crmEntityFormView td.lookup.form-control-cell .control .input-group > .btn:focus {
  background: transparent;
  color: #374151;
  box-shadow: none;
}

.crmEntityFormView td.lookup.form-control-cell .control .input-group > .btn:active,
.crmEntityFormView td.lookup.form-control-cell .control .input-group > .btn.active {
  background: transparent;
  color: #111827;
  box-shadow: none;
}

.crmEntityFormView td.lookup.form-control-cell .control .input-group > .btn.launchentitylookup {
  border-top: 0;
  border-right: 0;
  border-bottom: 0;
}

.crmEntityFormView td.lookup.form-control-cell .control .input-group > .btn.clearlookupfield {
  color: #9ca3af;
}

.crmEntityFormView td.lookup.form-control-cell .control .input-group > .btn.clearlookupfield:hover,
.crmEntityFormView td.lookup.form-control-cell .control .input-group > .btn.clearlookupfield:focus {
  color: #6b7280;
}
/* DATE/TIME PICKER */

.crmEntityFormView td.datetime.form-control-cell .input-group,
.crmEntityFormView td.date.form-control-cell .input-group {
  align-items: stretch;
  display: flex;
  flex-wrap: nowrap; 
  min-height: 42px;
  width: 100%;
  background: #fff;
  border: 1px solid #d0d7de;
  border-radius: 12px;
  box-shadow: none;
}
 
.crmEntityFormView td.datetime.form-control-cell .input-group > input.form-control,
.crmEntityFormView td.date.form-control-cell .input-group > input.form-control {
  flex: 1 1 auto;
  height: 42px;
  min-width: 0;
  background: transparent;
  border: none !important;
  border-radius: 12px;
  box-shadow: none;
}
 
.crmEntityFormView td.datetime.form-control-cell .input-group > input.form-control:focus,
.crmEntityFormView td.date.form-control-cell .input-group > input.form-control:focus {
  border-color: rgb(32 162 180);
  outline: 0;
  box-shadow: inset 0 1px 1px rgb(0 0 0 / 8%), 0 0 8px rgb(32 162 180 / 60%);
}
 
.crmEntityFormView td.datetime.form-control-cell .input-group > .input-group-addon,
.crmEntityFormView td.date.form-control-cell .input-group > .input-group-addon {
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin: 0;
  border: 0;
  border-left: 1px solid #d0d7de;

  background: transparent;
  color: #6b7280;
  cursor: pointer;
}
 
.crmEntityFormView td.datetime.form-control-cell .input-group > .input-group-addon:hover,
.crmEntityFormView td.date.form-control-cell .input-group > .input-group-addon:hover {
  background: transparent;
  color: #374151;
}
 
.crmEntityFormView td.datetime.form-control-cell .input-group > .input-group-addon:active,
.crmEntityFormView td.date.form-control-cell .input-group > .input-group-addon:active {
  color:#111827;
}

.crmEntityFormView td.datetime.form-control-cell .input-group > .input-group:focus-within,
.crmEntityFormView td.date.form-control-cell .input-group > .input-group:focus-within {
  border-color: #b8c2cc;
}

/* MULTISELECT / PCF */


.crmEntityFormView .msos-inner-container .msos-selection-container {
  border: 1px solid #d0d7de;
  border-radius: 12px;
  background: #ffffff;
  box-shadow: none;
  min-height: 42px;
}

.crmEntityFormView .control .msos-container:not(.msos-disabled) {
  border: none;
  box-shadow: none;
  border-radius: 12px;
  background: transparent;
}

.crmEntityFormView li.msos-option {
  border-top: 1px solid #daeced;
}

.crmEntityFormView span.msos-glyph {
  color: #404040;
  font-weight: 900;
}

.crmEntityFormView li.msos-option.msos-option-selected,
.crmEntityFormView .msos-selected-items.msos-selection .msos-option:hover {
  background-color: #daeced;
  border: none;
}


/* BOOLEAN / RADIO */


.crmEntityFormView .cell.boolean-radio-cell .control {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 12px;
  min-height: 42px;
}

.crmEntityFormView .cell.boolean-radio-cell input[type="radio"] {
  vertical-align: middle;
}

html[dir=ltr] .crmEntityFormView .cell.boolean-radio-cell input[type="radio"] {
  margin: 2px 5px 5px 20px;
}

html[dir=rtl] .crmEntityFormView .cell.boolean-radio-cell input[type="radio"] {
  margin: 2px 20px 5px 5px;
}


/* DATETIME / CALENDAR */


.bootstrap-datetimepicker-widget.dropdown-menu {
  background-color: #fff;
  border-radius: 12px;
  border: 1px solid #d0d7de;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.08);
}

.bootstrap-datetimepicker-widget table thead tr:first-child th {
  color: #000000;
}


/* SUBGRIDS */


.crmEntityFormView .entity-grid.subgrid {
  width: 100%;
  max-width: 100%;
  margin-top: 16px;
  border: none;
}

.crmEntityFormView .entity-grid.subgrid .grid-actions,
.crmEntityFormView .entity-grid.subgrid .view-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border: none;
  padding-bottom: 0;
  margin-bottom: 12px;
}

.crmEntityFormView .entity-grid.subgrid .view-toolbar .toolbar-actions,
.crmEntityFormView .entity-grid.subgrid .view-toolbar .float-end.toolbar-actions {
  margin-left: auto;
}

.crmEntityFormView .entity-grid.subgrid .view-grid,
.crmEntityFormView .entity-grid.subgrid .table-responsive {
  max-height: none;
  height: auto;
  overflow-y: visible;
}

.crmEntityFormView .entity-grid.subgrid table {
  width: 100%;
  table-layout: auto;
  font-size: 0.85rem;
}

.crmEntityFormView .entity-grid.subgrid thead th {
  background-color: transparent;
  border-bottom: 1px solid #ddd;
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0;
  color: #222;
  padding: 8px 10px;
}

.crmEntityFormView .entity-grid.subgrid tbody td {
  padding: 6px 10px;
  vertical-align: middle;
  border-top: none;
}

.crmEntityFormView .entity-grid.subgrid table th,
.crmEntityFormView .entity-grid.subgrid table td {
  border-left: none;
  border-right: none;
}

.crmEntityFormView .entity-grid.subgrid tbody tr:hover {
  background-color: #f7f7f7;
}


/* SUBGRID SEARCH */


.crmEntityFormView .entity-grid.subgrid .view-search {
  margin: 0;
}

.crmEntityFormView .entity-grid.subgrid .view-search .input-group {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
}

.crmEntityFormView .entity-grid.subgrid .view-search input.query.form-control,
.crmEntityFormView .entity-grid.subgrid .view-search .form-control {
  min-height: 38px;
  height: 38px;
  padding: 8px 14px;
  border: 1px solid #bad4d9;
  border-right: none;
  border-radius: 16px 0 0 16px;
  background: transparent;
  box-shadow: none;
}

.crmEntityFormView .entity-grid.subgrid .view-search .btn,
.crmEntityFormView .entity-grid.subgrid .view-search button.btn.btn-default,
.crmEntityFormView .entity-grid.subgrid .view-search button {
  min-height: 38px;
  height: 38px;
  padding: 0 14px;
  border: 1px solid #bad4d9;
  border-left: none;
  border-radius: 0 16px 16px 0 !important;
  background: transparent;
  color: #404040;
  box-shadow: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.crmEntityFormView .entity-grid.subgrid .entitylist-search span.fa.fa-search {
  color: #404040;
  font-size: 16px;
  top: 0;
}


/* SUBGRID BUTTONS */


.crmEntityFormView .entity-grid.subgrid a.btn.action,
.crmEntityFormView .entity-grid.subgrid .toolbar-actions .btn-primary,
.crmEntityFormView .entity-grid.subgrid .toolbar-actions .btn-secondary {
  border-radius: 8px;
  padding: 6px 12px;
  font-weight: 600;
  font-size: 12px;
  box-shadow: none;
}

.crmEntityFormView .entity-grid.subgrid a.btn.action {
  background-color: var(--portalThemeColor4);
  color: #ffffff;
  border: none;
}

.crmEntityFormView .entity-grid.subgrid a.btn.action:hover,
#EntityFormPanel .subgrid a.btn.action:hover,
.crmEntityFormView .subgrid a.btn.action:hover {
  background-color: #006f7a;
  color: #ffffff;
}


/* MODALS  */

.modal-dialog {
  max-width: 1000px;
}

.modal-content {
  border-radius: 8px;
  border: none;
  padding: 15px;
  background-color: #fff;
  color: #000;
}

.modal-header {
  border-bottom: none;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}

.modal-header::before,
.modal-header::after {
  content: none;
}

.modal-body {
  min-height: 100px;
}

.modal-footer {
  border-top: none;
  display: flex;
  justify-content: center;
  align-items: flex-end;
}

button.btn-close,
button.form-close {
  color: #272727;
  font-size: 45px;
  font-weight: 300;
  line-height: 0;
  box-shadow: none;
}



/* SECTION TITLES / ACCORDION */


legend.section-title {
  padding: 0;
  margin: 0;
}

legend.section-title .accordion-header {
  width: 100%;
}

legend.section-title .accordion-button {
  width: 100%;
  padding: 0.75rem 1rem;
  font-size: 1rem;
  font-weight: 500;
  background-color: #f8f9fa;
  box-shadow: none;
}

legend.section-title .accordion-button:not(.collapsed) {
  background-color: #e9ecef;
}

fieldset > table.section {
  border-top: none;
}


/* ACTION ROW */


.crmEntityFormView .actions,
.crmEntityFormView .row.form-custom-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
  align-items: center;
  padding-top: 10px;
}

.crmEntityFormView .actions input,
.crmEntityFormView .actions button,
.crmEntityFormView .row.form-custom-actions input,
.crmEntityFormView .row.form-custom-actions button {
  width: auto;
}


/* RESPONSIVE */


@media only screen and (max-width: 768px) {
  .crmEntityFormView .cell {
    padding: 0 0 14px !important;
  }

  .crmEntityFormView .entity-grid.subgrid .grid-actions,
  .crmEntityFormView .entity-grid.subgrid .view-toolbar {
    display: block;
  }

  .crmEntityFormView .entity-grid.subgrid .view-toolbar .toolbar-actions,
  .crmEntityFormView .entity-grid.subgrid .view-toolbar .float-end.toolbar-actions,
  .crmEntityFormView .entity-grid.subgrid .view-search {
    width: 100%;
    margin: 0 0 10px 0;
  }

  .crmEntityFormView .entity-grid.subgrid .view-search .input-group {
    width: 100%;
  }

  .modal-content {
    padding: 8px;
  }
}

#EntityFormControl_EntityFormView td.clearfix.cell:empty {
  display: none;
}

.crmEntityFormView fieldset:empty {
  display: none;
}


/* ======================================== */
/* ENTITY LIST OVERRIDES                    */
/* ======================================== */

/* entity list */

.crmEntityFormView, .entitylist {
    border: none;
}
.entitylist .entitylist-filter.card {
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  box-shadow: none;
  background: #fff;
  margin-bottom: 16px;
}

.entitylist .entitylist-filter .card-body {
  padding: 16px 16px 12px;
}

.entitylist .card-body, .list-group-item {
    background-color: transparent;
}

.entitylist #entitylist-filters.list-inline {
  display: grid;
  grid-template-columns: repeat(3, minmax(220px, 1fr));
  gap: 20px 28px;
  margin: 0;
  align-items: start;
}

.entitylist .entitylist-filter-option-group.list-inline-item {
  margin: 0;
  min-width: 0;
  width: 100%;
}

.entitylist .entitylist-filter-option-group-label.h4 {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: #111827;
  margin: 0 0 10px 0;
  line-height: 1.3;
}

/* filter controls */

.entitylist .entitylist-filter .input-group.entitylist-filter-option-text {
  display: flex;
  align-items: stretch;
  flex-wrap: nowrap;
  width: 100%;
}

.entitylist .entitylist-filter .input-group-text {
  border-radius: 12px 0 0 12px;
  border: 1px solid #d1d5db;
  border-right: 0;
  background: #f3f4f6;
  color: #374151;
  min-width: 56px;
  justify-content: center;
}

.entitylist .entitylist-filter input.form-control,
.entitylist .entitylist-filter select.form-control.form-select {
  border: 1px solid #d1d5db;
  border-radius: 0 12px 12px 0;
  min-height: 46px;
  box-shadow: none;
  font-size: 14px;
  background: #fff;
}

.entitylist .entitylist-filter input.form-control:focus,
.entitylist .entitylist-filter select.form-control.form-select:focus {
  border-color: #0f766e;
  box-shadow: inset 0 1px 1px rgb(0 0 0 / 8%),0 0 8px rgba(15, 118, 110, 0.10);
}

.entitylist .entitylist-filter .radio {
  margin: 0 0 10px 0;
}

.entitylist .entitylist-filter .radio:last-child {
  margin-bottom: 0;
}

.entitylist .entitylist-filter .radio label {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 15px;
  color: #111827;
  margin: 0;
}

.entitylist .entitylist-filter .float-end {
  float: none;
  display: flex;
  justify-content: flex-end;
  margin-top: 16px;
  padding-top: 12px;
  border-top: 1px solid #f1f5f9;
}

.entitylist .btn-entitylist-filter-submit {
  min-height: 44px;
  padding: 0 22px;
  border-radius: 10px;
  border: 1px solid #0f766e;
  background: #fff;
  color: #0f766e;
  font-weight: 700;
}

.entitylist .btn-entitylist-filter-submit:hover,
.entitylist .btn-entitylist-filter-submit:focus {
  background: #f0fdfa;
  color: #115e59;
  border-color: #115e59;
}

/* toolbar */

.entitylist .view-toolbar.grid-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 0 0 12px 0;
  margin-bottom: 0;
  border-bottom: none;
}

.entitylist .view-select.nav {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin: 0;
}

.entitylist .view-select.nav > li.dropdown {
  list-style: none;
}

.entitylist .view-select .selected-view {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 0 14px;
  border: 1px solid #d1d5db;
  border-radius: 10px;
  background: #fff;
  color: #111827;
  text-decoration: none;
  font-weight: 600;
  font-size: 14px;
}

.entitylist .view-select .selected-view:hover,
.entitylist .view-select .selected-view:focus {
  background: #f9fafb;
}

.entitylist .toolbar-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-left: auto;
}

/* search bar */

.entitylist .view-search.entitylist-search {
  position: relative;
  display: block;
  width: 320px;
  max-width: 100%;
  margin: 0;
}

.entitylist .view-search.entitylist-search .query.form-control {
  font-family: var(--portalFontFamily);
  width: 100%;
  min-height: 44px;
  padding: 0 46px 0 16px;
  border: 1px solid #d1d5db;
  border-radius: 999px !important;
  box-shadow: none;
  font-size: 14px;
  background: #fff;
}

.entitylist .view-search.entitylist-search .query.form-control:focus {
  border-color: #0f766e;
  box-shadow: 0 0 0 3px rgba(15, 118, 110, 0.10);
}

.entitylist .view-search.entitylist-search .input-group-btn {
  position: absolute;
  top: 4px;
  right: 4px;
  display: block;
  width: 36px;
  height: 36px;
}

.entitylist .view-search.entitylist-search .input-group-btn .btn {
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #374151;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: none;
}

.entitylist .view-search.entitylist-search .input-group-btn .btn:hover,
.entitylist .view-search.entitylist-search .input-group-btn .btn:focus {
  background: #f3f4f6;
  color: #111827;
}

/* create button */

.entitylist .create-action,
.entitylist .entitylist-download {
  border-radius: 12px;
  border:none;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  white-space: nowrap;
  font-family: var(--portalFontFamily);
}

.entitylist .create-action {
  background: var(--portalThemeColor4);
  border: 1px solid var(--portalThemeColor4);
  color: #fff;
}

.entitylist .create-action:hover,
.entitylist .create-action:focus {
  background: #0b7285;
}

.entitylist .entitylist-download {
  background: var(--bs-gray-200);
  border: 1px solid var(--bs-gray-200);
  color: var(--portalThemeColor4);
}

.entitylist .entitylist-download:hover,
.entitylist .entitylist-download:focus {
  background: var(--bs-gray-300);
  color: var(--portalThemeColor4); 
}

/* table wrapper */

.entitylist .view-grid.table-responsive {
  overflow-x: auto;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  background: #fff;
}

.entitylist .view-grid table.table {
  width: 100%;
  margin-bottom: 0;
  border-collapse: separate;
  border-spacing: 0;
  background: #fff;
}

.entitylist .view-grid table.table-striped > tbody > tr:nth-of-type(odd),
.entitylist .view-grid table.table-striped > tbody > tr:nth-of-type(even) {
  background-color: transparent;
}

/* table header */

.entitylist .view-grid thead th {
  background: #fff;
  color: #374151;
  font-weight: 600;
  font-size: 16px;
  padding: 14px 16px;
  vertical-align: bottom;
  text-align: left;
  white-space: nowrap;
  border-bottom: 1px solid #e5e7eb;
  line-height: 1.35;
  font-family: var(--portalFontFamily);
}

.entitylist .view-grid thead th a {
  text-decoration: none;
  color: inherit;
  font-weight: 600;
}

/* table body */

.entitylist .view-grid tbody td {
    font-family: var(--portalFontFamily);
  padding: 18px 16px;
  border-top: 0;
  border-bottom: 1px solid #e5e7eb;
  vertical-align: middle;
  color: #111827;
  font-size: 15px;
  line-height: 1.45;
}

.entitylist .view-grid tbody tr:hover {
  background: #fafafa;
}

.entitylist td[data-attribute="aggrc_itemname"] a.details-link {
  font-weight: 700;
  font-size: 16px;
  color: #111827;
  text-decoration: none;
}

.entitylist td[data-attribute="aggrc_itemname"] a.details-link:hover,
.entitylist td[data-attribute="aggrc_itemname"] a.details-link:focus {
  text-decoration: underline;
}

/* enhance values */

.entitylist .inventory-qty-display {
  font-weight: 700;
  white-space: nowrap;
}

.entitylist .inventory-badge-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.entitylist .inventory-badge {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 12px;
  border-radius: 999px; /* border radius */
  background: #f3f4f6;
  color: #111827;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
  flex-shrink: 0;
}

.entitylist .inventory-locationdetail-badge {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 12px;
  border-radius: 999px;
  background: #dff6fb;
  color: #0f172a;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
}

.entitylist td[data-attribute="aggrc_metadatatags"] {
  max-width: 180px;
  white-space: normal;
  word-break: break-word;
  color: #374151;
}

/* action column */

.entitylist td[aria-label="action menu"] {
  width: 68px;
  text-align: right;
}

.entitylist .dropdown.action > .btn {
  width: 40px;
  height: 40px;
  min-width: 40px;
  padding: 0;
  border-radius: 999px;
  border: 1px solid #d1d5db;
  background: #f9fafb;
  color: #6b7280;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: none;
}

.entitylist .dropdown.action > .btn:hover,
.entitylist .dropdown.action > .btn:focus {
  background: #f3f4f6;
  color: #374151;
}

/* mobile visibility */

@media (max-width: 991px) {
  .entitylist #entitylist-filters.list-inline {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .entitylist .view-toolbar.grid-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .entitylist .toolbar-actions {
    width: 100%;
    justify-content: space-between;
  }

  .entitylist .view-search.entitylist-search {
    width: 100%;
  }
}

@media (max-width: 768px) {
  .entitylist .view-grid thead th:nth-child(2),
  .entitylist .view-grid tbody td:nth-child(2),
  .entitylist .view-grid thead th:nth-child(3),
  .entitylist .view-grid tbody td:nth-child(3),
  .entitylist .view-grid thead th:nth-child(11),
  .entitylist .view-grid tbody td:nth-child(11) {
    display: none;
  }

  .entitylist .view-grid thead th,
  .entitylist .view-grid tbody td {
    padding: 14px 10px;
    font-size: 14px;
  }

  .entitylist td[data-attribute="aggrc_itemname"] a.details-link {
    font-size: 15px;
  }

  .entitylist .entitylist-filter .float-end {
    margin-top: 12px;
    padding-top: 10px;
  }

  .entitylist .btn-entitylist-filter-submit {
    width: 100%;
  }
}

/* badge container */

.inventory-badge-wrap {
  display: flex;
  flex-wrap: nowrap;
  gap: 4px;
  align-items: flex-start;
}

/* truncated state */

.inventory-badge-wrap.truncated {
  max-width: 220px;
  overflow: hidden;
}

/* expanded state */

.inventory-badge-wrap.expanded {
  max-width: none;
  flex-wrap: wrap;
}

/* toggle button */

.inventory-badge-toggle {
  margin-left: 6px;
  border: none;
  background: none;
  color: #6c757d;
  font-size: 12px;
  cursor: pointer;
}

.inventory-badge-toggle:hover {
  color: #212529;
}

.field-badge {
  display: inline-block !important;
  padding: 0.45rem 0.75rem;
  font-size: 0.85rem;
  font-weight: 400;
  line-height: 1;
  white-space: nowrap;
  border-radius: 999px;
}

.field-badge-1 {
  background-color: #DBEAFE;
  color: #1E3A8A;
}

.field-badge-2 {
  background-color: #DCFCE7;
  color: #166534;
}

.field-badge-3 {
  background-color: #FEF3C7;
  color: #92400E;
}

.field-badge-4 {
  background-color: #FCE7F3;
  color: #9D174D;
}

.field-badge-5 {
  background-color: #EdE9fE;
  color: #6625D0;
}

.field-badge-6 {
  background-color: #CFFAFE;
  color:#155E75;
}

.field-badge-default {
  background-color: #F4F5F6;
  color: #2E3338;
}

/* Manuscript Catalog styles */

.manuscript-card {
  background-color: #fff !important;
  border:1px solid rgba(0,0,0,0.12);
  border-radius: 16px;
  margin-bottom: 20px;
  padding:20px 24px;
  position: relative;
  transition: box-shadow .2s ease, transform 0.2s ease;
}

.manuscript-card:hover {
  box-shadow: 0 8px 24px rgba(0,0,0,.08);
  transform: translateY(-1px);
}
.manuscript-card .card-body {
  background-color: #fff !important;
  min-height: 170 px;
}

.manuscript-card .card-body > .h2 {
  font-size: 14px;
  font-weight: 500;
}

legend.section-title h3 {
    font-size: 18px;
    padding: 0 8px;
    font-weight: 400;
}