/* CBA Logistics · flujo del cliente. Todo con prefijo .cbalg- para no chocar con el tema. */
@import url('https://fonts.googleapis.com/css2?family=Tilt+Neon&family=Space+Grotesk:wght@500;700&display=swap');
.cbalg,.cbalg-sheet{--bg:#07090c;--card:#10141a;--card2:#161b23;--line:#232a35;--txt:#eef2f6;--mut:#8b95a5;--neon:#00ff88;--blue:#0080ff;--warn:#ffb020;--r:20px}
.cbalg{margin:18px 0;clear:both}
.cbalg *,.cbalg-sheet *{box-sizing:border-box}
.cbalg *,.cbalg-sheet *{text-transform:none;letter-spacing:normal}
.cbalg-neon:hover,.cbalg-neon:focus{background:radial-gradient(120% 120% at 50% 0%,#0b1712,#040605);border-color:#2a3d33;outline:0}
html.cbalg-lock,html.cbalg-lock body{overflow:hidden}

/* Cartel neón */
.cbalg-neon{display:block;width:100%;cursor:pointer;padding:18px 10px 14px;border-radius:20px;background:radial-gradient(120% 120% at 50% 0%,#0b1712,#040605);border:2px solid #1d2a24;box-shadow:inset 0 0 30px #00ff8812,0 0 0 6px #0a0d10;text-align:center;font-family:"Tilt Neon","Space Grotesk",sans-serif;line-height:1.15;transition:transform .15s}
.cbalg-neon:active{transform:scale(.98)}
.cbalg .cbalg-l1,.cbalg .cbalg-l2{display:block;font-size:clamp(20px,6vw,27px);letter-spacing:.03em}
.cbalg-neon i{font-style:normal;transition:color .06s,text-shadow .06s}
/* Sin JS (o caché vieja) el cartel se ve prendido; con JS (.anim) arranca apagado y se enciende letra por letra. */
.cbalg-l1,.cbalg-neon.anim .cbalg-l1 i.on{color:#eafff4;text-shadow:0 0 3px #00ff88,0 0 10px #00ff88,0 0 26px #00ff88}
.cbalg-l2,.cbalg-neon.anim .cbalg-l2 i.on{color:#e8f4ff;text-shadow:0 0 3px #3aa0ff,0 0 10px #0080ff,0 0 26px #0080ff}
.cbalg-neon.anim i{color:#1a2820;text-shadow:none}
.cbalg-l1 i.on{color:#eafff4;text-shadow:0 0 3px #00ff88,0 0 10px #00ff88,0 0 26px #00ff88,0 0 46px #00ff8866}
.cbalg-l2 i.on{color:#e8f4ff;text-shadow:0 0 3px #3aa0ff,0 0 10px #0080ff,0 0 26px #0080ff,0 0 46px #0080ff66}
.cbalg-l3{display:block;font:500 12px/1.4 system-ui,sans-serif;color:#8b95a5;margin-top:8px;animation:cbalg-blink 2s infinite}
@keyframes cbalg-blink{50%{opacity:.35}}

/* Hoja */
.cbalg-sheet{position:fixed;inset:0;z-index:999999;background:#000b;display:flex;align-items:flex-end;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--txt)}
.cbalg-sheet.on{opacity:1;pointer-events:auto}
.cbalg-panel{width:100%;max-width:460px;height:92vh;height:92dvh;background:var(--bg);border-radius:26px 26px 0 0;display:flex;flex-direction:column;transform:translateY(100%);transition:transform .45s cubic-bezier(.2,.8,.2,1);border:1px solid var(--line);border-bottom:0}
.cbalg-sheet.on .cbalg-panel{transform:none}
.cbalg-top{display:flex;align-items:center;gap:12px;padding:14px 16px}
.cbalg-back,.cbalg-x{width:36px;height:36px;border-radius:50%;background:var(--card);border:0;color:var(--txt);font-size:22px;line-height:1;cursor:pointer}
.cbalg-bar{flex:1;display:flex;gap:6px}
.cbalg-bar i{flex:1;height:4px;border-radius:4px;background:var(--line);position:relative;overflow:hidden}
.cbalg-bar i::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--neon),var(--blue));transform:scaleX(0);transform-origin:left;transition:transform .45s}
.cbalg-bar i.on::after{transform:scaleX(1)}
.cbalg-body{flex:1;overflow-y:auto;padding:4px 18px 24px;-webkit-overflow-scrolling:touch}
.cbalg-step{animation:cbalg-in .35s both}
@keyframes cbalg-in{from{opacity:0;transform:translateX(24px)}}
.cbalg-sheet .cbalg-k{font-size:12px;color:var(--neon);letter-spacing:.12em;text-transform:uppercase;margin:4px 0 6px}
.cbalg-sheet h3{font:700 26px/1.1 "Space Grotesk",sans-serif;margin:0 0 6px;color:var(--txt)}
.cbalg-p{color:var(--mut);font-size:15px;margin:0 0 16px}
.cbalg-prod{display:flex;justify-content:space-between;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px 16px;margin:14px 0}
.cbalg-prod b{font-weight:600}.cbalg-prod span{font:700 18px "Space Grotesk",sans-serif;color:var(--neon);white-space:nowrap}
.cbalg-opts{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cbalg-opts button,.cbalg-loc{background:var(--card);border:1.5px solid var(--line);border-radius:var(--r);padding:20px 16px;text-align:left;color:var(--txt);cursor:pointer;transition:.2s}
.cbalg-opts em{display:block;font-style:normal;font-size:32px;margin-bottom:12px}
.cbalg-opts b,.cbalg-loc b{display:block;font:600 18px "Space Grotesk",sans-serif}
.cbalg-opts span,.cbalg-loc span{font-size:13px;color:var(--mut)}
.cbalg-opts button.sel,.cbalg-loc.sel{border-color:var(--neon);background:#00ff880d;box-shadow:0 0 0 4px #00ff8815}
.cbalg-loc{display:block;width:100%;margin-bottom:10px;padding:16px}
.cbalg-aviso{display:flex;gap:12px;align-items:center;margin-top:14px;padding:14px 16px;border-radius:18px;border:1px dashed var(--line);font-size:13px;color:var(--mut);text-decoration:none}
.cbalg-aviso em{font-style:normal;font-size:22px}.cbalg-aviso b{display:block;color:var(--txt)}
.cbalg-aviso i{margin-left:auto;font-style:normal;color:#25d366;font-weight:700}
.cbalg-in{width:100%;background:var(--card);border:1.5px solid var(--line);border-radius:16px;padding:15px 16px;color:var(--txt);font-size:16px;outline:0;margin-bottom:10px}
.cbalg-in:focus{border-color:var(--blue)}
.cbalg-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.cbalg-sugg{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}
.cbalg-sugg button{background:var(--card2);border:0;border-radius:12px;padding:12px 14px;text-align:left;color:var(--txt);font-size:15px;display:flex;justify-content:space-between;cursor:pointer}
.cbalg-sugg em{font-style:normal;color:var(--mut);font-size:13px}
.cbalg-none{color:#25d366;font-size:14px;padding:8px 2px}
.cbalg-map{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:8px}
.cbalg-map svg{width:100%;display:block}
.cbalg-z{cursor:pointer}
.cbalg-z path{fill:#1b2230;stroke:#2c3646;stroke-width:1.5;transition:.3s}
.cbalg-z text{fill:var(--mut);font:600 10px system-ui,sans-serif;pointer-events:none}
.cbalg-z.hi path{fill:#00ff8833;stroke:var(--neon);stroke-width:2.5}
.cbalg-z.hi text{fill:#fff}
.cbalg-river{fill:none;stroke:#2a7fff;stroke-width:4;opacity:.55;stroke-linecap:round;pointer-events:none}
.cbalg-canada{fill:none;stroke:#2a7fff;stroke-width:2;stroke-dasharray:4 4;opacity:.5;pointer-events:none}
.cbalg-rn{fill:#5fa8ff;font:italic 500 8.5px system-ui;opacity:.8;pointer-events:none}
.cbalg-pin circle{fill:var(--neon)}.cbalg-pin .in{fill:#001a0d}
.cbalg-note{position:absolute;bottom:8px;right:12px;font-size:10px;color:var(--mut)}
.cbalg-tip{position:absolute;top:12px;left:12px;background:#000c;border:1px solid #00ff8850;color:var(--neon);font-size:12px;font-weight:600;padding:6px 10px;border-radius:99px;opacity:0;transition:.3s}
.cbalg-tip.on{opacity:1}
.cbalg-res{display:none;margin-top:14px;background:linear-gradient(135deg,#00ff8814,#0080ff14);border:1px solid #00ff8840;border-radius:var(--r);padding:16px}
.cbalg-res.on{display:block;animation:cbalg-pop .4s cubic-bezier(.2,1.4,.4,1)}
@keyframes cbalg-pop{from{opacity:0;transform:scale(.95)}}
.cbalg-res .r,.cbalg-mini div{display:flex;justify-content:space-between;gap:10px;padding:5px 0;font-size:15px;color:var(--mut)}
.cbalg-res .r b,.cbalg-mini b{color:var(--txt);font-weight:600;text-align:right}
.cbalg-res .t,.cbalg-mini .t{border-top:1px solid #ffffff18;margin-top:6px;padding-top:12px;color:var(--txt)}
.cbalg-res .t b{font:700 26px "Space Grotesk",sans-serif;color:var(--neon)}
.cbalg-res b.free{color:var(--neon)}
.cbalg-sena{font-size:12px;color:var(--warn);margin-top:8px;line-height:1.4}
.cbalg-sheet .cbalg-lbl{font-size:12px;color:var(--mut);text-transform:uppercase;letter-spacing:.1em;margin:16px 0 8px}
.cbalg-chips{display:flex;flex-wrap:wrap;gap:8px}
.cbalg-chips button{padding:10px 14px;border-radius:99px;background:var(--card);border:1.5px solid var(--line);color:var(--txt);font-size:14px;cursor:pointer}
.cbalg-chips button.sel{border-color:var(--neon);color:var(--neon);background:#00ff880d}
.cbalg-mini{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;margin-bottom:16px}
.cbalg-err{color:#ff6b81;font-size:13px;min-height:18px}
.cbalg-ok{width:80px;height:80px;border-radius:50%;margin:16px auto;background:linear-gradient(135deg,var(--neon),var(--blue));display:grid;place-items:center;animation:cbalg-pop .6s cubic-bezier(.2,1.6,.4,1)}
.cbalg-ok svg{width:40px;stroke:#001a0d;stroke-width:3.5;fill:none}
.cbalg-oid{text-align:center;font:700 30px "Space Grotesk",sans-serif;margin-bottom:16px}
.cbalg-link{display:block;text-align:center;color:var(--blue);font-weight:600;font-size:14px;text-decoration:none}
.cbalg-cta{padding:12px 18px calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--bg)}
.cbalg-btn{width:100%;border:0;border-radius:18px;padding:17px;font:700 17px "Space Grotesk",sans-serif;background:linear-gradient(90deg,var(--neon),#00d4ff);color:#001a0d;box-shadow:0 10px 40px #00ff8840;cursor:pointer}
.cbalg-btn:disabled{background:var(--card2);color:var(--mut);box-shadow:none;cursor:default}
.cbalg-btn.wa{background:#25d366;color:#04230f;box-shadow:0 10px 40px #25d36640}
.cbalg-sub{text-align:center;font-size:12px;color:var(--mut);margin-top:8px;min-height:14px}
@media (prefers-reduced-motion:reduce){.cbalg-l3,.cbalg-step,.cbalg-res.on{animation:none}}
/* v0.2: demora, dirección y mapa de confirmación */
.cbalg-demora{margin-top:14px;font-size:13px;line-height:1.4;color:var(--warn);background:#ffb02012;border:1px dashed #ffb02060;padding:10px 12px;border-radius:12px}
.cbalg-geo{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}
.cbalg-gbtn{padding:12px 8px;border-radius:14px;border:1.5px dashed var(--line);background:var(--card);color:var(--blue);font-weight:600;font-size:14px;cursor:pointer}
.cbalg-osm{width:100%;height:190px;border:0;border-radius:16px;display:block;background:var(--card)}
.cbalg-geoq{display:flex;flex-direction:column;gap:6px;margin:8px 0 6px;font-size:14px}
.cbalg-geoq small{color:var(--mut);font-size:12px}
.cbalg-geoq div{display:flex;gap:8px}
.cbalg-geoq button{flex:1;padding:11px;border-radius:12px;border:1.5px solid var(--line);background:var(--card);color:var(--txt);font-weight:600;cursor:pointer}
.cbalg-geoq .cbalg-yes{border-color:var(--neon);color:var(--neon)}
.cbalg-geoq b.ok{color:var(--neon)}
.cbalg-geomsg{font-size:13px;color:var(--mut);margin:4px 0 10px}

/* v0.4: cartel chico rotativo en grillas (misma pieza que el grande) */
.cbalg.cbalg-grid{margin:8px 0 4px}
.cbalg.cbalg-grid .cbalg-neon{padding:9px 6px 8px;border-radius:14px;border:1.5px solid #00ff8855;background:#05080a;box-shadow:inset 0 0 14px #00ff8815,0 0 12px #00ff8822;min-height:54px;display:flex;flex-direction:column;justify-content:center;align-items:center}
.cbalg.cbalg-grid .cbalg-l1,.cbalg.cbalg-grid .cbalg-l2{font-size:clamp(12px,3.4vw,15px);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cbalg.cbalg-grid .cbalg-l2{font-size:clamp(10px,2.8vw,12px)}
.cbalg-neon .cbalg-l1,.cbalg-neon .cbalg-l2{transition:opacity .25s}
.cbalg-neon.swap .cbalg-l1,.cbalg-neon.swap .cbalg-l2{opacity:0}
