/*
	 _____
	|     |_ _ _ _ ___ ___ ___
	|  |  |_'_| | | . | -_|   |
	|_____|_._|_  |_  |___|_|_|
	          |___|___|

	- name:
		Connexio Oxygen version 6.0

	- copyright:
		Copyright (c) 2017–2026 Business Fundamentals BV. All rights reserved.
		This software is proprietary and confidential. Unauthorised copying,
		distribution, or modification of this software is strictly prohibited.

	- code squad:
		Daniël Rutten			daniel.rutten@businessfundamentals.nl
		Irin Sajan				irin.sajan@businessfundamentals.nl
		Davide Girotto			davide.girotto@businessfundamentals.nl
		Veena Chandamalla		veena.chandamalla@businessfundamentals.nl
		Constantin Cabiniuc		constantin.cabiniuc@businessfundamentals.nl
*/

/*
	The API's own pages — the landing page and the error pages — in the report look (report.css
	loads first and supplies the tokens and the page, body.report).
*/

.shell-page {
	display: grid;
	grid-template-rows: auto 1fr auto;
	min-height: 100vh;
	max-width: 46rem;
	margin: 0 auto;
	padding: 56px 24px 32px;
	text-align: center;
}

.report a.shell-name {
	color: var(--report-title);
	font-size: 1.6em;
	font-weight: 300;
	letter-spacing: -0.01em;
	text-decoration: none;
}

.shell-name b {
	font-weight: 700;
}

.shell-main {
	align-self: center;
	padding: 40px 0;
}

.shell-links {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(13rem, 100%), 1fr));
	gap: 12px;
	text-align: left;
}

.report a.shell-link {
	display: block;
	margin: 0;
	padding: 14px 18px;
	color: var(--report-text);
	text-decoration: none;
	transition: border-color 0.15s;
}

.report a.shell-link:hover,
.report a.shell-link:focus-visible {
	border-color: var(--report-accent);
	outline: none;
}

.shell-link-text {
	display: block;
	margin-top: 2px;
	color: var(--report-muted);
	font-size: 0.85em;
}

.shell-error {
	padding: 32px 28px 28px;
}

.shell-error .report-caption {
	margin: 0;
}

.shell-code {
	margin: 4px 0 0;
	font-size: 4.5em;
	font-weight: 800;
	line-height: 1;
	font-variant-numeric: tabular-nums;
}

.shell-code.tone-warning { color: var(--report-warning); }
.shell-code.tone-error { color: var(--report-error); }

.shell-message {
	max-width: 32rem;
	margin: 20px auto 24px;
	color: var(--report-title);
	font-size: 1.15em;
	font-weight: 600;
	line-height: 1.45;
}

.shell-footer {
	color: var(--report-muted);
	font-size: 0.85em;
}

.shell-footer p {
	margin: 0 0 8px;
}

/* -- oxygen.js fills these from /api/v1/version; until then, or when it fails, they stay out of sight. */
.shell-facts {
	display: flex;
	justify-content: center;
	gap: 6px;
}

.shell-facts > :empty {
	display: none;
}

/*
	Markdown viewer — plain markdown pages, in the report look (report.css loads first and
	supplies the tokens and the page, body.report).
*/

body.markdown-viewer {
	--md-muted: var(--report-muted);
	--md-border: var(--report-line);
	--md-surface: var(--report-paper);
	--md-mark: var(--report-warning-soft);
	--primary-color: var(--report-accent);
	display: block;
}

.markdown-viewer .markdown-body h1 {
	color: var(--report-title);
	font-weight: 700;
	border-bottom: 0;
}

.markdown-body {
	max-width: 80vw;
	margin: 0 auto;
	padding: 48px 24px 96px;
	text-align: left;
}

.md-status {
	color: var(--md-muted);
	font-style: italic;
}

.md-error {
	color: #d1242f;
	font-style: normal;
}

/* ── Headings ──────────────────────────────────────────────────────────── */

.markdown-body h1,
.markdown-body h2,
.markdown-body h3,
.markdown-body h4,
.markdown-body h5,
.markdown-body h6 {
	margin: 1.8em 0 0.6em;
	font-weight: 600;
	line-height: 1.25;
	scroll-margin-top: 24px;
}

.markdown-body h1 {
	font-size: 2em;
	padding-bottom: 0.3em;
	border-bottom: 1px solid var(--md-border);
}

.markdown-body h2 {
	font-size: 1.5em;
	padding-bottom: 0.3em;
	border-bottom: 1px solid var(--md-border);
}

.markdown-body h3 { font-size: 1.25em; }
.markdown-body h4 { font-size: 1em; }
.markdown-body h5 { font-size: 0.9em; }
.markdown-body h6 { font-size: 0.85em; color: var(--md-muted); }

.markdown-body > :first-child {
	margin-top: 0;
}

/* ── Text ──────────────────────────────────────────────────────────────── */

.markdown-body p,
.markdown-body ul,
.markdown-body ol {
	margin: 0 0 1em;
}

.markdown-body a {
	color: var(--primary-color);
}

.markdown-body a:hover {
	text-decoration: underline;
}

.markdown-body strong {
	font-weight: 600;
}

.markdown-body li {
	margin: 0.25em 0;
}

.markdown-body li > ul,
.markdown-body li > ol {
	margin: 0.25em 0;
}

.markdown-body hr {
	height: 1px;
	margin: 2em 0;
	border: 0;
	background: var(--md-border);
}

.markdown-body mark {
	background: var(--md-mark);
	color: inherit;
}

/* ── Quotes ────────────────────────────────────────────────────────────── */

.markdown-body blockquote {
	margin: 0 0 1em;
	padding: 0 1em;
	color: var(--md-muted);
	border-left: 0.25em solid var(--md-border);
}

/* ── Code ──────────────────────────────────────────────────────────────── */

.markdown-body code,
.markdown-body pre {
	font-family: 'SF Mono', SFMono-Regular, Consolas, 'Liberation Mono', Menlo, monospace;
	font-size: 0.875em;
}

.markdown-body code {
	padding: 0.2em 0.4em;
	background: var(--md-surface);
	border-radius: 6px;
}

.markdown-body pre {
	margin: 0 0 1em;
	padding: 16px;
	overflow: auto;
	background: var(--md-surface);
	border-radius: 6px;
	line-height: 1.45;
}

.markdown-body pre code {
	padding: 0;
	background: none;
	border-radius: 0;
}

/* ── Tables ────────────────────────────────────────────────────────────── */

.markdown-body table {
	display: block;
	width: max-content;
	max-width: 100%;
	margin: 0 0 1em;
	overflow: auto;
	border-collapse: collapse;
}

.markdown-body th,
.markdown-body td {
	padding: 6px 13px;
	border: 1px solid var(--md-border);
}

.markdown-body th {
	font-weight: 600;
}

.markdown-body tr:nth-child(2n) {
	background: var(--md-surface);
}

/* ── Media ─────────────────────────────────────────────────────────────── */

.markdown-body img {
	max-width: 100%;
}
