.fixer-chat-root{
	--fixer-primary:#F97316;
	--fixer-secondary:#FB923C;
	--fixer-glass-bg: rgba(255,255,255,0.72);
	--fixer-glass-border: rgba(255,255,255,0.45);
	--fixer-text-dark:#151A23;
	--fixer-text-mid:#5B6472;
	--fixer-text-soft:#8B93A1;
	--fixer-bubble-agent: rgba(255,255,255,0.85);
	--fixer-radius-lg:26px;
	--fixer-radius-md:16px;
	--fixer-shadow: 0 30px 80px -20px rgba(10,15,30,0.45), 0 8px 24px -8px rgba(10,15,30,0.25);
	position:fixed; bottom:24px; z-index:999999; font-family:'Vazirmatn','IRANSans',Tahoma,sans-serif;
	direction:rtl;
}
.fixer-chat-root[data-position="right"]{ right:24px; }
.fixer-chat-root[data-position="left"]{ left:24px; }
.fixer-chat-root[data-theme="dark"]{
	--fixer-glass-bg: rgba(22,26,38,0.75);
	--fixer-glass-border: rgba(255,255,255,0.10);
	--fixer-text-dark:#EDEFF4;
	--fixer-text-mid:#B7BECB;
	--fixer-text-soft:#7B8494;
	--fixer-bubble-agent: rgba(255,255,255,0.06);
}
.fixer-chat-root *{ box-sizing:border-box; }

.fixer-fab{
	display:flex; align-items:center; gap:10px; border:none; cursor:pointer;
	background:linear-gradient(135deg,var(--fixer-primary),var(--fixer-secondary));
	color:#fff; padding:13px 22px 13px 18px; border-radius:999px; font-family:inherit; font-weight:600;
	box-shadow:0 14px 34px -8px rgba(0,0,0,0.35); transition:transform .2s ease, box-shadow .2s ease;
}
.fixer-fab:hover{ transform:translateY(-2px); }
.fixer-fab-icon{ font-size:18px; line-height:1; flex-shrink:0; }
.fixer-chat-root[data-size="small"] .fixer-fab{ padding:9px 16px 9px 12px; font-size:12.5px; gap:7px; }
.fixer-chat-root[data-size="small"] .fixer-fab-icon{ font-size:14px; }
.fixer-chat-root[data-size="large"] .fixer-fab{ padding:17px 26px 17px 20px; font-size:16px; gap:12px; }
.fixer-chat-root[data-size="large"] .fixer-fab-icon{ font-size:22px; }
.fixer-chat-root[data-size="icon-only"] .fixer-fab{ padding:16px; border-radius:50%; gap:0; }
.fixer-chat-root[data-size="icon-only"] .fixer-fab-icon{ font-size:22px; }
.fixer-chat-root[data-size="icon-only"] .fixer-fab-text{ display:none; }
.fixer-chat-root[data-size="icon-only"] .fixer-fab-dot{ position:absolute; top:2px; left:2px; }
.fixer-chat-root[data-size="icon-only"] .fixer-fab{ position:relative; }
.fixer-fab-text{ display:flex; flex-direction:column; align-items:flex-start; line-height:1.4; }
.fixer-fab-text small{ font-weight:400; opacity:.9; font-size:11px; }
.fixer-fab-dot{ width:8px;height:8px;border-radius:50%; flex-shrink:0; }
.fixer-fab-dot.online{ background:#22c55e; box-shadow:0 0 0 3px rgba(34,197,94,.25); }
.fixer-fab-dot.offline{ background:#94A3B8; }

.fixer-panel{
	position:absolute; bottom:64px; width:380px; max-width:calc(100vw - 32px);
	height:600px; max-height:calc(100vh - 110px);
	border-radius:var(--fixer-radius-lg); box-shadow:var(--fixer-shadow);
	/* overflow is intentionally visible here — the emoji picker and other
	   popovers are children of THIS element so they aren't clipped; the
	   rounded-corner clipping happens one level down, on .fixer-panel-inner */
	overflow:visible;
	transform:scale(.92) translateY(14px); opacity:0; pointer-events:none;
	transition:transform .3s cubic-bezier(.2,.9,.25,1.1), opacity .2s ease;
}
.fixer-panel-inner{
	width:100%; height:100%; display:flex; flex-direction:column; overflow:hidden;
	border-radius:inherit; background:var(--fixer-glass-bg);
	backdrop-filter:blur(18px) saturate(160%); -webkit-backdrop-filter:blur(18px) saturate(160%);
	border:1px solid var(--fixer-glass-border);
}
.fixer-chat-root[data-position="right"] .fixer-panel{ right:0; transform-origin:bottom right; }
.fixer-chat-root[data-position="left"] .fixer-panel{ left:0; transform-origin:bottom left; }
.fixer-chat-root.open .fixer-panel{ transform:scale(1) translateY(0); opacity:1; pointer-events:auto; }

.fixer-panel-header{ display:flex; align-items:center; justify-content:space-between; padding:16px 18px; border-bottom:1px solid rgba(120,120,140,.14); flex-shrink:0; }
.fixer-chat-root .dashicons{ width:18px; height:18px; font-size:18px; line-height:1; }
.fixer-fab-icon.dashicons{ width:18px; height:18px; font-size:18px; }
.fixer-icon-btn .dashicons{ width:16px; height:16px; font-size:16px; }
.fixer-option-icon .dashicons{ width:17px; height:17px; font-size:17px; }
.fixer-avatar-stack{ display:flex; align-items:center; }
.fixer-avatar-stack img{ width:26px; height:26px; border-radius:50%; border:2px solid var(--fixer-glass-bg); margin-right:-10px; object-fit:cover; }
.fixer-avatar-stack img:first-child{ margin-right:0; }
.fixer-avatar.fixer-avatar-stack{ width:auto; height:38px; background:none; overflow:visible; }
.fixer-back-btn{ display:none; }
.fixer-ticket-timer{ display:flex; align-items:center; gap:10px; }
.fixer-ticket-spinner{ width:18px; height:18px; border-radius:50%; border:2px solid rgba(120,120,140,.25); border-top-color:var(--fixer-primary); animation:fixerSpin .7s linear infinite; flex-shrink:0; }
@keyframes fixerSpin{ to{ transform:rotate(360deg); } }
.fixer-verified-note{ display:flex; align-items:center; gap:6px; font-size:11.5px; color:#0a7a3d; background:rgba(16,185,129,.1); border-radius:8px; padding:6px 10px; margin-top:8px; }
.fixer-verified-note .dashicons{ width:14px; height:14px; font-size:14px; }
.fixer-send-failed{ font-size:10.5px; color:#EF4444; margin-top:3px; }
.fixer-form-back{ background:none; border:none; color:var(--fixer-text-mid); font-family:inherit; font-size:12px; cursor:pointer; display:flex; align-items:center; gap:4px; padding:0; }
.fixer-form-back:hover{ color:var(--fixer-primary); }
.fixer-form-back .dashicons{ width:14px; height:14px; font-size:14px; }
.fixer-agent-id{ display:flex; align-items:center; gap:10px; }
.fixer-avatar{ width:38px;height:38px;border-radius:50%; background:linear-gradient(135deg,var(--fixer-primary),var(--fixer-secondary)); display:flex; align-items:center; justify-content:center; color:#fff; font-size:17px; flex-shrink:0; overflow:hidden; }
.fixer-avatar img{ width:100%; height:100%; object-fit:cover; }
.fixer-agent-name{ font-weight:700; font-size:14.5px; color:var(--fixer-text-dark); }
.fixer-agent-status{ font-size:12px; color:var(--fixer-text-soft); display:flex; align-items:center; gap:5px; margin-top:2px; }
.fixer-agent-status .dot{ width:7px;height:7px;border-radius:50%; background:#22c55e; transition:background .2s ease; }
.fixer-agent-status.offline .dot{ background:#94A3B8; }
.fixer-typing-indicator{ font-size:11px; color:var(--fixer-primary); margin-top:2px; font-style:italic; }
.fixer-header-actions{ display:flex; align-items:center; gap:4px; position:relative; }
.fixer-icon-btn{ width:32px;height:32px;border-radius:50%; border:none; background:transparent; display:flex; align-items:center; justify-content:center; cursor:pointer; font-size:15px; color:var(--fixer-text-mid); transition:background .15s ease, transform .15s ease; }
.fixer-icon-btn:hover{ background:rgba(120,120,140,.14); }
.fixer-icon-btn:active{ transform:scale(.92); }
.fixer-menu{ position:absolute; top:38px; left:0; min-width:190px; background:var(--fixer-glass-bg); backdrop-filter:blur(20px); border:1px solid var(--fixer-glass-border); border-radius:14px; padding:6px; box-shadow:var(--fixer-shadow); display:none; flex-direction:column; z-index:6; }
.fixer-menu.show{ display:flex; }
.fixer-menu button{ background:none; border:none; text-align:right; padding:9px 10px; border-radius:9px; font-family:inherit; font-size:13px; color:var(--fixer-text-dark); cursor:pointer; }
.fixer-menu button:hover{ background:rgba(120,120,140,.14); }

.fixer-panel-body{ flex:1; min-height:0; overflow-y:auto; -webkit-overflow-scrolling:touch; padding:16px 18px; display:flex; flex-direction:column; gap:12px; scroll-behavior:smooth; }
.fixer-panel-body::-webkit-scrollbar{ width:5px; }
.fixer-panel-body::-webkit-scrollbar-thumb{ background:rgba(120,120,140,.3); border-radius:10px; }
.fixer-welcome-card,.fixer-option-card{ background:var(--fixer-bubble-agent); border:1px solid var(--fixer-glass-border); border-radius:var(--fixer-radius-md); padding:14px; }
.fixer-welcome-title{ font-weight:700; font-size:16px; color:var(--fixer-text-dark); }
.fixer-welcome-sub{ font-size:12.5px; color:var(--fixer-text-mid); margin-top:4px; }
.fixer-option-card{ display:flex; align-items:center; gap:12px; cursor:pointer; transition:transform .15s ease,border-color .15s ease; }
.fixer-option-card:hover{ transform:translateX(-2px); border-color:var(--fixer-primary); }
.fixer-option-icon{ width:36px;height:36px;border-radius:12px; display:flex; align-items:center; justify-content:center; font-size:16px; background:rgba(249,115,22,.16); color:var(--fixer-primary); flex-shrink:0; }
.fixer-option-title{ font-size:13.5px; font-weight:600; color:var(--fixer-text-dark); }
.fixer-option-sub{ font-size:11.5px; color:var(--fixer-text-soft); margin-top:2px; }

.fixer-msg-row{ display:flex; flex-direction:column; max-width:82%; gap:2px; animation: fixerPop .18s ease; }
@keyframes fixerPop{ from{ opacity:0; transform:translateY(6px) scale(.98); } to{ opacity:1; transform:none; } }
.fixer-msg-row.user{ align-self:flex-start; }
.fixer-msg-row.agent{ align-self:flex-end; }
.fixer-msg-row-wrap{ display:flex; align-items:flex-end; gap:8px; max-width:100%; }
.fixer-msg-row.agent .fixer-msg-row-wrap{ flex-direction:row-reverse; }
.fixer-msg-avatar{ width:24px;height:24px;border-radius:50%; flex-shrink:0; overflow:hidden; background:rgba(120,120,140,.25); display:flex; align-items:center; justify-content:center; font-size:11px; color:var(--fixer-text-dark); }
.fixer-msg-avatar img{ width:100%; height:100%; object-fit:cover; }
.fixer-bot-avatar{ width:100%; height:100%; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#6366F1,#818CF8); font-size:12px; border-radius:50%; }
.fixer-msg-avatar .dashicons{ width:14px; height:14px; font-size:14px; color:var(--fixer-text-mid); }
.fixer-msg-bubble-col{ display:flex; flex-direction:column; min-width:0; flex:1; }
.fixer-msg-row .bubble{ padding:10px 14px; border-radius:16px; font-size:13.5px; line-height:1.8; }
.fixer-msg-image{ max-width:100%; max-height:280px; width:auto; height:auto; object-fit:cover; border-radius:12px; display:block; margin-bottom:4px; }
.fixer-quote{ border-right:3px solid var(--fixer-primary); padding:4px 8px; margin-bottom:6px; font-size:11.5px; opacity:.8; border-radius:6px; background:rgba(120,120,140,.14); }
.fixer-msg-audio{ max-width:220px; height:36px; }
.fixer-msg-file{ display:flex; align-items:center; gap:6px; color:inherit; text-decoration:none; }
.fixer-msg-deleted{ font-style:italic; opacity:.6; font-size:12.5px; }
.fixer-edited-tag{ font-size:10px; opacity:.65; display:block; margin-top:2px; }
.fixer-edit-textarea{ width:100%; min-height:50px; border-radius:10px; border:1px solid var(--fixer-glass-border); background:rgba(255,255,255,.5); font-family:inherit; font-size:12.5px; padding:6px 8px; resize:vertical; }
.fixer-edit-actions{ display:flex; gap:6px; margin-top:6px; }
.fixer-edit-actions button{ font-family:inherit; font-size:11px; border:none; border-radius:8px; padding:4px 10px; cursor:pointer; }
.fixer-edit-save{ background:var(--fixer-primary); color:#fff; }
.fixer-edit-cancel{ background:rgba(120,120,140,.2); color:var(--fixer-text-dark); }
.fixer-msg-time{ display:flex; align-items:center; gap:6px; font-size:10.5px; color:var(--fixer-text-soft); padding:0 4px; }
.fixer-msg-row.agent .fixer-msg-time{ justify-content:flex-end; }
.fixer-edit-msg-btn,.fixer-delete-msg-btn{ border:none; background:none; cursor:pointer; font-size:11px; color:var(--fixer-text-soft); padding:0; }
.fixer-edit-msg-btn:hover,.fixer-delete-msg-btn:hover{ color:var(--fixer-primary); }
.fixer-msg-row.user .bubble{ background:var(--fixer-bubble-agent); border:1px solid var(--fixer-glass-border); color:var(--fixer-text-dark); border-bottom-left-radius:4px; }
.fixer-msg-row.agent .bubble{ background:linear-gradient(135deg,var(--fixer-primary),var(--fixer-secondary)); color:#fff; border-bottom-right-radius:4px; }
.fixer-msg-row.bot .bubble{ background:rgba(99,102,241,.16); border:1px solid rgba(99,102,241,.3); color:var(--fixer-text-dark); }

.fixer-typing-row .bubble{ display:flex; align-items:center; gap:4px; padding:10px 14px; }
.fixer-typing-row .bubble span{ width:6px;height:6px;border-radius:50%; background:currentColor; opacity:.5; animation:fixerTypingDot 1.2s infinite; }
.fixer-typing-row .bubble span:nth-child(2){ animation-delay:.15s; }
.fixer-typing-row .bubble span:nth-child(3){ animation-delay:.3s; }
@keyframes fixerTypingDot{ 0%,60%,100%{ transform:translateY(0); opacity:.4; } 30%{ transform:translateY(-4px); opacity:1; } }

.fixer-emoji-pop{
	position:absolute; bottom:66px; width:min(260px, calc(100% - 24px)); max-height:220px; overflow-y:auto;
	background:var(--fixer-glass-bg); backdrop-filter:blur(20px); border:1px solid var(--fixer-glass-border);
	border-radius:16px; padding:10px; box-shadow:var(--fixer-shadow); display:none;
	grid-template-columns:repeat(6,1fr); gap:4px; z-index:20;
}
.fixer-chat-root[data-position="right"] .fixer-emoji-pop{ right:14px; }
.fixer-chat-root[data-position="left"] .fixer-emoji-pop{ left:14px; }
.fixer-emoji-pop.show{ display:grid; }
.fixer-emoji-pop button{ border:none; background:none; font-size:18px; padding:5px; cursor:pointer; border-radius:8px; }
.fixer-emoji-pop button:hover{ background:rgba(120,120,140,.18); }

.fixer-composer{ border-top:1px solid rgba(120,120,140,.14); padding:10px 12px 12px; display:flex; flex-direction:column; gap:8px; flex-shrink:0; }
.fixer-reply-preview{ display:none; align-items:center; justify-content:space-between; gap:8px; background:rgba(120,120,140,.12); border-right:3px solid var(--fixer-primary); border-radius:8px; padding:6px 10px; font-size:11.5px; color:var(--fixer-text-mid); }
.fixer-reply-preview.show{ display:flex; }
.fixer-reply-preview button{ background:none; border:none; color:var(--fixer-text-soft); cursor:pointer; }
.fixer-input-row{ display:flex; align-items:flex-end; gap:4px; }
.fixer-composer-actions{ display:flex; }
.fixer-msg-input{ flex:1; resize:none; border:1px solid var(--fixer-glass-border); background:var(--fixer-bubble-agent); border-radius:18px; padding:10px 14px; font-family:inherit; font-size:13.5px; color:var(--fixer-text-dark); max-height:110px; min-height:40px; line-height:1.6; outline:none; transition:border-color .15s ease, box-shadow .15s ease; }
.fixer-msg-input:focus{ border-color:var(--fixer-primary); box-shadow:0 0 0 3px rgba(249,115,22,.14); }
.fixer-send-btn{ width:40px;height:40px;border-radius:50%; border:none; cursor:pointer; flex-shrink:0; background:linear-gradient(135deg,var(--fixer-primary),var(--fixer-secondary)); color:#fff; box-shadow:0 8px 18px -6px rgba(249,115,22,.55); transition:transform .12s ease; }
.fixer-send-btn:active{ transform:scale(.9); }
.fixer-mic-recording{ display:none; align-items:center; gap:8px; background:var(--fixer-bubble-agent); border:1px solid var(--fixer-glass-border); border-radius:18px; padding:8px 14px; flex:1; }
.fixer-mic-recording.show{ display:flex; }
.fixer-mic-recording .rec-dot{ width:9px;height:9px;border-radius:50%; background:#EF4444; animation:fixerPulse 1s infinite; }
@keyframes fixerPulse{ 0%,100%{opacity:1;} 50%{opacity:.3;} }
.fixer-mic-recording .wave{ display:flex; align-items:center; gap:2px; flex:1; }
.fixer-mic-recording .wave span{ width:3px; background:var(--fixer-primary); border-radius:2px; height:6px; animation:fixerWave 1s infinite ease-in-out; }
@keyframes fixerWave{ 0%,100%{height:6px;} 50%{height:16px;} }
.fixer-rec-time{ font-size:12px; color:var(--fixer-text-mid); }
.fixer-rec-cancel{ background:none;border:none;color:var(--fixer-text-soft);cursor:pointer;font-size:12px; }

.fixer-drop-overlay{ position:absolute; inset:0; background:rgba(249,115,22,.14); border:2px dashed var(--fixer-primary); border-radius:var(--fixer-radius-lg); display:none; align-items:center; justify-content:center; color:var(--fixer-primary); font-weight:700; font-size:14px; z-index:15; }
.fixer-drop-overlay.show{ display:flex; }
.fixer-file-chip{ display:flex; align-items:center; gap:8px; background:var(--fixer-bubble-agent); border:1px solid var(--fixer-glass-border); border-radius:12px; padding:6px 10px; font-size:12px; color:var(--fixer-text-dark); align-self:flex-start; }
.fixer-file-chip button{ background:none;border:none;color:var(--fixer-text-soft);cursor:pointer; }

@media (max-width:480px){
	.fixer-panel{ width:100%; height:100%; max-height:100vh; position:fixed; inset:0; border-radius:0; }
	.fixer-panel-inner{ border-radius:0; min-height:0; }
	.fixer-panel-header{ flex-shrink:0; }
	.fixer-panel-body{ min-height:0; }
	.fixer-composer{ flex-shrink:0; }
	.fixer-back-btn{ display:flex; }
	.fixer-emoji-pop{ width:calc(100% - 24px); right:12px; left:12px; }
	.fixer-chat-root[data-position="right"]{ right:12px; bottom:var(--fixer-mobile-offset,16px); }
	.fixer-chat-root[data-position="left"]{ left:12px; bottom:var(--fixer-mobile-offset,16px); }
	.fixer-chat-root.open .fixer-fab{ display:none; }
}
