/* صفحهٔ دستیارها — beUI Chat App (zbc-*، zbx-*). پایهٔ حباب/ورودی در zb-ds.css (.zbc-*). */
body.zbc-body{background:var(--bg)}
.zbc-app{display:grid;grid-template-columns:1fr;height:100dvh;box-sizing:border-box;padding-top:72px}
@media(min-width:960px){.zbc-app{grid-template-columns:300px 1fr}}
.zbc-side{display:none;border-inline-end:1px solid var(--border);padding:18px 14px;overflow:auto;background:var(--surface)}
@media(min-width:960px){.zbc-side{display:flex;flex-direction:column;gap:14px}}
.zbc-side-h b{display:block;font-weight:600}.zbc-side-h small{color:var(--muted);font-size:12px}
.zbc-agents{display:flex;flex-direction:column;gap:4px}
.zbc-ag{display:flex;gap:10px;align-items:center;padding:10px;border-radius:14px;color:var(--text);text-decoration:none;transition:background .2s var(--zb-ease-out)}
.zbc-ag:hover{background:var(--surface-2);color:var(--text)}
.zbc-ag.on{background:var(--zb-accent-soft)}
.zbc-ag .ic{width:36px;height:36px;flex:none;border-radius:12px;display:grid;place-items:center;font-size:16px;color:#fff;background:linear-gradient(145deg,var(--zb-accent),var(--zb-navy))}
.zbc-ag .tx{min-width:0}.zbc-ag b{display:block;font-weight:500;font-size:14px}.zbc-ag small{display:block;color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.zbc-side-note{margin-top:auto;font-size:12px;color:var(--muted);line-height:1.9;padding:10px;border-radius:12px;background:var(--surface-2)}

.zbc-main{position:relative;display:flex;flex-direction:column;min-height:0;min-width:0}
.zbc-head{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border)}
.zbc-av{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;font-size:18px;color:#fff;background:linear-gradient(145deg,var(--zb-accent),var(--zb-navy));flex:none}
.zbc-head h1{font-size:16px;font-weight:600;margin:0;color:var(--text)}
.zbc-ht{min-width:0}.zbc-ht .zb-live{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex}
.zbc-tabs{display:flex;gap:6px;overflow-x:auto;padding:10px 16px;scrollbar-width:none;border-bottom:1px solid var(--border)}
.zbc-tabs::-webkit-scrollbar{display:none}
@media(min-width:960px){.zbc-tabs{display:none}}
.zbc-tabs a{display:inline-flex;gap:6px;align-items:center;white-space:nowrap;font-size:12.5px;padding:6px 12px;border-radius:999px;border:1px solid var(--border);color:var(--text-2);text-decoration:none}
.zbc-tabs a.on{background:var(--text);color:var(--bg);border-color:var(--text)}
.zbc-scroller{padding:18px 16px 8px}
.zbc-thread{max-width:780px}

/* حالتِ خالی با «گویِ» درخشان */
.zbc-empty{text-align:center;padding:6vh 12px 0;max-width:560px;margin-inline:auto}
.zbc-orb{width:88px;height:88px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;position:relative;
    background:radial-gradient(circle at 30% 25%,color-mix(in srgb,var(--zb-accent) 60%,#fff),var(--zb-accent) 45%,var(--zb-navy));
    box-shadow:0 20px 50px -14px color-mix(in srgb,var(--zb-accent) 70%,transparent);animation:zbcOrb 5s ease-in-out infinite}
.zbc-orb::after{content:"";position:absolute;inset:-10px;border-radius:50%;border:1px solid color-mix(in srgb,var(--zb-accent) 30%,transparent);animation:zbcRing 3s ease-out infinite}
.zbc-orb span{font-size:30px;color:#fff}
@keyframes zbcOrb{50%{transform:translateY(-6px) scale(1.03)}}
@keyframes zbcRing{from{transform:scale(.9);opacity:1}to{transform:scale(1.35);opacity:0}}
.zbc-empty h2{font-size:clamp(19px,3.4vw,24px);font-weight:500;margin:0 0 6px;color:var(--text)}
.zbc-empty p{font-size:13.5px;color:var(--muted);margin:0}

/* پیام‌ها */
.zbc-msg{animation:zbcIn .35s var(--zb-ease-out) backwards}
@keyframes zbcIn{from{opacity:0;transform:translateY(8px);filter:blur(4px)}}
.zbc-msg.assistant{align-items:flex-end;gap:8px}
.zbc-msg .zbc-bubble{max-width:min(82%,640px)}
.zbx-act{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--text-2);border:1px solid var(--border);border-radius:999px;padding:4px 12px;background:var(--surface)}
.zbx-act i{width:7px;height:7px;border-radius:50%;background:var(--zb-ok);flex:none}
.zbx-act.run i{background:var(--zb-accent);animation:zbLive 1.4s infinite}
.zbc-next{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin-top:4px;animation:zbcIn .4s .1s var(--zb-ease-out) backwards}
.zbc-next button{border:1px solid var(--zb-accent-line);background:var(--zb-accent-soft);color:var(--zb-accent-ink,var(--zb-accent));border-radius:999px;padding:6px 14px;font-size:13px;transition:transform .14s}
.zbc-next button:active{transform:scale(.96)}

/* بلوک‌های داده */
.zbx-list{display:flex;flex-direction:column;gap:8px;width:min(100%,460px)}
.zbx-salon{display:flex;gap:12px;align-items:center;padding:10px 12px;border-radius:16px;border:1px solid var(--border);background:var(--surface);color:var(--text);text-decoration:none;transition:border-color .2s,transform .14s}
.zbx-salon:hover{border-color:var(--zb-accent-line);color:var(--text)}.zbx-salon:active{transform:scale(.98)}
.zbx-salon .lg{width:42px;height:46px;flex:none;border-radius:22px 22px 10px 10px;display:grid;place-items:center;color:#fff;font-weight:600;background:linear-gradient(145deg,var(--zb-accent),var(--zb-navy))}
.zbx-salon .tx{flex:1;min-width:0}.zbx-salon b{display:block;font-weight:500}.zbx-salon small{color:var(--muted);font-size:12px}
.zbx-salon .rt{font-size:12.5px;color:oklch(62% .13 75);font-weight:600}
.zbx-salon .bk{font-size:12px;padding:5px 12px;border-radius:10px;background:var(--zb-accent-solid,var(--zb-accent));color:#fff}
.zbx-card{width:min(100%,460px);border:1px solid var(--border);border-radius:16px;background:var(--surface);padding:12px 14px}
.zbx-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.zbx-h b{font-weight:500}.zbx-h a{font-size:12.5px;color:var(--zb-accent)}
.zbx-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--border);font-size:13.5px}
.zbx-row:first-child{border-top:0}
.zbx-row span small{display:block;color:var(--muted);font-size:12px}
.zbx-row b{font-weight:500;text-align:end;white-space:nowrap}.zbx-row s{display:block;color:var(--muted);font-weight:400;font-size:11.5px}
.zbx-row .av{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;margin-inline-end:8px;font-style:normal;font-size:12px;background:var(--zb-accent-soft);color:var(--zb-accent);vertical-align:middle}
.zbx-st.confirmed,.zbx-st.completed{color:var(--zb-ok)}.zbx-st.pending{color:oklch(55% .12 75)}.zbx-st.cancelled{color:var(--zb-bad)}
.zbx-kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:6px}
.zbx-kpis div{padding:10px;border-radius:12px;background:var(--surface-2);min-width:0}
.zbx-kpis span{display:block;font-size:12px;color:var(--muted)}.zbx-kpis b{display:block;font-size:17px;font-weight:600;overflow:hidden;text-overflow:ellipsis}.zbx-kpis small{font-size:11.5px;color:var(--muted)}

.zbc-jump{position:absolute;bottom:128px;inset-inline-start:50%;transform:translateX(50%);z-index:3;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;padding:7px 16px;font-size:12.5px;box-shadow:0 10px 26px rgba(0,0,0,.14);animation:zbcIn .25s var(--zb-ease-out)}
.zbc-compose{padding-bottom:calc(12px + env(safe-area-inset-bottom))}
.zbc-bar{justify-content:space-between}
.zbc-kb{font-size:11.5px;color:var(--muted)}
@media(max-width:640px){.zbc-kb{display:none}}
.zbc-send{background:linear-gradient(135deg,var(--zb-accent),var(--zb-navy))!important;color:#fff!important}
.zbc-send.busy{animation:zbcPulse 1.2s infinite}
@keyframes zbcPulse{50%{box-shadow:0 0 0 6px var(--zb-accent-soft)}}
@media(prefers-reduced-motion:reduce){.zbc-orb,.zbc-orb::after,.zbc-msg,.zbc-next,.zbc-send.busy{animation:none}}
