input[type=text].common {
    border:1px solid #cbd1db;
    color:#757575;
    padding:6px;
    outline: none;
    border-radius: 6px;
}
div.common-button {
    display:inline-block;
    text-decoration: none;
    cursor:pointer;
    background-color: #ebeef3;
    color:#636f87;
    border:1px solid #dde1e8;
    border-radius: 5px;
    padding:.5em .4em;
    margin:0 4px 2px 0;
}
/*문항 설정 팝업*/
#questionConfigModal {
    font-size:12px;
}
#questionConfigModal input[type=text]{
    height:32px;
}
/*문항 설정 팝업에서 원래 값*/
#questionConfigModal div.src {
    margin-bottom: 2px;
}
/*문항 설정 팝업에서 입력칸*/
#questionConfigModal table input[type=text], #questionConfigModal table textarea{
    border: 1px solid #dde1e8;
    padding:2px 4px;
    outline: none;
}
/*문항 설정 팝업의 리코드 표*/
#recodeTable {
    margin-top: 12px;
    width:100%;
}
/*문항 설정 팝업의 리코드 표*/
#recodeTable > thead > tr > th {
    text-align: center;
    background-color: #ebeef3;
    padding:4px 0;
}
/*문항 설정 팝업의 리코드 표*/
#recodeTable > thead > tr > th:first-child {
    border-right: 3px solid white;
}
/*문항 설정 팝업의 리코드 표*/
#recodeTable > tbody > tr > td {
    padding:2px 0;
    vertical-align: top;
}
/*문항 설정 팝업의 리코드 기본값 줄*/
#recodeTable > tfoot > tr > td {
    padding:2px 0;
    vertical-align: top;
}
/*문항 설정 팝업에서 리코드 줄 삭제 */
.delete-recode-question {
    margin-right: 2px;
}
/*문항 설정 팝업에서 리코드 조건 div */
div.recode-condition {
    display: -webkit-flex !important;
    display: -moz-flex !important;
    display: -ms-flexbox !important;
    display: -o-flex !important;
    display: flex !important;
    -ms-flex-align:center;
    align-items:center;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
/*문항 설정 팝업의 리코드 줄 버튼*/
div.recode-condition > button {
    width: 24px;
    height: 32px;
    margin: 0 4px 2px 0;
}
/*문항 설정 팝업에서 리코드 문항 추가 버튼*/
#questionConfigModal button.add-recode-question {
    padding:4px 6px;
}
/*문항 설정 팝업에서 리코드 문항 값 선택 팝업*/
/*position:fixed 필수 — 부모 #questionConfigModal(.modal)이 position:relative라서 absolute면 화면이 아닌 모달 기준으로 배치되어 getCenterCss 계산이 어긋남(화면 밖으로 밀려나 안 보이는 원인)*/
/*z-index는 .blocker(99990, 모달이 열릴 때 이 팝업의 형제인 #questionConfigModal을 감싸는 오버레이)보다 커야 함 — 999면 모달에 가려 화면에 안 보임*/
#recodeValuePopup {
    display: none;
    position: fixed;
    background-color: #fff;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
    z-index: 100000;
    width: 360px;
    top:0;
    left:0;
    padding:8px;
    border-radius: 8px;
}
/*문항 설정 팝업에서 리코드 문항 값 선택 팝업 전체 선택 줄*/
#recodeValueAllLine {
    display: -webkit-flex !important;
    display: -moz-flex !important;
    display: -ms-flexbox !important;
    display: -o-flex !important;
    display: flex !important;
    -ms-flex-align:center;
    align-items:center;
    border-bottom: 1px solid #dde1e8;
    margin:6px;
    padding-bottom: 6px;
}
#recodeValueAllLine > .div-button {
    margin-left: 4px;
    font-size:90%;
}
/*문항 설정 팝업에서 리코드 문항 값 선택 팝업 체크박스들*/
#recodeValueCheckboxes {
    margin:6px;
    max-height: 200px;
    overflow-y: auto;
}
#recodeValueCheckboxes > label {
    display: -webkit-flex !important;
    display: -moz-flex !important;
    display: -ms-flexbox !important;
    display: -o-flex !important;
    display: flex !important;
    -ms-flex-align:center;
    align-items:start;
    margin-bottom: 4px;
}
#recodeValueCheckboxes > label > input {
    margin-top: 2px;
    margin-right: 4px;
}
#recodeValueCheckboxes > label > span {
    margin-top: -1px;
    white-space: nowrap;
    overflow-x: hidden;
    text-overflow: ellipsis;
}
/*문항 설정 팝업의 리코드 줄 키*/
#recodeTable input.key {
    flex:0 0 auto;
    -ms-flex: 0 0 auto;
    width:3em;
    text-align: center;
}
/*문항 설정 팝업의 리코드 줄 값*/
#recodeTable div.value {
    flex:1 1 auto;
    -ms-flex:1 1 auto;
    width:100%;
    min-height: 32px;
    border: 1px solid #dde1e8;
    border-radius: 5px;
    padding:6px 6px;
    outline: none;
    background-color: white;
}
/*리코드 줄 비제시 아래 평균제외(univ 화면에만 마크업 있음)*/
#recodeTable .recode-answer-flags {
    flex:0 0 auto;
    -ms-flex:0 0 auto;
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:2px;
}
/*리코드 선택 문항 추가 팝업*/
/*position:fixed 필수 — 부모 #questionConfigModal(.modal)이 position:relative라서 absolute면 화면이 아닌 모달 기준으로 배치되어 getCenterCss 계산이 어긋남(화면 밖으로 밀려나 안 보이는 원인)*/
/*z-index는 .blocker(99990, 모달이 열릴 때 이 팝업의 형제인 #questionConfigModal을 감싸는 오버레이)보다 커야 함 — 999면 모달에 가려 화면에 안 보임*/
#recodeQuestionPopup {
    display: none;
    position: fixed;
    border:1px solid #96bcff;
    background: #fbfbfb;
    box-shadow: 0 2px 5px #96bcff;
    z-index: 100000;
    width: 640px;
    top:0;
    left:0;
    padding:8px;
}
/*리코드 문항 추가 팝업에서 문항 검색*/
#searchRecodeQuestion {
    width:100%;
    border:1px solid #cbd1db;
    color:#757575;
    padding:6px;
    outline: none;
    border-radius: 6px;
    margin-bottom: 8px;
}
/*리코드 문항 추가 팝업에서 문항들*/
#searchRecodeQuestionResult {
    max-height: 200px;
    overflow-y: auto;
}
.recode-question {
    padding:6px;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow-x:hidden;
}
.recode-question:hover {
    background-color: #f3f8ff;
    cursor:pointer;
}
/*리코드 추가된 문항*/
.recode-question-unit {
    display: -webkit-flex !important;
    display: -moz-flex !important;
    display: -ms-flexbox !important;
    display: -o-flex !important;
    display: flex !important;
    -ms-flex-align:center;
    align-items:center;
    font-size:90%;
    min-width:140px;
    max-width: 250px;
    border:1px solid #dde1e8;
    border-radius: 5px;
    background-color: white;
    padding:6px 8px;
    margin:0 4px 2px 0;
}
.recode-question-unit .qnum {
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow-x:hidden;
}
.recode-question-unit:hover {
    border-color:#7b87a0;
    cursor:pointer;
}
.recode-question-unit .icon {
    height:1.2em;
}
.recode-question-unit.filtered {
    color:#659dfe;
    border-color:#659dfe;
    background-color: #f3f8ff;
}
.recode-question-unit.filtered-not {
    color:#d96666;
    border-color:#d96666;
    background-color: #fdeaea;
}
/*문항 설정 팝업에서 보기 유닛*/
#configAnswers .ans-unit:not(:last-child) {
    margin-bottom: 4px;
}
/*문항 설정 팝업에서 보기 input 줄*/
#configAnswers .ans-row {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: -o-flex;
    display: flex;
    -ms-flex-align:center;
    align-items:center;
}
/*문항 설정 팝업에서 보기 input */
#configAnswers .ans-row > .v {
    flex:1 1 auto;
    -ms-flex:1 1 auto;
}
/*문항 설정 팝업에서 보기 비제시 체크박스 */
#configAnswers .ans-row > label {
    flex:0 0 auto;
    -ms-flex:0 0 auto;
    margin-left: 4px;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: -o-flex;
    display: flex;
    -ms-flex-align:center;
    align-items:center;
}
/*문항 설정 팝업에서 보기 비제시 체크박스 버튼*/
#configAnswers .ans-row > label input.not-use {
    margin-right: 4px;
}
/*문항 설정 팝업에서 비제시 아래 평균제외(univ 화면에서만 생성)*/
#configAnswers .ans-row > .ans-flags {
    flex:0 0 auto;
    -ms-flex:0 0 auto;
    margin-left: 4px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:2px;
}
#configAnswers .ans-row > .ans-flags > label {
    display:flex;
    align-items:center;
}
#configAnswers .ans-row > .ans-flags > label input {
    margin-right: 4px;
}
/*문항 설정에서 보기*/
#questionConfigModal .answer-div {
    border: 1px solid #dde1e8;
    padding:6px;
    outline: none;
    background-color: white;
    border-radius: 5px;
}

/*분석단위 추가 팝업*/
#addColPopup {
    display: none;
    position: absolute;
    background-color: #fff;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
    z-index: 999;
    width: 640px;
    top:0;
    left:0;
    padding:8px;
    border-radius: 8px;
}

#addColPopup .div-button {
    font-size:90%;
}

/*분석단위 추가 팝업에서 문항 검색*/
#addColSearchQuestion {
    font-size:90%;
    width:100%;
    border:1px solid #cbd1db;
    color:#757575;
    padding:6px;
    outline: none;
    border-radius: 6px;
}

/*분석단위 추가 팝업의 표*/
#addColTableWrapper {
    margin: 8px 0;
    height: 300px;
    overflow-y: auto;
}
#addColPopup table {
    border-radius: 6px;
    border-top:1px solid #dde1e8;
    border-bottom:1px solid #dde1e8;
    color:#555;
    font-size:90%;
}
#addColPopup table th {
    padding:4px 6px;
    background-color: #fafafa;
}
#addColPopup tbody tr:hover td {
    background-color: #fafafa;
    cursor: pointer;
}

#addColPopup td:not(.question) {
    text-align:center;
}

/*분석단위 추가 팝업의 문항*/
#addColPopup td.question {
    white-space: nowrap;
    overflow-x: hidden;
    text-overflow: ellipsis;
}

#selectedCols {
    display: -webkit-flex !important;
    display: -moz-flex !important;
    display: -ms-flexbox !important;
    display: -o-flex !important;
    display: flex !important;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
#selectedCols .unit {
    display: -webkit-flex !important;
    display: -moz-flex !important;
    display: -ms-flexbox !important;
    display: -o-flex !important;
    display: flex !important;
    -ms-flex-align:center;
    align-items:center;
    font-size:90%;
    width:120px;
    border:1px solid #dde1e8;
    border-radius: 5px;
    background-color: white;
    padding:6px 8px;
    margin: 0 4px 4px 0;
}
#selectedCols .unit .name {
    white-space: nowrap;
    overflow-x: hidden;
    text-overflow:ellipsis;
}
#selectedCols .unit:hover {
    border-color:#7b87a0;
    cursor:pointer;
}
#selectedCols .unit .icon {
    height:1.2em;
}

/*다중 설정 팝업*/
#configMultiPopup {
    display: none;
    position: absolute;
    background-color: #fff;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
    z-index: 999;
    width: 500px;
    top:0;
    left:0;
    padding:8px;
    border-radius: 8px;
}
#configMultiPopup input[type=text] {
    font-size:90%;
    width:80px;
    border:1px solid #cbd1db;
    color:#757575;
    padding:4px 6px;
    outline: none;
    border-radius: 6px;
}
#configMultiName {
    width:100px !important;
}
#configMultiPopup #multiList {
    height:300px;
    overflow-y: auto;
}
#configMultiPopup .multi-unit {
    display:flex;
    margin-top: 4px;
    align-items: center;
    gap:4px;
    border:1px solid #cbd1db;
    padding:2px 4px;
    border-radius: 6px;
    cursor:pointer;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
}
#configMultiPopup .multi-unit .name {
    font-weight: bold;
    color:#659dfe;
    border-right: 1px dotted #cbd1db;
    padding:0 6px;
    width:97px;
    text-align: center;
}
#configMultiPopup .multi-unit .snum {
    font-weight: bold;
    color:#659dfe;
    border-right: 1px dotted #cbd1db;
    padding:0 6px;
    width:80px;
    text-align: center;
}
#configMultiPopup .multi-unit .qname {
    padding-left: 4px;
}
#configMultiPopup .multi-unit .remove-multi-unit {
    margin-left: auto;
}
#configMultiApply {
    background-color: #ebeef3 !important;
    color:#636f87 !important;
}

/*마우스 오른쪽 버튼 눌렀을 때 나오는 메뉴*/
#contextmenu [click-action="to-desc"] {font-size:80%;color:#999}
#contextmenu [click-action="to-red"] {color:red}
#contextmenu [click-action="to-blue"] {color:blue}
#contextmenu [click-action="to-large"] {font-size:110%}
#contextmenu [click-action="to-small"] {font-size:60%}
/*=== 리코드 모드 시각 구분 + 저장 결과 미리보기 (2026-07-03) ===*/
/*모드 배지*/
#questionConfigModalBadge {
    display:inline-block;
    margin-left:8px;
    padding:2px 8px;
    border-radius:10px;
    font-size:11px;
    font-weight:bold;
    vertical-align:middle;
    background-color:#5b7fd9;
    color:#fff;
}
#questionConfigModalBadge.display-none {display:none;}
#questionConfigModal.mode-dup #questionConfigModalBadge {background-color:#8a97ad;}
/*리코드 모드 상단 색 띠로 일반 문항 팝업과 즉시 구분*/
#questionConfigModal.mode-recode .modal-title {
    border-left:4px solid #5b7fd9;
    padding-left:8px;
}
/*리코드 안내 헤더*/
#recodeGuideHead {
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    background-color:#f2f5fb;
    border:1px solid #dde5f3;
    border-radius:6px;
    padding:8px 10px;
    margin-bottom:10px;
    color:#4a5876;
}
#recodeGuideHead.display-none {display:none;}
#recodeGuideHead .recode-guide-step .step-no {
    display:inline-block;
    width:16px;height:16px;
    line-height:16px;
    text-align:center;
    border-radius:50%;
    background-color:#5b7fd9;
    color:#fff;
    font-size:10px;
    font-weight:bold;
    margin-right:4px;
}
#recodeGuideHead .recode-guide-step {
    white-space:nowrap;
}
/*저장 결과 미리보기*/
#recodePreview {
    margin-top:12px;
    border:1px solid #dde5f3;
    border-radius:6px;
    background-color:#f8fafd;
    padding:10px 12px;
}
#recodePreview.display-none {display:none;}
#recodePreview .recode-preview-title {
    font-weight:bold;
    color:#4a5876;
    margin-bottom:6px;
}
#recodePreviewStorage {
    padding:6px 8px;
    background-color:#eef3fb;
    border-radius:4px;
    margin-bottom:8px;
    line-height:1.6;
}
#recodePreview code {
    background-color:#e3e9f5;
    border-radius:3px;
    padding:1px 4px;
    font-family:monospace;
}
#recodePreview .preview-rule {
    padding:3px 0;
    border-bottom:1px dashed #e3e9f2;
    line-height:1.6;
}
#recodePreview .preview-rule:last-child {border-bottom:none;}
#recodePreview .preview-rule.preview-default {color:#7a869c;}
#recodePreview .preview-no {
    display:inline-block;
    min-width:16px;height:16px;
    line-height:16px;
    text-align:center;
    border-radius:50%;
    background-color:#c6d2e8;
    color:#fff;
    font-size:10px;
    margin-right:4px;
}
#recodePreview .preview-arrow {color:#5b7fd9;font-weight:bold;}
#recodePreview .preview-and {
    color:#b06a3c;
    font-size:11px;
    font-weight:bold;
}
#recodePreview .preview-warn {color:#d9534f;}
#recodePreview .preview-note {
    color:#7a869c;
    font-size:11px;
    margin-top:2px;
}

/*문항/리코드 설정 팝업이 univ 상단 고정 바 등 페이지 UI에 가려지지 않도록 모달 오버레이를 위로 올림
  (univ 온보딩 도움말 오버레이 z-index:999999 보다는 아래 유지)*/
.blocker {
    z-index: 99990 !important;
}

/* 문항 설정 모달의 선택영역 우클릭 메뉴는 모달 오버레이보다 위에 표시 */
#contextmenu {
    z-index: 100000;
}

/* 주관식 문항 합치기: 선택 문항 삭제 아이콘 크기 고정 */
#mergeOpenSelected .merge-open-unit .merge-open-delete {
    width:1.2em;
    height:1.2em;
    min-width:1.2em;
    max-width:1.2em;
    object-fit:contain;
}
