/* skooldee chat widget — self-contained, doesn't rely on host page CSS variables */
.sk-chat-btn{
  position:fixed; right:20px; bottom:20px; width:56px; height:56px; border-radius:50%;
  background:#009488; color:#fff; border:none; box-shadow:0 4px 16px rgba(0,0,0,.22);
  font-size:24px; cursor:grab; z-index:9999; display:flex; align-items:center; justify-content:center;
  transition:box-shadow .15s; touch-action:none; user-select:none;
}
.sk-chat-btn:hover{ box-shadow:0 6px 20px rgba(0,0,0,.32); }
.sk-chat-btn:active{ cursor:grabbing; }
.sk-chat-btn.is-open{ background:#0a7a70; }

.sk-chat-panel{
  position:fixed; right:20px; bottom:86px; width:336px; max-height:min(70vh,520px);
  background:#fff; border-radius:16px; box-shadow:0 8px 30px rgba(0,0,0,.2);
  display:none; flex-direction:column; overflow:hidden; z-index:9999;
  font-family:'Instrument Sans','Sarabun',sans-serif; color:#1a2b29;
}
.sk-chat-panel.is-open{ display:flex; }
@media (max-width:420px){
  .sk-chat-panel{ right:10px; left:10px; width:auto; bottom:80px; }
  .sk-chat-btn{ right:16px; bottom:16px; }
}

.sk-chat-head{
  background:linear-gradient(135deg,#0b7d72,#009488); color:#fff; padding:13px 16px;
  font-weight:700; font-size:14.5px; display:flex; align-items:center; justify-content:space-between;
}
.sk-chat-head button{ background:none; border:none; color:#fff; font-size:18px; cursor:pointer; opacity:.85; line-height:1; }
.sk-chat-head button:hover{ opacity:1; }

.sk-chat-body{ flex:1; overflow-y:auto; padding:12px 12px 6px; background:#f6f9f8; display:flex; flex-direction:column; gap:8px; }
.sk-msg{ max-width:85%; padding:8px 12px; border-radius:13px; font-size:13.5px; line-height:1.5; white-space:pre-wrap; word-break:break-word; }
.sk-msg.user{ align-self:flex-end; background:#009488; color:#fff; border-bottom-right-radius:4px; }
.sk-msg.assistant{ align-self:flex-start; background:#fff; border:1px solid #e7eceb; border-bottom-left-radius:4px; }
.sk-msg.pending{ opacity:.6; }

.sk-quick{ display:flex; flex-wrap:wrap; gap:6px; padding:0 12px 10px; background:#f6f9f8; }
.sk-quick button{
  border:1.4px solid #009488; color:#0a7a70; background:#fff; border-radius:99px;
  font-size:12px; font-weight:600; padding:5px 11px; cursor:pointer;
}
.sk-quick button:hover{ background:#d6f0ec; }

.sk-chat-input{ display:flex; gap:8px; padding:10px; border-top:1px solid #e7eceb; background:#fff; }
.sk-chat-input input{
  flex:1; border:1.4px solid #e7eceb; border-radius:99px; padding:8px 14px; font-size:13.5px;
  font-family:inherit; outline:none;
}
.sk-chat-input input:focus{ border-color:#009488; }
.sk-chat-input button{
  background:#009488; color:#fff; border:none; border-radius:99px; width:36px; height:36px;
  font-size:15px; cursor:pointer; flex-shrink:0;
}
.sk-chat-input button:disabled{ opacity:.5; cursor:default; }
