.protocol-section { width: 100%; min-width: 0; border-bottom: 1px solid var(--line, #cbdada); }
.protocol-section > summary { padding: 16px; cursor: pointer; font-weight: 600; }
.protocol-section > form, .protocol-section-body { padding: 0 16px 16px; }
.protocol-settings-form { display: block; }
.protocol-settings-form > button { margin-top: 12px; }
.protocol-fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); gap: 12px; min-width: 0; }
.protocol-fields .field { min-width: 0; }
.protocol-fields input, .protocol-fields select, .protocol-fields textarea { width: 100%; max-width: 100%; box-sizing: border-box; }
.protocol-fields input[type='checkbox'] { width: 20px; height: 20px; }
.protocol-fields textarea { min-height: 96px; resize: vertical; }
#protocolDeviceConnection, #protocolSignalSource { grid-column: 1 / -1; }
.protocol-topic-prefix { grid-column: 1 / -1; margin: 0; overflow-wrap: anywhere; }
#protocolDeviceConnection[hidden], #protocolSignalSource[hidden], .field[hidden] { display: none !important; }
[data-signal-internal-ioa][hidden] { display: none !important; }
#settings .grid { display: block; }
#settings .card { border-radius: 0; box-shadow: none; border: 0; }
[data-protocol-redirect='true'] { display: none !important; }
#deviceForm, #signalForm { min-width: 0; }
#signalEditor td { overflow-wrap: anywhere; }
@media (max-width: 700px) { .protocol-section > summary { padding: 12px; } .protocol-section > form, .protocol-section-body { padding: 0 12px 12px; } }
