.wm-messages { max-width: 720px; margin: 0 auto; padding: 16px 14px 28px; color: #233449; }
.wm-heading, .wm-card-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.wm-heading { margin-bottom: 16px; }
.wm-heading h2 { margin: 0; font-size: 22px; line-height: 1.3; }
.wm-heading p, .wm-conversation p, .wm-details p { margin: 6px 0; }
.wm-heading p, .wm-meta, .wm-card-top time { color: #697a90; font-size: 13px; line-height: 1.5; }
.wm-heading .btn { flex-shrink: 0; margin: 0; padding: 10px 12px; }
.wm-conversation, .wm-details, .wm-reply, .wm-entry, .wm-empty { display: block; background: #fff; border: 1px solid #dce4ed; border-radius: 10px; padding: 16px; margin-bottom: 12px; box-shadow: 0 2px 6px rgba(32,55,80,.04); }
.wm-conversation { color: inherit; }
.wm-conversation h3, .wm-details h3 { margin: 8px 0; font-size: 17px; line-height: 1.5; overflow-wrap: anywhere; }
.wm-conversation p { font-size: 14px; color: #53657a; }
.wm-conversation .wm-card-top { flex-wrap: wrap; font-size: 13px; }
.wm-badge { background: #dcecfb; color: #1d5e9c; font-size: 12px; border-radius: 12px; padding: 3px 8px; }
.wm-badge[data-status=Completed] { background: #e1f2e8; color: #286342; }
.wm-badge[data-status=Cancelled], .wm-badge[data-priority=Low] { background: #edf0f4; color: #5c6878; }
.wm-badge[data-priority=High] { background: #fce7e7; color: #9b3030; }
.wm-update { margin-top: 16px; }
.wm-update label { display: block; font-size: 14px; font-weight: 600; }
.wm-update select { width: 100%; height: 42px; margin: 6px 0 12px; padding: 8px; font-size: 16px; border: 1px solid #cbd7e5; border-radius: 6px; background: #fff; }
.wm-update button { margin: 0; padding: 10px 14px; }
.wm-back { display: inline-block; padding: 4px 0 16px; }
.wm-reply label { display: block; font-size: 14px; font-weight: 600; margin-bottom: 8px; }
.wm-reply textarea { width: 100%; min-height: 115px; font-size: 16px; border: 1px solid #cbd7e5; border-radius: 7px; padding: 12px; margin-bottom: 16px; }
.wm-reply input[type=file] { width: 100%; font-size: 14px; margin: 0 0 8px; }
.wm-reply button[type=submit] { margin: 12px 0 0; padding: 13px; font-size: 16px; }
.wm-error { color: #b33232; font-size: 14px; white-space: pre-wrap; }
.wm-preview img, .wm-attachment { display: block; max-width: 100%; max-height: 280px; object-fit: contain; border-radius: 6px; margin: 12px 0; }
.wm-preview[hidden] { display: none; }
.wm-history-title { font-size: 16px; margin: 24px 0 14px; }
.wm-history-title span { display: block; margin-top: 4px; font-weight: normal; }
.wm-entry .wm-card-top { align-items: flex-start; flex-wrap: wrap; font-size: 14px; }
.wm-own { border-left: 3px solid #2b77ba; background: #f7fbff; }
.wm-body { white-space: pre-wrap; overflow-wrap: anywhere; color: #233449; line-height: 1.65; font-size: 15px; margin: 12px 0 0; }
.wm-empty { text-align: center; padding: 30px 20px; }
.wm-empty h3 { font-size: 18px; }
.wm-empty p { font-size: 14px; }
.wm-pager { text-align: center; padding: 12px 0; line-height: 2.5; }
.wm-pager ul { padding: 0; }
.wm-pager li { display: inline; margin: 3px; }
.wm-pager a { padding: 7px 9px; }
.wm-header-link { position: relative; z-index: 2; font-size: 14px; line-height: 44px; padding-right: 12px; }
.wm-header-link .wm-badge:empty { display: none; }
@media (max-width: 400px) { .wm-messages { padding: 14px 10px; } .wm-conversation, .wm-details, .wm-reply, .wm-entry { padding: 13px; } .wm-heading h2 { font-size: 20px; } }
