/* PlayPulse front-end component styles (plugin-owned: codes box, alerts, requests) */

.playpulse-codes-box{
	margin:24px 0;padding:var(--card-pad,20px);border-radius:16px;
	background:linear-gradient(135deg,#11131a,#1b2030);color:#eaf0ff;
	border:1px solid rgba(123,176,255,.25);
}
.playpulse-codes-box h2{margin:0 0 12px;color:#fff;}
.playpulse-code-group{margin-bottom:14px;}
.playpulse-code-group h4{margin:0 0 6px;color:#9fb6ff;font-size:14px;}
.playpulse-code{
	display:flex;align-items:center;gap:10px;margin:6px 0;
	background:rgba(255,255,255,.06);padding:10px 12px;border-radius:10px;
}
.playpulse-code code{font-size:16px;letter-spacing:.5px;color:#fff;word-break:break-all;}
.playpulse-copy{
	margin-left:auto;cursor:pointer;border:0;border-radius:8px;padding:6px 12px;
	background:var(--btn,#0e6dfd);color:#fff;font-size:13px;
}
.playpulse-copy.copied{background:#16a34a;}
.playpulse-code-note{font-size:12px;color:#9aa4bf;margin-top:8px;}

/* Alerts list — uses theme tokens so it adapts to night/light mode. */
.playpulse-alert-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;}
.playpulse-alert{
	border:1px solid var(--line,rgba(255,255,255,.08));border-radius:14px;padding:var(--card-pad,16px 18px);
	background:var(--surface,#171c2b);color:var(--text,#e8ecf6);position:relative;
	transition:border-color .15s ease,transform .12s ease;
}
.playpulse-alert:hover{transform:translateY(-1px);border-color:var(--brand,#6c5ce7);}
/* Unread: brand accent bar on the left + subtle highlight. */
.playpulse-alert.unread{border-left:4px solid var(--brand-2,#00d4ff);}
.playpulse-alert.unread::after{
	content:"";position:absolute;top:18px;right:18px;width:8px;height:8px;border-radius:50%;
	background:var(--brand-2,#00d4ff);box-shadow:0 0 8px var(--brand-2,#00d4ff);
}
.playpulse-alert-title{font-weight:700;margin-bottom:4px;color:var(--text,#e8ecf6);font-size:15px;}
.playpulse-alert-msg{color:var(--muted,#9aa4bf);font-size:14px;line-height:1.5;}
.playpulse-alert time{display:block;color:var(--muted,#9aa4bf);opacity:.75;font-size:12px;margin-top:8px;}
.playpulse-alert-link{font-size:13px;font-weight:600;color:var(--brand-2,#00d4ff);display:inline-block;margin-top:8px;}
.playpulse-alert-link:hover{text-decoration:underline;}

/* Forms / notices */
.playpulse-request-form{max-width:560px;}
.playpulse-request-form .form-row{margin-bottom:14px;display:flex;flex-direction:column;gap:6px;}
.playpulse-request-form input,.playpulse-request-form textarea{padding:10px 12px;border:1px solid #d1d5db;border-radius:10px;}
.playpulse-btn,.playpulse-request-form button{
	background:var(--btn,#0e6dfd);color:#fff;border:0;border-radius:10px;padding:11px 20px;cursor:pointer;font-size:15px;transition:background .14s ease;
}
.playpulse-btn:hover,.playpulse-request-form button:hover{background:var(--btn-hover,#2a82ff);}
.playpulse-notice{padding:12px 16px;border-radius:10px;margin-bottom:16px;}
.playpulse-notice.success{background:#dcfce7;color:#166534;}
.playpulse-pay-instructions{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:12px 14px;margin:10px 0;}
.playpulse-pay-instructions ul{margin:0 0 6px;padding-left:18px;}
.playpulse-bank{white-space:pre-wrap;background:#0f172a;color:#e2e8f0;padding:10px;border-radius:8px;font-size:13px;}

#playpulse-toast{
	position:fixed;left:50%;bottom:30px;transform:translateX(-50%) translateY(20px);
	background:#111827;color:#fff;padding:12px 18px;border-radius:10px;opacity:0;
	transition:.25s;z-index:9999;pointer-events:none;font-size:14px;
}
#playpulse-toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

/* Registration: "Confirm password" mismatch feedback. */
.playpulse-pass-msg{display:block;margin-top:6px;color:#ef4444;font-size:13px;font-weight:600;min-height:1em;}
.woocommerce-form-register input.is-invalid{border-color:#ef4444 !important;}
