:root{
 --sw-chat-primary:#2563eb;
 --sw-chat-bg:#fff;
 --sw-chat-text:#111827;
 --sw-chat-muted:#6b7280;
 --sw-chat-border:#e5e7eb;
}
#sw-chat-root{position:fixed;right:24px;bottom:24px;z-index:999999;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans KR",sans-serif}
#sw-chat-toggle{border:0;border-radius:999px;background:var(--sw-chat-primary);color:#fff;padding:14px 19px;font-size:14px;font-weight:700;box-shadow:0 12px 28px rgba(0,0,0,.18);cursor:pointer;display:flex;gap:8px;align-items:center}
.sw-chat-dot{width:8px;height:8px;border-radius:50%;background:#86efac;box-shadow:0 0 0 3px rgba(134,239,172,.2)}
#sw-chat-panel{position:absolute;right:0;bottom:64px;width:380px;height:600px;background:#fff;border:1px solid var(--sw-chat-border);border-radius:20px;box-shadow:0 22px 60px rgba(0,0,0,.18);overflow:hidden;display:none}
#sw-chat-panel.is-open{display:flex;flex-direction:column}
.sw-chat-head{height:72px;box-sizing:border-box;background:var(--sw-chat-primary);color:#fff;padding:14px 18px;display:flex;align-items:center;justify-content:space-between}
.sw-chat-head strong{display:block;font-size:17px}.sw-chat-head span{display:block;font-size:12px;opacity:.8;margin-top:3px}
#sw-chat-close{border:0;background:transparent;color:#fff;font-size:28px;cursor:pointer}
.sw-chat-start{padding:22px;overflow:auto}.sw-chat-guide{font-size:14px;line-height:1.7;color:#374151;background:#f8fafc;border-radius:12px;padding:14px}
.sw-chat-start label{display:block;font-size:13px;font-weight:600;color:#374151;margin-top:14px}
.sw-chat-start input{display:block;width:100%;box-sizing:border-box;margin-top:7px;border:1px solid #d1d5db;border-radius:10px;padding:11px 12px;font-size:14px}
#sw-chat-start-btn{width:100%;margin-top:18px;border:0;border-radius:11px;padding:13px;background:var(--sw-chat-primary);color:#fff;font-size:14px;font-weight:700;cursor:pointer}
.sw-chat-body{min-height:0;flex:1;display:flex;flex-direction:column}
.sw-chat-messages{flex:1;overflow-y:auto;padding:18px;background:#f8fafc}
.sw-msg{margin:0 0 12px;display:flex;flex-direction:column;align-items:flex-start}
.sw-msg.user{align-items:flex-end}.sw-msg.system{align-items:center}
.sw-msg .bubble{max-width:78%;padding:10px 12px;border-radius:14px;background:#fff;border:1px solid #e5e7eb;font-size:14px;line-height:1.55;white-space:pre-wrap;word-break:break-word}
.sw-msg.user .bubble{background:var(--sw-chat-primary);border-color:var(--sw-chat-primary);color:#fff}
.sw-msg.system .bubble{max-width:90%;font-size:12px;background:transparent;border:0;color:#6b7280;text-align:center}
.sw-msg time{font-size:10px;color:#9ca3af;margin-top:4px}
#sw-chat-form{border-top:1px solid #e5e7eb;background:#fff;padding:12px;display:flex;gap:8px;align-items:flex-end}
#sw-chat-message{flex:1;max-height:100px;min-height:42px;resize:none;border:1px solid #d1d5db;border-radius:11px;padding:10px 11px;box-sizing:border-box;font-size:14px}
#sw-chat-form button{height:42px;border:0;border-radius:10px;background:var(--sw-chat-primary);color:#fff;padding:0 16px;font-weight:700;cursor:pointer}
@media(max-width:640px){
 #sw-chat-root{right:14px;bottom:14px}
 #sw-chat-panel{position:fixed;left:0;right:0;top:0;bottom:0;width:100%;height:100%;border:0;border-radius:0}
 #sw-chat-toggle{padding:13px 17px}
}

/* sw_chat FAQ quick questions */
.sw-chat-faq{flex:0 0 auto;border-top:1px solid var(--sw-chat-border);background:#fff}
.sw-chat-faq[hidden]{display:none!important}
.sw-chat-faq-toggle{width:100%;height:42px;border:0;background:#fff;padding:0 15px;display:flex;align-items:center;justify-content:space-between;color:#374151;font-size:13px;font-weight:700;cursor:pointer;text-align:left}
.sw-chat-faq-toggle i{font-style:normal;color:#9ca3af;font-size:16px;transition:transform .2s ease}
.sw-chat-faq.is-open .sw-chat-faq-toggle i{transform:rotate(180deg)}
.sw-chat-faq-list{max-height:190px;overflow-y:auto;padding:0 12px 10px;background:#fff}
.sw-faq-item{margin-top:6px}
.sw-faq-question{width:100%;border:1px solid #e5e7eb;background:#f8fafc;border-radius:10px;padding:10px 11px;display:flex;gap:8px;align-items:center;justify-content:space-between;text-align:left;color:#374151;font-size:13px;line-height:1.35;cursor:pointer}
.sw-faq-question:hover,.sw-faq-question.is-active{border-color:#d1d5db;background:#f3f4f6}
.sw-faq-question span{min-width:0;word-break:keep-all}
.sw-faq-question i{flex:0 0 auto;font-style:normal;font-size:16px;color:#6b7280}
.sw-faq-answer{padding:8px 10px 2px}
.sw-faq-answer>div{padding:10px 11px;border-radius:10px;background:#fff;border:1px solid #e5e7eb;color:#4b5563;font-size:12px;line-height:1.55;word-break:break-word}
@media(max-width:640px){
 .sw-chat-faq-list{max-height:180px}
 .sw-chat-faq-toggle{height:44px}
}
