.tix-table-search {
	--tix-table-search-text: var(--text, #0f172a);
	--tix-table-search-muted: var(--muted, #64748b);
	--tix-table-search-border: var(--border, rgba(15,23,42,0.16));
	--tix-table-search-surface: var(--surface, #fff);
	--tix-table-search-bg: rgba(255,255,255,0.92);
	--tix-table-search-hover-bg: #fff;
	--tix-table-search-primary: #0a84ff;

	display: block;
	max-width: 400px;
}

.tix-table-search-row {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 12px 0 18px;
}

.tix-table-search > span {
	display: block;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: var(--tix-table-search-muted);
	margin-bottom: 6px;
}

.tix-table-search-meta {
	font-size: 12px;
	color: var(--tix-table-search-muted, var(--muted, #64748b));
}

.tix-table-search-empty {
	font-size: 13px;
	color: var(--tix-table-search-muted, var(--muted, #64748b));
	padding: 12px 16px;
	border-radius: 14px;
	border: 1px dashed var(--tix-table-search-border, var(--border, rgba(15,23,42,0.16)));
	background: rgba(15,23,42,0.03);
}

.tix-table-search-empty[hidden] {
	display: none;
}

.roster-search.tix-table-search {
	--tix-table-search-text: var(--host-text, var(--roster-text, var(--text, #0f172a)));
	--tix-table-search-muted: var(--host-muted, var(--roster-muted, var(--muted, #64748b)));
	--tix-table-search-border: var(--host-border, var(--roster-border, var(--border, rgba(15,23,42,0.16))));
	--tix-table-search-surface: var(--host-surface, var(--roster-surface, var(--surface, #fff)));
}

.certs-search.tix-table-search {
	--tix-table-search-text: var(--text, #0f172a);
	--tix-table-search-muted: var(--muted, #64748b);
	--tix-table-search-border: var(--border, rgba(15,23,42,0.16));
	--tix-table-search-surface: var(--surface, #fff);
}

.annual-search.tix-table-search {
	--tix-table-search-text: var(--annual-text, var(--text, #0f172a));
	--tix-table-search-muted: var(--annual-muted, var(--muted, #64748b));
	--tix-table-search-border: var(--annual-border, var(--border, rgba(15,23,42,0.16)));
	--tix-table-search-surface: var(--annual-surface, var(--surface, #fff));
}

.attendance-search.tix-table-search {
	--tix-table-search-text: var(--attendance-strong, var(--attendance-text, var(--text, #0f172a)));
	--tix-table-search-muted: var(--attendance-muted, var(--muted, #64748b));
	--tix-table-search-border: var(--attendance-border, var(--border, rgba(15,23,42,0.16)));
	--tix-table-search-surface: var(--attendance-surface, var(--surface, #fff));
}

.aar-search-wrap.tix-table-search {
	--tix-table-search-text: var(--aar-text, var(--text, #0f172a));
	--tix-table-search-muted: var(--aar-muted, var(--muted, #64748b));
	--tix-table-search-border: var(--aar-border, var(--border, rgba(15,23,42,0.16)));
	--tix-table-search-surface: var(--aar-surface, var(--surface, #fff));
	max-width: 420px;
}

.notif-search.tix-table-search {
	--tix-table-search-text: var(--notif-ink, var(--text, #0f172a));
	--tix-table-search-muted: var(--notif-muted, var(--muted, #64748b));
	--tix-table-search-border: var(--notif-border, var(--border, rgba(15,23,42,0.16)));
	--tix-table-search-surface: var(--notif-surface, var(--surface, #fff));
}

.er-search.tix-table-search {
	--tix-table-search-text: var(--er-text, var(--text, #0f172a));
	--tix-table-search-muted: var(--er-muted, var(--muted, #64748b));
	--tix-table-search-border: var(--er-border, var(--border, rgba(15,23,42,0.16)));
	--tix-table-search-surface: var(--er-surface, var(--surface, #fff));
}

.egn-search.tix-table-search {
	--tix-table-search-text: var(--egn-text, var(--text, #0f172a));
	--tix-table-search-muted: var(--egn-muted, var(--muted, #64748b));
	--tix-table-search-border: var(--egn-border, var(--border, rgba(15,23,42,0.16)));
	--tix-table-search-surface: var(--egn-surface, var(--surface, #fff));
}

.waitlist-search.tix-table-search {
	--tix-table-search-text: var(--vw-text, var(--text, #0f172a));
	--tix-table-search-muted: var(--vw-muted, var(--muted, #64748b));
	--tix-table-search-border: var(--vw-border, var(--border, rgba(15,23,42,0.16)));
	--tix-table-search-surface: var(--vw-surface, var(--surface, #fff));
}

.tix-table-search .tix-table-search-control {
	display: flex;
	align-items: center;
	flex: 1 1 280px;
	min-width: 0;
	gap: 8px;
	border: 1px solid var(--tix-table-search-border);
	border-radius: 999px;
	padding: 7px 12px;
	background: color-mix(in srgb, var(--tix-table-search-bg) 82%, var(--tix-table-search-surface));
	color: var(--tix-table-search-text);
	transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.tix-table-search .tix-table-search-control:hover,
.tix-table-search .tix-table-search-control:focus-within {
	background: var(--tix-table-search-hover-bg);
	border-color: rgba(10,132,255,0.55);
	box-shadow: 0 0 0 3px rgba(10,132,255,0.12);
}

.tix-table-search .tix-table-search-icon {
	display: inline-flex;
	flex: 0 0 auto;
	color: var(--tix-table-search-primary);
}

.tix-table-search .tix-table-search-icon svg {
	width: 17px;
	height: 17px;
	stroke-width: 2.4;
}

.tix-table-search .tix-table-search-control input[type="search"] {
	width: 100%;
	min-width: 0;
	flex: 1 1 auto;
	border: 0;
	outline: 0;
	background: transparent;
	color: var(--tix-table-search-text);
	caret-color: var(--tix-table-search-primary);
	font: inherit;
	font-size: 14px;
	padding: 0;
}

.tix-table-search .tix-table-search-control input[type="search"]::placeholder {
	color: var(--tix-table-search-muted);
	opacity: 0.82;
}

.tix-table-search .tix-table-search-control input[type="search"]::-webkit-search-cancel-button {
	-webkit-appearance: none;
	appearance: none;
	display: none;
}

.tix-table-search .tix-table-search-clear {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 26px;
	height: 26px;
	border: 0;
	border-radius: 999px;
	background: color-mix(in srgb, var(--tix-table-search-muted) 13%, transparent);
	color: var(--tix-table-search-muted);
	cursor: pointer;
	padding: 0;
	-webkit-tap-highlight-color: transparent;
	transition: background 0.15s ease, box-shadow 0.15s ease, color 0.15s ease, transform 0.12s ease;
}

.tix-table-search .tix-table-search-clear[hidden] {
	display: none;
}

.tix-table-search .tix-table-search-clear:hover,
.tix-table-search .tix-table-search-clear:focus-visible {
	background: color-mix(in srgb, var(--tix-table-search-primary) 18%, transparent);
	box-shadow: 0 0 0 3px rgba(10,132,255,0.10);
	color: var(--tix-table-search-primary);
	outline: 0;
}

.tix-table-search .tix-table-search-clear:active {
	transform: scale(0.94);
}

.tix-table-search .tix-table-search-clear svg {
	width: 14px;
	height: 14px;
	stroke-width: 2.6;
}

body.theme-dark .tix-table-search {
	--tix-table-search-text: #e2e8f0;
	--tix-table-search-muted: #cbd5e1;
	--tix-table-search-border: rgba(96,165,250,0.50);
	--tix-table-search-surface: rgba(15,23,42,0.92);
	--tix-table-search-bg: rgba(30,41,59,0.92);
	--tix-table-search-hover-bg: rgba(30,41,59,0.96);
	--tix-table-search-primary: #93c5fd;
}

body.theme-dark .tix-table-search .tix-table-search-control {
	border-color: rgba(96,165,250,0.50);
	box-shadow: inset 0 0 0 1px rgba(148,163,184,0.12);
}

body.theme-dark .tix-table-search .tix-table-search-control:hover,
body.theme-dark .tix-table-search .tix-table-search-control:focus-within {
	border-color: #60a5fa;
	box-shadow: 0 0 0 3px rgba(96,165,250,0.22);
}

body.theme-dark .tix-table-search .tix-table-search-control input[type="search"]::placeholder {
	color: rgba(226,232,240,0.64);
	opacity: 1;
}

@media (prefers-color-scheme: dark) {
	body:not(.theme-light) .tix-table-search {
		--tix-table-search-text: #e2e8f0;
		--tix-table-search-muted: #cbd5e1;
		--tix-table-search-border: rgba(96,165,250,0.50);
		--tix-table-search-surface: rgba(15,23,42,0.92);
		--tix-table-search-bg: rgba(30,41,59,0.92);
		--tix-table-search-hover-bg: rgba(30,41,59,0.96);
		--tix-table-search-primary: #93c5fd;
	}

	body:not(.theme-light) .tix-table-search .tix-table-search-control {
		border-color: rgba(96,165,250,0.50);
		box-shadow: inset 0 0 0 1px rgba(148,163,184,0.12);
	}

	body:not(.theme-light) .tix-table-search .tix-table-search-control:hover,
	body:not(.theme-light) .tix-table-search .tix-table-search-control:focus-within {
		border-color: #60a5fa;
		box-shadow: 0 0 0 3px rgba(96,165,250,0.22);
	}

	body:not(.theme-light) .tix-table-search .tix-table-search-control input[type="search"]::placeholder {
		color: rgba(226,232,240,0.64);
		opacity: 1;
	}
}

@media (max-width: 700px) {
	.tix-table-search {
		max-width: 100%;
	}
}
