@layer components{
.stub-shell{display:grid;gap:1rem}
/* Keep title/description and metadata side-by-side when space permits; wrap rather than compress either region. */
.stub-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.stub-toolbar{display:flex;gap:.5rem;flex-wrap:wrap}
.stub-toolbar fieldset{display:flex;gap:.5rem;align-items:end;flex-wrap:wrap;width:100%;border:0;padding:0;margin:0}
.stub-toolbar label{display:block}
.stub-toolbar .ui-input{flex:1 1 16rem}
.stub-status{margin:.75rem 0 0}
.stub-meta{display:flex;gap:.5rem;flex-wrap:wrap;margin:.75rem 0}
/* Primary result pane + secondary evidence/history sidebar. */
.stub-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(16rem,.45fr);gap:1rem}
.stub-result,.stub-evidence,.stub-history{min-width:0}
.stub-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--ui-border)}
.stub-endpoint{overflow-wrap:anywhere}
@media(max-width:720px){.stub-workspace{grid-template-columns:1fr}.stub-header{display:block}}
}