/* Intentionally minimal: Bootstrap native styling + data-bs-theme handles appearance. */

.bsa-sticky-overview {
	position: static;
}

.bsa-shell {
	padding-left: 120px;
	padding-right: 120px;
}

.bsa-nav-chip {
	background: var(--bs-tertiary-bg);
	color: var(--bs-body-emphasis-color);
	border: 1px solid var(--bs-border-color);
	font-weight: 500;
	padding: 6px 10px;
	border-radius: var(--bs-border-radius-sm);
}

.bsa-nav-economy-chip {
	display: grid;
	gap: 0.15rem;
	line-height: 1;
	cursor: pointer;
	font-size: 0.8rem;
	padding: 6px 10px;
	margin-left: auto;
	position: relative;
	transition: border-color 150ms ease, background-color 150ms ease;
}

.bsa-nav-inventory-chip {
	display: grid;
	gap: 0.15rem;
	line-height: 1;
	cursor: pointer;
	font-size: 0.8rem;
	padding: 6px 10px;
	position: relative;
	transition: border-color 150ms ease, background-color 150ms ease;
}

.bsa-nav-inventory-main {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
}

.bsa-nav-economy-main {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
}

.bsa-nav-economy-item {
	display: grid;
	gap: 1px;
	text-align: left;
}

.bsa-nav-economy-separator {
	color: var(--bs-secondary-color);
	font-weight: 600;
}

.bsa-nav-economy-item-settings .bsa-total-value {
	font-size: 0.9rem;
}

.bsa-nav-economy-note {
	--bsa-nav-marquee-gap: 0.35rem;
	font-size: 0.68rem;
	line-height: 1.1;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--bs-danger-text-emphasis);
	position: absolute;
	left: 10px;
	right: 10px;
	bottom: 4px;
	display: flex;
	overflow: hidden;
	white-space: nowrap;
	gap: var(--bsa-nav-marquee-gap);
	pointer-events: none;
}

.bsa-nav-economy-note-track {
	flex-shrink: 0;
	display: inline-flex;
	min-width: max-content;
	gap: var(--bsa-nav-marquee-gap);
	animation: bsa-nav-marquee-scroll 8s linear infinite;
}

.bsa-nav-economy-note-text {
	display: inline-block;
	will-change: transform;
}

.bsa-nav-economy-chip.is-high-tax {
	border-color: color-mix(in srgb, var(--bs-danger) 52%, var(--bs-border-color));
	background: color-mix(in srgb, var(--bs-danger) 16%, var(--bs-body-bg));
	padding-bottom: 16px;
}

.bsa-nav-economy-chip.is-high-tax .bsa-total-value,
.bsa-nav-economy-chip.is-high-tax .bsa-nav-economy-separator {
	color: var(--bs-danger-text-emphasis);
}

.bsa-nav-economy-chip.is-low-tax {
	border-color: color-mix(in srgb, var(--bs-success) 52%, var(--bs-border-color));
	background: color-mix(in srgb, var(--bs-success) 16%, var(--bs-body-bg));
	padding-bottom: 16px;
}

.bsa-nav-economy-chip.is-low-tax .bsa-total-value,
.bsa-nav-economy-chip.is-low-tax .bsa-nav-economy-separator,
.bsa-nav-economy-chip.is-low-tax .bsa-nav-economy-note {
	color: var(--bs-success-text-emphasis);
}

@keyframes bsa-nav-marquee-scroll {
	0% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(calc(-100% - var(--bsa-nav-marquee-gap)));
	}
}

@media (prefers-reduced-motion: reduce) {
	.bsa-nav-economy-note-track {
		animation: none;
	}

	.bsa-value-change {
		animation: none;
	}
}

.bsa-nav-economy-chip:hover,
.bsa-nav-economy-chip:focus-visible,
.bsa-nav-inventory-chip:hover,
.bsa-nav-inventory-chip:focus-visible {
	border-color: var(--bs-primary);
	background: color-mix(in srgb, var(--bs-primary) 8%, var(--bs-tertiary-bg));
	outline: 0;
}

.bsa-nav-chip strong {
	color: var(--bs-body-emphasis-color);
	font-weight: 700;
}

.bsa-value-change {
	display: inline-block;
	border-radius: 0.35rem;
	animation: bsa-value-change-pulse 380ms ease-out;
	will-change: transform;
}

@keyframes bsa-value-change-pulse {
	0% {
		transform: scale(1);
		background-color: transparent;
		box-shadow: 0 0 0 0 transparent;
	}
	40% {
		transform: scale(1.03);
		background-color: color-mix(in srgb, var(--bs-primary) 14%, transparent);
		box-shadow: 0 0 0 0.35rem color-mix(in srgb, var(--bs-primary) 18%, transparent);
	}
	100% {
		transform: scale(1);
		background-color: transparent;
		box-shadow: 0 0 0 0 transparent;
	}
}

.bsa-catalogue-row {
	cursor: pointer;
	transition: box-shadow 150ms ease, background-color 150ms ease;
}

.bsa-catalogue-table {
	table-layout: fixed;
}

.bsa-catalogue-table th,
.bsa-catalogue-table td {
	padding-top: 0.4rem;
	padding-bottom: 0.4rem;
	vertical-align: middle;
}

.bsa-catalogue-col-item {
	width: 40%;
}

.bsa-catalogue-col-cost,
.bsa-catalogue-col-actions {
	width: 30%;
}

.bsa-catalogue-row-badges .badge {
	font-size: 0.72rem;
	padding: 0.2rem 0.42rem;
}

.bsa-catalogue-row-actions .btn {
	--bs-btn-padding-y: 0.2rem;
	--bs-btn-padding-x: 0.45rem;
	--bs-btn-font-size: 0.8rem;
}

.bsa-catalogue-row.is-active {
	box-shadow: none;
	background: transparent;
}

.bsa-catalogue-table tbody .bsa-catalogue-row.is-active > td {
	background: color-mix(in srgb, var(--bs-primary) 8%, var(--bs-body-bg));
	box-shadow: inset 0 1px 0 color-mix(in srgb, var(--bs-primary) 20%, transparent), inset 0 -1px 0 color-mix(in srgb, var(--bs-primary) 20%, transparent);
}

.bsa-catalogue-actions {
	min-width: 0;
}

.bsa-catalogue-qty {
	max-width: 88px;
}

.bsa-catalogue-input-group {
	width: auto;
	max-width: 100%;
}

.bsa-catalogue-cost-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: calc(1.2em + 0.4rem + 2px);
	min-width: 120px;
	font-size: 0.8rem;
	padding: 0.2rem 0.45rem;
}

@media (max-width: 991.98px) {
	.bsa-catalogue-table th,
	.bsa-catalogue-table td {
		padding-top: 0.3rem;
		padding-bottom: 0.3rem;
	}

	.bsa-catalogue-col-item,
	.bsa-catalogue-col-cost,
	.bsa-catalogue-col-actions {
		width: auto;
	}

	.bsa-catalogue-row-badges {
		margin-top: 0.35rem !important;
	}

	.bsa-catalogue-row-badges .badge {
		font-size: 0.68rem;
		padding: 0.15rem 0.36rem;
	}

	.bsa-catalogue-row-actions .btn {
		--bs-btn-padding-y: 0.18rem;
		--bs-btn-padding-x: 0.4rem;
		--bs-btn-font-size: 0.76rem;
	}

	.bsa-catalogue-actions {
		justify-content: flex-start;
	}

	.bsa-catalogue-qty {
		max-width: 96px;
	}

	.bsa-catalogue-input-group {
		width: 100%;
	}
}

.bsa-overlay {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.45);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 1080;
	padding: 1rem;
}

.bsa-overlay-z-1080 {
	z-index: 1080;
}

.bsa-overlay-z-1120 {
	z-index: 1120;
}

.bsa-confetti-container {
	pointer-events: none;
	overflow: hidden;
	z-index: 2000;
}

#confirm-overlay {
	z-index: 1120;
}

.bsa-overlay-dialog {
	width: min(920px, 100%);
	max-height: 92vh;
	overflow: auto;
	scrollbar-gutter: stable;
}

.bsa-overlay-dialog-recipe {
	width: min(760px, 100%);
}

.bsa-overlay-dialog-tall {
	max-height: 88vh;
}

.bsa-min-h-0 {
	min-height: 0;
}

.bsa-order-courier-min-h {
	min-height: 360px;
}

.bsa-order-courier-table-wrap {
	max-height: 260px;
	min-height: 260px;
	overflow: auto;
}

.bsa-w-32 {
	width: 32px;
}

.bsa-w-120 {
	width: 120px;
}

.bsa-w-140 {
	width: 140px;
}

.bsa-progress-width-0 { width: 0%; }
.bsa-progress-width-1 { width: 1%; }
.bsa-progress-width-2 { width: 2%; }
.bsa-progress-width-3 { width: 3%; }
.bsa-progress-width-4 { width: 4%; }
.bsa-progress-width-5 { width: 5%; }
.bsa-progress-width-6 { width: 6%; }
.bsa-progress-width-7 { width: 7%; }
.bsa-progress-width-8 { width: 8%; }
.bsa-progress-width-9 { width: 9%; }
.bsa-progress-width-10 { width: 10%; }
.bsa-progress-width-11 { width: 11%; }
.bsa-progress-width-12 { width: 12%; }
.bsa-progress-width-13 { width: 13%; }
.bsa-progress-width-14 { width: 14%; }
.bsa-progress-width-15 { width: 15%; }
.bsa-progress-width-16 { width: 16%; }
.bsa-progress-width-17 { width: 17%; }
.bsa-progress-width-18 { width: 18%; }
.bsa-progress-width-19 { width: 19%; }
.bsa-progress-width-20 { width: 20%; }
.bsa-progress-width-21 { width: 21%; }
.bsa-progress-width-22 { width: 22%; }
.bsa-progress-width-23 { width: 23%; }
.bsa-progress-width-24 { width: 24%; }
.bsa-progress-width-25 { width: 25%; }
.bsa-progress-width-26 { width: 26%; }
.bsa-progress-width-27 { width: 27%; }
.bsa-progress-width-28 { width: 28%; }
.bsa-progress-width-29 { width: 29%; }
.bsa-progress-width-30 { width: 30%; }
.bsa-progress-width-31 { width: 31%; }
.bsa-progress-width-32 { width: 32%; }
.bsa-progress-width-33 { width: 33%; }
.bsa-progress-width-34 { width: 34%; }
.bsa-progress-width-35 { width: 35%; }
.bsa-progress-width-36 { width: 36%; }
.bsa-progress-width-37 { width: 37%; }
.bsa-progress-width-38 { width: 38%; }
.bsa-progress-width-39 { width: 39%; }
.bsa-progress-width-40 { width: 40%; }
.bsa-progress-width-41 { width: 41%; }
.bsa-progress-width-42 { width: 42%; }
.bsa-progress-width-43 { width: 43%; }
.bsa-progress-width-44 { width: 44%; }
.bsa-progress-width-45 { width: 45%; }
.bsa-progress-width-46 { width: 46%; }
.bsa-progress-width-47 { width: 47%; }
.bsa-progress-width-48 { width: 48%; }
.bsa-progress-width-49 { width: 49%; }
.bsa-progress-width-50 { width: 50%; }
.bsa-progress-width-51 { width: 51%; }
.bsa-progress-width-52 { width: 52%; }
.bsa-progress-width-53 { width: 53%; }
.bsa-progress-width-54 { width: 54%; }
.bsa-progress-width-55 { width: 55%; }
.bsa-progress-width-56 { width: 56%; }
.bsa-progress-width-57 { width: 57%; }
.bsa-progress-width-58 { width: 58%; }
.bsa-progress-width-59 { width: 59%; }
.bsa-progress-width-60 { width: 60%; }
.bsa-progress-width-61 { width: 61%; }
.bsa-progress-width-62 { width: 62%; }
.bsa-progress-width-63 { width: 63%; }
.bsa-progress-width-64 { width: 64%; }
.bsa-progress-width-65 { width: 65%; }
.bsa-progress-width-66 { width: 66%; }
.bsa-progress-width-67 { width: 67%; }
.bsa-progress-width-68 { width: 68%; }
.bsa-progress-width-69 { width: 69%; }
.bsa-progress-width-70 { width: 70%; }
.bsa-progress-width-71 { width: 71%; }
.bsa-progress-width-72 { width: 72%; }
.bsa-progress-width-73 { width: 73%; }
.bsa-progress-width-74 { width: 74%; }
.bsa-progress-width-75 { width: 75%; }
.bsa-progress-width-76 { width: 76%; }
.bsa-progress-width-77 { width: 77%; }
.bsa-progress-width-78 { width: 78%; }
.bsa-progress-width-79 { width: 79%; }
.bsa-progress-width-80 { width: 80%; }
.bsa-progress-width-81 { width: 81%; }
.bsa-progress-width-82 { width: 82%; }
.bsa-progress-width-83 { width: 83%; }
.bsa-progress-width-84 { width: 84%; }
.bsa-progress-width-85 { width: 85%; }
.bsa-progress-width-86 { width: 86%; }
.bsa-progress-width-87 { width: 87%; }
.bsa-progress-width-88 { width: 88%; }
.bsa-progress-width-89 { width: 89%; }
.bsa-progress-width-90 { width: 90%; }
.bsa-progress-width-91 { width: 91%; }
.bsa-progress-width-92 { width: 92%; }
.bsa-progress-width-93 { width: 93%; }
.bsa-progress-width-94 { width: 94%; }
.bsa-progress-width-95 { width: 95%; }
.bsa-progress-width-96 { width: 96%; }
.bsa-progress-width-97 { width: 97%; }
.bsa-progress-width-98 { width: 98%; }
.bsa-progress-width-99 { width: 99%; }
.bsa-progress-width-100 { width: 100%; }

.bsa-order-detail-dialog {
	width: min(1280px, 98vw);
	max-height: 94vh;
}

.bsa-order-detail-dialog .card-body {
	display: flex;
	flex-direction: column;
	min-height: 0;
}

.bsa-order-detail-body {
	min-height: 0;
}

.bsa-order-detail-layout,
.bsa-order-detail-main,
.bsa-order-detail-left,
.bsa-order-detail-right {
	min-height: 0;
}

.bsa-order-detail-top .form-label {
	margin-bottom: 0.2rem;
	font-size: 0.82rem;
	color: var(--bs-secondary-color);
}

.bsa-order-detail-top .form-control,
.bsa-order-detail-top .form-control-plaintext {
	min-height: calc(1.5em + 0.5rem + 2px);
	padding-top: 0.25rem;
	padding-bottom: 0.25rem;
}

.bsa-order-detail-top .form-control-plaintext {
	display: flex;
	align-items: center;
}

.bsa-order-detail-crafting .table-responsive {
	max-height: 280px;
	overflow: auto;
}

.bsa-order-detail-courier .card-body {
	display: grid;
	grid-template-rows: auto auto auto 1fr;
	min-height: 0;
}

.bsa-order-detail-courier .card-body > .d-grid {
	min-height: 0;
}

@media (min-width: 1200px) {
	.bsa-order-detail-dialog {
		width: min(1360px, 98vw);
	}

	.bsa-order-detail-layout {
		min-height: calc(94vh - 140px);
	}

	.bsa-order-detail-main {
		flex: 1 1 auto;
	}

	.bsa-order-detail-left .row {
		min-height: 100%;
	}

	.bsa-order-detail-crafting,
	.bsa-order-detail-courier,
	.bsa-order-detail-financials {
		min-height: 0;
	}

	.bsa-order-detail-crafting .table-responsive {
		max-height: 340px;
	}
}

.bsa-confirm-dialog {
	width: min(520px, 100%);
}

.bsa-save-indicator {
	opacity: 0;
	color: var(--bs-success);
}

.bsa-save-indicator.is-visible {
	animation: bsa-save-fade 1.2s ease-out;
}

.bsa-loadout-builder {
	position: relative;
	display: grid;
	gap: 8px;
}

.bsa-builder-header {
	position: sticky;
	top: 8px;
	z-index: 10;
}

.bsa-builder-header .card-body {
	min-height: 80px;
}

.bsa-builder-totals {
	row-gap: 6px;
}

.bsa-total-chip {
	display: grid;
	gap: 1px;
	padding: 6px 10px;
	border: 1px solid var(--bs-border-color);
	border-radius: var(--bs-border-radius-sm);
	background: var(--bs-tertiary-bg);
	min-width: 112px;
}

.bsa-total-label {
	font-size: 0.72rem;
	line-height: 1.1;
	letter-spacing: 0.01em;
	text-transform: uppercase;
	color: var(--bs-secondary-color);
}

.bsa-total-value {
	font-size: 1rem;
	line-height: 1.2;
	color: var(--bs-body-emphasis-color);
}

.bsa-total-subvalue {
	font-size: 0.72rem;
	line-height: 1.1;
	color: var(--bs-success-text-emphasis);
}

.bsa-total-subvalue-tax {
	color: var(--bs-warning-text-emphasis);
}

.bsa-total-chip-inc-tax .bsa-total-value {
	color: var(--bs-warning-text-emphasis);
}

.bsa-total-chip-inc-tax {
	border-color: color-mix(in srgb, var(--bs-warning) 42%, var(--bs-border-color));
	background: color-mix(in srgb, var(--bs-warning) 16%, var(--bs-body-bg));
}

[data-bs-theme="light"] .bsa-total-chip-inc-tax {
	border-color: color-mix(in srgb, var(--bs-warning) 52%, var(--bs-border-color));
	background: color-mix(in srgb, var(--bs-warning) 24%, var(--bs-body-bg));
}

.bsa-total-chip-rrp {
	border-color: color-mix(in srgb, var(--bs-success) 42%, var(--bs-border-color));
	background: color-mix(in srgb, var(--bs-success) 16%, var(--bs-body-bg));
}

.bsa-total-chip-rrp .bsa-total-value {
	color: var(--bs-success-text-emphasis);
}

[data-bs-theme="light"] .bsa-total-chip-rrp {
	border-color: color-mix(in srgb, var(--bs-success) 52%, var(--bs-border-color));
	background: color-mix(in srgb, var(--bs-success) 22%, var(--bs-body-bg));
}

.bsa-weapon-preview-panel {
	border: 1px solid var(--bs-border-color);
	border-radius: var(--bs-border-radius);
	height: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--bs-tertiary-bg);
	--bsa-weapon-panel-blend: 78%;
}


.bsa-preview-col,
.bsa-stats-col {
	display: flex;
}


.bsa-preview-col .bsa-weapon-preview-panel,
.bsa-stats-col .bsa-stats-panel {
	width: 100%;
}

@media (min-width: 992px) {
	.bsa-preview-stats-row {
		--bsa-preview-panel-max-height: 360px;
	}

	.bsa-preview-stats-row .bsa-preview-col .bsa-weapon-preview-panel,
	.bsa-preview-stats-row .bsa-stats-col .bsa-stats-panel {
		max-height: var(--bsa-preview-panel-max-height);
	}

	.bsa-preview-stats-row .bsa-stats-col .bsa-stats-panel {
		overflow-y: auto;
	}

	.bsa-preview-stats-row .bsa-preview-col .bsa-weapon-preview-image {
		max-height: calc(var(--bsa-preview-panel-max-height) - 16px);
	}
}

.bsa-weapon-preview-panel.bsa-weapon-category-revolver {
	background: color-mix(in srgb, #dd7e6b var(--bsa-weapon-panel-blend), var(--bs-body-bg));
}

.bsa-weapon-preview-panel.bsa-weapon-category-pistol {
	background: color-mix(in srgb, #ea9999 var(--bsa-weapon-panel-blend), var(--bs-body-bg));
}

.bsa-weapon-preview-panel.bsa-weapon-category-smg {
	background: color-mix(in srgb, #ffe599 var(--bsa-weapon-panel-blend), var(--bs-body-bg));
}

.bsa-weapon-preview-panel.bsa-weapon-category-rifle {
	background: color-mix(in srgb, #a4c2f4 var(--bsa-weapon-panel-blend), var(--bs-body-bg));
}

.bsa-weapon-preview-panel.bsa-weapon-category-shotgun {
	background: color-mix(in srgb, #f9cb9c var(--bsa-weapon-panel-blend), var(--bs-body-bg));
}

.bsa-weapon-preview-panel.bsa-weapon-category-sniper {
	background: color-mix(in srgb, #b4a7d6 var(--bsa-weapon-panel-blend), var(--bs-body-bg));
}

.bsa-weapon-preview-panel.bsa-weapon-category-grenade {
	background: color-mix(in srgb, #d5a6bd var(--bsa-weapon-panel-blend), var(--bs-body-bg));
}

[data-bs-theme="dark"] .bsa-weapon-preview-panel {
	--bsa-weapon-panel-blend: 58%;
}

.bsa-weapon-preview {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 8px;
}

.bsa-weapon-preview-image {
	display: block;
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
}

.bsa-stats-panel {
	border: 1px solid var(--bs-border-color);
	border-radius: var(--bs-border-radius);
	padding: 12px;
	background: var(--bs-body-bg);
}

.bsa-stat-row {
	display: grid;
	gap: 4px;
}

.bsa-stat-meta {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 8px;
	font-size: 0.875rem;
}

.bsa-stat-track {
	height: 8px;
	border-radius: 999px;
	overflow: hidden;
	background: var(--bs-secondary-bg);
	position: relative;
}

.bsa-stat-layer {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 0;
	border-radius: 999px;
	transition: width 300ms ease, left 300ms ease;
}

.bsa-stat-base {
	background: color-mix(in srgb, var(--bs-secondary-color) 30%, transparent);
}

.bsa-stat-final {
	background: color-mix(in srgb, var(--bs-primary) 60%, transparent);
}

.bsa-stat-delta {
	z-index: 3;
}

.bsa-stat-delta-improve {
	background: var(--bs-success);
}

.bsa-stat-delta-regress {
	background: var(--bs-danger);
}

.bsa-stat-delta-neutral {
	background: transparent;
}

.bsa-fill-p0 { width: 0%; }
.bsa-fill-p5 { width: 5%; }
.bsa-fill-p10 { width: 10%; }
.bsa-fill-p15 { width: 15%; }
.bsa-fill-p20 { width: 20%; }
.bsa-fill-p25 { width: 25%; }
.bsa-fill-p30 { width: 30%; }
.bsa-fill-p35 { width: 35%; }
.bsa-fill-p40 { width: 40%; }
.bsa-fill-p45 { width: 45%; }
.bsa-fill-p50 { width: 50%; }
.bsa-fill-p55 { width: 55%; }
.bsa-fill-p60 { width: 60%; }
.bsa-fill-p65 { width: 65%; }
.bsa-fill-p70 { width: 70%; }
.bsa-fill-p75 { width: 75%; }
.bsa-fill-p80 { width: 80%; }
.bsa-fill-p85 { width: 85%; }
.bsa-fill-p90 { width: 90%; }
.bsa-fill-p95 { width: 95%; }
.bsa-fill-p100 { width: 100%; }

.bsa-offset-p0 { left: 0%; }
.bsa-offset-p5 { left: 5%; }
.bsa-offset-p10 { left: 10%; }
.bsa-offset-p15 { left: 15%; }
.bsa-offset-p20 { left: 20%; }
.bsa-offset-p25 { left: 25%; }
.bsa-offset-p30 { left: 30%; }
.bsa-offset-p35 { left: 35%; }
.bsa-offset-p40 { left: 40%; }
.bsa-offset-p45 { left: 45%; }
.bsa-offset-p50 { left: 50%; }
.bsa-offset-p55 { left: 55%; }
.bsa-offset-p60 { left: 60%; }
.bsa-offset-p65 { left: 65%; }
.bsa-offset-p70 { left: 70%; }
.bsa-offset-p75 { left: 75%; }
.bsa-offset-p80 { left: 80%; }
.bsa-offset-p85 { left: 85%; }
.bsa-offset-p90 { left: 90%; }
.bsa-offset-p95 { left: 95%; }
.bsa-offset-p100 { left: 100%; }

.bsa-attachment-card {
	cursor: pointer;
	border: 1px solid var(--bs-border-color);
	transition: box-shadow 160ms ease, border-color 160ms ease, transform 160ms ease;
	height: 100%;
}

.bsa-attachment-card:hover,
.bsa-attachment-card:focus-visible {
	border-color: var(--bs-primary);
	box-shadow: var(--bs-box-shadow-sm);
	transform: translateY(-1px);
}

.bsa-attachment-slot {
	font-size: 0.875rem;
	text-transform: capitalize;
}

.bsa-attachment-name {
	font-weight: 600;
	min-height: 1.5rem;
}

.bsa-selection-option {
	border: 1px solid var(--bs-border-color);
	border-radius: var(--bs-border-radius);
	padding: 8px;
	display: grid;
	gap: 4px;
	cursor: pointer;
	margin-right: 10px;
}

#selection-list {
	max-height: min(50vh, 420px);
	overflow-y: auto;
	padding-right: 8px;
	scrollbar-gutter: stable both-edges;
}

.bsa-kits-modal-content {
	padding-right: 8px;
}

.bsa-selection-option:hover {
	border-color: var(--bs-primary);
}

.bsa-selection-option.active {
	border-color: var(--bs-primary);
	background: var(--bs-tertiary-bg);
}

.bsa-weapon-filter-wrap {
	position: sticky;
	top: 0;
	z-index: 1;
	background: var(--bs-body-bg);
	padding-bottom: 6px;
	margin-right: 10px;
}

.bsa-weapon-list {
	margin-right: 0;
}

.bsa-weapon-modal-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	font-size: 0.8125rem;
	color: var(--bs-secondary-color);
}

.bsa-basket-backdrop {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.45);
	z-index: 1070;
}

.bsa-basket-fab {
	position: fixed;
	right: 16px;
	bottom: 16px;
	width: 52px;
	height: 52px;
	padding: 0;
	border-radius: 999px;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 1090;
	font-size: 1.25rem;
}

.bsa-modal-open {
	overflow: hidden;
}

.bsa-basket-open {
	overflow: hidden;
}

.bsa-app-toast,
.bsa-loadout-toast {
	position: fixed;
	left: 50%;
	bottom: 16px;
	transform: translate(-50%, 120%);
	z-index: 1100;
	padding: 10px 14px;
	border-radius: var(--bs-border-radius);
	box-shadow: var(--bs-box-shadow);
	font-size: 0.9rem;
	max-width: min(92vw, 620px);
	text-align: center;
	pointer-events: none;
	opacity: 0;
}

.bsa-app-toast.is-visible,
.bsa-loadout-toast.is-visible {
	animation: bsa-toast-in 180ms ease-out forwards;
}

.bsa-app-toast.is-hiding,
.bsa-loadout-toast.is-hiding {
	animation: bsa-toast-out 700ms ease-in forwards;
}

@keyframes bsa-toast-in {
	from {
		opacity: 0;
		transform: translate(-50%, 120%);
	}
	to {
		opacity: 1;
		transform: translate(-50%, 0);
	}
}

@keyframes bsa-toast-out {
	from {
		opacity: 1;
		transform: translate(-50%, 0);
	}
	to {
		opacity: 0;
		transform: translate(-50%, 140%);
	}
}

@keyframes bsa-save-fade {
	0% {
		opacity: 1;
	}
	70% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}

@media (max-width: 991.98px) {
	.bsa-shell {
		padding-left: 16px;
		padding-right: 16px;
	}

	.bsa-builder-header {
		top: 0;
	}

	.bsa-sticky-overview {
		position: static;
	}

	.bsa-basket-col {
		position: fixed;
		top: 0;
		right: 0;
		height: 100vh;
		max-width: 420px;
		width: 88vw;
		z-index: 1080;
		padding: 8px;
		transform: translateX(100%);
		transition: transform 220ms ease;
	}

	.bsa-basket-col.is-open {
		transform: translateX(0);
	}

	.bsa-basket-card {
		height: calc(100vh - 16px);
		overflow: auto;
	}
}

@media (min-width: 992px) {
	.bsa-basket-col {
		position: sticky;
		top: 8px;
		align-self: flex-start;
	}

	.bsa-basket-card {
		max-height: calc(100vh - 16px);
		overflow: auto;
	}
}