:root {
	--srm-purple: #511731;
	--srm-purple-rgb: 81, 23, 49;
	--srm-raspberry: #b32440;
	--srm-raspberry-rgb: 179, 36, 65;
	--srm-salmon: #df4f4e;
	--srm-salmon-rgb: 223, 78, 78;
	--srm-blue: #005d7d;
	--srm-blue-rgb: 0, 94, 125;
	--srm-darkblue: #00374a;
	--srm-darkblue-rgb: 0, 55, 74;
	--srm-lightblue: #9ab6b9;
	--srm-lightblue-rgb: 154, 182, 185;
	--srm-lucyblue: #0071af;
	--srm-lucyblue-rgb: 0, 113, 175;
}


@font-face {
	font-family: 'srm-normal';
	src: url('meta/MetaOT-Norm.eot?#iefix') format('embedded-opentype'),
		url('meta/MetaOT-Norm.otf') format('opentype'),
		url('meta/MetaOT-Norm.woff') format('woff'),
		url('meta/MetaOT-Norm.ttf') format('truetype'),
		url('meta/MetaOT-Norm.svg#MetaOT-Norm') format('svg');
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: 'srm-bold';
	src: url('meta/MetaOT-Book.eot?#iefix') format('embedded-opentype'),
		url('meta/MetaOT-Book.otf') format('opentype'),
		url('meta/MetaOT-Book.woff') format('woff'),
		url('meta/MetaOT-Book.ttf') format('truetype'),
		url('meta/MetaOT-Book.svg#MetaOT-Book') format('svg');
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: 'srm-light';
	src: url('meta/MetaOT-Light.eot?#iefix') format('embedded-opentype'),
		url('meta/MetaOT-Light.otf') format('opentype'),
		url('meta/MetaOT-Light.woff') format('woff'),
		url('meta/MetaOT-Light.ttf') format('truetype'),
		url('meta/MetaOT-Light.svg#MetaOT-Light') format('svg');
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: 'srm-extrabold';
	src: url('meta/MetaOT-MediumBold.eot?#iefix') format('embedded-opentype'),
		url('meta/MetaOT-MediumBold.otf') format('opentype'),
		url('meta/MetaOT-MediumBold.woff') format('woff'),
		url('meta/MetaOT-MediumBold.ttf') format('truetype'),
		url('meta/MetaOT-MediumBold.svg#MetaOT-MediumBold') format('svg');
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: 'srm-script';
	src: url('camy/camy-black-narrow.otf') format('opentype'),
		url('camy/camy-black-narrow.woff') format('woff');
	font-weight: normal;
	font-style: normal;
}


/* Basic Styles */

* {
	font-weight: normal;
	font-style: normal;
}


body {
	font-family: srm-normal;
	background: var(--cui-bg-color);
	min-height: 100vh;
}


h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: srm-bold;
}


label {
	font-family: srm-normal;
	color: var(--srm-lucyblue);
	font-size: 80%;
	letter-spacing: .02em;
}

a {
	color: var(--srm-lightblue);
	text-decoration: none;
}

a:hover {
	color: var(--srm-salmon);
	text-decoration: none;
}


.required-indicator {
	color: var(--srm-salmon);
}

.ewok-validation-feedback {
	flex: 0 0 100%;
	width: 100%;
}

.form-multi-select.is-invalid,
.date-range-picker.is-invalid,
.date-picker.is-invalid {
	border-color: var(--cui-form-invalid-border-color);
	border-radius: var(--cui-border-radius);
}

.form-multi-select.is-valid,
.date-range-picker.is-valid,
.date-picker.is-valid {
	border-color: var(--cui-form-valid-border-color);
	border-radius: var(--cui-border-radius);
}


.form-control::placeholder{
	color: var(--srm-salmon) !important;
	font-family: srm-light;
	font-size: 80%;
}

th,
strong {
	font-family: srm-bold;
	font-style: normal;
}

a.page-link {
	color: var(--srm-blue);
}


.page-item.active a.page-link,
a.dropdown-item:hover,
.btn-custom,
.btn.btn-custom.dropdown-toggle,
.list-group-item-secondary.list-group-item-action.active {
	color: var(--cui-body-color);
	background-color: var(--srm-blue);
	border-color: var(--srm-blue);
}


/* General rules for screen UI */

.bg-tertiary {
	background: var(--cui-tertiary-bg);
}

.ewok-app-header {
	padding-top: .65rem;
}

.ewok-app-header .row {
	min-height: 3.4rem;
}

.ewok-app-header hr {
	margin: .65rem 0 0;
	border-color: rgba(var(--srm-lightblue-rgb), .3);
	opacity: 1;
}

.ewok-brand {
	display: flex;
	align-items: center;
	gap: .65rem;
	min-width: 0;
	white-space: nowrap;
}

.ewok-brand-link {
	display: inline-flex;
	flex: 0 0 auto;
	border-radius: .65rem;
	box-shadow: 0 .2rem .7rem rgba(var(--srm-darkblue-rgb), .22);
	overflow: hidden;
	transition: transform .18s ease, box-shadow .18s ease;
}

.ewok-brand-link:hover {
	transform: translateY(-1px);
	box-shadow: 0 .3rem .9rem rgba(var(--srm-darkblue-rgb), .3);
}

#page_title {
	overflow: hidden;
	color: var(--cui-body-color);
	font-family: srm-script;
	font-size: clamp(1.35rem, 2vw, 1.75rem);
	line-height: 1;
	text-overflow: ellipsis;
}

.ewok-primary-nav {
	background-color: var(--srm-darkblue);
	color: var(--cui-body-color);
	border: 1px solid rgba(var(--srm-lightblue-rgb), .2);
	border-radius: .65rem;
	box-shadow: 0 .2rem .65rem rgba(var(--srm-darkblue-rgb), .2);
	padding: .22rem;
}

.ewok-primary-nav .nav-link {
	color: var(--cui-gray-200);
	border-radius: .48rem;
	padding: .48rem .7rem;
	transition: color .18s ease, background-color .18s ease, transform .18s ease;
}

.ewok-primary-nav .nav-link:hover {
	color: var(--cui-white);
	background-color: rgba(var(--srm-lightblue-rgb), .14);
	transform: translateY(-1px);
}

.ewok-primary-nav.nav-pills .nav-link.active {
	background-color: var(--srm-blue);
	color: var(--cui-white);
	box-shadow: 0 .15rem .4rem rgba(0, 0, 0, .2);
}

main.container-fluid {
	max-width: 1800px;
	margin-right: auto;
	margin-left: auto;
	padding-right: clamp(.75rem, 1.5vw, 1.5rem);
	padding-left: clamp(.75rem, 1.5vw, 1.5rem);
}

.card {
	border-color: rgba(var(--srm-lightblue-rgb), .22);
	border-radius: .72rem;
	box-shadow: 0 .2rem .75rem rgba(var(--srm-darkblue-rgb), .09);
}

.card-header {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: .65rem;
	background: linear-gradient(110deg, var(--srm-darkblue), var(--srm-blue));
	border-bottom-color: rgba(var(--srm-lightblue-rgb), .25);
	border-radius: .68rem .68rem 0 0 !important;
	padding: .7rem 1rem;
}

.card-header .card-title {
	color: var(--cui-white);
	font-family: srm-script;
	font-size: 1.35rem;
	margin: 0;
}

.card-header > div,
.modal-header > div {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: .4rem;
}

.card-body {
	padding: 1rem;
}

.card-footer {
	background-color: rgba(var(--srm-darkblue-rgb), .04);
	border-top-color: rgba(var(--srm-lightblue-rgb), .22);
	padding: .65rem 1rem;
}

.ewok-form-footer {
	position: sticky;
	bottom: 0;
	z-index: 3;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: .75rem;
	align-items: center;
	background: color-mix(in srgb, var(--cui-body-bg) 94%, transparent);
	box-shadow: 0 -.3rem 1rem rgba(var(--srm-darkblue-rgb), .08);
	backdrop-filter: blur(.45rem);
}

.ewok-form-footer .status_message,
.ewok-form-footer [id$="status_message"] {
	min-height: 1.25rem;
	margin: 0;
}

.ewok-form-actions {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	align-items: center;
	justify-content: flex-end;
}

.ewok-form-actions .btn,
.ewok-modal-footer .btn {
	display: inline-flex;
	min-width: 6.5rem;
	align-items: center;
	justify-content: center;
	gap: .35rem;
}

.ewok-modal-footer {
	position: sticky;
	bottom: 0;
	z-index: 3;
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	align-items: center;
	justify-content: flex-end;
	padding: .75rem 1rem;
	background: var(--cui-body-bg);
	border-top: 1px solid rgba(var(--srm-lightblue-rgb), .22);
	box-shadow: 0 -.3rem 1rem rgba(var(--srm-darkblue-rgb), .08);
}

.ewok-action-primary {
	color: var(--cui-white);
	background-color: var(--cui-success);
	border-color: var(--cui-success);
}

.ewok-action-primary:hover,
.ewok-action-primary:focus {
	color: var(--cui-white);
	filter: brightness(1.08);
}

.ewok-action-secondary {
	color: var(--cui-body-color);
	background: transparent;
	border-color: rgba(var(--srm-lightblue-rgb), .55);
}

.ewok-action-secondary:hover,
.ewok-action-secondary:focus {
	color: var(--cui-white);
	background: var(--srm-darkblue);
	border-color: var(--srm-darkblue);
}

/* Search pages intentionally use a flatter Scooby-like canvas. */
main > .card:has(#search_form) {
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

main > .card:has(#search_form) > .card-body,
main > .card:has(#search_form) > #search_form,
main > .card:has(#search_form) > .card-body:has(> #search_form) {
	padding: .25rem 1rem .4rem;
}

#search_form {
	margin-bottom: .35rem;
}

#search_form .row {
	--cui-gutter-y: .15rem;
}

#search_form .form-label {
	margin-bottom: .35rem;
}

#search_form .mb-2 {
	margin-bottom: .55rem !important;
}

main > .card:has(#search_form) > .card-footer {
	background: transparent;
	border-top: 1px solid rgba(var(--srm-lightblue-rgb), .22);
	padding: .65rem 1rem .15rem;
}

.search-footer {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 1rem;
	align-items: center;
}

.search-actions {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	align-items: center;
}

.search-results-shell {
	margin-top: .35rem !important;
}

.search-results-toolbar {
	display: flex;
	flex-wrap: wrap;
	gap: .65rem .85rem;
	align-items: center;
	padding: .7rem .85rem;
	background: rgba(var(--srm-darkblue-rgb), .025);
	border-bottom: 1px solid rgba(var(--srm-lightblue-rgb), .18);
}

.search-results-toolbar .search-actions {
	flex: 0 0 auto;
}

.search-results-toolbar .search-actions .btn {
	min-height: 2.5rem;
	padding: .42rem .7rem;
}

.search-results-summary {
	min-width: 8rem;
	margin: 0;
	flex: 1 1 10rem;
	color: var(--cui-secondary-color);
	font-size: .84rem;
	font-weight: 600;
	line-height: 1.3;
}

.search-results-controls {
	display: grid;
	grid-template-columns: minmax(14rem, 1fr) minmax(11rem, 14rem);
	gap: .5rem;
	width: min(100%, 38rem);
	margin-left: auto;
	flex: 1 1 28rem;
}

.ewok-loading-icon {
	color: var(--cui-warning);
	font-size: 3rem;
}

.ewok-scroll-modal {
	overflow-y: auto;
}

.result-grid-message {
	grid-column: 1 / -1;
}

/* Responsive card results shared by field-facing searches. */
.wo-results-shell {
	overflow: hidden;
}

.wo-results-toolbar {
	display: grid;
	gap: .75rem;
	align-items: end;
	padding: 1rem;
	border-bottom: 1px solid rgba(var(--srm-lightblue-rgb), .18);
}

.wo-results-toolbar {
	grid-template-columns: minmax(12rem, 1fr) minmax(12rem, 20rem) minmax(10rem, 14rem);
}

.wo-results-heading {
	margin: 0;
	font-size: 1.05rem;
}

.wo-results-summary {
	margin: .2rem 0 0;
	color: var(--cui-secondary-color);
	font-size: .82rem;
}

.wo-results-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
	padding: 1rem;
}

.wo-result-card {
	position: relative;
	display: flex;
	min-width: 0;
	overflow: hidden;
	background: rgba(var(--srm-darkblue-rgb), .05);
	border: 1px solid rgba(var(--srm-lightblue-rgb), .2);
	border-radius: .7rem;
	box-shadow: 0 .15rem .55rem rgba(0, 0, 0, .08);
	transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

.wo-result-card::before {
	width: .28rem;
	flex: 0 0 auto;
	content: "";
}

.wo-result-card::before {
	background: var(--cui-secondary-color);
}

.wo-result-card.is-complete::before {
	background: #9dbb20;
}

.wo-result-card.is-action::before {
	background: var(--cui-danger);
}

.wo-result-card.shipout-result-card::before {
	background: var(--srm-salmon);
}

.wo-result-card:hover,
.wo-result-card:focus-within {
	border-color: rgba(var(--srm-lightblue-rgb), .55);
	box-shadow: 0 .35rem 1rem rgba(0, 0, 0, .16);
	transform: translateY(-1px);
}

.wo-result-card-body {
	display: flex;
	width: 100%;
	min-width: 0;
	flex-direction: column;
	padding: .9rem;
}

.wo-result-header {
	display: flex;
	gap: .75rem;
	align-items: flex-start;
	justify-content: space-between;
}

.wo-result-number {
	font-size: 1.05rem;
	font-weight: 700;
	text-decoration: none;
}

.wo-result-number {
	display: inline-flex;
	gap: .4rem;
	align-items: center;
	color: #fff;
}

.wo-result-number.is-complete {
	color: #9dbb20;
}

.wo-result-number.is-action {
	color: var(--cui-danger);
}

.wo-result-date {
	flex: 0 0 auto;
	color: var(--cui-secondary-color);
	font-size: .78rem;
	text-align: right;
}

.wo-result-customer {
	margin: .75rem 0 .15rem;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.25;
}

.wo-result-name {
	margin: 0 0 .75rem;
	color: var(--cui-secondary-color);
	font-size: .86rem;
	line-height: 1.35;
}

.wo-result-details {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
	gap: .75rem;
	margin-bottom: .75rem;
}

.wo-result-detail {
	display: flex;
	min-width: 0;
	gap: .5rem;
	align-items: flex-start;
	color: var(--cui-body-color);
	font-size: .84rem;
	line-height: 1.35;
}

.wo-result-detail > i {
	margin-top: .05rem;
	color: var(--srm-app-color);
}

.wo-result-detail > div {
	min-width: 0;
	overflow-wrap: anywhere;
}

.wo-result-detail a {
	color: inherit;
}

.wo-result-note {
	margin: 0 0 .75rem;
	padding: .55rem .65rem;
	background: rgba(var(--srm-lightblue-rgb), .07);
	border-left: 2px solid rgba(var(--srm-lightblue-rgb), .5);
	border-radius: .25rem;
	font-size: .82rem;
	line-height: 1.35;
}

.wo-result-note {
	color: var(--cui-secondary-color);
}

.wo-result-note.is-issue {
	color: var(--cui-danger);
	background: rgba(220, 53, 69, .08);
	border-left-color: var(--cui-danger);
}

.wo-result-meta {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	align-items: center;
}

.wo-result-meta {
	gap: .35rem;
	margin-top: auto;
}

.wo-result-chip {
	display: inline-flex;
	gap: .3rem;
	align-items: center;
	max-width: 100%;
	padding: .25rem .48rem;
	color: var(--cui-secondary-color);
	background: rgba(var(--srm-lightblue-rgb), .08);
	border: 1px solid rgba(var(--srm-lightblue-rgb), .16);
	border-radius: 999px;
	font-size: .72rem;
	line-height: 1.2;
}

.wo-result-chip.is-danger {
	color: var(--cui-danger);
	background: rgba(220, 53, 69, .08);
	border-color: rgba(220, 53, 69, .25);
}

.wo-result-chip.is-success {
	color: #9dbb20;
}

.wo-result-chip.is-subcontractor {
	color: var(--srm-app-color);
}

.wo-results-empty,
.wo-results-loading {
	padding: 3rem 1rem;
	color: var(--cui-secondary-color);
	text-align: center;
}

.wo-results-empty i,
.wo-results-loading i {
	display: block;
	margin-bottom: .5rem;
	font-size: 2.2rem;
}

.wo-results-pagination {
	display: flex;
	gap: .75rem;
	align-items: center;
	justify-content: center;
	padding: 0 1rem 1rem;
}

.wo-status-legend {
	display: flex;
	flex-wrap: wrap;
	gap: .35rem .9rem;
	margin: .35rem 0 0;
	color: var(--cui-secondary-color);
	font-size: .82rem;
	line-height: 1.45;
}

.wo-status-legend span,
.wo-state {
	display: inline-flex;
	gap: .35rem;
	align-items: center;
}

.wo-state-dot {
	width: .65rem;
	height: .65rem;
	flex: 0 0 auto;
	background: transparent;
	border: 1px solid currentColor;
	border-radius: 50%;
}

.wo-state.is-complete {
	color: #9dbb20;
}

.wo-state.is-complete .wo-state-dot,
.wo-state.is-action .wo-state-dot {
	background: currentColor;
	border-color: currentColor;
}

.wo-state.is-action {
	color: var(--cui-danger);
}

.field-result-open {
	position: relative;
	z-index: 2;
	margin-top: .85rem;
	align-self: flex-start;
}

.field-result-card {
	cursor: pointer;
}

.field-result-card:focus-visible {
	outline: .2rem solid rgba(var(--srm-lightblue-rgb), .55);
	outline-offset: .15rem;
}

/* Issues brings field follow-up into one workspace. */
.issue-workspace-intro {
	overflow: hidden;
	border: 1px solid rgba(var(--srm-lightblue-rgb), .22);
	border-radius: .75rem;
	background: linear-gradient(115deg, rgba(var(--srm-darkblue-rgb), .16), rgba(var(--srm-lucyblue-rgb), .06));
	box-shadow: 0 .2rem .75rem rgba(var(--srm-darkblue-rgb), .08);
}

.issue-workspace-intro .card-body {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	align-items: center;
	justify-content: space-between;
}

.issue-workspace-eyebrow {
	margin: 0 0 .15rem;
	color: var(--srm-lucyblue);
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.issue-workspace-intro h1 {
	margin: 0;
	font-size: clamp(1.45rem, 2.8vw, 2rem);
}

.issue-workspace-help {
	display: flex;
	max-width: 25rem;
	gap: .55rem;
	align-items: flex-start;
	padding: .6rem .7rem;
	color: var(--cui-secondary-color);
	background: color-mix(in srgb, var(--cui-body-bg) 75%, transparent);
	border: 1px solid rgba(var(--srm-lightblue-rgb), .24);
	border-radius: .55rem;
	font-size: .8rem;
	line-height: 1.35;
}

.issue-workspace-help > i {
	color: var(--srm-lucyblue);
	font-size: 1.1rem;
}

.issue-results-toolbar {
	grid-template-columns: minmax(11rem, .8fr) minmax(16rem, 1.1fr) minmax(14rem, 1fr);
}

.issue-kind-filter {
	display: inline-grid;
	grid-template-columns: repeat(4, auto);
	margin: .55rem 0 0;
	padding: .2rem;
	background: rgba(var(--srm-darkblue-rgb), .07);
	border: 1px solid rgba(var(--srm-lightblue-rgb), .28);
	border-radius: .5rem;
}

.issue-kind-filter legend {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
}

.issue-kind-filter .btn {
	border: 0;
	border-radius: .35rem !important;
	color: var(--cui-secondary-color);
	font-size: .78rem;
	white-space: nowrap;
}

.issue-kind-filter .btn-check:checked + .btn {
	color: var(--cui-white);
	background: var(--srm-blue);
	box-shadow: 0 .12rem .3rem rgba(var(--srm-darkblue-rgb), .22);
}

.issue-quick-actions {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	align-items: center;
	padding: .75rem 1rem;
	border-bottom: 1px solid rgba(var(--srm-lightblue-rgb), .18);
	color: var(--cui-secondary-color);
	font-size: .82rem;
}

.issue-quick-actions > span {
	margin-right: .1rem;
}

.issue-result-punch::before { background: var(--cui-danger); }
.issue-result-return::before { background: var(--srm-purple); }
.issue-result-change::before { background: var(--srm-salmon); }

.issue-kind-chip {
	color: var(--srm-lucyblue);
	border-color: rgba(var(--srm-lucyblue-rgb), .24);
	background: rgba(var(--srm-lucyblue-rgb), .08);
}

.time-record-context-link {
	color: inherit;
	font-family: srm-bold;
}

.time-record-context-link:hover {
	color: var(--srm-lucyblue);
}

main > .card:has(#search_form) + .card {
	background: transparent;
	border: 0;
	border-top: 1px solid rgba(var(--srm-lightblue-rgb), .22);
	border-radius: 0;
	box-shadow: none;
	margin-top: .7rem !important;
}

main > .card:has(#search_form) + .card > .card-body {
	padding: .8rem 1rem 0;
}

.form-control,
.form-select,
.form-multi-select,
.date-picker,
.date-range-picker {
	border-color: rgba(var(--srm-lightblue-rgb), .28);
	border-radius: .42rem;
	transition: border-color .18s ease, box-shadow .18s ease;
}

.form-control[readonly],
.form-control:read-only {
	background-color: rgba(var(--srm-darkblue-rgb), .06);
	color: var(--cui-body-color);
	opacity: 1;
}

.input-group {
	flex-wrap: nowrap;
}

.input-group > .form-control {
	min-width: 0;
}

.input-group > .btn {
	white-space: nowrap;
}

textarea.form-control {
	resize: vertical;
}

.form-control:focus,
.form-select:focus,
.form-multi-select:focus-within,
.date-picker:focus-within,
.date-range-picker:focus-within {
	border-color: var(--srm-lucyblue);
	box-shadow: 0 0 0 .2rem rgba(var(--srm-lucyblue-rgb), .14);
}

.btn {
	border-radius: .42rem;
	transition: color .18s ease, background-color .18s ease, border-color .18s ease, transform .18s ease;
}

.card-header .btn-lg,
.card-footer .btn-lg,
main > .row .btn-lg {
	font-size: .95rem;
	line-height: 1.4;
	padding: .45rem .75rem;
}

.btn-outline-dark {
	color: var(--cui-body-color);
	border-color: rgba(var(--srm-lightblue-rgb), .55);
}

.btn-outline-dark:hover,
.btn-outline-dark:focus {
	color: var(--cui-white);
	background-color: var(--srm-darkblue);
	border-color: var(--srm-darkblue);
}

.card-header .btn-outline-success,
.modal-header .btn-outline-success {
	color: var(--cui-white);
	background-color: var(--cui-success);
	border-color: var(--cui-success);
}

.card-header .btn-outline-danger,
.modal-header .btn-outline-danger {
	color: var(--cui-white);
	background-color: var(--cui-danger);
	border-color: var(--cui-danger);
}

#search_submit.btn-outline-success {
	color: var(--cui-white);
	background-color: var(--cui-success);
	border-color: var(--cui-success);
}

#search_reset.btn-outline-danger {
	color: var(--cui-white);
	background-color: var(--cui-danger);
	border-color: var(--cui-danger);
}

#search_mode.btn-outline-warning {
	color: var(--cui-dark);
	background-color: var(--cui-warning);
	border-color: var(--cui-warning);
}

#search_submit:hover,
#search_reset:hover,
#search_mode:hover {
	filter: brightness(1.08);
	transform: translateY(-1px);
}

.wo-status-legend {
	margin: .35rem 0 0;
	line-height: 1.45;
}

/* Work-order overview uses the same compact action language as search pages. */
.wo-action-bar {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: .45rem;
	margin-bottom: .7rem;
	padding-bottom: .7rem;
	border-bottom: 1px solid rgba(var(--srm-lightblue-rgb), .22);
}

.wo-action-bar .btn {
	flex: 0 1 auto;
	min-width: 7rem;
}

.wo-overview-card .form-control[id$="_info"] {
	font-family: srm-bold;
}

.wo-overview-card {
	overflow: hidden;
}

.wo-overview-hero {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(13rem, .75fr) minmax(10rem, .5fr);
	gap: .85rem;
	align-items: end;
	margin: -1rem -1rem 1rem;
	padding: 1rem;
	background:
		linear-gradient(120deg, rgba(var(--srm-darkblue-rgb), .12), rgba(var(--srm-lucyblue-rgb), .06));
	border-bottom: 1px solid rgba(var(--srm-lightblue-rgb), .2);
}

.wo-overview-hero .mb-2 {
	margin-bottom: 0 !important;
}

.wo-overview-hero .form-label,
.wo-overview-section-title {
	color: var(--srm-lucyblue);
	font-size: .75rem;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.wo-overview-hero #wo_info {
	font-size: 1rem;
}

.wo-overview-section {
	margin-top: 1rem;
	padding: 1rem;
	background: rgba(var(--srm-darkblue-rgb), .035);
	border: 1px solid rgba(var(--srm-lightblue-rgb), .18);
	border-radius: .65rem;
}

.wo-overview-section-title {
	display: flex;
	gap: .45rem;
	align-items: center;
	margin: 0 0 .7rem;
	font-family: srm-bold;
}

.wo-overview-section-title i {
	font-size: 1rem;
}

.wo-overview-section .row:last-child > [class*="col-"] > :last-child {
	margin-bottom: 0 !important;
}

.wo-overview-save {
	display: flex;
	justify-content: flex-end;
}

.ewok-section-tabs {
	flex-wrap: wrap;
	gap: .35rem;
}

.ewok-section-tabs .list-group-item {
	flex: 1 1 8rem;
	height: auto;
	border: 1px solid rgba(var(--srm-lightblue-rgb), .3) !important;
	border-radius: .42rem !important;
	text-align: center;
	background-color: transparent;
}

.ewok-section-tabs .list-group-item.active {
	color: var(--cui-white);
	background-color: var(--srm-blue);
	border-color: var(--srm-blue) !important;
}

.ig-html {
	min-height: 7rem;
	overflow-wrap: anywhere;
}

#schedule_remarks {
	color: var(--srm-salmon);
}

.time-entry-type {
	display: inline-grid;
	grid-template-columns: repeat(2, minmax(7rem, 1fr));
	padding: .22rem;
	background: rgba(var(--srm-darkblue-rgb), .07);
	border: 1px solid rgba(var(--srm-lightblue-rgb), .28);
	border-radius: .55rem;
}

.time-entry-type .btn {
	border: 0;
	border-radius: .38rem !important;
	color: var(--cui-secondary-color);
}

.time-entry-type .btn:hover {
	color: var(--cui-body-color);
	background: rgba(var(--srm-lucyblue-rgb), .08);
}

.time-entry-type .btn-check:checked + .btn {
	color: var(--cui-white);
	background: var(--srm-blue);
	box-shadow: 0 .15rem .4rem rgba(var(--srm-darkblue-rgb), .25);
}

.time-entry-type .btn-check:focus-visible + .btn {
	box-shadow: 0 0 0 .2rem rgba(var(--srm-lucyblue-rgb), .2);
}

.time-entry-type .btn-check:disabled + .btn {
	opacity: .72;
}

/* Time overview: compact filters, useful totals, and scannable entry rows. */
.time-page,
.file-page {
	max-width: 1480px !important;
}

.time-page-hero,
.file-page-hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 1.25rem;
	align-items: center;
	padding: clamp(1rem, 2vw, 1.5rem);
	overflow: hidden;
	background:
		linear-gradient(115deg, rgba(var(--srm-darkblue-rgb), .16), rgba(var(--srm-lucyblue-rgb), .06));
	border: 1px solid rgba(var(--srm-lightblue-rgb), .2);
	border-radius: .75rem;
	box-shadow: 0 .2rem .75rem rgba(var(--srm-darkblue-rgb), .08);
}

.time-page-hero {
	margin-bottom: .8rem;
}

.file-workspace {
	overflow: hidden;
	border: 1px solid rgba(var(--srm-lightblue-rgb), .22);
	border-radius: .75rem;
	box-shadow: 0 .2rem .75rem rgba(var(--srm-darkblue-rgb), .08);
}

.time-entry-picker.time-picker {
	width: 100%;
	margin-bottom: .5rem;
}

.time-entry-picker .time-picker-input-group {
	min-height: calc(1.5em + .75rem + 2px);
}

.time-entry-picker.time-picker-read-only {
	pointer-events: none;
	opacity: .75;
}

.time-page-eyebrow,
.file-page-eyebrow {
	margin: 0 0 .15rem;
	color: var(--srm-lucyblue);
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.time-page-hero h1,
.file-page-hero h1 {
	margin: 0;
	font-family: srm-script;
	font-size: clamp(1.75rem, 3vw, 2.35rem);
	line-height: 1;
}

.time-page-intro {
	max-width: 42rem;
	margin: .45rem 0 0;
	color: var(--cui-secondary-color);
}

.time-page-hero-actions,
.file-page-hero-actions,
.time-worker-identity {
	display: flex;
	gap: .7rem;
	align-items: center;
}

.time-page-hero-actions,
.file-page-hero-actions {
	justify-content: flex-end;
}

.time-worker-identity {
	min-width: 13rem;
	padding: .55rem .7rem;
	background: color-mix(in srgb, var(--cui-body-bg) 75%, transparent);
	border: 1px solid rgba(var(--srm-lightblue-rgb), .24);
	border-radius: .55rem;
}

.time-worker-identity > i {
	color: var(--srm-lucyblue);
	font-size: 1.35rem;
}

.time-worker-identity strong,
.time-worker-identity span {
	display: block;
	line-height: 1.2;
}

.time-worker-identity span {
	margin-top: .15rem;
	color: var(--cui-secondary-color);
	font-size: .74rem;
}

.time-workspace {
	overflow: hidden;
	background: var(--cui-body-bg);
	border: 1px solid rgba(var(--srm-lightblue-rgb), .22);
	border-radius: .75rem;
	box-shadow: 0 .2rem .75rem rgba(var(--srm-darkblue-rgb), .08);
}

.time-workspace-header {
	display: grid;
	grid-template-columns: minmax(14rem, 1fr) auto;
	gap: 1rem;
	align-items: end;
	padding: 1rem;
	border-bottom: 1px solid rgba(var(--srm-lightblue-rgb), .18);
}

.time-workspace-header h2 {
	margin: 0;
	font-size: 1.15rem;
}

.time-workspace-header p {
	margin: .2rem 0 0;
	color: var(--cui-secondary-color);
	font-size: .86rem;
}

.time-filter-row {
	display: flex;
	flex-wrap: wrap;
	gap: .65rem;
	align-items: end;
	justify-content: flex-end;
}

.time-period-filter {
	margin: 0;
}

.time-period-filter legend,
.time-worker-filter .form-label,
.time-results-filter .form-label {
	margin: 0 0 .3rem;
	color: var(--srm-lucyblue);
	font-size: .7rem;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.time-period-control {
	display: inline-grid;
	grid-template-columns: repeat(3, minmax(4rem, 1fr));
	padding: .18rem;
	background: rgba(var(--srm-darkblue-rgb), .06);
	border: 1px solid rgba(var(--srm-lightblue-rgb), .26);
	border-radius: .48rem;
}

.time-period-control label {
	padding: .42rem .55rem;
	color: var(--cui-secondary-color);
	border-radius: .34rem;
	font-size: .78rem;
	text-align: center;
	cursor: pointer;
}

.time-period-control label:hover {
	color: var(--cui-body-color);
	background: rgba(var(--srm-lucyblue-rgb), .08);
}

.time-period-control .btn-check:checked + label {
	color: var(--cui-white);
	background: var(--srm-blue);
	box-shadow: 0 .12rem .3rem rgba(var(--srm-darkblue-rgb), .2);
}

.time-period-control .btn-check:focus-visible + label {
	box-shadow: 0 0 0 .2rem rgba(var(--srm-lucyblue-rgb), .2);
}

.time-worker-filter {
	width: min(22rem, 35vw);
}

.time-results-filter {
	width: min(20rem, 32vw);
}

.time-refresh {
	display: inline-flex;
	gap: .35rem;
	align-items: center;
	justify-content: center;
	min-height: 2.45rem;
}

.time-summary {
	display: grid;
	grid-template-columns: repeat(3, minmax(6rem, 9rem)) minmax(12rem, 1fr);
	gap: .5rem;
	align-items: stretch;
	padding: .75rem 1rem;
	background: rgba(var(--srm-darkblue-rgb), .035);
	border-bottom: 1px solid rgba(var(--srm-lightblue-rgb), .16);
}

.time-summary > div {
	display: flex;
	gap: .5rem;
	align-items: baseline;
	padding: .4rem .6rem;
	border-right: 1px solid rgba(var(--srm-lightblue-rgb), .18);
}

.time-summary span {
	color: var(--cui-secondary-color);
	font-size: .72rem;
	text-transform: uppercase;
}

.time-summary strong {
	font-size: 1.1rem;
}

.time-summary p {
	align-self: center;
	justify-self: end;
	margin: 0;
	color: var(--cui-secondary-color);
	font-size: .82rem;
}

.time-record-list {
	display: grid;
}

.time-record {
	position: relative;
	display: grid;
	grid-template-columns: 5rem minmax(0, 1fr) auto;
	gap: 1rem;
	align-items: center;
	padding: .9rem 1rem;
	border-bottom: 1px solid rgba(var(--srm-lightblue-rgb), .16);
}

.time-record:last-child {
	border-bottom: 0;
}

.time-record::before {
	position: absolute;
	top: .8rem;
	bottom: .8rem;
	left: 0;
	width: 3px;
	background: var(--srm-lucyblue);
	border-radius: 0 3px 3px 0;
	content: '';
}

.time-record.is-admin::before {
	background: var(--srm-lightblue);
}

.time-record-date {
	display: grid;
	gap: .05rem;
	align-self: start;
	color: var(--cui-secondary-color);
	text-align: center;
}

.time-record-date strong {
	color: var(--cui-body-color);
	font-size: .95rem;
}

.time-record-day {
	font-size: .72rem;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.time-record-body {
	min-width: 0;
}

.time-record-heading {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: .75rem;
	align-items: start;
}

.time-record-heading h3 {
	margin: 0;
	font-size: 1rem;
	line-height: 1.25;
}

.time-record-heading > div {
	min-width: 0;
}

.time-record-meta,
.time-record-detail {
	display: flex;
	flex-wrap: wrap;
	gap: .35rem .85rem;
	align-items: center;
}

.time-record-meta {
	margin-top: .3rem;
	color: var(--cui-secondary-color);
	font-size: .78rem;
}

.time-record-meta span,
.time-record-charge {
	display: inline-flex;
	gap: .3rem;
	align-items: center;
}

.time-record-total {
	display: grid;
	text-align: right;
}

.time-record-total strong {
	color: var(--srm-lucyblue);
	font-size: 1.15rem;
	line-height: 1;
}

.time-record-total span {
	color: var(--cui-secondary-color);
	font-size: .7rem;
}

.time-record-detail {
	margin-top: .55rem;
}

.time-record-chip {
	display: inline-flex;
	gap: .25rem;
	align-items: center;
	padding: .2rem .42rem;
	color: var(--cui-secondary-color);
	background: rgba(var(--srm-lightblue-rgb), .08);
	border: 1px solid rgba(var(--srm-lightblue-rgb), .18);
	border-radius: 999px;
	font-size: .68rem;
	line-height: 1.15;
}

.time-record-chip.is-admin {
	color: var(--srm-lucyblue);
	background: rgba(var(--srm-lucyblue-rgb), .08);
	border-color: rgba(var(--srm-lucyblue-rgb), .2);
}

.time-record-chip.is-posted {
	color: var(--cui-success);
}

a.time-record-chip:hover {
	color: var(--srm-salmon);
}

.time-record-charge {
	font-size: .8rem;
}

.time-record-charge a {
	color: var(--cui-body-color);
	font-family: srm-bold;
}

.time-record-context,
.time-record-remarks {
	margin-top: .45rem;
	overflow-wrap: anywhere;
}

.time-record-context {
	margin-top: .2rem;
	color: var(--cui-body-color);
	font-family: srm-bold;
	font-size: .82rem;
}

.time-record-remarks {
	margin-bottom: 0;
	padding: .42rem .55rem;
	background: rgba(var(--srm-lightblue-rgb), .06);
	border-left: 2px solid rgba(var(--srm-lightblue-rgb), .42);
	border-radius: .25rem;
	font-size: .8rem;
}

.time-record-actions {
	display: flex;
	flex-wrap: wrap;
	gap: .4rem;
	align-items: center;
	justify-content: flex-end;
}

.time-empty {
	display: grid;
	justify-items: center;
	padding: 3rem 1rem;
	color: var(--cui-secondary-color);
	text-align: center;
}

.time-empty i {
	margin-bottom: .4rem;
	color: var(--srm-lucyblue);
	font-size: 2rem;
}

.time-empty strong {
	color: var(--cui-body-color);
}

.time-empty span {
	margin-top: .15rem;
	font-size: .85rem;
}

.wo-line-panel {
	overflow: hidden;
	background: var(--cui-body-bg);
	border: 1px solid rgba(var(--srm-lightblue-rgb), .2);
	border-radius: .65rem;
}

.wo-line-toolbar {
	display: grid;
	grid-template-columns: minmax(12rem, 1fr) minmax(32rem, 2fr);
	gap: .75rem;
	align-items: end;
	padding: .8rem 1rem;
	border-bottom: 1px solid rgba(var(--srm-lightblue-rgb), .16);
}

.wo-line-toolbar h3 {
	margin: 0;
	font-size: 1rem;
}

.wo-line-toolbar p,
.wo-line-selection-bar p {
	margin: .15rem 0 0;
	color: var(--cui-secondary-color);
	font-size: .8rem;
}

.wo-line-filter {
	display: grid;
	grid-template-columns: minmax(12rem, 1.35fr) minmax(13rem, 1fr) minmax(10rem, .8fr);
	gap: .5rem;
}

.wo-line-selection-bar {
	display: flex;
	flex-wrap: wrap;
	gap: .65rem 1rem;
	align-items: center;
	justify-content: space-between;
	padding: .65rem 1rem;
	background: rgba(var(--srm-darkblue-rgb), .035);
	border-bottom: 1px solid rgba(var(--srm-lightblue-rgb), .16);
}

.wo-line-selection-bar p {
	margin: 0;
}

.wo-line-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
	padding: 1rem;
}

.wo-line-card {
	position: relative;
	display: flex;
	min-width: 0;
	overflow: hidden;
	background: rgba(var(--srm-darkblue-rgb), .05);
	border: 1px solid rgba(var(--srm-lightblue-rgb), .2);
	border-radius: .7rem;
	box-shadow: 0 .15rem .55rem rgba(0, 0, 0, .08);
}

.wo-line-card::before {
	width: .28rem;
	flex: 0 0 auto;
	background: var(--srm-lucyblue);
	content: "";
}

.wo-line-card.has-follow-up::before {
	background: var(--cui-danger);
}

.wo-line-card-body {
	display: flex;
	width: 100%;
	min-width: 0;
	flex-direction: column;
	padding: .9rem;
}

.wo-line-card-header,
.wo-line-card-title,
.wo-line-select-wrap {
	display: flex;
	gap: .5rem;
	align-items: center;
}

.wo-line-card-header {
	justify-content: space-between;
}

.wo-line-card-title {
	flex-wrap: wrap;
}

.wo-line-number {
	color: var(--srm-lucyblue);
	font-size: 1rem;
	font-weight: 700;
}

.wo-line-quantity,
.wo-line-status {
	padding: .2rem .45rem;
	border-radius: 999px;
	font-size: .7rem;
	font-weight: 700;
}

.wo-line-quantity {
	color: var(--cui-secondary-color);
	background: rgba(var(--srm-lightblue-rgb), .1);
}

.wo-line-status {
	color: var(--cui-danger);
	background: rgba(220, 53, 69, .08);
	text-transform: uppercase;
}

.wo-line-select-wrap {
	flex: 0 0 auto;
	margin: 0;
	color: var(--cui-secondary-color);
	font-size: .78rem;
	cursor: pointer;
}

.wo-line-vendor {
	margin: .75rem 0 .15rem;
	font-size: .95rem;
	line-height: 1.25;
}

.wo-line-product {
	margin: 0 0 .5rem;
	color: var(--srm-lucyblue);
	font-size: .8rem;
	font-weight: 700;
	overflow-wrap: anywhere;
}

.wo-line-description {
	margin: 0 0 .75rem;
	color: var(--cui-body-color);
	font-size: .82rem;
	line-height: 1.4;
	overflow-wrap: anywhere;
}

.wo-line-meta {
	margin-top: auto;
}

.wo-line-note {
	margin-top: .75rem;
}

.wo-line-action {
	margin-top: .85rem;
	align-self: flex-start;
}

.wo-line-empty,
.wo-line-loading {
	padding: 3rem 1rem;
	color: var(--cui-secondary-color);
	text-align: center;
}

.wo-line-empty i,
.wo-line-loading i {
	display: block;
	margin-bottom: .5rem;
	color: var(--srm-lucyblue);
	font-size: 2rem;
}

.wo-time-panel {
	overflow: hidden;
	background: var(--cui-body-bg);
	border: 1px solid rgba(var(--srm-lightblue-rgb), .2);
	border-radius: .65rem;
}

.wo-time-panel-header {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: .75rem;
	align-items: center;
	padding: .8rem 1rem;
	border-bottom: 1px solid rgba(var(--srm-lightblue-rgb), .16);
}

.wo-time-panel-header h3 {
	margin: 0;
	font-size: 1rem;
}

.wo-time-panel-header p {
	margin: .15rem 0 0;
	color: var(--cui-secondary-color);
	font-size: .8rem;
}

.wo-time-panel-header > #wo_time_status {
	margin: 0;
	text-align: right;
}

.wo-time-summary {
	grid-template-columns: repeat(3, minmax(6rem, 9rem));
	justify-content: start;
}

.wo-time-more {
	display: flex;
	justify-content: center;
	padding: .8rem;
	background: rgba(var(--srm-darkblue-rgb), .025);
	border-top: 1px solid rgba(var(--srm-lightblue-rgb), .16);
}

/* Shared presentation for change-request create and edit screens. */
.change-context,
.change-section,
.pod-context,
.pod-section {
	padding: 1rem;
	background: rgba(var(--srm-darkblue-rgb), .05);
	border: 1px solid rgba(var(--srm-lightblue-rgb), .18);
	border-radius: .65rem;
}

.change-context,
.pod-context {
	margin-bottom: 1rem;
	background: rgba(var(--srm-darkblue-rgb), .08);
}

.change-section-label,
.change-context .form-label,
.pod-section-label,
.pod-context .form-label,
.file-browser-context .form-label,
.file-browser-filterbar .form-label {
	color: var(--srm-lucyblue);
	font-size: .75rem;
	letter-spacing: .03em;
	text-transform: uppercase;
}

.change-context-value,
.pod-work-order-value,
.file-work-order-value {
	min-height: 2.75rem;
	padding: .65rem .8rem;
	overflow-wrap: anywhere;
	background: var(--cui-secondary-bg);
	border: 1px solid var(--cui-border-color);
	border-radius: var(--cui-border-radius);
	font-weight: 600;
	line-height: 1.35;
}

.change-outcome {
	display: flex;
	gap: .65rem;
	align-items: center;
	min-height: 3.25rem;
	margin: 0;
	padding: .65rem .8rem;
	background: rgba(var(--srm-lucyblue-rgb), .07);
	border: 1px solid rgba(var(--srm-lightblue-rgb), .16);
	border-radius: .5rem;
}

.change-outcome .form-check-input {
	flex: 0 0 auto;
	margin: 0;
}

.change-outcome:has(input:checked) {
	background: rgba(157, 187, 32, .12);
	border-color: rgba(157, 187, 32, .45);
}

body:has(#logon_form) {
	margin-top: 1rem;
}

#welcome_img {
	width: 281px;
	height: 274px;
	max-width: 100%;
	object-fit: contain;
}

.ewok-print-view {
	padding-top: .5rem;
}

.ewok-print-view .center-block {
	display: block;
	margin-right: auto;
	margin-left: auto;
}

.ewok-print-view dt {
	margin-top: 2px;
	padding-top: 3px;
	font-family: srm-light;
	font-size: 80%;
	text-align: right;
}

.ewok-print-view dd {
	margin-top: 2px;
	font-family: srm-normal;
}

.ewok-print-view dt::after {
	content: ":";
}


#search_fields .btn.btn-sm {
	padding: .125rem .5rem;
}


.modal-header {
	background: linear-gradient(110deg, var(--srm-darkblue), var(--srm-blue));
	color: var(--cui-gray-200);
	justify-content: space-between;
	gap: .65rem;
}

.modal-title {
	font-family: srm-script;
}

.status_message {
	font-family: srm-light;
	font-size: 80%;
	color: var(--srm-salmon);
	min-height: 1.25rem;
	margin-bottom: 0;
}

.table-responsive {
	-webkit-overflow-scrolling: touch;
}

.toast-container {
	max-width: 100%;
}

#signature,
#signature canvas,
#ip_image img,
#file_list img {
	max-width: 100%;
}

dl.row dt {
	color: var(--srm-lucyblue);
}

dl.row dd {
	overflow-wrap: anywhere;
}

.ewok-print-view {
	color: #212529;
	background-color: #fff !important;
}

.ewok-print-view a {
	color: var(--srm-blue);
}

.ewok-print-view dt {
	color: var(--srm-blue);
}

/* Welcome / login */
body:has(#logon_form) {
	background:
		radial-gradient(circle at 50% 10%, rgba(var(--srm-lucyblue-rgb), .14), transparent 38rem),
		var(--cui-bg-color);
}

.card:has(#logon_form) {
	border-color: rgba(var(--srm-lightblue-rgb), .28);
	box-shadow: 0 .75rem 2.5rem rgba(var(--srm-darkblue-rgb), .18);
}

.card:has(#logon_form) #welcome_img {
	filter: drop-shadow(0 .45rem .75rem rgba(var(--srm-darkblue-rgb), .2));
}

#logon_submit {
	color: var(--cui-white);
	background-color: var(--srm-blue);
	border-color: var(--srm-blue);
}

#logon_submit:hover {
	color: var(--cui-white);
	background-color: var(--srm-lucyblue);
	border-color: var(--srm-lucyblue);
}




/* Form Switches */
.form-switch .form-check-label {
	font-family: srm-light;
	font-size: 90%;
	color: var(--cui-body-color) !important;
}

.form-switch .form-check-input:checked {
	background-color: var(--srm-purple);
	border-color: var(--cui-border-color);
}

.form-switch .form-check-input:indeterminate {
	border-color: var(--cui-border-color);
	background-color: var(--cui-bg-color);
	background-position: center;
}



/* Form Sliders */
.form-range::-moz-range-thumb,
.form-range::-webkit-slider-thumb {
	background-color: var(--srm-blue);
}

/* HugeRTE Styles */

[data-coreui-theme="dark"] .tox {
	border-color: var(--cui-border-color);
}

.woli-modal-section,
.general-return-section {
	margin-bottom: .85rem;
	padding: .9rem;
	background: rgba(var(--srm-darkblue-rgb), .035);
	border: 1px solid rgba(var(--srm-lightblue-rgb), .18);
	border-radius: .65rem;
}

.woli-modal-section-heading,
.general-return-section-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .75rem;
	margin-bottom: .75rem;
}

.woli-modal-section .form-label,
.general-return-section .form-label {
	margin-bottom: .25rem;
	font-size: .82rem;
	font-weight: 600;
}

.woli-modal-section [readonly],
.general-return-section [readonly] {
	background: rgba(var(--srm-darkblue-rgb), .04);
}

.general-return-guidance {
	display: flex;
	align-items: flex-start;
	gap: .65rem;
	margin-bottom: .85rem;
	padding: .75rem .85rem;
	color: var(--cui-body-color);
	background: rgba(var(--srm-lucyblue-rgb), .1);
	border-left: .25rem solid var(--srm-app-color);
	border-radius: .45rem;
}

.general-return-guidance i {
	flex: 0 0 auto;
	margin-top: .1rem;
	color: var(--srm-app-color);
}

.dropzone.woli-dropzone,
.dropzone.return-general-dropzone {
	min-height: 6rem;
	padding: .85rem;
}

.woli-dropzone .dz-message,
.return-general-dropzone .dz-message {
	min-height: 6.5rem;
}

.woli-dropzone .dz-preview,
.return-general-dropzone .dz-preview {
	margin: .4rem;
}

/* Shared authorization and queued-photo treatment. */
.signature-paper {
	position: relative;
	display: grid;
	place-items: center;
	width: 100%;
	min-height: 10rem;
	margin-bottom: .75rem;
	overflow: hidden;
	background: #fff;
	border: 1px solid #cbd5e1;
	border-radius: .55rem;
}

.signature-paper img {
	display: block;
	max-width: 100%;
	max-height: 12rem;
	object-fit: contain;
}

.dropzone.change-dropzone,
.dropzone.pod-dropzone,
.dropzone.woli-dropzone,
.dropzone.return-general-dropzone {
	background: rgba(var(--srm-darkblue-rgb), .04);
	border: 2px dashed rgba(var(--srm-lightblue-rgb), .4);
	border-radius: .65rem;
	transition: background-color .15s ease, border-color .15s ease;
}

.dropzone.change-dropzone.dz-drag-hover,
.dropzone.pod-dropzone.dz-drag-hover,
.dropzone.woli-dropzone.dz-drag-hover,
.dropzone.return-general-dropzone.dz-drag-hover {
	background: rgba(var(--srm-lucyblue-rgb), .1);
	border-color: var(--srm-app-color);
}

.dropzone.change-dropzone .dz-message,
.dropzone.pod-dropzone .dz-message,
.dropzone.woli-dropzone .dz-message,
.dropzone.return-general-dropzone .dz-message {
	display: grid;
	place-items: center;
	margin: 0;
	color: var(--cui-secondary-color);
	text-align: center;
}

.dropzone.change-dropzone .dz-message i,
.dropzone.pod-dropzone .dz-message i,
.dropzone.woli-dropzone .dz-message i,
.dropzone.return-general-dropzone .dz-message i {
	display: block;
	margin-bottom: .35rem;
	color: var(--srm-app-color);
	font-size: 2rem;
}

.dropzone.change-dropzone .dz-preview,
.dropzone.pod-dropzone .dz-preview {
	margin: .5rem;
}

.dropzone.change-dropzone .dz-preview .dz-image,
.dropzone.pod-dropzone .dz-preview .dz-image,
.dropzone.woli-dropzone .dz-preview .dz-image,
.dropzone.return-general-dropzone .dz-preview .dz-image {
	border-radius: .5rem;
}

.change-upload-status,
.pod-upload-status,
.woli-upload-status,
.general-return-upload-status {
	min-height: 1.25rem;
	margin-top: .5rem;
	color: var(--cui-secondary-color);
	font-size: .82rem;
}



/* The selected theme is set before stylesheets load by base/ewok-theme.js. */
[data-coreui-theme="dark"] .ewok-primary-nav {
	--cui-nav-link-color: var(--cui-body-bg);
	--cui-nav-pills-link-active-color: var(--cui-white);
	--cui-nav-pills-link-active-bg: var(--srm-blue);
}

[data-coreui-theme="dark"] .ewok-primary-nav a:hover {
	color: var(--cui-light);
}

[data-coreui-theme="light"] body {
	background: var(--cui-secondary-bg);
}

[data-coreui-theme="light"] .page-item.active a.page-link,
[data-coreui-theme="light"] a.dropdown-item:hover,
[data-coreui-theme="light"] .btn-custom,
[data-coreui-theme="light"] .btn.btn-custom.dropdown-toggle,
[data-coreui-theme="light"] .list-group-item-secondary.list-group-item-action.active {
	color: var(--cui-secondary-bg);
}

[data-coreui-theme="light"] .ewok-primary-nav {
	--cui-nav-link-color: var(--cui-body-bg);
	--cui-nav-pills-link-active-color: var(--cui-white);
	--cui-nav-pills-link-active-bg: var(--srm-blue);
}

[data-coreui-theme="light"] .ewok-primary-nav a:hover {
	color: var(--cui-dark);
}

[data-coreui-theme="light"] #page_title {
	color: var(--cui-dark);
}

@media (max-width: 1199.98px) {
	.search-actions-wide {
		flex-basis: 100% !important;
	}

	.wo-results-grid,
	.wo-line-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.wo-line-toolbar {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 767.98px) {
	.search-results-toolbar {
		align-items: stretch;
		padding: .65rem .75rem;
	}

	.search-results-toolbar .search-actions,
	.search-results-summary,
	.search-results-controls {
		width: 100%;
		flex-basis: 100%;
	}

	.search-results-toolbar .search-actions {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(7rem, 1fr));
	}

	.search-results-toolbar .search-actions .btn {
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}

	.search-results-controls {
		grid-template-columns: minmax(0, 1fr);
		margin-left: 0;
	}

	.issue-workspace-intro .card-body {
		align-items: stretch;
	}

	.issue-workspace-help {
		max-width: none;
	}

	.issue-kind-filter {
		display: grid;
		width: 100%;
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.issue-kind-filter .btn {
		padding-right: .3rem;
		padding-left: .3rem;
		font-size: .72rem;
	}

	.issue-quick-actions {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.issue-quick-actions > span {
		grid-column: 1 / -1;
	}

	.woli-modal-section-heading,
	.general-return-section-heading {
		align-items: flex-start;
		flex-direction: column;
	}

	.woli-modal-section-heading .btn,
	.general-return-section-heading .btn {
		width: 100%;
	}

	.time-page-hero,
	.file-page-hero,
	.time-workspace-header,
	.wo-time-panel-header {
		grid-template-columns: minmax(0, 1fr);
	}

	.wo-time-panel-header > #wo_time_status {
		text-align: left;
	}

	.time-page-hero-actions,
	.file-page-hero-actions {
		justify-content: space-between;
	}

	.time-filter-row {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		justify-content: stretch;
	}

	.time-period-filter,
	.time-worker-filter,
	.time-results-filter {
		width: 100%;
	}

	.time-worker-filter,
	.time-results-filter {
		grid-column: 1 / -1;
	}

	.time-period-control {
		width: 100%;
	}

	.time-summary {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		padding: .65rem .75rem;
	}

	.time-summary > div {
		display: grid;
		gap: .1rem;
		text-align: center;
	}

	.time-summary p {
		grid-column: 1 / -1;
		justify-self: start;
		padding: .2rem .3rem 0;
	}

	.time-record {
		grid-template-columns: 3.8rem minmax(0, 1fr);
		gap: .75rem;
		padding: .8rem .75rem;
	}

	.time-record-actions {
		grid-column: 2;
		justify-content: flex-start;
	}

	main > .card:has(#search_form) > .card-body,
	main > .card:has(#search_form) > #search_form,
	main > .card:has(#search_form) > .card-body:has(> #search_form) {
		padding-right: .75rem;
		padding-left: .75rem;
	}

	main > .card:has(#search_form) > .card-footer,
	main > .card:has(#search_form) + .card > .card-body {
		padding-right: .75rem;
		padding-left: .75rem;
	}

	.search-footer {
		grid-template-columns: minmax(0, 1fr);
		align-items: stretch;
	}

	.search-footer .text-end,
	.search-footer .text-right {
		text-align: left !important;
	}

	.ewok-form-footer {
		grid-template-columns: minmax(0, 1fr);
		padding: .75rem;
	}

	.ewok-form-actions {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(7rem, 1fr));
		width: 100%;
	}

	.ewok-form-actions .btn {
		width: 100%;
	}

	.wo-results-toolbar,
	.wo-results-grid,
	.wo-line-grid {
		grid-template-columns: minmax(0, 1fr);
		padding: .75rem;
	}

	.wo-line-toolbar {
		grid-template-columns: minmax(0, 1fr);
		padding: .75rem;
	}

	.wo-line-filter {
		grid-template-columns: minmax(0, 1fr);
	}

	.wo-line-selection-bar {
		align-items: stretch;
		padding: .75rem;
	}

	.wo-line-selection-bar .btn {
		width: 100%;
	}

	.wo-result-details {
		grid-template-columns: minmax(0, 1fr);
	}

	.wo-overview-hero {
		grid-template-columns: minmax(0, 1fr);
		margin: -.8rem -.8rem .8rem;
		padding: .8rem;
	}

	.wo-overview-section {
		padding: .8rem;
	}

	.change-context,
	.change-section {
		padding: .75rem;
	}

	.wo-overview-save {
		justify-content: flex-start;
	}

	.ewok-app-header {
		padding-top: .4rem;
	}

	.ewok-brand {
		justify-content: center;
	}

	#page_title {
		overflow: visible;
		white-space: normal;
		text-overflow: clip;
	}

	.ewok-brand-link img {
		width: 42px;
		height: 42px;
	}

	.ewok-primary-nav {
		flex-wrap: nowrap;
		justify-content: flex-start;
		gap: .2rem !important;
		overflow-x: auto;
		scroll-snap-type: x proximity;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: thin;
	}

	.ewok-primary-nav .nav-item {
		flex: 0 0 auto;
		scroll-snap-align: start;
	}

	.ewok-primary-nav .nav-link {
		min-width: 4.5rem;
		padding: .52rem .6rem;
	}

	.card-body,
	.card-footer {
		padding: .8rem;
	}

	.card-header {
		padding: .7rem .8rem;
	}

	.modal-dialog {
		width: 100%;
		max-width: none;
		min-height: 100%;
		margin: 0;
	}

	.modal-content {
		min-height: 100vh;
		border: 0;
		border-radius: 0;
	}

	.modal-header {
		position: sticky;
		top: 0;
		z-index: 2;
	}

	.modal-body {
		padding: .85rem;
	}

	dl.row dt {
		text-align: left;
	}
}

@media (max-width: 575.98px) {
	.time-page-hero-actions,
	.file-page-hero-actions {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
	}

	.time-worker-identity {
		width: 100%;
	}

	.time-page-hero-actions .btn,
	.file-page-hero-actions .btn {
		width: 100%;
	}

	.time-refresh span {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
		border: 0;
	}

	.time-refresh {
		min-width: 2.75rem;
	}

	.time-record {
		grid-template-columns: minmax(0, 1fr);
	}

	.time-record-date {
		display: flex;
		gap: .35rem;
		text-align: left;
	}

	.time-record-heading {
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.time-record-actions {
		grid-column: 1;
	}

	.card-header .card-title {
		flex: 0 0 100%;
	}

	.card-header > div {
		width: 100%;
		justify-content: flex-start;
	}

	.card-header .btn,
	.modal-header .btn {
		min-height: 2.65rem;
	}

	.ewok-modal-footer .btn {
		flex: 1 1 7rem;
	}

	.wo-action-bar {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.wo-action-bar .btn {
		min-width: 0;
	}

	.ewok-section-tabs .list-group-item {
		flex-basis: calc(50% - .35rem);
	}

	.time-entry-type {
		display: grid;
		width: 100%;
	}

	.wo-overview-hero .input-group {
		flex-wrap: wrap;
		gap: .4rem;
	}

	.wo-overview-hero .input-group > .form-control,
	.wo-overview-hero .input-group > .btn {
		width: 100%;
		flex: 1 0 100%;
		border-radius: .42rem !important;
	}

	.form-control,
	.form-select,
	.form-multi-select input,
	.date-picker input,
	.date-range-picker input {
		font-size: 16px;
	}

	.form-control:not(textarea),
	.form-select,
	.form-multi-select,
	.date-picker,
	.date-range-picker {
		min-height: 2.75rem;
	}

	.form-password-action {
		min-height: 2.75rem;
		min-width: 2.75rem;
	}

	.btn {
		min-height: 2.75rem;
	}

	.btn-sm {
		min-height: 2.35rem;
	}

}
