@charset "utf-8";

/* =========================================================
   관리자화면 (10·11번대 전용)
========================================================= */

/* 검색 필터 셀렉트 고정폭 150 (U-PR-11-30) — content.css field_w* 시리즈 보충 */
.field_w150 {width:150px;}
.field_split > .field_box.field_w150 {flex:0 0 auto;}

/* 데이터 표 머리글 높이 통일 (전 화면 공통) — 기본 패딩이 만드는 높이를 48로 보정 */
.data_table th {height:4.8rem; padding-top:1.2rem; padding-bottom:1.2rem;}

/* 현황 요약 카드 (U-PR-10-09) */
.stat_cards {display:flex; gap:2.4rem; margin:0; padding:0; list-style:none;}
.stat_cards > li {flex:1 1 0; min-width:0; display:flex;}
.stat_card {flex:1 1 0; min-width:0; display:flex; align-items:center; gap:1.6rem; padding:2rem; border-radius:var(--radius-3xl); background:var(--color-secondary-subtler);}
.stat_card_ico {flex-shrink:0; display:inline-flex; align-items:center; justify-content:center; width:5.6rem; height:5.6rem; border-radius:50%; background:var(--color-white);}
.stat_card_ico::before {content:""; width:3.2rem; height:3.2rem; background:no-repeat center / contain;}
.stat_card_ico.type_apply::before {background-image:url(../images/icon/ico_apply.svg);}
.stat_card_ico.type_review::before {background-image:url(../images/icon/ico_review.svg);}
.stat_card_ico.type_register::before {background-image:url(../images/icon/ico_register.svg);}
.stat_card_ico.type_return::before {background-image:url(../images/icon/ico_return.svg);}
/* 기관평가결과 현황 요약 카드 (U-PR-10-09) — 평가기관수·확정건수 (검토건수는 type_review 재사용) */
.stat_card_ico.type_eval::before {background-image:url(../images/icon/ico_eval_org.svg);}
.stat_card_ico.type_confirm::before {background-image:url(../images/icon/ico_confirmed.svg);}
.stat_card_text {flex:1 1 0; min-width:0; display:flex; flex-direction:column; gap:.4rem;}
.stat_card_num {font-size:2.2rem; font-weight:700; line-height:var(--lh-base); color:var(--color-text-title);}
.stat_card_label {font-size:var(--fs-lg); line-height:var(--lh-base); color:var(--color-text-title);}
.stat_card_sub {font-size:1.4rem; line-height:var(--lh-base); color:var(--color-text-title);}
.stat_card_arrow {flex-shrink:0; width:2.4rem; height:2.4rem; background:url(../images/icon/ico_arrow_right.svg) no-repeat center / contain;}

/* 표 안 상세보기 텍스트 링크 (U-PR-11-04·11-07) */
.link_detail {color:var(--color-text-body);}

/* 표 안 선택 체크박스 (U-PR-11-06) — 표식만 노출, 셀 가운데 정렬 */
.data_table .form_check {width:auto; vertical-align:middle;}
.data_table .form_check .opt_mark {margin-top:0;}

/* 메뉴등록 (U-PR-11-10) — 좌측 메뉴 트리 + 우측 등록 폼 2단 */
.menu_layout {display:flex; align-items:flex-start; gap:4.8rem;}
.menu_side {flex-shrink:0; width:40rem;}
.menu_tree_item {font-size:var(--fs-lg); font-weight:700; line-height:var(--lh-base); color:var(--color-text-title);}
.menu_main {display:flex; flex-direction:column; flex:1 1 0; gap:2.4rem; min-width:0;}
/* 메뉴 위치 경로 표시 */
.menu_path {display:flex; align-items:center; gap:.8rem;}
.menu_path_item {font-size:var(--fs-19); line-height:var(--lh-base); color:var(--color-text-title);}
.menu_path_arrow {width:2.4rem; height:2.4rem; background:url(../images/icon/ico_arrow_right.svg) no-repeat 50% 50% / contain;}
/* 노출/비노출 세그먼트 토글 */
.seg_toggle {display:inline-flex;}
.seg_toggle input {position:absolute; overflow:hidden; clip:rect(0,0,0,0); width:1px; height:1px; margin:-1px; padding:0; border:0;}
.seg_toggle label {display:inline-flex; align-items:center; justify-content:center; height:5.6rem; padding:0 1.6rem; border:1px solid var(--color-input-border); background:var(--color-white); font-size:var(--fs-19); line-height:var(--lh-base); color:var(--color-input-text-disabled); cursor:pointer;}
.seg_toggle .seg_item + .seg_item label {border-left:0;}
.seg_toggle .seg_item:first-child label {border-radius:var(--radius-lg) 0 0 var(--radius-lg);}
.seg_toggle .seg_item:last-child label {border-radius:0 var(--radius-lg) var(--radius-lg) 0;}
.seg_toggle input:checked + label {border-color:var(--color-primary); background:var(--color-primary); color:var(--color-white);}
.seg_toggle input:focus-visible + label {outline:2px solid var(--color-input-border-active); outline-offset:2px;}

/* 메뉴등록 (U-PR-11-10) — 최초 권한 설정 체크박스 10개 가로 나열·텍스트 폭만 차지 후 줄바꿈 (min-width 20rem 해제) */
.check_grid[aria-labelledby="initPermLabel"] .form_check {min-width:0;}

/* 공지사항 등록 (U-PR-09-03) — 공지사항 유형 셀렉트 고정폭 (Figma 184-53277) */
.field_w474 {width:474px;}

/* 회원관리 상세 (U-PR-11-02) — 소속기관 정보 사업자번호 고정폭 */
.field_w300 {width:300px;}
.field_inline > .field_box.field_w300 {flex:0 0 auto;}

/* 등록신청 상세 (U-PR-07-08) — 기관 기본정보 상세 행 간격 제거 변형 (Figma 184-43312, 행 높이 56은 기존 type_h56 재사용) */
.detail_list.type_gap0 {gap:0;}

/* FAQ 목록 순서 팝업 (U-PR-09-08-01) — 질문 색상 #063a74 복원 (.popup_body p 색 규칙이 .faq_order_q를 덮는 것 보정) */
.popup_body .faq_order_q {color:var(--color-secondary);}

/* 아코디언 (U-PR-09-07) — 펼친 항목은 윗선을 진하게 (아코디언 공통) */
.faq_item:has(.faq_q.is_open) {border-top-color:var(--color-text-title);}
/* 아코디언 화살표 — 보더로 그리던 꺾쇠를 chevron SVG로 교체 (셀렉트 .field_arrow와 방식 통일) */
.faq_q_arrow {background:url(../images/icon/ico_select_arrow.svg) no-repeat 50% 50% / 1.56rem auto;}
.faq_q_arrow::before {content:none;}
.faq_q.is_open .faq_q_arrow {transform:rotate(180deg);}

/* 1:1 문의 내역 (U-PR-09-09-01) — 섹션 타이틀 우측 동작 버튼(1:1 문의) 좌우 패딩 축소 (기본 0 1.6rem) */
.section-header.type_tile .btn_act {padding:0 1.2rem;}

/* 접근이력 (U-PR-11-22) — 표 셀 텍스트 우측 동작 버튼(이동)은 컴팩트 크기로 축소 (⚠ .data_table .btn_act 전역 축소는 기존 파일선택 버튼과 충돌하므로 board_subject 스코프) */
.board_subject .btn_act {min-width:6rem; height:3.2rem; padding:0 1rem; border-radius:var(--radius-sm); font-size:var(--fs-base);}

/* 셀렉트박스 디자인 보정 (U-PR-09-01, Figma 184-52688) — 높이 40·글자 15 통일 (size_lg 셀렉트는 기존 유지) */
.field_box:has(> select) {height:4rem;}
.field_box > select {font-size:var(--fs-base);}

/* 등록 신청 현황 검색 필터 (U-PR-07-07) — 인풋 높이 고정 (field_box 보더로 height:100%가 46이 되는 것 보정) */
.search_box.type_label .field_input {height:4.8rem;}

/* 검색 영역 셀렉트 — 전역 셀렉트 40 규칙의 예외. 같은 행 조회 버튼(.search_btn)과 높이를 맞춘다 */
.search_box .field_box:has(> select) {height:4.8rem;}
.search_box .field_box > select {height:4.8rem; font-size:var(--fs-lg);}

/* 폼 그룹 — 필드가 기본 높이(size_lg 아님)일 때 라벨↔필드·필드↔메시지 간격 축소 (디자인 공통 규칙, content.css는 복사 원본이라 여기서 덮어씀) */
.form_group:has(.field_box:not(.size_lg)) {gap:.8rem;}
.form_field:has(> .field_box:not(.size_lg)) > .field_msg {margin-top:0;} /* form_field gap 만으로 간격 유지 */

/* 입력 메시지 — 글자 크기 확대 (content.css는 복사 원본이라 여기서 덮어씀) */
.field_msg,
.popup_body .field_msg,
.field_notes_item {font-size:var(--fs-base);}
.field_msg_ico {margin-top:.3rem;} /* 커진 글자 첫 줄 중앙에 아이콘 정렬 */

/* 내정보 값 입력칸 — 높이 56에 맞춰 글자 크기 정렬 (content.css는 복사 원본이라 여기서 덮어씀) */
.info_value {font-size:var(--fs-19);}

/* 등록신청 진행 단계 - 보완요청·보완완료(자주 발생하지 않는 단계) 배지 색상 보정 (U-PR-07-00) */
.step_indicator.type_status .step_indicator_item.is_disabled .step_indicator_num {border-color:var(--color-gray-charcoal); background:var(--color-white); color:var(--color-text-caption);}

/* 변경신청 상세 (U-PR-07-13) — 변경 요청사항 항목명: 체크박스 없이 텍스트만 표기 (form_check 밖으로 나온 opt_tit 서체 유지) */
.chg_label > .opt_tit {font-size:var(--fs-19); line-height:var(--lh-base); color:var(--color-text-strong);}

/* 회원가입 약관동의 (U-PR-01-02) — 표 행 제목 셀(필수·선택 등)은 본문 셀과 같은 서체로 보이도록 보정 */
.agree_item .data_table tbody th {font-weight:400; color:var(--color-text-body);}

/* 변경신청 상세 (U-PR-07-13) — 조회 화면의 변경 전·후 값은 입력창 없이 텍스트로 표기 (행 간격·높이는 아래 detail_box 규칙과 동일) */
.chg_value {margin:0; font-size:var(--fs-lg); color:var(--color-text-body);}
.chg_form.type_text {gap:0;}
.chg_form.type_text .chg_row {min-height:5.2rem; padding:1.1rem 0;}
.chg_form.type_text .chg_label > .opt_tit,
.chg_form.type_text .chg_col_title,
.chg_form.type_text .chg_value {line-height:3rem;}
.chg_form.type_text .chg_col_title.type_after {color:var(--color-point-dark);}

/* 정보 표시 박스 상세 행 (공통) — 행 간격 제거, 항목 높이는 클래스 변형 없이 line-height와 상하 여백으로 줄 수에 따라 결정 */
.detail_list {gap:0;}
.detail_item {min-height:5.2rem; padding:1.1rem 0;}
.detail_label,
.detail_value {line-height:3rem;}

/* 기관검색 결과 목록 — 도구막대↔표 간격 2.4 (org_result flex gap 1.6 + .8) */
.org_result .list_tools {margin-bottom:.8rem;}

/* 체크박스·라디오 라벨 서체 (공통, 2026-09-01 사용자 확정) — 표식(opt_mark) 24×24 기준 제목(opt_tit)은 19. 부가 설명(opt_desc)은 기존 17 유지 */
.form_check .opt_tit,
.form_radio .opt_tit {font-size:var(--fs-19);}

/* 종사자 표 안 내외국인 라디오 (U-PR-07-03) — 표 셀 높이에 맞춘 작은 라디오(표식 축소에 맞춰 제목도 축소), 국적 선택과 같은 간격으로 나란히 */
.staff_table .cell_flex:has(> .radio_group) {gap:1.6rem;}
.staff_table .cell_flex .field_nation {flex:1 1 0;} /* 국적 선택은 남은 폭을 채워 아래 행 입력칸과 오른쪽 끝 정렬 (원본 고정 폭 해제) */
.staff_table .form_radio label {align-items:center;}
.staff_table .form_radio .opt_mark {width:2rem; height:2rem; margin-top:0;}
.staff_table .form_radio > input:checked + label .opt_mark::after {width:1rem; height:1rem;}
.staff_table .form_radio .opt_tit {font-size:var(--fs-base);}

/* 종사자 표 번호 칸 (U-PR-07-03·07-10·07-18) — 번호|성명 사이에도 세로 구분선, 번호 글자 크기 상향 (content.css 원본 override) */
.staff_table tbody tr:nth-child(odd) td:nth-child(2) {border-left:1px solid var(--color-border);}
.staff_table td.cell_num {font-size:var(--fs-lg); color:var(--color-text-body);}

/* 안내 박스 목록 (공통) — 항목 간 간격과 대시 마커 위치를 디자인 기준으로 보정. 마커는 본문 좌측 끝(제목 텍스트와 같은 선)에 정렬 */
.infobox_list {gap:1.2rem;}
.infobox_list > li::before {left:0;}

/* 안내 박스 제목 (공통) — 글자 크기 상향 (content.css 원본 override) */
.infobox_title {font-size:var(--fs-h4);}

/* 라디오 옆에 선택 필드가 붙는 항목 (내·외국인 여부의 국적 선택, U-PR-01-03) — 체크박스판 .check_etc와 같은 구성 */
.radio_group:has(.radio_etc) {align-items:center;} /* 선택 필드가 섞이면 행 높이가 달라져 라디오를 세로 가운데로 */
.radio_etc {display:flex; align-items:center; gap:1.6rem;}
.radio_etc .form_radio {flex-shrink:0; width:auto;}
.radio_etc .field_nation {width:36rem;}

/* 위지윅 에디터 (Toast UI Editor) — 신고사유 등 서식 입력 (U-PR-07-14) : field_textarea와 같은 테두리·글자 사용 */
.field_editor .toastui-editor-defaultUI {overflow:hidden; border:1px solid var(--color-input-border); border-radius:var(--radius-md); font-family:inherit;}
.field_editor .toastui-editor-defaultUI:focus-within {border-width:2px; border-color:var(--color-input-border-active);}
.field_editor .toastui-editor-defaultUI-toolbar {border-radius:var(--radius-md) var(--radius-md) 0 0; padding:0 1.6rem;}
.field_editor .toastui-editor-ww-container .toastui-editor-contents {padding:.8rem 1.6rem; font-family:inherit; font-size:var(--fs-19); line-height:var(--lh-base); color:var(--color-text-body);}
.field_editor .ProseMirror .placeholder {color:var(--color-input-placeholder);}
.field_editor_help {position:absolute; overflow:hidden; width:1px; height:1px; margin:-1px; font-size:var(--fs-xs); line-height:var(--lh-base); color:var(--color-msg-info); clip:rect(0,0,0,0);} /* 편집기 사용 안내 — 평소 숨김 */
.field_editor.is_keyfocus + .field_editor_help {position:static; overflow:visible; width:auto; height:auto; margin:0; clip:auto;} /* 키보드로 편집기에 들어왔을 때만 노출 (마우스 클릭 진입은 숨김) */

/* 위치 경로(breadcrumb) 구분 화살표 — CSS 도형 대신 아이콘 사용 (content.css 원본 override) */
.breadcrumb_item + .breadcrumb_item::before {width:1.6rem; height:1.6rem; margin-right:0; border:0; background:url(../images/icon/ico_arrow_right_16.svg) no-repeat 50% / contain; transform:none;}

/* 가로 스크롤 표(table_wrap) 초점 표시 — 키보드로 초점을 받았을 때만 표시 */
.table_wrap:focus-visible {outline:2px solid var(--color-input-border-active); outline-offset:2px;}

/* 신청 및 절차 단계 연결 점선 (U-PR-05-01-01 전체 탭) — 단계 번호 원과 같은 파랑 (content.css 원본 override) */
.proc_step_line {border-left-color:var(--color-primary);}

/* 안내 표 셀 안 번호 목록 (U-PR-05-02 결격사유) — 항목 간격·번호 칸 폭을 디자인 기준으로 보정 (content.css 원본 override) */
.data_table.type_guide ol.text_list {gap:.8rem;}
.data_table.type_guide ol.text_list > li {padding-left:3.2rem;}

/* 탭 줄 연속 배치 (U-PR-05-01-01 탭 4개·3개 타입) — 탭 줄 사이 간격을 탭↔패널 간격과 동일하게 */
.tab + .tab {margin-top:4rem;}

/* 제도안내 업무 안내 카드 (U-PR-05-01) — 설명↔바로가기 간격 축소, 카드 안 내용은 세로 가운데 정렬(카드 높이는 같은 줄의 가장 긴 내용 기준) (content.css 원본 override) */
.guide_cards .guide_card {justify-content:center; gap:0; min-height:0;}
.guide_cards .guide_card_ico {margin-bottom:1.6rem;}
.guide_cards .guide_card_link {margin-top:.8rem;}

/* 데이트피커 — 달력 디자인 반영 (content.css 원본 override) */
.datepicker {padding:1.6rem 0 0; border-radius:var(--radius-xl); box-shadow:none;}
.dp_head {gap:1.6rem; margin-bottom:0; padding:.8rem 2.4rem;}
.dp_title {flex:1; font-size:var(--fs-lg); line-height:var(--lh-base); color:var(--color-text-strong); text-align:center;}
.dp_nav {flex-shrink:0; margin:-.4rem; border-radius:50%;} /* 누르는 영역은 아이콘보다 넓게, 음수 여백으로 배치는 아이콘 크기 기준 유지 */
.dp_nav::before {display:none;} /* CSS 도형 화살표 대신 아이콘 사용 */
.dp_nav,
.dp_nav:hover {background-color:transparent; background-repeat:no-repeat; background-position:50%; background-size:2rem;} /* 원본 hover의 background 약식 선언(배경색·아이콘 배치 초기화)을 무효화 */
.dp_nav.dp_prev {background-image:url(../images/icon/ico_cal_arr_left.svg);}
.dp_nav.dp_next {background-image:url(../images/icon/ico_cal_arr_right.svg);}
.dp_grid {grid-template-columns:repeat(7, 3.4rem); justify-content:space-between; gap:.2rem 0; padding:1.6rem;}
.dp_dow {height:2.4rem; margin-bottom:.6rem; font-size:var(--fs-base); line-height:var(--lh-base); color:var(--color-text-strong);} /* 요일 줄과 날짜 사이는 날짜 행 간격보다 넓게 */
.dp_day {border-radius:50%; line-height:var(--lh-base); color:var(--color-text-strong); opacity:.8;}
.dp_sun {color:var(--color-point-dark);}
.dp_sat {color:var(--color-primary);}
.dp_day:hover {background:var(--color-secondary-light); opacity:1;} /* 주말 날짜는 글자색 유지 */
.dp_day:focus-visible {opacity:1;} /* 키보드 초점 날짜는 선명하게 — 초점 테두리가 흐려지지 않도록 */
.dp_day.dp_out {color:var(--color-text-muted); opacity:1;} /* 앞뒤 달 날짜 — 보이기만 하고 선택 불가 */
.dp_day.dp_out:hover {background:none;}
.dp_day.is_today {font-weight:400; box-shadow:inset 0 0 0 1px var(--color-gray); color:var(--color-text-strong); opacity:1;} /* 요일과 관계없이 같은 글자색 */
.dp_day.is_selected {background:var(--color-secondary); box-shadow:none; color:var(--color-white); opacity:1;} /* 위 오늘 글자색보다 뒤에 선언해 선택 상태 유지 */
.dp_foot {margin-top:0; padding:1.2rem 1.6rem; border-top-color:var(--color-gray-light);}
.dp_help {color:var(--color-text-body);}
.dp_close {min-width:6rem; height:3.2rem; padding:0 1rem; border-color:var(--color-gray-dark); border-radius:var(--radius-sm); background:var(--color-white); font-size:var(--fs-base);}

/* 메인 공지사항 팝업 (main_popup) — 연파랑 제목 띠 + 가운데 정렬 본문 + 하단 오늘 하루 보지 않기·닫기 우측 정렬 */
.popup.type_notice {width:730px; padding:0; border-radius:0;}
.popup.type_notice .popup_head {margin-bottom:0; padding:4.8rem 4.8rem 2.8rem; background:var(--color-primary-light);}
.popup.type_notice .popup_title {font-size:var(--fs-h2);}
.popup.type_notice .popup_body {margin:0; padding:4rem 4.8rem; text-align:center;}
.popup.type_notice .popup_foot {justify-content:flex-end; align-items:center; gap:1.6rem; padding:0 4.8rem 4rem;}
.popup.type_notice .popup_foot button {min-width:7.8rem; height:4.8rem; padding:0 1.6rem; border-radius:var(--radius-md); font-size:var(--fs-lg);}
.popup.type_notice .form_check {width:auto;} /* 기본 고정 폭(32rem) 해제 — 닫기 버튼 옆에 붙도록 */
.notice_pop_body {display:flex; flex-direction:column; gap:2rem;}
.notice_pop_body p {font-size:var(--fs-19);}

/* 주민등록번호 뒷자리 가림 — type 은 text 그대로 두고 글자만 ● 로 표시, 눈 버튼(.field_toggle)으로 보기/가리기 */
.field_input.field_secret {-webkit-text-security:disc;}
.field_input.field_secret.is_shown {-webkit-text-security:none;}

/* 종사자 표 주민등록번호 칸 — 앞·뒷자리 사이 "-" 구분자는 본문 크기, 눈 버튼은 20 (작은 입력칸 기본 16 대신) */
.staff_table .field_split_sep {font-size:var(--fs-base); color:var(--color-text-title);}
.staff_table .field_box .field_toggle {width:2rem; height:2rem; background-size:2rem;}

/* 자격증 팝업 (가이드 예시) — 직인을 "관" 글자에 겹침 + QR 박스 아래 안내 문구 */
.cert_minister {gap:0;}
.cert_seal {margin-left:-1.6rem; mix-blend-mode:multiply;}
.cert_qr_group {display:flex; flex-direction:column; gap:1.2rem;}
.cert_qr_guide {font-size:var(--fs-xs); line-height:var(--lh-base); color:var(--color-text-caption);}

/* 펼침 상세 행 표 (U-PR-08-02) — 행(번호 버튼)을 누르면 바로 아래 상세 행(.row_detail)이 펼쳐짐 */
.data_table .row_toggle {cursor:pointer;}
.data_table .row_toggle_btn {display:inline-flex; align-items:center; justify-content:center; gap:.8rem; min-width:2.4rem; min-height:2.4rem; font:inherit; color:inherit;}
.data_table .row_toggle_btn::after {content:""; flex-shrink:0; width:.8rem; height:.8rem; margin-top:-.4rem; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg);}
.data_table .row_toggle_btn[aria-expanded="true"]::after {margin-top:.4rem; transform:rotate(-135deg);}
.data_table .row_detail_cell {padding:1.2rem; text-align:left;}

/* 하단 버튼 좌측 정렬 */
.btn_area.type_start {justify-content:flex-start;}
