th:first-child, td:first-child { width: 6.5rem; }
.import-preview th:first-child, .import-preview td:first-child { width: auto; }
.discussion-trigger {
  position: relative; display: inline-flex; align-items: center; gap: .2rem;
  min-width: 2rem; min-height: 2rem; margin-left: .35rem; padding: .15rem .3rem;
  border: 1px solid #8886; border-radius: .35rem; background: transparent; cursor: pointer;
}
.discussion-count { color: GrayText; font-size: .72rem; font-variant-numeric: tabular-nums; }
.discussion-new {
  position: absolute; top: -.25rem; right: -.25rem; width: .65rem; height: .65rem;
  border: 2px solid Canvas; border-radius: 50%; background: #d32f2f;
}
.discussion-panel {
  position: fixed; z-index: 30; top: calc(var(--discussion-vv-top, 0px) + .5rem); bottom: auto;
  left: 50%; width: min(38rem, calc(var(--discussion-vv-width, 100vw) - 2rem));
  height: min(40rem, calc(var(--discussion-vv-height, 100dvh) - 1rem));
  max-height: calc(var(--discussion-vv-height, 100dvh) - 1rem); margin: 0;
  padding: 0; transform: translateX(-50%); overflow: hidden;
  border: 1px solid #8886; border-radius: .65rem; background: Canvas; color: CanvasText;
  box-shadow: 0 .6rem 2rem #0006;
}
.discussion-panel[open] { display: flex; flex-direction: column; }
.discussion-panel::backdrop { background: #0007; }
.discussion-header {
  display: flex; flex: none; align-items: center; justify-content: space-between;
  padding: .7rem .85rem; border-bottom: 1px solid #8885;
}
.discussion-header button { min-width: 2rem; min-height: 2rem; padding: 0; border: 0; background: transparent; font-size: 1.4rem; }
.discussion-status { flex: none; min-height: 1.2rem; margin: 0; padding: .45rem .75rem; color: GrayText; }
.discussion-log { flex: 1; min-height: 0; overflow-y: auto; padding: .25rem .75rem .75rem; }
.discussion-message { margin: 0 0 .7rem; padding-left: .6rem; border-left: 3px solid var(--discussion-color); }
.discussion-meta { display: flex; justify-content: space-between; gap: .75rem; font-size: .8rem; }
.discussion-message p { margin: .2rem 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.discussion-parent { overflow: hidden; color: GrayText; font-size: .78rem; white-space: nowrap; text-overflow: ellipsis; }
.discussion-reply-button { min-height: auto; padding: 0; border: 0; color: LinkText; background: transparent; font-size: .78rem; }
.discussion-reply {
  display: flex; flex: none; justify-content: space-between; gap: .5rem; padding: .45rem .7rem;
  border-top: 1px solid #8885; color: GrayText; font-size: .8rem;
}
.discussion-reply span { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.discussion-reply button { min-height: auto; }
.discussion-form { display: flex; flex: none; gap: .5rem; padding: .7rem; border-top: 1px solid #8885; }
.discussion-form textarea { flex: 1; min-width: 0; min-height: 2.75rem; resize: none; }
@media (max-width: 700px), (pointer: coarse) {
  .discussion-trigger { min-width: 2.75rem; min-height: 2.75rem; margin: .2rem 0 0; }
  .discussion-panel {
    top: calc(var(--discussion-vv-top, 0px) + .25rem);
    width: calc(var(--discussion-vv-width, 100vw) - .5rem);
    height: calc(var(--discussion-vv-height, 100dvh) - .5rem);
    max-height: calc(var(--discussion-vv-height, 100dvh) - .5rem);
  }
  .discussion-header button, .discussion-reply button, .discussion-form button { min-width: 2.75rem; min-height: 2.75rem; }
  .discussion-form textarea { min-height: 2.75rem; font-size: 16px; }
}
