.bbco-dashboard-shell {
	padding: var(--bbco-space-40) 0 var(--bbco-space-72);
	background:
		linear-gradient(135deg, color-mix(in srgb, var(--bbco-secondary) 10%, transparent), color-mix(in srgb, var(--bbco-accent) 12%, transparent)),
		var(--bbco-bg);
}

.bbco-dashboard-layout {
	display: grid;
	grid-template-columns: 280px minmax(0, 1fr);
	gap: var(--bbco-space-24);
	align-items: start;
}

.bbco-dashboard-nav {
	position: sticky;
	top: var(--bbco-sticky-top);
	padding: var(--bbco-space-20);
}

.bbco-dashboard-nav h1 {
	margin-bottom: var(--bbco-space-16);
	font-size: var(--bbco-text-xl);
}

.bbco-dashboard-nav nav {
	display: grid;
	gap: var(--bbco-space-8);
}

.bbco-dashboard-nav a {
	display: flex;
	align-items: center;
	min-height: 42px;
	border-radius: var(--bbco-radius);
	color: var(--bbco-muted);
	padding: var(--bbco-space-8) var(--bbco-space-12);
	font-weight: var(--bbco-weight-bold);
}

.bbco-dashboard-nav a:hover {
	background: color-mix(in srgb, var(--bbco-secondary) 8%, transparent);
	color: var(--bbco-secondary);
}

.bbco-dashboard-content {
	display: grid;
	gap: var(--bbco-space-20);
}

.bbco-dashboard-welcome {
	padding: var(--bbco-space-24);
}

.bbco-dashboard-welcome h2 {
	margin-bottom: var(--bbco-space-8);
}

.bbco-dashboard-welcome p {
	max-width: 720px;
	margin-bottom: 0;
	color: var(--bbco-muted);
}

.bbco-dashboard-cards {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--bbco-space-16);
}

.bbco-dashboard-card {
	min-height: 148px;
	padding: var(--bbco-space-20);
}

.bbco-dashboard-card h3 {
	margin-bottom: var(--bbco-space-8);
}

.bbco-dashboard-card p {
	margin-bottom: 0;
	color: var(--bbco-muted);
}

.bbco-dashboard-placeholder {
	display: grid;
	gap: var(--bbco-space-16);
}

.bbco-dashboard-nav a.is-active,
.bbco-dashboard-nav a[aria-current="page"] {
	background: color-mix(in srgb, var(--bbco-secondary) 10%, var(--bbco-surface));
	color: var(--bbco-secondary);
	box-shadow: inset 3px 0 0 var(--bbco-secondary);
}

.bbco-dashboard-nav a:focus-visible {
	outline: 3px solid color-mix(in srgb, var(--bbco-secondary) 25%, transparent);
	outline-offset: 2px;
}

.bbco-auth-shell__inner {
	max-width: 940px;
}

.bbco-auth {
	display: grid;
	grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
	overflow: hidden;
	border: 1px solid var(--bbco-border);
	border-radius: var(--bbco-radius-lg);
	background: var(--bbco-surface);
	box-shadow: var(--bbco-shadow-md);
}

.bbco-auth__brand {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: var(--bbco-space-32);
	padding: var(--bbco-space-40);
	background: var(--bbco-secondary);
	color: var(--bbco-surface);
}

.bbco-auth__logo {
	display: inline-flex;
	align-items: center;
	color: var(--bbco-surface);
	font-size: var(--bbco-text-lg);
	font-weight: var(--bbco-weight-bold);
}

.bbco-auth__logo-image {
	display: block;
	width: auto;
	max-width: 180px;
	max-height: 64px;
	object-fit: contain;
}

.bbco-auth__brand-title {
	margin: var(--bbco-space-16) 0 var(--bbco-space-8);
	color: var(--bbco-surface);
	font-size: var(--bbco-text-xl);
	line-height: 1.2;
}

.bbco-auth__brand-sub {
	margin: 0;
	color: var(--bbco-surface);
}

.bbco-auth__points {
	display: grid;
	gap: var(--bbco-space-12);
	margin: 0;
	padding: 0;
	list-style: none;
}

.bbco-auth__points li {
	display: flex;
	align-items: center;
	gap: var(--bbco-space-8);
	color: var(--bbco-surface);
	font-weight: var(--bbco-weight-semibold);
}

.bbco-auth__points svg {
	width: 22px;
	height: 22px;
	flex: 0 0 auto;
	padding: 4px;
	border-radius: var(--bbco-radius-pill);
	background: transparent;
	fill: none;
	color: var(--bbco-surface);
	stroke: currentColor;
	stroke-width: 2.5;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.bbco-auth__form {
	padding: var(--bbco-space-40);
}

.bbco-auth__title {
	margin: var(--bbco-space-8) 0 0;
	font-size: var(--bbco-text-2xl);
}

.bbco-auth__sub {
	margin: var(--bbco-space-8) 0 var(--bbco-space-24);
	color: var(--bbco-muted);
}

.bbco-auth__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--bbco-space-12);
	flex-wrap: wrap;
}

.bbco-auth__link {
	color: var(--bbco-primary);
	font-weight: var(--bbco-weight-semibold);
	font-size: var(--bbco-text-sm);
}

.bbco-auth__alt {
	margin: var(--bbco-space-20) 0 0;
	color: var(--bbco-muted);
	font-size: var(--bbco-text-sm);
}

.bbco-auth__alt a {
	color: var(--bbco-primary);
	font-weight: var(--bbco-weight-bold);
}

.bbco-auth__row2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--bbco-space-16);
}

.bbco-auth__note {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: var(--bbco-space-8);
	margin-top: var(--bbco-space-20);
	padding: var(--bbco-space-12) var(--bbco-space-16);
	border: 1px solid var(--bbco-border);
	border-radius: var(--bbco-radius);
	background: var(--bbco-soft-alt);
}

.bbco-auth__note strong {
	display: block;
	color: var(--bbco-ink);
}

.bbco-auth__note span {
	display: block;
	color: var(--bbco-muted);
	font-size: var(--bbco-text-sm);
}

@media (max-width: 720px) {
	.bbco-auth {
		grid-template-columns: 1fr;
	}

	.bbco-auth__brand,
	.bbco-auth__form {
		padding: var(--bbco-space-24);
	}

	.bbco-auth__row2 {
		grid-template-columns: 1fr;
	}
}

.bbco-auth-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(280px, 0.92fr);
	gap: var(--bbco-space-20);
	align-items: stretch;
}

.bbco-auth-card,
.bbco-core-gate {
	padding: var(--bbco-space-24);
}

.bbco-auth-card--seller {
	background: color-mix(in srgb, var(--bbco-accent) 10%, var(--bbco-surface));
}

.bbco-auth-card__footer,
.bbco-core-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--bbco-space-12);
	margin-top: var(--bbco-space-16);
}

.bbco-auth-card__footer a {
	color: var(--bbco-secondary);
	font-weight: var(--bbco-weight-bold);
}

.bbco-core-check {
	display: inline-flex;
	align-items: center;
	gap: var(--bbco-space-8);
}

.bbco-core-check input {
	width: auto;
	min-height: 0;
	margin: 0;
}

.bbco-core-notice {
	border: 1px solid var(--bbco-border);
	border-radius: var(--bbco-radius);
	background: var(--bbco-soft-alt);
	padding: var(--bbco-space-12) var(--bbco-space-16);
	font-weight: var(--bbco-weight-bold);
}

.bbco-core-notice--error {
	border-color: color-mix(in srgb, var(--bbco-primary) 28%, var(--bbco-border));
	background: color-mix(in srgb, var(--bbco-primary) 8%, var(--bbco-surface));
	color: var(--bbco-primary);
}
