/* Forms and invoice components; no portal shell rules. */
.bn-preferences-layout { display:grid; grid-template-columns:minmax(0,2fr) minmax(280px,1fr); gap:1.5rem; align-items:start; }
.bn-channel-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin-top:1.25rem; }
.bn-channel-card { display:grid; grid-template-columns:44px minmax(0,1fr) auto; gap:1rem; align-items:center; min-height:118px; padding:1.15rem; border:1px solid rgba(104,122,151,.18); border-radius:17px; background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(246,249,253,.92)); transition:.2s ease; }
.bn-channel-card:hover { transform:translateY(-2px); border-color:rgba(49,100,244,.32); box-shadow:0 14px 30px rgba(15,46,88,.09); }
.bn-channel-card.is-enabled { border-color:rgba(33,180,122,.22); background:linear-gradient(145deg,#fff,rgba(235,252,246,.72)); }
.bn-channel-icon { display:grid; place-items:center; width:44px; height:44px; border-radius:14px; color:var(--bn-blue); background:linear-gradient(135deg,rgba(49,100,244,.13),rgba(34,199,220,.12)); }
.bn-channel-icon svg { width:22px; height:22px; }
.bn-channel-copy { display:grid; gap:.38rem; min-width:0; }
.bn-channel-copy strong { color:#10213c; font-size:.93rem; }
.bn-channel-copy p,.bn-channel-copy span { margin:0; color:#687991; font-size:.82rem; line-height:1.45; }
.bn-preferences-form { display:grid; gap:1.2rem; }
.bn-channel-toggle { cursor:pointer; }
.bn-channel-toggle > input { position:absolute; opacity:0; pointer-events:none; }
.bn-switch { position:relative; width:42px; height:24px; border-radius:999px; background:#c9d3e1; transition:.2s; }
.bn-switch::after { content:''; position:absolute; top:3px; left:3px; width:18px; height:18px; border-radius:50%; background:#fff; box-shadow:0 2px 6px rgba(0,0,0,.2); transition:.2s; }
.bn-channel-toggle input:checked + .bn-switch { background:linear-gradient(135deg,var(--bn-blue),var(--bn-indigo)); }
.bn-channel-toggle input:checked + .bn-switch::after { transform:translateX(18px); }
.bn-consent { display:flex; align-items:flex-start; gap:.75rem; padding:1rem; border-radius:14px; color:#53647d; background:rgba(49,100,244,.06); font-size:.86rem; line-height:1.5; }
.bn-consent input { margin-top:.2rem; accent-color:var(--bn-blue); }
.bn-privacy-section { position:sticky; top:90px; }
.bn-privacy-copy { color:#64758d; font-size:.9rem; line-height:1.65; }
.bn-privacy-list { display:grid; gap:.85rem; margin-top:1.1rem; }
.bn-privacy-list > div { display:flex; gap:.7rem; align-items:flex-start; color:#42536c; font-size:.86rem; line-height:1.45; }
.bn-privacy-list svg { flex:0 0 auto; width:20px; height:20px; color:#17a56b; }
.dark .bn-channel-card { background:linear-gradient(145deg,rgba(20,38,65,.95),rgba(13,28,50,.92)); border-color:rgba(160,184,220,.14); }
.dark .bn-channel-card.is-enabled { background:linear-gradient(145deg,rgba(18,47,55,.95),rgba(13,31,50,.92)); }
.dark .bn-channel-copy strong { color:#f4f8ff; }

.bn-page-stack { display:grid; gap:1.5rem; }
.bn-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.bn-preview-toolbar,.bn-welcome-actions { display:flex; align-items:center; justify-content:space-between; gap:1.25rem; }
.bn-preview-toolbar form { width:min(100%,430px); }
.bn-control { display:block; width:100%; min-height:44px; padding:.68rem .82rem; border:1px solid #d5deea; border-radius:12px; color:#20314a; background:#fff; font:inherit; outline:none; transition:border-color .18s ease,box-shadow .18s ease,background .18s ease; }
.bn-control:focus { border-color:rgba(49,100,244,.62); box-shadow:0 0 0 4px rgba(49,100,244,.1); }
textarea.bn-control { resize:vertical; line-height:1.55; }
.bn-customer-id { display:grid; gap:.18rem; padding:.7rem 1rem; border:1px solid rgba(49,100,244,.14); border-radius:14px; background:linear-gradient(135deg,rgba(49,100,244,.07),rgba(34,199,220,.06)); }
.bn-customer-id span { color:#718199; font-size:.67rem; font-weight:750; letter-spacing:.08em; text-transform:uppercase; }
.bn-customer-id strong { color:#214a9e; font-size:1.02rem; }
.bn-action-row { display:flex; flex-wrap:wrap; gap:.65rem; }
.bn-announcement-list { display:grid; gap:.85rem; }
.bn-announcement { padding:1.05rem 1.15rem; border:1px solid #e1e8f1; border-radius:15px; background:linear-gradient(145deg,#fff,#f9fbfd); }
.bn-announcement > div { display:flex; align-items:center; gap:.65rem; }
.bn-announcement time { margin-left:auto; color:#7c8ba1; font-size:.74rem; }
.bn-announcement p { margin:.7rem 0 0; color:#596a82; font-size:.87rem; line-height:1.6; white-space:pre-line; }
.bn-form { display:grid; gap:1.2rem; max-width:1040px; margin-top:.4rem; }
.bn-form-grid { display:grid; gap:1rem; }
.bn-form-grid.cols-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.bn-form-grid.cols-addon { grid-template-columns:minmax(0,2fr) minmax(130px,.55fr); }
.bn-field { display:grid; align-content:start; gap:.48rem; }
.bn-field label { color:#34465f; font-size:.82rem; font-weight:700; }
.bn-form-actions { display:flex; justify-content:flex-start; padding-top:.15rem; }
.bn-support-section .bn-form { max-width:920px; }
.bn-form-section .fi-section-content-ctn { background:linear-gradient(180deg,rgba(255,255,255,.5),rgba(248,250,253,.42)); }
.dark .bn-control { color:#edf4ff; border-color:rgba(155,180,215,.18); background:rgba(255,255,255,.055); }
.dark .bn-announcement { border-color:rgba(155,180,215,.14); background:linear-gradient(145deg,rgba(20,38,65,.92),rgba(13,28,50,.9)); }
.dark .bn-announcement p,.dark .bn-field label { color:#b9c8dc; }

/* Guided service request experience. */
.bn-request-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(270px,.34fr); gap:1.5rem; align-items:start; }
.bn-request-layout [x-cloak] { display:none !important; }
.bn-request-aside { position:sticky; top:90px; }
.bn-request-type-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.75rem; }
.bn-request-type-card { position:relative; display:grid; width:100%; gap:.5rem; min-height:144px; padding:1rem; cursor:pointer; appearance:none; text-align:left; font:inherit; opacity:1; border:1px solid #d6e1ef; border-radius:16px; color:#354b69; background:linear-gradient(145deg,#fff,#f5f8fd); box-shadow:0 5px 14px rgba(17,48,93,.045); transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease; }
.bn-request-type-card:hover { transform:translateY(-2px); border-color:rgba(49,100,244,.35); box-shadow:0 12px 26px rgba(17,48,93,.09); }
.bn-request-type-card:focus-visible { outline:3px solid rgba(49,100,244,.25); outline-offset:2px; }
.bn-request-type-card.is-selected { border-color:#3164f4; color:#123b91; background:linear-gradient(145deg,rgba(49,100,244,.15),rgba(34,199,220,.1)); box-shadow:0 10px 24px rgba(49,100,244,.14),inset 0 0 0 1px rgba(49,100,244,.2); }
.bn-request-type-check { position:absolute; top:.72rem; right:.72rem; display:grid!important; place-items:center; width:25px; height:25px; border-radius:999px; color:#fff!important; background:#3164f4; box-shadow:0 5px 12px rgba(49,100,244,.28); }
.bn-request-type-check svg { width:15px!important; height:15px!important; color:inherit!important; }
.bn-request-conditional.is-hidden { display:none!important; }
.bn-consultation-contact { display:grid; gap:1rem; padding:1.1rem; border:1px solid #cbdcf5; border-radius:16px; background:linear-gradient(145deg,#f7fbff,#eef5ff); box-shadow:0 8px 22px rgba(36,83,153,.07); }
.bn-consultation-heading { display:flex; align-items:flex-start; gap:.8rem; }
.bn-consultation-heading > div { display:grid; gap:.2rem; }
.bn-consultation-heading strong { color:#173d78; font-size:1rem; }
.bn-consultation-heading span { color:#5f7390; font-size:.8rem; line-height:1.45; }
.bn-consultation-icon { display:grid; flex:0 0 auto; place-items:center; width:38px; height:38px; border-radius:12px; color:#fff; background:linear-gradient(135deg,#3164f4,#1689bd); }
.bn-consultation-icon svg { width:20px; height:20px; }
.bn-consultation-owner { padding:.65rem .75rem; border-radius:10px; color:#355477; background:rgba(49,100,244,.08); font-size:.78rem; font-weight:650; }
.bn-consultation-details { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.65rem; }
.bn-consultation-details > span { display:grid; gap:.2rem; min-width:0; padding:.75rem; border:1px solid rgba(101,132,177,.18); border-radius:12px; background:rgba(255,255,255,.75); }
.bn-consultation-details small { color:#6d7f98; font-size:.7rem; }
.bn-consultation-details strong { overflow-wrap:anywhere; color:#243f64; font-size:.82rem; }
.bn-consultation-actions { display:flex; flex-wrap:wrap; gap:.55rem; }
.bn-consultation-actions a { display:inline-flex; align-items:center; gap:.4rem; min-height:38px; padding:.55rem .8rem; border:1px solid #bfd0eb; border-radius:10px; color:#214c91; background:#fff; font-size:.78rem; font-weight:750; transition:transform .15s ease,border-color .15s ease,background .15s ease; }
.bn-consultation-actions a:hover { transform:translateY(-1px); border-color:#6f96dc; background:#f7faff; }
.bn-consultation-actions svg { width:16px; height:16px; }
.bn-request-type-card svg { width:23px; height:23px; color:var(--bn-blue); }
.bn-request-type-card span { color:inherit; font-size:.87rem; font-weight:780; line-height:1.35; }
.bn-request-type-card small { color:#72829a; font-size:.74rem; line-height:1.42; }
.bn-request-context { display:flex; align-items:flex-start; gap:.75rem; padding:1rem 1.05rem; border:1px solid rgba(49,100,244,.16); border-radius:14px; color:#39516f; background:linear-gradient(135deg,rgba(49,100,244,.075),rgba(34,199,220,.055)); }
.bn-request-context > svg { flex:0 0 auto; width:21px; height:21px; color:var(--bn-blue); }
.bn-request-context > div { display:grid; gap:.18rem; }
.bn-request-context strong { color:#24447a; font-size:.9rem; }
.bn-request-context span,.bn-field-help { color:#6f8098; font-size:.78rem; line-height:1.45; }
.bn-request-addon-list { display:grid; gap:.8rem; padding:1rem; border:1px solid #e3eaf3; border-radius:15px; background:#fafcff; }
.bn-request-addon-list > div { display:grid; gap:.18rem; }
.bn-request-addon-list > div strong { color:#304963; font-size:.86rem; }
.bn-request-addon-list > div span { color:#718199; font-size:.76rem; }
.bn-request-addon-list > label { display:grid; grid-template-columns:minmax(0,1fr) 116px; align-items:center; gap:1rem; padding-top:.75rem; border-top:1px solid #e8edf4; color:#40556f; font-size:.84rem; font-weight:650; }
.bn-request-addon-list label small { display:block; margin-top:.15rem; color:#7d8ca1; font-size:.72rem; font-weight:500; }
.bn-request-process { display:grid; gap:.9rem; margin:0; padding:0; list-style:none; counter-reset:request-process; }
.bn-request-process li { position:relative; min-height:28px; padding:.16rem 0 .16rem 2.5rem; color:#53677f; font-size:.84rem; line-height:1.45; counter-increment:request-process; }
.bn-request-process li::before { content:counter(request-process); position:absolute; inset:.02rem auto auto 0; display:grid; width:25px; height:25px; place-items:center; border-radius:999px; color:#1f5cdd; background:rgba(49,100,244,.1); font-size:.72rem; font-weight:800; }
.bn-request-process li:not(:last-child)::after { content:''; position:absolute; top:1.72rem; bottom:-.75rem; left:12px; width:1px; background:#d9e5f5; }
.dark .bn-request-type-card { opacity:1; border-color:#38506f; color:#d8e5f7; background:linear-gradient(145deg,#182d49,#10243e); box-shadow:0 8px 20px rgba(0,0,0,.2); }
.dark .bn-request-type-card:hover { border-color:#6285b8; color:#f1f6ff; background:linear-gradient(145deg,#1d3759,#142c4b); }
.dark .bn-request-type-card.is-selected { color:#fff; border-color:#72a0ff; background:linear-gradient(145deg,#244a8e,#173f76); box-shadow:0 12px 28px rgba(30,75,160,.34),inset 0 0 0 1px rgba(139,177,255,.3); }
.dark .bn-request-type-card.is-selected small { color:#d6e6ff; }
.dark .bn-consultation-contact { border-color:#385b87; background:linear-gradient(145deg,#152c49,#10243e); box-shadow:0 10px 26px rgba(0,0,0,.24); }
.dark .bn-consultation-heading strong { color:#eff6ff; }
.dark .bn-consultation-heading span { color:#b9cbe2; }
.dark .bn-consultation-owner { color:#d4e4fa; background:rgba(93,145,255,.14); }
.dark .bn-consultation-details > span { border-color:#365270; background:rgba(8,23,41,.48); }
.dark .bn-consultation-details small { color:#9fb4cf; }
.dark .bn-consultation-details strong { color:#e3efff; }
.dark .bn-consultation-actions a { border-color:#46678d; color:#dcecff; background:#193451; }
.dark .bn-consultation-actions a:hover { border-color:#77a3df; background:#204162; }
.dark .bn-request-type-card small,.dark .bn-request-context span,.dark .bn-field-help { color:#aebed4; }
.dark .bn-request-context,.dark .bn-request-addon-list { border-color:rgba(155,180,215,.14); color:#c8d7eb; background:rgba(20,38,65,.7); }
.dark .bn-request-context strong,.dark .bn-request-addon-list > div strong { color:#eef5ff; }
.dark .bn-request-addon-list > label { border-color:rgba(155,180,215,.12); color:#dce7f6; }
.dark .bn-request-process li { color:#c3d3e7; }
.dark .bn-request-process li:not(:last-child)::after { background:rgba(155,180,215,.22); }

.fi-simple-layout { background: radial-gradient(circle at 50% 0%, rgba(24,182,217,.18), transparent 35rem), #eef4fb; }
.dark .fi-simple-layout { background: radial-gradient(circle at 50% 0%, rgba(24,182,217,.11), transparent 32rem), #07101f; }
.fi-simple-main { border: 1px solid var(--bn-border); border-radius: 24px; box-shadow: 0 28px 70px rgba(7,26,58,.15); }

@media (max-width: 768px) {
    .fi-main { padding-top: 1rem; }
    .fi-section, .fi-ta, .fi-wi-stats-overview-stat { border-radius: 16px; }
    .fi-section-header, .fi-section-content { padding: 1.1rem; }
    .bn-preferences-layout,.bn-channel-grid,.bn-request-layout { grid-template-columns:1fr; }
    .bn-privacy-section { position:static; }
    .bn-preview-toolbar,.bn-welcome-actions { align-items:stretch; flex-direction:column; }
    .bn-preview-toolbar form { width:100%; }
    .bn-action-row { width:100%; }
    .bn-form-grid.cols-2,.bn-form-grid.cols-addon { grid-template-columns:1fr; }
    .bn-announcement > div { align-items:flex-start; flex-wrap:wrap; }
    .bn-announcement time { width:100%; margin-left:0; }
    .bn-request-aside { position:static; }
    .bn-request-type-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .bn-consultation-details { grid-template-columns:1fr; }
}

@media (max-width: 480px) {
    .bn-support-section .bn-form-actions .fi-btn { width:100%; justify-content:center; }
    .bn-request-type-grid { grid-template-columns:1fr; }
    .bn-request-type-card { min-height:0; grid-template-columns:24px 1fr; align-items:center; }
    .bn-request-type-card small { grid-column:2; }
    .bn-request-addon-list > label { grid-template-columns:1fr; gap:.55rem; }
}

/* Native Filament descendant detail pages. */
.bn-detail-page { display:grid; gap:1.25rem; }
.bn-detail-page .module-header { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.6rem; border:1px solid rgba(125,157,211,.12); border-radius:20px; color:#fff; background:radial-gradient(circle at 90% 0,rgba(70,103,235,.3),transparent 22rem),linear-gradient(135deg,#0a1930,#102d56); box-shadow:0 20px 45px rgba(10,29,60,.16); }
.bn-detail-page .module-header h2 { margin:.25rem 0; font-size:1.65rem; font-weight:800; }
.bn-detail-page .module-header p,.bn-detail-page .module-header small { margin:0; color:#bed1eb; }
.bn-detail-page .badge { display:inline-flex; padding:.4rem .72rem; border-radius:999px; color:#116347; background:#dff7ec; font-size:.72rem; font-weight:750; }
.bn-detail-page .panel,.bn-detail-page .portal-payment-overview article { padding:1.3rem; border:1px solid var(--bn-border); border-radius:18px; background:var(--bn-surface); box-shadow:var(--bn-shadow); }
.bn-detail-page .portal-payment-overview { margin:0; }
.bn-detail-page .portal-payment-overview article { display:grid; gap:.4rem; min-height:125px; }
.bn-detail-page .portal-payment-overview article > small { color:#73839a; font-size:.75rem; }
.bn-detail-page .portal-payment-overview article > strong { color:#10213c; font-size:1.4rem; }
.bn-detail-page .portal-payment-overview article > span { color:#687991; font-size:.83rem; }
.bn-detail-page .invoice-sheet-head { display:flex; justify-content:space-between; gap:1.5rem; margin-bottom:1.2rem; padding-bottom:1.1rem; border-bottom:1px solid #e5ebf3; }
.bn-detail-page .invoice-sheet-head > div:last-child { display:grid; justify-items:end; gap:.3rem; text-align:right; }
.bn-detail-page .table-wrap { overflow-x:auto; border:1px solid #e6ecf4; border-radius:14px; }
.bn-detail-page table { width:100%; border-collapse:collapse; }
.bn-detail-page th { padding:.85rem; color:#697991; background:#f5f8fc; font-size:.72rem; letter-spacing:.06em; text-align:left; text-transform:uppercase; }
.bn-detail-page td { padding:.9rem .85rem; border-top:1px solid #edf1f6; }
.bn-detail-page .invoice-totals { display:grid; gap:.65rem; width:min(100%,390px); margin:1.2rem 0 0 auto; }
.bn-detail-page .invoice-totals > span { display:flex; justify-content:space-between; gap:1rem; color:#65758c; }
.bn-detail-page .invoice-totals .grand-total { padding-top:.8rem; border-top:1px solid #dfe7f0; color:#172840; font-size:1.05rem; }
.bn-detail-page .portal-invoice-actions { display:grid; gap:.85rem; }
.bn-detail-page .portal-payment-status { display:grid; gap:.32rem; padding:1rem; border-radius:14px; background:#f4f7fb; }
.bn-detail-page .button { display:inline-flex; justify-content:center; align-items:center; min-height:44px; padding:.7rem 1rem; border:0; border-radius:12px; text-decoration:none; font-weight:700; }
.bn-detail-page .button.primary { color:#fff; background:linear-gradient(135deg,#3164f4,#6657e8); box-shadow:0 9px 20px rgba(49,100,244,.2); }
.bn-detail-page .button.ghost { color:#315fcf; border:1px solid #d5e0ef; background:#fff; }
.bn-detail-page .notice { padding:.9rem 1rem; border:1px solid #cfddf2; border-radius:13px; color:#355e94; background:#f3f8ff; font-size:.84rem; line-height:1.5; }
.dark .bn-detail-page .panel,.dark .bn-detail-page .portal-payment-overview article { background:rgba(13,27,49,.88); border-color:rgba(148,180,220,.12); }
.dark .bn-detail-page .portal-payment-overview article > strong { color:#f4f8ff; }
@media(max-width:900px){.bn-detail-page .portal-invoice-layout{grid-template-columns:1fr}.bn-detail-page .portal-payment-overview{grid-template-columns:1fr}.bn-detail-page .portal-invoice-actions{position:static}.bn-detail-page .module-header{align-items:flex-start;flex-direction:column}}

.bn-invoice-detail { --bn-invoice-soft:#f7f9fc; --bn-invoice-strong:#16263d; }
.bn-invoice-summary-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.bn-invoice-metric { position:relative; display:grid; gap:.42rem; min-height:118px; padding:1.15rem 1.2rem; overflow:hidden; border:1px solid var(--bn-foundation-line); border-radius:13px; background:var(--bn-invoice-soft); }
.bn-invoice-metric::before { content:''; position:absolute; inset-block:0; inset-inline-start:0; width:3px; background:#6783a8; }
.bn-invoice-metric.is-warning::before { background:#e5a11a; }
.bn-invoice-metric.is-success::before { background:#21a875; }
.bn-invoice-metric > span,.bn-invoice-customer span,.bn-payment-status > span { color:var(--bn-foundation-muted); font-size:.76rem; font-weight:650; }
.bn-invoice-metric > strong { color:var(--bn-invoice-strong); font-size:1.42rem; font-weight:760; letter-spacing:-.025em; }
.bn-invoice-metric > small,.bn-invoice-customer small,.bn-payment-status small { color:var(--bn-foundation-muted); font-size:.78rem; line-height:1.45; }
.bn-invoice-content-grid { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:1.25rem; align-items:start; }
.bn-invoice-content-grid > * { min-width:0; }
.bn-invoice-content-grid > aside .fi-section { position:sticky; top:92px; }
.bn-invoice-customer { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin-bottom:1.15rem; }
.bn-invoice-customer > div { display:grid; gap:.3rem; padding:1rem; border:1px solid var(--bn-foundation-line); border-radius:12px; background:var(--bn-invoice-soft); }
.bn-invoice-customer strong { color:var(--bn-invoice-strong); font-size:.94rem; }
.bn-invoice-table-wrap { width:100%; overflow-x:auto; border:1px solid var(--bn-foundation-line); border-radius:12px; }
.bn-invoice-table { width:100%; min-width:620px; border-collapse:collapse; }
.bn-invoice-table th { padding:.75rem .9rem; color:#65758c; background:#f3f6fa; font-size:.7rem; font-weight:720; letter-spacing:.055em; text-align:start; text-transform:uppercase; }
.bn-invoice-table th:not(:first-child),.bn-invoice-table td:not(:first-child) { text-align:end; }
.bn-invoice-table td { padding:.9rem; border-top:1px solid var(--bn-foundation-line); color:var(--bn-invoice-strong); font-size:.84rem; }
.bn-invoice-totals { display:grid; gap:.62rem; width:min(100%,410px); margin:1.2rem 0 0 auto; }
.bn-invoice-totals > div { display:flex; justify-content:space-between; gap:1rem; color:var(--bn-foundation-muted); font-size:.84rem; }
.bn-invoice-totals strong { color:var(--bn-invoice-strong); }
.bn-invoice-totals small { margin-inline-start:.25rem; }
.bn-invoice-totals .is-grand { margin-top:.15rem; padding-top:.8rem; border-top:1px solid var(--bn-foundation-line); color:var(--bn-invoice-strong); font-size:1rem; }
.bn-payment-history { display:grid; }
.bn-payment-history > div:not(.bn-empty-inline) { display:grid; grid-template-columns:minmax(0,1fr) auto auto auto; align-items:center; gap:.8rem; padding:.85rem 0; border-bottom:1px solid var(--bn-foundation-line); font-size:.83rem; }
.bn-payment-history > div:last-child { border-bottom:0; }
.bn-payment-history span { color:var(--bn-foundation-muted); }
.bn-payment-history strong { color:var(--bn-invoice-strong); }
.bn-payment-history .bn-payment-receipt-pending { max-width:10rem; text-align:end; font-size:.75rem; line-height:1.35; }
.bn-empty-inline { display:flex; align-items:center; gap:.65rem; padding:.75rem 0; color:var(--bn-foundation-muted); font-size:.84rem; }
.bn-empty-inline .fi-icon { width:1.2rem; height:1.2rem; }
.bn-payment-panel .fi-section-content { display:grid; gap:1rem; }
.bn-payment-status { position:relative; display:grid; gap:.35rem; padding:1rem; overflow:hidden; border:1px solid var(--bn-foundation-line); border-radius:12px; background:var(--bn-invoice-soft); }
.bn-payment-status::before { content:''; position:absolute; inset-block:0; inset-inline-start:0; width:3px; background:#e5a11a; }
.bn-payment-status.is-paid::before { background:#21a875; }
.bn-payment-status strong { color:var(--bn-invoice-strong); font-size:1rem; }
.bn-payment-actions { display:grid; gap:.75rem; }
.bn-payment-actions .fi-btn,.bn-payment-actions form .fi-btn { width:100%; }
.bn-inline-notice { display:grid; gap:.3rem; padding:.85rem .9rem; border:1px solid #cbdcf2; border-radius:11px; color:#315b8e; background:#f4f8fd; font-size:.78rem; line-height:1.48; }
.bn-inline-notice.is-success { border-color:#bee6d4; color:#176a4d; background:#f1faf6; }
.bn-inline-notice.is-danger { border-color:#efc6ca; color:#963844; background:#fff5f6; }
.dark .bn-invoice-detail { --bn-invoice-soft:#132238; --bn-invoice-strong:#f1f5fb; }
.dark .bn-invoice-metric,.dark .bn-invoice-customer > div,.dark .bn-payment-status { border-color:rgba(255,255,255,.09); }
.dark .bn-invoice-table th { color:#a9b8cc; background:#14243a; }
.dark .bn-invoice-table td { color:#eef4fc; }
.dark .bn-inline-notice { border-color:rgba(117,164,222,.28); color:#b8d2f3; background:rgba(45,91,149,.16); }
.dark .bn-inline-notice.is-success { border-color:rgba(54,183,133,.28); color:#a9e5cc; background:rgba(25,115,80,.16); }
.dark .bn-inline-notice.is-danger { border-color:rgba(224,101,116,.28); color:#f2bcc3; background:rgba(145,44,57,.16); }
@media(max-width:1050px){.bn-invoice-content-grid{grid-template-columns:1fr}.bn-invoice-content-grid>aside .fi-section{position:static}}
@media(max-width:720px){.bn-invoice-summary-grid,.bn-invoice-customer{grid-template-columns:1fr}.bn-payment-history>div:not(.bn-empty-inline){grid-template-columns:1fr;gap:.35rem}.bn-invoice-metric{min-height:auto}}

/* Verified customer contact changes. */
.bn-profile-header-actions { display:flex; align-items:center; justify-content:flex-end; gap:.55rem; flex-wrap:wrap; }
.bn-contact-layout { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:1.25rem; align-items:start; }
.bn-contact-layout > aside .fi-section { position:sticky; top:92px; }
.bn-contact-current-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; }
.bn-contact-current-grid > div { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:.25rem .7rem; padding:1rem; border:1px solid var(--bn-foundation-line); border-radius:12px; background:#f8fafc; }
.bn-contact-current-grid .fi-icon { grid-row:1/3; width:1.2rem; height:1.2rem; color:#5477a4; }
.bn-contact-current-grid span,.bn-contact-form label > span { color:var(--bn-foundation-muted); font-size:.74rem; font-weight:650; }
.bn-contact-current-grid strong { overflow-wrap:anywhere; color:var(--bn-foundation-text); font-size:.9rem; }
.bn-contact-form { display:grid; gap:1rem; max-width:680px; }
.bn-contact-form label { display:grid; gap:.4rem; }
.bn-field-error { color:#c13d4d; font-size:.74rem; }
.bn-contact-safety { display:grid; gap:.8rem; }
.bn-contact-safety > div { display:flex; align-items:flex-start; gap:.55rem; color:var(--bn-foundation-muted); font-size:.8rem; line-height:1.45; }
.bn-contact-safety .fi-icon { flex:0 0 auto; width:1.05rem; height:1.05rem; margin-top:.1rem; color:#1fa475; }
.dark .bn-contact-current-grid > div { border-color:rgba(255,255,255,.09); background:#132238; }
.dark .bn-contact-current-grid strong { color:#f1f5fb; }
@media(max-width:900px){.bn-contact-layout{grid-template-columns:1fr}.bn-contact-layout>aside .fi-section{position:static}}
@media(max-width:620px){.bn-contact-current-grid{grid-template-columns:1fr}.bn-profile-header-actions{justify-content:flex-start}}