.pos-connections { min-width: 0; }
.pos-connections :is(h2,h3,h4,p,small,legend,label) { overflow-wrap: anywhere; }
.pos-connections h3 { margin: 0 0 12px; font-size: 15px; }
.pos-connections h4 { margin: 16px 0 8px; font-size: 13px; }
.pos-connections p { font-size: 13px; line-height: 1.6; }
.pos-layout { display: grid; grid-template-columns: minmax(200px, .8fr) minmax(0, 2.5fr); gap: 20px; margin-top: 20px; align-items: start; }
.pos-catalogue { min-width: 0; border-right: 1px solid #46516c; padding-right: 18px; }
.pos-connections label { display: grid; gap: 8px; min-width: 0; font-size: 13px; }
.pos-connections :is(input,textarea,select) { border: 1px solid #57647f; border-radius: 4px; width: 100%; max-width: 100%; min-width: 0; min-height: 44px; box-sizing: border-box; background: #1d2235; padding: 9px; color: #e4e8f1; font: inherit; }
.pos-connections textarea { resize: vertical; line-height: 1.6; }
.pos-connections textarea.pos-csv { min-height: 160px; font: 12px/1.6 ui-monospace, SFMono-Regular, Menlo, monospace; }
.pos-connections :is(button,input,select,textarea,a):focus-visible { outline: 2px solid #6ad9be; outline-offset: 3px; }
.pos-connections :is(button,input,select,textarea):disabled, .pos-connections fieldset:disabled { opacity: .55; }
.pos-provider-list { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 4px; }
.pos-provider-list button { width: 100%; text-align: left; padding: 11px 12px; border: 1px solid transparent; background: transparent; color: #dce3f2; border-radius: 4px; font: inherit; cursor: pointer; min-height: 44px; }
.pos-provider-list button:hover { background: #303b54; }
.pos-provider-list button[aria-pressed="true"] { border-color: #6ad9be; background: #2b3d46; }
.pos-provider-list small { display: block; color: #afbdd4; font-size: 11px; margin-top: 4px; line-height: 1.5; }
.pos-provider-list button:disabled { cursor: default; }
.pos-detail { min-width: 0; }
.pos-provider-title { display: flex; justify-content: space-between; align-items: start; gap: 12px; flex-wrap: wrap; }
.pos-capability { border: 1px solid #46516c; background: #252c43; padding: 12px 14px; margin: 12px 0 18px; }
.pos-capability p { margin: 0 0 7px; }
.pos-capability p:last-child { margin-bottom: 0; }
.pos-capability a { color: #93ded2; }
.pos-stage { color: #b5c1d9; border: 1px solid #57647f; padding: 4px 7px; border-radius: 4px; font-size: 11px; white-space: nowrap; }
.pos-form { display: grid; gap: 15px; min-width: 0; }
.pos-fields { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 15px; }
.pos-connections small { color: #afbdd4; font-size: 11px; line-height: 1.5; }
.pos-actions { display: flex; gap: 9px; flex-wrap: wrap; margin: 15px 0; }
.pos-actions button { min-height: 44px; }
.pos-section { border-top: 1px solid #46516c; padding-top: 20px; margin-top: 24px; min-width: 0; }
.pos-recovery { border: 1px solid #7d714e; padding: 14px; margin: 16px 0; font-size: 13px; line-height: 1.6; }
.pos-records { width: 100%; min-width: 0; overflow-x: auto; border: 1px solid #46516c; border-radius: 4px; margin-top: 12px; }
.pos-records table { width: 100%; min-width: 38rem; border-collapse: collapse; table-layout: fixed; font-size: 12px; }
.pos-records :is(th,td) { text-align: left; vertical-align: top; padding: 11px; border-bottom: 1px solid #3e4860; line-height: 1.5; overflow-wrap: anywhere; }
.pos-records thead th { background: #252c43; color: #b8c3d9; font-size: 11px; font-weight: 500; }
.pos-records :is(th,td):first-child { width: 5rem; min-width: 5rem; white-space: nowrap; }
.pos-records tr:last-child > * { border-bottom: 0; }
.pos-records tbody tr:hover { background: #303b54; }
.pos-records small { display: block; margin-top: 4px; }
.pos-records .pos-row-error { color: #efb0b9; }
.pos-records .pos-provenance { color: #c2d5cf; }
.pos-records .nbi-button { padding: 6px 9px; font-size: 11px; min-height: 36px; }
.pos-records select { font-size: 12px; margin: 5px 0; }
.pos-empty { border: 1px dashed #57647f; padding: 18px 14px; color: #b8c3d9; }
.pos-empty strong { color: #dce3f2; display: block; margin-bottom: 6px; }
.pos-summary { display: flex; gap: 12px 22px; flex-wrap: wrap; }
.pos-summary span { font-size: 12px; color: #b8c3d9; }
.pos-summary strong { color: #e4e8f1; }
.square-sandbox { border: 1px solid #46516c; padding: 16px; margin-top: 18px; background: #252c43; }
.square-readiness { margin: 14px 0; display: grid; gap: 10px; font-size: 12px; }
.square-readiness > div { display: grid; grid-template-columns: minmax(120px, .8fr) minmax(0, 2fr); gap: 12px; }
.square-readiness dt { color: #b8c3d9; }
.square-readiness dd { margin: 0; overflow-wrap: anywhere; }
.square-config-guidance { border-left: 2px solid #7d714e; padding: 8px 12px; }
.square-sandbox .pos-stage { white-space: normal; }
.square-sandbox code { color: #dce3f2; overflow-wrap: anywhere; }
@media(max-width:1023px) { .pos-layout { grid-template-columns: minmax(170px, .8fr) minmax(0, 2fr); gap: 16px; } .pos-catalogue { padding-right: 14px; } }
@media(max-width:639px) {
  .pos-layout, .pos-fields { grid-template-columns: minmax(0,1fr); }
  .pos-catalogue { border-right: 0; border-bottom: 1px solid #46516c; padding: 0 0 16px; }
  .pos-provider-list { grid-template-columns: minmax(0,1fr) minmax(0,1fr); max-height: 270px; overflow-y: auto; padding: 3px; }
  .pos-provider-list button { padding: 10px; font-size: 12px; }
  .pos-actions button { flex: 1 1 auto; }
  .pos-records thead { display: none; }
  .pos-records table { min-width: 0; }
  .pos-records :is(table,tbody,tr,th,td) { display: block; width: auto; }
  .pos-records tr { padding: 12px; }
  .pos-records tr + tr { border-top: 1px solid #46516c; }
  .pos-records :is(th,td) { border: 0; padding: 5px 0; }
  .pos-records :is(th,td):first-child { width: auto; min-width: 0; white-space: normal; }
  .pos-records :is(th,td)::before { content: attr(data-label); display: block; font-size: 10px; color: #b8c3d9; margin-bottom: 3px; }
  .pos-records .nbi-button { min-height: 44px; }
  .square-sandbox { padding: 12px; }
  .square-readiness > div { grid-template-columns: minmax(0,1fr); gap: 3px; }
}

.pos-records .pos-local-id { overflow-wrap: anywhere; white-space: normal; }
.integration-evidence{margin:20px 0;border:1px solid var(--nbi-border,#443c47);padding:16px;border-radius:6px;min-width:0}
.integration-evidence-heading,.integration-evidence-source-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
.integration-evidence h3,.integration-evidence h4{margin:0 0 8px}.integration-evidence p{overflow-wrap:anywhere}
.integration-evidence-source{border-top:1px solid var(--nbi-border,#443c47);padding-top:16px;margin-top:16px;min-width:0}
.integration-evidence-source-heading span,.integration-evidence-times dt{font-size:12px;color:#c0b3c4}
.integration-evidence-times{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0}
.integration-evidence-times dd{margin:5px 0 0;overflow-wrap:anywhere;font-size:13px}
.integration-evidence-scope{font-size:13px;color:#d4c7d8;border-left:3px solid #8c689c;padding-left:10px}
.integration-evidence-warning{color:#f2d38c}
.integration-evidence-differences{padding-left:20px}.integration-evidence-differences li{padding:6px 0;overflow-wrap:anywhere}.integration-evidence-differences p{margin:5px 0}
.integration-evidence details{font-size:13px}.integration-evidence summary{cursor:pointer;padding:8px 0}
.integration-evidence :is(button,summary):focus-visible{outline:2px solid #c89ddd;outline-offset:3px}
@media(max-width:640px){.integration-evidence{padding:12px}.integration-evidence-times{grid-template-columns:1fr;gap:10px}.integration-evidence-heading .pos-actions{width:100%}.integration-evidence-heading button{min-height:44px;flex:1;white-space:normal}.integration-evidence-source-heading{display:block}}
