.message-list {
    list-style: none;
    padding: 0;
    margin: 0
}

.message-item {
    padding: .427rem;
    border-bottom: .027rem solid var(--light-gray, #f0f0f0);
    cursor: pointer;
    transition: background-color .3s;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    position: relative
}

.message-item:hover {
    background-color: var(--gold-light, #fff7e6)
}

.message-preview {
    flex: 1;
    min-width: 0;
    padding-right: .267rem
}

.message-subject {
    font-size: .427rem;
    font-weight: 600;
    margin-bottom: .213rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis
}

.message-subject.unread {
    color: var(--primary, #1989fa)
}

.message-subject:not(.unread) {
    color: var(--dark, #333);
    font-weight: 400
}

.message-excerpt {
    font-size: .373rem;
    color: var(--gray, #666);
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis
}

.message-time {
    font-size: .32rem;
    color: var(--gray, #666);
    white-space: nowrap;
    display: flex;
    align-items: center;
    position: relative;
    padding-right: .4rem
}

.message-time.unread {
    color: var(--primary, #1989fa);
    font-weight: 500
}

.unread-badge {
    position: absolute;
    top: 0;
    right: 0;
    width: .213rem;
    height: .213rem;
    border-radius: 50%;
    background-color: var(--secondary, #ee0a24)
}

.message-content {
    padding: .533rem;
    max-height: 70vh;
    min-height: 50vh;
    overflow-y: auto
}

.message-header {
    margin-bottom: .533rem;
    padding-bottom: .533rem;
    border-bottom: .027rem solid var(--light-gray, #f0f0f0)
}

.message-title {
    font-size: .533rem;
    font-weight: 600;
    color: var(--dark, #333);
    margin-bottom: .267rem;
    line-height: 1.4
}

.message-meta {
    display: flex;
    align-items: center;
    margin-bottom: .267rem
}

.message-date {
    color: var(--gray, #666);
    font-size: .373rem
}

.message-body {
    line-height: 1.7;
    font-size: .4rem;
    color: var(--dark, #333)
}

.message-body p {
    margin-bottom: 1em
}

.message-body ul {
    margin-bottom: 1.5rem;
    margin-left: 1.5rem;
    list-style-type: disc
}

.message-body li {
    margin-bottom: .5em
}

.empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 1.6rem .533rem;
    text-align: center
}

.empty-text {
    margin-top: .533rem;
    color: var(--gray, #666);
    font-size: .427rem
}

.loading-state {
    display: flex;
    justify-content: center;
    padding: 1.067rem .533rem;
    font-size: .373rem
}