*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-background-primary: #ffffff;--color-background-secondary: #f5f5f4;--color-background-tertiary: #f0eeec;--color-text-primary: #1c1c1a;--color-text-secondary: #57534e;--color-text-tertiary: #a8a29e;--color-border-primary: #d6d3d1;--color-border-secondary: #e7e5e4;--color-border-tertiary: #f5f5f4;--color-accent: #a51818;--color-accent-light: #fbe6e6;--color-accent-mid: #f4b5b5;--color-danger: #A32D2D;--color-danger-light: #FCEBEB;--color-success: #1a6b3a;--color-success-light: #e3f5ea;--color-warning: #7a4f00;--color-warning-light: #fdf3dc;--border-radius-sm: 4px;--border-radius-md: 7px;--border-radius-lg: 10px;--font-sans: "Inter", system-ui, -apple-system, sans-serif;--scrollbar-track: transparent;--scrollbar-thumb: #c9c5c1;--scrollbar-thumb-hover: var(--color-accent)}@media (prefers-color-scheme: dark){:root{--color-background-primary: #1c1c1a;--color-background-secondary: #282724;--color-background-tertiary: #232320;--color-text-primary: #fafaf9;--color-text-secondary: #a8a29e;--color-text-tertiary: #78716c;--color-border-primary: #3c3c38;--color-border-secondary: #2e2e2b;--color-border-tertiary: #252523;--color-accent-light: #5c1a1a;--color-accent-mid: #7d1e1e;--color-success-light: #0d2e1a;--color-warning-light: #2e1f00;--scrollbar-thumb: #57534e}}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border:3px solid transparent;border-radius:999px;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover);border-width:2px}::-webkit-scrollbar-corner{background:transparent}body{font-family:var(--font-sans);background:var(--color-background-tertiary);color:var(--color-text-primary);min-height:100vh;-webkit-font-smoothing:antialiased}@keyframes spin{to{transform:rotate(360deg)}}.spin{display:inline-block;animation:spin .8s linear infinite}.app{display:flex;flex-direction:column;height:100vh;overflow:hidden}.main{display:flex;flex:1;min-height:0}.mobile-search-bar,.mobile-tabbar,.mobile-fab,.btn-mobile-search{display:none}.topbar{background:var(--color-background-primary);border-bottom:.5px solid var(--color-border-secondary);padding:0 16px;display:flex;align-items:center;gap:12px;height:52px;position:sticky;top:0;z-index:100}.topbar-logo{font-size:15px;font-weight:600;display:flex;align-items:center;gap:7px;white-space:nowrap}.topbar-logo i{font-size:20px;color:var(--color-accent)}.topbar-search{flex:1;max-width:340px;position:relative}.topbar-search input{width:100%;padding:6px 10px 6px 32px;border:.5px solid var(--color-border-secondary);border-radius:var(--border-radius-md);font-size:13px;background:var(--color-background-secondary);color:var(--color-text-primary)}.topbar-search i{position:absolute;left:9px;top:50%;transform:translateY(-50%);font-size:15px;color:var(--color-text-tertiary)}.topbar-actions{margin-left:auto;display:flex;gap:7px}.sidebar{width:220px;min-width:220px;background:var(--color-background-primary);border-right:.5px solid var(--color-border-secondary);padding:10px 0;display:flex;flex-direction:column;overflow-y:auto}.sidebar-label{font-size:11px;font-weight:500;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.06em;padding:6px 14px 3px}.nav-item{display:flex;align-items:center;gap:7px;padding:6px 10px;margin:0 4px;border-radius:var(--border-radius-md);font-size:13px;cursor:pointer;color:var(--color-text-secondary);-webkit-user-select:none;user-select:none;transition:background .1s}.nav-item:hover{background:var(--color-background-secondary);color:var(--color-text-primary)}.nav-item.active{background:var(--color-accent-light);color:var(--color-accent);font-weight:500}.nav-item i{font-size:15px;flex-shrink:0}.nav-count{margin-left:auto;font-size:11px;color:var(--color-text-tertiary);background:var(--color-background-secondary);padding:1px 6px;border-radius:8px}.nav-item.active .nav-count{background:var(--color-accent-mid);color:var(--color-accent)}.sdiv{height:.5px;background:var(--color-border-secondary);margin:7px 10px}.cat-group{margin:0 4px}.cat-header{display:flex;align-items:center;gap:6px;padding:5px 6px;border-radius:var(--border-radius-md);font-size:13px;cursor:pointer;color:var(--color-text-secondary);-webkit-user-select:none;user-select:none;transition:background .1s}.cat-header:hover{background:var(--color-background-secondary);color:var(--color-text-primary)}.cat-header.active{color:var(--color-accent);font-weight:500}.cat-header i.chev{font-size:13px;transition:transform .15s;color:var(--color-text-tertiary);margin-left:auto}.cat-header.open i.chev{transform:rotate(90deg)}.cat-children{padding-left:24px;overflow:hidden;max-height:0;transition:max-height .2s ease}.cat-children.open{max-height:600px}.tag-item{display:flex;align-items:center;justify-content:space-between;padding:3px 8px;border-radius:var(--border-radius-md);font-size:12px;cursor:pointer;color:var(--color-text-secondary)}.tag-item:hover{background:var(--color-background-secondary)}.tag-item.active{background:var(--color-accent-light);color:var(--color-accent);font-weight:500}.tag-pill{display:inline-flex;padding:1px 6px;border-radius:9px;background:var(--color-accent-light);color:var(--color-accent);font-size:11px;font-weight:500}.content{flex:1;padding:18px;overflow:auto;min-width:0}.content-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.content-title{font-size:17px;font-weight:600}.content-meta{font-size:13px;color:var(--color-text-secondary)}.section-heading{font-size:12px;font-weight:500;color:var(--color-text-secondary);margin:18px 0 8px;display:flex;align-items:center;gap:6px;border-bottom:.5px solid var(--color-border-secondary);padding-bottom:7px}.section-heading:first-child{margin-top:0}.section-count{font-size:11px;color:var(--color-text-tertiary);font-weight:400}.sidebar-backdrop{display:none}body.isolated-view .sidebar,body.isolated-view .mode-toggle,body.isolated-view .topbar-search,body.isolated-view #inventory-actions,body.isolated-view #designer-actions,body.isolated-view .btn-sidebar-toggle{display:none!important}body.isolated-view .content{padding:18px 24px}.btn{display:inline-flex;align-items:center;gap:5px;padding:6px 13px;border:.5px solid var(--color-border-secondary);border-radius:var(--border-radius-md);font-size:13px;cursor:pointer;background:transparent;color:var(--color-text-primary);transition:background .1s;white-space:nowrap;font-family:var(--font-sans)}.btn:hover{background:var(--color-background-secondary)}.btn-primary{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.btn-primary:hover{background:#7c0c0c;border-color:#7c0c0c}.btn-danger{color:var(--color-danger);border-color:#f0959580}.btn-danger:hover{background:var(--color-danger-light)}.btn-sm{padding:4px 10px;font-size:12px}.btn-icon{background:none;border:none;cursor:pointer;padding:4px;color:var(--color-text-tertiary);border-radius:var(--border-radius-md);display:flex;align-items:center;transition:color .1s,background .1s}.btn-icon:hover{background:var(--color-background-secondary);color:var(--color-text-primary)}.btn:disabled{opacity:.5;cursor:not-allowed}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:11px;margin-bottom:6px}.card{background:var(--color-background-primary);border:.5px solid var(--color-border-secondary);border-radius:var(--border-radius-lg);overflow:hidden;cursor:pointer;transition:border-color .15s,box-shadow .15s}.card:hover{border-color:var(--color-border-primary);box-shadow:0 2px 8px #0000000f}.card-img{width:100%;height:120px;background:var(--color-background-secondary);display:flex;align-items:center;justify-content:center;overflow:hidden}.card-img img{width:100%;height:120px;object-fit:cover}.card-body{padding:9px 11px}.card-name{font-size:13px;font-weight:500;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-cat{font-size:11px;color:var(--color-text-tertiary);margin-bottom:4px;display:flex;align-items:center;gap:3px}.card-meta{display:flex;gap:8px;margin-bottom:5px}.card-meta-item{font-size:11px;color:var(--color-text-secondary);display:flex;align-items:center;gap:3px}.card-desc{font-size:11px;color:var(--color-text-secondary);margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.5}.card-tags{display:flex;flex-wrap:wrap;gap:3px}.tag{display:inline-flex;padding:1px 6px;border-radius:9px;font-size:11px;background:var(--color-accent-light);color:var(--color-accent);font-weight:500}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:50px 20px;color:var(--color-text-secondary);gap:10px;text-align:center}.empty i{font-size:36px;color:var(--color-text-tertiary)}.empty-title{font-size:14px;font-weight:500;color:var(--color-text-primary)}.empty-sub{font-size:12px;max-width:260px;line-height:1.6}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:320;display:flex;align-items:center;justify-content:center;padding:16px}.modal{background:var(--color-background-primary);border-radius:var(--border-radius-lg);border:.5px solid var(--color-border-secondary);width:100%;max-width:560px;max-height:92vh;overflow-y:auto;display:flex;flex-direction:column}.modal-header{padding:14px 18px 12px;border-bottom:.5px solid var(--color-border-secondary);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:var(--color-background-primary);z-index:10}.modal-title{font-size:15px;font-weight:600}.modal-body{padding:18px;display:flex;flex-direction:column;gap:13px}.modal-footer{padding:11px 18px;border-top:.5px solid var(--color-border-secondary);display:flex;gap:7px;justify-content:flex-end;position:sticky;bottom:0;background:var(--color-background-primary)}.field{display:flex;flex-direction:column;gap:4px}.field label{font-size:12px;font-weight:500;color:var(--color-text-secondary);display:flex;align-items:center;gap:5px}.required-star{color:var(--color-danger);font-size:13px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.field input,.field textarea,.field select{padding:7px 9px;border:.5px solid var(--color-border-secondary);border-radius:var(--border-radius-md);font-size:13px;background:var(--color-background-primary);color:var(--color-text-primary);font-family:var(--font-sans)}.field textarea{resize:vertical;min-height:66px;line-height:1.6}.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-light)}.field input.error{border-color:#e24b4a}.img-upload-area{position:relative;border:1.5px dashed var(--color-border-secondary);border-radius:var(--border-radius-md);background:var(--color-background-secondary);overflow:hidden;cursor:pointer;transition:border-color .15s}.img-upload-area:hover{border-color:var(--color-accent)}.img-upload-area input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;width:100%;height:100%}.img-upload-inner{padding:14px;text-align:center;color:var(--color-text-secondary);pointer-events:none}.img-upload-inner i{font-size:22px;margin-bottom:3px;color:var(--color-text-tertiary);display:block}.img-upload-inner p{font-size:12px;line-height:1.5}.img-preview{width:100%;max-height:160px;object-fit:contain;border-radius:var(--border-radius-md);margin-top:5px}.tags-input-wrap{display:flex;flex-wrap:wrap;gap:4px;padding:5px 7px;border:.5px solid var(--color-border-secondary);border-radius:var(--border-radius-md);background:var(--color-background-primary);min-height:34px;align-items:center;cursor:text}.tags-input-wrap:focus-within{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-light)}.tag-chip{display:inline-flex;align-items:center;gap:3px;padding:1px 6px;border-radius:9px;font-size:11px;background:var(--color-accent-light);color:var(--color-accent);font-weight:500}.tag-chip button{background:none;border:none;cursor:pointer;color:var(--color-accent);font-size:13px;line-height:1;padding:0 0 0 1px}.tags-input-wrap input{border:none;outline:none;font-size:12px;min-width:70px;background:transparent;color:var(--color-text-primary);flex:1}#attrs-list{display:flex;flex-direction:column;gap:6px}.attr-row{display:flex;gap:5px;align-items:center}.attr-row input,.attr-row select{flex:1;padding:5px 8px;border:.5px solid var(--color-border-secondary);border-radius:var(--border-radius-md);font-size:12px;background:var(--color-background-primary);color:var(--color-text-primary);font-family:var(--font-sans)}.attr-row input:focus,.attr-row select:focus{outline:none;border-color:var(--color-accent)}.attr-row input.error,.attr-row select.error{border-color:#e24b4a}.attr-row input[readonly]{background:var(--color-background-secondary);color:var(--color-text-secondary)}.attr-required-badge{font-size:10px;color:var(--color-danger);white-space:nowrap;padding:2px 5px;background:var(--color-danger-light);border-radius:5px;flex-shrink:0}.attr-quantity-wrap{display:flex;align-items:center;gap:6px}.attr-quantity-wrap input[type=number]{flex:1;min-width:0}.attr-quantity-wrap input[type=number].error{border-color:#e24b4a}.attr-quantity-unit{font-size:11px;color:var(--color-text-tertiary);white-space:nowrap;min-width:28px;flex-shrink:0}.detail-img{width:100%;max-height:220px;display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius-md);background:var(--color-background-secondary)}.detail-img img{width:100%;max-height:220px;object-fit:contain;border-radius:var(--border-radius-md)}.cat-badge{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:9px;font-size:11px;background:var(--color-background-secondary);color:var(--color-text-secondary);border:.5px solid var(--color-border-secondary)}.detail-meta-row{display:flex;gap:12px;flex-wrap:wrap}.detail-meta-item{display:flex;align-items:center;gap:5px;font-size:13px;color:var(--color-text-secondary)}.detail-meta-item strong{color:var(--color-text-primary);font-weight:500}.attrs-table{width:100%;border-collapse:collapse}.attrs-table tr{border-bottom:.5px solid var(--color-border-secondary)}.attrs-table tr:last-child{border-bottom:none}.attrs-table td{padding:6px 4px;font-size:13px}.attrs-table td:first-child{color:var(--color-text-secondary);width:42%;font-weight:500}.new-cat-row{display:flex;gap:5px;margin-top:5px}.new-cat-row input{flex:1;padding:6px 9px;border:.5px solid var(--color-border-secondary);border-radius:var(--border-radius-md);font-size:13px;background:var(--color-background-primary);color:var(--color-text-primary);font-family:var(--font-sans)}.new-cat-row input:focus{outline:none;border-color:var(--color-accent)}.cat-manage-row{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border:.5px solid var(--color-border-secondary);border-radius:var(--border-radius-md);margin-bottom:6px;background:var(--color-background-primary)}.cat-manage-name{font-size:13px;font-weight:500}.cat-manage-reqs{font-size:11px;color:var(--color-text-tertiary);margin-top:2px}.cat-manage-type-tag{display:inline-block;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--color-accent);background:var(--color-accent-light);padding:0 4px;border-radius:4px;margin-left:1px}#req-keys-config-list{display:flex;flex-direction:column;gap:8px;max-height:320px;overflow-y:auto}.req-keys-empty{font-size:12px;color:var(--color-text-tertiary);padding:10px;text-align:center;background:var(--color-background-secondary);border-radius:var(--border-radius-md);border:.5px dashed var(--color-border-secondary)}.req-key-config-row{display:flex;flex-direction:column;gap:8px;padding:9px;background:var(--color-background-secondary);border:.5px solid var(--color-border-secondary);border-radius:var(--border-radius-md)}.req-key-config-main{display:flex;gap:6px;align-items:center}.req-key-config-main .req-key-input{flex:1;padding:6px 8px;border:.5px solid var(--color-border-secondary);border-radius:var(--border-radius-md);font-size:13px;background:var(--color-background-primary);color:var(--color-text-primary);font-family:var(--font-sans)}.req-key-config-main .req-type-select{flex:0 0 118px;padding:6px 8px;border:.5px solid var(--color-border-secondary);border-radius:var(--border-radius-md);font-size:12px;background:var(--color-background-primary);color:var(--color-text-primary);font-family:var(--font-sans)}.req-key-config-main .req-key-input:focus,.req-key-config-main .req-type-select:focus{outline:none;border-color:var(--color-accent)}.req-key-config-main .btn-icon{flex-shrink:0}.req-type-panel{padding:8px;background:var(--color-background-primary);border:.5px solid var(--color-border-secondary);border-radius:var(--border-radius-md)}.req-type-panel label{display:block;margin-bottom:4px;font-size:11px;font-weight:500;color:var(--color-text-secondary)}.req-type-panel input,.req-type-panel textarea{width:100%;padding:6px 8px;border:.5px solid var(--color-border-secondary);border-radius:var(--border-radius-md);font-size:12px;background:var(--color-background-primary);color:var(--color-text-primary);font-family:var(--font-sans)}.req-type-panel textarea{font-family:SF Mono,Menlo,monospace;min-height:62px;resize:vertical;line-height:1.5}.req-type-panel input:focus,.req-type-panel textarea:focus{outline:none;border-color:var(--color-accent)}.toast{position:fixed;bottom:18px;left:50%;transform:translate(-50%);background:#2c2c2a;color:#fff;padding:8px 15px;border-radius:var(--border-radius-md);font-size:13px;z-index:999;animation:fadeUp .2s ease;white-space:nowrap}@keyframes fadeUp{0%{opacity:0;transform:translate(-50%) translateY(6px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.autocomplete-ghost{position:absolute;top:0;left:0;right:0;padding:7px 9px;font-size:13px;font-family:var(--font-sans);line-height:1.4;white-space:pre;pointer-events:none;display:none;z-index:1}.autocomplete-ghost-tail{color:var(--color-text-tertiary)}.field input{position:relative;z-index:2;background:var(--color-background-primary)}.autocomplete-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:50;background:var(--color-background-primary);border:.5px solid var(--color-border-secondary);border-radius:var(--border-radius-md);box-shadow:0 4px 14px #0000001f;max-height:220px;overflow-y:auto;display:none}.autocomplete-option{padding:7px 10px;font-size:13px;color:var(--color-text-primary);cursor:pointer}.autocomplete-option:hover,.autocomplete-option.active{background:var(--color-accent-light);color:var(--color-accent)}.field input.ai-suggested,.field textarea.ai-suggested,.field select.ai-suggested,.attr-row input.ai-suggested,.attr-row select.ai-suggested{color:var(--color-text-tertiary);font-style:italic;background:var(--color-accent-light);border-color:var(--color-accent-mid)}.ai-suggested-badge{display:inline-flex;align-items:center;gap:3px;font-size:10px;font-weight:500;color:var(--color-accent);margin-left:4px}@media (max-width: 640px){.topbar{padding:0 10px;gap:8px;height:50px}.btn-sidebar-toggle{display:flex!important}.topbar-logo span{display:none}.topbar-search{display:block!important;flex:1;max-width:none}.topbar-search input{font-size:16px}#inventory-actions,#btn-open-agent-panel{display:none!important}.mobile-tabbar{display:flex!important;position:fixed;left:0;right:0;bottom:0;z-index:250;background:var(--color-background-primary);border-top:.5px solid var(--color-border-secondary);padding-bottom:env(safe-area-inset-bottom)}.tab-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:7px 4px 6px;border:none;background:transparent;color:var(--color-text-tertiary);font-family:var(--font-sans);font-size:10px;font-weight:500}.tab-btn i{font-size:21px}.tab-btn.active{color:var(--color-accent)}.mobile-fab{display:flex!important;position:fixed;right:16px;bottom:calc(58px + env(safe-area-inset-bottom));z-index:260;width:52px;height:52px;border-radius:50%;border:none;background:var(--color-accent);color:#fff;align-items:center;justify-content:center;font-size:22px;box-shadow:0 3px 10px #00000040}.mobile-fab:active{transform:scale(.94)}.mobile-fab.fab-hidden{display:none!important}.sidebar{position:fixed;top:50px;left:0;bottom:0;z-index:300;transform:translate(-100%);transition:transform .22s ease;width:260px;min-width:0;box-shadow:4px 0 20px #00000026;display:flex!important}.sidebar.open{transform:translate(0)}.sidebar-backdrop{display:none;position:fixed;top:50px;right:0;bottom:0;left:0;background:#0006;z-index:299}.sidebar-backdrop.visible{display:block}.content{padding:12px 12px 80px}.main{min-height:0}body.mobile-agent-open .content{display:none}body.mobile-agent-open .main{height:calc(100vh - 108px - env(safe-area-inset-bottom))}body{font-size:15px}.topbar-logo{font-size:16px}.mode-btn{font-size:13px}.nav-item{font-size:14px}.sidebar-label,.nav-count{font-size:12px}.cat-header{font-size:14px}.section-count{font-size:12px}.content-title{font-size:17px}.content-meta{font-size:13px}.card-name{font-size:14px}.card-cat,.card-meta-item,.card-desc,.tag{font-size:12px}.empty-title{font-size:15px}.empty-sub{font-size:13px}.btn{font-size:14px}.btn-sm{font-size:13px}.modal-title{font-size:16px}.field label{font-size:13px}.required-star{font-size:14px}.tag-chip,.cat-badge{font-size:12px}.detail-meta-item,.attrs-table td,.cat-manage-name{font-size:14px}.cat-manage-reqs,.req-chip{font-size:12px}.asm-card-name{font-size:15px}.asm-card-desc{font-size:13px}.asm-card-link{font-size:12px}.part-name{font-size:14px}.part-notes,.part-number{font-size:12px}.asm-child-name,.onshape-list-item-name{font-size:14px}.onshape-list-item-meta{font-size:12px}.onshape-state-title{font-size:14px}.onshape-state-sub,.bom-preview-info{font-size:13px}input,textarea,select{font-size:16px!important}.grid{grid-template-columns:1fr;gap:8px}.card{display:flex;flex-direction:row}.card-img{width:80px;min-width:80px;height:auto;min-height:80px;border-radius:var(--border-radius-lg) 0 0 var(--border-radius-lg)}.card-img img{height:100%;width:80px;min-height:80px;object-fit:cover}.card-body{padding:9px 11px;flex:1;min-width:0}.field-row{grid-template-columns:1fr}.modal{max-width:100%!important;max-height:96vh;border-radius:var(--border-radius-lg) var(--border-radius-lg) 0 0;align-self:flex-end;margin:0!important}.overlay{align-items:flex-end;padding:0}.modal-body{padding:14px;gap:11px}.modal-header{padding:12px 14px 10px}.modal-footer{padding:10px 14px;gap:6px}.modal-footer{flex-wrap:wrap}.modal-footer .btn{flex:1;min-width:0;justify-content:center}.asm-grid{grid-template-columns:1fr;gap:8px}.asm-card-thumb{height:80px}.asm-detail-toolbar{flex-wrap:wrap;gap:6px}.asm-detail-toolbar>*{flex-shrink:0}.asm-detail-toolbar>div[style*="flex:1"]{width:100%;order:99}.asm-parts-toolbar{flex-wrap:wrap;gap:6px}.asm-parts-toolbar>div[style*="flex:1"]{flex:1;min-width:60px}.asm-parts-toolbar .btn span{display:none}.asm-parts-toolbar .btn{padding:4px 8px}.parts-table th:nth-child(2),.parts-table td:nth-child(2),.parts-table th:nth-child(3),.parts-table td:nth-child(3),.parts-table th:nth-child(5),.parts-table td:nth-child(5){display:none}.parts-table th,.parts-table td{padding:8px}.qty-btn{width:32px;height:32px;font-size:18px}.qty-val{font-size:14px;min-width:28px}.asm-progress-row{flex-direction:column;align-items:stretch;gap:6px}.asm-progress-label{min-width:0;text-align:left}.onshape-list{max-height:45vh}.bom-drop-zone{padding:16px}#modal-overlay{align-items:stretch;padding:0}#modal-overlay .modal{max-width:100%!important;width:100%;height:100vh;max-height:100vh;border-radius:0;margin:0!important;align-self:stretch}#modal-overlay .modal-header{padding:14px 16px;height:54px}#modal-overlay .modal-body{padding:16px;gap:16px;flex:1}#modal-overlay .modal-footer{padding:12px 16px calc(12px + env(safe-area-inset-bottom))}.field input,.field textarea,.field select{padding:12px 13px;min-height:46px;border-radius:9px}.field textarea{min-height:90px}.field label{font-size:14px;margin-bottom:2px}.field{gap:6px}.field-row{gap:12px}.attr-row input,.attr-row select{padding:10px 11px;min-height:42px;font-size:14px}.tags-input-wrap{min-height:44px;padding:8px 9px}.tags-input-wrap input{font-size:14px;min-width:100px}.img-upload-inner{padding:22px}.img-upload-inner i{font-size:28px}.btn{min-height:42px;padding:9px 15px}.btn-sm{min-height:38px;padding:7px 13px}.btn-icon{min-width:40px;min-height:40px}.modal-body{font-size:14px}.attr-required-badge{font-size:11px;padding:3px 6px}.toast{font-size:14px;padding:10px 18px}.autocomplete-option{font-size:14px;padding:9px 12px}body.mobile-agent-open .mobile-fab{display:none!important}}.agent-panel{width:0;min-width:0;overflow:hidden;background:var(--color-background-primary);border-left:0 solid var(--color-border-secondary);display:flex;flex-direction:column;transition:width .2s ease,border-width .2s ease}.agent-panel.open{width:360px;min-width:360px;border-left-width:.5px}.agent-panel-header{height:60px;padding:0 12px 0 16px;border-bottom:.5px solid var(--color-border-secondary);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.agent-panel-header-actions{display:flex;align-items:center;gap:4px}.agent-panel-header-actions .btn{white-space:nowrap}.agent-panel-title{display:flex;align-items:center;gap:7px;font-weight:600;font-size:14px}.agent-panel-title i{color:var(--color-accent);font-size:17px}.agent-panel-subtitle{font-size:11px;color:var(--color-text-tertiary);margin-top:2px}.agent-thread{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;min-height:160px}.agent-welcome{display:flex;gap:10px;padding:10px 2px;color:var(--color-text-secondary);font-size:12px;line-height:1.45}.agent-welcome>i{color:var(--color-accent);font-size:19px}.agent-welcome strong{color:var(--color-text-primary);font-size:13px}.agent-welcome p{margin:3px 0 0}.agent-message{max-width:92%;padding:9px 11px;border-radius:10px;white-space:pre-wrap;font-size:12px;line-height:1.45}.agent-message--user{align-self:flex-end;background:var(--color-accent);color:#fff;border-bottom-right-radius:3px}.agent-message--assistant{align-self:flex-start;background:var(--color-background-secondary);color:var(--color-text-primary);border-bottom-left-radius:3px;white-space:normal}.agent-history-notice{font-size:11px;color:var(--color-text-tertiary);text-align:center;padding:4px 8px}.agent-thinking-status{display:flex;align-items:center;gap:7px;color:var(--color-text-secondary);font-style:italic}.agent-confirmation-details{display:inline-block;margin-top:5px;color:inherit;opacity:.85;line-height:1.45}.agent-markdown>:first-child{margin-top:0}.agent-markdown>:last-child{margin-bottom:0}.agent-markdown p{margin:0 0 8px}.agent-markdown h3,.agent-markdown h4,.agent-markdown h5{font-size:12px;line-height:1.3;margin:12px 0 5px;color:var(--color-text-primary)}.agent-markdown h3{font-size:13px}.agent-markdown ul{margin:5px 0 8px;padding-left:18px}.agent-markdown li{margin:3px 0}.agent-markdown code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;padding:1px 4px;border-radius:3px;background:#00000012}.agent-table-wrap{overflow-x:auto;margin:8px -2px;border:.5px solid var(--color-border-secondary);border-radius:var(--border-radius-md);background:var(--color-background-primary)}.agent-markdown table{border-collapse:collapse;width:100%;min-width:460px;font-size:11px;line-height:1.35}.agent-markdown th{background:var(--color-background-secondary);color:var(--color-text-secondary);font-weight:500;text-align:left;white-space:nowrap}.agent-markdown th,.agent-markdown td{padding:6px 7px;border-bottom:.5px solid var(--color-border-secondary);vertical-align:top}.agent-markdown tbody tr:last-child td{border-bottom:0}.agent-markdown tbody tr:hover{background:var(--color-accent-light)}.agent-confirmations{padding:0 12px}.agent-confirmation{border:.5px solid var(--color-accent-mid);background:var(--color-accent-light);border-radius:var(--border-radius-md);padding:10px;margin-bottom:10px;font-size:12px}.agent-confirmation-heading{display:flex;align-items:center;gap:6px;color:var(--color-accent)}.agent-confirmation p{margin:6px 0 9px;color:var(--color-text-secondary);line-height:1.4}.agent-confirmation-actions{display:flex;justify-content:flex-end;gap:6px}.agent-confirmation-details{margin:4px 0 8px;color:var(--color-text-tertiary);font-size:10px}.agent-confirmation-details code{word-break:break-word}.agent-composer{margin:0 12px 12px;padding:7px;border:.5px solid var(--color-border-primary);border-radius:var(--border-radius-md);background:var(--color-background-primary);display:flex;gap:7px;align-items:flex-end}.agent-composer:focus-within{border-color:var(--color-accent)}.agent-composer textarea{flex:1;resize:none;border:0;outline:0;font:inherit;font-size:12px;line-height:1.4;color:var(--color-text-primary);background:transparent;padding:4px;min-height:34px}.agent-composer .btn{flex-shrink:0}.agent-composer .btn span{display:none}.agent-composer .btn-icon.active{color:var(--color-accent);background:var(--color-accent-light)}.agent-history{border-top:.5px solid var(--color-border-secondary);padding:10px 12px 12px;max-height:190px;overflow-y:auto;flex-shrink:0}.agent-history-label{font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:500;color:var(--color-text-tertiary);margin:0 4px 6px}.agent-history-item{width:100%;border:0;padding:7px 5px;background:transparent;color:var(--color-text-secondary);cursor:pointer;font:inherit;font-size:12px;display:flex;align-items:center;gap:7px;text-align:left;border-radius:var(--border-radius-md)}.agent-history-item:hover{background:var(--color-background-secondary);color:var(--color-text-primary)}.agent-history-item i{color:var(--color-text-tertiary)}.agent-history-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agent-history-empty{font-size:12px;color:var(--color-text-tertiary);padding:5px}@media (max-width:640px){.agent-panel{display:none;width:100%;min-width:0;border-left:0;flex:1}.agent-panel.open{display:flex}.agent-thread{min-height:0}.agent-composer textarea{font-size:16px}}.agent-proposal-card{width:100%;max-width:100%;min-width:0;flex:0 0 auto;box-sizing:border-box;border:.5px solid var(--color-border-secondary);border-radius:var(--border-radius-md);padding:10px;margin:6px 0;display:flex;flex-direction:column;gap:8px;background:var(--color-background-primary)}.agent-proposal-card .field,.agent-proposal-card input,.agent-proposal-card textarea,.agent-proposal-card select{min-width:0;max-width:100%;box-sizing:border-box}.agent-proposal-heading{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--color-accent)}.agent-proposal-image{max-width:160px;border-radius:6px;align-self:flex-start}.agent-proposal-attrs{display:flex;flex-direction:column;gap:4px}.agent-proposal-attrs .attr-row{display:flex;align-items:center;gap:4px;min-width:0}.agent-proposal-attrs .attr-row input,.agent-proposal-attrs .attr-row select{flex:1 1 0!important;width:0}.agent-proposal-attrs .attr-row .btn-icon{flex:0 0 auto}.agent-proposal-reasoning{font-size:11px;color:var(--color-text-tertiary);margin:0}.agent-proposal-new-cat{display:flex;gap:6px;margin-top:6px}.agent-proposal-new-cat input{flex:1;padding:6px 8px;border:.5px solid var(--color-border-secondary);border-radius:var(--border-radius-md);font-size:12px;background:var(--color-background-primary);color:var(--color-text-primary)}.agent-proposal-hint{font-size:11px;color:var(--color-text-tertiary);margin-top:4px}.agent-proposal-extra-label{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-tertiary);margin:6px 0 2px}.agent-proposal-card select{padding:6px 8px;border:.5px solid var(--color-border-secondary);border-radius:var(--border-radius-md);font-size:12px;background:var(--color-background-primary);color:var(--color-text-primary);font-family:var(--font-sans)}.agent-message-images{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.agent-message-image{max-width:180px;max-height:180px;border-radius:8px;border:.5px solid var(--color-border-secondary);object-fit:cover;cursor:zoom-in;display:block}.agent-message--user .agent-message-images{justify-content:flex-end}.agent-message-text{white-space:pre-wrap}.agent-attachment-preview{display:flex;align-items:center;gap:8px;margin:0 12px 8px;padding:6px 8px;border:.5px solid var(--color-border-secondary);border-radius:var(--border-radius-md);background:var(--color-background-secondary)}.agent-attachment-preview img{width:36px;height:36px;object-fit:cover;border-radius:6px;flex-shrink:0}.agent-attachment-name{flex:1;min-width:0;font-size:12px;color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
