/* NGM Library — camera scanner dialog and buttons */
.ngmls-cam-btn { display: inline-flex !important; align-items: center; gap: .35em; margin-left: .4em; vertical-align: middle; cursor: pointer; }
.ngmls-cam-btn svg { flex: 0 0 auto; }
textarea + .ngmls-cam-btn { margin: .4em 0 0; }
body.ngmls-scan-open { overflow: hidden; }
.ngmls-scan-modal { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; background: rgba(0, 0, 0, .78); padding: 12px; }
.ngmls-scan-box { background: #fff; color: #1d2327; width: min(520px, 100%); max-height: 100%; overflow: auto; border-radius: 12px; padding: 12px 14px 14px; box-shadow: 0 10px 40px rgba(0, 0, 0, .5); font: 15px/1.45 system-ui, -apple-system, "Segoe UI", sans-serif; }
.ngmls-scan-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.ngmls-scan-head strong { font-size: 1.05em; }
.ngmls-scan-x { background: none; border: 0; font-size: 28px; line-height: 1; padding: 0 6px; cursor: pointer; color: inherit; min-width: 44px; min-height: 44px; }
.ngmls-scan-view { width: 100%; min-height: 220px; background: #111; border-radius: 8px; overflow: hidden; }
.ngmls-scan-view video { width: 100% !important; height: auto !important; display: block; }
.ngmls-scan-status { margin: 10px 0 6px; min-height: 1.5em; }
.ngmls-scan-error { color: #b32d2e; font-weight: 600; }
.ngmls-scan-list { margin: 0 0 8px; padding: 0; list-style: none; max-height: 120px; overflow: auto; font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 14px; }
.ngmls-scan-list li { padding: 3px 8px; border-bottom: 1px solid #e3e3e3; }
.ngmls-scan-list li:first-child { background: #e8f3e8; }
.ngmls-scan-actions { display: flex; gap: 8px; justify-content: flex-end; }
.ngmls-scan-btn { min-height: 44px; padding: 0 18px; border-radius: 6px; border: 1px solid var(--ngmls-brand, #1d4f91); background: #fff; color: var(--ngmls-brand, #1d4f91); font: inherit; font-weight: 600; cursor: pointer; }
.ngmls-scan-btn[aria-pressed="true"] { background: #fff3c4; }
.ngmls-scan-done { background: var(--ngmls-brand, #1d4f91); color: var(--ngmls-brand-ink, #fff); }
.ngmls-scan-btn:focus-visible, .ngmls-scan-x:focus-visible { outline: 3px solid #f0a500; outline-offset: 2px; }
@media (prefers-color-scheme: dark) { .ngmls-scan-box { background: #1e1f22; color: #eee; } .ngmls-scan-list li { border-color: #3a3b3e; } .ngmls-scan-list li:first-child { background: #213a21; } .ngmls-scan-btn { background: #1e1f22; color: #8ab4f8; border-color: #8ab4f8; } .ngmls-scan-done { background: #8ab4f8; color: #111; } }
