.energy-visit-unified-workspace,
.energy-visit-unified-workspace * {
  box-sizing: border-box;
}

.field-visit-panel.energy-visit-workspace-active {
  max-width: none;
  /* 2026-08-16 지시서(폰 화면): 이 규칙이 style.css의
     .curator-sector-detail.curator-sector-active { overflow-y: auto }
     보다 늦게 로드되고(index.html에서 energy-visit-workspace.css가
     style.css 다음에 옴) 특이도가 같은 클래스 선택자라 캐스케이드상
     이 규칙이 이겨서 overflow-y를 다시 visible로 되돌려 놓고 있었다.
     #fieldVisitPanel은 그 규칙 덕에 position:fixed;inset:0인 전체화면
     오버레이가 되는데, overflow까지 visible이 되면 그 안의 8단계
     위저드(콘텐츠 높이 5000px 이상)를 스크롤로 볼 방법이 아예 없어진다
     (html/body는 이미 overflow:hidden). 390x844 폰 화면에서 "방문조사
     시작"을 눌러도 위저드가 화면 밖으로 사라진 것처럼 보이던 진짜
     원인이 이것이었다(실제 재현 후 확인) -- max-width만 넓히고
     overflow-y는 부모 규칙의 auto를 그대로 유지한다. */
  overflow-x: visible;
  overflow-y: auto;
}

.energy-visit-unified-workspace {
  display: grid;
  gap: 16px;
  width: 100%;
  min-width: 0;
  padding: 4px 0 24px;
}

.energy-visit-unified-workspace[hidden] {
  display: none !important;
}

.energy-visit-workspace-bar {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  padding: 16px;
  border: 1px solid var(--h24-border, #d9e3ec);
  border-radius: 18px;
  background: var(--h24-surface, #fff);
}

.energy-visit-workspace-bar p,
.energy-visit-workspace-bar h2,
.energy-visit-workspace-bar span {
  margin: 0;
}

.energy-visit-workspace-bar p {
  color: var(--h24-danger, #b4233f);
  font-size: 0.78rem;
  font-weight: 900;
}

.energy-visit-workspace-bar h2 {
  margin-top: 3px;
  color: var(--h24-ink, #173b5e);
  font-size: clamp(1.25rem, 2.2vw, 1.7rem);
}

.energy-visit-workspace-bar span {
  display: block;
  margin-top: 5px;
  color: var(--h24-ink-muted, #607387);
  font-size: 0.86rem;
  line-height: 1.45;
}

.energy-visit-workspace-bar button,
.energy-visit-workspace-tabs button,
.energy-visit-document-panel button {
  min-height: 44px;
}

.energy-visit-workspace-tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  padding: 6px;
  border: 1px solid var(--h24-border, #d9e3ec);
  border-radius: 16px;
  background: var(--h24-neutral-bg, #edf3f7);
}

.energy-visit-workspace-tabs button {
  border-color: transparent;
  background: transparent;
  color: var(--h24-ink-muted, #52677b);
  font-weight: 900;
}

.energy-visit-workspace-tabs button[data-active="true"] {
  border-color: var(--h24-border, #b8cbdc);
  background: var(--h24-surface, #fff);
  color: var(--h24-ink, #123f68);
  box-shadow: 0 5px 14px rgba(20, 58, 91, 0.08);
}

.energy-visit-workspace-message,
.energy-visit-attachment-message {
  margin: 0;
  padding: 12px 14px;
  border-radius: 12px;
  background: var(--h24-surface-muted, #f3f7fa);
  color: var(--h24-ink-muted, #52677b);
  font-weight: 750;
  line-height: 1.5;
}

.energy-visit-workspace-message[hidden],
.energy-visit-attachment-message[hidden] {
  display: none;
}

.energy-visit-workspace-message[data-kind="success"],
.energy-visit-attachment-message[data-kind="success"] {
  background: var(--h24-success-bg, #edf8f2);
  color: var(--h24-success, #17633e);
}

.energy-visit-workspace-message[data-kind="warning"],
.energy-visit-attachment-message[data-kind="warning"] {
  background: var(--h24-warning-bg, #fff8e7);
  color: var(--h24-warning, #805b12);
}

.energy-visit-workspace-message[data-kind="error"],
.energy-visit-attachment-message[data-kind="error"] {
  background: var(--h24-danger-bg, #fff1f2);
  color: var(--h24-danger, #a11d35);
}

.energy-visit-inline-mount {
  min-width: 0;
}

.energy-visit-inline-mount[hidden] {
  display: none !important;
}

.energy-visit-unified-workspace .energy-field-dialog.energy-field-inline {
  position: static;
  display: block;
  width: 100%;
  height: auto;
  max-width: none;
  max-height: none;
  margin: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.energy-visit-unified-workspace .energy-field-dialog.energy-field-inline::backdrop,
.energy-visit-unified-workspace .energy-engineering-dialog.energy-engineering-inline::backdrop {
  display: none;
  background: transparent;
}

.energy-visit-unified-workspace .energy-field-dialog.energy-field-inline form {
  width: 100%;
  min-height: 0;
  margin: 0;
  padding: 0;
}

.energy-visit-unified-workspace .energy-field-dialog.energy-field-inline .energy-field-header {
  top: 0;
}

.energy-visit-unified-workspace .energy-field-dialog.energy-field-inline .energy-field-context {
  top: 92px;
}

.energy-visit-unified-workspace .energy-engineering-dialog.energy-engineering-inline {
  position: static;
  display: block;
  width: 100%;
  max-width: none;
  max-height: none;
  margin: 0;
  overflow: visible;
  border-radius: 18px;
}

.energy-visit-unified-workspace .energy-engineering-dialog.energy-engineering-inline form {
  min-height: 0;
}

.energy-visit-unified-workspace .energy-engineering-dialog.energy-engineering-inline #energyEngineeringStep {
  max-height: none;
  overflow: visible;
}

.energy-visit-document-panel {
  display: grid;
  gap: 14px;
  padding: 18px;
  border: 1px solid var(--h24-border, #d9e3ec);
  border-radius: 20px;
  background: var(--h24-surface, #fff);
  box-shadow: 0 8px 24px rgba(18, 47, 74, 0.06);
}

.energy-visit-document-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.energy-visit-document-heading p,
.energy-visit-document-heading h3,
.energy-visit-document-heading span {
  margin: 0;
}

.energy-visit-document-heading p {
  color: var(--h24-danger, #b4233f);
  font-size: 0.78rem;
  font-weight: 900;
}

.energy-visit-document-heading h3 {
  margin-top: 3px;
  color: var(--h24-ink, #173b5e);
  font-size: 1.24rem;
}

.energy-visit-document-heading span {
  display: block;
  margin-top: 5px;
  color: var(--h24-ink-muted, #607387);
  font-size: 0.86rem;
  line-height: 1.45;
}

.energy-visit-document-controls {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.energy-visit-document-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px 12px;
  align-items: end;
  padding: 14px;
  border: 1px solid var(--h24-border, #dce5ed);
  border-radius: 14px;
  background: var(--h24-surface-muted, #f8fbfd);
}

.energy-visit-document-card > div {
  display: grid;
  gap: 3px;
  grid-column: 1 / -1;
}

.energy-visit-document-card strong {
  color: var(--h24-ink, #173b5e);
}

.energy-visit-document-card span {
  color: var(--h24-ink-muted, #65778a);
  font-size: 0.82rem;
  line-height: 1.4;
}

.energy-visit-document-card input[type="file"] {
  min-width: 0;
  min-height: 44px;
  padding: 8px;
  border: 1px solid var(--h24-border, #cbd8e3);
  border-radius: 10px;
  background: var(--h24-surface, #fff);
  font-size: 0.84rem;
}

.energy-visit-filename-row {
  display: flex !important;
  grid-column: 1 / -1;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 9px 11px;
  border: 1px solid var(--h24-border, #dce5ed);
  border-radius: 10px;
  background: var(--h24-surface, #fff);
}

.energy-visit-filename-row span {
  flex: 0 0 auto;
  color: var(--h24-ink, #40566c);
  font-weight: 900;
}

.energy-visit-filename-row output {
  min-width: 0;
  overflow: hidden;
  color: var(--h24-ink, #173b5e);
  font-size: 0.84rem;
  font-weight: 750;
  text-align: right;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.energy-visit-document-card button {
  white-space: nowrap;
}

.energy-visit-attachment-list {
  display: grid;
  gap: 8px;
}

.energy-visit-attachment-list article {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border: 1px solid var(--h24-border, #e0e8ef);
  border-radius: 12px;
  background: var(--h24-surface-muted, #fbfdff);
}

.energy-visit-attachment-list article > div {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.energy-visit-attachment-list strong {
  color: var(--h24-ink-strong, #183e61);
  overflow-wrap: anywhere;
}

.energy-visit-attachment-list span {
  overflow-wrap: anywhere;
  color: var(--h24-ink-muted, #67798a);
  font-size: 0.82rem;
}

.energy-visit-attachment-empty {
  margin: 0;
  padding: 14px;
  border: 1px dashed var(--h24-border, #b9c9d6);
  border-radius: 12px;
  color: var(--h24-ink-muted, #65778a);
  line-height: 1.5;
}

@media (max-width: 820px) {
  .energy-visit-workspace-bar {
    grid-template-columns: 1fr;
  }

  .energy-visit-workspace-bar > button {
    justify-self: start;
  }

  .energy-visit-document-controls {
    grid-template-columns: 1fr;
  }

  .energy-visit-unified-workspace .energy-field-dialog.energy-field-inline .energy-field-header,
  .energy-visit-unified-workspace .energy-field-dialog.energy-field-inline .energy-field-questionnaire .energy-field-actions {
    position: static;
  }

  .energy-visit-unified-workspace .energy-field-dialog.energy-field-inline .energy-field-context {
    position: static;
  }

  .energy-visit-unified-workspace .energy-engineering-dialog.energy-engineering-inline {
    height: auto;
    max-height: none;
    border-radius: 16px;
  }

  .energy-visit-unified-workspace .energy-engineering-dialog.energy-engineering-inline form {
    min-height: 0;
  }
}

@media (max-width: 560px) {
  .energy-visit-unified-workspace {
    gap: 12px;
  }

  .energy-visit-workspace-tabs {
    grid-template-columns: 1fr;
  }

  .energy-visit-document-heading,
  .energy-visit-attachment-list article {
    align-items: stretch;
    flex-direction: column;
  }

  .energy-visit-document-heading button,
  .energy-visit-attachment-list button {
    width: 100%;
  }

  .energy-visit-document-card {
    grid-template-columns: 1fr;
  }

  .energy-visit-document-card input,
  .energy-visit-document-card button {
    width: 100%;
  }

  .energy-visit-filename-row {
    align-items: flex-start;
    flex-direction: column;
  }

  .energy-visit-filename-row output {
    width: 100%;
    text-align: left;
    white-space: normal;
  }
}
