﻿html {
	display: -ms-flexbox;
	-ms-flex-direction: column;
	display: flex;
	flex-direction: column;
	font-size: 0.875rem;
}

form.main-form {
	display: flex;
	flex-direction: column;
	height: 100vh;
	width: 100vw;
	overflow: hidden;
}

svg.inline-svg {
	fill: currentColor;
	stroke: currentColor;
}

.nav svg.inline-svg {
	height: 1em;
	width: 1.25em;
}

table > thead {
	color: #fff;
}

	table > thead > tr > th.google-visualization-table-th {
		color: initial;
	}

	table > thead > tr > th.text-center,
	table > thead > tr > th:not(.text-left):not(.text-right) {
		text-align: center !important;
	}

table td a {
	font-weight: 600;
}

table > thead > tr > th a,
table > thead > tr > th a.active,
table > thead > tr > th a:hover {
	color: #fff;
}

table.table-selectable > tbody > tr:not(.not-allowed) {
	cursor: pointer;
}

table.dataTable {
	border-collapse: collapse !important;
}

	table.dataTable svg {
		color: #6c757d;
	}

	table.dataTable td.nowrap {
		white-space: nowrap;
	}

table.dataTable > tbody > tr.selected > * {
	box-shadow: none !important;
}

table.dataTable.table-striped > tbody > tr.odd > * {
	box-shadow: none !important;
}

table.dataTable.table-striped > tbody > tr.odd.selected > * {
	box-shadow: none !important;
}

table.dataTable.table-hover > tbody > tr:hover > * {
	box-shadow: none !important;
}

table.dataTable.table-hover > tbody > tr.selected:hover > * {
	box-shadow: none !important;
}

h4.report-subheader {
	margin-top: 1.5rem;
	margin-bottom: 0;
}

.badge-blue {
	color: #fff;
	background-color: #007bff
}

.badge-green {
	color: #fff;
	background-color: #28a745
}

.badge-purple {
	color: #fff;
	background-color: #4a0080
}

.badge-orange {
	color: #fff;
	background-color: #fd7e14
}

.badge-red {
	color: #fff;
	background-color: #ff0000
}

.bootstrap-select .dropdown-menu li.disabled {
	cursor: not-allowed;
}

.bootstrap-select .dropdown-menu li a {
	white-space: initial;
}

	.bootstrap-select .dropdown-menu li a span.check-mark {
		color: #6c757d
	}

.bootstrap-select > .bs-invalid {
	background-color: #fee;
}


.btn-selectpicker {
	background-color: #fff;
	border: 1px solid #ced4da;
	color: #495057;
	min-width: 90px;
}

	.btn-selectpicker.disabled {
		background-color: #e9ecef;
		opacity: 1;
	}

.btn-outline-success,
.btn-outline-info,
.btn-outline-warning,
.btn-outline-danger,
.btn-outline-light,
.btn-outline-dark {
	background-color: transparent;
	background-image: none;
}

	.btn-outline-secondary.disabled:hover,
	.btn-outline-secondary:disabled:hover,
	.btn-outline-success.disabled:hover,
	.btn-outline-success:disabled:hover,
	.btn-outline-info.disabled:hover,
	.btn-outline-info:disabled:hover,
	.btn-outline-warning.disabled:hover,
	.btn-outline-warning:disabled:hover,
	.btn-outline-danger.disabled:hover,
	.btn-outline-danger:disabled:hover,
	.btn-outline-light.disabled:hover,
	.btn-outline-light:disabled:hover,
	.btn-outline-dark.disabled:hover,
	.btn-outline-dark:disabled:hover {
		background-color: transparent;
	}

.table-hover > tbody > tr:hover,
.cblist-hover > div:hover {
	background-color: #ffffb3 !important;
}

	.table-hover > tbody > tr:hover > td,
	.cblist-hover > div:hover > label {
		color: black !important;
	}

.cblist-striped div:nth-of-type(2n+1):not(:hover) {
	background-color: rgba(0, 0, 0, 0.05)
}

.dataTables_wrapper {
	padding: 0;
}

.dt-button-collection {
	max-height: 75vh;
	overflow-y: scroll;
}

.daterangepicker thead {
	background-color: transparent;
	color: black;
}

.flagOrange {
	color: var(--orange) !important;
}

.flagRed {
	color: var(--red) !important;
}

.flagYellow {
	color: var(--yellow) !important;
}

.not-allowed {
	cursor: not-allowed;
}

.signature-block table {
	border: 0;
	margin: 2em 0;
	width: 100%;
}

	.signature-block table td {
		vertical-align: bottom;
	}

		.signature-block table td.label {
			width: 1px;
		}

		.signature-block table td.field {
			border-bottom: 1px solid #000;
		}

			.signature-block table td.field.signature {
				width: 5in;
				font-size: 2.5em;
				line-height: 0.8;
				font-family: 'Brush Script MT', cursive;
			}

			.signature-block table td.field.date {
				width: 3in;
			}

/* "Imports" */
.app-header.navbar {
	position: relative;
	-ms-flex-direction: row;
	flex-direction: row;
	flex: 0 0 auto;
	padding: 0;
	margin: 0;
}

	.app-header.navbar #navbarContent {
		flex-shrink: 0;
	}

	.app-header.navbar .navbar-brand {
		display: inline-block;
		width: 250px;
		padding: 0.25em;
		margin: 0;
		flex-shrink: 0;
	}

		.app-header.navbar .navbar-brand .brand-logo {
			display: inline;
		}

	.app-header.navbar .navbar-toggler {
		font-size: 1.5rem;
		height: 2.5rem;
	}

	.app-header.navbar .hamburger-content {
		max-height: calc(100vh - 108px);
		overflow: auto;
	}

	.app-header.navbar #navbarTabs {
		max-height: calc(100vh - 54px);
		overflow: auto;
	}

	.app-header.navbar .nav-title,
	.app-header.navbar .nav-item {
		padding-left: 0.5rem;
		padding-right: 0.5rem;
	}

		.app-header.navbar .nav-item .nav-link,
		.app-header.navbar .nav-item .dropdown-toggle {
			padding: 1rem 0;
			background: 0;
			border-bottom: 3px solid transparent;
			font-size: larger;
		}

			.app-header.navbar .nav-item .nav-link svg,
			.app-header.navbar .nav-item .dropdown-toggle svg {
				height: 1em;
				width: 1.25em;
			}
.app-body {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-direction: row;
	flex-direction: row;
	-ms-flex-positive: 1;
	flex-grow: 1;
	overflow: hidden;
}

	.app-body .sidebar {
		-ms-flex: 0 0 250px;
		flex: 0 0 250px;
		-ms-flex-order: -1;
		order: -1;
		width: 250px;
	}

.main-wrapper {
	display: flex;
	flex-direction: column;
	padding: 0;
	flex: 1;
	overflow: hidden;
}

	.main-wrapper .main-content {
		position: relative;
		flex: 1;
		flex-direction: column;
		overflow: auto;
	}

.sidebar {
	-ms-flex-direction: column;
	flex-direction: column;
	padding: 0;
}

	.sidebar .sidebar-nav {
		position: relative;
		-ms-flex: 1;
		flex: 1;
		overflow-x: hidden;
		overflow-y: auto;
		-ms-overflow-style: -ms-autohiding-scrollbar;
	}

	.sidebar .nav {
		-ms-flex-direction: column;
		flex-direction: column;
		min-height: 100%;
	}

	.sidebar .nav-title {
		padding: 0.5em 0.75em;
		font-size: larger;
	}

	.sidebar .nav-item {
		position: relative;
		margin: 0;
	}

	.sidebar .nav-link {
		padding: 0.25em 0.5em;
	}

		.sidebar .nav-link.active,
		.sidebar .nav-link:hover {
			color: #fff;
		}

	.sidebar .nav-floater {
		z-index: 10;
	}

	.sidebar .sidebar-minimizer {
		display: flex;
		position: relative;
		-ms-flex: 0 0 40px;
		flex: 0 0 40px;
		border: 0;
		flex-direction: row;
		justify-content: flex-end;
		align-items: center;
		padding-right: 20px;
	}

		.sidebar .sidebar-minimizer:focus,
		.sidebar .sidebar-minimizer.focus {
			outline: 0;
		}

.sidebar-minimized .sidebar {
	-ms-flex: 0 0 75px;
	flex: 0 0 75px;
	width: 75px;
}

	.sidebar-minimized .sidebar .sidebar-nav {
		width: 74px;
	}

	.sidebar-minimized .sidebar .nav {
		width: 74px;
	}

	.sidebar-minimized .sidebar .nav-title {
		display: none;
	}

	.sidebar-minimized .sidebar .sidebar-minimizer {
		width: 100%;
		padding-right: 30px;
	}

		.sidebar-minimized .sidebar .sidebar-minimizer i {
			-webkit-transform: rotate(-180deg);
			transform: rotate(-180deg);
		}

	.sidebar-minimized .sidebar .nav-item {
		width: 75px;
	}

		.sidebar-minimized .sidebar .nav-item:hover {
			width: 250px;
		}

	.sidebar-minimized .sidebar .nav-link {
		position: relative;
		padding: 0.375em 0;
		margin: 0;
		white-space: nowrap;
	}

		.sidebar-minimized .sidebar .nav-link i,
		.sidebar-minimized .sidebar .nav-link svg {
			display: block;
			float: left;
			width: 75px;
			font-size: 1.5em;
		}

		.sidebar-minimized .sidebar .nav-link:hover {
			width: 250px;
		}

	.sidebar-minimized .sidebar .nav-floater {
		color: #fff;
		display: none;
		left: 75px;
		height: 2.25em;
		margin: 0;
		padding: 0.25em 0.5em;
		position: absolute;
		white-space: nowrap;
	}

		.sidebar-minimized .sidebar .nav-floater .nav-text {
			font-size: 1.25em;
		}

.table thead th {
	vertical-align: top;
}

.tooltip.show {
	opacity: 1;
}

.tooltip-inner {
	background-color: #e2e3e5;
	border: 1px solid #d6d8db;
	color: #000;
	text-align: left;
}

.important-unread-messages-tooltip {
	color: #fff;
	background-color: #000;
	border: 0;
}

.carousel-indicators {
	margin: 0 30px;
}

.carousel-inner {
	padding: 0 30px 20px;
}

.carousel-control-prev,
.carousel-control-next {
	width: 20px;
}

	.carousel-control-prev:hover,
	.carousel-control-prev:focus,
	.carousel-control-next:hover,
	.carousel-control-next:focus {
		color: #343a40;
	}

.select2-container--bootstrap4 .select2-selection {
	background-color: #fff;
}

.rounded-xl {
	border-radius: 0.5rem !important;
}

/* Chat bubble container */
.ai-bubble {
	background: #f3f4f6;
	border-radius: 10px;
	padding: 14px 16px;
	max-width: 520px;
	font-size: 14px;
	line-height: 1.55;
	color: #2f2f2f;
	word-break: break-word;
}

/* Paragraph spacing */
.ai-bubble p {
	margin: 0 0 8px 0;
}

/* Section titles */
.ai-bubble h3 {
	font-size: 16px;
	font-weight: 600;
	margin: 10px 0 6px 0;
}

.ai-bubble h4 {
	font-size: 15px;
	font-weight: 600;
	margin: 10px 0 6px 0;
}

/* Lists */
.ai-bubble ul,
.ai-bubble ol {
	margin: 6px 0 10px 18px;
	padding-left: 6px;
}

/* List items */
.ai-bubble li {
	margin-bottom: 6px;
}

/* Bold text (important highlights) */
.ai-bubble strong {
	font-weight: 600;
}

/* Improve numbered list readability */
.ai-bubble ol li::marker {
	font-weight: 600;
}

/* Automatic spacing between blocks */
.ai-bubble > * + * {
	margin-top: 8px;
}

/* Optional: highlight important note lines */
.ai-bubble p strong:first-child {
	color: #b91c1c;
}