body.tvc-private-summary-document { background: #fff; margin: 0; }

.tis-visitor-code {
	--tvc-navy: var(--tis-color-navy, #071d49);
	--tvc-navy-light: var(--tis-color-navy-light, #102d67);
	--tvc-gold: var(--tis-color-gold, #d3a83f);
	--tvc-gold-soft: var(--tis-color-gold-soft, #f6edd7);
	--tvc-gold-ink: var(--tis-color-gold-ink, #765611);
	--tvc-ink: var(--tis-color-ink, #172033);
	--tvc-muted: var(--tis-color-muted, #536078);
	--tvc-line: var(--tis-color-line, #dfe5ee);
	--tvc-surface: var(--tis-color-surface, #f4f6fa);
	--tvc-radius: var(--tis-radius-card, 18px);
	background: #fff;
	color: var(--tvc-ink);
	font-family: var(--tis-font-sans, Inter, system-ui, "Noto Sans Thai", "PingFang SC", "Microsoft YaHei", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
	font-size: 16px;
	font-weight: 400;
	line-height: var(--tis-leading-body, 1.55);
	max-width: none;
	overflow-wrap: break-word;
	text-align: left;
	width: 100%;
	-webkit-font-smoothing: antialiased;
}

.tis-visitor-code *,
.tis-visitor-code *::before,
.tis-visitor-code *::after { box-sizing: border-box; }
.tis-visitor-code .tvc-sr-only {
	clip: rect(0, 0, 0, 0);
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}
.tis-visitor-code h1,
.tis-visitor-code h2,
.tis-visitor-code h3,
.tis-visitor-code p,
.tis-visitor-code ol,
.tis-visitor-code ul { margin: 0; }
.tis-visitor-code h1,
.tis-visitor-code h2,
.tis-visitor-code h3 {
	color: var(--tvc-navy);
	font-family: inherit;
	letter-spacing: -.025em;
	line-height: var(--tis-leading-heading, 1.15);
	text-transform: none;
}
.tis-visitor-code h1 { font-size: var(--tis-type-h1, clamp(2.25rem, 5.2vw, 4.25rem)); font-weight: var(--tis-weight-heading, 750); }
.tis-visitor-code h2 { font-size: var(--tis-type-h2, clamp(1.6rem, 3vw, 2.35rem)); font-weight: var(--tis-weight-heading, 750); }
.tis-visitor-code h3 { font-size: var(--tis-type-h3, 1.06rem); font-weight: var(--tis-weight-control, 600); }
.tis-visitor-code a { color: var(--tvc-navy-light); text-decoration-thickness: .08em; text-underline-offset: .17em; }
.tis-visitor-code a:hover { color: var(--tvc-navy); }
.tis-visitor-code a:focus-visible,
.tis-visitor-code summary:focus-visible { outline: 3px solid var(--tvc-navy); outline-offset: 4px; }
.tis-visitor-code .tvc-shell { margin: 0 auto; max-width: var(--tis-container-wide, 1240px); padding: 24px clamp(16px, 3vw, 36px) 84px; width: 100%; }

/* Always available unless the shortcode explicitly opts out. */
.tis-visitor-code .tvc-language-switcher {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	justify-content: flex-end;
	margin-bottom: 18px;
}
.tis-visitor-code .tvc-language-switcher a {
	align-items: center;
	background: #fff;
	border: 1px solid var(--tvc-line);
	border-radius: 999px;
	color: var(--tvc-navy);
	display: inline-flex;
	font-size: .875rem;
	font-weight: var(--tis-weight-small, 500);
	justify-content: center;
	line-height: 1.4;
	min-height: 44px;
	padding: 9px 17px;
	text-decoration: none;
}
.tis-visitor-code .tvc-language-switcher a:hover { background: var(--tvc-gold-soft); border-color: var(--tvc-gold); }
.tis-visitor-code .tvc-language-switcher a.is-current { background: var(--tvc-navy); border-color: var(--tvc-navy); color: #fff; }

.tis-visitor-code .tvc-hero {
	background: var(--tvc-navy);
	border-radius: clamp(18px, 2.2vw, 26px);
	color: #e2e8f2;
	overflow: hidden;
	padding: clamp(34px, 6vw, 68px);
	position: relative;
}
.tis-visitor-code .tvc-hero::after {
	background: var(--tvc-gold);
	border-radius: 99px;
	content: "";
	height: 5px;
	left: clamp(34px, 6vw, 68px);
	position: absolute;
	top: 0;
	width: clamp(68px, 9vw, 112px);
}
.tis-visitor-code .tvc-status-row {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 10px 14px;
	margin-bottom: clamp(32px, 5vw, 52px);
}
.tis-visitor-code .tvc-status {
	background: var(--tvc-gold-soft);
	border-radius: 999px;
	color: var(--tvc-navy);
	font-size: .8125rem;
	font-weight: var(--tis-weight-small, 500);
	line-height: 1.4;
	padding: 7px 12px;
}
.tis-visitor-code .tvc-status-copy {
	color: #d8e0ee;
	font-size: .8125rem;
	font-weight: 400;
	line-height: 1.5;
}
.tis-visitor-code .tvc-eyebrow {
	color: #ecd17f;
	font-size: .8125rem;
	font-weight: var(--tis-weight-small, 500);
	letter-spacing: .09em;
	line-height: 1.45;
	margin-bottom: 13px;
	text-transform: uppercase;
}
.tis-visitor-code .tvc-hero h1 { color: #fff; max-width: 800px; }
.tis-visitor-code .tvc-intro {
	color: #e2e8f2;
	font-size: clamp(1rem, 1.5vw, 1.14rem);
	font-weight: 400;
	line-height: 1.72;
	margin-top: 22px;
	max-width: 920px;
}
.tis-visitor-code .tvc-prepared {
	border-top: 1px solid rgba(255, 255, 255, .2);
	color: #d8e0ee;
	font-size: .8125rem;
	font-weight: 400;
	margin-top: 24px;
	padding-top: 17px;
}

.tis-visitor-code .tvc-scope {
	align-items: start;
	background: var(--tvc-gold-soft);
	border: 1px solid #dfc77e;
	border-radius: var(--tvc-radius);
	display: grid;
	gap: 20px clamp(28px, 5vw, 64px);
	grid-template-columns: minmax(190px, .42fr) minmax(0, 1fr);
	margin-top: 22px;
	padding: clamp(24px, 4vw, 40px);
}
.tis-visitor-code .tvc-scope h2 { color: var(--tvc-navy); font-size: clamp(1.45rem, 2.2vw, 1.9rem); }
.tis-visitor-code .tvc-scope p { color: var(--tvc-ink); font-size: 1rem; font-weight: 400; line-height: 1.7; }

.tis-visitor-code .tvc-essentials { margin-top: clamp(46px, 7vw, 78px); }
.tis-visitor-code .tvc-section-intro { margin-bottom: 22px; }
.tis-visitor-code .tvc-essential-grid {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}
.tis-visitor-code .tvc-essential-card {
	background: var(--tvc-surface);
	border: 1px solid var(--tvc-line);
	border-radius: var(--tvc-radius);
	min-height: 198px;
	padding: 24px;
}
.tis-visitor-code .tvc-essential-card > span {
	color: var(--tvc-gold-ink);
	display: block;
	font-size: .75rem;
	font-weight: var(--tis-weight-small, 500);
	letter-spacing: .06em;
	margin-bottom: 28px;
}
.tis-visitor-code .tvc-essential-card h3 { color: var(--tvc-navy); font-size: 1.08rem; margin-bottom: 9px; }
.tis-visitor-code .tvc-essential-card p { color: var(--tvc-muted); font-size: .9375rem; font-weight: 400; line-height: 1.62; }

.tis-visitor-code .tvc-policy-layout {
	align-items: start;
	display: grid;
	gap: clamp(30px, 5vw, 64px);
	grid-template-columns: minmax(210px, 260px) minmax(0, 1fr);
	margin-top: clamp(54px, 8vw, 88px);
}
.tis-visitor-code .tvc-toc {
	background: var(--tvc-surface);
	border: 1px solid var(--tvc-line);
	border-radius: var(--tvc-radius);
	padding: 21px;
	position: sticky;
	top: 24px;
}
.tis-visitor-code .tvc-toc h2 { font-size: 1rem; font-weight: var(--tis-weight-control, 600); letter-spacing: 0; margin-bottom: 12px; }
.tis-visitor-code .tvc-toc ol { list-style: none; padding: 0; }
.tis-visitor-code .tvc-toc li + li { border-top: 1px solid var(--tvc-line); }
.tis-visitor-code .tvc-toc a {
	align-items: baseline;
	color: var(--tvc-muted);
	display: grid;
	font-size: .875rem;
	font-weight: var(--tis-weight-small, 500);
	gap: 9px;
	grid-template-columns: 24px minmax(0, 1fr);
	line-height: 1.45;
	padding: 10px 2px;
	text-decoration: none;
}
.tis-visitor-code .tvc-toc a:hover { color: var(--tvc-navy); }
.tis-visitor-code .tvc-toc a span { color: var(--tvc-gold-ink); font-size: .75rem; font-weight: 500; }

.tis-visitor-code .tvc-code-sections { min-width: 0; }
.tis-visitor-code .tvc-code-section,
.tis-visitor-code .tvc-sources {
	border-bottom: 1px solid var(--tvc-line);
	scroll-margin-top: 24px;
}
.tis-visitor-code .tvc-code-section:first-child { border-top: 1px solid var(--tvc-line); }
.tis-visitor-code summary {
	align-items: center;
	cursor: pointer;
	display: grid;
	gap: 16px;
	grid-template-columns: 40px minmax(0, 1fr) 34px;
	list-style: none;
	min-height: 118px;
	padding: 22px 2px;
}
.tis-visitor-code summary::-webkit-details-marker { display: none; }
.tis-visitor-code summary::marker { content: ""; }
.tis-visitor-code summary:hover .tvc-summary-copy strong { color: var(--tvc-navy-light); }
.tis-visitor-code .tvc-section-number {
	align-items: center;
	background: var(--tvc-gold-soft);
	border-radius: 999px;
	color: var(--tvc-gold-ink);
	display: inline-flex;
	font-size: .75rem;
	font-weight: var(--tis-weight-small, 500);
	height: 36px;
	justify-content: center;
	min-width: 36px;
}
.tis-visitor-code .tvc-summary-copy { display: grid; gap: 6px; min-width: 0; }
.tis-visitor-code .tvc-summary-copy strong {
	color: var(--tvc-navy);
	font-size: clamp(1.06rem, 1.6vw, 1.3rem);
	font-weight: var(--tis-weight-control, 600);
	letter-spacing: -.015em;
	line-height: 1.3;
}
.tis-visitor-code .tvc-summary-copy > span { color: var(--tvc-muted); font-size: .9375rem; font-weight: 400; line-height: 1.55; }
.tis-visitor-code .tvc-toggle {
	border: 1px solid var(--tvc-line);
	border-radius: 999px;
	height: 32px;
	position: relative;
	width: 32px;
}
.tis-visitor-code .tvc-toggle::before,
.tis-visitor-code .tvc-toggle::after {
	background: var(--tvc-navy);
	content: "";
	height: 2px;
	left: 9px;
	position: absolute;
	top: 14px;
	width: 12px;
}
.tis-visitor-code .tvc-toggle::after { transform: rotate(90deg); }
.tis-visitor-code details[open] .tvc-toggle::after { display: none; }
.tis-visitor-code .tvc-section-body { padding: 0 50px 30px 56px; }
.tis-visitor-code .tvc-section-body h3 { color: var(--tvc-ink); margin: 6px 0 10px; }
.tis-visitor-code .tvc-section-body h3:not(:first-child) { margin-top: 26px; }
.tis-visitor-code .tvc-section-body ul { display: grid; gap: 10px; padding-left: 22px; }
.tis-visitor-code .tvc-section-body li { color: var(--tvc-muted); font-size: 1rem; font-weight: 400; line-height: 1.7; padding-left: 4px; }
.tis-visitor-code .tvc-section-body li::marker { color: var(--tvc-gold-ink); }

.tis-visitor-code .tvc-contact {
	align-items: start;
	background: var(--tvc-navy);
	border-radius: var(--tvc-radius);
	color: #e2e8f2;
	display: grid;
	gap: 28px;
	grid-template-columns: minmax(0, 1fr) minmax(240px, .65fr);
	margin: 42px 0 18px;
	padding: clamp(26px, 4vw, 42px);
}
.tis-visitor-code .tvc-contact h2 { color: #fff; font-size: clamp(1.45rem, 2.2vw, 1.95rem); }
.tis-visitor-code .tvc-contact p { color: #e2e8f2; font-size: 1rem; font-weight: 400; line-height: 1.65; margin-top: 12px; }
.tis-visitor-code .tvc-contact address { display: grid; font-style: normal; gap: 10px; }
.tis-visitor-code .tvc-contact address a {
	background: rgba(255, 255, 255, .08);
	border: 1px solid rgba(255, 255, 255, .25);
	border-radius: 12px;
	color: #fff;
	font-size: .9375rem;
	font-weight: var(--tis-weight-control, 600);
	overflow-wrap: anywhere;
	padding: 12px 14px;
	text-decoration: none;
}
.tis-visitor-code .tvc-contact address a:hover { background: rgba(255, 255, 255, .14); }
.tis-visitor-code .tvc-contact address a:focus-visible { outline-color: var(--tvc-gold); }
.tis-visitor-code .tvc-contact address span { color: #c9d3e4; display: block; font-size: .75rem; font-weight: 400; margin-bottom: 3px; }

.tis-visitor-code .tvc-sources {
	background: var(--tvc-surface);
	border: 1px solid var(--tvc-line);
	border-radius: var(--tvc-radius);
	margin-top: 18px;
	padding: 0 20px;
}
.tis-visitor-code .tvc-sources summary { min-height: 104px; padding-inline: 2px; grid-template-columns: minmax(0, 1fr) 34px; }
.tis-visitor-code .tvc-sources-body { padding: 0 42px 24px 2px; }
.tis-visitor-code .tvc-sources-body ul { display: grid; gap: 9px; list-style: none; padding: 0; }
.tis-visitor-code .tvc-sources-body a { color: var(--tvc-navy-light); font-size: .9375rem; font-weight: 500; line-height: 1.5; }
.tis-visitor-code .tvc-sources-body p { border-top: 1px solid var(--tvc-line); color: var(--tvc-muted); font-size: .8125rem; font-weight: 400; line-height: 1.6; margin-top: 19px; padding-top: 16px; }
.tis-visitor-code .tvc-acknowledgment {
	border-left: 4px solid var(--tvc-gold);
	color: var(--tvc-ink);
	font-size: .9375rem;
	font-weight: 400;
	line-height: 1.65;
	margin-top: 40px;
	padding: 4px 0 4px 17px;
}

/* Adult pre-registration and non-identifying submission confirmation. */
.tis-visitor-code .tvc-registration {
	background: var(--tvc-surface);
	border: 1px solid var(--tvc-line);
	border-radius: var(--tvc-radius);
	margin-top: clamp(28px, 5vw, 52px);
	padding: clamp(24px, 5vw, 52px);
	scroll-margin-top: 24px;
}
.tis-visitor-code .tvc-form-heading {
	align-items: end;
	display: grid;
	gap: 20px clamp(28px, 5vw, 64px);
	grid-template-columns: minmax(0, .8fr) minmax(280px, 1fr);
	margin-bottom: 28px;
}
.tis-visitor-code .tvc-form-heading > p { color: var(--tvc-muted); font-size: 1rem; font-weight: 400; line-height: 1.65; }
.tis-visitor-code .tvc-form-kicker,
.tis-visitor-code .tvc-confirmation-kicker {
	color: var(--tvc-gold-ink);
	font-size: .8125rem;
	font-weight: var(--tis-weight-small, 500);
	letter-spacing: .08em;
	margin-bottom: 9px;
	text-transform: uppercase;
}
.tis-visitor-code .tvc-required-note { color: var(--tvc-muted); font-size: .875rem; font-weight: 400; margin-bottom: 14px; }
.tis-visitor-code .tvc-form-grid { display: grid; gap: 18px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.tis-visitor-code .tvc-field,
.tis-visitor-code .tvc-contact-fields { display: grid; gap: 7px; margin: 0; min-width: 0; padding: 0; }
.tis-visitor-code .tvc-field-wide { grid-column: 1 / -1; }
.tis-visitor-code .tvc-contact-fields { border: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.tis-visitor-code .tvc-contact-fields legend { color: var(--tvc-ink); float: left; font-size: .875rem; font-weight: 500; grid-column: 1 / -1; margin-bottom: 8px; width: 100%; }
.tis-visitor-code .tvc-field label { color: var(--tvc-ink); font-size: .9rem; font-weight: 500; }
.tis-visitor-code .tvc-field input,
.tis-visitor-code .tvc-field select {
	appearance: none;
	background: #fff;
	border: 1px solid #aeb8c8;
	border-radius: 10px;
	color: var(--tvc-ink);
	font: inherit;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.4;
	min-height: 48px;
	padding: 10px 12px;
	width: 100%;
}
.tis-visitor-code .tvc-field select {
	background-image: linear-gradient(45deg, transparent 50%, var(--tvc-navy) 50%), linear-gradient(135deg, var(--tvc-navy) 50%, transparent 50%);
	background-position: calc(100% - 18px) 21px, calc(100% - 13px) 21px;
	background-repeat: no-repeat;
	background-size: 5px 5px, 5px 5px;
	padding-right: 34px;
}
.tis-visitor-code .tvc-field input:focus,
.tis-visitor-code .tvc-field select:focus,
.tis-visitor-code .tvc-acknowledgments input:focus-visible,
.tis-visitor-code .tvc-button:focus-visible { border-color: var(--tvc-navy); outline: 3px solid rgba(211, 168, 63, .55); outline-offset: 2px; }
.tis-visitor-code .tvc-field input[aria-invalid="true"],
.tis-visitor-code .tvc-field select[aria-invalid="true"] { border-color: #9d2525; border-width: 2px; }
.tis-visitor-code .tvc-helper { color: var(--tvc-muted); font-size: .8125rem; font-weight: 400; line-height: 1.45; }
.tis-visitor-code .tvc-field-error { color: #842020; display: block; font-size: .8125rem; font-weight: 500; line-height: 1.45; }
.tis-visitor-code .tvc-error-summary,
.tis-visitor-code .tvc-system-unavailable {
	background: #fff0f0;
	border: 1px solid #c98787;
	border-left: 5px solid #842020;
	border-radius: 10px;
	color: #5c1515;
	font-size: .9375rem;
	font-weight: 400;
	margin-bottom: 20px;
	padding: 15px 18px;
}
.tis-visitor-code .tvc-error-summary ul { margin-top: 8px; padding-left: 20px; }
.tis-visitor-code .tvc-privacy-notice {
	background: var(--tvc-gold-soft);
	border: 1px solid #dfc77e;
	border-radius: 14px;
	color: var(--tvc-ink);
	margin-top: 26px;
	padding: clamp(20px, 3vw, 30px);
}
.tis-visitor-code .tvc-privacy-notice h3 { color: var(--tvc-navy); font-size: 1.12rem; margin-bottom: 13px; }
.tis-visitor-code .tvc-privacy-notice ul { display: grid; gap: 7px; padding-left: 20px; }
.tis-visitor-code .tvc-privacy-notice li,
.tis-visitor-code .tvc-privacy-notice p { color: var(--tvc-ink); font-size: .875rem; font-weight: 400; line-height: 1.55; }
.tis-visitor-code .tvc-privacy-notice p { margin-top: 13px; }
.tis-visitor-code .tvc-policy-links { display: flex; flex-wrap: wrap; gap: 9px 18px; }
.tis-visitor-code .tvc-policy-links a { color: var(--tvc-navy); font-weight: 500; }
.tis-visitor-code .tvc-acknowledgments { display: grid; gap: 12px; margin-top: 22px; }
.tis-visitor-code .tvc-acknowledgments label { align-items: start; color: var(--tvc-ink); display: grid; font-size: .9rem; font-weight: 400; gap: 11px; grid-template-columns: 20px minmax(0, 1fr); line-height: 1.55; }
.tis-visitor-code .tvc-acknowledgments input { accent-color: var(--tvc-navy); height: 19px; margin: 2px 0 0; width: 19px; }
.tis-visitor-code .tvc-button {
	align-items: center;
	border: 1px solid var(--tvc-navy);
	border-radius: 999px;
	cursor: pointer;
	display: inline-flex;
	font: inherit;
	font-size: .9375rem;
	font-weight: var(--tis-weight-control, 600);
	justify-content: center;
	line-height: 1.3;
	min-height: 48px;
	padding: 11px 20px;
	text-decoration: none;
}
.tis-visitor-code .tvc-button-primary { background: var(--tvc-navy); color: #fff; }
.tis-visitor-code .tvc-button-primary:hover { background: var(--tvc-navy-light); color: #fff; }
.tis-visitor-code .tvc-button-secondary { background: #fff; color: var(--tvc-navy); }
.tis-visitor-code .tvc-button-secondary:hover { background: var(--tvc-gold-soft); color: var(--tvc-navy); }
.tis-visitor-code .tvc-submit { margin-top: 22px; }
.tis-visitor-code .tvc-submit:disabled {
	cursor: wait;
	opacity: .62;
}

/* Private, read-only staff summary opened from administrator email. */
.tis-visitor-code.tvc-staff-summary { min-height: 100vh; }
.tis-visitor-code.tvc-staff-summary .tvc-shell { max-width: 1320px; padding-top: clamp(22px, 4vw, 48px); }
.tis-visitor-code .tvc-staff-hero {
	align-items: end;
	background: var(--tvc-navy);
	border-top: 6px solid var(--tvc-gold);
	border-radius: var(--tvc-radius);
	color: #e2e8f2;
	display: grid;
	gap: 24px;
	grid-template-columns: minmax(0, 1fr) auto;
	padding: clamp(28px, 5vw, 54px);
}
.tis-visitor-code .tvc-staff-hero h1 { color: #fff; font-size: clamp(2rem, 5vw, 3.8rem); }
.tis-visitor-code .tvc-staff-hero p:not(.tvc-eyebrow) { color: #d8e0ee; font-size: 1rem; font-weight: 400; line-height: 1.65; margin-top: 14px; max-width: 760px; }
.tis-visitor-code .tvc-staff-total {
	background: rgba(255, 255, 255, .09);
	border: 1px solid rgba(255, 255, 255, .24);
	border-radius: 14px;
	color: #fff;
	display: grid;
	gap: 4px;
	min-width: 180px;
	padding: 18px 22px;
}
.tis-visitor-code .tvc-staff-total span { color: #d8e0ee; font-size: .8125rem; font-weight: 400; }
.tis-visitor-code .tvc-staff-total strong { color: #fff; font-size: 2rem; font-weight: 600; line-height: 1.15; }
.tis-visitor-code .tvc-staff-private-note {
	align-items: center;
	background: var(--tvc-gold-soft);
	border: 1px solid #dfc77e;
	border-left: 5px solid var(--tvc-gold);
	border-radius: 12px;
	color: var(--tvc-ink);
	display: flex;
	font-size: .9375rem;
	font-weight: 400;
	gap: 14px 24px;
	justify-content: space-between;
	line-height: 1.65;
	margin-top: 18px;
	padding: 16px 18px;
}
.tis-visitor-code .tvc-staff-private-note strong { color: var(--tvc-navy); font-weight: 600; }
.tis-visitor-code .tvc-staff-private-note a { color: var(--tvc-navy); flex: 0 0 auto; font-size: .875rem; font-weight: 600; }
.tis-visitor-code .tvc-staff-filters {
	align-items: end;
	background: var(--tvc-surface);
	border: 1px solid var(--tvc-line);
	border-radius: var(--tvc-radius);
	display: grid;
	gap: 12px;
	grid-template-columns: minmax(170px, .65fr) minmax(220px, 1fr) auto auto;
	margin-top: 22px;
	padding: 20px;
}
.tis-visitor-code .tvc-staff-filters label { color: var(--tvc-ink); display: grid; font-size: .875rem; font-weight: 500; gap: 7px; min-width: 0; }
.tis-visitor-code .tvc-staff-filters input {
	background: #fff;
	border: 1px solid #aeb8c8;
	border-radius: 10px;
	color: var(--tvc-ink);
	font: inherit;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.4;
	min-height: 48px;
	padding: 10px 12px;
	width: 100%;
}
.tis-visitor-code .tvc-staff-filters input:focus { border-color: var(--tvc-navy); outline: 3px solid rgba(211, 168, 63, .55); outline-offset: 2px; }
.tis-visitor-code .tvc-staff-records { margin-top: clamp(34px, 5vw, 54px); }
.tis-visitor-code .tvc-staff-section-heading { align-items: end; display: flex; flex-wrap: wrap; gap: 10px 28px; justify-content: space-between; margin-bottom: 16px; }
.tis-visitor-code .tvc-staff-section-heading p { color: var(--tvc-muted); font-size: .9375rem; font-weight: 400; line-height: 1.55; max-width: 680px; }
.tis-visitor-code .tvc-staff-record {
	background: #fff;
	border: 1px solid var(--tvc-line);
	border-radius: 14px;
	overflow: hidden;
	scroll-margin-top: 24px;
}
.tis-visitor-code .tvc-staff-record + .tvc-staff-record { margin-top: 12px; }
.tis-visitor-code .tvc-staff-record[open] { border-color: #b8c4d6; box-shadow: 0 12px 30px rgba(7, 29, 73, .08); }
.tis-visitor-code .tvc-staff-record > summary {
	align-items: center;
	background: #fff;
	display: grid;
	gap: 16px;
	grid-template-columns: minmax(0, 1fr) auto;
	min-height: 0;
	padding: 20px 22px;
}
.tis-visitor-code .tvc-staff-record > summary::after { color: var(--tvc-navy); content: "+"; font-size: 1.45rem; font-weight: 400; grid-column: 3; line-height: 1; }
.tis-visitor-code .tvc-staff-record[open] > summary { background: var(--tvc-surface); border-bottom: 1px solid var(--tvc-line); }
.tis-visitor-code .tvc-staff-record[open] > summary::after { content: "−"; }
.tis-visitor-code .tvc-staff-record > summary > span:first-child { display: grid; gap: 5px; min-width: 0; }
.tis-visitor-code .tvc-staff-record > summary strong {
	color: var(--tvc-navy);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.4;
	overflow-wrap: anywhere;
}
.tis-visitor-code .tvc-staff-record > summary small { color: var(--tvc-muted); font-size: .875rem; font-weight: 400; line-height: 1.5; }
.tis-visitor-code .tvc-staff-status {
	background: var(--tvc-gold-soft);
	border-radius: 999px;
	color: var(--tvc-navy);
	font-size: .8125rem;
	font-weight: 500;
	line-height: 1.35;
	padding: 7px 11px;
	white-space: nowrap;
}
.tis-visitor-code .tvc-staff-record-body { padding: clamp(22px, 4vw, 34px); }
.tis-visitor-code .tvc-staff-record-body h3 { color: var(--tvc-navy); font-size: 1.05rem; font-weight: 600; margin-bottom: 9px; }
.tis-visitor-code .tvc-staff-record-body h3:not(:first-child) { border-top: 1px solid var(--tvc-line); margin-top: 30px; padding-top: 24px; }
.tis-visitor-code .tvc-staff-record-grid { display: grid; gap: 0 30px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; }
.tis-visitor-code .tvc-staff-record-grid > div { border-top: 1px solid var(--tvc-line); display: grid; gap: 7px; grid-template-columns: minmax(130px, .62fr) minmax(0, 1fr); padding: 12px 0; }
.tis-visitor-code .tvc-staff-record-grid dt { color: var(--tvc-muted); font-size: .8125rem; font-weight: 400; line-height: 1.45; }
.tis-visitor-code .tvc-staff-record-grid dd { color: var(--tvc-ink); font-size: .9375rem; font-weight: 500; line-height: 1.5; margin: 0; overflow-wrap: anywhere; word-break: normal; }
.tis-visitor-code .tvc-staff-record-grid-operations dd { font-weight: 400; }
.tis-visitor-code .tvc-staff-record-error { border-color: #c98787; }
.tis-visitor-code .tvc-staff-record-error .tvc-staff-record-body p { color: #5c1515; font-size: .9375rem; font-weight: 400; }
.tis-visitor-code .tvc-staff-empty,
.tis-visitor-code .tvc-staff-locked {
	background: var(--tvc-surface);
	border: 1px solid var(--tvc-line);
	border-radius: var(--tvc-radius);
	margin-top: 24px;
	padding: clamp(28px, 5vw, 54px);
}
.tis-visitor-code .tvc-staff-locked { border-top: 6px solid var(--tvc-gold); margin-top: 0; }
.tis-visitor-code .tvc-staff-locked .tvc-eyebrow { color: var(--tvc-gold-ink); }
.tis-visitor-code .tvc-staff-empty p,
.tis-visitor-code .tvc-staff-locked p:not(.tvc-eyebrow) { color: var(--tvc-muted); font-size: 1rem; font-weight: 400; line-height: 1.65; margin-top: 13px; max-width: 760px; }
.tis-visitor-code .tvc-staff-pagination { align-items: center; display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-top: 24px; }
.tis-visitor-code .tvc-staff-pagination span { color: var(--tvc-muted); font-size: .875rem; font-weight: 400; }
.tis-visitor-code .tvc-button-primary:visited { color: #fff; }
.tis-visitor-code .tvc-button-secondary:visited { color: var(--tvc-navy); }

.tis-visitor-code .tvc-confirmation h1,
.tis-visitor-code .tvc-invalid-confirmation h1 { margin-bottom: 14px; }
.tis-visitor-code .tvc-confirmation-summary { color: var(--tvc-muted); font-size: 1rem; font-weight: 400; line-height: 1.65; max-width: 720px; }
.tis-visitor-code .tvc-confirmation-card {
	background: #fff;
	border: 1px solid #cbd4e1;
	border-top: 5px solid var(--tvc-gold);
	border-radius: 14px;
	margin-top: 25px;
	max-width: 760px;
	padding: clamp(22px, 4vw, 38px);
}
.tis-visitor-code .tvc-reference-label { color: var(--tvc-muted); font-size: .8125rem; font-weight: 400; margin-bottom: 5px; }
.tis-visitor-code .tvc-reference {
	color: var(--tvc-navy);
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
	font-size: clamp(1.45rem, 4vw, 2.25rem);
	font-weight: 600;
	letter-spacing: .04em;
	line-height: 1.25;
	overflow-wrap: anywhere;
}
.tis-visitor-code .tvc-confirmation-details { display: grid; gap: 0; margin: 24px 0 0; }
.tis-visitor-code .tvc-confirmation-details div { border-top: 1px solid var(--tvc-line); display: grid; gap: 10px; grid-template-columns: minmax(145px, .52fr) minmax(0, 1fr); padding: 13px 0; }
.tis-visitor-code .tvc-confirmation-details dt { color: var(--tvc-muted); font-size: .8125rem; font-weight: 400; }
.tis-visitor-code .tvc-confirmation-details dd { color: var(--tvc-navy); font-size: 1rem; font-weight: 500; margin: 0; }
.tis-visitor-code .tvc-confirmation-status { background: var(--tvc-gold-soft); border-radius: 999px; color: var(--tvc-navy); display: inline-flex; font-size: .875rem; font-weight: 500; line-height: 1.4; padding: 6px 11px; }
.tis-visitor-code .tvc-confirmation-notice { background: var(--tvc-navy); border-radius: 12px; color: #fff; font-size: .9375rem; font-weight: 400; line-height: 1.65; margin-top: 20px; max-width: 760px; padding: 17px 19px; }
.tis-visitor-code .tvc-form-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.tis-visitor-code .tvc-invalid-confirmation p { color: var(--tvc-muted); font-size: 1rem; font-weight: 400; margin-bottom: 20px; }

.tis-visitor-code.tvc-confirmation-mode { min-height: 100vh; }
.tis-visitor-code.tvc-confirmation-mode .tvc-shell { max-width: 900px; padding-top: clamp(24px, 6vw, 64px); }
.tis-visitor-code.tvc-confirmation-mode .tvc-registration { margin-top: 18px; }

.tis-visitor-code-page { margin: 0; max-width: none; overflow: hidden; padding: 0; width: 100%; }
.tis-visitor-code[lang="th"],
.tis-visitor-code[lang="zh-Hans"] { line-height: 1.7; }
.tis-visitor-code[lang="th"] h1,
.tis-visitor-code[lang="th"] h2,
.tis-visitor-code[lang="th"] h3,
.tis-visitor-code[lang="zh-Hans"] h1,
.tis-visitor-code[lang="zh-Hans"] h2,
.tis-visitor-code[lang="zh-Hans"] h3 { letter-spacing: 0; line-height: 1.38; }
.tis-visitor-code[lang="th"] .tvc-eyebrow,
.tis-visitor-code[lang="zh-Hans"] .tvc-eyebrow { letter-spacing: 0; text-transform: none; }

@media (max-width: 980px) {
	.tis-visitor-code .tvc-essential-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tis-visitor-code .tvc-essential-card { min-height: 0; }
}

@media (max-width: 820px) {
	.tis-visitor-code .tvc-policy-layout { grid-template-columns: 1fr; }
	.tis-visitor-code .tvc-toc { position: static; }
	.tis-visitor-code .tvc-toc ol { columns: 2; column-gap: 24px; }
	.tis-visitor-code .tvc-toc li { break-inside: avoid; }
	.tis-visitor-code .tvc-staff-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tis-visitor-code .tvc-staff-record-grid { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
	.tis-visitor-code .tvc-shell { padding-bottom: 60px; }
	.tis-visitor-code .tvc-language-switcher { justify-content: center; }
	.tis-visitor-code .tvc-language-switcher a { flex: 1 1 0; padding-inline: 10px; }
	.tis-visitor-code .tvc-scope,
	.tis-visitor-code .tvc-contact { grid-template-columns: 1fr; }
	.tis-visitor-code .tvc-essential-grid { grid-template-columns: 1fr; }
	.tis-visitor-code .tvc-essential-card { padding: 21px; }
	.tis-visitor-code .tvc-essential-card > span { margin-bottom: 16px; }
	.tis-visitor-code .tvc-toc ol { columns: 1; }
	.tis-visitor-code summary { gap: 12px; grid-template-columns: 36px minmax(0, 1fr) 32px; min-height: 104px; }
	.tis-visitor-code .tvc-section-body { padding: 0 4px 27px 0; }
	.tis-visitor-code .tvc-sources summary { grid-template-columns: minmax(0, 1fr) 32px; }
	.tis-visitor-code .tvc-sources-body { padding-right: 2px; }
	.tis-visitor-code .tvc-form-heading,
	.tis-visitor-code .tvc-form-grid,
	.tis-visitor-code .tvc-contact-fields { grid-template-columns: 1fr; }
	.tis-visitor-code .tvc-confirmation-details div { grid-template-columns: 1fr; }
	.tis-visitor-code .tvc-button { width: 100%; }
	.tis-visitor-code .tvc-staff-hero { align-items: start; grid-template-columns: 1fr; }
	.tis-visitor-code .tvc-staff-total { min-width: 0; width: 100%; }
	.tis-visitor-code .tvc-staff-filters { grid-template-columns: 1fr; }
	.tis-visitor-code .tvc-staff-private-note { align-items: flex-start; flex-direction: column; }
	.tis-visitor-code .tvc-staff-record > summary { align-items: start; gap: 10px; grid-template-columns: minmax(0, 1fr) auto; padding: 18px; }
	.tis-visitor-code .tvc-staff-record > summary::after { grid-column: 2; grid-row: 1; }
	.tis-visitor-code .tvc-staff-status { grid-column: 1 / -1; justify-self: start; white-space: normal; }
	.tis-visitor-code .tvc-staff-record-grid > div { grid-template-columns: 1fr; }
}

@media print {
	.tis-visitor-code .tvc-language-switcher,
	.tis-visitor-code .tvc-toc,
	.tis-visitor-code .tvc-status-row { display: none; }
	.tis-visitor-code .tvc-shell { max-width: none; padding: 0; }
	.tis-visitor-code .tvc-hero,
	.tis-visitor-code .tvc-contact { background: #fff; border: 1px solid #9aa4b5; color: var(--tvc-ink); }
	.tis-visitor-code .tvc-hero h1,
	.tis-visitor-code .tvc-hero p,
	.tis-visitor-code .tvc-contact h2,
	.tis-visitor-code .tvc-contact p,
	.tis-visitor-code .tvc-contact address a,
	.tis-visitor-code .tvc-contact address span { color: var(--tvc-ink); }
	.tis-visitor-code .tvc-policy-layout { display: block; }
	.tis-visitor-code details { break-inside: avoid; }
	.tis-visitor-code details > * { display: block; }
	.tis-visitor-code .tvc-toggle { display: none; }
	.tis-visitor-code .tvc-visitor-form,
	.tis-visitor-code .tvc-form-actions { display: none; }
	.tis-visitor-code .tvc-registration,
	.tis-visitor-code .tvc-confirmation-card { background: #fff; border-color: #9aa4b5; }
	.tis-visitor-code .tvc-confirmation-notice { background: #fff; border: 1px solid #9aa4b5; color: var(--tvc-ink); }
	.tis-visitor-code.tvc-confirmation-mode {
		background: #fff;
		inset: 0;
		min-height: 100%;
		position: absolute;
		width: 100%;
		z-index: 2147483647;
	}
	.tis-visitor-code.tvc-confirmation-mode .tvc-shell { max-width: 760px; }
	.tis-visitor-code.tvc-confirmation-mode .tvc-registration { border: 0; margin: 0; padding: 0; }
}

@media (forced-colors: active) {
	.tis-visitor-code .tvc-status,
	.tis-visitor-code .tvc-section-number { border: 1px solid currentColor; }
}
