.snapshot-img {
    max-height: 300px;
    object-fit: contain;
}

.face-thumb {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border-radius: 50%;
    border: 2px solid #dee2e6;
}

.face-card {
    padding: 4px;
}

/* 인물 관리 - 원형 얼굴 썸네일 */
.person-thumb-wrap {
    width: 120px;
    height: 120px;
    margin: 16px auto 0;
    border-radius: 50%;
    overflow: hidden;
    border: 3px solid #dee2e6;
    background: #f8f9fa;
    isolation: isolate;  /* overflow:hidden + border-radius 클리핑 보장 */
}

.person-thumb-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* 눈썹 중앙이 원의 1/3 지점에 오도록:
       세로 overflow ~27px, 눈썹을 14px 내리면 40px(1/3) 위치 → Y=14/27≈50% */
    object-position: center 50%;
    display: block;
}

.person-thumb-placeholder {
    width: 120px;
    height: 120px;
    margin: 16px auto 0;
    border-radius: 50%;
    border: 3px solid #dee2e6;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f8f9fa;
}

.person-card {
    transition: box-shadow 0.2s, border-color 0.2s;
}

.person-card:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.person-card.selected {
    border-color: #0d6efd !important;
    border-width: 2px !important;
    box-shadow: 0 0 0 3px rgba(13, 110, 253, 0.25);
}

.person-card.deleted-card {
    opacity: 0.7;
}

.person-card.deleted-card:hover {
    opacity: 1;
}

/* 라벨링 화면의 대표 얼굴 */
.label-face-wrap {
    width: 160px;
    height: 160px;
    margin: 0 auto 16px;
    border-radius: 50%;
    overflow: hidden;
    border: 3px solid #dee2e6;
    background: #f8f9fa;
}

.label-face-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 50%;
    display: block;
}

/* 액션바 */
.action-bar {
    position: sticky;
    top: 0;
    z-index: 100;
}
