.sapi-wizard {
	/* رنگ‌های اصلی برگرفته از طراحی مرجع (قابل تغییر از تب Style المنتور) */
	--sapi-primary: #F5A623;         /* دکمه‌ها و مرحله فعال */
	--sapi-on-primary: #644000;      /* متن روی دکمه‌های اصلی */
	--sapi-primary-strong: #835500;  /* آیکون‌ها، آواتار، برچسب‌ها */
	--sapi-tertiary: #005BC0;        /* آبی تاکیدی (نشان امن) */
	--sapi-error: #BA1A1A;
	--sapi-error-bg: #FFDAD6;
	--sapi-page-bg: #F9F9FF;
	--sapi-card-bg: #FFFFFF;
	--sapi-surface-low: #F0F3FF;
	--sapi-surface-high: #E2E8F8;
	--sapi-surface-highest: #DCE2F3;
	--sapi-text: #151C27;
	--sapi-muted: #6B6459;
	--sapi-radius: 20px;

	direction: rtl;
	text-align: right;
	max-width: 460px;
	margin: 0 auto;
	background: var(--sapi-page-bg);
	padding: 16px;
	border-radius: calc(var(--sapi-radius) + 4px);
	color: var(--sapi-text);
	box-sizing: border-box;
	font-family: 'Inter', Tahoma, sans-serif;
}

.sapi-wizard * {
	box-sizing: border-box;
}

.sapi-wizard [hidden] {
	display: none !important;
}

.sapi-wizard .material-symbols-outlined {
	font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
	vertical-align: middle;
	line-height: 1;
}

.sapi-wizard .sapi-icon-filled {
	font-variation-settings: 'FILL' 1, 'wght' 500, 'GRAD' 0, 'opsz' 24;
}

/* ===================== Demo flag ===================== */
.sapi-demo-flag {
	background: #111827;
	color: #FDE68A;
	font-size: 11px;
	text-align: center;
	padding: 6px 10px;
	border-radius: 10px;
	margin-bottom: 12px;
}

/* ===================== Topbar ===================== */
.sapi-topbar {
	background: rgba(255, 255, 255, 0.9);
	border-radius: var(--sapi-radius);
	padding: 14px 16px;
	margin-bottom: 14px;
	box-shadow: 0 2px 10px rgba(20, 20, 30, 0.04);
}

.sapi-topbar-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}

.sapi-back-btn {
	width: 40px;
	height: 40px;
	border-radius: 12px;
	background: var(--sapi-surface-low);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--sapi-text);
	flex-shrink: 0;
	border: none;
	cursor: pointer;
}

.sapi-topbar-heading {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
}

.sapi-title-row {
	display: flex;
	align-items: center;
	gap: 6px;
}

.sapi-title-en {
	margin: 0;
	font-family: 'Plus Jakarta Sans', 'Inter', sans-serif;
	font-size: 16px;
	font-weight: 700;
	color: var(--sapi-text);
	white-space: nowrap;
}

.sapi-secure-badge {
	display: inline-flex;
	align-items: center;
	gap: 3px;
	background: var(--sapi-surface-high);
	color: var(--sapi-muted);
	font-size: 10.5px;
	font-weight: 600;
	padding: 2px 8px;
	border-radius: 20px;
	white-space: nowrap;
}

.sapi-secure-badge .material-symbols-outlined {
	font-size: 13px;
	color: var(--sapi-tertiary);
}

.sapi-brand-subtitle {
	margin: 2px 0 0;
	font-size: 11.5px;
	color: var(--sapi-muted);
}

.sapi-avatar {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--sapi-primary);
	color: var(--sapi-on-primary);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.sapi-avatar .material-symbols-outlined {
	font-size: 18px;
}

/* Progress bar */
.sapi-progress {
	position: relative;
	padding: 4px 6px 0;
}

.sapi-progress-track {
	position: absolute;
	right: 24px;
	left: 24px;
	top: 15px;
	height: 3px;
	background: var(--sapi-surface-high);
	border-radius: 10px;
	z-index: 0;
}

.sapi-progress-track-fill {
	height: 100%;
	background: var(--sapi-primary);
	border-radius: 10px;
	width: 12.5%;
	transition: width 0.35s ease;
}

.sapi-progress-row {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	position: relative;
	z-index: 1;
}

.sapi-progress-step {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 5px;
	width: 68px;
}

.sapi-progress-circle {
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: var(--sapi-surface-highest);
	color: var(--sapi-muted);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 12px;
	font-weight: 700;
	box-shadow: 0 0 0 4px var(--sapi-page-bg);
	transition: all 0.25s ease;
}

.sapi-progress-circle .material-symbols-outlined {
	font-size: 14px;
	display: none;
}

.sapi-progress-label {
	font-size: 10px;
	color: var(--sapi-muted);
	text-align: center;
	line-height: 1.3;
	max-width: 68px;
}

.sapi-progress-step.is-active .sapi-progress-circle {
	background: var(--sapi-primary);
	color: var(--sapi-on-primary);
}

.sapi-progress-step.is-active .sapi-progress-label {
	color: var(--sapi-text);
	font-weight: 700;
}

.sapi-progress-step.is-done .sapi-progress-circle {
	background: var(--sapi-primary-strong);
	color: #fff;
}

.sapi-progress-step.is-done .sapi-progress-circle .sapi-progress-num {
	display: none;
}

.sapi-progress-step.is-done .sapi-progress-circle .material-symbols-outlined {
	display: inline-block;
}

/* ===================== Generic card ===================== */
.sapi-card {
	background: var(--sapi-card-bg);
	border-radius: var(--sapi-radius);
	padding: 20px;
	box-shadow: 0 8px 24px rgba(20, 20, 30, 0.05);
	margin-top: 14px;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.sapi-mini-card {
	background: var(--sapi-card-bg);
	border-radius: 16px;
	padding: 14px;
	box-shadow: 0 6px 18px rgba(20, 20, 30, 0.05);
	margin-top: 10px;
}

/* Step meta */
.sapi-step-meta-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.sapi-step-badge {
	display: inline-block;
	background: color-mix(in srgb, var(--sapi-primary) 30%, white);
	color: var(--sapi-primary-strong);
	font-size: 11px;
	font-weight: 700;
	padding: 4px 10px;
	border-radius: 20px;
}

.sapi-step-time {
	display: inline-flex;
	align-items: center;
	gap: 3px;
	font-size: 11px;
	color: var(--sapi-muted);
}

.sapi-step-time .material-symbols-outlined {
	font-size: 15px;
	color: var(--sapi-primary-strong);
}

.sapi-step-title {
	margin: 0;
	font-family: 'Plus Jakarta Sans', 'Inter', sans-serif;
	font-size: 19px;
	font-weight: 700;
}

.sapi-step-desc {
	margin: 0;
	font-size: 13px;
	color: var(--sapi-muted);
	line-height: 1.9;
}

/* Notice pill */
.sapi-notice {
	background: color-mix(in srgb, var(--sapi-primary) 18%, white);
	border-radius: 14px;
	padding: 12px 14px;
	display: flex;
	align-items: flex-start;
	gap: 10px;
}

.sapi-notice .material-symbols-outlined {
	color: var(--sapi-primary-strong);
	font-size: 20px;
	margin-top: 1px;
}

.sapi-notice-body {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.sapi-notice-title {
	font-size: 12.5px;
	font-weight: 700;
}

.sapi-notice-text {
	font-size: 12px;
	color: var(--sapi-muted);
	line-height: 1.8;
	margin: 0;
}

.sapi-demo-notice {
	background: var(--sapi-error-bg);
	border: 1px dashed var(--sapi-error);
	color: var(--sapi-error);
	border-radius: 12px;
	padding: 9px 12px;
	font-size: 11.5px;
	display: flex;
	align-items: center;
	gap: 6px;
}

.sapi-demo-notice .material-symbols-outlined {
	font-size: 16px;
}

/* ===================== Fields ===================== */
.sapi-field {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.sapi-field-label-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.sapi-field label {
	font-size: 12.5px;
	font-weight: 600;
	color: var(--sapi-text);
}

.sapi-field-hint {
	font-size: 11px;
	color: var(--sapi-muted);
}

.sapi-input-wrap {
	position: relative;
}

.sapi-input-wrap .material-symbols-outlined {
	position: absolute;
	top: 50%;
	right: 12px;
	transform: translateY(-50%);
	color: var(--sapi-muted);
	font-size: 19px;
	pointer-events: none;
}

.sapi-field input,
.sapi-field select {
	width: 100%;
	height: 46px;
	padding: 0 40px 0 14px;
	border: none;
	border-radius: 14px;
	font-size: 14px;
	background: var(--sapi-surface-low);
	transition: box-shadow 0.2s ease, background 0.2s ease;
	outline: none;
	color: var(--sapi-text);
	font-family: inherit;
}

.sapi-field select {
	padding: 0 30px 0 12px;
	appearance: none;
	background-image: none;
}

.sapi-field input:focus,
.sapi-field select:focus {
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--sapi-primary) 45%, transparent);
	background: #fff;
}

.sapi-field input[readonly] {
	background: var(--sapi-surface-low);
	color: var(--sapi-muted);
	cursor: not-allowed;
}

.sapi-locked-badge {
	display: inline-flex;
	align-items: center;
	gap: 3px;
	background: var(--sapi-surface-high);
	color: var(--sapi-primary-strong);
	font-size: 10.5px;
	font-weight: 700;
	padding: 2px 8px;
	border-radius: 20px;
}

.sapi-locked-badge .material-symbols-outlined {
	font-size: 12px;
}

.sapi-date-row {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 8px;
}

.sapi-date-col {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.sapi-date-col span {
	font-size: 10px;
	color: var(--sapi-muted);
	font-weight: 600;
	padding: 0 2px;
}

.sapi-date-col select,
.sapi-date-col input {
	height: 44px;
	text-align: center;
}

/* Trust pill inline */
.sapi-inline-pill {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	background: var(--sapi-surface-low);
	color: var(--sapi-tertiary);
	font-size: 11.5px;
	font-weight: 600;
	padding: 8px 12px;
	border-radius: 20px;
}

.sapi-inline-pill .material-symbols-outlined {
	font-size: 16px;
}

/* Checkbox row */
.sapi-checkbox-row {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	cursor: pointer;
}

.sapi-checkbox-visual {
	width: 20px;
	height: 20px;
	border-radius: 6px;
	background: var(--sapi-surface-high);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	margin-top: 1px;
	transition: background 0.2s ease;
}

.sapi-checkbox-visual .material-symbols-outlined {
	font-size: 14px;
	color: transparent;
	font-weight: 700;
}

.sapi-checkbox-row input {
	display: none;
}

.sapi-checkbox-row input:checked ~ .sapi-checkbox-visual {
	background: var(--sapi-primary);
}

.sapi-checkbox-row input:checked ~ .sapi-checkbox-visual .material-symbols-outlined {
	color: var(--sapi-on-primary);
}

.sapi-checkbox-text {
	font-size: 12px;
	color: var(--sapi-muted);
	line-height: 1.8;
}

.sapi-checkbox-text strong {
	color: var(--sapi-text);
	text-decoration: underline;
	text-decoration-color: color-mix(in srgb, var(--sapi-primary) 60%, transparent);
	text-underline-offset: 3px;
}

/* ===================== Buttons ===================== */
.sapi-submit {
	position: relative;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	background: var(--sapi-primary);
	color: var(--sapi-on-primary);
	border: none;
	height: 52px;
	border-radius: 14px;
	cursor: pointer;
	font-size: 14.5px;
	font-weight: 700;
	font-family: 'Plus Jakarta Sans', 'Inter', sans-serif;
	box-shadow: 0 6px 16px color-mix(in srgb, var(--sapi-primary) 45%, transparent);
	transition: transform 0.15s ease, opacity 0.2s ease;
}

.sapi-submit:hover {
	opacity: 0.94;
	transform: translateY(-1px);
}

.sapi-submit:disabled {
	opacity: 0.5;
	cursor: not-allowed;
	transform: none;
	box-shadow: none;
}

.sapi-submit .material-symbols-outlined {
	font-size: 19px;
}

.sapi-submit-secondary {
	background: var(--sapi-card-bg);
	color: var(--sapi-muted);
	box-shadow: 0 4px 12px rgba(20, 20, 30, 0.06);
}

.sapi-link-btn {
	background: none;
	border: none;
	color: var(--sapi-primary-strong);
	font-size: 12.5px;
	font-weight: 700;
	cursor: pointer;
	padding: 4px 0 0;
	display: inline-flex;
	align-items: center;
	gap: 4px;
}

.sapi-link-btn .material-symbols-outlined {
	font-size: 15px;
}

.sapi-btn-spinner {
	display: none;
	width: 16px;
	height: 16px;
	border: 2px solid rgba(0, 0, 0, 0.15);
	border-top-color: var(--sapi-on-primary);
	border-radius: 50%;
	animation: sapi-spin 0.7s linear infinite;
}

.sapi-form.is-loading .sapi-btn-spinner,
.sapi-submit.is-loading .sapi-btn-spinner {
	display: inline-block;
}

.sapi-form.is-loading .sapi-btn-icon,
.sapi-submit.is-loading .sapi-btn-icon {
	display: none;
}

@keyframes sapi-spin {
	to { transform: rotate(360deg); }
}

/* ===================== Result / banners ===================== */
.sapi-result:empty {
	display: none;
}

.sapi-result-box {
	padding: 12px 14px;
	border-radius: 14px;
	font-size: 12.5px;
	line-height: 1.8;
	animation: sapi-fade-in 0.3s ease;
	display: flex;
	align-items: flex-start;
	gap: 8px;
}

.sapi-result-box .material-symbols-outlined {
	font-size: 18px;
	margin-top: 1px;
}

@keyframes sapi-fade-in {
	from { opacity: 0; transform: translateY(-6px); }
	to { opacity: 1; transform: translateY(0); }
}

.sapi-result-success {
	background: color-mix(in srgb, var(--sapi-primary) 20%, white);
	color: var(--sapi-primary-strong);
}

.sapi-result-error {
	background: var(--sapi-error-bg);
	color: var(--sapi-error);
}

.sapi-prev-banner {
	display: flex;
	align-items: center;
	gap: 10px;
	background: var(--sapi-card-bg);
	border-radius: var(--sapi-radius);
	padding: 14px;
	box-shadow: 0 6px 18px rgba(20, 20, 30, 0.05);
}

.sapi-prev-banner:empty {
	display: none;
}

.sapi-prev-icon {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: color-mix(in srgb, var(--sapi-primary) 25%, white);
	color: var(--sapi-primary-strong);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.sapi-prev-banner-body {
	display: flex;
	flex-direction: column;
	gap: 1px;
	min-width: 0;
}

.sapi-prev-banner-title {
	font-size: 11px;
	font-weight: 700;
	color: var(--sapi-primary-strong);
}

.sapi-prev-banner-text {
	font-size: 12px;
	color: var(--sapi-text);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* ===================== Quick perks / grids ===================== */
.sapi-grid-2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	margin-top: 14px;
}

.sapi-perk-card {
	display: flex;
	align-items: center;
	gap: 10px;
	background: var(--sapi-card-bg);
	border-radius: 16px;
	padding: 12px;
	box-shadow: 0 6px 18px rgba(20, 20, 30, 0.05);
}

.sapi-perk-icon {
	width: 38px;
	height: 38px;
	border-radius: 12px;
	background: var(--sapi-surface-low);
	color: var(--sapi-primary-strong);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.sapi-perk-body {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.sapi-perk-title {
	font-size: 12.5px;
	font-weight: 700;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.sapi-perk-sub {
	font-size: 10.5px;
	color: var(--sapi-muted);
	white-space: nowrap;
}

/* Trust banner (image replaced with icon panel) */
.sapi-trust-banner-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.sapi-trust-banner-head-left {
	display: flex;
	align-items: center;
	gap: 6px;
	font-weight: 700;
	font-size: 14.5px;
}

.sapi-trust-banner-head-left .material-symbols-outlined {
	color: var(--sapi-primary-strong);
}

.sapi-trust-banner-tag {
	font-size: 11px;
	color: var(--sapi-primary-strong);
	font-weight: 600;
}

.sapi-decor-panel {
	position: relative;
	width: 100%;
	height: 96px;
	border-radius: 14px;
	background: linear-gradient(135deg, color-mix(in srgb, var(--sapi-primary) 55%, white), color-mix(in srgb, var(--sapi-tertiary) 25%, white));
	display: flex;
	align-items: flex-end;
	padding: 10px;
	overflow: hidden;
}

.sapi-decor-panel .material-symbols-outlined {
	position: absolute;
	top: 10px;
	left: 10px;
	font-size: 46px;
	color: rgba(255, 255, 255, 0.55);
}

.sapi-decor-caption {
	background: rgba(255, 255, 255, 0.85);
	backdrop-filter: blur(4px);
	padding: 5px 10px;
	border-radius: 8px;
	font-size: 11px;
	font-weight: 600;
	color: var(--sapi-text);
}

.sapi-trust-strip {
	display: flex;
	align-items: center;
	justify-content: space-between;
	color: var(--sapi-muted);
	font-size: 10.5px;
}

.sapi-trust-strip-item {
	display: flex;
	align-items: center;
	gap: 4px;
}

.sapi-trust-strip-item .material-symbols-outlined {
	font-size: 15px;
	color: var(--sapi-tertiary);
}

.sapi-trust-strip-dot {
	width: 3px;
	height: 3px;
	border-radius: 50%;
	background: var(--sapi-surface-highest);
}

/* Terms summary bar */
.sapi-terms-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: var(--sapi-surface-high);
	border-radius: var(--sapi-radius);
	padding: 12px 14px;
}

.sapi-terms-bar-left {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 12px;
	font-weight: 600;
}

.sapi-terms-bar-left .material-symbols-outlined {
	color: var(--sapi-primary-strong);
	font-size: 18px;
}

.sapi-terms-bar-link {
	color: var(--sapi-primary-strong);
	font-size: 12px;
	font-weight: 700;
	display: flex;
	align-items: center;
	gap: 2px;
	text-decoration: none;
}

/* Fast fact card */
.sapi-fact-card {
	display: flex;
	align-items: center;
	gap: 12px;
	background: var(--sapi-surface-high);
	border-radius: var(--sapi-radius);
	padding: 14px;
}

.sapi-fact-icon {
	width: 44px;
	height: 44px;
	border-radius: 14px;
	background: var(--sapi-card-bg);
	color: var(--sapi-tertiary);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	box-shadow: 0 4px 10px rgba(20, 20, 30, 0.05);
}

.sapi-fact-body {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.sapi-fact-title {
	font-size: 13px;
	font-weight: 700;
}

.sapi-fact-text {
	font-size: 11.5px;
	color: var(--sapi-muted);
	line-height: 1.7;
}

/* Regulatory seals */
.sapi-seals-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size: 11px;
	color: var(--sapi-muted);
	font-weight: 600;
}

.sapi-seals-head-badge {
	display: flex;
	align-items: center;
	gap: 3px;
	color: var(--sapi-primary-strong);
	font-weight: 700;
	font-size: 10.5px;
}

.sapi-seals-head-badge .material-symbols-outlined {
	font-size: 13px;
}

.sapi-seals-grid {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 8px;
}

.sapi-seal {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 5px;
	background: var(--sapi-surface-low);
	border-radius: 12px;
	padding: 10px 6px;
}

.sapi-seal-icon {
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--sapi-card-bg);
	color: var(--sapi-primary-strong);
	display: flex;
	align-items: center;
	justify-content: center;
}

.sapi-seal span:not(.material-symbols-outlined) {
	font-size: 9.5px;
	font-weight: 700;
	line-height: 1.3;
}

.sapi-seal small {
	font-size: 8.5px;
	color: var(--sapi-muted);
	font-weight: 500;
}

/* ===================== Identity card (step3) ===================== */
.sapi-identity-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: var(--sapi-surface-low);
	border-radius: 16px;
	padding: 10px 12px;
}

.sapi-identity-avatar-wrap {
	position: relative;
	flex-shrink: 0;
}

.sapi-identity-avatar {
	width: 50px;
	height: 50px;
	border-radius: 50%;
	background: var(--sapi-primary);
	color: var(--sapi-on-primary);
	display: flex;
	align-items: center;
	justify-content: center;
}

.sapi-identity-avatar .material-symbols-outlined {
	font-size: 26px;
}

.sapi-identity-check {
	position: absolute;
	bottom: -2px;
	left: -2px;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: var(--sapi-primary-strong);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
}

.sapi-identity-check .material-symbols-outlined {
	font-size: 12px;
}

.sapi-identity-name-wrap {
	display: flex;
	align-items: center;
	gap: 10px;
	flex: 1;
	min-width: 0;
}

.sapi-identity-name-col {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.sapi-identity-name {
	font-size: 15px;
	font-weight: 700;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.sapi-identity-role {
	font-size: 10.5px;
	color: var(--sapi-muted);
}

.sapi-identity-verified-badge {
	display: flex;
	align-items: center;
	gap: 3px;
	background: var(--sapi-card-bg);
	color: var(--sapi-primary-strong);
	font-size: 10.5px;
	font-weight: 700;
	padding: 4px 9px;
	border-radius: 20px;
	flex-shrink: 0;
}

.sapi-identity-verified-badge .material-symbols-outlined {
	font-size: 13px;
}

.sapi-specs-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
}

.sapi-spec-item {
	background: var(--sapi-surface-low);
	border-radius: 12px;
	padding: 10px;
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.sapi-spec-label {
	display: flex;
	align-items: center;
	gap: 4px;
	font-size: 10.5px;
	color: var(--sapi-muted);
}

.sapi-spec-label .material-symbols-outlined {
	font-size: 13px;
}

.sapi-spec-value {
	font-size: 13.5px;
	font-weight: 700;
}

.sapi-status-strip {
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: var(--sapi-surface-low);
	border-radius: 12px;
	padding: 9px 12px;
}

.sapi-status-strip-left {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	color: var(--sapi-muted);
}

.sapi-status-strip-left .material-symbols-outlined {
	font-size: 16px;
	color: var(--sapi-primary-strong);
}

.sapi-status-pill {
	display: flex;
	align-items: center;
	gap: 5px;
	background: var(--sapi-surface-high);
	padding: 3px 10px;
	border-radius: 20px;
	font-size: 11.5px;
	font-weight: 600;
}

.sapi-status-dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--sapi-primary);
}

/* Address (step3) */
.sapi-address-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.sapi-address-head-left {
	display: flex;
	align-items: center;
	gap: 8px;
}

.sapi-address-head-icon {
	width: 30px;
	height: 30px;
	border-radius: 10px;
	background: var(--sapi-surface-low);
	display: flex;
	align-items: center;
	justify-content: center;
}

.sapi-address-head h4 {
	margin: 0;
	font-size: 15px;
	font-weight: 700;
}

.sapi-address-tag {
	font-size: 10.5px;
	font-weight: 700;
	color: var(--sapi-tertiary);
	background: color-mix(in srgb, var(--sapi-tertiary) 15%, white);
	padding: 3px 8px;
	border-radius: 20px;
}

.sapi-address-box {
	background: var(--sapi-surface-low);
	border-radius: 14px;
	padding: 12px 14px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.sapi-address-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size: 12.5px;
}

.sapi-address-row span:first-child {
	color: var(--sapi-muted);
}

.sapi-address-row strong {
	font-weight: 700;
}

.sapi-map-panel {
	position: relative;
	width: 100%;
	height: 88px;
	border-radius: 14px;
	background: linear-gradient(135deg, color-mix(in srgb, var(--sapi-tertiary) 30%, white), color-mix(in srgb, var(--sapi-primary) 25%, white));
	display: flex;
	align-items: flex-end;
	justify-content: flex-start;
	padding: 10px;
	overflow: hidden;
}

.sapi-map-panel .sapi-map-pin {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -60%);
	font-size: 34px;
	color: var(--sapi-tertiary);
}

.sapi-map-caption {
	background: rgba(255, 255, 255, 0.9);
	backdrop-filter: blur(4px);
	padding: 5px 10px;
	border-radius: 8px;
	font-size: 10.5px;
	font-weight: 600;
	display: flex;
	align-items: center;
	gap: 4px;
}

.sapi-map-caption .material-symbols-outlined {
	font-size: 14px;
	color: var(--sapi-primary-strong);
}

/* Privacy callout */
.sapi-privacy-card {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	background: var(--sapi-surface-high);
	border-radius: var(--sapi-radius);
	padding: 13px;
}

.sapi-privacy-icon {
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--sapi-primary);
	color: var(--sapi-on-primary);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	margin-top: 1px;
}

.sapi-privacy-icon .material-symbols-outlined {
	font-size: 15px;
}

.sapi-privacy-body {
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.sapi-privacy-title {
	font-size: 12.5px;
	font-weight: 700;
}

.sapi-privacy-text {
	font-size: 11.5px;
	color: var(--sapi-muted);
	line-height: 1.7;
	margin: 0;
}

/* Confirmation switcher */
.sapi-confirm-card {
	background: var(--sapi-card-bg);
	border-radius: var(--sapi-radius);
	padding: 16px;
	box-shadow: 0 6px 18px rgba(20, 20, 30, 0.05);
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.sapi-confirm-row {
	display: flex;
	align-items: center;
	gap: 10px;
}

.sapi-confirm-row .sapi-checkbox-text {
	font-size: 14.5px;
	font-weight: 700;
	color: var(--sapi-text);
}

.sapi-confirm-sub {
	font-size: 11.5px;
	color: var(--sapi-muted);
	line-height: 1.7;
	padding-right: 30px;
	margin: 0;
}

/* ===================== Panels ===================== */
.sapi-panels {
	position: relative;
}

.sapi-panel {
	display: none;
}

.sapi-panel.is-active {
	display: block;
	animation: sapi-panel-in 0.3s ease;
}

@keyframes sapi-panel-in {
	from { opacity: 0; transform: translateY(8px); }
	to { opacity: 1; transform: translateY(0); }
}

/* ===================== Gauge (step4) ===================== */
.sapi-gauge-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.sapi-gauge-head-left {
	display: flex;
	align-items: center;
	gap: 8px;
}

.sapi-gauge-head-icon {
	width: 32px;
	height: 32px;
	border-radius: 10px;
	background: var(--sapi-surface-low);
	color: var(--sapi-tertiary);
	display: flex;
	align-items: center;
	justify-content: center;
}

.sapi-gauge-head-title {
	font-size: 13.5px;
	font-weight: 600;
}

.sapi-gauge-status {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	background: color-mix(in srgb, var(--sapi-tertiary) 15%, white);
	color: var(--sapi-tertiary);
	font-size: 11px;
	font-weight: 600;
	padding: 3px 9px;
	border-radius: 20px;
}

.sapi-gauge-status-dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--sapi-tertiary);
	animation: sapi-pulse 1.6s ease-in-out infinite;
}

@keyframes sapi-pulse {
	0%, 100% { opacity: 1; }
	50% { opacity: 0.35; }
}

.sapi-gauge-box {
	position: relative;
	text-align: center;
	margin: 4px 0 2px;
}

.sapi-gauge {
	width: 100%;
	max-width: 220px;
	height: auto;
	display: block;
	margin: 0 auto;
}

.sapi-gauge-center {
	margin-top: -30px;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.sapi-gauge-center strong {
	font-family: 'Plus Jakarta Sans', 'Inter', sans-serif;
	font-size: 30px;
	font-weight: 800;
	color: var(--sapi-text);
	line-height: 1;
}

.sapi-gauge-center span {
	font-size: 11px;
	color: var(--sapi-muted);
	margin-top: 2px;
}

.sapi-gauge-center em {
	font-style: normal;
	font-size: 12px;
	font-weight: 700;
	margin-top: 4px;
	color: var(--sapi-primary-strong);
}

.sapi-limit-box {
	background: var(--sapi-surface-low);
	border-radius: 12px;
	padding: 12px 14px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.sapi-limit-box-left {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	color: var(--sapi-muted);
}

.sapi-limit-box-left .material-symbols-outlined {
	color: var(--sapi-primary-strong);
	font-size: 18px;
}

.sapi-limit-box strong {
	font-size: 16px;
	font-weight: 700;
}

.sapi-limit-box small {
	font-size: 10.5px;
	color: var(--sapi-muted);
	margin-right: 3px;
}

/* Report indicators */
.sapi-report-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.sapi-report-head-left {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 13.5px;
	font-weight: 700;
}

.sapi-report-head-left .material-symbols-outlined {
	color: var(--sapi-tertiary);
	font-size: 17px;
}

.sapi-report-source {
	font-size: 10.5px;
	color: var(--sapi-tertiary);
}

.sapi-report-list {
	display: flex;
	flex-direction: column;
	gap: 7px;
}

.sapi-report-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: var(--sapi-surface-low);
	border-radius: 12px;
	padding: 10px 12px;
}

.sapi-report-item-left {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 12.5px;
}

.sapi-report-item-left .material-symbols-outlined {
	color: var(--sapi-primary-strong);
	font-size: 17px;
}

.sapi-report-badge {
	font-size: 11px;
	font-weight: 700;
	color: var(--sapi-primary-strong);
	background: color-mix(in srgb, var(--sapi-primary) 30%, white);
	padding: 3px 9px;
	border-radius: 20px;
}

.sapi-report-stars {
	display: flex;
	align-items: center;
	gap: 4px;
}

.sapi-report-stars .material-symbols-outlined {
	color: var(--sapi-primary);
	font-size: 15px;
}

/* Plans */
.sapi-plans-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.sapi-plans-title {
	font-family: 'Plus Jakarta Sans', 'Inter', sans-serif;
	font-size: 14.5px;
	font-weight: 700;
	margin: 0;
}

.sapi-plans-sub {
	font-size: 10.5px;
	color: var(--sapi-muted);
}

.sapi-plans {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.sapi-plan-option {
	position: relative;
	background: var(--sapi-card-bg);
	border-radius: 16px;
	padding: 13px 14px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	cursor: pointer;
	box-shadow: 0 4px 12px rgba(20, 20, 30, 0.05);
	transition: box-shadow 0.2s ease, transform 0.15s ease;
}

.sapi-plan-option:hover {
	transform: translateY(-1px);
}

.sapi-plan-option.is-selected {
	box-shadow: 0 8px 20px color-mix(in srgb, var(--sapi-primary) 35%, transparent);
}

.sapi-plan-badge {
	position: absolute;
	top: -10px;
	left: 14px;
	background: var(--sapi-primary);
	color: var(--sapi-on-primary);
	font-size: 10px;
	font-weight: 700;
	padding: 3px 10px;
	border-radius: 20px;
	display: flex;
	align-items: center;
	gap: 3px;
}

.sapi-plan-badge .material-symbols-outlined {
	font-size: 12px;
}

.sapi-plan-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.sapi-plan-left {
	display: flex;
	align-items: center;
	gap: 8px;
}

.sapi-radio-indicator {
	width: 17px;
	height: 17px;
	border-radius: 50%;
	background: var(--sapi-surface-high);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.sapi-radio-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: transparent;
}

.sapi-plan-option.is-selected .sapi-radio-indicator {
	background: var(--sapi-primary);
}

.sapi-plan-option.is-selected .sapi-radio-dot {
	background: var(--sapi-on-primary);
}

.sapi-plan-months {
	font-size: 13.5px;
	font-weight: 700;
}

.sapi-plan-tag {
	font-size: 10.5px;
	font-weight: 600;
	background: var(--sapi-surface-high);
	color: var(--sapi-muted);
	padding: 2px 9px;
	border-radius: 20px;
}

.sapi-plan-option.is-selected .sapi-plan-tag {
	background: color-mix(in srgb, var(--sapi-primary) 30%, white);
	color: var(--sapi-primary-strong);
	font-weight: 700;
}

.sapi-plan-bottom {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	padding-right: 25px;
}

.sapi-plan-bottom span {
	font-size: 11px;
	color: var(--sapi-muted);
}

.sapi-plan-bottom strong {
	font-size: 15px;
	font-weight: 700;
}

.sapi-plan-option.is-selected .sapi-plan-bottom strong {
	color: var(--sapi-primary-strong);
}

/* Final guarantee note */
.sapi-guarantee-card {
	display: flex;
	align-items: center;
	gap: 10px;
	background: var(--sapi-surface-low);
	border-radius: var(--sapi-radius);
	padding: 12px;
}

.sapi-guarantee-icon {
	width: 34px;
	height: 34px;
	border-radius: 10px;
	background: var(--sapi-card-bg);
	color: var(--sapi-primary-strong);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.sapi-guarantee-text {
	font-size: 11px;
	color: var(--sapi-muted);
	line-height: 1.7;
	margin: 0;
}

/* Done panel */
.sapi-done-card {
	text-align: center;
	padding: 44px 22px;
}

.sapi-done-icon {
	width: 60px;
	height: 60px;
	border-radius: 50%;
	background: var(--sapi-primary);
	color: var(--sapi-on-primary);
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 16px;
}

.sapi-done-icon .material-symbols-outlined {
	font-size: 30px;
}
