.wcdt-wrap {
	max-width: 560px;
	margin: 24px auto;
	padding: 28px;
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	box-shadow: 0 2px 8px rgba(0,0,0,.04);
}
.wcdt-title { margin: 0 0 6px; font-size: 1.4rem; }
.wcdt-desc { color: #64748b; margin-bottom: 22px; font-size: 14px; }
.wcdt-form-row { margin-bottom: 16px; }
.wcdt-form-row label {
	display: block;
	font-weight: 600;
	margin-bottom: 6px;
	font-size: 14px;
}
.wcdt-form-row select,
.wcdt-form-row input[type="text"] {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid #cbd5e1;
	border-radius: 8px;
	font-size: 15px;
	background: #fff;
}
.wcdt-hint { display: block; margin-top: 4px; color: #94a3b8; font-size: 12px; }
.wcdt-btn {
	display: inline-block;
	width: 100%;
	padding: 12px;
	background: #2563eb;
	color: #fff !important;
	border: none;
	border-radius: 8px;
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
	text-align: center;
}
.wcdt-btn:hover { background: #1d4ed8; }
.wcdt-btn:disabled { opacity: .6; cursor: not-allowed; }
.wcdt-btn-pay {
	background: #16a34a;
	margin-top: 12px;
}
.wcdt-btn-pay:hover { background: #15803d; }
.wcdt-loading {
	text-align: center;
	padding: 20px;
	color: #64748b;
}
.wcdt-spinner {
	display: inline-block;
	width: 18px;
	height: 18px;
	border: 2px solid #cbd5e1;
	border-top-color: #2563eb;
	border-radius: 50%;
	animation: wcdt-spin .7s linear infinite;
	vertical-align: middle;
	margin-right: 8px;
}
@keyframes wcdt-spin { to { transform: rotate(360deg); } }
.wcdt-result {
	margin-top: 20px;
	padding: 18px;
	background: #f8fafc;
	border-radius: 10px;
	border: 1px solid #e2e8f0;
}
.wcdt-result h3 { margin: 0 0 12px; font-size: 1.1rem; }
.wcdt-result-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
}
.wcdt-result-table th,
.wcdt-result-table td {
	padding: 8px 0;
	border-bottom: 1px solid #e2e8f0;
	text-align: left;
}
.wcdt-result-table th { color: #64748b; font-weight: 500; width: 40%; }
.wcdt-result-table .total td {
	font-weight: 700;
	font-size: 16px;
	border-bottom: none;
	padding-top: 12px;
}
.wcdt-alert {
	padding: 12px 16px;
	border-radius: 8px;
	margin-bottom: 16px;
	font-size: 14px;
}
.wcdt-alert-error { background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca; }
.wcdt-alert-info { background: #f0f9ff; color: #0369a1; border: 1px solid #bae6fd; }
.wcdt-alert-success { background: #f0fdf4; color: #166534; border: 1px solid #bbf7d0; }
