/* Inherits the application's light/dark theme; no global selector overrides. */
#operating-protocol-panel { margin-top: 18px; min-width: 0; }
.protocol-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin: 14px 0; }
.protocol-toolbar label { display: inline-flex; align-items: center; gap: 8px; }
.protocol-toolbar input[type=number] { width: 85px; border: 1px solid var(--line, #667085); border-radius: 6px; padding: 7px; color: inherit; background: transparent; }
.protocol-editor { border: 1px solid var(--line, #667085); border-radius: 8px; padding: 10px 12px; margin: 12px 0; }
.protocol-editor summary { cursor: pointer; font-weight: 600; }
.protocol-editor label { display: block; margin: 12px 0 6px; }
.protocol-editor textarea { box-sizing: border-box; width: 100%; resize: vertical; min-height: 220px; padding: 12px; color: inherit; background: transparent; border: 1px solid var(--line, #667085); border-radius: 6px; font: 12px/1.6 ui-monospace, SFMono-Regular, Consolas, monospace; direction: ltr; }
.protocol-status { padding: 10px 12px; border-left: 3px solid var(--acc, #148d80); background: var(--panel2, transparent); }
.protocol-status[data-status=stale], .protocol-error { border-left: 3px solid var(--warn, #d99132); padding-left: 12px; }
.protocol-error { overflow-wrap: anywhere; }
.protocol-metrics { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; margin: 14px 0; }
.protocol-metrics div { padding: 12px; border: 1px solid var(--line, #667085); border-radius: 8px; }
.protocol-metrics span { display: block; font-size: 12px; margin-bottom: 6px; opacity: .8; }
.protocol-metrics strong { font-size: 18px; font-variant-numeric: tabular-nums; }
.protocol-table-wrap { max-width: 100%; overflow-x: auto; }
.protocol-table { border-collapse: collapse; width: 100%; min-width: 620px; font-size: 12px; font-variant-numeric: tabular-nums; }
.protocol-table td, .protocol-table th { border-bottom: 1px solid var(--line, #667085); padding: 10px 8px; text-align: start; }
.protocol-table td small { display:block; opacity:.75; padding-top:3px; }
.protocol-hash { overflow-wrap: anywhere; font: 11px/1.6 ui-monospace, monospace; }
@media(max-width: 720px) { .protocol-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); } .protocol-toolbar .btn { min-height: 40px; } }
@media print { .protocol-toolbar, .protocol-editor { display: none; } .protocol-table { min-width: 0; } }
/* A3 accessible stage controls: maintain focusable native inputs and narrow layouts. */
.protocol-stage-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(150px,1fr)); gap: 10px; }
.protocol-stage-grid label { display: flex; flex-direction: column; gap: 5px; font-size: 12px; min-width: 0; }
.protocol-stage-grid input, .protocol-stage-grid select { min-height: 44px; width: 100%; box-sizing: border-box; }
.protocol-stage-card { min-width: 0; margin: 12px 0; border: 1px solid var(--border, #777); border-radius: 8px; padding: 12px; }
.protocol-stage-card legend { padding: 0 5px; font-weight: 600; }
.protocol-progress { font-variant-numeric: tabular-nums; }
.protocol-quality { border-left: 3px solid currentColor; padding-left: 12px; overflow-wrap: anywhere; }
@media (max-width: 480px) { .protocol-stage-grid { grid-template-columns: minmax(0,1fr); } }
