.tcc-box {
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	padding: 20px 24px;
	margin-bottom: 20px;
	box-shadow: 0 1px 2px rgba(0,0,0,.04);
}
.tcc-box h3 {
	margin-top: 0;
	font-size: 18px;
}
.tcc-auth-box {
	max-width: 480px;
	margin: 20px auto;
}
.tcc-form label {
	display: block;
	margin-bottom: 14px;
	font-weight: 600;
	font-size: 14px;
	color: #334155;
}
.tcc-form input[type=text],
.tcc-form input[type=email],
.tcc-form input[type=password],
.tcc-form input[type=url],
.tcc-form input[type=date],
.tcc-form select,
.tcc-form textarea {
	display: block;
	width: 100%;
	margin-top: 6px;
	padding: 9px 11px;
	border: 1px solid #cbd5e1;
	border-radius: 6px;
	font-size: 14px;
	font-weight: 400;
	box-sizing: border-box;
}
.tcc-form textarea { resize: vertical; }
.tcc-checkbox {
	display: flex !important;
	align-items: flex-start;
	gap: 8px;
	font-weight: 400 !important;
}
.tcc-checkbox input { width: auto !important; margin-top: 3px; }
.tcc-radio-group { display: flex; flex-direction: column; gap: 8px; margin: 8px 0 16px; }
.tcc-radio { font-weight: 400 !important; display: flex !important; align-items: center; gap: 8px; }
.tcc-radio input { width: auto !important; }

.tcc-btn {
	display: inline-block;
	background: #1e40af;
	color: #fff !important;
	border: none;
	border-radius: 6px;
	padding: 10px 20px;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	text-decoration: none;
}
.tcc-btn:hover { background: #1e3a8a; }
.tcc-btn-secondary { background: #64748b; }
.tcc-btn-secondary:hover { background: #475569; }
.tcc-btn-sm { padding: 5px 12px; font-size: 12px; }

.tcc-hint { color: #64748b; font-size: 13px; }
.tcc-notice { padding: 12px 16px; border-radius: 6px; margin-bottom: 16px; font-size: 14px; }
.tcc-notice-success { background: #dcfce7; color: #166534; border: 1px solid #bbf7d0; }
.tcc-notice-error { background: #fee2e2; color: #991b1b; border: 1px solid #fecaca; }

.tcc-dashboard-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 18px; }
.tcc-hello { font-size: 16px; margin: 0 0 4px; }
.tcc-theme { margin: 0; color: #475569; }

.tcc-table { width: 100%; border-collapse: collapse; }
.tcc-table th, .tcc-table td { text-align: left; padding: 8px 10px; border-bottom: 1px solid #e2e8f0; font-size: 14px; }

.tcc-status { padding: 3px 10px; border-radius: 999px; font-size: 12px; font-weight: 600; }
.tcc-status-pending { background: #fef9c3; color: #854d0e; }
.tcc-status-paid { background: #dcfce7; color: #166534; }
.tcc-status-expired, .tcc-status-failed, .tcc-status-cancelled { background: #fee2e2; color: #991b1b; }
.tcc-status-refunded { background: #e0e7ff; color: #3730a3; }

.tcc-participant-block { border-top: 1px dashed #e2e8f0; padding-top: 14px; margin-top: 14px; }
.tcc-participant-head { margin-bottom: 8px; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.tcc-badge { font-size: 11px; padding: 2px 8px; border-radius: 999px; font-weight: 700; }
.tcc-badge-finalist { background: #fde68a; color: #78350f; }

.tcc-participant-fieldset { border: 1px solid #e2e8f0; border-radius: 8px; padding: 14px 16px; margin-bottom: 14px; }
.tcc-participant-fieldset legend { font-weight: 700; padding: 0 6px; color: #1e40af; }
.tcc-individual-only { }
.tcc-ai-wrap { display: none; }
.tcc-pay-box { border-color: #1e40af; }

/* Countdown */
.tcc-countdown { text-align: center; }
.tcc-countdown-label { font-size: 14px; color: #64748b; margin: 0 0 10px; font-weight: 600; }
.tcc-countdown-units { display: flex; justify-content: center; gap: 14px; }
.tcc-countdown-unit {
	background: #1e293b;
	color: #fff;
	border-radius: 10px;
	padding: 14px 16px;
	min-width: 64px;
	text-align: center;
}
.tcc-countdown-unit span { display: block; font-size: 26px; font-weight: 800; line-height: 1; }
.tcc-countdown-unit small { display: block; font-size: 11px; margin-top: 4px; color: #cbd5e1; text-transform: uppercase; letter-spacing: .04em; }
.tcc-countdown-ended { font-weight: 700; color: #b91c1c; }

/* Live stats */
.tcc-live-stats { display: flex; justify-content: center; gap: 32px; flex-wrap: wrap; text-align: center; }
.tcc-stat-item { min-width: 120px; }
.tcc-stat-value { display: block; font-size: 34px; font-weight: 800; color: #1e40af; line-height: 1; }
.tcc-stat-caption { display: block; margin-top: 6px; font-size: 13px; color: #64748b; }

/* Registration badge */
.tcc-reg-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 16px;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 700;
}
.tcc-reg-badge-dot { width: 9px; height: 9px; border-radius: 50%; display: inline-block; }
.tcc-reg-badge-open { background: #dcfce7; color: #166534; }
.tcc-reg-badge-open .tcc-reg-badge-dot { background: #22c55e; }
.tcc-reg-badge-upcoming { background: #fef9c3; color: #854d0e; }
.tcc-reg-badge-upcoming .tcc-reg-badge-dot { background: #eab308; }
.tcc-reg-badge-closed { background: #fee2e2; color: #991b1b; }
.tcc-reg-badge-closed .tcc-reg-badge-dot { background: #ef4444; }
.tcc-reg-badge-dates { opacity: .75; font-weight: 500; }

/* Smart CTA */
.tcc-smart-cta { font-size: 16px; padding: 14px 32px; }
.tcc-btn-disabled { background: #94a3b8 !important; cursor: not-allowed; }
