/* BANDS accounts app. Builds on theme app.css (.mapp shell) and bands-exchange.css (.bx widgets). */
.bapp [hidden] { display: none !important; }
.bapp .mapp-tabs { grid-template-columns: repeat(3, 1fr); }
.bapp .mapp-main { padding-top: 14px; }
.bapp-screen { display: grid; gap: 14px; }
.bapp-title { margin: 0; }
.bapp .mapp-sub { margin: -6px 0 0; }
.bapp-loading { color: var(--ink-muted); font-size: 14px; padding: 12px 0; }
.bapp-test { margin: -4px 0 10px; padding: 6px 10px; border: 1px dashed var(--line); border-radius: 10px; color: var(--warning); font: 500 11px/16px var(--font-mono); letter-spacing: .06em; text-align: center; }
.bapp-form { display: grid; gap: 14px; }
.bapp-link { background: none; border: 0; padding: 0; color: var(--brand-text); font: 600 14px/20px var(--font-body); cursor: pointer; justify-self: start; text-align: left; }
.bapp-link--danger { color: var(--danger); }
.bapp-empty { color: var(--ink-muted); font-size: 14px; margin: 4px 0; }

/* Welcome */
.bapp-welcome { min-height: 100%; align-content: center; gap: 28px; }
.bapp-hero { display: grid; gap: 14px; }
.bapp-hero__title { margin: 0; font-family: var(--font-display); font-weight: 600; font-stretch: 106%; font-size: 34px; line-height: 1.02; letter-spacing: -0.04em; }
.bapp-mark { display: grid; gap: 4px; width: 44px; }
.bapp-mark i { display: block; height: 8px; border-radius: 0 999px 999px 0; }
.bapp-mark i:nth-child(1) { width: 26px; margin-left: 18px; background: var(--brand); }
.bapp-mark i:nth-child(2) { width: 34px; margin-left: 10px; background: var(--lilac); }
.bapp-mark i:nth-child(3) { width: 44px; background: var(--coral); }
.bapp-mark--lg { transform: scale(1.6); transform-origin: left center; margin-bottom: 8px; }
.bapp-code { font-size: 28px; letter-spacing: .4em; text-align: center; min-height: 58px; }

/* Home */
.bapp-hello { margin: 0; color: var(--ink-muted); font-size: 15px; }
.bapp-live { padding: 4px 0 6px; }
.bapp-cta { min-height: 54px; }
.bapp-limit { display: grid; gap: 8px; padding: 14px 16px; background: var(--surface); border: 1px solid var(--hair); border-radius: 18px; }
.bapp-limit__top { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
.bapp-limit__nums { font: 500 13px/18px var(--font-mono); font-variant-numeric: tabular-nums; }
.bapp-limit__bar { height: 6px; border-radius: 999px; background: var(--surface-raised); overflow: hidden; }
.bapp-limit__bar span { display: block; height: 100%; background: var(--brand); border-radius: 999px; }
.bapp-section { display: grid; gap: 6px; }
.bapp-section__head { display: flex; justify-content: space-between; align-items: center; }
.bapp-list { display: grid; }
.bapp-order { display: flex; justify-content: space-between; gap: 12px; align-items: center; width: 100%; padding: 12px 2px; background: none; border: 0; border-top: 1px solid var(--hair); color: var(--ink); text-align: left; cursor: pointer; font-family: var(--font-body); }
.bapp-order:first-child { border-top: 0; }
.bapp-order__l, .bapp-order__r { display: grid; gap: 4px; min-width: 0; }
.bapp-order__r { justify-items: end; }
.bapp-order strong { font-weight: 500; font-size: 15px; font-variant-numeric: tabular-nums; }
.bapp-order__l span { color: var(--ink-muted); font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bapp-order .bx-pill { padding: 2px 8px; font-size: 10px; }

/* Account */
.bapp-card { display: grid; gap: 10px; padding: 16px; background: var(--surface); border: 1px solid var(--hair); border-radius: 18px; }
.bapp-card__title { font-weight: 600; font-size: 16px; }
.bapp-card__row { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.bapp-card .bx-meta > div { padding: 4px 0; color: var(--ink-muted); }
.bapp-card .bx-meta > div.is-current dt, .bapp-card .bx-meta > div.is-current dd { color: var(--ink); }
.bapp-bank { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding-top: 10px; border-top: 1px solid var(--hair); }
.bapp-bank > span { display: grid; gap: 2px; min-width: 0; }

/* Verify */
.bapp-seg { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; padding: 4px; background: var(--surface); border: 1px solid var(--hair); border-radius: 999px; }
.bapp-seg button { min-height: 38px; border: 0; border-radius: 999px; background: none; color: var(--ink-muted); font: 600 14px/1 var(--font-body); cursor: pointer; }
.bapp-seg button[aria-selected="true"] { background: var(--surface-raised); color: var(--ink); }
.bapp-photos { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.bapp-photo { display: grid; gap: 6px; cursor: pointer; }
.bapp-photo__preview { display: grid; place-items: center; aspect-ratio: 3 / 4; border: 1px dashed var(--line); border-radius: 16px; background: var(--surface); color: var(--ink-muted); font-size: 13px; text-align: center; padding: 10px; overflow: hidden; }
.bapp-photo.has-photo .bapp-photo__preview { padding: 0; border-style: solid; }
.bapp-photo__preview img { width: 100%; height: 100%; object-fit: cover; }
.bapp-file { position: absolute; width: 1px; height: 1px; opacity: 0; }
.bapp-done { display: grid; gap: 14px; padding-top: 24px; }

/* Convert: saved banks */
.bapp-banks { display: grid; gap: 8px; }
.bapp-bankpick { display: flex; align-items: center; gap: 12px; width: 100%; padding: 12px 14px; background: var(--surface); border: 1px solid var(--hair); border-radius: 16px; color: var(--ink); text-align: left; cursor: pointer; font-family: var(--font-body); }
.bapp-bankpick[aria-checked="true"] { border-color: var(--brand); }
.bapp-bankpick__t { display: grid; gap: 2px; min-width: 0; }
.bapp-bankpick__t strong { font-weight: 500; }
.bapp-bankpick__t span { color: var(--ink-muted); font-size: 13px; }
.bapp-radio { flex: none; width: 18px; height: 18px; border-radius: 50%; border: 2px solid var(--line); }
.bapp-bankpick[aria-checked="true"] .bapp-radio { border-color: var(--brand); box-shadow: inset 0 0 0 3px var(--ground), inset 0 0 0 9px var(--brand); }
.bapp-addbank { min-height: 44px; border: 1px dashed var(--line); border-radius: 16px; background: none; color: var(--brand-text); font: 600 14px/1 var(--font-body); cursor: pointer; }
.bapp .bx-body { padding-top: 8px; }
.bapp[data-view="convert"] .bx-body > .bx-btn--block,
.bapp[data-view="bank"] .bx-body > .bx-btn--block { position: sticky; bottom: 0; z-index: 5; box-shadow: 0 0 0 12px var(--ground), 0 12px 0 12px var(--ground); }

/* Widget tokens (bands-exchange scopes these to .bx) */
.bapp {
  --bx-bg: var(--surface, #111111); --bx-raised: var(--surface-raised, #1C1C1C); --bx-line: var(--line, #2A2A2A);
  --bx-ink: var(--ink, #F5F5F5); --bx-muted: var(--ink-muted, #A3A3A3); --bx-brand: var(--brand, #6A47FF);
  --bx-on-brand: var(--on-brand, #FFFFFF); --bx-brand-text: var(--brand-text, #A996FF); --bx-coral: var(--coral, #FF6B3D);
  --bx-on-coral: var(--on-coral, #000000); --bx-cash: var(--coral-text, #FF8A63); --bx-success: var(--success, #3DDC97);
  --bx-warning: var(--warning, #FFC24B); --bx-danger: var(--danger, #FF5470);
  --bx-body: var(--font-body, "Instrument Sans", "Helvetica Neue", Arial, sans-serif);
  --bx-mono: var(--font-mono, "IBM Plex Mono", ui-monospace, Menlo, monospace);
}
.bapp-limit__top { align-items: center; }
.bapp-limit__top .bx-eyebrow { white-space: nowrap; }
.bapp-limit__nums { white-space: nowrap; }

/* ===== v0.2: settings rows, home card, pay screen ===== */
.bapp-ic { display: inline-grid; place-items: center; flex: none; }
.bapp-h2 { font-weight: 600; font-size: 17px; letter-spacing: -0.01em; }
.bapp-pad { padding: 14px 16px; margin: 0; }

/* Grouped rows */
.bapp-group { display: grid; gap: 8px; }
.bapp-group__label { color: var(--ink-muted); font-size: 13px; font-weight: 500; padding-left: 2px; }
.bapp-group__box { display: grid; background: var(--surface); border: 1px solid var(--hair); border-radius: 18px; overflow: hidden; }
.bapp-row { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 60px; padding: 10px 14px; background: none; border: 0; border-top: 1px solid var(--hair); color: var(--ink); text-align: left; font-family: var(--font-body); }
.bapp-group__box > .bapp-row:first-child { border-top: 0; }
button.bapp-row, summary.bapp-row { cursor: pointer; }
button.bapp-row:active, summary.bapp-row:active { background: var(--surface-raised); }
.bapp-row__ic { width: 38px; height: 38px; border-radius: 50%; background: var(--surface-raised); color: var(--ink); }
.bapp-row__t { display: grid; gap: 2px; flex: 1; min-width: 0; }
.bapp-row__t strong { font-weight: 500; font-size: 15px; line-height: 20px; }
.bapp-row__t span { color: var(--ink-muted); font-size: 13px; line-height: 18px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bapp-row__v { font-size: 14px; font-variant-numeric: tabular-nums; text-align: right; flex: none; max-width: 55%; }
.bapp-row--cash .bapp-row__v { color: var(--coral-text, #FF8A63); font-weight: 600; }
.bapp-row__chev { color: var(--ink-muted); }
.bapp-row__chev svg { width: 18px; height: 18px; }
.bapp-row--danger .bapp-row__ic, .bapp-row--danger .bapp-row__t strong { color: var(--danger); }
.bapp-row__acts { display: grid; justify-items: end; gap: 6px; flex: none; }
.bapp-row__acts .bapp-link { font-size: 13px; }

/* Account header */
.bapp-profile { display: flex; align-items: center; gap: 12px; padding: 14px 16px; background: var(--surface); border: 1px solid var(--hair); border-radius: 18px; }
.bapp-avatar { display: grid; place-items: center; flex: none; width: 46px; height: 46px; border-radius: 50%; background: var(--brand); color: var(--on-brand, #fff); font-weight: 600; font-size: 16px; }
.bapp-profile__t { display: grid; gap: 1px; flex: 1; min-width: 0; }
.bapp-profile__t strong { font-weight: 600; font-size: 16px; }
.bapp-profile__t span { color: var(--ink-muted); font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Home card (flat brand colour, no gradient) */
.bapp-hcard { display: grid; gap: 4px; padding: 18px 18px 16px; border-radius: 24px; background: var(--brand); color: var(--on-brand, #fff); }
.bapp-hcard__top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 6px; }
.bapp-hcard__hi { font-size: 15px; font-weight: 500; }
.bapp-hcard__chip { padding: 4px 10px; border-radius: 999px; background: rgba(0,0,0,.22); font: 600 11px/16px var(--font-mono); letter-spacing: .08em; }
.bapp-hcard__label { font-size: 13px; opacity: .85; }
.bapp-hcard__value { font-family: var(--font-display); font-weight: 600; font-stretch: 106%; font-size: 40px; line-height: 1.05; letter-spacing: -0.03em; font-variant-numeric: tabular-nums; }
.bapp-acts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 16px; }
.bapp-act { display: grid; justify-items: center; gap: 6px; padding: 0; background: none; border: 0; color: inherit; font: 500 13px/16px var(--font-body); cursor: pointer; }
.bapp-act__ic { width: 54px; height: 54px; border-radius: 18px; background: #fff; color: #000; }
.bapp-act:active .bapp-act__ic { transform: scale(.96); }

/* First-time banner */
.bapp-banner { position: relative; display: flex; align-items: center; gap: 12px; padding: 18px; border-radius: 20px; background: var(--surface); border: 1px solid var(--hair); overflow: hidden; }
.bapp-banner__t { display: grid; gap: 6px; flex: 1; z-index: 1; }
.bapp-banner__t strong { font-weight: 600; font-size: 18px; letter-spacing: -0.01em; }
.bapp-banner__t span { color: var(--ink-muted); font-size: 14px; line-height: 20px; max-width: 26ch; }
.bapp-banner__btn { justify-self: start; margin-top: 6px; min-height: 40px; padding: 0 18px; border: 0; border-radius: 999px; background: #fff; color: #000; font: 600 14px/1 var(--font-body); cursor: pointer; }
.bapp-banner__mark { transform: scale(1.7); transform-origin: right center; margin-right: 6px; }

/* Empty state */
.bapp-emptycard { display: grid; justify-items: center; gap: 6px; padding: 24px 16px; text-align: center; background: var(--surface); border: 1px solid var(--hair); border-radius: 18px; }
.bapp-emptycard__ic { width: 52px; height: 52px; border-radius: 50%; background: var(--surface-raised); color: var(--brand-text); margin-bottom: 4px; }
.bapp-emptycard strong { font-weight: 600; font-size: 16px; }
.bapp-emptycard span { color: var(--ink-muted); font-size: 14px; }

/* Pay screen */
.bapp-pay { display: grid; gap: 12px; }
.bapp-pair { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 14px; background: var(--surface); border: 1px solid var(--hair); border-radius: 18px; }
.bapp-pair__side { display: flex; align-items: center; gap: 10px; min-width: 0; }
.bapp-pair__side--r { text-align: right; }
.bapp-pair__t { display: grid; gap: 1px; min-width: 0; }
.bapp-pair__t span { color: var(--ink-muted); font-size: 12px; }
.bapp-pair__t strong { font-weight: 600; font-size: 15px; white-space: nowrap; }
.bapp-pair__swap { color: var(--ink-muted); }
.bapp-coin { display: grid; place-items: center; flex: none; width: 38px; height: 38px; border-radius: 50%; background: var(--success, #3DDC97); color: #000; font-weight: 700; font-size: 16px; }
.bapp-coin--ngn { background: var(--coral); }
.bapp-warn { display: flex; gap: 12px; align-items: center; padding: 12px 14px; border-radius: 16px; background: rgba(255,84,112,.12); border: 1px solid rgba(255,84,112,.35); }
.bapp-warn__ic { width: 34px; height: 34px; border-radius: 50%; background: var(--danger); color: #fff; }
.bapp-warn__t { display: grid; gap: 2px; }
.bapp-warn__t strong { color: var(--danger); font-weight: 600; font-size: 14px; }
.bapp-warn__t span { font-size: 13px; color: var(--ink); }
.bapp-paycard { display: grid; justify-items: center; gap: 14px; padding: 18px 16px; background: var(--surface); border: 1px solid var(--hair); border-radius: 22px; text-align: center; }
.bapp-netchip { padding: 6px 14px; border-radius: 999px; border: 1px solid var(--line); font-size: 13px; font-weight: 500; }
.bapp-send { display: grid; gap: 2px; }
.bapp-send__amt { font-family: var(--font-display); font-weight: 600; font-size: 28px; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
.bapp-qr { width: 196px; padding: 10px; background: #fff; border-radius: 16px; }
.bapp-qr svg { display: block; width: 100%; height: auto; }
.bapp-addr { font: 500 15px/22px var(--font-mono); word-spacing: 2px; max-width: 30ch; color: var(--ink); background: none; padding: 0; }
.bapp-btn2 { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; width: 100%; }
.bapp-ibtn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
.bapp-ibtn svg { width: 18px; height: 18px; }
.bapp-center { text-align: center; margin: 0; }
.bapp-guide { background: var(--surface); border: 1px solid var(--hair); border-radius: 18px; overflow: hidden; }
.bapp-guide > summary { list-style: none; border-top: 0; }
.bapp-guide > summary::-webkit-details-marker { display: none; }
.bapp-guide[open] .bapp-row__chev { transform: rotate(90deg); }
.bapp-guide__body { display: grid; gap: 14px; padding: 4px 16px 16px; }
.bapp-guide__item strong { font-size: 14px; }
.bapp-guide__item ol { margin: 6px 0 0; padding-left: 18px; color: var(--ink-muted); font-size: 14px; line-height: 21px; }
.bapp-pay .bapp-row { min-height: 52px; }
.bapp-pay .bapp-row__ic { width: 34px; height: 34px; }
.bapp-sent { position: sticky; bottom: 0; z-index: 5; box-shadow: 0 0 0 12px var(--ground), 0 12px 0 12px var(--ground); }
.bapp-sent:disabled { opacity: 1; background: var(--surface-raised); color: var(--ink); }
.bapp .bapp-paycard .bapp-qr { width: 200px; max-width: 70%; padding: 10px; }
.bapp .bapp-acts { grid-template-columns: repeat(2, 1fr); }
.bapp .bapp-hcard__value { font-size: clamp(30px, 10vw, 40px); margin-top: 2px; }
.bapp-hcard__sub { font-size: 13px; opacity: .85; }
.bapp-found { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 16px; background: rgba(61,220,151,.10); border: 1px solid rgba(61,220,151,.35); }
.bapp-found.is-loading { background: var(--surface); border-color: var(--hair); }
.bapp-found__ic { width: 38px; height: 38px; border-radius: 50%; background: var(--success, #3DDC97); color: #000; }
.bapp-found__t { display: grid; gap: 2px; min-width: 0; }
.bapp-found__t strong { font-weight: 600; font-size: 16px; }
.bapp-found__t span { color: var(--ink-muted); font-size: 13px; }
.bapp-found__k { font: 500 11px/16px var(--font-mono); letter-spacing: .1em; text-transform: uppercase; }
.bapp-spin { flex: none; width: 22px; height: 22px; margin: 0 8px; border-radius: 50%; border: 2px solid var(--line); border-top-color: var(--brand); animation: bapp-spin .8s linear infinite; }
@keyframes bapp-spin { to { transform: rotate(360deg); } }
/* Home card: gradient for text contrast, wide action buttons */
.bapp .bapp-hcard { background: linear-gradient(145deg, #8B6DFF 0%, #6A47FF 42%, #3B1FB4 100%); box-shadow: 0 12px 32px rgba(70, 40, 200, .28); }
.bapp .bapp-hcard__label, .bapp .bapp-hcard__sub { opacity: .9; }
.bapp .bapp-acts { grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 18px; }
.bapp .bapp-act { display: flex; flex-direction: row; align-items: center; justify-content: center; gap: 8px; min-height: 50px; border-radius: 999px; background: #fff; color: #000; font: 600 15px/1 var(--font-body); }
.bapp .bapp-act + .bapp-act { background: rgba(255, 255, 255, .16); color: #fff; border: 1px solid rgba(255, 255, 255, .3); }
.bapp .bapp-act__ic { width: auto; height: auto; background: none; color: inherit; border-radius: 0; }
.bapp .bapp-act__ic svg { width: 19px; height: 19px; }
.bapp .bapp-act:active { transform: scale(.98); }
.bapp .bapp-act:active .bapp-act__ic { transform: none; }
/* v0.3: token/network icons, rates tabs, notifications */
.bapp-seg--3 { grid-template-columns: repeat(3, 1fr); border-radius: 16px; }
.bapp-seg--3 button { border-radius: 12px; }
.bapp-tk { position: relative; flex: none; width: 34px; height: 34px; }
.bapp-tk__c { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; color: #fff; font: 700 15px/1 var(--font-body); }
.bapp-tk__n { position: absolute; right: -3px; bottom: -3px; display: grid; place-items: center; width: 16px; height: 16px; border-radius: 50%; color: #fff; font: 700 9px/1 var(--font-body); box-shadow: 0 0 0 2px var(--ground); }
.bapp-row .bapp-tk__n { box-shadow: 0 0 0 2px var(--surface); }
.bapp-tk--lg, .bapp-tk--lg .bapp-tk__c { width: 40px; height: 40px; }
.bapp-tk--lg .bapp-tk__c { font-size: 17px; }
.bapp-tk--lg .bapp-tk__n { width: 18px; height: 18px; font-size: 10px; box-shadow: 0 0 0 2px var(--surface); }
.bapp .bapp-order { gap: 12px; }
.bapp .bapp-order__l { flex: 1; }
.bapp-bell { position: relative; }
.bapp-bell__dot { position: absolute; top: 9px; right: 9px; width: 9px; height: 9px; border-radius: 50%; background: var(--coral); box-shadow: 0 0 0 2px var(--ground); }
.bapp-notes { display: grid; gap: 10px; }
.bapp-note { display: grid; gap: 6px; padding: 14px 16px; background: var(--surface); border: 1px solid var(--hair); border-radius: 18px; }
.bapp-note.is-unread { border-color: var(--brand); }
.bapp-note__top { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; }
.bapp-note__top strong { font-weight: 600; font-size: 15px; }
.bapp-note__top span { flex: none; color: var(--ink-muted); font-size: 12px; }
.bapp-note p { margin: 0; color: var(--ink-muted); font-size: 14px; line-height: 21px; white-space: pre-line; }
/* v0.3.1: receipt + refund messaging */
.bapp-warn--soft { background: rgba(255,194,75,.10); border-color: rgba(255,194,75,.35); }
.bapp-warn--soft .bapp-warn__ic { background: var(--warning, #FFC24B); color: #000; }
.bapp-warn--soft .bapp-warn__t strong { color: var(--warning, #FFC24B); }
.bapp-warn--soft .bapp-warn__t span { color: var(--ink-muted); line-height: 19px; }
.bapp-rcpt { display: grid; gap: 14px; }
.bapp-rcpt__card { position: relative; background: var(--surface); border: 1px solid var(--hair); border-radius: 24px; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.bapp-rcpt__head { display: grid; justify-items: center; gap: 4px; padding: 28px 20px 24px; text-align: center; background: rgba(61,220,151,.06); border-radius: 24px 24px 0 0; }
.bapp-rcpt__check { width: 56px; height: 56px; border-radius: 50%; background: var(--success, #3DDC97); color: #000; margin-bottom: 10px; box-shadow: 0 0 0 8px rgba(61,220,151,.14); }
.bapp-rcpt__check svg { width: 28px; height: 28px; stroke-width: 2.6; }
.bapp-rcpt__title { font-weight: 600; font-size: 17px; }
.bapp-rcpt__sub { color: var(--ink-muted); font-size: 13px; }
.bapp-rcpt__amt { margin-top: 8px; font-family: var(--font-display); font-weight: 600; font-stretch: 106%; font-size: clamp(30px, 10vw, 38px); line-height: 1.05; letter-spacing: -0.03em; font-variant-numeric: tabular-nums; color: var(--coral-text, #FF8A63); }
.bapp-rcpt__to { margin-top: 8px; padding: 5px 12px; border-radius: 999px; background: var(--surface-raised); font-size: 13px; }
.bapp-rcpt__tear { position: relative; height: 0; margin: 0 18px; border-top: 2px dashed var(--line); }
.bapp-rcpt__tear::before, .bapp-rcpt__tear::after { content: ''; position: absolute; top: -12px; width: 22px; height: 22px; border-radius: 50%; background: var(--ground); border: 1px solid var(--hair); }
.bapp-rcpt__tear::before { left: -31px; clip-path: inset(0 0 0 50%); }
.bapp-rcpt__tear::after { right: -31px; clip-path: inset(0 50% 0 0); }
.bapp-rcpt__rows { display: grid; margin: 0; padding: 8px 20px 6px; }
.bapp-kv { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 11px 0; border-top: 1px solid var(--hair); font-size: 14px; }
.bapp-kv:first-child { border-top: 0; }
.bapp-kv dt { flex: none; color: var(--ink-muted); }
.bapp-kv dd { margin: 0; min-width: 0; text-align: right; font-weight: 500; overflow-wrap: anywhere; }
.bapp-kv dd.bx-mono { font-size: 12.5px; }
.bapp-kv dd a { color: var(--brand-text); text-decoration: none; }
.bapp-kv__coin { display: inline-flex; align-items: center; gap: 8px; }
.bapp-kv__coin .bapp-tk, .bapp-kv__coin .bapp-tk__c { width: 22px; height: 22px; }
.bapp-kv__coin .bapp-tk__c { font-size: 11px; }
.bapp-kv__coin .bapp-tk__n { right: -2px; bottom: -2px; width: 11px; height: 11px; font-size: 7px; box-shadow: 0 0 0 1.5px var(--surface); }
.bapp-rcpt__foot { display: flex; align-items: center; justify-content: center; gap: 10px; padding: 14px 20px 18px; border-top: 1px solid var(--hair); color: var(--ink-muted); font-size: 12px; }
.bapp-rcpt__foot .bapp-mark { width: 26px; gap: 2px; }
.bapp-rcpt__foot .bapp-mark i { height: 5px; }
.bapp-rcpt__foot .bapp-mark i:nth-child(1) { width: 15px; margin-left: 11px; }
.bapp-rcpt__foot .bapp-mark i:nth-child(2) { width: 20px; margin-left: 6px; }
.bapp-rcpt__foot .bapp-mark i:nth-child(3) { width: 26px; }
.bapp-rcpt__actions { display: grid; gap: 10px; }
@media print {
  .mapp-top, .bapp-tabs, .bapp-rcpt__actions { display: none !important; }
  html, body, .mapp, .mapp-main { height: auto !important; min-height: 0 !important; overflow: visible !important; position: static !important; }
  .bapp-rcpt__card { break-inside: avoid; }
}
/* v0.3.2: convert screen */
.bapp-cv__sec { display: grid; gap: 8px; }
.bapp-cv__h { color: var(--ink-muted); font-size: 13px; font-weight: 500; }
.bapp-nets { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.bapp-net { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 0 6px; border-radius: 14px; border: 1px solid var(--line); background: var(--surface); color: var(--ink-muted); font: 600 13px/1 var(--font-body); cursor: pointer; }
.bapp-net[aria-checked="true"] { border-color: var(--brand); color: var(--ink); background: rgba(106, 71, 255, .14); }
.bapp-net__dot { display: grid; place-items: center; flex: none; width: 20px; height: 20px; border-radius: 50%; color: #fff; font: 700 10px/1 var(--font-body); }
.bapp-cv { display: grid; }
.bapp-cv__box { display: grid; gap: 12px; padding: 16px; background: var(--surface); border: 1px solid var(--hair); border-radius: 22px; }
.bapp-cv__box--out { padding-top: 20px; background: var(--surface-raised); }
.bapp-cv__lbl { display: flex; justify-content: space-between; align-items: center; color: var(--ink-muted); font-size: 13px; }
.bapp-cv__row { display: flex; align-items: center; gap: 12px; min-height: 48px; }
.bapp-cv__input { flex: 1; min-width: 0; width: 100%; padding: 0; background: none; border: 0; outline: 0; color: var(--ink); font-family: var(--font-display); font-weight: 600; font-stretch: 106%; font-size: 38px; line-height: 1.1; letter-spacing: -0.03em; font-variant-numeric: tabular-nums; }
.bapp-cv__input::placeholder { color: var(--ink-muted); }
.bapp-cv__out { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-family: var(--font-display); font-weight: 600; font-stretch: 106%; font-size: 32px; line-height: 1.1; letter-spacing: -0.03em; color: var(--coral-text, #FF8A63); font-variant-numeric: tabular-nums; transition: opacity .2s; }
.bapp-cv.is-loading .bapp-cv__out { opacity: .45; }
.bapp-pick { position: relative; display: inline-flex; align-items: center; gap: 8px; flex: none; padding: 6px 10px 6px 6px; border-radius: 999px; background: var(--surface-raised); border: 1px solid var(--line); color: var(--ink); font: 600 15px/1 var(--font-body); cursor: pointer; }
.bapp-cv__box--out .bapp-pick { background: var(--surface); }
.bapp-pick .bapp-tk, .bapp-pick .bapp-tk__c { width: 28px; height: 28px; }
.bapp-pick .bapp-tk__c { font-size: 13px; }
.bapp-pick .bapp-tk__n { width: 13px; height: 13px; font-size: 8px; box-shadow: 0 0 0 2px var(--surface-raised); }
.bapp-pick__chev { color: var(--ink-muted); }
.bapp-pick__chev svg { width: 16px; height: 16px; transform: rotate(90deg); }
.bapp-pick__sel { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; font-size: 16px; }
.bapp-pick--static { cursor: default; padding-right: 14px; }
.bapp-coin--sm { width: 28px; height: 28px; font-size: 14px; }
.bapp-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.bapp-chip { min-height: 32px; padding: 0 13px; border-radius: 999px; border: 1px solid var(--line); background: none; color: var(--ink); font: 500 13px/1 var(--font-body); cursor: pointer; }
.bapp-chip[aria-pressed="true"] { background: var(--ink); border-color: var(--ink); color: var(--ground); }
.bapp-cv__swap { position: relative; z-index: 2; justify-self: center; display: grid; place-items: center; width: 40px; height: 40px; margin: -14px 0; border-radius: 50%; background: var(--brand); color: #fff; box-shadow: 0 0 0 5px var(--ground); }
.bapp-cv__swap svg { width: 20px; height: 20px; stroke-width: 2.2; }
.bapp-cv__details { margin: 0; padding: 2px 16px; background: var(--surface); border: 1px solid var(--hair); border-radius: 18px; }
.bapp-cv__details .bapp-kv { padding: 11px 0; }
/* v0.3.3: convert = clean two-row swap + bottom sheet */
.bapp { position: relative; }
.bapp-sw { background: var(--surface); border: 1px solid var(--hair); border-radius: 24px; }
.bapp-sw__row { display: flex; align-items: center; gap: 12px; padding: 20px 18px; }
.bapp-sw__l { display: grid; gap: 6px; flex: 1; min-width: 0; }
.bapp-sw__lbl { color: var(--ink-muted); font-size: 13px; }
.bapp-sw__div { position: relative; height: 1px; margin: 0 18px; background: var(--hair); }
.bapp-sw__arrow { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--surface); border: 1px solid var(--line); color: var(--ink-muted); }
.bapp-sw__arrow svg { width: 16px; height: 16px; }
.bapp-sw .bapp-cv__input { font-size: 36px; }
.bapp-sw .bapp-cv__out { font-size: 32px; }
.bapp-sw.is-loading .bapp-cv__out { opacity: .45; }
.bapp-pick2 { display: flex; align-items: center; gap: 10px; flex: none; padding: 8px 10px 8px 8px; border: 0; border-radius: 16px; background: var(--surface-raised); color: var(--ink); text-align: left; font-family: var(--font-body); cursor: pointer; }
.bapp-pick2--static { padding-right: 14px; cursor: default; }
.bapp-pick2__t { display: grid; gap: 1px; }
.bapp-pick2__t strong { font-weight: 600; font-size: 15px; line-height: 18px; }
.bapp-pick2__t span { color: var(--ink-muted); font-size: 12px; line-height: 15px; }
.bapp-pick2 .bapp-tk, .bapp-pick2 .bapp-tk__c { width: 30px; height: 30px; }
.bapp-pick2 .bapp-tk__c { font-size: 14px; }
.bapp-pick2 .bapp-tk__n { width: 14px; height: 14px; font-size: 8px; box-shadow: 0 0 0 2px var(--surface-raised); }
.bapp-pick2 .bapp-coin--sm { width: 30px; height: 30px; }
.bapp-sw__meta { margin: 0; text-align: center; color: var(--ink); font-size: 14px; }
.bapp-sw__meta--sub { margin-top: -8px; color: var(--ink-muted); font-size: 13px; }
.bapp-sheet { position: absolute; inset: 0; z-index: 50; display: flex; align-items: flex-end; background: rgba(0, 0, 0, 0); transition: background .22s; }
.bapp-sheet.is-open { background: rgba(0, 0, 0, .6); }
.bapp-sheet__panel { display: grid; gap: 10px; width: 100%; max-height: 88%; overflow: auto; padding: 8px 16px calc(20px + env(safe-area-inset-bottom)); background: var(--ground); border-top: 1px solid var(--hair); border-radius: 24px 24px 0 0; transform: translateY(100%); transition: transform .22s ease; }
.bapp-sheet.is-open .bapp-sheet__panel { transform: none; }
.bapp-sheet__grab { justify-self: center; width: 40px; height: 4px; margin: 4px 0 6px; border-radius: 4px; background: var(--line); }
.bapp-sheet__title { font-weight: 600; font-size: 17px; }
.bapp-sheet__body { display: grid; gap: 10px; }
.bapp-sheet__h { margin-top: 4px; color: var(--ink-muted); font-size: 13px; font-weight: 500; }
.bapp-opt { cursor: pointer; }
.bapp-opt[aria-pressed="true"] { background: rgba(106, 71, 255, .12); }
.bapp-opt__on { color: var(--brand-text); }
.bapp-opt .bapp-net__dot { width: 34px; height: 34px; font-size: 14px; }
.bapp .bx-steps { margin-bottom: 2px; }
.bapp-pay { margin-top: 12px; }
/* v0.5: 4 tabs + card (coming soon) */
.bapp .mapp-tabs { grid-template-columns: repeat(4, 1fr); }
.bapp-vcard { position: relative; display: block; width: 100%; aspect-ratio: 1.586; overflow: hidden; border-radius: 22px; background: #111111; border: 1px solid #262626; box-shadow: 0 18px 40px rgba(0, 0, 0, .45); color: #fff; }
.bapp-vcard__brand { position: absolute; left: 22px; top: 22px; display: flex; align-items: center; gap: 10px; font: 600 22px/1 var(--font-display); letter-spacing: -0.02em; }
.bapp-vcard__brand .bapp-mark { width: 30px; gap: 3px; }
.bapp-vcard__brand .bapp-mark i { height: 5px; }
.bapp-vcard__brand .bapp-mark i:nth-child(1) { width: 18px; margin-left: 12px; }
.bapp-vcard__brand .bapp-mark i:nth-child(2) { width: 24px; margin-left: 6px; }
.bapp-vcard__brand .bapp-mark i:nth-child(3) { width: 30px; }
.bapp-vcard__type { position: absolute; right: 22px; top: 24px; color: rgba(255, 255, 255, .6); font-size: 13px; }
.bapp-vcard__soon { position: absolute; left: 22px; top: 58px; padding: 4px 10px; border-radius: 999px; background: rgba(255, 255, 255, .1); color: var(--warning, #FFC24B); font: 600 11px/16px var(--font-mono); letter-spacing: .08em; text-transform: uppercase; }
.bapp-vcard__num { position: absolute; left: 22px; bottom: 22px; color: rgba(255, 255, 255, .85); font-size: 20px; letter-spacing: 3px; }
.bapp-vcard__art { position: absolute; right: -40px; bottom: -6px; display: grid; gap: 14px; opacity: .9; }
.bapp-vcard__art i { display: block; height: 34px; border-radius: 0 999px 999px 0; }
.bapp-vcard__art i:nth-child(1) { width: 130px; margin-left: 70px; background: var(--brand); }
.bapp-vcard__art i:nth-child(2) { width: 170px; margin-left: 30px; background: var(--lilac); }
.bapp-vcard__art i:nth-child(3) { width: 200px; background: var(--coral); }
.bapp-feats { display: grid; gap: 16px; padding: 20px; background: var(--surface); border: 1px solid var(--hair); border-radius: 24px; }
.bapp-feat { display: flex; align-items: center; gap: 14px; font-size: 15px; line-height: 21px; }
.bapp-feat__ic { width: 44px; height: 44px; border-radius: 50%; background: var(--surface-raised); color: var(--ink); }
.bapp-feats__note { margin: 4px 0 0; color: var(--ink-muted); font-size: 13px; line-height: 19px; }
/* v0.6: purple, header greeting, action pills, richer icons */
.bapp { --brand: #8B2CF5; --brand-text: #C9A6FF; --bx-brand: #8B2CF5; --bx-brand-text: #C9A6FF; }
.bapp .mapp-top { grid-template-columns: 40px 1fr 40px; }
.bapp[data-view="home"] .mapp-top { grid-template-columns: 1fr 40px; padding-left: 16px; }
.bapp[data-view="home"] .mapp-top [data-act="back"] { display: none; }
.bapp-hello { display: flex; align-items: center; gap: 10px; min-width: 0; }
.bapp-hello[hidden] { display: none !important; }
.bapp-hello__av { display: grid; place-items: center; flex: none; width: 40px; height: 40px; border-radius: 50%; background: linear-gradient(145deg, #B26BFF, #6A11CB); color: #fff; font: 700 14px/1 var(--font-body); box-shadow: 0 0 0 2px rgba(139, 44, 245, .35); }
.bapp-hello__t { display: grid; min-width: 0; line-height: 1.2; }
.bapp-hello__t span { color: var(--ink-muted); font-size: 13px; }
.bapp-hello__t strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 16px; font-weight: 700; }
.bapp .bapp-hcard { position: relative; overflow: hidden; gap: 0; padding: 20px 20px 22px; border-radius: 26px; background: linear-gradient(145deg, #B26BFF 0%, #8B2CF5 45%, #5B12C7 100%); box-shadow: 0 16px 36px rgba(139, 44, 245, .35); }
.bapp .bapp-hcard::after { content: ''; position: absolute; right: -70px; top: -60px; width: 240px; height: 240px; border-radius: 50%; background: rgba(255, 255, 255, .09); pointer-events: none; }
.bapp .bapp-hcard::before { content: ''; position: absolute; right: 30px; bottom: -110px; width: 200px; height: 200px; border-radius: 50%; background: rgba(255, 255, 255, .06); pointer-events: none; }
.bapp .bapp-hcard__top { position: relative; z-index: 1; margin: 0; }
.bapp-hcard__pill { padding: 7px 14px; border: 1px solid rgba(255, 255, 255, .4); border-radius: 999px; font-size: 13px; font-weight: 500; }
.bapp-hcard__row { position: relative; z-index: 1; display: flex; align-items: center; gap: 10px; margin-top: 16px; }
.bapp .bapp-hcard__value { font-size: clamp(32px, 10vw, 42px); margin: 0; }
.bapp-hcard__eye { display: grid; place-items: center; width: 38px; height: 38px; padding: 0; border: 0; border-radius: 50%; background: none; color: #fff; opacity: .85; cursor: pointer; }
.bapp-hcard__eye svg { width: 22px; height: 22px; stroke-width: 2; }
.bapp-pills { display: flex; gap: 10px; overflow-x: auto; padding-top: 10px; scrollbar-width: none; }
.bapp-pills::-webkit-scrollbar { display: none; }
.bapp-pill { position: relative; flex: none; display: inline-flex; align-items: center; gap: 9px; min-height: 52px; padding: 0 20px 0 10px; border: 1px solid var(--hair); border-radius: 999px; background: var(--surface); color: var(--ink); font: 600 15px/1 var(--font-body); cursor: pointer; }
.bapp-pill:active { transform: scale(.97); }
.bapp-pill__ic { width: 34px; height: 34px; border-radius: 50%; background: rgba(139, 44, 245, .2); color: var(--brand-text); }
.bapp-pill__ic svg { width: 18px; height: 18px; stroke-width: 2.3; }
.bapp-pill.is-soon { color: var(--ink-muted); }
.bapp-pill.is-soon .bapp-pill__ic { opacity: .45; }
.bapp-pill__soon { position: absolute; top: -9px; right: 12px; padding: 2px 6px; border: 1px solid var(--line); border-radius: 6px; background: var(--surface-raised); color: var(--ink-muted); font: 600 9px/12px var(--font-mono); letter-spacing: .06em; }
.bapp-row__ic, .bapp-feat__ic, .bapp-emptycard__ic, .bapp-pick2--static .bapp-coin { box-shadow: none; }
.bapp .bapp-row__ic, .bapp .bapp-feat__ic, .bapp .bapp-emptycard__ic { background: rgba(139, 44, 245, .16); color: var(--brand-text); }
.bapp .bapp-ic svg { stroke-width: 2.1; }
.bapp-tabs .mapp-tab { position: relative; gap: 3px; }
.bapp-tabs .mapp-tab svg { box-sizing: content-box; width: 22px; height: 22px; padding: 6px 14px; border-radius: 14px; transition: background .2s, box-shadow .2s, color .2s; }
.bapp-tabs .mapp-tab[aria-current="page"]::before { display: none; }
.bapp-tabs .mapp-tab[aria-current="page"] svg { color: #fff; background: var(--brand); box-shadow: 0 6px 18px rgba(139, 44, 245, .45); }
.bapp-tab__soon { position: absolute; top: -2px; right: 8px; padding: 1px 5px; border: 1px solid var(--line); border-radius: 5px; background: var(--surface-raised); color: var(--ink-muted); font: 600 8px/11px var(--font-mono); letter-spacing: .05em; text-transform: uppercase; }
.bapp-hcard__cur { margin-right: 3px; font-size: .55em; font-weight: 600; color: #E9D5FF; }
.bapp-pills .bapp-pill { flex: 1; justify-content: center; }
.bapp .mapp-top .bapp-bell { grid-column: -2; justify-self: end; }
/* v0.6.2: status screens + primary Convert */
.bapp-rcpt__amt--plain { color: var(--ink); }
.bapp-rcpt--progress .bapp-rcpt__head { background: rgba(139, 44, 245, .10); }
.bapp-rcpt--progress .bapp-rcpt__check { background: var(--brand); color: #fff; animation: bapp-ring 1.8s ease-out infinite; }
@keyframes bapp-ring { 0% { box-shadow: 0 0 0 0 rgba(139, 44, 245, .5); } 100% { box-shadow: 0 0 0 16px rgba(139, 44, 245, 0); } }
.bapp-rcpt--warn .bapp-rcpt__head { background: rgba(255, 194, 75, .08); }
.bapp-rcpt--warn .bapp-rcpt__check { background: var(--warning, #FFC24B); color: #000; box-shadow: 0 0 0 8px rgba(255, 194, 75, .14); }
.bapp-rcpt--muted .bapp-rcpt__head { background: rgba(255, 255, 255, .03); }
.bapp-rcpt--muted .bapp-rcpt__check { background: var(--surface-raised); color: var(--ink-muted); box-shadow: 0 0 0 8px rgba(255, 255, 255, .05); }
.bapp-rcpt--danger .bapp-rcpt__head { background: rgba(255, 84, 112, .08); }
.bapp-rcpt--danger .bapp-rcpt__check { background: var(--danger, #FF5470); color: #fff; box-shadow: 0 0 0 8px rgba(255, 84, 112, .14); }
.bapp-rcpt__check svg { stroke-width: 2.4; }
.bapp-center-link { justify-self: center; text-align: center; }
.bapp-pill.is-primary { border-color: transparent; background: var(--brand); color: #fff; box-shadow: 0 8px 22px rgba(139, 44, 245, .38); }
.bapp-pill.is-primary .bapp-pill__ic { background: rgba(255, 255, 255, .2); color: #fff; }
/* v0.6.3: smaller total, compact order rows, white Convert */
.bapp .bapp-hcard__value { font-size: 30px; letter-spacing: -0.02em; }
.bapp .bapp-hcard__cur { font-size: .6em; }
.bapp .bapp-order { padding: 11px 2px; }
.bapp .bapp-order strong { font-size: 13.5px; font-weight: 500; }
.bapp .bapp-order__l span { font-size: 11.5px; }
.bapp .bapp-order .bx-pill { font-size: 9.5px; padding: 1px 7px; }
.bapp-pill.is-primary { border-color: transparent; background: #fff; color: #0B0B10; box-shadow: 0 8px 22px rgba(0, 0, 0, .35); }
.bapp-pill.is-primary .bapp-pill__ic { background: rgba(139, 44, 245, .14); color: #8B2CF5; }
/* v0.6.4: coral Convert (trial) */
.bapp-pill.is-primary { border-color: transparent; background: #FF6B3D; color: #000; box-shadow: 0 6px 18px rgba(255, 107, 61, .22); }
.bapp-pill.is-primary .bapp-pill__ic { background: rgba(0, 0, 0, .14); color: #000; }
/* v0.6.5: back to white Convert */
.bapp-pill.is-primary { border-color: transparent; background: #fff; color: #0B0B10; box-shadow: 0 8px 22px rgba(0, 0, 0, .35); }
.bapp-pill.is-primary .bapp-pill__ic { background: rgba(139, 44, 245, .14); color: #8B2CF5; }
/* v0.6.6: light theme (preview: /app/?theme=light, back: ?theme=dark) */
html.bapp-light {
  --ground: #F5F4F9; --surface: #FFFFFF; --surface-raised: #F1EFF7; --line: #E4E1EC; --hair: #ECEAF2;
  --ink: #15131C; --ink-soft: #3B3846; --ink-muted: #6E6A7C;
  --brand: #8B2CF5; --on-brand: #FFFFFF; --brand-text: #7419DB;
  --coral: #FF6B3D; --coral-text: #D94A1A; --success: #0FA968; --warning: #F5A70A; --danger: #E5354F;
  color-scheme: light; background: var(--ground);
}
html.bapp-light .bapp { --brand-text: #7419DB; --bx-brand-text: #7419DB; color: var(--ink); }
html.bapp-light .mapp-body, html.bapp-light .mapp { background: var(--ground); }
@media (min-width: 600px) and (min-height: 640px) {
  html.bapp-light .mapp-body { background: #E8E6F0; }
  html.bapp-light .mapp { border-color: var(--line); box-shadow: 0 40px 100px -40px rgba(45, 20, 90, .28), 0 0 0 10px #FFFFFF, 0 0 0 11px var(--line); }
}
html.bapp-light .mapp-top { background: rgba(245, 244, 249, .86); border-bottom-color: transparent; }
html.bapp-light .mapp-tabs { background: rgba(255, 255, 255, .94); border-top-color: var(--hair); box-shadow: 0 -8px 24px rgba(30, 20, 60, .05); }
html.bapp-light .mapp-tab[aria-current="page"] { color: var(--ink); }

/* Cards float on the tinted ground */
html.bapp-light :is(.bapp-card, .bapp-limit, .bapp-group__box, .bapp-profile, .bapp-banner, .bapp-emptycard, .bapp-pair, .bapp-paycard, .bapp-guide, .bapp-note, .bapp-rcpt__card, .bapp-cv__box, .bapp-cv__details, .bapp-feats, .bapp-bankpick, .bapp-sw, .bapp-pill, .bx-row, .bx-summary) {
  border-color: var(--hair); box-shadow: 0 1px 2px rgba(30, 20, 60, .04), 0 6px 20px rgba(30, 20, 60, .05);
}
html.bapp-light .bapp-order { border-top-color: var(--hair); }

/* Home */
html.bapp-light .bapp-hcard { box-shadow: 0 18px 40px -14px rgba(139, 44, 245, .55); }
html.bapp-light .bapp-pill.is-primary { background: var(--ink); color: #FFFFFF; border-color: transparent; box-shadow: 0 10px 24px -8px rgba(21, 19, 28, .45); }
html.bapp-light .bapp-pill.is-primary .bapp-pill__ic { background: rgba(255, 255, 255, .14); color: #FFFFFF; }
html.bapp-light .bapp-pill__ic { background: rgba(139, 44, 245, .1); color: var(--brand); }
html.bapp-light .bapp-banner__btn { background: var(--ink); color: #FFFFFF; }
html.bapp-light .bapp-hello__t strong { color: var(--ink); }

/* Status, receipts, sheets */
html.bapp-light .bapp-rcpt--muted .bapp-rcpt__head { background: rgba(21, 19, 28, .03); }
html.bapp-light .bapp-rcpt--muted .bapp-rcpt__check { box-shadow: 0 0 0 8px rgba(21, 19, 28, .04); }
html.bapp-light .bapp-rcpt--warn .bapp-rcpt__head { background: rgba(245, 167, 10, .1); }
html.bapp-light .bapp-sheet.is-open { background: rgba(21, 19, 28, .35); }
html.bapp-light .bapp-sheet__panel { background: var(--surface); }
html.bapp-light .bapp-qr, html.bapp-light .bx-qr { border: 1px solid var(--line); }
html.bapp-light .bapp-warn--soft { background: rgba(245, 167, 10, .1); }
html.bapp-light .bx-btn--secondary { background: var(--surface); color: var(--ink); border-color: var(--line); }
html.bapp-light .bapp-bell__dot { box-shadow: 0 0 0 2px var(--ground); }
/* v0.6.7: top-bar buttons reset (both themes) + light polish */
.bapp .mapp-top__btn { padding: 0; border: 1px solid var(--hair); border-radius: 50%; background: var(--surface); color: var(--ink); cursor: pointer; font: inherit; }
.bapp .mapp-top__btn:focus-visible { outline: 2px solid var(--brand); outline-offset: 2px; }
html.bapp-light .bapp .mapp-top__btn { border-color: var(--line); box-shadow: 0 2px 8px rgba(30, 20, 60, .06); }
html.bapp-light .bapp-pills { padding-bottom: 16px; margin-bottom: -6px; }
html.bapp-light .bapp-list { padding: 2px 14px; border: 1px solid var(--hair); border-radius: 20px; background: var(--surface); box-shadow: 0 1px 2px rgba(30, 20, 60, .04), 0 6px 20px rgba(30, 20, 60, .05); }
html.bapp-light .bx-pill--success { color: #0A8A55; }
html.bapp-light .bx-pill--warning { color: #A86A00; }
html.bapp-light .bx-pill--danger { color: #D02A44; }
html.bapp-light .bapp-pills { overflow: visible; padding-bottom: 10px; margin-bottom: 0; }
/* v0.6.8: amounts never truncate */
.bapp .bapp-rcpt__amt { white-space: nowrap; font-size: clamp(22px, 7.6vw, 34px); }
.bapp-sw .bapp-cv__out { text-overflow: clip; }
/* v0.7.0: roomier top bar + generated avatars */
.bapp .mapp-top { padding: calc(env(safe-area-inset-top, 0px) + 14px) 16px 12px; }
.bapp .bapp-hello__av, .bapp .bapp-avatar { overflow: hidden; background: var(--surface-raised); }
.bapp .bapp-hello__av { box-shadow: 0 0 0 2px var(--surface), 0 0 0 3px var(--line); }
.bapp .bapp-hello__av svg, .bapp .bapp-avatar svg { display: block; width: 100%; height: 100%; }
/* v0.7.5: gradient virtual card */
.bapp .bapp-vcard { border: 0; background: radial-gradient(120% 90% at 100% 0%, #C98BFF 0%, rgba(201,139,255,0) 55%), radial-gradient(90% 80% at 0% 100%, #3A0A8A 0%, rgba(58,10,138,0) 62%), linear-gradient(135deg, #6A10DE 0%, #8B2CF5 48%, #B35BFF 100%); box-shadow: 0 26px 50px -20px rgba(106,16,222,.65), inset 0 1px 0 rgba(255,255,255,.28); }
.bapp .bapp-vcard::after { content: ''; position: absolute; inset: 0; border-radius: inherit; background: linear-gradient(115deg, rgba(255,255,255,0) 38%, rgba(255,255,255,.16) 50%, rgba(255,255,255,0) 62%); pointer-events: none; }
.bapp .bapp-vcard__art { opacity: 1; }
.bapp .bapp-vcard__art i:nth-child(1) { background: rgba(255,255,255,.34); }
.bapp .bapp-vcard__art i:nth-child(2) { background: rgba(255,255,255,.22); }
.bapp .bapp-vcard__art i:nth-child(3) { background: rgba(255,255,255,.13); }
.bapp .bapp-vcard__brand .bapp-mark i { background: #FFFFFF; }
.bapp .bapp-vcard__brand .bapp-mark i:nth-child(2) { opacity: .75; }
.bapp .bapp-vcard__brand .bapp-mark i:nth-child(3) { opacity: .5; }
.bapp .bapp-vcard__type { color: rgba(255,255,255,.8); }
.bapp .bapp-vcard__soon { background: rgba(255,255,255,.2); color: #FFFFFF; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.bapp .bapp-vcard__num { color: #FFFFFF; }
