.table-card .form-row {
    padding: 0 0.75rem;
}

/* personCancelPopup - 로그인 사용자의 취소자 목록(#cancellInfoForLogin)을 그리드로 재구성(≤992px) */
@media (max-width: 992px) {
    /* sub-title의 '* 필수입력' 블럭이 줄바꿈으로 다음 줄에 내려갈 때 우측 정렬 처리 */
    #personAddPopup .sub-title,
    #personCancelPopup .sub-title {
        display: flex;
        flex-wrap: wrap; /* 작은 화면에서 줄바꿈 허용 */
    }

    #personAddPopup .sub-title > .d-flex.align-items-end {
        width: 100%;
        text-align: right;
        display: flex;
        justify-content: flex-end;
    }
    /* 오른쪽 설명 블럭이 다음 줄로 내려간 경우에도 오른쪽 끝 정렬 유지 */
    /*#personAddPopup .sub-title > .d-flex.align-items-end.position-relative,*/
    /*#personCancelPopup .sub-title > .d-flex.align-items-end.position-relative {*/
    /*    margin-left: auto;          !* 같은 줄에 있을 땐 오른쪽으로 밀어냄 *!*/
    /*    width: 100%;                !* 다음 줄로 떨어지면 한 줄 전체 차지 *!*/
    /*    display: flex;*/
    /*    justify-content: flex-end;  !* 컨텐츠를 오른쪽 끝으로 정렬 *!*/
    /*    text-align: right;          !* 텍스트 정렬 보조 *!*/
    /*    gap: 0.5rem;*/
    /*    white-space: nowrap;        !* '* 필수입력'이 또 줄바꿈되지 않도록 *!*/
    /*}*/

    /* 별표와 설명 간 기본 여백 균형화 (모바일에서 ms-3 영향 최소화) */
    /*#personAddPopup .sub-title > .d-flex.align-items-end.position-relative .right-explain,*/
    /*#personCancelPopup .sub-title > .d-flex.align-items-end.position-relative .right-explain {*/
    /*    margin-left: 0.5rem !important;*/
    /*}*/
    /* 요구 형태:
       [측정 종료일]
       취소자: 아무개        생년월일: 0000-00-00
       면허종별: ㅊㅊㅊ      면허번호: 00000 */
    #personCancelPopup #cancellInfoForLogin {
        border-collapse: separate;
        border-spacing: 0;
        width: 100%;
    }

    #personCancelPopup #cancellInfoForLogin thead {
        display: none; /* 그리드에 라벨을 직접 붙이므로 헤더는 숨김 */
    }

    #personCancelPopup #cancellInfoForLogin tbody tr {
        display: grid;
        grid-template-columns: 60% 40%; /* 2열 */
        grid-template-areas:
            "date  date"   /* 측정 종료일: 상단 가로 전체 */
            "name  birth"  /* 취소자 | 생년월일 */
            "type  number"; /* 면허종별 | 면허번호 */
        grid-auto-rows: auto;
        row-gap: 6px;
        column-gap: 12px;
        background: #fff;
        border-radius: 10px;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
        padding: 10px 12px;
        margin-bottom: 12px;
    }

    #personCancelPopup #cancellInfoForLogin tbody tr td {
        border: none !important;
        padding: 0;
        text-align: left !important;
        vertical-align: middle !important;
        box-sizing: border-box;
        word-break: break-word;
        overflow-wrap: anywhere;
        min-width: 0 !important;
        width:100%!important;
    }

    /* 영역 매핑 */
    #personCancelPopup #cancellInfoForLogin tbody tr td:nth-child(1) {
        grid-area: date;
    }

    #personCancelPopup #cancellInfoForLogin tbody tr td:nth-child(2) {
        grid-area: name;
    }

    #personCancelPopup #cancellInfoForLogin tbody tr td:nth-child(3) {
        grid-area: birth;
    }

    #personCancelPopup #cancellInfoForLogin tbody tr td:nth-child(4) {
        grid-area: type;
    }

    #personCancelPopup #cancellInfoForLogin tbody tr td:nth-child(5) {
        grid-area: number;
    }

    /* 라벨 표시 (요구 포맷) */
    #personCancelPopup #cancellInfoForLogin tbody tr td:nth-child(1):not(:empty)::before {
        content: "측정종료일: ";
        color: #666;
        /*margin-right: 6px;*/
    }

    #personCancelPopup #cancellInfoForLogin tbody tr td:nth-child(2):not(:empty)::before {
        content: "취소자: ";
        color: #666;
        /*margin-right: 6px;*/
    }

    #personCancelPopup #cancellInfoForLogin tbody tr td:nth-child(3):not(:empty)::before {
        content: "생년월일: ";
        color: #666;
        /*margin-right: 6px;*/
    }

    #personCancelPopup #cancellInfoForLogin tbody tr td:nth-child(4):not(:empty)::before {
        content: "면허종별: ";
        color: #666;
        /*margin-right: 6px;*/
    }

    #personCancelPopup #cancellInfoForLogin tbody tr td:nth-child(5):not(:empty)::before {
        content: "면허번호: ";
        color: #666;
        /*margin-right: 6px;*/
    }

    /* 입력 컨트롤은 가로폭 확장 */
    #personCancelPopup #cancellInfoForLogin tbody tr td input,
    #personCancelPopup #cancellInfoForLogin tbody tr td select {
        width: 100% !important;
    }

    /* 더 작은 화면에서 여백 조정 */
    @media (max-width: 480px) {
        #personCancelPopup #cancellInfoForLogin tbody tr {
            column-gap: 8px;
        }
    }
}

.table-card .form-label-cell i {
    margin-right: 0.35rem;
}

.table-card .form-label-cell {
    background-color: #f7f7f7;
    border-bottom: 1px solid #dddcdc;
    color: #495057;
    font-weight: 500;
    display: flex;
    align-items: center;
    z-index: 2;
    height: 100%;
    min-width: 0;
    /*white-space: nowrap;*/
    word-break: keep-all; /* 단어 단위로 자르기 */
    /*overflow-wrap: break-word; !* 단어가 길면 강제로 줄바꿈 **/
}

.border-top-2px {
    border-top: 2px solid #bab9b9;
}

.table-card .form-value-cell {
    border-bottom: 1px solid #dddcdc;
    padding: 0.75rem 1rem;
    display: flex;
    align-items: center;
}

.table-card .form-label-cell,
.table-card .form-value-cell {
    height: 60px;
}

.table-card .form-row:last-child .form-label-cell,
.table-card .form-row:last-child .form-value-cell {
    border-bottom: none;
}

.table-card .form-row:first-child .form-label-cell {
    border-top-left-radius: .5rem;
}

.table-card .form-row:last-child .form-label-cell {
    border-bottom-left-radius: .5rem;
}

.member-join-info .password-rules {
    border-top-right-radius: .5rem;
    border-bottom-right-radius: .5rem;
}

@media (max-width: 992px) {
    .table-card {
        border: none;
        box-shadow: none !important;
    }

    .table-card .form-label-cell {
        height: auto !important;
        padding: 1rem 0.2rem 0 0;
        /*min-height: 60px;*/
        border-bottom: none;
        background-color: #ffffff;
        font-size: 0.925rem !important;
        color: #36393e !important;
        font-weight: bold;
    }

    .table-card .form-value-cell {
        height: auto !important;
        padding: 0.35rem 1.0rem 0 1.25rem;
        border-bottom: none;
    }

    #signupForm .table-card .identityVerifyBtn,
    #signupForm .table-card .id-dup-check-btn {
        width: 160px !important;
        height: 36px !important;
        font-size: 0.925rem !important;
        padding: 0.2rem 0.2rem 0.2rem 0.2rem !important;
    }

    #signupForm .birth-area {
        flex-direction: column;
    }

    #signupForm .birth-day-area {
        width: 100% !important;
        display: flex;
        flex-wrap: nowrap;
    }

    /*#signupForm .custom-select-dropdown,*/
    /*#signupForm input.dropdown-toggle {*/
    /*    width: 100% !important;*/
    /*}*/
    #signupForm .birth-day-area .custom-select-dropdown {
        width: 100% !important;
    }

    #signupForm .member-sex-area {
        margin-top: 10px;
        /*    width: 100% !important;*/
        /*    display: flex;*/
        /*    flex-wrap: nowrap;*/
    }

    #signupForm .member-sex-area .required-label {
        white-space: nowrap;
    }

    #signupForm .member-sex-area .member-sex-div {
        width: 100% !important;
        /*margin-top: 10px;*/
    }

    #signupForm .member-sex-area #ownerSex,
    #signupForm .member-sex-area #memberSex {
        min-width: 0 !important;
    }

    #signupForm .table-card input:not(button):not(input[type="checkbox"]):not(input[type="radio"]) {
        width: 100% !important;
    }

    #signupForm .table-card .custom-select-dropdown .dropdown-toggle.readonly-select.disabled-text {
        background-image: none !important;
        padding-right: 0 !important;
    }

    #signupForm .birth-day-area .custom-select-dropdown {
        width: 100% !important;
    }

    /*birth-day-area*/
    #signupForm .input-group:has(.custom-select-dropdown),
    #signupForm .input-group .custom-select-dropdown,
    #signupForm .input-group .dropdown-toggle {
        width: 100% !important;
    }

    #signupForm .input-group {
        display: flex;
        flex-wrap: nowrap;
    }

    #signupForm .custom-select-dropdown #memberMobile2,
    #signupForm .custom-select-dropdown #memberMobile3 {
        padding-left: 20px;
        padding-right: 0;
    }

    #signupForm .custom-select-dropdown #memberMobile1Text {
        min-width: 65px !important;
        padding-left: 10px;
        padding-right: 0;
        background-position: right calc(0.375em + 0.1875rem) center;
    }

    #signupForm .custom-select-dropdown #memberMobile1Text:valid,
    #signupForm .custom-select-dropdown #memberMobile1Text:invalid {
        /*padding-left:10px;*/
        /*padding-right:0;*/
        background-position: right calc(0.375em + 0.1875rem) center;
        /*right 0.1rem center, center right 2.25rem;*/
    }

    /*#signupForm .row {*/
    /*    padding-right: 0 !important;*/
    /*    padding-left: 0 !important;*/
    /*}*/
    #signupForm .member-email-box .input-group {
        display: none;
    }

    #personPopup .modal-content {
        min-width: 0 !important;
    }

    /* personAddPopup, personCancelPopup: 모바일(<992px)에서 라벨/입력 2라인 배치 */
    /* personAddPopup, personCancelPopup: 모바일(<992px)에서 라벨/입력 2라인 배치 */
    #personAddPopup .table-card .form-row > [class*="col-"],
    #personCancelPopup .table-card .form-row > [class*="col-"] {
        flex: 0 0 100% !important; /* 한 줄에 하나씩 표시 */
        max-width: 100% !important;
    }

    /* 값 셀 내부 컨트롤 가로폭 확장 */
    #personAddPopup .table-card .form-value-cell .form-control,
    #personAddPopup .table-card .form-value-cell .form-select,
    #personAddPopup .table-card .form-value-cell .custom-select-dropdown,
    #personCancelPopup .table-card .form-value-cell .form-control,
    #personCancelPopup .table-card .form-value-cell .form-select,
    #personCancelPopup .table-card .form-value-cell .custom-select-dropdown {
        width: 100% !important;
        min-width: 0;
    }

    /* 입력 그룹 전체 폭 고정 및 항목 줄바꿈 방지 */
    #personAddPopup .table-card .form-value-cell .input-group,
    #personCancelPopup .table-card .form-value-cell .input-group {
        width: 100% !important;
        display: flex;
        flex-wrap: nowrap;
        align-items: stretch;
    }

    /* 주민등록번호 앞/뒤 입력칸 등은 동일하게 늘어나도록 처리 */
    #personAddPopup .table-card .form-value-cell .input-group > .form-control,
    #personCancelPopup .table-card .form-value-cell .input-group > .form-control {
        flex: 1 1 auto;
    }

    /* 취소 팝업에 인라인으로 지정된 200px 고정 폭 무력화 */
    #personCancelPopup .table-card .form-value-cell input[style*="width"],
    #personCancelPopup .table-card .form-value-cell select[style*="width"],
    #personAddPopup .table-card .form-value-cell input[style*="width"],
    #personAddPopup .table-card .form-value-cell select[style*="width"] {
        width: 100% !important;
    }

    /* 라벨/값 셀 간격 미세 조정 */
    #personAddPopup .table-card .form-label-cell,
    #personCancelPopup .table-card .form-label-cell {
        padding-right: 0.2rem !important;
        padding-left: 0.2rem !important;
    }

    #personAddPopup .table-card .form-value-cell,
    #personCancelPopup .table-card .form-value-cell {
        padding-left: 0.75rem !important;
        padding-right: 0.75rem !important;
    }

    /*#personAddPopup .sub-title {*/
    /*    justify-content: space-evenly;*/
    /*}*/
}