.cdw { position: fixed; z-index: 120; right: max(20px, env(safe-area-inset-right)); bottom: max(20px, env(safe-area-inset-bottom)); font-family: inherit; font-size: 14px; line-height: 1.6; color: #243b32; letter-spacing: 0; }
.cdw *, .cdw *::before, .cdw *::after { box-sizing: border-box; letter-spacing: 0; }
.cdw [hidden] { display: none !important; }
.cdw button, .cdw a { font-family: inherit; font-size: 13px; line-height: 1.45; letter-spacing: 0; text-transform: none; cursor: pointer; }
.cdw textarea { font: inherit; }
.cdw button:focus-visible, .cdw a:focus-visible { outline: 2px solid #075637; outline-offset: 3px; }
.cdw-launcher { display: flex; align-items: center; justify-content: flex-end; gap: 6px; width: 164px; max-width: calc(100vw - 40px); height: 52px; padding: 0; border: 0; border-radius: 6px; color: #243b32; background: transparent; font-weight: 600; margin-left: auto; }
.cdw-launch-copy { display: block; text-align: left; padding: 6px 8px; border: 1px solid #d6e1db; border-radius: 6px; background: #fff; min-width: 0; font-size: 13px; white-space: nowrap; }
.cdw-launcher:hover .cdw-launch-copy { border-color: #8eaa9b; background: #f7faf8; }
.cdw-mascot { display: block; flex: none; width: 44px; height: 48px; object-fit: contain; filter: drop-shadow(0 2px 3px #142c2314); }
.cdw-panel { position: absolute; right: 0; bottom: 64px; width: 360px; max-width: calc(100vw - 40px); height: 560px; max-height: calc(100dvh - 108px); display: flex; flex-direction: column; background: #fff; border: 1px solid #dce5e0; border-radius: 8px; box-shadow: 0 8px 32px #142c231a, 0 2px 8px #142c2308; overflow: hidden; }
.cdw-header { min-height: 68px; padding: 12px 14px; background: #fff; color: #243b32; border-bottom: 1px solid #edf1ee; display: flex; align-items: center; gap: 10px; }
.cdw-header h2 { margin: 0; min-width: 0; font-size: 15px; line-height: 1.4; font-weight: 700; color: inherit; overflow-wrap: anywhere; text-wrap: wrap; }
.cdw-header h2:focus { outline: none; }
.cdw-avatar { display: block; width: 28px; height: 28px; flex: none; object-fit: contain; border-radius: 6px; }
.cdw-heading { flex: 1; min-width: 0; }
.cdw-subtitle { margin: 2px 0 0; color: #5f7067; font-size: 11px; line-height: 1.4; }
.cdw-tools { display: flex; flex-shrink: 0; gap: 2px; }
.cdw-icon { display: grid; place-items: center; width: 36px; height: 40px; padding: 0; border: 0; background: transparent; color: #5f7067; border-radius: 6px; }
.cdw-icon:hover { background: #f1f5f2; }
.cdw-icon img, .cdw-send img { width: 18px; height: 18px; pointer-events: none; }
.cdw-body { padding: 16px; flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #cbd6cf transparent; }
.cdw-log { display: flex; flex-direction: column; gap: 10px; }
.cdw-message { margin: 0; padding: 10px 12px; max-width: 96%; align-self: flex-start; background: #f4f6f5; color: #243b32; border-radius: 6px; font-size: 14px; line-height: 1.65; white-space: pre-wrap; overflow-wrap: anywhere; }
.cdw-message-user { align-self: flex-end; background: #075637; color: #fff; margin-left: 24px; }
.cdw-material p { margin: 0; font: inherit; color: inherit; }
.cdw-richtext { white-space: normal; }
.cdw-richtext p + p { margin-top: 10px; }
.cdw-richtext blockquote { margin: 10px 0; padding-left: 12px; border-left: 3px solid #06976d; color: #36584b; }
.cdw-richtext pre { white-space: pre-wrap; }
.cdw-richtext ul,.cdw-richtext ol { padding-left: 22px; }
.cdw-richtext h1,.cdw-richtext h2,.cdw-richtext h3 { font-size: 16px; line-height: 1.4; margin: 10px 0; }
.cdw-typing-caret { display: inline-block; width: 2px; height: 1em; margin-left: 3px; background: #057a57; vertical-align: text-bottom; animation: cdw-caret 0.75s step-end infinite; }
@keyframes cdw-caret { 50% { opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .cdw-typing-caret { animation: none; } }
.cdw-attachment { display: block; margin-top: 10px; white-space: normal; }
.cdw-attachment-image { display: block; width: 100%; max-width: 260px; height: 160px; object-fit: contain; margin-bottom: 6px; background: #fff; border: 1px solid #d7e1db; border-radius: 6px; }
.cdw-topics { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 6px; margin-top: 16px; }
.cdw-menu { margin-top: 16px; }
.cdw-menu .cdw-topics { margin-top: 8px; }
.cdw-home-topics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cdw-menu-title { margin: 0; font-size: 13px; font-weight: 700; }
.cdw-directory-heading, .cdw-menu-nav, .cdw-guide-pages { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.cdw-directory-heading { justify-content: space-between; margin-bottom: 10px; }
.cdw-menu-nav { margin-top: 12px; }
.cdw-menu-nav .cdw-topic, .cdw-directory-heading .cdw-topic { border-color: transparent; background: transparent; padding-inline: 0; }
.cdw-topic img { display: inline-block; width: 16px; height: 16px; vertical-align: middle; margin-right: 5px; }
.cdw-guide-search { display: block; width: 100%; height: 42px; border: 1px solid #d7e1db; border-radius: 6px; background: #fff; padding: 9px 10px; color: #243b32; font: inherit; font-size: 16px; }
.cdw-guide-search:focus-visible { outline: 2px solid #8eaa9b; outline-offset: 1px; }
.cdw-guide-categories { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cdw-guide-results { display: grid; gap: 6px; margin-top: 8px; }
.cdw-directory-item { display: block; width: 100%; text-align: left; }
.cdw-guide-pages { justify-content: space-between; margin-top: 10px; }
.cdw-menu .cdw-note[role=status] { margin-top: 10px; }
.cdw-topic:disabled { opacity: .5; cursor: not-allowed; }
.cdw-topic { max-width: 100%; min-width: 0; padding: 8px 10px; min-height: 36px; color: #3d5549; background: #fff; border: 1px solid #d7e1db; border-radius: 6px; text-align: left; font-weight: 500; overflow-wrap: anywhere; }
.cdw-topic:hover { background: #f4f8f5; border-color: #8eaa9b; color: #075637; }
.cdw-contacts { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; padding-top: 16px; margin-top: 20px; border-top: 1px solid #edf1ee; }
.cdw-link { display: inline-block; max-width: 100%; min-height: 36px; padding: 8px 0; color: #075637; background: transparent; text-decoration: underline; text-decoration-color: #a6bfb0; text-underline-offset: 4px; font-weight: 500; overflow-wrap: anywhere; }
.cdw-link:hover { color: #043e27; text-decoration-color: currentColor; }
.cdw-note { margin: 0; font-size: 12px; line-height: 1.6; color: #5f7067; overflow-wrap: anywhere; }
.cdw-answer-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; }
.cdw-composer { display: flex; align-items: center; flex: none; gap: 8px; border-top: 1px solid #edf1ee; padding: 12px; background: #fff; }
.cdw-input { display: block; min-width: 0; width: 100%; height: 46px; flex: 1; padding: 11px 12px; border: 1px solid #d7e1db; border-radius: 6px; color: #243b32; background: #fff; resize: none; font-size: 16px!important; line-height: 22px; }
.cdw-input:focus-visible { outline: none; border-color: #8eaa9b; box-shadow: 0 0 0 2px #e8f1ec; }
.cdw-input::placeholder { color: #65766c; opacity: 1; }
.cdw-send { display: grid; place-items: center; width: 40px; height: 40px; flex: none; padding: 0; border: 0; border-radius: 6px; background: #075637; color: #fff; }
.cdw-send:hover:not(:disabled) { background: #043e27; }
.cdw-send:disabled { background: #9aaba1; cursor: not-allowed; }
.cdw-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
@media (max-width: 480px) {
  .cdw { right: max(16px, env(safe-area-inset-right)); bottom: max(16px, env(safe-area-inset-bottom)); }
  .cdw-panel { max-width: calc(100vw - 32px); max-height: calc(100dvh - 104px); }
  .cdw-header { padding-inline: 12px; gap: 8px; }
  .cdw-tools { gap: 0; }
  .cdw-body { padding: 14px; }
}
