.jpm-box {
	max-width: 520px;
	margin: 0 0 24px;
	padding: 24px;
	background: #fff;
	border: 1px solid #e2e4e7;
	border-radius: 8px;
	box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}
.jpm-box.jpm-my-submissions,
.jpm-box.jpm-payment-step {
	max-width: 760px;
}
.jpm-field { margin-bottom: 16px; }
.jpm-field label { display: block; font-weight: 600; margin-bottom: 6px; font-size: 14px; }
.jpm-field input[type="text"],
.jpm-field input[type="email"],
.jpm-field input[type="password"],
.jpm-field input[type="file"],
.jpm-field select {
	width: 100%;
	padding: 9px 12px;
	border: 1px solid #ccd0d4;
	border-radius: 5px;
	font-size: 14px;
	box-sizing: border-box;
}
.jpm-help { font-size: 12px; color: #666; margin-top: 8px; }
.jpm-login-required-note { color: #b32d2e; }

.jpm-btn {
	display: inline-block;
	padding: 10px 20px;
	border-radius: 5px;
	border: 1px solid #2271b1;
	background: #fff;
	color: #2271b1;
	text-decoration: none;
	cursor: pointer;
	font-size: 14px;
	font-weight: 600;
}
.jpm-btn-primary { background: #2271b1; color: #fff; }
.jpm-btn-primary:hover { background: #135e96; color: #fff; }

.jpm-notice {
	padding: 12px 16px;
	border-radius: 5px;
	margin-bottom: 16px;
	font-size: 14px;
}
.jpm-notice-success { background: #edfaef; border: 1px solid #a8e6b0; color: #256029; }
.jpm-notice-error { background: #fdeaea; border: 1px solid #f3b4b4; color: #922; }

.jpm-summary-table { width: 100%; margin-bottom: 20px; border-collapse: collapse; }
.jpm-summary-table th, .jpm-summary-table td { text-align: left; padding: 8px 10px; border-bottom: 1px solid #eee; }
.jpm-summary-table th { width: 160px; color: #555; }

.jpm-table { width: 100%; border-collapse: collapse; }
.jpm-table th, .jpm-table td { text-align: left; padding: 10px; border-bottom: 1px solid #eee; font-size: 14px; }
.jpm-table th { background: #f6f7f7; }

.jpm-badge {
	display: inline-block;
	padding: 3px 10px;
	border-radius: 12px;
	font-size: 12px;
	font-weight: 600;
	background: #f0f0f1;
	color: #444;
}
.jpm-badge-approved, .jpm-badge-published { background: #d7f3dd; color: #1a6b2e; }
.jpm-badge-rejected { background: #fbdada; color: #96201f; }
.jpm-badge-pending_payment, .jpm-badge-submitted { background: #fff3cd; color: #8a6300; }
.jpm-badge-under_review { background: #dbe9ff; color: #1c4e9c; }

.jpm-modal {
	position: fixed;
	top: 0; left: 0; width: 100%; height: 100%;
	background: rgba(0,0,0,0.5);
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
}
.jpm-modal-content {
	background: #fff;
	padding: 30px;
	border-radius: 8px;
	max-width: 420px;
	width: 90%;
	position: relative;
	text-align: center;
}
.jpm-modal-close {
	position: absolute;
	top: 10px; right: 16px;
	font-size: 22px;
	cursor: pointer;
	color: #888;
}
.jpm-modal .jpm-btn { margin: 6px; }
