.message-notification{position:fixed;z-index:10001;top:calc(12px + env(safe-area-inset-top,0px));right:12px;width:min(360px,calc(100vw - 24px));border:1px solid var(--gold,#d8bd83);border-radius:8px;background:var(--surface,#1d221d);color:var(--text,#f5f3ec);box-shadow:0 4px 24px #0009;font:12px/1.5 Arial,sans-serif;text-transform:uppercase}
.message-notification a{display:grid;gap:4px;padding:12px;text-decoration:none;color:inherit;overflow-wrap:anywhere;min-height:44px}
.message-notification a:focus-visible{outline:2px solid var(--gold,#d8bd83);outline-offset:3px}
.message-notification span{color:var(--gold,#d8bd83)}
@media(max-width:760px){.message-notification{left:max(var(--page-gutter,20px),var(--safe-left,0px),var(--safe-right,0px));right:max(var(--page-gutter,20px),var(--safe-left,0px),var(--safe-right,0px));width:auto}}
.message-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;margin-left:6px;padding:0 4px;border-radius:9px;background:var(--gold);color:var(--bg);font-size:9px;line-height:1;flex:none}
.message-page-heading{position:relative;display:flex;align-items:center;margin:3px 0;padding-right:52px;min-width:0}
body.team-body .message-page-heading>h1{margin:0;line-height:1.2}
body.team-body .message-page-heading>[data-new]{position:absolute;right:0;top:50%;transform:translateY(-50%)}
body.team-body .message-page-heading>[data-new]::before{inset:2px!important}
.message-page-heading+:is(.management-intro,.dashboard-intro){padding-right:52px}

/* Conversation list and chat share the same layout on desktop. */
.messaging-layout{display:grid;grid-template-columns:minmax(240px,1fr) minmax(0,2fr);gap:8px;margin-top:16px;min-width:0}
.messaging-layout .dashboard-panel{min-width:0;padding:10px}
.messaging-layout .messaging-sidebar{padding:0;border:0;border-radius:0;box-shadow:none;background:var(--bg)}
.messaging-layout h2{margin:0;font-size:14px;line-height:1.3;overflow-wrap:anywhere}
.message-sidebar-toolbar{display:flex;align-items:center;min-width:0;gap:8px;margin:0}
body.team-body .message-icon-button{width:44px!important;min-width:44px!important;max-width:44px!important;flex:0 0 44px!important;padding:8px!important;margin:0}
body.team-body .message-icon-button::before{inset:8px!important}
body.team-body .message-sidebar-toolbar>[data-picker-back]::before{inset:6px 0!important}
.message-search{display:block;flex:1;min-width:0;font-size:10px;line-height:1.3;margin:0}
.message-search>.message-sr-only{margin:-1px}
.message-search input{box-sizing:border-box;width:100%;min-width:0;height:32px;min-height:32px;padding:6px 10px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--text);font:inherit}
.message-conversations{margin-top:8px;max-height:520px;overflow:auto;overscroll-behavior:contain}
.message-category-nav{display:flex;align-items:center;gap:6px;max-width:100%;overflow-x:auto;scrollbar-width:none;margin:4px 0 0;padding:0}
.message-category-nav::-webkit-scrollbar{display:none}
body.team-body .message-category-nav>button{flex:none;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:10px;padding-inline:12px}
body.team-body .message-category-nav>button[data-category]{display:inline-flex;align-items:center;justify-content:center;gap:6px}
.message-category-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.message-category-badge{margin:0}
.message-category-nav>.gold-button .message-category-badge{background:var(--bg);color:var(--gold)}
.message-category-nav[hidden]{display:none}
.message-conversation-row{position:relative;border-bottom:1px solid var(--line);min-width:0;overflow:hidden;touch-action:pan-y pinch-zoom;--message-row-actions-width:88px}
.message-conversation-row:last-child{border-bottom:0}
.message-conversation-row>.message-conversation-link{position:relative;z-index:1;width:100%;min-width:0;border:0;background:var(--bg);transform:translateX(var(--message-row-shift,0px));transition:transform .18s ease-out}
.message-conversation-row[data-actions-open=true][data-actions-side=trailing]>.message-conversation-link,.message-conversation-row:has(.message-row-actions-trailing:focus-within)>.message-conversation-link{transform:translateX(var(--message-row-shift,calc(-1 * var(--message-row-actions-width))))}
.message-conversation-row[data-actions-open=true][data-actions-side=leading]>.message-conversation-link,.message-conversation-row:has(.message-row-actions-leading:focus-within)>.message-conversation-link{transform:translateX(var(--message-row-shift,var(--message-row-actions-width)))}
.message-conversation-row[data-dragging=true]>.message-conversation-link{transition:none}
.message-row-actions{position:absolute;inset:0 0 0 auto;width:var(--message-row-actions-width);display:flex;align-items:center;gap:0;opacity:0;pointer-events:none}
.message-row-actions-leading{inset:0 auto 0 0}
.message-conversation-row[data-actions-open=true][data-actions-side=trailing]>.message-row-actions-trailing,.message-conversation-row[data-dragging=true][data-actions-side=trailing]>.message-row-actions-trailing,.message-conversation-row:has(.message-row-actions-trailing:focus-within)>.message-row-actions-trailing,.message-conversation-row[data-actions-open=true][data-actions-side=leading]>.message-row-actions-leading,.message-conversation-row[data-dragging=true][data-actions-side=leading]>.message-row-actions-leading,.message-conversation-row:has(.message-row-actions-leading:focus-within)>.message-row-actions-leading{opacity:1;pointer-events:auto}
body.team-body .message-row-actions>.message-row-action{display:flex;align-items:center;justify-content:center;gap:0;flex:0 0 44px;min-width:44px;max-width:44px;width:44px;margin:0;padding:8px;font-size:10px;white-space:nowrap}
body.team-body .message-row-actions>.message-row-action::before{inset:2px!important}
.message-row-action>svg{width:18px;height:18px;flex:none}
.message-row-summary{display:flex;align-items:center;gap:4px}.message-pinned{display:inline-flex;color:var(--gold)}.message-pinned>svg{width:12px;height:12px}
.message-contact-title{display:flex;align-items:baseline;gap:6px;min-width:0}.message-contact-title>strong{flex:0 1 auto;min-width:0}.message-contact-title:has(.message-restaurant)>strong{max-width:55%}.message-restaurant{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.4;color:var(--muted);text-transform:uppercase}
.message-row-delete{color:#edaaa0}
@media(prefers-reduced-motion:reduce){.message-conversation-row>.message-conversation-link{transition:none}}
.message-group-avatar svg{width:18px;height:18px}
.message-sender{display:block;font-size:10px;line-height:1.4;color:var(--gold);margin-bottom:3px;text-transform:none}
.message-conversation-link{display:flex;align-items:center;gap:8px;min-height:62px;padding:8px 4px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--text);text-transform:none}
.message-conversation-link:last-child{border-bottom:0}.message-conversation-link:hover,.message-conversation-link[aria-current]{background:var(--bg);border-radius:6px}
.message-conversation-link:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}
.message-avatar{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex:0 0 32px;border:1px solid var(--line);border-radius:50%;color:var(--gold);background:var(--bg);font-size:11px;text-transform:uppercase}
.message-row-copy{flex:1;min-width:0}.message-row-copy strong{display:block;font-size:11px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.message-row-copy small{display:block;margin-top:3px;color:var(--muted);font-size:10px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.message-row-meta{display:flex;flex-direction:column;align-items:flex-end;gap:5px;flex:none}.message-row-meta time{font-size:9px;color:var(--muted)}.message-row-meta .message-badge{margin:0}
.messaging-layout .messaging-conversation{display:flex;flex-direction:column;height:clamp(320px,calc(100dvh - 310px),680px);min-height:0;padding:0;overflow:hidden}
.message-chat-heading{display:flex;align-items:center;gap:8px;flex:none;min-height:58px;padding:6px 10px;border-bottom:1px solid var(--line);background:var(--bg);text-transform:none}
.message-peer{min-width:0}.message-peer h2{font-size:12px}.message-peer p{font-size:10px;line-height:1.4;color:var(--muted);margin:3px 0 0;overflow-wrap:anywhere}
.message-chat-heading>.message-peer{flex:1}
.message-chat-heading [data-peer-avatar]>.message-avatar{width:40px;height:40px;flex-basis:40px;font-size:13px}
.message-chat-heading [data-peer-avatar]>.message-group-avatar svg{width:20px;height:20px}
body.team-body .message-chat-heading>.message-back::before{inset:2px!important}
.message-thread{display:flex;flex:1;flex-direction:column;gap:6px;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:none;padding:10px;background:var(--bg)}
.message-thread::-webkit-scrollbar{display:none}
.message-empty{padding:10px 4px;margin:0;color:var(--muted);font-size:10px;line-height:1.5;text-transform:none}
.message-day{align-self:center;margin:3px 0;padding:3px 8px;border-radius:5px;background:var(--surface);color:var(--muted);font-size:9px;line-height:1.4;text-transform:none}
.message-older{flex:none;align-self:center;margin:0}
.message-bubble{width:fit-content;max-width:85%;border:1px solid var(--line);border-radius:0 8px 8px 8px;padding:7px 9px;background:var(--surface);align-self:flex-start;overflow-wrap:anywhere;text-transform:none}
.message-own{align-self:flex-end;border-color:#70674e;border-radius:8px 0 8px 8px;background:#292b20}
.message-body{white-space:pre-wrap;line-height:1.5;font-size:11px}.message-bubble small{display:flex;justify-content:flex-end;align-items:center;gap:4px;color:var(--muted);font-size:9px;margin-top:3px}
.message-read{color:var(--gold)}.message-receipt{letter-spacing:-2px;padding-right:2px}
.message-preview-receipt{margin-right:4px}
.message-compose{display:flex;align-items:flex-end;gap:8px;padding:6px 6px 6px 10px;border-top:1px solid var(--line);flex:none;background:var(--surface)}
.message-compose-field{display:block;flex:1;min-width:0}.message-compose textarea{box-sizing:border-box;display:block;width:100%;height:44px;min-height:44px;max-height:108px;resize:none;margin:0;padding:12px 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--text);font:11px/18px 'DM Sans',sans-serif;overflow-y:auto;text-transform:none}
.message-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.message-back{display:none!important}.messaging-layout [hidden]{display:none!important}
body.team-body .message-back{position:relative;overflow:visible;width:44px!important;max-width:44px!important;flex:0 0 44px!important;gap:2px;white-space:nowrap}
body.team-body .message-back:has(>.message-back-badge){display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);place-items:center;padding:4px!important}
.message-back-arrow{display:inline-flex;align-items:center;flex:none}
.message-back-arrow>svg{width:16px;height:16px}
.message-back>.message-back-badge{position:static;width:auto;min-width:0;height:auto;margin:0;padding:0;border-radius:0;background:transparent;color:#fff;font-size:13px;font-weight:500;font-variant-numeric:tabular-nums;box-shadow:none;pointer-events:none}
/* The mobile inbox scrolls with the page; a nested non-scrolling list traps Chromium pans. */
@media(max-width:760px){.messaging-layout{grid-template-columns:minmax(0,1fr)}.messaging-layout[data-conversation-open=false] .messaging-conversation{display:none}.messaging-layout[data-conversation-open=true] .messaging-sidebar{display:none}.message-back{display:inline-flex!important}.message-bubble{max-width:92%}.messaging-layout .messaging-conversation{height:clamp(320px,calc(100dvh - 290px),680px)}.message-conversations{max-height:none;overflow:visible;overscroll-behavior:auto}}

.message-dialog{box-sizing:border-box;width:min(440px,calc(100vw - 40px));max-height:calc(100dvh - 40px);overflow:auto;border:1px solid var(--line);border-radius:8px;padding:12px;background:var(--bg);color:var(--text);text-transform:none}
.message-dialog::backdrop{background:#000b}
.message-dialog-heading{display:flex;align-items:center;gap:8px;margin:-8px 0 4px 0}
.message-dialog-heading h2{flex:1;min-width:0;margin:0;font-size:14px;line-height:1.4;overflow-wrap:anywhere}
body .message-dialog-heading>.message-icon-button[data-dialog-close]{font-size:22px!important;line-height:1!important}
.message-dialog form,.message-new-actions{display:grid;gap:6px;margin:0}
.message-dialog form:is([data-message-form=category],[data-message-form=rename-group]){gap:0}
.message-dialog form:is([data-message-form=category],[data-message-form=rename-group])>.message-dialog-field{margin-bottom:6px}
body.team-body .message-dialog form:is([data-message-form=category],[data-message-form=rename-group])>button::before{inset-block:4px!important}
.message-dialog:has(form[data-message-form=delete-conversation]){width:min(280px,calc(100vw - 40px));text-align:center}
.message-dialog:has(form[data-message-form=delete-conversation]) .message-dialog-heading{margin:0 0 8px;justify-content:center}
.message-dialog form[data-message-form=delete-conversation]{grid-template-columns:minmax(0,1fr);gap:0}
body.team-body .message-dialog form[data-message-form=delete-conversation]>button{padding-inline:6px!important;white-space:normal}
body.team-body .message-dialog form[data-message-form=delete-conversation]>button::before{inset-block:3px!important}
.message-dialog form[data-message-form=delete-conversation]>.message-dialog-error{grid-column:1/-1}
.message-new-actions button{display:flex;width:100%;gap:8px;justify-content:flex-start;text-align:left}
.message-dialog-field{display:grid;gap:4px;font-size:11px;line-height:1.4}
.message-dialog-field input{box-sizing:border-box;width:100%;height:32px;min-width:0;padding:6px 8px;font:11px/1.4 'DM Sans',sans-serif;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text);text-transform:none}
.message-dialog-options{margin:0;padding:6px 0 0;border:0;max-height:280px;overflow:auto}
.message-dialog-options legend{font-size:11px;color:var(--muted)}
.message-dialog-options label{display:flex;align-items:center;gap:8px;min-height:36px;padding:4px 0;border-bottom:1px solid var(--line);font-size:11px;cursor:pointer;text-transform:none}
.message-dialog-options label:last-child{border-bottom:0}
.message-dialog-options input{width:16px;height:16px;flex:none;accent-color:var(--gold)}
.message-dialog-options small,.message-member-list small{display:block;font-size:10px;color:var(--muted);margin-top:2px}
.message-dialog-help{margin:4px 0;color:var(--muted);font-size:11px;line-height:1.5}
.message-dialog :is(.gold-button,.outline-button){margin:0;font-size:11px}
.message-dialog-error{margin:4px 0 0;color:#edaaa0;font-size:11px;line-height:1.5}
.message-member-list>div{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--line);font-size:11px}
.message-member-list>div:last-child{border-bottom:0}

/* A single contact sheet keeps search and the group action above the lists. */
.message-dialog[data-contact-chooser=true][open]{display:flex;flex-direction:column;gap:8px;width:min(440px,calc(100vw - 32px));max-height:calc(100dvh - max(12px,var(--safe-top,0px)) - 12px);overflow:hidden}
.message-dialog[data-contact-chooser=true]::backdrop{background:#121513cc;background:color-mix(in srgb,var(--bg) 78%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.message-dialog>.message-contact-handle{display:none!important}
.message-dialog[data-contact-chooser=true]>.message-dialog-heading{flex:none;margin:-4px 0 0}
.message-dialog[data-contact-chooser=true]>.message-dialog-heading h2{font-size:14px}
.message-contact-picker{display:flex;flex:1;flex-direction:column;gap:8px;min-height:0;min-width:0;overflow:hidden}
.message-contact-search{display:flex;align-items:center;flex:none;gap:8px;min-width:0;height:var(--field-height,32px);min-height:var(--field-height,32px);padding:0 10px;border:1px solid var(--line);border-radius:6px;background:var(--surface);font:10px/1.3 'DM Sans',sans-serif}
.message-contact-search>svg{flex:none;color:var(--muted)}
.message-contact-search>input{box-sizing:border-box;width:100%;min-width:0;margin:0;padding:4px 0;border:0;outline:none;background:transparent;color:var(--text);font:inherit;text-transform:uppercase}
:is(#team-content,#dashboard-content) .message-contact-search>input{height:calc(var(--field-height,32px) - 2px)!important;min-height:calc(var(--field-height,32px) - 2px)!important;outline:none!important;box-shadow:none!important}
.message-contact-search:focus-within{border-color:var(--gold);outline:none}
body.team-body .message-dialog .message-contact-group{display:flex;align-items:center;justify-content:flex-start;flex:none;gap:10px;width:100%;min-height:44px;margin:0;padding:6px 10px;text-align:left;font-size:10px}
body.team-body .message-dialog .message-contact-group::before{inset:6px 0!important;border-color:var(--line)!important;background:var(--surface)!important}
.message-contact-group-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex:none;border-radius:50%;background:var(--bg);color:var(--gold)}
.message-contact-group-icon>svg{width:18px;height:18px}
.message-contact-results{flex:1;min-height:0;min-width:0;max-height:480px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.message-contact-section+.message-contact-section{margin-top:12px}
.message-contact-section h3{margin:0 0 6px;padding:0 4px;font-size:10px;font-weight:500;line-height:1.5;color:var(--muted)}
.message-contact-card{padding:0 8px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}
.message-contact-link{display:flex;align-items:center;gap:10px;min-width:0;min-height:56px;padding:6px 0;border-bottom:1px solid var(--line);color:var(--text);text-decoration:none}
.message-contact-link:last-child{border-bottom:0}
.message-contact-link:hover{color:var(--gold)}
.message-contact-link:focus-visible{outline:2px solid var(--gold);outline-offset:-2px;border-radius:6px}
.message-contact-link>.message-avatar{width:40px;height:40px;flex-basis:40px;font-size:13px}
.message-contact-copy{min-width:0;flex:1}
.message-contact-copy>strong{display:block;font-size:11px;font-weight:500;line-height:1.4;overflow-wrap:anywhere}
.message-contact-copy>small{display:block;margin-top:2px;font-size:9px;line-height:1.4;color:var(--muted);overflow-wrap:anywhere}
.message-contact-empty{margin:0;padding:8px 4px;font-size:10px;line-height:1.5;color:var(--muted)}
body.team-body .message-dialog .message-contact-retry{min-height:44px;margin:0;padding-inline:12px}
.message-dialog[data-contact-chooser=true]>.message-dialog-error{flex:none;margin:0}
@media(max-width:760px){
 .message-dialog[data-contact-chooser=true][open]{position:fixed;inset:calc(var(--safe-top,0px) + var(--header-offset,0px)) 0 0;margin:0;width:100%;max-width:none;height:calc(100dvh - var(--safe-top,0px) - var(--header-offset,0px));max-height:calc(100dvh - var(--safe-top,0px) - var(--header-offset,0px));padding:0 max(var(--page-gutter,20px),var(--safe-left,0px),var(--safe-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) max(var(--page-gutter,20px),var(--safe-left,0px),var(--safe-right,0px));border:0;border-radius:24px 24px 0 0;transform:translate3d(0,var(--message-sheet-offset,0px),0);transition:transform 180ms ease}
 .message-dialog[data-contact-chooser=true]{--contact-sheet-safe-bottom:env(safe-area-inset-bottom,0px)}
 .message-dialog[data-contact-chooser=true][data-message-sheet-dragging=true]{transition:none}
 body.team-body .message-dialog>.message-contact-handle{display:flex!important;align-items:center;justify-content:center;flex:none;align-self:center;width:72px;min-height:44px;margin:0;padding:0;border:0!important;background:transparent!important;outline:none!important;box-shadow:none!important;color:var(--muted);touch-action:none}
 body.team-body .message-dialog>.message-contact-handle::before,body.team-body .message-dialog>.message-contact-handle::after{display:none!important;border:0!important;background:transparent!important;box-shadow:none!important}
 .message-contact-handle>span{width:32px;height:4px;border-radius:4px;background:var(--muted);opacity:.7}
 .message-dialog[data-contact-chooser=true]>[data-contact-sheet-grip]{touch-action:none}
 .message-dialog[data-contact-chooser=true]>.message-dialog-heading{min-height:32px}
 .message-dialog[data-contact-chooser=true]>.message-dialog-heading>[data-dialog-close]{display:none!important}
 .message-dialog[data-contact-chooser=true] .message-contact-results{max-height:none}
}
@media(prefers-reduced-motion:reduce){.message-dialog[data-contact-chooser=true]{transition:none}}

/* Mobile reading uses the available viewport below the main navigation. */
@media(max-width:760px){
 :is(#team-content,#dashboard-content).message-thread-open>.eyebrow,
 :is(#team-content,#dashboard-content).message-thread-open>.message-page-heading,
 :is(#team-content,#dashboard-content).message-thread-open>:is(.management-intro,.dashboard-intro){display:none!important}
 :is(#team-content,#dashboard-content).message-thread-open>.messaging-layout{margin-top:0!important}
 :is(#team-content,#dashboard-content).message-thread-open .messaging-conversation{height:var(--message-chat-height,calc(100dvh - 160px));max-height:none;min-height:0;border-top-width:0}
 /* Chat dividers and writing controls reach the edges; reading keeps its page gutter. */
 .messaging-layout{--message-edge-gutter:max(var(--page-gutter,20px),var(--safe-left,0px),var(--safe-right,0px))}
 .messaging-layout .messaging-conversation{overflow:visible}
 .message-chat-heading,.message-compose,.message-keyboard:not([hidden]){width:calc(100% + 2 * var(--message-edge-gutter));margin-inline:calc(-1 * var(--message-edge-gutter))}
 .message-chat-heading{padding-inline:calc(10px + var(--message-edge-gutter));padding-left:calc(var(--message-edge-gutter) - 2px)}
 .message-compose{padding-top:10px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));padding-left:max(10px,var(--safe-left,0px));padding-right:max(6px,var(--safe-right,0px));border-bottom:0}
 .messaging-layout[data-message-keyboard-open=true] .message-compose{padding-block:10px}
 .message-compose textarea{font-size:16px}
 .message-compose textarea[readonly][inputmode=none]{font-size:10px}
 .messaging-layout[data-chat-viewport-fixed=true]{min-height:var(--message-chat-flow-height)}
 .messaging-layout[data-chat-viewport-fixed=true] .messaging-conversation{position:fixed;z-index:29;top:var(--message-chat-viewport-top);left:var(--message-chat-viewport-left);width:var(--message-chat-viewport-width);height:var(--message-chat-viewport-height)!important;min-height:0;padding-top:0;border-bottom:0}
 .messaging-layout[data-chat-viewport-fixed=true] .messaging-conversation>.message-chat-heading{position:static;top:auto;left:auto;width:calc(100% + 2 * var(--message-edge-gutter));margin-block:0;margin-inline:calc(-1 * var(--message-edge-gutter))}
 .messaging-layout[data-chat-viewport-fixed=true] .message-thread{padding-block:min(10px,max(0px,calc((var(--message-chat-viewport-height) - var(--message-chat-heading-height) - 58px)/2)))}
 .messaging-layout[data-chat-viewport-fixed=true] .message-compose textarea{max-height:min(108px,max(32px,calc(var(--message-chat-viewport-height) - var(--message-chat-heading-height) - 42px)))}
}
.messaging-layout .messaging-conversation{border-inline-width:0;border-radius:0}
.messaging-layout[data-chat-header-fixed=true] .message-chat-heading{position:fixed;z-index:29;top:var(--message-chat-header-top);left:var(--message-chat-header-left);width:var(--message-chat-header-width);margin:0}
.messaging-layout[data-chat-header-fixed=true] .messaging-conversation{padding-top:var(--message-chat-header-space)}
.message-compose{align-items:center}
.message-compose textarea{height:32px;min-height:32px;padding:6px 10px;line-height:18px}
.message-compose textarea{border-color:var(--gold)}
.message-compose textarea:focus{outline:1px solid var(--gold);outline-offset:0}
/* The 32 px send circle uses the existing padding for its 44 px touch area. */
.message-compose-add{display:inline-flex;align-items:center;justify-content:center;flex:0 0 32px;width:32px;height:32px;color:var(--text);user-select:none;pointer-events:none}
.message-compose-add>svg{display:block;flex:none;width:26px;height:26px}
body.team-body .message-compose>button.message-send-button{align-self:center;width:44px!important;min-width:44px!important;max-width:44px!important;flex:0 0 44px!important;height:44px!important;min-height:44px!important;max-height:44px!important;margin-block:-6px!important;padding:0!important;border-radius:50%}
body.team-body .message-compose>button.message-send-button::before{inset:6px!important;border-radius:50%}
body.team-body .message-compose>button.message-send-button>svg{display:block;flex:none;width:18px;height:18px}
.messaging-layout,.message-dialog{ text-transform:uppercase }
.messaging-layout :is(.message-conversation-link,.message-chat-heading,.message-sender,.message-empty,.message-day),.message-dialog :is(input,.message-dialog-options label){text-transform:uppercase}
.messaging-layout .message-bubble{ text-transform:uppercase }
.messaging-layout :is(.message-body,.message-preview-body),.message-compose textarea{ text-transform:none }
.message-preview-label{ text-transform:uppercase }
.message-compose textarea::placeholder{ text-transform:uppercase }
body.team-body .message-dialog .message-group-name-button{font:inherit;text-align:left;white-space:normal;overflow-wrap:anywhere;justify-content:flex-start;padding-inline:0!important;height:auto!important;max-height:none!important}
body.team-body .message-dialog .message-group-name-button::before{border:0!important;background:transparent!important}
body.team-body .message-dialog .message-group-name-button:hover{color:var(--gold)}
body.team-body .message-dialog .message-group-name-button:focus-visible{outline:0;color:var(--gold)}
.message-new-actions{gap:0}
body.team-body .message-dialog .message-new-actions>button::before{inset-block:4px!important}
.team-nav a[aria-current] .message-badge{background:var(--bg);color:var(--gold)}
.message-conversation-link>.message-avatar{width:48px;height:48px;flex-basis:48px;font-size:15px}
.message-conversation-link>.message-group-avatar svg{width:24px;height:24px}
@media(max-width:760px){body.team-body :is(.management-page,.dashboard-page):has(>.message-thread-open)>.team-nav{margin-bottom:0}}
body.team-body :is(.management-page,.dashboard-page):has(> :is(#team-content,#dashboard-content)>.messaging-layout)>.workspace-footer{margin-top:0}
body.team-body :is(.management-page,.dashboard-page):has(>.message-thread-open)>.workspace-footer{display:none}

/* The touch keyboard stays in the chat flow, directly below the composer. */
.message-keyboard{display:none;--keyboard-bottom-extra:39px}
/* One shared keyboard serves public, team and modal form fields on touch devices. */
.site-keyboard-host{display:none}
.site-keyboard-host[popover]{inset:auto;margin:0;padding:0;border:0;background:transparent;max-width:none;max-height:none}
.site-keyboard-host[popover]::backdrop{background:transparent;backdrop-filter:none;pointer-events:none}
@media(max-width:760px){
 .site-keyboard-host[data-message-keyboard-open=true]{position:fixed;display:block;z-index:10020;top:var(--site-keyboard-top);left:var(--site-keyboard-left,0px);width:var(--site-keyboard-width,100%);overflow:visible}
 .site-keyboard-host>.message-keyboard:not([hidden]){width:100%;margin:0;max-height:var(--site-keyboard-max-height,60dvh)}
 body[data-site-keyboard-open=true]{padding-bottom:var(--site-keyboard-space,0px)}
 dialog[data-site-keyboard-dialog=true]{max-height:var(--site-keyboard-dialog-height)!important;bottom:var(--site-keyboard-space,0px)!important;overflow:auto;transform:none!important;translate:none!important}
 .site-keyboard-validation{display:block;margin-top:4px;color:#edaaa0;font-size:12px;line-height:1.4;text-transform:none}
}
@media(max-width:760px){
 .message-keyboard:not([hidden]){--keyboard-key-height:44px;--keyboard-key-gap:clamp(4px,1.4vw,6px);--keyboard-row-gap:clamp(8px,2.3vw,10px);position:relative;display:flex;flex:none;flex-direction:column;gap:0;max-height:min(360px,60dvh);overflow:visible;overscroll-behavior:contain;padding:12px max(clamp(4px,1.5vw,7px),var(--safe-right,0px)) calc(max(20px,calc(env(safe-area-inset-bottom,0px) + 8px)) + var(--keyboard-bottom-extra)) max(clamp(4px,1.5vw,7px),var(--safe-left,0px));border:1px solid var(--line);border-radius:24px;background:var(--surface-2);text-transform:none;touch-action:manipulation}
 .message-keyboard-keys{display:flex;flex-direction:column;gap:var(--keyboard-row-gap);min-width:0}
 .message-keyboard-row{display:flex;gap:var(--keyboard-key-gap);min-width:0}
 .message-keyboard-row-inset{margin-inline:5%}
 body .message-keyboard[role=group]:not([hidden]) button{position:relative;display:flex!important;align-items:center;justify-content:center;flex:1;min-width:0;height:var(--keyboard-key-height)!important;min-height:var(--keyboard-key-height)!important;max-height:var(--keyboard-key-height)!important;margin:0;padding:0!important;border:1px solid #4c554a!important;border-radius:7px;background:#30372f!important;color:#fff;font:400 clamp(20px,5.7vw,26px)/1 Arial,sans-serif;line-height:1!important;text-transform:none;box-shadow:0 1px 1px #0003;user-select:none;-webkit-user-select:none;touch-action:manipulation}
 body .message-keyboard[role=group]:not([hidden]) button::before{content:none!important;display:none!important}
 body .message-keyboard[role=group]:not([hidden]) button:active{background:#3d463c!important;color:#fff}
 body .message-keyboard[role=group]:not([hidden]) button[data-keyboard-pressed=true]{background:#232822!important;color:#fff}
 body .message-keyboard[role=group]:not([hidden]) button[data-keyboard-action=shift][aria-pressed=true]{border-color:var(--gold)!important}
 body .message-keyboard[role=group]:not([hidden]) button:focus-visible{outline:2px solid var(--gold);outline-offset:-3px}
 body .message-keyboard[role=group]:not([hidden]) button:disabled{opacity:.45}
 body .message-keyboard[role=group]:not([hidden]) .message-keyboard-key-wide{flex:1.35;font-size:clamp(16px,4.9vw,23px)}
 .message-keyboard[data-mode=letters] .message-keyboard-row:nth-child(3){--keyboard-letter-width:calc((100% - 9 * var(--keyboard-key-gap))/10)}
 body .message-keyboard[role=group]:not([hidden])[data-mode=letters] .message-keyboard-row:nth-child(3)>.message-keyboard-key{flex:0 0 var(--keyboard-letter-width)}
 body .message-keyboard[role=group]:not([hidden])[data-mode=letters] .message-keyboard-row:nth-child(3)>.message-keyboard-key-wide{flex-basis:calc(var(--keyboard-letter-width)*1.35)}
 .message-keyboard[data-mode=letters] .message-keyboard-row:nth-child(3)>.message-keyboard-key-wide:first-child{margin-right:auto}
 .message-keyboard[data-mode=letters] .message-keyboard-row:nth-child(3)>.message-keyboard-key-wide:last-child{margin-left:auto}
 body .message-keyboard[role=group]:not([hidden]):is([data-mode=numbers],[data-mode=symbols]) .message-keyboard-row:nth-child(3)>.message-keyboard-key-wide{flex:.92}
 body .message-keyboard[role=group]:not([hidden]) .message-keyboard-controls>.message-keyboard-key{flex:24;font-size:clamp(18px,5.5vw,24px)}
 body .message-keyboard[role=group]:not([hidden]) .message-keyboard-controls>.message-keyboard-key-space{flex:49}
 .message-keyboard-brand{position:absolute;right:6px;bottom:4px;color:var(--surface-2);font:800 12px/1 'Manrope',sans-serif;letter-spacing:-.4px;white-space:nowrap;pointer-events:none}
 .message-keyboard-icon{display:block;width:24px;height:24px;flex:none;pointer-events:none}
 .message-keyboard-controls>.message-keyboard-key:last-child .message-keyboard-icon{color:#fff}
 .message-keyboard-preview{position:absolute;z-index:3;display:flex;align-items:center;justify-content:center;height:56px;border:1px solid #4c554a;border-radius:10px;background:#30372f;color:#fff;font:400 36px/1 Arial,sans-serif;box-shadow:0 2px 5px #0005;pointer-events:none;user-select:none;-webkit-user-select:none}
 .message-keyboard-preview::after{content:"";position:absolute;top:100%;left:var(--message-keyboard-preview-tail-left,50%);width:10px;height:6px;transform:translateX(-50%);background:#30372f;clip-path:polygon(0 0,100% 0,50% 100%)}
 .message-keyboard-preview[data-placement=below]::after{top:auto;bottom:100%;clip-path:polygon(50% 0,100% 100%,0 100%)}
 .message-keyboard-variants{position:absolute;z-index:2;display:flex;gap:4px;max-width:calc(100% - 8px);padding:5px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2);box-shadow:0 3px 12px #0005}
 .message-keyboard-variants[hidden]{display:none!important}
 body .message-keyboard[role=group]:not([hidden]) .message-keyboard-variant{flex:1;min-width:24px;font-size:22px;--keyboard-key-height:40px}
 .messaging-layout[data-message-keyboard-open=true] .message-compose{border-bottom:0}
 /* Fill the rounded keyboard's outer top corners without covering its keys. */
 .messaging-layout[data-message-keyboard-open=true] .message-compose{position:relative}
 .messaging-layout[data-message-keyboard-open=true] .message-compose::after{content:"";position:absolute;z-index:0;top:100%;left:0;right:0;height:24px;background:var(--surface-2);pointer-events:none}
 .messaging-layout[data-message-keyboard-open=true] .messaging-conversation>.message-keyboard:not([hidden]){z-index:1}
 .messaging-layout[data-message-keyboard-open=true] .message-compose textarea{caret-color:var(--gold)}
}
@media(max-width:760px) and (max-height:520px){
 .message-keyboard:not([hidden]){--keyboard-key-height:32px;--keyboard-row-gap:3px;gap:0;max-height:min(60dvh,max(76px,calc(var(--message-chat-viewport-height,100dvh) - var(--message-chat-heading-height,58px) - 90px)),max(0px,calc(var(--message-chat-viewport-height,100dvh) - var(--message-chat-heading-height,58px) - 70px)));overflow:auto;padding-top:8px;padding-bottom:calc(max(10px,calc(env(safe-area-inset-bottom,0px) + 5px)) + var(--keyboard-bottom-extra));border-radius:16px}
 body .message-keyboard[role=group]:not([hidden]) button{font-size:21px}
 .message-keyboard-icon{width:21px;height:21px}
 .message-keyboard-preview{height:40px;font-size:28px}
 .messaging-layout[data-message-keyboard-open=true] .message-thread{padding-block:0}
 .messaging-layout[data-message-keyboard-open=true] .message-compose textarea{max-height:48px}
}
