/* Agents UI styles */

/* Picker (list-style; no nested cards inside the modal) */

.agent-picker-list {
  border-block: 1px solid var(--tblr-border-color);
}

.agent-picker-form {
  margin: 0;
}

.agent-picker-item {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 0.75rem 0.25rem;
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--tblr-border-color);
  text-align: start;
  cursor: pointer;
  transition: background 0.1s ease;
}

.agent-picker-form:last-child .agent-picker-item {
  border-bottom: 0;
}

.agent-picker-item:hover {
  background: var(--tblr-bg-surface-secondary);
}

.agent-picker-item-body {
  display: flex;
  flex-direction: column;
  flex: 1;
}

.agent-picker-item-title {
  font-weight: 600;
  color: var(--tblr-body-color);
}

.agent-picker-item-description {
  font-size: 0.8125rem;
  color: var(--tblr-secondary);
  margin-top: 0.125rem;
}

.agent-picker-section-title {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--tblr-secondary);
  margin: 0 0 0.5rem;
}

/* Knowledge Sources styles moved to knowledge_sources.css — they're
   shared between agents and projects via Shared::KnowledgeSourcesComponent. */

/* Sidebar Sub-Sections */

.agents-sidebar-section {
  margin-bottom: 1.5rem;
}

.agents-sidebar-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--tblr-secondary);
  padding: 0.25rem 0;
  margin-bottom: 0.25rem;
}

.agents-sidebar-section-count {
  background: var(--tblr-bg-surface-tertiary);
  color: var(--tblr-secondary);
  border-radius: 999px;
  padding: 0.05rem 0.4rem;
  font-size: 0.65rem;
  font-weight: 600;
}

.agents-sidebar-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}

.agents-sidebar-list-item a {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.4rem 0.6rem;
  border-radius: 0.375rem;
  color: var(--tblr-body-color);
  text-decoration: none;
  font-size: 0.875rem;
}

.agents-sidebar-list-item a:hover {
  background: var(--tblr-bg-surface-secondary);
}

.agents-sidebar-list-item .agent-name {
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.agents-sidebar-empty {
  font-size: 0.75rem;
  color: var(--tblr-secondary);
  padding: 0.25rem 0.6rem;
  font-style: italic;
}

.agents-archive-toggle {
  background: none;
  border: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 0.25rem 0;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--tblr-secondary);
  cursor: pointer;
}

.agents-archive-toggle:hover {
  color: var(--tblr-body-color);
}

.agents-archive-toggle .agents-archive-toggle-chevron {
  transition: transform 0.15s ease;
}

.agents-archive-toggle[aria-expanded="true"] .agents-archive-toggle-chevron {
  transform: rotate(90deg);
}

/* Inline-editable title in the show header */

.agent-title-frame {
  display: block;
}

.agent-title-edit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  padding: 0;
  border-radius: 0.25rem;
  color: var(--tblr-secondary);
  opacity: 0;
  transition: opacity 0.1s ease, color 0.1s ease, background 0.1s ease;
}

.agent-title-edit:hover {
  color: var(--tblr-body-color);
  background: var(--tblr-bg-surface-secondary);
  text-decoration: none;
}

.agent-title-frame:hover .agent-title-edit,
.agent-title-edit:focus-visible {
  opacity: 1;
}

.agent-title-form .agent-title-input {
  font-weight: 600;
  width: auto;
  min-width: 14rem;
  max-width: 28rem;
}

/* Pin star */

.agent-pin-button {
  background: none;
  border: 0;
  padding: 0.4rem;
  border-radius: 0.375rem;
  color: var(--tblr-secondary);
  transition: color 0.1s ease, background 0.1s ease;
}

.agent-pin-button:hover {
  background: var(--tblr-bg-surface-secondary);
  color: var(--tblr-yellow);
}

.agent-pin-button--pinned {
  color: var(--tblr-yellow);
}

/* Per-card pin button on the index — small, unobtrusive, only fades
   in on card hover when the agent is unpinned. Pinned cards keep
   the star visible so the user can find what to unpin. */

.agent-card-pin {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: 0;
  padding: 0.25rem;
  border-radius: 0.375rem;
  color: var(--tblr-secondary);
  opacity: 0;
  transition: opacity 0.15s ease, color 0.1s ease, background 0.1s ease;
}

.agent-card-pin-form {
  margin: 0;
  display: inline-flex;
}

.card:hover .agent-card-pin,
.agent-card-pin:focus-visible {
  opacity: 0.65;
}

.agent-card-pin:hover {
  opacity: 1;
  color: var(--tblr-yellow);
  background: var(--tblr-bg-surface-secondary);
}

.agent-card-pin--pinned {
  opacity: 1;
  color: var(--tblr-yellow);
}

.agent-card-pin--pinned:hover {
  background: var(--tblr-bg-surface-secondary);
  color: var(--tblr-secondary);
}
