/*
 * field-intake-wizard.css — 태블릿/키오스크 확장모드 위저드 스타일.
 * 정본: docs/모바일-현장접수-정책.md §10
 *
 * 모든 selector 는 .fiw- 접두로 시작 → 기존 페이지 CSS와 충돌하지 않는다.
 */
.fiw-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
  display: none;
  z-index: 10000;
  align-items: center;
  justify-content: center;
  font-family: -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Pretendard", "맑은 고딕", sans-serif;
}
.fiw-overlay.fiw-visible { display: flex; }
.fiw-modal {
  background: #fff;
  border-radius: 16px;
  width: min(720px, 92vw);
  max-height: 90vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
}
.fiw-header {
  display: flex;
  align-items: center;
  padding: 18px 24px;
  border-bottom: 1px solid #ececec;
  gap: 12px;
}
.fiw-title { font-size: 22px; font-weight: 800; color: #1c2230; margin: 0; flex: 1; }
.fiw-progress { color: #0087FF; font-weight: 700; font-size: 14px; }
.fiw-close { background: transparent; border: 0; font-size: 22px; cursor: pointer; color: #777; padding: 4px 8px; }
.fiw-close:hover { color: #000; }
.fiw-body { padding: 24px; overflow-y: auto; flex: 1; }
.fiw-footer { display: flex; justify-content: space-between; gap: 12px; padding: 16px 24px; border-top: 1px solid #ececec; }
.fiw-btn {
  font-size: 18px;
  font-weight: 700;
  padding: 14px 28px;
  border-radius: 10px;
  border: 0;
  cursor: pointer;
}
.fiw-btn--primary { background: #0087FF; color: #fff; }
.fiw-btn--primary:hover { background: #006fd6; }
.fiw-btn--primary:disabled { background: #b3d9ff; cursor: not-allowed; }
.fiw-btn--secondary { background: #ececec; color: #333; }
.fiw-btn--secondary:hover { background: #ddd; }
.fiw-label { display: block; font-size: 14px; font-weight: 700; color: #555; margin: 14px 0 6px; }
.fiw-input {
  width: 100%;
  font-size: 22px;
  padding: 14px 16px;
  border: 2px solid #d0d6dc;
  border-radius: 10px;
  outline: none;
  background: #fff;
  box-sizing: border-box;
}
.fiw-input:focus { border-color: #0087FF; }
.fiw-input--short { width: 200px; flex: 0 0 auto; }
.fiw-row { display: flex; align-items: center; gap: 8px; }
.fiw-dash { font-size: 22px; color: #888; }
.fiw-hint { font-size: 13px; color: #888; margin-top: 8px; }
.fiw-sig-wrap { display: flex; flex-direction: column; align-items: center; gap: 12px; }
.fiw-sig-canvas {
  width: 100%;
  max-width: 640px;
  height: 200px;
  border: 2px dashed #b6c0c9;
  border-radius: 12px;
  background: #fff;
  touch-action: none;
}
.fiw-consent-box {
  border: 1px solid #e0e4ea;
  border-radius: 10px;
  padding: 14px 16px;
  margin-bottom: 14px;
  background: #fafbfc;
}
.fiw-consent-box h4 { margin: 0 0 6px; font-size: 16px; font-weight: 800; color: #1c2230; }
.fiw-consent-box p { margin: 0 0 10px; font-size: 14px; color: #555; line-height: 1.5; }
.fiw-consent-row { display: flex; align-items: center; gap: 10px; font-size: 15px; cursor: pointer; }
.fiw-consent-row input { width: 22px; height: 22px; cursor: pointer; }
.fiw-review { margin: 0; }
.fiw-kv { display: grid; grid-template-columns: 140px 1fr; gap: 10px; padding: 12px 0; border-bottom: 1px solid #f0f0f0; }
.fiw-kv dt { font-size: 14px; font-weight: 700; color: #777; margin: 0; }
.fiw-kv dd { margin: 0; font-size: 17px; color: #1c2230; word-break: break-all; }

/* Kiosk 환경(큰 화면) 대응 — 자동 스케일 업 */
@media (min-width: 1280px) {
  .fiw-modal { width: 900px; }
  .fiw-title { font-size: 28px; }
  .fiw-input { font-size: 26px; padding: 18px 20px; }
  .fiw-btn { font-size: 22px; padding: 16px 32px; }
}
