/* Dubow API Builder V16. Deliberately scoped to this dialog.
   All field IDs and request-generation rules remain in json-builder.js. */
#jsonBuilderOverlay {
  --builder-ink:#13243a;
  --builder-muted:#64748b;
  --builder-line:#e0e8f0;
  --builder-soft:#f6f9fc;
  --builder-primary:#087fae;
  --builder-dark:#101c2d;
  background:rgba(10,24,42,.68)!important;
  padding:14px!important;
}
#jsonBuilderOverlay .modal-panel {
  width:min(1510px,calc(100vw - 28px));
  max-height:min(96dvh,1050px);
  height:min(96dvh,1050px);
  min-height:0;
  display:flex;
  flex-direction:column;
  border:1px solid rgba(217,230,240,.9);
  border-radius:17px!important;
  box-shadow:0 30px 95px rgba(9,25,42,.35);
  overflow:hidden;
}
#jsonBuilderOverlay .modal-header {
  flex:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:17px 23px!important;
  min-height:88px;
  background:#fff;
  border-bottom:1px solid var(--builder-line);
}
#jsonBuilderOverlay .builder-identity {display:flex;align-items:center;gap:13px;min-width:0;}
#jsonBuilderOverlay .builder-identity-icon {
  display:grid;place-items:center;flex:none;width:43px;height:43px;
  border:1px solid #c9e7f6;border-radius:12px;
  background:#eaf7fd;color:#087ca9;font-size:17px;
}
#jsonBuilderOverlay .builder-eyebrow {
  display:block;font:800 10px/1.35 "Segoe UI",Arial,sans-serif;
  letter-spacing:.1em;color:#477b98;text-transform:uppercase;
}
#jsonBuilderOverlay .modal-header h2 {
  margin:2px 0 2px!important;color:#13243a;font:780 22px/1.2 "Segoe UI",Arial,sans-serif!important;
  letter-spacing:-.025em;
}
#jsonBuilderOverlay .modal-header p {font:400 12.5px/1.45 "Segoe UI",Arial,sans-serif;color:#72849b;}
#jsonBuilderOverlay .builder-header-right {display:flex;align-items:center;gap:13px;flex:none;}
#jsonBuilderOverlay .builder-local-note {
  display:flex;align-items:center;gap:7px;padding:8px 11px;
  color:#38657e;background:#f0f8fc;border:1px solid #d6eaf5;
  border-radius:999px;font:700 11px/1.2 "Segoe UI",Arial,sans-serif;white-space:nowrap;
}
#jsonBuilderOverlay .icon-button {
  display:grid;place-items:center;width:35px;height:35px;flex:none;
  border-radius:10px;border-color:#dbe4ed;font:400 24px/1 Arial,sans-serif;
  color:#5e7185;
}
#jsonBuilderOverlay .icon-button:hover {background:#f1f6fb;color:#0e6e97;}
#jsonBuilderOverlay .builder-mobile-tabs {display:none;}
#jsonBuilderOverlay .builder-grid {
  display:grid;
  grid-template-columns:minmax(0, .93fr) minmax(0, 1.07fr);
  flex:1;min-height:0;width:100%;height:auto;
  background:#fff;overflow:hidden;
}
#jsonBuilderOverlay .builder-form,
#jsonBuilderOverlay section.json-output-panel {
  box-sizing:border-box;min-width:0;width:100%;min-height:0;
  height:100%;max-height:none;overflow-y:auto;overflow-x:hidden;
  overscroll-behavior:contain;
  padding:20px 24px 0!important;
  margin:0!important;
}
#jsonBuilderOverlay .builder-form {
  background:var(--builder-soft);
  border-right:1px solid #dce5ef;
  scrollbar-color:#c9d7e4 transparent;
}
#jsonBuilderOverlay section.json-output-panel {background:#fff;scrollbar-color:#c9d7e4 transparent;padding:20px 24px 28px!important;}
#jsonBuilderOverlay .builder-pane-intro {
  display:flex;justify-content:space-between;align-items:center;gap:12px;
  margin:0 0 14px;
}
#jsonBuilderOverlay .builder-pane-intro strong {display:block;margin-top:3px;color:#172a40;font:760 16px/1.3 "Segoe UI",Arial,sans-serif;}
#jsonBuilderOverlay .builder-auto-label {
  display:inline-flex;align-items:center;gap:7px;white-space:nowrap;
  font:650 11px/1.2 "Segoe UI",Arial,sans-serif;color:#5b778b;
}
#jsonBuilderOverlay .builder-live-dot {width:7px;height:7px;border-radius:50%;background:#19aa73;box-shadow:0 0 0 3px #d8f6e9;}
#jsonBuilderOverlay section.form-section {
  background:#fff!important;
  border:1px solid var(--builder-line)!important;
  border-radius:12px!important;
  box-shadow:0 3px 10px rgba(25,55,86,.025)!important;
  padding:16px 17px!important;
  margin:0 0 12px!important;
}
#jsonBuilderOverlay section.form-section h3 {
  font:760 15px/1.3 "Segoe UI",Arial,sans-serif!important;
  color:var(--builder-ink)!important;
  margin:0 0 12px!important;
  letter-spacing:-.01em;
}
#jsonBuilderOverlay section.form-section .section-title-row {margin-bottom:10px;}
#jsonBuilderOverlay section.form-section .section-title-row h3 {margin:0!important;}
#jsonBuilderOverlay section.form-section .section-help {margin:0 0 12px;color:#677b90;font-size:12px;line-height:1.5;}
#jsonBuilderOverlay .doc-builder-form-hint {margin:11px 0 0;color:#7b8da2;font-size:11.5px;}
#jsonBuilderOverlay .field-grid {gap:12px;}
#jsonBuilderOverlay .field-grid.two {grid-template-columns:repeat(2,minmax(0,1fr));}
#jsonBuilderOverlay .field-grid.three {grid-template-columns:repeat(3,minmax(0,1fr));}
#jsonBuilderOverlay label {
  min-width:0;gap:6px;
  font:650 12px/1.35 "Segoe UI",Arial,sans-serif;
  color:#40556e;
}
#jsonBuilderOverlay input:not([type="checkbox"]),
#jsonBuilderOverlay select {
  display:block;max-width:100%;min-width:0;width:100%;height:41px;
  border:1px solid #cfdae6!important;border-radius:8px!important;
  background:#fff;color:#253c51;
  font:500 13px/1.35 "Segoe UI",Arial,sans-serif;
  padding:9px 11px!important;box-shadow:none!important;
}
#jsonBuilderOverlay select {padding-right:25px!important;}
#jsonBuilderOverlay input:focus,#jsonBuilderOverlay select:focus {
  outline:2px solid rgba(8,136,185,.20)!important;outline-offset:1px;border-color:#38a6cf!important;
}
#jsonBuilderOverlay .builder-optional-settings {
  margin-top:15px;border:1px solid #dce7f1;border-radius:9px;
  background:#f9fbfd;overflow:hidden;
}
#jsonBuilderOverlay .builder-optional-settings>summary {
  display:flex;align-items:center;gap:7px 12px;flex-wrap:wrap;
  list-style:none;padding:12px 13px;cursor:pointer;
  font:730 12px/1.4 "Segoe UI",Arial,sans-serif;color:#1e587c;
}
#jsonBuilderOverlay .builder-optional-settings>summary::-webkit-details-marker {display:none;}
#jsonBuilderOverlay .builder-optional-settings>summary>span {display:flex;align-items:center;gap:8px;}
#jsonBuilderOverlay .builder-optional-settings>summary small {font-weight:500;color:#768da0;font-size:11px;}
#jsonBuilderOverlay .builder-optional-settings[open]>summary {border-bottom:1px solid #dfe9f2;background:#f1f8fc;}
#jsonBuilderOverlay .builder-optional-body {padding:13px;}
#jsonBuilderOverlay .builder-hidden-legacy-control {display:none!important;}
#jsonBuilderOverlay .toggle-row {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:13px;}
#jsonBuilderOverlay .toggle-row label {display:flex;flex-direction:row;align-items:flex-start;gap:8px;font-weight:550;font-size:12px;}
#jsonBuilderOverlay .toggle-row input[type=checkbox] {flex:none;width:15px;height:15px;margin:0;accent-color:#0787b6;}
#jsonBuilderOverlay .repeater-card {background:#fff;border:1px solid #dae4ed;border-radius:10px;padding:14px;margin-top:10px;}
#jsonBuilderOverlay .repeater-card.part-card {background:#f8fafc;}
#jsonBuilderOverlay .repeater-card.design-card {background:#fff;}
#jsonBuilderOverlay .repeater-card h4 {font:740 13px/1.35 "Segoe UI",Arial,sans-serif;color:#19324c;}
#jsonBuilderOverlay .repeater-header {gap:8px;flex-wrap:wrap;}
#jsonBuilderOverlay .size-card {background:#f9fcfe;border-radius:8px;border-color:#dce7ee;}
#jsonBuilderOverlay .button {
  display:inline-flex;justify-content:center;align-items:center;gap:7px;
  border-radius:8px!important;padding:9px 13px;
  font:730 12px/1.3 "Segoe UI",Arial,sans-serif;
  transition:background .15s,border-color .15s;white-space:nowrap;
}
#jsonBuilderOverlay .button.primary {background:#0788b9!important;border:1px solid #0788b9!important;color:#fff!important;}
#jsonBuilderOverlay .button.primary:hover {background:#056c95!important;border-color:#056c95!important;}
#jsonBuilderOverlay .button.secondary {background:#fff!important;border:1px solid #ccd9e6!important;color:#36536e!important;}
#jsonBuilderOverlay .button.secondary:hover {background:#edf7fc!important;border-color:#85c7e0!important;}
#jsonBuilderOverlay .button.small {padding:8px 10px;font-size:11px;}
#jsonBuilderOverlay .form-actions {
  position:sticky;bottom:0;z-index:5;
  display:flex;align-items:center;gap:8px;
  background:rgba(246,249,252,.96);border-top:1px solid #dce5ee;
  margin:16px -24px 0;padding:13px 24px 15px;
  backdrop-filter:blur(12px);
}
#jsonBuilderOverlay .builder-reset-action {margin-left:auto;}
#jsonBuilderOverlay .output-header {
  display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:14px;
  padding:0 0 15px;margin:0 0 13px;border-bottom:1px solid #e8eef4;
}
#jsonBuilderOverlay .output-header h3 {
  font:780 21px/1.2 "Segoe UI",Arial,sans-serif!important;
  letter-spacing:-.025em;color:#13253d!important;margin:2px 0 5px;
}
#jsonBuilderOverlay .output-header p {max-width:400px;color:#73869c;font-size:12px;line-height:1.5;}
#jsonBuilderOverlay .output-actions {display:flex;align-items:center;gap:7px;flex-wrap:wrap;}
#jsonBuilderOverlay #backToForm {display:none;}
#jsonBuilderOverlay .builder-host-strip {
  display:flex;gap:9px 14px;align-items:center;flex-wrap:wrap;
  padding:10px 12px;margin-bottom:12px;border:1px solid #daebf4;
  border-radius:10px;background:#f5fafc;color:#5f7b8e;
  font:520 11px/1.4 "Segoe UI",Arial,sans-serif;
}
#jsonBuilderOverlay .builder-host {display:inline-flex;align-items:center;gap:5px;white-space:nowrap;min-width:0;}
#jsonBuilderOverlay .builder-host strong {color:#235875;font-weight:800;}
#jsonBuilderOverlay .builder-host-cloud i {color:#0789bc;}
#jsonBuilderOverlay .builder-host-dot {width:7px;height:7px;border-radius:50%;background:#0b97bd;}
#jsonBuilderOverlay .builder-host-help {margin-left:auto;color:#6990a5;font-size:10px;}
#jsonBuilderOverlay .api-code-card {
  min-width:0;margin:0 0 13px!important;border-radius:11px!important;overflow:hidden;
  border:1px solid #20354c!important;box-shadow:none!important;background:#101c2d!important;
}
#jsonBuilderOverlay .api-code-head {
  display:flex;align-items:center;gap:8px;justify-content:space-between;
  background:#18283e!important;color:#fff;padding:9px 13px!important;border-bottom:1px solid #32465c!important;
}
#jsonBuilderOverlay .api-code-head strong {font:750 10px/1.25 "Segoe UI",Arial,sans-serif;letter-spacing:.065em;color:#c8e3f5!important;}
#jsonBuilderOverlay .api-code-head .api-collapse-btn {margin-left:auto;color:#dceefa!important;background:#2a4055!important;border:1px solid #426179!important;padding:5px 10px;border-radius:6px;font-size:10px;}
#jsonBuilderOverlay .api-code-card .json-box {
  box-sizing:border-box;display:block;margin:0;padding:18px!important;
  background:#101a2b!important;color:#dcebf7!important;
  min-height:280px;max-height:min(55vh,530px)!important;height:min(55vh,530px);
  border:0;border-radius:0;overflow:auto;
  font:12.5px/1.65 Consolas,Monaco,"Courier New",monospace!important;
  white-space:pre!important;tab-size:2;
}
#jsonBuilderOverlay .api-code-card .json-box code {background:transparent!important;padding:0!important;font-size:inherit!important;white-space:pre!important;}
#jsonBuilderOverlay .builder-endpoints-accordion,
#jsonBuilderOverlay .validation-card {
  display:block!important;margin:0 0 12px;padding:0!important;
  border:1px solid #dae7f0!important;border-radius:10px!important;background:#fff!important;
  box-shadow:none!important;overflow:hidden;
}
#jsonBuilderOverlay .builder-endpoints-accordion>summary,
#jsonBuilderOverlay .validation-card>summary {
  list-style:none;display:flex;align-items:center;gap:10px;cursor:pointer;
  padding:13px 15px;font:730 12px/1.3 "Segoe UI",Arial,sans-serif;color:#23435e;
  background:#f7fafc;
}
#jsonBuilderOverlay .builder-endpoints-accordion>summary::-webkit-details-marker,
#jsonBuilderOverlay .validation-card>summary::-webkit-details-marker {display:none;}
#jsonBuilderOverlay .builder-endpoints-title,
#jsonBuilderOverlay .validation-card>summary>span {display:inline-flex;align-items:center;gap:9px;}
#jsonBuilderOverlay .builder-endpoints-title i,
#jsonBuilderOverlay .validation-card>summary>span i {color:#128ab6;}
#jsonBuilderOverlay .builder-endpoints-summary,
#jsonBuilderOverlay .validation-card>summary small {font-size:10.5px;color:#73889c;font-weight:500;}
#jsonBuilderOverlay .builder-endpoints-arrow,
#jsonBuilderOverlay .validation-card>summary>.builder-guidance-arrow {margin-left:auto;}
#jsonBuilderOverlay .builder-endpoints-accordion[open]>summary .builder-endpoints-arrow,
#jsonBuilderOverlay .validation-card[open]>summary>.builder-guidance-arrow {transform:rotate(225deg);}
#jsonBuilderOverlay .builder-endpoints-body {padding:12px 13px 2px;border-top:1px solid #e4edf4;}
#jsonBuilderOverlay .doc-builder-request-meta,
#jsonBuilderOverlay .doc-builder-cloud-primary {
  margin:0 0 10px!important;box-shadow:none;border-radius:8px;padding:11px 12px;
  display:grid;grid-template-columns:auto 135px minmax(0,1fr) auto;gap:7px 10px;align-items:center;
}
#jsonBuilderOverlay .doc-builder-request-meta {background:#f4f9fc;border:1px solid #dbeaf3;}
#jsonBuilderOverlay .doc-builder-cloud-primary {grid-template-columns:145px minmax(0,1fr) auto;}
#jsonBuilderOverlay .doc-builder-primary-label {font-size:10px;color:#426b84;}
#jsonBuilderOverlay .doc-builder-request-meta code {min-width:0!important;flex:auto;overflow-wrap:anywhere;word-break:break-word;font-size:10px;}
#jsonBuilderOverlay .doc-builder-cloud-primary code {min-width:0;overflow-wrap:anywhere;word-break:break-word;font-size:10px;}
#jsonBuilderOverlay .doc-builder-cloud-note {font-size:11px;line-height:1.5;}
#jsonBuilderOverlay .doc-builder-cloud-guide-link {font-size:11px;}
#jsonBuilderOverlay .doc-builder-url-details {margin:0 0 11px!important;background:#f8fbfd;}
#jsonBuilderOverlay .validation-card>summary {background:#f8fafc;}
#jsonBuilderOverlay .validation-card.has-errors {border-color:#f7bebe!important;}
#jsonBuilderOverlay .validation-card.has-errors>summary {background:#fff1f1;color:#9c3030;}
#jsonBuilderOverlay .validation-card.has-warnings {border-color:#edd4a0!important;}
#jsonBuilderOverlay .validation-card.has-warnings>summary {background:#fffaf0;}
#jsonBuilderOverlay .validation-card ul {padding:13px 14px 14px 30px;margin:0;border-top:1px solid #e7edf4;list-style:disc;}
#jsonBuilderOverlay .validation-card li {padding:2px 0;font-size:11.5px;line-height:1.5;color:#556c7f;}
#jsonBuilderOverlay [hidden] {display:none!important;}
@media(max-width:1180px) and (min-width:901px) {
  #jsonBuilderOverlay .builder-grid {grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
  #jsonBuilderOverlay .field-grid.three {grid-template-columns:repeat(2,minmax(0,1fr));}
  #jsonBuilderOverlay .doc-builder-request-meta {grid-template-columns:auto minmax(0,1fr) auto;}
  #jsonBuilderOverlay .doc-builder-request-meta code {grid-column:1 / -1;grid-row:2;}
  #jsonBuilderOverlay .doc-builder-cloud-primary {grid-template-columns:minmax(0,1fr) auto;}
  #jsonBuilderOverlay .doc-builder-cloud-label {grid-column:1 / -1;}
  #jsonBuilderOverlay .doc-builder-cloud-primary code {grid-column:1 / -1;}
  #jsonBuilderOverlay .doc-builder-cloud-note {grid-column:1 / -1;}
  #jsonBuilderOverlay .doc-builder-cloud-guide-link {grid-column:1 / -1;justify-self:start;}
}
@media(max-width:900px) {
  #jsonBuilderOverlay {padding:7px!important;}
  #jsonBuilderOverlay .modal-panel {
    width:100%;height:calc(100dvh - 14px);max-height:calc(100dvh - 14px);
    border-radius:13px!important;
  }
  #jsonBuilderOverlay .modal-header {padding:12px 14px!important;min-height:70px;gap:10px;}
  #jsonBuilderOverlay .builder-identity {gap:9px;}
  #jsonBuilderOverlay .builder-identity-icon {width:35px;height:35px;border-radius:9px;font-size:14px;}
  #jsonBuilderOverlay .modal-header h2 {font-size:17px!important;}
  #jsonBuilderOverlay .modal-header p {font-size:10.5px;line-height:1.35;}
  #jsonBuilderOverlay .builder-local-note {display:none;}
  #jsonBuilderOverlay .builder-eyebrow {font-size:9px;}
  #jsonBuilderOverlay .icon-button {height:32px;width:32px;font-size:23px;}
  #jsonBuilderOverlay .builder-mobile-tabs {display:flex;flex:none;padding:8px 13px;background:#fff;gap:6px;border-bottom:1px solid #dae5ef;}
  #jsonBuilderOverlay .builder-mobile-tab {
    display:flex;align-items:center;justify-content:center;gap:7px;flex:1;
    background:#f5f8fb;color:#647b91;border:1px solid #e2e9f1;
    font:740 12px/1.3 "Segoe UI",Arial,sans-serif;padding:10px 8px;border-radius:8px;
  }
  #jsonBuilderOverlay .builder-mobile-tab.is-active {background:#e8f5fb;color:#087da9;border-color:#9bd5ed;}
  #jsonBuilderOverlay .builder-grid {display:block!important;min-height:0;height:auto;width:100%;flex:1;overflow:hidden!important;}
  #jsonBuilderOverlay .builder-form,
  #jsonBuilderOverlay section.json-output-panel {
    width:100%;height:100%;max-height:none;overflow-y:auto!important;overflow-x:hidden;
    padding:16px 15px 0!important;
    border:0!important;
  }
  #jsonBuilderOverlay section.json-output-panel {padding:16px 15px 22px!important;}
  #jsonBuilderOverlay[data-builder-view="form"] .builder-form {display:block!important;}
  #jsonBuilderOverlay[data-builder-view="form"] section.json-output-panel {display:none!important;}
  #jsonBuilderOverlay[data-builder-view="preview"] .builder-form {display:none!important;}
  #jsonBuilderOverlay[data-builder-view="preview"] section.json-output-panel {display:block!important;}
  #jsonBuilderOverlay .builder-pane-intro {margin-bottom:12px;}
  #jsonBuilderOverlay .form-actions {margin:12px -15px 0;padding:10px 15px 14px;gap:6px;flex-wrap:nowrap;}
  #jsonBuilderOverlay .form-actions .button {font-size:11px;padding:10px;}
  #jsonBuilderOverlay .form-actions #builderGenerateButton {flex:1;}
  #jsonBuilderOverlay .builder-reset-action {margin-left:0;}
  #jsonBuilderOverlay .field-grid.three {grid-template-columns:repeat(2,minmax(0,1fr));}
  #jsonBuilderOverlay .output-header {align-items:flex-start;}
  #jsonBuilderOverlay .output-header h3 {font-size:19px!important;}
  #jsonBuilderOverlay #backToForm {display:inline-flex;}
  #jsonBuilderOverlay .builder-host-help {display:none;}
  #jsonBuilderOverlay .api-code-card .json-box {min-height:240px;height:48vh;max-height:48vh!important;}
  #jsonBuilderOverlay .doc-builder-request-meta {grid-template-columns:auto minmax(0,1fr) auto;gap:8px;}
  #jsonBuilderOverlay .doc-builder-request-meta code {grid-column:1 / -1;grid-row:2;}
  #jsonBuilderOverlay .doc-builder-cloud-primary {grid-template-columns:minmax(0,1fr) auto;}
  #jsonBuilderOverlay .doc-builder-cloud-label {grid-column:1 / -1;}
  #jsonBuilderOverlay .doc-builder-cloud-primary code {grid-column:1 / -1;}
  #jsonBuilderOverlay .doc-builder-cloud-note {grid-column:1 / -1;}
  #jsonBuilderOverlay .doc-builder-cloud-guide-link {grid-column:1 / -1;justify-self:start;}
}
@media(max-width:480px) {
  #jsonBuilderOverlay .field-grid.two,#jsonBuilderOverlay .field-grid.three {grid-template-columns:1fr!important;}
  #jsonBuilderOverlay section.form-section {padding:15px!important;}
  #jsonBuilderOverlay .toggle-row {grid-template-columns:1fr;}
  #jsonBuilderOverlay .builder-optional-settings>summary small {flex-basis:100%;margin-left:24px;}
  #jsonBuilderOverlay .builder-host-strip {font-size:10px;gap:5px 12px;}
  #jsonBuilderOverlay .builder-host {white-space:normal;overflow-wrap:anywhere;}
  #jsonBuilderOverlay .builder-endpoints-summary {display:none;}
  #jsonBuilderOverlay .form-actions .button {font-size:10px;padding:9px 8px;}
  #jsonBuilderOverlay .output-actions {width:100%;gap:6px;}
  #jsonBuilderOverlay .output-actions .button {flex:1;}
  #jsonBuilderOverlay .modal-header p {max-width:240px;}
}

/* Inline SVG and CSS-only indicators keep the builder self-contained. */
#jsonBuilderOverlay .builder-identity-icon svg {display:block;width:22px;height:22px;}
#jsonBuilderOverlay .builder-local-note::before {content:"";display:inline-block;width:7px;height:7px;flex:none;border-radius:50%;background:#16a474;}
#jsonBuilderOverlay .builder-host-cloud::before {content:"";width:7px;height:7px;flex:none;border-radius:50%;background:#0e90c0;}
#jsonBuilderOverlay .builder-endpoints-title::before {content:"";width:7px;height:7px;border-radius:50%;background:#0b8ebc;}
#jsonBuilderOverlay .validation-card>summary>span:first-child::before {content:"";width:7px;height:7px;border-radius:50%;background:#0b8ebc;}
#jsonBuilderOverlay .builder-endpoints-arrow,
#jsonBuilderOverlay .builder-guidance-arrow {display:block;width:8px;height:8px;flex:none;margin-left:auto;border-right:1.8px solid #758da2;border-bottom:1.8px solid #758da2;transform:rotate(45deg);transition:transform .15s;}
#jsonBuilderOverlay .builder-endpoints-accordion[open] .builder-endpoints-arrow,
#jsonBuilderOverlay .validation-card[open] .builder-guidance-arrow {transform:rotate(225deg);}
@media (max-width:1180px) and (min-width:901px) {
  #jsonBuilderOverlay label:has(#poNumber) {grid-column:1/-1;}
}


/* V17: Compact order forms. All selectors stay inside the Builder dialog.
   Existing IDs, data attributes, listeners, validation, and payload generation are unchanged. */
#jsonBuilderOverlay .builder-form {container: builderPane / inline-size;}
#jsonBuilderOverlay section.form-section {
  padding:12px 13px!important;
  margin-bottom:9px!important;
}
#jsonBuilderOverlay section.form-section h3 {margin-bottom:8px!important;font-size:14px!important;}
#jsonBuilderOverlay section.form-section .section-title-row {margin-bottom:7px;}
#jsonBuilderOverlay section.form-section .section-help {margin:0 0 8px;font-size:11px;line-height:1.4;}
#jsonBuilderOverlay .field-grid {gap:8px 9px;}
#jsonBuilderOverlay label {gap:4px;font-size:11px;line-height:1.25;}
#jsonBuilderOverlay input:not([type="checkbox"]),
#jsonBuilderOverlay select {height:35px;padding:6px 9px!important;font-size:12px;}
#jsonBuilderOverlay select {padding-right:22px!important;}
#jsonBuilderOverlay .repeater-list,
#jsonBuilderOverlay .parts-list,
#jsonBuilderOverlay .designs-list {gap:7px;}
#jsonBuilderOverlay .repeater-card {
  padding:10px 11px;
  margin-top:7px;
  border-radius:9px;
}
#jsonBuilderOverlay .repeater-card.manifest-card {background:#fff;}
#jsonBuilderOverlay .repeater-card.part-card {
  background:#f8fbfd;
  border-left:3px solid #aed7eb;
  padding:10px 11px;
  margin-top:8px;
}
#jsonBuilderOverlay .repeater-card.design-card {
  background:#fff;
  border-color:#d9e6ed;
  padding:9px 10px;
  margin-top:7px;
}
#jsonBuilderOverlay .repeater-header {
  margin:0 0 8px;
  gap:6px;
  flex-wrap:wrap;
}
#jsonBuilderOverlay .repeater-header h4 {font-size:12px;line-height:1.25;margin:0;}
#jsonBuilderOverlay .repeater-actions {gap:5px;}
#jsonBuilderOverlay .repeater-actions .button.small,
#jsonBuilderOverlay .size-card .button.small {
  min-height:29px;
  padding:5px 8px;
  font-size:10px;
  line-height:1.2;
}
#jsonBuilderOverlay .manifest-card > .field-grid.three {
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  gap:8px 9px;
}
#jsonBuilderOverlay .manifest-card > .field-grid.three > label:has([data-ship-method]),
#jsonBuilderOverlay .manifest-card > .field-grid.three > label:has([data-address1]),
#jsonBuilderOverlay .manifest-card > .field-grid.three > label:has([data-address3]),
#jsonBuilderOverlay .manifest-card > .field-grid.three > label:has([data-city]) {grid-column:span 4;}
#jsonBuilderOverlay .manifest-card > .field-grid.three > label:has([data-state]) {grid-column:span 2;}
#jsonBuilderOverlay .manifest-card > .field-grid.three > label:has([data-zip]),
#jsonBuilderOverlay .manifest-card > .field-grid.three > label:has([data-country]) {grid-column:span 3;}
#jsonBuilderOverlay .part-card > .field-grid.three {grid-template-columns:repeat(3,minmax(0,1fr))!important;}
#jsonBuilderOverlay .part-card > .field-grid.three > label:has([data-procurement-type]) {grid-column:span 2;}
#jsonBuilderOverlay .size-list {display:flex;flex-direction:column;gap:6px;margin-top:9px;}
#jsonBuilderOverlay .size-card {
  display:grid;
  grid-template-columns:minmax(72px,max-content) minmax(0,1fr) auto;
  align-items:end;
  gap:8px;
  padding:7px 9px;
  margin:0;
  border:1px solid #dce7ee;
  border-radius:7px;
  background:#fff;
}
#jsonBuilderOverlay .size-card .repeater-header {display:contents;}
#jsonBuilderOverlay .size-card .repeater-header h4 {
  grid-column:1;
  grid-row:1;
  align-self:center;
  font-size:11px;
  white-space:nowrap;
}
#jsonBuilderOverlay .size-card .repeater-header .repeater-actions {
  grid-column:3;grid-row:1;align-self:end;
}
#jsonBuilderOverlay .size-card > .field-grid.two {
  grid-column:2;grid-row:1;
  grid-template-columns:minmax(0,0.8fr) minmax(0,1.2fr)!important;
  gap:7px;
}
#jsonBuilderOverlay .size-card label {font-size:10.5px;gap:3px;}
#jsonBuilderOverlay .size-card input:not([type="checkbox"]) {height:32px;}
#jsonBuilderOverlay .designs-list {margin-top:8px;}
#jsonBuilderOverlay .design-card > .field-grid.three {gap:8px 9px;}
#jsonBuilderOverlay .preview-box,
#jsonBuilderOverlay .personalization-box {
  margin-top:8px;
  padding:9px 10px;
  border-radius:7px;
  border:1px solid #e1eaf1;
  background:#fcfdff;
}
#jsonBuilderOverlay .preview-box h4,
#jsonBuilderOverlay .personalization-box h4 {font-size:11px;line-height:1.25;margin:0 0 7px;}
#jsonBuilderOverlay .preview-box .field-grid.two {gap:7px 9px;}
#jsonBuilderOverlay .inline-help {margin:2px 0 8px;font-size:10.5px;line-height:1.35;}
#jsonBuilderOverlay .required-note {font-size:10px;line-height:1.25;margin-top:2px;}
#jsonBuilderOverlay .builder-optional-settings {margin-top:10px;}
#jsonBuilderOverlay .builder-optional-settings>summary {padding:9px 11px;}
#jsonBuilderOverlay .builder-optional-body {padding:10px;}
#jsonBuilderOverlay .toggle-row {gap:7px 12px;margin-top:10px;}

/* Responsive to the width of the form pane, not the browser viewport. */
@container builderPane (max-width: 550px) {
  #jsonBuilderOverlay .manifest-card > .field-grid.three > label:has([data-ship-method]),
  #jsonBuilderOverlay .manifest-card > .field-grid.three > label:has([data-address1]),
  #jsonBuilderOverlay .manifest-card > .field-grid.three > label:has([data-address3]),
  #jsonBuilderOverlay .manifest-card > .field-grid.three > label:has([data-city]) {grid-column:span 6;}
  #jsonBuilderOverlay .manifest-card > .field-grid.three > label:has([data-state]),
  #jsonBuilderOverlay .manifest-card > .field-grid.three > label:has([data-zip]),
  #jsonBuilderOverlay .manifest-card > .field-grid.three > label:has([data-country]) {grid-column:span 4;}
  #jsonBuilderOverlay .part-card > .field-grid.three {grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  #jsonBuilderOverlay .part-card > .field-grid.three > label:has([data-description]) {grid-column:auto;}
  #jsonBuilderOverlay .part-card > .field-grid.three > label:has([data-procurement-type]) {grid-column:span 2;}
  #jsonBuilderOverlay .design-card > .field-grid.three {grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  #jsonBuilderOverlay .design-card > .field-grid.three > label:has([data-garment-location]) {grid-column:span 2;}
}
@container builderPane (max-width: 425px) {
  #jsonBuilderOverlay .manifest-card > .field-grid.three > label:has([data-address3]) {grid-column:span 12;}
  #jsonBuilderOverlay .manifest-card > .field-grid.three > label:has([data-state]),
  #jsonBuilderOverlay .manifest-card > .field-grid.three > label:has([data-zip]),
  #jsonBuilderOverlay .manifest-card > .field-grid.three > label:has([data-country]) {grid-column:span 6;}
  #jsonBuilderOverlay .size-card {grid-template-columns:minmax(0,1fr) auto;gap:6px 8px;}
  #jsonBuilderOverlay .size-card .repeater-header h4 {grid-column:1;grid-row:1;}
  #jsonBuilderOverlay .size-card .repeater-header .repeater-actions {grid-column:2;grid-row:1;}
  #jsonBuilderOverlay .size-card > .field-grid.two {
    grid-column:1 / -1;grid-row:2;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  #jsonBuilderOverlay .preview-box .field-grid.two {grid-template-columns:1fr!important;}
}
@container builderPane (max-width: 350px) {
  #jsonBuilderOverlay .repeater-header {align-items:flex-start;}
  #jsonBuilderOverlay .manifest-card > .repeater-header .repeater-actions,
  #jsonBuilderOverlay .part-card > .repeater-header .repeater-actions {width:100%;justify-content:flex-start;}
  #jsonBuilderOverlay .size-card .repeater-header .repeater-actions {width:auto;justify-content:flex-end;}
  #jsonBuilderOverlay .part-card > .field-grid.three > label:has([data-description]) {grid-column:auto;}
}

/* The State note appears only while a required state value is missing. */
#jsonBuilderOverlay label:has([data-state]:valid) .required-note {display:none;}
/* The preview fields already identify the section; no duplicate heading is necessary. */
#jsonBuilderOverlay .preview-box > h4 {display:none;}
