/* Sjekk virksomheten: the live progress panel while a scan runs. */
.scan-live { border: 1px solid var(--rule); background: var(--card); padding: 1.2rem 1.3rem 1.4rem; margin-top: 1.2rem; }
.scan-head { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; font-size: 1.05rem; }
.scan-counts { display: flex; flex-wrap: wrap; gap: .4rem 1.4rem; margin: .5rem 0 1rem; font-size: .9rem; color: var(--ink-2); }
.scan-counts b { font: 500 1.35rem var(--serif); color: var(--ink); margin-right: .2rem; }
.scan-steps { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--rule-soft); }
.scan-steps li { display: grid; grid-template-columns: 1.4rem minmax(0, 1fr); column-gap: .3rem; padding: .5rem 0; border-bottom: 1px solid var(--rule-soft); font-size: .92rem; }
.scan-steps li::before { content: ""; width: .6rem; height: .6rem; margin-top: .4rem; border-radius: 50%; border: 1.5px solid var(--rule); grid-row: span 2; }
.scan-steps li[data-state="wait"] { color: var(--ink-3); }
.scan-steps li[data-state="active"]::before { border-color: var(--marker); background: var(--marker); animation: scan-pulse 1.1s ease-in-out infinite; }
.scan-steps li[data-state="done"]::before { content: "✓"; border: 0; width: auto; height: auto; margin-top: 0; color: var(--marker-ink); font-weight: 600; }
.scan-steps .detail { grid-column: 2; font: .74rem/1.5 var(--mono); color: var(--ink-3); overflow-wrap: anywhere; }
.scan-steps .detail:empty { display: none; }
.scan-k { font: 500 .7rem var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3); margin: 1.2rem 0 .5rem; }
.scan-findings { display: flex; flex-wrap: wrap; gap: .4rem; }
.scan-findings .chip { white-space: normal; animation: scan-in .35s ease-out; }
.scan-findings .chip.foreign { border-color: var(--ink-3); }
.scan-findings .chip .muted { font-size: .75rem; }
@keyframes scan-pulse { 50% { opacity: .35; } }
@keyframes scan-in { from { opacity: 0; transform: translateY(4px); } }
@media (prefers-reduced-motion: reduce) { .scan-steps li[data-state="active"]::before, .scan-findings .chip { animation: none; } }
/* PDF download while the server prints it */
a.is-busy { cursor: progress; opacity: .85; pointer-events: none; }
.pdf-spinner { display: inline-block; width: .9em; height: .9em; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: pdf-spin .8s linear infinite; vertical-align: -.1em; }
@keyframes pdf-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .pdf-spinner { animation-duration: 2.4s; } }
