.vlan-runtime{margin-top:var(--space-7);font-family:var(--font-sans);color:var(--text)}.vlan-runtime *{box-sizing:border-box}.vlan-runtime__shell{display:grid;gap:var(--space-5);padding:clamp(1rem,3vw,1.6rem);border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--surface) 94%,var(--accent) 6%)}
.vlan-runtime__card{padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.vlan-runtime h2,.vlan-runtime h3{margin:0}.vlan-runtime__eyebrow{font:700 .72rem var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.vlan-runtime__prediction,.vlan-runtime__switches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);margin:1rem 0}.vlan-runtime__switch{padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm)}.vlan-runtime__row{display:grid;grid-template-columns:85px 1fr;gap:.6rem;align-items:center;margin:.65rem 0}.vlan-runtime select,.vlan-runtime textarea{width:100%;min-height:44px;padding:.6rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);font:inherit}
.vlan-runtime__allowed{display:flex;flex-wrap:wrap;gap:.6rem}.vlan-runtime__allowed label{min-height:44px;display:flex;align-items:center;gap:.35rem;padding:.4rem .6rem;border:1px solid var(--border);border-radius:.4rem}.vlan-runtime__status{padding:.8rem;border-left:3px solid var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface));border-radius:0 var(--radius-sm) var(--radius-sm) 0}.vlan-runtime__status[data-kind=error]{border-color:#ef4444}.vlan-runtime__status[data-kind=success]{border-color:#22c55e}
.vlan-runtime__outputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin-top:1rem}.vlan-runtime pre{white-space:pre-wrap;overflow-wrap:anywhere;padding:.75rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);font-size:.78rem}.vlan-runtime__pings{overflow-x:auto}.vlan-runtime table{width:100%;border-collapse:collapse;min-width:600px}.vlan-runtime th,.vlan-runtime td{padding:.6rem;border-bottom:1px solid var(--border);text-align:left}.vlan-runtime__actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1rem}.vlan-runtime button{min-height:44px}.vlan-runtime__summary pre{font-size:.83rem}
@media(max-width:700px){.vlan-runtime__prediction,.vlan-runtime__switches,.vlan-runtime__outputs{grid-template-columns:1fr}.vlan-runtime__actions button{width:100%}}
.vlan-runtime [hidden]{display:none!important}.vlan-runtime__route{display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem;margin:1rem 0 0;padding:0;list-style:none}.vlan-runtime__route li{padding:.6rem .5rem;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text-muted);font-size:.76rem;text-align:center}.vlan-runtime__route li[data-done=true]{border-color:color-mix(in srgb,var(--accent) 60%,var(--border));background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--text);font-weight:700}.vlan-runtime__route li[data-current=true]{border-color:#f59e0b;box-shadow:0 0 0 3px color-mix(in srgb,#f59e0b 14%,transparent);color:var(--text);font-weight:700}.vlan-runtime__route li[data-success=true]{border-color:#22c55e;background:color-mix(in srgb,#22c55e 13%,var(--surface))}
.vlan-runtime__topology{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,1.4fr) minmax(0,1fr);align-items:center;gap:1rem;padding:1rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.vlan-runtime__topology-switch{display:grid;gap:.35rem;padding:1rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg)}.vlan-runtime__topology-switch strong{font:700 1rem var(--font-mono);color:var(--accent)}.vlan-runtime__topology-switch small{color:var(--text-muted);line-height:1.5}.vlan-runtime__trunk{text-align:center}.vlan-runtime__trunk>span{display:block;padding:.5rem;border-top:4px solid #f59e0b;font:700 .78rem var(--font-mono)}.vlan-runtime__trunk[data-ready=true]>span{border-color:var(--accent)}.vlan-runtime__trunk>div{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem}.vlan-runtime__trunk i{padding:.35rem .5rem;border:1px solid var(--border);border-radius:999px;color:var(--text-muted);font:normal .72rem var(--font-mono)}.vlan-runtime__trunk i[data-carried=true]{border-color:#22c55e;background:color-mix(in srgb,#22c55e 10%,var(--surface));color:var(--text)}
.vlan-runtime__coach{padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--accent) 5%,var(--surface))}.vlan-runtime__coach-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.vlan-runtime__coach-head h3,.vlan-runtime__coach-head p{margin:.25rem 0 0}.vlan-runtime__coach-head p,.vlan-runtime__coach-panel>p,.vlan-runtime__coach-suggestion{color:var(--text-muted);font-size:.86rem}.vlan-runtime__coach-panel{margin-top:1rem;padding:1rem;border:1px solid color-mix(in srgb,var(--accent) 50%,var(--border));border-radius:var(--radius-sm);background:var(--surface)}.vlan-runtime__issue{padding:.8rem;border-left:4px solid #f59e0b;background:color-mix(in srgb,#f59e0b 9%,var(--surface))}.vlan-runtime__issue p{margin:.3rem 0 0}.vlan-runtime__hint-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-top:.8rem}.vlan-runtime__hint-actions button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text)}.vlan-runtime__hint-actions button b{display:inline-grid;place-items:center;width:1.5rem;height:1.5rem;margin-right:.3rem;border-radius:50%;background:var(--accent);color:var(--bg)}.vlan-runtime__hint-actions button[aria-pressed=true]{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--surface))}.vlan-runtime__hint-actions button:disabled{opacity:.48}.vlan-runtime__hint{margin-top:.8rem;padding:.8rem;border-left:4px solid var(--accent);background:var(--bg)}.vlan-runtime__hint p,.vlan-runtime__hint small{display:block;margin:.3rem 0 0}.vlan-runtime__coach-suggestion:not(:empty){margin:.8rem 0 0;padding:.8rem;border-radius:var(--radius-sm);background:color-mix(in srgb,#f59e0b 12%,var(--surface));color:var(--text)}.vlan-runtime [data-toggle-help].is-suggested{border-color:#f59e0b;box-shadow:0 0 0 3px color-mix(in srgb,#f59e0b 18%,transparent)}.vlan-runtime [data-toggle-help]:disabled{opacity:.55}.vlan-runtime__pings table{min-width:850px}.vlan-runtime__summary-note{color:var(--text-muted);font-size:.82rem}
.vlan-runtime button:focus-visible,.vlan-runtime select:focus-visible,.vlan-runtime__issue:focus,.vlan-runtime__hint:focus{outline:2px solid color-mix(in srgb,var(--accent) 65%,transparent);outline-offset:2px}
@media(max-width:700px){.vlan-runtime__route{grid-template-columns:repeat(2,1fr)}.vlan-runtime__route li:last-child{grid-column:1/-1}.vlan-runtime__topology{grid-template-columns:1fr}.vlan-runtime__trunk{padding:.4rem 0}.vlan-runtime__coach-head{align-items:stretch;flex-direction:column}.vlan-runtime__hint-actions{grid-template-columns:1fr}.vlan-runtime__coach [data-toggle-help]{width:100%}}

.vlan-runtime{min-width:0;max-width:100%;overflow:hidden}.vlan-runtime__shell,.vlan-runtime__card,.vlan-runtime__switch,.vlan-runtime__topology,.vlan-runtime__workspace{min-width:0;max-width:100%}.vlan-runtime__prediction>*,.vlan-runtime__switches>*,.vlan-runtime__outputs>*{min-width:0}
.vlan-runtime__ping-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1rem}.vlan-runtime__ping-grid article{min-width:0;padding:1rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg)}.vlan-runtime__ping-grid article>span{display:block;color:var(--accent);font:700 .7rem var(--font-mono);text-transform:uppercase}.vlan-runtime__ping-grid article>strong{display:block;margin:.35rem 0;overflow-wrap:anywhere}.vlan-runtime__ping-grid dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin:.7rem 0}.vlan-runtime__ping-grid dl div{padding:.5rem;border-left:3px solid var(--border);background:var(--surface)}.vlan-runtime__ping-grid dt{color:var(--text-muted);font-size:.72rem}.vlan-runtime__ping-grid dd{margin:0;font:700 .78rem var(--font-mono)}.vlan-runtime__ping-grid p{margin:0;color:var(--text-muted);font-size:.86rem}.vlan-runtime__ping-grid article[data-result=reply]{border-color:color-mix(in srgb,#22c55e 55%,var(--border))}
.vlan-runtime__journal{display:grid;grid-template-columns:minmax(150px,.35fr) minmax(0,1fr);gap:1rem;padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.vlan-runtime__journal h3{margin:.25rem 0}.vlan-runtime__journal ol{display:grid;gap:.65rem;margin:0;padding:0;list-style:none}.vlan-runtime__journal li{display:grid;grid-template-columns:4.5rem minmax(0,1fr);gap:.7rem;padding-bottom:.65rem;border-bottom:1px solid var(--border)}.vlan-runtime__journal time{font:700 .72rem var(--font-mono);color:var(--text-muted)}.vlan-runtime__journal li span{display:grid;gap:.2rem;overflow-wrap:anywhere}.vlan-runtime__journal li strong{color:var(--accent)}.vlan-runtime__journal li[data-kind=error] strong{color:#ef4444}.vlan-runtime__journal li[data-kind=warning] strong{color:#f59e0b}
.vlan-runtime__report-preview{margin-top:1rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg)}.vlan-runtime__report-preview summary{min-height:44px;display:flex;align-items:center;padding:.75rem 1rem;cursor:pointer;font-weight:700;color:var(--text)}.vlan-runtime__report-preview pre{margin:0;border-width:1px 0 0;border-radius:0;max-height:32rem;overflow:auto}
@media(max-width:700px){.vlan-runtime{margin-inline:0}.vlan-runtime__shell{padding:.75rem}.vlan-runtime__card,.vlan-runtime__coach,.vlan-runtime__topology,.vlan-runtime__journal{padding:.75rem}.vlan-runtime__prediction,.vlan-runtime__switches,.vlan-runtime__outputs,.vlan-runtime__ping-grid,.vlan-runtime__journal{grid-template-columns:1fr}.vlan-runtime__row{grid-template-columns:minmax(72px,.42fr) minmax(0,1fr)}.vlan-runtime__journal li{grid-template-columns:3.5rem minmax(0,1fr)}.vlan-runtime__route{gap:.35rem}.vlan-runtime__route li{border-radius:var(--radius-sm);font-size:.7rem}.vlan-runtime__allowed label{flex:1;justify-content:center}.vlan-runtime select{min-width:0;max-width:100%}}
@media(prefers-reduced-motion:reduce){.vlan-runtime *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
