.job-status-panel{border:1px solid var(--border);border-radius:8px;padding:12px;background:var(--card)}.job-status-panel__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.job-status-panel__title{margin:0;font-size:1rem;font-weight:600}.job-status-panel__meta{display:flex;gap:8px;align-items:center}.job-status-badge{padding:2px 8px;border-radius:12px;font-size:.8rem}.job-status-badge,.job-status-badge--queued{background:var(--muted)}.job-status-badge--running{background:color-mix(in oklab,var(--info) 15%,transparent);color:var(--info-foreground)}.job-status-badge--succeeded{background:color-mix(in oklab,var(--success) 15%,transparent);color:var(--success-foreground)}.job-status-badge--failed{background:color-mix(in oklab,var(--destructive) 12%,transparent);color:var(--destructive)}.job-status-panel__controls{display:flex;gap:8px;margin-bottom:8px}.job-status-btn{border:1px solid var(--border);background:var(--muted);padding:4px 10px;border-radius:6px;cursor:pointer}.job-status-panel__progress{height:4px;margin:6px 0 10px;background:var(--muted);border-radius:4px;overflow:hidden}.job-progress-bar{width:50%;height:100%;background:var(--primary);animation:job-progress 1.5s linear infinite}@keyframes job-progress{0%{transform:translateX(-100%)}to{transform:translateX(200%)}}.job-status-panel__logs{max-height:220px;overflow-y:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px}.job-log-entry{display:flex;gap:6px;padding:2px 0}.job-log-empty,.job-log-time{color:var(--muted-foreground)}.apply-panel{border:1px solid var(--border);border-radius:8px;padding:12px;background:var(--card)}.apply-panel__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.apply-panel__title{margin:0;font-size:1rem;font-weight:600}.apply-panel__actions{display:flex;gap:8px}.apply-btn{border:1px solid var(--border);background:var(--muted);padding:4px 10px;border-radius:6px;cursor:pointer}.apply-panel__error{color:var(--destructive);margin:8px 0}.apply-panel__status{margin-top:10px}.stack-builder-page{min-height:100vh;background:var(--background)}.stack-builder-header{background:var(--background);border-bottom:1px solid var(--border);padding:2rem 0 1.75rem}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.stack-builder-header__container{max-width:1400px;margin:0 auto;padding:0 2rem}.stack-builder-header__content{text-align:left;max-width:46rem}.stack-builder-header__title{font-size:1.875rem;font-weight:600;letter-spacing:-.02em;margin:0;color:var(--foreground);line-height:1.15}.stack-builder-header__subtitle{font-size:1rem;color:var(--muted-foreground);margin:.5rem 0 0;max-width:46rem;line-height:1.6}.stack-builder-content{padding:0}.stack-builder-content__container{max-width:1600px;margin:0 auto;padding:0;height:calc(100vh - 200px)}.stack-builder{display:flex;flex-direction:column;height:100%;background:var(--card);border-radius:12px 12px 0 0;box-shadow:0 -4px 6px -1px rgba(0,0,0,.1);overflow:hidden}.stack-builder__toolbar{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background:var(--card);border-bottom:1px solid var(--border);flex-shrink:0}.stack-builder__toolbar-left{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;flex:1 1 auto;min-width:0}.stack-builder__toolbar-right{display:flex;align-items:center;gap:1rem;flex-shrink:0}.stack-actions{flex-wrap:wrap}.stack-actions,.stack-status{display:flex;align-items:center;gap:.5rem}.view-controls{display:flex;align-items:center;gap:.25rem}.stack-builder__layout{display:grid;grid-template-columns:400px 1fr;flex:1;min-height:0;overflow:hidden}.stack-builder__layout:has(.stack-builder__config-panel){grid-template-columns:350px 1fr 400px}.stack-builder__layout:has(.stack-builder__recommendation-panel){grid-template-columns:400px 1fr 350px}.stack-builder__layout:has(.stack-builder__config-panel):has(.stack-builder__recommendation-panel){grid-template-columns:300px 1fr 350px 300px}.stack-builder__canvas-panel,.stack-builder__config-panel,.stack-builder__recommendation-panel,.stack-builder__services-panel{display:flex;flex-direction:column;border-right:1px solid var(--border);background:var(--card);overflow:hidden}.stack-builder__config-panel,.stack-builder__recommendation-panel{border-right:none;border-left:1px solid var(--border)}.stack-builder__recommendation-panel{background:var(--card)}.stack-builder__recommendation-panel .panel-toggle{font-weight:600}.panel-header{justify-content:space-between;padding:1rem 1.5rem;background:var(--muted);border-bottom:1px solid var(--border);flex-shrink:0}.panel-header,.panel-toggle{display:flex;align-items:center}.panel-toggle{gap:.5rem;background:none;border:none;font-weight:600;color:var(--foreground);cursor:pointer;padding:.5rem;border-radius:.375rem;transition:background-color .2s ease}.panel-toggle:hover{background:var(--accent)}.panel-title{display:flex;align-items:center;gap:.5rem;font-weight:600;color:var(--foreground)}.panel-header-actions{display:flex;align-items:center;gap:.25rem}.panel-content{flex:1;overflow:auto;padding:1.5rem}.filter-section,.search-section,.services-section{margin-bottom:1.5rem}.filter-section:last-child,.services-section:last-child{margin-bottom:0}.stack-builder__services-panel.collapsed{width:60px;min-width:60px}.stack-builder__services-panel.collapsed .panel-content{display:none}.stack-builder__canvas-panel{flex:1}.stack-builder__stack-canvas{height:100%;min-height:400px}.stack-builder-loading{height:100%;min-height:600px}.stack-builder-skeleton{height:100%;background:var(--card);border-radius:12px 12px 0 0;overflow:hidden}.service-card-skeleton{border-radius:.5rem;border:1px solid var(--border);overflow:hidden}.stack-canvas-skeleton{height:100%;padding:1rem}@media (max-width:1200px){.stack-builder__layout{grid-template-columns:350px 1fr}.stack-builder__layout:has(.stack-builder__config-panel){grid-template-columns:300px 1fr 350px}.stack-builder__layout:has(.stack-builder__recommendation-panel){grid-template-columns:300px 1fr 300px}.stack-builder__layout:has(.stack-builder__config-panel):has(.stack-builder__recommendation-panel){grid-template-columns:250px 1fr 300px 250px}}@media (max-width:1024px){.stack-builder-header{padding:2rem 0 3rem}.stack-builder-header__title{font-size:1.5rem}.stack-builder__layout{grid-template-columns:1fr;grid-template-rows:auto 1fr}.stack-builder__layout:has(.stack-builder__config-panel){grid-template-columns:1fr;grid-template-rows:auto 1fr auto}.stack-builder__layout:has(.stack-builder__recommendation-panel){grid-template-columns:1fr;grid-template-rows:auto 1fr auto}.stack-builder__layout:has(.stack-builder__config-panel):has(.stack-builder__recommendation-panel){grid-template-columns:1fr;grid-template-rows:auto 1fr auto auto}.stack-builder__canvas-panel,.stack-builder__config-panel,.stack-builder__recommendation-panel,.stack-builder__services-panel{border-right:none;border-bottom:1px solid var(--border)}.stack-builder__config-panel,.stack-builder__recommendation-panel{border-left:none;border-top:1px solid var(--border);border-bottom:none}}@media (max-width:768px){.stack-builder-header{padding:1.5rem 0 2rem}.stack-builder-header__container{padding:0 1rem}.stack-builder-header__title{font-size:1.5rem}.stack-builder-header__subtitle{font-size:1rem}.stack-builder__toolbar{padding:.75rem 1rem;flex-direction:column;gap:1rem;align-items:stretch}.stack-actions,.stack-builder__toolbar-left,.stack-builder__toolbar-right{justify-content:center}.stack-actions{flex-wrap:wrap}.panel-content{padding:1rem}}@media print{.stack-builder-header,.stack-builder-page{background:white;color:black}.stack-builder-header{padding:1rem 0}.panel-header,.stack-builder__toolbar{display:none}.stack-builder__layout{grid-template-columns:1fr;height:auto}.panel-content{padding:0}}@media (prefers-contrast:high){.stack-builder{border:2px solid #000}.panel-header,.stack-builder__toolbar{border-color:#000;border-width:2px}}@media (prefers-reduced-motion:reduce){.stack-builder-header:before{animation:none}.panel-toggle{transition:none}}