/* The checkup ("Live assessment" in the API), riding the shell's tokens; .as-mounted = inside the App page */
.as-view .as-proj{color:var(--accent)}
.as-select{background:var(--raised);color:var(--t1);border:1px solid var(--line-2);border-radius:var(--r-md);padding:7px 10px;font:inherit;font-size:12.5px;max-width:240px}
.as-card{margin-bottom:16px}
.as-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:16px}
.as-side .as-card{margin-bottom:16px}
.as-empty{padding:18px 16px;color:var(--t3);font-size:12.5px;line-height:1.5}
.as-map svg{width:100%;height:auto;display:block}
.as-edge{fill:none;stroke:var(--line-strong);stroke-width:1.2}
.as-node circle{fill:var(--raised);stroke:var(--accent);stroke-width:2}
.as-node.st-found circle{stroke:var(--danger);fill:var(--danger-dim)}
.as-node text{font-family:var(--mono);font-size:11px;fill:var(--t2)}
.as-node.st-found text{fill:var(--t1)}
.as-legend{display:flex;gap:14px;padding:8px 16px 14px;font-size:11px;color:var(--t3)}
.as-lg{display:inline-flex;align-items:center;gap:6px}
.as-lg i{width:8px;height:8px;border-radius:50%;border:2px solid var(--accent);display:inline-block}
.as-lg.st-found i{border-color:var(--danger);background:var(--danger-dim)}
.as-feed{display:flex;flex-direction:column;max-height:360px;overflow:auto}
.as-feed-row{display:flex;gap:12px;padding:8px 16px;border-top:1px solid var(--line);font-size:12.5px;color:var(--t2)}
.as-feed-row.tag-capped,.as-feed-row.tag-error{color:var(--warn)}
.as-time{font-family:var(--mono);font-size:10.5px;color:var(--t3);white-space:nowrap;padding-top:2px}
.as-results{display:flex;flex-direction:column}
.as-res{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;padding:10px 16px;border-top:1px solid var(--line);align-items:center}
.as-res-title{font-size:12.5px;color:var(--t1)}
.as-res-host{grid-column:2;font-family:var(--mono);font-size:10.5px;color:var(--t3)}
.as-sev{text-transform:capitalize}
/* severity is not hostile traffic: no red. high = text colour, medium = muted, low = hairline */
.as-sev-high{color:var(--t1);background:var(--elev);border-color:var(--line-strong)}
.as-sev-med{color:var(--t2);background:var(--elev);border-color:var(--line-2)}
.as-sev-low{color:var(--t3);background:var(--elev);border-color:var(--line-2)}
#view-assessment .sd.high{background:var(--t1)} #view-assessment .sd.med{background:var(--t3)} #view-assessment .sd.low{background:var(--line-strong)}
.as-foot{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--line)}
.as-checks{display:flex;flex-direction:column;max-height:300px;overflow:auto}
.as-check{display:grid;grid-template-columns:auto auto 1fr;gap:8px;align-items:center;padding:7px 16px;border-top:1px solid var(--line);font-size:11.5px;color:var(--t2)}
.as-check-name{font-family:var(--mono);font-size:10.5px;color:var(--t1)}
.as-check-what{color:var(--t3)}
@media (max-width:980px){.as-grid{grid-template-columns:1fr}}
@media (max-width:560px){.as-select{max-width:100%;width:100%}.as-res{grid-template-columns:1fr}.as-res-host{grid-column:1}.as-check{grid-template-columns:auto 1fr}.as-check-what{grid-column:1 / -1}}

/* inside the App page (under "Checkup details"): one line, progress, map + log, what it found */
.as-line{margin-bottom:12px}
.as-mounted .as-card{margin-bottom:14px}
.as-mounted .prog-top .pl{color:var(--t1)}
.as-checklist{padding:0}
.as-checklist>summary{cursor:pointer;list-style:none;padding:14px 16px;margin:0;user-select:none}
.as-checklist>summary::-webkit-details-marker{display:none}
.as-checklist .as-checks{border-top:1px solid var(--line)}
.as-feed,.as-results{margin:0 -16px -16px}
.as-mounted .as-grid{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}
@media (max-width:980px){.as-mounted .as-grid{grid-template-columns:1fr}}
@media (max-width:720px){#view-assessment .act-btn,#view-assessment .as-checklist>summary{min-height:44px}}
