@layer components{.calc-demo{border-radius:var(--radius-sm);border:2px dashed var(--color-error);color:var(--color-error);background:#fff;margin:0 0 24px;padding:16px 24px;font-weight:600}.calc-grid{gap:var(--grid-gap);grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;display:grid}.calc-inputs{grid-column:span 7}.calc-result-slot{grid-column:8/span 5;position:sticky;top:96px}.calc-step+.calc-step{margin-top:32px}.calc-step+.calc-step legend{border-top:1px solid var(--color-line);padding-top:32px}.calc-step legend{display:block}.calc-num{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-brass-deep);margin-right:16px}.calc-choices{grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;display:grid}.calc-choice{border:1px solid var(--color-line-strong);border-radius:var(--radius-card);cursor:pointer;transition:border-color .2s var(--ease-out), box-shadow .2s var(--ease-out), transform .2s var(--ease-out);background:#fff;flex-direction:column;grid-column:span 4;gap:8px;padding:24px 16px;display:flex;position:relative}.calc-choice:hover{border-color:var(--color-brand);transform:translateY(-2px)}.calc-choice input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.calc-choice:has(input:checked){border-color:var(--color-brand-700);box-shadow:0 0 0 2px var(--color-brand-700) inset;background:var(--color-bg-tint)}.calc-choice:has(input:focus-visible){box-shadow:0 0 0 4px #8fa67d59}.calc-choice-title{color:var(--color-ink);font-weight:600}.calc-choice-text{font-size:var(--text-sm);color:var(--color-muted)}.calc-combo{position:relative}.field .calc-combo input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23555a47' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;background-size:16px;padding-right:48px}.field .calc-combo input[aria-expanded=true]{border-color:var(--color-brand);box-shadow:0 0 0 4px #8fa67d38}.calc-combo-list{z-index:20;overscroll-behavior:contain;border:1px solid var(--color-line);border-radius:var(--radius-card);max-height:min(320px,50vh);box-shadow:0 24px 48px -24px rgba(var(--shadow-rgb), .45);background:#fff;margin:8px 0 0;padding:8px;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.calc-combo-list:not([hidden]){animation:calc-pop .16s var(--ease-out)}.calc-combo-option{border-radius:var(--radius-sm);min-height:48px;color:var(--color-ink);cursor:pointer;align-items:center;padding:0 16px;display:flex}.calc-combo-option[data-active=true]{background:var(--color-bg-tint)}.calc-combo-option[aria-selected=true]{color:var(--color-brand-700);font-weight:600}.calc-combo-option[aria-selected=true]:after{content:"✓";margin-left:auto}.calc-combo-empty{color:var(--color-muted);font-size:var(--text-sm);padding:16px}.calc-money{position:relative}.calc-money>span{color:var(--color-muted);pointer-events:none;position:absolute;top:50%;left:16px;transform:translateY(-50%)}.field .calc-money input{padding-left:32px}.calc-chips{flex-wrap:wrap;gap:8px;margin:-8px 0 24px;display:flex}.calc-chip,.calc-pill span{min-height:var(--control-sm);border-radius:var(--radius-pill);border:1px solid var(--color-line-strong);color:var(--color-ink);font:inherit;font-size:var(--text-sm);cursor:pointer;transition:background-color .2s var(--ease-out), border-color .2s var(--ease-out);background:#fff;align-items:center;padding:0 16px;font-weight:600;display:inline-flex}.calc-chip:hover:not(:disabled),.calc-pill:hover span{border-color:var(--color-brand)}.calc-chip:disabled{opacity:.5;cursor:not-allowed}.calc-chip.is-on,.calc-pill input:checked+span{background:var(--color-brand-700);border-color:var(--color-brand-700);color:var(--color-cream-on-dark)}.calc-chip:focus-visible,.calc-pill input:focus-visible+span{outline:none;box-shadow:0 0 0 4px #8fa67d59}.calc-toggle{flex-wrap:wrap;gap:8px;display:flex}.calc-pill input{opacity:0;width:1px;height:1px;position:absolute}.calc-more{border-top:1px solid var(--color-line);margin-top:32px;padding-top:24px}.calc-more summary{cursor:pointer;color:var(--color-brand-700);font-weight:600}.calc-check{cursor:pointer;align-items:flex-start;gap:16px;margin-top:24px;display:flex}.calc-check input{flex:none;width:24px;height:24px;margin:0}.calc-check strong{color:var(--color-ink);display:block}.calc-check span{color:var(--color-muted);font-size:var(--text-sm)}.calc-result{background:var(--color-forest);color:var(--color-cream-on-dark);border-radius:var(--radius-panel);box-shadow:var(--shadow-lift);padding:clamp(24px,3vw,40px)}.calc-eyebrow{font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent-bright);margin:0 0 8px;font-weight:600}.calc-total{font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--color-cream-on-dark);margin:0;font-size:clamp(40px,5vw,64px);line-height:1.05}.calc-total--empty{opacity:.5}.calc-sub{color:rgba(var(--cream-on-dark-rgb), .8);font-size:var(--text-sm);margin:8px 0 24px}.calc-lines{border-top:1px solid rgba(var(--cream-on-dark-rgb), .18);margin:0 0 24px;padding:0;list-style:none}.calc-line{border-bottom:1px solid rgba(var(--cream-on-dark-rgb), .18)}.calc-line summary{cursor:pointer;justify-content:space-between;gap:16px;padding:16px 0;list-style:none;display:flex}.calc-line summary::-webkit-details-marker{display:none}.calc-line-label:after{content:"ⓘ";font-size:var(--text-xs);opacity:.6;margin-left:8px}.calc-line-amount{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.calc-line-amount.is-pending{opacity:.75;font-style:italic;font-weight:400}.calc-line p,.calc-why p{font-size:var(--text-sm);color:rgba(var(--cream-on-dark-rgb), .8);margin:0 0 16px}.calc-why{margin-bottom:16px}.calc-why summary{cursor:pointer;font-size:var(--text-sm);color:var(--color-accent-bright);margin-bottom:8px;font-weight:600}.calc-interim{font-size:var(--text-sm);margin:0 0 16px}.calc-interim a{color:var(--color-accent-bright);text-underline-offset:2px;font-weight:600;text-decoration:underline}.calc-excluded{font-size:var(--text-sm);margin:0 0 24px}.calc-actions{flex-wrap:wrap;gap:16px;margin-bottom:24px;display:flex}.calc-fine{font-size:var(--text-xs);color:rgba(var(--cream-on-dark-rgb), .7);margin:0}.calc-warn{color:var(--color-error);font-weight:600}.calc-running{display:none}@media (width<=920px){.calc-running{z-index:89;left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));border-radius:var(--radius-pill);background:var(--color-forest);color:var(--color-cream-on-dark);transition:opacity .2s var(--ease-out), transform .2s var(--ease-out);align-items:center;gap:16px;padding:8px 8px 8px 24px;display:flex;position:fixed;box-shadow:0 18px 46px -18px #000000a6}.calc-running.is-hidden{opacity:0;pointer-events:none;transform:translateY(16px)}}@media (width<=560px){.calc-running{bottom:calc(88px + env(safe-area-inset-bottom))}}.calc-running-label{font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent-bright);font-weight:600}.calc-running-label,.calc-running-btn{white-space:nowrap}.calc-running-total{white-space:nowrap;font-family:var(--font-display);font-size:var(--text-lg);font-variant-numeric:tabular-nums;flex:1}.calc-running-btn{min-height:var(--control-sm);border-radius:var(--radius-pill);background:var(--color-cream-on-dark);color:var(--color-forest-deep);font:inherit;font-size:var(--text-sm);cursor:pointer;border:0;padding:0 16px;font-weight:600}.calc-request{margin-top:64px;scroll-margin-top:96px}.calc-request>.form-card{max-width:784px;margin:0 auto}.calc-request-title{font-size:var(--text-h3);margin:0 0 16px}@media (width<=920px){.calc-inputs,.calc-result-slot{grid-column:span 12}.calc-result-slot{scroll-margin-top:96px;position:static}}@media (width<=680px){.calc-choice{grid-column:span 12;padding:16px}}@media (prefers-reduced-motion:reduce){.calc-choice,.calc-chip,.calc-pill span,.calc-running{transition:none}.calc-combo-list:not([hidden]){animation:none}.calc-choice:hover{transform:none}}@media print{.calc-inputs,.calc-actions,.calc-request,.calc-running,.calc-line-label:after{display:none}.calc-result-slot{grid-column:span 12;position:static}.calc-result{box-shadow:none;color:#000;background:#fff}.calc-result *{color:#000!important}.calc-line details>p{display:block}}}.calc .calc-sr{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}@keyframes calc-pop{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
