:root{--bg-main:#0f172a;--bg-card:#1e293bb3;--text-main:#f8fafc;--text-muted:#94a3b8;--primary:#38bdf8;--primary-hover:#0ea5e9;--success:#10b981;--success-hover:#059669;--danger:#ef4444;--warning:#f59e0b;--border-color:#ffffff1a}*{box-sizing:border-box}body{background-color:var(--bg-main);color:var(--text-main);background-image:radial-gradient(at 0 0,#38bdf81a 0,#0000 50%),radial-gradient(at 100% 100%,#10b9811a 0,#0000 50%);background-attachment:fixed;flex-direction:column;align-items:center;min-height:100vh;margin:0;padding:15px;font-family:Inter,Segoe UI,system-ui,sans-serif;display:flex}.app-container{flex-direction:column;align-items:center;gap:1rem;width:100%;max-width:450px;display:flex}h2{letter-spacing:-.05em;text-align:center;background:linear-gradient(135deg, #fff, var(--primary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin:10px 0 20px;font-size:2rem;font-weight:800}.stats-container{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);text-align:center;border-radius:16px;width:100%;padding:20px;transition:transform .3s;box-shadow:0 10px 25px -5px #00000080,inset 0 1px #ffffff1a}.stats-title{text-transform:uppercase;letter-spacing:.15em;color:var(--text-muted);margin-bottom:8px;font-size:.85rem;font-weight:600}.stats-numbers{color:var(--primary);text-shadow:0 0 20px #38bdf84d;font-size:2.2rem;font-weight:900}#btn-start{background:linear-gradient(135deg, var(--primary), var(--primary-hover));color:#0f172a;cursor:pointer;border:none;border-radius:12px;width:100%;padding:16px;font-size:1.1rem;font-weight:800;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 15px #38bdf866}#btn-start:active{transform:scale(.96)}#scanner-container{width:100%;box-shadow:0 20px 25px -5px #00000080, 0 0 0 2px var(--primary);background:#000;border-radius:20px;animation:.4s cubic-bezier(.16,1,.3,1) scaleIn;overflow:hidden}#reader{width:100%;height:auto}#reader video{border-radius:18px}#info-panel{background:var(--bg-card);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-color);border-radius:20px;width:100%;padding:24px;animation:.4s cubic-bezier(.16,1,.3,1) slideUp;box-shadow:0 20px 30px -10px #0009,inset 0 1px #ffffff1a}#res-status{text-align:center;text-transform:uppercase;letter-spacing:.05em;text-shadow:0 2px 4px #00000080;margin-bottom:20px;font-size:1.5rem;font-weight:900}.badge-info{background:#0f172a99;border:1px solid #ffffff0d;border-radius:12px;margin-bottom:20px;padding:16px}.detail-row{border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:10px;font-size:1.05rem;display:flex}.detail-row:last-child{border:none;margin-bottom:0;padding-bottom:0}.detail-label{color:var(--text-muted);font-weight:500}.detail-value{color:var(--text-main);text-align:right;word-break:break-word;max-width:70%;font-weight:700}.highlight-text{color:var(--primary);text-shadow:0 0 10px #38bdf84d;font-size:1.4rem}#info-panel.VALIDO{box-shadow:0 15px 30px -5px #f59e0b26, inset 0 0 0 1px var(--warning)}#info-panel.VALIDO #res-status{color:var(--warning)}#info-panel.EXITO{box-shadow:0 15px 30px -5px #10b98126, inset 0 0 0 1px var(--success)}#info-panel.EXITO #res-status{color:var(--success)}#info-panel.DENEGADO,#info-panel.ERROR{box-shadow:0 15px 30px -5px #ef444426, inset 0 0 0 1px var(--danger);animation:.5s cubic-bezier(.36,.07,.19,.97) both shake}#info-panel.DENEGADO #res-status,#info-panel.ERROR #res-status{color:var(--danger)}#action-buttons{gap:12px;width:100%;display:flex}.btn{cursor:pointer;border:none;border-radius:12px;flex:1;padding:16px 15px;font-size:1.05rem;font-weight:800;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 6px -1px #0000001a}.btn:active{transform:scale(.95)}#btn-confirmar{background:linear-gradient(135deg, var(--success), var(--success-hover));color:#fff;box-shadow:0 4px 15px #10b9814d}#btn-cancelar{color:#f8fafc;background-color:#334155}#btn-cancelar:hover{background-color:#475569}#btn-siguiente{background:linear-gradient(135deg, var(--primary), var(--primary-hover));color:#0f172a;width:100%;box-shadow:0 4px 15px #38bdf84d}#overlay-loading{-webkit-backdrop-filter:blur(8px);z-index:100;width:100%;height:100%;color:var(--primary);background:#0f172ad9;flex-direction:column;justify-content:center;align-items:center;font-size:1.2rem;font-weight:700;animation:.2s ease-out fadeIn;display:flex;position:fixed;top:0;left:0}.spinner{border:4px solid #38bdf833;border-left-color:var(--primary);border-radius:50%;width:50px;height:50px;margin-bottom:20px;animation:1s linear infinite spin}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-4px)}40%,60%{transform:translate(4px)}}.app-footer{text-align:center;color:#94a3b899;letter-spacing:.05em;width:100%;margin-top:auto;padding-top:40px;font-size:.85rem}.app-footer p{margin:6px 0}.footer-link{color:var(--primary);font-weight:600;text-decoration:none;transition:color .2s}.footer-link:hover{color:var(--primary-hover);text-decoration:underline}
