.dfu-box { display:grid; max-width:920px; gap:1rem; }
.dfu-heading,.dfu-actions { display:flex; align-items:center; flex-wrap:wrap; gap:.65rem; }
.dfu-heading { justify-content:space-between; align-items:flex-start; }
.dfu-heading h2 { margin:.25rem 0; }
.dfu-step { border:1px solid var(--line,#344253); border-radius:10px; padding:1.15rem; }
.dfu-step h3 { margin:0; font-size:1rem; }
.dfu-step p { line-height:1.6; margin:.65rem 0; }
.dfu-step .dfu-detail { font-size:.83rem; opacity:.8; }
.dfu-step :is(.dfu-status,.dfu-detail):empty { display:none; }
.dfu-status { margin-top:.7rem; font-size:.88rem; font-weight:600; }
.dfu-error { color:var(--red,#dd6666); }
.dfu-box [hidden] { display:none !important; }
.dfu-box select, .dfu-box input { max-width:100%; }
.dfu-box progress { width:100%; height:.5rem; margin:.85rem 0 0; }
.dfu-step .placa-terminal { margin:.8rem 0; min-height:5rem; }
.dfu-step .dfu-send input { flex:1 1 15rem; min-width:7rem; }
.dfu-step details { padding:.65rem .1rem; }
.dfu-step details + details { border-top:1px solid var(--line,#344253); }
.dfu-step summary { cursor:pointer; font-weight:600; }
.dfu-step details pre { white-space:pre-wrap; overflow-wrap:anywhere; }
