/* Workspaces UI styles */

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

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

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

.workspace-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;
}

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

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

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

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

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

.workspace-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 workspaces and projects via Shared::KnowledgeSourcesComponent. */

/* Sidebar Sub-Sections */

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

.workspaces-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;
}

.workspaces-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;
}

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

.workspaces-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;
}

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

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

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

.workspaces-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;
}

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

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

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

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

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

.workspace-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;
}

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

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

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

/* Pin star */

.workspace-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;
}

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

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

/* Per-card pin button on the index — small, unobtrusive, only fades
   in on card hover when the workspace is unpinned. Pinned cards keep
   the star visible so the user can find what to unpin.
   Named -toggle because `.workspace-card-pin` is taken: that class is
   the landing grid slot (components/workspaces_home.css) carried by
   the button_to FORM, not the button. */

.workspace-card-pin-toggle {
  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;
}

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

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

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

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

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