.configurateur-app{--border:#e2e5f3;--bg:#f0f2fb;--accent:#e83d48;--accent-hover:#c72e39;--accent-soft:#1c2140;--danger:#c72e39;--radius:8px}.configurateur-app,.configurateur-app *{box-sizing:border-box}.configurateur-app .app-layout{flex-wrap:wrap;align-items:flex-start;gap:24px;display:flex}.configurateur-app .preview-column{flex-direction:column;flex:0 640px;gap:12px;display:flex}.configurateur-app .garment-picker{gap:12px;width:100%;max-width:640px;margin:0 auto;display:flex}.configurateur-app .garment-picker-field{color:#6b7196;flex-direction:column;flex:1;gap:4px;font-size:12px;display:flex}.configurateur-app .garment-stage{border:1px solid var(--border);border-radius:var(--radius);user-select:none;background:#fff;width:100%;max-width:640px;margin:0 auto;position:relative;overflow:hidden}.configurateur-app .garment-stage img#garmentImage{pointer-events:none;width:100%;height:auto;display:block}.configurateur-app .stage-hint{text-align:center;color:#8890b5;max-width:640px;margin:0 auto;font-size:12px}.configurateur-app .placements-layer{position:absolute;inset:0}.configurateur-app .placed-logo{cursor:move;touch-action:none;border:1px dashed #0000;position:absolute}.configurateur-app .placed-logo:hover,.configurateur-app .placed-logo.selected{border-color:var(--accent)}.configurateur-app .placed-logo img{object-fit:contain;pointer-events:none;width:100%;height:100%;display:block}.configurateur-app .placed-logo-delete{background:var(--danger);color:#fff;cursor:pointer;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;padding:0;font-size:13px;line-height:1;display:none;position:absolute;top:-10px;right:-10px}.configurateur-app .placed-logo:hover .placed-logo-delete,.configurateur-app .placed-logo.selected .placed-logo-delete{display:flex}.configurateur-app .resize-handle{background:var(--accent);cursor:nwse-resize;border:2px solid #fff;border-radius:3px;width:14px;height:14px;display:none;position:absolute;bottom:-7px;right:-7px}.configurateur-app .placed-logo:hover .resize-handle,.configurateur-app .placed-logo.selected .resize-handle{display:block}.configurateur-app .calib-overlay{cursor:crosshair;position:absolute;inset:0}.configurateur-app .calib-grid{background-image:repeating-linear-gradient(90deg,#e83d4859 0 1px,#0000 1px 10%),repeating-linear-gradient(#e83d4859 0 1px,#0000 1px 10%);position:absolute;inset:0}.configurateur-app .calib-rect{border:2px dashed var(--accent-soft);background:#1c21401f;position:absolute}.configurateur-app .calib-tooltip{color:#fff;pointer-events:none;white-space:nowrap;z-index:5;background:#111;border-radius:4px;padding:3px 6px;font-size:12px;position:absolute;transform:translate(12px,12px)}.configurateur-app .calib-panel{border-radius:var(--radius);background:#fff8e1;border:1px solid #e6d68a;width:100%;max-width:640px;margin:0 auto;padding:12px 16px;font-size:13px;line-height:1.5}.configurateur-app .calib-readout{border:1px solid var(--border);background:#fff;border-radius:4px;margin:8px 0;padding:6px 8px;font-family:Courier New,monospace;font-size:13px}.configurateur-app .calib-panel button{cursor:pointer;margin-right:8px;padding:6px 12px;font-size:13px}.configurateur-app .admin-zone-editor{border-top:1px solid #e6d68a;margin-top:14px;padding-top:14px}.configurateur-app .admin-zone-editor h3{text-transform:uppercase;letter-spacing:.03em;color:#6b5d1f;margin:0 0 10px;font-size:13px}.configurateur-app .admin-select-label{flex-direction:column;gap:4px;margin-bottom:10px;font-size:12px;display:flex}.configurateur-app .admin-select-label select{border:1px solid var(--border);border-radius:4px;padding:6px 8px;font-size:13px}.configurateur-app .admin-fields{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:10px;display:grid}.configurateur-app .admin-fields label{color:#666;flex-direction:column;gap:4px;font-size:11px;display:flex}.configurateur-app .admin-fields input{border:1px solid var(--border);border-radius:4px;width:100%;padding:6px 8px;font-size:13px}.configurateur-app .admin-buttons{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.configurateur-app .admin-buttons button{margin-right:0}.configurateur-app .admin-save-btn{color:#fff;background:#1a7a3a;border-color:#1a7a3a}.configurateur-app .admin-reset-btn{color:var(--danger);border-color:var(--danger);background:#fff}.configurateur-app .admin-status{color:#555;min-height:16px;font-size:12px}.configurateur-app .calib-close-btn{margin-top:4px}.configurateur-app .controls-column{flex-direction:column;flex:700px;gap:20px;max-width:900px;display:flex}.configurateur-app .controls-row{flex-wrap:wrap;align-items:flex-start;gap:20px;display:flex}.configurateur-app .controls-row .control-block{flex:220px;min-width:0}.configurateur-app .controls-row-col{flex-direction:column;flex:220px;gap:20px;min-width:0;display:flex}.configurateur-app .control-block{border:1px solid var(--border);background:#fff;border-radius:12px;padding:18px;box-shadow:0 1px 2px #1c21400a}.configurateur-app .control-block h2{text-transform:uppercase;letter-spacing:.04em;color:var(--accent-soft);margin:0 0 12px;font-size:13px;font-weight:700}.configurateur-app .upload-btn{background:var(--accent);color:#fff;border-radius:var(--radius);cursor:pointer;padding:11px 16px;font-size:14px;font-weight:600;display:inline-block}.configurateur-app .upload-btn:hover{background:var(--accent-hover)}.configurateur-app #logoInput{display:none}.configurateur-app .garment-select{border-radius:var(--radius);border:1px solid var(--border);cursor:pointer;background:#fff;width:100%;padding:10px 12px;font-size:14px}.configurateur-app .garment-select:focus{border-color:var(--accent);outline:none}.configurateur-app .control-hint{color:#6b7196;margin:-4px 0 12px;font-size:12px;line-height:1.4}.configurateur-app .placements-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.configurateur-app .placements-empty{color:#999;font-size:12px}.configurateur-app .placement-item{border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;align-items:center;gap:10px;padding:8px;display:flex}.configurateur-app .placement-item:hover{background:#f7f8fd}.configurateur-app .placement-item.selected{border-color:var(--accent);background:#fdeeef}.configurateur-app .placement-item img{object-fit:contain;border:1px solid var(--border);background:#fdfdfd;border-radius:4px;flex-shrink:0;width:36px;height:36px}.configurateur-app .placement-item span{flex:1;font-size:13px}.configurateur-app .placement-item button{background:var(--danger);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;width:22px;height:22px;font-size:13px;line-height:1}.configurateur-app .zone-buttons{flex-direction:column;gap:8px;display:flex}.configurateur-app .zone-btn{border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;text-align:left;background:#fff;padding:10px 12px;font-size:14px;transition:background .15s,border-color .15s}.configurateur-app .zone-btn:hover{background:#f7f8fd}.configurateur-app .zone-btn.active{background:var(--accent-soft);color:#fff;border-color:var(--accent-soft)}.configurateur-app .zone-btn:disabled{opacity:.5;cursor:not-allowed}.configurateur-app .reset-btn{border:1px solid var(--danger);width:100%;color:var(--danger);border-radius:var(--radius);cursor:pointer;background:#fff;padding:10px 12px;font-size:14px}.configurateur-app .reset-btn:hover{background:#fdeeef}.configurateur-app .admin-block{border-style:dashed}.configurateur-app .calib-toggle-btn{color:#666;border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;background:#fff;width:100%;padding:8px 10px;font-size:12px}.configurateur-app .calib-toggle-btn:hover{background:#f7f8fd}.configurateur-app .quote-form{flex-direction:column;gap:10px;display:flex}.configurateur-app .quote-form label{color:#666;flex-direction:column;gap:4px;font-size:12px;display:flex}.configurateur-app .quote-form input,.configurateur-app .quote-form textarea{border-radius:var(--radius);border:1px solid var(--border);resize:vertical;padding:8px 10px;font-family:inherit;font-size:14px}.configurateur-app .quote-form input:focus,.configurateur-app .quote-form textarea:focus{border-color:var(--accent);outline:none}.configurateur-app .quote-submit-btn{color:#fff;background:var(--accent);border-radius:var(--radius);cursor:pointer;border:none;margin-top:4px;padding:12px 14px;font-size:14px;font-weight:700}.configurateur-app .quote-submit-btn:hover{background:var(--accent-hover)}.configurateur-app .quote-submit-btn:disabled{opacity:.6;cursor:not-allowed}.configurateur-app .quote-status{color:#555;min-height:16px;font-size:12px;line-height:1.4}.configurateur-app .quote-status.error{color:var(--danger)}.configurateur-app .quote-status.success{color:#1a7a3a}
