/* =============================================================================
   수시위험성평가 — 사고 대응 핵심서류 (2026-10-21)   js/ra-acc-ui.js · ra-acc-print.js 와 한 쌍
   - 접두사 raacc-. 상태는 색만으로 구분하지 않는다: 아이콘(✓ ! ✕ —) + 글자(완료·확인중·미비·해당없음) + title + 색.
   - 위험성평가의 위험도(빈도×강도)와 섞지 않는다: '서류 Risk'는 사고 발생 후 조사·감독 대응자료 준비 Risk.
   - 모바일(≤640px): 목록은 '서류준비 N/M · HIGH' 한 줄을 눌러 펼침, 모든 누르는 곳 44px 이상.
   ========================================================================== */
.raacc-so { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* ---- 상태 칩 (목록·상세 공통) ---- */
.raacc-chip { display: inline-flex; align-items: center; gap: 4px; max-width: 100%; border: 1px solid; border-radius: 999px; padding: 1px 9px; font-size: 12px; font-weight: 700; line-height: 1.5; white-space: nowrap; }
.raacc-chip i { font-style: normal; font-weight: 800; }
.raacc-s-ok { color: #1b6e33; background: #e8f5ec; border-color: #8cc9a0; }
.raacc-s-miss { color: #b3261e; background: #fdecea; border-color: #e6a09b; }
.raacc-s-checking { color: #8a5200; background: #fff3dc; border-color: #f0c36d; }
.raacc-s-na { color: #565656; background: #f1f1f3; border-color: #c9c9ce; }
.raacc-s-none { color: #565656; background: #f1f1f3; border-color: #c9c9ce; }
.raacc-ref { display: inline-block; font-size: 12px; font-weight: 700; color: #565656; background: #f1f1f3; border: 1px solid #c9c9ce; border-radius: 999px; padding: 1px 9px; white-space: nowrap; }
.raacc-none { display: inline-block; font-size: 12.5px; font-weight: 700; color: #565656; background: #f1f1f3; border: 1px dashed #b1b1b1; border-radius: 999px; padding: 2px 10px; white-space: nowrap; }

/* ---- 서류 Risk 배지 (HIGH · MEDIUM · LOW 글자가 곧 구분) ---- */
.raacc-risk { display: inline-flex; align-items: center; gap: 5px; border-radius: 999px; padding: 2px 11px; font-size: 12px; line-height: 1.5; white-space: nowrap; }
.raacc-risk b { font-weight: 800; letter-spacing: .02em; }
.raacc-risk-l { font-weight: 600; opacity: .95; }
.raacc-r-high { color: #fff; background: #c62828; }
.raacc-r-mid { color: #3a2600; background: #f5a623; }
.raacc-r-low { color: #fff; background: #2e7d32; }

/* ---- 목록: 평가 행 아래에 붙는 서류 상태 줄 ---- */
.raacc-row { display: block; }
.radhoc-wrap .raacc-row > .radhoc-list-row { border-bottom-left-radius: 0; border-bottom-right-radius: 0; }
.raacc-strip { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; padding: 8px 12px 10px; border: 1px solid var(--line); border-top: 0; border-radius: 0 0 var(--radius) var(--radius); background: var(--surface-2); }
.radhoc-wrap .raacc-strip { border-radius: 0 0 14px 14px; padding-left: 16px; padding-right: 16px; }
.raacc-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 6px; flex: 1 1 420px; min-width: 0; }
.raacc-cell { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; min-width: 0; }
.raacc-h { max-width: 100%; font-size: 11px; font-weight: 700; color: var(--ink-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.raacc-tail { display: inline-flex; align-items: center; gap: 8px; flex: 0 0 auto; }
.raacc-rdy { font-size: 12.5px; font-weight: 700; color: var(--ink); white-space: nowrap; }
.raacc-tgl { display: none; }
.raacc-strip-none { padding-top: 7px; padding-bottom: 7px; }

/* ---- 목록 필터 ---- */
.radhoc-filter .raacc-fsel { flex: 1 1 170px; }
.raacc-fq { min-height: var(--field-h); border-radius: 6px; font-size: 13.5px; white-space: nowrap; flex: 0 0 auto; }
.raacc-fq.is-on { background: #fdecea; border-color: #c62828; color: #b3261e; font-weight: 800; }

/* ---- 상세 섹션 ---- */
.raacc-sec > h3 { margin-bottom: 4px; }
.raacc-guide { margin: 0 0 10px; }
.raacc-load { padding: 12px 2px; color: var(--ink-2); font-size: 13.5px; }
.raacc-start { padding: 4px 0 2px; }
.raacc-start p { margin: 8px 0; font-size: 13.5px; }
.raacc-sumhead { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; padding: 10px 12px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface-2); }
.raacc-prog { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; flex: 1 1 260px; min-width: 0; }
.raacc-pl { font-size: 13px; font-weight: 700; color: var(--ink-2); }
.raacc-pn { font-size: 16px; font-weight: 800; }
.raacc-bar { display: inline-block; flex: 1 1 110px; min-width: 90px; height: 8px; border-radius: 999px; background: #dcdde0; overflow: hidden; }
.raacc-bar i { display: block; height: 100%; background: #2e7d32; }
.raacc-rnote { margin: 8px 0 4px; line-height: 1.5; }
.raacc-pbtn { flex: 0 0 auto; }

.raacc-items { display: flex; flex-direction: column; gap: 10px; margin-top: 10px; }
.raacc-item { border: 1px solid var(--line); border-left-width: 5px; border-radius: var(--radius); padding: 12px; background: #fff; min-width: 0; }
.raacc-item.s-ok { border-left-color: #2e7d32; }
.raacc-item.s-miss { border-left-color: #c62828; }
.raacc-item.s-checking { border-left-color: #e08a00; }
.raacc-item.s-na { border-left-color: #b1b1b1; }
.raacc-item.s-ref { border-left-color: #b1b1b1; }
.raacc-item.is-busy { opacity: .65; pointer-events: none; }
.raacc-ih { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; }
.raacc-in { margin: 0; font-size: 15px; font-weight: 800; }
.raacc-hint { margin: 4px 0 0; line-height: 1.45; }
.raacc-fx { margin: 8px 0 0; }
.raacc-rg { display: flex; flex-wrap: wrap; gap: 2px 16px; margin: 6px 0 0; padding: 0; border: 0; min-width: 0; }
.raacc-rd { display: inline-flex; align-items: center; gap: 7px; min-height: 40px; font-size: 14px; font-weight: 600; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.raacc-rd input[type="radio"] { appearance: auto; -webkit-appearance: radio; flex: 0 0 18px; width: 18px; height: 18px; margin: 0; accent-color: var(--mint); cursor: pointer; }
.raacc-rd input:focus-visible { outline: 2px solid var(--mint); outline-offset: 2px; }

.raacc-lks { list-style: none; margin: 8px 0 6px; padding: 0; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.raacc-lk { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; padding: 8px 10px; border-bottom: 1px solid var(--line); }
.raacc-lk:last-child { border-bottom: 0; }
.raacc-lk-i { flex: 1 1 220px; min-width: 0; }
.raacc-lk-t { display: block; font-size: 14px; overflow-wrap: anywhere; }
.raacc-lk-m { display: block; font-size: 12px; color: var(--ink-2); overflow-wrap: anywhere; }
.raacc-lk-a { display: inline-flex; flex-wrap: wrap; gap: 6px; }
.raacc-chg { display: inline-block; margin-left: 6px; padding: 0 8px; border-radius: 999px; border: 1px solid #f0c36d; background: #fff3dc; color: #8a5200; font-size: 11.5px; font-weight: 700; white-space: nowrap; }
.raacc-nolk { margin: 8px 0 6px; }
.raacc-snap { margin: 0 0 6px; line-height: 1.45; overflow-wrap: anywhere; }
.raacc-gone { border-color: #e8a4a4; background: #fde8e8; color: #9b1c1c; }
.raacc-miss { margin: 0 0 6px; padding: 6px 10px; border-radius: 8px; border: 1px solid #e8a4a4; background: #fde8e8; color: #9b1c1c; line-height: 1.45; overflow-wrap: anywhere; }
.raacc-lkbtn { margin: 4px 0 2px; }
.raacc-files { margin-top: 8px; }
.raacc-memo { display: block; margin-top: 8px; }
.raacc-memo > span { display: block; font-size: 12px; font-weight: 700; color: var(--ink-2); margin-bottom: 2px; }
.raacc-memo-in { display: block; width: 100%; min-height: 44px; padding: 0 10px; border: 1px solid var(--line-strong); border-radius: 8px; font: inherit; font-size: 16px; background: #fff; color: var(--ink); }
.raacc-memo-ro { margin: 8px 0 0; font-size: 13px; color: var(--ink-2); overflow-wrap: anywhere; }
.raacc-err { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }

/* ---- [기존 문서 연결] 팝업 ---- */
.raacc-lt { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0; }
.raacc-lt button { min-height: 44px; padding: 0 14px; border: 1px solid var(--line-strong); border-radius: 999px; background: #fff; font: inherit; font-size: 13.5px; font-weight: 700; cursor: pointer; }
.raacc-lt button[aria-selected="true"] { background: var(--mint-tint); border-color: var(--mint); color: var(--mint-ink); }
.raacc-lq, .hs-modalwrap input.raacc-lq[type="search"] { display: block; width: 100%; min-height: 44px; padding: 0 12px; border: 1px solid var(--line-strong); border-radius: 10px; font: inherit; font-size: 16px; background: #fff; color: var(--ink); }
.raacc-all { display: flex; align-items: center; gap: 8px; min-height: 44px; font-size: 13.5px; font-weight: 600; cursor: pointer; }
.raacc-all input[type="checkbox"] { appearance: auto; -webkit-appearance: checkbox; flex: 0 0 18px; width: 18px; height: 18px; margin: 0; accent-color: var(--mint); cursor: pointer; }
.raacc-all i { font-style: normal; font-weight: 400; color: var(--ink-2); font-size: 12.5px; }
.raacc-hintline { margin: 0 0 6px; }
.raacc-sg { display: inline-block; margin-left: 6px; padding: 0 7px; border-radius: 999px; border: 1px solid var(--mint); background: var(--mint-tint); color: var(--mint-ink); font-size: 11px; font-style: normal; font-weight: 700; white-space: nowrap; }
.raacc-sl { list-style: none; margin: 8px 0; padding: 0; border: 1px solid var(--line); border-radius: var(--radius); }
.raacc-sr { display: flex; align-items: center; gap: 10px; padding: 9px 10px; border-bottom: 1px solid var(--line); }
.raacc-sr:last-child { border-bottom: 0; }
.raacc-sr-i { flex: 1 1 auto; min-width: 0; }
.raacc-sr-i b { display: block; font-size: 14px; overflow-wrap: anywhere; }
.raacc-sr-i span { display: block; font-size: 12px; color: var(--ink-2); overflow-wrap: anywhere; }
.raacc-sr .btn { flex: 0 0 auto; min-width: 64px; }

/* ---- 모바일 ---- */
@media (max-width: 640px) {
  .raacc-grid { display: none; grid-template-columns: repeat(3, minmax(0, 1fr)); flex: 1 1 100%; }
  .raacc-strip.is-open .raacc-grid { display: grid; }
  .raacc-tail { display: none; }
  .raacc-tgl { display: flex; align-items: center; gap: 8px; width: 100%; min-height: 44px; padding: 0 4px; border: 0; background: transparent; font: inherit; font-size: 14px; text-align: left; color: var(--ink); cursor: pointer; -webkit-tap-highlight-color: transparent; }
  .raacc-tgl-t { flex: 1 1 auto; font-weight: 700; }
  .raacc-chev { font-style: normal; color: var(--ink-2); transition: transform .15s; }
  .raacc-strip.is-open .raacc-chev { transform: rotate(180deg); }
  .btn.raacc-fq { flex: 1 1 100%; min-height: 44px; }   /* .btn-sm(theme-apple min-height 36px)보다 특이도를 높여 터치 44px */
  .raacc-rd { min-height: 44px; }
  .raacc-item .btn, .raacc-sumhead .btn, .raacc-start .btn { min-height: 44px; }
  .raacc-sr .btn { min-height: 44px; }
  .raacc-pbtn { flex: 1 1 100%; }
}

/* ---- 인쇄: 사고 대응자료 현황 1쪽 (SHS.hs.print 의 #hsPrintHost 안에서만) ---- */
#hsPrintHost .raacc-pg { font-family: 'Malgun Gothic', '맑은 고딕', sans-serif; font-size: 9pt; color: #000; }
#hsPrintHost .raacc-p-wait { padding: 40px 0; text-align: center; font-size: 12pt; color: #555; }
#hsPrintHost .raacc-p-h { margin: 0 0 3mm; text-align: center; font-size: 17pt; font-weight: 800; letter-spacing: .04em; }
#hsPrintHost .raacc-p-sub { margin: 0 0 4mm; text-align: center; font-size: 9pt; color: #333; }
#hsPrintHost .raacc-p-info th { width: 14%; background: #eee; font-weight: 700; text-align: center; font-size: 9pt; }
#hsPrintHost .raacc-p-info td { font-size: 9.5pt; }
#hsPrintHost .raacc-p-rd { margin: 3mm 0; display: flex; justify-content: space-between; gap: 4mm; align-items: baseline; font-size: 10pt; }
#hsPrintHost .raacc-p-rd b { font-size: 11pt; }
#hsPrintHost .raacc-p-tb th { background: #eee; font-weight: 700; text-align: center; font-size: 9pt; }
#hsPrintHost .raacc-p-tb td { font-size: 9pt; vertical-align: middle; }
#hsPrintHost .raacc-p-tb td.c { text-align: center; }
#hsPrintHost .raacc-p-tb td small { display: block; font-size: 7.5pt; color: #444; }
#hsPrintHost .raacc-p-st { font-weight: 800; white-space: nowrap; }
#hsPrintHost .raacc-p-foot { margin-top: 4mm; font-size: 8pt; line-height: 1.5; color: #222; }
#hsPrintHost .raacc-p-pg { margin-top: 2mm; text-align: right; font-size: 8pt; color: #333; }
