@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@300;400;500;700&display=swap");
@font-face {
  font-family: "Pretendard";
  font-weight: 600;
  src: url(../font/Pretendard-Bold.woff);
}
@font-face {
  font-family: "Pretendard";
  font-weight: 500;
  src: url(../font/Pretendard-Medium.woff);
}
@font-face {
  font-family: "Pretendard";
  font-weight: 400;
  src: url(../font/Pretendard-Regular.woff);
}
@font-face {
  font-family: "Pretendard";
  font-weight: 300;
  src: url(../font/Pretendard-Light.woff);
}
.mt1 {
  margin-top: 10px;
}

.mb1 {
  margin-bottom: 10px;
}

.mr1 {
  margin-right: 10px;
}

.ml1 {
  margin-left: 10px;
}

.mt2 {
  margin-top: 20px;
}

.mb2 {
  margin-bottom: 20px;
}

.mr2 {
  margin-right: 20px;
}

.ml2 {
  margin-left: 20px;
}

.mt3 {
  margin-top: 30px;
}

.mb3 {
  margin-bottom: 30px;
}

.mr3 {
  margin-right: 30px;
}

.ml3 {
  margin-left: 30px;
}

.mt4 {
  margin-top: 40px;
}

.mb4 {
  margin-bottom: 40px;
}

.mr4 {
  margin-right: 40px;
}

.ml4 {
  margin-left: 40px;
}

.mt5 {
  margin-top: 50px;
}

.mb5 {
  margin-bottom: 50px;
}

.mr5 {
  margin-right: 50px;
}

.ml5 {
  margin-left: 50px;
}

.mt6 {
  margin-top: 60px;
}

.mb6 {
  margin-bottom: 60px;
}

.mr6 {
  margin-right: 60px;
}

.ml6 {
  margin-left: 60px;
}

.mt7 {
  margin-top: 70px;
}

.mb7 {
  margin-bottom: 70px;
}

.mr7 {
  margin-right: 70px;
}

.ml7 {
  margin-left: 70px;
}

.mt8 {
  margin-top: 80px;
}

.mb8 {
  margin-bottom: 80px;
}

.mr8 {
  margin-right: 80px;
}

.ml8 {
  margin-left: 80px;
}

.mt9 {
  margin-top: 90px;
}

.mb9 {
  margin-bottom: 90px;
}

.mr9 {
  margin-right: 90px;
}

.ml9 {
  margin-left: 90px;
}

.mt10 {
  margin-top: 100px;
}

.mb10 {
  margin-bottom: 100px;
}

.mr10 {
  margin-right: 100px;
}

.ml10 {
  margin-left: 100px;
}

.table-list1 {
  width: 10% !important;
}

.table-list2 {
  width: 20% !important;
}

.table-list3 {
  width: 30% !important;
}

.table-list4 {
  width: 40% !important;
}

.table-list5 {
  width: 50% !important;
}

.table-list6 {
  width: 60% !important;
}

.table-list7 {
  width: 70% !important;
}

.table-list8 {
  width: 80% !important;
}

.table-list9 {
  width: 90% !important;
}

.table-list10 {
  width: 100% !important;
}

body {
  font-family: "Pretendard", "Noto Sans KR", sans-serif;
  font-size: 16px;
  line-height: 1;
  color: #fff;
  overflow-x: hidden;
}

input {
  font-family: "Pretendard", "Noto Sans KR", sans-serif;
  width: 100%;
  height: 45px;
  padding: 15px 20px;
  background: #2E2E2E;
  border-radius: 5px;
  border: 0;
  color: #fff;
  font-size: 15px;
}
input::placeholder {
  font-size: 14px;
  color: #979797;
}
input.datepicker {
  width: 220px;
  padding: 15px 20px 15px 45px;
  font-size: 15px;
  font-weight: 300;
  cursor: pointer;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
  transition: background-color 5000s ease-in-out 0s;
  -webkit-transition: background-color 9999s ease-out;
  -webkit-box-shadow: 0 0 0px 1000px #2E2E2E inset !important;
  -webkit-text-fill-color: #fff !important;
}

.input-wrap {
  display: flex;
  gap: 10px;
}

.select {
  width: 220px !important;
}
.select select {
  font-family: "Pretendard", "Noto Sans KR", sans-serif;
  position: relative;
  width: 100%;
  height: 40px;
  padding: 0 20px;
  background: url(/images/select_arrow_ico.svg) calc(100% - 10px) center/13px 13px no-repeat #2E2E2E;
  border-radius: 5px;
  border: 0;
  font-size: 14px;
  color: #fff;
}
.select option {
  color: #000;
  background: #fff;
}

/* 특정 SELECT 박스 스타일 (datepicker와 동일한 스타일) */
.time-select select,
.process-select select {
  font-family: "Pretendard", "Noto Sans KR", sans-serif;
  height: 45px;
  padding: 12px 20px 15px 45px;
  background: url("/images/select_arrow_ico.svg") 18px 50%/15px 14px no-repeat, #2E2E2E;
  border-radius: 5px;
  border: 0;
  color: #fff;
  font-size: 15px;
  font-weight: 300;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

.time-select select:focus,
.process-select select:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(49, 130, 206, 0.2);
}

.time-select select {
  width: 125px;
}

.process-select select {
  width: 165px;
}

.time-select select option,
.process-select select option {
  color: #000;
  background: #fff;
  padding: 10px;
}

button {
  font-family: "Pretendard", "Noto Sans KR", sans-serif;
  cursor: pointer;
}

textarea {
  font-family: "Pretendard", "Noto Sans KR", sans-serif;
  width: 100%;
  min-height: 120px;
  padding: 15px 20px;
  background: #2E2E2E;
  border-radius: 5px;
  border: 0;
  color: #fff;
  resize: none;
}
textarea::placeholder {
  font-size: 14px;
  color: #979797;
}

::-webkit-scrollbar {
  width: 7px;
  height: 7px;
  background: #2c2c2c;
}

::-webkit-scrollbar-thumb {
  border-radius: 4px;
  background: #474747;
}

.wrap {
  width: 100vw;
  height: 100vh;
  min-height: 100vh;
  background: #232323;
  overflow: hidden;
}
.wrap.scroll {
  max-height: unset;
  height: auto;
  overflow-y: unset;
}

.inner {
  /*max-width: 1900px;*/
  width: 100%;
  margin: 0 auto;
  padding: 0 20px;
}

.point-txt {
  color: #3DEB5A;
}

.point-txt.type2 {
  color: #FF5E5E;
}

.operation {
  display: inline-block;
  width: 20px;
  height: 20px;
  margin: 0 auto -4px auto;
  border-radius: 50%;
  background: #3D3D3D;
}
.operation.on {
  background: #3DEB5A;
}
.operation.off {
  background: #FF4B4B;
}

.flex {
  display: flex;
  gap: 5px;
}

.align-center {
  align-items: center;
}

.txt-box {
  width: 100%;
}
.txt-box > div {
  width: 50%;
}
.txt-box > div span:first-of-type {
  margin-right: 4px;
}
.txt-box .before span:first-of-type {
  font-weight: 500;
  color: #3DEB5A;
}
.txt-box .after span:first-of-type {
  font-weight: 600;
  color: #FF5E5E;
}

.table {
  width: 100%;
  border-top: 1px solid #3D3D3D;
  font-size: 15px;
  line-height: 1.3;
  color: #fff;
}
.table.wide li > div {
  width: 100%;
}
.table li {
  display: flex;
  border-bottom: 1px solid #3D3D3D;
}
.table li > div {
  display: flex;
  width: 50%;
}
.table li > div > span {
  display: flex;
  align-items: center;
  width: calc(100% - 140px);
  height: 100%;
  padding: 10px 15px 8px;
  font-weight: 300;
}
.table li .tit {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 140px;
  padding: 10px 15px 8px;
  text-align: center;
  background: #2E2E2E;
  color: #d7d7d7;
  vertical-align: middle;
}
.table li .tit.wide {
  width: 230px;
}
.table li .tit.wide + span {
  width: calc(100% - 230px);
}
.table .btn {
  height: 45px;
}
.table .chk-list {
  padding: 10px 0;
}

table {
  width: 100%;
  border-top: 1px solid #3D3D3D;
  font-size: 15px;
  line-height: 1.3;
  color: #fff;
}
table.border th:not(:last-of-type) {
  border-right: 1px solid #3D3D3D;
}
table.border td:not(:last-of-type) {
  border-right: 1px solid #3D3D3D;
}
table.left td {
  text-align: left;
}
table tr {
  border-bottom: 1px solid #3D3D3D;
}
table tr.center td {
  text-align: center !important;
}
table tr.highlight {
  background: #1a3225;
}
table tr.disabled {
  background: #2E2E2E;
}
table tr th {
  padding: 10px 15px 8px;
  text-align: center;
  background: #2E2E2E;
  color: #d7d7d7;
  vertical-align: middle;
  text-align: center;
}
table tr th.purple {
  background: #3E3148;
}
table tr td {
  padding: 10px 15px 8px;
  font-weight: 300;
  vertical-align: middle;
  text-align: center;
}
table tr td.left {
  text-align: left;
}
table tr td.qr-img {
  cursor: pointer;
}
table tr td.qr-img img {
  width: 25px;
  margin: -2px 0 -5px;
}
table tr td.border {
  border-right: 1px solid #3D3D3D;
}
table tr td.center {
  text-align: center !important;
}
table tr td.green {
  font-weight: 500;
  color: #3DEB5A;
}
table tr td.red {
  font-weight: 600;
  color: #FF5E5E;
}
table.border_hover tr:hover {
  cursor: pointer;
  background: #2a2a2a;
  transition: all 0.3s;
}
table .input {
  display: flex;
  gap: 5px;
}
table input {
  height: 38px;
  padding: 10px 15px;
  font-size: 14px;
}
table .select select {
  height: 38px;
  padding: 10px 15px;
  font-size: 14px;
}
table .btn {
  display: inline-block;
  min-width: 80px;
  height: 38px;
  padding: 10px 15px;
  font-size: 14px;
}
table .btn.small {
  min-width: unset;
  height: auto;
  padding: 3px 8px;
  font-size: 13px;
  border-radius: 4px;
}

.border-r {
  border-right: 1px solid #3D3D3D;
}

.radio-item {
  position: relative;
  display: inline-block;
  cursor: pointer;
  word-break: break-all;
}
.radio-item:not(:last-of-type) {
  margin-right: 20px;
}
.radio-item input[type=radio] {
  position: absolute;
  margin: 0 8px 0 0;
}
.radio-item label {
  padding-left: 30px;
  cursor: pointer;
}

.chk-list {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  width: 100%;
}

.chk-item {
  word-break: break-all;
  cursor: pointer;
}
.chk-item input[type=checkbox], .chk-item input[type=radio] {
  margin: 0 8px 0 0;
  vertical-align: middle;
}
.chk-item label {
  cursor: pointer;
}

input[type=checkbox], input[type=radio] {
  position: relative;
  width: 18px;
  height: 18px;
  padding: 0;
}
input[type=checkbox]::before, input[type=radio]::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 3px;
  border: 1px solid #565656;
}
input[type=checkbox]:after, input[type=radio]:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: url(/images/check_ico.svg) center/cover no-repeat;
  cursor: pointer;
}
input[type=checkbox]:checked::before, input[type=radio]:checked::before {
  background: #565656;
}
input[type=checkbox]:checked::after, input[type=radio]:checked::after {
  background: url(/images/checked_ico.svg) center/cover no-repeat;
}

button {
  border: 0;
}

.btn {
  display: inline-block;
  height: 40px;
  padding: 13px 25px;
  font-size: 15px;
  font-weight: 500;
  text-align: center;
  color: #fff;
  background: #3e3e3e;
  border-radius: 5px;
  cursor: pointer;
  white-space: nowrap;
}
.btn img {
  width: 12px;
  margin: 0 0 -2px 0;
}
.btn.green {
  background: #30AB44;
}
.btn.red {
  background: #FF5E5E;
}
.btn.blue {
  background: #1b90df;
}
.btn.line {
  border: 1px solid #3DEB5A;
  color: #3DEB5A;
  background: none;
}
.btn.small {
  height: 36px;
  padding: 11px 15px;
  font-size: 14px;
}
.btn.sch {
  min-width: auto;
  background: #30AB44;
}
.btn:not(:last-of-type) {
  margin-right: 5px;
}
.btn.center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.btn.ico {
  width: 45px;
  padding: 15px 16px;
}
.btn.ico img {
  width: 14px;
  height: 14px;
  margin: 0;
}

.btn-wrap {
  position: relative;
  display: flex;
}
.btn-wrap.right {
  text-align: right;
}
.btn-wrap.center {
  justify-content: center;
  text-align: center;
}
.btn-wrap.btn-wrap-hidden {
  display: none;
}

.btn-flex {
  display: flex;
  justify-content: space-between;
}

.wd3 {
  display: flex;
  flex-wrap: nowrap;
  flex-direction: row;
  align-items: center;
}

.wrap.login {
  position: relative;
}

.login-box {
  position: absolute;
  width: 400px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.login-box .logo {
  width: 350px;
  margin: 0 33px 10px auto;
}
.login-box .logo img {
  width: 100%;
}
.login-box input {
  display: block;
  margin-bottom: 10px;
}
.login-box input:last-of-type {
  margin-bottom: 20px;
}
.login-box .btn {
  width: 100%;
  height: 50px;
  padding: 15px 0;
  font-size: 17px;
  border: 0;
  display: flex;
  justify-content: center;
}

header {
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  transform: translateY(-100%);
  transition: 0.5s;
  z-index: 9999;
  background: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(10px);
}
header.on {
  transform: translateY(0);
}
header.on .header-open {
  background: rgba(0, 0, 0, 0.6);
}
header.on .header-open::before {
  top: 14px;
  transform: translate(-50%, -50%) rotate(180deg);
}
header .inner {
  display: flex;
  align-items: center;
}
header .logo {
  width: 200px;
}
header .logo img {
  width: 90%;
}

.header-open {
  position: absolute;
  width: 80px;
  height: 40px;
  bottom: -40px;
  left: 50%;
  transform: translate(-50%);
  border-radius: 0 0 40px 40px;
  background: rgba(255, 255, 255, 0.3);
  border: 1px solid transparent;
  cursor: pointer;
  transition: 0.3s;
}
.header-open::before {
  content: "";
  position: absolute;
  width: 20px;
  height: 11px;
  top: 12px;
  left: 50%;
  transform: translate(-50%);
  background: url("/images/header_arrow.svg") center/cover no-repeat;
}

.logout {
  margin-left: 20px;
}

.gnb {
  margin-left: auto;
}
.gnb ul {
  display: flex;
}
.gnb li {
  position: relative;
}
.gnb a {
  display: block;
  padding: 25px;
  font-size: 18px;
  color: #fff;
  transition: color ease 0.2s;
}
.gnb a:hover {
  color: #85fb99;
}
.gnb a.on {
  color: #85fb99;
}

.dep2 {
  position: absolute;
  flex-direction: column;
  width: 150px;
  padding: 10px 0;
  top: 60px;
  left: 50%;
  transform: translate(-50%);
  text-align: center;
  border: 1px solid #505050;
  border-radius: 5px;
  background: #2E2E2E;
  z-index: 9999;
}
.dep2 a {
  padding: 15px !important;
  font-size: 16px !important;
}

.setting-btn {
  width: 40px;
  height: 40px;
  opacity: 0.8;
  background: url(/images/setting_ico.svg) center/cover no-repeat;
  cursor: pointer;
  transition: opacity ease 0.3s;
}
.setting-btn:hover {
  opacity: 1;
}

.manual-btn {
  width: 25px;
  height: 25px;
  opacity: 0.8;
  background: url(/images/manual_ico.svg) center/cover no-repeat;
  cursor: pointer;
  transition: opacity ease 0.3s;
}
.manual-btn:hover {
  opacity: 1;
}

.content {
  height: 100%;
}
.content .inner {
  height: 100%;
  padding-top: 2.5vh;
  padding-bottom: 2.5vh;
}

.modal {
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 9999;
  visibility: hidden;
  opacity: 0;
  transition: ease 0.5s;
}
.modal.on {
  visibility: visible;
  opacity: 1;
  z-index: 1000;
}
.modal.on .modal-container {
  transform: translate(-50%, -50%);
}
.modal.confirm .modal-container, .modal.success .modal-container {
  max-width: 400px;
  text-align: center;
}
.modal.confirm .modal-container .modal-top, .modal.success .modal-container .modal-top {
  padding-bottom: 15px;
}
.modal.confirm .modal-container .confirm-txt, .modal.success .modal-container .confirm-txt {
  font-size: 15px;
  line-height: 1.3;
  color: #BCBCBC;
}
.modal.add-process .modal-container {
  height: 100%;
}
.modal.add-process table td input[type=text] {
  width: 55px;
  text-align: center;
}
.modal.qr-print .page-list {
  text-align: center;
}
.modal.qr-print .page-list li {
  display: inline-block;
  font-size: 15px;
}
.modal.qr-print .page-list li:not(:last-of-type) {
  position: relative;
  padding-right: 20px;
}
.modal.qr-print .page-list li:not(:last-of-type)::after {
  content: "";
  position: absolute;
  width: 15px;
  height: 15px;
  right: 0;
  background: url(/images/arrow_right_ico.svg) center/cover no-repeat;
  opacity: 0.5;
}
.modal.qr-print .qr-list {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
.modal.qr-print .qr-list .qr-item {
  width: calc(50% - 10px);
}
.modal.qr-print .qr-list .qr-item p {
  margin-bottom: 15px;
  color: #BCBCBC;
  text-align: center;
}
.modal.qr-print .qr-list .qr-item .qr {
  width: 130px;
  margin: 0 auto;
}
.modal.qr-print .qr-list .qr-item .qr img {
  width: 100%;
}
.modal .select select {
  height: 45px;
}

.modal-container {
  position: absolute;
  width: 100%;
  max-width: 650px;
  max-height: 90%;
  padding: 40px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -40%);
  background: #232323;
  border: 1px solid #373737;
  border-radius: 5px;
  transition: ease 0.5s;
}
.modal-container.wide {
  max-width: 95%;
  width: 100%;
}
.modal-container.wide .modal-top {
  position: relative;
  text-align: center;
}
.modal-container.wide .modal-top p {
  padding: 0 100px;
}
.modal-container.wide .modal-top .btn {
  position: absolute;
  bottom: 30px;
  left: 0;
}
.modal-container.wide table th {
  padding: 8px 10px;
  font-size: 14px;
}
.modal-container.wide table td {
  padding: 8px 10px;
  font-size: 14px;
}
.modal-container.small {
  max-width: 580px;
}
.modal-container .close {
  position: absolute;
  width: 15px;
  height: 15px;
  top: 20px;
  right: 20px;
  cursor: pointer;
  background: url(/images/close_ico.svg) center no-repeat;
}
.modal-container .form-item {
  gap: 10px;
}
.modal-container .form-item > div {
  position: relative;
  width: calc(100% - 120px);
}
.modal-container .scroll {
  max-height: 100%;
  overflow-y: auto;
}

.modal-top {
  padding-bottom: 30px;
  font-size: 25px;
  font-weight: 500;
  color: #fff;
}

.modal-body {
  max-height: 70vh;
  overflow-y: auto;
}

.modal-btn {
  display: flex;
  justify-content: center;
  padding-top: 30px;
  text-align: center;
}
.modal-btn .btn:not(:last-of-type) {
  margin-right: 5px;
}

.search {
  display: flex;
  gap: 5px;
}
.search input {
  height: 40px;
}

.form-item {
  display: flex;
  align-items: center;
}
.form-item .label {
  width: 110px;
  font-size: 15px;
  line-height: 1.3;
  color: #fff;
}
.form-item > div {
  width: 100%;
}
.form-item:not(:last-of-type) {
  margin-bottom: 15px;
}
.form-item .btn {
  height: 45px;
  padding: 15px 25px;
}

.date {
  position: relative;
}
.date input {
  background: url("/images/calendar_ico.svg") 18px 50%/15px 14px no-repeat, #2E2E2E;
}

.form-fied {
  width: 100%;
}

.line-code-info {
  position: absolute;
  display: none;
  width: 250px;
  padding: 20px;
  top: 30px;
  right: 0;
  border: 1px solid #505050;
  border-radius: 5px;
  background: #2E2E2E;
  z-index: 999;
}
.line-code-info > div {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
}
.line-code-info > div:not(:last-of-type) {
  margin-bottom: 10px;
}
.line-code-info span {
  display: block;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #3DEB5A;
}
.line-code-info span.stop {
  background: #FF4B4B;
}
.line-code-info p {
  width: calc(100% - 30px);
}

.line-code {
  display: flex;
  gap: 10px;
}
.line-code > span {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #3DEB5A;
}
.line-code > span.stop {
  background: #FF4B4B;
}

.help-txt {
  margin-top: 8px;
  font-size: 14px;
  color: #FF5E5E;
}

.display-btn {
  display: flex;
  gap: 5px;
}
.display-btn div {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: #2E2E2E;
  border: 1px solid #505050;
  border-radius: 5px;
  cursor: pointer;
}
.display-btn div img {
  width: 20px;
  opacity: 0.8;
  transition: opacity ease 0.2s;
}
.display-btn div:hover img {
  opacity: 1;
}

#ui-datepicker-div {
  display: none;
}

.ui-datepicker {
  padding: 10px;
  background: #232323;
  border: 1px solid #373737;
  border-radius: 5px;
}
.ui-datepicker .ui-datepicker-header {
  display: flex;
  justify-content: space-between;
  padding: 10px 10px 20px 10px;
}
.ui-datepicker .ui-datepicker-header .ui-corner-all {
  width: 20px;
  font-size: 0;
  color: #fff;
  cursor: pointer;
}
.ui-datepicker .ui-datepicker-header .ui-corner-all.ui-datepicker-prev {
  order: 1;
  background: url(/images/arrow_left_ico.svg) center no-repeat;
}
.ui-datepicker .ui-datepicker-header .ui-corner-all.ui-datepicker-next {
  order: 3;
  background: url(/images/arrow_right_ico.svg) center no-repeat;
}
.ui-datepicker .ui-datepicker-header .ui-datepicker-title {
  order: 2;
  font-size: 20px;
  font-weight: 600;
  color: #fff;
}
.ui-datepicker .ui-datepicker-calendar thead span {
  display: inline-block;
  margin-bottom: 10px;
  font-size: 14px;
  color: #979797;
}
.ui-datepicker .ui-datepicker-calendar tbody td {
  text-align: center;
}
.ui-datepicker .ui-datepicker-calendar tbody td.ui-datepicker-current-day {
  border-radius: 5px;
  background: #30AB44;
}
.ui-datepicker .ui-datepicker-calendar tbody td a {
  display: block;
  padding: 10px 15px;
  transition: ease 0.3s;
  border-radius: 5px;
  text-decoration: none;
  color: #fff;
}
.ui-datepicker .ui-datepicker-calendar tbody td a:hover {
  background: #023c29;
}
.ui-datepicker table {
  border: 0;
}
.ui-datepicker table * {
  padding: 0;
  border: 0;
  background: 0;
}

.pagination {
  margin-top: 20px;
  text-align: center;
}
.pagination li {
  display: inline-block;
  vertical-align: middle;
}
.pagination li a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  font-size: 14px;
  border-radius: 5px;
  color: #979797;
  transition: 0.2s;
}
.pagination li a img {
  opacity: 0.5;
  transition: 0.2s;
}
.pagination li a:hover {
  color: #fff;
}
.pagination li a:hover img {
  opacity: 1;
}
.pagination li.on a {
  background: #30AB44;
  color: #fff;
}

.box-style, .module-box .box, .line-box .box, .fctry-status, .chart-wrap, .box-list .box {
  border: 1px solid #505050;
  border-radius: 5px;
  background: #2E2E2E;
}

.ml-auto {
  margin-left: auto;
}

.tit-wrap {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 2vh;
  gap: 10px;
}
.tit-wrap.border {
  padding: 3vh 0 2vh;
  border-bottom: 1px solid #3D3D3D;
}
.tit-wrap.center {
  position: relative;
  height: 85px;
}
.tit-wrap.center .main-tit {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translate(-50%);
}

.main-tit {
  font-size: 35px;
  display: flex;
  gap: 0 10px;
  color: #30AB44;
}
.main-tit span {
  color: #ffffff;
  font-weight: normal;
}

.cont-tit {
  margin-bottom: 1vh;
  font-size: 2.8vh;
}
.cont-tit:not(:first-of-type) {
  margin-top: 2.5vh;
}

.box-list {
  display: flex;
  gap: 10px;
}
.box-list .box {
  width: 100%;
}

.current-status .box, .line-status .box {
  text-align: center;
  cursor: pointer;
}
.current-status .box:hover, .line-status .box:hover {
  border: 1px solid #30AB44;
  transition: all 0.5s;
  -webkit-animation: shadow-drop-2-center 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
  animation: shadow-drop-2-center 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
}
.current-status .tit, .line-status .tit {
  margin-bottom: 2vh;
  font-size: 2.5vh;
  font-weight: 700;
  border-radius: 5px 5px 0 0;
  background: #30AB44;
  color: #000;
}
.current-status .percent, .line-status .percent {
  font-size: 2.5vh;
}
.current-status .percent strong, .line-status .percent strong {
  display: inline-block;
  margin-right: 3px;
  font-size: 5vh;
  font-weight: 500;
}
.current-status .total, .line-status .total {
  margin: 1vh 0 2vh;
  font-size: 2vh;
}
.current-status .total strong, .line-status .total strong {
  display: inline-block;
  margin-left: 5px;
  color: #3DEB5A;
}

.current-status .tit {
  padding: 0.8vh 0;
}

.chart-line {
  height: 67%;
  background: #000;
}

.line-status {
  flex-wrap: wrap;
}
.line-status .box {
  width: calc(16.6666666667% - 9px);
}
.line-status .box .select {
  width: calc(100% - 20px) !important;
  margin: 0 10px 10px 10px;
}
.line-status .box .select select {
  border: 1px solid #444;
}
.line-status .tit {
  padding: 0.8vh 0;
}
.line-status .percent {
  margin-bottom: 2vh;
}

.status-txt {
  display: flex;
  gap: 10px;
  padding-right: 10px;
  font-size: 2.2vh;
}
.status-txt strong {
  margin: 0 2px 0 5px;
  color: #3DEB5A;
}
.status-txt span {
  font-size: 1.8vh;
}

.chart-wrap {
  padding: 2vh;
  margin: 0 0 1vh 0;
}
.chart-wrap.chart-wrap-main {
  height: 72%;
  margin: 1vh 0 0 0;
}
.chart-wrap.chart-wrap-top {
  height: 30%;
}
.chart-wrap.chart-wrap-bottom {
  height: 62%;
}
.chart-wrap .line-chart {
  height: 100%;
  /*height: calc((100% - 6.5vh)/2);*/
  /*margin-bottom: 2vh;*/
}
.chart-wrap .line-chart h3 {
  margin-bottom: 1.5vh;
  font-size: 2.3vh;
  font-weight: 500;
  color: #ff6b00;
}
.chart-wrap .line-chart h3.btw {
  display: flex;
  justify-content: space-between;
}
.chart-wrap .chart {
  height: calc(100% - 3.5vh);
  background: #000;
  overflow: hidden;
}
.chart-wrap .chart img {
  width: 100%;
  filter: invert(1) grayscale(1);
}
.chart-wrap .info-txt {
  display: flex;
  justify-content: center;
  gap: 10px;
  font-size: 2vh;
}
.chart-wrap .info-txt p {
  position: relative;
  padding-left: 20px;
}
.chart-wrap .info-txt p::before {
  content: "";
  position: absolute;
  width: 10px;
  height: 3px;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
}
.chart-wrap .info-txt p.output::before {
  background: blue;
}
.chart-wrap .info-txt p.process::before {
  background: red;
}

.fctry-status {
  position: relative;
  padding: 3.5vh;
}
.fctry-status:hover {
  border: 1px solid #30AB44;
  transition: all 0.5s;
  -webkit-animation: shadow-drop-2-center 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
  animation: shadow-drop-2-center 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
}
.fctry-status:not(:last-of-type) {
  margin-bottom: 10px;
}
.fctry-status .code {
  font-size: 2vh;
  color: #3DEB5A;
}
.fctry-status .name {
  margin: 1vh 0 2.5vh;
  font-size: 3.2vh;
  font-weight: 500;
  transition: 0.2s;
  cursor: pointer;
}
.fctry-status .name:hover {
  color: #BCBCBC;
}
.fctry-status .line-code {
  position: absolute;
  top: 20px;
  right: 20px;
}

.scroll {
  max-height: calc(100% - 95px - 2.5vh);
  overflow-y: auto;
}
.scroll-btn {
  max-height: calc(100% - 85px - 10vh);
}

.line-box:not(:last-of-type) {
  margin-bottom: 10px;
}
.line-box .box {
  position: relative;
  display: flex;
  gap: 40px;
}
.line-box .box:hover {
  border-radius: 5px;
  transition: all 0.5s;
}
.line-box .box:hover.green {
  border: 1px solid #30AB44;
  -webkit-animation: shadow-drop-2-center 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
  animation: shadow-drop-2-center 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
}
.line-box .box:hover.red {
  border: 1px solid #ab3030;
  -webkit-animation: shadow-drop-3-center 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
  animation: shadow-drop-3-center 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
}
.line-box .box:hover.yellow {
  border: 1px solid #aba130;
  -webkit-animation: shadow-drop-4-center 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
  animation: shadow-drop-4-center 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
}
.line-box .percent {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 200px;
  font-size: 4.5vh;
  font-weight: 600;
  border-radius: 5px 0 0 5px;
}
.line-box .percent + div {
  width: calc(100% - 170px);
  padding: 2.5vh 0;
}
.line-box .percent.green {
  background: #30AB44;
}
.line-box .percent.red {
  background: #ab3030;
}
.line-box .percent.yellow {
  background: #aba130;
}
.line-box .name {
  margin: 0 0 2vh;
  font-size: 3.2vh;
  font-weight: 500;
  cursor: pointer;
  transition: 0.2s;
}
.line-box .name:hover {
  color: #BCBCBC;
}
.line-box .line-code {
  position: absolute;
  top: 20px;
  right: 20px;
}
.line-box .detail {
  margin: 2vh 0 3vh;
}

.display-card {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.display-card .line-box {
  width: calc(20% - 8px);
  margin-bottom: 0;
}
.display-card .line-box .box {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.display-card .line-box .btn-wrap {
  margin-bottom: -10px;
}
.display-card .line-box .btn-wrap .btn {
  min-width: calc(100% - 40px);
}
.display-card .line-box .btn-wrap .btn:first-of-type {
  margin-bottom: 5px;
}
.display-card .line-box .btn-wrap .btn:last-of-type {
  display: none;
}
.display-card .line-box .percent {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  font-size: 4.2vh;
  font-weight: 600;
  border-radius: 5px 5px 0 0;
  padding: 2.2vh 0;
}
.display-card .line-box .percent + div {
  width: 100%;
  text-align: center;
}
.display-card .line-box .percent.green {
  background: #30AB44;
}
.display-card .line-box .percent.red {
  background: #ab3030;
}
.display-card .line-box .percent.yellow {
  background: #aba130;
}
.display-card .line-box .name {
  width: 100%;
  margin: 0 0 1vh;
  font-size: 3.2vh;
  font-weight: 500;
  cursor: pointer;
}
.display-card .line-box .name:hover {
  color: #BCBCBC;
}
.display-card .line-box .line-code {
  position: absolute;
  top: 115px;
  right: 20px;
}

.module-box:not(:last-of-type) {
  margin-bottom: 10px;
}
.module-box .box {
  position: relative;
  display: flex;
  align-items: center;
}
.module-box .box .btn-wrap {
  padding-right: 50px;
}
.module-box .side {
  width: 10px;
  height: 100%;
  padding: 6vh 0;
  border-radius: 5px 0 0 5px;
  background: #30AB44;
}
.module-box .name {
  margin-right: auto;
  padding-left: 40px;
  font-size: 3.2vh;
  font-weight: 500;
  cursor: pointer;
  transition: 0.2s;
}
.module-box .name:hover {
  color: #BCBCBC;
}
.module-box .detail {
  margin: 2vh 0 3vh;
}
.module-box .line-code {
  position: absolute;
  top: 20px;
  right: 20px;
}

.simul-img-wrap {
  display: flex;
  height: 300px;
  gap: 10px;
}
.simul-img-wrap > div {
  width: 100%;
}
.simul-img-wrap > div img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media only screen and (max-width: 1240px) {
  header .logo {
    width: 100px;
  }
  .gnb a {
    padding: 25px 15px;
    font-size: 16px;
  }
  .btn {
    padding: 13px 15px;
  }
  .main-tit {
    font-size: 30px;
  }
  .select {
    width: 180px !important;
  }
}
@media only screen and (max-width: 1024px) {
  .tit-wrap.column {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
  }
}
/* ----------------------------------------------
 * Generated by Animista on 2023-7-25 14:25:32
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info.
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */
/**
 * ----------------------------------------
 * animation shadow-drop-2-center
 * ----------------------------------------
 */
@-webkit-keyframes shadow-drop-2-center {
  0% {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-box-shadow: 0 0 0 0 rgba(0, 255, 0, 0);
    box-shadow: 0 0 0 0 rgba(0, 255, 0, 0);
  }
  100% {
    -webkit-transform: translateZ(40px);
    transform: translateZ(40px);
    -webkit-box-shadow: 0 0 10px 0px rgba(0, 255, 0, 0.35);
    box-shadow: 0 0 10px 0px rgba(0, 255, 0, 0.35);
  }
}
@keyframes shadow-drop-2-center {
  0% {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-box-shadow: 0 0 0 0 rgba(0, 255, 0, 0);
    box-shadow: 0 0 0 0 rgba(0, 255, 0, 0);
  }
  100% {
    -webkit-transform: translateZ(40px);
    transform: translateZ(40px);
    -webkit-box-shadow: 0 0 10px 0px rgba(0, 255, 0, 0.35);
    box-shadow: 0 0 10px 0px rgba(0, 255, 0, 0.35);
  }
}
@-webkit-keyframes shadow-drop-3-center {
  0% {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-box-shadow: 0 0 0 0 rgba(0, 255, 0, 0);
    box-shadow: 0 0 0 0 rgba(0, 255, 0, 0);
  }
  100% {
    -webkit-transform: translateZ(40px);
    transform: translateZ(40px);
    -webkit-box-shadow: 0 0 10px 0px rgb(171, 48, 48);
    box-shadow: 0 0 10px 0px rgb(171, 48, 48);
  }
}
@keyframes shadow-drop-3-center {
  0% {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-box-shadow: 0 0 0 0 rgba(0, 255, 0, 0);
    box-shadow: 0 0 0 0 rgba(0, 255, 0, 0);
  }
  100% {
    -webkit-transform: translateZ(40px);
    transform: translateZ(40px);
    -webkit-box-shadow: 0 0 10px 0px rgb(171, 48, 48);
    box-shadow: 0 0 10px 0px rgb(171, 48, 48);
  }
}
@-webkit-keyframes shadow-drop-4-center {
  0% {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-box-shadow: 0 0 0 0 rgba(0, 255, 0, 0);
    box-shadow: 0 0 0 0 rgba(0, 255, 0, 0);
  }
  100% {
    -webkit-transform: translateZ(40px);
    transform: translateZ(40px);
    -webkit-box-shadow: 0 0 10px 0px rgb(171, 161, 48);
    box-shadow: 0 0 10px 0px rgb(171, 161, 48);
  }
}
@keyframes shadow-drop-4-center {
  0% {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-box-shadow: 0 0 0 0 rgba(0, 255, 0, 0);
    box-shadow: 0 0 0 0 rgba(0, 255, 0, 0);
  }
  100% {
    -webkit-transform: translateZ(40px);
    transform: translateZ(40px);
    -webkit-box-shadow: 0 0 10px 0px rgb(171, 161, 48);
    box-shadow: 0 0 10px 0px rgb(171, 161, 48);
  }
}

.text-gray-400 {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.text-sm {
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.mt-4 {
  text-align: center;
  margin-top: 1rem;
}

/*# sourceMappingURL=common.css.map */
