.support-robot { color: #1b2738; font-family: inherit; }
.support-robot[hidden], .support-robot [hidden] { display: none !important; }
.support-robot button, .support-robot textarea { font: inherit; box-sizing: border-box; }
.support-robot button { cursor: pointer; }
.support-robot button:disabled, .support-robot textarea:disabled { cursor: wait; opacity: .65; }
.support-robot button:focus-visible, .support-robot textarea:focus-visible, .support-robot-messages:focus-visible { outline: 3px solid #1a76be; outline-offset: 3px; }
.support-robot-launcher { position: fixed; z-index: 46; right: calc(var(--floating-tools-center, 62px) - 40px + env(safe-area-inset-right)); bottom: calc(92px + env(safe-area-inset-bottom)); display: grid; place-items: center; width: 80px; height: 86px; min-width: 80px; min-height: 86px; padding: 0; overflow: visible; border: 0; border-radius: 0; background: transparent; box-shadow: none; transition: transform .16s ease; }
.support-robot--lower .support-robot-launcher { bottom: calc(22px + env(safe-area-inset-bottom)); }
.support-robot-launcher:hover { background: transparent; transform: translateY(-2px); }
.support-robot-art { position: absolute; top: 0; left: 50%; width: 112px; height: 86px; margin-left: -56px; overflow: visible; pointer-events: none; filter: drop-shadow(0 5px 4px #00168924); animation: support-robot-float 6s ease-in-out infinite; }
.support-robot-eyes { transform-box: fill-box; transform-origin: center; animation: support-robot-blink 6s ease-in-out infinite; }
/* Fill-box anchors keep the shoulder fixed even when the outer SVG reserves room for the greeting. */
.support-robot-arm { transform-box: fill-box; transform-origin: 15.384615% 2.439024%; animation: support-robot-wave 9s ease-in-out infinite; }
.support-robot-head-pose { transform-box: fill-box; transform-origin: 50% 96.078431%; }
.support-robot-left-arm { transform-box: fill-box; transform-origin: 84.615385% 2.439024%; }
.support-robot-processing-lights { display: none; }
.support-robot--thinking .support-robot-head-pose { animation: support-robot-think 2.4s ease-in-out infinite; }
.support-robot--thinking .support-robot-eyes { animation: support-robot-scan 1.8s ease-in-out infinite; }
.support-robot--thinking .support-robot-arm { animation: support-robot-process-arm 2.4s ease-in-out infinite; }
.support-robot--thinking .support-robot-processing-lights { display: inline; }
.support-robot--thinking .support-robot-processing-lights circle { animation: support-robot-process-light .9s ease-in-out infinite; }
.support-robot--thinking .support-robot-processing-lights circle:nth-child(2) { animation-delay: .15s; }
.support-robot--thinking .support-robot-processing-lights circle:nth-child(3) { animation-delay: .3s; }
.support-robot--thinking .support-robot-status-light { animation: support-robot-pulse .85s ease-in-out infinite; }
.support-robot-panel { position: fixed; z-index: 45; right: calc(118px + env(safe-area-inset-right)); bottom: calc(92px + env(safe-area-inset-bottom)); display: flex; flex-direction: column; width: min(360px, calc(100vw - 142px)); height: min(520px, calc(100dvh - 120px)); min-height: 250px; overflow: hidden; border: 1px solid #d4dfeb; border-radius: 18px; background: #f6f8fa; box-shadow: 0 15px 55px #0a1c5033; }
.support-robot-header { display: flex; align-items: center; justify-content: space-between; flex: 0 0 auto; gap: 10px; padding: 11px 14px; color: #fff; background: #001689; }
.support-robot-identity { display: flex; align-items: center; gap: 9px; min-width: 0; }
.support-robot-header-logo { flex: 0 0 auto; width: 28px; height: 28px; object-fit: contain; }
.support-robot-heading { min-width: 0; }
.support-robot-heading h2 { margin: 0; color: #fff; font-size: 16px; font-weight: 750; line-height: 1.3; }
.support-robot-close { flex: 0 0 auto; width: 32px; height: 32px; padding: 0; border: 0; border-radius: 50%; color: #fff; background: transparent; font-size: 25px !important; line-height: 1; }
.support-robot-close:hover { background: #ffffff18; }
.support-robot-messages { display: flex; flex: 1 1 auto; flex-direction: column; gap: 10px; min-height: 0; padding: 10px 14px 16px; overflow-y: auto; overscroll-behavior: contain; scroll-behavior: auto; }
.support-robot-message { flex: 0 0 auto; align-self: flex-start; max-width: 90%; padding: 10px 12px; border: 1px solid #e6ece9; border-radius: 14px 14px 14px 3px; background: #fff; overflow-wrap: anywhere; }
.support-robot-message--user { align-self: flex-end; border-color: #cdebd9; border-radius: 14px 14px 3px 14px; background: #dff4e7; }
.support-robot-message--records { box-sizing: border-box; width: 100%; max-width: 100%; }
.support-robot-message-author { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.support-robot-message p { margin: 0; color: #1b2738; font-size: 13px; line-height: 1.5; white-space: pre-wrap; }
.support-robot-message-mode { display: block; margin-top: 8px; color: #657573; font-size: 10px; line-height: 1.4; }
.support-robot-records { display: flex; flex-direction: column; gap: 10px; margin: 12px 0 0; padding: 0; list-style: none; }
.support-robot-record { min-width: 0; padding: 10px; border: 1px solid #dfe6ec; border-radius: 10px; background: #f8fafc; }
.support-robot-record-title { margin: 0 0 8px; color: #001689; font-size: 13px; font-weight: 750; line-height: 1.4; }
.support-robot-record-fields { display: flex; flex-direction: column; gap: 7px; margin: 0; }
.support-robot-record-field dt { margin: 0 0 1px; color: #657573; font-size: 10px; font-weight: 650; line-height: 1.4; }
.support-robot-record-field dd { margin: 0; color: #1b2738; font-size: 12px; line-height: 1.45; white-space: pre-wrap; }
.support-robot-record > .support-robot-link { margin-top: 9px; }
.support-robot-suggestions { display: flex; flex: 0 0 auto; flex-wrap: wrap; gap: 6px; padding: 0 14px 10px; }
.support-robot-suggestions:empty { display: none; }
.support-robot-suggestion, .support-robot-link { min-height: 30px; padding: 6px 9px; border: 1px solid #d6dff0; border-radius: 15px; color: #001689; background: #fff; font-size: 11px !important; font-weight: 500; line-height: 1.3; text-align: left; }
.support-robot-suggestion:hover, .support-robot-link:hover { background: #e8efff; }
.support-robot-links { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.support-robot-status { flex: 0 0 auto; margin: 0 14px 8px; color: #667774; font-size: 11px; line-height: 1.4; }
.support-robot-status:empty { display: none; }
.support-robot-retry { align-self: flex-start; margin: 0 16px 8px; padding: 7px 10px; border: 1px solid #c9d6e7; border-radius: 8px; color: #001689; background: #fff; font-size: 11px !important; font-weight: 800; }
.support-robot-form { display: flex; flex: 0 0 auto; align-items: flex-end; gap: 8px; margin: 0; padding: 10px 12px 7px; border-top: 1px solid #e3e9ef; background: #fff; }
.support-robot-input { flex: 1 1 auto; width: 100%; min-width: 0; min-height: 42px; max-height: 90px; resize: none; padding: 11px 13px; border: 1px solid #d5dfdd; border-radius: 21px; color: #1b2738; background: #f6f8fa; font-size: 14px !important; line-height: 1.4; }
.support-robot-input:focus-visible { outline: 2px solid #1a76be; outline-offset: 1px; }
.support-robot-send { display: grid; place-items: center; flex: 0 0 auto; width: 42px; height: 42px; min-width: 42px; min-height: 42px; padding: 10px; border: 0; border-radius: 50%; color: #fff; background: #00953b; }
.support-robot-send svg { width: 20px; height: 20px; }
.support-robot-send:hover { background: #007e31; }
.support-robot-footer { display: flex; flex: 0 0 auto; align-items: center; justify-content: space-between; gap: 10px; padding: 0 14px 9px; color: #788784; background: #fff; font-size: 9px; line-height: 1.4; }
.support-robot-clear { padding: 3px 0; border: 0; color: #576786; background: none; font-size: 10px !important; text-decoration: underline; white-space: nowrap; }
.support-robot-sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
body:has(.modal-backdrop:not([hidden]), .busy-overlay:not([hidden]), dialog[open], .mobile-menu-overlay:not([hidden])) .support-robot { visibility: hidden; pointer-events: none; }
@keyframes support-robot-blink { 0%, 43%, 47%, 100% { transform: scaleY(1); } 45% { transform: scaleY(.08); } }
@keyframes support-robot-wave { 0%, 64%, 94%, 100% { transform: rotate(0); } 70%, 78%, 86% { transform: rotate(-116deg); } 74%, 82% { transform: rotate(-130deg); } }
@keyframes support-robot-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes support-robot-pulse { 50% { opacity: .35; } }
@keyframes support-robot-think { 0%, 100% { transform: rotate(-3deg); } 50% { transform: rotate(3deg); } }
@keyframes support-robot-scan { 0%, 100% { transform: translateX(-2px) scaleY(.85); } 50% { transform: translateX(2px) scaleY(.85); } }
@keyframes support-robot-process-arm { 0%, 100% { transform: rotate(-5deg); } 50% { transform: rotate(-10deg); } }
@keyframes support-robot-process-light { 0%, 100% { opacity: .3; } 50% { opacity: 1; } }
@media (max-width: 780px) {
  .support-robot-launcher { right: calc(var(--floating-tools-center, 56px) - 34px + env(safe-area-inset-right)); bottom: calc(80px + env(safe-area-inset-bottom)); width: 68px; height: 74px; min-width: 68px; min-height: 74px; }
  .support-robot--lower .support-robot-launcher { bottom: calc(14px + env(safe-area-inset-bottom)); }
  .support-robot-art { width: 96px; height: 74px; margin-left: -48px; }
  .support-robot-panel { right: calc(12px + env(safe-area-inset-right)); bottom: calc(166px + env(safe-area-inset-bottom)); width: min(360px, calc(100vw - 24px - env(safe-area-inset-right) - env(safe-area-inset-left))); height: min(500px, calc(100dvh - 186px)); border-radius: 15px; }
  .support-robot-input { font-size: 16px !important; }
  .support-robot-footer > span { display: none; }
}
@media (max-height: 500px) {
  .support-robot-panel { top: 10px; bottom: 10px; height: auto; min-height: 0; }
  .support-robot-suggestions { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .support-robot *, .support-robot *::before, .support-robot *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
