:root {
    --bb-bg: #071a33;
    --bb-bg-soft: #0d2a4f;
    --bb-surface: #0f2746;
    --bb-surface-light: #ffffff;
    --bb-primary: #2a97da;
    --bb-primary-dark: #167fc1;
    --bb-accent: #8fd3ff;
    --bb-gradient: linear-gradient(135deg, #071a33 0%, #102f58 52%, #1a6da8 100%);
    --bb-text: #10233f;
    --bb-text-dark: #10233f;
    --bb-text-inverse: #f7fbff;
    --bb-text-muted: #6f86a3;
    --bb-border: #d7e5f2;
    --bb-success: #1c9c63;
    --bb-warning: #c9861a;
    --bb-danger: #d94a5a;
    --bb-info: #2a97da;
    --bb-radius: 14px;
    --bb-radius-lg: 22px;
    --bb-shadow: 0 18px 44px rgba(7, 26, 51, 0.14);
    --bb-shadow-soft: 0 10px 26px rgba(15, 39, 70, 0.08);
    --bb-font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

html {
    min-height: 100%;
    font-size: 14px;
}

body.bb-body {
    background:
        radial-gradient(circle at 88% 0%, rgba(42, 151, 218, 0.12), transparent 28%),
        linear-gradient(180deg, #edf5fb 0%, #f7fbff 100%);
    color: var(--bb-text-dark);
    font-family: var(--bb-font-sans);
    font-size: .92rem;
    line-height: 1.45;
}

.bb-main {
    background:
        radial-gradient(circle at 90% 8%, rgba(143, 211, 255, 0.16), transparent 24%),
        linear-gradient(180deg, #edf5fb 0%, #f8fbff 100%) !important;
    padding-top: 1.35rem !important;
    padding-bottom: 1.75rem !important;
}

.bb-navbar {
    background:
        radial-gradient(circle at 18% 14%, rgba(143, 211, 255, 0.16), transparent 24%),
        radial-gradient(circle at 86% 8%, rgba(42, 151, 218, 0.18), transparent 28%),
        var(--bb-gradient) !important;
    border-bottom: 1px solid rgba(143, 211, 255, 0.28);
    box-shadow: 0 14px 34px rgba(7, 26, 51, 0.26);
    backdrop-filter: blur(12px);
}

.bb-navbar .bb-brand-logo {
    max-width: 178px;
    max-height: 80px;
}

.bb-brand-tagline {
    color: rgba(247, 251, 255, 0.72) !important;
}

.bb-nav-link {
    color: rgba(247, 251, 255, 0.82) !important;
    border: 1px solid transparent;
}

.bb-nav-link:hover,
.bb-nav-link.active {
    color: #ffffff !important;
    background: rgba(143, 211, 255, 0.12) !important;
    border-color: rgba(143, 211, 255, 0.18);
}

.bb-nav-section-label {
    align-self: center;
    color: rgba(247, 251, 255, 0.48);
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    padding: .35rem .55rem;
}

.bb-app-shell,
.admin-shell,
.upload-theme-container,
.run-theme-container {
    max-width: 1220px;
    margin: 0 auto;
    padding-left: 18px;
    padding-right: 18px;
}

.bb-page-header {
    /*display: flex;
    justify-content: space-between;
    align-items: flex-end;*/
    gap: 1.25rem;
    margin-bottom: 1.4rem;
    text-align:center;
}

.bb-eyebrow,
.upload-hero-pill,
.run-hero-pill,
.admin-chip {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    width: fit-content;
    border-radius: 999px;
    padding: .38rem .78rem;
    background: rgba(42, 151, 218, 0.11);
    border: 1px solid rgba(42, 151, 218, 0.2);
    color: #155f93;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.bb-page-title,
.admin-page-title,
.upload-hero h1,
.run-hero h1 {
    color: var(--bb-text-dark) !important;
    font-size: clamp(1.35rem, 1.9vw, 1.85rem) !important;
    line-height: 1.16;
    font-weight: 750 !important;
    letter-spacing: 0;
    margin: .45rem 0 .25rem;
}

.bb-page-subtitle,
.admin-page-subtitle,
.upload-hero p,
.run-hero p {
    /*max-width: 740px;*/
    color: var(--bb-text-muted) !important;
    line-height: 1.6;
    margin-bottom: 0;
}

.bb-page-subtitle-main{
    color: var(--bb-text-muted) !important;
    line-height: 1.6;
    margin-top:1rem !important;
    margin-bottom: 2rem;
}

.bb-card,
.bb-stat-card,
.upload-card,
.runs-card,
.run-card,
.admin-card,
.admin-stat-card,
.card:not(.bb-auth-card) {
    background: var(--bb-surface-light) !important;
    border: 1px solid var(--bb-border) !important;
    border-radius: var(--bb-radius-lg) !important;
    box-shadow: var(--bb-shadow-soft) !important;
}

.bb-card-header,
.card-header,
.admin-card > .border-bottom {
    background: linear-gradient(180deg, #ffffff 0%, #f6faff 100%) !important;
    border-color: var(--bb-border) !important;
}

.bb-card-body {
    padding: 1rem;
}

.bb-stat-card {
    padding: .95rem;
    height: 100%;
}

.bb-feature-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(42, 151, 218, 0.16), rgba(143, 211, 255, 0.2));
    border: 1px solid rgba(42, 151, 218, 0.26);
    color: #155f93;
    font-size: .78rem;
    font-weight: 900;
    box-shadow: 0 10px 22px rgba(42, 151, 218, 0.1);
}

.bb-feature-icon svg {
    width: 21px;
    height: 21px;
}

.bb-feature-icon i {
    font-size: 1.15rem;
    line-height: 1;
}

.bb-feature-icon path {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.bb-action-panel {
    background: linear-gradient(180deg, #ffffff 0%, #f4faff 100%) !important;
    border: 1px solid var(--bb-border) !important;
    border-left: 4px solid var(--bb-primary) !important;
    border-radius: var(--bb-radius-lg) !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.055);
    color: var(--bb-text-dark) !important;
    padding: 1rem;
}

.bb-action-panel-title {
    color: var(--bb-text-dark) !important;
    font-size: .95rem;
    font-weight: 750;
    line-height: 1.3;
}

.bb-action-panel h1,
.bb-action-panel h2,
.bb-action-panel h3,
.bb-action-panel h4,
.bb-action-panel h5,
.bb-action-panel h6,
.bb-action-panel .fw-semibold,
.bb-action-panel .fw-bold {
    color: var(--bb-text-dark) !important;
}

.bb-action-panel-text,
.bb-action-panel .text-secondary,
.bb-action-panel .text-muted {
    color: var(--bb-text-muted) !important;
    line-height: 1.45;
}

.bb-support-strip {
    background: linear-gradient(180deg, #ffffff 0%, #f6fbff 100%);
    border: 1px solid rgba(42, 151, 218, 0.22);
    border-left: 4px solid var(--bb-primary);
    border-radius: var(--bb-radius-lg);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.045);
    padding: 1.15rem 1.25rem;
}

.bb-support-note {
    border-top: 1px solid rgba(148, 163, 184, 0.22);
    margin-top: 1rem;
    padding-top: 1rem;
}

.bb-support-title {
    color: var(--bb-text-dark) !important;
    font-size: .98rem;
    font-weight: 800;
    line-height: 1.25;
    margin-bottom: .3rem;
}

.bb-support-text {
    color: var(--bb-text-muted) !important;
    font-size: .88rem;
    line-height: 1.45;
    margin: 0;
    max-width: 760px;
}

.bb-support-contact-line {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .45rem 1.2rem;
    margin-top: .75rem;
}

.bb-support-contact-item {
    align-items: baseline;
    color: var(--bb-text-muted) !important;
    display: inline-flex;
    font-size: .88rem;
    gap: .35rem;
    line-height: 1.35;
    min-width: 0;
}

.bb-support-contact-label {
    color: var(--bb-text-dark) !important;
    font-weight: 750;
}

.bb-support-contact-value,
.bb-support-link {
    overflow-wrap: anywhere;
}

.bb-support-contact-value {
    color: var(--bb-text-dark) !important;
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.bb-support-link {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: #155f93 !important;
    display: inline !important;
    font-size: inherit !important;
    font-weight: 750;
    padding: 0 !important;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.bb-support-link:hover,
.bb-support-link:focus {
    color: var(--bb-primary-dark) !important;
    text-decoration-thickness: 2px;
}

.bb-inline-status {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .85rem;
    padding: .85rem;
    border: 1px solid rgba(42, 151, 218, 0.22);
    border-radius: var(--bb-radius);
    background: #f7fbff;
}

.bb-compact-list {
    display: grid;
    gap: .55rem;
}

.bb-compact-list-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .85rem;
    padding: .75rem .85rem;
    border: 1px solid var(--bb-border);
    border-radius: var(--bb-radius);
    background: #ffffff;
}

@media (max-width: 575.98px) {
    .bb-inline-status,
    .bb-compact-list-row {
        align-items: flex-start;
        flex-direction: column;
    }
}

.bb-table-card {
    padding: .95rem;
}

.bb-table-card .bb-table-wrap,
.bb-table-card .runs-table-wrap,
.bb-table-card .table-responsive {
    border-radius: var(--bb-radius);
    overflow-x: auto;
}

.bb-stat-label,
.admin-stat-label,
.admin-filter-label,
.run-label {
    color: var(--bb-text-muted) !important;
    font-size: .75rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.bb-stat-value,
.admin-stat-value {
    color: var(--bb-text-dark) !important;
    font-weight: 800;
}

.bb-btn,
.bb-btn-primary,
.bb-btn-secondary,
.bb-btn-outline,
.bb-btn-danger,
.upload-btn-primary,
.run-download-btn,
.run-back-btn,
.runs-link,
.btn-primary,
.btn-outline-primary,
.btn-outline-secondary {
    border-radius: 12px !important;
    font-size: .86rem !important;
    font-weight: 700 !important;
    letter-spacing: 0;
}

.bb-btn-primary,
.btn-primary,
.upload-btn-primary,
.run-download-btn {
    background: linear-gradient(135deg, var(--bb-primary), #1a6da8) !important;
    border: 1px solid rgba(42, 151, 218, 0.78) !important;
    color: #ffffff !important;
    box-shadow: 0 10px 20px rgba(42, 151, 218, 0.18);
}

.bb-btn-primary:hover,
.btn-primary:hover,
.upload-btn-primary:hover,
.run-download-btn:hover {
    background: linear-gradient(135deg, var(--bb-primary-dark), #155f93) !important;
    color: #ffffff !important;
}

.bb-btn-secondary,
.btn-outline-secondary {
    background: #ffffff !important;
    border: 1px solid var(--bb-border) !important;
    color: var(--bb-text-dark) !important;
}

.bb-btn-outline,
.btn-outline-primary,
.runs-link,
.run-back-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    padding: .42rem .75rem;
    background: rgba(42, 151, 218, 0.08) !important;
    border: 1px solid rgba(42, 151, 218, 0.25) !important;
    color: #155f93 !important;
    text-decoration: none;
    cursor: pointer;
    appearance: none;
}

.bb-btn-outline:hover,
.btn-outline-primary:hover,
.btn-outline-secondary:hover,
.runs-link:hover,
.run-back-btn:hover {
    background: var(--bb-primary) !important;
    border-color: var(--bb-primary) !important;
    color: #ffffff !important;
}

.bb-navbar .bb-btn-outline {
    background: rgba(255, 255, 255, 0.04) !important;
    border-color: rgba(176, 224, 252, 0.68) !important;
    color: #ffffff !important;
}

.bb-navbar .bb-btn-outline:hover,
.bb-navbar .bb-btn-outline:focus {
    background: #dff2ff !important;
    border-color: #dff2ff !important;
    color: #13304f !important;
}

.bb-btn-danger,
.btn-outline-danger:hover,
.btn-danger {
    background: var(--bb-danger) !important;
    border-color: var(--bb-danger) !important;
    color: #ffffff !important;
}

.bb-form-control,
.form-control,
.form-select {
    min-height: 40px;
    border-radius: 12px !important;
    border-color: var(--bb-border) !important;
    color: var(--bb-text-dark) !important;
    font-size: .9rem !important;
}

.bb-form-control:focus,
.form-control:focus,
.form-select:focus {
    border-color: rgba(42, 151, 218, 0.62) !important;
    box-shadow: 0 0 0 .22rem rgba(42, 151, 218, 0.14) !important;
}

.bb-file-control {
    min-height: 42px !important;
    height: 42px !important;
    padding: 0 !important;
    line-height: 42px !important;
    overflow: hidden;
}

.bb-file-control::file-selector-button {
    height: 42px !important;
    min-height: 42px !important;
    margin: 0 .75rem 0 0 !important;
    padding: 0 1rem !important;
    border: 0 !important;
    border-right: 1px solid var(--bb-border) !important;
    border-radius: 12px 0 0 12px !important;
    background: #f7fbff !important;
    color: var(--bb-text-dark) !important;
    font-weight: 600 !important;
}

.bb-file-control::-webkit-file-upload-button {
    height: 42px !important;
    min-height: 42px !important;
    margin: 0 .75rem 0 0 !important;
    padding: 0 1rem !important;
    border: 0 !important;
    border-right: 1px solid var(--bb-border) !important;
    border-radius: 12px 0 0 12px !important;
    background: #f7fbff !important;
    color: var(--bb-text-dark) !important;
    font-weight: 600 !important;
}

.form-control:disabled,
.form-select:disabled,
.form-control[readonly] {
    background-color: #eef4fa !important;
    color: #49647f !important;
    opacity: 1 !important;
}

.form-control::placeholder {
    color: #7d93ab !important;
}

.bb-form-label,
.form-label,
label {
    color: var(--bb-text-dark);
    font-weight: 700;
    font-size: .84rem;
}

.bb-validation-message,
.validation-summary-errors,
.field-validation-error,
.text-danger {
    color: var(--bb-danger) !important;
}

.bb-table-wrap,
.runs-table-wrap,
.table-responsive {
    overflow-x: auto;
    border-radius: var(--bb-radius);
    background: #ffffff;
}

.bb-table,
.runs-table,
.admin-table,
.table {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid var(--bb-border) !important;
    color: var(--bb-text-dark) !important;
    border-color: var(--bb-border) !important;
    background: #ffffff !important;
    font-size: .82rem !important;
}

.bb-main .table tbody > tr > *,
.bb-main .bb-table tbody > tr > *,
.bb-main .runs-table tbody > tr > *,
.bb-main .admin-table tbody > tr > *,
.bb-main table tbody tr,
.bb-main table tbody td {
    background-color: #ffffff !important;
    color: var(--bb-text-dark) !important;
    border: 1px solid var(--bb-border) !important;
}

.bb-table thead,
.bb-table thead tr,
.runs-table thead,
.runs-table thead tr,
.admin-table thead,
.admin-table thead tr,
.table thead,
.table thead tr,
.bb-main table thead,
.bb-main table thead tr,
.bb-main .table thead,
.bb-main .table thead tr,
.bb-main .admin-table thead,
.bb-main .admin-table thead tr,
.bb-main .runs-table thead,
.bb-main .runs-table thead tr {
    background:
        radial-gradient(circle at 18% 14%, rgba(143, 211, 255, 0.16), transparent 24%),
        radial-gradient(circle at 86% 8%, rgba(42, 151, 218, 0.18), transparent 28%),
        var(--bb-gradient) !important;
}

.bb-table thead th,
.runs-table thead th,
.admin-table thead th,
.table thead th,
.bb-main table thead th,
.bb-main .bb-table thead th,
.bb-main .table thead th,
.bb-main .admin-table thead th,
.bb-main .runs-table thead th {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    color: #ffffff !important;
    border-color: rgba(143, 211, 255, 0.18) !important;
    border-style: solid !important;
    border-width: 1px !important;
    font-size: .75rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
    white-space: nowrap;
    padding: .78rem .9rem;
}

.bb-table td,
.runs-table td,
.admin-table td,
.table td,
.bb-main table td {
    vertical-align: middle;
    color: var(--bb-text-dark) !important;
    border: 1px solid var(--bb-border) !important;
    padding: .78rem .9rem;
}

.bb-table tbody tr:last-child td,
.runs-table tbody tr:last-child td,
.admin-table tbody tr:last-child td,
.table tbody tr:last-child td {
    border-bottom: 0 !important;
}

.bb-main table tbody tr:hover > *,
.bb-main .table-hover tbody tr:hover > * {
    background-color: #f3f9ff !important;
    color: var(--bb-text-dark) !important;
}

.bb-main table a:not(.btn):not(.runs-link) {
    color: #155f93;
    font-weight: 700;
}

.bb-main table .text-secondary,
.bb-main table .text-muted {
    color: #6f86a3 !important;
}

.bb-table-actions {
    display: flex;
    justify-content: flex-end;
    gap: .5rem;
    flex-wrap: wrap;
}

.bb-badge,
.bb-badge-success,
.bb-badge-warning,
.bb-badge-danger,
.bb-badge-info,
.bb-badge-muted,
.runs-status-badge,
.run-status-pill,
.badge {
    display: inline-flex;
    align-items: center;
    border-radius: 999px !important;
    padding: .3rem .58rem !important;
    font-size: .68rem !important;
    font-weight: 800 !important;
    border: 1px solid transparent;
    white-space: nowrap;
}

.bb-badge-success,
.runs-status-completed,
.status-completed,
.badge.bg-success-subtle {
    background: rgba(28, 156, 99, 0.12) !important;
    border-color: rgba(28, 156, 99, 0.22) !important;
    color: #16724b !important;
}

.bb-badge-warning,
.runs-status-progress,
.runs-status-warning,
.badge.bg-warning-subtle {
    background: rgba(201, 134, 26, 0.13) !important;
    border-color: rgba(201, 134, 26, 0.25) !important;
    color: #8a5a0f !important;
}

.bb-badge-danger,
.runs-status-danger,
.status-failed,
.badge.bg-danger-subtle {
    background: rgba(217, 74, 90, 0.12) !important;
    border-color: rgba(217, 74, 90, 0.24) !important;
    color: #a83242 !important;
}

.bb-badge-info,
.stage-active {
    background: rgba(42, 151, 218, 0.11) !important;
    border-color: rgba(42, 151, 218, 0.22) !important;
    color: #155f93 !important;
}

.bb-badge-muted,
.badge.bg-secondary-subtle {
    background: #eef3f8 !important;
    border-color: var(--bb-border) !important;
    color: #64748b !important;
}

.bb-progress-shell,
.run-timeline {
    position: relative;
}

.bb-progress-step,
.run-step {
    border-radius: var(--bb-radius);
}

.bb-progress-step-active,
.run-step-indicator.active {
    border-color: var(--bb-primary) !important;
    color: var(--bb-primary) !important;
}

.bb-progress-step-complete,
.run-step-indicator.done {
    background: var(--bb-primary) !important;
    border-color: var(--bb-primary) !important;
    color: #fff !important;
}

.upload-theme-page,
.run-theme-page {
    background: transparent !important;
    font-family: inherit !important;
}

.upload-hero,
.run-hero-content {
    text-align: center !important;
}

.upload-card-body,
.runs-card-body,
.run-card-body {
    padding: 1rem !important;
}

.upload-file-wrap {
    border: 1px dashed rgba(42, 151, 218, 0.38) !important;
    background: #f7fbff !important;
}

.upload-info-text,
.upload-list,
.runs-subtitle,
.runs-empty,
.run-step-text,
.run-download-box-note,
.admin-section-subtitle,
.admin-soft-note,
.text-secondary,
.text-muted {
    color: var(--bb-text-muted) !important;
}

.admin-section-title {
    font-weight: bold;
    color: #155f93;
}

.result-card {
    background: rgba(28, 156, 99, 0.10) !important;
    border: 1px solid rgba(28, 156, 99, 0.2) !important;
    border-radius: var(--bb-radius-lg) !important;
    box-shadow: var(--bb-shadow-soft) !important;
}

.admin-soft-note {
    background: rgba(42, 151, 218, 0.08) !important;
    border: 1px solid rgba(42, 151, 218, 0.18) !important;
    border-radius: var(--bb-radius) !important;
    padding:12px;
}

.bb-auth-body {
    min-height: 100vh;
    margin: 0;
    background:
        radial-gradient(circle at 18% 14%, rgba(143, 211, 255, 0.18), transparent 24%),
        radial-gradient(circle at 86% 8%, rgba(42, 151, 218, 0.2), transparent 28%),
        var(--bb-gradient);
    color: var(--bb-text-inverse);
    font-family: var(--bb-font-sans);
    font-size: .92rem;
    line-height: 1.45;
}

.bb-auth-page {
    min-height: 100vh;
    min-height: 100dvh;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    overflow-y: auto;
    padding: clamp(2.75rem, 4vh, 3.75rem) 1rem 1.5rem;
}

.bb-auth-top-link {
    position: fixed;
    top: 1.25rem;
    right: 1.5rem;
    color: rgba(247, 251, 255, 0.86);
    text-decoration: none;
    font-weight: 700;
    z-index: 5;
    text-decoration: underline;
}

.bb-auth-top-link:hover {
    color: #ffffff;
}

.bb-auth-shell {
    width: min(100%, 620px);
    margin: auto 0;
}

.bb-auth-shell-wide {
    width: min(100%, 760px);
    margin: 0;
}

.bb-auth-shell-message {
    width: min(100%, 680px);
}

.bb-auth-message-card {
    width: 100%;
    max-width: 680px;
}

.bb-auth-card,
.bb-auth-page .card-hb,
.bb-auth-page .card {
    background: rgba(255, 255, 255, 0.96) !important;
    border: 1px solid rgba(215, 229, 242, 0.82) !important;
    border-radius: 18px !important;
    box-shadow: 0 24px 60px rgba(7, 26, 51, 0.34) !important;
    color: var(--bb-text-dark) !important;
}

.bb-auth-card .card-body,
.bb-auth-page .card-hb,
.bb-auth-page .card .card-body {
    padding: clamp(1rem, 2.1vw, 1.55rem) !important;
}

.bb-auth-brand {
    text-align: center;
    margin-bottom: .95rem;
}

.bb-auth-logo {
    max-width: 178px;
    max-height: 90px;
    width: auto;
    height: auto;
    object-fit: contain;
    box-sizing: content-box;
    padding: .68rem 1rem;
    border-radius: 14px;
    background: linear-gradient(135deg, #071a33 0%, #102f58 58%, #155f93 100%);
    border: 1px solid rgba(143, 211, 255, 0.2);
    box-shadow: 0 14px 32px rgba(7, 26, 51, 0.16);
}

.bb-mini-step {
    display: flex;
    gap: 0.85rem;
    padding: 1rem;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 16px;
    background: rgba(248, 250, 252, 0.85);
}

.bb-step-number {
    width: 32px;
    height: 32px;
    min-width: 32px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 0.85rem;
    color: #ffffff;
    background: var(--bb-primary, #2563eb);
}

.bb-auth-kicker {
    color: var(--bb-primary-dark);
    font-size: .80rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.bb-auth-kicker-other {
    color: #65b8ec;
    font-size: .70rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.bb-auth-kicker-white {
    color: #ffffff;
    font-size: .70rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.bb-auth-title {
    color: var(--bb-text-dark);
    font-weight: 750;
    margin-bottom: .25rem;
}

.bb-auth-subtitle {
    color: var(--bb-text-muted);
    line-height: 1.45;
    font-size: .88rem;
}

.bb-auth-info-panel {
    border: 1px solid rgba(42, 151, 218, 0.22);
    border-left: 4px solid var(--bb-primary);
    border-radius: var(--bb-radius);
    background: #f4faff;
    color: var(--bb-text-muted);
    font-size: .86rem;
    line-height: 1.45;
    padding: .85rem 1rem;
}

.bb-auth-info-panel .fw-semibold {
    color: var(--bb-text-dark);
}

.bb-auth-card .form-check-label {
    color: var(--bb-text-muted);
}

.bb-auth-card .btn-outline-secondary {
    border-color: var(--bb-border) !important;
}

.upload-loading-overlay,
.admin-loading-overlay,
.bb-loading-overlay {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: none;
    align-items: center;
    justify-content: center;
    background: rgba(7, 26, 51, 0.42) !important;
    backdrop-filter: blur(4px);
}

.upload-loading-box,
.admin-loading-box,
.bb-loading-box {
    width: min(420px, calc(100% - 2rem));
    background: #ffffff;
    padding: 1.5rem;
    border: 1px solid var(--bb-border) !important;
    border-radius: var(--bb-radius-lg) !important;
    box-shadow: var(--bb-shadow) !important;
}

.bb-form-section-title {
    color: #49647f;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    margin: .35rem 0 .75rem;
}

.bb-password-field {
    position: relative;
}

.bb-password-field .form-control {
    padding-right: 2.75rem !important;
}

.bb-password-toggle {
    position: absolute;
    top: 50%;
    right: .48rem;
    z-index: 4;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: #58728d;
    transform: translateY(-50%);
}

.bb-password-toggle:hover,
.bb-password-toggle:focus {
    background: rgba(42, 151, 218, 0.1);
    color: #155f93;
    outline: none;
}

.bb-password-toggle:focus-visible {
    box-shadow: 0 0 0 .18rem rgba(42, 151, 218, 0.18);
}

.bb-password-toggle svg,
.bb-password-toggle i {
    width: 1.05rem;
    height: 1.05rem;
    font-size: 1.05rem;
    line-height: 1;
}

.bb-password-toggle .bb-eye-off,
.bb-password-toggle.is-visible .bb-eye-on {
    display: none;
}

.bb-password-toggle.is-visible .bb-eye-off {
    display: block;
}

.bb-auth-compact-title {
    color: var(--bb-text-dark);
    font-size: 1.2rem;
    font-weight: 750;
    margin-bottom: .2rem;
}

.bb-run-summary-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, .82fr);
    gap: 1rem;
    align-items: start;
}

.bb-run-action-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: .75rem;
    flex-wrap: wrap;
}

.bb-run-status-note {
    color: var(--bb-text-muted);
    font-size: .88rem;
    line-height: 1.45;
}

.run-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: .75rem;
    margin-bottom: .85rem;
}

.run-card-title {
    color: #155f93;
    font-size: 1rem;
    font-weight: 750;
    margin: 0;
}

.run-card-subtle {
    color: var(--bb-text-muted);
    font-size: .76rem;
    font-weight: 700;
}

.run-summary-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .65rem;
}

.run-summary-item {
    min-width: 0;
    padding: .78rem .8rem;
    border: 1px solid var(--bb-border);
    border-radius: 12px;
    background: #f8fbff;
}

.run-summary-item.full {
    grid-column: 1 / -1;
}

.run-value {
    color: var(--bb-text-dark);
    font-size: .9rem;
    font-weight: 700;
    overflow-wrap: anywhere;
}

.run-pill-row {
    display: flex;
    gap: .5rem;
    flex-wrap: wrap;
}

.run-status-pill {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    border: 1px solid var(--bb-border);
    border-radius: 999px;
    padding: .3rem .58rem;
    font-size: .72rem;
    font-weight: 800;
}

.run-timeline {
    padding-left: 1.5rem;
}

.run-timeline::before {
    content: "";
    position: absolute;
    left: .55rem;
    top: .35rem;
    bottom: .35rem;
    width: 2px;
    background: var(--bb-border);
}

.run-step {
    display: flex;
    gap: .65rem;
    position: relative;
    margin-bottom: 1rem;
}

.run-step:last-child {
    margin-bottom: 0;
}

.run-step-indicator {
    position: absolute;
    left: -1.5rem;
    top: .1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1rem;
    height: 1rem;
    border: 2px solid #c8d8e8;
    border-radius: 999px;
    background: #ffffff;
    color: var(--bb-primary);
    font-size: .62rem;
    font-weight: 900;
}

.run-step-title {
    color: var(--bb-text-dark);
    font-size: .88rem;
    font-weight: 750;
    margin-bottom: .08rem;
}

.run-step-text-row {
    display: flex;
    align-items: center;
    gap: .45rem;
    flex-wrap: wrap;
}

.run-step-text {
    color: var(--bb-text-muted);
    font-size: .8rem;
    line-height: 1.38;
}

.run-step-spinner {
    width: .85rem;
    height: .85rem;
    border-radius: 50%;
    border: 2px solid #c8d8e8;
    border-top-color: var(--bb-primary);
    animation: bb-run-spin .8s linear infinite;
}

@keyframes bb-run-spin {
    to {
        transform: rotate(360deg);
    }
}

.run-download-box {
    padding: 1rem;
    text-align: center;
}

.run-download-box .d-flex {
    justify-content: center;
}

.bb-main .card,
.bb-main .admin-card,
.bb-main .upload-card,
.bb-main .runs-card,
.bb-main .run-card,
.bb-main .bb-card,
.bb-main .bb-stat-card,
.bb-main .admin-stat-card,
.bb-main .result-card,
.bb-auth-page .bb-auth-card,
.bb-auth-page .card-hb,
.bb-auth-page .card,
.modal-content,
.dropdown-menu,
.list-group-item,
.table-responsive {
    color: var(--bb-text-dark) !important;
}

.modal-content,
.modal-body {
    background: #f7fbff !important;
    color: var(--bb-text-dark) !important;
}

.modal-header,
.modal-footer {
    background: #ffffff !important;
    color: var(--bb-text-dark) !important;
    border-color: var(--bb-border) !important;
}

.bb-main .card h1,
.bb-main .card h2,
.bb-main .card h3,
.bb-main .card h4,
.bb-main .card h5,
.bb-main .card h6,
.bb-main .admin-card h1,
.bb-main .admin-card h2,
.bb-main .admin-card h3,
.bb-main .admin-card h4,
.bb-main .admin-card h5,
.bb-main .admin-card h6 {
    color: var(--bb-text-dark) !important;
}

.bb-main .card .text-white:not(.bg-primary):not(.bg-dark):not(.btn):not(.badge),
.bb-main .card .text-light:not(.bg-primary):not(.bg-dark):not(.btn):not(.badge),
.bb-main .admin-card .text-white:not(.bg-primary):not(.bg-dark):not(.btn):not(.badge),
.bb-main .admin-card .text-light:not(.bg-primary):not(.bg-dark):not(.btn):not(.badge),
.bb-main .bb-card .text-white:not(.bg-primary):not(.bg-dark):not(.btn):not(.badge),
.bb-main .bb-card .text-light:not(.bg-primary):not(.bg-dark):not(.btn):not(.badge),
.bb-auth-page .card .text-white:not(.bg-primary):not(.bg-dark):not(.btn):not(.badge),
.bb-auth-page .card .text-light:not(.bg-primary):not(.bg-dark):not(.btn):not(.badge),
.bb-auth-page .card-hb .text-white:not(.bg-primary):not(.bg-dark):not(.btn):not(.badge),
.bb-auth-page .card-hb .text-light:not(.bg-primary):not(.bg-dark):not(.btn):not(.badge),
.modal-content .text-white:not(.bg-primary):not(.bg-dark):not(.btn):not(.badge),
.modal-content .text-light:not(.bg-primary):not(.bg-dark):not(.btn):not(.badge) {
    color: var(--bb-text-dark) !important;
}

.bb-main .card .text-muted,
.bb-main .card .text-secondary,
.bb-main .admin-card .text-muted,
.bb-main .admin-card .text-secondary,
.bb-main .bb-card .text-muted,
.bb-main .bb-card .text-secondary,
.bb-auth-page .card .text-muted,
.bb-auth-page .card .text-secondary,
.bb-auth-page .card-hb .text-muted,
.bb-auth-page .card-hb .text-secondary,
.modal-content .text-muted,
.modal-content .text-secondary {
    color: var(--bb-text-muted) !important;
}

.bb-main .card label,
.bb-main .admin-card label,
.bb-main .bb-card label,
.bb-auth-page .card label,
.bb-auth-page .card-hb label,
.modal-content label,
.modal-title {
    color: var(--bb-text-dark) !important;
}

.bb-main .alert,
.bb-auth-page .alert {
    color: var(--bb-text-dark) !important;
}

.bb-main .alert-info,
.bb-auth-page .alert-info,
.bb-main .alert-light,
.bb-auth-page .alert-light {
    background-color: #f7fbff !important;
    border-color: var(--bb-border) !important;
    color: var(--bb-text-dark) !important;
}

.bb-main .alert-info .text-secondary,
.bb-main .alert-info .text-muted,
.bb-main .alert-light .text-secondary,
.bb-main .alert-light .text-muted,
.bb-auth-page .alert-info .text-secondary,
.bb-auth-page .alert-info .text-muted,
.bb-auth-page .alert-light .text-secondary,
.bb-auth-page .alert-light .text-muted {
    color: var(--bb-text-muted) !important;
}

.bb-main .alert-success,
.bb-auth-page .alert-success {
    color: #176541 !important;
}

.bb-request-review-modal {
    background: #f7fbff !important;
    border: 1px solid var(--bb-border) !important;
    border-radius: var(--bb-radius-lg) !important;
    box-shadow: 0 24px 64px rgba(7, 26, 51, 0.28) !important;
    color: var(--bb-text-dark) !important;
    overflow: hidden;
}

.bb-request-review-modal .modal-header {
    background: linear-gradient(180deg, #ffffff 0%, #f6faff 100%) !important;
    border-bottom: 1px solid var(--bb-border) !important;
    padding: 1.2rem 1.35rem 1rem;
}

.bb-request-review-modal .modal-body {
    background: #f7fbff !important;
    color: var(--bb-text-dark) !important;
    padding: 1.50rem;
}

.bb-request-review-modal .bb-stat-card,
.bb-request-review-modal .bb-action-panel,
.bb-request-review-modal .bb-inline-status {
    background: #ffffff !important;
    color: var(--bb-text-dark) !important;
}

.bb-request-review-modal .bb-form-label,
.bb-request-review-modal label {
    color: var(--bb-text-dark) !important;
    font-weight: 750;
}

.bb-request-review-modal .form-control,
.bb-request-review-modal .bb-form-control {
    background: #ffffff !important;
    color: var(--bb-text-dark) !important;
    border-color: #b9cfe4 !important;
}

.bb-request-review-modal .form-control:focus,
.bb-request-review-modal .bb-form-control:focus {
    border-color: var(--bb-primary) !important;
    box-shadow: 0 0 0 .2rem rgba(42, 151, 218, 0.16) !important;
}

.bb-quote-panel {
    background: #ffffff !important;
    border: 1px solid var(--bb-border) !important;
    border-radius: var(--bb-radius-lg) !important;
    box-shadow: var(--bb-shadow-soft) !important;
    padding: 1.15rem;
}

.bb-quote-panel-title {
    color: var(--bb-text-dark) !important;
    font-size: 1rem;
    font-weight: 800;
}

.bb-quote-panel-subtitle {
    color: var(--bb-text-muted) !important;
    font-size: .86rem;
}

.bb-main .alert-warning,
.bb-auth-page .alert-warning {
    color: #7a4f0d !important;
}

.bb-main .alert-danger,
.bb-auth-page .alert-danger {
    color: #963140 !important;
}

.admin-page-actions,
.bb-page-actions {
    display: flex;
    gap: .55rem;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
}

.admin-meta-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .65rem;
}

.admin-meta-label {
    color: var(--bb-text-muted);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
    margin-bottom: .18rem;
}

.admin-meta-item {
    min-width: 0;
    padding: .75rem .8rem;
    border: 1px solid var(--bb-border);
    border-radius: 12px;
    background: #f8fbff;
}

.admin-message {
    display: none;
}

.admin-loading-spinner {
    width: 2.8rem;
    height: 2.8rem;
    margin: 0 auto .9rem;
    border-radius: 50%;
    border: 4px solid #d7e5f2;
    border-top-color: var(--bb-primary);
    animation: bb-run-spin .8s linear infinite;
}

.admin-loading-title {
    color: var(--bb-text-dark);
    font-size: 1rem;
    font-weight: 750;
    margin-bottom: .35rem;
}

.admin-loading-text {
    color: var(--bb-text-muted);
    font-size: .86rem;
    line-height: 1.45;
}

.admin-meta-item.full {
    grid-column: 1 / -1;
}

.admin-meta-value {
    color: var(--bb-text-dark);
    font-size: .9rem;
    font-weight: 700;
    overflow-wrap: anywhere;
}

.admin-detail-panel {
    overflow: hidden;
    border: 1px solid var(--bb-border);
    border-radius: var(--bb-radius-lg);
    background: #ffffff;
    box-shadow: var(--bb-shadow-soft);
}

.admin-detail-panel + .admin-detail-panel {
    margin-top: .85rem;
}

.admin-detail-panel summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: .85rem 1rem;
    cursor: pointer;
    list-style: none;
    background: linear-gradient(180deg, #ffffff 0%, #f6faff 100%);
}

.admin-detail-panel summary::-webkit-details-marker {
    display: none;
}

.admin-detail-panel summary::after {
    content: none;
}

.bb-collapse-icon-wrap {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 1.5rem;
    height: 1.5rem;
    color: #155f93;
}

.bb-collapse-icon {
    font-size: 1.15rem;
    line-height: 1;
}

.admin-detail-panel > summary .bb-collapse-icon-up {
    display: none;
}

.admin-detail-panel[open] > summary .bb-collapse-icon-down {
    display: none;
}

.admin-detail-panel[open] > summary .bb-collapse-icon-up {
    display: inline-block;
}

.admin-detail-title {
    color: var(--bb-text-dark);
    font-size: .95rem;
    font-weight: 750;
}

.admin-detail-subtitle {
    color: var(--bb-text-muted);
    font-size: .78rem;
    line-height: 1.35;
}

.admin-detail-body {
    border-top: 1px solid var(--bb-border);
}

@media (max-width: 991.98px) {
    .bb-page-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .bb-navbar .navbar-nav {
        padding-top: .75rem;
    }

    .bb-navbar .bb-nav-link {
        border-radius: 12px !important;
    }

    .bb-app-shell,
    .admin-shell,
    .upload-theme-container,
    .run-theme-container {
        padding-left: 14px;
        padding-right: 14px;
    }

    .bb-run-summary-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 575.98px) {
    .bb-auth-top-link {
        position: static;
        display: block;
        padding: 1rem 1rem 0;
        text-align: right;
    }

    .bb-auth-page {
        align-items: flex-start;
        padding: 1rem .75rem 1.5rem;
    }

    .bb-auth-shell,
    .bb-auth-shell-wide {
        width: 100%;
        margin: 0;
    }

    .bb-auth-card .card-body,
    .bb-auth-page .card-hb,
    .bb-auth-page .card .card-body {
        padding: 1.1rem !important;
    }

    .bb-auth-logo {
        max-width: 170px;
        max-height: 78px;
        padding: .7rem 1rem;
    }

    .input-group {
        flex-wrap: nowrap;
    }

    .input-group .form-control {
        min-width: 0;
    }

    .run-summary-grid {
        grid-template-columns: 1fr;
    }

    .run-summary-item.full {
        grid-column: auto;
    }

    .bb-run-action-bar {
        align-items: stretch;
    }

    .bb-run-action-bar .btn {
        width: 100%;
    }

    .admin-page-actions,
    .bb-page-actions {
        align-items: stretch;
        justify-content: stretch;
    }

    .admin-page-actions .btn,
    .bb-page-actions .btn {
        width: 100%;
    }

    .admin-meta-grid {
        grid-template-columns: 1fr;
    }

    .admin-meta-item.full {
        grid-column: auto;
    }

    .bb-page-title,
    .admin-page-title,
    .upload-hero h1,
    .run-hero h1 {
        font-size: 1.45rem !important;
    }
}
