:root {
  --alnoor-bg: #ffffff;
  --alnoor-primary: #0ea5e9;
  --alnoor-assistant: #f1f5f9;
  --alnoor-user: #e0f2fe;
  --alnoor-shadow: 0 10px 30px rgba(0,0,0,.12);
  --alnoor-radius: 16px;
  --alnoor-z: 999999;
}

.alnoor-bubble {
  position: fixed;
  right: 20px;
  bottom: 80px;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--alnoor-primary);
  color: #fff;
  display: grid;
  place-items: center;
  cursor: pointer;
  box-shadow: var(--alnoor-shadow);
  z-index: var(--alnoor-z);
}
[data-alnoor-dir="ltr"] .alnoor-bubble { left: auto; right: 20px; }

.alnoor-wrap {
  position: fixed;
  right: 20px;
  bottom: 140px;
  width: min(360px, 92vw);
  height: 540px;
  max-height: 80vh;
  background: var(--alnoor-bg);
  border-radius: var(--alnoor-radius);
  box-shadow: var(--alnoor-shadow);
  overflow: hidden;
  transform: translateY(12px);
  opacity: 0;
  pointer-events: none;
  transition: all .2s ease;
  z-index: var(--alnoor-z);
}
[data-alnoor-dir="ltr"] .alnoor-wrap { left: auto; right: 20px; }
.alnoor-wrap[data-open="1"] { transform: translateY(0); opacity: 1; pointer-events: auto; }

.alnoor-header {
  background: #0ea5e9;
  color: #fff;
  padding: 12px 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.alnoor-title { font-weight: 600; }
.alnoor-close {
  background: transparent;
  border: 0;
  color: #fff;
  font-size: 22px;
  cursor: pointer;
}

.alnoor-area {
  display: grid;
  grid-template-rows: 1fr auto;
  height: calc(100% - 48px);
}

.alnoor-msgs {
  padding: 12px;
  overflow: auto;
  background: #f8fafc;
}

.alnoor-msg {
  display: flex;
  margin-bottom: 10px;
}
.alnoor-msg .alnoor-bubble-msg {
  max-width: 80%;
  padding: 10px 12px;
  border-radius: 12px;
  font-size: 14px;
  line-height: 1.5;
  white-space: pre-wrap;
}
.alnoor-msg.assistant .alnoor-bubble-msg {
  background: var(--alnoor-assistant);
  border-top-left-radius: 4px;
}
.alnoor-msg.user {
  justify-content: flex-end;
}
.alnoor-msg.user .alnoor-bubble-msg {
  background: var(--alnoor-user);
  border-top-right-radius: 4px;
}

.alnoor-input {
  display: flex;
  gap: 8px;
  padding: 8px;
  background: #fff;
  border-top: 1px solid #e5e7eb;
}
.alnoor-input input[type="text"] {
  flex: 1;
  padding: 10px 12px;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  outline: none;
}
.alnoor-send {
  padding: 10px 14px;
  border: 0;
  border-radius: 10px;
  background: var(--alnoor-primary);
  color: #fff;
  cursor: pointer;
}

.alnoor-qr {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 8px 0 4px;
}
.alnoor-qr-btn {
  border: 1px solid #cbd5e1;
  background: #fff;
  border-radius: 10px;
  padding: 6px 10px;
  cursor: pointer;
  font-size: 13px;
}

.alnoor-lead {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 10px;
  margin: 6px 0 2px;
}
.alnoor-lead-title { font-weight: 600; margin-bottom: 8px; }
.alnoor-lead-form .alnoor-field { display: grid; gap: 6px; margin-bottom: 8px; }
.alnoor-lead-form input, .alnoor-lead-form textarea {
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 8px 10px;
  font-size: 14px;
}
.alnoor-lead-btn {
  background: #111827;
  color: #fff;
  padding: 10px 12px;
  border-radius: 10px;
  border: 0;
  cursor: pointer;
}
