/* ADLS Stage B — Module 09 Topics 01-03 only.
   Maintains the approved ADLS colors, outlined icons and three-panel constraints. */
.hy .hy-stageb{width:100%;max-width:780px;display:flex;flex-direction:column;gap:14px;color:#36495b}
.hy .hy-stageb-overline{font-size:10px;letter-spacing:.075em;font-weight:750;color:#61707d;text-align:center}
.hy .hy-stageb-icon{flex:none;width:25px;height:25px;stroke-width:1.8}
.hy .hy-stageb-node{appearance:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;width:100%;min-width:0;min-height:112px;border:1px solid #bdcbd8;border-radius:8px;background:#fff;padding:14px 10px;text-align:center;cursor:pointer;color:#3a536b;font:inherit}
.hy .hy-stageb-node:focus-visible{outline:3px solid #5c94cb;outline-offset:2px}
.hy .hy-stageb-node:hover{box-shadow:0 2px 10px rgba(36,90,135,.08)}
.hy .hy-stageb-node.hy-stageb-selected{border-color:#245a87;outline:2px solid #245a87;outline-offset:1px;box-shadow:0 0 0 4px rgba(36,90,135,.12)}
.hy .hy-stageb-nodeicon{display:flex;align-items:center;justify-content:center}
.hy .hy-stageb-nodetitle{display:block;font-size:13px;font-weight:700;line-height:1.35;overflow-wrap:break-word}
.hy .hy-stageb-nodesub{font-size:11px;color:#5d6b78;line-height:1.4;overflow-wrap:break-word}
.hy .hy-stageb-node.hy-stageb-blue{background:#edf5fc;border-color:#b0c8dd;color:#245a87}
.hy .hy-stageb-node.hy-stageb-green{background:#eef8f3;border-color:#b0d4c0;color:#276747}
.hy .hy-stageb-node.hy-stageb-purple{background:#f3eef9;border-color:#cbbfe0;color:#6b4a90}
.hy .hy-stageb-node.hy-stageb-grey{background:#f4f5f7;border-color:#d5d9df;color:#63717e}
.hy .hy-stageb-dual{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.hy .hy-stageb-identity-side{display:flex;flex-direction:column;gap:9px;padding:12px;border:1px solid #dbe3eb;border-radius:10px;background:#fff;min-width:0}
.hy .hy-stageb-identity-side.hy-stageb-emphasis{border-color:#8eb1ce;box-shadow:0 0 0 2px rgba(36,90,135,.07)}
.hy .hy-stageb-capabilities{display:flex;flex-wrap:wrap;justify-content:center;gap:5px;min-height:58px;align-items:flex-start}
.hy .hy-stageb-pill{display:inline-block;max-width:100%;padding:4px 7px;border-radius:5px;background:#edf1f5;border:1px solid #dce4eb;color:#526777;font-size:10px;line-height:1.35;font-weight:600;overflow-wrap:break-word}
.hy .hy-stageb-pill.blue{background:#eaf2fa;color:#245a87;border-color:#c7d9e8}
.hy .hy-stageb-pill.green{background:#edf7f1;color:#286847;border-color:#c4dfcf}
.hy .hy-stageb-pill.muted{background:#f3f4f6;color:#5c6871;border-color:#e1e4e8}
.hy .hy-stageb-pill.alert{background:#fff2e6;color:#8c521d;border-color:#e6c29f}
.hy .hy-stageb-path{display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:7px;border-top:1px solid #dfe7ee;padding-top:10px;min-height:66px;text-align:center}
.hy .hy-stageb-path>span:first-child{font-size:11px;line-height:1.45}
.hy .hy-stageb-workload{display:flex;justify-content:center}
.hy .hy-stageb-workload .hy-stageb-node{max-width:500px;min-height:88px}
.hy .hy-stageb-bottomnote{display:flex;align-items:flex-start;gap:9px;padding:11px 12px;border:1px solid #d7e2ec;background:#f2f7fb;border-radius:8px;color:#3d566d;font-size:11px;line-height:1.5}
.hy .hy-stageb-bottomnote .hy-stageb-icon{width:20px;height:20px;color:#477b9e}
.hy .hy-stageb-caption{font-size:11px;color:#607382;text-align:center;line-height:1.5}
.hy .hy-stageb-directory-map{display:grid;grid-template-columns:minmax(0,1fr) minmax(126px,.9fr) minmax(0,1fr);gap:9px;align-items:stretch}
.hy .hy-stageb-directory,.hy .hy-stageb-bridge{display:flex;flex-direction:column;gap:10px;min-width:0}
.hy .hy-stageb-directory{padding:10px;border:1px solid #dfe7ef;border-radius:9px;background:#fff;align-items:center}
.hy .hy-stageb-region{font-size:10px;color:#607080;letter-spacing:.065em;font-weight:750;text-align:center;padding:3px 0;line-height:1.35}
.hy .hy-stageb-directory>.hy-stageb-pill{margin-top:auto;text-align:center}
.hy .hy-stageb-bridge{justify-content:center;align-items:center}
.hy .hy-stageb-bridge .hy-stageb-node{min-height:125px}
.hy .hy-stageb-bridge-arrow{text-align:center;font-size:11px;font-weight:700;color:#476783;line-height:1.4}
.hy .hy-stageb-bridge-idle .hy-stageb-bridge-arrow{color:#8d5e36}
.hy .hy-stageb-lane{display:flex;align-items:center;gap:10px;border:1px solid #e0e5eb;border-radius:8px;padding:10px 12px;background:#fff;font-size:11px;line-height:1.5;color:#4c5b68}
.hy .hy-stageb-lane .hy-stageb-icon{width:21px;height:21px;color:#61798d}
.hy .hy-stageb-a11y-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hy .hy-stageb-zones{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;align-items:stretch}
.hy .hy-stageb-zone{padding:12px;border:1px solid #d7e2ec;border-radius:10px;background:#fff;display:flex;flex-direction:column;gap:8px;min-width:0}
.hy .hy-stageb-local-link{display:flex;align-items:center;justify-content:center;gap:7px;color:#60798d;font-size:11px;line-height:1.4;text-align:center;padding:3px}
.hy .hy-stageb-outbound{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid #c7d9e8;border-radius:8px;background:#f0f6fa;color:#285a7a}
.hy .hy-stageb-outbound-down{border-color:#e6c7a5;background:#fff5eb;color:#85541f}
.hy .hy-stageb-outbound .hy-stageb-icon{width:22px;height:22px}
.hy .hy-stageb-outbound strong{display:block;font-size:12px;line-height:1.45}
.hy .hy-stageb-outbound small{display:block;font-size:11px;line-height:1.55;margin-top:4px}
.hy .hy-stageb-summary{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}
@media(max-width:760px){
 .hy .hy-stageb{gap:12px}
 .hy .hy-stageb-dual{gap:8px}
 .hy .hy-stageb-identity-side{padding:8px}
 .hy .hy-stageb-node{padding:11px 8px}
 .hy .hy-stageb-nodetitle{font-size:12px}
 .hy .hy-stageb-directory-map{grid-template-columns:repeat(2,minmax(0,1fr))}
 .hy .hy-stageb-bridge{grid-column:1/-1;grid-row:2;flex-direction:row;justify-content:center}
 .hy .hy-stageb-bridge .hy-stageb-node{max-width:320px;min-height:86px}
 .hy .hy-stageb-zones{gap:8px}
 .hy .hy-stageb-zone{padding:8px}
}
@media(max-width:420px){
 .hy .hy-stageb-dual,.hy .hy-stageb-zones{grid-template-columns:1fr}
 .hy .hy-stageb-identity-side{padding:12px}
 .hy .hy-stageb-capabilities{min-height:0}
 .hy .hy-stageb-directory-map{grid-template-columns:1fr}
 .hy .hy-stageb-bridge{grid-column:1;grid-row:auto}
}
