/* Static plugin stylesheet: loaded by digital.css in both Portal and WebHost. */
@scope (:is(.runner-shell, .document-preview)) {
.qr-scan-trigger { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 40px; border: 1px solid var(--digital-border); border-radius: 5px; padding: 0 12px; background: var(--digital-surface); color: var(--digital-text); font: inherit; font-weight: 700; white-space: nowrap; cursor: pointer; }
.qr-scan-trigger:hover:not(:disabled) { background: var(--digital-surface-subtle); }
.qr-scan-trigger:disabled { cursor: default; opacity: .55; }
.qr-scanner-backdrop { position: fixed; z-index: var(--runner-layer-tool, 1800); inset: 0; display: grid; place-items: center; padding: 20px; background: rgb(7 15 28 / 72%); }
.qr-scanner-dialog { width: min(560px, 100%); overflow: hidden; border-radius: 6px; background: var(--digital-surface); color: var(--digital-text); box-shadow: 0 24px 70px rgb(5 14 30 / 30%); }
.qr-scanner-dialog > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 64px; padding: 8px 10px 8px 18px; }
.qr-scanner-dialog > header > div { display: grid; gap: 2px; }
.qr-scanner-dialog > header small { color: var(--digital-text-muted); }
.qr-scanner-viewport { position: relative; display: grid; place-items: center; aspect-ratio: 4/3; overflow: hidden; background: #090f19; }
.qr-scanner-viewport video { width: 100%; height: 100%; object-fit: cover; }
.qr-scanner-guide { position: absolute; width: min(56%,260px); aspect-ratio: 1; border: 2px solid rgb(255 255 255 / 88%); border-radius: 6px; box-shadow: 0 0 0 999px rgb(3 8 16 / 24%); pointer-events: none; }
.qr-scanner-loading { position: absolute; inset: 0; display: grid; place-content: center; justify-items: center; gap: 10px; color: #fff; }
.qr-scanner-error { padding: 14px 18px; background: var(--digital-error-soft); color: var(--digital-text); }
@media (max-width: 600px) { .qr-scanner-backdrop { padding: 0; } .qr-scanner-dialog { width: 100%; height: 100dvh; border-radius: 0; } .qr-scanner-viewport { aspect-ratio: auto; height: calc(100dvh - 64px); } }
@media (max-width: 420px) { .qr-scan-trigger { width: 42px; padding: 0; } .qr-scan-trigger > span { display: none; } }
}

