:root{--ccm-navy:#0e2269;--ccm-navy-2:#18388e;--ccm-teal:#087f75;--ccm-cyan:#05789b;--ccm-bg:#f5f8fb;--ccm-text:#18213a;--ccm-border:#dfe7ef}
.ccm-ai{position:fixed;z-index:999999;right:calc(24px + env(safe-area-inset-right));bottom:calc(24px + env(safe-area-inset-bottom));font-family:Arial,sans-serif;color:var(--ccm-text);line-height:1.45}
.ccm-ai *{box-sizing:border-box}
.ccm-ai button,.ccm-ai textarea{font:inherit}
.ccm-ai button:focus-visible,.ccm-ai textarea:focus-visible,.ccm-ai a:focus-visible{outline:3px solid #f4b740;outline-offset:2px}
.ccm-ai__launcher{position:relative;display:flex;align-items:center;min-height:52px;gap:10px;border:0;border-radius:999px;padding:11px 18px;background:var(--ccm-navy);color:#fff;font-weight:700;box-shadow:0 12px 32px rgba(14,34,105,.26);cursor:pointer}
.ccm-ai__launcher.has-conversation::after{content:"";position:absolute;right:5px;top:3px;width:11px;height:11px;border:2px solid #fff;border-radius:50%;background:#f4b740}
.ccm-ai__launcher-icon,.ccm-ai__header-icon{display:grid;place-items:center;flex:0 0 auto;width:30px;height:30px;overflow:hidden;border-radius:50%;background:var(--ccm-navy);color:#fff;font-size:15px;font-weight:800}
.ccm-ai__launcher-icon img,.ccm-ai__header-icon img{display:block;width:100%;height:100%;object-fit:cover;padding:0}
.ccm-ai__panel{position:absolute;right:0;bottom:64px;display:flex;flex-direction:column;width:min(410px,calc(100vw - 32px));height:min(680px,calc(100dvh - 110px));overflow:hidden;border:1px solid var(--ccm-border);border-radius:22px;background:#fff;box-shadow:0 22px 70px rgba(14,34,105,.23)}
.ccm-ai__panel[hidden]{display:none!important}
.ccm-ai__header{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px 13px 18px;color:#fff;background:linear-gradient(135deg,var(--ccm-navy),var(--ccm-navy-2))}
.ccm-ai__identity{display:flex;flex:1 1 auto;min-width:0;align-items:center;gap:10px}.ccm-ai__identity>div{min-width:0}.ccm-ai__header-icon{width:36px;height:36px}
.ccm-ai__header strong,.ccm-ai__header small{display:block}.ccm-ai__header small{margin-top:2px;font-size:12px;opacity:.9}
.ccm-ai__header-actions{display:flex;flex:0 0 auto;align-items:center;gap:4px}
.ccm-ai__close,.ccm-ai__restart,.ccm-ai__share{display:grid;place-items:center;min-width:44px;min-height:44px;border:0;border-radius:12px;background:transparent;color:#fff;line-height:1;cursor:pointer}
.ccm-ai__close{font-size:28px}.ccm-ai__restart{font-size:24px}.ccm-ai__share{padding:0 8px;font-size:12px;font-weight:700}
.ccm-ai__share-symbol{display:none;font-size:21px;line-height:1}
.ccm-ai__close:hover,.ccm-ai__restart:hover,.ccm-ai__share:hover{background:rgba(255,255,255,.14)}
.ccm-ai__continuity{flex:0 0 auto;padding:7px 14px;border-bottom:1px solid #dce8e6;background:#eaf8f6;color:#21544f;font-size:12px;text-align:center}
.ccm-ai__continuity[hidden]{display:none!important}
.ccm-ai__messages{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;padding:18px;background:var(--ccm-bg);scrollbar-color:#8795a8 transparent;scrollbar-width:thin}
.ccm-ai__message{max-width:88%;margin:0 0 12px;padding:12px 14px;border-radius:16px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.48;font-size:15px}
.ccm-ai__message--assistant{border-bottom-left-radius:5px;background:#fff;box-shadow:0 3px 14px rgba(20,40,80,.08)}
.ccm-ai__message--user{margin-left:auto;border-bottom-right-radius:5px;background:var(--ccm-navy);color:#fff}
.ccm-ai__message--error{border:1px solid #efc8c8;background:#fff6f6;color:#7b2020}
.ccm-ai__message a{color:var(--ccm-cyan);font-weight:700;text-decoration:underline;text-underline-offset:2px}
.ccm-ai__privacy{padding:10px 12px;border-left:3px solid var(--ccm-teal);font-size:12px;line-height:1.45;background:#eaf8f6}
.ccm-ai__prompts,.ccm-ai__suggestions{display:grid;gap:8px;margin:14px 0 16px}.ccm-ai__prompts[hidden],.ccm-ai__suggestions[hidden]{display:none!important}
.ccm-ai__prompts button,.ccm-ai__suggestions button{min-height:44px;padding:10px 12px;border:1px solid #8fcac4;border-radius:12px;background:#fff;color:var(--ccm-navy);font-weight:700;text-align:left;cursor:pointer}
.ccm-ai__suggestions{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0}
.ccm-ai__suggestions button{font-size:13px;text-align:center}
.ccm-ai__form{display:flex;flex:0 0 auto;align-items:flex-end;gap:8px;padding:11px 12px;border-top:1px solid #e7edf3;background:#fff}
.ccm-ai__form textarea{flex:1;min-height:46px;max-height:110px;resize:none;overflow-y:auto;border:1px solid #aab9c8;border-radius:13px;padding:11px 12px;color:var(--ccm-text);background:#fff}
.ccm-ai__form button{flex:0 0 46px;width:46px;height:46px;border:0;border-radius:13px;background:var(--ccm-teal);color:#fff;font-size:18px;cursor:pointer}
.ccm-ai__form button:disabled{opacity:.62;cursor:wait}
.ccm-ai footer{flex:0 0 auto;padding:0 12px 10px;background:#fff;color:#667085;font-size:12px;text-align:center}
.ccm-ai__typing{display:inline-flex;align-items:center;gap:4px;min-height:20px}
.ccm-ai__typing i{display:block;width:7px;height:7px;border-radius:50%;background:#68778a;animation:ccm-ai-bounce 1.15s infinite ease-in-out}
.ccm-ai__typing i:nth-child(2){animation-delay:.15s}.ccm-ai__typing i:nth-child(3){animation-delay:.3s}
@keyframes ccm-ai-bounce{0%,60%,100%{transform:translateY(0);opacity:.45}30%{transform:translateY(-4px);opacity:1}}
.ccm-ai--page{position:relative;z-index:1;right:auto;bottom:auto;width:100%;padding:28px 16px}
.ccm-ai--page .ccm-ai__panel{position:relative;right:auto;bottom:auto;width:min(760px,100%);height:min(720px,78dvh);min-height:560px;margin:0 auto;border-radius:24px}
.ccm-ai--page .ccm-ai__message{max-width:78%}
@media(max-width:600px){
  .ccm-ai--widget{right:calc(12px + env(safe-area-inset-right));bottom:calc(12px + env(safe-area-inset-bottom))}
  .ccm-ai--widget .ccm-ai__panel{position:fixed;top:calc(var(--ccm-ai-viewport-top,0px) + 12px + env(safe-area-inset-top));right:calc(12px + env(safe-area-inset-right));bottom:auto;left:calc(12px + env(safe-area-inset-left));width:auto;height:calc(var(--ccm-ai-viewport-height,100dvh) - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));border-radius:18px}
  .ccm-ai__launcher span:last-child{display:none}.ccm-ai__launcher{min-width:52px;padding:11px}
  .ccm-ai__message,.ccm-ai--page .ccm-ai__message{max-width:91%;font-size:14px}
  .ccm-ai__suggestions{grid-template-columns:1fr}
  .ccm-ai__header{gap:8px;padding:11px 10px 11px 12px}
  .ccm-ai__identity{gap:8px}
  .ccm-ai__header-icon{width:34px;height:34px}
  .ccm-ai__header strong{font-size:16px;line-height:1.2}
  .ccm-ai__header small{max-width:180px;margin-top:3px;font-size:11px;line-height:1.28}
  .ccm-ai__close,.ccm-ai__restart,.ccm-ai__share{width:40px;min-width:40px;min-height:40px;padding:0}
  .ccm-ai__share-label{display:none}
  .ccm-ai__share-symbol{display:inline}
  .ccm-ai--page{position:fixed;z-index:999999;top:var(--ccm-ai-viewport-top,0px);right:0;bottom:auto;left:0;width:100vw;max-width:none;height:var(--ccm-ai-viewport-height,100dvh);margin:0;padding:calc(10px + env(safe-area-inset-top)) 12px calc(10px + env(safe-area-inset-bottom));overflow:hidden;background:#f7f9fc}
  .ccm-ai--page .ccm-ai__panel{width:100%;height:100%;min-height:0;border-radius:18px}
  .ccm-ai__messages{padding:14px}
  .ccm-ai__prompts,.ccm-ai__suggestions{margin:12px 0 14px}
  .ccm-ai--initial .ccm-ai__messages{display:flex;flex-direction:column}
  .ccm-ai--initial .ccm-ai__messages>.ccm-ai__prompts,
  .ccm-ai--initial .ccm-ai__messages>.ccm-ai__suggestions{margin-top:auto;margin-bottom:0;padding-top:14px}
  .ccm-ai--initial .ccm-ai__form{border-top:0}
  .ccm-ai__prompts button{min-height:46px;padding:10px 12px}
  .ccm-ai__form{padding:9px 10px}
  .ccm-ai footer{padding-bottom:8px;font-size:11px}
}
@media(max-width:380px){
  .ccm-ai__header small{max-width:145px}
  .ccm-ai__close,.ccm-ai__restart,.ccm-ai__share{width:38px;min-width:38px;min-height:38px}
}
@media(prefers-reduced-motion:reduce){.ccm-ai *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
