.dwf-bbb {
  --bbb-bg: var(--dwf-labs-surface, #f4fbfd);
  --bbb-card: var(--dwf-labs-card, #ffffff);
  --bbb-ink: var(--dwf-labs-text, #12313b);
  --bbb-muted: var(--dwf-labs-muted, #55717a);
  --bbb-line: var(--dwf-labs-border, #c9dde3);
  --bbb-accent: var(--dwf-labs-accent, #047d9b);
  --bbb-accent-strong: var(--dwf-labs-accent-strong, #035e78);
  --bbb-radius: 16px;
  --dwf-bbb-sticky-top: 8px;
  color: var(--bbb-ink);
  background: var(--bbb-bg);
  border: 1px solid var(--bbb-line);
  border-radius: 20px;
  padding: clamp(14px, 3cqw, 24px);
  container-type: inline-size;
  box-sizing: border-box;
  max-width: 100%;
}
.dwf-bbb *, .dwf-bbb *::before, .dwf-bbb *::after { box-sizing: border-box; }
.dwf-bbb [hidden] { display:none !important; }
.dwf-bbb__hero { display:flex; gap:16px; justify-content:space-between; align-items:flex-start; margin-bottom:16px; }
.dwf-bbb__hero h2, .dwf-bbb__result h3 { margin:.1rem 0 .35rem; line-height:1.1; }
.dwf-bbb__hero p { margin:.2rem 0; }
.dwf-bbb__eyebrow { text-transform:uppercase; letter-spacing:.11em; font-size:.74em; font-weight:800; color:var(--bbb-accent-strong); }
.dwf-bbb button { font:inherit; }
.dwf-bbb__notice { display:grid; gap:4px; background:color-mix(in srgb, var(--bbb-accent) 8%, var(--bbb-card)); border-left:4px solid var(--bbb-accent); border-radius:12px; padding:12px 14px; margin:0 0 16px; }
.dwf-bbb__progress { position:sticky; top:var(--dwf-bbb-sticky-top, 8px); z-index:4; background:color-mix(in srgb, var(--bbb-bg) 94%, transparent); backdrop-filter:blur(8px); padding:8px 0 10px; display:grid; gap:5px; }
.admin-bar .dwf-bbb { --dwf-bbb-sticky-top: 40px; }

.dwf-bbb__unit-row { display:grid; gap:7px; margin-bottom:14px; }
.dwf-bbb__field-label { display:block; margin-bottom:6px; font-size:.88rem; font-weight:800; }
.dwf-bbb__principle { margin:0 0 14px; padding:11px 13px; border-left:4px solid var(--bbb-accent); border-radius:10px; background:color-mix(in srgb, var(--bbb-accent) 7%, var(--bbb-card)); line-height:1.5; }
.dwf-bbb__share-notice { margin-top:13px; padding:10px 12px; border:1px solid var(--bbb-accent); border-radius:10px; background:color-mix(in srgb, var(--bbb-accent) 8%, var(--bbb-card)); font-size:.86rem; line-height:1.45; }
.dwf-bbb__signal-guide { margin-top:15px; border:1px solid var(--bbb-line); border-radius:12px; background:color-mix(in srgb, var(--bbb-accent) 3%, var(--bbb-card)); overflow:hidden; }
.dwf-bbb__signal-guide > summary { cursor:pointer; padding:12px 14px; font-weight:850; color:var(--bbb-accent-strong); }
.dwf-bbb__signal-guide[open] > summary { border-bottom:1px solid var(--bbb-line); }
.dwf-bbb__signal-guide-intro { margin:13px 14px 0; color:var(--bbb-muted); line-height:1.5; }
.dwf-bbb__signal-guide summary [data-signal-review-count] { margin-left:.35rem; font-size:.82em; font-weight:700; color:var(--bbb-muted); }
.dwf-bbb__signal-empty { margin:13px 14px 0; padding:10px 12px; border:1px dashed var(--bbb-line); border-radius:10px; color:var(--bbb-muted); background:var(--bbb-card); }
.dwf-bbb__pressure-note { margin:0 14px 14px; padding:12px 13px; border:1px solid var(--bbb-line); border-radius:11px; background:var(--bbb-card); color:var(--bbb-ink); }
.dwf-bbb__pressure-note strong { color:var(--bbb-accent-strong); }
.dwf-bbb__pressure-note p { margin:.35rem 0 0; line-height:1.5; color:var(--bbb-muted); }
.dwf-bbb__signal-grid { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:12px; padding:14px; }
.dwf-bbb__signal-figure { margin:0; border:1px solid #bfd5dd; border-radius:12px; overflow:hidden; background:#fff; color:#12313b; }
.dwf-bbb__signal-art { position:relative; background:#eef8fb; overflow:hidden; }
.dwf-bbb__signal-image { display:block; width:100%; height:auto; object-fit:contain; }
.dwf-bbb__signal-logo { position:absolute; right:9px; bottom:9px; width:min(18%, 64px); max-height:28px; object-fit:contain; object-position:right bottom; opacity:.78; filter:none !important; }
.dwf-bbb__signal-figure figcaption { display:grid; gap:5px; padding:10px 11px 12px; }
.dwf-bbb__signal-figure figcaption strong { font-size:.9rem; }
.dwf-bbb__signal-figure figcaption span { font-size:.8rem; line-height:1.45; color:#405d66; }
.dwf-bbb__action-status { flex:1 0 100%; min-height:1.2em; margin:0; font-size:.82rem; color:var(--bbb-muted); }

.dwf-bbb__progress-bar { height:7px; border-radius:99px; background:var(--bbb-line); overflow:hidden; }
.dwf-bbb__progress-bar span { display:block; height:100%; width:0; background:var(--bbb-accent); transition:width .2s ease; }
.dwf-bbb__progress-text { font-size:.82em; color:var(--bbb-muted); }
.dwf-bbb__form { display:grid; gap:14px; }
.dwf-bbb__card { background:var(--bbb-card); border:1px solid var(--bbb-line); border-radius:var(--bbb-radius); padding:16px; box-shadow:0 4px 14px rgba(0,0,0,.035); }
.dwf-bbb__section-title { display:flex; gap:10px; align-items:flex-start; margin-bottom:14px; }
.dwf-bbb__section-title > span { font-size:1.35rem; line-height:1.2; }
.dwf-bbb__section-title h3 { margin:0 0 2px; font-size:1.04rem; }
.dwf-bbb__section-title p { margin:0; color:var(--bbb-muted); font-size:.88rem; }
.dwf-bbb__grid { display:grid; gap:12px; }
.dwf-bbb__grid--2 { grid-template-columns:repeat(2, minmax(0, 1fr)); }
.dwf-bbb label { display:grid; gap:5px; font-size:.88rem; font-weight:700; position:relative; }
.dwf-bbb input[type="text"], .dwf-bbb input[type="number"], .dwf-bbb select { width:100%; min-height:44px; border:1px solid var(--bbb-line); border-radius:10px; padding:9px 11px; background:var(--bbb-card); color:var(--bbb-ink); font:inherit; }
.dwf-bbb .dwf-bbb__form select {
  -webkit-appearance:none !important;
  -moz-appearance:none !important;
  appearance:none !important;
  box-sizing:border-box !important;
  width:100% !important;
  min-height:44px !important;
  padding:9px 38px 9px 15px !important;
  margin:0 !important;
  text-indent:0 !important;
  line-height:1.25 !important;
  border:1px solid var(--bbb-line) !important;
  border-radius:10px !important;
  background-color:var(--bbb-card) !important;
  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 6 6.5 11 1.5' fill='none' stroke='%2355717a' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important;
  background-position:right 12px center !important;
  background-size:12px 8px !important;
  color:var(--bbb-ink) !important;
  font:inherit !important;
}
.dwf-bbb .dwf-bbb__form select::-ms-expand { display:none; }
.dwf-bbb input:focus, .dwf-bbb select:focus, .dwf-bbb button:focus-visible { outline:3px solid color-mix(in srgb, var(--bbb-accent) 35%, transparent); outline-offset:2px; }
.dwf-bbb__suffix { position:absolute; right:12px; bottom:12px; color:var(--bbb-muted); font-size:.82em; pointer-events:none; }
.dwf-bbb__span-2 { grid-column:1 / -1; }
.dwf-bbb__segmented { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:8px; }
.dwf-bbb__segmented label, .dwf-bbb__chips label { cursor:pointer; }
.dwf-bbb__segmented input, .dwf-bbb__chips input { position:absolute; opacity:0; pointer-events:none; }
.dwf-bbb__segmented span, .dwf-bbb__chips span { display:flex; min-height:44px; align-items:center; justify-content:center; text-align:center; padding:8px 10px; border:1px solid var(--bbb-line); border-radius:11px; background:var(--bbb-card); font-weight:700; }
.dwf-bbb__segmented input:checked + span, .dwf-bbb__chips input:checked + span { border-color:var(--bbb-accent); background:color-mix(in srgb, var(--bbb-accent) 12%, var(--bbb-card)); box-shadow:inset 0 0 0 1px var(--bbb-accent); }
.dwf-bbb__chips { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:8px; margin-bottom:12px; }
.dwf-bbb__conditional { margin-top:12px; }
.dwf-bbb__check { grid-template-columns:auto 1fr !important; align-items:start; gap:9px !important; }
.dwf-bbb__check input { margin-top:3px; width:18px; height:18px; }
.dwf-bbb__call-card { border:2px solid var(--bbb-accent); background:color-mix(in srgb, var(--bbb-accent) 8%, var(--bbb-card)); }
.dwf-bbb__call-statement { font-size:.96rem; line-height:1.55; }
.dwf-bbb__actions, .dwf-bbb__result-actions { display:flex; gap:10px; flex-wrap:wrap; }
.dwf-bbb__actions { justify-content:center; padding:4px 0 8px; }
.dwf-bbb__primary, .dwf-bbb__secondary { min-height:46px; border-radius:11px; padding:10px 16px; cursor:pointer; font-weight:800; }
.dwf-bbb__primary { border:1px solid var(--bbb-accent-strong); background:var(--bbb-accent); color:#fff; }
.dwf-bbb__secondary { border:1px solid var(--bbb-line); background:var(--bbb-card); color:var(--bbb-ink); }
.dwf-bbb__result { display:grid; gap:14px; }
.dwf-bbb__result-toolbar { display:flex; gap:12px 16px; justify-content:space-between; align-items:center; flex-wrap:wrap; }
.dwf-bbb__briefing-card { background:var(--bbb-card); border:1px solid var(--bbb-line); border-radius:var(--bbb-radius); padding:18px; }
.dwf-bbb__brief-title { border-bottom:2px solid var(--bbb-accent); margin-bottom:12px; padding-bottom:10px; }
.dwf-bbb__brief-title p { margin:0; font-size:.75rem; letter-spacing:.13em; font-weight:900; color:var(--bbb-accent-strong); }
.dwf-bbb__brief-title h3 { margin:2px 0 0; }
.dwf-bbb__briefing-card section { break-inside:avoid; padding:10px 0; border-bottom:1px solid var(--bbb-line); }
.dwf-bbb__briefing-card h4 { margin:0 0 6px; text-transform:uppercase; letter-spacing:.06em; font-size:.78rem; color:var(--bbb-accent-strong); }
.dwf-bbb__briefing-card ul { margin:0; padding-left:1.1rem; }
.dwf-bbb__briefing-card li { margin:4px 0; line-height:1.4; }
.dwf-bbb__final { border:2px solid var(--bbb-accent) !important; border-radius:11px; padding:12px !important; margin-top:10px; }
.dwf-bbb__final p, .dwf-bbb__disclaimer { margin:.2rem 0; line-height:1.45; }
.dwf-bbb__disclaimer { margin-top:14px; color:var(--bbb-muted); font-size:.78rem; }
.dwf-bbb__core-print-template { display:none !important; }

@container (max-width: 620px) {
  .dwf-bbb__hero, .dwf-bbb__result-toolbar { display:grid; }
  .dwf-bbb__grid--2, .dwf-bbb__segmented, .dwf-bbb__signal-grid { grid-template-columns:1fr; }
  .dwf-bbb__span-2 { grid-column:auto; }
  .dwf-bbb__chips { grid-template-columns:repeat(2, minmax(0,1fr)); }
  .dwf-bbb__result-actions, .dwf-bbb__actions { display:grid; grid-template-columns:1fr; }
  .dwf-bbb__result-actions button, .dwf-bbb__actions button { width:100%; }
}
@container (max-width: 380px) {
  .dwf-bbb__chips { grid-template-columns:1fr; }
}

@media screen and (max-width: 782px) {
  .admin-bar .dwf-bbb { --dwf-bbb-sticky-top: 54px; }
}

@media (prefers-reduced-motion: reduce) {
  .dwf-bbb__progress-bar span { transition:none; }
}

.dwf-bbb-print-portal { display:none; }

@page { margin: 0.5in; }

@media print {
  html, body {
    width:auto !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    background:#fff !important;
  }

  body.dwf-bbb-printing > :not(.dwf-bbb-print-portal) { display:none !important; }
  body.dwf-bbb-printing::before, body.dwf-bbb-printing::after { display:none !important; content:none !important; }

  body.dwf-bbb-printing > .dwf-bbb-print-portal {
    display:block !important;
    position:static !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    color:#111 !important;
    background:#fff !important;
    font:11pt/1.35 Arial, Helvetica, sans-serif !important;
  }

  .dwf-bbb-print-portal,
  .dwf-bbb-print-portal * { box-sizing:border-box !important; }

  .dwf-bbb-print-portal a::after { content:none !important; }
  .dwf-bbb-print-portal img { max-width:100% !important; height:auto !important; }

  .dwf-bbb-print-portal .dwf-bbb__print-branding {
    display:block !important;
    width:100% !important;
    max-width:none !important;
    margin:0 0 10pt !important;
  }

  .dwf-bbb-print-portal .dwf-bbb__briefing-card {
    display:block !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    color:#111 !important;
    background:#fff !important;
  }

  .dwf-bbb-print-portal .dwf-bbb__brief-title {
    width:100% !important;
    margin:0 0 10pt !important;
    padding:0 0 8pt !important;
    border-bottom:2pt solid #111 !important;
  }

  .dwf-bbb-print-portal .dwf-bbb__brief-title p {
    margin:0 !important;
    color:#111 !important;
    font-size:8.5pt !important;
    letter-spacing:.12em !important;
    font-weight:700 !important;
  }

  .dwf-bbb-print-portal .dwf-bbb__brief-title h3 {
    margin:2pt 0 0 !important;
    color:#111 !important;
    font-size:20pt !important;
    line-height:1.1 !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
    white-space:normal !important;
  }

  .dwf-bbb-print-portal .dwf-bbb__briefing-card section {
    display:block !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    padding:7pt 0 !important;
    border-bottom:1px solid #bbb !important;
    break-inside:avoid !important;
    page-break-inside:avoid !important;
  }

  .dwf-bbb-print-portal .dwf-bbb__briefing-card h4 {
    margin:0 0 4pt !important;
    color:#111 !important;
    font-size:9pt !important;
    line-height:1.2 !important;
  }

  .dwf-bbb-print-portal .dwf-bbb__briefing-card ul {
    margin:0 !important;
    padding-left:16pt !important;
  }

  .dwf-bbb-print-portal .dwf-bbb__briefing-card li {
    margin:2pt 0 !important;
    color:#111 !important;
    line-height:1.3 !important;
    overflow-wrap:break-word !important;
    word-break:normal !important;
  }

  .dwf-bbb-print-portal .dwf-bbb__final {
    margin-top:8pt !important;
    padding:8pt !important;
    border:2px solid #111 !important;
    border-radius:6pt !important;
  }

  .dwf-bbb-print-portal .dwf-bbb__brief-caution {
    background:#fff !important;
    color:#111 !important;
    border:1px solid #555 !important;
  }

  .dwf-bbb-print-portal .dwf-bbb__final p,
  .dwf-bbb-print-portal .dwf-bbb__brief-caution p,
  .dwf-bbb-print-portal .dwf-bbb__disclaimer {
    color:#111 !important;
    margin:2pt 0 !important;
    line-height:1.35 !important;
  }

  .dwf-bbb-print-portal .dwf-bbb__disclaimer {
    margin-top:8pt !important;
    font-size:8.5pt !important;
  }
}


.dwf-bbb .dwf-bbb__expansion { margin-top:14px; padding:14px; border:1px solid var(--bbb-line); border-radius:12px; background:color-mix(in srgb, var(--bbb-accent) 5%, var(--bbb-card)); }
.dwf-bbb .dwf-bbb__expansion h4 { margin:0 0 5px; font-size:.95rem; color:var(--bbb-accent-strong); }
.dwf-bbb .dwf-bbb__expansion > p { margin:0 0 12px; color:var(--bbb-muted); }
.dwf-bbb .dwf-bbb__expansion--caution { border-style:solid; background:color-mix(in srgb, #d97706 8%, var(--bbb-card)); }
.dwf-bbb .dwf-bbb__brief-caution { padding:12px !important; border:1px solid #a16207 !important; border-radius:10px; background:#fff8e1; color:#2b2110; }
.dwf-bbb .dwf-bbb__brief-caution h4 { color:#7c4a03; }
