/* stylelint-disable comment-empty-line-before, color-function-notation, color-function-alias-notation, alpha-value-notation */

:root {
    --bp-card-radius: var(--bs-border-radius-xl, 1.25rem);
    --bp-surface-bg: var(--bs-card-bg, var(--bs-body-bg));
    --bp-border-color: var(--bs-border-color, rgb(222 226 230));
    --bp-surface-shadow-sm: var(--bs-box-shadow-sm, 0 0.75rem 1.5rem rgb(0 0 0 / 15%));
    --bp-surface-shadow-lg: var(--bs-box-shadow-lg, 0 1.5rem 3rem rgb(0 0 0 / 20%));
    --bp-muted-color: var(--bs-body-color);
    --bp-tertiary-bg: var(--bs-tertiary-bg, rgba(var(--bs-secondary-rgb), 0.08));
}
.bp-request-card__layout {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    height: 100%;
}

.bp-request-card__primary,
.bp-request-card__secondary {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.bp-request-card__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.bp-request-card__identity {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    min-width: 0;
    flex: 1 1 auto;
}

.bp-request-card__metrics {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 0.35rem 0.55rem;
    align-items: stretch;
}

.bp-request-card__metric {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 0.35rem;
    margin: 0;
    padding: 0.45rem 0.6rem;
    border-radius: var(--bs-border-radius-lg, 0.75rem);
    border: 1px solid transparent;
    background: rgba(var(--bs-light-rgb, 248, 249, 250), 0.55);
    min-width: 0;
}

.bp-request-card__metric-label {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--bp-muted-color);
    line-height: 1.05;
}

.bp-request-card__status-hint {
    line-height: 1.5;
}

@media (max-width: 767.98px) {
    .bp-request-card__layout {
        gap: 1.25rem;
    }

    .bp-request-card__metrics {
        grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    }

    .bp-request-card__metric--corp {
        grid-column: 1 / -1;
    }
}

@media (max-width: 575.98px) {
    .bp-request-card__meta-grid {
        grid-template-columns: 1fr;

    }

    .bp-request-card__metrics {
        grid-template-columns: 1fr;
    }
}


html[data-theme="darkly"] .bp-request-card__avatar {
    background: rgba(var(--bs-secondary-rgb, 108, 117, 125), 0.25);
}



html[data-theme="darkly"] .bp-request-card__meta-entry {
    background: rgba(var(--bs-secondary-rgb, 108, 117, 125), 0.24);
    border-color: rgba(var(--bs-secondary-rgb, 108, 117, 125), 0.32);
}

html[data-theme="darkly"] .bp-request-card__metrics-panel {
    border-color: rgba(var(--bs-secondary-rgb, 108, 117, 125), 0.42);
    background: rgba(var(--bs-secondary-rgb, 108, 117, 125), 0.22);
}

html[data-theme="darkly"] .bp-request-card__metric {
    background: rgba(var(--bs-secondary-rgb, 108, 117, 125), 0.32);
    border-color: rgba(var(--bs-secondary-rgb, 108, 117, 125), 0.45);
}

html[data-theme="darkly"] .bp-request-card__metric--copies {
    background: rgba(var(--bs-primary-rgb, 13, 110, 253), 0.35);
    border-color: rgba(var(--bs-primary-rgb, 13, 110, 253), 0.5);
}

html[data-theme="darkly"] .bp-request-card__metric--runs {
    background: rgba(var(--bs-warning-rgb, 255, 193, 7), 0.3);
    border-color: rgba(var(--bs-warning-rgb, 255, 193, 7), 0.48);
}

html[data-theme="darkly"] .bp-request-card__metric--me {
    background: rgba(var(--bs-success-rgb, 25, 135, 84), 0.3);
    border-color: rgba(var(--bs-success-rgb, 25, 135, 84), 0.48);
}

html[data-theme="darkly"] .bp-request-card__metric--te {
    background: rgba(var(--bs-info-rgb, 13, 202, 240), 0.3);
    border-color: rgba(var(--bs-info-rgb, 13, 202, 240), 0.5);
}

html[data-theme="darkly"] .bp-request-card__metric--corp {
    background: rgba(var(--bs-purple-rgb, 102, 16, 242), 0.38);
    border-color: rgba(var(--bs-purple-rgb, 102, 16, 242), 0.52);
}

.blueprint-list-content {
    font-size: 0.72rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--bp-muted-color);
}

.bp-request-card__metric-label i {
    font-size: 0.95rem;
    color: var(--bp-metric-accent);
}

.bp-request-card__metric-value {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    font-size: 1rem;
    font-weight: 650;
    line-height: 1.05;
    color: var(--bp-metric-accent);
    word-break: break-word;
    text-align: right;
    margin-left: auto;
    white-space: nowrap;
}

.bp-request-card__metric--corp .bp-request-card__metric-label {
    align-self: flex-start;
    color: var(--bp-metric-accent);
}

.bp-request-card__metric--corp .bp-request-card__metric-value {
    text-align: left;
    font-size: 0.96rem;
    font-weight: 560;
    line-height: 1.35;
    color: var(--bs-body-color);
}

.bp-request-card__metric-value--list {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    text-align: left;
    list-style: none;
    margin: 0;
    padding: 0;
    color: var(--bs-body-color);
    align-self: stretch;
    font-size: 0.9rem;
    width: 100%;
}

.bp-request-card__access-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 0.4rem;
}

.bp-request-card__access-item {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    padding: 0.4rem 0.55rem;
    border-radius: var(--bs-border-radius-lg, 0.75rem);
    background: rgba(var(--bs-light-rgb, 248, 249, 250), 0.85);
    border: 1px solid rgba(var(--bs-purple-rgb, 102, 16, 242), 0.14);
    flex-wrap: wrap;
}

.bp-request-card__access-item i {
    font-size: 0.9rem;
    margin: 0;
    color: var(--bp-metric-accent);
}

.bp-request-card__access-body {
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
    min-width: 0;
}

.bp-request-card__access-label {
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--bp-metric-accent);
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.bp-request-card__access-label span {
    display: block;
}

.bp-request-card__access-names {
    font-size: 0.9rem;
    font-weight: 550;
    color: inherit;
    word-break: break-word;
}

.bp-scope-option {
    cursor: pointer;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.bp-scope-option .form-check-input {
    margin-top: 0.15rem;
    margin-right: 0.75rem;
    flex-shrink: 0;
}

.bp-scope-option.is-selected {
    border-color: var(--bs-primary);
    box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb, 13, 110, 253), 0.15);
    background-color: rgba(var(--bs-primary-rgb, 13, 110, 253), 0.04);
}

html[data-theme="darkly"] .bp-scope-option.is-selected {
    border-color: rgba(var(--bs-primary-rgb, 13, 110, 253), 0.6);
    background-color: rgba(var(--bs-primary-rgb, 13, 110, 253), 0.18);
}

html[data-theme="darkly"] .bp-request-card__access-item {
    background: rgba(var(--bs-purple-rgb, 102, 16, 242), 0.22);
    border-color: rgba(var(--bs-purple-rgb, 102, 16, 242), 0.35);
}

.bp-request-card__metric--copies {
    --bp-metric-accent: var(--bs-primary);

    background: rgba(var(--bs-primary-rgb, 13, 110, 253), 0.1);
    border-color: rgba(var(--bs-primary-rgb, 13, 110, 253), 0.2);
}

.bp-request-card__metric--runs {
    --bp-metric-accent: var(--bs-warning);

    background: rgba(var(--bs-warning-rgb, 255, 193, 7), 0.12);
    border-color: rgba(var(--bs-warning-rgb, 255, 193, 7), 0.25);
}

.bp-request-card__metric--me {
    --bp-metric-accent: var(--bs-success);

    background: rgba(var(--bs-success-rgb, 25, 135, 84), 0.12);
    border-color: rgba(var(--bs-success-rgb, 25, 135, 84), 0.24);
}

.bp-request-card__metric--te {
    --bp-metric-accent: var(--bs-info);

    background: rgba(var(--bs-info-rgb, 13, 202, 240), 0.12);
    border-color: rgba(var(--bs-info-rgb, 13, 202, 240), 0.24);
}

.bp-request-card__metric--corp {
    --bp-metric-accent: var(--bs-purple, #6610f2);

    background: linear-gradient(140deg, rgba(var(--bs-purple-rgb, 102, 16, 242), 0.18) 0%, rgba(var(--bs-primary-rgb, 13, 110, 253), 0.12) 100%);
    border-color: rgba(var(--bs-purple-rgb, 102, 16, 242), 0.28);
    flex-direction: column;
    align-items: stretch;
    padding: 0.9rem 1rem;
    gap: 0.55rem;
    grid-column: span 2;
}

.bp-request-card__status-hint {
    line-height: 1.5;
}

@media (max-width: 767.98px) {
    .bp-request-card__layout {
        gap: 1.25rem;
    }

    .bp-request-card__metrics {
        grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    }

    .bp-request-card__metric--corp {
        grid-column: 1 / -1;
    }
}

@media (max-width: 575.98px) {
    .bp-request-card__meta-grid {
        grid-template-columns: 1fr;
    }

    .bp-request-card__metrics {
        grid-template-columns: 1fr;
    }
}

html[data-theme="darkly"] .bp-request-card__avatar {
    background: rgba(var(--bs-secondary-rgb, 108, 117, 125), 0.25);
}

html[data-theme="darkly"] .bp-request-card__meta-entry {
    background: rgba(var(--bs-secondary-rgb, 108, 117, 125), 0.24);
    border-color: rgba(var(--bs-secondary-rgb, 108, 117, 125), 0.32);
}

html[data-theme="darkly"] .bp-request-card__metrics-panel {
    border-color: rgba(var(--bs-secondary-rgb, 108, 117, 125), 0.42);
    background: rgba(var(--bs-secondary-rgb, 108, 117, 125), 0.22);
}

html[data-theme="darkly"] .bp-request-card__metric {
    background: rgba(var(--bs-secondary-rgb, 108, 117, 125), 0.32);
    border-color: rgba(var(--bs-secondary-rgb, 108, 117, 125), 0.45);
}

html[data-theme="darkly"] .bp-request-card__metric--copies {
    background: rgba(var(--bs-primary-rgb, 13, 110, 253), 0.35);
    border-color: rgba(var(--bs-primary-rgb, 13, 110, 253), 0.5);
}

html[data-theme="darkly"] .bp-request-card__metric--runs {
    background: rgba(var(--bs-warning-rgb, 255, 193, 7), 0.3);
    border-color: rgba(var(--bs-warning-rgb, 255, 193, 7), 0.48);
}

html[data-theme="darkly"] .bp-request-card__metric--me {
    background: rgba(var(--bs-success-rgb, 25, 135, 84), 0.3);
    border-color: rgba(var(--bs-success-rgb, 25, 135, 84), 0.48);
}

html[data-theme="darkly"] .bp-request-card__metric--te {
    background: rgba(var(--bs-info-rgb, 13, 202, 240), 0.3);
    border-color: rgba(var(--bs-info-rgb, 13, 202, 240), 0.5);
}

html[data-theme="darkly"] .bp-request-card__metric--corp {
    background: rgba(var(--bs-purple-rgb, 102, 16, 242), 0.38);
    border-color: rgba(var(--bs-purple-rgb, 102, 16, 242), 0.52);
}

.blueprint-list-content {
    flex: 1 1 0%;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.blueprint-list {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    list-style: none;
    padding: 0;
}

.blueprint-list-item {
    background: var(--bp-surface-bg);
    border-radius: var(--bs-border-radius-lg, 1rem);
    border: 1px solid var(--bp-border-color);
    box-shadow: var(--bp-surface-shadow-sm);
    transition: box-shadow 0.2s ease, transform 0.2s ease;
    padding: 1rem 1.25rem;
}

.blueprint-list-item:hover {
    transform: translateY(-2px);
    box-shadow: var(--bp-surface-shadow-lg);
}

/* Blueprint title */
.blueprint-title {
    font-size: 1.15rem;
    font-weight: 600;
    color: var(--bs-primary);
    margin-bottom: 0.1rem;
    word-break: break-word;
}

/* Blueprint meta */
.blueprint-meta {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 0.5rem;
    font-size: 1rem;
    color: var(--bp-muted-color);
    margin-bottom: 0.1rem;
}

/* Style View Craft button in blueprint meta for coherence with badges */
.blueprint-meta .btn-outline-info.btn-sm {
    border-radius: var(--bs-border-radius, 0.65rem);
    padding: 0.4em 0.6em;
    font-size: 0.9rem;
    font-weight: 500;
    color: var(--bs-body-color);
    background: rgba(var(--bs-info-rgb), 0.18);
    border: 1px solid rgba(var(--bs-info-rgb), 0.35);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.3em;
    line-height: 1;
    cursor: pointer;
    box-shadow: none;
    transition: background-color 0.2s ease, transform 0.1s ease;
}

.blueprint-meta > .btn {
    margin-left: auto;
}

@media (max-width: 575px) {
    .blueprint-meta > .btn {
        margin-left: 0;
        width: 100%;
    }
}

html[data-theme="darkly"] .blueprint-meta .btn-outline-info.btn-sm {
    color: var(--bs-body-color);
    background: rgba(var(--bs-info-rgb), 0.35);
    border-color: rgba(var(--bs-info-rgb), 0.45);
}

html[data-theme="darkly"] .btn.btn-outline-info.btn-sm {
    color: var(--bs-body-color);
    background: rgba(var(--bs-info-rgb), 0.35);
    border-color: rgba(var(--bs-info-rgb), 0.55);
}

html[data-theme="darkly"] .btn.btn-outline-info.btn-sm:hover,
html[data-theme="darkly"] .btn.btn-outline-info.btn-sm:focus {
    color: var(--bs-body-color);
    background: rgba(var(--bs-info-rgb), 0.45);
    border-color: rgba(var(--bs-info-rgb), 0.65);
}

/* Hover state: slightly darker gradient */
.blueprint-meta .btn-outline-info.btn-sm:hover {
    background: rgba(var(--bs-info-rgb), 0.28);
    transform: scale(1.03);
}

/* Ensure icon inside button matches text size */
.blueprint-meta .btn-outline-info.btn-sm .fa-tools {
    font-size: 1rem;
}

.character-tag,
.location-tag {
    --bp-tag-bg: var(--bs-primary-bg-subtle, rgba(var(--bs-primary-rgb), 0.18));
    --bp-tag-color: var(--bs-primary-text-emphasis, var(--bs-primary));
    --bp-tag-border: var(--bs-primary-border-subtle, rgba(var(--bs-primary-rgb), 0.35));

    border-radius: var(--bs-border-radius, 0.65rem);
    padding: 0.25em 0.65em;
    font-size: 0.9rem;
    margin-right: 0.2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    width: max-content;
    gap: 0.3em;
    line-height: 1.1;
    background: var(--bp-tag-bg);
    color: var(--bp-tag-color);
    border: 1px solid var(--bp-tag-border);
}

/* Blueprint badges */
.blueprint-badges {
    display: flex;
    gap: 0.4rem;
    flex-wrap: wrap;
    margin-bottom: 0.1rem;
}

.type-badge {
    --bp-badge-bg: var(--bs-secondary-bg-subtle, rgba(var(--bs-secondary-rgb), 0.18));
    --bp-badge-color: var(--bs-secondary-text-emphasis, var(--bs-secondary));
    --bp-badge-border: var(--bs-secondary-border-subtle, rgba(var(--bs-secondary-rgb), 0.35));

    border-radius: var(--bs-border-radius-pill, 999px);
    padding: 0.2em 0.75em;
    font-size: 0.9rem;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    width: max-content;
    gap: 0.35em;
    line-height: 1.1;
    background: var(--bp-badge-bg);
    color: var(--bp-badge-color);
    border: 1px solid var(--bp-badge-border);
}

.type-badge.original {
    --bp-badge-bg: var(--bs-primary-bg-subtle, rgba(var(--bs-primary-rgb), 0.2));
    --bp-badge-color: var(--bs-primary-text-emphasis, var(--bs-primary));
    --bp-badge-border: var(--bs-primary-border-subtle, rgba(var(--bs-primary-rgb), 0.35));
}

.type-badge.copy {
    --bp-badge-bg: var(--bs-success-bg-subtle, rgba(var(--bs-success-rgb), 0.2));
    --bp-badge-color: var(--bs-success-text-emphasis, var(--bs-success));
    --bp-badge-border: var(--bs-success-border-subtle, rgba(var(--bs-success-rgb), 0.35));
}

.type-badge.quantity {
    --bp-badge-bg: var(--bs-warning-bg-subtle, rgba(var(--bs-warning-rgb), 0.24));
    --bp-badge-color: var(--bs-warning-text-emphasis, var(--bs-warning));
    --bp-badge-border: var(--bs-warning-border-subtle, rgba(var(--bs-warning-rgb), 0.42));
}

/* Reaction badge styling */
.type-badge.reaction {
    --bp-badge-bg: var(--bs-info-bg-subtle, rgba(var(--bs-info-rgb), 0.2));
    --bp-badge-color: var(--bs-info-text-emphasis, var(--bs-info));
    --bp-badge-border: var(--bs-info-border-subtle, rgba(var(--bs-info-rgb), 0.35));
}

.runs-badge {
    --bp-badge-bg: var(--bs-tertiary-bg, rgba(var(--bs-secondary-rgb), 0.12));
    --bp-badge-color: var(--bs-body-color);
    --bp-badge-border: var(--bp-border-color);

    border-radius: var(--bs-border-radius, 0.65rem);
    padding: 0.2em 0.75em;
    font-size: 0.9rem;
    font-weight: 500;
    margin-left: 0.2em;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    width: max-content;
    gap: 0.35em;
    line-height: 1.1;
    background: var(--bp-badge-bg);
    color: var(--bp-badge-color);
    border: 1px solid var(--bp-badge-border);
}

html[data-theme="darkly"] .runs-badge {
    background: rgba(var(--bs-secondary-rgb), 0.18) !important;
    color: rgba(var(--bs-light-rgb), 0.9) !important;
    border-color: rgba(var(--bs-secondary-rgb), 0.35) !important;
}

/* Efficiency grid and items */
.efficiency-grid {
    display: flex;
    gap: 0.6rem;
    flex-wrap: wrap;
    margin-bottom: 0.1rem;
}

.efficiency-item {
    min-width: 90px;
    flex: 1 1 90px;
}

.efficiency-value {
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: 0.1em;
}

.efficiency-label {
    font-size: 0.92em;
    color: var(--bp-muted-color);
    margin-bottom: 0.1em;
}

.efficiency-bar {
    background: var(--bp-tertiary-bg);
    border-radius: var(--bs-border-radius, 0.5rem);
    height: 8px;
    width: 100%;
    overflow: hidden;
    margin-bottom: 0.1em;
}

.efficiency-fill {
    height: 100%;
    border-radius: var(--bs-border-radius, 0.5rem);
    transition: width 1.1s cubic-bezier(0.77, 0, 0.18, 1);
    width: clamp(0%, calc(var(--efficiency-width, 0) * 1%), 100%);
}

.efficiency-fill.me {
    background: linear-gradient(
        90deg,
        rgba(var(--bs-danger-rgb), 1) 0%,
        rgba(var(--bs-warning-rgb), 1) 50%,
        rgba(var(--bs-success-rgb), 1) 100%
    );
}

.efficiency-fill.te {
    background: linear-gradient(
        90deg,
        rgba(var(--bs-indigo-rgb, var(--bs-primary-rgb)), 1) 0%,
        rgba(var(--bs-primary-rgb), 1) 50%,
        rgba(var(--bs-info-rgb), 1) 100%
    );
}

/* Update time */
.update-time {
    font-size: 0.92em;
    color: var(--bp-muted-color);
    background: var(--bs-tertiary-bg);
    border-radius: var(--bs-border-radius, 0.65rem);
    padding: 0.18em 0.7em;
    display: inline-block;
    margin-top: 0.2em;
    border: 1px solid var(--bp-border-color);
}

/* Main page container with enhanced shadows */
.container-fluid.bg-body {
    background: var(--bp-surface-bg);
    border-radius: var(--bp-card-radius);
    box-shadow: var(--bp-surface-shadow-lg);
    padding: 2rem;
    border: 1px solid var(--bp-border-color);
}

/* Blueprint list container */
.blueprint-list-group {
    --bp-list-font-scale: 0.75;

    background: var(--bp-surface-bg);
    border-radius: var(--bp-card-radius);
    box-shadow: var(--bp-surface-shadow-sm);
    margin-bottom: 2rem;
    overflow: visible;
    border: 1px solid var(--bp-border-color);
    width: 100%;
    max-width: 100%;
    padding: 1.25rem;
}

.blueprint-list-group .blueprint-list-content {
    font-size: calc(0.72rem * var(--bp-list-font-scale, 1));
}

.blueprint-list-group .blueprint-title {
    font-size: calc(1.15rem * var(--bp-list-font-scale, 1));
}

.blueprint-list-group .blueprint-meta {
    font-size: calc(1rem * var(--bp-list-font-scale, 1));
}

.blueprint-list-group .blueprint-meta .btn-outline-info.btn-sm {
    font-size: calc(0.9rem * var(--bp-list-font-scale, 1));
}

.blueprint-list-group .blueprint-meta .btn-outline-info.btn-sm .fa-tools {
    font-size: calc(1rem * var(--bp-list-font-scale, 1));
}

.blueprint-list-group .character-tag,
.blueprint-list-group .location-tag {
    font-size: calc(0.9rem * var(--bp-list-font-scale, 1));
}

.blueprint-list-group .type-badge,
.blueprint-list-group .runs-badge {
    font-size: calc(0.9rem * var(--bp-list-font-scale, 1));
}

.blueprint-list-group .efficiency-value {
    font-size: calc(1rem * var(--bp-list-font-scale, 1));
}

.blueprint-list-group .efficiency-label,
.blueprint-list-group .update-time {
    font-size: calc(0.92rem * var(--bp-list-font-scale, 1));
}

.blueprint-icon {
    width: 48px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.blueprint-icon img {
    width: 48px;
    height: 48px;
}

.blueprint-icon .fallback {
    display: none;
    width: 48px;
    height: 48px;
    align-items: center;
    justify-content: center;
    font-size: calc(1.1rem * var(--bp-list-font-scale, 1));
}

/* Filter section enhancement */
.filter-section {
    background: var(--bp-surface-bg);
    border-radius: var(--bs-border-radius-xl, 1.25rem);
    box-shadow: var(--bp-surface-shadow-sm);
    padding: 1.5rem;
    margin-bottom: 2rem;
    border: 1px solid var(--bp-border-color);
}

.stats-card {
    background: var(--bp-surface-bg);
    border-radius: var(--bp-card-radius);
    border: 1px solid var(--bp-border-color);
    box-shadow: var(--bp-surface-shadow-sm);
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.stats-card:hover {
    box-shadow: var(--bp-surface-shadow-lg);
    transform: translateY(-2px);
}


.bp-request-surface {
    background: var(--bs-body-bg);
    padding: 0;
    min-height: calc(100vh - var(--aa-nav-gap, 0px) - 2rem);
    padding-bottom: clamp(3rem, 6vh, 4rem);
}


.bp-request-surface > .container-fluid {
    padding-inline: var(--bs-gutter-x, 0.75rem);
}

.nav-padding:has(.bp-request-surface) {
    background: var(--bs-body-bg);
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.nav-padding:has(.bp-request-surface) > .my-3 {
    display: flex;
    flex-direction: column;
    min-height: calc(100vh - var(--aa-nav-gap, 0px));
    margin: 0;
    padding: 0;
}

.nav-padding:has(.bp-request-surface) .bp-request-surface {
    flex: 1 1 auto;
    min-height: calc(100vh - var(--aa-nav-gap, 0px));
}


.bp-metrics-row {
    background: var(--bp-surface-bg);
    border-radius: var(--bp-card-radius);
    padding: 1.5rem;
    box-shadow: var(--bp-surface-shadow-sm);
    border: 1px solid var(--bp-border-color);
    margin-inline: clamp(1rem, 3vw, 2rem);
}

.bp-metrics-row .col-md-3 {
    display: flex;
}

.bp-metrics-row .glass-panel {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.25rem;
    background: var(--bp-surface-bg);
    border: 1px solid var(--bp-border-color);
    border-radius: calc(var(--bp-card-radius) - 0.5rem);
    box-shadow: none;
}

.bp-metrics-row .badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 64px;
    min-height: 44px;
    font-size: 1rem;
    border-radius: var(--bs-border-radius-pill);
    box-shadow: none;
}

.bp-metrics-row .badge i {
    margin-right: 0.4rem;
}

.bp-request-card {
    border-radius: var(--bp-card-radius);
    border: 1px solid var(--bp-border-color);
    background: var(--bp-surface-bg);
    box-shadow: var(--bp-surface-shadow-sm);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    font-size: 0.95rem;
}

.bp-request-card .card-body {
    padding: 1.25rem;
}

.bp-request-card__header-row {
    flex-wrap: wrap;
    row-gap: 1rem;
}

.bp-request-card__metric--corp .bp-request-card__metric-label {
    align-self: flex-start;
    color: var(--bp-metric-accent);
}

.bp-request-card__metric--corp .bp-request-card__metric-value {
    text-align: left;
    font-size: 0.96rem;
    font-weight: 560;
    line-height: 1.35;
    color: var(--bs-body-color);
}

.bp-request-card__metric-value--list {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    text-align: left;
    font-weight: 500;
    color: var(--bs-body-color);
    align-self: stretch;
    font-size: 0.9rem;
}

.bp-request-card__access-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 0.4rem;
}

.bp-request-card__access-item {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    padding: 0.4rem 0.55rem;
    border-radius: var(--bs-border-radius-lg, 0.75rem);
    background: rgba(var(--bs-light-rgb, 248, 249, 250), 0.85);
    border: 1px solid rgba(var(--bs-purple-rgb, 102, 16, 242), 0.14);
    flex-wrap: wrap;
}

.bp-request-card__access-item i {
    font-size: 0.9rem;
    margin: 0;
    color: var(--bp-metric-accent);
}

.bp-request-card__access-body {
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
    min-width: 0;
}

.bp-request-card__access-label {
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--bp-metric-accent);
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.bp-request-card__access-label span {
    display: block;
}

.bp-request-card__access-names {
    font-size: 0.9rem;
    font-weight: 550;
    color: inherit;
    word-break: break-word;
}


.bp-request-card__copy-button {
    border: none;
    background: transparent;
    color: var(--bs-secondary-color);
    padding: 0.25rem;
    border-radius: 0.4rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: color 0.15s ease, background-color 0.15s ease;
}

.bp-request-card__copy-button:hover,
.bp-request-card__copy-button:focus {
    color: var(--bs-primary);
    background-color: rgba(var(--bs-primary-rgb, 13, 110, 253), 0.08);
}

.bp-request-card__copy-button.is-copy-feedback {
    color: var(--bs-success);
}

.bp-request-card__copy-button.is-copy-error {
    color: var(--bs-danger);
}

.bp-request-card__copy-button:focus-visible {
    outline: 2px solid rgba(var(--bs-primary-rgb, 13, 110, 253), 0.4);
    outline-offset: 2px;
}

.bp-request-card__meta-item i {
    font-size: 0.9rem;
    opacity: 0.7;
}

.bp-request-card__meta-item span,
.bp-request-card__meta-item time {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    min-width: 0;
}

.bp-request-card__meta-item--full {
    grid-column: 1 / -1;
}

.bp-request-card__meta-item--corp {
    padding-top: 0.35rem;
    border-top: 1px solid rgba(0, 0, 0, 0.04);
}

.bp-request-card__corp-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.25rem 0.6rem;
    border-radius: 999px;
    background: rgba(var(--bs-primary-rgb, 13, 110, 253), 0.12);
    color: var(--bs-primary, #0d6efd);
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.bp-request-card__corp-pill .fa-building {
    font-size: 0.75rem;
}

.bp-request-card__corp-label {
    font-weight: 600;
    color: var(--bs-body-color);
}

.bp-corporate-badge {
    background: rgba(var(--bs-primary-rgb, 13, 110, 253), 0.12);
    color: var(--bs-primary, #0d6efd) !important;
    border: 1px solid rgba(var(--bs-primary-rgb, 13, 110, 253), 0.2);
    letter-spacing: 0.05em;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.bp-corporate-badge .fa-building {
    font-size: 0.75rem;
}

html[data-theme="darkly"] .bp-request-card__meta-item--corp {
    border-top-color: rgba(var(--bs-light-rgb), 0.08);
}

html[data-theme="darkly"] .bp-request-card__corp-pill,
html[data-theme="darkly"] .bp-corporate-badge {
    background: rgba(var(--bs-primary-rgb, 13, 110, 253), 0.2);
    border-color: rgba(var(--bs-primary-rgb, 13, 110, 253), 0.35);
}

.bp-request-card__status {
    max-width: 100%;
    white-space: normal;
    word-break: break-word;
    text-align: center;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.35rem 0.75rem !important;
    font-size: 0.7rem;
    line-height: 1.2;
    letter-spacing: 0.06em;
    text-wrap: balance;
}

.bp-request-card__badges .badge {
    padding: 0.45rem 0.85rem;
    border-radius: 999px;
    font-size: 0.75rem;
    letter-spacing: 0.04em;
}

.bp-request-card__eligible {
    margin-top: 0.75rem;
    border: 1px solid rgba(0, 0, 0, 0.06);
    border-radius: 0.85rem;
    padding: 0.9rem;
    background: var(--bs-body-bg);
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.bp-request-card__eligible-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}

.bp-request-card__eligible-title {
    letter-spacing: 0.08em;
}

.bp-request-card__eligible-section {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.bp-request-card__eligible-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.bp-request-card__eligible-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.82rem;
    color: var(--bs-secondary-color);
    flex-wrap: wrap;
}

.bp-request-card__eligible-item i {
    width: 1rem;
    text-align: center;
    opacity: 0.75;
}

.bp-request-card__eligible-name {
    font-weight: 600;
    color: var(--bs-body-color);
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.bp-request-card__eligible-affiliation {
    font-size: 0.78rem;
}

.bp-request-card__eligible-members {
    font-size: 0.75rem;
    letter-spacing: 0.04em;
}

@media (max-width: 767.98px) {
    .bp-request-card__eligible {
        padding: 0.75rem;
    }
}

html[data-theme="darkly"] .bp-request-card__eligible {
    border-color: rgba(var(--bs-light-rgb), 0.08);
    background: rgba(var(--bs-light-rgb), 0.02);
}

.bp-request-card .input-group-text {
    border-top-left-radius: var(--bs-border-radius, 0.75rem);
    border-bottom-left-radius: var(--bs-border-radius, 0.75rem);
}

.bp-request-card .form-control {
    border-top-right-radius: var(--bs-border-radius, 0.75rem);
    border-bottom-right-radius: var(--bs-border-radius, 0.75rem);
}

.bp-request-card .btn {
    border-radius: var(--bs-border-radius, 0.75rem);
    padding: 0.65rem 1.1rem;
}

.bp-request-card .btn-primary {
    box-shadow: 0 0.75rem 1.5rem rgba(var(--bs-primary-rgb), 0.35);
}

.bp-request-card .btn-primary:hover {
    box-shadow: 0 1rem 2rem rgba(var(--bs-primary-rgb), 0.45);
}


.bp-request-empty {
    width: 100%;
    background: var(--bp-surface-bg);
    border-radius: var(--bp-card-radius);
    padding: 2.5rem 2rem;
    border: 1px dashed var(--bp-border-color);
    box-shadow: var(--bp-surface-shadow-sm);
}

.bp-request-grid {
    --bp-request-grid-gap: clamp(1rem, 2vw, 1.5rem);

    display: grid;
    gap: var(--bp-request-grid-gap);
    grid-template-columns: repeat(
        auto-fit,
        minmax(min(70px, 100%), min(300px, 100%))
    );
    justify-content: center;
    margin: 0 auto;
    padding: 0;
    width: 100%;
}

.bp-request-grid > .request-card {
    height: 100%;
}



.bp-request-empty__icon {
    display: inline-flex;
    width: 72px;
    height: 72px;
    border-radius: calc(var(--bp-card-radius) - 0.35rem);
    background: rgba(var(--bs-primary-rgb), 0.12);
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    color: var(--bs-primary);
    border: 1px solid rgba(var(--bs-primary-rgb), 0.2);
}

html[data-theme="darkly"] .bp-request-empty__icon {
    background: rgba(var(--bs-primary-rgb), 0.32);
    color: var(--bs-emphasis-color, #f8f9fa);
    border-color: rgba(var(--bs-primary-rgb), 0.45);
}

.bp-request-empty .card-body {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.85rem;
}

.bp-request-pagination .page-link {
    border-radius: var(--bs-border-radius-pill, 999px);
    margin: 0 0.15rem;
}

.bp-request-pagination .page-item.active .page-link {
    box-shadow: 0 0.75rem 1.5rem rgba(var(--bs-primary-rgb), 0.35);
}

@media (max-width: 991px) {
    .bp-request-hero {
        padding: 2.25rem 1.75rem;
    }

    .bp-request-hero__metrics {
        padding: 1rem 1.25rem;
    }
}

@media (max-width: 575px) {
    .bp-request-card {
        border-radius: 14px;
    }

    .bp-request-card__controls .col-6 {
        width: 100%;
    }
}

/* Responsive */
@media (max-width: 991px) {
    .blueprint-list-group {
        border-radius: 8px;
    }

    .blueprint-list-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.7rem;
        padding: 1rem;
    }

    .blueprint-icon {
        margin-bottom: 0.5rem;
    }
}

/* Summary cards for simulations & dashboards */
.summary-card {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.25rem 1.5rem;
    background: var(--bp-surface-bg);
    border: 1px solid var(--bp-border-color);
    border-radius: var(--bp-card-radius);
    box-shadow: var(--bp-surface-shadow-sm);
}

.summary-card__icon {
    width: 48px;
    height: 48px;
    border-radius: var(--bs-border-radius, 0.75rem);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    background: rgba(var(--bs-primary-rgb), 0.12);
    color: var(--bs-primary);
    border: 1px solid rgba(var(--bs-primary-rgb), 0.25);
}

html[data-theme="darkly"] .summary-card__icon {
    background: rgba(var(--bs-primary-rgb), 0.32);
    color: var(--bs-emphasis-color, #f8f9fa);
    border-color: rgba(var(--bs-primary-rgb), 0.45);
}

.summary-card__label {
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 0.72rem;
    color: var(--bp-muted-color);
}

.summary-card__value {
    font-weight: 700;
    color: var(--bs-body-color);
}

/* Action rows on request cards */

.bp-card-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
    width: 100%;
    padding-top: 1rem;
    margin-top: 1rem;
    border-top: 1px solid var(--bp-border-color);
}

.bp-card-toolbar__group {
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.bp-card-toolbar__group .bp-card-toolbar__form {
    flex: 1 1 220px;
    max-width: 100%;
}

.bp-card-toolbar__group .bp-btn {
    width: 100%;
    justify-content: center;
}

.bp-card-toolbar__group--stacked {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.4rem;
}

.bp-card-toolbar__group--push {
    margin-left: auto;
}

.bp-card-toolbar__form {
    margin: 0;
}

.bp-card-toolbar__collapse {
    width: 100%;
}

.bp-card-toolbar__collapse .input-group {
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: inset 0 0 0 1px rgba(var(--bs-primary-rgb), 0.18);
    background: rgba(var(--bs-primary-rgb), 0.06);
}

html[data-theme="darkly"] .bp-card-toolbar__collapse .input-group {
    box-shadow: inset 0 0 0 1px rgba(var(--bs-primary-rgb), 0.25);
    background: rgba(var(--bs-primary-rgb), 0.12);
}

.bp-card-toolbar__meta {
    font-size: 0.75rem;
    line-height: 1.4;
    letter-spacing: 0.01em;
    color: var(--bp-muted-color);
}

.bp-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    border-radius: 999px;
    padding: 0.5rem 1.25rem;
    font-weight: 600;
    font-size: 0.95rem;
    min-height: 2.5rem;
    line-height: 1.2;
    letter-spacing: 0.01em;
    white-space: normal;
    text-align: center;
    transition: transform 0.18s ease, box-shadow 0.3s ease, background-color 0.18s ease;
    border-width: 1px;
}

.bp-btn.btn-sm {
    padding: 0.45rem 1.1rem;
    font-size: 0.9rem;
    min-height: 2.3rem;
}

.bp-btn i {
    font-size: 0.95rem;
}

.bp-btn span {
    white-space: normal;
    overflow-wrap: break-word;
    word-break: keep-all;
    text-align: center;
    font-size: 0.85em;
    line-height: 1.25;
}

.bp-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 26px rgba(15, 23, 42, 0.12);
}

.bp-btn:active {
    transform: translateY(0);
    box-shadow: none;
}

.bp-btn-soft-primary {
    background: rgba(var(--bs-primary-rgb), 0.16);
    border-color: rgba(var(--bs-primary-rgb), 0.32);
    color: var(--bs-primary-text-emphasis, var(--bs-primary));
}

.bp-btn-soft-primary:hover {
    background: rgba(var(--bs-primary-rgb), 0.24);
}

.bp-btn-soft-success {
    background: rgba(var(--bs-success-rgb), 0.16);
    border-color: rgba(var(--bs-success-rgb), 0.34);
    color: var(--bs-success-text-emphasis, var(--bs-success));
}

.bp-btn-soft-success:hover {
    background: rgba(var(--bs-success-rgb), 0.24);
}

.bp-btn-soft-danger {
    background: rgba(var(--bs-danger-rgb), 0.14);
    border-color: rgba(var(--bs-danger-rgb), 0.32);
    color: var(--bs-danger-text-emphasis, var(--bs-danger));
}

.bp-btn-soft-danger:hover {
    background: rgba(var(--bs-danger-rgb), 0.22);
}

.bp-btn-soft-info {
    background: rgba(var(--bs-info-rgb), 0.16);
    border-color: rgba(var(--bs-info-rgb), 0.32);
    color: var(--bs-info-text-emphasis, var(--bs-info));
}

.bp-btn-soft-info:hover {
    background: rgba(var(--bs-info-rgb), 0.24);
}

.bp-btn-soft-secondary {
    background: rgba(var(--bs-secondary-rgb, 99, 102, 241), 0.16);
    border-color: rgba(var(--bs-secondary-rgb, 99, 102, 241), 0.28);
    color: var(--bs-secondary-text-emphasis, #1f2937);
}

.bp-btn-soft-secondary:hover {
    background: rgba(var(--bs-secondary-rgb, 99, 102, 241), 0.24);
}

.bp-btn-soft-outline {
    background: transparent;
    border-color: rgba(var(--bs-body-color-rgb, 52, 64, 84), 0.22);
    color: var(--bs-body-color);
}

.bp-btn-soft-outline:hover {
    background: rgba(var(--bs-body-color-rgb, 52, 64, 84), 0.08);
}

.bp-chat-pill {
    background: linear-gradient(135deg, rgba(var(--bs-primary-rgb), 0.18), rgba(var(--bs-primary-rgb), 0.3));
    border-color: rgba(var(--bs-primary-rgb), 0.38);
    color: var(--bs-primary-text-emphasis, var(--bs-primary));
    padding-right: 1.25rem;
}

.bp-chat-pill:hover {
    background: linear-gradient(135deg, rgba(var(--bs-primary-rgb), 0.24), rgba(var(--bs-primary-rgb), 0.35));
}

.bp-card-toolbar__timestamp {
    font-size: 0.74rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: rgba(var(--bs-primary-rgb), 0.7);
}

html[data-theme="darkly"] .bp-card-toolbar__timestamp {
    color: rgba(var(--bs-primary-rgb), 0.6);
}

html[data-theme="darkly"] .bp-btn-soft-primary,
html[data-theme="darkly"] .bp-btn-soft-success,
html[data-theme="darkly"] .bp-btn-soft-danger,
html[data-theme="darkly"] .bp-btn-soft-info,
html[data-theme="darkly"] .bp-btn-soft-secondary {
    color: var(--bs-light, #f8f9fa);
    box-shadow: inset 0 1px 0 rgba(var(--bs-light-rgb), 0.08);
}

html[data-theme="darkly"] .bp-btn-soft-outline {
    color: var(--bs-light, #f8f9fa);
    border-color: rgba(var(--bs-light-rgb), 0.22);
}

html[data-theme="darkly"] .bp-chat-pill {
    color: var(--bs-light, #f8f9fa);
}

@media (max-width: 575px) {
    .bp-card-toolbar {
        flex-direction: column;
        align-items: stretch;
    }

    .bp-card-toolbar__group,
    .bp-card-toolbar__group--stacked {
        width: 100%;
    }

    .bp-card-toolbar__group .bp-card-toolbar__form {
        flex-basis: 100%;
    }

    .bp-card-toolbar__group--push {
        margin-left: 0;
    }

    .bp-card-toolbar__meta,
    .bp-card-toolbar__timestamp {
        text-align: center;
        width: 100%;
    }
}

/* Bootstrap utility classes overrides */
html[data-theme="darkly"] .bg-body-tertiary,
html[data-theme="darkly"] .bg-body-secondary,
html[data-theme="darkly"] .bg-light,
html[data-theme="darkly"] .bg-white {
    background-color: #303030 !important;
}

html[data-theme="darkly"] [class*="subtle"] {
    background-color: #303030 !important;
}
