* {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: inherit;
	font-weight: inherit;
	list-style: none;
	user-select: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
}
html {
	background: #000;
	height: 100%;
	font-family: sans-serif;
}
body {
	height: 100%;
}

#app {
	display: flex;
	flex-direction: column;
	position: absolute;
	top: 0;
	width: 100%;
	height: 100%;
}
	#stage {
		flex-grow: 1;
	}

	#scanStage {
		background: grey;
		height: 100%;
		display: none;
	}

	#scanStage.active {
		display: block;
	}

		video {
			width: 100%;
		}

	#workStage {
		background: whitesmoke;
		height: 100%;
		display: none;
	}

	#workStage.active {
		display: block;
	}

		#wrapper {
			display: flex;
			gap: 1px;
			flex-direction: column;
			height: 100%;
			background: white;
		}

			#couponContainer {
				flex-grow: 1;
				padding: 20px;
				background: gainsboro;
				font-size: 24px;
			}
				h1 {
					font-size: 28px;
					font-weight: bold;
				}

				#couponContainer p.available {
					margin-top: 1em;
					font-size: 24px;
					font-weight: bold;
				}

			#deductionContainer {
				flex-grow: 0;
				padding: 0 1px;
				background: lightgrey;
			}
				#deductionContainer ul {
					display: flex;
					gap: 1px;
					line-height: 60px;
					font-weight: bold;
					font-size: 24px;
					margin-bottom: 1px;
				}
					#deductionContainer li {
						flex: 0 0 20%;
						background: rgba(0,0,0,0.15);
						text-align: center;
					}
					#deductionContainer li:first-of-type {
						flex-grow: 1;
					}

				#commitButton {
					line-height: 80px;
					text-align: center;
					margin-top: 1px;
					background: rgba(0,0,0,0.15);
					font-size: 28px;
					font-weight: bolder;
					text-transform: uppercase;
				}

	#menu {
		display: flex;
		flex-direction: row;
		gap: 1px;

		background: grey;
		color: #FFF;
		font-weight: bolder;
		font-size: 18px;
	}

		#menu p {
			flex: 3 0 0;
			line-height: 70px;
			padding-bottom: 20px;
			background: black;
			text-align: center;
			margin: 0;
			cursor: pointer;
		}

		#menu #cameraSelectButton {
			flex: 0 0 50px;
			line-height: 70px;
			padding-bottom: 20px;
			background: black;
			text-align: center;
			position: relative;
			overflow: visible;
		}
			#menu #cameraSelectButton ul {
				background-color: #DDD;
				font-size: 14px;
				color: #222;
				line-height: 42px;
				position: absolute;
				bottom: 90px;
				right: 0px;
				width: 300px;
				z-index: 12;
			}
				#menu #cameraSelectButton ul li {
					padding: 0 10px;
					text-align: right;
				}

#itemTypeSelector {
	padding: 20px;
}

#refresh {
	display: none;
	background-color: #AAA;
	text-align: center;
	font-size: 16px;
	color: black;
	padding: 20px;
}

#version {
	background-color: #EEE;
	font-size: 12px;
	line-height: 24px;
	padding: 0 10px;
	text-align: right;
}