/* Scoped to the unified instrument administration; uses the existing MDL MudBlazor palette. */
.instrument-administration { min-width: 0; }
.instrument-administration h2 { font-size: 1.16rem; line-height: 1.4; margin: 0 0 .7rem; }
.instrument-administration h3 { font-size: 1.04rem; margin: .6rem 0; }
.instrument-administration p { color: var(--mud-palette-text-secondary); line-height: 1.6; }
.instrument-administration .mud-paper { border-radius: 12px; }
.instrument-catalog-filter { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; }
.instrument-catalog-filter > .mud-input-control:first-child { flex: 2 1 300px; }
.instrument-catalog-filter > .mud-input-control { flex: 1 1 220px; }
.instrument-catalog-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 20px; }
.instrument-catalog-card { display: flex; flex-direction: column; min-width: 0; transition: border-color .15s ease; }
.instrument-catalog-card:hover { border-color: var(--mud-palette-primary); }
.instrument-catalog-card .mud-card-content { flex: 1; padding: 20px 20px 8px; }
.instrument-catalog-card .mud-card-actions { padding: 8px 16px 16px; }
.instrument-catalog-card h2 { margin-top: 10px; }
.instrument-catalog-card p { margin-bottom: 12px; }
.instrument-tool-icon { background: var(--mud-palette-primary-hover); border-radius: 10px; padding: 8px; width: 44px; height: 44px; }
.instrument-empty { text-align: center; }
.instrument-admin-selector { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-bottom: 20px; }
.instrument-admin-selector > .mud-input-control { flex: 1 1 300px; min-width: 0; }
.instrument-admin-heading { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; }
.instrument-admin-heading > div { flex: 1 1 220px; min-width: 0; }
.instrument-admin-heading h2, .instrument-admin-heading p { margin: 0; overflow-wrap: anywhere; }
.instrument-admin-tabs { margin-bottom: 20px; }
.instrument-admin-tabs .mud-tabs-tabbar { border-bottom: 1px solid var(--mud-palette-lines-default); }
.instrument-admin-tabs .mud-tab { min-height: 48px; min-width: 100px; text-transform: none; font-weight: 600; }
.instrument-admin-tabs .mud-tabs-panels { padding-top: 20px; }
.instrument-summary-card { height: 100%; display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
.instrument-summary-card p { flex: 1; margin: 0; }
.instrument-admin-content { min-width: 0; }
.instrument-admin-content .card { margin-bottom: 20px; padding: 20px; border-radius: 12px; }
.instrument-admin-content .mud-input-control { margin-bottom: 12px; }
.instrument-admin-content .mud-grid .mud-input-control { margin-bottom: 0; }
.instrument-admin-content .mud-expansion-panels { margin-bottom: 20px; }
.instrument-admin-content .generation-options { margin-bottom: 20px; }
.instrument-admin-content .section-heading { align-items: center; gap: 12px; flex-wrap: wrap; }
.instrument-admin-content .field > input, .instrument-admin-content .field > select, .instrument-admin-content .field > textarea { box-sizing: border-box; width: 100%; min-height: 48px; padding: 12px; border: 1px solid var(--mud-palette-lines-inputs); border-radius: 6px; background: var(--mud-palette-surface); color: var(--mud-palette-text-primary); font: inherit; }
.instrument-admin-content .field > input:focus-visible, .instrument-admin-content .field > select:focus-visible, .instrument-admin-content .field > textarea:focus-visible { outline: 2px solid var(--mud-palette-primary); outline-offset: 1px; }
.instrument-admin-content textarea, .instrument-admin-content select { max-width: 100%; }
.instrument-admin-content .instrument-form-fields, .instrument-editor-surface { border: 0 !important; padding: 0 !important; margin: 0; min-width: 0; }
.instrument-editor-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.instrument-administration .button { min-height: 40px; border-radius: 6px; font-size: .875rem; }
.instrument-administration .mud-button-root { text-transform: none; min-height: 40px; }
.instrument-json textarea { font-family: Consolas, monospace; font-size: .85rem; }
.instrument-hash { display: block; max-width: 320px; overflow-wrap: anywhere; }
/* Native administrative tables retain their own bindings and now scroll in a bounded region. */
.instrument-admin-content .table-scroll { max-height: min(52vh, 480px); overflow: auto; position: relative; border: 1px solid var(--mud-palette-lines-default); border-radius: 8px; overscroll-behavior: contain; }
.instrument-admin-content .table-scroll > table { width: 100%; border-collapse: separate; border-spacing: 0; }
.instrument-admin-content .table-scroll thead th { position: sticky; top: 0; z-index: 2; background: var(--mud-palette-surface); color: var(--mud-palette-text-primary); box-shadow: inset 0 -1px var(--mud-palette-lines-default); }
/* MudTable FixedHeader uses its own scroll container; keep an opaque header above all rows. */
.instrument-admin-content .instrument-table .mud-table-container { overscroll-behavior: contain; }
.instrument-admin-content .instrument-table .mud-table-head .mud-table-cell { background: var(--mud-palette-surface); color: var(--mud-palette-text-primary); font-weight: 600; }
.instrument-admin-content .instrument-table details { max-width: 360px; }
.instrument-admin-content .table-scroll:focus-visible { outline: 2px solid var(--mud-palette-primary); outline-offset: 2px; }
@media (max-width: 600px) {
    .instrument-catalog-grid { gap: 14px; }
    .instrument-admin-selector { align-items: stretch; }
    .instrument-admin-selector .mud-button-root { flex: 1 1 44%; font-size: .78rem; }
    .instrument-admin-tabs .mud-tab { min-width: 88px; padding-inline: 12px; }
    .instrument-editor-actions .mud-button-root { flex: 1 1 100%; }
    .instrument-admin-content .card, .instrument-admin-content .mud-paper.pa-5 { padding: 16px !important; }
}
@media print {
    .instrument-admin-content .table-scroll, .instrument-admin-content .instrument-table .mud-table-container { max-height: none !important; height: auto !important; overflow: visible !important; }
    .instrument-admin-content .table-scroll thead th, .instrument-admin-content .instrument-table .mud-table-head .mud-table-cell { position: static !important; }
}
