/* BYOK controls share the app's canonical semantic palette and spacing scale. */
.stray-models{color:var(--fg);margin-block:var(--space-6);min-width:0;padding-block:var(--space-6);border-block:var(--line) solid var(--border)}
.stray-models *{box-sizing:border-box}.sm-kicker{font:var(--text-xs)/1.5 var(--font-mono);color:var(--secondary);margin-bottom:var(--space-2)}
.sm-title{font-size:var(--text-lg);line-height:1.3;font-weight:700;margin-bottom:var(--space-3)}.sm-description,.sm-copy{font-size:var(--text-md);line-height:1.6;color:var(--muted);overflow-wrap:anywhere}.sm-description{margin-bottom:var(--space-6)}
.sm-provider,.sm-agent{min-width:0;margin:0 0 var(--space-5);padding:var(--space-4);border:var(--line) solid var(--border);background:var(--surface);box-shadow:var(--space-1) var(--space-1) 0 var(--n-950)}
.sm-provider-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-3)}.sm-provider h3,.sm-agent h3{font-size:var(--text-base);line-height:1.4;font-weight:700;overflow-wrap:anywhere}.sm-state{font:var(--text-xs)/1.5 var(--font-mono);color:var(--muted);padding-block:var(--space-1)}.sm-connected{color:var(--accent)}
.sm-saved,.sm-current{font:var(--text-sm)/1.6 var(--font-mono);color:var(--secondary);overflow-wrap:anywhere;margin-bottom:var(--space-2)}.sm-current{margin-top:var(--space-2)}.sm-key-form{margin-top:var(--space-4)}
.sm-label{display:block;font-size:var(--text-sm);line-height:1.5;font-weight:500;margin:var(--space-4) 0 var(--space-2)}
.sm-input,.sm-select{display:block;max-width:100%;width:100%;min-width:0;min-height:var(--space-12);padding:var(--space-3);background:var(--bg);color:var(--fg);border:var(--line) solid var(--muted);border-radius:0;font:var(--text-base)/1.5 var(--font-body)}
.sm-select{padding-right:var(--space-8);text-overflow:ellipsis}.sm-input:hover,.sm-select:hover{border-color:var(--fg)}.sm-input[aria-invalid=true]{border-color:var(--warm)}.sm-input:focus-visible,.sm-select:focus-visible,.sm-button:focus-visible,.sm-key-link:focus-visible{outline:calc(var(--line)*2) solid var(--secondary);outline-offset:var(--space-1)}
.sm-helper{font-size:var(--text-sm);line-height:1.6;color:var(--muted);margin-top:var(--space-2);overflow-wrap:anywhere}.sm-notice{font-size:var(--text-sm);line-height:1.6;color:var(--secondary);margin-top:var(--space-3);overflow-wrap:anywhere}.sm-error{color:var(--warm);border-left:calc(var(--line)*2) solid currentColor;padding-left:var(--space-3)}
.sm-button{display:flex;align-items:center;justify-content:center;width:100%;min-width:var(--target);min-height:var(--space-12);padding:var(--space-3);margin-top:var(--space-3);background:var(--surface-raised);border:var(--line) solid var(--muted);border-radius:0;color:var(--fg);font:500 var(--text-md)/1.5 var(--font-body);cursor:pointer;touch-action:manipulation;transition:background var(--duration);overflow-wrap:anywhere}
.sm-button:hover{background:var(--border)}.sm-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg);font-weight:700}.sm-primary:hover{background:color-mix(in srgb,var(--accent) 85%,var(--fg))}.sm-button:active{transform:translateY(var(--line))}.sm-button:disabled,.sm-input:disabled,.sm-select:disabled{opacity:.55;cursor:not-allowed}.sm-button:disabled:active{transform:none}.sm-text-button{border-color:transparent;background:transparent;color:var(--muted);text-decoration:underline}.sm-provider-actions{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-3)}.sm-provider-actions .sm-button{margin-top:0}
.sm-key-link{display:flex;align-items:center;justify-content:center;min-height:var(--target);padding:var(--space-2);font-size:var(--text-sm);line-height:1.5;color:var(--secondary);text-align:center;text-decoration:underline;overflow-wrap:anywhere}.sm-key-link:hover{color:var(--fg)}.sm-agent-heading{font-size:var(--text-base);line-height:1.5;margin:var(--space-8) 0 var(--space-4)}
@media(prefers-reduced-motion:reduce){.stray-models *{transition:none!important;animation:none!important}.sm-button:active{transform:none}}
