/* ScanView — Precision loupe (docs/plan-lupa-vectorizacion.md) */
.acn-loupe {
    position: fixed; right: 12px; bottom: 12px; z-index: 60;
    background: #15191c; border: 1px solid #3b4247; border-radius: 4px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.55); overflow: hidden; user-select: none;
}
.acn-loupe canvas { display: block; }
.acn-loupe.acn-loupe-snapped { border-color: #00C853; }
.acn-loupe-cross { position: absolute; left: 50%; top: 50%; width: 21px; height: 21px; transform: translate(-50%, -50%); pointer-events: none; }
.acn-loupe-cross::before, .acn-loupe-cross::after { content: ''; position: absolute; background: rgba(255, 255, 255, 0.75); }
.acn-loupe-cross::before { left: 10px; top: 0; width: 1px; height: 21px; }
.acn-loupe-cross::after { top: 10px; left: 0; height: 1px; width: 21px; }
.acn-loupe-cand {
    position: absolute; width: 12px; height: 12px; transform: translate(-50%, -50%);
    border: 2px solid #00E676; border-radius: 50%; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.6);
    pointer-events: none; display: none;
}
.acn-loupe-bar {
    position: absolute; left: 0; right: 0; top: 0; display: flex; justify-content: space-between; gap: 6px;
    padding: 3px 6px 3px 16px; background: rgba(0, 0, 0, 0.6); color: #e3e6e8; font-size: 11px; pointer-events: none;
    white-space: nowrap;
}
.acn-loupe-mode { overflow: hidden; text-overflow: ellipsis; }
.acn-loupe-snap { color: #9AA1A4; }
.acn-loupe-snapped .acn-loupe-snap { color: #69F0AE; }
.acn-loupe-snap.warn { color: #FFC107; }
.acn-loupe-scale { position: absolute; left: 8px; bottom: 6px; color: #fff; font-size: 10px; pointer-events: none; text-shadow: 0 0 2px #000; }
.acn-loupe-scale-line { height: 4px; border: 1px solid #fff; border-top: none; margin-bottom: 1px; box-shadow: 0 1px 1px rgba(0, 0, 0, 0.6); }
.acn-loupe-resize {
    position: absolute; left: 0; top: 0; width: 12px; height: 18px; cursor: nwse-resize; z-index: 1;
    background: linear-gradient(135deg, #9AA1A4 0 2px, transparent 2px 4px, #9AA1A4 4px 5px, transparent 5px);
    opacity: 0.8;
}
.acn-draw-row.acn-loupe-row label { display: flex; align-items: center; gap: 6px; cursor: pointer; }
