/* =====================================================================================================================
   Liabilities area (Liabilities, Credit Cards, Mortgages, Student Loans, Card Spend Alerts).
   The web port of the mobile Liabilities dashboard on the Bills & Utilities surface (rc-*) and the Intelligence chart
   and metric recipe (ai-*), in the liability rose. Debt is never green: green means paid down or healthy only.
   Tokens are lb-prefixed on :root (light) and [data-bs-theme="dark"], so the sheets that render outside the page
   frame share them.
   ===================================================================================================================== */

:root {
    --lb-rose: #E11D48;
    --lb-rose-strong: #BE123C;
    --lb-rose-soft: #FFE4E8;
    --lb-icon: #EF4444;
    --lb-icon-bg: #FEE2E2;
    --lb-border: #F0C8D0;
    --lb-pill-bg: #FEF3C7;
    --lb-pill-text: #B45309;
    --lb-hero-bg: linear-gradient(158deg, #F6D3DA 0%, #FBE9EC 45%, #FFFFFF 100%);
    --lb-hero-line: #DC2626;
    --lb-hero-secondary: #F87171;
    --lb-hero-area: rgba(220, 38, 38, .22);
    --lb-tile: rgba(255, 255, 255, .62);
    --lb-tile-strong: #FFFFFF;
    --lb-track: #EEF0F7;
    --lb-positive: #16A34A;
    --lb-positive-soft: #DCFCE7;
    --lb-caution: #B45309;
    --lb-caution-soft: #FEF3C7;
    --lb-negative: #DC2626;
    --lb-negative-soft: #FEE2E2;
    --lb-neutral-soft: #EEF0F6;
    --lb-accent: hsl(calc(247.83deg + var(--ci-accent-shift, 0deg)) 76.3% 58.63%);
    --lb-accent-soft: hsl(calc(249deg + var(--ci-accent-shift, 0deg)) 100% 96.08%);
    --lb-credit: #FF8FA3;
    --lb-loan: #FF4B73;
    --lb-mortgage: #BE123C;
    --lb-other: hsl(calc(247.94deg + var(--ci-accent-shift, 0deg)) 83.95% 68.24%);
    --lb-card-face: linear-gradient(135deg, #2F3A45 0%, #3F4C5A 100%);
    --lb-text: var(--tx-text, #0B0F19);
    --lb-muted: var(--tx-muted, #565973);
    --lb-light: var(--tx-light-text, #9397AD);
    --lb-input-bg: #FFFFFF;
    --lb-input-border: hsl(calc(247.5deg + var(--ci-accent-shift, 0deg)) 25.81% 87.84%);
    --lb-menu-bg: #FFFFFF;
    --lb-shadow: 0 10px 30px rgba(31, 42, 68, .08);
}

[data-bs-theme="dark"] {
    --lb-rose: #FB7185;
    --lb-rose-strong: #F43F5E;
    --lb-rose-soft: rgba(251, 113, 133, .16);
    --lb-icon: #F87171;
    --lb-icon-bg: #3A1F1F;
    --lb-border: #3D2433;
    --lb-pill-bg: #3A2E12;
    --lb-pill-text: #F59E0B;
    --lb-hero-bg: linear-gradient(158deg, #321A2C 0%, hsl(calc(271.76deg + var(--ci-accent-shift, 0deg)) 25.37% 13.14%) 45%, #10131C 100%);
    --lb-hero-line: #F87171;
    --lb-hero-secondary: #FCA5A5;
    --lb-hero-area: rgba(248, 113, 113, .28);
    --lb-tile: rgba(77, 27, 37, .38);
    --lb-tile-strong: rgba(255, 255, 255, .05);
    --lb-track: rgba(255, 255, 255, .08);
    --lb-positive: #22C55E;
    --lb-positive-soft: rgba(34, 197, 94, .16);
    --lb-caution: #FBBF24;
    --lb-caution-soft: rgba(251, 191, 36, .16);
    --lb-negative: #F87171;
    --lb-negative-soft: rgba(248, 113, 113, .16);
    --lb-neutral-soft: rgba(255, 255, 255, .07);
    --lb-accent: hsl(calc(247.88deg + var(--ci-accent-shift, 0deg)) 100% 80.59%);
    --lb-accent-soft: hsl(calc(247.94deg + var(--ci-accent-shift, 0deg)) 83.95% 68.24% / .18);
    --lb-credit: #FDA4AF;
    --lb-loan: #FB7185;
    --lb-mortgage: #F43F5E;
    --lb-other: hsl(calc(247.88deg + var(--ci-accent-shift, 0deg)) 100% 80.59%);
    --lb-input-bg: rgba(255, 255, 255, .04);
    --lb-input-border: #2B3045;
    --lb-menu-bg: #1B2132;
    --lb-shadow: 0 10px 30px rgba(0, 0, 0, .28);
}

/* ------------------------------------------------------------------ Page frame */

.lb-page { padding-bottom: 2rem; }
.lb-eyebrow { color: var(--lb-rose); }
.lb-head-actions { align-items: center; }

/* Wide screens: let the Liabilities subtitle run on one line (the shared .rc-head-copy caps at 62ch). */
@media (min-width: 992px) {
    .lb-head .rc-head-copy { max-width: 90ch; }
}
.lb-page-help { display: inline-flex; gap: .35rem; align-items: center; }
.tx-seg.lb-menu-seg { min-width: min(100%, 860px); }

.lb-stack { display: flex; flex-direction: column; gap: 1rem; min-width: 0; }
.lb-grid { display: grid; gap: 1rem; align-items: start; }
.lb-grid-main { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
.lb-grid-2 { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.lb-col { display: flex; flex-direction: column; gap: 1rem; min-width: 0; }
.lb-tail { display: flex; flex-direction: column; gap: 1rem; min-width: 0; }
.lb-tail:empty { display: none; }

/* One column: flatten the columns into the grid so the order stays leads first (accounts, payments, charts),
   then Payoff Outlook, tiles and partner, as it was with two separate grids. */
@media (max-width: 1199.98px) {
    .lb-grid-flow > .lb-col { display: contents; }
    .lb-grid-flow > .lb-col > .lb-tail { order: 1; }
}

@media (min-width: 1600px) {
    .lb-grid-main { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); }
}

@media (max-width: 1199.98px) {
    .lb-grid-main { grid-template-columns: minmax(0, 1fr); }
}

/* Credit Cards: two equal columns when wide (the 1199.98px rule above already stacks them). */
@media (min-width: 1200px) {
    .lb-grid-main.lb-grid-halves { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}

@media (max-width: 991.98px) {
    .lb-grid-2 { grid-template-columns: minmax(0, 1fr); }
}

/* ------------------------------------------------------------------ Section cards */

.lb-card { border-color: var(--rc-card-border); }
.lb-card-title { font-size: 13px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.lb-card-caption { font-size: 11.5px; letter-spacing: 0; text-transform: none; }
.lb-card-actions { display: flex; align-items: center; gap: .35rem; flex-wrap: wrap; justify-content: flex-end; }
.lb-chip.rc-tone-critical,
.lb-page .rc-chip-icon.rc-tone-critical,
.lb-sheet .rc-chip-icon.rc-tone-critical { color: var(--lb-icon); background: var(--lb-icon-bg); }
.lb-chip-lg { width: 44px; height: 44px; border-radius: 13px; font-size: 17px; }
.lb-help { margin-left: .15rem; }
.lb-head-caption { font-size: 12px; font-weight: 700; color: var(--lb-accent); white-space: nowrap; }

.lb-explainer {
    display: flex;
    align-items: flex-start;
    gap: .45rem;
    margin: -4px 0 12px;
    font-size: 11.5px;
    line-height: 1.4;
    color: var(--lb-muted);
}

.lb-explainer-glyph { color: var(--lb-accent); font-size: 11px; margin-top: 2px; }
.lb-empty-line { margin: .25rem 0 .5rem; font-size: 13px; color: var(--lb-muted); }
.lb-caption { display: block; font-size: 11.5px; line-height: 1.4; color: var(--lb-muted); margin: 0; }
.lb-footnote { margin: 12px 0 0; font-size: 11px; line-height: 1.45; color: var(--lb-light); }
.lb-subhead { display: flex; align-items: center; gap: .4rem; margin: 16px 0 6px; font-size: 11.5px; font-weight: 700; letter-spacing: .06em; color: var(--lb-text); }
.lb-note { display: flex; align-items: flex-start; gap: .45rem; margin: 0 0 10px; font-size: 12px; color: var(--lb-muted); }
.lb-note-positive .tx-glyph { color: var(--lb-positive); }
.lb-note-accent { color: var(--lb-accent); font-weight: 600; }

.lb-text-positive { color: var(--lb-positive) !important; }
.lb-text-caution { color: var(--lb-caution) !important; }
.lb-text-negative { color: var(--lb-negative) !important; }
.lb-text-muted { color: var(--lb-muted) !important; }

/* Skeletons */
.lb-skeleton { min-height: 160px; }
.lb-bone-columns { display: flex; align-items: flex-end; gap: 10px; height: 170px; padding: 0 6px; }
.lb-bone-columns .dsh-bone { flex: 1 1 0; border-radius: 8px 8px 2px 2px; }
.lb-bone-donut { display: grid; grid-template-columns: minmax(0, 1fr) 150px; gap: 1rem; align-items: center; }
.lb-bone-ring { width: 150px; height: 150px; border-radius: 50%; }
.lb-bone-tiles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.lb-bone-tile { display: flex; flex-direction: column; gap: 8px; padding: 12px; border-radius: 12px; background: var(--lb-neutral-soft); }
.lb-bone-row { display: flex; align-items: center; gap: 10px; padding: 10px 0; }
.lb-bone-logo { width: 32px; height: 32px; border-radius: 10px; flex: 0 0 auto; }

/* ------------------------------------------------------------------ Hero (the Accounts hero recipe, rose) */

.ah.lb-hero {
    --ah-bg: var(--lb-hero-bg);
    --ah-border: var(--lb-border);
    --ah-badge-bg: var(--lb-icon-bg);
    --ah-badge-fg: var(--lb-icon);
    --ah-tiles-bg: rgba(255, 255, 255, .78);
    --ah-range-bg: rgba(251, 233, 236, .62);
    --ah-range-neg: #FECDD3;
    --ah-accent: var(--lb-rose);
    --dsh-bone: rgba(225, 29, 72, .09);
    --dsh-line: #FB7185;
}

[data-bs-theme="dark"] .ah.lb-hero {
    --ah-value-pill: rgba(77, 27, 37, .5);
    --ah-pill: rgba(77, 27, 37, .45);
    --ah-tiles-bg: transparent;
    --ah-range-bg: rgba(61, 36, 51, .66);
    --ah-range-neg: #9F3A52;
    --dsh-bone: rgba(251, 113, 133, .13);
    --dsh-wave: rgba(255, 200, 210, .12);
}

.lb-trend { transition: opacity .42s cubic-bezier(.65, 0, .35, 1), transform .42s cubic-bezier(.65, 0, .35, 1); }
.lb-trend.is-inactive { opacity: 0; transform: translateY(-24px); pointer-events: none; }
.lb-trend.is-active { opacity: .95; transform: translateY(0); }
.lb-stop-0 { stop-color: var(--lb-hero-area); }
.lb-stop-1 { stop-color: var(--lb-hero-area); stop-opacity: 0; }
.lb-line, .lb-glow { stroke: var(--lb-hero-line); }
.lb-available {
    fill: none;
    stroke: var(--lb-hero-secondary);
    stroke-width: 1.5;
    stroke-opacity: .75;
    stroke-dasharray: 5 4;
    vector-effect: non-scaling-stroke;
}

.lb-hero-help { margin-left: auto; }
.lb-pill-accounts { background: var(--lb-icon-bg) !important; color: var(--lb-icon); }
.lb-pill-accounts b { color: var(--lb-text); }
.lb-pill-glyph { color: var(--lb-icon); }

.lb-trend-caption {
    position: absolute;
    right: 14px;
    bottom: 53px;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: 3px 8px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: var(--ah-muted);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .04em;
}

.lb-trend-caption.can-toggle { cursor: pointer; }
.lb-trend-caption.can-toggle:hover { background: var(--ah-pill); color: var(--ah-text); }
.lb-trend-caption:disabled { cursor: default; opacity: 1; }
.lb-trend-caption-text { animation: lb-fade .32s ease both; }
.lb-trend-swatch { display: inline-block; width: 14px; height: 0; border-top: 2.25px solid var(--lb-hero-line); border-radius: 2px; }
.lb-trend-swatch-dash { border-top: 1.5px dashed var(--lb-hero-secondary); }

.lb-hero-tiles .ah-tile { align-items: flex-start; }
.lb-tile-sub { margin-top: 2px; font-size: 11px; line-height: 1.3; color: var(--ah-muted); }

@keyframes lb-fade { from { opacity: 0; } to { opacity: 1; } }

/* ------------------------------------------------------------------ Smart Signals on the Liabilities surface */

.lb-page .ss-section-liabilities .ss-head-chip { background: var(--lb-icon-bg); color: var(--lb-icon); }
[data-bs-theme="dark"] .lb-page .ss-section-liabilities .ss-head-chip { background: var(--lb-icon-bg); color: var(--lb-icon); }
.lb-page .ss-section-liabilities .ss-count-pill { background: var(--lb-icon-bg); color: var(--lb-icon); }

/* ------------------------------------------------------------------ Rows (accounts, upcoming, choices) */

.lb-rows { display: flex; flex-direction: column; margin: 0; padding: 0; list-style: none; }
.lb-row-item + .lb-row-item { border-top: 1px solid var(--rc-line, rgba(0, 0, 0, .06)); }

.lb-row {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 10px;
    padding: 10px 6px;
    border-radius: 12px;
}

.lb-rows > li.lb-row { border-radius: 0; }
.lb-row.is-clickable { cursor: pointer; transition: background-color .15s ease; }
.lb-row.is-clickable:hover { background: var(--rc-row-hover); }
.lb-row.is-clickable:focus-visible { outline: 2px solid var(--lb-rose); outline-offset: 1px; }
.lb-row-main { display: flex; flex-direction: column; min-width: 0; gap: 2px; }
.lb-row-title { display: flex; align-items: center; gap: .4rem; min-width: 0; flex-wrap: wrap; }
.lb-row-name { font-family: var(--tx-font); font-size: 14px; font-weight: 600; color: var(--lb-text); min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lb-row-sub { display: flex; align-items: center; gap: .4rem; flex-wrap: wrap; font-size: 12px; color: var(--lb-muted); }
.lb-row-figures { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; text-align: right; }
.lb-row-amount { font-family: var(--tx-font); font-size: 15px; font-weight: 700; font-variant-numeric: tabular-nums; color: var(--lb-text); white-space: nowrap; }
.lb-row-detail { font-size: 11px; color: var(--lb-muted); white-space: nowrap; }
.lb-row-end { display: flex; justify-content: flex-end; min-width: 44px; }

.lb-logo {
    position: relative;
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
    width: 32px;
    height: 32px;
    border-radius: 10px;
    overflow: hidden;
    background: var(--lb-icon-bg);
    color: var(--lb-icon);
    font-size: 13px;
}

.lb-logo-img { width: 100%; height: 100%; object-fit: contain; background: #FFFFFF; }

.lb-tag {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    padding: 2px 8px;
    border-radius: 8px;
    font-size: 10.5px;
    font-weight: 700;
    line-height: 1.5;
    white-space: nowrap;
}

.lb-tag .tx-glyph { font-size: 9.5px; }
.lb-tag-partner { background: var(--lb-accent-soft); color: var(--lb-accent); }
.lb-tag-neutral { background: var(--lb-neutral-soft); color: var(--lb-muted); }
.lb-tag-positive { background: var(--lb-positive-soft); color: var(--lb-positive); }
.lb-tag-caution { background: var(--lb-caution-soft); color: var(--lb-caution); }
.lb-tag-critical { background: var(--lb-negative-soft); color: var(--lb-negative); }
.lb-tag-pill { background: var(--lb-pill-bg); color: var(--lb-pill-text); }
.lb-tag-accent-solid { background: var(--lb-accent); color: #FFFFFF; }
[data-bs-theme="dark"] .lb-tag-accent-solid { color: #10131C; }

.lb-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }

.lb-chip-btn {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    padding: 3px 9px;
    border: 1px dashed color-mix(in srgb, var(--lb-accent) 45%, transparent);
    border-radius: 9px;
    background: var(--lb-accent-soft);
    color: var(--lb-accent);
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: .02em;
    cursor: pointer;
}

.lb-chip-btn:hover { border-style: solid; }
.lb-chip-btn .tx-glyph { font-size: 9px; }

.lb-util-pill, .lb-status-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    padding: 3px 9px;
    border-radius: 8px;
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.lb-util-positive { background: var(--lb-positive); color: #FFFFFF; }
.lb-util-caution { background: #D97706; color: #FFFFFF; }
.lb-util-negative { background: var(--lb-negative); color: #FFFFFF; }

.lb-status-upcoming { background: var(--lb-positive); color: #FFFFFF; }
.lb-status-imminent { background: #D97706; color: #FFFFFF; }
.lb-status-passed { background: var(--lb-neutral-soft); color: var(--lb-muted); }
.lb-status-settled { background: var(--lb-positive-soft); color: var(--lb-positive); }
.lb-status-minpaid { background: var(--lb-caution-soft); color: var(--lb-caution); }
.lb-status-late { background: var(--lb-negative); color: #FFFFFF; }
[data-bs-theme="dark"] .lb-util-positive,
[data-bs-theme="dark"] .lb-util-caution,
[data-bs-theme="dark"] .lb-util-negative,
[data-bs-theme="dark"] .lb-status-upcoming,
[data-bs-theme="dark"] .lb-status-imminent,
[data-bs-theme="dark"] .lb-status-late { color: #10131C; }

/* ------------------------------------------------------------------ Banners, buttons, links */

.lb-banner {
    display: flex;
    align-items: flex-start;
    gap: .6rem;
    margin: 0 0 12px;
    padding: 10px 12px;
    border-radius: 12px;
    font-size: 12px;
    line-height: 1.45;
    color: var(--lb-text);
}

.lb-banner-glyph { margin-top: 2px; font-size: 14px; }
.lb-banner-title { font-weight: 700; font-size: 13px; }
.lb-banner-text { color: var(--lb-muted); }
.lb-banner-accent { background: var(--lb-accent-soft); }
.lb-banner-accent .lb-banner-glyph { color: var(--lb-accent); }
.lb-banner-neutral { background: var(--lb-neutral-soft); align-items: center; }
.lb-banner-neutral .lb-banner-glyph { color: var(--lb-muted); }
.lb-banner-positive { background: var(--lb-positive-soft); }
.lb-banner-positive .lb-banner-glyph { color: var(--lb-positive); }
.lb-banner-caution { background: var(--lb-caution-soft); }
.lb-banner-caution .lb-banner-glyph { color: var(--lb-caution); }
.lb-banner-critical { background: var(--lb-negative-soft); }
.lb-banner-critical .lb-banner-glyph { color: var(--lb-negative); }
.lb-banner-pill { background: var(--lb-pill-bg); color: var(--lb-pill-text); }

.lb-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    min-height: 38px;
    padding: .45rem 1rem;
    border: 1px solid transparent;
    border-radius: 12px;
    font-family: var(--tx-font);
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: filter .15s ease, background-color .15s ease;
}

.lb-btn:disabled { opacity: .55; cursor: default; }
.lb-btn-sm { min-height: 30px; padding: .25rem .7rem; font-size: 11.5px; border-radius: 10px; }
.lb-btn-primary { background: linear-gradient(135deg, var(--lb-rose) 0%, #FB7185 100%); color: #FFFFFF; box-shadow: 0 6px 16px rgba(225, 29, 72, .22); }
[data-bs-theme="dark"] .lb-btn-primary { color: #10131C; box-shadow: none; }
.lb-btn-primary:hover:not(:disabled) { filter: brightness(1.05); }
.lb-btn-accent { background: var(--lb-accent); color: #FFFFFF; }
[data-bs-theme="dark"] .lb-btn-accent { color: #10131C; }
.lb-btn-ghost { background: transparent; border-color: var(--rc-card-border); color: var(--lb-text); }
.lb-btn-ghost:hover:not(:disabled) { background: var(--rc-row-hover); }

.lb-link-btn {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    padding: 0;
    border: 0;
    background: none;
    color: var(--lb-rose);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 2px;
    cursor: pointer;
}

.lb-add-limit { font-size: 11px; text-decoration: none; color: var(--lb-accent); }

.lb-icon-btn {
    position: relative;
    display: inline-grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border: 0;
    border-radius: 11px;
    background: var(--lb-icon-bg);
    color: var(--lb-icon);
    font-size: 14px;
    cursor: pointer;
}

.lb-icon-btn:hover:not(:disabled) { filter: brightness(.97); }
.lb-icon-btn:focus-visible { outline: 2px solid var(--lb-rose); outline-offset: 2px; }
.lb-icon-btn.has-live { animation: lb-breathe 2.4s ease-in-out infinite; }

.lb-icon-ping {
    position: absolute;
    inset: 3px;
    border: 1.5px solid var(--lb-icon);
    border-radius: 10px;
    animation: lb-ping 1.6s cubic-bezier(0, 0, .2, 1) infinite;
}

.lb-icon-badge {
    position: absolute;
    top: -4px;
    right: -4px;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    border-radius: 8px;
    background: var(--lb-icon);
    color: var(--bs-body-bg, #FFFFFF);
    font-size: 9px;
    font-weight: 700;
    line-height: 16px;
}

@keyframes lb-ping { 0% { transform: scale(1); opacity: .8; } 80%, 100% { transform: scale(1.45); opacity: 0; } }
@keyframes lb-breathe { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.06); } }

.lb-pill-muted { padding: 3px 9px; border-radius: 9px; background: var(--lb-neutral-soft); color: var(--lb-muted); font-size: 10.5px; font-weight: 600; }
.lb-inline-spinner { color: var(--lb-rose); }
.lb-inline-error { display: flex; align-items: center; gap: .6rem; margin-bottom: 10px; font-size: 11.5px; }

/* ------------------------------------------------------------------ Charts (the Intelligence recipe, rose) */

.lb-chart-card { --ai-chart-card-bg: var(--rc-card); --ai-chart-card-border: var(--rc-card-border); box-shadow: var(--rc-shadow); border-radius: 20px; padding: 14px 16px; }
.lb-chart-badge { background: var(--lb-icon-bg) !important; color: var(--lb-icon) !important; }
.lb-chart-empty { display: flex; align-items: center; gap: .5rem; min-height: 120px; justify-content: center; font-size: 12.5px; color: var(--lb-muted); }
.lb-chart-overlay-host { position: relative; }
.lb-chart-overlay-host.is-sample .e-chart,
.lb-chart-overlay-host.is-sample .e-accumulationchart { opacity: .55; filter: saturate(.7); }

.lb-sample-pill {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    min-width: 180px;
    justify-content: center;
    padding: 6px 14px;
    transform: translate(-50%, -50%);
    border: 1px solid var(--rc-card-border);
    border-radius: 11px;
    background: var(--rc-card);
    color: var(--lb-muted);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    opacity: .9;
}

.lb-sample-pill-sm { position: static; transform: none; min-width: 0; padding: 2px 8px; font-size: 9.5px; margin-top: 4px; }

.lb-legend-zero { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 6px; font-size: 11px; color: var(--lb-muted); }
.lb-legend-zero b { color: var(--lb-text); margin-left: .2rem; }
.lb-swatch { display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-right: .35rem; vertical-align: -1px; }
.lb-swatch-credit { background: var(--lb-credit); }
.lb-swatch-loan { background: var(--lb-loan); }
.lb-swatch-mortgage { background: var(--lb-mortgage); }
.lb-swatch-other { background: var(--lb-other); }

/* Utilization */
.lb-util-layout { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: 1rem; align-items: center; }
.lb-util-legend { display: flex; flex-direction: column; gap: 18px; margin: 0; padding: 14px; list-style: none; border-radius: 12px; background: var(--lb-neutral-soft); font-size: 11.5px; font-weight: 700; }
.lb-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin-right: .45rem; }
.lb-dot-positive { background: var(--lb-positive); }
.lb-dot-caution { background: var(--lb-caution); }
.lb-dot-negative { background: var(--lb-negative); }
.lb-util-ring { position: relative; }
.lb-util-center { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; pointer-events: none; }
.lb-util-value { font-family: var(--tx-font); font-size: 26px; font-weight: 700; font-variant-numeric: tabular-nums; }
.lb-util-caption { font-size: 11px; color: var(--lb-muted); }
.lb-text-positive.lb-util-value { color: var(--lb-positive); }

.lb-footer-strip {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 14px -16px -16px;
    padding: 12px 16px;
    border-top: 1px solid var(--rc-card-border);
    border-radius: 0 0 20px 20px;
    background: var(--lb-neutral-soft);
}

.lb-footer-strip > div { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.lb-footer-strip span { font-size: 11px; color: var(--lb-muted); }
.lb-footer-strip b { font-family: var(--tx-font); font-size: 14px; font-variant-numeric: tabular-nums; }

/* Balance by type */
.lb-by-type-layout { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 1rem; align-items: center; }
.lb-type-legend { display: flex; flex-direction: column; gap: 8px; margin: 0; padding: 0; list-style: none; }
.lb-type-legend li { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; grid-template-rows: auto auto; column-gap: .4rem; padding: 8px 10px; border-radius: 10px; background: var(--lb-neutral-soft); font-size: 12px; }
.lb-type-legend .lb-swatch { grid-row: 1 / span 2; align-self: center; }
.lb-type-name { font-weight: 700; }
.lb-type-share { color: var(--lb-muted); font-size: 11px; text-align: right; }
.lb-type-legend b { grid-column: 2 / span 2; font-variant-numeric: tabular-nums; }

@media (max-width: 575.98px) {
    .lb-util-layout, .lb-by-type-layout { grid-template-columns: minmax(0, 1fr); }
}

/* ------------------------------------------------------------------ KPI tiles (sub-pages) */

.lb-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 10px; }
.lb-stat { --ai-accent: var(--lb-icon); --ai-chart-icon-badge: var(--lb-icon-bg); --ai-chart-card-bg: var(--lb-hero-bg); --ai-chart-card-border: var(--lb-border); --ai-metric-bg: var(--rc-card); --ai-metric-border: var(--rc-card-border); box-shadow: var(--rc-shadow); }
.lb-stat.is-hero { grid-column: span 2; }
.lb-stat-value { font-size: 20px; font-variant-numeric: tabular-nums; }
.lb-stat.is-hero .lb-stat-value { font-size: 30px; }
.lb-stat-sub { margin-top: 4px; font-size: 11.5px; color: var(--lb-muted); line-height: 1.3; }

@media (max-width: 575.98px) {
    .lb-stat.is-hero { grid-column: 1 / -1; }
}

.lb-kpis { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-bottom: 12px; }
.lb-kpi { display: grid; grid-template-columns: 30px minmax(0, 1fr); column-gap: 8px; align-items: center; padding: 12px; border-radius: 12px; background: var(--lb-neutral-soft); }
.lb-kpi > :not(.lb-kpi-badge) { grid-column: 2; }
.lb-kpi-badge { grid-row: 1 / span 3; display: inline-grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--lb-accent-soft); color: var(--lb-accent); font-size: 12px; }
.lb-kpi-badge-critical { background: var(--lb-icon-bg); color: var(--lb-icon); }
.lb-kpi-label { display: block; font-size: 10px; font-weight: 700; letter-spacing: .05em; color: var(--lb-muted); }
.lb-kpi-value { display: block; font-family: var(--tx-font); font-size: 16px; font-weight: 700; font-variant-numeric: tabular-nums; color: var(--lb-text); }
.lb-kpi-lg { font-size: 20px; }

/* ------------------------------------------------------------------ Card spending limit */

.lb-csp { display: flex; flex-direction: column; gap: 8px; text-align: left; }
.lb-csp-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.lb-csp-titles { min-width: 0; }
.lb-csp-name-row { display: flex; align-items: center; gap: 8px; min-width: 0; }
.lb-csp-name { font-family: var(--tx-font); font-size: 14px; font-weight: 600; color: var(--lb-text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lb-csp-state { padding: 2px 8px; border: 1px solid var(--rc-card-border); border-radius: 12px; font-size: 11px; color: var(--lb-text); }
.lb-csp-state.is-paused { color: var(--lb-muted); }
.lb-csp-amount { margin-top: 4px; font-family: var(--tx-font); font-size: 22px; font-weight: 700; font-variant-numeric: tabular-nums; color: var(--lb-text); }
.lb-csp-compact .lb-csp-name { font-size: 12.5px; }
.lb-csp-compact .lb-csp-amount { font-size: 16px; }

.lb-csp-track { position: relative; height: 8px; border-radius: 4px; background: var(--lb-track); overflow: visible; }
.lb-csp-fill { position: absolute; inset: 0 auto 0 0; border-radius: 4px; transition: width .6s cubic-bezier(.2, .8, .2, 1); animation: lb-grow .8s cubic-bezier(.2, .8, .2, 1) both; transform-origin: left center; }
.lb-csp-tick { position: absolute; top: -3px; bottom: -3px; width: 2px; margin-left: -1px; border-radius: 1px; background: var(--rc-card); opacity: .9; }
.lb-band-ok { background: linear-gradient(90deg, hsl(calc(247.83deg + var(--ci-accent-shift, 0deg)) 76.3% 58.63%) 0%, #2FB4F2 100%); }
.lb-band-watch { background: linear-gradient(90deg, #D97706 0%, #FBBF24 100%); }
.lb-band-high { background: linear-gradient(90deg, #EA580C 0%, #FB923C 100%); }
.lb-band-over { background: linear-gradient(90deg, #E11D48 0%, #FB7185 100%); }
[data-bs-theme="dark"] .lb-band-ok { background: linear-gradient(90deg, hsl(calc(247.94deg + var(--ci-accent-shift, 0deg)) 83.95% 68.24%) 0%, #4ACAFF 100%); }

@keyframes lb-grow { from { transform: scaleX(0); } to { transform: scaleX(1); } }

.lb-csp-details { display: flex; justify-content: space-between; gap: 10px; align-items: flex-start; }
.lb-csp-captions { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.lb-csp-progress { font-size: 13px; font-weight: 600; color: var(--lb-text); font-variant-numeric: tabular-nums; }
.lb-csp-note { font-size: 12px; color: var(--lb-muted); }
.lb-csp-foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 8px; }
.lb-csp-channels { display: inline-flex; align-items: center; gap: 10px; color: var(--lb-muted); font-size: 12px; }

.lb-carousel { display: flex; flex-direction: column; gap: 10px; }
.lb-carousel-dots { display: flex; justify-content: center; gap: 6px; }
.lb-carousel-dot { width: 7px; height: 7px; padding: 0; border: 0; border-radius: 50%; background: var(--lb-light); cursor: pointer; transition: transform .2s ease, background-color .2s ease; }
.lb-carousel-dot.is-selected { background: var(--lb-icon); transform: scale(1.25); }
.lb-carousel-stage { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 6px; }
.lb-carousel-stage:has(> .lb-carousel-item:only-child) { grid-template-columns: minmax(0, 1fr); }
.lb-carousel-item { padding: 12px; border: 1px solid var(--rc-card-border); border-radius: 16px; background: var(--rc-row); color: inherit; text-align: left; cursor: pointer; animation: lb-fade .3s ease both; }
.lb-carousel-item:hover { background: var(--rc-row-hover); }
.lb-carousel-arrow { width: 30px; height: 30px; border: 0; border-radius: 50%; background: var(--lb-neutral-soft); color: var(--lb-muted); cursor: pointer; }
.lb-carousel-foot { font-size: 11px; color: var(--lb-muted); text-align: center; }

.lb-csp-empty { display: flex; flex-direction: column; gap: 10px; font-size: 12.5px; line-height: 1.5; color: var(--lb-muted); }
.lb-csp-empty p { margin: 0; }
.lb-csp-empty-title { font-family: var(--tx-font); font-weight: 600; font-size: 14px; color: var(--lb-text) !important; }

/* The Card Spend Alerts page */
.lb-limit-list { display: flex; flex-direction: column; gap: 10px; margin: 0; padding: 0; list-style: none; }
.lb-limit { position: relative; padding: 12px 12px 12px 16px; border-radius: 14px; background: var(--rc-row); overflow: visible; }
.lb-limit::before { content: ""; position: absolute; left: 0; top: 10px; bottom: 10px; width: 4px; border-radius: 4px; background: var(--lb-accent); }
.lb-band-edge-watch::before { background: #D97706; }
.lb-band-edge-high::before { background: #EA580C; }
.lb-band-edge-over::before { background: var(--lb-negative); }
.lb-limit-chips { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; }
.lb-limit-foot { display: flex; align-items: flex-end; justify-content: space-between; gap: 10px; margin-top: 10px; flex-wrap: wrap; }
.lb-watched { display: flex; flex-direction: column; gap: 6px; margin: 0; padding: 0; list-style: none; font-size: 11.5px; }
.lb-watched li { display: flex; align-items: center; gap: 8px; }

.lb-menu { position: relative; }
.lb-menu-list {
    position: absolute;
    right: 0;
    top: calc(100% + 6px);
    z-index: 20;
    display: flex;
    flex-direction: column;
    min-width: 170px;
    padding: 6px;
    border: 1px solid var(--rc-card-border);
    border-radius: 12px;
    background: var(--lb-menu-bg);
    box-shadow: var(--lb-shadow);
    animation: lb-fade .15s ease both;
}

.lb-menu-list button { display: flex; align-items: center; gap: .55rem; padding: 8px 10px; border: 0; border-radius: 8px; background: none; color: var(--lb-text); font-size: 13px; text-align: left; cursor: pointer; }
.lb-menu-list button:hover { background: var(--rc-row-hover); }
.lb-menu-list button.is-critical { color: var(--lb-negative); }

.lb-event-list { display: flex; flex-direction: column; gap: 6px; margin: 0; padding: 0; list-style: none; }
.lb-event { display: grid; grid-template-columns: 20px minmax(0, 1fr) auto; gap: 8px; width: 100%; padding: 10px 12px; border: 1px solid var(--rc-card-border); border-radius: 14px; background: var(--rc-card); color: inherit; text-align: left; cursor: pointer; }
.lb-event:hover { background: var(--rc-row-hover); }
.lb-event.is-unread { border-color: color-mix(in srgb, var(--lb-rose) 35%, var(--rc-card-border)); }
.lb-event-glyph { color: var(--lb-accent); font-size: 12px; margin-top: 2px; }
.lb-event-text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.lb-event-title { font-weight: 600; font-size: 13px; color: var(--lb-text); }
.lb-event-message { font-size: 12px; color: var(--lb-muted); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.lb-event.is-expanded .lb-event-message { -webkit-line-clamp: unset; display: block; }

/* The card spending alert sheet a Recent alerts row opens reads the Smart Signals palette (HomeSmartSignals.razor.css .ss-root, repeated as the Investments area does) with the card spending accent. */
.lb-ss-host {
    display: contents;
    --ss-primary: hsl(calc(247.83deg + var(--ci-accent-shift, 0deg)) 76.3% 58.63%);
    --ss-critical: #FF392B;
    --ss-warning: #B45309;
    --ss-positive: #16A34A;
    --ss-investment: #16A34A;
    --ss-card-spend: #EF4444;
    --ss-caution: #B45309;
    --ss-live: #0284C7;
    --ss-live-soft: rgba(2, 132, 199, .10);
    --ss-live-line: rgba(2, 132, 199, .35);
    --ss-text: #0F172A;
    --ss-muted: #64748B;
    --ss-surface: #FFFFFF;
    --ss-border: #E2E8F0;
    --ss-accent: var(--ss-card-spend);
}

[data-bs-theme="dark"] .lb-ss-host {
    --ss-primary: hsl(calc(247.94deg + var(--ci-accent-shift, 0deg)) 83.95% 68.24%);
    --ss-warning: #C2410C;
    --ss-positive: #22C55E;
    --ss-investment: #34D399;
    --ss-card-spend: #F87171;
    --ss-caution: #F59E0B;
    --ss-live: #38BDF8;
    --ss-live-soft: rgba(56, 189, 248, .14);
    --ss-live-line: rgba(56, 189, 248, .40);
    --ss-text: #E6E9EF;
    --ss-muted: #94A3B8;
    --ss-surface: #10131C;
    --ss-border: rgba(255, 255, 255, .08);
}
.lb-unread-dot { width: 8px; height: 8px; margin-top: 6px; border-radius: 50%; background: var(--lb-rose); }

/* ------------------------------------------------------------------ Payoff outlook */

.lb-outlook-status { margin-bottom: 10px; }
.lb-outlook-status-title { font-family: var(--tx-font); font-size: 14px; font-weight: 600; }
.lb-outlook-status-text { font-size: 12.5px; color: var(--lb-muted); line-height: 1.45; }
.lb-outlook-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 10px; margin-bottom: 10px; }
.lb-tile-panel { display: flex; flex-direction: column; gap: 6px; padding: 12px; border-radius: 12px; background: var(--lb-neutral-soft); }
.lb-tile-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: 10px; }
.lb-scenarios { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 8px; }
.lb-scenario { display: flex; flex-direction: column; gap: 4px; padding: 10px 12px; border-radius: 12px; background: var(--lb-neutral-soft); }
.lb-scenario-head { display: flex; justify-content: space-between; gap: 8px; }
.lb-scenario-heading { padding: 2px 8px; border-radius: 8px; background: var(--lb-accent-soft); color: var(--lb-accent); font-size: 11.5px; font-weight: 700; align-self: flex-start; }
.lb-scenario-saved { display: flex; flex-direction: column; align-items: flex-end; }
.lb-scenario-date { display: flex; flex-wrap: wrap; gap: .6rem; font-size: 12px; }
.lb-recs { display: flex; flex-direction: column; gap: 6px; margin: 0; padding: 0; list-style: none; }
.lb-rec { position: relative; display: grid; grid-template-columns: 22px minmax(0, 1fr) auto; gap: 10px; width: 100%; padding: 10px 12px 10px 16px; border: 1px solid var(--rc-card-border); border-radius: 12px; background: var(--rc-card); color: inherit; text-align: left; }
.lb-rec:not(:disabled) { cursor: pointer; }
.lb-rec:not(:disabled):hover { background: var(--rc-row-hover); }
.lb-rec:disabled { opacity: 1; }
.lb-rec-bar { position: absolute; left: 0; top: 8px; bottom: 8px; width: 3px; border-radius: 3px; background: var(--lb-accent); }
.lb-rec-glyph { color: var(--lb-accent); margin-top: 2px; }
.lb-rec-text { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.lb-rec-title { font-weight: 600; font-size: 12.5px; }
.lb-rec-amount { display: flex; flex-direction: column; align-items: flex-end; text-align: right; }
.lb-rec-urgent .lb-rec-bar { background: var(--lb-negative); }
.lb-rec-urgent .lb-rec-glyph, .lb-rec-urgent .lb-rec-title, .lb-rec-urgent .lb-rec-amount b { color: var(--lb-negative); }
.lb-rec-warning .lb-rec-bar { background: #EA580C; }
.lb-rec-warning .lb-rec-glyph { color: #EA580C; }
.lb-rec-opportunity .lb-rec-bar { background: var(--lb-positive); }
.lb-rec-opportunity .lb-rec-glyph, .lb-rec-opportunity .lb-rec-amount b { color: var(--lb-positive); }
.lb-missing { display: flex; flex-direction: column; gap: 6px; margin: 6px 0 0; padding: 0; list-style: none; }
.lb-missing-row { display: grid; grid-template-columns: 22px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 8px 10px; border-radius: 10px; background: var(--lb-neutral-soft); }
.lb-missing-glyph { color: var(--lb-accent); }
.lb-missing-text { display: flex; flex-direction: column; min-width: 0; font-size: 12.5px; }
.lb-footnotes { margin: 12px 0 0; padding-left: 1rem; font-size: 10.5px; color: var(--lb-muted); line-height: 1.5; }
.lb-asof { display: flex; align-items: center; gap: .35rem; margin: 6px 0 0; font-size: 10.5px; color: var(--lb-light); }

/* ------------------------------------------------------------------ Cost of debt, statements, minimums, loans */

.lb-cost-list { display: flex; flex-direction: column; gap: 0; margin: 0; padding: 0; list-style: none; }
.lb-cost-row { position: relative; padding: 12px 6px 12px 12px; border-left: 3px solid var(--lb-border); }
.lb-cost-row + .lb-cost-row { border-top: 1px solid var(--rc-line, rgba(0, 0, 0, .06)); }
.lb-cost-row.is-first { border-left-color: var(--lb-rose); background: linear-gradient(90deg, var(--lb-rose-soft) 0%, transparent 60%); border-radius: 0 12px 12px 0; }
.lb-cost-head { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 10px; align-items: center; }
.lb-cost-logo { position: relative; }
.lb-rank { position: absolute; right: -6px; bottom: -6px; display: inline-grid; place-items: center; min-width: 18px; height: 18px; padding: 0 4px; border: 2px solid var(--rc-card); border-radius: 9px; background: var(--lb-rose); color: #FFFFFF; font-size: 10px; font-weight: 700; }
.lb-share { display: flex; align-items: center; gap: 8px; margin-top: 8px; }
.lb-share-track { position: relative; flex: 1 1 auto; height: 5px; border-radius: 3px; background: var(--lb-track); overflow: hidden; }
.lb-track-lg { height: 7px; }
.lb-share-fill { position: absolute; inset: 0 auto 0 0; border-radius: 3px; background: linear-gradient(90deg, #E11D48 0%, #FB7185 100%); animation: lb-grow .8s cubic-bezier(.2, .8, .2, 1) both; transform-origin: left center; }
.lb-fill-accent { background: linear-gradient(90deg, hsl(calc(247.83deg + var(--ci-accent-shift, 0deg)) 76.3% 58.63%) 0%, #2FB4F2 100%); }
.lb-fill-positive { background: linear-gradient(90deg, #16A34A 0%, #4ADE80 100%); }
.lb-fill-negative { background: linear-gradient(90deg, #DC2626 0%, #F87171 100%); }
[data-bs-theme="dark"] .lb-fill-accent { background: linear-gradient(90deg, hsl(calc(247.94deg + var(--ci-accent-shift, 0deg)) 83.95% 68.24%) 0%, #4ACAFF 100%); }

.lb-cycle-list, .lb-minimum-list, .lb-loan-list { display: flex; flex-direction: column; gap: 10px; }
.lb-cycle, .lb-minimum-card, .lb-loan { display: flex; flex-direction: column; gap: 10px; padding: 12px; border: 1px solid var(--rc-card-border); border-radius: 14px; background: var(--rc-row); }
.lb-cycle-head { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 10px; align-items: center; }
.lb-cycle .lb-banner { margin: 0; }
.lb-cycle-progress { display: flex; flex-direction: column; gap: 4px; }
.lb-cycle-captions { display: flex; justify-content: space-between; gap: 8px; font-size: 11px; color: var(--lb-muted); }
.lb-cycle-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 14px; margin: 0; }
.lb-cycle-grid > div { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.lb-cycle-grid dt { font-size: 10px; font-weight: 700; letter-spacing: .05em; color: var(--lb-muted); }
.lb-cycle-grid dd { margin: 0; font-family: var(--tx-font); font-size: 14px; font-weight: 600; font-variant-numeric: tabular-nums; }
.lb-minimum-line { display: flex; flex-direction: column; gap: 5px; }
.lb-minimum-head { display: flex; align-items: center; gap: .4rem; font-size: 12px; }
.lb-rate { padding: 3px 9px; border-radius: 9px; background: var(--lb-icon-bg); color: var(--lb-icon); font-size: 12px; font-weight: 700; font-variant-numeric: tabular-nums; }
.lb-ytd { display: flex; flex-direction: column; gap: 6px; }
.lb-ytd-row { display: grid; grid-template-columns: 70px minmax(0, 1fr) auto; gap: 10px; align-items: center; font-size: 12px; }
.lb-ytd-row b { font-variant-numeric: tabular-nums; }
.lb-progress { display: flex; flex-direction: column; gap: 5px; }
.lb-progress-head, .lb-progress-foot { display: flex; justify-content: space-between; gap: 8px; font-size: 12px; }
.lb-progress-foot { color: var(--lb-muted); font-size: 11px; }

/* Promotional */
.lb-promo-summary { margin-bottom: 10px; font-size: 12px; }
.lb-promo-list { display: flex; flex-direction: column; gap: 8px; }
.lb-promo-row { border: 1px solid var(--rc-card-border); border-radius: 14px; background: var(--rc-row); overflow: hidden; }
.lb-promo-head { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 10px; align-items: center; width: 100%; padding: 12px; border: 0; background: none; color: inherit; text-align: left; cursor: pointer; }
.lb-promo-head:hover { background: var(--rc-row-hover); }
.lb-promo-urgency { display: inline-flex; align-items: center; gap: .35rem; font-size: 11.5px; font-weight: 600; }
.lb-promo-caret { color: var(--lb-muted); }
.lb-promo-body { display: flex; flex-direction: column; gap: 8px; padding: 0 12px 12px; animation: lb-fade .2s ease both; }
.lb-promo-line { margin: 0; font-size: 12.5px; }
.lb-promo-date { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 12px; }
.lb-promo-date label { font-weight: 600; }
.lb-promo-date .lb-input { width: auto; }
.lb-destinations { display: flex; flex-direction: column; gap: 6px; margin: 0; padding: 0; list-style: none; }
.lb-destinations li { padding: 8px 10px; border-radius: 10px; background: var(--lb-neutral-soft); }
.lb-dest-head { display: flex; justify-content: space-between; gap: 8px; font-size: 12.5px; }
.lb-consolidation { display: flex; flex-direction: column; gap: 6px; margin: 0; padding: 0; list-style: none; }
.lb-consolidation li { display: grid; grid-template-columns: 20px auto minmax(0, 1fr); column-gap: 10px; align-items: center; padding: 8px 10px; border-radius: 10px; background: var(--lb-neutral-soft); font-size: 12.5px; }
.lb-consolidation li .lb-caption { grid-column: 3; }
.lb-consolidation-apr { color: var(--lb-accent); }
.lb-disclosures { margin-top: 12px; padding: 10px 12px; border-radius: 10px; background: var(--lb-neutral-soft); font-size: 11px; color: var(--lb-muted); }
.lb-disclosures-head { display: flex; align-items: center; gap: .45rem; padding-bottom: 6px; margin-bottom: 6px; border-bottom: 1px solid var(--rc-card-border); font-size: 9.5px; letter-spacing: .08em; }
.lb-disclosures-head span { margin-left: auto; font-size: 8.5px; }
.lb-disclosures ul { margin: 0; padding-left: 1rem; line-height: 1.5; }

/* Timeline */
.lb-timeline-list { position: relative; display: flex; flex-direction: column; gap: 0; margin: 0; padding: 0; list-style: none; }
.lb-timeline-list.is-sample > li:not(.lb-sample-row) { opacity: .55; }
.lb-timeline-item { position: relative; display: grid; grid-template-columns: 56px 14px 24px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 8px 0; }
.lb-timeline-item::before { content: ""; position: absolute; left: 72px; top: 0; bottom: 0; width: 2px; background: var(--lb-track); }
.lb-timeline-item:first-child::before { top: 50%; }
.lb-timeline-item:last-of-type::before { bottom: 50%; }
.lb-timeline-date { display: flex; flex-direction: column; font-size: 12px; }
.lb-timeline-date span { font-size: 9.5px; color: var(--lb-muted); }
.lb-timeline-dot { position: relative; z-index: 1; width: 10px; height: 10px; border: 2px solid var(--rc-card); border-radius: 50%; background: var(--lb-accent); }
.lb-timeline-dot.is-due { background: var(--lb-pill-text); }
.lb-timeline-dot.is-milestone { background: var(--lb-positive); }
.lb-sample-row { position: relative; height: 0; margin-bottom: 22px; } /* pill straddles the list bottom edge; reserve room so it never touches the card edge */

/* Partner card faces */
.lb-cardfaces { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 10px; }
.lb-cardface { display: flex; flex-direction: column; gap: 10px; padding: 16px; border-radius: 16px; background: var(--lb-card-face); color: #FFFFFF; box-shadow: 0 8px 20px rgba(15, 23, 42, .25); aspect-ratio: 1.6 / 1; justify-content: space-between; }
.lb-cardface-top { display: flex; justify-content: space-between; gap: 8px; align-items: center; }
.lb-cardface-name { font-family: var(--tx-font); font-weight: 700; font-size: 14px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lb-cardface-status { padding: 2px 8px; border-radius: 8px; font-size: 10px; font-weight: 700; }
.lb-cardface-status.is-current { background: #16A34A; }
.lb-cardface-status.is-overdue { background: #DC2626; }
.lb-cardface-mid { display: flex; align-items: center; gap: 12px; }
.lb-cardface-chip { width: 34px; height: 26px; border-radius: 5px; background: linear-gradient(135deg, #E0B341 0%, #F4D47C 50%, #C99A2E 100%); }
.lb-cardface-network { font-weight: 800; font-style: italic; font-size: 15px; letter-spacing: .04em; }
.lb-cardface-number { font-size: 15px; letter-spacing: .12em; color: #E8EBEF; font-variant-numeric: tabular-nums; }
.lb-cardface-foot { display: flex; justify-content: space-between; gap: 8px; }
.lb-cardface-foot > div { display: flex; flex-direction: column; }
.lb-cardface-foot span { font-size: 9px; letter-spacing: .08em; color: #AEB6BF; }
.lb-cardface-foot b { font-size: 14px; font-variant-numeric: tabular-nums; }
.lb-cardface-end { text-align: right; }
.lb-cardface-end b { font-size: 11px; font-weight: 600; color: #E8EBEF; }

/* Nav tiles */
.lb-nav-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px; }
.lb-nav-tile { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 14px; border: 1px solid var(--rc-card-border); border-radius: 18px; background: var(--rc-card); box-shadow: var(--rc-shadow); color: inherit; text-decoration: none; transition: transform .15s ease, border-color .15s ease; }
.lb-nav-tile:hover { transform: translateY(-1px); border-color: var(--lb-border); color: inherit; }
.lb-nav-tile:focus-visible { outline: 2px solid var(--lb-rose); outline-offset: 2px; }
.lb-nav-text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.lb-nav-title { font-family: var(--tx-font); font-weight: 600; font-size: 14px; }
.lb-nav-meta { font-size: 11.5px; color: var(--lb-muted); }
.lb-nav-chevron { color: var(--lb-light); }

/* ------------------------------------------------------------------ Sheets and forms */

section.dbs-sheet.lb-sheet { width: min(720px, calc(100vw - 1rem)); }
section.dbs-sheet.lb-rule-sheet { max-height: 92vh; }
.lb-sheet-body { display: flex; flex-direction: column; gap: 12px; }
.lb-sheet-head { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; gap: 10px; align-items: center; }
.lb-sheet-title { margin: 0; font-family: var(--tx-font); font-size: 18px; font-weight: 600; }
.lb-sheet-note { text-align: center; }
.lb-form { display: flex; flex-direction: column; gap: 12px; }
.lb-form-section { display: flex; flex-direction: column; gap: 6px; padding-top: 6px; }
.lb-form-section + .lb-form-section { border-top: 1px solid var(--rc-card-border); padding-top: 12px; }
.lb-form-heading { display: inline-flex; align-items: center; gap: .45rem; margin: 0; font-family: var(--tx-font); font-size: 14px; font-weight: 600; }
.lb-form-heading .tx-glyph { color: var(--lb-icon); }
.lb-form-label { font-weight: 600; font-size: 13px; }
.lb-form-help { margin: 0; font-size: 12px; line-height: 1.45; color: var(--lb-muted); }
.lb-field { display: flex; flex-direction: column; gap: 4px; }
.lb-field label { font-size: 12px; font-weight: 600; }
.lb-input { min-height: 40px; border-radius: 14px; border-color: var(--lb-input-border); background-color: var(--lb-input-bg); color: var(--lb-text); }
.lb-input:focus { border-color: var(--lb-rose); box-shadow: 0 0 0 .2rem color-mix(in srgb, var(--lb-rose) 18%, transparent); }
.lb-input-amount { text-align: right; font-variant-numeric: tabular-nums; }
.lb-inline-field { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
.lb-toggle-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; font-size: 13.5px; cursor: pointer; }
.lb-switch { width: 2.5rem !important; height: 1.35rem; cursor: pointer; }
.lb-switch:checked { background-color: var(--lb-rose); border-color: var(--lb-rose); }
.lb-choice-list { display: flex; flex-direction: column; gap: 8px; margin: 0; padding: 0; list-style: none; }
.lb-choice { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 10px 12px; border: 1px solid var(--rc-card-border); border-radius: 16px; background: var(--rc-row); cursor: pointer; }
.lb-choice.is-selected { border-color: var(--lb-rose); background: var(--lb-rose-soft); }
.lb-choice input, .lb-threshold input { accent-color: var(--lb-rose); }
.lb-choice .form-check-input:checked, .lb-threshold .form-check-input:checked { background-color: var(--lb-rose); border-color: var(--lb-rose); }
.lb-threshold-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.lb-threshold { display: inline-flex; align-items: center; gap: .45rem; padding: 6px 12px 6px 8px; border: 1px solid var(--rc-card-border); border-radius: 16px; background: var(--rc-row); font-size: 13px; font-weight: 600; cursor: pointer; }
.lb-threshold.is-selected { border-color: var(--lb-rose); }
.lb-threshold .form-check-input { margin: 0; }
.lb-form-error { display: flex; align-items: flex-start; gap: .5rem; padding: 10px 12px; border: 1px solid color-mix(in srgb, var(--lb-negative) 40%, transparent); border-radius: 12px; background: var(--lb-negative-soft); color: var(--lb-negative); font-size: 12.5px; }
.lb-form-busy { display: flex; align-items: center; gap: .5rem; font-size: 12px; color: var(--lb-muted); }
.lb-form-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding-top: 6px; }
.lb-form-actions-sticky { position: sticky; bottom: -1.5rem; z-index: 2; margin: 0 -1.25rem; padding: 12px 1.25rem 1.25rem; background: inherit; border-top: 1px solid var(--rc-card-border); }
section.dbs-sheet.lb-sheet .lb-form-actions-sticky { background: var(--bs-body-bg, #FFFFFF); }
[data-bs-theme="dark"] section.dbs-sheet.lb-sheet .lb-form-actions-sticky { background: #151A26; }

/* ------------------------------------------------------------------ Small screens and motion */

@media (max-width: 575.98px) {
    .lb-row { grid-template-columns: 32px minmax(0, 1fr) auto; }
    .lb-row-end { grid-column: 2 / -1; justify-content: flex-start; }
    .lb-kpis, .lb-cycle-grid { grid-template-columns: minmax(0, 1fr); }
    .lb-trend-caption { bottom: 50px; right: 8px; }
    .lb-sheet-head { grid-template-columns: auto minmax(0, 1fr) auto; }
    .lb-sheet-head .help-icon-button { display: none; }
}

@media (prefers-reduced-motion: reduce) {
    .lb-trend, .lb-csp-fill, .lb-share-fill, .lb-icon-ping, .lb-icon-btn.has-live, .lb-carousel-item, .lb-promo-body, .lb-menu-list, .lb-trend-caption-text {
        animation: none !important;
        transition: none !important;
    }
}

/* ------------------------------------------------------------------ Credit Briefing (CreditBriefingCard, All Access)
   Chip In Intelligence on the whole Credit Journey, in the liability rose: the thinking state, the upsell, the
   briefing (highlights, sections with the server's charts and tables, actions, watch, questions, Based on,
   disclosures), the export footer and print. Lightweight CSS bars and an inline SVG donut; tables scroll inside the
   card on a phone, never the page. Debt going up is never green: tones come from the server. */

:root {
    --lb-cb-c0: #E11D48;
    --lb-cb-c1: #FF8FA3;
    --lb-cb-c2: #B45309;
    --lb-cb-c3: #BE123C;
    --lb-cb-c4: hsl(calc(247.94deg + var(--ci-accent-shift, 0deg)) 83.95% 68.24%);
    --lb-cb-c5: #64748B;
    --lb-cb-neutral: #94A3B8;
    --lb-cb-orb: linear-gradient(135deg, #FB7185 0%, #E11D48 55%, #9F1239 100%);
    --lb-cb-panel: #FFF7F8;
}

[data-bs-theme="dark"] {
    --lb-cb-c0: #FB7185;
    --lb-cb-c1: #FDA4AF;
    --lb-cb-c2: #FBBF24;
    --lb-cb-c3: #F43F5E;
    --lb-cb-c4: hsl(calc(247.88deg + var(--ci-accent-shift, 0deg)) 100% 80.59%);
    --lb-cb-c5: #94A3B8;
    --lb-cb-neutral: #64748B;
    --lb-cb-orb: linear-gradient(135deg, #FDA4AF 0%, #F43F5E 55%, #9F1239 100%);
    --lb-cb-panel: rgba(251, 113, 133, .06);
}

.lb-cb-card .lb-card-actions { row-gap: .4rem; }
.lb-cb-print-only { display: none; }

/* Buttons */
.lb-cb-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 40px; padding: 8px 18px;
    border: 0; border-radius: 12px; font: inherit; font-size: 13.5px; font-weight: 700; cursor: pointer;
}
.lb-cb-btn:disabled { opacity: .6; cursor: default; }
.lb-cb-btn-primary { background: linear-gradient(135deg, var(--lb-rose) 0%, var(--lb-rose-strong) 100%); color: #FFFFFF; box-shadow: 0 6px 18px color-mix(in srgb, var(--lb-rose) 28%, transparent); }
.lb-cb-btn-primary:hover:not(:disabled) { filter: brightness(1.05); }
.lb-cb-btn-gold { background: var(--rp-gold-grad, linear-gradient(135deg, #F6C453 0%, #E59E2D 55%, #C27A1A 100%)); color: #FFFFFF; }
.lb-cb-btn:focus-visible, .lb-cb-link:focus-visible { outline: 2px solid var(--lb-rose); outline-offset: 2px; }
.lb-cb-link { display: inline-flex; align-items: center; gap: .4rem; padding: 6px 4px; border: 0; background: none; color: var(--lb-rose); font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
.lb-cb-link:disabled { opacity: .6; cursor: default; }

/* Waiting, start, errors */
.lb-cb-wait { display: flex; flex-direction: column; gap: 10px; padding: 4px 0 8px; }
.lb-cb-bone { display: block; height: 12px; border-radius: 6px; }
.lb-cb-bone.w90 { width: 90%; } .lb-cb-bone.w80 { width: 80%; } .lb-cb-bone.w75 { width: 75%; } .lb-cb-bone.w70 { width: 70%; }
.lb-cb-bone.w60 { width: 60%; } .lb-cb-bone.w55 { width: 55%; } .lb-cb-bone.w45 { width: 45%; } .lb-cb-bone.w40 { width: 40%; }
.lb-cb-start { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; padding: 4px 0; }
.lb-cb-pitch { margin: 0; font-size: 13.5px; line-height: 1.55; color: var(--lb-muted); }
.lb-cb-model { font-size: 11.5px; color: var(--lb-light); }
.lb-cb-error { display: flex; align-items: flex-start; gap: .5rem; margin: 0 0 10px; padding: 9px 12px; border-radius: 12px; background: var(--lb-negative-soft); color: var(--lb-negative); font-size: 12.5px; }
.lb-cb-limit { margin: 0 0 12px; }

/* Thinking */
.lb-cb-thinking { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 12px 14px; align-items: center; padding: 4px 0 8px; }
.lb-cb-orb {
    display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%;
    background: var(--lb-cb-orb); color: #FFFFFF; font-size: 17px; animation: lb-cb-pulse 1.8s ease-in-out infinite;
    box-shadow: 0 0 0 0 color-mix(in srgb, var(--lb-rose) 40%, transparent);
}
.lb-cb-thinking-text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.lb-cb-thinking-text strong { font-size: 14px; color: var(--lb-text); }
.lb-cb-thinking-text span { font-size: 12px; color: var(--lb-muted); }
.lb-cb-thinking-lines { grid-column: 1 / -1; display: flex; flex-direction: column; gap: 9px; --dsh-bone: color-mix(in srgb, var(--lb-rose) 12%, transparent); }
.lb-cb-bone-tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 4px; }
.lb-cb-bone-tiles .dsh-bone { height: 58px; border-radius: 12px; }
@keyframes lb-cb-pulse {
    0%, 100% { transform: scale(1); box-shadow: 0 0 0 0 color-mix(in srgb, var(--lb-rose) 35%, transparent); }
    50% { transform: scale(1.06); box-shadow: 0 0 0 10px color-mix(in srgb, var(--lb-rose) 0%, transparent); }
}

/* Upsell */
.lb-cb-upsell { display: flex; flex-direction: column; gap: 14px; padding: 14px; border-radius: 14px; background: var(--lb-cb-panel); border: 1px solid var(--lb-border); }
.lb-cb-upsell-head { display: flex; align-items: flex-start; gap: 12px; }
.lb-cb-upsell-head > div { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.lb-cb-upsell-crown { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 12px; background: var(--rp-gold-soft, #FEF3C7); color: var(--rp-gold, #B7791F); font-size: 16px; }
.lb-cb-upsell-eyebrow { font-size: 10.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--rp-gold, #B7791F); }
.lb-cb-upsell-title { font-size: 15px; color: var(--lb-text); }
.lb-cb-upsell-text { font-size: 12.5px; line-height: 1.5; color: var(--lb-muted); }
.lb-cb-upsell-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.lb-cb-upsell-list li { display: flex; align-items: flex-start; gap: 9px; min-width: 0; }
.lb-cb-upsell-list i { flex: 0 0 auto; width: 28px; height: 28px; display: inline-flex; align-items: center; justify-content: center; border-radius: 9px; background: var(--lb-icon-bg); color: var(--lb-icon); font-size: 12px; }
.lb-cb-upsell-list span { display: flex; flex-direction: column; gap: 1px; min-width: 0; font-size: 12.5px; color: var(--lb-text); }
.lb-cb-upsell-list small { font-size: 11.5px; line-height: 1.4; color: var(--lb-muted); }
.lb-cb-upsell-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.lb-cb-footnote { margin: 0; font-size: 11px; line-height: 1.45; color: var(--lb-light); }
[data-bs-theme="dark"] .lb-cb-upsell-crown { background: rgba(251, 191, 36, .14); color: #FBBF24; }
[data-bs-theme="dark"] .lb-cb-upsell-eyebrow { color: #FBBF24; }

/* The briefing */
.lb-cb-briefing { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.lb-cb-headline { margin: 0; font-size: 18px; line-height: 1.3; font-weight: 700; color: var(--lb-text); }
.lb-cb-summary { margin: -6px 0 0; font-size: 13.5px; line-height: 1.6; color: var(--lb-muted); }
.lb-cb-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 10px; }
.lb-cb-tile { display: grid; grid-template-columns: auto minmax(0, 1fr); grid-template-areas: "icon label" "value value" "caption caption"; align-items: center; gap: 4px 8px; padding: 12px; border-radius: 14px; background: var(--lb-neutral-soft); border: 1px solid transparent; min-width: 0; }
.lb-cb-tile-icon { grid-area: icon; display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 8px; background: var(--lb-icon-bg); color: var(--lb-icon); font-size: 11.5px; }
.lb-cb-tile-label { grid-area: label; font-size: 10.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--lb-muted); min-width: 0; overflow-wrap: anywhere; }
.lb-cb-tile-value { grid-area: value; font-family: var(--tx-font); font-size: 19px; font-weight: 700; font-variant-numeric: tabular-nums; color: var(--lb-text); overflow-wrap: anywhere; }
.lb-cb-tile-caption { grid-area: caption; font-size: 11.5px; color: var(--lb-muted); }
.lb-cb-tile.lb-cb-tone-negative { background: var(--lb-negative-soft); }
.lb-cb-tile.lb-cb-tone-negative .lb-cb-tile-value, .lb-cb-tile.lb-cb-tone-negative .lb-cb-tile-icon { color: var(--lb-negative); }
.lb-cb-tile.lb-cb-tone-caution { background: var(--lb-caution-soft); }
.lb-cb-tile.lb-cb-tone-caution .lb-cb-tile-value, .lb-cb-tile.lb-cb-tone-caution .lb-cb-tile-icon { color: var(--lb-caution); }
.lb-cb-tile.lb-cb-tone-positive { background: var(--lb-positive-soft); }
.lb-cb-tile.lb-cb-tone-positive .lb-cb-tile-value, .lb-cb-tile.lb-cb-tone-positive .lb-cb-tile-icon { color: var(--lb-positive); }
.lb-cb-tile.lb-cb-tone-accent { background: var(--lb-rose-soft); }

.lb-cb-section { display: flex; flex-direction: column; gap: 10px; padding-top: 14px; border-top: 1px solid var(--rc-card-border, var(--lb-border)); min-width: 0; }
.lb-cb-section-head { display: flex; align-items: center; gap: 10px; }
.lb-cb-section-head h4 { margin: 0; font-size: 14.5px; font-weight: 700; color: var(--lb-text); }
.lb-cb-section-icon { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 10px; background: var(--lb-icon-bg); color: var(--lb-icon); font-size: 13px; flex: 0 0 auto; }
.lb-cb-section-summary { margin: 0; font-size: 13px; line-height: 1.55; color: var(--lb-muted); }

.lb-cb-findings { display: flex; flex-direction: column; gap: 8px; margin: 0; padding: 0; list-style: none; }
.lb-cb-finding { display: flex; align-items: flex-start; gap: 10px; padding: 10px 12px; border-radius: 12px; background: var(--lb-neutral-soft); border-left: 3px solid var(--lb-cb-neutral); }
.lb-cb-finding-icon { flex: 0 0 auto; margin-top: 1px; color: var(--lb-cb-neutral); font-size: 13px; }
.lb-cb-finding-body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.lb-cb-finding-kicker { font-size: 10px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; color: var(--lb-muted); }
.lb-cb-finding-body strong { font-size: 13.5px; color: var(--lb-text); }
.lb-cb-finding-body p { margin: 0; font-size: 12.5px; line-height: 1.5; color: var(--lb-muted); }
.lb-cb-finding.lb-cb-tone-negative { background: var(--lb-negative-soft); border-left-color: var(--lb-negative); }
.lb-cb-finding.lb-cb-tone-negative .lb-cb-finding-icon, .lb-cb-finding.lb-cb-tone-negative .lb-cb-finding-kicker { color: var(--lb-negative); }
.lb-cb-finding.lb-cb-tone-caution { background: var(--lb-caution-soft); border-left-color: var(--lb-caution); }
.lb-cb-finding.lb-cb-tone-caution .lb-cb-finding-icon, .lb-cb-finding.lb-cb-tone-caution .lb-cb-finding-kicker { color: var(--lb-caution); }
.lb-cb-finding.lb-cb-tone-positive { background: var(--lb-positive-soft); border-left-color: var(--lb-positive); }
.lb-cb-finding.lb-cb-tone-positive .lb-cb-finding-icon, .lb-cb-finding.lb-cb-tone-positive .lb-cb-finding-kicker { color: var(--lb-positive); }
.lb-cb-finding.lb-cb-tone-accent { background: var(--lb-rose-soft); border-left-color: var(--lb-rose); }

/* Visuals */
.lb-cb-visual { margin: 0; padding: 12px; border-radius: 14px; border: 1px solid var(--rc-card-border, var(--lb-border)); background: var(--lb-tile-strong); min-width: 0; }
.lb-cb-visual-head { display: flex; flex-direction: column; gap: 2px; margin-bottom: 10px; }
.lb-cb-visual-head strong { font-size: 13px; color: var(--lb-text); }
.lb-cb-visual-head span { font-size: 11.5px; color: var(--lb-muted); }
.lb-cb-fill-positive { background: var(--lb-positive); }
.lb-cb-fill-negative { background: var(--lb-negative); }
.lb-cb-fill-caution { background: var(--lb-caution); }
.lb-cb-fill-neutral { background: var(--lb-cb-neutral); }
.lb-cb-fill-accent { background: var(--lb-rose); }
.lb-cb-c0 { background: var(--lb-cb-c0); stroke: var(--lb-cb-c0); }
.lb-cb-c1 { background: var(--lb-cb-c1); stroke: var(--lb-cb-c1); }
.lb-cb-c2 { background: var(--lb-cb-c2); stroke: var(--lb-cb-c2); }
.lb-cb-c3 { background: var(--lb-cb-c3); stroke: var(--lb-cb-c3); }
.lb-cb-c4 { background: var(--lb-cb-c4); stroke: var(--lb-cb-c4); }
.lb-cb-c5 { background: var(--lb-cb-c5); stroke: var(--lb-cb-c5); }
.lb-cb-fill-c1 { background: var(--lb-cb-c1); } .lb-cb-fill-c2 { background: var(--lb-cb-c2); } .lb-cb-fill-c3 { background: var(--lb-cb-c3); }
.lb-cb-fill-c4 { background: var(--lb-cb-c4); } .lb-cb-fill-c5 { background: var(--lb-cb-c5); }

.lb-cb-bars { display: flex; flex-direction: column; gap: 9px; margin: 0; padding: 0; list-style: none; }
.lb-cb-bar-row { display: grid; grid-template-columns: minmax(0, 34%) minmax(0, 1fr) auto; align-items: center; gap: 10px; }
.lb-cb-bar-label { font-size: 12.5px; color: var(--lb-text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lb-cb-bar-tracks { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.lb-cb-bar-track { display: block; height: 10px; border-radius: 6px; background: var(--lb-track); overflow: hidden; }
.lb-cb-bar-fill { display: block; height: 100%; border-radius: 6px; transition: width .5s cubic-bezier(.65, 0, .35, 1); }
.lb-cb-bar-values { display: flex; flex-direction: column; align-items: flex-end; gap: 1px; }
.lb-cb-bar-values b { font-size: 12.5px; font-variant-numeric: tabular-nums; color: var(--lb-text); white-space: nowrap; }

.lb-cb-columns { display: flex; align-items: stretch; gap: 8px; height: 180px; padding-top: 4px; }
.lb-cb-column { flex: 1 1 0; display: grid; grid-template-rows: minmax(0, 1fr) auto auto; justify-items: center; gap: 4px; min-width: 0; }
.lb-cb-column-bars { display: flex; align-items: flex-end; justify-content: center; gap: 3px; width: 100%; height: 100%; }
.lb-cb-column-bar { display: block; flex: 0 1 26px; min-height: 2px; border-radius: 6px 6px 2px 2px; transition: height .5s cubic-bezier(.65, 0, .35, 1); }
.lb-cb-column-value { font-size: 11.5px; font-variant-numeric: tabular-nums; color: var(--lb-text); white-space: nowrap; }
.lb-cb-column-label { font-size: 11px; color: var(--lb-muted); text-align: center; overflow-wrap: anywhere; line-height: 1.25; }

.lb-cb-donut { display: grid; grid-template-columns: 140px minmax(0, 1fr); align-items: center; gap: 16px; }
.lb-cb-donut-ring { width: 140px; height: 140px; transform: rotate(-90deg); }
.lb-cb-donut-track { fill: none; stroke: var(--lb-track); stroke-width: 6; }
.lb-cb-donut-seg { fill: none; stroke-width: 6; background: none; }
.lb-cb-legend { display: flex; flex-direction: column; gap: 6px; margin: 0; padding: 0; list-style: none; min-width: 0; }
.lb-cb-legend li { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 8px; font-size: 12.5px; color: var(--lb-text); }
.lb-cb-legend b { font-variant-numeric: tabular-nums; white-space: nowrap; }
.lb-cb-legend-label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lb-cb-legend.is-inline { flex-direction: row; flex-wrap: wrap; gap: 6px 14px; margin-bottom: 10px; }
.lb-cb-legend.is-inline li { grid-template-columns: auto auto; font-size: 11.5px; color: var(--lb-muted); }
.lb-cb-swatch { display: inline-block; width: 10px; height: 10px; border-radius: 3px; }

.lb-cb-table-wrap { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; border-radius: 10px; }
.lb-cb-table-wrap:focus-visible { outline: 2px solid var(--lb-rose); outline-offset: 2px; }
.lb-cb-table { width: 100%; border-collapse: collapse; font-size: 12.5px; color: var(--lb-text); }
.lb-cb-table th, .lb-cb-table td { padding: 8px 10px; text-align: left; border-bottom: 1px solid var(--rc-card-border, var(--lb-border)); vertical-align: top; }
.lb-cb-table thead th { font-size: 10.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--lb-muted); background: var(--lb-neutral-soft); border-bottom: 0; }
.lb-cb-table tbody th { font-weight: 600; }
.lb-cb-table tbody tr:last-child > * { border-bottom: 0; }
.lb-cb-table .is-end { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.lb-cb-tone-row-negative > * { background: color-mix(in srgb, var(--lb-negative) 6%, transparent); }
.lb-cb-tone-row-caution > * { background: color-mix(in srgb, var(--lb-caution) 6%, transparent); }
.lb-cb-tone-row-positive > * { background: color-mix(in srgb, var(--lb-positive) 6%, transparent); }
.lb-cb-table .lb-cb-tone-negative { color: var(--lb-negative); }
.lb-cb-table .lb-cb-tone-caution { color: var(--lb-caution); }
.lb-cb-table .lb-cb-tone-positive { color: var(--lb-positive); }
.lb-cb-table .lb-cb-tone-accent { color: var(--lb-rose); }

/* Actions, watch, questions, facts, disclosures */
.lb-cb-subhead { display: flex; align-items: center; gap: .45rem; margin: 6px 0 -4px; font-size: 11.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--lb-text); }
.lb-cb-subhead i { color: var(--lb-icon); }
.lb-cb-actions { display: flex; flex-direction: column; gap: 8px; margin: 0; padding: 0; list-style: none; counter-reset: lbcb; }
.lb-cb-action { counter-increment: lbcb; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: flex-start; gap: 10px; padding: 10px 12px; border-radius: 12px; border: 1px solid var(--rc-card-border, var(--lb-border)); }
.lb-cb-action::before { content: counter(lbcb); display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 50%; background: var(--lb-rose-soft); color: var(--lb-rose); font-size: 11px; font-weight: 800; }
.lb-cb-action-text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.lb-cb-action-text strong { font-size: 13.5px; color: var(--lb-text); }
.lb-cb-action-text span { font-size: 12.5px; line-height: 1.5; color: var(--lb-muted); }
.lb-cb-impact { align-self: center; padding: 4px 10px; border-radius: 999px; font-size: 11.5px; font-weight: 700; white-space: nowrap; }
.lb-cb-impact.is-saves { background: var(--lb-positive-soft); color: var(--lb-positive); }
.lb-cb-impact.is-costs { background: var(--lb-negative-soft); color: var(--lb-negative); }
.lb-cb-watch, .lb-cb-questions, .lb-cb-disclosures { margin: 0; padding-left: 1.1rem; display: flex; flex-direction: column; gap: 5px; font-size: 12.5px; line-height: 1.5; color: var(--lb-muted); }
.lb-cb-questions { list-style: none; padding: 0; flex-direction: row; flex-wrap: wrap; gap: 8px; }
.lb-cb-questions li { padding: 6px 12px; border-radius: 999px; background: var(--lb-accent-soft); color: var(--lb-accent); font-size: 12px; font-weight: 600; }
.lb-cb-facts summary { cursor: pointer; font-size: 12.5px; font-weight: 600; color: var(--lb-rose); }
.lb-cb-facts dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 4px 16px; margin: 10px 0 0; }
.lb-cb-fact { display: flex; justify-content: space-between; gap: 10px; padding: 5px 0; border-bottom: 1px dashed var(--rc-card-border, var(--lb-border)); font-size: 12px; }
.lb-cb-fact dt { font-weight: 500; color: var(--lb-muted); min-width: 0; overflow-wrap: anywhere; }
.lb-cb-fact dd { margin: 0; font-weight: 700; color: var(--lb-text); font-variant-numeric: tabular-nums; white-space: nowrap; }
.lb-cb-disclosures { font-size: 11px; color: var(--lb-light); }

.lb-cb-foot { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--rc-card-border, var(--lb-border)); }
.lb-cb-meta { display: inline-flex; align-items: center; gap: .4rem; font-size: 11.5px; color: var(--lb-muted); }
.lb-cb-foot-actions { display: inline-flex; flex-wrap: wrap; gap: 6px; }
.lb-cb-foot-btn { height: 32px; font-size: 12.5px; }

@media (max-width: 575.98px) {
    .lb-cb-card .lb-card-actions { width: 100%; justify-content: flex-start; }
    .lb-cb-upsell-list { grid-template-columns: minmax(0, 1fr); }
    .lb-cb-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .lb-cb-tile-value { font-size: 17px; }
    .lb-cb-bar-row { grid-template-columns: minmax(0, 1fr) auto; }
    .lb-cb-bar-label { grid-column: 1 / -1; white-space: normal; }
    .lb-cb-donut { grid-template-columns: minmax(0, 1fr); justify-items: center; }
    .lb-cb-legend { width: 100%; }
    .lb-cb-columns { height: 150px; gap: 5px; }
    .lb-cb-table th, .lb-cb-table td { white-space: nowrap; }
    .lb-cb-action { grid-template-columns: auto minmax(0, 1fr); }
    .lb-cb-impact { grid-column: 2; justify-self: start; }
    .lb-cb-foot-actions { width: 100%; }
    .lb-cb-foot-btn { flex: 1 1 0; justify-content: center; }
}

/* ------------------------------------------------------------------ Credit Briefing launcher (dashboard, right column)
   Two rows, Standard (Luna, rose) and Deep (Terra, violet): what's saved today and when, and one button each to open
   it in the sheet or create it. A row with a saved briefing gets the rose panel so it reads as ready. */
.lb-cb-launch { display: flex; flex-direction: column; gap: 12px; }
.lb-cb-launch .lb-cb-pitch { font-size: 13px; }
.lb-cb-runs { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.lb-cb-run {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    padding: 10px 10px 10px 12px;
    border: 1px solid transparent;
    border-radius: 14px;
    background: var(--lb-neutral-soft);
    transition: background-color .18s ease, border-color .18s ease;
}
.lb-cb-run.has-briefing { background: var(--lb-cb-panel); border-color: var(--lb-border); }
.lb-cb-run-icon { display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 11px; background: var(--lb-icon-bg); color: var(--lb-rose); font-size: 14px; }
.lb-cb-run.is-deep .lb-cb-run-icon { background: var(--lb-accent-soft); color: var(--lb-accent); }
.lb-cb-run-text { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.lb-cb-run-text strong { font-size: 13.5px; font-weight: 650; color: var(--lb-text); }
.lb-cb-run-text small { overflow: hidden; font-size: 11.5px; color: var(--lb-muted); text-overflow: ellipsis; white-space: nowrap; }
.lb-cb-run-btn {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    height: 32px;
    padding: 0 13px;
    border: 1px solid transparent;
    border-radius: 999px;
    font: inherit;
    font-size: 12.5px;
    font-weight: 650;
    white-space: nowrap;
    cursor: pointer;
    transition: filter .15s ease, background-color .15s ease;
}
.lb-cb-run-btn.is-open { background: linear-gradient(135deg, var(--lb-rose) 0%, var(--lb-rose-strong) 100%); color: #FFFFFF; box-shadow: 0 4px 14px color-mix(in srgb, var(--lb-rose) 25%, transparent); }
.lb-cb-run.is-deep .lb-cb-run-btn.is-open { background: linear-gradient(135deg, var(--lb-accent) 0%, color-mix(in srgb, var(--lb-accent) 70%, #1E1B4B) 100%); box-shadow: 0 4px 14px color-mix(in srgb, var(--lb-accent) 25%, transparent); }
.lb-cb-run-btn.is-create { background: transparent; border-color: color-mix(in srgb, var(--lb-rose) 45%, transparent); color: var(--lb-rose); }
.lb-cb-run.is-deep .lb-cb-run-btn.is-create { border-color: color-mix(in srgb, var(--lb-accent) 45%, transparent); color: var(--lb-accent); }
.lb-cb-run-btn.is-busy { background: var(--lb-rose-soft); color: var(--lb-rose); }
.lb-cb-run-btn:hover:not(:disabled) { filter: brightness(1.06); }
.lb-cb-run-btn:disabled { opacity: .55; cursor: default; }
.lb-cb-run-btn:focus-visible { outline: 2px solid var(--lb-rose); outline-offset: 2px; }
.lb-cb-run-bone { display: block; width: 76px; height: 32px; border-radius: 999px; }
.lb-cb-launch .lb-cb-model { display: flex; align-items: flex-start; gap: .4rem; margin: 0; line-height: 1.45; }
.lb-cb-launch .lb-cb-model .fa-circle-info { margin-top: 2px; }

/* The right column is narrow between 1200px and 1599px: the upsell's list takes one column there. */
@media (min-width: 1200px) and (max-width: 1599.98px) {
    .lb-cb-launcher .lb-cb-upsell-list { grid-template-columns: minmax(0, 1fr); }
}

/* ------------------------------------------------------------------ Credit Briefing sheet
   Slides up from the bottom, wide enough for the briefing's tables, scrolls inside itself; the header (title, the
   Standard / Deep tabs, exports, Refresh) stays pinned while the briefing scrolls under it. */
section.dbs-sheet.lb-cb-sheet { width: min(1180px, calc(100vw - 1rem)); max-height: 92vh; padding-top: 0; }
.lb-cb-sheet-top {
    position: sticky;
    top: 0;
    z-index: 3;
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 0 -1.25rem 14px;
    padding: .65rem 1.25rem 12px;
    border-bottom: 1px solid var(--rc-card-border, var(--lb-border));
    background: inherit;
}
.lb-cb-sheet-top::before { content: ""; display: block; width: 2.75rem; height: .3rem; margin: 0 auto 4px; border-radius: 999px; background: var(--bs-secondary-color, rgba(100, 116, 139, .55)); opacity: .45; }
section.dbs-sheet.lb-cb-sheet > .dbs-grabber { display: none; }
.lb-cb-sheet-head { grid-template-columns: auto minmax(0, 1fr) auto; }
.lb-cb-export-error { align-items: center; margin: 0; }
.lb-cb-export-error > span { flex: 1 1 auto; }
.lb-cb-export-error .lb-cb-link { padding: 2px 4px; color: inherit; }
.lb-cb-sheet-chip { display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: 14px; background: var(--lb-cb-orb); color: #FFFFFF; font-size: 17px; box-shadow: 0 8px 20px color-mix(in srgb, var(--lb-rose) 28%, transparent); }
.lb-cb-sheet-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; }
.lb-cb-tabs { display: inline-flex; gap: 4px; padding: 4px; border-radius: 14px; background: var(--lb-neutral-soft); }
.lb-cb-tab {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 12px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: var(--lb-muted);
    font: inherit;
    cursor: pointer;
    transition: background-color .15s ease, color .15s ease, box-shadow .15s ease;
}
.lb-cb-tab-text { display: flex; flex-direction: column; align-items: flex-start; line-height: 1.15; }
.lb-cb-tab-text strong { font-size: 13px; font-weight: 650; }
.lb-cb-tab-text small { font-size: 10.5px; opacity: .8; }
.lb-cb-tab.is-active { background: var(--rc-card, #FFFFFF); color: var(--lb-text); box-shadow: 0 2px 8px rgba(15, 23, 42, .08); }
.lb-cb-tab.is-active > .fa-bolt { color: var(--lb-rose); }
.lb-cb-tab.is-active > .fa-brain { color: var(--lb-accent); }
.lb-cb-tab:focus-visible { outline: 2px solid var(--lb-rose); outline-offset: 2px; }
.lb-cb-tab-state { font-size: 12px; }
.lb-cb-tab-state.is-saved { color: var(--lb-positive); }
[data-bs-theme="dark"] .lb-cb-tab.is-active { background: rgba(255, 255, 255, .08); box-shadow: none; }
.lb-cb-sheet-actions { display: inline-flex; flex-wrap: wrap; gap: 6px; }
.lb-cb-sheet-actions .lb-cb-foot-btn { display: inline-flex; align-items: center; gap: .4rem; }
.lb-cb-sheet-body { min-width: 0; padding-bottom: .5rem; }
.lb-cb-sheet-body .lb-cb-thinking { padding: 18px 4px 8px; }
.lb-cb-sheet-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    max-width: 560px;
    margin: 12px auto 18px;
    padding: 26px 22px;
    border: 1px dashed var(--lb-border);
    border-radius: 18px;
    background: var(--lb-cb-panel);
    text-align: center;
}
.lb-cb-sheet-state > strong { font-size: 16px; color: var(--lb-text); }
.lb-cb-sheet-state > span:not([class]) { font-size: 13px; line-height: 1.55; color: var(--lb-muted); }
.lb-cb-orb.is-still { animation: none; }
.lb-cb-sheet-body .lb-cb-tiles { grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); }

@media (max-width: 767.98px) {
    .lb-cb-sheet-bar { flex-direction: column; align-items: stretch; }
    .lb-cb-tabs { width: 100%; }
    .lb-cb-tab { flex: 1 1 0; justify-content: center; }
    .lb-cb-sheet-actions .lb-cb-foot-btn { flex: 1 1 0; justify-content: center; }
}

@media (max-width: 575.98px) {
    section.dbs-sheet.lb-cb-sheet { width: 100%; }
    .lb-cb-sheet-top { margin: 0 -1rem 12px; padding: .6rem 1rem 10px; }
    .lb-cb-sheet-actions .lb-cb-foot-btn > span { display: none; }
}

/* ------------------------------------------------------------------ Printing the briefing from the sheet
   chipInReports.printClone copies the sheet's body onto a page of its own (#chipin-print-root); lb-print-root gives it
   the light liability colors whatever the theme, so it prints dark text on white. */
#chipin-print-root { display: none; }
#chipin-print-root.lb-print-root {
    --lb-rose: #E11D48;
    --lb-rose-strong: #BE123C;
    --lb-rose-soft: #FFE4E8;
    --lb-icon: #EF4444;
    --lb-icon-bg: #FEE2E2;
    --lb-border: #F0C8D0;
    --lb-track: #EEF0F7;
    --lb-positive: #16A34A;
    --lb-positive-soft: #DCFCE7;
    --lb-caution: #B45309;
    --lb-caution-soft: #FEF3C7;
    --lb-negative: #DC2626;
    --lb-negative-soft: #FEE2E2;
    --lb-neutral-soft: #EEF0F6;
    --lb-accent: #5A45E6;
    --lb-accent-soft: #EDE9FE;
    --lb-text: #0B0F19;
    --lb-muted: #475569;
    --lb-light: #64748B;
    --lb-cb-c0: #E11D48;
    --lb-cb-c1: #FF8FA3;
    --lb-cb-c2: #B45309;
    --lb-cb-c3: #BE123C;
    --lb-cb-c4: #7C6AF2;
    --lb-cb-c5: #64748B;
    --lb-cb-neutral: #94A3B8;
    --lb-cb-panel: #FFF7F8;
    --tx-text: #0B0F19;
    --tx-muted: #475569;
    --tx-light-text: #64748B;
    --rc-card: #FFFFFF;
    --rc-card-border: #D0D4E8;
    color: #0B0F19;
    background: #FFFFFF;
    font-family: var(--tx-font, "Poppins", system-ui, sans-serif);
}

@media print {
    body.chipin-printing-clone > *:not(#chipin-print-root) { display: none !important; }
    body.chipin-printing-clone #chipin-print-root { display: block; padding: 0; }
    #chipin-print-root .lb-cb-screen-only,
    #chipin-print-root .lb-cb-limit .ai-limit-upgrade { display: none !important; }
    #chipin-print-root .lb-cb-print-only { display: block !important; }
    #chipin-print-root .lb-cb-print-meta { margin: 0 0 10px; font-size: 11px; font-weight: 600; letter-spacing: .02em; color: #E11D48; }
    #chipin-print-root .lb-cb-table-wrap { overflow: visible !important; }
    #chipin-print-root .lb-cb-table th, #chipin-print-root .lb-cb-table td { white-space: normal !important; }
    #chipin-print-root .lb-cb-section, #chipin-print-root .lb-cb-visual, #chipin-print-root .lb-cb-action, #chipin-print-root .lb-cb-tile { break-inside: avoid; }
    #chipin-print-root * { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
}

@media (prefers-reduced-motion: reduce) {
    .lb-cb-orb, .lb-cb-bar-fill, .lb-cb-column-bar { animation: none !important; transition: none !important; }
}

@media print {
    body.rp-printing .lb-cb-foot-actions,
    body.rp-printing .lb-cb-card .lb-card-actions,
    body.rp-printing .lb-cb-screen-only,
    body.rp-printing .lb-cb-limit .ai-limit-upgrade { display: none !important; }
    body.rp-printing .lb-cb-print-only { display: block !important; }
    body.rp-printing .lb-cb-card { box-shadow: none !important; border-color: #D0D4E8 !important; }
    body.rp-printing .lb-cb-table-wrap { overflow: visible !important; }
    body.rp-printing .lb-cb-table th, body.rp-printing .lb-cb-table td { white-space: normal !important; }
    body.rp-printing .lb-cb-section, body.rp-printing .lb-cb-visual, body.rp-printing .lb-cb-action { break-inside: avoid; }
    body.rp-printing .lb-cb-bar-fill, body.rp-printing .lb-cb-column-bar, body.rp-printing .lb-cb-swatch, body.rp-printing .lb-cb-donut-seg { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
}
