/* Shared, lightweight B2 diagnostic layout. */
.jbm-b2,.jbm-b2-guide{max-width:1120px;margin:0 auto 2rem;color:#0f172a}
.jbm-b2__intro{max-width:74ch;font-size:clamp(1.03rem,1.4vw,1.18rem);line-height:1.6}
.jbm-b2__form{padding:clamp(1rem,2.5vw,1.8rem);background:#fff;border:1px solid #e2e8f0;border-radius:14px}
.jbm-b2__progress{display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem;font-weight:700;color:#334155}
.jbm-b2__progress progress{flex:1;accent-color:#c8102e;height:12px}
.jbm-b2__form>fieldset{border:0;margin:0;padding:0}
.jbm-b2__form>fieldset[hidden]{display:none}
.jbm-b2__form>fieldset>legend{font-weight:800;font-size:clamp(1.2rem,2vw,1.55rem)}
.jbm-b2__form>fieldset>p{color:#475569;line-height:1.55}
.jbm-b2__fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.3rem}
.jbm-b2__field{display:flex;flex-direction:column;gap:.4rem;min-width:0;font-weight:700}
.jbm-b2__field input,.jbm-b2__field select{box-sizing:border-box;min-width:0;width:100%;min-height:46px;padding:.65rem .75rem;background:#fff;border:1px solid #94a3b8;border-radius:8px;color:#0f172a;font:inherit}
.jbm-b2__question{border:1px solid #e2e8f0;border-radius:9px;padding:.8rem;min-width:0}
.jbm-b2__question legend{font-weight:700;padding:0 .2rem;line-height:1.35}
.jbm-b2__question label{display:inline-flex;align-items:center;gap:.3rem;margin:.25rem .7rem .25rem 0;min-height:40px;color:#334155}
.jbm-b2__question input{accent-color:#c8102e;width:18px;height:18px}
.jbm-b2__nav{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.3rem}
.jbm-b2 button{min-height:44px;padding:.6rem 1rem;border:1px solid #a50d26;border-radius:8px;background:#c8102e;color:#fff;font:inherit;font-weight:700;cursor:pointer}
.jbm-b2 button:hover{background:#a50d26}
.jbm-b2 [data-jbm-b2-back]{background:#fff;color:#a50d26}
.jbm-b2 :is(button,input,textarea,select,a):focus-visible{outline:3px solid #c8102e;outline-offset:2px}
.jbm-b2__result:not(:empty){margin-top:1.4rem;padding:clamp(1rem,2vw,1.6rem);background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px}
.jbm-b2__result h3{font-size:clamp(1.1rem,1.8vw,1.35rem);margin:1.3rem 0 .5rem}
.jbm-b2__result h3:first-child{margin-top:0}
.jbm-b2__result p,.jbm-b2__result li{line-height:1.6}
.jbm-b2__result textarea{box-sizing:border-box;width:100%;min-height:130px;padding:.8rem;border:1px solid #94a3b8;border-radius:8px;color:#0f172a;font:inherit;line-height:1.5}
.jbm-b2__result button{margin:.5rem .6rem .5rem 0}
.jbm-b2__evidence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0}
.jbm-b2__evidence{background:#fff;border:1px solid #e2e8f0;border-top:3px solid #c8102e;border-radius:8px;padding:1rem;min-width:0}
.jbm-b2__evidence h3{margin:.1rem 0 .6rem}
.jbm-b2__badge{font-size:.875rem;font-weight:700;color:#475569}
.jbm-b2__evidence blockquote{margin:.8rem 0;padding:.7rem .85rem;background:#f8fafc;border-left:3px solid #cbd5e1;color:#334155;line-height:1.55;overflow-wrap:anywhere}
.jbm-b2__evidence label{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;font-weight:700;color:#334155}
.jbm-b2__evidence select{min-height:44px;padding:.55rem;border:1px solid #94a3b8;border-radius:6px;background:#fff;color:#0f172a;font:inherit}
.jbm-b2__scroll{max-width:100%;overflow:auto;border:1px solid #e2e8f0;border-radius:7px}
.jbm-b2__scroll table{min-width:680px;width:100%;border-collapse:collapse;background:#fff}
.jbm-b2__scroll th,.jbm-b2__scroll td{padding:.7rem;text-align:left;vertical-align:top;border-bottom:1px solid #e2e8f0}
.jbm-b2__scroll th{background:#f1f5f9}
.jbm-b2__result a,.jbm-b2-guide a{color:#a50d26;font-weight:700}
.jbm-b2-guide{padding-top:1.5rem;margin-top:2rem;border-top:1px solid #e2e8f0}
.jbm-b2-guide h2{font-size:clamp(1.3rem,2vw,1.7rem)}
.jbm-b2-guide h3{font-size:1.1rem}
.jbm-b2-guide p{max-width:75ch;line-height:1.65}
@media(max-width:720px){.jbm-b2__fields,.jbm-b2__evidence-grid{grid-template-columns:1fr}.jbm-b2__progress{flex-direction:column;align-items:stretch}.jbm-b2__nav button{flex:1}}
@media(max-width:520px){.jbm-b2__question label{display:flex;margin:.15rem 0}.jbm-b2__result button{width:100%}}
