@@ -472,6 +506,7 @@ onUnmounted(() => window.removeEventListener('keydown', onKeydown))
+
@@ -833,21 +871,19 @@ onUnmounted(() => window.removeEventListener('keydown', onKeydown))
.invite-body .uc-field {
position: relative;
}
-.invite-body .user-dd {
- position: absolute;
- top: calc(100% + 0.375rem);
- left: 0;
- right: 0;
- z-index: 10;
+/* 자동완성 드롭다운 — body 로 Teleport 되므로 .invite-body 후손 선택자를 쓰지 않는다.
+ 위치/최대높이(top/left/width/maxHeight)는 컴포넌트가 인라인 style 로 지정(fixed). */
+.user-dd {
+ position: fixed;
+ z-index: 1000; /* 모달 backdrop(100) 위 */
background: #fff;
border: 1px solid var(--border);
border-radius: 0.5625rem;
box-shadow: 0 12px 32px rgba(20, 24, 33, 0.16);
padding: 0.375rem;
- max-height: 16rem;
overflow-y: auto;
}
-.invite-body .user-dd-item {
+.user-dd-item {
display: flex;
align-items: center;
gap: 0.625rem;
@@ -860,22 +896,22 @@ onUnmounted(() => window.removeEventListener('keydown', onKeydown))
font-family: inherit;
text-align: left;
}
-.invite-body .user-dd-item:hover {
+.user-dd-item:hover {
background: #f5f6f8;
}
-.invite-body .user-av {
+.user-dd .user-av {
width: 1.625rem;
height: 1.625rem;
font-size: 0.6875rem;
flex-shrink: 0;
}
-.invite-body .user-nm {
+.user-nm {
font-size: 0.8125rem;
font-weight: 600;
color: var(--text);
white-space: nowrap;
}
-.invite-body .user-em {
+.user-em {
font-size: 0.75rem;
color: var(--text-3);
margin-left: auto;
@@ -885,7 +921,7 @@ onUnmounted(() => window.removeEventListener('keydown', onKeydown))
max-width: 14rem;
padding-left: 0.5rem;
}
-.invite-body .user-dd-msg {
+.user-dd-msg {
padding: 0.75rem 0.5rem;
font-size: 0.781rem;
color: var(--text-3);