/* =====================================================================
   Saitum Mini App — панель консультанта (нижний лист).
   Палитра и пластика наследуют штатный виджет консультанта Saitum
   (app/frontend/guide.css), адаптированы под полноэкранный лист.
   ===================================================================== */

.consultant{position:fixed;inset:0;z-index:80}
.c-backdrop{
  position:absolute;inset:0;
  background:rgba(2,4,11,.62);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  opacity:0;transition:opacity .24s ease;
}
.c-sheet{
  position:absolute;left:0;right:0;bottom:0;
  display:flex;flex-direction:column;
  height:min(640px,calc(100dvh - max(64px,var(--tg-safe-top) + 16px)));
  max-height:calc(100dvh - max(48px,var(--tg-safe-top) + 8px));
  overflow:hidden;isolation:isolate;
  border:1px solid rgba(182,217,252,.16);border-bottom:0;
  border-radius:22px 22px 0 0;
  background:
    radial-gradient(ellipse 100% 56% at 18% -8%,rgba(92,119,169,.13),transparent 58%),
    radial-gradient(circle at 92% 2%,rgba(139,116,230,.07),transparent 32%),
    linear-gradient(180deg,rgba(15,22,37,.985),rgba(8,13,24,.99));
  box-shadow:0 -30px 76px rgba(0,0,0,.5),inset 0 1px 0 rgba(216,236,248,.08);
  color:#e9f1ff;
  transform:translateY(103%);
  transition:transform .3s cubic-bezier(.22,.78,.24,1);
}
.consultant.is-open .c-backdrop{opacity:1}
.consultant.is-open .c-sheet{transform:translateY(0)}

/* Ручка перетаскивания (визуальная) */
.c-sheet::before{
  content:'';position:absolute;top:7px;left:50%;transform:translateX(-50%);
  width:38px;height:4px;border-radius:99px;
  background:rgba(199,211,234,.16);
}

.c-head{
  display:flex;align-items:center;gap:11px;flex:none;
  min-height:62px;padding:14px 14px 10px 16px;
  border-bottom:1px solid rgba(182,217,252,.08);
  position:relative;
}
.c-head::after{
  content:'';position:absolute;left:16px;right:16px;bottom:-1px;height:1px;
  background:linear-gradient(90deg,transparent,rgba(182,217,252,.09),transparent);
}
.c-mark{
  display:grid;place-items:center;width:34px;height:34px;flex:none;
  border:1px solid rgba(182,217,252,.14);border-radius:11px;
  background:linear-gradient(180deg,rgba(182,217,252,.08),rgba(182,217,252,.035));
  color:#c8ddf6;box-shadow:inset 0 1px 0 rgba(216,236,248,.07);
}
.c-mark svg{width:20px;height:20px}
.c-head-copy{display:flex;flex-direction:column;gap:2px;min-width:0}
.c-wordmark{width:64px;height:20px;color:#e3edfb;overflow:visible}
.c-status{display:flex;align-items:center;gap:6px;font-size:10.5px;color:#9aaac2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.c-dot{
  width:5px;height:5px;flex:none;border-radius:50%;
  background:#83c9ad;box-shadow:0 0 8px rgba(131,201,173,.42);
  transition:background .2s ease,box-shadow .2s ease;
}
.c-dot.is-hand{background:var(--violet);box-shadow:0 0 9px rgba(155,140,243,.45)}
.c-demo-tag{
  flex:none;margin-left:2px;padding:3px 7px;
  border:1px solid rgba(155,140,243,.35);border-radius:6px;
  color:#beb4f6;font-size:9px;letter-spacing:.12em;
  background:rgba(155,140,243,.1);
}
.c-close{
  margin-left:auto;display:grid;place-items:center;flex:none;
  width:38px;height:38px;border:1px solid transparent;border-radius:11px;
  color:#8798b2;transition:background .16s ease,border-color .16s ease,color .16s ease;
}
.c-close:hover{border-color:rgba(182,217,252,.1);background:rgba(182,217,252,.055);color:#e7f0fd}
.c-close svg{width:15px;height:15px}

.c-msgs{
  flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;
  padding:16px 14px 14px;
  display:flex;flex-direction:column;gap:9px;
  scrollbar-width:thin;scrollbar-color:rgba(151,177,211,.22) transparent;
}
.c-msgs::-webkit-scrollbar{width:4px}
.c-msgs::-webkit-scrollbar-thumb{border-radius:99px;background:rgba(151,177,211,.2)}

.c-row{display:flex;animation:c-in .22s ease both}
.c-row.user{justify-content:flex-end}
.c-row.system{justify-content:center}
.c-bubble{
  max-width:88%;min-width:0;overflow-wrap:anywhere;word-break:break-word;white-space:pre-wrap;
  font-size:13.5px;line-height:1.55;font-weight:500;
  padding:9px 13px;border-radius:15px;
}
.c-bubble.assistant{
  border:1px solid rgba(182,217,252,.11);border-bottom-left-radius:6px;
  background:linear-gradient(180deg,rgba(193,213,240,.066),rgba(160,185,218,.042));
  box-shadow:inset 0 1px 0 rgba(216,236,248,.035);
  color:#f0f5fc;
}
.c-bubble.owner{
  border:1px solid rgba(130,184,203,.16);border-bottom-left-radius:6px;
  background:linear-gradient(180deg,rgba(71,111,133,.19),rgba(44,78,103,.145));
  color:#f2f7fc;
}
.c-bubble.system{
  max-width:94%;padding:3px 12px;border:0;background:transparent;
  color:#8192aa;font-size:11px;line-height:1.5;font-weight:400;text-align:center;
}
.c-bubble.error{
  border:1px solid rgba(174,139,220,.22);border-bottom-left-radius:6px;
  background:rgba(101,73,137,.15);color:#ece3fb;
}
.c-bubble.user{
  border:1px solid rgba(169,153,255,.2);border-bottom-right-radius:6px;
  background:
    radial-gradient(circle at 18% 0%,rgba(190,178,255,.12),transparent 48%),
    linear-gradient(180deg,rgba(119,102,202,.28),rgba(83,72,159,.22));
  box-shadow:inset 0 1px 0 rgba(220,214,255,.07);
  color:#f6f5ff;
}
.c-typing{display:inline-flex;align-items:center;gap:4px;min-height:34px;padding:10px 13px}
.c-typing i{width:5px;height:5px;border-radius:50%;background:#9faec4;animation:c-wave 1.08s ease-in-out infinite}
.c-typing i:nth-child(2){animation-delay:.13s}
.c-typing i:nth-child(3){animation-delay:.26s}

.c-compose{
  position:relative;display:flex;align-items:flex-end;gap:8px;flex:none;
  padding:9px 11px calc(11px + var(--tg-safe-bottom));
  background:linear-gradient(180deg,rgba(8,13,24,0),rgba(8,13,24,.4) 42%,rgba(8,13,24,.65));
}
.c-compose::before{
  content:'';position:absolute;left:14px;right:14px;top:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(182,217,252,.07),transparent);
}
.c-input{
  flex:1;min-width:0;max-height:96px;resize:none;overflow-y:auto;
  border:1px solid rgba(182,217,252,.15);border-radius:14px;
  background:rgba(199,211,234,.035);color:#e9f1ff;
  box-shadow:inset 0 1px 0 rgba(216,236,248,.025);
  font:inherit;font-size:13.5px;line-height:1.5;padding:11px 13px;outline:none;
  scrollbar-width:none;
  transition:border-color .17s ease,background .17s ease,box-shadow .17s ease;
}
.c-input::-webkit-scrollbar{display:none}
.c-input::placeholder{color:#7889a1;opacity:1}
.c-input:focus{border-color:rgba(155,140,243,.38);background:rgba(199,211,234,.05)}
.c-input:disabled{opacity:.55}
.c-send{
  display:grid;place-items:center;width:42px;height:42px;flex:none;
  border:1px solid rgba(164,149,248,.23);border-radius:13px;
  background:
    radial-gradient(circle at 30% 0%,rgba(206,196,255,.16),transparent 50%),
    linear-gradient(180deg,rgba(116,99,197,.34),rgba(76,65,148,.27));
  color:#f0efff;box-shadow:inset 0 1px 0 rgba(226,220,255,.08);
  transition:transform .16s ease,border-color .16s ease,opacity .16s ease;
}
.c-send:hover{transform:translateY(-1px);border-color:rgba(177,163,255,.35)}
.c-send:disabled{opacity:.4;transform:none}
.c-send svg{width:18px;height:18px}

@keyframes c-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@keyframes c-wave{0%,68%,100%{opacity:.35;transform:translateY(0)}34%{opacity:.95;transform:translateY(-2px)}}

/* Широкие экраны (Telegram Desktop, предпросмотр в браузере) */
@media(min-width:720px){
  .c-sheet{
    left:50%;right:auto;transform:translate(-50%,103%);
    width:440px;border-radius:22px;border-bottom:1px solid rgba(182,217,252,.16);
    bottom:24px;
    height:min(560px,calc(100dvh - 120px));
  }
  .consultant.is-open .c-sheet{transform:translate(-50%,0)}
  .c-sheet::before{display:none}
}

@media(prefers-reduced-motion:reduce){
  .c-backdrop,.c-sheet,.c-send,.c-input{transition:none}
  .c-row,.c-typing i{animation:none}
}
