.nowrap {
  white-space: nowrap;
}

.status-pill {
  display: inline-flex;
  gap: .35rem;
  align-items: center;
  padding: .2rem .55rem;
  border-radius: 999px;
  white-space: nowrap;
}

.status-pill--clickable {
  border: 0;
  background: inherit;
  font: inherit;
  cursor: pointer;
}

.status-pill--clickable:hover {
  opacity: 0.9;
}

/* Active: subtle */
.status-pill-active {
  background-color: hsl(120, 35%, 80%);
  color: hsl(120, 85%, 25%);
}

/* Anything else: danger pill */
.status-pill-danger {
  background: #f8d7da;
  color: #842029;
}

.reason-icon {
  display: inline-block;
  margin-left: .35rem;
  font-size: .9rem;
  opacity: .7;
  cursor: help;
}

.reason-icon:hover { opacity: 1; }

/* ===============================
   DataTables filter-row styling
   Apply by adding class "dt-filterable"
   to the <table>
   =============================== */

table.dt-filterable thead tr.filters th {
  padding: .25rem .5rem;
}

table.dt-filterable thead tr.filters input,
table.dt-filterable thead tr.filters select {
  width: 100%;
  box-sizing: border-box;
  height: 2.1rem;
  padding: 0.25rem 0.5rem;
  font-size: 0.95rem;
  line-height: 1.2;
}

/* Hide DT sort icons/arrows on the filter row (DataTables v2) */
table.dt-filterable thead tr.filters th .dt-column-order {
  display: none !important;
}

table.dt-filterable thead tr.filters th {
  cursor: default !important;
}

table.dt-filterable thead tr.filters th .dt-column-header {
  justify-content: flex-start;
}

/* ===============================
   DataTables filter-row styling
   Apply by adding class "dt-filterable"
   to the <table>
   =============================== */

table.dt-filterable thead tr.filters th {
  padding: .25rem .5rem;
}

table.dt-filterable thead tr.filters input,
table.dt-filterable thead tr.filters select {
  width: 100%;
  box-sizing: border-box;
  height: 2.1rem;        /* match across controls */
  padding: 0.25rem 0.5rem;
  font-size: 0.95rem;
  line-height: 1.2;
}

/* Hide DT sort icons/arrows on the filter row (DataTables v2) */
table.dt-filterable thead tr.filters th .dt-column-order {
  display: none !important;
}

table.dt-filterable thead tr.filters th {
  cursor: default !important;
}

table.dt-filterable thead tr.filters th .dt-column-header {
  justify-content: flex-start; /* avoids space reserved for the arrow */
}

/* Compact button variant for dense tables */
.pl-btn--compact {
  padding: 0.15rem 0.4rem;
  font-size: 0.85rem;
  line-height: 1.2;
}

.journal-title-cell {
  min-width: 16rem;
}

.journal-title-text {
  display: inline;
}

.title-variants-button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.05rem;
  height: 1.05rem;
  padding: 0 .18rem;
  margin-left: .25rem;
  border: 1px solid rgba(17, 84, 147, .28);
  border-radius: 999px;
  background: transparent;
  color: #115493;
  font: inherit;
  font-size: .62rem;
  font-weight: 700;
  line-height: 1;
  vertical-align: text-bottom;
  cursor: pointer;
}

.title-variants-button:hover {
  background: #f4f8fb;
  border-color: rgba(17, 84, 147, .5);
}

.title-variants-button:focus {
  outline: 2px solid #115493;
  outline-offset: 2px;
}

.variant-dialog {
  max-width: 680px;
  border: 0;
  border-radius: .5rem;
  padding: 0;
}

.variant-dialog::backdrop {
  background: rgba(0, 0, 0, .45);
}

.variant-dialog__inner {
  padding: 1.5rem;
}

.variant-dialog__label {
  margin: 1rem 0 .35rem;
  font-weight: 700;
}

.variant-dialog__list {
  margin: 0;
  padding-left: 1.25rem;
}

.variant-dialog__list li + li {
  margin-top: .35rem;
}
