.target-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px}.target-toolbar>label{font-size:12px;color:var(--muted)}.target-composer{display:flex;align-items:center;gap:7px}.target-search-wrap{position:relative}.target-search-wrap input{width:250px;border:1px solid var(--line);border-radius:4px;background:#fff;padding:8px 10px;font-size:12px;color:var(--ink)}.add-target{border:1px solid var(--line);background:var(--green);color:#fff;border-radius:4px;font-size:22px;line-height:28px;width:34px;height:34px}.add-target:disabled{opacity:.35;cursor:default}#targetCount{font-size:11px;color:var(--muted);white-space:nowrap}.target-results{position:absolute;left:0;top:38px;width:350px;max-width:calc(100vw - 50px);max-height:300px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:5px;box-shadow:0 8px 24px #10261b20;z-index:30}.target-results[hidden]{display:none}.target-option{display:flex;align-items:center;gap:10px;padding:10px;font-size:12px;cursor:pointer}.target-option:hover,.target-option[aria-selected=true]{background:#edf4ef}.target-option img{width:27px;height:21px;object-fit:contain}.target-option small{color:var(--muted);display:block;margin-top:2px;font-size:10px}.target-watchlist{display:flex;gap:6px;flex-wrap:wrap}.watch-chip{display:inline-flex;align-items:center;background:#fff;border:1px solid #becfc5;border-radius:4px;max-width:260px}.watch-chip button{border:0;background:none;font-size:11px;padding:7px;color:var(--ink)}.watch-chip .watch-jump{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.watch-chip .watch-remove{padding-left:3px;color:var(--muted);font-size:15px}.target-status{font-size:11px;color:var(--muted);line-height:1.5}.target-status:not(:empty){flex-basis:100%}/* Filters wrap in normal flow; PDF keeps its own space at the right. */
.analysis-bar{position:sticky;top:0;z-index:12;background:var(--paper);margin:0;padding:12px 36px;border-top:0;border-bottom:1px solid #dce3dd;gap:12px 20px;flex-wrap:wrap;align-items:flex-start}
.qualifier-controls{display:flex;gap:12px 18px;align-items:center;flex:1 1 820px;min-width:0;flex-wrap:wrap;padding:0}
.qualifier-controls label{flex-shrink:0;max-width:100%;white-space:nowrap}
.analysis-bar select{max-width:220px;min-width:0;appearance:none;-webkit-appearance:none;padding:7px 40px 7px 11px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23192626' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:12px 8px}
.brand-filter>.quiet{padding-right:18px}
.analysis-bar option:disabled{color:#9da5a1}
.analysis-bar .view-hint{flex-basis:100%;order:2}
.analysis-bar .view-hint:empty,.export-status:empty{display:none}
.export-pdf{position:static;margin-left:auto;flex:0 0 auto;align-self:flex-start;border:1px solid var(--green);border-radius:4px;background:var(--green);color:#fff;padding:8px 12px;font-size:12px;white-space:nowrap}
.export-pdf:disabled{opacity:.55;cursor:default}
.export-status{font-size:11px;color:var(--muted);order:3;flex-basis:100%}
.range-row .row-bg{fill:#f0f3ef}.range-row.targeted .row-bg,.range-row.targeted:hover .row-bg,.range-row.targeted.selected .row-bg,.range-row.targeted:focus .row-bg{fill:#fff}.range-row.targeted .model{font-weight:700}.node.targeted .stem,.node.targeted:hover .stem,.node.targeted.selected .stem,.node.targeted:focus .stem{stroke:#d73333;stroke-width:2.2;opacity:1}.node.targeted .card{fill:#fff}.node.targeted:not(.range-row) .model,.node.targeted:not(.range-row) .price{fill:#d73333}.target-badge{font-size:8px;fill:#b52f2f;letter-spacing:.6px;font-weight:600}
@media(max-width:700px){.analysis-bar{padding:10px 18px}.qualifier-controls{gap:12px}.analysis-bar label{flex-wrap:nowrap}.analysis-bar select{max-width:200px}.export-pdf{padding:8px 10px}.target-search-wrap input{width:215px}.target-toolbar{gap:8px}.range-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.range-control label{flex-wrap:wrap}}
