/* Quick scan: forms, progress, the 10x10 map. */
.scan-top { padding-top: 7rem; }
.scan-form fieldset { border: 0; border-top: 1px solid #27272a; padding: 1.1rem 0 0.6rem; margin: 0; }
.scan-form legend { font-weight: 600; color: #f4f4f5; margin-bottom: 0.6rem; padding: 0; line-height: 1.5; }
.scan-form label { display: block; padding: 0.35rem 0 0.35rem 1.7rem; text-indent: -1.7rem; color: #d4d4d8; cursor: pointer; }
.scan-form label.dk { color: #a1a1aa; font-size: 0.92rem; }
.scan-form input[type=radio] { width: 1.1rem; margin-right: 0.6rem; accent-color: #fbbf24; }
.scan-form select { display: block; margin: 0.4rem 0 1.2rem; font: inherit; padding: 0.5rem; background: #18181b; color: #e4e4e7; border: 1px solid #3f3f46; max-width: 100%; }
.scan-form button { margin-top: 1.4rem; border: 0; cursor: pointer; font: inherit; }
.scan-progress { height: 4px; background: #27272a; margin: 0.4rem 0 1.4rem; }
.scan-progress span { display: block; height: 4px; background: #fbbf24; }
.p1 { width: 10%; } .p2 { width: 20%; } .p3 { width: 30%; } .p4 { width: 40%; } .p5 { width: 50%; }
.p6 { width: 60%; } .p7 { width: 70%; } .p8 { width: 80%; } .p9 { width: 90%; } .p10 { width: 100%; }
.scan-score { font-size: 1.1rem; }
.scan-score > span { font-weight: 700; margin-right: 0.8rem; }
.scan-map { margin: 1.4rem 0 0.6rem; }
.scan-map .row { display: grid; grid-template-columns: 13rem repeat(10, 1fr); gap: 4px; align-items: center; margin-bottom: 4px; }
.scan-map .cat { font-size: 0.82rem; color: #a1a1aa; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.scan-map .cell { display: block; text-align: center; font-size: 0.75rem; padding: 0.45rem 0; border-radius: 2px; text-decoration: none; color: #0a0a0a; font-weight: 600; }
.cell.lvl-green { background: #22c55e; } .cell.lvl-yellow { background: #eab308; } .cell.lvl-red { background: #ef4444; } .cell.lvl-none { background: #27272a; color: #71717a; }
.scan-legend span, .scan-score span, .ind-related span[class^=lvl-] { font-weight: 700; }
.scan-legend span { margin-right: 1rem; font-size: 0.85rem; }
span.lvl-green { color: #22c55e; } span.lvl-yellow { color: #eab308; } span.lvl-red { color: #ef4444; } span.lvl-none { color: #71717a; }
.ind-related span[class^=lvl-] { display: inline-block; min-width: 2.4rem; }
.scan-link { font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 0.85rem; overflow-wrap: anywhere; color: #fbbf24; }
@media (max-width: 640px) {
	.scan-map .row { grid-template-columns: repeat(10, 1fr); }
	.scan-map .cat { grid-column: 1 / -1; }
	.scan-top { padding-top: 6rem; }
}
.ind-meta a, .ind-level a { color: #fbbf24; text-decoration: none; }
.ind-meta a:hover, .ind-level a:hover { text-decoration: underline; }
pre.scan-link { white-space: pre-wrap; background: #18181b; padding: 0.8rem 1rem; border-left: 3px solid #3f3f46; }
.ind-remedy h3 a { color: #f4f4f5; text-decoration: none; }
.ind-remedy h3 a:hover { color: #fbbf24; }
