/* Shared popup presentation. Keep modal width/height and screen-specific layout local. */
.pop-wrapper:has(.oc-popup-form-popup){padding-top:0!important}
.pop-wrapper:has(.oc-popup-table-popup){padding-top:0!important}
.oc-popup-modal .modal-body{position:relative;padding:20px 22px 22px!important}
.oc-popup-body{height:100%;padding:8px 22px!important;color:#102a4c;font-size:14px;box-sizing:border-box}
.oc-popup-body .oc-popup-search{display:flex;align-items:center;gap:12px;margin:0 0 14px;padding:14px 16px;border:1px solid #dce5ef;border-radius:8px;background:#f8fafc}
.oc-popup-body .oc-popup-search-list{display:flex;width:100%;align-items:center;gap:8px;margin:0;padding:0;list-style:none}
.oc-popup-body .oc-popup-search-list>li{display:flex;align-items:center;margin:0}
.oc-popup-body .oc-popup-search-list label{margin:0;white-space:nowrap;word-break:keep-all}
.oc-popup-body .oc-popup-search-list>.oc-popup-search-grow{flex:1 1 auto;min-width:0}
.oc-popup-body .oc-popup-search-list>.oc-popup-search-grow input[type="text"]{width:100%;min-width:0}
.oc-popup-body .oc-popup-search-list input[type="text"]{width:280px;padding:0 12px;color:#172b4d}
.oc-popup-body .oc-popup-search input[type="text"],.oc-popup-body .oc-popup-search select,.oc-popup-body .oc-popup-search .select2-selection--single{height:32px!important;border:1px solid #cfdbe8!important;border-radius:6px!important;background:#fff;box-shadow:none!important}
.oc-popup-body .oc-popup-search .select2-selection__rendered{line-height:30px!important}
.oc-popup-body .oc-popup-search .select2-selection__arrow{height:30px!important}
.oc-popup-body .btn{min-width:68px;height:32px;margin:0;padding:0 16px;border:1px solid #c9d7e8;border-radius:6px;background:#fff;color:#334e68;font-size:14px;font-weight:600;box-shadow:none}
.oc-popup-body .oc-btn-outline-primary{border-color:var(--portal-theme-primary,#0b68d1);color:var(--portal-theme-primary,#0b68d1)}
.oc-popup-body .oc-btn-primary{border-color:var(--portal-theme-primary,#0b68d1);background:var(--portal-theme-primary,#0b68d1);color:#fff}
.oc-popup-form-popup{display:flex;height:auto!important;min-height:0;flex-direction:column;overflow:visible!important}
.oc-popup-actions{display:flex;flex:0 0 auto;align-items:center;justify-content:flex-end;gap:8px;margin:0 0 10px;padding:0}
.oc-popup-form-content{height:auto!important;min-height:0;overflow:visible!important}
.oc-popup-form-stack{display:flex;height:auto!important;flex-direction:column;gap:14px;margin:0;padding:0;overflow:visible!important}
.oc-popup-form-field{display:block;width:100%;margin:0;padding:0}
.oc-popup-form-field>label{display:block;margin:0 0 7px;color:#27435f;font-size:14px;font-weight:600;line-height:20px}
.oc-popup-form-field .required{margin-left:3px;color:#e5484d}
.oc-popup-control{display:block;width:100%;min-width:0}
.oc-popup-control--compact{width:150px}
.oc-popup-form-field .form-control,
.oc-popup-form-field .select2-selection--single{width:100%!important;height:32px!important;min-height:32px!important;border:1px solid #cfdbe8!important;border-radius:6px!important;background:#fff;box-shadow:none!important}
.oc-popup-form-field .form-control{padding:0 12px;color:#172b4d;font-size:14px}
.oc-popup-form-field .form-control:focus,
.oc-popup-form-field .select2-container--focus .select2-selection--single,
.oc-popup-form-field .select2-container--open .select2-selection--single{border-color:var(--portal-theme-primary,#0b68d1)!important;box-shadow:0 0 0 2px rgba(11,104,209,.12)!important}
.oc-popup-form-field .select2-selection__rendered{height:30px;padding:0 32px 0 12px;line-height:30px!important}
.oc-popup-form-field .select2-selection__arrow{height:30px!important;right:6px}
.oc-popup-hint{display:block;margin-top:5px;color:#667891;font-size:12px;line-height:18px;white-space:nowrap}
.oc-popup-form-field label.error{display:block;margin-top:5px;color:#e5484d;font-size:12px}
.oc-popup-control-hidden{display:none!important}
.oc-popup-grid-form{padding-top:10px!important;overflow:hidden!important}
.oc-popup-grid-form .oc-popup-form-content{height:auto!important;max-height:none!important;overflow:visible!important}
.oc-popup-grid-form .form-row{display:flex;flex-wrap:wrap;margin:0 -8px;padding:0}
.oc-popup-grid-form .form-group{margin:0 0 14px;padding:0 8px}
.oc-popup-grid-form .form-group>label{display:block;margin:0 0 7px;color:#27435f;font-size:14px;font-weight:600;line-height:20px}
.oc-popup-grid-form .form-control,
.oc-popup-grid-form .select2-selection--single{width:100%!important;height:32px!important;min-height:32px!important;border:1px solid #cfdbe8!important;border-radius:6px!important;background:#fff;box-shadow:none!important}
.oc-popup-grid-form .form-control{padding:0 12px;color:#172b4d;font-size:14px}
.oc-popup-grid-form .form-control:focus,
.oc-popup-grid-form .select2-container--focus .select2-selection--single,
.oc-popup-grid-form .select2-container--open .select2-selection--single{border-color:var(--portal-theme-primary,#0b68d1)!important;box-shadow:0 0 0 2px rgba(11,104,209,.12)!important}
.oc-popup-grid-form .select2-selection__rendered{height:30px;padding:0 32px 0 12px;line-height:30px!important}
.oc-popup-grid-form .select2-selection__arrow{height:30px!important;right:6px}
.oc-popup-grid-form label.error{display:block;margin-top:5px;color:#e5484d;font-size:12px}
.oc-popup-grid-form--single .form-row{flex-direction:column;flex-wrap:nowrap;gap:14px;margin:0}
.oc-popup-grid-form--single .form-group{flex:0 0 auto!important;width:100%!important;max-width:100%!important;margin:0;padding:0}
.oc-popup-grid-form--two-column .form-group{flex:0 0 50%;max-width:50%}
.oc-popup-grid-form .custom-control-label{color:#27435f;font-size:14px}
.oc-popup-grid-form .custom-control{min-height:24px}
.oc-popup-grid-form .custom-control-input:checked~.custom-control-label::before{border-color:var(--portal-theme-primary,#0b68d1);background:var(--portal-theme-primary,#0b68d1)}
.oc-popup-radio-list{display:flex;min-height:32px;align-items:center;gap:24px}
.oc-popup-grid-form .input-group-addon{display:flex;align-items:center;justify-content:center;width:34px;border-color:#cfdbe8;border-radius:0 6px 6px 0}
.oc-popup-grid-form .dovTag{width:160px!important;line-height:31px}
.oc-popup-table-frame{position:relative;min-height:0;overflow:hidden;border:1px solid #cfdbe8!important;border-radius:8px;background:#fff;box-sizing:border-box}
.oc-popup-table-frame>.oc-popup-table{height:100%!important;overflow:hidden;border:0!important;border-radius:0!important;background:#fff}
.oc-popup-table-frame>.oc-popup-table--scroll{overflow-x:hidden!important;overflow-y:auto!important}
.oc-popup-table table{width:100%!important;margin:0;border-collapse:collapse;table-layout:fixed}
.oc-popup-table table:first-child{border-top:0!important}
.oc-popup-table th,.oc-popup-table td{vertical-align:middle}
.oc-popup-table th{height:42px;padding:0 12px!important;border:0!important;border-bottom:1px solid #dce5ef!important;background:#f8fafc!important;color:#52677f;font-weight:600;white-space:nowrap}
.oc-popup-table td{height:42px!important;padding:0 12px!important;border:0!important;border-bottom:1px solid #edf1f6!important;color:#172b4d;vertical-align:middle!important}
.oc-popup-table tbody tr:hover td{background:#f3f8ff!important}
.oc-popup-paging{display:flex!important;flex:0 0 72px;align-items:flex-start;justify-content:center;width:100%;height:72px;padding:12px 0 10px;box-sizing:border-box;overflow:visible}
.oc-popup-paging .pagination-center{display:inline-flex!important;width:auto!important;align-items:center;gap:2px;margin:0;padding:4px;border:1px solid #d6e1ed;border-radius:999px;background:#fff;list-style:none;box-shadow:0 2px 8px rgba(16,42,76,.08);overflow:visible}
.oc-popup-paging .page-item{margin:0;border:0!important;background:transparent!important;box-shadow:none!important}
.oc-popup-paging .page-item::before,.oc-popup-paging .page-item::after,.oc-popup-paging .page-link::before,.oc-popup-paging .page-link::after{display:none!important;content:none!important}
.oc-popup-paging .page-link{display:flex;width:36px;height:36px;margin:0!important;padding:0;align-items:center;justify-content:center;border:0!important;border-radius:50%!important;background:transparent;color:#52657d;text-decoration:none!important;box-shadow:none!important}
.oc-popup-paging .page-item.active .page-link{background:var(--portal-theme-primary,#0b68d1)!important;color:#fff!important;font-weight:700;box-shadow:0 2px 6px rgba(11,104,209,.25)!important}
.oc-popup-paging .page-link:hover{background:#edf5ff;color:var(--portal-theme-primary,#0b68d1)}
.oc-popup-table-popup{display:flex;height:100%!important;min-height:0;flex-direction:column;overflow:hidden!important}
.oc-popup-table-popup>.oc-popup-table-frame{flex:1 1 auto;height:auto;min-height:0}
.oc-popup-table-popup>.oc-popup-table-frame>.oc-popup-table{height:100%!important}

/* 관련문서선택: 공통 검색/표/페이징 위에 화면 구조만 정의 */
.approval-rel-doc-v3{display:flex;height:100%!important;min-height:0;flex-direction:column;overflow:hidden!important}
.approval-rel-doc-v3 .oc-popup-search-list select{width:120px!important;min-width:120px}
.approval-rel-doc-v3 .oc-popup-search-list .select2-container{width:120px!important;min-width:120px}
.approval-rel-doc-v3 #tabRelDoc{flex:0 0 auto;margin:0 0 10px!important;border-bottom:1px solid #dce5ef}
.approval-rel-doc-v3 #tabRelDoc .nav-link{display:flex;height:40px;padding:0 14px;align-items:center;border:0;border-bottom:2px solid transparent;color:#718198;font-weight:600}
.approval-rel-doc-v3 #tabRelDoc .nav-link.active{border-bottom-color:var(--portal-theme-primary,#0b68d1);background:transparent;color:var(--portal-theme-primary,#0b68d1)}
.approval-rel-doc-v3>.tab-content{flex:1 1 auto;min-height:0;overflow:hidden}
.approval-rel-doc-v3>.tab-content>.tab-pane{height:100%;min-height:0}
.approval-rel-doc-v3 #divRelTab1In,.approval-rel-doc-v3 #divRelTab2In{display:flex;height:100%;min-height:0;padding:0!important;flex-direction:column}
.approval-rel-doc-v3 .oc-popup-table-frame{flex:1 1 auto;height:auto;min-height:0}
.approval-rel-doc-v3 #divDocList,.approval-rel-doc-v3 #divPRelDocList{height:100%!important;min-height:0!important;max-height:none!important;overflow-x:hidden!important;overflow-y:auto!important}

/* 전자결재 문서접수대장 등록/수정 팝업 */
.official-receipt-popup-shell{
	height:auto;
	padding:0;
	box-sizing:border-box;
}
.official-receipt-popup-v2 .oc-popup-form-grid{
	display:block;
	height:auto!important;
	margin:0;
	overflow:hidden;
	border:1px solid #cfdbe8!important;
	border-radius:8px;
	background:#fff;
}
.official-receipt-popup-v2 .oc-popup-form-row{
	display:grid;
	grid-template-columns:112px minmax(0,1fr);
	min-height:42px;
	border-bottom:1px solid #dce5ef!important;
	background:#fff;
}
.official-receipt-popup-v2 .oc-popup-form-row:last-child{
	border-bottom:0!important;
}
.official-receipt-popup-v2 .oc-popup-form-label{
	display:flex;
	align-items:center;
	justify-content:flex-end;
	padding:0 14px!important;
	border-right:1px solid #dce5ef!important;
	background:#f8fafc!important;
	color:#27435f;
	font-weight:600;
	white-space:nowrap;
}
.official-receipt-popup-v2 .oc-popup-form-field{
	display:flex;
	min-width:0;
	align-items:center;
	padding:5px 8px!important;
	background:#fff!important;
}
.official-receipt-popup-v2 #formReceipt input.form-control,
.official-receipt-popup-v2 #formReceipt .input-group-btn>.form-control,
.official-receipt-popup-v2 #formRegInfo input.form-control,
.official-receipt-popup-v2 #formRegInfo .input-group-btn>.form-control{
	height:32px!important;
	min-height:32px!important;
	border:1px solid #cfdbe8!important;
	border-radius:6px!important;
	background:#fff;
	box-shadow:none!important;
}
.official-receipt-popup-v2 #formReceipt input.form-control:focus,
.official-receipt-popup-v2 #formReceipt .input-group-btn>.form-control:focus-within,
.official-receipt-popup-v2 #formRegInfo input.form-control:focus,
.official-receipt-popup-v2 #formRegInfo .input-group-btn>.form-control:focus-within{
	border-color:var(--portal-theme-primary,#0b68d1)!important;
	box-shadow:0 0 0 2px color-mix(in srgb,var(--portal-theme-primary,#0b68d1) 12%,transparent)!important;
}
.official-receipt-popup-v2 .board-notice-date-control{flex:0 0 128px;width:128px;height:36px}
.official-receipt-popup-v2 .board-notice-date-control .input-group-date{display:flex;width:100%;height:36px;align-items:stretch;box-sizing:border-box;overflow:hidden;border:1px solid #aebfce!important;border-radius:5px;background:#fff}
.official-receipt-popup-v2 #formReceipt .board-notice-date-control .input-group-date>input{flex:1 1 auto;min-width:0;width:auto!important;height:34px!important;min-height:34px!important;margin:0;padding:0 8px!important;border:0!important;border-radius:0!important;background:#fff;line-height:34px;box-shadow:none!important}
.official-receipt-popup-v2 #formReceipt .board-notice-date-control .input-group-addon{position:static;display:flex!important;flex:0 0 32px;width:32px;height:34px;align-items:center;justify-content:center;box-sizing:border-box;margin:0;padding:0!important;border:0;border-left:1px solid #d4dee7!important;background:#fff;box-shadow:none!important}
.official-receipt-popup-v2 .board-notice-date-control .input-group-addon i,.official-receipt-popup-v2 .board-notice-date-control .input-group-addon svg{margin:0!important;line-height:1}
.official-receipt-popup-v2 #formReceipt .input-group-btn,
.official-receipt-popup-v2 #formRegInfo .input-group-btn{
	display:flex!important;
	width:100%;
	min-width:0;
	align-items:stretch;
	flex-wrap:nowrap!important;
	overflow:hidden;
}
.official-receipt-popup-v2 #formReceipt #ulEmp,
.official-receipt-popup-v2 #formRegInfo #ulEmp{
	display:flex;
	flex:1 1 0!important;
	min-width:0;
	width:auto!important;
	height:32px!important;
	min-height:32px!important;
	align-items:center;
	margin:0;
	overflow:hidden;
}
.official-receipt-popup-v2 #formReceipt #ulEmp>li,
.official-receipt-popup-v2 #formRegInfo #ulEmp>li{
	display:inline-flex;
	height:25px;
	align-items:center;
	box-sizing:border-box;
	margin:0 4px 0 0;
	padding:0 7px;
	border:1px solid #9fc5ee;
	border-radius:4px;
	background:#eef6ff;
	color:#174f87;
	font-size:13px;
	line-height:23px;
}
.official-receipt-popup-v2 #formReceipt #ulEmp>li i,
.official-receipt-popup-v2 #formRegInfo #ulEmp>li i{margin-left:6px;color:#55738f}
.official-receipt-popup-v2 #formReceipt #btnSelectEmp,
.official-receipt-popup-v2 #formRegInfo #btnSelectEmp{
	display:inline-flex!important;
	flex:0 0 58px!important;
	min-width:58px!important;
	height:29px;
	min-height:29px;
	align-items:center;
	justify-content:center;
	margin:0 0 0 6px;
	border:1px solid #c9d7e8;
	padding:0 11px;
	border-radius:5px;
	background:#fff;
	font-size:13px;
	line-height:27px;
}
.official-receipt-popup-v2 .oc-popup-actions #btnSave{height:29px;min-height:29px;padding:0 11px;border-radius:5px;font-size:13px;line-height:27px}
.official-receipt-popup-v2 #formRegInfo #divSubject{display:flex;width:100%;min-width:0}
.official-receipt-popup-v2 .oc-popup-form-field>label{display:block;width:100%;margin:0;color:#172b4d;line-height:1.45;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.official-receipt-popup-v2.official-ledger-view-v2{padding-bottom:8px}
.official-receipt-popup-v2 #divAttachFileList{
	width:100%;
	min-height:0;
	border:0;
	background:transparent;
}
.official-receipt-popup-v2 .official-receipt-attach-section{
	width:100%;
	margin-top:12px;
}
.official-receipt-popup-v2 #divAttachFileList .file-container{
	overflow:visible;
	border:0;
	border-radius:0;
	background:transparent;
}
.official-receipt-popup-v2 #divAttachFileList .file-container>.file-header-container{
	min-height:38px;
	padding:0;
	border:0;
	background:transparent;
}
.official-receipt-popup-v2 .official-receipt-file-button{
	display:inline-flex;
	min-width:72px;
	height:29px;
	min-height:29px;
	align-items:center;
	justify-content:center;
	box-sizing:border-box;
	margin:0 10px 0 0;
	padding:0 11px;
	border:1px solid #c9d7e8;
	border-radius:5px;
	background:#fff;
	color:#27435f;
	font-size:13px;
	line-height:27px;
	cursor:pointer;
}
.official-receipt-popup-v2 .official-receipt-file-button:hover,
.official-receipt-popup-v2 .official-receipt-file-button:focus{
	border-color:var(--portal-theme-primary,#0b68d1);
	color:var(--portal-theme-primary,#0b68d1);
	background:#f5f9ff;
	outline:0;
}
.official-receipt-popup-v2 #divAttachFileList .file-container>.file-body-container.border-line{
	margin-top:6px;
	border:0;
}
.official-receipt-popup-v2 #divAttachFileList .file-container>.file-body-container>.file-uplod-body{
	box-sizing:border-box;
	height:86px!important;
	padding:6px 10px;
	border:1px dashed #cfdbe8;
	border-radius:6px;
	background:#fff;
}

/* 전자결재 수신확인 팝업 */
.official-receive-popup-v2{
	display:flex;
	height:100vh!important;
	min-height:0;
	flex-direction:column;
	overflow:hidden;
}
.official-receive-popup-v2 .official-receive-search{
	flex:0 0 auto;
	min-height:64px;
	margin-bottom:14px;
}
.official-receive-popup-v2 .official-receive-search label{
	flex:0 0 auto;
	margin:0;
	color:#27435f;
	font-weight:600;
	white-space:nowrap;
}
.official-receive-popup-v2 .official-receive-search input{
	flex:1 1 auto;
	min-width:0;
}
.official-receive-popup-v2 .official-receive-table-frame{
	flex:1 1 auto;
	height:calc(100vh - 94px)!important;
	min-height:0;
}
.official-receive-popup-v2 .official-receive-table-scroll{
	height:100%!important;
	min-height:0;
	overflow-y:auto;
	overflow-x:hidden;
}
.official-receive-popup-v2 .official-receive-table-v2{
	width:100%;
	margin:0;
	border:0;
	border-collapse:collapse;
	table-layout:fixed;
}
.official-receive-popup-v2 .official-receive-table-v2 th{
	position:sticky;
	top:0;
	z-index:1;
	height:42px;
	padding:0 10px;
	border:0;
	border-bottom:1px solid #dce5ef;
	background:#f8fafc;
	color:#52677f;
	font-weight:600;
	text-align:center;
	white-space:nowrap;
}
.official-receive-popup-v2 .official-receive-table-v2 td{
	height:38px;
	padding:0 10px;
	border:0;
	border-bottom:1px solid #edf1f6;
	color:#172b4d;
	text-align:center;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
}
.official-receive-popup-v2 .official-receive-table-v2 tbody tr:hover td{
	background:#f3f8ff;
}
.official-receive-popup-v2 .official-receive-table-v2 .official-receive-empty{
	height:120px;
	border-bottom:0;
	color:#73859a;
	text-align:center;
}
.official-receive-popup-v2 .official-receive-table-v2 tbody tr:hover .official-receive-empty{
	background:transparent;
}
/* 결재라인 지정 팝업은 브라우저 가용 영역 안에서 최대한 넓게 사용한다. */
#simple_modal.app-line-design-shell {
	overflow: hidden;
}

#simple_modal .app-line-design-dialog {
	position: fixed !important;
	top: 50% !important;
	left: 50% !important;
	width: calc(100vw - 48px) !important;
	max-width: 1250px !important;
	height: calc(100vh - 56px) !important;
	max-height: 840px !important;
	margin: 0 !important;
	transform: translate(-50%, -50%) !important;
	transition: none !important;
}

#simple_modal .app-line-design-dialog .modal-content {
	display: flex;
	height: 100% !important;
	min-height: 0;
	flex-direction: column;
	overflow: hidden;
}

#simple_modal .app-line-design-dialog .modal-header {
	flex: 0 0 auto;
}

#simple_modal .app-line-design-dialog .modal-body {
	min-height: 0;
	flex: 1 1 auto;
	overflow: hidden;
}

#simple_modal .app-line-design-dialog iframe {
	width: 100%;
	height: 100% !important;
}

@media (max-width: 760px), (max-height: 620px) {
	#simple_modal .app-line-design-dialog {
		width: calc(100vw - 20px) !important;
		height: calc(100vh - 20px) !important;
	}
}

/* Shared multilingual input: one outer outline, borderless inner input and icon control. */
.multilang-area {
	position: relative;
	box-sizing: border-box;
	display: flex;
	width: 100%;
	height: 30px;
	min-height: 0;
	align-items: stretch;
	overflow: visible;
	border: 0 !important;
	border-radius: 4px;
	background: #fff;
	box-shadow: none;
}

.multilang-area::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 3;
	box-sizing: border-box;
	border: 1px solid #b7c5d1;
	border-radius: 4px;
	pointer-events: none;
}

.multilang-area:focus-within {
	border-color: #7891aa !important;
	box-shadow: 0 0 0 2px rgba(21, 51, 79, 0.08);
}

.multilang-area:focus-within::after {
	border-color: #7891aa;
}

.multilang-area > input.form-control {
	box-sizing: border-box;
	flex: 1 1 auto;
	width: 1%;
	min-width: 0;
	height: 28px !important;
	margin: 0;
	border: 0 !important;
	border-radius: 3px 0 0 3px !important;
	box-shadow: none !important;
}

.multilang-area > .input-group-addon {
	position: relative !important;
	box-sizing: border-box;
	display: grid;
	flex: 0 0 32px;
	width: 32px;
	height: 28px;
	place-items: center;
	margin: 0;
	padding: 0 !important;
	border: 0;
	border-left: 1px solid #d5dee8;
	border-radius: 0 3px 3px 0;
	background: #fff;
	cursor: pointer;
}

.multilang-area > .input-group-addon .oc {
	position: absolute !important;
	top: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	left: 0 !important;
	display: flex !important;
	width: auto !important;
	height: auto !important;
	align-items: center;
	justify-content: center;
	margin: 0 !important;
	padding: 0 !important;
	font-size: 14px;
	line-height: 1 !important;
	vertical-align: middle;
	transform: none !important;
}

.multilang-area > .input-group-addon .oc::before {
	position: static !important;
	display: block;
	width: auto;
	height: auto;
	margin: 0 !important;
	line-height: 1 !important;
	text-align: center;
	transform: none !important;
}

