/* Market Intelligence Core 2.0.2 — responsive and research workspace layer. */
body.matamet-route--market-intelligence,
body.mic-terminal-page {
	--mmlab-ink: #102f33;
	--mmlab-ink-strong: #08252a;
	--mmlab-muted: #52666a;
	--mmlab-surface: #fbfaf6;
	--mmlab-surface-2: #f1f5f2;
	--mmlab-surface-3: #e5efec;
	--mmlab-border: #bccbc7;
	--mmlab-accent: #bd5b35;
	--mmlab-accent-strong: #8f3c1f;
	--mmlab-teal: #0d4a52;
	--mmlab-teal-2: #123b41;
	--mmlab-focus: #f5a623;
	--mmlab-danger: #a22e2e;
	--mmlab-success: #176a4a;
	--mmlab-radius: 12px;
}

body.matamet-route--market-intelligence .entry-content,
body.mic-terminal-page .entry-content {
	max-width: none;
}

body.matamet-route--market-intelligence .entry-content > .mic-shell,
body.mic-terminal-page .entry-content > .mic-shell {
	box-sizing: border-box;
	inline-size: 100% !important;
	max-inline-size: 100% !important;
	margin-inline: 0 !important;
	color: var(--mmlab-ink);
	background: var(--mmlab-surface);
	border-color: var(--mmlab-border);
	box-shadow: 0 16px 42px rgb(8 37 42 / 8%);
}

.mic-shell *,
.mic-shell *::before,
.mic-shell *::after {
	box-sizing: border-box;
}

.mic-shell :is(button, a, input, select, textarea):focus-visible {
	outline: 3px solid var(--mmlab-focus) !important;
	outline-offset: 3px !important;
	box-shadow: 0 0 0 2px var(--mmlab-ink-strong) !important;
}

.mic-shell :is(button, input, select, textarea) {
	font: inherit;
}

.mic-toolbar {
	gap: 12px;
	padding: 12px 16px;
	background: rgb(251 250 246 / 96%);
	border-color: var(--mmlab-border);
}

.mic-toolbar-leading {
	min-inline-size: 210px;
}

.mic-command-search {
	min-inline-size: 0;
	min-block-size: 44px;
	border: 1px solid var(--mmlab-border);
	background: #fff;
}

.mic-top-actions {
	gap: 8px;
}

.mic-top-actions :is(button, .mic-icon-button),
.mic-refresh-button,
.mic-menu-button {
	min-inline-size: 44px;
	min-block-size: 44px;
}

.mic-layout {
	display: grid;
	grid-template-columns: minmax(208px, 224px) minmax(0, 1fr);
	align-items: start;
}

.mic-sidebar {
	position: sticky;
	top: var(--mmlab-sticky-top, 16px);
	block-size: var(--mmlab-sidebar-height, calc(100dvh - 32px));
	max-block-size: var(--mmlab-sidebar-height, calc(100dvh - 32px));
	min-block-size: 280px;
	overflow: auto;
	overscroll-behavior: contain;
	scrollbar-gutter: stable;
	background: var(--mmlab-teal-2);
	color: #f7fbfa;
}

.mic-sidebar-head {
	padding: 16px 18px 12px;
}

.mic-sidebar :is(.mic-nav-group, .mic-nav-item) {
	min-inline-size: 0;
}

.mic-nav-group {
	padding-inline: 12px;
	margin-block: 0 14px;
}

.mic-nav-label {
	color: #b9ceca !important;
	font-size: 0.72rem;
	letter-spacing: 0.115em;
}

.mic-nav-item {
	inline-size: 100%;
	min-block-size: 42px;
	margin-block: 2px;
	padding: 8px 10px;
	gap: 10px;
	border: 1px solid transparent;
	border-radius: 9px;
	color: #f5f9f8 !important;
	line-height: 1.25;
	text-align: start;
}

.mic-nav-item > span:last-child {
	inline-size: auto;
	min-inline-size: 0;
	flex: 1 1 auto;
	color: inherit;
	text-align: start;
	overflow-wrap: normal;
}

.mic-nav-item:hover {
	background: rgb(255 255 255 / 9%);
	border-color: rgb(255 255 255 / 18%);
}

.mic-nav-item.is-active,
.mic-nav-item[aria-current="page"] {
	background: #f3f7f4;
	border-color: #d7a189;
	color: var(--mmlab-ink-strong) !important;
	box-shadow: inset 3px 0 0 var(--mmlab-accent);
}

.mic-main {
	min-inline-size: 0;
	padding: clamp(18px, 2vw, 28px);
	background: var(--mmlab-surface);
}

.mic-main :is(h1, h2, h3, p, strong, span) {
	overflow-wrap: break-word;
	word-break: normal;
}

.mic-main h1 {
	font-size: clamp(2rem, 3.6vw, 3.65rem);
	line-height: 0.98;
	letter-spacing: -0.025em;
}

.mic-main h2 {
	font-size: clamp(1.5rem, 2.2vw, 2.35rem);
	line-height: 1.08;
}

.mic-main :is(.mic-panel, .mic-card, article, section) {
	min-inline-size: 0;
}

.mic-main :is(.mic-card, .mic-panel, [class*="card"]) {
	border-color: var(--mmlab-border);
}

.mic-main :is(button, a[class*="button"]) {
	min-block-size: 44px;
}

.mic-status-strip {
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	border-color: var(--mmlab-border);
	background: #fff;
}

.mmlab-source-strip {
	margin: 0 0 16px;
	border: 1px solid var(--mmlab-border);
	border-radius: 10px;
	overflow: hidden;
	background: #fff;
}

.mmlab-source-strip details {
	margin: 0;
}

.mmlab-source-strip summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	min-block-size: 44px;
	padding: 8px 14px;
	cursor: pointer;
	color: var(--mmlab-ink-strong);
}

.mmlab-source-strip summary span {
	color: var(--mmlab-muted);
	font-size: 0.8rem;
	text-align: end;
}

.mmlab-source-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1px;
	border-top: 1px solid var(--mmlab-border);
	background: var(--mmlab-border);
}

.mmlab-source-item {
	min-inline-size: 0;
	padding: 10px 12px;
	background: #fff;
}

.mmlab-source-item strong,
.mmlab-source-item span {
	display: block;
}

.mmlab-source-item strong {
	font-size: 0.78rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.mmlab-source-item span {
	margin-top: 2px;
	color: var(--mmlab-muted);
	font-size: 0.84rem;
	line-height: 1.35;
}

.mic-shell :is(table) {
	inline-size: 100%;
	border-collapse: collapse;
}

.mic-shell :is(th, td) {
	padding: 9px 10px;
	vertical-align: top;
}

.mic-shell th {
	background: var(--mmlab-surface-3);
	color: var(--mmlab-ink-strong);
	font-weight: 700;
}

.mmlab-table-scroll {
	position: relative;
	overflow-x: auto;
	overscroll-behavior-inline: contain;
	border: 1px solid var(--mmlab-border);
	border-radius: 10px;
	background: #fff;
}

.mmlab-table-scroll::after {
	content: "Scroll table horizontally if needed →";
	display: none;
	padding: 7px 10px;
	color: var(--mmlab-muted);
	font-size: 0.75rem;
	text-align: end;
}

.mmlab-sidebar-backdrop {
	display: none;
}

/* Research workspace */
.mmlab-research {
	color: var(--mmlab-ink);
}

.mic-shell.mmlab-research-mode .mic-main {
	display: none !important;
}

.mmlab-research {
	grid-column: 2;
	min-inline-size: 0;
	padding: clamp(18px, 2vw, 28px);
	background: var(--mmlab-surface);
}

.mmlab-research[hidden] {
	display: none !important;
}

.mmlab-hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: clamp(18px, 3vw, 34px);
	align-items: center;
	padding: clamp(18px, 2.2vw, 28px);
	border: 1px solid var(--mmlab-border);
	border-radius: 16px;
	background:
		linear-gradient(125deg, rgb(229 239 236 / 96%), rgb(251 250 246 / 97%)),
		radial-gradient(circle at 85% 0%, rgb(189 91 53 / 18%), transparent 35%);
}

.mmlab-eyebrow {
	margin: 0 0 8px;
	color: var(--mmlab-accent-strong);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.mmlab-hero h2 {
	margin: 0;
	font-size: clamp(1.8rem, 3vw, 3rem);
	line-height: 1.04;
}

.mmlab-hero p:not(.mmlab-eyebrow) {
	max-inline-size: 72ch;
	margin: 14px 0 0;
	color: var(--mmlab-muted);
	font-size: clamp(1rem, 1.3vw, 1.13rem);
}

.mmlab-hero-actions {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.mmlab-button,
.mmlab-research button,
.mmlab-research input[type="file"]::file-selector-button {
	min-block-size: 44px;
	border: 1px solid var(--mmlab-teal);
	border-radius: 9px;
	padding: 9px 14px;
	font-weight: 700;
	cursor: pointer;
}

.mmlab-button--primary,
.mmlab-research button[type="submit"] {
	background: var(--mmlab-teal);
	color: #fff;
}

.mmlab-research a.mmlab-button--primary,
.mmlab-research a.mmlab-button--primary:visited {
	color: #fff !important;
	text-decoration-color: currentColor;
}

.mmlab-button--primary:hover,
.mmlab-research button[type="submit"]:hover {
	background: #0a3940;
	color: #fff !important;
}

.mmlab-button--secondary,
.mmlab-research button[type="button"] {
	background: #fff;
	color: var(--mmlab-ink-strong);
}

.mmlab-method-cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin: 18px 0;
}

.mmlab-method-card {
	padding: 12px 14px;
	border: 1px solid var(--mmlab-border);
	border-top: 4px solid var(--mmlab-accent);
	border-radius: 11px;
	background: #fff;
}

.mmlab-method-card h3 {
	margin: 0 0 6px;
	font-size: 1.05rem;
}

.mmlab-method-card p {
	margin: 0;
	color: var(--mmlab-muted);
	font-size: 0.88rem;
	line-height: 1.45;
}

.mmlab-workbench {
	display: grid;
	grid-template-columns: minmax(280px, 0.62fr) minmax(0, 1.38fr);
	gap: 16px;
	align-items: start;
}

.mmlab-panel {
	min-inline-size: 0;
	padding: clamp(16px, 2vw, 24px);
	border: 1px solid var(--mmlab-border);
	border-radius: 12px;
	background: #fff;
}

.mmlab-panel h3,
.mmlab-panel h4 {
	margin-top: 0;
}

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

.mmlab-field {
	min-inline-size: 0;
}

.mmlab-field--wide {
	grid-column: 1 / -1;
}

.mmlab-stock-entry {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 10px;
}

.mmlab-stock-entry button {
	inline-size: 100%;
}

.mmlab-advanced {
	margin-top: 14px;
	border: 1px solid var(--mmlab-border);
	border-radius: 9px;
	background: var(--mmlab-surface-2);
}

.mmlab-advanced > summary {
	min-block-size: 44px;
	padding: 10px 12px;
	cursor: pointer;
	color: var(--mmlab-ink-strong);
	font-weight: 750;
}

.mmlab-advanced[open] {
	padding: 0 12px 12px;
}

.mmlab-advanced[open] > summary {
	margin-inline: -12px;
	padding-inline: 24px;
	border-bottom: 1px solid var(--mmlab-border);
}

.mmlab-field label,
.mmlab-label {
	display: block;
	margin-bottom: 5px;
	color: var(--mmlab-ink-strong);
	font-size: 0.84rem;
	font-weight: 700;
}

.mmlab-field :is(input:not([type="checkbox"]), select, textarea) {
	inline-size: 100%;
	min-inline-size: 0;
	min-block-size: 46px;
	border: 1px solid #879b97;
	border-radius: 8px;
	background: #fff;
	color: var(--mmlab-ink-strong);
	padding: 9px 11px;
}

/*
 * Kadence and the live site's form styles set a later min-height declaration.
 * Keep research controls comfortably operable without changing global theme UI.
 */
body.matamet-platform.mic-terminal-page .mmlab-research .mmlab-field :is(input:not([type="checkbox"]), select, textarea) {
	min-block-size: 46px !important;
	min-height: 46px !important;
}

body.matamet-platform.mic-terminal-page .mmlab-research :is(button, .mmlab-button) {
	min-block-size: 44px !important;
	min-height: 44px !important;
}

.mmlab-field textarea {
	min-block-size: 148px;
	resize: vertical;
	font: 0.82rem/1.45 "IBM Plex Mono", monospace;
}

.mmlab-help {
	display: block;
	margin-top: 5px;
	color: var(--mmlab-muted);
	font-size: 0.78rem;
	line-height: 1.4;
}

.mmlab-inline-check {
	display: flex;
	align-items: flex-start;
	gap: 9px;
	margin-block: 12px;
}

.mmlab-inline-check input {
	inline-size: 20px;
	block-size: 20px;
	margin-top: 2px;
}

.mmlab-action-row {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
	margin-top: 14px;
}

.mmlab-status {
	min-block-size: 48px;
	margin-top: 12px;
	padding: 11px 12px;
	border-left: 4px solid var(--mmlab-teal);
	background: var(--mmlab-surface-2);
	color: var(--mmlab-ink-strong);
	font-size: 0.86rem;
}

.mmlab-status.is-error {
	border-left-color: var(--mmlab-danger);
	background: #fff0ee;
	color: #6e1b1b;
}

.mmlab-status.is-success {
	border-left-color: var(--mmlab-success);
	background: #e9f6ef;
}

.mmlab-result-placeholder {
	display: grid;
	place-items: center;
	min-block-size: 310px;
	padding: 28px;
	border: 1px dashed #8aa09b;
	border-radius: 10px;
	background: var(--mmlab-surface-2);
	text-align: center;
}

.mmlab-result-placeholder strong {
	display: block;
	font-size: 1.2rem;
}

.mmlab-result-placeholder span {
	display: block;
	max-inline-size: 52ch;
	margin-top: 7px;
	color: var(--mmlab-muted);
}

.mmlab-result-summary {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 8px;
	margin-bottom: 14px;
}

.mmlab-kpi {
	padding: 11px;
	border: 1px solid var(--mmlab-border);
	border-radius: 9px;
	background: var(--mmlab-surface-2);
}

.mmlab-kpi span,
.mmlab-kpi strong {
	display: block;
}

.mmlab-kpi span {
	color: var(--mmlab-muted);
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.mmlab-kpi strong {
	margin-top: 3px;
	font-size: 1rem;
}

.mmlab-comparison {
	min-inline-size: 860px;
}

.mmlab-comparison-note {
	margin: 0 0 10px;
	color: var(--mmlab-muted);
	font-size: 0.82rem;
	line-height: 1.45;
}

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

.mmlab-engine-card {
	min-inline-size: 0;
	padding: 13px;
	border: 1px solid var(--mmlab-border);
	border-top: 4px solid var(--mmlab-accent);
	border-radius: 10px;
	background: #fff;
}

.mmlab-engine-card header {
	padding-bottom: 9px;
	border-bottom: 1px solid var(--mmlab-border);
}

.mmlab-engine-card h4 {
	margin: 0 0 4px;
	font-size: 1rem;
}

.mmlab-engine-card header strong {
	color: var(--mmlab-teal);
	font-size: 0.84rem;
}

.mmlab-engine-card dl {
	margin: 8px 0 0;
}

.mmlab-engine-card dl div {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	padding: 6px 0;
	border-bottom: 1px solid #e4ebe8;
}

.mmlab-engine-card dt,
.mmlab-engine-card dd {
	margin: 0;
	font-size: 0.78rem;
}

.mmlab-engine-card dt {
	color: var(--mmlab-muted);
}

.mmlab-engine-card dd {
	color: var(--mmlab-ink-strong);
	font-weight: 750;
	text-align: end;
}

.mmlab-engine-card.is-unavailable {
	border-top-color: #9b7a59;
	background: #fff7e9;
}

.mmlab-comparison caption {
	padding: 10px;
	font-weight: 700;
	text-align: start;
}

.mmlab-comparison td[data-label="Signal"] {
	font-weight: 800;
}

.mmlab-warnings {
	margin: 14px 0 0;
	padding: 14px 14px 14px 34px;
	border: 1px solid #d6ad81;
	border-radius: 9px;
	background: #fff7e9;
	color: #5c3918;
}

.mmlab-disclosure {
	margin-top: 16px;
	padding: 14px;
	border-radius: 9px;
	background: var(--mmlab-ink-strong);
	color: #f6fbfa;
	font-size: 0.84rem;
	line-height: 1.5;
}

@media (max-width: 1100px) {
	.mmlab-workbench {
		grid-template-columns: 1fr;
	}

	.mmlab-result-summary {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@container mic-main (min-width: 900px) {
	body.matamet-platform.mic-terminal-page .mic-main .mic-world-stage,
	body.matamet-platform .mic-main .mic-overview-command {
		grid-template-columns: minmax(0, 1.25fr) minmax(290px, 0.75fr) !important;
	}

	body.matamet-platform .mic-main :is(.mic-overview-primary, .mic-overview-secondary) {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	body.matamet-platform .mic-main .mic-kpi-row {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}

	body.matamet-platform .mic-main .mic-live-movers {
		border-top: 0;
		border-left: 1px solid var(--mmlab-border);
	}

	body.matamet-platform .mic-main .mic-live-movers-list {
		display: block;
	}
}

@media (max-width: 1120px) {
	body.matamet-route--market-intelligence .entry-content > .mic-shell,
	body.mic-terminal-page .entry-content > .mic-shell {
		inline-size: 100% !important;
		max-inline-size: 100% !important;
	}

	.mic-layout {
		display: block;
	}

	.mmlab-research {
		padding: 14px;
	}

	.mic-sidebar {
		position: fixed !important;
		z-index: 100002;
		inset: 0 auto 0 0;
		inline-size: min(86vw, 320px);
		block-size: 100dvh !important;
		max-block-size: 100dvh !important;
		min-block-size: 0;
		transform: translateX(-105%);
		visibility: hidden;
		box-shadow: 18px 0 50px rgb(0 0 0 / 28%);
		transition: transform 180ms ease, visibility 180ms ease;
	}

	.mic-shell.mmlab-sidebar-open .mic-sidebar {
		transform: translateX(0);
		visibility: visible;
	}

	.mmlab-sidebar-backdrop {
		position: fixed;
		z-index: 100001;
		inset: 0;
		display: block;
		border: 0;
		background: rgb(5 23 27 / 62%);
		opacity: 0;
		visibility: hidden;
		transition: opacity 180ms ease, visibility 180ms ease;
	}

	.mic-shell.mmlab-sidebar-open .mmlab-sidebar-backdrop {
		opacity: 1;
		visibility: visible;
	}

	body.mmlab-nav-lock {
		overflow: hidden;
	}

	.mic-toolbar {
		position: relative;
		display: grid;
		grid-template-columns: auto minmax(0, 1fr) auto;
	}

	.mic-toolbar-leading {
		min-inline-size: 0;
	}

	.mic-command-search {
		grid-column: 1 / -1;
		grid-row: 2;
	}

	.mic-main {
		padding: 14px;
	}

	.mmlab-source-grid,
	.mmlab-method-cards {
		grid-template-columns: 1fr;
	}

	.mmlab-hero {
		grid-template-columns: 1fr;
	}

	.mmlab-hero-actions {
		flex-direction: row;
		flex-wrap: wrap;
	}

	.mmlab-table-scroll::after {
		display: block;
	}
}

@media (max-width: 560px) {
	.mic-toolbar {
		padding: 10px;
	}

	.mic-toolbar-kicker,
	.mic-toolbar-label strong {
		max-inline-size: 150px;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.mic-main {
		padding: 10px;
	}

	.mic-main h1 {
		font-size: clamp(1.85rem, 10vw, 2.55rem);
	}

	.mmlab-hero {
		padding: 18px;
	}

	.mmlab-hero h2 {
		font-size: clamp(1.65rem, 7vw, 2.1rem);
	}

	.mmlab-field-grid,
	.mmlab-result-summary {
		grid-template-columns: 1fr;
	}

	.mmlab-stock-entry,
	.mmlab-engine-grid {
		grid-template-columns: 1fr;
	}

	.mmlab-stock-entry button {
		inline-size: 100%;
	}

	.mmlab-hero-actions,
	.mmlab-action-row {
		flex-direction: column;
	}

	.mmlab-hero-actions button,
	.mmlab-action-row button,
	.mmlab-action-row a {
		inline-size: 100%;
	}

}

@media (prefers-reduced-motion: reduce) {
	.mic-shell *,
	.mic-shell *::before,
	.mic-shell *::after {
		scroll-behavior: auto !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}

@media (forced-colors: active) {
	.mic-shell,
	.mic-sidebar,
	.mmlab-panel,
	.mmlab-method-card,
	.mmlab-hero {
		forced-color-adjust: auto;
		border: 1px solid CanvasText;
	}
}
