.scan-progress[hidden],.scan-receipt[hidden]{display:none}
.diagnostic-page .scan-progress{grid-column:1/-1;margin-top:18px;padding:20px;border:1px solid #edc4a5;border-radius:14px;background:#fffaf4;color:#39271d}
.scan-progress-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.scan-progress-header strong{font-size:15px;line-height:1.7}
.scan-progress-time{font-variant-numeric:tabular-nums;white-space:nowrap;color:#a33b08;font-size:14px;font-weight:700}
.scan-progress-list{display:grid;gap:0;margin:0;padding:0;list-style:none;counter-reset:diagnosis}
.scan-step{position:relative;display:grid;grid-template-columns:1fr auto;gap:3px 8px;min-height:42px;padding:10px 0 10px 34px;border-top:1px solid #f1e2d6;counter-increment:diagnosis}
.scan-step:before{content:counter(diagnosis);position:absolute;top:12px;left:0;display:grid;place-items:center;width:23px;height:23px;border:1px solid #d7c2b2;border-radius:50%;font-size:12px;font-weight:700;color:#806c5b;background:#fff}
.scan-step strong{font-size:13px;line-height:1.7}
.scan-step-state{font-size:12px;color:#7e6d60;line-height:1.8;white-space:nowrap}
.diagnostic-page .scan-step p{grid-column:1/-1;margin:0;color:#665449;font-size:12px;line-height:1.8}
.scan-step[data-state=running]:before{color:#fff;border-color:#b9470b;background:#b9470b;animation:scan-ring 1.5s ease-out infinite}
.scan-step[data-state=running] .scan-step-state{color:#a13b07;font-weight:700}
.scan-step[data-state=done]:before{content:"✓";border-color:#bd8c64;color:#974111;background:#ffecd9}
.scan-step[data-state=unknown]:before{content:"?";color:#736155;background:#f2e9e1}
.diagnostic-page .scan-progress-note{margin:14px 0 0;color:#726256;font-size:12px;line-height:1.8}
.diagnostic-page .scan-receipt{margin:24px 0 32px;padding:26px;border:1px solid #edd7c6;border-radius:14px;background:#fffaf5}
.diagnostic-page .scan-receipt h3{margin:0;font-size:20px;line-height:1.7}
.diagnostic-page .scan-receipt-metrics{margin:6px 0 18px;font-size:15px;font-weight:700;color:#a13b07;font-variant-numeric:tabular-nums}
.scan-receipt-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0;padding:0;list-style:none;counter-reset:receipt}
.scan-receipt-grid li{counter-increment:receipt;padding:16px;border:1px solid #eddccc;border-radius:10px;background:#fff}
.scan-receipt-grid li:before{content:"0" counter(receipt);display:block;margin-bottom:6px;color:#b9470b;font-size:12px;font-weight:700}
.scan-receipt-grid strong{font-size:14px;line-height:1.7}
.scan-receipt-state{display:block;color:#766254;font-size:12px;line-height:1.8}
.diagnostic-page .scan-receipt-grid p{margin:7px 0 0;font-size:13px;line-height:1.9;color:#615247}
@keyframes scan-ring{0%{box-shadow:0 0 0 0 #dc6c3250}100%{box-shadow:0 0 0 8px #dc6c3200}}
@media(max-width:600px){.diagnostic-page .scan-progress{padding:15px}.scan-progress-header strong{font-size:14px}.scan-step{padding-left:30px}.diagnostic-page .scan-receipt{padding:18px}.scan-receipt-grid{grid-template-columns:1fr;gap:10px}.diagnostic-page .scan-receipt h3{font-size:18px}}
@media(prefers-reduced-motion:reduce){.scan-step[data-state=running]:before{animation:none}}
