.tcs-portal {
	margin-inline: auto;
	max-width: 960px;
	--tcs-brand-accent: #2271b1;
}

.tcs-brand-header {
	align-items: center;
	border-block-end: 4px solid var(--tcs-brand-accent);
	display: flex;
	flex-wrap: wrap;
	gap: clamp(14px, 3vw, 24px);
	margin-block-end: 20px;
	padding-block-end: 18px;
}

.tcs-brand-header h2,
.tcs-brand-header p {
	margin-block: 0;
}

.tcs-brand-welcome {
	margin-block-start: 6px !important;
}

.tcs-brand-logo {
	block-size: auto;
	max-block-size: 96px;
	max-inline-size: min(240px, 100%);
	object-fit: contain;
}

.tcs-brand-footer {
	border-block-start: 1px solid #dcdcde;
	margin-block-start: 28px;
	padding-block-start: 18px;
}

.tcs-brand-footer-text {
	margin-block: 0 8px;
}

.tcs-brand-footer nav {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.tcs-brand-powered-by {
	font-size: .9rem;
	margin: 18px 0 0;
	padding-block-end: 24px;
	text-align: center;
}

.tcs-brand-powered-by a {
	color: #31455d;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.tcs-standalone-customer-credit {
	margin-inline: auto;
	max-width: 960px;
}

.tcs-agent-entry {
	display: flex;
	justify-content: flex-end;
	margin-block: 0 20px;
}

.tcs-agent-entry a {
	background: #fff;
	border: 1px solid #2271b1;
	border-inline-start: 4px solid var(--tcs-brand-accent);
	border-radius: 6px;
	color: #135e96;
	font-weight: 700;
	min-height: 44px;
	padding: 10px 16px;
	text-decoration: none;
}

.tcs-staff-view-switcher {
	display: flex;
	justify-content: flex-end;
	margin: 0 auto 18px;
	max-width: 1180px;
}

.tcs-staff-view-switcher a {
	border: 1px solid #2271b1;
	border-radius: 6px;
	font-weight: 700;
	min-height: 44px;
	padding: 10px 14px;
	text-decoration: none;
}

.tcs-staff-view-switcher a:focus-visible {
	outline: 3px solid #1d4ed8;
	outline-offset: 3px;
}

.tcs-portal,
.tcs-portal *,
.tcs-agent-workspace,
.tcs-agent-workspace *,
.single-tcs_kb_article .entry-content,
.single-tcs_kb_article .entry-content * {
	box-sizing: border-box;
}

.tcs-portal :where(a, button, input, select, textarea):focus-visible,
.tcs-agent-workspace :where(a, button, input, select, textarea, [tabindex]):focus-visible,
.tcs-link-dialog :where(button, input):focus-visible {
	outline: 3px solid #1d4ed8;
	outline-offset: 3px;
}

.single-tcs_kb_article .entry-content :where(a, button):focus-visible {
	outline: 3px solid #1d4ed8;
	outline-offset: 3px;
}

.tcs-portal :where(input, select, textarea),
.tcs-agent-workspace :where(input, select, textarea) {
	max-width: 100%;
}

.tcs-direction-arrow::before {
	display: inline-block;
}

.tcs-direction-arrow--back::before {
	content: "\2190";
}

.tcs-direction-arrow--forward::before {
	content: "\2192";
}

[dir="rtl"] .tcs-direction-arrow--back::before {
	content: "\2192";
}

[dir="rtl"] .tcs-direction-arrow--forward::before {
	content: "\2190";
}

.tcs-portal :where(button, input[type="button"], input[type="submit"]),
.tcs-agent-workspace :where(button, input[type="button"], input[type="submit"]) {
	min-height: 44px;
}

.tcs-new-ticket,
.tcs-ticket-list,
.tcs-ticket-detail,
.tcs-login-required,
.tcs-guest-session {
	background: #fff;
	border: 1px solid #dcdcde;
	border-radius: 6px;
	margin-block: 20px;
	padding: clamp(18px, 4vw, 30px);
}

.tcs-new-ticket label,
.tcs-new-ticket input,
.tcs-new-ticket select,
.tcs-new-ticket textarea,
.tcs-reply-form label,
.tcs-reply-form textarea {
	display: block;
	width: 100%;
}

.tcs-new-ticket form {
	display: grid;
	gap: clamp(16px, 2vw, 22px);
}

.tcs-new-ticket form > p {
	margin: 0;
}

.tcs-new-ticket :where(input, select, textarea) {
	box-sizing: border-box;
}

.tcs-guest-login label,
.tcs-guest-login input {
	display: block;
	width: 100%;
}

.tcs-guest-login label {
	font-weight: 600;
	margin-bottom: 6px;
}

.tcs-guest-session {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

.tcs-guest-session p {
	margin: 0;
}

.tcs-honeypot {
	position: absolute !important;
	inset-inline-start: -10000px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

.tcs-new-ticket input[type="file"],
.tcs-reply-form input[type="file"] {
	padding-block: 8px;
}

.tcs-new-ticket small,
.tcs-reply-form small {
	display: block;
	margin-top: 5px;
}

.tcs-attachments {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
	list-style: none;
	margin: 16px 0 0;
	padding: 0;
}

.tcs-attachments .tcs-attachment-item {
	margin: 0;
}

.tcs-attachment-item--unavailable {
	background: #f6f7f7;
	border: 1px solid #dcdcde;
	border-radius: 10px;
	color: #50575e;
	padding: 12px 14px;
}

.tcs-attachment-dropzone {
	border: 2px dashed #a7aaad;
	border-radius: .4rem;
	padding: .75rem;
	transition: border-color .15s ease, background-color .15s ease;
}

.tcs-attachment-dropzone.is-dragging {
	border-color: currentColor;
	background: rgba(0, 0, 0, .04);
}

.tcs-attachment-drop-hint,
.tcs-attachment-selection {
	display: block;
	margin-top: .4rem;
}

.tcs-attachment-progress {
	display: block;
	inline-size: min(100%, 28rem);
	margin-top: .6rem;
}

.tcs-inline-image {
	display: inline-flex;
	flex-direction: column;
	gap: 7px;
	margin: 1rem 0;
	max-inline-size: 168px;
}

.tcs-attachment-image {
	display: flex;
	flex-direction: column;
	gap: 7px;
	margin: 0;
	max-width: 168px;
}

.tcs-attachment-image-preview {
	background: #f6f7f7;
	border: 1px solid #c3c4c7;
	border-radius: 10px;
	display: block;
	overflow: hidden;
	position: relative;
	text-decoration: none;
	transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

.tcs-attachment-image-preview:hover {
	border-color: #2271b1;
	box-shadow: 0 8px 20px rgba(23, 40, 58, .16);
	transform: translateY(-1px);
}

.tcs-attachment-thumbnail {
	background: #f0f0f1;
	block-size: 108px;
	display: block;
	inline-size: 166px;
	max-inline-size: 100%;
	object-fit: cover;
}

.tcs-attachment-preview-cue {
	align-items: center;
	background: rgba(19, 94, 150, .92);
	border-radius: 999px;
	color: #fff;
	display: inline-flex;
	font-size: 14px;
	font-weight: 700;
	height: 30px;
	justify-content: center;
	position: absolute;
	inset-inline-end: 8px;
	top: 8px;
	width: 30px;
}

.tcs-inline-image figcaption,
.tcs-attachment-image figcaption,
.tcs-inline-image-status {
	display: block;
	font-size: .875em;
	margin-top: .35rem;
	overflow-wrap: anywhere;
}

.tcs-inline-image-status {
	border-inline-start: 3px solid currentColor;
	padding: .5rem .75rem;
}

.tcs-attachment-size {
	color: #646970;
	display: block;
	margin-top: 6px;
}

.tcs-attachment-download {
	align-items: center;
	background: #fff;
	border: 1px solid #dcdcde;
	border-radius: 10px;
	color: #1d2327;
	display: flex;
	gap: 12px;
	min-height: 72px;
	padding: 11px 12px;
	text-decoration: none;
	transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

.tcs-attachment-download:hover {
	border-color: #2271b1;
	box-shadow: 0 8px 20px rgba(23, 40, 58, .12);
	color: #135e96;
	transform: translateY(-1px);
}

.tcs-attachment-file-icon {
	align-items: center;
	background: #e7f3ff;
	border-radius: 8px;
	color: #135e96;
	display: inline-flex;
	flex: 0 0 48px;
	font-size: 11px;
	font-weight: 800;
	height: 48px;
	justify-content: center;
	letter-spacing: .04em;
}

.tcs-attachment-download--pdf .tcs-attachment-file-icon {
	background: #fce8e8;
	color: #9b1c1c;
}

.tcs-attachment-download--archive .tcs-attachment-file-icon {
	background: #f3e8ff;
	color: #6b21a8;
}

.tcs-attachment-download--document .tcs-attachment-file-icon,
.tcs-attachment-download--text .tcs-attachment-file-icon {
	background: #e7f3ff;
	color: #135e96;
}

.tcs-attachment-download--spreadsheet .tcs-attachment-file-icon {
	background: #e7f7ed;
	color: #176b3a;
}

.tcs-attachment-download--audio .tcs-attachment-file-icon,
.tcs-attachment-download--video .tcs-attachment-file-icon {
	background: #fff3cd;
	color: #7a4d00;
}

.tcs-attachment-file-details {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	min-width: 0;
}

.tcs-attachment-file-details strong,
.tcs-attachment-file-details small {
	overflow-wrap: anywhere;
}

.tcs-attachment-file-details small {
	color: #646970;
	margin-top: 3px;
}

.tcs-attachment-download-arrow {
	align-items: center;
	border: 1px solid #c3c4c7;
	border-radius: 999px;
	display: inline-flex;
	flex: 0 0 30px;
	font-weight: 800;
	height: 30px;
	justify-content: center;
}

body.tcs-attachment-modal-open {
	overflow: hidden;
}

.tcs-attachment-modal[hidden] {
	display: none !important;
}

.tcs-attachment-modal {
	align-items: center;
	background: rgba(10, 20, 31, .86);
	display: flex;
	inset: 0;
	justify-content: center;
	padding: clamp(16px, 4vw, 48px);
	position: fixed;
	z-index: 1000000;
}

.tcs-attachment-modal__surface {
	align-items: center;
	background: #fff;
	border-radius: 14px;
	box-shadow: 0 24px 70px rgba(0, 0, 0, .4);
	display: flex;
	flex-direction: column;
	max-height: calc(100vh - 32px);
	max-width: min(1100px, calc(100vw - 32px));
	padding: 48px 18px 16px;
	position: relative;
}

.tcs-attachment-modal__image {
	display: block;
	height: auto;
	max-height: calc(100vh - 150px);
	max-width: 100%;
	object-fit: contain;
}

.tcs-attachment-modal__caption {
	color: #1d2327;
	font-weight: 600;
	margin: 12px 0 0;
	max-width: 100%;
	overflow-wrap: anywhere;
	text-align: center;
}

.tcs-attachment-modal__close {
	align-items: center;
	background: #1d2327;
	border: 0;
	border-radius: 999px;
	color: #fff;
	cursor: pointer;
	display: inline-flex;
	font-size: 26px;
	height: 44px;
	justify-content: center;
	line-height: 1;
	min-height: 44px;
	padding: 0;
	position: absolute;
	inset-inline-end: 10px;
	top: 8px;
	width: 44px;
}

.tcs-attachment-modal__close:hover {
	background: #135e96;
}

.tcs-attachment-modal__close:focus-visible {
	outline: 3px solid #72aee6;
	outline-offset: 3px;
}

.tcs-new-ticket label {
	font-weight: 600;
	margin-bottom: 6px;
}

.tcs-reply-form label {
	display: block;
	font-weight: 600;
	margin-bottom: 6px;
}

.tcs-new-ticket button {
	min-height: 44px;
}

.tcs-new-ticket .tcs-attachment-dropzone {
	margin: 0;
}

.tcs-new-ticket .tcs-rich-editor .description {
	margin: 6px 0 0;
}

.tcs-new-ticket-actions,
.tcs-reply-actions {
	display: flex;
	justify-content: flex-end;
}

.tcs-reply-actions {
	margin-top: 18px;
}

.tcs-ticket-list ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.tcs-portal .tcs-ticket-list {
	border-radius: 16px;
	box-shadow: 0 16px 42px rgba(23, 40, 58, .08);
	padding: clamp(22px, 4vw, 36px);
}

.tcs-ticket-list__header {
	align-items: flex-start;
	display: flex;
	gap: 24px;
	justify-content: space-between;
}

.tcs-ticket-list__heading {
	min-width: 0;
}

.tcs-ticket-list__eyebrow {
	color: #135e96;
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: .08em;
	margin: 0 0 4px;
	text-transform: uppercase;
}

.tcs-ticket-list__header h3 {
	color: #1d2327;
	font-size: clamp(1.55rem, 3vw, 2rem);
	line-height: 1.2;
	margin: 0;
}

.tcs-ticket-list__intro {
	color: #50575e;
	margin: 8px 0 0;
	max-width: 42rem;
}

.tcs-portal .tcs-ticket-list__new,
.tcs-portal .tcs-portal-primary-action {
	-webkit-appearance: none;
	appearance: none;
	align-items: center;
	background: #2271b1;
	border: 1px solid #2271b1;
	border-radius: 9px;
	color: #fff;
	cursor: pointer;
	display: inline-flex;
	flex: 0 0 auto;
	font: inherit;
	font-weight: 700;
	gap: 8px;
	justify-content: center;
	line-height: 1.4;
	min-height: 44px;
	padding: 9px 16px;
	text-decoration: none;
	transition: background-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

.tcs-portal .tcs-ticket-list__new:hover,
.tcs-portal .tcs-portal-primary-action:hover:not(:disabled) {
	background: #135e96;
	box-shadow: 0 7px 16px rgba(19, 94, 150, .2);
	color: #fff;
	transform: translateY(-1px);
}

.tcs-portal .tcs-ticket-list__new:focus-visible,
.tcs-portal .tcs-portal-primary-action:focus-visible {
	box-shadow: 0 0 0 3px rgba(34, 113, 177, .25), 0 7px 16px rgba(19, 94, 150, .18);
	outline: 2px solid #135e96;
	outline-offset: 2px;
}

.tcs-portal .tcs-portal-primary-action:active:not(:disabled) {
	box-shadow: none;
	transform: translateY(0);
}

.tcs-portal .tcs-portal-primary-action:disabled {
	background: #646970;
	border-color: #646970;
	box-shadow: none;
	color: #fff;
	cursor: not-allowed;
	transform: none;
}

.tcs-customer-ticket-filters {
	align-items: end;
	background: #f6f7f7;
	border: 1px solid #dcdcde;
	border-radius: 12px;
	display: grid;
	gap: 14px;
	grid-template-columns: minmax(180px, 1fr) minmax(150px, .5fr) auto;
	margin: 24px 0 18px;
	padding: clamp(16px, 2.5vw, 22px);
}

.tcs-customer-ticket-filters label,
.tcs-customer-ticket-filters input,
.tcs-customer-ticket-filters select {
	display: block;
	width: 100%;
}

.tcs-customer-ticket-filters input[type="hidden"] {
	display: none;
}

.tcs-customer-ticket-filters label {
	color: #1d2327;
	font-weight: 600;
	margin-bottom: 6px;
}

.tcs-portal .tcs-customer-ticket-filters :where(input[type="search"], select) {
	background: #fff;
	border: 1px solid #8c8f94;
	border-radius: 8px;
	color: #1d2327;
	font: inherit;
	min-height: 44px;
	padding: 8px 12px;
}

.tcs-customer-filter-actions {
	align-items: center;
	display: flex;
	gap: 10px;
}

.tcs-portal .tcs-customer-filter-actions button,
.tcs-portal .tcs-customer-filter-actions a {
	align-items: center;
	border-radius: 8px;
	display: inline-flex;
	font-weight: 700;
	justify-content: center;
	min-height: 44px;
	padding: 8px 14px;
	text-decoration: none;
	white-space: nowrap;
}

.tcs-portal .tcs-customer-filter-actions button {
	background: #2271b1;
	border: 1px solid #2271b1;
	color: #fff;
	cursor: pointer;
}

.tcs-portal .tcs-customer-filter-actions button:hover {
	background: #135e96;
	color: #fff;
}

.tcs-portal .tcs-customer-filter-actions a {
	background: #fff;
	border: 1px solid #8c8f94;
	color: #135e96;
}

.tcs-portal .tcs-customer-filter-actions a:hover {
	border-color: #2271b1;
	color: #0a4b78;
}

.tcs-ticket-list__results-header {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin: 0 0 10px;
}

.tcs-ticket-list__results-header p {
	color: #50575e;
	font-size: .875rem;
	font-weight: 600;
	margin: 0;
}

.tcs-customer-ticket-cards {
	display: grid;
	gap: 12px;
}

.tcs-ticket-list .tcs-customer-ticket-card {
	background: #fff;
	border: 1px solid #dcdcde;
	border-radius: 12px;
	box-shadow: 0 3px 10px rgba(23, 40, 58, .05);
	overflow: hidden;
	padding: 0;
	transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

.tcs-ticket-list .tcs-customer-ticket-card:hover {
	border-color: #2271b1;
	box-shadow: 0 10px 24px rgba(23, 40, 58, .1);
	transform: translateY(-1px);
}

.tcs-ticket-list .tcs-customer-ticket-card + .tcs-customer-ticket-card {
	border-top: 1px solid #dcdcde;
}

.tcs-portal .tcs-customer-ticket-card__link {
	align-items: center;
	color: #1d2327;
	display: grid;
	gap: 24px;
	grid-template-columns: minmax(0, 1fr) auto;
	min-height: 110px;
	padding: 18px 20px;
	text-decoration: none;
}

.tcs-customer-ticket-card__body,
.tcs-customer-ticket-card__aside {
	display: flex;
	min-width: 0;
}

.tcs-customer-ticket-card__body {
	align-items: flex-start;
	flex-direction: column;
}

.tcs-customer-ticket-card__number {
	color: #135e96;
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: .05em;
	line-height: 1.35;
	text-transform: uppercase;
}

.tcs-customer-ticket-card__subject {
	color: #1d2327;
	font-size: 1.08rem;
	font-weight: 700;
	line-height: 1.35;
	margin-top: 4px;
	overflow-wrap: anywhere;
}

.tcs-customer-ticket-card__meta {
	color: #50575e;
	display: flex;
	flex-wrap: wrap;
	font-size: .84rem;
	gap: 6px 16px;
	line-height: 1.5;
	margin-top: 9px;
}

.tcs-customer-ticket-card__meta > span + span::before {
	content: "\2022";
	margin-inline-end: 16px;
}

.tcs-customer-ticket-card__meta-label {
	font-weight: 600;
}

.tcs-customer-ticket-card__aside {
	align-items: flex-end;
	flex-direction: column;
	gap: 16px;
}

.tcs-customer-ticket-card__badges {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	justify-content: flex-end;
}

.tcs-ticket-list .tcs-status {
	border-radius: 999px;
	display: inline-flex;
	font-size: .78rem;
	font-weight: 700;
	line-height: 1.3;
	padding: 5px 10px;
}

.tcs-ticket-list .tcs-status--state {
	background: #e6f6ea;
	color: #0a5c24;
}

.tcs-ticket-list .tcs-status--type {
	background: #f0f6fc;
	color: #135e96;
}

.tcs-ticket-list .tcs-status--archived {
	background: #f0f0f1;
	color: #3c434a;
}

.tcs-customer-ticket-card__open {
	color: #135e96;
	font-size: .86rem;
	font-weight: 700;
	white-space: nowrap;
}

.tcs-customer-ticket-card__open .tcs-direction-arrow {
	margin-inline-start: 4px;
}

.tcs-ticket-list__empty {
	background: #f6f7f7;
	border: 1px dashed #a7aaad;
	border-radius: 12px;
	color: #1d2327;
	padding: clamp(28px, 5vw, 44px) 20px;
	text-align: center;
}

.tcs-ticket-list__empty strong {
	display: block;
	font-size: 1.05rem;
}

.tcs-ticket-list__empty p {
	color: #50575e;
	margin: 6px 0 0;
}

.tcs-customer-ticket-pagination {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: flex-end;
	margin-top: 20px;
}

.tcs-portal .tcs-customer-ticket-pagination a {
	align-items: center;
	background: #fff;
	border: 1px solid #8c8f94;
	border-radius: 8px;
	color: #135e96;
	display: inline-flex;
	font-weight: 700;
	min-height: 44px;
	padding: 8px 14px;
	text-decoration: none;
}

.tcs-conversation {
	list-style: none;
	margin: 24px 0;
	padding: 0;
}

.tcs-message {
	background: #f6f7f7;
	border-radius: 6px;
	margin: 14px 0;
	padding: 16px;
}

.tcs-message--agent {
	border-inline-start: 4px solid var(--tcs-brand-accent);
}

.tcs-message time {
	color: #646970;
	font-size: .875em;
}

.tcs-status {
	border-radius: 999px;
	background: #e8f2fb;
	padding: 2px 10px;
}

.tcs-ticket-context {
	background: #f0f6fc;
	border-inline-start: 4px solid var(--tcs-brand-accent);
	padding: 10px 14px;
}

.tcs-success,
.tcs-error,
.tcs-notice {
	border-inline-start: 4px solid var(--tcs-brand-accent);
	margin: 16px 0;
	padding: 12px 16px;
}

.tcs-success {
	border-inline-start-color: #00a32a;
}

.tcs-error {
	border-inline-start-color: #d63638;
}

.tcs-knowledge,
.tcs-kb-search {
	background: #fff;
	border: 1px solid #dcdcde;
	border-radius: 8px;
	margin-block: 20px;
	padding: clamp(18px, 4vw, 30px);
}

.tcs-knowledge > header h2,
.tcs-knowledge > header p,
.tcs-kb-search > h2 {
	margin-block: 4px;
}

.tcs-kb-search form {
	align-items: end;
	display: grid;
	gap: 12px;
	grid-template-columns: minmax(220px, 1fr) minmax(150px, .4fr) auto;
	margin-top: 16px;
}

.tcs-kb-search form p {
	margin: 0;
}

.tcs-kb-search label,
.tcs-kb-search input,
.tcs-kb-search select {
	display: block;
	width: 100%;
}

.tcs-kb-search label {
	font-weight: 600;
	margin-bottom: 5px;
}

.tcs-kb-categories {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 20px 0;
}

.tcs-kb-categories a {
	border: 1px solid #2271b1;
	border-radius: 999px;
	padding: 6px 12px;
	text-decoration: none;
}

.tcs-kb-categories a[aria-current="page"] {
	background: #2271b1;
	color: #fff;
}

.tcs-kb-grid {
	display: grid;
	gap: clamp(16px, 2.5vw, 22px);
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 22px;
}

.tcs-kb-card {
	background: #fff;
	border: 1px solid #dfe5ec;
	border-radius: 14px;
	box-shadow: 0 7px 20px rgba(23, 40, 58, .07);
	display: flex;
	flex-direction: column;
	min-height: 270px;
	overflow: hidden;
	padding: clamp(19px, 2.5vw, 24px);
	position: relative;
	transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.tcs-kb-empty {
	background: #f6f7f7;
	border: 1px solid #dcdcde;
	border-radius: 12px;
	padding: 20px;
}

.tcs-kb-card.is-featured {
	border-color: #8dbce2;
	box-shadow: inset 0 3px 0 #2271b1, 0 7px 20px rgba(23, 40, 58, .08);
}

.tcs-kb-card:hover {
	border-color: #9cb9d1;
	box-shadow: 0 14px 30px rgba(23, 40, 58, .13);
	transform: translateY(-3px);
}

.tcs-kb-card:focus-within {
	border-color: #1d4ed8;
	box-shadow: 0 0 0 3px rgba(29, 78, 216, .2), 0 14px 30px rgba(23, 40, 58, .12);
}

.tcs-kb-card__top,
.tcs-kb-card__type {
	display: flex;
}

.tcs-kb-card__top {
	align-items: center;
	gap: 10px;
	justify-content: space-between;
	margin-block-end: 15px;
}

.tcs-kb-card__type {
	align-items: center;
	color: #526175;
	font-size: .78rem;
	font-weight: 700;
	gap: 8px;
	letter-spacing: .045em;
	line-height: 1.2;
	text-transform: uppercase;
}

.tcs-kb-card__type-icon {
	border: 1.5px solid #6a85a0;
	border-radius: 2px;
	display: inline-block;
	height: 15px;
	position: relative;
	width: 12px;
}

.tcs-kb-card__type-icon::after {
	background: #6a85a0;
	box-shadow: 0 3px 0 #6a85a0;
	content: "";
	height: 1px;
	inset-block-start: 4px;
	inset-inline-start: 2px;
	position: absolute;
	width: 6px;
}

.tcs-kb-card h3 {
	font-size: clamp(1.12rem, 2vw, 1.3rem);
	letter-spacing: -.012em;
	line-height: 1.3;
	margin: 0 0 10px;
}

.tcs-kb-card h3 a {
	color: #143f73;
	text-decoration: none;
}

.tcs-kb-card h3 a::after {
	content: "";
	inset: 0;
	position: absolute;
}

.tcs-kb-card h3 a:hover,
.tcs-kb-card h3 a:focus-visible {
	color: #0a4b78;
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
}

.tcs-kb-card h3 a:focus-visible {
	outline: 0;
}

.tcs-kb-card p.tcs-kb-card__excerpt {
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
	color: #34465a;
	display: -webkit-box;
	flex: 1 1 auto;
	font-size: .98rem;
	line-height: 1.6;
	margin: 0;
	overflow: hidden;
}

.tcs-kb-card__footer {
	align-items: center;
	border-block-start: 1px solid #e8edf2;
	display: flex;
	gap: 12px;
	justify-content: space-between;
	margin-block-start: 19px;
	padding-block-start: 14px;
}

.tcs-kb-card time {
	color: #667386;
	font-size: .82rem;
}

.tcs-kb-card__read {
	color: #135e96;
	font-size: .84rem;
	font-weight: 700;
	white-space: nowrap;
}

.tcs-kb-card__read .tcs-direction-arrow {
	display: inline-block;
	margin-inline-start: 3px;
}

.tcs-kb-deflection {
	background: #f0f6fc;
	border: 1px solid #72aee6;
	border-radius: 8px;
	margin: 16px 0 20px;
	padding: 16px 18px;
}

.tcs-kb-deflection[hidden] {
	display: none;
}

.tcs-kb-deflection h4,
.tcs-kb-deflection p {
	margin-block: 4px 10px;
}

.tcs-kb-deflection ul {
	display: grid;
	gap: 10px;
	list-style: none;
	margin: 12px 0;
	padding: 0;
}

.tcs-kb-deflection li {
	background: #fff;
	border-radius: 6px;
	padding: 10px 12px;
}

.tcs-kb-deflection li a,
.tcs-kb-deflection li span {
	display: block;
}

.tcs-kb-deflection li a {
	font-weight: 600;
}

.tcs-kb-deflection li span {
	color: #50575e;
	font-size: .9rem;
	margin-top: 3px;
}

.tcs-kb-related {
	border-top: 1px solid #dcdcde;
	margin-top: 32px;
	padding-top: 20px;
}

.tcs-kb-article-layout {
	display: grid;
	gap: clamp(28px, 5vw, 64px);
	grid-template-areas: "article toc";
	grid-template-columns: minmax(0, 1fr) minmax(220px, 290px);
}

.tcs-kb-article-layout.has-no-toc {
	display: block;
}

.tcs-kb-article-main {
	grid-area: article;
	min-width: 0;
}

.tcs-kb-article-main :where(h2, h3) {
	scroll-margin-block-start: 120px;
}

.tcs-kb-toc {
	align-self: start;
	border-inline-start: 2px solid #dcdcde;
	grid-area: toc;
	padding-inline-start: 18px;
	position: sticky;
	top: clamp(24px, 9vh, 96px);
}

.tcs-kb-toc h2 {
	font-size: clamp(1.25rem, 2vw, 1.55rem);
	margin: 0 0 16px;
}

.tcs-kb-toc ol {
	display: grid;
	gap: 4px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.tcs-kb-toc a {
	border-radius: 6px;
	color: #2c3338;
	display: block;
	padding: 9px 11px;
	text-decoration: none;
}

.tcs-kb-toc a:hover {
	text-decoration: underline;
}

.tcs-kb-toc a[aria-current="location"] {
	background: #1d2327;
	color: #fff;
	font-weight: 700;
}

.tcs-kb-toc-level-3 a {
	padding-inline-start: 24px;
}

.tcs-kb-feedback {
	border-block-start: 1px solid #dcdcde;
	margin-block-start: clamp(32px, 6vw, 56px);
	padding: clamp(28px, 5vw, 46px) 18px;
	text-align: center;
}

.tcs-kb-feedback h2,
.tcs-kb-feedback p {
	margin-block: 0 14px;
}

.tcs-kb-feedback-actions {
	display: flex;
	gap: 14px;
	justify-content: center;
	margin-block-end: 18px;
}

.tcs-kb-feedback button {
	background: #fff;
	border: 1px solid #2c3338;
	border-radius: 6px;
	color: #2c3338;
	font-weight: 700;
	min-height: 44px;
	min-width: 90px;
	padding: 10px 20px;
}

.tcs-kb-feedback button:not(:disabled) {
	cursor: pointer;
}

.tcs-kb-feedback button.is-selected {
	background: #1d2327;
	color: #fff;
}

.tcs-kb-feedback-count {
	font-size: .875rem;
}

.tcs-kb-feedback-status:empty {
	display: none;
}

.tcs-kb-support-cta {
	border-block: 1px solid #dcdcde;
	padding: clamp(34px, 6vw, 54px) 18px;
	text-align: center;
}

.tcs-kb-support-cta h2 {
	font-size: clamp(1.55rem, 3vw, 2rem);
	margin: 0 0 10px;
}

.tcs-kb-support-cta p {
	margin: 0 0 20px;
}

.tcs-kb-support-button {
	background: #006f78;
	border-radius: 6px;
	color: #fff;
	display: inline-flex;
	font-weight: 700;
	min-height: 48px;
	padding: 12px 20px;
	text-decoration: none;
}

.tcs-kb-support-button:hover {
	background: #005a62;
	color: #fff;
	text-decoration: underline;
}

.tcs-kb-featured {
	color: #135e96;
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.tcs-kb-pagination {
	display: flex;
	gap: 18px;
	justify-content: flex-end;
	margin-top: 20px;
}

.single-tcs_kb_article .entry-content,
.single-tcs_kb_article .wp-block-post-content {
	max-width: 1180px;
	width: 100%;
}

/* Override themes that cap every direct article-content child to a prose width. */
.single-tcs_kb_article .entry-content > :where(.tcs-kb-article-layout, .tcs-kb-feedback, .tcs-kb-support-cta, .tcs-brand-powered-by),
.single-tcs_kb_article .wp-block-post-content > :where(.tcs-kb-article-layout, .tcs-kb-feedback, .tcs-kb-support-cta, .tcs-brand-powered-by) {
	max-width: none;
	width: 100%;
}

.tcs-agent-workspace {
	margin-inline: auto;
	max-width: 1180px;
	overflow-wrap: anywhere;
}

.tcs-agent-header {
	align-items: start;
	display: flex;
	gap: 24px;
	justify-content: space-between;
	margin-bottom: 20px;
}

.tcs-agent-header h2,
.tcs-agent-header p {
	margin-block: 0;
}

.tcs-eyebrow {
	color: #50575e;
	font-size: .8rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.tcs-agent-filters,
.tcs-front-saved-views,
.tcs-front-workflow,
.tcs-front-agent-reply,
.tcs-agent-empty,
.tcs-agent-messages > li {
	background: #fff;
	border: 1px solid #dcdcde;
	border-radius: 8px;
}

.tcs-front-saved-views {
	align-items: start;
	display: grid;
	gap: 20px;
	grid-template-columns: minmax(0, 1fr) minmax(260px, 420px);
	margin-bottom: 20px;
	padding: 18px;
}

.tcs-front-saved-views h3,
.tcs-front-saved-views h4,
.tcs-front-saved-views p {
	margin: 0 0 8px;
}

.tcs-front-saved-views ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 12px;
	list-style: none;
	margin: 0 0 14px;
	padding: 0;
}

.tcs-front-saved-views li {
	align-items: center;
	display: flex;
	gap: 6px;
}

.tcs-front-saved-views li form {
	margin: 0;
}

.tcs-front-saved-views a[aria-current="page"] {
	font-weight: 700;
	text-decoration-thickness: 3px;
}

.tcs-front-save-view {
	display: grid;
	gap: 7px;
}

.tcs-front-save-view label {
	font-weight: 600;
}

.tcs-agent-filters {
	display: grid;
	gap: 14px;
	grid-template-columns: minmax(190px, 1.5fr) repeat(3, minmax(140px, 1fr));
	margin-bottom: 20px;
	padding: 18px;
}

.tcs-agent-filters p,
.tcs-front-workflow p,
.tcs-front-agent-reply > p {
	margin: 0;
}

.tcs-agent-filters label,
.tcs-agent-filters input,
.tcs-agent-filters select,
.tcs-front-workflow label,
.tcs-front-workflow select,
.tcs-front-agent-reply label,
.tcs-front-agent-reply select,
.tcs-front-agent-reply textarea,
.tcs-front-agent-reply input[type="file"] {
	display: block;
	width: 100%;
}

.tcs-agent-filters label,
.tcs-front-workflow label,
.tcs-front-agent-reply label {
	font-weight: 600;
	margin-bottom: 5px;
}

.tcs-agent-filter-actions {
	align-items: center;
	display: flex;
	gap: 14px;
	grid-column: 1 / -1;
}

.tcs-agent-ticket-list {
	display: grid;
	gap: 12px;
}

.tcs-agent-ticket {
	align-items: center;
	background: #fff;
	border: 1px solid #dcdcde;
	border-radius: 8px;
	display: grid;
	gap: 20px;
	grid-template-columns: minmax(220px, 1fr) minmax(360px, .8fr);
	padding: 18px 20px;
}

.tcs-agent-ticket.is-unread {
	border-inline-start: 5px solid #2271b1;
}

.tcs-agent-ticket h3,
.tcs-agent-ticket p {
	margin-block: 4px 0;
}

.tcs-agent-ticket dl {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(4, 1fr);
	margin: 0;
}

.tcs-agent-ticket dt {
	color: #646970;
	font-size: .78rem;
	font-weight: 600;
	text-transform: uppercase;
}

.tcs-agent-ticket dd {
	margin: 3px 0 0;
}

.tcs-unread-badge,
.tcs-ticket-meta span {
	background: #e8f2fb;
	border-radius: 999px;
	display: inline-block;
	font-size: .78rem;
	margin-inline-start: 8px;
	padding: 3px 9px;
}

.tcs-sla-badge { background: #e2e4e7; border-radius: 999px; color: #2c3338; display: inline-block; font-size: .78rem; font-weight: 700; padding: 3px 9px; white-space: nowrap; }
.tcs-sla-badge--breached { background: #fce8e6; color: #8a1c13; }
.tcs-sla-badge--missed { background: #f5e6e4; color: #6f261f; }
.tcs-sla-badge--approaching { background: #fcf0c4; color: #5c4700; }
.tcs-sla-badge--remaining,
.tcs-sla-badge--met { background: #dff3e4; color: #075d24; }
.tcs-sla-badge--paused { background: #e8f0fe; color: #174ea6; }
.tcs-sla-panel { border: 1px solid #dcdcde; border-inline-start: 5px solid #2271b1; border-radius: 8px; margin: 18px 0; padding: 18px; }
.tcs-sla-panel--breached { border-inline-start-color: #d63638; }
.tcs-sla-panel--missed { border-inline-start-color: #8a1c13; }
.tcs-sla-panel--approaching { border-inline-start-color: #dba617; }
.tcs-sla-panel--met,
.tcs-sla-panel--remaining { border-inline-start-color: #00a32a; }
.tcs-sla-panel h3 { margin-top: 0; }
.tcs-sla-panel li { margin: 8px 0; }

.tcs-agent-pagination {
	display: flex;
	gap: 18px;
	justify-content: flex-end;
	margin-top: 20px;
}

.tcs-agent-conversation {
	background: #f6f7f7;
	border-radius: 10px;
	padding: clamp(16px, 3vw, 28px);
}

.tcs-ticket-meta {
	margin-bottom: 16px;
}

.tcs-agent-presence,
.tcs-customer-context {
	background: #fff;
	border-inline-start: 4px solid #2271b1;
	margin: 16px 0;
	padding: 12px 16px;
}

.tcs-front-workflow {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(4, minmax(130px, 1fr));
	margin: 20px 0;
	padding: 18px;
}

.tcs-front-workflow > .tcs-tag-picker {
	background: #f8fbfd;
	border: 1px solid #dce4eb;
	border-radius: 10px;
	box-sizing: border-box;
	display: grid;
	gap: 8px;
	grid-column: span 3;
	padding: 12px 14px;
}

.tcs-front-workflow > .tcs-tag-picker legend {
	font-size: 1rem;
	line-height: 1.3;
	margin: 0;
	padding: 0;
}

.tcs-front-workflow > .tcs-tag-picker p {
	color: #526175;
	margin: 0;
}

.tcs-front-workflow > .tcs-custom-fields,
.tcs-front-workflow > .tcs-custom-field-values {
	grid-column: 1 / -1;
	margin: 0;
}

.tcs-front-workflow-action {
	align-self: end;
	display: flex;
	grid-column: 1 / -1;
	justify-content: flex-end;
	margin: 0;
}

/* One role-based conversation pattern is shared by customers, local staff, and optional-Hub staff. */
.tcs-conversation-panel {
	background: #fff;
	border: 1px solid #dfe3e8;
	border-radius: 14px;
	box-shadow: 0 10px 28px rgba(30, 41, 59, .075), 0 2px 5px rgba(30, 41, 59, .035);
	box-sizing: border-box;
	margin: 24px 0;
	overflow: hidden;
	padding: clamp(18px, 2.4vw, 26px);
}

.tcs-conversation-panel > :first-child {
	margin-block-start: 0;
}

.tcs-conversation-panel > :last-child {
	margin-block-end: 0;
}

.tcs-conversation-panel > :where(h2, h3, h4) {
	color: #1d2327;
	font-size: 20px;
	line-height: 1.3;
	margin-block-end: 0;
}

.tcs-conversation-thread,
.tcs-agent-messages.tcs-conversation-thread,
.tcs-conversation.tcs-conversation-thread {
	display: flex;
	flex-direction: column;
	gap: 16px;
	list-style: none;
	margin: 18px 0 0;
	padding: 0;
}

.tcs-portal .tcs-conversation-message,
.tcs-agent-workspace .tcs-conversation-message,
.tcs-hub-front-workspace .tcs-conversation-message {
	background: #fff;
	border: 1px solid #dfe3e8;
	border-inline-start: 4px solid #2271b1;
	border-radius: 14px 14px 14px 5px;
	box-shadow: 0 5px 16px rgba(30, 41, 59, .07);
	box-sizing: border-box;
	color: #1d2327;
	inline-size: min(78%, 760px);
	margin: 0;
	overflow-wrap: anywhere;
	padding: 16px 18px;
}

.tcs-portal .tcs-conversation-message.is-customer,
.tcs-agent-workspace .tcs-conversation-message.is-customer,
.tcs-hub-front-workspace .tcs-conversation-message.is-customer {
	align-self: flex-start;
}

.tcs-portal .tcs-conversation-message.is-agent,
.tcs-agent-workspace .tcs-conversation-message.is-agent,
.tcs-hub-front-workspace .tcs-conversation-message.is-agent {
	align-self: flex-end;
	background: #f0f6fc;
	border-color: #b8d7f0;
	border-inline-start-width: 1px;
	border-inline-end: 4px solid #2271b1;
	border-radius: 14px 14px 5px;
}

/* The customer portal uses the reader's perspective: their messages are outgoing. */
.tcs-portal .tcs-conversation-message.is-customer {
	align-self: flex-end;
	background: #f0f6fc;
	border-color: #b8d7f0;
	border-inline-end: 4px solid #2271b1;
	border-inline-start-width: 1px;
	border-radius: 14px 14px 5px;
}

.tcs-portal .tcs-conversation-message.is-agent {
	align-self: flex-start;
	background: #fff;
	border-color: #dfe3e8;
	border-inline-end-width: 1px;
	border-inline-start: 4px solid #2271b1;
	border-radius: 14px 14px 14px 5px;
}

.tcs-portal .tcs-conversation-message.is-private,
.tcs-agent-workspace .tcs-conversation-message.is-private,
.tcs-hub-front-workspace .tcs-conversation-message.is-private {
	background: #fff8e5;
	border-color: #e6c65c;
	border-inline-end-color: #b07d00;
}

.tcs-conversation-message__header {
	align-items: center;
	border-block-end: 1px solid rgba(100, 105, 112, .18);
	display: flex;
	flex-wrap: wrap;
	gap: 6px 8px;
	margin-block-end: 12px;
	padding-block-end: 10px;
}

.tcs-conversation-message__author {
	font-size: 14px;
	line-height: 1.35;
}

.tcs-conversation-message__role,
.tcs-conversation-message__privacy,
.tcs-conversation-message__origin {
	background: #e7f3ff;
	border-radius: 999px;
	color: #0a4b78;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.35;
	padding: 3px 8px;
}

.tcs-conversation-message__privacy {
	background: #f5df91;
	color: #5d4200;
}

.tcs-conversation-message__origin {
	background: #f0f0f1;
	color: #3c434a;
}

.tcs-conversation-message__header time {
	color: #50575e;
	font-size: 12px;
	margin-inline-start: auto;
	white-space: nowrap;
}

.tcs-conversation-message__body {
	font-size: 14px;
	line-height: 1.65;
}

.tcs-conversation-message__body > :first-child {
	margin-block-start: 0;
}

.tcs-conversation-message__body > :last-child {
	margin-block-end: 0;
}

.tcs-conversation-message .tcs-attachments {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
	margin-block-start: 14px;
}

.tcs-conversation-empty {
	background: #f6f7f7;
	border: 1px dashed #a7aaad;
	border-radius: 10px;
	color: #50575e;
	margin-block: 16px 0;
	padding: 18px;
	text-align: center;
}

@media (max-width: 782px) {
	.tcs-portal .tcs-conversation-message,
	.tcs-agent-workspace .tcs-conversation-message,
	.tcs-hub-front-workspace .tcs-conversation-message {
		inline-size: 92%;
	}
}

@media (max-width: 480px) {
	.tcs-conversation-panel {
		border-radius: 11px;
		padding: 14px;
	}

	.tcs-portal .tcs-conversation-message,
	.tcs-agent-workspace .tcs-conversation-message,
	.tcs-hub-front-workspace .tcs-conversation-message {
		border-radius: 11px;
		inline-size: 100%;
		padding: 14px;
	}

	.tcs-portal .tcs-conversation-message {
		inline-size: 92%;
	}

	.tcs-portal .tcs-conversation-message.is-customer {
		border-radius: 11px 11px 4px;
	}

	.tcs-portal .tcs-conversation-message.is-agent {
		border-radius: 11px 11px 11px 4px;
	}

	.tcs-conversation-message__header time {
		flex-basis: 100%;
		margin-inline-start: 0;
	}
}

.tcs-message-mentions {
	color: #646970;
	font-size: .85rem;
	margin: 10px 0 0;
}

.tcs-mention-picker {
	border: 1px solid #dcdcde;
	padding: 12px;
}

.tcs-mention-picker label,
.tcs-mention-picker select,
.tcs-mention-picker small {
	display: block;
}

.tcs-mention-picker select {
	margin: 6px 0;
	max-width: 100%;
	min-width: min(100%, 320px);
}

.tcs-front-agent-reply {
	display: grid;
	gap: 18px;
	margin-block: 22px;
	min-width: 0;
	overflow: hidden;
	padding: clamp(18px, 2.4vw, 26px);
}

.tcs-format-toolbar,
.tcs-draft-controls,
.tcs-canned-insert {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.tcs-format-toolbar {
	margin-bottom: 8px;
}

.tcs-front-agent-reply > *,
.tcs-front-agent-reply .tcs-composer,
.tcs-front-agent-reply .tcs-rich-editor {
	box-sizing: border-box;
	min-width: 0;
	max-width: 100%;
}

.tcs-portal .tcs-rich-editor .tcs-format-toolbar button,
.tcs-agent-workspace .tcs-rich-editor .tcs-format-toolbar button {
	appearance: none;
	background: #f6f7f7;
	border: 1px solid #a7aaad !important;
	border-radius: 6px !important;
	color: #1d2327;
	cursor: pointer;
	font: inherit;
	font-size: .875rem;
	font-weight: 600;
	line-height: 1.25;
	padding: 7px 11px;
	transition: background-color .15s ease, border-color .15s ease, box-shadow .15s ease, color .15s ease;
}

.tcs-portal .tcs-rich-editor .tcs-format-toolbar button:hover:not(:disabled),
.tcs-agent-workspace .tcs-rich-editor .tcs-format-toolbar button:hover:not(:disabled) {
	background: #eef6fc;
	border-color: #2271b1;
	color: #0a4b78;
}

.tcs-portal .tcs-rich-editor .tcs-format-toolbar button:disabled,
.tcs-agent-workspace .tcs-rich-editor .tcs-format-toolbar button:disabled {
	cursor: not-allowed;
	opacity: .55;
}

.tcs-portal .tcs-rich-editor .tcs-format-toolbar .tcs-editor-preview-toggle,
.tcs-agent-workspace .tcs-rich-editor .tcs-format-toolbar .tcs-editor-preview-toggle {
	background: #eef6fc;
	border-color: #72aee6;
	color: #0a4b78;
	margin-inline-start: auto;
}

.tcs-agent-conversation .tcs-rich-editor .tcs-format-toolbar .tcs-editor-preview-toggle {
	margin-inline-start: 0;
}

.tcs-agent-conversation .tcs-rich-editor .tcs-format-toolbar button {
	flex: 0 0 auto;
}

.tcs-portal .tcs-rich-editor .tcs-format-toolbar .tcs-editor-preview-toggle[aria-pressed="true"],
.tcs-agent-workspace .tcs-rich-editor .tcs-format-toolbar .tcs-editor-preview-toggle[aria-pressed="true"] {
	background: #2271b1;
	border-color: #2271b1;
	color: #fff;
}

.tcs-rich-editor .tcs-format-toolbar {
	display: none;
}

.tcs-rich-editor.is-enhanced .tcs-format-toolbar {
	display: flex;
}

.tcs-rich-editor [hidden] {
	display: none !important;
}

.tcs-rich-editor > label {
	display: block;
	font-weight: 700;
	margin-bottom: 6px;
}

.tcs-rich-editor textarea,
.tcs-message-preview {
	box-sizing: border-box;
	max-width: 100%;
	width: 100%;
}

.tcs-portal .tcs-rich-editor textarea,
.tcs-agent-workspace .tcs-rich-editor textarea {
	background: #fff;
	border: 1px solid #8c8f94 !important;
	border-radius: 6px !important;
	font-family: inherit;
	line-height: 1.55;
	min-height: 160px;
	padding: 12px;
}

.tcs-message-preview {
	background: #fff;
	border: 1px solid #8c8f94;
	border-radius: 6px;
	min-height: 150px;
	overflow-wrap: anywhere;
	padding: 12px;
}

.tcs-message-preview pre {
	max-width: 100%;
	overflow-x: auto;
	white-space: pre-wrap;
}

.tcs-editor-status {
	display: block;
	min-height: 1.5em;
}

.tcs-link-dialog {
	border: 0;
	border-radius: 8px;
	box-shadow: 0 10px 40px rgba(0, 0, 0, .3);
	box-sizing: border-box;
	max-width: min(480px, calc(100vw - 32px));
	padding: 22px;
	width: 100%;
}

.tcs-link-dialog::backdrop {
	background: rgba(0, 0, 0, .45);
}

.tcs-link-dialog label,
.tcs-link-dialog input {
	display: block;
	width: 100%;
}

.tcs-link-dialog-error {
	color: #b32d2e;
	min-height: 1.5em;
}

.tcs-link-dialog-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.tcs-draft-controls {
	justify-content: space-between;
}

.tcs-front-agent-reply small {
	display: block;
	margin-top: 5px;
}

.tcs-tag-picker { border: 0; display: flex; flex-wrap: wrap; gap: 8px 16px; margin: 0; padding: 0; }
.tcs-tag-picker legend { font-weight: 700; margin-bottom: 6px; width: 100%; }
.tcs-ticket-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.tcs-ticket-tags span { background: #e8f0fe; border-radius: 999px; color: #174ea6; display: inline-block; font-size: .8rem; font-weight: 700; padding: 3px 9px; }
.tcs-custom-fields { border: 1px solid #dcdcde; border-radius: 8px; display: grid; gap: 14px; margin: 18px 0; padding: 18px; }
.tcs-custom-fields > legend { font-weight: 700; padding: 0 6px; }
.tcs-custom-field > label:first-child,
.tcs-custom-field > fieldset > legend { display: block; font-weight: 700; margin-bottom: 5px; }
.tcs-custom-field > input:not([type="checkbox"]),
.tcs-custom-field > select,
.tcs-custom-field > textarea { box-sizing: border-box; width: 100%; }
.tcs-custom-field > fieldset { border: 0; margin: 0; padding: 0; }
.tcs-custom-field > fieldset label { display: block; margin: 5px 0; }
.tcs-custom-field small { color: #646970; display: block; margin-top: 4px; }
.tcs-custom-field-values { margin: 18px 0; }
.tcs-custom-field-values dl { display: grid; gap: 8px; margin: 0; }
.tcs-custom-field-values dl > div { border-bottom: 1px solid #e2e4e7; padding: 7px 0; }
.tcs-custom-field-values dt { font-weight: 700; }
.tcs-custom-field-values dd { margin: 3px 0 0; overflow-wrap: anywhere; }
.tcs-collaboration-panel { background: #fff; border: 1px solid #dfe3e8; border-radius: 12px; box-shadow: 0 8px 22px rgba(23, 40, 58, .055); margin: 18px 0; padding: clamp(16px, 2.2vw, 22px); }
.tcs-collaboration-panel h3 { margin-block: 0 9px; }
.tcs-collaboration-panel p { margin-block: 0 14px; }
.tcs-collaboration-panel fieldset { border: 0; margin: 14px 0; padding: 0; }
.tcs-collaboration-panel legend { font-weight: 700; margin-bottom: 6px; }
.tcs-collaboration-panel fieldset > div { align-items: center; display: flex; flex-wrap: wrap; gap: 8px 18px; padding: 4px 0; }
.tcs-collaboration-panel form { align-items: end; display: flex; flex-wrap: wrap; gap: 10px 12px; margin-block: 10px 0; }
.tcs-collaboration-panel form > label { display: inline-block; font-weight: 600; margin: 0; }
.tcs-collaboration-panel input:not([type="checkbox"]):not([type="radio"]),
.tcs-collaboration-panel select { border: 1px solid #aeb9c4; border-radius: 8px; min-height: 44px; padding: 8px 11px; }
.tcs-collaboration-panel textarea { box-sizing: border-box; display: block; margin-top: 5px; width: 100%; }

.tcs-agent-conversation :where(.tcs-collaboration-panel, .tcs-front-workflow, .tcs-front-agent-reply) :where(button, input[type="submit"]) {
	align-items: center;
	appearance: none;
	background: #fff;
	border: 1px solid #2271b1;
	border-radius: 8px;
	box-shadow: 0 2px 6px rgba(23, 40, 58, .06);
	color: #135e96;
	cursor: pointer;
	display: inline-flex;
	font: inherit;
	font-weight: 700;
	justify-content: center;
	line-height: 1.2;
	min-height: 44px;
	padding: 9px 16px;
	text-decoration: none;
	transition: background-color .15s ease, border-color .15s ease, box-shadow .15s ease, color .15s ease, transform .15s ease;
	width: auto;
}

.tcs-agent-conversation :where(.tcs-collaboration-panel, .tcs-front-workflow, .tcs-front-agent-reply) :where(button, input[type="submit"]):hover:not(:disabled) {
	background: #eef6fc;
	border-color: #135e96;
	box-shadow: 0 6px 14px rgba(23, 40, 58, .1);
	color: #0a4b78;
	transform: translateY(-1px);
}

.tcs-agent-conversation :where(.tcs-front-agent-reply > button[type="submit"], .tcs-front-workflow-action button[type="submit"]) {
	background: #2271b1;
	border-color: #2271b1;
	color: #fff;
}

.tcs-agent-conversation :where(.tcs-front-agent-reply > button[type="submit"], .tcs-front-workflow-action button[type="submit"]):hover:not(:disabled) {
	background: #135e96;
	border-color: #135e96;
	color: #fff;
}

.tcs-agent-conversation #tcs-discard-draft {
	border-color: #c3c4c7;
	color: #8a1c13;
	margin-inline-start: auto;
}

.tcs-agent-conversation #tcs-discard-draft:hover:not(:disabled) {
	background: #fce8e6;
	border-color: #d63638;
	color: #6f261f;
}

.tcs-agent-conversation .tcs-canned-insert {
	align-items: end;
	background: #f6f9fc;
	border: 1px solid #dfe3e8;
	border-radius: 10px;
	padding: 12px;
}

.tcs-agent-conversation .tcs-canned-insert label,
.tcs-agent-conversation .tcs-canned-insert small {
	flex-basis: 100%;
}

.tcs-agent-conversation .tcs-draft-controls {
	border-block-start: 1px solid #e5eaf0;
	margin-block-start: 10px;
	padding-block-start: 12px;
}
.tcs-related-tickets { margin: 12px 0; padding-inline-start: 20px; }
.tcs-related-tickets li { margin: 8px 0; overflow-wrap: anywhere; }
.tcs-related-tickets form { display: inline; margin-inline-start: 8px; }
.tcs-ticket-participants { overflow-wrap: anywhere; }
.tcs-customer-profile { border: 1px solid #dcdcde; border-radius: 8px; margin: 18px 0; padding: 18px; }
.tcs-customer-profile h3 { margin-top: 0; }
.tcs-customer-profile dl { display: grid; gap: 10px 24px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; }
.tcs-customer-profile dl > div { border-bottom: 1px solid #e2e4e7; padding-bottom: 8px; }
.tcs-customer-profile dt { font-weight: 700; }
.tcs-customer-profile dd { margin: 3px 0 0; overflow-wrap: anywhere; }
.tcs-customer-profile ul { padding-inline-start: 20px; }
.tcs-customer-profile li { margin: 8px 0; }
.tcs-customer-profile li span,
.tcs-customer-profile .description { color: #646970; }
.tcs-customer-profile__orders small { display: block; margin-top: 3px; }
.tcs-csat { background: #f6f7f7; border: 1px solid #dcdcde; border-radius: 8px; margin: 22px 0; padding: 18px; }
.tcs-customer-workflow { border: 1px solid #dcdcde; border-radius: 8px; margin: 22px 0; padding: 18px; }
.tcs-customer-workflow h4 { margin-block-start: 0; }
.tcs-csat h4 { margin-top: 0; }
.tcs-csat fieldset { border: 0; margin: 14px 0; padding: 0; }
.tcs-csat legend { font-weight: 700; margin-bottom: 8px; }
.tcs-csat fieldset label { display: inline-block; margin: 4px 18px 4px 0; }
.tcs-csat textarea { box-sizing: border-box; display: block; margin-top: 5px; width: 100%; }

/* The optional Hub is the same full site workspace with an authorization-scoped unified queue. */
.tcs-hub-workspace-switcher { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 auto 18px; max-width: 1180px; }
.tcs-hub-workspace-switcher a { border: 1px solid #2271b1; border-radius: 6px; padding: 10px 14px; text-decoration: none; }
.tcs-hub-workspace-switcher a[aria-current="page"] { background: #2271b1; color: #fff; font-weight: 700; }
.tcs-hub-workspace-switcher a:focus-visible { outline: 3px solid #1d4ed8; outline-offset: 3px; }
.tcs-hub-front-workspace { max-width: 1180px; }
.tcs-hub-front-workspace :where(a, button, input, select, textarea, [tabindex]):focus { outline: 3px solid #1d4ed8; outline-offset: 3px; }
.tcs-hub-front-workspace > h1 { margin-top: 0; }
.tcs-hub-front-workspace .tcs-admin-card,
.tcs-hub-front-workspace .tcs-filter-form,
.tcs-hub-front-workspace > table { background: #fff; border: 1px solid #dcdcde; border-radius: 8px; box-sizing: border-box; margin: 18px 0; padding: 18px; }
.tcs-hub-front-workspace .tcs-filter-form { display: grid; gap: 14px; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.tcs-hub-front-workspace .tcs-filter-form p { margin: 0; }
.tcs-hub-front-workspace .tcs-filter-form p:last-child { align-items: center; display: flex; flex-wrap: wrap; gap: 8px; grid-column: 1 / -1; }
.tcs-hub-front-workspace label { font-weight: 700; }
.tcs-hub-front-workspace input:not([type="checkbox"]):not([type="radio"]),
.tcs-hub-front-workspace select,
.tcs-hub-front-workspace textarea { box-sizing: border-box; max-width: 100%; width: 100%; }
.tcs-hub-front-workspace table { border-collapse: collapse; display: table; overflow-wrap: anywhere; padding: 0; width: 100%; }
.tcs-hub-front-workspace th,
.tcs-hub-front-workspace td { border-bottom: 1px solid #dcdcde; padding: 10px; text-align: start; vertical-align: top; }
.tcs-hub-front-workspace .description { color: #646970; }
.tcs-hub-front-workspace .notice { border-inline-start: 4px solid #2271b1; margin: 14px 0; padding: 10px 14px; }
.tcs-hub-front-workspace .notice-success { border-inline-start-color: #00a32a; }
.tcs-hub-front-workspace .notice-warning { border-inline-start-color: #dba617; }
.tcs-hub-front-workspace .notice-error { border-inline-start-color: #d63638; }
.tcs-hub-front-workspace .tcs-inline-form { display: inline; }
.tcs-hub-front-workspace .tcs-save-view-form { display: grid; gap: 8px; grid-template-columns: minmax(0, 1fr) auto; }
.tcs-hub-front-workspace .tcs-save-view-form label,
.tcs-hub-front-workspace .tcs-save-view-form small { grid-column: 1 / -1; }
.tcs-hub-front-workspace .tcs-live-controls { align-items: center; display: flex; flex-wrap: wrap; gap: 8px; }
.tcs-hub-front-workspace .button {
	align-items: center;
	border: 1px solid #2271b1;
	border-radius: 7px;
	display: inline-flex;
	font-weight: 700;
	justify-content: center;
	min-height: 44px;
	padding: 8px 14px;
	text-decoration: none;
}
.tcs-hub-front-workspace .button-primary { background: #2271b1; color: #fff; }
.tcs-hub-inbox-toolbar,
.tcs-hub-inbox-toolbar .tcs-live-controls,
.tcs-hub-bulk-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 10px; }
.tcs-hub-inbox-toolbar { justify-content: space-between; margin-block: 14px 20px; }
.tcs-hub-inbox-toolbar .tcs-live-controls { margin: 0; }
.tcs-hub-front-workspace .tcs-hub-saved-views {
	background: #fff;
	border: 1px solid #dcdcde;
	border-radius: 10px;
	box-shadow: 0 6px 18px rgba(30, 41, 59, .07);
	display: grid;
	gap: clamp(20px, 3vw, 34px);
	grid-template-columns: minmax(0, 1fr) minmax(320px, 460px);
	margin-block: 20px;
	padding: clamp(19px, 2.2vw, 26px);
}
.tcs-hub-saved-view-list > h2,
.tcs-hub-filter-heading > h2 { font-size: 1.15rem; margin-block: 0 5px; }
.tcs-hub-saved-view-list > .description,
.tcs-hub-filter-heading > .description { margin-block: 0 14px; }
.tcs-hub-saved-view-chips { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin-block: 14px 0; padding: 0; }
.tcs-hub-saved-view-chips > li { align-items: center; background: #f6f9fc; border: 1px solid #dcdcde; border-radius: 999px; display: flex; gap: 8px; margin: 0; padding-block: 5px; padding-inline: 11px 9px; }
.tcs-hub-saved-view-chips > li.is-active { box-shadow: 0 4px 12px rgba(30, 41, 59, .08); }
.tcs-hub-saved-view-chips a[aria-current="page"] { font-weight: 700; }
.tcs-hub-saved-view-chips .button-link-delete { min-height: 28px; padding-inline: 4px; }
.tcs-hub-front-workspace .tcs-empty-state { background: #f6f9fc; border: 1px dashed #c3c4c7; border-radius: 8px; padding: 13px 15px; }
.tcs-hub-front-workspace .tcs-save-view-form { align-content: start; background: #f6f9fc; border: 1px solid #dcdcde; border-radius: 9px; padding: 15px; }
.tcs-hub-front-workspace .tcs-save-view-form small { color: #50575e; line-height: 1.5; }
.tcs-hub-front-workspace .tcs-inbox-filters {
	align-items: end;
	background: #fff;
	border: 1px solid #dcdcde;
	border-radius: 10px;
	box-shadow: 0 6px 18px rgba(30, 41, 59, .07);
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	margin-block: 20px;
	padding: clamp(19px, 2.2vw, 26px);
}
.tcs-hub-front-workspace .tcs-hub-filter-heading { grid-column: 1 / -1; }
.tcs-hub-front-workspace .tcs-hub-filter-heading > .description { margin-block-end: 2px; }
.tcs-hub-front-workspace .tcs-filter-field { grid-column: span 2; min-width: 0; }
.tcs-hub-front-workspace .tcs-filter-field--site { grid-column: span 4; }
.tcs-hub-front-workspace .tcs-filter-field--search { grid-column: span 8; }
.tcs-hub-front-workspace .tcs-filter-field label,
.tcs-hub-front-workspace .tcs-filter-field input,
.tcs-hub-front-workspace .tcs-filter-field select { display: block; width: 100%; }
.tcs-hub-front-workspace .tcs-filter-field label { margin-block-end: 5px; }
.tcs-hub-front-workspace .tcs-filter-actions { display: flex; flex-wrap: wrap; gap: 10px; grid-column: span 4; justify-content: flex-end; }
.tcs-hub-front-workspace .tcs-hub-inbox-table-wrap { background: #fff; border: 1px solid #dcdcde; border-radius: 10px; box-shadow: 0 6px 18px rgba(30, 41, 59, .07); margin-block: 12px 0; max-width: 100%; overflow-x: auto; }
.tcs-hub-front-workspace .tcs-hub-inbox-table { border: 0; border-radius: 0; margin: 0; }
.tcs-hub-inbox-table .tcs-hub-select-cell { text-align: center; white-space: nowrap; width: 78px; }
.tcs-hub-inbox-table tbody tr.is-unread > td { background: #f6f9fc; }
.tcs-hub-empty-row td { padding-block: 28px !important; text-align: center; }
.tcs-hub-bulk-actions { background: #f6f9fc; border: 1px solid #dcdcde; border-radius: 9px; justify-content: space-between; margin-block: 12px 24px; padding: 12px 14px; }
.tcs-hub-bulk-actions .description { flex: 1 1 320px; }
.tcs-hub-front-workspace .tcs-inbox-pagination { text-align: end; }

@media (max-width: 1000px) {
	.tcs-hub-front-workspace .tcs-filter-field,
	.tcs-hub-front-workspace .tcs-filter-field--site { grid-column: span 6; }
	.tcs-hub-front-workspace .tcs-filter-field--search,
	.tcs-hub-front-workspace .tcs-filter-actions { grid-column: 1 / -1; }
	.tcs-hub-front-workspace .tcs-filter-actions { justify-content: flex-start; }
}

/* Public help-center landing page. */
.tcs-portal {
	color: #1f2d3d;
	margin-block-start: clamp(20px, 3vw, 32px);
	max-width: 1180px;
}

.tcs-screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.tcs-brand-header {
	align-items: flex-start;
	background: #f7f7fa;
	border: 0;
	border-radius: 12px 12px 0 0;
	display: flex;
	margin: 0;
	padding: clamp(24px, 4vw, 40px) clamp(24px, 6vw, 60px) 12px;
}

.tcs-brand-header h2 {
	color: #17283a;
	font-size: clamp(2.15rem, 5vw, 3.6rem);
	letter-spacing: -.035em;
	line-height: 1.05;
}

.tcs-brand-welcome {
	color: #445266;
	font-size: clamp(1rem, 2vw, 1.2rem);
	margin-block-start: 14px !important;
}

.tcs-kb-search {
	background: #f7f7fa;
	border: 0;
	border-radius: 0 0 12px 12px;
	margin: 0 0 clamp(38px, 6vw, 70px);
	padding: 10px clamp(24px, 6vw, 60px) clamp(24px, 4vw, 36px);
}

.tcs-kb-search form {
	align-items: stretch;
	display: grid;
	filter: drop-shadow(0 6px 10px rgba(23, 40, 58, .12));
	grid-template-columns: minmax(0, 1fr) 72px;
	margin: 0;
	max-width: 780px;
}

.tcs-kb-search input[type="search"] {
	background: #fff;
	border: 1px solid #e4e7eb;
	border-inline-end: 0;
	border-radius: 8px 0 0 8px;
	font-size: 1.05rem;
	min-height: 66px;
	padding: 14px 20px;
	width: 100%;
}

.tcs-kb-search button[type="submit"] {
	align-items: center;
	background: #2f3133;
	border: 1px solid #2f3133;
	border-radius: 0 8px 8px 0;
	color: #fff;
	display: flex;
	justify-content: center;
	min-height: 66px;
	padding: 0;
	width: 72px;
}

.tcs-kb-search input[type="search"]:focus {
	border-color: #4f85b3;
	box-shadow: inset 0 0 0 1px #4f85b3;
	outline: 0;
}

.tcs-kb-search button[type="submit"]:hover {
	background: #17283a;
	border-color: #17283a;
	box-shadow: 0 7px 16px rgba(23, 40, 58, .2);
}

.tcs-kb-search button svg {
	fill: none;
	height: 26px;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-width: 1.7;
	width: 26px;
}

.tcs-kb-common-topics {
	align-items: baseline;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 28px;
}

.tcs-kb-common-topics ul {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.tcs-kb-common-topics li:not(:last-child)::after {
	content: ",";
}

.tcs-kb-common-topics a {
	color: #31455d;
	text-underline-offset: 3px;
}

.tcs-kb-search-results {
	background: #fff;
	border: 1px solid #e2e8ef;
	border-radius: 16px;
	box-shadow: 0 14px 38px rgba(23, 40, 58, .08);
	margin-top: 34px;
	padding: clamp(22px, 4vw, 34px);
}

.tcs-kb-search-results.is-empty {
	background: linear-gradient(145deg, #fff, #f8fafc);
}

.tcs-kb-search-results__header {
	align-items: center;
	display: flex;
	gap: 16px;
}

.tcs-kb-search-results__icon {
	align-items: center;
	background: #edf5fb;
	border: 1px solid #d8e9f6;
	border-radius: 13px;
	color: #2271b1;
	display: inline-flex;
	flex: 0 0 50px;
	height: 50px;
	justify-content: center;
}

.tcs-kb-search-results.is-empty .tcs-kb-search-results__icon {
	background: #f1f3f5;
	border-color: #e1e4e8;
	color: #526176;
}

.tcs-kb-search-results__icon svg {
	fill: none;
	height: 25px;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.6;
	width: 25px;
}

.tcs-kb-search-results__eyebrow {
	color: #526175;
	font-size: .76rem;
	font-weight: 800;
	letter-spacing: .1em;
	margin: 0 0 4px;
	text-transform: uppercase;
}

.tcs-kb-search-results__header h3 {
	color: #17283a;
	font-size: clamp(1.25rem, 2.5vw, 1.55rem);
	letter-spacing: -.018em;
	line-height: 1.25;
	margin: 0;
}

.tcs-kb-search-results__summary {
	color: #5a687a;
	font-size: .92rem;
	margin: 5px 0 0;
}

.tcs-kb-search-results__handoff {
	align-items: center;
	background: #f3f8fc;
	border: 1px solid #dceaf5;
	border-radius: 12px;
	display: grid;
	gap: 13px;
	grid-template-columns: auto minmax(0, 1fr) auto;
	margin-block-start: 24px;
	padding: 15px 17px;
}

.tcs-kb-search-results__handoff-icon {
	align-items: center;
	background: #fff;
	border: 1px solid #bdd8ec;
	border-radius: 50%;
	color: #135e96;
	display: inline-flex;
	font-size: .88rem;
	font-weight: 800;
	height: 32px;
	justify-content: center;
	width: 32px;
}

.tcs-kb-search-results__handoff strong {
	color: #17283a;
	display: block;
	font-size: .94rem;
}

.tcs-kb-search-results__handoff p {
	color: #526175;
	font-size: .86rem;
	line-height: 1.45;
	margin: 2px 0 0;
}

.tcs-kb-search-results__handoff > div {
	min-width: 0;
}

.tcs-kb-search-results__down {
	color: #2271b1;
	font-size: 1.25rem;
	font-weight: 700;
}

.tcs-knowledge--topics {
	background: linear-gradient(145deg, #f8fbfd 0%, #f3f8fa 100%);
	border: 1px solid #e0e8ed;
	border-radius: 18px;
	box-shadow: 0 16px 38px rgba(23, 40, 58, .08);
	margin: 0;
	padding: clamp(24px, 5vw, 48px);
}

.tcs-knowledge-heading {
	margin-bottom: clamp(20px, 3vw, 30px);
}

.tcs-knowledge-heading h2 {
	color: #17283a;
	font-size: clamp(1.8rem, 3vw, 2.5rem);
	margin: 4px 0 0;
}

.tcs-kb-topic-grid {
	display: grid;
	gap: clamp(16px, 2.5vw, 24px);
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tcs-kb-topic-grid.is-single {
	grid-template-columns: minmax(0, 1fr);
	max-width: 720px;
}

.tcs-kb-topic {
	background: #fff;
	border: 1px solid #d9e2e8;
	border-radius: 16px;
	box-shadow: 0 8px 22px rgba(23, 40, 58, .07);
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: clamp(18px, 2.5vw, 24px);
	transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.tcs-kb-topic:hover,
.tcs-kb-topic:focus-within {
	border-color: #9fc6ca;
	box-shadow: 0 14px 30px rgba(23, 40, 58, .11);
	transform: translateY(-2px);
}

.tcs-kb-topic h3 {
	border-bottom: 1px solid #dfe6ea;
	font-size: clamp(1.1rem, 2vw, 1.35rem);
	margin: 0;
	padding-bottom: 16px;
}

.tcs-kb-topic h3 a {
	align-items: center;
	color: #17283a;
	display: grid;
	gap: 12px;
	grid-template-columns: 42px minmax(0, 1fr) auto;
	line-height: 1.25;
	text-decoration: none;
}

.tcs-kb-topic-icon {
	align-items: center;
	background: #e7f4f5;
	border-radius: 12px;
	color: #006f73;
	display: inline-flex;
	font-size: 1.15em;
	height: 42px;
	justify-content: center;
	line-height: 1;
	width: 42px;
}

.tcs-kb-topic-heading-arrow {
	color: #006f73;
	font-size: 1.15em;
	transition: transform .18s ease;
}

.tcs-kb-topic h3 a:hover .tcs-kb-topic-heading-arrow,
.tcs-kb-topic h3 a:focus-visible .tcs-kb-topic-heading-arrow {
	transform: translateX(3px);
}

[dir="rtl"] .tcs-kb-topic h3 a:hover .tcs-kb-topic-heading-arrow,
[dir="rtl"] .tcs-kb-topic h3 a:focus-visible .tcs-kb-topic-heading-arrow {
	transform: translateX(-3px);
}

.tcs-kb-topic ul {
	display: grid;
	gap: 8px;
	list-style: none;
	margin: 16px 0;
	padding: 0;
}

.tcs-kb-topic li a {
	align-items: center;
	background: #f7f9fb;
	border: 1px solid #e4eaee;
	border-radius: 10px;
	color: #25394f;
	display: flex;
	gap: 14px;
	justify-content: space-between;
	line-height: 1.4;
	min-height: 52px;
	padding: 10px 13px;
	text-decoration: none;
	transition: background-color .18s ease, border-color .18s ease, color .18s ease;
}

.tcs-kb-topic li a span:first-child {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.tcs-kb-topic li a:hover,
.tcs-kb-topic li a:focus-visible {
	background: #eef7f7;
	border-color: #9fc6ca;
	color: #113e43;
}

.tcs-kb-topic-arrow {
	color: #006f73;
	font-size: 1.35rem;
	line-height: 1;
	transition: transform .18s ease;
}

.tcs-kb-topic li a:hover .tcs-kb-topic-arrow,
.tcs-kb-topic li a:focus-visible .tcs-kb-topic-arrow {
	transform: translateX(2px);
}

[dir="rtl"] .tcs-kb-topic li a:hover .tcs-kb-topic-arrow,
[dir="rtl"] .tcs-kb-topic li a:focus-visible .tcs-kb-topic-arrow {
	transform: translateX(-2px);
}

.tcs-kb-see-all {
	align-items: center;
	align-self: flex-start;
	background: #e7f4f5;
	border: 1px solid #bedadd;
	border-radius: 999px;
	color: #006f73;
	display: inline-flex;
	font-weight: 700;
	margin-top: auto;
	min-height: 42px;
	padding: 8px 15px;
	text-decoration: none;
	transition: background-color .18s ease, border-color .18s ease, transform .18s ease;
}

.tcs-kb-see-all span {
	font-size: 1.25em;
	margin-inline-start: 8px;
}

.tcs-kb-see-all:hover,
.tcs-kb-see-all:focus-visible {
	background: #d8eeee;
	border-color: #7fb3b7;
	color: #064f53;
	transform: translateY(-1px);
}

.tcs-help-actions {
	align-items: center;
	background: #f7f7fa;
	border-radius: 10px;
	display: flex;
	gap: 28px;
	justify-content: space-between;
	margin-top: clamp(50px, 7vw, 86px);
	padding: clamp(24px, 5vw, 42px);
}

.tcs-help-actions h2,
.tcs-help-actions p {
	margin-block: 4px;
}

.tcs-help-actions h2 {
	font-size: clamp(1.35rem, 2.5vw, 1.8rem);
}

.tcs-help-action-links {
	display: flex;
	flex: 0 0 auto;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: flex-end;
	max-width: min(100%, 370px);
}

.tcs-help-action-links a {
	align-items: center;
	border: 2px solid #006f73;
	border-radius: 6px;
	display: inline-flex;
	font-weight: 700;
	justify-content: center;
	min-height: 48px;
	padding: 10px 18px;
	text-decoration: none;
}

.tcs-help-action-primary {
	background: #006f73;
	color: #fff;
}

.tcs-help-action-secondary {
	background: #fff;
	color: #17283a;
}

.tcs-help-action-staff {
	flex-basis: 100%;
	margin-inline-start: auto;
}

/* Keep only plugin-owned filled controls readable when a theme forces link or button colours. */
.tcs-attachment-preview-cue,
.tcs-attachment-modal__close,
.tcs-portal .tcs-ticket-list__new,
.tcs-portal .tcs-portal-primary-action,
.tcs-portal .tcs-customer-filter-actions button,
.tcs-portal .tcs-kb-categories a[aria-current="page"],
.tcs-kb-toc a[aria-current="location"],
.tcs-kb-feedback button.is-selected,
.tcs-portal .tcs-kb-support-cta a.tcs-kb-support-button,
.single-tcs_kb_article .tcs-kb-support-cta a.tcs-kb-support-button,
.tcs-portal .tcs-rich-editor .tcs-format-toolbar .tcs-editor-preview-toggle[aria-pressed="true"],
.tcs-hub-workspace-switcher a[aria-current="page"],
.tcs-hub-front-workspace .button-primary,
.tcs-kb-search button[type="submit"],
.tcs-portal .tcs-help-action-links a.tcs-help-action-primary,
.tcs-agent-filter-actions button,
.tcs-front-save-view button,
.tcs-workspace-access__primary,
.tcs-login-required__primary,
.tcs-kb-directory__support > a {
	color: #fff !important;
}

.tcs-ticket-access {
	scroll-margin-top: 120px;
}

.tcs-ticket-access > h2 {
	margin-top: clamp(42px, 6vw, 70px);
}

/* Theme-safe knowledge directory and article pages. */
.tcs-kb-page-shell {
	box-sizing: border-box;
	color: #17283a;
	margin-inline: auto;
	max-width: 1180px;
	overflow-wrap: anywhere;
	padding: clamp(28px, 5vw, 64px) clamp(16px, 4vw, 28px);
	width: 100%;
}

.tcs-kb-page-shell *,
.tcs-kb-page-shell *::before,
.tcs-kb-page-shell *::after {
	box-sizing: border-box;
}

.tcs-kb-page-shell :where(a, button, input, select):focus-visible {
	outline: 3px solid #1d4ed8;
	outline-offset: 3px;
}

.tcs-kb-directory {
	display: grid;
	gap: clamp(28px, 5vw, 52px);
}

.tcs-kb-directory__header,
.tcs-kb-single-header {
	background: linear-gradient(135deg, #f4f8fc 0%, #eef5fa 100%);
	border: 1px solid #dce7ef;
	border-radius: 18px;
	padding: clamp(26px, 5vw, 48px);
}

.tcs-kb-directory__header h1,
.tcs-kb-single-header h1 {
	color: #17283a;
	font-size: clamp(2rem, 5vw, 3.35rem);
	letter-spacing: -.035em;
	line-height: 1.08;
	margin: 6px 0 12px;
}

.tcs-kb-directory__header > :last-child,
.tcs-kb-single-header > :last-child {
	color: #526175;
	margin-bottom: 0;
}

.tcs-kb-archive-page .tcs-kb-search,
.tcs-kb-archive-page .tcs-knowledge {
	background: #fff;
	border: 1px solid #dce4eb;
	border-radius: 18px;
	box-shadow: 0 14px 34px rgba(23, 40, 58, .08);
	margin: 0;
	padding: clamp(22px, 4vw, 38px);
}

.tcs-kb-archive-page .tcs-kb-search-results {
	margin-block-end: 0;
}

.tcs-kb-directory__support {
	align-items: center;
	background: #f5f7fa;
	border: 1px solid #e1e7ed;
	border-radius: 16px;
	display: flex;
	gap: 24px;
	justify-content: space-between;
	padding: clamp(24px, 4vw, 36px);
}

.tcs-kb-directory__support h2,
.tcs-kb-directory__support p {
	margin-block: 4px 8px;
}

.tcs-kb-directory__support > a,
.tcs-workspace-access__primary,
.tcs-login-required__primary {
	align-items: center;
	background: #006f78;
	border: 1px solid #006f78;
	border-radius: 9px;
	color: #fff !important;
	display: inline-flex;
	font-weight: 700;
	justify-content: center;
	min-height: 48px;
	padding: 11px 20px;
	text-decoration: none;
	white-space: nowrap;
}

.tcs-kb-directory__support > a:hover,
.tcs-workspace-access__primary:hover,
.tcs-login-required__primary:hover {
	background: #005a62;
	color: #fff !important;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.tcs-kb-breadcrumb {
	margin-block-end: 18px;
}

.tcs-kb-breadcrumb a {
	color: #135e96;
	font-weight: 700;
	text-decoration: none;
}

.tcs-kb-single-card {
	background: #fff;
	border: 1px solid #dce4eb;
	border-radius: 20px;
	box-shadow: 0 18px 45px rgba(23, 40, 58, .1);
	overflow: hidden;
}

.tcs-kb-single-header {
	border: 0;
	border-block-end: 1px solid #dce7ef;
	border-radius: 0;
}

.tcs-kb-single-content {
	font-size: 1.03rem;
	line-height: 1.75;
	padding: clamp(24px, 5vw, 52px);
}

.tcs-kb-single-content :where(p, ul, ol) {
	margin-block: 0 1.35em;
}

.tcs-kb-single-content :where(h2, h3) {
	color: #17283a;
	letter-spacing: -.018em;
	line-height: 1.25;
	margin-block: 1.8em .65em;
}

.tcs-kb-single-content :where(ul, ol) {
	padding-inline-start: 1.35em;
}

.tcs-kb-single-content code {
	background: #f1f4f7;
	border-radius: 5px;
	color: #24364a;
	font-size: .9em;
	padding: 2px 5px;
}

.tcs-kb-single-content .tcs-kb-article-layout {
	background: #fff;
}

.tcs-kb-single-content .tcs-kb-toc {
	background: #f7f9fb;
	border: 1px solid #dfe6ec;
	border-radius: 12px;
	padding: 18px;
}

.tcs-kb-single-content .tcs-kb-feedback,
.tcs-kb-single-content .tcs-kb-support-cta {
	border: 1px solid #dfe6ec;
	border-radius: 14px;
	margin-block-start: 34px;
}

.tcs-kb-single-content .tcs-kb-support-cta {
	background: #f5f8fb;
}

/* Clear, destination-safe customer and staff access states. */
.tcs-login-required {
	border-color: #dce4eb;
	border-radius: 16px;
	box-shadow: 0 14px 34px rgba(23, 40, 58, .08);
}

.tcs-login-required__account {
	align-items: center;
	display: grid;
	gap: 18px;
	grid-template-columns: auto minmax(0, 1fr) auto;
}

.tcs-login-required__icon,
.tcs-workspace-access__icon {
	align-items: center;
	background: #eaf4fb;
	border: 1px solid #cfe2f0;
	border-radius: 12px;
	display: inline-flex;
	font-size: 1.3rem;
	height: 50px;
	justify-content: center;
	width: 50px;
}

.tcs-login-required__account h3,
.tcs-login-required__account p {
	margin-block: 3px 6px;
}

.tcs-account-login {
	border-block-start: 1px solid #dce4eb;
	margin-block-start: 24px;
	padding-block-start: 24px;
}

.tcs-workspace-access {
	background: #fff;
	border: 1px solid #dce4eb;
	border-radius: 20px;
	box-shadow: 0 18px 45px rgba(23, 40, 58, .1);
	margin: clamp(28px, 6vw, 72px) auto;
	max-width: 680px;
	padding: clamp(28px, 6vw, 52px);
	text-align: center;
}

.tcs-workspace-access__icon {
	margin-inline: auto;
}

.tcs-workspace-access h2 {
	color: #17283a;
	font-size: clamp(1.8rem, 4vw, 2.5rem);
	margin: 8px 0 12px;
}

.tcs-workspace-access > p:not(.tcs-eyebrow) {
	color: #526175;
	font-size: 1.05rem;
}

.tcs-workspace-access__actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	justify-content: center;
	margin-block: 24px 18px;
}

/* Compact, elevated local agent inbox. */
.tcs-agent-header {
	background: linear-gradient(135deg, #f4f8fc 0%, #eef5fa 100%);
	border: 1px solid #dce7ef;
	border-radius: 16px;
	padding: clamp(20px, 4vw, 30px);
}

.tcs-agent-filters,
.tcs-front-saved-views,
.tcs-agent-ticket {
	border-color: #dce4eb;
	border-radius: 14px;
	box-shadow: 0 9px 24px rgba(23, 40, 58, .07);
}

.tcs-front-saved-views,
.tcs-agent-filters {
	padding: clamp(18px, 3vw, 26px);
}

.tcs-front-save-view :where(input, select),
.tcs-agent-filters :where(input, select) {
	background: #fff;
	border: 1px solid #aeb9c4;
	border-radius: 8px;
	min-height: 44px;
	padding: 8px 11px;
}

.tcs-front-save-view button,
.tcs-agent-filter-actions button {
	background: #2271b1;
	border: 1px solid #2271b1;
	border-radius: 8px;
	color: #fff;
	cursor: pointer;
	font-weight: 700;
	min-height: 44px;
	padding: 9px 17px;
}

.tcs-front-save-view button {
	justify-self: end;
	min-width: 210px;
	width: auto;
}

.tcs-front-save-view button:hover,
.tcs-agent-filter-actions button:hover {
	background: #135e96;
	color: #fff;
}

.tcs-agent-advanced-filters {
	border-block-start: 1px solid #e1e7ed;
	grid-column: 1 / -1;
	padding-block-start: 12px;
}

.tcs-agent-advanced-filters summary {
	align-items: center;
	background: #f6fbff;
	border: 1px solid #b9d6ee;
	border-radius: 10px;
	box-shadow: 0 3px 10px rgba(34, 113, 177, .08);
	cursor: pointer;
	display: flex;
	font-weight: 700;
	gap: 10px;
	justify-content: space-between;
	list-style: none;
	min-height: 44px;
	padding: 10px 14px;
	transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.tcs-agent-advanced-filters summary::-webkit-details-marker {
	display: none;
}

.tcs-agent-advanced-filters summary::after {
	border-block-end: 2px solid #2271b1;
	border-inline-end: 2px solid #2271b1;
	content: "";
	display: block;
	flex: 0 0 10px;
	height: 10px;
	margin-inline: 8px 2px;
	transform: rotate(45deg) translateY(-2px);
	transition: transform 160ms ease, border-color 160ms ease;
	width: 10px;
}

.tcs-agent-advanced-filters[open] summary {
	background: #eef7ff;
	border-color: #8bbde6;
}

.tcs-agent-advanced-filters[open] summary::after {
	transform: rotate(225deg) translate(-2px, -2px);
}

.tcs-agent-advanced-filters summary:hover {
	background: #eef7ff;
	border-color: #8bbde6;
	box-shadow: 0 6px 16px rgba(34, 113, 177, .12);
}

.tcs-agent-advanced-filters summary:hover::after {
	border-color: #135e96;
}

.tcs-agent-advanced-filters summary small {
	color: #526175;
	font-weight: 400;
}

.tcs-agent-advanced-grid {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(4, minmax(140px, 1fr));
	padding-block-start: 14px;
}

.tcs-agent-ticket {
	transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.tcs-agent-ticket:hover {
	border-color: #9cb9d1;
	box-shadow: 0 14px 30px rgba(23, 40, 58, .12);
	transform: translateY(-2px);
}

.tcs-new-ticket,
.tcs-ticket-detail {
	border-color: #dce4eb;
	border-radius: 14px;
	box-shadow: 0 10px 28px rgba(23, 40, 58, .07);
}

/* One-site support-team invitation acceptance. */
.tcs-portal.tcs-invitation {
	color: #17283a;
	margin-block: clamp(28px, 6vw, 72px);
	max-width: 760px;
	padding-inline: clamp(16px, 4vw, 28px);
}

.tcs-invitation__card {
	background: #fff;
	border: 1px solid #dce4eb;
	border-radius: 20px;
	box-shadow: 0 20px 50px rgba(23, 40, 58, .12);
	overflow: hidden;
}

.tcs-invitation__header {
	align-items: center;
	background: linear-gradient(135deg, #f4f9fd 0%, #eef6fb 100%);
	border-block-end: 1px solid #dce8f1;
	display: flex;
	gap: 18px;
	padding: clamp(24px, 5vw, 38px);
}

.tcs-invitation__icon {
	align-items: center;
	background: #2271b1;
	border-radius: 14px;
	box-shadow: 0 8px 18px rgba(34, 113, 177, .24);
	color: #fff;
	display: inline-flex;
	flex: 0 0 52px;
	font-size: 1.45rem;
	font-weight: 800;
	height: 52px;
	justify-content: center;
}

.tcs-invitation__eyebrow {
	color: #135e96;
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: .09em;
	line-height: 1.3;
	margin: 0 0 6px;
	text-transform: uppercase;
}

.tcs-invitation .tcs-invitation__header h1 {
	color: #17283a;
	font-size: clamp(1.8rem, 4vw, 2.45rem);
	letter-spacing: -.025em;
	line-height: 1.12;
	margin: 0;
}

.tcs-invitation__body {
	padding: clamp(24px, 5vw, 40px);
}

.tcs-invitation__intro {
	color: #42536a;
	font-size: 1.05rem;
	line-height: 1.65;
	margin: 0 0 22px;
}

.tcs-invitation__summary {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0;
}

.tcs-invitation__summary > div {
	background: #f6f9fc;
	border: 1px solid #dce6ef;
	border-radius: 10px;
	min-width: 0;
	padding: 14px 16px;
}

.tcs-invitation__summary dt {
	color: #5b6878;
	font-size: .74rem;
	font-weight: 800;
	letter-spacing: .055em;
	line-height: 1.3;
	margin: 0 0 5px;
	text-transform: uppercase;
}

.tcs-invitation__summary dd {
	color: #17283a;
	font-size: 1rem;
	font-weight: 750;
	line-height: 1.4;
	margin: 0;
}

.tcs-invitation__scope-note,
.tcs-invitation__privacy {
	color: #5b6878;
	font-size: .9rem;
	line-height: 1.55;
}

.tcs-invitation__scope-note {
	margin: 12px 0 0;
}

.tcs-invitation .tcs-form,
.tcs-invitation__next-step {
	border-block-start: 1px solid #e2e8ee;
	margin-block-start: 28px;
	padding-block-start: 28px;
}

.tcs-invitation .tcs-form {
	display: grid;
	gap: 18px;
}

.tcs-invitation__form-heading h2,
.tcs-invitation__next-step h2 {
	color: #17283a;
	font-size: 1.35rem;
	line-height: 1.3;
	margin: 0 0 6px;
}

.tcs-invitation__form-heading p,
.tcs-invitation__next-step p {
	color: #526175;
	line-height: 1.55;
	margin: 0;
}

.tcs-invitation__field label {
	color: #17283a;
	display: block;
	font-size: .93rem;
	font-weight: 750;
	line-height: 1.4;
	margin-block-end: 7px;
}

.tcs-portal.tcs-invitation .tcs-invitation__field input[type="password"] {
	appearance: none;
	background: #fff !important;
	border: 1px solid #aebdca !important;
	border-radius: 8px !important;
	box-shadow: inset 0 1px 2px rgba(23, 40, 58, .04) !important;
	color: #17283a !important;
	display: block;
	font: inherit;
	font-size: 1rem;
	line-height: 1.35;
	min-height: 50px;
	padding: 11px 13px !important;
	transition: border-color .15s ease, box-shadow .15s ease;
	width: 100%;
}

.tcs-portal.tcs-invitation .tcs-invitation__field input[type="password"]:hover {
	border-color: #71859a !important;
}

.tcs-portal.tcs-invitation .tcs-invitation__field input[type="password"]:focus {
	border-color: #2271b1 !important;
	box-shadow: 0 0 0 3px rgba(34, 113, 177, .14) !important;
}

.tcs-invitation__actions {
	display: flex;
	margin: 2px 0 0;
}

.tcs-invitation .tcs-button {
	align-items: center;
	background: #2271b1;
	border: 1px solid #2271b1;
	border-radius: 8px;
	box-shadow: 0 8px 18px rgba(34, 113, 177, .2);
	color: #fff !important;
	cursor: pointer;
	display: inline-flex;
	font: inherit;
	font-weight: 750;
	justify-content: center;
	line-height: 1.25;
	min-height: 48px;
	padding: 12px 20px;
	text-decoration: none;
	transition: background-color .15s ease, border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

.tcs-invitation .tcs-button:hover {
	background: #135e96;
	border-color: #135e96;
	box-shadow: 0 10px 22px rgba(19, 94, 150, .24);
	color: #fff !important;
	transform: translateY(-1px);
}

.tcs-invitation .tcs-button:active {
	box-shadow: 0 4px 10px rgba(19, 94, 150, .2);
	transform: translateY(0);
}

.tcs-invitation__privacy {
	margin: -3px 0 0;
}

.tcs-invitation .tcs-notice {
	background: #f6f9fc;
	border: 1px solid #dce6ef;
	border-inline-start: 4px solid #2271b1;
	border-radius: 8px;
	margin: 24px 0 0;
	padding: 13px 16px;
}

.tcs-invitation .tcs-notice-error {
	background: #fcf0f1;
	border-color: #efc7ca;
	border-inline-start-color: #b32d2e;
}

.tcs-invitation .tcs-notice-warning {
	background: #fcf8e8;
	border-color: #e6dca4;
	border-inline-start-color: #996800;
}

.tcs-invitation .tcs-notice p {
	line-height: 1.55;
	margin: 0;
}

@media (max-width: 600px) {
	.tcs-portal.tcs-invitation {
		margin-block: 20px 36px;
		padding-inline: 12px;
	}

	.tcs-invitation__card {
		border-radius: 14px;
	}

	.tcs-invitation__header {
		align-items: flex-start;
		gap: 13px;
	}

	.tcs-invitation__icon {
		border-radius: 11px;
		flex-basis: 44px;
		height: 44px;
	}

	.tcs-invitation__summary {
		grid-template-columns: minmax(0, 1fr);
	}

	.tcs-invitation__actions,
	.tcs-invitation .tcs-button {
		width: 100%;
	}
}

@media (max-width: 900px) {
	.tcs-agent-advanced-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tcs-kb-topic-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tcs-kb-article-layout {
		grid-template-areas: "toc" "article";
		grid-template-columns: minmax(0, 1fr);
	}

	.tcs-kb-toc {
		border-block-end: 1px solid #dcdcde;
		border-inline-start: 0;
		padding-block-end: 20px;
		padding-inline-start: 0;
		position: static;
	}
}

@media (max-width: 600px) {
	.tcs-kb-directory__support,
	.tcs-login-required__account,
	.tcs-workspace-access__actions {
		align-items: stretch;
		flex-direction: column;
		grid-template-columns: minmax(0, 1fr);
		text-align: start;
	}

	.tcs-login-required__icon {
		margin-block-end: 2px;
	}

	.tcs-kb-directory__support > a,
	.tcs-login-required__primary,
	.tcs-workspace-access__primary {
		width: 100%;
	}

	.tcs-agent-advanced-filters summary {
		align-items: center;
		gap: 10px;
	}

	.tcs-agent-advanced-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.tcs-hub-inbox-toolbar,
	.tcs-hub-inbox-toolbar .tcs-live-controls,
	.tcs-hub-bulk-actions {
		align-items: flex-start;
		flex-direction: column;
	}

	.tcs-hub-front-workspace .tcs-hub-saved-views,
	.tcs-hub-front-workspace .tcs-filter-field,
	.tcs-hub-front-workspace .tcs-filter-field--site,
	.tcs-hub-front-workspace .tcs-filter-field--search {
		grid-column: 1 / -1;
		grid-template-columns: 1fr;
	}

	.tcs-hub-front-workspace .tcs-hub-inbox-table-wrap {
		background: transparent;
		border: 0;
		border-radius: 0;
		box-shadow: none;
		overflow: visible;
	}

	.tcs-hub-front-workspace .tcs-hub-inbox-table {
		background: transparent;
		display: block;
		overflow: visible;
	}

	.tcs-hub-inbox-table caption,
	.tcs-hub-inbox-table thead {
		clip: rect(1px, 1px, 1px, 1px);
		clip-path: inset(50%);
		height: 1px;
		overflow: hidden;
		position: absolute;
		width: 1px;
	}

	.tcs-hub-inbox-table tbody {
		display: grid;
		gap: 14px;
	}

	.tcs-hub-inbox-table tbody tr {
		background: #fff;
		border: 1px solid #dcdcde;
		border-radius: 10px;
		box-shadow: 0 5px 16px rgba(30, 41, 59, .07);
		display: grid;
		overflow: hidden;
	}

	.tcs-hub-inbox-table tbody td {
		border-block-end: 1px solid #dcdcde;
		display: block;
		padding: 12px 14px;
		text-align: start;
	}

	.tcs-hub-inbox-table tbody td::before {
		content: attr(data-label);
		display: block;
		font-size: .75rem;
		font-weight: 700;
		letter-spacing: .025em;
		margin-block-end: 5px;
		text-transform: uppercase;
	}

	.tcs-hub-inbox-table tbody td:last-child { border-block-end: 0; }
	.tcs-hub-inbox-table .tcs-hub-select-cell { text-align: start; white-space: normal; width: auto; }
	.tcs-hub-inbox-table .tcs-hub-empty-row td { display: block; padding-block: 24px !important; }
	.tcs-hub-inbox-table .tcs-hub-empty-row td::before { content: none; }
	.tcs-hub-bulk-actions .description { flex: 0 1 auto; }

		.tcs-format-toolbar .tcs-editor-preview-toggle {
			flex: 1 1 100%;
			margin-inline-start: 0;
		}

		.tcs-agent-conversation .tcs-format-toolbar {
			flex-wrap: nowrap;
			overflow-x: auto;
			overscroll-behavior-inline: contain;
			padding-block-end: 4px;
		}

		.tcs-agent-conversation .tcs-format-toolbar .tcs-editor-preview-toggle {
			flex: 0 0 auto;
		}

		.tcs-portal,
		.tcs-agent-workspace {
			max-width: 100%;
		}

	.tcs-new-ticket,
	.tcs-ticket-list,
	.tcs-ticket-detail,
	.tcs-login-required,
	.tcs-guest-session,
	.tcs-agent-filters,
	.tcs-front-saved-views,
	.tcs-agent-ticket,
	.tcs-agent-conversation {
		min-width: 0;
	}

	.tcs-customer-ticket-filters {
		grid-template-columns: 1fr;
	}

	.tcs-ticket-list__header {
		align-items: stretch;
		flex-direction: column;
		gap: 16px;
	}

	.tcs-portal .tcs-ticket-list__new,
	.tcs-new-ticket-actions .tcs-portal-primary-action,
	.tcs-reply-actions .tcs-portal-primary-action {
		width: 100%;
	}

	.tcs-customer-filter-actions,
	.tcs-customer-filter-actions > * {
		flex: 1 1 0;
	}

	.tcs-portal .tcs-customer-ticket-card__link {
		align-items: stretch;
		gap: 16px;
		grid-template-columns: minmax(0, 1fr);
		padding: 17px;
	}

	.tcs-customer-ticket-card__aside {
		align-items: flex-start;
		border-block-start: 1px solid #dcdcde;
		gap: 12px;
		padding-block-start: 14px;
	}

	.tcs-customer-ticket-card__badges {
		justify-content: flex-start;
	}

	.tcs-customer-ticket-card__meta > span {
		flex-basis: 100%;
	}

	.tcs-customer-ticket-card__meta > span + span::before {
		content: none;
	}

	.tcs-agent-header {
		display: block;
	}

	.tcs-agent-filters,
	.tcs-front-saved-views,
	.tcs-agent-ticket,
	.tcs-agent-ticket dl,
	.tcs-front-workflow {
		grid-template-columns: 1fr;
	}

	.tcs-agent-filter-actions {
		grid-column: auto;
	}

	.tcs-kb-grid,
	.tcs-customer-profile dl {
		grid-template-columns: 1fr;
	}

	.tcs-kb-card {
		min-height: 0;
	}

	.tcs-kb-search-results {
		border-radius: 13px;
		padding: 18px;
	}

	.tcs-kb-search-results__header {
		align-items: flex-start;
		gap: 12px;
	}

	.tcs-kb-search-results__icon {
		border-radius: 11px;
		flex-basis: 44px;
		height: 44px;
	}

	.tcs-kb-search-results__handoff {
		padding: 14px;
	}

	.tcs-brand-header {
		padding-bottom: 12px;
	}

	.tcs-kb-search form {
		grid-template-columns: minmax(0, 1fr) 60px;
	}

	.tcs-kb-search button[type="submit"] {
		width: 60px;
	}

	.tcs-kb-topic-grid {
		grid-template-columns: 1fr;
	}

	.tcs-knowledge--topics {
		border-radius: 14px;
		padding: 18px;
	}

	.tcs-kb-topic {
		border-radius: 13px;
		padding: 16px;
	}

	.tcs-kb-topic:hover,
	.tcs-kb-topic:focus-within {
		transform: none;
	}

	.tcs-kb-topic h3 a {
		grid-template-columns: 38px minmax(0, 1fr) auto;
	}

	.tcs-kb-topic-icon {
		height: 38px;
		width: 38px;
	}

	.tcs-kb-see-all {
		align-self: stretch;
		justify-content: center;
		min-height: 44px;
	}

	.tcs-help-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.tcs-help-action-links,
	.tcs-help-action-links a {
		max-width: none;
		width: 100%;
	}

	.tcs-hub-front-workspace .tcs-filter-form,
	.tcs-hub-front-workspace .tcs-save-view-form {
		grid-template-columns: 1fr;
	}

	.tcs-hub-front-workspace > table,
	.tcs-hub-front-workspace .tcs-admin-card table {
		display: block;
		overflow-x: auto;
	}

	.tcs-guest-session,
	.tcs-agent-filter-actions,
	.tcs-draft-controls {
		align-items: stretch;
		flex-direction: column;
	}
}

@media (min-width: 601px) and (max-width: 900px) {
	.tcs-agent-filters,
	.tcs-front-workflow {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tcs-agent-ticket {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 900px) {
	.tcs-front-workflow > .tcs-tag-picker {
		grid-column: 1 / -1;
	}
}

@media (prefers-reduced-motion: reduce) {
	.tcs-portal *,
	.tcs-agent-workspace * {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
	}
}

@media (forced-colors: active) {
	.tcs-portal :where(a, button, input, select, textarea):focus-visible,
	.tcs-agent-workspace :where(a, button, input, select, textarea, [tabindex]):focus-visible,
	.tcs-link-dialog :where(button, input):focus-visible {
		outline-color: Highlight;
	}
}

/* Progressive checkbox dropdown for every plugin-owned multi-select. */
:where(.tcs-portal, .tcs-agent-workspace, .tcs-hub-front-workspace) .tcs-checkbox-multiselect {
	display: block;
	inline-size: min(100%, 420px);
	margin-block-start: 6px;
	position: relative;
}

:where(.tcs-portal, .tcs-agent-workspace, .tcs-hub-front-workspace) .tcs-checkbox-multiselect select[hidden],
:where(.tcs-portal, .tcs-agent-workspace, .tcs-hub-front-workspace) .tcs-checkbox-multiselect__panel[hidden] {
	display: none !important;
}

:where(.tcs-portal, .tcs-agent-workspace, .tcs-hub-front-workspace) .tcs-checkbox-multiselect__toggle {
	align-items: center;
	appearance: none;
	background: #fff;
	border: 1px solid #8c8f94;
	border-radius: 8px;
	color: #1d2327;
	cursor: pointer;
	display: flex;
	font: inherit;
	font-weight: 500;
	gap: 12px;
	inline-size: 100%;
	justify-content: space-between;
	line-height: 1.4;
	min-height: 44px;
	padding: 8px 12px;
	text-align: start;
}

:where(.tcs-portal, .tcs-agent-workspace, .tcs-hub-front-workspace) .tcs-checkbox-multiselect__toggle:hover {
	background: #f6f7f7;
	border-color: #2271b1;
}

:where(.tcs-portal, .tcs-agent-workspace, .tcs-hub-front-workspace) .tcs-checkbox-multiselect__summary {
	display: block;
	min-inline-size: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

:where(.tcs-portal, .tcs-agent-workspace, .tcs-hub-front-workspace) .tcs-checkbox-multiselect.is-empty .tcs-checkbox-multiselect__summary {
	color: #50575e;
}

:where(.tcs-portal, .tcs-agent-workspace, .tcs-hub-front-workspace) .tcs-checkbox-multiselect__indicator {
	block-size: 8px;
	border-block-end: 2px solid currentColor;
	border-inline-end: 2px solid currentColor;
	flex: 0 0 8px;
	inline-size: 8px;
	transform: rotate(45deg) translateY(-2px);
	transition: transform 140ms ease;
}

:where(.tcs-portal, .tcs-agent-workspace, .tcs-hub-front-workspace) .tcs-checkbox-multiselect.is-open .tcs-checkbox-multiselect__indicator {
	transform: rotate(225deg) translate(-1px, -1px);
}

:where(.tcs-portal, .tcs-agent-workspace, .tcs-hub-front-workspace) .tcs-checkbox-multiselect__panel {
	background: #fff;
	border: 1px solid #8c8f94;
	border-radius: 10px;
	box-shadow: 0 12px 28px rgba(30, 41, 59, .16);
	inset-inline: 0;
	margin-block-start: 5px;
	overflow: hidden;
	position: absolute;
	top: 100%;
	z-index: 1000;
}

:where(.tcs-portal, .tcs-agent-workspace, .tcs-hub-front-workspace) .tcs-checkbox-multiselect__options {
	display: grid;
	gap: 2px;
	max-block-size: 260px;
	overflow-y: auto;
	padding: 6px;
}

:where(.tcs-portal, .tcs-agent-workspace, .tcs-hub-front-workspace) .tcs-checkbox-multiselect__option {
	align-items: flex-start;
	border-radius: 7px;
	cursor: pointer;
	display: flex;
	font-weight: 500;
	gap: 10px;
	line-height: 1.4;
	padding: 9px 8px;
}

:where(.tcs-portal, .tcs-agent-workspace, .tcs-hub-front-workspace) .tcs-checkbox-multiselect__option:hover,
:where(.tcs-portal, .tcs-agent-workspace, .tcs-hub-front-workspace) .tcs-checkbox-multiselect__option:has(input:focus-visible) {
	background: #f0f6fc;
}

:where(.tcs-portal, .tcs-agent-workspace, .tcs-hub-front-workspace) .tcs-checkbox-multiselect__option input {
	flex: 0 0 auto;
	margin-block: 1px 0;
	margin-inline: 0;
}

:where(.tcs-portal, .tcs-agent-workspace, .tcs-hub-front-workspace) .tcs-checkbox-multiselect__footer {
	align-items: center;
	border-block-start: 1px solid #dcdcde;
	display: flex;
	gap: 10px;
	justify-content: space-between;
	min-height: 42px;
	padding-block: 5px;
	padding-inline: 12px 8px;
}

:where(.tcs-portal, .tcs-agent-workspace, .tcs-hub-front-workspace) .tcs-checkbox-multiselect__status {
	color: #50575e;
	font-size: 12px;
	line-height: 1.35;
}

:where(.tcs-portal, .tcs-agent-workspace, .tcs-hub-front-workspace) .tcs-checkbox-multiselect__clear {
	appearance: none;
	background: transparent;
	border: 0;
	border-radius: 6px;
	color: #135e96;
	cursor: pointer;
	font-weight: 600;
	min-height: 34px;
	padding: 6px 8px;
}

:where(.tcs-portal, .tcs-agent-workspace, .tcs-hub-front-workspace) .tcs-checkbox-multiselect__clear:disabled {
	color: #8c8f94;
	cursor: default;
}

:where(.tcs-portal, .tcs-agent-workspace, .tcs-hub-front-workspace) .tcs-checkbox-multiselect.is-disabled .tcs-checkbox-multiselect__toggle {
	background: #f0f0f1;
	color: #646970;
	cursor: not-allowed;
}

@media (max-width: 480px) {
	:where(.tcs-portal, .tcs-agent-workspace, .tcs-hub-front-workspace) .tcs-checkbox-multiselect {
		inline-size: 100%;
	}
}
