.direct-layout{display:grid;grid-template-columns:minmax(230px,1fr) minmax(0,2fr);gap:24px;margin:24px 0}
.direct-threads{display:flex;flex-direction:column;gap:12px;align-self:start}
.direct-thread{display:flex;flex-direction:column;gap:8px;text-align:left;white-space:normal;border:1px solid #ccdae3;border-radius:16px;padding:18px;background:#fff;color:var(--ink,#173d57);min-height:48px;font:inherit;cursor:pointer}
.direct-thread[aria-pressed=true]{border:2px solid #173d57;background:#eef5f8}
.direct-conversation{min-width:0;border:1px solid #dce5eb;border-radius:20px;background:#fff;padding:24px}
.direct-message-list{display:flex;flex-direction:column;gap:14px;margin:24px 0;max-height:60vh;overflow:auto}
.direct-copy{white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0}
.direct-conversation textarea{box-sizing:border-box;width:100%;margin:10px 0}
.direct-notice{padding:18px;border-radius:14px;background:#eef5f8;margin:16px 0}
#direct-inbox-feedback:empty,#direct-reply-feedback:empty,#direct-enquiry-feedback:empty{display:none}
@media(max-width:650px){.direct-layout{grid-template-columns:1fr}.direct-conversation{padding:18px}.direct-thread{padding:14px}.direct-message-list{max-height:50vh}}

.occasion-space-bar{margin:18px 0 24px;padding:16px;border:1px solid #d8e4eb;border-radius:16px;background:#f1f6f9}
.occasion-space-bar[data-space=vendor]{background:#f5efe6;border-color:#e2d5c3}
.occasion-space-bar p{margin:0 0 12px}
.occasion-space-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.occasion-space-switch button{font:inherit;font-weight:600;min-height:48px;padding:12px 10px;border:1px solid #cbdce6;border-radius:12px;cursor:pointer;color:#173d57;background:#fff;white-space:normal}
.occasion-space-switch button[aria-pressed=true]{background:#173d57;color:#fff;border-color:#173d57}
.occasion-space-switch button[data-space-choice=vendor][aria-pressed=true]{background:#785b3e;border-color:#785b3e}
.direct-account{font-size:14px;overflow-wrap:anywhere}
/* A compact inbox stays readable as conversations grow. */
.direct-inbox-list{min-width:0;align-self:start}
.direct-search{display:flex;align-items:end;gap:8px;margin-bottom:14px}
.direct-search label{display:grid;gap:6px;min-width:0;flex:1;font-size:.875rem}
.direct-search input{width:100%;box-sizing:border-box;min-height:44px;padding:10px;border:1px solid #ccdae3;border-radius:10px;background:#fff}
.direct-filters{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap}
.direct-filters button{font:inherit;min-height:44px;padding:8px 12px;border:1px solid #ccdae3;border-radius:12px;background:#fff;color:#173d57;cursor:pointer}
.direct-filters button[aria-pressed=true]{background:#173d57;color:#fff;border-color:#173d57}
.direct-thread{gap:5px;padding:14px;border-radius:12px;overflow:hidden}
.direct-thread-title{display:flex;justify-content:space-between;align-items:start;gap:8px}
.direct-thread-title strong{overflow-wrap:anywhere}
.direct-thread>span:not(.direct-thread-title),.direct-thread small{font-size:.8rem;overflow-wrap:anywhere}
.direct-thread .direct-snippet{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#566d7c}
.direct-unread{flex-shrink:0;font-size:.7rem;font-weight:600;border-radius:20px;padding:4px 7px;background:#b42336;color:#fff}
.direct-conversation-heading{display:flex;align-items:start;justify-content:space-between;gap:12px;flex-wrap:wrap}
.direct-conversation-heading h2{margin:0;overflow-wrap:anywhere}
.direct-back-inbox{display:none;margin-bottom:14px}
.direct-inbox-list>[data-direct-more]{margin-top:14px;width:100%}
#bottom-nav button{position:relative}
.direct-nav-badge{position:absolute;top:4px;right:calc(50% - 28px);min-width:18px;height:18px;padding:0 4px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:#b42336;color:#fff;font-size:10px;font-weight:700;border:2px solid #fff}
@media(min-width:651px){.app-shell[data-view=messages],.app-shell[data-view=inquiries]{width:min(960px,calc(100% - 48px))}.direct-layout{grid-template-columns:minmax(250px,1fr) minmax(0,1.6fr)}}
@media(max-width:650px){.direct-layout[data-thread-open=false] .direct-conversation{display:none}.direct-layout[data-thread-open=true] .direct-inbox-list{display:none}.direct-back-inbox{display:inline-flex}.direct-thread{padding:14px}.direct-layout{gap:0}.direct-search{flex-wrap:wrap}.direct-message-list{max-height:55vh}}

.direct-declined{display:inline-block;padding:5px 9px;border:1px solid #e5a7b0;border-radius:8px;background:#fff0f2;color:#9b2034;font-size:.8125rem;font-weight:700;line-height:1.4}

.direct-archive-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;border:1px solid #ccdae3;border-radius:10px;background:#fff;overflow:hidden;min-height:48px}
.direct-archive-subject{font:inherit;font-weight:600;color:#173d57;border:0;background:transparent;padding:12px 14px;text-align:left;min-height:48px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}
.direct-archive-subject[aria-pressed=true]{background:#eef5f8}
.direct-delete-button{font:inherit;font-size:.8125rem;font-weight:600;color:#9b2034;background:#fff;border:1px solid #e5a7b0;border-radius:8px;min-height:44px;padding:9px 12px;cursor:pointer}
.direct-archive-row .direct-delete-button{border:0;border-left:1px solid #e4e9ed;border-radius:0;margin:0 4px}
.direct-delete-button:hover,.direct-delete-confirm:hover{background:#fff0f2}
.direct-delete-confirm{font:inherit;font-weight:600;background:#b42336;color:#fff;border:1px solid #b42336;border-radius:10px;padding:12px 16px;min-height:44px;cursor:pointer}
.direct-delete-confirm:hover{background:#941c2d}
.direct-delete-button:disabled,.direct-delete-confirm:disabled{opacity:.6;cursor:wait}
.direct-archive-row:has([aria-pressed=true]){border-color:#173d57}

.direct-allowance{padding:16px 18px;border:1px solid #dfcfb8;border-radius:14px;background:#f8f3ec;margin:18px 0}
.direct-allowance p{font-size:.875rem;line-height:1.5;margin:7px 0 0}
.direct-allowance-limit{color:#9b2034;font-size:.875rem;font-weight:600;line-height:1.5}
.direct-conversation textarea:disabled{background:#f1f3f5;color:#566d7c}

/* Client inbox: one concise preview per conversation. */
#messages-view .direct-layout{gap:18px;margin-top:16px}
#messages-view .direct-threads{gap:8px}
#messages-view .direct-thread{gap:4px;padding:12px 14px;border-radius:12px;box-shadow:none}
#messages-view .direct-thread[data-unread=true]{border-left:4px solid #102f4b}
#messages-view .direct-thread[data-status=declined]{border-color:#e5a7b0}
#messages-view .direct-thread-title strong{font-size:15px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
#messages-view .direct-thread .direct-snippet{-webkit-line-clamp:1;font-size:13px;line-height:1.4}
#messages-view .direct-thread>span:not(.direct-thread-title){white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
#messages-view .direct-thread small{font-size:11px;line-height:1.5;color:#486078}
#messages-view .direct-declined{padding:2px 7px;font-size:11px;border-radius:6px}
#messages-view .direct-search{gap:8px;align-items:end}
#messages-view .direct-search button{width:auto;flex:0 0 auto;min-height:44px;padding:9px 14px;border-radius:10px;box-shadow:none}
#messages-view .direct-filters{gap:6px}
#messages-view .direct-filters button{min-height:44px;padding:8px 14px;border-radius:9px;font-size:13px}
:is(#messages-view,#inquiries-view) .direct-conversation-options{position:relative;margin-left:auto;flex-shrink:0}
:is(#messages-view,#inquiries-view) .direct-conversation-options summary{list-style:none;display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:1px solid #9caebf;border-radius:9px;background:#fff;cursor:pointer;color:#102f4b;font-weight:700}
:is(#messages-view,#inquiries-view) .direct-conversation-options summary::-webkit-details-marker{display:none}
:is(#messages-view,#inquiries-view) .direct-conversation-options>div{position:absolute;right:0;top:48px;z-index:3;width:190px;display:grid;gap:6px;padding:10px;background:white;border:1px solid #9caebf;border-radius:12px;box-shadow:0 8px 24px #102f4b20}
:is(#messages-view,#inquiries-view) .direct-conversation-options button{min-height:44px;padding:8px 10px;width:100%;font-size:13px;text-align:left;box-shadow:none}
#messages-view .direct-conversation-heading h2{font-size:1.7rem;line-height:1.15;flex:1;min-width:0}
@media(max-width:650px){#messages-view .direct-conversation{padding:16px}#messages-view .direct-account{font-size:12px;margin:8px 0}#messages-view .direct-layout{gap:0}}

/* Vendor inbox shares the client Messages layout with teal accents. */
#inquiries-view .screen-heading{margin-bottom:16px}
#inquiries-view h1{font-size:clamp(1.8rem,5vw,2.3rem);margin:0}
#inquiries-view .direct-allowance-compact{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;margin:0 0 16px;background:#fff;border-color:#c5dadd;border-radius:12px}
#inquiries-view .direct-allowance-compact p{margin:0;font-size:13px;line-height:1.5}
#inquiries-view .direct-allowance-compact button{min-height:44px;padding:6px;font-size:13px;white-space:nowrap}
#inquiries-view .direct-layout{gap:16px;margin:16px 0}
#inquiries-view .direct-search{position:relative;display:block;margin-bottom:12px}
#inquiries-view .direct-search input{padding-right:48px;border-color:#7399a2;font-size:14px}
#inquiries-view .direct-search button{position:absolute;right:0;bottom:0;min-width:44px;height:44px;padding:10px;border:0;background:transparent;box-shadow:none}
#inquiries-view .direct-search button svg{width:20px;height:20px}
#inquiries-view .direct-filters button{padding:8px 14px;font-size:13px;border-radius:9px}
#inquiries-view .direct-thread[data-unread=true]{border-left:4px solid #005866}
#inquiries-view .direct-threads{gap:8px}
#inquiries-view .direct-thread{padding:12px 14px;box-shadow:none}
#inquiries-view .direct-snippet{-webkit-line-clamp:1}
#inquiries-view .direct-conversation{border-color:#c5dadd;border-radius:12px;min-height:300px}
#inquiries-view .direct-conversation>p:only-child{display:flex;align-items:center;justify-content:center;min-height:250px;color:#4d7077;margin:0}
#inquiries-view .direct-conversation-heading h2{font-size:1.7rem;line-height:1.15;flex:1;min-width:0}
@media(max-width:650px){#inquiries-view .direct-layout{gap:0}#inquiries-view .direct-conversation{padding:16px}#inquiries-view .direct-allowance-compact{align-items:start}}
