.vx-calc{container-type:inline-size;color:var(--text-primary);font-family:var(--font-body)}
.vx-calc__head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px;flex-wrap:wrap}
.vx-calc__title{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:var(--fs-h2);line-height:1;margin:6px 0 0}
.vx-calc__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:24px;align-items:start}
.vx-calc__steps{display:flex;flex-direction:column;gap:8px}
.vx-calc__progress{display:grid;grid-template-columns:repeat(var(--n,4),1fr);gap:4px;margin-bottom:8px}
.vx-calc__progress span{height:3px;background:var(--carbon-700)}
.vx-calc__progress span.is-done{background:var(--text-primary)}
.vx-calc__progress span.is-current{background:var(--accent)}
@container (max-width:780px){.vx-calc__grid{grid-template-columns:minmax(0,1fr)}}
.vx-step{background:var(--surface-1);border:1px solid var(--border-subtle);transition:border-color var(--dur-base) var(--ease-precise)}
.vx-step--current{border-color:var(--border-default);background:var(--surface-2);animation:vx-fade var(--dur-base) var(--ease-out)}
.vx-step--upcoming{opacity:.55}
.vx-step__head{display:flex;align-items:center;gap:14px;min-height:60px;padding:12px 16px 12px 18px}
.vx-step__num{flex:none;display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--border-strong);font-family:var(--font-numeric);font-variant-numeric:tabular-nums;font-weight:700;font-size:13px;color:var(--text-muted)}
.vx-step--current .vx-step__num{background:var(--accent);border-color:var(--accent);color:var(--white)}
.vx-step--done .vx-step__num{background:var(--text-primary);border-color:var(--text-primary);color:var(--surface-page)}
.vx-step__titles{flex:1;min-width:0}
.vx-step__title{font-family:var(--font-display);font-weight:700;font-size:20px;line-height:1.15;margin:0}
.vx-step__summary{font-size:14px;color:var(--text-muted);font-variant-numeric:tabular-nums;margin-top:2px}
.vx-step__body{display:flex;flex-direction:column;gap:20px;padding:4px 18px 20px 60px}
.vx-step__help{margin:-12px 0 0;font-size:var(--fs-body-s);color:var(--text-muted);line-height:1.5}
.vx-step__nav{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:4px}
@container (max-width:520px){.vx-step__body{padding:4px 16px 20px}}
.vx-choices{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:6px}
.vx-choice{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-height:56px;padding:10px 12px;background:var(--surface-sunken);border:1px solid var(--border-default);border-radius:var(--radius-control);color:var(--text-primary);cursor:pointer;text-align:left;font:inherit}
.vx-choice b{font-family:var(--font-numeric);font-variant-numeric:tabular-nums;font-size:18px}
.vx-choice span{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-family:var(--font-label);font-weight:600}
.vx-choice:hover{border-color:var(--border-strong)}
.vx-choice[aria-checked="true"]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:rgba(200,16,46,.08)}
.vx-choice:focus-visible{outline:2px solid var(--focus-color);outline-offset:2px}
.vx-fields-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
@container (max-width:520px){.vx-fields-2{grid-template-columns:minmax(0,1fr)}}
.vx-results{position:sticky;top:calc(var(--header-main-h) + 16px);background:var(--carbon-weave);background-color:var(--carbon-900);background-size:var(--carbon-tile);border:1px solid var(--border-default)}
.vx-results__head{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:14px 18px;border-bottom:1px solid var(--border-subtle)}
.vx-results__primary{padding:24px 18px 20px;border-bottom:1px solid var(--border-subtle)}
.vx-results__big{font-family:var(--font-numeric);font-variant-numeric:tabular-nums;font-weight:700;font-size:var(--fs-result);line-height:1;letter-spacing:-.02em;margin-top:8px;display:flex;align-items:baseline;gap:8px}
.vx-results__big small{font-size:20px;color:var(--text-muted);font-weight:600;letter-spacing:0}
.vx-results__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.vx-results__cell{padding:16px 18px;border-bottom:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:6px}
.vx-results__cell:nth-child(odd){border-right:1px solid var(--border-subtle)}
.vx-results__val{font-family:var(--font-numeric);font-variant-numeric:tabular-nums;font-weight:700;font-size:26px;line-height:1}
.vx-results__val small{font-size:13px;color:var(--text-muted);font-weight:600;margin-left:4px}
.vx-results__notes{display:flex;flex-direction:column;gap:8px;padding:16px 18px}
.vx-results__foot{padding:0 18px 18px;display:flex;gap:8px;flex-wrap:wrap}
.vx-results__empty{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:40px 24px 44px;color:var(--text-muted)}
.vx-results__empty .vx-icon{color:var(--text-secondary)}
.vx-results__empty h4{font-family:var(--font-display);font-size:22px;font-weight:700;text-transform:uppercase;color:var(--text-primary);margin:0}
.vx-results__empty p{margin:0;font-size:var(--fs-body-s);line-height:1.5;max-width:34ch}
.vx-results.is-error .vx-results__big{color:var(--text-disabled)}
.vx-meter{position:relative;height:6px;background:var(--carbon-700);margin-top:4px}
.vx-meter__band{position:absolute;top:0;bottom:0;background:rgba(60,194,122,.45)}
.vx-meter__mark{position:absolute;top:-4px;width:2px;height:14px;background:var(--white);transition:left var(--dur-slow) var(--ease-out)}
