.app{font-family:system-ui,sans-serif;padding:2rem;max-width:720px}.app-header{display:flex;justify-content:space-between;align-items:baseline}.app-header h1{margin:0}.error{color:#dc143c}.code-block{background:#f5f5f5;padding:.75rem}.controls{display:flex;gap:.75rem;align-items:center;margin-bottom:1rem}.controls input[type=number]{width:4rem}.cost-table{width:100%;border-collapse:collapse}.cost-table th,.cost-table td{padding:.35rem .5rem;border-bottom:1px solid #eee}.cost-table th:last-child,.cost-table td:last-child{text-align:right}.report-summary{font-size:1.05rem;line-height:1.5;padding:.75rem 1rem;background:#f8f9fa;border-left:3px solid #0969da;margin:1rem 0}.report-meta{color:#666;font-size:.85rem;margin:.5rem 0 1rem}.findings{list-style:none;padding:0;margin:0}.finding{border:1px solid #e1e4e8;border-radius:6px;padding:.85rem 1rem;margin-bottom:.75rem;background:#fff}.finding-high{border-left:4px solid #cf222e}.finding-medium{border-left:4px solid #bf8700}.finding-low{border-left:4px solid #57606a}.finding-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.4rem}.finding-meta{color:#57606a;font-size:.85rem;display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:.5rem}.finding p{margin:.35rem 0;line-height:1.45}.finding-affected{color:#57606a;font-size:.85rem}.pill{font-size:.75rem;font-weight:600;text-transform:uppercase;padding:.15rem .55rem;border-radius:999px;letter-spacing:.03em}.pill-high{background:#ffebe9;color:#cf222e}.pill-medium{background:#fff8c5;color:#9a6700}.pill-low{background:#f6f8fa;color:#57606a}.link-btn{background:none;border:none;color:#0969da;cursor:pointer;padding:0;font:inherit;text-decoration:underline}.row-selected{background:#f6f8fa}.report-detail{margin-top:1.5rem;padding:1rem;border:1px solid #d0d7de;border-radius:6px;background:#fafbfc}.report-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.report-detail-header h3{margin:0}.finding-latest-action{font-size:.85rem;color:#57606a;font-style:italic}.action-row{display:flex;gap:.5rem;align-items:center;margin-top:.5rem;flex-wrap:wrap}.action-row .action-note{flex:1 1 200px;min-width:150px;padding:.25rem .4rem}
