.info-panel-heading,
.info-panel-body,
.info-panel-actions {
  box-sizing: border-box;
  inline-size: 100%;
  max-inline-size: 360px;
  min-inline-size: 0;
}

.info-panel-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 22px 22px 19px;
  border-bottom: 1px solid var(--line);
}

.info-panel-heading > div { min-width: 0; }
.info-panel-heading p {
  margin: 0 0 7px;
  color: var(--muted);
  font-size:calc(11px * var(--font-scale,1));
}
.info-panel-heading h2 {
  margin: 0;
  color: var(--strong);
  font-size:calc(19px * var(--font-scale,1));
  font-weight: 600;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.info-panel-heading [data-action="close-info"] {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  margin: -3px -6px 0 0;
}
.info-panel-heading svg { width: 18px; height: 18px; stroke-width: 1.7; }

.info-panel-body { padding: 20px 22px; }
.info-panel-body .info-panel-status { margin-bottom: 22px; }
.info-panel-body .info-panel-document-state {
  margin: 0 0 20px;
  color: var(--muted);
  font-size:calc(12px * var(--font-scale,1));
}
.info-panel-fields { display: grid; gap: 19px; margin: 0; }
.info-panel-fields > div { min-width: 0; }
.info-panel-fields dt { margin: 0 0 5px; color: var(--muted); font-size:calc(11px * var(--font-scale,1)); }
.info-panel-fields dd {
  margin: 0;
  color: var(--text);
  font-size:calc(13px * var(--font-scale,1));
  line-height: 1.7;
  overflow-wrap: anywhere;
}
.info-panel-fields .info-panel-memo {
  margin-top: 2px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
}
.info-panel-fields .info-panel-memo dd { white-space: pre-wrap; }
.info-panel-fields .service-description,
.info-panel-fields .service-stage { display: block; margin-top: 4px; }

.info-panel-actions {
  display: grid;
  gap: 3px;
  padding: 15px 22px 20px;
  border-top: 1px solid var(--line);
}
.info-panel-actions button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-width: 0;
  min-height: 40px;
  padding: 8px 0;
  border: 0;
  border-radius: 0;
  background: none;
  color: var(--accent);
  font-size:calc(12px * var(--font-scale,1));
  text-align: left;
}
.info-panel-actions button span { min-width: 0; overflow-wrap: anywhere; }
.info-panel-actions button:hover span { text-decoration: underline; text-underline-offset: 3px; }
.info-panel-actions button svg { width: 16px; height: 16px; flex-shrink: 0; stroke-width: 1.6; }

@media (max-width: 700px) {
  .info-panel-heading,
  .info-panel-body,
  .info-panel-actions { max-inline-size: 100%; }
  .info-panel-heading { padding: 19px 20px 17px; }
  .info-panel-heading h2 { font-size:calc(18px * var(--font-scale,1)); }
  .info-panel-body { padding: 18px 20px; }
  .info-panel-fields { gap: 17px; }
  .info-panel-actions { padding: 13px 20px 18px; }
  .info-panel-actions button { min-height: 44px; }
}
