/* Cadoso 2026-10-24: pie legal siempre despues del contenido (comunidad movil) */
main > .h-full.min-h-0:not(:has(> .overflow-hidden)){height:auto!important;min-height:100%}
main > footer{position:static!important;flex-shrink:0}
/* Superposicion de accion real con impresora 3D */
#cx-acc{position:fixed;inset:0;z-index:45;display:flex;align-items:center;justify-content:center;background:rgba(5,8,14,.72);backdrop-filter:blur(3px);font-family:system-ui,Segoe UI,Roboto,sans-serif;color:#dfe7f5;opacity:0;transition:opacity .25s}
#cx-acc.on{opacity:1}
#cx-acc .cx-caja{position:relative;width:min(560px,94vw);border:1px solid #2a3550;border-radius:18px;overflow:hidden;background:radial-gradient(circle at 50% 30%,#1a2233,#0a0d14);box-shadow:0 20px 60px rgba(0,0,0,.5)}
#cx-acc .cx-esc{position:relative;height:min(320px,46vh);width:100%}
#cx-acc canvas{display:block;width:100%;height:100%}
#cx-acc .cx-pie{padding:14px 16px 16px}
#cx-acc .cx-tit{font-size:15px;font-weight:600;color:#7fd4ff;margin:0 0 4px}
#cx-acc .cx-msg{font-size:13px;line-height:1.4;min-height:36px;margin:0}
#cx-acc .cx-barra{height:8px;background:#1a2235;border-radius:4px;overflow:hidden;margin-top:10px}
#cx-acc .cx-barra>div{height:100%;width:0;background:linear-gradient(90deg,#3ad,#6f9);transition:width .4s linear}
#cx-acc .cx-fila{display:flex;justify-content:space-between;align-items:center;margin-top:6px;font-size:12px;color:#93a3bf}
#cx-acc button{background:#1d2840;color:#dfe7f5;border:1px solid #33456d;border-radius:8px;padding:7px 14px;font-size:13px;cursor:pointer}
#cx-acc.ok .cx-tit{color:#6fe39a}#cx-acc.ok .cx-barra>div{background:#3fcf7a}
#cx-acc.err .cx-caja{border-color:#7a2b35}#cx-acc.err .cx-tit{color:#ff6b6b}#cx-acc.err .cx-barra>div{background:#e04848}
/* Respaldo 2D sin WebGL */
.cx-2d{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.cx-2d .imp{position:relative;width:200px;height:110px;border-radius:12px;background:#2b2f36;box-shadow:inset 0 -18px 0 #1f2328}
.cx-2d .car{position:absolute;top:22px;left:20px;width:44px;height:22px;border-radius:4px;background:#14171c;animation:cxcar 1.2s ease-in-out infinite alternate}
.cx-2d .led{position:absolute;bottom:8px;left:14px;width:8px;height:5px;border-radius:2px;background:#22ff66;animation:cxled .5s steps(2) infinite}
.cx-2d .pad{position:absolute;left:-14px;top:30px;width:10px;height:60px;border-radius:3px;background:#2a1830;transition:background 1s}
#cx-acc.ok .cx-2d .pad{background:#f4f4f0}#cx-acc.ok .cx-2d .car,#cx-acc.err .cx-2d .car{animation:none}
#cx-acc.err .cx-2d .imp{box-shadow:inset 0 -18px 0 #1f2328,0 0 0 2px #e04848}#cx-acc.err .cx-2d .led{background:#ff2020}
@keyframes cxcar{to{left:136px}}@keyframes cxled{50%{opacity:.2}}
@media (prefers-reduced-motion:reduce){.cx-2d .car,.cx-2d .led{animation:none}}
