:root{--color-main:#0a0a0a;--color-main-soft:#141414;--color-main-elevated:#1a1a1a;--color-red:#d00;--color-red-hover:#b30000;--color-yellow:#ffce00;--color-yellow-soft:#ffd633;--color-yellow-text:#ffce00;--color-white:#fff;--color-white-muted:hsla(0,0%,100%,.85);--color-border:hsla(0,0%,100%,.15);--color-link:var(--text-primary);--color-link-hover:var(--text-primary);--color-success:#34c759;--on-success:#111;--color-success-bg:rgba(52,199,89,.12);--bg-content:#0a0a0a;--bg-card:#141414;--bg-elevated:#1a1a1a;--bg-input:#1a1a1a;--text-primary:hsla(0,0%,100%,.95);--text-muted:hsla(0,0%,100%,.6);--border-dark:hsla(0,0%,100%,.1)}[data-theme=light]{--color-yellow-text:#7a5f00;--color-success:#16702f;--on-success:#fff;--bg-content:#f5f5f5;--bg-card:#fff;--bg-elevated:#f8f9fa;--bg-input:#fff;--text-primary:#1a1a1a;--text-muted:#666;--border-dark:rgba(0,0,0,.1);--color-border:rgba(0,0,0,.15);--color-white-muted:rgba(0,0,0,.85)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:var(--bg-content);min-height:100vh;color:var(--text-primary)}a{color:var(--color-link);text-decoration:underline;-webkit-text-decoration-color:var(--text-muted);text-decoration-color:var(--text-muted);text-underline-offset:2px}a:hover{color:var(--color-link-hover);-webkit-text-decoration-color:var(--color-yellow);text-decoration-color:var(--color-yellow)}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:var(--bg-card);border-radius:12px;padding:24px;width:100%;max-width:480px;box-shadow:0 20px 60px rgba(0,0,0,.5);border:1px solid var(--border-dark)}.modal-content h3{margin:0 0 8px;font-size:1.2em;color:var(--text-primary)}.modal-content textarea{background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border-dark);border-radius:6px}.modal-actions{display:flex;gap:12px;justify-content:flex-end}.header{background:var(--color-main);color:var(--text-primary);padding:40px 30px;text-align:center;border-bottom:1px solid var(--color-border)}[data-theme=light] .header{background:var(--bg-elevated);color:var(--text-primary);border-bottom:1px solid var(--border-dark)}.header h1{font-size:2em;font-weight:700;margin-bottom:8px;letter-spacing:-.5px}.header p{font-size:.95em;opacity:.9;font-weight:300}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:400;color:var(--text-muted);font-size:.95em}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 12px;border:1px solid var(--border-dark);border-radius:4px;font-size:.95em;transition:border-color .2s;background:var(--bg-input);color:var(--text-primary)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-red);box-shadow:0 0 0 3px rgba(196,30,58,.12)}.form-group small{display:block;margin-top:5px;color:var(--text-muted);font-size:.85em}.btn{padding:10px 20px;border:none;border-radius:4px;font-size:.95em;cursor:pointer;transition:all .2s;font-weight:400}.btn-primary{background:var(--color-yellow);color:var(--color-main);font-weight:700}.btn-primary:hover:not(:disabled){background:var(--color-yellow-soft)}.btn-secondary{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border-dark)}.btn-secondary:hover:not(:disabled){background:var(--color-main-soft);border-color:var(--color-main-soft)}[data-theme=light] .btn-secondary:hover:not(:disabled){background:#e0e0e0;border-color:#e0e0e0;color:#1a1a1a}.btn-success{color:var(--on-success)}.btn:disabled{opacity:.6;cursor:not-allowed}.error{background:rgba(196,30,58,.12);color:var(--color-red);border-left:4px solid var(--color-red)}.error,.success{padding:12px;border-radius:4px;margin-bottom:20px}.success{background:var(--color-success-bg);color:var(--color-success);border-left:4px solid var(--color-success)}.loading{padding:20px;color:var(--text-muted)}.search-container{z-index:1}.part-dropdown{box-shadow:0 4px 12px rgba(0,0,0,.4)}.dropdown-header{padding:8px 12px}.dropdown-item{gap:12px;transition:background .15s;color:var(--text-primary)}.dropdown-item:hover{background:var(--bg-elevated)}.dropdown-item.selected{background:rgba(196,30,58,.2);border-left:2px solid var(--color-red)}.part-id{color:var(--color-yellow-text);min-width:60px}.part-name{color:var(--text-muted)}.dropdown-empty{padding:20px}.applications-table-wrapper{overflow-x:auto;margin-top:20px}.applications-table th{background:var(--bg-elevated);padding:10px 8px;color:var(--text-muted);white-space:nowrap}.applications-table td{padding:8px}.applications-table tr:hover{background:var(--bg-elevated)}.applications-table tr.selected{background:rgba(196,30,58,.15)}.json-output{background:var(--bg-card);border:1px solid var(--border-dark);max-height:500px;color:var(--text-primary)}.json-output pre{font-family:Courier New,monospace;font-size:.85em;line-height:1.5}.results-actions{gap:30px;flex-wrap:wrap}.results-actions-group h3{font-size:1em;margin-bottom:5px}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{background:var(--bg-content);cursor:not-allowed;opacity:.6}.btn{margin:0 8px}.btn-danger{background:var(--color-red);color:var(--color-white);padding:8px 16px;font-size:13px}.btn-danger:hover:not(:disabled){background:var(--color-red-hover)}.btn-add{background:var(--color-yellow);color:var(--color-main);padding:10px 20px;margin-top:20px}.btn-add:hover{background:var(--color-yellow-soft)}.loading{text-align:center;padding:30px}.spinner{border-top:3px solid var(--border-dark);border:3px solid var(--border-dark);border-top-color:var(--color-red);border-radius:50%;width:32px;height:32px;animation:spin .8s linear infinite;margin:0 auto 15px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.attributes-section{margin-top:20px}.attributes-controls{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:24px;padding:16px;background:var(--bg-card);border-radius:4px;border:1px solid var(--border-dark);align-items:center}.control-group{display:flex;align-items:center;gap:8px}.control-group label{margin:0;font-size:.9em;font-weight:400;color:var(--text-muted)}.control-select{padding:8px 12px;border:1px solid var(--border-dark);border-radius:4px;font-size:14px;background:var(--bg-input);color:var(--text-primary);cursor:pointer}.control-select:focus{outline:none;border-color:var(--color-red);box-shadow:0 0 0 3px rgba(196,30,58,.2)}.btn-small{padding:6px 12px;font-size:13px;margin:0 4px}.attributes-selector{margin-bottom:24px;padding:20px;background:var(--bg-card);border-radius:4px;border:1px solid var(--border-dark)}.attributes-selector h4{margin-bottom:16px;font-size:.95em;font-weight:700;color:var(--text-primary)}.attributes-checkboxes{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));grid-gap:12px;gap:12px;max-height:300px;overflow-y:auto;padding:8px}.checkbox-item{display:flex;align-items:center;gap:8px;padding:8px;background:var(--bg-elevated);border-radius:4px;border:1px solid var(--border-dark);cursor:pointer;transition:all .2s;font-size:.9em;color:var(--text-primary)}.checkbox-item:hover{background:var(--bg-card);border-color:var(--color-red)}.checkbox-item input[type=checkbox]{width:auto;margin:0;cursor:pointer}.checkbox-item span{flex:1 1;color:var(--text-primary)}.badge-common,.badge-common-small{display:inline-block;padding:2px 6px;background:var(--color-red);color:var(--color-white);border-radius:3px;font-size:.75em;font-weight:700;margin-left:6px}.badge-common-small{font-size:.7em;padding:1px 5px}.badge-values{display:inline-block;padding:2px 6px;background:var(--color-yellow);color:var(--color-main);border-radius:3px;font-size:.75em;font-weight:700;margin-left:6px}.badge-uom{background:var(--bg-elevated)}.badge-position,.badge-uom{display:inline-block;padding:2px 6px;color:var(--color-yellow-text);border-radius:3px;font-size:.75em;font-weight:700;margin-left:6px;border:1px solid var(--border-dark)}.badge-position{background:var(--color-main-elevated)}[data-theme=light] .badge-position{background:var(--bg-elevated);color:#6b5a00;border-color:var(--border-dark)}.attribute-item.position-attr{border-left:3px solid var(--color-yellow);background:rgba(230,184,0,.08)}.attributes-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:16px;gap:16px;margin-top:16px}.attribute-item{background:var(--bg-card);padding:16px;border-radius:4px;border:1px solid var(--border-dark);transition:all .2s;color:var(--text-primary)}.attribute-item.common{border-left:3px solid var(--color-red);background:rgba(196,30,58,.08)}.attribute-item.favorite{border-left:3px solid var(--color-yellow);background:rgba(230,184,0,.08)}.attribute-item:hover{box-shadow:0 2px 8px rgba(0,0,0,.3)}.attribute-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.attribute-header label{margin:0;flex:1 1}.attribute-actions{display:flex;align-items:center;gap:8px}.btn-favorite{background:none;border:none;color:var(--text-muted);font-size:18px;cursor:pointer;padding:2px 4px;transition:all .2s;line-height:1}.btn-favorite:hover{transform:scale(1.1)}.btn-favorite.active,.btn-favorite:hover{color:var(--color-yellow-text)}.btn-remove-attr{background:none;border:none;color:var(--text-muted);font-size:20px;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.btn-remove-attr:hover{background:#fee;color:var(--color-red)}.attribute-description{display:block;color:var(--text-muted);font-size:.85em;margin-bottom:8px;font-style:italic}.attributes-summary{margin-top:20px;padding:12px 16px;background:var(--bg-elevated);border-radius:4px;font-size:.9em;color:var(--text-muted);text-align:center}.filled-count{color:#27ae60;font-weight:700;margin-left:8px}.applications-filters-container{margin-bottom:40px;padding:24px;background:var(--bg-card);border-radius:6px;border:1px solid var(--border-dark)}.filters-row{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;margin-top:20px}.filter-dropdown-wrapper{flex:1 1;min-width:180px;position:relative}.filter-dropdown-label{display:block;margin-bottom:8px;font-weight:400;font-size:.9em;color:var(--text-muted)}.filter-dropdown-label .required{color:var(--color-red)}.filter-dropdown{position:relative}.filter-dropdown-button{width:100%;padding:10px 12px;border:1px solid var(--border-dark);border-radius:4px;background:var(--bg-card);cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-size:14px;transition:all .2s}.filter-dropdown-button.open,.filter-dropdown-button:hover{border-color:var(--color-red)}.filter-dropdown-button.open{box-shadow:0 0 0 3px rgba(74,158,255,.2)}.filter-dropdown-button.has-selection{background:var(--bg-elevated);border-color:var(--color-red);color:var(--text-primary)}.filter-dropdown-loading .filter-dropdown-button{color:var(--text-muted)}.filter-dropdown-button:disabled{cursor:wait;opacity:.85}.dropdown-arrow{font-size:10px;color:var(--text-muted);transition:transform .2s}.filter-dropdown-button.open .dropdown-arrow{transform:rotate(180deg)}.filter-dropdown-menu{position:absolute;top:100%;left:0;right:0;background:var(--bg-card);border:1px solid var(--color-red);border-top:none;border-radius:0 0 4px 4px;box-shadow:0 4px 12px rgba(0,0,0,.15);z-index:1000;max-height:400px;display:flex;flex-direction:column;margin-top:-1px}.dropdown-search{padding:12px;border-bottom:1px solid var(--border-dark);background:var(--bg-elevated)}.dropdown-search-input{width:100%;padding:8px 12px;border:1px solid var(--border-dark);border-radius:4px;font-size:14px;background:var(--bg-input);color:var(--text-primary)}.dropdown-search-input:focus{outline:none;border-color:var(--color-red);box-shadow:0 0 0 3px rgba(196,30,58,.15)}.dropdown-items{max-height:300px;overflow-y:auto;padding:4px 0}.dropdown-item{gap:8px;padding:10px 12px;font-size:.9em}.dropdown-item input[type=checkbox]{width:auto;margin:0;cursor:pointer}.dropdown-no-results{padding:24px;text-align:center;color:var(--text-muted);font-style:italic}.filter-actions{display:flex;gap:12px;align-items:center}.btn-outline{background:var(--bg-card);color:var(--color-red);border:1px solid var(--color-red);padding:10px 20px;border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s}.btn-outline:hover{background:var(--bg-elevated)}.selection-summary{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--bg-elevated);border-radius:4px;margin-bottom:20px;font-size:.9em;color:var(--text-primary)}.btn-add-filter{width:100%;padding:10px 12px;border:2px dashed var(--color-red);border-radius:4px;background:var(--bg-card);color:var(--color-red);cursor:pointer;font-size:14px;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px}.btn-add-filter:hover{background:var(--bg-elevated);border-color:var(--color-link);color:var(--color-link)}.optional-filters-menu{position:absolute;top:100%;left:0;right:0;background:var(--bg-card);border:1px solid var(--color-red);border-top:none;border-radius:0 0 4px 4px;box-shadow:0 4px 12px rgba(0,0,0,.15);z-index:1001;max-height:300px;overflow-y:auto;margin-top:-1px;padding:8px 0;min-width:200px}.optional-filter-item{display:flex;align-items:center;gap:8px;padding:10px 16px;cursor:pointer;transition:background-color .15s;font-size:.9em}.optional-filter-item:hover{background-color:var(--bg-elevated)}.optional-filter-item input[type=checkbox]{width:auto;margin:0;cursor:pointer}.optional-filter-item .no-data{color:var(--text-muted);font-size:.85em;font-style:italic}.optional-filters-row{display:flex;flex-wrap:wrap;gap:16px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border-dark)}.optional-filter-wrapper{position:relative;flex:1 1;min-width:180px}.btn-remove-optional-filter{position:absolute;top:0;right:-8px;background:var(--color-red);color:#fff;border:none;border-radius:50%;width:20px;height:20px;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:all .2s;z-index:10}.btn-remove-optional-filter:hover{background:#c0392b;transform:scale(1.1)}.applications-filters-container h3{margin-bottom:8px;color:var(--text-primary);font-size:1.2em}.applications-filters-container .filters-help{margin:0 0 12px;font-size:.9em;color:var(--text-muted)}.applications-table-container{margin-top:40px;padding:24px;background:var(--bg-card);border-radius:6px;border:1px solid var(--border-dark)}.table-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border-dark)}.table-header h3{margin:0;color:var(--text-primary);font-size:1.1em}.table-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.applications-table-wrapper{max-height:600px;overflow-y:auto;border:1px solid var(--border-dark);border-radius:4px}.applications-table{width:100%;border-collapse:collapse;font-size:.9em}.applications-table thead{background:var(--bg-elevated);position:-webkit-sticky;position:sticky;top:0;z-index:10}.applications-table th{padding:12px;text-align:left;font-weight:700;color:var(--text-primary);border-bottom:2px solid var(--border-dark)}.applications-table td{padding:10px 12px;border-bottom:1px solid var(--border-dark);color:var(--text-primary)}.applications-table tbody tr{transition:background-color .2s}.applications-table tbody tr:hover{background-color:var(--bg-elevated)}.applications-table tbody tr.selected{background-color:rgba(74,158,255,.15)}.applications-table tbody tr.selected:hover{background-color:rgba(74,158,255,.22)}.applications-table tbody tr.marked-removal{background-color:rgba(196,30,58,.12)}.applications-table tbody tr.marked-removal:hover{background-color:rgba(196,30,58,.2)}.applications-table input[type=checkbox]{width:auto;margin:0;cursor:pointer}.applications-added-container{margin-top:32px;padding:20px;background:var(--bg-card);border-radius:6px;border:1px solid var(--border-dark)}.applications-added-container h3{margin-bottom:8px;color:var(--text-primary);font-size:1.1em}.application-remove-checkbox{display:inline-flex;align-items:center;gap:6px;cursor:pointer;white-space:nowrap}.attribute-item label{display:block;margin-bottom:8px;color:var(--text-muted);font-weight:400;font-size:.9em}.attribute-input-group{display:flex;gap:8px;align-items:stretch}.attribute-input-group .attr-input{flex:1 1;padding:10px 12px;border:1px solid var(--border-dark);border-radius:4px;font-size:14px;min-width:120px}.attribute-input-group .attr-input[type=number]{width:120px;flex:0 0 120px;text-align:right;font-family:Courier New,monospace}.attribute-input-group .attr-uom-select{min-width:160px;padding:10px 12px;border:1px solid var(--border-dark);border-radius:4px;font-size:14px;background:var(--bg-card);cursor:pointer;flex:0 0 160px}.attribute-input-group .attr-uom-select:focus{outline:none;border-color:var(--color-red);box-shadow:0 0 0 3px rgba(74,158,255,.2)}.attribute-item.has-uom{border-left:3px solid var(--color-success)}.attribute-item input,.attribute-item select{width:100%;padding:10px 12px;border:1px solid var(--border-dark);border-radius:4px;font-size:14px}.attribute-item input:focus,.attribute-item select:focus{outline:none;border-color:var(--color-red);box-shadow:0 0 0 3px rgba(74,158,255,.2)}.results{margin-top:40px;padding:30px;background:var(--bg-card);border-radius:6px;border:1px solid var(--border-dark)}.results h2{color:var(--text-primary);margin-bottom:20px;font-size:1.2em;font-weight:700}.json-output{background:var(--color-main);color:var(--color-white);padding:20px;border-radius:4px;overflow-x:auto;font-family:Monaco,Menlo,Courier New,monospace;font-size:13px;line-height:1.6;max-height:600px;overflow-y:auto}[data-theme=light] .json-output{background:#f0f0f0;color:#1a1a1a;border:1px solid var(--border-dark)}.json-output pre{margin:0;white-space:pre-wrap;word-wrap:break-word;color:var(--text-muted)}[data-theme=light] .json-output pre{color:#444}.results-actions{margin-top:20px;display:flex;flex-direction:column;gap:20px}.results-actions-group{display:flex;flex-direction:column;gap:10px;padding:15px;background:var(--bg-card);border-radius:6px;border:1px solid var(--border-dark)}.results-actions-group h3{margin:0 0 10px;font-size:.9em;color:var(--text-muted);font-weight:700;text-transform:uppercase;letter-spacing:.5px}.results-actions-group .btn{width:100%}.btn-success{background:var(--color-success);color:var(--color-white);border:none}.btn-success:hover:not(:disabled){background:#16a34a;transform:translateY(-1px);box-shadow:0 2px 8px rgba(34,197,94,.3)}.btn-success:disabled{opacity:.6;cursor:not-allowed}.search-container{position:relative;width:100%}.part-search-input{width:100%;padding:10px 12px;border:1px solid var(--border-dark);border-radius:4px;font-size:14px;transition:all .2s;background:var(--bg-card);color:var(--text-primary)}.product-info-dropdown{background:var(--bg-card);border:1px solid var(--border-dark);border-radius:6px;box-shadow:0 4px 12px rgba(0,0,0,.15)}.product-info-dropdown-desc,.product-info-dropdown-message{color:var(--text-muted)}.product-info-dropdown li{color:var(--text-primary);border-bottom:1px solid var(--border-dark)}.part-search-input:focus{outline:none;border-color:var(--color-red);box-shadow:0 0 0 3px rgba(74,158,255,.2)}.part-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--bg-card);border:1px solid var(--color-red);border-top:none;border-radius:0 0 4px 4px;box-shadow:0 4px 12px rgba(0,0,0,.15);max-height:500px;overflow-y:auto;overflow-x:hidden;z-index:10000;margin-top:-1px}.dropdown-header{padding:10px 16px;background:var(--bg-elevated);border-bottom:1px solid var(--border-dark);font-size:.85em}.dropdown-header,.dropdown-note{color:var(--text-muted);font-weight:400}.dropdown-list{max-height:450px;overflow-y:auto;overflow-x:hidden}.dropdown-item{padding:12px 16px;cursor:pointer;border-bottom:1px solid var(--border-dark);display:flex;align-items:center;gap:16px;transition:background-color .15s}.dropdown-item:hover{background-color:var(--bg-elevated)}.dropdown-item.selected{background-color:rgba(74,158,255,.2);font-weight:400}.part-id{font-weight:700;color:var(--color-red);min-width:70px;font-family:Monaco,Menlo,Courier New,monospace;font-size:.9em}.part-name{flex:1 1;color:var(--text-primary)}.dropdown-empty{padding:24px;text-align:center;color:var(--text-muted);font-style:italic}.dropdown-list::-webkit-scrollbar,.json-output::-webkit-scrollbar{width:8px}.dropdown-list::-webkit-scrollbar-track,.json-output::-webkit-scrollbar-track{background:#f1f1f1}.dropdown-list::-webkit-scrollbar-thumb,.json-output::-webkit-scrollbar-thumb{background:var(--color-white-muted);border-radius:4px}.dropdown-list::-webkit-scrollbar-thumb:hover,.json-output::-webkit-scrollbar-thumb:hover{background:#95a5a6}