/* Iffects WhatsApp Smart Chat — Frontend v2.0 */
:root{--iwac-primary:#4DC95B;--iwac-shadow:0 4px 24px rgba(0,0,0,.15)}
.iwac-widget{position:fixed;bottom:24px;z-index:999999}
.iwac--right{right:24px}.iwac--left{left:24px}
.iwac-bubble{display:inline-flex;align-items:center;gap:10px;padding:12px 20px;background:var(--iwac-primary);color:#fff;border:none;border-radius:50px;cursor:pointer;box-shadow:var(--iwac-shadow);font-size:14px;font-weight:600;font-family:inherit;transition:transform .3s,box-shadow .3s;line-height:1.3}
.iwac-bubble:hover{transform:scale(1.05);box-shadow:0 6px 30px rgba(0,0,0,.2)}
.iwac--open .iwac-bubble{transform:scale(0);opacity:0;pointer-events:none}
.iwac-bubble-icon{flex-shrink:0;animation:iwac-pulse 2.5s infinite}
@keyframes iwac-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.15)}}
@media(prefers-reduced-motion:reduce){.iwac-bubble-icon{animation:none}.iwac-agent{animation:none!important}}
.iwac-panel{position:absolute;bottom:70px;width:360px;max-height:520px;background:#fff;border-radius:16px;box-shadow:var(--iwac-shadow);display:flex;flex-direction:column;overflow:hidden;transform:scale(.8) translateY(20px);opacity:0;transition:transform .35s cubic-bezier(.4,0,.2,1),opacity .35s;pointer-events:none}
.iwac--right .iwac-panel{right:0}.iwac--left .iwac-panel{left:0}
.iwac--open .iwac-panel{transform:scale(1) translateY(0);opacity:1;pointer-events:auto}
.iwac-panel[hidden]{display:flex}
.iwac-panel-header{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;background:var(--iwac-primary);color:#fff;flex-shrink:0}
.iwac-panel-title{font-size:13px}.iwac-panel-title strong{font-size:15px}
.iwac-panel-close{background:none;border:none;color:#fff;font-size:24px;cursor:pointer;line-height:1;padding:0 4px}
.iwac-agent-list{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1}
.iwac-agent{border-bottom:1px solid #f0f0f0;animation:iwac-slide .35s ease both}
.iwac-agent:nth-child(2){animation-delay:.05s}.iwac-agent:nth-child(3){animation-delay:.1s}
.iwac-agent:nth-child(4){animation-delay:.15s}.iwac-agent:nth-child(5){animation-delay:.2s}
.iwac-agent:nth-child(6){animation-delay:.25s}
@keyframes iwac-slide{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.iwac-agent--offline{opacity:.55}
.iwac-agent-link{display:flex;align-items:center;gap:12px;padding:12px 16px;text-decoration:none;color:inherit;cursor:default}
.iwac-agent-avatar-wrap{position:relative;flex-shrink:0}
.iwac-agent-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover}
.iwac-status-dot{position:absolute;bottom:0;right:0;width:12px;height:12px;border-radius:50%;border:2px solid #fff}
.iwac-status-dot--online{background:#4DC95B}.iwac-status-dot--offline{background:#e74c3c}
.iwac-agent-info{flex:1;min-width:0}
.iwac-agent-role{display:block;font-size:11px;color:#888;text-transform:uppercase;letter-spacing:.5px}
.iwac-agent-name{display:block;font-size:14px;color:#222;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.iwac-agent-sched{display:block;font-size:11px;color:#aaa;margin-top:2px}
.iwac-agent-channels{display:flex;gap:6px;flex-shrink:0}
.iwac-ch-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;text-decoration:none;transition:transform .2s}
.iwac-ch-btn:hover{transform:scale(1.15)}
.iwac-ch-btn svg{display:block}
.iwac-ch-ai{font-size:20px;background:#f0f0f0;border-radius:50%;cursor:pointer}
.iwac-agent--bot .iwac-agent-link{cursor:pointer}
.iwac-agent--bot:hover{background:#f0fff4}
.iwac-panel-footer{padding:8px 16px;font-size:11px;color:#aaa;text-align:center;border-top:1px solid #f0f0f0;flex-shrink:0}
.iwac-panel-footer a{color:#888}
.iwac-no-agents{padding:24px;text-align:center;color:#aaa;font-size:14px}
.iwac-view{display:flex;flex-direction:column;flex:1;min-height:0}
.iwac-view[hidden]{display:none!important}
.iwac-view--agents{overflow-y:auto}
/* Chat UI */
.iwac-chat-header{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#f8f8f8;border-bottom:1px solid #eee;flex-shrink:0}
.iwac-chat-back{background:none;border:none;font-size:14px;cursor:pointer;color:var(--iwac-primary);font-weight:600;padding:4px 8px}
.iwac-chat-av{width:32px;height:32px;border-radius:50%;object-fit:cover}
.iwac-chat-header strong{font-size:14px;color:#222}
.iwac-chat-messages{flex:1;overflow-y:auto;padding:14px 14px 8px;display:flex;flex-direction:column;gap:8px;min-height:200px}
.iwac-msg{display:flex;max-width:85%}
.iwac-msg--bot{align-self:flex-start}.iwac-msg--user{align-self:flex-end}
.iwac-msg-bubble{padding:10px 14px;border-radius:16px;font-size:13px;line-height:1.45;word-break:break-word}
.iwac-msg--bot .iwac-msg-bubble{background:#f0f0f0;color:#222;border-bottom-left-radius:4px}
.iwac-msg--user .iwac-msg-bubble{background:var(--iwac-primary);color:#fff;border-bottom-right-radius:4px}
.iwac-msg-bubble p{margin:0}
.iwac-msg-time{display:block;font-size:10px;opacity:.6;margin-top:4px;text-align:right}
.iwac-msg-file{margin-bottom:6px}
.iwac-msg-img{max-width:180px;max-height:140px;border-radius:8px;display:block}
.iwac-typing{display:flex;gap:4px;padding:8px 14px;align-self:flex-start}
.iwac-typing[hidden]{display:none!important}
.iwac-typing span{width:8px;height:8px;background:#bbb;border-radius:50%;animation:iwac-bounce .6s infinite alternate}
.iwac-typing span:nth-child(2){animation-delay:.2s}.iwac-typing span:nth-child(3){animation-delay:.4s}
@keyframes iwac-bounce{to{transform:translateY(-6px);opacity:.4}}
.iwac-chat-input-bar{display:flex;align-items:flex-end;gap:6px;padding:10px 12px;border-top:1px solid #eee;background:#fff;flex-shrink:0}
.iwac-chat-input{flex:1;border:1px solid #ddd;border-radius:20px;padding:8px 14px;font-size:13px;font-family:inherit;resize:none;max-height:80px;line-height:1.4;outline:none;transition:border-color .2s}
.iwac-chat-input:focus{border-color:var(--iwac-primary)}
.iwac-chat-send{background:var(--iwac-primary);color:#fff;border:none;width:36px;height:36px;border-radius:50%;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s}
.iwac-chat-send:hover{background:#3ab44e}
.iwac-chat-attach{background:none;border:none;font-size:18px;cursor:pointer;padding:4px;opacity:.6;transition:opacity .2s}
.iwac-chat-attach:hover{opacity:1}
/* Shortcode */
.iwac-shortcode-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.iwac-sc-card{display:flex;align-items:center;gap:14px;padding:16px;background:#fff;border:1px solid #eee;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.06)}
.iwac-sc-card--offline{opacity:.5}
.iwac-sc-avatar{width:64px;height:64px;border-radius:50%;object-fit:cover;flex-shrink:0}
.iwac-sc-info{flex:1;min-width:0}
.iwac-sc-role{display:block;font-size:11px;color:#888;text-transform:uppercase}
.iwac-sc-name{display:block;font-size:15px;color:#222}
.iwac-sc-schedule{display:block;font-size:12px;color:#aaa;margin-top:2px}
.iwac-sc-channels{display:flex;gap:6px;flex-shrink:0}
/* Mobile */
@media(max-width:480px){.iwac-panel{width:calc(100vw - 32px);max-height:70vh;bottom:64px}.iwac-bubble{padding:10px 16px;font-size:13px}.iwac--right{right:16px}.iwac--left{left:16px}}
