:root { --lc-primary: #16a34a; --lc-primary-dark: #15803d; --lc-text: #172033; --lc-muted: #64748b; --lc-border: #e5e7eb; --lc-bg: #ffffff; }
.lc-entry { position: fixed; right: 22px; bottom: 22px; z-index: 2147483000; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.lc-button { position: relative; width: 58px; height: 58px; border: 0; border-radius: 50%; background: var(--lc-primary); color: #fff; box-shadow: 0 12px 32px rgba(22, 163, 74, .35); display: grid; place-items: center; cursor: pointer; transition: transform .18s ease, background .18s ease; }
.lc-button:hover { transform: translateY(-2px); background: var(--lc-primary-dark); }
.lc-button svg { width: 28px; height: 28px; }
.lc-badge { position: absolute; right: -2px; top: -2px; display: none; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px; background: #dc2626; color: #fff; font: 800 11px/20px -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; text-align: center; box-shadow: 0 0 0 3px #fff; }
.lc-button.has-unread .lc-badge { display: inline-block; }
.lc-button.has-unread { background: #dc2626; box-shadow: 0 12px 32px rgba(220, 38, 38, .34); }
.lc-button.has-unread:hover { background: #b91c1c; }
.lc-button.is-ringing { animation: lc-ring .7s ease-in-out 3; }
@keyframes lc-ring { 0%, 100% { transform: translateX(0); } 20% { transform: translateX(-2px); } 40% { transform: translateX(2px); } 60% { transform: translateX(-1px); } 80% { transform: translateX(1px); } }
.lc-panel { position: fixed; right: 22px; bottom: 92px; width: min(380px, calc(100vw - 28px)); height: min(560px, calc(100vh - 120px)); background: var(--lc-bg); border: 1px solid rgba(15, 23, 42, .08); border-radius: 16px; box-shadow: 0 20px 60px rgba(15, 23, 42, .22); overflow: hidden; display: none; flex-direction: column; color: var(--lc-text); }
.lc-panel.is-open { display: flex; }
.lc-head { padding: 16px 18px; background: linear-gradient(135deg, #16a34a, #0f766e); color: #fff; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.lc-title { font-size: 16px; font-weight: 700; line-height: 1.3; }
.lc-subtitle { font-size: 12px; opacity: .9; margin-top: 3px; }
.lc-close { border: 0; background: rgba(255,255,255,.18); color: #fff; width: 32px; height: 32px; border-radius: 50%; cursor: pointer; font-size: 22px; line-height: 1; }
.lc-body { flex: 1; padding: 14px; overflow-y: auto; background: #f8fafc; display: flex; flex-direction: column; gap: 10px; }
.lc-message { max-width: 84%; padding: 10px 12px; border-radius: 14px; font-size: 14px; line-height: 1.45; white-space: pre-wrap; overflow-wrap: anywhere; }
.lc-message.user { align-self: flex-end; background: var(--lc-primary); color: #fff; border-bottom-right-radius: 4px; }
.lc-message.agent { align-self: flex-start; background: #fff; border: 1px solid var(--lc-border); color: var(--lc-text); border-bottom-left-radius: 4px; }
.lc-message.recalled { color: #94a3b8; font-style: italic; }
.lc-message.user.recalled { color: rgba(255,255,255,.8); }
.lc-time { display: block; margin-top: 4px; font-size: 10px; opacity: .68; }
.lc-empty { margin: auto; text-align: center; color: var(--lc-muted); font-size: 13px; line-height: 1.6; }
.lc-form { border-top: 1px solid var(--lc-border); padding: 10px; background: #fff; display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.lc-input { min-height: 42px; max-height: 84px; resize: none; border: 1px solid var(--lc-border); border-radius: 12px; padding: 10px 11px; font-size: 14px; outline: none; font-family: inherit; }
.lc-input:focus, .lc-email:focus { border-color: var(--lc-primary); box-shadow: 0 0 0 3px rgba(22, 163, 74, .12); }
.lc-send { min-width: 70px; border: 0; border-radius: 12px; background: var(--lc-primary); color: #fff; font-weight: 700; cursor: pointer; }
.lc-send:disabled { opacity: .55; cursor: not-allowed; }
.lc-error { padding: 7px 10px; color: #b91c1c; background: #fee2e2; font-size: 12px; display: none; }
.lc-error.is-visible { display: block; }
@media (max-width: 520px) { .lc-entry { right: 14px; bottom: 14px; } .lc-panel { right: 14px; bottom: 82px; height: min(560px, calc(100vh - 96px)); border-radius: 14px; } }
.lc-email {
  grid-column: 1 / -1;
  height: 34px;
  border: 1px solid var(--lc-border);
  border-radius: 10px;
  padding: 0 10px;
  font-size: 13px;
  outline: none;
}
.lc-email:focus {
  border-color: var(--lc-primary);
  box-shadow: 0 0 0 3px rgba(22, 163, 74, .12);
}
