.support-widget {
    --support-green: #075f52;
    --support-dark: #06483f;
    --support-mint: #eef7f3;
    --support-line: #d8e7e1;
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 10050;
    color: #183c35;
    font-family: "Open Sans", Arial, sans-serif;
}
.support-widget-launcher {
    position: relative;
    display: grid;
    place-items: center;
    width: 72px;
    height: 72px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 50%;
    background: linear-gradient(145deg,#087363,var(--support-green));
    color: #fff;
    box-shadow: 0 16px 36px rgba(6,72,63,.28),0 4px 12px rgba(0,0,0,.12);
    cursor: pointer;
    transition: transform .18s ease,box-shadow .18s ease;
}
.support-widget-launcher:hover { transform: translateY(-3px); box-shadow: 0 20px 42px rgba(6,72,63,.34); }
.support-widget-launcher:focus-visible { outline: 4px solid #e7c77e; outline-offset: 4px; }
.support-widget-bulb,.support-widget-x { width: 36px; height: 36px; fill: none; stroke: currentColor; stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; }
.support-widget-bulb .spark { stroke-width: 3; }
.support-widget-x { display: none; width: 27px; height: 27px; }
.support-widget.is-open .support-widget-bulb { display: none; }
.support-widget.is-open .support-widget-x { display: block; }
.support-widget-unread { position: absolute; right: -1px; top: -2px; min-width: 22px; height: 22px; padding: 0 6px; border: 3px solid #fff; border-radius: 999px; background: #c95748; color: #fff; font-size: 10px; font-weight: 800; line-height: 16px; }
.support-widget-panel {
    position: absolute;
    right: 0;
    bottom: 88px;
    display: flex;
    flex-direction: column;
    width: min(382px,calc(100vw - 32px));
    height: min(570px,calc(100vh - 130px));
    overflow: hidden;
    border: 1px solid var(--support-line);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 26px 70px rgba(12,46,40,.24),0 4px 16px rgba(12,46,40,.08);
    transform-origin: bottom right;
    animation: support-widget-in .2s ease-out;
}
.support-widget-header { display: flex; align-items: center; gap: 12px; min-height: 76px; padding: 13px 14px; background: linear-gradient(135deg,var(--support-dark),#087664); color: #fff; }
.support-widget-heading { min-width: 0; }
.support-widget-header strong,.support-widget-header span { display: block; }
.support-widget-header strong { font-size: 16px; letter-spacing: -.01em; }
.support-widget-header span { position: relative; margin-top: 4px; padding-left: 12px; color: #d9f0e9; font-size: 11px; line-height: 1.25; }
.support-widget-header span::before { position: absolute; left: 0; top: 4px; width: 7px; height: 7px; border-radius: 50%; background: #79dfb6; content: ""; box-shadow: 0 0 0 3px rgba(121,223,182,.13); }
.support-widget[data-status="waiting"] .support-widget-header span::before { background: #f2cc72; }
.support-widget-avatar { display: grid; place-items: center; width: 42px; height: 42px; flex: 0 0 42px; border-radius: 14px; background: #fff; color: var(--support-green); box-shadow: 0 4px 12px rgba(0,0,0,.08); }
.support-widget-avatar svg { width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.support-widget-close { display: grid; place-items: center; margin-left: auto; width: 36px; height: 36px; border: 0; border-radius: 12px; background: rgba(255,255,255,.12); color: #fff; cursor: pointer; }
.support-widget-close svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2.3; stroke-linecap: round; }
.support-widget-close:hover { background: rgba(255,255,255,.22); }
.support-widget-consent { flex: 1; padding: 28px 24px; overflow: auto; background: linear-gradient(180deg,#fbfdfc,#fff); }
.support-widget-consent h2 { margin: 0 0 10px; color: var(--support-green); font: 700 23px/1.25 Georgia,serif; letter-spacing: -.02em; }
.support-widget-consent p { color: #587069 !important; font-size: 13px; line-height: 1.6; }
.support-widget-consent label { display: flex; align-items: flex-start; gap: 9px; margin: 20px 0; color: #294a43; font-size: 13px; line-height: 1.5; }
.support-widget-consent input { margin-top: 3px; accent-color: var(--support-green); }
.support-widget-consent button,.support-widget-tools button { border: 0; border-radius: 10px; background: var(--support-green); color: #fff; padding: 11px 15px; font-weight: 700; cursor: pointer; }
.support-widget-chat { display: grid; grid-template-rows: auto minmax(0,1fr) auto; flex: 1; min-height: 0; }
.support-widget-tools { display: flex; align-items: center; gap: 8px; min-height: 48px; padding: 8px 12px; border-bottom: 1px solid var(--support-line); background: #f9fcfa; }
.support-widget-tools span { display: flex; align-items: center; gap: 6px; margin-right: auto; color: #698079; font-size: 10px; font-weight: 700; }
.support-widget-tools i { width: 6px; height: 6px; border-radius: 50%; background: #67bd97; }
.support-widget-tools button { padding: 7px 10px; border: 1px solid #bad3c9; background: #fff; color: var(--support-green); font-size: 11px; }
.support-widget-tools button:hover { background: var(--support-mint); }
.support-widget-messages { display: flex; flex-direction: column; gap: 10px; min-height: 0; overflow-y: auto; padding: 16px 13px 20px; background: linear-gradient(180deg,#f4f8f6,#f7faf8); scrollbar-width: thin; scrollbar-color: #b7ccc4 transparent; }
.support-widget-message { max-width: 84%; padding: 10px 13px; border: 1px solid #dce8e2; border-radius: 16px 16px 16px 5px; background: #fff; box-shadow: 0 3px 9px rgba(20,62,54,.05); }
.support-widget-message--customer { align-self: flex-end; border: 0; border-radius: 16px 16px 5px 16px; background: linear-gradient(135deg,#087564,var(--support-green)); color: #fff; }
.support-widget-message--system { align-self: center; max-width: 94%; border-color: #e2ddd0; border-radius: 12px; background: #f1eee5; color: #52645e; box-shadow: none; }
.support-widget-message p { margin: 0 !important; color: #283e38 !important; white-space: pre-wrap; overflow-wrap: anywhere; font-size: 13px; line-height: 1.5; }
.support-widget-message small { display: block; margin-bottom: 4px; color: #6c8279 !important; font-size: 9px; font-weight: 700; letter-spacing: .02em; }
.support-widget-message--customer p { color: #fff !important; }
.support-widget-message--customer small { color: #ccece4 !important; }
.support-widget-message--system p { color: #52645e !important; }
.support-widget-compose { display: grid; grid-template-columns: minmax(0,1fr) 42px; gap: 8px; padding: 11px 12px; border-top: 1px solid var(--support-line); background: #fff; }
.support-widget-compose textarea { min-height: 42px; max-height: 88px; resize: none; border: 1px solid #c7d9d2; border-radius: 14px; padding: 10px 13px; color: #183c35; background: #fbfdfc; font: 13px/1.5 "Open Sans",Arial,sans-serif; outline: 0; }
.support-widget-compose textarea:focus { border-color: #08705f; background: #fff; box-shadow: 0 0 0 3px rgba(8,112,95,.11); }
.support-widget-compose button { display: grid; place-items: center; width: 42px; height: 42px; border: 0; border-radius: 14px; background: var(--support-green); color: #fff; cursor: pointer; transition: transform .15s ease,background .15s ease; }
.support-widget-compose button:hover { background: var(--support-dark); transform: translateY(-1px); }
.support-widget-compose button:disabled { opacity: .5; transform: none; }
.support-widget-compose svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.support-widget-error { position: absolute; left: 13px; right: 13px; bottom: 65px; z-index: 2; margin: 0; padding: 8px 10px; border: 1px solid #efc8c2; border-radius: 9px; background: #fff4f1; color: #95372e; font-size: 11px; box-shadow: 0 5px 14px rgba(0,0,0,.08); }
.support-widget-error:empty { display: none; }
.support-widget [hidden] { display: none !important; }
@keyframes support-widget-in { from { opacity: 0; transform: scale(.94) translateY(10px); } to { opacity: 1; transform: none; } }
@media (max-width:600px) {
    .support-widget { right: 14px; bottom: 14px; }
    .support-widget-launcher { width: 62px; height: 62px; }
    .support-widget-bulb { width: 32px; height: 32px; }
    .support-widget-panel { position: fixed; left: 8px; right: 8px; bottom: 84px; width: auto; height: min(610px,calc(100dvh - 98px)); border-radius: 19px; }
}
@media (prefers-reduced-motion:reduce) { .support-widget-panel { animation: none; } .support-widget-launcher { transition: none; } }
