.uptime-chat-widget.is-staff-mode .js-chat-start-panel {
    display: none !important;
}

.uptime-chat-widget {
    position: fixed;
    right: 1.25rem;
    bottom: 1.25rem;
    z-index: 1080;
    font-family: inherit;
}

.uptime-chat-widget.is-expanded {
    right: 1.25rem;
    bottom: 0;
}

.uptime-chat-launcher {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    border: 0;
    border-radius: 999px;
    padding: .85rem 1.1rem;
    background: linear-gradient(90deg, #0078ff, #6b2cff);
    color: #fff;
    box-shadow: 0 .75rem 2rem rgba(7, 20, 47, .22);
    font-weight: 700;
}

.uptime-chat-launcher:hover,
.uptime-chat-launcher:focus {
    color: #fff;
    filter: brightness(1.06);
}

.uptime-chat-launcher-alert {
    width: .65rem;
    height: .65rem;
    border-radius: 50%;
    background: #ffc107;
    box-shadow: 0 0 0 .15rem rgba(255, 193, 7, .35);
}

.uptime-chat-launcher.has-alert .uptime-chat-launcher-alert {
    display: inline-block !important;
}

.uptime-chat-panel {
    position: absolute;
    right: 0;
    bottom: calc(100% + .75rem);
    width: min(22rem, calc(100vw - 2rem));
    background: #fff;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: .75rem;
    box-shadow: 0 1rem 2.5rem rgba(15, 23, 42, .18);
    overflow: hidden;
}

.uptime-chat-widget.is-expanded .uptime-chat-panel {
    position: relative;
    right: auto;
    bottom: auto;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    box-shadow: 0 -.35rem 2rem rgba(15, 23, 42, .16);
}

.uptime-chat-panel-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: .85rem 1rem;
    background: linear-gradient(90deg, #061229, #082d78 55%, #4a1cc9);
    color: #fff;
}

.uptime-chat-panel-status.is-available {
    color: #9be7b4;
}

.uptime-chat-panel-status.is-offline {
    color: rgba(255, 255, 255, .72);
}

.uptime-chat-panel-body {
    padding: 1rem;
    max-height: 28rem;
    display: flex;
    flex-direction: column;
}

.uptime-chat-thread {
    flex: 1 1 auto;
    min-height: 10rem;
    max-height: 16rem;
    overflow-y: auto;
    background: #f8fafc;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: .5rem;
    padding: .75rem;
}

.uptime-chat-message {
    display: flex;
    flex-direction: column;
    margin-bottom: .75rem;
}

.uptime-chat-message.is-self {
    align-items: flex-end;
    text-align: right;
}

.uptime-chat-message.is-other {
    align-items: flex-start;
    text-align: left;
}

.uptime-chat-message.is-system {
    align-items: center;
    text-align: center;
}

.uptime-chat-message-body {
    display: inline-block;
    max-width: 85%;
    padding: .5rem .75rem;
    border-radius: .75rem;
    white-space: pre-wrap;
    word-break: break-word;
}

.uptime-chat-message.is-self .uptime-chat-message-body {
    background: linear-gradient(90deg, #0078ff, #6b2cff);
    color: #fff;
    border: 0;
    border-bottom-right-radius: .2rem;
}

.uptime-chat-message.is-other .uptime-chat-message-body {
    background: #fff;
    color: #172033;
    border: 1px solid rgba(15, 23, 42, .1);
    border-bottom-left-radius: .2rem;
}

.uptime-chat-message.is-system .uptime-chat-message-body {
    background: #f1f5f9;
    color: #64748b;
    font-size: .85rem;
    border: 0;
    max-width: 95%;
}

.uptime-chat-message-meta {
    font-size: .72rem;
    color: #64748b;
    margin-top: .2rem;
    padding: 0 .15rem;
}

.uptime-chat-message.is-self .uptime-chat-message-meta {
    text-align: right;
}

.uptime-chat-message.is-other .uptime-chat-message-meta {
    text-align: left;
}

.uptime-chat-compose .form-control {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.uptime-chat-widget.has-unread-focus .uptime-chat-panel-header {
    animation: uptime-chat-header-pulse 1.15s ease-in-out infinite;
}

.uptime-chat-widget.is-minimized-alert .uptime-chat-launcher {
    animation: uptime-chat-launcher-alert 0.85s ease-in-out infinite;
    background: linear-gradient(90deg, #dc3545, #b02a37);
}

.uptime-chat-widget.is-minimized-alert .uptime-chat-launcher-alert {
    display: inline-block !important;
    background: #fff;
    animation: uptime-chat-dot-blink 0.85s ease-in-out infinite;
}

.uptime-chat-widget.is-flashing .uptime-chat-launcher {
    animation: uptime-chat-flash 1s ease-in-out 3;
}

@keyframes uptime-chat-header-pulse {
    0%, 100% {
        filter: brightness(1);
        box-shadow: inset 0 0 0 0 rgba(255, 255, 255, 0);
    }

    50% {
        filter: brightness(1.2);
        box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .55);
    }
}

@keyframes uptime-chat-launcher-alert {
    0%, 100% {
        box-shadow: 0 .75rem 2rem rgba(220, 53, 69, .35);
        filter: brightness(1);
    }

    50% {
        box-shadow: 0 0 0 .45rem rgba(220, 53, 69, .55), 0 .75rem 2rem rgba(220, 53, 69, .45);
        filter: brightness(1.12);
    }
}

@keyframes uptime-chat-dot-blink {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: .35; transform: scale(.85); }
}

@keyframes uptime-chat-flash {
    0%, 100% { filter: brightness(1); }
    50% { filter: brightness(1.25); box-shadow: 0 0 0 .35rem rgba(0, 120, 255, .35); }
}

@media (max-width: 575.98px) {
    .uptime-chat-widget,
    .uptime-chat-widget.is-expanded {
        right: 0;
        left: 0;
    }

    .uptime-chat-widget:not(.is-expanded) {
        right: .75rem;
        left: auto;
        bottom: .75rem;
    }

    .uptime-chat-panel,
    .uptime-chat-widget.is-expanded .uptime-chat-panel {
        width: 100%;
        max-width: none;
        border-radius: .75rem .75rem 0 0;
    }

    .uptime-chat-launcher-label {
        display: none;
    }
}
