/* TGWDEV487: scoped private panels share PC/H5 spacing and never style chat. */
.gvp-overlay {
  position: fixed;
  inset: 0;
  z-index: 1250;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px;
  background: rgb(0 0 0 / 46%);
  box-sizing: border-box;
}
.gvp-panel {
  display: flex;
  flex-direction: column;
  width: min(100%, 640px);
  max-height: min(90dvh, 860px);
  min-width: 0;
  color: #213a31;
  background: #f5f7f6;
  border: 1px solid #cddad4;
  border-radius: 12px;
  box-shadow: 0 10px 36px rgb(0 0 0 / 24%);
  font: 16px/1.55 system-ui, sans-serif;
  overflow: hidden;
}
.gvp-panel *, .gvp-panel *::before, .gvp-panel *::after { box-sizing: border-box; }
.gvp-header {
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 12px;
  background: #fff;
  border-bottom: 1px solid #dce5e0;
}
.gvp-title { flex: 1; min-width: 0; margin: 0; font-size: 18px; overflow-wrap: anywhere; }
.gvp-body { min-width: 0; padding: 12px; overflow-y: auto; overscroll-behavior: contain; }
.gvp-status { padding: 8px 12px; min-height: 40px; overflow-wrap: anywhere; }
.gvp-status:empty { display: none; }
.gvp-status.gvp-error { color: #a42525; background: #fff1f0; }
.gvp-section {
  min-width: 0;
  padding: 12px;
  margin: 0 0 10px;
  background: #fff;
  border: 1px solid #dce5e0;
  border-radius: 8px;
  overflow-wrap: anywhere;
}
.gvp-section h3 { margin: 0 0 8px; font-size: 16px; }
.gvp-section p { margin: 6px 0; white-space: pre-wrap; }
.gvp-meta, .gvp-note { color: #5b6e64; font-size: 14px; overflow-wrap: anywhere; }
.gvp-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 10px; }
.gvp-button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 42px;
  max-width: 100%;
  padding: 7px 12px;
  border: 1px solid #c7d7ce;
  border-radius: 7px;
  background: #fff;
  color: #075d40;
  font: inherit;
  white-space: normal;
  overflow-wrap: anywhere;
  cursor: pointer;
}
.gvp-button:hover { background: #eaf4ee; color: #075d40; }
.gvp-button.gvp-primary { border-color: #075d40; background: #075d40; color: #fff; }
.gvp-button.gvp-primary:hover { border-color: #064b34; background: #064b34; color: #fff; }
.gvp-button.gvp-danger { border-color: #caa5a5; color: #922929; }
.gvp-button:disabled { cursor: default; opacity: .55; }
.gvp-button:focus-visible, .gvp-field input:focus-visible, .gvp-field textarea:focus-visible,
.gvp-field select:focus-visible, .gvp-section summary:focus-visible { outline: 2px solid #168b62; outline-offset: 2px; }
.gvp-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; margin: 10px 0; }
.gvp-field input, .gvp-field textarea, .gvp-field select {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  min-height: 42px;
  padding: 8px;
  border: 1px solid #b8cbc0;
  border-radius: 6px;
  background: #fff;
  color: #213a31;
  font: inherit;
}
.gvp-field textarea { min-height: 104px; resize: vertical; }
.gvp-consent { display: flex; gap: 8px; align-items: flex-start; margin: 10px 0; }
.gvp-consent input { flex: 0 0 auto; width: 18px; height: 18px; margin: 4px 0 0; }
.gvp-consent span { min-width: 0; overflow-wrap: anywhere; }
.gvp-section summary { padding: 6px 0; cursor: pointer; overflow-wrap: anywhere; }
.gvp-image { display: block; width: auto; max-width: 100%; max-height: 60dvh; object-fit: contain; margin: 8px auto; }
.gvp-item { padding: 9px 0; border-bottom: 1px solid #e0e7e3; }
.gvp-item:last-child { border-bottom: 0; }
@media (max-width: 480px) {
  .gvp-overlay { padding: 6px; align-items: flex-end; }
  .gvp-panel { width: 100%; max-height: 94dvh; border-radius: 10px; }
  .gvp-header, .gvp-body, .gvp-section { padding: 10px; }
  .gvp-header { gap: 8px; }
  .gvp-actions { gap: 6px; }
  .gvp-button { min-height: 44px; }
}
