.support-chat { position: fixed; z-index: 1200; right: max(18px,env(safe-area-inset-right,0px)); bottom: 20px; width: 380px; max-width: calc(100vw - 28px); height: min(620px,calc(100dvh - 36px)); display: flex; flex-direction: column; background: #fff; color: #20354d; border: 1px solid #e4e9ee; border-radius: 14px; box-shadow: 0 12px 50px rgba(20,40,60,.24); padding: 0; font-family: 'poppins-regular',sans-serif; }
.support-chat[hidden], .support-chat [hidden] { display:none !important; }
.support-chat-header { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:20px; background:#20354d; color:#fff; border-radius:13px 13px 0 0; flex-shrink:0; }
.support-chat-header h2 { font-size:19px; margin:0 0 5px; color:#fff; }
.support-chat-header p { font-size:11px; line-height:1.6; color:#c8d2de; margin:0; }
.support-chat-header button { flex-shrink:0; width:32px; height:32px; padding:0; border:0; background:rgba(255,255,255,.1); color:#fff; border-radius:50%; cursor:pointer; }
.support-chat-start { padding:20px; overflow-y:auto; min-height:0; }
.support-chat-start p { font-size:12px; line-height:1.7; color:#667486; margin-bottom:16px; }
.support-chat label { display:block; font-size:12px; margin:10px 0 5px; }
.support-chat input, .support-chat textarea { width:100%; border:1px solid #dce3ea; border-radius:5px; padding:10px 12px; color:#20354d; background:#fff; font-family:inherit; font-size:14px; line-height:1.6; box-sizing:border-box; }
.support-chat textarea { resize:vertical; min-height:62px; max-height:180px; }
.support-chat :is(button,input,textarea):focus-visible { outline:3px solid #ee7e16; outline-offset:2px; }
.support-chat-send { border:0; border-radius:5px; background:#ee7e16; color:#fff; min-height:44px; padding:10px 16px; cursor:pointer; font-size:13px; }
.support-chat-start .support-chat-send { width:100%; margin-top:14px; }
.support-chat-send:disabled { opacity:.6; cursor:wait; }
.support-chat-conversation { display:flex; flex-direction:column; flex:1; min-height:0; }
.support-chat-note { font-size:11px; line-height:1.6; padding:12px 16px; margin:0; color:#667486; border-bottom:1px solid #edf0f3; }
.support-chat-messages { padding:16px; overflow-y:auto; flex:1; min-height:90px; overscroll-behavior:contain; }
.support-chat-bubble { padding:10px 13px; margin:0 28px 12px 0; border-radius:9px; background:#f0f3f7; color:#20354d; font-size:13px; line-height:1.7; white-space:pre-wrap; overflow-wrap:anywhere; }
.support-chat-bubble[data-direction='visitor'] { margin:0 0 12px 28px; background:#fff2e5; }
.support-chat-bubble small { display:block; font-size:10px; color:#758394; margin-top:4px; white-space:normal; }
.support-chat-compose { display:flex; gap:8px; padding:12px; border-top:1px solid #e4e9ee; align-items:flex-end; }
.support-chat-compose textarea { flex:1; min-width:0; }
.support-chat-compose .support-chat-send { flex:0 0 44px; width:44px; padding:0; }
.support-chat-new { display:block; border:0; background:none; font-size:11px; color:#667486; margin:0 auto 8px; cursor:pointer; text-decoration:underline; }
.support-chat-status { min-height:18px; padding:0 16px; margin:0 0 10px; font-size:11px; line-height:1.6; color:#667486; }
.support-chat-fallback { flex-shrink:0; font-size:11px; color:#435c75; text-decoration:underline; text-align:center; padding:0 12px 12px; }
.support-chat-sr-only { position:absolute; width:1px; height:1px; padding:0 !important; margin:-1px !important; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
@media(max-width:767px) {
    .support-chat { right:10px; left:10px; bottom:max(10px,env(safe-area-inset-bottom,0px)); width:auto; max-width:none; height:min(620px,calc(100dvh - 20px)); border-radius:12px; }
    .support-chat input, .support-chat textarea { font-size:16px; }
}
