/* ===================== DASHBOARD MODAL SIDEBAR ===================== */
#dashboard #dashboard-modal-sidebar-container{
	position: fixed;
	z-index: 9;
	top: 0;
	left: 0;
	height: 100vh;
	width: 100vw;
	display: flex;
	visibility: hidden;
	opacity: 0;
}
#dashboard #dashboard-modal-sidebar-container .modal-cover{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: black;
	opacity: 0;
	visibility: hidden;
}
#dashboard #dashboard-modal-sidebar-container .modal-sidebar{
	position: relative;
	display: flex;
	flex-direction: column;
	margin-left: auto;
	background: white;
	background: #212121;
	width: 40vw;
	height: auto;
	overflow-y: scroll;
	transform: translateX(40vw);
}
#dashboard #dashboard-modal-sidebar-container .modal-sidebar .modal-sidebar-body{
	display: flex;
	flex-direction: column;
	color: white;
	padding: 2vw;
}
#dashboard #dashboard-modal-sidebar-container .modal-sidebar .modal-sidebar-body header{
	display: flex;
	padding: 0.5vw 0;
}
#dashboard #dashboard-modal-sidebar-container .modal-sidebar .modal-sidebar-body header button{
	margin-left: auto;
	background: none;
	border: none;
	color: white;
	cursor: pointer;
	font-size: 0.7vw;
}
#dashboard #dashboard-modal-sidebar-container .modal-sidebar .modal-sidebar-body header h1{
	font-size: 1.2vw;
	margin: 0;
}
#dashboard #dashboard-modal-sidebar-container .modal-sidebar .modal-sidebar-body small{
	font-size: 0.7vw;
	line-height: 1vw;
	color: grey;
}
#dashboard #dashboard-modal-sidebar-container .modal-sidebar .modal-sidebar-body form{
	margin-top: 2vw;
	display: flex;
	flex-direction: column;
	gap: 1vw;
}
#dashboard #dashboard-modal-sidebar-container .modal-sidebar .modal-sidebar-body form .form-row{
	display: flex;
	gap: 1vw;
}
#dashboard #dashboard-modal-sidebar-container .modal-sidebar .modal-sidebar-body form .form-row.context-separator{
	border-top: 2px dashed #313338;
	padding-top: 1vw;
}
#dashboard #dashboard-modal-sidebar-container .modal-sidebar .modal-sidebar-body form .form-row .form-group{
	display: flex;
	flex-direction: column;
	gap: 0.5vw;
	width: 100%;
}
#dashboard #dashboard-modal-sidebar-container .modal-sidebar .modal-sidebar-body form .form-row .form-group button{
	font-size: 0.7vw;
	padding: 0.5vw;
	border: 2px dashed #313338;
	border-radius: 0.5vw;
	background: transparent;
	color: white;
	cursor: pointer;
}
#dashboard #dashboard-modal-sidebar-container .modal-sidebar .modal-sidebar-body form .form-row .form-group button:hover{
	border-style: solid;
}
#dashboard #dashboard-modal-sidebar-container .modal-sidebar .modal-sidebar-body form .form-row .form-group label{
	font-weight: bold;
}
#dashboard #dashboard-modal-sidebar-container .modal-sidebar .modal-sidebar-body form .form-row .form-group input{
	font-size: 0.7vw;
	padding: 0.5vw;
	border: 2px solid #313338;
	border-radius: 0.5vw;
	background: transparent;
	color: white;
	-moz-appearance: textfield;
}
#dashboard #dashboard-modal-sidebar-container .modal-sidebar .modal-sidebar-body form .form-row .form-group input::-webkit-outer-spin-button,
#dashboard #dashboard-modal-sidebar-container .modal-sidebar .modal-sidebar-body form .form-row .form-group input::-webkit-inner-spin-button{
	-webkit-appearance: none;
	appearance: none;
	margin: 0;
}
#dashboard #dashboard-modal-sidebar-container .modal-sidebar .modal-sidebar-body form .form-row .form-group input:disabled{
	color: grey;
	background: #292929;
	border-color: #292929;
}
#dashboard #dashboard-modal-sidebar-container .modal-sidebar .modal-sidebar-body form .form-row .form-group select{
	font-size: 0.7vw;
	padding: 0.5vw;
	border: 2px solid #313338;
	border-radius: 0.5vw;
	background: transparent;
	color: white;
}
#dashboard #dashboard-modal-sidebar-container .modal-sidebar .modal-sidebar-body form .form-row .form-group input:focus{
	outline: none;
	border-color: grey;
}
#dashboard #dashboard-modal-sidebar-container .modal-sidebar .modal-sidebar-body form .form-row .form-group .button-input-group{
	display: flex;
	gap: 1vw;
	border: 2px solid #313338;
	border-radius: 0.5vw;
}
#dashboard #dashboard-modal-sidebar-container .modal-sidebar .modal-sidebar-body form .form-row .form-group .button-input-group input{
	width: 100%;
	border: none;
}
#dashboard #dashboard-modal-sidebar-container .modal-sidebar .modal-sidebar-body form .form-row .form-group .button-input-group button{
	margin-left: auto;
	padding: 0.5vw 1vw;
	border: none;
}
#dashboard #dashboard-modal-sidebar-container .modal-sidebar .modal-sidebar-footer{
	margin-top: auto;
	display: flex;
	gap: 1vw;
	padding: 1vw;
	border-top: 1px solid #363636;
}
#dashboard #dashboard-modal-sidebar-container .modal-sidebar .modal-sidebar-footer .footer-trailing{
	margin-left: auto;
}
#dashboard #dashboard-modal-sidebar-container .modal-sidebar .modal-sidebar-footer button{
	font-size: 0.8vw;
	padding: 0.4vw 1vw;
	border: none;
	border-radius: 0.5vw;
	background: #363636;
	color: white;
	cursor: pointer;
}
#dashboard #dashboard-modal-sidebar-container .modal-sidebar .modal-sidebar-footer button.primary-button{
	background: darkgrey;
	color: black;
}
#dashboard #dashboard-modal-sidebar-container .modal-sidebar .modal-sidebar-footer button:hover{
	opacity: .7;
}
#dashboard .modal-slide-in{
	visibility: visible !important;
	opacity: 1 !important;
}
#dashboard .modal-slide-in .modal-cover{
	visibility: visible !important;
	opacity: 0.5 !important;
}
#dashboard .modal-slide-in .modal-sidebar{
	transform: translateX(0) !important;
}
/* ===================== DASHBOARD MODAL SIDEBAR ===================== */

/* ===================== DASHBOARD LOADING INDICATOR ===================== */
#loading-indicator{
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: 99;
	margin-bottom: 5vw;
	display: flex;
	align-items: center;
	gap: 0.5vw;
	padding: 0.5vw;
	border-radius: 0.5vw;
	background: #454545;
	color: white;
	box-shadow: 0px 0px 12px rgba(154, 153, 150, 0.06);
	visibility: hidden;
	opacity: 0;
}
#loading-indicator.indicator-visible{
	visibility: visible;
	opacity: 1;
}
#loading-indicator i{
	aspect-ratio: 1/1;
}
#loading-indicator progress{
	height: 0.2vw;
	border-color: #2b2b2b;
	border-radius: 0.2vw;
}
#loading-indicator progress::-moz-progress-bar{
	background: #2b2b2b;
	transition: 1s;
}
#loading-indicator progress::-webkit-progress-value{
	background: #2b2b2b;
	transition: 1s;
}
/* ===================== DASHBOARD LOADING INDICATOR ===================== */

/* ===================== DASHBOARD MODAL DIALOG ===================== */
#modal-dialog{
	position: absolute;
	z-index: 99;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
	visibility: hidden;
	opacity: 0;
}
#modal-dialog.modal-dialog-visible{
	visibility: visible !important;
	opacity: 1 !important;
}
#modal-dialog .modal-cover{
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: black;
	opacity: 0.4;
}
#modal-dialog form{
	position: relative;
	display: flex;
	flex-direction: column;
	background: #212121;
	max-width: 25vw;
	color: white;
	box-shadow: 0px 0px 12px rgba(154, 153, 150, 0.06);
}
#modal-dialog form .dialog-details{
	display: flex;
	flex-direction: column;
	gap: 0.2vw;
	padding: 1vw;
	border: 1px solid #363636;
}
#modal-dialog form .dialog-details span{
	font-size: 0.8vw;
}
#modal-dialog form .dialog-details small{
	font-size: 0.7vw;
	color: darkgrey;
	line-height: 1.2vw;
}
#modal-dialog form .dialog-actions{
	display: flex;
	border: 1px solid #363636;
	border-top: 0;
	background: #363636;
	gap: 1px;
}
#modal-dialog form .dialog-actions button{
	width: 100%;
	padding: 0.6vw 0;
	background: #212121;
	color: white;
	border: none;
	font-size: 0.7vw;
	cursor: pointer;
}
#modal-dialog form .dialog-actions button:hover{
	background: #363636;
}
/* ===================== DASHBOARD MODAL DIALOG ===================== */

#dashboard{
	display: flex;
	height: 100vh;
	width: 100vw;
}

#dashboard #dashboard-sidebar{
	display: flex;
	flex-direction: column;
	width: 16vw;
	height: 100vh;
	background: #212121;
	border-right: 1px solid #363636;
}
#dashboard #dashboard-sidebar .sidebar-header{
	display: flex;
	align-items: center;
	padding: 1vw;
	border-bottom: 1px solid #363636;
}
#dashboard #dashboard-sidebar .sidebar-header img{
	height: 1vw;
}
#dashboard #dashboard-sidebar .sidebar-body{
	display: flex;
	flex-direction: column;
	padding: 1vw;
	gap: 0.2vw;
}
#dashboard #dashboard-sidebar .sidebar-footer{
	margin-top: auto;
	display: flex;
	flex-direction: column;
	padding: 1vw;
	border-top: 1px solid #363636;
}
#dashboard #dashboard-sidebar a{
	display: flex;
	align-items: center;
	gap: 0.5vw;
	color: white;
	text-decoration: none;
	font-size: 0.8vw;
	padding: 0.4vw;
	border-radius: 0.5vw;
}
#dashboard #dashboard-sidebar a:hover{
	background: #363636;
}
#dashboard #dashboard-sidebar a.acitve-sidebar-menu{
	background: #363636;
}
#dashboard #dashboard-sidebar a i{
	width: 1vw;
}

#dashboard #dashboard-content{
	display: flex;
	flex-direction: column;
	width: 84vw;
	height: 100vh;
	background: #191919;
	color: white;
	position: relative;
}
#dashboard #dashboard-content nav{
	display: flex;
	align-items: center;
	padding: 1vw;
	border-bottom: 1px solid #363636;
}
#dashboard #dashboard-content nav h4{
	margin: 0;
	font-size: 0.8vw;
}
#dashboard #dashboard-content nav .navbar-trailing{
	margin-left: auto;
	display: flex;
	gap: 1vw;
	height: 1vw;
}
#dashboard #dashboard-content nav .navbar-trailing button{
	display: flex;
	align-items: center;
	justify-content: center;
	height: 1vw;
	font-size: 0.7vw;
	padding: 0 0.5vw;
	border: none;
	border-radius: 0.2vw;
	background: transparent;
	color: white;
	cursor: pointer;
}
#dashboard #dashboard-content nav .navbar-trailing button:hover{
	opacity: .7;
}
#dashboard #dashboard-content header{
	display: flex;
	align-items: center;
	padding: 1vw;
	border-bottom: 1px solid #363636;
	height: 2.5vw;
}
#dashboard #dashboard-content header .header-trailing{
	margin-left: auto;
	display: flex;
	gap: 1vw;
}
#dashboard #dashboard-content header button{
	font-size: 0.7vw;
	padding: 0.4vw 1vw;
	border: none;
	border-radius: 0.4vw;
	background: #363636;
	color: whitesmoke;
	cursor: pointer;
}
#dashboard #dashboard-content header button:hover{
	color: grey;
}
#dashboard #dashboard-content header button.secondary-tool{
	background: transparent;
	color: grey;
	border: 1px solid grey;
}
#dashboard #dashboard-content header button.secondary-tool:hover{
	border-color: white;
}
#dashboard #dashboard-content header button.secondary-tool b{
	color: whitesmoke;
}
#dashboard #dashboard-content .content-body{
	display: flex;
	flex-direction: column;
}
#dashboard #dashboard-content .content-body-plain{
	display: flex;
	flex-direction: column;
	height: calc(100vh - 7.5vw);
	overflow-y: scroll;
}
#dashboard #dashboard-content .content-body-plain iframe{
	width: 100%;
	height: 100%;
}
#dashboard #dashboard-content .content-body-tabular{
	display: flex;
	flex-direction: column;
	height: calc(100vh - 14.5vw);
	overflow-y: scroll;
}
#dashboard #dashboard-content .content-body-tabs{
	display: flex;
	gap: 1vw;
	border-bottom: 1px solid #363636;
}
#dashboard #dashboard-content .content-body-tabs a{
	display: flex;
	align-items: center;
	justify-content: center;
	height: 1vw;
	padding: 1vw;
	text-decoration: none;
	color: whitesmoke;
	border-bottom: 2px solid transparent;
}
#dashboard #dashboard-content .content-body-tabs a:hover{
	border-color: whitesmoke;
}
#dashboard #dashboard-content .content-body-tabs a.active-content-tab{
	border-color: whitesmoke;
}
#dashboard #dashboard-content table{
	border-collapse: collapse;
}
#dashboard #dashboard-content table tr{
	border-top: 1px solid #363636;
	border-bottom: 1px solid #363636;
}
#dashboard #dashboard-content table tr:hover{
	background: #363636;
}
#dashboard #dashboard-content table tr.border-topless-row{
	border-top: none;
}
#dashboard #dashboard-content table tr th, #dashboard #dashboard-content table tr td{
	padding: 0.7vw 1vw;
	font-size: 0.7vw;
	border-left: 1px solid #363636;
	border-right: 1px solid #363636;
}
#dashboard #dashboard-content table tr th{
	padding: 1vw 0.7vw;
	text-align: left;
}
#dashboard #dashboard-content table tr td{
	cursor: pointer;
}
#dashboard #dashboard-content table .table-leading-cell{
	border-left: none;
	text-align: center;
}
#dashboard #dashboard-content table .table-trailing-cell{
	border-right: none;
}
#dashboard #dashboard-content footer{
	display: flex;
	width: calc(100% - 2vw);
	padding: 1vw;
	position: absolute;
	bottom: 0;
	left: 0;
	background: #191919;
	border-top: 1px solid #363636;
}
#dashboard #dashboard-content footer .footer-leading{
	display: flex;
	align-items: center;
	gap: 1vw;
}
#dashboard #dashboard-content footer .footer-leading .footer-leading-search-field{
	padding: calc(0.4vw - 1px) 0.4vw;
	border-radius: 0.5vw;
	display: flex;
	align-items: center;
	gap: 0.5vw;
	border: 1px solid #313338;
}
#dashboard #dashboard-content footer .footer-leading i{
	color: grey;
}
#dashboard #dashboard-content footer .footer-leading input{
	padding: 0;
	border: none;
	background: transparent;
	color: white;
	font-size: 0.8vw;
}
#dashboard #dashboard-content footer .footer-leading input:focus{
	outline: none;
}
#dashboard #dashboard-content footer .footer-trailing{
	margin-left: auto;
	display: flex;
	align-items: center;
	gap: 1vw;
}
#dashboard #dashboard-content footer button{
	font-size: 0.8vw;
	padding: 0.4vw 1vw;
	border: none;
	border-radius: 0.5vw;
	background: #363636;
	color: whitesmoke;
	cursor: pointer;
}
#dashboard #dashboard-content footer .footer-trailing .footer-trailing-pagination{
	display: flex;
	align-items: center;
	gap: 0.5vw;
}
#dashboard #dashboard-content footer .footer-trailing .footer-trailing-pagination .pagination-control-button{
	padding: 0.4vw 0.8vw;
}
#dashboard #dashboard-content footer .footer-trailing .footer-trailing-pagination .pagination-page-button{
	padding: 0.4vw 0.8vw;
	background: #212121;
}
#dashboard #dashboard-content footer .footer-trailing .footer-trailing-pagination .pagination-page-button:hover,
#dashboard #dashboard-content footer .footer-trailing .footer-trailing-pagination .pagination-page-button.active-page{
	background: #363636;
	color: whitesmoke;
}
#dashboard #dashboard-content .body-section{
	display: flex;
	flex-direction: column;
	padding: 1.5vw 1vw;
	border-bottom: 1px solid #363636;
}
#dashboard #dashboard-content .body-section h3{
	margin: 0;
	margin-bottom: 0.5vw;
}
#dashboard #dashboard-content .body-section small{
	color: grey;
}
#dashboard #dashboard-content .body-section .section-grid-net{
	margin-top: 1.5vw;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-column-gap: 1.5vw;
	grid-row-gap: 1.5vw;
}
#dashboard #dashboard-content .body-section .section-grid-net .input-group{
	display: flex;
	flex-direction: column;
	gap: 0.5vw;
}
#dashboard #dashboard-content .body-section .section-grid-net .input-group label{
	font-size: 0.7vw;
	color: whitesmoke;
}
#dashboard #dashboard-content .body-section .section-grid-net .input-group input, #dashboard #dashboard-content .body-section .section-grid-net .input-group select{
	border: 1px solid #363636;
	padding: 0.5vw 0.8vw;
	background: transparent;
	color: whitesmoke;
	border-radius: 0.5vw;
}
#dashboard #dashboard-content .body-section .section-grid-net .input-group input:focus{
	outline: none;
	border-color: grey;
}
#dashboard #dashboard-content .body-section .section-grid-net .input-group input:disabled{
	opacity: .7;
}