.login-page, .error-404-page{
	background-color:#009966;
}
.login-page .card-header{
	text-align:center;
}
.card-green.bg-drk{
	background-color:#004d33;
	color:white;
}
.error-404-page .content{
	background-color:#660099;
	color:white;
	text-align:center;
	padding:100px 0px;
}
.error-404-page a{
	color:white;
}

body{
	background-color:#f5f5f5;
}

.icon-square{
	width:3rem;
	height:3rem;
	border-radius:.75rem;
}

#header{
	font-size:3rem!important;
}

.main-button-icon{
	font-size:60pt;
}

.action_button_container{
	position:relative;
}

.action_button_container button{
	width:100%;
}

.notification-badge-action-button{
	position:absolute;
	top:-12px;
	right:0px;
	font-size:1.5rem;
	padding:10px 15px;
	border-radius:50px;
}

.inspector-card{
	border-bottom:3px solid black;
	padding-bottom:15px;
	margin-bottom:15px;
}

.inspector-card:last-child{
	border-bottom:0px;
	padding-bottom:0px;
	margin-bottom:0px;
}

.inspector-coordinator{
	background-color:#ffc107;
	color:white;
}

.inspector-inspector{
	background-color:#084298;
	color:white;
}

.inspector-part_time{
	background-color:#0f5132;
	color:white;
}

.inspector-DEM{
	background-color:#198754;
	color:white;
}

.inspector-REP{
	background-color:#dc3545;
	color:white;
}

.signature-canvas-container{
	background-color:black;
	text-align:center;
}

.signature-canvas{
	margin:0px auto;
	background-color:white;
	width:450px;
	height:150px;
	zoom:100%;
}

.signature-canvas.ev-signature{
	width:100%;
	height:auto;
}

.early_voting_signatures .signature-canvas{
	width:250px;
	height:75px;
}

.refresh_button{
	position:fixed!important;
	top:0px!important;
	left:0px!important;
}

.logout_button{
	position:fixed!important;
	top:0px!important;
	right:0px!important;
}

.login-box{
	height:100%;
	display:-ms-flexbox;
	display:-webkit-box;
	display:flex;
	-ms-flex-align:center;
	-ms-flex-pack:center;
	-webkit-box-align:center;
	align-items:center;
	-webkit-box-pack:center;
	justify-content:center;
	padding-top:40px;
	padding-bottom:40px;
	text-align:center;
}

.form-signin{
	width:100%;
	padding:15px;
	margin:0 auto;
}

#qr_code_reader_box{
	margin:0px auto;
	width:500px;
}

.login-with-code{
	width:100%;
	text-align:center;
}

.videos_container{
	position:relative;
}

video{
	background-color:black;
}

video.remote_video{
	width:100%;
	height:100%;
	max-width:100%;
	max-height:85vh;
}

video.local_video{
	position:absolute;
	bottom:40px;
	left:0px;
	width:25%;
	height:25%;
}

tr.status td{background-color:Teal;color:white;}
tr.error td{background-color:FireBrick;color:white;}
tr.processing td{background-color:DarkBlue;color:white;}
tr.datachannel td{background-color:Purple;color:white;}
tr.unknown td{background-color:OrangeRed;color:white;}
tr.log td{background-color:Coral;color:white;}
tr.signal td{background-color:Green;color:white;}

select option:disabled{display:none;}

.table-2-col th,.table-2-col td{width:50%;}
.table-3-col th,.table-3-col td{width:33%;}
.table-4-col th,.table-4-col td{width:25%;}
.table-5-col th,.table-5-col td{width:20%;}
.table-6-col th,.table-6-col td{width:16.66%;}
.table-7-col th,.table-7-col td{width:14.28%;}
.table-8-col th,.table-8-col td{width:12.5%;}
.table-9-col th,.table-9-col td{width:11.1%;}
.table-10-col th,.table-10-col td{width:10%;}

:root{
	--boe-chat-primary:#4f46e5;
	--boe-chat-primary-light:#6366f1;
	--boe-chat-primary-dark:#4338ca;
	--boe-chat-secondary:#0ea5e9;
	--boe-chat-accent:#f59e0b;
	--boe-chat-dark:#111827;
	--boe-chat-light:#f9fafb;
	--boe-chat-gray:#9ca3af;
	--boe-chat-gray-light:#e5e7eb;
	--boe-chat-gray-dark:#4b5563;
	--boe-chat-danger:#ef4444;
	--boe-chat-success:#10b981;
	--boe-chat-border-radius:12px;
	--boe-chat-box-shadow:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -2px rgba(0,0,0,0.05);
	--boe-chat-transition:all 0.3s ease;
}
.boe-chat-container{
	display:flex;
	height:100%;
	width:100%;
	background-color:#ffffff;
	border-radius:var(--boe-chat-border-radius);
	box-shadow:var(--boe-chat-box-shadow);
	overflow:hidden;
}
.boe-chat-sidebar{
	width:25%;
	background-color:var(--boe-chat-light);
	border-right:1px solid var(--boe-chat-gray-light);
	display:flex;
	flex-direction:column;
	transition:var(--boe-chat-transition);
	position:relative;
	z-index:10;
}
.sidebar-collapsed{
	width:70px;
}
.sidebar-header{
	padding:20px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	border-bottom:1px solid var(--boe-chat-gray-light);
	background-color:white;
	position:sticky;
	top:0;
	z-index:5;
}
.sidebar-header h2{
	font-size:1.2rem;
	color:var(--boe-chat-dark);
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
}
.toggle-sidebar{
	display:none;
	
}
.boe-chat-participants-list{
	overflow-y:auto;
	flex:1;
	padding:10px;
}
.chat-participant{
	display:flex;
	align-items:center;
	padding:10px;
	border-radius:var(--boe-chat-border-radius);
	margin-bottom:8px;
	cursor:pointer;
	transition:var(--boe-chat-transition);
	position:relative;
}
.chat-participant:hover{
	background-color:var(--boe-chat-gray-light);
}
.chat-participant.active{
	background-color:rgba(79,70,229,0.1);
}
.participant-avatar{
	border-radius:50%;
	margin-right:12px;
	padding:5px;
	border:2px solid white;
	box-shadow:0 2px 5px rgba(0,0,0,0.1);
}
img.participant-avatar{
	width:40px;
	height:40px;
}
.participant-info{
	flex:1;
	overflow:hidden;
}
.participant-name{
	font-weight:600;
	font-size:0.95rem;
	color:var(--boe-chat-dark);
	margin-bottom:2px;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
}
.participant-role{
	font-size:0.8rem;
	color:var(--boe-chat-gray-dark);
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
}
.participant-status{
	width:10px;
	height:10px;
	border-radius:50%;
	margin-left:5px;
}
.status-online{
	background-color:var(--boe-chat-success);
}
.status-offline{
	background-color:var(--boe-chat-gray);
}
.status-busy{
	background-color:var(--boe-chat-danger);
}
.notification-badge{
	background-color:var(--boe-chat-danger);
	color:white;
	border-radius:50%;
	width:18px;
	height:18px;
	font-size:0.7rem;
	display:flex;
	align-items:center;
	justify-content:center;
	position:absolute;
	top:5px;
	right:5px;
}
.boe-chat-content{
	flex:1;
	display:flex;
	flex-direction:column;
	background-color:#ffffff;
}

.chat-header{
	padding:15px 20px;
	border-bottom:1px solid var(--boe-chat-gray-light);
	display:flex;
	align-items:center;
	justify-content:space-between;
	background-color:white;
	position:sticky;
	top:0;
	z-index:3;
}
.chat-title{
	display:flex;
	align-items:center;
}
.chat-title h2{
	font-size:1.1rem;
	color:var(--boe-chat-dark);
	margin-right:10px;
}
.chat-subtitle{
	font-size:0.85rem;
	color:var(--boe-chat-gray-dark);
}
.chat-actions{
	display:flex;
	gap:10px;
}
.action-btn{
	background:none;
	border:none;
	color:var(--boe-chat-gray-dark);
	cursor:pointer;
	font-size:1.1rem;
	padding:5px;
	border-radius:50%;
	transition:var(--boe-chat-transition);
	display:flex;
	align-items:center;
	justify-content:center;
	width:36px;
	height:36px;
}
.action-btn:hover{
	background-color:var(--boe-chat-gray-light);
	color:var(--boe-chat-primary);
}
.mobile-menu-btn{
	display:none;
}

.messages-container{
	flex:1;
	overflow-y:auto;
	padding:20px;
	display:flex;
	flex-direction:column;
	gap:15px;
}
.message{
	display:flex;
	gap:12px;
	max-width:80%;
	animation:fadeIn 0.3s ease;
}
.message.outgoing{
	align-self:flex-end;
	flex-direction:row-reverse;
}
.message-avatar{
	width:36px;
	height:36px;
	border-radius:50%;
	object-fit:cover;
}
.message-content{
	display:flex;
	flex-direction:column;
}
.message-bubble{
	padding:12px 16px;
	border-radius:18px;
	font-size:0.95rem;
	position:relative;
	max-width:100%;
	word-wrap:break-word;
}
.message.incoming .message-bubble{
	background-color:var(--boe-chat-gray-light);
	color:var(--boe-chat-dark);
	border-bottom-left-radius:5px;
}
.message.outgoing .message-bubble{
	background-color:var(--boe-chat-primary);
	color:white;
	border-bottom-right-radius:5px;
}
.message-info{
	display:flex;
	align-items:center;
	margin-top:4px;
	font-size:0.75rem;
	color:var(--boe-chat-gray-dark);
}
.message.outgoing .message-info{
	justify-content:flex-end;
}
.message-time{
	margin-right:8px;
}
.message-status{
	display:flex;
	align-items:center;
}
.network-prompt{
	background-color:rgba(15,118,110,0.08);
	border-radius:var(--boe-chat-border-radius);
	border-left:3px solid var(--boe-chat-success);
	padding:15px;
	margin:15px 0;
	font-size:0.9rem;
	color:var(--boe-chat-dark);
	animation:fadeIn 0.5s ease;
}
.network-prompt-title{
	font-weight:600;
	margin-bottom:8px;
	color:var(--boe-chat-success);
}
.network-prompt-actions{
	display:flex;
	gap:10px;
	margin-top:10px;
}
.network-prompt-btn{
	padding:8px 15px;
	border-radius:20px;
	font-size:0.8rem;
	font-weight:500;
	cursor:pointer;
	transition:var(--boe-chat-transition);
	border:none;
}
.network-prompt-btn.primary{
	background-color:var(--boe-chat-success);
	color:white;
}
.network-prompt-btn.secondary{
	background-color:transparent;
	border:1px solid var(--boe-chat-success);
	color:var(--boe-chat-success);
}
.network-prompt-btn.success{
	background-color:var(--boe-chat-success);
	color:white;
}
.network-prompt-btn.danger{
	background-color: var(--boe-chat-danger);
	color:white;
}
.network-prompt-btn:hover{
	transform:translateY(-2px);
	box-shadow:0 4px 8px rgba(0,0,0,0.1);
}
.profile-preview{
	position:absolute;
	background-color:white;
	border-radius:var(--boe-chat-border-radius);
	box-shadow:var(--boe-chat-box-shadow);
	width:300px;
	z-index:100;
	opacity:0;
	pointer-events:none;
	transition:opacity 0.3s ease,transform 0.3s ease;
	transform:translateY(10px);
	overflow:hidden;
}
.profile-preview.show{
	opacity:1;
	pointer-events:auto;
	transform:translateY(0);
}
.profile-header{
	background:linear-gradient(135deg,var(--boe-chat-primary),var(--boe-chat-secondary));
	height:80px;
	position:relative;
}
.profile-avatar-wrapper{
	position:absolute;
	bottom:-30px;
	left:20px;
}
.profile-avatar{
	width:70px;
	height:70px;
	border-radius:50%;
	border:4px solid white;
	box-shadow:0 4px 8px rgba(0,0,0,0.1);
	object-fit:cover;
}
.profile-body{
	padding:40px 20px 20px;
}
.profile-name{
	font-size:1.1rem;
	font-weight:600;
	color:var(--boe-chat-dark);
	margin-bottom:5px;
}
.profile-role{
	font-size:0.85rem;
	color:var(--boe-chat-gray-dark);
	margin-bottom:15px;
}
.profile-bio{
	font-size:0.9rem;
	color:var(--boe-chat-gray-dark);
	margin-bottom:15px;
	line-height:1.5;
}
.profile-stats{
	display:flex;
	gap:15px;
	margin-bottom:15px;
}
.stat{
	display:flex;
	flex-direction:column;
	align-items:center;
}
.stat-value{
	font-weight:600;
	color:var(--boe-chat-primary);
	font-size:1rem;
}
.stat-label{
	font-size:0.75rem;
	color:var(--boe-chat-gray-dark);
}
.profile-tags{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	margin-bottom:15px;
}
.profile-tag{
	background-color:var(--boe-chat-gray-light);
	padding:5px 10px;
	border-radius:15px;
	font-size:0.75rem;
	color:var(--boe-chat-gray-dark);
}
.profile-actions{
	display:flex;
	gap:10px;
}
.profile-btn{
	flex:1;
	padding:8px;
	border-radius:6px;
	font-size:0.85rem;
	font-weight:500;
	cursor:pointer;
	transition:var(--boe-chat-transition);
	border:none;
	text-align:center;
}
.profile-btn.primary{
	background-color:var(--boe-chat-primary);
	color:white;
}
.profile-btn.secondary{
	background-color:var(--boe-chat-gray-light);
	color:var(--boe-chat-gray-dark);
}
.profile-btn:hover{
	transform:translateY(-2px);
	box-shadow:0 4px 8px rgba(0,0,0,0.1);
}
.system-message{
	text-align:center;
	padding:8px 16px;
	background-color:rgba(79,70,229,0.1);
	border-radius:20px;
	font-size:0.85rem;
	color:var(--boe-chat-primary);
	margin:10px 0;
	max-width:80%;
	align-self:center;
	animation:fadeIn 0.3s ease;
}
.typing-indicator{
	display:flex;
	align-items:center;
	margin-top:5px;
	font-size:0.85rem;
	color:var(--boe-chat-gray-dark);
	animation:fadeIn 0.3s ease;
}
.typing-dots{
	display:flex;
	margin-left:5px;
}
.typing-dot{
	width:6px;
	height:6px;
	border-radius:50%;
	background-color:var(--boe-chat-gray-dark);
	margin-right:3px;
	animation:typingDot 1.4s infinite ease-in-out;
}
.typing-dot:nth-child(1){
	animation-delay:0s;
}
.typing-dot:nth-child(2){
	animation-delay:0.2s;
}
.typing-dot:nth-child(3){
	animation-delay:0.4s;
	margin-right:0;
}
@keyframes fadeIn{
	from{
		opacity:0;
		transform:translateY(10px);
	}
	to{
		opacity:1;
		transform:translateY(0);
	}
}
@keyframes typingDot{
	0%,60%,100%{
		transform:translateY(0);
	}
	30%{
		transform:translateY(-4px);
	}
}

.chat-input-container{
	padding:15px;
	border-top:1px solid var(--boe-chat-gray-light);
	background-color:white;
	position:sticky;
	bottom:0;
}
.chat-input-wrapper{
	display:flex;
	align-items:center;
	background-color:var(--boe-chat-gray-light);
	border-radius:24px;
	padding:5px;
	transition:var(--boe-chat-transition);
}
.chat-input-wrapper:focus-within{
	box-shadow:0 0 0 2px var(--boe-chat-primary-light);
}
.chat-input-tools{
	display:flex;
	padding:0 5px;
}
.tool-btn{
	background:none;
	border:none;
	color:var(--boe-chat-gray-dark);
	cursor:pointer;
	font-size:1.1rem;
	padding:8px;
	border-radius:50%;
	transition:var(--boe-chat-transition);
}
.tool-btn:hover{
	color:var(--boe-chat-primary);
	background-color:rgba(79,70,229,0.1);
}
.chat-input{
	flex:1;
	border:none;
	outline:none;
	padding:10px;
	background-color:transparent;
	font-size:0.95rem;
	resize:none;
	max-height:120px;
	min-height:24px;
}
.send-btn{
	background-color:var(--boe-chat-primary);
	color:white;
	border:none;
	width:40px;
	height:40px;
	border-radius:50%;
	display:flex;
	align-items:center;
	justify-content:center;
	cursor:pointer;
	transition:var(--boe-chat-transition);
}
.send-btn:hover{
	background-color:var(--boe-chat-primary-dark);
	transform:scale(1.05);
}
.send-btn:disabled{
	background-color:var(--boe-chat-gray);
	cursor:not-allowed;
	transform:scale(1);
}

::-webkit-scrollbar{
	width:6px;
}
::-webkit-scrollbar-track{
	background:transparent;
}
::-webkit-scrollbar-thumb{
	background-color:var(--boe-chat-gray);
	border-radius:10px;
}
::-webkit-scrollbar-thumb:hover{
	background-color:var(--boe-chat-gray-dark);
}

@media print{
	body{background-color:transparent;}
	.login-box{display:none;}
	#header{display:none;}
	#hanging-icons{display:none;}
	#footer{display:none;}
	.refresh_button{display:none;}
	.logout_button{display:none;}
	.print-hide{display:none!important;}
	.modal-backdrop{display:none!important;}
	.modal{
		position:relative;
		top:auto;
		left:auto;
		--bs-modal-border-width:0px;
		border:0px;
		width:100%!important;
		height:auto;
		padding:10px;
	}
	.modal-xl{
		max-width:100%!important;
		width:100%!important;
	}
	.printable{
		box-shadow:none!important;
		border-radius:0px!important;
		color:black!important;
	}
	.modal-header{display:none!important;}
	.modal-footer{display:none!important;}
	.inspector-card{
		page-break-after:always;
		padding:25px 0px;
		border:0px;
	}
	.inspector-card:last-child{
		page-break-after:avoid;
		padding-bottom:200px;
	}
	.printable-badge{
		border:1px solid black;
		background-color:transparent!important;
		color:black!important;
		font-size:12pt!important;
	}
	.inspector-payroll{
		border:1px solid red;
		color:red!important;
	}
	.signature-canvas-container .text-2x{
		font-size:12pt!important;
	}
	label{font-size:10pt!important;}
	.form-control{
		border:0px!important;
		font-size:10pt!important;
		padding:0px!important;
		margin:0px!important;
	}
	.timestamp_table,.timestamp_table th,.timestamp_table td{
		font-size:10pt!important;
		padding:0px!important;
		margin:0px!important;
	}
	.signature-canvas-container{background-color:transparent;}
	.ballot_collection_report,.transmittal_report,.early_voting_site{page-break-after:always;}
	.ballot_collection_report:last-child,.transmittal_report:last-child,.early_voting_site:last-child{
		page-break-after:avoid;
		padding-bottom:200px;
	}
	.signature-canvas{
		width:250px;
		height:75px;
	}
	.signature-canvas.ev-signature{
		width:100%;
		height:auto;
	}
	*{
		font-size:8pt!important;
		padding:0px!important;
		margin:0px!important;
	}
}

@media screen and (max-width:750px){
	.boe-chat-sidebar{
		position:fixed;
		top:0px;
		left:0px;
		width:100vw;
		height:100vh;
		overflow:scroll;
	}
	.toggle-sidebar{
		display:block;
		background:none;
		border:none;
		color:var(--boe-chat-gray-dark);
		cursor:pointer;
		font-size:1.2rem;
		transition:var(--boe-chat-transition);
	}
	.mobile-menu-btn{
		display:block;
	}
}
