.calibration-photo-editor{margin:20px 0;padding:16px;border:1px solid var(--border,#28394a);border-radius:12px;min-width:0}
.calibration-photo-editor h3{font-size:15px;margin:0 0 12px}.calibration-photo-editor p{font-size:12px;line-height:1.6;color:var(--muted,#a9bdce)}
.calibration-photo-editor select{font:inherit;font-size:12px;color:var(--text,#edf5ff);background:#101c28;border:1px solid #34485c;border-radius:7px;padding:6px;max-width:100%}
.calibration-crop-canvas{display:block;width:100%;height:auto;max-height:550px;object-fit:contain;touch-action:none;cursor:crosshair;border-radius:8px}
.calibration-crop-tools{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.calibration-crop-tools button{font:inherit;font-size:11px;color:var(--text,#edf5ff);background:#142330;border:1px solid #34485c;border-radius:7px;padding:7px;cursor:pointer}
.calibration-crop-tools label{font-size:11px}.calibration-straightened-photo{display:block;width:100%;height:auto;border:1px solid #34485c;border-radius:5px}
.calibration-crop-confirm{display:flex!important;align-items:flex-start;gap:9px;margin-top:14px;font-size:12px;line-height:1.6}.calibration-crop-confirm input{width:auto!important;margin:3px 0 0}
.calibration-crop-error{color:#ffbfaa!important}.calibration-photo-editor :focus-visible{outline:2px solid #80e6ef;outline-offset:3px}
[data-shape=rectangle] .calibration-prism-stage{height:clamp(210px,24vw,300px)}
@media(max-width:560px){.calibration-photo-editor{padding:10px}[data-shape=rectangle] .calibration-prism-stage{height:210px}}
