:root {
	font-family: Fredoka, ui-rounded, 'Arial Rounded MT Bold', system-ui, sans-serif;
	color-scheme: light dark;
	--theme-bg: #f9f3eb;
	--theme-surface: #f3eadd;
	--theme-surface-raised: #ffffff;
	--theme-border: #e0d5c1;
	--theme-ink: #012f27;
	--theme-muted: #696256;
	--theme-green: #39804d;
	--theme-green-strong: #28663d;
	--theme-red: #f70522;
	--theme-icon-button-bg: var(--theme-bg);
	--theme-icon-button-ink: #bfb4a1;
	--sand-alert: #e6d6b9;
	--sand-alert-ink: #51432f;
	color: var(--theme-ink);
	background: var(--theme-bg);
	font-synthesis: none;
	--ink: var(--theme-ink);
	--green: var(--theme-green);
	--green-dark: var(--theme-green-strong);
	--red: var(--theme-red);
	--gold: #8a6500;
	--cream: var(--theme-surface);
	--cream-light: var(--theme-bg);
	--border: var(--theme-border);
	--muted: var(--theme-muted);
	--white: var(--theme-surface-raised);
	--chart-impressions: #39804d;
	--chart-impressions-fill: #39804d16;
	--chart-clicks: #cf0a22;
	--chart-clicks-fill: #cf0a2212;
	--chart-ctr: #8a6500;
	--chart-ctr-fill: #8a650012;
	--chart-tick: #696256;
	--chart-grid: #f3eadd;
	--chart-tooltip: #012f27;
}

.taid-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin-bottom: 20px;
}
#taid .secondary-button {
	border: 1px solid var(--border);
	border-radius: 999px;
	padding: 10px 16px;
	background: var(--white);
	color: var(--ink);
}
#taid .secondary-button:hover:not(:disabled) {
	background: var(--cream);
}
.taid-filters label {
	display: grid;
	gap: 6px;
	min-width: 150px;
}
.filter-group {
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
}
.filter-group legend,
.taid-filters label > span {
	margin-bottom: 6px;
	color: var(--ink);
	font-size: 14px;
	font-weight: 500;
}
.filter-segmented {
	height: 44px;
}
.filter-segmented button {
	padding-inline: 14px;
	font-size: 14px;
}
.rounded-filter,
.taid-filters select,
.taid-filters input:not([type='hidden']) {
	min-height: 44px;
	padding: 10px 14px;
	border: 1px solid var(--border);
	border-radius: 999px;
	color: var(--ink);
	background: var(--white);
}
.taid-metrics .metric,
.taid-audio-metrics .metric,
#taid .coverage-note {
	background: var(--white);
}
.taid-metrics {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
	gap: 14px;
	margin-bottom: 20px;
}
.taid-analysis {
	display: grid;
	grid-template-columns: minmax(0, 3fr) minmax(180px, 1fr);
	gap: 20px;
	margin-bottom: 20px;
}
.taid-chart-panel,
.taid-source-panel,
.taid-audio-panel {
	padding: 22px;
}
.taid-chart-panel svg {
	display: block;
	width: 100%;
	margin-top: 20px;
	overflow: visible;
}
.taid-chart-panel svg text {
	fill: var(--muted);
	font-size: 13px;
}
.taid-chart-bar {
	fill: var(--green);
}
.taid-chart-axis {
	stroke: var(--border);
}
.taid-source-row {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 12px 0;
	border-bottom: 1px solid var(--border);
}
.taid-audio-panel {
	margin-bottom: 20px;
}
.taid-audio-metrics {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}
.taid-table {
	min-width: 1000px;
}
.taid-pagination {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 12px;
}
.taid-pagination > div {
	display: flex;
	gap: 8px;
}
@media (max-width: 700px) {
	.taid-analysis {
		grid-template-columns: 1fr;
	}
	.taid-filters label {
		flex: 1 1 140px;
		min-width: 0;
	}
	.taid-filters select {
		width: 100%;
	}
	.taid-audio-metrics {
		grid-template-columns: 1fr;
	}
}

.census-page {
	max-width: 1120px;
}
.census-hero {
	max-width: 820px;
	padding: 8px 0 30px;
}
.census-eyebrow {
	margin: 0 0 12px;
	color: var(--green);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.12em;
}
.census-hero h1 {
	max-width: 720px;
	margin: 0 0 16px;
	font-size: clamp(38px, 6vw, 64px);
	line-height: 1.05;
	letter-spacing: -0.025em;
}
.census-intro {
	max-width: 720px;
	margin: 0 0 12px;
	color: var(--muted);
	font-size: 21px;
}
.census-sub {
	margin: 0;
	color: var(--muted);
	font-size: 14px;
}
.census-metrics {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	margin-bottom: 18px;
}
.census-metrics .metric {
	background: var(--white);
}
.census-metrics .metric strong {
	display: block;
	font-size: clamp(38px, 5vw, 58px);
	font-weight: 500;
	line-height: 1.05;
}
.census-metrics .metric p {
	margin: 10px 0 0;
	color: var(--muted);
}
.census-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	margin-bottom: 18px;
}
.census-chart {
	padding: 24px;
	background: var(--white);
}
.census-chart h2 {
	margin: 0 0 20px;
}
.census-wide {
	grid-column: 1 / -1;
}
.census-bar-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 7px 16px;
	align-items: center;
	padding: 10px 0;
	border-bottom: 1px solid var(--border);
}
.census-bar-row b {
	font-weight: 500;
	font-variant-numeric: tabular-nums;
	text-align: right;
}
.census-bar-row small {
	color: var(--muted);
	font-size: 14px;
	font-weight: 400;
}
.census-bar-row > span {
	grid-column: 1 / -1;
	height: 6px;
	overflow: hidden;
	background: var(--cream);
	border-radius: 999px;
}
.census-bar-row i {
	display: block;
	height: 100%;
	background: var(--green);
	border-radius: inherit;
}
.census-data-note {
	margin-top: 22px;
	padding-top: 16px;
	border-top: 1px solid var(--border);
	color: var(--muted);
	font-size: 14px;
}
.census-data-note strong {
	color: var(--ink);
}
.census-data-note p {
	margin: 6px 0 0;
}
.census-map svg {
	display: block;
	width: 100%;
	height: 380px;
	color: var(--green);
}
.census-map path {
	fill: currentColor !important;
	stroke: var(--white);
	stroke-width: 1.2;
}
.census-map-legend {
	margin: 8px 0 18px;
	color: var(--muted);
	font-size: 14px;
}
.census-sponsor {
	padding: 26px;
	border: 1px dashed var(--border);
	border-radius: 16px;
	color: var(--muted);
	text-align: center;
}
.census-claim {
	margin: 18px 0;
	padding: 30px;
	border-radius: 16px;
	background: var(--ink);
	color: var(--cream-light);
}
.census-claim h2,
.census-claim p {
	margin-top: 0;
}
.census-claim a {
	display: inline-block;
	padding: 10px 18px;
	border-radius: 999px;
	background: var(--white);
	color: var(--ink);
	font-weight: 500;
	text-decoration: none;
}
.census-method {
	max-width: 820px;
	padding: 26px;
	background: var(--white);
	color: var(--muted);
}
.census-method h2 {
	color: var(--ink);
}
.census-status {
	padding: 24px;
	background: var(--white);
}

@media (max-width: 760px) {
	.census-metrics,
	.census-grid {
		grid-template-columns: 1fr;
	}
	.census-wide {
		grid-column: auto;
	}
	.census-chart,
	.census-method,
	.census-claim {
		padding: 20px;
	}
	.census-map svg {
		height: 300px;
	}
}

* {
	box-sizing: border-box;
}
.visually-hidden {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}
body {
	margin: 0;
	min-width: 320px;
	background: var(--cream-light);
	font-size: 16px;
	line-height: 1.5;
}
button,
input,
select {
	font: inherit;
}
button {
	cursor: pointer;
}
button:disabled {
	cursor: default;
	opacity: 0.65;
}
button:focus-visible,
input:focus-visible,
select:focus-visible,
a:focus-visible {
	outline: 2px solid var(--green-dark);
	outline-offset: 2px;
}
[hidden] {
	display: none !important;
}
.auth-checking .app-shell,
.auth-required .app-shell {
	display: none !important;
}
.auth-screen {
	min-height: 100vh;
	display: grid;
	place-items: center;
	padding: 24px;
	background: var(--cream-light);
}
.auth-card {
	position: relative;
	width: min(440px, 100%);
	padding: 34px;
	border: 1px solid var(--border);
	border-radius: 16px;
	background: var(--white);
	box-shadow: 0 18px 50px rgba(1, 47, 39, 0.1);
}
.auth-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 22px;
}
.auth-brand {
	font-size: 28px;
	line-height: 1;
}
.auth-brand strong {
	color: var(--red);
	font-size: 31px;
}
.auth-controls {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin: 0 0 28px;
}
.auth-card h1 {
	margin: 0 0 10px;
	font-size: 25px;
	font-weight: 500;
}
.auth-card p {
	margin: 0 0 22px;
	color: var(--muted);
	font-size: 13px;
	line-height: 1.55;
}
.auth-form {
	display: grid;
	gap: 9px;
}
.auth-form label {
	font-size: 14px;
	font-weight: 500;
}
.auth-form input {
	width: 100%;
	height: 48px;
	padding: 0 14px;
	border: 1px solid var(--border);
	border-radius: 9px;
	background: var(--cream-light);
	color: var(--ink);
}
.auth-form .primary-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-top: 6px;
	height: 46px;
	border: 0;
	border-radius: 999px;
	background: var(--green);
	color: var(--white);
}
.auth-form .primary-button[aria-busy='true'] {
	cursor: wait;
}
.auth-form .primary-button[aria-busy='true']::before {
	content: '';
	width: 14px;
	height: 14px;
	flex: 0 0 14px;
	border: 2px solid currentColor;
	border-right-color: transparent;
	border-radius: 50%;
	animation: auth-button-spin 0.7s linear infinite;
}
@keyframes auth-button-spin {
	to {
		transform: rotate(360deg);
	}
}
@media (prefers-reduced-motion: reduce) {
	.auth-form .primary-button[aria-busy='true']::before {
		animation: none;
	}
}
.auth-back {
	margin-top: 16px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--green-dark);
	font-size: 14px;
}
.auth-card .auth-error {
	margin: 18px 0 0;
	padding: 10px 12px;
	border-radius: 8px;
	background: #fff0f1;
	color: #a80017;
}
.is-public .admin-only {
	display: none !important;
}

.topbar {
	height: 66px;
	padding: 0 24px;
	display: flex;
	align-items: center;
	gap: 28px;
	background: var(--cream-light);
	border-bottom: 1px solid var(--border);
	position: sticky;
	top: 0;
	z-index: 10;
}

.brand {
	display: flex;
	align-items: center;
	gap: 7px;
	min-width: 215px;
	color: var(--ink);
	text-decoration: none;
}

.brand-logo {
	flex: 0 0 auto;
	width: 72px;
	height: 31px;
	margin-top: 5px;
	overflow: visible;
}
.brand-product {
	color: var(--ink);
	font-size: 31px;
	font-weight: 400;
	letter-spacing: -0.6px;
	line-height: 31px;
}

.property-picker {
	position: relative;
	width: min(480px, 44vw);
	min-width: 220px;
}
.property-trigger {
	width: 100%;
	height: 42px;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 0 14px;
	background: var(--white);
	border: 1px solid var(--border);
	border-radius: 999px;
	color: var(--ink);
	text-align: left;
}
.property-trigger:hover,
.property-trigger[aria-expanded='true'] {
	border-color: var(--green);
	background: var(--cream-light);
}
#property-selection-label {
	min-width: 0;
	flex: 1;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.property-chevron {
	color: var(--muted);
	font-size: 15px;
}
.property-menu {
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	width: min(430px, calc(100vw - 32px));
	padding: 10px;
	background: var(--white);
	border: 1px solid var(--border);
	border-radius: 12px;
	box-shadow: 0 16px 36px rgba(1, 47, 39, 0.16);
	z-index: 30;
}
#property-search {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid var(--border);
	border-radius: 999px;
	background: var(--cream-light);
	color: var(--ink);
	outline: none;
}
.property-actions {
	display: flex;
	gap: 6px;
	padding: 9px 0;
	border-bottom: 1px solid var(--cream);
}
.property-actions button {
	padding: 6px 9px;
	border: 0;
	border-radius: 999px;
	background: var(--cream-light);
	color: var(--green-dark);
	font-size: 13px;
	font-weight: 500;
}
.property-actions button:hover {
	background: var(--cream);
}
#property-clear {
	color: var(--red);
}
.property-options {
	max-height: 310px;
	overflow: auto;
	padding-top: 5px;
}
.property-option {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 7px;
	border-radius: 7px;
	color: var(--ink);
	font-size: 14px;
	cursor: pointer;
}
.property-option:hover {
	background: var(--cream-light);
}
.property-option input {
	width: 15px;
	height: 15px;
	margin: 0;
	accent-color: var(--green);
}
.property-empty {
	padding: 22px 10px;
	color: var(--muted);
	font-size: 14px;
	text-align: center;
}

.status-dot {
	flex: 0 0 auto;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--green);
}

.top-actions {
	margin-left: auto;
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--muted);
	font-size: 14px;
}

.theme-toggle {
	display: grid;
	width: 40px;
	height: 40px;
	flex: 0 0 40px;
	place-items: center;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--theme-icon-button-bg);
	color: var(--theme-icon-button-ink);
	transition:
		background-color 160ms ease,
		color 160ms ease,
		transform 160ms ease;
}
.theme-toggle:hover {
	transform: translateY(-1px);
}
.theme-icon {
	grid-area: 1 / 1;
	width: 19px;
	height: 19px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.theme-icon-sun,
:root[data-theme='dark'] .theme-icon-moon {
	display: none;
}
:root[data-theme='dark'] .theme-icon-sun {
	display: block;
}

.profile {
	position: relative;
}
.profile-menu {
	position: absolute;
	top: calc(100% + 12px);
	right: 0;
	width: min(290px, calc(100vw - 28px));
	padding: 8px;
	background: var(--white);
	border: 1px solid var(--border);
	border-radius: 12px;
	box-shadow: 0 14px 34px rgba(1, 47, 39, 0.14);
	z-index: 20;
}
.profile-identity {
	display: grid;
	gap: 4px;
	padding: 11px 12px 13px;
	border-bottom: 1px solid var(--cream);
}
.profile-identity span {
	color: var(--muted);
	font-size: 13px;
}
.profile-identity strong {
	color: var(--ink);
	font-size: 14px;
	font-weight: 500;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.profile-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 11px 12px;
	color: var(--muted);
}
.profile-language-row {
	padding-block: 12px;
}
.profile-language-row .language-switch {
	width: 100%;
}
.profile-language-row .language-switch button {
	flex: 1;
}
.sign-out {
	width: 100%;
	display: block;
	padding: 11px 12px;
	border: 0;
	border-radius: 8px;
	background: transparent;
	color: var(--red);
	text-align: left;
	text-decoration: none;
	font-weight: 500;
}
.sign-out:hover {
	background: #fff0f1;
	color: #a80017;
}

.language-switch {
	display: inline-flex;
	min-height: 48px;
	padding: 4px;
	justify-content: center;
	align-items: center;
	flex-shrink: 0;
	border: 1px solid var(--border);
	border-radius: 24px;
	background: var(--white);
}
.language-switch button {
	display: flex;
	height: 40px;
	align-items: center;
	border: 0;
	border-radius: 30px;
	padding: 0 16px;
	background: transparent;
	color: var(--muted);
	font-family: inherit;
	font-size: 16px;
	font-weight: 500;
}
.language-switch button:hover {
	cursor: pointer;
}
.language-switch img {
	width: 20px;
	height: 20px;
	margin-right: 8px;
}
.language-switch button.active {
	background: var(--cream);
	color: var(--ink);
	font-weight: 600;
}
:root[data-theme='dark'] .language-switch button.active {
	background: var(--green);
	color: #012b23;
}
:root[data-theme='dark'] .segmented button.active {
	background: var(--green);
	color: #012b23;
}

.avatar {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--cream);
	color: var(--ink);
	font-weight: 600;
}
.avatar:hover,
.avatar[aria-expanded='true'] {
	background: var(--green);
	color: var(--white);
}

.layout {
	display: grid;
	grid-template-columns: 230px minmax(0, 1fr);
	min-height: calc(100vh - 66px);
}
.sidebar {
	background: var(--cream-light);
	border-right: 1px solid var(--border);
	padding: 22px 14px;
	position: sticky;
	top: 66px;
	height: calc(100vh - 66px);
	display: flex;
	flex-direction: column;
}
.nav-primary,
.admin-nav {
	width: 100%;
}
.admin-nav {
	margin-top: auto;
}
.nav-section-label {
	padding: 0 13px 9px;
	color: var(--muted);
	font-size: 13px;
}

.nav-item {
	width: 100%;
	border: 0;
	background: transparent;
	padding: 11px 13px;
	margin-bottom: 4px;
	border-radius: 999px;
	color: var(--muted);
	display: flex;
	align-items: center;
	gap: 12px;
	text-decoration: none;
	font-size: 15px;
	text-align: left;
}
.nav-item b {
	font: inherit;
}
.nav-item .nav-icon {
	display: grid;
	place-items: center;
	flex: 0 0 22px;
	width: 22px;
	height: 22px;
	font-size: 16px;
	font-style: normal;
	line-height: 1;
	color: currentColor;
}
.nav-item:hover {
	background: var(--cream);
	color: var(--ink);
}
.nav-item.active {
	background: var(--green);
	color: var(--white);
	font-weight: 500;
}
.nav-rule {
	border-top: 1px solid var(--border);
	margin: 18px 10px;
}

main {
	padding: 40px clamp(24px, 4.5vw, 64px) 80px;
	max-width: 1460px;
	width: 100%;
}
.view {
	display: none;
}
.active-view {
	display: block;
	animation: fade 0.16s ease;
}
@keyframes fade {
	from {
		opacity: 0.6;
		transform: translateY(2px);
	}
}

.page-heading {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 24px;
	margin-bottom: 27px;
}
.page-heading h1 {
	margin: 3px 0 5px;
	color: var(--ink);
	font-size: clamp(29px, 3vw, 39px);
	font-weight: 500;
	letter-spacing: -1px;
}
.page-heading p {
	margin: 0;
	color: var(--muted);
	font-size: 14px;
}
.overview-heading {
	align-items: center;
}
.overview-heading h1 {
	margin-block: 0;
}
.overview-heading-actions {
	display: flex;
	align-items: center;
	gap: 12px;
}
#overview-period-picker {
	background: var(--white);
	border: 1px solid var(--border);
}
.overview-metrics {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin-bottom: 18px;
}
.overview-metric {
	min-height: 132px;
	padding: 23px;
	background: var(--white);
	border: 1px solid var(--border);
	border-radius: 10px;
}
.overview-metric-line {
	display: flex;
	align-items: baseline;
	gap: 12px;
}
.overview-metric-line strong {
	color: var(--ink);
	font-size: clamp(32px, 4vw, 44px);
	font-weight: 500;
	letter-spacing: -1.4px;
}
.clicks-metric .metric-value,
.clicks-metric .overview-metric-line strong {
	color: var(--red);
}
.impressions-metric .metric-value,
.impressions-metric .overview-metric-line strong {
	color: var(--green-dark);
}
.trend {
	display: inline-flex;
	align-items: center;
	padding: 4px 7px;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 500;
}
.trend.up {
	background: #e7f2e8;
	color: var(--green-dark);
}
.trend.down {
	background: #fbe8e9;
	color: var(--red);
}
.trend.flat {
	background: var(--cream);
	color: var(--muted);
}
.overview-chart-panel .chart {
	height: 245px;
}
.text-button,
.back-button {
	border: 0;
	background: transparent;
	color: var(--green-dark);
	font-size: 14px;
	font-weight: 500;
}
.text-button {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	white-space: nowrap;
}
.text-button:hover,
.back-button:hover {
	color: var(--red);
}
.back-button {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 0;
	margin: 0 0 14px;
}
.overview-insights-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}
.overview-insights-grid .panel {
	min-width: 0;
}
.overview-list-panel .panel-head {
	align-items: center;
	margin-bottom: 14px;
}
.overview-tabs {
	display: flex;
	gap: 3px;
	margin: 0 0 8px;
	padding-bottom: 7px;
	overflow-x: auto;
	border-bottom: 1px solid var(--cream);
}
.overview-tabs button {
	flex: 0 0 auto;
	padding: 7px 9px;
	border: 0;
	border-radius: 999px;
	background: transparent;
	color: var(--muted);
	font-size: 13px;
	font-weight: 500;
}
.overview-tabs button:hover {
	background: var(--cream-light);
	color: var(--ink);
}
.overview-tabs button.active {
	background: var(--green);
	color: var(--white);
}
.compact-list {
	min-height: 172px;
}
.compact-row {
	display: grid;
	gap: 3px;
	padding: 10px 0;
	border-bottom: 1px solid var(--cream);
}
.compact-row:last-child {
	border-bottom: 0;
}
.compact-row-split {
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 12px;
}
.compact-label-stack,
.compact-values {
	display: grid;
	min-width: 0;
}
.compact-label-stack {
	gap: 3px;
}
.compact-url {
	overflow: hidden;
	color: var(--muted);
	font-size: 13px;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.compact-values {
	justify-items: end;
	gap: 4px;
	text-align: right;
}
.click-value {
	color: var(--red);
	font-size: 13px;
	font-weight: 500;
	white-space: nowrap;
}
.impression-value {
	color: var(--green-dark);
}
.compact-number {
	font-size: 13px;
	font-weight: 500;
	white-space: nowrap;
}
.compact-trend {
	font-size: 13px;
	font-weight: 500;
}
.compact-trend.up {
	color: var(--green-dark);
}
.compact-trend.down {
	color: var(--red);
}
.compact-trend.flat {
	color: var(--muted);
}
.compact-main {
	color: var(--ink);
	font-size: 14px;
	font-weight: 500;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.compact-meta,
.compact-empty {
	color: var(--muted);
	font-size: 13px;
}
.compact-meta.up {
	color: var(--green-dark);
}
.compact-meta.down {
	color: var(--red);
}
.compact-empty {
	padding: 12px 0;
	line-height: 1.5;
}
.location-list {
	display: grid;
	gap: 2px;
	min-height: 172px;
}
.location-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto minmax(80px, 110px);
	align-items: center;
	gap: 12px;
	padding: 9px 0;
	border-bottom: 1px solid var(--cream);
	font-size: 13px;
}
.location-row:last-child {
	border-bottom: 0;
}
.location-row strong {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-weight: 500;
}
.location-row .bar-track {
	width: 100%;
}
.location-row > span {
	color: var(--muted);
	text-align: right;
	white-space: nowrap;
}
.location-trend {
	font-weight: 500;
}
.location-trend.up {
	color: var(--green-dark);
}
.location-trend.down {
	color: var(--green-dark);
}
.location-trend.flat {
	color: var(--muted);
}
.metrics {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
	margin-bottom: 24px;
}
.metric {
	min-height: 120px;
	padding: 22px;
	background: var(--white);
	border: 1px solid var(--border);
	border-radius: 10px;
}
.metric-label {
	margin-bottom: 10px;
	color: var(--muted);
	font-size: 14px;
	font-weight: 500;
}
.metric-value {
	color: var(--ink);
	font-size: clamp(27px, 3vw, 35px);
	line-height: 1;
	font-weight: 500;
	letter-spacing: -1px;
}
.metric-value-line {
	display: flex;
	align-items: baseline;
	gap: 10px;
}
.ctr-metric .metric-value {
	color: var(--gold);
}
.metric-coming-soon {
	margin-top: 2px;
}
.metric-note {
	margin-top: 11px;
	color: var(--muted);
	font-size: 13px;
	line-height: 1.4;
}
.performance-metrics .metric {
	border-top: 1px solid var(--border);
}
.performance-metrics .metric,
.translation-metrics .metric {
	background: var(--white);
}

.grid {
	display: grid;
	gap: 18px;
}
.grid.two {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}
.panel {
	margin-bottom: 18px;
	padding: 23px;
	background: var(--white);
	border: 1px solid var(--border);
	border-radius: 10px;
	box-shadow: none;
}
.panel-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 18px;
	margin-bottom: 20px;
}
.panel h2 {
	margin: 0;
	color: var(--ink);
	font-size: 20px;
	font-weight: 500;
}
.panel-icon {
	color: var(--green);
	font-size: 19px;
}
.muted,
.hint {
	color: var(--muted);
	font-size: 14px;
}
.pill {
	display: inline-flex;
	align-items: center;
	padding: 6px 10px;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 500;
	white-space: nowrap;
}
.pill.green {
	background: var(--cream);
	color: var(--ink);
}
.pill.blue {
	background: var(--cream-light);
	color: var(--green-dark);
}
.pill.amber {
	background: var(--cream-light);
	color: #735c24;
}

.primary-button,
.search-box button,
.stack-form button,
.copy-button,
.check-button {
	border: 0;
	border-radius: 999px;
	padding: 11px 17px;
	background: var(--green);
	color: var(--white);
	font-weight: 500;
	white-space: nowrap;
}
.primary-button:hover,
.search-box button:hover,
.stack-form button:hover,
.copy-button:hover,
.check-button:hover {
	background: var(--green-dark);
}

.rank-list {
	display: grid;
}
.rank-row {
	display: grid;
	grid-template-columns: 31px 1fr;
	gap: 12px;
	padding: 14px 0;
	border-bottom: 1px solid var(--cream);
}
.rank-row:last-child {
	border: 0;
}
.rank {
	color: var(--green);
	font-size: 14px;
	font-weight: 600;
}
.rank-row div {
	display: grid;
	gap: 3px;
	min-width: 0;
}
.rank-row small {
	color: var(--muted);
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.7px;
}
.rank-row strong {
	color: var(--ink);
	font-size: 14px;
	font-weight: 500;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.rank-row div span {
	color: var(--muted);
	font-size: 13px;
}

.activity-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 12px 0;
	border-bottom: 1px solid var(--cream);
}
.activity-row:last-child {
	border: 0;
}
.activity-title {
	color: var(--ink);
	font-size: 14px;
	font-weight: 500;
}
.activity-meta {
	margin-top: 4px;
	color: var(--muted);
	font-size: 13px;
}

.bar-list {
	display: grid;
	gap: 12px;
}
.bar-row {
	display: grid;
	grid-template-columns: 110px minmax(100px, 1fr) 60px;
	align-items: center;
	gap: 14px;
	font-size: 14px;
}
.bar-row strong {
	color: var(--ink);
	text-transform: capitalize;
	font-weight: 500;
}
.bar-row > span {
	color: var(--muted);
	text-align: right;
}
.bar-track {
	height: 7px;
	border-radius: 999px;
	background: var(--cream);
	overflow: hidden;
}
.bar {
	height: 100%;
	border-radius: inherit;
	background: var(--green);
}

.translation-heading {
	align-items: center;
}
.translation-heading > div:first-child {
	max-width: 680px;
}
.translation-chart-panel .chart {
	height: 250px;
}
.translation-metrics .metric:nth-child(2) .metric-value {
	color: var(--green-dark);
}
.translation-metrics .metric:nth-child(4) .metric-value {
	color: var(--gold);
}
.translation-direction {
	display: grid;
	gap: 18px;
	min-height: 160px;
	align-content: center;
}
.translation-direction-row {
	display: grid;
	grid-template-columns: minmax(105px, 1fr) minmax(120px, 2fr) auto;
	align-items: center;
	gap: 12px;
	font-size: 14px;
}
.translation-direction-row strong {
	font-weight: 500;
}
.translation-direction-row span:last-child {
	min-width: 76px;
	color: var(--muted);
	text-align: right;
}
.translation-direction-row.english .bar {
	background: var(--red);
}
.translation-themes {
	display: grid;
	gap: 15px;
}
.translation-theme-row {
	display: grid;
	grid-template-columns: minmax(190px, 1fr) minmax(180px, 2fr) 58px;
	align-items: center;
	gap: 16px;
}
.translation-theme-label {
	display: grid;
	gap: 3px;
	min-width: 0;
}
.translation-theme-label strong {
	color: var(--ink);
	font-size: 14px;
	font-weight: 500;
}
.translation-theme-label span {
	color: var(--muted);
	font-size: 13px;
}
.translation-theme-row > b {
	color: var(--muted);
	font-size: 14px;
	font-weight: 500;
	text-align: right;
}
.chart-legend .translations {
	background: var(--green);
}
.translation-heatmap-wrap {
	min-height: 220px;
	overflow-x: auto;
}
.translation-heatmap {
	width: 100%;
	min-width: 760px;
	border-collapse: separate;
	border-spacing: 4px;
	table-layout: fixed;
}
.translation-heatmap th {
	border: 0;
	background: transparent;
	color: var(--muted);
	font-size: 13px;
	font-weight: 500;
	text-align: center;
}
.translation-heatmap th[scope='row'] {
	width: 38px;
	padding-right: 6px;
	text-align: right;
}
.translation-heatmap td {
	height: 22px;
	border: 1px solid var(--border);
	border-radius: 4px;
	background: var(--white);
}
.translation-heatmap td.heat-1 {
	background: color-mix(in srgb, var(--green) 18%, var(--white));
}
.translation-heatmap td.heat-2 {
	background: color-mix(in srgb, var(--green) 34%, var(--white));
}
.translation-heatmap td.heat-3 {
	background: color-mix(in srgb, var(--green) 50%, var(--white));
}
.translation-heatmap td.heat-4 {
	background: color-mix(in srgb, var(--green) 70%, var(--white));
}
.translation-heatmap td.heat-5 {
	background: color-mix(in srgb, var(--green) 90%, var(--white));
}

.segmented {
	display: inline-flex;
	max-width: 100%;
	height: 42px;
	flex-wrap: nowrap;
	gap: 4px;
	padding: 4px;
	overflow-x: auto;
	border: 1px solid var(--border);
	border-radius: 60px;
	background: var(--white);
	scrollbar-width: none;
}
.segmented::-webkit-scrollbar {
	display: none;
}
.segmented button {
	display: flex;
	height: 32px;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	border: 0;
	border-radius: 30px;
	background: transparent;
	padding: 0 16px;
	color: var(--muted);
	font-size: 16px;
	font-weight: 500;
	line-height: normal;
	white-space: nowrap;
}
.segmented button:hover {
	color: var(--ink);
}
.segmented button.active {
	background: var(--cream);
	color: var(--ink);
	font-weight: 600;
}
.date-range-picker {
	flex: 0 1 auto;
}
.performance-heading {
	align-items: center;
}

.chart-panel {
	padding-bottom: 14px;
}
.chart-panel-head {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	align-items: center;
}
.chart-panel-head .chart-legend {
	justify-self: center;
}
.performance-chart-head .breakdown-picker {
	justify-self: end;
}
.chart-legend {
	display: flex;
	gap: 18px;
	color: var(--muted);
	font-size: 13px;
}
.chart-legend span {
	display: flex;
	align-items: center;
	gap: 6px;
}
.chart-legend i {
	width: 11px;
	height: 3px;
	border-radius: 4px;
}
.chart-legend .impressions {
	background: var(--green);
}
.chart-legend .clicks {
	background: var(--red);
}
.chart-legend .ctr {
	background: var(--gold);
}
.chart {
	position: relative;
	min-height: 280px;
	height: 280px;
	width: 100%;
}
.chart canvas {
	width: 100% !important;
	height: 100% !important;
}
.chart-message {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	color: var(--muted);
	font-size: 14px;
	pointer-events: none;
}

.coverage-note {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: -2px 0 18px;
	padding: 13px 16px;
	border-radius: 9px;
	border: 1px solid var(--border);
	background: var(--white);
	color: var(--ink);
	font-size: 14px;
}
.coverage-note strong {
	flex: 0 0 auto;
	color: var(--ink);
	font-weight: 500;
}
.performance-coverage-note {
	background: var(--white);
	color: var(--ink);
}
.performance-coverage-note strong {
	color: var(--ink);
}

.table-panel {
	padding: 0;
	overflow: hidden;
	background: var(--white);
}
.dimension-tabs {
	display: flex;
	gap: 4px;
	padding: 0 20px;
	border-bottom: 1px solid var(--border);
	overflow-x: auto;
}
.dimension-tabs button {
	border: 0;
	border-bottom: 3px solid transparent;
	background: none;
	padding: 17px 14px 14px;
	color: var(--muted);
	font-size: 14px;
	white-space: nowrap;
}
.dimension-tabs button.active {
	color: var(--green-dark);
	border-bottom-color: var(--green);
	font-weight: 500;
}
.table-meta {
	display: flex;
	justify-content: space-between;
	padding: 14px 22px;
	color: var(--muted);
	font-size: 13px;
}
.table-wrap {
	overflow: auto;
}
.performance-table-wrap {
	height: 620px;
	min-height: 620px;
}
table {
	border-collapse: collapse;
	width: 100%;
	font-size: 14px;
}
.data-table,
.performance-table {
	table-layout: auto;
}
.data-table thead {
	position: sticky;
	top: 0;
	z-index: 2;
}
th {
	height: 48px;
	padding: 14px;
	background: var(--cream-light);
	color: var(--muted);
	font-weight: 500;
	text-align: left;
	border-top: 1px solid var(--cream);
	border-bottom: 1px solid var(--border);
	white-space: nowrap;
}
.data-table th.sortable-heading {
	padding: 0;
}
td {
	padding: 13px 14px;
	text-align: left;
	border-bottom: 1px solid var(--cream);
	color: var(--muted);
}
.data-table th.numeric-column,
.data-table td.numeric-cell {
	text-align: right;
}
tr:hover td {
	background: var(--cream-light);
}
.primary-column {
	width: 50%;
	min-width: 260px;
}
.sort-button {
	width: 100%;
	display: flex;
	justify-content: flex-start;
	gap: 5px;
	border: 0;
	background: none;
	min-height: 48px;
	padding: 14px;
	color: inherit;
	font: inherit;
	font-weight: inherit;
}
.primary-column .sort-button {
	justify-content: flex-start;
}
.numeric-column .sort-button {
	justify-content: flex-end;
}
.sort-button.active {
	color: var(--green-dark);
}
.sort-button:hover {
	background: var(--cream);
	color: var(--ink);
}
.client-sortable .sort-button::after {
	content: '↕';
	opacity: 0.35;
}
.client-sortable[aria-sort='ascending'] .sort-button,
.client-sortable[aria-sort='descending'] .sort-button {
	color: var(--green-dark);
}
.client-sortable[aria-sort='ascending'] .sort-button::after {
	content: '↑';
	opacity: 1;
}
.client-sortable[aria-sort='descending'] .sort-button::after {
	content: '↓';
	opacity: 1;
}
.metric-number {
	color: var(--green-dark);
	font-variant-numeric: tabular-nums;
	font-weight: 600;
}
.performance-table .clicks-column .sort-button,
.performance-table .clicks-number {
	color: var(--red);
}
.performance-table .ctr-column .sort-button,
.performance-table .ctr-number {
	color: var(--gold);
}
.performance-table tbody td {
	font-size: 14px;
	line-height: 1.35;
}
.index-table {
	min-width: 1360px;
}
.users-heading > div {
	max-width: 760px;
}
.users-heading p {
	margin: 8px 0 0;
	line-height: 1.55;
}
#user-metrics {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
.users-table {
	min-width: 920px;
}
.users-table th,
.users-table td {
	text-align: left;
	vertical-align: top;
}
.users-table th {
	white-space: normal;
}
.users-table td {
	line-height: 1.4;
}
.user-email-column {
	min-width: 190px;
	color: var(--ink);
}
.user-property-list,
.shared-email-list {
	display: grid;
	gap: 7px;
}
.user-property {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	min-width: 220px;
}
.user-property strong,
.shared-email-list strong,
.shared-email-list small {
	display: block;
}
.shared-email-list {
	min-width: 180px;
}

@media (max-width: 820px) {
	#user-metrics {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 560px) {
	#user-metrics {
		grid-template-columns: 1fr;
	}
}
.shared-email-list strong {
	color: var(--ink);
}
.shared-email-list small {
	margin-top: 1px;
	color: var(--muted);
}
.claim-status {
	padding: 4px 8px;
}
.claim-status.verified {
	background: color-mix(in srgb, var(--green) 14%, var(--white));
	color: var(--green-dark);
}
.claim-status.pending {
	background: var(--sand-alert);
	color: var(--sand-alert-ink);
}
.claim-status.expired,
.claim-status.revoked {
	background: color-mix(in srgb, var(--red) 9%, var(--white));
	color: var(--red);
}
.domain-column {
	min-width: 170px;
}
.url-column {
	min-width: 300px;
}
.title-column {
	min-width: 220px;
}
.description-column {
	min-width: 340px;
}
.index-table td.domain-column,
.index-table td.url-column,
.index-table td.title-column,
.index-table td.description-column,
.index-table th.domain-column .sort-button,
.index-table th.url-column .sort-button,
.index-table th.title-column .sort-button,
.index-table th.description-column .sort-button {
	text-align: left;
}
.index-table th.domain-column .sort-button,
.index-table th.url-column .sort-button,
.index-table th.title-column .sort-button,
.index-table th.description-column .sort-button {
	justify-content: flex-start;
}
.cell-text {
	display: block;
	max-width: 360px;
	color: var(--ink);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.row-link {
	display: block;
	max-width: 620px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--green-dark);
	font-weight: 500;
	text-align: left;
	text-decoration: none;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.row-link:hover {
	text-decoration: underline;
}
.row-label {
	display: block;
	max-width: 620px;
	color: var(--ink);
	font-weight: 500;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.search-box {
	display: flex;
	gap: 8px;
	margin-bottom: 20px;
}
.search-box input,
.stack-form input {
	width: 100%;
	border: 1px solid var(--border);
	border-radius: 999px;
	padding: 11px 16px;
	background: var(--white);
	color: var(--ink);
	outline: none;
}
.search-box input:focus,
.stack-form input:focus {
	border-color: var(--green);
	box-shadow: 0 0 0 3px rgba(57, 128, 77, 0.12);
}
.inspection-form {
	margin-bottom: 18px;
}
.inspection-input-wrap {
	position: relative;
	flex: 1;
	min-width: 0;
}
.inspection-suggestions {
	position: absolute;
	top: calc(100% + 7px);
	left: 0;
	right: 0;
	max-height: 320px;
	overflow-y: auto;
	padding: 6px;
	background: var(--white);
	border: 1px solid var(--border);
	border-radius: 12px;
	box-shadow: 0 14px 34px rgba(1, 47, 39, 0.14);
	z-index: 8;
}
.search-box .inspection-suggestion {
	display: grid;
	gap: 3px;
	width: 100%;
	padding: 9px 10px;
	border: 0;
	border-radius: 8px;
	background: transparent;
	color: var(--ink);
	font-weight: 400;
	text-align: left;
	white-space: normal;
}
.search-box .inspection-suggestion:hover,
.search-box .inspection-suggestion.active {
	background: var(--cream-light);
	color: var(--ink);
}
.inspection-suggestion-url,
.inspection-suggestion-title {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.inspection-suggestion-url {
	font-size: 14px;
	font-weight: 500;
}
.inspection-suggestion-title,
.inspection-suggestion-empty {
	color: var(--muted);
	font-size: 13px;
}
.inspection-suggestion-empty {
	padding: 12px 10px;
}
.inspection-result {
	margin-bottom: 18px;
}
.inspection-empty {
	min-height: 190px;
	display: grid;
	place-items: center;
	align-content: center;
	gap: 8px;
	text-align: center;
}
.inspection-empty p {
	margin: 0;
}
.inspection-symbol {
	display: grid;
	place-items: center;
	flex: 0 0 auto;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: var(--cream);
	color: var(--green-dark);
	font-size: 20px;
	font-weight: 600;
}
.inspection-status {
	padding: 0;
	overflow: hidden;
}
.inspection-status.success {
	border-color: rgba(57, 128, 77, 0.45);
}
.inspection-status.warning {
	border-color: #d9bd78;
}
.inspection-status.warning .inspection-symbol {
	background: #fff5d9;
	color: #735c24;
}
.inspection-status-head {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 22px;
}
.inspection-status-head h2 {
	margin-bottom: 5px;
}
.inspection-status-head p {
	margin: 0;
	color: var(--muted);
	font-size: 14px;
	overflow-wrap: anywhere;
}
.inspection-facts {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	border-top: 1px solid var(--border);
	background: var(--cream-light);
}
.inspection-facts div {
	min-width: 0;
	padding: 15px 18px;
	border-right: 1px solid var(--border);
}
.inspection-facts div:last-child {
	border-right: 0;
}
.inspection-facts span,
.inspection-facts strong {
	display: block;
}
.inspection-facts span {
	margin-bottom: 5px;
	color: var(--muted);
	font-size: 13px;
}
.inspection-facts strong {
	color: var(--ink);
	font-size: 14px;
	font-weight: 500;
	overflow-wrap: anywhere;
}
.inspection-details h2 {
	margin-bottom: 17px;
}
.inspection-details dl {
	margin: 0;
}
.inspection-details dl div {
	display: grid;
	grid-template-columns: 150px minmax(0, 1fr);
	gap: 18px;
	padding: 13px 0;
	border-top: 1px solid var(--cream);
}
.inspection-details dt {
	color: var(--muted);
	font-size: 13px;
}
.inspection-details dd {
	margin: 0;
	color: var(--ink);
	font-size: 14px;
	overflow-wrap: anywhere;
}
.inspection-message {
	display: flex;
	align-items: center;
	gap: 14px;
}
.inspection-message h2,
.inspection-message p {
	margin: 0;
}
.inspection-message.error {
	border-color: rgba(207, 10, 34, 0.35);
}
.inspection-message.error .inspection-symbol {
	background: #fff0f1;
	color: var(--red);
}
.audit-offers {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}
.audit-offer {
	display: flex;
	flex-direction: column;
	min-height: 330px;
	padding: 25px;
	border: 1px solid var(--border);
	border-radius: 10px;
	background: var(--cream-light);
}
.audit-offer.site-offer {
	background: var(--ink);
	border-color: var(--ink);
	color: var(--white);
}
.audit-offer h2 {
	margin: 15px 0 7px;
	font-size: 22px;
	font-weight: 500;
}
.audit-offer p {
	margin: 0;
	color: var(--muted);
	font-size: 14px;
	line-height: 1.5;
}
.site-offer p,
.site-offer li {
	color: #d9e6e2;
}
.site-offer .pill {
	background: rgba(255, 255, 255, 0.13);
	color: var(--white);
}
.audit-offer ul {
	display: grid;
	gap: 10px;
	margin: 22px 0;
	padding-left: 19px;
	color: var(--muted);
	font-size: 14px;
	line-height: 1.35;
}
.audit-cta {
	margin-top: auto;
	width: 100%;
	border: 0;
	border-radius: 999px;
	padding: 11px 16px;
	background: var(--green);
	color: var(--white);
	font-weight: 500;
}
.audit-cta:hover {
	background: var(--green-dark);
}
.site-offer .audit-cta {
	background: var(--white);
	color: var(--ink);
}
.audit-test-note {
	margin: 12px 0 0;
	color: var(--muted);
	font-size: 13px;
	text-align: center;
}
.compare-summary {
	display: flex;
	gap: 8px;
	margin-bottom: 18px;
}
.results-list {
	margin: 0;
	padding-left: 25px;
}
.result {
	padding: 0 0 18px 5px;
}
.result-title {
	color: var(--green-dark);
	font-size: 13px;
	font-weight: 500;
}
.result-url {
	margin: 4px 0;
	color: var(--muted);
	font-size: 13px;
	overflow-wrap: anywhere;
}
.result-desc {
	color: var(--muted);
	font-size: 14px;
	line-height: 1.5;
}
.result-tags {
	display: flex;
	gap: 5px;
	margin-top: 8px;
}
.tag {
	padding: 3px 7px;
	border-radius: 999px;
	background: var(--cream-light);
	color: var(--muted);
	font-size: 13px;
}

.ownership-heading {
	align-items: center;
}
.ownership-heading .primary-button {
	min-height: 44px;
}
.ownership-table {
	min-width: 780px;
}
.ownership-table th,
.ownership-table td {
	text-align: left;
	vertical-align: middle;
}
.ownership-table th:last-child,
.ownership-table td:last-child {
	text-align: right;
}
.ownership-domain {
	color: var(--ink);
	font-weight: 600;
}
.ownership-access[title] {
	text-decoration: underline dotted;
	text-underline-offset: 3px;
	cursor: help;
}
.ownership-action {
	display: inline-flex;
	min-height: 38px;
	align-items: center;
	padding: 8px 14px;
	border: 1px solid var(--border);
	border-radius: 999px;
	background: var(--white);
	color: var(--green-dark);
	font-size: 13px;
	font-weight: 500;
}
.ownership-empty {
	padding-block: 34px;
	text-align: center !important;
}
.console-modal {
	width: min(620px, calc(100vw - 32px));
	max-height: calc(100vh - 48px);
	padding: 26px;
	overflow: auto;
	border: 1px solid var(--border);
	border-radius: 14px;
	background: var(--white);
	color: var(--ink);
	box-shadow: 0 24px 70px rgba(1, 47, 39, 0.25);
}
.console-modal::backdrop {
	background: rgba(1, 22, 18, 0.55);
	backdrop-filter: blur(2px);
}
.modal-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
}
.modal-head h2 {
	margin: 0 0 6px;
	font-size: 24px;
	font-weight: 500;
}
.modal-head p {
	margin: 8px 0 0;
}
.modal-property-name {
	display: block;
	margin-top: 4px;
	color: var(--green-dark);
}
.modal-close {
	display: grid;
	width: 38px;
	height: 38px;
	flex: 0 0 auto;
	place-items: center;
	padding: 0;
	border: 1px solid var(--border);
	border-radius: 50%;
	background: var(--white);
	color: var(--ink);
	font-size: 24px;
	line-height: 1;
}
.share-form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
	gap: 8px;
	margin-top: 20px;
}
.share-form label {
	grid-column: 1;
	grid-row: 1;
	font-size: 14px;
	font-weight: 500;
}
.share-form label:nth-of-type(2) {
	grid-column: 1;
}
#share-domain {
	grid-column: 1;
	grid-row: 2;
}
#share-email {
	grid-column: 1;
	grid-row: 2;
}
.share-form button {
	grid-column: 2;
	grid-row: 2;
}
.share-form select,
.share-form input {
	min-width: 0;
	height: 40px;
	padding: 0 11px;
	border: 1px solid var(--border);
	border-radius: 7px;
	background: var(--white);
	color: var(--ink);
}
.share-form button {
	height: 40px;
	padding: 0 17px;
	border: 0;
	border-radius: 7px;
	background: var(--green);
	color: var(--white);
}
.shared-access-list {
	margin-top: 18px;
	border-top: 1px solid var(--cream);
}
.shared-access-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 11px 0;
	border-bottom: 1px solid var(--cream);
}
.shared-access-row strong,
.shared-access-row span {
	display: block;
}
.shared-access-row strong {
	font-size: 14px;
}
.shared-access-row span {
	margin-top: 2px;
	color: var(--muted);
	font-size: 13px;
}
.remove-access-button {
	padding: 7px 10px;
	border: 1px solid color-mix(in srgb, var(--red) 35%, var(--border));
	border-radius: 6px;
	background: var(--white);
	color: var(--red);
	font-size: 13px;
}
.stack-form {
	display: grid;
	gap: 8px;
	margin-top: 22px;
}
.stack-form label {
	font-size: 14px;
	font-weight: 500;
}
.dns-record {
	margin-top: 20px;
	padding: 14px;
	border-radius: 9px;
	border: 1px solid var(--border);
	background: var(--white);
}
.dns-record label {
	display: block;
	margin: 10px 0 4px;
	color: var(--muted);
	font-size: 13px;
	text-transform: uppercase;
}
.dns-value {
	display: flex;
	gap: 7px;
	align-items: center;
}
.dns-value code {
	flex: 1;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	padding: 8px;
	background: var(--white);
	border: 1px solid var(--border);
	border-radius: 6px;
	font-size: 13px;
}
.copy-button,
.check-button {
	padding: 8px 11px;
	font-size: 13px;
}
.check-button {
	margin-top: 12px;
	width: 100%;
}

.empty-state {
	color: var(--muted);
	font-size: 14px;
	display: grid;
	place-items: center;
	min-height: 100px;
}
.loading-block {
	min-height: 160px;
	color: var(--muted);
	display: grid;
	place-items: center;
	font-size: 14px;
}
.skeleton {
	min-height: 120px;
	background: linear-gradient(90deg, var(--cream) 25%, var(--cream-light) 50%, var(--cream) 75%);
	background-size: 200% 100%;
	animation: shimmer 1.4s infinite;
}
@keyframes shimmer {
	to {
		background-position: -200% 0;
	}
}

#toast {
	position: fixed;
	right: 24px;
	bottom: 24px;
	padding: 11px 15px;
	border-radius: 999px;
	background: var(--ink);
	color: var(--white);
	font-size: 14px;
	opacity: 0;
	transform: translateY(8px);
	pointer-events: none;
	transition: 0.2s;
	z-index: 20;
}
#toast.show {
	opacity: 1;
	transform: none;
}

:root[data-theme='dark'] {
	--theme-bg: #091a17;
	--theme-surface: #122622;
	--theme-surface-raised: #10231f;
	--theme-border: #2a433d;
	--theme-ink: #eef6f2;
	--theme-muted: #b8c9c3;
	--theme-green: #20d774;
	--theme-green-strong: #51e697;
	--theme-red: #ff5267;
	--theme-icon-button-bg: #19342e;
	--theme-icon-button-ink: var(--theme-green);
	--sand-alert: #3d3324;
	--sand-alert-ink: #f1dfbf;
	--gold: #e8bf54;
	--chart-impressions: #20d774;
	--chart-impressions-fill: #20d7741f;
	--chart-clicks: #ff5267;
	--chart-clicks-fill: #ff52671a;
	--chart-ctr: #e8bf54;
	--chart-ctr-fill: #e8bf541a;
	--chart-tick: #b8c9c3;
	--chart-grid: #2a433d;
	--chart-tooltip: #061310;

	.auth-card,
	.property-menu,
	.profile-menu,
	.panel,
	.overview-metric,
	.inspection-suggestions {
		box-shadow: 0 16px 38px rgba(0, 15, 12, 0.24);
	}

	.auth-card .auth-error,
	.sign-out:hover,
	.inspection-message.error .inspection-symbol {
		background: #4a1720;
		color: #ff9baa;
	}

	.trend.up {
		background: #0d4a37;
		color: #67eaa0;
	}

	.trend.down {
		background: #4a1720;
		color: #ff9baa;
	}

	.pill.amber,
	.coverage-warning {
		background: #493b16;
		color: #f3d77c;
	}

	.audit-offer.site-offer {
		border-color: var(--border);
		background: #001f19;
		color: var(--ink);
	}

	.site-offer p,
	.site-offer li {
		color: var(--muted);
	}

	.site-offer .audit-cta {
		background: var(--green);
		color: #012b23;
	}

	#toast {
		background: #d7dfdc;
		color: #01372f;
	}
}

@media (max-width: 1000px) {
	.metrics {
		grid-template-columns: repeat(2, 1fr);
	}
	.grid.two,
	.verification-grid,
	.audit-offers {
		grid-template-columns: 1fr;
	}
	.performance-heading {
		display: block;
	}
	.performance-heading .segmented,
	.translation-heading .segmented {
		margin-top: 18px;
	}
	.overview-insights-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 820px) {
	.topbar {
		gap: 12px;
	}
	.layout {
		grid-template-columns: 72px 1fr;
	}
	.sidebar {
		padding-inline: 9px;
	}
	.nav-section-label {
		display: none;
	}
	.nav-item {
		justify-content: center;
		gap: 0;
		font-size: 0;
	}
	.nav-item span {
		width: 22px;
	}
	.brand {
		min-width: auto;
	}
	.property-picker {
		width: min(360px, 48vw);
		min-width: 150px;
	}
	main {
		padding-inline: 24px;
	}
}

@media (max-width: 560px) {
	.topbar {
		height: 60px;
		padding-inline: 16px;
		gap: 10px;
	}
	.brand-product {
		display: none;
	}
	.property-picker {
		flex: 1;
		width: auto;
		min-width: 0;
	}
	.property-trigger {
		height: 38px;
		padding-inline: 10px;
	}
	.property-menu {
		position: fixed;
		top: 58px;
		left: 12px;
		right: 12px;
		width: auto;
	}
	main {
		padding: 24px 14px 82px;
	}
	.layout {
		display: block;
		min-height: calc(100vh - 60px);
	}
	.sidebar {
		position: fixed;
		top: auto;
		bottom: 0;
		height: 62px;
		width: 100%;
		display: flex;
		flex-direction: row;
		z-index: 12;
		border: 0;
		border-top: 1px solid var(--border);
		padding: 7px;
		background: var(--cream-light);
	}
	.nav-primary,
	.admin-nav {
		display: flex;
		width: auto;
		min-width: 0;
	}
	.nav-primary {
		flex: 4 1 0;
	}
	.admin-nav {
		flex: 2 1 0;
		margin-top: 0;
		padding-left: 6px;
		border-left: 1px solid var(--border);
	}
	.admin-nav .nav-rule {
		display: none;
	}
	.nav-item {
		flex: 1 1 0;
		width: auto;
		min-width: 0;
		padding-inline: 0;
		margin: 0;
	}
	.nav-rule,
	.sidebar a {
		display: none;
	}
	.metrics {
		grid-template-columns: 1fr 1fr;
	}
	.overview-insights-grid {
		grid-template-columns: 1fr;
	}
	.overview-heading-actions {
		align-items: flex-start;
		margin-top: 14px;
	}
	.overview-heading-actions .pill {
		display: none;
	}
	.overview-metrics {
		grid-template-columns: 1fr 1fr;
	}
	.translation-direction-row {
		grid-template-columns: minmax(90px, 1fr) minmax(90px, 1.4fr) auto;
	}
	.overview-metric {
		min-height: 116px;
		padding: 17px 14px;
	}
	.overview-metric-line {
		display: grid;
		gap: 7px;
	}
	.overview-metric-line strong {
		font-size: 31px;
	}
	.metric {
		min-height: 110px;
		padding: 17px 14px;
	}
	.top-actions span:first-child {
		display: none;
	}
	.page-heading {
		display: block;
	}
	.page-heading .pill {
		margin-top: 14px;
	}
	.performance-table-wrap {
		height: 500px;
		min-height: 500px;
	}
	.translation-theme-row {
		grid-template-columns: minmax(0, 1fr) 52px;
		gap: 7px 12px;
	}
	.translation-theme-row .bar-track {
		grid-column: 1 / -1;
		grid-row: 2;
	}
	.breakdown-picker {
		display: flex;
	}
	.breakdown-picker button {
		flex: 1;
	}
	.inspection-facts {
		grid-template-columns: 1fr 1fr;
	}
	.inspection-facts div:nth-child(2) {
		border-right: 0;
	}
	.inspection-facts div:nth-child(-n + 2) {
		border-bottom: 1px solid var(--border);
	}
	.inspection-details dl div {
		grid-template-columns: 1fr;
		gap: 5px;
	}
	.verification-steps {
		grid-template-columns: 1fr;
	}
	.share-form {
		grid-template-columns: 1fr;
		align-items: stretch;
	}
	.share-form label,
	.share-form label:nth-of-type(2),
	#share-domain,
	#share-email,
	.share-form button {
		grid-column: 1;
		grid-row: auto;
	}
	.coverage-note {
		align-items: flex-start;
		flex-direction: column;
	}
	.overview-chart-head,
	.translation-chart-head {
		grid-template-columns: 1fr;
	}
	.overview-chart-head .chart-legend,
	.translation-chart-head .chart-legend {
		margin-top: 14px;
	}
	.performance-chart-head {
		grid-template-columns: minmax(0, 1fr) auto;
	}
	.performance-chart-head .chart-legend {
		grid-column: 1 / -1;
		grid-row: 2;
		margin-top: 14px;
	}
	.table-meta span:last-child {
		display: none;
	}
	.primary-column {
		min-width: 220px;
	}
}

/* Consolidated administrator navigation and page sections. */
.admin-tabs {
	margin-bottom: 24px;
}
.usage-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	gap: 10px;
	margin-bottom: 27px;
}
.usage-toolbar .admin-tabs {
	flex: 0 0 auto;
	margin: 0;
}
.usage-filter-slot {
	display: flex;
	flex: 1 1 420px;
	min-width: 0;
	justify-content: flex-start;
}
.usage-filter-slot > .segmented {
	flex: 0 1 auto;
}
.usage-filter-slot .taid-filters {
	display: flex;
	flex: 1 1 auto;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin: 0;
}
.usage-filter-slot .taid-filters label {
	display: block;
	min-width: 150px;
}
.usage-filter-slot .taid-filters select {
	width: 100%;
}
#usage[data-usage-tab='taid'] .usage-filter-slot {
	flex-basis: 100%;
}
#usage[data-usage-tab='taid'] .taid-filters {
	flex-wrap: wrap;
}
#usage[data-usage-tab='taid'] .taid-filters > * {
	flex: 0 0 auto;
}
.index-heading {
	align-items: center;
}
.index-heading .admin-tabs,
.reports-heading .admin-tabs {
	margin-bottom: 0;
}
.reports-heading {
	align-items: center;
}
.admin-pane[hidden] {
	display: none !important;
}
.crawl-details {
	margin-top: 24px;
}
.crawl-details summary {
	cursor: pointer;
	font-weight: 600;
	margin-bottom: 20px;
}
#domains {
	margin-top: 0;
}
#crawl-overview .panel h2 {
	margin-bottom: 20px;
}
#crawl-overview .panel .table-wrap {
	margin-top: 4px;
}

#usage .performance-heading {
	display: none;
}

@media (max-width: 760px) {
	.usage-filter-slot {
		flex-basis: 100%;
	}
}
