.business-feedback { --bf-ink:#253d33; --bf-muted:#617269; --bf-line:#dfe6dc; --bf-green:#155c47; width:100%; min-width:0; color:var(--bf-ink); font-family:inherit; font-size:14px; line-height:1.6; }
.business-feedback *, .business-feedback *::before, .business-feedback *::after { box-sizing:border-box; }
.business-feedback [hidden] { display:none !important; }
.business-feedback :where(h3,p) { margin:0; }
.business-feedback .bf-panel { max-width:680px; margin-top:10px; padding:18px; border:1px solid var(--bf-line); border-radius:12px; background:#fff; }
.business-feedback .bf-heading, .business-feedback .bf-review-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 16px; }
.business-feedback .bf-heading { margin-bottom:12px; }
.business-feedback .bf-heading h3 { font-size:15px; font-weight:600; letter-spacing:-.02em; }
.business-feedback .bf-form { display:grid; gap:12px; margin-top:16px; }
.business-feedback .bf-field { display:grid; gap:6px; margin:0; color:var(--bf-ink); font-size:12px; font-weight:600; }
.business-feedback .bf-field > label { margin:0; }
.business-feedback :where(textarea,select) { width:100%; min-width:0; padding:9px 11px; border:1px solid #c3d2c5; border-radius:8px; background:#fff; color:var(--bf-ink); font-family:inherit; font-size:14px; line-height:1.6; }
.business-feedback textarea { resize:vertical; max-height:240px; }
.business-feedback .bf-help { color:var(--bf-muted); font-size:12px; line-height:1.6; }
.business-feedback .bf-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.business-feedback .bf-button { display:inline-flex; align-items:center; justify-content:center; min-height:38px; max-width:100%; padding:8px 12px; border:1px solid var(--bf-green); border-radius:8px; background:var(--bf-green); color:#fff; font-family:inherit; font-size:12px; font-weight:600; line-height:1.5; cursor:pointer; }
.business-feedback .bf-button:hover:not(:disabled) { background:#104735; border-color:#104735; }
.business-feedback .bf-quiet, .business-feedback .bf-trigger { border-color:transparent; background:transparent; color:var(--bf-green); }
.business-feedback .bf-trigger { min-height:34px; padding:5px 8px; }
.business-feedback .bf-quiet:hover:not(:disabled), .business-feedback .bf-trigger:hover:not(:disabled) { background:#edf4ee; border-color:var(--bf-line); }
.business-feedback :where(button,input,textarea,select):disabled { opacity:.55; cursor:not-allowed; }
.business-feedback :where(button,input,textarea,select):focus-visible { outline:3px solid #2e785d; outline-offset:3px; }
.business-feedback .bf-error { margin:10px 0; padding:10px 12px; border:1px solid #efd5ce; border-radius:8px; color:#9d3536; background:#fbefec; font-size:12px; }
.business-feedback .bf-status { margin:10px 0; color:var(--bf-muted); font-size:12px; }
.business-feedback .bf-reviews { display:grid; gap:12px; margin-top:18px; }
.business-feedback .bf-review { min-width:0; padding-top:14px; border-top:1px solid var(--bf-line); }
.business-feedback .bf-review-heading { justify-content:flex-start; gap:6px 12px; margin-bottom:6px; font-size:12px; }
.business-feedback .bf-tag { color:var(--bf-muted); font-size:11px; }
.business-feedback .bf-copy { margin:6px 0 10px; white-space:pre-wrap; overflow-wrap:anywhere; font-size:13px; line-height:1.65; }
.business-feedback .bf-proposal { margin:10px 0; padding:10px 12px; border-left:2px solid #c3d2c5; background:#f3f6f0; border-radius:0 8px 8px 0; }
.business-feedback .bf-proposal strong { font-size:11px; }
.business-feedback .bf-proposal .bf-copy { margin-bottom:0; }
.business-feedback .bf-preferences { display:grid; gap:0; margin-top:12px; }
.business-feedback .bf-check { display:flex; align-items:flex-start; gap:10px; padding:12px 0; margin:0; border-bottom:1px solid var(--bf-line); cursor:pointer; }
.business-feedback .bf-check input { flex:none; width:18px; height:18px; margin:3px 0 0; padding:0; accent-color:var(--bf-green); }
.business-feedback .bf-check strong { display:block; font-size:13px; font-weight:600; }
.business-feedback .bf-check small { display:block; margin-top:3px; font-size:12px; font-weight:400; color:var(--bf-muted); line-height:1.5; }
.business-feedback .bf-preferences > .bf-button { justify-self:start; margin-top:16px; }
@media(max-width:600px) { .business-feedback .bf-panel { padding:14px; } .business-feedback :where(textarea,select) { font-size:16px; } .business-feedback .bf-button { min-height:44px; } }
@media(forced-colors:active) { .business-feedback .bf-button { border-color:ButtonText; background:ButtonFace; color:ButtonText; } .business-feedback :where(textarea,select), .business-feedback .bf-panel { border-color:CanvasText; } }
