.visitor-chat { position: fixed; z-index: 90; right: 22px; bottom: 22px; color: #273247; font-family: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "Avenir Next", sans-serif; font-size: 13px; line-height: 1.4; }
.visitor-chat *, .visitor-chat *::before, .visitor-chat *::after { box-sizing: border-box; }
.visitor-chat button, .visitor-chat input { font: inherit; }
.visitor-chat__toggle { position: relative; display: grid; width: 55px; height: 55px; margin-left: auto; padding: 0; place-items: center; border: 0; border-radius: 50%; color: #fff; background: #202c43; box-shadow: 0 10px 26px rgba(32,44,67,.2); cursor: pointer; transition: transform .16s ease, box-shadow .16s ease; }
.visitor-chat__toggle[hidden] { display: none; }
.visitor-chat__toggle:hover { transform: translateY(-2px); box-shadow: 0 13px 28px rgba(32,44,67,.24); }
.visitor-chat__toggle::after { content: ''; position: absolute; right: 0; bottom: 0; width: 14px; height: 14px; border: 2px solid #fff; border-radius: 50%; background: #22c55e; animation: raya-online-pulse 2s ease-out infinite; }
@keyframes raya-online-pulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(34,197,94,.45); } 60% { box-shadow: 0 0 0 7px rgba(34,197,94,0); } }
.visitor-chat__panel { display: flex; flex-direction: column; width: min(370px, calc(100vw - 36px)); max-height: min(590px, calc(100dvh - 95px)); margin: 10px 0 12px; overflow: hidden; border: 0; border-radius: 16px; background: #fff; box-shadow: 0 18px 52px rgba(25,38,61,.2); }
.visitor-chat__panel[hidden] { display: none; }
.visitor-chat__header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 18px; color: #fff; background: #202c43; }
.visitor-chat__header span { color: #bfc8f8; font-size: 10px; font-weight: 650; letter-spacing: .11em; }
.visitor-chat__header h2 { margin: 2px 0 0; color: #fff; font-size: 16px; font-weight: 620; line-height: 1.2; }
.visitor-chat__header button { display: grid; width: 30px; height: 30px; padding: 0; place-items: center; border: 0; border-radius: 7px; color: #e3e9f5; background: rgba(255,255,255,.1); cursor: pointer; }
.visitor-chat__header button:hover { background: rgba(255,255,255,.2); }
.visitor-chat__messages { display: flex; flex: 1 1 auto; flex-direction: column; gap: 11px; min-height: 150px; overflow-y: auto; padding: 17px; background: #fafbfc; }
.visitor-chat__message { max-width: 91%; padding: 10px 12px; border: 1px solid #e1e6ed; border-radius: 11px 11px 11px 3px; color: #34465f; background: #fff; font-size: 12.5px; line-height: 1.45; overflow-wrap: anywhere; white-space: pre-wrap; }
.visitor-chat__message.is-user { align-self: flex-end; border-color: #dddff1; border-radius: 11px 11px 3px 11px; color: #303b5e; background: #f0effb; }
.visitor-chat__message.is-bot { align-self: flex-start; }
.visitor-chat__message.is-error { color: #a13f4f; border-color: #efcbd1; background: #fff7f8; }
.visitor-chat__links { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 10px; }
.visitor-chat__links a { display: inline-flex; align-items: center; gap: 4px; padding: 5px 7px; border: 1px solid #d9deed; border-radius: 7px; color: #4b48ae; background: #f8f8ff; font-size: 11.5px; font-weight: 600; text-decoration: none; }
.visitor-chat__links a:hover { background: #eeedfa; }
.visitor-chat__suggestions { display: flex; gap: 6px; overflow-x: auto; padding: 0 16px 11px; background: #fafbfc; }
.visitor-chat__suggestions[hidden] { display: none; }
.visitor-chat__suggestions button { flex: 0 0 auto; padding: 6px 8px; border: 1px solid #dfe4ec; border-radius: 7px; color: #53647d; background: #fff; font-size: 11px; cursor: pointer; }
.visitor-chat__suggestions button:hover { color: #4b48ae; border-color: #c8c7e8; }
.visitor-chat__human { padding: 0 13px 9px; background: #fafbfc; }
.visitor-chat__human a { display: flex; align-items: center; gap: 8px; padding: 9px 10px; border: 1px solid #d8d6f0; border-radius: 8px; color: #4b48ae; background: #f4f3fd; font-size: 11.5px; font-weight: 650; text-decoration: none; }
.visitor-chat__human a span { flex: 1; }
.visitor-chat__human a:hover { border-color: #aaa7df; background: #eeecfb; }
.visitor-chat__form { display: flex; align-items: center; gap: 8px; padding: 12px 13px 7px; border-top: 1px solid #e6eaf0; background: #fff; }
.visitor-chat__form input[type="text"] { flex: 1 1 auto; min-width: 0; min-height: 39px; padding: 8px 10px; border: 1px solid #dce3ec; border-radius: 8px; outline: none; color: #273247; background: #fff; font-size: 12.5px; }
.visitor-chat__form input[type="text"]:focus { border-color: #7774c7; box-shadow: 0 0 0 3px rgba(102,98,186,.1); }
.visitor-chat__form button { display: grid; width: 39px; height: 39px; flex: 0 0 39px; padding: 0; place-items: center; border: 0; border-radius: 8px; color: #fff; background: #5e5bc8; font-size: 17px; cursor: pointer; }
.visitor-chat__form button:hover { background: #4b48ae; }
.visitor-chat__form button:disabled { opacity: .55; cursor: wait; }
.visitor-chat__notice { margin: 0; padding: 0 14px 12px; color: #7e899a; background: #fff; font-size: 10.5px; line-height: 1.3; }
.visitor-chat :focus-visible { outline: 2px solid #5e5bc8; outline-offset: 2px; }
@media (max-width: 991.98px) { .visitor-chat { bottom: calc(82px + env(safe-area-inset-bottom)); } }
@media (max-width: 540px) { .visitor-chat { right: 14px; bottom: calc(78px + env(safe-area-inset-bottom)); } .visitor-chat__toggle { width: 50px; height: 50px; border-radius: 50%; } .visitor-chat__panel { width: calc(100vw - 28px); max-height: calc(100dvh - 155px - env(safe-area-inset-bottom)); } }
@media (prefers-reduced-motion: reduce) { .visitor-chat__toggle { transition: none; } }
.visitor-chat__avatar { display: block; width: 50px; height: 50px; flex: 0 0 auto; border-radius: 50%; object-fit: cover; }
.visitor-chat__toggle .visitor-chat__avatar { width: 50px; height: 50px; }
.visitor-chat__identity { display: flex; align-items: center; gap: 10px; min-width: 0; }
.visitor-chat__identity > div { min-width: 0; }
.visitor-chat__identity h2 { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.visitor-chat__identity .visitor-chat__avatar { width: 34px; height: 34px; }
.visitor-chat__restore .visitor-chat__avatar { width: 21px; height: 21px; }
@media (prefers-reduced-motion: reduce) { .visitor-chat__toggle::after { animation: none; } }
.visitor-chat__header-actions { display: flex; gap: 5px; }
.visitor-chat__header-actions button { flex: 0 0 29px; }
.visitor-chat.is-hidden { display: none; }
[data-chat-show] { cursor: pointer; }
.visitor-chat__message.is-typing::after { content: ''; display: inline-block; width: 5px; height: 1em; margin-left: 2px; background: currentColor; vertical-align: -.15em; animation: chat-caret 700ms step-end infinite; }
@keyframes chat-caret { 50% { opacity: 0; } }
.recruitment-fraud-notice { position: fixed; z-index: 120; inset: 0; display: grid; place-items: center; padding: 20px; background: rgba(18,30,50,.62); backdrop-filter: blur(3px); }
.recruitment-fraud-notice[hidden] { display: none; }
.recruitment-fraud-notice__dialog { position: relative; width: min(440px,100%); padding: 27px; border: 1px solid #e3e9f0; border-radius: 16px; color: #3b4d64; background: #fff; box-shadow: 0 26px 70px rgba(16,28,48,.24); font: 14px/1.55 ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.recruitment-fraud-notice__close { position: absolute; top: 13px; right: 13px; display: grid; width: 30px; height: 30px; place-items: center; border: 0; border-radius: 7px; color: #68788c; background: #f4f6f9; cursor: pointer; }
.recruitment-fraud-notice__icon { display: grid; width: 46px; height: 46px; margin-bottom: 17px; place-items: center; border-radius: 12px; color: #935e24; background: #fcf1e1; font-size: 23px; }
.recruitment-fraud-notice__eyebrow { color: #697b92; font-size: 10px; font-weight: 700; letter-spacing: .12em; }
.recruitment-fraud-notice h2 { margin: 5px 0 11px; color: #24354c; font-size: 21px; font-weight: 650; line-height: 1.2; }
.recruitment-fraud-notice p { margin: 0; }
.recruitment-fraud-notice__actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 23px; }
.recruitment-fraud-notice__actions a { color: #4f59a3; font-size: 12px; font-weight: 600; text-decoration: none; }
.recruitment-fraud-notice__actions button { min-height: 37px; padding: 7px 13px; border: 0; border-radius: 8px; color: #fff; background: #202c43; font: inherit; font-size: 12px; font-weight: 600; cursor: pointer; }
.recruitment-fraud-notice :focus-visible { outline: 2px solid #5e5bc8; outline-offset: 2px; }
@media (max-width: 540px) { .recruitment-fraud-notice { padding: 16px; } .recruitment-fraud-notice__dialog { padding: 24px 21px; } }
@media (prefers-reduced-motion: reduce) { .visitor-chat__message.is-typing::after { animation: none; } }
.visitor-chat__restore { position: fixed; z-index: 89; right: 22px; bottom: 22px; display: inline-flex; align-items: center; gap: 7px; padding: 8px 11px; border: 1px solid #d7e0e9; border-radius: 8px; color: #334965; background: #fff; box-shadow: 0 5px 15px rgba(25,38,61,.1); font: 12px/1.2 ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; text-decoration: none; }
.visitor-chat__restore[hidden], [data-chat-show][hidden] { display: none !important; }
.visitor-chat__restore:hover { color: #24394f; background: #f7f9fc; }
@media (max-width: 991.98px) { .visitor-chat__restore { bottom: calc(82px + env(safe-area-inset-bottom)); } }
@media (max-width: 540px) { .visitor-chat__restore { right: 14px; bottom: calc(78px + env(safe-area-inset-bottom)); } }
