#inputMapper{color:#e7f3ff;--mapper-blue:#00cafa;--mapper-line:#385a74;min-width:0}
.mapper-heading,.mapper-heading>div,.mapper-tools,.mapper-bottom{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.mapper-heading{justify-content:space-between;margin-bottom:22px}
.mapper-heading h2{font-size:clamp(22px,3vw,36px);font-weight:850;letter-spacing:1px;margin:0}
.mapper-icon{font-size:42px;color:#59eafa}.mapper-status{padding:7px 13px;border:1px solid #25ad93;border-radius:24px;color:#9affb4;font-size:12px}
.mapper-status.offline{color:#ffd480;border-color:#b78938}
.mapper-selectors{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:15px;align-items:end}
.mapper-selectors label{display:grid;gap:7px;font-size:13px;font-weight:700}
.mapper-selectors select{width:100%;max-width:100%;min-width:0;padding:10px;border:1px solid #7da5cc;background:#0a1828;color:#edf5ff;border-radius:8px}
.mapper-tools{margin:16px 0}.mapper-tools label{font-size:12px;margin-left:auto}
.mapper-help{font-size:12px;margin:12px 0 18px;color:#a9c4db}.mapper-help summary{cursor:pointer}.mapper-help p{max-width:80ch;line-height:1.5}
.mapper-table{border:2px solid var(--mapper-blue);border-radius:16px;overflow:hidden;background:linear-gradient(130deg,#112334,#06111b)}
.mapper-columns{display:grid;grid-template-columns:1fr 1fr;padding:16px 20px;background:#182e43;font-weight:800}
#mapperRows{max-height:48vh;min-height:0;overflow:auto;padding:0 10px}
.mapper-row{display:grid;grid-template-columns:minmax(130px,1fr) minmax(160px,1fr);gap:12px;padding:13px;border:1px solid #28475d;background:#0a1825;border-radius:11px;margin:6px 0}
.mapper-row.active{background:#07391c;border-color:#79ff51;box-shadow:inset 0 0 12px #4ef73240}
.mapper-row.active .mapper-input-name,.mapper-row.active .mapper-activity{color:#a5ff89}
.mapper-input-name{display:block;font-size:16px;font-weight:750;overflow-wrap:anywhere}
.mapper-reading{display:flex;gap:8px;align-items:center;font-size:11px;margin-top:8px;color:#9cb8ce}
.mapper-reading meter{width:90px;max-width:45%;accent-color:#76fb55}
.mapper-outputs{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.mapper-outputs button{border:1px solid #80a9cd;min-height:38px;background:#08121e}
.mapper-outputs .mapper-assignment{flex:1;min-width:100px;font-weight:700}
.mapper-outputs .capturing{border:2px solid #30c8ff;color:#75e2ff}
.mapper-row details{grid-column:1/-1;font-size:12px}.mapper-row summary{cursor:pointer;color:#a6c4df}
.mapper-advanced{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}
.mapper-advanced label{display:grid;gap:5px}.mapper-advanced input{width:100%;min-width:0}.mapper-advanced input[type=checkbox]{width:auto;justify-self:start}
.mapper-capture{grid-column:1/-1;background:#152f46;border:1px solid #4eafd9;border-radius:8px;padding:10px;font-size:13px}
.mapper-capture p{margin:0 0 8px}.mapper-capture button{margin:3px}
#mapperEmpty{padding:35px 18px;text-align:center;color:#b4cfe5}#mapperEmpty>span{font-size:46px;color:#64dcff}
#mapperEmpty h3{color:#f1f8ff}#mapperEmpty small{color:#7d9cb4}
.mapper-bottom{margin-top:18px}.mapper-bottom .primary{margin-left:auto;background:linear-gradient(#087cf2,#0756ad);border:1px solid #51deff}
#mapperMessage{min-height:22px;color:#a6d7ed;font-size:13px}
#mapperPrompt{width:min(440px,85vw);padding:24px;background:#0b1a2a;color:#edf6ff;border:1px solid #4fcfff;border-radius:12px}
#mapperPrompt input{width:100%;margin:12px 0}#mapperPrompt::backdrop{background:#000a}
#inputMapper button:focus-visible,#inputMapper select:focus-visible{outline:2px solid #5ce1ff;outline-offset:3px}
@media(max-width:850px){.mapper-advanced{grid-template-columns:repeat(2,minmax(0,1fr))}.mapper-selectors{grid-template-columns:1fr}.mapper-columns,.mapper-row{grid-template-columns:1fr 1fr}.mapper-row{gap:6px;padding:9px}.mapper-input-name{font-size:13px}}

#inputMapper .mapper-heading{padding:0;border:0;background:none;min-height:0}
#inputMapper .mapper-heading>div{display:flex;align-items:center}
.mapper-bottom{position:sticky;bottom:0;background:#101c2b;padding:12px 0;z-index:2}
#inputMapper .mapper-tools label{display:flex;align-items:center;gap:6px}
.mapper-outputs>label{flex:1;min-width:105px}
.mapper-outputs>label>button{width:100%}
