.vfio-lab{border:1px solid var(--line);border-radius:12px;padding:20px;background:var(--surface,#fff);margin:22px 0;min-width:0}
.vfio-lab [hidden]{display:none!important}.vfio-lab p{font-size:14px;line-height:1.65;margin:8px 0 14px}.vfio-lab .mechanism-view-heading{gap:12px}
.vfio-controls{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;margin:18px 0}.vfio-controls label{display:grid;gap:6px;font-size:13px;font-weight:600;min-width:0}.vfio-controls select{font:inherit;width:100%;min-width:0;max-width:100%;padding:9px 35px 9px 10px;border:1px solid var(--line);border-radius:7px;background-color:var(--surface,#fff)}
.vfio-actions{display:flex;gap:7px;flex-wrap:wrap}.vfio-lab button{font:inherit;font-size:13px;border:1px solid var(--line);border-radius:7px;padding:8px 12px;background:var(--surface,#fff);color:var(--ink-2);cursor:pointer}.vfio-lab button:hover:not(:disabled){border-color:var(--accent,#008080);color:var(--accent,#008080)}.vfio-lab button:disabled{opacity:.45;cursor:default}.vfio-lab button:focus-visible,.vfio-lab select:focus-visible{outline:2px solid var(--accent,#008080);outline-offset:3px}
.vfio-status{padding:10px 12px;background:#eef4f2;border-radius:7px;color:#294e47;min-height:44px}.vfio-setup{display:grid;gap:5px;border:1px dashed #8caaa3;border-radius:8px;padding:13px 15px;background:#f5f8f6;font-size:13px;overflow-wrap:anywhere}.vfio-setup strong{font-size:14px}.vfio-setup small{font-size:12px;color:var(--muted)}
.vfio-structures{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:13px 0 18px}.vfio-structures section{border:1px solid var(--line);border-radius:7px;padding:12px;min-width:0;overflow-wrap:anywhere}.vfio-lab h4{font-size:14px;margin:0 0 9px;line-height:1.5}.vfio-structures small{font-size:11px;line-height:1.6;display:block;color:var(--muted)}.vfio-structures p{font-size:12px;margin:7px 0}.vfio-fields{margin:8px 0;font-size:12px;display:grid;gap:6px}.vfio-fields>div{display:grid;grid-template-columns:minmax(65px,.7fr) minmax(0,1.5fr);gap:8px}.vfio-fields dt{font-family:ui-monospace,monospace;color:var(--muted)}.vfio-fields dd{margin:0;overflow-wrap:anywhere;min-width:0}
.vfio-guest{display:flex;flex-wrap:wrap;gap:6px 15px;align-items:center;border:1px solid var(--line);border-radius:8px;padding:12px 15px;background:#f8faf9;font-size:13px}.vfio-guest small{font-size:11px;color:var(--muted)}.vfio-submit{font-size:12px;padding:9px 12px;color:#596963}.vfio-submit>span:first-child{font-size:19px;vertical-align:middle}.vfio-completion{color:#287354}
.vfio-scene{display:grid;grid-template-columns:minmax(0,1fr) minmax(50px,.35fr) minmax(0,1.1fr) minmax(50px,.35fr) minmax(0,1fr);gap:8px;align-items:stretch}.vfio-scene section{border:1px solid var(--line);border-radius:8px;padding:12px;min-width:0;overflow-wrap:anywhere;background:#fafbf9}.vfio-scene section>strong{font:600 12px ui-monospace,monospace;display:block}.vfio-scene p{font-size:12px;margin:7px 0}.vfio-scene small{font-size:11px;line-height:1.6;display:block;color:var(--muted)}.vfio-edge{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;font-size:11px;line-height:1.5;padding:7px 2px;min-width:0;border:1px solid transparent;border-radius:6px;overflow-wrap:anywhere}.vfio-edge>span{font-size:23px}.vfio-edge small{font-size:10px}.vfio-iommu dl{font-size:11px;display:grid;gap:7px;margin:10px 0}.vfio-iommu dl>div{display:flex;gap:7px;justify-content:space-between;flex-wrap:wrap}.vfio-iommu dt{color:var(--muted)}.vfio-iommu dd{margin:0;font-family:ui-monospace,monospace}.vfio-memory-value{display:grid;gap:6px;border:1px solid #d7e3dc;border-radius:6px;padding:8px;margin:10px 0;font-size:11px;background:#fff}.vfio-memory-value b{font-size:13px;color:#2e6250}.vfio-lab [data-active=true]{border-color:#709b89;background:#ebf4ef}.vfio-lab[data-phase=fault] .vfio-iommu{border-color:#bb8c7e;background:#f8efeb}.vfio-lab[data-phase=fault] .vfio-verdict{color:#9c4f38}
.vfio-detail{padding:14px;margin-top:16px;border-radius:8px;background:#f5f7f6;min-height:110px}.vfio-detail strong{font-size:14px}.vfio-detail p{margin-bottom:0}.vfio-lab .vfio-note{font-size:12px;color:var(--muted);margin:14px 0 0}.vfio-lab [data-vfio-fallback]{font-size:13px}.vfio-lab.is-expanded{width:100%;max-width:none;box-sizing:border-box;margin:0 auto}
@media(min-width:1100px){.vfio-lab.is-expanded .vfio-scene{gap:16px}.vfio-lab.is-expanded .vfio-scene section{padding:20px}.vfio-lab.is-expanded .vfio-scene h4{font-size:16px}.vfio-lab.is-expanded .vfio-scene section>strong{font-size:15px}}
@media(max-width:760px){.vfio-lab{padding:14px}.vfio-structures{grid-template-columns:1fr}.vfio-scene{grid-template-columns:1fr;gap:7px}.vfio-scene section{padding:12px}.vfio-edge{flex-direction:row;gap:10px;min-height:35px;padding:3px 8px}.vfio-edge>span{transform:rotate(90deg)}.vfio-iommu dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.vfio-iommu dl>div{display:grid;gap:3px}.vfio-scene section>strong{display:inline}.vfio-memory-value{display:flex;justify-content:space-between;flex-wrap:wrap}.vfio-guest{display:grid;gap:5px}}
@media(max-width:420px){.vfio-lab{padding:11px}.vfio-controls{display:grid;grid-template-columns:1fr;gap:10px}.vfio-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.vfio-actions button{padding:9px 3px;font-size:12px}.vfio-setup{padding:11px}.vfio-structures section{padding:10px}.vfio-iommu dl{grid-template-columns:1fr}.vfio-iommu dl>div{grid-template-columns:65px minmax(0,1fr)}.vfio-detail{padding:11px}}
