/* Чат клиента с помощницей мастера — как мессенджер, на весь экран */
html,body.chat-page{height:100%}
body.chat-page{padding:0!important;background:var(--bg)}
.chat-app{max-width:720px;margin:0 auto;height:100%;display:flex;flex-direction:column;background:#EFEFF4;position:relative}
@media (min-width:760px){
  body.chat-page{padding:24px 0!important}
  .chat-app{height:calc(100vh - 48px);border-radius:28px;overflow:hidden;box-shadow:var(--sh-2)}
}
.chat-head{display:flex;align-items:center;gap:12px;padding:calc(10px + env(safe-area-inset-top,0px)) max(14px,env(safe-area-inset-right,0px)) 10px max(10px,env(safe-area-inset-left,0px));
  background:rgba(255,255,255,.86);-webkit-backdrop-filter:saturate(1.8) blur(20px);backdrop-filter:saturate(1.8) blur(20px);border-bottom:1px solid rgba(0,0,0,.06);z-index:2}
.chat-back{font-size:34px;line-height:1;color:var(--accent-d)!important;text-decoration:none;padding:0 6px 4px}
.chat-ava{position:relative;flex:none}
.chat-ava img{width:44px;height:44px;border-radius:50%;object-fit:cover;display:block}
.chat-ava i{position:absolute;right:0;bottom:1px;width:12px;height:12px;border-radius:50%;background:#34C759;border:2px solid #fff}
.chat-who{display:grid;line-height:1.2;min-width:0;flex:1}
.chat-who b{font-size:17px}
.chat-who small{font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat-call{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-d)!important;flex:none}

.chat-log{flex:1;overflow-y:auto;padding:16px max(14px,env(safe-area-inset-right,0px)) 12px max(14px,env(safe-area-inset-left,0px));display:flex;flex-direction:column;gap:6px;-webkit-overflow-scrolling:touch}
.chat-day{align-self:center;font-size:12px;font-weight:600;color:var(--muted);background:rgba(255,255,255,.7);padding:3px 10px;border-radius:999px;margin-bottom:6px}
.msg{max-width:82%;padding:10px 14px;border-radius:20px;font-size:16px;line-height:1.42;white-space:pre-wrap;word-wrap:break-word;animation:msgIn .25s var(--ease)}
.msg.in{align-self:flex-start;background:#fff;color:var(--ink);border-bottom-left-radius:6px;box-shadow:0 1px 1px rgba(0,0,0,.05)}
.msg.out{align-self:flex-end;background:var(--accent);color:#fff;border-bottom-right-radius:6px}
.msg.out + .msg.out,.msg.in + .msg.in{margin-top:-2px}
.msg.typing{display:flex;gap:4px;align-items:center;padding:14px 16px}
.msg.typing i{width:7px;height:7px;border-radius:50%;background:#B8B8BE;animation:dot 1.2s infinite}
.msg.typing i:nth-child(2){animation-delay:.15s}.msg.typing i:nth-child(3){animation-delay:.3s}
.msg.err{align-self:center;background:#FDECEC;color:#C0362B;font-size:14px;border-radius:14px}
.msg a{color:inherit;text-decoration:underline;word-break:break-all}
@keyframes dot{0%,60%,100%{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
@keyframes msgIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

.chat-off{margin:0 14px 8px;background:#FFF6EF;border-radius:14px;padding:10px 14px;font-size:14px}
.chat-chips{display:flex;gap:8px;overflow-x:auto;padding:4px max(14px,env(safe-area-inset-right,0px)) 8px max(14px,env(safe-area-inset-left,0px));scrollbar-width:none}
.chat-chips::-webkit-scrollbar{display:none}
.chat-chip{flex:none;font:inherit;font-size:14px;font-weight:600;border:1px solid rgba(0,0,0,.08);background:#fff;color:var(--ink)!important;border-radius:999px;padding:8px 14px;cursor:pointer;text-decoration:none;white-space:nowrap}
.chat-chip.ghost{background:transparent;border-style:dashed;color:var(--accent-d)!important}
.chat-chip:hover{border-color:var(--accent)}
.chat-form{display:flex;align-items:flex-end;gap:8px;padding:8px max(10px,env(safe-area-inset-right,0px)) 6px max(10px,env(safe-area-inset-left,0px));background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid rgba(0,0,0,.06)}
.chat-form textarea{flex:1;min-width:0;font:inherit;font-size:16px;line-height:1.35;resize:none;max-height:120px;min-height:44px;padding:11px 16px;border-radius:22px;border:1px solid rgba(0,0,0,.1);background:#fff;color:var(--ink)}
.chat-form textarea:focus{outline:none;border-color:var(--accent)}
.chat-send{width:44px;height:44px;border-radius:50%;border:0;background:var(--accent);color:#fff;display:grid;place-items:center;cursor:pointer;flex:none;transition:transform .15s}
.chat-send:active{transform:scale(.92)}
.chat-send[disabled]{opacity:.45}
.chat-legal{margin:0;padding:0 16px calc(8px + env(safe-area-inset-bottom,0px));font-size:11.5px;color:var(--muted);text-align:center;background:rgba(255,255,255,.9)}
.chat-legal a{color:var(--muted)!important}
@media (prefers-reduced-motion:reduce){.msg,.msg.typing i{animation:none}}
