/* Message Center: Outlook-style list + reading pane, and the help desk thread. */

.msg-center {
    display: grid;
    grid-template-columns: minmax(280px, 380px) 1fr;
    gap: 1rem;
    min-height: 60vh;
}

@media (max-width: 991.98px) {
    .msg-center { grid-template-columns: 1fr; }
}

.msg-list, .msg-read { display: flex; flex-direction: column; overflow: hidden; }

.msg-toolbar {
    display: flex;
    gap: .5rem;
    align-items: center;
    padding: .6rem;
    border-bottom: 1px solid var(--bs-border-color);
}

.msg-toolbar input { flex: 1; min-width: 0; }

.msg-none { padding: 1.5rem; color: var(--bs-secondary-color); text-align: center; }

.msg-items { list-style: none; margin: 0; padding: 0; overflow-y: auto; max-height: 72vh; }

.msg-item {
    padding: .6rem .8rem;
    border-bottom: 1px solid var(--bs-border-color-translucent);
    border-left: 3px solid transparent;
    cursor: pointer;
}

.msg-item:hover { background: var(--bs-tertiary-bg); }
.msg-item.active { background: var(--bs-primary-bg-subtle); border-left-color: var(--bs-primary); }
.msg-item.unread .msg-who, .msg-item.unread .msg-subject { font-weight: 700; }
.msg-item.unread { border-left-color: var(--bs-primary); }

.msg-item-top { display: flex; justify-content: space-between; gap: .5rem; font-size: .875rem; }
.msg-who { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.msg-when { color: var(--bs-secondary-color); white-space: nowrap; font-size: .8rem; }
.msg-subject { font-size: .9rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.msg-snippet { font-size: .8rem; color: var(--bs-secondary-color); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.msg-badges { display: flex; gap: .25rem; flex-wrap: wrap; margin-top: .25rem; }
.msg-badges:empty { display: none; }

.msg-read { padding: 1rem; }

.msg-read-head {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: .5rem;
    align-items: center;
    margin-bottom: .75rem;
}

.msg-read-head h2 { font-size: 1.15rem; margin: 0; }

.msg-moderate {
    border: 1px solid var(--bs-warning-border-subtle);
    background: var(--bs-warning-bg-subtle);
    border-radius: .5rem;
    padding: .75rem;
    margin-bottom: 1rem;
}

.msg-thread, .ticket-thread { display: flex; flex-direction: column; gap: .75rem; }

.msg-entry, .ticket-entry {
    border: 1px solid var(--bs-border-color);
    border-radius: .5rem;
    padding: .75rem;
    background: var(--bs-body-bg);
}

.msg-entry.mine { background: var(--bs-tertiary-bg); }
.msg-entry.current { border-color: var(--bs-primary-border-subtle); }

.msg-entry header, .ticket-entry header { display: flex; gap: .5rem; align-items: baseline; margin-bottom: .4rem; flex-wrap: wrap; }
.msg-entry footer, .ticket-entry footer { margin-top: .5rem; }

.msg-body { white-space: pre-wrap; word-break: break-word; }

.msg-reply { margin-top: 1rem; }

.ticket-entry.response { border-left: 4px solid var(--bs-primary); }
.ticket-entry.note { border-left: 4px solid var(--bs-warning); background: var(--bs-warning-bg-subtle); }
.ticket-entry.message { border-left: 4px solid var(--bs-secondary); }
