.hpgs-assistant {
    --hpgs-primary: var(--hpgs-assistant-color, #123f6d);
    --hpgs-accent-safe: var(--hpgs-accent, #e9ad27);
    --hpgs-ink: #14233a;
    --hpgs-muted: #617086;
    --hpgs-line: #dce4ee;
    --hpgs-surface: #fff;
    --hpgs-canvas: #f4f7fb;
    --hpgs-collision-lift: 0px;
    --hpgs-collision-shift: 0px;
    box-sizing: border-box;
    color: var(--hpgs-ink);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 16px;
    line-height: 1.45;
    text-rendering: optimizeLegibility;
}

.hpgs-assistant *,
.hpgs-assistant *::before,
.hpgs-assistant *::after {
    box-sizing: border-box;
}

.hpgs-assistant button,
.hpgs-assistant input {
    font: inherit;
}

.hpgs-assistant button,
.hpgs-assistant a {
    -webkit-tap-highlight-color: transparent;
}

.hpgs-panel {
    position: relative;
    display: flex;
    width: min(410px, calc(100vw - 28px));
    height: min(660px, calc(100dvh - 104px));
    min-height: 420px;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid rgba(201, 213, 226, .92);
    border-radius: 22px;
    background: var(--hpgs-surface);
    box-shadow: 0 26px 72px rgba(14, 35, 61, .23), 0 4px 18px rgba(14, 35, 61, .09);
    isolation: isolate;
}

.hpgs-panel[hidden] {
    display: none !important;
}

.hpgs-panel > header {
    position: relative;
    z-index: 3;
    display: flex;
    min-height: 78px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 13px 13px 13px 16px;
    color: #fff;
    background:
        radial-gradient(circle at 90% -20%, rgba(255, 255, 255, .2), transparent 45%),
        linear-gradient(135deg, var(--hpgs-primary), #0d2d50);
}

.hpgs-panel > header::after {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 1px;
    background: rgba(255, 255, 255, .18);
    content: "";
}

.hpgs-agent-identity {
    display: flex;
    min-width: 0;
    flex: 1 1 auto;
    align-items: center;
    gap: 10px;
}

.hpgs-header-avatar {
    position: relative;
    display: grid;
    width: 43px;
    height: 43px;
    flex: 0 0 43px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .35);
    border-radius: 14px;
    background: rgba(255, 255, 255, .15);
    box-shadow: inset 0 1px rgba(255, 255, 255, .18);
    font-size: 21px;
}

.hpgs-header-avatar::after {
    position: absolute;
    right: -2px;
    bottom: -2px;
    width: 12px;
    height: 12px;
    border: 2px solid var(--hpgs-primary);
    border-radius: 50%;
    background: #35c477;
    box-shadow: 0 0 0 1px rgba(255, 255, 255, .4);
    content: "";
}

.hpgs-header-avatar img {
    width: 100%;
    height: 100%;
    border-radius: inherit;
    object-fit: cover;
}

.hpgs-agent-text {
    min-width: 0;
}

.hpgs-agent-text strong,
.hpgs-agent-text small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.hpgs-agent-text strong {
    font-size: 16px;
    font-weight: 750;
    letter-spacing: -.01em;
}

.hpgs-agent-text small {
    margin-top: 2px;
    color: rgba(255, 255, 255, .78);
    font-size: 11px;
    font-weight: 550;
}

.hpgs-header-actions {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 3px;
}

.hpgs-header-actions > button,
.hpgs-header-actions > a {
    display: grid;
    width: 34px;
    height: 34px;
    min-width: 34px;
    place-items: center;
    border: 1px solid transparent;
    border-radius: 10px;
    color: #fff;
    background: transparent;
    text-decoration: none;
    cursor: pointer;
}

.hpgs-header-actions > button:hover,
.hpgs-header-actions > a:hover,
.hpgs-header-actions > button:focus-visible,
.hpgs-header-actions > a:focus-visible {
    border-color: rgba(255, 255, 255, .18);
    color: #fff;
    background: rgba(255, 255, 255, .14);
}

.hpgs-ui-icon {
    display: block;
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.9;
}

.hpgs-messages {
    position: relative;
    display: flex;
    min-height: 0;
    flex: 1 1 auto;
    flex-direction: column;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 20px 15px 10px;
    background:
        radial-gradient(circle at 100% 0, rgba(18, 63, 109, .045), transparent 34%),
        var(--hpgs-canvas);
    overscroll-behavior: contain;
    scrollbar-color: #b9c5d3 transparent;
    scrollbar-width: thin;
}

.hpgs-messages::-webkit-scrollbar {
    width: 7px;
}

.hpgs-messages::-webkit-scrollbar-thumb {
    border: 2px solid transparent;
    border-radius: 9px;
    background: #b9c5d3;
    background-clip: padding-box;
}

.hpgs-message {
    position: relative;
    width: fit-content;
    max-width: 88%;
    margin: 0 0 13px;
    padding: 11px 13px;
    border-radius: 17px;
    font-size: 13.5px;
    line-height: 1.58;
    overflow-wrap: anywhere;
}

.hpgs-message-body {
    white-space: pre-wrap;
}

.hpgs-message.assistant {
    align-self: flex-start;
    border: 1px solid var(--hpgs-line);
    border-bottom-left-radius: 5px;
    color: var(--hpgs-ink);
    background: var(--hpgs-surface);
    box-shadow: 0 5px 16px rgba(20, 44, 73, .055);
}

.hpgs-message.user {
    align-self: flex-end;
    margin-left: auto;
    border: 1px solid rgba(0, 0, 0, .04);
    border-bottom-right-radius: 5px;
    color: #fff;
    background: linear-gradient(145deg, var(--hpgs-primary), #0d3158);
    box-shadow: 0 6px 16px rgba(18, 63, 109, .16);
}

.hpgs-message a {
    color: var(--hpgs-primary);
    font-weight: 700;
}

.hpgs-message .hpgs-source-link {
    display: table;
    margin-top: 9px;
    padding-bottom: 1px;
    border-bottom: 1px solid currentColor;
    text-decoration: none;
}

.hpgs-message .hpgs-contact {
    display: inline-flex;
    min-height: 35px;
    align-items: center;
    margin: 10px 6px 0 0;
    padding: 6px 11px;
    border: 1px solid rgba(18, 63, 109, .24);
    border-radius: 999px;
    color: var(--hpgs-primary);
    background: rgba(18, 63, 109, .045);
    text-decoration: none;
}

.hpgs-message .hpgs-contact:hover,
.hpgs-message .hpgs-contact:focus-visible {
    border-color: var(--hpgs-primary);
    background: rgba(18, 63, 109, .09);
}

.hpgs-info-cards {
    display: grid;
    gap: 9px;
    margin-top: 11px;
}

.hpgs-info-card {
    display: grid;
    gap: 4px;
    padding: 10px;
    border: 1px solid #d6e0eb;
    border-radius: 12px;
    background: #f7fafd;
}

.hpgs-info-card > strong {
    color: var(--hpgs-ink);
    font-size: 12.5px;
    font-weight: 780;
}

.hpgs-info-address,
.hpgs-info-phone {
    color: #53647a;
    font-size: 11.5px;
    line-height: 1.45;
}

.hpgs-info-phone {
    font-weight: 680;
}

.hpgs-info-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 4px;
}

.hpgs-info-actions a {
    display: inline-flex;
    min-height: 32px;
    align-items: center;
    padding: 5px 10px;
    border: 1px solid rgba(18, 63, 109, .24);
    border-radius: 999px;
    color: var(--hpgs-primary);
    background: #fff;
    font-size: 11px;
    font-weight: 720;
    text-decoration: none;
}

.hpgs-info-actions a:hover,
.hpgs-info-actions a:focus-visible {
    border-color: var(--hpgs-primary);
    background: rgba(18, 63, 109, .07);
}

.hpgs-assistant.theme-dark .hpgs-info-card {
    border-color: #40536b;
    background: #203249;
}

.hpgs-assistant.theme-dark .hpgs-info-card > strong {
    color: #eef5fb;
}

.hpgs-assistant.theme-dark .hpgs-info-address,
.hpgs-assistant.theme-dark .hpgs-info-phone {
    color: #bcc9d8;
}

.hpgs-assistant.theme-dark .hpgs-info-actions a {
    border-color: #536b88;
    color: #b9dcfa;
    background: #18283c;
}

.hpgs-message-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 11px;
}

.hpgs-message-actions button {
    min-height: 34px;
    padding: 6px 11px;
    border: 1px solid #c8d4e2;
    border-radius: 999px;
    color: var(--hpgs-primary);
    background: #fff;
    font-size: 11.5px;
    font-weight: 720;
    line-height: 1.25;
    cursor: pointer;
}

.hpgs-message-actions button.is-primary {
    border-color: var(--hpgs-primary);
    color: #fff;
    background: var(--hpgs-primary);
}

.hpgs-message-actions button:hover:not(:disabled),
.hpgs-message-actions button:focus-visible:not(:disabled) {
    border-color: var(--hpgs-primary);
    box-shadow: 0 0 0 3px rgba(18, 63, 109, .1);
    transform: translateY(-1px);
}

.hpgs-message-actions button.is-primary:hover:not(:disabled),
.hpgs-message-actions button.is-primary:focus-visible:not(:disabled) {
    background: #0d3158;
}

.hpgs-message-actions button:disabled {
    opacity: .48;
    cursor: default;
}

.hpgs-message-actions button.is-selected,
.hpgs-message-actions button.is-selected:disabled {
    border-color: var(--hpgs-primary);
    color: #fff;
    background: var(--hpgs-primary);
    opacity: 1;
    box-shadow: 0 0 0 3px rgba(18, 63, 109, .12);
}

.hpgs-message-actions button.is-selected::before {
    content: "\2713";
    margin-right: 5px;
    font-weight: 900;
}

.hpgs-message.typing {
    display: flex;
    width: 58px;
    min-height: 39px;
    align-items: center;
    justify-content: center;
    gap: 4px;
}

.hpgs-message.typing i {
    display: block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #8290a2;
    animation: hpgs-dot 1.15s infinite ease-in-out;
}

.hpgs-message.typing i:nth-child(2) {
    animation-delay: .14s;
}

.hpgs-message.typing i:nth-child(3) {
    animation-delay: .28s;
}

.hpgs-suggestions {
    display: flex;
    min-height: 48px;
    flex: 0 0 auto;
    gap: 7px;
    overflow-x: auto;
    padding: 8px 11px;
    border-top: 1px solid var(--hpgs-line);
    background: var(--hpgs-surface);
    overscroll-behavior-x: contain;
    scrollbar-width: none;
}

.hpgs-suggestions::-webkit-scrollbar {
    display: none;
}

.hpgs-suggestions button {
    min-height: 31px;
    flex: 0 0 auto;
    padding: 5px 11px;
    border: 1px solid #ccd7e4;
    border-radius: 999px;
    color: var(--hpgs-primary);
    background: #fff;
    font-size: 11.5px;
    font-weight: 680;
    white-space: nowrap;
    cursor: pointer;
}

.hpgs-suggestions button:hover,
.hpgs-suggestions button:focus-visible {
    border-color: var(--hpgs-primary);
    background: rgba(18, 63, 109, .055);
}

.hpgs-form {
    display: flex;
    min-height: 62px;
    flex: 0 0 auto;
    align-items: center;
    gap: 5px;
    padding: 7px 8px 7px 13px;
    border-top: 1px solid var(--hpgs-line);
    background: var(--hpgs-surface);
    box-shadow: 0 -7px 20px rgba(21, 45, 72, .025);
}

.hpgs-form:focus-within {
    box-shadow: inset 0 2px 0 var(--hpgs-primary), 0 -7px 20px rgba(21, 45, 72, .025);
}

.hpgs-form input:not(.hpgs-hp) {
    min-width: 0;
    height: 42px;
    flex: 1 1 auto;
    padding: 8px 6px;
    border: 0 !important;
    outline: 0 !important;
    color: var(--hpgs-ink);
    background: transparent !important;
    box-shadow: none !important;
    font-size: 13.5px;
}

.hpgs-form input::placeholder {
    color: #7b8798;
    opacity: 1;
}

.hpgs-form > button {
    display: grid;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    place-items: center;
    border: 1px solid transparent;
    border-radius: 13px;
    color: #fff;
    background: var(--hpgs-primary);
    box-shadow: 0 5px 14px rgba(18, 63, 109, .17);
    cursor: pointer;
}

.hpgs-voice-status {
    flex: 0 0 auto;
    padding: 7px 13px;
    border-top: 1px solid var(--hpgs-line);
    color: #40546c;
    background: #f5f8fc;
    font-size: 11.5px;
    font-weight: 650;
    line-height: 1.35;
}

.hpgs-voice-status[data-state="listening"] {
    color: #7a2030;
    background: #fff2f4;
}

.hpgs-voice-status[data-state="ready"] {
    color: #175c42;
    background: #eefaf5;
}

.hpgs-voice-status[data-state="error"],
.hpgs-voice-status[data-state="warning"] {
    color: #79232c;
    background: #fff4f4;
}

.hpgs-form > button:hover:not(:disabled),
.hpgs-form > button:focus-visible:not(:disabled) {
    background: #0d3158;
    box-shadow: 0 7px 18px rgba(18, 63, 109, .24);
    transform: translateY(-1px);
}

.hpgs-form .hpgs-mic {
    border-color: transparent;
    color: var(--hpgs-primary);
    background: transparent;
    box-shadow: none;
}

.hpgs-form .hpgs-mic:hover:not(:disabled),
.hpgs-form .hpgs-mic:focus-visible:not(:disabled) {
    color: var(--hpgs-primary);
    background: rgba(18, 63, 109, .075);
    box-shadow: none;
}

.hpgs-form .hpgs-mic.is-listening {
    border-color: #c72f3d;
    color: #fff;
    background: #c72f3d;
    box-shadow: 0 0 0 5px rgba(199, 47, 61, .15);
    animation: hpgs-listening 1.3s infinite ease-in-out;
}

.hpgs-form .hpgs-mic.is-starting {
    border-color: rgba(18, 63, 109, .25);
    background: rgba(18, 63, 109, .09);
    animation: hpgs-listening 1.3s infinite ease-in-out;
}

.hpgs-form button:disabled,
.hpgs-form.is-loading button {
    opacity: .5;
    cursor: wait;
    transform: none;
}

.hpgs-note {
    min-height: 28px;
    flex: 0 0 auto;
    padding: 6px 10px 7px;
    border-top: 1px solid rgba(220, 228, 238, .7);
    color: #758195;
    background: var(--hpgs-surface);
    font-size: 9.5px;
    font-weight: 560;
    text-align: center;
}

.hpgs-assistant.no-note .hpgs-note {
    display: none;
}

.hpgs-hp {
    position: absolute !important;
    left: -10000px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.hpgs-assistant .screen-reader-text {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    border: 0 !important;
    white-space: nowrap !important;
}

.hpgs-assistant.is-floating {
    position: fixed;
    z-index: 999999;
    display: flex;
    align-items: center;
    gap: 9px;
}

.hpgs-assistant.is-floating .hpgs-panel {
    position: absolute;
    right: 0;
    bottom: 74px;
}

.hpgs-launcher {
    position: relative;
    display: grid;
    width: 62px;
    height: 62px;
    flex: 0 0 62px;
    place-items: center;
    overflow: visible;
    border: 1px solid rgba(255, 255, 255, .5);
    border-radius: 50%;
    color: #fff;
    background:
        radial-gradient(circle at 33% 25%, rgba(255, 255, 255, .24), transparent 27%),
        linear-gradient(145deg, var(--hpgs-primary), #0b2c50);
    box-shadow: 0 13px 34px rgba(14, 40, 69, .34), inset 0 1px rgba(255, 255, 255, .18);
    font-size: 25px;
    cursor: pointer;
}

.hpgs-launcher > span {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
}

.hpgs-launcher::before {
    position: absolute;
    inset: -6px;
    z-index: -1;
    border: 1px solid rgba(18, 63, 109, .22);
    border-radius: inherit;
    content: "";
}

.hpgs-launcher::after {
    position: absolute;
    top: 3px;
    right: 3px;
    width: 13px;
    height: 13px;
    border: 2px solid #fff;
    border-radius: 50%;
    background: #35c477;
    content: "";
}

.hpgs-launcher:hover,
.hpgs-launcher:focus-visible {
    box-shadow: 0 16px 40px rgba(14, 40, 69, .42), 0 0 0 5px rgba(18, 63, 109, .12);
    transform: translateY(-2px) scale(1.025);
}

.hpgs-launcher img {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    object-fit: cover;
}

.hpgs-launch-label {
    max-width: 220px;
    padding: 9px 13px;
    border: 1px solid rgba(204, 214, 226, .9);
    border-radius: 999px;
    color: var(--hpgs-ink);
    background: #fff;
    box-shadow: 0 7px 22px rgba(15, 36, 62, .14);
    font-size: 12.5px;
    font-weight: 750;
}

.hpgs-assistant.is-floating.is-open .hpgs-launch-label {
    opacity: 0;
    pointer-events: none;
    transform: translateX(8px);
}

.hpgs-assistant.is-embedded {
    width: 100%;
    max-width: 760px;
    margin: 22px auto;
}

.hpgs-assistant.is-embedded .hpgs-panel {
    width: 100%;
    height: min(690px, 80vh);
}

.hpgs-assistant.is-expanded .hpgs-panel {
    width: min(720px, calc(100vw - 36px));
    height: min(800px, calc(100dvh - 44px));
}

.hpgs-assistant.position-bottom_right,
.hpgs-assistant.position-right {
    right: calc(var(--hpgs-offset-x, 22px) + var(--hpgs-collision-shift));
    bottom: calc(var(--hpgs-offset-y, 22px) + var(--hpgs-collision-lift));
}

.hpgs-assistant.position-bottom_left,
.hpgs-assistant.position-left {
    right: auto;
    bottom: calc(var(--hpgs-offset-y, 22px) + var(--hpgs-collision-lift));
    left: calc(var(--hpgs-offset-x, 22px) + var(--hpgs-collision-shift));
    flex-direction: row-reverse;
}

.hpgs-assistant.position-top_right {
    top: var(--hpgs-offset-y, 22px);
    right: calc(var(--hpgs-offset-x, 22px) + var(--hpgs-collision-shift));
    bottom: auto;
}

.hpgs-assistant.position-top_left {
    top: var(--hpgs-offset-y, 22px);
    right: auto;
    bottom: auto;
    left: calc(var(--hpgs-offset-x, 22px) + var(--hpgs-collision-shift));
    flex-direction: row-reverse;
}

.hpgs-assistant.position-center_right {
    top: 50%;
    right: calc(var(--hpgs-offset-x, 22px) + var(--hpgs-collision-shift));
    bottom: auto;
    transform: translateY(-50%);
}

.hpgs-assistant.position-center_left {
    top: 50%;
    right: auto;
    bottom: auto;
    left: calc(var(--hpgs-offset-x, 22px) + var(--hpgs-collision-shift));
    flex-direction: row-reverse;
    transform: translateY(-50%);
}

@media (min-width: 521px) {
    .hpgs-assistant.position-bottom_left .hpgs-panel,
    .hpgs-assistant.position-left .hpgs-panel {
        right: auto;
        left: 0;
    }

    .hpgs-assistant.position-top_right .hpgs-panel {
        top: 74px;
        right: 0;
        bottom: auto;
    }

    .hpgs-assistant.position-top_left .hpgs-panel {
        top: 74px;
        right: auto;
        bottom: auto;
        left: 0;
    }

    .hpgs-assistant.position-center_right .hpgs-panel {
        top: 50%;
        right: 74px;
        bottom: auto;
        transform: translateY(-50%);
    }

    .hpgs-assistant.position-center_left .hpgs-panel {
        top: 50%;
        right: auto;
        bottom: auto;
        left: 74px;
        transform: translateY(-50%);
    }
}

.hpgs-assistant.theme-soft {
    --hpgs-canvas: #edf5fb;
    --hpgs-line: #d5e3ee;
}

.hpgs-assistant.theme-dark {
    --hpgs-ink: #f3f7fb;
    --hpgs-muted: #aebdd0;
    --hpgs-line: #31435a;
    --hpgs-surface: #182638;
    --hpgs-canvas: #101b2a;
}

.hpgs-assistant.theme-dark .hpgs-panel {
    border-color: #34465c;
}

.hpgs-assistant.theme-dark .hpgs-message.assistant,
.hpgs-assistant.theme-dark .hpgs-form input:not(.hpgs-hp) {
    color: #eef5fb;
}

.hpgs-assistant.theme-dark .hpgs-message-actions button,
.hpgs-assistant.theme-dark .hpgs-suggestions button {
    border-color: #42566f;
    color: #eaf2f9;
    background: #21334a;
}

.hpgs-assistant.theme-dark .hpgs-message-actions button.is-primary {
    border-color: #d8e7f6;
    color: #102039;
    background: #e8f2fb;
}

.hpgs-assistant.theme-dark .hpgs-form input::placeholder,
.hpgs-assistant.theme-dark .hpgs-note {
    color: #a7b5c6;
}

.hpgs-assistant.theme-dark .hpgs-message a,
.hpgs-assistant.theme-dark .hpgs-form .hpgs-mic,
.hpgs-assistant.theme-dark .hpgs-message .hpgs-contact {
    color: #9ccaf2;
}

.hpgs-assistant.theme-dark .hpgs-voice-status {
    border-color: #344b63;
    color: #dbe8f6;
    background: #1d3147;
}

.hpgs-assistant.theme-dark .hpgs-voice-status[data-state="listening"],
.hpgs-assistant.theme-dark .hpgs-voice-status[data-state="error"],
.hpgs-assistant.theme-dark .hpgs-voice-status[data-state="warning"] {
    color: #ffd7db;
    background: #482732;
}

.hpgs-assistant.theme-dark .hpgs-voice-status[data-state="ready"] {
    color: #c9f5df;
    background: #1f4538;
}

.hpgs-assistant button:focus-visible,
.hpgs-assistant a:focus-visible,
.hpgs-assistant input:focus-visible,
.hpgs-assistant select:focus-visible {
    outline: 3px solid rgba(235, 175, 45, .68);
    outline-offset: 2px;
}

.hpgs-assistant [data-tooltip] {
    position: relative;
}

.hpgs-assistant [data-tooltip]::after {
    position: absolute;
    z-index: 20;
    right: 0;
    bottom: calc(100% + 8px);
    width: max-content;
    max-width: 190px;
    padding: 6px 8px;
    border-radius: 7px;
    color: #fff;
    background: #101b2a;
    box-shadow: 0 5px 16px rgba(0, 0, 0, .2);
    content: attr(data-tooltip);
    font-size: 10px;
    font-weight: 650;
    line-height: 1.25;
    opacity: 0;
    pointer-events: none;
    transform: translateY(3px);
    transition: opacity .14s ease, transform .14s ease;
}

.hpgs-panel > header [data-tooltip]::after {
    top: calc(100% + 8px);
    bottom: auto;
}

.hpgs-assistant [data-tooltip]:hover::after,
.hpgs-assistant [data-tooltip]:focus-visible::after {
    opacity: 1;
    transform: none;
}

@keyframes hpgs-panel-in {
    from { opacity: 0; transform: translateY(12px) scale(.985); }
    to { opacity: 1; transform: none; }
}

@keyframes hpgs-message-in {
    from { opacity: 0; transform: translateY(5px); }
    to { opacity: 1; transform: none; }
}

@keyframes hpgs-dot {
    0%, 65%, 100% { opacity: .38; transform: translateY(0); }
    32% { opacity: 1; transform: translateY(-4px); }
}

@keyframes hpgs-listening {
    50% { box-shadow: 0 0 0 8px rgba(199, 47, 61, .08); }
}

@media (prefers-reduced-motion: no-preference) {
    .hpgs-panel {
        animation: hpgs-panel-in .24s cubic-bezier(.2, .8, .2, 1);
    }

    .hpgs-message {
        animation: hpgs-message-in .18s ease-out both;
    }

    .hpgs-launcher,
    .hpgs-launch-label,
    .hpgs-message-actions button,
    .hpgs-form > button,
    .hpgs-assistant.is-floating {
        transition: transform .16s ease, box-shadow .16s ease, background-color .16s ease, border-color .16s ease, opacity .16s ease, bottom .2s ease;
    }
}

@media (prefers-reduced-motion: reduce) {
    .hpgs-assistant *,
    .hpgs-assistant *::before,
    .hpgs-assistant *::after {
        scroll-behavior: auto !important;
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .001ms !important;
    }
}

@media (max-width: 520px) {
    .hpgs-assistant.is-floating {
        transform: none;
    }

    .hpgs-assistant.position-bottom_right,
    .hpgs-assistant.position-right {
        top: auto;
        right: max(var(--hpgs-offset-x, 12px), env(safe-area-inset-right));
        bottom: max(calc(var(--hpgs-offset-y, 12px) + var(--hpgs-collision-lift)), env(safe-area-inset-bottom));
        left: auto;
    }

    .hpgs-assistant.position-bottom_left,
    .hpgs-assistant.position-left {
        top: auto;
        right: auto;
        bottom: max(calc(var(--hpgs-offset-y, 12px) + var(--hpgs-collision-lift)), env(safe-area-inset-bottom));
        left: max(var(--hpgs-offset-x, 12px), env(safe-area-inset-left));
    }

    .hpgs-assistant.position-top_right {
        top: max(var(--hpgs-offset-y, 12px), env(safe-area-inset-top));
        right: max(var(--hpgs-offset-x, 12px), env(safe-area-inset-right));
        bottom: auto;
        left: auto;
    }

    .hpgs-assistant.position-top_left {
        top: max(var(--hpgs-offset-y, 12px), env(safe-area-inset-top));
        right: auto;
        bottom: auto;
        left: max(var(--hpgs-offset-x, 12px), env(safe-area-inset-left));
    }

    .hpgs-assistant.position-center_right {
        top: 50%;
        right: max(var(--hpgs-offset-x, 12px), env(safe-area-inset-right));
        bottom: auto;
        left: auto;
        transform: translateY(-50%);
    }

    .hpgs-assistant.position-center_left {
        top: 50%;
        right: auto;
        bottom: auto;
        left: max(var(--hpgs-offset-x, 12px), env(safe-area-inset-left));
        transform: translateY(-50%);
    }

    .hpgs-assistant.is-floating .hpgs-panel,
    .hpgs-assistant.is-floating.is-expanded .hpgs-panel {
        position: fixed;
        inset:
            max(7px, env(safe-area-inset-top))
            max(7px, env(safe-area-inset-right))
            max(7px, env(safe-area-inset-bottom))
            max(7px, env(safe-area-inset-left));
        width: auto;
        height: auto;
        min-height: 0;
        border-radius: 18px;
        transform: none;
    }

    .hpgs-panel > header {
        min-height: 72px;
        padding: 11px 9px 11px 12px;
    }

    .hpgs-header-avatar {
        width: 39px;
        height: 39px;
        flex-basis: 39px;
        border-radius: 12px;
    }

    .hpgs-agent-identity {
        gap: 8px;
    }

    .hpgs-agent-text strong {
        font-size: 14px;
    }

    .hpgs-agent-text small {
        font-size: 10px;
    }

    .hpgs-header-actions {
        gap: 1px;
    }

    .hpgs-header-actions > button,
    .hpgs-header-actions > a {
        width: 32px;
        height: 34px;
        min-width: 32px;
        border-radius: 9px;
    }

    .hpgs-message {
        max-width: 91%;
    }

    .hpgs-message-actions button {
        min-height: 36px;
    }

    .hpgs-launch-label,
    .hpgs-assistant [data-tooltip]::after {
        display: none;
    }
}

@media (max-width: 370px) {
    .hpgs-agent-text small,
    .hpgs-header-avatar {
        display: none;
    }

    .hpgs-messages {
        padding-right: 11px;
        padding-left: 11px;
    }
}

/* v7.1 launcher and phone viewport hardening */
.hpgs-launcher{background:#fff;border-color:#dce4ee;box-shadow:0 13px 34px rgba(57,73,171,.24),inset 0 1px rgba(255,255,255,.9)}
.hpgs-wave-mark,.hpgs-wave-mark svg{display:block;width:44px;height:44px}
.hpgs-wave-mark rect{fill:url(#hpgs-wave-gradient)}
.hpgs-launcher::after{width:10px;height:10px;border-width:2px}
@media(max-width:520px){
 .hpgs-assistant.is-floating .hpgs-panel,.hpgs-assistant.is-floating.is-expanded .hpgs-panel{
  width:auto!important;height:auto!important;max-height:none!important;min-height:0!important;
  inset:max(6px,env(safe-area-inset-top)) max(6px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left))!important
 }
 .hpgs-expand{display:none!important}
 .hpgs-panel>header{min-height:64px}
 .hpgs-messages{min-height:0}
 .hpgs-form input:not(.hpgs-hp){font-size:16px}
}
/* Single circular launcher and theme-proof collision spacing (v7.2.3) */
.hpgs-assistant.is-floating .hpgs-launch-label{display:none!important}
.hpgs-assistant.is-floating .hpgs-launcher{
 appearance:none!important;-webkit-appearance:none!important;box-sizing:border-box!important;
 display:grid!important;place-items:center!important;width:64px!important;height:64px!important;
 min-width:64px!important;max-width:64px!important;min-height:64px!important;max-height:64px!important;
 margin:0!important;padding:0!important;border:1px solid #dce4ee!important;border-radius:50%!important;
 background:#fff!important;overflow:visible!important;line-height:1!important;
 box-shadow:0 12px 30px rgba(57,73,171,.26),0 0 0 5px rgba(255,255,255,.94)!important
}
.hpgs-assistant.is-floating .hpgs-launcher::before{inset:-6px!important;border-radius:50%!important}
.hpgs-assistant.is-floating .hpgs-wave-mark,.hpgs-assistant.is-floating .hpgs-wave-mark svg{box-sizing:border-box!important;display:block!important;width:42px!important;height:42px!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.hpgs-assistant.is-floating .hpgs-launcher:hover,.hpgs-assistant.is-floating .hpgs-launcher:focus-visible{transform:translateY(-2px) scale(1.03)!important;box-shadow:0 16px 36px rgba(57,73,171,.32),0 0 0 5px rgba(82,120,255,.13)!important}
@media(max-width:520px){.hpgs-assistant.is-floating .hpgs-launcher{width:60px!important;height:60px!important;min-width:60px!important;max-width:60px!important;min-height:60px!important;max-height:60px!important}.hpgs-assistant.is-floating .hpgs-wave-mark,.hpgs-assistant.is-floating .hpgs-wave-mark svg{width:39px!important;height:39px!important}}

/* Configurable launcher geometry and artwork (v7.3.0) */
.hpgs-assistant.is-floating .hpgs-launcher{width:var(--hpgs-launcher-size,64px)!important;height:var(--hpgs-launcher-size,64px)!important;min-width:var(--hpgs-launcher-size,64px)!important;max-width:var(--hpgs-launcher-size,64px)!important;min-height:var(--hpgs-launcher-size,64px)!important;max-height:var(--hpgs-launcher-size,64px)!important}
.hpgs-assistant.is-floating .hpgs-launcher-art{box-sizing:border-box!important;display:grid!important;place-items:center!important;width:100%!important;height:100%!important;padding:var(--hpgs-icon-padding,10px)!important;border-radius:50%!important;overflow:hidden!important;background:transparent!important}
.hpgs-assistant.is-floating .hpgs-launcher-art>img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:50%!important;object-fit:cover!important;background:transparent!important;box-shadow:none!important}
.hpgs-assistant.is-floating .hpgs-launcher-symbol{display:grid!important;place-items:center!important;width:100%!important;height:100%!important;font-size:calc(var(--hpgs-launcher-size,64px) * .46)!important;line-height:1!important}
.hpgs-assistant.is-floating .hpgs-launcher-art .hpgs-wave-mark,.hpgs-assistant.is-floating .hpgs-launcher-art .hpgs-wave-mark svg{width:100%!important;height:100%!important}
@media(max-width:520px){.hpgs-assistant.is-floating .hpgs-launcher{width:var(--hpgs-launcher-size,60px)!important;height:var(--hpgs-launcher-size,60px)!important;min-width:var(--hpgs-launcher-size,60px)!important;max-width:var(--hpgs-launcher-size,60px)!important;min-height:var(--hpgs-launcher-size,60px)!important;max-height:var(--hpgs-launcher-size,60px)!important}}

/* Launcher tooltip edge-safe positioning (v7.5.4) */
.hpgs-assistant.is-floating .hpgs-launcher[data-tooltip]::after{
    top:50%!important;
    right:calc(100% + 12px)!important;
    bottom:auto!important;
    left:auto!important;
    z-index:1000002!important;
    width:max-content!important;
    max-width:min(220px,calc(100vw - var(--hpgs-launcher-size,64px) - 40px))!important;
    overflow:visible!important;
    white-space:nowrap!important;
    text-align:center!important;
    transform:translateY(-50%) translateX(3px)!important;
}
.hpgs-assistant.is-floating .hpgs-launcher[data-tooltip]:hover::after,
.hpgs-assistant.is-floating .hpgs-launcher[data-tooltip]:focus-visible::after{
    transform:translateY(-50%) translateX(0)!important;
}
.hpgs-assistant.is-floating.position-bottom_left .hpgs-launcher[data-tooltip]::after,
.hpgs-assistant.is-floating.position-top_left .hpgs-launcher[data-tooltip]::after,
.hpgs-assistant.is-floating.position-center_left .hpgs-launcher[data-tooltip]::after{
    right:auto!important;
    left:calc(100% + 12px)!important;
}
@media(max-width:520px){.hpgs-assistant.is-floating .hpgs-launcher[data-tooltip]::after{display:none!important}}

/* Reliable toolbar controls: keep minimize and close visible on every theme and viewport. */
.hpgs-header-actions {
    flex-wrap: nowrap;
    overflow: visible;
}

.hpgs-header-actions > button.hpgs-minimize,
.hpgs-header-actions > button.hpgs-close {
    display: grid !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.hpgs-header-actions > button.hpgs-minimize .hpgs-ui-icon,
.hpgs-header-actions > button.hpgs-close .hpgs-ui-icon {
    display: block !important;
    width: 19px;
    height: 19px;
    stroke: #fff !important;
}

.hpgs-header-actions > button.hpgs-close {
    background: rgba(255, 255, 255, .1);
}

@media (max-width: 420px) {
    .hpgs-panel > header {
        gap: 4px;
        padding-right: 7px;
    }

    .hpgs-header-actions > button,
    .hpgs-header-actions > a {
        width: 29px;
        min-width: 29px;
        height: 32px;
        padding: 0;
    }

    .hpgs-header-actions .hpgs-ui-icon {
        width: 17px;
        height: 17px;
    }
}


/* Launcher tooltip clipping fix (v7.7.5) */
.hpgs-assistant.is-floating .hpgs-launcher[data-tooltip]::after {
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: max-content !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 30px !important;
    max-height: none !important;
    max-width: min(240px, calc(100vw - var(--hpgs-launcher-size, 64px) - 40px)) !important;
    padding: 7px 11px !important;
    overflow: visible !important;
    border: 1px solid rgba(255, 255, 255, .18) !important;
    border-radius: 999px !important;
    color: #fff !important;
    background: #101b2a !important;
    box-shadow: 0 7px 20px rgba(0, 0, 0, .24) !important;
    content: attr(data-tooltip) !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    font-style: normal !important;
    line-height: 1.25 !important;
    letter-spacing: .01em !important;
    text-align: center !important;
    text-decoration: none !important;
    text-indent: 0 !important;
    text-transform: none !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
}
@media (max-width: 520px) {
    .hpgs-assistant.is-floating .hpgs-launcher[data-tooltip]::after {
        display: none !important;
    }
}


/* Mobile visual viewport and keyboard safety (v7.7.8) */
@media (max-width: 520px) {
    .hpgs-assistant.is-floating.is-open .hpgs-panel,
    .hpgs-assistant.is-floating.is-open.is-expanded .hpgs-panel {
        top: var(--hpgs-mobile-panel-top, max(6px, env(safe-area-inset-top))) !important;
        right: max(6px, env(safe-area-inset-right)) !important;
        bottom: auto !important;
        left: max(6px, env(safe-area-inset-left)) !important;
        width: auto !important;
        height: var(--hpgs-mobile-panel-height, calc(100dvh - 12px)) !important;
        min-height: 0 !important;
        max-height: var(--hpgs-mobile-panel-height, calc(100dvh - 12px)) !important;
        overflow: hidden !important;
        transform: none !important;
    }

    .hpgs-assistant.is-floating.is-open .hpgs-messages {
        min-height: 72px !important;
        flex: 1 1 0 !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch;
        scroll-padding-bottom: 12px;
    }

    .hpgs-assistant.is-floating.is-open .hpgs-suggestions,
    .hpgs-assistant.is-floating.is-open .hpgs-form,
    .hpgs-assistant.is-floating.is-open .hpgs-note,
    .hpgs-assistant.is-floating.is-open .hpgs-panel > header {
        flex: 0 0 auto !important;
    }

    .hpgs-assistant.is-floating.is-keyboard-open .hpgs-panel {
        border-radius: 14px !important;
    }

    .hpgs-assistant.is-floating.is-keyboard-open .hpgs-panel > header {
        min-height: 56px !important;
        padding-top: 7px !important;
        padding-bottom: 7px !important;
    }

    .hpgs-assistant.is-floating.is-keyboard-open .hpgs-messages {
        min-height: 96px !important;
        padding-top: 10px !important;
        padding-bottom: 8px !important;
    }

    .hpgs-assistant.is-floating.is-keyboard-open .hpgs-suggestions {
        min-height: 43px !important;
        padding-top: 6px !important;
        padding-bottom: 6px !important;
    }

    .hpgs-assistant.is-floating.is-keyboard-open .hpgs-note {
        display: none !important;
    }
}


/* 7.8.0: compact, readable mobile conversation state and consistent theme accents. */
.hpgs-header-avatar::after,
.hpgs-launcher::after {
    background: var(--hpgs-accent-safe);
}
.hpgs-assistant button:focus-visible,
.hpgs-assistant a:focus-visible,
.hpgs-assistant input:focus-visible,
.hpgs-assistant select:focus-visible {
    outline-color: var(--hpgs-accent-safe) !important;
}
@media (max-width: 520px) {
    .hpgs-assistant.is-floating.is-keyboard-open .hpgs-panel > header {
        min-height: 50px !important;
        padding-top: 5px !important;
        padding-bottom: 5px !important;
    }
    .hpgs-assistant.is-floating.is-keyboard-open .hpgs-agent-text small,
    .hpgs-assistant.is-floating.is-keyboard-open .hpgs-suggestions,
    .hpgs-assistant.is-floating.is-keyboard-open .hpgs-note {
        display: none !important;
    }
    .hpgs-assistant.is-floating.is-keyboard-open .hpgs-messages {
        min-height: 56px !important;
        padding-top: 7px !important;
        padding-bottom: 6px !important;
    }
}


/* Answer quality feedback (v7.9.0) */
.hpgs-answer-feedback{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-top:10px;padding-top:9px;border-top:1px solid rgba(18,63,109,.12)}
.hpgs-answer-feedback-label{color:var(--hpgs-muted);font-size:11px;font-weight:650;line-height:1.35}
.hpgs-answer-feedback-buttons{display:flex;flex:0 0 auto;gap:5px}
.hpgs-answer-feedback button{min-height:30px;padding:4px 8px;border:1px solid #d3deea;border-radius:999px;color:#36506d;background:#fff;font-size:10.5px;font-weight:700;cursor:pointer}
.hpgs-answer-feedback button:hover,.hpgs-answer-feedback button:focus-visible{border-color:var(--hpgs-primary);color:var(--hpgs-primary);background:#f5f9fd}
.hpgs-answer-feedback button:disabled{opacity:.58;cursor:wait}
.hpgs-answer-feedback.is-complete{justify-content:flex-start}
.hpgs-answer-feedback.is-complete .hpgs-answer-feedback-label{color:#246342}
@media(max-width:380px){
 .hpgs-answer-feedback{align-items:flex-start;flex-direction:column}
 .hpgs-answer-feedback-buttons{width:100%}
 .hpgs-answer-feedback button{flex:1 1 0}
}

/* Guided flow progress and trust controls (v8.8.0) */
.hpgs-flow-progress{display:block;flex:0 0 auto;padding:8px 14px 9px;border-bottom:1px solid var(--hpgs-line);background:var(--hpgs-surface);background:color-mix(in srgb,var(--hpgs-surface) 94%,var(--hpgs-primary) 6%)}
.hpgs-flow-progress[hidden]{display:none!important}
.hpgs-flow-progress-copy{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px;color:var(--hpgs-ink);font-size:10.5px;line-height:1.25}
.hpgs-flow-progress-copy strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:750}
.hpgs-flow-progress-copy span{flex:0 0 auto;color:var(--hpgs-muted);font-weight:650}
.hpgs-flow-progress-track{height:4px;overflow:hidden;border-radius:999px;background:rgba(18,63,109,.12)}
.hpgs-flow-progress-track>span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--hpgs-primary),var(--hpgs-accent-safe));transition:width .28s ease}
.hpgs-assistant.theme-dark .hpgs-flow-progress{background:rgba(255,255,255,.035)}
.hpgs-assistant.theme-dark .hpgs-flow-progress-track{background:rgba(255,255,255,.16)}
@media(max-width:520px){.hpgs-flow-progress{padding:6px 11px 7px}.hpgs-flow-progress-copy{margin-bottom:5px}}
@media(prefers-reduced-motion:reduce){.hpgs-flow-progress-track>span{transition:none}}

/* Voice capture status and mobile-safe review (v8.12.4) */
@media(max-width:520px){
 .hpgs-voice-status{padding:6px 10px;font-size:11px}
 .hpgs-form{gap:4px;padding-right:7px;padding-left:9px}
}
@media(max-width:370px){
 .hpgs-form{gap:3px;padding-right:5px;padding-left:7px}
}
