/* 2026-10-01 [PL] FI dashboard styles, sized for TV screens (FPD-7170). */

:root {
	--bg: #f4f4f2;
	--card: #ffffff;
	--line: #e2e2de;
	--text: #2b2b2b;
	--muted: #6b6b6b;
	--header-bg: #1f2933;
	--header-text: #ffffff;

	font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	/* Scales with the screen, so 1080p and 4K TVs need no extra tuning */
	font-size: clamp(16px, 1.25vw, 48px);
}

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

/* A TV must never show scrollbars */
html, body {
	height: 100%;
	margin: 0;
	overflow: hidden;
}

body {
	background: var(--bg);
	color: var(--text);
}

#app {
	height: 100%;
}

/* Neutral message screen (no token, invalid token, gateway unavailable) */
.message {
	display: grid;
	place-items: center;
	padding: 2rem;
}

.card {
	max-width: 32rem;
	padding: 2.5rem 3rem;
	background: var(--card);
	border: 1px solid var(--line);
	border-radius: 0.75rem;
	text-align: center;
}

.card h1 {
	margin: 0 0 0.75rem;
	font-size: 1.5rem;
	font-weight: 600;
}

.card p {
	margin: 0;
	color: var(--muted);
	line-height: 1.5;
}

/* Dashboard: header bar plus a grid area that fills the rest of the screen */
.dashboard {
	display: flex;
	flex-direction: column;
}

.dashboard-header {
	padding: 1.25rem 2rem;
	background: var(--header-bg);
	color: var(--header-text);
}

.dashboard-header h1 {
	margin: 0;
	font-size: 2rem;
	font-weight: 600;
}

.dashboard-grid {
	flex: 1;
	min-height: 0;
	padding: 2rem;
	overflow: hidden;
}

.dashboard-grid pre {
	margin: 0 0 1.5rem;
	color: var(--muted);
	font-size: 0.875rem;
}
