/* v8 (cycle 6): upload error card, sync status pill, test-coverage panel. Paper / ink / bottle green. */
.uperr{border:1px solid #C9A9A0;border-left:4px solid #9B2C1F;background:#FBF4F1;padding:12px 16px;margin:14px 0;font-size:13px;color:#2A1A16}
.uperr h4{margin:0 0 6px;font:600 15px 'Source Serif 4','Source Serif Pro',Georgia,serif;color:#7A1F14}
.uperr ul{margin:0;padding-left:18px}.uperr li{margin:4px 0}.uperr .fn{font:12px 'IBM Plex Mono',monospace;word-break:break-all}
.uperr .fix{display:block;color:#5b4a44;font-size:12px}.uperr button{margin-top:8px;font:12px 'IBM Plex Mono',monospace;background:#fff;border:1px solid #cfc8b6;padding:4px 10px;cursor:pointer}
.syncpill{display:inline-flex;align-items:center;gap:6px;font:12px 'IBM Plex Mono',monospace;padding:2px 9px;border:1px solid #cfc8b6;background:#fff;color:#111827;white-space:nowrap}
.syncpill:before{content:"";width:8px;height:8px;border-radius:50%;background:#8A8475}
.syncpill.saved:before{background:#1F4D3A}.syncpill.saving:before{background:#B7791F}.syncpill.error:before,.syncpill.offline:before{background:#9B2C1F}.syncpill.stale{border-color:#9B2C1F;color:#7A1F14}.syncpill.stale:before{background:#9B2C1F}
.cov{border:1px solid #d9d3c4;background:#FBF9F4;padding:14px 16px;margin:0 0 16px}
.cov-h{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:baseline}.cov-h b{font:600 17px 'Source Serif 4','Source Serif Pro',Georgia,serif}
.cov-h span{font:12px 'IBM Plex Mono',monospace;color:#5b6472}
.cov-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;margin-top:10px}
.cov-g div{border:1px solid #e1dbcc;background:#fff;padding:6px 8px;font-size:12px;line-height:1.3}
.cov-g div b{font:600 11px 'IBM Plex Mono',monospace;margin-right:4px}.cov-g .t{display:block;color:#5b6472;font-size:11px;margin-top:2px}
.cov-g .exception{border-left:3px solid #9B2C1F}.cov-g .no{border-left:3px solid #1F4D3A}.cov-g .na{border-left:3px solid #B7791F;background:#FFFBF1}
.cov-k{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;margin-top:8px;color:#4A4636}.cov-k i{display:inline-block;width:10px;height:10px;margin-right:4px;vertical-align:-1px}
/* mobile-first touch targets (cycle 6) */
@media (max-width:900px){.rvp-f button,.uperr button{min-height:40px;padding:8px 12px}.cov-g{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.syncpill{font-size:11px}}
@media (max-width:480px){.cov-g{grid-template-columns:1fr 1fr}.cov-h b,.rvp-h b{font-size:16px}.uperr{padding:12px}.rvp-leg{gap:8px}}
.cov-more{display:none;margin-top:8px;width:100%;min-height:44px;font:13px 'IBM Plex Mono',monospace;background:#fff;border:1px solid #cfc8b6;color:#1F4D3A;cursor:pointer}
@media (max-width:600px){.cov:not(.all) .cov-g .no{display:none}.cov-more{display:block}}
.syncpill.auth{border-color:#B7791F;color:#7A4A0B}.syncpill.auth:before{background:#B7791F}
