.staff-summary-card .display-6 {
	font-size: 2.25rem;
}

.staff-table-wrapper {
	overflow-x: auto;
	padding-bottom: 2rem;
	margin-bottom: 1rem;
}

.staff-table {
	min-width: 720px;
}

.staff-table tbody > tr > td,
.staff-table tbody > tr > th {
	padding: 0.15rem 0.4rem !important;
}

.staff-table thead > tr > th {
	padding: 0.4rem 0.5rem !important;
}

.staff-table thead th {
	font-size: 0.875rem;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	border-bottom: 0;
}

.staff-table td,
.staff-table th {
	line-height: 1.25;
}

.staff-table .staff-col-handle {
	width: 44px;
}

.staff-table .staff-col-role {
	width: 160px;
}

.staff-table .staff-col-phone {
	width: 160px;
}

.staff-table .staff-col-email {
	width: 220px;
}

.staff-table .staff-col-spend {
	width: 140px;
}

.staff-table .staff-col-status {
	width: 60px;
}

.staff-table .staff-col-actions {
	width: 78px;
}

.staff-team-header {
	background-color: #76cbec;
}

.staff-toolbar {
	width: 100%;
}

.staff-toolbar .staff-search-group {
	max-width: 320px;
	flex: 0 0 auto;
}

.staff-status-filter {
	min-width: 160px;
	display: flex;
	align-items: center;
	flex: 0 0 auto;
}

.staff-status-filter select {
	min-width: 160px;
}

.staff-actions-group {
	flex: 0 0 auto;
}

.staff-counts {
	flex: 0 0 auto;
}

.staff-team-header td,
.staff-team-header th {
	background-color: inherit;
	border: 0 !important;
	padding: 0.45rem 0.75rem !important;
}

.staff-team-header .staff-team-name {
	font-size: 1rem;
	font-weight: 600;
	color: #053373;
}

.staff-team-header-title {
	flex-wrap: wrap;
	gap: 0.35rem;
	width: 100%;
}

.staff-team-header-main {
	gap: 0.35rem;
}

.staff-team-header-spend {
	display: flex;
	align-items: baseline;
	gap: 0.35rem;
	font-size: 0.8125rem;
	color: #033348;
}

.staff-team-header-spend .staff-team-spend-value {
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}

.staff-team-description {
	color: #033348;
	font-size: 0.75rem;
	word-break: break-word;
}

.staff-team-header-separator {
	color: rgba(3, 51, 72, 0.7);
	font-size: 0.875rem;
}

.staff-team-name-button {
	background: transparent;
	border: 0;
	padding: 0;
	font: inherit;
	color: inherit;
	cursor: pointer;
	text-align: left;
}

.staff-team-header-handle {
	width: 36px;
	text-align: center;
}

.staff-team-header-name {
	padding-right: 0;
}

.staff-team-header-actions {
	padding-left: 0;
}

.staff-team-header td,
.staff-team-header th {
	vertical-align: middle;
}

.staff-team-header-handle .badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 32px;
	min-height: 18px;
	padding: 0.05rem 0.28rem;
	font-size: 0.65rem;
	line-height: 1;
	border-radius: 0.35rem;
	background-color: #76cbec;
	color: #053373;
}

.staff-team-header-status {
	min-width: 60px;
	width: 60px;
}

.staff-actions-button {
	padding: 0.12rem 0.5rem !important;
	font-size: 0.75rem;
	line-height: 1.1;
	border-radius: 0.35rem;
}

.staff-actions-button::after {
	margin-left: 0.3rem;
}

.staff-team-name-button:hover,
.staff-team-name-button:focus-visible {
	text-decoration: underline;
}

.staff-team-name-input {
	min-width: 160px;
	max-width: 240px;
	font-size: 0.8125rem;
	padding: 0.25rem 0.5rem;
}

.staff-team-header .badge {
	font-size: 0.75rem;
}

.staff-team-status-badge {
	font-size: 0.7rem;
	padding: 0.2rem 0.45rem;
}

.staff-row .staff-drag-handle {
	display: inline-flex;
	align-items: center;
	padding: 0.15rem 0.35rem;
	width: 18px;
	height: 18px;
	border-radius: 0.5rem;
	cursor: grab;
	color: #6c757d;
	transition: background-color 0.2s ease;
}

.staff-row .fw-semibold {
	font-size: 0.8rem;
	line-height: 1.05;
}

.staff-row .staff-drag-handle:hover {
	background: rgba(0, 0, 0, 0.05);
}

.staff-row {
	transition: background-color 0.2s ease;
}

.staff-row:nth-of-type(even) {
	background: rgba(0, 0, 0, 0.01);
}

.staff-row.is-group-header {
	background: transparent !important;
}

.staff-row.is-group-header .staff-drag-handle {
	visibility: hidden;
}

.staff-row:hover {
	background: rgba(0, 82, 204, 0.08);
}

.staff-row--dragging {
	opacity: 0.75;
}

.staff-row--ghost {
	background: rgba(0, 82, 204, 0.08) !important;
}

.staff-empty-row td {
	padding: 1.5rem 1rem;
	font-size: 0.875rem;
	text-align: center;
	color: #6c757d;
	background: rgba(0, 0, 0, 0.015);
}

.staff-name-link {
	color: #0d6efd;
	text-decoration: underline;
}

.staff-name-link:hover,
.staff-name-link:focus-visible {
	color: #0a58ca;
	text-decoration: underline;
}

.staff-spend-value {
	font-variant-numeric: tabular-nums;
}

@media (max-width: 991px) {
	.staff-table {
		min-width: 620px;
	}

	.staff-summary-card .display-6 {
		font-size: 2rem;
	}
}
