/* Shared pages import the small local Header icon-normalization layer here. */
@import url("admin-icons.css");

:root {
	--color-primary: #0F5A46;
	--color-primary-dark: #0B4537;
	--color-info: #2563A6;
	--color-success: #238A57;
	--color-warning: #D99A24;
	--color-danger: #C94A4A;
	--color-purple: #7257A8;
	--color-teal: #138A8A;
	--color-text: #173042;
	--color-muted: #647684;
	--color-border: #D9E2E7;
	--color-surface: #FFFFFF;
	--color-surface-soft: #F4F7F9;
	--radius-sm: .45rem;
	--radius-md: .65rem;
	--shadow-sm: 0 3px 14px rgba(20, 48, 63, .08);
	--section-gap: 1rem;
	--field-gap: .75rem;
	--tg-primary: #0F5A46;
	--tg-primary-dark: #0B4537;
	--tg-accent: #168B68;
	--tg-blue: #2563A6;
	--tg-teal: #138A8A;
	--tg-success: #238A57;
	--tg-warning: #D99A24;
	--tg-danger: #C94A4A;
	--tg-purple: #7257A8;
	--tg-bg: #F4F7F9;
	--tg-surface: #FFFFFF;
	--tg-border: #D9E2E7;
	--tg-text: #173042;
	--tg-muted: #647684;
	--smpms-primary: var(--color-primary);
	--smpms-primary-dark: var(--color-primary-dark);
	--smpms-accent: #168B68;
	--smpms-bg: var(--color-surface-soft);
	--smpms-text: var(--color-text);
	--smpms-border: var(--color-border);
	--smpms-radius: var(--radius-md);
	--smpms-shadow: var(--shadow-sm)
}

body {
	font-family: "Segoe UI", Arial, sans-serif !important;
	color: var(--smpms-text);
	line-height: 1.5
}

body:not(.login-page) {
	background: var(--smpms-bg) !important
}

.header {
	background: linear-gradient(120deg, var(--smpms-primary-dark),
		var(--smpms-primary)) !important;
	border-bottom: 3px solid var(--smpms-accent)
}

.card, .gallery-card, .report-card, .filter-card, .profile-card {
	border: 1px solid var(--smpms-border) !important;
	border-radius: var(--smpms-radius) !important;
	box-shadow: var(--smpms-shadow) !important
}

.card-header {
	background: #edf5f1 !important;
	color: var(--smpms-primary-dark) !important;
	font-weight: 700;
	border-bottom: 1px solid var(--smpms-border) !important
}

.form-control, .form-select {
	min-height: 42px;
	border-color: #b9c8d0 !important;
	border-radius: .45rem !important
}

.form-control:focus, .form-select:focus {
	border-color: var(--smpms-primary) !important;
	box-shadow: 0 0 0 .2rem rgba(21, 94, 72, .14) !important
}

.btn {
	border-radius: .45rem !important;
	font-weight: 600;
	min-height: 40px
}

.btn-success {
	background: var(--smpms-primary) !important;
	border-color: var(--smpms-primary) !important
}

.btn-success:hover {
	background: var(--smpms-primary-dark) !important
}

.table {
	background: #fff
}

.table thead th {
	background: var(--smpms-primary-dark) !important;
	color: #fff !important;
	vertical-align: middle;
	white-space: nowrap
}

.table tbody tr:hover {
	background: #f0f7f4
}

.pagination-box {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: .5rem;
	flex-wrap: wrap;
	margin: 1rem 0
}

.page-title {
	color: var(--smpms-primary-dark) !important;
	font-weight: 700
}

.profile-photo {
	width: 100%;
	height: 245px;
	object-fit: cover;
	background: #e8eef1
}

.card-profile {
	height: 100%;
	overflow: hidden
}

.profile-body {
	display: flex;
	flex-direction: column;
	gap: .3rem
}

.alert {
	border-radius: var(--smpms-radius)
}

.spinner-border {
	color: var(--smpms-primary) !important
}

@media ( max-width :767.98px) {
	.container-fluid {
		padding-left: .75rem !important;
		padding-right: .75rem !important
	}
	.portal-title {
		font-size: 1rem !important
	}
	.table-responsive {
		border: 1px solid var(--smpms-border);
		border-radius: .5rem
	}
	.btn {
		width: auto
	}
	.profile-photo {
		height: 220px
	}
}

@media print {
	.header, .navbar, .btn-area, .pagination-box, .filter-card, .footer {
		display: none !important
	}
	.card {
		box-shadow: none !important
	}
	.container-fluid {
		padding: 0 !important
	}
}

/* Main dashboard */
.smpms-dashboard {
	max-width: 1600px;
	margin: 0 auto;
	padding: 24px 28px 40px
}

.dashboard-heading {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 24px
}

.dashboard-heading-icon {
	display: grid;
	place-items: center;
	width: 50px;
	height: 50px;
	border-radius: 12px;
	background: #e8f3ef;
	color: var(--smpms-primary);
	font-size: 1.55rem
}

.dashboard-heading h1 {
	margin: 0;
	color: var(--smpms-primary-dark);
	font-size: 1.8rem;
	font-weight: 750
}

.dashboard-heading .system-name {
	margin: 2px 0 0;
	color: #455b69;
	font-size: 1rem;
	font-weight: 600
}

.dashboard-heading .dashboard-subtitle {
	margin: 2px 0 0;
	color: #6b7c87;
	font-size: .875rem
}

.dashboard-section {
	margin: 0 0 26px
}

.dashboard-section-title {
	margin: 0 0 14px;
	color: #233845;
	font-size: 1.22rem;
	font-weight: 700
}

.dashboard-overview-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(320px,1fr);align-items:stretch;gap:16px;margin-bottom:18px}.dashboard-overview-row.dashboard-overview-single{grid-template-columns:minmax(0,1fr)}.dashboard-overview-panel{height:auto;margin:0;padding:14px 16px 16px;border:1px solid #dfe7ee;border-radius:14px;background:#fff;box-shadow:0 3px 10px rgba(15,23,42,.05)}.dashboard-overview-panel .dashboard-section-title{margin-bottom:10px;font-size:1.05rem}.dashboard-overview-panel .dashboard-card-grid{height:auto;gap:10px}.dashboard-overview-panel .dashboard-stat-card{min-height:0;padding:14px;box-shadow:none}.dashboard-overview-panel .dashboard-stat-icon{width:46px;height:46px;flex-basis:46px;font-size:1.25rem}.dashboard-overview-panel .dashboard-stat-value{font-size:1.8rem}.dashboard-overview-panel .dashboard-stat-description{font-size:.7rem}

.dashboard-card-grid.tg-other-state-cards{display:flex;flex-wrap:nowrap;align-items:stretch;gap:10px;width:100%}.tg-other-state-card{flex:1 1 0;min-width:0;width:0;min-height:98px!important;padding:9px 10px!important;gap:8px!important}.tg-other-state-card .dashboard-stat-icon{width:36px;height:36px;flex-basis:36px;font-size:1rem}.tg-other-state-card .dashboard-stat-content{gap:1px}.tg-other-state-card .dashboard-stat-label{overflow-wrap:anywhere;line-height:1.2}.tg-other-state-card .dashboard-stat-value{font-size:1.55rem;line-height:1.1}.tg-other-state-card .dashboard-stat-action{font-size:.72rem;line-height:1.2}

.dashboard-card-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px
}

.dashboard-card-grid.two-column {
	grid-template-columns: repeat(2, minmax(0, 1fr))
}

.dashboard-card-grid.five-column {
	grid-template-columns: repeat(5, minmax(0, 1fr))
}

@media ( min-width :992px) {
	#records-title + .dashboard-card-grid {
		grid-template-columns: repeat(5, minmax(0, 1fr))
	}
}

.dashboard-stat-card {
	display: flex;
	align-items: center;
	gap: 18px;
	min-height: 138px;
	padding: 22px;
	border: 1px solid #dfe7ec;
	border-radius: 14px;
	background: #fff;
	color: #243743;
	text-decoration: none;
	box-shadow: 0 4px 16px rgba(20, 40, 80, .06);
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s
		ease
}

.dashboard-stat-card:hover {
	transform: translateY(-3px);
	border-color: #b9cec5;
	box-shadow: 0 10px 24px rgba(20, 40, 80, .12);
	color: #173f32;
	text-decoration: none
}

.dashboard-stat-card:focus-visible, .status-count:focus-visible,
	.dashboard-state-filter:focus-visible {
	outline: 3px solid rgba(13, 110, 253, .25);
	outline-offset: 3px
}

.dashboard-stat-icon {
	display: grid;
	place-items: center;
	flex: 0 0 58px;
	width: 58px;
	height: 58px;
	border-radius: 14px;
	background: #e8f3ef;
	color: var(--smpms-primary);
	font-size: 1.55rem
}

.dashboard-stat-card.success .dashboard-stat-icon {
	background: #e7f5ec;
	color: #177245
}

.dashboard-stat-card.warning .dashboard-stat-icon {
	background: #fff4d7;
	color: #9a6800
}

.dashboard-icon-blue { --dashboard-icon-color:#2563a6; --dashboard-icon-bg:#eef5ff; }
.dashboard-icon-teal { --dashboard-icon-color:#138a8a; --dashboard-icon-bg:#eaf8f7; }
.dashboard-icon-green { --dashboard-icon-color:#238a57; --dashboard-icon-bg:#edf8f2; }
.dashboard-icon-natural-green { --dashboard-icon-color:#4f8a45; --dashboard-icon-bg:#f0f7ec; }
.dashboard-icon-purple { --dashboard-icon-color:#7257a8; --dashboard-icon-bg:#f4f0fa; }
.dashboard-icon-indigo { --dashboard-icon-color:#4f63b8; --dashboard-icon-bg:#eff1fb; }
.dashboard-icon-amber { --dashboard-icon-color:#b27a22; --dashboard-icon-bg:#fff7e7; }
.dashboard-icon-orange { --dashboard-icon-color:#b76520; --dashboard-icon-bg:#fff3e9; }
.dashboard-icon-red { --dashboard-icon-color:#a94a4a; --dashboard-icon-bg:#fceded; }
.dashboard-icon-slate { --dashboard-icon-color:#667785; --dashboard-icon-bg:#f1f4f6; }

.dashboard-stat-icon.dashboard-semantic-icon,
.rehabilitation-summary-card > i.dashboard-semantic-icon {
	background: var(--dashboard-icon-bg);
	color: var(--dashboard-icon-color);
}

.dashboard-stat-content {
	display: flex;
	min-width: 0;
	flex: 1;
	flex-direction: column
}

.dashboard-stat-label {
	color: #536774;
	font-size: .94rem;
	font-weight: 650
}

.dashboard-stat-value {
	margin: 2px 0;
	color: #172e3b;
	font-size: 2.25rem;
	line-height: 1.1
}

.dashboard-stat-description {
	color: #70818c;
	font-size: .8rem
}

.dashboard-stat-action {
	margin-top: 8px;
	color: var(--smpms-primary);
	font-size: .82rem;
	font-weight: 700
}

.dashboard-stat-action i {
	margin-left: 4px
}

.dashboard-panel {
	margin-bottom: 26px;
	overflow: hidden;
	border: 1px solid #dfe7ec;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 4px 16px rgba(20, 40, 80, .05)
}

.dashboard-panel-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 19px 22px;
	border-bottom: 1px solid #edf0f3
}

.dashboard-panel-header h2 {
	margin: 0;
	color: #253c49;
	font-size: 1.2rem;
	font-weight: 700
}

.dashboard-panel-header h2 i {
	margin-right: 8px;
	color: var(--smpms-primary)
}

.dashboard-panel-header p {
	margin: 4px 0 0;
	color: #71828d;
	font-size: .84rem
}

.dashboard-panel-body {
	padding: 20px 22px
}

.rehab-table {
	margin: 0
}

.rehab-table thead th {
	background: #f1f6f4 !important;
	color: #304a40 !important;
	border-bottom: 2px solid #dce7e2 !important
}

.rehab-category {
	display: flex;
	align-items: center;
	gap: 10px;
	font-weight: 650
}

.rehab-category i {
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border-radius: 9px;
	background: #edf4f1;
	color: var(--smpms-primary)
}

.status-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-width: 72px;
	padding: 6px 11px;
	border-radius: 999px;
	text-decoration: none;
	font-weight: 750
}

.status-count:hover {
	text-decoration: none
}

.status-count-success {
	background: #e6f5ec;
	color: #176a42
}

.status-count-warning {
	background: #fff2cf;
	color: #8b6200
}

.status-total {
	font-weight: 700;
	color: #506570
}

.dashboard-state-filter {
	min-width: 190px;
	min-height: 38px;
	border: 1px solid #bdcbd3;
	border-radius: 8px;
	background: #fff;
	padding: 6px 10px;
	color: #304653
}

.district-chart-scroll {
	position: relative;
	width: 100%;
	max-height: none;
	overflow-y: visible;
	overflow-x: hidden;
	scrollbar-color: #a9bbc4 #f0f3f5
}

.district-chart-inner {
	position: relative;
	width: 100%;
	min-height: 350px
}

.dashboard-empty {
	padding: 42px 16px;
	text-align: center;
	color: #71828d
}

.dashboard-empty i {
	display: block;
	margin-bottom: 8px;
	font-size: 1.8rem;
	color: #8da0ab
}

@media ( max-width :991.98px) {
	.dashboard-overview-row{grid-template-columns:1fr}
	.dashboard-card-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr))
	}
	.dashboard-card-grid.five-column {
		grid-template-columns: repeat(2, minmax(0, 1fr))
	}
	.smpms-dashboard {
		padding: 20px
	}
	.dashboard-panel-header {
		align-items: flex-start;
		flex-direction: column
	}
	.dashboard-state-filter {
		width: 100%
	}
}

@media(max-width:768px) {
	.dashboard-card-grid.tg-other-state-cards{flex-wrap:wrap;}
	.tg-other-state-card{flex:1 1 calc(50% - 5px);width:auto;}
}

@media ( max-width :575.98px) {
	.smpms-dashboard {
		padding: 16px 12px 30px
	}
	.dashboard-heading {
		align-items: flex-start
	}
	.dashboard-heading h1 {
		font-size: 1.5rem
	}
	.dashboard-card-grid, .dashboard-card-grid.two-column,
		.dashboard-card-grid.five-column {
		grid-template-columns: 1fr
	}
	.tg-other-state-card{flex:1 1 100%;min-height:94px!important;padding:9px 10px!important}
	.dashboard-stat-card {
		min-height: 124px;
		padding: 18px
	}
	.dashboard-stat-value {
		font-size: 2rem
	}
	.dashboard-panel-body {
		padding: 14px
	}
	.dashboard-panel-header {
		padding: 16px
	}
	.rehab-table {
		min-width: 590px
	}
	.district-chart-scroll {
		max-height: 800px
	}
}

/* Reports workspace */
.report-workspace {
	width: 100%;
	padding: 20px 22px 36px
}

.report-page-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 16px
}

.report-page-header h1 {
	margin: 0;
	color: var(--smpms-primary-dark);
	font-size: 1.65rem;
	font-weight: 750
}

.report-page-header h1 i {
	margin-right: 8px
}

.report-page-header p {
	margin: 3px 0 0;
	color: #6b7c87
}

.report-layout {
	display: grid;
	grid-template-columns: minmax(270px, 25%) minmax(0, 75%);
	gap: 18px;
	align-items: start
}

.report-filter-panel {
	position: static;
	border: 1px solid #dce5ea;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 4px 16px rgba(20, 40, 80, .06)
}

.report-filter-title {
	display: flex;
	align-items: center;
	gap: 11px;
	padding: 16px 18px;
	border-bottom: 1px solid #e8eef1
}

.report-filter-title>i {
	color: var(--smpms-primary);
	font-size: 1.25rem
}

.report-filter-title h2 {
	margin: 0;
	font-size: 1.08rem
}

.report-filter-title small {
	color: #74858f
}

.report-filter-body {
	padding: 15px 17px
}

.report-filter-group {
	margin-bottom: 13px
}

.report-filter-group>label {
	display: block;
	margin-bottom: 5px;
	color: #344b58;
	font-size: .83rem;
	font-weight: 700
}

.report-multiselect {
	position: relative
}

.report-multiselect-toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	min-height: 40px;
	padding: 8px 11px;
	border: 1px solid #b9c8d0;
	border-radius: 7px;
	background: #fff;
	color: #344b58;
	text-align: left
}

.report-multiselect-menu {
	position: absolute;
	z-index: 50;
	top: calc(100% + 4px);
	left: 0;
	display: none;
	width: 100%;
	min-width: 240px;
	padding: 9px;
	border: 1px solid #cad6dc;
	border-radius: 9px;
	background: #fff;
	box-shadow: 0 12px 28px rgba(20, 40, 60, .16)
}

.report-multiselect.open .report-multiselect-menu {
	display: block
}

.report-multiselect-actions {
	display: flex;
	justify-content: space-between;
	padding: 7px 1px
}

.report-multiselect-actions button {
	border: 0;
	background: transparent;
	color: var(--smpms-primary);
	font-size: .76rem;
	font-weight: 700
}

.report-multiselect-options {
	max-height: 190px;
	overflow-y: auto;
	border-top: 1px solid #edf1f3
}

.report-multiselect-options label {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 7px 5px;
	border-bottom: 1px solid #f1f3f5;
	font-size: .82rem;
	cursor: pointer
}

.report-multiselect-options label:hover {
	background: #f2f7f5
}

.report-benefit-options {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 7px
}

.report-benefit-option {
	display: flex;
	align-items: center;
	gap: 7px;
	min-height: 42px;
	margin: 0;
	padding: 7px 8px;
	border: 1px solid #dce5e9;
	border-radius: 8px;
	background: #fafcfc;
	font-size: .76rem;
	cursor: pointer
}

.report-benefit-option:has(input:checked) {
	border-color: #81aa98;
	background: #edf7f2;
	color: #164f39
}

.report-benefit-option i {
	color: var(--smpms-primary)
}

.report-filter-buttons {
	display: grid;
	gap: 8px;
	margin-top: 15px
}

.report-results {
	min-width: 0
}

.report-summary-grid {
	display: grid;
	grid-template-columns: repeat(6, minmax(105px, 1fr));
	gap: 10px;
	margin-bottom: 13px
}

.report-summary-grid>div {
	min-height: 76px;
	padding: 12px 14px;
	border: 1px solid #dfe7eb;
	border-radius: 10px;
	background: #fff;
	box-shadow: 0 2px 8px rgba(20, 40, 60, .04)
}

.report-summary-grid span {
	display: block;
	color: #667984;
	font-size: .75rem
}

.report-summary-grid strong {
	display: block;
	margin-top: 2px;
	color: #203b48;
	font-size: 1.35rem
}

.report-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 12px;
	border: 1px solid #dfe7eb;
	border-radius: 11px 11px 0 0;
	background: #fff
}

.report-global-search {
	position: relative;
	display: flex;
	flex: 1;
	gap: 8px;
	max-width: 700px
}

.report-global-search>i {
	position: absolute;
	z-index: 1;
	top: 13px;
	left: 13px;
	color: #71838e
}

.report-global-search input {
	padding-left: 36px
}

.report-export-actions {
	display: flex;
	gap: 7px
}

.report-result-meta {
	padding: 8px 13px;
	border-right: 1px solid #dfe7eb;
	border-left: 1px solid #dfe7eb;
	background: #f7f9fa;
	color: #60737e;
	font-size: .82rem
}

.report-table-wrap {
	max-height: none;
	min-height: 430px;
	overflow-x: auto;
	overflow-y: visible;
	border: 1px solid #dfe7eb;
	background: #fff
}

.report-data-table {
	min-width: 1320px;
	margin: 0
}

.report-data-table thead {
	position: sticky;
	z-index: 5;
	top: 0
}

.report-data-table thead a {
	color: #fff;
	text-decoration: none
}

.report-data-table tbody tr:nth-child(even) {
	background: #f8fafb
}

.report-data-table td {
	vertical-align: middle;
	font-size: .82rem
}

.report-photo {
	width: 46px;
	height: 54px;
	border-radius: 7px;
	object-fit: cover;
	background: #e7ecef
}

.report-benefit-badges {
	display: flex;
	max-width: 210px;
	flex-wrap: wrap;
	gap: 4px
}

.report-benefit-badge {
	padding: 3px 7px;
	border-radius: 999px;
	font-size: .67rem;
	font-weight: 700
}

.report-benefit-success {
	background: #e5f4eb;
	color: #166941
}

.report-benefit-warning {
	background: #fff0c7;
	color: #835d00
}

.report-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 13px;
	padding: 12px
}

.report-empty {
	min-height: 430px;
	padding: 90px 20px;
	border: 1px solid #dfe7eb;
	border-radius: 0 0 11px 11px;
	background: #fff;
	text-align: center;
	color: #72838d
}

.report-empty i {
	font-size: 2.2rem
}

.report-empty h3 {
	margin: 9px 0 2px;
	font-size: 1.15rem
}

@media ( max-width :1199.98px) {
	.report-layout {
		grid-template-columns: minmax(245px, 30%) minmax(0, 70%)
	}
	.report-summary-grid {
		grid-template-columns: repeat(3, 1fr)
	}
	.report-toolbar {
		align-items: stretch;
		flex-direction: column
	}
	.report-global-search {
		max-width: none
	}
}

@media ( max-width :991.98px) {
	.report-layout {
		grid-template-columns: 1fr
	}
	.report-filter-panel {
		position: static
	}
	.report-filter-body {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 0 14px
	}
	.report-filter-buttons {
		grid-column: 1/-1
	}
	.report-table-wrap {
		max-height: none
	}
	.report-results {
		width: 100%
	}
}

@media ( max-width :575.98px) {
	.report-workspace {
		padding: 14px 10px 26px
	}
	.report-filter-body {
		display: block
	}
	.report-summary-grid {
		grid-template-columns: repeat(2, 1fr)
	}
	.report-export-actions {
		display: grid;
		grid-template-columns: repeat(3, 1fr)
	}
	.report-export-actions .btn {
		padding: 7px 5px;
		font-size: .78rem
	}
	.report-global-search {
		flex-wrap: wrap
	}
	.report-global-search input {
		flex: 1 0 100%
	}
}

@media print {
	.report-page-header, .report-filter-panel, .report-toolbar,
		.report-pagination, .report-result-meta {
		display: none !important
	}
	.report-layout {
		display: block
	}
	.report-table-wrap {
		max-height: none;
		overflow: visible;
		border: 0
	}
	.report-data-table {
		min-width: 100%;
		font-size: 8pt
	}
	.report-data-table th:last-child, .report-data-table td:last-child,
		.report-data-table th:nth-last-child(2), .report-data-table td:nth-last-child(2)
		{
		display: none
	}
	.report-summary-grid {
		grid-template-columns: repeat(6, 1fr)
	}
}

/* District dashboard */
.district-dashboard {
	max-width: 1600px;
	margin: 0 auto;
	padding: 22px 28px 38px
}

.district-dashboard-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 20px;
	padding: 20px 22px;
	border: 1px solid #dfe7eb;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 4px 16px rgba(20, 40, 80, .05)
}

.dashboard-location-label {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--smpms-primary);
	font-size: .83rem;
	font-weight: 750;
	text-transform: uppercase;
	letter-spacing: .04em
}

.district-dashboard-header h1 {
	margin: 4px 0 2px;
	color: #203b48;
	font-size: 1.65rem;
	font-weight: 750
}

.district-dashboard-header p {
	margin: 0;
	color: #6d7f89
}

.dashboard-header-actions {
	display: flex;
	gap: 8px
}

.district-stat-grid {
	display: grid;
	gap: 14px;
	margin-bottom: 18px
}

.district-stat-grid.primary {
	grid-template-columns: repeat(5, minmax(0, 1fr))
}

.district-stat-grid.secondary {
	grid-template-columns: repeat(4, minmax(0, 1fr))
}

.district-stat-card {
	display: flex;
	align-items: center;
	gap: 13px;
	min-height: 112px;
	padding: 16px;
	border: 1px solid #dfe7eb;
	border-radius: 12px;
	background: #fff;
	color: #263e4a;
	text-decoration: none;
	box-shadow: 0 3px 12px rgba(20, 40, 70, .05);
	transition: .2s
}

.district-stat-card:hover {
	transform: translateY(-2px);
	border-color: #aac4b8;
	color: #173f32;
	text-decoration: none;
	box-shadow: 0 8px 20px rgba(20, 40, 70, .1)
}

.district-stat-card>i {
	display: grid;
	place-items: center;
	flex: 0 0 43px;
	width: 43px;
	height: 43px;
	border-radius: 11px;
	background: #e9f2ef;
	color: var(--smpms-primary);
	font-size: 1.25rem
}

.district-stat-card.success>i {
	background: #e5f5eb;
	color: #187048
}

.district-stat-card.warning>i {
	background: #fff1cb;
	color: #916400
}

.district-stat-card span {
	display: flex;
	min-width: 0;
	flex-direction: column
}

.district-stat-card small {
	color: #617580;
	font-size: .77rem;
	font-weight: 700
}

.district-stat-card strong {
	font-size: 1.75rem;
	line-height: 1.15
}

.district-stat-card em {
	margin-top: 3px;
	overflow: hidden;
	color: #7a8b94;
	font-size: .68rem;
	font-style: normal;
	text-overflow: ellipsis;
	white-space: nowrap
}

.district-rehab-table td {
	vertical-align: middle
}

.district-progress {
	display: inline-block;
	width: 90px;
	height: 7px;
	margin-right: 7px;
	overflow: hidden;
	border-radius: 8px;
	background: #e5ebee
}

.district-progress span {
	display: block;
	height: 100%;
	background: #287358
}

.district-financial-summary {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px;
	margin-top: 16px
}

.district-financial-summary>div {
	padding: 13px 15px;
	border: 1px solid #e0e8ec;
	border-radius: 10px;
	background: #f8faf9
}

.district-financial-summary span, .district-financial-summary small {
	display: block;
	color: #687b86;
	font-size: .75rem
}

.district-financial-summary strong {
	display: block;
	margin: 2px 0;
	color: #25473b;
	font-size: 1.18rem
}

.district-recent-table img {
	width: 42px;
	height: 48px;
	border-radius: 7px;
	object-fit: cover
}

.district-recent-table td {
	vertical-align: middle
}

.district-status {
	padding: 4px 8px;
	border-radius: 999px;
	font-size: .7rem;
	font-weight: 700
}

.district-status.success {
	background: #e5f4eb;
	color: #176a42
}

.district-status.warning {
	background: #fff0c7;
	color: #835d00
}

.district-status.muted {
	background: #edf0f2;
	color: #657681
}

@media ( max-width :1199.98px) {
	.district-stat-grid.primary {
		grid-template-columns: repeat(3, 1fr)
	}
	.district-stat-grid.secondary {
		grid-template-columns: repeat(2, 1fr)
	}
}

@media ( max-width :991.98px) {
	.district-dashboard {
		padding: 18px
	}
	.district-dashboard-header {
		align-items: flex-start;
		flex-direction: column
	}
	.district-financial-summary {
		grid-template-columns: 1fr
	}
}

@media ( max-width :575.98px) {
	.district-dashboard {
		padding: 12px 10px 28px
	}
	.district-stat-grid.primary, .district-stat-grid.secondary {
		grid-template-columns: 1fr 1fr
	}
	.district-stat-card {
		min-height: 103px;
		padding: 12px
	}
	.district-stat-card>i {
		display: none
	}
	.dashboard-header-actions {
		width: 100%;
		flex-direction: column
	}
	.district-rehab-table {
		min-width: 680px
	}
}

/* Shared document flow and approved record forms */
html, body {
	min-height: 100%
}

body {
	display: flex;
	min-height: 100vh;
	min-width: 0;
	flex-direction: column;
	background: #f3f6f8
}

body>main, body>.main-content, .main-content {
	flex: 1 0 auto
}

body>.footer, .footer {
	position: static !important;
	right: auto !important;
	bottom: auto !important;
	left: auto !important;
	flex-shrink: 0;
	width: 100%;
	margin-top: auto;
	padding: 12px 18px;
	background: #173f32;
	color: #fff;
	text-align: center
}

.record-form-page {
	width: min(1540px, 100%);
	margin: 0 auto;
	padding: 22px 26px 42px
}

.record-form-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	margin-bottom: 18px;
	padding: 19px 22px;
	border: 1px solid #dce5e9;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 4px 15px rgba(20, 40, 70, .05)
}

.record-form-heading h1 {
	margin: 0;
	color: #203e4b;
	font-size: 1.65rem;
	font-weight: 750
}

.record-form-heading h1 i {
	margin-right: 8px;
	color: var(--smpms-primary)
}

.record-form-heading p {
	margin: 4px 0 0;
	color: #6c7f89
}

.record-edit-meta {
	display: flex;
	align-items: flex-end;
	flex-direction: column;
	color: #687b85;
	font-size: .78rem
}

.record-edit-meta strong {
	color: #23483b;
	font-size: 1rem
}

.approved-record-form {
	display: grid;
	gap: 17px
}

.record-form-section {
	overflow: visible;
	border: 1px solid #dce5e9;
	border-radius: 13px;
	background: #fff;
	box-shadow: 0 3px 13px rgba(20, 40, 70, .045)
}

.record-form-section h2 {
	margin: 0;
	padding: 14px 18px;
	border-bottom: 1px solid #e8eef1;
	color: #29454f;
	font-size: 1.05rem;
	font-weight: 750
}

.record-form-section h2 i {
	margin-right: 8px;
	color: var(--smpms-primary)
}

.record-form-grid {
	display: grid;
	gap: 14px;
	padding: 17px 18px
}

.record-form-grid.four {
	grid-template-columns: repeat(4, minmax(0, 1fr))
}

.record-form-grid.three {
	grid-template-columns: repeat(3, minmax(0, 1fr))
}

.record-form-grid.two {
	grid-template-columns: repeat(2, minmax(0, 1fr))
}

.record-form-grid label, .rehab-form-card label {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: 5px;
	margin: 0;
	color: #344e5a;
	font-size: .8rem;
	font-weight: 700
}

.record-form-grid label>span {
	color: #b3261e
}

.field-label {
	display: inline-flex;
	align-items: baseline;
	gap: 3px;
	width: fit-content;
	color: inherit !important
}

.field-label .required-mark {
	margin-left: 0
}

.record-form-grid label small, .rehab-form-card small {
	min-height: 0;
	color: #74858e;
	font-size: .68rem;
	font-weight: 400
}

.record-form-grid input, .record-form-grid select, .record-form-grid textarea,
	.rehab-form-card input, .rehab-form-card select, .rehab-form-card textarea
	{
	width: 100%;
	min-height: 40px;
	padding: 8px 10px;
	border: 1px solid #b9c8cf;
	border-radius: 7px;
	background: #fff;
	color: #263d48;
	font-weight: 400
}

.record-form-grid textarea, .rehab-form-card textarea {
	resize: vertical
}

.record-form-grid input:focus, .record-form-grid select:focus,
	.record-form-grid textarea:focus, .rehab-form-card :focus {
	outline: 3px solid rgba(23, 112, 72, .14);
	border-color: #4f8c74
}

.span-2 {
	grid-column: span 2
}

.span-3 {
	grid-column: span 3
}

.field-muted {
	opacity: .62
}

.rehab-form-grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 12px;
	padding: 17px 18px
}

.rehab-form-card {
	display: grid;
	align-content: start;
	gap: 9px;
	padding: 13px;
	border: 1px solid #dfe7eb;
	border-radius: 10px;
	background: #fafcfc
}

.rehab-form-card h3 {
	margin: 0;
	color: #2e5043;
	font-size: .9rem;
	font-weight: 750
}

.record-form-actions {
	position: sticky;
	z-index: 20;
	bottom: 0;
	display: flex;
	justify-content: flex-end;
	gap: 9px;
	padding: 13px 17px;
	border: 1px solid #d4e0dc;
	border-radius: 12px;
	background: rgba(255, 255, 255, .96);
	box-shadow: 0 -4px 18px rgba(20, 40, 60, .08);
	backdrop-filter: blur(6px)
}

/* Records */
.records-page {
	width: 100%;
	padding: 20px 22px 38px
}

.records-heading, .records-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px
}

.records-heading {
	margin-bottom: 14px
}

.records-heading h1 {
	margin: 0;
	color: #203e4b;
	font-size: 1.65rem
}

.records-heading p {
	margin: 2px 0 0;
	color: #6c7e88
}

.records-heading>span {
	color: #647681;
	font-size: .84rem
}

.records-filter-panel {
	display: grid;
	grid-template-columns: 2fr repeat(4, minmax(120px, 1fr)) auto auto;
	gap: 8px;
	margin-bottom: 10px;
	padding: 12px;
	border: 1px solid #dce5e9;
	border-radius: 11px;
	background: #fff
}

.records-filter-panel input, .records-filter-panel select {
	min-width: 0;
	min-height: 40px;
	padding: 7px 9px;
	border: 1px solid #bdcbd2;
	border-radius: 7px
}

.records-toolbar {
	margin-bottom: 10px
}

.records-toolbar>div {
	display: flex;
	gap: 7px
}

.records-table-shell {
	width: 100%;
	overflow-x: auto;
	border: 1px solid #dce5e9;
	border-radius: 11px;
	background: #fff
}

.records-data-table {
	min-width: 1320px;
	margin: 0
}

.records-data-table thead {
	position: sticky;
	z-index: 5;
	top: 0
}

.records-data-table th {
	font-size: 14px;
	font-weight: 600;
	white-space: nowrap
}

.records-data-table td {
	height: 54px;
	max-width: 170px;
	font-size: 14px;
	font-weight: 400;
	vertical-align: middle
}

.records-data-table tbody tr:nth-child(even) {
	background: #f8fafb
}

.dataset-b-header-actions {
	display: flex;
	align-items: center;
	gap: 12px;
	color: #647681;
	font-size: .84rem
}

.dataset-b-records-table {
	min-width: 880px;
	table-layout: fixed;
	margin: 0
}

.dataset-b-records-table th,
.dataset-b-records-table td {
	padding: 8px 10px;
	vertical-align: middle
}

.dataset-b-records-table td {
	height: 80px;
	vertical-align: middle;
	max-width: none;
	overflow-wrap: anywhere
}

.dataset-b-records-table thead th {
	padding-top: 9px;
	padding-bottom: 9px
}

.dataset-b-sno-column {
	width: 56px
}

.dataset-b-photo-column {
	width: 80px;
}

.dataset-b-name-column {
	width: 21%
}

.dataset-b-alias-column {
	width: 16%
}

.dataset-b-rank-column {
	width: 10%
}

.dataset-b-district-column {
	width: 15%
}

.dataset-b-state-column {
	width: 18%
}

.dataset-b-action-column {
	width: 118px;
}

.dataset-b-photo-cell {
	padding: 7px 8px !important
}

.dataset-b-photo {
	width: 64px;
	height: 64px;
	object-fit: cover;
	border-radius: 8px;
	display: block;
	background: #eef3f5;
	border: 1px solid #d7e0e4
}

.dataset-b-name-cell {
	position: static;
	white-space: normal
}

.dataset-b-records-table .record-action-group {
	flex-wrap: nowrap;
	min-width: 112px
}

.truncate-cell {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap
}

.identity-cell {
	color: #234b3c;
	font-weight: 700
}

.record-action-group {
	display: flex;
	min-width: 118px;
	gap: 5px
}

.record-action-group a {
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border: 1px solid #cbd7dc;
	border-radius: 7px;
	color: #27634d
}

.record-action-group a:hover, .record-action-group a:focus {
	background: #eaf4f0;
	text-decoration: none
}

.records-empty {
	padding: 60px !important;
	text-align: center;
	color: #71828c
}

.standard-pagination {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: nowrap;
	gap: 7px;
	margin: 16px 0 0;
	padding-bottom: 4px
}

/* Shared result pagination: one right-aligned desktop row. */
.pagination-bar { display:flex; align-items:center; justify-content:flex-end; gap:10px; width:100%; margin:16px 0 4px; flex-wrap:nowrap; white-space:nowrap; }
.pagination-bar .standard-pagination,.pagination-bar .smpms-page-jump { display:contents; }
.pagination-bar .standard-pagination > :first-child { order:1; }
.pagination-bar .smpms-page-position { order:2; }
.pagination-bar .standard-pagination > :last-child { order:3; }
.pagination-bar .smpms-page-jump-form { order:4; }
.pagination-bar .smpms-page-jump-error { order:5; position:absolute; margin-top:3.2rem; }
.pagination-bar .btn { white-space:nowrap; }
.pagination-bar .smpms-page-jump-form input { width:4.75rem; }
.pagination-bar-scroll { width:100%; overflow-x:auto; overflow-y:visible; }
@media(max-width:600px){.pagination-bar{width:max-content;min-width:100%;justify-content:flex-start}.pagination-bar-scroll{padding-bottom:.35rem}}

/* Compact gallery */
.gallery-page {
	width: 100%;
	padding: 18px 20px 36px
}

.gallery-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 15px;
	margin-bottom: 12px
}

.gallery-heading h1 {
	margin: 0;
	color: #203e4b;
	font-size: 1.6rem
}

.gallery-heading p {
	margin: 2px 0 0;
	color: #6b7e88
}

.gallery-heading>span {
	font-size: .83rem;
	color: #5f737e
}

.gallery-controls {
	display: grid;
	grid-template-columns: 2fr repeat(4, 1fr) auto;
	align-items: end;
	gap: 8px;
	margin-bottom: 12px;
	padding: 11px 12px;
	border: 1px solid #dce5e9;
	border-radius: 11px;
	background: #fff
}

.gallery-controls label {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: 4px;
	margin: 0;
	color: #526975;
	font-size: .72rem;
	font-weight: 700
}

.gallery-controls input, .gallery-controls select {
	min-width: 0;
	height: 38px;
	padding: 6px 8px;
	border: 1px solid #bdcbd2;
	border-radius: 7px
}

.compact-gallery-grid {
	display: grid;
	grid-template-columns: repeat(8, minmax(0, 1fr));
	gap: 10px
}

.compact-gallery-card {
	min-width: 0;
	overflow: hidden;
	border: 1px solid #dce5e9;
	border-radius: 10px;
	background: #fff;
	box-shadow: 0 3px 11px rgba(20, 40, 70, .055);
	transition: .18s
}

.compact-gallery-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 7px 17px rgba(20, 40, 70, .1)
}

.gallery-card-photo {
	aspect-ratio: 4/5;
	width: 100%;
	object-fit: cover;
	background: #e9eef0
}

.compact-gallery-body {
	padding: 8px
}

.compact-gallery-body h2 {
	overflow: hidden;
	margin: 0;
	color: #254b3d;
	font-size: .83rem;
	font-weight: 750;
	text-overflow: ellipsis;
	white-space: nowrap
}

.gallery-alias {
	overflow: hidden;
	margin: 2px 0 5px;
	color: #71828b;
	font-size: .65rem;
	text-overflow: ellipsis;
	white-space: nowrap
}

.compact-gallery-body dl {
	margin: 5px 0
}

.compact-gallery-body dl>div {
	display: grid;
	grid-template-columns: 45% 55%;
	gap: 3px;
	padding: 2px 0;
	font-size: .62rem
}

.compact-gallery-body dt {
	color: #788890;
	font-weight: 600
}

.compact-gallery-body dd {
	overflow: hidden;
	margin: 0;
	color: #334c57;
	text-overflow: ellipsis;
	white-space: nowrap
}

.compact-gallery-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 4px;
	margin-top: 6px
}

.compact-gallery-footer>a {
	font-size: .68rem;
	font-weight: 700
}

.compact-gallery-status {
	padding: 2px 5px;
	border-radius: 999px;
	font-size: .58rem;
	font-weight: 700
}

.compact-gallery-status.success {
	background: #e5f4eb;
	color: #176a42
}

.compact-gallery-status.muted {
	background: #edf0f2;
	color: #657681
}

.gallery-message {
	grid-column: 1/-1;
	padding: 42px;
	text-align: center;
	color: #6d7f89
}

.gallery-message>* {
	display: block;
	margin: 3px auto
}

.gallery-error {
	color: #a22
}

/* Person-wise activities */
.activity-workspace {
	width: min(1500px, 100%);
	margin: 0 auto;
	padding: 20px 24px 38px
}

.activity-heading h1 {
	margin: 0;
	color: #203e4b;
	font-size: 1.65rem
}

.activity-heading p {
	margin: 3px 0 15px;
	color: #6c7f89
}

.activity-entry-panel, .activity-list-panel {
	margin-bottom: 18px;
	padding: 17px 19px;
	border: 1px solid #dce5e9;
	border-radius: 13px;
	background: #fff;
	box-shadow: 0 3px 13px rgba(20, 40, 70, .05)
}

.activity-person-context {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 13px;
	padding: 10px;
	border-radius: 9px;
	background: #f2f7f5
}

.activity-person-context img {
	width: 52px;
	height: 60px;
	border-radius: 8px;
	object-fit: cover
}

.activity-person-context div {
	display: flex;
	flex-direction: column
}

.activity-person-context span {
	color: #6b7e88;
	font-size: .76rem
}

.activity-entry-grid {
	display: grid;
	grid-template-columns: 2fr 1fr 2fr;
	gap: 12px
}

.activity-entry-grid label, .activity-filters label {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: 4px;
	margin: 0;
	color: #455e69;
	font-size: .76rem;
	font-weight: 700
}

.activity-entry-grid input, .activity-entry-grid select,
	.activity-entry-grid textarea, .activity-filters input,
	.activity-filters select {
	min-width: 0;
	min-height: 40px;
	padding: 7px 9px;
	border: 1px solid #bdcbd2;
	border-radius: 7px
}

.activity-description {
	grid-column: 1/-1
}

.activity-actions {
	display: flex;
	justify-content: flex-end;
	gap: 8px;
	margin-top: 12px
}

.activity-filters {
	display: grid;
	grid-template-columns: 1.5fr repeat(4, 1fr) auto auto;
	align-items: end;
	gap: 8px;
	padding-bottom: 15px;
	border-bottom: 1px solid #e7edef
}

.activity-panel-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 0
}

.activity-panel-heading h2 {
	margin: 0;
	font-size: 1.1rem
}

.activity-panel-heading span {
	color: #71828b;
	font-size: .78rem
}

.person-activity-timeline {
	max-width: 1050px;
	margin: 0 auto
}

.activity-timeline-item {
	display: grid;
	grid-template-columns: 105px 18px minmax(0, 1fr);
	gap: 10px
}

.activity-timeline-item>time {
	padding-top: 13px;
	color: #637781;
	font-size: .76rem;
	text-align: right
}

.activity-timeline-marker {
	position: relative
}

.activity-timeline-marker:before {
	position: absolute;
	top: 18px;
	left: 5px;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: #287358;
	content: ""
}

.activity-timeline-marker:after {
	position: absolute;
	top: 27px;
	bottom: -9px;
	left: 9px;
	width: 1px;
	background: #cddbd5;
	content: ""
}

.activity-timeline-card {
	margin-bottom: 11px;
	padding: 12px 14px;
	border: 1px solid #e0e7ea;
	border-radius: 10px;
	background: #fbfcfc
}

.activity-card-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 8px
}

.activity-card-head>div {
	display: flex;
	flex-direction: column
}

.activity-card-head a {
	color: #265a46;
	font-weight: 750
}

.activity-card-head span {
	color: #75868e;
	font-size: .7rem
}

.activity-recorded {
	padding: 3px 7px;
	border-radius: 999px;
	background: #e7f3ee;
	color: #246347;
	font-size: .65rem;
	font-weight: 700
}

.activity-timeline-card h3 {
	margin: 7px 0 3px;
	font-size: .9rem
}

.activity-timeline-card p {
	margin: 0;
	color: #526873;
	font-size: .8rem;
	white-space: pre-wrap
}

.activity-card-actions {
	display: flex;
	gap: 12px;
	margin-top: 8px;
	font-size: .72rem;
	font-weight: 700
}

.activity-empty {
	padding: 45px;
	text-align: center;
	color: #71828b
}

.activity-empty>* {
	display: block;
	margin: 3px
}

.profile-activity-row {
	display: grid;
	grid-template-columns: 110px 1fr;
	gap: 12px;
	padding: 9px 0;
	border-bottom: 1px solid #edf1f3
}

.profile-activity-row time {
	color: #6d7e87;
	font-size: .78rem
}

.profile-activity-row p {
	margin: 2px 0 0;
	color: #60737e;
	font-size: .82rem
}

@media ( max-width :1199.98px) {
	.record-form-grid.four {
		grid-template-columns: repeat(3, 1fr)
	}
	.rehab-form-grid {
		grid-template-columns: repeat(3, 1fr)
	}
	.compact-gallery-grid {
		grid-template-columns: repeat(4, 1fr)
	}
	.records-filter-panel, .gallery-controls, .activity-filters {
		grid-template-columns: repeat(3, 1fr)
	}
	.activity-entry-grid {
		grid-template-columns: 1fr 1fr
	}
}

@media ( max-width :767.98px) {
	.record-form-page, .records-page, .gallery-page, .activity-workspace {
		padding: 14px 10px 30px
	}
	.record-form-heading, .records-heading, .gallery-heading {
		align-items: flex-start;
		flex-direction: column
	}
	.record-edit-meta {
		align-items: flex-start
	}
	.record-form-grid.four, .record-form-grid.three, .record-form-grid.two,
		.rehab-form-grid {
		grid-template-columns: 1fr 1fr
	}
	.span-3 {
		grid-column: span 2
	}
	.records-filter-panel, .gallery-controls, .activity-filters {
		grid-template-columns: 1fr 1fr
	}
	.records-toolbar {
		align-items: flex-start;
		flex-direction: column
	}
	.compact-gallery-grid {
		grid-template-columns: repeat(2, 1fr)
	}
	.activity-entry-grid {
		grid-template-columns: 1fr
	}
	.activity-description {
		grid-column: auto
	}
}

@media ( max-width :430px) {
	.record-form-grid.four, .record-form-grid.three, .record-form-grid.two,
		.rehab-form-grid, .records-filter-panel, .gallery-controls,
		.activity-filters {
		grid-template-columns: 1fr
	}
	.span-2, .span-3 {
		grid-column: auto
	}
	.record-form-actions {
		position: static
	}
	.compact-gallery-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr))
	}
	.activity-timeline-item {
		grid-template-columns: 1fr
	}
	.activity-timeline-item>time {
		text-align: left
	}
	.activity-timeline-marker {
		display: none
	}
	.profile-activity-row {
		grid-template-columns: 1fr
	}
}

/* State dashboard and abstract reports */
.smpms-main-content {
	width: 100%
}

.state-dashboard-page {
	padding: 22px 24px 42px
}

.state-dashboard-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	margin-bottom: 18px;
	padding: 20px 22px;
	border: 1px solid #dce5e9;
	border-radius: 14px;
	background: #fff
}

.state-dashboard-header h1 {
	margin: 2px 0;
	color: #203e4b;
	font-size: 1.7rem
}

.state-dashboard-header p {
	margin: 0;
	color: #667b86
}

.dashboard-eyebrow {
	color: #267358;
	font-size: .73rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase
}

.state-summary-grid {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: 12px;
	margin-bottom: 20px
}

.state-summary-card {
	display: flex;
	min-height: 128px;
	min-width: 0;
	flex-direction: column;
	padding: 15px;
	border: 1px solid #dce5e9;
	border-radius: 12px;
	background: #fff;
	color: #29444f;
	text-decoration: none;
	box-shadow: 0 3px 12px rgba(20, 40, 70, .05);
	transition: .18s
}

.state-summary-card:hover {
	transform: translateY(-2px);
	border-color: #86aa9b;
	color: #1b654b
}

.state-summary-card:focus-visible {
	outline: 3px solid rgba(31, 111, 92, .22);
	outline-offset: 2px
}

.state-summary-card>i {
	color: #267358;
	font-size: 1.15rem
}

.state-summary-card>span {
	margin-top: 5px;
	font-size: .78rem;
	font-weight: 700
}

.state-summary-card>strong {
	font-size: 1.75rem;
	line-height: 1.15
}

.state-summary-card>small {
	margin-top: auto;
	color: #74858e;
	font-size: .67rem
}

.state-summary-success {
	border-top: 3px solid #278356
}

.state-summary-warning {
	border-top: 3px solid #d49a20
}

.dashboard-panel {
	margin-bottom: 20px;
	overflow: hidden;
	border: 1px solid #dce5e9;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 3px 13px rgba(20, 40, 70, .05)
}

.dashboard-panel-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px 20px;
	border-bottom: 1px solid #e8eef1
}

.dashboard-panel-header h2 {
	margin: 0;
	color: #29464f;
	font-size: 1.08rem
}

.dashboard-panel-header h2 i {
	margin-right: 7px;
	color: #267358
}

.dashboard-panel-header p {
	margin: 3px 0 0;
	color: #71828b;
	font-size: .78rem
}

.dashboard-panel-body {
	padding: 18px 20px
}

.state-chart-scroll {
	width: 100%;
	overflow-x: auto;
	overflow-y: hidden
}

.state-chart-inner {
	height: 360px;
	min-width: 760px
}

.state-rehab-table {
	min-width: 680px;
	margin: 0
}

.status-count {
	display: inline-flex;
	min-width: 42px;
	justify-content: center;
	padding: 5px 10px;
	border-radius: 999px;
	background: #edf1f3;
	color: #38505b;
	font-weight: 750;
	text-decoration: none
}

.status-count-success {
	background: #e4f4eb;
	color: #176a42
}

.status-count-warning {
	background: #fff0c7;
	color: #805b00
}

.dashboard-empty {
	padding: 55px 15px;
	color: #71828b;
	text-align: center
}

.abstract-page {
	width: 100%;
	padding: 22px 24px 42px
}

.abstract-heading {
	margin-bottom: 15px
}

.abstract-heading h1 {
	margin: 0;
	color: #203e4b;
	font-size: 1.7rem
}

.abstract-heading p {
	margin: 3px 0 0;
	color: #6b7e88
}

.abstract-selector {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin-bottom: 14px;
	padding: 10px;
	border: 1px solid #dce5e9;
	border-radius: 11px;
	background: #fff
}

.abstract-section-tabs {
	display: inline-flex;
	gap: 6px;
	margin-bottom: 10px;
	padding: 5px;
	border: 1px solid #cfdde2;
	border-radius: 12px;
	background: #edf5f1
}

.abstract-section-tabs a {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 9px 16px;
	border-radius: 8px;
	color: #365b4d;
	font-size: .86rem;
	font-weight: 700;
	text-decoration: none
}

.abstract-section-tabs a.active {
	background: #267358;
	color: #fff;
	box-shadow: 0 2px 7px rgba(21,94,72,.2)
}

.abstract-filter-bar {
	display: grid;
	grid-template-columns: minmax(110px, 170px) minmax(240px, 440px);
	align-items: center;
	gap: .65rem 1rem;
	margin: 0 0 1rem;
	padding: .85rem 1rem;
	border: 1px solid #d7e5de;
	border-radius: 12px;
	background: #f7fbf9;
}

.abstract-filter-bar label {
	margin: 0;
	font-weight: 650;
	color: #245744;
}

.abstract-filter-bar .form-select {
	width: 100%;
	min-width: 0;
	border-color: #b9d2c6;
}

.abstract-rehabilitation-filters {
	grid-template-columns: max-content minmax(210px, 1fr) max-content minmax(220px, auto);
}

.abstract-rehabilitation-filters.district-view {
	grid-template-columns: max-content minmax(190px, 1fr) max-content minmax(210px, auto) max-content minmax(180px, 1fr);
}

.abstract-filter-label {
	font-weight: 650;
	color: #245744;
}

.abstract-view-switch {
	display: inline-flex;
	padding: 3px;
	border: 1px solid #b9d2c6;
	border-radius: 9px;
	background: #fff;
}

.abstract-view-switch label {
	margin: 0;
	cursor: pointer;
}

.abstract-view-switch input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.abstract-view-switch span {
	display: block;
	padding: .42rem .75rem;
	border-radius: 6px;
	color: #46665a;
	font-size: .86rem;
	white-space: nowrap;
}

.abstract-view-switch input:checked + span {
	background: #267358;
	color: #fff;
}

.abstract-view-switch input:focus-visible + span {
	outline: 2px solid #8bbdab;
	outline-offset: 1px;
}

.abstract-selector a {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 7px 11px;
	border-radius: 7px;
	color: #46606b;
	font-size: .78rem;
	font-weight: 700;
	text-decoration: none
}

.abstract-selector a.active {
	background: #267358;
	color: #fff
}

.abstract-nav-icon {
	flex: 0 0 auto;
	font-size: 15px;
	line-height: 1;
}

.abstract-icon-general, .abstract-icon-district { color: #2563a6; }
.abstract-icon-rehab { color: #238a57; }
.abstract-icon-state { color: #138a8a; }
.abstract-icon-year { color: #7257a8; }
.abstract-icon-rank { color: #c98a1b; }
.abstract-icon-weapon { color: #a94a4a; }
.abstract-icon-district-year { color: #4f63b8; }

.abstract-section-tabs a.active .abstract-nav-icon,
.abstract-selector a.active .abstract-nav-icon {
	filter: brightness(1.45) saturate(.8);
}

.abstract-summary {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 12px
}

.abstract-summary span {
	padding: 6px 10px;
	border: 1px solid #dce5e9;
	border-radius: 999px;
	background: #fff;
	color: #526975;
	font-size: .75rem
}

.abstract-panel {
	overflow: hidden;
	border: 1px solid #dce5e9;
	border-radius: 13px;
	background: #fff;
	box-shadow: 0 3px 13px rgba(20, 40, 70, .05)
}

.abstract-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 12px 15px;
	border-bottom: 1px solid #e7edef
}

.abstract-toolbar h2 {
	margin: 0;
	font-size: 1.05rem
}

.abstract-toolbar-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 6px
}

.abstract-matrix-wrapper {
	max-width: 100%;
	overflow-x: auto;
	overflow-y: visible
}

.abstract-results-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 16px;
	padding: 16px
}

.abstract-table-pane, .abstract-chart-pane {
	min-width: 0;
	border: 1px solid #dce5e9;
	border-radius: 11px;
	background: #fff
}

.abstract-table-pane {
	max-height: 620px
}

.abstract-chart-pane {
	padding: 14px
}

.abstract-chart-pane h3 {
	margin: 0 0 10px;
	color: #203e4b;
	font-size: .95rem;
	font-weight: 700
}

.abstract-chart-scroll {
	width: 100%;
	overflow-x: auto;
	overflow-y: hidden
}

.abstract-chart-inner {
	height: 430px;
	min-width: 100%
}

.abstract-chart-empty {
	margin: 0;
	padding: 70px 16px;
	color: #71828b;
	text-align: center
}

.abstract-table {
	min-width: 720px;
	margin: 0
}

.abstract-table thead th {
	position: sticky;
	z-index: 3;
	top: 0;
	background: #285c49;
	color: #fff;
	white-space: nowrap
}

.abstract-table td, .abstract-table th {
	vertical-align: middle
}

.abstract-matrix-table {
	min-width: max-content
}

.abstract-matrix-table th:first-child, .abstract-matrix-table td:first-child
	{
	position: sticky;
	z-index: 2;
	left: 0;
	background: #fff
}

.abstract-matrix-table thead th:first-child {
	z-index: 4;
	background: #285c49
}

.abstract-count-link {
	font-weight: 750
}

.abstract-empty {
	padding: 65px 18px;
	color: #71828b;
	text-align: center
}

.abstract-panel-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 14px;
	padding: 15px;
	border-bottom: 1px solid #e7edef
}

.abstract-panel-head h2 {
	margin: 0 0 7px;
	font-size: 1.08rem
}

.abstract-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 7px
}

.abstract-badges span,
.abstract-badges a {
	padding: 5px 9px;
	border: 1px solid #dce5e9;
	border-radius: 999px;
	color: #5d717c;
	font-size: .72rem;
	text-decoration: none
}
.abstract-badges .abstract-partially-paid {
  background: #fff3d6;
  border-color: #e2ae4f;
  color: #8a5700;
}
.abstract-badges .financial-pending-summary {
	display: inline-flex;
	align-items: stretch;
	padding: 0;
	overflow: hidden;
	border-color: #dfbd78;
	border-radius: 8px;
	background: #fffaf0;
}
.financial-pending-summary .financial-pending-primary,
.financial-pending-summary .financial-pending-subset {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 5px 9px;
	border: 0;
	border-radius: 0;
	background: transparent;
}
.financial-pending-summary .financial-pending-primary { color: #765414; }
.financial-pending-summary .financial-pending-subset {
	border-left: 1px solid #dfbd78;
	color: #9a550a;
}

.abstract-actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px
}

.abstract-include-charts {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 38px;
	margin-left: 4px;
	padding: 6px 9px;
	border: 1px solid #d4e0e4;
	border-radius: 7px;
	color: #435f6b;
	font-size: .78rem;
	font-weight: 700;
	cursor: pointer
}

.abstract-include-charts input {
	width: 15px;
	height: 15px;
	accent-color: #267358
}

.abstract-export-note {
	flex-basis: 100%;
	color: #6b7e88;
	font-size: .68rem;
	text-align: right
}

.abstract-matrix-table {
	margin: 0;
	vertical-align: middle
}

.abstract-matrix-table thead th {
	position: sticky;
	z-index: 3;
	top: 0;
	background: #285c49;
	color: #fff;
	white-space: nowrap
}

.abstract-total-row td {
	background: #edf5f1 !important;
	font-weight: 750
}

@media ( max-width :1200px) {
	.state-summary-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr))
	}
}

@media ( max-width :768px) {
	.abstract-filter-bar {
		grid-template-columns: 1fr;
		gap: .4rem;
	}
	.abstract-rehabilitation-filters {
		grid-template-columns: 1fr;
	}
	.state-dashboard-page, .abstract-page {
		padding: 15px 12px 32px
	}
	.state-dashboard-header {
		align-items: flex-start;
		flex-direction: column
	}
	.state-summary-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr))
	}
	.abstract-toolbar {
		align-items: flex-start;
		flex-direction: column
	}
	.abstract-panel-head {
		align-items: flex-start;
		flex-direction: column
	}
	.abstract-actions {
		width: 100%
	}
	.abstract-export-note {
		text-align: left
	}
}

@media ( max-width :1100px) {
	.abstract-results-layout {
		grid-template-columns: minmax(0, 1fr)
	}
	.abstract-table-pane {
		max-height: none
	}
}

@media print {
	.abstract-results-layout {
		display: block;
		padding: 0
	}
	.abstract-chart-pane {
		display: none
	}
	body.print-include-chart .abstract-chart-pane {
		display: block;
		margin-top: 18px;
		page-break-before: auto
	}
	.abstract-table-pane {
		max-height: none;
		border: 0
	}
}

@media ( max-width :430px) {
	.state-summary-grid {
		grid-template-columns: 1fr
	}
	.state-summary-card {
		min-height: 112px
	}
}

/* Monitoring and verification log */
.monitoring-page {
	width: min(1600px, 100%);
	margin: 0 auto;
	padding: 20px 24px 42px
}

.monitoring-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 15px;
	margin-bottom: 15px
}

.monitoring-heading h1 {
	margin: 0;
	color: #203e4b;
	font-size: 1.65rem
}

.monitoring-heading h1 i {
	margin-right: 8px;
	color: #267358
}

.monitoring-heading p {
	margin: 3px 0 0;
	color: #6b7e88
}

.monitoring-dashboard-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
	flex-wrap: wrap
}

.monitoring-stat-card {
	width: 100%;
	min-height: 118px
}

.monitoring-section { margin-top: 16px }
.monitoring-summary-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px }
.monitoring-summary-card { display:flex;align-items:center;gap:12px;min-height:92px;padding:15px;border:1px solid #d9e6df;border-radius:12px;background:#fff;box-shadow:0 3px 12px rgba(20,65,48,.06) }
.monitoring-summary-card>i { display:grid;place-items:center;width:42px;height:42px;border-radius:10px;background:#e8f4ed;color:#267358;font-size:1.25rem }
.monitoring-summary-card.warning { border-color:#ead9ad;background:#fffdf7 }
.monitoring-summary-card.warning>i { background:#fff2cf;color:#9a6a00 }
.monitoring-summary-card span { display:block;color:#5c7067;font-size:.82rem;font-weight:700 }
.monitoring-summary-card strong { display:block;color:#173f31;font-size:1.75rem;line-height:1.15 }
.monitoring-section-head { display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;border-bottom:1px solid #e3ebe7 }
.monitoring-section-head h2 { margin:0;color:#234b3c;font-size:1.05rem }
.monitoring-section-head p { margin:3px 0 0;color:#6d7c75;font-size:.82rem }
.monitoring-count { display:inline-block;min-width:25px;padding:2px 7px;border-radius:20px;background:#f5e7c0;color:#795500;text-align:center;font-size:.75rem }
.monitoring-empty { padding:18px;text-align:center;color:#687b72;background:#fbfdfc;border-radius:0 0 12px 12px }
.monitoring-table { margin:0;font-size:.86rem;white-space:nowrap }
.monitoring-table thead th { padding:9px 10px;background:#286e53;color:#fff;border-color:#367c61;font-size:.78rem;vertical-align:middle }
.monitoring-table tbody td { padding:9px 10px;vertical-align:middle;border-color:#e4ebe7 }
.monitoring-table tbody tr:hover { background:#f4faf7 }
.monitoring-status { display:inline-block;padding:3px 8px;border-radius:12px;background:#edf2ef;color:#425c50;font-size:.75rem;font-weight:700 }
.monitoring-status.success { background:#e1f3e8;color:#17653a }.monitoring-status.warning { background:#fff0cd;color:#815b00 }.monitoring-status.info { background:#e6f1f4;color:#285d6c }
.monitoring-row-actions { display:flex;align-items:center;gap:7px;white-space:nowrap }
.monitoring-officer-group { margin:12px;border:1px solid #dbe7e1;border-radius:10px;overflow:hidden }
.monitoring-officer-group>header { display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:#f0f7f3;color:#315746 }
.monitoring-officer-group>header div { display:flex;align-items:baseline;gap:8px }.monitoring-officer-group>header strong { font-size:1rem }.monitoring-officer-group>header span { color:#62776d;font-size:.8rem }
.monitoring-quick-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px }
.monitoring-quick-card { display:flex;align-items:center;gap:12px;padding:14px;border:1px solid #d9e6df;border-radius:11px;background:#fff;color:#285943;text-decoration:none }
.monitoring-quick-card>i { font-size:1.35rem }.monitoring-quick-card span,.monitoring-quick-card small { display:block }.monitoring-quick-card small { color:#718078;margin-top:2px }
.monitoring-admin-tools { display:flex;gap:10px;flex-wrap:wrap;padding:13px }.monitoring-admin-tools a { padding:9px 12px;border:1px solid #b9d3c7;border-radius:8px;color:#236347;text-decoration:none;background:#f8fcfa }

.monitoring-stat-card.danger .dashboard-stat-icon {
	background: #fbe9e9;
	color: #b3261e
}

.monitoring-stat-card .dashboard-stat-value {
	font-size: 2rem;
	line-height: 1.1
}

.monitoring-form-panel, .monitoring-view-panel, .monitoring-list-panel {
	border: 1px solid #dce5e9;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 4px 16px rgba(20, 40, 70, .055)
}

.monitoring-form-title {
	padding: 17px 20px;
	border-bottom: 1px solid #e7edef
}

.monitoring-form-title h2 {
	margin: 0;
	font-size: 1.18rem
}

.monitoring-form-title p {
	margin: 3px 0 0;
	color: #6d7f89
}

.monitoring-section {
	margin: 15px 18px 0;
	padding: 0;
	border: 1px solid #e0e7eb;
	border-radius: 11px
}

.monitoring-section legend {
	float: none;
	width: auto;
	margin: 0 0 12px;
	padding: 0 8px;
	color: #315249;
	font-size: .88rem;
	font-weight: 750
}

.monitoring-section>label, .monitoring-section>.monitoring-grid {
	margin: 0 14px 14px
}

.monitoring-grid {
	display: grid;
	gap: 13px
}

.monitoring-grid.four {
	grid-template-columns: 2fr repeat(3, 1fr)
}

.monitoring-grid.two {
	grid-template-columns: 1fr 1fr
}

.monitoring-grid label, .monitoring-section>label {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: 5px;
	color: #3f5965;
	font-size: .78rem;
	font-weight: 700
}

.monitoring-grid label>span, .monitoring-section label>span {
	color: #b3261e
}

.monitoring-grid input, .monitoring-grid select, .monitoring-grid textarea,
	.monitoring-section textarea {
	min-width: 0;
	min-height: 40px;
	padding: 8px 10px;
	border: 1px solid #bdcbd2;
	border-radius: 7px;
	background: #fff;
	font-weight: 400
}

.monitoring-section textarea {
	width: 100%;
	resize: vertical
}

.monitoring-grid small {
	color: #72848e;
	font-size: .68rem;
	font-weight: 400
}

.monitoring-actions {
	display: flex;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: 8px;
	padding: 15px 18px
}

.monitoring-photo-preview {
	width: 92px;
	height: 108px;
	margin-top: 5px;
	border-radius: 8px;
	object-fit: cover
}

.monitoring-view-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 17px 20px;
	border-bottom: 1px solid #e7edef
}

.monitoring-view-head h2 {
	margin: 0;
	font-size: 1.2rem
}

.monitoring-view-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0;
	padding: 8px 20px
}

.monitoring-view-grid>div {
	padding: 12px;
	border-bottom: 1px solid #edf1f3
}

.monitoring-view-grid .wide {
	grid-column: 1/-1
}

.monitoring-view-grid dt {
	color: #677b86;
	font-size: .72rem
}

.monitoring-view-grid dd {
	margin: 3px 0 0
}

.preserve-lines {
	white-space: pre-wrap
}

.monitoring-view-photo {
	max-width: 260px;
	max-height: 320px;
	border-radius: 10px;
	object-fit: contain
}

.monitoring-filters {
	display: grid;
	grid-template-columns: 1.5fr repeat(5, 1fr) auto auto;
	align-items: end;
	gap: 8px;
	padding: 13px
}

.monitoring-filters label {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: 4px;
	color: #526975;
	font-size: .72rem;
	font-weight: 700
}

.monitoring-filters input, .monitoring-filters select {
	min-width: 0;
	min-height: 38px;
	padding: 6px 8px;
	border: 1px solid #bdcbd2;
	border-radius: 7px
}

.monitoring-dashboard-filters input:disabled {
	opacity: 1;
	background: #f2f6f4;
	color: #425d50;
	cursor: not-allowed
}

.monitoring-result-meta {
	padding: 8px 13px;
	border-top: 1px solid #e7edef;
	background: #f7f9fa;
	color: #617580;
	font-size: .78rem
}

.monitoring-table-wrap {
	width: 100%;
	overflow-x: auto;
	overflow-y: visible
}

.monitoring-table {
	min-width: 1320px;
	margin: 0
}

.monitoring-table thead {
	position: sticky;
	z-index: 4;
	top: 0
}

.monitoring-table td {
	max-width: 220px;
	vertical-align: middle;
	font-size: .79rem
}

.monitoring-observation {
	overflow: hidden;
	max-width: 270px;
	text-overflow: ellipsis;
	white-space: nowrap
}

.monitoring-row-actions {
	display: flex;
	gap: 5px
}

.monitoring-row-actions a {
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border: 1px solid #cbd7dc;
	border-radius: 7px;
	color: #27634d
}

.monitoring-status {
	display: inline-block;
	padding: 4px 8px;
	border-radius: 999px;
	background: #edf1f3;
	color: #4f626c;
	font-size: .68rem;
	font-weight: 750;
	white-space: nowrap
}

.monitoring-status.normal {
	background: #e5f4eb;
	color: #176a42
}

.monitoring-status.shifted-residence {
	background: #e6f0f8;
	color: #315f7c
}

.monitoring-status.not-available {
	background: #fff0c7;
	color: #805b00
}

.monitoring-status.under-observation {
	background: #f7e8d9;
	color: #7b491e
}

.monitoring-empty {
	padding: 60px !important;
	color: #71828b;
	text-align: center
}

.monitoring-empty>* {
	display: block;
	margin: 3px auto
}

.profile-monitoring-table {
	min-width: 720px
}

.profile-monitoring-observation {
	overflow: hidden;
	max-width: 320px;
	text-overflow: ellipsis;
	white-space: nowrap
}
/* Monitoring selector and read-only person preview */
.monitoring-required-note {
	margin: 14px 20px 0;
	color: #647984;
	font-size: .78rem
}

.required-mark {
	display: inline !important;
	margin-left: 2px;
	color: #dc3545 !important;
	font-weight: 700
}

.monitoring-field {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: 5px
}

.monitoring-field>.form-label {
	display: block;
	margin: 0;
	color: #3f5965;
	font-size: .78rem;
	font-weight: 700;
	line-height: 1.35
}

.monitoring-grid.three {
	grid-template-columns: repeat(3, minmax(0, 1fr))
}

.monitoring-details-grid {
	display: grid;
	grid-template-columns: minmax(0, 6fr) minmax(0, 7fr) minmax(0, 7fr);
	gap: 12px;
	align-items: start;
	margin: 0 14px 14px
}

.monitoring-details-grid .monitoring-field {
	display: flex;
	min-width: 0;
	flex-direction: column;
	justify-content: flex-end
}

.monitoring-details-grid .form-label {
	margin-bottom: 5px;
	color: #3f5965;
	font-size: .78rem;
	font-weight: 700
}

.monitoring-details-grid .form-control,
.monitoring-details-grid .form-select,
.monitoring-place-type-options {
	min-height: 40px
}

.monitoring-place-type-options {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: nowrap;
	padding: 0 2px
}

.monitoring-place-controls {
	display: grid;
	gap: 7px;
	min-width: 0
}

.monitoring-observation-followup-grid {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
	gap: 12px;
	align-items: stretch
}

.monitoring-observation-followup-grid>.monitoring-section {
	min-width: 0;
	height: calc(100% - 16px)
}

.monitoring-observation-followup-grid .monitoring-wide-field {
	height: calc(100% - 14px)
}

.monitoring-place-type-options label {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	margin: 0;
	white-space: nowrap;
	color: #3f5965;
	font-size: .78rem;
	font-weight: 600
}

.monitoring-place-type-options input {
	margin: 0;
	accent-color: #168b68
}

@media ( max-width :992px) {
	.monitoring-details-grid,
	.monitoring-observation-followup-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr))
	}
	.monitoring-place-field {
		grid-column: 1/-1
	}
}

@media ( max-width :576px) {
	.monitoring-details-grid,
	.monitoring-observation-followup-grid {
		grid-template-columns: 1fr
	}
	.monitoring-place-field {
		grid-column: auto
	}
	.monitoring-place-type-options {
		flex-wrap: wrap
	}
}

.monitoring-wide-field {
	margin: 0 14px 14px
}

.monitoring-field-error {
	color: #b3261e;
	font-size: .72rem;
	font-weight: 600
}

.monitoring-field-error:not(:empty) {
	margin-top: 2px
}

.monitoring-combobox {
	position: relative;
	width: 100%
}

.monitoring-combobox .form-control {
	height: 42px;
	padding-right: 42px
}

.monitoring-combobox-clear {
	position: absolute;
	z-index: 3;
	top: 5px;
	right: 5px;
	display: grid;
	width: 32px;
	height: 32px;
	padding: 0;
	place-items: center;
	border: 0;
	border-radius: 6px;
	background: transparent;
	color: #627782
}

.monitoring-combobox-clear:hover, .monitoring-combobox-clear:focus-visible
	{
	background: #edf3f5;
	color: #214d3d;
	outline: 2px solid rgba(13, 110, 253, .22)
}

.monitoring-combobox-results {
	position: absolute;
	z-index: 1060;
	top: calc(100% + 4px);
	right: 0;
	left: 0;
	max-height: 280px;
	overflow-y: auto;
	border: 1px solid #b9c9d0;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 12px 28px rgba(22, 44, 60, .16)
}

.monitoring-combobox-option {
	display: block;
	width: 100%;
	padding: 10px 12px;
	border: 0;
	border-bottom: 1px solid #edf1f3;
	background: #fff;
	color: #314b57;
	text-align: left;
	font-size: .82rem
}

.monitoring-combobox-option:last-child {
	border-bottom: 0
}

.monitoring-combobox-option:hover, .monitoring-combobox-option:focus-visible,
	.monitoring-combobox-option.active {
	background: #eaf4ef;
	color: #174f39;
	outline: 0
}

.monitoring-combobox-empty {
	padding: 15px;
	color: #6d8089;
	text-align: center;
	font-size: .8rem
}

.monitoring-search-state {
	min-height: 18px;
	color: #71838c;
	font-size: .72rem;
	font-weight: 400
}

.monitoring-person-section {
	overflow: visible
}

.monitoring-person-section>.monitoring-field {
	margin: 0 14px 12px
}

.monitoring-person-preview {
	margin: 0 14px 14px;
	padding: 12px;
	border: 1px solid #dbe5e9;
	border-radius: 10px;
	background: #f8fafb
}

.monitoring-preview-loading {
	display: flex;
	min-height: 70px;
	align-items: center;
	justify-content: center;
	gap: 8px;
	color: #60747e;
	font-size: .8rem
}

.monitoring-person-preview-content {
	display: flex;
	align-items: flex-start;
	gap: 14px
}

.monitoring-person-photo {
	width: 90px;
	height: 110px;
	flex: 0 0 90px;
	border: 1px solid #d4dfe3;
	border-radius: 8px;
	background: #eef2f4;
	object-fit: cover
}

.monitoring-person-details {
	min-width: 0;
	flex: 1
}

.monitoring-person-heading {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 5px 12px;
	margin-bottom: 7px
}

.monitoring-person-heading strong {
	color: #244654;
	font-size: 1rem
}

.monitoring-person-heading span {
	color: #657b86;
	font-size: .76rem
}

.monitoring-person-details dl {
	display: grid;
	grid-template-columns: repeat(2, minmax(120px, 180px));
	gap: 7px 20px;
	margin: 0
}

.monitoring-person-details dt {
	color: #74868e;
	font-size: .66rem;
	text-transform: uppercase;
	letter-spacing: .03em
}

.monitoring-person-details dd {
	margin: 1px 0 0;
	color: #344f5b;
	font-size: .8rem;
	line-height: 1.4;
	overflow-wrap: anywhere
}

.monitoring-profile-link {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	margin-top: 8px;
	color: #236449;
	font-size: .75rem;
	font-weight: 700;
	text-decoration: none
}

.monitoring-profile-link:hover {
	text-decoration: underline
}

@media ( max-width :1199px) {
	.monitoring-summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)) }
	.monitoring-grid.four {
		grid-template-columns: repeat(2, 1fr)
	}
	.monitoring-filters {
		grid-template-columns: repeat(4, 1fr)
	}
}

@media ( max-width :768px) {
	.monitoring-page {
		padding: 14px 10px 32px
	}
	.monitoring-heading {
		align-items: flex-start;
		flex-direction: column
	}
	.monitoring-officer-group>header { align-items:flex-start;flex-direction:column }
	.monitoring-quick-grid { grid-template-columns:1fr }
	.monitoring-dashboard-actions {
		width: 100%;
		justify-content: flex-start
	}
	.monitoring-grid.four, .monitoring-grid.three, .monitoring-grid.two,
		.monitoring-view-grid {
		grid-template-columns: 1fr
	}
	.monitoring-view-grid .wide {
		grid-column: auto
	}
	.monitoring-filters {
		grid-template-columns: repeat(2, 1fr)
	}
	.monitoring-person-preview-content {
		align-items: flex-start
	}
	.monitoring-person-details dl {
		grid-template-columns: 1fr
	}
}

@media ( max-width :430px) {
	.monitoring-summary-grid { grid-template-columns:1fr }
	.monitoring-dashboard-actions .btn {
		width: 100%
	}
	.monitoring-filters {
		grid-template-columns: 1fr
	}
	.monitoring-actions {
		justify-content: stretch
	}
	.monitoring-actions .btn {
		flex: 1
	}
	.monitoring-person-preview-content {
		flex-direction: column
	}
	.monitoring-person-photo {
		width: 82px;
		height: 100px;
		flex-basis: 100px
	}
}

/* Compact allotted rehabilitation summary */
.rehabilitation-scope-label {
	display: inline-flex;
	padding: 5px 10px;
	border: 1px solid #d8e5df;
	border-radius: 999px;
	background: #f3f8f6;
	color: #31594a;
	font-size: .72rem;
	font-weight: 700;
	white-space: normal
}

.state-summary-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr))
}

.district-stat-grid.primary {
	grid-template-columns: repeat(3, minmax(0, 1fr))
}

.district-stat-grid.secondary {
	grid-template-columns: repeat(2, minmax(0, 1fr))
}

.rehabilitation-summary-grid {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: 12px
}

.rehabilitation-summary-card {
	display: flex;
	min-width: 0;
	min-height: 112px;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 4px;
	padding: 13px 9px;
	border: 1px solid #dce6e2;
	border-radius: 11px;
	background: #fff;
	color: #29483c;
	text-align: center;
	text-decoration: none;
	box-shadow: 0 2px 9px rgba(20, 40, 70, .045);
	transition: .18s
}

.rehabilitation-summary-card:hover {
	transform: translateY(-2px);
	border-color: #8db5a5;
	background: #f6faf8;
	color: #175d43;
	text-decoration: none
}

.rehabilitation-summary-card:focus-visible {
	outline: 3px solid rgba(13, 110, 253, .25);
	outline-offset: 2px
}

.rehabilitation-summary-card i {
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	border-radius: 9px;
	color: #267358;
	font-size: 1.15rem
}

.rehabilitation-summary-card span {
	display: flex;
	min-height: 34px;
	align-items: center;
	justify-content: center;
	font-size: .77rem;
	font-weight: 700;
	line-height: 1.2
}

.rehabilitation-summary-card strong {
	font-size: 1.75rem;
	line-height: 1
}

.rehabilitation-summary-card.total {
	border-top: 3px solid #267358;
	background: #f3f8f6
}

.dashboard-stat-card, .state-summary-card, .district-stat-card,
.rehabilitation-summary-card {
	border-color: #dce5e9
}

.records-rehab-switch {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 9px;
	margin-bottom: 10px;
	padding: 10px 12px;
	border: 1px solid #dce5e9;
	border-radius: 10px;
	background: #fff
}

.records-rehab-switch label {
	margin: 0;
	color: #435c67;
	font-size: .78rem;
	font-weight: 700
}

.records-rehab-switch select {
	min-width: 130px;
	height: 38px;
	border: 1px solid #b9c8cf;
	border-radius: 7px;
	padding: 6px 9px
}

.records-filter-summary {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin-left: auto
}

.records-filter-summary span {
	padding: 5px 9px;
	border-radius: 999px;
	background: #edf4f1;
	color: #31584a;
	font-size: .72rem;
	font-weight: 700
}

@media ( max-width :1599.98px) {
	.rehabilitation-summary-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr))
	}
}

@media ( max-width :1199.98px) {
	.rehabilitation-summary-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr))
	}
}

@media ( max-width :359.98px) {
	.rehabilitation-summary-grid {
		grid-template-columns: 1fr
	}
}

@media ( max-width :575.98px) {
	.rehabilitation-summary-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr))
	}
	.rehabilitation-summary-card {
		min-height: 104px
	}
	.records-filter-summary {
		width: 100%;
		margin-left: 0
	}
}

@media ( max-width :575.98px) {
	.state-summary-grid, .district-stat-grid.primary {
		grid-template-columns: repeat(2, minmax(0, 1fr))
	}
}

@media ( max-width :390px) {
	.state-summary-grid, .district-stat-grid.primary {
		grid-template-columns: 1fr
	}
}

/* Compact surrendered-person profile */
.profile-view-page {
	overflow-x: hidden
}

.profile-page-container {
	width: 100%;
	max-width: 1600px;
	margin: 0 auto;
	padding: 16px 20px 34px
}

.profile-identity-card {
	display: grid;
	grid-template-columns: 140px minmax(0, 1fr) auto;
	align-items: center;
	gap: 18px;
	margin-bottom: 10px;
	padding: 14px 16px;
	border: 1px solid #dbe5ea;
	border-radius: 13px;
	background: #fff;
	box-shadow: 0 3px 12px rgba(15, 23, 42, .055)
}

.profile-view-photo {
	width: 140px;
	height: 170px;
	border: 1px solid #d2dde2;
	border-radius: 10px;
	background: #edf2f4;
	object-fit: cover
}

.profile-identity-content {
	min-width: 0
}

.profile-eyebrow {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px;
	color: #637983;
	font-size: .74rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .035em
}

.profile-eyebrow i {
	color: #267358;
	font-size: 1rem
}

.profile-eyebrow span {
	padding-left: 7px;
	border-left: 1px solid #d6e0e4
}

.profile-identity-content h1 {
	margin: 4px 0 0;
	color: #183e31;
	font-size: 1.65rem;
	font-weight: 780;
	overflow-wrap: anywhere
}

.profile-alias {
	margin: 2px 0 7px;
	color: #667a84;
	font-size: .86rem
}

.profile-identity-facts {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px 14px;
	color: #3d5662;
	font-size: .78rem
}

.profile-identity-facts>span {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	min-width: 0
}

.profile-identity-facts i {
	color: #5c8071
}

.profile-action-toolbar {
	display: flex;
	max-width: 310px;
	align-content: center;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: 7px
}

.profile-action-toolbar .btn {
	white-space: nowrap
}

.profile-section-layout {
	display: grid;
	align-items: start;
	gap: 10px;
	margin-bottom: 10px
}

.profile-primary-layout {
	grid-template-columns: minmax(0, 1.55fr) minmax(340px, .9fr)
}

.profile-row-one {
	grid-template-columns: minmax(0, 1.65fr) minmax(300px, .8fr)
}

.profile-row-two {
	grid-template-columns: repeat(2, minmax(0, 1fr))
}

.profile-row-one>.profile-section, .profile-row-two>.profile-section {
	height: auto;
	align-self: start
}

.profile-halves {
	grid-template-columns: repeat(2, minmax(0, 1fr))
}

.profile-section {
	min-width: 0;
	margin-bottom: 10px;
	overflow: hidden;
	border: 1px solid #dfe7ee;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 2px 8px rgba(15, 23, 42, .04)
}

.profile-section-layout>.profile-section {
	margin-bottom: 0
}

.profile-section-header {
	display: flex;
	min-height: 40px;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 8px 12px;
	border-bottom: 1px solid #e6edf3;
	background: #fbfcfc
}

.profile-section-header h2 {
	margin: 0;
	color: #294b3f;
	font-size: 1rem;
	font-weight: 760
}

.profile-section-header h2 i {
	margin-right: 7px;
	color: #267358
}

.profile-section-header p {
	margin: 2px 0 0;
	color: #71828b;
	font-size: .7rem
}

.profile-section-body {
	min-width: 0;
	padding: 7px 12px 9px
}

.profile-info-grid {
	display: grid;
	min-width: 0;
	gap: 0 16px
}

.profile-info-grid.three {
	grid-template-columns: repeat(3, minmax(0, 1fr))
}

.profile-info-grid.two {
	grid-template-columns: repeat(2, minmax(0, 1fr))
}

.profile-info-item {
	min-width: 0;
	padding: 6px 3px;
	border-bottom: 1px solid #e8edf0
}

.profile-label {
	display: block;
	margin-bottom: 2px;
	color: #667b86;
	font-size: 1rem !important;
	font-weight: bold;
	line-height: 1.25
}

.profile-value {
	display: block;
	color: #172f38;
	font-size: 1rem !important;
	line-height: 1.42;
	overflow-wrap: anywhere;
	word-break: break-word
}

.profile-long-value {
	white-space: pre-line
}

.profile-span-full {
	grid-column: 1/-1
}

.profile-subgroup-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 11px
}

.profile-financial-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: stretch
}

.profile-subgroup {
	min-width: 0;
	padding: 7px 9px;
	border: 1px solid #e5ebee;
	border-radius: 8px;
	background: #fbfcfc
}

.profile-subgroup h3 {
	margin: 0 0 3px;
	color: #35564a;
	font-size: .82rem;
	font-weight: 760
}

.profile-subsection-title {
	display: flex;
	align-items: center;
	gap: 7px;
	margin: 14px 0 9px;
	padding-top: 12px;
	border-top: 1px solid #e3eaed;
	color: #35564a;
	font-size: .9rem;
	font-weight: 760
}

.profile-financial-details {
	padding-top: 0;
	padding-bottom: 0
}

.profile-financial-section {
	padding: 8px 2px;
	border-bottom: 1px solid #e3eaed
}

.profile-financial-section:last-child {
	border-bottom: 0
}

.profile-financial-section h3, .profile-weapon-item h3 {
	margin: 0 0 4px;
	color: #35564a;
	font-size: .82rem;
	font-weight: 760
}

.profile-financial-total {
	display: block;
	color: #173f34;
	font-size: 1.25rem;
	font-weight: 800
}

.profile-financial-section .profile-info-item {
	padding: 5px 2px;
	border-bottom: 0
}

.profile-financial-primary-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px 14px;
}

@media (max-width: 767.98px) {
	.profile-financial-primary-grid { grid-template-columns: 1fr; }
}

.profile-weapon-row {
	min-width: 0
}

.profile-weapon-table {
	width: 100%;
	margin: 0
}

.profile-weapon-table th, .profile-weapon-table td {
	padding: 6px 8px;
	vertical-align: middle;
	border-color: #e8edef;
	font-size: .78rem
}

.case-row {
	position: relative;
	margin-top: 12px;
	padding: 14px;
	border: 1px solid #dce6e2;
	border-radius: 10px;
	background: #fbfdfc
}

.case-row:first-child {
	margin-top: 0
}

.case-row-number {
	margin-bottom: 10px;
	color: #285b4a;
	font-weight: 760
}

.case-existing-attachments {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 16px;
	padding-top: 8px;
	border-top: 1px solid #e3eaed
}

.case-existing-attachments strong {
	width: 100%
}

.profile-case-table {
	width: 100%;
	min-width: 980px;
	margin: 0
}

.profile-case-table th, .profile-case-table td {
	padding: 8px 9px;
	vertical-align: top;
	border-color: #e8edef;
	font-size: .78rem;
	overflow-wrap: anywhere
}

.case-attachment-link {
	display: block;
	margin-bottom: 5px
}

.profile-compact-empty, .profile-empty-state {
	margin: 0;
	padding: 16px;
	color: #697d87;
	text-align: center
}

.profile-table-wrap {
	width: 100%;
	overflow-x: auto
}

.profile-monitoring-table {
	width: 100%;
	margin: 0;
	table-layout: fixed
}

.profile-monitoring-table th, .profile-monitoring-table td {
	padding: 8px 9px;
	vertical-align: middle;
	border-color: #e8edef;
	font-size: .78rem;
	overflow-wrap: anywhere
}

.profile-monitoring-table thead th {
	background: #f4f7f6;
	color: #4f6771;
	font-size: .68rem;
	text-transform: uppercase;
	letter-spacing: .025em
}

.profile-rehabilitation-grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	align-items: start;
	gap: 9px
}

.profile-rehabilitation-card {
	min-width: 0;
	padding: 9px 10px;
	border: 1px solid #dfe8e4;
	border-left-width: 3px;
	border-radius: 8px;
	background: #fbfdfc
}

.profile-rehabilitation-card.has-status {
	border-left-color: #78a58f
}

.profile-rehabilitation-card h3 {
	display: flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	padding-bottom: 7px;
	border-bottom: 1px solid #e5ece8;
	color: #294f42;
	font-size: .84rem;
	font-weight: 780;
	line-height: 1.25
}

.profile-rehabilitation-card h3 i {
	color: #4f806d;
	font-size: .9rem
}

.profile-rehabilitation-values {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(105px, 1fr));
	gap: 6px 9px;
	padding-top: 7px
}

.profile-rehabilitation-value {
	min-width: 0
}

.profile-rehabilitation-value .profile-label {
	margin-bottom: 3px;
	font-size: .67rem !important
}

.profile-rehabilitation-value .profile-value {
	display: block;
	font-size: .76rem;
	line-height: 1.3;
	overflow-wrap: anywhere
}

.profile-rehabilitation-empty {
	grid-column: 1/-1;
	margin: 0;
	color: #74847d;
	font-size: .72rem;
	font-style: italic;
	line-height: 1.3
}

.profile-status-badge {
	display: inline-flex;
	align-items: center;
	padding: 3px 7px;
	border-radius: 999px;
	background: #edf1f3;
	color: #52656f;
	font-size: .67rem;
	font-weight: 750;
	line-height: 1.35;
	white-space: nowrap
}

.profile-status-badge.success {
	background: #e4f3ea;
	color: #17683f
}

.profile-status-badge.warning {
	background: #fff0c7;
	color: #7d5900
}

.profile-status-badge.danger {
	background: #f7e4e4;
	color: #912f2f
}

.profile-monitoring-table th:nth-child(1) {
	width: 12%
}

.profile-monitoring-table th:nth-child(2) {
	width: 16%
}

.profile-monitoring-table th:nth-child(3) {
	width: 14%
}

.profile-monitoring-table th:nth-child(5) {
	width: 16%
}

.profile-monitoring-table th:last-child {
	width: 55px
}

.profile-monitoring-observation {
	overflow: hidden;
	max-width: 360px;
	text-overflow: ellipsis;
	white-space: nowrap
}

.profile-table-action {
	display: grid;
	width: 30px;
	height: 30px;
	place-items: center;
	border: 1px solid #cbd7dc;
	border-radius: 6px;
	color: #246248;
	text-decoration: none
}

.profile-table-action:hover, .profile-table-action:focus-visible {
	border-color: #428068;
	background: #edf6f1;
	outline: 2px solid rgba(38, 115, 88, .2)
}

.profile-section-header-actions>div:last-child {
	display: flex;
	flex-wrap: wrap;
	gap: 6px
}

.profile-audit-strip {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	margin: 0 0 14px;
	padding: 9px 12px;
	border: 1px solid #dfe7ea;
	border-radius: 9px;
	background: #f8fafb;
	color: #3c5662;
	font-size: .75rem
}

.profile-audit-strip span {
	min-width: 0;
	padding: 2px 10px;
	border-right: 1px solid #dfe7ea;
	overflow-wrap: anywhere
}

.profile-audit-strip span:last-child {
	border-right: 0
}

.profile-audit-strip strong {
	display: block;
	margin-bottom: 1px;
	color: #71838c;
	font-size: .64rem;
	text-transform: uppercase
}

.profile-audit-history summary {
	padding: 10px 14px;
	color: #34564a;
	font-size: .82rem;
	font-weight: 750;
	cursor: pointer
}

.profile-audit-history summary:focus-visible {
	outline: 3px solid rgba(38, 115, 88, .2);
	outline-offset: -3px
}

.profile-delete-form {
	display: grid;
	grid-template-columns: auto minmax(220px, 420px) auto;
	align-items: center;
	justify-content: end;
	gap: 8px;
	margin-top: 12px;
	padding: 10px;
	border: 1px solid #efdddd;
	border-radius: 9px;
	background: #fffafa;
	color: #7c4545;
	font-size: .72rem
}

.profile-delete-form label {
	font-weight: 700
}

@media ( max-width :1199.98px) {
	.profile-rehabilitation-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr))
	}
	.profile-primary-layout {
		grid-template-columns: 1fr
	}
	.profile-row-one, .profile-row-two {
		grid-template-columns: 1fr
	}
	.profile-subgroup-grid {
		grid-template-columns: 1fr
	}
	.profile-financial-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr))
	}
	.profile-identity-card {
		grid-template-columns: 120px minmax(0, 1fr)
	}
	.profile-view-photo {
		width: 120px;
		height: 150px
	}
	.profile-action-toolbar {
		grid-column: 1/-1;
		max-width: none;
		justify-content: flex-start;
		padding-top: 10px;
		border-top: 1px solid #e6ecef
	}
}

@media ( min-width :992px) {
	.profile-row-one {
		grid-template-columns: minmax(0, 2fr) minmax(0, 1fr)
	}
	.profile-row-two {
		grid-template-columns: repeat(2, minmax(0, 1fr))
	}
}

@media ( min-width :768px) and ( max-width :991.98px) {
	.profile-row-one {
		grid-template-columns: minmax(0, 2fr) minmax(0, 1fr)
	}
	.profile-row-two {
		grid-template-columns: repeat(2, minmax(0, 1fr))
	}
}

@media ( max-width :767.98px) {
	.profile-page-container {
		padding: 12px 12px 28px
	}
	.profile-halves {
		grid-template-columns: 1fr
	}
	.profile-info-grid.three {
		grid-template-columns: repeat(2, minmax(0, 1fr))
	}
	.profile-identity-card {
		grid-template-columns: 92px minmax(0, 1fr);
		gap: 12px;
		padding: 12px
	}
	.profile-view-photo {
		width: 92px;
		height: 112px
	}
	.profile-identity-content h1 {
		font-size: 1.28rem
	}
	.profile-identity-facts {
		gap: 5px 10px
	}
	.profile-audit-strip {
		grid-template-columns: repeat(2, minmax(0, 1fr))
	}
	.profile-audit-strip span:nth-child(2) {
		border-right: 0
	}
	.profile-audit-strip span:nth-child(-n+2) {
		border-bottom: 1px solid #dfe7ea
	}
	.profile-rehabilitation-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr))
	}
	.profile-monitoring-table {
		min-width: 760px
	}
	.profile-section-header-actions {
		align-items: flex-start;
		flex-direction: column
	}
	.profile-delete-form {
		grid-template-columns: 1fr
	}
	.profile-delete-form .btn {
		justify-self: start
	}
}

@media ( max-width :575.98px) {
	.profile-rehabilitation-grid {
		grid-template-columns: 1fr
	}
	.profile-financial-grid {
		grid-template-columns: 1fr
	}
}

@media ( max-width :430px) {
	.profile-page-container {
		padding: 9px 9px 24px
	}
	.profile-identity-card {
		grid-template-columns: 78px minmax(0, 1fr)
	}
	.profile-view-photo {
		width: 78px;
		height: 96px
	}
	.profile-eyebrow {
		font-size: .62rem
	}
	.profile-identity-facts {
		font-size: .7rem
	}
	.profile-action-toolbar .btn {
		flex: 1 1 calc(50% - 7px)
	}
	.profile-info-grid.three, .profile-info-grid.two {
		grid-template-columns: 1fr
	}
	.profile-audit-strip {
		grid-template-columns: 1fr
	}
	.profile-audit-strip span {
		border-right: 0;
		border-bottom: 1px solid #dfe7ea
	}
	.profile-audit-strip span:last-child {
		border-bottom: 0
	}
	.profile-section-body {
		padding: 7px 10px 10px
	}
	.profile-section-header {
		padding: 9px 11px
	}
}

@media print {
	.profile-view-page {
		display: block;
		background: #fff
	}
	.profile-view-page .header, .profile-view-page .navbar,
		.profile-view-page .footer, .profile-action-toolbar,
		.profile-delete-form, .profile-section-header-actions>div:last-child,
		.profile-audit-history {
		display: none !important
	}
	.profile-page-container {
		max-width: none;
		padding: 0
	}
	.profile-identity-card {
		grid-template-columns: 105px minmax(0, 1fr);
		margin-bottom: 7px;
		padding: 9px;
		box-shadow: none;
		break-inside: avoid
	}
	.profile-view-photo {
		width: 105px;
		height: 128px
	}
	.profile-section-layout {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 7px;
		margin-bottom: 7px
	}
	.profile-primary-layout {
		grid-template-columns: 1.35fr 1fr
	}
	.profile-section {
		margin-bottom: 7px;
		border-color: #bfc8cc;
		border-radius: 4px;
		box-shadow: none;
		break-inside: avoid
	}
	.profile-section-header {
		min-height: 0;
		padding: 6px 8px
	}
	.profile-section-header h2 {
		font-size: 9pt
	}
	.profile-section-body {
		padding: 4px 8px
	}
	.profile-info-item {
		padding: 4px 2px
	}
	.profile-label {
		font-size: 6.5pt
	}
	.profile-value {
		font-size: 8pt
	}
	.profile-monitoring-table th, .profile-monitoring-table td {
		padding: 4px;
		font-size: 7pt
	}
	.profile-monitoring-table {
		min-width: 0
	}
	.profile-monitoring-observation {
		white-space: normal
	}
	.profile-audit-strip {
		margin-bottom: 0;
		padding: 5px;
		font-size: 7pt;
		break-inside: avoid
	}
}
.benefit-drilldown-table .selected-benefit-column,
.benefit-drilldown-table .selected-benefit-cell {
    min-width: 300px;
    white-space: normal;
}

.selected-benefit-cell > div {
    margin-top: 6px;
    line-height: 1.42;
    overflow-wrap: anywhere;
    white-space: normal;
}

@media (max-width: 576px) {
    .benefit-drilldown-table .selected-benefit-column,
    .benefit-drilldown-table .selected-benefit-cell {
        min-width: 250px;
    }
}
.smpms-page-jump{display:flex;align-items:center;justify-content:center;gap:.8rem;flex-wrap:nowrap;margin:.9rem 0;color:#334155}
.smpms-page-jump-form{display:flex;align-items:center;gap:.45rem;flex-wrap:nowrap;margin:0}
.smpms-page-jump-form label{margin:0;font-weight:600;white-space:nowrap}
.smpms-page-jump-form input{width:5rem;height:38px;min-height:38px;border:1px solid #b8c2cc;border-radius:.35rem;padding:.35rem .55rem}
.smpms-page-jump-form .btn{display:inline-flex;align-items:center;height:38px;margin:0;white-space:nowrap}
.smpms-page-jump-form input[aria-invalid=true]{border-color:#b42318;box-shadow:0 0 0 2px rgba(180,35,24,.12)}
.smpms-page-jump-error{flex-basis:100%;min-height:1.25rem;text-align:center;color:#b42318;font-size:.875rem}.smpms-page-jump-error:empty{display:none}.smpms-page-jump:has(.smpms-page-jump-error:not(:empty)){flex-wrap:wrap}
.records-pagination{width:100%;overflow-x:auto;margin:.9rem 0}.records-pagination .pagination-controls{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:nowrap;white-space:nowrap;min-width:max-content}.records-pagination .standard-pagination{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;margin:0}.records-pagination .smpms-page-jump{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;margin:0}.records-pagination .smpms-page-jump-form{flex-wrap:nowrap}.records-pagination .smpms-page-jump-error{position:absolute;margin-top:3rem}
@media(max-width:576px){.smpms-page-jump{align-items:stretch;flex-wrap:wrap}.smpms-page-jump-form{justify-content:center;flex-wrap:wrap}.smpms-page-position{width:100%;text-align:center}}

/* Keep the shared pagination component authoritative over legacy sibling rules. */
.pagination-bar .standard-pagination,.pagination-bar .smpms-page-jump{display:contents;margin:0}
.pagination-bar .smpms-page-position{display:inline;white-space:nowrap}
.pagination-bar .smpms-page-jump-form{display:flex;align-items:center;flex-wrap:nowrap;justify-content:flex-end}
@media(max-width:700px){.pagination-bar .standard-pagination,.pagination-bar .smpms-page-jump{display:contents}.pagination-bar .smpms-page-jump-form{flex-wrap:nowrap;justify-content:flex-end}.pagination-bar .smpms-page-position{width:auto;text-align:left}}
.pagination-bar #galleryPagination > button:not(:first-child):not(:last-child){display:none}
.monitoring-page .monitoring-row-actions .btn-success{color:#fff!important}
.monitoring-page .monitoring-row-actions .btn-success:hover,.monitoring-page .monitoring-row-actions .btn-success:focus{color:#fff!important}
.monitoring-report-table{width:100%;min-width:900px;table-layout:fixed}.monitoring-report-table th,.monitoring-report-table td{vertical-align:middle;overflow-wrap:normal;word-break:normal}.monitoring-report-long{white-space:normal;line-height:1.35}.monitoring-report-date{white-space:nowrap}.monitoring-report-view{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}@media(max-width:991px){.monitoring-report-table{min-width:900px}}
.monitoring-photo-card .monitoring-detail-photo{width:120px;height:100px;object-fit:cover;border-radius:8px;margin:12px;display:block}.monitoring-photo-card{display:grid;grid-template-columns:145px 1fr;align-items:center}.monitoring-photo-card>div{min-width:0}.monitoring-attachment-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:8px}.monitoring-document-preview-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,280px));gap:12px}.monitoring-document-preview-card{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:0;overflow:hidden}.monitoring-document-preview{height:145px;display:grid;place-items:center;background:#eef3f1;border-bottom:1px solid #dbe4e8;overflow:hidden}.monitoring-document-preview iframe,.monitoring-document-preview img{width:100%;height:100%;border:0;object-fit:cover;pointer-events:none}.monitoring-document-preview>i{font-size:2.4rem;color:#61766e}.monitoring-document-preview>span{font-size:.75rem;color:#60736b}.monitoring-document-preview-card>div:nth-child(2){padding:10px;min-width:0}.monitoring-document-preview-card>div:last-child{display:flex;gap:6px;padding:0 10px 10px;flex-wrap:wrap}@media(max-width:600px){.monitoring-photo-card{grid-template-columns:1fr}.monitoring-photo-card .monitoring-detail-photo{width:120px;height:100px}.monitoring-document-preview-list{grid-template-columns:1fr}}
.monitoring-photo-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}.monitoring-photo-card{border:1px solid #dbe4e8;border-radius:.65rem;overflow:hidden;background:#fff}.monitoring-photo-card img{width:100%;height:190px;object-fit:cover;display:block}.monitoring-photo-card>div{padding:.8rem}.monitoring-photo-card p,.monitoring-document-item p{margin:.35rem 0;white-space:pre-wrap}.monitoring-document-list{display:grid;gap:.75rem}.monitoring-document-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;border:1px solid #dbe4e8;border-radius:.6rem;padding:.85rem;background:#fff}.monitoring-document-item>i{font-size:2rem;color:#1f6f5c}@media(max-width:600px){.monitoring-document-item{grid-template-columns:auto 1fr}.monitoring-document-item>div:last-child{grid-column:1/-1}}
.benefit-abstract-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem;margin:0 0 1.25rem}.benefit-abstract-card{display:flex;flex-direction:column;gap:.35rem;padding:1rem 1.1rem;border:1px solid #dbe7e1;border-radius:14px;background:linear-gradient(145deg,#fff,#f3faf6);color:#173b2c;text-decoration:none;box-shadow:0 5px 16px rgba(20,80,55,.08);transition:transform .18s,box-shadow .18s}.benefit-abstract-card:hover,.benefit-abstract-card:focus{color:#0c4b32;transform:translateY(-2px);box-shadow:0 9px 22px rgba(20,80,55,.16)}.benefit-abstract-name{font-weight:600}.benefit-abstract-card strong{font-size:1.8rem;line-height:1}.benefit-abstract-percent{font-size:.8rem;color:#557266}.benefit-abstract-bar{height:7px;border-radius:99px;background:#dfece5;overflow:hidden}.benefit-abstract-bar span{display:block;height:100%;border-radius:inherit;background:#27875b}
.monitoring-section:has(legend .bi-shield-exclamation){display:none}.monitoring-status.adverse-activity,.monitoring-status.high-priority{background:#ffe2e0;color:#9b1c17}.monitoring-status.normal{background:#dff4e7;color:#17653b}
.monitoring-entry-view{overflow:visible}.monitoring-entry-view .monitoring-view-head{align-items:flex-start;gap:16px}.monitoring-entry-summary>strong{display:block;margin-top:4px;color:#173f30;font-size:1.05rem}.monitoring-entry-summary>div{display:flex;gap:0;flex-wrap:wrap;margin-top:3px;color:#5c7168;font-size:.82rem}.monitoring-entry-summary>div span+span:before{content:'\2022';margin:0 8px;color:#91a39b}.monitoring-entry-report-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.monitoring-entry-report-actions .btn{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;font-size:.78rem}.monitoring-entry-facts,.monitoring-entry-observation-grid{display:grid;margin:0;padding:14px 20px;gap:12px}.monitoring-entry-facts{grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid #e5ece8}.monitoring-entry-observation-grid{grid-template-columns:minmax(0,2fr) minmax(0,1fr);border-bottom:1px solid #e5ece8}.monitoring-entry-facts>div,.monitoring-entry-observation-grid>div{min-width:0;padding:11px 12px;border:1px solid #e0e9e4;border-radius:8px;background:#fbfdfc}.monitoring-entry-facts dt,.monitoring-entry-observation-grid dt{color:#687d73;font-size:.72rem;font-weight:700}.monitoring-entry-facts dd,.monitoring-entry-observation-grid dd{margin:4px 0 0;color:#243e33;overflow-wrap:anywhere}.monitoring-entry-secondary-label{margin-top:12px;padding-top:10px;border-top:1px solid #e3eae6}.monitoring-entry-audit{display:flex;gap:6px 18px;flex-wrap:wrap;padding:10px 20px;background:#f5f8f6;color:#65766f;font-size:.75rem}.monitoring-entry-view>.monitoring-actions{justify-content:flex-end}.monitoring-view-attachments{margin-top:14px;padding:16px 18px}.monitoring-view-attachments>h2{margin:0 0 14px;color:#244f3e;font-size:1.05rem}.monitoring-view-attachments>h3{margin:14px 0 8px;color:#526b61;font-size:.86rem}.monitoring-photo-gallery{grid-template-columns:repeat(auto-fill,minmax(220px,280px))}.monitoring-photo-card{grid-template-columns:150px 1fr}.monitoring-photo-card .monitoring-detail-photo{width:140px;height:100px;margin:0;object-fit:cover;border-radius:6px}.monitoring-photo-preview-trigger{display:block;margin:8px;padding:0;border:0;background:transparent;cursor:pointer}.monitoring-photo-card>div{padding:8px}.monitoring-file-word{color:#2563a6!important}.monitoring-file-excel{color:#238a57!important}.monitoring-photo-modal[hidden]{display:none}.monitoring-photo-modal{position:fixed;inset:0;z-index:2050;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(7,22,16,.88)}.monitoring-photo-modal>img{max-width:min(100%,1100px);max-height:calc(100vh - 100px);object-fit:contain;border-radius:8px}.monitoring-photo-modal-close{position:absolute;top:18px;right:20px;display:grid;place-items:center;width:40px;height:40px;border:1px solid rgba(255,255,255,.7);border-radius:50%;background:rgba(0,0,0,.25);color:#fff}.monitoring-photo-modal-download{position:absolute;right:20px;bottom:18px}.monitoring-modal-open{overflow:hidden}@media(max-width:991px){.monitoring-entry-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.monitoring-entry-observation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:576px){.monitoring-entry-view .monitoring-view-head{display:block}.monitoring-entry-report-actions{justify-content:flex-start;margin-top:10px}.monitoring-entry-facts,.monitoring-entry-observation-grid{grid-template-columns:1fr;padding:12px}.monitoring-entry-audit{display:grid;grid-template-columns:1fr;padding:10px 12px}.monitoring-entry-view>.monitoring-actions{align-items:stretch;flex-direction:column}.monitoring-entry-view>.monitoring-actions .btn{width:100%}.monitoring-photo-gallery{grid-template-columns:1fr}.monitoring-photo-card{grid-template-columns:150px minmax(0,1fr)}}
.monitoring-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}.monitoring-alert-link{white-space:nowrap}.monitoring-letter-body{white-space:pre-wrap;font-family:inherit;background:#f8faf8;border:1px solid #d9e5dc;border-radius:8px;padding:16px}.monitoring-grid .wide{grid-column:1/-1}@media(max-width:767px){.monitoring-admin-grid{grid-template-columns:1fr}}
.monitoring-admin-page{max-width:1480px}.monitoring-admin-tabs{display:flex;gap:4px;margin-bottom:14px;padding:4px;border:1px solid #d7e3dd;border-radius:10px;background:#edf4f0}.monitoring-admin-tabs button{flex:0 1 240px;padding:9px 14px;border:0;border-radius:7px;background:transparent;color:#456156;font-weight:700}.monitoring-admin-tabs button.active{background:#fff;color:#176747;box-shadow:0 2px 8px rgba(27,77,57,.1)}.monitoring-admin-panel{display:none}.monitoring-admin-panel.active{display:block}.monitoring-admin-panel>form,.monitoring-officer-form{border:1px solid #dae6e0;border-radius:12px;background:#fff;box-shadow:0 4px 14px rgba(21,64,47,.06)}.monitoring-workflow-step{padding:15px;border-bottom:1px solid #e3ebe7}.monitoring-workflow-step:last-of-type{border-bottom:0}.monitoring-workflow-step>header{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px}.monitoring-workflow-step>header>span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#236d50;color:#fff;font-weight:700}.monitoring-workflow-step h2{margin:0;color:#244d3d;font-size:1rem}.monitoring-workflow-step p{margin:2px 0 0;color:#6b7e75;font-size:.82rem}.monitoring-officer-select{max-width:650px}.monitoring-officer-summary{display:flex;align-items:center;gap:10px;max-width:650px;margin-top:9px;padding:10px 12px;border:1px solid #cfe2d8;border-radius:8px;background:#f2f8f5}.monitoring-officer-summary span{color:#65776f;font-size:.84rem}.monitoring-profile-search{position:relative}.monitoring-profile-search i{position:absolute;left:12px;top:11px;color:#688078}.monitoring-profile-search input{width:100%;height:40px;padding:7px 12px 7px 36px;border:1px solid #bfcfc7;border-radius:8px}.monitoring-profile-toolbar{display:flex;justify-content:space-between;gap:12px;padding:9px 3px;font-size:.84rem}.monitoring-profile-results{max-height:390px;overflow:auto;border:1px solid #d8e3de;border-radius:9px}.monitoring-profile-option{display:grid;grid-template-columns:auto 1fr;gap:10px;margin:0;padding:10px 12px;border-bottom:1px solid #e7eeea;cursor:pointer}.monitoring-profile-option:last-child{border-bottom:0}.monitoring-profile-option:hover{background:#f6faf8}.monitoring-profile-option.selected{background:#eaf6ef}.monitoring-profile-option input{margin-top:4px}.monitoring-profile-option span,.monitoring-profile-option small,.monitoring-profile-option em{display:block}.monitoring-profile-option small{margin-top:2px;color:#62746c}.monitoring-profile-option em{margin-top:3px;color:#88620b;font-size:.77rem;font-style:normal}.monitoring-selected-area{margin-top:10px;padding:10px;border:1px dashed #bbd0c5;border-radius:8px;background:#fafcfb}.monitoring-selected-area>div:first-child{display:flex;justify-content:space-between}.monitoring-selected-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}.monitoring-selected-chip{padding:4px 8px;border:1px solid #9fc5b3;border-radius:16px;background:#eaf5ef;color:#245b43;font-size:.76rem}.monitoring-assignment-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;background:#f4f8f6;border-radius:0 0 12px 12px}.monitoring-assignment-footer>div{display:flex;gap:8px}.monitoring-result-summary{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.monitoring-result-summary span{padding-left:12px;border-left:1px solid #a9ccb9}.monitoring-officer-form form{padding:14px}.monitoring-officer-form .monitoring-actions{margin-top:12px}.monitoring-officer-form+.monitoring-list-panel{margin-top:14px}@media(max-width:767px){.monitoring-admin-tabs button{flex:1}.monitoring-assignment-footer{align-items:stretch;flex-direction:column}.monitoring-assignment-footer>div,.monitoring-assignment-footer .btn{width:100%}.monitoring-assignment-footer>div{flex-direction:column}.monitoring-result-summary{align-items:flex-start;flex-direction:column;gap:6px}.monitoring-result-summary span{padding-left:0;border:0}.monitoring-profile-results{max-height:55vh}}
.monitoring-letter-page{max-width:none}.monitoring-letter-workflow{padding:1rem 1.25rem}.monitoring-letter-workflow .monitoring-section{margin-bottom:1rem}.monitoring-step{display:inline-grid;place-items:center;width:1.7rem;height:1.7rem;margin-right:.4rem;border-radius:50%;background:#176b4d;color:#fff;font-size:.85rem}.monitoring-letter-select-all{display:flex;justify-content:space-between;align-items:center;padding:.65rem .8rem;background:#f1f8f5;border:1px solid #d2e8df;border-radius:.45rem .45rem 0 0}.monitoring-letter-activities td{vertical-align:middle}.monitoring-letter-activities th:first-child,.monitoring-letter-activities td:first-child{text-align:center;width:70px}.monitoring-letter-empty{padding:.85rem 1rem;border:1px dashed #aacabd;border-radius:.45rem;background:#f8fbfa;color:#49635a}.monitoring-letter-generate{justify-content:flex-end}.monitoring-letter-result{max-width:900px;margin:auto}@media(max-width:768px){.monitoring-letter-workflow{padding:.75rem}.monitoring-letter-activities{min-width:900px}.monitoring-letter-generate .btn{width:100%}}
.monitoring-place-types{display:flex;gap:14px;flex-wrap:wrap;margin:0 0 7px}.monitoring-place-types label{display:flex;align-items:center;gap:5px;margin:0;font-size:.82rem}.monitoring-detail-place{display:flex;gap:12px;padding:10px 14px;border:1px solid #dce7e1;border-radius:9px 9px 0 0;background:#f4f9f6}.monitoring-detail-place span{color:#536a60}.monitoring-report-selection{margin-bottom:14px}.monitoring-report-print{margin:0;background:#eef2ef;color:#222;font:14px/1.45 Arial,sans-serif}.monitoring-report-print article{max-width:1000px;margin:24px auto;padding:38px;background:#fff;box-shadow:0 3px 18px rgba(0,0,0,.1)}.monitoring-report-print header{text-align:center;border-bottom:2px solid #225f47}.monitoring-report-print h1{font-size:1.55rem}.monitoring-report-print h2{margin-top:20px;color:#225f47;font-size:1rem}.monitoring-report-print dl{display:grid;grid-template-columns:160px 1fr;gap:5px 12px}.monitoring-report-print dt{font-weight:700}.monitoring-report-print dd{margin:0}.monitoring-report-print table{width:100%;border-collapse:collapse}.monitoring-report-print th,.monitoring-report-print td{padding:6px;border:1px solid #aebbb5;text-align:left;vertical-align:top}.monitoring-report-print th{background:#e7f1ec}.monitoring-print-actions{display:flex;justify-content:flex-end;gap:8px;max-width:1000px;margin:16px auto}.monitoring-print-actions form{display:flex;gap:8px}@media print{.monitoring-print-actions{display:none}.monitoring-report-print{background:#fff}.monitoring-report-print article{max-width:none;margin:0;padding:0;box-shadow:none}}@media(max-width:700px){.monitoring-report-print article{margin:0;padding:16px;overflow:auto}.monitoring-print-actions{padding:0 10px}.monitoring-report-print dl{grid-template-columns:1fr}.monitoring-report-print dd{margin-bottom:5px}}

/* Monitoring Entry operational hierarchy. */
.monitoring-entry-facts dt i,.monitoring-entry-observation-grid dt i{margin-right:5px}.monitoring-entry-fact-date{border-color:#cfe1f5!important;background:#f3f8fe!important}.monitoring-entry-fact-date dt i{color:#3275b7}.monitoring-entry-fact-place{border-color:#cce7e1!important;background:#f2faf8!important}.monitoring-entry-fact-place dt i{color:#218575}.monitoring-entry-fact-type{border-left-width:4px!important}.monitoring-type-normal{border-color:#bfe2ca!important;background:#f2faf4!important}.monitoring-type-normal dt i{color:#218649}.monitoring-type-continuous{border-color:#bce1e5!important;background:#f1f9fa!important}.monitoring-type-continuous dt i{color:#177d89}.monitoring-type-adverse{border-color:#efc9bb!important;background:#fff6f2!important}.monitoring-type-adverse dt,.monitoring-type-adverse dd,.monitoring-type-adverse dt i{color:#9b3f24!important}.monitoring-type-evaluation{border-color:#efd9a7!important;background:#fffaf0!important}.monitoring-type-evaluation dt i{color:#9a6712}.monitoring-type-other{border-color:#d8e0dc!important;background:#f7f9f8!important}.monitoring-entry-observation{border-left:4px solid #c58a2d!important;background:#fffaf1!important}.monitoring-entry-observation>dd:first-of-type{font-size:1.02rem;line-height:1.5}.monitoring-entry-observation dt i{color:#a76d14}.monitoring-entry-follow-up{border-left:4px solid #4b83b6!important;background:#f3f8fd!important}.monitoring-entry-follow-up dt i{color:#3975aa}.monitoring-entry-audit{display:block}.monitoring-entry-audit>strong{display:block;margin-bottom:6px;color:#50645b}.monitoring-entry-audit>div{display:flex;gap:6px 18px;flex-wrap:wrap}@media(max-width:576px){.monitoring-entry-audit>div{display:grid;grid-template-columns:1fr}}
.monitoring-page-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:nowrap;min-width:0;max-width:100%;overflow-x:auto;overflow-y:hidden;white-space:nowrap;padding:2px 0;scrollbar-width:thin}.monitoring-action-btn{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;min-height:32px;padding:5px 9px;border:1px solid #8fb9a6;border-radius:6px;background:#fff;color:#176447;font-size:.78rem;font-weight:700;line-height:1;text-decoration:none}.monitoring-action-btn:hover{background:#edf7f1;color:#0f5038;border-color:#5e9a7f}.monitoring-action-back{margin-left:2px;color:#4d6259;border-color:#bdc9c3;cursor:pointer}.monitoring-alert-badge{display:inline-grid;place-items:center;flex:0 0 auto;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#b2443b;color:#fff;font-size:.68rem;font-weight:800;line-height:1}.monitoring-report-tools{display:flex;justify-content:flex-end;gap:6px;margin:-6px 0 10px}.monitoring-chart-panel{padding:14px;border:1px solid #d9e6df;border-radius:12px;background:#fff;box-shadow:0 3px 12px rgba(20,65,48,.06)}.monitoring-chart-panel h2{margin:0 0 10px;color:#174d39;font-size:1.05rem;font-weight:750}.monitoring-chart-scroll{max-width:100%;overflow-x:auto;overflow-y:hidden}.monitoring-chart-canvas{height:300px;min-width:100%}.monitoring-summary-card{text-decoration:none}.monitoring-summary-card small{display:block;margin-top:4px;color:#267358;font-size:.72rem;font-weight:700}@media(max-width:991px){.monitoring-heading{align-items:flex-start}.monitoring-page-actions{width:min(100%,680px)}}@media(max-width:767px){.monitoring-heading{display:block}.monitoring-page-actions{width:100%;margin-top:9px;justify-content:flex-start}.monitoring-chart-canvas{height:270px}.monitoring-report-tools{margin-top:0}}
.monitoring-action-btn.monitoring-action-active,.monitoring-action-btn[aria-current=page]{border-color:#4f9878;background:#dff1e7;color:#104e36;box-shadow:inset 0 0 0 1px rgba(23,103,71,.08)}.monitoring-action-btn.monitoring-action-active:hover,.monitoring-action-btn[aria-current=page]:hover{border-color:#347b5d;background:#d4ebde;color:#0d442f}

/* Shared Monitoring module polish. Kept under .monitoring-page to avoid changing other SMPMS modules. */
.smpms-page .monitoring-page{flex:1 0 auto;min-width:0}.monitoring-page .monitoring-form-panel,.monitoring-page .monitoring-view-panel,.monitoring-page .monitoring-list-panel{overflow:hidden;border-color:#d8e4de;border-radius:12px;box-shadow:0 3px 12px rgba(20,65,48,.055)}.monitoring-page .monitoring-empty{min-height:0;padding:16px!important;background:#fbfdfc;color:#65786f}.monitoring-page .monitoring-table-wrap{max-width:100%;overflow-x:auto;overflow-y:visible;border-radius:0 0 11px 11px}.monitoring-page .monitoring-table{min-width:900px}.monitoring-page .monitoring-table thead th{font-size:.875rem;font-weight:600;letter-spacing:.01em}.monitoring-page .monitoring-table tbody td{height:48px;padding:8px 10px;font-size:.875rem}.monitoring-page .monitoring-table tbody tr:nth-child(even){background:#fbfdfc}.monitoring-page .monitoring-row-actions a.btn,.monitoring-page .monitoring-row-actions button.btn{display:inline-flex;width:auto;min-width:0;height:32px;padding:4px 9px;align-items:center;justify-content:center;gap:4px}.monitoring-page .monitoring-row-actions>a:not(.btn){background:#fff;text-decoration:none}.monitoring-page .monitoring-filters{margin:0;background:#fbfdfc;border-bottom:1px solid #e2ebe6}.monitoring-page .monitoring-filters .btn{min-height:38px;display:inline-flex;align-items:center;justify-content:center}.monitoring-page .btn-success{background:#176747;border-color:#176747}.monitoring-page .btn-success:hover,.monitoring-page .btn-success:focus{background:#105238;border-color:#105238}.monitoring-page .btn-outline-success{color:#176747;border-color:#7dac97}.monitoring-page .btn-outline-success:hover,.monitoring-page .btn-outline-success:focus{background:#176747;border-color:#176747;color:#fff}.monitoring-page .monitoring-status.warning{background:#fff1d4;color:#775500}.monitoring-page .monitoring-status.success,.monitoring-page .monitoring-status.normal{background:#e2f2e8;color:#185f3d}.monitoring-page .monitoring-status.danger,.monitoring-page .monitoring-status.adverse-activity,.monitoring-page .monitoring-status.high-priority{background:#f8e5e3;color:#8d2c27}.monitoring-page .monitoring-status.info{background:#e6f0f3;color:#315c68}
@media(max-width:1199px){.monitoring-page .monitoring-filters{grid-template-columns:repeat(4,minmax(140px,1fr)) auto auto}.monitoring-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.monitoring-page{padding:14px 12px 28px}.monitoring-heading h1{font-size:1.45rem}.monitoring-heading p{font-size:.88rem}.monitoring-page .monitoring-filters{grid-template-columns:1fr 1fr}.monitoring-page .monitoring-filters .btn{width:100%}.monitoring-grid.two,.monitoring-grid.three,.monitoring-grid.four,.monitoring-view-grid{grid-template-columns:1fr}.monitoring-summary-grid{grid-template-columns:1fr}.monitoring-section{margin:12px}.monitoring-actions{padding:12px}}

/* Official Monitoring Letter: shared Preview and Print geometry/typography. */
.monitoring-letter-preview,
.monitoring-official-letter,
.monitoring-official-letter section h3,
.monitoring-letter-profile-table,
.monitoring-letter-case-table,
.monitoring-letter-log-table {
	font-family:'Century Gothic',sans-serif
}
.monitoring-official-letter {
	box-sizing:border-box;
	width:min(210mm,calc(100% - 32px));
	min-height:297mm;
	max-width:none;
	margin:20px auto;
	padding:20mm 20mm 20mm 24mm;
	font-size:12.5pt;
	line-height:1.42
}
.monitoring-letter-document-header strong,
.monitoring-letter-document-header span,
.monitoring-official-letter section h3,
.monitoring-letter-profile-table,
.monitoring-letter-case-table,
.monitoring-letter-log-table {
	font-size:12.5pt
}
.monitoring-letter-profile-table { width:100% }
.monitoring-official-letter>p { margin:0 0 11px }
.monitoring-official-letter .monitoring-letter-reference { margin:14px 0 }
.monitoring-letter-rule { margin:5px 0 12px }
@media(max-width:767px){
	.monitoring-official-letter{width:calc(100% - 20px);min-height:0;margin:10px auto;padding:24px 20px}
}
@media print{
	.monitoring-official-letter{width:100%;min-height:0;max-width:none;margin:0;padding:0;border:0;box-shadow:none}
}
@media(max-width:480px){.monitoring-page .monitoring-filters{grid-template-columns:1fr}.monitoring-page-actions{padding-bottom:5px}.monitoring-heading h1{font-size:1.35rem}}

@media (max-width: 600px) {
	.monitoring-page-actions {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 7px;
		overflow: visible;
		white-space: normal;
	}
	.monitoring-page-actions .monitoring-action-btn {
		min-width: 0;
		width: 100%;
		justify-content: center;
		text-align: center;
	}
	.monitoring-page-actions .monitoring-action-back { margin-left: 0; }
}
.monitoring-page .monitoring-monthly-filters{display:flex;align-items:flex-end;gap:8px;flex-wrap:nowrap;overflow-x:auto}.monitoring-page .monitoring-monthly-filters>label{flex:1 1 130px;min-width:110px}.monitoring-page .monitoring-monthly-filters>label:first-child{min-width:150px}.monitoring-page .monitoring-monthly-filters>.btn{flex:0 0 auto;width:auto;white-space:nowrap;padding-inline:12px}
@media(max-width:1199px){.monitoring-page .monitoring-monthly-filters{display:flex;flex-wrap:wrap;overflow-x:visible}.monitoring-page .monitoring-monthly-filters>label{flex:1 1 180px}.monitoring-page .monitoring-monthly-filters>.btn{width:auto}}
@media(max-width:767px){.monitoring-page .monitoring-monthly-filters{display:grid;grid-template-columns:1fr 1fr}.monitoring-page .monitoring-monthly-filters>.btn{width:100%}}
@media(max-width:480px){.monitoring-page .monitoring-monthly-filters{grid-template-columns:1fr}}

/* Guided Monitoring letter workflow and official preview. */
.monitoring-letter-page{max-width:none}.monitoring-letter-workflow{display:grid;gap:14px;padding:0;background:transparent}.monitoring-letter-stage{overflow:hidden;border:1px solid #d9e1e5;border-radius:12px;background:#fff;box-shadow:0 3px 12px rgba(30,50,65,.045)}.monitoring-letter-stage>header{display:flex;align-items:flex-start;gap:10px;padding:13px 15px;border-bottom:1px solid #e7ecef;background:#fafbfc}.monitoring-letter-stage>header h2{margin:0;color:#263f4a;font-size:1.02rem}.monitoring-letter-stage>header p{margin:2px 0 0;color:#71808a;font-size:.82rem}.monitoring-letter-stage-body{padding:14px 15px}.monitoring-letter-person-summary{display:grid;grid-template-columns:82px minmax(0,1fr);gap:14px;max-width:720px;margin-top:12px;padding:12px;border:1px solid #dce4e8;border-radius:10px;background:#fbfcfd}.monitoring-letter-person-summary img{width:82px;height:98px;border-radius:8px;object-fit:cover;background:#edf1f3}.monitoring-letter-person-summary h3{margin:0;color:#253e49;font-size:1.08rem}.monitoring-letter-person-summary p{margin:2px 0 8px;color:#667983}.monitoring-letter-person-summary dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:0}.monitoring-letter-person-summary dl div{min-width:0}.monitoring-letter-person-summary dt{color:#7a8991;font-size:.68rem;text-transform:uppercase}.monitoring-letter-person-summary dd{overflow:hidden;margin:2px 0 0;color:#263f4a;font-size:.82rem;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.monitoring-letter-recipient{display:grid;grid-template-columns:minmax(220px,320px) minmax(260px,480px);align-items:end;gap:12px}.monitoring-letter-recipient label{display:flex;flex-direction:column;gap:5px;color:#3f5965;font-size:.78rem;font-weight:700}.monitoring-letter-preview-action{display:flex;align-items:center;justify-content:space-between;gap:12px}.monitoring-letter-preview-action>span{color:#667983;font-size:.86rem}.monitoring-letter-preview-shell{border:1px solid #d8e0e4;border-radius:12px;background:#f4f6f7;box-shadow:0 4px 16px rgba(25,45,60,.06)}.monitoring-letter-preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid #dce3e6;background:#fff;border-radius:12px 12px 0 0}.monitoring-letter-preview-toolbar h2{margin:1px 0 0;color:#263f4a;font-size:1.05rem}.monitoring-eyebrow{color:#267358;font-size:.68rem;font-weight:800;letter-spacing:.08em}.monitoring-letter-preview{max-width:850px;margin:20px auto;padding:42px 48px;border:1px solid #d7dde0;background:#fff;color:#252a2d;box-shadow:0 5px 22px rgba(22,38,48,.09);font-family:Georgia,'Times New Roman',serif;line-height:1.55}.monitoring-letter-preview>header{display:flex;flex-direction:column;align-items:center;padding-bottom:12px;border-bottom:2px solid #53616a;text-align:center}.monitoring-letter-preview>header strong{font-size:1.35rem;letter-spacing:.08em}.monitoring-letter-preview>header span{color:#59666d;font-size:.82rem;text-transform:uppercase}.monitoring-letter-reference{display:flex;justify-content:space-between;gap:16px;margin:18px 0}.monitoring-letter-address>p{margin:0 0 16px}.monitoring-letter-rule{text-align:center;margin:8px 0 16px}.monitoring-letter-preview .monitoring-letter-body{padding:0;border:0;background:transparent;border-radius:0;color:#252a2d;font-family:inherit;line-height:1.65}.monitoring-letter-select-all{border-radius:8px 8px 0 0;background:#f5f7f8;border-color:#dce4e8}.monitoring-letter-empty{background:#fafbfc;border-color:#cbd5da;color:#62747d}
@media(max-width:767px){.monitoring-letter-person-summary dl{grid-template-columns:repeat(2,minmax(0,1fr))}.monitoring-letter-recipient{grid-template-columns:1fr}.monitoring-letter-preview-toolbar,.monitoring-letter-preview-action{align-items:stretch;flex-direction:column}.monitoring-letter-preview-toolbar .monitoring-row-actions{overflow-x:auto}.monitoring-letter-preview{margin:12px;padding:24px 20px}.monitoring-letter-reference{flex-direction:column;gap:4px}}
@media(max-width:480px){.monitoring-letter-person-summary{grid-template-columns:64px minmax(0,1fr)}.monitoring-letter-person-summary img{width:64px;height:78px}.monitoring-letter-person-summary dl{grid-template-columns:1fr 1fr}}

/* Formal Monitoring letter document shared by preview and print. */
.monitoring-official-letter{box-sizing:border-box;width:min(210mm,calc(100% - 32px));max-width:850px;margin:20px auto;padding:22mm 20mm;background:#fff;color:#24282a;font-family:Georgia,'Times New Roman',serif;font-size:11pt;line-height:1.42}.monitoring-letter-document-header{display:block;padding:0 0 10px;border-bottom:1.5px solid #59666d;text-align:center}.monitoring-letter-document-header strong,.monitoring-letter-document-header span{display:block}.monitoring-letter-document-header strong{font-size:14pt;letter-spacing:.08em}.monitoring-letter-document-header span{margin-top:2px;color:#3e4a50;font-size:10.5pt;font-weight:700;letter-spacing:.04em}.monitoring-official-letter .monitoring-letter-reference{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:14px 0}.monitoring-letter-recipient-block{margin:0 0 12px}.monitoring-official-letter>p{margin:0 0 11px}.monitoring-letter-subject{text-align:left}.monitoring-letter-rule{margin:5px 0 12px;text-align:center}.monitoring-letter-opening{text-align:justify}.monitoring-official-letter section{margin:14px 0 0}.monitoring-official-letter section h3{margin:0 0 6px;color:#263f4a;font-family:Georgia,'Times New Roman',serif;font-size:11.5pt;font-weight:700}.monitoring-letter-table-wrap{max-width:100%;overflow-x:auto}.monitoring-letter-profile-table,.monitoring-letter-case-table,.monitoring-letter-log-table{width:100%;border-collapse:collapse;font-family:Georgia,'Times New Roman',serif;font-size:9.4pt;line-height:1.3}.monitoring-letter-profile-table{width:82%}.monitoring-letter-profile-table th,.monitoring-letter-profile-table td{padding:4px 7px;border-bottom:1px solid #dce1df;text-align:left;vertical-align:top}.monitoring-letter-profile-table th{width:34%;color:#35463f;font-weight:700}.monitoring-letter-case-table th,.monitoring-letter-case-table td,.monitoring-letter-log-table th,.monitoring-letter-log-table td{padding:5px 6px;border:1px solid #cfd6d3;text-align:left;vertical-align:top}.monitoring-letter-case-table thead th,.monitoring-letter-log-table thead th{background:#edf2f0;color:#2e4038;font-weight:700}.monitoring-letter-log-table th:first-child,.monitoring-letter-log-table td:first-child{width:44px;text-align:center}.monitoring-letter-log-table th:nth-child(2),.monitoring-letter-log-table td:nth-child(2){white-space:nowrap}.monitoring-letter-brief th{background:#f7f9f8}.monitoring-letter-important{padding:9px 11px;border-left:3px solid #a8642e;background:#fbf7f2}.monitoring-letter-important p{margin:3px 0}.monitoring-letter-closing{margin-top:18px!important}@media(max-width:767px){.monitoring-official-letter{width:calc(100% - 20px);margin:10px auto;padding:24px 20px;font-size:10.5pt}.monitoring-letter-profile-table{width:100%}.monitoring-official-letter .monitoring-letter-reference{align-items:flex-start;flex-direction:column;gap:3px}.monitoring-letter-table-wrap{overflow-x:auto}.monitoring-letter-case-table,.monitoring-letter-log-table{min-width:760px}}@media print{.monitoring-official-letter{width:100%;max-width:none;margin:0;padding:0;border:0;box-shadow:none}.monitoring-letter-table-wrap{overflow:visible}.monitoring-letter-case-table,.monitoring-letter-log-table{min-width:0}}

/* Monitoring UI polish: restrained card tones, alert badge, and document exports. */
.monitoring-alert-badge{background:#b42318;color:#fff}

/* A4 Monitoring letter table: full printable width and word-boundary wrapping. */
.monitoring-official-letter{font-family:'Century Gothic',sans-serif;font-size:12.5pt}.monitoring-official-letter .monitoring-letter-reference{flex-wrap:nowrap}.monitoring-letter-profile-table,.monitoring-letter-case-table{font-family:'Century Gothic',sans-serif}.monitoring-letter-log-table{width:100%;table-layout:fixed;font-family:'Century Gothic',sans-serif;font-size:10.5pt;line-height:1.25}.monitoring-letter-log-table th,.monitoring-letter-log-table td{padding:3px 4px;overflow-wrap:normal;word-break:normal;white-space:normal;hyphens:none}.monitoring-letter-log-table th{font-weight:700;vertical-align:middle}.monitoring-letter-log-table td{font-weight:400}.monitoring-letter-log-table th:first-child,.monitoring-letter-log-table td:first-child{text-align:center;white-space:nowrap}.monitoring-letter-log-table th:nth-child(2),.monitoring-letter-log-table td:nth-child(2){white-space:nowrap}@media print{.monitoring-letter-log-table thead{display:table-header-group}.monitoring-letter-log-table tr{break-inside:avoid;page-break-inside:avoid}.monitoring-letter-table-wrap{overflow:visible}@page{size:A4 portrait;margin:20mm}}
.monitoring-nav-icon{display:inline-block;flex:0 0 auto;line-height:1;vertical-align:-.125em}.monitoring-nav-icon.dashboard{color:#2563a6}.monitoring-nav-icon.alerts{color:#d97706}.monitoring-nav-icon.add{color:#168b68}.monitoring-nav-icon.report{color:#7257a8}.monitoring-nav-icon.officers{color:#4f63b8}.monitoring-nav-icon.letters{color:#b76520}.monitoring-nav-icon.back{color:#667785}
.monitoring-summary-card.tone-tg{background:#f1faf8;border-color:#cfe6df}.monitoring-summary-card.tone-tg>i{background:#dff2ed;color:#287565}
.monitoring-summary-card.tone-other{background:#f3f7fb;border-color:#d5e1ec}.monitoring-summary-card.tone-other>i{background:#e2edf6;color:#476f91}
.monitoring-summary-card.tone-logs{background:#f1f9fa;border-color:#d0e6e9}.monitoring-summary-card.tone-logs>i{background:#dff1f3;color:#347883}
.monitoring-summary-card.tone-superior{background:#fffaf1;border-color:#eadfc8}.monitoring-summary-card.tone-superior>i{background:#f8ecd2;color:#93692d}
.monitoring-summary-card.tone-continuous{background:#f2f9f9;border-color:#d3e7e6}.monitoring-summary-card.tone-continuous>i{background:#e0f0ef;color:#397978}
.monitoring-summary-card.tone-normal{background:#f3faf5;border-color:#d4e8da}.monitoring-summary-card.tone-normal>i{background:#e1f1e6;color:#347650}
.monitoring-summary-card.tone-adverse{background:#fff5f5;border-color:#ecd6d5}.monitoring-summary-card.tone-adverse>i{background:#f8e4e3;color:#a34b47}
.monitoring-export-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:32px;padding:4px 9px;border:1px solid #c5cfca;border-radius:6px;background:#fff;color:#34453e;font-size:.78rem;font-weight:700;line-height:1;text-decoration:none}.monitoring-export-btn:hover,.monitoring-export-btn:focus{background:#f5f7f6;border-color:#98a9a1;color:#22342d}.monitoring-export-btn i{font-size:.95rem}.monitoring-export-pdf i{color:#b42318}.monitoring-export-word i{color:#2f65a7}.monitoring-export-excel i{color:#27734c}.monitoring-export-print i{color:#4d5a55}

/* Compact Letter Generation workflow. */
.monitoring-letter-workflow{display:grid;gap:12px;padding:0;background:transparent}.monitoring-letter-progress{display:flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid #dfe6e3;border-radius:9px;background:#fff}.monitoring-letter-progress span{display:inline-flex;align-items:center;gap:5px;color:#75827c;font-size:.76rem;font-weight:700;white-space:nowrap}.monitoring-letter-progress span:not(:last-child)::after{width:22px;height:1px;margin-left:3px;background:#d8e1dd;content:""}.monitoring-letter-progress b{display:inline-grid;place-items:center;width:20px;height:20px;border:1px solid #c9d4cf;border-radius:50%;background:#f5f7f6;color:#60716a;font-size:.68rem}.monitoring-letter-progress .active{color:#176747}.monitoring-letter-progress .active b{border-color:#176747;background:#176747;color:#fff}.monitoring-letter-progress .complete b{border-color:#7cac96;background:#e5f2ea;color:#176747}.monitoring-letter-upper-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.85fr);align-items:stretch;gap:12px}.monitoring-letter-compact-card,.monitoring-letter-activity-panel{min-width:0;border:1px solid #dce4e0;border-radius:11px;background:#fff;box-shadow:0 2px 9px rgba(25,55,43,.045)}.monitoring-letter-compact-card>header,.monitoring-letter-activity-panel>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 13px;border-bottom:1px solid #e6ece9;background:#fbfcfc}.monitoring-letter-compact-card>header h2,.monitoring-letter-activity-panel>header h2{margin:0;color:#283d35;font-size:1rem;font-weight:750}.monitoring-letter-card-body{padding:12px 13px}.monitoring-letter-person-summary{grid-template-columns:62px minmax(0,1fr);gap:11px;max-width:none;margin-top:9px;padding:9px;background:#f8faf9}.monitoring-letter-person-summary img{width:62px;height:72px}.monitoring-letter-person-summary h3{font-size:1rem}.monitoring-letter-person-summary p{margin:1px 0 6px;font-size:.8rem}.monitoring-letter-person-summary dl{gap:5px}.monitoring-letter-person-summary dt{font-size:.62rem}.monitoring-letter-person-summary dd{font-size:.76rem}.monitoring-letter-options{display:grid;align-content:start;gap:10px}.monitoring-letter-options>label:not(.monitoring-letter-case-option){display:grid;gap:4px;max-width:340px;color:#40564d;font-size:.76rem;font-weight:700}.monitoring-letter-case-option{display:inline-flex!important;align-items:center!important;justify-content:flex-start;flex-direction:row!important;gap:7px!important;width:max-content;max-width:100%;margin-top:2px;color:#354b42;font-size:.82rem;font-weight:650;cursor:pointer}.monitoring-letter-case-option input{flex:0 0 auto;width:16px;height:16px;margin:0;accent-color:#176747}.monitoring-letter-search-results{top:calc(100% + 4px);max-height:250px}.monitoring-letter-search-option{display:block;text-align:left}.monitoring-letter-search-option strong,.monitoring-letter-search-option small{display:block}.monitoring-letter-search-option strong{color:#263f35;font-size:.84rem}.monitoring-letter-search-option small{margin-top:2px;color:#697b73;font-size:.75rem}.monitoring-letter-activity-panel{overflow:hidden}.monitoring-letter-activity-tools{display:flex;align-items:center;gap:18px;color:#52665d;font-size:.78rem}.monitoring-letter-activity-tools label{display:inline-flex;align-items:center;gap:6px;margin:0;cursor:pointer}.monitoring-letter-activity-tools input{margin:0;accent-color:#176747}.monitoring-letter-activity-tools strong{white-space:nowrap}.monitoring-letter-activity-panel .monitoring-table-wrap{border-radius:0}.monitoring-letter-activity-panel .monitoring-letter-empty{margin:10px 12px;padding:10px 12px}.monitoring-letter-activities{margin:0}.monitoring-letter-activities th,.monitoring-letter-activities td{padding:8px 9px!important}.monitoring-letter-action-bar{display:flex;align-items:center;justify-content:flex-end;gap:16px;padding:9px 12px;border:1px solid #dce4e0;border-radius:10px;background:#fff;box-shadow:0 2px 8px rgba(25,55,43,.04)}.monitoring-letter-action-bar strong{margin-right:auto;color:#50635a;font-size:.82rem}.monitoring-letter-action-bar .btn{min-width:138px}.monitoring-letter-action-bar .btn:disabled{background:#8ca89b;border-color:#8ca89b;opacity:.68}
@media(max-width:900px){.monitoring-letter-upper-grid{grid-template-columns:1fr}.monitoring-letter-options{grid-template-columns:minmax(220px,340px) minmax(220px,340px);align-items:end}.monitoring-letter-case-option{grid-column:1/-1}}
@media(max-width:600px){.monitoring-letter-progress{overflow-x:auto}.monitoring-letter-progress span:not(:last-child)::after{width:12px}.monitoring-letter-compact-card>header,.monitoring-letter-activity-panel>header{align-items:flex-start}.monitoring-letter-activity-panel>header{flex-direction:column}.monitoring-letter-activity-tools{width:100%;justify-content:space-between}.monitoring-letter-options{grid-template-columns:1fr}.monitoring-letter-case-option{grid-column:auto}.monitoring-letter-person-summary dl{grid-template-columns:repeat(2,minmax(0,1fr))}.monitoring-letter-action-bar{position:static}.monitoring-letter-action-bar .btn{min-width:0}.monitoring-letter-activities{min-width:780px}}
.same-address-choice {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    margin: 1rem 0 .25rem;
    font-weight: 600;
}
.same-address-choice input { width: auto; }
.address-subheading { margin-top: 1rem !important; }
.profile-report-options { display:flex; align-items:center; flex-wrap:wrap; gap:.45rem .65rem; }
.profile-report-options label { display:inline-flex; align-items:center; gap:.3rem; margin:0; font-size:.8rem; white-space:nowrap; }
.profile-report-options input { width:auto; }
.profile-report-print { margin:0; background:#fff; color:#17232b; font:10pt Arial,sans-serif; }
.profile-report-print article { max-width:190mm; margin:12mm auto; }
.profile-report-print header { text-align:center; border-bottom:2px solid #18523e; margin-bottom:10px; }
.profile-report-print header h1,.profile-report-print header h2 { margin:3px; }
.profile-report-print section { break-inside:avoid; margin:10px 0; }
.profile-report-print h3 { margin:0; padding:6px 8px; color:#fff; background:#18523e; font-size:11pt; }
.profile-report-print dl { display:grid; grid-template-columns:30mm 1fr 30mm 1fr; margin:0; border:1px solid #ccd7d2; }
.profile-report-print dt,.profile-report-print dd { margin:0; padding:5px; border-bottom:1px solid #e0e7e4; }
.profile-report-print dt { font-weight:700; background:#eef4f1; }
.profile-report-print table { width:100%; border-collapse:collapse; font-size:8.5pt; }
.profile-report-print th,.profile-report-print td { border:1px solid #ccd7d2; padding:4px; vertical-align:top; }
.profile-report-print th { color:#fff; background:#18523e; }
.profile-report-financial-table{table-layout:fixed;font-size:9.5pt!important}
.profile-report-financial-table th{width:38%;color:#243d33;background:#eef4f1;text-align:left;font-weight:700}
.profile-report-financial-table td{width:62%;font-weight:400}
.profile-report-monitoring-table{table-layout:fixed}
.profile-report-monitoring-date{width:15%}.profile-report-monitoring-type{width:25%}.profile-report-monitoring-observation{width:35%}.profile-report-monitoring-action{width:25%}
.profile-report-monitoring-table th{font-weight:600}.profile-report-monitoring-table td{font-weight:400;line-height:1.35;white-space:normal;overflow-wrap:break-word;word-break:normal}
.profile-report-monitoring-table th:first-child,.profile-report-monitoring-table td:first-child{white-space:nowrap}
.profile-report-print-actions { position:sticky; top:0; padding:8px; text-align:right; background:#fff; }
@media print { .profile-report-print-actions { display:none; } .profile-report-print article { margin:0; max-width:none; } @page { size:A4 portrait; margin:12mm; } }
.monitoring-photo-gallery .monitoring-photo-card img.monitoring-detail-photo{width:120px;height:100px;object-fit:cover;border-radius:8px;margin:12px;display:block}
.monitoring-view-photo{width:120px;height:100px;max-width:100%;object-fit:cover;border-radius:8px;cursor:zoom-in}

/* Monitoring Letter activity selection lives with its table column. */
.monitoring-letter-activities .monitoring-letter-select-column{width:105px;min-width:100px;max-width:115px;text-align:center;vertical-align:middle}
.monitoring-letter-select-all{display:inline-flex;align-items:center;justify-content:center;gap:6px;margin:0;white-space:nowrap;cursor:pointer}
.monitoring-letter-select-all input,.monitoring-letter-select-column>.letter-activity{width:16px;height:16px;margin:0;vertical-align:middle;accent-color:#176747}
.monitoring-letter-activities thead .monitoring-letter-select-all{padding:0;border:0;border-radius:0;background:transparent;color:#fff;box-shadow:none}
.monitoring-letter-action-bar{min-height:50px;max-height:60px;box-sizing:border-box}

/* TG-SMPMS shared professional UI primitives. */
.app-page{min-width:0;color:var(--color-text);background:var(--color-surface-soft)}
.page-header,.smpms-page-title{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 0 var(--section-gap)}
.page-title,.smpms-page-title h1{margin:0;color:var(--color-primary-dark);font-size:clamp(1.45rem,2vw,1.9rem);font-weight:750;line-height:1.2}
.smpms-page-title h1 i,.page-title i{margin-right:.45rem;color:var(--color-primary);font-size:1.35em;vertical-align:-.08em}
.page-actions{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;flex-wrap:wrap}
.smpms-section-header{display:flex;align-items:center;gap:.5rem;margin:0;padding:.68rem .85rem;border:1px solid var(--color-border);border-left:3px solid var(--color-primary);border-radius:var(--radius-md) var(--radius-md) 0 0;background:#F0F6F3;color:var(--color-primary-dark);font-size:1rem;font-weight:700;line-height:1.3}
.smpms-section-header i{color:var(--color-primary);font-size:1rem}
.field-label{color:var(--color-muted);font-size:.78rem;font-weight:600;line-height:1.35}
.field-value{color:var(--color-text);font-size:.92rem;font-weight:450;line-height:1.45;overflow-wrap:break-word;word-break:normal}
.field-value-important{color:var(--color-primary-dark);font-size:1rem;font-weight:650}
.app-card,.smpms-card,.stat-card,.smpms-metric-card,.filter-panel,.chart-card,.profile-summary{min-width:0;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm)}
.stat-card,.smpms-metric-card{display:flex;align-items:center;gap:.75rem;padding:.9rem}
.stat-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:var(--radius-sm);background:#EAF2FA;color:var(--color-info);font-size:1.2rem}
.filter-panel{padding:.85rem}
.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--field-gap)}
.table-wrapper,.smpms-table-wrap{max-width:100%;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch}
.app-table,.smpms-data-table{width:100%;margin:0;border-collapse:separate;border-spacing:0;background:var(--color-surface)}
.app-table thead th,.smpms-data-table thead th{padding:.62rem .7rem;background:var(--color-primary-dark);color:#fff;font-size:.8rem;font-weight:700;vertical-align:middle;white-space:nowrap}
.app-table tbody td,.smpms-data-table tbody td{padding:.62rem .7rem;border-bottom:1px solid var(--color-border);color:var(--color-text);font-size:.86rem;vertical-align:middle;overflow-wrap:break-word;word-break:normal}
.app-table tbody tr:hover,.smpms-data-table tbody tr:hover{background:#F6FAF8}
.status-badge,.smpms-status{display:inline-flex;align-items:center;width:max-content;max-width:100%;padding:.2rem .5rem;border:1px solid transparent;border-radius:999px;font-size:.75rem;font-weight:650;line-height:1.25}
.smpms-status-success{border-color:#BFE1CC;background:#EAF6EF;color:#17613C}
.smpms-status-warning{border-color:#EAD5A2;background:#FFF5DD;color:#80570D}
.smpms-status-danger{border-color:#E9C3BF;background:#FBEDEC;color:#913832}
.smpms-status-info{border-color:#C5D9EC;background:#EDF5FC;color:#285E91}
.smpms-status-neutral{border-color:#D5DEE3;background:#F1F4F6;color:#536673}
.btn-app-primary{border-color:var(--color-primary);background:var(--color-primary);color:#fff}
.btn-app-secondary{border-color:#9AAAB3;background:var(--color-surface);color:#405661}
.export-btn,.btn-export-pdf,.btn-export-word,.btn-export-excel,.btn-export-print{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;background:var(--color-surface)}
.btn-export-pdf{border-color:#D9A9A5;color:#A33832}.btn-export-word{border-color:#AAC5E2;color:#225F9B}.btn-export-excel{border-color:#A9D1B8;color:#1D7145}.btn-export-print{border-color:#BBC6CC;color:#4E626D}
.empty-state{padding:1.1rem;border:1px dashed #BCCAC4;border-radius:var(--radius-md);background:#FAFCFB;color:var(--color-muted);text-align:center}
.module-tabs{display:flex;align-items:center;gap:.35rem;max-width:100%;overflow-x:auto}
.pagination-bar{display:flex;align-items:center;justify-content:flex-end;gap:.45rem;flex-wrap:nowrap}
:focus-visible{outline:3px solid rgba(37,99,166,.28);outline-offset:2px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
@media(max-width:991px){.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.page-header,.smpms-page-title{align-items:flex-start;flex-direction:column}.page-actions{width:100%;justify-content:flex-start}.form-grid{grid-template-columns:1fr}.pagination-bar{max-width:100%;overflow-x:auto}}


/* Shared application chrome migrated from Header.jsp. */
/* BODY */
body {
	font-family: 'Segoe UI';
	background: #f4f7fb;
	width: 100%;
	min-height: 100vh;
	height: auto;
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 0;
	overflow-x: hidden;
	overflow-y: auto;
}

body:not(.app-shell)>main, body:not(.app-shell)>.main-content {
	flex: 1 0 auto;
	min-height: 0;
	overflow: visible
}

body>.footer {
	flex: 0 0 auto;
	margin-top: auto
}

.header {
	position: sticky;
	top: 0;
	z-index: 1040
}

.footer {
	position: sticky;
	bottom: 0;
	z-index: 1030
}

/* HEADER */
.header {
	background: linear-gradient(135deg, #118f55cf, #0b6d41);
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
	padding: 8px 0;
}

/* BRANDING */
.header-brand {
	display: flex;
	align-items: center;
	gap: 12px;
	min-width: 0;
	margin-right: 14px;
}

.smpms-header-logo {
	display: block;
	width: auto;
	height: 65px;
	object-fit: contain;
	flex-shrink: 0;
	transition: transform 0.3s;
}

.smpms-header-logo:hover {
	transform: scale(1.05);
}

.header-brand-text {
	min-width: 0;
	color: #ffffff;
	line-height: 1.2;
}

.header-title {
	font-size: 1.2rem;
	font-weight: 700;
}

.header-subtitle {
	margin-top: 2px;
	font-size: .88rem;
	font-weight: 400;
	opacity: .9;
}

/* NAVBAR */
.navbar-nav {
	gap: 8px;
}

.navbar-nav .nav-link {
	font-size: 15px;
	font-weight: 600;
	color: #ffffff !important;
	padding: 6px 16px;
	border-radius: 10px;
	display: flex;
	align-items: center;
	gap: 8px;
	transition: 0.3s;
}

/* ICON */
.navbar-nav .nav-link i {
	font-size: 18px;
}

/* HOVER */
.navbar-nav .nav-link:hover {
	background: rgba(255, 255, 255, 0.15);
	/* color: #ffe082 !important; */
	transform: translateY(-2px);
}

/* ACTIVE */
.navbar-nav .nav-link.active {
	background: white;
	color: #118f55cf !important;
	font-weight: bold;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
}

.header-welcome {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	min-width: 0;
	margin-left: 28px;
	padding: 6px 8px;
	padding-left: 20px;
	border-left: 1px solid rgba(255,255,255,.25);
	color: #f7fbf9;
	font-size: 13.5px;
	font-weight: 500;
	line-height: 1.2;
	white-space: nowrap;
}

.header-welcome>i {
	flex: 0 0 auto;
	color: #f6d98b;
	font-size: 17px;
}

.header-welcome-name {
	max-width: 150px;
	overflow: hidden;
	color: #fff;
	font-weight: 600;
	text-overflow: ellipsis;
}

.header-logout {
	margin-left: 20px;
}

/* MOBILE TOGGLER */
.mobile-nav-toggle {
	display: inline-flex;
	width: 44px;
	height: 40px;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, .65);
	border-radius: 7px;
	background: transparent;
	color: #fff;
}

.mobile-nav-toggle i {
	color: #fff;
	font-size: 24px;
	line-height: 1;
}

.mobile-nav-toggle:hover, .mobile-nav-toggle:focus-visible {
	background: rgba(255, 255, 255, .14);
	color: #fff;
}

.mobile-nav-toggle:focus {
	box-shadow: 0 0 0 3px rgba(255, 255, 255, .24);
}

/* RIGHT LOGO */
.right-logo {
	height: 65px;
	transition: 0.3s;
}

.right-logo:hover {
	transform: scale(1.05);
}

/* FOOTER */
.footer {
	position: static;
	width: 100%;
	background: #11503e;
	color: white;
	margin-top: 10px;
	padding: 15px;
	font-size: 1rem;
	font-weight: 500;
	text-align: center;
	box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.1);
}
/* MOBILE / TABLET NAVIGATION */
@media ( max-width :991.98px) {
	.header-brand {
		flex: 1 1 auto;
		gap: 9px;
		margin-right: 8px;
		max-width: calc(100% - 60px);
	}
	.smpms-header-logo {
		height: 48px;
	}
	.header-title {
		font-size: 1rem;
	}
	.header-subtitle {
		font-size: .72rem;
		line-height: 1.15;
	}
	.right-logo {
		display: none;
	}
	.header .navbar-collapse {
		order: 4;
		flex-basis: 100%;
		width: 100%;
		margin-top: 8px;
		padding: 8px;
		border: 1px solid rgba(12, 70, 48, .12);
		border-radius: 10px;
		background: #fff;
		box-shadow: 0 8px 20px rgba(15, 55, 40, .18);
	}
	.navbar-nav {
		width: 100%;
		margin: 0;
		gap: 3px;
	}
	.navbar-nav .nav-link {
		width: 100%;
		justify-content: flex-start;
		padding: 10px 12px;
		color: #25473b !important;
	}
	.navbar-nav .nav-link:hover {
		background: #f0f7f4;
		transform: none;
	}
	.navbar-nav .nav-link.active {
		background: #e7f3ed;
		color: #0b6d41 !important;
		box-shadow: inset 3px 0 #168b68;
	}
	.header-welcome {
		width: 100%;
		margin-left: 0;
		padding: 10px 12px;
		border-left: 0;
		color: #354f45;
	}
	.header-welcome>i { color: #b4770b; }
	.header-welcome-name {
		max-width: none;
		color: #173f31;
	}
	.header-logout {
		margin-left: 0;
		padding-left: 0;
		border-top: 1px solid #dce7e2;
		border-left: 0;
	}
}

@media ( min-width :992px) and ( max-width :1199.98px) {
	.header-welcome {
		margin-left: 16px;
		padding-left: 14px;
	}
	.header-logout { margin-left: 12px; }
	.header-welcome-label { display: none; }
	.header-welcome-name { max-width: 105px; }
}

@media ( max-width :480px) {
	.header .container-fluid {
		padding-right: 10px !important;
		padding-left: 10px !important;
	}
	.smpms-header-logo { height: 44px; }
	.header-title { font-size: .96rem; }
	.header-subtitle {
		max-width: 235px;
		font-size: .68rem;
	}
}

/* Shared application shell and authentication surface. */
.smpms-app-shell{width:100%;min-height:100vh;margin:0;overflow-x:hidden;background:var(--color-surface-soft);color:var(--color-text);font-family:"Segoe UI",Arial,sans-serif}
.smpms-app-shell body > main,.smpms-app-shell body > .main-content,.smpms-app-shell>main,.smpms-app-shell>.main-content{flex:1 0 auto;min-width:0;min-height:0}
.smpms-header{background:var(--color-primary)!important;border-bottom:3px solid #168B68;box-shadow:0 2px 9px rgba(11,69,55,.16)}
.smpms-header .smpms-header-logo,.smpms-header .right-logo{transition:none}
.smpms-header .smpms-header-logo:hover,.smpms-header .right-logo:hover{transform:none}
.smpms-header .nav-link{transition:background-color .15s ease,color .15s ease}
.smpms-header .nav-link:hover{transform:none}
.smpms-footer{margin-top:auto;background:var(--color-primary-dark);color:#fff;box-shadow:0 -1px 5px rgba(11,69,55,.1)}
.smpms-login-shell{display:grid;min-height:100vh;height:auto;padding:1.25rem;place-items:center;background:linear-gradient(rgba(11,69,55,.7),rgba(11,69,55,.7)),url("BT15.png") center/cover no-repeat;color:var(--color-text)}
body.login-page{min-height:100vh;background-image:var(--login-wallpaper);background-size:cover;background-position:center center;background-repeat:no-repeat;background-attachment:fixed}
.login-card{width:min(92%,400px);padding:2rem;border:1px solid rgba(255,255,255,.75);border-radius:var(--radius-md);background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);box-shadow:0 12px 32px rgba(11,45,36,.2);text-align:center}
.login-card .logo img{width:88px;height:88px;padding:5px;border-radius:50%;background:#fff;box-shadow:0 5px 16px rgba(20,48,63,.16);object-fit:contain}
.login-card h2{margin:.75rem 0 .2rem;color:var(--color-primary-dark);font-size:1.55rem;font-weight:750}
.login-card .subtitle{min-height:.5rem;margin:0 0 1rem;color:var(--color-muted);font-size:.82rem}
.login-card .input-group{position:relative;margin-bottom:.85rem}
.login-card .input-group input{width:100%;min-height:44px;padding:.65rem .8rem .65rem 2.5rem;border:1px solid #B9C8D0;border-radius:var(--radius-sm);background:#fff;color:var(--color-text);font-size:.9rem}
.login-card .input-group i{position:absolute;z-index:2;left:.85rem;top:50%;transform:translateY(-50%);color:var(--color-muted)}
.login-card .btn{width:100%!important;margin-top:.15rem}
.login-error{min-height:1.25rem;margin-top:.75rem;color:#9B332E;font-size:.82rem;font-weight:600}
.login-card .options{display:none}
@media (max-width:480px){.smpms-login-shell{padding:.8rem}.login-card{padding:1.4rem}}

/* GLOBAL CORE MODULE HIERARCHY */
.dashboard-heading,.state-dashboard-header,.record-form-heading,.records-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 0 var(--section-gap)}
.dashboard-heading h1,.state-dashboard-header h1,.record-form-heading h1,.records-heading h1{margin:0;color:var(--color-primary-dark);font-size:clamp(1.45rem,2vw,1.9rem);font-weight:750;line-height:1.2}
.dashboard-heading h1 i,.state-dashboard-header h1 i,.record-form-heading h1 i,.records-heading h1 i{color:var(--color-primary)}
.dashboard-section-title,.dashboard-panel-header h2,.record-form-section>h2,.profile-section-header{color:var(--color-primary-dark);font-size:1rem;font-weight:700}
.record-form-section>h2,.profile-section-header{display:flex;align-items:center;gap:.45rem;margin:0;padding:.68rem .85rem;border-bottom:1px solid var(--color-border);background:#F0F6F3}
.record-form-section>h2 i,.profile-section-header i{color:var(--color-primary)}
.record-form-section,.profile-section,.dashboard-panel,.records-table-shell{border-color:var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm)}
.record-form-grid label,.rehab-form-card label,.profile-label{color:var(--color-muted);font-size:.78rem;font-weight:600;line-height:1.35}
.profile-value{color:var(--color-text);font-size:.92rem;font-weight:450;line-height:1.45;overflow-wrap:break-word;word-break:normal}
.profile-identity-card h1{color:var(--color-primary-dark);font-size:clamp(1.5rem,2.2vw,2rem);font-weight:750}
.profile-identity-facts,.profile-info-grid{gap:var(--field-gap)}
.records-table-shell{max-width:100%;overflow-x:auto;overflow-y:visible}
.records-data-table th,.records-data-table td{overflow-wrap:break-word;word-break:normal}
.search-container{min-width:0;padding:1rem}
.search-card{display:flex;min-height:0;padding:1rem;flex-direction:column;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm)}
.search-card>.records-heading{padding:0;background:transparent;border:0;box-shadow:none}
.search-card>.records-heading i{margin-right:.4rem;color:var(--color-primary)}
.search-card>.filter-card{margin-bottom:.85rem;padding:.85rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-soft)}
.search-card .table-container{max-width:100%;overflow-x:auto;overflow-y:visible;border:1px solid var(--color-border);border-radius:var(--radius-md)}
.search-card .table-container .table{margin:0}
.search-card .wrap{max-width:500px;overflow-wrap:break-word;word-break:normal}
.search-card .btn-search{min-height:42px;border-color:var(--color-primary);background:var(--color-primary);color:#fff}
@media(max-width:767px){.dashboard-heading,.state-dashboard-header,.record-form-heading,.records-heading{align-items:flex-start;flex-direction:column}.search-container{padding:.75rem}}

/* GLOBAL REPORTS AND ANALYTICS HIERARCHY */
.report-page-header,.abstract-heading,.district-dashboard-header,.gallery-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 0 var(--section-gap)}
.report-page-header h1,.abstract-heading h1,.district-dashboard-header h1,.gallery-heading h1{margin:0;color:var(--color-primary-dark);font-size:clamp(1.45rem,2vw,1.9rem);font-weight:750;line-height:1.2}
.report-page-header h1 i,.abstract-heading h1 i,.district-dashboard-header h1 i,.gallery-heading h1 i{color:var(--color-purple)}
.report-filter-panel,.abstract-filter-bar,.gallery-controls{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm)}
.report-filter-title,.dashboard-panel-header{border-bottom:1px solid var(--color-border);background:#F5F2FA;color:#493A72}
.report-filter-title i,.dashboard-panel-header i{color:var(--color-purple)}
.report-summary-grid>*,.abstract-badges>*,.district-stat-card,.rehabilitation-summary-card{border-color:var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}
.report-summary-grid>* strong,.abstract-badges strong,.district-stat-card strong,.rehabilitation-summary-card strong{color:var(--color-text);font-weight:750}
.abstract-badges>*:first-child{border-color:#C5D9EC;background:#EDF5FC;color:#285E91}
.abstract-badges .abstract-partially-paid,.abstract-badges .financial-pending-summary{border-color:#EAD5A2;background:#FFF5DD;color:#80570D}
.report-table-wrap,.abstract-table-pane{max-width:100%;overflow-x:auto;overflow-y:visible}
.report-data-table th,.report-data-table td,.abstract-table th,.abstract-table td{overflow-wrap:break-word;word-break:normal}
.report-export-actions .btn-outline-danger,.abstract-export-actions .btn-outline-danger{border-color:#D9A9A5;color:#A33832}
.report-export-actions .btn-outline-primary,.abstract-export-actions .btn-outline-primary{border-color:#AAC5E2;color:#225F9B}
.report-export-actions .btn-outline-success,.abstract-export-actions .btn-outline-success{border-color:#A9D1B8;color:#1D7145}
.compact-gallery-card{border-color:var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}
.compact-gallery-body h2{color:var(--color-primary-dark);font-weight:700}.compact-gallery-body dt{color:var(--color-muted);font-size:.75rem;font-weight:600}.compact-gallery-body dd{color:var(--color-text);font-size:.86rem;font-weight:450}
@media(max-width:767px){.report-page-header,.abstract-heading,.district-dashboard-header,.gallery-heading{align-items:flex-start;flex-direction:column}.report-export-actions,.abstract-export-actions{max-width:100%;overflow-x:auto}}

/* GLOBAL MONITORING MODULE HIERARCHY */
.monitoring-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 0 var(--section-gap)}
.monitoring-heading h1{margin:0;color:var(--color-primary-dark);font-size:clamp(1.45rem,2vw,1.9rem);font-weight:750;line-height:1.2}
.monitoring-heading h1 i{color:var(--color-teal)}
.monitoring-heading p{margin:.25rem 0 0;color:var(--color-muted);font-size:.84rem}
.monitoring-flash{display:flex;align-items:center;gap:8px;min-height:42px;margin:0 0 12px;padding:9px 42px 9px 12px;border:1px solid;border-radius:8px;font-size:.88rem;font-weight:600;line-height:1.35;box-shadow:0 2px 7px rgba(24,65,49,.04)}
.monitoring-flash>i{flex:0 0 auto;font-size:1rem}.monitoring-flash>span{min-width:0}.monitoring-flash-close{position:absolute;top:50%;right:10px;display:inline-grid;width:28px;height:28px;place-items:center;padding:0;transform:translateY(-50%);border:0;background:transparent;color:currentColor;font-size:1.25rem;line-height:1;opacity:.7}.monitoring-flash-close:hover,.monitoring-flash-close:focus-visible{opacity:1}.monitoring-flash-close:focus-visible{outline:2px solid currentColor;outline-offset:1px}
.monitoring-flash-success{border-color:#a9d4bb;background:#edf8f1;color:#175b36}.monitoring-flash-success>i{color:#16834f}
.monitoring-flash-error{border-color:#efb6b6;background:#fff1f1;color:#842525}.monitoring-flash-error>i{color:#c73838}
.monitoring-flash-warning{border-color:#efd39b;background:#fff8e8;color:#805817}.monitoring-flash-warning>i{color:#d97706}.monitoring-flash-info{border-color:#b9d8ed;background:#eef8ff;color:#245b7a}.monitoring-flash-info>i{color:#2563a6}.monitoring-flash[data-auto-dismiss="true"]{animation:monitoring-flash-dismiss 5s ease-in 0s 1 forwards}@keyframes monitoring-flash-dismiss{0%,82%{opacity:1}100%{opacity:0;visibility:hidden}}
.monitoring-form-panel,.monitoring-view-panel,.monitoring-list-panel,.monitoring-chart-panel,.monitoring-letter-compact-card,.monitoring-letter-activity-panel{border-color:var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm)}
.monitoring-section-head,.monitoring-form-title,.monitoring-letter-compact-card>header,.monitoring-letter-activity-panel>header{border-bottom:1px solid var(--color-border);background:#F0F6F3}
.monitoring-section-head h2,.monitoring-form-title h2,.monitoring-letter-compact-card>header h2,.monitoring-letter-activity-panel>header h2{color:var(--color-primary-dark);font-size:1rem;font-weight:700}
.monitoring-grid label>span,.monitoring-section label>span,.monitoring-audit dt{color:var(--color-muted);font-size:.78rem;font-weight:600}
.monitoring-entry-observation{border-left:4px solid var(--color-warning)!important;background:#FFFAF0!important;box-shadow:var(--shadow-sm)}
.monitoring-entry-observation>dd:first-of-type{color:var(--color-text);font-size:1.02rem;font-weight:550}
.monitoring-entry-follow-up{border-left-color:var(--color-info)!important;background:#F3F8FD!important}
.monitoring-entry-audit{color:var(--color-muted);font-size:.78rem;background:#F3F5F6!important;box-shadow:none!important}
.monitoring-table-wrap{max-width:100%;overflow-x:auto;overflow-y:visible}
.monitoring-table th,.monitoring-table td{overflow-wrap:break-word;word-break:normal}
.monitoring-status{border-radius:999px;font-size:.75rem;font-weight:650}
.monitoring-export-pdf{border-color:#D9A9A5!important;color:#A33832!important}.monitoring-export-word{border-color:#AAC5E2!important;color:#225F9B!important}.monitoring-export-excel{border-color:#A9D1B8!important;color:#1D7145!important}.monitoring-export-print{border-color:#BBC6CC!important;color:#4E626D!important}
@media(max-width:767px){.monitoring-heading{align-items:flex-start;flex-direction:column}.monitoring-page-actions{width:100%;justify-content:flex-start}.monitoring-entry-observation-grid{grid-template-columns:1fr}}

/* GLOBAL RESPONSIVE AND DOCUMENT ISOLATION */
.main-content,.app-page,.smpms-dashboard,.report-workspace,.abstract-page,.gallery-page,.monitoring-page,.profile-page-container,.record-form-page{min-width:0;max-width:100%}
.smpms-table-wrap,.table-wrapper,.records-table-shell,.report-table-wrap,.abstract-table-pane,.monitoring-table-wrap{max-width:100%;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch}
.smpms-data-table td,.app-table td,.records-data-table td,.report-data-table td,.abstract-table td,.monitoring-table td{overflow-wrap:break-word;word-break:normal}
.monitoring-letter-preview-shell,.profile-report-preview-shell,.monitoring-person-preview-shell{max-width:100%;overflow-x:auto;background:#EEF2F3}
.monitoring-official-letter,.profile-report-print article,.monitoring-report-print article{box-sizing:border-box;background:#fff}
@media(max-width:1199px){.dashboard-card-grid.five-column{grid-template-columns:repeat(3,minmax(0,1fr))}.report-layout{grid-template-columns:minmax(230px,300px) minmax(0,1fr)}}
@media(max-width:991px){.dashboard-card-grid.five-column,.report-summary-grid,.monitoring-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-layout{grid-template-columns:1fr}}
@media(max-width:767px){.dashboard-card-grid.five-column,.report-summary-grid,.monitoring-summary-grid,.profile-info-grid,.record-form-grid{grid-template-columns:1fr}.main-content{padding-right:.75rem;padding-left:.75rem}.smpms-table-wrap,.table-wrapper,.records-table-shell,.report-table-wrap,.abstract-table-pane,.monitoring-table-wrap{border-radius:var(--radius-sm)}}
@media(max-width:480px){.page-title,.smpms-page-title h1,.dashboard-heading h1,.records-heading h1,.abstract-heading h1,.monitoring-heading h1{font-size:1.35rem}.page-actions .btn,.monitoring-row-actions .btn{min-height:36px;padding:.35rem .55rem}}

/* Compact Monitoring Alerts tables and accessible icon actions. */
.monitoring-alerts-table{width:100%;min-width:900px;margin:0;table-layout:fixed;white-space:normal}
.monitoring-alerts-table thead th{padding:8px 10px;color:#fff;font-size:14px;font-weight:600;line-height:1.2;vertical-align:middle;white-space:normal}
.monitoring-alerts-table tbody td{height:48px;padding:8px 10px;font-size:14px;font-weight:400;line-height:1.3;vertical-align:middle;overflow-wrap:break-word;word-break:normal}
.monitoring-alerts-current-table .monitoring-col-serial{width:5%}.monitoring-alerts-current-table .monitoring-col-name{width:17%}.monitoring-alerts-current-table .monitoring-col-rank{width:8%}.monitoring-alerts-current-table .monitoring-col-district{width:10%}.monitoring-alerts-current-table .monitoring-col-officer{width:15%}.monitoring-alerts-current-table .monitoring-col-officer-rank{width:9%}.monitoring-alerts-current-table .monitoring-col-date{width:12%}.monitoring-alerts-current-table .monitoring-col-status{width:12%}.monitoring-alerts-current-table .monitoring-col-action{width:12%}
.monitoring-page .monitoring-assigned-table{min-width:620px}.monitoring-assigned-table .monitoring-col-name{width:28%}.monitoring-assigned-table .monitoring-col-rank{width:16%}.monitoring-assigned-table .monitoring-col-district{width:20%}.monitoring-assigned-table .monitoring-col-date{width:20%}.monitoring-assigned-table .monitoring-col-action{width:16%}
.monitoring-alert-action-column{width:82px;min-width:82px;text-align:center}
.monitoring-alert-actions{display:flex;align-items:center;justify-content:center;gap:6px;min-width:74px;white-space:nowrap}
.monitoring-alert-action{display:inline-flex;width:34px;height:34px;padding:0;align-items:center;justify-content:center;flex:0 0 34px;border:1px solid;border-radius:6px;font-size:16px;line-height:1;text-decoration:none;transition:background-color .15s ease,border-color .15s ease,color .15s ease}
.monitoring-alert-action-add{border-color:#86b89f;background:#edf7f2;color:#176747}
.monitoring-alert-action-add:hover,.monitoring-alert-action-add:focus{border-color:#176747;background:#176747;color:#fff}
.monitoring-alert-action-history{border-color:#a9c3d5;background:#f3f8fb;color:#285e78}
.monitoring-alert-action-history:hover,.monitoring-alert-action-history:focus{border-color:#39728e;background:#e4f0f6;color:#194b63}
@media(max-width:600px){.monitoring-alerts-current-table{min-width:900px}.monitoring-assigned-table{min-width:620px}.monitoring-alert-action-column{width:82px;min-width:82px}.monitoring-alert-actions{flex-wrap:nowrap;min-width:74px}}

/* Compact, server-rendered Monitoring Alerts section controls. */
.monitoring-alert-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px}
.monitoring-alert-search{display:flex;align-items:center;width:clamp(280px,26vw,360px);margin:0}
.monitoring-alert-search-box{position:relative;width:100%}
.monitoring-alert-search input{height:38px;width:100%;min-width:0;padding:7px 38px 7px 34px;border:1px solid #b9cbc3;border-radius:8px;background:#fff;color:#17372c;font-size:.82rem;line-height:1.25;box-shadow:0 1px 2px rgba(20,65,48,.04);transition:border-color .16s ease,box-shadow .16s ease}
.monitoring-alert-search input::placeholder{color:#65786f;opacity:1}
.monitoring-alert-search input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}
.monitoring-alert-search-icon{position:absolute;left:11px;top:50%;z-index:1;transform:translateY(-50%);color:#28795d;font-size:.9rem;pointer-events:none}
.monitoring-alert-search-clear{position:absolute;right:7px;top:50%;z-index:2;width:26px;height:26px;padding:0;transform:translateY(-50%);border:0;border-radius:50%;background:transparent;color:#526b61;font-size:1.12rem;font-weight:600;line-height:24px;text-align:center;cursor:pointer}
.monitoring-alert-search-clear:hover{background:#edf5f1;color:#145d43}
.monitoring-alert-search-clear:focus-visible{outline:2px solid #23845f;outline-offset:1px}
.monitoring-alert-search-clear[hidden]{display:none}
.monitoring-alert-search-spinner{display:none;position:absolute;right:11px;top:50%;z-index:2;width:16px;height:16px;margin-top:-8px;border:2px solid #c8d8d1;border-top-color:#23845f;border-radius:50%;animation:monitoring-search-spin .7s linear infinite}
.monitoring-alert-search[data-live-search-state="is-loading"] .monitoring-alert-search-clear{display:none}
.monitoring-alert-search[data-live-search-state="is-loading"] .monitoring-alert-search-spinner{display:block}
.monitoring-alert-search:focus-within input{border-color:#23845f;box-shadow:0 0 0 3px rgba(35,132,95,.14);outline:0}
@keyframes monitoring-search-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.monitoring-alert-search-spinner{animation:none}}
.monitoring-alert-section-footer a{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:5px 9px;border-radius:6px;font-size:.78rem;font-weight:650;line-height:1;text-decoration:none;white-space:nowrap}
.monitoring-alert-section-footer a{border:1px solid #b8cfc3;color:#176747;background:#fff}
.monitoring-alert-section-footer a:hover,.monitoring-alert-section-footer a:focus{border-color:#176747;background:#edf7f2;color:#105238}
.monitoring-alert-filtered-count{margin:3px 0 0;color:#65786f;font-size:.78rem}
.monitoring-alert-section-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:8px 12px;border-top:1px solid #e2ebe6}
.monitoring-alert-section-pagination{display:flex;align-items:center;gap:6px;white-space:nowrap}
.monitoring-alert-page-disabled{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:5px 9px;border:1px solid #d6dfda;border-radius:6px;background:#f4f6f5;color:#93a39a;font-size:.78rem;font-weight:650;line-height:1;white-space:nowrap;cursor:not-allowed}
@media(max-width:1023px){.monitoring-alert-search{width:clamp(240px,36vw,300px)}}
@media(max-width:767px){.monitoring-alert-section-head{align-items:stretch;flex-direction:column}.monitoring-alert-search{width:100%}.monitoring-alert-search input{min-width:0;flex:1 1 auto}.monitoring-alert-section-footer{align-items:flex-start;flex-direction:column}}

/* LEFT-ALIGNED PAGE TITLE GROUPS */
.dashboard-heading{justify-content:flex-start}
.dashboard-page-title{display:flex;align-items:center;justify-content:flex-start;gap:10px}
.dashboard-page-title .dashboard-heading-icon{width:42px;height:42px;flex:0 0 42px;font-size:1.5rem}
.report-page-header h1,.abstract-heading h1,.gallery-heading h1,.monitoring-heading h1,.record-form-heading h1{display:inline-flex;align-items:center;justify-content:flex-start;gap:10px}
.report-page-header h1 i,.abstract-heading h1 i,.gallery-heading h1 i,.monitoring-heading h1 i,.record-form-heading h1 i{margin-right:0;flex:0 0 auto;font-size:1em}

/* COMPACT REPORT RESULTS TOOLBAR */
.report-toolbar{display:grid;grid-template-columns:minmax(150px,180px) minmax(260px,1fr) auto;align-items:center;gap:.65rem;margin:0 0 .3rem;padding:.55rem .65rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm)}
.report-toolbar-metric{display:flex;align-items:center;justify-content:space-between;gap:.65rem;min-height:40px;padding:.45rem .65rem;border:1px solid #c5d9ec;border-radius:var(--radius-sm);background:#edf5fc;color:#285e91;white-space:nowrap}
.report-toolbar-metric span{font-size:.75rem;font-weight:650}.report-toolbar-metric strong{color:#173042;font-size:1.15rem;font-weight:750;line-height:1}
.report-toolbar .report-global-search{display:flex;min-width:0;width:100%;margin:0}.report-toolbar .report-global-search input{min-width:0;flex:1 1 auto}.report-toolbar .report-global-search .btn{flex:0 0 auto}
.report-toolbar .report-export-actions{display:flex;align-items:center;justify-content:flex-end;gap:.4rem;flex-wrap:nowrap;white-space:nowrap}
.report-result-meta{margin:.15rem 0 .35rem;padding:.15rem 0;font-size:.78rem}.report-result-meta+.report-table-wrap{margin-top:0}
@media(max-width:1100px){.report-toolbar{grid-template-columns:minmax(150px,180px) minmax(260px,1fr)}.report-toolbar .report-export-actions{grid-column:1/-1;justify-content:flex-end}}
@media(max-width:767px){.report-toolbar{grid-template-columns:1fr;align-items:stretch}.report-toolbar-metric{width:min(100%,180px)}.report-toolbar .report-global-search{align-items:stretch;flex-wrap:wrap}.report-toolbar .report-global-search input{flex-basis:calc(100% - 96px)}.report-toolbar .report-export-actions{grid-column:auto;justify-content:flex-start;overflow-x:auto;padding-bottom:.15rem}}
@media(max-width:390px){.main-content{padding-right:.55rem;padding-left:.55rem}.smpms-card,.app-card,.record-form-section,.profile-section{border-radius:var(--radius-sm)}.pagination-bar{justify-content:flex-start}}
@media print{.monitoring-letter-preview-shell,.profile-report-preview-shell,.monitoring-person-preview-shell{overflow:visible;background:#fff}.monitoring-official-letter,.profile-report-print article,.monitoring-report-print article{max-width:none;margin:0;box-shadow:none}@page{size:A4 portrait}}

  /* Compact Overall Records workspace. */
  .records-page{padding:16px 0 32px;overflow-x:hidden}
  .records-page-shell{width:calc(100% - 48px);max-width:1700px;min-height:0;margin:0 auto}
  .overall-records-workspace{display:grid;gap:10px;min-width:0;min-height:0;overflow:visible}
.overall-records-heading{min-height:54px;margin:0;padding:6px 2px}
.overall-records-heading h1{font-size:1.35rem;line-height:1.25}
.overall-records-heading h1 i{margin-right:5px;color:#176747}
.overall-records-heading p{margin-top:2px;font-size:.78rem;line-height:1.25}
.overall-records-heading .records-result-count{flex:0 0 auto;color:#586a62;font-size:.82rem;white-space:nowrap}
.records-toolbar-row{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;width:100%;margin:0;padding:10px;border:1px solid #dbe5e2;border-radius:9px;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.035)}
.records-toolbar-search{flex:1 1 30%;min-width:210px}.records-toolbar-state{flex:0 1 12%;min-width:95px}.records-toolbar-district{flex:0 1 13%;min-width:105px}.records-toolbar-gender{flex:0 1 10%;min-width:90px}.records-toolbar-rank{flex:0 1 11%;min-width:95px}.records-toolbar-status{flex:0 1 12%;min-width:100px}
.overall-records-filters input,.overall-records-filters select{min-height:36px;height:36px;padding:6px 9px;border-color:#bdcbd2;border-radius:6px;font-size:.84rem}
.overall-records-filters>.btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;flex:0 0 auto;min-width:0;min-height:36px;height:36px;padding:6px 9px;border-color:#d1dcda;background:#fff;font-size:.8rem;white-space:nowrap}
.overall-records-filters>.btn-success{border-color:#176747;background:#176747}.overall-records-filters>.btn-outline-success i{color:#238a57}.overall-records-filters>.btn-outline-danger i{color:#b42318}.overall-records-filters>.btn-outline-secondary i{color:#596970}
.records-filter-search{position:relative;display:block;min-width:0;margin:0}
.records-filter-search i{position:absolute;z-index:1;top:50%;left:10px;color:#667a72;font-size:.82rem;transform:translateY(-50%);pointer-events:none}
.records-filter-search input{width:100%;padding-left:31px}
  .records-table-scroll{min-height:0;max-height:none;overflow-x:auto;overflow-y:visible}
  .overall-records-table-shell{border:1px solid #dbe5e2;border-radius:9px;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.04)}
.overall-records-table{width:100%;min-width:1200px;table-layout:fixed}
.overall-records-table thead{position:sticky;z-index:5;top:0}
.overall-records-table th{padding:9px 10px;border-color:#2c6754;background:#185f47;color:#fff;font-size:14px;font-weight:600;line-height:1.2;vertical-align:middle;white-space:normal}
.overall-records-table td{height:48px;padding:9px 10px;border-color:#e4ebe8;color:#344b42;font-size:14px;font-weight:400;line-height:1.3;vertical-align:middle;overflow-wrap:break-word;word-break:normal}
.overall-records-table th:last-child,.overall-records-table td:last-child{padding-right:4px;padding-left:4px}
.overall-records-table .identity-cell{color:#183d2f;font-size:14px;font-weight:600}
.overall-records-table .records-alias-cell{color:#52675e;white-space:normal;overflow-wrap:normal;word-break:normal}
.overall-records-table tbody tr:nth-child(even){background:#f8faf9}
.overall-records-table tbody tr:hover{background:#eef6f3}
.records-col-sno{width:4%}.records-col-name{width:15%}.records-col-alias{width:15%}.records-col-gender{width:6%}.records-col-age{width:5%}.records-col-rank{width:14%}.records-col-date{width:11%}.records-col-district{width:12%}.records-col-state{width:8%}.records-col-actions{width:10%}.records-col-benefit{width:15%}
.benefit-drilldown-table .records-col-sno{width:4%}.benefit-drilldown-table .records-col-name{width:12%}.benefit-drilldown-table .records-col-alias{width:13%}.benefit-drilldown-table .records-col-gender{width:5%}.benefit-drilldown-table .records-col-age{width:4%}.benefit-drilldown-table .records-col-rank{width:11%}.benefit-drilldown-table .records-col-date{width:9%}.benefit-drilldown-table .records-col-district{width:10%}.benefit-drilldown-table .records-col-state{width:7%}.benefit-drilldown-table .records-col-benefit{width:15%}.benefit-drilldown-table .records-col-actions{width:10%}
.overall-records-table .record-action-group{min-width:109px;width:109px;display:flex;align-items:center;justify-content:center;gap:5px;flex-wrap:nowrap}
.records-action{width:33px;height:33px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 33px;border:1px solid #d5dfdc;border-radius:6px;background:#fff;box-shadow:none;font-size:16px;text-decoration:none}
.records-action:hover{background:#f5f8f7}.records-action-view{color:#16808a}.records-action-edit{color:#b77913}.records-action-pdf{color:#b42318}
  .overall-records-pagination{display:flex;justify-content:flex-end;margin:0;padding:4px 0 0;overflow:visible}
.overall-records-pagination .pagination-bar{width:auto;min-width:max-content;justify-content:flex-end;gap:7px;padding:0}
.overall-records-pagination .standard-pagination,.overall-records-pagination .smpms-page-jump{flex-wrap:nowrap}
.overall-records-pagination .btn{min-height:32px;padding:4px 9px;font-size:.78rem}
  @media(max-width:1180px){.records-toolbar-row{flex-wrap:wrap}.records-toolbar-search{flex:1 1 100%}.records-toolbar-state,.records-toolbar-district,.records-toolbar-gender,.records-toolbar-rank,.records-toolbar-status{flex:1 1 20%;min-width:140px}}
  @media(max-width:768px){.records-page{padding:12px 0 26px}.records-page-shell{width:calc(100% - 24px)}.overall-records-heading{align-items:flex-start;min-height:0}.overall-records-heading .records-result-count{align-self:flex-start}.records-toolbar-state,.records-toolbar-district,.records-toolbar-gender,.records-toolbar-rank,.records-toolbar-status{flex:1 1 calc(50% - 8px);min-width:0}.overall-records-pagination{justify-content:flex-start}}
  @media(max-width:600px){.records-page-shell{width:calc(100% - 16px)}.records-toolbar-row{align-items:stretch;flex-direction:column}.records-toolbar-search,.records-toolbar-state,.records-toolbar-district,.records-toolbar-gender,.records-toolbar-rank,.records-toolbar-status{flex:0 0 auto;width:100%;min-width:0}.overall-records-filters>.btn{width:100%}.overall-records-workspace{gap:8px}.overall-records-heading{gap:4px;padding:3px 0}.overall-records-heading h1{font-size:1.18rem}.overall-records-pagination{padding-bottom:2px}.overall-records-pagination .pagination-bar{min-width:0;overflow:visible;flex-wrap:wrap}}

/* Compact semantic Profile View presentation. */
.profile-view-page{background:var(--color-surface-soft);overflow-x:hidden}
.profile-page-container{display:grid;gap:14px;max-width:1440px;padding-top:16px;padding-bottom:28px}
.app-content-scroll>.profile-page-container{width:100%;max-width:1440px;margin-right:auto;margin-left:auto}
.profile-hero{display:grid;grid-template-columns:130px minmax(0,1fr) minmax(260px,330px);align-items:start;gap:16px;padding:16px;border:1px solid #dbe5e2;border-radius:10px;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.04)}
.profile-photo{width:130px;height:160px;max-width:none;margin:0;border:1px solid #d5dfdc;border-radius:10px;object-fit:cover;box-shadow:0 3px 9px rgba(24,61,49,.09)}
.profile-meta{min-width:0;padding:2px 0}
.profile-identity-content h1{margin:4px 0;color:#173f30;font-size:clamp(1.5rem,2vw,1.75rem);font-weight:700;line-height:1.18;overflow-wrap:break-word;word-break:normal}
.profile-eyebrow{color:#566860;font-size:.72rem;font-weight:700;letter-spacing:.055em;text-transform:uppercase}
.profile-eyebrow i{color:#2563a6}.profile-eyebrow span{color:#66756e;font-weight:650}
.profile-alias{max-width:760px;margin:4px 0 10px;color:#50645b;font-size:.9rem;line-height:1.4;overflow-wrap:break-word;word-break:normal}
.profile-identity-facts{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0}
.profile-identity-facts>span{display:inline-flex;align-items:center;gap:5px;min-height:27px;margin:0;padding:4px 8px;border:1px solid transparent;border-radius:999px;font-size:.75rem;font-weight:650;line-height:1.15}
.profile-chip-gender{border-color:#d6d9f2!important;background:#f0f0fb!important;color:#565ca5!important}.profile-chip-gender i{color:#5b63b7!important}
.profile-chip-age{border-color:#d5e2ee!important;background:#eef5fb!important;color:#385f80!important}.profile-chip-age i{color:#2563a6!important}
.profile-chip-rank{border-color:#ead9ad!important;background:#fff8e8!important;color:#805d10!important}.profile-chip-rank i{color:#c98a1b!important}
.profile-chip-group{border-color:#d7d9ee!important;background:#f1f2fb!important;color:#4f579d!important}.profile-chip-group i{color:#5b63b7!important}
.profile-action-toolbar{display:grid;align-content:start;justify-items:end;gap:8px;min-width:0;padding:0}
.profile-action-primary,.profile-action-exports{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}
.profile-action-toolbar .btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:32px;margin:0;padding:5px 9px;white-space:nowrap}
.profile-report-options{display:grid;justify-items:end;gap:8px;width:100%}
.profile-action-options{display:grid;justify-items:start;gap:5px;padding:7px 9px;border:1px solid #e0e7e4;border-radius:8px;background:#f8faf9}
.profile-action-options label{display:inline-flex;align-items:center;gap:6px;margin:0;color:#465a51;font-size:.76rem;line-height:1.25;white-space:nowrap}
.profile-action-options input{flex:0 0 auto;width:15px;height:15px;margin:0;accent-color:#176747}
.profile-action-exports .btn[formaction="profilePdf"] i{color:#b42318}.profile-action-exports .btn[formaction="profileWord"] i{color:#2563a6}.profile-action-exports .btn[formaction="profilePrint"] i{color:#596970}
.profile-section-layout{display:grid;align-items:start;gap:14px;margin:0}
.profile-row-one{grid-template-columns:minmax(0,8fr) minmax(0,4fr)}
.profile-row-two{grid-template-columns:repeat(2,minmax(0,6fr))}
.profile-section{min-width:0;margin:0;border:1px solid #dbe5e2;border-radius:10px;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.04)}
.profile-section-header{min-height:0;padding:10px 12px;border-bottom:1px solid #e2e9e6;background:#f5f8f7}
.profile-section-header h2{gap:7px;color:#29483c;font-size:.94rem;font-weight:700;line-height:1.3}
.profile-section-header h2 i{font-size:1rem}.profile-section-header p{margin:2px 0 0;color:#566860;font-size:.74rem}
.profile-section-body{padding:14px 16px}
.profile-info-grid{gap:10px 16px}
.profile-info-item{min-width:0;padding:0 0 8px;border-bottom:1px solid #edf1ef}
.profile-label{font-size:.78rem;font-weight:600;line-height:1.25;color:#566860}
.profile-value{font-size:.92rem;font-weight:500;line-height:1.4;color:#203c31;overflow-wrap:break-word;word-break:normal}
.profile-long-value{overflow-wrap:break-word;word-break:normal}
.profile-address-panel{margin-top:12px;padding:11px 12px;border:1px solid #d9e9e7;border-radius:8px;background:#f5fbfa}
.profile-address-panel+.profile-address-panel{margin-top:10px}
.profile-address-panel .profile-subsection-title{margin:0 0 10px;padding:0 0 7px;border-bottom:1px solid #dceae7;color:#276d6d;font-size:.82rem}
.profile-address-panel .profile-subsection-title i{color:#138a8a}
.profile-address-panel .profile-info-item{border-bottom-color:#e3efed}
.profile-tone-personal>.profile-section-header{border-left:3px solid #2563a6;background:#f1f7fc}.profile-tone-personal>.profile-section-header h2 i{color:#2563a6}
.profile-tone-lwe>.profile-section-header{border-left:3px solid #5b63b7;background:#f4f4fc}.profile-tone-lwe>.profile-section-header h2 i{color:#5b63b7}
.profile-tone-surrender>.profile-section-header{border-left:3px solid #168b68;background:#f1faf7}.profile-tone-surrender>.profile-section-header h2 i{color:#168b68}
.profile-tone-financial>.profile-section-header{border-left:3px solid #238a57;background:#f1faf5}.profile-tone-financial>.profile-section-header h2 i{color:#238a57}
.profile-tone-case>.profile-section-header{border-left:3px solid #c98a1b;background:#fff9ed}.profile-tone-case>.profile-section-header h2 i{color:#c98a1b}
.profile-tone-weapon>.profile-section-header{border-left:3px solid #667883;background:#f5f7f8}.profile-tone-weapon>.profile-section-header h2 i{color:#667883}
.profile-tone-rehabilitation>.profile-section-header{border-left:3px solid #238a57;background:#f1faf5}.profile-tone-rehabilitation>.profile-section-header h2 i{color:#238a57}
.profile-tone-monitoring>.profile-section-header{border-left:3px solid #625bb7;background:#f5f3fc}.profile-tone-monitoring>.profile-section-header h2 i{color:#625bb7}
.profile-tone-financial>.profile-section-body{background:#fbfefc}
.profile-financial-primary-grid{gap:10px 14px}
.profile-financial-amount .profile-value{color:#176747;font-size:1.08rem;font-weight:700}
.profile-financial-status .profile-value,.profile-financial-pending .profile-value{display:inline-flex;width:max-content;padding:3px 8px;border-radius:999px;font-size:.78rem;font-weight:700}
.profile-financial-status .profile-value{background:#e5f3e9;color:#176747}.profile-financial-pending .profile-value{background:#fff0d7;color:#9a6410}
.profile-case-table,.profile-weapon-table,.profile-monitoring-table{margin:0}
.profile-case-header{justify-content:space-between;gap:12px;flex-wrap:wrap}
.profile-case-count{display:inline-flex;align-items:center;justify-content:center;min-width:25px;height:25px;padding:0 7px;border:1px solid #ead39f;border-radius:999px;background:#fff;color:#8a5b0d;font-size:.74rem;font-weight:700}
.profile-case-search-area{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-left:auto}
.profile-case-matching-count{white-space:nowrap}
.profile-case-search{width:clamp(300px,27vw,380px);margin:0}
.profile-case-search-box{position:relative;width:100%}
.profile-case-search-box>i{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:#28795d;font-size:.9rem;pointer-events:none}
.profile-case-search input{width:100%;height:38px;padding:7px 38px 7px 34px;border:1px solid #c8b98f;border-radius:8px;background:#fff;color:#243b32;font-size:.82rem;outline:0}
.profile-case-search input::placeholder{color:#66776f;opacity:1}.profile-case-search:focus-within input{border-color:#b47716;box-shadow:0 0 0 3px rgba(180,119,22,.14)}
.profile-case-search-clear{position:absolute;right:7px;top:50%;width:26px;height:26px;padding:0;transform:translateY(-50%);border:0;border-radius:50%;background:transparent;color:#526b61;font-size:1.1rem;line-height:24px;cursor:pointer}.profile-case-search-clear:hover{background:#f6efe0;color:#79500d}.profile-case-search-clear[hidden]{display:none}
.profile-case-search-spinner{display:none;position:absolute;right:11px;top:50%;width:16px;height:16px;margin-top:-8px;border:2px solid #e1d6bd;border-top-color:#b47716;border-radius:50%;animation:monitoring-search-spin .7s linear infinite}.profile-case-search[data-case-search-state="is-loading"] .profile-case-search-clear{display:none}.profile-case-search[data-case-search-state="is-loading"] .profile-case-search-spinner{display:block}
.profile-case-results{min-width:0}.profile-case-results .profile-table-wrap{padding:0}
.profile-case-table{width:100%;table-layout:fixed}.profile-case-col-serial{width:5%}.profile-case-col-crime{width:10%}.profile-case-col-law{width:15%}.profile-case-col-agency{width:13%}.profile-case-col-facts{width:25%}.profile-case-col-trial{width:20%}.profile-case-col-attachments{width:12%}
.profile-case-footer{display:flex;justify-content:flex-end;padding:10px 2px 0}.profile-case-toggle{padding:5px 10px;border:1px solid #d2b46f;border-radius:6px;background:#fffaf0;color:#78510f;font-size:.78rem;font-weight:700;cursor:pointer}.profile-case-toggle:hover{background:#fff2d5}.profile-case-empty{padding:12px;color:#5f7068;font-size:.82rem;text-align:center}
.profile-case-table th,.profile-weapon-table th,.profile-monitoring-table th{padding:8px 9px;background:#eff5f2;color:#29483c;font-size:.76rem;font-weight:700;vertical-align:middle;white-space:nowrap}
.profile-case-table td,.profile-weapon-table td,.profile-monitoring-table td{padding:8px 9px;border-top:1px solid #e6ece9;color:#31473e;font-size:.8rem;font-weight:400;line-height:1.35;vertical-align:top;overflow-wrap:break-word;word-break:normal}
.profile-case-table tbody tr:nth-child(even),.profile-weapon-table tbody tr:nth-child(even),.profile-monitoring-table tbody tr:nth-child(even){background:#fbfdfc}
.profile-table-wrap,.profile-section-body>.table-responsive{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.profile-rehabilitation-grid{gap:10px}
.profile-rehabilitation-card{min-width:0;padding:10px;border:1px solid #dce7e2;border-radius:8px;background:#fbfdfc;box-shadow:none}
.profile-rehabilitation-card h3{font-size:.8rem}.profile-rehabilitation-card h3 i{color:#238a57}
.profile-status-badge{min-height:25px;padding:3px 8px;border-radius:999px;font-size:.72rem;font-weight:700}
.profile-status-badge.success{border-color:#c9e5d2;background:#e8f5ec;color:#176747}.profile-status-badge.warning{border-color:#efd9aa;background:#fff3da;color:#8d6110}.profile-status-badge.danger{border-color:#e9cecb;background:#f9e9e7;color:#8d342e}
@media(max-width:991px){.profile-hero{grid-template-columns:130px minmax(0,1fr)}.profile-action-toolbar{grid-column:1/-1;grid-template-columns:auto minmax(0,1fr);align-items:start;justify-items:start}.profile-report-options{grid-template-columns:minmax(0,1fr) auto;align-items:start;justify-items:start}.profile-action-options{justify-self:start}.profile-row-one,.profile-row-two{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-info-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-rehabilitation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.profile-page-container{gap:12px;padding-top:12px}.profile-hero{grid-template-columns:1fr;gap:12px}.profile-photo{justify-self:start}.profile-action-toolbar{grid-column:auto;grid-template-columns:1fr;width:100%;justify-items:start}.profile-report-options{grid-template-columns:1fr;width:100%;justify-items:start}.profile-action-primary,.profile-action-exports{justify-content:flex-start}.profile-action-options{width:100%}.profile-row-one,.profile-row-two{grid-template-columns:1fr}.profile-section-body{padding:12px}.profile-info-grid,.profile-info-grid.two,.profile-info-grid.three{grid-template-columns:1fr}.profile-span-full{grid-column:auto}.profile-section-header-actions{align-items:flex-start;flex-direction:column}.profile-section-header-actions>div:last-child{justify-content:flex-start}.profile-rehabilitation-grid{grid-template-columns:1fr}.profile-case-header{align-items:stretch;flex-direction:column}.profile-case-search-area{align-items:stretch;flex-direction:column;width:100%;margin-left:0}.profile-case-search{width:100%}.profile-case-table,.profile-weapon-table,.profile-monitoring-table{min-width:720px}}
@media(prefers-reduced-motion:reduce){.profile-case-search-spinner{animation:none}}
/* Global authenticated application shell. */
.gallery-page{width:100%;min-width:0;max-width:none;margin:0 auto;padding:18px 24px 32px;box-sizing:border-box}
.app-content-scroll>.gallery-page{max-width:none;margin-right:auto;margin-left:auto}
.gallery-controls{display:grid;grid-template-columns:minmax(260px,2fr) repeat(5,minmax(105px,1fr)) auto;align-items:end;gap:8px;margin-bottom:12px;padding:8px 9px;border:1px solid #d9e1e7;border-radius:7px;background:#fbfcfc;box-shadow:0 1px 4px rgba(24,61,49,.035)}
.gallery-controls label{min-width:0;font-size:.72rem;font-weight:600;color:#566860}.gallery-controls input,.gallery-controls select,.gallery-controls .btn{height:36px;min-height:36px;font-size:.8rem}.gallery-controls .btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:5px 9px;white-space:nowrap}
.compact-gallery-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px;align-items:start}
.compact-gallery-card{min-width:0;overflow:hidden;border:1px solid #d9e1e7;border-radius:6px;background:#fff;box-shadow:0 1px 4px rgba(24,61,49,.045);transition:transform .16s ease,box-shadow .16s ease}
.compact-gallery-card:hover{transform:translateY(-1px);box-shadow:0 3px 9px rgba(24,61,49,.08)}
.gallery-photo-link{position:relative;display:block;overflow:hidden;padding:3px;border-bottom:1px solid #dfe6e9;background:#f3f6f5;cursor:pointer}
.gallery-card-photo{width:100%;height:160px;display:block;object-fit:cover;object-position:center top;border:1px solid #e0e6e8;border-radius:2px;background:#e9eef0;transition:transform .2s ease}
.gallery-photo-link:hover .gallery-card-photo,.gallery-photo-link:focus .gallery-card-photo{transform:scale(1.02)}
.gallery-photo-overlay{position:absolute;right:9px;bottom:9px;display:grid;width:30px;height:30px;place-items:center;border-radius:50%;background:rgba(255,255,255,.9);color:#2563a6;opacity:0;transition:opacity .18s ease}
.gallery-photo-link:hover .gallery-photo-overlay,.gallery-photo-link:focus .gallery-photo-overlay{opacity:1}
.compact-gallery-body{padding:7px 8px 8px}.compact-gallery-body h2{display:-webkit-box;margin:0;overflow:hidden;color:#183f31;font-size:.81rem;font-weight:700;line-height:1.25;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}.gallery-name-link{color:#183f31;text-decoration:none}.gallery-name-link:hover,.gallery-name-link:focus{color:#2563a6;text-decoration:underline}
.gallery-alias{display:-webkit-box;margin:2px 0 5px;overflow:hidden;color:#687a72;font-size:.7rem;line-height:1.25;overflow-wrap:break-word;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.compact-gallery-meta{display:flex;align-items:flex-start;flex-direction:column;gap:4px}.gallery-rank-chip{display:inline-flex;align-items:center;gap:3px;width:max-content;max-width:100%;padding:1px 5px;border:1px solid #ead8ad;border-radius:999px;background:#fff8e8;color:#8a6112;font-size:.68rem;font-weight:650;line-height:1.3}.gallery-rank-chip i{color:#c98a1b}.gallery-district{display:flex;align-items:center;gap:3px;margin:0;color:#45645b;font-size:.71rem;line-height:1.25}.gallery-district i{color:#138a8a}
.gallery-empty{padding:22px;border:1px dashed #cfdcd6;border-radius:9px;background:#fafcfb}.gallery-empty i{color:#647b71;font-size:1.25rem}
@media(max-width:1365px){.compact-gallery-grid{grid-template-columns:repeat(7,minmax(0,1fr))}}
@media(max-width:1199px){.compact-gallery-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:1023px){.gallery-controls{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-search-field{grid-column:span 2}}
@media(max-width:991px){.compact-gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:767px){.gallery-page{padding:14px 12px 26px}.gallery-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-search-field{grid-column:1/-1}.gallery-controls .btn{width:100%}.compact-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}
@media(max-width:479px){.compact-gallery-grid{grid-template-columns:1fr}.gallery-page{padding-right:10px;padding-left:10px}.gallery-controls{grid-template-columns:1fr}.gallery-search-field{grid-column:auto}.compact-gallery-body{padding:9px}.gallery-rank-chip,.gallery-district{font-size:.7rem}}

html,body{width:100%;height:100%;margin:0}
body.app-shell{height:100vh;height:100dvh;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;background:#f4f7fb}
.app-header{position:static;min-width:0;min-height:0;z-index:1040}
body.app-shell>.app-main{width:100%;min-width:0;min-height:0;max-width:none;overflow-y:auto;overflow-x:hidden}
.app-content-scroll{overscroll-behavior:contain;scrollbar-gutter:stable}
.app-footer{position:static;min-width:0;min-height:0;margin-top:0}
.app-content{width:100%;min-width:0;box-sizing:border-box}
.app-content-scroll>*{min-width:0;max-width:100%}
.app-content-scroll .table-responsive,.app-content-scroll .smpms-table-wrap,.app-content-scroll .records-table-shell,.app-content-scroll .records-table-scroll,.app-content-scroll .profile-table-wrap{max-height:none;overflow-x:auto;overflow-y:visible}
.app-content-scroll .container-fluid{padding-right:clamp(12px,2vw,32px);padding-left:clamp(12px,2vw,32px)}
.app-header .dropdown-menu,.app-header .navbar-collapse{z-index:1050}
.modal{z-index:1060}.modal-backdrop{z-index:1055}
body.app-shell .btn-success,body.app-shell .btn-primary,body.app-shell .btn-danger{color:#fff}
body.app-shell .btn-light{color:#263b33;background:#fff}
body.app-shell .btn-warning{color:#3f310c}
body.app-shell .btn:disabled,body.app-shell .btn.disabled{color:#52615b;opacity:.68}
body.app-shell .app-header .nav-link.active{color:#fff}
body.app-shell table thead th{color:#fff}
body.app-shell .profile-case-table thead th,body.app-shell .profile-weapon-table thead th,body.app-shell .profile-monitoring-table thead th{color:#29483c}
body.app-shell .form-label,body.app-shell .profile-label{color:#566860}
body.app-shell .profile-value{color:#203c31}
@media(max-width:768px){body.app-shell>.app-header,body.app-shell>.app-footer{display:block}.app-content-scroll .container-fluid{padding-right:16px;padding-left:16px}.app-footer{white-space:normal;text-align:center}}
@media(max-width:480px){.app-content-scroll .container-fluid{padding-right:10px;padding-left:10px}.app-footer{font-size:.72rem;line-height:1.25}}

/* Monitoring Officer Management: semantic, natural-width tabs. */
.monitoring-admin-page .monitoring-admin-tabs{display:flex;align-items:flex-end;gap:4px;max-width:100%;margin:0 0 8px;padding:0;border:0;border-bottom:1px solid #d9e4e1;border-radius:0;background:transparent;overflow-x:auto;overflow-y:hidden;white-space:nowrap}
.monitoring-admin-page .monitoring-admin-tab{display:inline-flex;align-items:center;justify-content:center;gap:7px;flex:0 0 auto;min-width:190px;padding:10px 16px 9px;border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;color:#4b6259;font-weight:600;line-height:1.25;box-shadow:none;transition:background-color .15s ease,color .15s ease,border-color .15s ease}
.monitoring-admin-page .monitoring-admin-tab:hover{background:#f3f8f6;color:#244f3e}.monitoring-admin-page .monitoring-admin-tab.active{background:#fff;color:#0b5d4c;border-bottom-color:#16866b;font-weight:700;box-shadow:none}.monitoring-admin-page .monitoring-admin-tab:focus-visible{position:relative;z-index:1;outline:2px solid #16866b;outline-offset:-2px;border-radius:6px 6px 0 0}
.monitoring-admin-tab-icon{font-size:1.05rem}.monitoring-admin-tab-icon.assignment{color:#16866b}.monitoring-admin-tab-icon.officers{color:#4f46e5}

/* Monitoring workspace base width. */
.monitoring-admin-tab-icon.requests{color:#7c3aed}.monitoring-tab-count{display:inline-grid;place-items:center;min-width:21px;height:21px;padding:0 6px;border-radius:11px;background:#f1e9ff;color:#6d28d9;font-size:.7rem;font-weight:800}.monitoring-request-filters{display:flex;align-items:center;gap:7px}.monitoring-request-filters .form-select{width:145px}.monitoring-request-filters .form-control{width:240px}.monitoring-request-profile{display:flex;align-items:center;gap:8px}.monitoring-request-profile img{width:48px;height:54px;object-fit:cover;object-position:center top;border:1px solid #d6e0dc;border-radius:7px}.monitoring-request-profile span,.monitoring-request-profile small{display:block}.monitoring-request-profile small{color:#687970}.monitoring-request-decision{display:flex;align-items:center;gap:5px}.monitoring-request-decision input{width:135px;height:32px;padding:4px 7px;border:1px solid #cdd9d3;border-radius:6px}.monitoring-profile-access,.monitoring-profile-access-status{display:inline-flex;align-items:center;gap:5px;min-height:32px;padding:5px 9px;border:1px solid;border-radius:6px;font-size:.76rem;font-weight:700;text-decoration:none;white-space:nowrap}.monitoring-profile-access.request{border-color:#d4ad57;background:#fff8e8;color:#875b08}.monitoring-profile-access.approved{border-color:#75ae94;background:#edf8f2;color:#176747}.monitoring-profile-access-status.pending{border-color:#e2c16f;background:#fff5d9;color:#805a08}.monitoring-profile-access-status.denied{border-color:#e2aaa5;background:#fff0ef;color:#9b332d}.monitoring-profile-access-form{display:inline;margin:0}.monitoring-profile-access-remarks{display:block;max-width:210px;margin-top:4px;color:#7f3934;font-size:.72rem}
@media(max-width:767px){.monitoring-request-filters{align-items:stretch;flex-direction:column;width:100%}.monitoring-request-filters .form-select,.monitoring-request-filters .form-control{width:100%}}
.monitoring-page{width:100%;max-width:none;margin:0;padding:20px 0 42px}
.monitoring-content{width:calc(100% - 48px);max-width:1500px;min-width:0;margin:0 auto;box-sizing:border-box}
@media(max-width:1199px){.monitoring-content{width:calc(100% - 40px)}}
@media(max-width:1023px){.monitoring-content{width:calc(100% - 32px)}}
@media(max-width:767px){.monitoring-page{padding:14px 0 28px}.monitoring-content{width:calc(100% - 24px)}}
@media(max-width:480px){.monitoring-content{width:calc(100% - 20px)}}
/* Person-specific history on Add/Edit Monitoring Entry. Vertical scroll remains owned by app-main. */
.monitoring-person-history{display:block;margin:12px 0;border:1px solid #dbe5ef;border-radius:8px;background:#fff;padding:12px 14px;min-width:0}.monitoring-person-history[hidden]{display:none}.monitoring-history-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.monitoring-history-head h2{display:flex;align-items:center;gap:7px;margin:0;color:#17324d;font-size:17px;font-weight:700}.monitoring-history-count{display:inline-flex;align-items:center;justify-content:center;min-width:25px;height:22px;padding:0 7px;border-radius:999px;background:#ede9fe;color:#5b21b6;font-size:12px}.monitoring-history-search{position:relative;width:min(360px,100%)}.monitoring-history-search>i{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#2563eb}.monitoring-history-search input{width:100%;height:38px;border:1px solid #b9c8d8;border-radius:8px;background:#fff;padding:7px 62px 7px 35px;color:#172033}.monitoring-history-search input:focus{border-color:#0f766e;box-shadow:0 0 0 3px rgba(15,118,110,.14);outline:0}.monitoring-history-search button{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:#475569;width:28px;height:28px}.monitoring-history-search .spinner-border{position:absolute;right:38px;top:11px;width:16px;height:16px;color:#0f766e}.monitoring-history-match-count{margin:0 0 8px;color:#475569;font-size:12px}.monitoring-history-table-wrap{width:100%}.monitoring-history-table{min-width:900px;table-layout:fixed;margin-bottom:8px}.monitoring-history-table th:nth-child(1){width:12%}.monitoring-history-table th:nth-child(2){width:18%}.monitoring-history-table th:nth-child(3){width:14%}.monitoring-history-table th:nth-child(4){width:29%}.monitoring-history-table th:nth-child(5){width:21%}.monitoring-history-table th:nth-child(6){width:6%}.monitoring-history-table td{padding:8px 10px;vertical-align:top;white-space:normal;word-break:normal}.monitoring-history-date{white-space:nowrap!important}.monitoring-history-view{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid #bfdbfe;border-radius:6px;background:#eff6ff;color:#2563eb}.monitoring-history-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.monitoring-history-pagination{display:flex;align-items:center;gap:7px;margin-left:auto;color:#475569;font-size:12px}.monitoring-history-empty{padding:18px}.monitoring-icon-purple{color:#6d28d9;background:#f3e8ff}@media(max-width:767.98px){.monitoring-history-head{align-items:stretch;flex-direction:column}.monitoring-history-search{width:100%}.monitoring-person-history{padding:10px}.monitoring-history-pagination{width:100%;justify-content:flex-end}}

/* Monitoring profile drill-down: scoped presentation, app-main retains vertical scrolling. */
.monitoring-profiles-heading h1{display:flex;align-items:center;gap:8px}.monitoring-profiles-heading h1>i{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:8px;background:#e0f2fe;color:#0369a1;font-size:21px}.monitoring-profile-total{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:24px;padding:0 8px;border-radius:999px;background:#e0f2fe;color:#075985;font-size:12px}.monitoring-profile-toolbar{display:flex;justify-content:flex-end;margin:0 0 10px}.monitoring-profile-search{position:relative;width:min(360px,100%)}.monitoring-profile-search>i{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#0f766e}.monitoring-profile-search input{width:100%;height:38px;padding:7px 62px 7px 35px;border:1px solid #b9c8d8;border-radius:8px;background:#fff;color:#172033}.monitoring-profile-search input:focus{outline:0;border-color:#0f766e;box-shadow:0 0 0 3px rgba(15,118,110,.14)}.monitoring-profile-search button{position:absolute;right:5px;top:50%;transform:translateY(-50%);display:inline-grid;place-items:center;width:28px;height:28px;border:0;background:transparent;color:#475569}.monitoring-profile-search .spinner-border{position:absolute;right:38px;top:11px;width:16px;height:16px;color:#0f766e}.monitoring-profiles-table{min-width:1080px;table-layout:fixed}.monitoring-profiles-table th:nth-child(1){width:5%}.monitoring-profiles-table th:nth-child(2){width:8%}.monitoring-profiles-table th:nth-child(3){width:15%}.monitoring-profiles-table th:nth-child(4){width:15%}.monitoring-profiles-table th:nth-child(5){width:11%}.monitoring-profiles-table th:nth-child(6){width:13%}.monitoring-profiles-table th:nth-child(7){width:13%}.monitoring-profiles-table th:nth-child(8){width:10%}.monitoring-profiles-table th:nth-child(9){width:10%}.monitoring-profiles-table td{padding:8px 10px;vertical-align:middle}.monitoring-profile-thumbnail{display:block;width:60px;height:70px;object-fit:cover;object-position:center top;border:1px solid #d5dee7;border-radius:7px;background:#f1f5f9}.monitoring-profile-photo-link,.monitoring-profile-name{color:#0f6f78;text-decoration:none}.monitoring-profile-name{font-weight:700}.monitoring-profile-rank{display:inline-flex;align-items:center;gap:4px;padding:3px 6px;border-radius:999px;background:#fff7df;color:#925d08;font-size:12px}.monitoring-profile-district{color:#315c68}.monitoring-profile-district i{color:#0f766e}.monitoring-profile-date{white-space:nowrap;color:#355b76}.monitoring-profile-log-count{display:inline-flex;align-items:center;gap:5px;color:#6d28d9;font-weight:700}.monitoring-profile-history-action{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid #c4b5fd;border-radius:6px;background:#f5f3ff;color:#6d28d9}.monitoring-profile-history-action:hover{background:#ede9fe;color:#4c1d95}.monitoring-profile-pagination-form{margin:0}.monitoring-profile-pagination-form .smpms-page-jump-form label{display:flex;align-items:center;gap:6px}@media(max-width:767px){.monitoring-profile-toolbar{justify-content:stretch}.monitoring-profile-search{width:100%}.monitoring-profiles-heading h1{font-size:22px;flex-wrap:wrap}}

/* Static identity presentation for Monitoring-only users. */
.monitoring-profile-photo-static{display:inline-block}
.monitoring-profile-name-static{color:#263f4b;font-weight:700}

/* Period-scoped Monitoring profile history summary. */
.monitoring-profile-history-summary{display:flex;align-items:center;gap:14px;margin:0 0 12px;padding:12px 14px;border:1px solid #dbe5ef;border-radius:9px;background:#fff}.monitoring-profile-history-summary>a>img,.monitoring-profile-history-summary>.monitoring-profile-photo-static>img{display:block;width:72px;height:84px;object-fit:cover;object-position:center top;border:1px solid #d5dee7;border-radius:8px;background:#f1f5f9}.monitoring-profile-history-summary>div{display:grid;gap:5px;min-width:0}.monitoring-profile-history-summary>div>.monitoring-profile-name,.monitoring-profile-history-summary>div>.monitoring-profile-name-static{font-size:18px}.monitoring-profile-history-summary>div>span{color:#64748b;font-size:13px}.monitoring-profile-history-summary>div>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}@media(max-width:480px){.monitoring-profile-history-summary{align-items:flex-start;padding:10px}.monitoring-profile-history-summary>a>img,.monitoring-profile-history-summary>.monitoring-profile-photo-static>img{width:60px;height:72px}.monitoring-profile-history-page .monitoring-heading h1{font-size:20px}}

/* Centered Monitoring workspace; app-main remains the full-width scroll owner. */
.monitoring-page{width:100%;max-width:none;margin:0;padding:20px 0 42px}
.monitoring-content{width:calc(100% - 48px);max-width:1500px;min-width:0;margin:0 auto;box-sizing:border-box}
@media(max-width:1199px){.monitoring-content{width:calc(100% - 40px)}}
@media(max-width:1023px){.monitoring-content{width:calc(100% - 32px)}}
@media(max-width:767px){.monitoring-page{padding:14px 0 28px}.monitoring-content{width:calc(100% - 24px)}}
@media(max-width:480px){.monitoring-content{width:calc(100% - 20px)}}
/* Approval-aware Monitoring actions stay compact and icon-only. */
.monitoring-row-actions .monitoring-profile-access,.monitoring-row-actions .monitoring-profile-access-status{width:34px;height:34px;min-height:34px;padding:0;justify-content:center;gap:0}.monitoring-row-actions .monitoring-profile-access i,.monitoring-row-actions .monitoring-profile-access-status i{font-size:1rem}.monitoring-row-actions .monitoring-profile-access-form{display:inline-flex;margin:0}
.monitoring-admin-tabs .monitoring-admin-tab[data-admin-tab="requests"]{order:1}.monitoring-admin-tabs .monitoring-admin-tab[data-admin-tab="officers"]{order:2}.monitoring-admin-tabs .monitoring-admin-tab[data-admin-tab="assignment"]{order:3}.monitoring-tab-count{background:#e7f0eb;color:#356653}.monitoring-tab-count:not(:empty){background:#fff0d5;color:#9a5b05}.monitoring-request-empty-hint{display:flex;align-items:center;gap:8px;margin:0 0 10px;padding:9px 12px;border:1px solid #b9d9c8;border-radius:8px;background:#f0faf4;color:#2d6b4d;font-size:.84rem;font-weight:600}.monitoring-request-empty-hint i{color:#16866b;font-size:1rem}
.monitoring-profiles-page .monitoring-heading{margin-bottom:8px;gap:12px}.monitoring-profiles-page .monitoring-profile-toolbar{margin:0 0 8px;padding:0}.monitoring-profiles-page [data-monitoring-profile-results],.monitoring-profiles-page .monitoring-profiles-partial,.monitoring-profiles-page .monitoring-profiles-table-wrap{height:auto;min-height:0}.monitoring-profiles-page [data-monitoring-profile-results]{overflow:visible}.monitoring-profiles-page .monitoring-profiles-table{margin-bottom:0}.monitoring-profiles-page .monitoring-profiles-table tbody td{height:64px;padding:6px 8px}.monitoring-profiles-page .monitoring-profile-pagination-form{margin-top:6px}.monitoring-profiles-page .monitoring-profile-pagination-form .pagination-bar{margin:0;padding:0;gap:7px}.monitoring-profiles-page .monitoring-profile-pagination-form .btn{min-height:32px;padding:5px 9px;font-size:.8rem}.monitoring-profiles-page .monitoring-row-actions{display:flex;align-items:center;gap:6px;white-space:nowrap}.monitoring-profiles-page .monitoring-profile-history-action{width:34px;height:34px}.monitoring-profiles-page .monitoring-profile-thumbnail{width:54px;height:62px}.monitoring-profiles-page .monitoring-profiles-table th:nth-child(9){width:8%}@media(max-width:767px){.monitoring-profiles-page .monitoring-heading{margin-bottom:8px}.monitoring-profiles-page .monitoring-profile-toolbar{margin-bottom:8px}}
.monitoring-profile-request-nav-badge{display:inline-grid;place-items:center;min-width:20px;height:19px;padding:0 5px;border-radius:10px;background:#dc4b32;color:#fff;font-size:11px;font-weight:700;line-height:1}
.monitoring-profile-request-nav-group{display:inline-flex;align-items:center;gap:7px;margin-left:7px}.monitoring-profile-request-nav-bell{color:#d97706;font-size:.78rem}.monitoring-profile-request-nav-group .monitoring-profile-request-nav-badge{margin:0}
.monitoring-profile-request-nav-group{position:relative;display:inline-flex;width:18px;height:18px;margin-left:8px;gap:0;vertical-align:middle}.monitoring-profile-request-nav-bell{font-size:.86rem;line-height:18px}.monitoring-profile-request-nav-group .monitoring-profile-request-nav-badge{position:absolute;top:-7px;right:-8px;min-width:15px;height:15px;padding:0 3px;border-radius:999px;font-size:9px;line-height:15px;text-align:center}
.monitoring-alerts-page .monitoring-heading h1{font-size:0}.monitoring-alerts-page .monitoring-heading h1>i{display:inline-grid;font-size:22px;color:#d97706}.monitoring-alerts-page .monitoring-heading h1::after{content:'Monitoring Pending';margin-left:8px;font-size:26px;font-weight:700;color:var(--color-primary-dark)}.monitoring-alerts-page .monitoring-heading p{font-size:0}.monitoring-alerts-page .monitoring-heading p::after{content:'Profiles requiring monitoring attention.';font-size:.88rem}.monitoring-alerts-page .monitoring-alert-section-head h2{font-size:0}.monitoring-alerts-page .monitoring-alert-section-head h2::before{content:'Pending Profiles';font-size:1rem}.monitoring-alerts-page .monitoring-alert-section-head h2 .monitoring-count{font-size:.78rem;vertical-align:middle}
.monitoring-alerts-page .monitoring-heading h1>i{font-size:0}.monitoring-alerts-page .monitoring-heading h1>i::after{content:'◷';font-size:24px}
.monitoring-alerts-page .monitoring-heading h1{font-size:26px}.monitoring-alerts-page .monitoring-heading h1::after,.monitoring-alerts-page .monitoring-heading p::after{content:none}.monitoring-alerts-page .monitoring-heading p{font-size:.88rem}.monitoring-alerts-page .monitoring-heading h1>i{display:inline;font-size:inherit;color:#d97706}.monitoring-alerts-page .monitoring-alert-section-head h2{font-size:1rem}.monitoring-alerts-page .monitoring-alert-section-head h2::before{content:none}
.monitoring-pending-spy-icon{width:19px;height:19px;flex:0 0 19px;object-fit:contain;object-position:center;display:block}
.monitoring-request-table tbody tr.request-row-pending{background:#fff8e6!important;border-left:4px solid #f59e0b}.monitoring-request-table tbody tr.request-row-approved{background:#f3fbf5}.monitoring-request-table tbody tr.request-row-denied{background:#fff7f6}.monitoring-request-table tbody tr.request-row-revoked{background:#f7f8f8}.monitoring-request-table .monitoring-status{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:4px 8px;font-size:.72rem;font-weight:700}.monitoring-request-table .monitoring-status.pending{background:#ffedbd;color:#8a5a00}.monitoring-request-table .monitoring-status.approved{background:#dff3e5;color:#176747}.monitoring-request-table .monitoring-status.denied{background:#fbe1df;color:#9b332d}.monitoring-request-table .monitoring-status.revoked{background:#e7ebed;color:#52616a}.monitoring-request-table .monitoring-request-decision{white-space:nowrap}
/* Global Header refinements retained after the obsolete Administration page layer was removed. */
.app-header .nav-icon{flex:0 0 auto;font-size:17px}.app-header .nav-icon-dashboard{color:#8fd3ff}.app-header .nav-icon-add{color:#8ee8b2}.app-header .nav-icon-reports{color:#9cc7ff}.app-header .nav-icon-abstract{color:#ffd76a}.app-header .nav-icon-gallery{color:#76e2d2}.app-header .nav-icon-monitoring{color:#71d8c8}.app-header .nav-icon-admin{color:#c6a7ff}.app-header .nav-icon-user{color:#ffd166}.app-header .nav-icon-logout{color:#ffc46b}
