.model-registry { display: grid; gap: 22px; padding-bottom: 24px; }
.registry-page-header, .registry-section-heading, .registry-detail-header, .registry-detail-actions, .registry-form-actions { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.registry-page-header { align-items: flex-start; }
.registry-page-header .settings-section-title { margin: 0 0 6px; }
.registry-page-header p, .registry-section-heading span, .registry-detail-header p { margin: 0; color: var(--color-text-muted); font-size: 12px; line-height: 1.45; }
.registry-create-card, .registry-connections, .registry-detail { border: 1px solid var(--color-border); border-radius: 16px; background: var(--color-surface); padding: 18px; }
.registry-section-heading { margin-bottom: 14px; }
.registry-section-heading > div { display: grid; gap: 3px; }
.registry-section-heading strong { font-size: 14px; }
.registry-form-grid { display: grid; grid-template-columns: 1fr 1.35fr; gap: 12px; }
.registry-form-grid label { display: grid; gap: 6px; color: var(--color-text-muted); font-size: 12px; }
.registry-form-actions { justify-content: flex-end; margin-top: 14px; }
.registry-error { padding: 10px 12px; border: 1px solid color-mix(in srgb, #b64235 35%, transparent); border-radius: 10px; background: color-mix(in srgb, #b64235 8%, transparent); color: #a83b31; font-size: 13px; }
.registry-empty { padding: 22px; border: 1px dashed var(--color-border); border-radius: 12px; color: var(--color-text-muted); text-align: center; font-size: 13px; }
.registry-empty--compact { padding: 14px; }
.registry-provider-list, .registry-preview-list, .registry-model-list { display: grid; gap: 8px; }
.registry-provider-row { width: 100%; display: grid; grid-template-columns: 10px minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 12px; border: 1px solid transparent; border-radius: 12px; background: transparent; color: inherit; text-align: left; cursor: pointer; }
.registry-provider-row:hover, .registry-provider-row[data-selected="true"] { border-color: var(--color-border); background: var(--color-surface-subtle); }
.registry-provider-state { width: 8px; height: 8px; border-radius: 50%; background: #a9a8a2; }
.registry-provider-state[data-status="active"] { background: #3e8c61; }
.registry-provider-state[data-status="unhealthy"] { background: #b64235; }
.registry-provider-copy { display: grid; min-width: 0; gap: 3px; }
.registry-provider-copy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; }
.registry-provider-copy small, .registry-provider-status { color: var(--color-text-muted); font-size: 11px; }
.registry-detail-header h3 { margin: 3px 0; font-size: 18px; }
.registry-eyebrow { color: var(--color-text-muted); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.registry-status-pill { padding: 5px 9px; border-radius: 999px; background: var(--color-surface-subtle); color: var(--color-text-muted); font-size: 11px; }
.registry-status-pill[data-status="active"] { background: color-mix(in srgb, #3e8c61 13%, transparent); color: #32734f; }
.registry-safe-meta { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 16px 0; }
.registry-safe-meta div { padding: 10px; border-radius: 10px; background: var(--color-surface-subtle); }
.registry-safe-meta dt { color: var(--color-text-muted); font-size: 10px; }
.registry-safe-meta dd { margin: 4px 0 0; overflow: hidden; text-overflow: ellipsis; font-size: 12px; white-space: nowrap; }
.registry-detail-actions { justify-content: flex-start; flex-wrap: wrap; padding-bottom: 18px; border-bottom: 1px solid var(--color-border); }
.registry-edit-panel { margin: 16px 0 0; padding-bottom: 16px; border-bottom: 1px solid var(--color-border); }
.registry-edit-panel summary { width: max-content; color: var(--color-text); font-size: 13px; font-weight: 600; cursor: pointer; }
.registry-edit-grid { margin-top: 14px; }
.registry-edit-grid textarea { min-height: 76px; padding-block: 9px; resize: vertical; }
.registry-config-field { grid-column: 1 / -1; }
.registry-models { padding-top: 18px; }
.registry-model-row { display: grid; grid-template-columns: auto minmax(0, 1fr) 76px auto; align-items: center; gap: 10px; padding: 10px; border: 1px solid var(--color-border); border-radius: 12px; }
.registry-model-fields { display: grid; gap: 4px; min-width: 0; }
.registry-model-fields textarea { min-height: 50px; padding-block: 8px; resize: vertical; }
.registry-model-fields small { overflow: hidden; color: var(--color-text-muted); font-family: var(--font-mono); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.registry-model-toggle input { position: absolute; opacity: 0; pointer-events: none; }
.registry-model-toggle span { display: block; width: 30px; height: 18px; border-radius: 999px; background: #c9c8c2; position: relative; cursor: pointer; }
.registry-model-toggle span::after { content: ""; position: absolute; width: 14px; height: 14px; left: 2px; top: 2px; border-radius: 50%; background: white; transition: transform 150ms ease; }
.registry-model-toggle input:checked + span { background: #3e8c61; }
.registry-model-toggle input:checked + span::after { transform: translateX(12px); }
.registry-model-toggle input:focus-visible + span { box-shadow: var(--focus); }
.registry-manual-form { display: grid; grid-template-columns: 1fr 1fr auto; gap: 8px; margin-top: 10px; }
.registry-preview { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--color-border); }
.registry-preview-row { display: flex; align-items: flex-start; gap: 10px; padding: 9px 10px; border-radius: 10px; background: var(--color-surface-subtle); }
.registry-preview-row span { display: grid; gap: 2px; }
.registry-preview-row strong { font-size: 12px; }
.registry-preview-row small { color: var(--color-text-muted); font-family: var(--font-mono); font-size: 10px; }
.button--danger { color: #a83b31; }
@media (max-width: 760px) {
  .registry-form-grid, .registry-safe-meta, .registry-manual-form { grid-template-columns: 1fr; }
  .registry-model-row { grid-template-columns: auto minmax(0, 1fr); }
  .registry-sort-input, .registry-model-row .button { grid-column: 2; }
}
@media (prefers-reduced-motion: reduce) { .registry-model-toggle span::after { transition: none; } }
