@import url("https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0");

.toolos-shortcode {
	--toolos-ui-primary: var(--color-primary, #3f5ef7);
	--toolos-ui-primary-hover: var(--color-primary-hover, #324ad1);
	--toolos-ui-accent: var(--color-accent, #5c78ff);
	--toolos-ui-background: var(--color-background, #f8fafc);
	--toolos-ui-surface: var(--color-surface, #ffffff);
	--toolos-ui-surface-muted: var(--color-surface-muted, #f8fafc);
	--toolos-ui-surface-inverse: var(--color-surface-inverse, #0f172a);
	--toolos-ui-text-primary: var(--color-text-primary, #0f172a);
	--toolos-ui-text-secondary: var(--color-text-secondary, #475569);
	--toolos-ui-text-tertiary: var(--color-text-tertiary, #64748b);
	--toolos-ui-text-inverse: var(--color-text-inverse, #ffffff);
	--toolos-ui-border: var(--color-border, #e2e8f0);
	--toolos-ui-border-strong: var(--color-border-strong, #cbd5e1);
	--toolos-ui-focus-ring: var(--color-input-focus-ring, rgba(92, 120, 255, 0.24));
	--toolos-ui-status-info-background: var(--color-status-info-background, #eff6ff);
	--toolos-ui-status-info-text: var(--color-status-info-text, #1e40af);
	--toolos-ui-status-error-background: var(--color-status-error-background, #fef2f2);
	--toolos-ui-status-error-text: var(--color-status-error-text, #991b1b);
	--toolos-ui-input-background: var(--color-input-background, #ffffff);
	--toolos-ui-input-placeholder: var(--color-input-placeholder, #94a3b8);
	--toolos-ui-card-accent-border: var(--color-primary-200, #c7d7fe);
        --toolos-ui-chart-series-1: var(--color-chart-series-1, #2563eb);
        --toolos-ui-chart-series-2: var(--color-chart-series-2, #10b981);
        --toolos-ui-chart-series-3: var(--color-chart-series-3, #f59e0b);
        --toolos-ui-chart-series-4: var(--color-chart-series-4, #8b5cf6);
        --toolos-ui-chart-series-5: var(--color-chart-series-5, #0ea5e9);
        --toolos-ui-chart-series-muted: var(--color-chart-series-muted, #cbd5e1);
        --toolos-ui-chart-track: var(--color-chart-track, #dbeafe);
        --toolos-ui-chart-hole: var(--color-chart-hole, #f8fbff);
        --toolos-ui-chart-grid: var(--color-chart-grid, #f1f5f9);
        --toolos-ui-chart-axis: var(--color-chart-axis, #e2e8f0);
        --toolos-ui-chart-label: var(--color-chart-label, #64748b);
        --toolos-ui-chart-tooltip-background: var(--color-chart-tooltip-background, rgba(15, 23, 42, 0.94));
        --toolos-ui-chart-tooltip-text: var(--color-chart-tooltip-text, #ffffff);
        --toolos-ui-divider-subtle: var(--color-divider-subtle, #edf2f7);
        --toolos-ui-panel-subtle-background: var(--color-panel-subtle-background, #f8fafc);
        --toolos-ui-font-family-base: var(--font-family-base, Inter, Arial, sans-serif);
        --toolos-ui-radius-sm: var(--radius-sm, 6px);
        --toolos-ui-radius-md: var(--radius-md, 8px);
        --toolos-ui-radius-lg: var(--radius-lg, 12px);
        --toolos-ui-radius-xl: var(--radius-xl, 16px);
        --toolos-ui-shadow-sm: var(--shadow-sm, 0 1px 2px rgba(15, 23, 42, 0.05));
        --toolos-token-font-size-label-sm: 0.76rem;
        --toolos-token-font-size-label-md: 0.84rem;
        --toolos-token-font-size-body-sm: 0.84rem;
        --toolos-token-font-size-body-md: 0.9rem;
        --toolos-token-font-size-title-md: 1rem;
        --toolos-token-font-size-title-lg: 1.08rem;
        --toolos-token-font-size-display-lg: clamp(2.15rem, 3.2vw, 3.25rem);
        --toolos-token-space-1: 4px;
        --toolos-token-space-2: 8px;
        --toolos-token-space-3: 12px;
        --toolos-token-space-4: 16px;
        --toolos-token-space-5: 20px;
        --toolos-token-space-6: 24px;
        --toolos-token-radius-card: var(--toolos-ui-radius-xl);
        --toolos-token-radius-card-inner: 12px;
        --toolos-token-radius-pill: 999px;
        --toolos-token-border-width-default: 1px;
        --toolos-token-component-card-background: var(--toolos-ui-surface);
        --toolos-token-component-card-background-accent: #f8fbff;
        --toolos-token-component-card-border: #d7e5fb;
        --toolos-token-component-card-border-strong: #bfdbfe;
        --toolos-token-component-card-title: var(--toolos-ui-text-primary);
        --toolos-token-component-card-copy: var(--toolos-ui-text-tertiary);
        --toolos-token-component-card-copy-strong: var(--toolos-ui-text-secondary);
        --toolos-token-component-card-accent: #1d4ed8;
        --toolos-token-component-card-divider: var(--toolos-ui-chart-track);
        --toolos-token-component-card-shadow: var(--toolos-ui-shadow-sm);
        --toolos-token-component-pill-background: #f3f8ff;
        --toolos-token-component-pill-background-hover: #eaf2ff;
        --toolos-token-component-pill-border: #c7dbff;
        --toolos-token-component-pill-border-hover: #60a5fa;
        --toolos-token-component-pill-text: #1e3a8a;
        --toolos-token-component-pill-text-hover: var(--toolos-token-component-card-accent);
        --toolos-token-component-cta-background: #dbeafe;
        --toolos-token-component-cta-text: #1d4ed8;
        --toolos-token-component-footer-badge-background: #eff6ff;
        --toolos-token-component-footer-badge-text: #1d4ed8;
        --toolos-token-component-notice-warning-background: #fef2f2;
        --toolos-token-component-notice-warning-border: #fecaca;
        --toolos-token-component-notice-warning-title: #991b1b;
        --toolos-token-component-notice-warning-body: #7f1d1d;
        --toolos-token-component-notice-success-background: #f0fdf4;
        --toolos-token-component-notice-success-border: #bbf7d0;
        --toolos-token-component-notice-success-title: #166534;
        --toolos-token-component-notice-success-body: #14532d;
        --toolos-token-layout-export-shell-inset-x: 40px;
        --toolos-token-layout-export-shell-inset-y: 36px;
        --toolos-token-layout-export-shell-radius: 30px;
        --toolos-token-layout-export-shell-background: var(--toolos-ui-surface);
        --toolos-token-layout-export-shell-border: var(--toolos-ui-border);
        --toolos-token-layout-export-background-start: #eff6ff;
        --toolos-token-layout-export-background-mid: #f8fafc;
        --toolos-token-layout-export-background-end: #e2e8f0;
        --toolos-token-layout-export-background-orb: var(--toolos-token-component-card-accent);
        --toolos-token-layout-export-shadow-color: rgba(15, 23, 42, 0.08);
        --toolos-token-layout-export-shadow-blur: 24px;
        --toolos-token-layout-export-shadow-offset-y: 10px;
        --toolos-token-export-font-size-brand: 24px;
        --toolos-token-export-font-size-title-md: 24px;
        --toolos-token-export-font-size-title-lg: 28px;
        --toolos-token-export-font-size-title-xl: 34px;
        --toolos-token-export-font-size-body-sm: 16px;
        --toolos-token-export-font-size-body-md: 18px;
        --toolos-token-export-font-size-body-lg: 20px;
        --toolos-token-export-font-size-label-md: 18px;
        --toolos-token-export-font-size-label-lg: 20px;
        --toolos-token-export-font-size-metric-lg: 58px;
        --toolos-token-export-font-size-metric-xl: 64px;
	border: 1px solid var(--toolos-ui-border);
        border-radius: var(--toolos-ui-radius-lg);
	padding: 20px;
	background: var(--toolos-ui-surface);
	color: var(--toolos-ui-text-primary);
        box-shadow: var(--toolos-ui-shadow-sm);
        font-family: var(--toolos-ui-font-family-base);
}

.toolos-shortcode__toggle-switch {
        position: relative;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 48px;
        height: 20px;
        padding: 0;
        border: 1px solid #cbd5e1;
        border-radius: 6px;
        background: #ffffff;
        cursor: pointer;
        transition: all 0.25s ease;
        user-select: none;
        vertical-align: middle;
}

.toolos-shortcode__toggle-switch:hover {
        border-color: #60a5fa;
}

.toolos-shortcode__toggle-switch:focus-visible {
        outline: none;
        box-shadow: 0 0 0 3px rgba(92, 120, 255, 0.24);
}

/* Switch (Boolean toggle) */
.toolos-shortcode__switch {
        display: inline-flex;
        align-items: center;
        cursor: pointer;
        vertical-align: middle;
        flex-shrink: 0;
}

.toolos-shortcode__switch-input {
        position: absolute;
        opacity: 0;
        width: 0;
        height: 0;
        pointer-events: none;
}

.toolos-shortcode__switch-track {
        position: relative;
        display: inline-block;
        width: 40px;
        height: 22px;
        border-radius: 11px;
        background: #cbd5e1;
        transition: background 0.2s ease;
        flex-shrink: 0;
}

.toolos-shortcode__switch-thumb {
        position: absolute;
        top: 2px;
        left: 2px;
        width: 18px;
        height: 18px;
        border-radius: 50%;
        background: #ffffff;
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
        transition: transform 0.2s ease;
}

.toolos-shortcode__switch-input:checked + .toolos-shortcode__switch-track {
        background: #2563eb;
}

.toolos-shortcode__switch-input:checked + .toolos-shortcode__switch-track .toolos-shortcode__switch-thumb {
        transform: translateX(18px);
}

.toolos-shortcode__switch-input:focus-visible + .toolos-shortcode__switch-track {
        outline: 2px solid #60a5fa;
        outline-offset: 2px;
}

.toolos-shortcode__toggle-option {
        position: relative;
        z-index: 1;
        font-size: 9px;
        font-weight: 500;
        color: #94a3b8;
        transition: color 0.25s ease;
        width: 50%;
        text-align: center;
}

.toolos-shortcode__item--down_payment_amount[data-toolos-toggle-mode="percent"] .toolos-shortcode__toggle-option--percent,
.toolos-shortcode__item--down_payment_amount[data-toolos-toggle-mode="currency"] .toolos-shortcode__toggle-option--currency,
.toolos-shortcode__item--closing_costs_amount[data-toolos-toggle-mode="percent"] .toolos-shortcode__toggle-option--percent,
.toolos-shortcode__item--closing_costs_amount[data-toolos-toggle-mode="currency"] .toolos-shortcode__toggle-option--currency,
.toolos-shortcode__item--closing_costs[data-toolos-toggle-mode="percent"] .toolos-shortcode__toggle-option--percent,
.toolos-shortcode__item--closing_costs[data-toolos-toggle-mode="currency"] .toolos-shortcode__toggle-option--currency,
.toolos-shortcode__item--bsd_estimate[data-toolos-toggle-mode="percent"] .toolos-shortcode__toggle-option--percent,
.toolos-shortcode__item--bsd_estimate[data-toolos-toggle-mode="currency"] .toolos-shortcode__toggle-option--currency,
.toolos-shortcode__item--absd_estimate[data-toolos-toggle-mode="percent"] .toolos-shortcode__toggle-option--percent,
.toolos-shortcode__item--absd_estimate[data-toolos-toggle-mode="currency"] .toolos-shortcode__toggle-option--currency,
.toolos-shortcode__item--cash_rebate[data-toolos-toggle-mode="percent"] .toolos-shortcode__toggle-option--percent,
.toolos-shortcode__item--cash_rebate[data-toolos-toggle-mode="currency"] .toolos-shortcode__toggle-option--currency,
.toolos-shortcode__item--transfer_taxes[data-toolos-toggle-mode="percent"] .toolos-shortcode__toggle-option--percent,
.toolos-shortcode__item--transfer_taxes[data-toolos-toggle-mode="currency"] .toolos-shortcode__toggle-option--currency,
.toolos-shortcode__item--arrangement_fee[data-toolos-toggle-mode="percent"] .toolos-shortcode__toggle-option--percent,
.toolos-shortcode__item--arrangement_fee[data-toolos-toggle-mode="currency"] .toolos-shortcode__toggle-option--currency,
.toolos-shortcode__item--notary_fee[data-toolos-toggle-mode="percent"] .toolos-shortcode__toggle-option--percent,
.toolos-shortcode__item--notary_fee[data-toolos-toggle-mode="currency"] .toolos-shortcode__toggle-option--currency,
.toolos-shortcode__item--land_registry_fee[data-toolos-toggle-mode="percent"] .toolos-shortcode__toggle-option--percent,
.toolos-shortcode__item--land_registry_fee[data-toolos-toggle-mode="currency"] .toolos-shortcode__toggle-option--currency,
.toolos-shortcode__item--broker_fee[data-toolos-toggle-mode="percent"] .toolos-shortcode__toggle-option--percent,
.toolos-shortcode__item--broker_fee[data-toolos-toggle-mode="currency"] .toolos-shortcode__toggle-option--currency,
.toolos-shortcode__item--registration_fee[data-toolos-toggle-mode="percent"] .toolos-shortcode__toggle-option--percent,
.toolos-shortcode__item--registration_fee[data-toolos-toggle-mode="currency"] .toolos-shortcode__toggle-option--currency,
.toolos-shortcode__item--property_tax_rate_annual[data-toolos-toggle-mode="percent"] .toolos-shortcode__toggle-option--percent,
.toolos-shortcode__item--property_tax_rate_annual[data-toolos-toggle-mode="currency"] .toolos-shortcode__toggle-option--currency,
.toolos-shortcode__item--annual_property_tax_rate[data-toolos-toggle-mode="percent"] .toolos-shortcode__toggle-option--percent,
.toolos-shortcode__item--annual_property_tax_rate[data-toolos-toggle-mode="currency"] .toolos-shortcode__toggle-option--currency,
.toolos-shortcode__item--home_insurance_rate_annual[data-toolos-toggle-mode="percent"] .toolos-shortcode__toggle-option--percent,
.toolos-shortcode__item--home_insurance_rate_annual[data-toolos-toggle-mode="currency"] .toolos-shortcode__toggle-option--currency,
.toolos-shortcode__item--annual_home_insurance_rate[data-toolos-toggle-mode="percent"] .toolos-shortcode__toggle-option--percent,
.toolos-shortcode__item--annual_home_insurance_rate[data-toolos-toggle-mode="currency"] .toolos-shortcode__toggle-option--currency,
.toolos-shortcode__item--annual_pmi_rate[data-toolos-toggle-mode="percent"] .toolos-shortcode__toggle-option--percent,
.toolos-shortcode__item--annual_pmi_rate[data-toolos-toggle-mode="currency"] .toolos-shortcode__toggle-option--currency,
.toolos-shortcode__item--transfer_tax_percent[data-toolos-toggle-mode="percent"] .toolos-shortcode__toggle-option--percent,
.toolos-shortcode__item--transfer_tax_percent[data-toolos-toggle-mode="currency"] .toolos-shortcode__toggle-option--currency,
.toolos-shortcode__item--registration_fee_percent[data-toolos-toggle-mode="percent"] .toolos-shortcode__toggle-option--percent,
.toolos-shortcode__item--registration_fee_percent[data-toolos-toggle-mode="currency"] .toolos-shortcode__toggle-option--currency,
.toolos-shortcode__item--mortgage_registration_fee[data-toolos-toggle-mode="percent"] .toolos-shortcode__toggle-option--percent,
.toolos-shortcode__item--mortgage_registration_fee[data-toolos-toggle-mode="currency"] .toolos-shortcode__toggle-option--currency,
.toolos-shortcode__item--notary_fee_percent[data-toolos-toggle-mode="percent"] .toolos-shortcode__toggle-option--percent,
.toolos-shortcode__item--notary_fee_percent[data-toolos-toggle-mode="currency"] .toolos-shortcode__toggle-option--currency,
.toolos-shortcode__item--broker_fee_percent[data-toolos-toggle-mode="percent"] .toolos-shortcode__toggle-option--percent,
.toolos-shortcode__item--broker_fee_percent[data-toolos-toggle-mode="currency"] .toolos-shortcode__toggle-option--currency,
.toolos-shortcode__item--land_registry_fee_percent[data-toolos-toggle-mode="percent"] .toolos-shortcode__toggle-option--percent,
.toolos-shortcode__item--land_registry_fee_percent[data-toolos-toggle-mode="currency"] .toolos-shortcode__toggle-option--currency,
.toolos-shortcode__item--processing_fee_percent[data-toolos-toggle-mode="percent"] .toolos-shortcode__toggle-option--percent,
.toolos-shortcode__item--processing_fee_percent[data-toolos-toggle-mode="currency"] .toolos-shortcode__toggle-option--currency {
        color: #1e293b;
        font-weight: 600;
}

.toolos-shortcode__toggle-thumb {
        position: absolute;
        top: 1px;
        right: 1px;
        width: 22px;
        height: 16px;
        border-radius: 4px;
        background: #cbd5e1;
        transition: transform 0.25s ease;
}

.toolos-shortcode__item--down_payment_amount[data-toolos-toggle-mode="percent"] .toolos-shortcode__toggle-thumb,
.toolos-shortcode__item--closing_costs_amount[data-toolos-toggle-mode="percent"] .toolos-shortcode__toggle-thumb,
.toolos-shortcode__item--closing_costs[data-toolos-toggle-mode="percent"] .toolos-shortcode__toggle-thumb,
.toolos-shortcode__item--bsd_estimate[data-toolos-toggle-mode="percent"] .toolos-shortcode__toggle-thumb,
.toolos-shortcode__item--absd_estimate[data-toolos-toggle-mode="percent"] .toolos-shortcode__toggle-thumb,
.toolos-shortcode__item--cash_rebate[data-toolos-toggle-mode="percent"] .toolos-shortcode__toggle-thumb,
.toolos-shortcode__item--transfer_taxes[data-toolos-toggle-mode="percent"] .toolos-shortcode__toggle-thumb,
.toolos-shortcode__item--arrangement_fee[data-toolos-toggle-mode="percent"] .toolos-shortcode__toggle-thumb,
.toolos-shortcode__item--notary_fee[data-toolos-toggle-mode="percent"] .toolos-shortcode__toggle-thumb,
.toolos-shortcode__item--land_registry_fee[data-toolos-toggle-mode="percent"] .toolos-shortcode__toggle-thumb,
.toolos-shortcode__item--broker_fee[data-toolos-toggle-mode="percent"] .toolos-shortcode__toggle-thumb,
.toolos-shortcode__item--registration_fee[data-toolos-toggle-mode="percent"] .toolos-shortcode__toggle-thumb,
.toolos-shortcode__item--property_tax_rate_annual[data-toolos-toggle-mode="percent"] .toolos-shortcode__toggle-thumb,
.toolos-shortcode__item--annual_property_tax_rate[data-toolos-toggle-mode="percent"] .toolos-shortcode__toggle-thumb,
.toolos-shortcode__item--home_insurance_rate_annual[data-toolos-toggle-mode="percent"] .toolos-shortcode__toggle-thumb,
.toolos-shortcode__item--annual_home_insurance_rate[data-toolos-toggle-mode="percent"] .toolos-shortcode__toggle-thumb,
.toolos-shortcode__item--annual_pmi_rate[data-toolos-toggle-mode="percent"] .toolos-shortcode__toggle-thumb,
.toolos-shortcode__item--transfer_tax_percent[data-toolos-toggle-mode="percent"] .toolos-shortcode__toggle-thumb,
.toolos-shortcode__item--registration_fee_percent[data-toolos-toggle-mode="percent"] .toolos-shortcode__toggle-thumb,
.toolos-shortcode__item--mortgage_registration_fee[data-toolos-toggle-mode="percent"] .toolos-shortcode__toggle-thumb,
.toolos-shortcode__item--notary_fee_percent[data-toolos-toggle-mode="percent"] .toolos-shortcode__toggle-thumb,
.toolos-shortcode__item--broker_fee_percent[data-toolos-toggle-mode="percent"] .toolos-shortcode__toggle-thumb,
.toolos-shortcode__item--land_registry_fee_percent[data-toolos-toggle-mode="percent"] .toolos-shortcode__toggle-thumb,
.toolos-shortcode__item--processing_fee_percent[data-toolos-toggle-mode="percent"] .toolos-shortcode__toggle-thumb {
        transform: translateX(-22px);
}

.toolos-shortcode__item--health_height_cm[data-toolos-toggle-mode="metric"] .toolos-shortcode__toggle-option--metric,
.toolos-shortcode__item--health_height_cm[data-toolos-toggle-mode="imperial"] .toolos-shortcode__toggle-option--imperial,
.toolos-shortcode__item--health_weight_kg[data-toolos-toggle-mode="metric"] .toolos-shortcode__toggle-option--metric,
.toolos-shortcode__item--health_weight_kg[data-toolos-toggle-mode="imperial"] .toolos-shortcode__toggle-option--imperial,
.toolos-shortcode__item--health_target_weight_kg[data-toolos-toggle-mode="metric"] .toolos-shortcode__toggle-option--metric,
.toolos-shortcode__item--health_target_weight_kg[data-toolos-toggle-mode="imperial"] .toolos-shortcode__toggle-option--imperial {
        color: #1e293b;
        font-weight: 600;
}

.toolos-shortcode__item--health_height_cm[data-toolos-toggle-mode="metric"] .toolos-shortcode__toggle-thumb,
.toolos-shortcode__item--health_weight_kg[data-toolos-toggle-mode="metric"] .toolos-shortcode__toggle-thumb,
.toolos-shortcode__item--health_target_weight_kg[data-toolos-toggle-mode="metric"] .toolos-shortcode__toggle-thumb {
        transform: translateX(-22px);
}

@media (prefers-color-scheme: dark) {
	.toolos-shortcode {
		box-shadow: 0 1px 2px rgba(2, 6, 23, 0.32);
	}
}

@media (max-width: 768px) {
        .toolos-shortcode__share-mode-group,
        .toolos-shortcode__share-preview-metrics,
        .toolos-shortcode__share-socials,
        .toolos-shortcode__share-copy-row,
        .toolos-shortcode__share-export-buttons {
                grid-template-columns: 1fr;
                flex-direction: column;
        }

        .toolos-shortcode__share-social {
                width: 100%;
                justify-content: center;
        }
}

.toolos-shortcode.is-loading {
	opacity: 0.7;
	pointer-events: none;
}

.toolos-shortcode h3,
.toolos-shortcode h4 {
	margin: 0 0 12px;
}

.toolos-shortcode p {
	margin: 0;
}

.toolos-shortcode__section {
	margin-top: 18px;
}

.toolos-shortcode__microcopy {
	display: inline-block;
	margin-bottom: 8px;
	font-size: 12px;
	color: var(--toolos-ui-text-tertiary);
}

.toolos-shortcode__help-btn {
        position: relative;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 16px;
        height: 16px;
        margin-left: 4px;
        padding: 0;
        border: 1px solid var(--toolos-ui-border);
        border-radius: 50%;
        background: var(--toolos-ui-surface-muted);
        cursor: help;
        transition: all 0.2s ease;
        vertical-align: middle;
}

.toolos-shortcode__help-btn:hover {
        border-color: var(--toolos-ui-accent);
        background: var(--toolos-ui-accent);
}

.toolos-shortcode__help-icon {
        font-size: 10px;
        font-weight: 600;
        color: var(--toolos-ui-text-secondary);
        line-height: 1;
}

.toolos-shortcode__help-btn:hover .toolos-shortcode__help-icon {
        color: #ffffff;
}

.toolos-shortcode__help-btn .toolos-shortcode__tooltip {
        position: fixed;
        display: none;
        max-width: 280px;
        padding: 10px 12px;
        border-radius: 6px;
        background: #ffffff;
        color: #707070;
        font-size: 12px;
        font-weight: 400;
        line-height: 1.5;
        text-align: left;
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
        border: 1px solid #e5e7eb;
        z-index: 9999;
        pointer-events: none;
        white-space: normal;
}

.toolos-shortcode__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 12px;
}

.toolos-shortcode__item {
	padding: 12px;
	border-radius: 10px;
	background: var(--toolos-ui-surface-muted);
}

.toolos-shortcode__label {
	display: block;
	margin-bottom: 6px;
	font-size: 12px;
	color: var(--toolos-ui-text-secondary);
	text-transform: none;
	letter-spacing: 0;
}

.toolos-shortcode__item--down_payment_amount .toolos-shortcode__label,
.toolos-shortcode__item--closing_costs_amount .toolos-shortcode__label,
.toolos-shortcode__item--closing_costs .toolos-shortcode__label,
.toolos-shortcode__item--bsd_estimate .toolos-shortcode__label,
.toolos-shortcode__item--absd_estimate .toolos-shortcode__label,
.toolos-shortcode__item--cash_rebate .toolos-shortcode__label,
.toolos-shortcode__item--transfer_taxes .toolos-shortcode__label,
.toolos-shortcode__item--arrangement_fee .toolos-shortcode__label,
.toolos-shortcode__item--notary_fee .toolos-shortcode__label,
.toolos-shortcode__item--land_registry_fee .toolos-shortcode__label,
.toolos-shortcode__item--broker_fee .toolos-shortcode__label,
.toolos-shortcode__item--registration_fee .toolos-shortcode__label,
.toolos-shortcode__item--property_tax_rate_annual .toolos-shortcode__label,
.toolos-shortcode__item--annual_property_tax_rate .toolos-shortcode__label,
.toolos-shortcode__item--home_insurance_rate_annual .toolos-shortcode__label,
.toolos-shortcode__item--annual_home_insurance_rate .toolos-shortcode__label,
.toolos-shortcode__item--transfer_tax_percent .toolos-shortcode__label,
.toolos-shortcode__item--registration_fee_percent .toolos-shortcode__label,
.toolos-shortcode__item--mortgage_registration_fee .toolos-shortcode__label,
.toolos-shortcode__item--notary_fee_percent .toolos-shortcode__label,
.toolos-shortcode__item--broker_fee_percent .toolos-shortcode__label,
.toolos-shortcode__item--land_registry_fee_percent .toolos-shortcode__label,
.toolos-shortcode__item--processing_fee_percent .toolos-shortcode__label {
        display: flex;
        align-items: center;
        justify-content: space-between;
}

.toolos-shortcode__label-content {
        display: inline-flex;
        align-items: center;
}

.toolos-shortcode__value {
	font-size: 16px;
	font-weight: 600;
}

.toolos-shortcode__status {
	display: inline-block;
	padding: 4px 10px;
	border-radius: 999px;
	background: var(--toolos-ui-status-info-background);
	color: var(--toolos-ui-status-info-text);
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
}

.toolos-errors {
	padding: 12px;
	border-radius: 10px;
	background: var(--toolos-ui-status-error-background);
	color: var(--toolos-ui-status-error-text);
}

.toolos-errors p:last-child,
.toolos-field-errors p:last-child {
	margin-bottom: 0;
}

.toolos-report-cards {
	display: grid;
	gap: 12px;
}

.toolos-report-card {
	padding: 16px;
	border: 1px solid var(--toolos-ui-border);
	border-radius: 10px;
	background: var(--toolos-ui-surface-muted);
}

.toolos-report-card ul,
.toolos-shortcode__list {
	margin: 0;
	padding-left: 18px;
}

.toolos-shortcode__form-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 12px;
}

.toolos-shortcode__mortgage-shell {
        display: grid;
        grid-template-columns: minmax(0, 1.25fr) minmax(300px, 0.9fr);
        gap: 18px;
        align-items: start;
}

.toolos-shortcode__form--mortgage {
        min-width: 0;
}

.toolos-interaction-card--split {
        gap: 18px;
}

.toolos-interaction-card--multi {
        gap: 0;
}

.toolos-shortcode__card-section {
        display: flex;
        flex-direction: column;
        gap: 14px;
        padding: 18px 0;
}

.toolos-shortcode__card-section + .toolos-shortcode__card-section {
        border-top: 1px solid var(--toolos-ui-border);
}

.toolos-shortcode__card-section .toolos-interaction-card__header h5 {
        font-size: 16px;
}

.toolos-shortcode__group {
        display: flex;
        flex-direction: column;
        gap: 12px;
}

.toolos-shortcode__group-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
}

.toolos-shortcode__group-title {
        margin: 0;
        font-size: 12px;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: var(--toolos-ui-text-secondary);
}

.toolos-shortcode__group--advanced {
        display: grid;
        gap: 12px;
        padding: 18px;
        border: 1px solid #dbe5ef;
        border-radius: 14px;
        background: #ffffff;
}

.toolos-shortcode__advanced-head {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        gap: 16px;
}

.toolos-shortcode__advanced-copy-block {
        display: grid;
        gap: 4px;
}

.toolos-shortcode__advanced-title {
        margin: 0;
        color: #0f172a;
        font-size: 14px;
        font-weight: 700;
        line-height: 1.35;
}

.toolos-shortcode__advanced-copy {
        margin: 0;
        color: #64748b;
        font-size: 13px;
        line-height: 1.5;
}

.toolos-shortcode__advanced-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 58px;
        min-width: 58px;
        height: 34px;
        padding: 0;
        border: 0;
        background: transparent;
        color: inherit;
        cursor: pointer;
        font: inherit;
        transition: none;
}

.toolos-shortcode__advanced-toggle:hover,
.toolos-shortcode__advanced-toggle:focus-visible {
        outline: none;
}

.toolos-shortcode__advanced-toggle:focus-visible .toolos-shortcode__advanced-toggle-track {
        box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.14);
}

.toolos-shortcode__advanced-toggle-track {
        position: relative;
        display: inline-flex;
        align-items: center;
        width: 58px;
        height: 34px;
        padding: 4px;
        border: 1px solid rgba(148, 163, 184, 0.24);
        border-radius: 12px;
        background: #e2e8f0;
        transition: background-color 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.toolos-shortcode__advanced-toggle-thumb {
        width: 24px;
        height: 24px;
        border-radius: 8px;
        background: #ffffff;
        transform: translateX(0);
        transition: transform 0.2s ease;
}

.toolos-shortcode__group--advanced.is-expanded .toolos-shortcode__advanced-toggle-track {
        border-color: #2563eb;
        background: #2563eb;
}

.toolos-shortcode__group--advanced.is-expanded .toolos-shortcode__advanced-toggle-thumb {
        transform: translateX(24px);
}

.toolos-shortcode__advanced-content {
        padding-top: 4px;
        border-top: 1px solid #eef2f7;
        display: grid;
        gap: 18px;
}

.toolos-shortcode__advanced-content[hidden] {
        display: none !important;
}

.toolos-shortcode__advanced-section {
        display: grid;
        gap: 12px;
}

.toolos-shortcode__advanced-section + .toolos-shortcode__advanced-section {
        padding-top: 18px;
        border-top: 1px solid #eef2f7;
}

.toolos-shortcode__advanced-section-head {
        display: grid;
        gap: 4px;
}

.toolos-shortcode__advanced-section-title {
        margin: 0;
        color: #0f172a;
        font-size: 12px;
        font-weight: 700;
        letter-spacing: 0.06em;
        text-transform: uppercase;
}

.toolos-shortcode__advanced-section-copy {
        margin: 0;
        color: #64748b;
        font-size: 12px;
        line-height: 1.5;
}

@media (max-width: 680px) {
        .toolos-shortcode__advanced-head {
                grid-template-columns: 1fr;
        }

        .toolos-shortcode__advanced-toggle {
                justify-self: start;
        }
}

.toolos-shortcode__result-panel {
        display: flex;
        flex-direction: column;
        gap: var(--toolos-token-space-5);
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        min-width: 0;
}

.toolos-shortcode__result-groups {
        display: grid;
        gap: var(--toolos-token-space-5);
}

.toolos-shortcode__section--area-split {
        display: block;
}

.toolos-shortcode__form--area {
        min-width: 0;
}

.toolos-shortcode__area-hidden-fields {
        display: none;
}

.toolos-interaction-card--area {
        gap: 22px;
}

.toolos-shortcode__area-top {
        display: grid;
        grid-template-columns: 1fr;
        gap: 18px;
        align-items: start;
}

.toolos-shortcode__area-inputs {
        display: grid;
        gap: 16px;
        min-width: 0;
}

.toolos-shortcode__area-field-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
}

.toolos-shortcode__volume-field-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
}

.toolos-shortcode__area-shape-field,
.toolos-shortcode__area-unit-field,
.toolos-shortcode__area-result-unit {
        display: grid;
        gap: 8px;
}

.toolos-shortcode__item--area-target {
        display: grid;
        gap: 8px;
}

.toolos-shortcode__item--volume-target {
        display: grid;
        gap: 8px;
}

.toolos-shortcode__item--area-unit-combo {
        min-width: 0;
}

.toolos-shortcode__area-input-inline {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 0;
        align-items: stretch;
        border: 1px solid var(--toolos-ui-border-strong);
        border-radius: 8px;
        background: var(--toolos-ui-input-background);
        overflow: hidden;
        transition: border-color 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
}

.toolos-shortcode__area-input-inline:focus-within {
        border-color: var(--toolos-ui-primary);
        box-shadow: 0 0 0 3px var(--toolos-ui-focus-ring);
}

.toolos-shortcode__area-unit-proxy {
        width: auto;
        field-sizing: content;
        min-width: 0;
        max-width: none;
        padding-left: 5px;
        padding-right: 5px;
        text-align: left;
        flex-shrink: 0;
        border: 0 !important;
        border-left: 0 !important;
        border-right: 0 !important;
        border-top: 0 !important;
        border-bottom: 0 !important;
        border-radius: 0;
        background: transparent;
        box-shadow: none !important;
        outline: none;
}

.toolos-shortcode__area-unit-proxy-shell {
        display: inline-flex;
        align-items: stretch;
        width: auto;
        color: var(--toolos-ui-text-primary);
}

.toolos-shortcode__area-input-inline > .toolos-shortcode__input {
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
}

.toolos-shortcode__area-input-inline .toolos-shortcode__area-unit-proxy {
        border: 0 !important;
        box-shadow: none !important;
}

.toolos-shortcode__area-input-inline > .toolos-shortcode__input:focus,
.toolos-shortcode__area-unit-proxy:focus {
        box-shadow: none;
}

.toolos-shortcode__area-lock-button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: auto;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        color: var(--toolos-ui-text-secondary);
        cursor: pointer;
        transition: color 0.15s ease;
}

.toolos-shortcode__area-lock-button.is-locked {
        color: var(--toolos-ui-text-secondary);
}

.toolos-shortcode__area-lock-button:hover,
.toolos-shortcode__area-lock-button:focus-visible {
        background: transparent;
        box-shadow: none;
        color: var(--toolos-ui-text-primary);
}

.toolos-shortcode__area-lock-button-icon {
        font-size: 16px;
        line-height: 1;
        font-family: "Material Symbols Outlined";
        font-style: normal;
        font-weight: 400;
        letter-spacing: normal;
        text-transform: none;
        display: inline-block;
        white-space: nowrap;
        word-wrap: normal;
        direction: ltr;
        -webkit-font-smoothing: antialiased;
        font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;
}

.toolos-shortcode__area-reverse-help {
        margin: 0;
        font-size: 12px;
        line-height: 1.5;
        color: var(--toolos-ui-text-muted);
}

.toolos-shortcode__area-reverse-help.is-warning {
        color: #b45309;
}

.toolos-shortcode__volume-reverse-help {
        margin: 0;
        font-size: 12px;
        line-height: 1.5;
        color: var(--toolos-ui-text-muted);
}

.toolos-shortcode__volume-reverse-help.is-warning {
        color: #b45309;
}

.toolos-shortcode__distance-field-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
}

.toolos-shortcode__item--distance-target {
        display: grid;
        gap: 8px;
}

.toolos-shortcode__distance-reverse-help {
        margin: 0;
        font-size: 12px;
        line-height: 1.5;
        color: var(--toolos-ui-text-muted);
}

.toolos-shortcode__distance-reverse-help.is-warning {
        color: #b45309;
}

.toolos-shortcode__form-grid--area-dimensions {
        grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.toolos-shortcode__area-diagram-panel {
        display: block;
        padding: 18px;
        border: 1px solid var(--toolos-ui-border);
        border-radius: 18px;
        background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
        min-width: 0;
}

.toolos-shortcode__area-diagram-canvas {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 240px;
        padding: 8px;
        border-radius: 14px;
        background: rgba(255, 255, 255, 0.8);
}

.toolos-shortcode__area-diagram {
        display: block;
        width: 100%;
        max-width: 420px;
        height: auto;
        margin: 0 auto;
        overflow: visible;
}

.toolos-shortcode__result-panel--area {
        gap: 18px;
}

.toolos-shortcode__result-groups--area {
        grid-template-columns: 1fr;
        align-items: start;
}

.toolos-shortcode__summary-hero--area {
        grid-column: auto;
}

.toolos-shortcode__summary-hero--area .toolos-shortcode__summary-primary-value {
        font-size: clamp(2rem, 4vw, 2.8rem);
        line-height: 1.05;
        word-break: break-word;
}

.toolos-shortcode__summary-hero-list--area {
        gap: 10px;
}

.toolos-shortcode__summary-card--area-formula,
.toolos-shortcode__summary-card--area-calculation,
.toolos-shortcode__summary-card--area-details {
        min-width: 0;
}

@media (max-width: 900px) {
        .toolos-shortcode__area-top {
                grid-template-columns: 1fr;
        }

        .toolos-shortcode__result-groups--area {
                grid-template-columns: 1fr;
        }
}

@media (max-width: 640px) {
        .toolos-shortcode__area-input-inline {
                grid-template-columns: minmax(0, 1fr) auto;
        }

        .toolos-shortcode__area-unit-proxy {
                min-width: 0;
                max-width: none;
        }

        .toolos-shortcode__area-diagram-canvas {
                min-height: 200px;
                padding: 0;
        }

}

.toolos-shortcode__cross-links {
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
        margin-top: 8px;
}

.toolos-shortcode__volume-hidden-fields {
        display: none;
}

.toolos-interaction-card--volume {
        gap: 22px;
}

.toolos-shortcode__volume-top {
        display: grid;
        grid-template-columns: 1fr;
        gap: 18px;
        align-items: start;
}

.toolos-shortcode__volume-inputs {
        display: grid;
        gap: 16px;
        min-width: 0;
}

.toolos-shortcode__volume-shape-field,
.toolos-shortcode__volume-result-unit {
        display: grid;
        gap: 8px;
}

.toolos-shortcode__item--volume-unit-combo {
        min-width: 0;
}

.toolos-shortcode__volume-input-inline {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 0;
        align-items: stretch;
        border: 1px solid var(--toolos-ui-border-strong);
        border-radius: 8px;
        background: var(--toolos-ui-input-background);
        overflow: hidden;
        transition: border-color 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
}

.toolos-shortcode__volume-input-inline:focus-within {
        border-color: var(--toolos-ui-primary);
        box-shadow: 0 0 0 3px var(--toolos-ui-focus-ring);
}

.toolos-shortcode__volume-unit-proxy {
        width: auto;
        field-sizing: content;
        min-width: 0;
        max-width: none;
        padding-left: 5px;
        padding-right: 5px;
        text-align: left;
        flex-shrink: 0;
        border: 0 !important;
        border-left: 0 !important;
        border-right: 0 !important;
        border-top: 0 !important;
        border-bottom: 0 !important;
        border-radius: 0;
        background: transparent;
        box-shadow: none !important;
        outline: none;
}

.toolos-shortcode__volume-unit-proxy-shell {
        display: inline-flex;
        align-items: stretch;
        width: auto;
        color: var(--toolos-ui-text-primary);
}

.toolos-shortcode__volume-input-inline > .toolos-shortcode__input {
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
}

.toolos-shortcode__volume-input-inline .toolos-shortcode__volume-unit-proxy {
        border: 0 !important;
        box-shadow: none !important;
}

.toolos-shortcode__volume-input-inline > .toolos-shortcode__input:focus,
.toolos-shortcode__volume-unit-proxy:focus {
        box-shadow: none;
}

.toolos-shortcode__form-grid--volume-dimensions {
        grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.toolos-shortcode__volume-diagram-panel {
        display: block;
        padding: 18px;
        border: 1px solid var(--toolos-ui-border);
        border-radius: 18px;
        background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
        min-width: 0;
}

.toolos-shortcode__volume-diagram-canvas {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 260px;
        padding: 8px;
        border-radius: 14px;
        background: rgba(255, 255, 255, 0.8);
}

.toolos-shortcode__volume-diagram {
        display: block;
        width: 100%;
        max-width: 420px;
        height: auto;
        margin: 0 auto;
        overflow: visible;
}

.toolos-shortcode__result-panel--volume {
        gap: 18px;
}

.toolos-shortcode__result-groups--volume {
        grid-template-columns: 1fr;
        align-items: start;
}

.toolos-shortcode__summary-hero--volume {
        grid-column: auto;
}

.toolos-shortcode__summary-hero--volume .toolos-shortcode__summary-primary-value {
        font-size: clamp(2rem, 4vw, 2.8rem);
        line-height: 1.05;
        word-break: break-word;
}

.toolos-shortcode__summary-hero-list--volume {
        gap: 10px;
}

.toolos-shortcode__summary-card--volume-formula,
.toolos-shortcode__summary-card--volume-calculation,
.toolos-shortcode__summary-card--volume-details {
        min-width: 0;
}

@media (max-width: 900px) {
        .toolos-shortcode__volume-top {
                grid-template-columns: 1fr;
        }

        .toolos-shortcode__result-groups--volume {
                grid-template-columns: 1fr;
        }
}

@media (max-width: 640px) {
        .toolos-shortcode__volume-input-inline {
                grid-template-columns: minmax(0, 1fr) auto;
        }

        .toolos-shortcode__volume-unit-proxy {
                min-width: 0;
                max-width: none;
        }

        .toolos-shortcode__volume-diagram-canvas {
                min-height: 220px;
                padding: 0;
        }
}

.toolos-shortcode__section--slope-split {
        display: block;
}

.toolos-shortcode__form--slope {
        min-width: 0;
}

.toolos-shortcode__slope-hidden-fields {
        display: none;
}

.toolos-interaction-card--slope {
        gap: 22px;
}

.toolos-shortcode__slope-top {
        display: grid;
        grid-template-columns: 1fr;
        gap: 18px;
        align-items: start;
}

.toolos-shortcode__slope-inputs {
        display: grid;
        gap: 16px;
        min-width: 0;
}

.toolos-shortcode__slope-mode-field {
        display: grid;
        gap: 8px;
}

.toolos-shortcode__item--slope-unit-combo {
        min-width: 0;
}

.toolos-shortcode__slope-input-inline {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 0;
        align-items: stretch;
        border: 1px solid var(--toolos-ui-border-strong);
        border-radius: 8px;
        background: var(--toolos-ui-input-background);
        overflow: hidden;
        transition: border-color 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
}

.toolos-shortcode__slope-input-inline:focus-within {
        border-color: var(--toolos-ui-primary);
        box-shadow: 0 0 0 3px var(--toolos-ui-focus-ring);
}

.toolos-shortcode__slope-unit-proxy {
        width: auto;
        field-sizing: content;
        min-width: 0;
        max-width: none;
        padding-left: 5px;
        padding-right: 5px;
        text-align: left;
        flex-shrink: 0;
        border: 0 !important;
        border-left: 0 !important;
        border-right: 0 !important;
        border-top: 0 !important;
        border-bottom: 0 !important;
        border-radius: 0;
        background: transparent;
        box-shadow: none !important;
        outline: none;
}

.toolos-shortcode__slope-unit-proxy-shell {
        display: inline-flex;
        align-items: stretch;
        width: auto;
        color: var(--toolos-ui-text-primary);
}

.toolos-shortcode__slope-input-inline > .toolos-shortcode__input {
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
}

.toolos-shortcode__slope-input-inline .toolos-shortcode__slope-unit-proxy {
        border: 0 !important;
        box-shadow: none !important;
}

.toolos-shortcode__slope-input-inline > .toolos-shortcode__input:focus,
.toolos-shortcode__slope-unit-proxy:focus {
        box-shadow: none;
}

.toolos-shortcode__form-grid--slope-dimensions {
        grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.toolos-shortcode__slope-diagram-panel {
        display: block;
        padding: 18px;
        border: 1px solid var(--toolos-ui-border);
        border-radius: 18px;
        background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
        min-width: 0;
}

.toolos-shortcode__slope-diagram-canvas {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 240px;
        padding: 8px;
        border-radius: 14px;
        background: rgba(255, 255, 255, 0.8);
}

.toolos-shortcode__slope-diagram {
        display: block;
        width: 100%;
        max-width: 420px;
        height: auto;
        margin: 0 auto;
        overflow: visible;
}

.toolos-shortcode__result-panel--slope {
        gap: 18px;
}

.toolos-shortcode__result-groups--slope {
        grid-template-columns: 1fr;
        align-items: start;
}

.toolos-shortcode__summary-hero--slope {
        grid-column: auto;
}

.toolos-shortcode__summary-hero--slope .toolos-shortcode__summary-primary-value {
        font-size: clamp(2rem, 4vw, 2.8rem);
        line-height: 1.05;
        word-break: break-word;
}

.toolos-shortcode__summary-hero-list--slope {
        gap: 10px;
}

.toolos-shortcode__summary-card--slope-formula,
.toolos-shortcode__summary-card--slope-calculation,
.toolos-shortcode__summary-card--slope-details {
        min-width: 0;
}

.toolos-shortcode__slope-calculation-steps {
        display: grid;
        gap: 8px;
}

@media (max-width: 900px) {
        .toolos-shortcode__slope-top {
                grid-template-columns: 1fr;
        }

        .toolos-shortcode__result-groups--slope {
                grid-template-columns: 1fr;
        }
}

@media (max-width: 640px) {
        .toolos-shortcode__slope-input-inline {
                grid-template-columns: minmax(0, 1fr) auto;
        }

        .toolos-shortcode__slope-unit-proxy {
                min-width: 0;
                max-width: none;
        }

        .toolos-shortcode__slope-diagram-canvas {
                min-height: 200px;
                padding: 0;
        }
}

.toolos-shortcode__section--distance-split {
        display: block;
}

.toolos-shortcode__form--distance {
        min-width: 0;
}

.toolos-shortcode__distance-hidden-fields {
        display: none;
}

.toolos-interaction-card--distance {
        gap: 22px;
}

.toolos-shortcode__distance-top {
        display: grid;
        grid-template-columns: 1fr;
        gap: 18px;
        align-items: start;
}

.toolos-shortcode__distance-inputs {
        display: grid;
        gap: 16px;
        min-width: 0;
}

.toolos-shortcode__distance-input-inline {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 0;
        align-items: stretch;
        border: 1px solid var(--toolos-ui-border-strong);
        border-radius: 8px;
        background: var(--toolos-ui-input-background);
        overflow: hidden;
        transition: border-color 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
}

.toolos-shortcode__distance-input-inline:focus-within {
        border-color: var(--toolos-ui-primary);
        box-shadow: 0 0 0 3px var(--toolos-ui-focus-ring);
}

.toolos-shortcode__distance-input-inline > .toolos-shortcode__input {
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
}

.toolos-shortcode__distance-input-inline > .toolos-shortcode__input:focus {
        box-shadow: none;
}

.toolos-shortcode__distance-action-bar {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        align-items: center;
}

.toolos-shortcode__distance-mode-field,
.toolos-shortcode__distance-point-group,
.toolos-shortcode__item--distance-unit {
        display: grid;
        gap: 8px;
}

.toolos-shortcode__distance-point-group {
        padding: 14px 16px;
        border: 1px solid var(--toolos-ui-border);
        border-radius: 14px;
        background: rgba(255, 255, 255, 0.9);
}

.toolos-shortcode__distance-point-title {
        margin: 0;
        font-size: 0.95rem;
        font-weight: 600;
        color: var(--toolos-ui-text-primary);
}

.toolos-shortcode__form-grid--distance-dimensions {
        grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
}

.toolos-shortcode__distance-diagram-panel {
        display: block;
        padding: 18px;
        border: 1px solid var(--toolos-ui-border);
        border-radius: 18px;
        background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
        min-width: 0;
}

.toolos-shortcode__distance-diagram-canvas {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 260px;
        padding: 8px;
        border-radius: 14px;
        background: rgba(255, 255, 255, 0.8);
}

.toolos-shortcode__distance-diagram {
        display: block;
        width: 100%;
        max-width: 420px;
        height: auto;
        margin: 0 auto;
        overflow: visible;
}

.toolos-shortcode__result-panel--distance {
        gap: 18px;
}

.toolos-shortcode__result-groups--distance {
        grid-template-columns: 1fr;
        align-items: start;
}

.toolos-shortcode__summary-hero--distance {
        grid-column: auto;
}

.toolos-shortcode__summary-hero--distance .toolos-shortcode__summary-primary-value {
        font-size: clamp(2rem, 4vw, 2.8rem);
        line-height: 1.05;
        word-break: break-word;
}

.toolos-shortcode__summary-hero-list--distance {
        gap: 10px;
}

.toolos-shortcode__summary-card--distance-formula,
.toolos-shortcode__summary-card--distance-calculation,
.toolos-shortcode__summary-card--distance-details {
        min-width: 0;
}

.toolos-shortcode__distance-calculation-steps {
        display: grid;
        gap: 8px;
}

@media (max-width: 900px) {
        .toolos-shortcode__distance-top {
                grid-template-columns: 1fr;
        }

        .toolos-shortcode__result-groups--distance {
                grid-template-columns: 1fr;
        }
}

@media (max-width: 640px) {
        .toolos-shortcode__distance-diagram-canvas {
                min-height: 220px;
                padding: 0;
        }
}

.toolos-shortcode__section--ratio-split {
        display: block;
}

.toolos-shortcode__form--ratio {
        min-width: 0;
}

.toolos-interaction-card--ratio {
        gap: 22px;
}

.toolos-shortcode__ratio-top {
        display: grid;
        grid-template-columns: 1fr;
        gap: 18px;
        align-items: start;
}

.toolos-shortcode__ratio-inputs {
        display: grid;
        gap: 16px;
        min-width: 0;
}

.toolos-shortcode__ratio-action-bar,
.toolos-shortcode__ratio-mode-field,
.toolos-shortcode__ratio-group {
        display: grid;
        gap: 8px;
}

.toolos-shortcode__ratio-action-bar {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 10px;
}

.toolos-shortcode__ratio-group {
        padding: 14px 16px;
        border: 1px solid var(--toolos-ui-border);
        border-radius: 14px;
        background: rgba(255, 255, 255, 0.9);
}

.toolos-shortcode__ratio-group-title {
        margin: 0;
        font-size: 0.95rem;
        font-weight: 600;
        color: var(--toolos-ui-text-primary);
}

.toolos-shortcode__form-grid--ratio {
        grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
}

.toolos-shortcode__ratio-diagram-panel {
        display: block;
        padding: 18px;
        border: 1px solid var(--toolos-ui-border);
        border-radius: 18px;
        background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
        min-width: 0;
}

.toolos-shortcode__ratio-diagram-canvas {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 240px;
        padding: 8px;
        border-radius: 14px;
        background: rgba(255, 255, 255, 0.8);
}

.toolos-shortcode__ratio-diagram {
        display: block;
        width: 100%;
        max-width: 420px;
        height: auto;
        margin: 0 auto;
        overflow: visible;
}

.toolos-shortcode__result-panel--ratio {
        gap: 18px;
}

.toolos-shortcode__result-groups--ratio {
        grid-template-columns: 1fr;
        align-items: start;
}

.toolos-shortcode__summary-hero--ratio {
        grid-column: auto;
}

.toolos-shortcode__summary-hero--ratio .toolos-shortcode__summary-primary-value {
        font-size: clamp(2rem, 4vw, 2.8rem);
        line-height: 1.05;
        word-break: break-word;
}

.toolos-shortcode__summary-hero-list--ratio {
        gap: 10px;
}

.toolos-shortcode__summary-card--ratio-formula,
.toolos-shortcode__summary-card--ratio-calculation {
        min-width: 0;
}

.toolos-shortcode__ratio-calculation-steps {
        display: grid;
        gap: 8px;
}

@media (max-width: 900px) {
        .toolos-shortcode__ratio-top {
                grid-template-columns: 1fr;
        }

        .toolos-shortcode__result-groups--ratio {
                grid-template-columns: 1fr;
        }
}

@media (max-width: 640px) {
        .toolos-shortcode__ratio-diagram-canvas {
                min-height: 220px;
                padding: 0;
        }
}

.toolos-shortcode__cross-link {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 12px 18px;
        border: 1px solid #cbd5e1;
        border-radius: 12px;
        background: #f8fafc;
        color: #1e40af;
        text-decoration: none;
        font-size: 0.9rem;
        font-weight: 600;
        line-height: 1.4;
        transition: border-color 0.15s ease, background 0.15s ease;
}

.toolos-shortcode__cross-link:hover,
.toolos-shortcode__cross-link:focus {
        border-color: #1e40af;
        background: #eff6ff;
}

.toolos-shortcode__cross-link-text {
        color: #334155;
        font-weight: 400;
}

.toolos-shortcode__cross-link-arrow {
        color: #1e40af;
        font-weight: 700;
}

.toolos-shortcode__cross-link-label {
        color: #1e40af;
        font-weight: 700;
}

.toolos-shortcode__result-empty {
        display: grid;
        place-items: center;
        gap: 10px;
        min-height: 220px;
        padding: 24px;
        border: 1px dashed #cbd5e1;
        border-radius: 16px;
        background: #ffffff;
        text-align: center;
}

.toolos-shortcode__result-empty-title {
        margin: 0;
        color: #0f172a;
        font-size: 1.02rem;
        font-weight: 700;
        line-height: 1.35;
}

.toolos-shortcode__result-empty-copy {
        margin: 0;
        max-width: 42ch;
        color: #64748b;
        font-size: 0.92rem;
        line-height: 1.65;
}

.toolos-shortcode__summary-hero,
.toolos-shortcode__result-value-card {
        display: grid;
        gap: var(--toolos-token-space-5);
        padding: var(--toolos-token-space-6);
        border: var(--toolos-token-border-width-default) solid var(--toolos-token-component-card-border-strong);
        border-radius: var(--toolos-token-radius-card);
        background: var(--toolos-token-component-card-background);
        box-shadow: var(--toolos-token-component-card-shadow);
        min-width: 0;
        box-sizing: border-box;
}

.toolos-shortcode__summary-hero {
        gap: var(--toolos-token-space-5);
        border-color: var(--toolos-token-component-card-border-strong);
        border-width: 1px;
        background: var(--toolos-token-component-card-background-accent);
}

.toolos-shortcode__summary-hero-head {
        display: grid;
        gap: 8px;
}

.toolos-shortcode__summary-hero-card-title {
        margin: 0;
        color: var(--toolos-token-component-card-title);
        font-size: var(--toolos-token-font-size-title-lg);
        font-weight: 700;
        line-height: 1.3;
        letter-spacing: -0.015em;
}

.toolos-shortcode__summary-hero-metric {
        display: grid;
        gap: 10px;
}

.toolos-shortcode__summary-hero-label {
        color: var(--toolos-token-component-card-title);
        font-size: var(--toolos-token-font-size-label-md);
        font-weight: 700;
        line-height: 1.4;
}

.toolos-shortcode__summary-primary-value {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-end;
        gap: 8px;
        color: var(--toolos-token-component-card-accent);
        font-size: var(--toolos-token-font-size-display-lg);
        font-weight: 800;
        line-height: 0.95;
        letter-spacing: -0.05em;
}

.toolos-shortcode__summary-primary-value .toolos-shortcode__result-card-grid-item-value {
        color: inherit;
        font-size: inherit;
        font-weight: inherit;
        line-height: inherit;
        letter-spacing: inherit;
}

.toolos-shortcode__summary-hero-secondary {
        display: grid;
        gap: 6px;
        padding-top: 6px;
}

.toolos-shortcode__summary-primary-value--secondary {
        font-size: clamp(1.7rem, 2.7vw, 2.45rem);
        line-height: 1;
}

.toolos-shortcode__summary-primary-unit {
        margin-left: 4px;
        color: var(--toolos-token-component-card-copy);
        font-size: 0.32em;
        font-weight: 600;
        line-height: 1.1;
        letter-spacing: 0;
}

.toolos-shortcode__summary-copy {
        margin: 0;
        color: var(--toolos-token-component-card-copy);
        font-size: var(--toolos-token-font-size-body-sm);
        font-weight: 500;
        line-height: 1.6;
        max-width: 58ch;
}

.toolos-shortcode__summary-copy--lead {
        font-weight: 600;
        color: var(--toolos-token-component-card-copy-strong);
}

.toolos-shortcode__summary-hero-list {
        display: grid;
        gap: 0;
        margin: 0;
        border-top: 1px solid var(--toolos-token-component-card-divider);
}

.toolos-shortcode__summary-hero-row {
        display: grid;
        gap: var(--toolos-token-space-2);
        padding: 16px 0;
        border-bottom: 1px solid var(--toolos-token-component-card-divider);
}

.toolos-shortcode__summary-hero-row dt,
.toolos-shortcode__summary-hero-row dd {
        margin: 0;
}

.toolos-shortcode__summary-hero-row dt {
        color: var(--toolos-token-component-card-copy);
        font-size: var(--toolos-token-font-size-label-sm);
        font-weight: 700;
        letter-spacing: 0.04em;
        text-transform: none;
}

.toolos-shortcode__summary-hero-row dd {
        color: var(--toolos-token-component-card-title);
        font-size: var(--toolos-token-font-size-title-md);
        font-weight: 700;
        line-height: 1.5;
}

.toolos-shortcode__summary-hero--calorie .toolos-shortcode__summary-hero-secondary {
        padding-top: 16px;
        border-top: 1px solid var(--toolos-token-component-card-divider);
}

.toolos-shortcode__summary-hero--calorie .toolos-shortcode__summary-hero-secondary .toolos-shortcode__summary-hero-label {
        color: var(--toolos-token-component-card-copy);
        font-size: var(--toolos-token-font-size-label-sm);
}

.toolos-shortcode__summary-hero--calorie .toolos-shortcode__summary-primary-value--secondary {
        color: var(--toolos-token-component-card-title);
        font-size: var(--toolos-token-font-size-title-md);
        font-weight: 700;
        line-height: 1.5;
}

.toolos-shortcode__summary-hero-note {
        margin: 0;
        color: var(--toolos-token-component-card-copy);
        font-size: var(--toolos-token-font-size-body-sm);
        font-weight: 500;
        line-height: 1.6;
}

.toolos-shortcode__summary-hero-hint {
        margin: 4px 0 0;
        color: var(--toolos-ui-input-placeholder);
        font-size: var(--toolos-token-font-size-body-sm);
        font-weight: 500;
        line-height: 1.5;
}

.toolos-shortcode__summary-hero-bullets {
        margin: 10px 0 0;
        padding-left: 4px;
        list-style: none;
}

.toolos-shortcode__summary-hero-bullets li {
        margin: 5px 0;
        color: var(--toolos-token-component-card-copy);
        font-size: var(--toolos-token-font-size-body-sm);
        font-weight: 500;
        line-height: 1.7;
}

.toolos-shortcode__summary-hero-narrative {
        display: grid;
        gap: 8px;
        padding: 16px 18px;
        background: var(--toolos-token-component-card-background-accent);
        border: 1px solid var(--toolos-token-component-card-border-strong);
        border-radius: var(--toolos-token-radius-card);
}

.toolos-shortcode__summary-hero-narrative-lead {
        margin: 0;
        color: var(--toolos-token-component-card-title);
        font-size: var(--toolos-token-font-size-body-sm);
        font-weight: 700;
        line-height: 1.4;
}

.toolos-shortcode__summary-hero-narrative-body {
        margin: 0;
        color: var(--toolos-token-component-card-copy);
        font-size: var(--toolos-token-font-size-body-sm);
        font-weight: 500;
        line-height: 1.6;
}

.toolos-shortcode__summary-hero-narrative-link {
        justify-self: start;
        margin-top: 4px;
        color: var(--toolos-token-component-card-accent);
        font-size: var(--toolos-token-font-size-body-sm);
        font-weight: 600;
        text-decoration: none;
        transition: color 0.15s ease, text-decoration 0.15s ease;
}

.toolos-shortcode__summary-hero-narrative-link:hover,
.toolos-shortcode__summary-hero-narrative-link:focus {
        text-decoration: underline;
}

.toolos-shortcode__impact-table {
        display: grid;
        gap: 0;
        width: 100%;
        min-width: 0;
}

.toolos-shortcode__impact-table-head,
.toolos-shortcode__impact-row {
        display: grid;
        grid-template-columns: minmax(72px, 0.82fr) minmax(0, 1.08fr) minmax(0, 1.08fr) minmax(0, 0.94fr);
        gap: 12px;
        align-items: start;
        width: 100%;
        min-width: 0;
}

.toolos-shortcode__impact-table-head {
        padding: 0 0 10px;
        border-bottom: 1px solid #e2e8f0;
}

.toolos-shortcode__impact-table-body {
        display: grid;
}

.toolos-shortcode__impact-row {
        padding: 16px 0;
        border-bottom: 1px solid #e2e8f0;
}

.toolos-shortcode__impact-row--selected {
        background: #eff6ff;
}

.toolos-shortcode__impact-row:last-child {
        border-bottom: 0;
        padding-bottom: 0;
}

.toolos-shortcode__impact-cell {
        color: #0f172a;
        font-size: 0.86rem;
        font-weight: 600;
        line-height: 1.45;
        min-width: 0;
}

.toolos-shortcode__impact-table-head .toolos-shortcode__impact-cell,
.toolos-shortcode__impact-cell--metric {
        color: #64748b;
        font-size: 0.68rem;
        font-weight: 700;
        letter-spacing: 0.03em;
        text-transform: uppercase;
}

.toolos-shortcode__impact-table-head .toolos-shortcode__impact-cell:not(:first-child),
.toolos-shortcode__impact-row .toolos-shortcode__impact-cell:not(.toolos-shortcode__impact-cell--metric) {
        text-align: right;
}

.toolos-shortcode__impact-table-head .toolos-shortcode__impact-cell {
        white-space: normal;
        overflow-wrap: anywhere;
        line-height: 1.35;
}

.toolos-shortcode__impact-table--cols-5 {
        display: table;
        width: 100%;
        table-layout: auto;
        border-collapse: separate;
        border-spacing: 0;
}

.toolos-shortcode__impact-table--cols-5 .toolos-shortcode__impact-table-head {
        display: table-header-group;
}

.toolos-shortcode__impact-table--cols-5 .toolos-shortcode__impact-table-body {
        display: table-row-group;
}

.toolos-shortcode__impact-table--cols-5 .toolos-shortcode__impact-row--cols-5 {
        display: table-row;
}

.toolos-shortcode__impact-table--cols-5 .toolos-shortcode__impact-table-head .toolos-shortcode__impact-cell {
        display: table-cell;
        padding: 0 8px 8px;
        font-size: 0.62rem;
        letter-spacing: 0.02em;
        line-height: 1.25;
        white-space: nowrap;
}

.toolos-shortcode__impact-table--cols-5 .toolos-shortcode__impact-row--cols-5 .toolos-shortcode__impact-cell {
        display: table-cell;
        width: auto;
        padding: 8px 8px;
        font-size: 0.78rem;
        line-height: 1.3;
        vertical-align: middle;
        border-bottom: 1px solid #e2e8f0;
        white-space: nowrap;
}

.toolos-shortcode__impact-table--cols-5 .toolos-shortcode__impact-table-head .toolos-shortcode__impact-cell:first-child,
.toolos-shortcode__impact-table--cols-5 .toolos-shortcode__impact-row--cols-5 .toolos-shortcode__impact-cell:first-child {
        padding-left: 10px;
}

.toolos-shortcode__impact-table--cols-5 .toolos-shortcode__impact-table-head .toolos-shortcode__impact-cell:last-child,
.toolos-shortcode__impact-table--cols-5 .toolos-shortcode__impact-row--cols-5 .toolos-shortcode__impact-cell:last-child {
        padding-right: 10px;
}

.toolos-shortcode__impact-table--cols-5 .toolos-shortcode__impact-row--cols-5:last-child .toolos-shortcode__impact-cell {
        border-bottom: 0;
}

.toolos-shortcode__impact-table--cols-5 .toolos-shortcode__impact-row--cols-5:hover .toolos-shortcode__impact-cell {
        background: #f8fafc;
}

.toolos-shortcode__impact-table--cols-5 .toolos-shortcode__impact-row--selected .toolos-shortcode__impact-cell,
.toolos-shortcode__impact-table--cols-5 .toolos-shortcode__impact-row--selected:hover .toolos-shortcode__impact-cell {
        background: #eff6ff;
}

.toolos-shortcode__impact-table--cols-5 .toolos-shortcode__impact-row--cols-5 .toolos-shortcode__impact-cell:not(.toolos-shortcode__impact-cell--metric) {
        text-align: right;
}

.toolos-shortcode__impact-row .toolos-shortcode__impact-cell--metric {
        color: #0f172a;
        font-size: 0.8rem;
        font-weight: 700;
        letter-spacing: 0;
        text-transform: none;
}

.toolos-shortcode__impact-cell--before,
.toolos-shortcode__impact-cell--after {
        font-size: 0.88rem;
        font-weight: 700;
        white-space: normal;
        overflow-wrap: anywhere;
        word-break: break-word;
        line-height: 1.35;
}

.toolos-shortcode__impact-cell--delta {
        color: #047857;
        font-size: 0.78rem;
        font-weight: 700;
        white-space: normal;
        overflow-wrap: anywhere;
}

.toolos-shortcode__impact-dash {
        color: #cbd5e1;
}

.toolos-shortcode__impact-mobile-label {
        display: none;
}

@media (max-width: 640px) {
        .toolos-shortcode__impact-table--cols-5 {
                display: grid;
                border-collapse: separate;
                border-spacing: 0;
        }

        .toolos-shortcode__impact-table--cols-5 .toolos-shortcode__impact-table-body {
                display: grid;
        }

        .toolos-shortcode__impact-table--cols-5 .toolos-shortcode__impact-row--cols-5 {
                display: grid;
        }

        .toolos-shortcode__impact-table--cols-5 .toolos-shortcode__impact-row--cols-5 .toolos-shortcode__impact-cell {
                display: block;
                width: auto;
                padding: 2px 0;
                border-bottom: 0;
                white-space: normal;
                background: transparent;
        }

        .toolos-shortcode__impact-table-head,
        .toolos-shortcode__impact-row {
                grid-template-columns: minmax(0, 1fr);
                gap: 6px;
        }

        .toolos-shortcode__impact-table-head {
                display: none;
        }

        .toolos-shortcode__impact-row {
                padding: 14px;
                border: 1px solid #e2e8f0;
                border-radius: 12px;
                background: #f8fafc;
        }

        .toolos-shortcode__impact-row .toolos-shortcode__impact-cell,
        .toolos-shortcode__impact-row .toolos-shortcode__impact-cell:not(.toolos-shortcode__impact-cell--metric) {
                text-align: left;
                white-space: normal;
        }

        .toolos-shortcode__impact-row + .toolos-shortcode__impact-row {
                margin-top: 12px;
        }

        .toolos-shortcode__impact-row:last-child {
                padding-bottom: 14px;
        }

        .toolos-shortcode__impact-mobile-label {
                display: block;
                margin-bottom: 4px;
                color: #64748b;
                font-size: 0.72rem;
                font-weight: 700;
                letter-spacing: 0.04em;
                text-transform: uppercase;
        }
}

.toolos-shortcode__result-card-grid {
        display: grid;
        gap: 18px;
}

.toolos-shortcode__result-card-grid--summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
}

.toolos-shortcode__result-card-grid--secondary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
}

.toolos-shortcode__result-card-grid--schedule {
        grid-template-columns: repeat(2, minmax(0, 1fr));
}

.toolos-shortcode__summary-card,
.toolos-shortcode__result-card {
        display: grid;
        gap: var(--toolos-token-space-5);
        padding: var(--toolos-token-space-6);
        border: var(--toolos-token-border-width-default) solid var(--toolos-token-component-card-border-strong);
        border-radius: var(--toolos-token-radius-card);
        background: var(--toolos-token-component-card-background);
        box-shadow: none;
        min-width: 0;
        box-sizing: border-box;
}

.toolos-shortcode__summary-card-head,
.toolos-shortcode__result-card-head {
        display: grid;
        gap: var(--toolos-token-space-2);
}

.toolos-shortcode__summary-card-head h3,
.toolos-shortcode__result-card-title {
        margin: 0;
        color: var(--toolos-token-component-card-title);
        font-size: var(--toolos-token-font-size-title-lg);
        font-weight: 700;
        line-height: 1.3;
        letter-spacing: -0.015em;
}

.toolos-shortcode__result-card-grid-item {
        display: grid;
        gap: var(--toolos-token-space-2);
        align-items: start;
        padding: 14px 16px;
        min-height: 0;
        border: var(--toolos-token-border-width-default) solid var(--toolos-token-component-card-divider);
        border-radius: var(--toolos-token-radius-card-inner);
        background: #ffffff;
}

.toolos-shortcode__result-card-grid-item-label {
        color: var(--toolos-token-component-card-copy);
        font-size: var(--toolos-token-font-size-label-sm);
        font-weight: 700;
        letter-spacing: 0.04em;
        text-transform: uppercase;
        line-height: 1.45;
}

.toolos-shortcode__result-card-grid-item-value {
        color: var(--toolos-token-component-card-title);
        font-size: var(--toolos-token-font-size-title-md);
        font-weight: 700;
        line-height: 1.5;
        text-align: left;
        overflow-wrap: anywhere;
        word-break: break-word;
}

.toolos-shortcode__summary-card-head--toggle {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
}

.toolos-shortcode__summary-toggle {
        border: var(--toolos-token-border-width-default) solid var(--toolos-token-component-pill-border);
        border-radius: var(--toolos-token-radius-pill);
        background: var(--toolos-token-component-pill-background);
        color: var(--toolos-token-component-pill-text);
        font-size: 0.82rem;
        font-weight: 700;
        line-height: 1;
        padding: 8px 14px;
        cursor: pointer;
        transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.toolos-shortcode__summary-toggle:hover,
.toolos-shortcode__summary-toggle:focus-visible {
        border-color: var(--toolos-token-component-pill-border-hover);
        background: var(--toolos-token-component-pill-background-hover);
        color: var(--toolos-token-component-pill-text-hover);
        outline: none;
}

.toolos-shortcode__summary-card-content {
        display: grid;
        gap: var(--toolos-token-space-4);
}

.toolos-shortcode__summary-card-content[hidden] {
        display: none !important;
}

.toolos-shortcode__summary-card-content p {
        margin: 0;
        color: var(--toolos-token-component-card-copy);
        font-size: var(--toolos-token-font-size-body-sm);
        line-height: 1.6;
}

.toolos-shortcode__summary-list {
        display: grid;
        gap: var(--toolos-token-space-3);
        margin: 0;
        align-content: start;
}

.toolos-shortcode__summary-row {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: var(--toolos-token-space-2);
        align-items: start;
        padding: 14px 16px;
        min-height: 0;
        border: var(--toolos-token-border-width-default) solid var(--toolos-token-component-card-divider);
        border-radius: var(--toolos-token-radius-card-inner);
        background: #ffffff;
}

.toolos-shortcode__summary-row dt,
.toolos-shortcode__summary-row dd {
        margin: 0;
}

.toolos-shortcode__summary-row dt {
        color: var(--toolos-token-component-card-copy);
        font-size: var(--toolos-token-font-size-label-sm);
        font-weight: 700;
        letter-spacing: 0.04em;
        text-transform: uppercase;
        line-height: 1.45;
}

.toolos-shortcode__summary-row dd {
        color: var(--toolos-token-component-card-title);
        font-size: var(--toolos-token-font-size-title-md);
        font-weight: 700;
        line-height: 1.5;
        text-align: left;
        overflow-wrap: anywhere;
        word-break: break-word;
}

.toolos-shortcode__summary-row--total {
        border-color: var(--toolos-token-component-card-border-strong);
        background: var(--toolos-token-component-card-background-accent);
}

.toolos-shortcode__summary-card--affordability-analysis,
.toolos-shortcode__summary-card--calorie-strategy,
.toolos-shortcode__summary-card--calorie-plan {
        gap: var(--toolos-token-space-5);
        border-color: var(--toolos-token-component-card-border-strong);
        background: var(--toolos-token-component-card-background-accent);
}

.toolos-shortcode__summary-card--calorie-plan .toolos-shortcode__summary-card-content {
        grid-template-columns: minmax(0, 1fr);
}

.toolos-shortcode__summary-card--calorie-plan .toolos-shortcode__strategy-block {
        min-width: 0;
        overflow-x: auto;
}

.toolos-shortcode__summary-card--affordability-analysis .toolos-shortcode__summary-card-head h3 {
        color: #0f172a;
        font-size: var(--toolos-token-font-size-title-lg);
        font-weight: 700;
        letter-spacing: -0.015em;
}

.toolos-shortcode__summary-list--affordability-analysis .toolos-shortcode__summary-row {
        min-height: 0;
        padding: 14px 16px;
        gap: var(--toolos-token-space-1);
}

.toolos-shortcode__summary-list--affordability-analysis .toolos-shortcode__summary-row dt {
        font-size: var(--toolos-token-font-size-label-sm);
        color: var(--toolos-token-component-card-copy);
        font-weight: 700;
        letter-spacing: 0.04em;
        text-transform: uppercase;
}

.toolos-shortcode__summary-list--affordability-analysis .toolos-shortcode__summary-row-dd {
        color: #0f172a;
        font-size: var(--toolos-token-font-size-title-md);
        font-weight: 700;
        line-height: 1.5;
}

.toolos-shortcode__summary-list--affordability-analysis .toolos-shortcode__summary-row-hint {
        margin: 0;
        color: var(--toolos-token-component-card-copy);
        font-size: var(--toolos-token-font-size-body-sm);
        font-weight: 500;
        line-height: 1.6;
}

.toolos-shortcode__summary-row--custom {
        border-color: #fde68a;
        background: #fffbeb;
}

.toolos-shortcode__summary-row-dd--custom {
        color: #b45309;
}

.toolos-shortcode__summary-row--explanation {
        border-color: #e2e8f0;
        background: #ffffff;
}

.toolos-shortcode__summary-row-dd--explanation {
        color: #475569;
        font-size: 0.86rem;
        font-weight: 500;
        line-height: 1.6;
}

.toolos-shortcode__summary-hero--affordability {
        gap: 16px;
}

.toolos-shortcode__summary-hero--affordability .toolos-shortcode__summary-hero-card-title {
        color: #0f172a;
}

.toolos-shortcode__summary-hero--affordability .toolos-shortcode__summary-hero-label {
        color: #0f172a;
        font-weight: 600;
}

.toolos-shortcode__summary-hero--affordability .toolos-shortcode__result-card-grid--secondary {
        grid-template-columns: 1fr;
}

.toolos-shortcode__summary-hero--affordability .toolos-shortcode__result-card-grid--secondary .toolos-shortcode__result-card-grid-item {
        padding: 0;
        min-height: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
}

.toolos-shortcode__summary-hero--affordability .toolos-shortcode__result-card-grid-item--secondary-divider {
        padding-bottom: 18px;
        border-bottom: 1px solid var(--toolos-ui-border-strong);
}

.toolos-shortcode__summary-hero--affordability .toolos-shortcode__result-card-grid-item {
        gap: 8px;
}

.toolos-shortcode__summary-hero--affordability .toolos-shortcode__result-card-grid-item-value {
        color: #2563eb;
        font-size: clamp(2.15rem, 3.2vw, 3.25rem);
        font-weight: 800;
        line-height: 0.95;
        letter-spacing: -0.05em;
}

.toolos-shortcode__summary-hero--affordability .toolos-shortcode__result-card-grid--affordability-secondary {
        margin-top: 16px;
}

.toolos-shortcode__summary-hero--affordability .toolos-shortcode__summary-copy--affordability-hero {
        margin-top: 0;
        padding-top: 0;
        max-width: none;
}

.toolos-shortcode__summary-hero--affordability .toolos-shortcode__summary-copy--affordability-hero .toolos-shortcode__summary-copy--lead {
        display: block;
        max-width: 58ch;
}

.toolos-shortcode__summary-hero--affordability-structured {
        display: grid;
        gap: 18px;
}

.toolos-shortcode__affordability-hero-profile {
        display: grid;
        gap: 10px;
        margin: 0;
        padding: 18px 20px;
        border: 1px solid transparent;
        border-radius: 18px;
}

.toolos-shortcode__affordability-hero-profile-head {
        display: grid;
        gap: 6px;
}

.toolos-shortcode__affordability-hero-profile-eyebrow {
        display: inline-flex;
        align-items: center;
        width: fit-content;
        padding: 5px 10px;
        border-radius: 999px;
        font-size: 0.72rem;
        font-weight: 700;
        letter-spacing: 0.01em;
}

.toolos-shortcode__affordability-hero-profile-title {
        margin: 0;
        font-size: 1rem;
        font-weight: 800;
        line-height: 1.3;
}

.toolos-shortcode__affordability-hero-profile-copy {
        margin: 0;
        color: #334155;
        font-size: 0.88rem;
        line-height: 1.6;
}

.toolos-shortcode__affordability-hero-warning {
        margin: 12px 0 0;
        padding: 14px 18px;
        border-radius: 10px;
        font-size: 0.86rem;
        line-height: 1.6;
}

.toolos-shortcode__affordability-hero-warning-text {
        margin: 0;
}

.toolos-shortcode__affordability-hero-warning--danger {
        background: rgba(220, 38, 38, 0.08);
        border: 1px solid rgba(220, 38, 38, 0.25);
        color: #991b1b;
}

.toolos-shortcode__summary-hero-list--affordability {
        margin-top: -2px;
}

.toolos-shortcode__affordability-hero-profile--conservative {
        border-color: rgba(22, 163, 74, 0.18);
        background: rgba(22, 163, 74, 0.08);
}

.toolos-shortcode__affordability-hero-profile--conservative .toolos-shortcode__affordability-hero-profile-eyebrow {
        background: rgba(22, 163, 74, 0.14);
        color: #166534;
}

.toolos-shortcode__affordability-hero-profile--conservative .toolos-shortcode__affordability-hero-profile-title {
        color: #166534;
}

.toolos-shortcode__affordability-hero-profile--recommended {
        border-color: rgba(37, 99, 235, 0.16);
        background: rgba(37, 99, 235, 0.08);
}

.toolos-shortcode__affordability-hero-profile--recommended .toolos-shortcode__affordability-hero-profile-eyebrow {
        background: rgba(37, 99, 235, 0.12);
        color: #1d4ed8;
}

.toolos-shortcode__affordability-hero-profile--recommended .toolos-shortcode__affordability-hero-profile-title {
        color: #1e40af;
}

.toolos-shortcode__affordability-hero-profile--maximum {
        border-color: rgba(217, 119, 6, 0.2);
        background: rgba(245, 158, 11, 0.1);
}

.toolos-shortcode__affordability-hero-profile--maximum .toolos-shortcode__affordability-hero-profile-eyebrow {
        background: rgba(245, 158, 11, 0.16);
        color: #b45309;
}

.toolos-shortcode__affordability-hero-profile--maximum .toolos-shortcode__affordability-hero-profile-title {
        color: #b45309;
}


/* Sectioned breakdown cards driven by reports.json */
.toolos-shortcode__summary-section {
        display: grid;
        gap: 10px;
}

.toolos-shortcode__summary-section + .toolos-shortcode__summary-section {
        margin-top: 4px;
        padding-top: 14px;
        border-top: 1px dashed #e2e8f0;
}

.toolos-shortcode__summary-section-title {
        margin: 0;
        color: #475569;
        font-size: 0.72rem;
        font-weight: 700;
        letter-spacing: 0.08em;
        text-transform: uppercase;
}

.toolos-shortcode__summary-section-description {
        margin: -2px 0 0;
        color: #64748b;
        font-size: 0.92rem;
        line-height: 1.55;
}

.toolos-shortcode__summary-section .toolos-shortcode__summary-list {
        gap: 8px;
}

.toolos-shortcode__summary-section .toolos-shortcode__summary-row {
        min-height: 0;
        padding: 12px 14px;
}

.toolos-shortcode__summary-section .toolos-shortcode__summary-row dt {
        font-size: var(--toolos-token-font-size-label-sm);
        letter-spacing: 0.04em;
}

.toolos-shortcode__summary-section .toolos-shortcode__summary-row dd {
        font-size: var(--toolos-token-font-size-title-md);
        font-weight: 700;
        line-height: 1.5;
}

.toolos-shortcode__summary-section .toolos-shortcode__summary-row-hint {
        margin: 4px 0 0;
        color: var(--toolos-token-component-card-copy);
        font-size: var(--toolos-token-font-size-body-sm);
        line-height: 1.45;
}

.toolos-shortcode__summary-card--affordability\.calculation_details .toolos-shortcode__summary-section {
        gap: var(--toolos-token-space-3);
        padding: 18px 20px;
        border: 1px solid var(--toolos-token-component-card-border);
        border-radius: 16px;
        background: #ffffff;
        box-shadow: none;
}

.toolos-shortcode__summary-card--affordability\.calculation_details .toolos-shortcode__summary-card-content {
        gap: 14px;
}

.toolos-shortcode__summary-card--affordability\.calculation_details .toolos-shortcode__summary-section-title {
        color: #0f172a;
        font-size: 0.98rem;
        font-weight: 700;
        letter-spacing: -0.005em;
        text-transform: none;
        line-height: 1.35;
}

.toolos-shortcode__summary-card--affordability\.calculation_details .toolos-shortcode__summary-section-description {
        margin-top: 0;
        color: #64748b;
        font-size: 0.82rem;
        line-height: 1.55;
}

.toolos-shortcode__summary-card--affordability\.calculation_details .toolos-shortcode__summary-section .toolos-shortcode__summary-list {
        gap: 0;
}

.toolos-shortcode__summary-card--affordability\.calculation_details .toolos-shortcode__summary-section .toolos-shortcode__summary-row {
        padding: 14px 0;
        min-height: 0;
        border: 0;
        border-radius: 0;
        border-top: 1px solid var(--toolos-token-component-card-divider);
        background: transparent;
        box-shadow: none;
}

.toolos-shortcode__summary-card--affordability\.calculation_details .toolos-shortcode__summary-section .toolos-shortcode__summary-row:first-of-type {
        padding-top: 0;
        border-top: 0;
}

.toolos-shortcode__summary-card--affordability\.calculation_details .toolos-shortcode__summary-section .toolos-shortcode__summary-row:last-of-type {
        padding-bottom: 0;
}

.toolos-shortcode__summary-card--affordability\.calculation_details .toolos-shortcode__summary-section .toolos-shortcode__summary-row dt,
.toolos-shortcode__summary-card--affordability\.calculation_details .toolos-shortcode__summary-section .toolos-shortcode__summary-row dd {
        grid-column: 1 / -1;
}

.toolos-shortcode__summary-card--affordability\.calculation_details .toolos-shortcode__summary-section .toolos-shortcode__summary-row dt {
        color: #475569;
        font-size: 0.82rem;
        font-weight: 600;
        letter-spacing: 0.01em;
        text-transform: none;
        line-height: 1.45;
}

.toolos-shortcode__summary-card--affordability\.calculation_details .toolos-shortcode__summary-section .toolos-shortcode__summary-row dd {
        margin-top: 4px;
        color: #0f172a;
        font-size: 0.96rem;
        font-weight: 700;
        line-height: 1.45;
}

.toolos-shortcode__summary-card--affordability\.calculation_details .toolos-shortcode__summary-section .toolos-shortcode__summary-row-hint {
        color: #64748b;
        font-size: 0.78rem;
        line-height: 1.55;
}

.toolos-shortcode__summary-card--affordability\.guideline_explanation .toolos-shortcode__summary-card-content--guideline {
        display: grid;
        gap: var(--toolos-token-space-5);
}

.toolos-shortcode__summary-card-content--guideline .toolos-shortcode__guideline-lead,
.toolos-shortcode__summary-card-content--guideline .toolos-shortcode__guideline-copy {
        margin: 0;
        color: var(--toolos-token-component-card-copy);
        font-size: var(--toolos-token-font-size-body-md);
        line-height: 1.7;
}

.toolos-shortcode__summary-card-content--guideline .toolos-shortcode__guideline-meaning-title,
.toolos-shortcode__summary-card-content--guideline .toolos-shortcode__guideline-card-title {
        margin: 0;
        color: #0f172a;
        font-size: var(--toolos-token-font-size-title-lg);
        font-weight: 700;
        line-height: 1.35;
}

.toolos-shortcode__guideline-cards {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: var(--toolos-token-space-4);
        align-items: stretch;
        overflow: visible;
}

.toolos-shortcode__guideline-card {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: var(--toolos-token-space-2);
        min-width: 0;
        padding: 18px 20px;
        border: 1px solid var(--toolos-token-component-card-border);
        border-radius: 16px;
        background: #ffffff;
        align-items: start;
}

.toolos-shortcode__guideline-card-title {
        color: var(--toolos-token-component-card-copy-strong);
        font-size: var(--toolos-token-font-size-label-md);
        line-height: 1.45;
}

.toolos-shortcode__guideline-meaning-title {
        margin-top: 4px;
}

.toolos-shortcode__summary-card-content--guideline .toolos-shortcode__guideline-card-value {
        margin: 0;
        color: var(--toolos-token-component-card-accent);
        font-size: clamp(1.5rem, 2.4vw, 1.75rem);
        font-weight: 800;
        line-height: 1.1;
        text-align: left;
}

.toolos-shortcode__summary-card-content--guideline .toolos-shortcode__guideline-card-body,
.toolos-shortcode__summary-card-content--guideline .toolos-shortcode__guideline-card-detail,
.toolos-shortcode__summary-card-content--guideline .toolos-shortcode__guideline-meaning-body {
        margin: 0;
        color: var(--toolos-token-component-card-copy);
        font-size: var(--toolos-token-font-size-body-sm);
        line-height: 1.7;
}

.toolos-shortcode__guideline-meaning {
        display: grid;
        gap: 8px;
        padding-top: 4px;
}

@media (max-width: 760px) {
        .toolos-shortcode__guideline-card {
                gap: 8px;
        }
}

/* Card-specific accent themes (border + head tint) */
.toolos-shortcode__summary-card--affordability\.estimated_home_price {
        border-color: #bbf7d0;
        background: #f7fff9;
}

.toolos-shortcode__summary-card--affordability\.estimated_home_price .toolos-shortcode__summary-card-head h3 {
        color: #166534;
}

.toolos-shortcode__summary-card--affordability\.estimated_home_price .toolos-shortcode__summary-toggle {
        border-color: #bbf7d0;
        background: #ecfdf5;
        color: #166534;
}

.toolos-shortcode__summary-card--affordability\.lifestyle_impact {
        border-color: #fed7aa;
        background: #fff8f1;
}

.toolos-shortcode__summary-card--affordability\.lifestyle_impact .toolos-shortcode__summary-card-head h3 {
        color: #9a3412;
}

.toolos-shortcode__summary-card--affordability\.lifestyle_impact .toolos-shortcode__summary-toggle {
        border-color: #fed7aa;
        background: #fff7ed;
        color: #9a3412;
}

.toolos-shortcode__summary-card--affordability\.lifestyle_impact .toolos-shortcode__summary-row--total {
        border-color: #fed7aa;
        background: #fff7ed;
}

.toolos-shortcode__summary-card--financial-impact-analysis {
        gap: var(--toolos-token-space-5);
        border-color: #dbeafe;
        background: #f8fbff;
}

.toolos-shortcode__summary-card--financial-impact-analysis .toolos-shortcode__summary-card-head h3 {
        color: #0f172a;
        font-size: var(--toolos-token-font-size-title-lg);
        font-weight: 700;
        letter-spacing: -0.015em;
}

.toolos-shortcode__summary-card--financial-impact-analysis--conservative {
        border-color: #bbf7d0;
        background: #f7fff9;
}

.toolos-shortcode__summary-card--financial-impact-analysis--maximum {
        border-color: #fed7aa;
        background: #fff8f1;
}

.toolos-shortcode__financial-impact {
        display: grid;
        gap: var(--toolos-token-space-4);
}

.toolos-shortcode__financial-impact-block {
        display: grid;
        gap: var(--toolos-token-space-2);
        padding: 16px 18px;
        border: 1px solid var(--toolos-token-component-card-border);
        border-radius: 16px;
        background: #ffffff;
}

.toolos-shortcode__summary-card--financial-impact-analysis--conservative .toolos-shortcode__financial-impact-block--summary {
        border-color: #bbf7d0;
        background: #f0fdf4;
}

.toolos-shortcode__summary-card--financial-impact-analysis--recommended .toolos-shortcode__financial-impact-block--summary {
        border-color: #bfdbfe;
        background: #eff6ff;
}

.toolos-shortcode__summary-card--financial-impact-analysis--maximum .toolos-shortcode__financial-impact-block--summary {
        border-color: #fed7aa;
        background: #fff7ed;
}

.toolos-shortcode__summary-card--financial-impact-analysis .toolos-shortcode__financial-impact-block-title {
        margin: 0;
        color: var(--toolos-token-component-card-copy);
        font-size: var(--toolos-token-font-size-label-sm);
        font-weight: 700;
        letter-spacing: 0.06em;
        text-transform: uppercase;
}

.toolos-shortcode__summary-card--financial-impact-analysis .toolos-shortcode__financial-impact-block-eyebrow {
        margin: 0;
        color: var(--toolos-token-component-card-copy);
        font-size: var(--toolos-token-font-size-body-sm);
        font-weight: 500;
        line-height: 1.55;
}

.toolos-shortcode__summary-card--financial-impact-analysis .toolos-shortcode__financial-impact-block-headline {
        margin: 0;
        color: #0f172a;
        font-size: var(--toolos-token-font-size-title-lg);
        font-weight: 800;
        line-height: 1.3;
        letter-spacing: -0.015em;
}

.toolos-shortcode__summary-card--financial-impact-analysis .toolos-shortcode__financial-impact-block-value {
        margin: 0;
        color: var(--toolos-token-component-card-accent);
        font-size: clamp(1.18rem, 2vw, 1.35rem);
        font-weight: 800;
        line-height: 1.25;
        letter-spacing: -0.02em;
}

.toolos-shortcode__summary-card--financial-impact-analysis .toolos-shortcode__financial-impact-block-body,
.toolos-shortcode__summary-card--financial-impact-analysis .toolos-shortcode__financial-impact-block-detail {
        margin: 0;
        color: var(--toolos-token-component-card-copy);
        font-size: var(--toolos-token-font-size-body-sm);
        line-height: 1.65;
}

.toolos-shortcode__summary-card--financial-impact-analysis .toolos-shortcode__financial-impact-block-list {
        margin: 0;
        padding-left: 1.1rem;
        color: var(--toolos-token-component-card-copy-strong);
        font-size: var(--toolos-token-font-size-body-sm);
        line-height: 1.65;
}

.toolos-shortcode__financial-impact-block-list li + li {
        margin-top: 4px;
}

.toolos-shortcode__financial-impact-number {
        color: #2563eb;
        font-weight: 700;
}

.toolos-shortcode__summary-lifestyle {
        margin: 0 0 18px;
        padding: 14px 16px;
        border-radius: 10px;
        background: #fff7ed;
        border: 1px solid #fed7aa;
}

.toolos-shortcode__summary-lifestyle-title {
        margin: 0 0 8px;
        color: #9a3412;
        font-size: 0.95rem;
        font-weight: 700;
        line-height: 1.35;
        letter-spacing: -0.005em;
}

.toolos-shortcode__summary-lifestyle-headline {
        margin: 0 0 6px;
        color: #7c2d12;
        font-size: 0.92rem;
        font-weight: 600;
        line-height: 1.45;
}

.toolos-shortcode__summary-lifestyle-body {
        margin: 0;
        color: #475569;
        font-size: 0.85rem;
        font-weight: 400;
        line-height: 1.6;
}

.toolos-shortcode__summary-lifestyle--conservative {
        border-color: #bbf7d0;
        background: #f0fdf4;
}

.toolos-shortcode__summary-lifestyle--conservative .toolos-shortcode__summary-lifestyle-title,
.toolos-shortcode__summary-lifestyle--conservative .toolos-shortcode__summary-lifestyle-headline {
        color: #166534;
}

.toolos-shortcode__summary-lifestyle--maximum {
        border-color: #fecaca;
        background: #fef2f2;
}

.toolos-shortcode__summary-lifestyle--maximum .toolos-shortcode__summary-lifestyle-title,
.toolos-shortcode__summary-lifestyle--maximum .toolos-shortcode__summary-lifestyle-headline {
        color: #991b1b;
}

/* Maximum-only commitment warning (rendered after the Lifestyle block) */
.toolos-shortcode__summary-lifestyle-warning {
        display: grid;
        gap: 12px;
        margin: 12px 0 18px;
}

.toolos-shortcode__summary-lifestyle-warning-block {
        padding: 14px 16px;
        border-radius: var(--toolos-token-radius-card-inner);
        background: var(--toolos-token-component-notice-warning-background);
        border: var(--toolos-token-border-width-default) solid var(--toolos-token-component-notice-warning-border);
}

.toolos-shortcode__summary-lifestyle-warning-title {
        margin: 0 0 6px;
        color: var(--toolos-token-component-notice-warning-title);
        font-size: 0.95rem;
        font-weight: 700;
        line-height: 1.35;
        letter-spacing: -0.005em;
}

.toolos-shortcode__summary-lifestyle-warning-body {
        margin: 0;
        color: var(--toolos-token-component-notice-warning-body);
        font-size: 0.86rem;
        font-weight: 500;
        line-height: 1.6;
}

.toolos-shortcode__summary-lifestyle-range {
        padding: 14px 16px;
        border-radius: var(--toolos-token-radius-card-inner);
        background: var(--toolos-token-component-notice-success-background);
        border: var(--toolos-token-border-width-default) solid var(--toolos-token-component-notice-success-border);
}

.toolos-shortcode__summary-lifestyle-range-title {
        margin: 0 0 6px;
        color: var(--toolos-token-component-notice-success-title);
        font-size: 0.92rem;
        font-weight: 700;
        line-height: 1.35;
        letter-spacing: -0.005em;
}

.toolos-shortcode__summary-lifestyle-range-example {
        margin: 0 0 6px;
        color: var(--toolos-token-component-notice-success-title);
        font-size: 1.05rem;
        font-weight: 800;
        line-height: 1.3;
        letter-spacing: -0.01em;
}

.toolos-shortcode__summary-lifestyle-range-body {
        margin: 0;
        color: var(--toolos-token-component-notice-success-body);
        font-size: 0.84rem;
        font-weight: 500;
        line-height: 1.6;
}

.toolos-shortcode__summary-card--affordability\.calculation_details {
        border-color: #e2e8f0;
        background: #fafffe;
}

.toolos-shortcode__summary-card--affordability\.calculation_details .toolos-shortcode__summary-card-head h3 {
        color: #0f172a;
}

.toolos-shortcode__summary-card--affordability\.guideline_explanation {
        border-color: #ddd6fe;
        background: #fbfaff;
}

.toolos-shortcode__summary-card--affordability\.guideline_explanation .toolos-shortcode__summary-card-head h3 {
        color: #5b21b6;
}

.toolos-shortcode__summary-card--affordability\.guideline_explanation .toolos-shortcode__summary-toggle {
        border-color: #ddd6fe;
        background: #f5f3ff;
        color: #5b21b6;
}

.toolos-shortcode__summary-card--affordability\.guideline_explanation .toolos-shortcode__summary-row--total {
        border-color: #ddd6fe;
        background: #f5f3ff;
}

/* "How Your Estimate Is Calculated" — appendix-style trace card */
.toolos-shortcode__summary-card--affordability\.how_estimate_calculated {
        border-color: #bae6fd;
        background: #f0f9ff;
}

.toolos-shortcode__summary-card--affordability\.how_estimate_calculated .toolos-shortcode__summary-card-head h3 {
        color: #075985;
}

.toolos-shortcode__summary-card--affordability\.how_estimate_calculated .toolos-shortcode__summary-toggle {
        border-color: #bae6fd;
        background: #e0f2fe;
        color: #075985;
}

.toolos-shortcode__summary-card--affordability\.how_estimate_calculated .toolos-shortcode__summary-row--total {
        border-color: #bae6fd;
        background: #e0f2fe;
}

.toolos-shortcode__summary-card--affordability\.analysis {
        border-color: #bfdbfe;
        background: #f8fbff;
}

.toolos-shortcode__summary-card--affordability\.analysis .toolos-shortcode__summary-card-head h3 {
        color: #1e3a8a;
}

.toolos-shortcode__summary-card--affordability\.analysis .toolos-shortcode__summary-toggle {
        border-color: #bfdbfe;
        background: #eff6ff;
        color: #1e3a8a;
}

.toolos-shortcode__summary-card--affordability\.analysis .toolos-shortcode__summary-row--total {
        border-color: #bfdbfe;
        background: #eff6ff;
}

.toolos-shortcode__monthly-cost-card-head {
        display: grid;
        gap: 8px;
}

.toolos-shortcode__monthly-cost-layout {
        display: grid;
        grid-template-columns: minmax(140px, 180px) minmax(0, 1fr);
        gap: 24px;
        align-items: start;
}

.toolos-shortcode__monthly-cost-card-head h3 {
        margin: 0;
        color: #0f172a;
        font-size: 1.02rem;
        font-weight: 700;
        line-height: 1.35;
}

.toolos-shortcode__monthly-cost-total {
        color: var(--toolos-token-component-card-accent);
        font-size: clamp(1.8rem, 3vw, 2.35rem);
        font-weight: 800;
        line-height: 1.1;
}

.toolos-shortcode__monthly-cost-total-amount {
        display: inline;
}

.toolos-shortcode__monthly-cost-summary-text {
        margin: 8px 0 0;
        max-width: 520px;
        color: var(--toolos-token-component-card-copy);
        font-size: 0.75rem;
        font-weight: 500;
        line-height: 1.5;
}

.toolos-shortcode__monthly-cost-divider {
        width: 100%;
        height: 1px;
        margin: 16px 0 4px;
        background: var(--toolos-token-component-card-divider);
}

.toolos-shortcode__monthly-cost-total-loan-term {
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        gap: 4px;
        margin-top: 12px;
        padding-top: 12px;
        border-top: 1px solid var(--toolos-token-component-card-divider);
}

.toolos-shortcode__monthly-cost-total-loan-term-label {
        font-size: 0.78rem;
        font-weight: 600;
        color: var(--toolos-token-component-card-copy-strong);
        text-transform: uppercase;
        letter-spacing: 0.04em;
}

.toolos-shortcode__monthly-cost-total-loan-term-amount {
        font-size: clamp(1.4rem, 2.5vw, 1.85rem);
        font-weight: 800;
        color: var(--toolos-token-component-card-title);
        line-height: 1.1;
}

.toolos-shortcode__monthly-cost-chart-wrap {
        position: relative;
        display: flex;
        justify-content: center;
        align-items: flex-start;
}

.toolos-shortcode__monthly-cost-chart {
        width: 164px;
        height: 164px;
        flex: 0 0 auto;
        overflow: visible;
}

.toolos-shortcode__monthly-cost-chart-track {
        fill: none;
        stroke: var(--toolos-ui-chart-track);
        stroke-width: 18;
}

.toolos-shortcode__monthly-cost-chart-segment {
        fill: none;
        stroke: var(--toolos-chart-segment-stroke, var(--toolos-ui-chart-series-1));
        stroke-width: 18;
        stroke-linecap: butt;
        transform: rotate(-90deg);
        transform-origin: 60px 60px;
        cursor: pointer;
        transition: opacity 0.18s ease, filter 0.18s ease;
}

.toolos-shortcode__monthly-cost-chart-segment:hover,
.toolos-shortcode__monthly-cost-chart-segment:focus-visible {
        opacity: 0.92;
        filter: brightness(1.04);
        outline: none;
}

.toolos-shortcode__monthly-cost-chart-hole {
        fill: var(--toolos-ui-chart-hole);
        stroke: var(--toolos-ui-chart-track);
        stroke-width: 1;
}

.toolos-shortcode__monthly-cost-chart-tooltip {
        position: absolute;
        left: 0;
        top: 0;
        z-index: 2;
        pointer-events: none;
        padding: 6px 8px;
        border-radius: 8px;
        background: var(--toolos-ui-chart-tooltip-background);
        color: var(--toolos-ui-chart-tooltip-text);
        font-size: 0.75rem;
        font-weight: 600;
        line-height: 1.35;
        white-space: nowrap;
        box-shadow: 0 10px 30px rgba(15, 23, 42, 0.2);
}

.toolos-shortcode__monthly-cost-details {
        display: grid;
        gap: 14px;
        align-content: start;
}

.toolos-shortcode__monthly-cost-list {
        display: grid;
        gap: 12px;
        margin: 0;
}

.toolos-shortcode__monthly-cost-row {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 12px;
        align-items: center;
        padding-bottom: 10px;
        border-bottom: 1px solid var(--toolos-ui-divider-subtle);
}

.toolos-shortcode__monthly-cost-row:last-child {
        padding-bottom: 0;
        border-bottom: 0;
}

.toolos-shortcode__monthly-cost-row dt,
.toolos-shortcode__monthly-cost-row dd {
        margin: 0;
}

.toolos-shortcode__monthly-cost-row dt {
        color: var(--toolos-ui-text-secondary);
        font-size: 0.75rem;
        font-weight: 600;
        line-height: 1.45;
}

.toolos-shortcode__monthly-cost-label {
        display: inline-flex;
        align-items: center;
        gap: 8px;
}

.toolos-shortcode__monthly-cost-dot {
        width: 8px;
        height: 8px;
        border-radius: 999px;
        background: var(--toolos-monthly-cost-dot, var(--toolos-ui-chart-series-muted));
        flex: 0 0 auto;
}

.toolos-shortcode__monthly-cost-row dd {
        color: var(--toolos-ui-text-primary);
        font-size: 0.75rem;
        font-weight: 700;
        line-height: 1.45;
        text-align: right;
        white-space: nowrap;
}

.toolos-shortcode__monthly-cost-value {
        display: inline;
}

.toolos-shortcode__monthly-cost-unit {
        margin-left: 4px;
        color: #64748b;
        font-size: 0.75em;
        font-weight: 600;
        line-height: 1;
}

.toolos-shortcode__monthly-cost-more {
        display: grid;
        gap: 12px;
        justify-items: start;
}

.toolos-shortcode__monthly-cost-more-toggle {
        border: 0;
        background: transparent;
        padding: 0;
        display: inline-flex;
        width: auto;
        color: #0f172a;
        font-size: 0.75rem;
        font-weight: 700;
        line-height: 1.4;
        text-align: left;
        cursor: pointer;
        justify-self: start;
}

.toolos-shortcode__monthly-cost-more-toggle:hover,
.toolos-shortcode__monthly-cost-more-toggle:focus-visible {
        background: transparent;
        box-shadow: none;
        opacity: 0.68;
        outline: none;
}

.toolos-shortcode__monthly-cost-more-content[hidden] {
        display: none !important;
}

.toolos-shortcode__monthly-cost-list--additional {
        padding-top: 4px;
}

@media (max-width: 767px) {
        .toolos-shortcode__monthly-cost-layout {
                grid-template-columns: minmax(0, 1fr);
        }

        .toolos-shortcode__monthly-cost-chart-wrap {
                justify-content: flex-start;
        }
}

.toolos-shortcode__summary-row--total dd {
        color: #2563eb;
}

.toolos-shortcode__result-value-card {
        align-content: start;
        height: 100%;
}

.toolos-shortcode__result-value-card-head {
        display: grid;
        gap: 8px;
}

.toolos-shortcode__result-value-card-title {
        margin: 0;
        color: #0f172a;
        font-size: 1rem;
        font-weight: 700;
        line-height: 1.35;
        letter-spacing: -0.02em;
}

.toolos-shortcode__result-value-card-copy {
        margin: 0;
        color: #66758a;
        font-size: 0.84rem;
        line-height: 1.6;
}

.toolos-shortcode__result-value-card-body {
        display: grid;
        gap: 12px;
}

.toolos-shortcode__result-value-card-value {
        color: #2563eb;
        font-size: 1.45rem;
        font-weight: 700;
        line-height: 1.25;
        word-break: break-word;
}

.toolos-shortcode__result-report-card {
        padding: 14px;
        border-radius: 10px;
        border: 1px solid var(--toolos-ui-border);
        background: var(--toolos-ui-surface);
}

.toolos-shortcode__result-report-title {
        margin: 0 0 12px;
        font-size: 14px;
        color: var(--toolos-ui-text-primary);
}

.toolos-shortcode__metric-list {
        display: grid;
        gap: 10px;
}

.toolos-shortcode__metric-item {
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        gap: 12px;
}

.toolos-shortcode__metric-label {
        font-size: 13px;
        color: var(--toolos-ui-text-secondary);
}

.toolos-shortcode__metric-value {
        font-size: 14px;
        font-weight: 600;
        color: var(--toolos-ui-text-primary);
        text-align: right;
}

.toolos-shortcode__result-empty {
        margin: 0;
        color: var(--toolos-ui-text-secondary);
        font-size: 14px;
}

.toolos-shortcode__extension-cards {
        display: grid;
        gap: var(--toolos-token-space-5);
        margin-top: var(--toolos-token-space-5);
}

.toolos-shortcode__extension-cards[hidden] {
        display: none;
}

.toolos-shortcode__extension-card {
        display: grid;
        gap: var(--toolos-token-space-4);
        padding: var(--toolos-token-space-5) var(--toolos-token-space-6);
        border: var(--toolos-token-border-width-default) solid var(--toolos-token-component-card-border-strong);
        border-left: 3px solid var(--toolos-token-component-card-accent, #2563eb);
        border-radius: var(--toolos-token-radius-card);
        background: var(--toolos-token-component-card-background);
        box-shadow: var(--toolos-token-component-card-shadow);
        min-width: 0;
        box-sizing: border-box;
}

.toolos-shortcode__extension-card-head {
        display: grid;
        gap: 6px;
}

.toolos-shortcode__extension-card-title {
        margin: 0;
        color: var(--toolos-token-component-card-title, #0f172a);
        font-size: 1rem;
        font-weight: 700;
        line-height: 1.35;
        letter-spacing: -0.02em;
}

.toolos-shortcode__extension-card-body {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 10px 16px;
        margin: 0;
}

.toolos-shortcode__extension-card-metric-label {
        margin: 0;
        color: var(--toolos-ui-text-secondary, #64748b);
        font-size: 0.84rem;
        font-weight: 500;
        line-height: 1.6;
}

.toolos-shortcode__extension-card-metric-value {
        margin: 0;
        color: var(--toolos-token-component-card-accent, #2563eb);
        font-size: 1rem;
        font-weight: 700;
        line-height: 1.6;
        text-align: right;
        word-break: break-word;
}

@media (max-width: 540px) {
        .toolos-shortcode__extension-card-body {
                grid-template-columns: minmax(0, 1fr);
                gap: 4px;
        }

        .toolos-shortcode__extension-card-metric-value {
                text-align: left;
        }
}

.toolos-shortcode__card-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 16px;
}

.toolos-interaction-card {
  display: flex;
  flex-direction: column;
  gap: 14px;
	padding: 16px;
	border: 1px solid var(--toolos-ui-border);
	border-radius: 12px;
	background: linear-gradient(180deg, var(--toolos-ui-surface) 0%, var(--toolos-ui-surface-muted) 100%);
}

.toolos-interaction-card__header {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.toolos-interaction-card__header h5 {
  margin: 0;
	font-size: 18px;
}

.toolos-interaction-card__description {
  margin: 0;
	color: var(--toolos-ui-text-secondary);
	font-size: 14px;
}

.toolos-interaction-card--blue {
	border-color: var(--toolos-ui-card-accent-border);
}

.toolos-interaction-card--purple {
	border-color: var(--toolos-ui-card-accent-border);
}

.toolos-interaction-card--green {
	border-color: var(--toolos-ui-card-accent-border);
}

.toolos-interaction-card--orange {
	border-color: var(--toolos-ui-card-accent-border);
}

.toolos-interaction-card--red {
	border-color: var(--toolos-ui-card-accent-border);
}

.toolos-card-result {
  margin-top: 0;
	padding: 12px;
	border-radius: 10px;
	background: var(--toolos-ui-surface-muted);
}

.toolos-card-result__label {
	display: block;
	margin-bottom: 6px;
	font-size: 12px;
	color: var(--toolos-ui-text-secondary);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.toolos-card-result__formula {
  display: block;
  margin-bottom: 8px;
  font-size: 13px;
  color: var(--toolos-ui-text-secondary);
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
}

.toolos-card-result__value {
	display: block;
	font-size: 22px;
	font-weight: 700;
	color: var(--toolos-ui-text-primary);
}

.toolos-shortcode__input {
	display: block;
	width: 100%;
	padding: 10px 12px;
	border: 1px solid var(--toolos-ui-border-strong);
	border-radius: 8px;
	background: var(--toolos-ui-input-background);
	color: var(--toolos-ui-text-primary);
	outline: none;
	transition: border-color 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
}

.toolos-shortcode__input-shell {
        position: relative;
        display: block;
}

.toolos-shortcode__input-shell--prefix .toolos-shortcode__input {
        padding-left: 42px;
}

.toolos-shortcode__input-shell--suffix .toolos-shortcode__input {
        padding-right: 40px;
}

.toolos-shortcode__input-affix {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        z-index: 1;
        line-height: 1;
        pointer-events: none;
}

.toolos-shortcode__input-affix--prefix {
        left: 12px;
        color: var(--toolos-ui-text-secondary);
        font-size: 13px;
        font-weight: 600;
}

.toolos-shortcode__input-affix--suffix {
        right: 12px;
        padding: 2px 8px;
        border-radius: var(--toolos-ui-radius-sm);
        background: var(--toolos-token-component-pill-background);
        border: 1px solid var(--toolos-token-component-pill-border);
        color: var(--toolos-token-component-pill-text);
        font-weight: 600;
        font-size: 0.72rem;
        letter-spacing: 0.02em;
}

.toolos-shortcode__slider {
        display: flex;
        flex-direction: column;
        gap: 10px;
        padding: 10px 0;
}

.toolos-shortcode__slider-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
}

.toolos-shortcode__slider-value {
        font-size: 14px;
        font-weight: 600;
        color: var(--toolos-ui-text-primary);
        font-variant-numeric: tabular-nums;
}

.toolos-shortcode__slider-profile {
        font-size: 12px;
        font-weight: 600;
        line-height: 1;
        padding: 4px 10px;
        border-radius: 999px;
        background: var(--toolos-ui-status-info-background);
        color: var(--toolos-ui-status-info-text);
        text-transform: capitalize;
        letter-spacing: 0.02em;
}

.toolos-shortcode__slider-profile[data-toolos-profile-key="conservative"] {
        background: #ecfdf5;
        color: #047857;
}

.toolos-shortcode__slider-profile[data-toolos-profile-key="recommended"] {
        background: var(--toolos-ui-status-info-background);
        color: var(--toolos-ui-status-info-text);
}

.toolos-shortcode__slider-profile[data-toolos-profile-key="maximum"] {
        background: #fff7ed;
        color: #c2410c;
}

.toolos-shortcode__slider-profile.is-custom {
        background: var(--toolos-ui-surface-muted);
        color: var(--toolos-ui-text-tertiary);
}

.toolos-shortcode__slider-input {
        -webkit-appearance: none;
        appearance: none;
        width: 100%;
        height: 6px;
        border-radius: 999px;
        background: var(--toolos-ui-border);
        outline: none;
        cursor: pointer;
        margin: 0;
}

.toolos-shortcode__slider-input:focus {
        box-shadow: 0 0 0 3px var(--toolos-ui-focus-ring);
}

.toolos-shortcode__slider-input::-webkit-slider-thumb {
        -webkit-appearance: none;
        appearance: none;
        width: 20px;
        height: 20px;
        border-radius: 50%;
        background: var(--toolos-ui-primary);
        border: 2px solid var(--toolos-ui-surface);
        box-shadow: 0 1px 3px rgba(15, 23, 42, 0.18);
        cursor: pointer;
        transition: transform 120ms ease;
}

.toolos-shortcode__slider-input::-webkit-slider-thumb:hover,
.toolos-shortcode__slider-input::-webkit-slider-thumb:active {
        transform: scale(1.12);
}

.toolos-shortcode__slider-input::-moz-range-thumb {
        width: 20px;
        height: 20px;
        border-radius: 50%;
        background: var(--toolos-ui-primary);
        border: 2px solid var(--toolos-ui-surface);
        box-shadow: 0 1px 3px rgba(15, 23, 42, 0.18);
        cursor: pointer;
        transition: transform 120ms ease;
}

.toolos-shortcode__slider-input::-moz-range-thumb:hover,
.toolos-shortcode__slider-input::-moz-range-thumb:active {
        transform: scale(1.12);
}

.toolos-shortcode__slider-input.is-invalid {
        background: var(--toolos-ui-status-error-background);
}

.toolos-shortcode__item--hidden {
        display: none;
}

.toolos-shortcode__item--full-width {
        grid-column: 1 / -1;
}

.toolos-shortcode__slider--affordability {
        gap: 10px;
}

.toolos-shortcode__slider--affordability .toolos-shortcode__slider-input {
        height: 22px;
        background: transparent;
}

.toolos-shortcode__slider--affordability .toolos-shortcode__slider-input::-webkit-slider-thumb {
        width: 22px;
        height: 22px;
        border-width: 3px;
}

.toolos-shortcode__slider--affordability .toolos-shortcode__slider-input::-moz-range-thumb {
        width: 22px;
        height: 22px;
        border-width: 3px;
}

/* Segmented slider track wrapper: stacks colored track + transparent range input overlay */
.toolos-shortcode__slider-track-wrapper {
        position: relative;
        width: 100%;
        height: 22px;
        display: flex;
        align-items: center;
        justify-content: center;
}

/* The colored track (container for absolutely-positioned segments) */
.toolos-shortcode__slider-track {
        position: absolute;
        top: 50%;
        left: 0;
        width: 100%;
        height: 8px;
        transform: translateY(-50%);
        border-radius: 999px;
        background: linear-gradient(90deg, #22c55e 0%, #2563eb 52%, #f59e0b 100%);
        overflow: hidden;
}

.toolos-shortcode__slider--categorical .toolos-shortcode__slider-track {
        background: linear-gradient(90deg,
                #22c55e 0%, #22c55e 30%,
                #2563eb 40%, #2563eb 60%,
                #f59e0b 70%, #f59e0b 100%);
}

/* Each segment is an absolutely-positioned colored band.
   Width and left are set inline from resolved affordabilityRules.profiles,
   so switching countries recomputes segment widths with config-driven data
   rather than hardcoded percentages. */
.toolos-shortcode__slider-segment {
        position: absolute;
        top: 0;
        bottom: 0;
        background: transparent;
        pointer-events: none;
        transition: filter 160ms ease, box-shadow 160ms ease;
        overflow: hidden;
        z-index: 1;
}

/* First/last segments round only the outer corners to match the track pill shape.
   Middle segments are square so adjacent bands join seamlessly. */
.toolos-shortcode__slider-segment.is-first {
        border-top-left-radius: 999px;
        border-bottom-left-radius: 999px;
}

.toolos-shortcode__slider-segment.is-last {
        border-top-right-radius: 999px;
        border-bottom-right-radius: 999px;
}

.toolos-shortcode__slider-segment--conservative {
	background: linear-gradient(90deg, #22c55e 0%, #22c55e calc(100% - 6px), rgba(34, 197, 94, 0) 100%);
}

.toolos-shortcode__slider-segment--recommended {
	background: linear-gradient(90deg, rgba(37, 99, 235, 0) 0%, #2563eb 6px, #2563eb calc(100% - 6px), rgba(37, 99, 235, 0) 100%);
}

.toolos-shortcode__slider-segment--maximum {
	background: linear-gradient(90deg, rgba(245, 158, 11, 0) 0%, #f59e0b 6px, #f59e0b 100%);
}

.toolos-shortcode__slider-segment.is-active {
        filter: brightness(1.03);
}

/* Track color is expressed only by the segmented rail itself.
   Text below is descriptive and does not carry the color responsibility. */
.toolos-shortcode__slider-segment-label {
        display: none;
}

/* Range input overlay: completely transparent track so the colored segments
   show through. Only the thumb is visible and draggable across all zones.
   Positioned absolutely to sit exactly on top of the track. */
.toolos-shortcode__slider--affordability .toolos-shortcode__slider-track-wrapper .toolos-shortcode__slider-input {
        position: absolute;
        top: 50%;
        left: 0;
        width: 100%;
        height: 22px;
        margin: 0;
        background: transparent;
        transform: translateY(-50%);
        z-index: 2;
}

.toolos-shortcode__slider--affordability .toolos-shortcode__slider-input:focus {
        box-shadow: none;
}

.toolos-shortcode__slider--affordability .toolos-shortcode__slider-input::-webkit-slider-runnable-track {
        background: transparent;
        border: 0;
        height: 8px;
}

.toolos-shortcode__slider--affordability .toolos-shortcode__slider-input::-webkit-slider-thumb {
        margin-top: -7px;
}

.toolos-shortcode__slider--affordability .toolos-shortcode__slider-input::-moz-range-track {
        background: transparent;
        border: 0;
        height: 8px;
}

/* Legend: textual explanation BELOW the slider track.
   Per spec, the legend is only descriptive and does NOT carry color
   responsibility itself — color lives on the segments above. */
.toolos-shortcode__slider-legend {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
        margin-top: 4px;
}

.toolos-shortcode__slider-legend-item {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 0;
        padding: 0;
        border: 0;
        background: transparent;
        font-size: 11px;
        font-weight: 500;
        color: var(--toolos-ui-text-secondary);
        cursor: pointer;
        transition: color 160ms ease;
        line-height: 1.2;
        text-align: center;
}

.toolos-shortcode__slider-legend-item:hover {
        background: transparent;
        box-shadow: none;
}

.toolos-shortcode__slider-legend-item:focus-visible {
        outline: none;
}

.toolos-shortcode__slider-legend-item.is-active {
        color: var(--toolos-ui-text-primary);
        font-weight: 600;
}

.toolos-shortcode__slider-legend-item--conservative:hover {
        color: #16a34a;
}

.toolos-shortcode__slider-legend-item--recommended:hover {
        color: #2563eb;
}

.toolos-shortcode__slider-legend-item--maximum:hover {
        color: #ea580c;
}

.toolos-shortcode__slider-legend-text {
        text-transform: capitalize;
        letter-spacing: 0.02em;
        font-size: 11px;
        line-height: 1.2;
}

.toolos-shortcode__slider-legend-range {
        display: none;
}

@media (max-width: 640px) {
        .toolos-shortcode__slider-legend {
                gap: 6px;
        }
}

.toolos-shortcode__input[type='number'] {
        appearance: textfield;
        -moz-appearance: textfield;
}

.toolos-shortcode__input[type='number']::-webkit-outer-spin-button,
.toolos-shortcode__input[type='number']::-webkit-inner-spin-button {
        -webkit-appearance: none;
        margin: 0;
}

.toolos-shortcode__input::placeholder {
	color: var(--toolos-ui-input-placeholder);
}

.toolos-shortcode__input:focus {
	border-color: var(--toolos-ui-primary);
	box-shadow: 0 0 0 4px var(--toolos-ui-focus-ring);
}

.toolos-shortcode__input.is-invalid {
	border-color: var(--color-error-500, #dc2626);
	background: var(--toolos-ui-status-error-background);
}

.toolos-shortcode__choice-group {
	display: flex;
        flex-wrap: nowrap;
	gap: 8px;
        align-items: center;
        min-height: 42px;
}

.toolos-shortcode__choice {
	display: inline-flex;
	align-items: center;
        gap: 6px;
	cursor: pointer;
        color: var(--toolos-ui-text-secondary);
        font-size: 14px;
        font-weight: 500;
}

.toolos-shortcode__choice input {
        margin: 0;
}

.toolos-shortcode__choice-label {
        line-height: 1.2;
}

.toolos-shortcode__choice-copy {
        display: inline-flex;
        flex-direction: column;
        gap: 4px;
}

.toolos-shortcode__choice-description {
        color: var(--toolos-ui-text-muted);
        font-size: 12px;
        line-height: 1.35;
}

.toolos-shortcode__choice input:checked + .toolos-shortcode__choice-copy .toolos-shortcode__choice-label {
        color: var(--toolos-ui-text-primary);
        font-weight: 600;
}

.toolos-shortcode__choice input:checked + .toolos-shortcode__choice-copy .toolos-shortcode__choice-description {
        color: var(--toolos-ui-text-secondary);
}

.toolos-field-errors {
	margin-top: 8px;
	padding: 8px 10px;
	border-radius: 8px;
	background: var(--toolos-ui-status-error-background);
	color: var(--toolos-ui-status-error-text);
	font-size: 12px;
}

.toolos-shortcode__actions {
	margin-top: 12px;
}

.toolos-shortcode__actions--card {
  margin-top: 0;
  display: flex;
  justify-content: flex-end;
}

.toolos-shortcode__actions--global {
	display: flex;
	justify-content: center;
	margin-top: 18px;
}

.toolos-shortcode__button {
	padding: 10px 16px;
	border: 1px solid transparent;
	border-radius: 8px;
	background: var(--toolos-ui-primary);
	color: var(--toolos-ui-text-inverse);
	cursor: pointer;
	font-weight: 600;
	transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease;
}

.toolos-shortcode__button:hover {
	background: var(--toolos-ui-primary-hover);
}

.toolos-shortcode__button--secondary {
	background: var(--toolos-ui-surface);
	color: var(--toolos-ui-text-primary);
	border-color: var(--toolos-ui-border-strong);
}

.toolos-shortcode__button--secondary:hover {
	background: var(--toolos-ui-primary);
	border-color: var(--toolos-ui-primary);
	color: var(--toolos-ui-text-inverse);
}

.toolos-shortcode__operand-controls {
	display: flex;
	gap: 8px;
	align-items: center;
	margin-top: 12px;
}

.toolos-shortcode__operand-btn {
	padding: 6px 12px;
	border: 1px solid var(--toolos-ui-border-strong, #cbd5e1);
	border-radius: 8px;
	background: var(--toolos-ui-surface, #ffffff);
	color: var(--toolos-ui-text-primary, #0f172a);
	cursor: pointer;
	font-size: 13px;
	font-weight: 600;
	transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease;
}

.toolos-shortcode__operand-btn:hover:not(:disabled) {
	background: var(--toolos-ui-primary, #3f5ef7);
	border-color: var(--toolos-ui-primary, #3f5ef7);
	color: var(--toolos-ui-text-inverse, #ffffff);
}

.toolos-shortcode__operand-btn:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

.toolos-shortcode__operand-btn--remove {
	font-size: 12px;
	padding: 6px 10px;
}

.toolos-interaction-card--adjust_by_percent .toolos-shortcode__form-grid {
        grid-template-columns: minmax(0, 150px) minmax(0, 1fr);
        align-items: end;
}

.toolos-interaction-card--adjust_by_percent .toolos-shortcode__item {
        padding: 10px 12px;
        min-width: 0;
}

.toolos-shortcode__item--adjustment_base {
        max-width: 150px;
}

.toolos-shortcode__item--adjustment_direction {
        min-width: 0;
}

.toolos-shortcode__item--adjustment_rate {
        min-width: 0;
        grid-column: 1 / -1;
        max-width: 220px;
}

.toolos-shortcode__field-cluster--adjustment {
        display: grid;
        grid-template-columns: minmax(0, 150px) minmax(0, 1fr);
        gap: 12px;
        grid-column: 1 / -1;
        padding: 12px;
        border-radius: 10px;
        background: var(--toolos-ui-surface-muted);
        align-items: end;
}

.toolos-shortcode__field-cluster--adjustment .toolos-shortcode__item {
        padding: 0;
        background: transparent;
}

.toolos-shortcode__item--adjustment_direction .toolos-shortcode__choice-group {
        flex-direction: column;
        align-items: flex-start;
        min-height: auto;
}

@media (max-width: 782px) {
        .toolos-shortcode__mortgage-shell {
                grid-template-columns: 1fr;
        }

        .toolos-shortcode__result-card-grid--summary,
        .toolos-shortcode__result-card-grid--secondary,
        .toolos-shortcode__result-card-grid--schedule {
                grid-template-columns: 1fr;
        }

        .toolos-interaction-card--adjust_by_percent .toolos-shortcode__form-grid {
                grid-template-columns: 1fr;
        }

        .toolos-shortcode__item--adjustment_base,
        .toolos-shortcode__item--adjustment_direction,
        .toolos-shortcode__item--adjustment_rate {
                max-width: none;
                min-width: 0;
        }

        .toolos-shortcode__field-cluster--adjustment {
                grid-template-columns: 1fr;
        }

        .toolos-shortcode__choice-group {
                flex-wrap: wrap;
        }
}

.toolos-shortcode__summary-card--prepayment-impact {
        gap: 16px;
}

.toolos-shortcode__prepayment-subtitle {
        margin: 0;
        color: #64748b;
        font-size: 0.84rem;
        line-height: 1.6;
}

.toolos-shortcode__prepayment-input {
        margin-top: 12px;
        padding: 12px;
        background: #f8fafc;
        border-radius: 8px;
        border: 1px solid #e2e8f0;
}

.toolos-shortcode__prepayment-input .toolos-shortcode__item {
        margin: 0;
        padding: 0;
        background: transparent;
        border-radius: 0;
}

.toolos-shortcode__impact-table {
        display: grid;
        gap: 0;
        border: 1px solid #e2e8f0;
        border-radius: 12px;
        overflow: hidden;
}

.toolos-shortcode__impact-table-head {
        display: grid;
        grid-template-columns: minmax(100px, 1fr) repeat(3, minmax(0, 1fr));
        gap: 0;
        padding: 12px;
        background: #f8fafc;
        border-bottom: 1px solid #e2e8f0;
}

.toolos-shortcode__impact-table-head .toolos-shortcode__impact-cell--metric {
        color: #475569;
}

.toolos-shortcode__impact-table-head .toolos-shortcode__impact-cell--before {
        color: #64748b;
}

.toolos-shortcode__impact-table-head .toolos-shortcode__impact-cell--after {
        color: #2563eb;
}

.toolos-shortcode__impact-table-head .toolos-shortcode__impact-cell--delta {
        color: #16a34a;
}

.toolos-shortcode__impact-table-body {
        display: grid;
        gap: 0;
}

.toolos-shortcode__impact-row {
        display: grid;
        grid-template-columns: minmax(100px, 1fr) repeat(3, minmax(0, 1fr));
        gap: 0;
        padding: 12px;
        border-bottom: 1px solid #f1f5f9;
        transition: background-color 0.15s ease;
}

.toolos-shortcode__impact-row--selected {
        background: #eff6ff;
}

.toolos-shortcode__impact-row:last-child {
        border-bottom: 0;
}

.toolos-shortcode__impact-row:hover {
        background: #f8fafc;
}

.toolos-shortcode__impact-cell {
        margin: 0;
        font-size: 0.8rem;
        line-height: 1.5;
        text-align: left;
        padding: 4px 0;
}

.toolos-shortcode__impact-cell--metric {
        font-weight: 700;
        color: #475569;
        letter-spacing: 0.02em;
        text-align: left;
}

.toolos-shortcode__impact-cell--before {
        color: #64748b;
        text-align: left;
}

.toolos-shortcode__impact-cell--after {
        color: #2563eb;
        font-weight: 600;
        text-align: left;
}

.toolos-shortcode__impact-cell--delta {
        color: #16a34a;
        font-weight: 700;
        text-align: left;
}

.toolos-shortcode__impact-currency {
        display: block;
        font-size: 0.68rem;
        font-weight: 600;
        color: #94a3b8;
        text-transform: uppercase;
        letter-spacing: 0.04em;
        line-height: 1.4;
}

.toolos-shortcode__impact-amount {
        display: block;
        font-size: 0.84rem;
        line-height: 1.5;
}

.toolos-shortcode__impact-mobile-label {
        display: none;
}

.toolos-shortcode__impact-summary {
        margin: 0;
        padding-top: 8px;
        border-top: 1px solid #e2e8f0;
        color: #526174;
        font-size: 0.84rem;
        line-height: 1.7;
        max-width: 60ch;
}

.toolos-shortcode__summary-card-bullets {
        margin: 8px 0 0;
        padding-left: 4px;
        list-style: none;
}

.toolos-shortcode__summary-card-bullets li {
        margin: 4px 0;
        color: #526174;
        font-size: 0.84rem;
        font-weight: 500;
        line-height: 1.7;
}

.toolos-shortcode__narrative-token--benefit {
        color: #16a34a;
        font-weight: 700;
}

.toolos-shortcode__narrative-token--contribution {
        color: #2563eb;
        font-weight: 700;
}

@media (max-width: 640px) {
        .toolos-shortcode__impact-table-head {
                display: none;
        }

        .toolos-shortcode__impact-row {
                grid-template-columns: 1fr;
                gap: 8px;
                padding: 14px 12px;
                border-bottom: 1px solid #e2e8f0;
        }

        .toolos-shortcode__impact-cell {
                display: flex;
                justify-content: space-between;
                align-items: center;
                padding: 4px 0;
        }

        .toolos-shortcode__impact-cell--metric {
                font-size: 0.75rem;
                font-weight: 700;
                letter-spacing: 0.04em;
                text-transform: uppercase;
                color: #64748b;
        }

        .toolos-shortcode__impact-cell--before,
        .toolos-shortcode__impact-cell--after,
        .toolos-shortcode__impact-cell--delta {
                justify-content: flex-start;
                gap: 12px;
                flex-direction: column;
                align-items: flex-start;
        }

        .toolos-shortcode__impact-currency,
        .toolos-shortcode__impact-amount {
                display: block;
        }

        .toolos-shortcode__impact-mobile-label {
                display: inline;
                font-size: 0.75rem;
                font-weight: 600;
                color: #64748b;
        }

        .toolos-shortcode__impact-cell--delta {
                text-align: left;
        }
}

.toolos-shortcode__impact-highlight {
        color: #2563eb;
        font-weight: 700;
}

.toolos-shortcode__payment-strategy-list {
        margin: 0;
        padding: 0;
        list-style: none;
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 10px;
}

.toolos-shortcode__payment-strategy-item {
        display: flex;
        align-items: flex-start;
        gap: 6px;
        padding: 8px;
        border-radius: 8px;
        background: var(--toolos-ui-surface-muted);
}

.toolos-shortcode__payment-strategy-check {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 14px;
        height: 14px;
        border-radius: 50%;
        background: #10b981;
        color: #ffffff;
        font-size: 0.55rem;
        font-weight: 700;
        flex-shrink: 0;
        margin-top: 2px;
}

.toolos-shortcode__payment-strategy-content {
        display: flex;
        flex-direction: column;
        gap: 2px;
        min-width: 0;
}

.toolos-shortcode__payment-strategy-label {
        color: #64748b;
        font-size: 0.68rem;
        font-weight: 500;
        line-height: 1.4;
}

.toolos-shortcode__payment-strategy-value {
        color: #0f172a;
        font-size: 0.78rem;
        font-weight: 700;
        line-height: 1.3;
        word-break: break-word;
}

.toolos-shortcode__payment-strategy-date {
        color: #94a3b8;
        font-size: 0.65rem;
        font-weight: 500;
        line-height: 1.4;
}

@media (max-width: 640px) {
        .toolos-shortcode__payment-strategy-list {
                grid-template-columns: 1fr;
        }
}

.toolos-shortcode__balance-chart-wrap {
        position: relative;
        width: 100%;
        padding: 16px;
        background: var(--toolos-ui-panel-subtle-background);
        border-radius: var(--toolos-ui-radius-lg);
        margin-top: 12px;
}

.toolos-shortcode__balance-chart {
        width: 100%;
        min-width: 280px;
        height: auto;
        display: block;
}

.toolos-shortcode__balance-chart-axis {
        stroke: var(--toolos-ui-chart-axis);
        stroke-width: 1;
}

.toolos-shortcode__balance-chart-grid {
        stroke: var(--toolos-ui-chart-grid);
        stroke-width: 1;
}

.toolos-shortcode__balance-chart-label {
        fill: var(--toolos-ui-chart-label);
        font-size: 10px;
}

.toolos-shortcode__balance-chart-stop--original-start {
        stop-color: var(--toolos-ui-chart-series-1);
        stop-opacity: 0.3;
}

.toolos-shortcode__balance-chart-stop--original-end {
        stop-color: var(--toolos-ui-chart-series-1);
        stop-opacity: 0;
}

.toolos-shortcode__balance-chart-stop--extra-start {
        stop-color: var(--toolos-ui-chart-series-2);
        stop-opacity: 0.3;
}

.toolos-shortcode__balance-chart-stop--extra-end {
        stop-color: var(--toolos-ui-chart-series-2);
        stop-opacity: 0;
}

/* Closing "About Affordability Guidelines" footer (country-driven copy) */
.toolos-shortcode__guideline-footer--affordability {
        margin: 18px 0 0;
        padding: 14px 18px;
        border-radius: 10px;
        background: #f8fafc;
        border: 1px solid #e2e8f0;
}

.toolos-shortcode__guideline-footer-title {
        margin: 0 0 6px;
        color: #475569;
        font-size: 0.85rem;
        font-weight: 700;
        line-height: 1.35;
        letter-spacing: 0.01em;
        text-transform: uppercase;
}

.toolos-shortcode__guideline-footer-body {
        margin: 0;
        color: #64748b;
        font-size: 0.82rem;
        font-weight: 500;
        line-height: 1.6;
}

.toolos-shortcode__post-actions {
        display: flex;
        flex-direction: column;
        gap: 16px;
        margin-top: 20px;
        padding-top: 20px;
        border-top: 1px solid var(--toolos-ui-border);
}

.toolos-shortcode__share-trigger {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        align-self: flex-end;
}

.toolos-shortcode__share-trigger-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        line-height: 0;
}

.toolos-shortcode__share-trigger-label {
        font-size: 14px;
        font-weight: 600;
}

.toolos-shortcode__feedback {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: flex-end;
        gap: 8px;
        padding: 0;
        border: none;
        border-radius: 0;
        background: transparent;
}

.toolos-shortcode__feedback-question {
        margin: 0;
        font-size: 12px;
        font-weight: 400;
        color: #94a3b8;
}

.toolos-shortcode__feedback-actions {
        display: flex;
        gap: 6px;
}

.toolos-shortcode__feedback-button {
        min-width: 30px;
        padding: 2px 5px;
        border: 1px solid #94a3b8;
        border-radius: 5px;
        background: transparent;
        color: #94a3b8;
        font-size: 10px;
        font-weight: 600;
        transition: all 0.2s ease;
}

.toolos-shortcode__feedback-button:hover {
        border-color: #94a3b8;
        background: #e2e8f0;
        color: #64748b;
}

.toolos-shortcode__share-modal {
        position: fixed;
        inset: 0;
        z-index: 1000;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 16px;
}

.toolos-shortcode__share-modal[hidden] {
        display: none;
}

.toolos-shortcode__share-modal-backdrop {
        position: absolute;
        inset: 0;
        background: rgba(15, 23, 42, 0.5);
        backdrop-filter: blur(2px);
}

.toolos-shortcode__share-dialog {
        position: relative;
        width: 100%;
        max-width: 480px;
        max-height: 90vh;
        overflow-y: auto;
        background: var(--toolos-ui-surface);
        border: 1px solid var(--toolos-ui-border);
        border-radius: 16px;
        box-shadow: 0 20px 60px rgba(15, 23, 42, 0.2);
        padding: 24px;
}

.toolos-shortcode__share-header {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 12px;
        margin-bottom: 20px;
}

.toolos-shortcode__share-title {
        margin: 0;
        font-size: 18px;
        font-weight: 700;
        color: var(--toolos-ui-text-primary);
}

.toolos-shortcode__share-close {
        flex-shrink: 0;
        width: 32px;
        height: 32px;
        padding: 0;
        border: 1px solid var(--toolos-ui-border);
        border-radius: 8px;
        background: var(--toolos-ui-surface);
        color: var(--toolos-ui-text-secondary);
        font-size: 20px;
        line-height: 1;
        cursor: pointer;
        transition: all 0.2s ease;
}

.toolos-shortcode__share-close:hover {
        border-color: var(--toolos-ui-border-strong);
        color: var(--toolos-ui-text-primary);
}

.toolos-shortcode__share-panel {
        display: flex;
        flex-direction: column;
        gap: 16px;
}

.toolos-shortcode__share-toggle {
        display: flex;
        align-items: center;
        gap: 8px;
        font-size: 13px;
        color: var(--toolos-ui-text-secondary);
        cursor: pointer;
}

.toolos-shortcode__share-toggle-input {
        margin: 0;
}

.toolos-shortcode__share-socials {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
}

.toolos-shortcode__share-social {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 0;
        width: 48px;
        height: 48px;
        padding: 0;
        border: 1px solid var(--toolos-ui-border);
        border-radius: 12px;
        background: var(--toolos-ui-surface);
        color: var(--toolos-ui-text-primary);
        text-decoration: none;
        transition: all 0.2s ease;
}

.toolos-shortcode__share-social:hover {
        border-color: var(--toolos-ui-accent);
        background: var(--toolos-ui-status-info-background);
        text-decoration: none;
}

.toolos-shortcode__share-social-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 32px;
        height: 32px;
        border-radius: 50%;
        color: #ffffff;
        background: var(--toolos-ui-primary);
        font-size: 16px;
        font-weight: 700;
        line-height: 1;
}

.toolos-shortcode__share-social-icon--linkedin {
        font-size: 15px;
}

.toolos-shortcode__share-social-icon--facebook,
.toolos-shortcode__share-social-icon--x {
        font-size: 18px;
}

.toolos-shortcode__share-social-label {
        display: none;
}

.toolos-shortcode__share-copy-row {
        display: flex;
        gap: 8px;
        align-items: center;
}

.toolos-shortcode__share-input,
.toolos-shortcode__share-link {
        flex: 1;
        min-width: 0;
        padding: 8px 12px;
        border: 1px solid var(--toolos-ui-border);
        border-radius: 8px;
        background: var(--toolos-ui-surface-muted);
        color: var(--toolos-ui-text-primary);
        font-size: 13px;
        font-family: inherit;
}

.toolos-shortcode__share-copy-button {
        flex-shrink: 0;
        padding: 8px 16px;
        font-size: 13px;
        font-weight: 600;
}

.toolos-shortcode__share-link {
        width: 100%;
}

@media (max-width: 640px) {
        .toolos-shortcode__share-social {
                flex: 0 0 auto;
        }

        .toolos-shortcode__share-copy-row {
                flex-direction: column;
                align-items: stretch;
        }

        .toolos-shortcode__share-copy-button {
                width: 100%;
        }
}

.toolos-shortcode__amortization-modal-trigger {
        margin-top: 16px;
        width: 100%;
}

.toolos-shortcode__amortization-preview-table {
        width: 100%;
        min-width: 0;
        margin-bottom: 8px;
}

.toolos-shortcode__amortization-preview-table-head {
        display: grid;
        gap: 0;
        width: 100%;
        min-width: 0;
        padding-bottom: 8px;
        border-bottom: 2px solid var(--toolos-ui-border-strong);
}

.toolos-shortcode__amortization-preview-table-body {
        display: grid;
        gap: 0;
}

.toolos-shortcode__amortization-preview-table-row {
        display: grid;
        gap: 0;
        width: 100%;
        min-width: 0;
        padding: 6px 0;
        border-bottom: 1px solid var(--toolos-ui-border);
}

.toolos-shortcode__amortization-preview-table-row:last-child {
        border-bottom: 0;
}

.toolos-shortcode__amortization-preview-table-cell {
        padding: 4px 8px;
        text-align: right;
        font-size: 13px;
        color: var(--toolos-ui-text-primary);
        white-space: nowrap;
        min-width: 0;
}

.toolos-shortcode__amortization-preview-table-cell--header {
        text-align: right;
        font-weight: 600;
        font-size: 12px;
        color: var(--toolos-ui-text-secondary);
        text-transform: uppercase;
        letter-spacing: 0.03em;
}

.toolos-shortcode__amortization-preview-table-cell:first-child,
.toolos-shortcode__amortization-preview-table-cell--header:first-child {
        text-align: left;
}

.toolos-shortcode__amortization-modal {
        position: fixed;
        inset: 0;
        z-index: 1000;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 16px;
}

.toolos-shortcode__amortization-modal[hidden] {
        display: none;
}

.toolos-shortcode__amortization-modal-backdrop {
        position: absolute;
        inset: 0;
        background: rgba(15, 23, 42, 0.5);
        backdrop-filter: blur(2px);
}

.toolos-shortcode__amortization-dialog {
        position: relative;
        display: flex;
        flex-direction: column;
        width: 100%;
        max-width: 1000px;
        max-height: 90vh;
        background: var(--toolos-ui-surface);
        border: 1px solid var(--toolos-ui-border);
        border-radius: 16px;
        box-shadow: 0 20px 60px rgba(15, 23, 42, 0.2);
        overflow: hidden;
}

.toolos-shortcode__amortization-modal-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        padding: 20px 24px;
        border-bottom: 1px solid var(--toolos-ui-border);
}

.toolos-shortcode__amortization-modal-title {
        margin: 0;
        font-size: 18px;
        font-weight: 700;
        color: var(--toolos-ui-text-primary);
}

.toolos-shortcode__amortization-modal-close {
        flex-shrink: 0;
        width: 32px;
        height: 32px;
        padding: 0;
        border: 1px solid var(--toolos-ui-border);
        border-radius: 8px;
        background: var(--toolos-ui-surface);
        color: var(--toolos-ui-text-secondary);
        font-size: 20px;
        line-height: 1;
        cursor: pointer;
        transition: all 0.2s ease;
}

.toolos-shortcode__amortization-modal-close:hover {
        border-color: var(--toolos-ui-border-strong);
        color: var(--toolos-ui-text-primary);
}

.toolos-shortcode__amortization-modal-body {
        flex: 1;
        overflow: auto;
        padding: 0 24px 24px;
}

.toolos-shortcode__amortization-modal-table {
        width: 100%;
        min-width: 0;
        margin-top: 16px;
}

.toolos-shortcode__amortization-modal-table-head {
        display: grid;
        gap: 0;
        width: 100%;
        min-width: 0;
        padding-bottom: 8px;
        border-bottom: 2px solid var(--toolos-ui-border-strong);
        position: sticky;
        top: 0;
        background: var(--toolos-ui-surface);
        z-index: 1;
}

.toolos-shortcode__amortization-modal-table-body {
        display: grid;
        gap: 0;
}

.toolos-shortcode__amortization-modal-table-row {
        display: grid;
        gap: 0;
        width: 100%;
        min-width: 0;
        padding: 6px 0;
        border-bottom: 1px solid var(--toolos-ui-border);
}

.toolos-shortcode__amortization-modal-table-row:last-child {
        border-bottom: 0;
}

.toolos-shortcode__amortization-modal-table-cell {
        padding: 4px 8px;
        text-align: right;
        font-size: 13px;
        color: var(--toolos-ui-text-primary);
        white-space: nowrap;
        min-width: 0;
}

.toolos-shortcode__amortization-modal-table-cell--header {
        text-align: right;
        font-weight: 600;
        font-size: 12px;
        color: var(--toolos-ui-text-secondary);
        text-transform: uppercase;
        letter-spacing: 0.03em;
}

.toolos-shortcode__amortization-modal-table-cell:first-child,
.toolos-shortcode__amortization-modal-table-cell--header:first-child {
        text-align: left;
}

@media (max-width: 640px) {
        .toolos-shortcode__amortization-dialog {
                max-width: 100%;
                max-height: 85vh;
                border-radius: 12px;
        }

        .toolos-shortcode__amortization-modal-header {
                padding: 16px 16px 12px;
        }

        .toolos-shortcode__amortization-modal-body {
                padding: 8px 12px 16px;
        }

        .toolos-shortcode__amortization-modal-table-cell {
                padding: 6px 6px;
                font-size: 12px;
        }
}

.toolos-shortcode__share-panel--affordability {
        gap: 20px;
}

.toolos-shortcode__share-mode-group {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
}

.toolos-shortcode__share-mode-option {
        display: flex;
        flex-direction: column;
        gap: 6px;
        padding: 14px;
        border: 1px solid var(--toolos-ui-border);
        border-radius: 12px;
        background: var(--toolos-ui-surface-muted);
        cursor: pointer;
        transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.toolos-shortcode__share-mode-option input {
        position: absolute;
        opacity: 0;
        pointer-events: none;
}

.toolos-shortcode__share-mode-option.is-active {
        border-color: var(--toolos-ui-card-accent-border);
        background: var(--toolos-ui-status-info-background);
        box-shadow: inset 0 0 0 1px var(--toolos-ui-card-accent-border);
}

.toolos-shortcode__share-mode-title {
        font-size: 14px;
        font-weight: 700;
        color: var(--toolos-ui-text-primary);
}

.toolos-shortcode__share-mode-description {
        font-size: 13px;
        line-height: 1.55;
        color: var(--toolos-ui-text-secondary);
}

.toolos-shortcode__share-privacy,
.toolos-shortcode__share-export-actions {
        padding: 16px;
        border: 1px solid var(--toolos-ui-border);
        border-radius: 12px;
        background: var(--toolos-ui-surface-muted);
}

.toolos-shortcode__share-section-title {
        margin: 0 0 10px;
        font-size: 14px;
        font-weight: 700;
        color: var(--toolos-ui-text-primary);
}

.toolos-shortcode__share-privacy-copy {
        font-size: 13px;
        line-height: 1.6;
        color: var(--toolos-ui-text-secondary);
}

.toolos-shortcode__share-consent {
        display: flex;
        align-items: flex-start;
        gap: 10px;
        margin-top: 12px;
        font-size: 13px;
        line-height: 1.55;
        color: var(--toolos-ui-text-primary);
}

.toolos-shortcode__share-preview-card {
        display: flex;
        flex-direction: column;
        gap: 18px;
}

.toolos-shortcode__share-preview-eyebrow {
        font-size: 12px;
        font-weight: 700;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: var(--toolos-ui-text-tertiary);
}

.toolos-shortcode__share-preview-heading {
        margin: 0;
        font-size: 22px;
        font-weight: 800;
        color: var(--toolos-ui-text-primary);
}

.toolos-shortcode__share-preview-primary {
        font-size: 36px;
        font-weight: 800;
        line-height: 1;
        color: #2563eb;
}

.toolos-shortcode__share-preview-metrics {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
}

.toolos-shortcode__share-preview-metric,
.toolos-shortcode__share-preview-list div,
.toolos-shortcode__share-preview-flow div {
        display: flex;
        justify-content: space-between;
        gap: 12px;
        padding: 10px 0;
        border-bottom: 1px solid var(--toolos-ui-border);
}

.toolos-shortcode__share-preview-label,
.toolos-shortcode__share-preview-list dt,
.toolos-shortcode__share-preview-flow span {
        font-size: 13px;
        color: var(--toolos-ui-text-secondary);
}

.toolos-shortcode__share-preview-metric strong,
.toolos-shortcode__share-preview-list dd,
.toolos-shortcode__share-preview-flow strong {
        margin: 0;
        font-size: 14px;
        font-weight: 700;
        color: var(--toolos-ui-text-primary);
        text-align: right;
}

.toolos-shortcode__share-preview-section {
        display: flex;
        flex-direction: column;
        gap: 10px;
}

.toolos-shortcode__share-preview-section h5 {
        margin: 0;
        font-size: 14px;
        font-weight: 700;
        color: var(--toolos-ui-text-primary);
}

.toolos-shortcode__share-preview-list {
        margin: 0;
}

.toolos-shortcode__share-preview-list dt,
.toolos-shortcode__share-preview-list dd {
        margin: 0;
}

.toolos-shortcode__share-preview-breakdown {
        margin: 0;
        padding-left: 18px;
        color: var(--toolos-ui-text-secondary);
}

.toolos-shortcode__share-preview-breakdown li {
        display: flex;
        justify-content: space-between;
        gap: 12px;
        margin-bottom: 8px;
}

.toolos-shortcode__share-preview-highlight,
.toolos-shortcode__share-preview-warning-title,
.toolos-shortcode__share-preview-range strong {
        color: var(--toolos-ui-text-primary);
        font-weight: 700;
}

.toolos-shortcode__share-preview-footer {
        padding-top: 14px;
        border-top: 1px solid var(--toolos-ui-border);
        font-size: 13px;
        line-height: 1.55;
        color: var(--toolos-ui-text-secondary);
}

.toolos-shortcode__share-export-actions {
        display: flex;
        flex-direction: column;
        gap: 16px;
}

.toolos-shortcode__share-export-buttons {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
}

.toolos-shortcode__share-summary {
        flex: 1;
        min-height: 112px;
        padding: 10px 12px;
        border: 1px solid var(--toolos-ui-border);
        border-radius: 10px;
        background: var(--toolos-ui-surface);
        color: var(--toolos-ui-text-primary);
        font-size: 13px;
        line-height: 1.55;
        resize: vertical;
}

.toolos-shortcode__share-social-icon--email {
        background: #475569;
}

.toolos-shortcode__feedback-drawer {
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        max-width: 440px;
        z-index: 1001;
        background: var(--toolos-ui-surface);
        box-shadow: 0 -10px 40px rgba(15, 23, 42, 0.2);
        border-top-right-radius: 12px;
        overflow-y: auto;
        padding: 24px;
        animation: toolos-feedback-drawer-slide 0.3s ease;
}

@keyframes toolos-feedback-drawer-slide {
        from {
                transform: translateY(100%);
        }
        to {
                transform: translateY(0);
        }
}

.toolos-shortcode__feedback-drawer[hidden] {
        display: none;
}

.toolos-shortcode__feedback-drawer-close {
        position: absolute;
        top: 16px;
        right: 16px;
        width: 32px;
        height: 32px;
        padding: 0;
        border: 1px solid var(--toolos-ui-border);
        border-radius: 8px;
        background: var(--toolos-ui-surface);
        color: var(--toolos-ui-text-secondary);
        font-size: 20px;
        line-height: 1;
        cursor: pointer;
        transition: all 0.2s ease;
}

.toolos-shortcode__feedback-drawer-close:hover {
        border-color: var(--toolos-ui-border-strong);
        color: var(--toolos-ui-text-primary);
}

.toolos-shortcode__feedback-drawer-progress {
        margin-bottom: 24px;
}

.toolos-shortcode__feedback-drawer-progress[hidden] {
        display: none;
}

/* ===== Calorie Result Panel (uses mortgage summary-* classes) ===== */

.toolos-shortcode__result-groups--calorie {
        display: grid;
        gap: 14px;
}

.toolos-shortcode__disclaimer {
        margin: 12px 0 0 0;
        padding: 10px 14px;
        font-size: 11px;
        line-height: 1.5;
        color: var(--toolos-token-component-card-copy);
        background: var(--toolos-ui-surface-muted);
        border-radius: 8px;
        border: 1px solid var(--toolos-ui-border);
}

.toolos-shortcode__summary-hero--calorie .toolos-shortcode__summary-hero-card-title {
        font-size: var(--toolos-token-font-size-title-md);
}

.toolos-shortcode__summary-hero-description {
        margin: 8px 0 0;
        font-size: 14px;
        line-height: 1.5;
        color: var(--toolos-ui-text-tertiary);
}

.toolos-shortcode__summary-card--calorie-strategy .toolos-shortcode__summary-card-content {
        gap: 14px;
}

.toolos-shortcode__strategy-block {
        padding: 18px 20px;
        border: 1px solid var(--toolos-token-component-card-border);
        border-radius: 16px;
        background: #ffffff;
}

.toolos-shortcode__strategy-block--bare {
        padding: 0;
        border: none;
        border-radius: 0;
        background: transparent;
}

.toolos-shortcode__strategy-block .toolos-shortcode__strategy-subtitle {
        margin: 0 0 12px;
        color: #0f172a;
        font-size: 0.98rem;
        font-weight: 700;
        letter-spacing: -0.005em;
        line-height: 1.35;
}

.toolos-shortcode__strategy-block .toolos-shortcode__strategy-goal {
        margin: 0;
        padding-bottom: 14px;
        border-bottom: 1px solid var(--toolos-token-component-card-divider);
        color: #0f172a;
        font-size: 0.96rem;
        font-weight: 700;
        line-height: 1.45;
}

.toolos-shortcode__strategy-row {
        padding: 14px 0;
        border-top: 1px solid var(--toolos-token-component-card-divider);
}

.toolos-shortcode__strategy-row:first-of-type {
        padding-top: 14px;
        border-top: 0;
}

.toolos-shortcode__strategy-row:last-child {
        padding-bottom: 0;
}

.toolos-shortcode__strategy-row-header {
        display: flex;
        flex-direction: column;
        gap: 4px;
}

.toolos-shortcode__strategy-row-label {
        color: #475569;
        font-size: 0.82rem;
        font-weight: 600;
        letter-spacing: 0.01em;
        line-height: 1.45;
}

.toolos-shortcode__strategy-row-value {
        margin-top: 4px;
        color: #0f172a;
        font-size: 0.96rem;
        font-weight: 700;
        line-height: 1.45;
}

.toolos-shortcode__strategy-row-description {
        margin-top: 4px;
        color: #64748b;
        font-size: 0.78rem;
        line-height: 1.55;
}

.toolos-shortcode__weight-goal-tag {
        display: inline-block;
        padding: 3px 10px;
        border-radius: 9999px;
        font-size: 0.78rem;
        font-weight: 600;
        background: #eff6ff;
        color: #1d4ed8;
}

.toolos-shortcode__plan-description {
        margin: 0;
        color: var(--toolos-token-component-card-copy);
        font-size: var(--toolos-token-font-size-body-sm);
        line-height: 1.6;
}

.toolos-shortcode__plan-target-value {
        margin-bottom: 14px;
        color: #0f172a;
        font-size: 1.4rem;
        font-weight: 700;
        letter-spacing: -0.01em;
}

.toolos-shortcode__plan-formula-title {
        margin: 0 0 8px;
        color: var(--toolos-token-component-card-copy);
        font-size: 0.82rem;
        font-weight: 600;
        line-height: 1.45;
}

.toolos-shortcode__plan-table {
        width: 100%;
        border-collapse: collapse;
        margin-top: 4px;
}

.toolos-shortcode__plan-table th {
        text-align: left;
        padding: 8px 12px;
        color: var(--toolos-token-component-card-copy);
        font-size: var(--toolos-token-font-size-label-sm);
        font-weight: 700;
        letter-spacing: 0.04em;
        text-transform: uppercase;
        border-bottom: 1px solid var(--toolos-token-component-card-border-strong);
}

.toolos-shortcode__plan-table td {
        padding: 10px 12px;
        color: #0f172a;
        font-size: var(--toolos-token-font-size-body-sm);
        font-weight: 600;
        border-bottom: 1px solid var(--toolos-token-component-card-divider);
}

.toolos-shortcode__plan-table tr:last-child td {
        border-bottom: none;
}

.toolos-shortcode__tip-comparison-table-wrap {
        width: 100%;
        overflow-x: auto;
}

.toolos-shortcode__plan-table--tip-comparison {
        width: 100%;
        table-layout: auto;
        margin-top: 0;
}

.toolos-shortcode__plan-table--tip-comparison th,
.toolos-shortcode__plan-table--tip-comparison td {
        white-space: nowrap;
}

.toolos-shortcode__plan-table--tip-comparison th {
        padding: 0 10px 8px;
        font-size: 0.62rem;
        letter-spacing: 0.02em;
        line-height: 1.25;
        text-transform: uppercase;
    }

.toolos-shortcode__plan-table--tip-comparison td {
        padding: 8px 10px;
        font-size: 0.78rem;
        line-height: 1.3;
        font-weight: 600;
}

.toolos-shortcode__plan-table--tip-comparison th:first-child,
.toolos-shortcode__plan-table--tip-comparison td.is-metric {
        text-align: left;
}

.toolos-shortcode__plan-table--tip-comparison th:not(:first-child),
.toolos-shortcode__plan-table--tip-comparison td:not(.is-metric) {
        text-align: right;
}

.toolos-shortcode__plan-table--tip-comparison tbody tr.is-selected td {
        background: #eff6ff;
}

.toolos-shortcode__weight-goal-warning {
        margin-top: 8px;
        padding: 8px 12px;
        border-radius: 8px;
        background: #fef3c7;
        color: #92400e;
        font-size: 0.78rem;
        line-height: 1.55;
}

.toolos-shortcode__feedback-drawer-progress-meta {
        margin-bottom: 8px;
}

.toolos-shortcode__feedback-drawer-progress-step {
        font-size: 12px;
        color: var(--toolos-ui-text-tertiary);
}

.toolos-shortcode__feedback-drawer-progress-track {
        height: 4px;
        border-radius: 2px;
        background: var(--toolos-ui-border);
        overflow: hidden;
}

.toolos-shortcode__feedback-drawer-progress-fill {
        display: block;
        height: 100%;
        width: 0%;
        background: var(--toolos-ui-primary);
        border-radius: 2px;
        transition: width 0.3s ease;
}

.toolos-shortcode__feedback-drawer-panel {
        display: flex;
        flex-direction: column;
        gap: 16px;
}

.toolos-shortcode__feedback-drawer-panel[hidden] {
        display: none;
}

.toolos-shortcode__feedback-drawer-title {
        margin: 0;
        font-size: 18px;
        font-weight: 700;
        color: var(--toolos-ui-text-primary);
}

.toolos-shortcode__feedback-drawer-group {
        display: flex;
        flex-direction: column;
        gap: 12px;
}

.toolos-shortcode__feedback-drawer-label {
        margin: 0;
        font-size: 14px;
        font-weight: 500;
        color: var(--toolos-ui-text-secondary);
}

.toolos-shortcode__feedback-drawer-options {
        display: flex;
        flex-direction: column;
        gap: 8px;
}

.toolos-shortcode__feedback-drawer-option {
        display: flex;
        align-items: center;
        gap: 8px;
        padding: 10px 12px;
        border: 1px solid var(--toolos-ui-border);
        border-radius: 8px;
        font-size: 14px;
        color: var(--toolos-ui-text-primary);
        cursor: pointer;
        transition: all 0.2s ease;
}

.toolos-shortcode__feedback-drawer-option:hover {
        border-color: var(--toolos-ui-accent);
        background: var(--toolos-ui-status-info-background);
}

.toolos-shortcode__feedback-drawer-option input {
        margin: 0;
}

.toolos-shortcode__feedback-drawer-textarea {
        width: 100%;
        padding: 10px 12px;
        border: 1px solid var(--toolos-ui-border);
        border-radius: 8px;
        background: var(--toolos-ui-surface);
        color: var(--toolos-ui-text-primary);
        font-size: 14px;
        font-family: inherit;
        resize: vertical;
}

.toolos-shortcode__feedback-drawer-textarea:focus {
        outline: none;
        border-color: var(--toolos-ui-accent);
        box-shadow: 0 0 0 3px var(--toolos-ui-focus-ring);
}

.toolos-shortcode__feedback-drawer-actions-row {
        display: flex;
        justify-content: flex-end;
}

.toolos-shortcode__feedback-drawer-note {
        margin: 0;
        font-size: 14px;
        line-height: 1.6;
        color: var(--toolos-ui-text-secondary);
}

@media (max-width: 600px) {
        .toolos-shortcode__share-dialog {
                max-width: 100%;
                padding: 16px;
        }

        .toolos-shortcode__feedback-drawer {
                max-width: 100%;
                padding: 16px;
        }

        .toolos-shortcode__share-socials {
                flex-wrap: wrap;
        }
}

/* ===== BMI Calculator Result Area ===== */

.toolos-shortcode__result-groups--bmi {
        display: flex;
        flex-direction: column;
        gap: 16px;
}

.toolos-shortcode__summary-hero--bmi .toolos-shortcode__summary-primary-value {
        font-size: clamp(2.15rem, 3.2vw, 3.25rem);
        font-weight: 800;
        color: var(--toolos-token-component-card-accent);
        line-height: 1.1;
}

.toolos-shortcode__summary-hero--bmi .toolos-shortcode__summary-hero-secondary {
        padding-top: 16px;
        border-top: 1px solid var(--toolos-token-component-card-divider);
}

.toolos-shortcode__summary-hero--bmi .toolos-shortcode__summary-hero-secondary .toolos-shortcode__summary-hero-label {
        color: var(--toolos-token-component-card-copy);
        font-size: var(--toolos-token-font-size-label-sm);
}

.toolos-shortcode__summary-hero--bmi .toolos-shortcode__summary-primary-value--secondary {
        color: var(--toolos-token-component-card-title);
        font-size: var(--toolos-token-font-size-title-md);
        font-weight: 700;
        line-height: 1.5;
}

.toolos-shortcode__summary-hero--bmi-empty .toolos-shortcode__summary-hero-card-title,
.toolos-shortcode__summary-hero--bmi .toolos-shortcode__summary-hero-card-title {
        font-size: var(--toolos-token-font-size-title-lg);
        font-weight: 800;
        color: var(--toolos-token-component-card-title);
}

/* BMI Scale */
.toolos-shortcode__bmi-scale {
        display: flex;
        flex-direction: column;
        gap: 12px;
}

.toolos-shortcode__bmi-scale-bar {
        position: relative;
        height: 28px;
        border-radius: 8px;
        overflow: visible;
        background: linear-gradient(90deg, #60a5fa 0%, #34d399 46%, #fbbf24 62%, #f87171 100%);
        border: 1px solid var(--toolos-ui-border);
}

.toolos-shortcode__bmi-scale-zone {
        position: absolute;
        top: 0;
        height: 100%;
        transition: filter 0.2s ease;
}

.toolos-shortcode__bmi-scale-zone.is-current {
        filter: brightness(1.05);
}

.toolos-shortcode__bmi-scale-zone--underweight {
        background: linear-gradient(90deg, #60a5fa 0%, #60a5fa calc(100% - 16px), rgba(96, 165, 250, 0) 100%);
        border-radius: 8px 0 0 8px;
}

.toolos-shortcode__bmi-scale-zone--normal {
        background: linear-gradient(90deg, rgba(52, 211, 153, 0) 0%, #34d399 16px, #34d399 calc(100% - 16px), rgba(52, 211, 153, 0) 100%);
}

.toolos-shortcode__bmi-scale-zone--overweight {
        background: linear-gradient(90deg, rgba(251, 191, 36, 0) 0%, #fbbf24 16px, #fbbf24 calc(100% - 16px), rgba(251, 191, 36, 0) 100%);
}

.toolos-shortcode__bmi-scale-zone--obesity {
        background: linear-gradient(90deg, rgba(248, 113, 113, 0) 0%, #f87171 16px, #f87171 100%);
        border-radius: 0 8px 8px 0;
}

.toolos-shortcode__bmi-scale-marker {
        position: absolute;
        top: -6px;
        height: 40px;
        width: 3px;
        background: var(--toolos-token-component-card-title);
        border-radius: 2px;
        transform: translateX(-50%);
        z-index: 2;
}

.toolos-shortcode__bmi-scale-marker-value {
        position: absolute;
        top: -22px;
        left: 50%;
        transform: translateX(-50%);
        font-size: 11px;
        font-weight: 800;
        color: var(--toolos-token-component-card-title);
        background: var(--toolos-ui-surface);
        padding: 2px 6px;
        border-radius: 4px;
        border: 1px solid var(--toolos-ui-border);
        white-space: nowrap;
}

.toolos-shortcode__bmi-scale-labels {
        position: relative;
        height: 32px;
}

.toolos-shortcode__bmi-scale-label {
        position: absolute;
        top: 0;
        transform: translateX(-50%);
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 2px;
        text-align: center;
        white-space: nowrap;
        opacity: 0.6;
        transition: opacity 0.2s ease;
}

.toolos-shortcode__bmi-scale-label.is-current {
        opacity: 1;
}

.toolos-shortcode__bmi-scale-label-name {
        font-size: 9px;
        font-weight: 700;
        color: var(--toolos-token-component-card-title);
}

.toolos-shortcode__bmi-scale-label-range {
        font-size: 9px;
        color: var(--toolos-token-component-card-copy);
}

/* BMI Weight Range card */
.toolos-shortcode__summary-card--bmi-weight-range .toolos-shortcode__strategy-subtitle {
        margin: 0 0 12px 0;
        font-size: var(--toolos-token-font-size-body-sm);
        color: var(--toolos-token-component-card-copy);
}

/* BMI Summary card and Weight Range share calorie card styling */
.toolos-shortcode__summary-card--bmi-scale,
.toolos-shortcode__summary-card--bmi-weight-range {
        background: var(--toolos-token-component-card-background-accent);
        border: 1px solid var(--toolos-token-component-card-border-strong);
        border-radius: var(--toolos-token-radius-card-inner);
        padding: 20px;
}

.toolos-shortcode__balance-chart-line:hover {
        stroke-width: 3;
        cursor: pointer;
}

.toolos-shortcode__balance-chart-line {
        stroke-width: 2;
}

.toolos-shortcode__balance-chart-line--original {
        stroke: var(--toolos-ui-chart-series-1);
}

.toolos-shortcode__balance-chart-line--extra {
        stroke: var(--toolos-ui-chart-series-2);
}

.toolos-shortcode__balance-chart-point {
        fill: var(--toolos-ui-surface);
        stroke-width: 2;
        cursor: pointer;
        transition: r 0.2s ease;
}

.toolos-shortcode__balance-chart-point:hover {
        r: 6;
}

.toolos-shortcode__balance-chart-point--original {
        stroke: var(--toolos-ui-chart-series-1);
}

.toolos-shortcode__balance-chart-point--extra {
        stroke: var(--toolos-ui-chart-series-2);
}

.toolos-shortcode__balance-chart-legend {
        display: flex;
        justify-content: center;
        gap: 24px;
        margin-top: 16px;
}

.toolos-shortcode__balance-chart-legend-item {
        display: flex;
        align-items: center;
        gap: 8px;
}

.toolos-shortcode__balance-chart-legend-color {
        width: 12px;
        height: 3px;
        border-radius: 2px;
        background: var(--toolos-chart-color, var(--toolos-ui-chart-series-1));
}

.toolos-shortcode__balance-chart-legend-color--original {
        --toolos-chart-color: var(--toolos-ui-chart-series-1);
}

.toolos-shortcode__balance-chart-legend-color--extra {
        --toolos-chart-color: var(--toolos-ui-chart-series-2);
}

.toolos-shortcode__balance-chart-legend-text {
        color: var(--toolos-ui-chart-label);
        font-size: 0.82rem;
        font-weight: 500;
}

.toolos-shortcode__donut-chart-layout {
        display: grid;
        grid-template-columns: minmax(140px, 180px) minmax(0, 1fr);
        gap: 20px;
        align-items: center;
}

.toolos-shortcode__donut-chart-legend {
        margin: 0;
        padding: 0;
        list-style: none;
        display: grid;
        gap: 12px;
        align-content: center;
}

.toolos-shortcode__donut-chart-legend-item {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr) auto;
        gap: 10px;
        align-items: center;
}

.toolos-shortcode__donut-chart-legend-color {
        width: 10px;
        height: 10px;
        border-radius: 999px;
        background: var(--toolos-chart-color, var(--toolos-ui-chart-series-1));
        flex: 0 0 auto;
}

.toolos-shortcode__donut-chart-legend-label {
        color: #64748b;
        font-size: 0.84rem;
        font-weight: 500;
        line-height: 1.4;
}

.toolos-shortcode__donut-chart-legend-value {
        color: #0f172a;
        font-size: 0.84rem;
        font-weight: 700;
        line-height: 1.4;
        text-align: right;
}

.toolos-shortcode__result-value-card--donut .toolos-shortcode__donut-chart-layout {
        grid-template-columns: minmax(0, 1fr);
        justify-items: center;
        gap: 16px;
}

.toolos-shortcode__result-value-card--donut .toolos-shortcode__donut-chart-legend {
        width: 100%;
        max-width: none;
}

@media (max-width: 767px) {
        .toolos-shortcode__donut-chart-layout {
                grid-template-columns: minmax(0, 1fr);
                justify-items: center;
                gap: 16px;
        }

        .toolos-shortcode__donut-chart-legend {
                width: 100%;
                max-width: 280px;
        }
}

.toolos-shortcode__scenario-comparison {
        display: grid;
        gap: 0;
        border: 1px solid #e2e8f0;
        border-radius: 12px;
        overflow: hidden;
}

.toolos-shortcode__scenario-comparison-row {
        display: grid;
        grid-template-columns: 120px repeat(4, minmax(0, 1fr));
        align-items: center;
}

.toolos-shortcode__scenario-comparison-row:not(:last-child) {
        border-bottom: 1px solid #e2e8f0;
}

.toolos-shortcode__scenario-comparison-row--header {
        background: #f8fafc;
}

.toolos-shortcode__scenario-comparison-cell {
        padding: 14px 12px;
        text-align: center;
}

.toolos-shortcode__scenario-comparison-cell:not(:last-child) {
        border-right: 1px solid #e2e8f0;
}

.toolos-shortcode__scenario-comparison-cell--label {
        text-align: left;
        color: #64748b;
        font-size: 0.8rem;
        font-weight: 600;
}

.toolos-shortcode__scenario-comparison-cell--plan {
        display: flex;
        flex-direction: column;
        gap: 4px;
}

.toolos-shortcode__scenario-comparison-title {
        color: #0f172a;
        font-size: 0.86rem;
        font-weight: 700;
        line-height: 1.3;
}

.toolos-shortcode__scenario-comparison-subtitle {
        color: #94a3b8;
        font-size: 0.72rem;
        font-weight: 500;
        line-height: 1.35;
}

.toolos-shortcode__scenario-comparison-cell--value {
        color: #0f172a;
        font-size: 0.84rem;
        font-weight: 700;
        line-height: 1.4;
}

@media (max-width: 767px) {
        .toolos-shortcode__scenario-comparison-row {
                grid-template-columns: 100px repeat(4, minmax(110px, 1fr));
                overflow-x: auto;
        }

        .toolos-shortcode__scenario-comparison-cell {
                padding: 12px 8px;
        }
}

.toolos-shortcode__result-value-card-head--toggle {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 16px;
}

.toolos-shortcode__result-value-card--amortization .toolos-shortcode__result-value-card-body--amortization {
        margin-top: 16px;
}

.toolos-shortcode__result-value-card--amortization .toolos-shortcode__result-value-card-body--amortization[hidden] {
        display: none;
}

.toolos-shortcode__amortization-table-wrapper {
        border: 1px solid #e2e8f0;
        border-radius: 12px;
        overflow-x: auto;
}

.toolos-shortcode__amortization-table {
        display: grid;
        gap: 0;
        min-width: 720px;
}

.toolos-shortcode__amortization-table-head {
        display: grid;
        grid-template-columns: 110px 70px 110px 140px 90px 100px 120px;
        gap: 0;
        padding: 12px;
        background: #f8fafc;
        border-bottom: 1px solid #e2e8f0;
}

.toolos-shortcode__amortization-table-body {
        display: grid;
        gap: 0;
        max-height: 480px;
        overflow-y: auto;
        overflow-x: hidden;
}

.toolos-shortcode__amortization-table-row {
        display: grid;
        grid-template-columns: 110px 70px 110px 140px 90px 100px 120px;
        gap: 0;
        padding: 10px 12px;
        border-bottom: 1px solid #f1f5f9;
        transition: background-color 0.15s ease;
}

.toolos-shortcode__amortization-table-row:last-child {
        border-bottom: 0;
}

.toolos-shortcode__amortization-table-row:hover {
        background: #f8fafc;
}

.toolos-shortcode__amortization-table-cell {
        margin: 0;
        font-size: 0.78rem;
        line-height: 1.4;
        text-align: left;
        padding: 4px 8px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
}

.toolos-shortcode__amortization-table-cell--header {
        font-weight: 700;
        color: #475569;
        letter-spacing: 0.02em;
}

.toolos-shortcode__amortization-extra-total {
        display: block;
        color: #0f172a;
        font-weight: 600;
}

.toolos-shortcode__amortization-extra-breakdown {
        display: block;
        font-size: 0.7rem;
        color: #64748b;
        margin-top: 2px;
        white-space: normal;
}

.toolos-shortcode__amortization-mobile-label {
        display: none;
}

@media (max-width: 767px) {
        .toolos-shortcode__amortization-table {
                min-width: 640px;
        }

        .toolos-shortcode__amortization-table-head,
        .toolos-shortcode__amortization-table-row {
                grid-template-columns: 100px 60px 100px 120px 80px 90px 110px;
        }

        .toolos-shortcode__amortization-table-body {
                max-height: 360px;
        }
}

/* === Exchange Rate Notice === */
.toolos-shortcode__fx-notice {
        background: #f8fbff;
        border: 1px solid #bfdbfe;
        border-radius: 8px;
        padding: 10px 14px;
        margin-top: 10px;
        font-size: 12px;
        color: #475569;
}

.toolos-shortcode__fx-rate-line {
        display: flex;
        align-items: center;
        gap: 10px;
        flex-wrap: wrap;
}

.toolos-shortcode__fx-pair {
        font-weight: 600;
        color: #1e40af;
}

.toolos-shortcode__fx-arrow {
        color: #94a3b8;
        font-size: 14px;
}

.toolos-shortcode__fx-source {
        margin-top: 4px;
        font-size: 11px;
        color: #94a3b8;
}

.toolos-shortcode__fx-source a {
        color: #94a3b8;
        text-decoration: none;
}

.toolos-shortcode__fx-source a:hover {
        text-decoration: underline;
}

.toolos-shortcode__card-section--collapsible .toolos-interaction-card__header--toggle {
        cursor: pointer;
        user-select: none;
}

.toolos-shortcode__card-section--collapsible .toolos-shortcode__collapse-icon::after {
        content: "▼";
        font-size: 0.7em;
        margin-left: 0.3em;
        display: inline-block;
        transition: transform 0.2s ease;
}

.toolos-shortcode__card-section--collapsed .toolos-shortcode__collapse-icon::after {
        transform: rotate(-90deg);
}

.toolos-shortcode__card-section--collapsed [data-toolos-collapse-body] {
        display: none;
}

.toolos-shortcode__years-months {
        display: flex;
        gap: 0.5rem;
        align-items: center;
}

.toolos-shortcode__years-months-field {
        display: inline-flex;
        align-items: center;
        gap: 0.25rem;
}

.toolos-shortcode__years-months-field .toolos-shortcode__input {
        width: 4rem;
}

.toolos-shortcode__years-months-label {
        font-size: 0.85em;
        color: #666;
}

.toolos-shortcode__summary-card--france-effort-test .toolos-shortcode__summary-card-content {
        display: grid;
        gap: 0.875rem;
}

.toolos-shortcode__france-effort-test-list {
        margin-top: 0.125rem;
}

.toolos-shortcode__france-effort-test-row {
        gap: 0.4rem;
}

.toolos-shortcode__france-effort-test-row dd {
        word-break: break-word;
}

.toolos-shortcode__france-effort-test-preview {
        display: grid;
        gap: 0.5rem;
        padding: 0 1.25rem 1rem;
}

.toolos-shortcode__france-effort-test-preview-row {
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        gap: 0.75rem;
}

.toolos-shortcode__france-effort-test-preview-label {
        font-size: 0.875rem;
        color: #6b7280;
}

.toolos-shortcode__france-effort-test-preview-value {
        color: #111827;
        font-size: 0.95rem;
        font-weight: 700;
}

.toolos-shortcode__france-effort-test-preview-copy {
        margin: 0;
        color: #4b5563;
        font-size: 0.92rem;
        line-height: 1.5;
}

.toolos-shortcode__france-effort-test-copy {
        margin: 0;
        color: #4b5563;
        font-size: 0.95rem;
        line-height: 1.5;
}

.toolos-shortcode__france-effort-test-input {
        display: grid;
        gap: 0.4rem;
}

.toolos-shortcode__france-effort-test-label,
.toolos-shortcode__france-effort-test-metric-label {
        font-size: 0.875rem;
        color: #4b5563;
}

.toolos-shortcode__france-effort-test-input-box {
        min-height: 2.875rem;
        padding: 0.75rem 0.9rem;
        border: 1px solid #d1d5db;
        border-radius: 0.75rem;
        background: #ffffff;
        color: #9ca3af;
        font-size: 1rem;
        display: flex;
        align-items: center;
}

.toolos-shortcode__france-effort-test-input-box--filled {
        color: #111827;
}

.toolos-shortcode__france-effort-test-metric {
        display: grid;
        gap: 0.55rem;
}

.toolos-shortcode__france-effort-test-metric-head {
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        gap: 0.75rem;
}

.toolos-shortcode__france-effort-test-metric-value {
        color: #111827;
        font-size: 1rem;
        font-weight: 700;
}

.toolos-shortcode__france-effort-test-progress {
        height: 0.65rem;
        border-radius: 999px;
        background: #e5e7eb;
        overflow: hidden;
        margin-top: 0.15rem;
}

.toolos-shortcode__france-effort-test-progress-fill {
        display: block;
        height: 100%;
        border-radius: 999px;
}

.toolos-shortcode__france-effort-test-progress-fill--positive {
        background: #16a34a;
}

.toolos-shortcode__france-effort-test-progress-fill--warning {
        background: #d97706;
}

.toolos-shortcode__france-effort-test-progress-fill--critical {
        background: #dc2626;
}

.toolos-shortcode__france-project-evaluation-status {
        display: inline-flex;
        align-items: center;
        margin: 0.75rem 0 0;
        padding: 0.45rem 0.75rem;
        border-radius: 999px;
        font-size: 0.95rem;
        font-weight: 700;
}

.toolos-shortcode__france-project-evaluation-status--positive {
        background: #dcfce7;
        color: #166534;
}

.toolos-shortcode__france-project-evaluation-status--warning {
        background: #fef3c7;
        color: #92400e;
}

.toolos-shortcode__france-project-evaluation-status--critical {
        background: #fee2e2;
        color: #b91c1c;
}

.toolos-shortcode__france-project-monthly-cost-row--total dt,
.toolos-shortcode__france-project-monthly-cost-row--total dd,
.toolos-shortcode__france-project-monthly-cost-row--remaining dt,
.toolos-shortcode__france-project-monthly-cost-row--remaining dd {
        color: #111827;
        font-weight: 700;
}

.toolos-shortcode__summary-hero-metric--section {
        margin-bottom: 1rem;
}

.toolos-shortcode__france-budget-immobilier-row--total dt,
.toolos-shortcode__france-budget-immobilier-row--total dd {
        color: #111827;
        font-weight: 700;
}

.toolos-shortcode__france-budget-immobilier-copy {
        margin-top: 0.9rem;
        color: #4b5563;
        line-height: 1.6;
}
