.jc-auth-wrapper {
	display: flex;
	justify-content: center;
	padding: 60px 20px;
	background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
	min-height: 80vh;
}
.jc-auth-card {
	background: #fff;
	border-radius: 14px;
	padding: 36px;
	width: 100%;
	max-width: 420px;
	box-shadow: 0 10px 30px rgba(0,0,0,0.15);
}
.jc-auth-card h2 { margin-bottom: 20px; color: #4b2e83; }

.jc-portal-wrapper { max-width: 1000px; margin: 0 auto; padding: 20px; }

.jc-portal-header {
	color: #fff;
	padding: 30px;
	border-radius: 14px;
	margin-bottom: 20px;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.jc-gradient-candidate { background: linear-gradient(135deg, #11998e, #38ef7d); }
.jc-gradient-employer { background: linear-gradient(135deg, #ff9a44, #fc6076); }
.jc-portal-header a { align-self: flex-start; margin-top: 8px; }

.jc-card {
	background: #fff;
	border-radius: 14px;
	padding: 24px;
	box-shadow: 0 4px 16px rgba(0,0,0,0.08);
}

.jc-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 20px; }
.jc-span-2 { grid-column: span 2; }
@media (max-width: 700px) { .jc-grid-2 { grid-template-columns: 1fr; } }

.jc-btn { margin-top: 16px; border-radius: 8px; }
.jc-save-msg { margin-left: 12px; color: #11998e; font-weight: 600; }

.jc-vacancy-card {
	background: #f8f9ff;
	border: 1px solid #e3e6f7;
	border-left: 5px solid #764ba2;
	border-radius: 10px;
	padding: 16px;
}
.jc-vacancy-card h4 { margin: 0 0 6px; color: #4b2e83; }

.jc-modal-backdrop {
	position: fixed; top: 0; left: 0; right: 0; bottom: 0;
	background: rgba(0,0,0,0.5);
	align-items: center; justify-content: center;
	z-index: 999;
}
.jc-modal {
	background: #fff; border-radius: 14px; padding: 28px;
	width: 90%; max-width: 700px; max-height: 85vh; overflow-y: auto;
}
