/* Module 01 Technical View v2 — structural, relationship-first visuals. */
.m1-tech-shell{width:min(1000px,100%);margin:0 auto;display:grid;gap:16px}
.m1-tech-kicker,.m1-tech-label{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:#607487}
.m1-tech-service,.m1-tech-forest,.m1-tech-object-scope,.m1-tech-master{border:1px solid #cbd6e0;border-radius:12px;background:linear-gradient(180deg,#fbfcfe,#f6f9fc);padding:16px;display:grid;gap:14px}
.m1-tech-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid #d6dee6;background:#fff;border-radius:9px;text-align:left;width:100%}
.m1-tech-head.compact{padding:10px 12px}.m1-tech-head.clickable{cursor:pointer}.m1-tech-head b{display:block;font-size:14px;color:#172b3e}.m1-tech-head span:not(.m1-tech-badge){display:block;margin-top:4px;font-size:11px;line-height:1.4;color:#637181}
.m1-tech-badge{flex:0 0 auto;border:1px solid #c7d3df;border-radius:999px;background:#f7fafc;padding:4px 8px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#52687d}
.m1-tech-domain{border:1px solid #9fc5e8;background:#f5faff;border-radius:10px;padding:14px;display:grid;gap:12px}.m1-tech-domain.nested{margin-left:24px}.m1-tech-domain.mini{padding:10px}.m1-tech-domain-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.m1-tech-forest{border:2px dashed #b49ed1;background:#faf8fd}.m1-tech-forest.mini{padding:12px}
.m1-tech-forest.mini>button,.m1-tech-domain.mini>button{border:1px solid #d5dee7;background:#fff;border-radius:8px;padding:10px 12px;text-align:left;cursor:pointer}.m1-tech-forest.mini>button b,.m1-tech-domain.mini>button b{display:block;font-size:12px;color:#203448}.m1-tech-forest.mini>button span,.m1-tech-domain.mini>button span{display:block;margin-top:4px;font-size:10px;color:#647383}
.m1-tech-object-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.m1-tech-object-grid.detailed .m1-tech-object{min-height:110px}
.m1-tech-object{border:1px solid #d7c1ae;background:#fff8f2;border-radius:9px;padding:13px;text-align:left;cursor:pointer}.m1-tech-object.user{border-color:#a8c7ec;background:#f4f8fe}.m1-tech-object.computer{border-color:#9fd2da;background:#f3fbfc}.m1-tech-object.group{border-color:#c2afe3;background:#f8f5fc}.m1-tech-object b{display:block;font-size:13px;color:#203448}.m1-tech-object span{display:block;margin-top:5px;font-size:10px;line-height:1.4;color:#647383}
.m1-tech-membership{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;text-align:center;border-top:1px dashed #cbd5df;padding-top:12px;font-size:11px;color:#5f6f7f}.m1-tech-membership strong{color:#244f73}
.m1-tech-ou-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.m1-tech-ou-grid.one{grid-template-columns:1fr}.m1-tech-ou{border:1px solid #a8d5be;background:#f5fbf8;border-radius:9px;padding:11px;display:grid;gap:9px}.m1-tech-ou button{border:0;background:transparent;text-align:left;padding:0;cursor:pointer}.m1-tech-ou button b{display:block;font-size:12px;color:#214b3d}.m1-tech-ou button span{display:block;margin-top:4px;font-size:10px;line-height:1.35;color:#647383}.m1-tech-mini-objects{display:flex;flex-wrap:wrap;gap:7px}.m1-tech-mini-objects span{border:1px solid #d5dee7;background:#fff;border-radius:999px;padding:4px 7px;font-size:9px;color:#526273}
.m1-tech-domain-detail{display:grid;gap:7px}.m1-tech-domain-detail span{border:1px solid #d9e3ec;background:#fff;border-radius:7px;padding:8px 9px;font-size:10px;color:#596a7a}
.m1-tech-trust{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;text-align:center;border-top:1px dashed #cbd5df;padding-top:12px;font-size:10px;color:#607080}.m1-tech-trust strong{color:#315b80;font-weight:700}
.m1-tech-two-view{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.m1-tech-dimension{border:1px solid #ccd6df;border-radius:12px;background:#fff;padding:14px;display:grid;gap:12px}.m1-tech-dimension.logical{border-top:4px solid #8f7ab9}.m1-tech-dimension.physical{border-top:4px solid #6daab7}
.m1-tech-site-grid{display:grid;gap:10px}.m1-tech-site-grid.horizontal{grid-template-columns:repeat(2,minmax(0,1fr))}.m1-tech-site{border:1px solid #ddb979;background:#fff9ec;border-radius:9px;padding:13px}.m1-tech-site b{display:block;font-size:12px;color:#6b4a20;margin-bottom:8px}.m1-tech-dc-pill{display:inline-block;border:1px solid #b7cbed;background:#f1f5fd;border-radius:999px;padding:4px 8px;margin:3px 4px 0 0;font-size:9px;font-weight:700;color:#365d95}.m1-tech-wan{text-align:center;font-size:10px;font-weight:700;color:#7a6070}
.m1-tech-deployment-layer{border-top:1px dashed #aeb9c4;padding-top:14px;display:grid;gap:10px}.m1-tech-deployment-layer small{font-size:10px;line-height:1.4;color:#687787;text-align:center}
.m1-tech-callout{border-left:4px solid #2f6f8f;background:#f7fafc;border-radius:4px;padding:12px 14px;font-size:11px;line-height:1.5;color:#40566b}
@media(max-width:900px){.m1-tech-domain.nested{margin-left:0}.m1-tech-domain-grid,.m1-tech-object-grid,.m1-tech-ou-grid,.m1-tech-two-view,.m1-tech-site-grid.horizontal{grid-template-columns:1fr}.m1-tech-membership,.m1-tech-trust{grid-template-columns:1fr}.m1-tech-trust strong{padding:4px 0}}
