.page-action-toolbar {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	align-items: stretch;
}

@media (max-width: 1020px) {
	.header.has-admin-back #adminBackBtn.admin-back-btn .admin-back-btn__text {
		display: none;
	}

	.header.has-admin-back #adminBackBtn.admin-back-btn {
		box-sizing: border-box;
		width: 40px;
		height: 40px;
		min-width: 40px;
		min-height: 40px;
		margin-right: 0.25rem;
		padding: 0;
		border: none !important;
		border-bottom: none !important;
		border-radius: 50%;
		justify-content: center;
		align-self: center;
		overflow: visible;
		background: var(--tenant-primary, #582156) !important;
		color: #ffffff !important;
		box-shadow: 0 2px 8px rgba(88, 33, 86, 0.28);
		transition: background-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
	}

	.header.has-admin-back #adminBackBtn.admin-back-btn:hover,
	.header.has-admin-back #adminBackBtn.admin-back-btn:focus-visible {
		opacity: 1;
		background: var(--tenant-secondary, #71306f) !important;
		box-shadow: 0 3px 10px rgba(88, 33, 86, 0.34);
		transform: translateY(-1px);
	}

	.header.has-admin-back #adminBackBtn.admin-back-btn .admin-back-btn__icon {
		font-size: 1.2rem;
		color: #ffffff !important;
	}

	[data-theme='dark'] .header.has-admin-back #adminBackBtn.admin-back-btn {
		background: color-mix(in srgb, var(--tenant-primary, #582156) 72%, #1f1f1f) !important;
		color: #ffffff !important;
		box-shadow: 0 0 0 1.5px rgba(255, 255, 255, 0.22), 0 2px 8px rgba(0, 0, 0, 0.35);
	}

	[data-theme='dark'] .header.has-admin-back #adminBackBtn.admin-back-btn:hover,
	[data-theme='dark'] .header.has-admin-back #adminBackBtn.admin-back-btn:focus-visible {
		background: color-mix(in srgb, var(--tenant-primary, #582156) 82%, #1f1f1f) !important;
		box-shadow: 0 0 0 1.5px rgba(255, 255, 255, 0.34), 0 3px 10px rgba(0, 0, 0, 0.4);
	}
}

@media (max-width: 785px) {
	.header .logo-title {
		position: static !important;
		left: auto !important;
		transform: none !important;
		width: auto !important;
		max-width: min(130px, 34vw) !important;
		justify-content: flex-start !important;
		pointer-events: auto;
		margin: 0 0.15rem 0 30px !important;
	}
}

@media (max-width: 768px) {
	.main-content {
		padding: 80px 20px 40px 85px !important;
	}
	.hamburger-btn {
		display: block !important;
		min-width: 32px;
		position: relative;
		z-index: 103;
	}
	.header {
		padding: 6px 10px !important;
		gap: 0.35rem;
	}

	.logo-title {
		width: auto !important;
		max-width: min(130px, 34vw) !important;
	}

	.logo-img {
		width: 100% !important;
		max-width: 130px;
		height: auto;
	}
	.sidebar-collapsed .main-content {
		padding-left: 85px !important;
	}
	.main-content {
		padding-left: 85px !important;
	}
	div.dataTables_filter {
		display: none !important;
	}
	.sidebar {
		width: 70px;
	}
	.sidebar .menu-text {
		display: none;
	}

	/* Expanded mobile menu (hamburger) */
	html.sidebar-mobile-open .sidebar,
	html.sidebar-mobile-open.sidebar-collapsed .sidebar {
		width: min(250px, 86vw) !important;
		z-index: 10020;
		box-shadow: 6px 0 28px rgba(0, 0, 0, 0.28);
	}

	html.sidebar-mobile-open .sidebar .menu-text,
	html.sidebar-mobile-open.sidebar-collapsed .sidebar .menu-text {
		display: inline !important;
	}

	.sidebar-mobile-backdrop {
		display: none;
		position: fixed;
		inset: 0;
		z-index: 10010;
		background: rgba(16, 10, 20, 0.42);
		border: 0;
		padding: 0;
		margin: 0;
		cursor: pointer;
	}

	.sidebar-mobile-backdrop.is-visible {
		display: block;
	}

	html.sidebar-mobile-open .hamburger-btn {
		z-index: 10030;
	}

	html.sidebar-mobile-open .header {
		z-index: 10025;
	}
	.headArea p {
		display: none;
	}
	div.dt-buttons {
		float: left !important;
		text-align: center;
	}
	.dataTables_wrapper .dataTables_length,
	.dataTables_wrapper .dataTables_filter {
		float: left;
		text-align: center;
		padding-bottom: 5px;
		margin-right: 5px;
	}
	.dataTables_wrapper .dataTables_paginate {
		margin-top: 16px !important;
	}
	.dataTables_wrapper .dataTables_paginate .paginate_button {
		padding: 3px 5px;
	}
	.headArea.mb-5 {
		margin-bottom: 30px !important;
	}
	.header-right {
		margin-right: 5px;
		gap: 0.35rem !important;
		position: relative;
		z-index: 103;
		flex-shrink: 0;
	}

	.unread-container {
		margin-right: 12px !important;
		margin-top: 0 !important;
	}

	.tablearea.p-4 {
		padding: 0 !important;
	}
	.contractnav.m-3 {
		margin: 20px 0 !important;
	}

	.page-action-toolbar,
	.contracts-request-toolbar {
		display: flex;
		flex-direction: column;
		gap: 0.5rem;
	}

	.page-action-toolbar .btn,
	.contracts-request-toolbar .btn {
		width: 100%;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.contracts-page-panel {
		overflow-x: clip;
		max-width: 100%;
		min-width: 0;
		padding-left: 0.65rem;
		padding-right: 0.65rem;
	}

	.contracts-page-panel .tab-content,
	.contracts-page-panel .tablearea {
		max-width: 100%;
		min-width: 0;
		overflow-x: clip;
	}

	.contracts-page-panel .dataTables_wrapper {
		overflow-x: clip;
		max-width: 100%;
		min-width: 0;
	}

	.fileLink {
		display: inline-block;
		width: 80%;
	}
	.book-hours-page #bookHourForm {
		margin-top: 2rem !important;
	}

	.book-hours-page.contractor-book-hours #bookHourForm {
		margin-top: 2.5rem !important;
	}

	button#clearSignature {
		margin-top: 10px;
	}

	.approveHourBtnArea {
		float: left !important;
	}
	.list-item-meta span:first-child {
		display: none;
	}
	.dt-button.buttons-excel.buttons-html5.btn.btn-primary.custom-export-btn {
		margin-bottom: 5px !important;
	}
	a.btn-website.btn-back {
		display: inline-block !important;
	}
}

@media (max-width: 600px) {
	.account-btn .user-name {
		display: none;
	}

	.account-btn {
		max-width: unset;
	}
}
@media (max-width: 400px) {
	.addnewzzpbtn {
		width: 150px;
	}
}

@media (max-height: 740px) {
	.submenu.open {
		min-height: 110px;
	}
}
