/*
 * Pladdras tema för Swagger UI.
 *
 * Läses av @fastify/swagger-ui (`theme.css` i apps/api/src/app.ts) och serveras
 * på /v1/docs/static/theme/pladdra-docs.css. Swagger UI laddar sin egen
 * swagger-ui.css först, så allt här är en överstyrning ovanpå den.
 *
 * Målet är igenkänning, inte omdesign: appens gröna primärfärg i topbaren och
 * en läsbar tabell i stället för Swagger-UIs täta grå. Ingenting
 * här får dölja en statusrad eller en knapp — dokumentationen är en
 * driftsida, inte en landningssida.
 */

:root {
	--pladdra-brand: #4e8873;
	--pladdra-brand-dark: #437562;
	--pladdra-brand-soft: #edf3f1;
	--pladdra-ink: #1b1b22;
	--pladdra-muted: #5c6270;
	--pladdra-line: #e0e8e4;
	--pladdra-surface: #fbfcfb;
}

/* --- Topp ------------------------------------------------------------- */

.swagger-ui .topbar {
	background-color: var(--pladdra-brand);
	padding: 10px 0;
}

.swagger-ui .topbar a {
	color: #fff;
	max-width: 260px;
}

.swagger-ui .topbar .download-url-wrapper .select-label {
	color: #fff;
	max-width: 480px;
}

.swagger-ui .topbar .download-url-wrapper input[type='text'] {
	border-color: var(--pladdra-brand-dark);
}

/* --- Rubrik och metadata --------------------------------------------- */

.swagger-ui .info .title {
	color: var(--pladdra-ink);
}

.swagger-ui .info .title small.version-stamp {
	background-color: var(--pladdra-brand);
}

/* --- Taggar och serverval -------------------------------------------- */

.swagger-ui .opblock-tag {
	color: var(--pladdra-ink);
	font-size: 24px;
}

.swagger-ui .opblock-tag:hover {
	color: var(--pladdra-brand);
}

.swagger-ui .scheme-container {
	background: var(--pladdra-brand-soft);
	box-shadow: none;
	padding: 24px 0;
}

.swagger-ui .scheme-container .schemes {
	align-items: flex-end;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

/* --- Utfyllnad, kantlinjer -------------------------------------------- */

.swagger-ui .opblock-tag small,
.swagger-ui .opblock .opblock-summary-description {
	color: var(--pladdra-muted);
}

.swagger-ui .opblock-tag small {
	font-weight: 400;
}

/* --- Utför-knappen --------------------------------------------------- */

.swagger-ui .btn.execute {
	background-color: var(--pladdra-brand);
	border-color: var(--pladdra-brand);
}

.swagger-ui .btn.execute:hover {
	background-color: var(--pladdra-brand-dark);
}

/* Keep Swagger UI's HTTP method colours: they identify operations by method. */
.swagger-ui .opblock.opblock-get {
	background: rgba(97, 175, 254, 0.12);
	border-color: #61affe;
}

.swagger-ui .opblock.opblock-get .opblock-summary-method {
	background: #61affe;
}

.swagger-ui .opblock.opblock-post {
	background: rgba(73, 204, 144, 0.12);
	border-color: #49cc90;
}

.swagger-ui .opblock.opblock-post .opblock-summary-method {
	background: #49cc90;
}

.swagger-ui .opblock.opblock-patch {
	background: rgba(80, 227, 194, 0.12);
	border-color: #50e3c2;
}

.swagger-ui .opblock.opblock-patch .opblock-summary-method {
	background: #50e3c2;
}

.swagger-ui .opblock.opblock-delete {
	background: rgba(249, 62, 62, 0.12);
	border-color: #f93e3e;
}

.swagger-ui .opblock.opblock-delete .opblock-summary-method {
	background: #f93e3e;
}

/* --- Svar och modeller ------------------------------------------------ */

.swagger-ui .response-col_status {
	font-weight: 600;
}

.swagger-ui .response .response-col_description__inner p {
	color: var(--pladdra-ink);
}

.swagger-ui table thead tr td,
.swagger-ui table thead tr th {
	border-bottom-color: var(--pladdra-line);
	color: var(--pladdra-muted);
}

.swagger-ui .model-box {
	background: var(--pladdra-surface);
	border-radius: 8px;
}

.swagger-ui .model-title {
	color: var(--pladdra-brand);
}

.swagger-ui .highlight-code,
.swagger-ui .microlight {
	background: var(--pladdra-surface) !important;
}

/* --- Länk och fokus --------------------------------------------------- */

.swagger-ui a {
	color: var(--pladdra-brand);
}

.swagger-ui a:hover {
	color: var(--pladdra-brand-dark);
}

.swagger-ui .btn:focus-visible,
.swagger-ui button:focus-visible,
.swagger-ui select:focus-visible,
.swagger-ui input:focus-visible {
	outline: 2px solid var(--pladdra-brand-dark);
	outline-offset: 2px;
}

@media (prefers-color-scheme: dark) {
	/*
	 * Swagger UI har ingen mörk layout. Att tvinga den här vore halvfärdigt och
	 * svårare att läsa än ljust, så temat stannar ljust. Radens finns här för att
	 * platsen ska vara medveten vald i stället för glömd.
	 */
	:root {
		color-scheme: light;
	}
}