:root {
    --bbar-ui-navy-950: #07101d;
    --bbar-ui-navy-900: #0b192a;
    --bbar-ui-navy-800: #102b47;
    --bbar-ui-blue-600: #2877e6;
    --bbar-ui-blue-500: #3f83ff;
    --bbar-ui-cyan-400: #43d9ff;
    --bbar-ui-violet-500: #7257d7;
    --bbar-ui-green-500: #15936d;
    --bbar-ui-amber-500: #d78b1d;
    --bbar-ui-red-500: #c63145;
    --bbar-ui-ink: #172033;
    --bbar-ui-muted: #64778b;
    --bbar-ui-line: #d9e3ed;
    --bbar-ui-line-strong: #c4d3e1;
    --bbar-ui-surface: #ffffff;
    --bbar-ui-surface-soft: #f6f9fc;
    --bbar-ui-surface-blue: #f2f8ff;
    --bbar-ui-radius-sm: 9px;
    --bbar-ui-radius-md: 14px;
    --bbar-ui-radius-lg: 20px;
    --bbar-ui-shadow-sm: 0 4px 14px rgba(23, 45, 67, .05);
    --bbar-ui-shadow-md: 0 12px 32px rgba(17, 39, 61, .09);
    --bbar-ui-focus: 0 0 0 3px rgba(67, 217, 255, .28);
    --bbar-ui-card-padding: 1rem;
    --bbar-ui-section-gap: 1.25rem;
    --bbar-ui-header-padding: clamp(1.1rem, 2.5vw, 1.5rem);
    --bbar-ui-control-height: 2.75rem;
}

.bbar-ui-button {
    box-sizing: border-box;
    display: inline-flex;
    min-height: var(--bbar-ui-control-height);
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 9px 16px;
    border: 1px solid transparent;
    border-radius: var(--bbar-ui-radius-sm);
    font: inherit;
    font-weight: 750;
    line-height: 1.2;
    text-decoration: none;
    cursor: pointer;
    transition: border-color .16s ease, background .16s ease, color .16s ease, transform .16s ease, box-shadow .16s ease;
}

.bbar-ui-button:hover { transform: translateY(-1px); text-decoration: none; }
.bbar-ui-button:focus-visible { outline: none; box-shadow: var(--bbar-ui-focus); }
.bbar-ui-button:disabled, .bbar-ui-button[aria-disabled="true"] { opacity: .55; cursor: not-allowed; transform: none; }
.bbar-ui-button--primary { color: #fff; border-color: var(--bbar-ui-navy-800); background: linear-gradient(135deg, var(--bbar-ui-navy-800), var(--bbar-ui-blue-600)); box-shadow: 0 7px 18px rgba(40, 119, 230, .18); }
.bbar-ui-button--primary:hover { color: #fff; border-color: #153e66; background: linear-gradient(135deg, #0d2239, #286dce); }
.bbar-ui-button--secondary { color: #23425f; border-color: var(--bbar-ui-line-strong); background: #fff; }
.bbar-ui-button--secondary:hover { color: #0c5c9b; border-color: #8fb4d4; background: #f7fbff; }
.bbar-ui-button--danger { color: #a82c3d; border-color: #efb6bf; background: #fff7f8; }
.bbar-ui-button--danger:hover { color: #8f1f30; border-color: #df8f9b; background: #fff1f3; }

.bbar-ui-eyebrow {
    margin: 0 0 5px;
    color: #1774b8;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.bbar-ui-card {
    box-sizing: border-box;
    border: 1px solid var(--bbar-ui-line);
    border-radius: var(--bbar-ui-radius-md);
    background: var(--bbar-ui-surface);
    box-shadow: var(--bbar-ui-shadow-sm);
}

.bbar-ui-badge {
    display: inline-flex;
    min-height: 24px;
    align-items: center;
    gap: 6px;
    padding: 3px 9px;
    border: 1px solid #c8d9e8;
    border-radius: 999px;
    color: #365b7c;
    background: #f5faff;
    font-size: 11px;
    font-weight: 750;
    line-height: 1.2;
}

.bbar-ui-empty {
    padding: var(--bbar-ui-card-padding);
    border: 1px dashed #b9cad9;
    border-radius: var(--bbar-ui-radius-md);
    color: var(--bbar-ui-muted);
    background: #f8fbfe;
    text-align: center;
}

/* Service-lane record groups; no form/control rules. */
.bbar-lane-participant { min-width: 0; margin: 1.25rem 0; padding: 1rem; border: 1px solid var(--bbar-ui-line); border-radius: var(--bbar-ui-radius-md); background: var(--bbar-ui-surface); }
.bbar-lane-participant > .bbar-lane-participant__name { margin: 0 0 1rem; padding-bottom: .75rem; border-bottom: 1px solid var(--bbar-ui-line); color: var(--bbar-ui-navy-800); font-size: 1.2rem; overflow-wrap: anywhere; }
.bbar-lane-participant > .bbar-lane-history { min-width: 0; margin: 1rem 0 0; padding: .85rem 1rem; border: 1px solid var(--bbar-ui-line); border-radius: var(--bbar-ui-radius-sm); background: var(--bbar-ui-surface-soft); }
.bbar-lane-history > summary { cursor: pointer; color: var(--bbar-ui-navy-800); font-weight: 750; overflow-wrap: anywhere; }
.bbar-lane-history > summary:focus-visible { outline: 3px solid var(--bbar-ui-blue-600); outline-offset: 3px; }
.bbar-lane-history[open] > summary { margin-bottom: 1rem; }
@media (max-width: 640px) { .bbar-lane-participant { padding: .75rem; } .bbar-lane-participant > .bbar-lane-history { padding: .75rem; } }
