.catalog-tabs {
  display: flex;
  gap: var(--sp-2);
  margin: 4px 0 var(--sp-3);
  overflow-x: auto;
  padding-bottom: 3px;
  scrollbar-width: thin;
}
.catalog-tab, .catalog-chip, .catalog-phase-button {
  background: var(--surface-soft);
  border: 1px solid var(--line);
  border-radius: var(--r-pill);
  color: var(--muted);
  cursor: pointer;
  font-size: var(--fs-xs);
  min-height: var(--control-sm);
  padding: 6px 10px;
  white-space: nowrap;
}
.catalog-tab.active, .catalog-chip.active {
  background: var(--surface-raised);
  border-color: var(--accent);
  color: var(--accent);
}
.catalog-tab:hover, .catalog-chip:hover, .catalog-phase-button:hover {
  border-color: var(--accent);
  color: var(--accent);
}
.catalog-chips {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-2);
  margin-bottom: var(--sp-2);
}
.catalog-item {
  align-items: flex-start;
  flex-wrap: wrap;
  min-height: var(--library-item-height, 58px);
  padding: 10px 0;
}
.catalog-details {
  flex: 1 1 180px;
  min-width: 0;
}
.catalog-details strong {
  min-width: 0;
  overflow-wrap: anywhere;
}
.catalog-name-line {
  align-items: flex-start;
  display: flex;
  gap: var(--sp-2);
  min-width: 0;
}
.catalog-name-line strong {
  flex: 1 1 auto;
}
.catalog-sport-icon {
  display: inline-flex;
  flex: 0 0 auto;
}
.catalog-sport-icon .today-sport-icon {
  height: 20px;
  width: 20px;
}
.catalog-details .meta {
  margin-top: 2px;
}
.phase-tag {
  background: var(--surface-raised);
  border: 1px solid var(--line);
  border-radius: var(--r-pill);
  color: var(--accent);
  display: inline-block;
  font-size: var(--fs-micro);
  margin: 5px 5px 0 0;
  padding: 2px 7px;
}
.catalog-actions {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  gap: var(--sp-1);
}
.set-phase {
  display: flex;
  flex-basis: 100%;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 7px;
  padding: 8px;
  background: var(--surface-soft);
  border: 1px solid var(--line);
  border-radius: var(--r-sm);
}
.set-phase[hidden] {
  display: none;
}
.catalog-saving, .catalog-inline-error {
  flex-basis: 100%;
  font-size: var(--fs-xs);
}
.catalog-saving {
  color: var(--muted);
}
.catalog-inline-error {
  color: var(--danger);
}
.catalog-empty {
  margin: 14px 0 4px;
}
.catalog-picker-row {
  align-items: center;
  background: var(--surface-soft);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  color: var(--text);
  cursor: pointer;
  display: flex;
  min-height: var(--control-md);
  text-align: left;
  width: 100%;
}
.catalog-picker-row:hover {
  border-color: var(--accent);
}
.catalog-picker-row .catalog-details {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0 8px;
}
.catalog-picker-row .catalog-name-line {
  flex: 1 1 150px;
}
.catalog-picker-row .phase-tag {
  margin: 0;
}
.catalog-picker-row .meta {
  color: var(--muted);
  font-size: var(--fs-xs);
  margin: 0 0 0 auto;
  white-space: nowrap;
}
@media (max-width: 480px) {
  .catalog-actions {
    flex-basis: 100%;
    margin-top: 7px;
  }
  .catalog-actions button {
    flex: 1;
  }
}
