/* NOTIFICATIONS: the bell in the top menu, the list page and the administrator's page */

#notiBell .noti-count {
    position: absolute;
    top: 10px;
    right: -4px;
    min-width: 17px;
    height: 17px;
    padding: 0 4px;
    border-radius: 9px;
    background: #fa5c7c;
    color: #fff;
    font-size: .65rem;
    font-weight: 600;
    line-height: 17px;
    text-align: center;
}

/* the playlist icon: a dot while a playlist is active, the switch list */
#plMenu .pl-dot {
    position: absolute;
    top: 17px;
    right: -3px;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #0acf97;
    box-shadow: 0 0 0 2px var(--ct-topbar-bg, #fff);
}

#plMenu .pl-current {
    display: inline-block;
    max-width: 130px;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: middle;
    white-space: nowrap;
}

/* the dropdown: sections (tools, playlists, songs) under small headings */
#plMenu .pl-section {
    padding: 12px 12px 10px;
    border-bottom: 1px solid rgba(128, 128, 128, .2);
}

#plMenu .pl-section.pb-0 {
    border-bottom: 0;
}

#plMenu .pl-section-title {
    margin-bottom: 8px;
    color: var(--ct-text-muted, #98a6ad);
    font-size: .7rem;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
}

#plMenu .pl-manage {
    font-size: .75rem;
    font-weight: 500;
    letter-spacing: 0;
    text-transform: none;
}

/* tools: tiles side by side (one tile takes the whole width) */
#plMenu .pl-tools {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(0, 1fr);
    gap: 8px;
}

#plMenu .pl-tool {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    min-height: 74px;
    padding: 10px 8px;
    border: 1px solid rgba(128, 128, 128, .22);
    border-radius: 8px;
    color: inherit;
    font-size: .8125rem;
    font-weight: 500;
    line-height: 1.25;
    text-align: center;
    transition: background-color .15s, border-color .15s;
}

#plMenu .pl-tool:hover,
#plMenu .pl-tool:focus-visible {
    border-color: rgba(114, 124, 245, .55);
    background: rgba(114, 124, 245, .08);
}

#plMenu .pl-tool > .mdi {
    font-size: 1.5rem;
    line-height: 1;
}

#plMenu .pl-tool .badge {
    position: absolute;
    top: 6px;
    right: 6px;
    margin: 0 !important;
    font-size: .6rem;
}

/* playlists: a short list that scrolls when there are many */
#plMenu .pl-list {
    max-height: 200px;
    margin: 0 -4px;
    overflow-y: auto;
}

#plMenu .pl-list .pl-row {
    padding: 6px 8px;
    border-radius: 6px;
}

#plMenu .pl-locked {
    padding: 0 2px 2px;
}

#plMenu .pl-row {
    display: flex;
    align-items: center;
}

#plMenu .pl-row .pl-name-text {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

#plMenu .pl-row.pl-active {
    background: rgba(10, 207, 151, .09);
    font-weight: 600;
    cursor: default;
}

/* dropdown rows */
.noti-row .notify-details {
    white-space: normal;
    line-height: 1.35;
}

.noti-row .notify-details small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
}

.noti-row.noti-unread {
    background: rgba(var(--ct-primary-rgb, 114, 124, 245), .08);
}

.noti-row.noti-unread .notify-details {
    font-weight: 600;
}

.noti-row.noti-unread .notify-details small {
    font-weight: 400;
}

/* the page with all notifications */
.noti-card {
    border-left: 4px solid transparent;
    transition: opacity .25s;
}

.noti-card.noti-unread {
    border-left-color: #727cf5;
    background: rgba(var(--ct-primary-rgb, 114, 124, 245), .05);
}

.noti-card .noti-icon {
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    color: #fff;
    font-size: 1.25rem;
    line-height: 40px;
    text-align: center;
}

.noti-card .noti-text {
    white-space: pre-line;
    word-break: break-word;
}

.noti-card.noti-removing {
    opacity: 0;
}

/* administrator: sent messages */
.nm-body-excerpt {
    max-width: 380px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
