.document-section {
  display: grid;
  gap: var(--aldelo-space-400);
  min-inline-size: 0;
  align-content: start;
}
.document-section > h3, .document-record h4, .document-preview h3, .document-party h4 {
  margin: 0;
  line-height: 1.25;
}
.document-package-summary { margin-block: 0; }
.document-package-summary .account-facts { align-items: start; }
.document-list {
  list-style: none;
  margin: 0;
  padding: 0;
  border-block-start: var(--aldelo-border-width) solid var(--aldelo-color-border);
}
.document-record {
  display: grid;
  grid-template-columns: minmax(0, 1fr)
    minmax(0, min(45%, calc(2 * var(--account-record-action-width) + var(--aldelo-space-200))));
  gap: var(--aldelo-space-400);
  align-items: start;
  padding-block: var(--aldelo-space-400);
  border-block-end: var(--aldelo-border-width) solid var(--aldelo-color-border);
}
.document-record-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--aldelo-space-200);
  margin-block-end: var(--aldelo-space-200);
}
.document-record .account-actions {
  margin-block: 0;
  inline-size: 100%;
  grid-template-columns: repeat(2, minmax(0, var(--account-record-action-width)));
}
.document-file {
  display: block;
  min-block-size: 3rem;
  inline-size: 100%;
  padding: 0;
}
.document-file::file-selector-button {
  min-block-size: 3rem;
  max-inline-size: 100%;
  font: inherit;
  border: 0;
  border-inline-end: var(--aldelo-border-width) solid var(--aldelo-color-border);
  padding-inline: var(--aldelo-space-300);
  margin-inline-end: var(--aldelo-space-200);
  color: var(--aldelo-color-text);
  background: var(--aldelo-color-surface-raised);
  cursor: pointer;
}
.document-file:hover::file-selector-button { background: var(--aldelo-color-surface-hover); }
.document-file:active::file-selector-button { background: var(--aldelo-color-action-soft); }
.document-progress {
  accent-color: var(--aldelo-color-action);
  inline-size: 100%;
}
.document-preview { inline-size: min(64rem, calc(100% - 2rem)); }
.document-preview[open] {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  overflow: hidden;
}
.document-preview-header {
  display: flex;
  flex-wrap: wrap;
  align-items: start;
  justify-content: space-between;
  gap: var(--aldelo-space-400);
  padding-block: var(--aldelo-space-200);
  border-block-end: var(--aldelo-border-width) solid var(--aldelo-color-border);
  background: var(--aldelo-color-surface);
}
.document-preview-header h2 {
  margin: 0;
  font-size: var(--test-section-size);
}
.document-preview-header .account-actions { inline-size: min(100%, var(--account-record-action-width)); }
.document-preview-content, .document-page-text {
  display: grid;
  gap: var(--aldelo-space-400);
  min-inline-size: 0;
}
.document-preview-content {
  overflow: auto;
  overscroll-behavior: contain;
  padding: var(--aldelo-space-100);
  scroll-padding: var(--aldelo-space-100);
}
.document-page-image {
  display: block;
  inline-size: min(100%, 48rem);
  block-size: auto;
  margin-inline: auto;
  border: var(--aldelo-border-width) solid var(--aldelo-color-border);
  border-radius: var(--aldelo-component-panel-radius);
}
.document-page-text {
  padding-block-start: var(--aldelo-space-400);
  border-block-start: var(--aldelo-border-width) solid var(--aldelo-color-border);
}
.document-page-text details p { white-space: pre-wrap; }
.document-page-text summary, .document-attempt-history summary {
  min-block-size: 3rem;
  align-content: center;
  color: var(--aldelo-color-link);
  cursor: pointer;
}
.document-attempt-history li > .account-badge { margin-inline-start: var(--aldelo-space-200); }
@media (max-width: 56rem) {
  .document-record { grid-template-columns: minmax(0, 1fr) minmax(0, var(--account-record-action-width)); }
  .document-record .account-actions {
    inline-size: min(100%, var(--account-record-action-width));
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 48rem) {
  .document-record { grid-template-columns: minmax(0, 1fr); }
}

/* A7 keeps the accepted 48px controls and 192px record tracks. */
.authoring-task-nav { display: flex; flex-wrap: wrap; gap: var(--aldelo-space-200); border-block-end: var(--aldelo-border-width) solid var(--aldelo-color-border); padding-block-end: var(--aldelo-space-300); }
.authoring-task-nav [aria-current="page"] { background: var(--aldelo-color-action-soft); border-color: var(--aldelo-color-action); }
.authoring-summary { display: grid; gap: var(--aldelo-space-300); padding-block: var(--aldelo-space-300); }
.authoring-summary h3, .authoring-fields h3 { margin: 0; }
.authoring-fields { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(20rem, 1fr); gap: var(--aldelo-space-500); align-items: start; }
.authoring-canvas, .authoring-properties, .authoring-field-list, .authoring-form-fields { min-inline-size: 0; display: grid; gap: var(--aldelo-space-300); }
.authoring-field-list { grid-column: 1 / -1; }
.authoring-page-frame { position: relative; inline-size: 100%; }
.authoring-page-frame > img { display: block; width: 100%; height: auto; }
.authoring-overlay { position: absolute; border: 2px solid var(--aldelo-color-action); border-radius: 0; background: var(--aldelo-color-action-soft); color: var(--aldelo-color-text); padding: 0; font: inherit; font-size: 0.75rem; overflow: hidden; cursor: pointer; }
.authoring-overlay[aria-pressed="true"] { outline: 3px solid var(--aldelo-color-action); outline-offset: 2px; }
.authoring-overlay:hover { background: var(--aldelo-color-surface-hover); }
.authoring-overlay:active { opacity: 0.8; }
.authoring-overlay:focus-visible { outline: 3px solid var(--aldelo-color-action); outline-offset: 4px; z-index: 1; }
.authoring-editor fieldset { min-inline-size: 0; border: var(--aldelo-border-width) solid var(--aldelo-color-border); border-radius: var(--aldelo-component-panel-radius); padding: var(--aldelo-space-300); display: grid; gap: var(--aldelo-space-300); }
.authoring-editor legend { padding-inline: var(--aldelo-space-100); font-weight: 600; }
.authoring-editor .account-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.authoring-rule-row { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--aldelo-space-200); border-block-end: var(--aldelo-border-width) solid var(--aldelo-color-border); padding-block-end: var(--aldelo-space-300); }
.authoring-field-row { display: grid; grid-template-columns: minmax(0, 12rem) minmax(0, 1fr); gap: var(--aldelo-space-200); align-items: center; border-block-end: var(--aldelo-border-width) solid var(--aldelo-color-border); padding-block: var(--aldelo-space-200); }
.authoring-field-row > p { grid-column: 1 / -1; margin: 0; }
.authoring-issues { padding-block: var(--aldelo-space-400); border-block-start: var(--aldelo-border-width) solid var(--aldelo-color-border); }
.authoring-issues li { margin-block: var(--aldelo-space-200); }
.authoring-comparison { overflow-wrap: anywhere; }
.authoring-page-content, .authoring-comparison-section { display: grid; gap: var(--aldelo-space-300); min-inline-size: 0; }
.authoring-comparison-section { padding-block: var(--aldelo-space-300); border-block-start: var(--aldelo-border-width) solid var(--aldelo-color-border); }
.authoring-comparison-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--aldelo-space-400); }
.authoring-comparison-pair > section { min-inline-size: 0; }
.authoring-comparison summary { min-block-size: 3rem; align-content: center; cursor: pointer; }
@media (max-width: 48rem) { .authoring-comparison-pair { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 64rem) { .authoring-fields { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 28rem) { .authoring-editor .account-actions, .authoring-field-row { grid-template-columns: minmax(0, 1fr); } }
@media (prefers-reduced-motion: reduce) { .authoring-overlay { transition: none; } }
.authoring-overlay::after { content: ""; position: absolute; left: 50%; top: 50%; min-width: 3rem; min-height: 3rem; width: 100%; height: 100%; transform: translate(-50%, -50%); }
.authoring-overlay { overflow: visible; }
.authoring-overlay-label { position: absolute; inset: 0; overflow: hidden; }
.authoring-field-row > details { grid-column: 1 / -1; }
.authoring-field-row summary { min-height: 3rem; align-content: center; cursor: pointer; }
.authoring-field-row button, .authoring-summary dd { overflow-wrap: anywhere; }
.authoring-summary h3 { font-size: var(--test-section-size); }
.authoring-editor .account-actions { display: grid; }
.authoring-field-row > .account-badge { justify-self: start; }
.authoring-editor .account-actions { grid-auto-flow: row; }
.authoring-editor > .account-actions { justify-self: stretch; inline-size: 100%; grid-template-columns: minmax(0, 1fr); }
