/**
 * Glass morphism surfaces + scheme tokens + high contrast.
 *
 * @package JSS_Theme_2026
 */

:root {
	--jss-bg-0: #050816;
	--jss-bg-1: #0b1224;
	--jss-glass: rgba(255, 255, 255, 0.06);
	--jss-border: rgba(255, 255, 255, 0.14);
	--jss-text: #e8eefc;
	--jss-muted: #9fb2d9;
	--jss-accent: #5bc0ff;
	--jss-accent-2: #7cf0d6;
}

body.jpc-scheme-monochromatic {
	--jss-accent: #b9c7e8;
	--jss-accent-2: #dfe7fb;
}

body.jpc-scheme-complementary {
	--jss-accent: #ffb86b;
	--jss-accent-2: #5bc0ff;
}

body.jpc-scheme-analogous {
	--jss-accent: #7aa2ff;
	--jss-accent-2: #9b7bff;
}

body.jpc-scheme-triadic {
	--jss-accent: #ff7ab5;
	--jss-accent-2: #7cf0d6;
}

body.jpc-scheme-achromatic {
	--jss-accent: #cfd6e6;
	--jss-accent-2: #9aa3b5;
}

body {
	background: radial-gradient(1200px 600px at 10% -10%, rgba(91, 192, 255, 0.18), transparent),
		radial-gradient(900px 500px at 90% 0%, rgba(124, 240, 214, 0.12), transparent), var(--jss-bg-0);
	color: var(--jss-text);
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

.jss-morphism .jss-glass-panel,
.jss-morphism .jss-glass-panel-inner {
	background: linear-gradient(145deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.02));
	border: 1px solid var(--jss-border);
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.08);
	border-radius: 22px;
	backdrop-filter: blur(18px);
}

.jss-header,
.jss-navbar {
	background: rgba(6, 10, 24, 0.82);
	backdrop-filter: blur(16px);
}

.jss-mega {
	background: rgba(5, 8, 22, 0.92);
}

.jss-mega-link {
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(255, 255, 255, 0.08);
	text-decoration: none;
	color: var(--jss-text);
	transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.jss-mega-link:hover,
.jss-mega-link:focus-visible {
	transform: translateY(-2px);
	border-color: rgba(91, 192, 255, 0.55);
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35);
	outline: none;
}

.jss-footer {
	background: rgba(3, 6, 16, 0.95);
	border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.btn-primary {
	background-image: linear-gradient(135deg, var(--jss-accent), var(--jss-accent-2));
	border: none;
	color: #04121f;
	font-weight: 600;
}

.btn-primary:hover {
	filter: brightness(1.05);
	color: #04121f;
}

.jpc-dashboard .jpc-panel,
.jpc-job-search .jpc-panel {
	background: linear-gradient(145deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.02));
	border: 1px solid var(--jss-border);
	border-radius: 18px;
	padding: 1.5rem;
	margin-bottom: 1.25rem;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.jpc-form label {
	display: block;
	margin: 0.35rem 0 0.2rem;
	font-weight: 600;
}

.jpc-form input[type="text"],
.jpc-form input[type="search"],
.jpc-form input[type="number"],
.jpc-form input[type="file"],
.jpc-form textarea,
.jpc-form select {
	width: 100%;
	max-width: 100%;
	padding: 0.65rem 0.75rem;
	border-radius: 12px;
	border: 1px solid rgba(255, 255, 255, 0.16);
	background: rgba(0, 0, 0, 0.25);
	color: var(--jss-text);
}

.jpc-hp {
	position: absolute;
	left: -9999px;
	height: 0;
	width: 0;
	opacity: 0;
	overflow: hidden;
}

.jpc-btn,
.jpc-btn-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
	padding: 0.55rem 1rem;
	border-radius: 12px;
	border: 1px solid rgba(255, 255, 255, 0.18);
	background: rgba(255, 255, 255, 0.06);
	color: var(--jss-text);
	text-decoration: none;
	cursor: pointer;
}

.jpc-btn--secondary {
	opacity: 0.9;
}

.jpc-alert {
	padding: 0.75rem 1rem;
	border-radius: 12px;
	border: 1px solid rgba(124, 240, 214, 0.45);
	background: rgba(124, 240, 214, 0.08);
}

body.jpc-high-contrast {
	--jss-bg-0: #000;
	--jss-bg-1: #000;
	--jss-text: #fff;
	--jss-muted: #f2f2f2;
	--jss-border: #fff;
}

body.jpc-high-contrast .jss-glass-panel,
body.jpc-high-contrast .jpc-panel {
	background: #000;
	border-color: #fff;
	box-shadow: none;
	backdrop-filter: none;
}
