/**
 * Lifetimepool Manager Public Stylesheet (Mobile-First Responsive)
 *
 * Scoped strictly to .lpm-public-league-container, .lpm-roster-viewer,
 * .lpm-standings-wrapper, and .lpm-players-wrapper.
 */

.lpm-public-league-container {
	max-width: 1200px !important;
	width: 100% !important;
	margin: 20px auto !important;
	padding: 0 16px !important;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	color: #1e293b;
	box-sizing: border-box !important;
	clear: both !important;
}

.lpm-public-league-container *,
.lpm-public-league-container *::before,
.lpm-public-league-container *::after {
	box-sizing: border-box !important;
}

.lpm-roster-viewer {
	max-width: 1200px;
	margin: 20px auto;
	padding: 0 16px;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	color: #1e293b;
	box-sizing: border-box;
	width: 100%;
}

.lpm-roster-viewer *,
.lpm-roster-viewer *::before,
.lpm-roster-viewer *::after {
	box-sizing: border-box;
}

/* Selector Bar */
.lpm-roster-viewer .lpm-team-selector-bar {
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	padding: 14px 18px;
	margin-bottom: 20px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}

.lpm-roster-viewer .lpm-team-select-form {
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
	flex-wrap: wrap;
}

.lpm-roster-viewer .lpm-selector-label {
	font-weight: 600;
	font-size: 14px;
	color: #475569;
}

.lpm-roster-viewer .lpm-team-dropdown {
	padding: 9px 14px;
	border: 1px solid #cbd5e1;
	border-radius: 6px;
	background: #ffffff;
	font-size: 14px;
	font-weight: 600;
	color: #0f172a;
	min-width: 240px;
	cursor: pointer;
	max-width: 100%;
}

.lpm-roster-viewer .lpm-team-dropdown:focus {
	outline: none;
	border-color: #2563eb;
	box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.2);
}

/* Team Header Banner */
.lpm-roster-viewer .lpm-team-banner {
	background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
	color: #ffffff !important;
	border-radius: 10px;
	padding: 24px;
	margin-bottom: 28px;
	display: flex;
	align-items: center;
	gap: 20px;
	box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.15);
}

.lpm-roster-viewer .lpm-team-logo-box {
	width: 72px;
	height: 72px;
	background: #ffffff;
	border-radius: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 6px;
	flex-shrink: 0;
}

.lpm-roster-viewer .lpm-team-logo {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}

.lpm-roster-viewer .lpm-team-banner-meta {
	display: flex;
	flex-direction: column;
	gap: 6px;
	flex-grow: 1;
}

/* Prominent PDF Download Controls Section */
.lpm-roster-viewer .lpm-roster-downloads-section {
	margin-bottom: 22px;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	padding: 14px 18px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

.lpm-roster-viewer .lpm-downloads-group {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
}

.lpm-roster-viewer .lpm-btn-download-pdf {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	padding: 11px 22px;
	border-radius: 7px;
	font-size: 14.5px;
	font-weight: 700;
	line-height: 1.4;
	text-decoration: none !important;
	cursor: pointer;
	transition: all 0.2s ease-in-out;
	white-space: nowrap;
}

/* Primary Button: Complete League PDF */
.lpm-roster-viewer .lpm-btn-download-league {
	background: linear-gradient(135deg, #0b2341 0%, #173b66 100%);
	color: #ffffff !important;
	border: 1px solid #0b2341;
	box-shadow: 0 2px 5px rgba(11, 35, 65, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.15);
}

.lpm-roster-viewer .lpm-btn-download-league:hover {
	background: linear-gradient(135deg, #13335a 0%, #1e4a80 100%);
	color: #ffffff !important;
	transform: translateY(-1px);
	box-shadow: 0 4px 10px rgba(11, 35, 65, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.25);
}

.lpm-roster-viewer .lpm-btn-download-league:active {
	transform: translateY(0);
	box-shadow: 0 1px 3px rgba(11, 35, 65, 0.2);
}

/* Secondary Button: Individual Franchise PDF */
.lpm-roster-viewer .lpm-btn-download-franchise {
	background: #ffffff;
	color: #0b2341 !important;
	border: 2px solid #1d4ed8;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.06);
}

.lpm-roster-viewer .lpm-btn-download-franchise:hover {
	background: #eff6ff;
	color: #1d4ed8 !important;
	border-color: #2563eb;
	transform: translateY(-1px);
	box-shadow: 0 4px 8px rgba(29, 78, 216, 0.15);
}

.lpm-roster-viewer .lpm-btn-download-franchise:active {
	transform: translateY(0);
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.lpm-roster-viewer .lpm-btn-icon {
	font-size: 16px;
	line-height: 1;
	display: inline-block;
}

/* Guaranteed White Franchise Heading (overrides Pagelayer/WordPress theme h2 defaults) */
.lpm-roster-viewer .lpm-team-banner h2.lpm-team-title,
.lpm-roster-viewer h2.lpm-team-title,
.lpm-roster-viewer .lpm-team-title {
	margin: 0 !important;
	padding: 0 !important;
	font-size: 26px !important;
	font-weight: 700 !important;
	color: #ffffff !important;
	line-height: 1.25 !important;
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

.lpm-roster-viewer .lpm-team-code-pill {
	background: #2563eb;
	color: #ffffff !important;
	font-size: 13px;
	font-weight: 700;
	padding: 3px 9px;
	border-radius: 4px;
	letter-spacing: 0.5px;
	display: inline-block;
}

.lpm-roster-viewer .lpm-team-submeta {
	display: flex;
	gap: 20px;
	font-size: 14px;
	color: #e2e8f0 !important;
	flex-wrap: wrap;
	margin-top: 4px;
}

.lpm-roster-viewer .lpm-team-submeta strong {
	color: #ffffff !important;
	font-weight: 600;
}

.lpm-roster-viewer .lpm-meta-item {
	display: inline-flex;
	align-items: center;
	gap: 5px;
}

/* Roster Positional Sections */
.lpm-roster-viewer .lpm-roster-group {
	margin-bottom: 32px;
}

.lpm-roster-viewer .lpm-group-header {
	margin-bottom: 14px;
	border-bottom: 2px solid #e2e8f0;
	padding-bottom: 8px;
}

.lpm-roster-viewer .lpm-group-header h3 {
	margin: 0 !important;
	font-size: 19px !important;
	font-weight: 700 !important;
	color: #0f172a !important;
	display: flex;
	align-items: center;
	gap: 8px;
}

.lpm-roster-viewer .lpm-group-icon {
	font-size: 20px;
}

.lpm-roster-viewer .lpm-count-badge {
	background: #e2e8f0;
	color: #1e293b;
	font-size: 12px;
	font-weight: 700;
	padding: 2px 9px;
	border-radius: 12px;
	margin-left: 6px;
}

.lpm-roster-viewer .lpm-empty-group-note {
	background: #f8fafc;
	border: 1px dashed #cbd5e1;
	border-radius: 6px;
	padding: 16px;
	color: #64748b;
	font-size: 14px;
	font-style: italic;
}

/* Responsive Player Cards Grid */
.lpm-roster-viewer .lpm-cards-container {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
	gap: 14px;
	width: 100%;
}

.lpm-roster-viewer .lpm-player-card {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	padding: 14px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 10px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
	transition: transform 0.15s ease, box-shadow 0.15s ease;
	min-width: 0; /* Prevents flexbox item overflow */
}

.lpm-roster-viewer .lpm-player-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
	border-color: #cbd5e1;
}

.lpm-roster-viewer .lpm-player-card-header {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
}

.lpm-roster-viewer .lpm-pos-pill {
	width: 32px;
	height: 32px;
	border-radius: 6px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 800;
	font-size: 13px;
	flex-shrink: 0;
}

.lpm-roster-viewer .lpm-pos-f {
	background: #dbeafe;
	color: #1d4ed8;
}

.lpm-roster-viewer .lpm-pos-d {
	background: #fef3c7;
	color: #b45309;
}

.lpm-roster-viewer .lpm-pos-g {
	background: #dcfce7;
	color: #15803d;
}

.lpm-roster-viewer .lpm-player-name-box {
	display: flex;
	flex-direction: column;
	min-width: 0;
	flex-grow: 1;
}

.lpm-roster-viewer .lpm-player-name {
	font-weight: 700;
	font-size: 15px;
	color: #0f172a;
	line-height: 1.25;
	word-break: break-word;
	overflow-wrap: break-word;
}

.lpm-roster-viewer .lpm-jersey-badge {
	font-size: 12px;
	font-weight: 600;
	color: #64748b;
}

.lpm-roster-viewer .lpm-player-card-meta {
	display: flex;
	align-items: center;
	gap: 6px;
	flex-wrap: wrap;
	padding-top: 8px;
	border-top: 1px solid #f1f5f9;
}

.lpm-roster-viewer .lpm-nhl-team-pill {
	background: #f1f5f9;
	color: #334155;
	font-size: 11px;
	font-weight: 700;
	padding: 2px 7px;
	border-radius: 4px;
	letter-spacing: 0.5px;
}

.lpm-roster-viewer .lpm-status-pill {
	margin-left: auto;
	font-size: 11px;
	font-weight: 600;
	color: #64748b;
}

/* Mobile & Tablet Optimizations */
@media (max-width: 768px) {
	.lpm-roster-viewer .lpm-downloads-group {
		flex-direction: column;
		width: 100%;
		gap: 10px;
	}
	.lpm-roster-viewer .lpm-btn-download-pdf {
		width: 100%;
		justify-content: center;
		padding: 13px 18px;
		font-size: 14px;
		white-space: normal;
		text-align: center;
	}
	.lpm-roster-viewer .lpm-team-banner {
		padding: 20px;
		gap: 16px;
	}
	.lpm-roster-viewer .lpm-team-banner h2.lpm-team-title {
		font-size: 22px !important;
	}
}

@media (max-width: 600px) {
	.lpm-roster-viewer {
		padding: 0 8px;
		margin: 14px auto;
	}
	.lpm-roster-viewer .lpm-cards-container {
		grid-template-columns: 1fr;
		gap: 10px;
	}
	.lpm-roster-viewer .lpm-team-banner {
		flex-direction: column;
		align-items: flex-start;
		padding: 16px;
		gap: 14px;
	}
	.lpm-roster-viewer .lpm-team-logo-box {
		width: 60px;
		height: 60px;
	}
	.lpm-roster-viewer .lpm-team-banner h2.lpm-team-title {
		font-size: 20px !important;
	}
	.lpm-roster-viewer .lpm-team-dropdown {
		width: 100%;
		min-width: 0;
	}
	.lpm-roster-viewer .lpm-team-submeta {
		flex-direction: column;
		gap: 6px;
	}
}

/* Compact Team Scoring Summary (in Banner) */
.lpm-roster-viewer .lpm-scoring-summary-box {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
	gap: 10px;
	margin-top: 14px;
	width: 100%;
}

.lpm-roster-viewer .lpm-score-pill {
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.15);
	border-radius: 8px;
	padding: 8px 12px;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.lpm-roster-viewer .lpm-score-pill.lpm-score-total {
	background: rgba(37, 99, 235, 0.3);
	border-color: #3b82f6;
}

.lpm-roster-viewer .lpm-score-label {
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: #94a3b8;
	font-weight: 600;
}

.lpm-roster-viewer .lpm-score-pill.lpm-score-total .lpm-score-label {
	color: #bfdbfe;
}

.lpm-roster-viewer .lpm-score-val {
	font-size: 20px;
	font-weight: 800;
	color: #ffffff;
	line-height: 1.1;
}

.lpm-roster-viewer .lpm-quota-badge {
	background: #f1f5f9;
	color: #475569;
	font-size: 12px;
	font-weight: 600;
	padding: 2px 8px;
	border-radius: 6px;
	margin-left: 8px;
}

/* Card Counting Status & Scoring */
.lpm-roster-viewer .lpm-player-card-scoring {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-top: 8px;
	border-top: 1px solid #f1f5f9;
}

.lpm-roster-viewer .lpm-fp-score {
	font-size: 15px;
	color: #0f172a;
}

.lpm-roster-viewer .lpm-fp-score strong {
	font-weight: 800;
	font-size: 16px;
}

.lpm-roster-viewer .lpm-fp-score small {
	font-size: 11px;
	color: #64748b;
	font-weight: 600;
}

.lpm-roster-viewer .lpm-counting-badge {
	font-size: 11px;
	font-weight: 700;
	padding: 2px 8px;
	border-radius: 12px;
	text-transform: uppercase;
	letter-spacing: 0.3px;
}

.lpm-roster-viewer .lpm-badge-counting {
	background: #dcfce7;
	color: #15803d;
	border: 1px solid #bbf7d0;
}

.lpm-roster-viewer .lpm-badge-noncounting {
	background: #f1f5f9;
	color: #64748b;
	border: 1px solid #e2e8f0;
}

.lpm-roster-viewer .lpm-card-counting {
	border-left: 3px solid #22c55e;
}

.lpm-roster-viewer .lpm-card-noncounting {
	border-left: 3px solid #cbd5e1;
	opacity: 0.92;
}

/* ==========================================================================
   League Standings Shortcode Styles [lifetimepool_standings]
   ========================================================================== */

.lpm-standings-wrapper {
	max-width: 1200px;
	margin: 20px auto;
	padding: 0 16px;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	color: #1e293b;
	box-sizing: border-box;
	width: 100%;
}

.lpm-standings-wrapper *,
.lpm-standings-wrapper *::before,
.lpm-standings-wrapper *::after {
	box-sizing: border-box;
}

.lpm-standings-header {
	background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
	border-radius: 10px;
	padding: 22px 24px;
	margin-bottom: 24px;
	box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.15);
}

.lpm-standings-title-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 14px;
}

.lpm-standings-heading {
	margin: 0 !important;
	padding: 0 !important;
	font-size: 24px !important;
	font-weight: 700 !important;
	color: #ffffff !important;
	line-height: 1.25 !important;
}

.lpm-standings-meta-pills {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

.lpm-meta-pill {
	background: rgba(255, 255, 255, 0.12);
	color: #e2e8f0;
	font-size: 13px;
	font-weight: 500;
	padding: 5px 12px;
	border-radius: 20px;
	border: 1px solid rgba(255, 255, 255, 0.15);
}

.lpm-meta-pill strong {
	color: #ffffff;
}

.lpm-meta-pill.lpm-pill-freshness {
	background: rgba(37, 99, 235, 0.3);
	border-color: #3b82f6;
	color: #bfdbfe;
}

/* Awaiting Stats Alert Card */
.lpm-awaiting-stats-card {
	background: #f8fafc;
	border: 2px dashed #cbd5e1;
	border-radius: 12px;
	padding: 48px 24px;
	text-align: center;
	margin: 20px 0;
}

.lpm-awaiting-icon {
	font-size: 42px;
	margin-bottom: 12px;
}

.lpm-awaiting-stats-card h3 {
	font-size: 22px;
	font-weight: 700;
	color: #1e293b;
	margin: 0 0 10px 0;
}

.lpm-awaiting-stats-card p {
	font-size: 15px;
	color: #64748b;
	max-width: 600px;
	margin: 0 auto;
	line-height: 1.5;
}

/* Standings Table */
.lpm-table-responsive {
	overflow-x: auto;
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
	margin-bottom: 16px;
}

.lpm-standings-table {
	width: 100%;
	border-collapse: collapse;
	text-align: left;
	font-size: 14px;
}

.lpm-standings-table th {
	background: #f8fafc;
	color: #475569;
	font-weight: 700;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	padding: 14px 16px;
	border-bottom: 2px solid #e2e8f0;
	white-space: nowrap;
}

.lpm-standings-table td {
	padding: 14px 16px;
	border-bottom: 1px solid #f1f5f9;
	vertical-align: middle;
}

.lpm-standings-table tbody tr:hover {
	background: #f8fafc;
}

/* Rank column */
.lpm-standings-table .col-rank {
	width: 60px;
	text-align: center;
}

.lpm-rank-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: #f1f5f9;
	color: #334155;
	font-weight: 800;
	font-size: 13px;
}

.lpm-rank-badge.lpm-rank-gold {
	background: #fef08a;
	color: #854d0e;
	box-shadow: 0 0 0 2px #facc15;
}

/* Franchise cell */
.lpm-team-cell-link {
	display: flex;
	align-items: center;
	gap: 12px;
	text-decoration: none !important;
	color: inherit;
}

.lpm-standings-logo {
	width: 38px;
	height: 38px;
	object-fit: contain;
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 6px;
	padding: 3px;
	flex-shrink: 0;
}

.lpm-standings-team-info {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}

.lpm-standings-team-name {
	font-weight: 700;
	color: #0f172a;
	font-size: 15px;
}

.lpm-standings-manager {
	font-size: 12px;
	color: #64748b;
	font-weight: 500;
}

/* Points columns */
.lpm-standings-table .col-points {
	text-align: right;
	font-variant-numeric: tabular-nums;
}

.lpm-standings-table .col-total {
	font-size: 16px;
	color: #0f172a;
}

.lpm-standings-table .col-behind {
	text-align: right;
	font-variant-numeric: tabular-nums;
	color: #64748b;
	font-weight: 600;
	width: 90px;
}

.lpm-behind-val {
	background: #f1f5f9;
	padding: 3px 8px;
	border-radius: 4px;
	font-size: 12px;
}

/* Leader row highlight */
.lpm-standings-table tr.lpm-leader-row {
	background: #fefce8;
}

.lpm-standings-table tr.lpm-leader-row td {
	border-bottom: 2px solid #fef08a;
}

.lpm-standings-table tr.lpm-leader-row:hover {
	background: #fef9c3;
}

/* Tied row styling */
.lpm-standings-table tr.lpm-tied-row .lpm-rank-badge {
	font-size: 11px;
	letter-spacing: -0.5px;
	border: 1px dashed #cbd5e1;
}

/* Mobile Breakdown indicator (hidden by default on desktop) */
.lpm-mobile-breakdown {
	display: none;
	gap: 8px;
	font-size: 11px;
	color: #64748b;
	font-weight: 600;
	margin-top: 4px;
}

.lpm-standings-footer-note {
	padding: 8px 12px;
	color: #64748b;
	font-size: 12px;
	font-style: italic;
	line-height: 1.4;
}

/* Roster Top Navigation Bar */
.lpm-roster-viewer .lpm-roster-nav-bar {
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	padding: 12px 18px;
	margin-bottom: 20px;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 16px;
	flex-wrap: wrap;
}

.lpm-roster-viewer .lpm-nav-back-box {
	display: flex;
	align-items: center;
}

.lpm-roster-viewer .lpm-btn-back-standings {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 16px;
	background: #ffffff;
	border: 1px solid #cbd5e1;
	border-radius: 6px;
	color: #1e293b !important;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none !important;
	transition: all 0.15s ease;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.lpm-roster-viewer .lpm-btn-back-standings:hover {
	background: #f1f5f9;
	border-color: #94a3b8;
	color: #0f172a !important;
	transform: translateX(-2px);
}

.lpm-roster-viewer .lpm-back-arrow {
	font-size: 15px;
	line-height: 1;
}

.lpm-roster-viewer .lpm-team-selector-box {
	display: flex;
	align-items: center;
}

/* Standings Controls Bar & Franchise Selector */
.lpm-standings-wrapper .lpm-standings-controls-bar {
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	padding: 12px 18px;
	margin-bottom: 20px;
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

.lpm-standings-wrapper .lpm-standings-franchise-select-box {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}

.lpm-standings-wrapper .lpm-standings-nav-dropdown {
	padding: 9px 14px;
	border: 1px solid #cbd5e1;
	border-radius: 6px;
	background: #ffffff;
	font-size: 14px;
	font-weight: 600;
	color: #0f172a;
	min-width: 250px;
	cursor: pointer;
}

.lpm-standings-wrapper .lpm-standings-nav-dropdown:focus {
	outline: none;
	border-color: #2563eb;
	box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.2);
}

/* Awaiting Statistics Alert Banner */
.lpm-standings-wrapper .lpm-awaiting-stats-banner {
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-left: 4px solid #3b82f6;
	border-radius: 8px;
	padding: 16px 20px;
	margin-bottom: 20px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.lpm-standings-wrapper .lpm-awaiting-badge {
	display: inline-block;
	background: #dbeafe;
	color: #1e40af;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	padding: 3px 8px;
	border-radius: 4px;
	margin-bottom: 6px;
}

.lpm-standings-wrapper .lpm-awaiting-title {
	margin: 0 0 6px 0 !important;
	font-size: 17px !important;
	font-weight: 700 !important;
	color: #0f172a !important;
}

.lpm-standings-wrapper .lpm-awaiting-desc {
	margin: 0 !important;
	font-size: 13px !important;
	color: #64748b !important;
	line-height: 1.5;
}

/* Empty / Awaiting Rank Badge */
.lpm-rank-badge.lpm-rank-empty {
	background: transparent;
	color: #94a3b8;
	font-weight: 600;
	border: none;
	font-size: 16px;
}

/* Meta Pill for Awaiting Status */
.lpm-meta-pill.lpm-pill-awaiting {
	background: #fef3c7;
	color: #92400e;
	border: 1px solid #fde68a;
}

/* Roster Scoring Awaiting State */
.lpm-scoring-summary-box.lpm-summary-awaiting {
	position: relative;
	border: 1px dashed #cbd5e1;
}

.lpm-summary-awaiting-note {
	width: 100%;
	margin-bottom: 8px;
	text-align: center;
}

.lpm-awaiting-pill {
	display: inline-block;
	background: #f1f5f9;
	color: #475569;
	font-size: 12px;
	font-weight: 600;
	padding: 3px 10px;
	border-radius: 12px;
}

.lpm-no-stats-pill {
	display: inline-block;
	background: #f1f5f9;
	color: #64748b;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.4px;
	padding: 2px 6px;
	border-radius: 4px;
	border: 1px solid #e2e8f0;
	margin-left: 6px;
	vertical-align: middle;
}

.lpm-fp-score.lpm-fp-awaiting,
.lpm-fp-score.lpm-fp-nostats {
	color: #94a3b8;
}

.lpm-mobile-awaiting {
	color: #94a3b8;
	font-style: italic;
	font-weight: normal;
}

/* Responsive Standings Table */
@media (max-width: 640px) {
	.lpm-standings-header {
		padding: 16px;
	}
	.lpm-standings-heading {
		font-size: 20px !important;
	}
	.lpm-roster-viewer .lpm-roster-nav-bar {
		flex-direction: column;
		align-items: stretch;
		gap: 12px;
	}
	.lpm-roster-viewer .lpm-btn-back-standings {
		justify-content: center;
		width: 100%;
	}
	.lpm-roster-viewer .lpm-team-select-form {
		width: 100%;
	}
	.lpm-roster-viewer .lpm-team-dropdown {
		width: 100%;
	}
	.lpm-standings-wrapper .lpm-standings-controls-bar {
		justify-content: stretch;
	}
	.lpm-standings-wrapper .lpm-standings-franchise-select-box {
		width: 100%;
	}
	.lpm-standings-wrapper .lpm-standings-nav-dropdown {
		width: 100%;
	}
	/* Hide granular F, D, G columns on mobile, display total & behind */
	.lpm-standings-table th.col-f,
	.lpm-standings-table td.col-f,
	.lpm-standings-table th.col-d,
	.lpm-standings-table td.col-d,
	.lpm-standings-table th.col-g,
	.lpm-standings-table td.col-g {
		display: none;
	}
	.lpm-mobile-breakdown {
		display: flex;
	}
	.lpm-standings-table th,
	.lpm-standings-table td {
		padding: 10px 12px;
	}
	.lpm-standings-logo {
		width: 30px;
		height: 30px;
	}
	.lpm-standings-team-name {
		font-size: 14px;
	}
}

/* =========================================================================
   Transactions Ledger & Draft Board Styles (Phase 4)
   ========================================================================= */

/* --- Transactions Ledger --- */
.lpm-transactions-wrap {
	margin: 24px 0;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
}

.lpm-transactions-header {
	background: linear-gradient(135deg, #00205B 0%, #001235 100%);
	color: #ffffff;
	padding: 24px 28px;
	border-radius: 12px;
	margin-bottom: 24px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 16px;
	box-shadow: 0 4px 14px rgba(0, 32, 91, 0.15);
}

.lpm-transactions-title {
	font-size: 24px !important;
	font-weight: 700 !important;
	color: #ffffff !important;
	margin: 0 0 6px 0 !important;
}

.lpm-transactions-subtitle {
	color: #cbd5e1;
	font-size: 14px;
	margin: 0;
}

.lpm-transactions-filter select {
	background: #ffffff;
	color: #1e293b;
	border: 1px solid #cbd5e1;
	border-radius: 6px;
	padding: 8px 14px;
	font-size: 14px;
	font-weight: 600;
}

.lpm-filter-clear {
	color: #ffffff;
	text-decoration: underline;
	margin-left: 10px;
	font-size: 13px;
}

.lpm-transactions-stream {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.lpm-tx-card {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
	overflow: hidden;
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.lpm-tx-card:hover {
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.lpm-tx-card.lpm-tx-reversal {
	border-left: 5px solid #dc2626;
}

.lpm-tx-card.lpm-tx-was-reversed {
	opacity: 0.75;
	border-left: 5px solid #64748b;
}

.lpm-tx-card-header {
	background: #f8fafc;
	padding: 12px 20px;
	border-bottom: 1px solid #e2e8f0;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.lpm-tx-meta {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

.lpm-tx-date {
	font-size: 13px;
	font-weight: 600;
	color: #475569;
}

.lpm-tx-type-badge {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	padding: 3px 8px;
	border-radius: 4px;
	background: #e2e8f0;
	color: #334155;
	letter-spacing: 0.3px;
}

.lpm-tx-type-badge.lpm-type-trade {
	background: #dbeafe;
	color: #1e40af;
}

.lpm-tx-type-badge.lpm-type-reversal {
	background: #fee2e2;
	color: #b91c1c;
}

.lpm-tx-type-badge.lpm-type-draft_pick {
	background: #dcfce7;
	color: #166534;
}

.lpm-tx-type-badge.lpm-type-pre_draft_drop {
	background: #fef3c7;
	color: #92400e;
}

.lpm-badge-reversed {
	background: #dc2626;
	color: #ffffff;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	padding: 2px 7px;
	border-radius: 4px;
}

.lpm-tx-id-badge {
	font-size: 13px;
	font-weight: 700;
	color: #94a3b8;
}

.lpm-tx-body {
	padding: 20px;
}

.lpm-tx-sides-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 20px;
}

.lpm-tx-side {
	background: #f8fafc;
	border: 1px solid #edf2f7;
	border-radius: 8px;
	padding: 16px;
}

.lpm-tx-side-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 12px;
	padding-bottom: 8px;
	border-bottom: 1px solid #e2e8f0;
}

.lpm-tx-team-link {
	text-decoration: none;
	color: #00205B;
	font-size: 15px;
	display: flex;
	align-items: center;
	gap: 6px;
}

.lpm-tx-receives-label {
	font-size: 12px;
	color: #64748b;
	text-transform: uppercase;
	font-weight: 600;
}

.lpm-tx-asset-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.lpm-tx-asset-list li {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	color: #1e293b;
}

.lpm-asset-icon {
	color: #64748b;
	font-size: 16px;
}

.lpm-asset-name {
	font-weight: 600;
}

.lpm-asset-sub {
	color: #64748b;
	font-size: 13px;
}

.lpm-empty-transactions,
.lpm-empty-draft {
	background: #f8fafc;
	border: 2px dashed #cbd5e1;
	border-radius: 10px;
	padding: 40px;
	text-align: center;
	color: #64748b;
	font-size: 16px;
}

/* --- Draft Board --- */
.lpm-draft-wrap {
	margin: 24px 0;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
}

.lpm-draft-wrap .lpm-draft-header {
	background: #00205B !important;
	color: #ffffff !important;
	padding: 24px 28px;
	border-radius: 12px;
	margin-bottom: 16px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 16px;
	box-shadow: 0 4px 14px rgba(0, 32, 91, 0.15);
}

.lpm-draft-wrap .lpm-draft-title {
	font-size: 24px !important;
	font-weight: 700 !important;
	color: #ffffff !important;
	margin: 0 0 6px 0 !important;
	letter-spacing: -0.3px;
}

.lpm-draft-wrap .lpm-draft-subtitle {
	color: #f8fafc !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	margin: 0 0 6px 0 !important;
}

.lpm-draft-wrap .lpm-draft-explanatory {
	color: #e2e8f0 !important;
	font-size: 14px !important;
	line-height: 1.5 !important;
	margin: 0 !important;
	max-width: 780px;
}

.lpm-draft-wrap .lpm-draft-header * {
	color: inherit;
}

/* Provisional Ownership Notice */
.lpm-draft-provisional-notice {
	background: #eff6ff;
	border: 1px solid #bfdbfe;
	border-left: 4px solid #2563eb;
	border-radius: 8px;
	padding: 14px 18px;
	margin-bottom: 16px;
}

.lpm-draft-provisional-notice p {
	margin: 0;
	font-size: 14px;
	color: #1e40af;
	line-height: 1.5;
}

.lpm-draft-provisional-notice strong {
	color: #1e3a8a;
}

/* Confirmed Player Drops Section */
.lpm-confirmed-drops-section {
	margin-top: 24px;
}

.lpm-drops-accordion {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.lpm-drops-accordion-summary {
	background: #f8fafc;
	padding: 16px 20px;
	font-size: 15px;
	cursor: pointer;
	user-select: none;
	display: flex;
	align-items: center;
	gap: 8px;
	border-bottom: 1px solid #e2e8f0;
	list-style: none;
}

.lpm-drops-accordion-summary::-webkit-details-marker {
	display: none;
}

.lpm-drops-accordion-content {
	padding: 20px;
}

.lpm-awaiting-drops-box {
	background: #f8fafc;
	border: 1px dashed #cbd5e1;
	border-radius: 8px;
	padding: 24px;
	text-align: center;
	color: #64748b;
	font-size: 14px;
}

.lpm-awaiting-drops-box p {
	margin: 0;
}

.lpm-confirmed-drops-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 16px;
}

.lpm-franchise-drop-card {
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	padding: 14px;
}

.lpm-drop-card-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 10px;
	padding-bottom: 8px;
	border-bottom: 1px solid #e2e8f0;
}

.lpm-drop-franchise-link {
	text-decoration: none;
	color: #00205B;
	font-size: 14px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.lpm-drop-count-tag {
	font-size: 11px;
	font-weight: 700;
	color: #64748b;
	background: #e2e8f0;
	padding: 2px 7px;
	border-radius: 10px;
}

.lpm-drop-player-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.lpm-drop-player-list li {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	color: #1e293b;
}

.lpm-drop-player-name {
	font-weight: 600;
}

.lpm-draft-season-switch select {
	background: #ffffff;
	color: #1e293b;
	border: 1px solid #cbd5e1;
	border-radius: 6px;
	padding: 8px 14px;
	font-size: 14px;
	font-weight: 600;
}

.lpm-draft-status-bar {
	margin-bottom: 16px;
	display: flex;
	gap: 10px;
}

.lpm-status-pill {
	display: inline-block;
	padding: 6px 14px;
	border-radius: 20px;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.4px;
}

.lpm-status-pill.lpm-status-completed {
	background: #dcfce7;
	color: #15803d;
	border: 1px solid #bbf7d0;
}

.lpm-status-pill.lpm-status-in_progress {
	background: #dbeafe;
	color: #1d4ed8;
	border: 1px solid #bfdbfe;
}

.lpm-status-pill.lpm-status-setup,
.lpm-status-pill.lpm-status-pre_draft_drops,
.lpm-status-pill.lpm-status-ready {
	background: #fef3c7;
	color: #b45309;
	border: 1px solid #fde68a;
}

.lpm-draft-table-container {
	overflow-x: auto;
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.lpm-draft-table {
	width: 100%;
	border-collapse: collapse;
	text-align: left;
	font-size: 14px;
}

.lpm-draft-table th {
	background: #f8fafc;
	color: #475569;
	font-weight: 700;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	padding: 14px 16px;
	border-bottom: 2px solid #e2e8f0;
	white-space: nowrap;
}

.lpm-draft-table td {
	padding: 12px 16px;
	border-bottom: 1px solid #f1f5f9;
	vertical-align: middle;
}

.lpm-draft-table tbody tr:hover {
	background: #f8fafc;
}

.lpm-overall-pill {
	display: inline-block;
	background: #00205B;
	color: #ffffff;
	font-weight: 700;
	font-size: 13px;
	padding: 4px 10px;
	border-radius: 16px;
}

.lpm-draft-team-link {
	text-decoration: none;
	color: #00205B;
	font-size: 14px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.lpm-traded-callout {
	display: block;
	font-size: 12px;
	color: #C8102E;
	font-weight: 600;
	margin-top: 2px;
}

.lpm-drafted-player-name {
	font-weight: 700;
	color: #0f172a;
	font-size: 14px;
}

.lpm-unselected-text {
	color: #94a3b8;
	font-style: italic;
}

.lpm-status-drafted {
	background: #dcfce7;
	color: #166534;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	padding: 3px 8px;
	border-radius: 4px;
}

.lpm-status-upcoming {
	background: #f1f5f9;
	color: #64748b;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	padding: 3px 8px;
	border-radius: 4px;
}

@media (max-width: 640px) {
	.lpm-transactions-header,
	.lpm-draft-header {
		padding: 16px;
	}
	.lpm-transactions-title,
	.lpm-draft-title {
		font-size: 20px !important;
	}
	.lpm-tx-sides-grid {
		grid-template-columns: 1fr;
	}
	.lpm-draft-table th.col-nhl,
	.lpm-draft-table td.col-nhl {
		display: none;
	}
}

/* ==========================================================================
   Homepage League Snapshot Dashboard Shortcode (.lpm-snapshot-*)
   ========================================================================== */

.lpm-snapshot,
.lpm-snapshot-wrapper {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	box-sizing: border-box !important;
	margin: 20px auto !important;
	clear: both !important;
}

.lpm-snapshot *,
.lpm-snapshot *::before,
.lpm-snapshot *::after,
.lpm-snapshot-wrapper *,
.lpm-snapshot-wrapper *::before,
.lpm-snapshot-wrapper *::after {
	box-sizing: border-box !important;
}

/* 3-Column Desktop Grid Layout */
.lpm-snapshot-grid {
	display: grid !important;
	width: 100% !important;
	max-width: none !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 16px !important;
	align-items: stretch !important;
	box-sizing: border-box !important;
}

/* Guard against wpautop injecting p or br tags inside the grid */
.lpm-snapshot-grid > p,
.lpm-snapshot-grid > br {
	display: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Responsive Viewport Breakpoints */
@media (min-width: 1025px) {
	.lpm-snapshot-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}

@media (min-width: 641px) and (max-width: 1024px) {
	.lpm-snapshot-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 640px) {
	.lpm-snapshot-grid {
		grid-template-columns: 1fr !important;
	}
}

/* Card Container */
.lpm-snapshot-card {
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	margin: 0 !important;
	float: none !important;
	box-sizing: border-box !important;
	background: #ffffff;
	border: 1px solid #dbe2ea;
	border-radius: 8px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
	display: flex !important;
	flex-direction: column !important;
	height: 100% !important;
	overflow: hidden;
}

/* Card Header */
.lpm-snapshot-card-header {
	height: 40px !important;
	min-height: 40px !important;
	max-height: 40px !important;
	box-sizing: border-box !important;
	background: #0f172a; /* Lifetimepool dark navy */
	color: #ffffff;
	padding: 9px 12px;
	border-bottom: 2px solid #0284c7;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.lpm-snapshot-card-title {
	margin: 0 !important;
	padding: 0 !important;
	font-size: 14.5px !important;
	font-weight: 700 !important;
	color: #ffffff !important;
	line-height: 1.25 !important;
	letter-spacing: 0.3px;
	text-transform: uppercase;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
}

/* Card Body */
.lpm-snapshot-card-body {
	flex: 1 1 auto !important;
	display: flex !important;
	flex-direction: column !important;
	padding: 0 !important;
	min-width: 0 !important;
	max-width: 100% !important;
	overflow: hidden;
	background: #ffffff;
	min-height: 398px !important;
}

/* Snapshot Tables */
.lpm-snapshot-table {
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	border-collapse: collapse !important;
	font-size: 12.5px;
	line-height: 1.3;
	table-layout: fixed !important;
	margin: 0 !important;
	border: none !important;
}

.lpm-snapshot-table th {
	background: #f8fafc;
	color: #475569;
	font-size: 10.5px !important;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.4px;
	padding: 4px 6px !important;
	height: 26px !important;
	min-height: 26px !important;
	max-height: 26px !important;
	border-bottom: 1px solid #e2e8f0;
	text-align: left;
	white-space: nowrap;
	line-height: 1.2;
	box-sizing: border-box !important;
}

.lpm-snapshot-table td {
	padding: 3px 6px !important;
	border-bottom: 1px solid #f1f5f9;
	vertical-align: middle;
	height: 31px !important;
	min-height: 31px !important;
	max-height: 31px !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
	box-sizing: border-box !important;
	font-size: 12.5px;
}

.lpm-snapshot-table tr {
	height: 31px !important;
	box-sizing: border-box !important;
}

/* Standings Card Specific Column Alignment & Overflow Prevention */
.lpm-snapshot-card-standings .lpm-snapshot-table,
.lpm-snapshot-standings .lpm-snapshot-table {
	table-layout: fixed !important;
	width: 100% !important;
}
.lpm-snapshot-card-standings .col-rank,
.lpm-snapshot-standings .col-rank,
.lpm-snapshot-standings .lpm-rank,
.lpm-snapshot-card-standings .lpm-col-rank {
	width: 32px !important;
	min-width: 32px !important;
	max-width: 32px !important;
	text-align: center !important;
	padding-left: 1px !important;
	padding-right: 1px !important;
}
.lpm-snapshot-card-standings th.col-team,
.lpm-snapshot-standings th.col-team,
.lpm-snapshot-standings th.lpm-franchise {
	padding-left: 10px !important;
	padding-right: 6px !important;
	text-align: left !important;
}
.lpm-snapshot-card-standings td.col-team,
.lpm-snapshot-standings td.col-team,
.lpm-snapshot-standings td.lpm-franchise {
	padding-left: 10px !important;
	padding-right: 6px !important;
	text-align: left !important;
	min-width: 0 !important;
}
.lpm-snapshot-card-standings .col-fp,
.lpm-snapshot-standings .col-fp,
.lpm-snapshot-standings .lpm-fp,
.lpm-snapshot-card-standings .lpm-col-fp {
	width: 62px !important;
	min-width: 62px !important;
	max-width: none !important;
	text-align: right !important;
	white-space: nowrap !important;
	overflow: visible !important;
	text-overflow: clip !important;
	font-variant-numeric: tabular-nums;
	font-weight: 700 !important;
	padding-left: 4px !important;
	padding-right: 8px !important;
}
.lpm-snapshot-card-standings td.col-fp,
.lpm-snapshot-standings td.col-fp,
.lpm-snapshot-standings td.lpm-fp {
	overflow: visible !important;
	text-overflow: clip !important;
}
.lpm-snapshot-card-standings .col-fp strong,
.lpm-snapshot-standings .lpm-fp strong,
.lpm-snapshot-card-standings td.col-fp strong {
	white-space: nowrap !important;
	overflow: visible !important;
	text-overflow: clip !important;
	font-variant-numeric: tabular-nums;
}

/* Player Cards Specific Column Alignment */
.lpm-snapshot-table .col-rank {
	width: 28px !important;
	text-align: center !important;
}
.lpm-snapshot-table .col-player {
	text-align: left !important;
	min-width: 0 !important;
}
.lpm-snapshot-table .col-pos {
	width: 32px !important;
	text-align: center !important;
}
.lpm-snapshot-table .col-team-abbrev {
	width: 42px !important;
	text-align: center !important;
}
.lpm-snapshot-table .col-fp {
	width: 46px !important;
	text-align: right !important;
	font-variant-numeric: tabular-nums;
	font-size: 12.5px;
	font-weight: 700 !important;
	padding-right: 8px !important;
	white-space: nowrap !important;
}

.lpm-snapshot-pos {
	font-size: 11px;
	font-weight: 600;
	color: #64748b;
}

/* Zebra Striping & Hover */
.lpm-snapshot-table tbody tr:nth-child(even) {
	background: #fafbfd;
}

.lpm-snapshot-table tbody tr:hover {
	background: #f1f5f9;
}

/* First-Place Subtle Leader Treatment */
.lpm-snapshot-first-row {
	background: #f0fdf4 !important;
	font-weight: 600;
}

.lpm-snapshot-first-row td {
	border-bottom-color: #dcfce7 !important;
}

/* Subsection Row & Header for Defense & Goalies Card */
.lpm-snapshot-sub-row {
	height: 31px !important;
	max-height: 31px !important;
	min-height: 31px !important;
	box-sizing: border-box !important;
	background: #f1f5f9 !important;
}

.lpm-snapshot-sub-cell {
	height: 31px !important;
	max-height: 31px !important;
	min-height: 31px !important;
	box-sizing: border-box !important;
	padding: 0 8px !important;
	vertical-align: middle !important;
	border-top: 1px solid #e2e8f0 !important;
	border-bottom: 1px solid #e2e8f0 !important;
	background: #f1f5f9 !important;
	text-align: left !important;
}

tbody tr.lpm-snapshot-sub-row:first-child .lpm-snapshot-sub-cell {
	border-top: none !important;
}

.lpm-snapshot-sub-title {
	font-size: 11px !important;
	font-weight: 700 !important;
	color: #475569 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 31px !important;
	display: block !important;
}

/* Rank Badge */
.lpm-snapshot-rank {
	display: inline-block;
	min-width: 18px;
	padding: 1px 3px;
	font-size: 10.5px;
	font-weight: 700;
	color: #475569;
	background: #e2e8f0;
	border-radius: 3px;
	text-align: center;
	line-height: 14px;
}

.lpm-snapshot-rank.lpm-rank-leader {
	background: #0284c7;
	color: #ffffff;
}

/* Franchise Logos: Strictly excluded from homepage snapshot shortcode only */
.lpm-snapshot img,
.lpm-snapshot .lpm-snapshot-team-logo,
.lpm-snapshot .lpm-snapshot-logo {
	display: none !important;
}

/* Inherited Link Colors (Surrounding Lifetimepool presentation inherited cleanly) */
.lpm-snapshot a,
.lpm-snapshot a:visited,
.lpm-snapshot a:hover,
.lpm-snapshot a:focus {
	color: inherit !important;
}

.lpm-snapshot a {
	text-decoration: none !important;
	font-weight: inherit;
}

.lpm-snapshot a:hover {
	text-decoration: underline !important;
}

/* Team Link in Standings */
.lpm-snapshot-team-link {
	display: flex !important;
	align-items: center;
	min-width: 0;
	max-width: 100%;
	overflow: hidden;
	color: inherit !important;
	font-weight: 600;
	font-size: 12.5px;
}

.lpm-snapshot-team-text {
	flex: 1 1 auto;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* Player Link in Leaderboards */
.lpm-snapshot-player-link {
	color: inherit !important;
	font-weight: 600;
	font-size: 12.5px;
	display: block;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.lpm-player-name {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* Team Pill in Player Leaderboards */
.lpm-snapshot-team-pill,
.lpm-snapshot-team-pill:visited,
.lpm-snapshot-team-pill:hover,
.lpm-snapshot-team-pill:focus {
	display: inline-block;
	background: #f1f5f9;
	color: #64748b !important;
	padding: 1px 4px;
	border-radius: 3px;
	font-size: 10.5px;
	font-weight: 700;
	text-decoration: none !important;
	line-height: 14px;
}

/* Compact Stat Line */
.lpm-stat-line {
	color: #64748b;
	font-size: 11px;
	font-weight: 500;
	font-variant-numeric: tabular-nums;
}

/* Card Footer & Understated Navigation Actions */
.lpm-snapshot-card-footer {
	height: 35px !important;
	min-height: 35px !important;
	max-height: 35px !important;
	box-sizing: border-box !important;
	margin-top: auto !important;
	background: transparent;
	border-top: 1px solid #eef2f6;
	padding: 6px 10px;
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

.lpm-snapshot-footer-link,
.lpm-snapshot-footer-link:visited,
.lpm-snapshot-footer-link:hover,
.lpm-snapshot-footer-link:focus {
	font-size: 11.5px !important;
	font-weight: 600 !important;
	color: inherit !important;
	text-decoration: none !important;
	display: inline-flex;
	align-items: center;
	gap: 3px;
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
}

.lpm-snapshot-footer-link:hover {
	text-decoration: underline !important;
}

/* Pre-Season / Awaiting Statistics State */
.lpm-snapshot-awaiting {
	flex: 1 1 auto !important;
	min-height: 398px !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px;
	padding: 32px 12px;
	text-align: center;
	color: #64748b;
	font-size: 12px;
	font-style: italic;
}

.lpm-snapshot-awaiting-icon {
	font-size: 22px;
	line-height: 1;
	font-style: normal;
}

.lpm-snapshot-awaiting-text {
	color: #64748b;
}

/* ==========================================================================
   PUBLIC SUB-NAVIGATION TABS COMPONENT (Standings / Players & Leaders / Rosters)
   ========================================================================== */
.lpm-public-league-container .lpm-public-subnav,
.lpm-public-subnav {
	margin: 0 0 20px 0 !important;
	display: block !important;
	width: 100% !important;
	border-bottom: 2px solid #cbd5e1 !important;
	padding: 0 !important;
	box-sizing: border-box !important;
	clear: both !important;
}

.lpm-public-league-container .lpm-subnav-container,
.lpm-public-subnav .lpm-subnav-container {
	display: flex !important;
	gap: 8px !important;
	flex-wrap: nowrap !important;
	align-items: flex-end !important;
	overflow-x: auto !important;
	-webkit-overflow-scrolling: touch !important;
	white-space: nowrap !important;
	padding: 0 !important;
	margin: 0 !important;
	scrollbar-width: none;
}

.lpm-public-subnav .lpm-subnav-container::-webkit-scrollbar {
	display: none;
}

.lpm-public-league-container .lpm-subnav-tab,
.lpm-public-subnav .lpm-subnav-tab {
	height: 42px !important;
	line-height: 42px !important;
	box-sizing: border-box !important;
	padding: 0 22px !important;
	font-size: 14.5px !important;
	font-weight: 600 !important;
	color: #334155 !important;
	text-decoration: none !important;
	border-radius: 8px 8px 0 0 !important;
	background: #f8fafc !important;
	border: 1px solid #cbd5e1 !important;
	border-bottom: none !important;
	transition: all 0.15s ease-in-out !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	white-space: nowrap !important;
	cursor: pointer !important;
}

.lpm-public-league-container .lpm-subnav-tab:hover,
.lpm-public-subnav .lpm-subnav-tab:hover {
	background: #e2e8f0 !important;
	color: #0f172a !important;
}

.lpm-public-league-container .lpm-subnav-tab.lpm-subnav-active,
.lpm-public-subnav .lpm-subnav-tab.lpm-subnav-active {
	background: #0f172a !important;
	color: #ffffff !important;
	border-color: #0f172a !important;
	box-shadow: 0 -2px 5px rgba(15, 23, 42, 0.12) !important;
}

/* ==========================================================================
   PUBLIC PLAYERS & LEAGUE LEADERS PAGE ([lifetimepool_players])
   ========================================================================== */
.lpm-players-wrapper {
	max-width: 1200px;
	margin: 20px auto;
	padding: 0 16px;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	color: #1e293b;
	box-sizing: border-box;
	width: 100%;
}

.lpm-players-wrapper *,
.lpm-players-wrapper *::before,
.lpm-players-wrapper *::after {
	box-sizing: border-box;
}

/* Header Card (Matching League Standings Visual Language Exactly) */
.lpm-public-league-container .lpm-players-header,
.lpm-players-header {
	background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%) !important;
	border-radius: 10px !important;
	padding: 22px 24px !important;
	margin-bottom: 24px !important;
	box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.15) !important;
	border: none !important;
	box-sizing: border-box !important;
}

.lpm-public-league-container .lpm-players-title-row,
.lpm-players-title-row {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	flex-wrap: wrap !important;
	gap: 14px !important;
}

.lpm-public-league-container .lpm-players-heading,
.lpm-players-heading {
	margin: 0 !important;
	padding: 0 !important;
	font-size: 24px !important;
	font-weight: 700 !important;
	color: #ffffff !important;
	line-height: 1.25 !important;
	letter-spacing: -0.2px !important;
}

.lpm-public-league-container .lpm-players-meta-pills,
.lpm-players-meta-pills {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	flex-wrap: wrap !important;
}

.lpm-players-subtext {
	display: none !important;
}

/* Filter & Search Controls Card */
.lpm-public-league-container .lpm-players-filter-card,
.lpm-players-filter-card {
	background: #ffffff !important;
	border: 1px solid #dbe2ea !important;
	border-radius: 10px !important;
	padding: 20px 24px !important;
	margin-bottom: 24px !important;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

/* Hero Search Field (100% Width) */
.lpm-search-hero-row {
	width: 100% !important;
	margin-bottom: 0 !important;
}

.lpm-search-hero-wrap {
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	width: 100% !important;
}

.lpm-search-hero-icon {
	position: absolute !important;
	left: 14px !important;
	font-size: 16px !important;
	color: #94a3b8 !important;
	pointer-events: none !important;
	line-height: 1 !important;
	z-index: 2 !important;
}

.lpm-public-league-container .lpm-search-hero-input,
.lpm-search-hero-input {
	width: 100% !important;
	height: 46px !important;
	padding: 10px 105px 10px 44px !important;
	border: 1px solid #cbd5e1 !important;
	border-radius: 8px !important;
	font-size: 15px !important;
	color: #0f172a !important;
	background: #ffffff !important;
	box-sizing: border-box !important;
	transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
	line-height: normal !important;
}

.lpm-public-league-container .lpm-search-hero-input:focus,
.lpm-search-hero-input:focus {
	outline: none !important;
	border-color: #0284c7 !important;
	box-shadow: 0 0 0 3px rgba(2, 132, 199, 0.18) !important;
}

.lpm-public-league-container .lpm-search-hero-btn,
.lpm-search-hero-btn {
	position: absolute !important;
	right: 6px !important;
	top: 5px !important;
	height: 36px !important;
	padding: 0 18px !important;
	background: #0284c7 !important;
	color: #ffffff !important;
	border: none !important;
	border-radius: 6px !important;
	font-size: 13.5px !important;
	font-weight: 700 !important;
	cursor: pointer !important;
	transition: background 0.15s ease !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.lpm-public-league-container .lpm-search-hero-btn:hover,
.lpm-search-hero-btn:hover {
	background: #0369a1 !important;
}

/* Divider Line between Hero Search and Secondary Filters */
.lpm-filter-divider {
	height: 1px !important;
	background: #e2e8f0 !important;
	margin: 16px 0 !important;
	width: 100% !important;
	border: none !important;
}

/* Secondary Filters Grid: 4 Equal Columns (Position | Availability | NHL Team | View Mode) */
.lpm-filter-secondary-row {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 16px !important;
	align-items: flex-end !important;
	width: 100% !important;
}

.lpm-filter-group {
	display: flex !important;
	flex-direction: column !important;
	gap: 6px !important;
}

.lpm-filter-label {
	font-size: 12px !important;
	font-weight: 700 !important;
	color: #475569 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.4px !important;
	display: block !important;
}

.lpm-public-league-container .lpm-filter-group .lpm-select,
.lpm-filter-group .lpm-select {
	height: 42px !important;
	padding: 8px 12px !important;
	border: 1px solid #cbd5e1 !important;
	border-radius: 6px !important;
	font-size: 14px !important;
	color: #0f172a !important;
	background: #ffffff !important;
	box-sizing: border-box !important;
	width: 100% !important;
	transition: border-color 0.15s ease !important;
	cursor: pointer !important;
}

.lpm-public-league-container .lpm-filter-group .lpm-select:focus,
.lpm-filter-group .lpm-select:focus {
	outline: none !important;
	border-color: #0284c7 !important;
	box-shadow: 0 0 0 2px rgba(2, 132, 199, 0.15) !important;
}

/* Reset Filters Control Row (Below secondary filters) */
.lpm-filter-reset-row {
	margin-top: 14px !important;
	display: flex !important;
	justify-content: flex-end !important;
}

.lpm-public-league-container .lpm-btn-reset-filters,
.lpm-btn-reset-filters {
	height: 36px !important;
	padding: 0 14px !important;
	background: #f1f5f9 !important;
	border: 1px solid #cbd5e1 !important;
	border-radius: 6px !important;
	color: #475569 !important;
	font-size: 12.5px !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 6px !important;
	white-space: nowrap !important;
	box-sizing: border-box !important;
	transition: all 0.15s ease !important;
}

.lpm-public-league-container .lpm-btn-reset-filters:hover,
.lpm-btn-reset-filters:hover {
	background: #fee2e2 !important;
	color: #dc2626 !important;
	border-color: #fca5a5 !important;
}

/* Leaderboard Table Card */
.lpm-public-league-container .lpm-players-card,
.lpm-players-card {
	background: #ffffff !important;
	border: 1px solid #dbe2ea !important;
	border-radius: 10px !important;
	overflow: hidden !important;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
	margin-bottom: 24px !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

.lpm-public-league-container .lpm-players-table,
.lpm-players-table {
	width: 100% !important;
	border-collapse: collapse !important;
	font-size: 14px !important;
	text-align: left !important;
	line-height: 1.35 !important;
	margin: 0 !important;
}

.lpm-public-league-container .lpm-players-table th,
.lpm-players-table th {
	background: #f8fafc !important;
	color: #475569 !important;
	font-size: 12.5px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.4px !important;
	padding: 12px 12px !important;
	border-bottom: 2px solid #e2e8f0 !important;
	white-space: nowrap !important;
	box-sizing: border-box !important;
}

.lpm-players-table th.lpm-th-active {
	background: #eef2f6 !important;
	color: #0f172a !important;
}

.lpm-sort-link {
	color: inherit !important;
	text-decoration: none !important;
	display: inline-flex;
	align-items: center;
	gap: 4px;
}

.lpm-sort-link:hover {
	text-decoration: underline !important;
}

.lpm-sort-arrow {
	font-size: 10px;
	color: #0284c7;
}

.lpm-public-league-container .lpm-players-table td,
.lpm-players-table td {
	padding: 10px 12px !important;
	border-bottom: 1px solid #f1f5f9 !important;
	vertical-align: middle !important;
	font-size: 13.5px !important;
	height: 48px !important;
	min-height: 48px !important;
	box-sizing: border-box !important;
}

.lpm-players-table tbody tr {
	transition: background 0.1s ease;
}

.lpm-players-table tbody tr:hover td {
	background: #f8fafc;
}

/* Row states: subtle green left accent for AVAILABLE players */
.lpm-players-table tbody tr.lpm-row-available {
	border-left: 3px solid #16a34a !important;
}

.lpm-players-table tbody tr.lpm-row-taken {
	border-left: 3px solid transparent !important;
}

/* Leader row (Rank 1) */
.lpm-players-table tr.lpm-player-leader-row td {
	background: #f0fdf4 !important;
	font-weight: 600 !important;
}

/* Rank column & styled badge (6% width) */
.lpm-public-league-container .lpm-players-table .col-rank,
.lpm-players-table .col-rank {
	width: 6% !important;
	min-width: 48px !important;
	text-align: center !important;
}

.lpm-rank-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: #f1f5f9;
	color: #334155;
	font-weight: 700;
	font-size: 12.5px;
}

.lpm-rank-badge.lpm-rank-leader {
	background: #fef08a;
	color: #854d0e;
	box-shadow: 0 0 0 2px #facc15;
	font-weight: 800;
}

.lpm-rank-badge.lpm-rank-empty {
	color: #94a3b8;
	font-weight: 500;
}

/* Player Column (27% width, min 220px) */
.lpm-public-league-container .lpm-players-table .col-player,
.lpm-players-table .col-player {
	width: 27% !important;
	min-width: 220px !important;
	text-align: left !important;
}

.lpm-player-display-name {
	font-weight: 600 !important;
	color: #0f172a !important;
	font-size: 14.5px !important;
}

.lpm-prospect-tag {
	display: inline-block;
	margin-left: 6px;
	font-size: 10px;
	font-weight: 700;
	padding: 1px 5px;
	border-radius: 3px;
	background: #e2e8f0;
	color: #475569;
	letter-spacing: 0.3px;
	vertical-align: middle;
}

/* Mobile compact stats (hidden on desktop) */
.lpm-mobile-stats {
	display: none;
}

/* Position Column (6% width) */
.lpm-public-league-container .lpm-players-table .col-pos,
.lpm-players-table .col-pos {
	width: 6% !important;
	min-width: 50px !important;
	text-align: center !important;
}

.lpm-pos-badge {
	display: inline-block;
	padding: 3px 6px;
	border-radius: 4px;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
}

.lpm-pos-f {
	background: #e0f2fe;
	color: #0369a1;
}

.lpm-pos-d {
	background: #fef3c7;
	color: #92400e;
}

.lpm-pos-g {
	background: #fce7f3;
	color: #9d174d;
}

/* NHL Team Column (7% width) */
.lpm-public-league-container .lpm-players-table .col-nhl-team,
.lpm-players-table .col-nhl-team {
	width: 7% !important;
	min-width: 58px !important;
	text-align: center !important;
}

.lpm-nhl-team-pill {
	display: inline-block;
	background: #f1f5f9;
	color: #475569;
	padding: 2px 7px;
	border-radius: 4px;
	font-size: 11.5px;
	font-weight: 700;
	border: 1px solid #e2e8f0;
}

/* Secondary Counting Stats (5.5% width each) */
.lpm-public-league-container .lpm-players-table .col-stat,
.lpm-players-table .col-stat {
	width: 5.5% !important;
	min-width: 46px !important;
	text-align: center !important;
	font-variant-numeric: tabular-nums !important;
	font-size: 13.5px !important;
}

.lpm-stat-empty {
	color: #94a3b8;
	font-weight: 500;
}

/* Fantasy Points Column (8% width, right aligned bold) */
.lpm-public-league-container .lpm-players-table .col-fp,
.lpm-players-table .col-fp {
	width: 8% !important;
	min-width: 68px !important;
	text-align: right !important;
	font-variant-numeric: tabular-nums !important;
	padding-right: 18px !important;
}

.lpm-fp-value {
	font-weight: 700 !important;
	color: #0f172a !important;
	font-size: 15px !important;
}

/* Status Column (16% width) */
.lpm-public-league-container .lpm-players-table .col-status,
.lpm-players-table .col-status {
	width: 16% !important;
	min-width: 110px !important;
	text-align: center !important;
}

/* Availability Badges */
.lpm-badge-available {
	display: inline-block !important;
	background: #16a34a !important;
	color: #ffffff !important;
	font-size: 11px !important;
	font-weight: 800 !important;
	padding: 4px 10px !important;
	border-radius: 4px !important;
	letter-spacing: 0.5px !important;
	text-transform: uppercase !important;
	line-height: 14px !important;
	box-shadow: 0 1px 2px rgba(22, 163, 74, 0.25) !important;
}

/* Rostered Franchise Badge (Clickable link to team roster) */
.lpm-badge-taken {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: #f8fafc !important;
	border: 1px solid #cbd5e1 !important;
	color: #0f172a !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	padding: 3px 9px !important;
	border-radius: 4px !important;
	text-decoration: none !important;
	transition: all 0.15s ease !important;
	line-height: 16px !important;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03) !important;
}

.lpm-badge-taken:hover {
	background: #0284c7 !important;
	border-color: #0284c7 !important;
	color: #ffffff !important;
}

.lpm-taken-team-code {
	font-weight: 700 !important;
	color: inherit !important;
	letter-spacing: 0.3px !important;
}

/* Accessibility: Strictly visually hide screen-reader text */
.lpm-public-league-container .screen-reader-text,
.screen-reader-text {
	border: 0 !important;
	clip: rect(1px, 1px, 1px, 1px) !important;
	-webkit-clip-path: inset(50%) !important;
	clip-path: inset(50%) !important;
	height: 1px !important;
	margin: -1px !important;
	overflow: hidden !important;
	padding: 0 !important;
	position: absolute !important;
	width: 1px !important;
	word-wrap: normal !important;
}

.lpm-no-results {
	text-align: center !important;
	padding: 36px 16px !important;
	color: #64748b;
	font-size: 14px;
	font-style: italic;
}

/* In-Card Pagination Bar */
.lpm-pagination-bar {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	flex-wrap: wrap !important;
	gap: 12px !important;
	padding: 12px 18px !important;
	background: #f8fafc !important;
	border-top: 1px solid #e2e8f0 !important;
}

.lpm-pagination-info {
	font-size: 13px !important;
	color: #64748b !important;
	font-weight: 500 !important;
}

/* Compact Page-Size Selector (25 | 50 | 100) */
.lpm-page-size-selector {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	font-size: 12.5px !important;
	color: #64748b !important;
}

.lpm-size-label {
	font-weight: 600 !important;
	margin-right: 2px !important;
}

.lpm-size-btn {
	padding: 4px 9px !important;
	border: 1px solid #cbd5e1 !important;
	border-radius: 4px !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	color: #475569 !important;
	background: #ffffff !important;
	text-decoration: none !important;
	line-height: 1.2 !important;
	transition: all 0.15s ease !important;
}

.lpm-size-btn:hover {
	background: #f1f5f9 !important;
	border-color: #94a3b8 !important;
	color: #0f172a !important;
}

.lpm-size-btn.lpm-size-active {
	background: #0f172a !important;
	color: #ffffff !important;
	border-color: #0f172a !important;
	cursor: default !important;
}

.lpm-pagination-links {
	display: flex !important;
	gap: 6px !important;
	align-items: center !important;
}

.lpm-page-btn {
	padding: 6px 12px !important;
	border: 1px solid #cbd5e1 !important;
	border-radius: 6px !important;
	font-size: 12.5px !important;
	font-weight: 600 !important;
	color: #334155 !important;
	background: #ffffff !important;
	text-decoration: none !important;
	line-height: 1.3 !important;
	transition: all 0.15s ease !important;
}

.lpm-page-btn:hover {
	background: #f1f5f9 !important;
	border-color: #94a3b8 !important;
}

.lpm-page-btn-disabled,
.lpm-page-disabled {
	padding: 6px 12px !important;
	border: 1px solid #e2e8f0 !important;
	border-radius: 6px !important;
	font-size: 12.5px !important;
	font-weight: 600 !important;
	color: #94a3b8 !important;
	background: #f8fafc !important;
	cursor: not-allowed !important;
	line-height: 1.3 !important;
}

.lpm-page-indicator {
	font-size: 12.5px !important;
	font-weight: 600 !important;
	color: #475569 !important;
	padding: 0 4px !important;
}

.lpm-view-all-btn {
	background: #0284c7 !important;
	color: #ffffff !important;
	border-color: #0284c7 !important;
}

.lpm-view-all-btn:hover {
	background: #0369a1;
	border-color: #0369a1;
}

/* Screen Reader Text Utility (Hidden visually, accessible to assistive technology) */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

/* Footer Notes */
.lpm-players-footer-note {
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	padding: 14px 18px;
	font-size: 12.5px;
	color: #64748b;
	line-height: 1.5;
	margin-top: 4px;
}

.lpm-footer-rule,
.lpm-footer-avail {
	margin: 0 0 6px 0 !important;
}

.lpm-footer-avail {
	margin-bottom: 0 !important;
}

/* Mobile Responsiveness */
@media (max-width: 768px) {
	.lpm-players-wrapper {
		padding: 0 8px;
		margin: 12px auto;
	}

	.lpm-players-header {
		padding: 14px 16px;
	}

	.lpm-players-title-row {
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
	}

	.lpm-players-heading {
		font-size: 18px !important;
	}

	.lpm-players-filter-card {
		padding: 14px 14px;
	}

	.lpm-search-hero-wrap {
		margin-bottom: 12px;
	}

	.lpm-search-hero-input {
		font-size: 13.5px;
		height: 42px;
		padding-right: 80px;
	}

	.lpm-search-hero-btn {
		height: 32px;
		padding: 0 12px;
		font-size: 12.5px;
	}

	/* Collapse secondary filters into clean 2x2 grid */
	.lpm-filter-secondary-row {
		grid-template-columns: repeat(2, 1fr);
		gap: 12px;
	}

	.lpm-filter-reset-row {
		margin-top: 10px;
		display: flex;
		justify-content: stretch;
	}

	.lpm-btn-reset-filters {
		width: 100%;
	}

	/* Secondary statistical columns collapse on mobile screens */
	.lpm-players-table .col-stat {
		display: none !important;
	}

	/* Show mobile breakdown under player name */
	.lpm-players-table .lpm-mobile-stats {
		display: flex;
		flex-wrap: wrap;
		gap: 6px;
		font-size: 11px;
		color: #64748b;
		margin-top: 3px;
		font-weight: 500;
	}

	.lpm-players-table .lpm-mobile-stats span {
		background: #f1f5f9;
		padding: 1px 5px;
		border-radius: 3px;
	}

	/* Priority columns sizing on mobile */
	.lpm-players-table th,
	.lpm-players-table td {
		padding: 8px 8px !important;
	}

	.lpm-players-table .col-rank {
		width: 38px;
	}

	.lpm-rank-badge {
		width: 26px;
		height: 26px;
		font-size: 11.5px;
	}

	.lpm-players-table .col-player {
		min-width: 110px;
	}

	.lpm-players-table .col-pos {
		width: 40px;
	}

	.lpm-players-table .col-nhl-team {
		width: 50px;
	}

	.lpm-players-table .col-fp {
		width: 58px;
		padding-right: 8px !important;
	}

	.lpm-players-table .col-status {
		width: 80px;
	}

	.lpm-badge-available {
		font-size: 9.5px;
		padding: 3px 6px;
	}

	.lpm-badge-taken {
		font-size: 10px;
		padding: 2px 6px;
	}

	.lpm-pagination-bar {
		flex-direction: column;
		align-items: center;
		gap: 10px;
		text-align: center;
	}

	.lpm-page-size-selector {
		margin: 2px 0;
	}

	.lpm-public-league-container .lpm-public-subnav,
	.lpm-public-subnav {
		margin-bottom: 16px !important;
		overflow-x: auto !important;
		-webkit-overflow-scrolling: touch !important;
		width: 100% !important;
		display: block !important;
	}

	.lpm-public-league-container .lpm-subnav-container,
	.lpm-public-subnav .lpm-subnav-container {
		display: flex !important;
		flex-wrap: nowrap !important;
		white-space: nowrap !important;
		overflow-x: auto !important;
		-webkit-overflow-scrolling: touch !important;
		gap: 6px !important;
		padding-bottom: 2px !important;
	}

	.lpm-public-league-container .lpm-subnav-tab,
	.lpm-public-subnav .lpm-subnav-tab {
		flex: 0 0 auto !important;
		height: 40px !important;
		line-height: 40px !important;
		padding: 0 16px !important;
		font-size: 13.5px !important;
		white-space: nowrap !important;
	}
}

/* ==========================================================================
   LIFETIMEPOOL PLAYOFF CUP STYLES
   ========================================================================== */

.lpm-playoff-wrapper {
	margin-bottom: 40px !important;
}

/* Playoff Status Pills */
.lpm-pill-open {
	background: #166534 !important;
	color: #ffffff !important;
}

.lpm-pill-locked {
	background: #1e3a8a !important;
	color: #ffffff !important;
}

.lpm-pill-setup {
	background: #475569 !important;
	color: #ffffff !important;
}

/* Playoff Card Generic */
.lpm-playoff-card,
.lpm-playoff-submissions-card,
.lpm-playoff-roster-section,
.lpm-playoff-rules-card {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
	margin-bottom: 24px;
	overflow: hidden;
}

.lpm-playoff-card-header {
	padding: 16px 20px;
	background: #f8fafc;
	border-bottom: 1px solid #e2e8f0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.lpm-playoff-card-title {
	margin: 0;
	font-size: 18px;
	font-weight: 700;
	color: #0f172a;
}

.lpm-playoff-card-sub {
	font-size: 13px;
	color: #64748b;
}

/* Standings Table Tie & Toggle */
.lpm-badge-tie {
	background: #fee2e2;
	color: #991b1b;
	font-size: 11px;
	font-weight: 700;
	padding: 2px 6px;
	border-radius: 4px;
	margin-left: 6px;
	text-transform: uppercase;
}

.lpm-btn-tiebreak-toggle {
	background: #f1f5f9;
	border: 1px solid #cbd5e1;
	border-radius: 4px;
	color: #334155;
	font-size: 12px;
	font-weight: 600;
	padding: 4px 8px;
	cursor: pointer;
	transition: all 0.15s ease-in-out;
}

.lpm-btn-tiebreak-toggle:hover {
	background: #e2e8f0;
	color: #0f172a;
}

/* Expandable Tiebreak Drawer */
.lpm-tiebreak-drawer-row {
	background: #f8fafc;
}

.lpm-tiebreak-drawer-cell {
	padding: 12px 20px !important;
	border-bottom: 2px solid #e2e8f0 !important;
}

.lpm-tiebreak-drawer-content {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.lpm-tiebreak-reserves-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.lpm-tb-slot-box {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 6px;
	padding: 8px 12px;
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);
}

.lpm-tb-slot-tag {
	font-weight: 600;
	color: #475569;
}

.lpm-tb-player {
	color: #0f172a;
	font-weight: 500;
}

.lpm-tb-fp {
	color: #0284c7;
	font-weight: 700;
}

.lpm-tiebreak-notice-bar {
	font-size: 12.5px;
	padding: 6px 10px;
	background: #f1f5f9;
	border-radius: 4px;
	display: flex;
	align-items: center;
	gap: 6px;
}

.lpm-tb-rule-tag {
	font-weight: 700;
	color: #334155;
}

.lpm-tb-resolution {
	color: #b91c1c;
	font-weight: 700;
}

.lpm-tb-inactive {
	color: #64748b;
}

/* Submission Status Grid */
.lpm-submission-status-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
	gap: 12px;
	padding: 16px 20px;
}

.lpm-sub-team-item {
	padding: 10px 14px;
	border-radius: 6px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	border: 1px solid #e2e8f0;
	background: #ffffff;
}

.lpm-item-submitted {
	border-color: #bbf7d0;
	background: #f0fdf4;
}

.lpm-item-pending {
	border-color: #fef08a;
	background: #fefce8;
}

.lpm-sub-team-name {
	font-weight: 600;
	font-size: 13.5px;
	color: #1e293b;
}

.lpm-badge-submitted {
	background: #166534;
	color: #ffffff;
	font-size: 11px;
	font-weight: 700;
	padding: 3px 8px;
	border-radius: 4px;
}

.lpm-badge-pending {
	background: #ca8a04;
	color: #ffffff;
	font-size: 11px;
	font-weight: 700;
	padding: 3px 8px;
	border-radius: 4px;
}

/* Franchise Selector Bar */
.lpm-roster-header-bar {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
}

.lpm-playoff-team-select-form select {
	height: 38px;
	border-radius: 6px;
	border: 1px solid #cbd5e1;
	padding: 0 12px;
	font-size: 14px;
	font-weight: 600;
	color: #0f172a;
	background: #ffffff;
}

/* Interactive Roster Selection Form */
.lpm-selection-form-wrapper {
	padding: 20px;
}

.lpm-candidate-summary-bar {
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 6px;
	padding: 12px 16px;
	margin-bottom: 20px;
}

.lpm-candidate-metrics {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	font-size: 14px;
	color: #334155;
}

.lpm-roster-group-section {
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	padding: 18px;
	margin-bottom: 20px;
	background: #ffffff;
}

.lpm-scoring-roster-group {
	border-top: 3px solid #0f172a;
}

.lpm-tiebreak-roster-group {
	border-top: 3px solid #0284c7;
	background: #f8fafc;
}

.lpm-roster-group-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 6px;
}

.lpm-roster-group-title {
	margin: 0;
	font-size: 16px;
	font-weight: 700;
	color: #0f172a;
}

.lpm-roster-group-badge {
	font-size: 11.5px;
	font-weight: 700;
	padding: 3px 8px;
	border-radius: 4px;
	text-transform: uppercase;
}

.lpm-badge-scoring {
	background: #0f172a;
	color: #ffffff;
}

.lpm-badge-tiebreaker {
	background: #0284c7;
	color: #ffffff;
}

.lpm-roster-group-desc {
	margin: 0 0 16px 0;
	font-size: 13px;
	color: #64748b;
}

.lpm-slots-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 16px;
}

.lpm-slot-category-box {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 6px;
	padding: 12px;
}

.lpm-slot-cat-header {
	font-size: 13.5px;
	font-weight: 700;
	color: #1e293b;
	margin-bottom: 10px;
	padding-bottom: 6px;
	border-bottom: 1px solid #e2e8f0;
}

.lpm-slot-field-row {
	display: flex;
	align-items: center;
	margin-bottom: 8px;
	gap: 8px;
}

.lpm-slot-label {
	width: 40px;
	font-size: 13px;
	font-weight: 700;
	color: #475569;
}

.lpm-slot-select {
	flex: 1;
	height: 34px;
	border-radius: 4px;
	border: 1px solid #cbd5e1;
	font-size: 13px;
	padding: 0 8px;
	background: #ffffff;
}

/* Ineligible Players List */
.lpm-ineligible-players-section {
	margin-top: 20px;
	padding: 16px;
	background: #fff1f2;
	border: 1px solid #fecdd3;
	border-radius: 6px;
}

.lpm-ineligible-title {
	margin: 0 0 4px 0;
	font-size: 14px;
	font-weight: 700;
	color: #9f1239;
}

.lpm-ineligible-sub {
	margin: 0 0 10px 0;
	font-size: 12.5px;
	color: #881337;
}

.lpm-ineligible-tags-list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.lpm-ineligible-pill {
	background: #ffffff;
	border: 1px solid #fecdd3;
	border-radius: 4px;
	padding: 4px 8px;
	font-size: 12px;
	color: #475569;
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.lpm-pill-tag {
	background: #e11d48;
	color: #ffffff;
	font-size: 10px;
	font-weight: 700;
	padding: 1px 5px;
	border-radius: 3px;
	text-transform: uppercase;
}

.lpm-btn-submit-roster {
	height: 42px !important;
	padding: 0 24px !important;
	font-size: 14px !important;
	font-weight: 700 !important;
}

/* Roster Viewer Styles */
.lpm-roster-viewer-wrap {
	padding: 20px;
}

.lpm-roster-meta-bar {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 6px;
	padding: 12px 16px;
	margin-bottom: 20px;
	align-items: center;
}

.lpm-total-fp-badge {
	background: #0f172a;
	color: #ffffff;
	padding: 3px 8px;
	border-radius: 4px;
	font-weight: 700;
}

.lpm-viewer-section-title {
	margin: 0 0 10px 0;
	font-size: 15px;
	font-weight: 700;
	color: #0f172a;
}

.lpm-playoff-roster-table {
	width: 100%;
	border-collapse: collapse;
}

.lpm-slot-empty {
	background: #fefce8;
	color: #92400e;
}

.lpm-empty-text {
	color: #a16207;
	font-style: italic;
}

.lpm-tfoot-subtotal th {
	background: #f8fafc !important;
	border-top: 2px solid #cbd5e1 !important;
	font-size: 14px !important;
}

.lpm-tb-header-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 10px;
}

/* Playoff Rules Card */
.lpm-rules-content {
	padding: 20px;
}

.lpm-rules-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 20px;
	margin-bottom: 16px;
}

.lpm-rule-box {
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 6px;
	padding: 14px;
}

.lpm-rule-box h4 {
	margin: 0 0 8px 0;
	font-size: 14px;
	font-weight: 700;
	color: #0f172a;
	border-bottom: 1px solid #e2e8f0;
	padding-bottom: 4px;
}

.lpm-rule-box ul,
.lpm-rule-box ol {
	margin: 0;
	padding-left: 18px;
	font-size: 12.5px;
	color: #334155;
}

.lpm-rule-box li {
	margin-bottom: 4px;
}

.lpm-rules-footer-note {
	background: #eff6ff;
	border: 1px solid #bfdbfe;
	border-radius: 6px;
	padding: 12px 16px;
	font-size: 12.5px;
	color: #1e3a8a;
}

.lpm-rules-footer-note p {
	margin: 0;
}

