.messages-workspace{height:var(--messages-height,640px);min-height:360px;background:var(--paper);border:1px solid var(--line);border-radius:22px;overflow:hidden;container-type:inline-size;container-name:messages;}
.messages-layout{height:100%;display:grid;grid-template-columns:300px minmax(0,1fr);position:relative;}
.messages-layout>*{min-width:0;min-height:0;}
/* Keep each panel scrollable without permanent tracks dividing the conversation. */
:is(.message-list,.message-history,.message-details,.message-compose textarea){scrollbar-width:thin;scrollbar-color:transparent transparent;}
:is(.message-list,.message-history,.message-details,.message-compose textarea):is(:hover,:focus-within){scrollbar-color:rgba(47,74,66,.35) transparent;}
:is(.message-list,.message-history,.message-details,.message-compose textarea)::-webkit-scrollbar{width:6px;height:6px;}
:is(.message-list,.message-history,.message-details,.message-compose textarea)::-webkit-scrollbar-track{background:transparent;}
:is(.message-list,.message-history,.message-details,.message-compose textarea)::-webkit-scrollbar-thumb{background:transparent;border-radius:6px;}
:is(.message-list,.message-history,.message-details,.message-compose textarea):is(:hover,:focus-within)::-webkit-scrollbar-thumb{background:rgba(47,74,66,.35);}
@media(hover:none){
 :is(.message-list,.message-history,.message-details,.message-compose textarea){scrollbar-color:rgba(47,74,66,.25) transparent;}
 :is(.message-list,.message-history,.message-details,.message-compose textarea)::-webkit-scrollbar-thumb{background:rgba(47,74,66,.25);}
}
@media(forced-colors:active){
 :is(.message-list,.message-history,.message-details,.message-compose textarea){scrollbar-width:auto;scrollbar-color:auto;}
 :is(.message-list,.message-history,.message-details,.message-compose textarea)::-webkit-scrollbar-thumb{background:CanvasText;}
}
.message-inbox{display:flex;flex-direction:column;border-right:1px solid var(--line);}
.message-inbox-head{padding:22px 20px 10px;}
.messages-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;}
.messages-head h2{font:800 30px/1 var(--font-display);letter-spacing:-.025em;color:var(--ink);margin:0;}
.messages-head button,.message-quiet{border:0;background:none;font:inherit;font-size:12px;color:var(--forest);padding:8px 0;cursor:pointer;text-decoration:underline;text-underline-offset:3px;}
.messages-head button{text-decoration:none;min-height:36px;}
.messages-head button:hover{text-decoration:underline;}
.message-search{display:flex;align-items:center;gap:10px;border-radius:999px;background:var(--cream);padding:0 14px;height:40px;}
.message-search svg{width:17px;height:17px;flex:none;color:var(--muted);}
.message-search input{min-width:0;flex:1;width:100%;border:0;background:none;color:var(--ink);font:14px var(--font-body);padding:9px 0;}
.message-filters{display:flex;gap:6px;margin-top:12px;}
.message-filters button,.message-quick-replies button{border:1px solid var(--line);background:var(--paper);border-radius:999px;color:var(--ink);font:600 13px var(--font-body);padding:6px 13px;min-height:32px;cursor:pointer;white-space:nowrap;}
.message-filters button[aria-pressed=true]{background:var(--forest);border-color:var(--forest);color:var(--cream);}
.message-page-note{font-size:11px;line-height:1.5;color:var(--muted);margin:10px 0 0;}
.message-list{overflow-y:auto;flex:1;padding:4px 10px 16px;overscroll-behavior:contain;}
.message-row{display:flex;align-items:flex-start;gap:12px;width:100%;border:0;border-radius:16px;background:none;color:var(--ink);text-align:left;padding:12px 10px;font:inherit;cursor:pointer;}
.message-row.on,.message-row:hover{background:var(--cream);}
.message-row-photo{flex:none;width:46px;height:61px;object-fit:cover;border-radius:10px;background:var(--cream);}
.message-initial{display:flex;align-items:center;justify-content:center;flex:none;width:40px;height:40px;background:var(--cream);border:1px solid var(--line);border-radius:50%;color:var(--forest);font:600 18px var(--font-display);}
.message-row .message-initial{width:44px;height:44px;}
.message-row-copy{display:block;min-width:0;flex:1;}
.message-row-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;}
.message-row-name{font:600 14.5px/1.4 var(--font-body);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.message-row-date{font-size:11px;color:var(--muted);white-space:nowrap;flex:none;}
.message-row small{display:block;font-size:12px;line-height:1.5;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.message-row-last{display:flex;align-items:center;gap:8px;margin-top:3px;}
.message-snippet{display:block;flex:1;min-width:0;font-size:13px;line-height:1.5;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.message-unread{flex:none;display:flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;box-sizing:border-box;border-radius:999px;background:var(--rust);color:var(--paper);font-size:11px;font-weight:700;}
.message-panel{display:flex;flex-direction:column;overflow:hidden;}
.message-welcome{margin:auto;padding:30px;max-width:400px;text-align:center;color:var(--muted);}
.message-welcome>svg{width:36px;height:36px;color:var(--forest);}
.message-welcome h3{font:700 24px/1.2 var(--font-display);letter-spacing:-.02em;color:var(--ink);margin:18px 0 10px;}
.message-welcome p{font-size:14px;line-height:1.6;}
.message-context{display:flex;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:14px 20px;flex:none;}
.message-person{flex:1;min-width:0;}
.message-context h3{font:700 17px/1.25 var(--font-display);letter-spacing:-.01em;margin:0;overflow-wrap:anywhere;}
.message-context p{margin:3px 0 0;font-size:12px;color:var(--muted);line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.message-context a,.message-piece a,.message-details a{font-size:12px;white-space:nowrap;color:var(--forest);text-decoration:none;}
.message-context a:hover,.message-piece a:hover,.message-details a:hover{text-decoration:underline;text-underline-offset:3px;}
.message-icon{display:flex;align-items:center;justify-content:center;flex:none;width:38px;height:38px;border:0;border-radius:50%;background:none;color:var(--forest);cursor:pointer;padding:8px;}
.message-icon svg{width:22px;height:22px;}
.message-icon:hover{background:var(--cream);}
.message-back{display:none;}
.message-piece{display:flex;align-items:center;gap:12px;padding:10px 20px;border-bottom:1px solid var(--line);background:#fbf8f2;flex:none;}
.message-piece img{flex:none;width:38px;height:51px;object-fit:cover;border-radius:8px;background:var(--cream);}
.message-piece>div{flex:1;min-width:0;}
.message-piece h4{font:600 14px/1.35 var(--font-display);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.message-piece p{font-size:12px;line-height:1.4;margin:3px 0 0;color:var(--muted);}
.message-history{display:flex;flex-direction:column;gap:0;overflow:auto;padding:8px 20px 20px;overscroll-behavior:contain;min-height:0;}
.messages-workspace .message-history{flex:1;}
.message-day{color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;text-align:center;margin:18px 0 8px;flex:none;}
.message-entry{align-self:flex-start;max-width:min(76%,520px);margin-top:12px;box-sizing:border-box;}
.message-entry[data-group=next]{margin-top:3px;}
.message-entry.mine{align-self:flex-end;}
.message-bubble{font-size:14.5px;line-height:1.5;margin:0;padding:10px 14px;white-space:pre-wrap;overflow-wrap:anywhere;background:#f2ece0;color:var(--ink);border-radius:18px 18px 18px 6px;}
.message-entry[data-group=next] .message-bubble{border-top-left-radius:6px;}
.message-entry.mine .message-bubble{background:var(--forest);color:var(--cream);border-radius:18px 18px 6px 18px;}
.message-entry.mine[data-group=next] .message-bubble{border-top-right-radius:6px;}
.message-entry footer{display:flex;align-items:baseline;gap:8px;font-size:11px;line-height:1.5;color:var(--muted);padding:0 4px;margin-top:4px;}
.message-entry.mine footer{justify-content:flex-end;}
.message-sender{overflow-wrap:anywhere;}
.message-entry time{white-space:nowrap;}
.message-sr,.message-entry footer.message-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
.message-composer{flex:none;border-top:1px solid var(--line);padding:12px 20px 14px;}
.message-quick-replies{display:flex;gap:6px;overflow-x:auto;padding-bottom:10px;scrollbar-width:none;}
.message-quick-replies::-webkit-scrollbar{display:none;}
.message-quick-replies button{font-weight:400;}
.message-compose{display:flex;gap:8px;align-items:flex-end;border:1px solid var(--line);border-radius:22px;padding:6px;background:var(--paper);}
.message-compose textarea{box-sizing:border-box;min-width:0;flex:1;resize:none;min-height:40px;max-height:120px;border:0;padding:8px 8px 8px 10px;background:none;color:var(--ink);font:14.5px/1.5 var(--font-body);}
.message-compose textarea:focus{outline:none;}
.message-compose:focus-within{border-color:var(--forest);}
.message-compose button{display:flex;align-items:center;justify-content:center;flex:none;width:38px;height:38px;border-radius:50%;background:var(--forest);color:var(--cream);border:0;padding:8px;cursor:pointer;}
.message-compose button svg{width:20px;height:20px;}
.message-compose button:disabled{background:var(--line);color:var(--muted);cursor:default;}
.message-note{font-size:12px;color:var(--muted);line-height:1.6;margin:12px 0;}
.message-error{color:var(--rust-ink);font-size:13px;line-height:1.6;}
.message-error:empty{display:none;}
.message-empty{font-size:14px;color:var(--muted);line-height:1.7;padding:16px 10px;}
.message-empty h3{font:700 17px var(--font-display);margin:0 0 8px;color:var(--ink);}
.message-empty p{margin:0;}
.message-actions{display:flex;gap:15px;flex-wrap:wrap;margin:12px 10px;}
.message-older{align-self:center;}
.message-load-error{padding:20px;}
.message-details{display:none;padding:22px 20px;border-left:1px solid var(--line);overflow:auto;}
.message-details[hidden]{display:none;}
.message-details h3,.message-details-dialog h3{font:700 18px var(--font-display);margin:0 0 20px;}
.message-detail-photo{display:block;width:100%;max-height:230px;object-fit:contain;border-radius:12px;background:var(--cream);margin-bottom:16px;}
.message-details h4,.message-details-dialog h4{font:600 16px/1.4 var(--font-display);margin:0 0 5px;overflow-wrap:anywhere;}
.message-details p,.message-details-dialog p{font-size:13px;line-height:1.6;color:var(--muted);margin:0 0 12px;}
.message-details .message-quiet,.message-details-dialog .message-quiet{display:block;text-align:left;min-height:40px;}
.message-order-ref{margin-top:24px!important;overflow-wrap:anywhere;}
.message-detail-note{border-top:1px solid var(--line);margin-top:24px;padding-top:20px;}
.message-dialog{width:min(420px,calc(100% - 32px));box-sizing:border-box;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:22px;padding:24px;max-height:calc(100dvh - 40px);}
.message-dialog::backdrop{background:rgba(34,54,47,.35);}
.message-dialog h3{font:700 20px var(--font-display);margin:0 0 10px;}
.message-dialog label{display:block;font-size:14px;margin:12px 0 6px;}
.message-dialog textarea{box-sizing:border-box;width:100%;padding:10px;font:inherit;background:var(--cream);border:1px solid var(--line);color:var(--ink);}
.message-dialog footer{display:flex;justify-content:flex-end;gap:20px;margin-top:16px;}
.message-dialog button[type=submit]{background:var(--forest);color:var(--cream);border:1px solid var(--forest);padding:12px 16px;border-radius:12px;font:600 13px var(--font-body);cursor:pointer;}
.message-dialog-close{float:right;margin:-8px -8px 8px 8px;}
.messages-host button:focus-visible,.message-options summary:focus-visible,.messages-host a:focus-visible,.message-search input:focus-visible{outline:2px solid var(--forest);outline-offset:3px;}
.order-conversation{margin-top:28px;padding-top:20px;border-top:1px solid var(--line);}
.order-conversation .message-history{max-height:460px;}
.order-conversation .message-compose{margin-top:16px;}
.order-conversation .message-compose button{width:auto;min-width:72px;border-radius:12px;padding:8px 14px;font:600 13px var(--font-body);}
@container messages (min-width:1080px){
 .messages-layout.details-open{grid-template-columns:300px minmax(0,1fr) 270px;}
 .message-details:not([hidden]){display:block;}
}
@media(max-width:859px){
 .messages-workspace{border-radius:18px;}
 .messages-layout{grid-template-columns:minmax(0,1fr);}
 .messages-layout.has-thread .message-inbox{display:none;}
 .messages-layout:not(.has-thread) .message-panel{display:none;}
 .message-inbox{border:0;}
 .message-back{display:flex;}
 .message-context{gap:8px;padding:12px;}
 .message-context .message-initial{display:none;}
 .message-context h3{font-size:16px;}
 .message-context-link a{font-size:11px;}
 .message-piece{padding:10px 12px;}
 .message-history{padding:8px 12px 16px;}
 .message-entry{max-width:84%;}
 .message-composer{padding:10px 12px 12px;}
 .message-compose textarea,.message-search input{font-size:16px;}
 .message-quick-replies button{font-size:12px;}
 .order-conversation .message-history{max-height:48vh;}
}
