/**
 * YNLBPC Legacy School Rep Academy
 * Scoped styles. Inherits the site's fonts; colours pull YNLBPC / Legacy of
 * Legends branding (gold + charcoal) with safe fallbacks.
 */

.ynlbpc,
.ynlbpc-admin {
	--ynlbpc-gold: #d4af37;
	--ynlbpc-gold-dark: #b9975b;
	--ynlbpc-gold-soft: #f2dc9b;
	--ynlbpc-ink: #0b0b0b;
	--ynlbpc-body: #333333;
	--ynlbpc-muted: #6b6b6b;
	--ynlbpc-line: #e4e0d4;
	--ynlbpc-bg: #ffffff;
	--ynlbpc-bg-soft: #faf7ef;
	--ynlbpc-radius: 10px;
	--ynlbpc-shadow: 0 1px 3px rgba(11, 11, 11, .08), 0 6px 18px rgba(11, 11, 11, .06);
	--ynlbpc-heading: "Playfair Display", Georgia, "Times New Roman", serif;
	--ynlbpc-sans: Inter, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	color: var(--ynlbpc-body);
	font-family: var(--ynlbpc-sans);
}

.ynlbpc * ,
.ynlbpc *::before,
.ynlbpc *::after {
	box-sizing: border-box;
}

.ynlbpc h1, .ynlbpc h2, .ynlbpc h3,
.ynlbpc-admin .ynlbpc-stat__label {
	font-family: var(--ynlbpc-heading);
	color: var(--ynlbpc-ink);
	line-height: 1.2;
}

.ynlbpc h2 { margin: 0 0 .4em; }
.ynlbpc h3 { margin: 0 0 .5em; font-size: 1.15rem; }

.ynlbpc .ynlbpc-muted { color: var(--ynlbpc-muted); font-size: .9em; }

/* ---------- Cards ---------- */
.ynlbpc-card {
	background: var(--ynlbpc-bg);
	border: 1px solid var(--ynlbpc-line);
	border-radius: var(--ynlbpc-radius);
	box-shadow: var(--ynlbpc-shadow);
	padding: 20px 22px;
	margin: 0 0 18px;
}

.ynlbpc-card__head {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 10px;
}

.ynlbpc-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 16px;
	margin-bottom: 18px;
}
.ynlbpc-cards .ynlbpc-card { margin-bottom: 0; }

/* ---------- Stat blocks ---------- */
.ynlbpc-stat { display: flex; flex-direction: column; gap: 6px; }
.ynlbpc-stat__label {
	font-size: .8rem;
	text-transform: uppercase;
	letter-spacing: .06em;
	color: var(--ynlbpc-muted);
}
.ynlbpc-stat__value {
	font-family: var(--ynlbpc-heading);
	font-size: 1.7rem;
	font-weight: 700;
	color: var(--ynlbpc-ink);
}

/* ---------- Buttons ---------- */
.ynlbpc-btn {
	display: inline-block;
	padding: 9px 16px;
	border-radius: 8px;
	border: 1px solid var(--ynlbpc-gold-dark);
	background: var(--ynlbpc-bg-soft);
	color: var(--ynlbpc-ink);
	font-weight: 600;
	font-size: .92rem;
	text-decoration: none;
	cursor: pointer;
	transition: background .15s ease, transform .05s ease;
}
.ynlbpc-btn:hover { background: var(--ynlbpc-gold-soft); }
.ynlbpc-btn:active { transform: translateY(1px); }
.ynlbpc-btn--primary {
	background: var(--ynlbpc-gold);
	border-color: var(--ynlbpc-gold);
	color: var(--ynlbpc-ink);
}
.ynlbpc-btn--primary:hover { background: var(--ynlbpc-gold-dark); color: #fff; }

/* ---------- Forms ---------- */
.ynlbpc-form label,
.ynlbpc-inline-form label { display: block; margin-bottom: 14px; }
.ynlbpc-form label > span { display: block; font-weight: 600; margin-bottom: 4px; font-size: .9rem; }

.ynlbpc-form input[type="text"],
.ynlbpc-form input[type="email"],
.ynlbpc-form input[type="tel"],
.ynlbpc-form input[type="url"],
.ynlbpc-form input[type="number"],
.ynlbpc-form input[type="date"],
.ynlbpc-form select,
.ynlbpc-form textarea {
	width: 100%;
	padding: 9px 11px;
	border: 1px solid var(--ynlbpc-line);
	border-radius: 8px;
	font: inherit;
	color: var(--ynlbpc-ink);
	background: #fff;
}
.ynlbpc-form input:focus,
.ynlbpc-form select:focus,
.ynlbpc-form textarea:focus {
	outline: 2px solid var(--ynlbpc-gold);
	outline-offset: 1px;
	border-color: var(--ynlbpc-gold);
}

.ynlbpc-grid { display: grid; gap: 0 18px; }
.ynlbpc-grid--2 { grid-template-columns: 1fr 1fr; }
.ynlbpc-grid .ynlbpc-col-2 { grid-column: 1 / -1; }

.ynlbpc-check {
	display: flex !important;
	gap: 10px;
	align-items: flex-start;
	font-weight: 400 !important;
}
.ynlbpc-check input { margin-top: 3px; flex: 0 0 auto; }
.ynlbpc-check span { font-weight: 400; }

.ynlbpc-inline-form { margin-top: 12px; }

/* ---------- Notices ---------- */
.ynlbpc-notice {
	border-radius: 8px;
	padding: 12px 14px;
	margin: 0 0 16px;
	font-size: .92rem;
	border: 1px solid transparent;
}
.ynlbpc-notice--success { background: #eef7ee; border-color: #cfe8cf; color: #1f5c1f; }
.ynlbpc-notice--warning { background: #fdf6e3; border-color: #f0e0b0; color: #7a5b12; }
.ynlbpc-notice--error   { background: #fbeaea; border-color: #f0c4c4; color: #8a1f1f; }
.ynlbpc-notice--info    { background: var(--ynlbpc-bg-soft); border-color: var(--ynlbpc-line); color: var(--ynlbpc-body); }

/* ---------- Badges ---------- */
.ynlbpc-badge {
	display: inline-block;
	padding: 3px 9px;
	border-radius: 999px;
	font-size: .74rem;
	font-weight: 700;
	letter-spacing: .03em;
	text-transform: uppercase;
	background: #eee;
	color: #333;
	white-space: nowrap;
}
.ynlbpc-badge--lead-submitted,
.ynlbpc-badge--app-pending,
.ynlbpc-badge--comm-pending { background: #eef1f6; color: #445; }
.ynlbpc-badge--lead-approved,
.ynlbpc-badge--lead-contacted,
.ynlbpc-badge--lead-proposal_sent { background: #e7f0fb; color: #1c4e86; }
.ynlbpc-badge--lead-booked,
.ynlbpc-badge--lead-paid { background: #e9f3ff; color: #14508c; }
.ynlbpc-badge--lead-commission_earned,
.ynlbpc-badge--comm-earned,
.ynlbpc-badge--app-approved { background: #fdf3d6; color: #7a5b12; }
.ynlbpc-badge--lead-commission_paid,
.ynlbpc-badge--comm-paid { background: #e4f4e4; color: #1f5c1f; }
.ynlbpc-badge--lead-rejected,
.ynlbpc-badge--lead-cancelled,
.ynlbpc-badge--lead-duplicate,
.ynlbpc-badge--app-rejected,
.ynlbpc-badge--comm-void { background: #f6e4e4; color: #8a1f1f; }

/* ---------- Progress ---------- */
.ynlbpc-progress {
	position: relative;
	height: 22px;
	background: var(--ynlbpc-bg-soft);
	border: 1px solid var(--ynlbpc-line);
	border-radius: 999px;
	overflow: hidden;
	margin: 6px 0;
}
.ynlbpc-progress__bar {
	position: absolute;
	inset: 0 auto 0 0;
	background: linear-gradient(90deg, var(--ynlbpc-gold-dark), var(--ynlbpc-gold));
	border-radius: 999px;
	transition: width .5s ease;
}
.ynlbpc-progress__label {
	position: relative;
	z-index: 1;
	display: block;
	text-align: center;
	font-size: .74rem;
	font-weight: 700;
	line-height: 22px;
	color: var(--ynlbpc-ink);
}

/* ---------- Tables ---------- */
.ynlbpc-table-wrap { overflow-x: auto; }
.ynlbpc-table {
	width: 100%;
	border-collapse: collapse;
	font-size: .92rem;
}
.ynlbpc-table th,
.ynlbpc-table td {
	text-align: left;
	padding: 10px 12px;
	border-bottom: 1px solid var(--ynlbpc-line);
	vertical-align: top;
}
.ynlbpc-table thead th {
	background: var(--ynlbpc-bg-soft);
	font-family: var(--ynlbpc-heading);
	font-size: .82rem;
	text-transform: uppercase;
	letter-spacing: .04em;
}
.ynlbpc-table tbody tr:hover { background: #fcfbf6; }

/* ---------- Modules ---------- */
.ynlbpc-module__head {
	display: flex;
	gap: 12px;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
}
.ynlbpc-module.is-done { border-left: 4px solid var(--ynlbpc-gold); }
.ynlbpc-module__body { margin: 8px 0 4px; }
.ynlbpc-module__body ul,
.ynlbpc-module__body ol { padding-left: 1.3em; }

.ynlbpc-quiz__q {
	border: 1px solid var(--ynlbpc-line);
	border-radius: 8px;
	padding: 12px 14px;
	margin: 0 0 14px;
}
.ynlbpc-quiz__q legend { font-weight: 700; padding: 0 6px; }

/* ---------- Admin tweaks ---------- */
.ynlbpc-admin .ynlbpc-cards { margin-top: 16px; }
.ynlbpc-admin .ynlbpc-card { background: #fff; }
.ynlbpc-admin-form { max-width: 820px; }
.ynlbpc-admin .ynlbpc-filters a { text-decoration: none; }
.ynlbpc-admin .ynlbpc-filters a.current { font-weight: 700; color: var(--ynlbpc-gold-dark); }
.ynlbpc-admin details summary { cursor: pointer; font-weight: 600; }

/* ---------- Responsive ---------- */
@media (max-width: 640px) {
	.ynlbpc-grid--2 { grid-template-columns: 1fr; }
	.ynlbpc-card { padding: 16px; }
	.ynlbpc-stat__value { font-size: 1.4rem; }
}
