.support-widget {
    --support-ink: #171b2c;
    --support-muted: #6c7082;
    --support-paper: #fffdf9;
    --support-mint: #72e0c0;
    --support-coral: #ff806d;
    --support-line: rgba(23, 27, 44, .1);
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 1050;
    font-family: Vazir, Tahoma, sans-serif;
}

.support-widget__launcher,
.support-widget__panel {
    box-shadow: 0 20px 55px rgba(23, 27, 44, .18);
}

.support-widget__launcher {
    display: flex;
    align-items: center;
    gap: 11px;
    min-width: 225px;
    padding: 12px 15px;
    border: 1px solid rgba(255, 255, 255, .32);
    border-radius: 19px;
    color: var(--support-paper);
    background: var(--support-ink);
    cursor: pointer;
    transition: transform .2s ease, box-shadow .2s ease;
}

.support-widget__launcher:hover { transform: translateY(-3px); box-shadow: 0 25px 60px rgba(23, 27, 44, .25); }
.support-widget__launcher-icon,
.support-widget__agent-mark {
    display: grid;
    place-items: center;
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    border-radius: 14px;
    color: var(--support-ink);
    background: var(--support-mint);
    font-size: 19px;
}
.support-widget__launcher-copy { display: grid; gap: 2px; text-align: right; flex: 1; }
.support-widget__launcher-copy strong { font-size: 13px; }
.support-widget__launcher-copy small { color: #b9c0d2; font-size: 10px; }
.support-widget__status-dot,
.support-widget__online-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--support-mint); }
.support-widget__status-dot { box-shadow: 0 0 0 4px rgba(114, 224, 192, .14); }

.support-widget__panel {
    display: flex;
    flex-direction: column;
    position: absolute;
    right: 0;
    bottom: 0;
    width: min(370px, calc(100vw - 32px));
    height: min(600px, calc(100vh - 48px));
    overflow: hidden;
    border: 1px solid var(--support-line);
    border-radius: 24px;
    background: var(--support-paper);
    opacity: 0;
    pointer-events: none;
    transform: translateY(12px) scale(.97);
    transform-origin: bottom right;
    transition: opacity .2s ease, transform .2s ease;
}
.support-widget.is-expanded .support-widget__panel {
    width: min(760px, calc(100vw - 32px));
    height: min(760px, calc(100vh - 48px));
}
.support-widget__expand { width: 32px; height: 32px; margin-inline-start: 4px; border: 0; border-radius: 10px; color: var(--support-paper); background: rgba(255,255,255,.1); cursor: pointer; }
.support-widget.is-open .support-widget__panel { opacity: 1; pointer-events: auto; transform: translateY(0) scale(1); }
.support-widget.is-open .support-widget__launcher { opacity: 0; pointer-events: none; }
.support-widget__header { display: flex; align-items: center; gap: 11px; padding: 18px 18px 15px; color: var(--support-paper); background: var(--support-ink); }
.support-widget__heading { flex: 1; }
.support-widget__heading h2 { margin: 0; font-size: 15px; font-weight: 800; }
.support-widget__heading p { display: flex; align-items: center; gap: 6px; margin: 4px 0 0; color: #b9c0d2; font-size: 10px; }
.support-widget__minimize { width: 32px; height: 32px; border: 0; border-radius: 10px; color: var(--support-paper); background: rgba(255,255,255,.1); cursor: pointer; }
.support-widget__intro { margin: 15px 16px 4px; padding: 14px; border-radius: 16px; background: #f1f8f4; }
.support-widget__intro-kicker { color: #238f72; font-size: 10px; font-weight: 800; }
.support-widget__intro p { margin: 6px 0 0; color: var(--support-ink); font-size: 11px; line-height: 1.9; }
.support-widget__messages { display: flex; flex: 1; flex-direction: column; gap: 12px; overflow-y: auto; padding: 14px 16px; }
.support-widget__message { display: flex; align-items: flex-end; gap: 7px; max-width: 88%; animation: support-message-in .25s ease both; }
.support-widget__message p { margin: 0; padding: 10px 12px; border-radius: 14px 14px 14px 4px; color: var(--support-ink); background: #f1f0ee; font-size: 12px; line-height: 1.8; white-space: pre-wrap; }
.support-widget__message--user { align-self: flex-start; flex-direction: row-reverse; }
.support-widget__message--user p { border-radius: 14px 14px 4px 14px; color: var(--support-ink); background: var(--support-mint); }
.support-widget__message--system p { color: #834334; background: #fff0e8; }
.support-widget__message-avatar { display: grid; place-items: center; flex: 0 0 25px; width: 25px; height: 25px; border-radius: 9px; color: var(--support-ink); background: var(--support-mint); font-size: 12px; }
.support-widget__typing { color: var(--support-muted); font-size: 11px; }
.support-widget__form { display: flex; align-items: flex-end; gap: 8px; margin: 0 16px; padding: 9px 10px 9px 9px; border: 1px solid var(--support-line); border-radius: 15px; background: #fff; }
.support-widget__form textarea { flex: 1; max-height: 90px; resize: none; border: 0; outline: 0; color: var(--support-ink); font: inherit; font-size: 12px; line-height: 1.7; }
.support-widget__form textarea::placeholder { color: #a5a6af; }
.support-widget__form button { display: grid; place-items: center; flex: 0 0 32px; width: 32px; height: 32px; border: 0; border-radius: 10px; color: var(--support-ink); background: var(--support-coral); cursor: pointer; }
.support-widget__form button:disabled { opacity: .55; cursor: wait; }
.support-widget__hint { display: flex; align-items: center; justify-content: center; gap: 4px; padding: 9px 8px 13px; color: var(--support-muted); font-size: 9px; }
.support-widget__hint i { color: #238f72; }
@keyframes support-message-in { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 575px) { .support-widget { right: 16px; bottom: 16px; } .support-widget__panel, .support-widget.is-expanded .support-widget__panel { width: calc(100vw - 32px); height: min(680px, calc(100vh - 32px)); } }
