.messages-page { padding: 28px 18px 60px; min-height: calc(100vh - 220px); }
.messages-shell { width: min(1180px, 100%); margin: 0 auto; }
.messages-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:20px; margin-bottom:22px; }
.messages-eyebrow { display:block; color:#8b6914; text-transform:uppercase; letter-spacing:1.5px; font-size:11px; font-weight:800; margin-bottom:6px; }
.messages-heading h1 { color:#123d73; font-family:Georgia,"Times New Roman",serif; font-size:clamp(30px,5vw,48px); margin-bottom:7px; }
.messages-heading p,.panel-toolbar p,.conversation-sidebar-header p { color:#64748b; line-height:1.55; }
.messages-back-button,.small-action { border:1px solid #cbd5e1; background:#fff; color:#123d73; border-radius:8px; padding:9px 14px; cursor:pointer; font-weight:700; }
.messages-login-notice { padding:12px 15px; border-radius:10px; background:#fff8e1; border:1px solid #e6cf83; color:#6b4f0b; margin-bottom:18px; }
.messages-tabs { display:flex; gap:6px; overflow-x:auto; padding:6px; background:#fff; border:1px solid #dbe5f0; border-radius:12px; box-shadow:0 4px 14px rgba(15,23,42,.05); margin-bottom:18px; }
.messages-tab { flex:0 0 auto; border:0; background:transparent; color:#475569; padding:11px 15px; border-radius:8px; cursor:pointer; font-weight:800; }
.messages-tab.active { background:#123d73; color:#fff; }
.messages-panel { display:none; background:#fff; border:1px solid #dbe5f0; border-radius:14px; box-shadow:0 7px 25px rgba(15,23,42,.06); padding:20px; }
.messages-panel.active { display:block; }
.panel-toolbar { display:flex; justify-content:space-between; align-items:center; gap:15px; margin-bottom:18px; }
.panel-toolbar h2 { color:#123d73; font-size:22px; margin-bottom:4px; }
.primary-action { border:1px solid #d4af37; background:#d4af37; color:#07152d; border-radius:8px; padding:10px 16px; cursor:pointer; font-weight:800; }
.primary-action:hover { filter:brightness(.97); transform:translateY(-1px); }
.query-list { display:grid; gap:12px; }
.query-card { border:1px solid #e2e8f0; border-radius:11px; padding:16px; cursor:pointer; transition:.18s ease; }
.query-card:hover { border-color:#b6c7dc; box-shadow:0 4px 15px rgba(15,23,42,.06); transform:translateY(-1px); }
.query-card-top { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; }
.query-card h3 { color:#173f72; font-size:17px; margin-bottom:7px; }
.query-card p { color:#475569; line-height:1.55; white-space:pre-wrap; }
.query-meta { display:flex; flex-wrap:wrap; gap:7px; margin-top:12px; }
.query-chip { background:#eef5ff; color:#28568b; border-radius:999px; padding:5px 9px; font-size:11px; font-weight:800; }
.query-status { border-radius:999px; padding:5px 9px; font-size:11px; font-weight:800; background:#ecfdf5; color:#166534; white-space:nowrap; }
.query-status.closed { background:#f1f5f9; color:#475569; }
.query-empty,.empty-state { text-align:center; padding:38px 18px; color:#64748b; }
.query-form { display:grid; gap:17px; }
.query-form label { display:grid; gap:7px; color:#334155; font-weight:800; font-size:14px; }
.form-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:15px; }
.query-form input,.query-form select,.query-form textarea,.advocate-search,.adv-message-form textarea { width:100%; border:1px solid #cbd5e1; border-radius:8px; background:#fff; color:#1f2937; padding:11px 12px; font:inherit; }
.query-form textarea { min-height:180px; resize:vertical; }
.query-form input:focus,.query-form select:focus,.query-form textarea:focus,.advocate-search:focus,.adv-message-form textarea:focus { outline:2px solid rgba(37,99,235,.18); border-color:#7aa2d2; }
.optional-label { color:#94a3b8; font-weight:600; }
.form-message { min-height:20px; color:#b91c1c; font-size:13px; }
.adv-layout { display:grid; grid-template-columns:340px 1fr; min-height:620px; border:1px solid #e2e8f0; border-radius:12px; overflow:hidden; }
.conversation-sidebar { border-right:1px solid #e2e8f0; background:#f8fbff; }
.conversation-sidebar-header { padding:17px; border-bottom:1px solid #e2e8f0; display:flex; justify-content:space-between; gap:10px; align-items:flex-start; }
.conversation-sidebar-header h2 { color:#123d73; font-size:20px; margin-bottom:4px; }
.conversation-list { display:grid; }
.conversation-item { display:grid; grid-template-columns:44px 1fr auto; gap:10px; align-items:center; padding:13px 15px; border:0; border-bottom:1px solid #e5edf5; background:transparent; text-align:left; cursor:pointer; width:100%; }
.conversation-item:hover,.conversation-item.active { background:#edf5ff; }
.avatar { width:44px; height:44px; border-radius:50%; object-fit:cover; background:#dbeafe; display:grid; place-items:center; color:#28568b; font-weight:900; }
.conversation-name { font-weight:800; color:#1e3a5f; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.conversation-preview { font-size:12px; color:#64748b; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; margin-top:4px; }
.unread-badge { min-width:20px; height:20px; padding:0 6px; border-radius:999px; background:#d4af37; color:#07152d; font-size:11px; font-weight:900; display:grid; place-items:center; }
.conversation-area { display:flex; min-width:0; background:#fff; }
.conversation-empty { margin:auto; text-align:center; max-width:400px; padding:30px; color:#64748b; }
.conversation-empty-icon { font-size:42px; margin-bottom:12px; }
.conversation-empty h3 { color:#173f72; margin-bottom:7px; }
.conversation-view { width:100%; display:grid; grid-template-rows:auto 1fr auto auto; min-width:0; }
.conversation-header { padding:16px 18px; border-bottom:1px solid #e2e8f0; color:#173f72; font-weight:800; }
.conversation-header small { display:block; color:#64748b; font-weight:600; margin-top:4px; }
.message-list { padding:18px; overflow:auto; display:flex; flex-direction:column; gap:10px; min-height:0; background:#f8fbff; }
.message-bubble { max-width:78%; padding:10px 13px; border-radius:12px; background:#fff; border:1px solid #e1e8f0; align-self:flex-start; box-shadow:0 2px 8px rgba(15,23,42,.03); }
.message-bubble.mine { align-self:flex-end; background:#edf5ff; border-color:#cfe0f5; }
.message-text { white-space:pre-wrap; line-height:1.5; color:#334155; }
.message-time { margin-top:5px; font-size:10px; color:#94a3b8; text-align:right; }
.adv-message-form { display:grid; grid-template-columns:1fr auto; gap:10px; padding:13px; border-top:1px solid #e2e8f0; }
.adv-message-form textarea { min-height:55px; resize:none; }
.adv-message-form .primary-action { align-self:stretch; }
.messages-modal { position:fixed; inset:0; z-index:20000; display:none; place-items:center; padding:18px; background:rgba(2,11,27,.55); }
.messages-modal.open { display:grid; }
.messages-modal-card { width:min(620px,100%); max-height:min(720px,90vh); overflow:auto; background:#fff; border-radius:14px; box-shadow:0 20px 60px rgba(0,0,0,.25); padding:20px; }
.messages-modal-header { display:flex; justify-content:space-between; gap:15px; margin-bottom:15px; }
.messages-modal-header h2 { color:#123d73; }
.modal-close { border:0; background:transparent; font-size:30px; line-height:1; cursor:pointer; color:#64748b; }
.advocate-search { margin-bottom:12px; }
.advocate-search-results { display:grid; gap:7px; }
.advocate-result { display:grid; grid-template-columns:46px 1fr auto; align-items:center; gap:10px; padding:10px; border:1px solid #e2e8f0; border-radius:9px; background:#fff; cursor:pointer; text-align:left; }
.advocate-result:hover { background:#f8fbff; border-color:#b6c7dc; }
.advocate-result strong { color:#173f72; }
.advocate-result span { display:block; color:#64748b; font-size:12px; margin-top:3px; }
@media (max-width:800px) { .adv-layout { grid-template-columns:1fr; } .conversation-sidebar { border-right:0; border-bottom:1px solid #e2e8f0; max-height:310px; } .conversation-area { min-height:520px; } }
@media (max-width:650px) { .messages-page { padding:18px 10px 40px; } .messages-heading { align-items:flex-start; } .messages-back-button { display:none; } .panel-toolbar { align-items:flex-start; flex-direction:column; } .form-grid { grid-template-columns:1fr; } .messages-panel { padding:14px; } .messages-tabs { border-radius:9px; } .messages-tab { padding:9px 11px; font-size:12px; } .adv-message-form { grid-template-columns:1fr; } .message-bubble { max-width:90%; } }

.thread-owner-actions {
    display:flex;
    gap:9px;
    justify-content:flex-end;
    margin-top:15px;
}

.danger-action {
    color:#b91c1c;
    border-color:#fecaca;
    background:#fff;
}
