#appHeader {
	background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
	border-bottom: 2px solid #ffc107;
	z-index: 1030;
	min-height: 60px;
}

#appHeader .brand-link {
	font-size: 1.2rem;
	font-weight: bold;
	transition: all 0.3s ease;
}

#appHeader .brand-link:hover {
	transform: translateY(-1px);
}

#appHeader .user-info {
	font-size: 0.85rem;
}

#appFooter {
	background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
	border-top: 2px solid #ffc107;
	color: #dee2e6;
	font-size: 0.8rem;
}

#sidebarMenu {
	background: linear-gradient(180deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
	border-right: 3px solid #ffc107;
	width: 280px;
}

#sidebarMenu .offcanvas-header {
	border-bottom: 1px solid #ffc107;
	color: white;
	min-height: auto;
	padding: 0.5rem 1.5rem;
	height: 60px;
}

#sidebarMenu .offcanvas-title {
	font-size: 1.2rem;
	margin: 0;
	font-weight: bold;
}

#sidebarMenu .nav-link {
	color: #dee2e6;
	padding: 0.75rem 1rem;
	border-radius: 0.375rem;
	margin: 0.25rem 0;
	transition: all 0.3s ease;
}

#sidebarMenu .nav-link:hover {
	background-color: rgba(255, 193, 7, 0.1);
	color: #ffc107;
	transform: translateX(5px);
}

#sidebarMenu .nav-link.active {
	background-color: #ffc107;
	color: #1a1a2e;
	font-weight: bold;
}

#sidebarMenu .nav-link i {
	width: 20px;
	margin-right: 0.75rem;
}

/* Page Header Styles */
.page-header {
	color: #333;
	padding: 0.5rem 1rem;
	/* padding-left: 1rem; */
	/* padding-right: 1rem; */
	border-bottom: 1px solid #dee2e6;
}

.page-header>div:first-child {
	font-size: 1rem;
	font-weight: 600;
	color: #495057;
}

/* Breadcrumb Styles */
.breadcrumb {
	background: transparent;
	padding: 0;
	margin: 0;
	font-size: 0.8rem;
}

.breadcrumb-item {
	color: #6c757d;
}

.breadcrumb-item+.breadcrumb-item::before {
	content: "/";
	color: #6c757d;
}

.breadcrumb-item a {
	color: #6c757d;
	text-decoration: none;
}

.breadcrumb-item a:hover {
	color: #ffc107;
}

.breadcrumb-item.active {
	color: #495057;
}

/* Responsive adjustments for page header */
@media (max-width: 768px) {
	.page-header>div:first-child {
		font-size: 0.75rem;
	}

	.page-header .d-flex {
		flex-direction: column;
		align-items: flex-start !important;
		gap: 0.25rem;
	}
}

/* Loading Modal Styles */
.loading-modal .modal-content {
	background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
	border: 2px solid #ffc107;
	border-radius: 0.5rem;
	color: white;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}

.loading-modal .modal-body {
	text-align: center;
	padding: 2rem 1rem;
}

.loading-modal .spinner-border {
	color: #ffc107;
	width: 3rem;
	height: 3rem;
	border-width: 0.3em;
	margin-bottom: 1rem;
}

.loading-modal .loading-message {
	font-size: 1.1rem;
	font-weight: 500;
	color: #dee2e6;
}

/* Confirm Modal Styles - Matching Loading Modal */
.confirm-modal .modal-content {
	background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
	border: 2px solid #ffc107;
	border-radius: 0.5rem;
	color: white;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}

.confirm-modal .modal-body {
	text-align: center;
	padding: 2rem 1rem;
}

.confirm-modal .confirm-icon {
	font-size: 3rem;
	color: #ffc107;
	text-shadow: 0 2px 10px rgba(255, 193, 7, 0.3);
}

.confirm-modal .confirm-title {
	font-size: 1.5rem;
	font-weight: 600;
	color: #ffc107;
	margin-bottom: 1rem;
}

.confirm-modal .confirm-message {
	font-size: 1.1rem;
	font-weight: 400;
	color: #dee2e6;
	line-height: 1.5;
	margin-bottom: 1.5rem;
}

.confirm-modal .confirm-buttons {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0.75rem;
}

.confirm-modal .btn {
	padding: 0.75rem 1.5rem;
	font-weight: 600;
	border-radius: 0.5rem;
	transition: all 0.3s ease;
	min-width: 120px;
}

.confirm-modal .btn-outline-light {
	border: 2px solid rgba(255, 255, 255, 0.3);
	color: #dee2e6;
	background: transparent;
}

.confirm-modal .btn-outline-light:hover {
	border-color: rgba(255, 255, 255, 0.6);
	background: rgba(255, 255, 255, 0.1);
	color: white;
	transform: translateY(-2px);
	box-shadow: 0 4px 15px rgba(255, 255, 255, 0.2);
}

.confirm-modal .btn-warning {
	background: linear-gradient(135deg, #ffc107 0%, #ffcd39 100%);
	border: none;
	color: #1a1a2e;
	box-shadow: 0 4px 15px rgba(255, 193, 7, 0.3);
}

.confirm-modal .btn-warning:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(255, 193, 7, 0.4);
	color: #1a1a2e;
}

.confirm-modal .btn-danger {
	background: linear-gradient(135deg, #dc3545 0%, #e74a3b 100%);
	border: none;
	color: white;
	box-shadow: 0 4px 15px rgba(220, 53, 69, 0.3);
}

.confirm-modal .btn-danger:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(220, 53, 69, 0.4);
	color: white;
}

.confirm-modal .btn-success {
	background: linear-gradient(135deg, #28a745 0%, #34ce57 100%);
	border: none;
	color: white;
	box-shadow: 0 4px 15px rgba(40, 167, 69, 0.3);
}

.confirm-modal .btn-success:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(40, 167, 69, 0.4);
	color: white;
}

/* Event Modal Styles - Dark Theme to Match App */
.event-modal .modal-content {
	background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
	border: 2px solid #ffc107;
	border-radius: 12px;
	color: white;
	box-shadow: 0 15px 35px rgba(0, 0, 0, 0.4);
}

.event-modal .modal-header {
	border-bottom: 2px solid rgba(255, 193, 7, 0.3);
	padding: 1.5rem 2rem 1rem 2rem;
}

.event-modal .modal-title {
	color: #ffc107;
	font-weight: 600;
	font-size: 1.4rem;
}

.event-modal .btn-close {
	filter: invert(1) grayscale(100%) brightness(200%);
	opacity: 0.8;
	transition: all 0.3s ease;
}

.event-modal .btn-close:hover {
	opacity: 1;
	transform: scale(1.1);
}

.event-modal .modal-body {
	padding: 2rem;
}

.event-modal .form-label {
	color: #ffc107;
	font-weight: 500;
	margin-bottom: 0.5rem;
}

.event-modal .form-control {
	background-color: rgba(255, 255, 255, 0.1);
	border: 1px solid rgba(255, 193, 7, 0.3);
	border-radius: 8px;
	color: white;
	padding: 0.75rem 1rem;
	transition: all 0.3s ease;
}

.event-modal .form-control:focus {
	background-color: rgba(255, 255, 255, 0.15);
	border-color: #ffc107;
	box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.25);
	color: white;
}

.event-modal .form-control::placeholder {
	color: rgba(255, 255, 255, 0.6);
}

.event-modal .form-select {
	background-color: rgba(255, 255, 255, 0.1);
	border: 1px solid rgba(255, 193, 7, 0.3);
	border-radius: 8px;
	color: white;
	padding: 0.75rem 1rem;
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23ffc107' d='m2 0-2 2h4zm0 5 2-2h-4z'/%3E%3C/svg%3E");
}

.event-modal .form-select:focus {
	background-color: rgba(255, 255, 255, 0.15);
	border-color: #ffc107;
	box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.25);
	color: white;
}

.event-modal .form-select option {
	background-color: #1a1a2e;
	color: white;
}

.event-modal .form-text {
	color: rgba(255, 255, 255, 0.7);
	font-size: 0.875rem;
}

.event-modal .modal-footer {
	border-top: 2px solid rgba(255, 193, 7, 0.3);
	padding: 1rem 2rem 1.5rem 2rem;
}

.event-modal .btn-secondary {
	background: transparent;
	border: 2px solid rgba(255, 255, 255, 0.3);
	color: #dee2e6;
	padding: 0.75rem 1.5rem;
	border-radius: 8px;
	transition: all 0.3s ease;
}

.event-modal .btn-secondary:hover {
	border-color: rgba(255, 255, 255, 0.6);
	background: rgba(255, 255, 255, 0.1);
	color: white;
	transform: translateY(-2px);
}

.event-modal .btn-primary {
	background: linear-gradient(135deg, #ffc107 0%, #ffcd39 100%);
	border: none;
	color: #1a1a2e;
	font-weight: 600;
	padding: 0.75rem 1.5rem;
	border-radius: 8px;
	box-shadow: 0 4px 15px rgba(255, 193, 7, 0.3);
	transition: all 0.3s ease;
}

.event-modal .btn-primary:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(255, 193, 7, 0.4);
	color: #1a1a2e;
}

/* Invalid feedback styling for event modal */
.event-modal .invalid-feedback {
	color: #ff6b6b;
	font-size: 0.875rem;
}

.event-modal .form-control.is-invalid {
	border-color: #ff6b6b;
	box-shadow: 0 0 0 0.2rem rgba(255, 107, 107, 0.25);
}

/* Select2 styling for event modal */
.event-modal .select2-container .select2-selection--single,
.event-modal .select2-container .select2-selection--multiple {
	background-color: rgba(255, 255, 255, 0.1) !important;
	border: 1px solid rgba(255, 193, 7, 0.3) !important;
	border-radius: 8px !important;
	min-height: 48px !important;
}

.event-modal .select2-container--bootstrap-5 .select2-selection {
	background-color: rgba(255, 255, 255, 0.1) !important;
	border: 1px solid rgba(255, 193, 7, 0.3) !important;
	border-radius: 8px !important;
}

.event-modal .select2-container--bootstrap-5 .select2-selection--single {
	height: 48px !important;
	padding: 0.75rem 1rem !important;
}

.event-modal .select2-container--bootstrap-5 .select2-selection--multiple {
	min-height: 48px !important;
	padding: 0.375rem 0.75rem !important;
}

.event-modal .select2-container--bootstrap-5 .select2-selection--single .select2-selection__rendered {
	color: white !important;
	padding: 0 !important;
	line-height: 1.5 !important;
}

.event-modal .select2-container--bootstrap-5 .select2-selection--multiple .select2-selection__rendered {
	padding: 0 !important;
}

.event-modal .select2-container--bootstrap-5 .select2-selection--single .select2-selection__arrow {
	height: 46px !important;
	right: 12px !important;
}

.event-modal .select2-container--bootstrap-5 .select2-selection--single .select2-selection__arrow b {
	border-color: #ffc107 transparent transparent transparent !important;
}

.event-modal .select2-container--bootstrap-5.select2-container--open .select2-selection--single .select2-selection__arrow b {
	border-color: transparent transparent #ffc107 transparent !important;
}

.event-modal .select2-container--bootstrap-5 .select2-selection--multiple .select2-selection__choice {
	background-color: #ffc107 !important;
	border: 1px solid rgba(255, 193, 7, 0.5) !important;
	border-radius: 6px !important;
	color: #1a1a2e !important;
	font-weight: 500 !important;
	margin: 2px !important;
	padding: 2px 8px !important;
}

.event-modal .select2-container--bootstrap-5 .select2-selection--multiple .select2-selection__choice__remove {
	color: #1a1a2e !important;
	font-weight: bold !important;
}

.event-modal .select2-container--bootstrap-5 .select2-selection--multiple .select2-selection__choice__remove:hover {
	color: #dc3545 !important;
}

.event-modal .select2-container--bootstrap-5.select2-container--focus .select2-selection,
.event-modal .select2-container--bootstrap-5.select2-container--open .select2-selection {
	background-color: rgba(255, 255, 255, 0.15) !important;
	border-color: #ffc107 !important;
	box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.25) !important;
}

.event-modal .select2-container--bootstrap-5 .select2-selection__placeholder {
	color: rgba(255, 255, 255, 0.6) !important;
}

/* Select2 dropdown styling for event modal */
.select2-dropdown.select2-dropdown--below {
	background-color: #1a1a2e !important;
	border: 1px solid rgba(255, 193, 7, 0.3) !important;
	border-radius: 8px !important;
	margin-top: 4px !important;
}

.select2-dropdown .select2-results__options {
	background-color: #1a1a2e !important;
}

.select2-dropdown .select2-results__option {
	background-color: #1a1a2e !important;
	color: white !important;
	padding: 0.75rem 1rem !important;
}

.select2-dropdown .select2-results__option--highlighted {
	background-color: rgba(255, 193, 7, 0.2) !important;
	color: #ffc107 !important;
}

.select2-dropdown .select2-results__option[aria-selected="true"] {
	background-color: #ffc107 !important;
	color: #1a1a2e !important;
}

.select2-dropdown .select2-search__field {
	background-color: rgba(255, 255, 255, 0.1) !important;
	border: 1px solid rgba(255, 193, 7, 0.3) !important;
	border-radius: 6px !important;
	color: white !important;
	padding: 0.5rem !important;
}

.select2-dropdown .select2-search__field:focus {
	border-color: #ffc107 !important;
	outline: none !important;
}

.select2-dropdown .select2-search__field::placeholder {
	color: rgba(255, 255, 255, 0.6) !important;
}

/* User Modal Styles - Dark Theme to Match App */
.user-modal .modal-content {
	background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
	border: 2px solid #ffc107;
	border-radius: 12px;
	color: white;
	box-shadow: 0 15px 35px rgba(0, 0, 0, 0.4);
}

.user-modal .modal-header {
	border-bottom: 2px solid rgba(255, 193, 7, 0.3);
	padding: 1.5rem 2rem 1rem 2rem;
}

.user-modal .modal-title {
	color: #ffc107;
	font-weight: 600;
	font-size: 1.4rem;
}

.user-modal .btn-close {
	filter: invert(1) grayscale(100%) brightness(200%);
	opacity: 0.8;
	transition: all 0.3s ease;
}

.user-modal .btn-close:hover {
	opacity: 1;
	transform: scale(1.1);
}

.user-modal .modal-body {
	padding: 2rem;
}

.user-modal .form-label {
	color: #ffc107;
	font-weight: 500;
	margin-bottom: 0.5rem;
}

.user-modal .form-control {
	background-color: rgba(255, 255, 255, 0.1) !important;
	border: 1px solid rgba(255, 193, 7, 0.3);
	border-radius: 8px;
	color: white;
	padding: 0.75rem 1rem;
	transition: all 0.3s ease;
}

.user-modal .form-control:focus {
	background-color: rgba(255, 255, 255, 0.15) !important;
	border-color: #ffc107;
	box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.25);
	color: white;
}

.user-modal .form-control::placeholder {
	color: rgba(255, 255, 255, 0.6);
}

.user-modal .form-select {
	background-color: rgba(255, 255, 255, 0.1) !important;
	border: 1px solid rgba(255, 193, 7, 0.3);
	border-radius: 8px;
	color: white;
	padding: 0.75rem 1rem;
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23ffc107' d='m2 0-2 2h4zm0 5 2-2h-4z'/%3E%3C/svg%3E");
}

.user-modal .form-select:focus {
	background-color: rgba(255, 255, 255, 0.15) !important;
	border-color: #ffc107;
	box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.25);
	color: white;
}

.user-modal .form-select option {
	background-color: #1a1a2e;
	color: white;
}

.user-modal .form-text {
	color: rgba(255, 255, 255, 0.7);
	font-size: 0.875rem;
}

.user-modal .modal-footer {
	border-top: 2px solid rgba(255, 193, 7, 0.3);
	padding: 1rem 2rem 1.5rem 2rem;
}

.user-modal .btn-secondary {
	background: transparent;
	border: 2px solid rgba(255, 255, 255, 0.3);
	color: #dee2e6;
	padding: 0.75rem 1.5rem;
	border-radius: 8px;
	transition: all 0.3s ease;
}

.user-modal .btn-secondary:hover {
	border-color: rgba(255, 255, 255, 0.6);
	background: rgba(255, 255, 255, 0.1);
	color: white;
	transform: translateY(-2px);
}

.user-modal .btn-primary {
	background: linear-gradient(135deg, #ffc107 0%, #ffcd39 100%);
	border: none;
	color: #1a1a2e;
	font-weight: 600;
	padding: 0.75rem 1.5rem;
	border-radius: 8px;
	box-shadow: 0 4px 15px rgba(255, 193, 7, 0.3);
	transition: all 0.3s ease;
}

.user-modal .btn-primary:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(255, 193, 7, 0.4);
	color: #1a1a2e;
}

.user-modal .invalid-feedback {
	color: #ff6b6b;
	font-size: 0.875rem;
}

/* Select2 styling for user modal */
.user-modal .select2-container--bootstrap-5 .select2-selection {
	background-color: rgba(255, 255, 255, 0.1) !important;
	border: 1px solid rgba(255, 193, 7, 0.3) !important;
	border-radius: 8px !important;
	color: white !important;
	min-height: calc(2.25rem + 2px) !important;
}

.user-modal .select2-container--bootstrap-5 .select2-selection--multiple {
	padding: 0.375rem 0.75rem !important;
}

.user-modal .select2-container--bootstrap-5 .select2-selection--multiple .select2-selection__choice {
	background-color: rgba(255, 193, 7, 0.8) !important;
	border: 1px solid #ffc107 !important;
	color: #1a1a2e !important;
	border-radius: 4px !important;
	font-size: 0.875rem !important;
	padding: 0.25rem 0.5rem !important;
	margin: 0.125rem !important;
}

.user-modal .select2-container--bootstrap-5 .select2-selection--multiple .select2-selection__choice__remove {
	color: #1a1a2e !important;
	font-weight: bold !important;
}

.user-modal .select2-container--bootstrap-5.select2-container--focus .select2-selection {
	border-color: #ffc107 !important;
	box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.25) !important;
}

.user-modal .select2-container--bootstrap-5 .select2-search--inline .select2-search__field {
	background-color: transparent !important;
	border: none !important;
	color: white !important;
	font-size: 0.875rem !important;
}

.user-modal .select2-container--bootstrap-5 .select2-search--inline .select2-search__field::placeholder {
	color: rgba(255, 255, 255, 0.6) !important;
}

/* Select2 dropdown styling for user modal */
.user-modal .select2-dropdown {
	background-color: #1a1a2e !important;
	border: 1px solid #ffc107 !important;
	border-radius: 8px !important;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3) !important;
	z-index: 1070 !important;
}

.user-modal .select2-dropdown .select2-results__option {
	background-color: #1a1a2e !important;
	color: white !important;
	padding: 0.75rem 1rem !important;
	border-bottom: 1px solid rgba(255, 193, 7, 0.2) !important;
	cursor: pointer !important;
	pointer-events: auto !important;
}

.user-modal .select2-dropdown .select2-results__option--highlighted {
	background-color: rgba(255, 193, 7, 0.2) !important;
	color: white !important;
	cursor: pointer !important;
	pointer-events: auto !important;
}

.user-modal .select2-dropdown .select2-results__option--selected {
	background-color: rgba(255, 193, 7, 0.3) !important;
	color: white !important;
	cursor: pointer !important;
	pointer-events: auto !important;
}

/* Ensure AJAX-loaded Select2 options are clickable in modals */
.modal .select2-container--open .select2-dropdown {
	z-index: 1070 !important;
	pointer-events: auto !important;
}

.modal .select2-dropdown .select2-results__option {
	pointer-events: auto !important;
	cursor: pointer !important;
}

.user-modal .select2-dropdown .select2-search {
	padding: 0.75rem !important;
}

.user-modal .select2-dropdown .select2-search__field {
	background-color: rgba(255, 255, 255, 0.1) !important;
	border: 1px solid rgba(255, 193, 7, 0.3) !important;
	border-radius: 6px !important;
	color: white !important;
	padding: 0.5rem !important;
}

.user-modal .select2-dropdown .select2-search__field:focus {
	border-color: #ffc107 !important;
	box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.25) !important;
}

.user-modal .select2-dropdown .select2-search__field::placeholder {
	color: rgba(255, 255, 255, 0.6) !important;
}

/* General Modal Select2 Single Select Styling - For Better Readability */
.modal .select2-container--bootstrap-5 .select2-selection--single {
	background-color: rgba(255, 255, 255, 0.1) !important;
	border: 1px solid rgba(255, 193, 7, 0.3) !important;
	border-radius: 8px !important;
	min-height: 48px !important;
	color: white !important;
}

.modal .select2-container--bootstrap-5 .select2-selection--single .select2-selection__rendered {
	color: white !important;
	padding: 0 1rem !important;
	line-height: 1 !important;
	font-size: 0.95rem !important;
	height: 100% !important;
	display: flex !important;
	align-items: center !important;
	margin: 0 !important;
}

/* General Modal Select2 Multiple Select Styling - For Better Readability */
.modal .select2-container--bootstrap-5 .select2-selection--multiple {
	background-color: rgba(255, 255, 255, 0.1) !important;
	border: 1px solid rgba(255, 193, 7, 0.3) !important;
	border-radius: 8px !important;
	color: white !important;
	padding: 0.375rem 0.75rem !important;
}

.modal .select2-container--bootstrap-5 .select2-selection--multiple .select2-selection__rendered {
	padding: 0 !important;
	min-height: 36px !important;
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
}

.modal .select2-container--bootstrap-5 .select2-selection--multiple .select2-selection__choice {
	background-color: #ffc107 !important;
	border: 1px solid rgba(255, 193, 7, 0.5) !important;
	border-radius: 6px !important;
	color: #1a1a2e !important;
	font-weight: 500 !important;
	margin: 2px !important;
	padding: 2px 8px !important;
}

.modal .select2-container--bootstrap-5 .select2-selection--multiple .select2-selection__choice__remove {
	color: #1a1a2e !important;
	font-weight: bold !important;
}

.modal .select2-container--bootstrap-5 .select2-selection--multiple .select2-selection__choice__remove:hover {
	color: #dc3545 !important;
}

.modal .select2-container--bootstrap-5 .select2-search--inline .select2-search__field {
	background-color: transparent !important;
	border: none !important;
	color: white !important;
	font-size: 0.875rem !important;
	margin: 0 !important;
	padding: 2px 4px !important;
	min-height: 32px !important;
}

.modal .select2-container--bootstrap-5 .select2-search--inline .select2-search__field::placeholder {
	color: rgba(255, 255, 255, 0.6) !important;
}

/* Shared styling for both single and multiple selects in modals */
.modal .select2-container--bootstrap-5 .select2-selection--single .select2-selection__placeholder,
.modal .select2-container--bootstrap-5 .select2-selection--multiple .select2-selection__placeholder {
	color: rgba(255, 255, 255, 0.6) !important;
}

/* Arrow styling for single selects only */
.modal .select2-container--bootstrap-5 .select2-selection--single .select2-selection__arrow {
	height: 46px !important;
	right: 12px !important;
}

.modal .select2-container--bootstrap-5 .select2-selection--single .select2-selection__arrow b {
	border-color: #ffc107 transparent transparent transparent !important;
}

.modal .select2-container--bootstrap-5.select2-container--open .select2-selection--single .select2-selection__arrow b {
	border-color: transparent transparent #ffc107 transparent !important;
}

.modal .select2-container--bootstrap-5.select2-container--focus .select2-selection--single,
.modal .select2-container--bootstrap-5.select2-container--open .select2-selection--single,
.modal .select2-container--bootstrap-5.select2-container--focus .select2-selection--multiple,
.modal .select2-container--bootstrap-5.select2-container--open .select2-selection--multiple {
	background-color: rgba(255, 255, 255, 0.15) !important;
	border-color: #ffc107 !important;
	box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.25) !important;
}

/* Equipment Modal Styles - Dark Theme to Match App */
.equipment-modal .modal-content {
	background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
	border: 2px solid #ffc107;
	border-radius: 12px;
	color: white;
	box-shadow: 0 15px 35px rgba(0, 0, 0, 0.4);
}

.equipment-modal .modal-header {
	border-bottom: 2px solid rgba(255, 193, 7, 0.3);
	padding: 1.5rem 2rem 1rem 2rem;
}

.equipment-modal .modal-title {
	color: #ffc107;
	font-weight: 600;
	font-size: 1.4rem;
}

.equipment-modal .btn-close {
	filter: invert(1) grayscale(100%) brightness(200%);
	opacity: 0.8;
	transition: all 0.3s ease;
}

.equipment-modal .btn-close:hover {
	opacity: 1;
	transform: scale(1.1);
}

.equipment-modal .modal-body {
	padding: 2rem;
}

.equipment-modal .form-label {
	color: #ffc107;
	font-weight: 500;
	margin-bottom: 0.5rem;
}

.equipment-modal .form-control {
	background-color: rgba(255, 255, 255, 0.1);
	border: 1px solid rgba(255, 193, 7, 0.3);
	border-radius: 8px;
	color: white;
	padding: 0.75rem 1rem;
	transition: all 0.3s ease;
}

.equipment-modal .form-control:focus {
	background-color: rgba(255, 255, 255, 0.15);
	border-color: #ffc107;
	box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.25);
	color: white;
}

.equipment-modal .form-control::placeholder {
	color: rgba(255, 255, 255, 0.6);
}

.equipment-modal .form-select {
	background-color: rgba(255, 255, 255, 0.1);
	border: 1px solid rgba(255, 193, 7, 0.3);
	border-radius: 8px;
	color: white;
	padding: 0.75rem 1rem;
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23ffc107' d='m2 0-2 2h4zm0 5 2-2h-4z'/%3E%3C/svg%3E");
}

.equipment-modal .form-select:focus {
	background-color: rgba(255, 255, 255, 0.15);
	border-color: #ffc107;
	box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.25);
	color: white;
}

.equipment-modal .form-select option {
	background-color: #1a1a2e;
	color: white;
}

.equipment-modal .form-text {
	color: rgba(255, 255, 255, 0.7);
	font-size: 0.875rem;
}

.equipment-modal .modal-footer {
	border-top: 2px solid rgba(255, 193, 7, 0.3);
	padding: 1rem 2rem 1.5rem 2rem;
}

.equipment-modal .btn-secondary {
	background: transparent;
	border: 2px solid rgba(255, 255, 255, 0.3);
	color: #dee2e6;
	padding: 0.75rem 1.5rem;
	border-radius: 8px;
	transition: all 0.3s ease;
}

.equipment-modal .btn-secondary:hover {
	border-color: rgba(255, 255, 255, 0.6);
	background: rgba(255, 255, 255, 0.1);
	color: white;
	transform: translateY(-2px);
}

.equipment-modal .btn-primary {
	background: linear-gradient(135deg, #ffc107 0%, #ffcd39 100%);
	border: none;
	color: #1a1a2e;
	font-weight: 600;
	padding: 0.75rem 1.5rem;
	border-radius: 8px;
	box-shadow: 0 4px 15px rgba(255, 193, 7, 0.3);
	transition: all 0.3s ease;
}

.equipment-modal .btn-primary:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(255, 193, 7, 0.4);
	color: #1a1a2e;
}

.equipment-modal .invalid-feedback {
	color: #ff6b6b;
	font-size: 0.875rem;
}

/* User Dropdown Styling - Dark Theme */
.user-dropdown-toggle {
	border: none !important;
	background: none !important;
	transition: all 0.2s ease;
	display: inline-flex !important;
	align-items: center !important;
}

.user-dropdown-toggle:hover {
	background: rgba(255, 193, 7, 0.15) !important;
	border-radius: 6px;
}

.user-dropdown-toggle .user-info {
	text-align: left;
	line-height: 1.1;
	vertical-align: middle;
}

.user-dropdown-toggle .user-name {
	font-size: 0.9rem;
	font-weight: 500;
	color: white;
	margin: 0;
	line-height: 1.2;
}

.user-dropdown-toggle .company-name {
	font-size: 0.7rem;
	color: rgba(255, 255, 255, 0.6) !important;
	margin: 0;
	line-height: 1.1;
}

.user-dropdown-menu,
.add-dropdown-menu {
	background: linear-gradient(135deg, #343a40 0%, #495057 100%);
	border: 1px solid rgba(255, 193, 7, 0.5);
	border-radius: 10px;
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25);
	padding: 0.5rem 0;
	min-width: 180px;
}

.user-dropdown-menu .dropdown-header,
.add-dropdown-menu .dropdown-header {
	color: #f8f9fa;
	font-weight: 600;
	padding: 0.5rem 1rem 0.25rem 1rem;
	font-size: 0.85rem;
	border-bottom: none;
}

.user-dropdown-menu .dropdown-header .fw-bold,
.add-dropdown-menu .dropdown-header .fw-bold {
	color: white;
	font-size: 0.9rem;
}

.user-dropdown-menu .dropdown-header .text-muted,
.add-dropdown-menu .dropdown-header .text-muted {
	color: rgba(255, 255, 255, 0.7) !important;
	font-size: 0.75rem;
}

.user-dropdown-menu .dropdown-divider,
.add-dropdown-menu .dropdown-divider {
	border-color: rgba(255, 193, 7, 0.3);
	margin: 0.25rem 0;
}

.user-dropdown-menu .dropdown-item,
.add-dropdown-menu .dropdown-item {
	color: #f8f9fa;
	padding: 0.6rem 1rem;
	transition: all 0.2s ease;
	border-radius: 0;
	font-weight: 500;
}

.user-dropdown-menu .dropdown-item:hover,
.add-dropdown-menu .dropdown-item:hover {
	background-color: rgba(255, 193, 7, 0.2);
	color: white;
	transform: translateX(2px);
}

.user-dropdown-menu .dropdown-item i,
.add-dropdown-menu .dropdown-item i {
	color: rgba(255, 193, 7, 0.8);
	width: 16px;
	text-align: center;
}

/* Toastr Custom Styling - Dark Theme to Match App */
#toast-container {
	z-index: 10000 !important;
	top: 80px !important;
	/* Position below the fixed header */
	right: 20px !important;
	position: fixed !important;
}

/* Override any default opacity settings */
#toast-container .toast,
#toast-container>div,
#toast-container .toast-success,
#toast-container .toast-error,
#toast-container .toast-warning,
#toast-container .toast-info {
	opacity: 1 !important;
	filter: none !important;
}

#toast-container>div {
	border-radius: 8px !important;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;
	border: 1px solid rgba(255, 193, 7, 0.3) !important;
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
	margin-bottom: 10px !important;
	padding: 15px 20px !important;
	min-width: 300px !important;
	max-width: 400px !important;
	position: relative !important;
	/* Solid background - no transparency issues */
	background-color: #1a1a2e !important;
	color: white !important;
	opacity: 1 !important;
	/* Remove any default icon styling */
	background-image: none !important;
	padding-left: 20px !important;
	/* Remove extra left padding for icons */
}

/* Success Toast - Green background */
#toast-container>.toast-success {
	background-color: #28a745 !important;
	border-left: 4px solid #1e7e34 !important;
	background-image: none !important;
	/* Remove default success icon */
}

/* Error Toast - Red background */
#toast-container>.toast-error {
	background-color: #dc3545 !important;
	border-left: 4px solid #c82333 !important;
	background-image: none !important;
	/* Remove default error icon */
}

/* Warning Toast - Yellow background */
#toast-container>.toast-warning {
	background-color: #ffc107 !important;
	border-left: 4px solid #e0a800 !important;
	color: #000 !important;
	background-image: none !important;
	/* Remove default warning icon */
}

/* Info Toast - Blue background */
#toast-container>.toast-info {
	background-color: #17a2b8 !important;
	border-left: 4px solid #117a8b !important;
	background-image: none !important;
	/* Remove default info icon */
}

/* Toast Title Styling */
#toast-container>div .toast-title {
	font-weight: 600 !important;
	font-size: 14px !important;
	margin-bottom: 4px !important;
	line-height: 1.3 !important;
	color: inherit !important;
}

/* Toast Message Styling */
#toast-container>div .toast-message {
	font-size: 13px !important;
	line-height: 1.4 !important;
	margin-top: 2px !important;
	color: inherit !important;
}

/* Progress Bar Styling */
#toast-container>div .toast-progress {
	background: rgba(255, 193, 7, 0.6) !important;
	/* Golden progress bar */
	height: 4px !important;
	position: absolute !important;
	bottom: 0 !important;
	left: 0 !important;
	right: 0 !important;
	border-radius: 0 0 12px 12px !important;
}

/* Close Button Styling */
#toast-container>div .toast-close-button {
	color: #ffc107 !important;
	/* Golden close button */
	font-size: 18px !important;
	font-weight: bold !important;
	opacity: 0.8 !important;
	transition: all 0.3s ease !important;
	position: absolute !important;
	top: 8px !important;
	right: 8px !important;
	background: none !important;
	border: none !important;
	cursor: pointer !important;
	padding: 4px !important;
}

#toast-container>div .toast-close-button:hover {
	opacity: 1 !important;
	color: #ffcd39 !important;
	transform: scale(1.1) !important;
}

/* Responsive Toast Positioning */
@media (max-width: 768px) {
	#toast-container {
		top: 80px !important;
		right: 15px !important;
		left: 15px !important;
		width: auto !important;
	}

	#toast-container>div {
		margin: 0 0 15px 0 !important;
		width: 100% !important;
		min-width: unset !important;
		max-width: unset !important;
		padding: 14px 18px !important;
	}

	#toast-container>div .toast-title {
		font-size: 14px !important;
	}

	#toast-container>div .toast-message {
		font-size: 13px !important;
	}
}

/* Animation for loading toast */
@keyframes pulse {
	0% {
		opacity: 1;
	}

	50% {
		opacity: 0.5;
	}

	100% {
		opacity: 1;
	}
}

/* Modern Table Styling */
.table-responsive {
	overflow: visible !important;
	height: 100%;
	position: relative;
	margin: 0;
	border-radius: 8px;
	background: white;
	border: 1px solid #dee2e6;
}

/* Main table container */
table.modern-table {
	margin: 0 !important;
	border-collapse: separate;
	border-spacing: 0;
	width: 100%;
	background: white;
}

/* Override any Bootstrap table hover styles */
.modern-table tbody tr:hover td {
	background-color: inherit;
}

/* Table header styling - Keep it sticky */
.modern-table thead {
	position: sticky;
	top: 0;
	z-index: 100;
}

.modern-table thead th {
	background: #f8f9fa;
	color: #495057;
	font-weight: 600;
	font-size: 0.875rem;
	padding: 0.875rem 0.75rem;
	text-align: left;
	border-bottom: 2px solid #dee2e6;
	border-top: none;
	border-left: none;
	border-right: none;
}

.modern-table thead th:first-child {
	border-top-left-radius: 8px;
}

.modern-table thead th:last-child {
	border-top-right-radius: 8px;
}

/* Table body styling */
.modern-table tbody tr {
	transition: all 0.2s ease;
	border-bottom: 1px solid #f1f3f4;
}

.modern-table tbody tr:hover {
	background-color: #e3f2fd !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
	border-left: 3px solid #0d6efd;
}

.modern-table tbody tr:hover td {
	background-color: #e3f2fd !important;
}

.modern-table tbody tr:last-child {
	border-bottom: none;
}

.modern-table tbody td {
	padding: 0.875rem 0.75rem;
	border: none;
	vertical-align: middle;
	font-size: 0.875rem;
	color: #495057;
	background: inherit;
}

.modern-table tbody tr:nth-child(even) {
	background-color: #fdfdfd;
}

/* Action icons styling */
.modern-table .fc-edit-user,
.modern-table .fc-delete-user,
.modern-table .fc-edit-event,
.modern-table .fc-delete-event,
.modern-table .fc-edit-equipment,
.modern-table .fc-delete-equipment {
	padding: 6px 8px;
	border-radius: 4px;
	transition: all 0.2s ease;
	font-size: 14px;
	cursor: pointer;
	width: 28px;
	height: 28px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.modern-table .fc-edit-user,
.modern-table .fc-edit-event,
.modern-table .fc-edit-equipment {
	color: #0d6efd;
	background-color: rgba(13, 110, 253, 0.1);
}

.modern-table .fc-edit-user:hover,
.modern-table .fc-edit-event:hover,
.modern-table .fc-edit-equipment:hover {
	color: white;
	background-color: #0d6efd;
}

.modern-table .fc-delete-user,
.modern-table .fc-delete-event,
.modern-table .fc-delete-equipment {
	color: #dc3545;
	background-color: rgba(220, 53, 69, 0.1);
}

.modern-table .fc-delete-user:hover,
.modern-table .fc-delete-event:hover,
.modern-table .fc-delete-equipment:hover {
	color: white;
	background-color: #dc3545;
}

/* Email links styling */
.modern-table a {
	color: #0d6efd;
	text-decoration: none;
	transition: color 0.2s ease;
}

.modern-table a:hover {
	color: #0b5ed7;
	text-decoration: underline;
}

/* Auto-fit columns */
.modern-table .autofit {
	width: 1%;
	white-space: nowrap;
	text-align: center;
}

/* Toggle Switch Styling - Traditional ACTIVE/INACTIVE Design */
.toggle-switch-container {
	position: relative;
	display: inline-block;
	width: 80px;
	height: 28px;
}

.toggle-switch-input {
	opacity: 0;
	width: 0;
	height: 0;
	position: absolute;
}

.toggle-switch-slider {
	position: absolute;
	cursor: pointer;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #ccc;
	border-radius: 14px;
	transition: all 0.3s ease;
	border: 1px solid #bbb;
	overflow: hidden;
}

.toggle-switch-on,
.toggle-switch-off {
	position: absolute;
	font-size: 8px;
	font-weight: bold;
	color: white;
	top: 50%;
	transform: translateY(-50%);
	transition: all 0.3s ease;
	text-shadow: 0 1px 1px rgba(0, 0, 0, 0.3);
}

.toggle-switch-on {
	left: 4px;
	opacity: 0;
}

.toggle-switch-off {
	right: 2px;
	opacity: 1;
}

.toggle-switch-handle {
	position: absolute;
	height: 22px;
	width: 22px;
	left: 3px;
	bottom: 2px;
	background-color: white;
	border-radius: 50%;
	transition: all 0.3s ease;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

/* Checked state */
.toggle-switch-input:checked+.toggle-switch-slider {
	background-color: #2196F3;
	border-color: #1976D2;
}

.toggle-switch-input:checked+.toggle-switch-slider .toggle-switch-handle {
	transform: translateX(52px);
}

.toggle-switch-input:checked+.toggle-switch-slider .toggle-switch-on {
	opacity: 1;
}

.toggle-switch-input:checked+.toggle-switch-slider .toggle-switch-off {
	opacity: 0;
}

/* Hover effects */
.toggle-switch-slider:hover {
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

.toggle-switch-input:focus+.toggle-switch-slider {
	box-shadow: 0 0 0 2px rgba(33, 150, 243, 0.3);
}

/* Remove old status switch styles */
.status-switch-container {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #f8f9fa;
	border-radius: 50px;
	padding: 6px 12px;
	border: 2px solid transparent;
	transition: all 0.3s ease;
	cursor: pointer;
	min-width: 80px;
}

.status-switch-container.status-switch-active {
	background: linear-gradient(135deg, #28a745, #20c997);
	border-color: #28a745;
	color: white;
}

.status-switch-container.status-switch-inactive {
	background: linear-gradient(135deg, #6c757d, #adb5bd);
	border-color: #6c757d;
	color: white;
}

.status-switch-container:hover {
	transform: translateY(-1px);
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

.status-switch {
	position: absolute;
	opacity: 0;
	cursor: pointer;
	width: 100%;
	height: 100%;
	margin: 0;
}

.status-switch-label {
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	pointer-events: none;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

/* Hover effects */
.status-switch-container.status-switch-active:hover {
	background: linear-gradient(135deg, #218838, #1e7e34);
}

.status-switch-container.status-switch-inactive:hover {
	background: linear-gradient(135deg, #5a6268, #6c757d);
}

/* Remove old active-switch styles */
.active-switch {
	margin-bottom: 0 !important;
}

.active-switch .form-check-input {
	cursor: pointer;
	transform: scale(1.2);
}

.active-switch .form-check-input:checked {
	background-color: #28a745;
	border-color: #28a745;
}

.active-switch .form-check-input:not(:checked) {
	background-color: #6c757d;
	border-color: #6c757d;
}

.active-switch .form-check-input:focus {
	box-shadow: 0 0 0 0.25rem rgba(40, 167, 69, 0.25);
}

/* Status text styling */
.status-text-active {
	color: #28a745 !important;
	font-weight: 600;
}

.status-text-inactive {
	color: #6c757d !important;
	font-weight: 600;
}

/* Text utilities for table */
.modern-table .text-nowrap {
	white-space: nowrap;
	font-weight: 500;
}

.dataTables_paginate .pagination {
	margin: 0;
}

/* Table Header and Footer Controls */
.fc-table-header {
	background: #f8f9fa;
	border-bottom: 1px solid #dee2e6;
	border-top-left-radius: 8px;
	border-top-right-radius: 8px;
	padding: 0.75rem 1rem;
}

.fc-table-footer {
	background: #f8f9fa;
	border-top: 1px solid #dee2e6;
	border-bottom-left-radius: 8px;
	border-bottom-right-radius: 8px;
	padding: 0.75rem 1rem;
}

/* Search input styling */
.fc-table-search input {
	border: 1px solid #ced4da;
	border-radius: 6px;
	padding: 0.375rem 0.75rem;
	font-size: 0.875rem;
	transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
	background: white;
	min-width: 200px;
}

.fc-table-search input:focus {
	border-color: #86b7fe;
	box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
	outline: none;
}

.fc-table-search input::placeholder {
	color: #6c757d;
}

/* Length selector styling */
.fc-table-length select {
	border: 1px solid #ced4da;
	border-radius: 6px;
	padding: 0.375rem 2.25rem 0.375rem 0.75rem;
	font-size: 0.875rem;
	background: white url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m1 6 7 7 7-7'/%3e%3c/svg%3e") no-repeat right 0.75rem center/16px 12px;
	color: #495057;
	cursor: pointer;
	transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.fc-table-length select:focus {
	border-color: #86b7fe;
	box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
	outline: none;
}

.fc-table-length label {
	font-size: 0.875rem;
	color: #6c757d;
	margin: 0;
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

/* Info text styling */
.fc-table-info {
	font-size: 0.875rem;
	color: #6c757d;
	margin: 0;
}

/* Pagination styling */
.fc-pagination .pagination {
	margin: 0;
	gap: 0.125rem;
}

.fc-pagination .page-link {
	border: 1px solid #dee2e6;
	color: #0d6efd;
	padding: 0.375rem 0.75rem;
	border-radius: 0.375rem;
	font-size: 0.875rem;
	transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
	text-decoration: none;
}

.fc-pagination .page-link:hover {
	background-color: #e9ecef;
	border-color: #dee2e6;
	color: #0a58ca;
}

.fc-pagination .page-item.active .page-link {
	background-color: #0d6efd;
	border-color: #0d6efd;
	color: white;
}

.fc-pagination .page-item.disabled .page-link {
	color: #6c757d;
	background-color: #fff;
	border-color: #dee2e6;
	cursor: not-allowed;
}

/* Responsive adjustments */
@media (max-width: 768px) {

	.fc-table-header,
	.fc-table-footer {
		flex-direction: column;
		gap: 1rem;
		align-items: stretch !important;
	}

	.fc-table-search input {
		min-width: 100%;
	}

	.fc-pagination {
		justify-content: center;
	}
}

/* Auth Pages Styles */
.auth-page {
	background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
	color: white;
	min-height: 100vh;
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.login-container,
.register-container {
	min-height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 2rem 1rem;
}

.login-card,
.register-card {
	background: rgba(255, 255, 255, 0.1);
	backdrop-filter: blur(20px);
	border: 1px solid rgba(255, 193, 7, 0.3);
	border-radius: 20px;
	padding: 3rem;
	width: 100%;
	box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
}

.login-card {
	max-width: 450px;
}

.register-card {
	max-width: 550px;
}

.brand-header {
	text-align: center;
	margin-bottom: 2rem;
}

.brand-icon {
	font-size: 4rem;
	color: #ffc107;
	margin-bottom: 1rem;
	text-shadow: 0 2px 10px rgba(255, 193, 7, 0.3);
}

.brand-title {
	font-size: 2.5rem;
	font-weight: bold;
	color: #ffc107;
	margin-bottom: 0.5rem;
}

.brand-subtitle {
	color: rgba(255, 255, 255, 0.8);
	font-size: 1rem;
}

.auth-page .form-control,
.auth-page .form-select {
	background: rgba(255, 255, 255, 0.1);
	border: 1px solid rgba(255, 193, 7, 0.3);
	border-radius: 10px;
	color: white;
	padding: 0.75rem 1rem;
	font-size: 1rem;
	transition: all 0.3s ease;
}

.auth-page .form-control:focus,
.auth-page .form-select:focus {
	background: rgba(255, 255, 255, 0.15);
	border-color: #ffc107;
	box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.25);
	color: white;
}

.auth-page .form-control::placeholder {
	color: rgba(255, 255, 255, 0.6);
}

.auth-page .form-select option {
	background: #1a1a2e;
	color: white;
}

.auth-page .form-label {
	color: #ffc107;
	font-weight: 600;
	margin-bottom: 0.5rem;
}

.btn-login,
.btn-register {
	background: linear-gradient(135deg, #ffc107 0%, #ffcd39 100%);
	border: none;
	color: #1a1a2e;
	font-weight: 600;
	padding: 0.75rem 2rem;
	border-radius: 10px;
	font-size: 1.1rem;
	width: 100%;
	transition: all 0.3s ease;
	box-shadow: 0 4px 15px rgba(255, 193, 7, 0.3);
}

.btn-login:hover,
.btn-register:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(255, 193, 7, 0.4);
	color: #1a1a2e;
}

.btn-register-link,
.btn-login-link {
	color: #ffc107;
	text-decoration: none;
	font-weight: 600;
	transition: all 0.3s ease;
}

.btn-register-link:hover,
.btn-login-link:hover {
	color: #ffcd39;
	text-decoration: underline;
}

.auth-divider {
	margin: 1.5rem 0;
	text-align: center;
	position: relative;
}

.auth-divider::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	height: 1px;
	background: rgba(255, 193, 7, 0.3);
}

.auth-divider span {
	background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
	padding: 0 1rem;
	color: rgba(255, 255, 255, 0.7);
}

.auth-page .alert {
	background: rgba(220, 53, 69, 0.2);
	border: 1px solid rgba(220, 53, 69, 0.5);
	color: #ff6b7a;
	border-radius: 10px;
	padding: 0.75rem 1rem;
	margin-bottom: 1rem;
}

.auth-page .alert-success {
	background: rgba(25, 135, 84, 0.2);
	border: 1px solid rgba(25, 135, 84, 0.5);
	color: #75d486;
}

.back-link {
	position: absolute;
	top: 2rem;
	left: 2rem;
	color: #ffc107;
	text-decoration: none;
	font-weight: 600;
	transition: all 0.3s ease;
}

.back-link:hover {
	color: #ffcd39;
	transform: translateX(-5px);
}

.password-strength {
	margin-top: 0.5rem;
	font-size: 0.85rem;
}

.strength-weak {
	color: #dc3545;
}

.strength-medium {
	color: #ffc107;
}

.strength-strong {
	color: #28a745;
}

.auth-page .form-check-input:checked {
	background-color: #ffc107;
	border-color: #ffc107;
}

.terms-text {
	font-size: 0.9rem;
	color: rgba(255, 255, 255, 0.8);
	line-height: 1.4;
}

.terms-text a {
	color: #ffc107;
	text-decoration: none;
}

.terms-text a:hover {
	text-decoration: underline;
}

.cursor {
	cursor: pointer;
}

td.autofit,
th.autofit {
	white-space: nowrap;
	width: 1%;
}

/* Profile Page Styles - Dark Theme to Match App */
.profile-card {
	background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%) !important;
	border: 2px solid #ffc107 !important;
	border-radius: 16px !important;
	box-shadow: 0 15px 35px rgba(0, 0, 0, 0.4) !important;
	color: white !important;
}

.profile-card-body {
	padding: 2.5rem !important;
}

.profile-title {
	color: #ffc107 !important;
	font-weight: 600 !important;
	font-size: 1.75rem !important;
	margin-bottom: 2rem !important;
}

.profile-title i {
	font-size: 2rem !important;
	opacity: 0.9 !important;
}

.profile-form .form-label {
	color: #ffc107 !important;
	font-weight: 500 !important;
	margin-bottom: 0.5rem !important;
}

.profile-form .form-control {
	background-color: rgba(255, 255, 255, 0.1) !important;
	border: 1px solid rgba(255, 193, 7, 0.3) !important;
	border-radius: 8px !important;
	color: white !important;
	padding: 0.75rem 1rem !important;
	transition: all 0.3s ease !important;
}

.profile-form .form-control:focus {
	background-color: rgba(255, 255, 255, 0.15) !important;
	border-color: #ffc107 !important;
	box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.25) !important;
	color: white !important;
}

.profile-form .form-control::placeholder {
	color: rgba(255, 255, 255, 0.6) !important;
}

.profile-form .form-select {
	background-color: rgba(255, 255, 255, 0.1) !important;
	border: 1px solid rgba(255, 193, 7, 0.3) !important;
	border-radius: 8px !important;
	color: white !important;
	padding: 0.75rem 1rem !important;
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23ffc107' d='m2 0-2 2h4zm0 5 2-2h-4z'/%3E%3C/svg%3E") !important;
}

.profile-form .form-select:focus {
	background-color: rgba(255, 255, 255, 0.15) !important;
	border-color: #ffc107 !important;
	box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.25) !important;
	color: white !important;
}

.profile-form .form-select option {
	background-color: #1a1a2e !important;
	color: white !important;
}

.profile-card-footer {
	background: rgba(255, 193, 7, 0.1) !important;
	border-top: 2px solid rgba(255, 193, 7, 0.3) !important;
	padding: 1.5rem 2.5rem !important;
	border-radius: 0 0 14px 14px !important;
}

/* Fix for card layout when not using align-items-center */
.profile-card {
	display: flex !important;
	flex-direction: column !important;
	min-height: auto !important;
}

.profile-card .card-body {
	flex: 1 !important;
}

.profile-submit-btn {
	background: linear-gradient(135deg, #ffc107 0%, #ffcd39 100%) !important;
	border: none !important;
	color: #1a1a2e !important;
	font-weight: 600 !important;
	padding: 0.875rem 2rem !important;
	border-radius: 10px !important;
	font-size: 1.1rem !important;
	box-shadow: 0 4px 15px rgba(255, 193, 7, 0.3) !important;
	transition: all 0.3s ease !important;
	width: 100% !important;
}

.profile-submit-btn:hover {
	transform: translateY(-2px) !important;
	box-shadow: 0 6px 20px rgba(255, 193, 7, 0.4) !important;
	color: #1a1a2e !important;
	background: linear-gradient(135deg, #ffcd39 0%, #ffd60a 100%) !important;
}

.profile-submit-btn:active {
	transform: translateY(0) !important;
}

.profile-submit-btn i {
	font-size: 1rem !important;
}

/* Select2 styling for profile page */
.profile-form .select2-container .select2-selection--single,
.profile-form .select2-container .select2-selection--multiple {
	background-color: rgba(255, 255, 255, 0.1) !important;
	border: 1px solid rgba(255, 193, 7, 0.3) !important;
	border-radius: 8px !important;
	min-height: 48px !important;
}

.profile-form .select2-container--bootstrap-5 .select2-selection {
	background-color: rgba(255, 255, 255, 0.1) !important;
	border: 1px solid rgba(255, 193, 7, 0.3) !important;
	border-radius: 8px !important;
}

.profile-form .select2-container--bootstrap-5 .select2-selection--multiple {
	min-height: 48px !important;
	padding: 0.375rem 0.75rem !important;
}

.profile-form .select2-container--bootstrap-5 .select2-selection--multiple .select2-selection__rendered {
	padding: 0 !important;
}

.profile-form .select2-container--bootstrap-5 .select2-selection--multiple .select2-selection__choice {
	background-color: #ffc107 !important;
	border: 1px solid rgba(255, 193, 7, 0.5) !important;
	border-radius: 6px !important;
	color: #1a1a2e !important;
	font-weight: 500 !important;
	margin: 2px !important;
	padding: 2px 8px !important;
}

.profile-form .select2-container--bootstrap-5 .select2-selection--multiple .select2-selection__choice__remove {
	color: #1a1a2e !important;
	font-weight: bold !important;
}

.profile-form .select2-container--bootstrap-5 .select2-selection--multiple .select2-selection__choice__remove:hover {
	color: #dc3545 !important;
}

.profile-form .select2-container--bootstrap-5.select2-container--focus .select2-selection,
.profile-form .select2-container--bootstrap-5.select2-container--open .select2-selection {
	background-color: rgba(255, 255, 255, 0.15) !important;
	border-color: #ffc107 !important;
	box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.25) !important;
}

/* Responsive adjustments for profile page */
@media (max-width: 768px) {
	.profile-card-body {
		padding: 1.5rem !important;
	}

	.profile-title {
		font-size: 1.5rem !important;
		margin-bottom: 1.5rem !important;
	}

	.profile-card-footer {
		padding: 1rem 1.5rem !important;
	}
}

/* Error Page Styles */
.min-vh-50 {
	min-height: 50vh;
}

.error-icon {
	animation: pulse 2s infinite;
}

@keyframes pulse {
	0% {
		transform: scale(1);
	}

	50% {
		transform: scale(1.05);
	}

	100% {
		transform: scale(1);
	}
}

.error-page pre {
	white-space: pre-wrap;
	word-wrap: break-word;
}

/* Reporting Page Styles */
.report-template-card {
	border: 2px solid #e9ecef;
	border-radius: 10px;
	transition: all 0.3s ease;
	cursor: pointer;
}

.report-template-card:hover {
	border-color: #007bff;
	transform: translateY(-2px);
	box-shadow: 0 4px 15px rgba(0, 123, 255, 0.1);
}

.template-icon {
	font-size: 2rem;
}

.report-template-card .card-body {
	padding: 1.5rem 1rem;
}

.report-template-card .card-title {
	font-size: 1rem;
	font-weight: 600;
	color: #495057;
}

.report-template-card .card-text {
	font-size: 0.85rem;
	margin-bottom: 1rem;
}

.stat-card {
	border: none;
	border-radius: 12px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.stat-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}

.stat-icon {
	font-size: 2rem;
	opacity: 0.8;
}

.stat-number {
	font-size: 2.5rem;
	font-weight: bold;
	color: #2c3e50;
}

.stat-label {
	font-size: 0.9rem;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.metric-item {
	padding: 0.75rem 0;
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.metric-item:last-child {
	border-bottom: none;
}

.card-header {
	background-color: #f8f9fa;
	border-bottom: 2px solid #e9ecef;
}

.card-header h4,
.card-header h5 {
	color: #495057;
	font-weight: 600;
}

#reportsTable {
	font-size: 0.9rem;
}

#reportsTable th {
	background-color: #f8f9fa;
	font-weight: 600;
	color: #495057;
	border-bottom: 2px solid #dee2e6;
	font-size: 0.85rem;
}

#reportsTable td {
	vertical-align: middle;
}

.input-group .form-control:first-child {
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}

.input-group .form-control:last-child {
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
	border-left: none;
}

/* Form styling improvements */
.form-check-input:checked {
	background-color: #007bff;
	border-color: #007bff;
}

.form-check-label {
	font-size: 0.9rem;
	color: #495057;
}

/* Report preview modal */
#reportPreviewModal .modal-dialog {
	max-width: 90vw;
}

#reportPreviewContent {
	max-height: 70vh;
	overflow-y: auto;
	padding: 1rem;
	background-color: #f8f9fa;
	border-radius: 8px;
}

/* Button group improvements */
.btn-group-sm .btn {
	padding: 0.25rem 0.5rem;
	font-size: 0.8rem;
}

/* Status badges */
.badge {
	font-size: 0.75rem;
	font-weight: 500;
}

/* Quick actions improvements */
.d-grid .btn {
	text-align: left;
	padding: 0.75rem 1rem;
}

.d-grid .btn i {
	width: 1.2rem;
	text-align: center;
}