/* DROPIT DMX-Rechner */
.dmxT{margin:14px 0;border:1px solid rgba(231,225,223,.14);border-radius:22px;background:rgba(20,24,28,.72);padding:18px;color:#e7e1df}
.dmxT *{box-sizing:border-box}
.dmxT .k{font-size:12px;letter-spacing:.26em;text-transform:uppercase;color:rgba(231,225,223,.72)}
.dmxTabs{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.dmxTabs button{appearance:none;border:1px solid rgba(231,225,223,.18);background:rgba(255,255,255,.03);color:inherit;font:inherit;font-size:14px;font-weight:700;padding:9px 14px;border-radius:999px;cursor:pointer}
.dmxTabs button[aria-selected="true"]{background:#ffdd77;border-color:#ffdd77;color:#14181c}
.dmxPane{margin-top:16px}
.dmxPane[hidden]{display:none}
.dmxGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.dmxT label{display:block;font-size:12px;color:rgba(231,225,223,.68);line-height:1.35}
.dmxT input[type=number],.dmxT input[type=text],.dmxT select{margin-top:6px;width:100%;border:1px solid rgba(231,225,223,.18);border-radius:14px;background:rgba(255,255,255,.03);color:inherit;padding:10px 12px;font:inherit;font-size:17px;min-width:0}
.dmxT select option{background:#14181c;color:#e7e1df}
.dmxT .chk{text-transform:none;letter-spacing:.01em;display:flex;align-items:center;gap:10px;font-size:14px;color:#e7e1df;margin-top:8px;cursor:pointer}
.dmxT .chk input{width:18px;height:18px;accent-color:#ffdd77}
.dmxBig{border:1px solid rgba(255,221,119,.45);border-radius:16px;padding:14px;background:rgba(255,221,119,.06)}
.dmxBig .v{margin-top:6px;font-size:30px;font-weight:950;letter-spacing:-.5px;color:#ffdd77;font-variant-numeric:tabular-nums;word-break:break-word}
.dmxBox{border:1px solid rgba(231,225,223,.14);border-radius:16px;padding:14px}
.dmxBox .v{margin-top:6px;font-size:20px;font-weight:800;font-variant-numeric:tabular-nums}
.dmxMut{color:rgba(231,225,223,.68);font-size:13px;line-height:1.55}
/* DIP switch */
.dip{margin-top:16px;display:inline-flex;gap:6px;padding:14px 14px 10px;border-radius:14px;background:#b8202c;box-shadow:inset 0 -3px 0 rgba(0,0,0,.25);max-width:100%;overflow-x:auto}
.dip .sw{display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;user-select:none;background:none;border:0;padding:0;color:#fff;font:inherit}
.dip .slot{width:26px;height:54px;border-radius:5px;background:#f2f2f2;position:relative;box-shadow:inset 0 2px 4px rgba(0,0,0,.35)}
.dip .knob{position:absolute;left:3px;right:3px;height:22px;border-radius:3px;background:#2a2a2a;transition:top .12s ease;top:28px}
.dip .sw.on .knob{top:4px;background:#111}
.dip .sw:focus-visible .slot{outline:2px solid #ffdd77;outline-offset:2px}
.dip .n{font-size:12px;font-weight:800}
.dip .val{font-size:10px;opacity:.8}
.dip .onlbl{position:absolute;left:-2px;top:-14px;font-size:9px;font-weight:900;letter-spacing:.08em}
.dip .sw.fn .slot{opacity:.55}
/* Patch */
.dmxRows{margin-top:12px;display:flex;flex-direction:column;gap:8px}
.dmxRow{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(0,1fr) minmax(0,1fr) 40px;gap:8px;align-items:end}
.dmxRow input{font-size:15px!important;padding:9px 10px!important}
.dmxRow .rm{height:42px;border-radius:12px;border:1px solid rgba(231,225,223,.18);background:transparent;color:inherit;font-size:18px;cursor:pointer}
.dmxBtns{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.dmxBtns button{appearance:none;border:1px solid rgba(231,225,223,.22);background:rgba(255,255,255,.04);color:inherit;font:inherit;font-size:13px;font-weight:700;padding:8px 12px;border-radius:999px;cursor:pointer}
.dmxBtns button.pri{background:#ffdd77;color:#14181c;border-color:#ffdd77}
.dmxBtns button:hover{border-color:rgba(255,221,119,.7)}
.dmxUni{margin-top:10px;display:grid;gap:8px}
.dmxUni .bar{height:12px;border-radius:6px;background:rgba(255,255,255,.07);overflow:hidden}
.dmxUni .bar i{display:block;height:100%;background:linear-gradient(90deg,#72a3bd,#ffdd77)}
.dmxUni .lbl{display:flex;justify-content:space-between;font-size:13px;color:rgba(231,225,223,.8);font-variant-numeric:tabular-nums;margin-bottom:4px}
.dmxTblWrap{margin-top:14px;overflow-x:auto;border:1px solid rgba(231,225,223,.10);border-radius:14px}
.dmxTbl{width:100%;border-collapse:collapse;font-size:13.5px;font-variant-numeric:tabular-nums;min-width:640px}
.dmxTbl th{text-align:left;padding:9px 10px;color:rgba(231,225,223,.68);font-weight:600;background:rgba(255,255,255,.03);white-space:nowrap}
.dmxTbl td{padding:8px 10px;border-top:1px solid rgba(231,225,223,.08);white-space:nowrap}
.dmxTbl tr.grp td{background:rgba(114,163,189,.10);font-weight:800;color:#e7e1df}
.dmxTbl .mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.04em}
.dmxWarn{margin-top:10px;border:1px solid rgba(197,143,160,.55);background:rgba(197,143,160,.10);border-radius:12px;padding:10px 12px;font-size:13px;line-height:1.5}
.dmxToast{margin-left:6px;font-size:12px;color:#9fc59a}
@media (max-width:560px){
  .dmxT{padding:14px}
  .dmxRow{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 42px;padding-bottom:10px;border-bottom:1px solid rgba(231,225,223,.08)}
  .dmxRow label:first-child{grid-column:1/-1}
  .dip{gap:4px;padding:12px 10px 8px}
  .dip .slot{width:22px;height:48px}
  .dip .knob{height:19px;top:25px}
}
@media print{
  body *{visibility:hidden}
  #dmxPatch,#dmxPatch *{visibility:visible}
  #dmxPatch{position:absolute;left:0;top:0;width:100%;color:#000}
  #dmxPatch .dmxBtns,#dmxPatch .dmxRows,#dmxPatch .dmxGrid{display:none}
  .dmxTbl th,.dmxTbl td{color:#000;border-color:#ccc}
}
