/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid}}}.mx-auto{margin-inline:auto}.hidden{display:none}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}*{box-sizing:border-box;margin:0;padding:0}body{background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}#app{width:100vw;height:100vh;display:flex;overflow:hidden}.canvas-container{background-color:#f5f5f5;width:60%;height:100vh;position:sticky;top:0}#canvas{width:100%;height:100%;display:block}.config-panel{background-color:#fff;flex-direction:column;width:40%;height:100vh;display:flex;position:relative;overflow-y:auto;box-shadow:-2px 0 10px #0000001a}.config-content{flex:1;padding:2rem 2rem 120px}.dropzone{text-align:center;cursor:pointer;background-color:#f9fafb;border:2px dashed #d1d5db;border-radius:.5rem;padding:2rem;transition:all .2s}.dropzone:hover{background-color:#f3f4f6;border-color:#9ca3af}.dropzone.dragover{background-color:#dbeafe;border-color:#3b82f6}.dropzone-content{pointer-events:none}.preview{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;margin-top:1rem;padding:1rem;position:relative}.preview.hidden{display:none}#previewImg{border-radius:.25rem;max-width:100%;max-height:200px;margin:0 auto;display:block}.remove-btn{color:#fff;cursor:pointer;background-color:#ef4444;border:none;border-radius:.375rem;width:100%;margin-top:.75rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background-color .2s}.remove-btn:hover{background-color:#dc2626}.location-grid{grid-template-columns:1fr;gap:.75rem;display:grid}.location-card{cursor:pointer;text-align:left;background-color:#fff;border:2px solid #e5e7eb;border-radius:.5rem;align-items:center;gap:.75rem;padding:1rem;transition:all .2s;display:flex}.location-card:hover{background-color:#f0f9ff;border-color:#3b82f6}.location-card.active{background-color:#dbeafe;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.location-icon{font-size:1.5rem}.location-name{color:#1f2937;font-weight:500}.color-grid{grid-template-columns:repeat(5,1fr);gap:.75rem;display:grid}.color-swatch{cursor:pointer;background-color:#fff;border:2px solid #0000;border-radius:.5rem;flex-direction:column;align-items:center;gap:.5rem;padding:.75rem;transition:all .2s;display:flex}.color-swatch:hover{background-color:#f9fafb}.color-swatch.active{background-color:#eff6ff;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.swatch-circle{border-radius:50%;width:3rem;height:3rem;box-shadow:0 2px 4px #0000001a}.color-name{color:#4b5563;text-align:center;font-size:.75rem;font-weight:500}.decoration-grid{grid-template-columns:1fr;gap:.75rem;display:grid}.decoration-card{cursor:pointer;background-color:#fff;border:2px solid #e5e7eb;border-radius:.5rem;padding:1rem;transition:all .2s;display:block}.decoration-card:hover{background-color:#f0f9ff;border-color:#3b82f6}.decoration-card.active{background-color:#dbeafe;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.decoration-title{color:#1f2937;margin-bottom:.25rem;font-weight:600}.decoration-desc{color:#6b7280;font-size:.875rem}.sizes-grid{grid-template-columns:1fr;gap:.75rem;display:grid}.size-row{background-color:#f9fafb;border-radius:.5rem;justify-content:space-between;align-items:center;padding:.75rem;display:flex}.size-label{color:#1f2937;min-width:3rem;font-weight:600}.quantity-control{align-items:center;gap:.5rem;display:flex}.qty-btn{color:#fff;cursor:pointer;background-color:#3b82f6;border:none;border-radius:.375rem;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:1.25rem;font-weight:600;transition:background-color .2s;display:flex}.qty-btn:hover{background-color:#2563eb}.qty-btn:active{background-color:#1d4ed8}.qty-input{text-align:center;border:1px solid #d1d5db;border-radius:.375rem;width:4rem;padding:.5rem;font-weight:500}.qty-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.qty-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.qty-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.qty-input[type=number]{-moz-appearance:textfield}.quantity-summary{border-top:2px solid #e5e7eb;margin-top:1.5rem;padding-top:1rem}.total-qty{color:#1f2937;margin-bottom:.5rem;font-size:1.125rem;font-weight:600}.total-qty span{color:#3b82f6}.min-order-warning{color:#f59e0b;align-items:center;gap:.25rem;font-size:.875rem;font-weight:500;display:flex}.min-order-warning.hidden{display:none}.sticky-footer{z-index:10;background-color:#fff;border-top:2px solid #e5e7eb;position:sticky;bottom:0;left:0;right:0;box-shadow:0 -4px 10px #0000001a}.footer-content{justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem 2rem;display:flex}.total-price{color:#1f2937;font-size:1.5rem;font-weight:700}.total-price span{color:#3b82f6}.add-to-quote-btn{color:#fff;cursor:pointer;white-space:nowrap;background-color:#3b82f6;border:none;border-radius:.5rem;padding:.75rem 2rem;font-size:1rem;font-weight:600;transition:background-color .2s}.add-to-quote-btn:hover:not(:disabled){background-color:#2563eb}.add-to-quote-btn:active:not(:disabled){background-color:#1d4ed8}.add-to-quote-btn:disabled{cursor:not-allowed;opacity:.6;background-color:#d1d5db}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}
