.qrInv-container { max-width: 800px; margin: 0 auto; padding: 10px; font-family: sans-serif; }
.qrInv-title { font-size: 1.8em; margin-bottom: 10px; }
.qrInv-controls { margin-bottom: 10px; }
.qrInv-btn { padding: 10px 16px; margin: 5px; background: linear-gradient(135deg,#4caf50,#2e7d32); color: #fff; border: none; border-radius: 6px; font-weight: bold; cursor: pointer; transition: all 0.2s ease; }
.qrInv-btn:hover { background: linear-gradient(135deg,#66bb6a,#388e3c); transform: translateY(-2px); }
.qrInv-btn:active { transform: translateY(0); opacity: 0.9; }
.qrInv-status { font-weight: 600; margin: 5px 0; color: #2196f3; }
.qrInv-empty { color: #999; font-style: italic; }
.qrInv-video-wrapper { position: relative; width: 100%; max-height: 300px; overflow: hidden; margin-bottom: 10px; border-radius: 12px; box-shadow: 0 4px 12px rgba(0,0,0,0.25); }
#scannerOverlay { position: absolute; top: 0; left: 0; width: 100%; height: 3px; background: rgba(0, 255, 0, 0.7); box-shadow: 0 0 10px rgba(0,255,0,0.8); animation: scanLine 1.5s linear forwards; display: none; }

.qrInv-video { width: 100%; display: block; background: #000; }
@keyframes scanLine { 0% { top: 0; } 100% { top: 100%; } }
.qrInv-form input { padding: 10px; margin: 5px 0; border-radius: 6px; border: 1px solid #ccc; font-size: 1em; width: calc(100% - 20px); box-sizing: border-box; }
.qrInv-table { margin-top: 15px; }
.qrInv-data { width: 100%; border-collapse: collapse; }
.qrInv-data th, .qrInv-data td { border: 1px solid #ccc; padding: 5px; text-align: left; }
.qrInv-del { background: #dc3545; color: white; border: none; border-radius: 4px; padding: 4px 8px; cursor: pointer; }
.qrInv-del:hover { background: #b52a37; }
/* Flash red overlay for invalid QR */
#invalidFlash {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 0, 0, 0.4);
    animation: flashRed 0.5s ease;
    border-radius: 12px;
}
@keyframes flashRed {
    0% { opacity: 0; }
    25% { opacity: 1; }
    100% { opacity: 0; }
}
