.tag-scan-dialog {
  width: min(38rem, calc(100% - 1.5rem)); max-height: calc(100dvh - 2rem);
  padding: 0; border: 1px solid var(--panel-border); border-radius: var(--panel-radius, 1rem);
  background: var(--surface-primary, var(--bs-body-bg)); color: var(--text-primary);
  box-shadow: var(--panel-shadow); overflow: auto;
}
.tag-scan-dialog::backdrop { background: rgb(0 0 0 / .55); }
.tag-scan-header { position: sticky; top: 0; z-index: 1; background: inherit; display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1rem; border-bottom: 1px solid var(--panel-border); }
.tag-scan-header h2 { margin: 0; font-size: 1.2rem; }
.tag-scan-header .btn-close { flex: 0 0 auto; margin: -.25rem; padding: .75rem; }
html[data-p2p-theme="light"] .tag-scan-header .btn-close { filter: none; }
@media (prefers-color-scheme: light) {
  html[data-p2p-theme="auto"] .tag-scan-header .btn-close { filter: none; }
}
.tag-scan-body { padding: 1rem; }
.tag-scan-row { padding: 1rem 0; border-bottom: 1px solid var(--panel-border); overflow-wrap: anywhere; }
.tag-scan-row:first-child { padding-top: 0; }
.tag-scan-row h3 { font-size: 1.05rem; margin: .4rem 0; }
.tag-scan-row p { margin: .5rem 0; white-space: pre-wrap; }
.tag-scan-actions { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: .75rem; }
.tag-scan-actions button { min-height: 44px; }
.tag-scan-status { font-weight: 700; }
.tag-scan-status[data-state="Clear"] { color: var(--bs-success-text-emphasis, #15803d); }
.tag-scan-status[data-state="Check"] { color: var(--bs-warning-text-emphasis, #a16207); }
.tag-scan-status[data-state="Uncertain"] { color: var(--bs-danger-text-emphasis, #b91c1c); }
html[data-p2p-theme="dark"] .tag-scan-status[data-state="Clear"] { color: #4ade80; }
html[data-p2p-theme="dark"] .tag-scan-status[data-state="Check"] { color: #facc15; }
html[data-p2p-theme="dark"] .tag-scan-status[data-state="Uncertain"] { color: #fca5a5; }
.tag-scan-editor { margin-top: .75rem; }
.tag-scan-dialog [hidden], .tag-scanner[hidden], .tag-scanner [hidden] { display: none !important; }

.tag-scan-progress-title { margin: 0 0 .75rem; font-weight: 600; }
.tag-scan-progress-detail { margin: .75rem 0 0; color: var(--text-secondary); }
.tag-scan-progress-track {
  height: .75rem; overflow: hidden; border: 1px solid var(--panel-border);
  border-radius: var(--control-pill-radius); background: var(--semantic-info-surface);
}
.tag-scan-progress-indicator {
  display: block; width: 35%; height: 100%; border-radius: inherit;
  background: var(--action-primary); animation: tag-scan-indeterminate 1.4s linear infinite;
}
@keyframes tag-scan-indeterminate {
  from { transform: translateX(-100%); }
  to { transform: translateX(286%); }
}
@media (prefers-reduced-motion: reduce) {
  .tag-scan-progress-indicator { animation: none; margin-inline: auto; }
}
