/* REID AI Property Editor — side panel module */
.reid-pe { padding: 0; font-size: 13px; color: #1f2937; display: flex; flex-direction: column; height: 100%; min-height: 0; overflow: hidden; }
.reid-pe-empty, .reid-pe-locked { padding: 24px; text-align: center; }
.reid-pe-locked .reid-pe-msg { background: #fef3c7; border: 1px solid #fde68a; border-radius: 8px; padding: 16px; }
.reid-pe-locked h3 { margin: 0 0 8px; color: #92400e; }

.reid-pe-header { display: flex; align-items: center; justify-content: space-between; padding: 10px 12px 8px; border-bottom: 2px solid #1a3a5c; flex-shrink: 0; }
.reid-pe-header h3 { margin: 0; font-size: 16px; color: #1a3a5c; }
.reid-pe-prop { font-size: 11px; color: #6b7280; font-weight: 600; }

.reid-pe-toast { padding: 8px 12px; border-radius: 6px; margin: 0; font-size: 12px; font-weight: 600; flex-shrink: 0; }
.reid-pe-toast.info    { background: #dbeafe; color: #1e40af; }
.reid-pe-toast.success { background: #d1fae5; color: #065f46; }
.reid-pe-toast.warn    { background: #fef3c7; color: #92400e; }
.reid-pe-toast.error   { background: #fee2e2; color: #991b1b; }

/* Tabs */
.reid-pe-tabs { display: flex; gap: 2px; border-bottom: 1px solid #d1d5db; flex-wrap: wrap; flex-shrink: 0; padding: 0 12px; }
.reid-pe-tab { background: #f3f4f6; border: 1px solid #d1d5db; border-bottom: none; padding: 8px 12px; font-size: 12px; font-weight: 600; cursor: pointer; color: #4b5563; border-radius: 6px 6px 0 0; }
.reid-pe-tab.active { background: #fff; color: #1a3a5c; border-bottom: 2px solid #fff; margin-bottom: -1px; }
.reid-pe-tabpane { display: none; flex-direction: column; flex: 1; min-height: 0; overflow: hidden; padding: 0; }
.reid-pe-tabpane.active { display: flex; }

/* Fixed toolbar area within each tab */
.reid-pe-tab-toolbar { flex-shrink: 0; padding: 8px 12px 4px; }
/* Scrollable content area within each tab */
.reid-pe-tab-scroll { flex: 1; min-height: 0; overflow-y: auto; overflow-x: hidden; padding: 4px 12px 12px; }
.reid-pe-tab-scroll::-webkit-scrollbar { width: 6px; }
.reid-pe-tab-scroll::-webkit-scrollbar-track { background: transparent; }
.reid-pe-tab-scroll::-webkit-scrollbar-thumb { background: #c0c0c0; border-radius: 3px; }
.reid-pe-tab-scroll::-webkit-scrollbar-thumb:hover { background: #999; }

.reid-pe-hint { font-size: 11px; color: #6b7280; margin: 4px 0 10px; }
.reid-pe-hint-inline { font-size: 10px; color: #9ca3af; font-weight: 400; }
.reid-pe-loading { padding: 12px; text-align: center; color: #6b7280; font-size: 12px; }
.reid-pe-empty-msg { padding: 12px; text-align: center; color: #6b7280; background: #f9fafb; border: 1px dashed #d1d5db; border-radius: 6px; font-size: 12px; }
.reid-pe-empty-tag { color: #dc2626; font-style: italic; font-size: 11px; }

/* Buttons */
.reid-pe-btns { display: flex; gap: 8px; margin-top: 10px; flex-wrap: wrap; }
.reid-pe-btn { padding: 6px 12px; border: 1px solid #d1d5db; border-radius: 6px; background: #fff; color: #374151; font-size: 12px; font-weight: 600; cursor: pointer; }
.reid-pe-btn:hover:not(:disabled) { background: #f3f4f6; }
.reid-pe-btn:disabled { opacity: 0.5; cursor: not-allowed; }
.reid-pe-btn.primary { background: #1a3a5c; color: #fff; border-color: #1a3a5c; }
.reid-pe-btn.primary:hover:not(:disabled) { background: #143049; }
.reid-pe-btn.success { background: #059669; color: #fff; border-color: #059669; }
.reid-pe-btn.success:hover:not(:disabled) { background: #047857; }
.reid-pe-btn.sm { font-size: 11px; padding: 4px 8px; }

/* Tables */
.reid-pe-table { width: 100%; border-collapse: collapse; font-size: 12px; margin-bottom: 8px; }
.reid-pe-table th { background: #f9fafb; padding: 6px 8px; font-size: 10px; text-transform: uppercase; color: #6b7280; border-bottom: 1px solid #e5e7eb; text-align: left; font-weight: 700; letter-spacing: 0.3px; }
.reid-pe-table td { padding: 6px 8px; border-bottom: 1px solid #f3f4f6; color: #374151; vertical-align: top; }
.reid-pe-table tr:hover td { background: #f9fafb; }
.reid-pe-table input[type="checkbox"] { cursor: pointer; }
.reid-pe-table select { font-size: 11px; padding: 2px 4px; border: 1px solid #d1d5db; border-radius: 4px; }
.reid-pe-cur { color: #6b7280; }
.reid-pe-sug { color: #1f2937; max-width: 200px; }
.reid-pe-expandable { cursor: pointer; transition: all 0.2s; }
.reid-pe-expandable:hover { background: #eef2ff; color: #1a3a5c; }
.reid-pe-expandable[data-expanded="1"] { max-width: none; white-space: pre-wrap; word-break: break-word; font-size: 12px; line-height: 1.5; padding: 10px 8px; }

.reid-pe-edited { background: #fef3c7; color: #92400e; padding: 1px 5px; border-radius: 4px; font-size: 9px; font-weight: 700; margin-left: 4px; }

/* Description Groups */
.reid-pe-desc-group { background: #f9fafb; border: 1px solid #e5e7eb; border-radius: 6px; margin-bottom: 10px; overflow: hidden; }
.reid-pe-desc-group-header { display: flex; align-items: center; gap: 8px; padding: 8px 10px; background: #f3f4f6; border-bottom: 1px solid #e5e7eb; flex-wrap: wrap; }
.reid-pe-desc-group-header input[type="checkbox"] { cursor: pointer; accent-color: #1a3a5c; flex-shrink: 0; }
.reid-pe-desc-group-label { font-size: 13px; color: #1a3a5c; flex: 1; min-width: 0; }
.reid-pe-desc-group-header select { font-size: 11px; padding: 2px 6px; border: 1px solid #d1d5db; border-radius: 4px; flex-shrink: 0; }
.reid-pe-desc-group-body { padding: 10px; }
.reid-pe-desc-text { font-size: 12px; line-height: 1.6; color: #374151; margin: 0; }
.reid-pe-desc-acc { margin-top: 8px; }
.reid-pe-desc-acc summary { font-size: 11px; font-weight: 600; color: #1e40af; cursor: pointer; padding: 4px 0; }
.reid-pe-desc-acc summary:hover { color: #2563eb; }
.reid-pe-desc-acc-text { font-size: 11px; color: #4b5563; background: #eff6ff; border: 1px solid #bfdbfe; border-radius: 4px; padding: 8px; margin-top: 4px; }
.reid-pe-desc-photos { margin-top: 8px; border-top: 1px dashed #e5e7eb; padding-top: 4px; }
.reid-pe-desc-photos summary { font-size: 11px; font-weight: 600; color: #6b7280; cursor: pointer; padding: 4px 0; }
.reid-pe-desc-photos summary:hover { color: #4b5563; }
.reid-pe-desc-photo-list { list-style: none; margin: 6px 0 0; padding: 0; }
.reid-pe-desc-photo-item { font-size: 11px; padding: 6px 8px; border-bottom: 1px solid #f3f4f6; color: #374151; line-height: 1.5; }
.reid-pe-desc-photo-item:last-child { border-bottom: none; }
.reid-pe-desc-photo-id { font-weight: 700; color: #6b7280; font-size: 10px; }
.reid-pe-desc-photo-caption { display: block; margin-top: 2px; }
.reid-pe-desc-photo-acc { display: block; margin-top: 3px; font-size: 10px; color: #1e40af; font-style: italic; }

/* Photos */
.reid-pe-photo { display: flex; gap: 10px; padding: 10px; background: #f9fafb; border: 1px solid #e5e7eb; border-radius: 6px; margin-bottom: 10px; position: relative; }
.reid-pe-photo-select { flex: 0 0 20px; display: flex; align-items: flex-start; padding-top: 2px; }
.reid-pe-photo-check { width: 16px; height: 16px; cursor: pointer; accent-color: #1a3a5c; }
.reid-pe-photo-check:checked ~ .reid-pe-photo-thumb { outline: 2px solid #1a3a5c; border-radius: 4px; }

.reid-pe-photo-toolbar { margin-bottom: 10px; padding: 10px; background: #f3f4f6; border: 1px solid #d1d5db; border-radius: 6px; }
.reid-pe-photo-toolbar .reid-pe-btns { margin-bottom: 8px; }
.reid-pe-photo-sync-opts { padding: 8px 10px; background: #fef3c7; border: 1px solid #fde68a; border-radius: 6px; }
.reid-pe-sync-label { font-size: 11px; font-weight: 700; color: #92400e; display: block; margin-bottom: 4px; }
.reid-pe-sync-checks { display: flex; gap: 12px; flex-wrap: wrap; }
.reid-pe-sync-checks label { font-size: 12px; color: #374151; cursor: pointer; display: flex; align-items: center; gap: 4px; }
.reid-pe-sync-checks input[type="checkbox"] { accent-color: #f59e0b; width: 14px; height: 14px; cursor: pointer; }

.reid-pe-photo-sync-row { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 6px; padding: 5px 8px; background: #fffbeb; border: 1px solid #fde68a; border-radius: 4px; font-size: 11px; }
.reid-pe-sync-row-label { font-weight: 700; color: #92400e; font-size: 11px; white-space: nowrap; }
.reid-pe-photo-sync-row label { display: flex; align-items: center; gap: 3px; cursor: pointer; color: #374151; font-size: 11px; white-space: nowrap; }
.reid-pe-photo-sync-row input[type="checkbox"] { accent-color: #f59e0b; width: 13px; height: 13px; cursor: pointer; }
.reid-pe-btn.amber { background: #f59e0b; color: #fff; border-color: #f59e0b; }
.reid-pe-btn.amber:hover:not(:disabled) { background: #d97706; }
.reid-pe-photo-thumb { flex: 0 0 90px; }
.reid-pe-photo-thumb img { width: 90px; height: 90px; object-fit: cover; border-radius: 4px; border: 1px solid #d1d5db; }
.reid-pe-photo-fields { flex: 1; min-width: 0; }
.reid-pe-photo-row { margin-bottom: 8px; }
.reid-pe-photo-row label { display: block; font-size: 10px; font-weight: 700; color: #6b7280; text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: 2px; }
.reid-pe-input { width: 100%; padding: 4px 6px; border: 1px solid #d1d5db; border-radius: 4px; font-size: 12px; box-sizing: border-box; font-family: inherit; }
.reid-pe-input.sm { width: auto; min-width: 120px; }
.reid-pe-input:focus { outline: none; border-color: #1a3a5c; box-shadow: 0 0 0 2px rgba(26,58,92,0.15); }

.reid-pe-access { background: #eff6ff; border: 1px solid #bfdbfe; border-radius: 4px; padding: 6px; margin-top: 4px; }
.reid-pe-access label { color: #1e40af !important; }

.reid-pe-vision-meta { font-size: 11px; color: #6b7280; margin-top: 4px; }
.reid-pe-vision-label { font-weight: 700; color: #4b5563; }
.reid-pe-chip { display: inline-block; padding: 1px 6px; margin: 1px 2px; background: #ede9fe; color: #5b21b6; border-radius: 10px; font-size: 10px; font-weight: 600; }

/* Detailed analysis */
.reid-pe-detailed { margin-top: 6px; border-top: 1px dashed #e5e7eb; padding-top: 4px; }
.reid-pe-detailed-toggle { font-size: 11px; color: #1a3a5c; cursor: pointer; font-weight: 600; padding: 3px 0; }
.reid-pe-detailed-toggle:hover { color: #2563eb; }
.reid-pe-detailed-body { padding: 6px 0; }
.reid-pe-detail-row { font-size: 11px; padding: 2px 0; color: #374151; }
.reid-pe-detail-row .reid-pe-vision-label { color: #6b7280; margin-right: 4px; }

/* Manual lock toggle */
.reid-pe-lock-btn { font-size: 12px; vertical-align: middle; background: none; border: none; padding: 0 2px; cursor: pointer; line-height: 1; transition: opacity 0.15s, transform 0.15s; }
.reid-pe-lock-btn:hover { transform: scale(1.15); }
.reid-pe-lock-btn.locked { opacity: 0.9; }
.reid-pe-lock-btn.locked:hover { opacity: 1; }
.reid-pe-lock-btn.unlocked { opacity: 0.35; font-size: 11px; }
.reid-pe-lock-btn.unlocked:hover { opacity: 0.7; }

/* Room groups */
.reid-pe-room-group-header { font-size: 12px; font-weight: 700; color: #1a3a5c; padding: 8px 4px 4px; margin-top: 6px; border-top: 2px solid #e5e7eb; }
.reid-pe-room-group-header:first-child { margin-top: 0; border-top: none; }
.reid-pe-row-inline { display: flex; gap: 10px; }
.reid-pe-row-inline > div { flex: 1; min-width: 0; }

/* New Room Group form */
.reid-pe-newgroup { margin-top: 8px; padding: 10px; background: #eff6ff; border: 1px solid #bfdbfe; border-radius: 6px; }
.reid-pe-newgroup-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.reid-pe-newgroup-title { font-size: 12px; font-weight: 700; color: #1a3a5c; }
.reid-pe-newgroup-row { display: flex; gap: 10px; align-items: flex-end; flex-wrap: wrap; margin-bottom: 8px; }
.reid-pe-newgroup-row > div { min-width: 0; }
.reid-pe-newgroup-label { display: block; font-size: 10px; font-weight: 700; color: #6b7280; text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: 2px; }
.reid-pe-newgroup-preview { font-size: 13px; font-weight: 700; color: #059669; padding: 4px 10px; background: #d1fae5; border-radius: 4px; white-space: nowrap; align-self: center; }
.reid-pe-newgroup-assign { margin-bottom: 8px; }
.reid-pe-newgroup-assign label { font-size: 12px; color: #374151; cursor: pointer; display: flex; align-items: center; gap: 4px; }
.reid-pe-newgroup-assign input[type="checkbox"] { accent-color: #1a3a5c; width: 14px; height: 14px; cursor: pointer; }
.reid-pe-newgroup-actions { display: flex; gap: 8px; }

/* Convenience */
.reid-pe-conv-summary { font-size: 12px; color: #6b7280; margin-bottom: 10px; padding: 6px 10px; background: #f3f4f6; border-radius: 4px; }
.reid-pe-conv-summary strong { color: #1a3a5c; }
.reid-pe-conv-group { background: #f9fafb; border: 1px solid #e5e7eb; border-radius: 6px; margin-bottom: 8px; overflow: hidden; }
.reid-pe-conv-group-header { display: flex; align-items: center; justify-content: space-between; padding: 8px 12px; font-size: 13px; font-weight: 700; color: #1a3a5c; cursor: pointer; list-style: none; }
.reid-pe-conv-group-header::-webkit-details-marker { display: none; }
.reid-pe-conv-group-header::before { content: '▶'; font-size: 10px; margin-right: 8px; transition: transform 0.15s; color: #9ca3af; }
.reid-pe-conv-group[open] > .reid-pe-conv-group-header::before { transform: rotate(90deg); }
.reid-pe-conv-group-name { flex: 1; }
.reid-pe-conv-group-count { font-size: 11px; font-weight: 600; color: #6b7280; background: #e5e7eb; padding: 1px 8px; border-radius: 10px; }
.reid-pe-conv-group-body { padding: 8px 12px; border-top: 1px solid #e5e7eb; }
.reid-pe-conv-legend { display: flex; gap: 12px; margin-bottom: 10px; font-size: 11px; color: #6b7280; }
.reid-pe-conv-legend-item { display: flex; align-items: center; gap: 4px; }
.reid-pe-conv-col-heads { display: flex; gap: 6px; padding: 0 0 4px; margin-bottom: 4px; border-bottom: 1px solid #e5e7eb; }
.reid-pe-conv-col-head { font-size: 9px; font-weight: 700; color: #6b7280; text-transform: uppercase; letter-spacing: 0.3px; flex-shrink: 0; text-align: center; }
.reid-pe-conv-col-head:first-child { width: 32px; }
.reid-pe-conv-col-head:last-child { width: 68px; }
.reid-pe-conv-col-head-spacer { flex: 1; }
.reid-pe-conv-selall-row { display: flex; gap: 6px; align-items: center; margin-bottom: 6px; padding-bottom: 6px; border-bottom: 1px dashed #e5e7eb; }
.reid-pe-conv-selall-spacer { flex: 1; }
.reid-pe-conv-selall { display: flex; align-items: center; gap: 4px; font-size: 10px; font-weight: 700; color: #6b7280; text-transform: uppercase; letter-spacing: 0.3px; cursor: pointer; }
.reid-pe-conv-selall input { accent-color: #1a3a5c; width: 14px; height: 14px; cursor: pointer; }
.reid-pe-conv-items { display: flex; flex-direction: column; gap: 2px; }
.reid-pe-conv-item { display: flex; align-items: center; gap: 6px; font-size: 12px; color: #374151; padding: 3px 0; }
.reid-pe-conv-identify { accent-color: #059669; width: 14px; height: 14px; cursor: pointer; flex-shrink: 0; }
.reid-pe-conv-osp { accent-color: #1a3a5c; width: 14px; height: 14px; cursor: pointer; flex-shrink: 0; }
.reid-pe-conv-osp:disabled { opacity: 0.25; cursor: not-allowed; }
.reid-pe-conv-item-name { flex: 1; min-width: 0; }
.reid-pe-conv-item.identified .reid-pe-conv-item-name { color: #059669; font-weight: 600; }
.reid-pe-conv-badge { display: inline-block; padding: 0 5px; margin-left: 4px; border-radius: 8px; font-size: 9px; font-weight: 700; letter-spacing: 0.3px; line-height: 16px; vertical-align: middle; }
.reid-pe-conv-badge.ai { background: #dbeafe; color: #1e40af; }
.reid-pe-conv-badge.ai.high { background: #d1fae5; color: #065f46; }
.reid-pe-conv-badge.ai.med { background: #fef3c7; color: #92400e; }
.reid-pe-conv-badge.ai.low { background: #fee2e2; color: #991b1b; }
.reid-pe-conv-badge.agent { background: #ede9fe; color: #5b21b6; }
.reid-pe-conv-badge.autofill { background: #e0e7ff; color: #3730a3; }

/* Modal */
.reid-pe-modal { position: fixed; inset: 0; background: rgba(0,0,0,0.5); display: flex; align-items: center; justify-content: center; z-index: 99999; }
.reid-pe-modal-inner { background: #fff; padding: 20px; border-radius: 8px; max-width: 500px; width: 90%; max-height: 80vh; overflow-y: auto; }
.reid-pe-modal-inner h4 { margin: 0 0 8px; color: #1a3a5c; }
.reid-pe-modal-inner p { font-size: 12px; color: #6b7280; margin: 0 0 12px; }
.reid-pe-modal-fields { list-style: none; padding: 0; margin: 0 0 16px; font-size: 12px; }
.reid-pe-modal-fields li { padding: 6px 0; border-bottom: 1px solid #f3f4f6; }
.reid-pe-modal-val { color: #1f2937; }
.reid-pe-modal-btns { display: flex; gap: 8px; justify-content: flex-end; }

/* Revisions */
.reid-pe-rev { background: #f9fafb; border: 1px solid #e5e7eb; border-radius: 6px; padding: 10px; margin-bottom: 8px; }
.reid-pe-rev-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px; }
.reid-pe-rev-num { font-weight: 700; color: #1a3a5c; font-size: 13px; }
.reid-pe-rev-action { display: inline-block; padding: 1px 6px; border-radius: 10px; font-size: 10px; font-weight: 600; }
.reid-pe-rev-action[data-action="auto_fill"] { background: #dbeafe; color: #1e40af; }
.reid-pe-rev-action[data-action="apply_enrichment"] { background: #d1fae5; color: #065f46; }
.reid-pe-rev-action[data-action="description_generate"], .reid-pe-rev-action[data-action="description_update"] { background: #ede9fe; color: #5b21b6; }
.reid-pe-rev-action[data-action="photo_edit"] { background: #fce7f3; color: #9d174d; }
.reid-pe-rev-action[data-action="restore"] { background: #fef3c7; color: #92400e; }
.reid-pe-rev-date { font-size: 11px; color: #6b7280; }
.reid-pe-rev-summary { font-size: 11px; color: #4b5563; margin-bottom: 6px; }
.reid-pe-rev-summary span { font-weight: 600; }
.reid-pe-rev-restore { font-size: 11px; }

/* Responsive */
@media (max-width: 480px) {
    .reid-pe-photo { flex-direction: column; }
    .reid-pe-photo-thumb { flex: none; }
    .reid-pe-photo-thumb img { width: 100%; height: 140px; }
}

/* Dark theme support — class-based for template theme switcher */
[data-bs-theme="dark"] .reid-pe,
[data-theme="dark"] .reid-pe,
.dark-mode .reid-pe { color: #e0e0e0; }

[data-bs-theme="dark"] .reid-pe-locked .reid-pe-msg,
[data-theme="dark"] .reid-pe-locked .reid-pe-msg,
.dark-mode .reid-pe-locked .reid-pe-msg { background: #3d2e0a; border-color: #6b5200; }

[data-bs-theme="dark"] .reid-pe-locked h3,
[data-theme="dark"] .reid-pe-locked h3,
.dark-mode .reid-pe-locked h3 { color: #fbbf24; }

[data-bs-theme="dark"] .reid-pe-header,
[data-theme="dark"] .reid-pe-header,
.dark-mode .reid-pe-header { border-color: #444; }

[data-bs-theme="dark"] .reid-pe-header h3,
[data-theme="dark"] .reid-pe-header h3,
.dark-mode .reid-pe-header h3 { color: #60a5fa; }

[data-bs-theme="dark"] .reid-pe-prop,
[data-theme="dark"] .reid-pe-prop,
.dark-mode .reid-pe-prop { color: #888; }

[data-bs-theme="dark"] .reid-pe-toast.info,
[data-theme="dark"] .reid-pe-toast.info,
.dark-mode .reid-pe-toast.info { background: #1a2a3a; color: #60a5fa; }

[data-bs-theme="dark"] .reid-pe-toast.success,
[data-theme="dark"] .reid-pe-toast.success,
.dark-mode .reid-pe-toast.success { background: #0d3320; color: #34d399; }

[data-bs-theme="dark"] .reid-pe-toast.warn,
[data-theme="dark"] .reid-pe-toast.warn,
.dark-mode .reid-pe-toast.warn { background: #3d2e0a; color: #fbbf24; }

[data-bs-theme="dark"] .reid-pe-toast.error,
[data-theme="dark"] .reid-pe-toast.error,
.dark-mode .reid-pe-toast.error { background: #3d1010; color: #f87171; }

[data-bs-theme="dark"] .reid-pe-tabs,
[data-theme="dark"] .reid-pe-tabs,
.dark-mode .reid-pe-tabs { border-color: #444; }

[data-bs-theme="dark"] .reid-pe-tab,
[data-theme="dark"] .reid-pe-tab,
.dark-mode .reid-pe-tab { background: #333; border-color: #444; color: #999; }

[data-bs-theme="dark"] .reid-pe-tab.active,
[data-theme="dark"] .reid-pe-tab.active,
.dark-mode .reid-pe-tab.active { background: #1e1e1e; color: #60a5fa; }

[data-bs-theme="dark"] .reid-pe-hint,
[data-theme="dark"] .reid-pe-hint,
.dark-mode .reid-pe-hint { color: #888; }

[data-bs-theme="dark"] .reid-pe-hint-inline,
[data-theme="dark"] .reid-pe-hint-inline,
.dark-mode .reid-pe-hint-inline { color: #666; }

[data-bs-theme="dark"] .reid-pe-loading,
[data-theme="dark"] .reid-pe-loading,
.dark-mode .reid-pe-loading { color: #888; }

[data-bs-theme="dark"] .reid-pe-empty-msg,
[data-theme="dark"] .reid-pe-empty-msg,
.dark-mode .reid-pe-empty-msg { background: #2a2a2a; border-color: #444; color: #888; }

[data-bs-theme="dark"] .reid-pe-btn,
[data-theme="dark"] .reid-pe-btn,
.dark-mode .reid-pe-btn { background: #2a2a2a; color: #ccc; border-color: #555; }

[data-bs-theme="dark"] .reid-pe-btn:hover:not(:disabled),
[data-theme="dark"] .reid-pe-btn:hover:not(:disabled),
.dark-mode .reid-pe-btn:hover:not(:disabled) { background: #333; }

[data-bs-theme="dark"] .reid-pe-table th,
[data-theme="dark"] .reid-pe-table th,
.dark-mode .reid-pe-table th { background: #333; color: #999; border-color: #444; }

[data-bs-theme="dark"] .reid-pe-table td,
[data-theme="dark"] .reid-pe-table td,
.dark-mode .reid-pe-table td { color: #ccc; border-color: #333; }

[data-bs-theme="dark"] .reid-pe-table tr:hover td,
[data-theme="dark"] .reid-pe-table tr:hover td,
.dark-mode .reid-pe-table tr:hover td { background: #333; }

[data-bs-theme="dark"] .reid-pe-table select,
[data-theme="dark"] .reid-pe-table select,
.dark-mode .reid-pe-table select { border-color: #555; background: #1e1e1e; color: #e0e0e0; }

[data-bs-theme="dark"] .reid-pe-cur,
[data-theme="dark"] .reid-pe-cur,
.dark-mode .reid-pe-cur { color: #888; }

[data-bs-theme="dark"] .reid-pe-sug,
[data-theme="dark"] .reid-pe-sug,
.dark-mode .reid-pe-sug { color: #e0e0e0; }

[data-bs-theme="dark"] .reid-pe-expandable:hover,
[data-theme="dark"] .reid-pe-expandable:hover,
.dark-mode .reid-pe-expandable:hover { background: #2a3a4a; color: #60a5fa; }

[data-bs-theme="dark"] .reid-pe-photo,
[data-theme="dark"] .reid-pe-photo,
.dark-mode .reid-pe-photo { background: #2a2a2a; border-color: #444; }

[data-bs-theme="dark"] .reid-pe-photo-thumb img,
[data-theme="dark"] .reid-pe-photo-thumb img,
.dark-mode .reid-pe-photo-thumb img { border-color: #444; }

[data-bs-theme="dark"] .reid-pe-photo-row label,
[data-theme="dark"] .reid-pe-photo-row label,
.dark-mode .reid-pe-photo-row label { color: #888; }

[data-bs-theme="dark"] .reid-pe-input,
[data-theme="dark"] .reid-pe-input,
.dark-mode .reid-pe-input { border-color: #555; background: #1e1e1e; color: #e0e0e0; }

[data-bs-theme="dark"] .reid-pe-input:focus,
[data-theme="dark"] .reid-pe-input:focus,
.dark-mode .reid-pe-input:focus { border-color: #60a5fa; }

[data-bs-theme="dark"] .reid-pe-access,
[data-theme="dark"] .reid-pe-access,
.dark-mode .reid-pe-access { background: #1a2a3a; border-color: #2a4a6a; }

[data-bs-theme="dark"] .reid-pe-access label,
[data-theme="dark"] .reid-pe-access label,
.dark-mode .reid-pe-access label { color: #60a5fa; }

[data-bs-theme="dark"] .reid-pe-vision-meta,
[data-theme="dark"] .reid-pe-vision-meta,
.dark-mode .reid-pe-vision-meta { color: #888; }

[data-bs-theme="dark"] .reid-pe-vision-label,
[data-theme="dark"] .reid-pe-vision-label,
.dark-mode .reid-pe-vision-label { color: #999; }

[data-bs-theme="dark"] .reid-pe-chip,
[data-theme="dark"] .reid-pe-chip,
.dark-mode .reid-pe-chip { background: #2a1a4a; color: #a78bfa; }

[data-bs-theme="dark"] .reid-pe-modal-inner,
[data-theme="dark"] .reid-pe-modal-inner,
.dark-mode .reid-pe-modal-inner { background: #2a2a2a; }

[data-bs-theme="dark"] .reid-pe-modal-inner h4,
[data-theme="dark"] .reid-pe-modal-inner h4,
.dark-mode .reid-pe-modal-inner h4 { color: #60a5fa; }

[data-bs-theme="dark"] .reid-pe-modal-inner p,
[data-theme="dark"] .reid-pe-modal-inner p,
.dark-mode .reid-pe-modal-inner p { color: #888; }

[data-bs-theme="dark"] .reid-pe-modal-fields li,
[data-theme="dark"] .reid-pe-modal-fields li,
.dark-mode .reid-pe-modal-fields li { border-color: #333; }

[data-bs-theme="dark"] .reid-pe-modal-val,
[data-theme="dark"] .reid-pe-modal-val,
.dark-mode .reid-pe-modal-val { color: #e0e0e0; }

[data-bs-theme="dark"] .reid-pe-rev,
[data-theme="dark"] .reid-pe-rev,
.dark-mode .reid-pe-rev { background: #2a2a2a; border-color: #444; }

[data-bs-theme="dark"] .reid-pe-rev-num,
[data-theme="dark"] .reid-pe-rev-num,
.dark-mode .reid-pe-rev-num { color: #60a5fa; }

[data-bs-theme="dark"] .reid-pe-rev-date,
[data-theme="dark"] .reid-pe-rev-date,
.dark-mode .reid-pe-rev-date { color: #888; }

[data-bs-theme="dark"] .reid-pe-rev-summary,
[data-theme="dark"] .reid-pe-rev-summary,
.dark-mode .reid-pe-rev-summary { color: #999; }

[data-bs-theme="dark"] .reid-pe-detailed,
[data-theme="dark"] .reid-pe-detailed,
.dark-mode .reid-pe-detailed { border-color: #444; }

[data-bs-theme="dark"] .reid-pe-detailed-toggle,
[data-theme="dark"] .reid-pe-detailed-toggle,
.dark-mode .reid-pe-detailed-toggle { color: #60a5fa; }

[data-bs-theme="dark"] .reid-pe-detailed-toggle:hover,
[data-theme="dark"] .reid-pe-detailed-toggle:hover,
.dark-mode .reid-pe-detailed-toggle:hover { color: #93c5fd; }

[data-bs-theme="dark"] .reid-pe-detail-row,
[data-theme="dark"] .reid-pe-detail-row,
.dark-mode .reid-pe-detail-row { color: #ccc; }

[data-bs-theme="dark"] .reid-pe-detail-row .reid-pe-vision-label,
[data-theme="dark"] .reid-pe-detail-row .reid-pe-vision-label,
.dark-mode .reid-pe-detail-row .reid-pe-vision-label { color: #888; }

[data-bs-theme="dark"] .reid-pe-desc-group,
[data-theme="dark"] .reid-pe-desc-group,
.dark-mode .reid-pe-desc-group { background: #1e232b; border-color: #333; }
[data-bs-theme="dark"] .reid-pe-desc-group-header,
[data-theme="dark"] .reid-pe-desc-group-header,
.dark-mode .reid-pe-desc-group-header { background: #252a33; border-color: #333; }
[data-bs-theme="dark"] .reid-pe-desc-group-label,
[data-theme="dark"] .reid-pe-desc-group-label,
.dark-mode .reid-pe-desc-group-label { color: #60a5fa; }
[data-bs-theme="dark"] .reid-pe-desc-group-header select,
[data-theme="dark"] .reid-pe-desc-group-header select,
.dark-mode .reid-pe-desc-group-header select { background: #1e232b; color: #ccc; border-color: #444; }
[data-bs-theme="dark"] .reid-pe-desc-text,
[data-theme="dark"] .reid-pe-desc-text,
.dark-mode .reid-pe-desc-text { color: #ccc; }
[data-bs-theme="dark"] .reid-pe-desc-acc summary,
[data-theme="dark"] .reid-pe-desc-acc summary,
.dark-mode .reid-pe-desc-acc summary { color: #60a5fa; }
[data-bs-theme="dark"] .reid-pe-desc-acc-text,
[data-theme="dark"] .reid-pe-desc-acc-text,
.dark-mode .reid-pe-desc-acc-text { background: #1a2a3a; border-color: #2a4a6a; color: #93c5fd; }
[data-bs-theme="dark"] .reid-pe-desc-photos,
[data-theme="dark"] .reid-pe-desc-photos,
.dark-mode .reid-pe-desc-photos { border-color: #444; }
[data-bs-theme="dark"] .reid-pe-desc-photos summary,
[data-theme="dark"] .reid-pe-desc-photos summary,
.dark-mode .reid-pe-desc-photos summary { color: #9aa3af; }
[data-bs-theme="dark"] .reid-pe-desc-photo-item,
[data-theme="dark"] .reid-pe-desc-photo-item,
.dark-mode .reid-pe-desc-photo-item { color: #bbb; border-color: #333; }
[data-bs-theme="dark"] .reid-pe-desc-photo-id,
[data-theme="dark"] .reid-pe-desc-photo-id,
.dark-mode .reid-pe-desc-photo-id { color: #888; }
[data-bs-theme="dark"] .reid-pe-desc-photo-acc,
[data-theme="dark"] .reid-pe-desc-photo-acc,
.dark-mode .reid-pe-desc-photo-acc { color: #60a5fa; }

[data-bs-theme="dark"] .reid-pe-room-group-header,
[data-theme="dark"] .reid-pe-room-group-header,
.dark-mode .reid-pe-room-group-header { color: #60a5fa; border-color: #444; }

[data-bs-theme="dark"] .reid-pe-newgroup,
[data-theme="dark"] .reid-pe-newgroup,
.dark-mode .reid-pe-newgroup { background: #1a2a3a; border-color: #2a4a6a; }
[data-bs-theme="dark"] .reid-pe-newgroup-title,
[data-theme="dark"] .reid-pe-newgroup-title,
.dark-mode .reid-pe-newgroup-title { color: #60a5fa; }
[data-bs-theme="dark"] .reid-pe-newgroup-preview,
[data-theme="dark"] .reid-pe-newgroup-preview,
.dark-mode .reid-pe-newgroup-preview { background: #0d3320; color: #34d399; }
[data-bs-theme="dark"] .reid-pe-newgroup-assign label,
[data-theme="dark"] .reid-pe-newgroup-assign label,
.dark-mode .reid-pe-newgroup-assign label { color: #ccc; }

[data-bs-theme="dark"] .reid-pe-photo-toolbar,
[data-theme="dark"] .reid-pe-photo-toolbar,
.dark-mode .reid-pe-photo-toolbar { background: #1e293b; border-color: #334155; }

[data-bs-theme="dark"] .reid-pe-photo-sync-opts,
[data-theme="dark"] .reid-pe-photo-sync-opts,
.dark-mode .reid-pe-photo-sync-opts { background: #3d2e0a; border-color: #6b5200; }

[data-bs-theme="dark"] .reid-pe-sync-label,
[data-theme="dark"] .reid-pe-sync-label,
.dark-mode .reid-pe-sync-label { color: #fbbf24; }

[data-bs-theme="dark"] .reid-pe-sync-checks label,
[data-theme="dark"] .reid-pe-sync-checks label,
.dark-mode .reid-pe-sync-checks label { color: #ccc; }

[data-bs-theme="dark"] .reid-pe-photo-sync-row,
[data-theme="dark"] .reid-pe-photo-sync-row,
.dark-mode .reid-pe-photo-sync-row { background: #3d2e0a; border-color: #6b5200; }
[data-bs-theme="dark"] .reid-pe-sync-row-label,
[data-theme="dark"] .reid-pe-sync-row-label,
.dark-mode .reid-pe-sync-row-label { color: #fbbf24; }
[data-bs-theme="dark"] .reid-pe-photo-sync-row label,
[data-theme="dark"] .reid-pe-photo-sync-row label,
.dark-mode .reid-pe-photo-sync-row label { color: #ccc; }

[data-bs-theme="dark"] .reid-pe-conv-summary,
[data-theme="dark"] .reid-pe-conv-summary,
.dark-mode .reid-pe-conv-summary { background: #252a33; color: #999; }
[data-bs-theme="dark"] .reid-pe-conv-summary strong,
[data-theme="dark"] .reid-pe-conv-summary strong,
.dark-mode .reid-pe-conv-summary strong { color: #60a5fa; }
[data-bs-theme="dark"] .reid-pe-conv-group,
[data-theme="dark"] .reid-pe-conv-group,
.dark-mode .reid-pe-conv-group { background: #1e232b; border-color: #333; }
[data-bs-theme="dark"] .reid-pe-conv-group-header,
[data-theme="dark"] .reid-pe-conv-group-header,
.dark-mode .reid-pe-conv-group-header { color: #60a5fa; }
[data-bs-theme="dark"] .reid-pe-conv-group-header::before,
[data-theme="dark"] .reid-pe-conv-group-header::before,
.dark-mode .reid-pe-conv-group-header::before { color: #666; }
[data-bs-theme="dark"] .reid-pe-conv-group-count,
[data-theme="dark"] .reid-pe-conv-group-count,
.dark-mode .reid-pe-conv-group-count { background: #333; color: #999; }
[data-bs-theme="dark"] .reid-pe-conv-group-body,
[data-theme="dark"] .reid-pe-conv-group-body,
.dark-mode .reid-pe-conv-group-body { border-color: #333; }
[data-bs-theme="dark"] .reid-pe-conv-selall,
[data-theme="dark"] .reid-pe-conv-selall,
.dark-mode .reid-pe-conv-selall { color: #888; border-color: #444; }
[data-bs-theme="dark"] .reid-pe-conv-legend,
[data-theme="dark"] .reid-pe-conv-legend,
.dark-mode .reid-pe-conv-legend { color: #888; }
[data-bs-theme="dark"] .reid-pe-conv-col-heads,
[data-theme="dark"] .reid-pe-conv-col-heads,
.dark-mode .reid-pe-conv-col-heads { border-color: #444; }
[data-bs-theme="dark"] .reid-pe-conv-col-head,
[data-theme="dark"] .reid-pe-conv-col-head,
.dark-mode .reid-pe-conv-col-head { color: #888; }
[data-bs-theme="dark"] .reid-pe-conv-selall-row,
[data-theme="dark"] .reid-pe-conv-selall-row,
.dark-mode .reid-pe-conv-selall-row { border-color: #444; }
[data-bs-theme="dark"] .reid-pe-conv-item,
[data-theme="dark"] .reid-pe-conv-item,
.dark-mode .reid-pe-conv-item { color: #ccc; }
[data-bs-theme="dark"] .reid-pe-conv-item.identified .reid-pe-conv-item-name,
[data-theme="dark"] .reid-pe-conv-item.identified .reid-pe-conv-item-name,
.dark-mode .reid-pe-conv-item.identified .reid-pe-conv-item-name { color: #34d399; }
[data-bs-theme="dark"] .reid-pe-conv-badge.ai,
[data-theme="dark"] .reid-pe-conv-badge.ai,
.dark-mode .reid-pe-conv-badge.ai { background: #1a2a3a; color: #60a5fa; }
[data-bs-theme="dark"] .reid-pe-conv-badge.ai.high,
[data-theme="dark"] .reid-pe-conv-badge.ai.high,
.dark-mode .reid-pe-conv-badge.ai.high { background: #0d3320; color: #34d399; }
[data-bs-theme="dark"] .reid-pe-conv-badge.ai.med,
[data-theme="dark"] .reid-pe-conv-badge.ai.med,
.dark-mode .reid-pe-conv-badge.ai.med { background: #3d2e0a; color: #fbbf24; }
[data-bs-theme="dark"] .reid-pe-conv-badge.ai.low,
[data-theme="dark"] .reid-pe-conv-badge.ai.low,
.dark-mode .reid-pe-conv-badge.ai.low { background: #3d1010; color: #f87171; }
[data-bs-theme="dark"] .reid-pe-conv-badge.agent,
[data-theme="dark"] .reid-pe-conv-badge.agent,
.dark-mode .reid-pe-conv-badge.agent { background: #2a1a4a; color: #a78bfa; }
[data-bs-theme="dark"] .reid-pe-conv-badge.autofill,
[data-theme="dark"] .reid-pe-conv-badge.autofill,
.dark-mode .reid-pe-conv-badge.autofill { background: #1e1b4b; color: #818cf8; }

/* ── Field Groups (Information Tab) ─────────────────────── */
.reid-pe-info-groups { margin: 0; }
.reid-pe-fg { border: 1px solid #e5e7eb; border-radius: 8px; margin-bottom: 6px; overflow: hidden; }
.reid-pe-fg-header { display: flex; align-items: center; gap: 8px; padding: 8px 12px; background: #f9fafb; cursor: pointer; user-select: none; }
.reid-pe-fg-header:hover { background: #f3f4f6; }
.reid-pe-fg-name { font-size: 12px; font-weight: 700; color: #1f2937; flex: 1; }
.reid-pe-fg-count { font-size: 10px; color: #6b7280; font-weight: 600; white-space: nowrap; }
.reid-pe-fg-arrow { display: inline-block; width: 7px; height: 7px; border-right: 2px solid #9ca3af; border-bottom: 2px solid #9ca3af; transform: rotate(-135deg); transition: transform .2s; flex-shrink: 0; }
.reid-pe-fg.collapsed .reid-pe-fg-arrow { transform: rotate(45deg); }
.reid-pe-fg-body { overflow: hidden; max-height: 2000px; opacity: 1; transition: max-height .25s ease, opacity .2s ease, padding .2s ease; padding: 6px 12px 10px; }
.reid-pe-fg.collapsed .reid-pe-fg-body { max-height: 0; opacity: 0; padding: 0 12px; }

.reid-pe-fg-field { padding: 4px 0; border-bottom: 1px solid #f3f4f6; }
.reid-pe-fg-field:last-child { border-bottom: none; }
.reid-pe-fg-field-row { display: flex; align-items: center; gap: 6px; }
.reid-pe-fg-check { margin: 0; flex-shrink: 0; cursor: pointer; }
.reid-pe-fg-label { font-size: 11px; font-weight: 600; color: #374151; min-width: 100px; flex-shrink: 0; cursor: pointer; }
.reid-pe-fg-input { flex: 1; min-width: 0; padding: 3px 6px; font-size: 11px; border: 1px solid #d1d5db; border-radius: 4px; background: #fff; color: #374151; }
.reid-pe-fg-input:focus { outline: none; border-color: #0d6efd; box-shadow: 0 0 0 2px rgba(13,110,253,.12); }
.reid-pe-fg-input[type="number"] { max-width: 80px; }
select.reid-pe-fg-input { max-width: 180px; }
select.reid-pe-fg-input[multiple] { max-width: 200px; min-height: 50px; }

.reid-pe-fg-checks { display: flex; flex-wrap: wrap; gap: 4px; flex: 1; }
.reid-pe-fg-chk-label { font-size: 10px; color: #374151; display: flex; align-items: center; gap: 3px; white-space: nowrap; }

.reid-pe-fg-sug-badge { display: inline-flex; align-items: center; padding: 1px 5px; border-radius: 4px; font-size: 8px; font-weight: 700; text-transform: uppercase; letter-spacing: .3px; background: #d1fae5; color: #065f46; white-space: nowrap; flex-shrink: 0; }
.reid-pe-fg-empty-tag { font-size: 9px; color: #9ca3af; font-style: italic; white-space: nowrap; flex-shrink: 0; }

/* Dark mode field groups */
[data-bs-theme="dark"] .reid-pe-fg,
[data-theme="dark"] .reid-pe-fg,
.dark-mode .reid-pe-fg { border-color: #444; }
[data-bs-theme="dark"] .reid-pe-fg-header,
[data-theme="dark"] .reid-pe-fg-header,
.dark-mode .reid-pe-fg-header { background: #2a2a2a; }
[data-bs-theme="dark"] .reid-pe-fg-header:hover,
[data-theme="dark"] .reid-pe-fg-header:hover,
.dark-mode .reid-pe-fg-header:hover { background: #333; }
[data-bs-theme="dark"] .reid-pe-fg-name,
[data-theme="dark"] .reid-pe-fg-name,
.dark-mode .reid-pe-fg-name { color: #e0e0e0; }
[data-bs-theme="dark"] .reid-pe-fg-label,
[data-theme="dark"] .reid-pe-fg-label,
.dark-mode .reid-pe-fg-label { color: #ccc; }
[data-bs-theme="dark"] .reid-pe-fg-input,
[data-theme="dark"] .reid-pe-fg-input,
.dark-mode .reid-pe-fg-input { background: #333; border-color: #555; color: #e0e0e0; }
[data-bs-theme="dark"] .reid-pe-fg-field,
[data-theme="dark"] .reid-pe-fg-field,
.dark-mode .reid-pe-fg-field { border-color: #333; }
[data-bs-theme="dark"] .reid-pe-fg-chk-label,
[data-theme="dark"] .reid-pe-fg-chk-label,
.dark-mode .reid-pe-fg-chk-label { color: #ccc; }
[data-bs-theme="dark"] .reid-pe-fg-sug-badge,
[data-theme="dark"] .reid-pe-fg-sug-badge,
.dark-mode .reid-pe-fg-sug-badge { background: #0d3320; color: #34d399; }

[data-bs-theme="dark"] .reid-pe-tab-scroll::-webkit-scrollbar-thumb,
[data-theme="dark"] .reid-pe-tab-scroll::-webkit-scrollbar-thumb,
.dark-mode .reid-pe-tab-scroll::-webkit-scrollbar-thumb { background: #555; }
