@charset "UTF-8";
@import url('/resources/css/scroll-edge-fade-v2.css?ver=2026081416');

/* Unified list styles: Board feed, shared list frame, Board/FileData list. */
/* Formerly bdFeedList.css */

/*
 * Board feed skin.
 * Only the generated feed contents are targeted. Search, command bar,
 * list-count controls and paging keep their existing BoardList001 styles.
 */
.feed-item-list {
	display: flex;
	min-width: 0;
	flex-direction: column;
	background: #fff;
}

/* 전자결재 공통 설정 화면 */
.approval-common-setting-screen-v2 {
	box-sizing: border-box;
	min-height: 0;
	padding-bottom: 18px !important;
}

.approval-common-setting-screen-v2 > .system-entity-layout-v2,
.approval-common-setting-screen-v2 .oc-settings-panel.system-entity-layout-v2 {
	align-items: stretch;
	flex-wrap: nowrap;
	gap: 16px;
	padding: 0 0 18px;
}

/* Bootstrap 열 너비 합계(100%)에 패널 간격이 더해져 다음 줄로 밀리지 않게 한다. */
.approval-common-setting-screen-v2 > .system-entity-layout-v2 > .col-xl-4.system-entity-pane-v2 {
	width: auto;
	max-width: none;
	flex: 0 0 calc(33.333333% - 8px);
}

.approval-common-setting-screen-v2 > .system-entity-layout-v2 > .col-xl-8.system-entity-pane-v2 {
	width: auto;
	max-width: none;
	flex: 1 1 calc(66.666667% - 8px);
}

.approval-common-setting-screen-v2 > .system-entity-layout-v2 > .col-xl-3.system-entity-pane-v2 {
	width: auto;
	max-width: none;
	flex: 0 0 calc(25% - 8px);
}

.approval-common-setting-screen-v2 > .system-entity-layout-v2 > .col-xl-9.system-entity-pane-v2 {
	width: auto;
	max-width: none;
	flex: 1 1 calc(75% - 8px);
}

.approval-common-setting-screen-v2 .system-entity-pane-v2 {
	position: relative;
	box-sizing: border-box;
	min-width: 0;
	height: 100%;
	padding: 14px !important;
	border: 1px solid #cfdbe7 !important;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 1px 2px rgba(21, 54, 86, .03);
	overflow: hidden;
}

/* 설정 상세 패널은 상단 명령 영역과 본문이 반드시 세로로 쌓인다.
 * system-entity-pane-v2의 공통 flex가 기본 row로 동작하면 툴바가 본문
 * 옆으로 밀리고 패널 자체에 불필요한 가로 스크롤이 생긴다. */
.approval-common-setting-screen-v2.system-entity-screen-v2 .system-entity-form-v2 {
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.approval-common-setting-screen-v2.system-entity-screen-v2 .system-entity-form-v2 > :is(.btn-area, .oc-settings-toolbar, .system-entity-command-v2) {
	width: 100%;
	min-width: 0;
	flex: 0 0 auto;
	order: 0;
}

.approval-common-setting-screen-v2 .system-entity-form-v2 > .system-entity-pane-body-v2,
.approval-common-setting-screen-v2 .system-entity-form-v2 > .content-wrapper {
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	min-height: 0;
	flex: 1 1 auto;
	height: auto;
	overflow-x: hidden;
	overflow-y: auto;
	order: 1;
}

.approval-common-setting-screen-v2 .system-entity-form-v2 > .system-entity-pane-body-v2 > .content-auto,
.approval-common-setting-screen-v2 .system-entity-form-v2 > .content-wrapper > .content-auto {
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
}

/* 모든 전자결재 설정 상세 패널의 상단 명령 영역 구분선.
 * 버튼/탭 마크업의 실제 너비와 관계없이 패널 안쪽 전체 폭으로 표시한다. */
.approval-common-setting-screen-v2 .system-entity-form-v2::before {
	content: "";
	position: absolute;
	top: 57px;
	left: 14px;
	right: 14px;
	z-index: 1;
	height: 1px;
	background: #dfe7f0;
	pointer-events: none;
}

.approval-common-setting-screen-v2 .system-entity-pane-body-v2 {
	height: 100%;
	min-height: 0;
}

.approval-common-setting-screen-v2 :is(#divDocNumSet, #formList, #divApprovalFolder) {
	min-height: 0;
	flex: 1;
	overflow: auto;
}

.approval-common-setting-screen-v2 .system-entity-list-v2.standard-list-frame-v2 {
	border: 1px solid #e1e8f0;
	background: #fff;
}

.approval-common-setting-screen-v2 .standard-list-table-v2 thead th {
	height: 40px !important;
	min-height: 40px !important;
	background: #f5f8fc !important;
}

.approval-common-setting-screen-v2 .standard-list-table-v2 tbody td {
	height: 40px !important;
	min-height: 40px !important;
}

.approval-common-setting-screen-v2 :is(.btn-area, .oc-settings-toolbar) {
	display: flex;
	box-sizing: border-box;
	min-height: 44px;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
	margin-bottom: 10px !important;
	border-bottom: 0;
}

.approval-common-setting-screen-v2 :is(.btn-area, .oc-settings-toolbar) > .btn {
	height: 29px !important;
	min-width: 54px;
	padding: 0 12px !important;
	border-radius: 5px;
	line-height: 27px !important;
}

.approval-common-setting-screen-v2 .btn-outline-secondary {
	color: #e26a6a;
	border-color: #efb5b5;
	background: #fff;
}

/* 결재함설정: 명령 버튼은 상세 패널 우측 상단의 공통 위치를 유지한다. */
.app-folder-setting-v2 .system-entity-form-v2 {
	position: relative;
	padding-top: 68px !important;
}

.app-folder-setting-v2 .system-entity-form-v2 > .oc-settings-toolbar {
	position: absolute;
	top: 14px;
	right: 14px;
	left: 14px;
	z-index: 3;
	height: 29px;
	min-height: 29px;
	margin: 0 !important;
}

.app-folder-setting-v2 .system-entity-form-v2 > .oc-settings-toolbar > .btn {
	height: 29px !important;
	min-width: 54px;
	padding: 0 12px !important;
	border-radius: 5px;
	line-height: 27px !important;
	background: #fff !important;
}

.app-folder-setting-v2 .system-entity-form-v2 > .oc-settings-toolbar > .btn-outline-light {
	color: #173653 !important;
	border-color: #173653 !important;
}

.app-folder-setting-v2 .system-entity-form-v2 > .oc-settings-toolbar > .btn-outline-secondary {
	color: #e26a6a !important;
	border-color: #efb5b5 !important;
}

/* 양식관리 계열은 사원관리처럼 탭과 명령 버튼을 같은 상단 행에 둔다. */
.approval-common-setting-screen-v2 .system-entity-form-v2:has(> .btn-area + .nav-tabs) {
	position: relative;
}

.approval-common-setting-screen-v2 .system-entity-form-v2:has(> .btn-area + .nav-tabs) > .btn-area {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 2;
	min-height: 44px;
	margin: 0 !important;
	border-bottom: 0;
}

.approval-common-setting-screen-v2 .system-entity-form-v2:has(> .btn-area + .nav-tabs) > .nav-tabs {
	box-sizing: border-box;
	min-height: 44px;
	margin: 0 0 10px !important;
	padding-right: 250px;
	border-bottom: 0;
}

.approval-common-setting-screen-v2 .system-entity-form-v2:has(#btnFormDiv) > .nav-tabs {
	padding-right: 480px;
}

.approval-common-setting-screen-v2 .system-entity-form-v2 > .nav-tabs .nav-link {
	height: 44px;
	padding-top: 12px;
	padding-bottom: 11px;
}

.approval-common-setting-screen-v2 .search-area {
	box-sizing: border-box;
	margin: 0 0 10px;
	border: 1px solid #d9e3ee;
	border-radius: 7px;
	background: #fff;
}

.approval-common-setting-screen-v2 .oc-settings-tree,
.approval-common-setting-screen-v2 .oc-settings-detail {
	min-height: 0;
}

.approval-common-setting-screen-v2 .oc-settings-tree > .content-auto {
	height: 100%;
	min-height: 0;
}

.approval-common-setting-screen-v2 :is(.disp-item-place, #ulNumSetBase, #ulNumSetItem, #ulSecSetItem) {
	box-sizing: border-box;
	min-height: 50px;
	border: 1px dashed #d6dee8;
	border-radius: 4px;
	background: #fff;
}

.feed-item-list.no-item {
	height: 100%;
	align-items: center;
	justify-content: center;
}

.feed-item-list ul,
.feed-item-list li {
	margin: 0;
	padding: 0;
	list-style: none;
}

.feed-item-list .feed-item {
	position: relative;
	box-sizing: border-box;
	padding: 16px 22px 14px !important;
	border: 0;
	border-bottom: 1px solid #e5ebf2;
	background: #fff;
	transition: background-color .14s ease;
}

.feed-item-list .feed-item:hover,
.feed-item-list .feed-item.feed-thread-open {
	background: #f8fafc;
}

.feed-item-list .feed-item[data-read_yn="N"]::before {
	content: "";
	position: absolute;
	top: 10px;
	bottom: 10px;
	left: 0;
	width: 3px;
	background: #147bd1;
}

.feed-item-list .feed-head {
	display: flex;
	min-width: 0;
	align-items: flex-start;
}

.feed-item-list .feed-head .profile-img {
	display: flex;
	width: 40px;
	height: 40px;
	flex: 0 0 40px;
	align-items: center;
	justify-content: center;
}

.feed-item-list .feed-head .profile-img img {
	display: block;
	width: 40px !important;
	height: 40px !important;
	border: 1px solid #dbe4ed;
	border-radius: 8px;
	background: #eef3f8;
	object-fit: cover;
}

.feed-item-list .feed-head .profile-img .icon-corner-down-right {
	flex: 0 0 auto;
}

.feed-item-list .feed-head .writer-info {
	display: flex;
	min-width: 0;
	flex: 1 1 auto;
	flex-wrap: wrap;
	align-items: center;
	margin: 0 0 0 12px !important;
	gap: 2px 8px;
}

.feed-item-list .feed-head .feed-writer {
	color: #173854;
	font-size: 14px;
	font-weight: 700;
	line-height: 20px;
}

.feed-item-list .feed-head .feed-write-info {
	display: flex;
	min-width: 0;
	align-items: center;
	color: #8292a5;
	font-size: 12px;
	line-height: 20px;
}

.feed-item-list .feed-head .feed-action-btn {
	display: flex;
	align-items: center;
	margin-left: 4px;
	gap: 2px;
}

.feed-item-list .feed-head .feed-writer-btn {
	display: inline-flex;
	height: 24px;
	align-items: center;
	margin: 0 !important;
	padding: 0 5px;
	border-radius: 4px;
	color: #718398;
	font-size: 0;
	cursor: pointer;
}

.feed-item-list .feed-head .feed-writer-btn i {
	font-size: 14px;
}

.feed-item-list .feed-head .feed-writer-btn:hover {
	color: #1c5f96;
	background: #eaf2f9;
}

.feed-item-list .feed-body {
	display: flex;
	min-width: 0;
	flex-direction: column;
	margin: -19px 0 0 52px !important;
}

.feed-item-list .feed-body .feed-subject {
	display: block;
	min-width: 0;
	margin: 0 0 5px;
	overflow: hidden;
	color: #112f49;
	font-size: 15px;
	font-weight: 700;
	line-height: 22px;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.feed-item-list .feed-body .feed-content {
	display: -webkit-box;
	max-width: 980px;
	max-height: 44px;
	margin: 0;
	overflow: hidden;
	color: #40566c;
	font-size: 13px;
	line-height: 22px;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.feed-item-list .feed-body .feed-content > :first-child {
	margin-top: 0 !important;
}

.feed-item-list .feed-body .feed-content > :last-child {
	margin-bottom: 0 !important;
}

.feed-item-list .feed-body .feed-content br + br {
	display: none;
}

.feed-item-list .feed-body .feed-rsh-item {
	display: none;
	margin: 7px 0 0;
	color: #718398;
}

.feed-item-list .feed-body .feed-tag,
.feed-item-list .feed-body .divTag {
	margin: 7px 0 0;
}

.feed-item-list .feed-content-attach.owl-carousel {
	box-sizing: border-box;
	max-width: 520px;
	margin-top: 9px;
	padding: 0 !important;
}

.feed-item-list .feed-content-attach .custom-selector {
	overflow: hidden;
	border: 1px solid #d8e2ec;
	border-radius: 5px;
	background: #f7f9fc;
}

.feed-item-list .feed-content-attach .custom-selector img {
	display: block;
	max-width: 180px !important;
	max-height: 92px !important;
	object-fit: cover;
}

.feed-item-list .feed-foot {
	display: flex;
	min-width: 0;
	flex-direction: column;
	margin: 0 0 0 52px !important;
}

.feed-item-list .feed-foot-head,
.feed-item-list .feed-foot-head-base {
	display: flex;
	min-width: 0;
	flex-direction: column;
}

.feed-item-list .feed-item-counts {
	order: -1;
	display: flex !important;
	min-height: 28px;
	align-items: center;
	justify-content: flex-start !important;
	margin: 7px 0 0 !important;
	gap: 4px;
	color: #73869a;
	font-size: 12px;
}

.feed-item-list .feed-item-counts .feed-item-icon,
.feed-item-list .feed-item-counts .feed-item-count {
	display: inline-flex;
	height: 26px;
	align-items: center;
	margin: 0 !important;
	cursor: pointer;
}

.feed-item-list .feed-item-counts .feed-item-icon {
	padding-left: 2px;
	color: #70859a !important;
}

.feed-item-list .feed-item-counts .feed-item-icon i {
	font-size: 15px;
}

.feed-item-list .feed-item-counts .feed-item-count {
	margin-right: 12px !important;
	color: #60768d;
}

.feed-item-list .feed-item-counts .feed-item-icon:has(.icon-message-square),
.feed-item-list .feed-item-counts .feed-item-icon:has(.icon-message-square) + .feed-item-count {
	color: #1269ad !important;
	font-weight: 600;
}

.feed-item-list .feed-item-counts .feed-item-icon:has(.icon-message-square) + .feed-item-count::before {
	content: "댓글 ";
}

.feed-item-list .feed-reply-write {
	display: none !important;
	width: 100%;
	margin-top: 7px;
}

.feed-item-list .feed-thread-open .feed-reply-write {
	display: flex !important;
}

.feed-item-list .feed-reply-write textarea {
	height: 40px !important;
	min-height: 40px !important;
	padding: 9px 12px;
	border: 1px solid #cbd8e5;
	border-radius: 5px 0 0 5px;
	background: #fff;
	font-size: 13px;
	line-height: 20px;
	resize: none;
}

.feed-item-list .feed-reply-write .btn {
	display: inline-flex;
	height: 40px;
	align-items: center;
	justify-content: center;
	padding: 0 14px;
	border-color: #285b87;
	border-radius: 0 5px 5px 0;
	color: #174f7f;
	background: #fff;
}

.feed-item-list .feed-reply-write-attach {
	display: none;
	margin-top: 7px;
}

.feed-item-list .feed-thread-open .feed-reply-write-attach {
	display: block;
}

.feed-item-list .feed-foot-body {
	min-width: 0;
}

.feed-item-list .feed-reply-list {
	display: none;
	margin-top: 7px;
	border-top: 1px solid #e1e8f0;
}

.feed-item-list .feed-thread-open .feed-reply-list {
	display: block;
}

.feed-item-list .feed-reply-list .comment-container {
	margin: 0;
	padding: 0;
	border: 0;
	border-bottom: 1px solid #edf1f5;
	border-radius: 0;
	background: transparent;
}

.feed-item-list .feed-reply-list .comment-main-container,
.feed-item-list .feed-reply-list .comment-sub-container {
	position: relative;
	display: block !important;
	min-height: 54px;
	margin: 0 !important;
	padding: 11px 72px 11px 42px !important;
	border: 0;
	border-radius: 0;
	background: transparent;
}

.feed-item-list .feed-reply-list .comment-sub-container {
	margin-left: 26px !important;
	border-left: 2px solid #d5e0ea;
}

.feed-item-list .feed-reply-list .comment-sub-container::after {
	display: none;
}

.feed-item-list .feed-reply-list .comment-writer-info {
	display: flex;
	min-height: 22px;
	align-items: center;
	padding: 0 !important;
	gap: 5px;
}

.feed-item-list .feed-reply-list .profile-image {
	position: absolute;
	top: 10px;
	left: 4px;
	width: 30px;
	height: 30px;
	overflow: hidden;
	border-radius: 7px;
	background: #edf2f7;
}

.feed-item-list .feed-reply-list .profile-image img {
	width: 30px !important;
	height: 30px !important;
	border-radius: 7px !important;
	object-fit: cover;
}

.feed-item-list .feed-reply-list .profile-name-info {
	color: #243f59;
	font-size: 12px;
	font-weight: 700;
}

.feed-item-list .feed-reply-list .profile-dept-info,
.feed-item-list .feed-reply-list .comment-date {
	color: #8a9aac;
	font-size: 11px;
}

.feed-item-list .feed-reply-list .comment-content {
	display: block !important;
	width: auto !important;
	padding: 3px 0 0 !important;
}

.feed-item-list .feed-reply-list .comment-content-info {
	margin: 0;
	color: #344d65;
	font-size: 12px;
	line-height: 1.55;
	white-space: pre-wrap;
	overflow-wrap: anywhere;
}

.feed-item-list .feed-reply-list .comment-info {
	display: flex;
	align-items: center;
}

.feed-item-list .feed-reply-list .comment-button {
	display: flex;
	gap: 2px;
}

.feed-item-list .feed-reply-list .comment-content-button {
	display: inline-flex;
	width: 24px;
	height: 24px;
	align-items: center;
	justify-content: center;
	margin: 0 2px !important;
	border-radius: 50%;
	color: #718396;
	cursor: pointer;
}

.feed-item-list .feed-reply-list .comment-content-button:hover {
	color: #245b8f;
	background: #eaf2f9;
}

.feed-item-list .feed-reply-list .comment-reply-cancel {
	width: auto;
	height: 28px;
	padding: 0 9px;
	border: 1px solid #cbd7e3;
	border-radius: 5px;
	white-space: nowrap;
}

.feed-item-list .feed-reply-list .comment-reply-editor {
	display: block !important;
	width: 100% !important;
	margin: 8px 0 0 !important;
}

.feed-item-list .feed-reply-list .comment-reply-editor > .input-group-btn {
	display: flex !important;
	width: 100%;
	align-items: stretch;
	margin: 0 !important;
}

.feed-item-list .feed-reply-list .comment-reply-editor textarea {
	flex: 1 1 auto;
	width: auto !important;
	min-width: 0;
	height: 52px !important;
	min-height: 52px !important;
	border-radius: 6px 0 0 6px;
	resize: none;
}

.feed-item-list .feed-reply-list .comment-reply-save {
	display: inline-flex;
	flex: 0 0 60px;
	height: 52px;
	align-items: center;
	justify-content: center;
	padding: 0 10px;
	border: 1px solid #9eb3c7;
	border-left: 0;
	border-radius: 0 6px 6px 0;
	color: #245b8f;
	background: #fff;
	white-space: nowrap;
}

@media (max-width: 900px) {
	.feed-item-list .feed-item {
		padding: 14px 12px 12px !important;
	}

	.feed-item-list .feed-body,
	.feed-item-list .feed-foot {
		margin-left: 50px !important;
	}

	.feed-item-list .feed-body .feed-content {
		max-width: 100%;
	}
}

/* 시스템 > 권한관리: 목록 / 메뉴 트리 / 사원 목록 3분할 표준 */
.role-setting-v2 {
	height: auto;
	max-height: none;
	min-height: 0;
	flex: 1 1 0;
	padding: 0 !important;
	overflow: hidden;
}

.role-setting-v2 .role-setting-layout-v2 {
	display: flex;
	height: 100%;
	min-height: 0;
	align-items: stretch;
	gap: 14px;
	margin: 0;
}

.role-setting-v2 .role-setting-pane-v2 {
	box-sizing: border-box;
	display: flex;
	min-width: 0;
	min-height: 0;
	height: 100%;
	padding: 12px;
	overflow: hidden;
	border: 1px solid #d9e2ea;
	border-radius: 6px;
	background: #fff;
}

/* Bootstrap의 3/3/6 컬럼 합계에 14px gap 두 개가 더해지면 마지막
 * 사원 목록이 잘리므로 각 비율에서 전체 gap 28px을 나누어 차감한다. */
.role-setting-v2 .role-setting-list-pane-v2,
.role-setting-v2 .role-setting-tree-pane-v2 {
	max-width: calc(25% - 7px);
	flex: 0 0 calc(25% - 7px);
}

.role-setting-v2 .role-setting-employee-pane-v2 {
	max-width: calc(50% - 14px);
	flex: 0 0 calc(50% - 14px);
}

.role-setting-v2 .role-setting-pane-v2:first-child {
	padding-left: 12px;
}

.role-setting-v2 .role-setting-pane-v2:last-child {
	padding-right: 12px;
	border-right: 1px solid #d9e2ea;
}

.role-setting-v2 .role-setting-pane-body-v2 {
	display: flex;
	flex: 1;
	flex-direction: column;
	min-width: 0;
	min-height: 0;
	height: 100%;
	padding: 0 !important;
}

.role-setting-v2 .role-setting-toolbar-v2 {
	display: flex;
	align-items: center;
	min-height: 46px;
	margin: 0 0 8px;
	padding: 0;
	border: 0;
	background: #fff;
}

.role-setting-v2 .role-setting-toolbar-v2 .search-ul {
	display: flex;
	align-items: center;
	gap: 8px;
	width: 100%;
	margin: 0;
	padding: 0;
}

.role-setting-v2 .role-setting-toolbar-v2 .search-ul > li {
	display: flex;
	align-items: center;
	margin: 0;
	padding: 0;
}

.role-setting-v2 .role-setting-toolbar-actions-v2 {
	margin-left: auto !important;
}

.role-setting-v2 .role-setting-tree-toolbar-v2 .search-ul > li:first-child {
	min-width: 0;
	flex: 1;
}

.role-setting-v2 .role-setting-tree-toolbar-v2 #ddlTopMenu {
	width: 100%;
	min-width: 100px;
	height: 34px;
}

.role-setting-v2 .role-setting-toolbar-v2 .btn,
.role-setting-v2 .role-setting-actions-v2 .btn {
	min-width: 55px;
	height: 29px;
	padding: 0 11px;
	border-radius: 5px;
	line-height: 27px;
	font-size: 13px;
}

.role-setting-v2 .role-setting-list-v2,
.role-setting-v2 .role-setting-list-frame-v2,
.role-setting-v2 .role-setting-tree-frame-v2 {
	flex: 1;
	min-width: 0;
	min-height: 0;
}

.role-setting-v2 .role-setting-list-frame-v2 {
	display: flex;
	flex-direction: column;
	height: 0 !important;
	max-height: none;
	flex: 1 1 0;
	padding: 0 !important;
}

.role-setting-v2 .role-setting-tree-frame-v2 {
	height: 0 !important;
	max-height: none;
	flex: 1 1 0;
	padding: 12px 10px;
	border: 1px solid #dce6f0;
	background: #fff;
	overflow-x: auto !important;
	overflow-y: scroll !important;
	scrollbar-gutter: stable;
}

.role-setting-v2 .role-setting-tree-frame-v2 .system-tree-panel-v2 {
	width: 100%;
	height: auto;
	min-height: 0;
	padding: 0;
	border: 0;
	overflow: visible;
}

.role-setting-v2 .role-setting-employee-toolbar-v2 {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 10px;
}

.role-setting-v2 .role-setting-filter-v2 {
	width: 100%;
	table-layout: fixed;
}

.role-setting-v2 .role-setting-filter-label-v2 {
	width: 64px;
}

.role-setting-v2 .role-setting-filter-value-v2 {
	width: auto;
}

.role-setting-v2 .role-setting-filter-v2 th {
	width: 64px;
	white-space: nowrap;
}

.role-setting-v2 .role-setting-filter-v2 :is(select, input) {
	width: 100% !important;
	min-width: 0;
	height: 34px;
}

.role-setting-v2 .role-setting-actions-v2 {
	display: flex;
	align-items: center;
	gap: 8px;
	white-space: nowrap;
}

.role-setting-v2 :is(#divRole, #divRoleEmp) {
	height: 0 !important;
	max-height: none !important;
	min-height: 0;
	flex: 1 1 0;
	overflow: auto;
}

/* simpleDataTable이 비페이징 목록에도 추가하는 빈 footer를 제거한다. */
.role-setting-v2 :is(#divRole_etc, #divRoleEmp_etc, #divRoleEmpP) {
	display: none !important;
	height: 0 !important;
	min-height: 0 !important;
	flex: 0 0 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

.role-setting-v2 :is(#divRole_table, #divRoleEmp_table) {
	width: 100% !important;
	margin: 0 !important;
	border-collapse: collapse;
	table-layout: fixed;
}

/* 헤더 th의 한 줄 구분선만 남기고 thead/tr에서 중복으로 그리는
 * 두 번째 하단선을 제거한다. */
.role-setting-v2 :is(#divRole_table, #divRoleEmp_table) thead,
.role-setting-v2 :is(#divRole_table, #divRoleEmp_table) thead tr {
	border-bottom: 0 !important;
	box-shadow: none !important;
}

.role-setting-v2 :is(#divRole_table, #divRoleEmp_table) tbody tr:first-child,
.role-setting-v2 :is(#divRole_table, #divRoleEmp_table) tbody tr:first-child > td {
	border-top: 0 !important;
}

/* freezeTable이 원본 헤더 위에 복제 헤더를 겹쳐 그리므로 셀의 선은 모두
 * 제거하고 실제로 보이는 복제 헤더 래퍼에만 한 줄을 표시한다. */
.role-setting-v2 :is(#divRole, #divRoleEmp).freeze-table
	> :is(#divRole_table, #divRoleEmp_table) > thead th {
	border-bottom: 0 !important;
}

.role-setting-v2 :is(#divRole, #divRoleEmp).freeze-table
	> .clone-head-table-wrap {
	box-sizing: border-box;
	border-bottom: 0 !important;
}

.role-setting-v2 :is(#divRole, #divRoleEmp).freeze-table
	> .clone-head-table-wrap thead th {
	border-bottom: 1px solid #e3e9f1 !important;
}

/* 포털 더보기에서 공지게시/자료실 목록으로 이동할 때 검색 영역이
 * 상단 서비스 메뉴에 붙지 않도록 목록 헤더 안에 일정한 위 여백을 둔다. */
html body:has(.board-list-v2 #divArticleList) div:has(> #ocSearchArea) {
	min-height: 48px !important;
}

html body:has(.board-list-v2 #divArticleList) #ocSearchArea {
	box-sizing: border-box;
	min-height: 40px !important;
	padding-top: 8px !important;
}

@media (max-width: 1500px) {
	.role-setting-v2 .role-setting-employee-toolbar-v2 {
		grid-template-columns: minmax(0, 1fr);
	}

	.role-setting-v2 .role-setting-actions-v2 {
		justify-content: flex-end;
	}
}

/* Two-pane feed mode: summary list + the existing Board detail screen. */
#divArticleList.board-feed-split-mode {
	height: 100% !important;
	min-width: 0;
	min-height: 0;
	overflow: hidden;
	border: 1px solid #dce4ec;
	background: #fff;
}

.board-list-v2.board-feed-split-active > .content-auto.board-feed-split-workspace {
	display: grid;
	height: calc(100dvh - 155px);
	min-height: 0;
	grid-template-columns: minmax(330px, 31%) minmax(0, 1fr);
	grid-template-rows: minmax(0, 1fr);
	overflow: hidden;
	background: #fff;
}

/* The split pane owns its footer. Hide the original full-width list footer
 * so list-count/view buttons are not rendered a second time below it. */
.board-list-v2.board-feed-split-active #divArticleList_etc,
.board-list-v2.board-feed-split-active #divArticleList_table_ViewOption {
	display: none !important;
}

.board-list-v2.board-feed-split-active > .content-auto.board-feed-split-workspace > .content-wrapper {
	display: block !important;
	box-sizing: border-box;
	height: 100%;
	min-width: 0;
	min-height: 0;
	grid-column: 1;
	grid-row: 1;
	overflow: hidden;
	border-right: 0;
}

.board-list-v2.board-feed-split-active > .content-auto.board-feed-split-workspace > #divBoardView.board-feed-detail-view {
	display: block !important;
	box-sizing: border-box;
	width: auto;
	height: 100%;
	min-width: 0;
	min-height: 0;
	grid-column: 2;
	grid-row: 1;
	overflow-x: hidden;
	overflow-y: auto;
	background: #fff;
}

/* ViewArticle001 adds is-article-view. In feed split mode the master pane must remain visible. */
.board-list-v2.board-feed-split-active.is-article-view > .content-auto > .content-wrapper {
	display: block !important;
}

.board-feed-master {
	display: flex;
	height: 100%;
	min-width: 0;
	min-height: 0;
	flex-direction: column;
	border-right: 1px solid #dce4ec;
	background: #f8fafc;
}

.board-feed-master-head {
	display: flex;
	height: 42px;
	flex: 0 0 42px;
	align-items: center;
	justify-content: space-between;
	padding: 0 16px;
	border-bottom: 1px solid #e2e8ef;
	color: #203b55;
	background: #fff;
	font-size: 13px;
}

.board-feed-master-head span {
	display: inline-flex;
	min-width: 22px;
	height: 22px;
	align-items: center;
	justify-content: center;
	border-radius: 11px;
	color: #667d93;
	background: #eef3f7;
	font-size: 11px;
}

.board-feed-master-list {
	min-height: 0;
	flex: 1 1 auto;
	overflow-x: hidden;
	overflow-y: auto;
	scrollbar-gutter: stable;
	background: #fff;
}

.board-feed-master-footer {
	display: grid;
	box-sizing: border-box;
	height: 48px;
	min-height: 48px;
	grid-template-columns: minmax(120px, 1fr) auto minmax(120px, 1fr);
	align-items: center;
	padding: 0 10px;
	border-top: 1px solid #dce4ec;
	background: #fff;
}

.board-feed-list-count {
	display: inline-flex;
	grid-column: 1;
	align-items: center;
	gap: 7px;
	margin: 0;
	color: #405c76;
	font-size: 12px;
	white-space: nowrap;
}

.board-feed-list-count-value {
	display: inline-flex;
	box-sizing: border-box;
	width: 38px;
	height: 28px;
	align-items: center;
	justify-content: center;
	padding: 0 8px;
	border: 1px solid #d5dde6;
	border-radius: 4px;
	color: #233f5b;
	background: #fff;
	font-size: 12px;
	font-weight: 400;
}

.board-feed-pagination {
	display: inline-flex;
	grid-column: 2;
	align-items: center;
	justify-content: center;
	gap: 2px;
	padding: 3px;
	border: 1px solid #d7e1ea;
	border-radius: 17px;
	background: #fff;
	box-shadow: 0 2px 7px rgba(31, 61, 89, 0.1);
}

.board-feed-pagination button {
	display: inline-flex;
	width: 26px;
	height: 26px;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 0;
	border-radius: 50%;
	color: #526b82;
	background: transparent;
	font-size: 12px;
	cursor: pointer;
}

.board-feed-pagination button:hover:not(:disabled) {
	background: #edf4fa;
}

.board-feed-pagination button.is-active {
	color: #fff;
	background: #0874c9;
	font-weight: 700;
}

.board-feed-pagination button:disabled {
	opacity: 0.35;
	cursor: default;
}

.board-feed-view-types {
	display: inline-flex !important;
	grid-column: 3;
	align-items: center;
	justify-self: end;
}

.board-feed-view-types .btn {
	display: inline-flex;
	width: 30px !important;
	height: 30px !important;
	align-items: center;
	justify-content: center;
	margin: 0 0 0 5px !important;
	padding: 0 !important;
}

.board-feed-summary {
	position: relative;
	display: flex;
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	min-height: 92px;
	align-items: flex-start;
	padding: 13px 14px;
	border: 0;
	border-bottom: 1px solid #e4eaf0;
	color: #17344f;
	background: #fff;
	text-align: left;
	cursor: pointer;
}

.board-feed-summary:hover {
	background: #f5f8fb;
}

.board-feed-summary.is-active {
	background: #eef5fb;
}

.board-feed-summary.is-active::before,
.board-feed-summary.is-unread::after {
	content: "";
	position: absolute;
}

.board-feed-summary.is-active::before {
	top: 0;
	bottom: 0;
	left: 0;
	width: 3px;
	background: #1676c4;
}

.board-feed-summary.is-unread::after {
	top: 15px;
	right: 13px;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #ee4e55;
}

.board-feed-summary-avatar {
	display: block;
	width: 38px;
	height: 38px;
	flex: 0 0 38px;
	overflow: hidden;
	border: 1px solid #dce5ed;
	border-radius: 9px;
	background: #edf2f6;
}

.board-feed-summary-avatar img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.board-feed-summary-main {
	display: flex;
	min-width: 0;
	flex: 1 1 auto;
	flex-direction: column;
	padding-left: 11px;
}

.board-feed-summary-title {
	display: block;
	min-width: 0;
	padding-right: 12px;
	overflow: hidden;
	color: #17344f;
	font-size: 14px;
	font-weight: 700;
	line-height: 20px;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.board-feed-summary-attach {
	margin-left: 5px;
	color: #7f91a4;
	font-size: 13px;
}

.board-feed-summary-meta,
.board-feed-summary-stats {
	display: flex;
	min-width: 0;
	align-items: center;
	color: #8293a5;
	font-size: 11px;
	line-height: 18px;
}

.board-feed-summary-meta {
	overflow: hidden;
	gap: 8px;
	white-space: nowrap;
}

.board-feed-summary-meta span {
	overflow: hidden;
	text-overflow: ellipsis;
}

.board-feed-summary-stats {
	justify-content: flex-end;
	margin-top: 2px;
	gap: 11px;
}

.board-feed-summary-stats span {
	display: inline-flex;
	align-items: center;
	gap: 3px;
}

.board-feed-summary-stats i {
	font-size: 13px;
}

@media (max-width: 1100px) {
	.board-list-v2.board-feed-split-active > .content-auto.board-feed-split-workspace {
		grid-template-columns: minmax(280px, 36%) minmax(0, 1fr);
	}
}

@media (max-width: 760px) {
	#divArticleList.board-feed-split-mode,
	.board-feed-master {
		height: 100% !important;
		min-height: 0;
	}

	.board-list-v2.board-feed-split-active > .content-auto.board-feed-split-workspace {
		height: auto;
		min-height: 0;
		grid-template-columns: 1fr;
		grid-template-rows: 330px minmax(480px, 1fr);
	}

	.board-list-v2.board-feed-split-active > .content-auto.board-feed-split-workspace > .content-wrapper {
		grid-column: 1;
		grid-row: 1;
		border-right: 0;
		border-bottom: 1px solid #dce4ec;
	}

	.board-list-v2.board-feed-split-active > .content-auto.board-feed-split-workspace > #divBoardView.board-feed-detail-view {
		min-height: 480px;
		grid-column: 1;
		grid-row: 2;
	}

	.board-feed-master-footer {
		grid-template-columns: auto 1fr;
	}

	.board-feed-master-list {
		overflow-y: auto;
	}

	.board-feed-pagination {
		grid-column: 2;
		justify-self: end;
	}

	.board-feed-view-types {
		display: none !important;
	}
}

/* Formerly list-view-common-v2.css */
/* Shared list-view frame for Board, FileData and Approval. */
:root {
  --oc-list-primary: #0969c3;
  --oc-list-line: #dfe6ee;
  --oc-list-text: #18344f;
}

/* Title and search controls share one 40px header line. */
html body:has(:is(#divArticleList, #divRshList)) div:has(> #ocSearchArea),
html body:has(.approval-folder-v2) div:has(> #ocSearchArea),
html body:has(:is(.standard-list-v2, .attend-settings-split-v2, .oc-split-detail-v2, .oc-settings-v2)) div:has(> #ocSearchArea) {
  min-height: 40px !important;
}

html body:has(:is(#divArticleList, #divRshList)) #ocMenuNm,
html body:has(.approval-folder-v2) #ocMenuNm,
html body:has(:is(.standard-list-v2, .attend-settings-split-v2, .oc-split-detail-v2, .oc-settings-v2)) #ocMenuNm {
  margin: 0 !important;
  line-height: 32px !important;
}

html body:has(:is(#divArticleList, #divRshList)) #ocSearchArea,
html body:has(.approval-folder-v2) #ocSearchArea,
html body:has(:is(.standard-list-v2, .attend-settings-split-v2, .oc-split-detail-v2, .oc-settings-v2)) #ocSearchArea {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: flex-end !important;
  flex-wrap: nowrap !important;
  min-height: 32px !important;
}

html body:has(#divArticleList) #divSearchEtc,
html body:has(.approval-folder-v2) #divSearchEtc {
  display: flex !important;
  height: 28px !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 12px 0 0 !important;
}

html body:has(#divArticleList) #divSearchEtc label,
html body:has(.approval-folder-v2) #divSearchEtc label {
  margin: 0 !important;
  font-size: 13px !important;
  line-height: 28px !important;
}

html body:has(:is(#divArticleList, #divRshList)) #divSearchArea,
html body:has(.approval-folder-v2) #divSearchArea {
  width: 350px !important;
  height: 28px !important;
  margin: 0 0 0 40px !important;
}

html body:has(:is(#divArticleList, #divRshList)) #divSearchArea .oc-search-area,
html body:has(.approval-folder-v2) #divSearchArea .oc-search-area {
  box-sizing: border-box !important;
  height: 28px !important;
  min-height: 28px !important;
  padding: 0 10px 0 12px !important;
  border: 1px solid #ccd8e5 !important;
  background: #fff !important;
}

html body:has(:is(#divArticleList, #divRshList)) #divSearchArea .oc-search-input,
html body:has(.approval-folder-v2) #divSearchArea .oc-search-input {
  height: 26px !important;
  padding: 0 !important;
  border: 0 !important;
  line-height: 26px !important;
}

/* Subcommands use the same 38px row and control geometry. */
html body:has(#divArticleList) #divListButton,
html body:has(#divArticleList) .col-xl-12.content-wrapper > .btn-area,
html body:has(.approval-folder-v2) .approval-folder-v2 > #divListButton,
html body:has(.approval-folder-v2) .approval-folder-v2 > .btn-area {
  box-sizing: border-box !important;
  min-height: 38px !important;
  flex-basis: 38px !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  border-bottom: 0 !important;
  background: #fff !important;
}

/* Board/FileData: when no submenu command is visible, keep only a 10px top gap. */
html body:has(#divArticleList) .board-list-v2 > #divListButton:empty,
html body:has(#divArticleList) .board-list-v2 > .btn-area:empty,
html body:has(#divArticleList) .board-list-v2 > #divListButton:not(:has(button:not([style*="display:none"]):not([style*="display: none"]):not(.d-none):not([hidden]))):not(:has(select:not([style*="display:none"]):not([style*="display: none"]):not(.d-none):not([hidden]))),
html body:has(#divArticleList) .board-list-v2 > .btn-area:not(:has(button:not([style*="display:none"]):not([style*="display: none"]):not(.d-none):not([hidden]))):not(:has(select:not([style*="display:none"]):not([style*="display: none"]):not(.d-none):not([hidden]))) {
  display: block !important;
  height: 10px !important;
  min-height: 10px !important;
  flex: 0 0 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

html body:has(#divArticleList) #divListButton .btn.btn-icon,
html body:has(#divArticleList) .col-xl-12.content-wrapper > .btn-area > .btn,
html body:has(.approval-folder-v2) .approval-folder-v2 > #divListButton .btn,
html body:has(.approval-folder-v2) .approval-folder-v2 > .btn-area > .btn {
  position: relative !important;
  display: inline-flex !important;
  height: 38px !important;
  align-items: center !important;
  gap: 7px !important;
  margin: 0 !important;
  padding: 0 14px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--oc-list-text) !important;
  font-size: 15px !important;
  line-height: 38px !important;
  box-shadow: none !important;
}

html body:has(#divArticleList) #divListButton .btn.btn-icon i,
html body:has(#divArticleList) .col-xl-12.content-wrapper > .btn-area > .btn i,
html body:has(.approval-folder-v2) .approval-folder-v2 > #divListButton .btn i,
html body:has(.approval-folder-v2) .approval-folder-v2 > .btn-area > .btn i {
  margin: 0 !important;
  font-size: 18px !important;
  line-height: 1 !important;
}

html body:has(#divArticleList) #divListButton .btn:hover,
html body:has(#divArticleList) .col-xl-12.content-wrapper > .btn-area > .btn:hover,
html body:has(.approval-folder-v2) .approval-folder-v2 > #divListButton .btn:hover,
html body:has(.approval-folder-v2) .approval-folder-v2 > .btn-area > .btn:hover {
  color: var(--oc-list-primary) !important;
}

/* Never revive commands hidden by each folder's existing permission/state logic. */
html body:has(#divArticleList) #divListButton .btn[style*="display:none"],
html body:has(#divArticleList) #divListButton .btn[style*="display: none"],
html body:has(#divArticleList) .col-xl-12.content-wrapper > .btn-area > .btn[style*="display:none"],
html body:has(#divArticleList) .col-xl-12.content-wrapper > .btn-area > .btn[style*="display: none"],
html body:has(.approval-folder-v2) .approval-folder-v2 > #divListButton .btn[style*="display:none"],
html body:has(.approval-folder-v2) .approval-folder-v2 > #divListButton .btn[style*="display: none"],
html body:has(.approval-folder-v2) .approval-folder-v2 > .btn-area > .btn[style*="display:none"],
html body:has(.approval-folder-v2) .approval-folder-v2 > .btn-area > .btn[style*="display: none"],
html body:has(#divArticleList) #divListButton .btn.d-none,
html body:has(#divArticleList) .col-xl-12.content-wrapper > .btn-area > .btn.d-none,
html body:has(.approval-folder-v2) .approval-folder-v2 > #divListButton .btn.d-none,
html body:has(.approval-folder-v2) .approval-folder-v2 > .btn-area > .btn.d-none,
html body:has(#divArticleList) #divListButton .btn[hidden],
html body:has(#divArticleList) .col-xl-12.content-wrapper > .btn-area > .btn[hidden],
html body:has(.approval-folder-v2) .approval-folder-v2 > #divListButton .btn[hidden],
html body:has(.approval-folder-v2) .approval-folder-v2 > .btn-area > .btn[hidden] {
  display: none !important;
}

html body:has(#divArticleList) #divListButton .btn + .btn::before,
html body:has(#divArticleList) .col-xl-12.content-wrapper > .btn-area > .btn + .btn::before,
html body:has(.approval-folder-v2) .approval-folder-v2 > #divListButton .btn + .btn::before,
html body:has(.approval-folder-v2) .approval-folder-v2 > .btn-area > .btn + .btn::before {
  content: "" !important;
  position: absolute !important;
  top: 10px !important;
  left: 0 !important;
  width: 1px !important;
  height: 18px !important;
  background: #e2e8f0 !important;
}

/* First/last visible commands also keep the original vertical edge lines. */
html body:has(#divArticleList) #divListButton .btn.oc-command-first::before,
html body:has(#divArticleList) .col-xl-12.content-wrapper > .btn-area > .btn.oc-command-first::before,
html body:has(.approval-folder-v2) .approval-folder-v2 > #divListButton .btn.oc-command-first::before,
html body:has(.approval-folder-v2) .approval-folder-v2 > .btn-area > .btn.oc-command-first::before {
  content: "" !important;
  position: absolute !important;
  top: 10px !important;
  left: 0 !important;
  width: 1px !important;
  height: 18px !important;
  background: #e2e8f0 !important;
}

html body:has(#divArticleList) #divListButton .btn.oc-command-last::after,
html body:has(#divArticleList) .col-xl-12.content-wrapper > .btn-area > .btn.oc-command-last::after,
html body:has(.approval-folder-v2) .approval-folder-v2 > #divListButton .btn.oc-command-last::after,
html body:has(.approval-folder-v2) .approval-folder-v2 > .btn-area > .btn.oc-command-last::after {
  content: "" !important;
  position: absolute !important;
  top: 10px !important;
  right: 0 !important;
  width: 1px !important;
  height: 18px !important;
  background: #e2e8f0 !important;
}

/* Scroll behavior stays module-specific; visual styling is shared separately. */
#divArticleList {
  overflow: auto !important;
  scrollbar-gutter: auto;
}

.approval-folder-v2 #divDocList_table_wrapper {
  overflow-y: scroll !important;
  scrollbar-gutter: auto;
}
/* 자료함관리와 동일한 설정 화면 공통 레이아웃 */

/* Formerly board-list-v2.css */
:root {
	--board-list-primary: var(--portal-theme-primary, #075fc5);
	--board-list-primary-soft: color-mix(in srgb, var(--board-list-primary) 6%, #fff);
	--board-list-text: #152b49;
	--board-list-muted: #596c83;
	--board-list-line: #e3e9f1;
}

/*
 * Recent notice list skin.
 * This file intentionally targets the existing IDs only; no table markup or
 * JavaScript-generated structure is replaced.
 */
body:has(:is(#divArticleList, #divRshList)) #ocSearchArea {
	display: flex !important;
	align-items: flex-start !important;
	flex-wrap: nowrap !important;
	justify-content: flex-end;
}

/* Reduce only the board title/search row's unused lower space. */
body:has(:is(#divArticleList, #divRshList)) div:has(> #ocSearchArea) {
	min-height: 40px !important;
}

body:has(:is(#divArticleList, #divRshList)) #ocMenuNm {
	flex: 0 0 auto;
	margin: 0 !important;
	line-height: 32px;
}

body:has(#divArticleList) #divSearchEtc {
	display: flex !important;
	height: 28px;
	align-items: center !important;
	gap: 8px;
	margin: 0 12px 0 0 !important;
}

body:has(#divArticleList) #divSearchEtc label {
	margin: 0 !important;
	color: #52677d;
	font-size: 13px;
	line-height: 28px !important;
}

body:has(:is(#divArticleList, #divRshList)) #divSearchArea {
	width: 350px !important;
	margin: 0 0 0 40px !important;
}

body:has(:is(#divArticleList, #divRshList)) #divSearchArea .oc-search-area {
	height: 28px;
	min-height: 28px;
	padding: 0 10px 0 12px;
	border: 1px solid #cfd9e7;
	border-radius: 4px;
	background: #fff;
}

body:has(:is(#divArticleList, #divRshList)) #divSearchArea .oc-search-input {
	height: 26px;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none !important;
	font-size: 13px;
	line-height: 26px;
}

/* Board detail search: align every field to one consistent input line. */
body:has(:is(#divArticleList, #divRshList)) #divSearchArea .dropdown-menu {
	box-sizing: border-box;
	width: 350px !important;
	padding: 18px 20px 16px;
	border: 1px solid #d6dee9;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 8px 20px rgba(24, 47, 77, .16);
}

body:has(:is(#divArticleList, #divRshList)) #divSearchArea .dropdown-menu ul {
	margin: 0;
	padding: 0;
}

body:has(:is(#divArticleList, #divRshList)) #divSearchArea .dropdown-menu li {
	display: grid;
	grid-template-columns: 52px minmax(0, 1fr);
	align-items: center;
	margin: 0 0 9px;
	padding: 0;
	gap: 10px;
}

body:has(:is(#divArticleList, #divRshList)) #divSearchArea .dropdown-menu li > label {
	margin: 0;
	color: #34465d;
	font-size: 13px;
	line-height: 32px;
	white-space: nowrap;
}

body:has(:is(#divArticleList, #divRshList)) #divSearchArea .dropdown-menu li > div {
	min-width: 0;
}

body:has(:is(#divArticleList, #divRshList)) #divSearchArea .dropdown-menu .form-control,
body:has(:is(#divArticleList, #divRshList)) #divSearchArea .dropdown-menu .input-group-date {
	box-sizing: border-box;
	width: 100%;
	height: 32px;
	min-height: 32px;
	border: 1px solid #cfd8e3;
	border-radius: 5px;
	background: #fff;
	box-shadow: none;
	font-size: 13px;
}

body:has(:is(#divArticleList, #divRshList)) #divSearchArea .dropdown-menu .form-control {
	padding: 0 10px;
	line-height: 30px;
}

body:has(:is(#divArticleList, #divRshList)) #divSearchArea .dropdown-menu .input-group-date > .form-control {
	height: 30px;
	min-height: 30px;
	border: 0;
}

body:has(:is(#divArticleList, #divRshList)) #divSearchArea .dropdown-menu li:first-child > div {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) 18px minmax(0, 1fr);
	align-items: center;
	gap: 0;
}

body:has(:is(#divArticleList, #divRshList)) #divSearchArea .dropdown-menu li:first-child > div > span {
	line-height: 32px !important;
	text-align: center;
}

body:has(:is(#divArticleList, #divRshList)) #divSearchArea .dropdown-menu li:last-child {
	display: block;
	margin: 12px 0 0;
	padding-top: 12px;
	border-top: 1px solid #e6ebf1;
}

body:has(:is(#divArticleList, #divRshList)) #divSearchArea #btnSearchReset {
	color: #748399 !important;
	font-size: 13px;
}

body:has(:is(#divArticleList, #divRshList)) #divSearchArea #btnSearch {
	height: 32px;
	padding: 0 16px;
	border-color: #264766;
	border-radius: 5px;
	background: #fff;
	color: #243b5a;
}

body:has(:is(#divArticleList, #divRshList)) #divSearchArea #btnSearch:hover {
	border-color: var(--board-list-primary);
	background: var(--board-list-primary);
	color: #fff;
}

body:has(#divArticleList) .col-xl-12.content-wrapper {
	box-sizing: border-box;
	height: 100%;
	padding: 0 21px !important;
	background: #fff;
}

body:has(#divArticleList) .col-xl-12.content-wrapper > .content-auto {
	min-height: 0;
	overflow: hidden;
}

body:has(#divArticleList) .col-xl-12.content-wrapper > .content-auto > .content-wrapper {
	display: flex;
	height: 100%;
	min-height: 0;
	flex-direction: column;
	padding: 0 !important;
}

/* FileData detail is loaded inside the list shell. Restore its own scroll
 * container while keeping the list table layout unchanged. */
.board-list-v2.is-article-view #divBoardView {
	box-sizing: border-box;
	height: 100%;
	min-height: 0;
	overflow-x: hidden !important;
	overflow-y: auto !important;
}

/* FileData list-only commands are hidden while an article detail is open. */
.board-list-v2.is-article-view > #divListButton,
.board-list-v2.is-article-view > .btn-area {
	display: none !important;
}

.board-list-v2.is-article-view > .content-auto > .content-wrapper {
	display: none !important;
}

#divListButton {
	display: flex !important;
	min-height: 38px;
	flex: 0 0 38px;
	align-items: center;
	margin: 0 !important;
	padding: 0 !important;
	border-bottom: 1px solid #e7edf4;
	background: #fff;
}

body:has(#divArticleList) .col-xl-12.content-wrapper > .btn-area {
	display: flex !important;
	min-height: 38px;
	flex: 0 0 38px;
	align-items: center;
	margin: 0 !important;
	padding: 0 !important;
	border-bottom: 1px solid #e7edf4;
	background: #fff;
}

#divListButton .btn.btn-icon {
	position: relative;
	display: inline-flex;
	height: 38px;
	min-width: auto;
	align-items: center;
	justify-content: center;
	gap: 7px;
	margin: 0 !important;
	padding: 0 13px !important;
	border: 0 !important;
	border-radius: 0;
	background: transparent !important;
	box-shadow: none !important;
	color: #243b5a;
	font-size: 15px;
	font-weight: 500;
}

#divListButton .btn.btn-icon i {
	margin: 0 !important;
	color: #536b88;
	font-size: 18px;
}

#divListButton .btn.btn-icon:hover {
	border-color: transparent !important;
	background: transparent !important;
	color: var(--board-list-primary);
}

#divListButton .btn.btn-icon:focus {
	border-color: transparent !important;
	outline: 0 !important;
	box-shadow: none !important;
}

/* Board command bar: keep a divider on both sides of the last command. */
body:has(#divArticleList) .col-xl-12.content-wrapper > .btn-area #btnReadBatch {
	position: relative;
	height: 38px;
	margin: 0 !important;
	padding: 0 14px !important;
	border: 0 !important;
	border-radius: 4px;
	background: transparent !important;
	box-shadow: none !important;
	font-size: 15px;
}

body:has(#divArticleList) .col-xl-12.content-wrapper > .btn-area #btnReadBatch i {
	margin: 0 !important;
	font-size: 18px;
}

body:has(#divArticleList) .col-xl-12.content-wrapper > .btn-area > .btn.btn-icon {
	display: inline-flex;
	height: 38px;
	align-items: center;
	gap: 7px;
	margin: 0 !important;
	padding: 0 14px !important;
	border: 0 !important;
	border-radius: 0;
	background: transparent !important;
	box-shadow: none !important;
	color: #243b5a;
	font-size: 15px;
}

body:has(#divArticleList) .col-xl-12.content-wrapper > .btn-area > .btn.btn-icon i {
	margin: 0 !important;
	font-size: 18px;
}

body:has(#divArticleList) .col-xl-12.content-wrapper > .btn-area #btnReadBatch::before,
body:has(#divArticleList) .col-xl-12.content-wrapper > .btn-area #btnReadBatch::after {
	content: "";
	position: absolute;
	top: 10px;
	width: 1px;
	height: 18px;
	background: #e2e8f0;
}

body:has(#divArticleList) .col-xl-12.content-wrapper > .btn-area #btnReadBatch::before { left: 0; }
body:has(#divArticleList) .col-xl-12.content-wrapper > .btn-area #btnReadBatch::after { right: 0; }

/* Every board/file-data command group ends with the same right divider. */
body:has(#divArticleList) .col-xl-12.content-wrapper > .btn-area > .btn.btn-icon:last-child {
	position: relative;
}

body:has(#divArticleList) .col-xl-12.content-wrapper > .btn-area > .btn.btn-icon:last-child::after {
	content: "";
	position: absolute;
	top: 10px;
	right: 0;
	width: 1px;
	height: 18px;
	background: #e2e8f0;
}

body:has(#divArticleList) #divListButton > div:first-child > .btn.btn-icon:last-child::after {
	content: "";
	position: absolute;
	top: 10px;
	right: 0;
	width: 1px;
	height: 18px;
	background: #e2e8f0;
}

#divArticleList {
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	flex: 1 1 auto;
	border-right: 1px solid var(--board-list-line);
	border-left: 1px solid var(--board-list-line);
	border-top: 1px solid var(--board-list-line);
	border-radius: 0;
	background: #fff;
	overflow: auto;
}

#divArticleList_table,
#divArticleList .clone-head-table-wrap table {
	border-top: 0 !important;
	background: #fff;
	color: var(--board-list-text);
	font-size: 13px;
}

/* Board and FileData use the same constrained title column. Without a fixed
 * table layout a long board subject expands the whole table and defeats the
 * existing ellipsis element. */
body:has(#divArticleList) #divArticleList_table,
body:has(#divArticleList) #divArticleList .clone-head-table-wrap table {
	width: 100% !important;
	min-width: 0 !important;
	table-layout: fixed;
}

body:has(#divArticleList) #divArticleList_table td:has(.board-subject-cell) {
	min-width: 0 !important;
	overflow: hidden;
}

/* Same nowrap rule used by the FileData folder column. On recent/search board
 * lists the third column is the board name; on a normal board it is the title. */
body:has(#divArticleList) #divArticleList_table th:nth-child(3),
body:has(#divArticleList) #divArticleList_table td:nth-child(3),
body:has(#divArticleList) #divArticleList .clone-head-table-wrap th:nth-child(3) {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* FileData keeps its own "featured" state, but presents it with the same
 * compact table rhythm as the notice-board number column. */
.filedata-notice-badge {
	display: inline-flex;
	height: 24px;
	align-items: center;
	justify-content: center;
	padding: 0 8px;
	border-radius: 8px;
	background: var(--portal-theme-primary, #075fc5);
	color: #fff;
	font-size: 11px;
	font-weight: 600;
	line-height: 1;
	white-space: nowrap;
}

#divArticleList_table thead th,
#divArticleList .clone-head-table-wrap thead th {
	border: 0 !important;
	border-top: 0 !important;
	border-bottom: 1px solid var(--board-list-line) !important;
	background: #f5f8fc !important;
	color: #435a73 !important;
	font-weight: 600 !important;
	vertical-align: middle;
	white-space: nowrap !important;
	word-break: keep-all !important;
}

#divArticleList_table tbody td {
	border: 0 !important;
	border-bottom: 1px solid #edf1f6 !important;
	background: #fff;
	color: var(--board-list-text);
	vertical-align: middle;
	transition: background-color .14s ease;
}

/* Existing subject cell: single line title plus a fixed comment badge. */
#divArticleList_table .board-subject-cell {
	display: flex;
	width: 100%;
	min-width: 0;
	max-width: 100%;
	align-items: center;
	gap: 7px;
	overflow: hidden;
}

#divArticleList_table .board-subject-text {
	display: block;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* Compact new-item indicator shared by Board and FileData lists. */
#divArticleList_table .board-new-dot {
	display: inline-block;
	width: 6px;
	height: 6px;
	flex: 0 0 6px;
	border-radius: 50%;
	background: #f04438;
}

#divArticleList_table .board-attach-icon {
	display: inline-flex;
	width: 18px;
	height: 18px;
	flex: 0 0 18px;
	align-items: center;
	justify-content: center;
	color: #5f7488;
	font-size: 15px;
	line-height: 1;
}

#divArticleList_table .board-comment-count {
	position: relative;
	display: inline-flex;
	box-sizing: border-box;
	min-width: 26px;
	height: 20px;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	margin-bottom: 2px;
	padding: 0 6px;
	border: 1px solid color-mix(in srgb, var(--board-list-primary) 38%, #fff);
	border-radius: 7px;
	background: #fff;
	color: var(--board-list-primary);
	font-size: 11px;
	font-weight: 600;
	line-height: 1;
}

#divArticleList_table .board-comment-count::before {
	content: "";
	position: absolute;
	bottom: -3px;
	left: 5px;
	width: 6px;
	height: 6px;
	border-left: 1px solid color-mix(in srgb, var(--board-list-primary) 38%, #fff);
	border-bottom: 1px solid color-mix(in srgb, var(--board-list-primary) 38%, #fff);
	background: #fff;
	transform: skewY(-38deg);
}

#divArticleList_table .board-comment-count > i {
	display: none;
}

#divArticleList_table tbody tr:hover td {
	background: var(--board-list-primary-soft) !important;
}

#divArticleList_table tbody tr.selected td,
#divArticleList_table tbody tr.active td,
#divArticleList_table tbody tr[aria-selected="true"] td {
	background: color-mix(in srgb, var(--board-list-primary) 9%, #fff) !important;
}

#divArticleList_etc {
	position: relative;
	height: 58px;
	min-height: 58px;
	flex: 0 0 58px;
	border-top: 1px solid var(--board-list-line);
	background: #fff;
}

#divArticleList_table_ViewOption {
	position: absolute;
	top: 50%;
	left: 0;
	display: flex;
	height: 42px;
	align-items: center !important;
	padding: 0 8px;
	color: #52677f;
	font-size: 13px;
	transform: translateY(-50%);
}

#divArticleList_table_ViewOption > div,
#divArticleList_table_Type {
	display: flex !important;
	height: 32px;
	align-items: center !important;
	margin-top: 0 !important;
}

#divArticleList_table_ViewOption > div:first-of-type {
	gap: 8px;
}

#divArticleList_table_ViewOption .mr-10 {
	margin-right: 0 !important;
	line-height: 32px !important;
}

#divArticleList_table_ViewOption select.form-control {
	height: 32px !important;
	min-height: 32px;
	padding-top: 0;
	padding-bottom: 0;
}

#divArticleList_table_Type .btn {
	display: inline-flex;
	width: 32px !important;
	height: 32px !important;
	align-items: center;
	justify-content: center;
	margin-top: 0 !important;
	margin-left: 6px !important;
	padding: 0 !important;
	border-color: #d8e1ec;
	border-radius: 5px;
}

#divArticleList_table_Type .btn > span {
	top: 0 !important;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
}

/* Keep list commands out of the FileData article-detail view. */
body .board-list-v2.is-article-view > #divListButton,
body:has(#divArticleList) .board-list-v2.is-article-view > .btn-area {
	display: none !important;
	height: 0 !important;
	min-height: 0 !important;
	flex-basis: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

/* Photo board: keep the existing card renderer and only modernize its skin. */
#divArticleList.board-photo-grid {
	min-width: 0;
	overflow-x: hidden !important;
}

#divArticleList.board-photo-grid > .card-deck {
	display: grid !important;
	box-sizing: border-box;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
	margin: 0 !important;
	padding: 16px 4px 8px !important;
}

#divArticleList.board-photo-grid .card.grid {
	display: block !important;
	box-sizing: border-box;
	min-width: 0 !important;
	max-width: none !important;
	margin: 0 !important;
	overflow: hidden;
	border: 1px solid #dce5ed;
	border-radius: 10px;
	background: #fff;
	box-shadow: none !important;
	transition: border-color .15s ease, transform .15s ease;
}

#divArticleList.board-photo-grid .card.grid:hover {
	border-color: #9eb8cf;
	transform: translateY(-2px);
}

#divArticleList.board-photo-grid .card.grid .card-body {
	display: grid !important;
	box-sizing: border-box;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	padding: 0 14px 12px !important;
	font-size: 13px;
}

#divArticleList.board-photo-grid .photo-thumbnail,
#divArticleList.board-photo-grid .photo-thumbnail .centered {
	width: auto !important;
	height: auto !important;
	aspect-ratio: 4 / 3;
}

#divArticleList.board-photo-grid .photo-thumbnail {
	grid-column: 1 / -1;
	margin: 0 -14px 12px;
	overflow: hidden;
	background: #eef3f7;
}

#divArticleList.board-photo-grid .photo-thumbnail .centered,
#divArticleList.board-photo-grid .photo-thumbnail .card-img-top {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
}

#divArticleList.board-photo-grid .photo-thumbnail .card-img-top {
	border-radius: 0 !important;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	transition: transform .2s ease;
}

#divArticleList.board-photo-grid .photo-empty-thumbnail .centered {
	display: flex !important;
	align-items: center;
	justify-content: center;
}

#divArticleList.board-photo-grid .photo-empty-icon {
	display: inline-flex;
	width: 46px;
	height: 46px;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	color: #8ca0b3;
	background: #fff;
	font-size: 22px;
}

#divArticleList.board-photo-grid .card.grid:hover .photo-thumbnail .card-img-top {
	transform: scale(1.025);
}

#divArticleList.board-photo-grid .photo-card-title {
	grid-column: 1 / -1;
	width: 100% !important;
	min-width: 0;
	margin: 0 0 7px !important;
	overflow: hidden;
	color: #17344f;
	font-size: 15px;
	font-weight: 700;
	line-height: 22px;
	text-overflow: ellipsis;
	white-space: nowrap;
}

#divArticleList.board-photo-grid .photo-card-writer {
	grid-column: 1 / -1;
	width: 100% !important;
	margin: 0 0 6px !important;
	overflow: hidden;
	color: #50677d !important;
	line-height: 19px;
	text-overflow: ellipsis;
	white-space: nowrap;
}

#divArticleList.board-photo-grid .photo-card-date,
#divArticleList.board-photo-grid .photo-card-views {
	margin: 0 !important;
	color: #8192a3 !important;
	font-size: 12px;
	line-height: 20px;
}

#divArticleList.board-photo-grid .photo-card-date {
	grid-column: 1;
}

#divArticleList.board-photo-grid .photo-card-views {
	display: inline-flex !important;
	grid-column: 2;
	align-items: center;
	justify-content: flex-end;
	white-space: nowrap;
}

@media (max-width: 1450px) {
	#divArticleList.board-photo-grid > .card-deck { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 1050px) {
	#divArticleList.board-photo-grid > .card-deck { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
	#divArticleList.board-photo-grid > .card-deck { grid-template-columns: minmax(0, 1fr); gap: 12px; }
}

/*
 * Canonical list shell shared by Board, FileData and Approval.
 * Geometry follows the electronic-approval folder list.
 */
:is(.board-list-v2, .approval-folder-v2, .standard-list-v2) {
	--oc-unified-list-primary: var(--portal-theme-primary, #075fc5);
	--oc-unified-list-primary-soft: color-mix(in srgb, var(--oc-unified-list-primary) 9%, #fff);
	--oc-unified-list-text: #152b49;
	--oc-unified-list-muted: #596c83;
	--oc-unified-list-line: #e3e9f1;
	--oc-unified-list-head: #f7f9fc;
	padding-bottom: 0 !important;
	margin-bottom: 0 !important;
}

html body:has(:is(#divArticleList, #divDocList)) div:has(> #ocSearchArea) {
	min-height: 40px !important;
}

html body:has(:is(#divArticleList, #divDocList)) #ocSearchArea {
	display: flex !important;
	align-items: flex-start !important;
	justify-content: flex-end !important;
	flex-wrap: nowrap !important;
	min-height: 32px !important;
}

html body:has(:is(#divArticleList, #divDocList)) #divSearchEtc {
	display: flex !important;
	height: 28px !important;
	align-items: center !important;
	gap: 8px !important;
	margin: 0 12px 0 0 !important;
}

html body:has(:is(#divArticleList, #divDocList, #divRshList)) #divSearchArea {
	width: 350px !important;
	height: 28px !important;
	margin: 0 0 0 40px !important;
}

html body:has(:is(#divArticleList, #divDocList, #divRshList)) #divSearchArea .oc-search-area {
	box-sizing: border-box !important;
	height: 28px !important;
	min-height: 28px !important;
	padding: 0 10px 0 12px !important;
	border: 1px solid #cfd9e7 !important;
	border-radius: 4px !important;
	background: #fff !important;
}

html body:has(:is(#divArticleList, #divDocList, #divRshList)) #divSearchArea .oc-search-input {
	height: 26px !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	font-size: 13px !important;
	line-height: 26px !important;
}

:is(.board-list-v2, .approval-folder-v2) > :is(#divListButton, .btn-area) {
	display: flex !important;
	height: 38px;
	min-height: 38px;
	flex: 0 0 38px;
	align-items: center;
	margin: 0 !important;
	padding: 0 !important;
	border-bottom: 1px solid #e7edf4;
	background: #fff;
}

:is(.board-list-v2, .approval-folder-v2) > :is(#divListButton, .btn-area) .btn.btn-icon {
	position: relative;
	display: inline-flex;
	height: 38px;
	min-width: auto;
	align-items: center;
	justify-content: center;
	gap: 7px;
	margin: 0 !important;
	padding: 0 14px !important;
	border: 0 !important;
	border-radius: 0;
	background: transparent !important;
	box-shadow: none !important;
	color: #243b5a;
	font-size: 15px;
	font-weight: 500;
	line-height: 1;
}

:is(.board-list-v2, .approval-folder-v2) > :is(#divListButton, .btn-area) .btn.btn-icon:hover {
	color: var(--oc-unified-list-primary);
}

:is(.board-list-v2, .approval-folder-v2) > :is(#divListButton, .btn-area) .btn.btn-icon i {
	margin: 0 !important;
	color: #536b88;
	font-size: 18px;
}

:is(.board-list-v2, .approval-folder-v2) :is(#divArticleList, #divDocList) {
	position: relative;
	display: flex;
	height: 100%;
	min-height: 0;
	flex: 1 1 auto;
	flex-direction: column;
	border: 1px solid var(--oc-unified-list-line);
	border-radius: 0;
	background: #fff;
	overflow: hidden;
}

:is(.board-list-v2, .approval-folder-v2) :is(#divArticleList_table_wrapper, #divDocList_table_wrapper) {
	box-sizing: border-box;
	height: auto !important;
	min-height: 0;
	flex: 1 1 auto;
	overflow-x: auto;
	overflow-y: scroll;
	scrollbar-gutter: auto;
}

:is(#divArticleList_table, #divDocList_table, .standard-list-table-v2) {
	width: 100% !important;
	border-top: 0 !important;
	border-collapse: separate;
	border-spacing: 0;
	background: #fff;
	color: #152b49;
	font-size: 13px;
}

:is(#divArticleList_table, #divDocList_table, .standard-list-table-v2) thead th {
	position: sticky;
	z-index: 2;
	top: 0;
	height: 40px;
	padding: 0 12px !important;
	border: 0 !important;
	border-bottom: 1px solid #e3e9f1 !important;
	background: #f7f9fc !important;
	color: #596c83 !important;
	font-weight: 600 !important;
	vertical-align: middle;
	white-space: nowrap !important;
	word-break: keep-all !important;
}

:is(#divArticleList_table, #divDocList_table, .standard-list-table-v2) tbody td {
	height: 41px;
	padding: 0 12px !important;
	border: 0 !important;
	border-bottom: 1px solid #edf1f6 !important;
	background: #fff;
	color: #152b49;
	vertical-align: middle;
}

:is(#divArticleList_table, #divDocList_table, .standard-list-table-v2) tbody tr:hover td {
	background: color-mix(in srgb, var(--portal-theme-primary, #075fc5) 9%, #fff) !important;
}

:is(.board-list-v2, .approval-folder-v2) :is(#divArticleList_etc, #divDocList_etc) {
	box-sizing: border-box;
	position: relative;
	width: 100%;
	height: 58px;
	min-height: 58px;
	flex: 0 0 58px;
	padding: 0 8px;
	align-items: center !important;
	border-top: 0;
	background: #fff;
}

:is(#divArticleList_table_ViewOption, #divDocList_table_ViewOption) > div {
	display: flex !important;
	align-items: center;
	gap: 8px;
	margin-top: 0 !important;
	color: #52677f;
	font-size: 13px;
}

:is(#divArticleList_table_ViewOption, #divDocList_table_ViewOption) .mr-10 {
	margin-right: 0 !important;
}

:is(#divArticleList_table_ViewOption, #divDocList_table_ViewOption) select,
:is(#divArticleList_table_ViewOption, #divDocList_table_ViewOption) .select2-container {
	width: 62px !important;
}

:is(#divArticleList_table_ViewOption, #divDocList_table_ViewOption) .select2-selection {
	height: 34px !important;
	border: 1px solid #cbd7e5 !important;
	border-radius: 7px !important;
	background: #fff !important;
	box-shadow: none !important;
}

:is(#divArticleList_table_ViewOption, #divDocList_table_ViewOption) .select2-selection__rendered {
	padding-left: 12px !important;
	line-height: 32px !important;
	color: #152b49 !important;
}

:is(#divArticleList_table_ViewOption, #divDocList_table_ViewOption) .select2-selection__arrow {
	height: 32px !important;
}

:is(#divArticleList_paging, #divDocList_paging).pagination {
	position: absolute;
	top: auto;
	bottom: 0;
	left: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 !important;
	padding: 0;
	transform: translateX(-50%);
}

:is(#divArticleList_paging, #divDocList_paging) .pagination-center {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin: 0;
	padding: 4px;
	border: 1px solid #d5dfeb;
	border-radius: 22px;
	background: #fff;
	box-shadow: 0 2px 7px rgba(19, 45, 76, .08);
}

:is(#divArticleList_paging, #divDocList_paging) .page-item {
	display: block;
	margin: 0 !important;
}

:is(#divArticleList_paging, #divDocList_paging) .page-link {
	display: inline-flex;
	min-width: 32px;
	height: 32px;
	align-items: center;
	justify-content: center;
	margin: 0 !important;
	padding: 0 9px !important;
	border: 0 !important;
	border-radius: 16px !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #53677e !important;
	font-size: 13px;
}

:is(#divArticleList_paging, #divDocList_paging) .page-item.active .page-link {
	background: var(--portal-theme-primary, #075fc5) !important;
	box-shadow: 0 2px 6px color-mix(in srgb, var(--portal-theme-primary, #075fc5) 28%, transparent) !important;
	color: #fff !important;
	font-weight: 700;
}

:is(#divArticleList_paging, #divDocList_paging) .page-item.active .page-link::before,
:is(#divArticleList_paging, #divDocList_paging) .page-item.active .page-link::after {
	display: none !important;
	content: none !important;
}

/* Electronic-approval detail-search dropdown shared by every list module. */
html body:has(:is(#divArticleList, #divDocList, #divRshList)) #divSearchArea .oc-search-area {
	position: relative;
}

html body:has(:is(#divArticleList, #divDocList, #divRshList)) #divSearchArea .dropdown {
	position: static;
}

html body:has(:is(#divArticleList, #divDocList, #divRshList)) #divSearchArea .dropdown-menu.dropdown-menu-right {
	box-sizing: border-box;
	z-index: 1050;
	top: calc(100% + 10px) !important;
	right: 0 !important;
	left: auto !important;
	width: 380px !important;
	margin: 0 !important;
	padding: 16px !important;
	transform: none !important;
	border: 1px solid #d5e1ef !important;
	border-radius: 10px !important;
	background: #fff !important;
	box-shadow: 0 8px 22px rgba(16, 42, 76, .18) !important;
}

html body:has(:is(#divArticleList, #divDocList, #divRshList)) #divSearchArea .dropdown-menu > ul {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

html body:has(:is(#divArticleList, #divDocList, #divRshList)) #divSearchArea .dropdown-menu > ul > li {
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr);
	align-items: center;
	min-height: 36px;
	margin: 0 !important;
	padding: 0 !important;
	gap: 0;
}

html body:has(:is(#divArticleList, #divDocList, #divRshList)) #divSearchArea .dropdown-menu > ul > li > label {
	width: auto !important;
	margin: 0;
	padding-right: 10px;
	color: #334e68;
	font-size: 14px;
	line-height: 36px;
	white-space: nowrap;
}

html body:has(:is(#divArticleList, #divDocList, #divRshList)) #divSearchArea .dropdown-menu > ul > li > div {
	min-width: 0;
}

html body:has(:is(#divArticleList, #divDocList, #divRshList)) #divSearchArea .dropdown-menu .form-control {
	box-sizing: border-box;
	width: 100% !important;
	height: 36px !important;
	margin: 0 !important;
	padding: 0 10px !important;
	border: 1px solid #cfdbe8 !important;
	border-radius: 6px !important;
	box-shadow: none !important;
}

html body:has(:is(#divArticleList, #divDocList, #divRshList)) #divSearchArea .dropdown-menu > ul > li:first-child > div {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) 18px minmax(0, 1fr);
	align-items: center;
}

html body:has(:is(#divArticleList, #divDocList, #divRshList)) #divSearchArea .dropdown-menu .input-group-date {
	display: flex;
	min-width: 0;
	height: 36px !important;
	align-items: stretch;
	overflow: hidden;
	border: 1px solid #cfdbe8 !important;
	border-radius: 6px !important;
	background: #fff;
}

html body:has(:is(#divArticleList, #divDocList, #divRshList)) #divSearchArea .dropdown-menu .input-group-date > input.form-control {
	flex: 1 1 auto;
	width: auto !important;
	min-width: 0;
	height: 34px !important;
	padding: 0 8px !important;
	border: 0 !important;
	border-radius: 0 !important;
}

html body:has(:is(#divArticleList, #divDocList, #divRshList)) #divSearchArea .dropdown-menu .input-group-date :is(.input-group-addon, .input-group-text, button) {
	position: static !important;
	display: flex !important;
	width: 36px !important;
	height: 34px !important;
	flex: 0 0 36px;
	align-items: center;
	justify-content: center;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-left: 1px solid #dce5ef !important;
	border-radius: 0 !important;
	background: #fff !important;
}

html body:has(:is(#divArticleList, #divDocList, #divRshList)) #divSearchArea .dropdown-menu .input-group-date :is(.input-group-addon, .input-group-text, button) :is(i, svg) {
	position: static !important;
	top: auto !important;
	display: block !important;
	margin: 0 !important;
	line-height: 1 !important;
	vertical-align: middle !important;
	transform: none !important;
}

html body:has(:is(#divArticleList, #divDocList, #divRshList)) #divSearchArea .dropdown-menu > ul > li:last-child {
	display: block;
	min-height: 36px;
	margin: 0 !important;
	padding-top: 2px !important;
	border-top: 0;
}

html body:has(:is(#divArticleList, #divDocList, #divRshList)) #divSearchArea #btnSearchReset {
	color: #7f7f7f !important;
	font-size: 13px;
	cursor: pointer;
}

html body:has(:is(#divArticleList, #divDocList, #divRshList)) #divSearchArea #btnSearch {
	min-width: 68px;
	height: 36px;
	padding: 0 16px;
	border: 1px solid var(--portal-theme-primary, #0b68d1) !important;
	border-radius: 6px;
	background: var(--portal-theme-primary, #0b68d1) !important;
	color: #fff !important;
	font-weight: 600;
}

/* Explicit hooks used by Board and FileData AJAX list fragments. */
.oc-list-search-v2 {
	position: relative;
	width: 350px !important;
	height: 28px !important;
	margin: 0 0 0 40px !important;
}

.oc-list-search-v2 > .oc-search-area {
	position: relative !important;
}

.oc-list-search-v2 .dropdown {
	position: static !important;
}

.oc-list-search-v2 .dropdown-menu.dropdown-menu-right {
	top: calc(100% + 10px) !important;
	right: 0 !important;
	left: auto !important;
	width: 380px !important;
	margin: 0 !important;
	transform: none !important;
}

.oc-list-toolbar-v2 {
	display: flex !important;
	height: 38px !important;
	min-height: 38px !important;
	align-items: center !important;
	gap: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border-bottom: 1px solid #e7edf4 !important;
	background: #fff !important;
}

.oc-list-toolbar-v2 .btn {
	position: relative;
	display: inline-flex !important;
	height: 38px !important;
	min-width: auto !important;
	align-items: center;
	justify-content: center;
	gap: 7px;
	margin: 0 !important;
	padding: 0 14px !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #243b5a !important;
	font-size: 15px !important;
	font-weight: 500;
	line-height: 1;
}

.oc-list-toolbar-v2 .btn::before {
	position: absolute;
	top: 10px;
	left: 0;
	width: 1px;
	height: 18px;
	background: #e2e8f0;
	content: "";
}

.oc-list-toolbar-v2 .btn:last-child::after {
	position: absolute;
	top: 10px;
	right: 0;
	width: 1px;
	height: 18px;
	background: #e2e8f0;
	content: "";
}

.oc-list-toolbar-v2 .btn:hover,
.oc-list-toolbar-v2 .btn:hover i {
	color: var(--portal-theme-primary, #075fc5) !important;
}

.oc-list-toolbar-v2 :is(#btnDelArticle, #btnDeleteArticle):hover {
	background: #fff4f4 !important;
	color: #e5484d !important;
}

.list-read-status-cell {
	text-align: center !important;
}

.approval-read-status-icon {
	display: inline-flex;
	width: 24px;
	height: 24px;
	align-items: center;
	justify-content: center;
	color: #0b63ce;
	font-size: 17px;
	line-height: 1;
	vertical-align: middle;
}

.approval-read-status-icon.is-unread {
	color: #7b8da3;
}

/* Board, survey and FileData statistics share the standard list table. */
.list-statistics-v2 {
	box-sizing: border-box;
	width: 100%;
	padding: 0 12px 12px;
}

.list-statistics-v2 :is(#divBoardList, #divRshList) {
	position: relative;
	width: 100%;
}

.list-statistics-v2 :is(#divBoardList_table, #divRshList_table),
.list-statistics-v2 :is(#divBoardList, #divRshList) .clone-head-table-wrap table {
	width: 100% !important;
	min-width: 0 !important;
	table-layout: fixed;
	border: 0 !important;
	border-top: 1px solid #dce5ef !important;
	background: #fff;
	color: var(--board-list-text, #183550);
	font-size: 13px;
}

.list-statistics-v2 :is(#divBoardList_table, #divRshList_table) thead th,
.list-statistics-v2 :is(#divBoardList, #divRshList) .clone-head-table-wrap thead th {
	height: 40px !important;
	padding: 0 12px !important;
	border: 0 !important;
	border-bottom: 1px solid var(--board-list-line, #dce5ef) !important;
	background: #f5f8fc !important;
	color: #435a73 !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	line-height: 40px !important;
	white-space: nowrap;
}

.list-statistics-v2 :is(#divBoardList_table, #divRshList_table) tbody td {
	height: 41px !important;
	padding: 0 12px !important;
	border: 0 !important;
	border-bottom: 1px solid #edf1f6 !important;
	background: #fff;
	color: var(--board-list-text, #183550);
	font-size: 13px !important;
	line-height: normal !important;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.list-statistics-v2 :is(#divBoardList_table, #divRshList_table) tbody tr:hover td {
	background: var(--board-list-primary-soft, #f3f7fc) !important;
}

.list-statistics-v2 :is(#divBoardList_table_wrapper, #divRshList_table_wrapper) {
	height: auto !important;
	min-height: 0;
}

.list-statistics-v2 #divRshList_etc {
	box-sizing: border-box;
	position: relative;
	width: 100%;
	height: 58px;
	min-height: 58px;
	padding: 0 8px;
	border-top: 0;
	background: #fff;
}

.list-statistics-v2 #divRshList_table_ViewOption {
	position: absolute;
	top: 50%;
	left: 8px;
	display: flex;
	height: 34px;
	align-items: center !important;
	color: #52677f;
	font-size: 13px;
	transform: translateY(-50%);
}

.list-statistics-v2 #divRshList_table_ViewOption > div {
	display: flex !important;
	align-items: center;
	gap: 8px;
	margin-top: 0 !important;
}

.list-statistics-v2 #divRshList_table_ViewOption .mr-10 {
	margin-right: 0 !important;
}

.list-statistics-v2 #divRshList_table_ViewOption select,
.list-statistics-v2 #divRshList_table_ViewOption .select2-container {
	width: 62px !important;
}

.list-statistics-v2 #divRshList_table_ViewOption .select2-selection {
	height: 34px !important;
	border: 1px solid #cbd7e5 !important;
	border-radius: 7px !important;
	background: #fff !important;
	box-shadow: none !important;
}

.list-statistics-v2 #divRshList_table_ViewOption .select2-selection__rendered {
	padding-left: 12px !important;
	line-height: 32px !important;
	color: #152b49 !important;
}

.list-statistics-v2 #divRshList_table_ViewOption .select2-selection__arrow {
	height: 32px !important;
}

.list-statistics-v2 #divRshList_paging.pagination {
	position: absolute;
	top: auto;
	bottom: 0;
	left: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 !important;
	padding: 0;
	transform: translateX(-50%);
}

.list-statistics-v2 #divRshList_paging .pagination-center {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin: 0;
	padding: 4px;
	border: 1px solid #d5dfeb;
	border-radius: 22px;
	background: #fff;
	box-shadow: 0 2px 7px rgba(19, 45, 76, .08);
}

.list-statistics-v2 #divRshList_paging .page-item {
	display: block;
	margin: 0 !important;
}

.list-statistics-v2 #divRshList_paging .page-link {
	display: inline-flex;
	min-width: 32px;
	height: 32px;
	align-items: center;
	justify-content: center;
	margin: 0 !important;
	padding: 0 9px !important;
	border: 0 !important;
	border-radius: 16px !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #53677e !important;
	font-size: 13px;
}

.list-statistics-v2 #divRshList_paging .page-item.active .page-link {
	background: var(--portal-theme-primary, #075fc5) !important;
	box-shadow: 0 2px 6px color-mix(in srgb, var(--portal-theme-primary, #075fc5) 28%, transparent) !important;
	color: #fff !important;
	font-weight: 700;
}

.list-statistics-v2 #divRshList_paging .page-item.active .page-link::before,
.list-statistics-v2 #divRshList_paging .page-item.active .page-link::after {
	display: none !important;
	content: none !important;
}

/* Survey statistics detail. */
.rsh-result-detail-v2 {
	box-sizing: border-box;
	width: 100%;
	padding: 0 12px 16px;
	color: var(--board-list-text, #183550);
	font-size: 13px;
}

.rsh-result-detail-v2 .rsh-result-header {
	display: flex;
	height: 40px;
	align-items: center;
	border-bottom: 1px solid #e3e9f1;
}

.rsh-result-detail-v2 .rsh-result-heading-mark {
	width: 4px;
	height: 18px;
	flex: 0 0 4px;
}

.rsh-result-detail-v2 .rsh-result-heading {
	margin-left: 10px;
	font-size: 15px;
	font-weight: 700;
}

.rsh-result-detail-v2 .rsh-result-header-actions {
	display: flex;
	flex: 1 1 auto;
	justify-content: flex-end;
	gap: 6px;
}

.rsh-result-detail-v2 .rsh-result-header-actions .btn,
.rsh-result-detail-v2 .rsh-result-actions .btn {
	display: inline-flex;
	height: 30px;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 0 12px;
	border: 1px solid #264766;
	border-radius: 5px;
	background: #fff;
	box-shadow: none;
	color: #243b5a;
	font-size: 13px;
}

.rsh-result-detail-v2 #divchartResultList {
	padding-top: 12px;
}

.rsh-result-detail-v2 .rsh-result-question {
	margin: 0 0 12px;
	border: 1px solid #dce5ef;
	border-radius: 6px;
	background: #fff;
}

.rsh-result-detail-v2 .rsh-result-question-body {
	margin: 0;
	padding: 0;
}

.rsh-result-detail-v2 .rsh-result-question-head {
	display: flex;
	min-height: 42px;
	align-items: center;
	padding: 0 12px;
	border-bottom: 1px solid #e3e9f1;
	background: #f5f8fc;
}

.rsh-result-detail-v2 .rsh-result-question-title {
	margin: 0;
	color: #243b5a;
	font-size: 14px;
	font-weight: 600;
}

.rsh-result-detail-v2 .rsh-result-actions {
	margin-left: auto;
}

.rsh-result-detail-v2 .rsh-result-options {
	padding: 12px 14px 2px;
}

.rsh-result-detail-v2 .rsh-result-option {
	margin-bottom: 12px;
}

.rsh-result-detail-v2 .rsh-result-answer-label {
	display: block;
	margin-bottom: 6px;
}

.rsh-result-detail-v2 .rsh-result-progress-row {
	display: flex;
	align-items: center;
	gap: 10px;
}

.rsh-result-detail-v2 .progress {
	height: 10px;
	flex: 1 1 auto;
	margin: 0;
	border-radius: 5px;
	background: #eaf0f6;
	overflow: hidden;
}

.rsh-result-detail-v2 .progress-bar {
	border-radius: 5px;
	font-size: 0;
}

.rsh-result-detail-v2 .rsh-result-count {
	flex: 0 0 42px;
	margin: 0;
	text-align: right;
}

.rsh-result-detail-v2 .rsh-result-responses {
	max-height: 300px;
	padding: 4px 14px;
	border: 0;
	overflow-y: auto;
}

.rsh-result-detail-v2 .rsh-result-response-list {
	display: flex;
	width: 100%;
	flex-direction: column;
}

.rsh-result-detail-v2 .rsh-result-response-item {
	min-height: 32px;
	padding: 7px 0;
	border-bottom: 1px solid #edf1f6;
}

.rsh-result-detail-v2 .rsh-result-empty {
	width: 100%;
	padding: 24px 0;
	color: #7b8da3;
	text-align: center;
}

/* Attendance registration lists: shared search rail and commands. */

.attend-register-search-v2 {
	box-sizing: border-box;
	width: 100%;
	margin: 0 !important;
	padding: 0 !important;
}

.attend-register-search-v2 > .search-ul {
	display: flex !important;
	width: 100% !important;
	min-height: 48px;
	flex-flow: row nowrap !important;
	align-items: center;
	gap: 10px;
	margin: 0 !important;
	padding: 0 !important;
}

.attend-register-search-v2 > .search-ul > li {
	display: inline-flex !important;
	flex: 0 0 auto;
	align-items: center;
	gap: 7px;
	margin: 0 !important;
	padding: 0 !important;
}

.attend-register-search-v2 label {
	margin: 0 !important;
	color: #243b5a;
	font-size: 13px;
	font-weight: 500;
	white-space: nowrap;
}

.attend-register-search-v2 :is(select.form-control, input.form-control) {
	height: 34px !important;
	border-color: #cbd7e5 !important;
	border-radius: 6px !important;
	background-color: #fff !important;
	box-shadow: none !important;
	font-size: 13px !important;
}

.attend-register-search-v2 #btnSearch {
	min-width: 68px;
	height: 34px;
	padding: 0 16px;
	border: 1px solid #173f68 !important;
	border-radius: 6px;
	background: #fff !important;
	color: #173f68 !important;
	font-size: 13px;
	font-weight: 500;
}

.attend-register-search-v2 .attend-register-actions-v2 {
	display: flex !important;
	flex: 1 1 auto !important;
	justify-content: flex-end !important;
	margin-left: auto !important;
	white-space: nowrap;
}

.attend-register-search-v2 .attend-register-actions-v2.attend-register-actions-start-v2 {
	flex: 0 0 auto !important;
	justify-content: flex-start !important;
	margin-left: 0 !important;
}

.attend-register-search-v2 .attend-register-actions-v2.attend-register-actions-start-v2 > div {
	justify-content: flex-start;
}

.attend-register-search-v2 .attend-register-actions-v2 > div {
	display: inline-flex !important;
	width: auto !important;
	height: 38px;
	flex-flow: row nowrap !important;
	align-items: center;
	justify-content: flex-end;
}

.attend-register-search-v2 .attend-register-actions-v2 .btn {
	position: relative;
	display: inline-flex !important;
	width: auto !important;
	min-width: auto !important;
	height: 38px !important;
	flex: 0 0 auto !important;
	align-items: center;
	justify-content: center;
	gap: 7px;
	margin: 0 !important;
	padding: 0 14px !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #243b5a !important;
	font-size: 15px !important;
	font-weight: 500;
	line-height: 38px !important;
	white-space: nowrap !important;
}

/* Keep each screen's original visibility logic. Action styling must not
 * override buttons that JSP/JavaScript intentionally leaves hidden. */
.attend-register-search-v2 .attend-register-actions-v2 .btn[style*="display:none"],
.attend-register-search-v2 .attend-register-actions-v2 .btn[style*="display: none"] {
	display: none !important;
}

.attend-register-search-v2 .attend-register-actions-v2 .btn i {
	margin: 0 !important;
	color: #536b88;
	font-size: 18px !important;
	line-height: 1 !important;
}

.attend-register-search-v2 .attend-register-actions-v2 .btn::before {
	position: absolute;
	top: 10px;
	left: 0;
	width: 1px;
	height: 18px;
	background: #e2e8f0;
	content: "";
}

.attend-register-search-v2 .attend-register-actions-v2 .btn:last-child::after {
	position: absolute;
	top: 10px;
	right: 0;
	width: 1px;
	height: 18px;
	background: #e2e8f0;
	content: "";
}

.attend-register-search-v2 .attend-register-actions-v2 .btn:hover,
.attend-register-search-v2 .attend-register-actions-v2 .btn:hover i {
	color: var(--portal-theme-primary, #075fc5) !important;
}

/* Single-row search condition grid used by dense standard lists. */
.standard-filter-block-v2 {
	box-sizing: border-box;
	display: flex;
	width: 100%;
	align-items: flex-start;
	gap: 18px;
	padding: 8px 0 10px;
}

.standard-filter-grid-v2 {
	width: 100%;
	table-layout: fixed;
	border-collapse: collapse;
	border: 1px solid #d7e1ec !important;
	background: #fff;
}

.standard-filter-grid-v2 .standard-filter-label-col-v2 {
	width: 82px;
}

.standard-filter-grid-v2 .standard-filter-date-value-col-v2 {
	width: 330px;
}

.standard-filter-block-v2.standard-filter-block-compact-v2 {
	display: flex;
	justify-content: flex-start;
}

.standard-filter-grid-v2.standard-filter-grid-compact-v2 {
	width: auto;
	min-width: 330px;
}

.standard-filter-grid-v2 .standard-filter-year-month-v2 {
	display: grid;
	grid-template-columns: 96px 80px;
	gap: 6px;
	align-items: center;
}

.standard-filter-grid-v2 .standard-filter-year-month-v2 .form-control {
	width: 100% !important;
}

.standard-filter-grid-v2 :is(th, td) {
	box-sizing: border-box;
	height: 44px;
	padding: 6px 10px;
	border: 1px solid var(--oc-unified-list-line, #e3e9f1);
	vertical-align: middle;
}

.standard-filter-grid-v2 th {
	background: var(--oc-unified-list-head, #f7f9fc);
	color: #314a66;
	font-size: 13px;
	font-weight: 600;
	text-align: center;
	white-space: nowrap;
}

.standard-filter-grid-v2 td {
	background: #fff;
}

.standard-filter-grid-v2 tbody > tr:last-child > :is(th, td) {
	border-bottom: 1px solid #d7e1ec !important;
}

.standard-filter-grid-v2 :is(input.form-control, select.form-control, .input-group-date) {
	box-sizing: border-box;
	width: 100% !important;
	height: 30px !important;
	min-height: 30px !important;
	margin: 0 !important;
}

.standard-filter-grid-v2 .input-group-date {
	display: flex;
	align-items: stretch;
	overflow: hidden;
	border: 1px solid #cbd7e5 !important;
	border-radius: 5px;
	background: #fff;
}

.standard-filter-grid-v2 .input-group-date > input.form-control {
	flex: 1 1 auto;
	width: auto !important;
	min-width: 0;
	height: 28px !important;
	min-height: 28px !important;
	padding: 0 9px !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

.standard-filter-grid-v2 .input-group-date > .input-group-addon {
	box-sizing: border-box;
	display: flex;
	flex: 0 0 30px;
	width: 30px;
	height: 28px;
	align-items: center;
	justify-content: center;
	padding: 0 !important;
	border: 0 !important;
	border-left: 1px solid #e1e7ee !important;
	background: #fff;
}

.standard-filter-grid-v2 .standard-filter-date-range-v2 {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 18px minmax(0, 1fr);
	align-items: center;
}

.standard-filter-grid-v2 .standard-filter-date-range-v2 > span {
	display: flex;
	height: 30px;
	align-items: center;
	justify-content: center;
	color: #5d7085;
}

.standard-filter-grid-v2 .standard-filter-date-nav-v2 {
	display: grid;
	grid-template-columns: 30px minmax(0, 1fr) 30px;
	align-items: center;
}

.standard-filter-grid-v2 .standard-filter-date-nav-v2 > .btn {
	box-sizing: border-box;
	width: 30px;
	height: 30px;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: #718399 !important;
}

.standard-filter-grid-v2 .standard-filter-period-v2,
.standard-filter-grid-v2 .standard-filter-period-v2 > div {
	display: flex;
	min-width: 0;
	align-items: center;
	gap: 6px;
}

.standard-filter-grid-v2 .standard-filter-period-v2 > #ddlSearchType,
.standard-filter-grid-v2 .standard-filter-period-v2 > .select2-container {
	flex: 0 0 78px;
	width: 78px !important;
	min-width: 78px !important;
	max-width: 78px !important;
}

.standard-filter-grid-v2 .standard-filter-period-v2 > div {
	flex: 1 1 auto;
}

.standard-filter-grid-v2 .standard-filter-period-v2 :is(#ddlYear, #ddlWeek) {
	flex: 0 0 88px;
	width: 88px !important;
}

.standard-filter-grid-v2 .standard-filter-period-v2 #ddlMonth {
	flex: 0 0 70px;
	width: 70px !important;
}

.standard-filter-grid-v2 .standard-filter-period-v2 #divAtDt {
	flex: 1 1 auto;
}

.standard-filter-grid-v2 .standard-filter-check-value-v2 {
	display: flex;
	align-items: center;
	gap: 7px;
	white-space: nowrap;
}

.standard-filter-grid-v2 .standard-filter-check-value-v2 > input[type="checkbox"] {
	flex: 0 0 auto;
}

.standard-filter-grid-v2 .standard-filter-check-value-v2 > input.form-control {
	flex: 0 0 60px;
	width: 60px !important;
}

.weekly-filter-grid-v2 .weekly-filter-col-label-date-v2 { width: 6%; }
.weekly-filter-grid-v2 .weekly-filter-col-date-v2 { width: 20%; }
.weekly-filter-grid-v2 .weekly-filter-col-label-over-v2 { width: 10%; }
.weekly-filter-grid-v2 .weekly-filter-col-short-value-v2 { width: 12%; }
.weekly-filter-grid-v2 .weekly-filter-col-label-work-v2 { width: 7%; }
.weekly-filter-grid-v2 .weekly-filter-col-label-dept-v2 { width: 5%; }
.weekly-filter-grid-v2 .weekly-filter-col-dept-v2 { width: 28%; }

/* 단위기간근태현황: 조회조건 5개 항목을 한 줄에 균등 배치한다. */
.period-filter-grid-v2 .period-filter-label-v2 { width: 6%; }
.period-filter-grid-v2 .period-filter-value-v2 { width: 14%; }

.period-filter-grid-v2 th {
	padding-right: 6px;
	padding-left: 6px;
}

/* 선택값은 내용 기준 너비만 사용하고 남은 셀 공간은 비워 둔다. */
.period-filter-grid-v2 #periodYearCell > :is(select, .select2-container) {
	width: 88px !important;
	min-width: 88px !important;
}

.period-filter-grid-v2 #periodTeamCell > :is(select, .select2-container) {
	width: 150px !important;
	min-width: 150px !important;
}

.period-filter-grid-v2 #periodRangeCell > :is(select, .select2-container) {
	width: 210px !important;
	min-width: 210px !important;
}

.weekly-filter-grid-v2 th {
	padding-right: 6px;
	padding-left: 6px;
}

.weekly-filter-grid-v2 .standard-filter-check-value-v2 {
	justify-content: flex-start;
}

.standard-filter-grid-v2 td.standard-filter-condition-cell-v2 {
	height: 44px;
	padding: 0 !important;
}

.standard-filter-grid-v2 .standard-filter-inline-condition-v2 {
	display: grid;
	height: 43px;
	grid-template-columns: minmax(140px, 44%) minmax(0, 1fr);
	align-items: center;
}

.standard-filter-grid-v2 .standard-filter-inline-condition-v2 > span:first-child {
	box-sizing: border-box;
	display: flex;
	height: 43px;
	align-items: center;
	justify-content: center;
	padding: 0 8px;
	border-right: 1px solid var(--oc-unified-list-line, #e3e9f1);
	background: var(--oc-unified-list-head, #f7f9fc);
	color: #314a66;
	font-size: 13px;
	font-weight: 600;
	white-space: nowrap;
}

.standard-filter-grid-v2 .standard-filter-inline-condition-v2 > .standard-filter-check-value-v2 {
	min-width: 0;
	padding: 0 10px;
}

.standard-filter-grid-v2 .standard-filter-inline-condition-content-only-v2 {
	display: flex;
	justify-content: flex-start;
}

.standard-filter-grid-v2 .standard-filter-inline-condition-content-only-v2 > .standard-filter-check-value-v2 {
	width: 100%;
}

.standard-filter-grid-v2 .standard-filter-dept-v2 {
	display: flex;
	width: 100%;
}

.standard-filter-grid-v2 .standard-filter-dept-v2 > ul.form-control {
	flex: 1 1 auto;
	width: 1%;
}

.standard-filter-grid-v2 .standard-filter-dept-v2 > .btn {
	flex: 0 0 auto;
	height: 30px;
}

.standard-filter-search-v2 {
	flex: 0 0 auto;
	min-width: 72px;
	height: 32px;
	margin: 0 !important;
}

#ocSearchArea > .standard-filter-search-v2 {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	align-self: flex-start;
}

#ocSearchArea > .standard-filter-search-v2 + .standard-filter-search-v2 {
	margin-left: 8px !important;
}

#ocSearchArea > .standard-filter-search-v2[style*="display:none"],
#ocSearchArea > .standard-filter-search-v2[style*="display: none"] {
	display: none !important;
}

.standard-command-row-v2 {
	display: flex;
	min-height: 38px;
	align-items: center;
	justify-content: flex-end;
}

.standard-command-row-v2 .standard-command-info-v2,
.standard-command-row-v2 .standard-command-actions-v2 {
	display: flex;
	align-items: center;
}

.standard-command-row-v2 .standard-command-info-v2 {
	margin-right: auto;
}

.standard-command-row-v2 .standard-command-actions-v2 {
	margin-left: auto;
}

.standard-command-row-v2 .standard-command-title-bar-v2 {
	width: 4px;
	height: 16px;
	margin-right: 10px;
}

.standard-command-row-v2 .standard-command-title-v2 {
	font-size: 16px;
	font-weight: 700;
}

.standard-command-row-v2 .standard-command-toggle-label-v2 {
	margin: 0 5px 0 14px;
}

.standard-command-row-v2 .standard-command-summary-v2 {
	margin-right: auto !important;
	color: #243b5a;
	font-size: 13px;
	white-space: nowrap;
}

.standard-filter-list-block-v2 {
	display: block;
}

.standard-filter-legacy-source-v2 {
	display: none !important;
}

/* 시스템관리 트리/설정 폼 공통 구조 */
.system-tree-panel-v2 {
	box-sizing: border-box;
	width: 100%;
	min-height: 160px;
	padding: 10px;
	border: 1px solid var(--oc-unified-list-line, #e3e9f1);
	background: #fff;
}

.system-setting-form-v2 {
	box-sizing: border-box;
	margin-top: 8px;
	padding-top: 14px;
	border-top: 1px solid var(--oc-unified-list-line, #e3e9f1);
}

.system-setting-form-v2 .form-group {
	margin-bottom: 12px;
}

.system-setting-form-v2 .form-group > label:first-child {
	margin-bottom: 6px;
	color: #314a66;
	font-size: 13px;
	font-weight: 600;
}

.system-setting-form-v2 :is(input.form-control, select.form-control) {
	box-sizing: border-box;
	min-height: 34px;
}

.system-filter-toolbar-v2 > .search-ul {
	min-height: 44px;
	align-items: center;
}

.system-command-toolbar-v2 > .search-ul {
	min-height: 38px;
	align-items: center;
	justify-content: flex-end;
}

.system-filter-toolbar-v2,
.system-command-toolbar-v2 {
	box-sizing: border-box;
	margin-bottom: 8px;
	border-bottom: 0 !important;
}

/* 시스템 기준정보/조직관리: 목록 + 상세/트리 화면 공통 */
#ocMainContainer div:has(> :is(
	.system-entity-screen-v2,
	.system-status-screen-v2,
	.role-setting-v2,
	.system-setting-form-v2,
	.oc-split-detail-v2
)) {
	box-sizing: border-box;
	display: flex;
	height: auto;
	min-height: 0;
	flex: 1 1 0;
	flex-direction: column;
	padding-bottom: 18px;
	overflow: hidden;
}

/* 권한관리 3분할은 중간 flex 래퍼가 아니라 메인 화면 자체를 높이 기준으로 사용한다. */
body:has(.role-setting-v2) #ocMainContainer {
	position: relative;
}

#ocMainContainer div:has(> .role-setting-v2) {
	position: static;
	display: block;
	height: auto;
	min-height: 0;
	flex: 1 1 0;
	padding-bottom: 0;
	overflow: visible;
}

#ocMainContainer .role-setting-v2 {
	position: absolute;
	top: 58px;
	right: 18px;
	bottom: 18px;
	left: 18px;
	width: auto;
	height: auto !important;
	max-height: none;
}

/* 회사관리 / 부서관리 / 사원관리도 메인 화면 하단을 기준으로 18px을 남긴다. */
body:has(:is(.company-setting-v2, .department-setting-v2, .employee-setting-v2, .company-reference-layout-v2)) #ocMainContainer {
	position: relative;
}

#ocMainContainer div:has(> :is(
	.company-setting-v2,
	.department-setting-v2,
	.employee-setting-v2,
	.company-reference-layout-v2
)) {
	position: static;
	display: block;
	height: auto;
	min-height: 0;
	flex: 1 1 0;
	padding-bottom: 0;
	overflow: visible;
}

#ocMainContainer :is(.company-setting-v2, .department-setting-v2, .employee-setting-v2, .company-reference-layout-v2) {
	position: absolute;
	top: 58px;
	right: 0;
	bottom: 18px;
	left: 0;
	width: auto;
	height: auto !important;
	max-height: none;
}

.system-entity-screen-v2 {
	box-sizing: border-box;
	display: flex;
	min-width: 0;
	min-height: 0;
	height: auto;
	flex: 1 1 0;
	flex-direction: column;
	padding: 0 !important;
}

.system-entity-screen-v2 .system-screen-title-actions-v2 {
	display: flex;
	min-height: 44px;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
	margin: 0 0 8px;
}

.system-entity-screen-v2 .system-screen-title-actions-v2 .btn,
.system-entity-screen-v2 .system-entity-command-v2 .btn {
	height: 34px;
	min-width: 58px;
	padding: 0 13px;
	border-radius: 5px;
	line-height: 32px;
}

.system-entity-screen-v2 .system-entity-filter-v2 {
	flex: 0 0 auto;
	margin: 0 0 10px;
	padding: 0;
	border: 0;
}

.system-entity-screen-v2 .system-entity-filter-v2 .standard-filter-list-v2 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.system-entity-screen-v2 .system-entity-filter-v2 .standard-filter-list-v2 > li > div {
	display: flex;
	min-width: 0;
	flex: 1;
}

.system-entity-screen-v2 .system-entity-filter-v2 :is(input.form-control, select.form-control) {
	width: 100% !important;
	min-width: 0;
	height: 34px;
}

.system-entity-screen-v2 .system-entity-layout-v2 {
	display: flex;
	min-width: 0;
	min-height: 0;
	flex: 1;
	margin: 0;
}

.system-entity-screen-v2 .system-entity-pane-v2 {
	box-sizing: border-box;
	display: flex;
	min-width: 0;
	min-height: 0;
	height: 100%;
	padding: 0 14px;
	border-right: 1px solid #dfe7f0;
}

.system-entity-screen-v2 .system-entity-pane-v2:first-child {
	padding-left: 0;
}

.system-entity-screen-v2 .system-entity-pane-v2:last-child {
	padding-right: 0;
	border-right: 0;
}

.system-entity-screen-v2 .system-entity-pane-body-v2 {
	display: flex;
	min-width: 0;
	min-height: 0;
	flex: 1;
	flex-direction: column;
	height: 100%;
	padding: 0 !important;
}

.system-entity-screen-v2 .system-entity-command-v2 {
	display: flex;
	min-height: 44px;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
	margin: 0 0 8px;
	padding: 0;
}

.system-entity-screen-v2 .system-entity-list-v2 {
	box-sizing: border-box;
	width: 100%;
	min-height: 0;
	flex: 1;
	overflow: auto;
}

.system-entity-screen-v2 .system-entity-tree-v2 {
	box-sizing: border-box;
	width: 100%;
	min-height: 0;
	flex: 1;
	overflow: auto;
	scrollbar-gutter: stable;
}

.system-entity-screen-v2 .system-entity-form-v2 {
	box-sizing: border-box;
	min-height: 0;
	overflow: auto;
}

.system-entity-screen-v2 .card {
	box-shadow: none;
}

/* 회사 / 부서 / 사원관리 입력행: 입력창 하단부터 다음 행 라벨까지 25px */
.system-form-row-gap-25-v2 .system-setting-form-v2 .form-row > .form-group {
	margin-bottom: 5px;
	padding-top: 5px;
	padding-bottom: 15px;
}

@media (max-width: 1500px) {
	.system-entity-screen-v2 .system-entity-filter-v2 .standard-filter-list-v2 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* 시스템 현황: 근태 현황과 동일한 펼침형 조회조건 */
.system-status-inline-filter-v2 { box-sizing:border-box; width:100%; margin:0 0 14px!important; padding:0; border:1px solid var(--oc-unified-list-line,#dbe4ee)!important; background:#fff; }
.system-status-inline-filter-v2>.search-ul { display:flex; width:100%; align-items:stretch; margin:0; padding:0; flex-wrap:wrap; }
.system-status-inline-filter-v2>.search-ul>li { display:flex; min-height:46px; align-items:center; margin:0; padding:7px 12px; border-right:1px solid var(--oc-unified-list-line,#dbe4ee); }
.system-status-inline-filter-v2>.search-ul>li>label { flex:0 0 auto; margin:0 12px 0 0; white-space:nowrap; }
.system-status-inline-filter-v2>.search-ul>li>div { display:flex; min-width:0; align-items:center; }
.system-status-inline-filter-v2 :is(input.form-control,select.form-control) { height:34px; }
.file-log-filter-v2 { display:flex!important; align-items:stretch; flex-wrap:wrap; }
.file-log-filter-v2 #divSearchEtc { display:flex!important; min-height:46px; align-items:center; margin:0!important; padding:7px 12px; border-right:1px solid var(--oc-unified-list-line,#dbe4ee); }
.file-log-filter-v2 #divSearchArea { display:flex; width:auto!important; min-height:46px; flex:1 1 620px; align-items:center; margin:0!important; padding:7px 12px; }
.file-log-filter-v2 .oc-search-area { width:100%; border:0; }
.file-log-filter-v2 .oc-search-input { height:34px; padding:0 10px; border:1px solid var(--oc-unified-list-line,#dbe4ee); border-radius:4px; }
.file-log-filter-v2 #btnSearchIcon,.file-log-filter-v2 .dropdwon-toggle { display:none; }
.file-log-filter-v2 .dropdown { display:block; margin-left:12px!important; }
.file-log-filter-v2 .dropdown-menu { position:static!important; display:block!important; width:auto!important; padding:0; border:0; box-shadow:none; transform:none!important; }
.file-log-filter-v2 .dropdown-menu>ul { display:flex; align-items:center; gap:12px; margin:0; padding:0; }
.file-log-filter-v2 .dropdown-menu>ul>li { display:flex; align-items:center; margin:0; }
.file-log-filter-v2 .dropdown-menu>ul>li>label { margin:0 8px 0 0; white-space:nowrap; }
.file-log-filter-v2 .dropdown-menu .mt-10 { margin-top:0!important; }
.file-log-filter-v2 #btnSearchReset { display:none; }

.file-log-query-v2 {
	display: flex;
	width: 100%;
	margin: 0 0 14px !important;
	padding: 0;
	align-items: stretch;
	flex-wrap: nowrap;
	border: 1px solid #d7e1ec !important;
	background: #fff;
}

.file-log-query-item-v2 {
	display: grid;
	min-width: 0;
	min-height: 44px;
	flex: 0 0 auto;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: center;
	border-right: 1px solid var(--oc-unified-list-line, #e3e9f1);
	border-bottom: 0;
}

.file-log-query-v2 > .file-log-query-item-v2:nth-of-type(-n+3) {
	border-bottom: 0;
}

.file-log-query-item-v2 > label {
	display: flex;
	height: 100%;
	align-items: center;
	margin: 0;
	justify-content: center;
	padding: 6px 10px;
	border-right: 1px solid var(--oc-unified-list-line, #e3e9f1);
	background: var(--oc-unified-list-head, #f7f9fc);
	color: #314a66;
	font-size: 13px;
	font-weight: 600;
	white-space: nowrap;
}

.file-log-query-item-v2 > div {
	display: flex;
	min-width: 0;
	align-items: center;
	padding: 6px 10px;
}

.file-log-query-item-v2 > div > :is(.form-control, .input-group-date) {
	box-sizing: border-box;
	width: 100% !important;
	height: 30px;
	min-height: 30px;
}

.file-log-query-item-v2 .input-group-date {
	overflow: hidden;
	border: 1px solid #d9d9d9 !important;
	border-radius: 5px;
	background: #fff;
}

.file-log-query-item-v2 .input-group-date > .form-control {
	height: 28px !important;
	min-height: 28px !important;
	border: 0 !important;
	box-shadow: none !important;
}

.file-log-date-range-v2 { gap: 7px; }
.file-log-date-range-v2 .input-group-date { min-width: 135px; }
.file-log-period-v2 { flex-basis: 430px; }
.file-log-query-v2 > .file-log-query-item-v2:nth-of-type(2) { flex-basis: 205px; }
.file-log-subject-v2 { flex-basis: 310px; }
.file-log-query-v2 > .file-log-query-item-v2:nth-of-type(4) { flex-basis: 250px; }
.file-log-query-v2 > .file-log-query-item-v2:nth-of-type(5) { flex-basis: 220px; }

.file-log-query-action-v2 {
	display: flex;
	min-width: 86px;
	flex: 1 1 auto;
	align-items: center;
	justify-content: flex-end;
	padding: 6px 12px;
}

.file-log-query-action-v2 .btn { height: 34px; min-width: 64px; }

.file-log-command-v2 {
	display: flex !important;
	min-height: 38px !important;
	align-items: center !important;
	justify-content: flex-end !important;
	margin: 0 0 8px !important;
	padding: 0 12px !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.file-log-command-v2 #btnExelDownload {
	display: inline-flex !important;
	width: auto !important;
	min-width: 0 !important;
	height: 32px !important;
	align-items: center;
	gap: 8px;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #314a66 !important;
}

.file-log-command-v2 #btnExelDownload:hover,
.file-log-command-v2 #btnExelDownload:focus {
	background: transparent !important;
	color: var(--oc-main-color, #1768b3) !important;
}

.standard-list-v2 .standard-list-table-v2 :is(th, td).file-log-no-v2 {
	width: 72px !important;
	min-width: 72px !important;
	max-width: 72px !important;
	text-overflow: clip !important;
}

/* 파일 이력은 freezeTable의 원본 헤더와 복제 헤더가 겹치므로
 * 실제로 보이는 복제 헤더에만 하단선 한 줄을 남긴다. */
.standard-list-v2 #divFileLogList :is(thead, thead tr),
.standard-list-v2 #divFileLogList > :is(thead, thead tr) {
	border-bottom: 0 !important;
	box-shadow: none !important;
}

.standard-list-v2 #divFileLogList.freeze-table
	> #divFileLogList_table > thead th {
	border-bottom: 0 !important;
}

.standard-list-v2 #divFileLogList.freeze-table
	> .clone-head-table-wrap {
	border-bottom: 0 !important;
	box-shadow: none !important;
}

.standard-list-v2 #divFileLogList.freeze-table
	> .clone-head-table-wrap :is(thead, thead tr) {
	border-bottom: 0 !important;
	box-shadow: none !important;
}

.standard-list-v2 #divFileLogList.freeze-table
	> .clone-head-table-wrap thead th {
	border-bottom: 1px solid #e3e9f1 !important;
}

.standard-list-v2 #divFileLogList_table tbody tr:first-child > td {
	border-top: 0 !important;
}

/* 현황 화면의 freezeTable은 원본 헤더와 복제 헤더를 함께 생성한다.
 * 원본 헤더 선을 지우고 실제 표시되는 복제 헤더에만 하단선 한 줄을 둔다. */
.system-status-screen-v2
	:is(#WebHardStatusList, #divUserSmsStatList, #divUserList, #divList).freeze-table
	> :is(#WebHardStatusList_table, #divUserSmsStatList_table, #divUserList_table, #divList_table)
	> thead th {
	border-bottom: 0 !important;
	box-shadow: none !important;
}

.system-status-screen-v2
	:is(#WebHardStatusList, #divUserSmsStatList, #divUserList, #divList).freeze-table
	> .clone-head-table-wrap {
	box-sizing: border-box;
	border-bottom: 0 !important;
	box-shadow: none !important;
}

.system-status-screen-v2
	:is(#WebHardStatusList, #divUserSmsStatList, #divUserList, #divList).freeze-table
	> .clone-head-table-wrap :is(thead, thead tr) {
	border-bottom: 0 !important;
	box-shadow: none !important;
}

.system-status-screen-v2
	:is(#WebHardStatusList, #divUserSmsStatList, #divUserList, #divList).freeze-table
	> .clone-head-table-wrap thead th {
	border-bottom: 1px solid #e3e9f1 !important;
}

.system-status-screen-v2
	:is(#WebHardStatusList_table, #divUserSmsStatList_table, #divUserList_table, #divList_table)
	tbody tr:first-child > td {
	border-top: 0 !important;
}

@media (max-width: 1600px) {
	.file-log-period-v2 { flex-basis: 390px; }
	.file-log-query-v2 > .file-log-query-item-v2:nth-of-type(2) { flex-basis: 180px; }
	.file-log-subject-v2 { flex-basis: 270px; }
	.file-log-query-v2 > .file-log-query-item-v2:nth-of-type(4) { flex-basis: 210px; }
	.file-log-query-v2 > .file-log-query-item-v2:nth-of-type(5) { flex-basis: 190px; }
	.file-log-date-range-v2 .input-group-date { min-width: 115px; }
}

/* 7개 현황 화면 조회조건: 근태관리 조회 셀과 동일한 표현 */
.system-status-inline-filter-v2,
.system-dashboard-list-screen-v2 .system-status-filter-v2.system-status-inline-filter-v2,
.system-status-screen-v2 > .system-status-inline-filter-v2 {
	margin: 0 0 14px !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
}

.system-status-inline-filter-v2 > .search-ul {
	display: flex !important;
	align-items: stretch !important;
	gap: 0 !important;
	flex-wrap: wrap !important;
	box-sizing: border-box;
	border: 1px solid #d7e1ec !important;
	background: #fff;
}

.system-status-inline-filter-v2 > .search-ul > li {
	display: flex !important;
	min-width: 0;
	min-height: 44px !important;
	flex: 0 0 auto;
	align-items: stretch !important;
	gap: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-right: 1px solid var(--oc-unified-list-line, #e3e9f1) !important;
	background: #fff;
}

.system-status-inline-filter-v2 > .search-ul > li:last-child {
	border-right: 0 !important;
}

.system-status-inline-filter-v2 > .search-ul > li > label {
	display: flex !important;
	box-sizing: border-box;
	min-width: 82px;
	height: auto !important;
	align-items: center;
	justify-content: center;
	margin: 0 !important;
	padding: 6px 10px !important;
	border-right: 1px solid var(--oc-unified-list-line, #e3e9f1) !important;
	background: var(--oc-unified-list-head, #f7f9fc);
	color: #314a66;
	font-size: 13px;
	font-weight: 600;
	white-space: nowrap;
}

.system-status-inline-filter-v2 > .search-ul > li > div,
.system-status-inline-filter-v2 > .search-ul > li > select,
.system-status-inline-filter-v2 > .search-ul > li > input {
	min-width: 0;
	flex: 0 0 auto;
	align-self: center;
	margin: 6px 10px !important;
}

.system-status-inline-filter-v2 > .search-ul > li > div:has(> input.form-control) {
	width: 150px;
}

.system-status-inline-filter-v2 > .search-ul > li > div:has(> select.form-control) {
	width: 180px;
}

.system-status-inline-filter-v2 > .search-ul > li > div:has(.input-group-date) {
	width: 300px;
}

.system-status-inline-filter-v2 > .search-ul > li > div > :is(input.form-control, select.form-control) {
	width: 100% !important;
}

.system-status-inline-filter-v2 > .search-ul > li:not(:has(> label)) {
	min-width: auto;
	flex: 0 0 auto;
	align-items: center !important;
	justify-content: flex-end;
	margin-left: auto !important;
	padding: 7px 12px !important;
	border-left: 1px solid var(--oc-unified-list-line, #e3e9f1) !important;
}

.system-status-inline-filter-v2 > .search-ul > .system-status-spacer-v2 {
	display: block !important;
	min-width: 0 !important;
	flex: 1 1 auto !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-right: 1px solid var(--oc-unified-list-line, #e3e9f1) !important;
	background: #fff;
}

.system-status-inline-filter-v2 > .search-ul > .system-status-spacer-v2 + li {
	margin-left: 0 !important;
}

.system-status-inline-filter-v2 > .search-ul > li:not(:has(> label)) .btn {
	height: 34px;
	min-width: 64px;
}

.system-status-inline-filter-v2 > .search-ul > .system-status-year-month-v2 > div {
	display: flex;
	min-width: 0;
	flex: 1 1 auto;
	align-items: center;
	gap: 6px;
	margin: 6px 10px !important;
	width: auto;
}

.system-status-inline-filter-v2 > .search-ul > .system-status-year-month-v2 {
	min-width: 355px !important;
	flex: 0 0 355px !important;
}

.system-status-inline-filter-v2 > .search-ul > .system-status-year-month-v2 > label {
	min-width: 102px;
}

.system-status-inline-filter-v2 > .search-ul > .system-status-year-month-v2 #ddlYear {
	width: 120px !important;
}

.system-status-inline-filter-v2 > .search-ul > .system-status-year-month-v2 #ddlMonth {
	width: 94px !important;
}

/* SMS현황 구 JSP 컴파일본 호환: 연도/월 두 셀을 년월 한 셀처럼 표시 */
.system-status-inline-filter-v2 > .search-ul > li:first-child:not(.system-status-year-month-v2):has(#ddlYear) {
	min-width: 0 !important;
	flex: 0 0 232px !important;
	border-right: 0 !important;
}

.system-status-inline-filter-v2 > .search-ul > li:first-child:not(.system-status-year-month-v2):has(#ddlYear) > label {
	order: -1;
	min-width: 102px;
	font-size: 0;
}

.system-status-inline-filter-v2 > .search-ul > li:first-child:not(.system-status-year-month-v2):has(#ddlYear) > label::after {
	font-size: 13px;
	content: "년월";
}

.system-status-inline-filter-v2 > .search-ul > li:first-child:not(.system-status-year-month-v2):has(#ddlYear) > div {
	flex: 0 0 120px;
	margin-right: 3px !important;
}

.system-status-inline-filter-v2 > .search-ul > li:first-child:not(.system-status-year-month-v2):has(#ddlYear) + li:has(#ddlMonth) {
	min-width: 0 !important;
	flex: 0 0 123px !important;
}

.system-status-inline-filter-v2 > .search-ul > li:first-child:not(.system-status-year-month-v2):has(#ddlYear) + li:has(#ddlMonth) > label {
	display: none !important;
}

.system-status-inline-filter-v2 > .search-ul > li:first-child:not(.system-status-year-month-v2):has(#ddlYear) + li:has(#ddlMonth) > div {
	flex: 0 0 94px;
	margin-left: 3px !important;
}

.system-status-inline-filter-v2 .system-status-checkbox-v2 {
	display: flex !important;
	position: relative;
	box-sizing: border-box;
	width: 32px;
	height: 30px;
	align-items: center;
	margin: 0 !important;
	padding: 0 0 0 24px !important;
}

.system-status-inline-filter-v2 .system-status-checkbox-v2 .custom-control-label {
	position: relative !important;
	left: 0 !important;
	top: 0 !important;
	display: block;
	width: 16px;
	height: 18px;
	margin: 0 !important;
}

.system-status-inline-filter-v2 .system-status-checkbox-v2 .custom-control-label::before,
.system-status-inline-filter-v2 .system-status-checkbox-v2 .custom-control-label::after {
	top: 1px !important;
	left: -24px !important;
}

/* 시스템 현황: 조회조건 / 다운로드 명령행 / 결과 목록 */
.system-status-screen-v2 {
	box-sizing: border-box;
	min-width: 0;
	min-height: 0;
	height: auto;
	flex: 1 1 0;
	padding-right: 0 !important;
	padding-left: 0 !important;
}

.system-status-screen-v2 > .standard-command-row-v2,
.system-status-screen-v2 .standard-command-row-v2 {
	display: flex;
	min-height: 38px;
	align-items: center;
	justify-content: flex-end;
	gap: 0;
	margin: 0 0 8px;
	padding: 0;
	border: 0;
}

.system-status-screen-v2 .standard-command-row-v2 .btn {
	display: inline-flex;
	height: 34px;
	align-items: center;
	gap: 7px;
	margin: 0;
	padding: 0 12px;
	border-left: 1px solid #dbe4ee;
}

.system-status-screen-v2 > .standard-list-frame-v2,
.system-status-screen-v2 .standard-list-frame-v2 {
	min-height: 0;
}

/* 시스템 현황의 페이징 푸터: 목록 끝 76px / 페이징 끝 18px */
.system-status-screen-v2.standard-list-v2:not(.standard-list-no-paging-v2) > [id$="_etc"] {
	height: 58px;
	min-height: 58px;
	flex: 0 0 58px;
}

.system-status-screen-v2.standard-list-v2:not(.standard-list-no-paging-v2) > [id$="_etc"] > [id$="_paging"].pagination {
	top: auto;
	bottom: 0;
}

.system-status-screen-v2 .search-area {
	margin-bottom: 8px;
	border-bottom: 0;
}

/* 시스템 현황판: 검색/요약 카드와 결과 테이블을 분리한다. */
.system-dashboard-list-screen-v2 {
	display: flex !important;
	min-width: 0;
	min-height: 0;
	height: 100% !important;
	flex: 1 1 0;
	flex-direction: column;
	gap: 12px;
	padding: 0 !important;
	overflow: hidden;
}

.system-dashboard-list-screen-v2 .system-status-dashboard-card-v2 {
	box-sizing: border-box;
	flex: 0 0 auto;
	padding: 14px 16px;
	border: 1px solid var(--oc-unified-list-line, #dbe4ee);
	border-radius: 8px;
	background: #fff;
}

.system-dashboard-list-screen-v2 .system-status-filter-v2 {
	margin: 0 0 14px;
	padding: 0 0 14px;
	border-bottom: 1px solid var(--oc-unified-list-line, #dbe4ee);
}

.system-dashboard-list-screen-v2 .system-status-filter-v2 .search-ul {
	display: flex;
	align-items: flex-end;
	gap: 12px;
	flex-wrap: wrap;
	margin: 0;
	padding: 0;
}

.system-dashboard-list-screen-v2 .system-status-filter-v2 .search-ul > li {
	margin: 0;
}

.system-dashboard-list-screen-v2 .system-status-filter-v2 .system-status-checkbox-v2 {
	top: 0;
	display: flex;
	height: 34px;
	align-items: center;
	margin: 0;
}

.system-dashboard-list-screen-v2 .system-status-summary-v2 {
	display: flex;
	min-width: 0;
	align-items: flex-end;
	gap: 44px;
	flex-wrap: wrap;
}

.system-dashboard-list-screen-v2 .system-status-metric-v2 {
	min-width: 170px;
	margin: 0;
}

.system-dashboard-list-screen-v2 .system-status-metric-value-v2,
.system-dashboard-list-screen-v2 :is(#divTotalMailSize, #divActTotalMailSize) {
	display: block;
	margin-top: 4px;
	color: #17375e;
	font-size: 20px;
	line-height: 1.3;
}

.system-dashboard-list-screen-v2 .system-status-bulk-v2 {
	display: flex;
	min-width: 0;
	align-items: center;
	gap: 6px;
	margin-left: auto;
}

.system-dashboard-list-screen-v2 .system-status-mail-bulk-v2 {
	align-items: flex-end;
	flex-direction: column;
}

.system-dashboard-list-screen-v2 .system-status-inline-controls-v2 {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 4px;
}

.system-dashboard-list-screen-v2 .system-status-summary-v2 .btn {
	display: inline-flex;
	height: 34px;
	min-width: 58px;
	align-items: center;
	justify-content: center;
	padding: 0 13px;
	border-radius: 5px;
	line-height: 32px;
}

.standard-list-v2.system-dashboard-list-screen-v2 > .standard-list-frame-v2.system-status-table-card-v2 {
	min-height: 0;
	flex: 1 1 0;
	border: 1px solid var(--oc-unified-list-line, #dbe4ee);
	border-radius: 8px;
	background: #fff;
	overflow: auto;
	scrollbar-gutter: stable;
}

.standard-list-v2.system-dashboard-list-screen-v2 > .standard-list-frame-v2.system-status-table-card-v2 > [id$="_table_wrapper"] {
	height: auto !important;
	min-height: 100%;
	flex: 1 1 auto;
	overflow: visible;
}

.standard-list-v2.system-dashboard-list-screen-v2 > .standard-list-frame-v2.system-status-table-card-v2 .standard-list-table-v2 {
	border: 0 !important;
}

@media (max-width: 1500px) {
	.system-dashboard-list-screen-v2 .system-status-summary-v2 {
		gap: 24px;
	}

	.system-dashboard-list-screen-v2 .system-status-bulk-v2 {
		width: 100%;
		margin-left: 0;
	}

	.system-dashboard-list-screen-v2 .system-status-mail-bulk-v2 {
		align-items: flex-start;
	}
}

/* 시스템 > 전자결재설정 화면 */
.approval-setting-screen-v2 .system-entity-layout-v2 {
	align-items: stretch;
	gap: 16px;
	padding: 0;
	padding-bottom: 18px;
}

/* 결재종류/결재진행 설정은 권한관리처럼 각 영역을 독립 패널로 표시한다. */
.approval-setting-screen-v2 .system-entity-pane-v2 {
	box-sizing: border-box;
	min-width: 0;
	padding: 14px !important;
	border: 1px solid #cfdbe7 !important;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 1px 2px rgba(21, 54, 86, .03);
	overflow: hidden;
}

.approval-setting-screen-v2 .system-entity-pane-v2.col-border {
	border-right: 1px solid #cfdbe7 !important;
}

.approval-setting-screen-v2 .system-entity-pane-body-v2 {
	height: 100%;
	min-height: 0;
}

.approval-setting-screen-v2 .system-entity-pane-v2 > .system-entity-pane-body-v2 > .mb-10:first-child {
	display: flex !important;
	min-height: 44px;
	align-items: center;
	margin: 0 0 8px !important;
}

.approval-setting-screen-v2 .system-entity-list-v2.standard-list-frame-v2 {
	border: 1px solid #e1e8f0;
	border-radius: 0;
	background: #fff;
}

.approval-setting-screen-v2 .standard-list-table-v2 thead th {
	height: 40px !important;
	min-height: 40px !important;
	background: #f5f8fc !important;
}

.approval-setting-screen-v2 .standard-list-table-v2 tbody td {
	height: 40px !important;
	min-height: 40px !important;
}

.approval-setting-screen-v2 .standard-list-table-v2 tbody tr:hover > td {
	background: #f5f9fd !important;
}

.approval-setting-screen-v2 .standard-list-table-v2 tbody tr:is(.selected, .select, .active) > td {
	background: #eaf3fc !important;
}

.approval-setting-screen-v2 .system-entity-pane-v2 > .system-entity-pane-body-v2 > .mb-10:first-child .theme-background {
	width: 4px !important;
	height: 18px !important;
	margin-top: 0 !important;
}

.approval-setting-screen-v2 .system-entity-pane-v2 > .system-entity-pane-body-v2 > .mb-10:first-child .btn-area {
	display: flex;
	align-items: center;
	gap: 8px;
}

.approval-setting-screen-v2 .system-entity-pane-v2 > .system-entity-pane-body-v2 > .mb-10:first-child .btn {
	height: 34px;
	min-width: 58px;
	padding: 0 13px;
	border-radius: 5px;
	line-height: 32px;
}

.approval-setting-screen-v2 :is(#divAppType, #divAppAttr, #divAppVar, #divProc, #divProcApp, #divDocNumSet, #formList) {
	min-height: 0;
	flex: 1;
	overflow: auto;
}

.standard-filter-list-v2 {
	display: grid !important;
	width: 100% !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: 0 !important;
	padding: 0 !important;
	border-top: 1px solid var(--oc-unified-list-line, #e3e9f1);
	border-left: 1px solid var(--oc-unified-list-line, #e3e9f1);
}

.standard-filter-list-v2 > li {
	box-sizing: border-box;
	display: flex !important;
	min-width: 0;
	min-height: 44px;
	align-items: center;
	gap: 6px;
	margin: 0 !important;
	padding: 6px 10px;
	border-right: 1px solid var(--oc-unified-list-line, #e3e9f1);
	border-bottom: 1px solid var(--oc-unified-list-line, #e3e9f1);
	background: #fff;
}

.standard-filter-list-v2 > li > label:first-child {
	box-sizing: border-box;
	display: flex;
	min-height: 43px;
	flex: 0 0 132px;
	align-items: center;
	justify-content: center;
	margin: -6px 4px -6px -10px !important;
	padding: 0 8px;
	border-right: 1px solid var(--oc-unified-list-line, #e3e9f1);
	background: var(--oc-unified-list-head, #f7f9fc);
	color: #314a66;
	font-size: 13px;
	font-weight: 600;
	white-space: nowrap;
}

.standard-filter-list-v2 > li.standard-filter-title-action-v2,
.standard-filter-list-v2 > li.standard-filter-command-source-v2 {
	display: none !important;
}

.standard-command-row-v2 > .search-ul {
	min-height: 38px;
	justify-content: flex-end;
}

.standard-list-v2 .standard-list-frame-v2 {
	position: relative;
	box-sizing: border-box;
	display: flex;
	width: 100%;
	min-height: 0;
	flex-direction: column;
	border: 1px solid var(--oc-unified-list-line);
	border-radius: 0;
	background: #fff;
	overflow: hidden;
}

/* The frame owns the outside border and header cells own the single divider.
 * DataTables scroll wrappers must not draw an additional line between them. */
.standard-list-v2 .standard-list-frame-v2 :is(
	.dataTables_scroll,
	.dataTables_scrollHead,
	.dataTables_scrollHeadInner,
	.dataTables_scrollHeadInner > table,
	.dataTables_scrollBody
) {
	border: 0 !important;
	box-shadow: none !important;
}

.standard-list-v2 .standard-list-frame-v2 .dataTables_scrollHeadInner > table {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

.standard-list-v2 .standard-list-frame-v2 .standard-list-table-v2 thead {
	border: 0 !important;
}

.standard-list-v2 .standard-list-frame-v2 .standard-list-table-v2 tbody > tr:first-child > td {
	border-top: 0 !important;
}

.standard-list-v2 > .standard-list-frame-v2 > [id$="_table_wrapper"] {
	box-sizing: border-box;
	height: auto !important;
	min-height: 0;
	flex: 1 1 auto;
	overflow-x: auto;
	overflow-y: auto;
}

.standard-list-v2:not(.standard-list-no-paging-v2) > .standard-list-frame-v2 {
	flex: 1 1 auto;
}

.attend-code-status-list-v2 {
	box-sizing: border-box;
	display: flex !important;
	min-height: 0;
	flex-direction: column;
	overflow: hidden;
}

body:has(.attend-code-status-list-v2) #ocMainContainer {
	position: relative;
}

#ocMainContainer div:has(> .attend-code-status-list-v2) {
	position: static;
	display: block;
	height: auto;
	min-height: 0;
	flex: 1 1 0;
	overflow: visible;
}

#ocMainContainer .attend-code-status-list-v2 {
	position: absolute;
	top: 58px;
	right: 18px;
	bottom: 18px;
	left: 18px;
	width: auto;
	height: auto !important;
	max-height: none;
	padding: 0 !important;
}

.attend-code-status-list-v2 > .search-area {
	flex: 0 0 auto;
}

/* 조회함과 동일하게 페이징을 하단 영역의 수직 중앙에 배치한다. */
.attend-code-status-list-v2 > #divAttendCodeStatus_etc > #divAttendCodeStatus_paging.pagination {
	top: 50%;
	bottom: auto;
	transform: translate(-50%, -50%);
}

.standard-list-v2 > [id$="_etc"] {
	box-sizing: border-box;
	position: relative;
	width: 100%;
	height: 60px;
	min-height: 60px;
	flex: 0 0 60px;
	padding: 0 8px;
	align-items: center !important;
	border-top: 0;
	background: #fff;
}

.standard-list-v2 > [id$="_etc"] [id$="_table_ViewOption"] > div {
	display: flex !important;
	align-items: center;
	gap: 8px;
	margin-top: 0 !important;
	color: #52677f;
	font-size: 13px;
}

.standard-list-v2 > [id$="_etc"] [id$="_table_ViewOption"] .mr-10 {
	margin-right: 0 !important;
}

.standard-list-v2 > [id$="_etc"] [id$="_table_ViewOption"] :is(select, .select2-container) {
	width: 62px !important;
}

.standard-list-v2 > [id$="_etc"] [id$="_table_ViewOption"] .select2-selection {
	height: 34px !important;
	border: 1px solid #cbd7e5 !important;
	border-radius: 7px !important;
	background: #fff !important;
	box-shadow: none !important;
}

.standard-list-v2 > [id$="_etc"] [id$="_table_ViewOption"] .select2-selection__rendered {
	padding-left: 12px !important;
	line-height: 32px !important;
	color: #152b49 !important;
}

.standard-list-v2 > [id$="_etc"] [id$="_table_ViewOption"] .select2-selection__arrow {
	height: 32px !important;
}

.standard-list-v2 > [id$="_etc"] > [id$="_paging"].pagination {
	position: absolute;
	top: 0;
	bottom: auto;
	left: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 !important;
	padding: 0;
	transform: translateX(-50%);
}

.standard-list-v2 > [id$="_etc"] [id$="_paging"] .pagination-center {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin: 0;
	padding: 4px;
	border: 1px solid #d5dfeb;
	border-radius: 22px;
	background: #fff;
	box-shadow: 0 2px 7px rgba(19, 45, 76, .08);
}

.standard-list-v2 > [id$="_etc"] [id$="_paging"] .page-item {
	display: block;
	margin: 0 !important;
}

.standard-list-v2 > [id$="_etc"] [id$="_paging"] .page-link {
	display: inline-flex;
	min-width: 32px;
	height: 32px;
	align-items: center;
	justify-content: center;
	margin: 0 !important;
	padding: 0 9px !important;
	border: 0 !important;
	border-radius: 16px !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #53677e !important;
	font-size: 13px;
}

.standard-list-v2 > [id$="_etc"] [id$="_paging"] .page-item.active .page-link {
	background: var(--portal-theme-primary, #075fc5) !important;
	box-shadow: 0 2px 6px color-mix(in srgb, var(--portal-theme-primary, #075fc5) 28%, transparent) !important;
	color: #fff !important;
	font-weight: 700;
}

.standard-list-v2 > [id$="_etc"] [id$="_paging"] .page-item.active .page-link::before,
.standard-list-v2 > [id$="_etc"] [id$="_paging"] .page-item.active .page-link::after {
	display: none !important;
	content: none !important;
}

.standard-list-v2 .standard-list-table-v2 {
	min-width: 0 !important;
	table-layout: fixed;
}

.standard-list-v2 .standard-list-table-v2 :is(th, td) {
	box-sizing: border-box;
}

.standard-list-v2 .standard-list-table-v2 tbody td {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* Content.jsp의 제목(52px) 아래 flex 영역이 표의 최소 높이에 밀려 커지지 않도록 한다. */
#ocMainContainer div:has(> :is(.standard-list-v2, .board-list-v2).standard-list-no-paging-v2) {
	box-sizing: border-box;
	height: 100%;
	min-height: 0;
	overflow: hidden;
}

/* 페이징이 없는 표준 목록은 남은 높이를 목록 외곽선 안의 빈 영역으로 채운다. */
:is(.standard-list-v2, .board-list-v2).standard-list-no-paging-v2 {
	box-sizing: border-box;
	height: 100% !important;
	max-height: 100%;
	min-height: 0;
	margin-bottom: 0;
	padding-bottom: 0 !important;
	overflow: hidden;
}

.standard-list-no-paging-v2 > .attend-register-search-v2 {
	flex: 0 0 auto;
}

.board-list-v2.standard-list-no-paging-v2 > .content-auto {
	flex: 1 1 auto;
	height: auto;
	min-height: 0;
}

.board-list-v2.standard-list-no-paging-v2 > .content-auto > .content-wrapper {
	box-sizing: border-box;
	height: 100%;
	min-height: 0;
	padding-bottom: 0 !important;
}

.board-list-v2.standard-list-no-paging-v2 #divArticleList {
	height: calc(100dvh - 244px) !important;
	max-height: calc(100dvh - 244px) !important;
	flex: 0 0 calc(100dvh - 244px) !important;
}

/* 관리휴가/대체휴가 일수등록: 화면별 고정 vh 높이를 사용하지 않고
 * 제목 아래 실제 가용 높이를 채운 뒤 화면 하단에는 18px만 남긴다. */
#ocMainContainer div:has(> .board-list-v2.standard-list-no-paging-v2.attend-vacation-register-list-v2) {
	height: calc(100% - 18px);
}

.board-list-v2.standard-list-no-paging-v2.attend-vacation-register-list-v2 > .content-auto > .content-wrapper {
	display: flex;
	flex-direction: column;
}

.board-list-v2.standard-list-no-paging-v2.attend-vacation-register-list-v2 #divArticleList {
	height: auto !important;
	max-height: none !important;
	min-height: 0 !important;
	flex: 1 1 auto !important;
	border-bottom: 1px solid var(--board-list-line);
}

/* These two non-paged vacation lists do not use the generated footer rail. */
.board-list-v2.standard-list-no-paging-v2 #divArticleList_etc {
	display: none !important;
	height: 0 !important;
	min-height: 0 !important;
	flex: 0 0 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

.standard-list-no-paging-v2 > .standard-list-frame-v2 {
	flex: 1 1 auto;
	min-height: 0;
	margin-bottom: 0;
	overflow: auto !important;
	scrollbar-gutter: stable;
}

/* 근태관리 단일 목록 4종.
 * 공지게시 목록과 동일하게 도구영역과 스크롤 본문을 분리한다.
 * 상위 컨테이너를 임의의 px 값으로 늘리지 않고 실제 남은 높이 안에서만 배치한다. */
body:has(.attend-scroll-list-v3) #ocMainContainer {
	position: relative;
}

#ocMainContainer div:has(> .attend-scroll-list-v3) {
	position: static;
	display: block;
	height: auto;
	min-height: 0;
	overflow: visible;
}

#ocMainContainer .attend-scroll-list-v3 {
	position: absolute;
	top: 58px;
	right: 18px;
	bottom: 18px;
	left: 18px;
	box-sizing: border-box;
	display: flex;
	width: auto;
	height: auto !important;
	max-height: none;
	min-height: 0;
	flex-direction: column;
	padding: 0 !important;
	overflow: hidden;
}

.attend-scroll-list-v3 > .attend-register-search-v2 {
	min-height: 38px;
	flex: 0 0 auto;
}

.attend-scroll-list-v3 > .attend-list-content-v3 {
	display: flex;
	min-height: 0;
	flex: 1 1 0;
	overflow: hidden;
}

.attend-scroll-list-v3 .attend-list-body-v3 {
	box-sizing: border-box;
	display: flex;
	width: 100%;
	min-height: 0;
	flex: 1 1 0;
	padding: 0 !important;
	overflow: hidden;
}

.attend-scroll-list-v3 .attend-list-frame-v3 {
	min-height: 0;
	flex: 1 1 0;
	margin: 0;
	overflow: hidden !important;
}

.attend-scroll-list-v3 .attend-list-frame-v3 > [id$="_table_wrapper"] {
	box-sizing: border-box;
	height: 100% !important;
	min-height: 0;
	flex: 1 1 0;
	overflow-x: auto;
	overflow-y: scroll;
	scrollbar-gutter: auto;
}

/* 개인근태현황: 연차/휴가 요약표 공통 스타일 */
.attend-emp-status-v2 #divAnnStateInfo table,
.attend-emp-status-v2 #divMngAnnList_table {
	width: 100% !important;
	margin: 0 !important;
	border-collapse: collapse !important;
	table-layout: fixed;
}

.attend-emp-status-v2 #divAnnStateInfo table th,
.attend-emp-status-v2 #divMngAnnList_table th {
	box-sizing: border-box;
	height: 36px !important;
	padding: 0 12px !important;
	border: 1px solid #dbe4ee !important;
	background: #f5f8fc !important;
	color: #344b68;
	font-weight: 500;
	vertical-align: middle !important;
}

.attend-emp-status-v2 #divAnnStateInfo table td,
.attend-emp-status-v2 #divMngAnnList_table td {
	box-sizing: border-box;
	height: 36px !important;
	padding: 0 12px !important;
	border: 1px solid #dbe4ee !important;
	background: #fff;
	color: #243b57;
	vertical-align: middle !important;
}

/* 개인근태현황은 3단 헤더이므로 스크롤 고정 위치를 행별로 분리한다. */
.attend-emp-status-v2 #divAnnState_table thead tr:nth-child(1) > th,
.attend-emp-status-v2 #divAnnState .clone-head-table-wrap thead tr:nth-child(1) > th {
	top: 0 !important;
	z-index: 5;
}

.attend-emp-status-v2 #divAnnState_table thead tr:nth-child(2) > th,
.attend-emp-status-v2 #divAnnState .clone-head-table-wrap thead tr:nth-child(2) > th {
	top: 40px !important;
	z-index: 4;
}

.attend-emp-status-v2 #divAnnState_table thead tr:nth-child(3) > th,
.attend-emp-status-v2 #divAnnState .clone-head-table-wrap thead tr:nth-child(3) > th {
	top: 80px !important;
	z-index: 3;
}

.attend-emp-status-v2 #divAnnState_table thead th,
.attend-emp-status-v2 #divAnnState .clone-head-table-wrap thead th {
	box-sizing: border-box;
	height: 40px !important;
	min-height: 40px !important;
	background: #f5f8fc !important;
	vertical-align: middle !important;
}

/* 근태 현황 공통: 단일 테이블의 다단 헤더를 행별 위치에 고정한다. */
.attend-multiheader-v2 .standard-list-table-v2 thead tr:nth-child(1) > th {
	position: sticky !important;
	top: 0 !important;
	z-index: 5;
}

.attend-multiheader-v2 .standard-list-table-v2 thead tr:nth-child(2) > th {
	position: sticky !important;
	top: 40px !important;
	z-index: 4;
}

.attend-multiheader-v2 .standard-list-table-v2 thead tr:nth-child(3) > th {
	position: sticky !important;
	top: 80px !important;
	z-index: 3;
}

.attend-multiheader-v2 .standard-list-table-v2 thead th {
	box-sizing: border-box;
	height: 40px !important;
	min-height: 40px !important;
	background: #f5f8fc !important;
	background-clip: padding-box !important;
	vertical-align: middle !important;
}

/* 개인근태현황은 요약 영역 아래에 목록 래퍼가 한 단계 더 있으므로
 * 각 래퍼의 남은 높이를 연결해 내부 스크롤 영역을 만든다. */
.attend-emp-status-v2 #divAnnCardBody {
	box-sizing: border-box;
	display: flex;
	min-width: 0;
	min-height: 0;
	flex: 1 1 0;
	flex-direction: column;
	overflow: hidden;
}

.attend-emp-status-v2 #divParAnnState {
	box-sizing: border-box;
	display: flex;
	width: 100%;
	max-width: 100% !important;
	min-width: 0;
	min-height: 0;
	flex: 1 1 0;
	overflow: hidden;
}

.attend-emp-status-v2 #divAnnState.standard-list-frame-v2 {
	display: block;
	width: 100%;
	height: 100%;
	min-width: 0;
	min-height: 0;
	overflow: auto !important;
	scrollbar-gutter: stable;
}

.attend-emp-status-v2 #divAnnState_table.standard-list-table-v2 {
	min-width: 1700px !important;
	border-collapse: separate !important;
	border-spacing: 0;
}

/* Attendance bulk-registration popup */
.attend-bulk-upload-v2 {
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	padding: 0 12px 12px !important;
	color: #17375e;
}

.attend-bulk-upload-v2 #formExcelInfo {
	margin: 0 0 14px;
	padding: 14px 0;
	border-bottom: 1px solid #e1e8f0;
}

.attend-bulk-upload-v2 #formExcelInfo .form-row {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 !important;
}

.attend-bulk-upload-v2 #formExcelInfo .form-group {
	display: flex !important;
	min-width: 0;
	align-items: center !important;
	margin: 0 !important;
	padding: 0 !important;
}

.attend-bulk-upload-v2 #formExcelInfo .form-group.col-md-3 {
	flex: 0 0 155px;
	max-width: 155px;
}

.attend-bulk-upload-v2 #formExcelInfo .form-group.col-md-9,
.attend-bulk-upload-v2 #formExcelInfo .form-group.col-md-12 {
	flex: 1 1 auto;
	max-width: none;
}

.attend-bulk-upload-v2 #formExcelInfo .form-group > label {
	flex: 0 0 auto;
	margin: 0 10px 0 0 !important;
	color: #17375e;
	font-size: 13px;
	font-weight: 600;
	white-space: nowrap;
}

.attend-bulk-upload-v2 #formExcelInfo .form-group > div {
	min-width: 0;
	align-items: center;
	margin-left: 0 !important;
}

.attend-bulk-upload-v2 #ddlYear {
	width: 90px !important;
	height: 34px !important;
	margin: 0 !important;
	border: 1px solid #cbd8e6;
	border-radius: 6px;
	background-color: #fff;
}

.attend-bulk-upload-v2 .oc-file-group {
	display: flex;
	min-width: 0;
	align-items: center;
	gap: 8px;
}

.attend-bulk-upload-v2 .oc-file-group .btn,
.attend-bulk-upload-v2 #btnSave {
	min-height: 34px;
	margin: 0 !important;
	padding: 0 14px;
	border-color: #173f6b;
	border-radius: 6px !important;
	background: #fff;
	color: #173f6b;
	font-size: 13px;
	white-space: nowrap;
}

.attend-bulk-upload-v2 #btnSave {
	min-width: 68px;
	margin-left: auto !important;
}

.attend-bulk-upload-v2 .oc-file-group .btn:hover,
.attend-bulk-upload-v2 #btnSave:hover {
	background: #f2f7fc;
}

.attend-bulk-upload-v2 :is(#divMngAnn, #divAltMng) {
	box-sizing: border-box;
	width: 100%;
	max-height: 440px;
	overflow: auto;
	border: 1px solid #dbe5ef;
	border-radius: 8px;
	background: #fff;
}

.attend-bulk-upload-v2 .attend-bulk-upload-table-v2 {
	width: 100% !important;
	min-width: 100%;
	margin: 0 !important;
	border: 0 !important;
	border-collapse: collapse;
	table-layout: fixed;
}

.attend-bulk-upload-v2 .attend-bulk-upload-table-v2 thead th {
	height: 40px;
	padding: 0 10px;
	border: 0;
	border-bottom: 1px solid #dbe5ef;
	background: #f4f7fb;
	color: #304d70;
	font-size: 13px;
	font-weight: 600;
	vertical-align: middle;
}

.attend-bulk-upload-v2 .attend-bulk-upload-table-v2 tbody td {
	height: 42px;
	padding: 0 10px;
	border: 0;
	border-bottom: 1px solid #e7edf3;
	color: #17375e;
	font-size: 13px;
	vertical-align: middle;
}

.attend-bulk-upload-v2 .attend-bulk-upload-table-v2 tbody tr:last-child td {
	border-bottom: 0;
}

/* Alternative-vacation expiration setting popup */
.attend-alt-setting-v2 {
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	padding: 0 12px 12px !important;
	color: #17375e;
}

.attend-alt-setting-v2 .attend-alt-setting-actions-v2 {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	padding: 10px 0 12px;
	border-bottom: 1px solid #e1e8f0;
}

.attend-alt-setting-v2 #btnSave {
	min-width: 68px;
	height: 34px;
	padding: 0 16px;
	border: 1px solid #173f68;
	border-radius: 6px;
	background: #fff;
	color: #173f68;
	font-size: 13px;
	font-weight: 500;
	line-height: 32px;
}

.attend-alt-setting-v2 #btnSave:hover,
.attend-alt-setting-v2 #btnSave:focus {
	background: #f4f8fc;
	color: #173f68;
}

.attend-alt-setting-v2 #formAltSet {
	padding: 18px 8px 0;
}

.attend-alt-setting-v2 #formAltSet .form-row {
	margin: 0;
}

.attend-alt-setting-v2 #formAltSet .form-group {
	margin: 0 0 18px;
	padding: 0;
}

.attend-alt-setting-v2 #formAltSet .form-group > label {
	display: block;
	margin: 0 0 10px;
	color: #17375e;
	font-size: 13px;
	font-weight: 600;
	line-height: 20px;
}

.attend-alt-setting-v2 #divExpCriteriaSet {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 18px;
	min-height: 34px;
}

.attend-alt-setting-v2 #divExpCriteriaSet .custom-control {
	margin: 0;
}

.attend-alt-setting-v2 #divExpCriteriaSet .custom-control-label {
	margin: 0;
	white-space: nowrap;
	font-size: 13px;
	line-height: 20px;
}

.attend-alt-setting-v2 .attend-alt-setting-fiscal-v2 {
	display: flex;
	align-items: center;
	gap: 18px;
}

.attend-alt-setting-v2 .attend-alt-setting-fiscal-v2 > div {
	display: flex;
	align-items: center;
	width: auto !important;
	margin: 0 !important;
}

.attend-alt-setting-v2 .attend-alt-setting-fiscal-v2 select {
	width: 100px !important;
	height: 34px;
	border: 1px solid #c7d5e5;
	border-radius: 5px;
	font-size: 13px;
}

.attend-alt-setting-v2 .attend-alt-setting-fiscal-v2 span {
	margin: 0 0 0 6px !important;
	line-height: 34px !important;
}

/* AttendBase/AttendTeamEmp001 - balanced assignment lists */
.attend-team-assignment-v3 {
    display: flex;
    flex-direction: column;
    gap: 8px;
    height: calc(100dvh - 191px);
    min-height: 0;
    width: 100%;
    position: relative;
    padding: 4px 18px 16px;
    box-sizing: border-box;
    overflow: hidden;
}

/* 근무제 사원지정: 양쪽 카드 외곽선의 실제 하단을 화면에서 18px 띄운다. */
body:has(.attend-team-bottom-fit-v2) #ocMainContainer {
	position: relative;
}

#ocMainContainer div:has(> .attend-team-bottom-fit-v2) {
	position: static;
	display: block;
	height: auto;
	min-height: 0;
	flex: 1 1 0;
	overflow: visible;
}

#ocMainContainer .attend-team-bottom-fit-v2 {
	position: absolute;
	top: 58px;
	right: 0;
	bottom: 18px;
	left: 0;
	width: auto;
	height: auto !important;
	max-height: none;
	padding: 4px 18px 0;
}

.attend-team-assignment-v3 .attend-team-emp-filter-v2 {
	display: flex;
	align-items: center;
	gap: 16px;
	min-height: 34px;
	padding: 0;
}

.attend-team-assignment-v3 .attend-team-emp-field-v2,
.attend-team-assignment-v3 .attend-team-emp-search-v2 {
	display: flex;
	align-items: center;
	gap: 8px;
}

.attend-team-assignment-v3 .attend-team-emp-field-v2 label,
.attend-team-assignment-v3 .attend-team-emp-search-v2 label,
.attend-team-assignment-v3 .attend-team-auto-history-v2 label,
.attend-team-assignment-v3 .attend-team-change-wrap-v2 label {
	margin: 0;
	color: #17375e;
	font-size: 13px;
	font-weight: 600;
	white-space: nowrap;
}

.attend-team-assignment-v3 .attend-team-emp-field-v2 select {
	width: 180px;
	height: 34px;
}

.attend-team-assignment-v3 .attend-team-emp-grid-v2 {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	flex: 1;
	min-height: 0;
}

.attend-team-assignment-v3 .attend-team-emp-card-v2 {
	display: flex;
	flex-direction: column;
	min-width: 0;
	min-height: 0;
	border: 1px solid #d5e1ed;
	border-radius: 8px;
	background: #fff;
	overflow: hidden;
}

.attend-team-assignment-v3 .attend-team-emp-title-v2 {
	display: flex;
	align-items: center;
	height: 48px;
	padding: 0 16px;
	border-bottom: 1px solid #dbe5ef;
}

.attend-team-assignment-v3 .attend-team-emp-title-v2 h3 {
	position: relative;
	margin: 0;
	padding-left: 11px;
	color: #122f50;
	font-size: 16px;
	font-weight: 700;
	line-height: 22px;
}

.attend-team-assignment-v3 .attend-team-emp-title-v2 h3::before {
	content: "";
	position: absolute;
	left: 0;
	top: 2px;
	width: 4px;
	height: 18px;
	border-radius: 1px;
	background: #173f68;
}

.attend-team-assignment-v3 .attend-team-emp-count-v2 {
	color: #71859b;
	font-size: 13px;
	font-weight: 500;
}

.attend-team-assignment-v3 .attend-team-emp-toolbar-v2 {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	min-height: 58px;
	padding: 10px 14px;
	border-bottom: 0;
	background: #fbfcfe;
}

.attend-team-assignment-v3 .attend-team-emp-search-v2 {
	min-width: 0;
	flex: 1 1 290px;
}

.attend-team-assignment-v3 .attend-team-emp-search-v2 input {
	min-width: 80px;
	max-width: 220px;
	height: 34px;
	flex: 1;
}

.attend-team-assignment-v3 .attend-team-emp-actions-v2,
.attend-team-assignment-v3 .attend-team-auto-history-v2 {
	display: flex;
	align-items: center;
	gap: 8px;
	white-space: nowrap;
}

.attend-team-assignment-v3 .attend-team-emp-toolbar-v2 .btn {
	min-width: 58px;
	height: 34px;
	padding: 0 13px;
	border-radius: 5px;
	line-height: 32px;
}

.attend-team-assignment-v3 .attend-team-change-wrap-v2 {
	position: relative;
}

.attend-team-assignment-v3 #divChangeTeam {
	position: absolute;
	right: 0;
	left: auto;
	top: calc(100% + 6px);
	z-index: 1002;
	width: 230px;
	padding: 14px;
	border: 1px solid #cbd8e6;
	border-radius: 7px;
	background: #fff;
	box-shadow: 0 10px 24px rgba(22, 53, 84, .14);
}

.attend-team-assignment-v3 #divChangeTeam label {
	display: block;
	margin-bottom: 7px;
}

.attend-team-assignment-v3 #divChangeTeam select {
	width: 100%;
	height: 34px;
}

.attend-team-assignment-v3 .attend-team-emp-table-v2 {
	flex: 1;
	min-height: 0;
	border: 0 !important;
	overflow: auto;
	scrollbar-gutter: stable;
}

.attend-team-assignment-v3 :is(#divTeamOn, #divTeamOff),
.attend-team-assignment-v3 :is(#divTeamOn_table, #divTeamOff_table) {
	width: 100% !important;
	border: 0 !important;
	box-shadow: none !important;
}

.attend-team-assignment-v3 :is(#divTeamOn_table, #divTeamOff_table) {
    margin: 0 !important;
    border: 0 !important;
    border-collapse: collapse;
    table-layout: fixed;
}

.attend-team-assignment-v3 :is(#divTeamOn_table, #divTeamOff_table) :is(thead, tbody, tr) {
	border: 0 !important;
	box-shadow: none !important;
}

.attend-team-assignment-v3 :is(#divTeamOn_table, #divTeamOff_table) thead th {
	position: sticky;
	top: 0;
	z-index: 2;
    height: 42px;
    padding: 8px 10px !important;
    border: 0 !important;
    border-bottom: 1px solid #e4ebf2 !important;
	background: #f3f7fb !important;
	color: #24466c;
	font-size: 13px;
	font-weight: 600;
	vertical-align: middle;
}

/* simpleDataTable의 freezeTable은 원본 헤더 위에 복제 헤더를 만든다.
 * 양쪽 셀에 선을 그리지 않고, 화면에 보이는 복제 헤더 래퍼에만 한 줄을 둔다. */
.attend-team-assignment-v3 :is(#divTeamOn, #divTeamOff).freeze-table
	> :is(#divTeamOn_table, #divTeamOff_table) > thead th,
.attend-team-assignment-v3 :is(#divTeamOn, #divTeamOff).freeze-table
	> .clone-head-table-wrap thead th {
	border-bottom: 0 !important;
}

.attend-team-assignment-v3 :is(#divTeamOn, #divTeamOff).freeze-table
	> .clone-head-table-wrap {
	box-sizing: border-box;
	border-bottom: 1px solid #e4ebf2 !important;
}

.attend-team-assignment-v3 :is(#divTeamOn_table, #divTeamOff_table) tbody td {
    height: 43px;
    padding: 8px 10px !important;
    border: 0 !important;
    border-bottom: 1px solid #edf1f5 !important;
	color: #18395d;
	font-size: 13px;
	vertical-align: middle;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.attend-team-assignment-v3 :is(#divTeamOn_table, #divTeamOff_table) tbody tr:hover td {
	background: #f7faff;
}

@media (max-width: 1280px) {
	.attend-team-assignment-v3 .attend-team-emp-toolbar-v2 {
		align-items: stretch;
		flex-direction: column;
	}

	.attend-team-assignment-v3 .attend-team-emp-actions-v2 {
		justify-content: flex-end;
	}

	.attend-team-assignment-v3 .attend-team-emp-toolbar-single-v2 {
		flex-direction: row;
		align-items: center;
	}
}

@media (max-width: 900px) {
	.attend-team-assignment-v3 {
		height: auto;
		overflow: visible;
	}

	.attend-team-assignment-v3 .attend-team-emp-grid-v2 {
		grid-template-columns: minmax(0, 1fr);
	}

	.attend-team-assignment-v3 .attend-team-emp-card-v2 {
		min-height: 480px;
	}
}
