.rlc-form p { margin-bottom: 12px; }
.rlc-form input[type=text], .rlc-form input[type=number], .rlc-form input[type=date],
.rlc-form select, .rlc-form textarea { width: 100%; max-width: 480px; padding: 8px; box-sizing: border-box; }
.rlc-btn { display: inline-block; padding: 8px 16px; border: 1px solid #ccc; background: #f5f5f5; cursor: pointer; border-radius: 4px; text-decoration: none; color: #222; }
.rlc-btn-primary { background: #2271b1; color: #fff; border-color: #2271b1; }
.rlc-map-filters { margin-bottom: 10px; }
.rlc-map-canvas, .rlc-single-map, #rlc-map-picker { width: 100%; border-radius: 6px; z-index: 1; }
.rlc-note { font-size: 0.85em; color: #666; }
.rlc-listing-details { margin-top: 24px; }
.rlc-detail-list { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 8px; }
.rlc-detail-list li { background: #f7f7f7; padding: 8px 12px; border-radius: 4px; }

.rlc-popup-card { min-width: 180px; }
.rlc-popup-card img { width: 100%; height: 90px; object-fit: cover; border-radius: 4px; margin-bottom: 6px; }
.rlc-popup-card a { font-weight: bold; }

.rlc-chat-modal, .rlc-video-modal { position: fixed; inset: 0; background: rgba(0,0,0,.5); display: flex; align-items: center; justify-content: center; z-index: 100000; }
.rlc-chat-modal-inner { background: #fff; width: 420px; max-width: 92vw; height: 560px; border-radius: 8px; display: flex; flex-direction: column; overflow: hidden; }
.rlc-video-modal-inner { background: #000; width: 90vw; height: 88vh; border-radius: 8px; position: relative; padding: 8px; }
.rlc-chat-header { display: flex; align-items: center; justify-content: space-between; padding: 10px 14px; background: #2271b1; color: #fff; }
.rlc-chat-header .rlc-video-btn { background: #fff; color: #2271b1; padding: 4px 10px; font-size: 0.85em; }
.rlc-chat-close { background: none; border: none; font-size: 22px; cursor: pointer; color: inherit; }
.rlc-chat-messages { flex: 1; overflow-y: auto; padding: 12px; background: #f0f2f5; }
.rlc-msg { max-width: 75%; padding: 8px 12px; border-radius: 12px; margin-bottom: 8px; clear: both; word-wrap: break-word; }
.rlc-msg-mine { background: #2271b1; color: #fff; float: right; border-bottom-right-radius: 2px; }
.rlc-msg-theirs { background: #fff; float: left; border-bottom-left-radius: 2px; }
.rlc-chat-input-row { display: flex; border-top: 1px solid #ddd; }
.rlc-chat-input-row input { flex: 1; border: none; padding: 12px; }
.rlc-chat-input-row button { border-radius: 0; }
.rlc-inbox-item { display: block; padding: 12px; border: 1px solid #eee; border-radius: 6px; margin-bottom: 8px; cursor: pointer; }
.rlc-inbox-item:hover { background: #f7f7f7; }
