.song-library-page {
    display: grid;
    gap: 1.25rem;
}

.song-library-heading {
    align-items: end;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
}

.song-library-heading-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
}

.song-library-heading h2,
.song-library-editor-heading h2 {
    color: var(--text);
    margin: 0;
}

.song-library-heading h2 {
    font-size: clamp(1.45rem, 3vw, 2rem);
}

.song-library-heading p:not(.eyebrow),
.song-library-editor-heading p,
.song-library-danger-zone p,
.song-library-guidance p {
    color: var(--muted);
    margin: .35rem 0 0;
}

.song-library-stats {
    display: grid;
    gap: .75rem;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
}

.song-library-stats[hidden] { display: none; }
.song-library-add-navigation { display: flex; flex-wrap: wrap; gap: .5rem; }

.song-library-paths {
    gap: 0;
}

.song-library-paths > div {
    display: grid;
    gap: .75rem;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
    padding: 1rem 1.25rem 1.25rem;
}

.song-library-path {
    align-items: center;
    background: linear-gradient(135deg, color-mix(in srgb, var(--accent) 10%, var(--surface-soft)), var(--surface-soft));
    border-color: color-mix(in srgb, var(--accent) 34%, var(--line));
    box-shadow: 0 10px 24px rgba(0, 0, 0, .12);
    color: var(--text);
    display: grid;
    gap: .2rem .8rem;
    grid-template-columns: 2.75rem minmax(0, 1fr) auto;
    min-height: 86px;
    padding: 1rem;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.song-library-path::after {
    color: var(--accent);
    content: "›";
    font-size: 1.55rem;
    grid-column: 3;
    grid-row: 1 / span 2;
    opacity: .75;
}

.song-library-path > span {
    align-items: center;
    background: rgba(20, 184, 166, .1);
    border: 1px solid rgba(20, 184, 166, .3);
    border-radius: 999px;
    color: var(--accent);
    display: inline-flex;
    font-size: 1.2rem;
    grid-row: 1 / span 2;
    height: 2.75rem;
    justify-content: center;
    width: 2.75rem;
}

.song-library-path > span svg {
    fill: none;
    height: 1.35rem;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
    width: 1.35rem;
}

.song-library-path strong {
    font-size: 1rem;
}

.song-library-path small {
    color: var(--muted);
    font-size: .8rem;
    line-height: 1.35;
}

.song-library-path:hover,
.song-library-path.is-active {
    background: var(--surface-soft-hover);
    border-color: color-mix(in srgb, var(--accent) 68%, var(--line));
    box-shadow: 0 14px 30px rgba(0, 0, 0, .18);
    color: var(--text);
    transform: translateY(-2px);
}

.song-library-stat {
    box-shadow: none;
    display: grid;
    gap: .2rem;
    padding: 1rem 1.1rem;
}

.song-library-stat span {
    color: var(--muted);
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.song-library-stat strong {
    color: var(--text);
    font-family: "Outfit", sans-serif;
    font-size: 1.65rem;
}

.song-library-page .song-library-add {
    overflow: hidden;
    padding: 0;
}

.song-library-add > header {
    align-items: center;
    border-bottom: 1px solid var(--line);
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    list-style: none;
    padding: 1.1rem 1.25rem;
}

.song-library-add > header h2,
.song-library-add > header p {
    margin: .15rem 0 0;
}

.song-library-add > header p,
.song-library-add > header > span,
.song-library-helper {
    color: var(--muted);
    font-size: .82rem;
}

.song-library-add-form {
    padding: 1rem 1.25rem 1.25rem;
}

.song-library-add-details {
    box-shadow: none;
    margin-top: 1rem;
}

.song-library-add-details .widget-accordion-panel-inner {
    display: grid;
    gap: .8rem;
    padding: .9rem;
}

.song-library-add-performance-footer {
    border-top: 1px solid var(--line);
    margin-top: 1rem;
    padding-top: 1rem;
}

.song-library-add-performance-footer textarea {
    min-height: 74px;
}

.song-library-form .btn {
    margin-top: 1rem;
}

.song-library-field-note {
    color: var(--muted);
    display: block;
    font-size: .72rem;
    margin-top: .35rem;
}

.song-library-filters {
    align-items: end;
    box-shadow: none;
    display: grid;
    gap: .75rem;
    grid-template-columns: minmax(260px, 1fr) minmax(160px, 220px) minmax(160px, 220px) auto auto;
    padding: 1rem;
}

.song-library-filters label {
    margin-top: 0;
}

.song-library-filters .btn {
    min-height: 46px;
}

.song-library-catalog-browser {
    box-shadow: none;
    display: grid;
    gap: 0;
    padding: 0;
    container-type: inline-size;
    container-name: song-catalog;
}

.song-library-flow-intro > header { border-bottom: 0; }
.song-library-page .song-library-catalog-browser { overflow: visible; }

.song-library-catalog-browser.is-search-idle .song-library-catalog-picker {
    grid-template-columns: minmax(0, 1fr);
}
.song-library-catalog-browser.is-search-idle .song-library-picker-selected { display: none; }
.song-library-picker-pane-heading > [hidden] { display: none; }

.song-library-catalog-browser.is-loading {
    cursor: progress;
    opacity: .62;
    pointer-events: none;
}

.song-library-catalog-heading {
    align-items: start;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
}

.song-library-catalog-heading h2 {
    color: var(--text);
    margin: .15rem 0 0;
}

.song-library-catalog-heading p:not(.eyebrow) {
    color: var(--muted);
    margin: .25rem 0 0;
}

.song-library-catalog-filters {
    align-items: end;
    display: grid;
    gap: .55rem;
    grid-template-columns: minmax(180px, 1fr) minmax(130px, 170px) auto auto;
}

.song-library-catalog-filters label {
    margin-top: 0;
}

.song-library-catalog-filters .btn {
    min-height: 46px;
}

.song-library-catalog-picker {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 1rem 1.25rem 1.25rem;
}

.song-library-catalog-picker > [data-catalog-stage-drop="remove"] {
    grid-column: 1;
    grid-row: 1;
}

.song-library-picker-pane {
    background: var(--surface-soft);
    border: 1px solid var(--line);
    border-radius: 10px;
    display: grid;
    gap: .75rem;
    min-width: 0;
    padding: .9rem;
    transition: background-color .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.song-library-picker-pane.is-over {
    background: color-mix(in srgb, var(--accent) 7%, var(--surface-soft));
    border-color: var(--accent);
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent) 55%, transparent);
}

.song-library-picker-pane[data-catalog-stage-drop="add"].is-over {
    background: color-mix(in srgb, var(--success-text) 8%, var(--surface-soft));
    border-color: var(--success-text);
}

.song-library-picker-pane[data-catalog-stage-drop="add"].is-over .song-library-picker-staged-list {
    background: color-mix(in srgb, var(--accent) 10%, var(--surface-deep-soft, var(--surface)));
    border-color: var(--accent);
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent) 45%, transparent);
}

.song-library-picker-pane-heading {
    align-items: start;
    display: flex;
    gap: .75rem;
    justify-content: space-between;
}

.song-library-picker-pane-heading h3 {
    color: var(--text);
    font-size: 1rem;
    margin: 0;
}

.song-library-picker-pane-heading p {
    color: var(--muted);
    font-size: .78rem;
    margin: .18rem 0 0;
}

.song-library-picker-pane-heading > span {
    background: rgba(20, 184, 166, .08);
    border: 1px solid rgba(20, 184, 166, .28);
    border-radius: 999px;
    color: var(--success-text);
    flex: 0 0 auto;
    font-size: .72rem;
    font-weight: 800;
    padding: .25rem .55rem;
}

.song-library-picker-list {
    align-content: start;
    display: grid;
    gap: .55rem;
    grid-auto-rows: max-content;
    max-height: 36rem;
    min-height: 12rem;
    overflow: auto;
    padding-right: .2rem;
}

.song-library-picker-song {
    align-items: center;
    background: var(--surface-deep-soft, var(--surface));
    border: 1px solid var(--line);
    border-radius: 9px;
    cursor: grab;
    display: grid;
    gap: .65rem;
    grid-template-columns: auto minmax(0, 1fr) auto auto;
    min-width: 0;
    padding: .65rem .7rem;
}

.song-library-picker-song.is-dragging {
    cursor: grabbing;
    opacity: .45;
}

.song-library-picker-song.is-staged {
    opacity: .58;
}

.song-library-picker-song.is-in-library {
    cursor: default;
    opacity: .76;
}

.song-library-picker-song.is-staged .song-library-picker-handle {
    color: var(--muted);
}

.song-library-picker-song.is-pending {
    background: color-mix(in srgb, var(--success-text) 5%, var(--surface-deep-soft, var(--surface)));
    border-color: color-mix(in srgb, var(--success-text) 35%, var(--line));
}

.song-library-picker-handle {
    color: var(--accent);
    font-size: 1rem;
    letter-spacing: -.2rem;
}

.song-library-picker-identity {
    min-width: 0;
}

.song-library-picker-identity strong,
.song-library-picker-identity span {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.song-library-picker-identity strong {
    color: var(--text);
    font-size: .87rem;
}

.song-library-picker-identity span {
    color: var(--muted);
    font-size: .74rem;
    margin-top: .12rem;
}

.song-library-picker-song form,
.song-library-picker-song .btn {
    margin: 0;
}

.song-library-picker-song .btn {
    min-width: 4.8rem;
}

.song-library-catalog-batch {
    align-content: start;
    background: transparent;
    border: 0;
    border-top: 1px solid var(--line);
    border-radius: 0;
    display: grid;
    gap: .7rem;
    grid-template-rows: auto auto;
    margin: 0;
    min-height: 0;
    padding: .9rem 0 0;
}

.song-library-picker-selected {
    align-content: start;
    grid-column: 2;
    grid-row: 1;
    grid-template-rows: auto auto;
}

.song-library-catalog-actions { display: grid; gap: .5rem; }
.song-library-catalog-browser .song-library-catalog-review { display: none; }
.song-library-catalog-browser .song-library-catalog-commit-short { display: none; }

/* Respond to available workspace width, including tablets and narrow desktop
   content beside the sidebar, rather than the device's advertised width. */
@container song-catalog (max-width: 850px) {
    .song-library-catalog-picker { grid-template-columns: minmax(0, 1fr); }
    .song-library-catalog-picker > [data-catalog-stage-drop="remove"] { grid-row: 2; }
    .song-library-catalog-browser.is-search-idle [data-catalog-stage-drop="remove"] { grid-row: 1; }
    .song-library-picker-selected {
        background: var(--panel);
        grid-column: 1;
        grid-row: 1;
        position: sticky;
        top: var(--catalog-sticky-top, 80px);
        z-index: 6;
        box-shadow: 0 5px 16px rgba(0, 0, 0, .16);
    }
    .song-library-picker-selected .song-library-picker-pane-heading p { display: none; }
    .song-library-picker-selected .song-library-catalog-batch { padding-top: .65rem; }
    .song-library-catalog-actions { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .song-library-catalog-browser .song-library-catalog-review { display: inline-flex; min-height: 44px; }
    .song-library-catalog-commit { min-height: 44px; }
    .song-library-catalog-commit [data-catalog-commit-full] { display: none; }
    .song-library-catalog-browser .song-library-catalog-commit-short { display: inline; }
    .song-library-catalog-browser .song-library-picker-staged-list { display: none; }
    .song-library-catalog-browser.is-reviewing-selections .song-library-picker-staged-list {
        display: grid;
        max-height: min(32vh, 18rem);
        min-height: 0;
    }
    .song-library-picker-song { grid-template-columns: auto minmax(0, 1fr) auto; }
    .song-library-picker-song .song-library-badge { display: none; }
    .song-library-picker-song .btn { min-height: 44px; }
}

.song-library-picker-staged-list {
    background: color-mix(in srgb, var(--accent) 3%, var(--surface-deep-soft, var(--surface)));
    border: 2px dashed color-mix(in srgb, var(--accent) 45%, var(--line));
    border-radius: 10px;
    grid-auto-rows: max-content;
    max-height: 36rem;
    min-height: 16rem;
    padding: .7rem;
    transition: background-color .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.song-library-picker-staged-list.has-selections {
    min-height: 0;
}

.song-library-picker-staged-list .song-library-picker-song {
    align-self: start;
}

.song-library-picker-staged-list .song-library-picker-empty {
    background: transparent;
    border: 0;
    height: 100%;
    min-height: 100%;
}

.song-library-picker-drop-empty {
    align-self: stretch;
}

.song-library-picker-drop-icon {
    align-items: center;
    background: color-mix(in srgb, var(--accent) 12%, transparent);
    border: 1px solid color-mix(in srgb, var(--accent) 45%, transparent);
    border-radius: 999px;
    color: var(--accent) !important;
    display: flex;
    font-size: 1.35rem !important;
    font-weight: 500;
    height: 2.75rem;
    justify-content: center;
    margin-bottom: .25rem;
    width: 2.75rem;
}

.song-library-catalog-commit {
    align-self: start;
    justify-self: stretch;
    min-height: 48px;
    width: 100%;
}

.song-library-picker-empty {
    align-content: center;
    border: 1px dashed var(--line);
    border-radius: 9px;
    color: var(--muted);
    display: grid;
    gap: .25rem;
    justify-items: center;
    min-height: 12rem;
    padding: 1rem;
    text-align: center;
}

.song-library-picker-empty strong {
    color: var(--text);
}

.song-library-picker-empty span {
    font-size: .78rem;
}

.song-library-catalog-load-more {
    color: var(--muted);
    font-size: .78rem;
    font-weight: 750;
    padding: .7rem;
    text-align: center;
}

.song-library-catalog-pagination {
    align-items: center;
    border-top: 1px solid var(--line);
    display: flex;
    gap: .75rem;
    justify-content: flex-end;
    padding-top: 1rem;
}

.song-library-catalog-pagination span {
    color: var(--muted);
    font-size: .8rem;
}

.song-library-workspace {
    --song-workspace-top: 1rem;
    align-items: start;
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
    min-width: 0;
}

.song-library-list {
    box-shadow: none;
    min-width: 0;
    overflow: hidden;
    padding: 1rem;
    position: sticky;
    top: var(--song-workspace-top);
    max-height: calc(100dvh - var(--song-workspace-top) - 1rem);
    display: flex;
    flex-direction: column;
}

.song-library-list .section-header-row p {
    margin: .15rem 0 0;
}

.song-library-rows {
    display: grid;
    gap: .45rem;
    min-width: 0;
    overflow-x: hidden;
    overflow-y: auto;
    scrollbar-gutter: stable;
    min-height: 0;
}

.song-library-row {
    align-items: center;
    background: var(--surface-soft);
    border: 1px solid var(--line);
    border-left: 3px solid transparent;
    border-radius: 10px;
    color: var(--text);
    display: grid;
    gap: .75rem;
    grid-template-columns: minmax(0, 1.35fr) minmax(76px, .7fr) minmax(68px, .55fr) 18px;
    max-width: 100%;
    min-width: 0;
    padding: .8rem .9rem;
    width: 100%;
}

.song-library-row:hover,
.song-library-row.is-selected {
    background: var(--surface-soft-hover);
    border-color: var(--line-active);
    border-left-color: var(--brand);
    color: var(--text);
}

.song-library-row-main,
.song-library-row-meta,
.song-library-row-performance {
    display: grid;
    gap: .15rem;
    min-width: 0;
}

.song-library-row-main strong,
.song-library-row-main small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.song-library-row-main small,
.song-library-row-meta,
.song-library-row-performance small {
    color: var(--muted);
    font-size: .76rem;
}

.song-library-row-performance {
    text-align: right;
}

.song-library-row-arrow {
    color: var(--muted);
    font-size: 1.5rem;
}

.song-library-badge {
    background: var(--surface-tint);
    border: 1px solid var(--line);
    border-radius: 999px;
    color: var(--text-secondary);
    display: inline-flex;
    font-size: .7rem;
    font-weight: 800;
    padding: .2rem .5rem;
    width: max-content;
}

.song-library-badge.status-active {
    border-color: rgba(20, 184, 166, .35);
    color: var(--success-text);
}

.song-library-badge.status-learning {
    border-color: rgba(245, 158, 11, .35);
    color: var(--warning-text);
}

.song-library-badge.status-retired,
.song-library-badge.status-on_hold {
    color: var(--muted);
}

.song-library-editor {
    display: grid;
    gap: 1rem;
    min-width: 0;
}

.song-library-detail-host {
    align-self: start;
    container-name: song-library-detail;
    container-type: inline-size;
    max-height: calc(100dvh - var(--song-workspace-top) - 1rem);
    min-width: 0;
    overflow-x: hidden;
    overflow-y: auto;
    position: sticky;
    scrollbar-gutter: stable;
    top: var(--song-workspace-top);
}

.song-library-detail > .song-library-back { display: none; }

.song-library-detail-host.is-loading {
    cursor: progress;
    opacity: .58;
    pointer-events: none;
}

.song-library-workspace.is-refreshing .song-library-list {
    cursor: progress;
    opacity: .62;
    pointer-events: none;
}

.song-library-detail {
    display: grid;
    gap: .65rem;
    min-width: 0;
}

.song-library-overview {
    order: 1;
    box-shadow: none;
    overflow: hidden;
    padding: 0;
}

.song-library-editor-card {
    box-shadow: none;
}

.song-library-editor-heading {
    align-items: start;
    background: var(--panel);
    border-bottom: 1px solid var(--line);
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    position: sticky;
    top: 0;
    z-index: 4;
}

.song-library-editor-heading > div:first-child {
    min-width: 0;
}

.song-library-editor-heading h2 {
    overflow-wrap: anywhere;
}

.song-library-heading-actions-inline {
    align-items: center;
    display: flex;
    gap: .6rem;
}

.song-library-editor-close {
    align-items: center;
    background: var(--surface-soft);
    border: 1px solid var(--line);
    border-radius: 999px;
    color: var(--text);
    display: inline-flex;
    flex: 0 0 34px;
    font-size: 1.25rem;
    height: 34px;
    justify-content: center;
}

.song-library-history { border-top: 1px solid var(--line); margin-top: 1rem; padding-top: 1rem; }
.song-library-history ol { list-style: none; margin: 0; padding: 0; display: grid; gap: .65rem; }
.song-library-history li { border: 1px solid var(--line); border-radius: 8px; padding: .75rem; overflow-wrap: anywhere; }
.song-library-history li > div { display: flex; flex-wrap: wrap; gap: .35rem .75rem; }
.song-library-history li p { margin: .35rem 0; font-size: .85rem; }
.song-library-history li small { display: block; color: var(--text-muted, var(--text)); }

.song-library-catalog-callout {
    align-items: center;
    background: rgba(20, 184, 166, .08);
    border: 1px solid rgba(20, 184, 166, .25);
    border-radius: 10px;
    display: flex;
    gap: .75rem;
    margin: 1rem 1.1rem .25rem;
    padding: .8rem;
}

.song-library-metadata {
    display: grid;
    gap: .55rem;
    grid-template-columns: repeat(auto-fit, minmax(112px, 1fr));
    padding: .75rem 1.1rem 1rem;
}

.song-library-metadata-sections {
    display: grid;
}

.song-library-metadata-sections > section + section {
    border-top: 1px solid var(--line);
}

.song-library-metadata-sections > section > header {
    align-items: center;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    padding: .85rem 1.1rem 0;
}

.song-library-metadata-sections h3 {
    color: var(--text);
    font-size: .9rem;
    margin: 0;
}

.song-library-metadata-sections header p {
    color: var(--muted);
    font-size: .72rem;
    margin: .18rem 0 0;
}

.song-library-metadata-sections > section > header > span {
    border: 1px solid var(--line);
    border-radius: 999px;
    color: var(--muted);
    flex: 0 0 auto;
    font-size: .64rem;
    font-weight: 800;
    padding: .2rem .5rem;
    text-transform: uppercase;
}

.song-library-metadata > div {
    background: var(--surface-soft);
    border: 1px solid var(--line);
    border-radius: 9px;
    display: grid;
    gap: .25rem;
    min-width: 0;
    padding: .65rem .7rem;
}

.song-library-metadata > div.is-key-setting,
.song-library-key-setting input {
    border-color: color-mix(in srgb, var(--accent) 55%, var(--line));
}

.song-library-metadata > div.is-key-setting span,
.song-library-key-setting label {
    color: var(--accent);
}

.song-library-form input[aria-invalid="true"] {
    border-color: var(--danger, #ff3b5f);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--danger, #ff3b5f) 20%, transparent);
}

.song-library-metadata span {
    color: var(--muted);
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .045em;
    text-transform: uppercase;
}

.song-library-metadata strong {
    color: var(--text);
    font-size: .88rem;
    overflow-wrap: anywhere;
}

.song-library-metadata strong.is-empty {
    color: var(--muted);
}

.song-library-drawers {
    border-top: 1px solid var(--line);
    gap: .55rem;
    padding: .8rem 1.1rem 1.1rem;
}

.song-library-detail > .song-library-drawers { border-top: 0; padding: 0; }

.song-library-drawer {
    box-shadow: none;
}

.song-library-drawer .widget-accordion-panel-inner {
    min-height: 0;
    padding: 1rem;
}

.song-library-drawer:not(.is-open) > .widget-accordion-panel > .widget-accordion-panel-inner { padding-block: 0; }

.song-library-link-badge {
    align-items: center;
    background: color-mix(in srgb, #8b5cf6 14%, transparent);
    border: 1px solid color-mix(in srgb, #8b5cf6 48%, var(--line));
    border-radius: 999px;
    color: color-mix(in srgb, #8b5cf6 78%, var(--text));
    display: inline-flex;
    font-size: .7rem;
    font-weight: 800;
    padding: .25rem .5rem;
}

.song-library-link-context {
    background: color-mix(in srgb, #8b5cf6 10%, var(--surface-soft));
    border: 1px solid color-mix(in srgb, #8b5cf6 42%, var(--line));
    border-radius: 9px;
    margin: 0 0 .85rem;
    padding: .7rem .8rem;
}

.song-library-profile-form {
    display: grid;
    gap: .85rem;
    min-width: 0;
}

.song-library-profile-group {
    background: var(--surface-soft);
    border: 1px solid var(--line);
    box-sizing: border-box;
    border-radius: 10px;
    max-width: 100%;
    min-width: 0;
    padding: .95rem;
}

.song-library-profile-group > header {
    border-bottom: 1px solid var(--line);
    margin-bottom: .85rem;
    padding-bottom: .7rem;
}

.song-library-profile-group h3 {
    color: var(--text);
    font-size: .96rem;
    margin: 0;
}

.song-library-profile-group header p {
    color: var(--muted);
    font-size: .76rem;
    line-height: 1.4;
    margin: .2rem 0 0;
}

.song-library-profile-group .form-grid {
    gap: .75rem;
}

.song-library-score-grid {
    display: grid;
    gap: .85rem;
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.song-library-score-grid > div {
    grid-column: span 2;
}

.song-library-score-grid > div:nth-child(4) {
    grid-column: 2 / span 2;
}

.song-library-score-grid > div:nth-child(5) {
    grid-column: 4 / span 2;
}

.song-library-score-grid label {
    align-items: flex-end;
    display: flex;
    min-height: 2.5em;
}

.song-library-score-grid input {
    width: 100%;
}

.song-library-score-grid > div,
.song-library-vocal-grid > div {
    min-width: 0;
}

.song-library-vocal-grid {
    align-items: end;
    border-top: 1px solid var(--line);
    display: grid;
    gap: .75rem;
    grid-template-columns: minmax(0, 2fr) minmax(88px, .65fr) minmax(0, 1.35fr);
    margin-top: 1rem;
    padding-top: 1rem;
}

.song-library-profile-notes {
    border-top: 1px solid var(--line);
    margin-top: 1rem;
    padding-top: 1rem;
}

.song-library-profile-notes textarea {
    min-height: 110px;
}

.song-library-profile-group label {
    line-height: 1.25;
}

.song-library-profile-group .song-library-inline-check {
    align-items: end;
    display: flex;
    padding-bottom: .65rem;
}

.song-library-profile-actions {
    align-items: center;
    display: flex;
    justify-content: flex-end;
}

.song-library-profile-actions .btn {
    max-width: 100%;
    margin-top: 0;
}

@container song-library-detail (max-width: 720px) {
    .song-library-profile-group .form-grid > * {
        grid-column: span 6;
    }

    .song-library-score-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .song-library-score-grid > div,
    .song-library-score-grid > div:nth-child(4),
    .song-library-score-grid > div:nth-child(5) {
        grid-column: auto;
    }

    .song-library-score-grid > :last-child:nth-child(odd) {
        grid-column: 1 / -1;
    }

    .song-library-vocal-grid {
        align-items: stretch;
        grid-template-columns: minmax(0, 1fr) minmax(88px, .55fr);
    }

    .song-library-vocal-grid > :last-child {
        grid-column: 1 / -1;
    }
}

@container song-library-detail (max-width: 460px) {
    .song-library-profile-group .form-grid > *,
    .song-library-score-grid > div,
    .song-library-score-grid > div:nth-child(4),
    .song-library-score-grid > div:nth-child(5),
    .song-library-score-grid > :last-child:nth-child(odd) {
        grid-column: 1 / -1;
    }

    .song-library-score-grid,
    .song-library-vocal-grid {
        grid-template-columns: 1fr;
    }

    .song-library-profile-actions .btn {
        width: 100%;
    }
}

.song-library-accordion-tail {
    align-items: center;
    display: flex;
    gap: .65rem;
}

.song-library-ajax-notice {
    border: 1px solid color-mix(in srgb, var(--success-text) 40%, var(--line));
    border-radius: 10px;
    color: var(--success-text);
    font-size: .84rem;
    font-weight: 750;
    padding: .7rem .85rem;
}

.song-library-ajax-notice.is-error {
    border-color: color-mix(in srgb, var(--brand) 45%, var(--line));
    color: var(--brand);
}

.song-library-catalog-callout strong {
    color: var(--success-text);
}

.song-library-catalog-callout p {
    color: var(--text-secondary);
    font-size: .78rem;
    margin: .12rem 0 0;
}

.song-library-catalog-icon {
    color: var(--accent);
    font-size: 1.5rem;
}

.song-library-checks {
    display: grid;
    gap: .65rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 1rem;
}

.song-library-checks label {
    align-items: start;
    background: var(--surface-soft);
    border: 1px solid var(--line);
    border-radius: 10px;
    display: flex;
    gap: .65rem;
    margin: 0;
    padding: .8rem;
    text-transform: none;
}

.song-library-checks label span {
    display: grid;
    gap: .15rem;
}

.song-library-checks small {
    color: var(--muted);
    font-weight: 500;
    letter-spacing: 0;
}

.song-library-inline-check {
    align-self: end;
    padding-bottom: .7rem;
}

.song-library-inline-check label {
    align-items: center;
    display: flex;
    gap: .55rem;
    margin: 0;
}

.song-library-readonly-grid {
    display: grid;
    gap: .65rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 1rem 0 0;
}

.song-library-readonly-grid > div {
    background: var(--surface-soft);
    border: 1px solid var(--line);
    border-radius: 9px;
    padding: .75rem;
}

.song-library-readonly-grid dt {
    color: var(--muted);
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.song-library-readonly-grid dd {
    color: var(--text);
    margin: .25rem 0 0;
    overflow-wrap: anywhere;
}

.song-library-readonly-grid .song-library-readonly-wide {
    grid-column: 1 / -1;
}

.song-library-danger-zone {
    align-items: center;
    border: 0;
    box-shadow: none;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
}

.song-library-danger-zone p {
    font-size: .82rem;
}

.song-library-guidance {
    background: var(--surface-section);
    box-shadow: none;
}

.song-library-guidance li {
    color: var(--text-secondary);
    margin: .55rem 0;
}

.song-library-empty {
    align-items: center;
    background: var(--surface-soft);
    border: 1px dashed var(--line);
    border-radius: 10px;
    color: var(--muted);
    display: grid;
    gap: .25rem;
    justify-items: center;
    padding: 2.5rem 1rem;
    text-align: center;
}

.song-library-empty strong {
    color: var(--text);
}

.song-library-match-review {
    display: grid;
    gap: 1rem;
    padding: 1rem 1.25rem 1.25rem;
}

.song-library-match-review p {
    margin: 0;
}

.song-library-choice-form,
.song-library-choice-card {
    display: grid;
    gap: .85rem;
}

.song-library-choice-card {
    background: var(--surface);
    border: 1px solid var(--line);
    border-left: 3px solid var(--warning-text);
    border-radius: 10px;
    padding: 1rem;
}

.song-library-choice-card > header {
    display: grid;
    gap: .15rem;
}

.song-library-choice-card > header > span,
.song-library-choice-card > header > small {
    color: var(--muted);
    font-size: .75rem;
}

.song-library-choice-card > header > strong {
    color: var(--text);
    font-size: 1.15rem;
}

.song-library-choice-card > p {
    color: var(--warning-text);
    font-size: .82rem;
    font-weight: 750;
}

.song-library-choice-options {
    display: grid;
    gap: .6rem;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}

.song-library-choice-options label {
    align-items: flex-start;
    background: var(--surface-soft);
    border: 1px solid var(--line);
    border-radius: 9px;
    cursor: pointer;
    display: flex;
    gap: .65rem;
    margin: 0;
    padding: .8rem;
    transition: background-color .18s ease, border-color .18s ease;
}

.song-library-choice-options label:hover,
.song-library-choice-options label:has(input:checked) {
    background: var(--surface-tint);
    border-color: var(--brand);
}

.song-library-choice-options input {
    accent-color: var(--brand);
    flex: 0 0 auto;
    height: 1rem;
    margin-top: .15rem;
    width: 1rem;
}

.song-library-choice-options span {
    display: grid;
    gap: .18rem;
}

.song-library-choice-options strong {
    color: var(--text);
    font-size: .86rem;
}

.song-library-choice-options small {
    color: var(--muted);
    font-size: .73rem;
    line-height: 1.35;
}

.song-library-automatic-result {
    align-items: center;
    background: color-mix(in srgb, var(--success-text) 8%, var(--surface));
    border: 1px solid color-mix(in srgb, var(--success-text) 45%, var(--line));
    border-left: 3px solid var(--success-text);
    border-radius: 10px;
    display: grid;
    gap: .2rem .85rem;
    grid-template-columns: minmax(130px, .55fr) minmax(180px, 1fr) minmax(180px, 1fr) minmax(260px, 1.5fr);
    padding: 1rem;
}

.song-library-automatic-result span,
.song-library-automatic-result small {
    color: var(--muted);
    font-size: .75rem;
}

.song-library-automatic-result span {
    font-weight: 800;
    text-transform: uppercase;
}

.song-library-automatic-result strong {
    color: var(--text);
}

.song-library-automatic-result b {
    color: var(--success-text);
    font-size: .78rem;
}

.song-library-match-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
}

.song-library-match-cancel {
    border-top: 1px solid var(--line);
    padding-top: 1rem;
}

@media (max-width: 1180px) {
    .song-library-workspace {
        grid-template-columns: minmax(260px, .85fr) minmax(0, 1.15fr);
    }
    .song-library-row { grid-template-columns: minmax(0, 1fr) auto 16px; gap: .45rem; }
    .song-library-row-performance { display: none; }

    .song-library-filters {
        grid-template-columns: minmax(240px, 1fr) repeat(2, minmax(150px, .5fr)) auto;
    }

    .song-library-catalog-filters {
        grid-template-columns: minmax(180px, 1fr) minmax(130px, 170px) auto;
    }

    .song-library-catalog-filters .btn-light { display: none; }
}

@media (max-width: 900px) {
    .song-library-workspace { --song-workspace-top: 80px; }
    .song-library-row { grid-template-columns: minmax(0, 1fr) auto 16px; gap: .45rem; }
    .song-library-row-performance { display: none; }
}

@media (max-width: 780px) {
    .song-library-workspace { grid-template-columns: minmax(0, 1fr); scroll-margin-top: 80px; }
    .song-library-list, .song-library-detail-host { position: static; max-height: none; overflow: visible; }
    .song-library-rows { overflow: visible; }
    .song-library-workspace:not(.has-selection) .song-library-detail-host,
    .song-library-workspace.has-selection .song-library-list,
    .song-library-page.has-song-selection > .song-library-stats,
    .song-library-page.has-song-selection > .song-library-paths,
    .song-library-page.has-song-selection > .music-list-tools { display: none; }
    .song-library-detail > .song-library-back { display: inline-flex; justify-self: start; min-height: 44px; position: sticky; top: 72px; z-index: 5; background: var(--panel); }
    .song-library-editor-heading { position: static; flex-wrap: wrap; gap: .65rem; }
    .song-library-heading-actions-inline { flex-wrap: wrap; }
    .song-library-editor-close { display: none; }
    .song-library-back { order: -3; }
    .song-library-editor-heading { order: -2; }
    .song-library-ajax-notice { order: -1; }
    .song-library-overview { order: 1; }
    .song-library-heading {
        align-items: stretch;
        flex-direction: column;
    }

    .song-library-heading .btn {
        width: 100%;
    }

    .song-library-stats {
        grid-template-columns: repeat(auto-fit, minmax(95px, 1fr));
        gap: .45rem;
    }
    .song-library-stat { padding: .6rem; }
    .song-library-stat:nth-child(n + 4) { display: none; }

    .song-library-paths > div {
        grid-template-columns: 1fr;
    }

    .song-library-filters,
    .song-library-catalog-filters,
    .song-library-checks,
    .song-library-readonly-grid {
        grid-template-columns: 1fr;
    }

    .song-library-filters .btn {
        width: 100%;
    }

    .song-library-catalog-heading {
        align-items: stretch;
        flex-direction: column;
    }

    .song-library-catalog-picker {
        grid-template-columns: 1fr;
    }

    .song-library-catalog-browser .music-search-row {
        flex-wrap: wrap;
    }

    .song-library-catalog-browser .music-search-row > input {
        flex: 1 1 100%;
        width: 100%;
    }

    .song-library-picker-song {
        grid-template-columns: auto minmax(0, 1fr) auto;
    }

    .song-library-picker-song .song-library-badge {
        display: none;
    }

    .song-library-row {
        grid-template-columns: minmax(0, 1fr) auto 16px;
    }

    .song-library-row-performance {
        display: none;
    }

    .song-library-row-meta {
        justify-items: end;
    }

    .song-library-form .form-grid > * {
        grid-column: span 12;
    }

    .song-library-score-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .song-library-score-grid > div,
    .song-library-score-grid > div:nth-child(4),
    .song-library-score-grid > div:nth-child(5) {
        grid-column: auto;
    }

    .song-library-score-grid > :last-child:nth-child(odd) {
        grid-column: 1 / -1;
    }

    .song-library-vocal-grid {
        align-items: stretch;
        grid-template-columns: 1fr;
    }

    .song-library-choice-options,
    .song-library-automatic-result {
        grid-template-columns: 1fr;
    }

    .song-library-danger-zone {
        align-items: stretch;
        flex-direction: column;
    }

    .song-library-danger-zone .btn {
        width: 100%;
    }

    .song-library-match-option {
        align-items: start;
        grid-template-columns: auto minmax(0, 1fr);
    }

    .song-library-match-option b {
        grid-column: 2;
        justify-self: start;
    }
}
/* Export options live in Bandspace Settings; keep the shared download dialog. */
.song-library-export-dialog { width:min(560px,calc(100vw - 24px)); }
.song-library-export-dialog .venue-update-form { min-width:0; }
.song-library-export-scopes { border:0; padding:0; margin:0; min-width:0; display:grid; gap:.65rem; }
.song-library-export-scopes legend { margin-bottom:.6rem; font-weight:700; }
.song-library-export-scopes label { display:flex; align-items:flex-start; gap:.7rem; padding:.85rem; margin:0; border:1px solid var(--line); border-radius:10px; cursor:pointer; min-height:44px; }
.song-library-export-scopes label:has(input:checked) { border-color:var(--accent); background:var(--surface-tint); }
.song-library-export-scopes input[type=radio] { flex:none; width:18px; height:18px; min-height:0; margin:.2rem 0 0; }
.song-library-export-scopes strong,.song-library-export-scopes small { display:block; line-height:1.4; }
.song-library-export-scopes small { margin-top:.25rem; color:var(--muted); font-weight:400; }
.song-library-export-privacy { font-size:.8rem; line-height:1.45; }
.song-library-export-dialog .actions { display:flex; flex-wrap:wrap; gap:.65rem; }
.song-library-export-dialog .actions .btn { min-height:44px; }
.song-library-sources { border:1px solid var(--line); border-radius:10px; margin-bottom:1rem; padding:.8rem; min-width:0; }
.song-library-sources summary { cursor:pointer; font-weight:700; min-height:44px; display:flex; align-items:center; flex-wrap:wrap; gap:.5rem; }
.song-library-sources summary span { color:var(--muted); font-size:.75rem; font-weight:400; }
.song-library-source-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr)); gap:.65rem; }
.song-library-source-row { min-width:0; padding:.65rem; border:1px solid var(--line); border-radius:8px; }
.song-library-source-row header { display:flex; flex-wrap:wrap; align-items:center; gap:.4rem; justify-content:space-between; }
.song-library-source-row dl { margin:.6rem 0 0; display:grid; gap:.3rem; font-size:.8rem; }
.song-library-source-row dl>div { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:.5rem; }
.song-library-source-row dt { color:var(--muted); }
.song-library-source-row dd { margin:0; overflow-wrap:anywhere; }
.song-library-sources .actions { margin-top:.8rem; }
.song-library-sources .btn { min-height:44px; }
.song-library-sources [hidden] { display:none; }
.song-library-sources [data-performance-sources-status] { font-size:.8rem; }
