.test-console{max-width:1500px}.console-header{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:20px}.console-header h1{margin-bottom:8px}.console-header p{margin:0}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:700;color:#52606d}.environment-badge{background:#263786;color:#fff;border-radius:999px;padding:9px 14px;font-weight:700;white-space:nowrap}.warning-panel{border-left:5px solid #d89b00;margin-bottom:20px}.console-grid{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(520px,1.2fr);gap:20px;margin-bottom:20px}.test-console .panel{margin-bottom:20px}.test-console h2{margin-top:0;font-size:20px}.test-console h3{font-size:15px;margin:20px 0 8px}.test-console label{display:block;font-weight:700;margin:12px 0 6px}.test-console input,.test-console textarea,.test-console select{width:100%;border:1px solid #b8c2cc;border-radius:6px;padding:10px;background:#fff;font:inherit}.test-console textarea,.test-console pre{font-family:Consolas,Monaco,monospace}.test-console button{border:0;border-radius:6px;background:#263786;color:#fff;padding:10px 15px;font-weight:700;cursor:pointer}.test-console button.secondary{background:#eef2f7;color:#263786;border:1px solid #b8c2cc}.test-console button:disabled{opacity:.55;cursor:not-allowed}.button-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.muted{color:#5f6b76}.summary-strip{margin:14px 0;padding:10px;border-radius:6px;background:#eef2f7;font-weight:700}.summary-strip.pass{background:#e9f7ef;color:#176b3a}.summary-strip.fail{background:#fdecec;color:#9f1d1d}.table-wrap{overflow:auto;border:1px solid #d7dee5;border-radius:6px}.test-console table{border-collapse:collapse;width:100%;font-size:13px}.test-console th,.test-console td{border-bottom:1px solid #e1e6eb;padding:9px;text-align:left;vertical-align:top}.test-console th{background:#f5f7fa;white-space:nowrap}.matrix-wrap{max-height:420px}.status-pass{color:#176b3a;font-weight:700}.status-fail{color:#9f1d1d;font-weight:700}.status-skip{color:#7a5b00;font-weight:700}.catalogue-row{display:grid;grid-template-columns:240px minmax(320px,1fr) auto;gap:12px;align-items:end}.request-grid{display:grid;grid-template-columns:130px minmax(360px,1fr) 230px;gap:12px}.editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.response-meta{display:flex;gap:14px;font-weight:700}.response-panel pre{background:#111827;color:#e5e7eb;border-radius:7px;padding:14px;overflow:auto;max-height:500px;white-space:pre-wrap;word-break:break-word}.history-wrap{max-height:360px}@media(max-width:900px){.console-grid,.editor-grid{grid-template-columns:1fr}.catalogue-row,.request-grid{grid-template-columns:1fr}.console-header{display:block}.environment-badge{display:inline-block;margin-top:12px}}

.section-heading-row{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.section-heading-row h2{margin-bottom:6px}.access-legend{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0 16px}.legend-item{border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700;border:1px solid}.legend-item.permitted{background:#e9f7ef;color:#176b3a;border-color:#8fd0aa}.legend-item.denied{background:#fdecec;color:#9f1d1d;border-color:#e8aaaa}.legend-item.unmapped{background:#fff7dc;color:#765600;border-color:#dfc66e}.legend-item.inactive{background:#eef2f7;color:#52606d;border-color:#c4ccd4}.catalogue-tree{display:grid;gap:16px}.catalogue-application{border:1px solid #cbd5df;border-radius:8px;padding:14px;background:#f8fafc}.catalogue-application>h3{margin:0 0 12px;font-size:17px}.catalogue-group{margin-top:10px}.catalogue-group>summary{cursor:pointer;font-weight:700;padding:8px 0}.endpoint-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px;padding:6px 0 10px}.test-console .endpoint-card{display:grid;grid-template-columns:auto 1fr;gap:5px 10px;text-align:left;align-items:start;background:#fff;color:#17202a;border:2px solid #c4ccd4;padding:12px;min-height:112px}.test-console .endpoint-card:hover{box-shadow:0 4px 14px rgba(0,0,0,.12);transform:translateY(-1px)}.endpoint-card .endpoint-method{grid-row:1/4;border-radius:4px;padding:4px 6px;background:#263786;color:#fff;font-size:11px;font-weight:800}.endpoint-card strong{font-size:14px}.endpoint-card code{font-size:12px;word-break:break-all}.endpoint-card .endpoint-access{font-size:11px;font-weight:700}.test-console .endpoint-card.access-permitted{border-color:#39a96b;background:#f2fbf6}.test-console .endpoint-card.access-denied{border-color:#d34a4a;background:#fff5f5}.test-console .endpoint-card.access-unmapped{border-color:#d1a91e;background:#fffaf0}.test-console .endpoint-card.access-inactive{border-color:#9aa5b1;background:#f1f3f5;opacity:.8}.test-console .endpoint-card.access-unknown{border-color:#9aa5b1;background:#fff}.request-builder-panel{scroll-margin-top:12px}@media(max-width:900px){.section-heading-row{display:block}.section-heading-row button{margin-top:12px}}

.identity-card {
    margin-top: 1rem;
    padding: 1rem;
    border: 1px solid #cbd5e1;
    border-radius: .6rem;
    background: #f8fafc;
}
.identity-card h3 { margin-top: 0; }
.identity-grid {
    display: grid;
    grid-template-columns: minmax(8rem, 35%) 1fr;
    gap: .35rem .75rem;
    margin: 0;
}
.identity-grid dt { font-weight: 700; }
.identity-grid dd { margin: 0; overflow-wrap: anywhere; }

/* v1.0.24: compact endpoint catalogue with separate deployment/access status */
.status-legends{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center;margin:.5rem 0}
.legend-item.ready{border-color:#2878c7;background:#eef6ff;color:#174f87}
.legend-item.contract{border-color:#7b8794;background:#f4f6f8;color:#4b5563}
.catalogue-filters{display:flex;flex-wrap:wrap;gap:.35rem;margin:.55rem 0 .75rem}
.test-console .filter-button{padding:.3rem .55rem;font-size:.72rem;line-height:1;border-radius:999px;background:#fff;color:#25324a;border:1px solid #b9c3d0}
.test-console .filter-button.active{background:#283b8f;color:#fff;border-color:#283b8f}
.endpoint-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.42rem}
.test-console .endpoint-card{min-height:0;padding:.46rem .55rem;gap:.22rem;text-align:left;border-width:1px;border-left-width:4px}
.endpoint-top{display:flex;align-items:center;gap:.4rem;min-width:0}
.endpoint-top strong{font-size:.78rem;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.endpoint-card .endpoint-method{font-size:.58rem;padding:.18rem .28rem;min-width:2rem;text-align:center}
.endpoint-card code{font-size:.64rem;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.endpoint-badges{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.1rem}
.implementation-badge,.access-badge{font-size:.55rem;font-weight:800;letter-spacing:.02em;padding:.12rem .28rem;border-radius:999px;border:1px solid #adb5bd;background:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.implementation-ready .implementation-badge{border-color:#2878c7;color:#174f87;background:#eef6ff}
.implementation-contract-only .implementation-badge{border-color:#7b8794;color:#4b5563;background:#f4f6f8}
.implementation-contract-only{opacity:.78}
.access-public{border-color:#2878c7;background:#f4f9ff}
.selected-endpoint-info{display:flex;flex-wrap:wrap;gap:.35rem .9rem;padding:.55rem .65rem;margin:.4rem 0 .7rem;background:#f5f7fb;border:1px solid #d7deea;border-radius:.45rem;font-size:.75rem}
.selected-endpoint-info span{overflow-wrap:anywhere}
@media(max-width:700px){.endpoint-grid{grid-template-columns:1fr}.status-legends{display:block}.status-legends .access-legend{margin-bottom:.35rem}}

/* v1.0.30 business service workbench */
.compact-summary{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));margin:1rem 0}.summary-card{border:1px solid #dce3ee;border-radius:8px;padding:.75rem;background:#fff}.summary-card span{display:block;font-size:.72rem;color:#5d6877}.summary-card strong{font-size:1.2rem}.business-services-tree{display:grid;gap:.8rem}.business-service-card{border:1px solid #dce3ee;border-radius:8px;overflow:hidden;background:#fff}.business-service-header{width:100%;display:flex;justify-content:space-between;gap:1rem;text-align:left;padding:.9rem 1rem;border:0;border-radius:0;background:#f7f9fc;color:#17223b}.business-service-header span:first-child{display:grid;gap:.2rem}.business-service-header small{font-weight:400;color:#637083}.business-operation-cards{padding:.8rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.65rem}.business-operation-cards.collapsed{display:none}.business-operation-card{position:relative;text-align:left;display:grid;gap:.25rem;padding:.75rem;border:1px solid #ccd6e6;background:#fff;color:#17223b}.business-operation-card:disabled{opacity:.62;cursor:not-allowed}.business-operation-card .operation-code{font-size:.68rem;font-weight:700;color:#304b91}.business-operation-card small{color:#637083}.operation-status{position:absolute;right:.45rem;top:.45rem;font-size:.58rem;padding:.15rem .35rem;border-radius:999px}.operation-status.READY{background:#dcf7e7;color:#17623a}.operation-status.MISSING_ROUTINE{background:#fff2cf;color:#7a5700}.operation-status.INACTIVE{background:#edf0f4;color:#5d6877}.business-operation-panel{margin-top:1rem;border-top:2px solid #263f88;padding-top:1rem}.business-parameter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.8rem;margin:1rem 0}.business-parameter{display:grid;gap:.3rem}.business-parameter span{font-weight:700;font-size:.78rem}.business-parameter small{color:#637083}.button-link{display:inline-flex;align-items:center;text-decoration:none;background:#263f88;color:#fff;border-radius:5px;padding:.45rem .7rem;font-size:.75rem}.execution-heading{display:flex;justify-content:space-between;margin-top:1rem}.business-operation-panel pre{max-height:420px;overflow:auto}.business-services-panel .table-wrap{max-height:420px;overflow:auto}
