:root {
	--bg: #01040b;
	--panel: rgba(3, 9, 22, .86);
	--panel-2: rgba(6, 15, 32, .78);
	--line: rgba(111, 180, 255, .16);
	--line-strong: rgba(34, 231, 255, .34);
	--ink: #f5f8ff;
	--muted: #94a7c8;
	--soft: #c7d6ef;
	--cyan: #22e7ff;
	--green: #21f2a6;
	--violet: #9b72ff;
	--orange: #ffb32d;
	--red: #ff5476;
	--blue: #64a8ff;
	--nav: 282px;
}

* { box-sizing: border-box; }

[hidden] { display: none !important; }

html { scroll-behavior: smooth; }

body {
	margin: 0;
	min-height: 100vh;
	overflow-x: hidden;
	color: var(--ink);
	background:
		linear-gradient(rgba(34, 231, 255, .034) 1px, transparent 1px),
		linear-gradient(90deg, rgba(34, 231, 255, .023) 1px, transparent 1px),
		radial-gradient(circle at 16% -6%, rgba(34, 231, 255, .16), transparent 30%),
		radial-gradient(circle at 84% 8%, rgba(155, 114, 255, .13), transparent 28%),
		linear-gradient(180deg, #07162a 0%, #01040b 46%, #000104 100%);
	background-size: 72px 72px, 72px 72px, auto, auto, auto;
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

a { color: inherit; }

button,
input,
select {
	font: inherit;
}

.app {
	display: grid;
	grid-template-columns: var(--nav) minmax(0, 1fr);
	min-height: 100vh;
}

.sidebar {
	position: sticky;
	top: 0;
	height: 100vh;
	overflow-y: auto;
	padding: 18px 16px;
	border-right: 1px solid var(--line);
	background: rgba(1, 5, 14, .92);
	backdrop-filter: blur(18px);
	z-index: 10;
}

.sidebar::-webkit-scrollbar { width: 8px; }
.sidebar::-webkit-scrollbar-thumb {
	border-radius: 999px;
	background: rgba(135, 245, 255, .18);
}

.brand {
	display: flex;
	gap: 12px;
	align-items: center;
	margin-bottom: 18px;
}

.logo {
	display: grid;
	place-items: center;
	width: 44px;
	height: 42px;
	border: 1px solid rgba(34, 231, 255, .45);
	border-radius: 10px;
	background: radial-gradient(circle at 46% 24%, rgba(34, 231, 255, .34), transparent 38%), rgba(7, 18, 36, .92);
	color: var(--cyan);
	font-weight: 950;
}

.brand strong { display: block; font-size: 15px; }

.brand span {
	display: block;
	font-size: 9px;
	letter-spacing: .08em;
}

.eyebrow,
.brand span,
.nav-section,
.nav-link small,
.metric small,
.panel-label,
.table-label,
.status-pill,
.chip,
.feed-time,
.page-kicker {
	color: #87f5ff;
	font-size: 10px;
	font-weight: 950;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.site-card {
	padding: 14px;
	border: 1px solid rgba(34, 231, 255, .16);
	border-radius: 12px;
	background: rgba(6, 15, 32, .74);
}

.site-card strong {
	display: block;
	margin-top: 8px;
	font-size: 17px;
}

.site-card p,
.system-card p,
.panel p,
.brief-copy,
.muted {
	color: var(--muted);
}

.live-dot {
	display: inline-block;
	width: 7px;
	height: 7px;
	margin-right: 7px;
	border-radius: 99px;
	background: var(--green);
	box-shadow: 0 0 0 0 rgba(33, 242, 166, .52);
	animation: livePulse 2.8s ease-in-out infinite;
}

@keyframes livePulse {
	0%, 100% { box-shadow: 0 0 0 0 rgba(33, 242, 166, .38); opacity: .8; }
	50% { box-shadow: 0 0 0 7px rgba(33, 242, 166, 0); opacity: 1; }
}

.nav-section {
	margin: 18px 10px 8px;
	color: rgba(135, 245, 255, .74);
}

.nav-list {
	display: grid;
	gap: 4px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.nav-group {
	display: grid;
	gap: 4px;
	padding-bottom: 10px;
}

.nav-group-label {
	margin: 10px 10px 4px;
	color: rgba(135, 245, 255, .62);
	font-size: 9px;
	font-weight: 950;
	letter-spacing: .16em;
	text-transform: uppercase;
}

.nav-link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	min-height: 38px;
	padding: 0 11px;
	border: 1px solid transparent;
	border-radius: 9px;
	color: #b9c7df;
	text-decoration: none;
	transition: background .2s ease, border-color .2s ease, color .2s ease;
}

.nav-link small { flex-shrink: 0; }

.nav-link:hover,
.nav-link.active {
	border-color: rgba(34, 231, 255, .24);
	background: linear-gradient(90deg, rgba(34, 231, 255, .12), rgba(34, 231, 255, .02));
	color: var(--ink);
}

.nav-link-muted {
	cursor: default;
	opacity: .48;
}

.nav-link-muted small {
	color: rgba(148, 167, 200, .62);
}

.demo-banner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin-bottom: 14px;
	padding: 12px 14px;
	border: 1px solid rgba(33, 242, 166, .22);
	border-radius: 14px;
	background: linear-gradient(135deg, rgba(33, 242, 166, .08), rgba(34, 231, 255, .06)), rgba(3, 9, 22, .74);
}

.demo-banner strong {
	color: var(--green);
	font-size: 13px;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.demo-banner span {
	color: var(--soft);
	font-size: 13px;
	line-height: 1.35;
}

.demo-mode [aria-disabled="true"] {
	cursor: not-allowed;
	opacity: .62;
}

.system-card {
	margin-top: 18px;
	padding: 14px;
	border: 1px solid rgba(155, 114, 255, .2);
	border-radius: 12px;
	background: radial-gradient(circle at 80% 0%, rgba(155, 114, 255, .16), transparent 44%), rgba(3, 9, 22, .86);
}

.system-card .button { width: 100%; margin-top: 10px; }

.main {
	min-width: 0;
	padding: 22px 28px 72px;
}

.topbar {
	position: sticky;
	top: 0;
	display: flex;
	justify-content: space-between;
	gap: 18px;
	align-items: center;
	min-height: 62px;
	margin: -22px -28px 24px;
	padding: 12px 28px;
	border-bottom: 1px solid var(--line);
	background: rgba(1, 5, 14, .84);
	backdrop-filter: blur(18px);
	z-index: 8;
}

.account {
	display: flex;
	gap: 12px;
	align-items: center;
}

.avatar {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: linear-gradient(135deg, rgba(34, 231, 255, .38), rgba(155, 114, 255, .38));
	font-size: 12px;
	font-weight: 950;
}

.page-head {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 22px;
	align-items: end;
	margin-bottom: 22px;
}

h1,
h2,
h3,
p { margin-top: 0; }

h1 {
	max-width: 1000px;
	margin-bottom: 0;
	font-size: clamp(42px, 4.4vw, 82px);
	line-height: .94;
	letter-spacing: 0;
}

h2 {
	margin-bottom: 14px;
	font-size: clamp(28px, 2.6vw, 48px);
	line-height: 1;
}

h3 {
	margin-bottom: 10px;
	font-size: 24px;
	line-height: 1.05;
}

.brief-hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	gap: 18px;
	margin-bottom: 18px;
}

.panel,
.brief-panel,
.metric,
.priority,
.chart-panel,
.feed-panel,
.table-panel,
.timeline-panel,
.setting-group {
	border: 1px solid var(--line);
	border-radius: 16px;
	background: var(--panel);
	box-shadow: 0 22px 80px rgba(0, 0, 0, .18);
}

.brief-panel {
	padding: 26px;
	background:
		radial-gradient(circle at 82% 10%, rgba(34, 231, 255, .1), transparent 34%),
		var(--panel);
}

.brief-copy {
	max-width: 1000px;
	font-size: clamp(18px, 1.55vw, 25px);
	line-height: 1.5;
}

.brief-meta {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1px;
	margin-top: 22px;
	overflow: hidden;
	border: 1px solid rgba(111, 180, 255, .13);
	border-radius: 12px;
	background: rgba(111, 180, 255, .12);
}

.brief-meta div {
	padding: 14px;
	background: rgba(3, 9, 22, .9);
}

.brief-meta strong {
	display: block;
	margin-top: 8px;
	font-size: 18px;
}

.score-dial {
	display: grid;
	place-items: center;
	min-height: 100%;
	padding: 24px;
}

.ring {
	position: relative;
	display: grid;
	place-items: center;
	width: 180px;
	aspect-ratio: 1;
	border-radius: 50%;
	background:
		conic-gradient(var(--cyan) 0 78%, rgba(111, 180, 255, .13) 78% 100%);
	box-shadow: 0 0 44px rgba(34, 231, 255, .11);
}

.ring::after {
	content: "";
	position: absolute;
	inset: 12px;
	border-radius: 50%;
	background: #030916;
}

.ring span {
	position: relative;
	z-index: 1;
	font-size: 54px;
	font-weight: 950;
}

.metric-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	margin-bottom: 18px;
}

.metric {
	padding: 16px;
}

.metric strong {
	display: block;
	margin: 12px 0 8px;
	font-size: 31px;
	line-height: 1;
}

.metric p {
	margin: 0;
	font-size: 13px;
	line-height: 1.42;
}

.grid-2 {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr);
	gap: 18px;
}

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

.chart-panel {
	padding: 22px;
}

.chart-head {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	align-items: start;
	margin-bottom: 14px;
}

.range {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
}

.range button,
.button,
.ghost-button,
.filter button,
.row-action {
	border: 1px solid rgba(34, 231, 255, .22);
	border-radius: 9px;
	background: rgba(34, 231, 255, .06);
	color: #c8d7ef;
	cursor: pointer;
	font-size: 12px;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: .04em;
	transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

.range button {
	min-height: 32px;
	padding: 0 10px;
}

.range button.active,
.filter button.active {
	border-color: var(--line-strong);
	background: rgba(34, 231, 255, .15);
	color: var(--ink);
}

.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0 16px;
	background: linear-gradient(135deg, var(--cyan), var(--green));
	color: #001018;
	text-decoration: none;
}

.ghost-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 0 14px;
	text-decoration: none;
}

.button:hover,
.ghost-button:hover,
.row-action:hover,
.range button:hover,
.filter button:hover { transform: translateY(-1px); }

.intelligence-chart {
	width: 100%;
	height: 460px;
	border: 1px solid rgba(111, 180, 255, .14);
	border-radius: 14px;
	background:
		linear-gradient(rgba(34, 231, 255, .05) 1px, transparent 1px),
		linear-gradient(90deg, rgba(34, 231, 255, .026) 1px, transparent 1px),
		rgba(1, 6, 16, .76);
	background-size: 74px 74px;
}

.draw {
	stroke-dasharray: 1300;
	stroke-dashoffset: 1300;
	animation: drawLine 1.8s cubic-bezier(.16, 1, .3, 1) forwards;
}

@keyframes drawLine {
	to { stroke-dashoffset: 0; }
}

.pulse-marker {
	animation: marker 3.6s ease-in-out infinite;
	transform-origin: center;
}

@keyframes marker {
	0%, 100% { opacity: .7; filter: drop-shadow(0 0 0 rgba(255, 179, 45, 0)); }
	50% { opacity: 1; filter: drop-shadow(0 0 12px rgba(255, 179, 45, .7)); }
}

.priority {
	padding: 22px;
	background:
		radial-gradient(circle at 80% 0%, rgba(33, 242, 166, .1), transparent 34%),
		var(--panel);
}

.priority strong {
	display: block;
	margin: 12px 0;
	font-size: 31px;
	line-height: 1.02;
}

.decision-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1px;
	margin: 18px 0;
	overflow: hidden;
	border: 1px solid rgba(111, 180, 255, .13);
	border-radius: 12px;
	background: rgba(111, 180, 255, .12);
}

.decision-grid div {
	padding: 13px;
	background: rgba(3, 9, 22, .88);
}

.decision-grid strong { font-size: 20px; }

.feed-panel,
.table-panel,
.timeline-panel,
.setting-group { overflow: hidden; }

.panel-head {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	align-items: center;
	padding: 18px;
	border-bottom: 1px solid var(--line);
}

.feed-list,
.rows {
	display: grid;
}

.feed-item,
.data-row,
.timeline-item,
.report-row,
.alert-row,
.setting-row {
	display: grid;
	gap: 12px;
	align-items: center;
	padding: 15px 18px;
	border-bottom: 1px solid rgba(111, 180, 255, .09);
}

.feed-item {
	grid-template-columns: 80px minmax(0, 1fr) auto;
}

.data-row {
	grid-template-columns: minmax(180px, 1.2fr) repeat(5, minmax(84px, .6fr)) auto;
}

.data-row.header,
.report-row.header {
	color: #87f5ff;
	font-size: 10px;
	font-weight: 950;
	letter-spacing: .13em;
	text-transform: uppercase;
}

.data-row:hover,
.feed-item:hover,
.alert-row:hover,
.report-row:hover {
	background: rgba(34, 231, 255, .035);
}

.feed-item:last-child,
.data-row:last-child,
.timeline-item:last-child,
.report-row:last-child,
.alert-row:last-child,
.setting-row:last-child { border-bottom: 0; }

.status-pill,
.chip {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	min-height: 24px;
	padding: 0 8px;
	border: 1px solid rgba(34, 231, 255, .18);
	border-radius: 999px;
	background: rgba(34, 231, 255, .06);
	color: #bcefff;
}

.status-critical { color: var(--red); border-color: rgba(255, 84, 118, .32); background: rgba(255, 84, 118, .08); }
.status-high { color: var(--orange); border-color: rgba(255, 179, 45, .32); background: rgba(255, 179, 45, .08); }
.status-ok { color: var(--green); border-color: rgba(33, 242, 166, .32); background: rgba(33, 242, 166, .08); }
.pos { color: var(--green); font-weight: 950; }
.neg { color: var(--red); font-weight: 950; }
.alert { color: var(--orange); font-weight: 950; }
.info { color: var(--blue); font-weight: 950; }

.filter {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	margin-bottom: 16px;
}

.filter button {
	min-height: 34px;
	padding: 0 11px;
}

.opportunity {
	grid-template-columns: minmax(260px, 1.4fr) repeat(5, minmax(80px, .55fr)) 170px;
}

.opportunity.done {
	opacity: .58;
}

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

.engine {
	padding: 18px;
	border: 1px solid var(--line);
	border-radius: 14px;
	background: var(--panel);
}

.engine strong {
	display: block;
	margin: 10px 0;
	font-size: 25px;
}

.timeline-item {
	grid-template-columns: 110px minmax(0, 1fr) 160px;
}

.playback {
	display: flex;
	gap: 8px;
	align-items: center;
	flex-wrap: wrap;
}

.report-row {
	grid-template-columns: minmax(230px, 1.2fr) 150px 150px 180px;
}

.alert-row {
	grid-template-columns: 110px minmax(0, 1fr) 160px 180px;
}

.setting-row {
	grid-template-columns: minmax(220px, 1fr) minmax(200px, .8fr) auto;
}

.drawer {
	position: fixed;
	inset: 0 0 0 auto;
	display: none;
	width: min(460px, 100vw);
	padding: 24px;
	border-left: 1px solid var(--line);
	background: rgba(2, 7, 18, .96);
	box-shadow: -30px 0 90px rgba(0, 0, 0, .4);
	z-index: 30;
}

.drawer.open { display: block; }

.drawer-close {
	float: right;
	width: 36px;
	height: 36px;
	border-radius: 50%;
}

@media (max-width: 1180px) {
	:root { --nav: 238px; }
	.brief-hero,
	.grid-2,
	.command-layout { grid-template-columns: 1fr; }
	.metric-grid,
	.ai-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.data-row,
	.opportunity,
	.report-row,
	.alert-row,
	.setting-row { grid-template-columns: 1fr 1fr; }
	.data-row.header,
	.report-row.header { display: none; }
	.intelligence-chart { height: 380px; }
}

@media (max-width: 820px) {
	.app { grid-template-columns: 1fr; }
	.sign-in-workspace { grid-template-columns: 1fr; }
	.sidebar {
		position: relative;
		height: auto;
		border-right: 0;
		border-bottom: 1px solid var(--line);
	}
	.nav-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.system-card { display: none; }
	.main { padding: 18px 14px 54px; }
	.topbar {
		position: relative;
		margin: -18px -14px 18px;
		padding: 12px 14px;
	}
	.page-head,
	.topbar { grid-template-columns: 1fr; flex-direction: column; align-items: flex-start; }
	h1 { font-size: clamp(36px, 12vw, 52px); }
	.brief-panel,
	.chart-panel,
	.priority { padding: 18px; }
	.brief-meta,
	.metric-grid,
	.grid-3,
	.ai-grid,
	.decision-grid { grid-template-columns: 1fr; }
	.feed-item,
	.data-row,
	.opportunity,
	.timeline-item,
	.report-row,
	.alert-row,
	.setting-row { grid-template-columns: 1fr; }
	.intelligence-chart { height: 310px; }
	.nav-link { min-height: 34px; }
}

/* Phase 17C executive product polish overrides */
.button,
.ghost-button,
.row-action,
.range button,
.filter button {
	min-width: max-content;
	line-height: 1.1;
	white-space: normal;
	text-align: center;
}

.button,
.ghost-button,
.row-action {
	gap: 8px;
	padding: 0 16px;
}

.row-action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	min-width: 112px;
	padding: 0 14px;
	text-decoration: none;
	vertical-align: middle;
}

.status-pill,
.chip {
	min-height: 28px;
	padding: 4px 11px;
	line-height: 1.15;
	white-space: normal;
}

.panel-head .status-pill {
	justify-content: center;
	text-align: center;
}

.drawer {
	width: min(520px, 100vw);
	padding: 30px 30px 34px;
}

.drawer h2 {
	clear: both;
	margin: 8px 0 18px;
	line-height: 1.02;
}

.drawer-close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
}

.advisor-drawer [data-drawer-text] {
	gap: 16px;
}

.drawer-callout {
	gap: 9px;
}

.data-row,
.alert-row,
.report-row,
.setting-row {
	align-items: center;
}

.future-handoff {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	min-height: 28px;
	padding: 5px 9px;
	border: 1px dashed rgba(135, 245, 255, .3);
	border-radius: 999px;
	color: #87f5ff;
	background: rgba(34, 231, 255, .045);
	font-size: 10px;
	font-weight: 950;
	letter-spacing: .1em;
	text-transform: uppercase;
}

button[disabled],
.ghost-button[disabled] {
	cursor: not-allowed;
	opacity: .62;
	transform: none;
}

.action-card .ghost-button,
.action-card .button {
	width: fit-content;
}

@media (max-width: 820px) {
	.button,
	.ghost-button,
	.row-action {
		width: 100%;
		min-width: 0;
	}

	.panel-head {
		align-items: stretch;
		flex-direction: column;
	}

	.drawer {
		padding: 24px 18px 28px;
	}
}

@media (prefers-reduced-motion: reduce) {
	* {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
	}
}

.health-panel,
.action-center,
.roadmap-panel,
.business-layer,
.ask-apex-panel,
.simulation-panel {
	border: 1px solid var(--line);
	border-radius: 16px;
	background: var(--panel);
	box-shadow: 0 22px 80px rgba(0, 0, 0, .18);
}

.health-panel {
	display: grid;
	grid-template-columns: minmax(0, .85fr) minmax(520px, 1.15fr);
	gap: 18px;
	margin-bottom: 18px;
	padding: 22px;
	background:
		radial-gradient(circle at 78% 12%, rgba(33, 242, 166, .1), transparent 34%),
		radial-gradient(circle at 14% 0%, rgba(34, 231, 255, .08), transparent 30%),
		var(--panel);
}

.health-copy h2 {
	margin-bottom: 14px;
	font-size: clamp(26px, 2.3vw, 44px);
	line-height: 1.04;
}

.health-copy p {
	max-width: 760px;
	color: var(--muted);
	font-size: 16px;
	line-height: 1.58;
}

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

.health-stat,
.metric-advisor,
.chart-explain,
.why-strip button,
.ask-chip-grid button,
.scenario-buttons button {
	border: 1px solid rgba(34, 231, 255, .18);
	background: rgba(6, 15, 32, .72);
	color: var(--ink);
	cursor: pointer;
	text-align: left;
	transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

.health-stat {
	min-height: 150px;
	padding: 14px;
	border-radius: 12px;
}

.health-stat:hover,
.metric-advisor:hover,
.chart-explain:hover,
.why-strip button:hover,
.ask-chip-grid button:hover,
.scenario-buttons button:hover {
	transform: translateY(-2px);
	border-color: rgba(34, 231, 255, .44);
	background: rgba(34, 231, 255, .07);
}

.health-stat span,
.business-grid span,
.action-metrics span {
	display: block;
	color: #87f5ff;
	font-size: 10px;
	font-weight: 950;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.health-stat strong {
	display: block;
	margin: 9px 0;
	font-size: 24px;
	line-height: 1.04;
}

.health-stat small {
	color: var(--muted);
	font-size: 12px;
	line-height: 1.38;
}

.health-stat.accent {
	border-color: rgba(33, 242, 166, .3);
	background: rgba(33, 242, 166, .06);
}

.kpi-advisor-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	margin-bottom: 18px;
}

.metric-advisor {
	display: block;
	width: 100%;
	min-height: 190px;
}

.metric-advisor span {
	display: inline-flex;
	margin-top: 13px;
	color: #87f5ff;
	font-size: 11px;
	font-weight: 950;
	text-transform: uppercase;
	letter-spacing: .08em;
}

.action-center {
	overflow: hidden;
}

.action-list {
	display: grid;
	grid-template-columns: 1.18fr repeat(3, minmax(0, 1fr));
	gap: 1px;
	background: rgba(111, 180, 255, .11);
}

.action-card {
	display: flex;
	min-height: 300px;
	flex-direction: column;
	gap: 12px;
	padding: 18px;
	background: rgba(3, 9, 22, .9);
}

.action-card.priority-one {
	background:
		radial-gradient(circle at 80% 0%, rgba(33, 242, 166, .12), transparent 42%),
		rgba(3, 9, 22, .92);
}

.rank {
	width: fit-content;
	padding: 6px 9px;
	border: 1px solid rgba(34, 231, 255, .22);
	border-radius: 999px;
	color: #87f5ff;
	font-size: 10px;
	font-weight: 950;
	text-transform: uppercase;
	letter-spacing: .12em;
}

.action-card h3 {
	font-size: 23px;
}

.action-card p {
	color: var(--muted);
	line-height: 1.48;
}

.action-metrics {
	display: grid;
	gap: 7px;
	margin-top: auto;
}

.action-metrics span {
	padding: 8px 9px;
	border: 1px solid rgba(111, 180, 255, .13);
	border-radius: 9px;
	background: rgba(34, 231, 255, .035);
	color: var(--soft);
	letter-spacing: 0;
	text-transform: none;
	font-size: 12px;
}

.action-buttons {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}

.chart-explain {
	display: inline-flex;
	align-items: center;
	min-height: 34px;
	margin-bottom: 12px;
	padding: 0 11px;
	border-radius: 9px;
	color: #c8d7ef;
	font-size: 12px;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: .04em;
}

.why-strip {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 8px;
	margin-top: 10px;
}

.why-strip button,
.ask-chip-grid button,
.scenario-buttons button {
	min-height: 38px;
	padding: 9px 11px;
	border-radius: 9px;
	color: #c8d7ef;
	font-size: 12px;
	font-weight: 850;
}

.simulation-panel {
	padding: 22px;
}

.simulation-panel p {
	color: var(--muted);
	line-height: 1.5;
}

.sim-score {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	align-items: end;
	margin: 18px 0 8px;
}

.sim-score span,
.sim-results span {
	color: #87f5ff;
	font-size: 10px;
	font-weight: 950;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.sim-score strong {
	font-size: 56px;
	line-height: .9;
}

.sim-track {
	height: 12px;
	overflow: hidden;
	border: 1px solid rgba(34, 231, 255, .18);
	border-radius: 999px;
	background: rgba(111, 180, 255, .09);
}

.sim-track span {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, var(--cyan), var(--green));
	transition: width .25s ease;
}

.scenario-buttons {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
	margin: 16px 0;
}

.scenario-buttons button.active {
	border-color: var(--line-strong);
	background: rgba(34, 231, 255, .14);
	color: var(--ink);
}

.sim-results {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1px;
	overflow: hidden;
	border: 1px solid rgba(111, 180, 255, .13);
	border-radius: 12px;
	background: rgba(111, 180, 255, .12);
}

.sim-results div {
	min-height: 90px;
	padding: 13px;
	background: rgba(3, 9, 22, .88);
}

.sim-results strong {
	display: block;
	margin-top: 8px;
	font-size: 18px;
}

.roadmap-panel,
.business-layer,
.ask-apex-panel {
	margin-top: 18px;
	overflow: hidden;
}

.pathway {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 10px;
	align-items: stretch;
	padding: 18px;
}

.path-step {
	min-height: 142px;
	padding: 15px;
	border: 1px solid rgba(111, 180, 255, .14);
	border-radius: 12px;
	background: rgba(6, 15, 32, .72);
}

.path-step.current {
	border-color: rgba(255, 179, 45, .34);
}

.path-step.outcome {
	border-color: rgba(33, 242, 166, .36);
	background: rgba(33, 242, 166, .06);
}

.path-step span {
	color: #87f5ff;
	font-size: 10px;
	font-weight: 950;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.path-step strong {
	display: block;
	margin: 12px 0 8px;
	font-size: clamp(18px, 1.28vw, 22px);
	line-height: 1.04;
	overflow-wrap: normal;
}

.path-step small {
	color: var(--muted);
}

.path-arrow {
	display: none;
	color: #87f5ff;
	text-align: center;
	font-size: 22px;
	font-weight: 950;
}

.business-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1px;
	background: rgba(111, 180, 255, .11);
}

.business-grid div {
	min-height: 150px;
	padding: 16px;
	background: rgba(3, 9, 22, .9);
}

.business-grid strong {
	display: block;
	margin: 11px 0 8px;
	font-size: 24px;
}

.business-grid p {
	margin: 0;
	color: var(--muted);
	font-size: 13px;
	line-height: 1.42;
}

.ask-apex-panel {
	display: grid;
	grid-template-columns: 340px minmax(0, 1fr);
	gap: 18px;
	padding: 20px;
}

.ask-apex-panel p {
	color: var(--muted);
	line-height: 1.5;
}

.ask-chip-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
}

.advisor-drawer {
	overflow-y: auto;
}

.advisor-drawer [data-drawer-text] {
	display: grid;
	gap: 14px;
	color: var(--soft);
	line-height: 1.58;
}

.advisor-drawer h3 {
	margin: 6px 0 0;
	font-size: 18px;
}

.advisor-drawer ul {
	margin: 0;
	padding-left: 18px;
	color: var(--soft);
}

.drawer-callout {
	display: grid;
	gap: 8px;
	padding: 14px;
	border: 1px solid rgba(33, 242, 166, .22);
	border-radius: 12px;
	background: rgba(33, 242, 166, .055);
}

.drawer-callout strong,
.drawer-callout span {
	display: block;
}

.coach-strip,
.workflow-panel,
.progress-panel,
.playbook-summary {
	border: 1px solid var(--line);
	border-radius: 16px;
	background: var(--panel);
	box-shadow: 0 22px 80px rgba(0, 0, 0, .18);
}

.coach-strip {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1px;
	overflow: hidden;
	margin-bottom: 18px;
	background: rgba(111, 180, 255, .11);
}

.coach-note {
	min-height: 140px;
	padding: 16px;
	background: rgba(3, 9, 22, .9);
}

.coach-note strong {
	display: block;
	margin-bottom: 8px;
	font-size: 19px;
	line-height: 1.1;
}

.coach-note p {
	margin: 0;
	color: var(--muted);
	font-size: 13px;
	line-height: 1.45;
}

.workflow-panel,
.progress-panel {
	margin-top: 18px;
	overflow: hidden;
}

.workflow-steps {
	display: grid;
	grid-template-columns: repeat(8, minmax(0, 1fr));
	gap: 1px;
	background: rgba(111, 180, 255, .11);
}

.workflow-step {
	min-height: 142px;
	padding: 15px;
	background: rgba(3, 9, 22, .9);
}

.workflow-step strong {
	display: block;
	margin: 9px 0;
	font-size: 20px;
	line-height: 1.08;
}

.workflow-step span {
	color: #87f5ff;
	font-size: 10px;
	font-weight: 950;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.workflow-step small {
	color: var(--muted);
	line-height: 1.36;
}

.progress-grid {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 1px;
	background: rgba(111, 180, 255, .11);
}

.progress-card {
	min-height: 145px;
	padding: 16px;
	background: rgba(3, 9, 22, .9);
}

.progress-card span,
.playbook-label {
	color: #87f5ff;
	font-size: 10px;
	font-weight: 950;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.progress-card strong {
	display: block;
	margin: 10px 0 9px;
	font-size: 24px;
}

.mini-track,
.playbook-track {
	height: 10px;
	overflow: hidden;
	border: 1px solid rgba(34, 231, 255, .18);
	border-radius: 999px;
	background: rgba(111, 180, 255, .09);
}

.mini-track i,
.playbook-track i {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, var(--cyan), var(--green));
	transition: width .22s ease;
}

.playbook-summary {
	margin-bottom: 14px;
	padding: 14px;
	background: rgba(33, 242, 166, .055);
}

.playbook-summary strong {
	display: block;
	margin: 5px 0 8px;
	font-size: 28px;
	line-height: 1;
}

.playbook-checklist {
	display: grid;
	gap: 8px;
}

.playbook-checklist label {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	gap: 10px;
	align-items: center;
	padding: 10px;
	border: 1px solid rgba(111, 180, 255, .14);
	border-radius: 10px;
	background: rgba(6, 15, 32, .72);
	color: var(--soft);
}

.playbook-checklist input {
	width: 16px;
	height: 16px;
	accent-color: var(--green);
}

.playbook-checklist small {
	color: var(--muted);
}

.playbook-actions {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	margin-top: 4px;
}

.completion-message {
	display: none;
	padding: 12px;
	border: 1px solid rgba(33, 242, 166, .24);
	border-radius: 10px;
	background: rgba(33, 242, 166, .07);
	color: var(--soft);
}

.completion-message.show {
	display: block;
}

/* Phase 18 Executive Intelligence Operating System architecture */
.executive-timeline,
.monitoring-board,
.evidence-layer,
.momentum-stories,
.executive-memory,
.competitor-command {
	margin-top: 18px;
	border: 1px solid var(--line);
	border-radius: 16px;
	background: var(--panel);
	box-shadow: 0 22px 80px rgba(0, 0, 0, .18);
	overflow: hidden;
}

.timeline-story {
	display: grid;
	gap: 1px;
	background: rgba(111, 180, 255, .11);
}

.timeline-card {
	display: grid;
	grid-template-columns: 140px minmax(0, 1fr) 210px;
	gap: 18px;
	align-items: center;
	padding: 18px;
	background: rgba(3, 9, 22, .92);
	transition: background .18s ease, transform .18s ease;
}

.timeline-card:hover,
.monitoring-module:hover,
.evidence-step:hover,
.memory-row:hover,
.competitor-brief:hover {
	background: rgba(34, 231, 255, .04);
	transform: translateY(-1px);
}

.timeline-day {
	color: #87f5ff;
	font-size: 11px;
	font-weight: 950;
	letter-spacing: .13em;
	text-transform: uppercase;
}

.timeline-card h3,
.monitoring-module h3,
.competitor-brief h3 {
	margin-bottom: 6px;
	font-size: 22px;
	line-height: 1.08;
}

.timeline-card p,
.monitoring-module p,
.evidence-step p,
.memory-row p,
.competitor-brief p {
	margin: 0;
	color: var(--muted);
	line-height: 1.45;
}

.timeline-outcome {
	display: grid;
	gap: 8px;
	justify-items: start;
}

.monitoring-grid,
.momentum-grid,
.competitor-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1px;
	background: rgba(111, 180, 255, .11);
}

.monitoring-module,
.momentum-card,
.competitor-brief {
	min-height: 210px;
	padding: 18px;
	background: rgba(3, 9, 22, .9);
}

.monitoring-module strong,
.momentum-card strong,
.competitor-brief strong {
	display: block;
	margin: 9px 0;
	font-size: 28px;
	line-height: 1;
}

.monitoring-module small,
.momentum-card small,
.competitor-brief small {
	color: var(--muted);
	line-height: 1.4;
}

.storyline {
	position: relative;
	height: 76px;
	margin: 16px 0 10px;
	border: 1px solid rgba(111, 180, 255, .11);
	border-radius: 12px;
	background:
		linear-gradient(90deg, rgba(34, 231, 255, .05) 1px, transparent 1px),
		rgba(1, 6, 16, .68);
	background-size: 54px 100%;
	overflow: hidden;
}

.storyline::before {
	content: "";
	position: absolute;
	left: 12px;
	right: 12px;
	top: var(--story-top, 42px);
	height: 3px;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--cyan), var(--green));
	transform: rotate(var(--story-angle, -6deg));
	transform-origin: left center;
	box-shadow: 0 0 18px rgba(34, 231, 255, .2);
}

.evidence-stack {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 1px;
	background: rgba(111, 180, 255, .11);
}

.evidence-step {
	min-height: 170px;
	padding: 16px;
	background: rgba(3, 9, 22, .9);
}

.evidence-step span,
.memory-row span,
.monitoring-module span,
.competitor-brief span,
.momentum-card span {
	color: #87f5ff;
	font-size: 10px;
	font-weight: 950;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.evidence-step strong {
	display: block;
	margin: 9px 0;
	font-size: 26px;
	line-height: 1.05;
}

.memory-list {
	display: grid;
	gap: 1px;
	background: rgba(111, 180, 255, .11);
}

.memory-row {
	display: grid;
	grid-template-columns: 120px minmax(0, 1fr) 220px;
	gap: 18px;
	align-items: center;
	padding: 18px;
	background: rgba(3, 9, 22, .9);
}

.memory-row strong {
	display: block;
	margin-bottom: 5px;
	font-size: 21px;
}

.memory-result {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}

.competitor-command .data-row {
	grid-template-columns: minmax(170px, 1.1fr) 120px 150px 130px minmax(180px, 1fr) 120px 120px;
}

/* Phase 19 ApexOneIQ executive identity pass */
.route-dashboard-html .page-head {
	margin-bottom: 24px;
}

.route-dashboard-html .health-panel {
	border-color: rgba(33, 242, 166, .2);
	background:
		linear-gradient(135deg, rgba(34, 231, 255, .06), transparent 34%),
		radial-gradient(circle at 80% 22%, rgba(33, 242, 166, .1), transparent 34%),
		rgba(2, 8, 19, .92);
}

.signature-chain {
	position: relative;
	border-color: rgba(33, 242, 166, .24);
	background:
		linear-gradient(120deg, rgba(34, 231, 255, .07), transparent 28%),
		radial-gradient(circle at 92% 8%, rgba(33, 242, 166, .12), transparent 30%),
		rgba(2, 8, 19, .94);
}

.signature-chain::before {
	content: "";
	position: absolute;
	inset: 72px 26px auto;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(34, 231, 255, .6), rgba(33, 242, 166, .62), transparent);
	opacity: .55;
	animation: signalFlow 4.4s ease-in-out infinite;
}

@keyframes signalFlow {
	0%, 100% { transform: translateX(-4%); opacity: .35; }
	50% { transform: translateX(4%); opacity: .8; }
}

.signature-chain .path-step {
	position: relative;
	background:
		linear-gradient(180deg, rgba(34, 231, 255, .075), rgba(6, 15, 32, .72));
}

.signature-chain .path-step::after {
	content: "";
	position: absolute;
	right: -9px;
	top: 50%;
	width: 18px;
	height: 2px;
	background: linear-gradient(90deg, rgba(34, 231, 255, .7), rgba(33, 242, 166, .58));
}

.signature-chain .path-step:last-of-type::after {
	display: none;
}

.journal-mode {
	background:
		linear-gradient(90deg, rgba(255, 179, 45, .055), transparent 26%),
		rgba(2, 8, 19, .94);
}

.journal-mode .timeline-card {
	grid-template-columns: 150px minmax(0, 1fr) 230px;
	padding-top: 22px;
	padding-bottom: 22px;
}

.journal-mode .timeline-day {
	color: #ffcf75;
}

.journal-mode h3 {
	font-size: 24px;
}

.report-voice .coach-note,
.board-report .report-row {
	background:
		linear-gradient(90deg, rgba(245, 248, 255, .035), transparent 40%),
		rgba(3, 9, 22, .92);
}

.board-report {
	border-color: rgba(245, 248, 255, .13);
}

.board-report .panel-head {
	background: rgba(245, 248, 255, .025);
}

.board-report .report-row:not(.header) {
	min-height: 96px;
}

.living-monitoring .monitoring-module {
	position: relative;
	overflow: hidden;
}

.living-monitoring .monitoring-module::before {
	content: "";
	position: absolute;
	right: 16px;
	top: 16px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--green);
	box-shadow: 0 0 0 0 rgba(33, 242, 166, .35);
	animation: livePulse 2.8s ease-in-out infinite;
}

.route-monitoring-center-html .monitoring-board {
	border-color: rgba(33, 242, 166, .2);
}

.predictive-zone .chart-panel {
	border-color: rgba(155, 114, 255, .24);
	background:
		radial-gradient(circle at 84% 8%, rgba(155, 114, 255, .15), transparent 34%),
		radial-gradient(circle at 16% 90%, rgba(34, 231, 255, .08), transparent 30%),
		var(--panel);
}

.route-forecast-html .metric {
	background:
		linear-gradient(180deg, rgba(155, 114, 255, .055), transparent),
		var(--panel);
}

@media (max-width: 1320px) {
	.health-panel,
	.ask-apex-panel { grid-template-columns: 1fr; }
	.health-grid,
	.business-grid,
	.monitoring-grid,
	.momentum-grid,
	.competitor-grid,
	.progress-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.action-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.workflow-steps,
	.evidence-stack { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 1180px) {
	.kpi-advisor-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.why-strip,
	.pathway,
	.ask-chip-grid,
	.coach-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.path-arrow { display: block; }
	.timeline-card,
	.memory-row,
	.competitor-command .data-row { grid-template-columns: 1fr; }
}

@media (max-width: 820px) {
	.health-panel,
	.simulation-panel,
	.ask-apex-panel { padding: 16px; }
	.health-grid,
	.kpi-advisor-grid,
	.action-list,
	.why-strip,
	.scenario-buttons,
	.sim-results,
	.pathway,
	.business-grid,
	.monitoring-grid,
	.momentum-grid,
	.evidence-stack,
	.competitor-grid,
	.ask-chip-grid,
	.coach-strip,
	.workflow-steps,
	.progress-grid { grid-template-columns: 1fr; }
	.health-stat,
	.metric-advisor,
	.action-card,
	.path-step,
	.business-grid div,
	.monitoring-module,
	.momentum-card,
	.evidence-step,
	.timeline-card,
	.memory-row,
	.competitor-brief,
	.coach-note,
	.workflow-step,
	.progress-card { min-height: auto; }
	.sim-score strong { font-size: 44px; }
}

/* Phase 20 executive visualization pass */
.phase20-hero {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.38fr) minmax(320px, .62fr);
	gap: 18px;
	margin: 0 0 18px;
	padding: 18px;
	overflow: hidden;
	border: 1px solid rgba(111, 180, 255, .2);
	border-radius: 18px;
	background:
		linear-gradient(rgba(34, 231, 255, .055) 1px, transparent 1px),
		linear-gradient(90deg, rgba(34, 231, 255, .035) 1px, transparent 1px),
		radial-gradient(circle at 18% 12%, rgba(34, 231, 255, .18), transparent 32%),
		radial-gradient(circle at 92% 10%, rgba(155, 114, 255, .18), transparent 28%),
		rgba(2, 8, 20, .88);
	background-size: 48px 48px, 48px 48px, auto, auto, auto;
	box-shadow: 0 24px 90px rgba(0, 0, 0, .28), inset 0 1px 0 rgba(255, 255, 255, .04);
}

.phase20-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(120deg, transparent 0%, rgba(255, 255, 255, .05) 46%, transparent 54%);
	opacity: .55;
	pointer-events: none;
	transform: translateX(-36%);
	animation: scanSweep 8s ease-in-out infinite;
}

@keyframes scanSweep {
	0%, 46% { transform: translateX(-46%); opacity: 0; }
	56% { opacity: .5; }
	100% { transform: translateX(48%); opacity: 0; }
}

.phase20-main-viz,
.phase20-side-viz {
	position: relative;
	z-index: 1;
	border: 1px solid rgba(111, 180, 255, .18);
	border-radius: 16px;
	background: rgba(1, 6, 16, .58);
	box-shadow: 0 18px 52px rgba(0, 0, 0, .16), inset 0 1px 0 rgba(255, 255, 255, .04);
}

.phase20-main-viz {
	min-height: 420px;
	padding: 20px;
}

.phase20-side-viz {
	display: grid;
	align-content: stretch;
	gap: 14px;
	padding: 16px;
}

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

.viz-head strong {
	color: var(--soft);
	font-size: 13px;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.viz-caption {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 12px;
}

.health-orbit {
	position: relative;
	display: grid;
	place-items: center;
	min-height: 330px;
}

.orbit-ring {
	position: absolute;
	border: 1px solid rgba(34, 231, 255, .18);
	border-radius: 50%;
	box-shadow: 0 0 44px rgba(34, 231, 255, .06), inset 0 0 28px rgba(34, 231, 255, .05);
}

.orbit-ring.outer { width: min(70vw, 610px); max-width: 100%; aspect-ratio: 1; animation: orbitSpin 28s linear infinite; }
.orbit-ring.mid { width: min(52vw, 440px); max-width: 78%; aspect-ratio: 1; border-color: rgba(155, 114, 255, .22); animation: orbitSpin 22s linear infinite reverse; }
.orbit-ring.inner { width: min(34vw, 280px); max-width: 52%; aspect-ratio: 1; border-color: rgba(33, 242, 166, .24); }

@keyframes orbitSpin { to { transform: rotate(360deg); } }

.orbit-core,
.orbit-node {
	position: absolute;
	display: grid;
	place-items: center;
	text-align: center;
	border: 1px solid rgba(34, 231, 255, .28);
	border-radius: 50%;
	background: rgba(4, 13, 30, .94);
	box-shadow: 0 0 54px rgba(34, 231, 255, .12);
}

.orbit-core {
	width: 172px;
	aspect-ratio: 1;
	background:
		radial-gradient(circle at center, rgba(34, 231, 255, .24), transparent 64%),
		conic-gradient(var(--green) 0 82%, rgba(111, 180, 255, .14) 82% 100%);
}

.orbit-core::after {
	content: "";
	position: absolute;
	inset: 12px;
	border-radius: 50%;
	background: #030916;
}

.orbit-core span,
.orbit-core small {
	position: relative;
	z-index: 1;
}

.orbit-core span {
	font-size: 58px;
	font-weight: 950;
	line-height: .9;
}

.orbit-core small,
.orbit-node span,
.score-tile span,
.condition-row span,
.brief-score span,
.journal-density span,
.mini-ring span {
	color: var(--muted);
	font-size: 10px;
	font-weight: 950;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.orbit-node {
	width: 94px;
	aspect-ratio: 1;
}

.orbit-node strong { font-size: 23px; }
.node-a { transform: translate(-260px, -84px); }
.node-b { transform: translate(250px, -72px); }
.node-c { transform: translate(-210px, 132px); }
.node-d { transform: translate(238px, 128px); }

.score-tile {
	display: grid;
	gap: 9px;
	padding: 14px;
	border: 1px solid rgba(111, 180, 255, .14);
	border-radius: 12px;
	background: rgba(255, 255, 255, .035);
}

.score-tile strong {
	font-size: 30px;
	line-height: 1;
}

.score-tile.dominant strong { font-size: 46px; }

.score-tile i,
.condition-row i {
	display: block;
	height: 6px;
	overflow: hidden;
	border-radius: 999px;
	background: rgba(111, 180, 255, .11);
}

.score-tile i::before,
.condition-row i::before {
	content: "";
	display: block;
	width: var(--w, 62%);
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, var(--cyan), var(--green));
	box-shadow: 0 0 18px rgba(34, 231, 255, .28);
}

.signal-heatmap {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 7px;
	padding: 12px;
	border-radius: 12px;
	background: rgba(255, 255, 255, .035);
}

.signal-heatmap span {
	aspect-ratio: 1.35;
	border-radius: 7px;
	background: rgba(34, 231, 255, calc(.06 + var(--i) * .34));
	box-shadow: 0 0 calc(10px + var(--i) * 20px) rgba(34, 231, 255, calc(.04 + var(--i) * .18));
}

.phase20-area-chart {
	width: 100%;
	height: 332px;
	border: 1px solid rgba(111, 180, 255, .13);
	border-radius: 14px;
	background:
		linear-gradient(rgba(34, 231, 255, .05) 1px, transparent 1px),
		linear-gradient(90deg, rgba(34, 231, 255, .026) 1px, transparent 1px),
		rgba(1, 6, 16, .72);
	background-size: 60px 60px;
}

.condition-row {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 8px;
	align-items: center;
	padding: 13px;
	border: 1px solid rgba(111, 180, 255, .14);
	border-radius: 12px;
	background: rgba(255, 255, 255, .035);
}

.condition-row i { grid-column: 1 / -1; }
.condition-row.hot i::before { --w: 86%; background: linear-gradient(90deg, var(--orange), var(--red)); }
.condition-row.warm i::before { --w: 62%; background: linear-gradient(90deg, var(--orange), var(--cyan)); }

.board-bars {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 14px;
	align-items: end;
	min-height: 332px;
	padding: 22px 20px 18px;
	border: 1px solid rgba(111, 180, 255, .16);
	border-radius: 16px;
	background:
		linear-gradient(rgba(111, 180, 255, .07) 1px, transparent 1px),
		linear-gradient(90deg, rgba(111, 180, 255, .03) 1px, transparent 1px),
		linear-gradient(180deg, rgba(34, 231, 255, .07), rgba(255, 255, 255, .02));
	background-size: 100% 25%, 72px 100%, auto;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .035);
}

.board-bars div {
	position: relative;
	display: grid;
	align-items: end;
	height: 260px;
	min-height: 260px;
}

.board-bars div::before {
	content: "";
	display: block;
	height: var(--h);
	border-radius: 10px 10px 3px 3px;
	background: linear-gradient(180deg, rgba(34, 231, 255, .9), rgba(33, 242, 166, .48));
	box-shadow: 0 0 30px rgba(34, 231, 255, .2);
	animation: executiveBarGlow 4.8s ease-in-out infinite;
}

@keyframes executiveBarGlow {
	0%, 100% { filter: saturate(1); box-shadow: 0 0 24px rgba(34, 231, 255, .16); }
	50% { filter: saturate(1.16); box-shadow: 0 0 36px rgba(34, 231, 255, .26); }
}

.board-bars span {
	margin-top: 9px;
	color: var(--muted);
	font-size: 10px;
	font-weight: 900;
	text-align: center;
	text-transform: uppercase;
}

.brief-stack,
.scenario-rings {
	grid-template-rows: repeat(3, 1fr);
}

.scenario-rings {
	align-content: center;
	gap: 18px;
}

.scenario-rings .mini-ring {
	--ring-size: 120px;
	min-height: 188px;
}

.report-command-viz {
	display: grid;
	grid-template-rows: auto 1fr auto;
	gap: 14px;
}

.report-command-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
}

.report-command-head strong {
	display: block;
	margin-top: 5px;
	color: var(--ink);
	font-size: clamp(23px, 3vw, 36px);
	font-weight: 950;
	letter-spacing: -.01em;
	line-height: 1.05;
}

.report-readiness {
	display: grid;
	justify-items: end;
	gap: 4px;
	min-width: 134px;
	padding: 12px 14px;
	border: 1px solid rgba(33, 242, 166, .22);
	border-radius: 14px;
	background:
		radial-gradient(circle at 100% 0%, rgba(33, 242, 166, .18), transparent 58%),
		rgba(255, 255, 255, .04);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04);
}

.report-readiness span {
	color: var(--muted);
	font-size: 10px;
	font-weight: 950;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.report-readiness b {
	color: var(--green);
	font-size: 32px;
	line-height: 1;
}

.executive-report-bars {
	min-height: 300px;
}

.executive-report-bars div {
	height: 230px;
	min-height: 230px;
}

.brief-score,
.journal-density div {
	display: grid;
	place-items: center;
	align-content: center;
	gap: 7px;
	min-height: 126px;
	padding: 18px;
	text-align: center;
	border: 1px solid rgba(111, 180, 255, .16);
	border-radius: 14px;
	background:
		radial-gradient(circle at 50% 0%, rgba(34, 231, 255, .16), transparent 62%),
		linear-gradient(180deg, rgba(255, 255, 255, .05), rgba(255, 255, 255, .025));
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .035);
}

.brief-score strong,
.journal-density strong {
	font-size: 42px;
	line-height: 1;
}

.brief-score small,
.mini-ring small {
	position: relative;
	z-index: 1;
	color: rgba(220, 232, 255, .64);
	font-size: 11px;
	font-weight: 800;
	line-height: 1.25;
}

.mini-ring {
	--ring-size: 116px;
	position: relative;
	display: grid;
	justify-items: center;
	align-content: start;
	min-height: 178px;
	padding: 16px 10px 14px;
	text-align: center;
	border-radius: 14px;
	background:
		radial-gradient(circle at 50% 36%, rgba(34, 231, 255, .13), transparent 58%),
		linear-gradient(180deg, rgba(255, 255, 255, .052), rgba(255, 255, 255, .026));
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .035);
}

.mini-ring::before {
	content: "";
	position: absolute;
	top: 16px;
	left: 50%;
	width: var(--ring-size);
	aspect-ratio: 1;
	border-radius: 50%;
	transform: translateX(-50%);
	background: conic-gradient(var(--green) 0 var(--p), rgba(111, 180, 255, .12) var(--p) 100%);
	box-shadow: 0 0 34px rgba(33, 242, 166, .13), inset 0 0 18px rgba(255, 255, 255, .06);
}

.mini-ring.warning::before {
	background: conic-gradient(var(--orange) 0 var(--p), rgba(111, 180, 255, .12) var(--p) 100%);
	box-shadow: 0 0 34px rgba(255, 179, 45, .13), inset 0 0 18px rgba(255, 255, 255, .06);
}

.mini-ring.danger::before {
	background: conic-gradient(var(--red) 0 var(--p), rgba(111, 180, 255, .12) var(--p) 100%);
	box-shadow: 0 0 34px rgba(255, 84, 118, .13), inset 0 0 18px rgba(255, 255, 255, .06);
}

.mini-ring::after {
	content: "";
	position: absolute;
	top: 30px;
	left: 50%;
	width: calc(var(--ring-size) - 28px);
	aspect-ratio: 1;
	border-radius: 50%;
	transform: translateX(-50%);
	background:
		radial-gradient(circle at 50% 30%, rgba(34, 231, 255, .08), transparent 58%),
		#030916;
	box-shadow: inset 0 0 18px rgba(0, 0, 0, .48);
}

.mini-ring strong,
.mini-ring span {
	position: relative;
	z-index: 1;
}

.mini-ring strong {
	position: absolute;
	top: calc(16px + (var(--ring-size) / 2));
	left: 50%;
	transform: translate(-50%, -50%);
	font-size: 32px;
	line-height: 1;
}

.mini-ring span {
	margin-top: calc(var(--ring-size) + 14px);
	color: var(--soft);
	font-size: 11px;
}

.memory-map {
	position: relative;
	height: 332px;
	overflow: hidden;
	border: 1px solid rgba(111, 180, 255, .13);
	border-radius: 14px;
	background:
		linear-gradient(rgba(34, 231, 255, .05) 1px, transparent 1px),
		linear-gradient(90deg, rgba(34, 231, 255, .026) 1px, transparent 1px),
		rgba(1, 6, 16, .72);
	background-size: 58px 58px;
}

.memory-spine {
	position: absolute;
	top: 56%;
	right: 8%;
	left: 8%;
	height: 4px;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--violet), var(--cyan), var(--green));
	box-shadow: 0 0 28px rgba(34, 231, 255, .18);
	transform: rotate(-8deg);
}

.memory-map span {
	position: absolute;
	top: var(--y);
	left: var(--x);
	display: grid;
	place-items: center;
	width: 74px;
	aspect-ratio: 1;
	border: 1px solid rgba(34, 231, 255, .24);
	border-radius: 50%;
	background: rgba(4, 13, 30, .94);
	color: var(--soft);
	font-size: 11px;
	font-weight: 950;
	box-shadow: 0 0 30px rgba(34, 231, 255, .12);
}

.journal-density {
	grid-template-columns: repeat(2, 1fr);
}

.visual-intelligence-board {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr);
	gap: 14px;
	margin: 0 0 18px;
}

.viz-panel,
.timeline-command-panel {
	position: relative;
	overflow: hidden;
	padding: 16px;
	border: 1px solid rgba(111, 180, 255, .16);
	border-radius: 16px;
	background:
		linear-gradient(rgba(34, 231, 255, .038) 1px, transparent 1px),
		linear-gradient(90deg, rgba(34, 231, 255, .024) 1px, transparent 1px),
		rgba(2, 8, 20, .84);
	background-size: 42px 42px;
	box-shadow: 0 20px 70px rgba(0, 0, 0, .24), inset 0 1px 0 rgba(255, 255, 255, .035);
}

.sankey-panel {
	grid-row: span 2;
}

.signal-pipeline,
.forecast-cone {
	width: 100%;
	height: 340px;
	border: 1px solid rgba(111, 180, 255, .12);
	border-radius: 14px;
	background: rgba(0, 4, 12, .42);
}

.flow-path {
	fill: none;
	stroke-width: 18;
	stroke-linecap: round;
	opacity: .76;
	stroke-dasharray: 18 18;
	animation: flowDash 1.8s linear infinite;
}

.flow-path.thick { stroke-width: 30; }
.flow-path.thin { stroke-width: 12; opacity: .5; }

@keyframes flowDash {
	to { stroke-dashoffset: -72; }
}

.pipeline-node rect {
	width: 158px;
	height: 66px;
	rx: 12px;
	fill: rgba(3, 9, 22, .96);
	stroke: rgba(34, 231, 255, .28);
}

.pipeline-node.small rect {
	width: 134px;
}

.pipeline-node text {
	fill: #87f5ff;
	font-size: 10px;
	font-weight: 950;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.pipeline-value {
	font-size: 23px;
	fill: var(--ink);
	font-weight: 950;
}

.opportunity-matrix {
	position: relative;
	height: 300px;
	border: 1px solid rgba(111, 180, 255, .12);
	border-radius: 14px;
	background:
		linear-gradient(rgba(34, 231, 255, .06) 1px, transparent 1px),
		linear-gradient(90deg, rgba(34, 231, 255, .04) 1px, transparent 1px),
		radial-gradient(circle at 26% 24%, rgba(33, 242, 166, .12), transparent 32%),
		radial-gradient(circle at 78% 72%, rgba(255, 179, 45, .11), transparent 28%),
		rgba(0, 4, 12, .46);
	background-size: 50% 50%, 50% 50%, auto, auto, auto;
}

.opportunity-matrix::before,
.opportunity-matrix::after {
	content: "";
	position: absolute;
	background: rgba(111, 180, 255, .18);
}

.opportunity-matrix::before {
	left: 12%;
	right: 10%;
	bottom: 18%;
	height: 1px;
}

.opportunity-matrix::after {
	top: 10%;
	bottom: 16%;
	left: 14%;
	width: 1px;
}

.axis {
	position: absolute;
	color: var(--muted);
	font-size: 10px;
	font-weight: 950;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.axis.x { right: 12%; bottom: 8%; }
.axis.y { top: 10%; left: 4%; writing-mode: vertical-rl; transform: rotate(180deg); }

.bubble {
	position: absolute;
	display: grid;
	place-items: center;
	border: 1px solid rgba(34, 231, 255, .32);
	border-radius: 50%;
	background: rgba(34, 231, 255, .16);
	color: var(--ink);
	font-size: 11px;
	font-weight: 950;
	box-shadow: 0 0 28px rgba(34, 231, 255, .14);
	cursor: pointer;
	animation: bubbleFloat 5s ease-in-out infinite;
}

.b1 { left: 30%; top: 22%; width: 92px; aspect-ratio: 1; background: rgba(33, 242, 166, .2); }
.b2 { left: 58%; top: 34%; width: 78px; aspect-ratio: 1; animation-delay: -.8s; }
.b3 { left: 44%; top: 58%; width: 64px; aspect-ratio: 1; animation-delay: -1.4s; }
.b4 { left: 70%; top: 18%; width: 70px; aspect-ratio: 1; background: rgba(155, 114, 255, .2); animation-delay: -2.1s; }

@keyframes bubbleFloat {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-8px); }
}

.decision-network {
	position: relative;
	height: 300px;
	border: 1px solid rgba(111, 180, 255, .12);
	border-radius: 14px;
	background: radial-gradient(circle at center, rgba(34, 231, 255, .12), transparent 55%), rgba(0, 4, 12, .46);
}

.net-node {
	position: absolute;
	display: grid;
	place-items: center;
	width: 86px;
	aspect-ratio: 1;
	border: 1px solid rgba(34, 231, 255, .28);
	border-radius: 50%;
	background: rgba(3, 9, 22, .96);
	color: var(--ink);
	font-size: 10px;
	font-weight: 950;
	text-transform: uppercase;
	box-shadow: 0 0 24px rgba(34, 231, 255, .12);
}

.net-node.center { left: 50%; top: 50%; width: 108px; transform: translate(-50%, -50%); color: var(--cyan); }
.n1 { left: 10%; top: 18%; }
.n2 { right: 9%; top: 18%; }
.n3 { left: 12%; bottom: 12%; }
.n4 { right: 12%; bottom: 13%; }
.n5 { left: 50%; top: 5%; transform: translateX(-50%); color: var(--orange); }

.edge {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 34%;
	height: 2px;
	background: linear-gradient(90deg, rgba(34, 231, 255, .64), rgba(34, 231, 255, 0));
	transform-origin: left center;
	animation: edgePulse 3.6s ease-in-out infinite;
}

.e1 { transform: rotate(218deg); }
.e2 { transform: rotate(322deg); }
.e3 { transform: rotate(142deg); }
.e4 { transform: rotate(38deg); }
.e5 { transform: rotate(270deg); width: 23%; }

@keyframes edgePulse {
	0%, 100% { opacity: .38; }
	50% { opacity: .9; }
}

.recommendation-causal-map {
	display: grid;
	grid-template-columns: 1fr 40px 1fr 40px 1fr 40px 1fr;
	gap: 10px;
	align-items: center;
	margin-bottom: 16px;
	padding: 14px;
	border: 1px solid rgba(111, 180, 255, .14);
	border-radius: 14px;
	background: rgba(1, 6, 16, .58);
}

.cause-node {
	display: grid;
	place-items: center;
	min-height: 72px;
	border: 1px solid rgba(111, 180, 255, .16);
	border-radius: 12px;
	background: rgba(255, 255, 255, .035);
	color: var(--soft);
	font-size: 12px;
	font-weight: 950;
	text-align: center;
	text-transform: uppercase;
}

.cause-node.active {
	border-color: rgba(33, 242, 166, .34);
	background: rgba(33, 242, 166, .12);
	color: var(--green);
	box-shadow: 0 0 26px rgba(33, 242, 166, .1);
}

.cause-node.outcome {
	border-color: rgba(34, 231, 255, .34);
	color: var(--cyan);
}

.cause-arrow {
	height: 4px;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--cyan), transparent);
	animation: flowDash 1.8s linear infinite;
}

.memory-rail {
	position: relative;
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 10px;
	margin: 0 0 14px;
}

.memory-rail::before {
	content: "";
	position: absolute;
	left: 5%;
	right: 5%;
	top: 50%;
	height: 3px;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--violet), var(--cyan), var(--green));
	box-shadow: 0 0 24px rgba(34, 231, 255, .15);
}

.memory-rail.wide {
	grid-template-columns: repeat(7, minmax(0, 1fr));
	margin: 4px 0 0;
}

.memory-rail button {
	position: relative;
	z-index: 1;
	display: grid;
	gap: 5px;
	min-height: 118px;
	padding: 12px;
	border: 1px solid rgba(111, 180, 255, .18);
	border-radius: 14px;
	background: rgba(3, 9, 22, .96);
	color: var(--ink);
	text-align: left;
	box-shadow: 0 16px 44px rgba(0, 0, 0, .18);
}

.memory-rail span,
.memory-rail small {
	color: var(--muted);
	font-size: 10px;
	font-weight: 950;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.memory-rail strong {
	align-self: center;
	font-size: 16px;
}

.memory-rail button.complete {
	border-color: rgba(33, 242, 166, .32);
	background: rgba(33, 242, 166, .1);
}

.memory-rail button.active {
	border-color: rgba(255, 179, 45, .38);
	background: rgba(255, 179, 45, .11);
	box-shadow: 0 0 28px rgba(255, 179, 45, .08);
}

.executive-visual-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr);
	gap: 14px;
	margin: 0 0 18px;
}

.executive-viz-card {
	position: relative;
	overflow: hidden;
	min-height: 260px;
	padding: 20px;
	border: 1px solid rgba(111, 180, 255, .18);
	border-radius: 16px;
	background:
		linear-gradient(rgba(34, 231, 255, .032) 1px, transparent 1px),
		linear-gradient(90deg, rgba(34, 231, 255, .022) 1px, transparent 1px),
		radial-gradient(circle at 22% 18%, rgba(34, 231, 255, .12), transparent 34%),
		rgba(2, 8, 20, .86);
	background-size: 38px 38px, 38px 38px, auto, auto;
	box-shadow: 0 22px 72px rgba(0, 0, 0, .24), inset 0 1px 0 rgba(255, 255, 255, .04);
}

.executive-viz-card.wide {
	min-height: 350px;
}

.condition-map {
	position: relative;
	height: 326px;
	margin-top: 18px;
	overflow: hidden;
	border: 1px solid rgba(111, 180, 255, .16);
	border-radius: 16px;
	background:
		radial-gradient(circle at 39% 13%, rgba(255, 84, 118, .2), transparent 17%),
		radial-gradient(circle at 49% 82%, rgba(155, 114, 255, .18), transparent 20%),
		radial-gradient(circle at 72% 24%, rgba(255, 179, 45, .18), transparent 18%),
		linear-gradient(rgba(34, 231, 255, .045) 1px, transparent 1px),
		linear-gradient(90deg, rgba(34, 231, 255, .028) 1px, transparent 1px),
		linear-gradient(135deg, rgba(255, 255, 255, .04), rgba(0, 4, 12, .4));
	background-size: auto, auto, auto, 42px 42px, 42px 42px, auto;
	box-shadow: inset 0 0 70px rgba(34, 231, 255, .07), inset 0 1px 0 rgba(255, 255, 255, .04);
}

.condition-map::before {
	content: "";
	position: absolute;
	inset: 24px 34px;
	border: 1px solid rgba(111, 180, 255, .16);
	border-radius: 48% 52% 46% 54%;
	box-shadow: inset 0 0 54px rgba(34, 231, 255, .11), 0 0 44px rgba(34, 231, 255, .06);
}

.condition-map::after {
	content: "";
	position: absolute;
	inset: 30px;
	opacity: .72;
	background:
		linear-gradient(24deg, transparent 9%, rgba(34, 231, 255, .52) 9.3%, rgba(34, 231, 255, .52) 9.8%, transparent 10.1%),
		linear-gradient(156deg, transparent 17%, rgba(255, 179, 45, .42) 17.3%, rgba(255, 179, 45, .42) 17.8%, transparent 18.1%),
		linear-gradient(112deg, transparent 44%, rgba(155, 114, 255, .44) 44.2%, rgba(155, 114, 255, .44) 44.8%, transparent 45.1%),
		linear-gradient(62deg, transparent 62%, rgba(33, 242, 166, .42) 62.2%, rgba(33, 242, 166, .42) 62.8%, transparent 63.1%);
	filter: drop-shadow(0 0 8px rgba(34, 231, 255, .34));
	pointer-events: none;
}

.map-cell {
	position: absolute;
	left: var(--x);
	top: var(--y);
	z-index: 1;
	display: grid;
	gap: 5px;
	width: calc(118px * var(--s));
	min-height: calc(68px * var(--s));
	padding: calc(11px * var(--s));
	border: 1px solid rgba(111, 180, 255, .3);
	border-radius: 14px;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .035)),
		rgba(3, 9, 22, .92);
	box-shadow: 0 0 36px rgba(34, 231, 255, .15), inset 0 1px 0 rgba(255, 255, 255, .05);
	animation: mapPulse 4.4s ease-in-out infinite;
}

.map-cell strong {
	color: var(--ink);
	font-size: calc(12px * var(--s));
	line-height: 1.12;
}

.map-cell span {
	color: var(--muted);
	font-size: calc(10px * var(--s));
	font-weight: 950;
	text-transform: uppercase;
}

.map-cell.urgent { border-color: rgba(255, 84, 118, .46); box-shadow: 0 0 42px rgba(255, 84, 118, .18), inset 0 1px 0 rgba(255, 255, 255, .05); }
.map-cell.warm { border-color: rgba(255, 179, 45, .44); box-shadow: 0 0 40px rgba(255, 179, 45, .16), inset 0 1px 0 rgba(255, 255, 255, .05); }
.map-cell.calm { border-color: rgba(33, 242, 166, .4); box-shadow: 0 0 38px rgba(33, 242, 166, .11), inset 0 1px 0 rgba(255, 255, 255, .05); }
.map-cell.signal { border-color: rgba(155, 114, 255, .44); box-shadow: 0 0 40px rgba(155, 114, 255, .15), inset 0 1px 0 rgba(255, 255, 255, .05); }

@keyframes mapPulse {
	0%, 100% { transform: translateY(0) scale(1); }
	50% { transform: translateY(-5px) scale(1.02); }
}

.status-ring-stack {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
	align-items: center;
	min-height: 232px;
}

.mini-ring.warning {
	background:
		radial-gradient(circle at 50% 36%, rgba(255, 179, 45, .13), transparent 58%),
		linear-gradient(180deg, rgba(255, 255, 255, .052), rgba(255, 255, 255, .026));
}

.signal-ribbon {
	position: relative;
	display: grid;
	grid-template-columns: auto 1fr auto 1fr auto 1fr auto;
	gap: 10px;
	align-items: center;
	margin-top: 48px;
	padding: 18px;
	border: 1px solid rgba(111, 180, 255, .12);
	border-radius: 16px;
	background: rgba(0, 4, 12, .46);
}

.signal-ribbon span {
	display: grid;
	place-items: center;
	min-height: 68px;
	padding: 10px 12px;
	border: 1px solid rgba(111, 180, 255, .16);
	border-radius: 999px;
	background: rgba(255, 255, 255, .035);
	color: var(--soft);
	font-size: 12px;
	font-weight: 950;
	text-align: center;
}

.signal-ribbon .source {
	color: var(--green);
}

.signal-ribbon .decision {
	color: var(--cyan);
	border-color: rgba(34, 231, 255, .32);
}

.signal-ribbon i {
	height: 4px;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--cyan), rgba(33, 242, 166, .24), transparent);
	animation: flowDash 1.8s linear infinite;
}

.waterfall-chart {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 14px;
	align-items: end;
	height: 250px;
	margin-top: 18px;
	padding: 18px 12px 0;
	border: 1px solid rgba(111, 180, 255, .12);
	border-radius: 16px;
	background: linear-gradient(rgba(111, 180, 255, .08) 1px, transparent 1px), rgba(0, 4, 12, .44);
	background-size: 100% 25%;
}

.waterfall-bar {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: var(--h);
	padding: 12px 10px;
	border: 1px solid rgba(111, 180, 255, .16);
	border-radius: 12px 12px 0 0;
	background: linear-gradient(180deg, rgba(34, 231, 255, .26), rgba(34, 231, 255, .06));
	box-shadow: 0 0 30px rgba(34, 231, 255, .08);
}

.waterfall-bar.gain { background: linear-gradient(180deg, rgba(33, 242, 166, .32), rgba(33, 242, 166, .06)); }
.waterfall-bar.risk { background: linear-gradient(180deg, rgba(255, 84, 118, .3), rgba(255, 84, 118, .06)); }
.waterfall-bar.total { background: linear-gradient(180deg, rgba(255, 179, 45, .32), rgba(255, 179, 45, .06)); }

.waterfall-bar span {
	color: var(--muted);
	font-size: 10px;
	font-weight: 950;
	text-transform: uppercase;
}

.waterfall-bar strong {
	color: var(--ink);
	font-size: clamp(16px, 2vw, 24px);
}

.briefing-matrix {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 8px;
	margin-top: 18px;
}

.briefing-matrix span {
	display: grid;
	place-items: center;
	min-height: 62px;
	padding: 10px;
	border: 1px solid rgba(111, 180, 255, .14);
	border-radius: 12px;
	background: rgba(255, 255, 255, .035);
	color: var(--soft);
	font-size: 11px;
	font-weight: 950;
	text-align: center;
}

.briefing-matrix .matrix-item {
	color: var(--orange);
	border-color: rgba(255, 179, 45, .32);
	background: rgba(255, 179, 45, .1);
}

.briefing-matrix .matrix-item.urgent {
	color: var(--rose);
	border-color: rgba(255, 84, 118, .34);
	background: rgba(255, 84, 118, .1);
}

.briefing-matrix .matrix-item.calm {
	color: var(--green);
	border-color: rgba(33, 242, 166, .3);
	background: rgba(33, 242, 166, .09);
}

.confidence-band {
	width: 100%;
	height: 250px;
	margin-top: 14px;
	border: 1px solid rgba(111, 180, 255, .12);
	border-radius: 16px;
	background: rgba(0, 4, 12, .46);
}

.decision-tree {
	display: grid;
	gap: 14px;
	margin-top: 26px;
}

.tree-node,
.tree-branches span,
.tree-results b {
	display: grid;
	place-items: center;
	min-height: 58px;
	padding: 10px;
	border: 1px solid rgba(111, 180, 255, .16);
	border-radius: 14px;
	background: rgba(255, 255, 255, .035);
	color: var(--ink);
	text-align: center;
}

.tree-node.active {
	border-color: rgba(33, 242, 166, .32);
	background: rgba(33, 242, 166, .1);
	color: var(--green);
	font-weight: 950;
}

.tree-branches,
.tree-results {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 8px;
}

.tree-branches span {
	color: var(--cyan);
	font-size: 24px;
	font-weight: 950;
}

.tree-results b {
	color: var(--soft);
	font-size: 11px;
}

.memory-decision-lanes {
	display: grid;
	gap: 10px;
	margin: 12px 0 16px;
}

.memory-lane {
	position: relative;
	overflow: hidden;
	display: grid;
	grid-template-columns: 130px 1fr minmax(180px, .45fr);
	gap: 12px;
	align-items: center;
	min-height: 58px;
	padding: 12px 14px;
	border: 1px solid rgba(111, 180, 255, .14);
	border-radius: 14px;
	background: rgba(0, 4, 12, .46);
}

.memory-lane span {
	color: var(--muted);
	font-size: 10px;
	font-weight: 950;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.memory-lane i {
	position: relative;
	height: 10px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .06);
}

.memory-lane i::before {
	content: "";
	position: absolute;
	inset: 0 auto 0 0;
	width: var(--w);
	border-radius: inherit;
	background: linear-gradient(90deg, var(--violet), var(--cyan), var(--green));
	box-shadow: 0 0 24px rgba(34, 231, 255, .18);
	animation: ribbonMove 3.8s ease-in-out infinite;
}

@keyframes ribbonMove {
	0%, 100% { filter: brightness(1); }
	50% { filter: brightness(1.35); }
}

.memory-lane strong {
	color: var(--soft);
	font-size: 13px;
}

.memory-lane.complete {
	border-color: rgba(33, 242, 166, .24);
}

.memory-lane.active {
	border-color: rgba(255, 179, 45, .3);
	background: rgba(255, 179, 45, .08);
}

.compact-evidence .memory-row {
	grid-template-columns: 82px 1fr auto;
}

.route-dashboard-html .page-head {
	margin-bottom: 18px;
}

.executive-status {
	margin-top: 0;
}

.executive-checklist {
	border-color: rgba(33, 242, 166, .24);
	background:
		linear-gradient(135deg, rgba(33, 242, 166, .06), transparent 36%),
		rgba(2, 8, 19, .94);
}

.checklist-list {
	display: grid;
	gap: 10px;
}

.checklist-item {
	display: grid;
	grid-template-columns: 46px minmax(0, 1fr) minmax(250px, .62fr) auto;
	gap: 14px;
	align-items: center;
	padding: 14px;
	border: 1px solid rgba(111, 180, 255, .14);
	border-radius: 14px;
	background: rgba(3, 9, 22, .88);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .025);
}

.checklist-item.priority-one {
	border-color: rgba(33, 242, 166, .34);
	background:
		linear-gradient(90deg, rgba(33, 242, 166, .11), transparent 38%),
		rgba(3, 9, 22, .94);
}

.checklist-item.muted {
	opacity: .82;
}

.check-index {
	display: grid;
	place-items: center;
	width: 34px;
	aspect-ratio: 1;
	border: 1px solid rgba(34, 231, 255, .3);
	border-radius: 999px;
	background: rgba(34, 231, 255, .1);
	color: var(--cyan);
	font-weight: 950;
}

.checklist-item h3 {
	margin: 0 0 4px;
	font-size: 18px;
	line-height: 1.12;
}

.checklist-item p {
	margin: 0;
	color: var(--muted);
	line-height: 1.42;
}

.checklist-item .action-metrics {
	margin: 0;
}

.checklist-item > .ghost-button {
	justify-self: end;
}

.opportunity-simulation {
	margin-top: 18px;
}

.route-dashboard-html .executive-memory .memory-rail {
	gap: 12px;
	align-items: start;
	margin-top: 4px;
}

.route-dashboard-html .executive-memory .memory-rail::before {
	top: 24px;
	left: 10%;
	right: 10%;
	height: 2px;
	background: linear-gradient(90deg, rgba(155, 114, 255, .7), rgba(34, 231, 255, .78), rgba(33, 242, 166, .72));
}

.route-dashboard-html .executive-memory .memory-rail button {
	min-height: 112px;
	padding-top: 42px;
	text-align: center;
}

.route-dashboard-html .executive-memory .memory-rail button::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 18px;
	width: 12px;
	aspect-ratio: 1;
	border: 2px solid rgba(34, 231, 255, .72);
	border-radius: 999px;
	background: rgba(3, 9, 22, .98);
	box-shadow: 0 0 18px rgba(34, 231, 255, .18);
	transform: translateX(-50%);
}

.route-dashboard-html .executive-memory .memory-rail button.complete::before {
	border-color: rgba(33, 242, 166, .82);
	box-shadow: 0 0 18px rgba(33, 242, 166, .22);
}

.route-dashboard-html .executive-memory .memory-rail button.active::before {
	border-color: rgba(255, 179, 45, .9);
	box-shadow: 0 0 18px rgba(255, 179, 45, .22);
}

.ask-chat {
	display: grid;
	gap: 14px;
}

.chat-message {
	display: grid;
	gap: 6px;
	padding: 14px;
	border: 1px solid rgba(111, 180, 255, .14);
	border-radius: 14px;
	background: rgba(3, 9, 22, .78);
}

.chat-message span {
	color: #87f5ff;
	font-size: 10px;
	font-weight: 950;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.chat-message p {
	margin: 0;
	color: var(--soft);
	line-height: 1.5;
}

.chat-message.user {
	margin-left: 24px;
	border-color: rgba(34, 231, 255, .22);
	background: rgba(34, 231, 255, .075);
}

.chat-message.apex {
	margin-right: 24px;
	border-color: rgba(33, 242, 166, .2);
	background: rgba(33, 242, 166, .065);
}

.ask-suggestions {
	display: grid;
	grid-template-columns: 1fr;
	gap: 8px;
}

.ask-suggestions button,
.ask-input button {
	border: 1px solid rgba(34, 231, 255, .22);
	border-radius: 10px;
	background: rgba(34, 231, 255, .07);
	color: var(--ink);
	font-weight: 850;
	text-align: left;
}

.ask-suggestions button {
	padding: 10px 12px;
}

.ask-input {
	position: sticky;
	bottom: 0;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 8px;
	padding-top: 10px;
	background: linear-gradient(180deg, transparent, rgba(3, 9, 22, .94) 28%);
}

.ask-input input {
	min-width: 0;
	padding: 12px;
	border: 1px solid rgba(111, 180, 255, .18);
	border-radius: 10px;
	background: rgba(0, 4, 12, .72);
	color: var(--ink);
}

.ask-input button {
	padding: 0 14px;
}

/* Phase 21 Command and Enterprise workspace concepts */
.workspace-nav {
	display: grid;
	gap: 6px;
}

.command-hero,
.enterprise-hero,
.command-panel,
.enterprise-panel {
	position: relative;
	overflow: hidden;
	border: 1px solid var(--line);
	border-radius: 16px;
	background:
		linear-gradient(135deg, rgba(34, 231, 255, .055), transparent 38%),
		rgba(2, 8, 19, .94);
	box-shadow: 0 24px 80px rgba(0, 0, 0, .2);
}

.command-hero,
.enterprise-hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(360px, .9fr);
	gap: 18px;
	align-items: stretch;
	margin-bottom: 18px;
	padding: 24px;
}

.command-hero h1,
.enterprise-hero h1 {
	font-size: clamp(46px, 6vw, 82px);
	line-height: .88;
}

.command-hero p,
.enterprise-hero p {
	max-width: 680px;
	color: var(--muted);
	font-size: 16px;
	line-height: 1.5;
}

.command-hero-grid,
.enterprise-score {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

.command-stat,
.enterprise-score div,
.enterprise-kpis button,
.production-grid button,
.execute-grid button,
.agent-grid button,
.location-list button,
.compliance-grid button,
.report-actions button,
.enterprise-alerts button {
	display: grid;
	gap: 8px;
	min-height: 120px;
	padding: 14px;
	border: 1px solid rgba(111, 180, 255, .15);
	border-radius: 14px;
	background: rgba(3, 9, 22, .86);
	color: var(--ink);
	text-align: left;
}

.command-stat.primary,
.enterprise-score .primary {
	border-color: rgba(33, 242, 166, .34);
	background: rgba(33, 242, 166, .1);
}

.command-stat.warning {
	border-color: rgba(255, 179, 45, .36);
	background: rgba(255, 179, 45, .1);
}

.command-stat span,
.enterprise-score span,
.enterprise-kpis span,
.production-grid span,
.location-list span,
.compliance-grid span,
.enterprise-forecast span {
	color: #87f5ff;
	font-size: 10px;
	font-weight: 950;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.command-stat strong,
.enterprise-score strong {
	font-size: 44px;
	line-height: .9;
}

.command-grid,
.enterprise-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(360px, .8fr);
	gap: 18px;
	margin-top: 18px;
}

.enterprise-grid .wide {
	grid-column: span 1;
}

.command-panel,
.enterprise-panel {
	padding: 18px;
}

.command-table {
	display: grid;
	gap: 1px;
	margin-top: 12px;
	background: rgba(111, 180, 255, .1);
	border-radius: 14px;
	overflow: hidden;
}

.command-row {
	display: grid;
	grid-template-columns: minmax(180px, 1.2fr) 120px minmax(120px, .7fr) 80px 110px 90px 110px;
	gap: 12px;
	align-items: center;
	padding: 14px;
	background: rgba(3, 9, 22, .92);
}

.command-row.header {
	color: #87f5ff;
	font-size: 10px;
	font-weight: 950;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.command-row i,
.adoption-bars i {
	position: relative;
	height: 10px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .06);
}

.command-row i::before,
.adoption-bars i::before {
	content: "";
	position: absolute;
	inset: 0 auto 0 0;
	width: var(--w);
	border-radius: inherit;
	background: linear-gradient(90deg, var(--cyan), var(--green));
}

.pipeline-board,
.health-stack,
.production-grid,
.agent-grid,
.performance-grid,
.enterprise-kpis,
.enterprise-forecast {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
}

.pipeline-board div,
.health-stack div,
.performance-grid div,
.enterprise-forecast div {
	display: grid;
	gap: 8px;
	min-height: 96px;
	padding: 14px;
	border: 1px solid rgba(111, 180, 255, .14);
	border-radius: 14px;
	background: rgba(3, 9, 22, .78);
}

.pipeline-board strong,
.health-stack strong,
.production-grid strong,
.performance-grid strong,
.enterprise-kpis strong,
.enterprise-forecast strong {
	font-size: 30px;
	line-height: 1;
}

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

.execute-grid button,
.agent-grid button {
	min-height: 118px;
}

.approval-list,
.activity-feed,
.team-table,
.enterprise-alerts {
	display: grid;
	gap: 10px;
}

.approval-list > div,
.activity-feed > div,
.team-table > div {
	display: grid;
	gap: 8px;
	padding: 14px;
	border: 1px solid rgba(111, 180, 255, .14);
	border-radius: 14px;
	background: rgba(3, 9, 22, .78);
}

.approval-list div div {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}

.approval-list button {
	padding: 8px 10px;
	border: 1px solid rgba(34, 231, 255, .22);
	border-radius: 9px;
	background: rgba(34, 231, 255, .07);
	color: var(--ink);
	font-weight: 850;
}

.live-notifications {
	position: fixed;
	right: 18px;
	bottom: 18px;
	z-index: 8;
	display: grid;
	gap: 8px;
	pointer-events: none;
}

.live-notifications div {
	padding: 10px 12px;
	border: 1px solid rgba(33, 242, 166, .26);
	border-radius: 12px;
	background: rgba(3, 9, 22, .92);
	color: var(--green);
	font-size: 11px;
	font-weight: 950;
	box-shadow: 0 18px 48px rgba(0, 0, 0, .28);
	animation: notificationFloat 4.8s ease-in-out infinite;
}

.live-notifications div:nth-child(2) { animation-delay: -.8s; }
.live-notifications div:nth-child(3) { animation-delay: -1.6s; }
.live-notifications div:nth-child(4) { animation-delay: -2.4s; }

@keyframes notificationFloat {
	0%, 100% { transform: translateY(0); opacity: .72; }
	50% { transform: translateY(-5px); opacity: 1; }
}

.regional-map {
	position: relative;
	min-height: 360px;
	border: 1px solid rgba(111, 180, 255, .12);
	border-radius: 16px;
	background:
		radial-gradient(circle at 26% 48%, rgba(33, 242, 166, .18), transparent 22%),
		radial-gradient(circle at 58% 38%, rgba(255, 179, 45, .15), transparent 22%),
		radial-gradient(circle at 78% 28%, rgba(34, 231, 255, .16), transparent 24%),
		rgba(0, 4, 12, .44);
}

.region-node {
	position: absolute;
	left: var(--x);
	top: var(--y);
	display: grid;
	place-items: center;
	width: 112px;
	aspect-ratio: 1;
	border: 1px solid rgba(34, 231, 255, .28);
	border-radius: 50%;
	background: rgba(3, 9, 22, .9);
	color: var(--ink);
	transform: translate(-50%, -50%);
}

.region-node.strong { border-color: rgba(33, 242, 166, .38); }
.region-node.warning { border-color: rgba(255, 179, 45, .42); }

.org-tree {
	display: grid;
	gap: 8px;
	justify-items: center;
}

.org-tree div {
	width: min(100%, 260px);
	padding: 12px;
	border: 1px solid rgba(111, 180, 255, .16);
	border-radius: 12px;
	background: rgba(3, 9, 22, .78);
	text-align: center;
	font-weight: 900;
}

.org-tree span {
	width: 2px;
	height: 18px;
	background: linear-gradient(var(--cyan), var(--green));
}

.enterprise-kpis {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.location-list,
.adoption-bars,
.compliance-grid,
.report-actions {
	display: grid;
	gap: 10px;
}

.adoption-bars div {
	display: grid;
	grid-template-columns: 100px 1fr 70px;
	gap: 10px;
	align-items: center;
	padding: 12px;
	border: 1px solid rgba(111, 180, 255, .14);
	border-radius: 12px;
	background: rgba(3, 9, 22, .78);
}

.compliance-grid {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

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

/* Apex Concierge premium client workspace */
.concierge-hero,
.concierge-panel {
	position: relative;
	overflow: hidden;
	border: 1px solid var(--line);
	border-radius: 16px;
	background:
		linear-gradient(135deg, rgba(33, 242, 166, .06), transparent 34%),
		radial-gradient(circle at 88% 12%, rgba(255, 179, 45, .08), transparent 28%),
		rgba(2, 8, 19, .94);
	box-shadow: 0 24px 80px rgba(0, 0, 0, .2);
}

.concierge-hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(340px, .65fr);
	gap: 18px;
	align-items: stretch;
	margin-bottom: 18px;
	padding: 24px;
}

.concierge-hero h1 {
	font-size: clamp(42px, 5.8vw, 78px);
	line-height: .9;
}

.concierge-hero p {
	max-width: 700px;
	color: var(--muted);
	font-size: 16px;
	line-height: 1.5;
}

.concierge-plan-card,
.concierge-status-grid button,
.roi-grid button,
.team-roster button,
.report-actions button,
.meeting-options button,
.pricing-grid button,
.production-grid button {
	display: grid;
	gap: 8px;
	padding: 16px;
	border: 1px solid rgba(111, 180, 255, .15);
	border-radius: 14px;
	background: rgba(3, 9, 22, .86);
	color: var(--ink);
	text-align: left;
}

.concierge-plan-card {
	border-color: rgba(33, 242, 166, .3);
	background: rgba(33, 242, 166, .09);
}

.concierge-plan-card strong {
	font-size: 34px;
	line-height: 1;
}

.concierge-plan-card div,
.meeting-options,
.pricing-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

.concierge-plan-card button {
	border: 1px solid rgba(34, 231, 255, .22);
	border-radius: 10px;
	background: rgba(34, 231, 255, .08);
	color: var(--ink);
	font-weight: 850;
	text-align: center;
}

.concierge-plan-card button,
.meeting-options button,
.pricing-grid button {
	min-height: 94px;
}

.concierge-panel {
	margin-top: 18px;
	padding: 18px;
}

.concierge-status-grid,
.roi-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
}

.concierge-status-grid span,
.roi-grid span,
.pricing-grid span,
.concierge-plan-card span,
.concierge-timeline span,
.roadmap-lanes span {
	color: #87f5ff;
	font-size: 10px;
	font-weight: 950;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.concierge-status-grid strong,
.roi-grid strong,
.pricing-grid strong {
	font-size: 30px;
	line-height: 1;
}

.concierge-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(360px, .78fr);
	gap: 18px;
}

.concierge-table {
	display: grid;
	gap: 1px;
	margin-top: 12px;
	background: rgba(111, 180, 255, .1);
	border-radius: 14px;
	overflow: hidden;
}

.concierge-row {
	display: grid;
	grid-template-columns: minmax(190px, 1fr) 130px 140px 90px 120px 110px;
	gap: 12px;
	align-items: center;
	padding: 14px;
	background: rgba(3, 9, 22, .92);
}

.concierge-row.header {
	color: #87f5ff;
	font-size: 10px;
	font-weight: 950;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.concierge-timeline,
.team-roster,
.roadmap-lanes,
.message-list {
	display: grid;
	gap: 10px;
}

.concierge-timeline button,
.roadmap-lanes div,
.message-list div {
	display: grid;
	gap: 7px;
	padding: 14px;
	border: 1px solid rgba(111, 180, 255, .14);
	border-radius: 14px;
	background: rgba(3, 9, 22, .78);
	color: var(--ink);
	text-align: left;
}

.team-roster {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.message-list p {
	margin: 0;
	color: var(--muted);
	line-height: 1.45;
}

.message-list span {
	color: var(--muted);
	font-size: 11px;
	font-weight: 800;
}

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

.pricing-grid .recommended {
	border-color: rgba(33, 242, 166, .34);
	background: rgba(33, 242, 166, .1);
	box-shadow: 0 0 34px rgba(33, 242, 166, .08);
}

.pricing-grid em {
	color: var(--muted);
	font-size: 11px;
	font-style: normal;
	line-height: 1.35;
}

/* Phase 22 subscription and Concierge enrollment */
.subscription-hero,
.enrollment-hero,
.managed-comparison,
.pricing-note,
.enrollment-flow {
	position: relative;
	overflow: hidden;
	border: 1px solid var(--line);
	border-radius: 16px;
	background:
		linear-gradient(135deg, rgba(34, 231, 255, .06), transparent 34%),
		rgba(2, 8, 19, .94);
	box-shadow: 0 24px 80px rgba(0, 0, 0, .2);
}

.subscription-hero,
.enrollment-hero {
	display: grid;
	grid-template-columns: minmax(0, .98fr) minmax(360px, .72fr);
	gap: 28px;
	align-items: center;
	margin-bottom: 18px;
	padding: 34px;
}

.subscription-hero h1,
.enrollment-hero h1 {
	max-width: 820px;
	margin-bottom: 14px;
	font-size: clamp(36px, 4.3vw, 58px);
	line-height: .98;
}

.subscription-hero-copy p {
	max-width: 680px;
}

.subscription-hero p,
.enrollment-hero p,
.pricing-note p {
	color: var(--muted);
	line-height: 1.5;
}

.billing-toggle,
.enrollment-progress {
	display: grid;
	gap: 14px;
	align-content: center;
	padding: 20px;
	border: 1px solid rgba(111, 180, 255, .16);
	border-radius: 18px;
	background:
		radial-gradient(circle at 100% 0%, rgba(33, 242, 166, .12), transparent 34%),
		rgba(3, 9, 22, .82);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .02), 0 20px 70px rgba(0, 0, 0, .2);
}

.billing-selector-head {
	display: grid;
	gap: 5px;
}

.billing-selector-head span {
	color: var(--cyan);
	font-size: 11px;
	font-weight: 950;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.billing-selector-head strong {
	color: var(--ink);
	font-size: 20px;
	line-height: 1.18;
}

.billing-toggle .billing-options {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

.billing-toggle button,
.enrollment-actions button,
.connection-grid button,
.enroll-plan-grid button,
.meeting-options .support-tile {
	border: 1px solid rgba(34, 231, 255, .22);
	border-radius: 10px;
	background: rgba(34, 231, 255, .07);
	color: var(--ink);
	font-weight: 850;
	text-decoration: none;
}

.billing-toggle button {
	display: grid;
	justify-items: start;
	gap: 5px;
	min-height: 74px;
	padding: 13px;
	text-align: left;
}

.billing-toggle button span {
	color: var(--muted);
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: .1em;
}

.billing-toggle button strong {
	font-size: 17px;
}

.billing-toggle button.active,
.enroll-plan-grid button.active,
.enrollment-meetings button.active {
	border-color: rgba(33, 242, 166, .36);
	background: rgba(33, 242, 166, .11);
}

.billing-savings {
	display: grid;
	gap: 4px;
	padding: 12px;
	border: 1px solid rgba(33, 242, 166, .18);
	border-radius: 13px;
	background: rgba(33, 242, 166, .07);
}

.billing-savings span,
.billing-toggle small {
	color: var(--muted);
	font-size: 12px;
	line-height: 1.4;
}

.billing-savings strong {
	color: var(--green);
	font-size: 13px;
}

.plan-progression {
	display: grid;
	grid-template-columns: 1fr 28px 1fr 28px 1fr 28px 1fr 28px 1fr;
	gap: 8px;
	align-items: center;
	margin-bottom: 18px;
}

.plan-progression.journey-progression {
	grid-template-columns: 1fr 24px 1fr 24px 1fr 24px 1fr 24px 1fr 24px 1fr;
}

.plan-progression div {
	display: grid;
	gap: 8px;
	align-content: start;
	min-height: 112px;
	padding: 14px;
	border: 1px solid rgba(111, 180, 255, .15);
	border-radius: 14px;
	background: rgba(3, 9, 22, .84);
}

.plan-progression div.recommended {
	border-color: rgba(33, 242, 166, .32);
	background: rgba(33, 242, 166, .09);
}

.plan-progression i {
	height: 3px;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--cyan), var(--green));
}

.plan-progression span,
.plan-row .panel-label,
.concierge-tier-grid span,
.enrollment-progress span,
.enroll-plan-grid span {
	color: #87f5ff;
	font-size: 10px;
	font-weight: 950;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.plan-stack {
	display: grid;
	gap: 12px;
}

.plan-row {
	display: grid;
	grid-template-columns: minmax(260px, 1.1fr) 170px minmax(280px, 1fr) 170px;
	gap: 16px;
	align-items: center;
	padding: 18px;
	border: 1px solid rgba(111, 180, 255, .15);
	border-radius: 16px;
	background: rgba(2, 8, 19, .94);
}

.plan-row.concierge-plan {
	border-color: rgba(33, 242, 166, .34);
	background:
		linear-gradient(90deg, rgba(33, 242, 166, .1), transparent 42%),
		rgba(2, 8, 19, .96);
}

.plan-row.enterprise-plan {
	border-color: rgba(155, 114, 255, .28);
	background:
		linear-gradient(90deg, rgba(155, 114, 255, .1), transparent 42%),
		rgba(2, 8, 19, .96);
}

.plan-actions {
	display: grid;
	gap: 10px;
	align-content: center;
	min-width: 0;
}

.plan-actions .button,
.plan-actions .ghost-button {
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	min-height: 44px;
	white-space: normal;
	text-align: center;
}

.plan-row h2 {
	margin: 2px 0 6px;
	font-size: 26px;
	line-height: 1.05;
}

.plan-row p,
.plan-row li,
.concierge-tier-grid li {
	color: var(--muted);
	line-height: 1.4;
}

.plan-price strong {
	display: block;
	font-size: 38px;
	line-height: 1;
}

.managed-comparison,
.pricing-note,
.enrollment-flow {
	margin-top: 18px;
	padding: 18px;
}

.concierge-tier-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}

.concierge-tier-grid > div {
	display: grid;
	gap: 10px;
	padding: 16px;
	border: 1px solid rgba(111, 180, 255, .15);
	border-radius: 14px;
	background: rgba(3, 9, 22, .84);
}

.concierge-tier-grid .recommended {
	border-color: rgba(33, 242, 166, .34);
	background: rgba(33, 242, 166, .09);
}

.concierge-tier-grid strong {
	font-size: 34px;
}

.pricing-note {
	display: grid;
	gap: 8px;
}

/* Phase 22.1 Free and Concierge Essentials preview workspaces */
.snapshot-hero,
.essentials-hero,
.snapshot-panel,
.essentials-panel {
	border: 1px solid rgba(111, 180, 255, .16);
	border-radius: 14px;
	background: rgba(3, 9, 22, .84);
	box-shadow: var(--shadow);
}

.snapshot-hero,
.essentials-hero {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) 330px;
	gap: 18px;
	align-items: stretch;
	padding: 24px;
	margin-bottom: 18px;
	background:
		linear-gradient(135deg, rgba(34, 231, 255, .08), rgba(155, 114, 255, .08)),
		rgba(3, 9, 22, .88);
}

.snapshot-hero h1,
.essentials-hero h1 {
	max-width: 900px;
	margin: 6px 0 8px;
	font-size: clamp(42px, 5.2vw, 78px);
	line-height: .94;
	letter-spacing: 0;
}

.snapshot-hero p,
.essentials-hero p,
.snapshot-panel p,
.essentials-panel p {
	color: var(--muted);
	line-height: 1.5;
}

.snapshot-score,
.essentials-specialist {
	display: grid;
	gap: 10px;
	align-content: center;
	padding: 22px;
	border: 1px solid rgba(34, 231, 255, .18);
	border-radius: 14px;
	background: rgba(2, 7, 17, .82);
}

.snapshot-score span,
.essentials-specialist span,
.snapshot-opportunities span,
.mini-timeline span,
.essentials-stats span {
	color: #87f5ff;
	font-size: 11px;
	font-weight: 950;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.snapshot-score strong {
	font-size: 82px;
	line-height: .9;
}

.essentials-specialist strong {
	font-size: 28px;
	line-height: 1.05;
}

.snapshot-grid,
.essentials-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin-bottom: 16px;
}

.snapshot-panel,
.essentials-panel {
	padding: 20px;
}

.snapshot-panel.recommended,
.essentials-panel.recommended {
	border-color: rgba(33, 242, 166, .32);
	background: rgba(33, 242, 166, .08);
}

.snapshot-meter {
	height: 12px;
	margin: 14px 0;
	overflow: hidden;
	border-radius: 999px;
	background: rgba(111, 180, 255, .12);
}

.snapshot-meter span {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, var(--cyan), var(--green));
	box-shadow: 0 0 24px rgba(33, 242, 166, .3);
}

.snapshot-opportunities,
.mini-timeline,
.essentials-stats {
	display: grid;
	gap: 10px;
}

.snapshot-opportunities {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.snapshot-opportunities button,
.mini-timeline button,
.essentials-stats button {
	display: grid;
	gap: 7px;
	min-height: 100px;
	padding: 14px;
	text-align: left;
	border: 1px solid rgba(111, 180, 255, .16);
	border-radius: 12px;
	background: rgba(3, 9, 22, .74);
	color: var(--ink);
}

.snapshot-opportunities strong,
.mini-timeline strong {
	font-size: 18px;
	line-height: 1.08;
}

.essentials-stats {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.essentials-stats strong {
	font-size: 38px;
	line-height: 1;
}

/* Phase 22.2 auth and checkout placeholders */
.sign-in-link {
	text-decoration: none;
	display: inline-grid;
	place-items: center;
}

.auth-hero,
.auth-grid,
.checkout-placeholder {
	display: grid;
	gap: 16px;
}

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

.sign-in-workspace {
	grid-template-columns: var(--nav) minmax(0, 1fr);
}

.auth-workspace .main {
	width: min(1180px, 100%);
	margin: 0 auto;
}

.sign-in-workspace .main {
	width: auto;
	margin: 0;
}

.auth-hero {
	grid-template-columns: minmax(0, 1.25fr) 420px;
	align-items: stretch;
	padding: 24px;
	margin-bottom: 18px;
	border: 1px solid rgba(111, 180, 255, .16);
	border-radius: 16px;
	background:
		linear-gradient(135deg, rgba(34, 231, 255, .08), rgba(155, 114, 255, .08)),
		rgba(3, 9, 22, .88);
	box-shadow: var(--shadow);
}

.auth-hero h1 {
	max-width: 900px;
	margin: 6px 0 8px;
	font-size: clamp(42px, 5.2vw, 76px);
	line-height: .94;
}

.auth-hero p,
.auth-panel p,
.checkout-card p {
	color: var(--muted);
	line-height: 1.5;
}

.auth-panel,
.checkout-card {
	display: grid;
	gap: 12px;
	padding: 20px;
	border: 1px solid rgba(111, 180, 255, .16);
	border-radius: 14px;
	background: rgba(3, 9, 22, .84);
	box-shadow: var(--shadow);
}

.auth-panel label {
	display: grid;
	gap: 7px;
	color: var(--soft);
	font-weight: 750;
}

.auth-panel input {
	width: 100%;
	min-width: 0;
	padding: 12px;
	border: 1px solid rgba(111, 180, 255, .18);
	border-radius: 10px;
	background: rgba(0, 4, 12, .72);
	color: var(--ink);
}

.register-hero {
	grid-template-columns: minmax(0, .95fr) minmax(420px, .72fr);
	gap: 28px;
	align-items: center;
}

.register-hero h1 {
	font-size: clamp(40px, 4.6vw, 68px);
}

.register-card {
	display: grid;
	gap: 16px;
}

.register-form {
	display: grid;
	gap: 12px;
}

.register-form label {
	display: grid;
	gap: 7px;
}

.register-form label span {
	color: #87f5ff;
	font-size: 10px;
	font-weight: 950;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.register-form input {
	width: 100%;
	min-height: 46px;
	padding: 0 13px;
	border: 1px solid rgba(111, 180, 255, .18);
	border-radius: 10px;
	background: rgba(1, 6, 16, .82);
	color: var(--ink);
	outline: none;
}

.register-form input:focus {
	border-color: var(--line-strong);
	box-shadow: 0 0 0 3px rgba(34, 231, 255, .08);
}

.form-status {
	margin: 0;
	color: var(--muted);
	font-size: 12px;
	line-height: 1.45;
}

.register-form.has-error .form-status {
	color: #ffb3c1;
}

.oauth-options {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	padding-top: 14px;
	border-top: 1px solid rgba(111, 180, 255, .12);
}

.oauth-options button {
	display: grid;
	justify-items: center;
	gap: 4px;
	min-height: 58px;
}

.oauth-options small {
	color: var(--muted);
	font-size: 10px;
	font-weight: 850;
}

.auth-switch {
	margin: 0;
	text-align: center;
}

.auth-switch a {
	color: var(--cyan);
	font-weight: 900;
	text-decoration: none;
}

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

.checkout-placeholder {
	min-height: 100vh;
	place-items: center;
	padding: 24px;
	background:
		linear-gradient(rgba(34, 231, 255, .034) 1px, transparent 1px),
		linear-gradient(90deg, rgba(34, 231, 255, .023) 1px, transparent 1px),
		linear-gradient(180deg, #07162a 0%, #01040b 55%, #000104 100%);
	background-size: 72px 72px, 72px 72px, auto;
}

.checkout-card {
	width: min(680px, 100%);
}

.enrollment-progress {
	grid-template-columns: repeat(7, 1fr);
	align-items: center;
}

.enrollment-progress span {
	display: grid;
	place-items: center;
	min-height: 42px;
	border: 1px solid rgba(111, 180, 255, .18);
	border-radius: 999px;
	background: rgba(3, 9, 22, .82);
}

.enrollment-progress span.active {
	border-color: rgba(33, 242, 166, .42);
	background: rgba(33, 242, 166, .12);
	color: var(--green);
}

.enroll-step {
	display: none;
}

.enroll-step.active {
	display: grid;
	gap: 16px;
}

.enroll-plan-grid,
.form-grid,
.choice-grid,
.connection-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

.enroll-plan-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.enroll-plan-grid button,
.connection-grid button,
.choice-grid label,
.form-grid label {
	display: grid;
	gap: 8px;
	min-height: 92px;
	padding: 14px;
	border: 1px solid rgba(111, 180, 255, .15);
	border-radius: 14px;
	background: rgba(3, 9, 22, .84);
	color: var(--ink);
}

.choice-grid label {
	grid-template-columns: auto 1fr;
	align-items: center;
	min-height: 58px;
}

.form-grid input {
	width: 100%;
	min-width: 0;
	padding: 12px;
	border: 1px solid rgba(111, 180, 255, .18);
	border-radius: 10px;
	background: rgba(0, 4, 12, .72);
	color: var(--ink);
}

.form-grid label.invalid input {
	border-color: rgba(255, 84, 118, .68);
	box-shadow: 0 0 0 2px rgba(255, 84, 118, .12);
}

.enrollment-summary {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

.enrollment-summary div,
.enrollment-success {
	padding: 14px;
	border: 1px solid rgba(111, 180, 255, .15);
	border-radius: 14px;
	background: rgba(3, 9, 22, .84);
}

.enrollment-success {
	display: grid;
	gap: 12px;
}

.enrollment-success[hidden] {
	display: none;
}

.enrollment-actions {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	margin-top: 18px;
}

.marketing-home {
	background:
		linear-gradient(rgba(34, 231, 255, .026) 1px, transparent 1px),
		linear-gradient(90deg, rgba(34, 231, 255, .018) 1px, transparent 1px),
		radial-gradient(circle at 50% -10%, rgba(34, 231, 255, .18), transparent 34%),
		radial-gradient(circle at 86% 14%, rgba(155, 114, 255, .14), transparent 28%),
		linear-gradient(180deg, #08182b 0%, #020712 44%, #000104 100%);
	background-size: 86px 86px, 86px 86px, auto, auto, auto;
}

.landing-nav {
	position: sticky;
	top: 0;
	z-index: 20;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 22px;
	max-width: 1240px;
	margin: 0 auto;
	padding: 18px 28px;
	border-bottom: 1px solid rgba(111, 180, 255, .12);
	background: rgba(1, 5, 14, .72);
	backdrop-filter: blur(18px);
}

.landing-brand,
.landing-nav nav {
	display: flex;
	align-items: center;
	gap: 18px;
}

.landing-brand {
	text-decoration: none;
	font-weight: 950;
}

.landing-logo {
	display: grid;
	place-items: center;
	width: 38px;
	height: 36px;
	border: 1px solid rgba(34, 231, 255, .44);
	border-radius: 10px;
	background: rgba(6, 15, 32, .78);
	color: var(--cyan);
}

.landing-nav nav a {
	color: var(--soft);
	font-size: 13px;
	font-weight: 850;
	text-decoration: none;
}

.landing-nav .nav-cta {
	min-height: 38px;
	padding: 10px 14px;
	border: 1px solid rgba(34, 231, 255, .26);
	border-radius: 9px;
	background: rgba(34, 231, 255, .08);
	color: var(--ink);
}

.executive-news-ticker {
	position: sticky;
	top: 73px;
	z-index: 19;
	overflow: hidden;
	border-block: 1px solid rgba(111, 180, 255, .12);
	background:
		linear-gradient(90deg, rgba(1, 5, 14, .96), rgba(3, 11, 26, .92), rgba(1, 5, 14, .96));
	box-shadow: 0 14px 44px rgba(0, 0, 0, .18);
}

.ticker-track {
	overflow: hidden;
	mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}

.ticker-row {
	display: flex;
	width: max-content;
	animation: tickerScroll 34s linear infinite;
}

.executive-news-ticker:hover .ticker-row {
	animation-play-state: paused;
}

.ticker-row span {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 34px;
	padding: 0 22px;
	color: rgba(220, 232, 255, .78);
	font-size: 11px;
	font-weight: 900;
	letter-spacing: .08em;
	text-transform: uppercase;
	white-space: nowrap;
}

.ticker-row i {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--green);
	box-shadow: 0 0 14px rgba(33, 242, 166, .42);
}

.landing-main {
	max-width: 1240px;
	margin: 0 auto;
	padding: 50px 28px 90px;
}

.landing-hero {
	display: grid;
	grid-template-columns: minmax(360px, .82fr) minmax(620px, 1.18fr);
	gap: 38px;
	align-items: center;
	min-height: calc(100vh - 110px);
}

.landing-copy h1 {
	max-width: 760px;
	margin-bottom: 18px;
	font-size: clamp(48px, 5.9vw, 88px);
	line-height: .92;
}

.landing-copy > p {
	max-width: 680px;
	color: var(--soft);
	font-size: clamp(18px, 1.45vw, 23px);
	line-height: 1.55;
}

.landing-capture {
	display: grid;
	gap: 14px;
	max-width: 760px;
	margin-top: 28px;
	padding: 16px;
	border: 1px solid rgba(34, 231, 255, .18);
	border-radius: 18px;
	background: rgba(3, 9, 22, .76);
	box-shadow: 0 24px 90px rgba(0, 0, 0, .22);
}

.landing-field-row,
.landing-cta-row {
	display: grid;
	gap: 10px;
}

.landing-field-row {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.landing-cta-row {
	grid-template-columns: minmax(180px, .8fr) minmax(220px, 1fr);
	align-items: center;
}

.landing-cta-row .button,
.landing-cta-row .ghost-button {
	justify-content: center;
	min-height: 48px;
	text-align: center;
}

.landing-capture label {
	display: grid;
	gap: 7px;
}

.landing-capture label span {
	color: #87f5ff;
	font-size: 10px;
	font-weight: 950;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.landing-capture input {
	width: 100%;
	min-height: 44px;
	padding: 0 13px;
	border: 1px solid rgba(111, 180, 255, .18);
	border-radius: 10px;
	background: rgba(1, 6, 16, .82);
	color: var(--ink);
	outline: none;
}

.landing-capture input:focus {
	border-color: var(--line-strong);
	box-shadow: 0 0 0 3px rgba(34, 231, 255, .08);
}

.landing-capture p {
	margin: 0;
	color: var(--muted);
	font-size: 13px;
	line-height: 1.45;
}

.landing-capture.has-error p {
	color: #ffb3c1;
}

.hero-intelligence {
	position: relative;
	overflow: hidden;
	min-height: 600px;
	padding: 22px;
	border: 1px solid rgba(111, 180, 255, .16);
	border-radius: 22px;
	background:
		radial-gradient(circle at 72% 4%, rgba(34, 231, 255, .18), transparent 28%),
		linear-gradient(180deg, rgba(6, 15, 32, .86), rgba(1, 5, 14, .94));
	box-shadow: 0 34px 120px rgba(0, 0, 0, .34), inset 0 0 0 1px rgba(255, 255, 255, .02);
}

.premium-hero-viz {
	display: grid;
	grid-template-columns: 220px minmax(0, 1fr);
	grid-template-rows: auto 1fr;
	gap: 18px;
	align-items: stretch;
}

.score-orbit {
	position: relative;
	display: grid;
	place-items: center;
	min-height: 220px;
	border: 1px solid rgba(33, 242, 166, .22);
	border-radius: 28px;
	background:
		radial-gradient(circle at 50% 50%, rgba(33, 242, 166, .18), transparent 58%),
		rgba(1, 6, 16, .64);
	box-shadow: inset 0 0 42px rgba(33, 242, 166, .08), 0 0 48px rgba(33, 242, 166, .08);
}

.score-orbit svg {
	position: absolute;
	inset: 16px;
	width: calc(100% - 32px);
	height: calc(100% - 32px);
	transform: rotate(-90deg);
	filter: drop-shadow(0 0 14px rgba(33, 242, 166, .24));
}

.score-track,
.score-progress {
	fill: none;
	stroke-width: 12;
}

.score-track {
	stroke: rgba(255, 255, 255, .08);
}

.score-progress {
	stroke: url(#scoreGradient);
	stroke: #21f2a6;
	stroke-linecap: round;
	stroke-dasharray: 452;
	stroke-dashoffset: 452;
	animation: executiveScoreFill 1.7s cubic-bezier(.16, 1, .3, 1) .18s forwards;
}

.score-orbit div {
	position: relative;
	z-index: 1;
	display: grid;
	place-items: center;
	text-align: center;
}

.score-orbit strong {
	color: #f8fffb;
	font-size: 74px;
	line-height: .85;
	text-shadow: 0 0 28px rgba(33, 242, 166, .34);
}

.score-orbit span {
	margin-top: 10px;
	color: var(--green);
	font-size: 12px;
	font-weight: 950;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.score-orbit small {
	max-width: 140px;
	margin-top: 6px;
	color: var(--muted);
	font-size: 11px;
	line-height: 1.35;
}

.growth-viz {
	display: grid;
	gap: 12px;
	min-width: 0;
}

.growth-viz-head,
.rating-panel-head {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 14px;
}

.growth-viz-head span,
.growth-viz-head small,
.rating-panel-head span {
	color: var(--muted);
	font-size: 11px;
	font-weight: 900;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.growth-viz-head strong,
.rating-panel-head strong {
	display: block;
	margin-top: 4px;
	color: var(--ink);
	font-size: 18px;
	line-height: 1.1;
}

.hero-viz-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 14px;
	padding: 0 2px 16px;
}

.hero-viz-head span,
.hero-viz-head small,
.signal-strip span {
	color: var(--muted);
	font-size: 12px;
	font-weight: 850;
}

.hero-viz-head strong {
	color: var(--green);
	font-size: 68px;
	line-height: .85;
}

.hero-growth-chart {
	width: 100%;
	height: auto;
	min-height: 430px;
	border: 1px solid rgba(111, 180, 255, .13);
	border-radius: 18px;
	background:
		linear-gradient(rgba(34, 231, 255, .045) 1px, transparent 1px),
		linear-gradient(90deg, rgba(34, 231, 255, .03) 1px, transparent 1px),
		rgba(1, 6, 16, .72);
	background-size: 72px 72px;
}

.landing-chart {
	position: relative;
	display: grid;
	align-items: end;
	min-height: 370px;
	padding: 44px 28px 34px;
	overflow: hidden;
	border: 1px solid rgba(111, 180, 255, .13);
	border-radius: 18px;
	background:
		linear-gradient(rgba(34, 231, 255, .045) 1px, transparent 1px),
		linear-gradient(90deg, rgba(34, 231, 255, .03) 1px, transparent 1px),
		rgba(1, 6, 16, .72);
	background-size: 72px 72px;
}

.chart-state {
	position: absolute;
	z-index: 4;
	display: grid;
	gap: 2px;
	padding: 10px 12px;
	border: 1px solid rgba(111, 180, 255, .18);
	border-radius: 14px;
	background: rgba(1, 6, 16, .78);
}

.chart-state span {
	color: var(--muted);
	font-size: 10px;
	font-weight: 900;
	text-transform: uppercase;
}

.chart-state strong {
	color: var(--ink);
	font-size: 24px;
	line-height: 1;
}

.chart-state.start { left: 24px; bottom: 24px; }
.chart-state.projected {
	right: 24px;
	top: 22px;
	border-color: rgba(33, 242, 166, .28);
}

.chart-state.projected strong {
	color: var(--green);
}

.chart-track {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 18px;
	align-items: end;
	height: 280px;
	padding-top: 34px;
}

.chart-track i {
	display: block;
	height: var(--h);
	border: 1px solid rgba(34, 231, 255, .24);
	border-radius: 12px 12px 4px 4px;
	background: linear-gradient(180deg, rgba(34, 231, 255, .52), rgba(33, 242, 166, .18));
	box-shadow: 0 0 34px rgba(34, 231, 255, .12);
	animation: barRise 1.2s cubic-bezier(.16, 1, .3, 1) both;
}

.chart-track .bar-1 { --h: 30%; }
.chart-track .bar-2 { --h: 42%; }
.chart-track .bar-3 { --h: 54%; }
.chart-track .bar-4 { --h: 48%; }
.chart-track .bar-5 { --h: 73%; }
.chart-track .bar-6 { --h: 94%; }

.chart-track i:nth-child(2) { animation-delay: .08s; }
.chart-track i:nth-child(3) { animation-delay: .16s; }
.chart-track i:nth-child(4) { animation-delay: .24s; }
.chart-track i:nth-child(5) { animation-delay: .32s; }
.chart-track i:nth-child(6) { animation-delay: .4s; }

.chart-line {
	position: absolute;
	left: 42px;
	right: 42px;
	top: 130px;
	height: 4px;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--cyan), var(--violet), var(--green));
	transform: rotate(-13deg);
	transform-origin: left center;
	box-shadow: 0 0 22px rgba(34, 231, 255, .28);
}

.chart-line-svg {
	position: absolute;
	inset: 56px 28px 74px;
	z-index: 3;
	width: calc(100% - 56px);
	height: calc(100% - 130px);
	pointer-events: none;
}

.hero-line-shadow,
.hero-line-premium {
	fill: none;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.hero-line-shadow {
	stroke: rgba(34, 231, 255, .16);
	stroke-width: 17;
	filter: blur(7px);
}

.hero-line-premium {
	stroke: url(#premiumHeroLine);
	stroke-width: 7;
	stroke-dasharray: 760;
	stroke-dashoffset: 760;
	animation: landingDraw 1.8s cubic-bezier(.16, 1, .3, 1) .32s forwards;
	filter: drop-shadow(0 0 14px rgba(34, 231, 255, .28));
}

.chart-callout {
	position: absolute;
	z-index: 5;
	width: 152px;
	padding: 12px;
	border: 1px solid rgba(34, 231, 255, .18);
	border-radius: 12px;
	background: rgba(3, 9, 22, .84);
}

.chart-callout span {
	display: block;
	color: var(--muted);
	font-size: 10px;
	font-weight: 850;
}

.chart-callout strong {
	display: block;
	margin-top: 6px;
	color: var(--cyan);
	font-size: 25px;
	line-height: 1;
}

.chart-callout small {
	display: block;
	margin-top: 5px;
	color: var(--muted);
	font-size: 10px;
	line-height: 1.25;
}

.chart-callout.a { left: 36px; top: 72px; }
.chart-callout.b { right: 42px; top: 112px; }
.chart-callout.c { right: 78px; bottom: 38px; }

.rating-panel {
	grid-column: 1 / -1;
	display: grid;
	gap: 14px;
	padding: 16px;
	border: 1px solid rgba(111, 180, 255, .13);
	border-radius: 20px;
	background: rgba(1, 6, 16, .56);
}

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

.rating-card {
	position: relative;
	min-height: 112px;
	display: grid;
	align-content: space-between;
	padding: 13px;
	overflow: hidden;
	border: 1px solid rgba(111, 180, 255, .14);
	border-radius: 16px;
	background: rgba(3, 9, 22, .74);
	animation: ratingReveal .7s cubic-bezier(.16, 1, .3, 1) both;
}

.rating-card:nth-child(2) { animation-delay: .08s; }
.rating-card:nth-child(3) { animation-delay: .16s; }
.rating-card:nth-child(4) { animation-delay: .24s; }
.rating-card:nth-child(5) { animation-delay: .32s; }
.rating-card:nth-child(6) { animation-delay: .4s; }
.rating-card:nth-child(7) { animation-delay: .48s; }

.rating-card span,
.rating-card small {
	position: relative;
	z-index: 1;
	color: var(--muted);
	font-size: 10px;
	font-weight: 900;
	line-height: 1.25;
	text-transform: uppercase;
}

.rating-card strong {
	position: relative;
	z-index: 1;
	color: var(--ink);
	font-size: 26px;
	line-height: 1;
}

.rating-card.ring::before,
.rating-card.dial::before {
	content: "";
	position: absolute;
	right: -18px;
	bottom: -24px;
	width: 92px;
	aspect-ratio: 1;
	border-radius: 50%;
	background: conic-gradient(var(--green) calc(var(--score) * 1%), rgba(255, 255, 255, .08) 0);
	mask: radial-gradient(circle, transparent 48%, #000 50%);
	animation: scoreSpin .9s cubic-bezier(.16, 1, .3, 1) both;
	opacity: .88;
}

.rating-card.violet::before {
	background: conic-gradient(var(--violet) calc(var(--score) * 1%), rgba(255, 255, 255, .08) 0);
}

.rating-card.bar i {
	position: relative;
	z-index: 1;
	display: block;
	height: 8px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .08);
}

.rating-card.bar i::after {
	content: "";
	display: block;
	width: calc(var(--score) * 1%);
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, var(--cyan), var(--green));
	animation: meterFill 1s cubic-bezier(.16, 1, .3, 1) both;
}

.rating-card.bar.accent i::after {
	background: linear-gradient(90deg, var(--violet), var(--cyan));
}

.rating-card.compact {
	background: radial-gradient(circle at 100% 0%, rgba(155, 114, 255, .13), transparent 46%), rgba(3, 9, 22, .74);
}

.rating-card.compact.green {
	background: radial-gradient(circle at 100% 0%, rgba(33, 242, 166, .14), transparent 46%), rgba(3, 9, 22, .74);
}

.grid-lines path {
	fill: none;
	stroke: rgba(135, 245, 255, .12);
	stroke-width: 1;
}

.hero-area {
	fill: url(#heroFill);
	opacity: .95;
}

.hero-line {
	fill: none;
	stroke: url(#heroLine);
	stroke-width: 8;
	stroke-linecap: round;
	stroke-dasharray: 980;
	stroke-dashoffset: 980;
	animation: landingDraw 1.9s cubic-bezier(.16, 1, .3, 1) forwards;
	filter: drop-shadow(0 0 18px rgba(34, 231, 255, .24));
}

.hero-markers circle {
	fill: #061320;
	stroke: var(--green);
	stroke-width: 5;
	animation: landingPulse 3.4s ease-in-out infinite;
}

.hero-viz-cards rect {
	fill: rgba(3, 9, 22, .84);
	stroke: rgba(34, 231, 255, .18);
}

.hero-viz-cards text {
	fill: var(--muted);
	font-size: 12px;
	font-weight: 850;
}

.hero-viz-cards .card-value {
	fill: var(--cyan);
	font-size: 26px;
	font-weight: 950;
}

.hero-viz-cards .card-note {
	fill: var(--muted);
	font-size: 10px;
}

.signal-strip {
	display: grid;
	grid-template-columns: auto 1fr auto 1fr auto 1fr auto 1fr auto;
	gap: 10px;
	align-items: center;
	margin-top: 16px;
}

.signal-strip i {
	display: block;
	height: 2px;
	overflow: hidden;
	background: linear-gradient(90deg, transparent, rgba(34, 231, 255, .75), transparent);
	background-size: 200% 100%;
	animation: signalFlow 2.8s linear infinite;
}

.landing-section,
.impact-section,
.journey-section,
.landing-final {
	margin-top: 74px;
}

.section-head {
	display: grid;
	gap: 12px;
	max-width: 900px;
	margin-bottom: 20px;
}

.section-head h2,
.impact-section h2,
.landing-final h2 {
	font-size: clamp(34px, 4vw, 66px);
	line-height: .96;
}

.landing-grid {
	display: grid;
	gap: 14px;
}

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

.landing-grid article,
.journey-compare article,
.proof-card {
	border: 1px solid rgba(111, 180, 255, .15);
	border-radius: 16px;
	background: rgba(3, 9, 22, .74);
	box-shadow: 0 22px 80px rgba(0, 0, 0, .16);
}

.landing-grid article {
	padding: 22px;
}

.landing-grid article span {
	color: var(--cyan);
	font-size: 11px;
	font-weight: 950;
	letter-spacing: .12em;
}

.landing-grid article p,
.impact-section p,
.journey-compare li {
	color: var(--muted);
	line-height: 1.55;
}

.trusted-logo-marquee {
	margin: 26px auto 0;
	max-width: 1180px;
	border: 1px solid rgba(111, 180, 255, .15);
	border-radius: 20px;
	background:
		radial-gradient(circle at 50% 0%, rgba(34, 231, 255, .12), transparent 44%),
		rgba(3, 9, 22, .68);
	overflow: hidden;
	padding: 28px 0 22px;
	box-shadow: 0 28px 90px rgba(0, 0, 0, .2), inset 0 1px 0 rgba(255, 255, 255, .035);
}

.trust-inspiration-head {
	display: grid;
	justify-items: center;
	gap: 10px;
	max-width: 850px;
	margin: 0 auto 22px;
	padding: 0 24px;
	text-align: center;
}

.trust-inspiration-head h2 {
	max-width: 760px;
	margin: 0;
	font-size: clamp(26px, 3vw, 44px);
	line-height: 1;
}

.trust-inspiration-head p {
	max-width: 650px;
	margin: 0;
	color: var(--muted);
	font-size: 15px;
	line-height: 1.55;
}

.trust-inspiration-head strong {
	display: inline-flex;
	align-items: center;
	min-height: 34px;
	padding: 8px 13px;
	border: 1px solid rgba(33, 242, 166, .2);
	border-radius: 999px;
	background: rgba(33, 242, 166, .06);
	color: var(--green);
	font-size: 12px;
	font-weight: 950;
	text-transform: uppercase;
	letter-spacing: .08em;
}

.logo-marquee-track,
.authority-track {
	overflow: hidden;
	mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
}

.logo-marquee-row,
.authority-row {
	display: flex;
	width: max-content;
	animation: marqueeScroll 42s linear infinite;
}

.trusted-logo-marquee:hover .logo-marquee-row,
.authority-marquee:hover .authority-row {
	animation-play-state: paused;
}

.logo-marquee-row span {
	display: grid;
	place-items: center;
	min-width: 158px;
	height: 62px;
	margin-right: 12px;
	border: 1px solid rgba(255, 255, 255, .075);
	border-radius: 12px;
	color: rgba(226, 236, 255, .55);
	filter: grayscale(1);
	background:
		linear-gradient(180deg, rgba(255, 255, 255, .055), rgba(255, 255, 255, .025));
	font-weight: 900;
	letter-spacing: .02em;
	transition: color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.logo-marquee-row span:hover {
	color: var(--text);
	border-color: rgba(34, 231, 255, .34);
	box-shadow: 0 0 34px rgba(34, 231, 255, .12);
	transform: translateY(-1px);
}

.executive-card-grid,
.premium-stats-section,
.testimonial-grid {
	display: grid;
	gap: 14px;
}

.executive-card-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.premium-stats-section {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.testimonial-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.executive-card-grid article,
.stat-card,
.testimonial-grid article {
	border: 1px solid rgba(255, 255, 255, .1);
	border-radius: 8px;
	background: linear-gradient(145deg, rgba(255, 255, 255, .07), rgba(255, 255, 255, .025));
	box-shadow: 0 20px 60px rgba(0, 0, 0, .18);
}

.executive-card-grid article {
	padding: 22px;
	min-height: 210px;
}

.executive-card-grid article span,
.stat-card span,
.testimonial-grid article span {
	display: block;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: var(--cyan);
	margin-bottom: 12px;
	font-weight: 900;
}

.executive-card-grid article h3 {
	font-size: 24px;
	line-height: 1.06;
	margin: 0 0 12px;
}

.executive-card-grid article p,
.stat-card p,
.testimonial-grid p {
	color: var(--muted);
	margin: 0;
}

.premium-stats-section {
	max-width: 1180px;
	margin: 34px auto 0;
}

.stat-card {
	min-height: 190px;
	padding: 22px 18px;
	display: grid;
	align-content: space-between;
	min-width: 0;
	background: radial-gradient(circle at 50% 0, rgba(34, 231, 255, .12), transparent 44%), rgba(255, 255, 255, .04);
}

.stat-card strong {
	font-size: clamp(34px, 3.4vw, 56px);
	line-height: .95;
	letter-spacing: 0;
	overflow-wrap: anywhere;
	animation: riseIn .8s cubic-bezier(.16, 1, .3, 1) both;
}

.authority-marquee {
	margin: 74px calc(50% - 50vw) 0;
	padding: 38px 0;
	border-block: 1px solid rgba(255, 255, 255, .08);
	background:
		radial-gradient(circle at 12% 50%, rgba(34, 231, 255, .14), transparent 30%),
		radial-gradient(circle at 86% 50%, rgba(155, 114, 255, .13), transparent 30%),
		linear-gradient(90deg, rgba(34, 231, 255, .04), rgba(155, 114, 255, .06), rgba(33, 242, 166, .04));
}

.authority-row {
	animation-duration: 46s;
}

.authority-row span {
	display: grid;
	place-items: center;
	min-width: 420px;
	margin-right: 16px;
	min-height: 112px;
	padding: 0 26px;
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: 16px;
	background:
		linear-gradient(135deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .026));
	color: var(--text);
	font-size: clamp(22px, 2.3vw, 34px);
	font-weight: 950;
	letter-spacing: 0;
	box-shadow: 0 18px 70px rgba(0, 0, 0, .2);
}

.authority-row span:nth-child(3n + 1) {
	color: var(--green);
	border-color: rgba(33, 242, 166, .18);
}

.authority-row span:nth-child(3n + 2) {
	color: var(--cyan);
	border-color: rgba(34, 231, 255, .2);
}

.authority-row span:nth-child(3n + 3) {
	color: #d6c8ff;
	border-color: rgba(155, 114, 255, .22);
}

.testimonial-section {
	margin-top: 74px;
}

.testimonial-grid article {
	overflow: hidden;
}

.testimonial-grid img {
	width: 100%;
	aspect-ratio: 1.28;
	object-fit: cover;
	filter: grayscale(.28) saturate(.9);
}

.testimonial-grid article div {
	padding: 18px;
}

.testimonial-grid h3 {
	margin: 0 0 10px;
	font-size: 22px;
	line-height: 1.08;
}

.testimonial-grid p {
	margin-bottom: 14px;
}

.testimonial-grid strong {
	color: var(--green);
}

.admin-login-link {
	display: inline-flex;
	margin-top: 12px;
	color: var(--muted);
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: .08em;
}

@keyframes marqueeScroll {
	from { transform: translateX(0); }
	to { transform: translateX(-50%); }
}

.impact-section {
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr);
	gap: 24px;
	align-items: center;
	padding: 30px;
	border: 1px solid rgba(111, 180, 255, .14);
	border-radius: 22px;
	background: radial-gradient(circle at 82% 4%, rgba(155, 114, 255, .16), transparent 32%), rgba(3, 9, 22, .66);
}

.impact-orbit {
	position: relative;
	display: grid;
	place-items: center;
	min-height: 440px;
	border: 1px solid rgba(111, 180, 255, .12);
	border-radius: 18px;
	background: radial-gradient(circle, rgba(34, 231, 255, .1), transparent 62%);
}

.impact-orbit::before {
	content: "";
	position: absolute;
	inset: 66px;
	border: 1px solid rgba(34, 231, 255, .18);
	border-radius: 50%;
	animation: orbitBreathe 4.2s ease-in-out infinite;
}

.orbit-center {
	position: relative;
	z-index: 2;
	display: grid;
	place-items: center;
	width: 158px;
	aspect-ratio: 1;
	border: 1px solid rgba(33, 242, 166, .32);
	border-radius: 50%;
	background: rgba(1, 6, 16, .86);
}

.orbit-center strong {
	font-size: 26px;
}

.orbit-center span {
	color: var(--muted);
	font-size: 11px;
}

.impact-orbit > span {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 168px;
	padding: 12px;
	border: 1px solid rgba(34, 231, 255, .17);
	border-radius: 12px;
	background: rgba(3, 9, 22, .84);
	color: var(--soft);
	font-size: 12px;
	font-weight: 850;
	text-align: center;
	transform: translate(var(--x), var(--y));
}

.impact-orbit.compact > span:nth-of-type(1) { transform: translate(-154px, -92px); }
.impact-orbit.compact > span:nth-of-type(2) { transform: translate(148px, -88px); }
.impact-orbit.compact > span:nth-of-type(3) { transform: translate(-166px, 88px); }
.impact-orbit.compact > span:nth-of-type(4) { transform: translate(146px, 96px); }

.social-proof {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 12px;
}

.proof-card {
	padding: 18px;
}

.proof-card strong {
	display: block;
	margin-bottom: 8px;
	font-size: 34px;
	line-height: 1;
}

.proof-card span {
	color: var(--muted);
	font-size: 12px;
}

.journey-compare {
	display: grid;
	grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
	gap: 16px;
}

.journey-compare article {
	padding: 24px;
}

.journey-compare .featured {
	border-color: rgba(34, 231, 255, .3);
	background: radial-gradient(circle at 84% 0%, rgba(34, 231, 255, .14), transparent 38%), rgba(3, 9, 22, .82);
}

.journey-compare ul {
	display: grid;
	gap: 10px;
	padding-left: 18px;
}

.landing-final {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	align-items: center;
	padding: 36px;
	border: 1px solid rgba(33, 242, 166, .18);
	border-radius: 22px;
	background: linear-gradient(135deg, rgba(34, 231, 255, .08), rgba(33, 242, 166, .06)), rgba(3, 9, 22, .74);
}

.landing-final p {
	margin: 12px 0 0;
	color: var(--green);
	font-size: clamp(18px, 2vw, 26px);
	font-weight: 850;
}

@keyframes landingDraw {
	to { stroke-dashoffset: 0; }
}

@keyframes tickerScroll {
	from { transform: translateX(0); }
	to { transform: translateX(-50%); }
}

@keyframes executiveScoreFill {
	to { stroke-dashoffset: 41; }
}

@keyframes ratingReveal {
	from { opacity: 0; transform: translateY(12px) scale(.98); }
	to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes meterFill {
	from { width: 0; }
	to { width: calc(var(--score) * 1%); }
}

@keyframes scoreSpin {
	from { transform: rotate(-28deg) scale(.92); opacity: .2; }
	to { transform: rotate(0) scale(1); opacity: .88; }
}

@keyframes barRise {
	from { height: 0; opacity: .34; }
	to { height: var(--h); opacity: 1; }
}

@keyframes landingPulse {
	0%, 100% { transform: scale(1); opacity: .84; }
	50% { transform: scale(1.28); opacity: 1; }
}

@keyframes signalFlow {
	to { background-position: -200% 0; }
}

@keyframes orbitBreathe {
	0%, 100% { transform: scale(.96); opacity: .42; }
	50% { transform: scale(1.04); opacity: .82; }
}

.intelligence-workspace .page-head { align-items: end; }

.intelligence-head p {
	max-width: 760px;
	color: var(--muted);
	margin-top: 10px;
}

.intelligence-kpis,
.intelligence-summary-grid,
.competitor-card-grid,
.ai-engine-grid,
.trend-board,
.local-map-grid,
.gap-map {
	display: grid;
	gap: 14px;
	margin-bottom: 18px;
}

.intelligence-kpis { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.intelligence-summary-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.competitor-card-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ai-engine-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.trend-board { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.local-map-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.intel-kpi,
.intelligence-summary-grid article,
.competitor-intel-card,
.engine-card,
.trend-chart,
.gap-map div,
.local-map-grid button {
	border: 1px solid rgba(255, 255, 255, .1);
	background: linear-gradient(145deg, rgba(255, 255, 255, .065), rgba(255, 255, 255, .025));
	border-radius: 8px;
	padding: 18px;
	color: var(--text);
	box-shadow: 0 20px 50px rgba(0, 0, 0, .16);
}

.intel-kpi {
	min-height: 146px;
	display: grid;
	align-content: space-between;
	text-align: left;
	animation: riseIn .68s cubic-bezier(.16, 1, .3, 1) both;
}

.intel-kpi:nth-child(2) { animation-delay: .04s; }
.intel-kpi:nth-child(3) { animation-delay: .08s; }
.intel-kpi:nth-child(4) { animation-delay: .12s; }
.intel-kpi:nth-child(5) { animation-delay: .16s; }
.intel-kpi:nth-child(6) { animation-delay: .2s; }
.intel-kpi:nth-child(7) { animation-delay: .24s; }
.intel-kpi:nth-child(8) { animation-delay: .28s; }

.intel-kpi span,
.competitor-intel-card span,
.engine-card span,
.trend-chart span,
.gap-map span,
.intelligence-summary-grid article span {
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: var(--muted);
}

.intel-kpi strong {
	font-size: 36px;
	line-height: 1;
}

.intel-kpi small,
.intelligence-summary-grid article p,
.competitor-intel-card p,
.engine-card p,
.gap-map p,
.local-map-grid span,
.local-map-grid small {
	color: var(--muted);
}

.intel-kpi i,
.engine-card i {
	display: block;
	height: 7px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .08);
	overflow: hidden;
}

.intel-kpi i::before,
.engine-card i::before {
	content: "";
	display: block;
	height: 100%;
	width: var(--w);
	border-radius: inherit;
	background: linear-gradient(90deg, var(--cyan), var(--green));
	animation: fillBar 1.15s cubic-bezier(.16, 1, .3, 1) both;
}

.intel-kpi.accent,
.trend-chart.accent {
	border-color: rgba(34, 231, 255, .28);
	box-shadow: 0 22px 70px rgba(34, 231, 255, .1);
}

.intelligence-summary-grid article strong,
.gap-map strong {
	display: block;
	font-size: 20px;
	line-height: 1.15;
	margin: 8px 0;
}

.keyword-row,
.audit-row {
	display: grid;
	grid-template-columns: 1.45fr .55fr .55fr .75fr .7fr .7fr .9fr;
	gap: 12px;
	align-items: center;
	width: 100%;
	border: 0;
	border-bottom: 1px solid rgba(255, 255, 255, .08);
	background: transparent;
	color: var(--text);
	padding: 15px 18px;
	text-align: left;
}

.audit-row { grid-template-columns: 1.7fr .9fr .55fr .55fr auto; }

.keyword-row:not(.header):hover,
.audit-row:hover { background: rgba(34, 231, 255, .055); }

.keyword-row.header {
	color: var(--muted);
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: .08em;
	background: rgba(255, 255, 255, .04);
}

.keyword-row strong,
.audit-row strong { font-size: 15px; }

.opportunity-categories {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 18px;
}

.opportunity-categories button {
	border: 1px solid rgba(255, 255, 255, .11);
	background: rgba(255, 255, 255, .04);
	color: var(--muted);
	border-radius: 999px;
	padding: 9px 12px;
}

.opportunity-categories button.active {
	color: var(--text);
	border-color: rgba(34, 231, 255, .42);
	background: rgba(34, 231, 255, .11);
}

.competitor-intel-card {
	min-height: 210px;
	text-align: left;
	display: grid;
	align-content: space-between;
}

.competitor-intel-card strong {
	font-size: 26px;
	line-height: 1.08;
}

.competitor-intel-card.hot { border-color: rgba(255, 184, 108, .35); }
.competitor-intel-card.cool { border-color: rgba(88, 255, 180, .28); }
.intel-detail-board,
.top-opportunities,
.executive-audit { margin-top: 18px; }

.gap-map {
	grid-template-columns: 1fr 42px 1fr 42px 1fr;
	align-items: stretch;
}

.gap-map i {
	align-self: center;
	height: 2px;
	background: linear-gradient(90deg, rgba(34, 231, 255, .15), var(--cyan), rgba(88, 255, 180, .15));
}

.gap-map .recommended {
	border-color: rgba(88, 255, 180, .28);
	background: rgba(88, 255, 180, .07);
}

.engine-card {
	display: grid;
	gap: 12px;
	align-content: start;
	min-height: 178px;
}

.engine-card strong,
.local-map-grid strong {
	font-size: 24px;
}

.trend-chart {
	min-height: 210px;
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 8px;
	align-items: end;
	position: relative;
	overflow: hidden;
}

.trend-chart span,
.trend-chart strong {
	grid-column: 1 / -1;
	align-self: start;
}

.trend-chart strong {
	font-size: 30px;
	line-height: 1;
}

.trend-chart i {
	display: block;
	min-height: 28px;
	height: var(--h);
	border-radius: 7px 7px 0 0;
	background: linear-gradient(180deg, rgba(34, 231, 255, .9), rgba(88, 255, 180, .55));
	animation: barGrow 1s cubic-bezier(.16, 1, .3, 1) both;
}

.local-map-grid button {
	text-align: left;
	min-height: 154px;
	display: grid;
	gap: 8px;
}

.local-map-grid button.hot {
	border-color: rgba(255, 108, 108, .34);
	background: rgba(255, 108, 108, .06);
}

.local-map-grid button.warm { border-color: rgba(255, 184, 108, .34); }
.local-map-grid em { font-style: normal; }

@keyframes fillBar {
	from { width: 0; }
	to { width: var(--w); }
}

@keyframes barGrow {
	from { height: 0; opacity: .25; }
	to { height: var(--h); opacity: 1; }
}

@media (max-width: 1120px) {
	.phase20-hero { grid-template-columns: 1fr; }
	.phase20-side-viz { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.brief-stack,
	.scenario-rings { grid-template-rows: none; grid-template-columns: repeat(3, 1fr); }
	.visual-intelligence-board { grid-template-columns: 1fr; }
	.executive-visual-grid { grid-template-columns: 1fr; }
	.command-hero,
	.enterprise-hero,
	.concierge-hero,
	.subscription-hero,
	.enrollment-hero,
	.snapshot-hero,
	.essentials-hero,
	.auth-hero,
	.landing-hero,
	.impact-section,
	.command-grid,
	.enterprise-grid,
	.concierge-grid,
	.snapshot-grid,
	.essentials-grid {
		grid-template-columns: 1fr;
	}
	.landing-hero {
		min-height: auto;
	}
	.executive-news-ticker {
		top: 0;
	}
	.hero-intelligence,
	.premium-hero-viz {
		grid-template-columns: minmax(0, 1fr);
		min-height: auto;
	}
	.score-orbit {
		min-height: 250px;
	}
	.rating-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.landing-field-row,
	.landing-cta-row {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.command-row,
	.concierge-row {
		grid-template-columns: 1fr;
	}
	.execute-grid,
	.enterprise-kpis,
	.compliance-grid,
	.concierge-status-grid,
	.roi-grid,
	.pricing-grid,
	.social-proof,
	.auth-grid,
	.snapshot-opportunities,
	.essentials-stats,
	.executive-card-grid,
	.premium-stats-section,
	.testimonial-grid,
	.intelligence-kpis,
	.intelligence-summary-grid,
	.ai-engine-grid,
	.trend-board {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.competitor-card-grid,
	.local-map-grid,
	.gap-map {
		grid-template-columns: 1fr;
	}
	.gap-map i {
		width: 3px;
		height: 26px;
		justify-self: center;
		background: linear-gradient(180deg, rgba(34, 231, 255, .15), var(--cyan), rgba(88, 255, 180, .15));
	}
	.keyword-row,
	.audit-row {
		grid-template-columns: 1fr;
	}
	.node-a { transform: translate(-190px, -84px); }
	.node-b { transform: translate(190px, -72px); }
	.node-c { transform: translate(-168px, 132px); }
	.node-d { transform: translate(170px, 128px); }
}

@media (max-width: 680px) {
	.sidebar {
		max-height: 68vh;
		overflow-y: auto;
	}
	.landing-copy h1 {
		font-size: clamp(42px, 12vw, 58px);
	}
	.landing-field-row,
	.landing-cta-row {
		grid-template-columns: 1fr;
	}
	.landing-capture {
		padding: 14px;
	}
	.executive-news-ticker {
		position: relative;
	}
	.ticker-row span {
		min-height: 32px;
		padding: 0 16px;
		font-size: 10px;
	}
	.score-orbit {
		min-height: 220px;
	}
	.growth-viz-head,
	.rating-panel-head {
		display: grid;
		align-items: start;
	}
	.landing-chart {
		min-height: 360px;
		padding: 50px 14px 26px;
	}
	.chart-track {
		gap: 8px;
		height: 255px;
	}
	.chart-line-svg {
		inset: 74px 12px 92px;
		width: calc(100% - 24px);
		height: calc(100% - 166px);
	}
	.chart-callout {
		width: 132px;
		padding: 10px;
	}
	.chart-callout.a { left: 12px; top: 92px; }
	.chart-callout.b { right: 12px; top: 142px; }
	.chart-callout.c { right: 18px; bottom: 18px; }
	.rating-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.rating-card {
		min-height: 104px;
	}
	.intelligence-kpis,
	.intelligence-summary-grid,
	.ai-engine-grid,
	.trend-board,
	.executive-card-grid,
	.premium-stats-section,
	.testimonial-grid {
		grid-template-columns: 1fr;
	}
	.authority-row span {
		min-width: 300px;
		font-size: 16px;
		min-height: 72px;
	}
	.logo-marquee-row span {
		min-width: 126px;
	}
	.intel-kpi,
	.trend-chart {
		min-height: 132px;
	}
	.opportunity-categories {
		display: grid;
		grid-template-columns: 1fr 1fr;
	}
	.register-hero,
	.oauth-options {
		grid-template-columns: 1fr;
	}
	.phase20-hero { padding: 12px; }
	.phase20-main-viz { min-height: auto; padding: 14px; }
	.phase20-side-viz,
	.brief-stack,
	.scenario-rings,
	.journal-density { grid-template-columns: 1fr; }
	.health-orbit { min-height: 430px; }
	.orbit-core { width: 148px; }
	.orbit-core span { font-size: 48px; }
	.orbit-node { width: 78px; }
	.orbit-node strong { font-size: 18px; }
	.node-a { transform: translate(-92px, -142px); }
	.node-b { transform: translate(92px, -142px); }
	.node-c { transform: translate(-92px, 142px); }
	.node-d { transform: translate(92px, 142px); }
	.board-bars { gap: 7px; padding: 12px; }
	.board-bars div { min-height: 190px; }
	.phase20-area-chart,
	.memory-map { height: 260px; }
	.memory-map span { width: 58px; font-size: 9px; }
	.signal-pipeline,
	.forecast-cone,
	.opportunity-matrix,
	.decision-network { height: 260px; }
	.pipeline-node { transform: scale(.72); transform-origin: center; }
	.recommendation-causal-map {
		grid-template-columns: 1fr;
	}
	.cause-arrow {
		width: 4px;
		height: 32px;
		justify-self: center;
		background: linear-gradient(180deg, var(--cyan), transparent);
	}
	.memory-rail,
	.memory-rail.wide {
		grid-template-columns: 1fr;
	}
	.checklist-item {
		grid-template-columns: 42px 1fr;
	}
	.checklist-item .action-metrics,
	.checklist-item .action-buttons,
	.checklist-item > .ghost-button {
		grid-column: 2;
		justify-self: stretch;
	}
	.route-dashboard-html .executive-memory .memory-rail button {
		padding: 12px 12px 12px 44px;
		text-align: left;
	}
	.route-dashboard-html .executive-memory .memory-rail button::before {
		left: 22px;
		top: 50%;
		transform: translate(-50%, -50%);
	}
	.signal-ribbon,
	.memory-lane {
		grid-template-columns: 1fr;
	}
	.journal-mode .timeline-card,
	.compact-evidence .memory-row,
	.memory-row {
		grid-template-columns: 1fr;
		gap: 10px;
		align-items: start;
	}
	.journal-mode h3,
	.memory-row strong {
		font-size: 18px;
		line-height: 1.12;
	}
	.timeline-outcome {
		justify-items: start;
	}
	.signal-ribbon i {
		width: 4px;
		height: 28px;
		justify-self: center;
		background: linear-gradient(180deg, var(--cyan), transparent);
	}
	.status-ring-stack,
	.tree-branches,
	.tree-results,
	.waterfall-chart,
	.landing-nav,
	.landing-nav nav,
	.landing-capture,
	.landing-grid.three,
	.impact-section,
	.social-proof,
	.journey-compare,
	.landing-final,
	.command-hero-grid,
	.enterprise-score,
	.pipeline-board,
	.health-stack,
	.production-grid,
	.agent-grid,
	.performance-grid,
	.enterprise-kpis,
	.enterprise-forecast,
	.execute-grid,
	.compliance-grid,
	.report-actions,
	.concierge-plan-card div,
	.concierge-status-grid,
	.roi-grid,
	.team-roster,
	.meeting-options,
	.pricing-grid,
	.plan-progression,
	.plan-row,
	.concierge-tier-grid,
	.enroll-plan-grid,
	.form-grid,
	.choice-grid,
	.connection-grid,
	.enrollment-summary,
	.plan-progression.journey-progression,
	.snapshot-hero,
	.essentials-hero,
	.auth-hero,
	.snapshot-grid,
	.essentials-grid,
	.auth-grid,
	.snapshot-opportunities,
	.essentials-stats {
		grid-template-columns: 1fr;
		height: auto;
	}
	.landing-nav {
		position: static;
		flex-direction: column;
		align-items: stretch;
		padding: 16px;
	}
	.landing-nav nav {
		flex-wrap: wrap;
		gap: 10px;
	}
	.landing-nav nav a {
		min-height: 34px;
	}
	.landing-main {
		padding: 34px 16px 64px;
	}
	.landing-copy h1 {
		font-size: clamp(46px, 14vw, 68px);
	}
	.hero-intelligence {
		padding: 14px;
		border-radius: 18px;
	}
	.hero-viz-head {
		display: grid;
	}
	.hero-viz-head strong {
		font-size: 52px;
	}
	.hero-growth-chart {
		min-height: 310px;
	}
	.hero-viz-cards {
		display: none;
	}
	.signal-strip {
		grid-template-columns: 1fr;
	}
	.signal-strip i {
		height: 18px;
		width: 2px;
		justify-self: center;
		background: linear-gradient(180deg, transparent, rgba(34, 231, 255, .75), transparent);
	}
	.impact-orbit {
		min-height: 520px;
	}
	.impact-orbit > span {
		left: 50%;
		width: 146px;
	}
	.impact-orbit > span:nth-of-type(1) { transform: translate(-50%, -214px); }
	.impact-orbit > span:nth-of-type(2) { transform: translate(-50%, -142px); }
	.impact-orbit > span:nth-of-type(3) { transform: translate(-50%, 142px); }
	.impact-orbit > span:nth-of-type(4) { transform: translate(-50%, 214px); }
	.landing-final {
		flex-direction: column;
		align-items: start;
	}
	.plan-progression i {
		width: 3px;
		height: 26px;
		justify-self: center;
	}
	.live-notifications {
		position: static;
		margin: 16px;
	}
	.waterfall-bar {
		min-height: 74px;
	}
	.condition-map {
		height: 520px;
	}
	.map-cell {
		width: 124px;
	}
	.memory-rail::before {
		top: 7%;
		bottom: 7%;
		left: 22px;
		right: auto;
		width: 3px;
		height: auto;
		background: linear-gradient(180deg, var(--violet), var(--cyan), var(--green));
	}
	.snapshot-hero h1,
	.essentials-hero h1,
	.auth-hero h1 {
		font-size: clamp(38px, 12vw, 56px);
	}
	.snapshot-score strong {
		font-size: 64px;
	}
}
