/* Billing profiles (public/js/billing-profiles.js): the contact page boxes and the composer picker. WatchFlow's own look, theme tokens, app font. */
.bp-card, .bp-pick { font-family: var(--font-body); }
.bp-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 12px; margin-bottom: 16px; }
.bp-title { margin: 0; font-size: 17px; font-weight: 700; color: var(--white); }
.bp-sub { font-size: 13px; color: var(--off-white); }
.bp-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; }
.bp-box { display: flex; flex-direction: column; gap: 8px; padding: 16px; border: 1px solid var(--border); border-radius: 12px; background: var(--bg-void); }
.bp-box-h { display: flex; align-items: center; gap: 8px; }
.bp-pos { font-size: 11px; font-weight: 700; letter-spacing: .8px; text-transform: uppercase; color: var(--off-white); }
.bp-last { display: inline-flex; align-items: center; height: 22px; padding: 0 8px; border-radius: 999px; font-size: 11.5px; font-weight: 700; color: #2967b0; background: color-mix(in srgb, #2967b0 10%, transparent); }
.bp-biz { font-size: 16px; font-weight: 700; color: var(--white); line-height: 22px; }
.bp-line { font-size: 13.5px; line-height: 20px; color: var(--off-white); }
.bp-none { font-style: italic; }
.bp-qb { font-size: 13px; font-weight: 600; line-height: 20px; color: #2ca01c; } /* QuickBooks green: QuickBooks data only */
.bp-f { margin: 4px 0 0; display: grid; grid-template-columns: auto 1fr; gap: 4px 12px; font-size: 13px; }
.bp-f > div { display: contents; }
.bp-f dt { color: var(--off-white); font-weight: 600; }
.bp-f dd { margin: 0; color: var(--white); overflow-wrap: anywhere; }
.bp-pick { display: flex; flex-direction: column; gap: 8px; margin-top: 12px; }
.bp-pick-sel { width: 100%; min-height: 44px; }
@media (max-width: 760px) { .bp-grid { grid-template-columns: 1fr; } .bp-pick-sel { font-size: 16px; } }
.bp-card .bp-head { background: none !important; padding: 0 !important; border: 0 !important; }
