/* OpenDesign V8 · Intelligent Document Generation admin. */
[data-settings-pane="templates"] > .document-template-settings {
  display: block;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.bms-document-template-admin-v8 {
  display: grid;
  gap: var(--bms-space-3);
  width: 100%;
  min-width: 0;
  max-width: 100%;
  color: var(--bms-text);
  font-family: var(--bms-font-ui);
}

.bms-document-template-admin-v8 *,
.bms-document-template-admin-v8 *::before,
.bms-document-template-admin-v8 *::after { box-sizing: border-box; }

.bms-document-template-admin-v8__header,
.bms-document-template-admin-v8__section-heading,
.bms-document-template-admin-v8__package-row > header,
.bms-document-template-admin-v8__package-row > footer,
.bms-document-template-admin-v8__mapping-canvas > header,
.bms-document-template-admin-v8__json-editor > header,
.bms-document-template-admin-v8__job > header,
.bms-document-template-admin-v8__dialog header,
.bms-document-template-admin-v8__dialog footer {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--bms-space-3);
}

.bms-document-template-admin-v8__header {
  padding: var(--bms-space-4);
  border: 1px solid var(--bms-border);
  border-radius: var(--bms-radius-2);
  background: var(--bms-surface);
}

.bms-document-template-admin-v8 :is(h3, h4, h5) { color: var(--bms-text); }
.bms-document-template-admin-v8 :is(h3, h4, h5, p) { overflow-wrap: anywhere; }
.bms-document-template-admin-v8__header h3,
.bms-document-template-admin-v8__section-heading h4,
.bms-document-template-admin-v8__job h4,
.bms-document-template-admin-v8__dialog h3 { margin: 2px 0 var(--bms-space-1); }
.bms-document-template-admin-v8__header p,
.bms-document-template-admin-v8__section-heading p,
.bms-document-template-admin-v8__preview-form p,
.bms-document-template-admin-v8__mapping-canvas p,
.bms-document-template-admin-v8__json-editor p { margin: 0; color: var(--bms-text-muted); }
.bms-document-template-admin-v8__header-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: var(--bms-space-2); }

.bms-document-template-admin-v8__tabs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--bms-space-1);
  width: 100%;
  min-width: 0;
  padding: var(--bms-space-1);
  border: 1px solid var(--bms-border);
  border-radius: var(--bms-radius-2);
  background: var(--bms-surface-subtle);
}
.bms-document-template-admin-v8__tabs button {
  min-width: 0;
  min-height: var(--bms-control-touch);
  padding: var(--bms-space-2) var(--bms-space-3);
  border: 1px solid transparent;
  border-radius: var(--bms-radius-1);
  color: var(--bms-text-muted);
  background: transparent;
  font: 700 12px/1.25 var(--bms-font-ui);
}
.bms-document-template-admin-v8__tabs button.active { border-color: var(--bms-border); color: var(--bms-primary); background: var(--bms-surface); box-shadow: var(--bms-shadow-1); }
.bms-document-template-admin-v8 :is(button, input, select, textarea, summary):focus-visible { outline: 3px solid color-mix(in srgb, var(--bms-focus) 28%, transparent); outline-offset: 2px; }
.bms-document-template-admin-v8 [data-doc-pane],
.bms-document-template-admin-v8 [data-doc-content] { width: 100%; min-width: 0; max-width: 100%; }
.bms-document-template-admin-v8 [data-doc-pane][hidden] { display: none; }

.bms-document-template-admin-v8__message,
.bms-document-template-admin-v8__empty {
  padding: var(--bms-space-6);
  border: 1px dashed var(--bms-border-strong);
  border-radius: var(--bms-radius-2);
  color: var(--bms-text-muted);
  background: var(--bms-surface-subtle);
  text-align: center;
}
.bms-document-template-admin-v8__empty.is-compact { padding: var(--bms-space-4); }
.bms-document-template-admin-v8__message.is-error { border-color: color-mix(in srgb, var(--bms-danger) 45%, var(--bms-border)); color: var(--bms-danger); background: var(--bms-danger-soft); }
.bms-document-template-admin-v8__empty strong { display: block; color: var(--bms-text); }
.bms-document-template-admin-v8__empty p { margin: var(--bms-space-1) 0 0; }
.bms-document-template-admin-v8__section-heading { align-items: end; margin-bottom: var(--bms-space-3); }
.bms-document-template-admin-v8__count { flex: 0 0 auto; padding: 5px 9px; border: 1px solid var(--bms-border); border-radius: var(--bms-radius-round); color: var(--bms-text-muted); background: var(--bms-surface-subtle); font-size: 11px; font-weight: 800; }

/* Overview: one stable package lineage per full-width row. */
.bms-document-template-admin-v8__package-list { display: grid; gap: var(--bms-space-3); min-width: 0; }
.bms-document-template-admin-v8__package-row { min-width: 0; overflow: clip; border: 1px solid var(--bms-border); border-radius: var(--bms-radius-2); background: var(--bms-surface); }
.bms-document-template-admin-v8__package-disclosure > summary { display: grid; grid-template-columns: minmax(0, 1fr) minmax(210px, auto); align-items: center; gap: var(--bms-space-4); min-height: 58px; padding: var(--bms-space-2) var(--bms-space-4); cursor: pointer; list-style-position: inside; background: var(--bms-surface); }
.bms-document-template-admin-v8__package-disclosure > summary:hover { background: var(--bms-surface-subtle); }
.bms-document-template-admin-v8__package-disclosure > summary > span { min-width: 0; }
.bms-document-template-admin-v8__package-disclosure > summary > span:first-child :is(strong, small) { display: block; overflow-wrap: anywhere; }
.bms-document-template-admin-v8__package-disclosure > summary > span:first-child small { margin-top: 3px; color: var(--bms-text-muted); }
.bms-document-template-admin-v8__package-disclosure > summary > span:last-child { display: flex; align-items: center; justify-content: flex-end; gap: var(--bms-space-2); text-align: right; }
.bms-document-template-admin-v8__package-disclosure > summary > span:last-child small { color: var(--bms-text-muted); }
.bms-document-template-admin-v8__package-disclosure[open] > summary { border-bottom: 1px solid var(--bms-border); background: var(--bms-surface-subtle); }
.bms-document-template-admin-v8__package-body { display: grid; grid-template-columns: minmax(240px, .9fr) minmax(250px, 1fr) minmax(230px, .85fr); min-width: 0; }
.bms-document-template-admin-v8__package-body > * { min-width: 0; padding: var(--bms-space-4); }
.bms-document-template-admin-v8__package-body > * + * { border-left: 1px solid var(--bms-border); }
.bms-document-template-admin-v8__original { display: grid; grid-template-columns: 48px minmax(0, 1fr); align-content: start; align-items: center; gap: var(--bms-space-2) var(--bms-space-3); }
.bms-document-template-admin-v8__original > div { min-width: 0; }
.bms-document-template-admin-v8__original :is(small, strong, span) { display: block; }
.bms-document-template-admin-v8__original strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bms-document-template-admin-v8__original small,
.bms-document-template-admin-v8__original span { color: var(--bms-text-muted); font-size: 11px; }
.bms-document-template-admin-v8__original .btn { grid-column: 1 / -1; justify-self: start; }
.bms-document-template-admin-v8__file-icon { display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid var(--bms-border); border-radius: var(--bms-radius-2); color: var(--bms-primary); background: var(--bms-primary-soft); font-size: 10px; font-weight: 900; }
.bms-document-template-admin-v8 :is(.bms-document-template-admin-v8__facts, .bms-document-template-admin-v8__scope dl, .bms-document-template-admin-v8__assignment-summary dl, .bms-document-template-admin-v8__source-summary dl) { display: grid; grid-template-columns: minmax(118px, .75fr) minmax(0, 1.25fr); margin: 0; }
.bms-document-template-admin-v8 :is(.bms-document-template-admin-v8__facts, .bms-document-template-admin-v8__scope dl, .bms-document-template-admin-v8__assignment-summary dl, .bms-document-template-admin-v8__source-summary dl) :is(dt, dd) { min-width: 0; margin: 0; padding: 5px 0; overflow-wrap: anywhere; }
.bms-document-template-admin-v8 :is(.bms-document-template-admin-v8__facts, .bms-document-template-admin-v8__scope dl, .bms-document-template-admin-v8__assignment-summary dl, .bms-document-template-admin-v8__source-summary dl) dt { color: var(--bms-text-muted); }
.bms-document-template-admin-v8__scope { display: grid; align-content: start; gap: var(--bms-space-1); }
.bms-document-template-admin-v8__scope > small { color: var(--bms-text-muted); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.bms-document-template-admin-v8__scope > p { margin: 0; color: var(--bms-text-muted); }
.bms-document-template-admin-v8__scope[data-assigned="false"] > strong { color: var(--bms-warning); }
.bms-document-template-admin-v8__technical { margin-top: var(--bms-space-2); border: 1px solid var(--bms-border); border-radius: var(--bms-radius-1); background: var(--bms-surface); }
.bms-document-template-admin-v8__technical > summary { min-height: var(--bms-control-standard); padding: var(--bms-space-2) var(--bms-space-3); color: var(--bms-text-muted); cursor: pointer; font-size: 11px; font-weight: 800; }
.bms-document-template-admin-v8__technical > dl { padding: 0 var(--bms-space-3) var(--bms-space-2); }
.bms-document-template-admin-v8__versions { border-top: 1px solid var(--bms-border); }
.bms-document-template-admin-v8__versions summary { min-height: var(--bms-control-standard); padding: var(--bms-space-2) var(--bms-space-4); color: var(--bms-text-muted); cursor: pointer; font-weight: 800; }
.bms-document-template-admin-v8__versions > div { display: grid; border-top: 1px solid var(--bms-border); }
.bms-document-template-admin-v8__versions button { display: flex; align-items: center; justify-content: space-between; gap: var(--bms-space-3); width: 100%; min-width: 0; min-height: var(--bms-control-touch); padding: var(--bms-space-2) var(--bms-space-4); border: 0; border-bottom: 1px solid var(--bms-border); color: var(--bms-text); background: var(--bms-surface); text-align: left; }
.bms-document-template-admin-v8__versions button:last-child { border-bottom: 0; }
.bms-document-template-admin-v8__versions button:hover,
.bms-document-template-admin-v8__versions button[aria-pressed="true"] { background: var(--bms-primary-soft); }
.bms-document-template-admin-v8__versions button span:last-child { min-width: 0; text-align: right; }
.bms-document-template-admin-v8__versions button :is(strong, b, small) { display: block; overflow-wrap: anywhere; }
.bms-document-template-admin-v8__versions button small { color: var(--bms-text-muted); }
.bms-document-template-admin-v8__package-disclosure > footer { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: var(--bms-space-2); padding: var(--bms-space-3) var(--bms-space-4); border-top: 1px solid var(--bms-border); }

/* Mapping workspace. */
.bms-document-template-admin-v8__mapping-toolbar { display: flex; align-items: end; flex-wrap: wrap; gap: var(--bms-space-2); margin-bottom: var(--bms-space-3); }
.bms-document-template-admin-v8__mapping-toolbar label { flex: 1 1 220px; display: grid; gap: var(--bms-space-1); color: var(--bms-text-muted); font-size: 12px; font-weight: 700; }
.bms-document-template-admin-v8__mapping-technical { margin: 0 0 var(--bms-space-3); }
.bms-document-template-admin-v8__mapping-technical > dl { display: grid; grid-template-columns: 140px minmax(0, 1fr); margin: 0; }
.bms-document-template-admin-v8__mapping-technical :is(dt, dd) { min-width: 0; margin: 0; padding: 5px 0; overflow-wrap: anywhere; }
.bms-document-template-admin-v8__mapping-technical dt { color: var(--bms-text-muted); }
.bms-document-template-admin-v8__mapping-workspace { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--bms-space-3); min-width: 0; align-items: start; }
.bms-document-template-admin-v8__field-browser,
.bms-document-template-admin-v8__mapping-canvas,
.bms-document-template-admin-v8__json-editor { min-width: 0; overflow: hidden; border: 1px solid var(--bms-border); border-radius: var(--bms-radius-2); background: var(--bms-surface); }
.bms-document-template-admin-v8__field-browser > header,
.bms-document-template-admin-v8__mapping-canvas > header,
.bms-document-template-admin-v8__json-editor > header { padding: var(--bms-space-3); border-bottom: 1px solid var(--bms-border); background: var(--bms-surface-subtle); }
.bms-document-template-admin-v8__field-browser > header { display: grid; gap: var(--bms-space-2); }
.bms-document-template-admin-v8__field-browser > header input { width: 100%; min-width: 0; }
.bms-document-template-admin-v8__field-browser h4,
.bms-document-template-admin-v8__mapping-canvas h4,
.bms-document-template-admin-v8__json-editor h4 { margin: 0 0 3px; }
.bms-document-template-admin-v8__field-browser header p { margin: 0; color: var(--bms-text-muted); overflow-wrap: anywhere; }
.bms-document-template-admin-v8__field-browser > div { display: grid; max-height: 520px; overflow-y: auto; }
.bms-document-template-admin-v8__field-browser > div > section > h5 { position: sticky; top: 0; z-index: var(--bms-z-sticky); margin: 0; padding: var(--bms-space-1) var(--bms-space-3); border-bottom: 1px solid var(--bms-border); color: var(--bms-text-muted); background: var(--bms-surface-subtle); font-size: 11px; text-transform: uppercase; }
.bms-document-template-admin-v8__field-browser button { display: flex; align-items: center; justify-content: space-between; gap: var(--bms-space-2); min-width: 0; min-height: var(--bms-control-touch); padding: var(--bms-space-2) var(--bms-space-3); border: 0; border-bottom: 1px solid var(--bms-border); color: var(--bms-text); background: var(--bms-surface); text-align: left; }
.bms-document-template-admin-v8__field-browser button:hover { background: var(--bms-primary-soft); }
.bms-document-template-admin-v8__field-browser button span { min-width: 0; }
.bms-document-template-admin-v8__field-browser button :is(strong, code, small) { display: block; overflow-wrap: anywhere; }
.bms-document-template-admin-v8__field-browser button code,
.bms-document-template-admin-v8__field-browser button small { color: var(--bms-text-muted); }
.bms-document-template-admin-v8__field-browser button > span:last-child { flex: 0 0 auto; display: grid; justify-items: end; gap: 2px; max-width: 42%; text-align: right; }
.bms-document-template-admin-v8__field-browser button :is(b, em) { color: var(--bms-primary); font-size: 10px; font-style: normal; overflow-wrap: anywhere; }
.bms-document-template-admin-v8__mapping-canvas > div { max-height: 520px; overflow-y: auto; }
.bms-document-template-admin-v8__mapping-canvas,
.bms-document-template-admin-v8__json-advanced { grid-column: 1 / -1; }
.bms-document-template-admin-v8__map-list { display: grid; }
.bms-document-template-admin-v8__map-list article { display: grid; grid-template-columns: 26px minmax(120px, 1fr) auto minmax(120px, 1fr) auto; align-items: center; gap: var(--bms-space-2); min-width: 0; padding: var(--bms-space-3); border-bottom: 1px solid var(--bms-border); }
.bms-document-template-admin-v8__map-list article:last-child { border-bottom: 0; }
.bms-document-template-admin-v8__map-list article > span:first-child { display: grid; place-items: center; width: 26px; height: 26px; border-radius: var(--bms-radius-round); color: var(--bms-primary); background: var(--bms-primary-soft); font-weight: 900; }
.bms-document-template-admin-v8__map-list article > div { min-width: 0; }
.bms-document-template-admin-v8__mapping-meta { grid-column: 2 / -1; display: flex; flex-wrap: wrap; gap: var(--bms-space-1); }
.bms-document-template-admin-v8__mapping-meta span { padding: 3px 6px; border-radius: var(--bms-radius-round); color: var(--bms-text-muted); background: var(--bms-surface-subtle); font-size: 10px; }
.bms-document-template-admin-v8__map-list :is(small, code) { display: block; overflow-wrap: anywhere; }
.bms-document-template-admin-v8__map-list small { color: var(--bms-text-muted); }
.bms-document-template-admin-v8__json-editor textarea { display: block; width: calc(100% - (2 * var(--bms-space-3))); min-width: 0; min-height: 360px; margin: var(--bms-space-3); overflow: auto; resize: vertical; white-space: pre; font-family: var(--bms-font-data); tab-size: 2; }
.bms-document-template-admin-v8__json-editor > div:last-child { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: var(--bms-space-2); padding: 0 var(--bms-space-3) var(--bms-space-3); }
.bms-document-template-admin-v8__json-editor .bms-document-template-admin-v8__job-error { margin: 0 var(--bms-space-3) var(--bms-space-3); }
.bms-document-template-admin-v8__json-advanced > .bms-document-template-admin-v8__json-editor { border: 0; border-top: 1px solid var(--bms-border); border-radius: 0; }
.bms-document-template-admin-v8__origin { display: inline-flex; padding: 4px 8px; border: 1px solid var(--bms-border); border-radius: var(--bms-radius-round); color: var(--bms-neutral); background: var(--bms-neutral-soft); font-size: 11px; font-weight: 800; }
.bms-document-template-admin-v8__origin[data-origin="AI_SUGGESTED"] { border-color: color-mix(in srgb, var(--bms-review) 35%, var(--bms-border)); color: var(--bms-review); background: var(--bms-review-soft); }
.bms-document-template-admin-v8__origin[data-origin="MANUAL"] { border-color: color-mix(in srgb, var(--bms-warning) 35%, var(--bms-border)); color: var(--bms-warning); background: var(--bms-warning-soft); }
.bms-document-template-admin-v8 .is-warning { color: var(--bms-warning); }

/* Preview and validation. */
.bms-document-template-admin-v8__preview-layout { display: grid; grid-template-columns: minmax(380px, .82fr) minmax(0, 1.18fr); gap: var(--bms-space-3); min-width: 0; align-items: start; }
.bms-document-template-admin-v8__preview-form,
.bms-document-template-admin-v8__preview-result,
.bms-document-template-admin-v8__job { min-width: 0; padding: var(--bms-space-4); border: 1px solid var(--bms-border); border-radius: var(--bms-radius-2); background: var(--bms-surface); }
.bms-document-template-admin-v8__preview-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--bms-space-3); }
.bms-document-template-admin-v8__preview-form > :is(div:first-child, .bms-document-template-admin-v8__preview-mode, .bms-document-template-admin-v8__derived-context, .bms-document-template-admin-v8__source-cascade, .bms-document-template-admin-v8__source-summary, .bms-document-template-admin-v8__preview-advanced, button[type="submit"]) { grid-column: 1 / -1; }
.bms-document-template-admin-v8__preview-form label,
.bms-document-template-admin-v8__form-grid > label { display: grid; gap: var(--bms-space-1); min-width: 0; color: var(--bms-text-muted); font-size: 12px; font-weight: 700; }
.bms-document-template-admin-v8__preview-form :is(input, select, textarea),
.bms-document-template-admin-v8__form-grid :is(input, select, textarea) { width: 100%; min-width: 0; }
.bms-document-template-admin-v8__preview-mode { display: flex; flex-wrap: wrap; gap: var(--bms-space-2); min-width: 0; margin: 0; padding: var(--bms-space-2); border: 1px solid var(--bms-border); border-radius: var(--bms-radius-1); }
.bms-document-template-admin-v8__preview-mode legend { padding: 0 var(--bms-space-1); color: var(--bms-text-muted); font-size: 11px; font-weight: 800; }
.bms-document-template-admin-v8__preview-mode label { display: flex; align-items: center; gap: var(--bms-space-1); min-height: var(--bms-control-standard); padding: var(--bms-space-1) var(--bms-space-2); border-radius: var(--bms-radius-1); color: var(--bms-text); background: var(--bms-surface-subtle); }
.bms-document-template-admin-v8__preview-mode input { width: auto; }
.bms-document-template-admin-v8__derived-context { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: var(--bms-space-2); padding: var(--bms-space-2) var(--bms-space-3); border: 1px solid var(--bms-border); border-radius: var(--bms-radius-1); background: var(--bms-surface-subtle); }
.bms-document-template-admin-v8__derived-context span,
.bms-document-template-admin-v8__derived-context small { color: var(--bms-text-muted); }
.bms-document-template-admin-v8__source-cascade { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--bms-space-3); min-width: 0; padding: var(--bms-space-3); border: 1px solid var(--bms-border); border-radius: var(--bms-radius-1); background: var(--bms-surface-subtle); }
.bms-document-template-admin-v8__source-cascade[aria-disabled="true"] { opacity: .58; }
.bms-document-template-admin-v8__preview-inspector { min-width: 0; overflow: hidden; border: 1px solid var(--bms-border); border-radius: var(--bms-radius-1); }
.bms-document-template-admin-v8__preview-inspector > header { display: flex; align-items: center; justify-content: space-between; gap: var(--bms-space-2); padding: var(--bms-space-1); border-bottom: 1px solid var(--bms-border); background: var(--bms-surface-subtle); }
.bms-document-template-admin-v8__preview-inspector > header > div { display: flex; flex-wrap: wrap; gap: var(--bms-space-1); }
.bms-document-template-admin-v8__preview-inspector [role="tab"] { min-height: var(--bms-control-standard); padding: var(--bms-space-1) var(--bms-space-2); border: 1px solid transparent; border-radius: var(--bms-radius-1); color: var(--bms-text-muted); background: transparent; font-weight: 800; }
.bms-document-template-admin-v8__preview-inspector [role="tab"][aria-selected="true"] { border-color: var(--bms-border); color: var(--bms-primary); background: var(--bms-surface); }
.bms-document-template-admin-v8__preview-inspector [role="tabpanel"] { display: grid; gap: var(--bms-space-2); min-width: 0; padding: var(--bms-space-3); }
.bms-document-template-admin-v8__preview-inspector [role="tabpanel"][hidden] { display: none; }
.bms-document-template-admin-v8__preview-inspector [role="tabpanel"] > p { margin: 0; }
.bms-document-template-admin-v8__preview-inspector textarea { width: 100%; min-width: 0; resize: vertical; font-family: var(--bms-font-data); }
.bms-document-template-admin-v8__preview-inspector [role="tabpanel"] > div { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: var(--bms-space-2); }
.bms-document-template-admin-v8__draft-state { flex: 0 0 auto; padding: 4px 8px; border-radius: var(--bms-radius-round); color: var(--bms-success); background: var(--bms-success-soft); font-size: 11px; font-weight: 800; }
.bms-document-template-admin-v8__draft-state.is-dirty { color: var(--bms-warning); background: var(--bms-warning-soft); }
.bms-document-template-admin-v8__record-summary { margin-top: var(--bms-space-2); padding-top: var(--bms-space-2); border-top: 1px solid var(--bms-border); }
.bms-document-template-admin-v8__source-summary { padding: var(--bms-space-3); border: 1px solid var(--bms-border); border-radius: var(--bms-radius-1); background: var(--bms-surface-subtle); }
.bms-document-template-admin-v8__source-summary h5 { margin: 0 0 var(--bms-space-2); }
.bms-document-template-admin-v8__advanced { border: 1px solid var(--bms-border); border-radius: var(--bms-radius-1); }
.bms-document-template-admin-v8__advanced summary { min-height: var(--bms-control-standard); padding: var(--bms-space-2) var(--bms-space-3); cursor: pointer; font-weight: 800; }
.bms-document-template-admin-v8__advanced > :is(p, textarea) { margin: 0 var(--bms-space-3) var(--bms-space-3); }
.bms-document-template-admin-v8__advanced textarea { width: calc(100% - (2 * var(--bms-space-3))); resize: vertical; font-family: var(--bms-font-data); }
.bms-document-template-admin-v8__preview-advanced > .bms-document-template-admin-v8__preview-inspector { border-width: 1px 0 0; border-radius: 0; }
.bms-document-template-admin-v8__advanced-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--bms-space-3); padding: var(--bms-space-3); border-top: 1px solid var(--bms-border); }
.bms-document-template-admin-v8__preview-result { display: grid; gap: var(--bms-space-3); }
.bms-document-template-admin-v8__compare { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: hidden; border: 1px solid var(--bms-border); border-radius: var(--bms-radius-2); }
.bms-document-template-admin-v8__compare article { display: grid; align-content: start; gap: var(--bms-space-1); min-width: 0; padding: var(--bms-space-3); }
.bms-document-template-admin-v8__compare article + article { border-left: 1px solid var(--bms-border); }
.bms-document-template-admin-v8__compare :is(small, span) { color: var(--bms-text-muted); }
.bms-document-template-admin-v8__compare strong { overflow-wrap: anywhere; }
.bms-document-template-admin-v8__compare .btn { justify-self: start; margin-top: var(--bms-space-2); }
.bms-document-template-admin-v8__job { padding: var(--bms-space-3); }
.bms-document-template-admin-v8__job > header { margin-bottom: var(--bms-space-3); }
.bms-document-template-admin-v8__progress { height: 8px; overflow: hidden; border-radius: var(--bms-radius-round); background: var(--bms-neutral-soft); }
.bms-document-template-admin-v8__progress i { display: block; height: 100%; border-radius: inherit; background: var(--bms-primary); transition: width var(--bms-duration-standard) var(--bms-ease-standard); }
.bms-document-template-admin-v8__job dl,
.bms-document-template-admin-v8__trace { display: grid; grid-template-columns: minmax(140px, .6fr) minmax(0, 1.4fr); margin: var(--bms-space-3) 0; }
.bms-document-template-admin-v8__job :is(dt, dd),
.bms-document-template-admin-v8__trace :is(dt, dd) { min-width: 0; margin: 0; padding: var(--bms-space-2); border-bottom: 1px solid var(--bms-border); overflow-wrap: anywhere; }
.bms-document-template-admin-v8__job dt,
.bms-document-template-admin-v8__trace dt { color: var(--bms-text-muted); background: var(--bms-surface-subtle); }
.bms-document-template-admin-v8__job-error { padding: var(--bms-space-2); border: 1px solid color-mix(in srgb, var(--bms-danger) 45%, var(--bms-border)); border-radius: var(--bms-radius-1); color: var(--bms-danger); background: var(--bms-danger-soft); }
.bms-document-template-admin-v8__progress[data-progress="0"] i { width: 0; }
.bms-document-template-admin-v8__progress[data-progress="10"] i { width: 10%; }
.bms-document-template-admin-v8__progress[data-progress="20"] i { width: 20%; }
.bms-document-template-admin-v8__progress[data-progress="30"] i { width: 30%; }
.bms-document-template-admin-v8__progress[data-progress="40"] i { width: 40%; }
.bms-document-template-admin-v8__progress[data-progress="50"] i { width: 50%; }
.bms-document-template-admin-v8__progress[data-progress="60"] i { width: 60%; }
.bms-document-template-admin-v8__progress[data-progress="70"] i { width: 70%; }
.bms-document-template-admin-v8__progress[data-progress="80"] i { width: 80%; }
.bms-document-template-admin-v8__progress[data-progress="90"] i { width: 90%; }
.bms-document-template-admin-v8__progress[data-progress="100"] i { width: 100%; }
.bms-document-template-admin-v8__validation { display: grid; gap: var(--bms-space-2); margin-top: var(--bms-space-3); }
.bms-document-template-admin-v8__validation section { overflow: hidden; border: 1px solid var(--bms-border); border-radius: var(--bms-radius-2); }
.bms-document-template-admin-v8__validation section > header { display: flex; align-items: center; justify-content: space-between; padding: var(--bms-space-2) var(--bms-space-3); background: var(--bms-surface-subtle); }
.bms-document-template-admin-v8__validation :is(ul, p) { margin: 0; padding: var(--bms-space-3); }
.bms-document-template-admin-v8__validation ul { display: grid; gap: var(--bms-space-2); list-style: none; }
.bms-document-template-admin-v8__validation li { display: grid; grid-template-columns: minmax(100px, .35fr) minmax(0, 1.65fr); gap: var(--bms-space-2); }
.bms-document-template-admin-v8__validation li span { overflow-wrap: anywhere; }

/* History keeps dense comparison local, then becomes labeled cards on phones. */
.bms-document-template-admin-v8__history-filters { display: grid; grid-template-columns: minmax(240px, 1.4fr) repeat(4, minmax(135px, .72fr)) auto; gap: var(--bms-space-2); margin-bottom: var(--bms-space-3); padding: var(--bms-space-3); border: 1px solid var(--bms-border); border-radius: var(--bms-radius-2); background: var(--bms-surface-subtle); }
.bms-document-template-admin-v8__history-filters label { display: grid; gap: var(--bms-space-1); min-width: 0; color: var(--bms-text-muted); font-size: 11px; font-weight: 800; }
.bms-document-template-admin-v8__history-filters :is(input, select) { width: 100%; min-width: 0; }
.bms-document-template-admin-v8__history-filters .btn { align-self: end; }
.bms-document-template-admin-v8__advanced-filter { grid-column: 1 / -1; border-top: 1px solid var(--bms-border); }
.bms-document-template-admin-v8__advanced-filter > summary { min-height: var(--bms-control-standard); padding: var(--bms-space-2) 0 0; color: var(--bms-text-muted); cursor: pointer; font-weight: 800; }
.bms-document-template-admin-v8__advanced-filter > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--bms-space-2); padding-top: var(--bms-space-2); }
.bms-document-template-admin-v8__history-wrap { width: 100%; min-width: 0; max-width: 100%; overflow-x: auto; }
.bms-document-template-admin-v8__history-table { width: 100%; min-width: 720px; border-collapse: collapse; }
.bms-document-template-admin-v8__history-table th { position: sticky; top: 0; z-index: var(--bms-z-sticky); }
.bms-document-template-admin-v8__history-table td { min-width: 0; vertical-align: top; }
.bms-document-template-admin-v8__history-table td :is(strong, small, code) { display: block; overflow-wrap: anywhere; }
.bms-document-template-admin-v8__history-table td small { margin-top: 3px; color: var(--bms-text-muted); }
.bms-document-template-admin-v8__row-actions { display: flex; flex-wrap: wrap; gap: var(--bms-space-1); }
.bms-document-template-admin-v8__row-menu { position: relative; }
.bms-document-template-admin-v8__row-menu > summary { display: inline-flex; align-items: center; min-height: var(--bms-control-standard); padding: var(--bms-space-1) var(--bms-space-2); border: 1px solid var(--bms-border); border-radius: var(--bms-radius-1); cursor: pointer; list-style-position: inside; color: var(--bms-text); background: var(--bms-surface); font-weight: 800; }
.bms-document-template-admin-v8__row-menu > div { position: absolute; z-index: var(--bms-z-dropdown); top: calc(100% + var(--bms-space-1)); right: 0; display: grid; gap: var(--bms-space-1); min-width: 150px; padding: var(--bms-space-2); border: 1px solid var(--bms-border); border-radius: var(--bms-radius-1); background: var(--bms-surface); box-shadow: var(--bms-shadow-overlay); }
.bms-document-template-admin-v8__run-kind { display: inline-flex; padding: 4px 8px; border: 1px solid var(--bms-border); border-radius: var(--bms-radius-round); color: var(--bms-primary); background: var(--bms-primary-soft); font-size: 11px; font-weight: 800; }
.bms-document-template-admin-v8__run-kind[data-kind="PROJECT"] { color: var(--bms-success); background: var(--bms-success-soft); }

/* Dialogs and trace detail. */
.bms-document-template-admin-v8__dialog { width: min(760px, calc(100vw - (2 * var(--bms-space-4)))); max-height: calc(100dvh - (2 * var(--bms-space-4))); padding: 0; overflow: hidden; border: 1px solid var(--bms-border); border-radius: var(--bms-radius-3); color: var(--bms-text); background: var(--bms-surface); box-shadow: var(--bms-shadow-overlay); }
.bms-document-template-admin-v8__dialog::backdrop { background: var(--bms-backdrop); }
.bms-document-template-admin-v8__dialog > :is(form, div) { display: grid; max-height: inherit; overflow: auto; }
.bms-document-template-admin-v8__dialog header { position: sticky; top: 0; z-index: var(--bms-z-sticky); padding: var(--bms-space-4); border-bottom: 1px solid var(--bms-border); background: var(--bms-surface); }
.bms-document-template-admin-v8__dialog footer { position: sticky; bottom: 0; z-index: var(--bms-z-sticky); flex-wrap: wrap; justify-content: flex-end; padding: var(--bms-space-3) var(--bms-space-4); border-top: 1px solid var(--bms-border); background: var(--bms-surface); }
.bms-document-template-admin-v8__dialog .field-hint { margin: var(--bms-space-3) var(--bms-space-4) 0; }
.bms-document-template-admin-v8__upload-files { display: grid; gap: var(--bms-space-3); padding: var(--bms-space-4) var(--bms-space-4) 0; }
.bms-document-template-admin-v8__upload-files label { display: grid; grid-template-columns: minmax(150px, .6fr) minmax(190px, 1.4fr); align-items: center; gap: var(--bms-space-1) var(--bms-space-3); padding: var(--bms-space-3); border: 1px solid var(--bms-border); border-radius: var(--bms-radius-2); background: var(--bms-surface-subtle); }
.bms-document-template-admin-v8__upload-files label span { color: var(--bms-text); font-weight: 800; }
.bms-document-template-admin-v8__upload-files label small { color: var(--bms-text-muted); }
.bms-document-template-admin-v8__upload-files input { grid-column: 1 / -1; min-width: 0; width: 100%; }
.bms-document-template-admin-v8__upload-state { margin: var(--bms-space-3) var(--bms-space-4) 0; padding: var(--bms-space-3); border: 1px solid var(--bms-border); border-radius: var(--bms-radius-1); color: var(--bms-primary); background: var(--bms-primary-soft); }
.bms-document-template-admin-v8__upload-state.is-error { border-color: color-mix(in srgb, var(--bms-danger) 45%, var(--bms-border)); color: var(--bms-danger); background: var(--bms-danger-soft); }
.bms-document-template-admin-v8__form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--bms-space-3); padding: var(--bms-space-4) var(--bms-space-4) 0; }
.bms-document-template-admin-v8__form-grid .is-wide { grid-column: 1 / -1; }
.bms-document-template-admin-v8__assignment-summary { padding: var(--bms-space-3); border: 1px solid var(--bms-border); border-radius: var(--bms-radius-1); background: var(--bms-surface-subtle); }
.bms-document-template-admin-v8__assignment-summary p { margin: 0; color: var(--bms-text-muted); }
.bms-document-template-admin-v8__detail [data-doc-detail-body] { padding: 0 var(--bms-space-4); }
.bms-document-template-admin-v8__detail-technical { margin-bottom: var(--bms-space-4); }
.bms-document-template-admin-v8__detail-technical > .bms-document-template-admin-v8__trace { padding: 0 var(--bms-space-3); }
.bms-document-template-admin-v8__detail-technical > .bms-document-template-admin-v8__ai-trace { margin: 0; padding: 0 var(--bms-space-3) var(--bms-space-3); }
.bms-document-template-admin-v8__trace code { overflow-wrap: anywhere; font-family: var(--bms-font-data); }
.bms-document-template-admin-v8__ai-trace { margin-top: var(--bms-space-4); }
.bms-document-template-admin-v8__ai-trace h4 { margin: 0 0 var(--bms-space-2); }
.bms-document-template-admin-v8__ai-empty { padding: var(--bms-space-3); border: 1px solid var(--bms-border); border-radius: var(--bms-radius-1); color: var(--bms-text-muted); background: var(--bms-surface-subtle); }
.bms-document-template-admin-v8__proposals { display: grid; gap: var(--bms-space-3); margin-top: var(--bms-space-4); }
.bms-document-template-admin-v8__proposals > header { padding: 0; }
.bms-document-template-admin-v8__proposals h4 { margin: 0; }
.bms-document-template-admin-v8__proposal-notice { margin: 0; padding: var(--bms-space-3); border: 1px solid color-mix(in srgb, var(--bms-review) 35%, var(--bms-border)); border-radius: var(--bms-radius-1); background: var(--bms-review-soft); }
.bms-document-template-admin-v8__proposal { overflow: hidden; border: 1px solid var(--bms-border); border-radius: var(--bms-radius-2); background: var(--bms-surface); }
.bms-document-template-admin-v8__proposal > :is(header, footer) { display: flex; align-items: center; justify-content: space-between; gap: var(--bms-space-2); padding: var(--bms-space-3); background: var(--bms-surface-subtle); }
.bms-document-template-admin-v8__proposal > header { border-bottom: 1px solid var(--bms-border); }
.bms-document-template-admin-v8__proposal > footer { justify-content: flex-end; border-top: 1px solid var(--bms-border); }
.bms-document-template-admin-v8__proposal > div { padding: var(--bms-space-3); }
.bms-document-template-admin-v8__proposal ul { display: grid; gap: var(--bms-space-1); margin: var(--bms-space-2) 0 0; padding: 0; list-style: none; }
.bms-document-template-admin-v8__proposal li { display: grid; grid-template-columns: minmax(130px, .7fr) minmax(0, 1.3fr); gap: var(--bms-space-2); overflow-wrap: anywhere; }

@media (max-width: 1279px) {
  .bms-document-template-admin-v8__package-body { grid-template-columns: minmax(240px, .9fr) minmax(0, 1.1fr); }
  .bms-document-template-admin-v8__package-body > .bms-document-template-admin-v8__scope { grid-column: 1 / -1; border-top: 1px solid var(--bms-border); border-left: 0; }
  .bms-document-template-admin-v8__mapping-workspace { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bms-document-template-admin-v8__mapping-canvas,
  .bms-document-template-admin-v8__json-advanced { grid-column: 1 / -1; }
  .bms-document-template-admin-v8__json-editor textarea { min-height: 300px; }
  .bms-document-template-admin-v8__history-filters { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 899px) {
  .bms-document-template-admin-v8__package-body,
  .bms-document-template-admin-v8__preview-layout,
  .bms-document-template-admin-v8__mapping-workspace { grid-template-columns: minmax(0, 1fr); }
  .bms-document-template-admin-v8__package-body > * + * { border-top: 1px solid var(--bms-border); border-left: 0; }
  .bms-document-template-admin-v8__package-body > .bms-document-template-admin-v8__scope,
  .bms-document-template-admin-v8__mapping-canvas,
  .bms-document-template-admin-v8__json-advanced { grid-column: auto; }
  .bms-document-template-admin-v8__history-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  .bms-document-template-admin-v8__header,
  .bms-document-template-admin-v8__section-heading,
  .bms-document-template-admin-v8__package-disclosure > summary { align-items: stretch; grid-template-columns: minmax(0, 1fr); }
  .bms-document-template-admin-v8__package-disclosure > summary > span:last-child { justify-content: flex-start; text-align: left; }
  .bms-document-template-admin-v8__header-actions { width: 100%; }
  .bms-document-template-admin-v8__header-actions .btn { flex: 1 1 140px; }
  .bms-document-template-admin-v8__tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bms-document-template-admin-v8__package-disclosure > footer { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bms-document-template-admin-v8__package-disclosure > footer .btn { width: 100%; min-width: 0; white-space: normal; }
  .bms-document-template-admin-v8__original strong { white-space: normal; }
  .bms-document-template-admin-v8__history-filters,
  .bms-document-template-admin-v8__preview-form,
  .bms-document-template-admin-v8__form-grid { grid-template-columns: minmax(0, 1fr); }
  .bms-document-template-admin-v8__preview-form > :is(div:first-child, .bms-document-template-admin-v8__preview-mode, .bms-document-template-admin-v8__derived-context, .bms-document-template-admin-v8__source-cascade, .bms-document-template-admin-v8__source-summary, .bms-document-template-admin-v8__preview-advanced, button[type="submit"]),
  .bms-document-template-admin-v8__form-grid .is-wide { grid-column: auto; }
  .bms-document-template-admin-v8__source-cascade { grid-template-columns: minmax(0, 1fr); }
  .bms-document-template-admin-v8__derived-context,
  .bms-document-template-admin-v8__advanced-grid,
  .bms-document-template-admin-v8__advanced-filter > div { grid-template-columns: minmax(0, 1fr); }
  .bms-document-template-admin-v8__compare { grid-template-columns: minmax(0, 1fr); }
  .bms-document-template-admin-v8__compare article + article { border-top: 1px solid var(--bms-border); border-left: 0; }
  .bms-document-template-admin-v8__map-list article { grid-template-columns: 26px minmax(0, 1fr); }
  .bms-document-template-admin-v8__map-list article > b { display: none; }
  .bms-document-template-admin-v8__map-list article > div:nth-of-type(2),
  .bms-document-template-admin-v8__map-list article > .bms-document-template-admin-v8__origin { grid-column: 2; }
  .bms-document-template-admin-v8__history-wrap { overflow: visible; border: 0; background: transparent; }
  .bms-document-template-admin-v8__history-table,
  .bms-document-template-admin-v8__history-table tbody,
  .bms-document-template-admin-v8__history-table tr,
  .bms-document-template-admin-v8__history-table td { display: block; width: 100%; min-width: 0; }
  .bms-document-template-admin-v8__history-table thead { display: none; }
  .bms-document-template-admin-v8__history-table tbody { display: grid; gap: var(--bms-space-3); }
  .bms-document-template-admin-v8__history-table tr { overflow: hidden; border: 1px solid var(--bms-border); border-radius: var(--bms-radius-2); background: var(--bms-surface); }
  .bms-document-template-admin-v8__history-table td { display: grid; grid-template-columns: minmax(108px, .65fr) minmax(0, 1.35fr); gap: var(--bms-space-2); padding: var(--bms-space-2) var(--bms-space-3); border-bottom: 1px solid var(--bms-border); }
  .bms-document-template-admin-v8__history-table td:last-child { border-bottom: 0; }
  .bms-document-template-admin-v8__history-table td::before { content: attr(data-label); color: var(--bms-text-muted); font-size: 11px; font-weight: 800; }
  .bms-document-template-admin-v8__row-actions { min-width: 0; }
  .bms-document-template-admin-v8__row-menu > div { position: static; margin-top: var(--bms-space-1); box-shadow: none; }
  .bms-document-template-admin-v8__dialog { width: calc(100vw - (2 * var(--bms-space-2))); max-height: calc(100dvh - (2 * var(--bms-space-2))); border-radius: var(--bms-radius-2); }
  .bms-document-template-admin-v8__dialog footer .btn { flex: 1 1 130px; }
  .bms-document-template-admin-v8__job dl,
  .bms-document-template-admin-v8__trace { grid-template-columns: minmax(110px, .55fr) minmax(0, 1.45fr); }
  .bms-document-template-admin-v8__validation li,
  .bms-document-template-admin-v8__proposal li { grid-template-columns: minmax(0, 1fr); }
  .bms-document-template-admin-v8__upload-files label { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 430px) {
  .bms-document-template-admin-v8__header,
  .bms-document-template-admin-v8__package-disclosure > :is(summary, footer),
  .bms-document-template-admin-v8__package-body > *,
  .bms-document-template-admin-v8__preview-form,
  .bms-document-template-admin-v8__preview-result { padding: var(--bms-space-3); }
  .bms-document-template-admin-v8__package-disclosure > footer { grid-template-columns: minmax(0, 1fr); }
  .bms-document-template-admin-v8 :is(.bms-document-template-admin-v8__facts, .bms-document-template-admin-v8__scope dl, .bms-document-template-admin-v8__source-summary dl, .bms-document-template-admin-v8__trace, .bms-document-template-admin-v8__job dl) { grid-template-columns: minmax(0, 1fr); }
  .bms-document-template-admin-v8 :is(.bms-document-template-admin-v8__facts, .bms-document-template-admin-v8__scope dl, .bms-document-template-admin-v8__source-summary dl) dd { padding-top: 0; }
  .bms-document-template-admin-v8__history-table td { grid-template-columns: minmax(0, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
  .bms-document-template-admin-v8__progress i { transition: none; }
}
