:root {
	--trkr-sticky-footer-height: 4.25rem;
	--trkr-sticky-navbar-height: 3.5rem;
}

.centered { margin-inline: auto; text-align: center; }
.content-transparent { color: transparent; }
.no-wrap { white-space: pre-wrap; }
.inactive { background: var(--tblr-warning-lt); text-decoration: line-through; }
.print-header, .print-only { display: none; }
.navbar-brand-image { object-fit: contain; }
.footer { padding: 1rem 0 calc(1rem + env(safe-area-inset-bottom, 0px)); }
.app-footer {
	position: fixed;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1018;
	background: var(--tblr-bg-surface);
}
.page-wrapper {
	min-width: 0;
	padding-bottom: calc(var(--trkr-sticky-footer-height) + env(safe-area-inset-bottom, 0px));
}
.page-actions > .btn + .btn { margin-left: .25rem; }
.trkr-navbar-breadcrumbs { overflow: hidden; }
.trkr-navbar-breadcrumbs .breadcrumb-item { white-space: nowrap; }
.trkr-navbar-scroll-menu { max-height: min(70vh, 32rem); overflow-y: auto; }
body.notepad-app .page-body .card + .card { margin-top: 1rem; }

@media (max-width: 991.98px) {
	.trkr-navbar-primary #primary-navbar {
		max-height: calc(100vh - var(--trkr-sticky-navbar-height));
		overflow-y: auto;
		overscroll-behavior: contain;
	}
}

/* Keep the primary horizontal application navbar visible while content scrolls. */
html[data-bs-navbar="sticky"] .page-wrapper > header.navbar {
	position: sticky;
	top: 0;
	z-index: 1020;
}

/* Sidr remains a jQuery-backed dispatch workspace. Its panel widths are part of
   the operational UI contract; cap them at the viewport on small screens. */
body .sidr.sidr-right {
	--trkr-sidr-width: min(25rem, 100vw);
	top: var(--trkr-sidr-top, var(--trkr-sticky-navbar-height));
	right: calc(-1 * var(--trkr-sidr-width));
	width: var(--trkr-sidr-width);
	height: calc(100% - var(--trkr-sidr-top, var(--trkr-sticky-navbar-height)));
	margin-top: 0;
	padding-top: .9375rem;
	padding-bottom: 6.25rem;
	background: var(--tblr-bg-surface);
}
.sidr.sidr-right.sidr-incident,
.sidr.sidr-right.sidr-note,
.sidr.sidr-right.sidr-contacts { --trkr-sidr-width: min(43.75rem, 100vw); }
.sidr.sidr-right.sidr-marker { --trkr-sidr-width: min(56.25rem, 100vw); }
.dispatch-content > .container-incidents,
.watch-content { transition: transform .2s ease; }
.dispatch-content > .container-incidents.trkr-sidr-displaced,
.watch-content.trkr-sidr-displaced { transform: translateX(calc(-1 * var(--trkr-sidr-displacement))); }
@media (prefers-reduced-motion: reduce) {
	.dispatch-content > .container-incidents,
	.watch-content { transition: none; }
}
.sidr.sidr-right.sidr-incident { overflow-y: hidden; }
.sidr-incident #incident-box { display: flex; max-height: 100%; flex-direction: column; }
.sidr-incident .incident-card-header { flex: 0 0 auto; }
.sidr-incident .incident-card-scroll { min-height: 0; overflow-y: auto; }
.sidr.sidr-right.sidr-scroll-panel { overflow-y: hidden; }
.sidr.sidr-right.sidr-scroll-panel > .card { display: flex; max-height: 100%; flex-direction: column; }
.sidr.sidr-right.sidr-scroll-panel > .card > .card-header { flex: 0 0 auto; }
.sidr.sidr-right.sidr-scroll-panel .sidr-card-scroll { min-height: 0; overflow-y: auto; }
.sidr [inert] { opacity: .55; transition: opacity .15s ease; }
.sidr .field-group > label { display: block; width: 100%; font-weight: 600; }
.sidr .field-group > label .loading-indicator { display: none; float: right; }
.sidr .field-group > label .instant-relative { float: right; font-weight: 400; }
.sidr .sidr-incident-tickets-toggle { justify-content: flex-start; padding: 0; color: inherit; font-weight: 600; text-align: left !important; }
.sidr .sidr-incident-tickets-toggle:hover,
.sidr .sidr-incident-tickets-toggle:focus { color: inherit; text-decoration: none; }
.sidr .sidr-incident-tickets-toggle i { margin-right: .5rem; }
.sidr-marker .event-marker + .event-marker { margin-top: .3125rem; }
.marker-legacy-container { padding-bottom: .3125rem; }

div.sticky-mobile-content { display: none; }
@media (max-width: 767.98px) {
	div.sticky-mobile-content {
		position: sticky;
		top: var(--trkr-sticky-navbar-height);
		z-index: 1019;
		display: block;
		background: var(--tblr-bg-surface);
		border-bottom: var(--tblr-border-width) solid var(--tblr-border-color);
		padding: .5rem;
	}
}

/* Small compatibility helpers retained only for application-specific sizing. */
.trkr-quick-action:hover,
.trkr-quick-action:focus-visible {
	border-color: var(--tblr-primary);
	background-color: rgba(var(--tblr-primary-rgb), .08);
	color: var(--trkr-brand-green-text);
}
.btn-xl { --tblr-btn-padding-y: .75rem; --tblr-btn-padding-x: 1.25rem; --tblr-btn-font-size: 1rem; }
.table > :not(caption) > * > * { vertical-align: top; }
.table td small { overflow-wrap: anywhere; }
.table tbody tr td:not(.td-wrap) { white-space: nowrap; }
.table.td-wrap tr td { white-space: normal !important; }
.td-max { width: 100%; }
.table-down tbody tr td:first-child { font-weight: 600; }
.table-last-td-right tbody tr td:last-child:not([colspan]), .table-last-td-right thead tr th:last-child:not([colspan]) { text-align: right; }
.table-all-td-right tbody tr td:not(:first-child), .table-all-td-right thead tr th:not(:first-child) { text-align: right; }
.table tr.row-secondary td { border-top: 0; }
.table tr.row-separate-top { border-top: .2rem solid var(--tblr-border-color); }
.table tr.row-separate-bottom { border-bottom: .2rem solid var(--tblr-border-color); }
.list-group-incidents li { margin-bottom: .5rem; }
.list-group-unstyled li { border: 0; padding: .3125rem .9375rem; }
ul.event-plan-contact li.event-plan-contact-primary { font-weight: 600; }
ul.event-plan-entry.list-unstyled li, ul.event-plan-agency.list-unstyled li { margin-bottom: .5rem; }
thead.tbody-base { display: none; }
.timeline-container .btn-group-vertical button.btn, .modal-datetimepicker-launch button.btn { justify-content: space-between; text-align: start; }
.timeline-container .action-name, .modal-datetimepicker-launch .action-name { flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; text-align: start; white-space: normal; }
.timeline-container .action-time, .modal-datetimepicker-launch .action-time { flex: 0 0 auto; float: none; margin-inline-start: .75rem; text-align: end; white-space: nowrap; }
.table .instant-relative { font-weight: 400; }
input.dev { display: none; }
[data-attribute-input-type="bool"] .btn-group { display: block; }
[data-attribute-input-type="bool"] .btn-group label { width: auto !important; }
p.form-control { height: auto; border-width: 0 0 0 var(--tblr-border-width); }
textarea.form-control { resize: vertical; }
td.sidr-menu-open { cursor: pointer; }

body.trkr-watch { font-size: 1.02em; }
body.trkr-watch .newsticker { font-size: 1.2em; }
.watch-display-menu { min-width: 15rem; }
.trkr-watch-radar-sweep { transform-box: view-box; transform-origin: center; }
.trkr-watch-radar.is-refreshing .trkr-watch-radar-sweep { animation: trkr-watch-radar-sweep 1.2s linear infinite; }
@keyframes trkr-watch-radar-sweep { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
	.trkr-watch-radar.is-refreshing { opacity: .7; }
	.trkr-watch-radar.is-refreshing .trkr-watch-radar-sweep { animation: none; }
}
.watch-table-scroll {
	min-height: 0;
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	scrollbar-gutter: stable;
}
@media (min-width: 992px) {
	body.trkr-watch:not(.trkr-watch-map) .watch-content {
		height: calc(100dvh - var(--trkr-sticky-navbar-height) - var(--trkr-sticky-footer-height));
		overflow: hidden;
	}
	body.trkr-watch:not(.trkr-watch-map) .watch-content > .row,
	body.trkr-watch:not(.trkr-watch-map) .watch-report-column,
	body.trkr-watch:not(.trkr-watch-map) .watch-incident-column,
	body.trkr-watch:not(.trkr-watch-map) .watch-report-stack,
	body.trkr-watch:not(.trkr-watch-map) .watch-report-card,
	body.trkr-watch:not(.trkr-watch-map) .watch-incident-column > .container-incidents,
	body.trkr-watch:not(.trkr-watch-map) .watch-incident-card {
		min-height: 0;
	}
	body.trkr-watch:not(.trkr-watch-map) .watch-content > .row,
	body.trkr-watch:not(.trkr-watch-map) .watch-report-column,
	body.trkr-watch:not(.trkr-watch-map) .watch-incident-column,
	body.trkr-watch:not(.trkr-watch-map) .watch-report-stack {
		height: 100%;
	}
	body.trkr-watch:not(.trkr-watch-map) .watch-content > .row {
		--tblr-gutter-y: 0;
	}
	body.trkr-watch:not(.trkr-watch-map) .watch-content > .row,
	body.trkr-watch:not(.trkr-watch-map) .watch-report-stack,
	body.trkr-watch:not(.trkr-watch-map) .watch-report-card,
	body.trkr-watch:not(.trkr-watch-map) .watch-incident-column > .container-incidents,
	body.trkr-watch:not(.trkr-watch-map) .watch-incident-card {
		overflow: hidden;
	}
	body.trkr-watch:not(.trkr-watch-map) .watch-board-card {
		display: flex;
		max-height: none;
		flex: 0 0 auto;
		flex-direction: column;
		overflow: visible;
	}
	body.trkr-watch:not(.trkr-watch-map) .watch-board-card .watch-board {
		overflow: visible;
	}
	body.trkr-watch:not(.trkr-watch-map) .watch-report-column,
	body.trkr-watch:not(.trkr-watch-map) .watch-incident-column,
	body.trkr-watch:not(.trkr-watch-map) .watch-report-stack,
	body.trkr-watch:not(.trkr-watch-map) .watch-report-card,
	body.trkr-watch:not(.trkr-watch-map) .watch-incident-column > .container-incidents,
	body.trkr-watch:not(.trkr-watch-map) .watch-incident-card {
		display: flex;
		flex-direction: column;
	}
	body.trkr-watch:not(.trkr-watch-map) .watch-report-card,
	body.trkr-watch:not(.trkr-watch-map) .watch-incident-column > .container-incidents,
	body.trkr-watch:not(.trkr-watch-map) .watch-incident-card,
	body.trkr-watch:not(.trkr-watch-map) .watch-table-scroll {
		flex: 1 1 auto;
	}
	body.trkr-watch.watch-auto-scroll-disabled:not(.trkr-watch-map) .watch-content,
	body.trkr-watch.watch-auto-scroll-disabled:not(.trkr-watch-map) .watch-content > .row,
	body.trkr-watch.watch-auto-scroll-disabled:not(.trkr-watch-map) .watch-report-column,
	body.trkr-watch.watch-auto-scroll-disabled:not(.trkr-watch-map) .watch-incident-column,
	body.trkr-watch.watch-auto-scroll-disabled:not(.trkr-watch-map) .watch-report-stack {
		height: auto;
	}
	body.trkr-watch.watch-auto-scroll-disabled:not(.trkr-watch-map) .watch-content,
	body.trkr-watch.watch-auto-scroll-disabled:not(.trkr-watch-map) .watch-content > .row,
	body.trkr-watch.watch-auto-scroll-disabled:not(.trkr-watch-map) .watch-report-stack,
	body.trkr-watch.watch-auto-scroll-disabled:not(.trkr-watch-map) .watch-report-card,
	body.trkr-watch.watch-auto-scroll-disabled:not(.trkr-watch-map) .watch-incident-column > .container-incidents,
	body.trkr-watch.watch-auto-scroll-disabled:not(.trkr-watch-map) .watch-incident-card {
		overflow: visible;
	}
	body.trkr-watch.watch-auto-scroll-disabled:not(.trkr-watch-map) .watch-table-scroll {
		height: auto;
		flex: 0 0 auto;
		overflow-y: visible;
	}
}
body.trkr-watch .watch-table-scroll thead th {
	position: sticky;
	top: 0;
	z-index: 2;
	background: var(--tblr-bg-surface);
}
body.trkr-watch table { width: 100%; table-layout: auto; }
body.trkr-watch table th,
body.trkr-watch table td,
body.trkr-watch .bootstrap-table .fixed-table-container .table thead th .th-inner {
	overflow-wrap: anywhere;
	white-space: normal !important;
	word-break: break-word;
}
body.trkr-watch .bootstrap-table .fixed-table-container .table thead th .th-inner {
	overflow: visible;
	overflow-wrap: normal;
	text-overflow: clip;
	white-space: nowrap !important;
	word-break: normal;
}
body.trkr-watch table thead th {
	overflow-wrap: normal;
	white-space: nowrap !important;
	word-break: normal;
}
.watch-header-compact { display: none; }
@media (max-width: 991.98px) {
	body.trkr-watch .bootstrap-table .fixed-table-container .table thead th .th-inner {
		padding-inline: .125rem;
		font-size: .6875rem;
	}
	.watch-header-full { display: none; }
	.watch-header-compact { display: inline; }
}
body.trkr-watch .bootstrap-table .fixed-table-body { overflow: visible; }
body.trkr-watch #table-watch-incidents td.watch-incident-id,
body.trkr-watch #table-watch-custom td.watch-report-label {
	width: 1%;
	overflow-wrap: normal;
	white-space: nowrap !important;
	word-break: normal;
}
body.trkr-watch .watch-time,
body.trkr-watch .instant-relative {
	display: inline-block;
	overflow-wrap: normal;
	white-space: nowrap;
	word-break: normal;
}
body.trkr-watch #table-watch-incidents td.watch-resources { min-width: 0; }
body.trkr-watch #table-watch-incidents td.watch-resources .badge {
	display: inline-block;
	max-width: 100%;
	margin: 0 .2em .2em 0;
	overflow-wrap: anywhere;
	white-space: normal;
	word-break: break-word;
}

tbody tr.status-closed { background: var(--tblr-bg-surface-secondary); opacity: .7; }
tbody tr.status-deleted { background: var(--tblr-bg-surface-secondary); opacity: .7; text-decoration: line-through; }
tbody tr.status-closed code, tbody tr.status-deleted code { color: var(--tblr-secondary); }

ul.notepad-incidents { padding: 0; margin-bottom: 0; }
ul.notepad-incidents li { border-inline: 0; }
ul.notepad-incidents li span.notepad-incident-line { display: block; padding-left: .25rem; }
dt i { float: right; }
dt { text-decoration: underline; }
.incident-resource-suggestion { min-height: 2.75rem; text-align: left !important; white-space: normal; }
.incident-resource-cleared { opacity: .4; filter: grayscale(1); }
.incident-resource-agency + .incident-resource-agency { border-top: var(--tblr-border-width) solid var(--tblr-border-color); }
.incident-note-text { white-space: pre-wrap; overflow-wrap: anywhere; }
.sidr-note .event-note-group:not(.event-note-group-template) + .event-note-group:not(.event-note-group-template) { border-top: var(--tblr-border-width) solid var(--tblr-border-color); }
.bootstrap-table .filter-control, .bootstrap-table .filter-control input, .bootstrap-table .filter-control select { display: inline-block !important; width: auto !important; margin-left: .5rem; vertical-align: middle; }
.dictation-label { display: block; }
.start-dictation { float: right; cursor: pointer; }

@media print {
	.no-print, .no-print *, .d-print-none { display: none !important; }
	.print-only { display: block !important; }
}
@page { margin: 5mm !important; }
