.compose-tools{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:8px 0}.compose-tools small{font-size:10px;color:#526158}.compose-tools .char-count{margin-left:auto}.photo-pick,.photo-preview button,.new-messages{border:1px solid #91a095;background:#e4eade;color:#20352c;padding:9px 12px;font:inherit;font-size:12px;cursor:pointer}.photo-preview{display:flex;align-items:center;gap:12px;margin:10px 0}.photo-preview[hidden],.new-messages[hidden]{display:none}.photo-preview img{width:96px;height:72px;object-fit:contain;background:#e4eade;border-radius:6px}.photo-help{display:block;color:#627066;font-size:10px;line-height:1.5;margin:4px 0 12px}.message-photo{display:block;width:100%;max-width:330px;max-height:280px;object-fit:contain;border-radius:6px;margin-top:8px;background:#dfe4d9}.new-messages{display:block;margin:8px auto;border-radius:18px}textarea{resize:none}#chat-input{min-height:48px;max-height:150px;margin-bottom:0}#chat-form{padding-top:10px}#chat-panel[open]{display:flex;flex-direction:column}#chat-panel .chat-body{flex:1;min-height:80px;max-height:none;overscroll-behavior:contain}#chat-panel .chat-heading,#chat-form{flex-shrink:0}#chat-panel{height:min(780px,calc(100dvh - 110px));overflow:hidden}#chat-panel .chat-heading{padding:15px 20px}#chat-form .button{padding:12px 18px}#chat-form label{font-size:11px}#reply-form textarea{min-height:60px}#messages{overscroll-behavior:contain}.bubble p{white-space:pre-wrap;overflow-wrap:anywhere}input[type=file][hidden]{display:none}@media(max-width:480px){#chat-panel{inset:auto 8px 8px;width:calc(100vw - 16px);max-width:none;height:calc(100dvh - 24px);max-height:calc(100dvh - 24px)}#chat-form{padding:10px 16px 14px}.chat-message{margin-left:12px}.chat-message.operator{margin-right:12px}}

.photo-pick{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;padding:9px;border-radius:50%;flex-shrink:0}.photo-pick:hover:not(:disabled){background:#d0ddc8}.photo-pick:focus-visible{outline:2px solid #b94e24;outline-offset:3px}

.compose-input{position:relative}.compose-input textarea{padding-right:52px;min-height:44px}.compose-input .photo-pick{position:absolute;right:3px;bottom:10px;width:36px;height:36px;border:0;background:transparent;border-radius:8px;padding:7px}.compose-input .photo-pick:hover:not(:disabled){background:#dce5d5}.compose-tools{margin-top:7px}#chat-input{margin-bottom:0}
.receipt{display:block;text-align:right;font-size:10px;color:#798779;margin:8px 0 0}.receipt.is-read{color:#386e45}
/* Visitor chat refinement */
#chat-panel{width:420px;height:min(700px,calc(100dvh - 112px));border:1px solid #c7d0c2;border-radius:18px;box-shadow:0 20px 70px #10271f30;background:#f7f8f3}#chat-panel::backdrop{background:#15242230}#chat-panel .chat-heading{padding:20px 22px;align-items:center;background:#20352d;border-bottom:1px solid #344a3e}#chat-panel .chat-heading h2{font-size:20px;font-weight:600;letter-spacing:-.5px}#chat-panel .chat-heading p{font-size:10px;color:#c7d5c2;line-height:1.5;margin-top:6px}#chat-close{width:32px;height:32px;display:grid;place-items:center;align-self:center;line-height:1;font-size:23px;border-radius:50%;background:#ffffff0c;color:#e3eadd}#chat-close:hover{background:#ffffff20}#chat-panel .chat-body{padding:16px 18px 12px;color:#677365;scrollbar-width:thin;scrollbar-color:#bdc8b7 transparent;background:#f2f5ed}#chat-panel .chat-body>p:first-child{font-size:11px;line-height:1.65;padding:0 8px 12px;margin:0 0 10px;text-align:center;color:#788373}#chat-messages .chat-message{width:fit-content;max-width:86%;margin:0 0 12px auto;padding:11px 14px;border-radius:14px 14px 4px 14px;background:#e1ebd8;border:1px solid #d6e1ce;color:#29402f;font-size:13px;line-height:1.55;white-space:normal;box-shadow:0 1px 2px #20352d04}#chat-messages .chat-message.operator{margin:0 auto 12px 0;background:#fff;border-color:#e1e7dc;border-radius:14px 14px 14px 4px}#chat-messages .chat-message p{margin:5px 0 0;white-space:pre-wrap}#chat-messages .chat-message>small:first-child{font-size:9px;color:#7a8774;display:block}#chat-messages .receipt{font-size:9px;margin-top:7px;line-height:1.3}#chat-messages .message-photo{border-radius:8px;max-height:220px;margin-top:8px}#chat-status{font-size:10px;line-height:1.5;color:#7b8775;margin:8px 4px 0}#chat-form{padding:13px 16px 16px;background:#fcfdf9;border-top:1px solid #dfe6d7;display:grid;grid-template-columns:1fr auto;gap:7px 12px}#chat-form>label{grid-column:1/-1;font-size:10px;color:#64745c;font-weight:500;margin:0 2px 1px}#chat-form .compose-input{grid-column:1/-1}#chat-form #chat-input{border:1px solid #ccd7c4;border-radius:12px;background:white;padding:12px 48px 12px 13px;min-height:44px;line-height:1.5;font-size:13px;color:#273c2c;box-shadow:none}#chat-form #chat-input:focus{border-color:#8ca47b;box-shadow:0 0 0 2px #c6d8b84d}#chat-form #chat-input::placeholder{color:#98a08f}#chat-form .photo-pick{bottom:12px;right:7px;color:#536e45}#chat-form .compose-tools{margin:0;align-self:center}#chat-form .char-count{margin:0 2px;font-size:9px;color:#909b87}#chat-form>.button{width:auto;min-width:118px;padding:11px 18px;border-radius:9px;font-size:12px;background:#294331;grid-column:2;grid-row:3;justify-content:center}#chat-form>.button:hover:not(:disabled){background:#3c5a44;transform:none}#chat-form>.button:disabled{background:#e4e9df;color:#9ba593;opacity:1;cursor:default}#chat-form .photo-preview{grid-column:1/-1;grid-row:3;margin:0}#chat-form:has(.photo-preview:not([hidden]))>.button{grid-row:4}#chat-form:has(.photo-preview:not([hidden]))>.compose-tools{grid-row:4}#chat-panel .new-messages{font-size:11px;padding:6px 14px;margin:6px auto;background:#e6eede;border-color:#bdcdb2;box-shadow:0 2px 8px #20352d10}@media(max-width:480px){#chat-panel{inset:auto 8px 8px;width:calc(100vw - 16px);height:calc(100dvh - 24px);max-height:calc(100dvh - 24px);border-radius:16px}#chat-panel .chat-heading{padding:16px 18px}#chat-panel .chat-body{padding:14px 12px}#chat-messages .chat-message{max-width:90%}#chat-form{padding:12px 14px 14px}}

#chat-panel{border:0}


/* Shared type scale */
#chat-messages .chat-message>small:first-child,.bubble small{font-size:11px}
#chat-messages .receipt,.receipt{font-size:10px!important}
#chat-panel .chat-heading p{font-size:11px}
#chat-form>label,#reply-form>label{font-size:12px}
#chat-form .char-count{font-size:10px}

.waiting-notice{padding:12px 14px;background:#f8ead9;border:1px solid #e9d3b4;border-radius:10px;font-size:12px;line-height:1.6;color:#775632}.waiting-notice[hidden]{display:none}

#chat-form .compose-tools{display:none}


.waiting-notice a{color:inherit;text-decoration:underline;text-underline-offset:3px;font-weight:600;white-space:nowrap}.waiting-notice a:focus-visible{outline:2px solid #875335;outline-offset:3px}

.chat-launch{border:0;border-radius:14px;padding:15px 22px;background:#ff783e;color:#202b2b;font-size:13px;font-weight:600;box-shadow:0 5px 18px #20352d20;transition:background .2s,box-shadow .2s}.chat-launch:hover{background:#ff8957;box-shadow:0 7px 22px #20352d28}.chat-launch:focus-visible{outline:3px solid #294331;outline-offset:4px}@media(prefers-reduced-motion:reduce){.chat-launch{transition:none}}

.chat-launch[hidden]{display:none}.chat-launch:not([hidden]){animation:chat-launch-appear .35s ease-out}@keyframes chat-launch-appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.chat-launch:not([hidden]){animation:none}}

.chat-launch{display:flex;align-items:center;gap:10px}.chat-unread{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:12px;background:#20352d;color:#fff;font-size:11px;font-weight:700}.chat-unread[hidden]{display:none}#chat-panel{bottom:24px;right:24px;height:min(700px,calc(100dvh - 48px));max-height:calc(100dvh - 48px);transform-origin:bottom right}#chat-panel[open]{animation:chat-expand .3s cubic-bezier(.2,.75,.25,1)}@keyframes chat-expand{from{opacity:0;transform:scale(.46,.08)}to{opacity:1;transform:scale(1)}}@media(max-width:480px){#chat-panel{bottom:16px;right:16px;left:auto;width:calc(100vw - 32px);height:calc(100dvh - 32px);max-height:calc(100dvh - 32px)}}@media(prefers-reduced-motion:reduce){#chat-panel[open]{animation:none}}

#chat-panel[open].chat-closing{animation:chat-collapse .25s cubic-bezier(.4,0,.8,.3) forwards;pointer-events:none}#chat-panel.chat-closing::backdrop{background:transparent;transition:background .25s}@keyframes chat-collapse{from{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.46,.08)}}@media(prefers-reduced-motion:reduce){#chat-panel[open].chat-closing{animation:none}}

#chat-form{grid-template-columns:minmax(0,1fr) 44px;gap:8px;align-items:end}#chat-form .compose-input{grid-column:1;grid-row:2;min-width:0}#chat-form>.button.send-icon,#chat-form:has(.photo-preview:not([hidden]))>.button.send-icon{grid-column:2;grid-row:2;width:44px;min-width:44px;height:44px;padding:10px;align-self:end;margin-bottom:8px;border-radius:12px}#chat-form .photo-preview{grid-row:3;grid-column:1/-1}#chat-form #chat-input{max-height:160px;overflow-y:auto;scrollbar-width:thin}#chat-form .photo-pick{right:10px}#chat-form>.send-icon[aria-busy=true]{opacity:.6}

/* Accessible names without visible labels above the composers. */
#chat-form>label,#reply-form>label{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap;border:0;grid-area:auto!important}
#chat-form .compose-input,#reply-form .compose-input{grid-row:1}
#chat-form>.button.send-icon,#chat-form:has(.photo-preview:not([hidden]))>.button.send-icon,#reply-form>button.send-icon{grid-row:1}
#chat-form .photo-preview,#reply-form .photo-preview{grid-row:2}
#reply-form #reply-hint{grid-row:3}
/* One shared composer row: hidden labels never reserve layout space. */
#chat-form,#reply-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;padding-top:14px;padding-bottom:14px}
#chat-form .compose-input,#reply-form .compose-input{flex:1 1 0;min-width:0;margin:0}
#chat-form #chat-input,#reply-form #reply{display:block;margin:0;max-height:160px;overflow-y:auto;scrollbar-width:thin;scrollbar-gutter:stable;padding-right:60px;line-height:1.5}
#chat-form>.button.send-icon,#chat-form:has(.photo-preview:not([hidden]))>.button.send-icon,#reply-form>button.send-icon{display:grid;place-items:center;flex:0 0 44px;width:44px;min-width:44px;height:44px;margin:0;padding:10px;align-self:flex-end}
#chat-form .photo-pick,#reply-form .photo-pick{right:20px;bottom:10px;margin:0}
#chat-form .photo-preview,#reply-form .photo-preview,#reply-form #reply-hint{flex:0 0 100%;margin:0}
#chat-form .photo-preview{order:3}#reply-form .photo-preview{order:3}#reply-form #reply-hint{order:4}
#chat-form .compose-tools,#reply-form .compose-tools{display:none}

.foldable-message.is-collapsed{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:6;overflow:hidden;max-height:9.3em}#chat-messages .message-expand,#messages .message-expand{display:block;border:0;background:transparent;color:#406b36;padding:6px 0 0;margin:3px 0 0;min-height:30px;font:inherit;font-size:12px;font-weight:600;text-align:left;cursor:pointer;border-radius:3px}#chat-messages .message-expand:hover,#messages .message-expand:hover{text-decoration:underline}#chat-messages .message-expand:focus-visible,#messages .message-expand:focus-visible{outline:2px solid #78936b;outline-offset:3px}

/* Shipment requests remain expanded and distinct from ordinary messages. */
#chat-messages .shipment-request,#messages .shipment-request{background:#fff3e5;border:1px solid #ecd0ae;border-left:4px solid #ed793c;width:100%;max-width:100%;box-sizing:border-box;margin-left:0;margin-right:0;white-space:normal}
#chat-messages .shipment-request-title,#messages .shipment-request-title{display:block;margin:10px 0 12px;color:#914013;font-size:15px;font-weight:700;line-height:1.4}
#chat-messages .shipment-request p,#messages .shipment-request p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7}

/* Balanced send control: centred beside the composer, with a clear silhouette. */
#chat-form>.button.send-icon,#chat-form:has(.photo-preview:not([hidden]))>.button.send-icon,#reply-form>button.send-icon{align-self:center;border-radius:50%;padding:10px;border:0;background:#284d36;color:#fff;--send-cutout:#284d36;opacity:1;box-shadow:none;transition:background .18s ease,color .18s ease,transform .18s ease}
#chat-form>.button.send-icon:disabled,#reply-form>button.send-icon:disabled{background:transparent;color:#a2ada2;--send-cutout:#fafbf6;opacity:1;cursor:default}
#chat-form>.button.send-icon:not(:disabled):hover,#reply-form>button.send-icon:not(:disabled):hover{background:#365f43;--send-cutout:#365f43;transform:translateY(-1px)}
#chat-form>.button.send-icon svg,#reply-form>button.send-icon svg{display:block;width:24px;height:24px}
@media(prefers-reduced-motion:reduce){#chat-form>.button.send-icon,#reply-form>button.send-icon{transition:none}}

/* Native accessible template picker presented as an icon beside attachments. */
#reply-form .compose-input .reply-templates{position:absolute;right:56px;bottom:10px;width:32px;height:32px;padding:0;margin:0;display:grid;place-items:center;color:#4e7045;border-radius:8px}
#reply-form .reply-templates>span{display:grid;place-items:center;pointer-events:none}
#reply-form .compose-input .reply-templates select{position:absolute;inset:0;width:32px;height:32px;min-height:0;margin:0;padding:0;opacity:0;cursor:pointer}
#reply-form .reply-templates:hover,#reply-form .reply-templates:focus-within{background:#e9efdf}
#reply-form .reply-templates:focus-within{outline:2px solid #a5ba96;outline-offset:1px}
#reply-form .reply-templates:has(select:disabled){opacity:.45}
#reply-form #reply{padding-right:96px}

#reply-form #reply-template{display:grid;place-items:center;width:32px;height:32px;min-width:0;min-height:0;padding:0;margin:0;border:0;background:transparent;color:#294638;border-radius:8px;cursor:pointer}
#reply-form #reply-template:hover,#reply-form #reply-template[aria-expanded=true]{background:#e9efdf}
#reply-form .photo-pick{color:#294638}
#reply-form #template-popup{position:absolute;bottom:calc(100% + 10px);right:0;width:min(380px,100%);background:#fff;border:1px solid #dce5d6;border-radius:14px;box-shadow:0 12px 32px #20372b24;overflow:hidden;z-index:20;animation:template-appear .16s ease-out}
.template-popup-heading{padding:14px 16px 11px;font-size:13px;font-weight:600;color:#294638;border-bottom:1px solid #edf0e8}
.template-choices{max-height:min(320px,40dvh);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:6px}
#reply-form .template-choice{display:block;width:100%;text-align:left;white-space:normal;margin:0;padding:11px 10px;border:0;border-radius:9px;background:transparent;color:#294638}
#reply-form .template-choice:hover,#reply-form .template-choice:focus-visible{background:#edf3e7}
.template-choice strong{display:block;font-size:13px;font-weight:600;margin-bottom:5px}
.template-choice span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;font-size:12px;line-height:1.5;color:#748071;overflow-wrap:anywhere}
.template-choices>p{font-size:12px;padding:8px;color:#748071}
@keyframes template-appear{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){#reply-form #template-popup{animation:none}}

#reply-form .template-choice span{font-weight:400}

/* Compact previews and matching attachment/template button geometry. */
#reply-form .compose-input .reply-templates{width:36px;height:36px;right:60px;bottom:10px}
#reply-form #reply-template{width:36px;height:36px;padding:7px}
#reply-form #reply-template svg,#reply-form .photo-pick svg{display:block;width:21px;height:21px;flex-shrink:0}
#reply-form .photo-pick{display:grid;place-items:center;width:36px;height:36px;padding:7px;bottom:10px}
#reply-form #reply{padding-right:104px}
#reply-form #template-popup{width:min(420px,100%)}
.template-popup-heading{padding:10px 14px 8px}
.template-choices{max-height:min(390px,50dvh);padding:4px}
#reply-form .template-choice{padding:8px 10px}
.template-choice strong{font-size:12px;margin-bottom:3px}
#reply-form .template-choice span{font-size:12px;line-height:1.4;-webkit-line-clamp:2;font-weight:400}

#reply-form .photo-pick,#reply-form #reply-template{min-height:36px;max-height:36px;box-sizing:border-box}

@media(max-width:650px){
 #chat-form #chat-input,#reply-form #reply{font-size:16px}
 #reply-form #reply{padding-right:110px}
 #chat-form .photo-pick,#reply-form .photo-pick,#reply-form #reply-template{width:44px;height:44px;min-height:44px;max-height:44px;padding:11px;bottom:8px}
 #reply-form .compose-input .reply-templates{width:44px;height:44px;right:64px;bottom:8px}
 #chat-form .photo-pick,#reply-form .photo-pick{right:16px}
 #chat-close{min-width:44px;min-height:44px}
 #reply-form #template-popup{width:100%;max-width:100%}
 #reply-form .template-choice{min-height:44px;padding:10px}
 .template-choices{max-height:40dvh}
 #chat-panel{max-height:calc(100dvh - 16px)}
}

@media(max-width:650px){#chat-panel{inset:8px;margin:0;width:auto;max-width:none;height:auto;max-height:none;border-radius:16px}}
/* Visitor-facing chat follows the public brand palette. */
#chat-panel{background:#f7f8fa;color:#202833;box-shadow:0 20px 70px #14213630}#chat-panel .chat-heading{background:#202833;border-color:#3c4959}#chat-panel .chat-heading p{color:#c6d4e5}#chat-panel .chat-body{background:#f1f4f8;color:#647080;scrollbar-color:#b9c7d8 transparent}#chat-panel .chat-body>p:first-child{color:#68788b}#chat-messages .chat-message{background:#e3edfa;border-color:#ccdaec;color:#263d59}#chat-messages .chat-message.operator{background:white;border-color:#dce3ec}#chat-messages .chat-message>small:first-child,#chat-messages .receipt,#chat-status{color:#687b92}#chat-messages .receipt.is-read{color:#2466b8}#chat-form{background:#fff;border-color:#dbe2ec}#chat-form #chat-input{border-color:#c4d0df;color:#263d59}#chat-form #chat-input:focus{border-color:#2466b8;box-shadow:0 0 0 2px #2466b822}#chat-form .photo-pick{color:#315c8a}#chat-form .photo-pick:hover{background:#e7effa}#chat-form>.button{background:#2466b8;color:white}#chat-form>.button:hover:not(:disabled){background:#1b5195}#chat-form>.button:disabled{background:#e5eaf1;color:#8b9aae}#chat-panel .new-messages{background:#e7effa;color:#315c8a;border-color:#bdcfe5}#chat-panel .waiting-notice{background:#e7effa;border-color:#bfd2e9;color:#315981}#chat-panel .message-toggle{color:#2466b8}
.chat-launch{background:#2466b8;color:#fff;box-shadow:0 5px 18px #14213620}.chat-launch:hover{background:#1b5195}.chat-launch:focus-visible{outline-color:#2466b8}.chat-unread{background:#fff;color:#1b5195}
/* Brand colors shared by visitor and logistician composers. */
.photo-help,.compose-tools small,.template-choice span,.template-choices>p{color:#647080}.photo-preview img,.message-photo{background:#e9edf2}.photo-pick,.photo-preview button,.new-messages{color:#315981;border-color:#bdcfe5;background:#e7effa}.photo-pick:focus-visible,.waiting-notice a:focus-visible{outline-color:#2466b8}
.receipt{color:#687b92!important}.receipt.is-read{color:#2466b8!important}
#reply-form #reply-template,#reply-form .photo-pick,.template-popup-heading,#reply-form .template-choice{color:#315981}
#reply-form .reply-templates:hover,#reply-form .reply-templates:focus-within,#reply-form #reply-template:hover,#reply-form #reply-template[aria-expanded=true],.compose-input .photo-pick:hover:not(:disabled),#reply-form .template-choice:hover,#reply-form .template-choice:focus-visible{background:#e7effa}
#reply-form .reply-templates:focus-within{outline-color:#2466b8}#reply-form #template-popup{border-color:#d3dce7;box-shadow:0 12px 32px #14213624}.template-popup-heading{border-color:#dbe2ec}
#chat-form>.button.send-icon,#reply-form>button.send-icon{background:#2466b8;color:#fff;--send-cutout:#2466b8}
#chat-form>.button.send-icon:not(:disabled):hover,#reply-form>button.send-icon:not(:disabled):hover{background:#1b5195;--send-cutout:#1b5195}
#chat-form>.button.send-icon:disabled,#reply-form>button.send-icon:disabled{background:transparent;color:#94a2b5;--send-cutout:#fff}
#chat-form #chat-input::placeholder,#reply-form #reply::placeholder{color:#8592a4}
#chat-messages .shipment-request,#messages .shipment-request{background:#edf4fd;border-color:#c4d7ee;border-left-color:#2466b8}#chat-messages .shipment-request-title,#messages .shipment-request-title{color:#1b5195}.message-toggle{color:#2466b8}
#chat-close{color:#edf3fa}#chat-panel::backdrop{background:#14213630}

/* Override the generic launcher entrance while the truck delivers it. */
.chat-launch.chat-arriving:not([hidden]){animation:chat-button-delivery 4.6s both;pointer-events:none;box-shadow:none}
@keyframes chat-button-delivery{0%,49.99%{opacity:0;transform:none}50%,100%{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.chat-launch.chat-arriving:not([hidden]){animation:none;pointer-events:auto}}

.chat-launch.chat-delivered:not([hidden]){animation:none;opacity:1;transform:none}

.chat-launch.chat-delivered.chat-breathe:not([hidden]){animation:chat-soft-breathe 2.8s ease-in-out 2}
@keyframes chat-soft-breathe{0%,100%{box-shadow:0 5px 18px #14213620}50%{box-shadow:0 5px 22px #2466b844,0 0 0 5px #70b3ff12,0 0 25px #70b3ff45}}
@media(prefers-reduced-motion:reduce){.chat-launch.chat-delivered.chat-breathe:not([hidden]){animation:none}}

/* Match the dialog backing to its header to avoid a pale antialiasing seam. */
#chat-panel{background:#202833;border:0}

#chat-form>.consent-block{grid-column:1/-1;grid-row:4;margin:4px 0 0}#chat-form .consent-check{display:flex;font-size:11px;line-height:1.5;color:#526478;font-weight:400;gap:8px}#chat-form .consent-check input{width:18px;height:18px;flex:0 0 18px;margin:2px 0;padding:0}#chat-form .privacy-link{font-size:11px}

#chat-form>.consent-block[hidden]{display:none}

.chat-reply-notice{position:absolute;right:0;bottom:calc(100% + 10px);padding:11px 15px;border:1px solid #cbdcf2;border-radius:12px;background:#fff;color:#245c9f;font-size:13px;font-weight:500;white-space:nowrap;box-shadow:0 5px 22px #14213618}.chat-reply-notice[hidden]{display:none}.chat-launch.has-reply .chat-unread{background:#fff;color:#1b5195;min-width:24px;height:24px;font-weight:800}.chat-launch.chat-reply-glow:not([hidden]){animation:chat-soft-breathe 2.4s ease-in-out 2}@media(prefers-reduced-motion:reduce){.chat-launch.chat-reply-glow:not([hidden]){animation:none}}
.typing-indicator{display:flex;align-items:center;gap:6px;color:#647080;font-size:12px;padding:8px 16px;margin:0}.typing-indicator[hidden]{display:none}.typing-indicator span{display:flex;gap:3px}.typing-indicator i{width:4px;height:4px;border-radius:50%;background:#2466b8;animation:typing-dot 1.2s infinite}.typing-indicator i:nth-child(2){animation-delay:.15s}.typing-indicator i:nth-child(3){animation-delay:.3s}@keyframes typing-dot{0%,60%,100%{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
.message-enter{animation:message-enter .24s ease-out}.photo-preview:not([hidden]){animation:message-enter .24s ease-out;flex-wrap:wrap}.photo-upload-state{color:#647080;font-size:12px}.photo-preview.uploading .photo-upload-state{animation:upload-pulse 1s infinite alternate}@keyframes message-enter{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@keyframes upload-pulse{to{opacity:.45}}@media(prefers-reduced-motion:reduce){.message-enter,.photo-preview:not([hidden]),.typing-indicator i,.photo-preview.uploading .photo-upload-state{animation:none}}
/* Free space stays above short histories; overflow keeps normal chronological scrolling. */
#chat-panel .chat-body{display:flex;flex-direction:column;overflow-y:auto}
#chat-panel .chat-body>*{flex-shrink:0}
#chat-messages{margin-top:auto}
#chat-status:empty{display:none}
#messages{display:flex;flex-direction:column}
#messages:before{content:'';margin-top:auto;flex:0 0 0}
#messages>.bubble{flex-shrink:0}

/* Compact single-line composer on desktop and phones. */
#chat-form #chat-input,#reply-form #reply{min-height:44px;line-height:22px;padding-top:10px;padding-bottom:10px;max-height:182px;box-sizing:border-box}#chat-form .photo-pick,#reply-form .photo-pick,#reply-form #reply-template{bottom:0;width:44px;height:44px;min-height:44px;max-height:44px;box-sizing:border-box;padding:11px}
#reply-form .compose-input .reply-templates{bottom:0;height:44px}
#chat-form>.button.send-icon,#chat-form:has(.photo-preview:not([hidden]))>.button.send-icon,#reply-form>button.send-icon{align-self:end;margin:0}
#chat-form>.button.send-icon,#reply-form>button.send-icon{transform:none!important}
