/* Private chat between the customer and the driver. */
.chat-dialog{width:calc(100% - 32px);max-width:480px;height:min(720px,calc(100svh - 48px));max-height:none;padding:0;border:0;border-radius:26px;background:#fff;color:#15231b;box-shadow:0 20px 60px #0b1a1240;overflow:hidden}
.chat-dialog[open]{display:flex;flex-direction:column}
.chat-dialog::backdrop{background:#0b1a1259}
.chat-head{display:flex;align-items:center;gap:12px;padding:calc(14px + env(safe-area-inset-top,0px)) 16px 14px;border-bottom:1px solid #e6ece8;background:#fff}
.chat-avatar{display:grid;place-items:center;width:42px;height:42px;flex-shrink:0;border-radius:50%;background:#2b875b;color:#fff}
.chat-avatar svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.chat-head>div{flex:1;min-width:0}.chat-head strong{display:block;overflow:hidden;font-size:16px;text-overflow:ellipsis;white-space:nowrap}.chat-head small{display:flex;align-items:center;gap:5px;color:#6a7a70;font-size:12px}
.chat-head small:before{content:"";width:8px;height:8px;border-radius:50%;background:#2b875b}
.chat-close{display:grid;place-items:center;width:42px;height:42px;flex-shrink:0;border:0;border-radius:50%;background:#f0f4f1;color:#15231b;cursor:pointer}
.chat-close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.chat-scroll{flex:1;display:flex;flex-direction:column;padding:16px;overflow-y:auto;background:#f3f6f4;overscroll-behavior:contain}
.chat-thread{display:flex;flex-direction:column;gap:8px}
.chat-empty{margin:auto;max-width:260px;color:#6a7a70;font-size:14px;line-height:1.5;text-align:center}
.chat-msg{display:flex;flex-direction:column;max-width:82%}
.chat-msg p{margin:0;padding:10px 13px;border-radius:19px;font-size:15px;line-height:1.4;white-space:pre-wrap;overflow-wrap:anywhere}
.chat-msg time{margin:3px 8px 0;color:#8a998f;font-size:10px}
.chat-msg.mine{align-self:flex-end;align-items:flex-end}.chat-msg.mine p{border-bottom-right-radius:6px;background:#2b875b;color:#fff}
.chat-msg.theirs{align-self:flex-start}.chat-msg.theirs p{border:1px solid #e3eae5;border-bottom-left-radius:6px;background:#fff}
.chat-quick{display:flex;gap:8px;padding:10px 12px 0;overflow-x:auto;background:#fff;scrollbar-width:none}
.chat-quick::-webkit-scrollbar{display:none}
.chat-quick button{flex-shrink:0;min-height:36px;padding:0 13px;border:1px solid #d6e6db;border-radius:18px;background:#f2f8f4;color:#246b48;font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.chat-form{display:flex;align-items:center;gap:8px;padding:10px 12px calc(12px + env(safe-area-inset-bottom,0px));background:#fff}
.chat-form input{flex:1;min-width:0;min-height:48px;padding:0 16px;border:1px solid #dfe7e2;border-radius:24px;background:#f5f8f6;color:#15231b;font:inherit;font-size:16px}
.chat-form input:focus{outline:0;border-color:#2b875b;background:#fff}
.chat-form button{display:grid;place-items:center;width:48px;height:48px;flex-shrink:0;border:0;border-radius:50%;background:#2b875b;color:#fff;cursor:pointer}
.chat-form button:disabled{opacity:.5}
.chat-form svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.chat-closed{margin:0;padding:14px 16px calc(14px + env(safe-area-inset-bottom,0px));color:#6a7a70;font-size:13px;text-align:center}
.chat-dialog [hidden]{display:none!important}
.chat-dialog .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.chat-badge{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:#d64b3c;color:#fff;font-size:11px;font-style:normal;font-weight:800;line-height:1}
@media(max-width:600px){.chat-dialog{width:100%;max-width:none;height:100svh;max-height:100svh;margin:0;border-radius:0}}
