/* League Dashboards - Frontend */
.ld-wrap{
	--ld-accent:#4169e1;
	--ld-accent-dark:color-mix(in srgb,var(--ld-accent) 55%,#000);
	--ld-bg:#0b0f18;
	--ld-glass:rgba(255,255,255,.03);
	--ld-glass-border:rgba(255,255,255,.06);
	--ld-muted:#94a3b8;
	--ld-radius:18px;

	font-family:'Inter',system-ui,sans-serif;
	color:#fff;
	padding:40px 20px;
	background:
		radial-gradient(circle at 20% 20%,#121a2b 0%,transparent 50%),
		radial-gradient(circle at 80% 80%,#0e1626 0%,transparent 50%),
		var(--ld-bg);
	border-radius:var(--ld-radius);
	max-width:1200px;
	margin:0 auto;
	box-sizing:border-box;
}
.ld-wrap *,.ld-wrap *::before,.ld-wrap *::after{box-sizing:border-box}

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

/* Card */
.ld-card{
	background:var(--ld-glass);
	backdrop-filter:blur(20px);
	-webkit-backdrop-filter:blur(20px);
	border:1px solid var(--ld-glass-border);
	border-radius:var(--ld-radius);
	padding:24px;
	box-shadow:0 15px 35px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.04);
}
.ld-card-title{
	margin:0 0 16px;
	font-size:1rem;
	font-weight:600;
	letter-spacing:.5px;
}

/* Follow The League */
.ld-btn-col{display:flex;flex-direction:column;gap:12px}
.ld-btn{
	display:block;
	padding:14px 24px;
	border:none;
	border-radius:10px;
	font-weight:600;
	text-transform:uppercase;
	letter-spacing:1px;
	cursor:pointer;
	transition:transform .25s,box-shadow .25s;
	color:#fff;
	text-align:center;
	text-decoration:none;
	font-size:.85rem;
}
.ld-btn:hover{transform:translateY(-3px);box-shadow:0 10px 25px rgba(0,0,0,.7)}
.ld-btn-primary{background:linear-gradient(135deg,var(--ld-accent-dark),var(--ld-accent))}
.ld-btn-secondary{background:linear-gradient(135deg,#0f172a,#1e293b);border:1px solid rgba(255,255,255,.06)}

/* Progress Circle */
.ld-progress-card{display:flex;flex-direction:column;align-items:center;justify-content:center}
.ld-circle{
	width:120px;height:120px;
	border-radius:50%;
	display:flex;align-items:center;justify-content:center;
}
.ld-circle span{
	width:90px;height:90px;
	border-radius:50%;
	background:var(--ld-bg);
	display:flex;align-items:center;justify-content:center;
	font-weight:700;font-size:1.1rem;
}
.ld-muted{color:var(--ld-muted);font-size:.9rem;margin:10px 0 0}

/* Calendar */
.ld-cal-list{display:flex;flex-direction:column;gap:6px}
.ld-cal-item{
	padding:8px 12px;
	border-radius:8px;
	font-size:.9rem;
	border:1px solid transparent;
}
.ld-cal-active{
	background:color-mix(in srgb,var(--ld-accent) 15%,transparent);
	border-color:color-mix(in srgb,var(--ld-accent) 40%,transparent);
}

/* Schedule Alert */
.ld-schedule-card{
	display:flex;
	align-items:flex-start;
	gap:14px;
	position:relative;
	padding-left:28px;
}
.ld-alert-bar{
	position:absolute;
	left:0;top:0;bottom:0;
	width:4px;
	background:var(--ld-accent);
	border-radius:4px 0 0 4px;
}
.ld-badge{
	background:linear-gradient(135deg,var(--ld-accent-dark),var(--ld-accent));
	min-width:36px;height:36px;
	border-radius:8px;
	display:flex;align-items:center;justify-content:center;
	font-weight:700;font-size:.95rem;
	flex-shrink:0;
}
.ld-schedule-title{font-weight:600;margin-bottom:4px}
.ld-schedule-content .ld-muted{margin:2px 0}

/* Responsive */
@media(max-width:640px){
	.ld-grid{grid-template-columns:1fr}
	.ld-wrap{padding:24px 12px}
}
