	.pfc-calculator,
	.pfc-calculator * {
		box-sizing: border-box;
	}

	.pfc-calculator {
		--pfc-accent: var(--theme-palette-color-1, #2563eb);
		--pfc-accent-strong: #1d4ed8;
		--pfc-teal: #0f766e;
		--pfc-ink: #0f172a;
		--pfc-muted: #526075;
		--pfc-line: #dce4ef;
		--pfc-soft: #f6f9fd;
		--pfc-card: #ffffff;
		--pfc-success: #047857;
		--pfc-danger: #b91c1c;
		--pfc-shadow: 0 24px 65px rgba(15, 23, 42, .12);
		width: 100%;
		max-width: 1080px;
		margin: clamp(1.25rem, 3vw, 2.5rem) auto;
		color: var(--pfc-ink);
		font: inherit;
		background: var(--pfc-card);
		border: 1px solid rgba(37, 99, 235, .16);
		border-radius: 28px;
		box-shadow: var(--pfc-shadow);
		overflow: hidden;
	}

	.pfc-calculator [hidden] {
		display: none;
	}

	.pfc-calculator--unavailable {
		padding: 1.25rem 1.5rem;
		border-color: #fecaca;
		border-radius: 16px;
		background: #fef2f2;
		color: #991b1b;
		box-shadow: none;
	}

	.pfc-calculator__header {
		position: relative;
		padding: clamp(1.5rem, 4vw, 3rem);
		background:
			radial-gradient(circle at 92% 0%, rgba(45, 212, 191, .2), transparent 33%),
			linear-gradient(135deg, #0b1f3a 0%, #173a68 58%, #0e7490 130%);
		color: #fff;
	}

	.pfc-calculator__eyebrow {
		display: inline-flex;
		align-items: center;
		gap: .55rem;
		margin-bottom: .75rem;
		font-size: .78rem;
		font-weight: 750;
		letter-spacing: .08em;
		text-transform: uppercase;
		color: #c8f7ee;
	}

	.pfc-calculator__status-dot {
		width: .55rem;
		height: .55rem;
		border-radius: 50%;
		background: #34d399;
		box-shadow: 0 0 0 5px rgba(52, 211, 153, .14);
	}

	.pfc-calculator__title {
		margin: 0 0 .7rem;
		color: #fff;
		font-size: clamp(2rem, 5vw, 3.3rem);
		line-height: 1.08;
		letter-spacing: -.04em;
	}

	.pfc-calculator__intro {
		max-width: 760px;
		margin: 0;
		color: #dce9f7;
		font-size: clamp(1rem, 2vw, 1.12rem);
		line-height: 1.7;
	}

	.pfc-calculator__trust-row {
		display: flex;
		flex-wrap: wrap;
		gap: .65rem 1.25rem;
		margin-top: 1.25rem;
		color: #f7fbff;
		font-size: .88rem;
	}

	.pfc-calculator__trust-item {
		display: inline-flex;
		align-items: center;
		gap: .42rem;
	}

	.pfc-calculator__trust-item svg,
	.pfc-calculator__privacy svg {
		width: 1.1rem;
		height: 1.1rem;
		fill: currentColor;
		flex: 0 0 auto;
	}

	.pfc-calculator__layout {
		display: grid;
		grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr);
		gap: 0;
		align-items: stretch;
	}

	.pfc-calculator__form {
		padding: clamp(1.25rem, 3.4vw, 2.5rem);
		background: #fff;
	}

	.pfc-calculator__mode {
		margin: 0 0 1.5rem;
		padding: 0;
		border: 0;
	}

	.pfc-calculator__mode legend {
		margin-bottom: .65rem;
		font-weight: 750;
		font-size: .93rem;
	}

	.pfc-calculator__segmented {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: .35rem;
		padding: .35rem;
		background: var(--pfc-soft);
		border: 1px solid var(--pfc-line);
		border-radius: 14px;
	}

	.pfc-calculator__segmented label {
		position: relative;
		margin: 0;
		cursor: pointer;
	}

	.pfc-calculator__segmented input {
		position: absolute;
		opacity: 0;
		pointer-events: none;
	}

	.pfc-calculator__segmented span {
		display: flex;
		min-height: 44px;
		align-items: center;
		justify-content: center;
		padding: .65rem .8rem;
		border-radius: 10px;
		font-size: .9rem;
		font-weight: 700;
		color: var(--pfc-muted);
		text-align: center;
		transition: background-color .18s ease, color .18s ease, box-shadow .18s ease;
	}

	.pfc-calculator__segmented input:checked + span {
		background: #fff;
		color: var(--pfc-accent-strong);
		box-shadow: 0 4px 14px rgba(15, 23, 42, .08);
	}

	.pfc-calculator__segmented input:focus-visible + span {
		outline: 3px solid rgba(37, 99, 235, .28);
		outline-offset: 2px;
	}

	.pfc-calculator__fields {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 1rem;
	}

	.pfc-calculator__field {
		min-width: 0;
	}

	.pfc-calculator__field--amount {
		grid-column: 1 / -1;
	}

	.pfc-calculator__field label {
		display: block;
		margin: 0 0 .45rem;
		color: var(--pfc-ink);
		font-size: .88rem;
		font-weight: 750;
	}

	.pfc-calculator__field small {
		display: block;
		margin-top: .38rem;
		color: var(--pfc-muted);
		font-size: .76rem;
		line-height: 1.45;
	}

	.pfc-calculator__field .pfc-calculator__currency-note,
	.pfc-calculator__field .pfc-calculator__product-note {
		margin-top: .55rem;
		padding: .6rem .7rem;
		border-left: 3px solid #d97706;
		border-radius: 7px;
		background: #fffbeb;
		color: #854d0e;
	}

	.pfc-calculator__field input,
	.pfc-calculator__field select,
	.pfc-calculator__amount-control {
		width: 100%;
		min-height: 48px;
		margin: 0;
		border: 1px solid var(--pfc-line);
		border-radius: 12px;
		background: #fff;
		color: var(--pfc-ink);
		font: inherit;
		font-size: .95rem;
		box-shadow: none;
	}

	.pfc-calculator__field input,
	.pfc-calculator__field select {
		padding: .72rem .85rem;
	}

	.pfc-calculator__field input:focus,
	.pfc-calculator__field select:focus {
		border-color: var(--pfc-accent);
		outline: 3px solid rgba(37, 99, 235, .14);
	}

	.pfc-calculator__field select:disabled {
		opacity: .58;
		cursor: not-allowed;
	}

	.pfc-calculator__amount-control {
		display: grid;
		grid-template-columns: auto 1fr;
		align-items: center;
		overflow: hidden;
	}

	.pfc-calculator__amount-control > span {
		display: flex;
		align-items: center;
		align-self: stretch;
		padding: 0 .9rem;
		background: var(--pfc-soft);
		border-right: 1px solid var(--pfc-line);
		color: var(--pfc-accent-strong);
		font-size: .8rem;
		font-weight: 800;
	}

	.pfc-calculator__amount-control input {
		min-height: 46px;
		border: 0;
		border-radius: 0;
		font-size: 1.15rem;
		font-weight: 760;
	}

	.pfc-calculator__quick-amounts {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: .45rem;
		margin-top: 1rem;
		color: var(--pfc-muted);
		font-size: .8rem;
	}

	.pfc-calculator__quick-amounts button {
		min-width: 44px;
		min-height: 34px;
		padding: .35rem .6rem;
		border: 1px solid var(--pfc-line);
		border-radius: 999px;
		background: #fff;
		color: var(--pfc-muted);
		font: inherit;
		font-size: .78rem;
		font-weight: 700;
		cursor: pointer;
	}

	.pfc-calculator__quick-amounts button:hover,
	.pfc-calculator__quick-amounts button:focus-visible {
		border-color: var(--pfc-accent);
		color: var(--pfc-accent-strong);
		outline: none;
	}

	.pfc-calculator__advanced {
		margin-top: 1.15rem;
		padding: .9rem 1rem;
		border: 1px dashed #b8c5d8;
		border-radius: 12px;
		background: #fbfdff;
	}

	.pfc-calculator__advanced summary {
		color: var(--pfc-accent-strong);
		font-size: .86rem;
		font-weight: 750;
		cursor: pointer;
	}

	.pfc-calculator__check {
		display: flex;
		align-items: flex-start;
		gap: .6rem;
		margin: .9rem 0;
		font-size: .85rem;
		font-weight: 650;
	}

	.pfc-calculator__check input {
		width: 1rem;
		height: 1rem;
		margin-top: .15rem;
		accent-color: var(--pfc-accent);
	}

	.pfc-calculator__custom-fields {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: .8rem;
	}

	.pfc-calculator__custom-fields[hidden] {
		display: none;
	}

	.pfc-calculator__suffix-control {
		position: relative;
	}

	.pfc-calculator__suffix-control input {
		padding-right: 2.25rem;
	}

	.pfc-calculator__suffix-control span {
		position: absolute;
		top: 50%;
		right: .9rem;
		transform: translateY(-50%);
		color: var(--pfc-muted);
		font-weight: 750;
	}

	.pfc-calculator__submit {
		display: flex;
		width: 100%;
		min-height: 52px;
		align-items: center;
		justify-content: center;
		gap: .65rem;
		margin-top: 1.25rem;
		padding: .8rem 1.15rem;
		border: 0;
		border-radius: 13px;
		background: linear-gradient(135deg, var(--pfc-accent), #0e7490);
		color: #fff;
		font: inherit;
		font-weight: 800;
		box-shadow: 0 12px 24px rgba(37, 99, 235, .22);
		cursor: pointer;
		transition: transform .18s ease, box-shadow .18s ease;
	}

	.pfc-calculator__submit:hover {
		transform: translateY(-1px);
		box-shadow: 0 16px 30px rgba(37, 99, 235, .27);
	}

	.pfc-calculator__submit:focus-visible,
	.pfc-calculator__copy:focus-visible {
		outline: 3px solid rgba(37, 99, 235, .3);
		outline-offset: 3px;
	}

	.pfc-calculator__submit svg {
		width: 1.15rem;
		height: 1.15rem;
		fill: currentColor;
	}

	.pfc-calculator__privacy {
		display: flex;
		align-items: flex-start;
		gap: .45rem;
		margin: .9rem 0 0;
		color: var(--pfc-muted);
		font-size: .76rem;
		line-height: 1.5;
	}

	.pfc-calculator__error {
		margin: 1rem 0 0;
		padding: .7rem .85rem;
		border-left: 4px solid var(--pfc-danger);
		border-radius: 8px;
		background: #fef2f2;
		color: #991b1b;
		font-size: .86rem;
	}

	.pfc-calculator__result {
		padding: clamp(1.25rem, 3vw, 2.35rem);
		background: linear-gradient(180deg, #f4f8fd 0%, #eef6fb 100%);
		border-left: 1px solid var(--pfc-line);
	}

	.pfc-calculator__result[hidden] {
		display: none;
	}

	.pfc-calculator__result-top {
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
		gap: .75rem;
		padding-bottom: 1.1rem;
		border-bottom: 1px solid var(--pfc-line);
	}

	.pfc-calculator__result-label {
		display: block;
		margin-bottom: .35rem;
		color: var(--pfc-muted);
		font-size: .78rem;
		font-weight: 760;
		letter-spacing: .06em;
		text-transform: uppercase;
	}

	.pfc-calculator__result-value {
		display: block;
		color: var(--pfc-success);
		font-size: clamp(1.9rem, 5vw, 3rem);
		line-height: 1.1;
		letter-spacing: -.045em;
	}

	.pfc-calculator__copy {
		display: inline-flex;
		min-height: 40px;
		align-items: center;
		gap: .4rem;
		padding: .55rem .7rem;
		border: 1px solid var(--pfc-line);
		border-radius: 10px;
		background: #fff;
		color: var(--pfc-accent-strong);
		font: inherit;
		font-size: .74rem;
		font-weight: 750;
		cursor: pointer;
	}

	.pfc-calculator__copy svg {
		width: 1rem;
		height: 1rem;
		fill: currentColor;
	}

	.pfc-calculator__breakdown {
		margin: 1.1rem 0;
	}

	.pfc-calculator__breakdown > div {
		display: flex;
		align-items: baseline;
		justify-content: space-between;
		gap: .8rem;
		padding: .52rem 0;
		color: var(--pfc-muted);
		font-size: .86rem;
	}

	.pfc-calculator__breakdown dt,
	.pfc-calculator__breakdown dd {
		margin: 0;
	}

	.pfc-calculator__breakdown dd {
		color: var(--pfc-ink);
		font-weight: 750;
		text-align: right;
	}

	.pfc-calculator__breakdown-total {
		margin-top: .35rem;
		border-top: 1px solid var(--pfc-line);
		font-weight: 800;
	}

	.pfc-calculator__rate-used {
		padding: .8rem .9rem;
		border: 1px solid #c9d8e9;
		border-radius: 11px;
		background: rgba(255, 255, 255, .7);
	}

	.pfc-calculator__rate-used span {
		display: block;
		margin-bottom: .25rem;
		color: var(--pfc-muted);
		font-size: .7rem;
		font-weight: 750;
		letter-spacing: .06em;
		text-transform: uppercase;
	}

	.pfc-calculator__rate-used strong {
		font-size: .86rem;
		line-height: 1.45;
	}

	.pfc-calculator__result-note {
		margin: .8rem 0 0;
		color: var(--pfc-muted);
		font-size: .75rem;
		line-height: 1.55;
	}

	.pfc-calculator__footer {
		padding: 1rem clamp(1.25rem, 3.4vw, 2.5rem);
		border-top: 1px solid var(--pfc-line);
		background: #fff;
		color: var(--pfc-muted);
		font-size: .72rem;
		line-height: 1.55;
	}

	.pfc-calculator__footer p {
		margin: .22rem 0;
	}

	.pfc-calculator__footer a {
		color: var(--pfc-accent-strong);
		text-decoration: underline;
		text-underline-offset: 2px;
	}

	.pfc-calculator__noscript {
		margin: 0;
		padding: 1rem;
		background: #fff7ed;
		color: #9a3412;
		text-align: center;
	}

	.pfc-calculator-editor {
		padding: 2rem;
		border: 1px solid #cbd5e1;
		border-radius: 18px;
		background: linear-gradient(135deg, #f8fafc, #eff6ff);
	}

	.pfc-calculator-editor__badge {
		display: inline-block;
		padding: .3rem .55rem;
		border-radius: 999px;
		background: #dbeafe;
		color: #1d4ed8;
		font-size: .72rem;
		font-weight: 750;
		text-transform: uppercase;
	}

	@media (max-width: 820px) {
		.pfc-calculator__layout {
			grid-template-columns: 1fr;
		}

		.pfc-calculator__result {
			border-top: 1px solid var(--pfc-line);
			border-left: 0;
		}
	}

	@media (max-width: 560px) {
		.pfc-calculator {
			border-radius: 18px;
		}

		.pfc-calculator__fields,
		.pfc-calculator__custom-fields {
			grid-template-columns: 1fr;
		}

		.pfc-calculator__segmented {
			grid-template-columns: 1fr;
		}

		.pfc-calculator__result-top {
			align-items: stretch;
			flex-direction: column;
		}

		.pfc-calculator__copy {
			align-self: flex-start;
		}
	}

	@media (prefers-reduced-motion: reduce) {
		.pfc-calculator__segmented span,
		.pfc-calculator__submit {
			transition: none;
		}
	}
