/* NETRANS dispatch chat widget — matches core tokens in styles.css */

.nt-chat-launch{
  position:fixed;right:22px;bottom:22px;z-index:180;
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--cond);font-weight:700;text-transform:uppercase;letter-spacing:.08em;
  font-size:.95rem;line-height:1;color:#fff;
  background:var(--red);border:2px solid #FF5A50;border-radius:2px;
  padding:15px 20px;cursor:pointer;
  box-shadow:0 14px 34px -14px rgba(255,42,31,.85), 0 0 0 1px rgba(0,0,0,.5);
  transition:transform .16s ease, background .18s ease, box-shadow .18s ease;
}
.nt-chat-launch:hover{background:#E8201A;transform:translateY(-2px)}
.nt-chat-launch:active{transform:translateY(0)}
.nt-chat-launch .nt-ico{width:20px;height:20px;flex:0 0 auto;display:block}
.nt-chat-launch .nt-dot{
  width:9px;height:9px;border-radius:50%;background:var(--amber);
  box-shadow:0 0 10px var(--amber);flex:0 0 auto;
}
.nt-chat-launch .nt-dot.off{background:var(--steel);box-shadow:none}
.nt-chat-launch[hidden]{display:none}

/* first-load pulse, once */
@keyframes ntPulse{
  0%{box-shadow:0 14px 34px -14px rgba(255,42,31,.85), 0 0 0 0 rgba(255,42,31,.55)}
  70%{box-shadow:0 14px 34px -14px rgba(255,42,31,.85), 0 0 0 18px rgba(255,42,31,0)}
  100%{box-shadow:0 14px 34px -14px rgba(255,42,31,.85), 0 0 0 0 rgba(255,42,31,0)}
}
.nt-chat-launch.pulse{animation:ntPulse 2.4s ease-out 3}

.nt-chat-panel{
  position:fixed;right:22px;bottom:22px;z-index:181;
  width:380px;max-width:calc(100vw - 32px);
  height:min(620px, calc(100vh - 44px));
  display:flex;flex-direction:column;
  background:var(--black-2,#121214);
  border:1px solid var(--line,#2A2A2F);border-radius:3px;
  box-shadow:0 30px 80px -24px rgba(0,0,0,.9), 0 0 0 1px rgba(0,0,0,.6);
  overflow:hidden;
  transform-origin:bottom right;
  animation:ntIn .18s ease-out both;
}
@keyframes ntIn{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
.nt-chat-panel[hidden]{display:none}

.nt-head{
  display:flex;align-items:center;gap:12px;padding:12px 12px 12px 16px;
  background:linear-gradient(180deg,#17171A,#131316);
  border-bottom:1px solid var(--line,#2A2A2F);position:relative;flex:0 0 auto;
}
.nt-head::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,var(--red,#D91E18),var(--amber,#F2A11B) 65%,transparent)}
.nt-head img{height:30px;width:auto}
.nt-status{
  margin-left:auto;display:inline-flex;align-items:center;gap:7px;
  font-family:var(--cond);font-weight:600;text-transform:uppercase;letter-spacing:.1em;
  font-size:.72rem;color:var(--steel-2,#B6BBC3);white-space:nowrap;
}
.nt-status i{width:8px;height:8px;border-radius:50%;background:#2FBF5B;box-shadow:0 0 8px rgba(47,191,91,.8);display:block}
.nt-status.off i{background:var(--steel,#8A8F98);box-shadow:none}
.nt-close{
  background:none;border:1px solid #33333A;border-radius:2px;color:var(--steel-2,#B6BBC3);
  width:32px;height:32px;font-size:18px;line-height:1;cursor:pointer;flex:0 0 auto;
}
.nt-close:hover{color:#fff;border-color:#fff;background:rgba(255,255,255,.06)}

.nt-log{
  flex:1 1 auto;overflow-y:auto;padding:16px 16px 8px;
  display:flex;flex-direction:column;gap:12px;
  background:
    radial-gradient(120% 60% at 50% 0%, rgba(217,30,24,.06), transparent 60%),
    var(--black,#0B0B0C);
  scrollbar-width:thin;scrollbar-color:#33333A transparent;
}
.nt-log::-webkit-scrollbar{width:8px}
.nt-log::-webkit-scrollbar-thumb{background:#2A2A2F;border-radius:8px}

.nt-msg{max-width:86%;font-size:.95rem;line-height:1.55;padding:11px 13px;border-radius:2px;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:anywhere}
.nt-msg.bot{align-self:flex-start;background:#1A1A1E;border:1px solid #26262B;border-left:3px solid var(--amber,#F2A11B);color:#E6E7EA}
.nt-msg.user{align-self:flex-end;background:rgba(217,30,24,.16);border:1px solid rgba(255,42,31,.4);color:#F5F5F3}
.nt-msg.sys{align-self:center;max-width:100%;text-align:center;background:none;border:none;border-top:1px solid #23232a;border-bottom:1px solid #23232a;padding:8px 0;
  font-family:var(--cond);text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;color:var(--steel,#8A8F98)}
.nt-msg a{color:var(--amber,#F2A11B)}
.nt-msg strong{color:#fff}

.nt-typing{align-self:flex-start;display:flex;gap:5px;padding:12px 13px;background:#1A1A1E;border:1px solid #26262B;border-left:3px solid var(--amber,#F2A11B)}
.nt-typing span{width:6px;height:6px;border-radius:50%;background:var(--steel,#8A8F98);animation:ntBlink 1.1s infinite}
.nt-typing span:nth-child(2){animation-delay:.16s}
.nt-typing span:nth-child(3){animation-delay:.32s}
@keyframes ntBlink{0%,60%,100%{opacity:.25}30%{opacity:1}}

.nt-chips{display:flex;flex-wrap:wrap;gap:8px;padding:4px 16px 12px;flex:0 0 auto;background:var(--black,#0B0B0C)}
.nt-chip{
  font-family:var(--cond);font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:.78rem;
  color:var(--steel-2,#B6BBC3);background:#141417;border:1px solid #2E2E35;border-radius:2px;
  padding:8px 11px;cursor:pointer;line-height:1;transition:border-color .16s ease,color .16s ease,background .16s ease;
}
.nt-chip:hover{color:#fff;border-color:var(--amber,#F2A11B);background:rgba(242,161,27,.1)}
.nt-chip.hot{color:#fff;border-color:rgba(255,42,31,.55);background:rgba(217,30,24,.16)}
.nt-chips[hidden]{display:none}

.nt-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.nt-form{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line,#2A2A2F);background:#131316;flex:0 0 auto}
.nt-input{
  flex:1 1 auto;min-width:0;background:#0B0B0C;border:1px solid #2E2E35;border-radius:2px;
  color:var(--off,#F5F5F3);font-family:var(--body);font-size:.95rem;padding:11px 12px;
}
.nt-input::placeholder{color:#6C7078}
.nt-input:focus{outline:2px solid var(--amber,#F2A11B);outline-offset:1px;border-color:var(--amber,#F2A11B)}
.nt-send{
  flex:0 0 auto;background:var(--red,#D91E18);border:none;border-radius:2px;color:#fff;cursor:pointer;
  font-family:var(--cond);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.85rem;padding:0 16px;
}
.nt-send:hover{background:#E8201A}
.nt-send:disabled{background:#3A3A41;cursor:not-allowed}

.nt-foot{padding:0 12px 10px;background:#131316;flex:0 0 auto;
  font-size:.72rem;color:#6C7078;text-align:center;letter-spacing:.02em}
.nt-foot a{color:var(--steel,#8A8F98)}

@media (max-width:520px){
  .nt-chat-launch{right:14px;bottom:14px;padding:14px 16px}
  .nt-chat-panel{
    right:0;left:0;bottom:0;top:0;width:auto;max-width:none;height:100%;
    border:none;border-radius:0;
  }
  .nt-log{padding:14px 14px 6px}
  .nt-msg{max-width:92%}
}

@media (prefers-reduced-motion: reduce){
  .nt-chat-launch,.nt-chat-panel,.nt-chip,.nt-send{transition:none;animation:none}
  .nt-chat-launch.pulse{animation:none}
  .nt-typing span{animation:none;opacity:.6}
}
