/*
 * FCT E-Signatures bridge styles.
 * This file only styles the e-signature add-on layout and document tooling.
 * Required fields use a single controlled red border indicator.
 */

.fct-esign-manager,
.fct-esign-public-shell,
.fct-esign-theme-page {
	--fct-esign-paper: #ffffff;
	--fct-esign-paper-ink: #101827;
	--fct-esign-paper-muted: #5d6b7d;
	--fct-esign-line: var(--nsff-border, rgba(166, 197, 231, .18));
	--fct-esign-line-strong: var(--nsff-border-strong, rgba(166, 197, 231, .32));
	--fct-esign-blue: var(--nsff-blue, #60a5fa);
	--fct-esign-ice: var(--nsff-ice, #d7ecfb);
	--fct-esign-ice-2: var(--nsff-ice-2, #a6c5e7);
	--fct-esign-surface: var(--nsff-surface, #0d1522);
	--fct-esign-surface-2: var(--nsff-surface-2, #111d2d);
	--fct-esign-surface-3: var(--nsff-surface-3, #162538);
	--fct-esign-text: var(--nsff-text, #f8fafc);
	--fct-esign-soft: var(--nsff-text-soft, #dbeafe);
	--fct-esign-muted: var(--nsff-muted, #a9b7c9);
	--fct-esign-radius: var(--nsff-radius, 16px);
	--fct-esign-radius-sm: var(--nsff-radius-sm, 10px);
	--fct-esign-shadow: var(--nsff-shadow-soft, 0 14px 34px rgba(0, 0, 0, .28));
	color: var(--fct-esign-text);
}

.fct-esign-manager,
.fct-esign-manager *,
.fct-esign-public-shell,
.fct-esign-public-shell * {
	box-sizing: border-box;
}

/* Manager layout */
.fct-esign-manager {
	width: min(1360px, calc(100vw - 40px));
	max-width: 1360px;
	margin: 0 auto;
	padding: clamp(18px, 3vw, 34px) 0;
}

.wp-admin .fct-esign-manager.wrap {
	margin-left: 0;
	margin-right: 20px;
	width: auto;
	max-width: none;
}

.fct-esign-manager .fct-view-header {
	margin-bottom: 18px;
}

.fct-esign-manager .fct-view-header h1,
.fct-esign-manager .fct-view-header h2,
.fct-esign-manager h3,
.fct-esign-manager h4,
.fct-esign-public-shell h1,
.fct-esign-public-shell h2,
.fct-esign-public-shell h3 {
	color: var(--fct-esign-text);
}

.fct-esign-manager p,
.fct-esign-public-shell p {
	color: var(--fct-esign-muted);
}

.fct-esign-panel,
.fct-esign-public-card,
.fct-esign-consent,
.fct-esign-adopt-panel,
.fct-esign-signing-toolbar,
.fct-esign-document-wrap,
.fct-esign-submit-bar {
	background: linear-gradient(180deg, rgba(17, 29, 45, .94), rgba(8, 13, 20, .98));
	border: 1px solid var(--fct-esign-line);
	border-radius: var(--fct-esign-radius);
	box-shadow: var(--fct-esign-shadow);
}

.fct-esign-panel {
	padding: clamp(16px, 2vw, 24px);
	margin: 18px 0;
}

.fct-esign-clean-note,
.fct-esign-empty-builder,
.fct-esign-live-status {
	border: 1px solid var(--fct-esign-line);
	border-radius: 14px;
	padding: 12px 14px;
	margin: 0 0 16px;
	background: rgba(96, 165, 250, .10);
	color: var(--fct-esign-soft);
	line-height: 1.45;
}

.fct-esign-empty-builder {
	background: rgba(245, 158, 11, .12);
	border-color: rgba(245, 158, 11, .32);
}

.fct-esign-live-status {
	margin: 10px auto 14px;
	max-width: 980px;
	text-align: center;
	font-weight: 800;
}

.fct-esign-live-status.is-error,
.fct-esign-public-error {
	background: rgba(239, 68, 68, .14);
	border-color: rgba(239, 68, 68, .34);
	color: #fecaca;
}

.fct-esign-grid,
.fct-esign-adopt-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
	gap: 16px;
}

.fct-esign-manager label,
.fct-esign-public-shell label {
	color: var(--fct-esign-soft);
	font-weight: 750;
}

.fct-esign-manager input[type="text"],
.fct-esign-manager input[type="email"],
.fct-esign-manager input[type="url"],
.fct-esign-manager input[type="number"],
.fct-esign-manager input[type="datetime-local"],
.fct-esign-manager input[type="file"],
.fct-esign-manager select,
.fct-esign-manager textarea,
.fct-esign-public-shell input[type="text"],
.fct-esign-public-shell input[type="email"],
.fct-esign-public-shell select,
.fct-esign-public-shell textarea {
	width: 100%;
	max-width: 100%;
	min-height: 42px;
	border: 1px solid var(--fct-esign-line-strong);
	border-radius: 12px;
	background: rgba(5, 8, 13, .76);
	color: var(--fct-esign-text);
	padding: 10px 12px;
	box-shadow: none;
}

.fct-esign-manager input[type="file"] {
	padding: 9px 12px;
}

.fct-esign-manager textarea {
	min-height: 160px;
	font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
}

.fct-esign-manager input:focus,
.fct-esign-manager select:focus,
.fct-esign-manager textarea:focus,
.fct-esign-public-shell input:focus,
.fct-esign-public-shell select:focus,
.fct-esign-public-shell textarea:focus {
	border-color: var(--fct-esign-ice-2);
	outline: 2px solid rgba(166, 197, 231, .16);
	outline-offset: 1px;
}

.fct-esign-manager input[type="checkbox"],
.fct-esign-public-shell input[type="checkbox"],
.fct-esign-public-shell input[type="radio"] {
	width: auto;
	min-height: 0;
	margin-right: 7px;
}




/* Tables and status pills */
.fct-esign-table,
.fct-esign-audit-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	border: 1px solid var(--fct-esign-line);
	border-radius: 14px;
	background: rgba(5, 8, 13, .58);
}

.fct-esign-table th,
.fct-esign-table td,
.fct-esign-audit-table th,
.fct-esign-audit-table td {
	padding: 11px 13px !important;
	vertical-align: top;
	border-color: var(--fct-esign-line) !important;
	color: var(--fct-esign-soft);
}

.fct-esign-table th,
.fct-esign-audit-table th {
	background: rgba(166, 197, 231, .12) !important;
	color: var(--fct-esign-text) !important;
	font-weight: 900;
}

.fct-esign-table td,
.fct-esign-audit-table td {
	background: rgba(255, 255, 255, .025) !important;
}

.fct-esign-table a,
.fct-esign-audit-table a {
	color: var(--fct-esign-ice) !important;
	font-weight: 750;
}

.fct-esign-actions,
.fct-esign-screen-actions,
.fct-esign-form-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}

.fct-esign-inline-form {
	display: inline-flex;
	margin: 0;
}

.fct-esign-screen-actions {
	margin: 1em 0;
}

.fct-esign-status {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	padding: 4px 10px;
	font-size: 12px;
	font-weight: 900;
	line-height: 1.2;
}

.fct-esign-status-signed {
	background: rgba(16, 185, 129, .18);
	color: #bbf7d0;
	border: 1px solid rgba(16, 185, 129, .36);
}

.fct-esign-status-pending {
	background: rgba(245, 158, 11, .16);
	color: #fde68a;
	border: 1px solid rgba(245, 158, 11, .32);
}

.fct-esign-status-cancelled,
.fct-esign-status-expired {
	background: rgba(239, 68, 68, .16);
	color: #fecaca;
	border: 1px solid rgba(239, 68, 68, .34);
}

.fct-esign-check {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin: 12px 0;
	color: var(--fct-esign-soft);
}

.fct-esign-copy-input {
	max-width: 680px !important;
}

.fct-esign-toast {
	position: fixed;
	right: 18px;
	bottom: 18px;
	z-index: 99999;
	border: 1px solid rgba(16, 185, 129, .34);
	border-radius: 999px;
	background: #dcfce7;
	color: #064e3b;
	padding: 10px 14px;
	font-weight: 900;
	box-shadow: 0 16px 34px rgba(0, 0, 0, .28);
}

/* PDF builder */
.fct-esign-prep-workspace {
	margin-top: 18px;
}

.fct-esign-prep-header {
	display: none;
}

.fct-esign-single-document {
	position: relative;
	max-width: min(1120px, 100%);
	margin: 16px auto 0;
	padding: 12px 16px 28px;
	border: 1px solid var(--fct-esign-line);
	border-radius: 18px;
	background: radial-gradient(circle at top, rgba(96, 165, 250, .08), transparent 34%), rgba(5, 8, 13, .72);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .03), 0 18px 50px rgba(0, 0, 0, .28);
	overflow: visible;
}

.fct-esign-fieldbar {
	position: sticky;
	top: 8px;
	z-index: 240;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	flex-wrap: wrap;
	width: min(980px, 100%);
	max-width: 100%;
	margin: 0 auto 12px;
	padding: 6px;
	border: 1px solid rgba(220, 235, 255, .20);
	border-radius: 14px;
	background: rgba(15, 23, 42, .97);
	backdrop-filter: blur(14px);
	box-shadow: 0 10px 28px rgba(0, 0, 0, .28), 0 0 0 1px rgba(255, 255, 255, .03);
}

.fct-esign-fieldbar-left,
.fct-esign-fieldbar-nav {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}

.fct-esign-fieldbar-nav {
	margin-left: auto;
}

.fct-esign-fieldbar label {
	display: flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	font-size: 12px;
	font-weight: 850;
	white-space: nowrap;
}

.fct-esign-fieldbar select.fct-esign-current-page {
	width: auto;
	min-width: 130px;
	min-height: 34px;
	padding: 6px 30px 6px 10px;
	border-radius: 999px;
	background: var(--fct-esign-paper);
	color: var(--fct-esign-paper-ink);
	font-weight: 850;
}

.fct-esign-field-count {
	color: var(--fct-esign-muted);
	font-size: 12px;
	font-weight: 850;
	white-space: nowrap;
}

.fct-esign-tool-group {
	position: relative;
}

.fct-esign-tool-menu {
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	z-index: 500;
	display: grid;
	grid-template-columns: repeat(2, minmax(150px, 1fr));
	gap: 8px;
	min-width: min(430px, calc(100vw - 48px));
	max-height: min(62vh, 520px);
	overflow: auto;
	padding: 10px;
	border: 1px solid var(--fct-esign-line-strong);
	border-radius: 16px;
	background: rgba(8, 13, 20, .98);
	box-shadow: 0 22px 48px rgba(0, 0, 0, .38);
}

.fct-esign-tool-menu[hidden] {
	display: none !important;
}

.fct-esign-menu-item {
	justify-content: flex-start !important;
	min-height: 38px;
}

.fct-esign-tool-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	font-weight: 900;
}

.fct-esign-live-pdf-viewer,
.fct-esign-image-fallback {
	width: 100%;
}

.fct-esign-page-card {
	display: none;
	max-width: 980px;
	margin: 0 auto 22px;
}

.fct-esign-page-card.fct-esign-page-active {
	display: block;
}

.fct-esign-page-head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	margin-bottom: 8px;
}

.fct-esign-page-head h4 {
	margin: 0;
	font-size: 14px;
	font-weight: 900;
}

.fct-esign-page-badge {
	display: inline-flex;
	border: 1px solid var(--fct-esign-line);
	border-radius: 999px;
	padding: 4px 9px;
	color: var(--fct-esign-muted);
	font-size: 12px;
	font-weight: 850;
}

.fct-esign-image-stage,
.fct-esign-live-stage {
	position: relative;
	width: max-content;
	max-width: 100%;
	margin: 0 auto;
	background: var(--fct-esign-paper);
	box-shadow: 0 14px 44px rgba(0, 0, 0, .35);
	overflow: visible;
}

.fct-esign-image-stage img,
.fct-esign-live-stage canvas {
	display: block;
	max-width: 100%;
	height: auto;
}

.fct-esign-admin-text-layer {
	--scale-factor: 1;
	position: absolute;
	inset: 0;
	z-index: 4;
	overflow: hidden;
	pointer-events: auto;
	user-select: text;
	-webkit-user-select: text;
	color: transparent;
	line-height: 1;
	text-align: initial;
	text-size-adjust: none;
	-webkit-text-size-adjust: none;
	forced-color-adjust: none;
	transform-origin: 0 0;
	cursor: text;
}

.fct-esign-admin-text-layer span,
.fct-esign-admin-text-layer br {
	position: absolute;
	white-space: pre;
	transform-origin: 0 0;
	color: transparent;
	background: transparent;
	pointer-events: auto;
	user-select: text;
	-webkit-user-select: text;
	cursor: text;
}

/* The text layer stays selectable during normal editing. The dedicated text
   mode only raises it above placed fields for uninterrupted selection. */
.fct-esign-builder-clean.is-text-select-mode .fct-esign-admin-text-layer {
	z-index: 30;
}

.fct-esign-builder-clean.is-text-select-mode .fct-esign-layer,
.fct-esign-builder-clean.is-text-select-mode .fct-esign-admin-field {
	pointer-events: none !important;
}

.fct-esign-admin-text-layer ::selection {
	color: transparent;
	background: rgba(59, 130, 246, .34);
}

.fct-esign-live-stage canvas {
	pointer-events: none;
	user-select: none;
	-webkit-user-select: none;
}

.fct-esign-layer {
	position: absolute;
	inset: 0;
	z-index: 5;
	pointer-events: none;
}

.fct-esign-admin-field {
	position: absolute;
	pointer-events: auto;
	z-index: 20;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 1px;
	min-width: 28px;
	min-height: 22px;
	padding: 3px 21px 3px 7px;
	border: 1.5px solid rgba(37, 99, 235, .72);
	border-radius: 6px;
	background: rgba(219, 234, 254, .82);
	color: #0f172a;
	font-size: 11px;
	font-weight: 850;
	line-height: 1.05;
	box-shadow: 0 4px 12px rgba(15, 23, 42, .18), inset 0 0 0 1px rgba(255, 255, 255, .58);
	cursor: move;
	user-select: none;
}

.fct-esign-admin-field.is-required {
	border-color: rgba(37, 99, 235, .82);
	background: rgba(224, 242, 254, .88);
}

.fct-esign-admin-field[data-mode="prefill"],
.fct-esign-admin-field[data-mode="locked_prefill"] {
	border-color: rgba(16, 185, 129, .76);
	background: rgba(209, 250, 229, .86);
}

.fct-esign-admin-field > span {
	font-size: calc(11px * var(--fct-esign-admin-text-scale, 1));
	line-height: 1;
}

.fct-esign-text-appearance-settings {
	margin: 16px 0 12px;
	padding: 12px;
	border: 1px solid var(--fct-esign-line);
	border-radius: 12px;
	background: rgba(255, 255, 255, .025);
}

.fct-esign-text-appearance-settings legend {
	padding: 0 6px;
	color: var(--fct-esign-soft);
	font-weight: 850;
}

.fct-esign-text-size-custom-row {
	display: block;
}

.fct-esign-text-size-custom-row[style*="display: none"] {
	display: none !important;
}

.fct-esign-text-alignment-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

@media (max-width: 520px) {
	.fct-esign-text-alignment-grid {
		grid-template-columns: 1fr;
	}
}

.fct-esign-admin-field span,
.fct-esign-admin-field em {
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.fct-esign-admin-field em {
	font-size: 9px;
	font-style: normal;
	font-weight: 800;
	color: rgba(15, 23, 42, .70);
}

.fct-esign-admin-field .remove {
	position: absolute;
	top: -8px;
	right: -8px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	min-width: 20px;
	min-height: 20px;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, .84);
	border-radius: 999px;
	background: #0f172a;
	color: #fff;
	font-size: 14px;
	font-weight: 900;
	line-height: 1;
	cursor: pointer;
}

.fct-esign-resize-handle {
	position: absolute;
	right: -5px;
	bottom: -5px;
	width: 13px;
	height: 13px;
	border: 2px solid #fff;
	border-radius: 999px;
	background: var(--fct-esign-blue);
	box-shadow: 0 2px 6px rgba(0, 0, 0, .22);
	cursor: nwse-resize;
}

.fct-esign-inspector-backdrop {
	position: fixed;
	inset: 0;
	z-index: 9990;
	background: rgba(0, 0, 0, .42);
}

.fct-esign-inspector-backdrop[hidden] {
	display: none !important;
}

.fct-esign-inspector-drawer {
	position: fixed;
	top: 0;
	right: 0;
	z-index: 9991;
	width: min(430px, 100vw);
	height: 100vh;
	overflow: auto;
	padding: 18px;
	border-left: 1px solid var(--fct-esign-line);
	background: rgba(8, 13, 20, .98);
	box-shadow: -24px 0 60px rgba(0, 0, 0, .40);
	transform: translateX(104%);
	transition: transform .18s ease;
}

.fct-esign-inspector-drawer.is-open,
.fct-esign-inspector-drawer[aria-hidden="false"] {
	transform: translateX(0);
}

.fct-esign-drawer-head,
.fct-esign-inspector-actions,
.fct-esign-preset-row {
	display: flex;
	gap: 8px;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
}

.fct-esign-selected-name {
	border: 1px solid var(--fct-esign-line);
	border-radius: 12px;
	padding: 10px 12px;
	background: rgba(255, 255, 255, .05);
	color: var(--fct-esign-soft) !important;
	font-weight: 850;
}

.fct-esign-inspector-drawer label {
	display: block;
	margin: 12px 0;
}

.fct-esign-inspector-drawer input[type="range"] {
	width: 100%;
}

.fct-esign-fixed-value-row[hidden] {
	display: none !important;
}

/* Public signing page */
body.fct-esign-public-body {
	background: var(--nsff-bg, #05080d);
}

.fct-esign-theme-page {
	background: transparent !important;
	padding: 0 !important;
}

.fct-esign-page-shell {
	min-height: 70vh;
}

.fct-esign-page-rail {
	overflow: visible !important;
}

.fct-esign-public-shell {
	width: min(1180px, calc(100vw - 36px));
	max-width: 1180px;
	margin: 0 auto;
	padding: clamp(16px, 3vw, 30px) 0;
}

.fct-esign-public-card {
	padding: clamp(16px, 2.2vw, 24px);
}

.fct-esign-public-topbar {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 18px;
	padding: 4px 2px 16px;
}

.fct-esign-kicker,
.fct-esign-step-label,
.fct-esign-builder-step {
	display: block;
	color: var(--fct-esign-ice-2);
	text-transform: uppercase;
	letter-spacing: .12em;
	font-size: 11px;
	font-weight: 900;
}

.fct-esign-public-card h1 {
	margin: 4px 0 3px;
	font-size: clamp(24px, 3vw, 38px);
	line-height: 1.08;
}

.fct-esign-meta {
	margin: 5px 0 0;
	color: var(--fct-esign-muted) !important;
}

.fct-esign-progress-pill,
.fct-esign-adopt-status {
	display: inline-flex;
	align-items: center;
	white-space: nowrap;
	border: 1px solid var(--fct-esign-line-strong);
	border-radius: 999px;
	background: rgba(166, 197, 231, .10);
	color: var(--fct-esign-soft);
	padding: 8px 12px;
	font-size: 13px;
	font-weight: 900;
}

.fct-esign-consent,
.fct-esign-adopt-panel,
.fct-esign-signing-toolbar,
.fct-esign-document-wrap,
.fct-esign-submit-bar {
	padding: clamp(14px, 2vw, 20px);
	margin: 16px 0;
}

.fct-esign-pre-consent {
	max-width: 860px;
	margin: 18px auto;
}

.fct-esign-pre-consent-check,
.fct-esign-final-consent label {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	line-height: 1.4;
}

.fct-esign-preview[hidden],
.fct-esign-preview > div[hidden],
.fct-esign-signing-workflow[hidden],
.fct-esign-draw-panel[hidden] {
	display: none !important;
}

.fct-esign-adopt-head {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 16px;
}

.fct-esign-adopt-status.is-ready {
	border-color: rgba(16, 185, 129, .36);
	background: rgba(16, 185, 129, .16);
	color: #bbf7d0;
}

.fct-esign-signature-options {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 10px 0 14px;
}

.fct-esign-signature-options label {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	border: 1px solid var(--fct-esign-line);
	border-radius: 999px;
	background: rgba(255, 255, 255, .04);
	padding: 8px 12px;
	font-weight: 800;
}

.fct-esign-preview {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 12px;
	margin: 12px 0;
}

.fct-esign-preview > div {
	min-height: 68px;
	border-radius: 14px;
	background: var(--fct-esign-paper);
	color: var(--fct-esign-paper-ink);
	padding: 12px;
}

.fct-esign-preview span {
	display: block;
	margin-bottom: 4px;
	color: var(--fct-esign-paper-muted);
	font-size: 11px;
	font-weight: 900;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.fct-esign-preview strong,
.fct-esign-doc-script {
	font-family: "Brush Script MT", "Segoe Script", "Snell Roundhand", cursive;
}

.fct-esign-preview strong {
	color: #111827;
	font-size: 32px;
	font-weight: 500;
}

.fct-esign-draw-panel {
	border: 1px solid var(--fct-esign-line);
	border-radius: 16px;
	background: rgba(5, 8, 13, .68);
	padding: 12px;
}

.fct-esign-draw-panel canvas {
	display: block;
	width: 100%;
	max-width: 720px;
	height: 220px;
	border-radius: 12px;
	background: var(--fct-esign-paper);
	touch-action: none;
}

.fct-esign-draw-panel #fct-esign-clear-canvas {
	margin-top: 16px;
}

.fct-esign-signing-toolbar {
	position: sticky;
	top: 12px;
	z-index: 30;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}

.fct-esign-signing-toolbar #fct-esign-required-note {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--fct-esign-muted);
	font-size: 13px;
	font-weight: 800;
}

.fct-esign-required-swatch {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 24px;
	height: 15px;
	border: 2px solid rgba(220, 38, 38, .82);
	border-radius: 4px;
	background: rgba(255, 255, 255, .72);
	box-shadow: 0 0 0 2px rgba(220, 38, 38, .14);
}

.fct-esign-required-swatch::after {
	content: none;
}

.fct-esign-document-wrap {
	padding: clamp(10px, 1.6vw, 16px);
	overflow: visible;
}


.fct-esign-mobile-signing-note {
	display: none;
}

.fct-esign-mobile-signing-note strong {
	font-weight: 900;
}

.fct-esign-public-image-doc {
	width: 100%;
}

.fct-esign-public-page {
	margin: 24px 0;
}

.fct-esign-public-page h3 {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	max-width: 980px;
	margin: 0 auto 8px;
	color: var(--fct-esign-muted);
	font-size: 13px;
	font-weight: 900;
}

.fct-esign-public-stage {
	--scale-factor: 1;
	position: relative;
	max-width: 980px;
	margin: 0 auto;
	background: var(--fct-esign-paper);
	box-shadow: 0 16px 44px rgba(0, 0, 0, .36);
	overflow: visible !important;
	overscroll-behavior: contain;
	touch-action: pan-x pan-y pinch-zoom;
}

.fct-esign-public-stage img,
.fct-esign-public-pdf-canvas {
	display: block;
	width: 100%;
	height: auto;
	position: relative;
	z-index: 1;
}

.fct-esign-public-pdf-canvas[hidden],
.fct-esign-public-stage img.fct-esign-pdf-fallback-hidden,
.fct-esign-live-page-loader[hidden] {
	display: none !important;
}


/* Keep the PDF.js text invisible while allowing normal text selection and copy.
   Placed signing fields remain above this layer and keep their existing interactions. */
.fct-esign-public-stage .fct-esign-public-text-layer,
.fct-esign-public-stage .textLayer {
	--scale-factor: inherit;
	position: absolute !important;
	inset: 0 !important;
	z-index: 2;
	overflow: hidden !important;
	pointer-events: auto !important;
	user-select: text !important;
	-webkit-user-select: text !important;
	color: transparent !important;
	opacity: 1 !important;
	line-height: 1;
	transform-origin: 0 0;
	touch-action: pan-x pan-y pinch-zoom;
}

.fct-esign-public-stage .fct-esign-public-text-layer span,
.fct-esign-public-stage .textLayer span {
	position: absolute !important;
	white-space: pre !important;
	transform-origin: 0 0 !important;
	color: transparent !important;
	background: transparent !important;
	opacity: 1 !important;
	pointer-events: auto !important;
	user-select: text !important;
	-webkit-user-select: text !important;
}

.fct-esign-public-stage .fct-esign-public-text-layer ::selection,
.fct-esign-public-stage .textLayer ::selection {
	background: rgba(87, 170, 255, .34) !important;
}

.fct-esign-public-field-layer {
	position: absolute;
	inset: 0;
	z-index: 4;
	pointer-events: none;
	touch-action: pan-x pan-y pinch-zoom;
}

.fct-esign-public-field-layer .fct-esign-public-field {
	pointer-events: auto;
}

.fct-esign-live-page-loader,
.fct-esign-live-page-error {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 180px;
	padding: 18px;
	background: var(--fct-esign-paper);
	color: #143653;
	font-weight: 900;
	text-align: center;
}

.fct-esign-live-page-error {
	background: #fff7f7;
	color: #771b1b;
}

.fct-esign-public-image-doc.is-live-pdf-ready .fct-esign-live-page-loader,
.fct-esign-public-page.is-live-page-ready .fct-esign-live-page-loader,
.fct-esign-public-image-doc.is-live-pdf-failed .fct-esign-live-page-loader {
	display: none !important;
}

/* Document overlay fields. Required border indicators are defined later so they override theme/input styles cleanly. */
.fct-esign-public-field {
	--fct-esign-field-font-size: 18px;
	--fct-esign-script-font-size: 38px;
	--fct-esign-check-font-size: 30px;
	--fct-esign-text-scale: 1;
	--fct-esign-text-align: center;
	--fct-esign-text-padding: 5px;
	--fct-esign-content-align: center;
	position: absolute;
	z-index: 5;
	display: flex;
	align-items: var(--fct-esign-content-align, center);
	justify-content: center;
	box-sizing: border-box;
	padding: 2px 4px;
	overflow: visible !important;
	text-align: center;
	font-family: Arial, Helvetica, sans-serif;
	font-weight: 700;
	line-height: 1.05;
	touch-action: pan-x pan-y pinch-zoom;
	-webkit-tap-highlight-color: rgba(45, 141, 235, .18);
}

.fct-esign-public-field.fct-esign-needs-value {
	cursor: pointer;
}

.fct-esign-public-field:focus {
	outline: 2px solid rgba(96, 165, 250, .56);
	outline-offset: 2px;
}

.fct-esign-public-field.fct-esign-inline-editable,
.fct-esign-public-field:not(.fct-esign-field-type-signature):not(.fct-esign-field-type-initials).fct-esign-needs-value {
	border: 1px solid rgba(37, 99, 235, .52);
	border-radius: 4px;
	background: rgba(255, 255, 255, .58);
	color: #111827;
	box-shadow: 0 1px 5px rgba(6, 24, 42, .10), inset 0 0 0 1px rgba(255, 255, 255, .50);
}

.fct-esign-public-field.fct-esign-inline-editable:hover,
.fct-esign-public-field.fct-esign-inline-editable:focus-within,
.fct-esign-public-field:not(.fct-esign-field-type-signature):not(.fct-esign-field-type-initials).fct-esign-needs-value:hover {
	background: rgba(255, 255, 255, .88);
	border-color: rgba(37, 99, 235, .76);
	box-shadow: 0 0 0 2px rgba(96, 165, 250, .18), 0 3px 10px rgba(6, 24, 42, .12);
}

.fct-esign-field-type-signature.fct-esign-needs-value,
.fct-esign-field-type-initials.fct-esign-needs-value {
	border: 1.5px solid rgba(37, 99, 235, .70);
	border-radius: 6px;
	background: rgba(219, 234, 254, .90);
	color: #0f172a;
	box-shadow: 0 3px 10px rgba(0, 0, 0, .16), inset 0 0 0 1px rgba(255, 255, 255, .62);
}

.fct-esign-field-type-signature.fct-esign-needs-value:hover,
.fct-esign-field-type-initials.fct-esign-needs-value:hover {
	background: rgba(239, 246, 255, .98);
	border-color: rgba(37, 99, 235, .86);
}

.fct-esign-public-field-optional.fct-esign-needs-value {
	opacity: .84;
}

.fct-esign-public-field.fct-esign-complete,
.fct-esign-field-type-signature.fct-esign-complete,
.fct-esign-field-type-initials.fct-esign-complete {
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: #111827;
}

.fct-esign-public-field.is-current-required {
	box-shadow: 0 0 0 4px rgba(96, 165, 250, .24), 0 0 22px rgba(96, 165, 250, .32) !important;
}

.fct-esign-public-field.is-missing-required,
.fct-esign-public-field.has-inline-error {
	border-color: rgba(220, 38, 38, .78) !important;
	background: rgba(254, 242, 242, .94) !important;
	box-shadow: 0 0 0 2px rgba(220, 38, 38, .18), 0 4px 14px rgba(6, 24, 42, .14) !important;
}

.fct-esign-field-prompt {
	display: block;
	max-width: 100%;
	overflow: hidden;
	color: rgba(17, 24, 39, .70);
	font-size: var(--fct-esign-field-font-size, 12px);
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.fct-esign-public-field-optional .fct-esign-field-prompt::before {
	content: "";
}

.fct-esign-inline-field-input,
input.fct-esign-inline-field-input,
.fct-esign-public-shell input[type="text"].fct-esign-inline-field-input,
.fct-esign-public-shell input[type="email"].fct-esign-inline-field-input {
	width: 100% !important;
	height: 100% !important;
	min-height: 100% !important;
	max-width: 100% !important;
	padding: 1px 7px !important;
	border: 0 !important;
	border-radius: 0 !important;
	outline: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #111827 !important;
	-webkit-text-fill-color: #111827 !important;
	caret-color: #0b66bd !important;
	font-size: var(--fct-esign-field-font-size, 14px) !important;
	font-weight: 650 !important;
	line-height: 1 !important;
	letter-spacing: 0 !important;
	text-align: var(--fct-esign-text-align, center) !important;
	text-shadow: none !important;
	appearance: none !important;
	-webkit-appearance: none !important;
}

.fct-esign-inline-field-input::placeholder {
	color: rgba(17, 24, 39, .48) !important;
	-webkit-text-fill-color: rgba(17, 24, 39, .48) !important;
	opacity: 1 !important;
	font-weight: 600 !important;
	text-align: var(--fct-esign-text-align, center) !important;
}

.fct-esign-inline-error {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.fct-esign-inline-error:empty {
	display: none;
}

.fct-esign-doc-text {
	display: block;
	width: 100%;
	overflow: visible;
	color: #111827 !important;
	font-family: Arial, Helvetica, sans-serif !important;
	font-size: var(--fct-esign-field-font-size, 18px) !important;
	font-weight: 650 !important;
	line-height: 1.08 !important;
	text-align: var(--fct-esign-text-align, center);
	padding-inline: var(--fct-esign-text-padding, 5px);
	box-sizing: border-box;
	white-space: nowrap;
}

.fct-esign-doc-script {
	display: block;
	width: 100%;
	padding-inline: var(--fct-esign-text-padding, 5px);
	box-sizing: border-box;
	text-align: var(--fct-esign-text-align, center);
	color: #111827;
	font-size: var(--fct-esign-script-font-size, 38px);
	font-weight: 500;
	line-height: 1;
	text-align: center;
	white-space: nowrap;
}

.fct-esign-doc-check {
	color: #111827;
	font-size: var(--fct-esign-check-font-size, 30px);
	font-weight: 900;
	line-height: 1;
}

.fct-esign-signed-drawn-image {
	display: block;
	max-width: 118%;
	max-height: 145%;
	object-fit: contain;
	margin: auto;
	transform: scale(1.16);
	transform-origin: center center;
}

.fct-esign-clear-field {
	position: absolute;
	right: -28px;
	top: 50%;
	transform: translateY(-50%);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	min-width: 24px;
	min-height: 24px;
	padding: 0;
	border: 2px solid #fff;
	border-radius: 999px;
	background: #0f172a;
	color: #fff;
	font-size: 15px;
	font-weight: 900;
	line-height: 1;
	box-shadow: 0 4px 10px rgba(0, 0, 0, .25);
	cursor: pointer;
}

.fct-esign-public-field.fct-esign-empty-prefill:not(.fct-esign-needs-value) {
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: transparent !important;
	pointer-events: none !important;
}

.fct-esign-public-field.fct-esign-empty-prefill:not(.fct-esign-needs-value) * {
	display: none !important;
}

.fct-esign-final-consent {
	display: grid;
	gap: 10px;
}

.fct-esign-missing-panel {
	margin: 14px 0;
	border: 1px solid rgba(245, 158, 11, .34);
	border-radius: 14px;
	background: rgba(245, 158, 11, .11);
	padding: 12px;
}

.fct-esign-missing-panel[hidden] {
	display: none !important;
}

.fct-esign-missing-panel h3 {
	margin: 0 0 4px;
	font-size: 16px;
}

.fct-esign-missing-panel p {
	margin: 0 0 10px;
}

.fct-esign-missing-list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.fct-esign-missing-list button,
.fct-esign-missing-list a {
	display: inline-flex;
	align-items: center;
	border: 1px solid rgba(245, 158, 11, .40);
	border-radius: 999px;
	background: rgba(255, 255, 255, .08);
	color: var(--fct-esign-soft);
	padding: 7px 10px;
	font-weight: 850;
	text-decoration: none;
	cursor: pointer;
}

.fct-esign-submit-bar {
	display: grid;
	gap: 14px;
}

.fct-esign-submit {
	justify-self: start;
}

.fct-esign-submit:disabled,
.fct-esign-continue-button:disabled {
	opacity: .55;
	cursor: not-allowed;
}

.fct-esign-audit-card {
	border: 1px solid var(--fct-esign-line);
	border-radius: var(--fct-esign-radius);
	background: rgba(5, 8, 13, .58);
	padding: 16px;
	overflow: auto;
}

.fct-esign-audit-card h5 {
	margin: 18px 0 8px;
	color: var(--fct-esign-text);
}

@media (max-width: 900px) {
	.fct-esign-public-topbar,
	.fct-esign-adopt-head {
		flex-direction: column;
	}

	.fct-esign-progress-pill,
	.fct-esign-adopt-status {
		white-space: normal;
	}

	.fct-esign-fieldbar {
		align-items: stretch;
		border-radius: 18px;
	}

	.fct-esign-fieldbar-left,
	.fct-esign-fieldbar-nav {
		width: 100%;
		justify-content: center;
	}

	.fct-esign-fieldbar-nav {
		margin-left: 0;
	}

	.fct-esign-tool-menu {
		left: 50%;
		transform: translateX(-50%);
		grid-template-columns: 1fr;
		min-width: min(320px, calc(100vw - 48px));
	}
}

@media (max-width: 782px) {
	.fct-esign-manager,
	.fct-esign-public-shell {
		width: min(100%, calc(100vw - 24px));
	}

	.wp-admin .fct-esign-manager.wrap {
		margin-right: 10px;
	}

	.fct-esign-panel,
	.fct-esign-public-card,
	.fct-esign-consent,
	.fct-esign-adopt-panel,
	.fct-esign-signing-toolbar,
	.fct-esign-document-wrap,
	.fct-esign-submit-bar {
		border-radius: 14px;
		padding: 14px;
	}

	.fct-esign-signing-toolbar {
		top: 6px;
		gap: 8px;
	}

	.fct-esign-signing-toolbar #fct-esign-required-note {
		width: 100%;
		justify-content: center;
		font-size: 12px;
		text-align: center;
	}

	.fct-esign-public-page {
		margin: 16px 0;
	}

	.fct-esign-public-stage {
		max-width: 100% !important;
		box-shadow: 0 10px 26px rgba(0, 0, 0, .25);
	}

	.fct-esign-public-field {
		padding: 0 2px;
		line-height: 1;
		min-height: 0;
	}

	.fct-esign-public-field.fct-esign-inline-editable,
	.fct-esign-public-field:not(.fct-esign-field-type-signature):not(.fct-esign-field-type-initials).fct-esign-needs-value {
		border-width: 1px;
		border-radius: 3px;
	}

	.fct-esign-inline-field-input,
	input.fct-esign-inline-field-input {
		padding: 0 4px !important;
		font-weight: 600 !important;
	}

	.fct-esign-field-prompt {
		font-weight: 700;
	}

	.fct-esign-clear-field {
		right: -24px;
		width: 22px;
		height: 22px;
		min-width: 22px;
		min-height: 22px;
		font-size: 14px;
	}

	.fct-esign-inspector-drawer {
		width: 100vw;
	}
}

/* Public signing layout refinement pass */
body.fct-esign-public-body .fct-esign-theme-content,
body.fct-esign-public-body .fct-esign-signing-page,
body.fct-esign-public-body .fct-esign-main-card {
	width: 100%;
	max-width: none;
}

.fct-esign-public-shell {
	width: min(1220px, calc(100vw - 32px));
	max-width: 1220px;
	padding: clamp(18px, 3.5vw, 42px) 0 clamp(28px, 5vw, 64px);
}

.fct-esign-layout-v2.fct-esign-public-card {
	padding: clamp(18px, 2.6vw, 32px);
	border-color: rgba(166, 197, 231, .22);
	background:
		radial-gradient(circle at 12% 0%, rgba(96, 165, 250, .17), transparent 28%),
		linear-gradient(180deg, rgba(15, 25, 39, .96), rgba(5, 8, 13, .98));
}

.fct-esign-public-hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(260px, 340px);
	gap: clamp(16px, 2.6vw, 28px);
	align-items: stretch;
	margin-bottom: 18px;
}

.fct-esign-public-titleblock {
	min-width: 0;
	padding: clamp(8px, 1.2vw, 14px) 0;
}

.fct-esign-public-titleblock h1 {
	max-width: 780px;
	margin: 6px 0 7px;
	font-size: clamp(27px, 3.4vw, 44px);
	line-height: 1.04;
	letter-spacing: -.035em;
}

.fct-esign-meta strong {
	color: var(--fct-esign-text);
}

.fct-esign-progress-card {
	display: grid;
	align-content: center;
	gap: 7px;
	min-height: 132px;
	padding: 18px;
	border: 1px solid rgba(166, 197, 231, .22);
	border-radius: 20px;
	background: linear-gradient(180deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .035));
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 14px 34px rgba(0, 0, 0, .20);
}

.fct-esign-progress-card span,
.fct-esign-progress-card small {
	color: var(--fct-esign-muted);
	font-size: 12px;
	font-weight: 850;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.fct-esign-progress-card .fct-esign-progress-pill {
	justify-content: center;
	width: fit-content;
	min-width: 180px;
	border-color: rgba(125, 211, 252, .38);
	background: rgba(125, 211, 252, .14);
	color: #e0f2fe;
	font-size: 15px;
}

.fct-esign-stepper {
	position: relative;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
	margin: 0 0 clamp(18px, 2.2vw, 28px);
	padding: 0;
	list-style: none;
}

.fct-esign-step-item {
	position: relative;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	grid-template-areas: "num title" "num detail";
	column-gap: 10px;
	align-items: center;
	min-height: 72px;
	padding: 13px 14px;
	border: 1px solid rgba(166, 197, 231, .18);
	border-radius: 18px;
	background: rgba(255, 255, 255, .045);
	color: var(--fct-esign-muted);
	transition: border-color .18s ease, background .18s ease, transform .18s ease;
}

.fct-esign-step-item span {
	grid-area: num;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border: 1px solid rgba(166, 197, 231, .22);
	border-radius: 999px;
	background: rgba(5, 8, 13, .45);
	color: var(--fct-esign-soft);
	font-weight: 950;
}

.fct-esign-step-item strong {
	grid-area: title;
	min-width: 0;
	color: var(--fct-esign-soft);
	font-size: 14px;
	font-weight: 950;
	line-height: 1.15;
}

.fct-esign-step-item em {
	grid-area: detail;
	min-width: 0;
	color: var(--fct-esign-muted);
	font-size: 12px;
	font-style: normal;
	font-weight: 750;
	line-height: 1.2;
}

.fct-esign-step-item.is-current {
	border-color: rgba(125, 211, 252, .46);
	background: rgba(96, 165, 250, .12);
	box-shadow: 0 10px 28px rgba(37, 99, 235, .14);
}

.fct-esign-step-item.is-current span {
	border-color: rgba(125, 211, 252, .72);
	background: #dbeafe;
	color: #08203d;
}

.fct-esign-step-item.is-complete {
	border-color: rgba(16, 185, 129, .36);
	background: rgba(16, 185, 129, .10);
}

.fct-esign-step-item.is-complete span {
	border-color: rgba(16, 185, 129, .55);
	background: rgba(187, 247, 208, .96);
	color: #052e16;
}

.fct-esign-step-item.is-complete span::before {
	content: "✓";
}

.fct-esign-step-item.is-complete span {
	font-size: 0;
}

.fct-esign-step-item.is-complete span::before {
	font-size: 16px;
}

.fct-esign-step-card,
.fct-esign-layout-v2 .fct-esign-consent,
.fct-esign-layout-v2 .fct-esign-adopt-panel,
.fct-esign-layout-v2 .fct-esign-signing-toolbar,
.fct-esign-layout-v2 .fct-esign-document-wrap,
.fct-esign-layout-v2 .fct-esign-submit-bar {
	border-color: rgba(166, 197, 231, .20);
	background: linear-gradient(180deg, rgba(17, 29, 45, .88), rgba(8, 13, 20, .94));
}

.fct-esign-step-card-head {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 18px;
	margin-bottom: 16px;
}

.fct-esign-step-card-head h2,
.fct-esign-document-head h2 {
	margin: 4px 0 6px;
	font-size: clamp(22px, 2.2vw, 30px);
	line-height: 1.12;
	letter-spacing: -.02em;
}

.fct-esign-step-card-head p,
.fct-esign-document-head p,
.fct-esign-consent-copy p {
	max-width: 820px;
	margin: 0 0 10px;
	line-height: 1.58;
}

.fct-esign-step-chip,
.fct-esign-adopt-status {
	flex: 0 0 auto;
	border-radius: 999px;
}

.fct-esign-step-chip {
	border: 1px solid rgba(245, 158, 11, .30);
	background: rgba(245, 158, 11, .11);
	color: #fde68a;
	padding: 8px 11px;
	font-size: 12px;
	font-weight: 900;
}

.fct-esign-consent-copy {
	border: 1px solid rgba(166, 197, 231, .16);
	border-radius: 16px;
	background: rgba(255, 255, 255, .045);
	padding: 15px 16px;
	margin-bottom: 14px;
}

.fct-esign-check-card {
	display: flex;
	align-items: flex-start;
	gap: 11px;
	width: 100%;
	border: 1px solid rgba(166, 197, 231, .20);
	border-radius: 16px;
	background: rgba(255, 255, 255, .055);
	padding: 13px 14px;
	color: var(--fct-esign-soft);
	font-weight: 800;
	line-height: 1.45;
}

.fct-esign-check-card input[type="checkbox"] {
	flex: 0 0 auto;
	margin: 3px 0 0;
}

.fct-esign-card-actions,
.fct-esign-submit-actions {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 10px;
	margin-top: 16px;
}

.fct-esign-adopt-actions {
	flex-wrap: wrap;
}

.fct-esign-adopt-action-status {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 34px;
	border: 1px solid rgba(166, 197, 231, .24);
	border-radius: 999px;
	background: rgba(255, 255, 255, .06);
	color: var(--fct-esign-muted);
	padding: 7px 12px;
	font-size: 13px;
	font-weight: 900;
	line-height: 1.2;
}

.fct-esign-adopt-action-status.is-ready {
	border-color: rgba(96, 165, 250, .42);
	background: rgba(96, 165, 250, .12);
	color: #dbeafe;
}

.fct-esign-adopt-action-status.is-adopted {
	border-color: rgba(16, 185, 129, .52);
	background: rgba(16, 185, 129, .16);
	color: #bbf7d0;
}

.fct-esign-adopt-button.is-adopted {
	box-shadow: 0 12px 28px rgba(16, 185, 129, .18);
}

.fct-esign-layout-v2 .fct-btn,
.fct-esign-layout-v2 button.fct-btn {
	min-height: 42px;
	border-radius: 999px;
	font-weight: 900;
}

.fct-esign-layout-v2 .fct-esign-continue-button,
.fct-esign-layout-v2 .fct-esign-adopt-button,
.fct-esign-layout-v2 .fct-esign-submit {
	padding-inline: 20px;
	background: linear-gradient(180deg, #dbeafe, #a6c5e7);
	border-color: rgba(219, 234, 254, .75);
	color: #061427;
	box-shadow: 0 12px 28px rgba(96, 165, 250, .22);
}

.fct-esign-adopt-grid {
	grid-template-columns: minmax(0, 2fr) minmax(150px, .8fr);
	margin-bottom: 12px;
}

.fct-esign-adopt-grid p {
	margin: 0;
}

.fct-esign-signature-options {
	margin: 14px 0;
}

.fct-esign-option-pill,
.fct-esign-signature-options label {
	min-height: 42px;
	transition: border-color .16s ease, background .16s ease, transform .16s ease;
}

.fct-esign-option-pill:has(input:checked) {
	border-color: rgba(125, 211, 252, .55);
	background: rgba(125, 211, 252, .14);
	color: #e0f2fe;
}

.fct-esign-preview {
	grid-template-columns: minmax(0, 1.4fr) minmax(180px, .65fr);
	gap: 14px;
	margin: 16px 0 0;
}

.fct-esign-preview > div {
	position: relative;
	min-height: 96px;
	border: 1px solid rgba(15, 23, 42, .10);
	border-radius: 18px;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .55), 0 12px 24px rgba(0, 0, 0, .18);
}

.fct-esign-preview strong {
	display: block;
	padding-top: 4px;
	font-size: clamp(34px, 4.5vw, 54px);
	line-height: .95;
}

.fct-esign-preview > div:last-child strong {
	font-size: clamp(28px, 3.2vw, 40px);
}

.fct-esign-draw-panel {
	margin: 14px 0;
}

.fct-esign-signing-toolbar {
	top: 14px;
	justify-content: space-between;
	padding: 13px 16px;
	border-color: rgba(125, 211, 252, .24);
	background: rgba(8, 13, 20, .90);
	backdrop-filter: blur(14px);
}

.fct-esign-toolbar-title {
	display: grid;
	gap: 2px;
}

.fct-esign-toolbar-title strong {
	color: var(--fct-esign-text);
	font-size: 16px;
	font-weight: 950;
}

.fct-esign-toolbar-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 12px;
	flex-wrap: wrap;
}

.fct-esign-signing-toolbar #fct-esign-required-note {
	max-width: 520px;
	text-align: left;
}

.fct-esign-document-wrap {
	padding: 0;
	overflow: hidden;
}

.fct-esign-document-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 18px;
	padding: clamp(16px, 2vw, 22px) clamp(16px, 2.4vw, 26px);
	border-bottom: 1px solid rgba(166, 197, 231, .16);
	background: linear-gradient(180deg, rgba(255, 255, 255, .055), rgba(255, 255, 255, .025));
}

.fct-esign-document-head p {
	max-width: 360px;
	margin: 4px 0 0;
	font-size: 13px;
}

.fct-esign-public-image-doc {
	padding: clamp(18px, 2.6vw, 32px);
	background:
		radial-gradient(circle at 50% 0%, rgba(96, 165, 250, .12), transparent 26%),
		linear-gradient(180deg, rgba(2, 6, 23, .35), rgba(2, 6, 23, .64));
}

.fct-esign-public-page {
	margin: 0 auto clamp(24px, 3vw, 38px);
}

.fct-esign-public-page:last-child {
	margin-bottom: 0;
}

.fct-esign-public-page h3 {
	max-width: 980px;
	margin-bottom: 10px;
	padding: 0 2px;
	color: #dbeafe;
}

.fct-esign-public-page h3 span {
	display: inline-flex;
	align-items: center;
	border: 1px solid rgba(166, 197, 231, .18);
	border-radius: 999px;
	background: rgba(255, 255, 255, .055);
	padding: 6px 10px;
	font-size: 12px;
}

.fct-esign-public-stage {
	border-radius: 4px;
	box-shadow: 0 22px 60px rgba(0, 0, 0, .38), 0 0 0 1px rgba(15, 23, 42, .08);
}

.fct-esign-public-field.fct-esign-inline-editable,
.fct-esign-public-field:not(.fct-esign-field-type-signature):not(.fct-esign-field-type-initials).fct-esign-needs-value {
	border-color: rgba(37, 99, 235, .44);
	background: rgba(239, 246, 255, .70);
	box-shadow: 0 1px 4px rgba(6, 24, 42, .10), inset 0 0 0 1px rgba(255, 255, 255, .48);
}

.fct-esign-field-type-signature.fct-esign-needs-value,
.fct-esign-field-type-initials.fct-esign-needs-value {
	border-color: rgba(37, 99, 235, .58);
	background: rgba(219, 234, 254, .82);
}

.fct-esign-public-field.is-current-required {
	box-shadow: 0 0 0 4px rgba(56, 189, 248, .26), 0 0 26px rgba(56, 189, 248, .42) !important;
}

.fct-esign-submit-bar {
	padding: clamp(18px, 2.2vw, 24px);
}

.fct-esign-final-consent {
	gap: 12px;
}

.fct-esign-submit-actions {
	justify-content: flex-end;
	margin-top: 4px;
}

.fct-esign-submit-actions .fct-esign-submit {
	justify-self: end;
	min-width: min(100%, 260px);
}

.fct-esign-layout-v2.is-ready-to-submit .fct-esign-submit-bar {
	border-color: rgba(16, 185, 129, .36);
	box-shadow: 0 0 0 1px rgba(16, 185, 129, .12), var(--fct-esign-shadow);
}

.fct-esign-missing-panel {
	border-color: rgba(245, 158, 11, .36);
	background: rgba(245, 158, 11, .10);
}

@media (max-width: 980px) {
	.fct-esign-public-hero {
		grid-template-columns: 1fr;
	}

	.fct-esign-progress-card {
		min-height: 0;
	}

	.fct-esign-stepper {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.fct-esign-document-head,
	.fct-esign-signing-toolbar {
		flex-direction: column;
		align-items: stretch;
	}

	.fct-esign-toolbar-actions {
		justify-content: flex-start;
	}

	.fct-esign-document-head p {
		max-width: none;
	}
}

@media (max-width: 782px) {
	.fct-esign-public-shell {
		width: min(100%, calc(100vw - 18px));
		padding-top: 12px;
	}

	.fct-esign-layout-v2.fct-esign-public-card {
		padding: 12px;
		border-radius: 18px;
	}

	.fct-esign-stepper {
		grid-template-columns: 1fr;
		gap: 8px;
	}

	.fct-esign-step-item {
		min-height: 58px;
		padding: 10px 11px;
	}

	.fct-esign-step-item span {
		width: 30px;
		height: 30px;
	}

	.fct-esign-step-card-head,
	.fct-esign-adopt-head {
		flex-direction: column;
	}

	.fct-esign-adopt-grid,
	.fct-esign-preview {
		grid-template-columns: 1fr;
	}

	.fct-esign-preview > div {
		min-height: 82px;
	}

	.fct-esign-signing-toolbar {
		position: sticky;
		top: 6px;
		padding: 12px;
	}

	.fct-esign-toolbar-actions,
	.fct-esign-signing-toolbar #fct-esign-required-note {
		width: 100%;
		justify-content: stretch;
	}

	.fct-esign-toolbar-actions .fct-btn {
		width: 100%;
	}

	.fct-esign-document-head,
	.fct-esign-public-image-doc {
		padding: 14px;
	}

	.fct-esign-public-page h3 {
		margin-bottom: 7px;
	}

	.fct-esign-submit-actions,
	.fct-esign-card-actions {
		justify-content: stretch;
	}

	.fct-esign-submit-actions .fct-btn,
	.fct-esign-card-actions .fct-btn {
		width: 100%;
	}
}

/* Public signing containment fix: keep the inner signer UI inside the shared rail.
   The shared FCT shell treats every .fct-seamless-cinematic as a full-viewport page shell,
   so the public e-signature inner wrapper must opt out of that behavior. */
body.fct-esign-public-body .fct-page-rail.fct-esign-page-rail,
body.fct-esign-public-body .fct-page-rail.fct-esign-main-card {
	width: min(1280px, calc(100vw - 56px)) !important;
	max-width: 1280px !important;
	padding: clamp(22px, 3vw, 38px) clamp(16px, 2.6vw, 34px) clamp(34px, 5vw, 66px) !important;
	overflow: visible !important;
}

body.fct-esign-public-body .fct-page-rail.fct-esign-page-rail::before,
body.fct-esign-public-body .fct-page-rail.fct-esign-main-card::before {
	overflow: hidden !important;
}

body.fct-esign-public-body .fct-page-rail.fct-esign-page-rail > .fct-esign-theme-content,
body.fct-esign-public-body .fct-page-rail.fct-esign-main-card > .fct-esign-theme-content {
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible !important;
}

body.fct-esign-public-body .fct-page-rail .fct-esign-public-shell,
body.fct-esign-public-body .fct-page-rail .fct-esign-public-shell.fct-wrapper,
body.fct-esign-public-body .fct-page-rail .fct-esign-public-shell.fct-seamless-cinematic {
	box-sizing: border-box !important;
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	overflow: visible !important;
}

body.fct-esign-public-body .fct-esign-layout-v2.fct-esign-public-card {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	margin: 0 auto !important;
	overflow: visible !important;
}

body.fct-esign-public-body .fct-esign-stepper {
	width: 100% !important;
	min-width: 0 !important;
	overflow: visible !important;
}

body.fct-esign-public-body .fct-esign-step-item {
	min-width: 0 !important;
}

@media (max-width: 900px) {
	body.fct-esign-public-body .fct-page-rail.fct-esign-page-rail,
	body.fct-esign-public-body .fct-page-rail.fct-esign-main-card {
		width: min(100%, calc(100vw - 24px)) !important;
		padding: 18px 12px 42px !important;
	}
}

@media (max-width: 640px) {
	body.fct-esign-public-body .fct-page-rail.fct-esign-page-rail,
	body.fct-esign-public-body .fct-page-rail.fct-esign-main-card {
		width: 100% !important;
		padding: 12px 8px 34px !important;
		border-left: 0 !important;
		border-right: 0 !important;
	}

	body.fct-esign-public-body .fct-esign-public-titleblock h1 {
		font-size: clamp(24px, 8vw, 34px);
	}
}

/* Inline PDF field normalization: keep theme/browser input styles from leaking into placed document fields. */
body .fct-esign-public-shell .fct-esign-public-field .fct-esign-inline-field-input,
body .fct-esign-public-shell .fct-esign-public-field input.fct-esign-inline-field-input,
body .fct-esign-public-shell .fct-esign-public-field input[type="text"].fct-esign-inline-field-input,
body .fct-esign-public-shell .fct-esign-public-field input[type="email"].fct-esign-inline-field-input,
body .fct-esign-public-shell .fct-esign-public-field input[type="tel"].fct-esign-inline-field-input,
body .fct-esign-public-shell .fct-esign-public-field input[type="date"].fct-esign-inline-field-input,
body .fct-esign-public-shell .fct-esign-public-field input[type="number"].fct-esign-inline-field-input,
body .fct-esign-public-shell .fct-esign-public-field textarea.fct-esign-inline-field-input {
	box-sizing: border-box !important;
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	min-width: 0 !important;
	min-height: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 1px 7px !important;
	border: 0 !important;
	border-radius: 0 !important;
	outline: 0 !important;
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
	color: #111827 !important;
	-webkit-text-fill-color: #111827 !important;
	caret-color: #0b66bd !important;
	touch-action: pan-x pan-y pinch-zoom !important;
	font-family: Arial, Helvetica, sans-serif !important;
	font-size: var(--fct-esign-field-font-size, 14px) !important;
	font-weight: 650 !important;
	line-height: 1 !important;
	letter-spacing: 0 !important;
	text-align: center !important;
	text-shadow: none !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	filter: none !important;
	opacity: 1 !important;
}

body .fct-esign-public-shell .fct-esign-public-field .fct-esign-inline-field-input:hover,
body .fct-esign-public-shell .fct-esign-public-field .fct-esign-inline-field-input:focus,
body .fct-esign-public-shell .fct-esign-public-field .fct-esign-inline-field-input:focus-visible,
body .fct-esign-public-shell .fct-esign-public-field input[type="text"].fct-esign-inline-field-input:hover,
body .fct-esign-public-shell .fct-esign-public-field input[type="text"].fct-esign-inline-field-input:focus,
body .fct-esign-public-shell .fct-esign-public-field input[type="text"].fct-esign-inline-field-input:focus-visible,
body .fct-esign-public-shell .fct-esign-public-field input[type="email"].fct-esign-inline-field-input:hover,
body .fct-esign-public-shell .fct-esign-public-field input[type="email"].fct-esign-inline-field-input:focus,
body .fct-esign-public-shell .fct-esign-public-field input[type="email"].fct-esign-inline-field-input:focus-visible,
body .fct-esign-public-shell .fct-esign-public-field input[type="tel"].fct-esign-inline-field-input:hover,
body .fct-esign-public-shell .fct-esign-public-field input[type="tel"].fct-esign-inline-field-input:focus,
body .fct-esign-public-shell .fct-esign-public-field input[type="tel"].fct-esign-inline-field-input:focus-visible,
body .fct-esign-public-shell .fct-esign-public-field input[type="date"].fct-esign-inline-field-input:hover,
body .fct-esign-public-shell .fct-esign-public-field input[type="date"].fct-esign-inline-field-input:focus,
body .fct-esign-public-shell .fct-esign-public-field input[type="date"].fct-esign-inline-field-input:focus-visible,
body .fct-esign-public-shell .fct-esign-public-field input[type="number"].fct-esign-inline-field-input:hover,
body .fct-esign-public-shell .fct-esign-public-field input[type="number"].fct-esign-inline-field-input:focus,
body .fct-esign-public-shell .fct-esign-public-field input[type="number"].fct-esign-inline-field-input:focus-visible,
body .fct-esign-public-shell .fct-esign-public-field textarea.fct-esign-inline-field-input:hover,
body .fct-esign-public-shell .fct-esign-public-field textarea.fct-esign-inline-field-input:focus,
body .fct-esign-public-shell .fct-esign-public-field textarea.fct-esign-inline-field-input:focus-visible {
	border: 0 !important;
	outline: 0 !important;
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
	color: #111827 !important;
	-webkit-text-fill-color: #111827 !important;
	filter: none !important;
}

body .fct-esign-public-shell .fct-esign-public-field .fct-esign-inline-field-input::placeholder,
body .fct-esign-public-shell .fct-esign-public-field input[type="text"].fct-esign-inline-field-input::placeholder,
body .fct-esign-public-shell .fct-esign-public-field input[type="email"].fct-esign-inline-field-input::placeholder,
body .fct-esign-public-shell .fct-esign-public-field input[type="tel"].fct-esign-inline-field-input::placeholder,
body .fct-esign-public-shell .fct-esign-public-field input[type="date"].fct-esign-inline-field-input::placeholder,
body .fct-esign-public-shell .fct-esign-public-field input[type="number"].fct-esign-inline-field-input::placeholder,
body .fct-esign-public-shell .fct-esign-public-field textarea.fct-esign-inline-field-input::placeholder {
	color: rgba(17, 24, 39, .48) !important;
	-webkit-text-fill-color: rgba(17, 24, 39, .48) !important;
	opacity: 1 !important;
	font-weight: 600 !important;
	text-align: center !important;
}

body .fct-esign-public-shell .fct-esign-public-field .fct-esign-inline-field-input:-webkit-autofill,
body .fct-esign-public-shell .fct-esign-public-field .fct-esign-inline-field-input:-webkit-autofill:hover,
body .fct-esign-public-shell .fct-esign-public-field .fct-esign-inline-field-input:-webkit-autofill:focus {
	-webkit-box-shadow: 0 0 0 1000px transparent inset !important;
	box-shadow: 0 0 0 1000px transparent inset !important;
	-webkit-text-fill-color: #111827 !important;
	caret-color: #0b66bd !important;
	transition: background-color 9999s ease-in-out 0s !important;
}

/* Required field indicator: one controlled red border.
   No floating badges, rails, or icons, so fields do not stack or overlap on mobile. */
.fct-esign-public-field.fct-esign-public-field-required {
	--fct-esign-required-border: rgba(220, 38, 38, .78);
	--fct-esign-required-bg: rgba(255, 255, 255, .74);
	--fct-esign-required-ring: rgba(220, 38, 38, .16);
}

.fct-esign-public-field.fct-esign-public-field-required::before,
.fct-esign-public-field.fct-esign-public-field-required::after {
	content: none !important;
	display: none !important;
}

.fct-esign-public-field.fct-esign-public-field-required.fct-esign-needs-value {
	border: 2px solid var(--fct-esign-required-border) !important;
	border-radius: 4px !important;
	background: var(--fct-esign-required-bg) !important;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, .72), 0 0 0 3px var(--fct-esign-required-ring), 0 2px 8px rgba(6, 24, 42, .12) !important;
}

.fct-esign-public-field.fct-esign-public-field-required.fct-esign-needs-value:hover,
.fct-esign-public-field.fct-esign-public-field-required.fct-esign-needs-value:focus-within {
	background: rgba(255, 255, 255, .92) !important;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, .78), 0 0 0 4px rgba(220, 38, 38, .20), 0 3px 10px rgba(6, 24, 42, .14) !important;
}

.fct-esign-public-field.fct-esign-public-field-required.is-current-required {
	/* Current required fields should keep the red required border.
	   The blue accent is only an outer focus glow, so the signer still knows the field is required. */
	border-color: rgba(220, 38, 38, .92) !important;
	background: rgba(255, 255, 255, .92) !important;
	box-shadow: 0 0 0 2px rgba(255, 255, 255, .84), 0 0 0 5px rgba(96, 165, 250, .24), 0 0 18px rgba(96, 165, 250, .22) !important;
}

.fct-esign-public-field.fct-esign-public-field-required.is-missing-required,
.fct-esign-public-field.fct-esign-public-field-required.has-inline-error {
	border-color: rgba(220, 38, 38, .96) !important;
	background: rgba(254, 242, 242, .96) !important;
	box-shadow: 0 0 0 2px rgba(255, 255, 255, .90), 0 0 0 5px rgba(220, 38, 38, .22), 0 4px 14px rgba(6, 24, 42, .14) !important;
}

.fct-esign-public-field.fct-esign-public-field-required.fct-esign-complete,
.fct-esign-public-field.fct-esign-public-field-required.fct-esign-inline-editable.fct-esign-complete {
	border-color: transparent !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.fct-esign-field-type-signature.fct-esign-public-field-required.fct-esign-needs-value,
.fct-esign-field-type-initials.fct-esign-public-field-required.fct-esign-needs-value {
	border-width: 2px !important;
}

@media (max-width: 782px) {
	.fct-esign-public-field.fct-esign-public-field-required.fct-esign-needs-value {
		border-width: 2px !important;
		box-shadow: 0 0 0 2px rgba(220, 38, 38, .14), 0 2px 7px rgba(6, 24, 42, .10) !important;
	}

	.fct-esign-public-field.fct-esign-public-field-required.is-current-required {
		border-color: rgba(220, 38, 38, .92) !important;
		background: rgba(255, 255, 255, .92) !important;
		box-shadow: 0 0 0 2px rgba(220, 38, 38, .12), 0 0 0 4px rgba(96, 165, 250, .20), 0 0 12px rgba(96, 165, 250, .18) !important;
	}
}


/* Mobile keyboard focus fix: inputs inside the PDF must remain real, editable controls. */
body .fct-esign-public-shell .fct-esign-public-field .fct-esign-inline-field-input {
	pointer-events: auto !important;
	user-select: text !important;
	-webkit-user-select: text !important;
	touch-action: manipulation !important;
}

body .fct-esign-public-shell .fct-esign-public-field.is-mobile-editing {
	touch-action: manipulation !important;
}

/* Field-level validation popover: one visible message attached to the active invalid field. */
.fct-esign-field-popover {
	position: fixed;
	z-index: 999999;
	box-sizing: border-box;
	max-width: min(320px, calc(100vw - 20px));
	padding: 9px 11px;
	border: 1px solid rgba(220, 38, 38, .58);
	border-radius: 10px;
	background: rgba(255, 255, 255, .98);
	box-shadow: 0 12px 28px rgba(15, 23, 42, .22), 0 0 0 3px rgba(220, 38, 38, .10);
	color: #7f1d1d;
	font-size: 13px;
	font-weight: 750;
	line-height: 1.25;
	text-align: left;
	pointer-events: none;
}

.fct-esign-field-popover[hidden] {
	display: none !important;
}

.fct-esign-field-popover::after {
	content: "";
	position: absolute;
	left: 50%;
	width: 10px;
	height: 10px;
	border: inherit;
	background: inherit;
	transform: translateX(-50%) rotate(45deg);
}

.fct-esign-field-popover.is-above::after {
	bottom: -6px;
	border-top: 0;
	border-left: 0;
}

.fct-esign-field-popover.is-below::after {
	top: -6px;
	border-right: 0;
	border-bottom: 0;
}

.fct-esign-public-field.has-inline-error {
	z-index: 25;
}

.fct-esign-public-field.has-inline-error .fct-esign-inline-field-input {
	color: #111827 !important;
	-webkit-text-fill-color: #111827 !important;
}

@media (max-width: 782px) {
	.fct-esign-field-popover {
		max-width: min(260px, calc(100vw - 20px));
		padding: 8px 10px;
		border-radius: 9px;
		font-size: 12px;
		line-height: 1.22;
	}
}

/* Compact document field spacing: shrink the visible field chrome while keeping the original PDF hit area/coordinates. */
.fct-esign-public-field {
	--fct-esign-field-compact-x: 5px;
	--fct-esign-field-compact-y: 2px;
}

.fct-esign-public-field > .fct-esign-field-prompt,
.fct-esign-public-field > .fct-esign-inline-field-input,
.fct-esign-public-field > input.fct-esign-inline-field-input,
.fct-esign-public-field > textarea.fct-esign-inline-field-input,
.fct-esign-public-field > .fct-esign-doc-text,
.fct-esign-public-field > .fct-esign-doc-script,
.fct-esign-public-field > .fct-esign-doc-check,
.fct-esign-public-field > .fct-esign-signed-drawn-image,
.fct-esign-public-field > .fct-esign-clear-field {
	position: relative;
	z-index: 1;
}

.fct-esign-public-field.fct-esign-inline-editable,
.fct-esign-public-field:not(.fct-esign-field-type-signature):not(.fct-esign-field-type-initials).fct-esign-needs-value,
.fct-esign-field-type-signature.fct-esign-needs-value,
.fct-esign-field-type-initials.fct-esign-needs-value {
	border-color: transparent !important;
	background: transparent !important;
	box-shadow: none !important;
}

.fct-esign-public-field.fct-esign-inline-editable::before,
.fct-esign-public-field:not(.fct-esign-field-type-signature):not(.fct-esign-field-type-initials).fct-esign-needs-value::before,
.fct-esign-field-type-signature.fct-esign-needs-value::before,
.fct-esign-field-type-initials.fct-esign-needs-value::before {
	display: block !important;
	position: absolute;
	inset: var(--fct-esign-field-compact-y) var(--fct-esign-field-compact-x);
	z-index: 0;
	pointer-events: none;
	border: 1.5px solid rgba(37, 99, 235, .58);
	border-radius: 4px;
	background: rgba(255, 255, 255, .76);
	box-shadow: 0 1px 5px rgba(6, 24, 42, .09), inset 0 0 0 1px rgba(255, 255, 255, .52);
}

.fct-esign-field-type-signature.fct-esign-needs-value::before,
.fct-esign-field-type-initials.fct-esign-needs-value::before {
	border-color: rgba(37, 99, 235, .70);
	border-radius: 6px;
	background: rgba(219, 234, 254, .88);
	box-shadow: 0 2px 8px rgba(0, 0, 0, .13), inset 0 0 0 1px rgba(255, 255, 255, .62);
}

.fct-esign-public-field.fct-esign-public-field-required.fct-esign-needs-value::before {
	border: 2px solid rgba(220, 38, 38, .82) !important;
	background: rgba(255, 255, 255, .78) !important;
	box-shadow: 0 0 0 2px rgba(220, 38, 38, .13), 0 1px 6px rgba(6, 24, 42, .10) !important;
}

.fct-esign-public-field.fct-esign-public-field-required.is-current-required::before {
	border-color: rgba(29, 78, 216, .94) !important;
	box-shadow: 0 0 0 3px rgba(96, 165, 250, .24), 0 0 15px rgba(96, 165, 250, .20) !important;
}

.fct-esign-public-field.fct-esign-public-field-required.is-missing-required::before,
.fct-esign-public-field.fct-esign-public-field-required.has-inline-error::before {
	border-color: rgba(220, 38, 38, .98) !important;
	background: rgba(254, 242, 242, .96) !important;
	box-shadow: 0 0 0 3px rgba(220, 38, 38, .20), 0 3px 12px rgba(6, 24, 42, .12) !important;
}

.fct-esign-public-field.fct-esign-public-field-required.fct-esign-complete::before,
.fct-esign-public-field.fct-esign-public-field-required.fct-esign-inline-editable.fct-esign-complete::before {
	content: none !important;
	display: none !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.fct-esign-public-field.fct-esign-public-field-required.fct-esign-complete,
.fct-esign-public-field.fct-esign-public-field-required.fct-esign-inline-editable.fct-esign-complete {
	border-color: transparent !important;
	background: transparent !important;
	box-shadow: none !important;
}

body .fct-esign-public-shell .fct-esign-public-field .fct-esign-inline-field-input,
body .fct-esign-public-shell .fct-esign-public-field input.fct-esign-inline-field-input,
body .fct-esign-public-shell .fct-esign-public-field input[type="text"].fct-esign-inline-field-input,
body .fct-esign-public-shell .fct-esign-public-field input[type="email"].fct-esign-inline-field-input,
body .fct-esign-public-shell .fct-esign-public-field input[type="tel"].fct-esign-inline-field-input,
body .fct-esign-public-shell .fct-esign-public-field input[type="date"].fct-esign-inline-field-input,
body .fct-esign-public-shell .fct-esign-public-field input[type="number"].fct-esign-inline-field-input,
body .fct-esign-public-shell .fct-esign-public-field textarea.fct-esign-inline-field-input {
	width: calc(100% - 10px) !important;
	height: calc(100% - 4px) !important;
	min-height: 0 !important;
	margin: auto !important;
	padding-left: var(--fct-esign-text-padding, 5px) !important;
	padding-right: var(--fct-esign-text-padding, 5px) !important;
	text-align: var(--fct-esign-text-align, center) !important;
}

.fct-esign-public-field .fct-esign-field-prompt,
.fct-esign-public-field .fct-esign-doc-text,
.fct-esign-public-field .fct-esign-doc-script {
	max-width: calc(100% - (var(--fct-esign-text-padding, 5px) * 2));
}

body .fct-esign-public-shell .fct-esign-public-field[data-text-vertical="top"] > .fct-esign-inline-field-input,
body .fct-esign-public-shell .fct-esign-public-field[data-text-vertical="top"] > input.fct-esign-inline-field-input,
body .fct-esign-public-shell .fct-esign-public-field[data-text-vertical="top"] > textarea.fct-esign-inline-field-input,
body .fct-esign-public-shell .fct-esign-public-field[data-text-vertical="bottom"] > .fct-esign-inline-field-input,
body .fct-esign-public-shell .fct-esign-public-field[data-text-vertical="bottom"] > input.fct-esign-inline-field-input,
body .fct-esign-public-shell .fct-esign-public-field[data-text-vertical="bottom"] > textarea.fct-esign-inline-field-input {
	height: auto !important;
	min-height: calc(var(--fct-esign-field-font-size, 14px) * 1.25) !important;
}

body .fct-esign-public-shell .fct-esign-public-field[data-text-vertical="top"] > .fct-esign-inline-field-input,
body .fct-esign-public-shell .fct-esign-public-field[data-text-vertical="top"] > input.fct-esign-inline-field-input,
body .fct-esign-public-shell .fct-esign-public-field[data-text-vertical="top"] > textarea.fct-esign-inline-field-input {
	margin: var(--fct-esign-text-padding, 5px) auto auto !important;
}

body .fct-esign-public-shell .fct-esign-public-field[data-text-vertical="bottom"] > .fct-esign-inline-field-input,
body .fct-esign-public-shell .fct-esign-public-field[data-text-vertical="bottom"] > input.fct-esign-inline-field-input,
body .fct-esign-public-shell .fct-esign-public-field[data-text-vertical="bottom"] > textarea.fct-esign-inline-field-input {
	margin: auto auto var(--fct-esign-text-padding, 5px) !important;
}

@media (max-width: 782px) {
	.fct-esign-public-field {
		--fct-esign-field-compact-x: 3px;
		--fct-esign-field-compact-y: 1.5px;
	}

	body .fct-esign-public-shell .fct-esign-public-field .fct-esign-inline-field-input,
	body .fct-esign-public-shell .fct-esign-public-field input.fct-esign-inline-field-input,
	body .fct-esign-public-shell .fct-esign-public-field textarea.fct-esign-inline-field-input {
		width: calc(100% - 6px) !important;
		height: calc(100% - 3px) !important;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
		padding-left: var(--fct-esign-text-padding, 4px) !important;
		padding-right: var(--fct-esign-text-padding, 4px) !important;
		text-align: var(--fct-esign-text-align, center) !important;
	}

	.fct-esign-public-field .fct-esign-field-prompt,
	.fct-esign-public-field .fct-esign-doc-text,
	.fct-esign-public-field .fct-esign-doc-script {
		max-width: calc(100% - (var(--fct-esign-text-padding, 4px) * 2));
	}

	body .fct-esign-public-shell .fct-esign-public-field[data-text-vertical="top"] > .fct-esign-inline-field-input,
	body .fct-esign-public-shell .fct-esign-public-field[data-text-vertical="top"] > input.fct-esign-inline-field-input,
	body .fct-esign-public-shell .fct-esign-public-field[data-text-vertical="top"] > textarea.fct-esign-inline-field-input,
	body .fct-esign-public-shell .fct-esign-public-field[data-text-vertical="bottom"] > .fct-esign-inline-field-input,
	body .fct-esign-public-shell .fct-esign-public-field[data-text-vertical="bottom"] > input.fct-esign-inline-field-input,
	body .fct-esign-public-shell .fct-esign-public-field[data-text-vertical="bottom"] > textarea.fct-esign-inline-field-input {
		height: auto !important;
		min-height: calc(var(--fct-esign-field-font-size, 12px) * 1.2) !important;
	}

	body .fct-esign-public-shell .fct-esign-public-field[data-text-vertical="top"] > .fct-esign-inline-field-input,
	body .fct-esign-public-shell .fct-esign-public-field[data-text-vertical="top"] > input.fct-esign-inline-field-input,
	body .fct-esign-public-shell .fct-esign-public-field[data-text-vertical="top"] > textarea.fct-esign-inline-field-input {
		margin: var(--fct-esign-text-padding, 4px) auto auto !important;
	}

	body .fct-esign-public-shell .fct-esign-public-field[data-text-vertical="bottom"] > .fct-esign-inline-field-input,
	body .fct-esign-public-shell .fct-esign-public-field[data-text-vertical="bottom"] > input.fct-esign-inline-field-input,
	body .fct-esign-public-shell .fct-esign-public-field[data-text-vertical="bottom"] > textarea.fct-esign-inline-field-input {
		margin: auto auto var(--fct-esign-text-padding, 4px) !important;
	}
}


/* Quiet completed fields: red means needs attention, blue means active, completed means the document value sits naturally on the PDF. */
.fct-esign-public-field.fct-esign-complete:not(.is-current-required):not(.is-missing-required):not(.has-inline-error),
.fct-esign-public-field.fct-esign-public-field-required.fct-esign-complete:not(.is-current-required):not(.is-missing-required):not(.has-inline-error),
.fct-esign-public-field.fct-esign-inline-editable.fct-esign-complete:not(.is-current-required):not(.is-missing-required):not(.has-inline-error) {
	border-color: transparent !important;
	background: transparent !important;
	box-shadow: none !important;
}

.fct-esign-public-field.fct-esign-complete:not(.is-current-required):not(.is-missing-required):not(.has-inline-error)::before,
.fct-esign-public-field.fct-esign-public-field-required.fct-esign-complete:not(.is-current-required):not(.is-missing-required):not(.has-inline-error)::before,
.fct-esign-public-field.fct-esign-inline-editable.fct-esign-complete:not(.is-current-required):not(.is-missing-required):not(.has-inline-error)::before {
	content: none !important;
	display: none !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

/* Flat required/error field pass: keep only one visible border layer.
   The compact field chrome uses ::before, so the outer field wrapper must stay visually transparent. */
body .fct-esign-public-shell .fct-esign-public-field.fct-esign-public-field-required,
body .fct-esign-public-shell .fct-esign-public-field.fct-esign-public-field-required.fct-esign-needs-value,
body .fct-esign-public-shell .fct-esign-public-field.fct-esign-public-field-required.is-missing-required,
body .fct-esign-public-shell .fct-esign-public-field.fct-esign-public-field-required.has-inline-error,
body .fct-esign-public-shell .fct-esign-public-field.fct-esign-public-field-required.is-current-required {
	border-color: transparent !important;
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
}

body .fct-esign-public-shell .fct-esign-public-field.fct-esign-public-field-required::after {
	content: none !important;
	display: none !important;
}

body .fct-esign-public-shell .fct-esign-public-field.fct-esign-public-field-required.fct-esign-needs-value::before {
	display: block !important;
	position: absolute !important;
	inset: var(--fct-esign-field-compact-y, 2px) var(--fct-esign-field-compact-x, 5px) !important;
	z-index: 0 !important;
	pointer-events: none !important;
	border: 2px solid rgba(220, 38, 38, .86) !important;
	border-radius: 4px !important;
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
}

body .fct-esign-public-shell .fct-esign-public-field.fct-esign-public-field-required.is-missing-required::before,
body .fct-esign-public-shell .fct-esign-public-field.fct-esign-public-field-required.has-inline-error::before {
	border-color: rgba(220, 38, 38, .98) !important;
	border-width: 2px !important;
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
}

body .fct-esign-public-shell .fct-esign-public-field.fct-esign-public-field-required.is-current-required::before {
	border-color: rgba(37, 99, 235, .95) !important;
	border-width: 2px !important;
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
}

body .fct-esign-public-shell .fct-esign-public-field.fct-esign-public-field-required.fct-esign-complete::before,
body .fct-esign-public-shell .fct-esign-public-field.fct-esign-public-field-required.fct-esign-inline-editable.fct-esign-complete::before {
	content: none !important;
	display: none !important;
	border: 0 !important;
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
}

body .fct-esign-public-shell .fct-esign-public-field.has-inline-error .fct-esign-inline-field-input,
body .fct-esign-public-shell .fct-esign-public-field .fct-esign-inline-field-input.is-invalid {
	border: 0 !important;
	outline: 0 !important;
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
}

body .fct-esign-public-shell .fct-esign-field-popover {
	border: 1px solid rgba(220, 38, 38, .72) !important;
	background: rgba(255, 255, 255, .98) !important;
	box-shadow: 0 10px 24px rgba(15, 23, 42, .22) !important;
}

body .fct-esign-public-shell .fct-esign-field-popover::after {
	box-shadow: none !important;
}


/* Required focus priority fix: optional/current fields may use a blue border, but empty required fields keep red until completed. */
.fct-esign-public-field.fct-esign-public-field-required.fct-esign-needs-value.is-current-required,
.fct-esign-public-field.fct-esign-public-field-required.fct-esign-needs-value:focus,
.fct-esign-public-field.fct-esign-public-field-required.fct-esign-needs-value:focus-within {
	border-color: rgba(220, 38, 38, .92) !important;
}

.fct-esign-public-field.fct-esign-public-field-required.is-missing-required.is-current-required,
.fct-esign-public-field.fct-esign-public-field-required.has-inline-error.is-current-required {
	border-color: rgba(220, 38, 38, .96) !important;
	background: rgba(255, 255, 255, .96) !important;
	box-shadow: 0 0 0 2px rgba(255, 255, 255, .90), 0 0 0 5px rgba(220, 38, 38, .18), 0 0 14px rgba(96, 165, 250, .14) !important;
}


/* Focus/accessibility cleanup: required fields keep the red indicator while focused,
   and the outer PDF field shell no longer creates a second blue focus box. */
body .fct-esign-public-shell .fct-esign-public-field:focus,
body .fct-esign-public-shell .fct-esign-public-field:focus-visible {
	outline: 0 !important;
}

body .fct-esign-public-shell .fct-esign-public-field.is-current-required {
	box-shadow: none !important;
}

body .fct-esign-public-shell .fct-esign-public-field.fct-esign-public-field-required.fct-esign-needs-value.is-current-required::before,
body .fct-esign-public-shell .fct-esign-public-field.fct-esign-public-field-required.fct-esign-needs-value:focus::before,
body .fct-esign-public-shell .fct-esign-public-field.fct-esign-public-field-required.fct-esign-needs-value:focus-within::before {
	border-color: rgba(220, 38, 38, .96) !important;
	border-width: 2px !important;
	background: transparent !important;
	box-shadow: none !important;
}

body .fct-esign-public-shell .fct-esign-public-field.fct-esign-public-field-required.is-missing-required.is-current-required::before,
body .fct-esign-public-shell .fct-esign-public-field.fct-esign-public-field-required.has-inline-error.is-current-required::before {
	border-color: rgba(220, 38, 38, .98) !important;
	border-width: 2px !important;
	background: transparent !important;
	box-shadow: none !important;
}

body .fct-esign-public-shell .fct-esign-public-field.fct-esign-public-field-optional.is-current-required::before,
body .fct-esign-public-shell .fct-esign-public-field.fct-esign-public-field-optional:focus::before,
body .fct-esign-public-shell .fct-esign-public-field.fct-esign-public-field-optional:focus-within::before {
	border-color: rgba(37, 99, 235, .86) !important;
	box-shadow: none !important;
}


/* Mobile PDF field overview pass: keep the full tap target, but make the visual field chrome/text lighter when the PDF page is zoomed out. */
@media (max-width: 782px) {
	body .fct-esign-public-shell .fct-esign-public-field {
		--fct-esign-field-compact-x: 4px;
		--fct-esign-field-compact-y: 24%;
		padding: 0 !important;
		line-height: 1 !important;
	}

	body .fct-esign-public-shell .fct-esign-public-field.fct-esign-inline-editable::before,
	body .fct-esign-public-shell .fct-esign-public-field:not(.fct-esign-field-type-signature):not(.fct-esign-field-type-initials).fct-esign-needs-value::before,
	body .fct-esign-public-shell .fct-esign-field-type-signature.fct-esign-needs-value::before,
	body .fct-esign-public-shell .fct-esign-field-type-initials.fct-esign-needs-value::before,
	body .fct-esign-public-shell .fct-esign-public-field.fct-esign-public-field-required.fct-esign-needs-value::before,
	body .fct-esign-public-shell .fct-esign-public-field.fct-esign-public-field-required.is-current-required::before,
	body .fct-esign-public-shell .fct-esign-public-field.fct-esign-public-field-required.is-missing-required::before,
	body .fct-esign-public-shell .fct-esign-public-field.fct-esign-public-field-required.has-inline-error::before {
		inset: var(--fct-esign-field-compact-y, 24%) var(--fct-esign-field-compact-x, 4px) !important;
		border-width: 1px !important;
		border-radius: 3px !important;
		box-shadow: none !important;
	}

	body .fct-esign-public-shell .fct-esign-public-field.fct-esign-public-field-required.fct-esign-needs-value::before,
	body .fct-esign-public-shell .fct-esign-public-field.fct-esign-public-field-required.is-current-required::before,
	body .fct-esign-public-shell .fct-esign-public-field.fct-esign-public-field-required.is-missing-required::before,
	body .fct-esign-public-shell .fct-esign-public-field.fct-esign-public-field-required.has-inline-error::before {
		border-width: 1.25px !important;
	}

	body .fct-esign-public-shell .fct-esign-field-type-signature.fct-esign-needs-value::before,
	body .fct-esign-public-shell .fct-esign-field-type-initials.fct-esign-needs-value::before {
		background: rgba(255, 255, 255, .20) !important;
	}

	body .fct-esign-public-shell .fct-esign-public-field .fct-esign-field-prompt,
	body .fct-esign-public-shell .fct-esign-public-field .fct-esign-doc-text {
		font-size: var(--fct-esign-field-font-size, 8px) !important;
		font-weight: 700 !important;
		letter-spacing: 0 !important;
		line-height: 1 !important;
		max-width: calc(100% - 10px) !important;
		transform: scale(.88);
		transform-origin: center center;
	}

	body .fct-esign-public-shell .fct-esign-public-field .fct-esign-doc-script {
		font-size: var(--fct-esign-script-font-size, 18px) !important;
		line-height: .9 !important;
		transform: scale(.88);
		transform-origin: center center;
	}

	body .fct-esign-public-shell .fct-esign-public-field .fct-esign-inline-field-input,
	body .fct-esign-public-shell .fct-esign-public-field input.fct-esign-inline-field-input,
	body .fct-esign-public-shell .fct-esign-public-field textarea.fct-esign-inline-field-input {
		width: calc(100% - 8px) !important;
		height: 52% !important;
		min-height: 0 !important;
		padding: 0 3px !important;
		font-size: var(--fct-esign-field-font-size, 8px) !important;
		line-height: 1 !important;
	}
}

@media (max-width: 782px) {
	.fct-esign-adopt-actions {
		align-items: stretch;
	}

	.fct-esign-adopt-actions .fct-esign-adopt-button,
	.fct-esign-adopt-action-status {
		width: 100%;
		justify-content: center;
		text-align: center;
	}
}


/* Viewer-scoped Next Required Field button.
   The Step 3 instruction panel stays in the document flow. The action button is
   positioned against the PDF viewer, not the whole site/browser window. */
body.fct-esign-public-body .fct-esign-public-shell .fct-esign-signing-toolbar {
	position: static !important;
	top: auto !important;
	right: auto !important;
	bottom: auto !important;
	left: auto !important;
	z-index: 30 !important;
	width: auto !important;
	max-width: none !important;
	margin: 16px 0 !important;
	transform: none !important;
}

body.fct-esign-public-body .fct-esign-public-shell .fct-esign-document-wrap {
	position: relative;
	margin-top: 16px;
}

body.fct-esign-public-body .fct-esign-signing-workflow:not([hidden]) {
	padding-bottom: max(72px, calc(env(safe-area-inset-bottom) + 62px));
}

body.fct-esign-public-body .fct-esign-public-shell .fct-esign-layout-v2.fct-esign-public-card {
	padding-bottom: max(34px, calc(env(safe-area-inset-bottom) + 24px));
}

.fct-esign-next-required-fixed {
	position: fixed !important;
	right: var(--fct-esign-next-required-right, max(18px, env(safe-area-inset-right))) !important;
	bottom: var(--fct-esign-next-required-bottom, max(18px, env(safe-area-inset-bottom))) !important;
	z-index: 9995 !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 48px;
	padding: 13px 18px !important;
	border: 1px solid rgba(255, 255, 255, .30) !important;
	border-radius: 999px !important;
	background: linear-gradient(135deg, #0f3357 0%, #1d5f8f 100%) !important;
	color: #ffffff !important;
	font-weight: 800 !important;
	letter-spacing: .01em;
	text-decoration: none !important;
	text-shadow: 0 1px 1px rgba(0, 0, 0, .28);
	box-shadow: 0 18px 44px rgba(3, 15, 31, .46), 0 0 0 1px rgba(15, 51, 87, .42), 0 1px 0 rgba(255, 255, 255, .24) inset !important;
	white-space: nowrap;
	max-width: min(320px, calc(100vw - 28px));
	-webkit-tap-highlight-color: transparent;
}

.fct-esign-next-required-fixed::before {
	content: "→";
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .18);
	font-size: 16px;
	font-weight: 900;
	line-height: 1;
	flex: 0 0 auto;
}

.fct-esign-next-required-fixed:hover,
.fct-esign-next-required-fixed:focus-visible {
	background: linear-gradient(135deg, #16466f 0%, #2473a8 100%) !important;
	color: #ffffff !important;
	box-shadow: 0 20px 50px rgba(3, 15, 31, .52), 0 0 0 3px rgba(125, 211, 252, .32) !important;
	transform: translateY(-1px);
}

.fct-esign-next-required-fixed:active {
	transform: translateY(0);
	box-shadow: 0 12px 30px rgba(3, 15, 31, .40), 0 0 0 2px rgba(125, 211, 252, .22) !important;
}

.fct-esign-document-wrap .fct-esign-next-required-fixed.is-in-document-viewer {
	outline: none !important;
}

.fct-esign-next-required-fixed[hidden] {
	display: none !important;
}

@media (max-width: 782px) {
	body.fct-esign-public-body .fct-esign-public-shell .fct-esign-signing-toolbar {
		padding: 12px !important;
	}

	.fct-esign-next-required-fixed {
		min-height: 46px;
		padding: 12px 15px !important;
		font-size: 14px !important;
		max-width: min(280px, calc(100vw - 24px));
		gap: 7px;
	}

	.fct-esign-next-required-fixed::before {
		width: 20px;
		height: 20px;
		font-size: 14px;
	}

	body.fct-esign-public-body .fct-esign-signing-workflow:not([hidden]) {
		padding-bottom: max(82px, calc(env(safe-area-inset-bottom) + 72px));
	}
}


/* E-signature: force the viewer Next Required control to stay solid/readable on top of white PDF pages. */
body.fct-esign-public-body button#fct-esign-next-required.fct-esign-next-required-fixed,
body.fct-esign-public-body .fct-esign-document-wrap button#fct-esign-next-required.fct-esign-next-required-fixed,
body.fct-esign-public-body .fct-esign-public-shell button#fct-esign-next-required.fct-esign-next-required-fixed {
	appearance: none !important;
	-webkit-appearance: none !important;
	background: #0b5f9c !important;
	background-image: linear-gradient(135deg, #0b5f9c 0%, #0f8acb 100%) !important;
	background-color: #0b5f9c !important;
	color: #ffffff !important;
	border: 2px solid rgba(255, 255, 255, .92) !important;
	box-shadow: 0 16px 36px rgba(0, 15, 35, .38), 0 2px 8px rgba(0, 0, 0, .24), 0 0 0 1px rgba(10, 95, 156, .38) !important;
	opacity: 1 !important;
	filter: none !important;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
	mix-blend-mode: normal !important;
}

body.fct-esign-public-body button#fct-esign-next-required.fct-esign-next-required-fixed::before {
	background: rgba(255, 255, 255, .24) !important;
	color: #ffffff !important;
	opacity: 1 !important;
}

body.fct-esign-public-body button#fct-esign-next-required.fct-esign-next-required-fixed:hover,
body.fct-esign-public-body button#fct-esign-next-required.fct-esign-next-required-fixed:focus-visible {
	background: #0f75b7 !important;
	background-image: linear-gradient(135deg, #0f75b7 0%, #16a3df 100%) !important;
	color: #ffffff !important;
	border-color: #ffffff !important;
	box-shadow: 0 18px 42px rgba(0, 15, 35, .44), 0 0 0 4px rgba(14, 165, 233, .25) !important;
	opacity: 1 !important;
}

body.fct-esign-public-body button#fct-esign-next-required.fct-esign-next-required-fixed:disabled {
	opacity: .96 !important;
}

/* Mobile validation messages: keep them attached to the PDF field instead of a viewport popover. */
.fct-esign-mobile-field-message {
	display: none;
}

@media (max-width: 782px) {
	body .fct-esign-public-shell .fct-esign-field-popover {
		display: none !important;
	}

	.fct-esign-public-field.has-mobile-field-message {
		z-index: 80 !important;
	}

	.fct-esign-mobile-field-message {
		display: block;
		position: absolute;
		z-index: 90;
		box-sizing: border-box;
		min-width: 76px;
		max-width: min(190px, calc(100vw - 28px));
		padding: 4px 6px;
		border: 1px solid rgba(220, 38, 38, .78);
		border-radius: 7px;
		background: rgba(255, 255, 255, .985);
		box-shadow: 0 8px 18px rgba(15, 23, 42, .18);
		color: #7f1d1d;
		font-size: 9px;
		font-weight: 800;
		line-height: 1.15;
		text-align: left;
		pointer-events: none;
		white-space: normal;
		transform: scale(var(--fct-esign-mobile-message-inverse-scale, 1));
		transform-origin: left top;
	}

	.fct-esign-mobile-field-message::after {
		content: "";
		position: absolute;
		left: 16px;
		width: 9px;
		height: 9px;
		border: inherit;
		background: inherit;
		transform: rotate(45deg);
	}

	.fct-esign-mobile-field-message.is-below {
		transform-origin: left top;
	}

	.fct-esign-mobile-field-message.is-above {
		transform-origin: left bottom;
	}

	.fct-esign-mobile-field-message.is-below::after {
		top: -5px;
		border-right: 0;
		border-bottom: 0;
	}

	.fct-esign-mobile-field-message.is-above::after {
		bottom: -5px;
		border-top: 0;
		border-left: 0;
	}
}

/* Mobile tap target correction: keep the visible field chrome compact, but add a small invisible hit area so fields are easier to tap without making them visually taller. */
@media (max-width: 782px) {
	body .fct-esign-public-shell .fct-esign-public-field {
		min-height: 0 !important;
		line-height: 1 !important;
		overflow: visible !important;
		touch-action: manipulation !important;
	}

	body .fct-esign-public-shell .fct-esign-public-field::after {
		display: block !important;
		position: absolute !important;
		inset: -5px -4px !important;
		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
		pointer-events: auto !important;
		z-index: 1 !important;
	}

	body .fct-esign-public-shell .fct-esign-public-field::before,
	body .fct-esign-public-shell .fct-esign-public-field .fct-esign-field-prompt,
	body .fct-esign-public-shell .fct-esign-public-field .fct-esign-doc-text,
	body .fct-esign-public-shell .fct-esign-public-field .fct-esign-doc-script,
	body .fct-esign-public-shell .fct-esign-public-field .fct-esign-inline-field-input,
	body .fct-esign-public-shell .fct-esign-public-field .fct-esign-clear-field {
		position: relative !important;
		z-index: 2 !important;
	}

	body .fct-esign-public-shell .fct-esign-public-field.fct-esign-inline-editable::before,
	body .fct-esign-public-shell .fct-esign-public-field:not(.fct-esign-field-type-signature):not(.fct-esign-field-type-initials).fct-esign-needs-value::before,
	body .fct-esign-public-shell .fct-esign-field-type-signature.fct-esign-needs-value::before,
	body .fct-esign-public-shell .fct-esign-field-type-initials.fct-esign-needs-value::before,
	body .fct-esign-public-shell .fct-esign-public-field.fct-esign-public-field-required.fct-esign-needs-value::before,
	body .fct-esign-public-shell .fct-esign-public-field.fct-esign-public-field-required.is-current-required::before,
	body .fct-esign-public-shell .fct-esign-public-field.fct-esign-public-field-required.is-missing-required::before,
	body .fct-esign-public-shell .fct-esign-public-field.fct-esign-public-field-required.has-inline-error::before {
		inset: var(--fct-esign-field-compact-y, 24%) var(--fct-esign-field-compact-x, 4px) !important;
		border-width: 1px !important;
		border-radius: 3px !important;
	}

	body .fct-esign-public-shell .fct-esign-public-field .fct-esign-field-prompt,
	body .fct-esign-public-shell .fct-esign-public-field .fct-esign-doc-text {
		font-size: var(--fct-esign-field-font-size, 8px) !important;
		line-height: 1 !important;
		transform: scale(.92) !important;
		transform-origin: center center !important;
		padding: 0 2px !important;
	}

	body .fct-esign-public-shell .fct-esign-public-field .fct-esign-inline-field-input,
	body .fct-esign-public-shell .fct-esign-public-field input.fct-esign-inline-field-input,
	body .fct-esign-public-shell .fct-esign-public-field textarea.fct-esign-inline-field-input {
		height: 52% !important;
		min-height: 0 !important;
		padding: 0 3px !important;
		font-size: var(--fct-esign-field-font-size, 8px) !important;
		line-height: 1 !important;
	}
}

@media (max-width: 768px) {
	.fct-esign-mobile-signing-note {
		display: block;
		margin: 8px 0 14px;
		padding: 12px 14px;
		border: 1px solid rgba(96, 165, 250, .55);
		border-left: 4px solid rgba(96, 165, 250, .95);
		border-radius: 14px;
		background: rgba(15, 23, 42, .94);
		color: #f8fbff;
		box-shadow: 0 14px 34px rgba(15, 23, 42, .28);
		font-size: 13px;
		font-weight: 700;
		line-height: 1.42;
	}

	.fct-esign-mobile-signing-note strong {
		display: block;
		margin-bottom: 2px;
		color: #ffffff;
		font-size: 13.5px;
	}
}

/* E-signature modal notices, including the mobile first-visit signing tip. */
.fct-esign-modal-backdrop {
	position: fixed;
	inset: 0;
	z-index: 2147483000;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 18px;
	background: rgba(3, 7, 18, .68);
	backdrop-filter: blur(8px);
}

.fct-esign-modal-backdrop.is-open:not([hidden]) {
	display: flex;
}

.fct-esign-modal-card {
	width: min(92vw, 440px);
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 14px;
	padding: 20px;
	border: 1px solid rgba(148, 163, 184, .28);
	border-radius: 22px;
	background: #ffffff;
	color: #111827;
	box-shadow: 0 28px 80px rgba(2, 6, 23, .42);
}

.fct-esign-modal-icon {
	width: 42px;
	height: 42px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: rgba(37, 99, 235, .12);
	color: #1d4ed8;
	font-size: 22px;
	font-weight: 900;
	line-height: 1;
}

.fct-esign-modal-backdrop.is-warning .fct-esign-modal-icon {
	background: rgba(245, 158, 11, .16);
	color: #92400e;
}

.fct-esign-modal-backdrop.is-error .fct-esign-modal-icon {
	background: rgba(220, 38, 38, .14);
	color: #b91c1c;
}

.fct-esign-modal-content h2 {
	margin: 0 0 7px;
	color: #0f172a;
	font-size: 20px;
	font-weight: 900;
	line-height: 1.2;
}

.fct-esign-modal-content p {
	margin: 0;
	color: #334155;
	font-size: 15px;
	font-weight: 650;
	line-height: 1.5;
}

.fct-esign-modal-actions {
	display: flex;
	justify-content: flex-end;
	gap: 10px;
	margin-top: 18px;
}

.fct-esign-modal-actions button {
	appearance: none;
	border: 0;
	border-radius: 999px;
	padding: 11px 18px;
	font-size: 14px;
	font-weight: 900;
	cursor: pointer;
}

.fct-esign-modal-cancel {
	background: #e2e8f0;
	color: #0f172a;
}

.fct-esign-modal-confirm {
	background: linear-gradient(135deg, #2563eb, #1d4ed8);
	color: #ffffff;
	box-shadow: 0 10px 24px rgba(37, 99, 235, .28);
}

.fct-esign-modal-actions button:focus-visible {
	outline: 3px solid rgba(37, 99, 235, .35);
	outline-offset: 3px;
}

@media (max-width: 782px) {
	.fct-esign-modal-backdrop {
		align-items: center;
		justify-content: center;
		padding: 18px max(14px, env(safe-area-inset-right)) 18px max(14px, env(safe-area-inset-left));
	}

	.fct-esign-modal-card {
		width: 100%;
		grid-template-columns: 1fr;
		gap: 10px;
		padding: 18px;
		border-radius: 20px;
	}

	.fct-esign-modal-icon {
		width: 38px;
		height: 38px;
		font-size: 20px;
	}

	.fct-esign-modal-content h2 {
		font-size: 18px;
	}

	.fct-esign-modal-content p {
		font-size: 14px;
		line-height: 1.45;
	}

	.fct-esign-modal-actions {
		margin-top: 16px;
	}

	.fct-esign-modal-actions button {
		min-height: 44px;
		padding: 12px 18px;
	}

	.fct-esign-modal-confirm {
		flex: 1;
	}
}


/* Required-item list alignment cleanup: keep field names consistent without changing the generated list markup. */
.fct-esign-missing-list {
	list-style: none !important;
	margin-left: 0 !important;
	padding-left: 0 !important;
	text-align: left !important;
}

.fct-esign-missing-list li,
.fct-esign-missing-list li::marker {
	list-style: none !important;
	margin-left: 0 !important;
	padding-left: 0 !important;
}

.fct-esign-missing-list button,
.fct-esign-missing-list a {
	justify-content: flex-start !important;
	text-align: left !important;
}

@media (max-width: 782px) {
	.fct-esign-missing-list {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 8px !important;
	}

	.fct-esign-missing-list button,
	.fct-esign-missing-list a {
		width: 100% !important;
		border-radius: 12px !important;
	}
}

/* Field indicator restore: no generated empty pseudo-content on PDF field prompts/markers.
   Draw required/active borders on the actual field wrapper so removing content:"" cannot remove the indicator. */
body .fct-esign-public-shell .fct-esign-public-field::before,
body .fct-esign-public-shell .fct-esign-public-field::after,
body .fct-esign-public-shell .fct-esign-public-field .fct-esign-field-prompt::before,
body .fct-esign-public-shell .fct-esign-public-field .fct-esign-field-prompt::after {
	content: none !important;
	display: none !important;
}

body .fct-esign-public-shell .fct-esign-public-field.fct-esign-needs-value,
body .fct-esign-public-shell .fct-esign-public-field.fct-esign-inline-editable:not(.fct-esign-complete) {
	border: 1.5px solid rgba(37, 99, 235, .62) !important;
	border-radius: 4px !important;
	background: rgba(255, 255, 255, .76) !important;
	box-shadow: none !important;
}

body .fct-esign-public-shell .fct-esign-field-type-signature.fct-esign-needs-value,
body .fct-esign-public-shell .fct-esign-field-type-initials.fct-esign-needs-value {
	border-color: rgba(37, 99, 235, .72) !important;
	border-radius: 6px !important;
	background: rgba(219, 234, 254, .72) !important;
}

body .fct-esign-public-shell .fct-esign-public-field.fct-esign-public-field-required.fct-esign-needs-value,
body .fct-esign-public-shell .fct-esign-public-field.fct-esign-public-field-required.is-current-required,
body .fct-esign-public-shell .fct-esign-public-field.fct-esign-public-field-required:focus,
body .fct-esign-public-shell .fct-esign-public-field.fct-esign-public-field-required:focus-within {
	border: 2px solid rgba(220, 38, 38, .90) !important;
	border-radius: 4px !important;
	background: rgba(255, 255, 255, .78) !important;
	box-shadow: none !important;
}

body .fct-esign-public-shell .fct-esign-public-field.fct-esign-public-field-required.is-missing-required,
body .fct-esign-public-shell .fct-esign-public-field.fct-esign-public-field-required.has-inline-error {
	border: 2px solid rgba(220, 38, 38, .98) !important;
	background: rgba(254, 242, 242, .92) !important;
	box-shadow: none !important;
}

body .fct-esign-public-shell .fct-esign-public-field.fct-esign-public-field-optional.is-current-required,
body .fct-esign-public-shell .fct-esign-public-field.fct-esign-public-field-optional:focus,
body .fct-esign-public-shell .fct-esign-public-field.fct-esign-public-field-optional:focus-within {
	border: 1.5px solid rgba(37, 99, 235, .88) !important;
	background: rgba(255, 255, 255, .86) !important;
	box-shadow: none !important;
}

body .fct-esign-public-shell .fct-esign-public-field.fct-esign-complete,
body .fct-esign-public-shell .fct-esign-public-field.fct-esign-public-field-required.fct-esign-complete,
body .fct-esign-public-shell .fct-esign-public-field.fct-esign-inline-editable.fct-esign-complete {
	border-color: transparent !important;
	background: transparent !important;
	box-shadow: none !important;
}

body .fct-esign-public-shell .fct-esign-public-field .fct-esign-inline-field-input,
body .fct-esign-public-shell .fct-esign-public-field input.fct-esign-inline-field-input,
body .fct-esign-public-shell .fct-esign-public-field textarea.fct-esign-inline-field-input {
	text-align: center !important;
}

body .fct-esign-public-shell .fct-esign-public-field .fct-esign-inline-field-input::placeholder,
body .fct-esign-public-shell .fct-esign-public-field input.fct-esign-inline-field-input::placeholder,
body .fct-esign-public-shell .fct-esign-public-field textarea.fct-esign-inline-field-input::placeholder {
	text-align: center !important;
}

/* E-signature status/error body. The theme/header/footer and cinematic wrapper provide the page skeleton. */
.fct-esign-status-card {
	width: min(760px, 100%);
	margin: clamp(24px, 5vw, 56px) auto;
	padding: clamp(22px, 3vw, 34px) !important;
}

.fct-esign-status-card .fct-esign-status-header {
	margin: 0;
	padding: 0;
}

.fct-esign-status-card .fct-esign-status-header h1 {
	margin: 8px 0 10px;
	font-size: clamp(28px, 4vw, 44px);
	line-height: 1.08;
	letter-spacing: -.035em;
	color: #f8fbff;
}

.fct-esign-status-card .fct-esign-status-header p {
	max-width: 680px;
	margin: 0;
	font-size: clamp(15px, 1.5vw, 18px);
	font-weight: 700;
	line-height: 1.55;
	color: #c7d5e8 !important;
}

@media (max-width: 640px) {
	.fct-esign-status-card {
		width: 100%;
		margin: 20px auto 28px;
		padding: 20px !important;
	}

	.fct-esign-status-card .fct-esign-status-header h1 {
		font-size: 28px;
	}

	.fct-esign-status-card .fct-esign-status-header p {
		font-size: 15px;
	}
}

/* Admin dashboard polish for the e-signature manager. Keep this scoped to the manager only. */
.fct-esign-manager.fct-esign-clean {
	--fct-esign-admin-card: rgba(12, 20, 32, .92);
	--fct-esign-admin-card-2: rgba(15, 27, 43, .94);
	--fct-esign-admin-hairline: rgba(166, 197, 231, .20);
	--fct-esign-admin-hairline-strong: rgba(166, 197, 231, .34);
	--fct-esign-admin-focus: rgba(96, 165, 250, .28);
}

.fct-esign-manager .fct-view-header {
	position: relative;
	padding: clamp(18px, 2.6vw, 28px);
	border: 1px solid var(--fct-esign-admin-hairline);
	border-radius: 22px;
	background:
		radial-gradient(circle at 8% 0%, rgba(96, 165, 250, .18), transparent 34%),
		linear-gradient(180deg, rgba(17, 29, 45, .96), rgba(7, 12, 20, .96));
	box-shadow: 0 18px 45px rgba(2, 6, 23, .30), inset 0 1px 0 rgba(255,255,255,.05);
	overflow: hidden;
}

.fct-esign-manager .fct-view-header::after {
	content: none !important;
}

.fct-esign-manager .fct-view-header h1,
.fct-esign-manager .fct-view-header h2 {
	margin: 0 0 8px;
	letter-spacing: -.035em;
	line-height: 1.05;
}

.fct-esign-manager .fct-view-header p {
	max-width: 760px;
	margin: 0;
	font-size: 15px;
	line-height: 1.55;
	color: var(--fct-esign-muted) !important;
}





.fct-esign-manager .fct-esign-panel {
	border-color: var(--fct-esign-admin-hairline);
	background:
		linear-gradient(180deg, rgba(17, 29, 45, .96), rgba(8, 13, 21, .98));
	overflow: visible;
}

.fct-esign-manager .fct-esign-panel > p:first-child,
.fct-esign-manager .fct-esign-action-form > p:first-child {
	margin-top: 0;
}

.fct-esign-manager .fct-esign-panel > p:last-child,
.fct-esign-manager .fct-esign-action-form > p:last-child {
	margin-bottom: 0;
}

.fct-esign-manager .fct-esign-clean-note {
	display: block;
	padding: 14px 16px;
	border-color: rgba(96, 165, 250, .30);
	background: linear-gradient(180deg, rgba(37, 99, 235, .13), rgba(37, 99, 235, .06));
}

.fct-esign-manager .notice.fct-esign-notice {
	margin: 14px 0;
	padding: 12px 14px;
	border: 1px solid var(--fct-esign-admin-hairline-strong);
	border-left-width: 4px;
	border-radius: 14px;
	background: rgba(15, 23, 42, .94);
	color: var(--fct-esign-soft);
	box-shadow: 0 12px 28px rgba(2, 6, 23, .22);
}

.fct-esign-manager .notice.fct-esign-notice p {
	margin: 4px 0;
	color: var(--fct-esign-soft) !important;
}

.fct-esign-manager .notice-success.fct-esign-notice {
	border-left-color: #22c55e;
}

.fct-esign-manager .notice-error.fct-esign-notice {
	border-left-color: #ef4444;
}

.fct-esign-manager .notice-info.fct-esign-notice {
	border-left-color: #60a5fa;
}

.fct-esign-manager .fct-esign-copy-input {
	margin: 6px 8px 6px 0;
	font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
	font-size: 12.5px;
}

.fct-esign-manager .fct-esign-grid.fct-form-grid {
	grid-template-columns: repeat(2, minmax(240px, 1fr));
	gap: 16px;
	margin: 14px 0;
}

.fct-esign-manager .fct-esign-grid.fct-form-grid p {
	margin: 0;
}

.fct-esign-manager .fct-esign-grid.fct-form-grid label,
.fct-esign-manager .fct-esign-action-form > p > label {
	display: block;
	font-size: 13px;
	letter-spacing: .01em;
}

.fct-esign-manager select,
.fct-esign-manager input,
.fct-esign-manager textarea {
	font-size: 14px;
}

.fct-esign-manager input::placeholder,
.fct-esign-manager textarea::placeholder {
	color: rgba(219, 234, 254, .56);
}

.fct-esign-manager .fct-table-responsive {
	width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	border: 1px solid var(--fct-esign-admin-hairline);
	border-radius: 16px;
	background: rgba(2, 6, 23, .20);
}

.fct-esign-manager .fct-table-responsive .fct-esign-table,
.fct-esign-manager .fct-table-responsive .fct-esign-audit-table {
	min-width: 860px;
	border: 0;
	border-radius: 0;
}

.fct-esign-manager .fct-esign-table th,
.fct-esign-manager .fct-esign-audit-table th {
	white-space: nowrap;
	font-size: 12px;	
	letter-spacing: .05em;
	text-transform: uppercase;
}

.fct-esign-manager .fct-esign-table td,
.fct-esign-manager .fct-esign-audit-table td {
	font-size: 13.5px;
	line-height: 1.45;
}

.fct-esign-manager .fct-esign-actions {
	min-width: 250px;
	align-items: stretch;
}

.fct-esign-manager .fct-esign-actions .button,
.fct-esign-manager .fct-esign-screen-actions .button,
.fct-esign-manager .fct-esign-form-actions .button,
.fct-esign-manager .fct-esign-action-form .button,
.fct-esign-manager .fct-esign-action-form button {
	min-height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	padding: 7px 12px;
	line-height: 1.15;
	text-align: center;
	white-space: nowrap;
}

.fct-esign-manager .fct-esign-actions .fct-esign-inline-form {
	margin: 0;
}

.fct-esign-manager .fct-esign-status {
	min-width: 76px;
	min-height: 26px;
	text-transform: uppercase;
	letter-spacing: .04em;
}

.fct-esign-manager .fct-esign-builder-clean {
	margin-top: 22px;
}

.fct-esign-manager .fct-esign-single-document {
	max-width: min(1180px, 100%);
	padding-top: 84px;
}

.fct-esign-manager .fct-esign-fieldbar {
	width: min(1040px, calc(100% - 24px));
	align-items: center;
	gap: 12px;
}

.fct-esign-manager .fct-esign-fieldbar-left,
.fct-esign-manager .fct-esign-fieldbar-nav {
	gap: 8px;
}

.fct-esign-manager .fct-esign-fieldbar .fct-btn,
.fct-esign-manager .fct-esign-fieldbar .button {
	min-height: 36px;
	border-radius: 999px;
}

.fct-esign-manager .fct-esign-fieldbar select {
	min-height: 36px;
	max-width: 160px;
	padding-top: 6px;
	padding-bottom: 6px;
}

.fct-esign-manager .fct-esign-field-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 30px;
	padding: 4px 10px;
	border: 1px solid rgba(166, 197, 231, .24);
	border-radius: 999px;
	background: rgba(96, 165, 250, .10);
	color: var(--fct-esign-soft);
	font-size: 12px;
	font-weight: 900;
}

.fct-esign-manager .fct-esign-tool-menu {
	min-width: 260px;
	max-width: min(420px, calc(100vw - 40px));
	padding: 8px;
	border: 1px solid rgba(166, 197, 231, .26);
	border-radius: 16px;
	background: rgba(8, 13, 22, .98);
	box-shadow: 0 20px 50px rgba(0, 0, 0, .38);
}

.fct-esign-manager .fct-esign-menu-item {
	width: 100%;
	justify-content: flex-start;
	gap: 10px;
	margin: 0;
	padding: 9px 10px;
	border-radius: 12px;
	text-align: left;
	white-space: normal;
}

.fct-esign-manager .fct-esign-tool-icon {
	width: 28px;
	height: 28px;
	flex: 0 0 28px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(166, 197, 231, .22);
	border-radius: 10px;
	background: rgba(96, 165, 250, .12);
	font-size: 13px;
	font-weight: 900;
}

.fct-esign-manager .fct-esign-live-status {
	width: min(980px, calc(100% - 24px));
	margin-top: 0;
}

.fct-esign-manager .fct-esign-page-card {
	border-color: rgba(166, 197, 231, .20);
	background: rgba(4, 8, 14, .62);
}

.fct-esign-manager .fct-esign-admin-field {
	border-width: 2px;
	box-shadow: 0 6px 16px rgba(2, 6, 23, .18);
}

.fct-esign-manager .fct-esign-admin-field span {
	font-weight: 900;
}

.fct-esign-manager .fct-esign-admin-field em {
	font-style: normal;
	font-weight: 800;
}

.fct-esign-manager .fct-esign-inspector-drawer {
	border-left: 1px solid rgba(166, 197, 231, .24);
	background: linear-gradient(180deg, rgba(12, 20, 32, .98), rgba(5, 8, 13, .98));
	box-shadow: -22px 0 50px rgba(2, 6, 23, .36);
}

.fct-esign-manager .fct-esign-inspector-drawer label {
	display: block;
	margin: 12px 0;
}

.fct-esign-manager .fct-esign-selected-name {
	padding: 10px 12px;
	border: 1px solid rgba(166, 197, 231, .18);
	border-radius: 12px;
	background: rgba(96, 165, 250, .08);
	color: var(--fct-esign-soft) !important;
	font-weight: 850;
}

.fct-esign-manager .fct-esign-preset-row,
.fct-esign-manager .fct-esign-inspector-actions {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	margin-top: 12px;
}

@media (max-width: 980px) {
	.fct-esign-manager .fct-esign-grid.fct-form-grid {
		grid-template-columns: 1fr;
	}

	.fct-esign-manager .fct-esign-fieldbar {
		position: relative;
		top: auto;
		margin-top: -62px;
		align-items: stretch;
	}

	.fct-esign-manager .fct-esign-fieldbar-left,
	.fct-esign-manager .fct-esign-fieldbar-nav {
		width: 100%;
		justify-content: flex-start;
	}

	.fct-esign-manager .fct-esign-fieldbar-nav {
		margin-left: 0;
	}
}

@media (max-width: 640px) {
	.fct-esign-manager {
		width: min(100%, calc(100vw - 20px));
		padding-top: 14px;
	}

	.wp-admin .fct-esign-manager.wrap {
		margin-right: 10px;
	}

	.fct-esign-manager .fct-view-header,
	.fct-esign-manager .fct-esign-panel {
		border-radius: 18px;
		padding: 16px;
	}


	.fct-esign-manager .fct-table-responsive .fct-esign-table,
	.fct-esign-manager .fct-table-responsive .fct-esign-audit-table {
		min-width: 760px;
	}

	.fct-esign-manager .fct-esign-actions {
		min-width: 220px;
	}

	.fct-esign-manager .fct-esign-single-document {
		padding-inline: 8px;
		border-radius: 18px;
	}

	.fct-esign-manager .fct-esign-fieldbar {
		width: calc(100% - 12px);
		max-width: calc(100% - 12px);
		padding: 8px;
		border-radius: 18px;
	}

	.fct-esign-manager .fct-esign-fieldbar .fct-btn,
	.fct-esign-manager .fct-esign-fieldbar .button,
	.fct-esign-manager .fct-esign-fieldbar select {
		flex: 1 1 auto;
	}
}

/* Front admin dashboard containment for the E-Signatures module.
   Keep the module inside the dashboard content rail instead of using a viewport-sized page shell. */
.fct-admin-dashboard-wrap .fct-master-content .fct-esign-manager.fct-esign-frontend,
.fct-admin-dashboard-wrap .fct-master-content .fct-esign-manager.fct-esign-frontend.fct-wrapper,
.fct-admin-dashboard-wrap .fct-master-content .fct-esign-manager.fct-esign-frontend.fct-seamless-cinematic {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	overflow: visible !important;
}

.fct-admin-dashboard-wrap .fct-master-content .fct-esign-manager.fct-esign-frontend > .fct-view-header {
	display: none !important;
}



.fct-admin-dashboard-wrap .fct-master-content .fct-esign-manager.fct-esign-frontend .fct-esign-panel {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	margin: 0 0 18px !important;
	padding: clamp(14px, 2vw, 20px);
	overflow: hidden;
}

.fct-admin-dashboard-wrap .fct-master-content .fct-esign-manager.fct-esign-frontend .fct-table-responsive {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
}

.fct-admin-dashboard-wrap .fct-master-content .fct-esign-manager.fct-esign-frontend .fct-table-responsive .fct-esign-table,
.fct-admin-dashboard-wrap .fct-master-content .fct-esign-manager.fct-esign-frontend .fct-table-responsive .fct-esign-audit-table {
	min-width: 0 !important;
	width: 100% !important;
	table-layout: auto;
}

.fct-admin-dashboard-wrap .fct-master-content .fct-esign-manager.fct-esign-frontend .fct-esign-table th,
.fct-admin-dashboard-wrap .fct-master-content .fct-esign-manager.fct-esign-frontend .fct-esign-table td,
.fct-admin-dashboard-wrap .fct-master-content .fct-esign-manager.fct-esign-frontend .fct-esign-audit-table th,
.fct-admin-dashboard-wrap .fct-master-content .fct-esign-manager.fct-esign-frontend .fct-esign-audit-table td {
	padding: 10px 11px !important;
	white-space: normal !important;
	word-break: normal;
}

.fct-admin-dashboard-wrap .fct-master-content .fct-esign-manager.fct-esign-frontend .fct-esign-table th:last-child,
.fct-admin-dashboard-wrap .fct-master-content .fct-esign-manager.fct-esign-frontend .fct-esign-table td:last-child {
	width: 230px;
	max-width: 230px;
}

.fct-admin-dashboard-wrap .fct-master-content .fct-esign-manager.fct-esign-frontend .fct-esign-actions {
	min-width: 0 !important;
	max-width: 100%;
	display: flex;
	align-items: stretch;
	justify-content: flex-start;
	gap: 7px;
}

.fct-admin-dashboard-wrap .fct-master-content .fct-esign-manager.fct-esign-frontend .fct-esign-actions .button,
.fct-admin-dashboard-wrap .fct-master-content .fct-esign-manager.fct-esign-frontend .fct-esign-actions .fct-btn {
	min-width: 0;
	max-width: 100%;
	padding: 7px 10px !important;
	font-size: 11px;
	letter-spacing: .08em;
	white-space: normal;
	line-height: 1.15;
}

.fct-admin-dashboard-wrap .fct-master-content .fct-esign-manager.fct-esign-frontend .fct-esign-inline-form {
	max-width: 100%;
}

@media (max-width: 1100px) {
	.fct-admin-dashboard-wrap .fct-master-content .fct-esign-manager.fct-esign-frontend .fct-table-responsive .fct-esign-table,
	.fct-admin-dashboard-wrap .fct-master-content .fct-esign-manager.fct-esign-frontend .fct-table-responsive .fct-esign-audit-table {
		min-width: 720px !important;
	}
}






.fct-admin-dashboard-wrap .fct-master-content .fct-esign-manager.fct-esign-frontend .fct-esign-panel {
	overflow: visible !important;
}

.fct-admin-dashboard-wrap .fct-master-content .fct-esign-manager.fct-esign-frontend .fct-table-responsive {
	border-color: rgba(166, 197, 231, .24) !important;
	background: rgba(2, 6, 23, .38) !important;
}

.fct-admin-dashboard-wrap .fct-master-content .fct-esign-manager.fct-esign-frontend .fct-esign-table {
	font-size: 13px;
}

.fct-admin-dashboard-wrap .fct-master-content .fct-esign-manager.fct-esign-frontend .fct-esign-actions {
	flex-direction: row;
	flex-wrap: wrap;
}

.fct-admin-dashboard-wrap .fct-master-content .fct-esign-manager.fct-esign-frontend .fct-esign-actions .button,
.fct-admin-dashboard-wrap .fct-master-content .fct-esign-manager.fct-esign-frontend .fct-esign-actions .fct-btn {
	background: rgba(30, 41, 59, .94) !important;
	border-color: rgba(148, 163, 184, .38) !important;
	color: #ffffff !important;
	text-shadow: none !important;
}

.fct-admin-dashboard-wrap .fct-master-content .fct-esign-manager.fct-esign-frontend .fct-esign-actions .button:hover,
.fct-admin-dashboard-wrap .fct-master-content .fct-esign-manager.fct-esign-frontend .fct-esign-actions .fct-btn:hover {
	background: rgba(51, 65, 85, .98) !important;
	border-color: rgba(191, 219, 254, .58) !important;
}

/* Let the live PDF builder breathe inside the front admin dashboard instead of falling back visually to the older image preview. */
.fct-admin-dashboard-wrap .fct-master-content .fct-esign-manager.fct-esign-frontend .fct-esign-builder-clean,
.fct-admin-dashboard-wrap .fct-master-content .fct-esign-manager.fct-esign-frontend .fct-esign-prep-workspace,
.fct-admin-dashboard-wrap .fct-master-content .fct-esign-manager.fct-esign-frontend .fct-esign-single-document {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
}

.fct-admin-dashboard-wrap .fct-master-content .fct-esign-manager.fct-esign-frontend .fct-esign-live-pdf-viewer {
	display: block;
	width: 100%;
	min-height: 220px;
}

.fct-admin-dashboard-wrap .fct-master-content .fct-esign-manager.fct-esign-frontend .fct-esign-live-page-card,
.fct-admin-dashboard-wrap .fct-master-content .fct-esign-manager.fct-esign-frontend .fct-esign-page-card {
	max-width: 100%;
}

/* E-signature admin table fix: keep action cells as real table cells so the row background fills the full row height. */
.fct-esign-manager td.fct-esign-actions,
.fct-admin-dashboard-wrap .fct-master-content .fct-esign-manager.fct-esign-frontend td.fct-esign-actions {
	display: table-cell !important;
	vertical-align: top;
	min-width: 0 !important;
}

.fct-esign-manager td.fct-esign-actions > .button,
.fct-esign-manager td.fct-esign-actions > .fct-btn,
.fct-esign-manager td.fct-esign-actions > .fct-esign-inline-form,
.fct-esign-manager td.fct-esign-actions > .description {
	margin: 0 8px 8px 0 !important;
	vertical-align: top;
}

.fct-esign-manager td.fct-esign-actions > .button,
.fct-esign-manager td.fct-esign-actions > .fct-btn,
.fct-esign-manager td.fct-esign-actions > .fct-esign-inline-form,
.fct-esign-manager td.fct-esign-actions > .description,
.fct-esign-manager td.fct-esign-actions .fct-esign-inline-form {
	display: inline-flex !important;
}

.fct-esign-manager td.fct-esign-actions > .description {
	align-items: center;
	min-height: 36px;
	padding: 7px 0;
	color: #cbd5e1 !important;
	font-size: 12px;
	line-height: 1.25;
	font-style: normal;
}

/* Compact Acrobat/DocuSign-style controls for the live PDF builder. */
.fct-esign-fieldbar .fct-btn,
.fct-esign-fieldbar .button.fct-btn,
.fct-esign-fieldbar button.fct-btn {
	min-height: 32px !important;
	height: 32px !important;
	padding: 0 12px !important;
	border-radius: 8px !important;
	font-size: 11px !important;
	line-height: 30px !important;
	letter-spacing: .08em !important;
	box-shadow: none !important;
}

.fct-esign-fieldbar .fct-esign-page-prev,
.fct-esign-fieldbar .fct-esign-page-next {
	width: 32px !important;
	min-width: 32px !important;
	padding: 0 !important;
	font-size: 17px !important;
	line-height: 30px !important;
}

.fct-esign-fieldbar select.fct-esign-current-page {
	min-height: 32px !important;
	height: 32px !important;
	min-width: 126px;
	padding: 4px 28px 4px 10px !important;
	border-radius: 8px;
	font-size: 12px;
	line-height: 1.2;
}

.fct-esign-field-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 28px;
	padding: 0 10px;
	border: 1px solid rgba(166, 197, 231, .24);
	border-radius: 999px;
	background: rgba(96, 165, 250, .10);
	color: var(--fct-esign-ice);
}

.fct-esign-tool-group {
	display: inline-flex;
}

.fct-esign-tool-menu-toggle::after {
	content: ' ▾';
	font-size: 10px;
	letter-spacing: 0;
	opacity: .72;
}

.fct-esign-live-status {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	margin: 8px auto 14px;
	padding: 8px 12px;
	max-width: 980px;
	border-radius: 12px;
	font-size: 13px;
	font-weight: 750;
	line-height: 1.35;
}

.fct-esign-live-status::before {
	content: 'PDF fields';
	display: inline-flex;
	align-items: center;
	margin-right: 10px;
	padding: 3px 8px;
	border: 1px solid rgba(166, 197, 231, .24);
	border-radius: 999px;
	background: rgba(15, 23, 42, .42);
	color: var(--fct-esign-ice-2);
	font-size: 10px;
	font-weight: 900;
	letter-spacing: .08em;
	text-transform: uppercase;
	white-space: nowrap;
}

@media (max-width: 760px) {
	.fct-esign-single-document {
		padding: 10px 10px 22px;
	}
	.fct-esign-fieldbar {
		position: relative;
		top: auto;
		justify-content: center;
	}
	.fct-esign-fieldbar-left,
	.fct-esign-fieldbar-nav {
		justify-content: center;
		width: 100%;
		margin-left: 0;
	}
	.fct-esign-fieldbar .fct-btn,
	.fct-esign-fieldbar .button.fct-btn,
	.fct-esign-fieldbar button.fct-btn {
		flex: 1 1 auto;
		min-width: max-content;
	}
	.fct-esign-live-status {
		align-items: flex-start;
		justify-content: flex-start;
		text-align: left;
	}
}

/* Refined e-signature PDF builder dropdowns: compact single-column menu, similar to a PDF editor command menu. */
.fct-esign-builder-clean .fct-esign-tool-group {
	position: relative;
}

.fct-esign-builder-clean .fct-esign-tool-menu {
	left: 0 !important;
	right: auto !important;
	transform: none !important;
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) !important;
	gap: 4px !important;
	width: min(320px, calc(100vw - 48px)) !important;
	min-width: min(300px, calc(100vw - 48px)) !important;
	max-width: min(320px, calc(100vw - 48px)) !important;
	max-height: min(70vh, 420px) !important;
	overflow-y: auto !important;
	overflow-x: hidden !important;
	padding: 6px !important;
	border: 1px solid rgba(166, 197, 231, .30) !important;
	border-radius: 12px !important;
	background: linear-gradient(180deg, rgba(15, 23, 42, .985), rgba(8, 13, 22, .985)) !important;
	box-shadow: 0 18px 42px rgba(0, 0, 0, .42), 0 0 0 1px rgba(255, 255, 255, .035) !important;
}

.fct-esign-builder-clean .fct-esign-tool-menu[hidden] {
	display: none !important;
}

.fct-esign-builder-clean .fct-esign-menu-item,
.fct-esign-manager .fct-esign-builder-clean .fct-esign-menu-item {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	box-sizing: border-box !important;
	width: 100% !important;
	min-width: 0 !important;
	min-height: 34px !important;
	height: auto !important;
	margin: 0 !important;
	padding: 5px 8px !important;
	gap: 8px !important;
	border-radius: 9px !important;
	font-size: 10.5px !important;
	line-height: 1.15 !important;
	letter-spacing: .075em !important;
	text-align: left !important;
	white-space: nowrap !important;
}

.fct-esign-builder-clean .fct-esign-menu-item:hover,
.fct-esign-builder-clean .fct-esign-menu-item:focus-visible {
	background: rgba(51, 65, 85, .96) !important;
	border-color: rgba(147, 197, 253, .48) !important;
	box-shadow: inset 0 0 0 1px rgba(147, 197, 253, .10) !important;
}

.fct-esign-builder-clean .fct-esign-menu-item > span:last-child {
	display: block;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
}

.fct-esign-builder-clean .fct-esign-tool-icon,
.fct-esign-manager .fct-esign-builder-clean .fct-esign-tool-icon {
	width: 22px !important;
	height: 22px !important;
	flex: 0 0 22px !important;
	border-radius: 7px !important;
	font-size: 11px !important;
	line-height: 1 !important;
}

@media (max-width: 760px) {
	.fct-esign-builder-clean .fct-esign-tool-menu {
		left: 50% !important;
		transform: translateX(-50%) !important;
		width: min(320px, calc(100vw - 32px)) !important;
		min-width: min(280px, calc(100vw - 32px)) !important;
		max-width: min(320px, calc(100vw - 32px)) !important;
	}
}

/* Phase 2CN: flatten list tabs and use compact timeline popovers. */
.fct-esign-manager.fct-esign-tab-requests .fct-esign-list-panel,
.fct-esign-manager.fct-esign-tab-templates .fct-esign-list-panel {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	overflow: visible !important;
}

.fct-esign-manager .fct-esign-list-toolbar {
	margin: 0 0 14px !important;
}

.fct-esign-manager .fct-esign-list-note {
	margin: 14px 2px 0 !important;
	max-width: 920px;
}

.fct-esign-manager.fct-esign-tab-requests .fct-table-responsive,
.fct-esign-manager.fct-esign-tab-templates .fct-table-responsive {
	box-shadow: 0 18px 44px rgba(0, 0, 0, .18);
}

.fct-esign-manager .fct-esign-timeline-heading,
.fct-esign-manager .fct-esign-date-cell {
	width: 132px;
	min-width: 132px;
	text-align: center;
}

.fct-esign-manager .fct-esign-date-icons {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-wrap: nowrap;
	gap: 7px;
}

.fct-esign-manager .fct-esign-date-icon {
	position: relative;
	z-index: 2;
	width: 30px;
	height: 30px;
	flex: 0 0 30px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(166, 197, 231, .24);
	border-radius: 9px;
	background: rgba(30, 41, 59, .88);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04);
	color: #eaf2ff;
	font-size: 13px;
	font-weight: 900;
	line-height: 1;
	cursor: default;
	outline: none;
}

.fct-esign-manager .fct-esign-date-icon:hover,
.fct-esign-manager .fct-esign-date-icon:focus-visible {
	z-index: 50;
	border-color: rgba(147, 197, 253, .62);
	background: rgba(51, 65, 85, .98);
	box-shadow: 0 0 0 3px rgba(96, 165, 250, .12);
}

.fct-esign-manager .fct-esign-date-icon.is-empty {
	opacity: .48;
}

.fct-esign-manager .fct-esign-date-created {
	color: #bfdbfe;
}

.fct-esign-manager .fct-esign-date-expires {
	color: #fde68a;
}

.fct-esign-manager .fct-esign-date-signed:not(.is-empty) {
	border-color: rgba(52, 211, 153, .34);
	background: rgba(6, 78, 59, .34);
	color: #a7f3d0;
}

.fct-esign-manager .fct-esign-date-symbol {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.fct-esign-manager .fct-esign-date-icon[data-fct-tooltip]::before {
	content: attr(data-fct-tooltip);
	position: absolute;
	left: 50%;
	bottom: calc(100% + 8px);
	z-index: 9999;
	display: block;
	width: max-content;
	min-width: 0;
	max-width: 280px;
	padding: 7px 10px;
	border: 1px solid rgba(166, 197, 231, .26);
	border-radius: 10px;
	background: linear-gradient(135deg, rgba(14, 24, 38, .99), rgba(5, 10, 18, .99));
	box-shadow: 0 14px 30px rgba(0, 0, 0, .42), inset 0 1px 0 rgba(255, 255, 255, .06);
	color: #fff;
	font-size: 12px;
	font-weight: 850;
	line-height: 1.25;
	letter-spacing: 0;
	text-align: center;
	white-space: nowrap;
	pointer-events: none;
	opacity: 0;
	visibility: hidden;
	transform: translateX(-50%);
}

.fct-esign-manager .fct-esign-date-icon[data-fct-tooltip]:hover::before,
.fct-esign-manager .fct-esign-date-icon[data-fct-tooltip]:focus-visible::before {
	opacity: 1;
	visibility: visible;
}

.fct-esign-manager .fct-esign-request-table-wrap,
.fct-esign-manager .fct-esign-request-table-wrap .fct-esign-table {
	overflow-y: visible !important;
}

.fct-esign-manager .fct-esign-pagination {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
	padding: 12px 2px;
	color: var(--fct-muted, #b7c6d9);
	font-size: 13px;
}

.fct-esign-manager .fct-esign-pagination-actions {
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
}

.fct-esign-manager .fct-esign-pagination-page {
	padding: 0 4px;
	font-weight: 700;
}

@media (max-width: 600px) {
	.fct-esign-manager .fct-esign-pagination {
		align-items: flex-start;
	}

	.fct-esign-manager .fct-esign-pagination-actions {
		width: 100%;
		justify-content: space-between;
	}
}

/* The Send tab intentionally keeps one card per form, never a card inside a card. */
.fct-esign-manager.fct-esign-tab-new-request .fct-esign-form-panel {
	box-shadow: 0 18px 44px rgba(0, 0, 0, .16);
}

.fct-esign-url-tab-panel[hidden] {
	display: none !important;
}

@media (max-width: 760px) {
	.fct-esign-manager .fct-esign-timeline-heading,
	.fct-esign-manager .fct-esign-date-cell {
		width: 118px;
		min-width: 118px;
	}

	.fct-esign-manager .fct-esign-date-icon {
		width: 28px;
		height: 28px;
		flex-basis: 28px;
	}
}

/* Phase 2CP: reusable required-section validation groups. */
.fct-esign-validation-group-settings {
	margin: 4px 0 12px;
	padding: 12px;
	border: 1px solid var(--fct-border, rgba(163, 189, 223, .24));
	border-radius: 10px;
	background: rgba(8, 20, 38, .42);
}
.fct-esign-validation-group-settings legend {
	padding: 0 6px;
	font-weight: 700;
	color: var(--fct-text, #eaf2ff);
}
.fct-esign-validation-group-settings .description {
	margin: 8px 0 0;
}
.fct-esign-public-field.fct-esign-public-field-grouped.is-missing-group,
body .fct-esign-public-shell .fct-esign-public-field.fct-esign-public-field-grouped.is-missing-group {
	outline: 2px solid rgba(217, 45, 32, .78) !important;
	outline-offset: 2px;
	box-shadow: 0 0 0 4px rgba(217, 45, 32, .14) !important;
}
.fct-esign-public-field.fct-esign-public-field-grouped.is-missing-group::before,
body .fct-esign-public-shell .fct-esign-public-field.fct-esign-public-field-grouped.is-missing-group::before {
	border-color: rgba(217, 45, 32, .95) !important;
}


/* .212: required validation groups are required items as a group.
   Keep each member individually optional, but show a lightweight red group state
   until the configured group rule is satisfied. */
body .fct-esign-public-shell .fct-esign-public-field.fct-esign-public-field-grouped.is-required-group-incomplete {
	outline: 2px solid rgba(220, 38, 38, .78) !important;
	outline-offset: 2px !important;
	box-shadow: 0 0 0 4px rgba(220, 38, 38, .12) !important;
}

body .fct-esign-public-shell .fct-esign-public-field.fct-esign-public-field-grouped.is-required-group-incomplete > .fct-esign-checkbox-control {
	border-color: rgba(220, 38, 38, .92) !important;
	box-shadow: 0 0 0 2px rgba(220, 38, 38, .12) !important;
}

body .fct-esign-public-shell .fct-esign-public-field.fct-esign-public-field-grouped.is-required-group-complete {
	outline: 0 !important;
	box-shadow: none !important;
}

/* Shared optional second-signer step used by every public signing workflow. */
.fct-esign-secondary-signer {
	margin: 16px 0;
}

.fct-esign-secondary-signer .fct-esign-step-chip.is-optional {
	border-color: rgba(125, 211, 252, .28);
	background: rgba(96, 165, 250, .10);
	color: #bfdbfe;
}

.fct-esign-secondary-toggle {
	margin: 0;
}

.fct-esign-secondary-fields {
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid rgba(166, 197, 231, .16);
}

.fct-esign-secondary-fields[hidden] {
	display: none !important;
}

.fct-esign-secondary-note {
	margin: 2px 0 0;
	color: var(--fct-esign-muted, #9fb3ca);
	font-size: 13px;
	line-height: 1.55;
}

.fct-esign-secondary-signer.is-enabled {
	border-color: rgba(125, 211, 252, .34);
	box-shadow: 0 12px 32px rgba(37, 99, 235, .10);
}

.fct-esign-secondary-signer input.is-invalid {
	border-color: rgba(248, 113, 113, .80) !important;
	box-shadow: 0 0 0 2px rgba(248, 113, 113, .12) !important;
}

@media (max-width: 782px) {
	.fct-esign-secondary-signer .fct-esign-step-card-head {
		align-items: stretch;
	}
}

/* phase2cu: compact PDF checkbox control. This intentionally overrides the generic
   text-field chrome only for checkbox fields, without changing coordinates or PDF data. */
body .fct-esign-public-shell .fct-esign-public-field.fct-esign-field-type-checkbox,
body .fct-esign-public-shell .fct-esign-public-field.fct-esign-field-type-checkbox.fct-esign-needs-value,
body .fct-esign-public-shell .fct-esign-public-field.fct-esign-field-type-checkbox.fct-esign-complete,
body .fct-esign-public-shell .fct-esign-public-field.fct-esign-field-type-checkbox.fct-esign-public-field-required {
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	padding: 0 !important;
	overflow: visible !important;
	align-items: center !important;
	justify-content: center !important;
	text-align: center !important;
}

body .fct-esign-public-shell .fct-esign-public-field.fct-esign-field-type-checkbox::before,
body .fct-esign-public-shell .fct-esign-public-field.fct-esign-field-type-checkbox::after {
	content: none !important;
	display: none !important;
}

body .fct-esign-public-shell .fct-esign-field-type-checkbox > .fct-esign-checkbox-control {
	position: relative !important;
	z-index: 2 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	height: 100% !important;
	min-width: 16px !important;
	min-height: 16px !important;
	max-width: 28px !important;
	max-height: 28px !important;
	aspect-ratio: 1 / 1 !important;
	box-sizing: border-box !important;
	border: 2px solid rgba(30, 64, 96, .78) !important;
	border-radius: 4px !important;
	background: rgba(255, 255, 255, .97) !important;
	box-shadow: 0 1px 3px rgba(6, 24, 42, .18) !important;
	color: #fff !important;
	font-size: 0 !important;
	line-height: 1 !important;
	pointer-events: none !important;
}

body .fct-esign-public-shell .fct-esign-field-type-checkbox:hover > .fct-esign-checkbox-control,
body .fct-esign-public-shell .fct-esign-field-type-checkbox:focus > .fct-esign-checkbox-control,
body .fct-esign-public-shell .fct-esign-field-type-checkbox.is-current-required > .fct-esign-checkbox-control {
	border-color: rgba(37, 99, 235, .92) !important;
	box-shadow: 0 0 0 3px rgba(96, 165, 250, .22), 0 2px 7px rgba(6, 24, 42, .18) !important;
}

body .fct-esign-public-shell .fct-esign-field-type-checkbox.is-missing-required > .fct-esign-checkbox-control,
body .fct-esign-public-shell .fct-esign-field-type-checkbox.has-inline-error > .fct-esign-checkbox-control,
body .fct-esign-public-shell .fct-esign-field-type-checkbox.is-missing-group > .fct-esign-checkbox-control {
	border-color: rgba(220, 38, 38, .92) !important;
	background: rgba(254, 242, 242, .98) !important;
	box-shadow: 0 0 0 3px rgba(220, 38, 38, .18) !important;
}

body .fct-esign-public-shell .fct-esign-field-type-checkbox > .fct-esign-checkbox-control.is-checked {
	border-color: #0f5f8d !important;
	background: #0f5f8d !important;
	box-shadow: 0 2px 7px rgba(8, 47, 73, .28) !important;
}

body .fct-esign-public-shell .fct-esign-field-type-checkbox .fct-esign-checkbox-mark {
	display: block !important;
	color: #fff !important;
	font-family: Arial, Helvetica, sans-serif !important;
	font-size: clamp(12px, 1.5vw, 20px) !important;
	font-weight: 900 !important;
	line-height: 1 !important;
	transform: translateY(-.04em) !important;
}

body .fct-esign-public-shell .fct-esign-field-type-checkbox .fct-esign-field-prompt,
body .fct-esign-public-shell .fct-esign-field-type-checkbox .fct-esign-doc-check,
body .fct-esign-public-shell .fct-esign-field-type-checkbox .fct-esign-clear-field {
	display: none !important;
}


/* phase2cv: clarify multi-signer records in the request list and signed-record view. */
.fct-esign-signer-slot {
	display: inline-flex;
	align-items: center;
	min-height: 22px;
	padding: 3px 8px;
	margin-bottom: 5px;
	border: 1px solid rgba(166, 197, 231, .24);
	border-radius: 999px;
	background: rgba(166, 197, 231, .08);
	color: var(--fct-esign-ice, #cfe7ff);
	font-size: 11px;
	font-weight: 900;
	line-height: 1.1;
}

.fct-esign-signer-summary {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin: 14px 0 18px;
}

.fct-esign-signer-summary > p {
	margin: 0;
	padding: 13px 14px;
	border: 1px solid var(--fct-esign-line, rgba(166, 197, 231, .18));
	border-radius: 12px;
	background: rgba(255, 255, 255, .035);
}

@media (max-width: 700px) {
	.fct-esign-signer-summary {
		grid-template-columns: 1fr;
	}
}


/* phase2cw: present multi-signer agreements as one combined document record. */
.fct-esign-combined-label {
	display: inline-block;
	margin-top: 6px;
	color: var(--fct-esign-muted, #a8bbd0);
	font-size: 11px;
	font-weight: 800;
}

.fct-esign-signer-stack {
	display: grid;
	gap: 10px;
	min-width: 220px;
}

.fct-esign-signer-entry {
	display: grid;
	gap: 3px;
	padding-bottom: 9px;
	border-bottom: 1px solid rgba(166, 197, 231, .13);
}

.fct-esign-signer-entry:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.fct-esign-signer-entry-head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
}

.fct-esign-signer-entry .fct-esign-signer-slot {
	margin-bottom: 0;
}

.fct-esign-signer-mini-status {
	display: inline-flex;
	align-items: center;
	min-height: 22px;
	padding: 3px 8px;
	border: 1px solid rgba(245, 158, 11, .35);
	border-radius: 999px;
	background: rgba(245, 158, 11, .12);
	color: #fde68a;
	font-size: 10px;
	font-weight: 900;
	line-height: 1.1;
}

.fct-esign-signer-mini-status.is-signed {
	border-color: rgba(16, 185, 129, .40);
	background: rgba(16, 185, 129, .15);
	color: #bbf7d0;
}

.fct-esign-signer-mini-status.is-not_invited,
.fct-esign-signer-mini-status.is-cancelled,
.fct-esign-signer-mini-status.is-expired {
	border-color: rgba(148, 163, 184, .28);
	background: rgba(148, 163, 184, .10);
	color: #cbd5e1;
}

.fct-esign-signer-name,
.fct-esign-signer-email,
.fct-esign-signer-signed-at {
	display: block;
}

.fct-esign-signer-signed-at {
	color: var(--fct-esign-muted, #a8bbd0);
	font-size: 11px;
}

.fct-esign-status-fully-signed {
	border: 1px solid rgba(16, 185, 129, .42);
	background: rgba(16, 185, 129, .17);
	color: #bbf7d0;
}

.fct-esign-combined-record-notice {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 12px;
	margin: 12px 0 14px;
	padding: 12px 14px;
	border: 1px solid rgba(16, 185, 129, .34);
	border-radius: 12px;
	background: rgba(16, 185, 129, .10);
	color: #d1fae5;
}

.fct-esign-combined-record-notice span {
	color: var(--fct-esign-soft, #dce9f7);
}

.fct-esign-signer-summary-status {
	display: inline-flex;
	align-items: center;
	margin-bottom: 8px;
	padding: 3px 8px;
	border: 1px solid rgba(16, 185, 129, .38);
	border-radius: 999px;
	background: rgba(16, 185, 129, .14);
	color: #bbf7d0;
	font-size: 11px;
	font-weight: 900;
}

/* Phase 2DE: streamlined e-signature template and field-setting UI. */
.fct-esign-manager .fct-esign-section-heading {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px;
	margin: 0 0 14px;
	padding-bottom: 10px;
	border-bottom: 1px solid rgba(166, 197, 231, .16);
}

.fct-esign-manager .fct-esign-section-heading h3,
.fct-esign-manager .fct-esign-section-heading p {
	margin: 0;
}

.fct-esign-manager .fct-esign-section-heading p,
.fct-esign-manager .fct-esign-compact-help {
	color: var(--fct-esign-soft);
	font-size: 12px;
	line-height: 1.45;
}

.fct-esign-manager .fct-esign-document-heading {
	margin-top: 22px;
}

.fct-esign-manager .fct-esign-linked-record-status {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 0 0 12px;
	padding: 9px 11px;
	border: 1px solid rgba(96, 165, 250, .24);
	border-radius: 10px;
	background: rgba(96, 165, 250, .07);
	font-size: 12px;
}

.fct-esign-manager .fct-esign-linked-record-status span {
	color: var(--fct-esign-soft);
}

.fct-esign-manager .fct-esign-linked-record-status strong {
	color: var(--fct-esign-ice-2);
	text-align: right;
}

.fct-esign-manager .fct-esign-inspector-drawer {
	width: min(470px, 100vw);
	padding: 16px;
}

.fct-esign-manager .fct-esign-drawer-head {
	position: sticky;
	top: -16px;
	z-index: 4;
	margin: -16px -16px 12px;
	padding: 16px;
	border-bottom: 1px solid rgba(166, 197, 231, .18);
	background: rgba(8, 13, 20, .98);
}

.fct-esign-manager .fct-esign-drawer-head h4,
.fct-esign-manager .fct-esign-setting-heading h5 {
	margin: 0;
}

.fct-esign-manager .fct-esign-selected-summary {
	display: grid;
	gap: 2px;
	margin-bottom: 12px;
	padding: 11px 12px;
	border: 1px solid rgba(96, 165, 250, .22);
	border-radius: 12px;
	background: rgba(96, 165, 250, .08);
}

.fct-esign-manager .fct-esign-selected-name {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--fct-text, #eaf2ff) !important;
	font-size: 14px;
	font-weight: 900;
}

.fct-esign-manager .fct-esign-selected-meta {
	color: var(--fct-esign-soft);
	font-size: 11px;
	line-height: 1.35;
}

.fct-esign-manager .fct-esign-setting-section,
.fct-esign-manager .fct-esign-setting-disclosure {
	margin: 0 0 10px;
	border: 1px solid rgba(166, 197, 231, .16);
	border-radius: 12px;
	background: rgba(255, 255, 255, .025);
}

.fct-esign-manager .fct-esign-setting-section {
	padding: 12px;
}

.fct-esign-manager .fct-esign-setting-section[hidden],
.fct-esign-manager .fct-esign-prefill-settings[hidden],
.fct-esign-manager .fct-esign-prefill-editable-row[hidden],
.fct-esign-manager .fct-esign-checkbox-prefill-row[hidden] {
	display: none !important;
}

.fct-esign-manager .fct-esign-setting-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 8px;
}

.fct-esign-manager .fct-esign-setting-heading h5 {
	color: var(--fct-text, #eaf2ff);
	font-size: 12px;
	font-weight: 900;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.fct-esign-manager .fct-esign-linked-database-name,
.fct-esign-manager .fct-esign-setting-disclosure summary small {
	color: var(--fct-esign-ice-2);
	font-size: 10px;
	font-weight: 850;
	letter-spacing: .03em;
}

.fct-esign-manager .fct-esign-setting-section label,
.fct-esign-manager .fct-esign-setting-disclosure label {
	margin: 8px 0 0;
	font-size: 12px;
	font-weight: 800;
}

.fct-esign-manager .fct-esign-setting-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

.fct-esign-manager .fct-esign-required-checkbox-row {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.fct-esign-manager .fct-esign-prefill-settings {
	margin-top: 8px;
	padding-top: 2px;
	border-top: 1px solid rgba(166, 197, 231, .10);
}

.fct-esign-manager .fct-esign-setting-disclosure {
	overflow: hidden;
}

.fct-esign-manager .fct-esign-setting-disclosure summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 12px;
	cursor: pointer;
	list-style: none;
	color: var(--fct-text, #eaf2ff);
	font-size: 12px;
	font-weight: 900;
}

.fct-esign-manager .fct-esign-setting-disclosure summary::-webkit-details-marker {
	display: none;
}

.fct-esign-manager .fct-esign-setting-disclosure summary::after {
	content: "+";
	margin-left: 0;
	color: var(--fct-esign-soft);
	font-size: 16px;
	line-height: 1;
}

.fct-esign-manager .fct-esign-setting-disclosure[open] summary::after {
	content: "−";
}

.fct-esign-manager .fct-esign-setting-disclosure summary small {
	margin-left: auto;
}

.fct-esign-manager .fct-esign-setting-disclosure-body {
	padding: 0 12px 12px;
	border-top: 1px solid rgba(166, 197, 231, .10);
}

.fct-esign-manager .fct-esign-validation-group-settings,
.fct-esign-manager .fct-esign-text-appearance-settings {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
}

.fct-esign-manager .fct-esign-dimension-grid {
	margin-top: 8px;
}

.fct-esign-manager .fct-esign-preset-row {
	justify-content: flex-start;
}

.fct-esign-manager .fct-esign-inspector-actions-sticky {
	position: sticky;
	bottom: -16px;
	z-index: 4;
	justify-content: flex-end;
	margin: 12px -16px -16px;
	padding: 12px 16px 16px;
	border-top: 1px solid rgba(166, 197, 231, .18);
	background: rgba(8, 13, 20, .98);
}

@media (max-width: 560px) {
	.fct-esign-manager .fct-esign-section-heading,
	.fct-esign-manager .fct-esign-linked-record-status {
		align-items: flex-start;
		flex-direction: column;
	}

	.fct-esign-manager .fct-esign-setting-grid {
		grid-template-columns: 1fr;
	}

	.fct-esign-manager .fct-esign-linked-record-status strong {
		text-align: left;
	}
}


/* =========================================================
   Embedded Team Portal signing view
   ========================================================= */
body.fct-esign-team-task-embed-body {
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #06101d !important;
    overflow-x: hidden !important;
}
body.fct-esign-team-task-embed-body #wpadminbar,
body.fct-esign-team-task-embed-body .site-header,
body.fct-esign-team-task-embed-body .site-footer {
    display: none !important;
}
body.fct-esign-team-task-embed-body .fct-esign-team-task-embed {
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0;
}
body.fct-esign-team-task-embed-body .fct-esign-public-shell,
body.fct-esign-team-task-embed-body .fct-esign-public-shell.fct-wrapper {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}
body.fct-esign-team-task-embed-body .fct-esign-public-card {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    border-radius: 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
    box-shadow: none !important;
}
body.fct-esign-team-task-embed-body .fct-esign-public-hero {
    display: none !important;
}
body.fct-esign-team-task-embed-body .fct-esign-layout-v2.fct-esign-public-card {
    padding-top: clamp(14px, 2vw, 22px) !important;
}
body.fct-esign-team-task-embed-body .fct-esign-stepper {
    margin-top: 0 !important;
}
body.fct-esign-team-task-embed-body .fct-esign-status-card {
    margin: 0 !important;
    border-radius: 0 !important;
}

/* Phase 2IM.31: keep the WordPress-admin manager inside #wpcontent.
   The shared .fct-seamless-cinematic class is intentionally full-viewport on
   public pages, but it must never pull an wp-admin screen underneath the menu. */
.wp-admin .fct-esign-manager.fct-esign-wp-admin,
.wp-admin .fct-esign-manager.fct-esign-wp-admin.wrap {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin-left: 20px !important;
    margin-right: 20px !important;
    transform: none !important;
}

.wp-admin .fct-esign-manager.fct-esign-wp-admin .fct-view-header,
.wp-admin .fct-esign-manager.fct-esign-wp-admin .fct-esign-tabs,
.wp-admin .fct-esign-manager.fct-esign-wp-admin .fct-esign-list-panel,
.wp-admin .fct-esign-manager.fct-esign-wp-admin .fct-table-responsive {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Phase 2IM.30: WordPress-admin contrast and navigation hardening.
   The E-Signatures screen must remain readable even when core .widefat/.striped
   styles or another admin stylesheet supplies a light table background. */
.wp-admin .fct-esign-manager.fct-esign-wp-admin.wrap {
	margin-left: 20px;
	margin-right: 20px;
}

/* Scoped fallback for the shared tab component. fct-controls is also enqueued
   explicitly, but these rules keep this screen usable if another plugin alters
   the dependency queue. */
.wp-admin .fct-esign-manager.fct-esign-wp-admin .fct-esign-tabs {
	display: flex !important;
	align-items: stretch !important;
	width: 100% !important;
	margin: 0 0 20px !important;
	padding: 0 !important;
	gap: 0 !important;
	border: 1px solid rgba(166, 197, 231, .24) !important;
	border-radius: 12px !important;
	background: #07101c !important;
	overflow: hidden !important;
}

.wp-admin .fct-esign-manager.fct-esign-wp-admin .fct-esign-tabs > .fct-tab {
	flex: 1 1 0 !important;
	min-width: 0 !important;
	min-height: 48px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin: 0 !important;
	padding: 10px 16px !important;
	border: 0 !important;
	border-right: 1px solid rgba(166, 197, 231, .16) !important;
	border-radius: 0 !important;
	background: #0b1624 !important;
	color: #dbeafe !important;
	font-size: 13px !important;
	font-weight: 900 !important;
	line-height: 1.25 !important;
	text-align: center !important;
	text-decoration: none !important;
	box-shadow: none !important;
}

.wp-admin .fct-esign-manager.fct-esign-wp-admin .fct-esign-tabs > .fct-tab:last-child {
	border-right: 0 !important;
}

.wp-admin .fct-esign-manager.fct-esign-wp-admin .fct-esign-tabs > .fct-tab:hover,
.wp-admin .fct-esign-manager.fct-esign-wp-admin .fct-esign-tabs > .fct-tab:focus-visible,
.wp-admin .fct-esign-manager.fct-esign-wp-admin .fct-esign-tabs > .fct-tab.active,
.wp-admin .fct-esign-manager.fct-esign-wp-admin .fct-esign-tabs > .fct-tab.is-active,
.wp-admin .fct-esign-manager.fct-esign-wp-admin .fct-esign-tabs > .fct-tab[aria-current="page"] {
	background: #162538 !important;
	color: #ffffff !important;
	box-shadow: inset 0 -3px 0 #a6c5e7 !important;
	outline: none !important;
}

/* Make every list-table layer opaque. WordPress applies striping to <tr>, so
   translucent cells otherwise reveal the core white row underneath. */
.wp-admin .fct-esign-manager.fct-esign-wp-admin .fct-table-responsive {
	border-color: rgba(166, 197, 231, .26) !important;
	background: #07101c !important;
}

.wp-admin .fct-esign-manager.fct-esign-wp-admin table.widefat.fct-esign-table,
.wp-admin .fct-esign-manager.fct-esign-wp-admin table.widefat.fct-esign-audit-table {
	border-color: rgba(166, 197, 231, .22) !important;
	background: #07101c !important;
	color: #dbeafe !important;
}

.wp-admin .fct-esign-manager.fct-esign-wp-admin table.widefat.fct-esign-table thead,
.wp-admin .fct-esign-manager.fct-esign-wp-admin table.widefat.fct-esign-audit-table thead,
.wp-admin .fct-esign-manager.fct-esign-wp-admin table.widefat.fct-esign-table thead tr,
.wp-admin .fct-esign-manager.fct-esign-wp-admin table.widefat.fct-esign-audit-table thead tr,
.wp-admin .fct-esign-manager.fct-esign-wp-admin table.widefat.fct-esign-table thead th,
.wp-admin .fct-esign-manager.fct-esign-wp-admin table.widefat.fct-esign-audit-table thead th {
	background: #162538 !important;
	color: #ffffff !important;
	border-color: rgba(166, 197, 231, .24) !important;
}

.wp-admin .fct-esign-manager.fct-esign-wp-admin table.widefat.striped.fct-esign-table > tbody > tr,
.wp-admin .fct-esign-manager.fct-esign-wp-admin table.widefat.striped.fct-esign-audit-table > tbody > tr,
.wp-admin .fct-esign-manager.fct-esign-wp-admin table.widefat.striped.fct-esign-table > tbody > :nth-child(odd),
.wp-admin .fct-esign-manager.fct-esign-wp-admin table.widefat.striped.fct-esign-audit-table > tbody > :nth-child(odd) {
	background: #0b1624 !important;
	color: #dbeafe !important;
}

.wp-admin .fct-esign-manager.fct-esign-wp-admin table.widefat.striped.fct-esign-table > tbody > :nth-child(even),
.wp-admin .fct-esign-manager.fct-esign-wp-admin table.widefat.striped.fct-esign-audit-table > tbody > :nth-child(even) {
	background: #101d2d !important;
	color: #dbeafe !important;
}

.wp-admin .fct-esign-manager.fct-esign-wp-admin table.widefat.fct-esign-table tbody td,
.wp-admin .fct-esign-manager.fct-esign-wp-admin table.widefat.fct-esign-audit-table tbody td {
	background: inherit !important;
	color: #dbeafe !important;
	border-color: rgba(166, 197, 231, .16) !important;
}

.wp-admin .fct-esign-manager.fct-esign-wp-admin table.widefat.fct-esign-table tbody tr:hover,
.wp-admin .fct-esign-manager.fct-esign-wp-admin table.widefat.fct-esign-audit-table tbody tr:hover,
.wp-admin .fct-esign-manager.fct-esign-wp-admin table.widefat.fct-esign-table tbody tr:hover td,
.wp-admin .fct-esign-manager.fct-esign-wp-admin table.widefat.fct-esign-audit-table tbody tr:hover td {
	background: #172a40 !important;
}

.wp-admin .fct-esign-manager.fct-esign-wp-admin table.widefat.fct-esign-table a,
.wp-admin .fct-esign-manager.fct-esign-wp-admin table.widefat.fct-esign-audit-table a {
	color: #bfdbfe !important;
}

.wp-admin .fct-esign-manager.fct-esign-wp-admin table.widefat.fct-esign-table strong,
.wp-admin .fct-esign-manager.fct-esign-wp-admin table.widefat.fct-esign-audit-table strong {
	color: #ffffff !important;
}

.wp-admin .fct-esign-manager.fct-esign-wp-admin table.widefat.fct-esign-table code,
.wp-admin .fct-esign-manager.fct-esign-wp-admin table.widefat.fct-esign-audit-table code {
	border: 1px solid rgba(166, 197, 231, .18);
	border-radius: 6px;
	background: #050b13 !important;
	color: #c7d9ef !important;
}

/* WordPress buttons are light by default. Keep labels and controls readable on
   this dark manager without changing buttons elsewhere in wp-admin. */
.wp-admin .fct-esign-manager.fct-esign-wp-admin .button.fct-btn:not(.button-primary),
.wp-admin .fct-esign-manager.fct-esign-wp-admin button.fct-btn:not(.button-primary) {
	border-color: rgba(166, 197, 231, .38) !important;
	background: #1e293b !important;
	color: #ffffff !important;
	text-shadow: none !important;
	box-shadow: none !important;
}

.wp-admin .fct-esign-manager.fct-esign-wp-admin .button.fct-btn:not(.button-primary):hover,
.wp-admin .fct-esign-manager.fct-esign-wp-admin .button.fct-btn:not(.button-primary):focus,
.wp-admin .fct-esign-manager.fct-esign-wp-admin button.fct-btn:not(.button-primary):hover,
.wp-admin .fct-esign-manager.fct-esign-wp-admin button.fct-btn:not(.button-primary):focus {
	border-color: #93c5fd !important;
	background: #334155 !important;
	color: #ffffff !important;
}

.wp-admin .fct-esign-manager.fct-esign-wp-admin .button.button-primary.fct-btn,
.wp-admin .fct-esign-manager.fct-esign-wp-admin button.button-primary.fct-btn {
	border-color: #3b82f6 !important;
	background: #2563eb !important;
	color: #ffffff !important;
	text-shadow: none !important;
	box-shadow: none !important;
}

.wp-admin .fct-esign-manager.fct-esign-wp-admin .button.button-primary.fct-btn:hover,
.wp-admin .fct-esign-manager.fct-esign-wp-admin .button.button-primary.fct-btn:focus,
.wp-admin .fct-esign-manager.fct-esign-wp-admin button.button-primary.fct-btn:hover,
.wp-admin .fct-esign-manager.fct-esign-wp-admin button.button-primary.fct-btn:focus {
	border-color: #60a5fa !important;
	background: #1d4ed8 !important;
}

.wp-admin .fct-esign-manager.fct-esign-wp-admin .button.fct-btn-danger,
.wp-admin .fct-esign-manager.fct-esign-wp-admin button.fct-btn-danger {
	border-color: rgba(248, 113, 113, .54) !important;
	background: rgba(127, 29, 29, .78) !important;
	color: #fee2e2 !important;
}

@media (max-width: 782px) {
	.wp-admin .fct-esign-manager.fct-esign-wp-admin.wrap {
		margin-left: 10px;
		margin-right: 10px;
	}

	.wp-admin .fct-esign-manager.fct-esign-wp-admin .fct-esign-tabs {
		flex-direction: column !important;
	}

	.wp-admin .fct-esign-manager.fct-esign-wp-admin .fct-esign-tabs > .fct-tab {
		border-right: 0 !important;
		border-bottom: 1px solid rgba(166, 197, 231, .16) !important;
	}

	.wp-admin .fct-esign-manager.fct-esign-wp-admin .fct-esign-tabs > .fct-tab:last-child {
		border-bottom: 0 !important;
	}
}


/* --- phase2im.198: multiline e-signature fields + non-sending preview --- */
.fct-esign-fixed-value {
	width: 100%;
	resize: vertical;
	min-height: 38px;
	line-height: 1.35;
}

.fct-esign-fixed-value.is-multiline {
	min-height: 132px;
	white-space: pre-wrap;
}

.fct-esign-admin-field[data-type="multiline"] {
	justify-content: flex-start;
	text-align: left !important;
}

.fct-esign-admin-field[data-type="multiline"] > .fct-esign-admin-field-value {
	display: block;
	width: 100%;
	max-height: calc(100% - 18px);
	overflow: hidden;
	white-space: pre-wrap;
	text-overflow: clip;
	line-height: 1.18;
	text-align: left;
	font-size: calc(10px * var(--fct-esign-admin-text-scale, 1));
	font-weight: 750;
}

.fct-esign-doc-multiline {
	height: 100%;
	overflow: hidden;
	white-space: pre-wrap !important;
	overflow-wrap: anywhere;
	line-height: 1.18 !important;
	text-align: var(--fct-esign-text-align, left);
}

body .fct-esign-public-shell .fct-esign-public-field textarea.fct-esign-inline-multiline {
	resize: none !important;
	overflow: auto !important;
	white-space: pre-wrap !important;
	line-height: 1.18 !important;
	text-align: var(--fct-esign-text-align, left) !important;
}

.fct-esign-admin-preview-modal[hidden] {
	display: none !important;
}

.fct-esign-admin-preview-modal {
	position: fixed;
	inset: 0;
	z-index: 1000000;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding: 24px;
	background: rgba(2, 8, 23, .84);
	overflow: auto;
	backdrop-filter: blur(5px);
}

body.fct-esign-preview-open {
	overflow: hidden;
}

.fct-esign-admin-preview-dialog {
	width: min(1120px, 96vw);
	min-height: 260px;
	margin: 12px auto 40px;
	border: 1px solid rgba(148, 163, 184, .28);
	border-radius: 18px;
	background: #07111f;
	color: #e5edf8;
	box-shadow: 0 28px 80px rgba(0, 0, 0, .46);
	overflow: hidden;
}

.fct-esign-admin-preview-dialog > header {
	position: sticky;
	top: 0;
	z-index: 4;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 18px;
	padding: 18px 22px;
	border-bottom: 1px solid rgba(148, 163, 184, .18);
	background: rgba(7, 17, 31, .96);
	backdrop-filter: blur(8px);
}

.fct-esign-admin-preview-dialog h2 {
	margin: 3px 0 2px;
	color: #fff;
	font-size: 22px;
}

.fct-esign-admin-preview-note {
	margin: 0;
	color: #9fb1c9;
	font-size: 12px;
}

.fct-esign-admin-preview-close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	min-height: 38px;
	padding: 0 10px;
	border: 1px solid rgba(148, 163, 184, .25);
	border-radius: 10px;
	background: #101c2c;
	color: #fff;
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
}

.fct-esign-admin-preview-body {
	padding: 22px;
	background: #111827;
}

.fct-esign-admin-preview-loading,
.fct-esign-admin-preview-error {
	padding: 42px 18px;
	border: 1px dashed rgba(148, 163, 184, .28);
	border-radius: 12px;
	text-align: center;
	color: #cbd5e1;
}

.fct-esign-admin-preview-page {
	margin: 0 auto 22px;
}

.fct-esign-admin-preview-stage {
	position: relative;
	margin: 0 auto;
	background: #fff;
	box-shadow: 0 14px 40px rgba(0, 0, 0, .28);
	overflow: hidden;
}

.fct-esign-admin-preview-stage > canvas {
	display: block;
	width: 100%;
	height: 100%;
}

.fct-esign-admin-preview-field-layer {
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.fct-esign-admin-preview-field {
	position: absolute;
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	overflow: hidden;
	color: #111827;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 12px;
	font-weight: 650;
	line-height: 1.08;
}

.fct-esign-admin-preview-field > span {
	display: block;
	width: 100%;
	max-height: 100%;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.fct-esign-admin-preview-field.fct-esign-preview-type-multiline > span {
	white-space: pre-wrap !important;
	overflow-wrap: anywhere;
	text-overflow: clip;
	line-height: 1.18;
}

.fct-esign-admin-preview-field.is-placeholder {
	align-items: center;
	justify-content: center !important;
	border: 1px dashed rgba(37, 99, 235, .70);
	border-radius: 4px;
	background: rgba(219, 234, 254, .64);
	color: #1d4ed8;
	font-size: clamp(7px, .92vw, 12px);
	font-weight: 750;
}

.fct-esign-admin-preview-field.is-filled {
	background: transparent;
}

.fct-esign-admin-preview-dialog > footer {
	position: sticky;
	bottom: 0;
	z-index: 4;
	display: flex;
	justify-content: flex-end;
	padding: 14px 22px;
	border-top: 1px solid rgba(148, 163, 184, .18);
	background: rgba(7, 17, 31, .96);
}

@media (max-width: 782px) {
	.fct-esign-admin-preview-modal {
		padding: 8px;
	}

	.fct-esign-admin-preview-dialog {
		width: 100%;
		margin-top: 0;
		border-radius: 12px;
	}

	.fct-esign-admin-preview-body {
		padding: 10px;
	}
}

/* --- phase2im.205: compact checkbox placement controls --- */
/* Checkbox targets are intentionally tiny because they must line up with
   printed boxes on the source PDF. Keep the canvas overlay equally small so
   editor chrome never hides the underlying PDF checkbox. Deletion remains
   available in the field inspector. */
.fct-esign-manager .fct-esign-admin-field[data-type="checkbox"] {
	min-width: 0;
	min-height: 0;
	padding: 0;
	gap: 0;
	overflow: visible;
	border-width: 1px;
	border-radius: 2px;
	background: rgba(219, 234, 254, .12);
	box-shadow: none;
}

.fct-esign-manager .fct-esign-admin-field[data-type="checkbox"][data-mode="prefill"],
.fct-esign-manager .fct-esign-admin-field[data-type="checkbox"][data-mode="locked_prefill"] {
	background: rgba(209, 250, 229, .12);
}

/* Labels/badges and the large in-canvas delete button obscure tiny boxes.
   The inspector still shows the field name, assignment, Duplicate, and
   Delete Field controls after the checkbox is selected. */
.fct-esign-manager .fct-esign-admin-field[data-type="checkbox"] > span,
.fct-esign-manager .fct-esign-admin-field[data-type="checkbox"] > em,
.fct-esign-manager .fct-esign-admin-field[data-type="checkbox"] > .remove {
	display: none !important;
}

/* A locked/prefilled checked box may still show a small checkmark, without
   covering the source checkbox outline used for alignment. */
.fct-esign-manager .fct-esign-admin-field[data-type="checkbox"] > .fct-esign-admin-field-value {
	position: absolute;
	inset: 0;
	display: flex !important;
	align-items: center;
	justify-content: center;
	padding: 0;
	overflow: visible;
	color: #0f172a;
	font-size: clamp(7px, 1.15vw, 12px);
	line-height: 1;
	pointer-events: none;
}

/* Keep the resize dot out of the way until the field is selected. */
.fct-esign-manager .fct-esign-admin-field[data-type="checkbox"] > .fct-esign-resize-handle {
	right: -4px;
	bottom: -4px;
	width: 8px;
	height: 8px;
	border-width: 1px;
	opacity: 0;
	transition: opacity .12s ease;
}

.fct-esign-manager .fct-esign-admin-field[data-type="checkbox"].is-selected {
	outline: 1px solid rgba(37, 99, 235, .92);
	outline-offset: 1px;
}

.fct-esign-manager .fct-esign-admin-field[data-type="checkbox"][data-mode="prefill"].is-selected,
.fct-esign-manager .fct-esign-admin-field[data-type="checkbox"][data-mode="locked_prefill"].is-selected {
	outline-color: rgba(16, 185, 129, .95);
}

.fct-esign-manager .fct-esign-admin-field[data-type="checkbox"].is-selected > .fct-esign-resize-handle {
	opacity: 1;
}


/* --- phase2im.207: multiline parity + locked-prefill checkbox protection --- */
body .fct-esign-public-shell .fct-esign-public-field.fct-esign-field-type-multiline .fct-esign-doc-multiline {
	font-family: Arial, Helvetica, sans-serif !important;
	font-weight: 650 !important;
	line-height: 1.18 !important;
	white-space: pre-wrap !important;
	overflow-wrap: anywhere !important;
	word-break: normal;
}

body .fct-esign-public-shell .fct-esign-public-field.fct-esign-locked-prefill-checkbox {
	cursor: default !important;
	pointer-events: auto;
}

body .fct-esign-public-shell .fct-esign-public-field.fct-esign-locked-prefill-checkbox > .fct-esign-checkbox-control {
	cursor: default !important;
	pointer-events: none !important;
}

.fct-esign-admin-preview-field.fct-esign-preview-type-multiline {
	font-family: Arial, Helvetica, sans-serif !important;
	font-weight: 650 !important;
	line-height: 1.18 !important;
}


/* --- phase2im.213: signer conditional visibility --- */
body .fct-esign-public-shell .fct-esign-public-field.fct-esign-condition-pending,
body .fct-esign-public-shell .fct-esign-public-field.fct-esign-condition-hidden {
	display: none !important;
	pointer-events: none !important;
}

/* Conditional fields remain visible in the admin builder for precise placement,
   but the badge/outline makes the dependency obvious. */
.fct-esign-manager .fct-esign-admin-field.is-conditional {
	outline-style: dashed;
}


/* --- phase2im.225: in-app e-signature confirmations --- */
/* These dialogs intentionally replace window.confirm()/alert-style browser dialogs.
   Browser dialog suppression therefore cannot disable Reset/Delete/Cancel/Resend. */
html.fct-esign-dialog-open,
body.fct-esign-dialog-open {
	overflow: hidden !important;
}

.fct-esign-action-dialog {
	position: fixed;
	inset: 0;
	z-index: 2147483000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 22px;
	background: rgba(2, 8, 23, .74);
	backdrop-filter: blur(7px);
	-webkit-backdrop-filter: blur(7px);
	opacity: 0;
	visibility: hidden;
	transition: opacity .14s ease, visibility .14s ease;
}

.fct-esign-action-dialog[hidden] {
	display: none !important;
}

.fct-esign-action-dialog.is-open {
	opacity: 1;
	visibility: visible;
}

.fct-esign-action-dialog-panel {
	width: min(100%, 520px);
	padding: 24px;
	border: 1px solid rgba(148, 163, 184, .28);
	border-radius: 18px;
	background: #0b1525;
	box-shadow: 0 28px 80px rgba(0, 0, 0, .50);
	color: #e5edf8;
	transform: translateY(8px) scale(.985);
	transition: transform .14s ease;
}

.fct-esign-action-dialog.is-open .fct-esign-action-dialog-panel {
	transform: translateY(0) scale(1);
}

.fct-esign-action-dialog-head {
	display: grid;
	grid-template-columns: 46px minmax(0, 1fr);
	gap: 15px;
	align-items: start;
}

.fct-esign-action-dialog-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	border: 1px solid rgba(245, 158, 11, .45);
	border-radius: 14px;
	background: rgba(245, 158, 11, .12);
	color: #fbbf24;
	font-size: 24px;
	font-weight: 900;
	line-height: 1;
}

.fct-esign-action-dialog.is-danger .fct-esign-action-dialog-icon {
	border-color: rgba(248, 113, 113, .45);
	background: rgba(239, 68, 68, .13);
	color: #fca5a5;
}

.fct-esign-action-dialog-eyebrow {
	margin: 1px 0 5px;
	color: #8fa2ba;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .11em;
	line-height: 1.2;
	text-transform: uppercase;
}

.fct-esign-action-dialog-title {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	color: #f8fafc !important;
	font-family: inherit !important;
	font-size: 21px !important;
	font-weight: 800 !important;
	line-height: 1.25 !important;
}

.fct-esign-action-dialog-message {
	margin: 9px 0 0 !important;
	color: #b8c5d6 !important;
	font-size: 14px !important;
	line-height: 1.55 !important;
}

.fct-esign-action-dialog-actions {
	display: flex;
	justify-content: flex-end;
	gap: 10px;
	margin-top: 24px;
	padding-top: 18px;
	border-top: 1px solid rgba(148, 163, 184, .16);
}

.fct-esign-action-dialog-actions .fct-btn {
	min-height: 40px;
	margin: 0 !important;
	padding: 8px 16px !important;
	border-radius: 9px !important;
}

.fct-esign-action-dialog .fct-esign-dialog-cancel {
	border-color: #44546b !important;
	background: #172235 !important;
	color: #e5edf8 !important;
}

.fct-esign-action-dialog .fct-esign-dialog-accept {
	border-color: #0f766e !important;
	background: #0f766e !important;
	color: #fff !important;
}

.fct-esign-action-dialog.is-danger .fct-esign-dialog-accept {
	border-color: #b91c1c !important;
	background: #b91c1c !important;
}

.fct-esign-action-dialog-actions .fct-btn:hover,
.fct-esign-action-dialog-actions .fct-btn:focus-visible {
	filter: brightness(1.12);
	outline: 2px solid rgba(125, 211, 252, .9) !important;
	outline-offset: 2px;
}

@media (max-width: 560px) {
	.fct-esign-action-dialog {
		align-items: flex-end;
		padding: 12px;
	}
	.fct-esign-action-dialog-panel {
		padding: 20px;
		border-radius: 16px;
	}
	.fct-esign-action-dialog-head {
		grid-template-columns: 40px minmax(0, 1fr);
		gap: 12px;
	}
	.fct-esign-action-dialog-icon {
		width: 40px;
		height: 40px;
		border-radius: 12px;
	}
	.fct-esign-action-dialog-actions {
		flex-direction: column-reverse;
	}
	.fct-esign-action-dialog-actions .fct-btn {
		width: 100%;
	}
}

/* =========================================================
   Phase 2IM.229: calmer multi-signer request composer
   ========================================================= */
.fct-esign-manager .fct-esign-send-intro {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	margin: 0 0 14px;
	padding: 2px 2px 0;
}

.fct-esign-manager .fct-esign-send-intro h3 {
	margin: 5px 0 4px;
	font-size: clamp(22px, 2.4vw, 30px);
	line-height: 1.15;
}

.fct-esign-manager .fct-esign-send-intro p {
	max-width: 720px;
	margin: 0;
	font-size: 13px;
	line-height: 1.55;
}

.fct-esign-manager .fct-esign-request-composer {
	padding: 0 !important;
	overflow: hidden;
}

.fct-esign-manager .fct-esign-composer-form {
	margin: 0;
}

.fct-esign-manager .fct-esign-composer-section {
	padding: 24px clamp(18px, 3vw, 30px);
	border-bottom: 1px solid rgba(166, 197, 231, .14);
	background: rgba(255, 255, 255, .012);
}

.fct-esign-manager .fct-esign-composer-section:nth-of-type(even) {
	background: rgba(96, 165, 250, .018);
}

.fct-esign-manager .fct-esign-composer-heading {
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr);
	gap: 12px;
	align-items: start;
	margin: 0 0 18px;
}

.fct-esign-manager .fct-esign-composer-heading h4,
.fct-esign-manager .fct-esign-composer-heading p {
	margin: 0;
}

.fct-esign-manager .fct-esign-composer-heading h4 {
	font-size: 16px;
	line-height: 1.25;
}

.fct-esign-manager .fct-esign-composer-heading p {
	margin-top: 3px;
	font-size: 12px;
	line-height: 1.45;
}

.fct-esign-manager .fct-esign-composer-step {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border: 1px solid rgba(125, 211, 252, .34);
	border-radius: 10px;
	background: rgba(96, 165, 250, .10);
	color: var(--fct-esign-ice, #d7ecfb);
	font-size: 13px;
	font-weight: 900;
	line-height: 1;
}

.fct-esign-manager .fct-esign-composer-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	align-items: start;
}

.fct-esign-manager .fct-esign-composer-grid > p,
.fct-esign-manager .fct-esign-composer-section > p {
	margin: 0;
}

.fct-esign-manager .fct-esign-composer-grid .fct-esign-field-wide {
	grid-column: span 2;
}

.fct-esign-manager .fct-esign-composer-section label {
	display: block;
	color: var(--fct-esign-text);
	font-size: 11px;
	font-weight: 850;
	letter-spacing: .025em;
	line-height: 1.35;
}

.fct-esign-manager .fct-esign-composer-section label small {
	color: var(--fct-esign-muted);
	font-size: 10px;
	font-weight: 650;
	letter-spacing: 0;
}

.fct-esign-manager .fct-esign-composer-section input[type="text"],
.fct-esign-manager .fct-esign-composer-section input[type="email"],
.fct-esign-manager .fct-esign-composer-section input[type="datetime-local"],
.fct-esign-manager .fct-esign-composer-section select,
.fct-esign-manager .fct-esign-composer-section textarea,
.fct-esign-manager .fct-esign-bulk-disclosure input[type="text"],
.fct-esign-manager .fct-esign-bulk-disclosure input[type="email"],
.fct-esign-manager .fct-esign-bulk-disclosure input[type="datetime-local"],
.fct-esign-manager .fct-esign-bulk-disclosure select,
.fct-esign-manager .fct-esign-bulk-disclosure textarea {
	width: 100%;
	margin-top: 6px;
}

.fct-esign-manager .fct-esign-signer-roster {
	display: grid;
	gap: 12px;
}

.fct-esign-manager .fct-esign-signer-card {
	position: relative;
	padding: 16px;
	border: 1px solid rgba(166, 197, 231, .17);
	border-radius: 13px;
	background: rgba(5, 11, 19, .42);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .025);
}

.fct-esign-manager .fct-esign-signer-card[hidden] {
	display: none !important;
}

/* Keep inactive composer instructions and controls hidden under frontend themes. */
.fct-esign-composer-form [hidden] {
	display: none !important;
}

.fct-esign-manager .fct-esign-signer-card.is-visible {
	display: block;
}

.fct-esign-manager .fct-esign-signer-card-head {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 13px;
}

.fct-esign-manager .fct-esign-signer-number {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 28px;
	width: 28px;
	height: 28px;
	border: 1px solid rgba(166, 197, 231, .24);
	border-radius: 999px;
	background: rgba(148, 163, 184, .08);
	color: var(--fct-esign-ice-2);
	font-size: 11px;
	font-weight: 900;
}

.fct-esign-manager .fct-esign-signer-card-head > div {
	display: flex;
	min-width: 0;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 5px 9px;
}

.fct-esign-manager .fct-esign-signer-card-head strong {
	color: var(--fct-esign-text);
	font-size: 13px;
	font-weight: 900;
}

.fct-esign-manager .fct-esign-signer-card-head span:not(.fct-esign-signer-number) {
	color: var(--fct-esign-muted);
	font-size: 11px;
}

.fct-esign-manager .fct-esign-use-sender,
.fct-esign-manager .fct-esign-save-linked-email,
.fct-esign-manager .fct-esign-send-now {
	display: inline-flex !important;
	align-items: center;
	gap: 7px;
	margin: 0 0 13px;
	color: var(--fct-esign-soft) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: 0 !important;
}

/* Sponsor-only contact sync is hidden for volunteer and other request types. */
.fct-esign-manager .fct-esign-composer-form .fct-esign-save-linked-email[hidden] {
	display: none !important;
}

.fct-esign-manager .fct-esign-use-sender input,
.fct-esign-manager .fct-esign-save-linked-email input,
.fct-esign-manager .fct-esign-send-now input {
	margin: 0;
}

.fct-esign-manager .fct-esign-additional-signer-card.is-sender-linked .fct-esign-additional-signer-fields {
	opacity: .58;
}

.fct-esign-manager .fct-esign-add-signer-row {
	padding: 2px 3px 0;
}

.fct-esign-manager .fct-esign-add-signer-row .fct-esign-add-signer {
	display: none !important;
}

.fct-esign-manager .fct-esign-add-signer-help {
	display: block;
	margin: 0;
}

.fct-esign-manager .fct-esign-request-notes {
	min-height: 118px;
	resize: vertical;
}

.fct-esign-manager .fct-esign-composer-section .fct-esign-compact-help {
	display: block;
	margin-top: 6px;
}

.fct-esign-manager .fct-esign-composer-section > .fct-esign-compact-help {
	margin: 8px 0 12px;
}

.fct-esign-manager .fct-esign-composer-section-sender {
	border-bottom: 0;
}

.fct-esign-manager .fct-esign-composer-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 9px;
	padding: 16px clamp(18px, 3vw, 30px);
	border-top: 1px solid rgba(166, 197, 231, .16);
	background: rgba(7, 12, 20, .94);
}

.fct-esign-manager .fct-esign-composer-actions .fct-btn {
	margin: 0 !important;
}

.fct-esign-manager .fct-esign-bulk-disclosure {
	margin-top: 14px;
	padding: 0 !important;
	overflow: hidden;
}

.fct-esign-manager .fct-esign-bulk-disclosure > summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding: 17px 20px;
	cursor: pointer;
	list-style: none;
	user-select: none;
}

.fct-esign-manager .fct-esign-bulk-disclosure > summary::-webkit-details-marker {
	display: none;
}

.fct-esign-manager .fct-esign-bulk-disclosure > summary > span:first-child {
	display: grid;
	gap: 2px;
}

.fct-esign-manager .fct-esign-bulk-disclosure > summary strong {
	color: var(--fct-esign-text);
	font-size: 13px;
}

.fct-esign-manager .fct-esign-bulk-disclosure > summary small {
	color: var(--fct-esign-muted);
	font-size: 11px;
	font-weight: 500;
}

.fct-esign-manager .fct-esign-bulk-disclosure > summary .dashicons {
	transition: transform .18s ease;
}

.fct-esign-manager .fct-esign-bulk-disclosure[open] > summary .dashicons {
	transform: rotate(180deg);
}

.fct-esign-manager .fct-esign-bulk-disclosure-body {
	padding: 20px;
	border-top: 1px solid rgba(166, 197, 231, .14);
	background: rgba(5, 11, 19, .30);
}

.fct-esign-manager .fct-esign-bulk-disclosure-body form {
	margin: 0;
}

@media (max-width: 900px) {
	.fct-esign-manager .fct-esign-composer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.fct-esign-manager .fct-esign-composer-grid .fct-esign-field-wide {
		grid-column: 1 / -1;
	}
}

@media (max-width: 640px) {
	.fct-esign-manager .fct-esign-send-intro,
	.fct-esign-manager .fct-esign-composer-actions {
		align-items: stretch;
		flex-direction: column;
	}
	.fct-esign-manager .fct-esign-composer-grid {
		grid-template-columns: 1fr;
	}
	.fct-esign-manager .fct-esign-composer-grid .fct-esign-field-wide {
		grid-column: auto;
	}
	.fct-esign-manager .fct-esign-composer-section {
		padding: 19px 16px;
	}
	.fct-esign-manager .fct-esign-composer-actions {
		padding: 14px 16px;
	}
	.fct-esign-manager .fct-esign-composer-actions .fct-btn {
		width: 100%;
	}
}

/* Multi-signer timelines can contain several numbered signer milestones. */
.fct-esign-manager .fct-esign-combined-request-row .fct-esign-date-icons {
	max-width: 150px;
	flex-wrap: wrap;
}

.fct-esign-manager .fct-esign-additional-signer-fields.is-sender-linked {
	opacity: .58;
}

/* Phase 2 IM .231: Sponsor-package agreement defaults inside the request composer. */
.fct-esign-manager .fct-esign-sponsor-agreement-panel {
	margin-top: 18px;
	padding: 18px;
	border: 1px solid rgba(125, 190, 237, .20);
	border-radius: 14px;
	background: linear-gradient(180deg, rgba(20, 37, 55, .48), rgba(6, 13, 22, .46));
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .025);
}

.fct-esign-manager .fct-esign-sponsor-agreement-panel[hidden],
.fct-esign-manager .fct-esign-sponsor-amount-wrap[hidden],
.fct-esign-manager .fct-esign-sponsor-in-kind-wrap[hidden] {
	display: none !important;
}

.fct-esign-manager .fct-esign-sponsor-agreement-panel > .fct-esign-linked-record-status {
	margin: 0 0 16px;
}

.fct-esign-manager .fct-esign-money-input {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: stretch;
	margin-top: 5px;
	border: 1px solid rgba(166, 197, 231, .25);
	border-radius: 9px;
	background: rgba(3, 9, 16, .70);
	overflow: hidden;
}

.fct-esign-manager .fct-esign-money-input > span {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	padding: 0 10px;
	border-right: 1px solid rgba(166, 197, 231, .15);
	color: var(--fct-esign-ice-2);
	font-weight: 900;
}

.fct-esign-manager .fct-esign-money-input input {
	width: 100% !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

.fct-esign-manager .fct-esign-sponsor-benefits-block {
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid rgba(166, 197, 231, .14);
}

.fct-esign-manager .fct-esign-sponsor-benefits-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 14px;
	margin-bottom: 11px;
}

.fct-esign-manager .fct-esign-sponsor-benefits-head > div {
	display: grid;
	gap: 3px;
}

.fct-esign-manager .fct-esign-sponsor-benefits-head strong {
	color: var(--fct-esign-text);
	font-size: 12px;
	font-weight: 900;
}

.fct-esign-manager .fct-esign-sponsor-benefits-head span:not(.fct-esign-sponsor-package-kind) {
	color: var(--fct-esign-muted);
	font-size: 11px;
}

.fct-esign-manager .fct-esign-sponsor-package-kind {
	display: inline-flex;
	align-items: center;
	min-height: 25px;
	padding: 4px 9px;
	border: 1px solid rgba(166, 197, 231, .18);
	border-radius: 999px;
	color: var(--fct-esign-soft);
	font-size: 10px;
	font-weight: 900;
	letter-spacing: .03em;
	white-space: nowrap;
}

.fct-esign-manager .fct-esign-sponsor-package-kind:empty {
	display: none;
}

.fct-esign-manager .fct-esign-sponsor-package-kind.is-paid {
	border-color: rgba(104, 199, 255, .28);
	background: rgba(54, 139, 196, .10);
	color: #b9e5ff;
}

.fct-esign-manager .fct-esign-sponsor-package-kind.is-in-kind {
	border-color: rgba(111, 223, 176, .26);
	background: rgba(45, 154, 113, .11);
	color: #b9f1d7;
}

.fct-esign-manager .fct-esign-sponsor-benefits-list {
	display: grid;
	gap: 7px;
	margin-bottom: 14px;
}

.fct-esign-manager .fct-esign-sponsor-benefit-row {
	display: grid !important;
	grid-template-columns: 18px minmax(0, 1fr);
	align-items: start;
	gap: 9px;
	padding: 10px 11px;
	border: 1px solid rgba(166, 197, 231, .13);
	border-radius: 9px;
	background: rgba(3, 9, 16, .42);
	color: var(--fct-esign-soft) !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	line-height: 1.45;
	letter-spacing: 0 !important;
	text-transform: none !important;
}

.fct-esign-manager .fct-esign-sponsor-benefit-row:hover {
	border-color: rgba(125, 190, 237, .26);
	background: rgba(20, 37, 55, .40);
}

.fct-esign-manager .fct-esign-sponsor-benefit-row input {
	margin: 2px 0 0 !important;
}

.fct-esign-manager .fct-esign-sponsor-benefits-empty {
	padding: 11px 12px;
	border: 1px dashed rgba(166, 197, 231, .18);
	border-radius: 9px;
	color: var(--fct-esign-muted);
	font-size: 11px;
	line-height: 1.5;
}

.fct-esign-manager .fct-esign-save-sponsor-package {
	display: inline-flex !important;
	align-items: center;
	gap: 7px;
	margin-top: 14px;
	color: var(--fct-esign-soft) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}

.fct-esign-manager .fct-esign-save-sponsor-package input {
	margin: 0 !important;
}

@media (max-width: 640px) {
	.fct-esign-manager .fct-esign-sponsor-agreement-panel {
		padding: 14px;
	}
	.fct-esign-manager .fct-esign-sponsor-benefits-head {
		flex-direction: column;
	}
}

/* --- phase2im.232: sponsor benefits two-column agreement layout --- */
.fct-esign-manager .fct-esign-benefits-layout-section {
	margin-top: 14px;
	padding: 14px;
	border: 1px solid rgba(56, 189, 248, .22);
	border-radius: 12px;
	background: rgba(14, 165, 233, .06);
}

.fct-esign-manager .fct-esign-benefits-layout-section[hidden],
.fct-esign-manager .fct-esign-column-gap-row[hidden] {
	display: none !important;
}

.fct-esign-manager .fct-esign-benefits-layout-heading {
	margin-bottom: 10px;
}

.fct-esign-manager .fct-esign-benefits-layout-heading span {
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: #38bdf8;
}

.fct-esign-manager .fct-esign-column-gap-row {
	display: grid;
	gap: 7px;
	margin-top: 10px;
}

.fct-esign-admin-preview-field .fct-esign-preview-columns,
body .fct-esign-public-shell .fct-esign-doc-benefits-columns {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	column-gap: var(--fct-esign-column-gap, 16px);
	align-items: start;
	align-content: start;
	width: 100%;
	height: 100%;
	max-height: 100%;
	box-sizing: border-box;
	white-space: normal !important;
}

.fct-esign-admin-preview-field .fct-esign-preview-column,
body .fct-esign-public-shell .fct-esign-doc-benefits-column {
	display: block;
	min-width: 0;
	max-width: 100%;
	white-space: pre-wrap !important;
	overflow-wrap: anywhere;
	word-break: normal;
	line-height: 1.18;
}

.fct-esign-admin-preview-field.is-content-overflowing {
	overflow: visible;
	outline: 2px solid rgba(220, 38, 38, .88);
	outline-offset: 2px;
}

.fct-esign-admin-preview-field.is-content-overflowing::after {
	content: "Content exceeds field";
	position: absolute;
	left: 0;
	bottom: calc(100% + 4px);
	z-index: 4;
	padding: 3px 6px;
	border-radius: 5px;
	background: #b91c1c;
	color: #fff;
	font: 700 9px/1.2 Arial, Helvetica, sans-serif;
	white-space: nowrap;
	box-shadow: 0 2px 7px rgba(0, 0, 0, .22);
}

/* phase2im.235: optional final signed-copy recipients */
.fct-esign-manager .fct-esign-composer-section-completion {
    background: rgba(10, 20, 33, 0.44);
}
.fct-esign-manager .fct-esign-completion-recipient-list {
    display: grid;
    gap: 12px;
    margin: 0 0 12px;
}
.fct-esign-manager .fct-esign-completion-recipient-row {
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 12px;
    padding: 14px;
    background: rgba(5, 12, 21, 0.42);
}
.fct-esign-manager .fct-esign-completion-recipient-row .fct-esign-composer-grid {
    margin: 0;
}
.fct-esign-manager .fct-esign-completion-recipient-row .fct-esign-remove-completion-recipient {
    margin-top: 8px;
}
.fct-esign-manager .fct-esign-add-completion-recipient {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.fct-esign-manager .fct-esign-completion-delivery {
    margin: 22px 0;
    padding-top: 18px;
    border-top: 1px solid rgba(148, 163, 184, 0.18);
}
.fct-esign-manager .fct-esign-completion-delivery > h4 {
    margin: 0 0 5px;
}
.fct-esign-manager .fct-esign-delivery-list {
    display: grid;
    gap: 8px;
    margin-top: 12px;
}
.fct-esign-manager .fct-esign-delivery-row {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 12px;
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-radius: 10px;
    background: rgba(7, 15, 26, 0.42);
}
.fct-esign-manager .fct-esign-delivery-row > div {
    display: grid;
    gap: 2px;
    min-width: 0;
}
.fct-esign-manager .fct-esign-delivery-row span,
.fct-esign-manager .fct-esign-delivery-row small {
    color: #aebcd0;
    overflow-wrap: anywhere;
}
.fct-esign-manager .fct-esign-delivery-status {
    width: 22px;
    height: 22px;
    border-radius: 999px;
    border: 1px solid rgba(148, 163, 184, 0.28);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 22px;
    font-weight: 800;
}
.fct-esign-manager .fct-esign-delivery-status.is-sent {
    border-color: rgba(52, 211, 153, 0.45);
    background: rgba(16, 185, 129, 0.12);
}
.fct-esign-manager .fct-esign-delivery-status.is-failed {
    border-color: rgba(248, 113, 113, 0.5);
    background: rgba(239, 68, 68, 0.12);
}

/* phase2im.236: progressive signer rows in the request composer */
.fct-esign-manager .fct-esign-add-signer-row {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px 12px;
	padding: 4px 2px 0;
}

.fct-esign-manager .fct-esign-add-signer-row .fct-esign-add-signer {
	display: inline-flex !important;
	align-items: center;
	gap: 6px;
	margin: 0;
}

.fct-esign-manager .fct-esign-add-signer-row .fct-esign-add-signer[hidden] {
	display: none !important;
}

.fct-esign-manager .fct-esign-add-signer-help {
	flex: 1 1 260px;
	margin: 0 !important;
}

.fct-esign-manager .fct-esign-signer-card-head {
	align-items: flex-start;
}

.fct-esign-manager .fct-esign-signer-card-head .fct-esign-signer-card-title {
	display: flex;
	min-width: 0;
	flex: 1 1 auto;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 5px 9px;
}

.fct-esign-manager .fct-esign-signer-card-actions {
	display: flex !important;
	flex: 0 0 auto;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: 8px;
	margin-left: auto;
}

.fct-esign-manager .fct-esign-signer-card-actions .fct-esign-use-sender {
	margin: 0 !important;
	padding: 6px 9px;
	border: 1px solid rgba(166, 197, 231, .16);
	border-radius: 8px;
	background: rgba(148, 163, 184, .055);
}

.fct-esign-manager .fct-esign-signer-card-actions .fct-esign-remove-signer {
	margin: 0 !important;
	min-height: 30px;
	padding: 4px 9px !important;
	font-size: 10px !important;
}

.fct-esign-manager .fct-esign-use-sender-help {
	margin: -3px 0 12px 38px !important;
}

.fct-esign-manager .fct-esign-create-request-submit:disabled {
	cursor: not-allowed;
	opacity: .5;
}

@media (max-width: 760px) {
	.fct-esign-manager .fct-esign-signer-card-head {
		flex-wrap: wrap;
	}
	.fct-esign-manager .fct-esign-signer-card-actions {
		width: 100%;
		justify-content: flex-start;
		margin-left: 38px;
	}
	.fct-esign-manager .fct-esign-use-sender-help {
		margin-left: 0 !important;
	}
}

/* phase2im.237: NSFF-labeled signer slots are fulfilled by the NSFF sender automatically. */
.fct-esign-manager .fct-esign-auto-sender-signers {
	display: grid;
	gap: 8px;
}

.fct-esign-manager .fct-esign-auto-sender-signers[hidden] {
	display: none !important;
}

.fct-esign-manager .fct-esign-auto-sender-signer {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 11px 13px;
	border: 1px solid rgba(125, 211, 252, .2);
	border-radius: 11px;
	background: rgba(56, 189, 248, .055);
}

.fct-esign-manager .fct-esign-auto-sender-signer > div {
	display: flex;
	min-width: 0;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 5px 9px;
}

.fct-esign-manager .fct-esign-auto-sender-signer strong {
	color: var(--fct-esign-text);
	font-size: 12px;
	font-weight: 900;
}

.fct-esign-manager .fct-esign-auto-sender-signer span:not(.fct-esign-signer-number) {
	color: var(--fct-esign-muted);
	font-size: 11px;
}

.fct-esign-manager .fct-esign-sender-signing-status {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 15px;
	padding: 11px 13px;
	border: 1px solid rgba(52, 211, 153, .28);
	border-radius: 11px;
	background: rgba(16, 185, 129, .075);
}

.fct-esign-manager .fct-esign-sender-signing-status[hidden] {
	display: none !important;
}

.fct-esign-manager .fct-esign-sender-signing-status > .dashicons {
	flex: 0 0 auto;
	width: 19px;
	height: 19px;
	color: #86efac;
	font-size: 19px;
}

.fct-esign-manager .fct-esign-sender-signing-status > div {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: 2px;
}

.fct-esign-manager .fct-esign-sender-signing-status strong {
	color: var(--fct-esign-text);
	font-size: 11px;
	font-weight: 900;
}

.fct-esign-manager .fct-esign-sender-signing-status span:not(.dashicons) {
	color: var(--fct-esign-muted);
	font-size: 10px;
}


/* phase2im.238: template signer roles are created on demand instead of exposing phantom Signer 2-6 options. */
.fct-esign-template-signer-roles{margin:18px 0 22px;padding:18px;border:1px solid var(--fct-border,#34435a);border-radius:12px;background:rgba(9,18,31,.34)}
.fct-esign-template-signer-roles .fct-esign-setting-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:12px}
.fct-esign-template-signer-roles .fct-esign-setting-heading h4{margin:0 0 4px;font-size:16px}
.fct-esign-template-signer-roles .fct-esign-setting-heading p{margin:0;color:var(--fct-muted,#aebbd0);font-size:13px}
.fct-esign-template-signer-role-list{display:grid;gap:10px;margin-bottom:12px}
.fct-esign-template-signer-role-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto auto auto;gap:10px;align-items:end;padding:11px 12px;border:1px solid rgba(132,159,194,.28);border-radius:10px;background:rgba(8,16,28,.55)}
.fct-esign-template-signer-role-row .fct-esign-template-optional-choice{display:flex;align-items:center;gap:7px;align-self:center;text-transform:none;letter-spacing:normal;font-size:12px}
.fct-esign-template-signer-role-row .fct-esign-template-signer-optional{width:16px;height:16px;min-width:16px;margin:0;appearance:auto}
.fct-esign-template-signer-order{display:grid;place-items:center;width:30px;height:30px;margin-bottom:6px;border:1px solid rgba(108,183,232,.45);border-radius:9px;background:rgba(36,91,128,.23);font-weight:800;color:#d9efff}
.fct-esign-template-signer-role-row label{display:grid;gap:6px;margin:0;font-weight:700;text-transform:uppercase;letter-spacing:.045em;font-size:11px}
.fct-esign-template-signer-role-row input{width:100%;text-transform:none;letter-spacing:normal;font-size:14px;font-weight:600}
.fct-esign-template-signer-role-row .fct-esign-use-nsff-sender,.fct-esign-template-signer-role-row .fct-esign-remove-template-signer{margin-bottom:1px;white-space:nowrap}
.fct-esign-template-signer-role-help{margin:10px 0 0}
@media (max-width:900px){.fct-esign-template-signer-role-row{grid-template-columns:34px 1fr}.fct-esign-template-signer-role-row .fct-esign-use-nsff-sender,.fct-esign-template-signer-role-row .fct-esign-remove-template-signer,.fct-esign-template-signer-role-row .fct-esign-template-optional-choice{grid-column:2;justify-self:start}}

/* phase2im.239: package, standalone award/prize, and in-kind sponsorship arrangements. */
.fct-esign-manager .fct-esign-sponsor-package-controls,
.fct-esign-manager .fct-esign-sponsor-award-controls {
    margin-top:14px;
}
.fct-esign-manager .fct-esign-sponsor-package-controls[hidden],
.fct-esign-manager .fct-esign-sponsor-award-controls[hidden],
.fct-esign-manager .fct-esign-sponsor-award-custom-wrap[hidden] {
    display:none !important;
}
.fct-esign-manager .fct-esign-sponsor-arrangement-type {
    min-height:42px;
}
.fct-esign-manager .fct-esign-sponsor-package-kind.is-award {
    border-color:rgba(250,204,21,.28);
    background:rgba(250,204,21,.08);
    color:#f5dda0;
}

/* Phase 2IM.240: award/prize financial allocation composer. */
.fct-esign-manager .fct-esign-sponsor-award-financials {
    margin-top: 12px;
}
.fct-esign-manager .fct-esign-sponsor-award-financials .fct-esign-money-input.is-readonly input[readonly],
.fct-esign-manager .fct-esign-sponsor-restricted-use[readonly] {
    opacity: .88;
    cursor: default;
}
.fct-esign-manager .fct-esign-sponsor-restricted-use {
    min-height: 76px;
}


/* --- phase2im.247: multiline document font parity ---
   Keep Paragraph / List fields on the same Arial/Helvetica stack in the live
   signer layer so captured appearances match the template and final PDF. */
body .fct-esign-public-shell .fct-esign-public-field,
body .fct-esign-public-shell .fct-esign-public-field .fct-esign-doc-text,
body .fct-esign-public-shell .fct-esign-public-field textarea.fct-esign-inline-field-input {
	font-family: Arial, Helvetica, sans-serif !important;
}


/* phase2im.260: keep request-composer action buttons inside the panel on
   narrower laptops, browser zoom, and dashboard layouts with reduced content width. */
.fct-esign-manager .fct-esign-composer-actions {
	flex-wrap: wrap;
	min-width: 0;
}

.fct-esign-manager .fct-esign-composer-actions .fct-btn {
	max-width: 100%;
	min-width: 0;
	white-space: normal;
	text-align: center;
}

/* The front-end admin shell can leave the e-signature panel much narrower than
   the viewport. Give both actions a flexible basis before the phone breakpoint
   so neither button can push outside the card. */
@media (max-width: 1100px) {
	.fct-esign-manager .fct-esign-composer-actions .fct-btn {
		flex: 1 1 280px;
	}
}

@media (max-width: 700px) {
	.fct-esign-manager .fct-esign-composer-actions {
		flex-direction: column;
		align-items: stretch;
	}

	.fct-esign-manager .fct-esign-composer-actions .fct-btn {
		flex: 0 0 auto;
		width: 100%;
	}
}

/* phase2im.261: sponsor payment-instruction template in request composer. */
.fct-esign-manager .fct-esign-sponsor-payment-template-tools {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px 12px;
	margin: 0 0 12px;
	padding: 12px;
	border: 1px solid rgba(56, 189, 248, .22);
	border-radius: 10px;
	background: rgba(14, 165, 233, .06);
}

.fct-esign-manager .fct-esign-sponsor-payment-template-tools[hidden] {
	display: none !important;
}

.fct-esign-manager .fct-esign-insert-sponsor-payment-template {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	max-width: 100%;
	white-space: normal;
	text-align: left;
}

.fct-esign-manager .fct-esign-sponsor-payment-template-status {
	flex: 1 1 100%;
	min-height: 0;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.4;
}

.fct-esign-manager .fct-esign-sponsor-payment-template-status:empty {
	display: none;
}

.fct-esign-manager .fct-esign-sponsor-payment-template-status.is-success {
	color: #86efac;
}

.fct-esign-manager .fct-esign-sponsor-payment-template-status.is-error {
	color: #fca5a5;
}

@media (max-width: 700px) {
	.fct-esign-manager .fct-esign-insert-sponsor-payment-template {
		width: 100%;
		justify-content: center;
		text-align: center;
	}
}

/* phase2im.263: safe PDF replacement controls for completed templates. */
.fct-esign-manager .fct-esign-pdf-replace-options {
	margin: 12px 0 8px;
	padding: 14px;
	border: 1px solid rgba(148, 163, 184, .28);
	border-radius: 12px;
	background: rgba(15, 23, 42, .34);
}

.fct-esign-manager .fct-esign-pdf-replace-options legend {
	padding: 0 6px;
	font-weight: 800;
}

.fct-esign-manager .fct-esign-pdf-replace-choice {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 10px;
	align-items: start;
	margin: 8px 0;
	padding: 11px 12px;
	border: 1px solid rgba(148, 163, 184, .22);
	border-radius: 10px;
	background: rgba(2, 6, 23, .22);
	cursor: pointer;
}

.fct-esign-manager .fct-esign-pdf-replace-choice.is-recommended {
	border-color: rgba(56, 189, 248, .34);
	background: rgba(14, 165, 233, .07);
}

.fct-esign-manager .fct-esign-pdf-replace-choice input {
	margin-top: 3px;
}

.fct-esign-manager .fct-esign-pdf-replace-choice span {
	display: grid;
	gap: 3px;
}

.fct-esign-manager .fct-esign-pdf-replace-choice strong {
	font-size: 13px;
}

.fct-esign-manager .fct-esign-pdf-replace-choice small {
	font-size: 12px;
	line-height: 1.45;
	color: var(--fct-muted, #aebbd0);
}

.fct-esign-manager .fct-esign-field-page-warning {
	margin: 0 0 14px;
	padding: 11px 13px;
	border: 1px solid rgba(245, 158, 11, .42);
	border-radius: 10px;
	background: rgba(245, 158, 11, .10);
	color: #fde68a;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.45;
}

.fct-esign-manager .fct-esign-field-page-warning[hidden] {
	display: none !important;
}

/* phase2im.264: season-aware sponsor award availability. */
.fct-esign-sponsor-award-availability {
    display: block;
    margin-top: 7px;
    font-weight: 700;
}
.fct-esign-sponsor-award-availability.is-available {
    color: #78c9aa;
}
.fct-esign-sponsor-award-availability.is-unavailable {
    color: #ffb4b4;
}

/* Searchable linked-record picker ---------------------------------------- */
.fct-esign-manager .fct-esign-linked-record-search-block {
	display: grid;
	gap: 5px;
	margin: 0 0 10px;
}

.fct-esign-manager .fct-esign-linked-record-search-block label {
	display: block;
	margin: 0;
}

.fct-esign-manager .fct-esign-linked-record-search {
	width: 100%;
	margin-top: 5px;
}

.fct-esign-manager .fct-esign-linked-record-search-status {
	display: block;
	min-height: 17px;
	margin-top: 1px;
}

.fct-esign-manager .fct-esign-linked-record-panel > p {
	margin-top: 8px;
}

/* phase2im.274: compact linked-record picker + directory modal. */
.fct-esign-manager .fct-esign-linked-record-panel.has-directory-picker .fct-esign-native-record-search-wrap {
	display: none !important;
}
.fct-esign-manager .fct-esign-linked-record-panel.has-directory-picker .fct-esign-native-record-select-wrap {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
}
.fct-esign-manager .fct-esign-linked-record-picker {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-width: 0;
	padding: 14px 16px;
	border: 1px solid rgba(166, 197, 231, .22);
	border-radius: 12px;
	background: rgba(8, 15, 26, .72);
}
.fct-esign-manager .fct-esign-linked-record-picker-copy {
	display: grid;
	gap: 3px;
	min-width: 0;
}
.fct-esign-manager .fct-esign-linked-record-picker-kicker {
	color: #8ec5f4;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
}
.fct-esign-manager .fct-esign-linked-record-picker-title {
	min-width: 0;
	color: #f8fbff;
	font-size: 15px;
	line-height: 1.35;
	overflow-wrap: anywhere;
}
.fct-esign-manager .fct-esign-linked-record-picker-meta {
	min-width: 0;
	color: #a9b7c9;
	font-size: 12px;
	line-height: 1.4;
	overflow-wrap: anywhere;
}
.fct-esign-manager .fct-esign-open-linked-directory {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	min-height: 40px;
	white-space: nowrap;
}
.fct-esign-manager .fct-esign-open-linked-directory .dashicons {
	width: 17px;
	height: 17px;
	font-size: 17px;
}
html.fct-esign-directory-open {
	overflow: hidden;
}
.fct-esign-linked-directory-modal[hidden] {
	display: none !important;
}
.fct-esign-linked-directory-modal {
	position: fixed;
	inset: 0;
	z-index: 1000000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	background: rgba(2, 7, 15, .82);
	backdrop-filter: blur(4px);
}
.fct-esign-linked-directory-dialog {
	display: flex;
	flex-direction: column;
	width: min(860px, 100%);
	max-height: min(760px, calc(100vh - 48px));
	overflow: hidden;
	border: 1px solid rgba(166, 197, 231, .25);
	border-radius: 16px;
	background: #0d1522;
	box-shadow: 0 22px 70px rgba(0, 0, 0, .42);
	color: #f8fbff;
}
.fct-esign-linked-directory-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	padding: 20px 22px 16px;
	border-bottom: 1px solid rgba(166, 197, 231, .18);
}
.fct-esign-linked-directory-head h3 {
	margin: 5px 0 3px;
	color: #f8fbff;
	font-size: 22px;
	line-height: 1.2;
}
.fct-esign-linked-directory-head p {
	margin: 0;
	color: #a9b7c9;
	font-size: 13px;
}
.fct-esign-linked-directory-close {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 1px solid rgba(166, 197, 231, .22);
	border-radius: 10px;
	background: rgba(255, 255, 255, .03);
	color: #dbeafe;
	cursor: pointer;
}
.fct-esign-linked-directory-close:hover,
.fct-esign-linked-directory-close:focus-visible {
	background: rgba(142, 197, 244, .12);
	border-color: rgba(142, 197, 244, .55);
	outline: none;
}
.fct-esign-linked-directory-search-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
	gap: 14px;
	padding: 16px 22px;
	border-bottom: 1px solid rgba(166, 197, 231, .14);
	background: rgba(7, 13, 23, .7);
}
.fct-esign-linked-directory-search-row label {
	display: grid;
	gap: 6px;
	margin: 0;
	color: #bcd2e8;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
}
.fct-esign-linked-directory-search {
	width: 100%;
	min-height: 44px;
	margin: 0 !important;
	padding: 10px 13px !important;
	border: 1px solid rgba(166, 197, 231, .28) !important;
	border-radius: 10px !important;
	background: #080f19 !important;
	color: #f8fbff !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}
.fct-esign-linked-directory-search:focus {
	border-color: #8ec5f4 !important;
	box-shadow: 0 0 0 2px rgba(142, 197, 244, .15) !important;
	outline: none !important;
}
.fct-esign-linked-directory-count {
	padding-bottom: 11px;
	color: #91a7bd;
	font-size: 12px;
	white-space: nowrap;
}
.fct-esign-linked-directory-results {
	flex: 1 1 auto;
	min-height: 180px;
	overflow: auto;
	padding: 8px 12px;
}
.fct-esign-linked-directory-record {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding: 12px 10px;
	border-bottom: 1px solid rgba(166, 197, 231, .12);
}
.fct-esign-linked-directory-record:last-child {
	border-bottom: 0;
}
.fct-esign-linked-directory-record.is-selected {
	background: rgba(142, 197, 244, .08);
	border-radius: 9px;
}
.fct-esign-linked-directory-record-copy {
	display: grid;
	gap: 3px;
	min-width: 0;
}
.fct-esign-linked-directory-record-copy strong {
	color: #f8fbff;
	font-size: 14px;
	line-height: 1.35;
	overflow-wrap: anywhere;
}
.fct-esign-linked-directory-record-copy span {
	color: #9fb0c2;
	font-size: 12px;
	line-height: 1.4;
	overflow-wrap: anywhere;
}
.fct-esign-linked-directory-select {
	flex: 0 0 auto;
	min-width: 86px;
	min-height: 38px;
}
.fct-esign-linked-directory-select.is-selected {
	border-color: rgba(120, 201, 170, .5) !important;
	background: rgba(120, 201, 170, .12) !important;
	color: #a7f3d0 !important;
}
.fct-esign-linked-directory-empty {
	display: grid;
	gap: 5px;
	place-items: center;
	padding: 54px 20px;
	text-align: center;
}
.fct-esign-linked-directory-empty strong {
	color: #f8fbff;
	font-size: 16px;
}
.fct-esign-linked-directory-empty span {
	color: #91a7bd;
	font-size: 13px;
}
.fct-esign-linked-directory-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 14px 22px;
	border-top: 1px solid rgba(166, 197, 231, .18);
	background: rgba(7, 13, 23, .82);
}
.fct-esign-linked-directory-footer-status {
	color: #a9b7c9;
	font-size: 12px;
	font-weight: 700;
}
@media (max-width: 700px) {
	.fct-esign-manager .fct-esign-linked-record-picker {
		align-items: stretch;
		flex-direction: column;
	}
	.fct-esign-manager .fct-esign-open-linked-directory {
		width: 100%;
	}
	.fct-esign-linked-directory-modal {
		align-items: stretch;
		padding: 12px;
	}
	.fct-esign-linked-directory-dialog {
		max-height: calc(100vh - 24px);
	}
	.fct-esign-linked-directory-head {
		padding: 16px;
	}
	.fct-esign-linked-directory-search-row {
		grid-template-columns: 1fr;
		gap: 5px;
		padding: 14px 16px;
	}
	.fct-esign-linked-directory-count {
		padding-bottom: 0;
	}
	.fct-esign-linked-directory-results {
		padding: 6px 8px;
	}
	.fct-esign-linked-directory-record {
		align-items: stretch;
		flex-direction: column;
	}
	.fct-esign-linked-directory-select {
		width: 100%;
	}
	.fct-esign-linked-directory-footer {
		padding: 12px 16px;
	}
}

/* phase2im.275: bulk signature directory multi-select controls. */
.fct-esign-linked-directory-bulk-tools {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 12px 22px;
	border-bottom: 1px solid rgba(166, 197, 231, .14);
	background: rgba(142, 197, 244, .055);
}
.fct-esign-linked-directory-bulk-tools[hidden] {
	display: none !important;
}
.fct-esign-linked-directory-bulk-copy {
	display: grid;
	gap: 2px;
	min-width: 0;
}
.fct-esign-linked-directory-bulk-copy strong {
	color: #f8fbff;
	font-size: 13px;
}
.fct-esign-linked-directory-bulk-copy span {
	color: #9fb0c2;
	font-size: 12px;
	line-height: 1.4;
}
.fct-esign-linked-directory-bulk-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
	flex: 0 0 auto;
}
.fct-esign-linked-directory-choice {
	display: grid;
	grid-template-columns: 22px minmax(0, 1fr) auto;
	align-items: center;
	gap: 12px;
	width: 100%;
	margin: 0;
	cursor: pointer;
}
.fct-esign-linked-directory-choice input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}
.fct-esign-linked-directory-checkmark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	border: 1px solid rgba(166, 197, 231, .42);
	border-radius: 5px;
	background: #080f19;
	box-sizing: border-box;
}
.fct-esign-linked-directory-choice input:checked + .fct-esign-linked-directory-checkmark {
	border-color: #8ec5f4;
	background: rgba(142, 197, 244, .18);
}
.fct-esign-linked-directory-choice input:checked + .fct-esign-linked-directory-checkmark::after {
	content: "✓";
	color: #dbeafe;
	font-size: 14px;
	font-weight: 900;
	line-height: 1;
}
.fct-esign-linked-directory-choice input:focus-visible + .fct-esign-linked-directory-checkmark {
	outline: 2px solid #8ec5f4;
	outline-offset: 2px;
}
.fct-esign-linked-directory-record.is-disabled .fct-esign-linked-directory-choice {
	cursor: not-allowed;
	opacity: .58;
}
.fct-esign-linked-directory-choice-note {
	color: #91a7bd;
	font-size: 11px;
	font-weight: 700;
	white-space: nowrap;
}
.fct-esign-linked-directory-record.is-selected .fct-esign-linked-directory-choice-note {
	color: #a7f3d0;
}
.fct-esign-manager .fct-esign-bulk-recipient-status {
	margin: 12px 0 14px;
}
@media (max-width: 700px) {
	.fct-esign-linked-directory-bulk-tools {
		align-items: stretch;
		flex-direction: column;
		padding: 12px 16px;
	}
	.fct-esign-linked-directory-bulk-actions {
		justify-content: stretch;
		flex-wrap: wrap;
	}
	.fct-esign-linked-directory-bulk-actions .button {
		flex: 1 1 160px;
	}
	.fct-esign-linked-directory-choice {
		grid-template-columns: 22px minmax(0, 1fr);
	}
	.fct-esign-linked-directory-choice-note {
		grid-column: 2;
		white-space: normal;
	}
}


/* phase2im.276: reliable bulk selection + queued new volunteer entry. */
.fct-esign-linked-directory-new-volunteers { display:grid; gap:16px; padding:20px 22px 24px; background:#0b1421; }
.fct-esign-linked-directory-new-volunteers[hidden], .fct-esign-linked-directory-search-row[hidden], .fct-esign-linked-directory-results[hidden] { display:none !important; }
.fct-esign-linked-directory-new-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.fct-esign-linked-directory-new-head > div { display:grid; gap:4px; min-width:0; }
.fct-esign-linked-directory-new-head strong { color:#f8fbff; font-size:15px; }
.fct-esign-linked-directory-new-head span, .fct-esign-linked-directory-new-help span { color:#9fb0c2; font-size:12px; line-height:1.45; }
.fct-esign-linked-directory-new-field { display:grid; gap:7px; color:#9fcdf4; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.035em; }
.fct-esign-linked-directory-new-input { width:100%; min-height:190px; resize:vertical; box-sizing:border-box; border:1px solid rgba(166,197,231,.28); border-radius:10px; background:#070d16; color:#f8fbff; padding:12px 14px; font:inherit; font-size:14px; line-height:1.5; }
.fct-esign-linked-directory-new-input:focus { outline:2px solid rgba(142,197,244,.38); outline-offset:1px; border-color:#8ec5f4; }
.fct-esign-linked-directory-new-help { display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; }
.fct-esign-linked-directory-new-status { color:#dbeafe; font-size:12px; }
.fct-esign-linked-directory-add-new { white-space:nowrap; }
@media (max-width:700px) { .fct-esign-linked-directory-new-volunteers { padding:16px; } .fct-esign-linked-directory-new-head { flex-direction:column; } .fct-esign-linked-directory-new-head .button { width:100%; } }

/* phase2im.277: clearer bulk linked-recipient controls */
.fct-esign-manager .fct-esign-linked-record-picker-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
	flex-wrap: wrap;
	flex: 0 0 auto;
}
.fct-esign-manager .fct-esign-open-new-volunteers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	min-height: 40px;
	white-space: nowrap;
}
.fct-esign-manager .fct-esign-open-new-volunteers[hidden] {
	display: none !important;
}
.fct-esign-manager .fct-esign-open-new-volunteers .dashicons {
	width: 17px;
	height: 17px;
	font-size: 17px;
}
@media (max-width: 760px) {
	.fct-esign-manager .fct-esign-linked-record-picker-actions {
		width: 100%;
		justify-content: stretch;
	}
	.fct-esign-manager .fct-esign-linked-record-picker-actions .button {
		flex: 1 1 100%;
		width: 100%;
	}
}

/* phase2im.278: make single vs bulk sending an explicit top-level choice. */
.fct-esign-manager .fct-esign-send-mode-switch {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin: 0 0 14px;
}
.fct-esign-manager .fct-esign-send-mode-button {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 11px;
	min-height: 66px;
	padding: 12px 15px;
	border: 1px solid rgba(166, 197, 231, .24);
	border-radius: 12px;
	background: #0b1421;
	color: #d9e5f2;
	text-align: left;
	white-space: normal;
}
.fct-esign-manager .fct-esign-send-mode-button:hover,
.fct-esign-manager .fct-esign-send-mode-button:focus-visible {
	border-color: rgba(142, 197, 244, .62);
	background: #101d2c;
	color: #f8fbff;
}
.fct-esign-manager .fct-esign-send-mode-button.is-active {
	border-color: #8ec5f4;
	background: #13243a;
	box-shadow: inset 0 0 0 1px rgba(142, 197, 244, .14);
	color: #fff;
}
.fct-esign-manager .fct-esign-send-mode-button > .dashicons {
	flex: 0 0 auto;
	width: 22px;
	height: 22px;
	font-size: 22px;
	color: #9fcdf4;
}
.fct-esign-manager .fct-esign-send-mode-button > span:last-child {
	display: grid;
	gap: 3px;
	min-width: 0;
}
.fct-esign-manager .fct-esign-send-mode-button strong {
	font-size: 14px;
	line-height: 1.2;
}
.fct-esign-manager .fct-esign-send-mode-button small {
	color: #9fb0c2;
	font-size: 11px;
	font-weight: 500;
	line-height: 1.35;
}
.fct-esign-manager [data-send-panel][hidden] {
	display: none !important;
}
.fct-esign-manager .fct-esign-bulk-send-panel {
	padding: 0;
	overflow: hidden;
}
.fct-esign-manager .fct-esign-bulk-send-intro {
	padding: 20px 24px 16px;
	border-bottom: 1px solid rgba(166, 197, 231, .16);
}
.fct-esign-manager .fct-esign-bulk-send-intro h3 {
	margin: 4px 0 4px;
	font-size: 20px;
	color: #f8fbff;
}
.fct-esign-manager .fct-esign-bulk-send-intro p {
	margin: 0;
	color: #aab9ca;
	font-size: 12px;
}
.fct-esign-manager .fct-esign-bulk-send-panel > form {
	padding: 20px 24px 24px;
}
.fct-esign-manager .fct-esign-bulk-send-panel .fct-esign-linked-record-picker {
	margin-top: 12px;
}
.fct-esign-manager .fct-esign-bulk-multisigner-note:not([hidden]) {
	display: block;
	margin: 10px 0 0;
	padding: 10px 12px;
	border: 1px solid rgba(142, 197, 244, .22);
	border-radius: 8px;
	background: rgba(142, 197, 244, .06);
	color: #b9cbe0;
}
@media (max-width: 700px) {
	.fct-esign-manager .fct-esign-send-mode-switch {
		grid-template-columns: 1fr;
	}
	.fct-esign-manager .fct-esign-bulk-send-intro,
	.fct-esign-manager .fct-esign-bulk-send-panel > form {
		padding-left: 16px;
		padding-right: 16px;
	}
}

/* phase2im.279: polish the integrated bulk-send workflow and multi-select directory. */
.fct-esign-manager .fct-esign-bulk-send-panel > form {
	display: grid;
	gap: 16px;
	padding: 18px 22px 22px;
}

.fct-esign-manager .fct-esign-bulk-block {
	display: grid;
	gap: 16px;
	min-width: 0;
	padding: 18px;
	border: 1px solid rgba(166, 197, 231, .17);
	border-radius: 13px;
	background: rgba(5, 11, 19, .34);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .018);
}

.fct-esign-manager .fct-esign-bulk-block-head {
	display: grid;
	grid-template-columns: 30px minmax(0, 1fr);
	align-items: start;
	gap: 11px;
}

.fct-esign-manager .fct-esign-bulk-block-step {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border: 1px solid rgba(125, 211, 252, .30);
	border-radius: 9px;
	background: rgba(96, 165, 250, .09);
	color: #d7ecfb;
	font-size: 12px;
	font-weight: 900;
	line-height: 1;
}

.fct-esign-manager .fct-esign-bulk-block-head > div {
	display: grid;
	gap: 3px;
	min-width: 0;
}

.fct-esign-manager .fct-esign-bulk-block-head strong {
	color: #f8fbff;
	font-size: 15px;
	line-height: 1.25;
}

.fct-esign-manager .fct-esign-bulk-block-head small {
	color: #9fb0c2;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.45;
}

.fct-esign-manager .fct-esign-bulk-send-panel .fct-esign-composer-grid {
	gap: 12px;
}

.fct-esign-manager .fct-esign-bulk-send-panel .fct-esign-document-block .fct-esign-field-wide,
.fct-esign-manager .fct-esign-bulk-document-block .fct-esign-field-wide {
	grid-column: 1 / -1;
}

/* The recipient count already lives in the picker; avoid showing it twice. */
.fct-esign-manager .fct-esign-bulk-send-panel .fct-esign-bulk-recipient-status {
	display: none !important;
}

.fct-esign-manager .fct-esign-bulk-recipient-block .fct-esign-linked-record-panel {
	display: grid;
	gap: 12px;
	min-width: 0;
	padding: 14px;
	border: 1px solid rgba(166, 197, 231, .14);
	border-radius: 11px;
	background: rgba(8, 15, 26, .48);
}

.fct-esign-manager .fct-esign-bulk-recipient-block .fct-esign-linked-record-panel[hidden] {
	display: none !important;
}

.fct-esign-manager .fct-esign-bulk-recipient-block .fct-esign-linked-record-panel > .fct-esign-linked-record-status {
	margin: 0;
	padding: 0 2px 10px;
	border: 0;
	border-bottom: 1px solid rgba(166, 197, 231, .12);
	border-radius: 0;
	background: transparent;
}

.fct-esign-manager .fct-esign-bulk-recipient-block .fct-esign-linked-record-picker {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	align-items: start;
	gap: 13px;
	margin: 0;
	padding: 16px;
	border-color: rgba(142, 197, 244, .24);
	background: rgba(12, 25, 40, .72);
}

.fct-esign-manager .fct-esign-bulk-recipient-block .fct-esign-linked-record-picker-copy {
	gap: 5px;
}

.fct-esign-manager .fct-esign-bulk-recipient-block .fct-esign-linked-record-picker-title {
	font-size: 18px;
	line-height: 1.25;
}

.fct-esign-manager .fct-esign-bulk-recipient-block .fct-esign-linked-record-picker-meta {
	max-width: 760px;
	font-size: 12px;
	line-height: 1.5;
}

.fct-esign-manager .fct-esign-bulk-recipient-block .fct-esign-linked-record-picker-actions {
	justify-content: flex-start;
	width: 100%;
	gap: 8px;
}

.fct-esign-manager .fct-esign-bulk-recipient-block .fct-esign-linked-record-picker-actions .button {
	flex: 0 1 auto;
	min-width: 0;
	max-width: 100%;
	white-space: normal;
	text-align: center;
}

.fct-esign-manager .fct-esign-bulk-recipient-help {
	margin: 0 !important;
	padding: 0 2px;
	line-height: 1.5;
}

.fct-esign-manager .fct-esign-bulk-send-panel .fct-esign-manual-recipient-panel {
	margin: 0;
}

.fct-esign-manager .fct-esign-bulk-send-panel .fct-esign-manual-recipient-panel p {
	margin: 0;
}

.fct-esign-manager .fct-esign-bulk-message-block > p,
.fct-esign-manager .fct-esign-bulk-message-block textarea {
	margin: 0;
}

.fct-esign-manager .fct-esign-bulk-send-email {
	margin-top: 2px;
}

.fct-esign-manager .fct-esign-bulk-actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-width: 0;
	padding: 16px 18px;
	border: 1px solid rgba(142, 197, 244, .20);
	border-radius: 13px;
	background: rgba(19, 36, 58, .54);
}

.fct-esign-manager .fct-esign-bulk-actions > div {
	display: grid;
	gap: 3px;
	min-width: 0;
}

.fct-esign-manager .fct-esign-bulk-action-title {
	color: #f8fbff;
	font-size: 13px;
}

.fct-esign-manager .fct-esign-bulk-actions span {
	color: #9fb0c2;
	font-size: 11px;
	line-height: 1.4;
}

.fct-esign-manager .fct-esign-bulk-actions .fct-esign-bulk-submit {
	flex: 0 0 auto;
	min-height: 42px;
	max-width: 100%;
	white-space: normal;
	text-align: center;
}

/* Directory modal: clearer hierarchy, roomy records, persistent selection state. */
.fct-esign-linked-directory-dialog {
	width: min(920px, 100%);
	border-color: rgba(166, 197, 231, .28);
	background: #0b1421;
}

.fct-esign-linked-directory-head {
	align-items: center;
	padding: 18px 20px;
	background: #101c2d;
}

.fct-esign-linked-directory-head-copy {
	display: grid;
	gap: 2px;
	min-width: 0;
}

.fct-esign-linked-directory-head-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
	flex: 0 0 auto;
}

.fct-esign-linked-directory-selection-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 30px;
	padding: 5px 10px;
	border: 1px solid rgba(166, 197, 231, .22);
	border-radius: 999px;
	background: rgba(8, 15, 26, .55);
	color: #b8c9da;
	font-size: 11px;
	font-weight: 800;
	white-space: nowrap;
}

.fct-esign-linked-directory-selection-badge[hidden] {
	display: none !important;
}

.fct-esign-linked-directory-selection-badge.has-selection {
	border-color: rgba(120, 201, 170, .40);
	background: rgba(120, 201, 170, .10);
	color: #a7f3d0;
}

.fct-esign-linked-directory-search-row {
	padding: 14px 20px;
	background: #0a121e;
}

.fct-esign-linked-directory-count {
	align-self: center;
	padding: 6px 9px;
	border: 1px solid rgba(166, 197, 231, .15);
	border-radius: 999px;
	background: rgba(255, 255, 255, .025);
	font-weight: 700;
}

.fct-esign-linked-directory-bulk-tools {
	align-items: center;
	padding: 12px 20px;
	background: rgba(142, 197, 244, .045);
}

.fct-esign-linked-directory-bulk-actions {
	flex-wrap: wrap;
}

.fct-esign-linked-directory-bulk-actions .button {
	min-height: 36px;
	white-space: normal;
}

.fct-esign-linked-directory-add-new,
.fct-esign-linked-directory-back {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 6px;
}

.fct-esign-linked-directory-add-new[hidden] {
	display: none !important;
}

.fct-esign-linked-directory-add-new .dashicons,
.fct-esign-linked-directory-back .dashicons {
	width: 16px;
	height: 16px;
	font-size: 16px;
}

.fct-esign-linked-directory-results {
	padding: 10px 12px 12px;
	background: #09111c;
}

.fct-esign-linked-directory-record {
	margin: 0 0 7px;
	padding: 12px 13px;
	border: 1px solid rgba(166, 197, 231, .12);
	border-radius: 10px;
	background: rgba(13, 25, 40, .68);
}

.fct-esign-linked-directory-record:last-child {
	margin-bottom: 0;
	border-bottom: 1px solid rgba(166, 197, 231, .12);
}

.fct-esign-linked-directory-record:hover {
	border-color: rgba(142, 197, 244, .28);
	background: rgba(18, 35, 55, .78);
}

.fct-esign-linked-directory-record.is-selected {
	border-color: rgba(120, 201, 170, .34);
	background: rgba(120, 201, 170, .075);
}

.fct-esign-linked-directory-choice {
	grid-template-columns: 22px minmax(0, 1fr) minmax(92px, auto);
	gap: 13px;
}

.fct-esign-linked-directory-record-copy strong {
	font-size: 14px;
}

.fct-esign-linked-directory-record-copy span {
	margin-top: 1px;
	font-size: 12px;
}

.fct-esign-linked-directory-choice-note {
	padding: 4px 8px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .025);
	text-align: center;
}

.fct-esign-linked-directory-record.is-selected .fct-esign-linked-directory-choice-note {
	background: rgba(120, 201, 170, .09);
}

.fct-esign-linked-directory-new-volunteers {
	padding: 18px 20px 22px;
	background: #09111c;
}

.fct-esign-linked-directory-new-head {
	padding-bottom: 14px;
	border-bottom: 1px solid rgba(166, 197, 231, .12);
}

.fct-esign-linked-directory-new-input {
	min-height: 220px;
}

.fct-esign-linked-directory-footer {
	position: relative;
	padding: 13px 20px;
	background: #101c2d;
	box-shadow: 0 -10px 24px rgba(2, 7, 15, .16);
}

.fct-esign-linked-directory-footer-status {
	min-width: 0;
	line-height: 1.4;
}

.fct-esign-linked-directory-footer-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
	flex: 0 0 auto;
}

.fct-esign-linked-directory-footer-actions .button {
	min-height: 38px;
}

@media (max-width: 820px) {
	.fct-esign-manager .fct-esign-bulk-send-panel .fct-esign-composer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.fct-esign-manager .fct-esign-bulk-send-panel .fct-esign-composer-grid > p:last-child:nth-child(3) {
		grid-column: 1 / -1;
	}

	.fct-esign-manager .fct-esign-bulk-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.fct-esign-manager .fct-esign-bulk-actions .fct-esign-bulk-submit {
		width: 100%;
	}

	.fct-esign-linked-directory-head {
		align-items: flex-start;
	}

	.fct-esign-linked-directory-bulk-tools {
		align-items: stretch;
		flex-direction: column;
	}

	.fct-esign-linked-directory-bulk-actions {
		justify-content: flex-start;
	}
}

@media (max-width: 700px) {
	.fct-esign-manager .fct-esign-bulk-send-panel > form {
		gap: 12px;
		padding: 14px;
	}

	.fct-esign-manager .fct-esign-bulk-block {
		gap: 14px;
		padding: 14px;
	}

	.fct-esign-manager .fct-esign-bulk-send-panel .fct-esign-composer-grid {
		grid-template-columns: 1fr;
	}

	.fct-esign-manager .fct-esign-bulk-send-panel .fct-esign-composer-grid > p,
	.fct-esign-manager .fct-esign-bulk-send-panel .fct-esign-composer-grid .fct-esign-field-wide {
		grid-column: 1 / -1;
	}

	.fct-esign-manager .fct-esign-bulk-recipient-block .fct-esign-linked-record-picker-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.fct-esign-manager .fct-esign-bulk-recipient-block .fct-esign-linked-record-picker-actions .button {
		width: 100%;
	}

	.fct-esign-linked-directory-head {
		padding: 15px;
	}

	.fct-esign-linked-directory-head-actions {
		gap: 7px;
	}

	.fct-esign-linked-directory-selection-badge {
		padding-left: 8px;
		padding-right: 8px;
	}

	.fct-esign-linked-directory-search-row,
	.fct-esign-linked-directory-bulk-tools,
	.fct-esign-linked-directory-new-volunteers {
		padding-left: 14px;
		padding-right: 14px;
	}

	.fct-esign-linked-directory-bulk-actions .button {
		flex: 1 1 140px;
	}

	.fct-esign-linked-directory-choice {
		grid-template-columns: 22px minmax(0, 1fr);
	}

	.fct-esign-linked-directory-choice-note {
		grid-column: 2;
		justify-self: start;
	}

	.fct-esign-linked-directory-footer {
		align-items: stretch;
		flex-direction: column;
		padding: 12px 14px;
	}

	.fct-esign-linked-directory-footer-actions {
		width: 100%;
	}

	.fct-esign-linked-directory-footer-actions .button {
		flex: 1 1 0;
	}
}

/* Small finishing touches for the phase2im.279 send-mode header. */
.fct-esign-manager .fct-esign-send-mode-button {
	height: auto;
	overflow: visible;
}
.fct-esign-manager .fct-esign-send-mode-button small {
	display: block;
	white-space: normal;
	overflow-wrap: anywhere;
}
.fct-esign-manager .fct-esign-bulk-send-intro h3 {
	font-family: inherit;
	font-weight: 800;
	letter-spacing: 0;
}

/* phase2im.288 system linked agreement template */
.fct-esign-system-template-badge {
    display: inline-flex;
    align-items: center;
    margin-left: 6px;
    padding: 2px 7px;
    border: 1px solid rgba(96, 165, 250, 0.38);
    border-radius: 999px;
    background: rgba(59, 130, 246, 0.12);
    color: #93c5fd;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    vertical-align: middle;
}

/* =========================================================
   phase2im.291 streamlined profile agreement embed
   ========================================================= */
html:has(> body.fct-esign-profile-agreement-embed-body) {
	background: #07101d !important;
}

:is(body.fct-esign-profile-agreement-embed-body, .fct-directory-agreement-inline) {
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	background: #07101d !important;
	overflow: auto !important;
}

:is(body.fct-esign-profile-agreement-embed-body, .fct-directory-agreement-inline) #wpadminbar,
:is(body.fct-esign-profile-agreement-embed-body, .fct-directory-agreement-inline) .site-header,
:is(body.fct-esign-profile-agreement-embed-body, .fct-directory-agreement-inline) .site-footer {
	display: none !important;
}

:is(body.fct-esign-profile-agreement-embed-body, .fct-directory-agreement-inline) .fct-esign-profile-agreement-embed,
:is(body.fct-esign-profile-agreement-embed-body, .fct-directory-agreement-inline) .fct-esign-public-shell,
:is(body.fct-esign-profile-agreement-embed-body, .fct-directory-agreement-inline) .fct-esign-public-shell.fct-wrapper {
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

:is(body.fct-esign-profile-agreement-embed-body, .fct-directory-agreement-inline) .fct-esign-public-card {
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 14px !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	background: #07101d !important;
}

:is(body.fct-esign-profile-agreement-embed-body, .fct-directory-agreement-inline) .fct-esign-public-hero,
:is(body.fct-esign-profile-agreement-embed-body, .fct-directory-agreement-inline) .fct-esign-stepper,
:is(body.fct-esign-profile-agreement-embed-body, .fct-directory-agreement-inline) .fct-esign-step-label,
:is(body.fct-esign-profile-agreement-embed-body, .fct-directory-agreement-inline) .fct-esign-step-chip,
:is(body.fct-esign-profile-agreement-embed-body, .fct-directory-agreement-inline) .fct-esign-adopt-status,
:is(body.fct-esign-profile-agreement-embed-body, .fct-directory-agreement-inline) .fct-esign-adopt-action-status,
:is(body.fct-esign-profile-agreement-embed-body, .fct-directory-agreement-inline) .fct-esign-signing-toolbar,
:is(body.fct-esign-profile-agreement-embed-body, .fct-directory-agreement-inline) .fct-esign-profile-hidden-preview {
	display: none !important;
}

:is(body.fct-esign-profile-agreement-embed-body, .fct-directory-agreement-inline) .fct-esign-profile-agreement-form {
	display: grid;
	gap: 14px;
}

:is(body.fct-esign-profile-agreement-embed-body, .fct-directory-agreement-inline) .fct-esign-step-card,
:is(body.fct-esign-profile-agreement-embed-body, .fct-directory-agreement-inline) .fct-esign-adopt-panel,
:is(body.fct-esign-profile-agreement-embed-body, .fct-directory-agreement-inline) .fct-esign-document-wrap,
:is(body.fct-esign-profile-agreement-embed-body, .fct-directory-agreement-inline) .fct-esign-submit-bar {
	margin: 0 !important;
	border-radius: 12px !important;
	box-shadow: none !important;
}

:is(body.fct-esign-profile-agreement-embed-body, .fct-directory-agreement-inline) .fct-esign-step-card-head,
:is(body.fct-esign-profile-agreement-embed-body, .fct-directory-agreement-inline) .fct-esign-adopt-head {
	margin-bottom: 10px !important;
}

:is(body.fct-esign-profile-agreement-embed-body, .fct-directory-agreement-inline) .fct-esign-step-card-head h2,
:is(body.fct-esign-profile-agreement-embed-body, .fct-directory-agreement-inline) .fct-esign-adopt-head h2,
:is(body.fct-esign-profile-agreement-embed-body, .fct-directory-agreement-inline) .fct-esign-document-head h2 {
	font-size: 19px !important;
	line-height: 1.25 !important;
}

:is(body.fct-esign-profile-agreement-embed-body, .fct-directory-agreement-inline) .fct-esign-consent-copy p,
:is(body.fct-esign-profile-agreement-embed-body, .fct-directory-agreement-inline) .fct-esign-adopt-head p {
	margin-top: 0 !important;
	color: #b9c9dc !important;
}

:is(body.fct-esign-profile-agreement-embed-body, .fct-directory-agreement-inline) .fct-esign-profile-signing-as {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 6px 9px;
	margin: 2px 0 12px;
	padding: 10px 12px;
	border: 1px solid rgba(142,216,255,.18);
	border-radius: 10px;
	background: rgba(142,216,255,.05);
}

:is(body.fct-esign-profile-agreement-embed-body, .fct-directory-agreement-inline) .fct-esign-profile-signing-as span,
:is(body.fct-esign-profile-agreement-embed-body, .fct-directory-agreement-inline) .fct-esign-profile-signing-as small {
	color: #9fb2c8;
}

:is(body.fct-esign-profile-agreement-embed-body, .fct-directory-agreement-inline) .fct-esign-profile-signing-as strong {
	color: #fff;
}

:is(body.fct-esign-profile-agreement-embed-body, .fct-directory-agreement-inline) .fct-esign-profile-signing-as small {
	width: 100%;
}

:is(body.fct-esign-profile-agreement-embed-body, .fct-directory-agreement-inline) .fct-esign-preview {
	grid-template-columns: 1fr !important;
}

:is(body.fct-esign-profile-agreement-embed-body, .fct-directory-agreement-inline) .fct-esign-document-head {
	padding-bottom: 10px !important;
}

:is(body.fct-esign-profile-agreement-embed-body, .fct-directory-agreement-inline) .fct-esign-document-wrap {
	background: #0a1422 !important;
}

:is(body.fct-esign-profile-agreement-embed-body, .fct-directory-agreement-inline) .fct-esign-submit-bar {
	padding-top: 16px !important;
}

:is(body.fct-esign-profile-agreement-embed-body, .fct-directory-agreement-inline) .fct-esign-status-card {
	margin: 0 !important;
	border-radius: 12px !important;
}

@media (max-width: 720px) {
	:is(body.fct-esign-profile-agreement-embed-body, .fct-directory-agreement-inline) .fct-esign-public-card {
		padding: 10px !important;
	}
}
:is(body.fct-esign-profile-agreement-embed-body, .fct-directory-agreement-inline) .fct-esign-next-required-fixed {
	display: none !important;
}

/* The profile signer shares the page scroll on desktop and mobile. */
.fct-directory-agreement-inline { width: 100%; min-width: 0; overflow: visible; }
.fct-directory-agreement-inline .fct-esign-public-card,
.fct-directory-agreement-inline .fct-esign-document-wrap { overflow: visible !important; }
@media (max-width: 720px) {
  .fct-directory-agreement-inline .fct-esign-public-card { padding: 0 !important; }
}

/* Guided request composer: show one focused stage at a time while keeping the
 * original form fields and submission flow intact. */
.fct-esign-manager .fct-esign-how-signing-works,
.fct-esign-manager .fct-esign-request-more-options {
	margin: 12px 0;
	padding: 12px 15px;
	border: 1px solid rgba(166, 197, 231, .18);
	border-radius: 10px;
	background: rgba(10, 20, 34, .46);
}
.fct-esign-manager .fct-esign-how-signing-works summary,
.fct-esign-manager .fct-esign-request-more-options summary {
	color: var(--fct-esign-ice, #d7ecfb);
	cursor: pointer;
	font-size: 12px;
	font-weight: 800;
}
.fct-esign-manager .fct-esign-how-signing-works p {
	margin: 9px 0 0;
	color: var(--fct-esign-soft, #c6d3e1);
	font-size: 12px;
	line-height: 1.55;
}
.fct-esign-manager .fct-esign-request-stepper {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
	margin: 18px 0 0;
	padding: 14px clamp(18px, 3vw, 30px);
	list-style: none;
	border-bottom: 1px solid rgba(166, 197, 231, .14);
}
.fct-esign-manager .fct-esign-request-stepper li {
	padding: 9px 11px;
	border-radius: 8px;
	background: rgba(148, 163, 184, .08);
	color: var(--fct-esign-muted, #9eacbd);
	font-size: 12px;
	font-weight: 800;
}
.fct-esign-manager .fct-esign-request-stepper li[aria-current="step"] {
	background: rgba(96, 165, 250, .15);
	color: var(--fct-esign-ice, #d7ecfb);
}
.fct-esign-manager .fct-esign-request-stepper li.is-complete { color: #a7d9bd; }
.fct-esign-manager .fct-esign-request-step-panel[hidden],
.fct-esign-manager .fct-esign-request-step-actions[hidden],
.fct-esign-manager .fct-esign-request-step-actions button[hidden],
.fct-esign-manager .fct-esign-composer-actions[hidden],
.fct-esign-manager .fct-esign-bulk-actions[hidden] { display: none !important; }
.fct-esign-manager .fct-esign-request-step-panel > .fct-esign-composer-section:first-child,
.fct-esign-manager .fct-esign-request-step-panel > .fct-esign-bulk-block:first-child { border-top: 0; }
.fct-esign-manager .fct-esign-guardian-workflow-help {
	margin: 0 0 14px;
	padding: 10px 12px;
	border-left: 3px solid #77a9df;
	border-radius: 0 7px 7px 0;
	background: rgba(96, 165, 250, .08);
	color: var(--fct-esign-soft, #c6d3e1);
	font-size: 12px;
}
.fct-esign-manager .fct-esign-request-review {
	margin: 18px clamp(18px, 3vw, 30px) 0;
	padding: 16px;
	border: 1px solid rgba(166, 197, 231, .18);
	border-radius: 11px;
	background: rgba(96, 165, 250, .055);
}
.fct-esign-manager .fct-esign-request-review h4 { margin: 0 0 10px; font-size: 14px; }
.fct-esign-manager .fct-esign-request-review dl { display: grid; gap: 8px; margin: 0; }
.fct-esign-manager .fct-esign-request-review dl > div { display: grid; grid-template-columns: minmax(120px, .35fr) minmax(0, 1fr); gap: 10px; }
.fct-esign-manager .fct-esign-request-review dt { color: var(--fct-esign-muted, #9eacbd); font-size: 11px; font-weight: 800; }
.fct-esign-manager .fct-esign-request-review dd { margin: 0; color: var(--fct-esign-text, #edf4fb); font-size: 12px; overflow-wrap: anywhere; }
.fct-esign-manager .fct-esign-request-step-actions {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 13px clamp(18px, 3vw, 30px);
	border-top: 1px solid rgba(166, 197, 231, .14);
}
.fct-esign-manager .fct-esign-request-step-spacer { flex: 1; }
.fct-esign-manager .fct-esign-request-step-panel .fct-esign-composer-section,
.fct-esign-manager .fct-esign-request-step-panel .fct-esign-bulk-block { padding-left: clamp(18px, 3vw, 30px); padding-right: clamp(18px, 3vw, 30px); }
@media (max-width: 680px) {
	.fct-esign-manager .fct-esign-request-stepper { gap: 5px; padding-left: 14px; padding-right: 14px; }
	.fct-esign-manager .fct-esign-request-stepper li { padding: 8px 6px; font-size: 10px; }
	.fct-esign-manager .fct-esign-request-review dl > div { grid-template-columns: 1fr; gap: 2px; }
}

/* Keep the insertion point obvious while someone is entering text on the PDF. */
body .fct-esign-public-shell .fct-esign-public-field:focus-within::before {
	border-color: rgba(11, 102, 189, .96) !important;
	background: rgba(219, 234, 254, .28) !important;
	box-shadow: 0 0 0 2px rgba(11, 102, 189, .18) !important;
}
body .fct-esign-public-shell .fct-esign-public-field .fct-esign-inline-field-input:focus,
body .fct-esign-public-shell .fct-esign-public-field .fct-esign-inline-field-input:focus-visible {
	caret-color: #075985 !important;
	box-shadow: inset 0 -2px 0 rgba(11, 102, 189, .82) !important;
}

/* Composer inputs use light surfaces, so override the shared dark-theme white caret. */
.fct-esign-manager .fct-esign-composer-section input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.fct-esign-manager .fct-esign-composer-section textarea,
.fct-esign-manager .fct-esign-bulk-disclosure input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.fct-esign-manager .fct-esign-bulk-disclosure textarea {
	caret-color: #075985 !important;
}
