.dfin-support-launcher { position: fixed; z-index: 9998; right: 24px; bottom: 24px; width: 62px; height: 62px; border: 0px; border-radius: 50%; display: grid; place-items: center; color: rgb(255, 255, 255); background: linear-gradient(145deg, rgb(32, 168, 220), rgb(8, 121, 173)); box-shadow: rgba(7, 93, 138, 0.3) 0px 14px 34px; cursor: pointer; transition: transform 0.2s, box-shadow 0.2s; }
.dfin-support-launcher:hover { transform: translateY(-3px); box-shadow: rgba(7, 93, 138, 0.36) 0px 17px 38px; }
.dfin-support-launcher:focus-visible, .dfin-support-panel button:focus-visible, .dfin-support-panel input:focus-visible, .dfin-support-panel textarea:focus-visible { outline: rgb(255, 206, 74) solid 3px; outline-offset: 3px; }
.dfin-support-launcher svg { width: 29px; height: 29px; fill: currentcolor; }
.dfin-support-launcher .dfin-support-dot { position: absolute; right: 3px; top: 3px; width: 15px; height: 15px; border: 3px solid rgb(255, 255, 255); border-radius: 50%; background: rgb(55, 201, 120); }
.dfin-support-launcher[aria-expanded="true"] .dfin-support-open-icon { display: none; }
.dfin-support-launcher[aria-expanded="false"] .dfin-support-close-icon { display: none; }
.dfin-support-close-icon { font-size: 29px; line-height: 1; font-weight: 300; }
.dfin-support-panel { position: fixed; z-index: 9999; right: 24px; bottom: 99px; width: min(390px, -32px + 100vw); max-height: min(660px, 100dvh - 125px); overflow: hidden; display: flex; flex-direction: column; border: 1px solid rgb(185, 223, 239); border-radius: 20px; background: rgb(255, 255, 255); box-shadow: rgba(11, 84, 121, 0.282) 0px 24px 65px; opacity: 0; visibility: hidden; transform: translateY(18px) scale(0.97); transform-origin: right bottom; transition: opacity 0.22s, transform 0.22s, visibility 0.22s; }
.dfin-support-panel.is-open { opacity: 1; visibility: visible; transform: translateY(0px) scale(1); }
.dfin-support-head { position: relative; padding: 24px 58px 21px 24px; color: rgb(255, 255, 255); background: linear-gradient(125deg, rgb(18, 159, 213), rgb(8, 117, 170)); }
.dfin-support-head h2 { margin: 0px 0px 4px; color: rgb(255, 255, 255); font-size: 1.22rem; line-height: 1.25; }
.dfin-support-status { display: flex; align-items: center; gap: 7px; margin: 0px; font-size: 0.8rem; color: rgb(234, 249, 255); }
.dfin-support-status::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: rgb(93, 234, 146); box-shadow: rgba(255, 255, 255, 0.14) 0px 0px 0px 3px; }
.dfin-support-dismiss { position: absolute; top: 17px; right: 15px; width: 38px; height: 38px; border: 0px; border-radius: 50%; color: rgb(255, 255, 255); background: rgba(255, 255, 255, 0.094); font-size: 25px; line-height: 1; cursor: pointer; }
.dfin-support-dismiss:hover { background: rgba(255, 255, 255, 0.176); }
.dfin-support-body { padding: 20px 20px 18px; overflow: auto; overscroll-behavior: contain; background: linear-gradient(rgb(243, 251, 255), rgb(255, 255, 255) 155px); }
.dfin-support-greeting { display: grid; grid-template-columns: 42px 1fr; gap: 11px; align-items: start; margin-bottom: 17px; }
.dfin-support-avatar { width: 42px; height: 42px; border: 1px solid rgb(211, 234, 244); border-radius: 50%; object-fit: contain; background: rgb(255, 255, 255); }
.dfin-support-bubble { margin: 0px; padding: 12px 14px; border: 1px solid rgb(216, 234, 242); border-radius: 4px 14px 14px; background: rgb(255, 255, 255); color: rgb(49, 93, 112); font-size: 0.92rem; line-height: 1.55; box-shadow: rgba(23, 109, 142, 0.047) 0px 5px 14px; }
.dfin-support-topics { display: grid; grid-template-columns: 1fr; gap: 8px; margin: 0px 0px 16px; }
.dfin-support-topic { width: 100%; padding: 10px 12px; border: 1px solid rgb(185, 221, 236); border-radius: 9px; text-align: start; color: rgb(23, 101, 132); background: rgb(255, 255, 255); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: 0.87rem; line-height: 1.3; cursor: pointer; transition: 0.18s; }
.dfin-support-topic:hover, .dfin-support-topic.is-selected { border-color: rgb(21, 149, 200); color: rgb(7, 95, 134); background: rgb(233, 248, 255); }
.dfin-support-topic.is-selected { box-shadow: rgb(21, 149, 200) 3px 0px inset; }
.dfin-support-form { display: grid; gap: 10px; }
.dfin-support-field { display: grid; gap: 6px; }
.dfin-support-field span { font-size: 0.76rem; font-weight: 700; color: rgb(65, 107, 126); }
.dfin-support-field input, .dfin-support-field textarea { width: 100%; box-sizing: border-box; border: 1px solid rgb(197, 222, 234); border-radius: 9px; background: rgb(255, 255, 255); padding: 10px 11px; color: rgb(35, 77, 97); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: 0.87rem; }
.dfin-support-field textarea { min-height: 75px; resize: vertical; line-height: 1.45; }
.dfin-support-field input::placeholder, .dfin-support-field textarea::placeholder { color: rgb(126, 155, 169); }
.dfin-support-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: 3px; }
.dfin-support-action { min-height: 44px; border: 0px; border-radius: 9px; padding: 9px 10px; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: 0.84rem; font-weight: 750; cursor: pointer; }
.dfin-support-whatsapp { color: rgb(255, 255, 255); background: rgb(21, 159, 102); }
.dfin-support-whatsapp:hover { background: rgb(11, 134, 84); }
.dfin-support-email { color: rgb(255, 255, 255); background: rgb(8, 127, 172); }
.dfin-support-email:hover { background: rgb(6, 104, 143); }
.dfin-support-privacy { margin: 10px 1px 0px; color: rgb(118, 144, 157); font-size: 0.7rem; line-height: 1.4; }
html[dir="rtl"] .dfin-support-panel { right: auto; left: 24px; transform-origin: left bottom; }
html[dir="rtl"] .dfin-support-launcher { right: auto; left: 24px; }
html[dir="rtl"] .dfin-support-head { padding: 24px 24px 21px 58px; }
html[dir="rtl"] .dfin-support-dismiss { right: auto; left: 15px; }
html[dir="rtl"] .dfin-support-topic.is-selected { box-shadow: rgb(21, 149, 200) -3px 0px inset; }
@media (max-width: 620px) {
  .dfin-support-launcher { right: 14px; bottom: max(14px,env(safe-area-inset-bottom)); width: 56px; height: 56px; }
  .dfin-support-panel { right: 12px; left: 12px; bottom: 80px; width: auto; max-height: calc(100dvh - 100px); border-radius: 16px; transform-origin: center bottom; }
  .dfin-support-head { padding: 19px 55px 17px 19px; }
  .dfin-support-body { padding: 16px; }
  .dfin-support-actions { grid-template-columns: 1fr; }
  .dfin-support-greeting { grid-template-columns: 36px 1fr; }
  .dfin-support-avatar { width: 36px; height: 36px; }
  html[dir="rtl"] .dfin-support-panel { right: 12px; left: 12px; }
  html[dir="rtl"] .dfin-support-launcher { right: auto; left: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .dfin-support-launcher, .dfin-support-panel { transition: none; }
}