.lean-modal-backdrop {
  position: fixed; inset: 0; background: rgba(15, 23, 42, .55);
  display: flex; align-items: center; justify-content: center;
  z-index: 999; padding: 16px;
}
.lean-modal-backdrop[hidden] {
  display: none;
}
.lean-modal {
  background: #fff; border-radius: 16px; width: 100%; max-width: 420px;
  max-height: 90vh; overflow-y: auto; padding: 24px; position: relative;
  font-family: inherit; direction: rtl;
}
.lean-modal-close {
  position: absolute; top: 12px; left: 12px; border: none; background: #f1f5f9;
  width: 32px; height: 32px; border-radius: 50%; cursor: pointer; font-size: 14px;
}
.lean-demo-badge {
  display: inline-block; background: #fff7ed; color: #c2410c;
  font-size: 12px; padding: 4px 10px; border-radius: 999px; margin-bottom: 10px;
}
.lean-price { color: #64748b; font-size: 13px; margin: 4px 0 16px; }
.lean-field { display: block; margin-bottom: 14px; }
.lean-field span { display: block; font-size: 13px; margin-bottom: 6px; color: #334155; }
.lean-field input {
  width: 100%; padding: 10px 12px; border: 1px solid #cbd5e1; border-radius: 10px;
  font-family: inherit; font-size: 14px; box-sizing: border-box;
}
.lean-field.has-error input { border-color: #ef4444; }
.lean-field-error { color: #ef4444; font-size: 12px; margin-top: 4px; display: block; }
.lean-submit-btn {
  width: 100%; padding: 12px; border: none; border-radius: 10px;
  background: #1d4ed8; color: #fff; font-size: 14px; cursor: pointer; margin-top: 4px;
}
.lean-submit-btn:disabled { opacity: .6; cursor: wait; }
.lean-result { margin-top: 18px; padding: 14px; border-radius: 10px; }
.lean-result-success { background: #f0fdf4; border: 1px solid #bbf7d0; }
.lean-result-error { background: #fef2f2; border: 1px solid #fecaca; color: #b91c1c; }
.lean-result-json {
  direction: ltr; text-align: left; font-size: 12px; overflow-x: auto;
  background: #fff; padding: 10px; border-radius: 8px; margin-top: 8px;
}
