/* DICE dashboard — flat, dense, hairline-bordered.
   Theme tokens live in theme.css. Dashboard uses denser body text. */

:root {
	--ink: var(--color-text-dense);
}

/* Layout + top nav
   =============================== */

.dashboard-layout {
	display: block;
	min-height: 100vh;
	margin: 0;
	background: var(--bg);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.topnav {
	position: sticky;
	top: 0;
	z-index: 20;
	display: flex;
	align-items: center;
	gap: 16px;
	height: var(--topnav-height);
	padding: 0 20px;
	background: var(--panel);
	border-bottom: 1px solid var(--line);
}

.topnav-brand {
	display: flex;
	align-items: center;
	gap: 9px;
	font-size: 1.05rem;
	font-weight: 800;
	color: var(--navy);
	letter-spacing: -0.02em;
	flex-shrink: 0;
}

.topnav-brand .brand-mark {
	width: 26px;
	height: 26px;
	flex: none;
}

.topnav-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	padding: 0;
	border: 1px solid var(--line);
	border-radius: var(--r);
	background: var(--panel);
	color: var(--navy);
	cursor: pointer;
}

.topnav-toggle svg {
	width: 22px;
	height: 22px;
}

.topnav-menu {
	display: flex;
	align-items: center;
	gap: 2px;
	overflow-x: auto;
}

.topnav-link {
	display: flex;
	align-items: center;
	gap: 7px;
	padding: 7px 12px;
	color: var(--muted);
	font-weight: 600;
	font-size: 0.9rem;
	white-space: nowrap;
	border-radius: var(--r);
}

.topnav-link:hover {
	background: var(--mist);
	color: var(--navy);
}

.topnav-link.active {
	color: var(--orange);
	background: var(--palette-orange-a08);
	font-weight: 700;
}

.topnav-link svg {
	width: 17px;
	height: 17px;
	flex-shrink: 0;
	opacity: 0.7;
}

.topnav-link.active svg {
	opacity: 1;
}

/* Role switcher */

.role-switch {
	position: relative;
	margin-left: auto;
	flex-shrink: 0;
}

.role-switch > summary {
	display: flex;
	align-items: center;
	gap: 8px;
	height: 36px;
	padding: 0 12px;
	border: 1px solid var(--line);
	border-radius: var(--r);
	background: var(--field);
	font-weight: 700;
	font-size: 0.88rem;
	cursor: pointer;
	list-style: none;
	white-space: nowrap;
}

.role-switch > summary::-webkit-details-marker {
	display: none;
}

.role-switch > summary:hover {
	border-color: var(--muted);
}

.role-switch[open] > summary {
	border-color: var(--orange);
}

.role-switch-kicker {
	color: var(--muted);
	font-size: 0.7rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.role-switch-label {
	color: var(--ink);
}

.role-switch > summary svg {
	width: 15px;
	height: 15px;
	opacity: 0.7;
}

.role-switch[open] > summary svg {
	transform: rotate(180deg);
}

.role-switch-menu {
	position: absolute;
	top: calc(100% + 6px);
	right: 0;
	min-width: 244px;
	background: var(--panel);
	border: 1px solid var(--line);
	border-radius: var(--r);
	padding: 5px;
	z-index: 30;
}

.role-switch-head {
	margin: 4px 8px 5px;
	color: var(--muted);
	font-size: 0.7rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.role-switch-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 9px 10px;
	border-radius: var(--r);
	color: var(--navy);
	font-weight: 600;
	font-size: 0.88rem;
}

.role-switch-item:hover {
	background: var(--mist);
}

.role-switch-item.active {
	color: var(--orange);
	background: var(--palette-orange-a08);
	font-weight: 700;
}

.role-switch-item svg {
	width: 15px;
	height: 15px;
	flex-shrink: 0;
}

/* Main content */

.dashboard-main {
	width: 100%;
	margin-inline: 0;
	min-width: 0;
	display: flex;
	flex-direction: column;
}

.dashboard-content {
	flex: 1;
	padding: 16px clamp(12px, 1.6vw, 32px);
}

/* Shared primitives
   =============================== */

.card {
	background: var(--panel);
	border: 1px solid var(--line);
	border-radius: var(--r);
	padding: 16px;
}

.card h2 {
	font-size: 1.05rem;
	margin-bottom: 8px;
	color: var(--navy-deep);
}

.card h3 {
	font-size: 0.98rem;
	margin-bottom: 6px;
	color: var(--navy);
}

.card p {
	margin: 0 0 10px;
	color: var(--muted);
	line-height: 1.5;
	font-size: 0.9rem;
}

.empty-state {
	font-size: 0.85rem;
	color: var(--muted);
}

.empty-state {
	font-style: italic;
}

.section-header,
.terminal-header,
.metric-row {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 14px;
}

.section-header h3,
.terminal-header h3 {
	margin: 0;
	color: var(--ink);
	font-size: 0.98rem;
}

.section-header span,
.strip-item span,
.signal-tile span,
.source-card span,
.funding-list span,
.event-list small,
.peer-row small {
	color: var(--muted);
	font-size: 0.8rem;
}

.link {
	color: var(--orange);
	font-weight: 650;
	font-size: 0.9rem;
	display: inline-flex;
	align-items: center;
	gap: 4px;
}

.link:hover {
	text-decoration: underline;
}

.link::after {
	content: '→';
}

.icon-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--line);
	border-radius: var(--r);
	background: var(--panel);
	color: var(--muted);
	font: inherit;
	font-weight: 900;
	cursor: pointer;
}

.icon-button:hover {
	color: var(--ink);
	border-color: var(--muted);
}

.panel-label {
	color: var(--muted);
	font-size: 0.8rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.meter {
	height: 8px;
	border-radius: 999px;
	background: var(--mist);
	overflow: hidden;
}

.meter span {
	display: block;
	height: 100%;
	background: var(--orange);
	border-radius: 999px;
}

.meter-sm {
	height: 5px;
}

.meter-lg {
	height: 12px;
}

.tone-good {
	color: var(--green);
}

.tone-watch {
	color: var(--amber);
}

.tone-ink {
	color: var(--ink);
}

/* Status chips + table primitives */

.info-pill {
	display: inline-flex;
	align-items: center;
	box-sizing: border-box;
	border: 1px solid var(--line);
	border-radius: 999px;
	background: var(--panel);
	color: var(--ink);
	white-space: nowrap;
}

.data-table-wrap {
	width: 100%;
	overflow: auto;
	border: 1px solid var(--line);
	border-radius: var(--r);
	background: var(--panel);
}

.data-table {
	width: 100%;
	border-collapse: collapse;
	background: var(--panel);
	color: var(--ink);
}

.data-table th,
.data-table td {
	border-bottom: 1px solid var(--line);
	text-align: left;
	vertical-align: middle;
}

.data-table th {
	background: var(--row-alt);
	color: var(--ink);
	font-weight: 800;
}

.data-table tr:last-child td {
	border-bottom: 0;
}

.data-table tbody tr:hover {
	background: var(--row-alt);
}

.source-pill {
	align-self: flex-start;
	min-width: 62px;
	text-align: center;
	border-radius: 999px;
	padding: 4px 8px;
	background: var(--blue-soft);
	color: var(--blue);
	font-size: 0.72rem;
	font-weight: 800;
}

.readiness-pill {
	width: fit-content;
	padding: 4px 8px;
	background: var(--blue-soft);
	color: var(--blue);
	font-weight: 800;
}

/* Page shell + hero (shared by every dashboard surface) */

.intelligence-shell,
.universe-shell,
.funding-shell,
.reports-shell,
.feed-shell,
.markets-shell,
	.documents-page,
	.score-page,
	.intel-workspace {
	width: 100%;
	max-width: none;
	margin: 0;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.page-hero,
.intel-hero {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 20px;
	background: var(--panel);
	border: 1px solid var(--line);
	border-radius: var(--r);
	padding: 14px 16px;
}

.page-hero h2,
.company-identity h2 {
	margin: 2px 0 6px;
	color: var(--ink);
	font-size: 1.15rem;
	line-height: 1.2;
}

.page-hero p:last-child {
	max-width: 780px;
	margin: 0;
	color: var(--muted);
	font-size: 0.88rem;
	line-height: 1.5;
}

/* Stat strip (hairline grid of metric tiles) */

.stat-strip,
.market-strip,
.universe-pulse,
.funding-summary,
.feed-summary,
.markets-strip {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1px;
	overflow: hidden;
	border: 1px solid var(--line);
	border-radius: var(--r);
	background: var(--line);
}

.stat-strip div,
.market-strip .strip-item,
.universe-pulse div,
.funding-summary div,
.feed-summary div,
.markets-strip div {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 3px;
	padding: 11px 13px;
	background: var(--panel);
}

.stat-strip span,
.stat-strip small,
.universe-pulse span,
.funding-summary span,
.feed-summary span,
.markets-strip span,
.markets-strip small {
	color: var(--muted);
	font-size: 0.78rem;
}

.stat-strip strong,
.universe-pulse strong,
.funding-summary strong,
.feed-summary strong,
.markets-strip strong {
	color: var(--ink);
	font-size: 1.25rem;
	line-height: 1;
}

.strip-item strong {
	color: var(--green);
	font-size: 0.9rem;
}

/* Form fields + data controls (shared) */

.form-group {
	margin-bottom: 16px;
}

.form-group label {
	display: block;
	margin-bottom: 5px;
	font-weight: 700;
	font-size: 0.9rem;
	color: var(--navy);
}

.data-filter-bar {
	display: grid;
	gap: 12px;
	align-items: end;
	background: var(--panel);
	border: 1px solid var(--line);
	border-radius: var(--r);
	padding: 14px;
}

.data-toolbar {
	display: grid;
	gap: 8px;
	align-items: end;
}

.data-field {
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.data-field span {
	color: var(--muted);
	font-size: 0.76rem;
	font-weight: 800;
	text-transform: uppercase;
}

.form-group input,
.data-field input,
.data-field select {
	width: 100%;
	min-height: 40px;
	border: 1px solid var(--line);
	border-radius: var(--r);
	padding: 0 12px;
	font: inherit;
	font-size: 0.9rem;
	color: var(--ink);
	background: var(--field);
}

.form-group input {
	background: var(--panel);
}

.form-group input:focus,
.data-field input:focus,
.data-field select:focus {
	border-color: var(--orange);
	outline: none;
}

.file-picker {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: center;
	gap: 10px;
	width: 100%;
	min-height: 56px;
	border: 1px dashed var(--line);
	border-radius: var(--r);
	padding: 10px;
	background: var(--row-alt);
	cursor: pointer;
}

.file-picker:hover,
.file-picker:focus-within {
	border-color: var(--orange);
	background: var(--panel);
}

.file-picker:focus-within {
	box-shadow: var(--focus-ring-soft);
}

.file-picker input[type="file"] {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
}

.file-picker-action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 36px;
	border-radius: var(--r);
	padding: 0 13px;
	background: var(--orange);
	color: var(--color-text-on-primary);
	font-size: 0.86rem;
	font-weight: 700;
}

.file-picker-name {
	min-width: 0;
	overflow: hidden;
	color: var(--muted);
	font-size: 0.88rem;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* Company intelligence (overview)
   =============================== */

.intel-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: flex-end;
}

.identity-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	color: var(--muted);
	font-size: 0.82rem;
}

.identity-meta span {
	border: 1px solid var(--line);
	border-radius: 999px;
	padding: 4px 9px;
	background: var(--row-alt);
}

.intel-grid {
	display: grid;
	grid-template-columns: 1.05fr 1fr 1fr;
	gap: 12px;
	align-items: start;
}

.score-terminal,
.peer-map-card,
.source-card {
	grid-column: span 2;
}

.score-terminal .score-value {
	font-size: 2.8rem;
	color: var(--orange);
}

.metric-row {
	margin-top: 14px;
	border-top: 1px solid var(--line);
	padding-top: 12px;
}

.metric-row div {
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.metric-row strong {
	color: var(--ink);
}

.signal-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	margin-top: 12px;
}

.signal-tile {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 5px;
	border: 1px solid var(--line);
	border-radius: var(--r);
	padding: 11px;
	background: var(--row-alt);
}

.signal-tile strong {
	color: var(--ink);
	font-size: 1.35rem;
	line-height: 1;
}

.signal-tile small {
	color: var(--muted);
	line-height: 1.3;
}

.signal-tile.good {
	background: var(--green-soft);
	border-color: var(--palette-green-a22);
}

.signal-tile.watch {
	background: var(--amber-soft);
	border-color: var(--palette-amber-a24);
}

/* Lists with hairline rows (events, funding, checks) */

.event-list,
.check-list,
.funding-list {
	list-style: none;
	margin: 12px 0 0;
	padding: 0;
}

.event-list li,
.funding-list li,
.check-list li {
	display: flex;
	gap: 12px;
	padding: 10px 0;
	border-bottom: 1px solid var(--line);
}

.event-list li:last-child,
.funding-list li:last-child,
.check-list li:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.event-list strong,
.funding-list strong,
.check-list strong,
.peer-row strong,
.source-card strong {
	color: var(--ink);
	font-size: 0.88rem;
}

.check-list li {
	align-items: center;
	justify-content: space-between;
}

.check-list li div,
.funding-list li div:first-child {
	display: flex;
	flex-direction: column;
	gap: 3px;
}

/* Emphasis chips (tone-tinted) shared across pages */

.check-list em,
.pack-checklist em,
.report-risk-list em,
.feed-event-action em {
	align-self: flex-start;
	font-style: normal;
	font-weight: 800;
	font-size: 0.74rem;
	border-radius: 999px;
	padding: 4px 8px;
	background: var(--amber-soft);
	color: var(--amber);
}

.check-list .good em,
.pack-checklist .good em,
.report-risk-list .good em {
	background: var(--green-soft);
	color: var(--green);
}

/* Peer table */

.peer-table {
	margin-top: 12px;
	border: 1px solid var(--line);
	border-radius: var(--r);
	overflow: hidden;
}

.peer-row {
	display: grid;
	grid-template-columns: 1.5fr 0.7fr 0.45fr 0.8fr;
	gap: 14px;
	align-items: center;
	padding: 9px 12px;
	border-bottom: 1px solid var(--line);
	font-size: 0.86rem;
}

.peer-row:last-child {
	border-bottom: 0;
}

.peer-head {
	background: var(--row-alt);
	color: var(--muted);
	font-weight: 800;
	font-size: 0.74rem;
	text-transform: uppercase;
}

.fit-score {
	width: 54px;
	height: 54px;
	border-radius: var(--r);
	display: grid;
	place-items: center;
	align-content: center;
	background: var(--green-soft);
	color: var(--green);
	flex-shrink: 0;
}

.fit-score strong {
	color: var(--green);
	font-size: 1.02rem;
}

.fit-score span {
	font-size: 0.66rem;
	font-weight: 800;
}

.source-columns {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	margin-top: 12px;
}

.source-columns h4 {
	margin: 0 0 8px;
	color: var(--ink);
	font-size: 0.84rem;
}

.source-card p {
	margin: 0;
	padding: 9px 0;
	border-top: 1px solid var(--line);
	display: flex;
	flex-direction: column;
	gap: 3px;
}

/* Score card + quick upload + recent docs (overview) */

.score-value {
	font-size: 2.6rem;
	font-weight: 800;
	color: var(--navy-deep);
	letter-spacing: -0.03em;
	line-height: 1;
}

.quick-upload-card .upload-row {
	display: flex;
	gap: 10px;
	align-items: center;
}

.quick-upload-card .file-picker {
	flex: 1;
	min-height: 44px;
	border-style: solid;
	background: var(--field);
}

.doc-name {
	flex: 1;
	color: var(--navy-deep);
	font-weight: 650;
}

/* Universe screener
   =============================== */

.screener-bar {
	grid-template-columns: minmax(240px, 1.4fr) minmax(180px, 0.8fr) minmax(160px, 0.65fr) auto;
}

.universe-results {
	overflow: hidden;
	min-width: 0;
}

.company-table {
	margin-top: 12px;
	border: 1px solid var(--line);
	border-radius: var(--r);
	overflow-x: auto;
	width: 100%;
}

.company-row {
	min-width: 1040px;
	display: grid;
	grid-template-columns: 1.65fr 0.65fr 0.72fr 0.8fr 0.65fr 1.1fr;
	gap: 14px;
	align-items: center;
	padding: 9px 12px;
	border-bottom: 1px solid var(--line);
	background: var(--panel);
	font-size: 0.86rem;
}

.company-row:nth-child(even) {
	background: var(--row-alt);
}

.company-row:last-child {
	border-bottom: 0;
}

.company-head,
.company-head:nth-child(even) {
	background: var(--row-alt);
	color: var(--muted);
	font-size: 0.74rem;
	font-weight: 800;
	text-transform: uppercase;
}

.company-row strong {
	color: var(--ink);
	font-size: 0.88rem;
}

.company-row small {
	display: block;
	margin-top: 3px;
	color: var(--muted);
	line-height: 1.35;
}

/* Company exploration
   =============================== */

.exploration-shell {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.exploration-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px;
	padding: 18px 0 4px;
}

.exploration-kicker {
	margin: 0 0 8px;
	color: var(--muted);
	font-size: 0.82rem;
	font-weight: 750;
}

.exploration-head h1 {
	margin: 0;
	color: var(--ink);
	font-size: clamp(1.55rem, 2vw, 2rem);
	line-height: 1.1;
}

.exploration-actions,
.exploration-tool-buttons,
.exploration-page-buttons {
	display: flex;
	align-items: center;
	gap: 8px;
}

.exploration-results {
	min-width: 0;
}

.exploration-toolbar {
	grid-template-columns: minmax(280px, 1fr) auto;
	margin-bottom: 8px;
}

.exploration-search span {
	font-size: 0.74rem;
}

.exploration-search input,
.exploration-filters select {
	min-height: 42px;
	background: var(--panel);
}

.exploration-tool-buttons .button strong {
	display: inline-flex;
	align-items: center;
	min-height: 22px;
	margin-left: 5px;
	border-radius: 999px;
	padding: 0 8px;
	background: var(--green-soft);
	color: var(--green);
	font-size: 0.78rem;
}

.filter-clear-all span {
	color: var(--muted);
	font-size: 1rem;
	line-height: 1;
}

.exploration-filters {
	display: grid;
	grid-template-columns: minmax(150px, 0.8fr) minmax(190px, 1fr) minmax(260px, 1.3fr) minmax(150px, 0.75fr) auto;
	gap: 8px;
	align-items: end;
	margin-bottom: 8px;
}

.exploration-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 12px;
}

.exploration-chip {
	min-height: 30px;
	border: 1px solid var(--line);
	padding: 0 11px;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--panel);
	color: var(--muted);
	font: inherit;
	font-size: 0.82rem;
	font-weight: 700;
	cursor: default;
}

.exploration-chip.active {
	border-color: var(--green);
	background: var(--green);
	color: var(--color-text-on-primary);
	cursor: pointer;
}

.exploration-chip.active span {
	font-size: 0.96rem;
	line-height: 1;
	opacity: 0.85;
}

.exploration-chip.active:hover {
	background: var(--color-good-hover);
	border-color: var(--color-good-hover);
}

.exploration-table-wrap {
	background: var(--panel);
}

.exploration-table {
	min-width: 1280px;
	font-size: 0.86rem;
}

.exploration-table th,
.exploration-table td {
	padding: 10px 10px;
}

.exploration-table th {
	position: sticky;
	top: 0;
	z-index: 1;
	font-size: 0.78rem;
}

.exploration-table td:first-child {
	min-width: 300px;
}

.exploration-table strong {
	display: block;
	color: var(--ink);
	font-size: 0.9rem;
	line-height: 1.25;
}

.exploration-table small {
	display: block;
	margin-top: 4px;
	color: var(--muted);
	font-size: 0.77rem;
	line-height: 1.3;
}

.exploration-pill {
	display: inline-block;
	max-width: min(260px, 100%);
	min-height: 26px;
	line-height: 24px;
	padding: 0 9px;
	font-size: 0.78rem;
	font-weight: 750;
	overflow-x: auto;
	overflow-y: hidden;
	scrollbar-width: thin;
	vertical-align: middle;
}

.exploration-pill::-webkit-scrollbar {
	height: 4px;
}

.exploration-pill::-webkit-scrollbar-thumb {
	background: var(--line-strong);
	border-radius: 999px;
}

.exploration-pill.muted {
	color: var(--muted);
	font-weight: 650;
}

.exploration-menu {
	width: 34px;
	height: 34px;
}

.exploration-pagination {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 52px;
	padding: 10px;
	border: 1px solid var(--line);
	border-top: 0;
	border-radius: 0 0 var(--r) var(--r);
	background: var(--row-alt);
	color: var(--ink);
	font-size: 0.88rem;
	font-weight: 650;
}

.exploration-page-buttons button {
	width: 38px;
	height: 34px;
	border: 1px solid var(--line);
	border-radius: var(--r);
	background: var(--panel);
	color: var(--ink);
	font: inherit;
	font-size: 1.1rem;
	cursor: pointer;
}

.exploration-page-buttons button:disabled {
	color: var(--muted);
	background: var(--field);
	cursor: not-allowed;
	opacity: 0.55;
}

/* Tile-head + definition rows */

.opportunity-head {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 14px;
}

.opportunity-head span {
	color: var(--muted);
	font-size: 0.74rem;
	font-weight: 800;
	text-transform: uppercase;
}

.opportunity-head h3 {
	margin: 3px 0 0;
	color: var(--ink);
	font-size: 0.98rem;
}

.opportunity-card dl {
	display: grid;
	gap: 7px;
	margin: 0;
}

.opportunity-card dl div {
	display: grid;
	grid-template-columns: 92px 1fr;
	gap: 10px;
	padding-top: 7px;
	border-top: 1px solid var(--line);
}

.opportunity-card dt {
	color: var(--muted);
	font-size: 0.76rem;
	font-weight: 800;
}

.opportunity-card dd {
	margin: 0;
	color: var(--ink);
	font-size: 0.85rem;
	line-height: 1.35;
}

/* Funding
   =============================== */

.funding-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	gap: 12px;
	align-items: start;
}

.funding-opportunities {
	min-width: 0;
}

.opportunity-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin-top: 12px;
}

.opportunity-card {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.opportunity-card p {
	display: flex;
	flex-direction: column;
	gap: 3px;
	padding: 10px;
	border-radius: var(--r);
	background: var(--row-alt);
}

.opportunity-card p strong {
	color: var(--ink);
}

.opportunity-card p span {
	color: var(--muted);
	font-size: 0.85rem;
}

.opportunity-card form {
	margin-top: auto;
}

.funding-pack {
	position: sticky;
	top: calc(var(--topnav-height) + 12px);
}

.pack-score {
	display: grid;
	grid-template-columns: 60px 1fr;
	gap: 12px;
	align-items: center;
	margin: 14px 0;
	padding: 12px;
	border-radius: var(--r);
	background: var(--row-alt);
}

.pack-score > strong {
	color: var(--orange);
	font-size: 2rem;
	line-height: 1;
}

.pack-score span {
	display: block;
	margin-bottom: 7px;
	color: var(--muted);
	font-size: 0.8rem;
}

.pack-checklist {
	list-style: none;
	margin: 0;
	padding: 0;
}

.pack-checklist li {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 10px 0;
	border-bottom: 1px solid var(--line);
}

.pack-checklist li:last-child {
	border-bottom: 0;
}

.pack-checklist strong {
	display: block;
	color: var(--ink);
	font-size: 0.88rem;
}

.pack-checklist span {
	display: block;
	margin-top: 3px;
	color: var(--muted);
	font-size: 0.83rem;
	line-height: 1.35;
}

.pack-note {
	margin-top: 10px;
	color: var(--muted);
}

/* Reports
   =============================== */

.report-toolbar,
.report-preview {
	background: var(--panel);
	border: 1px solid var(--line);
	border-radius: var(--r);
}

.report-toolbar {
	display: flex;
	gap: 8px;
	align-items: center;
	padding: 10px;
}

.report-toolbar label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 38px;
	border: 1px solid var(--line);
	border-radius: var(--r);
	padding: 0 12px;
	color: var(--muted);
	font-weight: 800;
	font-size: 0.86rem;
	cursor: pointer;
}

.report-toolbar label.active {
	background: var(--palette-orange-a08);
	border-color: var(--palette-orange-a25);
	color: var(--orange);
}

.report-toolbar input {
	accent-color: var(--orange);
}

.report-toolbar .button {
	margin-left: auto;
}

.report-preview {
	overflow: hidden;
}

.report-cover {
	display: flex;
	justify-content: space-between;
	gap: 24px;
	padding: 22px;
	border-bottom: 1px solid var(--line);
	background: var(--row-alt);
}

.report-cover h2 {
	margin: 2px 0 6px;
	color: var(--ink);
	font-size: 1.5rem;
	line-height: 1.12;
}

.report-cover p:last-child {
	max-width: 680px;
	margin: 0;
	color: var(--muted);
}

.report-score {
	width: 104px;
	height: 104px;
	border-radius: var(--r);
	display: grid;
	place-items: center;
	align-content: center;
	background: var(--green-soft);
	color: var(--green);
	flex-shrink: 0;
}

.report-score strong {
	color: var(--green);
	font-size: 2.3rem;
	line-height: 1;
}

.report-score span {
	font-size: 0.76rem;
	font-weight: 800;
}

.report-metrics {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1px;
	background: var(--line);
	border-bottom: 1px solid var(--line);
}

.report-metrics div {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 3px;
	padding: 13px;
	background: var(--panel);
}

.report-metrics span,
.report-metrics small {
	color: var(--muted);
	font-size: 0.78rem;
}

.report-metrics strong {
	color: var(--ink);
	font-size: 1.2rem;
}

.report-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(280px, 0.75fr);
	gap: 12px;
	padding: 14px;
}

.report-actions-card {
	grid-column: 1 / -1;
}

.report-section {
	padding: 12px 0;
	border-bottom: 1px solid var(--line);
}

.report-section:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.report-section h4 {
	margin: 0 0 5px;
	color: var(--ink);
	font-size: 0.94rem;
}

.report-section p {
	margin: 0;
	color: var(--muted);
}

.report-risk-list {
	list-style: none;
	margin: 12px 0 0;
	padding: 0;
}

.report-risk-list li {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 10px 0;
	border-bottom: 1px solid var(--line);
}

.report-risk-list li:last-child {
	border-bottom: 0;
}

.report-risk-list strong {
	display: block;
	color: var(--ink);
	font-size: 0.88rem;
}

.report-risk-list span {
	display: block;
	margin-top: 3px;
	color: var(--muted);
	font-size: 0.83rem;
	line-height: 1.35;
}

.report-actions-card ol {
	margin: 10px 0 0;
	padding-left: 18px;
	color: var(--muted);
	line-height: 1.55;
}

/* Feed
   =============================== */

.feed-filter-bar {
	grid-template-columns: minmax(180px, 1fr) minmax(180px, 1fr) auto;
}

.feed-events {
	list-style: none;
	margin: 12px 0 0;
	padding: 0;
}

.feed-events li {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 150px;
	gap: 16px;
	padding: 13px 0;
	border-bottom: 1px solid var(--line);
}

.feed-events li:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.feed-event-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 7px;
}

.feed-event-meta span {
	border-radius: 999px;
	padding: 3px 8px;
	background: var(--row-alt);
	color: var(--muted);
	font-size: 0.72rem;
	font-weight: 800;
}

.feed-event-main strong {
	display: block;
	color: var(--ink);
	font-size: 0.96rem;
}

.feed-event-main p {
	margin: 5px 0 0;
	color: var(--muted);
}

.feed-event-action {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 8px;
}

/* Markets
   =============================== */

.markets-trending {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}

.markets-trending-label {
	color: var(--muted);
	font-size: 0.72rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.trend-chip {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 5px 11px;
	border: 1px solid var(--line);
	border-radius: 999px;
	background: var(--panel);
}

.trend-chip:hover {
	border-color: var(--muted);
}

.trend-chip strong {
	color: var(--ink);
	font-size: 0.82rem;
}

.trend-chip em {
	font-style: normal;
	font-weight: 800;
	font-size: 0.78rem;
}

.markets-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 12px;
	align-items: start;
}

.markets-panel .section-header {
	margin-bottom: 10px;
}

.mover-list,
.sector-list,
.filing-list,
.pulse-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.mover-list li,
.sector-list li,
.filing-list li,
.pulse-list li {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 9px 0;
	border-bottom: 1px solid var(--line);
}

.mover-list li:first-child,
.sector-list li:first-child,
.filing-list li:first-child,
.pulse-list li:first-child {
	padding-top: 0;
}

.mover-list li:last-child,
.sector-list li:last-child,
.filing-list li:last-child,
.pulse-list li:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.mover-list li div,
.filing-list li div {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.mover-list strong,
.filing-list strong {
	color: var(--ink);
	font-size: 0.88rem;
}

.mover-list small,
.filing-list small {
	color: var(--muted);
	font-size: 0.78rem;
}

.mover-list em,
.sector-list em {
	margin-left: auto;
	font-style: normal;
	font-weight: 800;
	font-size: 0.85rem;
	white-space: nowrap;
}

.sector-list li span {
	color: var(--ink);
	font-size: 0.88rem;
	font-weight: 600;
}

.filing-list .source-pill {
	align-self: flex-start;
}

.pulse-list li span {
	color: var(--muted);
	font-size: 0.88rem;
}

.pulse-list li strong {
	margin-left: auto;
	font-size: 0.98rem;
}

/* Data Room
   =============================== */

.documents-page {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.data-room-header {
	display: grid;
	grid-template-columns: minmax(320px, 1.15fr) minmax(280px, 0.85fr) auto;
	align-items: center;
	gap: 18px;
	padding: 16px 18px;
}

.data-room-title {
	min-width: 0;
}

.data-room-title h2 {
	margin: 2px 0 6px;
	color: var(--ink);
	font-size: 1.15rem;
	line-height: 1.2;
}

.data-room-title p:last-child,
.data-room-progress-card p {
	margin: 0;
	color: var(--muted);
	font-size: 0.84rem;
	line-height: 1.45;
}

.data-room-progress-card {
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding-left: 18px;
	border-left: 1px solid var(--line);
}

.data-room-progress-card .section-header {
	margin: 0;
}

.data-room-progress-card h3 {
	margin: 0;
	color: var(--ink);
	font-size: 0.88rem;
}

.data-room-progress-row {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: center;
	gap: 12px;
}

.data-room-progress-row strong {
	color: var(--ink);
	font-size: 1.25rem;
	line-height: 1;
}

.data-room-header-actions {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	gap: 8px;
}

.data-room-header-actions .button {
	width: 180px;
	min-height: 38px;
	white-space: nowrap;
}

.data-room-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 12px;
	align-items: stretch;
}

.data-room-grid.rooms-8 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.data-room-grid.rooms-9 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.data-room-card {
	position: relative;
	min-height: 250px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	color: inherit;
	overflow: hidden;
}

.data-room-card-link {
	position: absolute;
	inset: 0;
	z-index: 1;
	border-radius: inherit;
}

.data-room-card:hover {
	border-color: var(--muted);
}

.data-room-card-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
}

.data-room-card-head div {
	min-width: 0;
	display: flex;
}

.data-room-card-state {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
	max-width: 58%;
	min-width: 0;
}

.data-room-card h3,
.data-room-detail-main h3,
.data-room-side-card h3 {
	margin: 0;
	color: var(--ink);
	font-size: 0.98rem;
}

.data-room-card p,
.data-room-progress-card p,
.data-room-side-card p {
	margin: 0;
	color: var(--muted);
	font-size: 0.84rem;
	line-height: 1.45;
}

.status-dot {
	width: 9px;
	height: 9px;
	border-radius: 999px;
	background: var(--muted);
	flex: 0 0 auto;
}

.status-dot.good {
	background: var(--green);
}

.status-dot.watch {
	background: var(--orange);
}

.status-dot.muted {
	background: var(--muted);
}

.data-room-status {
	flex: 0 0 auto;
	max-width: 100%;
	padding: 3px 9px;
	color: var(--muted);
	font-size: 0.72rem;
	font-weight: 800;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.data-room-status.good {
	border-color: var(--green);
	background: var(--green-soft);
	color: var(--green);
}

.data-room-status.watch {
	border-color: var(--palette-orange-a35);
	background: var(--palette-orange-a08);
	color: var(--orange);
}

.compact-list,
.data-room-pull-list,
.provider-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.compact-list {
	display: grid;
	gap: 7px;
}

.compact-list li,
.data-room-pull-list li {
	position: relative;
	padding-left: 14px;
	color: var(--muted);
	font-size: 0.8rem;
	line-height: 1.35;
}

.compact-list li::before,
.data-room-pull-list li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 5px;
	height: 5px;
	border-radius: 999px;
	background: var(--orange);
}

.compact-list li:nth-child(n+4) {
	display: none;
}

.data-room-card-foot {
	position: relative;
	z-index: 2;
	margin-top: auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding-top: 10px;
	border-top: 1px solid var(--line);
}

.data-room-card-foot span {
	color: var(--muted);
	font-size: 0.78rem;
}

.data-room-card-actions {
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
	flex: 0 0 auto;
}

.data-room-card-foot form {
	margin: 0;
	flex: 0 0 auto;
}

.data-room-card-cta {
	border: 0;
	background: transparent;
	color: var(--orange);
	font: inherit;
	font-size: 0.8rem;
	font-weight: 800;
	white-space: nowrap;
	cursor: pointer;
	text-decoration: none;
}

.data-room-card-cta:hover {
	color: var(--orange-deep);
	text-decoration: underline;
}

.data-room-card-cta.muted {
	color: var(--muted);
}

.data-room-detail-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 360px;
	gap: 12px;
	align-items: start;
}

.data-room-detail-main,
.data-room-artifacts-card,
.data-room-upload-card {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.data-room-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.data-room-side-card {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.provider-list {
	display: grid;
	gap: 8px;
}

.provider-list a {
	color: var(--navy);
	font-size: 0.84rem;
	font-weight: 700;
}

.provider-list a:hover {
	color: var(--orange);
	text-decoration: underline;
}

.artifact-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

.artifact-grid div {
	border: 1px solid var(--line);
	border-radius: var(--r);
	background: var(--row-alt);
	padding: 10px;
}

.artifact-grid strong {
	display: block;
	color: var(--ink);
	font-size: 0.86rem;
}

.artifact-grid span {
	display: block;
	margin-top: 3px;
	color: var(--muted);
	font-size: 0.78rem;
}

.upload-form {
	margin-top: 14px;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.upload-zone .button.primary {
	align-self: flex-start;
}

.document-readiness ul {
	display: grid;
	gap: 0;
	margin: 12px 0 0;
	padding: 0;
	list-style: none;
}

.document-readiness li {
	display: flex;
	flex-direction: column;
	gap: 3px;
	padding: 10px 0;
	border-top: 1px solid var(--line);
}

.document-readiness strong {
	color: var(--ink);
	font-size: 0.88rem;
}

.document-readiness span {
	color: var(--muted);
	font-size: 0.82rem;
}

.doc-table {
	font-size: 0.9rem;
}

.doc-table th {
	padding: 9px 14px;
	color: var(--muted);
	font-weight: 700;
	font-size: 0.76rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.doc-table td {
	padding: 10px 14px;
}

.doc-table .doc-name {
	font-weight: 650;
	color: var(--navy-deep);
}

.badge {
	padding: 3px 10px;
	font-size: 0.78rem;
	font-weight: 650;
	text-transform: capitalize;
}

.badge-financial {
	background: var(--success-light);
	color: var(--success);
}

.badge-governance {
	background: var(--palette-navy-a08);
	color: var(--navy);
}

.badge-legal {
	background: var(--palette-orange-a10);
	color: var(--orange);
}

.badge-other {
	background: var(--mist);
	color: var(--muted);
}

/* Score page
   =============================== */

.score-page {
	display: grid;
	gap: 16px;
}

.score-main-card {
	text-align: center;
	padding: 28px 24px;
}

.score-big {
	font-size: 4rem;
	font-weight: 800;
	color: var(--navy-deep);
	margin: 12px 0;
	letter-spacing: -0.03em;
	line-height: 1;
}

.score-components {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 16px;
}

.score-component-card h3 {
	margin-bottom: 4px;
}

.component-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 12px;
}

.component-header strong {
	font-size: 1.2rem;
	color: var(--navy-deep);
	font-weight: 800;
}

.recommendations {
	list-style: none;
	margin: 12px 0 0;
	padding: 0;
	font-size: 0.86rem;
	color: var(--muted);
}

.recommendations li {
	margin-bottom: 5px;
	padding-left: 19px;
	position: relative;
}

.recommendations li::before {
	content: counter(list-item);
	counter-increment: list-item;
	position: absolute;
	left: 0;
	color: var(--orange);
	font-weight: 700;
	font-size: 0.8rem;
}

.complete {
	color: var(--success);
	font-weight: 700;
	margin-top: 8px;
	font-size: 0.9rem;
	display: flex;
	align-items: center;
	gap: 6px;
}

.complete::before {
	content: '✓';
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 17px;
	height: 17px;
	border-radius: 50%;
	background: var(--success-light);
	color: var(--success);
	font-size: 0.68rem;
	font-weight: 800;
}

.actions-card {
	grid-column: 1 / -1;
}

.actions-card ul {
	margin: 0 0 16px;
	padding: 0;
	list-style: none;
	color: var(--muted);
	line-height: 1.6;
	font-size: 0.92rem;
}

.actions-card li {
	padding-left: 18px;
	position: relative;
	margin-bottom: 5px;
}

.actions-card li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 9px;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--orange);
}

.actions-card .button {
	display: inline-flex;
}

.score-empty-card {
	text-align: center;
	padding: 48px 32px;
	display: grid;
	gap: 12px;
	justify-items: center;
	max-width: 480px;
	margin-inline: auto;
}

.score-empty-card h3 {
	margin: 0;
}

.score-empty-card p {
	color: var(--muted);
	line-height: 1.55;
	margin: 0;
}

.score-meta {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 10px;
	margin-top: 14px;
	font-size: 0.86rem;
	color: var(--muted);
}

.score-band {
	display: inline-flex;
	align-items: center;
	padding: 3px 12px;
	border-radius: var(--radius-pill);
	font-weight: 800;
	font-size: 0.78rem;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

.band-platinum {
	background: var(--palette-orange-a12);
	color: var(--orange-deep);
}

.band-gold {
	background: var(--amber-soft);
	color: var(--amber);
}

.band-silver {
	background: var(--mist);
	color: var(--muted);
}

.band-bronze {
	background: var(--palette-orange-a08);
	color: var(--navy-deep);
}

.score-confidence,
.score-generated {
	color: var(--muted);
}

.score-summary {
	max-width: 560px;
	margin: 16px auto 0;
	color: var(--muted);
	font-size: 0.92rem;
	line-height: 1.5;
}

.component-weight {
	margin: 0 0 8px;
	color: var(--muted);
	font-size: 0.8rem;
	font-weight: 650;
}

.component-rationale {
	margin: 12px 0 0;
	color: var(--muted);
	font-size: 0.88rem;
	line-height: 1.5;
}

.component-parameters {
	margin-top: 14px;
	border-top: 1px solid var(--line);
	padding-top: 10px;
}

.component-parameters summary {
	cursor: pointer;
	font-weight: 700;
	font-size: 0.84rem;
	color: var(--navy);
}

.parameter-list {
	list-style: none;
	margin: 12px 0 0;
	padding: 0;
	display: grid;
	gap: 10px;
}

.parameter-row {
	border-left: 3px solid var(--line);
	padding: 4px 0 4px 12px;
}

.parameter-row.status-available {
	border-left-color: var(--success);
}

.parameter-row.status-unavailable {
	border-left-color: var(--line-strong);
}

.parameter-head {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	font-size: 0.86rem;
}

.parameter-name {
	font-weight: 700;
	color: var(--navy);
}

.parameter-status {
	color: var(--muted);
	font-size: 0.76rem;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	font-weight: 700;
}

.parameter-rationale {
	margin: 4px 0 0;
	color: var(--muted);
	font-size: 0.84rem;
	line-height: 1.45;
}

/* Responsive
   =============================== */

@media (max-width: 1180px) {
	.intel-grid {
		grid-template-columns: 1fr 1fr;
	}

	.score-terminal,
	.peer-map-card,
	.source-card {
		grid-column: span 2;
	}

	.market-strip {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.data-room-grid.rooms-8,
	.data-room-grid.rooms-9 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 860px) {
	.topnav {
		padding: 0 16px;
		gap: 10px;
	}

	.topnav-toggle {
		display: flex;
	}

	.role-switch-kicker {
		display: none;
	}

	.role-switch > summary {
		padding: 0 10px;
	}

	.topnav-menu {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		flex-direction: column;
		align-items: stretch;
		gap: 2px;
		padding: 0 8px;
		background: var(--panel);
		border-bottom: 1px solid var(--line);
		box-shadow: var(--shadow-nav);
		overflow: hidden;
		max-height: 0;
		visibility: hidden;
		transition: max-height 0.2s ease, padding 0.2s ease, visibility 0.2s;
	}

	.topnav-menu.open {
		max-height: calc(100vh - var(--topnav-height));
		padding: 8px;
		visibility: visible;
		overflow-y: auto;
	}

	.topnav-link {
		font-size: 1rem;
		padding: 11px 13px;
	}

	.dashboard-content {
		padding: 12px;
	}

	.intel-hero,
	.intel-actions,
	.terminal-header,
	.metric-row {
		flex-direction: column;
		align-items: stretch;
	}

	.intel-grid,
	.signal-grid,
	.source-columns,
	.market-strip,
	.universe-pulse,
	.score-components {
		grid-template-columns: 1fr;
	}

	.page-hero,
	.report-cover,
	.screener-bar,
	.feed-filter-bar {
		flex-direction: column;
		grid-template-columns: 1fr;
	}

	.exploration-head {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		align-items: start;
		gap: 10px;
		padding-top: 18px;
	}

	.exploration-head h1 {
		font-size: 1.55rem;
	}

	.exploration-actions {
		justify-content: flex-start;
	}

	.exploration-actions,
	.exploration-tool-buttons {
		flex-wrap: wrap;
	}

	.exploration-actions .button,
	.exploration-tool-buttons .button {
		min-height: 38px;
		padding: 0 12px;
	}

	.exploration-toolbar {
		display: grid;
		grid-template-columns: 1fr;
		gap: 8px;
		margin-bottom: 8px;
	}

	.exploration-tool-buttons {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, max-content));
		justify-content: start;
	}

	.exploration-search span {
		font-size: 0.7rem;
	}

	.exploration-search input {
		min-height: 38px;
	}

	.exploration-filters {
		display: flex;
		align-items: center;
		gap: 8px;
		margin: 0 -12px 8px;
		padding: 0 12px 2px;
		overflow-x: auto;
		scrollbar-width: none;
	}

	.exploration-filters::-webkit-scrollbar {
		display: none;
	}

	.exploration-filters label {
		flex: 0 0 auto;
		display: block;
	}

	.exploration-filters label span {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
		white-space: nowrap;
	}

	.exploration-filters select {
		width: auto;
		max-width: 240px;
		min-height: 36px;
		border-radius: 999px;
		padding: 0 34px 0 12px;
		background-color: var(--panel);
		font-size: 0.82rem;
		font-weight: 750;
	}

	.exploration-filters .button {
		flex: 0 0 auto;
		min-height: 36px;
		border-radius: 999px;
		padding: 0 14px;
	}

	.exploration-chips {
		margin-bottom: 8px;
	}

	.exploration-chip {
		min-height: 28px;
		padding: 0 10px;
		font-size: 0.78rem;
	}

	.exploration-table {
		min-width: 980px;
	}

	.exploration-table th,
	.exploration-table td {
		padding: 9px 10px;
	}

	.data-room-header,
	.data-room-grid,
	.data-room-detail-grid,
	.funding-summary,
	.funding-layout,
	.opportunity-grid,
	.report-metrics,
	.report-grid,
	.feed-summary {
		grid-template-columns: 1fr;
	}

	.data-room-grid.rooms-8,
	.data-room-grid.rooms-9 {
		grid-template-columns: 1fr;
	}

	.data-room-header {
		align-items: stretch;
		gap: 12px;
	}

	.data-room-progress-card {
		padding-left: 0;
		padding-top: 12px;
		border-left: 0;
		border-top: 1px solid var(--line);
	}

	.data-room-header-actions {
		justify-content: flex-start;
	}

	.data-room-header-actions .button {
		width: 100%;
	}

	.stat-strip,
	.markets-strip {
		grid-template-columns: 1fr 1fr;
	}

	.feed-events li {
		grid-template-columns: 1fr;
	}

	.feed-event-action {
		align-items: flex-start;
	}

	.artifact-grid {
		grid-template-columns: 1fr;
	}

	.report-toolbar {
		flex-wrap: wrap;
	}

	.report-toolbar .button {
		width: 100%;
		margin-left: 0;
	}

	.report-actions-card {
		grid-column: span 1;
	}

	.funding-pack {
		position: static;
	}

	.score-terminal,
	.peer-map-card,
	.source-card {
		grid-column: span 1;
	}

	.peer-row {
		min-width: 680px;
	}
}
