.bom.svelte-ns7pvy{width:100%;border-collapse:collapse;background:var(--panel, #fff);border:1px solid var(--line, #e1e6ec);border-radius:var(--radius, .45rem);overflow:hidden}.bom.svelte-ns7pvy th:where(.svelte-ns7pvy),.bom.svelte-ns7pvy td:where(.svelte-ns7pvy){padding:.6rem .8rem;text-align:left;border-bottom:1px solid var(--line, #e1e6ec);vertical-align:top}.bom.svelte-ns7pvy thead:where(.svelte-ns7pvy) th:where(.svelte-ns7pvy){background:var(--panel-2, #eef2f7);color:var(--muted, #6b7785);font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.num.svelte-ns7pvy{text-align:right;white-space:nowrap}.buy-col.svelte-ns7pvy{text-align:left;width:1%;white-space:nowrap}.mono.svelte-ns7pvy{font-family:var(--font-mono, ui-monospace, Menlo, monospace);font-variant-numeric:tabular-nums}.part-cell.svelte-ns7pvy{display:flex;align-items:center;gap:.6rem}.part-text.svelte-ns7pvy{min-width:0}.part-name.svelte-ns7pvy{display:block;color:var(--ink, #1f2933);font-weight:500}.model.svelte-ns7pvy{display:block;color:var(--muted, #6b7785);font-size:.8rem}.dash.svelte-ns7pvy{color:var(--muted, #6b7785)}tfoot.svelte-ns7pvy td:where(.svelte-ns7pvy){border-bottom:none;font-weight:600;color:var(--ink, #1f2933);background:var(--panel-2, #eef2f7)}.total.svelte-ns7pvy{font-size:1.05rem}.note.svelte-ns7pvy{margin:.6rem 0 0;font-size:.8rem;color:var(--muted, #6b7785)}.bom-section.svelte-ns7pvy{margin:1.6rem 0 .5rem;font-size:.95rem;color:var(--ink, #1f2933)}.cat.svelte-ns7pvy{margin:0 0 1.4rem}.cat-head.svelte-ns7pvy{display:flex;align-items:center;gap:.55rem;margin:1.4rem 0 .5rem;font-size:.95rem;color:var(--ink, #1f2933)}.cat-head.svelte-ns7pvy:before{content:"";width:.55rem;height:1.15rem;border-radius:.15rem;background:var(--cat-accent, var(--muted, #6b7785));flex:none}.parts-total.svelte-ns7pvy{margin-top:.2rem;border-color:var(--accent, #2563eb)}.parts-total.svelte-ns7pvy tfoot:where(.svelte-ns7pvy) td:where(.svelte-ns7pvy){background:var(--panel, #fff)}.own-col.svelte-ns7pvy{width:1%;text-align:center;white-space:nowrap}.own.svelte-ns7pvy{display:inline-flex;align-items:center;cursor:pointer}.own.svelte-ns7pvy input:where(.svelte-ns7pvy){accent-color:var(--accent, #2563eb);width:1rem;height:1rem}tr.owned.svelte-ns7pvy .part-name:where(.svelte-ns7pvy){text-decoration:line-through}tr.owned.svelte-ns7pvy{opacity:.55}.owned-note.svelte-ns7pvy{color:var(--accent, #2563eb)}.sr-only.svelte-ns7pvy{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media print{.buy-col.svelte-ns7pvy,.own-col.svelte-ns7pvy{display:none}tr.owned.svelte-ns7pvy{opacity:1;color:#555}.cat.svelte-ns7pvy,tr.svelte-ns7pvy{break-inside:avoid}.bom.svelte-ns7pvy thead:where(.svelte-ns7pvy){display:table-header-group}}.grand-estimate.svelte-ns7pvy{margin:1rem 0 0;font-size:.95rem;color:var(--ink, #1f2933)}.grand-estimate.svelte-ns7pvy strong:where(.svelte-ns7pvy){font-size:1.1rem}.filters.svelte-1eljv1p{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem 1rem;padding:.85rem 1rem;margin-bottom:1rem;background:var(--panel, #fff);border:1px solid var(--line, #e1e6ec);border-radius:var(--radius, .45rem)}.field.svelte-1eljv1p{display:flex;flex-direction:column;gap:.25rem;font-size:.78rem;color:var(--muted, #6b7785)}.field.svelte-1eljv1p span:where(.svelte-1eljv1p){text-transform:uppercase;letter-spacing:.03em;font-weight:600}select.svelte-1eljv1p{font:inherit;font-size:.9rem;padding:.35rem .5rem;color:var(--ink, #1f2933);background:var(--panel, #fff);border:1px solid var(--line, #d1d5db);border-radius:var(--radius, .4rem);cursor:pointer}.toggle.svelte-1eljv1p{display:flex;align-items:center;gap:.4rem;font-size:.9rem;color:var(--ink, #1f2933);cursor:pointer;padding-bottom:.35rem}.toggle.svelte-1eljv1p input:where(.svelte-1eljv1p){accent-color:var(--accent, #2563eb);width:1rem;height:1rem}.print.svelte-1eljv1p{margin-left:auto;align-self:flex-end;padding:.45rem .9rem;border:1px solid var(--line, #d1d5db);border-radius:var(--radius, .45rem);background:var(--panel, #fff);color:var(--ink, #1f2933);font:inherit;font-size:.85rem;cursor:pointer;transition:background var(--duration-fast, .15s) ease}.print.svelte-1eljv1p:hover{background:var(--panel-2, #eef2f7)}.print.svelte-1eljv1p:focus-visible,select.svelte-1eljv1p:focus-visible{outline:2px solid var(--accent, #2563eb);outline-offset:1px}@media print{.filters.svelte-1eljv1p{display:none}}.costs.svelte-h62oi9{max-width:48rem;margin:0 auto}h1.svelte-h62oi9{margin:0 0 .4rem;color:var(--ink, #1f2933)}.lede.svelte-h62oi9{margin:0 0 1.5rem;color:var(--muted, #6b7785);line-height:1.5}.lede.svelte-h62oi9 strong:where(.svelte-h62oi9){color:var(--ink, #1f2933)}.empty.svelte-h62oi9{border:1px dashed var(--line, #e1e6ec);border-radius:var(--radius, .45rem);background:var(--panel, #fff);padding:2.5rem 2rem;text-align:center}.empty.svelte-h62oi9 h2:where(.svelte-h62oi9){margin:0 0 .4rem;color:var(--ink, #1f2933)}.empty.svelte-h62oi9 p:where(.svelte-h62oi9){margin:0 0 1.2rem;color:var(--muted, #6b7785)}.cta.svelte-h62oi9{display:inline-block;padding:.55rem 1.1rem;border-radius:var(--radius, .45rem);background:var(--accent, #2563eb);color:var(--accent-ink, #fff);text-decoration:none;font-weight:600}.cta.svelte-h62oi9:hover{filter:brightness(.95)}.bom-actions.svelte-h62oi9{display:flex;justify-content:flex-end;margin-bottom:.75rem}.dl.svelte-h62oi9{padding:.45rem .9rem;border:1px solid var(--line, #d1d5db);border-radius:var(--radius, .45rem);background:var(--panel, #fff);color:var(--ink, #1f2933);font:inherit;font-size:.85rem;cursor:pointer}.dl.svelte-h62oi9:hover{background:var(--panel-2, #eef2f7)}.print-header.svelte-h62oi9{display:none}.print-header.svelte-h62oi9 .ph-title:where(.svelte-h62oi9){font-weight:700;font-size:1.1rem;color:#000}.print-header.svelte-h62oi9 .ph-date:where(.svelte-h62oi9){color:#333}@media print{.shell>.nav,.shell>footer{display:none!important}.costs.svelte-h62oi9{max-width:none}.lede.svelte-h62oi9,.bom-actions.svelte-h62oi9{display:none}.print-header.svelte-h62oi9{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.6rem;padding-bottom:.4rem;border-bottom:2px solid #000}thead{display:table-header-group}}
