.login-link { text-align: center; margin-top: 20px; }
.login-link a, .text-button { color: var(--teal); }
.catalog-toolbar { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 16px; }
.catalog-toolbar label { flex: 1; }
.catalog-list { display: grid; gap: 10px; margin-bottom: 90px; }
.catalog-song { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 16px 18px; background: var(--card); border: 1px solid var(--line); border-radius: 14px; }
.catalog-check { display: flex; align-items: center; gap: 12px; min-width: 0; }
.catalog-check input { width: 20px; height: 20px; }
.catalog-check strong, .catalog-check small { display: block; }
.catalog-check small, .song-meta small { color: var(--muted); margin-top: 4px; }
.song-meta { display: flex; align-items: center; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
.text-button { border: 0; background: none; font: inherit; font-weight: 700; cursor: pointer; }
.license-chips { display: flex; gap: 7px; flex-wrap: wrap; margin-top: 12px; }
.license-chip { font-size: 11px; padding: 6px 9px; border-radius: 8px; background: #f2eee5; }
.inline-form { display: flex; gap: 10px; margin-top: 12px; }
.inline-form input { flex: 1; }
@media (max-width: 700px) {
  .catalog-toolbar, .catalog-song, .inline-form { align-items: stretch; flex-direction: column; }
  .song-meta { justify-content: flex-start; }
}
