html.mobile-conversion-open,
body.mobile-conversion-open {
	overflow: hidden;
}

.mobile-conversion-panel[hidden] {
	display: none;
}

.mobile-conversion-panel {
	--shadez-mobile-bottom-nav-height: 66px;
	--shadez-mobile-bottom-nav-offset: max(8px, env(safe-area-inset-bottom));
	--shadez-conversion-bottom-clearance: calc(var(--shadez-mobile-bottom-nav-height) + var(--shadez-mobile-bottom-nav-offset) + 18px);
	position: fixed;
	inset: 0;
	z-index: 1190;
	display: grid;
	grid-template-rows: auto minmax(0, 1fr);
	background: #f6faf7;
	color: #17211c;
}

.mobile-conversion-panel__header {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 10px;
	align-items: center;
	padding: max(12px, env(safe-area-inset-top)) 12px 10px;
	border-bottom: 1px solid rgba(223, 232, 226, 0.95);
	background: rgba(255, 255, 255, 0.98);
	box-shadow: 0 8px 22px rgba(18, 55, 42, 0.08);
}

.mobile-conversion-panel__back,
.mobile-conversion-primary,
.mobile-conversion-secondary {
	appearance: none;
	min-height: 42px;
	padding: 10px 14px;
	border: 1px solid rgba(18, 55, 42, 0.16);
	border-radius: 999px;
	background: #ffffff;
	color: #12372a;
	font: inherit;
	font-size: 0.84rem;
	font-weight: 900;
	line-height: 1;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
}

.mobile-conversion-panel__back,
.mobile-conversion-primary {
	background: #12372a;
	color: #ffffff;
}

.mobile-conversion-primary:disabled,
.mobile-conversion-secondary:disabled {
	opacity: 0.45;
	cursor: not-allowed;
}

.mobile-conversion-panel__title {
	min-width: 0;
	display: grid;
	gap: 2px;
}

.mobile-conversion-panel__title span,
.mobile-conversion-heading span {
	color: #66736c;
	font-size: 0.68rem;
	font-weight: 900;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.mobile-conversion-panel__title strong {
	min-width: 0;
	color: #12372a;
	font-size: 1rem;
	font-weight: 950;
	line-height: 1.12;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.mobile-conversion-panel__body {
	min-height: 0;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	display: grid;
	align-content: start;
	gap: 12px;
	padding: 12px 12px var(--shadez-conversion-bottom-clearance);
	scroll-padding-bottom: var(--shadez-conversion-bottom-clearance);
}

.mobile-conversion-state,
.mobile-conversion-error,
.mobile-conversion-note,
.mobile-conversion-warning {
	padding: 13px 14px;
	border-radius: 16px;
	font-size: 0.9rem;
	font-weight: 850;
	line-height: 1.35;
}

.mobile-conversion-state {
	border: 1px solid rgba(18, 55, 42, 0.14);
	background: #e6f3ec;
	color: #12372a;
}

.mobile-conversion-error {
	border: 1px solid rgba(132, 32, 41, 0.18);
	background: #f8d7da;
	color: #842029;
}

.mobile-conversion-note {
	border: 1px solid rgba(18, 55, 42, 0.12);
	background: rgba(255, 255, 255, 0.92);
	color: #66736c;
}

.mobile-conversion-warning {
	display: grid;
	gap: 6px;
	border: 1px solid rgba(180, 83, 9, 0.2);
	background: #fff7ed;
	color: #7c2d12;
}

.mobile-conversion-warning ul {
	margin: 2px 0 0;
	padding-left: 18px;
}

#quotation-conversion-content {
	display: grid;
	gap: 12px;
}

.mobile-conversion-card {
	display: grid;
	gap: 12px;
	padding: 14px;
	border: 1px solid rgba(223, 232, 226, 0.95);
	border-radius: 18px;
	background: rgba(255, 255, 255, 0.98);
	box-shadow: 0 10px 26px rgba(18, 55, 42, 0.08);
}

.mobile-conversion-success {
	border-color: rgba(18, 114, 64, 0.22);
	background: #f0fbf4;
}

.mobile-conversion-existing {
	border-color: rgba(180, 83, 9, 0.22);
	background: #fff7ed;
}

.mobile-conversion-existing .mobile-conversion-heading em {
	background: #fed7aa;
	color: #7c2d12;
}

.mobile-conversion-heading {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	justify-content: space-between;
}

.mobile-conversion-heading div {
	min-width: 0;
	display: grid;
	gap: 3px;
}

.mobile-conversion-heading strong {
	color: #12372a;
	font-size: 1.05rem;
	font-weight: 950;
	line-height: 1.15;
}

.mobile-conversion-heading em {
	flex: 0 0 auto;
	padding: 6px 9px;
	border-radius: 999px;
	background: #e6f3ec;
	color: #12372a;
	font-size: 0.72rem;
	font-style: normal;
	font-weight: 900;
	line-height: 1;
}

.mobile-conversion-copy {
	margin: 0;
	color: #66736c;
	font-size: 0.86rem;
	line-height: 1.4;
}

.mobile-conversion-grid,
.mobile-conversion-item__numbers {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

.mobile-conversion-field {
	min-width: 0;
	display: grid;
	gap: 3px;
}

.mobile-conversion-field span {
	color: #66736c;
	font-size: 0.72rem;
	font-weight: 850;
	text-transform: uppercase;
}

.mobile-conversion-field strong {
	min-width: 0;
	color: #17211c;
	font-size: 0.92rem;
	font-weight: 900;
	line-height: 1.2;
	overflow-wrap: anywhere;
}

.mobile-conversion-item {
	display: grid;
	gap: 10px;
	padding: 12px;
	border: 1px solid rgba(223, 232, 226, 0.88);
	border-radius: 16px;
	background: #ffffff;
}

.mobile-conversion-item > div:first-child {
	min-width: 0;
	display: grid;
	gap: 3px;
}

.mobile-conversion-item > div:first-child strong {
	color: #12372a;
	font-size: 0.98rem;
	font-weight: 950;
	line-height: 1.2;
}

.mobile-conversion-item > div:first-child span,
.mobile-conversion-empty {
	color: #66736c;
	font-size: 0.82rem;
	font-weight: 750;
}

.mobile-conversion-confirm {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 10px;
	align-items: flex-start;
	padding: 13px;
	border: 1px solid rgba(18, 55, 42, 0.14);
	border-radius: 16px;
	background: #ffffff;
	color: #17211c;
	font-size: 0.9rem;
	font-weight: 800;
	line-height: 1.35;
}

.mobile-conversion-confirm input {
	width: 20px;
	height: 20px;
	margin: 0;
	accent-color: #12372a;
}

.mobile-conversion-actions {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

.mobile-conversion-panel button:focus-visible,
.mobile-conversion-panel input:focus-visible {
	outline: 3px solid rgba(18, 55, 42, 0.18);
	outline-offset: 2px;
}

@media (min-width: 760px) {
	.mobile-conversion-panel {
		--shadez-mobile-bottom-nav-height: 70px;
		--shadez-conversion-bottom-clearance: calc(var(--shadez-mobile-bottom-nav-height) + var(--shadez-mobile-bottom-nav-offset) + 16px);
	}

	.mobile-conversion-panel__body {
		max-width: 760px;
		width: 100%;
		margin: 0 auto;
	}
}

@media (min-width: 1024px) {
	.mobile-conversion-panel {
		--shadez-conversion-bottom-clearance: calc(32px + env(safe-area-inset-bottom));
	}
}

@media (max-width: 430px) {
	.mobile-conversion-grid,
	.mobile-conversion-actions {
		grid-template-columns: 1fr;
	}
}
