body{font-family:sans-serif;max-width:600px;margin:40px auto;padding:20px;background-color:#f4f4f9}.card{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 5px #0000001a}h1{color:#333;text-align:center}input{width:100%;padding:12px;margin:10px 0;border:1px solid #ccc;border-radius:4px;font-size:16px;box-sizing:border-box}.btn-group{display:flex;gap:10px;margin-bottom:20px}button{flex:1;padding:12px;background-color:#28a745;color:#fff;border:none;border-radius:4px;font-size:16px;cursor:pointer}button:hover{background-color:#218838}button.secondary{background-color:#007bff}button.secondary:hover{background-color:#0069d9}#resultado{margin-top:20px;border-top:1px solid #eee;padding-top:20px;display:none}.label{font-weight:700;color:#555;display:block;margin-top:10px}.value{font-size:18px;color:#000;font-family:monospace}.valid{color:green;font-weight:700}.invalid{color:red;font-weight:700}.info{font-size:.9em;color:#666;margin-top:20px;background:#e9ecef;padding:10px;border-radius:4px}#camera-container{display:none;position:relative;margin-bottom:20px;background:#000;border-radius:4px;overflow:hidden}#camera-video{width:100%;height:auto}.overlay{position:absolute;top:0;left:0;right:0;bottom:0;border:2px solid red;box-shadow:0 0 0 1000px #00000080;z-index:10;margin:20% 10%;pointer-events:none}.modal{display:none;position:fixed;z-index:100;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:#00000080}.modal-content{background-color:#fefefe;margin:15% auto;padding:20px;border:1px solid #888;width:85%;max-width:500px;border-radius:8px;position:relative}.close{color:#aaa;float:right;font-size:28px;font-weight:700;cursor:pointer}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer}.help-btn{background:#6c757d;float:right;width:auto;padding:8px 15px;font-size:14px;margin-top:-5px}.help-btn:hover{background:#5a6268}#barcode-svg{max-width:100%;height:auto;cursor:zoom-in}#barcode-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#fffffff2;z-index:2000;flex-direction:column;justify-content:center;align-items:center;cursor:zoom-out}#barcode-overlay svg{max-width:95vw;max-height:80vh;box-shadow:0 4px 15px #0003;background:#fff;padding:20px}#barcode-overlay p{margin-top:10px;color:#555;font-size:1.2em}
