/* /Components/Layout/MainLayout.razor.rz.scp.css */
.lt-sticky-bar[b-tmacj0ytkq] {
	position: sticky;
	top: 0;
	z-index: 100;
	display: flex;
	background-color: var(--mud-palette-surface);
	border-bottom: 1px solid var(--mud-palette-lines-default);
}

.lt-sticky-bar[b-tmacj0ytkq]  .kpi {
	flex: 1;
	min-width: 0;
}

.lt-sticky-bar[b-tmacj0ytkq]  .kpi:last-child {
	border-right: none;
}

.lt-sticky-bar[b-tmacj0ytkq]  .mud-paper {
	height: 100%;
}

.appbar-title[b-tmacj0ytkq] {
	display: flex;
	flex-direction: column;
	gap: 1px;
}

.appbar-title-main[b-tmacj0ytkq] {
	font-family: "Zilla Slab", Georgia, serif;
	font-weight: 700;
	font-size: 1.5rem;
	color: #fff;
	letter-spacing: -0.02em;
	line-height: 1.05;
}

.appbar-title-sub[b-tmacj0ytkq] {
	font-size: 0.75rem;
	color: rgba(255, 255, 255, 0.62);
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	line-height: 1;
}

/* Overflow trigger ("37 Counties"). Anchors the popover and inherits the slot
   typography from its wrapping span, so it matches either the title or subtitle. */
.appbar-names-anchor[b-tmacj0ytkq] {
	position: relative;
	display: inline-flex;
	align-items: center;
}

.appbar-names-trigger[b-tmacj0ytkq] {
	display: inline-flex;
	align-items: center;
	gap: 3px;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	cursor: pointer;
	font: inherit;
	color: inherit;
	letter-spacing: inherit;
	text-transform: inherit;
	line-height: inherit;
}

.appbar-names-trigger:hover[b-tmacj0ytkq] {
	opacity: 0.82;
}

.appbar-names-caret[b-tmacj0ytkq] {
	font-size: 1.1em;
}
/* /Components/Layout/NavDrawerContent.razor.rz.scp.css */
.nav-logo a[b-iv486u69qj] {
    border-bottom: none;
    display: block;
}

.nav-logo[b-iv486u69qj] {
    padding: 22px 22px 20px;
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

.nav-logo-full[b-iv486u69qj] {
    width: 86%;
    display: block;
    margin: 0 auto;
}

.nav-logo-icon[b-iv486u69qj] {
    width: 40px;
    padding: 4px 0;
    display: block;
    margin: 0 auto;
}
/* /Components/Pages/Compare.razor.rz.scp.css */
/* ============================================================================
   Compare page — Matrix layout styles
   ============================================================================ */

/* ---- Matrix table --------------------------------------------------------- */
.cmp-mx-scroll[b-j7pxj9bk8r] {
	overflow-x: auto;
}

.cmp-mx[b-j7pxj9bk8r] {
	width: 100%;
	min-width: 420px;
	border-collapse: collapse;
	table-layout: auto;
}

/* Corner header */
.cmp-mx-corner[b-j7pxj9bk8r] {
	width: 160px;
	padding: 12px 16px;
	text-align: left;
	vertical-align: bottom;
	border-bottom: 2px solid var(--mud-palette-table-lines);
	white-space: nowrap;
}

.cmp-mx-cornerlab[b-j7pxj9bk8r] {
	display: block;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--mud-palette-text-secondary);
}

.cmp-mx-cornersub[b-j7pxj9bk8r] {
	display: block;
	font-size: 0.7rem;
	color: var(--mud-palette-text-disabled);
	margin-top: 2px;
}

/* Area column header */
.cmp-mx-areahead[b-j7pxj9bk8r] {
	padding: 10px 28px 10px 16px;
	border-bottom: 3px solid var(--accent, var(--mud-palette-divider));
	text-align: left;
	min-width: 150px;
	position: relative;
	vertical-align: bottom;
}

.cmp-mx-areatype[b-j7pxj9bk8r] {
	display: flex;
	align-items: center;
	gap: 5px;
	font-size: 0.72rem;
	text-transform: uppercase;
	margin-top: 2px;
}

/* "View full trends" deep-link under the area type label */
[b-j7pxj9bk8r] .cmp-mx-trendslink {
	display: inline-flex;
	align-items: center;
	gap: 2px;
	margin-top: 4px;
	color: var(--mud-palette-text-secondary);
}

[b-j7pxj9bk8r] .cmp-mx-trendslink:hover {
	color: var(--mud-palette-primary);
}

[b-j7pxj9bk8r] .cmp-mx-trendslink .mud-icon-root {
	font-size: 0.9rem;
}

/* Position remove button top-right of the header cell */
[b-j7pxj9bk8r] .cmp-mx-x {
	position: absolute !important;
	top: 4px;
	right: 2px;
	opacity: 0;
	transition: opacity 0.12s;
}

.cmp-mx-areahead:hover[b-j7pxj9bk8r]  .cmp-mx-x {
	opacity: 1;
}

/* ---- Add-area column header (dashed card) --------------------------------- */
/* Anchor wrapper so the MudPopover positions against the dashed card. */
.cmp-mx-add-anchor[b-j7pxj9bk8r] {
	position: relative;
}

/* NOTE: width for the add-area popover lives in a GLOBAL stylesheet, not here.
   MudPopover portals its root element out to the MudPopoverProvider at the page
   root, so it never carries this component's scoped CSS attribute. See
   .cmp-add-popover in the global app stylesheet. */

.cmp-mx-addhead[b-j7pxj9bk8r] {
	padding: 8px;
	border-bottom: 2px solid var(--mud-palette-table-lines);
	text-align: center;
	cursor: pointer;
	vertical-align: middle;
	min-width: 180px;
}

.cmp-mx-add-card[b-j7pxj9bk8r] {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	padding: 20px 16px;
	border: 1.5px dashed var(--mud-palette-gray-dark);
	border-radius: 10px;
	transition:
		border-color 0.12s,
		background 0.12s;
}

.cmp-mx-add-card:hover[b-j7pxj9bk8r],
.cmp-mx-add-card.active[b-j7pxj9bk8r] {
	border-color: var(--mud-palette-primary);
	background: color-mix(in srgb, var(--mud-palette-primary) 5%, transparent);
}

.cmp-mx-add-plus[b-j7pxj9bk8r] {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--mud-palette-gray-lighter);
	font-size: 1.25rem;
	font-weight: 300;
	color: var(--mud-palette-text-secondary);
	transition:
		background 0.12s,
		color 0.12s;
	line-height: 1;
}

.cmp-mx-add-card:hover .cmp-mx-add-plus[b-j7pxj9bk8r],
.cmp-mx-add-card.active .cmp-mx-add-plus[b-j7pxj9bk8r] {
	background: var(--mud-palette-primary);
	color: #fff;
}

.cmp-mx-add-title[b-j7pxj9bk8r] {
	font-size: 0.8125rem;
	font-weight: 700;
	color: var(--mud-palette-text-primary);
	text-align: center;
	line-height: 1.3;
}

.cmp-mx-add-sub[b-j7pxj9bk8r] {
	font-size: 0.72rem;
	color: var(--mud-palette-text-secondary);
	text-align: center;
}

/* ---- Metric rows ---------------------------------------------------------- */
.cmp-mx-row[b-j7pxj9bk8r] {
	cursor: pointer;
	transition: background 0.1s;
}

.cmp-mx-row:hover td[b-j7pxj9bk8r] {
	background: var(--mud-palette-gray-lighter);
}

.cmp-mx-row.on td[b-j7pxj9bk8r] {
	background: color-mix(in srgb, var(--mud-palette-primary) 5%, transparent);
}

.cmp-mx-row td[b-j7pxj9bk8r] {
	border-bottom: 1px solid var(--mud-palette-table-lines);
	transition: background 0.1s;
}

/* Row header (first column) */
.cmp-mx-rowhead[b-j7pxj9bk8r] {
	padding: 10px 16px;
	white-space: nowrap;
	vertical-align: middle;
}

.cmp-mx-rowlab[b-j7pxj9bk8r] {
	display: inline-block;
	vertical-align: middle;
	font-size: 0.8125rem;
	font-weight: 600;
	line-height: 1.3;
}

.cmp-mx-rowlab small[b-j7pxj9bk8r] {
	display: block;
	font-size: 0.7rem;
	font-weight: 400;
	color: var(--mud-palette-text-secondary);
}

/* ---- Metric cells --------------------------------------------------------- */
.cmp-mx-cell[b-j7pxj9bk8r] {
	padding: 10px 16px;
	vertical-align: middle;
	min-width: 140px;
}

.cmp-mx-cell.lead[b-j7pxj9bk8r] {
	background: color-mix(
		in srgb,
		var(--mud-palette-success) 7%,
		transparent
	) !important;
}

/* Hatched pattern for the empty "add area" column in data rows */
.cmp-mx-cell--empty[b-j7pxj9bk8r] {
	min-width: 0;
	background-image: repeating-linear-gradient(
		-45deg,
		transparent,
		transparent 6px,
		rgba(0, 0, 0, 0.028) 6px,
		rgba(0, 0, 0, 0.028) 12px
	) !important;
}

.cmp-mx-val[b-j7pxj9bk8r] {
	font-family: "Zilla Slab", serif;
	font-size: 1.125rem;
	font-weight: 700;
	color: var(--mud-palette-text-primary);
	white-space: nowrap;
	line-height: 1;
	letter-spacing: -0.01em;
}

/* ---- Delta (matches kpi-delta style, no chip background) ------------------ */
.cmp-delta[b-j7pxj9bk8r] {
	display: inline-flex;
	align-items: center;
	gap: 2px;
	font-size: 0.8125rem;
	font-weight: 600;
	margin-top: 6px;
	white-space: nowrap;
}

.cmp-delta.up[b-j7pxj9bk8r] {
	color: var(--lt-positive, #4f7a3f);
}

.cmp-delta.down[b-j7pxj9bk8r] {
	color: var(--lt-negative, #b03a2e);
}

.cmp-delta.flat[b-j7pxj9bk8r] {
	color: var(--mud-palette-text-secondary);
}

.cmp-delta[b-j7pxj9bk8r]  .mud-icon-root {
	font-size: 0.875rem;
}

/* ---- Cell body (value+delta left, sparkline right) ----------------------- */
.cmp-mx-cell-body[b-j7pxj9bk8r] {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 10px;
}

.cmp-mx-cell-text[b-j7pxj9bk8r] {
	flex: 1;
	min-width: 0;
}

.cmp-mx-spark-wrap[b-j7pxj9bk8r] {
	flex-shrink: 0;
	display: flex;
	align-items: flex-end;
}

/* ---- Sparkline ------------------------------------------------------------ */
.cmp-spark[b-j7pxj9bk8r] {
	display: block;
}

/* ---- Card header actions (metric switch + view toggle) -------------------- */

.cmp-card-actions[b-j7pxj9bk8r] {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

/* ---- Area legend (overlay chart) ----------------------------------------- */

.cmp-legend[b-j7pxj9bk8r] {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 20px;
	justify-content: center;
	padding: 10px 6px 2px;
}

.cmp-legend-item[b-j7pxj9bk8r] {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--mud-palette-text-primary);
}

.cmp-legend-line[b-j7pxj9bk8r] {
	width: 16px;
	height: 3px;
	border-radius: 2px;
	flex: none;
	display: inline-block;
}

/* ---- Composition small multiples (faceted per-area charts) ---------------- */
.cmp-facets[b-j7pxj9bk8r] {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 16px;
	padding: 16px;
}

.cmp-facet[b-j7pxj9bk8r] {
	min-width: 0;
}

.cmp-facet-head[b-j7pxj9bk8r] {
	display: block;
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--mud-palette-text-primary);
	border-left: 3px solid var(--accent, var(--mud-palette-divider));
	padding-left: 8px;
	margin-bottom: 8px;
	line-height: 1.3;
}

/* ---- Comparison data table (table view) ----------------------------------- */
.cmp-ctable-wrap[b-j7pxj9bk8r] {
	overflow-x: auto;
}

.cmp-ctable[b-j7pxj9bk8r] {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.875rem;
}

.cmp-ctable th[b-j7pxj9bk8r],
.cmp-ctable td[b-j7pxj9bk8r] {
	padding: 8px 12px;
	border-bottom: 1px solid var(--mud-palette-table-lines);
	text-align: left;
}

.cmp-ctable .num[b-j7pxj9bk8r] {
	text-align: right;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.cmp-ctable tfoot td[b-j7pxj9bk8r] {
	font-weight: 600;
	border-top: 2px solid var(--mud-palette-table-lines);
	border-bottom: none;
}
/* /Components/Pages/Dev/ShowcaseSection.razor.rz.scp.css */
.showcase-preview[b-elzd0y5bgl] {
	padding: 12px;
	background: var(--mud-palette-background, #fafafa);
	border-radius: 4px;
	min-height: 60px;
}

.showcase-code pre[b-elzd0y5bgl] {
	background: #1e1e1e;
	color: #d4d4d4;
	padding: 12px;
	border-radius: 4px;
	overflow-x: auto;
	font-size: 12px;
	line-height: 1.4;
	margin: 0;
}

.showcase-code code[b-elzd0y5bgl] {
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}
/* /Components/Shared/Buttons/PillTabs.razor.rz.scp.css */
/* Segmented pill selector — pale sage track with a floating white "card" for the active tab. */
.pill-tabs[b-cbsfvflo7i] {
	display: inline-flex;
	border-radius: 12px;
	border: 1px solid var(--mud-palette-lines-default);
	background: color-mix(
		in srgb,
		var(--mud-palette-primary) 8%,
		var(--mud-palette-surface, #fff)
	);
	padding: 4px;
}

/* Strip MudToggleGroup's own outline/background so the track shows through. */
.pill-tabs[b-cbsfvflo7i]  .mud-toggle-group {
	border: none !important;
	background: transparent !important;
	border-radius: 0;
	gap: 2px;
}

.pill-tabs[b-cbsfvflo7i]  .mud-toggle-item {
	font-size: 0.8125rem;
	font-weight: 600;
	text-transform: none;
	padding: 6px 16px;
	border-radius: 8px !important;
	border: none !important;
	color: var(--mud-palette-text-secondary);
	white-space: nowrap;
}

/* Active tab lifts off the track as a white card. */
.pill-tabs[b-cbsfvflo7i]  .mud-toggle-item.mud-toggle-item-selected {
	background-color: var(--mud-palette-surface, #fff) !important;
	color: var(--mud-palette-text-primary) !important;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
}

.pill-tabs[b-cbsfvflo7i]  .mud-toggle-item:not(.mud-toggle-item-selected):hover {
	background-color: color-mix(
		in srgb,
		var(--mud-palette-primary) 12%,
		transparent
	);
	color: var(--mud-palette-text-primary);
}
/* /Components/Shared/Buttons/ViewToggle.razor.rz.scp.css */
/* Icon-only view switcher — no track; the active icon gets a soft sage chip. */
.view-toggle[b-6ezqh8rsa8] {
	display: inline-flex;
}

.view-toggle[b-6ezqh8rsa8]  .mud-toggle-group {
	border: none !important;
	background: transparent !important;
	gap: 4px;
}

.view-toggle[b-6ezqh8rsa8]  .mud-toggle-item {
	border: none !important;
	border-radius: 8px !important;
	padding: 6px !important;
	min-width: 0;
	color: var(--mud-palette-text-secondary);
	background-color: transparent;
	transition: background-color .15s ease, color .15s ease;
}

.view-toggle[b-6ezqh8rsa8]  .mud-toggle-item.mud-toggle-item-selected {
	background-color: color-mix(in srgb, var(--mud-palette-primary) 16%, transparent) !important;
	color: var(--mud-palette-primary) !important;
}

.view-toggle[b-6ezqh8rsa8]  .mud-toggle-item:not(.mud-toggle-item-selected):hover {
	background-color: var(--mud-palette-gray-lighter);
	color: var(--mud-palette-text-primary);
}
/* /Components/Shared/Cards/Card.razor.rz.scp.css */
.card-eyebrow[b-dj5t3g2uk7] {
	letter-spacing: 0.08em;
	margin: 0 0 5px;
	padding: 0;
}

/* Accent variant — eyebrow text tinted with the card's --card-accent color. */
.card-eyebrow--accent[b-dj5t3g2uk7] {
	color: var(--card-accent, var(--mud-palette-primary));
	font-weight: 700;
}

/* Header layout is a container-query context so Actions placement responds to the
   card's own width, not the viewport. */
.card-header-ctx[b-dj5t3g2uk7] {
	container: card-header / inline-size;
}

.card-header-grid[b-dj5t3g2uk7] {
	display: grid;
	width: 100%;
	grid-template-columns: 1fr;
	grid-template-areas:
		"eyebrow"
		"actions"
		"text";
}

.card-h-eyebrow[b-dj5t3g2uk7] { grid-area: eyebrow; }
.card-h-text[b-dj5t3g2uk7]    { grid-area: text; }

/* Narrow default: Actions sit as a full-width row between eyebrow and title. */
.card-h-actions[b-dj5t3g2uk7] {
	grid-area: actions;
	margin: 4px 0 10px;
}

/* Eyebrow/title stay top-left, Actions move to the top-right corner — either when the card
   is wide enough, or when the consumer marks the actions compact (CompactActions). */
@container card-header (min-width: 480px) {
	.card-header-grid[b-dj5t3g2uk7] {
		grid-template-columns: 1fr auto;
		column-gap: 16px;
		align-items: start;
		grid-template-areas:
			"eyebrow actions"
			"text    actions";
	}

	.card-h-actions[b-dj5t3g2uk7] {
		justify-self: end;
		align-self: start;
		margin: 0;
	}
}

.card-header-grid--compact[b-dj5t3g2uk7] {
	grid-template-columns: 1fr auto;
	column-gap: 16px;
	align-items: start;
	grid-template-areas:
		"eyebrow actions"
		"text    actions";
}

.card-header-grid--compact .card-h-actions[b-dj5t3g2uk7] {
	justify-self: end;
	align-self: start;
	margin: 0;
}

.content-no-header[b-dj5t3g2uk7] {
	border-top: none;
}

.card-footer[b-dj5t3g2uk7] {
	margin-top: 14px;
	padding-top: 12px;
	border-top: 1px solid var(--mud-palette-lines-default);
	font-size: 0.875rem;
	color: var(--mud-palette-text-secondary);
}

/* Pulls the footer flush to the card edges — the child content owns its own borders/padding.
   When DataTile children are present they form a grid with internal dividers. */
.card-footer--flush[b-dj5t3g2uk7] {
	margin: 0 -16px -16px;
	border-top: none;
	font-size: inherit;
	color: inherit;
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: 1fr;
}

.card-footer[b-dj5t3g2uk7]  .dt-tile {
	border-right: 1px solid var(--mud-palette-lines-default);
	border-top: 1px solid var(--mud-palette-lines-default);
}

.card-footer[b-dj5t3g2uk7]  .dt-tile:last-child {
	border-right: none;
}
/* /Components/Shared/Cards/CardTabs.razor.rz.scp.css */
/* Pull edge-to-edge against MudCardContent's 16px padding so the tab border
   spans the full card width. */
.ct-root[b-8cmq6a7d3i] {
	margin: -16px -16px 0;
}

/* MudStack handles display:flex; keep border, padding, and wrap. */
[b-8cmq6a7d3i] .ct-tabs {
	padding: 8px 12px 0;
	border-bottom: 1px solid var(--mud-palette-lines-default);
	flex-wrap: wrap;
}

/* Override MudButton (and the global .mud-button rule) for tab appearance. */
[b-8cmq6a7d3i] .ct-tab {
	position: relative;
	padding: 9px 12px 11px !important;
	font-size: 0.78125rem !important;
	font-weight: 600 !important;
	letter-spacing: normal !important;
	color: var(--mud-palette-text-secondary) !important;
	white-space: nowrap;
	border-radius: 6px 6px 0 0 !important;
	border-bottom: solid 2px transparent;
	transition:
		color 120ms,
		background 120ms;
	min-width: 0 !important;
	height: auto !important;
}

[b-8cmq6a7d3i] .ct-tab:hover {
	color: var(--mud-palette-text-primary) !important;
}

[b-8cmq6a7d3i] .ct-tab.on {
	color: var(--lt-forest-green) !important;
	border-bottom: solid 2px var(--mud-palette-success);
}

[b-8cmq6a7d3i] .ct-tab.on::after {
	content: "";
	position: absolute;
	left: 8px;
	right: 8px;
	bottom: -1px;
	height: 2.5px;
	background: var(--ct-accent, var(--mud-palette-primary));
	border-radius: 2px;
}

/* Restore the card content padding inside the body area. */
[b-8cmq6a7d3i] .ct-body {
	padding: 16px;
}
/* /Components/Shared/Cards/DataTile.razor.rz.scp.css */
.dt-tile[b-nn76snn9tj] {
	padding: 11px 14px 12px;
}

[b-nn76snn9tj] .dt-value {
	font-family: "Zilla Slab", serif;
	font-weight: 700;
	font-size: 1.125rem;
	color: var(--mud-palette-text-primary);
	line-height: 1;
	letter-spacing: -0.01em;
	margin: 6px 0 0;
}

[b-nn76snn9tj] .dt-delta {
	font-size: 0.71875rem;
	font-weight: 700;
	margin-top: 6px;
}

[b-nn76snn9tj] .dt-delta.up {
	color: var(--lt-positive, #4f7a3f);
}

[b-nn76snn9tj] .dt-delta.down {
	color: var(--lt-negative, #b03a2e);
}

[b-nn76snn9tj] .dt-delta.flat {
	color: var(--mud-palette-text-secondary);
}

[b-nn76snn9tj] .dt-delta ::deep .mud-icon-root {
	font-size: 0.75rem;
}
/* /Components/Shared/Cards/MetricCard.razor.rz.scp.css */
.kpi[b-18pos44qxj] {
	border-top: 4px solid var(--kpi-accent, var(--mud-palette-primary));
	border-right: 1px solid var(--mud-palette-lines-default);
}

.kpi--clickable[b-18pos44qxj] {
	cursor: pointer;
}

.kpi-header[b-18pos44qxj] {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 8px;
	margin-bottom: 10px;
}

.kpi-label[b-18pos44qxj] {
	letter-spacing: 0.07em;
	margin: 0;
	padding: 0;
}

[b-18pos44qxj] .mud-paper {
	border-radius: 0 !important;
}

[b-18pos44qxj] .kpi-value {
	font-family: "Zilla Slab", serif;
	font-size: 1.5625rem;
	font-weight: 700;
	color: var(--mud-palette-text-primary);
	line-height: 1;
	letter-spacing: -0.01em;
}

[b-18pos44qxj] .kpi-value-suffix {
	font-family: var(--mud-typography-default-family);
	font-size: 0.8125rem;
	font-weight: 500;
	color: var(--mud-palette-text-secondary);
	letter-spacing: 0;
	margin-left: 3px;
}

[b-18pos44qxj] .kpi-caption {
	display: block;
	margin-top: 9px;
	color: var(--mud-palette-text-secondary);
}

[b-18pos44qxj] .kpi-delta {
	font-size: 0.8125rem;
	margin-top: 9px;
	font-weight: 600;
}

[b-18pos44qxj] .kpi-delta.pos {
	color: var(--lt-positive, #4f7a3f);
}

[b-18pos44qxj] .kpi-delta.neg {
	color: var(--lt-negative, #b03a2e);
}

[b-18pos44qxj] .kpi-delta-suffix {
	font-weight: 400;
	font-size: inherit;
	margin-left: 2px;
}

[b-18pos44qxj] .kpi-delta ::deep .mud-icon-root {
	font-size: 0.875rem;
}

.kpi-badge[b-18pos44qxj] {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 3px 9px;
	border-radius: 999px;
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	white-space: nowrap;
	line-height: 1.5;
	flex-shrink: 0;
}

.kpi-badge--active[b-18pos44qxj] {
	background-color: rgba(79, 122, 63, 0.12);
	color: #4f7a3f;
}

.kpi-badge-dot[b-18pos44qxj] {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background-color: currentColor;
	flex-shrink: 0;
}

.kpi-badge--inactive[b-18pos44qxj] {
	color: var(--mud-palette-text-secondary);
	border: 1.5px solid var(--mud-palette-lines-default);
}

.kpi-badge-chevron[b-18pos44qxj] {
	font-size: 1.1em;
	line-height: 1;
}

.kpi-body[b-18pos44qxj] {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 12px;
}

.kpi-body-text[b-18pos44qxj] {
	flex: 1;
	min-width: 0;
}

.kpi-spark-wrap[b-18pos44qxj] {
	flex-shrink: 0;
	display: flex;
	align-items: flex-end;
	padding-bottom: 2px;
}

[b-18pos44qxj] .kpi-spark {
	display: block;
}
/* /Components/Shared/Forms/AreaSelector.razor.rz.scp.css */
/* lock bar */
.as-lock[b-5tta9cpdsm] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
    padding: 8px 13px;
    border-radius: 7px;
    background: color-mix(in srgb, var(--mud-palette-primary) 8%, var(--mud-palette-background));
    border: 1px solid color-mix(in srgb, var(--mud-palette-primary) 20%, var(--mud-palette-lines-default));
    font-size: 12.5px;
    color: var(--mud-palette-text-secondary);
}

.as-lock b[b-5tta9cpdsm] {
    color: var(--lt-forest-green);
    font-weight: 600;
}

.as-lock-clear[b-5tta9cpdsm] {
    flex: none;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    font-family: inherit;
    font-size: 12.5px;
    font-weight: 600;
    color: var(--mud-palette-primary);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.as-lock-clear:hover[b-5tta9cpdsm] {
    color: var(--lt-olive-green);
}

/* click-away overlay */
.as-overlay[b-5tta9cpdsm] {
    position: fixed;
    inset: 0;
    z-index: 1198;
}

/* results dropdown */
.as-menu[b-5tta9cpdsm] {
    list-style: none;
    margin: 0 0 8px;
    padding: 5px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 8px;
    background: var(--mud-palette-surface);
    box-shadow: var(--mud-elevation-4);
    max-height: 240px;
    overflow-y: auto;
    position: relative;
    z-index: 1199;
}

.as-menu li[b-5tta9cpdsm] {
    margin: 0;
    padding: 0;
    list-style: none;
}

.as-menu-grouphead[b-5tta9cpdsm] {
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--mud-palette-text-disabled);
    padding: 8px 10px 4px;
    list-style: none;
}

.as-menu-item[b-5tta9cpdsm] {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    width: 100%;
    text-align: left;
    padding: 9px 10px;
    border-radius: 6px;
    border: none;
    background: none;
    cursor: pointer;
    font-size: 14px;
    font-family: inherit;
    color: var(--mud-palette-text-primary);
    transition: background 0.12s;
}

.as-menu-item:hover[b-5tta9cpdsm] {
    background: var(--lt-surface);
}

.as-menu-item-icon[b-5tta9cpdsm] {
    color: var(--mud-palette-text-secondary) !important;
    font-size: 16px !important;
    flex: none;
}

.as-menu-empty[b-5tta9cpdsm] {
    font-size: 13.5px;
    color: var(--mud-palette-text-secondary);
    font-style: italic;
    margin: 6px 0 10px;
    padding: 0;
}

/* browse / popular pill buttons */
.as-shortcut-label[b-5tta9cpdsm] {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: var(--mud-palette-text-disabled);
}

.as-quick[b-5tta9cpdsm] {
    font-size: 13px;
    font-weight: 600;
    padding: 6px 12px;
    border-radius: 999px;
    border: 1px solid var(--mud-palette-lines-default);
    color: var(--mud-palette-text-secondary);
    background: var(--mud-palette-background);
    cursor: pointer;
    font-family: inherit;
    transition: border-color 0.15s, color 0.15s, background 0.15s;
}

.as-quick:hover[b-5tta9cpdsm] {
    border-color: var(--mud-palette-primary);
    color: var(--mud-palette-text-primary);
}

.as-quick--on[b-5tta9cpdsm] {
    background: var(--lt-forest-green);
    color: #fff;
    border-color: var(--lt-forest-green);
}

.as-quick--on:hover[b-5tta9cpdsm] {
    background: var(--lt-olive-green);
    border-color: var(--lt-olive-green);
    color: #fff;
}
/* /Components/Shared/Forms/Fields/SearchSelect.razor.rz.scp.css */
.search-select[b-p6nxnz8jd7] {
    position: relative;
    display: block;
}

.search-select__trigger[b-p6nxnz8jd7] {
    cursor: pointer;
    user-select: none;
}

.search-select__overlay[b-p6nxnz8jd7] {
    position: fixed;
    inset: 0;
    z-index: 1200;
}

.search-select__panel[b-p6nxnz8jd7] {
    position: absolute;
    top: calc(100% + 2px);
    left: 0;
    z-index: 1201;
    min-width: 100%;
    width: max-content;
    max-width: 420px;
    background-color: var(--mud-palette-surface);
    border-radius: 8px;
    overflow: hidden;
}

.search-select__search[b-p6nxnz8jd7] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 10px;
    background: rgba(0, 0, 0, 0.04);
    margin: 8px;
    border-radius: 6px;
}

.search-select__search-icon[b-p6nxnz8jd7] {
    color: var(--mud-palette-text-secondary) !important;
    font-size: 1.1rem !important;
    flex-shrink: 0;
}

.search-select__search-input[b-p6nxnz8jd7] {
    border: none;
    outline: none;
    background: transparent;
    flex: 1;
    font-size: 0.875rem;
    color: var(--mud-palette-text-primary);
    font-family: inherit;
    min-width: 0;
}

    .search-select__search-input[b-p6nxnz8jd7]::placeholder {
        color: var(--mud-palette-text-secondary);
    }

.search-select__list[b-p6nxnz8jd7] {
    max-height: 280px;
    overflow-y: auto;
    padding: 4px 0 6px;
}

.search-select__item[b-p6nxnz8jd7] {
    display: flex;
    align-items: center;
    padding: 10px 16px;
    cursor: pointer;
    gap: 4px;
    transition: background-color 100ms;
}

    .search-select__item:hover[b-p6nxnz8jd7] {
        background: rgba(0, 0, 0, 0.04);
    }

.search-select__item--selected[b-p6nxnz8jd7] {
    background: rgba(0, 0, 0, 0.07);
}

    .search-select__item--selected:hover[b-p6nxnz8jd7] {
        background: rgba(0, 0, 0, 0.10);
    }

.search-select__item-check[b-p6nxnz8jd7] {
    width: 20px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.search-select__item-text[b-p6nxnz8jd7] {
    flex: 1;
    font-size: 0.875rem;
    min-width: 0;
}

.search-select__item-secondary[b-p6nxnz8jd7] {
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
    flex-shrink: 0;
}

.search-select__no-results[b-p6nxnz8jd7] {
    padding: 16px;
    text-align: center;
    color: var(--mud-palette-text-secondary);
    font-size: 0.875rem;
}
/* /Components/Shared/FragmentationProcess.razor.rz.scp.css */
.frag-ribbon[b-7gaqrea0ql] {
	display: flex;
	align-items: stretch;
}

/* Each segment is a rightward chevron; the notch on the left tucks under the previous segment's
   point via the negative margin, so the row reads as one connected arrow ribbon. */
.frag-seg[b-7gaqrea0ql] {
	flex: 1 1 0;
	min-width: 0;
	position: relative;
	color: #fff;
	padding: 16px 14px 16px 34px;
	margin-left: -16px;
	display: flex;
	align-items: center;
	gap: 12px;
	clip-path: polygon(0 0, calc(100% - 18px) 0, 100% 50%, calc(100% - 18px) 100%, 0 100%, 18px 50%);
}

.frag-seg:first-child[b-7gaqrea0ql] {
	margin-left: 0;
	padding-left: 22px;
	border-radius: var(--mud-default-borderradius) 0 0 var(--mud-default-borderradius);
	clip-path: polygon(0 0, calc(100% - 18px) 0, 100% 50%, calc(100% - 18px) 100%, 0 100%);
}

.frag-seg-ic[b-7gaqrea0ql] {
	flex: none;
	opacity: 0.92;
}

.frag-seg-txt[b-7gaqrea0ql] {
	min-width: 0;
}

/* MudText sets its own color; force it to inherit the segment's ink (white, or dark on tan). */
.frag-seg[b-7gaqrea0ql]  .mud-typography {
	color: inherit;
}

.frag-seg-step[b-7gaqrea0ql] {
	display: block;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	opacity: 0.78;
}

.frag-seg-label[b-7gaqrea0ql] {
	display: block;
	font-weight: 600;
	line-height: 1.25;
	margin-top: 3px;
}

/* Self-reinforcing feedback arc, drawn beneath the ribbon. */
.frag-loop[b-7gaqrea0ql] {
	position: relative;
	height: 90px;
	margin-top: 4px;
}

.frag-loop svg[b-7gaqrea0ql] {
	display: block;
	width: 100%;
	height: 90px;
}

.frag-loop-label[b-7gaqrea0ql] {
	position: absolute;
	bottom: 12px;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	align-items: center;
	gap: 7px;
	white-space: nowrap;
	padding: 5px 14px;
	border-radius: 999px;
	background: var(--mud-palette-background);
	border: 1px solid var(--mud-palette-lines-default);
	font-size: var(--mud-typography-caption-size);
	font-weight: 700;
	letter-spacing: 0.04em;
}

.frag-loop-ic[b-7gaqrea0ql] {
	font-size: 14px;
}

/* Narrow screens: stack the segments as plain rounded bars and drop the arc. */
@media (max-width: 760px) {
	.frag-ribbon[b-7gaqrea0ql] {
		flex-direction: column;
		align-items: stretch;
		gap: 8px;
	}

	.frag-seg[b-7gaqrea0ql],
	.frag-seg:first-child[b-7gaqrea0ql] {
		clip-path: none;
		margin-left: 0;
		padding-left: 16px;
		border-radius: var(--mud-default-borderradius);
	}

	.frag-loop[b-7gaqrea0ql] {
		display: none;
	}
}
/* /Components/Shared/HomeHero.razor.rz.scp.css */
[b-82qqjnaxij] .hero-banner {
	display: flex;
	align-items: center;
	gap: 40px;
	padding: 28px 36px;
	color: #fff !important;
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
}

[b-82qqjnaxij] .hero-eyebrow {
	color: var(--hero-accent);
	letter-spacing: 0.12em;
	font-weight: 700;
}

[b-82qqjnaxij] .hero-title {
	font-weight: 700;
	line-height: 1.1;
	color: inherit;
	margin-top: 6px;
}

.hero-headline[b-82qqjnaxij] {
	flex: 1 1 auto;
	min-width: 0;
}

.hero-stat[b-82qqjnaxij] {
	flex: 0 0 auto;
	padding-left: 40px;
	border-left: 1px solid rgba(255, 255, 255, 0.25);
	text-align: right;
}

[b-82qqjnaxij] .hero-stat-value {
	font-family: "Zilla Slab", serif;
	font-size: 3rem;
	font-weight: 700;
	line-height: 1;
	color: inherit;
}

[b-82qqjnaxij] .hero-stat-label {
	color: rgba(255, 255, 255, 0.7);
	margin-top: 6px;
}

@media (max-width: 960px) {
	[b-82qqjnaxij] .hero-banner {
		flex-direction: column;
		align-items: flex-start;
		gap: 20px;
	}

	.hero-stat[b-82qqjnaxij] {
		padding-left: 0;
		border-left: none;
		text-align: left;
		max-width: none;
	}
}
/* /Components/Shared/Maps/ArcGisMap.razor.rz.scp.css */
.arcgis-map-container[b-zig05r6pgy] {
	position: relative;
	width: 100%;
	/* 64px app bar + ~56px sticky bar + ~4px for borders/shadows */
	height: calc(100dvh - 124px);
}

arcgis-map[b-zig05r6pgy] {
	display: block;
	width: 100%;
	height: 100%;
}

.arcgis-map-placeholder[b-zig05r6pgy] {
	width: 100%;
	height: 100%;
	background-color: #e8e8e8;
}

/* ---- Floating layer selector ------------------------------------------- */
/* MudPaper toolbar (MAP LAYER / LAND USE / YEAR) floated over the top-left of the
   map. Only the positioning lives here — surface, elevation, spacing, dividers and
   the uppercase labels all come from MudPaper / Stack / MudDivider / Typo.overline. */
[b-zig05r6pgy] .map-toolbar {
	position: absolute;
	top: 16px;
	left: 16px;
	z-index: 10;
	max-width: calc(100% - 32px);
}

/* Let each MudSelect shrink to its content instead of the default field min-width.
   ::deep because the styled element is rendered by MudSelect, not by this component. */
[b-zig05r6pgy] .map-toolbar__select {
	min-width: 0;
}
/* /Components/Shared/PageTemplates/DetailsTemplate.razor.rz.scp.css */
/* ---- Map canvas ----------------------------------------------------------- */
.dt-canvas[b-6h8hwtoqht] {
	position: relative;
	flex: 1;
	min-height: 0;
}

/* ---- Floating analysis card (open) — float over the right of the map ------ */
.dt-focus-wrap[b-6h8hwtoqht] {
	position: absolute;
	top: 16px;
	right: 16px;
	width: 500px;
	max-width: calc(100% - 32px);
	max-height: calc(100% - 32px);
	z-index: 10;
	display: flex;
}

.dt-focus-wrap[b-6h8hwtoqht]  .dt-focus-card {
	width: 100%;
	display: flex;
	flex-direction: column;
	max-height: 100%;
}

/* Body scrolls; chart/table + footer live inside MudCardContent. */
.dt-focus-wrap[b-6h8hwtoqht]  .mud-card-content {
	overflow-y: auto;
	min-height: 0;
}

/* Clearance so the header text doesn't run under the absolute close button.
   Header layout itself (eyebrow / actions / title) is handled by Card's grid. */
.dt-focus-wrap[b-6h8hwtoqht]  .mud-card-header {
	padding-right: 40px;
}

.dt-focus-actions[b-6h8hwtoqht] {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	width: 100%;
}

/* Close button — absolute top-right of the floating card */
[b-6h8hwtoqht] .dt-focus-close {
	position: absolute;
	top: 8px;
	right: 8px;
	z-index: 3;
	color: var(--mud-palette-text-disabled) !important;
}

[b-6h8hwtoqht] .dt-focus-close:hover {
	color: var(--mud-palette-text-secondary) !important;
}

/* ---- Reopen pill (collapsed) ---------------------------------------------- */
.dt-focus-reopen[b-6h8hwtoqht] {
	position: absolute;
	top: 16px;
	right: 16px;
	z-index: 10;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 9px 14px;
	font-size: 0.8125rem;
	font-weight: 600;
	font-family: inherit;
	color: var(--mud-palette-text-primary);
	cursor: pointer;
	background: var(--mud-palette-surface);
	border: 1px solid var(--mud-palette-lines-default);
	border-radius: 9px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
	transition:
		border-color 0.12s,
		box-shadow 0.12s;
}

.dt-focus-reopen:hover[b-6h8hwtoqht] {
	border-color: var(--mud-palette-text-secondary);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.dt-focus-reopen[b-6h8hwtoqht]  .mud-icon-root {
	font-size: 1rem;
	color: var(--mud-palette-text-secondary);
}
/* /Components/Shared/PageTemplates/TrendTable.razor.rz.scp.css */
/* ---- Trend table (chart/table toggle) ------------------------------------- */
.dt-table-wrap[b-uklw4adkps] {
	overflow-x: auto;
}

.dt-table[b-uklw4adkps] {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.8125rem;
}

.dt-table th[b-uklw4adkps],
.dt-table td[b-uklw4adkps] {
	padding: 7px 10px;
	border-bottom: 1px solid var(--mud-palette-table-lines);
	text-align: left;
}

.dt-table thead th[b-uklw4adkps] {
	font-weight: 700;
	color: var(--mud-palette-text-secondary);
}

.dt-table .num[b-uklw4adkps] {
	text-align: right;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.dt-delta[b-uklw4adkps] {
	font-weight: 600;
	white-space: nowrap;
}

.dt-delta.up[b-uklw4adkps] {
	color: var(--lt-positive, #4f7a3f);
}

.dt-delta.down[b-uklw4adkps] {
	color: var(--lt-negative, #b03a2e);
}
