/* Levana chatbot */
.lvc-root { --lvc-dark: #102422; --lvc-cream: #F8FBEF; --lvc-bg: #FBFCF7; --lvc-bubble: #EEF3E4; --lvc-line: #DDE4D3; --lvc-muted: #4E5D5A; --lvc-accent: #B83E17; --lvc-dot: #F0592A;
	position: fixed; z-index: 99990; inset-inline-end: 24px; bottom: 24px; font-family: inherit; color: var(--lvc-dark); line-height: 1.45; }
.lvc-root *, .lvc-root *::before, .lvc-root *::after { box-sizing: border-box; }
.lvc-root[dir="rtl"] { font-family: 'IBM Plex Sans Arabic', 'Noto Kufi Arabic', inherit; }

.lvc-launch { position: relative; width: 62px; height: 62px; border-radius: 50%; border: 0; background: var(--lvc-dark); color: var(--lvc-cream); display: flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: 0 10px 24px rgba(16,36,34,.3); transition: transform .2s ease; }
.lvc-launch:hover { transform: scale(1.05); }
.lvc-launch:focus-visible, .lvc-root button:focus-visible, .lvc-root a:focus-visible, .lvc-input:focus-visible { outline: 3px solid var(--lvc-dot); outline-offset: 2px; }
.lvc-badge { position: absolute; top: 3px; inset-inline-end: 3px; width: 14px; height: 14px; border-radius: 50%; background: var(--lvc-dot); border: 2px solid #fff; }
.lvc-root.is-open .lvc-launch { display: none; }

.lvc-teaser { position: absolute; bottom: 78px; inset-inline-end: 0; width: 270px; background: #fff; border-radius: 16px 16px 4px 16px; box-shadow: 0 12px 32px rgba(16,36,34,.18); padding: 14px 40px 14px 16px; cursor: pointer; animation: lvc-in .3s ease; }
.lvc-root[dir="rtl"] .lvc-teaser { border-radius: 16px 16px 16px 4px; padding: 14px 16px 14px 40px; }
.lvc-teaser strong { display: block; font-size: 15px; margin-bottom: 4px; }
.lvc-teaser span { font-size: 14px; color: var(--lvc-muted); }
.lvc-teaser-x { position: absolute; top: 4px; inset-inline-end: 4px; width: 32px; height: 32px; border: 0; background: none; color: var(--lvc-muted); cursor: pointer; font-size: 18px; line-height: 1; }

.lvc-panel { position: absolute; bottom: 0; inset-inline-end: 0; width: 400px; height: min(680px, calc(100vh - 48px)); background: #fff; border-radius: 20px; box-shadow: 0 24px 60px rgba(16,36,34,.28); display: none; flex-direction: column; overflow: hidden; animation: lvc-in .25s ease; }
.lvc-root.is-open .lvc-panel { display: flex; }
@keyframes lvc-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }

.lvc-head { background: var(--lvc-dark); color: var(--lvc-cream); padding: 14px 14px; display: flex; align-items: center; gap: 10px; }
.lvc-avatar { width: 40px; height: 40px; border-radius: 50%; background: var(--lvc-cream); color: var(--lvc-dark); display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 19px; position: relative; flex-shrink: 0; }
.lvc-avatar::after { content: ""; position: absolute; right: 9px; bottom: 9px; width: 6px; height: 6px; border-radius: 50%; background: var(--lvc-dot); }
.lvc-titles { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.lvc-titles strong { font-size: 16px; }
.lvc-titles span { font-size: 12px; color: #C9D3C4; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lvc-hbtn { height: 40px; min-width: 40px; border: 0; border-radius: 10px; background: rgba(248,251,239,.12); color: var(--lvc-cream); display: flex; align-items: center; justify-content: center; gap: 6px; cursor: pointer; padding: 0 10px; font: inherit; font-size: 12px; }
.lvc-hbtn:hover { background: rgba(248,251,239,.22); }

.lvc-profile { padding: 8px 14px; background: var(--lvc-cream); border-bottom: 1px solid #E3E9DA; display: flex; align-items: center; gap: 6px; font-size: 12px; flex-wrap: wrap; }
.lvc-profile b { font-weight: 600; margin-inline-end: 4px; }
.lvc-pill { padding: 3px 9px; border-radius: 999px; border: 1px dashed #8A968F; color: var(--lvc-muted); display: inline-flex; align-items: center; gap: 4px; transition: background .3s, color .3s; }
.lvc-pill.is-done { background: var(--lvc-dark); border: 1px solid var(--lvc-dark); color: var(--lvc-cream); }
.lvc-pill.is-done::before { content: ""; width: 9px; height: 5px; border-left: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(-45deg) translateY(-1px); }

.lvc-msgs { flex: 1; overflow-y: auto; padding: 16px 14px; background: var(--lvc-bg); display: flex; flex-direction: column; gap: 10px; font-size: 15px; overscroll-behavior: contain; }
.lvc-msg { max-width: 86%; padding: 10px 14px; border-radius: 4px 16px 16px 16px; background: var(--lvc-bubble); align-self: flex-start; white-space: pre-line; word-wrap: break-word; }
.lvc-root[dir="rtl"] .lvc-msg { border-radius: 16px 4px 16px 16px; }
.lvc-msg.is-user { align-self: flex-end; background: var(--lvc-dark); color: var(--lvc-cream); border-radius: 16px 4px 16px 16px; }
.lvc-root[dir="rtl"] .lvc-msg.is-user { border-radius: 4px 16px 16px 16px; }
.lvc-msg.is-agent { background: #FFF1EA; border: 1px solid #F6CDBA; }
.lvc-msg a { color: var(--lvc-accent); text-decoration: underline; }
.lvc-msg.is-user a { color: var(--lvc-cream); }
.lvc-who { display: block; font-size: 11px; font-weight: 700; color: var(--lvc-accent); margin-bottom: 3px; }
.lvc-msg ul { margin: 4px 0; padding-inline-start: 18px; white-space: normal; }

.lvc-cards { display: flex; flex-direction: column; gap: 8px; align-self: stretch; max-width: 92%; }
.lvc-card { display: flex; gap: 10px; background: #fff; border: 1px solid var(--lvc-line); border-radius: 12px; padding: 8px; text-decoration: none; color: var(--lvc-dark); transition: border-color .15s, transform .15s; }
.lvc-card:hover { border-color: var(--lvc-dot); transform: translateY(-1px); }
.lvc-card img, .lvc-card .lvc-noimg { width: 64px; height: 64px; border-radius: 8px; object-fit: cover; flex-shrink: 0; background: #22403B; }
.lvc-card span { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.lvc-card strong { font-size: 14px; }
.lvc-card small { font-size: 12px; color: var(--lvc-muted); }
.lvc-card em { font-style: normal; font-size: 13px; font-weight: 700; color: var(--lvc-accent); }

.lvc-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.lvc-chip { min-height: 40px; padding: 6px 14px; border-radius: 999px; border: 1.5px solid var(--lvc-dark); background: #fff; color: var(--lvc-dark); font: inherit; font-size: 14px; cursor: pointer; text-align: start; }
.lvc-chip:hover { background: var(--lvc-dark); color: var(--lvc-cream); }

.lvc-typing { align-self: flex-start; background: var(--lvc-bubble); border-radius: 16px; padding: 12px 16px; display: flex; gap: 4px; }
.lvc-typing i { width: 7px; height: 7px; border-radius: 50%; background: #8A968F; animation: lvc-dot 1.2s infinite ease-in-out; }
.lvc-typing i:nth-child(2) { animation-delay: .15s; } .lvc-typing i:nth-child(3) { animation-delay: .3s; }
@keyframes lvc-dot { 0%, 60%, 100% { transform: none; opacity: .5; } 30% { transform: translateY(-4px); opacity: 1; } }

.lvc-form { padding: 10px 12px; border-top: 1px solid #E3E9DA; background: #fff; display: flex; gap: 8px; align-items: flex-end; }
.lvc-input { flex: 1; min-width: 0; min-height: 46px; max-height: 120px; resize: none; border: 1.5px solid #D5DCCB; border-radius: 12px; padding: 11px 14px; font: inherit; font-size: 16px; color: var(--lvc-dark); background: var(--lvc-bg); }
.lvc-send { width: 46px; height: 46px; flex-shrink: 0; border: 0; border-radius: 12px; background: var(--lvc-accent); color: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; }
.lvc-send:disabled { opacity: .5; cursor: default; }
.lvc-root[dir="rtl"] .lvc-send svg { transform: scaleX(-1); }
.lvc-foot { padding: 0 12px 8px; background: #fff; font-size: 11px; color: var(--lvc-muted); text-align: center; }
.lvc-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

@media (max-width: 600px) {
	.lvc-root { inset-inline-end: 16px; bottom: 16px; }
	.lvc-root.is-open { inset: 0; }
	.lvc-panel { position: fixed; inset: 0; width: 100%; height: 100%; height: 100dvh; border-radius: 0; padding-bottom: env(safe-area-inset-bottom, 0px); }
	.lvc-head { padding-top: calc(14px + env(safe-area-inset-top, 0px)); }
	.lvc-hbtn span { display: none; }
	.lvc-teaser { width: 230px; }
}
@media (prefers-reduced-motion: reduce) { .lvc-root * { animation: none !important; transition: none !important; } }
body.lvc-lock { overflow: hidden; }
