.bc-abas { display: none; gap: 4px; padding: 4px; border-radius: 14px; background: rgba(5, 12, 24, .55); border: 1px solid var(--borda); flex: none; }
.bc.com-clp .bc-abas { display: flex; }
.bc-aba { display: inline-flex; align-items: center; gap: 7px; border: 0; background: none; color: var(--txt2); font-weight: 800; padding: 7px 14px; border-radius: 10px; letter-spacing: .2px; transition: background .25s, color .25s, box-shadow .25s; white-space: nowrap; }
.bc-aba .ic { width: 18px; height: 18px; }
.bc-aba.ativa { background: linear-gradient(135deg, rgba(95, 212, 244, .22), rgba(151, 204, 180, .18)); color: #fff; box-shadow: inset 0 0 0 1px rgba(95, 212, 244, .45), 0 6px 18px rgba(95, 212, 244, .18); }
.bc-aba[data-aba="ladder"].ativa { color: var(--ciano); }
.bc.aba-ladder .bc-etapas, .bc.aba-ladder .bc-paleta-cabo { display: none; }
.bc.aba-ladder:not(.ld-dividido) .bc-palco, .bc.aba-ladder:not(.ld-dividido) .bc-paleta, .bc.aba-ladder:not(.ld-dividido) .bc-fab-pecas { display: none; }
.bc-ladder-wrap { position: relative; flex: 1; min-width: 0; display: flex; }
.bc.ld-dividido .bc-ladder-wrap { flex: 0 0 56%; border-right: 1px solid rgba(95, 212, 244, .25); box-shadow: 8px 0 30px rgba(0, 0, 0, .35); z-index: 6; }
.bc.ld-dividido .bc-paleta { display: none; }
.bc-sel-ladder { background: linear-gradient(135deg, rgba(95, 212, 244, .25), rgba(151, 204, 180, .2)) !important; color: #fff !important; }

.cp .manopla-sel { transition: transform .28s cubic-bezier(.3, 1.4, .5, 1); transform: rotate(-45deg); }
.cp .haste { transition: transform .22s cubic-bezier(.3, 1.4, .5, 1); }
.cp .peca { transition: transform .45s cubic-bezier(.2, .9, .3, 1.1), opacity .3s; opacity: .45; }
.cp.detectando .led-out { filter: drop-shadow(0 0 4px #ffb020); }
.cp.run .clp-led-run { filter: drop-shadow(0 0 5px #38f28f); }
.cp .clp-in, .cp .clp-out { transition: fill .08s; }
.cp.carregando .clp-led-run { animation: clpPisca .35s steps(2) infinite; }
.cp.carregando .clp-rxtx { animation: clpRx .12s steps(2) infinite; }
.cp.carregando .clp-carga { opacity: 1; }
@keyframes clpPisca { 50% { fill: #ffb020; } }
@keyframes clpRx { 50% { fill: #ffd23f; } }
.cp.queimado .clp-led-err { animation: clpPisca .5s steps(2) infinite; }

.ld { position: absolute; inset: 0; display: flex; flex-direction: column; min-height: 0; background: radial-gradient(1100px 500px at 70% -10%, rgba(95, 212, 244, .08), transparent 60%), linear-gradient(180deg, #0d1828, #0a1322); color: var(--txt); }
.ld .ic { width: 18px; height: 18px; }
.ld-barra { display: flex; align-items: center; gap: 10px; padding: 8px 12px; border-bottom: 1px solid var(--borda); background: rgba(10, 19, 34, .9); flex-wrap: wrap; }
.ld-cpu { display: flex; align-items: center; gap: 9px; padding: 4px 10px 4px 6px; border-radius: 12px; background: rgba(255, 255, 255, .04); border: 1px solid var(--borda); }
.ld-cpu-ic { width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; background: linear-gradient(135deg, #2c3a4c, #1a2433); color: var(--ciano); box-shadow: inset 0 0 0 1px rgba(95, 212, 244, .3); }
.ld-cpu-ic.grande { width: 52px; height: 52px; border-radius: 14px; }
.ld-cpu-ic.grande .ic { width: 28px; height: 28px; }
.ld-cpu small { display: block; font-size: .66em; color: var(--txt3); font-weight: 800; letter-spacing: .6px; text-transform: uppercase; }
.ld-cpu-sel { border: 0; background: none; font-weight: 800; color: #fff; padding: 0; max-width: 240px; }
.ld-cpu-sel option { background: var(--navy2); }
.ld-status { display: flex; align-items: center; gap: 8px; padding: 7px 12px; border-radius: 999px; font-size: .84em; font-weight: 800; color: var(--txt2); background: rgba(255, 255, 255, .04); border: 1px solid var(--borda); }
.ld-led { width: 10px; height: 10px; border-radius: 50%; background: #3a4350; }
.ld-status.run { color: #b9ffd6; border-color: rgba(61, 220, 138, .5); background: rgba(61, 220, 138, .1); }
.ld-status.run .ld-led { background: #39ff8e; box-shadow: 0 0 10px #39ff8e; }
.ld-status.stop { color: #ffd38a; border-color: rgba(255, 176, 32, .5); background: rgba(255, 176, 32, .1); }
.ld-status.stop .ld-led { background: #ffb020; box-shadow: 0 0 10px #ffb020; }
.ld-status.erro { color: #ffb3a8; border-color: rgba(255, 90, 71, .5); }
.ld-status.erro .ld-led { background: #ff4b3a; animation: ldPisca .6s steps(2) infinite; }
.ld-status.semenergia .ld-led { background: #6f7a86; }
@keyframes ldPisca { 50% { opacity: .2; } }
.ld-acoes { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.ld-acoes-dir { margin-left: auto; }
.ld-sep { width: 1px; height: 26px; background: var(--borda); margin: 0 2px; }
.ld-bt { display: inline-flex; align-items: center; gap: 7px; min-height: 38px; padding: 0 13px; border-radius: 11px; border: 1px solid var(--borda); background: rgba(255, 255, 255, .045); color: var(--txt); font-weight: 800; font-size: .88em; transition: background .2s, transform .12s, box-shadow .2s, color .2s; white-space: nowrap; }
.ld-bt:hover { background: rgba(151, 204, 180, .14); }
.ld-bt:active { transform: scale(.95); }
.ld-bt-ic { width: 38px; padding: 0; justify-content: center; }
.ld-bt-pri { background: linear-gradient(135deg, var(--menta), var(--ciano)); color: #062019; border: 0; }
.ld-bt-transf { background: linear-gradient(135deg, #2c6fb3, #1e4f86); border-color: rgba(95, 212, 244, .45); }
.ld.ld-dif .ld-bt-transf { box-shadow: 0 0 0 0 rgba(95, 212, 244, .6); animation: ldChama 1.8s ease-out infinite; }
@keyframes ldChama { 0% { box-shadow: 0 0 0 0 rgba(95, 212, 244, .55); } 100% { box-shadow: 0 0 0 12px rgba(95, 212, 244, 0); } }
.ld-bt-run .ic { color: #39ff8e; } .ld-bt-stop .ic { color: #ffb020; }
.ld-bt.ativo { background: linear-gradient(135deg, rgba(255, 176, 32, .3), rgba(255, 140, 0, .18)); border-color: rgba(255, 176, 32, .6); color: #ffe2a8; }
.ld-bt-energ.ativo { background: linear-gradient(135deg, rgba(242, 201, 107, .3), rgba(242, 161, 31, .2)); }
.ld-bt.perigo { color: #ffb3a8; border-color: rgba(255, 107, 90, .35); }
.ld:not(.ld-online) .ld-bt-run, .ld:not(.ld-online) .ld-bt-stop, .ld:not(.ld-online) .ld-bt-mon { opacity: .5; }
.ld-mini { width: 30px; height: 30px; border-radius: 9px; border: 1px solid var(--borda); background: rgba(255, 255, 255, .04); color: var(--txt2); display: inline-grid; place-items: center; }
.ld-mini .ic { width: 15px; height: 15px; }
.ld-mini:hover { color: #fff; background: rgba(151, 204, 180, .14); }
.ld-mini.perigo:hover { color: #ffb3a8; background: rgba(255, 107, 90, .14); }

.ld-abas { display: flex; gap: 2px; padding: 0 12px; border-bottom: 1px solid var(--borda); background: rgba(10, 19, 34, .6); overflow-x: auto; scrollbar-width: none; }
.ld-aba { display: inline-flex; align-items: center; gap: 7px; border: 0; background: none; color: var(--txt3); font-weight: 800; padding: 10px 14px 9px; border-bottom: 2px solid transparent; white-space: nowrap; font-size: .9em; }
.ld-aba small { color: var(--txt3); font-weight: 700; }
.ld-aba.ativa { color: #fff; border-bottom-color: var(--ciano); }
.ld-aba.ativa .ic { color: var(--ciano); }

.ld-ferr { display: none; gap: 14px; padding: 8px 12px; border-bottom: 1px solid var(--borda); background: linear-gradient(180deg, rgba(22, 38, 63, .7), rgba(15, 27, 46, .6)); overflow-x: auto; scrollbar-width: thin; }
.ld.ld-aba-prog .ld-ferr { display: flex; }
.ld-ferr-g { flex: none; }
.ld-ferr-g > small { display: block; font-size: .64em; color: var(--txt3); font-weight: 800; letter-spacing: .6px; text-transform: uppercase; margin: 0 0 4px 2px; }
.ld-ferr-g > div { display: flex; gap: 4px; }
.ld-ferr-b { display: flex; flex-direction: column; align-items: center; gap: 2px; min-width: 54px; padding: 5px 6px 4px; border-radius: 10px; border: 1px solid transparent; background: rgba(255, 255, 255, .035); color: #d9e7f2; touch-action: none; transition: background .2s, border-color .2s, transform .12s; }
.ld-ferr-b span { font-size: .68em; font-weight: 800; color: var(--txt2); }
.ld-ferr-b:hover { background: rgba(95, 212, 244, .12); border-color: rgba(95, 212, 244, .35); color: #fff; }
.ld-ferr-b:active { transform: scale(.93); }
.ld-fantasma { position: fixed; left: 0; top: 0; z-index: 9999; pointer-events: none; padding: 6px 8px; border-radius: 10px; background: rgba(15, 27, 46, .95); color: var(--ciano); border: 1px solid var(--ciano); box-shadow: 0 10px 30px rgba(0, 0, 0, .5); }

.ld-meio { flex: 1; min-height: 0; display: flex; }
.ld-conteudo { flex: 1; min-width: 0; overflow: auto; padding: 14px; scroll-behavior: smooth; }
.ld-lado { width: 300px; flex: none; border-left: 1px solid var(--borda); background: rgba(10, 19, 34, .6); overflow-y: auto; padding: 14px; }
.bc.ld-dividido .ld-lado { display: none; }
.ld-redes { display: grid; gap: 14px; }
.ld-rede { border-radius: 16px; background: linear-gradient(180deg, rgba(29, 49, 80, .55), rgba(15, 27, 46, .7)); border: 1px solid var(--borda); overflow: hidden; }
.ld-rede-cab { display: flex; align-items: center; gap: 10px; padding: 9px 12px 6px; }
.ld-rede-n { flex: none; font-family: var(--cond, inherit); font-weight: 800; font-size: .92em; padding: 3px 10px; border-radius: 8px; background: rgba(95, 212, 244, .14); color: var(--ciano); letter-spacing: .3px; }
.ld-rede-tit { flex: 1; min-width: 60px; border: 0; background: none; font-weight: 800; color: #fff; padding: 4px 2px; border-bottom: 1px dashed transparent; }
.ld-rede-tit:focus { outline: none; border-bottom-color: var(--ciano); }
.ld-rede-acoes { display: flex; gap: 4px; opacity: .55; transition: opacity .2s; }
.ld-rede:hover .ld-rede-acoes, .ld-rede:focus-within .ld-rede-acoes { opacity: 1; }
.ld-rede-com { display: block; width: calc(100% - 24px); margin: 0 12px 4px; border: 0; background: none; color: var(--txt2); font-size: .82em; resize: vertical; padding: 2px; min-height: 22px; }
.ld-rede-com:focus { outline: none; color: var(--txt); }
.ld-rede-com:placeholder-shown:not(:focus) { height: 22px; }
.ld-svg-wrap { overflow-x: auto; padding: 4px 8px 10px; }
.ld-svg { display: block; font-family: 'Barlow', Inter, Arial, sans-serif; user-select: none; -webkit-user-select: none; }
.ld-trilho { fill: #8ea5bd; }
.ld-cel-fundo { fill: transparent; stroke: transparent; stroke-width: 1.5; transition: fill .15s, stroke .15s; }
.ld-cel { cursor: pointer; }
.ld-cel:hover .ld-cel-fundo { fill: rgba(95, 212, 244, .05); }
.ld-cel.col-bob .ld-cel-fundo { fill: rgba(242, 201, 107, .025); }
.ld-cel.sel .ld-cel-fundo { fill: rgba(151, 204, 180, .1); stroke: var(--menta); stroke-dasharray: 5 4; }
.ld-cel.soltar .ld-cel-fundo { fill: rgba(95, 212, 244, .16); stroke: var(--ciano); }
.ld-cel.erro .ld-cel-fundo { fill: rgba(255, 90, 71, .08); stroke: rgba(255, 90, 71, .75); stroke-dasharray: none; }
.ld-cel.aviso .ld-cel-fundo { stroke: rgba(255, 176, 32, .55); stroke-dasharray: 3 3; }
.ld-cel.pisca .ld-cel-fundo { animation: ldCel 1.2s ease-out 2; }
@keyframes ldCel { 0% { fill: rgba(255, 90, 71, .45); } 100% { fill: rgba(255, 90, 71, .05); } }
.ld-cel-mais { fill: rgba(159, 179, 200, 0); font-size: 20px; font-weight: 700; transition: fill .15s; }
.ld-cel:hover .ld-cel-mais, .ld-cel.sel .ld-cel-mais { fill: rgba(159, 179, 200, .5); }
.ld-fio { stroke: #8ea5bd; stroke-width: 2.4; stroke-linecap: round; }
.ld-no { fill: #8ea5bd; }
.ld-barra { stroke: #e7eef5; stroke-width: 2.8; stroke-linecap: round; }
.ld-barra.fina { stroke-width: 2; }
.ld-contato-luz { fill: transparent; transition: fill .1s; }
.ld-bobina-luz { fill: transparent; transition: fill .1s; }
.ld-letra { fill: #e7eef5; font-weight: 900; font-size: 12px; font-family: 'Barlow Condensed', Arial, sans-serif; }
.ld-tipo { fill: var(--txt3); font-size: 7.5px; font-weight: 800; }
.ld-op-nome { fill: #f2f7fb; font-size: 11.5px; font-weight: 800; }
.ld-op-end { fill: #7fa3c4; font-size: 9.5px; font-weight: 700; }
.ld-op.vazio .ld-op-nome { fill: #ff8c7a; }
.ld-op { cursor: text; }
.ld-valor { fill: #ffd38a; font-size: 9.5px; font-weight: 800; }
.ld-caixa-corpo { fill: #1a2a42; stroke: #8ea5bd; stroke-width: 1.6; }
.ld-caixa-tit { fill: #2a4468; }
.ld-caixa-nome { fill: #fff; font-size: 10.5px; font-weight: 900; letter-spacing: .5px; }
.ld-pino { fill: #b5c7d8; font-size: 8.5px; font-weight: 800; }
.ld-param { fill: #8fd8ff; font-size: 10px; font-weight: 800; cursor: pointer; }
.ld-prog-fundo { fill: #0d1626; }
.ld-prog { fill: #ffb020; }

.ld.ld-monitorando .ld-fio.off { stroke: #4ea9ff; stroke-dasharray: 5 4; opacity: .85; }
.ld.ld-monitorando .ld-fio.on { stroke: #39ff8e; stroke-width: 3.4; filter: drop-shadow(0 0 3px rgba(57, 255, 142, .75)); }
.ld.ld-monitorando .ld-trilho { fill: #39ff8e; filter: drop-shadow(0 0 4px rgba(57, 255, 142, .7)); }
.ld.ld-monitorando .ld-contato.on .ld-contato-luz { fill: rgba(57, 255, 142, .28); }
.ld.ld-monitorando .ld-contato.on .ld-barra { stroke: #39ff8e; }
.ld.ld-monitorando .ld-bobina.on .ld-bobina-luz { fill: rgba(57, 255, 142, .3); }
.ld.ld-monitorando .ld-bobina.on .ld-barra { stroke: #39ff8e; filter: drop-shadow(0 0 4px rgba(57, 255, 142, .9)); }
.ld.ld-monitorando .ld-caixa.on .ld-caixa-corpo { stroke: #39ff8e; filter: drop-shadow(0 0 5px rgba(57, 255, 142, .55)); }
.ld.ld-monitorando .ld-conteudo { box-shadow: inset 0 3px 0 #ff9f1c; }
.ld.ld-monitorando .ld-abas { background: linear-gradient(90deg, rgba(255, 159, 28, .22), rgba(255, 159, 28, .06)); }

.ld-nova { margin: 14px auto 6px; display: flex; align-items: center; gap: 8px; padding: 10px 18px; border-radius: 12px; border: 1px dashed rgba(95, 212, 244, .45); background: rgba(95, 212, 244, .05); color: var(--ciano); font-weight: 800; }
.ld-nova:hover { background: rgba(95, 212, 244, .12); }

.ld-msgs { display: flex; align-items: center; gap: 8px; padding: 7px 12px; border-top: 1px solid var(--borda); background: rgba(8, 15, 27, .95); overflow-x: auto; scrollbar-width: none; flex: none; }
.ld-msg { display: inline-flex; align-items: center; gap: 7px; font-size: .8em; font-weight: 700; padding: 5px 10px; border-radius: 9px; border: 1px solid transparent; background: rgba(255, 255, 255, .04); color: var(--txt2); white-space: nowrap; max-width: 70vw; overflow: hidden; text-overflow: ellipsis; }
.ld-msg span { overflow: hidden; text-overflow: ellipsis; }
.ld-msg .ic { width: 15px; height: 15px; flex: none; }
.ld-msg.ok { color: #9ff0c3; } .ld-msg.ok .ic { color: #39ff8e; }
.ld-msg.erro { color: #ffc2b8; border-color: rgba(255, 90, 71, .5); background: rgba(255, 90, 71, .1); cursor: pointer; }
.ld-msg.aviso { color: #ffe0a6; border-color: rgba(255, 176, 32, .4); background: rgba(255, 176, 32, .08); cursor: pointer; }
.ld-msg.dif { color: #a8dcff; border-color: rgba(95, 212, 244, .4); background: rgba(95, 212, 244, .08); }
.ld-msg.igual { color: var(--txt3); }
.ld-msg.ciclo { color: var(--txt3); margin-left: auto; }

.ld-prop h4 { margin: 0 0 6px; font-family: var(--cond, inherit); font-size: 1.05em; letter-spacing: .3px; color: #fff; }
.ld-prop h4 + .ld-passos, .ld-prop .ld-passos + h4 { margin-top: 0; }
.ld-prop-pos { margin: 0 0 12px; font-size: .78em; color: var(--txt3); font-weight: 700; }
.ld-prop-tit { margin: 0 0 4px; font-weight: 900; color: var(--ciano); font-size: 1.02em; }
.ld-prop-dica { margin: 0 0 12px; font-size: .84em; color: var(--txt2); line-height: 1.45; }
.ld-prop-erro { display: flex; gap: 8px; align-items: flex-start; font-size: .82em; color: #ffc2b8; background: rgba(255, 90, 71, .1); border: 1px solid rgba(255, 90, 71, .4); border-radius: 10px; padding: 8px 10px; line-height: 1.4; }
.ld-prop-erro .ic { flex: none; color: #ff6b5a; width: 16px; height: 16px; margin-top: 1px; }
.ld-passos { margin: 0 0 16px; padding-left: 18px; font-size: .84em; color: var(--txt2); line-height: 1.5; display: grid; gap: 6px; }
.ld-passos b { color: #fff; }
.ld-campo { display: block; margin: 0 0 10px; }
.ld-campo span { display: block; font-size: .74em; font-weight: 800; color: var(--txt3); letter-spacing: .4px; text-transform: uppercase; margin-bottom: 4px; }
.ld-campo input, .ld-campo select { width: 100%; padding: 9px 11px; border-radius: 10px; border: 1px solid var(--borda); background: rgba(5, 12, 24, .55); color: #fff; font-weight: 700; }
.ld-campo input:focus, .ld-campo select:focus { outline: none; border-color: var(--ciano); box-shadow: 0 0 0 3px rgba(95, 212, 244, .18); }
.ld-check { display: flex; align-items: flex-start; gap: 9px; font-size: .84em; color: var(--txt2); margin: 8px 0 12px; cursor: pointer; line-height: 1.35; }
.ld-check input { width: 18px; height: 18px; accent-color: var(--ciano); flex: none; margin: 1px 0 0; }
.ld-prop-bts { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 6px; }

.ld-inline { position: absolute; z-index: 40; width: 220px; padding: 6px; border-radius: 12px; background: rgba(12, 22, 38, .98); border: 1px solid var(--ciano); box-shadow: 0 16px 40px rgba(0, 0, 0, .55); }
.ld-inline input { width: 100%; padding: 8px 10px; border-radius: 8px; border: 1px solid rgba(95, 212, 244, .4); background: #0a1322; color: #fff; font-weight: 800; font-family: 'Barlow', Inter, Arial, sans-serif; }
.ld-inline input:focus { outline: none; }
.ld-sug { list-style: none; margin: 6px 0 0; padding: 0; max-height: 230px; overflow-y: auto; }
.ld-sug li { display: flex; justify-content: space-between; gap: 8px; padding: 6px 8px; border-radius: 8px; cursor: pointer; font-size: .84em; }
.ld-sug li b { color: #fff; }
.ld-sug li small { color: var(--txt3); text-align: right; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ld-sug li.t-tag b { color: var(--menta); }
.ld-sug li:hover, .ld-sug li.ativo { background: rgba(95, 212, 244, .15); }

.ld-vazio { display: grid; place-items: center; text-align: center; padding: 60px 20px; color: var(--txt2); }
.ld-vazio .ic { width: 54px; height: 54px; color: var(--ciano); }
.ld-vazio h3 { margin: 12px 0 6px; color: #fff; }
.ld-tabela-wrap, .ld-mapa, .ld-cpu-prop { max-width: 1100px; margin: 0 auto; }
.ld-tabela-cab { display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; flex-wrap: wrap; margin-bottom: 14px; }
.ld-tabela-cab h3 { margin: 0 0 4px; font-family: var(--cond, inherit); font-size: 1.4em; color: #fff; }
.ld-tabela-cab p { margin: 0; color: var(--txt2); font-size: .88em; }
.ld-tabela-bts { display: flex; gap: 8px; flex-wrap: wrap; }
.ld-tabela { width: 100%; border-collapse: separate; border-spacing: 0; font-size: .9em; border-radius: 14px; overflow: hidden; border: 1px solid var(--borda); }
.ld-tabela th { text-align: left; font-size: .74em; letter-spacing: .5px; text-transform: uppercase; color: var(--txt3); padding: 10px 10px; background: rgba(22, 38, 63, .8); }
.ld-tabela td { padding: 4px 6px; border-top: 1px solid var(--borda); background: rgba(15, 27, 46, .55); }
.ld-tabela input { width: 100%; padding: 7px 8px; border-radius: 8px; border: 1px solid transparent; background: transparent; color: #fff; font-weight: 700; }
.ld-tabela input:hover { border-color: var(--borda); }
.ld-tabela input:focus { outline: none; border-color: var(--ciano); background: rgba(5, 12, 24, .6); }
.ld-tabela .ld-end { color: #8fd8ff; }
.ld-tipo-cel { color: var(--txt3); font-weight: 800; font-size: .86em; width: 56px; }
.ld-val-cel { width: 86px; font-weight: 800; color: #ffd38a; }
.ld-tabela-vazia { text-align: center; color: var(--txt2); padding: 26px !important; }
.ld-bool { font-style: normal; font-size: .8em; padding: 2px 7px; border-radius: 6px; background: rgba(78, 169, 255, .15); color: #8fc9ff; }
.ld-bool.on { background: rgba(57, 255, 142, .18); color: #9dffc9; }
.ld-mapa-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.ld-mapa h4 { margin: 0 0 8px; color: #fff; display: flex; flex-direction: column; gap: 2px; }
.ld-mapa h4 small { color: var(--txt3); font-weight: 700; font-size: .78em; }
.ld-mapa ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.ld-io { display: grid; grid-template-columns: 14px 64px 1fr; grid-template-rows: auto auto; column-gap: 10px; align-items: center; padding: 8px 12px; border-radius: 12px; background: rgba(22, 38, 63, .6); border: 1px solid var(--borda); }
.ld-io-led { width: 12px; height: 12px; border-radius: 3px; background: #2d3238; grid-row: span 2; }
.ld-io.on .ld-io-led { background: #39ff8e; box-shadow: 0 0 10px #39ff8e; }
.ld-io b { color: #8fd8ff; grid-row: span 2; }
.ld-io-nome { font-weight: 800; color: #fff; }
.ld-io-nome em { color: var(--txt3); font-weight: 600; }
.ld-io small { color: var(--txt2); font-size: .8em; }
.ld-cpu-grade { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 14px; }
.ld-cartao { padding: 16px; border-radius: 16px; background: rgba(22, 38, 63, .6); border: 1px solid var(--borda); }
.ld-cartao h4 { margin: 0 0 8px; color: #fff; }
.ld-mini-tab { width: 100%; font-size: .84em; border-collapse: collapse; }
.ld-mini-tab td { padding: 5px 6px; border-top: 1px solid var(--borda); color: var(--txt2); }
.ld-mini-tab td:first-child { color: #8fd8ff; font-weight: 800; }

.ld-modal.ld-carga { text-align: left; }
.ld-carga-topo { display: flex; align-items: center; gap: 14px; margin-bottom: 14px; }
.ld-carga-topo small { color: var(--txt3); font-weight: 800; letter-spacing: .5px; text-transform: uppercase; font-size: .74em; }
.ld-carga-topo h3 { margin: 2px 0 0 !important; }
.ld-carga-passos { list-style: none; margin: 0 0 14px; padding: 0; display: grid; gap: 7px; }
.ld-carga-passos li { display: flex; align-items: center; gap: 10px; color: var(--txt3); font-weight: 700; font-size: .92em; transition: color .3s; }
.ld-carga-passos li i { width: 18px; height: 18px; border-radius: 50%; border: 2px solid rgba(159, 179, 200, .35); flex: none; position: relative; }
.ld-carga-passos li.agora { color: #fff; }
.ld-carga-passos li.agora i { border-color: var(--ciano); border-top-color: transparent; animation: ldGira .7s linear infinite; }
.ld-carga-passos li.ok { color: var(--txt2); }
.ld-carga-passos li.ok i { border-color: #39ff8e; background: #39ff8e; animation: none; }
.ld-carga-passos li.ok i::after { content: ''; position: absolute; left: 4px; top: 1px; width: 5px; height: 9px; border: solid #062019; border-width: 0 2px 2px 0; transform: rotate(45deg); }
@keyframes ldGira { to { transform: rotate(360deg); } }
.ld-carga-barra { height: 10px; border-radius: 6px; background: rgba(5, 12, 24, .7); overflow: hidden; border: 1px solid var(--borda); }
.ld-carga-barra b { display: block; height: 100%; width: 0; border-radius: 6px; background: linear-gradient(90deg, #2c6fb3, var(--ciano)); transition: width .45s ease; box-shadow: 0 0 14px rgba(95, 212, 244, .6); }
.ld-carga.feito .ld-carga-barra b { background: linear-gradient(90deg, #2fbf71, #39ff8e); }
.ld-carga-txt { margin: 10px 0 0 !important; font-size: .9em; }
.ld-erros { list-style: none; margin: 10px 0 0; padding: 0; display: grid; gap: 6px; text-align: left; }
.ld-erro-it { width: 100%; text-align: left; border: 1px solid rgba(255, 90, 71, .35); background: rgba(255, 90, 71, .08); color: #ffd6cf; border-radius: 10px; padding: 8px 10px; font-size: .86em; }
.ld-erro-it b { color: #fff; margin-right: 6px; }

.ld-leitura .ld-cel { cursor: default; }

@media (max-width: 1100px) {
  .ld-lado { display: none; }
}
@media (max-width: 760px) {
  .bc-aba span { display: none; }
  .bc-aba { padding: 7px 10px; }
  .bc.com-clp .bc-topo .bc-etapas { order: 3; }
  .ld-barra { gap: 6px; padding: 6px 8px; }
  .ld-bt span { display: none; }
  .ld-bt { padding: 0 10px; }
  .ld-cpu small { display: none; }
  .ld-cpu-sel { max-width: 120px; font-size: .9em; }
  .ld-status { font-size: .74em; padding: 6px 9px; }
  .ld-acoes-dir { margin-left: 0; }
  .ld-bt-lado { display: none; }
  .ld-conteudo { padding: 8px; }
  .ld-mapa-cols { grid-template-columns: 1fr; }
  .ld-tabela th:nth-child(2), .ld-tabela td:nth-child(2), .ld-tabela th:nth-child(4), .ld-tabela td:nth-child(4) { display: none; }
  .ld-ferr-b { min-width: 48px; }
}
@media (min-width: 1800px) {
  .ld-lado { width: 380px; }
  .ld-ferr-b { min-width: 64px; }
  .ld-ferr-b svg { width: 48px; height: 34px; }
}
.clp-instr { display: flex; flex-wrap: wrap; gap: 6px; }
.chip-op { display: inline-flex; align-items: center; gap: 6px; padding: 6px 11px; border-radius: 999px; border: 1px solid var(--borda); background: rgba(5, 12, 24, .35); font-size: .86em; font-weight: 700; color: var(--txt2); cursor: pointer; transition: border-color .2s, background .2s, color .2s; }
.chip-op input { accent-color: var(--ciano); width: 15px; height: 15px; margin: 0; }
.chip-op:has(input:checked) { border-color: rgba(95, 212, 244, .55); background: rgba(95, 212, 244, .12); color: #fff; }
@media (max-width: 760px) {
  .ld-barra { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
  .ld-barra::-webkit-scrollbar, .ld-ferr::-webkit-scrollbar { display: none; }
  .ld-barra > * { flex: none; }
  .ld-acoes { flex-wrap: nowrap; }
}
