.bss-lc { --navy:#0c2340; --ink:#111827; --muted:#6B7280; --line:#E5E7EB; --soft:#F3F4F6; font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.bss-lc * { box-sizing: border-box; }
.bss-lc-launcher {
  position: fixed; right: 20px; bottom: 20px; z-index: 80; width: 56px; height: 56px; border: none;
  border-radius: 50%; background: var(--navy); color: #fff; cursor: pointer;
  box-shadow: 0 10px 24px rgba(12,35,64,.28); display: flex; align-items: center; justify-content: center;
}
.bss-lc-launcher:hover { transform: translateY(-1px); }
.bss-lc-badge {
  position: absolute; top: -2px; right: -2px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px;
  background: #DC2626; color: #fff; font-size: 10px; font-weight: 700; display: none; align-items: center; justify-content: center;
}
.bss-lc-badge.on { display: flex; }
.bss-lc-panel {
  position: fixed; right: 20px; bottom: 88px; z-index: 81; width: min(380px, calc(100vw - 24px));
  height: min(540px, calc(100vh - 120px)); background: #fff; border-radius: 16px; overflow: hidden;
  box-shadow: 0 18px 50px rgba(15,23,42,.22); display: none; flex-direction: column;
}
.bss-lc-panel.open { display: flex; }
.bss-lc-head {
  background: var(--navy); color: #fff; padding: 14px 16px; display: flex; align-items: center; justify-content: space-between; gap: 10px;
}
.bss-lc-head strong { display: block; font-size: 14px; }
.bss-lc-head span { display: block; font-size: 11px; opacity: .75; margin-top: 2px; }
.bss-lc-dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: #34D399; margin-right: 6px; }
.bss-lc-x { background: none; border: none; color: #fff; font-size: 20px; cursor: pointer; line-height: 1; }
.bss-lc-body { flex: 1; overflow: auto; padding: 14px; background: #F8FAFC; display: flex; flex-direction: column; gap: 10px; }
.bss-lc-form { display: flex; flex-direction: column; gap: 8px; padding-top: 8px; }
.bss-lc-form p { margin: 0 0 6px; font-size: 13px; color: var(--muted); }
.bss-lc-form input, .bss-lc-input {
  border: 1px solid var(--line); border-radius: 8px; padding: 9px 10px; font-size: 13px; font-family: inherit; width: 100%;
}
.bss-lc-btn {
  border: none; background: var(--navy); color: #fff; border-radius: 8px; padding: 10px 12px; font-size: 13px;
  font-weight: 600; cursor: pointer; font-family: inherit;
}
.bss-lc-btn[disabled] { opacity: .5; cursor: default; }
.bss-lc-msg { max-width: 82%; padding: 8px 10px; border-radius: 12px; font-size: 13px; line-height: 1.4; }
.bss-lc-msg.visitor { align-self: flex-end; background: var(--navy); color: #fff; border-bottom-right-radius: 4px; }
.bss-lc-msg.pending { opacity: .72; }
.bss-lc-msg.staff { align-self: flex-start; background: #fff; border: 1px solid var(--line); border-bottom-left-radius: 4px; }
.bss-lc-msg small { display: block; margin-top: 4px; font-size: 10px; opacity: .65; }
.bss-lc-foot { border-top: 1px solid var(--line); padding: 10px; background: #fff; display: flex; gap: 8px; }
.bss-lc-foot textarea {
  flex: 1; border: 1px solid var(--line); border-radius: 8px; padding: 8px 10px; font-size: 13px; font-family: inherit;
  resize: none; min-height: 40px; max-height: 88px;
}
.bss-lc-err { color: #B91C1C; font-size: 12px; margin: 0; }
.bss-lc-ended { text-align: center; color: var(--muted); font-size: 12px; padding: 8px 0; }
@media (max-width: 520px) {
  .bss-lc-panel { right: 12px; bottom: 80px; height: min(70vh, 540px); }
}
