/* SoundNation V12.2 – Playlist Song Picker */
body.playlist-song-picker-open{
    overflow:hidden;
}

.library-detail-actions{
    display:flex;
    align-items:center;
    gap:10px;
    margin-left:auto;
    flex-wrap:wrap;
    justify-content:flex-end;
}

.sn-playlist-add-songs-btn{
    display:inline-flex;
    align-items:center;
    gap:8px;
}

.sn-playlist-song-picker{
    position:fixed;
    inset:0;
    z-index:10050;
    display:none;
    align-items:center;
    justify-content:center;
    padding:18px;
}

.sn-playlist-song-picker.show{
    display:flex;
}

.sn-playlist-song-picker-backdrop{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.78);
    backdrop-filter:blur(6px);
}

.sn-playlist-song-picker-panel{
    position:relative;
    width:min(760px, 100%);
    height:min(82vh, 820px);
    background:#11141a;
    border:1px solid rgba(255,255,255,.1);
    border-radius:20px;
    box-shadow:0 24px 80px rgba(0,0,0,.55);
    overflow:auto;
    overscroll-behavior:contain;
}

.sn-playlist-song-picker-head{
    position:sticky;
    top:0;
    z-index:4;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:16px 18px;
    background:rgba(17,20,26,.97);
    border-bottom:1px solid rgba(255,255,255,.08);
    backdrop-filter:blur(14px);
}

.sn-playlist-song-picker-title-wrap{
    display:flex;
    align-items:center;
    min-width:0;
    gap:12px;
}

.sn-playlist-song-picker-title-wrap h2{
    margin:2px 0 1px;
    font-size:19px;
    line-height:1.2;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    max-width:460px;
}

.sn-playlist-song-picker-title-wrap small{
    color:rgba(255,255,255,.58);
}

.sn-playlist-song-picker-close{
    width:40px;
    height:40px;
    flex:0 0 40px;
    border:0;
    border-radius:50%;
    background:rgba(255,255,255,.08);
    color:#fff;
    cursor:pointer;
}

.sn-playlist-song-picker-add{
    display:inline-flex;
    align-items:center;
    gap:8px;
    white-space:nowrap;
}

.sn-playlist-song-picker-add:disabled{
    opacity:.45;
    cursor:not-allowed;
}

.sn-playlist-song-picker-tools{
    position:sticky;
    top:73px;
    z-index:3;
    display:flex;
    gap:10px;
    padding:12px 18px;
    background:rgba(17,20,26,.96);
    border-bottom:1px solid rgba(255,255,255,.06);
    backdrop-filter:blur(14px);
}

.sn-playlist-song-picker-search{
    flex:1;
    min-width:0;
    display:flex;
    align-items:center;
    gap:9px;
    padding:0 13px;
    border:1px solid rgba(255,255,255,.1);
    border-radius:12px;
    background:rgba(255,255,255,.055);
}

.sn-playlist-song-picker-search i{
    color:rgba(255,255,255,.45);
}

.sn-playlist-song-picker-search input{
    width:100%;
    min-width:0;
    padding:12px 0;
    border:0;
    outline:0;
    background:transparent;
    color:#fff;
}

.sn-playlist-song-picker-status{
    padding:10px 18px 4px;
    color:rgba(255,255,255,.55);
    font-size:12px;
}

.sn-playlist-song-picker-list{
    padding:8px 14px 22px;
}

.sn-playlist-song-picker-row{
    display:grid;
    grid-template-columns:34px minmax(0,1fr) auto auto;
    align-items:center;
    gap:10px;
    min-height:62px;
    padding:8px 10px;
    border-bottom:1px solid rgba(255,255,255,.055);
}

.sn-playlist-song-picker-row:hover{
    background:rgba(255,255,255,.035);
}

.sn-playlist-song-picker-row.is-existing{
    opacity:.62;
}

.sn-playlist-song-picker-check{
    display:grid;
    place-items:center;
    cursor:pointer;
}

.sn-playlist-song-picker-check input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}

.sn-playlist-song-picker-box{
    width:21px;
    height:21px;
    border-radius:6px;
    border:1px solid rgba(255,255,255,.28);
    background:rgba(255,255,255,.04);
    position:relative;
}

.sn-playlist-song-picker-check input:checked + .sn-playlist-song-picker-box{
    background:#fff;
    border-color:#fff;
}

.sn-playlist-song-picker-check input:checked + .sn-playlist-song-picker-box::after{
    content:"";
    position:absolute;
    left:7px;
    top:3px;
    width:5px;
    height:10px;
    border:solid #0b0d11;
    border-width:0 2px 2px 0;
    transform:rotate(45deg);
}

.sn-playlist-song-picker-meta{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:3px;
}

.sn-playlist-song-picker-meta strong,
.sn-playlist-song-picker-meta small{
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.sn-playlist-song-picker-meta small{
    color:rgba(255,255,255,.55);
}

.sn-playlist-song-picker-existing{
    display:inline-flex;
    align-items:center;
    gap:5px;
    color:rgba(255,255,255,.55);
    font-size:12px;
    white-space:nowrap;
}

.sn-playlist-song-picker-preview{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-width:100px;
    padding:9px 11px;
    border:1px solid rgba(255,255,255,.11);
    border-radius:999px;
    background:rgba(255,255,255,.055);
    color:#fff;
    cursor:pointer;
}

.sn-playlist-song-picker-preview.active{
    background:#fff;
    color:#0b0d11;
}

.sn-playlist-song-picker-empty{
    padding:46px 16px;
    text-align:center;
    color:rgba(255,255,255,.55);
}

@media (max-width:700px){
    .library-detail-actions{
        width:100%;
        justify-content:flex-start;
        margin-left:0;
    }

    .sn-playlist-song-picker{
        align-items:flex-end;
        padding:0;
    }

    .sn-playlist-song-picker-panel{
        width:100%;
        height:92dvh;
        border-radius:22px 22px 0 0;
    }

    .sn-playlist-song-picker-head{
        padding:13px 14px;
    }

    .sn-playlist-song-picker-title-wrap h2{
        max-width:46vw;
        font-size:16px;
    }

    .sn-playlist-song-picker-add{
        padding-left:12px;
        padding-right:12px;
    }

    .sn-playlist-song-picker-tools{
        top:67px;
        padding:10px 14px;
        flex-wrap:wrap;
    }

    .sn-playlist-song-picker-tools .secondary-btn{
        width:100%;
    }

    .sn-playlist-song-picker-row{
        grid-template-columns:30px minmax(0,1fr) auto;
        gap:8px;
    }

    .sn-playlist-song-picker-existing{
        display:none;
    }

    .sn-playlist-song-picker-preview{
        min-width:42px;
        width:42px;
        height:42px;
        padding:0;
        border-radius:50%;
    }

    .sn-playlist-song-picker-preview span{
        display:none;
    }
}
