/* Messages use the same quiet, neutral surfaces as the account dashboard. */
.portal-modern .messages-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:30px; }
.portal-modern .messages-heading h1 { font-size:clamp(28px,4vw,36px); font-weight:650; letter-spacing:-1.2px; line-height:1.2; }
.portal-modern .messages-heading p { margin-top:12px; color:#b6b4be; text-shadow:0 2px 14px #000; }
.messages-heading .dashboard-eyebrow { margin-bottom:12px; font-size:10px; letter-spacing:2px; }
.messages-refresh, .messages-notice-action { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:40px; padding:10px 14px; border:1px solid #ffffff26; border-radius:8px; background:#151517; color:#e0e0e5; font:500 12px 'Inter',sans-serif; cursor:pointer; transition:background .15s,border-color .15s; }
.messages-refresh:hover, .messages-notice-action:hover { background:#242427; border-color:#ffffff40; }
.messages-refresh:disabled { opacity:.5; cursor:wait; }
.portal-modern .messages-card { background:#101012f5; border-color:#ffffff1f; border-radius:16px; overflow:hidden; box-shadow:0 20px 65px #0003; }
.messages-toolbar { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:26px 28px 23px; }
.messages-inbox-title { display:flex; align-items:center; gap:14px; min-width:0; }
.messages-inbox-icon { display:flex; align-items:center; justify-content:center; width:42px; height:42px; flex-shrink:0; background:#202023; border:1px solid #ffffff0c; border-radius:12px; color:#d7d7de; font-size:17px; }
.messages-inbox-title h2 { color:#f1f1f4; font-size:16px; font-weight:600; line-height:1.4; letter-spacing:-.3px; }
.messages-inbox-title p { margin:5px 0 0; color:#9999a3; font-size:12px; line-height:1.5; }
.messages-search { display:flex; align-items:center; gap:10px; width:280px; max-width:100%; padding:0 13px; min-height:42px; background:#09090b; border:1px solid #303035; border-radius:8px; color:#898993; }
.messages-search input { width:100%; min-width:0; height:40px; margin:0; padding:0; border:0; background:transparent; color:#e7e7ed; font:12px 'Inter',sans-serif; color-scheme:dark; }
.messages-search input::placeholder { color:#858590; }
.messages-search:focus-within { outline:2px solid #bdbdc9; outline-offset:3px; }
.portal-modern .messages-search input:focus-visible { outline:none; }
.messages-filters { display:flex; align-items:center; gap:6px; padding:0 28px 22px; border-bottom:1px solid #ffffff0c; }
.messages-filters button { display:inline-flex; align-items:center; gap:9px; min-height:36px; padding:8px 12px; border:1px solid transparent; border-radius:7px; background:transparent; color:#a2a2ad; font:500 12px 'Inter',sans-serif; cursor:pointer; }
.messages-filters button:hover { color:#ededf1; background:#ffffff05; }
.messages-filters button[aria-pressed="true"] { color:#f1f1f4; background:#27272b; border-color:#ffffff0c; }
.messages-filters button span { font-size:10px; line-height:1.3; color:#aaaab4; font-variant-numeric:tabular-nums; }
.messages-filters button[aria-pressed="true"] span { color:#dadade; }
.messages-filters button:disabled { opacity:.5; cursor:default; }
#page-messages .conversations-list { min-height:280px; }
.messages-rows { margin:0; padding:8px; list-style:none; }
#page-messages .conversation-item { gap:16px; margin:0; padding:0 20px; min-height:96px; border:0; border-radius:9px; background:transparent; cursor:default; transition:background .15s; }
#page-messages .conversation-item + .conversation-item { border-top:1px solid #ffffff07; }
#page-messages .conversation-item.unread { background:#ffffff03; }
#page-messages .conversation-item:hover, #page-messages .conversation-item:focus-within { background:#ffffff08; }
#page-messages .conversation-avatar { width:46px; height:46px; margin:0; padding:0; background:#242429; border:1px solid #ffffff12; border-radius:14px; color:#c7c7d0; font:600 14px 'Inter',sans-serif; cursor:pointer; }
#page-messages .conversation-item.unread .conversation-avatar { background:#303036; color:#f0f0f5; border-color:#ffffff1a; }
#page-messages .conversation-avatar:disabled { cursor:default; }
.conversation-open { display:flex; flex:1; min-width:0; align-items:center; gap:22px; min-height:96px; padding:18px 0; border:0; border-radius:5px; background:transparent; color:inherit; font-family:'Inter',sans-serif; text-align:left; cursor:pointer; }
#page-messages .conversation-main { display:block; min-width:0; }
#page-messages .conversation-name { display:block; margin:0 0 7px; font-size:14px; font-weight:500; line-height:1.5; color:#d7d7df; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
#page-messages .unread .conversation-name { color:#f5f5f7; font-weight:600; }
#page-messages .conversation-preview { display:block; color:#91919c; font-size:13px; line-height:1.6; }
#page-messages .unread .conversation-preview { color:#b5b5c0; }
#page-messages .conversation-meta { display:flex; flex-direction:column; align-items:flex-end; gap:9px; flex-shrink:0; font-size:11px; line-height:1.5; color:#91919c; }
#page-messages .conversation-unread-badge { display:inline-flex; align-items:center; justify-content:center; min-width:21px; height:21px; margin:0; padding:0 6px; border-radius:6px; background:#e5e5ed; color:#1a1a20; font-size:10px; font-weight:700; line-height:1; }
.conversation-arrow { font-size:10px; color:#5e5e6b; }
.conversation-item:hover .conversation-arrow { color:#dfdfe7; }
.messages-empty { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:310px; padding:42px 24px; text-align:center; }
.messages-empty-icon { display:flex; align-items:center; justify-content:center; width:54px; height:54px; margin-bottom:18px; border:1px solid #ffffff12; border-radius:16px; color:#bebec8; background:#202023; font-size:21px; }
.messages-empty h3 { font-size:16px; font-weight:600; color:#e7e7ed; letter-spacing:-.2px; }
.messages-empty p { max-width:340px; margin:9px 0 0; font-size:13px; line-height:1.8; color:#a0a0ab; }
.messages-empty .messages-notice-action { margin-top:22px; }
#page-messages .loading { min-height:300px; color:#aaaab5; font-size:13px; }
#page-messages .spinner { border-top-color:#ddddE5; }
.portal-modern #page-messages :is(button,input):focus-visible { outline-color:#c9c9d4; }
@media (max-width:680px) {
 .portal-modern .messages-heading { margin-bottom:25px; }
 .messages-toolbar { align-items:stretch; flex-direction:column; gap:20px; padding:22px 20px 20px; }
 .messages-search { width:100%; }
 .messages-filters { padding:0 20px 18px; }
 #page-messages .conversation-item { gap:12px; padding:0 12px; }
 .conversation-open { gap:12px; }
 .conversation-arrow { display:none; }
}
@media (max-width:420px) {
 .portal-modern .messages-heading { align-items:flex-start; gap:12px; }
 .messages-heading p { max-width:190px; }
 .messages-refresh { margin-top:29px; padding:9px 10px; font-size:11px; }
 .messages-refresh i { display:none; }
 .messages-rows { padding:6px; }
 #page-messages .conversation-item { gap:10px; padding:0 9px; }
 #page-messages .conversation-avatar { width:36px; height:36px; border-radius:11px; font-size:12px; }
 .conversation-open { position:relative; min-height:102px; gap:8px; padding:16px 0 35px; }
 #page-messages .conversation-name { font-size:13px; margin-bottom:5px; }
 #page-messages .conversation-preview { font-size:12px; }
 #page-messages .conversation-meta { gap:0; }
 #page-messages .conversation-date { position:absolute; left:0; bottom:13px; font-size:10px; }
}
