/* Layout repair for the four utility pages only.
   No global portal styles or other tools are modified. */
.portal-layout:has(> .tool-center-container) {
  min-width: 0;
}
.portal-layout > .tool-center-container.app-main {
  margin-left: 0;
  min-width: 0;
  width: 100%;
  max-width: 100%;
  flex: 1 1 0;
  padding: 32px clamp(14px, 3vw, 42px) 72px;
  box-sizing: border-box;
  justify-content: center;
  align-items: flex-start;
}
.portal-layout > .tool-center-container > .main-tool-card {
  width: min(100%, 1100px);
  min-width: 0;
  max-width: 1100px;
  margin-inline: auto;
  box-sizing: border-box;
}
.portal-layout > .tool-center-container .tool-layout {
  display: grid;
  grid-template-columns: minmax(0, 440px) minmax(0, 1fr);
  gap: 24px;
  align-items: start;
  min-width: 0;
}
.portal-layout > .tool-center-container .tool-layout > *,
.portal-layout > .tool-center-container .panel,
.portal-layout > .tool-center-container .field {
  min-width: 0;
  max-width: 100%;
}
.portal-layout > .tool-center-container img,
.portal-layout > .tool-center-container canvas,
.portal-layout > .tool-center-container svg {
  max-width: 100%;
}
@media (max-width: 920px) {
  .portal-layout > .tool-center-container .tool-layout {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 640px) {
  .portal-layout > .tool-center-container.app-main {
    padding: 20px 12px 52px;
  }
  .portal-layout > .tool-center-container .panel {
    padding: 15px;
  }
  .portal-layout > .tool-center-container .tool-head h2 {
    font-size: clamp(23px, 6vw, 32px);
  }
}
