.wrap-lab{display:flex;height:calc(100vh - 64px);overflow:hidden}.wrap-lab__viewer{flex:7;min-width:0;position:relative;background:#c8cdd2}.wrap-lab__viewer canvas{width:100%;height:100%;display:block}.wrap-lab__sidebar{flex:3;min-width:280px;max-width:420px;background:#1a1d22;border-left:1px solid #2a2d32;display:flex;flex-direction:column;overflow:hidden;color:white}.wrap-lab__sidebar-header{padding:14px 18px;border-bottom:1px solid #2a2d32}.wrap-lab__sidebar-header h1{font-family:Barlow Condensed,Arial Black,Arial,sans-serif;text-transform:uppercase;font-size:16px;letter-spacing:1px;color:var(--color-volt)}.wrap-lab__sidebar-header p{font-size:11px;color:var(--color-steel);margin-top:3px}.wrap-lab__steps{display:flex;gap:0;padding:0 18px;border-bottom:1px solid #2a2d32}.wrap-lab__step-hit-zone{flex:1;cursor:pointer;padding:10px 0;display:flex;flex-direction:column;align-items:center;gap:3px}.wrap-lab__step-dot{width:100%;height:3px;background:#2a2d32;border-radius:2px;transition:background .3s}.wrap-lab__step-dot--active{background:var(--color-volt)}.wrap-lab__step-dot--done{background:var(--color-ember)}.wrap-lab__step-label{font-size:9px;text-transform:uppercase;color:var(--color-steel);letter-spacing:.5px;transition:color .2s}.wrap-lab__step-hit-zone:hover .wrap-lab__step-label{color:white}.wrap-lab__step-content{flex:1;overflow-y:auto;padding:16px 18px}.wrap-lab__step-content h2{font-family:Barlow Condensed,Arial Black,Arial,sans-serif;text-transform:uppercase;font-size:14px;margin-bottom:4px}.wrap-lab__subtitle{font-size:12px;color:var(--color-steel);margin-bottom:14px}.wrap-lab__section-label{font-size:11px;text-transform:uppercase;color:var(--color-steel);display:block;margin-bottom:6px;margin-top:6px;font-weight:700}.wrap-lab__hint-text{font-weight:400;color:var(--color-steel);opacity:.7}.wrap-lab__helper-text{font-size:11px;color:var(--color-steel);margin-top:6px;margin-bottom:6px}.wrap-lab__color-section{margin-bottom:14px}.wrap-lab__color-section label{font-size:11px;text-transform:uppercase;color:var(--color-steel);display:block;margin-bottom:6px;font-weight:700}.wrap-lab__color-row{display:flex;align-items:center;gap:8px}.wrap-lab__color-swatch{width:30px;height:30px;border-radius:4px;border:2px solid #3a3d42;cursor:pointer;position:relative;overflow:hidden;flex-shrink:0}.wrap-lab__color-swatch input{position:absolute;top:-10px;left:-10px;width:52px;height:52px;cursor:pointer;opacity:0}.wrap-lab__color-hex{font-size:11px;color:var(--color-steel);font-family:monospace}.wrap-lab__preset-colors{display:flex;gap:4px;margin-top:6px;flex-wrap:wrap}.wrap-lab__preset-dot{width:20px;height:20px;border-radius:50%;cursor:pointer;border:2px solid transparent;transition:border-color .2s}.wrap-lab__preset-dot:hover{border-color:white}.wrap-lab__sidebar input[type=text],.wrap-lab__sidebar select{width:100%;background:#22252a;border:1px solid #3a3d42;color:white;padding:9px 12px;border-radius:4px;font-size:13px;outline:none}.wrap-lab__sidebar input[type=text]:focus,.wrap-lab__sidebar select:focus{border-color:var(--color-volt)}.wrap-lab__field-group{margin-bottom:10px}.wrap-lab__field-group label{font-size:11px;text-transform:uppercase;color:var(--color-steel);display:block;margin-bottom:4px;font-weight:700}.wrap-lab__font-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px}.wrap-lab__font-btn{background:#22252a;border:2px solid transparent;border-radius:4px;padding:6px 8px;cursor:pointer;font-size:11px;text-align:center;transition:all .2s;color:var(--color-steel)}.wrap-lab__font-btn:hover{border-color:#3a3d42;color:white}.wrap-lab__font-btn--selected{border-color:var(--color-volt);color:var(--color-volt);background:#1a2a30}.wrap-lab__size-heading-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;margin-top:4px}.wrap-lab__size-dynamic-price{font-family:Barlow Condensed,Arial Black,Arial,sans-serif;font-size:16px;color:var(--color-volt)}.wrap-lab__size-pills{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.wrap-lab__size-pill{padding:5px 10px;border-radius:20px;font-size:10px;font-weight:700;text-transform:uppercase;cursor:pointer;border:1px solid #3a3d42;background:#22252a;color:var(--color-steel);transition:all .2s;white-space:nowrap}.wrap-lab__size-pill:hover{border-color:var(--color-steel);color:white}.wrap-lab__size-pill--active{border-color:var(--color-volt);background:rgba(0,212,255,.1);color:var(--color-volt)}.wrap-lab__logo-chips{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.wrap-lab__logo-chip{display:flex;align-items:center;gap:4px;background:rgba(0,212,255,.1);border:1px solid rgba(0,212,255,.3);border-radius:12px;padding:3px 8px;font-size:10px;color:var(--color-volt)}.wrap-lab__logo-chip button{background:none;border:none;color:var(--color-steel);cursor:pointer;font-size:12px;line-height:1}.wrap-lab__logo-chip button:hover{color:#ff4444}.wrap-lab__selected-logos{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.wrap-lab__logo-control{background:rgba(0,212,255,.06);border:1px solid rgba(0,212,255,.2);border-radius:6px;padding:8px 10px}.wrap-lab__logo-control-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.wrap-lab__logo-control-header span{font-size:11px;color:var(--color-volt);font-weight:700}.wrap-lab__logo-control-header button{background:none;border:none;color:var(--color-steel);font-size:10px;cursor:pointer}.wrap-lab__logo-control-header button:hover{color:#ff4444}.wrap-lab__logo-control-row{display:flex;align-items:center;gap:6px;margin-bottom:4px}.wrap-lab__logo-control-row label{font-size:10px;color:var(--color-steel);min-width:32px}.wrap-lab__logo-control-row input[type=range]{flex:1;accent-color:var(--color-volt)}.wrap-lab__range-value{font-size:10px;color:var(--color-steel);font-family:monospace;min-width:28px}.wrap-lab__mirror-toggle{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--color-steel);cursor:pointer}.wrap-lab__mirror-toggle input{accent-color:var(--color-volt)}.wrap-lab__logo-dropdown-wrapper{position:relative;margin-bottom:8px}.wrap-lab__logo-dropdown-trigger{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#22252a;border:1px solid #3a3d42;border-radius:6px;cursor:pointer;transition:all .2s}.wrap-lab__logo-dropdown-trigger--open,.wrap-lab__logo-dropdown-trigger:hover{border-color:var(--color-volt)}.wrap-lab__logo-dropdown-placeholder{font-size:12px;color:var(--color-steel)}.wrap-lab__logo-dropdown-chevron{font-size:10px;color:var(--color-steel)}.wrap-lab__logo-dropdown-panel{position:absolute;top:100%;left:0;right:0;z-index:20;background:#22252a;border:1px solid #3a3d42;border-top:none;border-radius:0 0 6px 6px;max-height:240px;display:flex;flex-direction:column}.wrap-lab__logo-dropdown-search{width:100%;padding:7px 10px;background:#1a1d22;border:none;border-bottom:1px solid #3a3d42;color:white;font-size:12px;outline:none}.wrap-lab__logo-dropdown-list{overflow-y:auto;max-height:200px}.wrap-lab__logo-dropdown-item{display:flex;align-items:center;gap:8px;padding:7px 10px;font-size:12px;color:white;cursor:pointer;transition:background .15s}.wrap-lab__logo-dropdown-item:hover{background:rgba(0,212,255,.08)}.wrap-lab__logo-dropdown-item--selected{background:rgba(0,212,255,.12);color:var(--color-volt)}.wrap-lab__logo-dropdown-item--active{background:rgba(0,212,255,.1)}.wrap-lab__logo-dropdown-item-icon{font-size:14px;width:20px;text-align:center;flex-shrink:0}.wrap-lab__logo-dropdown-item-thumb{width:24px;height:24px;object-fit:contain;border-radius:3px;flex-shrink:0}.wrap-lab__logo-dropdown-check{margin-left:auto;color:var(--color-volt);font-weight:700}.wrap-lab__logo-dropdown-empty{padding:12px 10px;font-size:11px;color:var(--color-steel);text-align:center}.wrap-lab__logo-dropdown-upload{padding:12px;margin:4px 8px 8px;border:2px dashed #3a3d42;border-radius:6px;text-align:center;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;gap:2px}.wrap-lab__logo-dropdown-upload:hover{border-color:var(--color-volt);background:rgba(0,212,255,.04)}.wrap-lab__bg-upload-toggle{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;font-size:11px;color:var(--color-steel);cursor:pointer;border:1px solid transparent;border-radius:4px;margin-bottom:6px;transition:all .2s}.wrap-lab__bg-upload-toggle:hover{color:white;border-color:#3a3d42}.wrap-lab__bg-upload-toggle--open{color:var(--color-volt);border-color:rgba(0,212,255,.3)}.wrap-lab__bg-upload-zone{border:2px dashed #3a3d42;border-radius:6px;padding:12px;text-align:center;cursor:pointer;transition:all .2s;margin-bottom:8px;display:flex;flex-direction:column;align-items:center;gap:2px}.wrap-lab__bg-upload-zone:hover{border-color:var(--color-volt);background:rgba(0,212,255,.04)}.wrap-lab__dropzone-label{font-size:12px;font-weight:700;color:white}.wrap-lab__dropzone-hint{font-size:10px;color:var(--color-steel)}.wrap-lab__btn-clear{width:100%;background:transparent;border:1px solid #3a3d42;color:var(--color-steel);border-radius:4px;padding:6px;font-size:11px;cursor:pointer;transition:all .2s;margin-top:8px}.wrap-lab__btn-clear:hover{border-color:var(--color-steel);color:white}.wrap-lab__logo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:6px}.wrap-lab__logo-thumb{position:relative;aspect-ratio:1;overflow:hidden;border-radius:6px;border:2px solid transparent;cursor:pointer;transition:all .2s;background:rgba(255,255,255,.05);padding:6px}.wrap-lab__logo-thumb:hover{border-color:#3a3d42}.wrap-lab__logo-thumb--selected{border-color:var(--color-volt);background:rgba(0,212,255,.08)}.wrap-lab__logo-thumb img{width:100%;height:100%;object-fit:contain}.wrap-lab__logo-badge{position:absolute;top:3px;right:3px;width:16px;height:16px;border-radius:50%;background:var(--color-volt);color:var(--color-carbon);font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center}.wrap-lab__review-panel{display:flex;flex-direction:column;gap:10px}.wrap-lab__review-row{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;background:#22252a;border-radius:4px}.wrap-lab__review-row--total{background:#1a2a30;border:1px solid rgba(0,212,255,.2)}.wrap-lab__review-label{font-size:11px;text-transform:uppercase;color:var(--color-steel);font-weight:700}.wrap-lab__review-value{font-size:13px;display:flex;align-items:center;gap:4px}.wrap-lab__review-price{color:var(--color-volt);font-family:Barlow Condensed,Arial Black,Arial,sans-serif;font-size:16px}.wrap-lab__review-swatch{display:inline-block;width:16px;height:16px;border-radius:3px;border:1px solid #3a3d42;flex-shrink:0}.wrap-lab__review-hint{font-size:12px;color:var(--color-steel);margin-top:6px}.wrap-lab__review-actions{display:flex;gap:8px;margin-top:4px}.wrap-lab__nav-buttons{padding:16px 18px 4px;border-top:1px solid #2a2d32;display:flex;gap:8px}.wrap-lab__btn{padding:10px 14px;border:none;border-radius:4px;font-family:Barlow Condensed,Arial Black,Arial,sans-serif;text-transform:uppercase;font-size:12px;cursor:pointer;flex:1;transition:all .2s}.wrap-lab__btn--back{background:#22252a;color:var(--color-steel)}.wrap-lab__btn--back:hover{background:#2a2d32;color:white}.wrap-lab__btn--next{background:var(--color-ember);color:white}.wrap-lab__btn--next:hover{background:#ff7a33}.wrap-lab__btn--secondary{background:#22252a;color:var(--color-steel);border:1px solid #3a3d42}.wrap-lab__btn--secondary:hover{background:#2a2d32;color:white;border-color:var(--color-steel)}.wrap-lab__price-bar{padding:12px 18px;border-top:1px solid #2a2d32;display:flex;justify-content:space-between;align-items:center}.wrap-lab__price-label{font-size:10px;text-transform:uppercase;color:var(--color-steel);letter-spacing:1px}.wrap-lab__price{font-family:Barlow Condensed,Arial Black,Arial,sans-serif;font-size:22px;color:var(--color-volt)}.wrap-lab__loading-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(200,205,210,.9);pointer-events:none;z-index:10}.wrap-lab__loading-overlay p{margin-top:12px;font-size:13px;color:var(--color-steel)}.wrap-lab__spinner{width:32px;height:32px;border:3px solid #ddd;border-top:3px solid var(--color-volt);border-radius:50%;animation:wrap-lab-spin .8s linear infinite}@keyframes wrap-lab-spin{to{transform:rotate(1turn)}}.wrap-lab__empty-state{font-size:12px;color:var(--color-steel);padding:8px 0}@media (max-width:768px){.wrap-lab{flex-direction:column}.wrap-lab__viewer{flex:1;min-height:50vh}.wrap-lab__sidebar{max-width:none;flex:none;height:50vh}}