.step-bar{scrollbar-width:none;-ms-overflow-style:none;align-items:flex-start;margin-bottom:1.25rem;padding:.375rem 0 1.25rem;display:flex;overflow-x:auto}.step-bar::-webkit-scrollbar{display:none}.step-item{cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:.4375rem;min-width:80px;padding:0;transition:opacity .15s;display:flex;position:relative}.step-item:disabled{cursor:not-allowed;opacity:.4}.step-indicator-row{align-items:center;width:100%;display:flex;position:relative}.step-connector-left,.step-connector-right{background-color:var(--border);flex:1;height:2px;transition:background-color .3s}.step-connector-left.filled,.step-connector-right.filled,.step-connector-left.active-fill{background-color:var(--accent)}.step-item:first-child .step-connector-left,.step-item:last-child .step-connector-right{visibility:hidden}.step-circle{border:2px solid var(--border);background-color:var(--surface-alt);width:34px;height:34px;color:var(--text-secondary);z-index:1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.6875rem;font-weight:700;transition:all .2s;display:flex;position:relative}.step-item.active .step-circle{border-color:var(--accent);background-color:var(--accent);color:#fff;box-shadow:0 0 0 3px #00823c1f}.step-item.completed .step-circle{border-color:var(--accent);background-color:var(--accent);color:#fff}.step-label{color:var(--text-secondary);text-align:center;white-space:nowrap;font-size:.625rem;font-weight:600;line-height:1.2;transition:color .15s}.step-item.active .step-label{color:var(--accent);font-weight:700}.step-item.completed .step-label{color:var(--accent)}.step-item:not(:disabled):hover .step-circle{transform:scale(1.08);box-shadow:0 0 0 3px #00823c14}.step-item.completed:not(:disabled):hover .step-circle{box-shadow:0 0 0 3px #00823c0f}@media (max-width:768px){.step-item{min-width:60px}.step-circle{width:28px;height:28px;font-size:.625rem}.step-label{font-size:.5625rem}}
.build-summary{background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius-lg);flex-shrink:0;align-self:flex-start;width:340px;padding:1rem;position:sticky;top:84px}.summary-title{border-bottom:1px solid var(--border);margin-bottom:.875rem;padding-bottom:.625rem;font-size:.9375rem;font-weight:700}.component-list{margin-bottom:.875rem}.empty-msg{color:var(--text-secondary);text-align:center;padding:.875rem 0;font-size:.8125rem}.component-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:.375rem;padding:.4375rem 0;display:flex}.component-row:last-child{border-bottom:none}.comp-info{flex-direction:column;gap:.125rem;min-width:0;display:flex}.comp-category{text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);font-size:.5625rem;font-weight:700;display:block}.comp-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.8125rem;font-weight:500;line-height:1.3;display:-webkit-box;overflow:hidden}.comp-actions{flex-shrink:0;align-items:center;gap:.375rem;display:flex}.comp-price{font-family:var(--font-mono);font-size:.8125rem;font-weight:600}.remove-btn{width:20px;height:20px;color:var(--error);cursor:pointer;background:#bf1e2e0f;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:.8125rem;line-height:1;transition:background .15s;display:flex}.remove-btn:hover{background:#bf1e2e1f}.issues-section{margin-bottom:.875rem}.issue{border-radius:var(--radius-sm);gap:.375rem;margin-bottom:.25rem;padding:.375rem .5rem;font-size:.6875rem;line-height:1.4;display:flex}.issue.error{color:var(--error);background:#bf1e2e0d}.issue.warning{color:#c07000;background:#f08c000d}.issue-icon{flex-shrink:0;font-weight:700}.pricing{border-top:1px solid var(--border);margin-bottom:.875rem;padding-top:.625rem}.price-row{color:var(--text-secondary);justify-content:space-between;padding:.1875rem 0;font-size:.8125rem;display:flex}.price-row.sub{color:var(--text-primary);border-top:1px solid var(--border);margin-top:.25rem;padding-top:.375rem;font-weight:600}.price-row.total{color:var(--text-primary);border-top:2px solid var(--accent);margin-top:.25rem;padding-top:.5rem;font-size:.9375rem;font-weight:700}.finance-hint{color:var(--text-secondary);text-align:center;margin-top:.5rem;font-size:.6875rem}.summary-actions{flex-direction:column;gap:.375rem;display:flex}@media (max-width:1024px){.build-summary{width:100%;position:static}}
