/* IWP Facility — 직업시설안내 */
.iwpf{--iwpf-primary:#1f6fd6;--iwpf-line:#dfe3e8;--iwpf-text:#222;--iwpf-sub:#555;--iwpf-bg:#f5f7fa;
color:var(--iwpf-text);font-size:18px;line-height:1.5}
.iwpf *,.iwpf-modal *{box-sizing:border-box}
.iwpf,.iwpf *,.iwpf-modal,.iwpf-modal *{font-family:'Pretendard Variable',Pretendard,-apple-system,BlinkMacSystemFont,system-ui,'Apple SD Gothic Neo','Malgun Gothic',sans-serif!important;letter-spacing:-0.01em}
.iwpf button,.iwpf-modal button{font-family:inherit;cursor:pointer}
.iwpf.iwpf button,.iwpf-modal.iwpf-modal button{text-transform:none;text-decoration:none;text-shadow:none;box-shadow:none;line-height:1.2;min-width:0;min-height:0;width:auto;margin:0;letter-spacing:-0.01em;font-style:normal}
.iwpf [hidden],.iwpf-modal[hidden],.iwpf-modal [hidden]{display:none!important}
/* 상단 필터 패널 */
.iwpf-filter{border:1px solid #d9dde3;border-radius:10px;background:#fff;margin-bottom:18px;overflow:hidden}
.iwpf-frow{display:flex;align-items:stretch}
.iwpf-frow+.iwpf-frow{border-top:1px solid #e8ebef}
.iwpf-flabel{flex:0 0 128px;display:flex;align-items:center;padding:0 22px;background:#f6f7f9;border-right:1px solid #e8ebef;font-size:17px;font-weight:700;color:#3a4250}
.iwpf-fopts{flex:1;display:flex;flex-wrap:wrap;gap:6px 4px;padding:14px 18px}
.iwpf.iwpf button.iwpf-type,.iwpf.iwpf button.iwpf-region{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 16px;border:1px solid transparent;border-radius:999px;background:none;font-size:17px;font-weight:500;color:#3a4250;transition:background-color .15s,color .15s}
.iwpf.iwpf button.iwpf-type:not(.is-active):hover,.iwpf.iwpf button.iwpf-region:not(.is-active):not(:disabled):hover{background:#f0f3f7;color:#111}
.iwpf.iwpf button.iwpf-type.is-active{background:var(--iwpf-primary);color:#fff;font-weight:700}
.iwpf.iwpf button.iwpf-region.is-active{background:#e8f0fc;background:color-mix(in srgb,var(--iwpf-primary) 12%,#fff);border-color:var(--iwpf-primary);color:var(--iwpf-primary);font-weight:700}
.iwpf.iwpf button.iwpf-region:disabled{color:#c3c8cf;cursor:default}
.iwpf-n{font-size:14px;font-weight:600;color:#8b93a0;font-variant-numeric:tabular-nums}
.iwpf.iwpf button.iwpf-type.is-active .iwpf-n{color:rgba(255,255,255,.8)}
.iwpf-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#7a8594}
.iwpf.iwpf button.iwpf-type.is-active .iwpf-dot{box-shadow:0 0 0 2px #fff}
.iwpf button:focus-visible,.iwpf-modal button:focus-visible{outline:3px solid var(--iwpf-primary);outline-offset:2px}
.iwpf-rsel-wrap{display:none}
.iwpf-count{margin:0 0 10px 2px;font-size:16px;color:#5a6270}
.iwpf-count b{color:var(--iwpf-primary);font-weight:700}
/* 표 */
.iwpf-table{width:100%;border-collapse:collapse;border-top:2px solid #333;table-layout:fixed;font-size:18px}
.iwpf-table th,.iwpf-table td{border-left:0;border-right:0}
.iwpf-table th{white-space:nowrap;vertical-align:middle;background:var(--iwpf-bg);font-weight:600;padding:14px 10px;border-bottom:1px solid #cfd5dc;text-align:center;font-size:18px}
.iwpf-table td{padding:15px 10px;border-bottom:1px solid var(--iwpf-line);vertical-align:middle;word-break:keep-all;overflow-wrap:anywhere}
.iwpf-table .c-no{width:64px;text-align:center;color:#777}
.iwpf-table .c-region{width:92px;text-align:center}
.iwpf-table .c-type{width:100px;text-align:center}
.iwpf-table .c-name strong{font-weight:600}
.iwpf-table .c-addr{color:#333}
.iwpf-table .c-tel{width:160px;text-align:center;white-space:nowrap}
.iwpf-table .c-work{color:#333}
.iwpf-table .c-mng{width:150px;text-align:center;white-space:nowrap}
.iwpf-table tbody tr:hover{background:#fafbfd}
.iwpf.iwpf .iwpf-table a{color:inherit;text-decoration:none}
.iwpf.iwpf .iwpf-table a:hover{color:var(--iwpf-primary);text-decoration:underline}
.iwpf-empty{padding:60px 0;text-align:center;color:#888;border-bottom:1px solid var(--iwpf-line);margin:0}
/* 페이지네이션 */
.iwpf-pager{display:flex;justify-content:center;align-items:center;gap:4px;margin-top:28px}
.iwpf.iwpf .iwpf-pager button.iwpf-pg{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 8px;border:1px solid transparent;border-radius:8px;background:none;color:#3a4250;font-size:16px;font-weight:500;font-variant-numeric:tabular-nums}
.iwpf.iwpf .iwpf-pager button.iwpf-pg:not(.is-active):not(:disabled):hover{background:#f0f3f7;color:#111}
.iwpf.iwpf .iwpf-pager button.iwpf-pg.is-active{background:var(--iwpf-primary);color:#fff;font-weight:700;cursor:default}
.iwpf.iwpf .iwpf-pager button.iwpf-pg.is-arrow{font-size:20px;color:#6b7380;border-color:#e2e5e9}
.iwpf.iwpf .iwpf-pager button.iwpf-pg:disabled{opacity:.35;cursor:default}

/* 시설유형 배지 */
.iwpf-badge{display:inline-block;min-width:60px;padding:4px 14px;border-radius:999px;font-size:15px;font-weight:600;line-height:1.35;color:#fff;text-align:center;white-space:nowrap;background:#7a8594}
.iwpf-badge.is-green,.iwpf-dot.is-green{background:#6f9a12}
.iwpf-badge.is-orange,.iwpf-dot.is-orange{background:#f26a1b}
.iwpf-badge.is-blue,.iwpf-dot.is-blue{background:#2e6bd9}
.iwpf-badge.is-purple,.iwpf-dot.is-purple{background:#7a4fc9}
.iwpf-badge.is-teal,.iwpf-dot.is-teal{background:#12908a}
.iwpf-badge.is-navy,.iwpf-dot.is-navy{background:#2d3f6b}
.iwpf-badge.is-pink,.iwpf-dot.is-pink{background:#d44a86}
.iwpf-badge.is-brown,.iwpf-dot.is-brown{background:#8a5a2e}
.iwpf-badge.is-gray,.iwpf-dot.is-gray{background:#6b7480}
.iwpf-badge-m{display:none}
/* 관리 모드 */
.iwpf-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 18px;margin-bottom:24px;background:#fff8e6;border:1px solid #f0d58a;border-radius:6px}
.iwpf-toolbar-label{font-size:18px;font-weight:700;color:#8a6200;margin-right:auto}
.iwpf.iwpf button.iwpf-btn,.iwpf-modal.iwpf-modal button.iwpf-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 24px;border:1px solid #bfc6cf;border-radius:6px;background:#fff;color:#222;font-size:18px;font-weight:600}
.iwpf.iwpf button.iwpf-btn:hover,.iwpf-modal.iwpf-modal button.iwpf-btn:hover{border-color:#888}
.iwpf.iwpf button.iwpf-btn.is-primary,.iwpf-modal.iwpf-modal button.iwpf-btn.is-primary{background:var(--iwpf-primary,#1f6fd6);border-color:var(--iwpf-primary,#1f6fd6);color:#fff}
.iwpf.iwpf button.iwpf-btn.is-primary:hover,.iwpf-modal.iwpf-modal button.iwpf-btn.is-primary:hover{filter:brightness(.93)}
.iwpf.iwpf button.iwpf-sbtn{min-height:38px;padding:0 14px;margin:2px;border:1px solid #bfc6cf;border-radius:5px;background:#fff;color:#222;font-size:16px;font-weight:600}
.iwpf.iwpf button.iwpf-sbtn:hover{border-color:var(--iwpf-primary);color:var(--iwpf-primary)}
.iwpf.iwpf button.iwpf-sbtn.is-del{border-color:#e2a5a5;color:#c62828}
.iwpf.iwpf button.iwpf-sbtn.is-del:hover{background:#c62828;border-color:#c62828;color:#fff}
.iwpf.iwpf button.iwpf-btn:disabled,.iwpf-modal.iwpf-modal button.iwpf-btn:disabled,.iwpf.iwpf button.iwpf-sbtn:disabled{opacity:.5;cursor:wait}
/* 모달 */
html.iwpf-lock{overflow:hidden}
.iwpf-modal{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(20,25,35,.55);
color:#222;font-size:18px;line-height:1.5}
.iwpf-modal-box{width:100%;max-width:680px;max-height:calc(100vh - 40px);overflow:auto;background:#fff;border-radius:10px;box-shadow:0 20px 50px rgba(0,0,0,.25)}
.iwpf-modal-box.is-wide{max-width:1100px}
.iwpf-modal-head{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;padding:20px 26px;background:#fff;border-bottom:1px solid #e3e6ea}
.iwpf-modal-head h3{margin:0;font-size:22px;font-weight:700}
.iwpf-modal.iwpf-modal button.iwpf-x{border:0;background:none;font-size:34px;line-height:1;color:#666;padding:0 6px}
.iwpf-modal.iwpf-modal .iwpf-form,.iwpf-imp-step1,.iwpf-imp-step2{padding:22px 26px}
.iwpf-modal.iwpf-modal .iwpf-form label{display:block;margin-bottom:16px;font-size:18px;font-weight:600;color:#333}
.iwpf-modal.iwpf-modal .iwpf-form input,.iwpf-modal.iwpf-modal .iwpf-form select,.iwpf-modal.iwpf-modal .iwpf-form textarea,.iwpf-modal.iwpf-modal input.iwpf-file{display:block;min-height:48px;width:100%;margin-top:6px;padding:12px 14px;border:1px solid #c3cad3;border-radius:6px;font-size:18px;font-weight:400;color:#222;background:#fff}
.iwpf-modal.iwpf-modal .iwpf-form input:focus,.iwpf-modal.iwpf-modal .iwpf-form select:focus,.iwpf-modal.iwpf-modal .iwpf-form textarea:focus{outline:2px solid var(--iwpf-primary,#1f6fd6);outline-offset:0;border-color:transparent}
.iwpf-f2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.iwpf-modal-foot{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}
.iwpf-help{margin:0 0 14px;font-size:18px;color:#555}
.iwpf-chips{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 14px}
.iwpf-chips span{padding:6px 14px;background:#f0f4fa;border:1px solid #d5deea;border-radius:6px;font-size:18px}
.iwpf-chips small{color:#777;font-size:15px}
.iwpf-imp-sum p{margin:0}
.iwpf-imp-warn{margin-bottom:14px;padding:12px 16px;background:#fff8e5;border-left:4px solid #dba617;font-size:15px}
.iwpf-modal.iwpf-modal .iwpf-imp-mode label{display:block;margin:8px 0;font-size:17px;cursor:pointer}
.iwpf-modal.iwpf-modal .iwpf-imp-mode input{width:20px;height:20px;vertical-align:-3px;margin-right:6px}
.iwpf-imp-table{margin-top:16px;max-height:40vh;overflow:auto;border:1px solid #e3e6ea}
.iwpf-imp-table table{width:100%;border-collapse:collapse;font-size:15px}
.iwpf-imp-table th{position:sticky;top:0;background:#f5f7fa;padding:8px;border-bottom:1px solid #d5dbe2;white-space:nowrap}
.iwpf-imp-table td{padding:7px 8px;border-bottom:1px solid #eef0f3}
.iwpf-imp-table em{color:#c62828;font-style:normal}

/* 태블릿 */
@media (max-width:1024px){.iwpf,.iwpf-table,.iwpf-table th{font-size:16px}
  .iwpf-table .c-no{width:60px}
  .iwpf-table .c-region{width:90px}
  .iwpf-table .c-type{width:96px}
  .iwpf-table .c-tel{width:150px}
  .iwpf-table .c-mng{width:140px}
  .iwpf-badge{min-width:52px;padding:3px 10px;font-size:15px}
  .iwpf.iwpf button.iwpf-sbtn{font-size:16px;padding:0 10px}
}

/* 모바일: 카드형 */
@media (max-width:767px){.iwpf{font-size:18px}
  /* 필터: 유형은 한 줄 스와이프,지역은 드롭다운 */
  .iwpf-filter{border-radius:8px}
  .iwpf-frow{align-items:center}
  .iwpf-flabel{flex:0 0 76px;align-self:stretch;justify-content:center;padding:0 6px;font-size:14px}
  .iwpf-fopts.iwpf-types{flex-wrap:nowrap;overflow-x:auto;gap:6px;padding:10px 12px;scroll-padding:0 12px;-webkit-overflow-scrolling:touch;scrollbar-width:none;
  -webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent)}
  .iwpf-fopts.iwpf-types::-webkit-scrollbar{display:none}
  .iwpf.iwpf button.iwpf-type{flex:0 0 auto;height:36px;padding:0 13px;font-size:15px;background:#f3f5f8}
  .iwpf.iwpf button.iwpf-type:last-child{margin-right:24px}
  .iwpf-regions{display:none}
  .iwpf-rsel-wrap{display:block;flex:1;padding:10px 12px}
  .iwpf.iwpf select.iwpf-rsel{display:block;width:100%;height:44px;padding:0 40px 0 14px;border:1px solid #cfd5dc;border-radius:8px;font-size:16px;color:#222;
  -webkit-appearance:none;appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%235a6270' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 14px center}
  .iwpf.iwpf select.iwpf-rsel:focus{outline:2px solid var(--iwpf-primary);outline-offset:0;border-color:transparent}
  .iwpf-count{margin-top:4px}
  .iwpf-pager{gap:2px;margin-top:20px}
  .iwpf.iwpf .iwpf-pager button.iwpf-pg{min-width:36px;height:36px;padding:0 6px;font-size:15px}
  .iwpf-toolbar{padding:12px}
  .iwpf-toolbar-label{width:100%;margin:0}
  .iwpf.iwpf button.iwpf-btn,.iwpf-modal.iwpf-modal button.iwpf-btn{flex:1;min-height:48px;padding:0 12px;font-size:18px}
  .iwpf-table,.iwpf-table tbody,.iwpf-table tr{display:block;width:100%}
  .iwpf-table thead{display:none}
  .iwpf-table tr{display:flex;flex-direction:column;padding:16px 4px;border-bottom:1px solid var(--iwpf-line)}
  .iwpf-table tr[hidden]{display:none!important}
  .iwpf-table td,.iwpf-table .c-region,.iwpf-table .c-name,.iwpf-table .c-addr,.iwpf-table .c-tel,.iwpf-table .c-work,.iwpf-table .c-mng{display:block;width:100%;border:0;padding:3px 0;text-align:left;white-space:normal;font-size:17px}
  .iwpf-table .c-no,.iwpf-table .c-type{display:none}
  .iwpf-table .c-name{order:-1;font-size:19px;margin-bottom:6px}
  .iwpf-badge-m{display:inline}
  .iwpf-badge-m .iwpf-badge{min-width:0;padding:2px 10px;margin-right:8px;font-size:14px;vertical-align:2px}
  .iwpf-table td[data-label]{display:flex;gap:10px}
  .iwpf-table td[data-label]::before{content:attr(data-label);flex:0 0 66px;color:#888;font-size:15px;padding-top:2px}
  .iwpf-table td[data-label]:empty{display:none}
  .iwpf-table .c-mng{display:flex;gap:6px;padding-top:10px}
  .iwpf.iwpf .iwpf-table .c-mng button.iwpf-sbtn{flex:1;margin:0;font-size:17px}
  .iwpf-table tbody tr:hover{background:none}
  .iwpf-modal{padding:0;align-items:flex-end}
  .iwpf-modal-box,.iwpf-modal-box.is-wide{max-height:92vh;border-radius:12px 12px 0 0}
  .iwpf-modal-head{padding:16px 18px}
  .iwpf-modal.iwpf-modal .iwpf-form,.iwpf-imp-step1,.iwpf-imp-step2{padding:18px}
  .iwpf-f2{grid-template-columns:1fr}
  .iwpf-f2 label{margin-bottom:16px}
}
