/**/
body {background: #F3F4F6; overflow-x: hidden}
header{padding: 2rem;padding-left: 7rem; transition: 0.3s ease; background: #fff;border-bottom: 1px solid #70707030}
header.grid{padding-left: 2rem!important;grid-template-columns: 180px auto 180px; text-align: center; align-items: center}
header.grid b {font-size: 1.2em}

.toggled header{padding: 2rem; }
/**/
.mb-wrap .login.sign form{position: relative;}
.mb-wrap .login.sign canvas{background-color: #fff;border: 1px solid #707070;border-radius: 7px}

body:has(.print_page) header.grid{padding: 2rem!important; position: fixed; top: 0; width: 100%; z-index: 999}
body:has(.print_page) {margin-top: 150px}
@media screen and (max-width: 1200px) {
    .inner {padding: 1rem 3rem}
}
@media screen and (max-width: 992px) {
    .signup .box-gray .grid2,
    .sign_form .box-gray .grid2{grid-template-columns: 1fr!important;}
    header.grid{grid-template-columns: 1fr 1fr; column-gap: 0; padding: 20px!important; row-gap: 20px}
    body:has(.print_page) header.grid{padding: 20px!important;}
    header.grid > div {grid-column: 1 / 4;order: -1}
    body:has(.print_page) header.grid{grid-template-columns: 1fr 1fr; column-gap: 0; position: fixed; top: 0; width: 100%; z-index: 999}
    body:has(.print_page) header.grid > div {grid-column: 1 / 4;order: -1}
}
@media screen and (max-width: 768px) {
    .inner{padding: 1rem}
}
.panel > * {font-size: 1.2em}
.panel > select {background: #fff0; border: 0; padding: 0!important;}
.search-wrap {display: flex; gap: 5px; align-items: center;  margin: -40px -40px 0; padding: 40px 40px;border-bottom: 1px solid #70707030; flex-wrap: wrap }
.search-wrap select {height: 30px; padding: 5px 10px}
.search-wrap input {height: 30px; padding: 5px 10px; max-width: 150px}
.search-wrap .select label {height: 30px!important; padding: 5px 10px!important; line-height: unset!important;}
.search-wrap .btn {height: 30px; padding: 5px 10px}
.search-wrap .btn-reset {margin-left: auto}
.search-wrap .male-auto ~ .btn-reset {margin-left: unset}


.site-main{display: flex;flex-direction: column;justify-content: center;align-items: center;width: 100%;gap: 0px}
.site-main form{width: 100%;display: flex;flex-direction: column;gap: 20px;max-width: 400px;justify-content: center;align-items: center;margin: 10vh 0;}
.site-main form .wrap{display: flex;flex-direction: column;gap: 10px;width: 100%;background-color: #fff;border: 1px solid #70707030;padding: 25px;border-radius: 15px;}
.site-main form .wrap > label{margin-bottom: -10px;}
.site-main form .wrap .select > * {width: 100%}

.site-list .cont ul {width: 100%;display: flex;flex-direction: column;gap: 15px;justify-content: center;align-items: center;}
.site-list .cont ul li {width: 100%;display: flex;gap: 15px;align-items: center;position: relative;background: #fff; border: 1px solid #70707030; border-radius: 10px;padding: 20px 20px 15px}
.site-list .cont ul li > .icon {position: absolute;top:-1px;left: -1px;width: fit-content;display: flex;padding: 10px 15px;align-items: flex-end;background: #F8F8F8; border: 1px solid #70707050; border-radius: 10px;}
.site-list .cont ul li .info-wrap {padding-top: 20px;display: flex;flex-direction: column;gap: 5px;}
.site-list .cont ul li .info-wrap span {display: flex; gap: 10px; align-items: center}
.site-list .cont ul li .info-wrap span h5 {color: #202634; font-weight: 700;font-size: 1.25em; display: inline-block; word-break: break-all}
.site-list .cont ul li .info-wrap span h6 {color: #202634;font-size: 1.15em; display: inline-block}
.site-list .cont ul li .info-wrap span p {color: #20263450}
.site-list .cont ul li .btn-wrap {display: flex; gap: 10px; align-items: center;margin-left: auto}
.site-list .cont ul li .btn-wrap .btn {font-size: 1.2em; font-weight: 800;line-height: 1.35em; padding: 7px 15px}

@media screen and (max-width: 1200px) {
    .site-list .cont ul li {flex-direction: column;align-items: start; gap: 5px;}
    .site-list .cont ul li .info-wrap span{flex-direction: column; gap: 0px;align-items: start;}
    .site-list .cont ul li .info-wrap span:last-child {padding-top: 5px;}
}

.document-list .cont ul {width: 100%;display: flex;flex-direction: column;gap: 15px;justify-content: center;align-items: center;}
.document-list .cont ul li {font-size: 1.1em;width: 100%;display: flex;gap: 15px;align-items: flex-end;position: relative;background: #fff; border: 1px solid #70707030; border-radius: 10px;padding: 15px 20px}
.document-list .cont ul li p { font-weight: 600}
.document-list .cont ul li span {white-space: nowrap}
.document-list .cont ul li span:first-child {min-width: 200px; font-weight: 700}
.document-list .cont ul li span.txt-gray {font-size: 0.8em}
.document-list .cont ul li span i {margin-right: 5px; color: #000}
.document-list .cont ul li .txt-gray {margin-left: auto}
.document-list .cont ul li .btn-wrap {display: flex; gap: 5px; align-items: center;}

@media screen and (max-width: 1200px) {
    .document-list .cont ul li {flex-direction: column;align-items: start; gap: 5px;padding: 15px 15px;}
    .document-list .cont ul li p {overflow: unset; white-space: normal}
    .document-list .cont ul li .btn-wrap {margin-left: auto;}
}
@font-face {
    font-family: 'Malgun Gothic';
    src: url('path/to/malgun-gothic.woff2') format('woff2'),
    url('path/to/malgun-gothic.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
.signature-pad {position: relative;display: flex;flex-direction: column;align-items: center;width: 100%;max-width: 500px;margin: 0 auto;}
#signatureCanvas {background-color: #fff;border: 1px solid #000;width: 100%;height: 200px;touch-action: none;}
#smartwizard {padding-top: 15px;}
.sw>.nav {justify-content: center;gap: 10px; }
.sw>.nav li {flex-grow: unset!important;width: fit-content;}
.sw>.nav .nav-link {background: #fff;width: fit-content;border-radius: 5px;border: 1px solid #eee; font-weight: 800; font-size: 1em}
.sw>.nav .nav-link.active {border: 1px solid #006cb6; background: #006cb620; color: #006cb6}
.sw .toolbar {text-align: center!important;}
@media screen and (max-width: 640px) {
    .report-form .sw>.nav {
        flex-direction: row !important;
    }
}
.report-form {width: 100%;margin: 0 auto;max-width: 1024px;background: #fdfdfd; border-left: 1px solid #70707030; border-right: 1px solid #70707030;padding: 20px; max-height: calc( 100vh - 96px );height: calc( 100vh - 96px )}
.report-form .page-wrap {padding: 0px;background: #fff; height: 100%; max-height: calc( 100vh - 240px ); overflow: auto}
.report-form .page-wrap .icon-mint{background: #e4f5f6!important;}
.report-form .page-wrap .icon-line{border: 2px solid #000!important; background: #fff}
.report-form .page-wrap > .icon-wrap{position: absolute; top: 20px; right: 20px; z-index: 99}
.report-form .page {position: relative; width: 100%; height: 100%; overflow: hidden;border: 1px solid #70707030;border-radius: 15px}
.report-form .page input {border-radius: 3px;margin-bottom:10px; height: 40px}
.report-form .page [type="checkbox"] {height: 1.5em!important;}
.report-form .page input.auto {border: 0;background: #e4f5f6; color: #00A9AC;}
.report-form .page div.auto {padding: 10px;background: #e4f5f6; }
.report-form .page div.cont {margin: 10px 0;}
.report-form .page select {border-radius: 3px;margin-bottom: 10px;width: 100%}
.report-form .page h6 ~ img {width: 100%;margin-bottom: 10px;}
.report-form .page .flex {margin-bottom: 10px; white-space: nowrap; gap: 5px}
.report-form .page .flex input {margin-bottom: 0px}
.report-form .page .flex select {margin-bottom: 0px}
.report-form .page .flex.select label {width: 100%!important; font-size: 13px}
.report-form .page .grid {margin-bottom: 10px; white-space: nowrap; gap: 5px}
.report-form .page .grid input {margin-bottom: 0px}
.report-form .page .grid select {margin-bottom: 0px}
.report-form .page .grid.select label {width: 100%!important; font-size: 13px}
.report-form .page .grid.select.grid3.image label {width: 100%!important; display: flex; flex-direction: column;height: fit-content; line-height: 1.5em; padding-bottom: 5px; color: #1a1a1c}
.report-form .page .grid.select.grid3.image label img{width: 100%!important; border-radius: 4px; margin-top: 10px; height: 120px; margin-bottom: 5px}
@media screen and (max-width: 1200px) {
    .report-form {padding: 0px;}
}
.report-form .page div p  {letter-spacing: -.5px;display:inline-block;width:100%;overflow: hidden;text-overflow: ellipsis;vertical-align:middle;word-break: break-all;white-space: nowrap;font-size: clamp(8pt, 1vw, 12pt);}
.report-form .page #raw_detail p  {letter-spacing: -.5px;white-space: pre-wrap;font-size: clamp(8pt, 1vw, 12pt);}
.report-form .page div label {font-weight: 400!important;letter-spacing: -.5px;display:inline-block;width:fit-content!important;overflow: hidden;text-overflow: ellipsis;vertical-align:middle;word-break: break-all;white-space: nowrap;font-size: clamp(8pt, 1vw, 12pt);}
.report-form .page .auto {background: #e4f5f6!important;}
.report-form .page .sign {cursor: pointer!important;}
.report-form .page .image {cursor: pointer!important;}
.report-form .page {padding: 20px}
.report-form .page h1 {font-size: 20px; color: #6E6E6E; padding-bottom: 10px; border-bottom: 1px solid #bbbbbb; margin-bottom: 10px}
.report-form .page h5 {font-size: 17px; font-weight: 800; margin-bottom: 5px; display: flex; align-items: center; gap: 10px}
.report-form .page h6 {font-size: 15px; font-weight: 800; margin: 15px 0 5px; display: flex; align-items: center; gap: 10px}
.report-form .page details { margin-bottom: 10px}
.report-form .page details div { padding: 10px;border: 1px solid #00A9AC;}
.report-form .page details summary {  text-align: center;  background: #e4f5f6; color: #00A9AC;font-size: 16px; font-weight: 800; margin-bottom: 5px; padding: 10px 15px}
.report-form .page h6 ~ .image-wrapper {margin-bottom: 10px}
.report-form .page .image-wrapper {text-align: center;width: 100%; cursor: pointer; position: relative}
.report-form .page .image-wrapper img {width: 100%; aspect-ratio: 4/3;object-fit: cover; max-width: 300px; margin: 0 auto}
.d-flex {gap: 10px}
.image-wrapper::after {display: flex;align-items:center;justify-content: center;content: '+';position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);font-size: 48px;color: white;background: rgba(0, 0, 0, 0.5);width: 100%;height: 100%;text-align: center;line-height: 100%;opacity: 0;transition: opacity 0.3s ease;pointer-events: none;}
.image-wrapper:hover::after {opacity: 1;}

.select2-search--dropdown {display: none !important;}
.select2-search--inline {display: none !important;}
.select2-container .select2-search--inline .select2-search__field {display: none !important;}
.select2-container--default .select2-selection--multiple {border: 1px solid #333 !important;min-height: 45px !important; position: relative !important;}
.select2-container--default .select2-selection--multiple::after {content: "" !important;position: absolute !important;top: 50% !important;right: 10px !important;transform: translateY(-50%) !important;width: 0 !important;height: 0 !important;border-left: 5px solid transparent !important;border-right: 5px solid transparent !important;border-top: 5px solid #333 !important;pointer-events: none !important;}
.select2-container--open .select2-selection--multiple::after {border-top: none !important;border-bottom: 5px solid #333 !important;}
#tbm-table-container { width: 100%; overflow-x: auto; padding: 0}
#tbm-table-container table { width: 100%; min-width: 800px; }
#tbm-table-container td:first-child { white-space: nowrap; min-width: 120px; }
#tbm-table-container td:nth-child(2) { word-wrap: break-word; word-break: keep-all; }
#tbm-table-container td:last-child { min-width: 140px; white-space: nowrap; }
#tbm-table-container input[type="radio"] { width: 16px; height: 16px; margin: 0 5px 0 0; cursor: pointer; }
#tbm-table-container label { margin: 0 10px 0 0; cursor: pointer; user-select: none; font-weight: normal; }
#tbm-table-container td:first-child { font-weight: normal; }
#preventionMeasureModal .list-group-item { margin-bottom: 5px; border-radius: 5px; transition: all 0.2s ease; }
#preventionMeasureModal .list-group-item:hover { background-color: #f8f9fa; }
#preventionMeasureModal .list-group-item.active { background-color: #0d6efd; border-color: #0d6efd; color: white; }
#preventionMeasureModal .list-group-item.active:hover { background-color: #0b5ed7; border-color: #0a58ca; }
#preventionMeasureModal .form-check-input { margin-left: 10px; }
#preventionMeasureModal .list-group-item.active .form-check-input { background-color: white; border-color: white; }
#education_content { background-color: #f8f9fa !important; cursor: not-allowed !important; }
#education_content:focus { box-shadow: none !important; border-color: #ced4da !important; }
#selectedMaterialsPreview { padding: 8px 12px; background-color: #e3f2fd; border-left: 4px solid #2196f3; border-radius: 4px; }
#improvementMeasureModal .list-group-item { margin-bottom: 5px; border-radius: 5px; transition: all 0.2s ease; }
#improvementMeasureModal .list-group-item:hover { background-color: #f8f9fa; }
#improvementMeasureModal .list-group-item.active { background-color: #28a745; border-color: #28a745; color: white; }
#improvementMeasureModal .list-group-item.active:hover { background-color: #218838; border-color: #1e7e34; }
#improvementMeasureModal .form-check-input { margin-left: 10px; }
#improvementMeasureModal .list-group-item.active .form-check-input { background-color: white; border-color: white; }
.btn-sm { font-size: 0.875rem; padding: 0.25rem 0.5rem; }
#selectedEquipmentInfo { border-left: 4px solid #17a2b8; background-color: #d1ecf1; border-color: #bee5eb; }
#current_process { background-color: #f8f9fa !important; cursor: pointer !important; }
button[id^="sign-"]:not([style*="background-color"]) { transition: all 0.3s ease; }
button[id^="sign-"][style*="background-color: rgb(40, 167, 69)"] { box-shadow: 0 2px 4px rgba(40, 167, 69, 0.3); }
button[id^="sign-"][style*="background-color: rgb(40, 167, 69)"]:hover { background-color: #218838 !important; border-color: #1e7e34 !important; transform: translateY(-1px); box-shadow: 0 4px 8px rgba(40, 167, 69, 0.4); }
#signTitle { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; font-weight: bold; text-align: center; margin-bottom: 15px; }
#signatureCanvas { border: 2px solid #dee2e6; border-radius: 8px; cursor: crosshair; box-shadow: 0 2px 10px rgba(0,0,0,0.1); }
#signatureCanvas:hover { border-color: #007bff; box-shadow: 0 4px 15px rgba(0,123,255,0.2); }
.checkbox-group { display: flex; flex-wrap: wrap; gap: 15px; margin: 10px 0; align-items: center; }
.checkbox-item { display: flex; align-items: center; gap: 5px; }
.score-display { margin: 10px 0; font-weight: bold; padding: 5px; background-color: #f8f9fa; border-radius: 4px; }
.score-input { width: 60px; text-align: center; border: 1px solid #ddd; padding: 2px; }
.total-score { font-size: 18px; font-weight: bold; background-color: #e7f3ff; padding: 10px; border-radius: 5px; text-align: center; margin: 20px 0; }


button[id^="sign-"]:not([style*="background-color"]) { transition: all 0.3s ease; }
button[id^="sign-"][style*="background-color: rgb(40, 167, 69)"] { box-shadow: 0 2px 4px rgba(40, 167, 69, 0.3); }
button[id^="sign-"][style*="background-color: rgb(40, 167, 69)"]:hover { background-color: #218838 !important; border-color: #1e7e34 !important; transform: translateY(-1px); box-shadow: 0 4px 8px rgba(40, 167, 69, 0.4); }
#signTitle { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; font-weight: bold; text-align: center; margin-bottom: 15px; }
#signatureCanvas { border: 2px solid #dee2e6; border-radius: 8px; cursor: crosshair; box-shadow: 0 2px 10px rgba(0,0,0,0.1); }
#signatureCanvas:hover { border-color: #007bff; box-shadow: 0 4px 15px rgba(0,123,255,0.2); }

.image-wrapper { position: relative !important; display: inline-block; border: 1px solid #ddd; }
.image-wrapper img.upload { display: block; max-width: 100%; height: auto; }
.image-delete-btn { position: absolute !important; top: 8px !important; right: 8px !important; width: 26px; height: 26px; background: rgba(255, 0, 0, 0.9); color: white; border: none; border-radius: 50%; cursor: pointer; font-size: 14px; font-weight: bold; line-height: 26px; text-align: center; z-index: 1000; box-shadow: 0 2px 4px rgba(0,0,0,0.3); }
.image-delete-btn:hover { background: rgba(255, 0, 0, 1); transform: scale(1.1); }


.loader {width: 50px;aspect-ratio: 1;display: grid;border-radius: 50%;background: linear-gradient(0deg ,rgb(0 0 0/50%) 30%,#0000 0 70%,rgb(0 0 0/100%) 0) 50%/8% 100%, linear-gradient(90deg,rgb(0 0 0/25%) 30%,#0000 0 70%,rgb(0 0 0/75% ) 0) 50%/100% 8%;background-repeat: no-repeat;animation: l23 1s infinite steps(12);}
.loader::before,
.loader::after {content: "";grid-area: 1/1;border-radius: 50%;background: inherit;opacity: 0.915;transform: rotate(30deg);}
.loader::after {opacity: 0.83;transform: rotate(60deg);}
@keyframes l23 {
    100% {transform: rotate(1turn)}
}


.selection-item {display: flex;align-items: center;margin: 4px 0; /* 8px에서 4px로 간격 줄임 */padding: 12px 15px; /* 상하 패딩도 약간 줄임 */border: 2px solid #ddd;border-radius: 8px;background-color: #fff; /*cursor: pointer;*/transition: all 0.2s ease;}
.selection-item:hover {border-color: #bbb;}
.selection-checkbox {margin-right: 12px;}
.selection-checkbox input[type="checkbox"] {width: 20px;height: 20px;cursor: pointer;}
.selection-text {flex: 1;font-size: 14px;font-weight: 500;}
.selection-item:has(:checked) {background: rgba(10, 88, 202, 0.13)}
.selection-count {text-align: left; /* 왼쪽 정렬 */margin-top: 15px; /* 간격 줄임 */font-size: 13px; /* 폰트 크기 13px */font-weight: bold;color: #333;}
.btn-apply {background-color: #2196F3;border-color: #2196F3;color: white;padding: 10px 40px;font-weight: bold;border-radius: 4px;}
.btn-apply:hover {background-color: #1976D2;border-color: #1976D2;}


#documentLoadingOverlay {position: fixed;top: 0;left: 0;width: 100%;height: 100%;background: rgba(255, 255, 255, 0.95);z-index: 10000;display: flex;justify-content: center;align-items: center;}
#documentLoadingOverlay .loading-box {text-align: center;padding: 40px;background: #fff;border-radius: 15px;box-shadow: 0 10px 30px rgba(0,0,0,0.1);max-width: 400px;width: 90%;}
#documentLoadingOverlay .loading-spinner {width: 60px;height: 60px;border: 4px solid #f3f3f3;border-top: 4px solid #006CB7;border-radius: 50%;animation: documentSpin 1s linear infinite;margin: 0 auto 20px;}
#documentLoadingOverlay h3 {color: #333;margin: 0 0 10px 0;font-size: 1.3em;font-weight: 600;}
#documentLoadingOverlay p {color: #666;margin: 0;font-size: 0.9em;}
@keyframes documentSpin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }


.privacy-policy{max-width:900px;margin:0 auto;padding:60px 20px;font-family:'Noto Sans KR',sans-serif;color:#333;line-height:1.7}
.privacy-policy h2{font-size:2rem;font-weight:700;text-align:center;margin-bottom:50px;color:#111;border-bottom:2px solid #111;display:inline-block;padding-bottom:10px}
.privacy-policy h3{font-size:1.3rem;font-weight:600;margin-top:40px;margin-bottom:15px;color:#005bac;border-left:4px solid #005bac;padding-left:10px}
.privacy-policy p{font-size:1rem;margin-bottom:10px}
.privacy-policy ul{list-style:disc;margin:10px 0 20px 25px}
.privacy-policy ul li{margin-bottom:6px}
.privacy-policy .last-update{margin-top:50px;font-size:0.95rem;color:#777;text-align:right}
@media(max-width:768px){.privacy-policy{padding:40px 15px}.privacy-policy h2{font-size:1.6rem}.privacy-policy h3{font-size:1.15rem}.privacy-policy p,.privacy-policy ul li{font-size:0.95rem}}
