/* DOR Website Chat 1.1.0: the agents' chat button and panel. 1.0.1: the reply box and End chat always stay in view. 1.1.0: Alerts button and settings. */
.dor-chat { position: fixed; right: 18px; bottom: 18px; z-index: 1060; font-family: Manrope, Inter, sans-serif; }
.dor-chat-btn { display: flex; align-items: center; gap: 6px; border: 0; border-radius: 22px; padding: 9px 16px;
  background: #006835; color: #fff; font-weight: 700; box-shadow: 0 4px 14px rgba(0,0,0,.2); cursor: pointer; }
.dor-chat-btn.away { background: #6b7972; }
.dor-chat-badge:empty { display: none; }
.dor-chat-badge { min-width: 20px; height: 20px; border-radius: 10px; padding: 0 6px; font-size: 12px; line-height: 20px;
  background: #fff; color: #006835; text-align: center; }
.dor-chat-badge.hot { background: #d7a029; color: #10201a; animation: dorChatPulse 1.2s infinite; }
@keyframes dorChatPulse { 50% { transform: scale(1.15); } }
.dor-chat-toast { position: absolute; right: 0; bottom: 54px; width: 300px; display: none; }
.dor-chat-toast.show { display: block; }
.dor-chat-card { background: #fff; border-left: 4px solid #d7a029; border-radius: 8px; padding: 12px 14px;
  box-shadow: 0 6px 22px rgba(0,0,0,.22); }
.dor-chat-panel { position: absolute; right: 0; bottom: 54px; width: 400px; max-width: calc(100vw - 24px); height: 640px;
  max-height: calc(100vh - 80px); background: #fff; border-radius: 10px; box-shadow: 0 8px 30px rgba(0,0,0,.25);
  display: none; flex-direction: column; overflow: hidden; }
.dor-chat-panel.show { display: flex; }
.dor-chat-head { flex: 0 0 auto; display: flex; align-items: center; gap: 8px; padding: 10px 12px; background: #006835; color: #fff; }
.dor-chat-head b { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dor-chat-x { background: none; border: 0; color: #fff; font-size: 20px; line-height: 1; cursor: pointer; }
.dor-chat-bar { flex: 0 0 auto; display: flex; flex-wrap: wrap; gap: 6px; align-items: center; padding: 8px 12px; border-bottom: 1px solid #e3e8e5; }
.dor-chat-switch { margin: 0 auto 0 0; font-weight: 600; }
.dor-chat-body { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding: 10px 12px; }
.dor-chat-body label { display: block; font-weight: 400; margin: 6px 0; }
.dor-chat-body .form-control { margin-bottom: 8px; }
.dor-chat-sec { font-size: 11px; text-transform: uppercase; letter-spacing: .6px; color: #6b7972; font-weight: 700; margin: 12px 0 6px; }
.dor-chat-item { display: flex; gap: 8px; align-items: center; justify-content: space-between; padding: 8px 10px;
  border: 1px solid #e3e8e5; border-radius: 8px; margin-bottom: 6px; cursor: pointer; }
.dor-chat-item:hover { background: #e9f4ee; }
.dor-chat-tag { font-size: 11px; padding: 1px 6px; border-radius: 8px; background: #e9f4ee; color: #0b3b24; }
.dor-chat-tag.new { background: #fbefd3; color: #7a5300; }
.dor-chat-muted { color: #6b7972; font-size: 12px; }
.dor-chat-last { color: #10201a; font-size: 12px; margin-top: 2px; overflow: hidden; text-overflow: ellipsis; display: -webkit-box;
  -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.dor-chat-note { background: #fbefd3; border-radius: 6px; padding: 6px 8px; font-size: 12px; margin-bottom: 8px; }
.dor-chat-empty { color: #6b7972; text-align: center; margin: 30px 0; }
.dor-chat-meta { flex: 0 0 auto; padding: 6px 12px; font-size: 12px; color: #55635c; border-bottom: 1px solid #e3e8e5; }
.dor-chat-msgs { flex: 1 1 auto; min-height: 80px; overflow-y: auto; padding: 10px 12px; background: #f6f3ea; }
.dor-chat-m { display: flex; flex-direction: column; margin: 6px 0; max-width: 85%; }
.dor-chat-m span { padding: 7px 10px; border-radius: 10px; background: #fff; white-space: pre-wrap; word-wrap: break-word; }
.dor-chat-m small { font-size: 10px; color: #6b7972; margin-top: 2px; }
.dor-chat-m i { font-size: 11px; color: #6b7972; font-style: normal; }
.dor-chat-m.agent { margin-left: auto; align-items: flex-end; }
.dor-chat-m.agent span { background: #006835; color: #fff; }
.dor-chat-m.system { max-width: 100%; align-items: center; }
.dor-chat-m.system span { background: transparent; color: #6b7972; font-size: 12px; padding: 2px; }
.dor-chat-foot { flex: 0 0 auto; border-top: 1px solid #e3e8e5; padding: 8px 12px; background: #fff; }
.dor-chat-input { width: 100%; resize: none; max-height: 120px; border: 1px solid #cfd8d3; border-radius: 6px; padding: 6px 8px; }
.dor-chat-row { display: flex; gap: 6px; align-items: center; justify-content: flex-end; margin-top: 6px; }
.dor-chat-row.small { justify-content: space-between; }
.dor-chat-qr { flex: 1; max-width: 200px; }
.dor-chat.alerts-only .dor-chat-btn { background: #fff; color: #006835; border: 1px solid #cfd8d3; padding: 7px 12px; box-shadow: 0 2px 8px rgba(0,0,0,.12); }
.dor-chat.alerts-only .dor-chat-badge { display: none; }
.dor-alert-prefs label { display: block; font-weight: 400; margin: 4px 0; }
@media (max-width: 767px) {
  .dor-chat { right: 10px; bottom: 10px; }
  .dor-chat-lbl { display: none; }
  .dor-chat-panel { position: fixed; inset: 0; width: auto; height: auto; max-height: none; max-width: none; border-radius: 0; }
  .dor-chat-toast { width: calc(100vw - 20px); }
}
