body {
	font-family: var(--font-family);
	min-width: 300px;
	max-width: 1600px;
	margin: 1em auto;
	padding: 0 1em;
}

body {
	height: calc(100vh - 2em);
	display: flex;
	flex-direction: column;
}

body>footer {
	font-size: .75em;
	margin-top: auto;
	padding: 1em 0;
	text-align: center;
	opacity: .5;
}

body ul {
	padding: 0 0 0 1.25em;
}

body h3 {
	font-size: 1.25em;
}

body pre {
	white-space: pre-wrap;
}

body.errorpage pre {
	white-space: pre;
	overflow-x: auto;
}

body .ui-fieldset {
	padding: 0 1em;
}

body .ui-fieldset .ui-outputlabel {
	display: block;
	width: 100%;
	margin: 1em 0 .5em;
}

body .ui-fieldset .ui-outputlabel+* {
	display: block;
	width: 100%;
	margin: .5em 0;
}

body .ui-fieldset .ui-outputlabel+*>.ui-inputfield {
	width: 100%;
}

body .ui-fieldset .ui-outputlabel+.ui-autocomplete-dd>.ui-inputfield {
	width: calc(100% - 2.357em);
}

body .ui-fieldset .ui-outputlabel+*+.ui-message {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
}

body .ui-fieldset .ui-outputlabel+*+.ui-message>div {
	padding: .5em;
}

body .ui-fieldset .ui-inputtextarea {
	min-height: 2em;
}

body .ui-fieldset-content>.ui-panelgrid .ui-panelgrid-cell {
	padding: 0;
}

body .ui-fieldset-content>.ui-panelgrid .ui-panelgrid-cell+.ui-panelgrid-cell
	{
	padding-left: 1em;
}

body .ui-fieldset footer {
	display: flex;
	column-gap: .5em;
	justify-content: flex-end;
	margin: 1em 0;
}

body .ui-dialog {
	max-width: 800px;
}

body .ui-dialog-content {
	min-width: 500px;
}

body .ui-panel .ui-panel-content {
	padding-top: 0;
	padding-bottom: 0;
}

body .ui-datatable {
	margin: 1em 0;
}

body .ui-datatable thead th {
	white-space: nowrap;
}

body .ui-datatable thead th, body .ui-datatable .ui-datatable-data>tr>td,
	body .ui-datatable tfoot td {
	padding: .5rem;
}

body .ui-datatable .ui-datatable-data>tr>th {
	border-bottom: 1px solid rgba(0, 0, 0, .08);
}

body .ui-datatable .ui-datatable-data>tr .ui-row-toggler, body .ui-datatable .ui-datatable-data>tr .icon-drag-handle-vertical
	{
	color: var(--blue-500);
}

body .ui-datatable .ui-datatable-data>tr.ui-expanded-row-content>td {
	padding: 0 0 1rem;
}

body .ui-datatable.ui-headless>.ui-datatable-tablewrapper>table>thead>tr>th
	{
	height: 0;
	padding: 0;
}

body .ui-datatable.ui-headless tfoot td {
	background: none;
}

body .ui-datatable.ui-sortable-helper .ui-datatable-data>tr>td {
	border-top-width: 1px;
}

body .ui-datatable .ui-datatable-data>tr .icon-drag-handle-vertical {
	width: 1rem;
	height: 1rem;
	margin: .266666rem;
}

body .ui-datatable td ul {
	margin: 0;
}

body .ui-datatable td pre {
	font-size: .875em;
	padding: 0 .5rem;
}

body .ui-datatable td.nowrap {
	white-space: nowrap;
}

body .ui-datatable td.actions {
	text-align: right;
}

body .ui-datatable td.actions .ui-button {
	display: block;
	font-size: .875em;
	width: 100%;
	margin: .5em 0;
}

body .ui-datatable td.actions .ui-commandlink+.ui-commandlink {
	margin-left: .5em;
}

body .ui-datatable td.actions>div {
	display: flex;
	gap: .5em;
	margin: .5em 0;
}

body .ui-datatable td.actions>div .ui-button {
	margin: 0;
}

body .ui-datatable .ui-datatable-data>tr.ui-datatable-grouped-row>td.ui-grouped-column
	{
	font-weight: bold;
	border-right-width: 1px;
}

body .ui-datatable .ui-datatable-header .ui-outputlabel {
	margin-right: .5em;
}

body .ui-datatable .ui-filter-column.ui-filter-hidden .ui-column-filter
	{
	display: none;
}

body .ui-panelgrid-cell.bottom {
	align-content: end;
}

body .ui-autocomplete-item[data-item-class='ui-helper-hidden'] {
	display: none;
}

body .ui-menu .ui-menu-list {
	display: flex;
	flex-wrap: wrap;
}

body .ui-menu .ui-menu-list .ui-menuitem {
	white-space: nowrap;
}

body .ui-menu .ui-menu-list .ui-menuitem.right {
	margin-left: auto;
}

body .ui-helper-strong {
	font-weight: 700;
}

body .ui-card {
	box-shadow: 0 .25em 1em var(--surface-500);
	border-radius: 1.5em;
	max-width: 500px;
	margin-bottom: 2em;
}

body .ui-card .ui-card-title {
	font-size: 1em;
	display: flex;
	align-items: center;
	justify-content: space-around;
	gap: 1em;
	margin: 0;
	text-align: center;
}

body .ui-card .ui-card-title h2, body .ui-card .ui-card-title h3 {
	flex: 1;
	margin: 0;
}

body .ui-card .ui-card-body {
	padding: 1em;
}

body .ui-card .ui-card-content {
	padding: 0;
}

body .ui-card .ui-card-content .pi-refresh {
	color: var(--gray-500);
}

body .ui-card .ui-card-content .pi-check {
	color: var(--green-500);
}

body .ui-card .ui-card-content .ui-fieldset {
	border: 0;
	padding: 0;
}

body .ui-card .ui-card-content .ui-fieldset .ui-outputlabel {
	font-weight: bold;
}

body .ui-card .ui-card-content .ui-fieldset .ui-fieldset-content {
	margin-top: -1em;
}

body .centered {
	text-align: center;
}

body .ui-link, body .ui-outputlabel-label {
	white-space: nowrap;
}

body .ui-icon {
	font-size: 1em;
}

body .ui-menu.ui-menubar, body .ui-inputfield, body .ui-autocomplete .ui-autocomplete-input.ui-autocomplete-dd-input,
	body .ui-button.ui-button-text-only .ui-button-text, body .ui-button.ui-button-icon-only .ui-button-text,
	body .ui-message, body .ui-datatable .ui-datatable-header, body select
	{
	padding: .5em;
}

body .ui-inputfield {
	min-height: calc(2em + 2px);
}

body .ui-button.ui-button-icon-only .ui-icon, body .ui-chkbox .ui-chkbox-box .ui-chkbox-icon
	{
	margin-top: -.5em;
	margin-left: -.5em;
}

body .ui-calendar .ui-button.ui-button-icon-only, body .ui-autocomplete .ui-autocomplete-dropdown
	{
	width: 2.357em;
}

body .ui-dialog .ui-dialog-titlebar .ui-dialog-title {
	font-size: 1.25em;
}

body .ui-dialog .ui-dialog-titlebar {
	display: flex;
	align-items: center;
	height: 5em;
	padding: 1.5em;
}

body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon {
	margin-left: auto;
}

body .ui-dialog .ui-dialog-content {
	padding: 0 1.5em 1.5em;
}

body .ui-datepicker {
	min-width: 300px;
}

body .ui-datepicker .ui-datepicker-calendar-container {
	height: 20em;
}

body .ui-datepicker .ui-datepicker-calendar td>a, body .ui-datepicker .ui-datepicker-calendar td>span,
	body .ui-datepicker .ui-picker-up {
	width: 2em;
	height: 2em;
	line-height: 2em;
}

body .ui-chkbox .ui-chkbox-box {
	width: 1.5em;
	min-width: 1.5em;
	height: 1.5em;
	margin: calc(.25em + 1px) 0;
}

body .ui-autocomplete .ui-autocomplete-multiple-container {
	padding: .25em .5em;
}

body .ui-autocomplete .ui-autocomplete-multiple-container .ui-autocomplete-input-token
	{
	padding: .25em 0;
}

body .ui-autocomplete .ui-autocomplete-multiple-container .ui-autocomplete-input-token input
	{
	font-size: 1em;
}

body .ui-autocomplete .ui-autocomplete-multiple-container .ui-autocomplete-token .ui-autocomplete-token-icon
	{
	margin-top: .5em;
}

body .ui-outputlabel-rfi {
	color: var(--red-500);
}

body .ui-dialog.ui-confirm-dialog .ui-dialog-content>span {
	margin: 0;
}

body .ui-dialog.ui-confirm-dialog .ui-dialog-content>span.ui-icon {
	display: none !important; /* because of generated inline style */
}

body .ui-helper-hidden {
	display: none;
}

body .ui-sortable-handle {
	cursor: move;
}

body #sessionBlockExecutionDialog fieldset p {
	text-align: center;
}

body #sessionBlockExecutionDialog fieldset table {
	width: 100%;
	border-collapse: collapse;
}

body #sessionBlockExecutionDialog fieldset table tr.current {
	background: var(--blue-100);
}

body #sessionBlockExecutionDialog fieldset table tr.current th {
	border-radius: .5em 0 0 .5em;
}

body #sessionBlockExecutionDialog fieldset table tr.current td:last-child
	{
	border-radius: 0 .5em .5em 0;
}

body #sessionBlockExecutionDialog fieldset table th {
	white-space: nowrap;
}

body #sessionBlockExecutionDialog fieldset table th, body #sessionBlockExecutionDialog fieldset table td
	{
	padding: .5em;
	text-align: center;
}

body #sessionBlockExecutionDialog fieldset table td input {
	width: 100%;
}

body table.sets th.set {
	width: 2.5em;
	padding-left: 1em;
	text-align: left;
}

body .float-right {
	float: right;
}

body .ui-datatable .ui-reflow-show {
	display: none;
}

body .ui-datatable .ui-reflow-label {
	font-weight: bold;
	color: var(--text-color);
}

body .ui-spinner.sets {
	width: 5.25rem;
	margin: 0 .25em;
}

body .ui-commandlink.ui-link-danger {
	color: #d32f2f;
}

body .ui-commandlink:has(.pi):hover {
	text-decoration: none;
	opacity: .6;
}

body .ui-card.sticky-buttons {
	position: sticky;
	bottom: -1.5em;
	z-index: 1;
}

body .ui-card.sticky-buttons .ui-card-content {
	display: flex;
	gap: 1em;
	margin-bottom: 1.5em;
}

body .ui-card.sticky-buttons .ui-card-content .ui-button {
	width: 100%;
}

body .ui-selectmanycheckbox .ui-chkbox .ui-chkbox-box {
	margin: 0;
}

body .ui-selectmanycheckbox.ui-grid-responsive>div>div {
	align-items: center;
}

body .ui-state-valid {
	color: var(--green-600);
}

body .ui-state-invalid {
	color: var(--pink-600);
}

/*GROK*/
/* Parts table - large screens */
body .ui-datatable#table .ui-datatable-data td {
	padding: 1rem 0.75rem; /* more vertical breathing room */
}

body .ui-datatable#table .ui-datatable-data td.actions {
	white-space: nowrap;
	min-width: 220px; /* prevents buttons from squeezing */
}

body .ui-datatable#table .ui-datatable-data td.actions .ui-button {
	margin: 0.25em 0.5em;
	min-width: 80px; /* better touch/click area */
}

/* Prevent truncation on wide columns */
body .ui-datatable#table .ui-datatable-data td {
	max-width: 400px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* Allow wrapping on description/notes */
body .ui-datatable#table .ui-datatable-data td.description, body .ui-datatable#table .ui-datatable-data td.notes
	{
	white-space: normal;
	max-width: 500px;
}

body .ui-fieldset .ui-outputlabel {
	display: block;
	width: 100%;
	margin: 1em 0 .5em;
}

body .ui-fieldset .ui-outputlabel+* {
	display: block;
	width: 100%;
	margin: .5em 0;
}

body .ui-fieldset .ui-fieldset-content>.ui-panelgrid .ui-panelgrid-cell
	{
	padding: 0;
}

body .ui-fieldset .ui-fieldset-content>.ui-panelgrid .ui-panelgrid-cell+.ui-panelgrid-cell
	{
	padding-left: 1em;
}

/* Add to your layout.css or inline */
.ui-badge-warning {
	background: #ffc107;
	color: #212529;
	padding: 0.25em 0.6em;
	border-radius: 0.25rem;
	font-weight: 500;
	display: inline-block;
}