.publication-entry {
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
}

.publication-entry .publication-row { border: 0; }
.publication-complete {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) auto;
  align-items: end;
  gap: 10px;
  margin: 0 13px 13px;
  padding: 13px;
  border: 1px solid #b9ddcf;
  border-radius: 11px;
  background: #f0faf6;
}
.publication-complete .button { min-width: 180px; }
.publication-entry details { padding: 0 13px 13px; }
.publication-entry summary {
  cursor: pointer;
  color: var(--green);
  font-weight: 750;
}

.publication-edit,
.metrics-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin-top: 12px;
  padding: 13px;
  border-radius: 11px;
  background: var(--paper);
}

.metrics-grid { grid-template-columns: repeat(3, 1fr); }
.publication-edit .span-2 { grid-column: span 2; }
.publication-edit button,
.metrics-grid button { align-self: end; }

@media (max-width: 760px) {
  .publication-edit,
  .metrics-grid { grid-template-columns: 1fr 1fr; }
  .publication-complete { grid-template-columns: 1fr; }
}

[hidden] { display: none !important; }
#slides { scroll-margin-top: 140px; }
.reorder-toolbar { margin-bottom: 18px; }
.reorder-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.reorder-help, .reorder-status { margin: 10px 0 0; font-size: 14px; color: var(--muted); }
.reorder-status:empty { display: none; }
.reorder-status.is-error { color: var(--red); }
.slide-item .slide-order-controls { display: flex; gap: 4px; padding: 6px; border-top: 1px solid var(--line); }
.drag-handle, .order-arrow { display: grid; place-items: center; min-width: 36px; min-height: 44px; border: 1px solid var(--line); border-radius: 8px; background: var(--mint); color: var(--ink); font-size: 22px; cursor: pointer; }
.drag-handle { flex: 1; cursor: grab; touch-action: none; user-select: none; -webkit-user-select: none; }
.is-reordering .slide-item > a { cursor: default; }
.slide-item.is-dragging { opacity: .25; outline: 2px dashed var(--green); }
.slide-drag-ghost { position: fixed; z-index: 1000; pointer-events: none; background: white; opacity: .94; transform: rotate(2deg); box-shadow: 0 16px 40px #0004; }
.slide-drag-active, .slide-drag-active * { cursor: grabbing !important; user-select: none; }
button:disabled { opacity: .45; cursor: default; }
.drag-handle:focus-visible, .order-arrow:focus-visible, .reorder-toolbar button:focus-visible { outline: 3px solid var(--green); outline-offset: 2px; }
