.body {
    overflow-x: hidden;
    background-color: transparent;
    margin: 0px;
    font-size: 14px;
    font-display: swap;
    line-height: 18px;
    max-height: 100vh !important;
    position: absolute;
    width: 100%;
}

.body, body {
    font-family: 'Instrument Sans', 'Open Sans', tahoma, arial, sans-serif;
}

textarea, input {
    font-family: 'Source Sans 3', 'Open Sans', tahoma, arial, sans-serif;
}

textarea:disabled {
    background-color: transparent;
}

.body.chat-initialize{
    opacity: 0;
}

.body.chat-visible{
    opacity: 1;
    transition: opacity 0.2s ease-in-out;
}

.body.bigMinimized .middlePanel {
    display: block;
}
.body .middlePanel {
    display: none;
}

.body.connecting {
    display: none;
}

.chat{
    position: absolute;
    right: 40px;
    overflow: hidden;
    border-radius: 20px;
    box-shadow: 0px 30px 40px 0px rgba(48,68,125,0.4);
    width: 344px;
}

.mobileChat.maximized .chat{
    height: auto !important;
    width: auto !important;
    right: 0;
    left: 0;
    border-radius: 0px;
}

.iconMinimized .chat{
    height: 0px;
    opacity: 0.1;
}
.iconMinimized .chat.show{
    height: 521px;
    opacity: 1;
    display: block !important;
    transition: opacity 0.3s ease-in-out;
}

.sendMessage{
    width: 300px;
}
.topPanel{
    width: 100%;
}

.maximized.showFooter .middlePanel{
    height: auto;
}

.maximized .middlePanel{
    background-color: white;
    height: auto;
    display: block;
}

.middlePanel{
    background-color: #ffffff;
    position: relative;
}

.messagesWrapper{
    height: 217px;
    width:100%;
    min-width: 50px;
    overflow-y: auto;
    overflow-x: hidden;
    background-color: #FFFFFF;
    scrollbar-width: thin;
    scrollbar-color: #DDDDDD transparent;
    scrollbar-gutter: stable;
    position: relative;
}

.color-gray .messagesWrapper {
    background-color: #f9fafd;
}

.color-blue .messagesWrapper {
    background-color: #eaf1f7;
}

.color-dark .messagesWrapper {
    background-color: #101519;
    scrollbar-color: #465368 transparent;
}

::-webkit-scrollbar-thumb {
    background: transparent;
    -webkit-border-radius: 1ex;
}

.chat:hover ::-webkit-scrollbar-thumb {
    background: #DDDDDD;
    -webkit-border-radius: 1ex;
}

::-webkit-scrollbar {
    height: 6px;
    width: 6px;
    background: transparent;
}


::-webkit-scrollbar-corner {
    background: transparent;
}


.messagesPlaceholder{
    position:relative;
}
.messagesPlaceholder div{
    color: #000000;
    cursor: default;
    margin: 16px 6px 16px 16px;
}

.messagesPlaceholder > .myMessage:has(+ .myMessage),
.messagesPlaceholder > div:not(.myMessage):has(+ div:not(.myMessage)) {
    margin-bottom: 4px;
}

.messagesPlaceholder > .myMessage + .myMessage,
.messagesPlaceholder > div:not(.myMessage) + div:not(.myMessage) {
    margin-top: 4px;
}

.color-dark .messagesPlaceholder div,
.color-dark .messagesPlaceholder .message-text a {
    color: #FFFFFF;
}

.color-dark .messagesPlaceholder .message-text,
.color-dark.maximized #firstMessage {
    background-color: #272D32;
}

#msg{
    display: none;
}

.maximized #msg{
    display: inherit;
}

.bigMinimized .messagesWrapper{
    height: 35px;
    display: block;
}

.bigMinimized .sendMessage{
    display: block;
}

.bigMinimized.maximized .messagesWrapper{
    height: 217px;
    display: inherit;
}

#min{
    display: none;
    background-image: url("../img/close_livechat.svg") !important;
    background-repeat: no-repeat;
    background-size: contain;
}

.maximized #min{
    display: inherit;
}

#max{
    border: 1px solid #718d9f;
    border-top: 3px solid #718d9f;
}

.maximized #max{
    display: none;
}

.header{
    background-color: #f9fafc;
    color: rgba(0, 0, 0, 0.6);
    font-size: 14px;
    line-height: 28px;
    display: inline-block;
    height: 100%;
    width: 100%;
    box-sizing: border-box;
    padding: 16px 30px 0 30px;
    cursor: pointer;
}
.navigationButton{
    float: right;
    margin-right: 4px;
    width: 24px;
    height: 24px;
    cursor: pointer;
}

.messagesPlaceholder .myMessage{
    text-align: right;
    margin-left: auto;
    color: #FFFFFF; 
}

.messagesPlaceholder .myMessage .message-text {
    background-color: #1D4ED7;
    text-align: left;
}

.messagesPlaceholder .myMessage .chat-attachment-size {
    text-align: left;
}

.messagesPlaceholder .myMessage .image-preview {
    display: flex;
    justify-content: flex-end;
}

.messagesPlaceholder .myMessage .message-text,
.messagesPlaceholder .myMessage .message-text a{
    color: #FFFFFF;
}

.messagesPlaceholder .myMessage .message-text {
    border-radius: 10px;
    border-top-right-radius: 0px;
}

.messagesPlaceholder .message-text,
.maximized #firstMessage{
    font-weight: 400;
    line-height: 20px;
    background-color: #F2F6FF;
    border-radius: 10px;
    border-top-left-radius: 0px;
    display: inline-block;
    padding: 10px 15px;
}

.messagesPlaceholder .phantomMessage .message-text,
.messagesPlaceholder .message-text.ai-waiting {
    display: inline-flex;
    gap: 8px;
}

.messagesPlaceholder .phantomMessage .dot,
.messagesPlaceholder .ai-waiting .dot {
    width: 8px;
    height: 8px;
    background-color: #c7dfff;
    border-radius: 4px;
    margin: 8px 0px;
    animation: typingColor 1s infinite ease-in-out;
}

.phantomMessage .dot:nth-child(1),
.ai-waiting .dot:nth-child(1) {
    animation-delay: 0s;
}
.phantomMessage .dot:nth-child(2),
.ai-waiting .dot:nth-child(2) {
    animation-delay: 0.2s;
}
.phantomMessage .dot:nth-child(3),
.ai-waiting .dot:nth-child(3) {
    animation-delay: 0.4s;
}

@keyframes typingColor {
    0%, 80%, 100% {
        opacity: 0.65;
    }
    40% {
        opacity: 1;
    }
}

.color-dark .phantomMessage .dot,
.color-dark .ai-waiting .dot {
    background-color: #7e8d9a;
}

.color-dark .phantomMessage .dot,
.color-dark .ai-waiting .dot {
    animation-name: typingColorDark;
}

@keyframes typingColorDark {
    0%, 80%, 100% {
        opacity: 0.65;
    }
    40% {
        opacity: 1;
    }
}

/* No cursor during text streaming */
.ai-streaming::after {
    content: '';
}

.bi-thinking-text {
    font-style: italic;
    color: #6b7280;
    font-size: 13px;
    padding: 4px 0;
    transition: opacity 0.35s ease;
}

.color-dark .bi-thinking-text {
    color: #9ca3af;
}

@keyframes bi-text-shimmer {
    0%, 100% { color: #6b7280; }
    50% { color: #93c5fd; }
}

@keyframes bi-text-shimmer-dark {
    0%, 100% { color: #9ca3af; }
    50% { color: #60a5fa; }
}

.bi-thinking-shimmer {
    animation: bi-text-shimmer 1.5s ease-in-out infinite;
}

.color-dark .bi-thinking-shimmer {
    animation-name: bi-text-shimmer-dark;
}

#startNewConversation {
    border-top: 1px solid rgba(0,0,0,0.05);
    padding: 16px;
    width: auto;
    display: none;
    justify-content: center;
    align-items: center;
}

#startNewConversation .startNewConversationButton {
    font-family: 'Source Sans 3', 'Open Sans', tahoma, arial, sans-serif;
    font-size:  16px;
    line-height: 20px;
    height: 40px;
    text-align: center;
    display: flex;
    background-color: #1d4ed7;
    color: #ffffff;
    padding: 10px 16px;
    box-sizing: border-box;
    border-radius: 20px;
    cursor: pointer;
}


#messenger{
    border-top: 1px solid rgba(0,0,0,0.05);
    padding: 16px;
    width: auto;
    display: flex;
}

#msgText,
body.bigMinimized.maximized #msgText {
    flex-grow: 1;
    padding: 0;
    border: 0px solid #eeeeee;
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    height: 40px;
    overflow: auto;
    resize: none;
}

#msgText::placeholder, #emailMessageInput::placeholder {
     color: rgba(0, 0, 0, 0.6);
 }

.system-chat #msgText, body.system-chat.bigMinimized.maximized #msgText{
    font-size: 13px;
}

.send-button,
.send-file {
    aspect-ratio: 1;
    background-image: url("../img/send.svg");
    background-size: contain;
    background-repeat: no-repeat;
    transition: opacity 0.1s ease-in;
    cursor: pointer;
    border-radius: 20px;
    margin-left: 5px;
}

.send-button {
    background-color: #1D4ED7;
}

.send-file {
    background-image: url("../img/attached.svg");
    background-size: auto;
    background-position: center;
    opacity: 0.6;
}

.send-additional-buttons {
    display: flex;
    height: 40px;
}

.send-additional-buttons.disabled {
    display: none;
}

.send-button:hover:not(.disabled, .emptyMsg),
.send-file:hover:not(.disabled),
.sendEmailButton:hover:not(.notValidEmailAddress, .disabled) {
    opacity: 0.8;
    transition: border-color 50ms ease-in;
}

.send-button.disabled,
.send-file.disabled,
.send-button.emptyMsg,
.sendEmailButton.notValidEmailAddress,
.sendEmailButton.disabled {
    opacity: 0.4;
    cursor: unset !important;
}

.send-file.hidden {
    display: none;
}

div.text-line {
    opacity: 0.7;
    display: block;
    overflow: hidden;
    white-space: nowrap;
}

div.text-line > span {
    position: relative;
    display: inline-block;
}

div.text-line.date > span:before,
div.text-line.date > span:after {
    background: #aaa;
    opacity: 0.3;
}

div.text-line > span:before,
div.text-line > span:after {
    content: "";
    position: absolute;
    top: 50%;
    width: 9999px;
    height: 1px;
}

div.text-line > span:before {
    right: 100%;
    margin-right: 10px;
}

div.text-line > span:after {
    left: 100%;
    margin-left: 10px;
}

div.text-line.date {
    text-align: center;
}

.time-part{
    line-height: 11px !important;
    font-size: 11px;
    opacity: 0.7;
}

.messagesPlaceholder .text-line.date.scrolling {
    position: -webkit-sticky;
    position: sticky;
    background-color: rgba(255, 255, 255, 1);
    font-family: "Roboto flex", "Roboto", arial, tahoma, helvetica, sans-serif;
    font-size: 12px;
    opacity: 1;
    top: 0;
    z-index: 1;
}

.messagesPlaceholder .text-line.date.scrolling span {
    opacity: 0.7;
}


.color-gray .messagesPlaceholder .text-line.date.scrolling {
    background-color: #f9fafd;
}

.color-blue .messagesPlaceholder .text-line.date.scrolling {
    background-color: #eaf1f7;
}

.color-dark .messagesPlaceholder .text-line.date.scrolling {
    background-color: #101519;
}

.color-dark .messagesPlaceholder .text-line.date.scrolling span {
    color: #dddddd;
}

.color-dark .send-file {
    filter: invert(1);
}

#emailMessage {
    margin: 16px;
    padding: 16px;
    background-color: #F9FAFC;
    border-radius: 8px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

#firstMessage:empty {
    display: none;
}

.body.showMailField #messages {
    display: none !important;
}

.iconMinimized #chatMessageWrapper.chat.show {
    display: flex !important;
    flex-direction: column;
}

.iconMinimized #chatMessageWrapper.chat.show .middlePanel {
    flex: 1 1 auto;
    min-height: 0;
}

.emailFormIntro {
    font-size: 14px;
    font-weight: 400;
    line-height: 18px;
    color: rgba(0, 0, 0, 0.6);
}

.emailFormField {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.emailFormLabel {
    font-size: 14px;
    font-weight: 400;
    line-height: 115%;
    color: rgba(0, 0, 0, 0.6);
}

#emailMessage .emailFormInput {
    background-color: #FFFFFF;
    border: 1px solid #E7E7E7;
    border-radius: 8px;
    padding: 12px 8px;
    font-size: 16px;
    font-weight: 400;
    line-height: 115%;
    color: #000;
    width: 100%;
    box-sizing: border-box;
    outline: none;
    font-family: inherit;
}

#emailMessage .sendEmailButton {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #1D4ED7;
    color: #FFFFFF;
    font-size: 16px;
    font-weight: 700;
    line-height: 115%;
    padding: 12px 8px;
    border-radius: 8px;
    cursor: pointer;
    width: 100%;
    box-sizing: border-box;
    transition: opacity 0.1s ease-in;
}

#msgText::-webkit-input-placeholder { /* Chrome/Opera/Safari */
  color: #888888;
}
#msgText::-moz-placeholder { /* Firefox 19+ */
  color: #888888;
}
#msgText:-ms-input-placeholder { /* IE 10+ */
  color: #888888;
}
#msgText:-moz-placeholder { /* Firefox 18- */
  color: #888888;
}

#sendMsg{
    background-color: #0061cd;
    border: 1px solid #0041ad;
    border-radius: 15px;
    color: white;
    margin-top: 2px;
    font-weight: bold;
    height: 20px;
    width: 20px;
    cursor: pointer;
    font-size: 13px;
    box-shadow: 0px 0px 5px #aaaaaa;
    position: absolute;
    bottom: 5px;
    right: 15px;
}

.activeHeader {
    background-color: #0000FF;
}

.notActiveHeader {
    background-color: #E6E6E6;
}

.messageHeader{
    height: 32px;
    background-color: #f9fafc;
    padding: 12px 30px 20px 30px;
}

.bigMinimized .messageHeader{
    display: none;
}

#firstMessageHeader {
    display: none;
}

.maximized .consultantData .firstMessage{
    display: none;
}

.consultantImage{
    width: 32px;
    height: 32px;
    float: left;
    background-color: #eeeeee;
    border-radius: 30px;
}

.autoMessage .consultantImage{
    background-size: 28px 28px;
}

.consultantImage img, .companyLogo img {
    display: block;
    margin-left: auto;
    margin-right: auto;
    height: 32px;
}

.consultantImage img {
    width: 32px;
}

.companyLogo img {
    max-width: 100px;
}

.consultantImage img {
    border-radius: 30px;
}

.consultantData{
    margin-left: 8px;
    width: 144px;
    float: left;
}

.consultantData.noCompanyLogo{
    width: 244px;
    height: 100%;
}

.consultantSurveyInHeader.maximized .consultantData{
    width: 172px;
}

.consultantDataTop{
    height: 32px;
    line-height: 32px;
    font-size: 16px;
    font-weight: bold;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.consultantSurvey{
    display: none;
}

.consultantSurveyInHeader.maximized .consultantSurvey{
    display: block;
}

.consultantSurvey .thumbContainer {
    margin-left: 4px;
    background: none;
    border-radius: 10px 10px 10px 10px;
}

.consultantSurvey .thumbContainer .thumbDefault,
.consultantSurvey .thumbContainer.clicked .thumbActive,
.consultantSurvey .thumbContainer.not-clicked .thumbDisabled {
    display: inline;
}
.consultantSurvey .thumbContainer .thumbActive,
.consultantSurvey .thumbContainer .thumbDisabled,
.consultantSurvey .thumbContainer.clicked .thumbDefault,
.consultantSurvey .thumbContainer.clicked .thumbDisabled,
.consultantSurvey .thumbContainer.not-clicked .thumbDefault,
.consultantSurvey .thumbContainer.not-clicked .thumbActive {
    display: none;
}

.companyLogo{
    float: right;
}

.msgDate{
    padding: 5px 0 0 4px;
    font-weight: 400;
    color: rgba(0, 0, 0, 0.4);
}

.color-dark .msgDate{
    color: #b7b7b7;
}

.userMessage{
    font-size: 12px;
    font-weight: 400;
    margin-right: 10px;
}

.messagesPlaceholder div.userMessage{
    margin: 8px 0 6px 0;
    color: #000000;
    line-height: 100%;
}

.color-dark .messagesPlaceholder div.userMessage{
    color: #ffffff;
}

.consultantMessage{
    color: #1D4ED7 !important;
}

.color-dark .consultantMessage{
    filter: brightness(1.4) !important;
}

textarea:focus, input:focus {
    outline: none;
}

.error {
    background-color: #ffdde4;
    color: #ae0f2e;
}

.tip {
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: 'Source Sans 3', 'Open Sans', tahoma, arial, sans-serif;
    font-size: 12px;
    line-height: 12px;
    padding: 0 16px;
    width: 100%;
    height: 23px;
    z-index: 5;
}

.system-chat .tip {
    position: fixed;
    bottom: 75px;
}

.messagesPlaceholder .image-preview,
.messagesPlaceholder .image-preview div,
.messagesPlaceholder .image-preview .preview-holder img{
    margin: 0; 
    margin-bottom: 2px;
    margin-left: 3px;
    margin-right: 6px;
    max-width: calc(100% - 13px);
}

.messagesPlaceholder .phantomFileMessage .image-preview {
    margin: 0;
}

.messagesPlaceholder .phantomFileMessage .image-preview .phantom-image {
    width: 225px;
    height: 150px;
    background-color: #f9fafc;
    background-image: url(../img/file.svg);
    background-position: center;
    background-size: auto;
    background-repeat: no-repeat;
    border-radius: 4px;
    margin: 0 0 16px 0;
}

.color-dark .messagesPlaceholder .phantomFileMessage .image-preview .phantom-image {
    background-color: #a5a5a5;
}

.messagesPlaceholder .phantomFileMessage .image-preview .phantom-image-jpg {
    background-image: url(../img/file_jpg.svg);
}

.messagesPlaceholder .phantomFileMessage .image-preview .phantom-image-png {
    background-image: url(../img/file_png.svg);
}

.not-loaded{
    background-color: #757575;
    opacity: 0.5;
}

.chat-download-preview-icon {
    background-image: url(../img/download18.png);
    background-repeat: no-repeat;
    background-color: #e2e2e2;
    position: absolute;
    display: none;
    top: 5px;
    right: 5px;
    width: 21px;
    height: 21px;
    background-position: 2px 2px;
}

.chat-download-preview-icon:hover {
    background-position: 2px -34px;
}

.preview-holder {
    position: relative;
}

.preview-holder:hover .chat-download-preview-icon {
    display: block;
}

.chat-attachment,
.chat-attachment div{
    cursor: pointer !important;
    display: inline-grid;
}

.chat-attachment-icon {
    position: absolute;
    width: 40px;
    height: 40px;
    display: inline-block;
    float: left;
    background-image: url(../img/file.svg);
    background-repeat: no-repeat;
    -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none; /* Safari */
    -khtml-user-select: none; /* Konqueror HTML */
    -moz-user-select: none; /* Firefox */
    -ms-user-select: none; /* Internet Explorer/Edge */
    user-select: none; /* Non-prefixed version, currently
                          supported by Chrome and Opera */
}

.chat-attachment-icon-pdf {
    background-image: url(../img/file_pdf.svg);
}

.chat-attachment-icon-doc {
    background-image: url(../img/file_doc.svg);
}

.chat-attachment-icon-docx {
    background-image: url(../img/file_docx.svg);
}

.chat-attachment-icon-zip {
    background-image: url(../img/file_zip.svg);
}

.chat-attachment-icon-png {
    background-image: url(../img/file_png.svg);
}

.chat-attachment-icon-jpg {
    background-image: url(../img/file_jpg.svg);
}

.color-dark .chat-attachment-icon-pdf {
    background-image: url(../img/file_pdf_white.svg);
}

.color-dark .chat-attachment-icon-doc {
    background-image: url(../img/file_doc_white.svg);
}

.color-dark .chat-attachment-icon-docx {
    background-image: url(../img/file_docx_white.svg);
}

.color-dark .chat-attachment-icon-zip {
    background-image: url(../img/file_zip_white.svg);
}

.color-dark .chat-attachment-icon-png {
    background-image: url(../img/file_png_white.svg);
}

.color-dark .chat-attachment-icon-jpg {
    background-image: url(../img/file_jpg_white.svg);
}

.chat-attachment-name {
    line-height: 20px;
    margin-left: 44px;
}

.messagesPlaceholder .chat-attachment .chat-attachment-size{
    font-size: 12px;
    line-height: 100%;
    margin-top: 5px;
}

.chat-attachment-size span{
    color: rgba(0, 0, 0, 0.4);
}

.color-dark .chat-attachment-size span{
    color: rgba(256, 256, 256, 0.4);
}

.messagesPlaceholder .message-text{
    margin: 0;
    word-break: break-word;
    max-width: 80%;
}

.messagesPlaceholder #message-end,
.messagesPlaceholder #message-helpdesk-inactive {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 0px;
}

.messagesPlaceholder #message-end .endMessageQuestion{
    font-size: 12px;
    line-height: 15px;
    margin: 5px 0;
    color: rgba(0, 0, 0, 0.4);
}
.messagesPlaceholder .message-text h1,
.messagesPlaceholder .message-text h2,
.messagesPlaceholder .message-text h3,
.messagesPlaceholder .message-text h4,
.messagesPlaceholder .message-text h5,
.messagesPlaceholder .message-text h6 {
    margin: 2px 0;
    line-height: 1.2;
    font-size: 14px;
}

.messagesPlaceholder .message-text h1 { font-size: 17px; }
.messagesPlaceholder .message-text h2 { font-size: 16px; }
.messagesPlaceholder .message-text h3 { font-size: 15px; }

.messagesPlaceholder #message-end .message-text,
.messagesPlaceholder #message-helpdesk-inactive .message-text{
    align-self: stretch;
    max-width: 100%;
    border-radius: 10px;
    font-size: 14px;
    text-align: center;
}

.messagesPlaceholder .message-text ul {
    margin: 2px 0;
    padding-left: 18px;
}

.messagesPlaceholder .message-text li {
    margin: 1px 0;
}

.messagesPlaceholder .message-text div {
    margin: 1px 0;
}

.messagesPlaceholder .message-text br {
    line-height: 8px;
}

.messagesPlaceholder .message-text code {
    background-color: rgba(0, 0, 0, 0.06);
    padding: 1px 4px;
    border-radius: 3px;
}

.messagesPlaceholder .chat-attachment,
.messagesPlaceholder .chat-attachment .chat-attachment-iconandname,
.messagesPlaceholder .chat-attachment .chat-attachment-iconandname div {
    margin: 0; 
    max-width: 275px;
}
.messagesPlaceholder .chat-attachment .chat-attachment-size,
.messagesPlaceholder .chat-attachment .chat-attachment-iconandname .chat-attachment-name{
    margin-left: 48px !important;
}

.tip.info {
    background-color: #d8e5ff;
    justify-content: space-between;
    gap: 10px;
}

#tip.info .uploadedFileTitle{
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.tip.tipEmailForm {
    height: 50px;
    padding: 0 30px;
}

.loading {
    flex: 0 0 auto;
    display: block;
    width: 16px;
    height: 16px;
    transform-origin: 50% 50%;
    transform-box: fill-box;
    animation: rot 2s linear infinite;
}

@keyframes rot{
    to { transform: rotate(360deg); }
}

.alert {
    width: 16px;
    height: 16px;
    margin-right: 3px;
}

.upload-tip.display-upload-tip {
    display: block;
}

.upload-tip {
    display: none;
    border: 2px solid #777575;
    width: calc(100% - 102px);
    box-sizing: border-box;
    position: absolute;
    text-align: center;
    line-height: 65px;
    height: 72px;
    margin-left: -14px;
    margin-top: -16px;
    background-color: white;
    color: #777575;
    opacity: 0.8;
    font-size: 18px;
}

.body.configuration .chat {
    display: none;
}

.configuration-progress {
    line-height: 25px;
    text-align: center;
    display: none;
    background-color: #0061cd;
    color: #d1ddff;
    border-radius: 6px 6px 0 0;
}

.body.configuration.connecting {
    display: block;
}

.body.configuration .configuration-progress {
    display: block;
}

.message-not-confirmed, .message-info-text {
    opacity: 0.7;
}

.phantomFileMessage {
    opacity: 0.5;
}

.footer-second-line {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: row;
}

#firmao-footer-logo {
    width: 46px;
    margin-left: 3px;
    margin-right: 3px;
}

#firmaoChatFooter .footer-second-line {
    text-align: center;
}

#firstMessage {
    line-height: 22px;
    white-space: pre-wrap;
}

.chat-emoticon {
    background-image: url("../img/emoticons.png");
    width: 20px;
    height: 20px;
    display: inline-flex;
    color: transparent;
    overflow: hidden;
    background-size: 300px 40px;
    margin-right: 2px;
    margin-left: 2px;
}

.emoticon-simple-smile {
    background-position: 0px 0px;
}

.emoticon-blush {
    background-position: -20px 0px;
}
.emoticon-wink {
    background-position: -40px 0px;
}

.emoticon-stuck-out-tongue-winking-eye {
    background-position: -60px 0px;
}

.emoticon-stuck-out-tongue {
    background-position: -80px 0px;
}

.emoticon-grinning {
    background-position: -100px 0px;
}

.emoticon-smiley {
    background-position: -120px 0px;
}

.emoticon-smile {
    background-position: -140px 0px;
}

.emoticon-angry {
    background-position: -160px 0px;
}

.emoticon-sweat-smile {
    background-position: -180px 0px;
}

.emoticon-kiss {
    background-position: -200px 0px;
}

.emoticon-heart {
    background-position: -220px 0px;
}

.emoticon-heart-eyes {
    background-position: -240px 0px;
}

.emoticon-kissing-heart {
    background-position: -260px 0px;
}

.emoticon-innocent {
    background-position: -280px 0px;
}

.emoticon-woried {
    background-position: 0px -20px;
}

.emoticon-sad {
    background-position: -20px -20px;
}

.emoticon-neutral-face {
    background-position: -40px -20px;
}

.emoticon-expression-less {
    background-position: -60px -20px;
}

.emoticon-persevere {
    background-position: -80px -20px;
}

.emoticon-unamused {
    background-position: -100px -20px;
}

.emoticon-cry {
    background-position: -120px -20px;
}

.emoticon-open-mouth {
    background-position: -140px -20px;
}

.emoticon-supprise {
    background-position: -160px -20px;
}

.emoticon-confused {
    background-position: -180px -20px;
}

.emoticon-sweat {
    background-position: -200px -20px;
}

.emoticon-resentful {
    background-position: -220px -20px;
}

.emoticon-feel-bad {
    background-position: -240px -20px;
}

.emoticon-sunglasses {
    background-position: -260px -20px;
}

.emoticon-ninja {
    background-position: -280px -20px;
}

.emoticon-white-check-mark {
    background-position: -180px 0;
}

.emoticon-okay {
    background-position: -200px 0;
}

.emoticon-shake-hand {
    background-position: -180px -20px;
}

.emoticon-dollar {
    background-position: -160px -20px;
}

.emoticon-success {
    background-position: -220px -20px;
}

.maximized:not(.system-chat) .mailFormWrapper.show {
    display: block;
}

.mailFormWrapper {
    position: absolute;
    display: none;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background-color: #FFFFFF;
    z-index: 3;
    text-align: center;
}

.mailFormWrapper .mailFormNotification {
    padding: 0 30px;
    text-align: left;
    font-size: 12px;
    background-color: #f9fafc;
    color: rgba(0, 0, 0, 0.6);
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: default;
}

.showTipEmailForm .mailFormNotification {
    display: none;
}

.mailFormWrapper .invalidTip {
    display: none;
    color: #FF4469;
    font-size: 12px;
    line-height: 16px;
    font-weight: 700;
    margin-left: 8px;
}

.mailFormWrapper.invalidEmail .mailAddressLabel .invalidTip {
    display: inline;
}

.mailFormWrapper.invalidEmail #mailAddress {
    border: 1px solid #FF4469;
}

.mailForm {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 0 16px;
}

.mailForm input, .mailForm textarea {
    border: 1px solid #EFEFEF;
    border-radius: 8px;
    background-color: #fbfbfe;
}

.mailForm input:not(#mailConsent) {
    line-height: 20px;
    font-size: 14px;
    height: 30px;
    padding: 0;
    padding-left: 10px;
    margin: 0;
    margin-top: 10px;
    font-family: inherit;
}

.mailForm textarea {
    line-height: 20px;
    font-size: 14px;
    height: 60px;
    resize: none;
    padding: 10px;
    margin: 0;
    margin-top: 10px;
    font-family: inherit;
}

.mailForm span {
    font-size: 12px;
    cursor: default;
}

.mailForm div {
    margin-top: 16px;
    color: #000000;
    cursor: default;
}

.mailForm div.inputLabel {
    text-align: left;
}

.mailForm .mailConsentWrapper {
    margin-top: 16px;
    text-align: left;
}

.mailForm .mailConsentWrapper label {
    display: flex;
    align-items: flex-start;
    gap: 6px;
}

.mailForm .mailConsentWrapper input[type="checkbox"] {
    flex-shrink: 0;
    margin-top: 3px;
}

.mailForm button:hover {
    opacity: 0.8;
}

.mailForm button {
    font-weight: 600;
    background-color: #1D4ED7;
    padding: 10px 15px;
    border: none;
    color: white;
    text-decoration: none;
    font-size: 14px;
    min-width: 100px !important;
    border-radius: 20px;
    cursor: pointer;
    transition: background-color 0.2s linear
}

.mailForm button:disabled {
    cursor: not-allowed;
    opacity: 0.4;
}

.mailForm button:disabled:hover {
    opacity: 0.4;
}

.poweredByFooter {
    margin-bottom: 1px;
    text-decoration: none;
    font-size: 12px;
    line-height: 100%;
    font-family: 'Source Sans 3', 'Open Sans', tahoma, arial, sans-serif;
}

.maximized .messageHeader, .maximized .messagesWrapper, .maximized .sendMessage{
    display: block;
}

.messageHeader,.messagesWrapper,.sendMessage{
    display: none;
}

.system-chat .topPanel {
    display: none;
}

.system-chat .chat {
    margin: 0;
    border-radius: 0;
    box-shadow: none;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    height: inherit;
    font-size: 13px;
}

.system-chat .messageHeader {
    display: none;
}

.system-chat #messenger {
    box-sizing: border-box;
    width: 100%;
    padding: 16px;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: #FFFFFF;
}

.system-chat.color-dark #msgText,
.system-chat.color-dark #messenger{
    background-color: #0c1015;
    color: #FFFFFF;
}
.system-chat.color-dark #messenger{
    border: 1px solid #000000;
}

.system-chat #emailMessage {
    width: 100%;
    padding-left: 0;
    position: fixed;
    bottom: 72px;
    left: 0;
    right: 0;
}
.system-chat #msgText {
    width: 100%;
    margin: 0;
    padding: 3px 7px;
}

.system-chat .messagesWrapper {
    max-height: none;
    height: auto;
    position: fixed;
    bottom: 75px;
    left: 0;
    right: 0;
    top: 0;
}
.system-chat.showTip .messagesWrapper {
    bottom: 98px;
}

.system-chat .middlePanel{
    height: 100%;
    width: 100%;
    position: relative;
}

body[lang='ru'] #firstMessageHeader {
    font-size: 12px;
}

body[lang='ru'] #msgText {
    font-size: 12px;
}

#chatUpperWindow {
    height: auto;
    width: 90%;
    top: 10px;
    right: 18px; !important;
    position: relative;
    float: right;
    display: none;
    background-color: white;
    border-radius: 20px;
    box-shadow: 0 4px 16px rgba(48, 68, 125, 0.4);
}

#chatUpperWindow.show {
    display: initial;
}

#upperWindowText {
    margin: 16px;
    min-height: 54px;
    padding: 10px 15px;
    background-color: #F2F6FF;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 400;
    white-space: pre-wrap;
    line-height: 20px;
}

#upperWindowStartChat {
    background-color: #1D4ED7;
    border-radius: 10px;
    color: white;
    height: 40px;
    margin: 16px;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    cursor: pointer;
}

#upperStartChatText {
    display: flex;
    flex-direction: column;
    justify-content: center;
    font-weight: bold;
    font-size: 15px;
}

#upperStartChatIcon {
    background-size: contain;
    background-image: url(/style/img/chat_icon.svg);
    background-repeat: no-repeat;
    width: 25px;
    height: 25px;
}

#chatIconWrapper{
    opacity: 0;
}
.iconMinimized #chatIconWrapper.show{
    display: initial;
    opacity: 1;
    transition: opacity 1s !important;
}
#chatIconWrapper #chatIconContentHolder.show {
    
}
#chatIconWrapper #chatIconContentHolder {
    bottom: 8px !important;
    position: fixed !important;
    right: 6px !important;
    /*transition: bottom 1s !important;*/
}
#chatIconWrapper #chatIconContentHolder {
    width: 60px !important;
    height: 60px !important;
    border-radius: 50% !important;
    border: 0px #FFFFFF solid !important;
    display: block !important;
    z-index: 16000001 !important;
    cursor: pointer !important;
    background-repeat: no-repeat !important;
    background-color: #1d4ed7 !important;
    background-image: url(/style/img/chat_icon.svg);
    background-position: center;
    background-size: auto;
    box-shadow: 0 2px 8px rgba(48, 68, 125, 0.4) !important;
    -webkit-transition: background-color 0.3s, color 0.3s!important;
    transition: background-color 0.3s, color 0.3s!important;
}

#chatIconWrapper #chatIconContentHolder.iconConsultantImage {
    background-size: cover;
    background-color: transparent !important;
}

#chatIconWrapper #chatIconContentHolder::before {
    content: \'\'!important;
    position: absolute!important;
    top: -30px!important;
    left: -30px!important;
    bottom: -30px!important;
    right: -30px!important;
    border-radius: 50%!important;
    -webkit-transform: scale3d(0.5, 0.5, 1);
    transform: scale3d(0.5, 0.5, 1);
}
#chatIconWrapper #chatIconContentHolder:hover {
    -webkit-transition: background-color 0.3s 0.3s, color 0.3s 0.3s!important;
    transition: background-color 0.3s 0.3s, color 0.3s 0.3s!important;
    color: #ECEFF1!important;
    -webkit-animation: anim-moema-1 0.3s forwards!important;
    animation: anim-moema-1 0.3s forwards!important;
}
#chatIconWrapper #chatIconContentHolder:hover::before {
    background-repeat: no-repeat!important;
    background-image: url(/style/img/chat_icon.svg)!important;
    background-size: 140px 140px !important;
    background-position: -7px -11px !important;
    background-color: inherit!important;
    opacity: 0.4;
    -webkit-animation: anim-moema-2 0.3s 0.3s forwards!important;
    animation: anim-moema-2 0.3s 0.3s forwards!important;
}

#chatIconWrapper .autoMessageText{
    background-color: #ffffff !important;
    padding: 10px !important;
    padding-left: 13px !important;
    padding-right: 10px !important;
    box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.10) !important;
    border: 1px solid rgba(0,0,0,0.1) !important;
    bottom: 75px !important;
    left: 50px !important;
    border-radius: 10px 10px 10px 0px !important;
    position: absolute !important;
    max-width: 230px !important;
    min-width: 230px !important;
    line-height: 18px;
    cursor: pointer;
}

#chatIconWrapper .consultantImage{
    height: 28px !important;
    width: 28px !important;
    position: absolute !important;
    left: 2px;
    bottom: 75px;
    border-radius: 20px;
    overflow: hidden;
}

#chatIconWrapper .consultantNameAutoMessage{
    font-weight: bold;
    margin-bottom: 3px;
}

#consultant-image-auto-message{
    height: 28px !important;
    width: 28px !important;
}

.first-message-response {
    word-break: break-word;
}

#firmaoChatFooter {
    display: flex;
    justify-content: center;
    align-items: center;
    border-top: 0 !important;
    height: 31px !important;
    background: #f9fafc !important;
    text-align: right !important;
    padding: 1px 0px 0px 6px !important;
    font-size: 11px !important;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    transition: none;
}

#firmaoChatFooter.ua {
    font-size: 10px !important;
}

.firmaoSatisfactionSurveyPopup {
    position: sticky;
    display: none;
    justify-content: center;
    align-items: center;
    top: 5px;
    z-index: 3;
    margin-bottom: -5px;
}

.firmaoSatisfactionSurveyPopup.show {
    display: flex;
}

.firmaoSatisfactionSurveyPopupInner {
    font-family: 'Source Sans 3', 'Open Sans', tahoma, arial, sans-serif;
    font-size: 12px;
    line-height: 15px;
    background-color: #FFECA5;
    padding: 2px 8px 2px 8px;
    z-index: 3;
    text-align: center;
    border-radius: 8px;
}

.withPointerCursor {
    cursor: pointer;
}

#firmaoChatPoweredBy,
.poweredByFooter {
color: black !important;
}

#firmaoChatPoweredBy {
    padding-top: 3px;
}

.poweredByFooter span{
    color: black !important;
    font-weight: 800;
}

body.blackFont .messagesPlaceholder .myMessage .message-text,
body.blackFont .messagesPlaceholder .myMessage .message-text a,
body.blackFont #startNewConversation .startNewConversationButton,
body.blackFont .mailForm button,
body.blackFont #upperWindowStartChat {
    color: black !important;
}

body.blackFont .send-button {
    background-image: url("../img/send_black.svg");
}

body.blackFont #chatIconWrapper #chatIconContentHolder {
    background-image: url(/style/img/chat_icon_black.svg);
}

.body.bigMinimized.maximized.emailSentToConsultant #messages{
    height: 0px !important;
}

.body.bigMinimized.maximized.emailSentToConsultant:not(.mobileChat) .chat.show{
    /*top 44px, messageHeader 64px, messenger 72px, footer 31px */
    height: calc(44px + 64px + 72px + 31px) !important;
}

.body.bigMinimized.maximized #messages, .body.showFooter.maximized #messages {
    /*top 44px, messageHeader 64px, messenger 72px, footer 31px, margin bottom 35px */
    height: calc(100vh - 44px - 64px - 72px - 31px - 35px) !important;
}

.body.bigMinimized.showTip.maximized #messages, .body.showTip.showFooter.maximized #messages {
    /*top 44px, messageHeader 64px, tip 23px, messenger 72px, footer 31px, margin bottom 35px */
    height: calc(100vh - 44px - 64px - 23px - 72px - 31px - 35px) !important;
}

.body.bigMinimized.maximized.mobileChat #messages, .body.showFooter.maximized.mobileChat #messages {
    /*top 44px, messageHeader 64px, messenger 72px, footer 31px */
    height: calc(100vh - 44px - 64px - 72px - 31px) !important;
}

.body.bigMinimized.showTip.maximized.mobileChat #messages, .body.showTip.showFooter.maximized.mobileChat #messages {
    /*top 44px, messageHeader 64px, tip 23px, messenger 72px, footer 31px */
    height: calc(100vh - 44px - 64px - 23px - 72px - 31px) !important;
}

.body.system-chat.maximized #messages, .body.system-chat.showTip.maximized #messages {
    height: auto !important;
}

/*style dla czatu po jego szerokosci chatPlugin.js:253*/
@media screen and (max-width: 319px) {
    .body .middlePanel {
        display: none !important;
    }
    .body.maximized .middlePanel {
        display: block !important;
    }
}

/* BI Chart styles */
.bi-chart-container {
    max-width: 420px;
    margin: 6px 0;
    position: relative;
    background-color: #ffffff;
}

.bi-chart-error {
    color: rgba(0, 0, 0, 0.4);
    font-size: 12px;
    text-align: center;
    padding: 20px 0;
}

.bi-chart-loading {
    max-width: 420px;
    height: 280px;
    margin: 8px 0 4px 0;
    background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
    background-size: 200% 100%;
    animation: bi-chart-shimmer 1.5s infinite;
    border-radius: 8px;
}

@keyframes bi-chart-shimmer {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

/* Markdown table styles */
.md-table {
    border-collapse: collapse;
    width: 100%;
    margin: 8px 0;
    font-size: 13px;
}

.md-table th,
.md-table td {
    padding: 8px 12px;
    text-align: left;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.md-table th {
    font-weight: 600;
    background: rgba(0, 0, 0, 0.04);
}

.md-table tr:last-child td {
    border-bottom: none;
}
/* ============================================================================ */
/* Firmao Helpdesk multi-conversation shell (Home / Messages / Help + 3-tab nav)   */
/* Tokens: blue #1E4ED7, bg #F9FAFC, borders #E7E7E7/#F3F3F3, font Source Sans  */
/* ============================================================================ */

/* The chat's body element is position:absolute without an explicit height — its size is
   driven by whichever child (chatMessageWrapper) happens to be visible. Once we hide that
   wrapper for the helpdesk panel, body collapses to 0 and height:100% would collapse the
   shell too. position:fixed + viewport units anchor the shell to the visible iframe area
   independently of body. */
#helpdeskShell {
    display: none;
    flex-direction: column;
    width: 100vw;
    height: 100vh;
    max-height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    background: #F9FAFC;
    font-family: 'Source Sans 3', 'Source Sans Pro', 'Open Sans', tahoma, arial, sans-serif;
    z-index: 5;
    color: #121212;
}

.body.helpdesk-shell-active.system-chat #helpdeskShell {
    display: flex;
}

.body.helpdesk-shell-active.system-chat:not(.helpdesk-in-conversation) #chatMessageWrapper {
    display: none !important;
}

.body.helpdesk-shell-active.helpdesk-in-conversation #helpdeskShell {
    display: none;
}

/* Hide the legacy bottom "startNewConversation" footer in helpdesk shell mode — */
/* the new shell has its own "Ask a question" button.                             */
.body.helpdesk-shell-active.system-chat #startNewConversation {
    display: none !important;
}

/* Hide the "Powered by Firmao" footer in helpdesk shell mode — not part of the design. */
.body.helpdesk-shell-active.system-chat #firmaoChatFooter {
    display: none !important;
}

/* --- Shared components ------------------------------------------------------ */

/* Light avatar with the brand "F": ellipse #F2F6FF, border #A5B8EF, blue letter. */
.helpdesk-conversation-avatar {
    flex: 0 0 auto;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #F2F6FF;
    border: 1px solid #A5B8EF;
    box-sizing: border-box;
    color: #1E4ED7;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 14px;
}

/* Read conversations get a lighter letter so unread rows stand out. */
.helpdesk-conversation-item.helpdesk-row-read .helpdesk-conversation-avatar {
    color: #7895E7;
}

/* Consultant thread: the avatar shows the consultant's photo, so drop the brand ring/background. */
.helpdesk-conversation-avatar.helpdesk-conversation-avatar-photo {
    background: none;
    border: none;
    overflow: hidden;
    padding: 0;
}
.helpdesk-conversation-avatar.helpdesk-conversation-avatar-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}

/* White card (radius 8, border #E7E7E7) used on Home and Help. */
.helpdesk-card {
    background: #FFFFFF;
    border: 1px solid #E7E7E7;
    border-radius: 8px;
    box-sizing: border-box;
    width: 100%;
}

/* Right-pointing chevron: 24px, stroke #A0A0A0. */
.helpdesk-chevron {
    flex: 0 0 auto;
    width: 24px;
    height: 24px;
    background-color: #A0A0A0;
    -webkit-mask: url('../img/helpdesk/chevron.svg') no-repeat center / contain;
    mask: url('../img/helpdesk/chevron.svg') no-repeat center / contain;
}

/* "Ask a question" pill button — sits in the content flow, centered: h40,
   radius 40, blue, icon + semibold 16. */
.helpdesk-ask-question-container {
    flex: 0 0 auto;
    display: flex;
    justify-content: center;
    padding: 0;
}

.helpdesk-ask-question-btn {
    background: #1E4ED7;
    color: #FFFFFF;
    border: 0;
    border-radius: 40px;
    height: 40px;
    padding: 12px 24px;
    font-family: inherit;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    box-sizing: border-box;
}

.helpdesk-ask-question-icon {
    display: inline-block;
    width: 16px;
    height: 16px;
    font-size: 0;
    line-height: 0;
    background-color: #FFFFFF;
    -webkit-mask: url('../img/helpdesk/ask-question.svg') no-repeat center / contain;
    mask: url('../img/helpdesk/ask-question.svg') no-repeat center / contain;
}

/* --- View toggling ---------------------------------------------------------- */

.helpdesk-view {
    flex: 1 1 auto;
    overflow: hidden;
    display: none;
    flex-direction: column;
    padding: 0;
    min-height: 0;
}

/* The panel's scroll areas sit outside .chat, so the shared `.chat:hover` rule never
   colours their thumb and it stays transparent (invisible against the light panel).
   Give every scrollable area in the shell a visible grey thumb, keeping the 6px width
   from the global ::-webkit-scrollbar rule. Note: setting the standard scrollbar-color
   /-width here would make Chrome 121+ swap the 6px WebKit bar for its thicker standard
   bar, so those are scoped to Firefox (no ::-webkit-scrollbar support) below. Light grey
   #DDDDDD at rest, darker when the thumb itself is hovered. */
#helpdeskShell ::-webkit-scrollbar-thumb {
    background: #DDDDDD;
    -webkit-border-radius: 1ex;
    border-radius: 1ex;
}

#helpdeskShell ::-webkit-scrollbar-thumb:hover {
    background: #C4C4C4;
}

@supports not selector(::-webkit-scrollbar) {
    #helpdeskShell {
        scrollbar-width: thin;
        scrollbar-color: #DDDDDD transparent;
    }
}

/* --- Bottom navigation: white bg, top hairline #F3F3F3; active item = blue     */
/* pill behind a white icon + blue semibold label; inactive = grey.             */

.helpdesk-bottom-nav {
    flex: 0 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: 1px solid #F3F3F3;
    background: #FFFFFF;
    padding: 12px 16px 4px 16px;
}

.helpdesk-nav-btn {
    flex: 1 1 33%;
    background: transparent;
    border: 0;
    padding: 0;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    font-family: inherit;
    position: relative;
}

.helpdesk-nav-icon-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 32px;
    padding: 4px 16px;
    border-radius: 40px;
    box-sizing: border-box;
}

.helpdesk-nav-btn-active .helpdesk-nav-icon-wrap {
    background: #1E4ED7;
    padding: 6px 20px;
    height: 36px;
}

.helpdesk-nav-icon {
    width: 24px;
    height: 24px;
    background-color: #717171;
}

.helpdesk-nav-btn-active .helpdesk-nav-icon {
    background-color: #FFFFFF;
}

.helpdesk-nav-icon-home {
    -webkit-mask: url('../img/helpdesk/nav-home.svg') no-repeat center / contain;
    mask: url('../img/helpdesk/nav-home.svg') no-repeat center / contain;
}

.helpdesk-nav-icon-messages {
    -webkit-mask: url('../img/helpdesk/nav-messages.svg') no-repeat center / contain;
    mask: url('../img/helpdesk/nav-messages.svg') no-repeat center / contain;
}

.helpdesk-nav-icon-help {
    -webkit-mask: url('../img/helpdesk/nav-help.svg') no-repeat center / contain;
    mask: url('../img/helpdesk/nav-help.svg') no-repeat center / contain;
}

.helpdesk-nav-label {
    font-size: 16px;
    font-weight: 400;
    color: #717171;
}

.helpdesk-nav-btn-active .helpdesk-nav-label {
    font-weight: 600;
    color: #1E4ED7;
}

/* The redesign drops the red unread badge — unread state shows on the list rows
   (white background + bold title) instead. Keep the element for the counting logic. */
.helpdesk-nav-unread-badge {
    display: none !important;
}

/* --- Home view -------------------------------------------------------------- */

/* Solid blue header: #1E4ED7, greeting 32px bold white, two lines. */
.helpdesk-home-hero {
    background: #1E4ED7;
    color: #FFFFFF;
    padding: 34px 16px 16px 16px;
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: 4px;
    box-sizing: border-box;
}

.helpdesk-home-greeting,
.helpdesk-home-subtitle {
    margin: 0;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.2;
    color: #FFFFFF;
}

.helpdesk-wave {
    display: inline-flex;
    align-items: center;
    line-height: 1;
}

.helpdesk-home-scroll {
    flex: 1 1 auto;
    overflow-y: auto;
    padding: 16px;
    background: #F9FAFC;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
}

/* Latest-message card: white card, 12px grey header, avatar row. */
.helpdesk-home-card-latest {
    display: none;
    padding: 16px 0;
}

.helpdesk-home-latest-header {
    font-size: 12px;
    color: #A0A0A0;
    padding: 0 16px;
    margin-bottom: 8px;
}

.helpdesk-home-latest-row {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 16px;
    cursor: pointer;
}

.helpdesk-home-latest-body {
    flex: 1 1 auto;
    min-width: 0;
}

/* Questions card: search on top (inside the card), FAQ rows below. */
.helpdesk-home-card-questions {
    padding: 16px 0 0 0;
}

.helpdesk-home-questions-header {
    font-size: 14px;
    font-weight: 700;
    padding: 0 16px;
}

.helpdesk-faq-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.helpdesk-faq-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 16px;
    border-bottom: 1px solid #F3F3F3;
    cursor: pointer;
    color: #121212;
    font-size: 14px;
}

.helpdesk-faq-item:last-child {
    border-bottom: 0;
}

.helpdesk-faq-label {
    flex: 1 1 auto;
}

/* --- Messages / Help shared header: white, 24px bold #121212 -------------- */

.helpdesk-view-header {
    flex: 0 0 auto;
    padding: 23px 16px;
    background: #FFFFFF;
    /* Hairline separating the title from the content below — wanted in Messages and Help
       (Home uses the hero banner instead). Same colour as the row separators. */
    border-bottom: 1px solid #E7E7E7;
}

.helpdesk-view-title {
    margin: 0;
    font-size: 24px;
    font-weight: 700;
    color: #121212;
}

/* --- Messages view ----------------------------------------------------------- */

.helpdesk-messages-scroll {
    flex: 1 1 auto;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    background: #F9FAFC;
    padding-bottom: 16px;
    min-height: 0;
}

#helpdeskMessagesView .helpdesk-ask-question-container {
    position: sticky;
    bottom: 0px;
    pointer-events: none;
}

#helpdeskMessagesView .helpdesk-ask-question-btn {
    pointer-events: auto;
}

.helpdesk-conversation-list {
    list-style: none;
    margin: 0 0 16px 0;
    padding: 0;
}

/* Full-bleed rows with top hairline separators. Unread rows are white with a black
   bold title; read rows blend with the page background and grey out. */
.helpdesk-conversation-item {
    display: block;
    padding: 16px 0;
    border-top: 1px solid #E7E7E7;
    cursor: pointer;
    background: transparent;
}

/* The view header already draws the hairline under the title; drop the first row's top
   border so the two don't stack into a thicker line. Later rows keep it as separators. */
.helpdesk-conversation-item:first-child {
    border-top: none;
}

.helpdesk-conversation-item.helpdesk-row-unread {
    background: #FFFFFF;
}

.helpdesk-conversation-row {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 16px;
}

.helpdesk-conversation-body {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
}

.helpdesk-conversation-title {
    font-weight: 700;
    font-size: 14px;
    color: #717171;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.helpdesk-row-unread .helpdesk-conversation-title {
    color: #000000;
}

.helpdesk-conversation-subrow {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.helpdesk-conversation-preview {
    font-size: 12px;
    color: #717171;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    flex: 1 1 auto;
    min-width: 0;
}

.helpdesk-conversation-time {
    flex: 0 0 auto;
    font-size: 12px;
    color: #717171;
}

.helpdesk-row-unread .helpdesk-conversation-time {
    color: #121212;
}

/* Right-hand meta column: unread badge stacked ABOVE the last-message time. */
.helpdesk-conversation-meta {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    gap: 4px;
    min-width: 44px;
}

.helpdesk-conversation-unread-badge {
    background: #ef4444;
    color: #FFFFFF;
    font-size: 11px;
    font-weight: 700;
    border-radius: 999px;
    padding: 2px 7px;
    min-width: 18px;
    text-align: center;
    box-sizing: border-box;
}

.helpdesk-empty-state {
    flex: 1 1 auto;
    display: none;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
    color: #717171;
    text-align: center;
}

.helpdesk-empty-icon {
    width: 160px;
    height: auto;
    margin-bottom: 16px;
}

.helpdesk-empty-text {
    font-size: 14px;
}

.helpdesk-list-loading {
    display: none;
    text-align: center;
    padding: 12px;
    color: #A0A0A0;
    font-size: 12px;
}

/* --- Help view --------------------------------------------------------------- */

.helpdesk-help-content {
    flex: 1 1 auto;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 16px;
    background: #F9FAFC;
    min-height: 0;
}

.helpdesk-collections-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.helpdesk-collection-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 16px;
    border-bottom: 1px solid #F3F3F3;
    cursor: pointer;
}

.helpdesk-collection-item:last-child {
    border-bottom: 0;
}

.helpdesk-collection-body {
    flex: 1 1 auto;
    min-width: 0;
}

.helpdesk-collection-title {
    font-weight: 700;
    font-size: 14px;
    color: #414141;
}

.helpdesk-collection-desc {
    font-size: 14px;
    color: #717171;
}

/* "See all instructions" banner: blue block, list icon in a translucent tile,
   two-line label, white chevron. Mirrors the Home hero's blue accent. */
.helpdesk-all-instructions {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px;
    width: 100%;
    border-radius: 8px;
    box-sizing: border-box;
    background: #1E4ED7;
    text-decoration: none;
    cursor: pointer;
}

.helpdesk-all-instructions-icon {
    position: relative;
    flex: 0 0 auto;
    width: 40px;
    height: 40px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.2);
}

.helpdesk-all-instructions-icon::after {
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    width: 20px;
    height: 20px;
    transform: translate(-50%, -50%);
    background-color: #FFFFFF;
    -webkit-mask: url('../img/helpdesk/all-instructions.svg') no-repeat center / contain;
    mask: url('../img/helpdesk/all-instructions.svg') no-repeat center / contain;
}

.helpdesk-all-instructions-body {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.helpdesk-all-instructions-title {
    font-size: 16px;
    font-weight: 700;
    color: #FFFFFF;
}

.helpdesk-all-instructions-desc {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.85);
}

/* White chevron on the blue banner (overrides the default grey mask colour). */
.helpdesk-all-instructions .helpdesk-chevron {
    background-color: #FFFFFF;
}

/* "Popular instructions" section header above the collection list. */
.helpdesk-collections-header {
    font-size: 14px;
    font-weight: 600;
    color: #717171;
}

/* ============================================================================ */
/* Dark mode — shell (Home / Messages / Help / bottom nav).                     */
/* Mirrors the conversation view's .color-dark palette: base #101519, lower     */
/* bars #0c1015, raised cards #272D32, text #FFFFFF / muted #b7b7b7. Blue        */
/* accents (hero, "Ask a question", active nav pill, brand avatar) are kept.     */
/* ============================================================================ */

/* Surfaces: scrollable view bodies are the base tone; the header bar and the   */
/* bottom nav sit a shade lower like the conversation input bar.                */
.color-dark .helpdesk-home-scroll,
.color-dark .helpdesk-messages-scroll,
.color-dark .helpdesk-help-content {
    background: #101519;
}
.color-dark #helpdeskShell ::-webkit-scrollbar-thumb {
    background: #465368;
}
.color-dark #helpdeskShell ::-webkit-scrollbar-thumb:hover {
    background: #5A6B82;
}
@supports not selector(::-webkit-scrollbar) {
    .color-dark #helpdeskShell {
        scrollbar-color: #465368 transparent;
    }
}
.color-dark .helpdesk-view-header,
.color-dark .helpdesk-bottom-nav {
    background: #0c1015;
}
.color-dark .helpdesk-view-header {
    border-bottom-color: #272D32;
}
.color-dark .helpdesk-bottom-nav {
    border-top-color: #272D32;
}

/* Raised surfaces: Home cards and unread rows. */
.color-dark .helpdesk-card {
    background: #272D32;
    border-color: #272D32;
}
.color-dark .helpdesk-conversation-item.helpdesk-row-unread {
    background: #272D32;
}

/* Hairline separators between rows. */
.color-dark .helpdesk-conversation-item,
.color-dark .helpdesk-faq-item,
.color-dark .helpdesk-collection-item {
    border-color: #272D32;
}

/* Primary text -> white. */
.color-dark .helpdesk-view-title,
.color-dark .helpdesk-home-questions-header,
.color-dark .helpdesk-faq-item,
.color-dark .helpdesk-collection-title,
.color-dark .helpdesk-row-unread .helpdesk-conversation-title,
.color-dark .helpdesk-row-unread .helpdesk-conversation-time {
    color: #FFFFFF;
}

/* Secondary text -> muted light. */
.color-dark .helpdesk-conversation-title,
.color-dark .helpdesk-conversation-preview,
.color-dark .helpdesk-conversation-time,
.color-dark .helpdesk-collection-desc,
.color-dark .helpdesk-collections-header,
.color-dark .helpdesk-empty-state,
.color-dark .helpdesk-nav-label {
    color: #b7b7b7;
}

/* Inactive bottom-nav icon (active stays white on the blue pill). */
.color-dark .helpdesk-nav-icon {
    background-color: #b7b7b7;
}

/* ============================================================================ */
/* Conversation view (legacy chatMessageWrapper restyled for the helpdesk UI)   */
/* ============================================================================ */

/* The iframe fills the whole window in the shell, but legacy ".chat" keeps
   width:344px, which over-constrains the absolute box (left:0/right:0 from
   .system-chat are ignored) and leaves the conversation content — the header
   separator, the messages — short of the right edge. Stretch it to the iframe. */
.body.system-chat.helpdesk-shell-active .chat {
    width: auto;
}

/* Header: back chevron + light avatar + two-line title, white bg, hairline below.
   Legacy ".system-chat .messageHeader { display: none }" hid this header — re-show
   it with the redesigned look. */
.body.system-chat.helpdesk-shell-active.helpdesk-in-conversation .messageHeader {
    display: flex !important;
    align-items: center;
    background: #FFFFFF !important;
    padding: 12px 16px !important;
    height: auto !important;
    border-bottom: 1px solid #E7E7E7;
    gap: 8px;
    box-sizing: border-box;
}

.helpdesk-back-arrow {
    display: none;
    width: 24px;
    height: 24px;
    font-size: 0;
    line-height: 0;
    background-color: #121212;
    -webkit-mask: url('../img/helpdesk/back-arrow.svg') no-repeat center / contain;
    mask: url('../img/helpdesk/back-arrow.svg') no-repeat center / contain;
    cursor: pointer;
    text-decoration: none;
    flex-shrink: 0;
    padding: 0;
    margin: 0;
}

.body.helpdesk-shell-active.helpdesk-in-conversation .helpdesk-back-arrow {
    display: inline-block;
}

/* Avatar in the conversation header: light circle with blue "F" (image hidden,
   ::before paints the letter). */
.body.system-chat.helpdesk-shell-active.helpdesk-in-conversation .consultantImage {
    width: 40px !important;
    height: 40px !important;
    background-color: #F2F6FF !important;
    border: 1px solid #A5B8EF !important;
    border-radius: 50% !important;
    float: none !important;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    overflow: hidden;
    box-sizing: border-box;
}
.body.system-chat.helpdesk-shell-active.helpdesk-in-conversation .consultantImage img {
    display: none !important;
}
.body.system-chat.helpdesk-shell-active.helpdesk-in-conversation .consultantImage::before {
    content: 'F';
    color: #1E4ED7;
    font-weight: 700;
    font-size: 14px;
    font-family: 'Source Sans 3', 'Source Sans Pro', 'Open Sans', tahoma, arial, sans-serif;
    line-height: 1;
}
/* Consultant conversation (not AI): drop the brand "F" + its light-blue ring/background and
   show the consultant's photo edge-to-edge. */
.body.system-chat.helpdesk-shell-active.helpdesk-in-conversation.helpdesk-consultant-conversation .consultantImage {
    background: none !important;
    border: none !important;
}
.body.system-chat.helpdesk-shell-active.helpdesk-in-conversation.helpdesk-consultant-conversation .consultantImage::before {
    content: none !important;
}
.body.system-chat.helpdesk-shell-active.helpdesk-in-conversation.helpdesk-consultant-conversation .consultantImage img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

/* Title block: bold "Firmao AI" (14px) + grey "Firmao AI Help" (12px). */
.body.system-chat.helpdesk-shell-active.helpdesk-in-conversation .consultantData {
    margin-left: 0 !important;
    width: auto !important;
    float: none !important;
    display: flex;
    flex-direction: column;
    line-height: 1.3;
    flex: 1 1 auto;
    min-width: 0;
}
.body.system-chat.helpdesk-shell-active.helpdesk-in-conversation .consultantDataTop {
    height: auto !important;
    line-height: 1.3 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #000000 !important;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.body.system-chat.helpdesk-shell-active.helpdesk-in-conversation #firstMessageHeader {
    display: block !important;
    font-size: 12px !important;
    color: #717171 !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;
    margin-top: 0 !important;
}

/* Dark mode: the conversation header bar was still white. Match it to the shell —
   dark bar, light name/subtitle and back arrow. The blue "F" avatar stays. */
.color-dark.body.system-chat.helpdesk-shell-active.helpdesk-in-conversation .messageHeader {
    background: #0c1015 !important;
    border-bottom-color: #272D32;
}
.color-dark.body.system-chat.helpdesk-shell-active.helpdesk-in-conversation .consultantDataTop {
    color: #FFFFFF !important;
}
.color-dark.body.system-chat.helpdesk-shell-active.helpdesk-in-conversation #firstMessageHeader {
    color: #b7b7b7 !important;
}
.color-dark.body.helpdesk-shell-active.helpdesk-in-conversation .helpdesk-back-arrow {
    background-color: #FFFFFF;
}

/* Rating thumbs intentionally hidden (decision from the task scoping). */
.body.helpdesk-shell-active.helpdesk-in-conversation .consultantSurvey {
    display: none !important;
}

/* Legacy ".system-chat .messagesWrapper { position: fixed; inset: 0 0 75px }" pins the
   message list to the very top - push it below the redesigned header (12+40+12+1 = 65px).
   Messages, signatures and the input bar below keep the legacy look. */
.body.system-chat.helpdesk-shell-active.helpdesk-in-conversation .messagesWrapper {
    top: 65px !important;
}
