.wcap-form { max-width: 560px; margin: 0 0 2em; }
.wcap-field { margin-bottom: 1.2em; }
.wcap-field label { display: block; font-weight: 600; margin-bottom: 0.4em; }
.wcap-field-hint { display: block; font-size: 0.82em; color: #777; margin-top: 0.3em; }
.wcap-field input[type="text"],
.wcap-field input[type="email"],
.wcap-field input[type="number"],
.wcap-field input[type="date"],
.wcap-field textarea {
	width: 100%;
	padding: 0.6em 0.8em;
	border: 1px solid #ccd0d4;
	border-radius: 4px;
	font-size: 1em;
	box-sizing: border-box;
}
.wcap-checkbox-field label { font-weight: 400; display: flex; align-items: flex-start; gap: 0.5em; }
.wcap-checkbox-field input[type="checkbox"] { margin-top: 0.3em; }
.wcap-terms-box { background: #f7f7f7; border: 1px solid #e2e2e2; border-radius: 4px; padding: 1em 1.2em; font-size: 0.92em; max-height: 220px; overflow-y: auto; }

.wcap-btn { border: none; border-radius: 4px; padding: 0.75em 1.6em; font-size: 1em; cursor: pointer; }
.wcap-btn-primary { background: #2271b1; color: #fff; }
.wcap-btn-primary:hover { background: #135e96; }

.wcap-notice { padding: 0.9em 1.2em; border-radius: 4px; margin-bottom: 1.4em; font-size: 0.95em; }
.wcap-notice-success { background: #edfaef; border: 1px solid #b6e6bd; color: #1e6b2e; }
.wcap-notice-error { background: #fdecea; border: 1px solid #f3b6b0; color: #8a2114; }
.wcap-notice-info { background: #eef6fc; border: 1px solid #b9dcf2; color: #12507e; }

.wcap-dashboard { max-width: 900px; }
.wcap-cards { display: flex; flex-wrap: wrap; gap: 1em; margin-bottom: 2em; }
.wcap-card { flex: 1 1 200px; background: #fff; border: 1px solid #e2e2e2; border-radius: 8px; padding: 1.2em 1.4em; }
.wcap-card-label { display: block; font-size: 0.85em; color: #666; margin-bottom: 0.4em; }
.wcap-card-value { display: block; font-size: 1.8em; font-weight: 700; color: #222; }
.wcap-card-sub { display: block; font-size: 0.8em; color: #888; margin-top: 0.2em; }

.wcap-referral-box, .wcap-redeem-box, .wcap-history-box { margin-bottom: 2.2em; }
.wcap-referral-input { width: 100%; padding: 0.6em 0.8em; border: 1px solid #ccd0d4; border-radius: 4px; box-sizing: border-box; font-family: monospace; }

.wcap-table { width: 100%; border-collapse: collapse; }
.wcap-table th, .wcap-table td { text-align: left; padding: 0.6em 0.8em; border-bottom: 1px solid #eee; font-size: 0.92em; }
.wcap-table th { background: #f7f7f7; }
.wcap-positive { color: #1e6b2e; font-weight: 600; }
.wcap-negative { color: #8a2114; font-weight: 600; }

.wcap-status { display: inline-block; padding: 0.15em 0.7em; border-radius: 12px; font-size: 0.82em; font-weight: 600; text-transform: capitalize; }
.wcap-status-pending { background: #fff4e5; color: #9a6700; }
.wcap-status-approved { background: #e6f6e9; color: #1e6b2e; }
.wcap-status-blocked { background: #fdecea; color: #8a2114; }
.wcap-status-removed { background: #eee; color: #666; }
.wcap-status-rejected { background: #fdecea; color: #8a2114; }
