@import url(https://fonts.googleapis.com/css2?family=Rubik:wght@300;400;500;600;700;800;900&display=swap);
/* CSS Variables */
:root {
	/* Primary and Secondary Colors */
	--color-primary: #00ACED;
	--color-secondary: #648C85;
	--color-tertiary: #B8F2F3;
	--color-white: #FFFFFF;
	--color-black: #000000;

	/* Background Colors */
	--color-background: #F1F7FE;
	--color-background-light-grey: #F6F6F6;
	--color-bg-transparent: transparent;
	--color-bg-file-info: #E8F6F3;
	--color-bg-disabled: #E9ECEF;
	--color-procedure-bg: #F1F9FF;
	--color-highlight-first-row-bg: #F1FAFF;

	/* Border Colors */
	--color-border: #DEDEDE;
	--color-border-light: #f3f3f3;
	--color-blue: #3498db;
	--color-light-grey: #ddd;
	--color-input-border: #DBE4E3;
	--color-swal2-info-border: #81BCFF;
	--color-focus-border: #DAB96B;

	/* Text Colors */
	--color-light: rgba(255, 255, 255, 0.5);
	--color-dark-blue: #15558D;
	--color-input-text: #11453C;
	--color-required-icon: #C9563A;
	--color-procedure-text: #436660;
	--color-error: red;
	--color-text-file-info: #5E7F68;
	--color-info-text: #3E97FF;
	--color-dx-datagrid-link: #F8CFDC;
	--color-key: #905;
	--color-string: #690;

	/* Menu and Tooltip Colors */
	--color-menu-bg: #DEE5EB;
	--color-hover-text: #051f3f;
	--color-btn-primary-hover: #E9E221;
	--color-add-hover: #50cd89;
	--color-del-hover: #f1416c;

	/* Miscellaneous Colors */
	--color-slate-green: #5F7A75;
	--color-highlight: #EFDA00;
	--color-transition-hover: all 0.2s ease-in-out;
	--color-highlight-red: #ffdbe6;
	--color-highlight-green: #d0ffe7;
	--color-highlight-blue: #d0eeff;
	--color-gray: #707070;
	--color-medium-gray: #888;
	--color-apple-green: #4CAE4C;
	--color-light-gray: #ccc;
	--color-cloudy-whit: #f0f0f0;
	--color-green: #50cd89;
	--color-light-green: #e8fff3;
	--color-alert-bg: #c9e7c9;
}


/* Reset and Global Styles */
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

body {
	font-family: 'Rubik', sans-serif;
	/* background-color: var(--color-background); */
	line-height: 1;
}

.text-primary {
	color: var(--color-primary) !important;
}

.btn-primary {
	background-color: var(--color-primary) !important;
}

/* Form Styles */
.form-control {
	padding: 6px 10px;
}

/* Utility Classes */
.row {
	--bs-gutter-x: 0;
	gap: 10px;
}

/* Width Utility Classes */
.width-4 {
	width: 2%;
}
.width-3 {
	width: 3%;
}

.width-8 {
	width: 8%;
}

.width-10 {
	width: 10%;
}

.width-14 {
	width: 14% !important;
}

.width-15 {
	width: 15% !important;
}

.width-16 {
	width: 16%;
}

.width-20 {
	width: 20%;
}

.width-30 {
	width: 30%;
}

.width-35 {
	width: 35%;
}

.width-31 {
	width: 31%;
}

.width-49 {
	width: 49%;
}

.width-70 {
	width: 70%;
}

.width-95 {
	width: 95%;
}

.width-200 {
	width: 200px;
}

.width-175 {
	width: 175px;
}

.w-sm-135px {
	width: 135px !important;
}

form label {
    font-weight: bold !important;
}

form label {
    font-weight: bold !important;
}

/* Start Login Section */
.login-wrap,
.login-left-wrap {
	position: relative;
	border-radius: 8px;
	box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 1);
}

.login-wrap {
	background: var(--color-white);
	padding: 0 20px;
}

.login-left-wrap {
	background: var(--color-bg-transparent);
	border-radius: 5px;
	padding: 0 30px;
	box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0);
}

.login-left-wrap .logo,
.status-container .logo {
	max-width: 232px;
}

.login-left-wrap h1 {
	font-weight: 600;
	font-size: 30px;
	line-height: 45px;
	color: var(--color-white);
	text-align: justify;
	letter-spacing: 1px;
}

.login-left-wrap p {
	font-weight: 400;
	font-size: 16px;
	line-height: 21px;
	color: var(--color-white);
	max-width: 480px;
	margin: 0;
}

.login-left-wrap .sapp {
	margin: 16px 0;
	border-top: 4px solid var(--color-highlight);
	max-width: 64px;
}

.login-form .form-group {
	margin-bottom: 10px;
}

.login {
	background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.16), rgba(0, 0, 0, 1)), url('/build/assets/media/misc/login_bg.png');
	background-repeat: no-repeat;
	background-position: center top;
	background-size: cover;
	align-items: center;
}

.login-wrap p {
	color: var(--color-light);
}

.card-title {
	font-size: 24px;
	text-align: center;
	font-weight: 600;
	color: var(--color-primary);
	text-transform: none;
	letter-spacing: 1px;
}

.ki-duotone,
.ki-outline,
.ki-solid {
	line-height: 1;
	cursor: pointer;
}

.pharma-icons {
	color: var(--color-tertiary);
	margin-top: 4rem;
}

.pharma-icons .fas {
	font-size: 4rem;
}

.pharma-title {
	font-size: 1.5rem;
	font-weight: 100;
	margin-left: 1.2rem;
}

.custom-background {
	background-image: url('/build/assets/media/misc/auth-bg.png');
}

.version-number {
	position: fixed;
	bottom: 10px;
	right: 10px;
	color: var(--color-tertiary);
	font-size: 10px;
	padding: 5px 10px;
	letter-spacing: 2px;
}


/* legend setion css  */

.grid-legend .legend-item {
    display: flex;
	flex-direction: row;
    align-items: center;
    gap: 8px;
    margin-right: 20px;
}

.grid-legend .legend-color {
    width: 14px;
    height: 14px;
    border-radius: 4px;
    display: inline-block;
}

.legend-blue { background-color:var(--color-highlight-blue); }  /* Bootstrap primary */
.legend-green { background-color: var(--color-highlight-green)} /* Bootstrap success */
.legend-red { background-color: var(--color-highlight-red) }   /* Bootstrap danger */




/* End Login Section */

/* Start Input Number Section: Remove Up and Down arrow from Number fields */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]:hover::-webkit-inner-spin-button,
input[type="number"]:focus::-webkit-inner-spin-button,
input[type="number"]:hover::-webkit-outer-spin-button,
input[type="number"]:focus::-webkit-outer-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

/* End Input Number Section */

/* Start Sweet Alert OR Popup Section */
.swal2-icon {
	margin: 0.5em auto;
}

.swal2-html-container {
	margin: 1.2em 0.3em;
}

.swal2-popup .swal2-actions {
	margin: 5px auto 0px;
	gap: 15px;
}

.swal2-popup .btn {
	margin: 0;
}

.swal2-icon.swal2-info {
	border-color: var(--color-swal2-info-border);
	color: var(--color-info-text);
}

/* End Sweet Alert OR Popup Section */


/* Navigation Styles */
.custom-nav-link {
	color: var(--color-light-gray);
	font-size: 17px;
	font-weight: 400;
	line-height: 40px;
	letter-spacing: 1px;
	text-decoration: none;
}

.custom-nav-link:hover {
	text-decoration: none;
	color: var(--color-slate-green);
	transition: all 0.2s;
}

.custom-active {
	-webkit-text-decoration: solid;
	        text-decoration: solid;
	color: var(--color-secondary);
	transition: all 0.2s;
}

.menu-item {
	cursor: pointer;
	padding: 0 !important;
}

.menu-item .menu-link {
	padding: 0;
	cursor: pointer;
	font-weight: 500;
}

.menu-content {
	background-color: var(--color-menu-bg);
	border-radius: 4px 4px 0 0;
}

.menu-sub .menu-item:nth-child(even) {
	background-color: var(--color-menu-bg);
}

.nav-pills .nav-link.active,
.nav-pills .show>.nav-link {
	background-color: var(--color-dark-blue);
}

.nav-fill .nav-item .nav-link,
.nav-justified .nav-item .nav-link {
	width: 100%;
	border: 1px solid;
}

.nav-pills .nav-link:hover,
.btn.btn-primary:focus:not(.btn-active),
.btn.btn-primary:hover:not(.btn-active),
.btn.btn-primary:active:not(.btn-active) {
	background: var(--color-btn-primary-hover) !important;
	color: var(--color-hover-text);
	transition: all 0.3s ease-in-out;
}

/* End Navigation Styles */


/* Start Form Content Section */
/* Start Total Count Section */
.count-container {
	background-color: var(--color-primary);
	background-image: url('/build/assets/media/misc/widget-bg-1.png');
}

/* End Total Count Section */

#manualEntryClaimInfo {
	width: 100%;
	width: -moz-available;
	width: -webkit-fill-available;
	width: 100%;
}


.repricer-input {
	width: 100% !important;
	padding: 4px 6px;
	border-radius: 0px;
	border: 1px solid var(--color-input-border);
	background: var(--color-white);
	font-size: 13px;
	outline: none;
	resize: none;
	height: 33px !important;
	color: var(--color-input-text);
	font-weight: 400;
}

.repricer-form-input {
	width: 100% ;
	padding: 4px 6px;
	border-radius: 0px;
	border: 1px solid var(--color-input-border);
	background: var(--color-white);
	font-size: 13px;
	outline: none;
	resize: none;
	height: 33px !important;
	color: var(--color-input-text);
	font-weight: 400;
}

.repricer-form-input::placeholder,
.repricer-form-input[type='date']::-webkit-datetime-edit-text,
.repricer-form-input[type='date']::-webkit-datetime-edit-month-field,
.repricer-form-input[type='date']::-webkit-datetime-edit-day-field,
.repricer-form-input[type='date']::-webkit-datetime-edit-year-field {
	color: var(--color-light-grey) !important;
}

.select2-container--bootstrap5 .select2-search.select2-search--inline .select2-search__field {
	font-weight: 400;
}

.select2-container--default .select2-selection--single .select2-selection__placeholder,
.select2-container--bootstrap5 .select2-selection--single .select2-selection__placeholder {
	color: var(--color-light-grey) !important;
}

.repricer-form-input:focus,
span.select2-selection.select2-selection--single:focus {
	border-color: var(--color-focus-border) !important;
	box-shadow: none;
}

span.select2-selection--multiple[aria-expanded=true] {
	border: 1px solid var(--color-focus-border) !important;
}

.repricer-form-label {
	color: black;
	font-size: 14px;
	line-height: 20px;
	padding-left: 2px;
	font-weight: 500 !important;
}

.required-icon {
	color: var(--color-required-icon);
	font-size: 16px;
}

.radio-label {
	font-size: 13px;
}

.radiobutton {
	border: 1px solid var(--color-grey);
	cursor: pointer;
	height: 0.9em;
	width: 0.9em;
	border-radius: 50%;
}

.radioButton:selected {
	background-color: var(--color-focus-border);
	color: var(--color-white);
}

.tooltip-inner {
	text-align: left;
}

/* Start Dropdown */
.select2-container .select2-results__group,
.select2-results__options li,
.repricer-form-input option {
	font-size: 13px;
}

.select2-container--open .select2-dropdown {
	position: relative;
	top: 1px !important;
}

span.select2-dropdown.bootstrap-5-select2-dropdown.select2-dropdown--below.custom-dropdown-width,
span.select2-dropdown.bootstrap-5-select2-dropdown.select2-dropdown--above.custom-dropdown-width,
span.select2-dropdown.custom-dropdown-width.select2-dropdown--below,
span.select2-dropdown.custom-dropdown-width.select2-dropdown--above {
	width: auto !important;
}

.select2-dropdown {
	border: none !important;
}

/* .repricer-form-input {
  width: 300px;
} */

/*  */

.select2-container--bootstrap5 .select2-selection--single {
	border: 1px solid var(--color-input-border);
	padding: 4px 6px;
	font-size: 13px;
	height: 33px !important;
	display: flex;
}

.select2-selection__rendered .dropdown-number-col {
	width: auto !important;
}

.select2-container--bootstrap5 .select2-selection__clear {
	right: 5px;
}

.select2-container .select2-selection--single .select2-selection__clear {
	font-size: 1em;
}

.select2-container--default .select2-selection--single {
	min-height: 34px !important;
	border: 1px solid var(--color-input-border) !important;
	padding: 2px 6px !important;
	border-radius: 0px !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
	top: 5px !important;
}

.select2-container .select2-selection--single .select2-selection__rendered {
	padding-left: 0px;
	margin-right: 8px;
	height: 23px;
	align-content: center;
}

#select2-conditionCodesList-container li {
    padding: 3px;
    height: auto;
    margin: 2px;
}

/* REPLACE the existing .select2-container--default rules with these: */

Enable wrapping for all Select2 results
.select2-container--default .select2-results__option {
    white-space: normal !important;
    word-wrap: break-word !important;
    line-height: 1.5 !important;
    padding: 8px 12px !important;
    height: auto !important;
}



/* Specific targeting for condition codes dropdown with hanging indent */
/* #conditionCodesList + .select2-container .select2-results__option {
    padding-left: 100px !important;
    text-indent: -88px !important;
} */

/* For nested options inside optgroups */
.select2-results__options--nested .select2-results__option {
    white-space: normal !important;
    word-wrap: break-word !important;
    padding-left: 40px !important;
    text-indent: -27px !important;

}
/* .sub-form input[type="text"] {
    flex: 1 1 auto !important;
    width: 100% !important;
}

.sub-form .d-flex.flex-row.gap-3 {
    flex: 1;
}

input[name="title"],
#title {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
}

.sub-form .d-flex.flex-row {
    width: 100% !important;
}

/* Prevent validation message from shrinking the input 
input[name="title"]:invalid,
#title:invalid {
    width: 100% !important;
} */

/* Optgroup labels should not wrap
.select2-results__group {
    font-weight: bold;
    white-space: nowrap;
    padding: 8px 12px !important;
} */



.select2-container .select2-selection--multiple {
	min-height: 33px !important;
	border: 1px solid var(--color-input-border) !important;
	border-radius: 0px !important;
}

.select2-container--bootstrap5 .select2-selection--multiple:not(.form-select-sm):not(.form-select-lg) .select2-selection__choice .select2-selection__choice__display {
	font-size: 12px;
}

.select2-container--bootstrap5 .select2-selection--multiple .select2-selection__rendered .select2-selection__choice .select2-selection__choice__display {
	font-weight: 400;
}

span.select2-selection.select2-selection--multiple {
	padding: 3px !important;
	height: auto !important;
}

.select2-selection--single:before,
.select2-selection--multiple:before {
	content: "";
	position: absolute;
	right: 7px;
	top: 42%;
	border-top: 5px solid var(--color-medium-gray);
	border-left: 4px solid transparent;
	border-right: 4px solid transparent;
}


.select2-container--bootstrap5 .select2-selection--multiple:not(.form-select-sm):not(.form-select-lg) .select2-selection__choice {
	border-radius: 4px;
	padding: 0.1rem 0.5rem;
	margin-right: 0.5rem;
	margin-top: 0.1rem;	
	margin-bottom: 0.1rem;
	max-width: 100px !important;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	height: 18px;
}

.select2-container--bootstrap5 .select2-selection--multiple:not(.form-select-sm):not(.form-select-lg) .select2-selection__choice .select2-selection__choice__display {
	margin-left: 1.1rem;
	font-size: 1rem;
}

.select2-container--bootstrap5 .select2-selection--multiple .select2-selection__rendered .select2-selection__choice .select2-selection__choice__display {
	font-weight: 400;
}

.select-error-icon {
	top: -22px;
	right: 5px;
}

/* END Dropdown */

.export-controls-container {
	margin-bottom: 15px;
	text-align: right;
	padding: 8px;
	background: #f8f9fa;
	border-radius: 4px;
	border: 1px solid #ddd;
}

#exportControls .dx-button.dx-state-disabled {
	background-color: #cccccc !important;
	color: #666666 !important;
	cursor: not-allowed !important;
	opacity: 1 !important;
}

.export-all-btn {
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.export-all-btn .dx-icon-export {
	margin-right: 5px;
}

#exportControls {
	padding-bottom: 10px;
}

.dx-button-mode-contained.dx-button-default {
	background-color: var(--color-primary);
}

/* Start Procedure OR Charge Line Section */
.procedure-group {
	border-radius: 20px;
}

.table:not(.table-bordered) td:last-child {
	padding-right: 4px !important;
}

.table-data-input {
	background: var(--color-bg-transparent) !important;
	border: 1px solid var(--color-border);
	border-radius: 1px;
	padding: 3px;
	line-height: 0px;
}

.table.gy-2 th {
	padding: 10px 4px;
}

.table.gy-2 td {
	padding: 4px;
}

/* End Procedure OR Charge Line Section */

/* Start Switch Section */
.switch-button {
	background: rgba(255, 255, 255, 0.56);
	border-radius: 30px;
	overflow: hidden;
	width: 250px;
	text-align: center;
	font-size: 18px;
	letter-spacing: -1px;
	color: var(--color-primary);
	position: relative;
	padding-right: 120px;
}

.switch-button:before {
	content: "File Upload";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	width: 135px;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 3;
	pointer-events: none;
}

.switch-button-checkbox {
	cursor: pointer;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	z-index: 2;
}

.switch-button-checkbox:checked+.switch-button-label:before {
	transform: translateX(120px);
	transition: transform 300ms linear;
}

.switch-button-checkbox+.switch-button-label {
	position: relative;
	padding: 15px 0;
	display: block;
	-webkit-user-select: none;
	   -moz-user-select: none;
	        user-select: none;
	pointer-events: none;
}

.switch-button-checkbox+.switch-button-label:before {
	content: "";
	background: var(--color-white);
	height: 100%;
	width: 100%;
	position: absolute;
	left: 0;
	top: 0;
	border-radius: 30px;
	transform: translateX(0);
	transition: transform 300ms;
}

.switch-button-checkbox+.switch-button-label .switch-button-label-span {
	position: relative;
}

/* End Switch Section */

/* Start Checkbox Section */
#localitySwitch {
	border-radius: 1.25em;
}

.form-check-input[type=checkbox] {
	border-radius: 0.25em;
}

.form-check-input {
	width: 1.5rem;
	height: 1.5rem;
}

/* End Checkbox Section */

.error {
	color: var(--color-error);
	font-size: x-small;
}

.diagnosis-cards {
	display: grid;
	width: 100%;
	grid-template-columns: repeat(auto-fit, minmax(calc(20% - 10px), 1fr));
	grid-gap: 0px 10px;
	height: -moz-fit-content;
	height: fit-content;
}

.sub-form {
	line-height: 0;
	text-align: left;
}

.sub-form .text {
	background-color: var(--color-bg-transparent);
	padding: 0px 20px;
	color: var(--color-focus-border);
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 4px;
	text-transform: uppercase;
}

/* Start Icon Section */
.add-btn,
.del-btn {
	align-self: flex-end;
	margin: 6px 0;
	text-align: right;
}

.ki-plus-square:hover {
	color: var(--color-add-hover);
	transition: var(--color-transition-hover);
}

.ki-question:hover,
.fa-information:hover {
	color: var(--color-primary);
	transition: var(--color-transition-hover);
}

.ki-trash-square:hover {
	color: var(--color-del-hover);
	transition: var(--color-transition-hover);
}

.ki-question {
	color: var(--color-apple-green);
}

.fa-heart {
	font-size: 18px;
	transition: color 0.3s ease;
	color: var(--bs-text-muted);
}

.fa-heart.favorite {
	color: red;
}

.fa-heart:hover {
	color: rgb(255, 154, 154);
}

.favorite-button i {
	cursor: pointer;
}


/* End Icon Section */

/* Start Footer Section */
.footer-btn {
	background: var(--color-secondary);
	color: var(--color-white);
	height: 40px;
	width: 115px;
	border: none;
	text-align: center;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 1px;
	padding: 5px !important;
}

/* End Footer Section */

/* Map Start */
.chart-container,
.map-container {
	min-height: auto;
}

.map-container {
	height: 800px;
}

#theme-dropdown-container {
	position: absolute;
	top: 10px;
	left: 10px;
	z-index: 5;
	background: white;
	padding: 10px;
	border-radius: 5px;
}

.pac-target-input {
	width: 44% !important;
	height: 40px !important;
}

.pac-container {
	display: none !important;
}

#pac-input {
	width: 500px;
}

.map-theme-select {
	width: -moz-fit-content px !important;
	width: fit-content px !important;
	left: 10px !important;
}

#pac-input,
.map-theme-select {
	z-index: 10;
	box-sizing: border-box;
	border: 1px solid transparent;
	height: 40px !important;
	margin-top: 10px;
	padding: 0 12px;
	border-radius: 3px;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
	font-size: 14px;
	outline: none;
	text-overflow: ellipsis;
}

#search-results {
	position: absolute;
	z-index: 1;
	width: 500px;
	background: white;
	border: 1px solid var(--color-light-gray);
	max-height: 165px;
	overflow-y: auto;
	display: none;
}

.result-item {
	padding: 8px;
	cursor: pointer;
}

.result-item:hover {
	background-color: var(--color-cloudy-white);
}

.result-item {
	display: flex;
	align-items: center;
	padding: 8px;
	cursor: pointer;
}

.result-item-icon {
	font-size: 20px;
	margin-right: 8px;
	color: #007bff;
}

.result-item-text {
	flex-grow: 1;
}

.result-item-separator {
	margin: 0;
	border: 0;
	border-top: 1px solid var(--color-light-gray);
	width: 100%;
}

.count-tag {
	background-color: #ea4335;
	;
	border-radius: 15px;
	color: var(--color-white);
	font-size: 12x;
	font-weight: 400;
	padding: 5px;
	position: relative;
	transform: translate(-10px, -10px);
}

.count-tag::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 100%;
	transform: translate(-50%, 0);
	width: 0;
	height: 0;
	border-left: 4px solid transparent;
	border-right: 4px solid transparent;
	border-top: 4px solid #ea4335;
	;
}

/* End Map */

.dx-widget,
.dx-widget input {
	font-family: inherit;
}

.dx-row {
	line-height: 3;
}

.dx-header-row>td>.dx-datagrid-text-content {
	text-transform: uppercase;
	font-weight: 500;
}

.dx-column-indicators {
	float: right !important;
}

.dx-datagrid-headers,
.dx-header-row>td>.dx-datagrid-text-content,
.dx-data-row {
	font-size: 12px;
}

.dx-datagrid .dx-row>td {
	line-height: 1.4;
	vertical-align: middle !important;
}

.dx-datagrid .dx-link {
	color: var(--color-dx-datagrid-link);
}

.dx-datagrid .dx-link:hover {
	color: var(--color-del-hover);
}

.color-header {
	background-color: var(--color-primary);
}

.color-header>td>.dx-datagrid-text-content {
	color: var(--color-white) !important
}


.highlight-row-blue {
	background-color: var(--color-highlight-blue);
	color: var(--color-info-text);
}

.highlight-row-red {
	background-color: var(--color-highlight-red);
}

.highlight-row-green {
	background-color: var(--color-highlight-green);
}

.marker-label {
	color: var(--color-white);
	padding: 8px 0px;
	text-align: center;
	font-weight: bold;
}

.flex-container {
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

.dx-datagrid .dx-column-lines>td {
	border-left: none !important;
}

.percentage {
	width: 55%;
	display: flex;
	justify-content: flex-end;
}

.dot-container {
	display: inline-flex;
	align-items: center;
}

.dot-icon {
	font-size: 25px;
	line-height: 1;
	margin: 0 5px;
}

.text-transparent {
	color: var(--color-bg-transparent);
}

.popover {
	--bs-popover-max-width: 1000px !important;
	width: 1000px;
}

.loading-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(255, 255, 255, 0.7);
	display: flex;
	justify-content: center;
	align-items: center;
}

.loader {
	border: 8px solid var(--color-border-light);
	border-top: 8px solid var(--color-blue);
	border-radius: 50%;
	width: 50px;
	height: 50px;
	animation: spin 2s linear infinite;
}

.dx-widget {
	font-size: 12px;
}

.dx-datagrid-pager {
	padding-left: 10px;
}

.dx-page-sizes:before {
	content: "Results Per Page";
	margin: 10px 0;
}

.dx-page-sizes {
	display: flex;
	align-items: center;
	gap: 11px;
}

.dx-selectbox,
.dx-textbox {
	float: right;
	font-size: small;
}

.dx-texteditor-container {
	height: 30px;
}

.dx-texteditor-input-container {
	font-size: small;
}

.dx-command-edit {
	border-right: transparent !important;
	padding-left: 3px !important;
}

.dx-header-row .dx-sort-indicator.dx-header-filter-indicator.dx-text-content-alignment-left.dx-text-content-alignment-right {
	max-width: 100%;
}

.dx-header-row .dx-header-filter-indicator.dx-text-content-alignment-left.dx-text-content-alignment-right,
.dx-header-row .dx-sort-indicator.dx-text-content-alignment-left.dx-text-content-alignment-right {
	max-width: 100%;
	gap: 4px;
	display: flex;
	justify-content: space-evenly;
}

.dx-header-row .dx-sort-indicator.dx-header-filter-indicator {
	max-width: 100%
}

.dx-header-row .dx-header-filter-indicator.dx-text-content-alignment-right,
.dx-header-row .dx-sort-indicator.dx-text-content-alignment-right {
	margin-left: 0;
}

.dx-header-row .dx-header-filter-indicator.dx-text-content-alignment-left,
.dx-header-row .dx-sort-indicator.dx-text-content-alignment-left {
	margin-right: 0;
}

.dx-datagrid .dx-column-indicators .dx-sort.dx-sort,
span.dx-header-filter.dx-header-filter-empty {
	font-size: 11px;
}

.dx-datagrid .dx-column-indicators.dx-visibility-hidden {
	display: none;
}

.info-column {
	padding-left: 0 !important;
}

.popup-scroll {
	overflow-y: auto;
	height: 600px;
}

pre {
	white-space: pre-wrap;
	word-wrap: break-word;
	font-weight: 600;
	background-color: var(--color-background-light-grey);
	padding: 5px 0 0 10px;
	border-radius: 5px;
}

span.key {
	color: var(--color-key);
}

span.string {
	color: var(--color-string);
}

.icon-header {
	margin-right: 4px;
}

.dx-datagrid .dx-datagrid-headers .dx-header-row>td {
	padding: 4px;
}


.bg-light-primary>td>a.dx-link.dx-link-delete.dx-icon-trash.dx-link-icon {
	display: table-column;
}

.dx-datagrid-rowsview {
	position: relative;
}

.dx-datagrid-summary-item {
	margin-right: 5rem;
}

.bg-light-primary {
	position: sticky;
	top: 0;
	z-index: 10 !important;
}

/* Paging */
.dx-pager .dx-pages .dx-page {
	padding: 5px 12px;
}

.dx-pager .dx-page-sizes .dx-selection,
.dx-pager .dx-pages .dx-selection {
	color: var(--bs-primary);
	font-weight: 500;
	border-color: var(--bs-primary);
	background-color: var(--bs-primary-light);
}

.dx-pager .dx-page,
.dx-pager .dx-page-size {
	border-radius: 20px;
}

/* RX Custom Table */

.highlighted-header {
	background-color: var(--color-light-green);
}

.highlighted-header>.dx-datagrid-text-content>.header-cell {
	color: var(--color-green);
	text-decoration: underline;
	text-underline-position: under;
}

.custom-detail-table {
	border-collapse: collapse;
	width: 50%;
	float: left;
	margin-right: 20px;
}

.custom-detail-table th,
.custom-detail-table td {
	border: 1px solid var(--color-border-light-grey);
	padding: 8px;
	text-align: center;
}

.custom-detail-table th,
.side-table th,
.vertical-header {
	background-color: var(--color-background-grey);
	font-weight: 500;
	font-size: 12px;
}

.side-table {
	border-collapse: collapse;
	width: 50%;
	float: left;
}

.side-table th,
.side-table td {
	border: 1px solid var(--color-border-light-grey);
	padding: 8px;
	text-align: center;
}

.side-table-container {
	overflow: hidden;
}

/* Miles Slider Start */
.slider-label {
	top: 20px;
	position: absolute;
	font-weight: bold;
	color: var(--color-light-gray);
	font-size: xx-small;
}

.dx-slider-bar {
	margin: 20px 7px;
	height: 2px;
}

.dx-field-value:not(.dx-switch):not(.dx-checkbox):not(.dx-button) {
	width: 95%;
}

.dx-checkbox-container {
	height: auto;
}

.dx-editor-cell .dx-texteditor,
.dx-editor-cell .dx-texteditor .dx-texteditor-input {
	width: -webkit-fill-available;
	border-radius: 0;
}

.dx-gridbase-container {
	height: auto;
	min-height: -moz-fit-content;
	min-height: fit-content;
}

.dx-field {
	margin: 0 10px 0 0;
}

.dx-slider-handle {
	margin-top: -7px;
	height: 15px;
	border-radius: 100%;
	z-index: 1;
}

.dx-slider .dx-tooltip-wrapper .dx-overlay-content {
	transform: translate(-24px, -26px);
}

.dx-tooltip-wrapper .dx-overlay-content {
	min-width: 20px;
	min-height: 20px;
}

.dx-tooltip-wrapper .dx-overlay-content .dx-popup-content {
	padding: 8px;
	font-size: 0.75em;
}

.rx-disclaimer-text {
	width: -moz-fit-content;
	width: fit-content;
}

/* Miles Slider End */

@keyframes spin {
	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(360deg);
	}
}

/* Start Dental Section */
.currency-column {
	padding: 0 50px;
}

.header-cell {
	text-align: center;
	width: 100%;
}

.price-col {
	display: flex;
	justify-content: flex-end;
	padding: 0 60px 0 0;
}

.price-font {
	font-family: monospace;
	font-size: medium;
	font-weight: 600;
	margin-top: 3px;
}

/* End Dental Section */

/* Start Upload Section */
.file-info {
	margin: 20px 0;
	background: var(--color-bg-file-info);
	color: var(--color-text-file-info);
	padding: 6px 20px;
	border-radius: 6px;
}

.dashed-border {
	border: 3px dashed var(--color-light-gray);
}

.uploaded-file-container {
	margin-bottom: 15px;
}

.uploaded-file-container .d-flex {
	align-items: center;
}

.uploaded-file-container .text-muted {
	line-height: 1.5;
}

.uploaded-file-container i {
	font-size: 1.2rem;
}

.uploaded-file-container a {
	word-break: break-word;
}

#fetchTableContainer thead th,
#fetchTableContainer table tbody tr td {
	padding: 10px;
}

.wizard-container {
	max-width: 1000px;
	margin: auto;
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
	overflow: hidden;
}

.wizard-header {
	background-color: #007bff;
	color: white;
	text-align: center;
	padding: 20px;
}

.wizard-steps {
	display: flex;
	justify-content: space-around;
	padding: 15px;
	border-bottom: 1px solid --color-border-light-grey;
}

.wizard-step {
	flex: 1;
	text-align: center;
	font-size: 14px;
	color: #007bff;
	cursor: pointer;
}

.wizard-step.active {
	font-weight: bold;
	color: #0056b3;
}

.wizard-content {
	padding: 20px;
}

.step {
	display: none;
}

.step.active {
	display: block;
}

.button-group {
	display: flex;
	justify-content: space-between;
	margin-top: 20px;
}

.button-group button {
	padding: 10px 20px;
	border: none;
	border-radius: 5px;
	cursor: pointer;
}

.button-group button.primary {
	background-color: #007bff;
	color: white;
}

.button-group button.secondary {
	background-color: --color-light-grey;
}

.button-group button.danger {
	background-color: var(--bs-danger-active);
	color: white;
}

table {
	width: 100%;
	border-collapse: collapse;
}

table th,
table td {
	padding: 8px;
	text-align: left;
}

table th {
	background-color: #f2f2f2;
}

.radio-column {
	text-align: center;
}

.header {
	text-align: center;
	margin-bottom: 20px;
}

.header h1 {
	font-size: 24px;
	color: #333333;
}

.subheader {
	text-align: center;
	color: #666666;
	font-size: 14px;
	margin-bottom: 30px;
}

.table-container {
	max-height: 300px;
	overflow-y: auto;
	border: 1px solid #ccc;
}

.scrollable table {
	width: 100%;
	border-collapse: collapse;
}

.scrollable th,
.scrollable td {
	padding: 8px;
	text-align: left;
	border-bottom: 1px solid #ddd;
}

.scrollable th {
	position: sticky;
	top: 0;
	background-color: #f9f9f9;
	z-index: 1;
}

.group-container {
	border: 1px solid #ccc;
	margin-bottom: 10px;
	border-radius: 5px;
	overflow: hidden;
}

.group-header {
	background-color: #f4f4f4;
	padding: 10px;
	cursor: pointer;
	font-weight: bold;
}

.group-body {
	padding: 10px;
	display: none;
}

.group-body.collapsed {
	display: block;
	overflow: auto;
}

.mapping-row {
	display: flex;
	justify-content: space-between;
	margin-bottom: 5px;
	align-items: center;
}

.mapping-label {
	flex: 1;
	text-align: right;
	font-weight: bold;
}

.mapping-dropdown {
	flex: 2;
	padding: 5px;
	font-size: 12px;
}

.charge-line-group {
	display: flex;
	flex-direction: column;
	align-items: baseline;
}

.charge-line-row {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	margin: 10px 5px 0px 0;
}

.paired-row {
	display: flex;
	margin-bottom: 5px;
	align-items: center;
}

/* End Upload Section */

/* Dental Disclaimer */
.dental-disclaimer-text {
	position: relative;
	top: 3px;
	width: 7px;
	vertical-align: super;
	left: -3px;
}

/* fullscreen table */
#bulkGridContainer {
	position: relative;
}

.modal-body {
	max-height: 100vh;
	overflow-y: auto;
}

.floating-icon {
	position: absolute;
	top: 10px;
	right: 10px;
	background: #007bff;
	color: white;
	border-radius: 50%;
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
	cursor: pointer;
	transition: opacity 0.3s ease-in-out;
	opacity: 0;
}

.floating-icon.show {
	opacity: 1;
}


.role-badge {
	font-size: 0.9em;
}

.status-dot {
	height: 10px;
	width: 10px;
	border-radius: 50%;
	display: inline-block;
	margin-right: 6px;
	vertical-align: middle;
}

.status-active {
	background: #28a745;
}

.status-inactive {
	background: #6c757d;
}

.matrix-cell {
	text-align: center;
}

.modal-header {
	background: #f8fafc;
}

.modal-title {
	font-weight: 600;
}

.permission-label {
	font-size: 0.95em;
	color: #6c757d;
}

.required:after {
	content: " *";
	color: #d32f2f;
}

.table-hover tbody tr:hover {
	background-color: #f0f4f8;
}

.table thead th {
	vertical-align: middle;
}

.table td,
.table th {
	vertical-align: middle;
}

.bg-card {
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.form-label {
	margin-bottom: 0.25rem;
}

.btn-outline-secondary,
.btn-outline-info {
	padding: 0.25rem 0.75rem;
}

.status-container {
	font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
	color: #111827;
	padding: 2rem;
	margin: auto;
}

.status-overall {
	display: flex;
	align-items: center;
	background-color: #e5e7eb;
	padding: 1rem;
	border-radius: 0.5rem;
	margin-bottom: 2rem;
}

.status-overall.ok {
	background-color: #d1fae5;
	color: #065f46;
}

.status-overall.problem {
	background-color: #fee2e2;
	color: #991b1b;
}

.status-icon {
	font-size: 1.5rem;
	margin-right: 0.75rem;
}

.service-check {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0.75rem 1rem;
	background-color: white;
	margin-bottom: 0.5rem;
	border: 1px solid #e5e7eb;
	border-radius: 0.375rem;
}

.service-check.ok {
	border-left: 5px solid #10b981;
}

.service-check.problem {
	border-left: 5px solid #ef4444;
}

.service-name {
	font-weight: 600;
}

.status-text {
	display: flex;
	align-items: center;
}

.status-text span {
	margin-left: 0.5rem;
}
