/* =============================================================================
   Apple 공통 테마 — 업무별 겉모양: 현장관리 (2026-10-05)
   - theme-apple.css(토큰·공통 부품·인쇄 미리보기 보호) 다음에 읽는다. 화면 전용(@media screen) — 인쇄·PDF·법정서식 영향 없음.
   - 안전점검·일일점검·안전작업허가서·TBM·화재예방. 출력 문서(.wp-doc·#printDoc·.dinsp-print·.ff-sheet·#fireSheet·.tbm-print-wrap)는 손대지 않음.
   ========================================================================== */
@media screen {

/* ── A-1 안전점검 목록(.ins) — 업무 전용 변수를 Apple 토큰으로 바꾸고 머리·카드·필터만 정돈(조치상태 의미색 --st-* 유지) ── */
body.ins-page{background:var(--ap-parch);}
.ins{--i-line:var(--line);--i-line-2:var(--ap-hair);--i-soft:var(--ap-parch);--i-sep:var(--ap-divider);
  --i-ink:var(--ap-ink);--i-ink-2:var(--ap-ink-80);--i-ink-3:var(--ap-ink-60);--i-ink-4:#aeaeb2;
  --i-accent:var(--ap-blue);--i-accent-strong:#0058b0;--i-accent-tint:var(--mint-tint);--i-accent-line:#cfe1fb;
  --i-r:var(--ap-r-lg);--i-shadow:none;--i-shadow-hi:0 4px 18px rgba(0,0,0,.06);}
.ins-head{margin:6px 0 20px;}
.ins-eyebrow{font-size:12px;font-weight:600;letter-spacing:.06em;color:var(--ap-ink-60);margin-bottom:6px;}
.ins-title{font-size:28px;font-weight:600;letter-spacing:-.015em;}
.ins-sub{margin-top:6px;font-size:15px;color:var(--ap-ink-60);}
.ins-btn{border-radius:var(--ap-pill);font-weight:600;padding:0 18px;}
.ins-btn-sm{padding:0 14px;}
.ins-btn:focus-visible,.ins-kpi:focus-visible,.ins-chip:focus-visible,.ins-card:focus-visible,.ins-act-chip:focus-visible,.ins-act-reset:focus-visible,button.ic-ph-f:focus-visible{outline-color:var(--ap-blue-focus);}
.ins-kpi{padding:16px 18px 15px;}
.ins-kpi.on{box-shadow:inset 0 0 0 1px var(--k);}
.ins-kpi.on::after{height:2px;}
.ik-ic{border-radius:50%;}
.ik-label{font-weight:600;}
.ik-val{font-weight:600;}
.ik-val small,.ik-sub .warn{font-weight:600;}
.ins-filter{padding:16px 18px 10px;}
.ins-search input{border-radius:var(--ap-r-md);background:var(--ap-parch);border-color:transparent;}
.ins-search input:focus{border-color:var(--ap-blue-focus);box-shadow:0 0 0 3px rgba(0,113,227,.18);}
.ins-fl{font-weight:600;}
.ins-chip{border-color:var(--ap-hair);color:var(--ap-ink);}
.ins-chip:hover{border-color:var(--line-strong);background:var(--ap-parch);}
.ins-n{background:var(--ap-parch);color:var(--ap-ink-60);font-weight:600;}
.ins-fixed-fac{background:var(--mint-tint);border-color:#cfe1fb;color:var(--ap-blue);font-weight:600;}
.ins-nofac{border-radius:var(--ap-r-md);}
.ins-cnt b{font-weight:600;}
.ins-act-chip{border-radius:var(--ap-pill);color:var(--ap-blue);font-weight:600;}
.ins-act-chip .k{color:var(--ap-ink-60);}
.ins-act-chip .x{border-radius:50%;color:var(--ap-blue);}
.ins-act-reset{font-weight:600;color:var(--ap-blue);}
.ins-card{padding:18px 20px 14px;}
.ins-card::before{width:0;}                                  /* 두꺼운 색 왼쪽 띠 없앰 — 조치상태는 배지로 표시 */
.ins-badge,.ic-flag,.ins-card .chip{font-weight:600;}
.ic-tag{border-radius:var(--ap-pill);padding:0 9px;background:var(--ap-parch);color:var(--ap-ink-60);}
.ic-tag.t-fac{background:var(--ap-parch);color:var(--ap-ink-80);}
.ic-tag.t-grp{background:var(--mint-tint);color:var(--ap-blue);}
.ic-title{font-weight:600;}
.ic-meta{border-radius:var(--ap-r-md);}
.ic-mi dd{font-weight:400;}
.ic-mi.is-over dd{font-weight:600;}
.ic-ph-f{border-radius:var(--ap-r-md);background:var(--ap-parch);}
.ic-ph figcaption,.ic-photos b{font-weight:600;}
.ins-card .card-convert-btn{border-radius:var(--ap-pill);padding:5px 13px;font-weight:600;border-color:var(--ap-hair);}
.ins-card .card-convert-btn:hover{background:var(--ap-parch);border-color:var(--line-strong);color:var(--ap-ink);}
.ins-empty{border-color:var(--ap-hair);}
.ins-empty-ic{border-radius:50%;}
.ins-empty h3{font-weight:600;}
.ins-skel-num,.ins-skel-chip{background:var(--ap-divider);}
@media (max-width:640px){
  .ins-title{font-size:22px;}
  .ins-kpi{border-radius:var(--ap-r-md);padding:10px 2px 9px;}
  .ins-filter{border-radius:var(--ap-r-lg);padding:12px 12px 6px;}
  .ins-card{border-radius:var(--ap-r-lg);padding:14px 16px 12px;}
}
/* 안전점검 상세·등록 보조(사진 등록 줄 · 개선제안 등록예정 상자) */
.insp-plan-box{border-radius:var(--ap-r-md);border-color:#cfe1fb;}
.insp-ap .err{font-weight:600;}

/* ── A-1b 일일점검 일지(화면 표만 — 출력 .dinsp-print 는 그대로) ── */
.panel:has(.di-safety-sel,.di-lng-sel,.di-env-sel) .wp-tablewrap{border:1px solid var(--line);border-radius:var(--ap-r-md);}
.panel:has(.di-safety-sel,.di-lng-sel,.di-env-sel) .wp-table{min-width:520px;}
.panel:has(.di-safety-sel,.di-lng-sel,.di-env-sel) .wp-table th,.panel:has(.di-safety-sel,.di-lng-sel,.di-env-sel) .wp-table td{border:0;border-bottom:1px solid var(--ap-divider);border-left:1px solid var(--ap-divider);padding:8px 10px;}
.panel:has(.di-safety-sel,.di-lng-sel,.di-env-sel) .wp-table tr>:first-child{border-left:0;}
.panel:has(.di-safety-sel,.di-lng-sel,.di-env-sel) .wp-table tr:last-child>*,.panel:has(.di-safety-sel,.di-lng-sel,.di-env-sel) .wp-table td[rowspan]{border-bottom:0;}
.panel:has(.di-safety-sel,.di-lng-sel,.di-env-sel) .wp-table th{background:var(--ap-parch);color:var(--ap-ink-60);font-size:13px;font-weight:600;}
.panel:has(.di-safety-sel,.di-lng-sel,.di-env-sel) .wp-table select{min-height:32px;border:1px solid var(--ap-hair);border-radius:var(--ap-r-sm);padding:2px 6px;background:#fff;}

/* ── A-2 안전작업허가서(wp-*) 목록·상세·작성 마법사·서명 현황 — 출력 문서(.wp-doc/#printDoc/.wp-sec)는 손대지 않음 ── */
.wp-topbar{gap:10px;margin-bottom:14px;}
.wp-topbar>div:first-child>b:first-child{font-size:24px;font-weight:600;letter-spacing:-.015em;margin-right:4px;}
.wp-datefilter{border-radius:var(--ap-r-lg);padding:14px 16px;gap:10px;}
.wp-datefilter-range input[type=date]{border:1px solid var(--ap-hair);border-radius:var(--ap-r-md);padding:6px 10px;background:#fff;}
.wp-datefilter-range input[type=date]:focus{outline:none;border-color:var(--ap-blue-focus);box-shadow:0 0 0 3px rgba(0,113,227,.18);}
.wp-list{gap:12px;}
.wp-card{border-radius:var(--ap-r-lg);padding:16px 18px;transition:border-color .15s,background-color .15s;}
@media (hover:hover){ .wp-card:hover{border-color:var(--line-strong);background:#fcfcfd;} }
.wp-card-cur{border-color:var(--ap-blue);box-shadow:inset 0 0 0 1px var(--ap-blue);}
.wp-no{font-weight:600;color:var(--ap-ink-60);}
.wp-card-t{font-size:16px;font-weight:600;letter-spacing:-.01em;}
.wp-badge{padding:2px 10px;font-weight:600;border-color:transparent;}
.wp-badge.s-draft,.wp-badge.s-sent,.wp-badge.s-cancelled{background:var(--ap-parch);}
.wp-badge.s-closed{background:var(--red-tint);color:var(--red-ink);}   /* 2026-10-16: 종료완료 = Red (기존 danger 색 var(--red-tint)/var(--red-ink) 재사용) */
.wp-card-del{border-width:1px;border-radius:var(--ap-r-lg);font-weight:600;}
.wp-kv{border-bottom:1px solid var(--ap-divider);padding:8px 0;}
.wp-kv span{color:var(--ap-ink-60);}
.wp-kv b{font-weight:600;}
.wp-sigs{gap:12px;}
.wp-sig{border-radius:var(--ap-r-md);padding:10px;}
.wp-sig-r{font-weight:600;}
.wp-sig img{border-radius:var(--ap-r-sm);border-color:var(--ap-divider);}
.wp-sig-turn{font-weight:600;}
.wp-steps{gap:6px;padding:4px;border-radius:var(--ap-r-lg);background:#e8e8ed;}
.wp-stepbtn{border:0;border-radius:var(--ap-r-md);background:transparent;color:var(--ap-ink-60);font-weight:600;padding:9px 8px;}
.wp-stepbtn.on{background:var(--ap-blue);border:0;font-weight:600;}
.wp-sub{border-radius:var(--ap-r-md);padding:12px 14px;}
.wp-sub h4{font-weight:600;}
.wp-review{border-radius:var(--ap-r-md);}
.wp-opt:has(input:checked) .wp-opt-t{font-weight:600;}
.wp-m,.wp-yn{border-bottom-color:var(--ap-divider);}
.wp-mc-h{border-left:0;padding-left:0;color:var(--ap-ink);font-weight:600;}
.wp-hist-row,.wp-mc-row,.wp-ji-row,.wp-attfile,.wp-attrow,.wp-attrev,.wp-linkrow,.wp-setrow,.wp-np-row{border-bottom-style:solid;border-bottom-color:var(--ap-divider);}
.wp-mc-list,.wp-ji-list{border-radius:var(--ap-r-md);}
.wp-trash-row{border-radius:var(--ap-r-lg);}
.wp-pwarn{border-radius:var(--ap-r-md);font-weight:600;}
.wp-pre{border-radius:var(--ap-r-md);border-color:var(--ap-divider);}
.wp-canvas,.wp-sg-pad{border-radius:var(--ap-r-md);}
.wp-owner-opt:hover{background:var(--ap-parch);}
@media (max-width:640px){ .wp-topbar>div:first-child>b:first-child{font-size:20px;} .wp-card{padding:14px 15px;} }

/* ── A-3 TBM(.tbm-wrap 안의 radhoc-* 공용 부품 + tbm-*) — 참석/서명 구조 그대로 ── */
.tbm-wrap .radhoc-h2{font-size:28px;font-weight:600;letter-spacing:-.015em;margin:6px 0 18px;}
.tbm-wrap .radhoc-filter{gap:10px;align-items:center;}
.tbm-wrap .radhoc-filter select,.tbm-wrap .radhoc-filter input:not([type=checkbox]):not([type=radio]),.tbm-combo-input,.tbm-wrap .radhoc-row-f input,.tbm-wrap .radhoc-row-f textarea,.tbm-precheck-row input[type=text],.tbm-work-in,.tbm-sup-q{border-color:var(--ap-hair);border-radius:var(--ap-r-md);background:#fff;transition:border-color .15s,box-shadow .15s;}
.tbm-wrap .radhoc-filter select:focus,.tbm-wrap .radhoc-filter input:not([type=checkbox]):not([type=radio]):focus,.tbm-combo-input:focus,.tbm-wrap .radhoc-row-f input:focus,.tbm-wrap .radhoc-row-f textarea:focus,.tbm-precheck-row input[type=text]:focus,.tbm-work-in:focus,.tbm-sup-q:focus,.tbm-att-modal .staff-combo-input:focus{outline:none;border-color:var(--ap-blue-focus);box-shadow:0 0 0 3px rgba(0,113,227,.18);}
.tbm-combo-list{border-color:var(--ap-hair);border-radius:var(--ap-r-md);box-shadow:0 10px 30px rgba(0,0,0,.10);}
.tbm-combo-item{border-bottom-color:var(--ap-divider);}
.tbm-combo-item:hover,.tbm-combo-item:active{background:var(--ap-parch);}
.tbm-wrap .radhoc-list{gap:10px;}
.tbm-wrap .radhoc-list-row{border-radius:var(--ap-r-lg);padding:14px 18px;transition:border-color .15s,background-color .15s;}
@media (hover:hover){ .tbm-row>.radhoc-list-row:hover{border-color:var(--line-strong);background:#fcfcfd;} }
.tbm-wrap .rlr-top b{font-weight:600;}
.tbm-check,.tbm-wrap .radhoc-inline-check{font-weight:400;}
.tbm-wrap .radhoc-sec{border-radius:var(--ap-r-lg);padding:20px 22px;margin-bottom:16px;}
.tbm-wrap .radhoc-sec>h3{font-size:17px;font-weight:600;letter-spacing:-.01em;margin-bottom:14px;}
.tbm-wrap .radhoc-subh{font-weight:600;color:var(--ap-ink-60);}
.tbm-wrap .radhoc-row{border-radius:var(--ap-r-md);background:var(--ap-parch);border-color:transparent;}
.tbm-wrap .radhoc-row-f label,.tbm-precheck-hd{font-weight:600;color:var(--ap-ink-60);}
.tbm-precheck-row{border-bottom:1px solid var(--ap-divider);}
.tbm-pledge{border-radius:var(--ap-r-md);border-color:#cfe1fb;color:var(--ap-blue);font-weight:600;}
.tbm-att-row{border-radius:var(--ap-r-lg);background:#fff;padding:12px 14px;}
.tbm-att-list .rlr-top b{font-weight:600;}
.tbm-att-type{font-weight:600;border-color:var(--ap-hair);}
.tbm-wrap .radhoc-badge{font-weight:600;}
.tbm-att-noti{font-weight:400;}
.tbm-seg{gap:2px;padding:3px;border:0;border-radius:var(--ap-pill);background:#e8e8ed;}
.tbm-seg button{min-height:38px;border-radius:var(--ap-pill);background:transparent;color:var(--ap-ink-60);font-weight:600;}
.tbm-seg button+button{border-left:0;}
.tbm-seg button.on{background:#fff;color:var(--ap-ink);box-shadow:0 1px 3px rgba(0,0,0,.12);}
.tbm-att-modal .staff-combo-input{border-color:var(--ap-hair);}
.tbm-chip{font-weight:600;}
.tbm-sup{border-radius:var(--ap-r-lg);padding:12px 14px;}
.tbm-sup-info{border-radius:var(--ap-r-sm);color:var(--ap-blue);}
.tbm-sup-ul{border-radius:var(--ap-r-md);}
.tbm-sup-ul li{border-bottom-color:var(--ap-divider);}
.tbm-sup-total b{color:var(--ap-blue);font-weight:600;}
.tbm-sup-in,.tbm-sup-warn{font-weight:600;}
.tbm-step-pick,.tbm-legacy-preedu{border-radius:var(--ap-r-md);}
.tbm-attend .radhoc-sec{border-radius:var(--ap-r-lg);}
@media (max-width:640px){ .tbm-wrap .radhoc-h2{font-size:22px;margin:2px 0 12px;} .tbm-wrap .radhoc-sec{padding:16px;} .tbm-wrap .radhoc-list-row{padding:12px 14px;} }

/* ── A-4 화재예방시스템(.fire-*) — 탭은 파란 밑줄, 표 머리줄 옅은 회색. 법정서식(.ff-sheet/#fireSheet)·인쇄 규칙은 그대로 ── */
.fire-head{gap:14px;margin:6px 0 16px;}
.fire-head-ico{background:var(--ap-parch);}
.fire-head-t h2{font-size:28px;font-weight:600;letter-spacing:-.015em;}
.fire-head-t p{margin-top:4px;font-size:15px;color:var(--ap-ink-60);}
.fire-fac-chip{background:var(--ap-parch);color:var(--ap-ink-60);font-weight:600;}
.fire-tabs{gap:2px;padding:0;margin-bottom:20px;border-bottom:1px solid var(--line);}
.fire-tab{min-height:46px;padding:6px 14px;border:0;border-radius:0;background:transparent;color:var(--ap-ink-60);font-weight:600;}
.fire-tab.on{background:transparent;color:var(--ap-ink);box-shadow:inset 0 -2px 0 var(--ap-blue-focus);}
@media (hover:hover){ .fire-tab:not(.on):hover{background:transparent;color:var(--ap-ink);} }
.fire-tab:focus-visible{outline-offset:-2px;}
.fire-empty{border-color:var(--ap-hair);border-radius:var(--ap-r-lg);}
.fire-empty-t{font-weight:600;}
.fire-badge{border-radius:var(--ap-pill);padding:1px 10px;font-weight:600;}
.fire-cards{gap:16px;}
.fire-card{border-radius:var(--ap-r-lg);}
.fire-card-h{background:#fff;border-bottom-color:var(--ap-divider);padding:14px 16px 12px;}
.fire-card-h h3{font-weight:600;letter-spacing:-.01em;}
.fire-card-b{padding:14px 16px;}
.fire-card-f{padding:10px 16px 16px;}
.fire-grade,.fire-person-name,.fire-big b,.fire-big span,.fire-unreg b,.fire-people b,.fire-recent-t,.fire-tel,.fire-people-edu{font-weight:600;}
.fire-people li,.fire-recent li,.fire-ins-row,.fire-ins-hr,.fire-repeat li,.fire-audit li{border-top-color:var(--ap-divider);}
.fire-dl dt{font-weight:600;color:var(--ap-ink-60);}
.fire-ins-note{border-radius:var(--ap-r-md);}
.fire-seg{gap:2px;padding:3px;border:0;border-radius:var(--ap-pill);background:#e8e8ed;}
.fire-seg button{min-height:40px;padding:6px 20px;border:0;border-radius:var(--ap-pill);color:var(--ap-ink-60);font-weight:600;}
.fire-seg button.on{background:#fff;color:var(--ap-ink);box-shadow:0 1px 3px rgba(0,0,0,.12);}
.fire-org-top h3{font-weight:600;}
.fire-org-view,.fire-org-pdf{border-radius:var(--ap-r-md);}
.fire-filters{border:0;border-radius:var(--ap-r-lg);padding:14px 16px;background:var(--ap-parch);}
.fire-f label{font-weight:600;color:var(--ap-ink-60);}
.fire-wrap .fire-f select,.fire-wrap .fire-f input[type="date"],.fire-wrap .fire-f input[type="search"],.fire-wrap .fire-monthnav select{border-color:var(--ap-hair);border-radius:var(--ap-r-md);background-color:#fff;}
.fire-wrap .fire-f select:focus,.fire-wrap .fire-f input:focus,.fire-wrap .fire-monthnav select:focus{outline:none;border-color:var(--ap-blue-focus);box-shadow:0 0 0 3px rgba(0,113,227,.18);}
.fire-count b{font-weight:600;}
.fire-duty-ttl h3{font-weight:600;letter-spacing:-.01em;}
.fire-ib{border-color:var(--ap-hair);border-radius:50%;}
.fire-tr{border-bottom-color:var(--ap-divider);}
.fire-th{font-size:13px;font-weight:600;color:var(--ap-ink-60);background:var(--ap-parch);}
@media (hover:hover){ a.fire-tr:hover{background:var(--ap-parch);} }
.fire-tt{font-weight:600;}
.fire-c-thumb img,.fire-nophoto{border-radius:var(--ap-r-sm);}
@media (min-width:821px){
  .fire-table{border:1px solid var(--line);border-radius:var(--ap-r-md);overflow:hidden;}
  .fire-table>.fire-tr:last-child{border-bottom:0;}
}
@media (max-width:820px){ .fire-tr{border-radius:var(--ap-r-lg);border-color:var(--line);padding:14px;} }
.fire-pager button{border-color:var(--ap-hair);border-radius:var(--ap-pill);font-weight:600;}
.fire-pager button.on{background:var(--ap-blue);border-color:var(--ap-blue);color:#fff;}
.fire-d{border-radius:var(--ap-r-lg);padding:22px 24px;}
.fire-d-title{font-size:26px;font-weight:600;letter-spacing:-.015em;}
.fire-sec{border-top-color:var(--ap-divider);}
.fire-sec h3,.fire-sub-h,.fire-panel h3,.fire-form-head h2,.fire-item h4,.fire-shift h4{font-weight:600;}
.fire-text{border-radius:var(--ap-r-md);background:var(--ap-parch);}
.fire-chip{font-weight:600;}
.fire-ph{border-color:var(--line);border-radius:var(--ap-r-md);}
.fire-audit{border-radius:var(--ap-r-lg);}
.fire-audit summary{font-weight:600;}
.fire-rad span{font-weight:600;border-color:var(--ap-hair);}
.fire-pick-st{font-weight:600;}
.fire-assist,.fire-item,.fire-shift{border-radius:var(--ap-r-lg);}
.fire-duty-sum{border-radius:var(--ap-r-md);border-color:transparent;background:var(--ap-parch);}
.fire-fixed{border-radius:var(--ap-r-md);font-weight:600;}
@media (max-width:820px){ .fire-head-t h2{font-size:22px;} .fire-d{padding:16px;} .fire-d-title{font-size:21px;} }

}
