.rosta-traceparts{--rosta-blue:#003264;--rosta-bright:#0c73db;--rosta-line:#e2e8f0;--rosta-bg:#f7f9fb;--rosta-muted:#5b6b7b;max-width:1200px;margin:0 auto;color:#1c2733;font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif}.rosta-traceparts-filter-bar{margin-bottom:24px}.rosta-traceparts-form{display:flex;flex-wrap:wrap;gap:12px}.rosta-traceparts .rosta-product-select{appearance:none;background:#fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%23003264' d='M1 1l5 5 5-5'/></svg>") no-repeat right 14px center;border:1px solid var(--rosta-line);border-radius:8px;padding:11px 38px 11px 14px;font-size:.95rem;color:var(--rosta-blue);min-width:220px;cursor:pointer;transition:border-color .15s,box-shadow .15s}.rosta-traceparts .rosta-product-select:focus{outline:none;border-color:var(--rosta-bright);box-shadow:0 0 0 3px rgb(12 115 219 / .15)}.rosta-traceparts-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:32px;align-items:start}@media (max-width:860px){.rosta-traceparts-layout{grid-template-columns:1fr}}.rosta-traceparts-visual{background:var(--rosta-bg);border:1px solid var(--rosta-line);border-radius:12px;overflow:hidden;position:sticky;top:16px}.rosta-traceparts-3d{display:block;width:100%;border:0}.rosta-traceparts-image{display:block;width:100%;height:auto}.rosta-traceparts-title{font-family:Oswald,Inter,sans-serif;font-size:1.6rem;line-height:1.2;color:var(--rosta-blue);margin:0 0 16px}.rosta-traceparts-bom,.rosta-traceparts-pim-props{width:100%;border-collapse:collapse;margin:0 0 20px;font-size:.92rem}.rosta-traceparts-bom th,.rosta-traceparts-pim-props th{text-align:left;font-weight:600;color:var(--rosta-muted);width:42%;padding:8px 12px 8px 0;vertical-align:top;border-bottom:1px solid var(--rosta-line)}.rosta-traceparts-bom td,.rosta-traceparts-pim-props td{padding:8px 0;vertical-align:top;border-bottom:1px solid var(--rosta-line)}.rosta-traceparts-pim{margin:4px 0 22px;padding:16px 18px;background:var(--rosta-bg);border-radius:12px}.rosta-traceparts-pim-desc{font-size:.95rem;line-height:1.55;margin-bottom:14px}.rosta-traceparts-pim-desc p{margin:0 0 10px}.rosta-traceparts-pim-props{margin-bottom:0}.rosta-traceparts-cad{border:1px solid var(--rosta-line);border-radius:12px;padding:20px 22px}.rosta-traceparts-cad h3{font-family:Oswald,Inter,sans-serif;font-size:1.15rem;color:var(--rosta-blue);margin:0 0 6px}.rosta-traceparts-cad-hint{font-size:.85rem;color:var(--rosta-muted);margin:0 0 16px}.rosta-traceparts-cad-form{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}.rosta-traceparts-cad-form label{display:flex;flex-direction:column;gap:5px;font-size:.8rem;font-weight:600;color:var(--rosta-muted)}.rosta-traceparts-cad-form label:first-child{grid-column:1 / -1}.rosta-traceparts-cad-form input,.rosta-traceparts-cad-form select{border:1px solid var(--rosta-line);border-radius:8px;padding:10px 12px;font-size:.95rem;color:#1c2733;background:#fff;width:100%}.rosta-traceparts-cad-form input:focus,.rosta-traceparts-cad-form select:focus{outline:none;border-color:var(--rosta-bright);box-shadow:0 0 0 3px rgb(12 115 219 / .15)}.rosta-tp-download{grid-column:1 / -1;justify-self:start;appearance:none;border:0;border-radius:8px;background:var(--rosta-bright);color:#fff;font-size:1rem;font-weight:600;padding:12px 28px;margin-top:4px;cursor:pointer;transition:background .15s,transform .05s}.rosta-tp-download:hover{background:var(--rosta-blue)}.rosta-tp-download:active{transform:translateY(1px)}.rosta-tp-download:disabled{opacity:.6;cursor:default}.rosta-tp-download.is-loading{position:relative;color:#fff0}.rosta-tp-download.is-loading::after{content:"";position:absolute;inset:0;margin:auto;width:18px;height:18px;border:2px solid rgb(255 255 255 / .5);border-top-color:#fff;border-radius:50%;animation:rosta-tp-spin .7s linear infinite}@keyframes rosta-tp-spin{to{transform:rotate(360deg)}}.rosta-tp-status{margin:14px 0 0;font-size:.9rem;min-height:1.2em}.rosta-tp-status.is-error{color:#c0392b}.rosta-tp-status.is-pending{color:var(--rosta-muted)}.rosta-tp-status.is-ok{color:#1e7e44}.rosta-traceparts-empty{padding:40px 24px;text-align:center;color:var(--rosta-muted);background:var(--rosta-bg);border:1px dashed var(--rosta-line);border-radius:12px}
