.filter-panel{border:1px solid var(--border-light,#f3f4f6);background:#fff;border-radius:.5rem;overflow:hidden;box-shadow:0 1px 3px #0000000d}.filter-header{background:var(--surface,#f9fafb);border-bottom:1px solid var(--border,#e5e7eb);justify-content:space-between;align-items:center;padding:1.25rem;display:flex}.filter-title{color:var(--foreground,#1a1a1a);align-items:center;gap:.5rem;margin:0;font-size:1.25rem;font-weight:600;display:flex}.active-count{background:var(--via-red,#e30613);color:#fff;border-radius:12px;justify-content:center;align-items:center;min-width:24px;height:24px;padding:0 .5rem;font-size:.875rem;font-weight:700;display:inline-flex}.filter-toggle{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:.375rem;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:.5rem;transition:all .2s;display:flex}.filter-toggle:hover{color:var(--via-red,#e30613)}.filter-toggle:focus-visible{outline:2px solid var(--via-red,#e30613);outline-offset:2px}.filter-toggle svg{transition:transform .3s;display:block}.filter-toggle svg.expanded{transform:rotate(180deg)}.filter-content{flex-direction:column;gap:1.5rem;padding:1.5rem;display:flex}.filter-results{border-left:3px solid var(--via-red,#e30613);background:#e306130d;border-radius:4px;padding:.75rem;font-size:.875rem}.filter-results p{margin:0}.filter-results strong{color:var(--via-red,#e30613);font-weight:700}.filter-section{flex-direction:column;gap:.75rem;display:flex}.filter-section-title{color:var(--foreground,#1a1a1a);align-items:center;gap:.5rem;margin:0;font-size:1rem;font-weight:600;display:flex}.filter-section-title.clickable{border-radius:.375rem;margin:-.5rem;padding:.5rem;transition:background-color .2s}.filter-section-title.clickable:hover{background-color:var(--surface,#f9fafb)}.filter-section-title.clickable:focus-visible{outline:2px solid var(--via-red,#e30613);outline-offset:2px}.section-count{color:var(--via-red,#e30613);font-size:.875rem;font-weight:700}.filter-buttons{flex-wrap:wrap;gap:.5rem;display:flex}.filter-button{background:var(--surface,#f9fafb);border:1px solid var(--border,#e5e7eb);color:#374151;cursor:pointer;border-radius:.375rem;align-items:center;gap:.5rem;min-height:44px;padding:.625rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s;display:flex}.filter-button:hover{border-color:var(--via-red,#e30613);background:#fff;transform:translateY(-1px)}.filter-button:focus-visible{outline:2px solid var(--via-red,#e30613);outline-offset:2px}.filter-button.active{background:var(--via-red,#e30613);border-color:var(--via-red,#e30613);color:#fff;font-weight:600}.filter-button.active:hover{background:var(--via-red-light,#ff1f2e);border-color:var(--via-red-light,#ff1f2e)}.filter-icon{font-size:1.125rem}.color-swatches{gap:.75rem}.filter-button.color-swatch{justify-content:flex-start;min-width:90px;padding:.5rem .75rem}.color-circle{border:2px solid #ffffff4d;border-radius:50%;width:20px;height:20px;display:block;box-shadow:0 2px 4px #0003}.filter-button.color-swatch.active .color-circle{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--via-red,#e30613);border-color:#000}.color-label{font-size:.875rem}.filter-checkbox-group,.filter-radio-group{flex-direction:column;gap:.75rem;display:flex}.filter-checkbox,.filter-radio{background:var(--surface,#f9fafb);border:1px solid var(--border,#e5e7eb);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:.375rem;align-items:center;gap:.75rem;min-height:44px;padding:.625rem .75rem;transition:all .2s;display:flex}.filter-checkbox:hover,.filter-radio:hover{border-color:var(--via-red,#e30613);background:#fff}:is(.filter-checkbox:has(input:focus-visible),.filter-radio:has(input:focus-visible)){outline:2px solid var(--via-red,#e30613);outline-offset:2px}.filter-checkbox input[type=checkbox],.filter-radio input[type=radio]{cursor:pointer;width:20px;height:20px;accent-color:var(--via-red,#e30613);flex-shrink:0}.filter-checkbox input[type=checkbox]:focus,.filter-radio input[type=radio]:focus{outline:none}.filter-checkbox input[type=checkbox]:checked~span,.filter-radio input[type=radio]:checked~span{color:var(--via-red,#e30613);font-weight:600}.filter-checkbox span,.filter-radio span{color:#374151;font-size:.875rem;transition:all .2s}.clear-filters-button{border:1px solid var(--border,#e5e7eb);color:#6b7280;cursor:pointer;background:#fff;border-radius:.5rem;width:100%;min-height:44px;margin-top:1.5rem;padding:.75rem;font-size:.875rem;font-weight:600;transition:all .2s}.clear-filters-button:hover{border-color:var(--via-red,#e30613);color:var(--via-red,#e30613);background:#fef2f2}.clear-filters-button:focus-visible{outline:2px solid var(--via-red,#e30613);outline-offset:2px}.no-results{text-align:center;background:#e306130d;border:1px solid #e3061333;border-radius:8px;padding:1.5rem}.no-results p{color:#dc2626;margin:0 0 1rem}.text-button{color:var(--via-red,#e30613);cursor:pointer;background:0 0;border:none;min-height:44px;padding:.5rem;font-weight:600;text-decoration:underline}.text-button:hover{color:var(--via-red-light,#ff1f2e)}.text-button:focus-visible{outline:2px solid var(--via-red,#e30613);outline-offset:2px}.space-y-4>*+*{margin-top:1rem}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.font-medium{font-weight:500}.text-right{text-align:right}.text-gray-500{color:#6b7280}.relative{position:relative}.absolute{position:absolute}.pt-2{padding-top:.5rem}.pb-4{padding-bottom:1rem}.top-2{top:.5rem}.left-0{left:0}.right-0{right:0}.h-2{height:.5rem}.bg-gray-200{background-color:#e5e7eb}.rounded-lg{border-radius:.5rem}.top-0{top:0}.w-full{width:100%}@media (max-width:768px){.filter-panel{padding:1rem}.filter-title{font-size:1.125rem}.filter-buttons{gap:.375rem}.filter-button{padding:.5rem .75rem;font-size:.8125rem}.color-swatches{gap:.5rem}.filter-button.color-swatch{min-width:80px;padding:.5rem .625rem}.color-circle{width:18px;height:18px}}@media (prefers-reduced-motion:reduce){.filter-button,.filter-checkbox,.filter-radio,.filter-toggle svg,.filter-section-title.clickable{transition:none}}
.camera-container{background:#000;border-radius:12px;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.camera-video{object-fit:cover;width:100%;height:100%}.camera-status{text-align:center;color:#fff;max-width:400px;padding:2rem}.camera-status h3{margin:1rem 0 .5rem;font-size:1.5rem;font-weight:600}.camera-status p{opacity:.9;margin:.5rem 0}.camera-status small{opacity:.7;margin-top:.5rem;font-size:.875rem;display:block}.camera-status svg{opacity:.8}.camera-status.error svg{color:#f44}.spinner{border:4px solid #ffffff1a;border-top-color:#ffb800;border-radius:50%;width:64px;height:64px;margin:0 auto 1rem;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.retry-button{color:#000;cursor:pointer;background:#ffb800;border:none;border-radius:8px;margin-top:1.5rem;padding:.75rem 2rem;font-weight:600;transition:all .2s}.retry-button:hover{background:#ffc933;transform:translateY(-2px)}.retry-button:active{transform:translateY(0)}.help-details{text-align:left;background:#ffffff0d;border-radius:8px;margin-top:1.5rem;padding:1rem}.help-details summary{cursor:pointer;color:#ffb800;-webkit-user-select:none;user-select:none;font-weight:600}.help-details summary:hover{color:#ffc933}.help-details ul{margin:1rem 0 0;padding-left:1.5rem;line-height:1.6}.help-details li{margin:.5rem 0}.help-details strong{color:#ffb800}.camera-controls{background:linear-gradient(#0000,#000000b3);justify-content:center;align-items:center;gap:1rem;padding:1.5rem;display:flex;position:absolute;bottom:0;left:0;right:0}.control-button{cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:2px solid #ffffff4d;border-radius:50%;justify-content:center;align-items:center;padding:.75rem;transition:all .2s;display:flex}.control-button:hover{background:#ffffff4d;border-color:#ffffff80;transform:scale(1.1)}.control-button:active{transform:scale(.95)}.control-button svg{color:#fff;display:block}.control-button.capture-photo{background:#ffb800e6;border-color:#ffb800;width:64px;height:64px}.control-button.capture-photo:hover{background:#ffb800}.control-button.switch-camera{width:48px;height:48px}.vto-overlay-placeholder{pointer-events:none;position:absolute;inset:0}@media (max-width:768px){.camera-controls{padding:1rem}.control-button.capture-photo{width:56px;height:56px}.control-button.switch-camera{width:44px;height:44px}.camera-status{padding:1.5rem}.camera-status h3{font-size:1.25rem}}
