:root{
  --bb-green:#7fa409;
  --bb-olive:#2a3a22;
  --bb-ink:#1b1f22;
  --bb-muted:#6b7280;
  --bb-border:#e5e7eb;
  --bb-bg:#ffffff;
}

.bsq-branded{
  background:linear-gradient(180deg, rgba(42,58,34,.06), transparent 35%);
  padding-top:10px;
}

.bsq *{ box-sizing:border-box; font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, 'Helvetica Neue', Arial, 'Noto Sans', 'Liberation Sans', sans-serif; }

.bsq-form{ max-width:920px; margin:24px auto; padding:24px; border:1px solid var(--bb-border); border-radius:16px; background:var(--bb-bg); box-shadow:0 8px 24px rgba(0,0,0,.04); }
.bsq-title{ margin:0 0 4px; font-size:2rem; color:var(--bb-olive); font-weight:800; letter-spacing:.2px; }
.bsq-sub{ margin:0 0 16px; color:var(--bb-muted); }

.bsq-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(220px,1fr)); gap:14px; }
.bsq-row{ display:flex; flex-direction:column; gap:6px; }
.bsq-row label{ font-weight:600; color:var(--bb-ink); }
.bsq-row input, .bsq-row select{
  padding:12px 12px; border:1px solid var(--bb-border); border-radius:12px; font:inherit; color:var(--bb-ink); background:#fff;
}
.bsq-row input:focus, .bsq-row select:focus{ outline:2px solid rgba(127,164,9,.25); border-color:var(--bb-green); }

.bsq-help{ color:var(--bb-muted); font-size:.85rem; }
.bsq-req{ color:#ef4444; }

.bsq-actions{ margin-top:16px; display:flex; gap:10px; }
.bsq-btn{ display:inline-block; border-radius:12px; padding:12px 16px; font-weight:700; text-decoration:none; cursor:pointer; }
.bsq-btn-primary{ background:var(--bb-green); color:#fff; border:1px solid transparent; }
.bsq-btn-primary:hover{ filter:brightness(0.95); }
.bsq-btn-ghost{ background:#fff; color:var(--bb-olive); border:1px solid var(--bb-border); }
.bsq-btn-ghost:hover{ border-color:var(--bb-green); color:var(--bb-green); }

.bsq-results{ margin-top:22px; }
.bsq-empty{ padding:14px; border:1px dashed var(--bb-border); border-radius:12px; color:var(--bb-muted); background:#fafafa; }

.bsq-results-grid{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:14px;
}
.bsq-card{
  border:1px solid var(--bb-border); border-radius:14px; padding:16px; background:#fff; display:flex; flex-direction:column; gap:12px;
  box-shadow:0 6px 16px rgba(0,0,0,.04);
}
.bsq-card-hd{ font-weight:800; color:var(--bb-ink); font-size:1.125rem; }
.bsq-card-ctas{ display:flex; gap:10px; flex-wrap:wrap; }