:root{--fondo: #120e17;--panel: #1a1420;--panel2: #241d2e;--borde: #2a2730;--borde2: #3a2f45;--texto: #f2eef7;--texto2: #cfc9d8;--apagado: #9a94a6;--oro: #e8b34a;--verde: #6fcf7f;--rojo: #e06666;--morado: #8c78ff}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--fondo);color:var(--texto);font:14px/1.45 system-ui,-apple-system,Segoe UI,sans-serif}button{font:inherit;cursor:pointer}input,select,textarea{font:inherit}.contenedor{max-width:1080px;margin:0 auto;padding:0 14px}.enc{position:sticky;top:0;z-index:50;background:var(--panel);border-bottom:1px solid var(--borde2);padding:10px 14px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.enc h1{margin:0;font-size:17px}.enc h1 small{color:var(--oro);font-weight:600}.enc .sep{flex:1}.btn{background:var(--panel2);border:1px solid var(--borde);color:var(--texto2);border-radius:9px;padding:7px 13px;font-size:13px;white-space:nowrap}.btn:hover{border-color:var(--borde2);color:var(--texto)}.btn.oro{background:#e8b34a26;border-color:var(--oro);color:var(--texto)}.btn.verde{background:#6fcf7f29;border-color:#6fcf7f8c;color:#eafff0}.btn.rojo{background:#e0666621;border-color:#e0666680;color:#ffd9d9}.btn.grande{padding:11px 18px;font-size:15px;font-weight:600}.btn:disabled{opacity:.45;cursor:not-allowed}.vigencia{font-size:12px;color:var(--apagado)}.vigencia.alerta{color:var(--oro);font-weight:600}.pantalla{min-height:calc(100vh - 60px);display:flex;align-items:flex-start;justify-content:center;padding:24px 14px}.tarjeta{background:var(--panel);border:1px solid var(--borde2);border-radius:16px;padding:22px;width:100%;max-width:460px}.tarjeta h2{margin:0 0 6px;font-size:20px}.tarjeta p.nota{color:var(--apagado);font-size:13px;margin:4px 0 14px}.campo{display:block;margin-bottom:10px}.campo span{display:block;font-size:12px;color:var(--apagado);margin-bottom:3px}.campo input,.campo textarea{width:100%;background:#1d1a22;border:1px solid var(--borde);color:var(--texto);padding:9px 11px;border-radius:9px}.error-caja{background:#e066661f;border:1px solid rgba(224,102,102,.4);color:#ffd9d9;border-radius:9px;padding:9px 12px;font-size:13px;margin-bottom:10px}.ok-caja{background:#6fcf7f1f;border:1px solid rgba(111,207,127,.4);color:#d7ffdf;border-radius:9px;padding:9px 12px;font-size:13px;margin-bottom:10px}.liga{background:none;border:none;color:var(--morado);padding:0;font-size:13px;text-decoration:underline}.escalera{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}.escalon{background:var(--panel);border:1px solid var(--borde2);border-radius:14px;padding:16px;text-align:left;color:var(--texto);display:flex;flex-direction:column;gap:4px}.escalon:hover{border-color:var(--oro)}.escalon.activo{border-color:var(--verde);box-shadow:0 0 0 1px var(--verde)}.escalon .nom{font-size:15px;font-weight:700}.escalon .precio{font-size:22px;color:var(--oro);font-weight:700}.escalon .precio small{font-size:12px;color:var(--apagado);font-weight:400}.escalon .req{font-size:12px;color:var(--apagado)}.filtros{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:14px 0}.filtros input,.filtros select{background:#1d1a22;border:1px solid var(--borde);color:var(--texto);padding:8px 11px;border-radius:9px}.filtros input{flex:1;min-width:160px}.rejilla{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;padding-bottom:150px}.tarj{background:var(--panel);border:1px solid var(--borde);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}.tarj img{width:100%;aspect-ratio:1;object-fit:contain;background:#0f0d13}.tarj .sin-foto{width:100%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;color:#4a4060;font-size:30px;background:#0f0d13}.tarj .cuerpo{padding:8px 9px;display:flex;flex-direction:column;gap:5px;flex:1}.tarj .nom{font-size:12.5px;line-height:1.25;color:var(--texto2);min-height:2.4em}.tarj .sku{font-family:monospace;font-size:10.5px;color:var(--apagado)}.peso-eti{align-self:flex-start;background:#e8b34a29;border:1px solid rgba(232,179,74,.45);color:#ffe9bd;font-size:10.5px;border-radius:20px;padding:1px 8px}.stepper{display:flex;align-items:center;gap:6px;margin-top:auto}.stepper button{width:30px;height:30px;border-radius:8px;border:1px solid var(--borde);background:var(--panel2);color:var(--texto);font-size:15px;flex-shrink:0}.stepper input{width:100%;min-width:0;text-align:center;background:#1d1a22;border:1px solid var(--borde);color:var(--texto);border-radius:8px;padding:5px 2px}.tarj.en-carrito{border-color:#6fcf7f8c}.progreso{position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--panel);border-top:1px solid var(--borde2);padding:10px 14px;box-shadow:0 -8px 30px #00000073}.progreso .linea1{display:flex;gap:10px;align-items:center;flex-wrap:wrap;max-width:1080px;margin:0 auto}.barra{flex:1 1 200px;height:12px;background:#0f0d13;border-radius:20px;overflow:hidden;border:1px solid var(--borde)}.barra>div{height:100%;background:linear-gradient(90deg,var(--morado),var(--verde));transition:width .25s}.barra.llena>div{background:var(--verde)}.prog-txt{font-size:12.5px;color:var(--texto2);white-space:nowrap}.prog-total{font-size:16px;font-weight:700;color:var(--oro);white-space:nowrap}.faltantes{max-width:1080px;margin:6px auto 0;font-size:12px;color:var(--oro);display:flex;gap:12px;flex-wrap:wrap}.faltantes .listo{color:var(--verde)}.excedente{max-width:1080px;margin:8px auto 0;background:#e8b34a1a;border:1px solid rgba(232,179,74,.4);border-radius:10px;padding:10px 12px;font-size:12.5px}.excedente .ops{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.velo{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0000009e;display:flex}.modal{margin:auto;top:0;right:0;bottom:0;left:0;background:var(--panel);border:1px solid var(--borde2);border-radius:16px;padding:18px;width:calc(100% - 28px);max-width:560px;max-height:88vh;display:flex;flex-direction:column}.modal h3{margin:0 0 10px}.modal .desliza{flex:0 1 auto;overflow-y:auto;overscroll-behavior:contain}.modal .pie{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;margin-top:12px}.pedido-caja{background:var(--panel);border:1px solid var(--borde2);border-radius:14px;padding:14px;margin-bottom:12px}.pedido-caja .cab{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.folio{font-family:monospace;color:var(--morado);font-weight:700}.estado-eti{padding:2px 10px;border-radius:20px;font-size:11.5px}.estado-eti.pendiente{background:#e8b34a2e;color:#ffe9bd}.estado-eti.confirmado,.estado-eti.anticipo_pagado{background:#6fcf7f2e;color:#d7ffdf}.estado-eti.en_revision{background:#8c78ff2e;color:#e2dbff}.estado-eti.surtido,.estado-eti.enviado,.estado-eti.entregado{background:#78b4ff26;color:#d7e9ff}.estado-eti.cancelado{background:#e0666629;color:#ffd9d9}.kpis{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.kpi{background:var(--panel2);border:1px solid var(--borde);border-radius:10px;padding:8px 12px;min-width:104px}.kpi b{display:block;font-size:17px}.kpi span{font-size:11px;color:var(--apagado)}.kpi.saldo b{font-size:21px;color:var(--verde)}.ajuste-fila{display:flex;gap:8px;align-items:baseline;font-size:12.5px;padding:5px 0;border-bottom:1px solid var(--borde);flex-wrap:wrap}.ajuste-fila .imp{color:#ffd9a1;font-variant-numeric:tabular-nums;margin-left:auto}.item-fila{display:flex;gap:8px;font-size:12.5px;padding:4px 0;border-bottom:1px solid #221b2b;color:var(--texto2)}.item-fila .der{margin-left:auto;white-space:nowrap;font-variant-numeric:tabular-nums}.aviso-cat{background:#8c78ff1a;border:1px solid rgba(140,120,255,.35);color:#e2dbff;border-radius:10px;padding:9px 12px;font-size:12.5px;margin:10px 0}
