/* PrepEarn Core — front-end component styles (theme supplies page chrome) */
:root{
	--pe-blue:#1a4fd6;
	--pe-blue-dark:#123a9e;
	--pe-green:#2fa84f;
	--pe-green-dark:#1f7a38;
	--pe-ink:#0f172a;
	--pe-muted:#64748b;
	--pe-bg:#f6f8fc;
	--pe-card:#ffffff;
	--pe-border:#e5e9f2;
	--pe-radius:14px;
}

.pe-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:12px 22px;border-radius:999px;background:var(--pe-blue);color:#fff;font-weight:600;text-decoration:none;border:none;cursor:pointer;transition:.2s transform,.2s background;font-size:15px}
.pe-btn:hover{background:var(--pe-blue-dark);transform:translateY(-1px);color:#fff}
.pe-btn-outline{background:transparent;color:var(--pe-blue);border:2px solid var(--pe-blue);padding:10px 20px}
.pe-btn-outline:hover{background:var(--pe-blue);color:#fff}
.pe-btn-sm{padding:6px 14px;font-size:13px}

.pe-notice{padding:14px 18px;border-radius:10px;background:#eef2ff;color:var(--pe-blue-dark);margin-bottom:16px;font-weight:500}
.pe-notice-error{background:#fef2f2;color:#b91c1c}
.pe-notice-success{background:#ecfdf3;color:var(--pe-green-dark)}

/* Slider */
.pe-slider{position:relative;overflow:hidden;border-radius:var(--pe-radius)}
.pe-slider-track{display:flex;transition:transform .6s ease}
.pe-slide{min-width:100%}
.pe-slide img{width:100%;display:block;height:auto}
.pe-slider-dots{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);display:flex;gap:8px}
.pe-dot{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.55);border:none;cursor:pointer;padding:0}
.pe-dot.is-active{background:#fff;width:22px;border-radius:5px;transition:.25s}

/* Winners strip */
.pe-winners-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}
.pe-winner-card{background:var(--pe-card);border:1px solid var(--pe-border);border-radius:var(--pe-radius);padding:22px;text-align:center;box-shadow:0 4px 20px rgba(15,23,42,.04)}
.pe-winner-card img{width:64px;height:64px;border-radius:50%;object-fit:cover;margin:10px 0}
.pe-winner-badge{font-size:12px;font-weight:700;color:var(--pe-green-dark);text-transform:uppercase;letter-spacing:.04em}
.pe-winner-card strong{display:block;font-size:17px;color:var(--pe-ink)}
.pe-winner-card span{color:var(--pe-muted);font-size:14px}

/* Leaderboard */
.pe-leaderboard{background:var(--pe-card);border:1px solid var(--pe-border);border-radius:var(--pe-radius);overflow:hidden;box-shadow:0 1px 3px rgba(15,23,42,.03)}
.pe-lb-row{display:flex;align-items:center;gap:14px;padding:14px 18px;border-bottom:1px solid var(--pe-border);transition:background-color .15s}
.pe-lb-row:last-child{border-bottom:none}
.pe-lb-row:hover{background:var(--pe-bg)}
.pe-lb-rank{width:30px;flex-shrink:0;font-weight:800;font-size:15px;color:var(--pe-muted);text-align:center}
.pe-rank-1{background:linear-gradient(90deg,rgba(234,179,8,.08),transparent)}
.pe-rank-2{background:linear-gradient(90deg,rgba(148,163,184,.08),transparent)}
.pe-rank-3{background:linear-gradient(90deg,rgba(180,83,9,.08),transparent)}
.pe-rank-1 .pe-lb-rank{color:#eab308;font-size:17px}
.pe-rank-2 .pe-lb-rank{color:#94a3b8;font-size:16px}
.pe-rank-3 .pe-lb-rank{color:#b45309;font-size:16px}
.pe-lb-avatar{width:38px;height:38px;border-radius:50%;object-fit:cover;flex-shrink:0;border:2px solid var(--pe-bg)}
.pe-lb-name{flex:1;min-width:0;font-weight:600;color:var(--pe-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pe-lb-score{flex-shrink:0;font-weight:700;color:var(--pe-green-dark);font-size:14px;white-space:nowrap}
.pe-empty{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--pe-muted);padding:40px 24px;text-align:center;font-size:14px}
.pe-empty::before{content:"🏆";font-size:28px;opacity:.4}
@media (max-width:480px){
	.pe-lb-row{padding:12px 14px;gap:10px}
	.pe-lb-avatar{width:32px;height:32px}
	.pe-lb-name{font-size:14px}
	.pe-lb-score{font-size:13px}
}

/* Dashboard */
.pe-dash-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.pe-card{background:var(--pe-card);border:1px solid var(--pe-border);border-radius:var(--pe-radius);padding:20px}
.pe-card-label{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--pe-muted);margin-bottom:6px}
.pe-card strong{display:block;font-size:22px;color:var(--pe-ink);margin-bottom:6px}
.pe-status-active{color:var(--pe-green-dark)}
.pe-status-inactive{color:#b45309}

/* Wallet */
.pe-wallet-balance{font-size:15px;color:var(--pe-muted);margin-bottom:18px}
.pe-wallet-balance strong{display:block;font-size:30px;color:var(--pe-ink)}
.pe-withdraw-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:24px}
.pe-withdraw-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--pe-muted);font-weight:600}
.pe-withdraw-form input{padding:11px 12px;border-radius:8px;border:1px solid var(--pe-border);font-size:14px}
.pe-withdraw-form button{grid-column:1/-1;justify-self:start}

.pe-table{width:100%;border-collapse:collapse}
.pe-table td{padding:10px 8px;border-bottom:1px solid var(--pe-border);font-size:14px}
.pe-amt-positive{color:var(--pe-green-dark);font-weight:700}
.pe-amt-negative{color:#b91c1c;font-weight:700}

/* Pricing */
.pe-price-card{max-width:380px;margin:0 auto;background:var(--pe-card);border:1px solid var(--pe-border);border-radius:var(--pe-radius);padding:32px;text-align:center;box-shadow:0 10px 40px rgba(15,23,42,.06)}
.pe-price-tag{font-size:40px;font-weight:800;color:var(--pe-blue)}
.pe-price-tag small{font-size:16px;color:var(--pe-muted);font-weight:500}
.pe-price-card ul{list-style:none;padding:0;margin:24px 0;text-align:left}
.pe-price-card li{padding:8px 0;border-bottom:1px solid var(--pe-border);color:var(--pe-ink)}
.pe-price-card li::before{content:"✓ ";color:var(--pe-green);font-weight:800}
.pe-price-card form{display:flex;flex-direction:column;gap:10px}

/* Referral */
.pe-ref-link{display:flex;gap:8px;margin:14px 0}
.pe-ref-link input{flex:1;padding:11px 12px;border-radius:8px;border:1px solid var(--pe-border)}

/* Challenge */
.pe-challenge-form{
	background:var(--pe-card);border:1px solid var(--pe-border);border-radius:var(--pe-radius);
	padding:24px 26px;margin-bottom:20px;box-shadow:0 1px 3px rgba(15,23,42,.03);
	display:flex;flex-direction:column;gap:20px;
}
.pe-challenge-row{display:flex;gap:20px;align-items:flex-end;flex-wrap:wrap}
.pe-challenge-row-opponent{width:100%}
.pe-challenge-row-opponent label{width:100%}
.pe-challenge-row-fields{width:100%}
.pe-challenge-row-fields .pe-exam-picker{flex:1;min-width:0}
.pe-challenge-form label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--pe-muted);flex:1;min-width:200px}
.pe-challenge-form input{padding:13px 16px;border-radius:10px;border:1.5px solid var(--pe-border);font-size:15px;font-weight:500;color:var(--pe-ink);background:var(--pe-bg);width:100%;transition:border-color .15s,background-color .15s,box-shadow .15s}
.pe-challenge-form input:focus{outline:none;border-color:var(--pe-blue);background:#fff;box-shadow:0 0 0 4px rgba(26,79,214,.1)}
.pe-challenge-form button{flex-shrink:0;padding:14px 28px}
@media (max-width:700px){
	.pe-challenge-row-fields{flex-direction:column;align-items:stretch}
	.pe-challenge-row-fields .pe-exam-picker{flex-direction:column}
}
.pe-win-tag{color:var(--pe-green-dark);font-weight:700}
.pe-lose-tag{color:var(--pe-muted)}
.pe-tag{padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700}
.pe-tag-paid,.pe-tag-converted,.pe-tag-completed{background:#ecfdf3;color:var(--pe-green-dark)}
.pe-tag-pending{background:#fffbeb;color:#b45309}
.pe-tag-failed,.pe-tag-rejected{background:#fef2f2;color:#b91c1c}

/* Practice runner */
.pe-practice-setup{
	display:flex;
	align-items:flex-end;
	gap:20px;
	flex-wrap:wrap;
	background:var(--pe-card);
	border:1px solid var(--pe-border);
	border-radius:var(--pe-radius);
	padding:24px 26px;
	margin-bottom:24px;
	box-shadow:0 1px 3px rgba(15,23,42,.03);
}
.pe-exam-picker{display:flex;gap:20px;flex-wrap:wrap;flex:1}
.pe-practice-setup label,.pe-exam-picker label{
	display:flex;
	flex-direction:column;
	gap:8px;
	font-size:12px;
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:.04em;
	color:var(--pe-muted);
	flex:1;
	min-width:180px;
}
.pe-practice-setup select,.pe-exam-picker select{
	padding:13px 40px 13px 16px;
	min-width:0;
	width:100%;
	border-radius:10px;
	border:1.5px solid var(--pe-border);
	font-size:15px;
	font-weight:500;
	color:var(--pe-ink);
	background-color:var(--pe-bg);
	appearance:none;
	-webkit-appearance:none;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath fill='%2364748b' d='M1 1l6 6 6-6'/%3E%3C/svg%3E");
	background-repeat:no-repeat;
	background-position:right 16px center;
	cursor:pointer;
	transition:border-color .15s,background-color .15s,box-shadow .15s;
}
.pe-practice-setup select:hover,.pe-exam-picker select:hover{border-color:#c7d0e0}
.pe-practice-setup select:focus,.pe-exam-picker select:focus{
	outline:none;
	border-color:var(--pe-blue);
	background-color:#fff;
	box-shadow:0 0 0 4px rgba(26,79,214,.1);
}
.pe-practice-setup select:disabled,.pe-exam-picker select:disabled{background-color:#f1f5f9;color:#a3adc2;cursor:not-allowed;border-color:var(--pe-border)}
.pe-practice-setup [data-pe-start-practice]{flex-shrink:0;padding:14px 28px}
.pe-practice-setup [data-pe-start-practice]:disabled{opacity:.45;cursor:not-allowed;transform:none}

.pe-question-card{background:var(--pe-card);border:1px solid var(--pe-border);border-radius:var(--pe-radius);padding:26px;margin-bottom:16px}
.pe-type-practice-hint{color:var(--pe-muted);font-size:14px;margin:-8px 0 18px}
.pe-mock-timer{
	display:inline-flex;align-items:center;gap:8px;
	background:var(--pe-ink);color:#fff;font-weight:700;font-size:15px;
	padding:10px 18px;border-radius:999px;margin-bottom:16px;
	font-variant-numeric:tabular-nums;
}
.pe-mock-timer.is-urgent{background:#b91c1c;animation:pe-pulse 1s infinite}
@keyframes pe-pulse{0%,100%{opacity:1}50%{opacity:.6}}
.pe-question-progress{font-size:13px;color:var(--pe-muted);margin-bottom:10px}
.pe-question-text{font-size:18px;font-weight:600;color:var(--pe-ink);margin-bottom:18px}
.pe-option{display:flex;align-items:center;gap:10px;padding:12px 14px;border:2px solid var(--pe-border);border-radius:10px;margin-bottom:10px;cursor:pointer;transition:.15s}
.pe-option:hover{border-color:var(--pe-blue)}
.pe-option.is-selected{border-color:var(--pe-blue);background:#eef2ff}
.pe-option.is-locked{cursor:default}
.pe-option.is-correct-reveal{border-color:var(--pe-green);background:#dcfce7;color:var(--pe-green-dark);font-weight:600}
.pe-option.is-wrong-reveal{border-color:#dc2626;background:#fee2e2;color:#b91c1c;font-weight:600}
.pe-practice-nav{display:flex;justify-content:space-between;margin-top:20px}
.pe-result-summary{text-align:center;padding:40px 20px}
.pe-result-score{font-size:52px;font-weight:800;color:var(--pe-blue)}

.pe-review-list{margin-top:8px}
.pe-review-list h3{font-size:18px;margin-bottom:14px}
.pe-review-item{background:var(--pe-card);border:1px solid var(--pe-border);border-left:4px solid var(--pe-border);border-radius:10px;padding:16px 18px;margin-bottom:12px}
.pe-review-item.is-correct{border-left-color:var(--pe-green)}
.pe-review-item.is-wrong{border-left-color:#dc2626}
.pe-review-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.pe-review-num{font-weight:700;color:var(--pe-muted);font-size:13px}
.pe-review-tag{font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px}
.is-correct .pe-review-tag{background:#ecfdf3;color:var(--pe-green-dark)}
.is-wrong .pe-review-tag{background:#fef2f2;color:#b91c1c}
.pe-review-question{font-weight:600;color:var(--pe-ink);margin-bottom:8px}
.pe-review-answer,.pe-review-correct{font-size:14px;color:var(--pe-muted);margin-bottom:4px}
.is-wrong .pe-review-answer strong{color:#b91c1c}
.pe-review-correct strong{color:var(--pe-green-dark)}
.pe-review-explain{font-size:13px;color:var(--pe-muted);background:var(--pe-bg);border-radius:8px;padding:10px 12px;margin-top:8px}

/* Ad slots */
.pe-ad-slot{display:flex;justify-content:center;margin:24px 0}
