/* Shared presentation for information-board and announcement surfaces. */

.notice-popup {
	box-sizing: border-box;
	padding: 20px;
	background: rgba(19, 31, 48, 0.72);
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
}

.notice-popup .popup-bg {
	top: 0;
}

.notice-popup > .notice-popup-surface {
	box-sizing: border-box;
	width: min(1080px, calc(100% - 12px));
	max-height: calc(100vh - 40px);
	min-height: 260px;
	left: auto;
	margin: 0 auto;
	overflow-x: hidden;
	overflow-y: auto;
	background: #ffffff;
	border: 1px solid #e5ebf3;
	border-radius: 18px;
	box-shadow: 0 26px 70px rgba(0, 0, 0, 0.3);
}

.notice-popup .btn-close {
	position: absolute;
	top: 16px;
	right: 18px;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	margin: 0;
	padding: 0;
	float: none;
	color: #40526a;
	background: rgba(255, 255, 255, 0.9);
	border: 1px solid #dce5ef;
	border-radius: 50%;
	font-size: 25px;
	font-weight: 400;
	line-height: 1;
	opacity: 1;
	text-shadow: none;
	box-shadow: 0 4px 12px rgba(31, 48, 70, 0.12);
	transition: color 0.18s ease, background-color 0.18s ease, transform 0.18s ease;
}

.notice-popup .btn-close:hover,
.notice-popup .btn-close:focus {
	color: #a23c45;
	background: #fff5f5;
	outline: none;
	transform: translateY(-1px);
}

/* Shared confirmation dialog */
#delete-popup {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	background: rgba(19, 31, 48, 0.72);
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
}

#delete-popup .popup-bg {
	top: 0;
}

#delete-popup .popup-content {
	box-sizing: border-box;
	width: min(440px, 100%);
	min-height: 0;
	left: auto;
	margin: auto;
	padding: 30px 28px 24px;
	background: #ffffff;
	border: 1px solid #e5ebf3;
	border-radius: 16px;
	box-shadow: 0 24px 64px rgba(0, 0, 0, 0.3);
	text-align: center;
}

#delete-popup .popup-content::before {
	content: "!";
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	margin: 0 auto 18px;
	color: #b45309;
	background: #fff4dd;
	border: 1px solid #f4cf86;
	border-radius: 50%;
	font-size: 27px;
	font-weight: 700;
	line-height: 1;
}

#delete-popup .label {
	display: block;
	margin: 0 0 24px;
	color: #29384d;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.6;
	white-space: normal;
}

#delete-popup .btn {
	min-width: 108px;
	min-height: 42px;
	margin: 4px;
	padding: 8px 18px;
	border-radius: 9px;
	font-weight: 600;
	transition: border-color 0.18s ease, background-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

#delete-popup .btn:hover,
#delete-popup .btn:focus {
	outline: none;
	transform: translateY(-1px);
}

#delete-popup .btn-primary {
	background: #3479b9;
	border-color: #3479b9;
	box-shadow: 0 5px 12px rgba(52, 121, 185, 0.22);
}

#delete-popup .btn-primary:hover,
#delete-popup .btn-primary:focus {
	background: #28679f;
	border-color: #28679f;
}

#delete-popup .btn-secondary {
	color: #536173;
	background: #f4f6f9;
	border-color: #dce3eb;
}

#delete-popup .btn-secondary:hover,
#delete-popup .btn-secondary:focus {
	color: #314158;
	background: #e9edf2;
	border-color: #ccd5df;
}

.notice-board-panel {
	background: #ffffff;
	border: 1px solid #e5ebf3;
	border-radius: 16px;
	box-shadow: 0 12px 34px rgba(35, 57, 83, 0.09);
}

.notice-list-popup > .notice-popup-surface {
	position: relative;
	max-height: calc(100vh - 120px);
	margin: 80px auto 20px;
	padding: 24px 26px 12px;
}

.notice-list-popup > .notice-popup-surface .text-header {
	min-height: 44px;
	padding: 2px 56px 4px;
	color: #20324a;
	font-size: 27px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.02em;
	text-align: center;
}

.notice-list-popup .notice-header-icon {
	width: 34px;
	height: 34px;
	margin-right: 9px;
	vertical-align: middle;
}

.notice-list-popup .btn-add {
	position: absolute;
	top: 24px;
	left: 26px;
	margin: 0;
	float: none;
	border-radius: 8px;
	transition: background-color 0.18s ease, transform 0.18s ease;
}

.notice-list-popup .btn-add:hover {
	background-color: #eef5ff;
	transform: translateY(-1px);
}

.notice-list-toolbar {
	display: flex;
	justify-content: flex-end;
	gap: 8px;
	max-width: 520px;
	margin: 14px 0 12px auto;
}

.notice-list-toolbar .form-control {
	min-width: 0;
	height: 42px;
	border-color: #dce4ee;
	border-radius: 9px;
	background: #fbfcfe;
	color: #243448;
	box-shadow: none;
}

.notice-list-toolbar .form-control:focus {
	border-color: #5d8fd7;
	background: #ffffff;
	box-shadow: 0 0 0 3px rgba(93, 143, 215, 0.15);
}

.notice-list-toolbar .search_information_btn {
	min-width: 76px;
	height: 42px;
	padding: 0 18px;
	border: 0;
	border-radius: 9px;
	font-weight: 600;
	box-shadow: 0 4px 10px rgba(23, 120, 190, 0.18);
}

.notice-list-popup .txt-no-msg {
	margin: 18px 0 30px;
	padding: 48px 20px;
	color: #77869a;
	background: #f8fafc;
	border: 1px dashed #cfd9e6;
	border-radius: 12px;
	text-align: center;
}

.notice-board-table {
	width: 100%;
	margin-bottom: 28px !important;
	border: 0;
	border-collapse: separate;
	border-spacing: 0 9px;
	text-align: center;
}

table.notice-board-table.TF {
	border-collapse: separate;
	border-spacing: 0 9px;
}

.notice-board-table thead tr,
.notice-board-table tbody tr {
	background: transparent;
}

.notice-board-table thead th {
	padding: 11px 14px;
	color: #59687b;
	background: #f3f6fa;
	border: 0;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.02em;
}

.notice-board-table thead th:first-child {
	border-radius: 9px 0 0 9px;
}

.notice-board-table thead th:last-child {
	border-radius: 0 9px 9px 0;
}

.notice-board-table .sort-indicator,
.notice-board-table .sort-arrow {
	position: relative;
	top: -1px;
	display: none;
	width: 9px;
	height: 9px;
	margin: 0 0 0 8px;
	background: none !important;
	border: solid #3274b8;
	border-width: 0 2px 2px 0;
	vertical-align: middle;
}

.notice-board-table .sort-indicator.ascending,
.notice-board-table .sort-arrow.ascending {
	display: inline-block;
	transform: rotate(-135deg);
}

.notice-board-table .sort-indicator.descending,
.notice-board-table .sort-arrow.descending {
	display: inline-block;
	transform: rotate(45deg);
}

.notice-board-table tbody td {
	padding: 15px 14px;
	background: #ffffff;
	border-top: 1px solid #e7edf4;
	border-right: 0;
	border-bottom: 1px solid #e7edf4;
	border-left: 0;
	vertical-align: middle;
	transition: background-color 0.18s ease, border-color 0.18s ease;
}

.notice-board-table tbody td:first-child {
	border-left: 1px solid #e7edf4;
	border-radius: 11px 0 0 11px;
}

.notice-board-table tbody td:last-child {
	border-right: 1px solid #e7edf4;
	border-radius: 0 11px 11px 0;
}

.notice-board-table tbody tr:hover td {
	background: #f8fbff;
	border-color: #cbdcf0;
}

.notice-list-popup .notice-board-table .td-date {
	width: 22%;
	min-width: 150px;
	max-width: 210px;
	padding: 15px 14px;
	color: #245a97;
	font-size: 15px;
	font-weight: 700;
}

.notice-list-popup .notice-board-table .td-title {
	padding: 17px 18px;
	color: #1f3047;
	text-align: left;
}

.notice-list-popup .notice-board-table .span-title {
	display: inline-block;
	max-width: calc(100% - 28px);
	color: #1f3047;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.45;
}

.notice-list-popup .notice-board-table .span-title > div {
	margin-top: 3px;
	color: #7a8798;
	font-size: 11px !important;
	font-weight: 500;
	line-height: 1.4;
}

.notice-list-popup .notice-board-table .state-part {
	margin-top: 8px;
	text-align: right;
}

.notice-list-popup .notice-board-table .span-state {
	display: inline-block;
	padding: 3px 8px;
	border: 0;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 600;
}

.notice-list-popup .notice-board-table .state-read {
	color: #15744a;
	background: #e6f6ee;
}

.notice-list-popup .notice-board-table .state-sign {
	color: #8b5b0a;
	background: #fff2d6;
}

.notice-list-popup .notice-board-table .td-title .btn {
	margin-left: 4px;
	border-radius: 7px;
}

.notice-board-table .fltrow input,
.notice-board-table .fltrow select {
	width: calc(100% - 12px);
	min-height: 34px;
	margin: 5px 6px;
	padding: 5px 8px;
	border: 1px solid #dce4ee;
	border-radius: 7px;
	background: #ffffff;
}

.notice-list-popup .pagination {
	margin: 2px 0 20px;
}

.notice-list-popup .pagination .page-link {
	color: #3569a8;
	border-color: #e0e7f0;
	cursor: pointer;
}

.notice-list-popup .pagination .active .page-link {
	color: #ffffff;
	background: #407bbb;
	border-color: #407bbb;
}

.notice-content-popup {
	z-index: 10000;
}

.notice-content-popup > .notice-popup-surface {
	width: min(920px, calc(100% - 12px));
	padding: 0;
	border: 0;
}

.notice-content-popup .btn-invisible {
	display: none;
}

.notice-content-popup > .notice-popup-surface .text-header {
	padding: 30px 70px 24px 34px;
	text-align: left;
	background: linear-gradient(135deg, #f5f9ff 0%, #edf5ff 100%);
	border-bottom: 1px solid #dfe9f5;
}

.notice-content-popup .text-header .information-code,
.notice-content-popup .text-header .announcement-code {
	display: inline-block;
	margin-bottom: 8px;
	padding: 3px 9px;
	color: #2f669f;
	background: #ffffff;
	border: 1px solid #cfdeee;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 700;
}

.notice-content-popup .text-header .information-code:empty,
.notice-content-popup .text-header .announcement-code:empty {
	display: none;
}

.notice-content-popup .text-header .information-title,
.notice-content-popup .text-header .announcement-title {
	color: #1d304a;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.4;
	word-break: break-word;
}

.notice-content-popup .text-header .information-time-part,
.notice-content-popup .text-header .announcement-time-part {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 18px;
	margin-top: 12px;
	color: #64758a;
	font-size: 12px;
	line-height: 1.5;
}

.notice-content-popup .notice-content-body {
	min-height: 180px;
	margin: 0;
	padding: 28px 34px 36px;
	color: #2e3d50;
	font-size: 15px;
	line-height: 1.75;
}

.notice-content-popup .notice-content-body > .div-content {
	min-height: 80px;
	word-break: break-word;
}

.notice-content-popup .notice-content-body img,
.notice-content-popup .notice-content-body video,
.notice-content-popup .notice-content-body iframe {
	max-width: 100% !important;
	height: auto !important;
	border-radius: 8px;
}

.notice-content-popup .notice-content-body table {
	display: table;
	width: 100%;
	max-width: 100%;
	border-collapse: collapse;
}

.notice-content-popup .notice-content-body table td,
.notice-content-popup .notice-content-body table th {
	padding: 7px 9px;
	border: 1px solid #dfe5ec;
}

.notice-content-popup .attachment-part {
	margin-top: 28px;
	padding: 18px;
	background: #f7f9fc;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
}

.notice-content-popup .attachment-part hr {
	display: none;
}

.notice-content-popup .attachment-part > label {
	display: block;
	margin-bottom: 10px;
	color: #40516a;
	font-weight: 700;
}

.notice-content-popup .notice-content-body .upload-container .a-file {
	padding: 5px 11px;
	background: #3479b9;
	text-decoration: none;
}

.notice-content-popup .notice-content-body .btn-download-all {
	margin-top: 8px;
	padding: 6px 12px;
	background: #245d97;
}

.notice-content-popup .reply-content-container .question-wrap {
	padding: 14px;
	background: #f7f9fc;
	border: 1px solid #e4eaf1;
	border-radius: 10px;
}

.notice-form-popup .btn-invisible {
	display: none;
}

.notice-form-popup > .notice-popup-surface {
	width: min(920px, calc(100% - 12px));
	max-height: calc(100vh - 120px);
	margin: 80px auto 20px;
	padding: 28px 34px 34px;
}

.notice-form-popup > .notice-popup-surface .text-header {
	margin: -28px -34px 24px;
	padding: 26px 70px 22px 34px;
	color: #1d304a;
	background: linear-gradient(135deg, #f5f9ff 0%, #edf5ff 100%);
	border-bottom: 1px solid #dfe9f5;
	font-size: 26px;
	font-weight: 700;
	text-align: left;
}

.notice-form-popup label {
	color: #4b5c72;
	font-size: 13px;
	font-weight: 600;
}

.notice-form-popup .form-control {
	border-color: #dce4ee;
	border-radius: 9px;
	box-shadow: none;
}

.notice-form-popup .form-control:focus {
	border-color: #5d8fd7;
	box-shadow: 0 0 0 3px rgba(93, 143, 215, 0.15);
}

@media screen and (max-width: 767px) {
	.notice-popup {
		padding: 10px;
	}

	.notice-popup > .notice-popup-surface {
		width: 100%;
		max-height: calc(100vh - 20px);
		border-radius: 13px;
	}

	.notice-list-popup > .notice-popup-surface {
		max-height: calc(100vh - 110px);
		margin: 90px auto 10px;
		padding: 18px 13px 6px;
	}

	.notice-list-popup > .notice-popup-surface .text-header {
		padding-right: 48px;
		padding-left: 48px;
		font-size: 23px;
	}

	.notice-list-popup .notice-header-icon {
		width: 29px;
		height: 29px;
	}

	.notice-list-popup .btn-add {
		top: 19px;
		left: 14px;
	}

	.notice-list-toolbar {
		max-width: none;
		margin-top: 12px;
	}

	.notice-list-popup .notice-board-table,
	.notice-list-popup .notice-board-table tbody,
	.notice-list-popup .notice-board-table .tr-announcement,
	.notice-list-popup .notice-board-table tbody td {
		display: block;
		width: 100%;
		max-width: none;
	}

	.notice-list-popup .notice-board-table {
		border-spacing: 0;
	}

	table.notice-board-table.TF {
		border-spacing: 0;
	}

	.notice-list-popup .notice-board-table thead {
		display: none;
	}

	.notice-list-popup .notice-board-table .tr-announcement {
		margin-bottom: 13px;
		background: #ffffff;
		border: 1px solid #e1e8f0;
		border-radius: 11px;
		overflow: hidden;
		box-shadow: 0 4px 14px rgba(35, 57, 83, 0.07);
	}

	.notice-list-popup .notice-board-table tbody td,
	.notice-list-popup .notice-board-table tbody td:first-child,
	.notice-list-popup .notice-board-table tbody td:last-child {
		border: 0;
		border-radius: 0;
	}

	.notice-list-popup .notice-board-table .td-date {
		padding: 11px 14px;
		background: #f0f6fd;
		text-align: left;
	}

	.notice-list-popup .notice-board-table .td-title {
		padding: 14px;
	}

	.notice-content-popup > .notice-popup-surface .text-header {
		padding: 25px 58px 20px 22px;
	}

	.notice-content-popup .text-header .information-title,
	.notice-content-popup .text-header .announcement-title {
		font-size: 21px;
	}

	.notice-content-popup .text-header .information-time-part,
	.notice-content-popup .text-header .announcement-time-part {
		flex-direction: column;
		gap: 2px;
	}

	.notice-content-popup .notice-content-body {
		padding: 22px 20px 28px;
	}

	.notice-form-popup > .notice-popup-surface {
		max-height: calc(100vh - 110px);
		margin: 90px auto 10px;
		padding: 24px 20px 28px;
	}

	.notice-form-popup > .notice-popup-surface .text-header {
		margin: -24px -20px 20px;
		padding: 23px 58px 19px 22px;
		font-size: 22px;
	}
}

@media screen and (max-width: 480px) {
	.notice-list-toolbar {
		flex-wrap: wrap;
	}

	.notice-list-toolbar .search_information_btn {
		width: 100%;
	}
}
