/**
 * Light private number modal.
 * Class prefix: rfj-pnl-
 */
:root {
	--rfj-pnl-primary: #2563eb;
	--rfj-pnl-primary-dark: #1d4ed8;
	--rfj-pnl-text: var(--rfj-text-primary);
	--rfj-pnl-muted: var(--rfj-text-tertiary);
	--rfj-pnl-border: #dbe3ef;
	--rfj-pnl-bg: #f8fafc;
}

.rfj-pnl-modal *,
.rfj-pnl-modal *::before,
.rfj-pnl-modal *::after {
	box-sizing: border-box;
}

.rfj-pnl-modal {
	position: fixed;
	inset: 0;
	z-index: 10030;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	color: var(--rfj-pnl-text);
}

.rfj-pnl-hidden {
	display: none !important;
}

.rfj-pnl-overlay {
	position: fixed;
	inset: 0;
	background: rgba(15, 23, 42, .58);
}

.rfj-pnl-dialog {
	position: relative;
	z-index: 1;
	width: min(430px, calc(100vw - 24px));
	margin: 70px auto;
}

.rfj-pnl-content {
	overflow: hidden;
	border-radius: 10px;
	background: #fff;
	box-shadow: 0 24px 70px rgba(15, 23, 42, .28);
}

.rfj-pnl-header {
	position: relative;
	padding: 18px 22px;
	border-bottom: 1px solid #edf2f7;
	background: #fff;
	color: var(--rfj-pnl-text);
}

.rfj-pnl-title {
	margin: 0;
	font-size: 18px;
	font-weight: 700;
}

.rfj-pnl-close {
	position: absolute;
	top: 9px;
	right: 10px;
	width: 34px;
	height: 34px;
	border: 0;
	border-radius: 6px;
	background: #f1f5f9;
	color: var(--rfj-text-secondary);
	font-size: 24px;
	line-height: 30px;
	cursor: pointer;
}

.rfj-pnl-close:hover {
	background: #e2e8f0;
}

.rfj-pnl-body {
	padding: 28px 24px 24px;
	text-align: center;
}

.rfj-pnl-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	margin: 0 auto 22px;
	border-radius: 50%;
	background: var(--rfj-pnl-primary);
	color: #fff;
	box-shadow: 0 8px 22px rgba(37, 99, 235, .22);
}

.rfj-pnl-icon svg {
	width: 32px;
	height: 32px;
}

.rfj-pnl-number {
	display: inline-block;
	margin-bottom: 18px;
	padding: 10px 22px;
	border: 2px solid var(--rfj-pnl-primary);
	border-radius: 9px;
	background: #eff6ff;
	font-size: 24px;
	font-weight: 800;
	letter-spacing: 1px;
}

/* The dial link owns its colors over AdminLTE's accent link selectors. */
a#privateNumberLightLink {
	color: var(--rfj-pnl-primary-dark);
	text-decoration: none;
	transition: none;
}

a#privateNumberLightLink:hover,
a#privateNumberLightLink:focus-visible,
a#privateNumberLightLink:active {
	border-color: var(--rfj-pnl-primary-dark);
	background: var(--rfj-pnl-primary-dark);
	color: #fff;
	text-decoration: none;
}

.rfj-pnl-info {
	padding: 15px 16px;
	border-left: 4px solid var(--rfj-pnl-primary);
	border-radius: 8px;
	background: var(--rfj-pnl-bg);
	border-top: 1px solid var(--rfj-pnl-border);
	border-right: 1px solid var(--rfj-pnl-border);
	border-bottom: 1px solid var(--rfj-pnl-border);
	color: var(--rfj-pnl-muted);
	font-size: 13px;
	line-height: 1.8;
	text-align: left;
}

.rfj-pnl-info-title {
	margin-bottom: 6px;
	color: var(--rfj-pnl-text);
	font-weight: 700;
}

.rfj-pnl-info strong {
	color: var(--rfj-pnl-primary-dark);
}

@media (max-width: 640px) {
	.rfj-pnl-dialog {
		margin: 32px auto;
	}

	.rfj-pnl-number {
		font-size: 23px;
		padding-left: 20px;
		padding-right: 20px;
	}
}

.rfj-pnl-dialog { max-height: calc(100vh - 40px); max-height: calc(100dvh - 40px); margin: 20px auto; overflow-y: auto; }
.rfj-pnl-body { padding: 20px 24px; }
.rfj-pnl-target { margin: 0 0 16px; font-size: 16px; font-weight: 600; line-height: 1.5; overflow-wrap: anywhere; }
.rfj-pnl-options { display: flex; gap: 8px; margin-bottom: 20px; }
.rfj-pnl-options button { flex: 1; padding: 10px 8px; border: 1px solid var(--rfj-pnl-border); border-radius: 6px; background: #fff; color: var(--rfj-pnl-text); cursor: pointer; }
.rfj-pnl-options button[aria-pressed="true"] { color: var(--rfj-pnl-primary); background: #eff6ff; border-color: var(--rfj-pnl-primary); }
.rfj-pnl-primary { display: block; width: 100%; padding: 12px; margin: 16px 0; border: 0; border-radius: 6px; background: var(--rfj-pnl-primary); color: #fff; font-size: 15px; cursor: pointer; }
.rfj-pnl-modal button:disabled { opacity: .55; cursor: default; }
#phoneConsultCallbackForm { text-align: left; }
#phoneConsultCallbackForm label { display: block; margin: 14px 0 6px; font-size: 14px; font-weight: 500; }
#phoneConsultCallbackForm input, #phoneConsultCallbackForm select { width: 100%; min-width: 0; padding: 10px 12px; border: 1px solid var(--rfj-pnl-border); border-radius: 6px; background: #fff; color: var(--rfj-pnl-text); font-size: 16px; }
.rfj-pnl-input-row { display: flex; gap: 8px; }
.rfj-pnl-input-row button, #callbackCancel { flex-shrink: 0; border: 1px solid var(--rfj-pnl-border); border-radius: 6px; background: #fff; color: var(--rfj-pnl-primary); padding: 8px 12px; cursor: pointer; }
.rfj-pnl-note { color: var(--rfj-pnl-muted); font-size: 12px; line-height: 1.6; margin: 8px 0; }
.rfj-pnl-message { margin-top: 12px; font-size: 13px; color: var(--rfj-pnl-muted); overflow-wrap: anywhere; }
.rfj-pnl-message:empty, #phoneConsultDialStatus:empty { display: none; }
.rfj-pnl-modal a { color: var(--rfj-pnl-primary); }
.rfj-pnl-modal :focus-visible { outline: 2px solid var(--rfj-pnl-primary); outline-offset: 2px; }
