:root{
  --bg:#0e1116; --panel:#161b22; --panel2:#1c232c; --line:#262d38;
  --tx:#e6edf3; --tx2:#9aa7b4; --tx3:#6b7684;
  --acc:#5b8def; --alert:#f0883e; --bad:#f85149; --good:#3fb950;
  color-scheme: dark;
}
*{box-sizing:border-box}
html,body{background:var(--bg)}
body{margin:0;color:var(--tx);
  font:15px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  -webkit-font-smoothing:antialiased}
[hidden]{display:none!important}
.wrap{max-width:1080px;margin:0 auto;padding:28px 16px 60px}

.top{margin-bottom:22px}
.marca{font-size:14px;letter-spacing:.3px;color:var(--tx2);margin-bottom:10px}
.marca b{color:var(--tx)}
h1{font-size:30px;line-height:1.15;margin:0 0 10px;letter-spacing:-.6px}
.sub{color:var(--tx2);font-size:16px;max-width:760px;margin:0 0 10px}
.sub b{color:var(--tx)}
.priv{color:var(--tx3);font-size:12.5px;max-width:760px;margin:0}
.priv b{color:var(--tx2)}

.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:20px;margin-bottom:16px}
.panel h2{font-size:13px;text-transform:uppercase;letter-spacing:.9px;color:var(--tx2);margin:0 0 16px;font-weight:600}

.drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;
  border:2px dashed #33415a;border-radius:12px;padding:30px 16px;cursor:pointer;background:#131a24;transition:.15s}
.drop:hover,.drop.sobre{border-color:var(--acc);background:#16233a}
.drop input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.drop-t{font-size:17px;font-weight:600}
.drop-s{font-size:13px;color:var(--tx2)}
.pegar{margin-top:12px;font-size:14px;color:var(--tx2)}
.pegar summary{cursor:pointer}
.pegar textarea{width:100%;margin:10px 0 8px}

.inp,textarea,input[type=text],#f-contacto{background:var(--panel2);border:1px solid var(--line);color:var(--tx);
  border-radius:8px;padding:8px 10px;font:inherit;font-size:14px;max-width:100%}
textarea{width:100%;resize:vertical}

.btn{background:var(--acc);border:1px solid var(--acc);color:#0b1220;font-weight:650;border-radius:8px;
  padding:9px 16px;font:inherit;font-weight:650;cursor:pointer}
.btn.sec{background:var(--panel2);border-color:var(--line);color:var(--tx)}
.btn.sm{padding:6px 12px;font-size:13px}
.btn.peligro{color:#ffb4ae}
.btn:disabled{opacity:.45;cursor:not-allowed}

.msg{margin-top:12px;padding:12px 14px;border-radius:8px;font-size:14px}
.msg.ok{background:#11261a;border:1px solid #1f4d2c}
.msg.bad{background:#2a1a14;border:1px solid #5a3420}
.nota{display:block;margin-top:6px;color:var(--tx2);font-size:13px}

.lotes{display:grid;gap:10px;margin-top:14px}
.lote{display:grid;grid-template-columns:minmax(220px,auto) 1fr auto;gap:12px;align-items:center;
  background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:12px}
.lote.dudoso{border-color:#6b4a1f}
.lote-a{display:flex;flex-direction:column;gap:6px}
.lote-b{font-size:13.5px;color:var(--tx2)}
.lote-b b{color:var(--tx)}
.lote-c{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.archivo{color:var(--tx);word-break:break-all}
.aviso{color:var(--alert);font-size:12.5px;margin-top:4px}

.mapw{margin-top:14px;border:1px solid #6b4a1f;border-radius:10px;overflow:hidden}
.maph{padding:14px 16px;background:#1e1a14}
.maph p{margin:6px 0 0;color:var(--tx2);font-size:13.5px}
.mapt{overflow-x:auto}
.mapt table{min-width:100%}
.mapt th{vertical-align:top;padding:10px}
.mapt .hd{font-size:12px;color:var(--tx2);margin-bottom:6px;text-transform:none;letter-spacing:0}
.mapt td{font-size:13px;white-space:nowrap}
.mapf{display:flex;align-items:center;gap:8px;padding:12px 16px;flex-wrap:wrap;border-top:1px solid var(--line)}

.banner{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 16px;border-radius:10px;margin-bottom:16px;font-size:14px}
.banner.ejemplo{background:#1b2336;border:1px solid #2f4470}
.banner.propia{background:#11261a;border:1px solid #1f4d2c}
.sp{flex:1}

.precios{font-size:13px;color:var(--tx2);margin-bottom:14px}
.precios b{color:var(--tx)}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.kpi{background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:14px 16px;min-width:0}
.kpi .lab{font-size:11px;text-transform:uppercase;letter-spacing:.7px;color:var(--tx3);margin-bottom:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kpi .val{font-size:23px;font-weight:650;letter-spacing:-.5px;font-variant-numeric:tabular-nums}
.kpi .note{font-size:12px;color:var(--tx2);margin-top:4px}
.bien{color:var(--good)} .malo{color:var(--bad)} .gris{color:var(--tx3)}

.corte{margin-bottom:22px}
.corte:last-child{margin-bottom:0}
.ct{font-size:13px;color:var(--tx2);margin-bottom:8px}
.bar{display:flex;height:30px;border-radius:7px;overflow:hidden;margin:6px 0 12px;background:#222b36}
.bar div{position:relative;min-width:2px}
.bar span{position:absolute;inset:0;display:grid;place-items:center;font-size:11px;font-weight:650;color:#0e1116}
.leg{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:13px;color:var(--tx2)}
.leg i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.leg i.d{background:#3fb950} .leg i.i{background:#2d6b3d}

.alerta{border-left:3px solid var(--alert);background:#1e1a14;padding:12px 16px;border-radius:0 8px 8px 0;margin-bottom:10px;font-size:14px}
.alerta b{color:var(--alert)}
.exp{display:grid;gap:9px;margin-top:14px}
.expr{display:grid;grid-template-columns:70px 1fr 150px;gap:12px;align-items:center}
.expbar{height:20px;background:#222b36;border-radius:5px;overflow:hidden;display:flex}
.expbar i{display:block;height:100%}
.expbar .d{background:#3fb950} .expbar .i{background:#2d6b3d}
.tk{font-weight:650}
.num{text-align:right;font-variant-numeric:tabular-nums;font-size:14px}

.tabs{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap}
.tabs button{background:var(--panel2);border:1px solid var(--line);color:var(--tx2);
  padding:7px 14px;border-radius:20px;font-size:13px;cursor:pointer;font-family:inherit}
.tabs button.on{background:#243044;color:var(--tx);border-color:#31465f}
.tscroll{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:14px}
th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.7px;color:var(--tx3);
   font-weight:600;padding:0 10px 10px;border-bottom:1px solid var(--line)}
th.r,td.r{text-align:right}
td{padding:9px 10px;border-bottom:1px solid #1b212a;font-variant-numeric:tabular-nums;vertical-align:top}
.nm{color:var(--tx2);font-size:12.5px;max-width:260px}
td.tipo{color:var(--tx2);font-size:13px}
td.peso{width:110px}
.chip{display:inline-block;font-size:10.5px;padding:2px 7px;border-radius:20px;white-space:nowrap;
      background:#222b36;color:var(--tx2);border:1px solid var(--line)}
.chip.f-ok{color:#7ee2a0;border-color:#1f4d2c}
.chip.f-cache{color:#e3b341;border-color:#5a4a1f}
.chip.f-arch{color:#9ab8f5;border-color:#2f4470}
.chip.f-bad{color:#ffb4ae;border-color:#5a2a26}
.pesobar{height:5px;border-radius:3px;background:#2a3441;overflow:hidden;margin-top:5px}
.pesobar i{display:block;height:100%;background:var(--acc)}

.foot{color:var(--tx3);font-size:12.5px;line-height:1.7;margin:10px 0 0}
.foot b{color:var(--tx2)}

.pro{border-color:#2f4470}
.pro-l{margin:0 0 16px;padding-left:18px;color:var(--tx2);font-size:14px}
.pro-l li{margin-bottom:6px}
.pro-l b{color:var(--tx)}
.campo{display:block;margin-bottom:14px;font-size:14px;color:var(--tx2);border:0;padding:0}
.campo textarea,.campo input{display:block;width:100%;margin-top:6px}
.montos legend{margin-bottom:8px;padding:0}
.montos label{display:inline-flex;align-items:center;gap:6px;margin:0 14px 6px 0;color:var(--tx)}
.fila{display:flex;align-items:center;gap:12px;flex-wrap:wrap}

.legal{color:var(--tx3);font-size:12.5px;line-height:1.7;text-align:center;margin-top:28px;padding-inline:8px}
.legal b{color:var(--tx2)}

@media(max-width:700px){
  h1{font-size:25px}
  .lote{grid-template-columns:1fr}
  .lote-c{justify-content:flex-start}
  .expr{grid-template-columns:56px 1fr;}
  .expr .num{grid-column:1 / -1;text-align:left;margin-top:-4px}
  td .nm{display:none}
  td.tipo{display:none}
  th:nth-child(3){display:none}
}
