.model3d{margin:35px 0 0}.model3d-body{display:grid;grid-template-columns:minmax(0,1fr) 300px;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff;box-shadow:var(--shadow)}
.model3d-stage{position:relative;height:480px;background:#fbfcfd;background-image:linear-gradient(#e9eff3 1px,transparent 1px),linear-gradient(90deg,#e9eff3 1px,transparent 1px);background-size:24px 24px}
.model3d-stage canvas{display:block;width:100%;height:100%;cursor:grab;touch-action:pan-y;outline-offset:-4px}.model3d-stage canvas.dragging{cursor:grabbing}
.model3d-fallback{width:100%;height:100%;object-fit:cover;filter:grayscale(1)}
.model3d:not(.is-live) .model3d-body{grid-template-columns:1fr}.model3d:not(.is-live) canvas,.model3d:not(.is-live) .model3d-toolbar,.model3d:not(.is-live) .model3d-legend,.model3d:not(.is-live) .model3d-hint,.model3d:not(.is-live) .model3d-panel{display:none}.model3d.is-live .model3d-fallback{display:none}
.model3d-toolbar{position:absolute;top:12px;left:12px;right:12px;display:flex;flex-wrap:wrap;gap:8px;pointer-events:none}
.model3d-seg{display:inline-flex;border:1px solid #c5d1da;border-radius:8px;background:#fffffff2;overflow:hidden;pointer-events:auto}
.model3d-seg button{border:0;background:none;min-height:34px;padding:7px 11px;font:600 11px/1 var(--mono);letter-spacing:.8px;text-transform:uppercase;color:var(--muted)}
.model3d-seg button+button{border-left:1px solid #d8e1e7}.model3d-seg button[aria-pressed=true]{background:var(--navy);color:#fff}.model3d-seg button:hover:not([aria-pressed=true]){background:#e9eef2;color:var(--ink)}
.model3d-legend{position:absolute;right:12px;bottom:12px;display:flex;flex-wrap:wrap;gap:6px 12px;max-width:calc(100% - 24px);padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:#fffffff0;font:11px/1.4 var(--mono);color:var(--ink);pointer-events:none}
.model3d-legend i{display:inline-block;width:9px;height:9px;margin-right:6px;border-radius:2px;vertical-align:-1px}
.model3d-hint{position:absolute;left:12px;bottom:12px;font:11px/1.4 var(--mono);color:var(--muted);pointer-events:none;transition:opacity .3s}.model3d-hint.hidden{opacity:0}
.model3d-tip{position:absolute;top:0;left:0;padding:5px 8px;border-radius:3px;background:var(--navy);color:#fff;font:12px/1.3 var(--mono);white-space:nowrap;pointer-events:none;opacity:0;transform:translate(14px,-130%);transition:opacity .12s}.model3d-tip.show{opacity:1}
.model3d-panel{display:flex;flex-direction:column;gap:14px;padding:24px 22px;border-left:1px solid var(--line)}
.model3d-kicker{font:600 11px/1.4 var(--mono);letter-spacing:1.4px;text-transform:uppercase;color:var(--blue)}
.model3d-title{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:26px;font-weight:800;line-height:1.1}
.model3d-clear{border:0;background:none;width:32px;height:32px;font-size:22px;line-height:1;color:var(--muted)}.model3d-clear:hover{color:var(--ink)}
.model3d-badge{align-self:flex-start;padding:3px 8px;border-radius:3px;font:600 11px/1.4 var(--mono);letter-spacing:.6px;text-transform:uppercase}
.model3d-badge.open{background:#e9eef2;color:#43566a}.model3d-badge.review{background:#efe8f7;color:var(--violet)}.model3d-badge.confirmed{background:#e3f1ea;color:var(--green)}
.model3d-panel dl{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:0;font-size:14px}.model3d-panel dt{font:11px/1.9 var(--mono);text-transform:uppercase;color:var(--muted)}.model3d-panel dd{margin:0;font-weight:600}
.model3d-panel p{font-size:14px}.model3d-ai{border-left:3px solid var(--violet);padding-left:12px;font-size:13px!important}.model3d-ai b{display:block;color:var(--violet);font:600 11px/1.6 var(--mono);text-transform:uppercase}
.model3d-progress{height:6px;border-radius:3px;background:#e4ebf0;overflow:hidden}.model3d-progress span{display:block;height:100%;background:var(--green);transition:width .4s}
.model3d-count{font:12px/1.5 var(--mono)!important}
.model3d-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.model3d-actions .btn{min-height:40px;padding:9px 14px;font-size:13px}
@media(max-width:1050px){.model3d-body{grid-template-columns:minmax(0,1fr) 260px}}
@media(max-width:820px){.model3d-body{grid-template-columns:1fr}.model3d-panel{border-left:0;border-top:1px solid var(--line)}.model3d-stage{height:400px}}
@media(max-width:520px){.model3d-stage{height:360px}.model3d-hint{display:none}.model3d-toolbar{top:8px;left:8px;right:8px;gap:6px}.model3d-seg button{min-height:32px;padding:6px 8px;font-size:10px}.model3d-legend{left:8px;right:8px;bottom:8px;max-width:none;justify-content:center;font-size:10px}.model3d-panel{padding:20px 18px}.model3d-title{font-size:22px}}
