/* Break out of theme .prose width when the approval shortcode is embedded in a page. */
.page-section-b .container.prose .im-approval-panel,
.page-content-a.prose .im-approval-panel {
	max-width: none;
	width: 100%;
}

.im-approval-panel {
	max-width: min(960px, 100%);
	width: 100%;
	margin: 0 auto;
}
.im-approval-panel--arc {
	max-width: min(960px, 100%);
}
.im-approval-lead { color: #555; margin-bottom: 1.5rem; }
.im-approval-notice { padding: 0.75rem 1rem; border-radius: 4px; }
.im-approval-notice--ok { background: #e8f5e9; color: #1b5e20; }
.im-approval-notice--err { background: #ffebee; color: #b71c1c; }
.im-approval-card { border: none; padding: 0; margin-bottom: 2rem; background: transparent; }
.im-approval-card header { margin-bottom: 1rem; }
.im-approval-badge { display: inline-block; font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: #004b92; margin-right: 0.5rem; }
.im-approval-status { font-size: 0.85rem; color: #666; }
.im-approval-preview-wrap {
	margin: 0 auto 1.5rem;
	max-width: 100%;
	width: 100%;
	background: #e6e6e6;
	padding: 16px;
	box-sizing: border-box;
}
.im-approval-panel--arc .im-approval-preview-wrap,
.im-approval-card--arc .im-approval-preview-wrap {
	max-width: 100%;
}
.im-approval-preview-frame {
	display: block;
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
	border: 0;
	background: transparent;
	min-height: 480px;
}
.im-approval-form {
	max-width: 100%;
	margin: 0 auto;
	padding-top: 0.5rem;
}
.im-approval-panel--arc .im-approval-form,
.im-approval-card--arc .im-approval-form {
	max-width: 100%;
}
.im-approval-password {
	display: block;
	margin: 0 0 1rem;
	font-weight: 600;
}
.im-approval-form input[type="password"] {
	display: block;
	margin-top: 0.35rem;
	width: 7.5rem;
	max-width: 100%;
	padding: 0.45rem 0.6rem;
	border: 1px solid #ccc;
	border-radius: 4px;
	font: inherit;
}
.im-approval-actions {
	display: flex;
	gap: 0.75rem;
	flex-wrap: wrap;
	align-items: center;
}
.im-approval-form button.im-approval-btn {
	-webkit-appearance: none;
	appearance: none;
	display: inline-block;
	padding: 0.7rem 1.35rem;
	border: none !important;
	border-radius: 4px;
	font: 700 0.85rem/1.2 Arial, Helvetica, sans-serif;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	cursor: pointer;
	box-shadow: none;
}
.im-approval-form button.im-approval-btn--approve {
	background: #004b92 !important;
	color: #fff !important;
}
.im-approval-form button.im-approval-btn--approve:hover,
.im-approval-form button.im-approval-btn--approve:focus-visible {
	background: #003a70 !important;
	color: #fff !important;
}
.im-approval-form button.im-approval-btn--reject {
	background: #c62828 !important;
	color: #fff !important;
}
.im-approval-form button.im-approval-btn--reject:hover,
.im-approval-form button.im-approval-btn--reject:focus-visible {
	background: #a31f1f !important;
	color: #fff !important;
}
.im-approval-history { width: 100%; border-collapse: collapse; font-size: 0.9rem; margin-top: 2rem; }
.im-approval-history th, .im-approval-history td { border: 1px solid #e0e0e0; padding: 0.5rem; text-align: left; }
.im-approval-history th { background: #f5f7fa; }

.im-approval-result {
	margin: 0 0 1.5rem;
	padding: 1.35rem 1.5rem;
	border-radius: 8px;
	border: 2px solid transparent;
}
.im-approval-result--fresh {
	box-shadow: 0 8px 28px rgba(0, 75, 146, 0.12);
}
.im-approval-result--success {
	background: #e8f4ec;
	border-color: #2e7d32;
}
.im-approval-result--reject {
	background: #ffebee;
	border-color: #c62828;
}
.im-approval-result--neutral {
	background: #f5f7fa;
	border-color: #cfd8dc;
}
.im-approval-result__title {
	margin: 0 0 0.75rem;
	font: 700 1.35rem/1.3 Arial, Helvetica, sans-serif;
	color: #001326;
}
.im-approval-result--success .im-approval-result__title { color: #1b5e20; }
.im-approval-result--reject .im-approval-result__title { color: #b71c1c; }
.im-approval-result__lead {
	margin: 0 0 1rem;
	font-size: 1rem;
	line-height: 1.55;
	color: #333;
}
.im-approval-result__meta {
	margin: 0 0 1rem;
	padding-left: 1.2rem;
	color: #444;
}
.im-approval-result__meta li + li { margin-top: 0.35rem; }
.im-approval-result__cta {
	display: inline-block;
	padding: 0.75rem 1.25rem;
	background: #004b92;
	color: #fff !important;
	text-decoration: none !important;
	border-radius: 4px;
	font-weight: 700;
}
.im-approval-result__cta:hover { background: #003a70; }
.im-approval-result__url {
	margin: 0.5rem 0 0;
	font-size: 0.9rem;
	color: #555;
	word-break: break-all;
}
.im-approval-result__url code {
	background: rgba(255, 255, 255, 0.7);
	padding: 0.15rem 0.35rem;
	border-radius: 3px;
}
.im-approval-card--resolved .im-approval-preview-wrap,
.im-approval-card--resolved .im-approval-form {
	display: none;
}
