.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; }
.sms-area-editor, .sms-area-routing { padding-block: 12px; border-bottom: 1px solid var(--line, #cbdada); }
.sms-area-editor > .row { margin-top: 10px; }
.sms-area-editor > .row > .sms-notification-icon { flex: 0 0 36px; width: 36px; }
.sms-area-operator { margin-block: 10px; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; align-items: end; }
.sms-area-routing fieldset { border: 0; padding: 0; margin: 0; min-width: 0; align-items: end; }
.sms-area-routing .sms-notification-check { display: flex; align-items: center; gap: 8px; min-height: 38px; }
.sms-area-routing input[type='checkbox'] { min-height: 20px; flex: 0 0 20px; }
@media (max-width: 700px) {
  .sms-area-operator { grid-template-columns: minmax(0, 1fr) auto; }
  .sms-area-operator > .field:first-child { grid-column: 1 / -1; }
}
#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; } }
.mqtt-account-list { list-style: none; margin: 12px 0 0; padding: 0; }
.mqtt-account { border-top: 1px solid var(--line); padding: 12px 0; display: grid; gap: 4px; overflow-wrap: anywhere; }
.mqtt-account ul { margin: 4px 0; padding-inline-start: 20px; }
.mqtt-account-form { padding: 12px 0; border-bottom: 1px solid var(--line); }
.mqtt-account-form:not([hidden]) { display: grid; gap: 10px; max-width: 680px; }
.mqtt-account-form label { display: grid; gap: 4px; min-width: 0; }
.mqtt-rule { display: grid; gap: 8px; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) auto; align-items: end; margin-bottom: 8px; }
.mqtt-rule input, .mqtt-rule select { min-width: 0; width: 100%; }
.sms-receiver-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; align-items: end; gap: 8px; margin-block: 8px; }
.sms-receiver-row > .muted { grid-column: 1 / -1; overflow-wrap: anywhere; }
