/* One entry language for the workflow, SAR workspace, and Agent catalog.
   No permission or route changes. Legacy overrides are scoped to this homepage. */
.rd-flow-map-with-entry,
.rd-agent-catalog {
  --entry-surface: linear-gradient(120deg, #0b302f, #091d2b);
  --entry-active: linear-gradient(120deg, #10413c, #0b2936);
  --entry-border: rgba(114, 230, 206, .2);
  --entry-accent: #59e6c1;
  --entry-text: #effffb;
  --entry-radius: 10px;
}
.rd-flow-map-with-entry { position: relative; isolation: isolate; }
.rd-flow-map-with-entry .rd-agent-layer { z-index: 12 !important; }

.rd-agent-layer .rd-entry {
  position: absolute !important;
  display: grid !important;
  grid-template-columns: 24px minmax(0, 1fr) 28px !important;
  align-items: center !important;
  gap: 8px !important;
  width: clamp(176px, 13.5vw, 200px) !important;
  min-width: 0 !important;
  min-height: 64px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 10px !important;
  color: var(--entry-text) !important;
  background: var(--entry-surface) !important;
  border: 1px solid var(--entry-border) !important;
  border-radius: var(--entry-radius) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .25) !important;
  font: 650 .875rem/1.45 -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Microsoft YaHei', sans-serif !important;
  text-align: left !important;
  text-decoration: none !important;
  pointer-events: auto !important;
  transform: none !important;
  backdrop-filter: none !important;
  transition: background .18s ease, box-shadow .18s ease !important;
}
.rd-agent-layer .rd-entry::before,
.rd-agent-layer .rd-entry::after { display: none !important; }
.rd-agent-layer .rd-entry > svg {
  width: 24px !important;
  height: 24px !important;
  fill: none !important;
  color: #86f2da !important;
  stroke: currentColor !important;
  stroke-width: 2 !important;
  stroke-linecap: round;
  stroke-linejoin: round;
  opacity: 1 !important;
  filter: none !important;
  pointer-events: none !important;
}
.rd-agent-layer .rd-sar-evidence-entry > svg { stroke-width: 1.4 !important; }
.rd-agent-layer .rd-entry .rd-entry-title {
  min-width: 0;
  max-width: none !important;
  color: var(--entry-text) !important;
  font: inherit !important;
  overflow: visible !important;
  white-space: normal !important;
  opacity: 1 !important;
  pointer-events: none !important;
}
.rd-agent-layer .rd-entry .rd-entry-action,
.rd-agent-catalog .module-card .module-arrow {
  display: grid !important;
  place-items: center !important;
  width: 28px !important;
  height: 28px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: var(--entry-accent) !important;
  color: #032c25 !important;
  font: 650 18px/1 sans-serif !important;
  opacity: 1 !important;
  transform: none !important;
  pointer-events: none !important;
}
.rd-agent-layer .rd-entry:hover,
.rd-agent-layer .rd-entry.is-selected {
  background: var(--entry-active) !important;
  border-color: var(--entry-border) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .25), 0 0 24px rgba(76, 229, 193, .12) !important;
  transform: none !important;
}
.rd-agent-layer .rd-entry:hover .rd-entry-action,
.rd-agent-layer .rd-entry.is-selected .rd-entry-action { background: #87f3d5 !important; }
.rd-agent-layer .rd-entry:focus-visible,
.rd-agent-catalog a.module-card:focus-visible {
  outline: 2px solid #b2ffe9 !important;
  outline-offset: 4px !important;
}

/* SAR stays beside the literature; the other entries remain by their artwork. */
.rd-agent-layer .rd-sar-evidence-entry { left: 3%; top: 2%; }
.rd-agent-layer .rd-agent-pharma { left: 3% !important; top: 18% !important; }
.rd-agent-layer .rd-agent-target { left: 3% !important; top: 64% !important; }
.rd-agent-layer .rd-agent-screen { left: 25% !important; top: 14% !important; }
.rd-agent-layer .rd-agent-docking { left: 39% !important; top: 1% !important; }
.rd-agent-layer .rd-agent-boltz { left: 63% !important; top: 15% !important; }
.rd-agent-layer .rd-agent-synthesis { left: 76% !important; top: 2% !important; }
.rd-agent-layer .rd-agent-decision { left: auto !important; right: 2.4% !important; top: 19% !important; }
.rd-agent-layer .rd-agent-chemid { left: 27% !important; top: 72% !important; }
.rd-agent-layer .rd-agent-design { left: 42% !important; top: 78% !important; }
.rd-agent-layer .rd-agent-sar { left: 57% !important; top: 78% !important; }
.rd-agent-layer .rd-agent-admet { left: 72% !important; top: 68% !important; }

/* Catalog retains all records and access states with the same icon/action styling. */
.rd-agent-catalog .module-card {
  border: 1px solid var(--entry-border) !important;
  border-radius: var(--entry-radius) !important;
  background: var(--entry-surface) !important;
  color: var(--entry-text);
  box-shadow: 0 8px 24px rgba(0, 0, 0, .2) !important;
  transition: background .18s ease, box-shadow .18s ease !important;
}
.rd-agent-catalog .module-card:hover,
.rd-agent-catalog .module-card.is-flow-match {
  border-color: var(--entry-border) !important;
  background: var(--entry-active) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .2), 0 0 24px rgba(76, 229, 193, .1) !important;
  transform: none !important;
}
.rd-agent-catalog .module-card::before,
.rd-agent-catalog .module-card::after { display: none !important; }
.rd-agent-catalog .module-card .module-icon-wrapper {
  display: grid !important;
  place-items: center;
  width: 44px !important;
  height: 44px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: rgba(89, 230, 193, .07) !important;
  box-shadow: none !important;
}
.rd-catalog-icon { width: 28px; height: 28px; fill: none; stroke: #86f2da; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.rd-agent-catalog .module-card.is-locked,
.rd-agent-catalog .module-card.is-guest-locked {
  background: linear-gradient(120deg, #10282c, #0c1d29) !important;
  box-shadow: none !important;
}
.rd-agent-catalog .module-card.is-locked .rd-catalog-icon,
.rd-agent-catalog .module-card.is-guest-locked .rd-catalog-icon { stroke: #8faba9; }
.rd-agent-catalog .module-card.is-guest-locked .module-arrow { background: #294741 !important; color: #a6c9c0 !important; }
.rd-agent-catalog .rd-sar-workbench-banner {
  border-color: var(--entry-border);
  border-radius: var(--entry-radius);
  background: var(--entry-surface);
}
.rd-agent-catalog .rd-sar-workbench-action i {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  color: #032c25;
  background: var(--entry-accent);
  border-radius: 6px;
}

/* Below desktop width the complete entry list sits beneath the intact artwork. */
@media (max-width: 1279px) {
  .rd-flow-map-with-entry .rd-agent-layer {
    position: relative !important;
    inset: auto !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: auto !important;
    height: auto !important;
    padding: 16px !important;
    pointer-events: auto !important;
  }
  .rd-agent-layer .rd-entry {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    grid-column: auto !important;
    transform: none !important;
  }
}
@media (max-width: 700px) {
  .rd-flow-map-with-entry .rd-flow-canvas { height: 310px !important; min-height: 310px !important; }
  .rd-flow-map-with-entry .rd-agent-layer { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; padding: 12px !important; gap: 10px !important; }
  .rd-agent-layer .rd-entry { grid-template-columns: 20px minmax(0, 1fr) 24px !important; gap: 6px !important; padding: 8px !important; }
  .rd-agent-layer .rd-entry > svg { width: 20px !important; height: 20px !important; }
  .rd-agent-layer .rd-entry .rd-entry-action { width: 24px !important; height: 28px !important; }
  .rd-agent-layer .rd-sar-evidence-entry { grid-column: 1 / -1 !important; }
  .rd-agent-layer .rd-agent-decision { grid-column: 1 / -1 !important; }
}
@media (prefers-reduced-motion: reduce) {
  .rd-agent-layer .rd-entry,
  .rd-agent-catalog .module-card { transition: none !important; }
}
