.qa-photo-editor-overlay{position:fixed;inset:0;z-index:3000;display:none;align-items:center;justify-content:center;background:rgba(15,23,42,.68);padding:18px}
.qa-photo-editor-overlay.show{display:flex}
.qa-photo-editor-modal{width:min(760px,100%);background:#fff;border-radius:22px;box-shadow:0 30px 90px rgba(0,0,0,.34);overflow:hidden}
.qa-photo-editor-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;border-bottom:1px solid #e5e7eb}
.qa-photo-editor-head h3{font-size:1.15rem;font-weight:850;margin:0}
.qa-photo-editor-close{border:0;background:#f1f5f9;color:#0f172a;border-radius:999px;width:34px;height:34px;font-weight:850}
.qa-photo-editor-body{display:grid;grid-template-columns:minmax(280px,360px) 1fr;gap:24px;padding:22px}
.qa-photo-frame{position:relative;width:min(360px,100%);aspect-ratio:1;margin:auto;overflow:hidden;border-radius:24px;background:#111827;box-shadow:inset 0 0 0 2px rgba(255,255,255,.16);touch-action:none;cursor:grab}
.qa-photo-frame:active{cursor:grabbing}
.qa-photo-frame img{position:absolute;left:50%;top:50%;max-width:none;max-height:none;user-select:none;pointer-events:none;transform-origin:center center;will-change:transform,filter}
.qa-photo-frame:after{content:"";position:absolute;inset:0;border:2px solid rgba(255,255,255,.85);border-radius:24px;box-shadow:inset 0 0 0 999px rgba(0,0,0,.04);pointer-events:none}
.qa-photo-controls{display:grid;gap:16px;align-content:start}
.qa-photo-control label{display:flex;justify-content:space-between;gap:12px;font-weight:750;color:#344054;margin-bottom:8px}
.qa-photo-control span{font-weight:800;color:#176b5b}
.qa-photo-control input[type=range]{width:100%;accent-color:#0f766e}
.qa-photo-rotate-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.qa-photo-rotate-buttons .btn{border-radius:10px;font-weight:700}
.qa-photo-help{background:#f8fafc;border:1px solid #e5e7eb;border-radius:16px;padding:12px;color:#64748b;font-size:.92rem}
.qa-photo-actions{display:flex;justify-content:flex-end;gap:10px;padding:0 22px 22px}
.qa-photo-preview-note{font-size:.84rem;color:#667085;margin-top:8px;text-align:center}
@media(max-width:760px){.qa-photo-editor-body{grid-template-columns:1fr}.qa-photo-editor-modal{max-height:92vh;overflow:auto}.qa-photo-actions{position:sticky;bottom:0;background:#fff;padding-top:12px;border-top:1px solid #e5e7eb}}
