/* ============================================================
   EDITORUM MANAGE — TABLE CONTENT
   Status badges, rich table cells, review/publication helpers.
   Loaded after manage-tables.css.
   ============================================================ */

.scrollable-table-body .label,
.list-status-badge,
.admin-list-status-badge,
.journal-status-badge {
  align-items: center !important;
  border-radius: 4px !important;
  display: inline-block !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  min-height: 0 !important;
  min-width: 0 !important;
  padding: 3px 6px !important;
  text-align: center !important;
  white-space: nowrap !important;
}

.scrollable-table-body .label.label-default,
.list-status-badge.label-default,
.admin-list-status-badge.label-default,
.journal-status-badge.label-default {
  background: #f3f4f6 !important;
  color: #4b5563 !important;
}

.scrollable-table-body .label.label-primary,
.list-status-badge.label-primary,
.admin-list-status-badge.label-primary,
.journal-status-badge.label-primary {
  background: #eff6ff !important;
  color: #1d4ed8 !important;
}

.scrollable-table-body .label.label-success,
.list-status-badge.label-success,
.admin-list-status-badge.label-success,
.journal-status-badge.label-success {
  background: #ecfdf5 !important;
  color: #047857 !important;
}

.scrollable-table-body .label.label-danger,
.list-status-badge.label-danger,
.admin-list-status-badge.label-danger,
.journal-status-badge.label-danger {
  background: var(--ed-danger-bg) !important;
  color: var(--ed-danger-hover) !important;
}

.list-status-badge.review-status-badge--dark {
  background: #111827 !important;
  color: #ffffff !important;
}

.td-authors {
  line-height: 1.4 !important;
  max-width: 220px !important;
  min-width: 120px !important;
  position: relative !important;
}

.td-authors._hidden .td-authors-toggled {
  display: none !important;
}

.td-authors .td-originality-button {
  appearance: none !important;
  align-items: center !important;
  background: none !important;
  border: 0 !important;
  color: #2563eb !important;
  cursor: pointer !important;
  display: flex !important;
  font-family: var(--ed-font) !important;
  font-size: inherit !important;
  gap: 4px !important;
  font-weight: 500 !important;
  left: auto !important;
  line-height: inherit !important;
  margin-left: 0 !important;
  margin-top: 6px !important;
  padding: 0 !important;
  position: static !important;
  text-decoration: none !important;
  vertical-align: baseline !important;
  width: fit-content !important;
  max-width: 100% !important;
  white-space: nowrap !important;
}

.td-authors-more__label {
  display: inline-block !important;
  line-height: inherit !important;
}

.td-authors-more__icon {
  display: inline-block !important;
  height: 12px !important;
  transition: transform 0.2s ease !important;
  vertical-align: -1px !important;
  width: 12px !important;
}

.td-authors-more.is-expanded .td-authors-more__icon {
  transform: rotate(180deg) !important;
}

.td-authors .td-originality-button:hover,
.td-authors .td-originality-button:focus {
  background: none !important;
  color: #1d4ed8 !important;
  text-decoration: underline !important;
}

.td-authors .td-originality-button:before {
  content: none !important;
}

.scrollable-table-body .table-text-link,
.scrollable-table-body .table-text-cell > a[href]:only-child,
.scrollable-table-body .table-text-cell > .journal-list-title > .table-text-link:only-child {
  border-radius: 4px !important;
  color: var(--ds-color-link, #1d4ed8) !important;
  cursor: pointer !important;
  display: block !important;
  line-height: 1.45 !important;
  margin: -4px 0 !important;
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
  padding: 4px 0 !important;
  text-decoration: none !important;
  width: 100% !important;
}

.scrollable-table-body .table-text-link:hover,
.scrollable-table-body .table-text-link:focus,
.scrollable-table-body .table-text-cell > a[href]:only-child:hover,
.scrollable-table-body .table-text-cell > a[href]:only-child:focus,
.scrollable-table-body .table-text-cell > .journal-list-title > .table-text-link:only-child:hover,
.scrollable-table-body .table-text-cell > .journal-list-title > .table-text-link:only-child:focus,
.scrollable-table-body td > .td-cell-content > a[href]:hover,
.scrollable-table-body td > .td-cell-content > a[href]:focus {
  color: var(--ds-color-link, #1d4ed8) !important;
  text-decoration: underline !important;
}

.scrollable-table-body .table-text-link:focus-visible,
.scrollable-table-body .table-text-cell > a[href]:only-child:focus-visible,
.scrollable-table-body .table-text-cell > .journal-list-title > .table-text-link:only-child:focus-visible,
.scrollable-table-body td > .td-cell-content > a[href]:focus-visible {
  outline: 2px solid rgba(29, 78, 216, 0.18) !important;
  outline-offset: 2px !important;
}

/* Status cells: center badges globally in all tables */
.table > tbody > tr > td:has(.list-status-badge),
.table > tbody > tr > td:has(.workspace-badge),
.table > thead > tr > th.request-status-col,
.table td[data-col-key="status"],
.table td.text-center {
  text-align: center !important;
}

.request-status-col a {
  justify-content: center !important;
}

/* In constrained status columns, allow badge text to wrap */
.table td[data-col-key="status"] .list-status-badge,
.table td[data-col-key="status"] .workspace-badge {
  white-space: normal !important;
  max-width: 100% !important;
}

.request-status-date {
  color: var(--ed-muted) !important;
  display: block !important;
  font-size: 10px !important;
  line-height: 1.2 !important;
  margin-top: 4px !important;
}

.request-authors-col {
  max-width: 220px !important;
}

.request-status-badge {
  align-items: center !important;
  border: 0 !important;
  border-radius: 4px !important;
  display: inline-flex !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  min-width: 0 !important;
  padding: 3px 8px !important;
  white-space: normal !important;
  width: auto !important;
}

.request-status-badge.badge-new {
  background: #eff6ff !important;
  color: #1d4ed8 !important;
}

.request-status-badge.badge-review {
  background: var(--ed-warning-bg) !important;
  color: var(--ed-warning) !important;
}

.request-status-badge.badge-accepted,
.request-status-badge.accepted-agreement {
  background: #ecfdf5 !important;
  color: #059669 !important;
}

.request-status-badge.badge-rejected {
  background: var(--ed-danger-bg) !important;
  color: var(--ed-danger) !important;
}

.request-status-badge.badge-revision {
  background: #fff7ed !important;
  color: #c2410c !important;
}

.reviews-container {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  min-width: 220px !important;
}

.review-item {
  align-items: flex-start !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  padding: 5px 8px !important;
  background: var(--ed-white) !important;
  border: 1px solid var(--ed-border) !important;
  border-radius: 6px !important;
  color: var(--ed-body) !important;
  text-decoration: none !important;
  font-size: 11px !important;
  line-height: 1.3 !important;
  transition: border-color 0.15s ease !important;
}

.review-item:hover {
  border-color: var(--ed-blue) !important;
  color: var(--ed-body) !important;
  text-decoration: none !important;
}

.review-author {
  font-weight: 600 !important;
  color: var(--ed-text) !important;
}

.review-decision {
  display: flex !important;
  align-items: baseline !important;
  flex-wrap: wrap !important;
  gap: 2px 4px !important;
}

.review-decision-label {
  color: var(--ed-muted) !important;
  font-size: 10px !important;
}

.review-date {
  color: var(--ed-muted) !important;
  font-size: 10px !important;
}

.review-badge {
  align-self: flex-start !important;
  display: inline-flex !important;
  align-items: center !important;
  border-radius: 4px !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  padding: 2px 6px !important;
  white-space: nowrap !important;
}

.review-badge-success {
  background: var(--ds-badge-success-bg) !important;
  color: var(--ds-badge-success-color) !important;
}

.review-badge-danger {
  background: var(--ds-badge-danger-bg) !important;
  color: var(--ds-badge-danger-color) !important;
}

.review-badge-default {
  background: var(--ds-badge-default-bg) !important;
  color: var(--ds-badge-default-color) !important;
}

.reviews-container.td-originality {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  padding-bottom: 0 !important;
}

.reviews-container .td-originality-button {
  display: none !important;
}

.reviews-container--collapsible:not(.is-expanded) .review-item:nth-of-type(n+2) {
  display: none !important;
}

.reviews-toggle {
  align-items: center !important;
  align-self: stretch !important;
  appearance: none !important;
  background: #f8fafc !important;
  border: 1px solid var(--ed-border) !important;
  border-radius: 6px !important;
  color: #1d4ed8 !important;
  cursor: pointer !important;
  display: inline-flex !important;
  font-family: var(--ed-font) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  gap: 6px !important;
  justify-content: center !important;
  line-height: 1.2 !important;
  min-height: 30px !important;
  padding: 7px 10px !important;
  text-align: center !important;
  width: 100% !important;
}

.reviews-toggle:hover,
.reviews-toggle:focus {
  background: #eff6ff !important;
  border-color: #93c5fd !important;
}

.reviews-toggle__icon {
  flex: 0 0 auto !important;
  transition: transform 0.2s ease !important;
}

.reviews-container.is-expanded .reviews-toggle__icon {
  transform: rotate(180deg) !important;
}

.publication-files-list .publication-files-checkbox-col {
  text-align: center !important;
  width: 44px !important;
}

.publication-files-list .publication-files-title-cell {
  min-width: 280px !important;
  word-break: break-word !important;
}

.publication-files-list .publication-files-source-flag {
  color: var(--ed-muted) !important;
  display: inline-flex !important;
  margin-left: 6px !important;
}

.publication-files-actions {
  align-items: center !important;
  gap: 10px !important;
  margin-top: 14px !important;
}

.publication-files-error-icon {
  display: inline-flex !important;
  margin-left: 6px !important;
  vertical-align: middle !important;
}

.publication-references-index-col {
  width: 64px !important;
}

.publication-references-list .publication-references-text-col {
  width: 38% !important;
}

.publication-references-list .publication-references-ids-col {
  width: 12% !important;
}

.publication-references-list td.publication-references-text-col,
.publication-references-list td.publication-references-ids-col {
  overflow-wrap: anywhere !important;
  vertical-align: top !important;
  word-break: break-word !important;
}

.publication-authors-workplaces {
  margin: 0 !important;
  padding-left: 18px !important;
}

.publication-authors-workplaces li + li {
  margin-top: 4px !important;
}

.review-publication-id-col {
  width: 220px !important;
}

.review-publication-authors-table {
  border: 1px solid var(--ed-border) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  margin: 0 !important;
}

.review-publication-authors-table > thead > tr > th,
.review-publication-authors-table > tbody > tr > td {
  padding: 10px 12px !important;
}

.review-publication-list > tbody > tr > td {
  vertical-align: top !important;
}

.publication-edn-qr-cell img {
  height: auto !important;
  max-width: 88px !important;
}

.editorial-team-member-details {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.editorial-team-member-table {
  table-layout: fixed;
}

.editorial-team-member-table th,
.editorial-team-member-table td {
  vertical-align: top;
}

.editorial-team-member-table__section {
  background: var(--ed-surface-muted);
  color: var(--ed-text);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.workspace-form-panel .table:has(.ds-icon-state) > thead > tr > th:first-child,
.workspace-form-panel .table:has(.ds-icon-state) > tbody > tr > td:first-child {
  width: var(--editorial-list-first-col-width, 300px) !important;
  min-width: var(--editorial-list-first-col-width, 300px) !important;
  max-width: var(--editorial-list-first-col-width, 300px) !important;
}

.workspace-form-panel .table:has(.ds-icon-state) > tbody > tr > td:first-child,
.workspace-form-panel .table:has(.ds-icon-state) > tbody > tr > td:first-child a {
  white-space: normal !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
}

.workspace-form-panel .table:has(.ds-icon-state) > thead > tr > th.editorial-list-category-col,
.workspace-form-panel .table:has(.ds-icon-state) > thead > tr > th.editorial-list-role-col,
.workspace-form-panel .table:has(.ds-icon-state) > thead > tr > th.editorial-list-position-ru-col,
.workspace-form-panel .table:has(.ds-icon-state) > thead > tr > th.editorial-list-position-en-col {
  min-width: max-content !important;
  width: auto !important;
}

.workspace-form-panel .table:has(.ds-icon-state) {
  width: max-content !important;
  min-width: 100% !important;
  table-layout: auto !important;
}

.workspace-form-panel .table:has(.ds-icon-state) > thead > tr > th.editorial-list-category-col,
.workspace-form-panel .table:has(.ds-icon-state) > thead > tr > th.editorial-list-role-col,
.workspace-form-panel .table:has(.ds-icon-state) > thead > tr > th.editorial-list-position-ru-col,
.workspace-form-panel .table:has(.ds-icon-state) > thead > tr > th.editorial-list-position-en-col,
.workspace-form-panel .table:has(.ds-icon-state) > thead > tr > th.editorial-list-status-col,
.workspace-form-panel .table:has(.ds-icon-state) > thead > tr > th.editorial-list-actions-col {
  white-space: nowrap !important;
}

.workspace-form-panel .table:has(.ds-icon-state) > tbody > tr > td.editorial-list-category-col {
  white-space: normal !important;
  word-break: break-word !important;
}

.workspace-form-panel .table:has(.ds-icon-state) > thead > tr > th.editorial-list-status-col,
.workspace-form-panel .table:has(.ds-icon-state) > tbody > tr > td.editorial-list-status-col {
  width: 104px !important;
  min-width: 104px !important;
  max-width: 104px !important;
  text-align: center !important;
  white-space: nowrap !important;
}

.workspace-form-panel .table:has(.ds-icon-state) > tbody > tr > td.editorial-list-status-col {
  font-size: 0 !important;
  padding-left: 8px !important;
  padding-right: 8px !important;
}

.workspace-form-panel .table:has(.ds-icon-state) > tbody > tr > td.editorial-list-status-col .ds-icon-state {
  display: inline-flex !important;
  vertical-align: middle !important;
}

.workspace-form-panel .table:has(.ds-icon-state) > tbody > tr > td.editorial-list-status-col .ds-icon-state + .ds-icon-state {
  margin-left: 6px !important;
}

.workspace-form-panel .table:has(.ds-icon-state) > thead > tr > th.editorial-list-actions-col,
.workspace-form-panel .table:has(.ds-icon-state) > tbody > tr > td.editorial-list-actions-col {
  width: 150px !important;
  min-width: 150px !important;
  max-width: 150px !important;
}

.review-visibility-table {
  margin-bottom: 0;
}

.review-visibility-table td {
  text-align: center;
}

.list-cell-preview {
  margin-top: 4px;
}

.list-cell-link {
  color: inherit;
  display: inline;
  font-weight: 500;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.list-cell-link:hover,
.list-cell-link:focus {
  color: var(--ed-primary);
  text-decoration: none;
}

/* ---- COPYABLE ID ----
   Compact stacked layout (controls on top row, hex value wrapping below)
   is the default everywhere — keeps ID columns narrow so list tables fit
   the viewport without horizontal scroll. The legacy `--compact` modifier
   is preserved as a no-op alias in templates that still spell it out. */
.admin-copy-id,
.admin-copy-id--compact {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 4px !important;
}

.admin-copy-id .admin-copy-id__controls,
.admin-copy-id--compact .admin-copy-id__controls {
  position: static !important;
  display: inline-flex !important;
  gap: 2px !important;
}

.admin-copy-id .admin-copy-id__value,
.admin-copy-id--compact .admin-copy-id__value {
  display: block !important;
  width: 100% !important;
  font-size: 10px !important;
  font-family: var(--ed-font-mono, monospace) !important;
  white-space: normal !important;
  word-break: break-all !important;
  max-width: none !important;
  overflow: visible !important;
  text-overflow: unset !important;
}

/* ---- GENERIC CELL CONTENT TRUNCATION ---- */
.td-cell-content > a,
.td-cell-content > button,
.td-cell-content > [role="button"] {
  display: block !important;
  margin: -4px 0 !important;
  padding: 4px 0 !important;
  width: 100% !important;
}

.td-cell-content > a:hover,
.td-cell-content > a:focus {
  text-decoration: underline !important;
}

.td-cell-content._truncatable._truncated {
  max-height: 95px !important;
  overflow: hidden !important;
}

.td-cell-expand {
  appearance: none !important;
  align-items: center !important;
  background: none !important;
  border: 0 !important;
  border-radius: 4px !important;
  color: var(--ed-muted, #6b7280) !important;
  cursor: pointer !important;
  display: none !important;
  font-family: var(--ed-font) !important;
  font-size: 11px !important;
  gap: 4px !important;
  justify-content: center !important;
  line-height: 1 !important;
  margin-top: 4px !important;
  padding: 4px 0 !important;
  transition: background 0.15s ease, color 0.15s ease !important;
  width: 100% !important;
}

.td-cell-content._truncatable._truncated + .td-cell-expand {
  display: flex !important;
}

.td-cell-expand:hover,
.td-cell-expand:focus {
  background: var(--ed-bg, #f9fafb) !important;
  color: var(--ed-primary, #2563eb) !important;
  outline: none !important;
}

.td-cell-expand__icon {
  display: inline-block !important;
  height: 10px !important;
  transition: transform 0.2s ease !important;
  width: 10px !important;
}

.td-cell-content._truncatable:not(._truncated) + .td-cell-expand .td-cell-expand__icon {
  transform: rotate(180deg) !important;
}

/* ---- COMPACT ORIGINALITY ---- */
.td-originality--compact {
  padding-bottom: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  height: auto !important;
  position: static !important;
}

.td-originality-file {
  display: flex !important;
  flex-direction: column !important;
  gap: 1px !important;
  font-size: 11px !important;
  line-height: 1.3 !important;
}

.td-originality-filename {
  display: block !important;
  max-width: 140px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  color: var(--ed-muted) !important;
  font-size: 10px !important;
}

.td-originality-values {
  font-weight: 600 !important;
  white-space: nowrap !important;
}

.td-originality-unchecked {
  color: var(--ed-muted) !important;
  font-style: italic !important;
}

.td-originality-sep {
  margin: 4px 0 !important;
  border-color: var(--ed-border) !important;
}

/* ---- COLUMN VISIBILITY TOGGLE ---- */
.col-visibility-toggle {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  margin-left: auto !important;
  position: relative !important;
}

.col-visibility-toggle[hidden] {
  display: none !important;
}

.col-visibility-btn {
  appearance: none !important;
  background: var(--ed-white) !important;
  border: 1px solid var(--ed-border) !important;
  border-radius: 6px !important;
  color: var(--ed-body) !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-family: var(--ed-font) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  padding: 0 16px !important;
  height: 40px !important;
  white-space: nowrap !important;
}

.col-visibility-btn:hover {
  background: var(--ed-bg) !important;
  border-color: var(--ed-muted) !important;
}

.col-visibility-btn svg {
  width: 14px !important;
  height: 14px !important;
  flex-shrink: 0 !important;
}

.col-visibility-dropdown {
  background: var(--ed-white) !important;
  border: 1px solid var(--ed-border) !important;
  border-radius: 8px !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12) !important;
  display: none !important;
  min-width: 200px !important;
  padding: 6px 0 !important;
  position: absolute !important;
  right: 0 !important;
  top: calc(100% + 4px) !important;
  user-select: none !important;
  -webkit-user-select: none !important;
  z-index: 1050 !important;
}

.col-visibility-dropdown.is-open {
  display: block !important;
}

.col-visibility-option {
  align-items: center !important;
  cursor: pointer !important;
  display: flex !important;
  gap: 8px !important;
  font-size: 13px !important;
  line-height: 1.3 !important;
  padding: 6px 14px !important;
  user-select: none !important;
  -webkit-user-select: none !important;
  white-space: nowrap !important;
}

.col-visibility-option:hover {
  background: var(--ed-bg) !important;
}

.col-visibility-option input[type="checkbox"] {
  margin: 0 !important;
  flex-shrink: 0 !important;
}

/* Hidden column styles */
th[data-col-hidden="true"],
td[data-col-hidden="true"] {
  display: none !important;
}

/* ---- REQUEST LIST — COMPACT DENSITY (browser auto-layout) ---- */
.request-list-page .table th {
  padding: 6px 6px !important;
}

.request-list-page .table td {
  padding: 4px 6px !important;
}

.request-list-page .table th[data-col-key="id"],
.request-list-page .table td[data-col-key="id"] {
  white-space: nowrap !important;
}

.request-list-page .table th[data-col-key="date"],
.request-list-page .table td[data-col-key="date"] {
  white-space: nowrap !important;
}

.request-list-page .table th[data-col-key="authors"],
.request-list-page .table td[data-col-key="authors"] {
  max-width: 200px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.request-list-page .table th[data-col-key="status"],
.request-list-page .table td[data-col-key="status"] {
  max-width: 140px !important;
}

.request-list-page .td-authors {
  max-width: 200px !important;
  min-width: 0 !important;
}

.request-list-page .reviews-container {
  min-width: 0 !important;
}

.request-list-page .request-btns {
  gap: 4px !important;
}

.request-list-page .request-btns-row {
  gap: 2px !important;
}

.request-list-page .request-btns .btn {
  min-width: 26px !important;
  min-height: 26px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.42857143 !important;
  padding: 3px 5px !important;
}

/* ---- STATUS ACTION BUTTONS — SEMANTIC COLORS ---- */
/* Prefixed with .request-btns for higher specificity to beat .btn-default in manage-forms.css */
.request-btns .btn-action-consideration {
  color: var(--ed-warning) !important;
  border-color: var(--ed-warning-border) !important;
  background: #fff !important;
}

.request-btns .btn-action-consideration:hover,
.request-btns .btn-action-consideration:focus {
  background: rgba(245, 158, 11, 0.08) !important;
  border-color: #f59e0b !important;
  color: var(--ed-warning-text) !important;
}

.request-btns .btn-action-approved {
  color: #059669 !important;
  border-color: #a7f3d0 !important;
  background: #fff !important;
}

.request-btns .btn-action-approved:hover,
.request-btns .btn-action-approved:focus {
  background: rgba(16, 185, 129, 0.08) !important;
  border-color: #34d399 !important;
  color: #047857 !important;
}

.request-btns .btn-action-returned {
  color: #c2410c !important;
  border-color: #fed7aa !important;
  background: #fff !important;
}

.request-btns .btn-action-returned:hover,
.request-btns .btn-action-returned:focus {
  background: rgba(249, 115, 22, 0.08) !important;
  border-color: #fb923c !important;
  color: #9a3412 !important;
}

.request-btns .btn-action-decline {
  color: var(--ed-danger) !important;
  border-color: var(--ed-danger-border) !important;
  background: #fff !important;
}

.request-btns .btn-action-decline:hover,
.request-btns .btn-action-decline:focus {
  background: rgba(239, 68, 68, 0.08) !important;
  border-color: #f87171 !important;
  color: var(--ed-danger-hover) !important;
}

/* ---- EDITORIAL NOTE HIGHLIGHTING ---- */
/* Uses border-left instead of box-shadow to avoid conflict with
   manage-sticky-table-columns.css which resets box-shadow on sticky cells. */
.has-editor-note > td:first-child {
  border-left: 3px solid #f59e0b !important;
  padding-left: 7px !important;
}

.btn-discussion.new-discussion {
  position: relative !important;
}

.btn-discussion.new-discussion::after {
  content: '' !important;
  position: absolute !important;
  top: 5px !important;
  right: 4px !important;
  width: 7px !important;
  height: 7px !important;
  background: #f59e0b !important;
  border-radius: 50% !important;
}

.request-list-page .table th[data-col-key="note"],
.request-list-page .table td[data-col-key="note"] {
  min-width: 250px !important;
  max-width: 360px !important;
  vertical-align: top !important;
}

.request-note-panel {
  border-radius: 6px !important;
  outline: 2px solid transparent !important;
  outline-offset: 2px !important;
  transition: outline-color 0.2s ease, box-shadow 0.2s ease !important;
}

.request-note-panel.is-note-target {
  outline-color: #f59e0b !important;
  box-shadow: 0 0 0 4px rgba(245, 158, 11, 0.16) !important;
}

/* ---- DISCUSSION PANEL ---- */
.discussion-panel {
  padding: 10px 14px !important;
  background: var(--ed-warning-bg) !important;
  border: 1px solid var(--ed-warning-border) !important;
  border-radius: 6px !important;
  margin: 4px 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: stretch !important;
  flex-direction: column !important;
  gap: 10px !important;
}

.discussion-content-cell {
  font-size: 13px !important;
  line-height: 1.5 !important;
  padding: 6px 10px !important;
  background: var(--ed-white, #fff) !important;
  border: 1px solid var(--ed-border, #e5e7eb) !important;
  border-radius: 4px !important;
  min-height: 28px !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
  flex: 1 1 auto !important;
  max-width: 100% !important;
  max-height: 260px !important;
  overflow: auto !important;
}

.discussion-actions {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  flex-shrink: 0 !important;
}

.discussion-actions .btn {
  align-items: center !important;
  border-radius: 6px !important;
  display: inline-flex !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  height: 28px !important;
  padding: 0 10px !important;
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease !important;
  white-space: nowrap !important;
}

.discussion-actions .add-discussion {
  background: var(--ed-white, #fff) !important;
  border: 1px solid var(--ed-primary-border-soft) !important;
  color: var(--ed-blue, #2563eb) !important;
}

.discussion-actions .add-discussion:hover {
  background: var(--ed-primary-bg-soft) !important;
  border-color: #93c5fd !important;
}

.discussion-actions .clear-discussion {
  background: var(--ed-white, #fff) !important;
  border: 1px solid var(--ed-danger-border) !important;
  color: var(--ds-color-danger) !important;
}

.discussion-actions .clear-discussion:hover {
  background: var(--ed-danger-bg) !important;
  border-color: var(--ed-danger-border-hover) !important;
  color: var(--ed-danger-hover) !important;
}

/* ---- HISTORY PANEL ---- */
.history-content-cell {
  padding: 10px 14px !important;
  position: sticky !important;
  left: 0 !important;
  max-width: calc(100vw - var(--ed-sidebar-w, 180px) - 20px) !important;
  box-sizing: border-box !important;
}

.history-content-cell .table-inner {
  margin-bottom: 0 !important;
}

.history-content-cell .table-inner td,
.history-content-cell .table-inner th {
  padding: 6px 10px !important;
}

.history-table {
  table-layout: fixed !important;
  width: 100% !important;
}

.history-col-date {
  width: 140px !important;
  white-space: nowrap !important;
}

.history-col-user {
  width: 220px !important;
  white-space: normal !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
}

.history-col-action {
  white-space: normal !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
}

.history-toggle-btn {
  appearance: none !important;
  align-items: center !important;
  background: none !important;
  border: 0 !important;
  color: #2563eb !important;
  cursor: pointer !important;
  display: inline-flex !important;
  font-family: var(--ed-font) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  gap: 4px !important;
  line-height: 1.4 !important;
  margin-top: 8px !important;
  padding: 4px 8px !important;
  border-radius: 4px !important;
  transition: background 0.15s ease !important;
}

.history-toggle-btn:hover,
.history-toggle-btn:focus {
  background: var(--ed-primary-bg-soft) !important;
  color: #1d4ed8 !important;
  text-decoration: none !important;
  outline: none !important;
}

.history-toggle-btn__icon {
  display: inline-block !important;
  height: 12px !important;
  transition: transform 0.2s ease !important;
  width: 12px !important;
}

.history-toggle-btn[aria-expanded="true"] .history-toggle-btn__icon {
  transform: rotate(180deg) !important;
}

/* ---- HISTORY BUTTON ACTIVE STATE ---- */
/* .btn prefix raises specificity to (0,3,0) so it beats .btn-default */
.btn.search-history.is-history-open {
  color: #2563eb !important;
  border-color: #93c5fd !important;
  background: var(--ed-primary-bg-soft) !important;
}

/* ---- INLINE CONFIRM STATE ---- */
@keyframes confirming-pulse {
  0%, 100% { border-color: var(--ed-danger); }
  50% { border-color: var(--ed-danger-border-hover); }
}

.confirming {
  color: var(--ed-danger) !important;
  border-color: var(--ed-danger) !important;
  background: var(--ed-danger-bg) !important;
  animation: confirming-pulse 0.8s ease-in-out infinite !important;
}
