/* Shared product primitives. No legacy stylesheet is required on the new interface. */
.bn-ui{--yellow:var(--bn-yellow);--ink:var(--bn-ink);--paper:var(--bn-white);--warm:var(--bn-warm);--muted:var(--bn-muted);--line:var(--bn-line);--bn-positive:#315D40;--bn-focus:#141615;min-width:320px}
.bn-ui [hidden]{display:none}
.bn-ui :where(h1,h2,h3,h4){font-family:var(--bn-font-ui);color:var(--bn-ink);font-weight:700;line-height:1.2;overflow-wrap:anywhere}
.bn-ui :where(h1){font-size:var(--bn-type-page);letter-spacing:-.025em}
.bn-ui :where(h2){font-size:var(--bn-type-section);letter-spacing:-.02em}
.bn-ui :where(h3){font-size:var(--bn-type-subtitle);letter-spacing:-.01em}
.bn-ui :where(p,li,dd){line-height:1.55}
.bn-ui :where(small){font-size:12px;line-height:1.5}
.bn-ui :where(ul,ol){padding-left:22px}
.bn-ui :where(button,input,select,textarea){font:inherit}
.bn-ui :where(input,select,textarea){color:var(--bn-ink);background:var(--bn-white)}
.bn-ui :where(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea){width:100%;min-height:48px;padding:12px 14px;border:1px solid var(--bn-line);border-radius:12px;font-size:16px}
.bn-ui :where(textarea){resize:vertical;min-height:120px}
.bn-ui :where(input[type=checkbox],input[type=radio]){width:19px;height:19px;flex:none;accent-color:var(--bn-ink)}
.bn-ui :where(input[type=file]){font-size:13px}
.bn-ui :where(button){min-height:44px}
.bn-ui :where(button:disabled){opacity:.52}
.bn-ui :where(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--bn-focus);outline-offset:3px}
.bn-ui :where([aria-invalid=true]){border-color:var(--bn-error)}
.bn-ui :where(table){border-collapse:collapse;width:100%;font-size:13px}
.bn-ui :where(th,td){padding:12px 10px;text-align:left;border-bottom:1px solid var(--bn-line);vertical-align:top;overflow-wrap:anywhere}
.bn-ui :where(th){font-weight:700}
.bn-ui :where(caption){text-align:left;font-weight:700;margin-bottom:10px}
.bn-ui :where(summary){min-height:44px;cursor:pointer}
.bn-ui :where(fieldset){min-width:0;border:0;padding:0;margin:0}
.bn-ui :where(legend){font-weight:700;padding:0;margin-bottom:16px}
.bn-ui :where(.icon){width:22px;height:22px;flex:none;display:inline-block}
.bn-ui :where(.muted,.lead.muted){color:var(--bn-muted)}
.bn-ui :where(.eyebrow){font-size:12px;text-transform:uppercase;font-weight:700;letter-spacing:.1em;color:var(--bn-muted)}
.bn-ui :where(.lead){font-size:16px;line-height:1.55}
.bn-ui :where(.button){display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:13px 20px;border:1px solid transparent;border-radius:28px;font-size:14px;line-height:1.35;font-weight:700;background:var(--bn-yellow);color:#141615;text-align:center;white-space:normal}
.bn-ui :where(.button-outline,.button-secondary){background:var(--bn-white);color:var(--bn-ink);border-color:var(--bn-line)}
.bn-ui :where(.button-dark){background:var(--bn-ink);color:var(--bn-white)}
.bn-ui :where(.text-link){display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:14px;font-weight:500;text-decoration:underline;text-underline-offset:4px}
.bn-ui :where(.actions){display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.bn-ui :where(.status){display:inline-flex;border-radius:20px;background:var(--bn-surface);padding:5px 10px;font-size:12px;font-weight:500;color:var(--bn-ink)}
.bn-ui .bn-footer>p:first-of-type{font-family:var(--bn-font-display);font-weight:700;letter-spacing:-.025em}
.bn-ui .bn-home h1 span{font:inherit;letter-spacing:inherit;}
.bn-ui .brand-toast{position:fixed;z-index:80;bottom:20px;left:50%;transform:translate(-50%,10px);max-width:calc(100% - 32px);width:max-content;border:1px solid var(--bn-line);background:var(--bn-ink);color:var(--bn-white);border-radius:14px;padding:12px 18px;opacity:0;pointer-events:none;font-size:13px;transition:opacity .15s,transform .15s}
.bn-ui .brand-toast.is-visible{opacity:1;transform:translate(-50%,0)}
@media(prefers-reduced-motion:reduce){.bn-ui *{transition:none;animation:none;scroll-behavior:auto}}
