:root[data-bs-theme="dark"] {
	color-scheme: dark;
	--ws-sidebar-width: 300px;
	--ws-primary: #43a047;
	--ws-primary-rgb: 67, 160, 71;
	--ws-primary-hover: #2e7d32;
	--ws-primary-active: #1b5e20;
	--ws-primary-subtle: #1b2e1c;
	--ws-primary-subtle-rgb: 27, 46, 28;
	--ws-primary-text: #6fcf73;
	--ws-disabled-bg: #2f6f35;
	--ws-disabled-border: #3d8544;
	--ws-disabled-color: #e8f5e9;
	--ws-selection-bg: #1b3a20;
	--ws-selection-border: #43a047;
	--ws-pitch-label-color: #12351b;
	--ws-body-bg: #0f1410;
	--ws-body-color: #d8ded8;
	--ws-card-bg: #1a201b;
	--ws-card-border: #2a312b;
	--ws-navbar-bg: #161c17;
	--ws-sidebar-bg: #161c17;
	--ws-sidebar-border: #2a312b;
	--ws-footer-bg: #161c17;
	--ws-footer-border: #2a312b;
	--ws-muted-bg: #1e2520;
	--ws-muted-color: #9aa39c;
	--ws-input-bg: #0b0f0c;
	--ws-border-color: #2a312b;
	--ws-shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);
	--ws-shadow: 0 2px 8px rgba(0, 0, 0, .35);
	--ws-shadow-lg: 0 8px 24px rgba(0, 0, 0, .45);
	--bs-primary: var(--ws-primary);
	--bs-primary-rgb: var(--ws-primary-rgb);
	--bs-emphasis-color: var(--ws-body-color);
	--bs-body-bg: var(--ws-body-bg);
	--bs-body-color: var(--ws-body-color);
	--bs-border-color: var(--ws-border-color);
	--bs-secondary-color: var(--ws-muted-color);
	--bs-link-color: var(--ws-primary-text);
	--bs-link-hover-color: #8dd991;
	--bs-navbar-color: var(--ws-body-color);
}

:root[data-bs-theme="light"] {
	color-scheme: light;
	--ws-sidebar-width: 300px;
	--ws-primary: #1b5e20;
	--ws-primary-rgb: 27, 94, 32;
	--ws-primary-hover: #164a1a;
	--ws-primary-active: #0f3a13;
	--ws-primary-subtle: #e8f5e9;
	--ws-primary-subtle-rgb: 232, 245, 233;
	--ws-primary-text: #1b5e20;
	--ws-disabled-bg: #6b9f6e;
	--ws-disabled-border: #5d8f60;
	--ws-disabled-color: #ffffff;
	--ws-selection-bg: #e8f5e9;
	--ws-selection-border: #81c784;
	--ws-pitch-label-color: #12351b;
	--ws-body-bg: #f5f7f6;
	--ws-body-color: #1a1d1a;
	--ws-card-bg: #ffffff;
	--ws-card-border: #e0e3e0;
	--ws-navbar-bg: #ffffff;
	--ws-sidebar-bg: #ffffff;
	--ws-sidebar-border: #e0e3e0;
	--ws-footer-bg: #ffffff;
	--ws-footer-border: #e0e3e0;
	--ws-muted-bg: #f0f2f1;
	--ws-muted-color: #6c757d;
	--ws-input-bg: #ffffff;
	--ws-border-color: #d0d4d1;
	--ws-shadow-sm: 0 1px 2px rgba(0, 0, 0, .06);
	--ws-shadow: 0 2px 8px rgba(0, 0, 0, .08);
	--ws-shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);
	--bs-primary: var(--ws-primary);
	--bs-primary-rgb: var(--ws-primary-rgb);
	--bs-emphasis-color: var(--ws-body-color);
	--bs-body-bg: var(--ws-body-bg);
	--bs-body-color: var(--ws-body-color);
	--bs-border-color: var(--ws-border-color);
	--bs-secondary-color: var(--ws-muted-color);
	--bs-link-color: var(--ws-primary);
	--bs-link-hover-color: var(--ws-primary-hover);
	--bs-navbar-color: var(--ws-body-color);
}

.finance-overview,
.finance-position-summary {
	margin: 1.5rem 0;
	padding: 1rem;
	border: 1px solid var(--ws-card-border);
	border-radius: .75rem;
	background: var(--ws-card-bg);
	box-shadow: var(--ws-shadow-sm);
}

.finance-overview h4,
.finance-position-summary h4 {
	margin-bottom: 1rem;
}

.finance-chart-legend {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	margin-bottom: .5rem;
	color: var(--ws-muted-color);
	font-size: .9rem;
}

.finance-chart-legend span {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
}

.finance-chart-legend i {
	display: inline-block;
	width: .75rem;
	height: .75rem;
	border-radius: .2rem;
}

.finance-chart-legend-income {
	background: #43a047;
}

.finance-chart-legend-expenses {
	background: #e05252;
}

.finance-chart {
	display: block;
	width: 100%;
	height: auto;
	overflow: visible;
}

.finance-chart-grid {
	stroke: var(--ws-card-border);
	stroke-width: 1;
}

.finance-chart-income {
	fill: #43a047;
}

.finance-chart-expenses {
	fill: #e05252;
}

.finance-chart-label {
	fill: var(--ws-muted-color);
	font-size: 11px;
}

.ws-sidebar-usercard {
	margin: .75rem .55rem .85rem;
	padding: .65rem;
	overflow: hidden;
	border: 1px solid var(--ws-sidebar-border);
	border-radius: .9rem;
	border-bottom: 1px solid var(--ws-sidebar-border);
	background: linear-gradient(145deg, var(--ws-card-bg), var(--ws-muted-bg));
	box-shadow: var(--ws-shadow);
}

.ws-sidebar-usercard-header {
	gap: .7rem;
	min-height: 0;
	padding: .15rem .1rem .75rem;
	border-bottom: 1px solid var(--ws-sidebar-border);
}

.ws-sidebar-avatar {
	box-shadow: 0 0 0 2px var(--ws-primary), 0 0 0 4px var(--ws-primary-subtle);
}

.ws-sidebar-usercard-identity {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.ws-sidebar-user-name {
	max-width: 100%;
	font-size: .72rem;
	letter-spacing: .025em;
}

.ws-sidebar-team {
	min-height: 32px;
	gap: .45rem;
	margin-top: .35rem;
	padding: .32rem .45rem;
	border: 1px solid var(--ws-selection-border);
	border-radius: .5rem;
	background: var(--ws-primary-subtle);
	color: var(--ws-primary-text);
	font-size: .84rem;
}

.ws-sidebar-team .ws-avatar-20 {
	flex: 0 0 20px;
}

.ws-sidebar-usercard-details {
	display: flex;
	flex-direction: column;
	gap: .38rem;
	padding-top: .65rem;
}

.ws-sidebar-account-row {
	grid-template-columns: 1.75rem minmax(0, 1fr);
	gap: .55rem;
	min-height: 54px;
	padding: .48rem .55rem;
	border: 1px solid var(--ws-sidebar-border);
	border-radius: .6rem;
	background: var(--ws-card-bg);
	box-shadow: var(--ws-shadow-sm);
	transition: border-color .15s ease, background-color .15s ease, transform .15s ease;
}

.ws-sidebar-account-row:hover,
.ws-sidebar-account-row:focus {
	transform: translateY(-1px);
	border-color: var(--ws-selection-border);
	background: var(--ws-primary-subtle);
}

.ws-sidebar-account-icon,
.ws-sidebar-inbox-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.65rem;
	height: 1.65rem;
	border-radius: .48rem;
	background: var(--ws-primary-subtle);
	color: var(--ws-primary-text);
}

.ws-sidebar-account-row small {
	margin-bottom: .15rem;
	color: var(--ws-muted-color);
	font-size: .67rem;
	font-weight: 600;
	letter-spacing: .035em;
	text-transform: uppercase;
}

.ws-sidebar-account-row .ws-sidebar-metric {
	color: var(--ws-body-color);
	font-size: .86rem;
	font-weight: 700;
}

.ws-sidebar-league-summary {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .4rem;
}

.ws-sidebar-rank {
	color: var(--ws-body-color);
	font-size: .9rem;
}

.ws-sidebar-strength {
	color: var(--ws-muted-color);
	font-size: .72rem;
	white-space: nowrap;
}

.ws-sidebar-strength strong {
	display: inline;
	color: var(--ws-body-color);
	font-size: .78rem;
}

.ws-sidebar-lineup-badge {
	padding: .22rem .45rem;
	font-size: .68rem;
	letter-spacing: .025em;
}

.ws-sidebar-inbox {
	grid-template-columns: minmax(0, 1fr);
	gap: .38rem;
	margin-top: .25rem;
}

.ws-sidebar-inbox-link {
	grid-template-columns: 1.75rem minmax(0, 1fr) auto;
	gap: .55rem;
	min-height: 42px;
	padding: .38rem .55rem;
	border-color: var(--ws-sidebar-border);
	border-radius: .6rem;
	background: var(--ws-card-bg);
	font-size: .78rem;
	transition: border-color .15s ease, background-color .15s ease;
}

.ws-sidebar-inbox-link:hover,
.ws-sidebar-inbox-link:focus,
.ws-sidebar-profile-link:hover,
.ws-sidebar-profile-link:focus {
	border-color: var(--ws-selection-border);
	background: var(--ws-primary-subtle);
}

.ws-sidebar-inbox-link .badge {
	min-width: 1.35rem;
}

.ws-sidebar-profile-link {
	justify-content: flex-start;
	gap: .55rem;
	min-height: 40px;
	margin-top: .05rem;
	padding: .35rem .55rem;
	border: 1px solid transparent;
	border-radius: .6rem;
	font-size: .76rem;
	transition: border-color .15s ease, background-color .15s ease;
}

.ws-sidebar:has(.ws-sidebar-desktop-toggle[aria-expanded="false"]) .ws-sidebar-usercard {
	margin: .45rem .2rem .6rem;
	padding: .2rem;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.ws-sidebar:has(.ws-sidebar-desktop-toggle[aria-expanded="false"]) .ws-sidebar-usercard-header {
	padding: .35rem 0;
	border-bottom: 0;
}

@media (max-width: 991.98px) {
	.ws-sidebar-usercard {
		margin: .55rem;
	}
}
