/* Fixerwo Panel — smart assistant chat (uses shared --fxwp-* tokens). */
.fxwp-ai-card { display: flex; flex-direction: column; gap: 14px; max-width: 860px; margin-inline: auto; }
.fxwp-ai-head { display: flex; align-items: center; gap: 12px; }
.fxwp-ai-head > div { flex: 1; display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.fxwp-ai-head strong { font-size: 16px; }
.fxwp-ai-head span { color: var(--fxwp-text-muted); font-size: 12.5px; }
.fxwp-ai-avatar { flex: none; display: grid; place-items: center; width: 42px; height: 42px; border-radius: 14px; color: #fff; background: linear-gradient(135deg, var(--fxwp-primary), var(--fxwp-secondary)); }
.fxwp-ai-avatar svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.fxwp-ai-log { display: flex; flex-direction: column; gap: 12px; min-height: 260px; max-height: 58vh; overflow-y: auto; padding: 4px 2px; scroll-behavior: smooth; }
.fxwp-ai-msg { display: flex; flex-direction: column; gap: 8px; max-width: 88%; }
.fxwp-ai-msg.is-user { align-self: flex-start; }
.fxwp-ai-msg.is-bot { align-self: flex-end; }
.fxwp-ai-bubble { padding: 11px 15px; border-radius: 18px; line-height: 1.95; font-size: 14.5px; overflow-wrap: anywhere; }
.fxwp-ai-msg.is-user .fxwp-ai-bubble { background: var(--fxwp-primary); color: #fff; border-end-start-radius: 6px; white-space: pre-wrap; }
.fxwp-ai-msg.is-bot .fxwp-ai-bubble { background: var(--fxwp-surface-2); color: var(--fxwp-text); border-end-end-radius: 6px; }
.fxwp-ai-msg.is-error .fxwp-ai-bubble { background: color-mix(in srgb, var(--fxwp-danger) 12%, transparent); color: var(--fxwp-danger); }
.fxwp-ai-text p { margin: 0 0 8px; }
.fxwp-ai-text > :last-child { margin-bottom: 0; }
.fxwp-ai-text ul, .fxwp-ai-text ol { margin: 0 0 8px; padding-inline-start: 22px; }
.fxwp-ai-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.fxwp-ai-actions a { text-decoration: none; }
.fxwp-ai-ticket { display: flex; flex-direction: column; gap: 8px; padding: 14px; border: 1px dashed color-mix(in srgb, var(--fxwp-primary) 50%, var(--fxwp-border)); border-radius: 16px; background: color-mix(in srgb, var(--fxwp-primary) 5%, transparent); }
.fxwp-ai-ticket strong { font-size: 13px; }
.fxwp-ai-ticket input, .fxwp-ai-ticket textarea { width: 100%; padding: 9px 12px; border: 1px solid var(--fxwp-border); border-radius: 12px; background: var(--fxwp-surface); color: var(--fxwp-text); font: inherit; font-size: 13.5px; }
.fxwp-ai-ticket button { align-self: flex-start; }
.fxwp-ai-ticket-note { min-height: 1em; color: var(--fxwp-text-muted); font-size: 12.5px; }
.fxwp-ai-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.fxwp-ai-chip { padding: 8px 14px; border: 1px solid var(--fxwp-border); border-radius: 999px; background: var(--fxwp-surface); color: var(--fxwp-text); font: inherit; font-size: 13px; cursor: pointer; transition: border-color var(--fxwp-anim), background var(--fxwp-anim); }
.fxwp-ai-chip:hover { border-color: var(--fxwp-primary); background: color-mix(in srgb, var(--fxwp-primary) 7%, transparent); }
.fxwp-ai-chips[hidden], .fxwp-ai-new[hidden] { display: none; }
.fxwp-ai-form { display: flex; align-items: flex-end; gap: 10px; }
.fxwp-ai-input { flex: 1; resize: none; min-height: 46px; max-height: 140px; padding: 12px 16px; border: 1px solid var(--fxwp-border); border-radius: 18px; background: var(--fxwp-surface); color: var(--fxwp-text); font: inherit; font-size: 14.5px; line-height: 1.7; }
.fxwp-ai-input:focus { outline: 0; border-color: var(--fxwp-primary); box-shadow: 0 0 0 3px color-mix(in srgb, var(--fxwp-primary) 22%, transparent); }
.fxwp-ai-send { height: 46px; padding-inline: 22px; }
.fxwp-ai-foot { margin: 0; color: var(--fxwp-text-muted); font-size: 12px; }
.fxwp-ai-typing { display: inline-flex; gap: 5px; align-items: center; min-height: 20px; }
.fxwp-ai-typing i { width: 7px; height: 7px; border-radius: 50%; background: var(--fxwp-text-muted); animation: fxwp-ai-dot 1.1s infinite ease-in-out; }
.fxwp-ai-typing i:nth-child(2) { animation-delay: .15s; }
.fxwp-ai-typing i:nth-child(3) { animation-delay: .3s; }
@keyframes fxwp-ai-dot { 0%, 80%, 100% { opacity: .25; transform: translateY(0); } 40% { opacity: 1; transform: translateY(-4px); } }
@media (prefers-reduced-motion: reduce) { .fxwp-ai-typing i { animation: none; opacity: .6; } .fxwp-ai-log { scroll-behavior: auto; } }
@media (max-width: 600px) { .fxwp-ai-msg { max-width: 96%; } .fxwp-ai-log { max-height: 52vh; } }

/* quick order card */
.fxwp-ai-order { display: flex; flex-direction: column; gap: 10px; padding: 14px; border: 1px solid color-mix(in srgb, var(--fxwp-primary) 40%, var(--fxwp-border)); border-radius: 16px; background: var(--fxwp-surface); }
.fxwp-ai-order-title { font-size: 14px; }
.fxwp-ai-order-row { display: flex; align-items: center; gap: 10px; padding: 8px 0; border-top: 1px solid var(--fxwp-border); }
.fxwp-ai-order-name { flex: 1; display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.fxwp-ai-order-name span { color: var(--fxwp-text-muted); font-size: 12.5px; }
.fxwp-ai-qty { display: inline-flex; align-items: center; gap: 8px; }
.fxwp-ai-qbtn { width: 28px; height: 28px; border: 1px solid var(--fxwp-border); border-radius: 50%; background: var(--fxwp-surface-2); color: var(--fxwp-text); font: inherit; cursor: pointer; line-height: 1; }
.fxwp-ai-qbtn:hover { border-color: var(--fxwp-primary); }
.fxwp-ai-cand { display: flex; flex-direction: column; gap: 6px; padding: 10px; border-radius: 12px; background: var(--fxwp-surface-2); }
.fxwp-ai-cand-q { font-size: 13px; font-weight: 600; }
.fxwp-ai-pick { padding: 8px 12px; border: 1px solid var(--fxwp-border); border-radius: 10px; background: var(--fxwp-surface); color: var(--fxwp-text); font: inherit; font-size: 13px; text-align: start; text-decoration: none; cursor: pointer; }
.fxwp-ai-pick:hover { border-color: var(--fxwp-primary); }
.fxwp-ai-pick.is-link { display: inline-block; color: var(--fxwp-primary); }
.fxwp-ai-order-search { display: flex; gap: 8px; }
.fxwp-ai-order-search input { flex: 1; min-width: 0; padding: 8px 12px; border: 1px solid var(--fxwp-border); border-radius: 10px; background: var(--fxwp-surface); color: var(--fxwp-text); font: inherit; font-size: 13px; }
.fxwp-ai-order-results { display: flex; flex-direction: column; gap: 6px; font-size: 13px; color: var(--fxwp-text-muted); }
.fxwp-ai-order-empty { margin: 0; color: var(--fxwp-text-muted); font-size: 13px; }
.fxwp-ai-sum-row { font-size: 13.5px; }
.fxwp-ai-sum-total { font-size: 15px; font-weight: 800; }
.fxwp-ai-order-addr { padding: 8px 12px; border-radius: 10px; background: var(--fxwp-surface-2); font-size: 13px; }
.fxwp-ai-order-addr.is-bad, .fxwp-ai-order-note.is-bad { color: var(--fxwp-danger); }
.fxwp-ai-order-rates { display: flex; flex-direction: column; gap: 6px; font-size: 13.5px; }
.fxwp-ai-order-rates label { cursor: pointer; }
.fxwp-ai-wallet { font-size: 13px; color: var(--fxwp-text-muted); }
.fxwp-ai-order-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.fxwp-ai-order-note { min-height: 1em; color: var(--fxwp-text-muted); font-size: 12.5px; }
.fxwp-ai-order button:disabled { opacity: .5; cursor: not-allowed; }

/* cart + confirm cards */
.fxwp-ai-cart, .fxwp-ai-confirm { display: flex; flex-direction: column; gap: 10px; padding: 14px; border: 1px solid var(--fxwp-border); border-radius: 16px; background: var(--fxwp-surface); }
.fxwp-ai-confirm { border-color: color-mix(in srgb, var(--fxwp-warning) 55%, var(--fxwp-border)); }
.fxwp-ai-change { font-size: 13.5px; }
.fxwp-ai-change.is-ok, .fxwp-ai-ok { color: var(--fxwp-success); }
.fxwp-ai-change.is-bad, .fxwp-ai-bad { color: var(--fxwp-danger); }
.fxwp-ai-cart .fxwp-btn, .fxwp-ai-confirm .fxwp-btn { text-decoration: none; }
