.uw-playlist,
.uw-playlist * { box-sizing: border-box; }

.uw-playlist {
    --uw-cyan: #007587;
    --uw-cyan-light: #0ea5a5;
    --uw-text: #102c31;
    --uw-muted: #718287;
    --uw-line: rgba(16,44,49,.09);
    position: relative;
    width: min(760px, 100%);
    margin: 30px auto;
    overflow: hidden;
    padding: 30px;
    border: 1px solid rgba(255,255,255,.35);
    border-radius: 28px;
    background: rgba(255,255,255,.96);
    box-shadow: 0 24px 70px rgba(0,0,0,.16);
    color: var(--uw-text);
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.uw-playlist__glow {
    position: absolute;
    width: 320px;
    height: 220px;
    top: -140px;
    right: -70px;
    background: var(--uw-cyan-light);
    filter: blur(75px);
    opacity: .15;
    pointer-events: none;
}

.uw-playlist__head {
    position: relative;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 25px;
}

.uw-playlist__eyebrow {
    color: var(--uw-cyan);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .18em;
}

.uw-playlist h2 {
    margin: 4px 0 0;
    color: var(--uw-text);
    font-size: clamp(29px, 5vw, 40px);
    line-height: 1;
}

.uw-playlist__head p {
    margin: 8px 0 0;
    color: var(--uw-muted);
    font-size: 13px;
}

.uw-playlist__live {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 11px;
    border-radius: 999px;
    background: rgba(0,117,135,.08);
    color: var(--uw-cyan);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .13em;
}

.uw-playlist__live span,
.uw-footer-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #e53935;
    box-shadow: 0 0 0 4px rgba(229,57,53,.10);
    animation: uw-playlist-pulse 1.5s infinite;
}

.uw-playlist__filters {
    position: relative;
    display: grid;
    grid-template-columns: 165px auto minmax(220px, 1fr);
    align-items: end;
    gap: 10px;
    padding: 15px;
    border: 1px solid var(--uw-line);
    border-radius: 18px;
    background: #f7fafb;
}

.uw-playlist__filters label span {
    display: block;
    margin: 0 0 6px 2px;
    color: var(--uw-muted);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .10em;
    text-transform: uppercase;
}

.uw-playlist input {
    width: 100%;
    height: 42px;
    min-width: 0;
    border: 1px solid rgba(16,44,49,.13);
    border-radius: 11px;
    background: #fff;
    color: var(--uw-text);
    padding: 0 12px;
    font: inherit;
    font-size: 14px;
    outline: none;
}

.uw-playlist input:focus {
    border-color: var(--uw-cyan);
    box-shadow: 0 0 0 3px rgba(0,117,135,.11);
}

.uw-today,
.uw-prev,
.uw-next {
    min-height: 42px;
    border: 1px solid rgba(0,117,135,.15);
    border-radius: 11px;
    background: #fff;
    color: var(--uw-cyan);
    padding: 0 14px;
    font: inherit;
    font-weight: 750;
    cursor: pointer;
    transition: background .15s ease, transform .15s ease, border-color .15s ease;
}

.uw-today:hover,
.uw-prev:hover,
.uw-next:hover {
    background: rgba(0,117,135,.07);
    border-color: rgba(0,117,135,.28);
}

.uw-prev:disabled,
.uw-next:disabled { cursor: default; opacity: .38; }

.uw-playlist__meta {
    position: relative;
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    padding: 24px 3px 13px;
}

.uw-count { font-size: 17px; }
.uw-status { color: var(--uw-muted); font-size: 11px; }

.uw-playlist__list {
    position: relative;
    overflow: hidden;
    border-top: 1px solid var(--uw-line);
    border-bottom: 1px solid var(--uw-line);
    border-radius: 13px;
}

.uw-playlist__row {
    display: grid;
    grid-template-columns: 82px minmax(0, 1fr);
    align-items: center;
    min-height: 67px;
    padding: 11px 16px;
    border-top: 1px solid var(--uw-line);
    background: #fff;
}

.uw-playlist__row:first-child { border-top: 0; }
.uw-playlist__row.is-current { background: linear-gradient(90deg, rgba(0,117,135,.075), rgba(14,165,165,.025)); }

.uw-time {
    color: var(--uw-cyan);
    font-size: 13px;
    font-weight: 800;
    white-space: nowrap;
}

.uw-artist {
    min-width: 0;
    overflow-wrap: anywhere;
    color: var(--uw-text);
    font-size: 14px;
    font-weight: 750;
}

.uw-title {
    min-width: 0;
    margin-top: 2px;
    overflow-wrap: anywhere;
    color: #62757a;
    font-size: 13px;
}

.uw-playlist__empty {
    padding: 28px 18px;
    color: var(--uw-muted);
    text-align: center;
    font-size: 13px;
}

.uw-playlist__pager {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin-top: 18px;
}

.uw-page {
    min-width: 58px;
    color: var(--uw-muted);
    text-align: center;
    font-size: 12px;
    font-weight: 750;
}

.uw-playlist__footer {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    margin-top: 15px;
    color: var(--uw-muted);
    font-size: 10px;
}

.uw-footer-dot {
    width: 6px;
    height: 6px;
    background: #22a06b;
    box-shadow: none;
}

@keyframes uw-playlist-pulse {
    50% { opacity: .45; transform: scale(.8); }
}

@media (max-width: 650px) {
    .uw-playlist { padding: 23px 17px; border-radius: 23px; }
    .uw-playlist__filters { grid-template-columns: 1fr auto; }
    .uw-search-wrap { grid-column: 1 / -1; }
}

@media (max-width: 420px) {
    .uw-playlist__head { gap: 10px; }
    .uw-playlist__live { padding: 6px 9px; font-size: 9px; }
    .uw-playlist__row { grid-template-columns: 66px minmax(0, 1fr); padding: 10px 11px; }
    .uw-time { font-size: 12px; }
    .uw-artist { font-size: 13px; }
    .uw-title { font-size: 12px; }
}
