
:root{--cv2-control-edge:12px}@media(min-width:1576px){:root{--cv2-control-edge:calc((100vw - 1400px) / 2 - 74px)}}@media(max-width:640px){:root{--cv2-control-edge:14px}}


#coreai-widget {
  --cai-bg: var(--cv2-dark);
  --cai-bg-soft: color-mix(in srgb, var(--cai-text) 4%, var(--cai-bg));
  --cai-bg-bubble: color-mix(in srgb,var(--cv2-on-dark) 6%,var(--cai-bg));
  --cai-text: var(--cv2-on-dark);
  --cai-text-muted: var(--cv2-on-dark-2);
  --cai-border: color-mix(in srgb,var(--cv2-on-dark) 12%,transparent);
  --cai-accent: var(--cv2-dark-2);
  --cai-accent-text: var(--cv2-on-dark);
  --cai-green: var(--color-success);
  --cai-danger: var(--color-danger);
  --cai-warning: var(--color-warning);
  --cai-shadow: 0 22px 64px -16px color-mix(in srgb, var(--color-text-primary) 25%, transparent);
  --cai-radius: 24px;
  --cv2-history-surface: var(--cai-bg);
  --cv2-history-text: var(--cai-text);
  --cv2-history-muted: var(--cai-text-muted);
  --cv2-history-border: var(--cai-border);
  --cv2-history-hover: var(--cai-bg-soft);
  position: fixed; right: var(--cv2-control-edge, 20px); bottom: calc(var(--cv2-control-bottom, 40px) + var(--cv2-control-size, 56px) + var(--cv2-control-gap, 12px)); z-index: 999990;
   font-size: 14px; line-height: 1.55;
  color: var(--cai-text); -webkit-font-smoothing: antialiased}

#coreai-widget *, #coreai-widget *::before, #coreai-widget *::after { box-sizing: border-box}
#coreai-widget button { font: inherit; cursor: pointer}
#coreai-widget svg { display: block}

html[data-theme="dark"] #coreai-widget .cvai-fab{background:var(--ar-white);color:var(--cv2-dark);border-color:var(--ar-white)}
html[data-theme="dark"] #coreai-widget .cvai-header-brand,html[data-theme="dark"] #coreai-widget .cvai-message-mark,html[data-theme="dark"] #coreai-widget .cvai-welcome-mark{background:var(--ar-white);color:var(--cv2-dark);border-radius:50%}


.cvai-backdrop {
  position: fixed; inset: 0;
  
  background: oklch(0.11 0.012 260 / 0.66);
  backdrop-filter: blur(6px) saturate(140%);
  -webkit-backdrop-filter: blur(6px) saturate(140%);
  opacity: 0; pointer-events: none;
  transition: opacity .28s ease;
  z-index: -1}
.cvai-backdrop.open { opacity: 1; pointer-events: auto}


.cvai-launcher { position: relative}
.cvai-fab {
  position: relative;
  width: 60px; height: 60px;
  border: 0; border-radius: 50%;
  background: var(--cai-accent);
  color: var(--cai-accent-text);
  display: flex; align-items: center; justify-content: center;
  
  transition: transform .22s cubic-bezier(.34,1.56,.64,1), box-shadow .22s ease}
.cvai-fab:hover { transform: translateY(-3px) scale(1.05)}
.cvai-fab:active { transform: scale(.96)}
.cvai-fab:focus-visible { outline: 3px solid var(--cai-green); outline-offset: 3px}
.cvai-fab::after {
  content: "";
  position: absolute; inset: -4px;
  border-radius: 50%;
  border: 2px solid var(--cai-accent);
  opacity: 0;
  animation: caiFabPulse 3.2s ease-out infinite}
@keyframes caiFabPulse {
  0% { transform: scale(.86); opacity: .5}
  60%, 100% { transform: scale(1.28); opacity: 0}
}
.cvai-fab.is-open::after { display: none}


.cvai-emblem { display:inline-flex; align-items:center; justify-content:center; gap:7px; width:100%; height:100%; translate:var(--cvai-gaze-x,0px) var(--cvai-gaze-y,0px); transition:translate .18s ease}
.cvai-emblem i { display:block; width:7px; height:18px; border-radius:10px; background:currentColor; transform:rotate(15deg); animation:cvaiBlink 6.8s infinite; transition:height .22s,width .22s}
.cvai-emblem i:last-child { animation-delay:.06s}
@keyframes cvaiBlink { 0%,42%,46%,100%{transform:rotate(15deg) scaleY(1)}44%{transform:rotate(15deg) scaleY(.12)} }
#coreai-widget[data-expression="surprised"] .cvai-emblem i { width:10px;height:21px;animation:none;transform:rotate(0)}
#coreai-widget[data-ai-state="thinking"] .cvai-emblem i { animation-duration:3.4s}

.cvai-panel {
  position: absolute;
  right: 0; bottom: 74px;
  width: 410px;
  max-width: calc(100vw - 32px);
  height: 570px;
  max-height: calc(100dvh - 112px);
  display: flex; flex-direction: column;
  background: var(--cai-bg);
  border: 1px solid var(--cai-border);
  border-radius: var(--cai-radius);
  
  overflow: hidden;
  opacity: 0; visibility: hidden;
  transform: translateY(16px) scale(.96);
  transform-origin: bottom right;
  transition: opacity .26s ease, transform .3s cubic-bezier(.32,.72,.35,1.1), visibility .26s}
.cvai-panel.open { opacity: 1; visibility: visible; transform: translateY(0) scale(1)}


.cvai-header {
  display: flex; align-items: center; gap: 10px;
  padding: 14px 14px 12px 16px;
  border-bottom: 1px solid var(--cai-border);
  background: var(--cai-bg);
  flex: none}
.cvai-identity { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px}
.cvai-title {
  font-weight: 700; font-size: 14.5px;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis}
.cvai-status {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: 11.5px; color: var(--cai-text-muted)}
.cvai-status::before {
  content: ""; width: 7px; height: 7px;
  background: var(--cai-green); border-radius: 50%}
.cvai-header-actions { display: flex; align-items: center; gap: 2px; flex: none}
.cvai-icon {
  width: 32px; height: 32px;
  display: inline-flex; align-items: center; justify-content: center;
  border: 0; border-radius: 10px;
  background: transparent; color: var(--cai-text-muted);
  transition: background .15s ease, color .15s ease}
.cvai-icon:hover { background: var(--cai-bg-soft); color: var(--cai-text)}
.cvai-icon svg { width: 17px; height: 17px}


.cvai-menu {
  position: absolute; top: calc(100% + 6px); right: 10px;
  display: flex; flex-direction: column; gap: 2px;
  min-width: 170px; padding: 6px;
  background: var(--cai-bg);
  border: 1px solid var(--cai-border);
  border-radius: 14px;
  
  z-index: 40}
.cvai-tab {
  display: flex; align-items: center; gap: 9px;
  padding: 9px 12px;
  border: 0; border-radius: 10px;
  background: transparent; color: var(--cai-text);
  font-size: 13.5px; text-align: left;
  transition: background .15s ease}
.cvai-tab:hover { background: var(--cai-bg-soft)}
.cvai-tab[aria-selected="true"] { background: var(--cai-bg-soft); font-weight: 600}
.cvai-tab svg { width: 16px; height: 16px; color: var(--cai-text-muted)}


.cvai-body { flex: 1; min-height: 0; display: flex; flex-direction: column; position: relative}
.cvai-pane, .cvai-tab-pane { display: none; flex: 1; min-height: 0; flex-direction: column}
.cvai-pane.active, .cvai-tab-pane.active { display: flex}
.cvai-scroll { flex: 1; min-height: 0; overflow-y: auto; padding: 18px 16px}
.cvai-scroll::-webkit-scrollbar, .cvai-transcript::-webkit-scrollbar { width: 5px}
.cvai-scroll::-webkit-scrollbar-thumb, .cvai-transcript::-webkit-scrollbar-thumb { background: var(--cai-border); border-radius: 4px}


.cvai-transcript {
  flex: 1; min-height: 0;
  overflow-y: auto;
  padding: 20px 16px 8px;
  display: flex; flex-direction: column; gap: 14px;
  scroll-behavior: smooth}


.cvai-welcome {
  margin: auto;
  display: flex; flex-direction: column; align-items: center;
  text-align: center;
  padding: 16px 8px 24px;
  gap: 6px}
.cvai-welcome-mark {
  width: 76px; height: 76px;
  display: flex; align-items: center; justify-content: center;
  background: var(--cai-accent);
  color: var(--cai-accent-text);
  border-radius: 24px;
  
  margin-bottom: 10px;
  position: relative}
.cvai-welcome-mark::after {
  content: "";
  position: absolute; inset: -6px;
  border-radius: 28px;
  border: 1.5px solid var(--cai-border);
  animation: caiHalo 3s ease-in-out infinite}
@keyframes caiHalo {
  0%, 100% { opacity: .35; transform: scale(1)}
  50% { opacity: 1; transform: scale(1.05)}
}
.cvai-greeting { margin: 0; font-size: 14px; color: var(--cai-text-muted); font-weight: 500}
.cvai-welcome h2 {
  margin: 0 0 14px;
  font-size: 24px; font-weight: 750;
  letter-spacing: 0;
  color: var(--cai-text)}
.cvai-prompts { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; max-width: 300px}
.cvai-prompt {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 9px 15px;
  border: 1px solid var(--cai-border);
  border-radius: 999px;
  background: var(--cai-bg);
  color: var(--cai-text);
  font-size: 13px; font-weight: 550;
  transition: background .16s ease, border-color .16s ease, transform .16s ease}
.cvai-prompt:hover { background: var(--cai-bg-soft); transform: translateY(-1px)}
.cvai-prompt svg { width: 15px; height: 15px; color: var(--cai-text-muted)}


.cvai-message { display: flex; gap: 9px; max-width: 100%; animation: caiMsgIn .3s cubic-bezier(.32,.72,.35,1.05)}
@keyframes caiMsgIn {
  from { opacity: 0; transform: translateY(8px)}
  to { opacity: 1; transform: translateY(0)}
}
.cvai-message--user { flex-direction: row-reverse}
.cvai-message-mark {
  width: 28px; height: 28px; flex: none;
  display: flex; align-items: center; justify-content: center;
  background: var(--cai-accent); color: var(--cai-accent-text);
  border-radius: 9px;
  margin-top: 2px}
.cvai-message-content { min-width: 0; max-width: 82%; display: flex; flex-direction: column; gap: 3px}
.cvai-message--user .cvai-message-content { align-items: flex-end}
.cvai-response {
  padding: 10px 14px;
  border-radius: 16px;
  font-size: 14px;
  overflow-wrap: break-word}
.cvai-response strong { font-weight: 650}
.cvai-response code {
  background: var(--cai-bg-soft);
  border: 1px solid var(--cai-border);
  border-radius: 5px;
  padding: 1px 5px;
  font-size: 12.5px}
.cvai-message--user .cvai-response {
  background: var(--cai-bg-bubble);
  color: var(--cai-text);
  border-bottom-right-radius: 5px}
.cvai-message--bot .cvai-response {
  background: transparent;
  color: var(--cai-text);
  padding: 4px 0;
  border-bottom-left-radius: 5px}
.cvai-response-meta {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: 11px; color: var(--cai-text-muted);
  margin-bottom: 2px}
.cvai-response-meta svg { width: 12px; height: 12px}


.cvai-message-actions { display: flex; gap: 2px; opacity: 0; transition: opacity .15s ease}
.cvai-message:hover .cvai-message-actions, .cvai-message-actions:focus-within { opacity: 1}
.cvai-message-actions .cvai-icon { width: 26px; height: 26px; border-radius: 8px}
.cvai-message-actions .cvai-icon svg { width: 13px; height: 13px}


.cvai-thinking {
  display: flex; align-items: center; gap: 9px;
  color: var(--cai-text-muted);
  font-size: 13.5px;
  padding: 4px 0}
.cvai-thinking-symbol {
  width: 28px; height: 28px; flex: none;
  display: flex; align-items: center; justify-content: center;
  background: var(--cai-accent); color: var(--cai-accent-text);
  border-radius: 9px;
  animation: caiListen 1.4s ease-in-out infinite}
@keyframes caiListen {
  0%, 100% { transform: scale(1)}
  50% { transform: scale(1.09)}
}
.cvai-thinking-dots { display: inline-flex; gap: 3px; margin-left: 5px}
.cvai-thinking-dots i {
  width: 5px; height: 5px;
  background: var(--cai-text-muted);
  border-radius: 50%;
  animation: caiDot 1.2s ease-in-out infinite}
.cvai-thinking-dots i:nth-child(2) { animation-delay: .18s}
.cvai-thinking-dots i:nth-child(3) { animation-delay: .36s}
@keyframes caiDot {
  0%, 100% { opacity: .3; transform: translateY(0)}
  50% { opacity: 1; transform: translateY(-3px)}
}


.cvai-retry {
  display: inline-flex; align-items: center; gap: 7px;
  margin-top: 6px;
  padding: 7px 13px;
  border: 1px solid var(--cai-border);
  border-radius: 999px;
  background: var(--cai-bg);
  color: var(--cai-text);
  font-size: 12.5px; font-weight: 550;
  transition: background .15s ease}
.cvai-retry:hover { background: var(--cai-bg-soft)}
.cvai-retry svg { width: 13px; height: 13px}


.cvai-pkg-grid { display: grid; gap: 10px; margin: 8px 0}
.cvai-pkg-wrap, .ai-pkg-card {
  border: 1px solid var(--cai-border);
  border-radius: 14px;
  background: var(--cai-bg);
  padding: 12px 14px;
  transition: border-color .15s ease, box-shadow .15s ease}

.cvai-pkg-features-list { display: grid; gap: 5px}
.cvai-pkg-row { display: flex; justify-content: space-between; gap: 12px; font-size: 13px}
.cvai-pkg-row-k { color: var(--cai-text-muted)}
.cvai-pkg-row-v { font-weight: 600; text-align: right}
.ai-catalog-card-top {
  display: flex; align-items: baseline; justify-content: space-between; gap: 12px;
  margin-bottom: 6px}
.ai-catalog-card-name { font-weight: 700; font-size: 14.5px; flex: 1; min-width: 0}
.ai-catalog-card-price { flex: none; font-size: 16px; font-weight: 750; letter-spacing: 0}
.ai-catalog-card-period { font-size: 11.5px; font-weight: 500; color: var(--cai-text-muted); margin-left: 2px}
.ai-catalog-card-desc { font-size: 12.5px; color: var(--cai-text-muted); margin: 0 0 4px}
.ai-catalog-card { margin-bottom: 10px}
.ai-pkg-period-tabs { display: flex; gap: 4px; margin: 8px 0}
.ai-pkg-period-tab {
  padding: 5px 11px;
  border: 1px solid var(--cai-border);
  border-radius: 999px;
  background: transparent; color: var(--cai-text-muted);
  font-size: 12px; font-weight: 550}
.ai-pkg-period-tab.is-active { background: var(--cai-accent); color: var(--cai-accent-text); border-color: var(--cai-accent)}
.ai-pkg-price-main { display: flex; align-items: baseline; gap: 8px}
.ai-pkg-price-amt { font-size: 20px; font-weight: 750; letter-spacing: 0}
.ai-pkg-price-old { font-size: 13px; color: var(--cai-text-muted); text-decoration: line-through}
.ai-pkg-price-cycle { font-size: 12px; color: var(--cai-text-muted)}
.ai-pkg-price-disc {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--cai-green) 14%, transparent);
  color: var(--cai-green);
  font-size: 11.5px; font-weight: 700}
.ai-pkg-order-btn, .ai-catalog-order {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  margin-top: 10px;
  width: 100%;
  padding: 9px 14px;
  border: 0; border-radius: 12px;
  background: var(--cai-accent); color: var(--cai-accent-text);
  font-size: 13.5px; font-weight: 650;
  text-decoration: none;
  transition: opacity .15s ease, transform .15s ease}
.ai-pkg-order-btn:hover, .ai-catalog-order:hover { opacity: .88; transform: translateY(-1px)}
.ai-catalog-card-actions { display: flex; gap: 8px}
.ai-ticket-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px}
.ai-ticket-btn {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 8px 14px;
  border: 1px solid var(--cai-border);
  border-radius: 999px;
  background: var(--cai-bg); color: var(--cai-text);
  font-size: 12.5px; font-weight: 600;
  transition: background .15s ease}
.ai-ticket-btn:hover { background: var(--cai-bg-soft)}
.ai-ticket-btn--create { background: var(--cai-accent); color: var(--cai-accent-text); border-color: var(--cai-accent)}


.cvai-composer {
  flex: none;
  padding: 10px 14px 6px;
  background: var(--cai-bg)}
.cvai-compose-box {
  border: 1px solid var(--cai-border);
  border-radius: 18px;
  background: var(--cai-bg-soft);
  transition: border-color .15s ease, box-shadow .15s ease}
.cvai-compose-box:focus-within {
  
  background: var(--cai-bg)}
.cvai-textarea {
  display: block;
  width: 100%;
  border: 0; outline: 0; resize: none;
  background: transparent;
  color: var(--cai-text);
  font: inherit;
  padding: 12px 14px 4px;
  max-height: 90px}
.cvai-textarea::placeholder { color: var(--cai-text-muted)}
.cvai-compose-footer {
  display: flex; align-items: center; justify-content: space-between;
  padding: 4px 8px 8px 14px}
.cvai-agent {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 11.5px; color: var(--cai-text-muted); font-weight: 550}
.cvai-agent svg { width: 12px; height: 12px}
.cvai-send {
  width: 36px; height: 36px;
  border: 0; border-radius: 50%;
  background: var(--cai-accent); color: var(--cai-accent-text);
  display: inline-flex; align-items: center; justify-content: center;
  transition: transform .16s ease, opacity .16s ease}
.cvai-send:hover { transform: scale(1.08)}
.cvai-send:disabled { opacity: .4; cursor: default; transform: none}
.cvai-send svg { width: 16px; height: 16px}
.cvai-company {
  display: block;
  text-align: center;
  font-size: 10.5px;
  color: var(--cai-text-muted);
  padding: 7px 0 8px;
  opacity: .75}


.cvai-toast {
  position: absolute; left: 50%; bottom: 86px;
  transform: translateX(-50%) translateY(8px);
  background: var(--cai-accent); color: var(--cai-accent-text);
  padding: 8px 16px;
  border-radius: 999px;
  font-size: 12.5px; font-weight: 600;
  opacity: 0; pointer-events: none;
  transition: opacity .2s ease, transform .2s ease;
  z-index: 50}
.cvai-toast.show { opacity: 1; transform: translateX(-50%) translateY(0)}


.cvai-tk-head { margin-bottom: 16px}
.cvai-tk-title { font-size: 17px; font-weight: 750; letter-spacing: 0}
.cvai-tk-sub { font-size: 12.5px; color: var(--cai-text-muted); margin-top: 3px}
.cvai-tk-new-btn {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  width: 100%;
  padding: 11px;
  margin-bottom: 14px;
  border: 0; border-radius: 14px;
  background: var(--cai-accent); color: var(--cai-accent-text);
  font-size: 13.5px; font-weight: 650;
  transition: opacity .15s ease}
.cvai-tk-new-btn:hover { opacity: .88}
.cvai-tk-items { display: grid; gap: 8px}
.cvai-tk-item {
  border: 1px solid var(--cai-border);
  border-radius: 14px;
  padding: 12px 14px;
  cursor: pointer;
  transition: border-color .15s ease, background .15s ease}
.cvai-tk-item:hover { background: var(--cai-bg-soft)}
.cvai-tk-item-header { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 4px}
.cvai-tk-code { font-size: 12px; font-weight: 700; color: var(--cai-text-muted)}
.cvai-tk-status {
  font-size: 11px; font-weight: 650;
  padding: 3px 9px;
  border-radius: 999px;
  background: var(--cai-bg-bubble);
  color: var(--cai-text-muted)}
.cvai-tk-status--open, .cvai-tk-status--answered { background: color-mix(in srgb, var(--cai-green) 14%, transparent); color: var(--cai-green)}
.cvai-tk-status--closed { background: var(--cai-bg-bubble); color: var(--cai-text-muted)}
.cvai-tk-subject { font-size: 13.5px; font-weight: 600}
.cvai-tk-meta { font-size: 11.5px; color: var(--cai-text-muted); margin-top: 3px}
.cvai-tk-empty { text-align: center; padding: 44px 16px; color: var(--cai-text-muted); font-size: 13px}
.cvai-tk-empty i { font-size: 30px; display: block; margin-bottom: 10px}
.cvai-tk-back {
  display: inline-flex; align-items: center; gap: 6px;
  border: 0; background: transparent;
  color: var(--cai-text-muted);
  font-size: 12.5px; font-weight: 600;
  padding: 4px 0;
  margin-bottom: 14px}
.cvai-tk-back:hover { color: var(--cai-text)}
.cvai-tk-back svg { width: 14px; height: 14px}
.cvai-tk-detail-header { margin-bottom: 14px}
.cvai-tk-detail-title { font-size: 16px; font-weight: 700}
.cvai-tk-detail-meta { display: flex; align-items: center; gap: 8px; margin-top: 5px}
.cvai-tk-messages { display: grid; gap: 10px; margin-bottom: 14px}
.cvai-tk-msg {
  border: 1px solid var(--cai-border);
  border-radius: 14px;
  padding: 11px 13px;
  background: var(--cai-bg)}
.cvai-tk-msg--admin { background: var(--cai-bg-soft)}
.cvai-tk-msg-header { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 5px}
.cvai-tk-msg-author { font-size: 12.5px; font-weight: 700}
.cvai-tk-msg-time { font-size: 11px; color: var(--cai-text-muted)}
.cvai-tk-msg-body { font-size: 13.5px; white-space: pre-wrap; overflow-wrap: break-word}


.cvai-fg { margin-bottom: 15px}
.cvai-fl { display: block; font-size: 12.5px; font-weight: 650; margin-bottom: 7px}
.cvai-fi, .cvai-fs, .cvai-fta {
  width: 100%;
  border: 1px solid var(--cai-border);
  border-radius: 12px;
  background: var(--cai-bg);
  color: var(--cai-text);
  font: inherit; font-size: 13.5px;
  padding: 10px 13px;
  outline: 0;
  transition: border-color .15s ease, box-shadow .15s ease}
.cvai-fta { min-height: 100px; resize: vertical}
.cvai-fi:focus, .cvai-fs:focus, .cvai-fta:focus {
  border-color: var(--cai-text-muted)}
.cvai-fe { display: none; font-size: 12px; color: var(--cai-danger); margin-top: 5px}
.cvai-fg.err .cvai-fe { display: block}
.cvai-fg.err .cvai-fi, .cvai-fg.err .cvai-fta { border-color: var(--cai-danger)}
.cvai-pills { display: flex; flex-wrap: wrap; gap: 7px}
.cvai-pill-input { position: absolute; opacity: 0; pointer-events: none}
.cvai-pill {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 8px 14px;
  border: 1px solid var(--cai-border);
  border-radius: 999px;
  font-size: 12.5px; font-weight: 600;
  color: var(--cai-text-muted);
  cursor: pointer;
  transition: all .15s ease}
.cvai-pill svg { width: 14px; height: 14px}
.cvai-pill:hover { color: var(--cai-text)}
.cvai-pill.checked { background: var(--cai-accent); color: var(--cai-accent-text); border-color: var(--cai-accent)}
.cvai-tk-submit {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  width: 100%;
  padding: 12px;
  border: 0; border-radius: 14px;
  background: var(--cai-accent); color: var(--cai-accent-text);
  font-size: 14px; font-weight: 650;
  transition: opacity .15s ease}
.cvai-tk-submit:hover { opacity: .88}
.cvai-tk-submit:disabled { opacity: .55; cursor: wait}
.cvai-tk-submit svg { width: 15px; height: 15px}
@keyframes caiSpin { to { transform: rotate(360deg)} }


.cvai-success {
  display: none;
  flex: 1;
  flex-direction: column;
  align-items: center; justify-content: center;
  text-align: center;
  padding: 30px 22px;
  gap: 8px}
.cvai-success.show { display: flex}
.cvai-success-ic {
  width: 62px; height: 62px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%;
  background: color-mix(in srgb, var(--cai-green) 14%, transparent);
  color: var(--cai-green);
  margin-bottom: 8px}
.cvai-success-ic svg { width: 28px; height: 28px}
.cvai-success h3 { margin: 0; font-size: 17px}
.cvai-success p { margin: 0 0 10px; font-size: 13px; color: var(--cai-text-muted)}
.cvai-success-link {
  display: inline-block;
  padding: 10px 20px;
  border-radius: 999px;
  background: var(--cai-accent); color: var(--cai-accent-text);
  font-size: 13px; font-weight: 650;
  text-decoration: none}


.cvai-login-cta { text-align: center; padding: 34px 10px 22px}
.cvai-login-cta h3 { margin: 0 0 6px; font-size: 17px}
.cvai-login-cta p { margin: 0 0 18px; font-size: 13px; color: var(--cai-text-muted)}
.cvai-login-btns { display: flex; gap: 9px; justify-content: center}
.cvai-login-btn {
  padding: 10px 22px;
  border-radius: 999px;
  font-size: 13.5px; font-weight: 650;
  text-decoration: none;
  transition: opacity .15s ease}
.cvai-login-btn:hover { opacity: .88}
.cvai-login-btn--pri { background: var(--cai-accent); color: var(--cai-accent-text)}
.cvai-login-btn--out { border: 1px solid var(--cai-border); color: var(--cai-text)}
.cvai-or {
  display: flex; align-items: center; gap: 12px;
  margin: 20px 0;
  font-size: 11.5px; color: var(--cai-text-muted)}
.cvai-or::before, .cvai-or::after { content: ""; flex: 1; height: 1px; background: var(--cai-border)}


.cvai-links { display: grid; gap: 7px}
.cvai-link {
  display: flex; align-items: center; gap: 12px;
  padding: 12px 14px;
  border: 1px solid var(--cai-border);
  border-radius: 14px;
  text-decoration: none; color: var(--cai-text);
  transition: border-color .15s ease, background .15s ease}
.cvai-link:hover { background: var(--cai-bg-soft)}
.cvai-link-ic {
  width: 36px; height: 36px; flex: none;
  display: flex; align-items: center; justify-content: center;
  border-radius: 11px;
  background: var(--cai-bg-bubble);
  color: var(--cai-text)}
.cvai-link-ic svg, .cvai-link-ic i { width: 17px; height: 17px; font-size: 17px}
.cvai-link > div { flex: 1; min-width: 0}
.cvai-link-t { font-size: 13.5px; font-weight: 650}
.cvai-link-sub { font-size: 11.5px; color: var(--cai-text-muted)}
.cvai-link-r { flex: none; font-size: 12.5px; font-weight: 600; color: var(--cai-text-muted)}
.cvai-link-arrow svg { width: 15px; height: 15px}
.cvai-link-badge { padding: 3px 9px; border-radius: 999px; font-size: 11px; font-weight: 700}
.cvai-link-badge--w { background: color-mix(in srgb, var(--cai-warning) 15%, transparent); color: var(--cai-warning)}
.cvai-link-badge--p { background: color-mix(in srgb, var(--cai-danger) 12%, transparent); color: var(--cai-danger)}


.cvai-ac-scroll { display: flex; flex-direction: column; gap: 14px}
.cvai-ac-card--profile {
  display: flex; align-items: center; gap: 13px;
  padding: 16px;
  border: 1px solid var(--cai-border);
  border-radius: 16px;
  background: var(--cai-bg-soft)}
.cvai-ac-av {
  width: 52px; height: 52px; flex: none;
  display: flex; align-items: center; justify-content: center;
  border-radius: 16px;
  background: var(--cai-accent); color: var(--cai-accent-text);
  font-size: 21px; font-weight: 700;
  overflow: hidden}
.cvai-ac-av img { width: 100%; height: 100%; object-fit: cover}
.cvai-ac-info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px}
.cvai-ac-name { font-size: 14.5px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis}
.cvai-ac-email { font-size: 12px; color: var(--cai-text-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis}
.cvai-ac-member-id { display: inline-flex; align-items: center; gap: 5px; font-size: 11px; color: var(--cai-text-muted)}
.cvai-ac-balance { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 700; margin-top: 3px}
.cvai-ac-logout {
  width: 36px; height: 36px; flex: none;
  display: flex; align-items: center; justify-content: center;
  border-radius: 11px;
  color: var(--cai-text-muted);
  transition: background .15s ease, color .15s ease}
.cvai-ac-logout:hover { background: var(--cai-bg-bubble); color: var(--cai-danger)}
.cvai-stats--panel { display: grid; grid-template-columns: 1fr 1fr; gap: 8px}
.cvai-stat.cvai-account-stat-card {
  display: flex; align-items: center; gap: 10px;
  padding: 12px;
  border: 1px solid var(--cai-border);
  border-radius: 14px;
  text-decoration: none; color: var(--cai-text);
  transition: border-color .15s ease, background .15s ease}
.cvai-stat.cvai-account-stat-card:hover { background: var(--cai-bg-soft)}
.cvai-stat-icon {
  width: 34px; height: 34px; flex: none;
  display: flex; align-items: center; justify-content: center;
  border-radius: 10px;
  background: var(--cai-bg-bubble)}
.cvai-stat-icon svg { width: 16px; height: 16px}
.cvai-stat-icon.cai-stat-icon--warn { background: color-mix(in srgb, var(--cai-warning) 15%, transparent); color: var(--cai-warning)}
.cvai-stat-icon.cai-stat-icon--err { background: color-mix(in srgb, var(--cai-danger) 12%, transparent); color: var(--cai-danger)}
.cvai-account-stat-stack { flex: 1; min-width: 0}
.cvai-account-stat-stack small { font-size: 11px; color: var(--cai-text-muted)}
.cvai-account-stat-stack small strong { color: var(--cai-text); font-weight: 650}
.cvai-account-stat-amount { font-size: 17px; font-weight: 750}


.cvai-faq-item {
  border: 1px solid var(--cai-border);
  border-radius: 14px;
  margin-bottom: 8px;
  overflow: hidden;
  transition: border-color .15s ease}
.cvai-faq-item.open { border-color: var(--cai-text-muted)}
.cvai-faq-q {
  display: flex; align-items: center; gap: 11px;
  width: 100%;
  padding: 13px 14px;
  border: 0; background: transparent;
  color: var(--cai-text);
  font-size: 13.5px; font-weight: 600;
  text-align: left}
.cvai-faq-q-ic {
  width: 24px; height: 24px; flex: none;
  display: flex; align-items: center; justify-content: center;
  border-radius: 8px;
  background: var(--cai-bg-bubble);
  transition: transform .2s ease}
.cvai-faq-q-ic svg { width: 12px; height: 12px}
.cvai-faq-item.open .cvai-faq-q-ic { transform: rotate(45deg)}
.cvai-faq-a { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .25s ease}
.cvai-faq-item.open .cvai-faq-a { grid-template-rows: 1fr}
.cvai-faq-a-inner { overflow: hidden}
.cvai-faq-a-t { padding: 0 14px 14px 49px; font-size: 13px; color: var(--cai-text-muted)}
.cvai-faq-a-t a { color: var(--cai-text); font-weight: 600}


.cvai-ct-card {
  margin-top: 16px;
  padding: 16px;
  border: 1px solid var(--cai-border);
  border-radius: 16px;
  background: var(--cai-bg-soft)}
.cvai-ct-title { font-size: 13.5px; font-weight: 700; margin-bottom: 10px}
.cvai-ct-row { display: flex; align-items: center; gap: 10px; padding: 6px 0; font-size: 13px}
.cvai-ct-row svg { width: 15px; height: 15px; flex: none; color: var(--cai-text-muted)}
.cvai-ct-row a { color: var(--cai-text); text-decoration: none; font-weight: 550}
.cvai-wa {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  margin-top: 12px;
  padding: 10px;
  border-radius: 12px;
  background: var(--cai-green); color: var(--cai-accent-text);
  font-size: 13.5px; font-weight: 650;
  text-decoration: none;
  transition: opacity .15s ease}
.cvai-wa:hover { opacity: .9}
.cvai-wa svg { width: 17px; height: 17px}


@media (max-width: 640px) {
  #coreai-widget { right: var(--cv2-control-edge, 16px); bottom: calc(var(--cv2-control-bottom, 96px) + var(--cv2-control-size, 56px) + var(--cv2-control-gap, 12px))}
  .cvai-panel {
    position: fixed;
    left: 10px; right: 10px; bottom: max(76px, calc(env(safe-area-inset-bottom) + 66px));
    width: auto;
    height: min(570px, calc(100dvh - 92px));
    max-height: calc(100dvh - 20px);
    border-radius: 20px;
    transform-origin: bottom center}
  .cvai-message-content { max-width: 88%}}
@media (min-width: 641px) and (max-width: 1024px) {
  .cvai-panel { width: 380px; height: 540px}}
@media (prefers-reduced-motion: reduce) {
  #coreai-widget *, #coreai-widget *::before, #coreai-widget *::after {
    animation-duration: .01ms;
    animation-iteration-count: 1;
    transition-duration: .01ms}}


#coreai-widget .cvai-fab { width:var(--cv2-control-size,56px);height:var(--cv2-control-size,56px);background:var(--cai-bg);color:var(--cai-text);border:1px solid var(--cai-border)}
#coreai-widget .cvai-fab::after { display:none}
#coreai-widget .cvai-header { position:relative;min-height:70px;padding:14px 16px;gap:10px}
#coreai-widget .cvai-header-brand { width:36px;height:36px;flex:none;border-radius:50%;background:var(--cai-bg-soft);color:var(--cai-text)}
#coreai-widget .cvai-header-brand .cvai-emblem { transform:scale(.7)}
#coreai-widget .cvai-title { font-size:14px;max-width:160px}
#coreai-widget .cvai-status { font-size:11px}
#coreai-widget .cvai-status::before { width:5px;height:5px}
#coreai-widget .cvai-icon { width:30px;height:30px;border-radius:50%}
#coreai-widget .cvai-header-actions { gap:1px}
#coreai-widget .cvai-menu[hidden] { display:none}
#coreai-widget .cvai-menu { border-radius:8px}
#coreai-widget .cvai-transcript { padding:20px 18px 12px;gap:20px;overscroll-behavior:contain}
#coreai-widget .cvai-welcome { width:100%;padding:4px 0 8px;gap:6px;flex-shrink:0}
#coreai-widget .cvai-welcome-mark { width:64px;height:54px;border-radius:0;margin-bottom:12px;background:transparent;color:var(--cai-text)}
#coreai-widget .cvai-welcome-mark::after { display:none}
#coreai-widget .cvai-welcome-mark .cvai-emblem { transform:scale(1.7)}
#coreai-widget .cvai-welcome h2 { font-size:24px;line-height:1.35;max-width:270px;margin:0 0 10px}
#coreai-widget .cvai-greeting { font-size:12px}
#coreai-widget .cvai-prompts { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;max-width:340px;gap:8px;margin-top:12px}
#coreai-widget .cvai-prompt { justify-content:flex-start;text-align:left;border-radius:999px;min-height:48px;padding:7px 14px 7px 7px;font-size:12px;font-weight:600;gap:10px;background:var(--cai-bg-soft);border:1px solid var(--cai-border);transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}
#coreai-widget .cvai-prompt:hover { background:var(--cai-bg);border-color:color-mix(in srgb,var(--color-primary) 45%,var(--cai-border));transform:translateY(-1px)}
#coreai-widget .cvai-prompt:focus-visible { outline:0;border-color:var(--color-primary);}
#coreai-widget .cvai-prompt span { overflow-wrap:anywhere}
#coreai-widget .cvai-prompt::after { display:none}
#coreai-widget .cvai-heading-accent { color:var(--color-primary)}
#coreai-widget .cvai-prompt svg { box-sizing:content-box;width:16px;height:16px;flex:none;padding:8px;border-radius:50%;color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 12%,transparent);transition:background .18s ease,color .18s ease}
#coreai-widget .cvai-prompt:hover svg { background:var(--cv2-gradient,var(--color-primary));color:var(--color-surface)}
#coreai-widget .cvai-textarea:focus,#coreai-widget .cvai-textarea:focus-visible {outline:0}
#coreai-widget .cvai-compose-box:focus-within {outline:0}
#coreai-widget .cvai-message-mark { width:24px;height:24px;border-radius:50%;background:var(--cai-accent);color:var(--cai-accent-text);margin-top:10px}
#coreai-widget .cvai-message-mark .cvai-emblem { transform:scale(.5)}
#coreai-widget .cvai-message-content { max-width:calc(100% - 33px)}
#coreai-widget .cvai-message--user .cvai-message-content { max-width:88%}
#coreai-widget .cvai-response { font-size:13px;line-height:1.65}
#coreai-widget .cvai-message--bot .cvai-response { padding:12px 14px;background:var(--cai-bg-bubble);border-radius:3px 16px 16px 16px}
#coreai-widget .cvai-message--user .cvai-response { background:var(--cai-bg-soft);color:var(--cai-text);border:1px solid var(--cai-border);border-radius:16px 16px 3px 16px}
#coreai-widget .cvai-message-time { display:block;font-size:10px;color:var(--cai-text-muted);margin-top:3px}
#coreai-widget .cvai-message-actions { opacity:1}
#coreai-widget .cvai-response-meta { font-size:10px;padding-left:2px}
#coreai-widget .cvai-compose-box { display:flex;align-items:flex-end;border-radius:16px;background:var(--cai-bg-soft);border:1px solid var(--cai-border)}

#coreai-widget .cvai-composer { padding:14px 14px 4px;background:var(--cai-bg);border-top:1px solid var(--cai-border)}
#coreai-widget .cvai-textarea { min-height:44px;padding:12px 14px;max-height:90px;font-size:14px;background:transparent;border-radius:0}
#coreai-widget .cvai-compose-footer { padding:5px;flex:none}
#coreai-widget .cvai-agent { display:none}
#coreai-widget .cvai-send { width:34px;height:34px}
#coreai-widget .cvai-company { font-size:9px;padding:6px 0 10px;background:var(--cai-bg);color:var(--cai-text-muted)}
#coreai-widget .cvai-thinking-symbol { border-radius:50%;width:24px;height:24px;animation:none}
#coreai-widget .cvai-thinking-symbol .cvai-emblem { transform:scale(.5)}
#coreai-widget .ai-pkg-card,#coreai-widget .cvai-pkg-wrap { border-radius:8px}
#coreai-widget button:focus-visible { outline:2px solid var(--color-focus-ring);outline-offset:2px}
#coreai-widget .cv2-history-panel { border:0;border-radius:0;padding:18px}
#coreai-widget .cv2-history-heading { border:0;padding-bottom:10px}
#coreai-widget .cv2-history-row { background:var(--cai-bg-bubble);border-radius:18px;margin-bottom:8px}
#coreai-widget .cv2-history-select { position:relative;padding:12px 10px 12px 42px}
#coreai-widget .cv2-history-select::before { content:'';position:absolute;left:14px;top:16px;width:16px;height:13px;border:1.5px solid var(--cai-text-muted);border-radius:5px}
#coreai-widget .cv2-history-select span { font-size:12px;font-weight:500}
#coreai-widget .cv2-history-delete { border-radius:50%;background:var(--cai-bg)}
#coreai-widget .cv2-history-clear { font-size:11px}
@media(max-width:640px) {
  #coreai-widget .cvai-panel { left:12px;right:12px;border-radius:24px;height:min(570px,calc(100dvh - 100px));max-height:calc(100dvh - 100px)}}
@media(max-width:380px) {
  #coreai-widget .cvai-header { padding:12px 10px;gap:7px}
  #coreai-widget .cvai-title { max-width:105px}
  #coreai-widget .cvai-icon { width:28px;height:28px}
  #coreai-widget .cvai-welcome h2 { font-size:21px;margin-bottom:10px}
  #coreai-widget .cvai-welcome-mark { width:44px;height:44px;margin-bottom:2px}
  #coreai-widget .cvai-prompts { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  #coreai-widget .cvai-prompt { border-radius:999px;padding:6px 10px 6px 6px;font-size:11px;gap:7px;min-height:42px}
  #coreai-widget .cvai-prompt svg { padding:6px;width:14px;height:14px}
  #coreai-widget .cvai-prompt::after { display:none}
  #coreai-widget .cvai-transcript { padding:14px}}
@media(max-height:500px) {
  #coreai-widget .cvai-panel { bottom:10px;height:calc(100dvh - 20px);max-height:calc(100dvh - 20px)}}
#coreai-widget[data-animation="0"] .cvai-emblem,
#coreai-widget[data-animation="0"] .cvai-emblem i { animation:none;transition:none;translate:none}

#coreai-widget{--cvai-gap:16px}
.cv2-st-caip.cv2-st-caip #coreai-widget::after{content:"";position:absolute;right:calc(var(--cv2-control-size,56px) / 2 - 7px);bottom:calc(100% + var(--cvai-gap) - 8px);z-index:2;width:14px;height:14px;transform:rotate(45deg);border-radius:0 0 4px 0;background:var(--cai-bg);border-right:1px solid var(--cai-border);border-bottom:1px solid var(--cai-border);pointer-events:none}
@media (min-width:641px){#coreai-widget .cvai-panel{bottom:calc(var(--cv2-control-size,56px) + var(--cvai-gap))}}
@media (max-width:640px){
  #coreai-widget{--cvai-gap:14px}
  #coreai-widget .cvai-panel{bottom:calc(var(--cv2-control-bottom,84px) + 2 * var(--cv2-control-size,46px) + var(--cv2-control-gap,10px) + var(--cvai-gap));height:min(570px,calc(100dvh - var(--cv2-control-bottom,84px) - 2 * var(--cv2-control-size,46px) - var(--cv2-control-gap,10px) - var(--cvai-gap) - 14px));max-height:none;transform-origin:calc(100% - var(--cv2-control-size,46px) / 2) 100%}
}
html:not([data-theme="dark"]) #coreai-widget{--cai-bg:var(--ar-card,#fff);--cai-text:var(--cv2-heading,#16181c);--cai-text-muted:var(--cv2-text,#5b616e);--cai-border:color-mix(in srgb,var(--cv2-heading,#16181c) 11%,transparent);--cai-bg-bubble:color-mix(in srgb,var(--cv2-heading,#16181c) 5%,var(--cai-bg))}
html:not([data-theme="dark"]) #coreai-widget .cvai-fab{background:var(--cv2-dark);color:var(--cv2-on-dark);border-color:transparent}
