.bl-header-controls { display:flex; gap:8px; align-items:center; flex-wrap:wrap; justify-content:flex-end; }
.bl-kpi-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.bl-kpi { min-height:132px; padding:20px; border:1px solid var(--line); border-radius:18px; background:var(--panel); box-shadow:var(--shadow); }
.bl-kpi > span { display:block; color:var(--muted); font-size:12px; font-weight:650; }
.bl-kpi > strong { display:block; margin-top:12px; font-size:30px; letter-spacing:-.04em; }
.bl-kpi > small { display:block; margin-top:8px; color:var(--muted-2); line-height:1.5; }
.bl-kpi.good strong { color:var(--green); }
.bl-kpi.warn strong { color:var(--orange); }
.bl-trend { height:260px; margin-top:12px; }
.bl-trend svg { width:100%; height:100%; overflow:visible; }
.bl-grid { stroke:rgba(255,255,255,.07); stroke-width:1; }
.bl-axis { fill:var(--muted-2); font-size:10px; }
.bl-trend-line { fill:none; stroke:var(--accent); stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; }
.bl-trend-point { fill:var(--bg); stroke:var(--accent); stroke-width:2; }
.bl-empty-chart { height:230px; display:grid; place-items:center; color:var(--muted-2); font-size:12px; text-align:center; }
.bl-dist { display:grid; gap:13px; margin-top:20px; }
.bl-dist-row { display:grid; grid-template-columns:64px 1fr 46px; gap:10px; align-items:center; font-size:12px; }
.bl-dist-row > span { color:var(--muted); }
.bl-dist-row > div { height:9px; background:rgba(255,255,255,.055); border-radius:99px; overflow:hidden; }
.bl-dist-row i { display:block; height:100%; border-radius:99px; background:linear-gradient(90deg,var(--accent),var(--accent-2)); }
.bl-dist-row strong { text-align:right; }
.bl-op-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.bl-opportunity { display:grid; grid-template-columns:42px 1fr; gap:14px; padding:18px; border:1px solid var(--line); border-radius:18px; background:var(--panel); }
.bl-opportunity.high { border-color:rgba(255,127,135,.22); }
.bl-opportunity.medium { border-color:rgba(255,184,113,.2); }
.bl-op-icon { width:42px; height:42px; display:grid; place-items:center; border-radius:13px; background:var(--panel-soft); color:var(--accent); font-weight:800; }
.bl-op-type { color:var(--muted-2); font-size:10px; font-weight:750; text-transform:uppercase; letter-spacing:.1em; }
.bl-opportunity h4 { margin:5px 0 7px; font-size:15px; }
.bl-opportunity p { margin:0; color:var(--muted); font-size:12px; line-height:1.6; }
.bl-badges { display:flex; gap:6px; flex-wrap:wrap; margin-top:11px; }
.bl-badges span { padding:5px 8px; border:1px solid var(--line); border-radius:999px; color:#c8d0d7; font-size:10px; background:rgba(255,255,255,.025); }
.bl-table-tools { padding:14px 16px; display:flex; justify-content:space-between; gap:12px; align-items:center; border-bottom:1px solid var(--line); }
.bl-search { width:min(280px,100%); }
.bl-table { min-width:980px; }
.bl-rank { display:inline-flex; min-width:38px; justify-content:center; padding:5px 8px; border:1px solid var(--line); border-radius:9px; font-size:11px; font-weight:700; }
.bl-rank.good { color:var(--green); border-color:rgba(126,226,173,.2); background:rgba(126,226,173,.05); }
.bl-rank.ok { color:var(--accent); }
.bl-na { color:var(--muted-2); font-size:11px; }
.bl-change { font-size:11px; font-weight:700; }
.bl-change.up { color:var(--green); }
.bl-change.down { color:var(--red); }
.bl-change.new { color:var(--blue); }
.bl-page-pill { display:inline-block; max-width:220px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; padding:5px 8px; border:1px solid var(--line); border-radius:9px; color:#c7cfd6; font-size:10px; }
.bl-status { padding:5px 8px; border-radius:999px; border:1px solid var(--line); font-size:10px; font-weight:700; }
.bl-status.strong { color:var(--green); border-color:rgba(126,226,173,.2); }
.bl-status.needs_work { color:var(--orange); border-color:rgba(255,184,113,.2); }
.bl-status.weak { color:var(--red); border-color:rgba(255,127,135,.2); }
.bl-serp-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.bl-serp-card { padding:16px; border:1px solid var(--line); border-radius:16px; background:var(--panel); transition:.18s ease; }
.bl-serp-card:hover { transform:translateY(-2px); border-color:var(--line-strong); }
.bl-serp-card strong, .bl-serp-card span, .bl-serp-card small { display:block; }
.bl-serp-card strong { font-size:12px; }
.bl-serp-card span { margin-top:7px; color:var(--muted); font-size:11px; }
.bl-serp-card small { margin-top:7px; color:var(--muted-2); font-size:9px; }
.bl-details { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:14px; overflow:hidden; }
.bl-details > div { padding:15px; background:var(--panel-solid); }
.bl-details span, .bl-details strong { display:block; }
.bl-details span { color:var(--muted-2); font-size:10px; text-transform:uppercase; letter-spacing:.08em; }
.bl-details strong { margin-top:7px; font-size:12px; overflow-wrap:anywhere; }
.bl-actions { display:flex; gap:7px; flex-wrap:wrap; }
.bl-json { max-height:420px; overflow:auto; color:#c7d0d8; font-size:10px; white-space:pre-wrap; }
.bl-empty { min-height:140px; display:grid; place-items:center; align-content:center; gap:7px; color:var(--muted); text-align:center; padding:28px; }
.bl-empty strong { color:var(--text); }
.bl-loading { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.bl-loading .skeleton { height:132px; }
@media (max-width:1100px) { .bl-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.bl-serp-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.bl-details{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:760px) { .bl-kpi-grid,.bl-op-grid,.bl-serp-grid,.bl-details,.bl-loading{grid-template-columns:1fr}.bl-header-controls{justify-content:flex-start;width:100%}.bl-header-controls select{width:100%}.bl-table-tools{align-items:stretch;flex-direction:column}.bl-search{width:100%} }
