/* GTS CRM - Client Portal styles (scoped to .gts-crm-portal) */

.gts-crm-portal {
	--gts-crm-portal-text: #1d2327;
	--gts-crm-portal-muted: #6b7280;
	--gts-crm-portal-border: #e5e7eb;
	--gts-crm-portal-primary: #2563eb;
	--gts-crm-portal-primary-dark: #1d4ed8;
	--gts-crm-portal-primary-soft: #eff6ff;
	--gts-crm-portal-surface: #f8fafc;
	--gts-crm-portal-radius: 10px;
	--gts-crm-portal-radius-sm: 8px;
	--gts-crm-portal-shadow: 0 1px 2px rgba(15, 23, 42, 0.04), 0 1px 3px rgba(15, 23, 42, 0.06);
	--gts-crm-portal-shadow-md: 0 4px 6px -1px rgba(15, 23, 42, 0.08), 0 2px 4px -2px rgba(15, 23, 42, 0.06);
	color: var(--gts-crm-portal-text) !important;
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif !important;
	font-size: 14px;
	line-height: 1.6;
	max-width: 100%;
	min-height: 100vh;
	padding: 48px 24px 72px;
	box-sizing: border-box;
}

.gts-crm-portal *,
.gts-crm-portal *::before,
.gts-crm-portal *::after {
	box-sizing: inherit;
}

/* Theme/plugin isolation: themes and page-builder plugins commonly style
   bare elements like a, button, input, h1-h6, table globally (sometimes
   with !important). Reset those to a neutral baseline here so the
   portal's own button/tab/table/form styles further down in this file
   always win, no matter which theme or plugin is active.

   The tag part of each selector is wrapped in :where(...), which always
   contributes zero specificity. That keeps each rule's specificity at
   exactly one class (matching .gts-crm-portal-title, .gts-crm-portal-card
   h3, etc.) - enough to beat a theme's bare `h2 {}`/`a {}` rules (which
   have no class), but never enough to beat this plugin's own more
   specific selectors further down this file. */
.gts-crm-portal :where(a) {
	color: var(--gts-crm-portal-primary);
	text-decoration: underline;
	background: none;
}

.gts-crm-portal :where(a):hover {
	color: var(--gts-crm-portal-primary-dark);
}

.gts-crm-portal :where(h1, h2, h3, h4, h5, h6) {
	margin: 0 0 12px;
	color: inherit;
	font-family: inherit;
	background: none;
	border: none;
}

.gts-crm-portal :where(p) {
	margin: 0 0 12px;
	color: inherit;
	font-family: inherit;
}

.gts-crm-portal :where(table) {
	border: 0;
	border-collapse: collapse;
}

.gts-crm-portal :where(button):not(.gts-crm-portal-button),
.gts-crm-portal :where(input):not([type="checkbox"]):not([type="radio"]),
.gts-crm-portal :where(select),
.gts-crm-portal :where(textarea) {
	font-family: inherit;
	font-size: 14px;
	color: var(--gts-crm-portal-text);
	background: #fff;
	border: 1px solid var(--gts-crm-portal-border);
	border-radius: var(--gts-crm-portal-radius-sm);
	box-shadow: none;
	margin: 0;
}

.gts-crm-portal :where(input[type="checkbox"], input[type="radio"]) {
	margin: 0;
}

.gts-crm-portal :where(button):not(.gts-crm-portal-button) {
	cursor: pointer;
	padding: 8px 14px;
}

/* Layout: left sidebar navigation + main content */
.gts-crm-portal-layout {
	display: flex;
	align-items: flex-start;
	gap: 28px;
}

.gts-crm-portal-sidebar {
	flex: 0 0 220px;
	width: 220px;
	position: sticky;
	top: 24px;
}

.gts-crm-portal-title {
	margin: 0 0 16px;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: -0.01em;
	overflow-wrap: break-word;
}

.gts-crm-portal-nav {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 4px;
	background: var(--gts-crm-portal-surface);
	border: 1px solid var(--gts-crm-portal-border);
	border-radius: calc(var(--gts-crm-portal-radius-sm) + 4px);
}

.gts-crm-portal-nav-link {
	display: block;
	padding: 10px 14px;
	border-radius: var(--gts-crm-portal-radius-sm);
	border: 1px solid transparent !important;
	color: var(--gts-crm-portal-muted) !important;
	background: transparent !important;
	text-decoration: none !important;
	font-size: 13px;
	font-weight: 600;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.gts-crm-portal-nav-link:hover {
	color: var(--gts-crm-portal-primary) !important;
	background: #fff !important;
}

.gts-crm-portal-nav-link.is-active {
	background: var(--gts-crm-portal-primary) !important;
	border-color: var(--gts-crm-portal-primary) !important;
	color: #fff !important;
	box-shadow: 0 1px 2px rgba(37, 99, 235, 0.3);
}

.gts-crm-portal-nav-link.is-active:hover {
	color: #fff !important;
	background: var(--gts-crm-portal-primary) !important;
}

.gts-crm-portal-content {
	flex: 1 1 auto;
	min-width: 0;
}

/* Cards */
.gts-crm-portal-card {
	background: #fff;
	border: 1px solid var(--gts-crm-portal-border);
	border-radius: var(--gts-crm-portal-radius);
	box-shadow: var(--gts-crm-portal-shadow);
	padding: 24px;
	margin-bottom: 20px;
}

.gts-crm-portal-card h3 {
	margin-top: 0;
	margin-bottom: 14px;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: -0.01em;
}

/* Grid layouts */
.gts-crm-portal-grid {
	display: grid;
	gap: 16px;
	margin-bottom: 4px;
}

.gts-crm-portal-grid-cards {
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

/* Summary/stat cards */
.gts-crm-portal-stat {
	padding: 16px;
	background: var(--gts-crm-portal-surface);
	border: 1px solid var(--gts-crm-portal-border);
	border-left: 3px solid var(--gts-crm-portal-primary);
	border-radius: var(--gts-crm-portal-radius-sm);
}

.gts-crm-portal-stat-active {
	border-left-color: #7c3aed;
}

.gts-crm-portal-stat-active .gts-crm-portal-summary-value {
	color: #7c3aed;
}

.gts-crm-portal-stat-paid {
	border-left-color: #16a34a;
}

.gts-crm-portal-stat-paid .gts-crm-portal-summary-value {
	color: #16a34a;
}

.gts-crm-portal-stat-due {
	border-left-color: #9ca3af;
}

.gts-crm-portal-stat-due .gts-crm-portal-summary-value {
	color: var(--gts-crm-portal-text);
}

.gts-crm-portal-stat-due.has-balance {
	border-left-color: #d97706;
	background: #fffbeb;
}

.gts-crm-portal-stat-due.has-balance .gts-crm-portal-summary-value {
	color: #b45309;
}

.gts-crm-portal-summary-value {
	font-size: 26px;
	font-weight: 800;
	line-height: 1.2;
	color: var(--gts-crm-portal-primary);
}

.gts-crm-portal-summary-label {
	margin-top: 6px;
	color: var(--gts-crm-portal-muted);
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

/* Tables */
.gts-crm-portal-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 13px;
}

.gts-crm-portal-table th,
.gts-crm-portal-table td {
	text-align: left;
	padding: 12px 10px;
	border-bottom: 1px solid var(--gts-crm-portal-border);
}

.gts-crm-portal-table tbody tr {
	transition: background-color 0.12s ease;
}

.gts-crm-portal-table tbody tr:hover {
	background: var(--gts-crm-portal-surface);
}

.gts-crm-portal-table th {
	font-weight: 700;
	color: var(--gts-crm-portal-muted);
	text-transform: uppercase;
	font-size: 11px;
	letter-spacing: 0.04em;
}

/* Meta table (profile) */
.gts-crm-portal-meta-table th {
	text-align: left;
	padding: 8px 12px 8px 0;
	color: var(--gts-crm-portal-muted);
	font-weight: 600;
	width: 40%;
	vertical-align: top;
}

.gts-crm-portal-meta-table td {
	padding: 8px 0;
	vertical-align: top;
}

/* Badges */
.gts-crm-portal .gts-crm-badge {
	display: inline-block;
	padding: 3px 10px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 600;
	text-transform: capitalize;
	letter-spacing: 0.02em;
	background: #e5e7eb;
	color: #374151;
}

.gts-crm-portal .gts-crm-badge-not_started { background: #f3f4f6; color: #4b5563; }
.gts-crm-portal .gts-crm-badge-in_progress { background: #dbeafe; color: #1e40af; }
.gts-crm-portal .gts-crm-badge-on_hold { background: #fef9c3; color: #854d0e; }
.gts-crm-portal .gts-crm-badge-completed { background: #dcfce7; color: #166534; }
.gts-crm-portal .gts-crm-badge-cancelled { background: #fee2e2; color: #991b1b; }
.gts-crm-portal .gts-crm-badge-pending_verification { background: #fef9c3; color: #854d0e; }
.gts-crm-portal .gts-crm-badge-verified { background: #dcfce7; color: #166534; }
.gts-crm-portal .gts-crm-badge-rejected { background: #fee2e2; color: #991b1b; }
.gts-crm-portal .gts-crm-badge-partially_paid { background: #ffedd5; color: #9a3412; }
.gts-crm-portal .gts-crm-badge-due { background: #fee2e2; color: #991b1b; }
.gts-crm-portal .gts-crm-badge-refunded { background: #f3f4f6; color: #4b5563; }
.gts-crm-portal .gts-crm-badge-sent,
.gts-crm-portal .gts-crm-badge-unpaid { background: #ffedd5; color: #9a3412; }
.gts-crm-portal .gts-crm-badge-paid { background: #dcfce7; color: #166534; }
.gts-crm-portal .gts-crm-badge-overdue { background: #fee2e2; color: #991b1b; }
.gts-crm-portal .gts-crm-badge-low { background: #f3f4f6; color: #4b5563; }
.gts-crm-portal .gts-crm-badge-medium { background: #dbeafe; color: #1e40af; }
.gts-crm-portal .gts-crm-badge-high { background: #ffedd5; color: #9a3412; }
.gts-crm-portal .gts-crm-badge-urgent { background: #fee2e2; color: #991b1b; }
.gts-crm-portal .gts-crm-badge-open { background: #dbeafe; color: #1e40af; }
.gts-crm-portal .gts-crm-badge-waiting_for_client { background: #fef9c3; color: #854d0e; }
.gts-crm-portal .gts-crm-badge-resolved { background: #dcfce7; color: #166534; }
.gts-crm-portal .gts-crm-badge-closed { background: #f3f4f6; color: #4b5563; }

/* Empty state */
.gts-crm-portal-empty {
	color: var(--gts-crm-portal-muted);
	font-style: italic;
}

/* "Submit a Ticket" support/new-service mode switch link */
.gts-crm-portal-mode-switch {
	margin-top: 12px;
	font-size: 13px;
}

/* Buttons & links */
.gts-crm-portal-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 10px 20px;
	border-radius: var(--gts-crm-portal-radius-sm);
	background: var(--gts-crm-portal-primary) !important;
	color: #fff !important;
	text-decoration: none !important;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.3;
	border: 1px solid var(--gts-crm-portal-primary) !important;
	box-shadow: 0 1px 2px rgba(37, 99, 235, 0.25);
	cursor: pointer;
	transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease, transform 0.05s ease;
}

.gts-crm-portal-button:hover {
	background: var(--gts-crm-portal-primary-dark) !important;
	border-color: var(--gts-crm-portal-primary-dark) !important;
	color: #fff !important;
}

.gts-crm-portal-button:active {
	transform: translateY(1px);
}

.gts-crm-portal-button:focus-visible {
	outline: 2px solid var(--gts-crm-portal-primary);
	outline-offset: 2px;
}

.gts-crm-portal-button-secondary {
	background: #fff !important;
	color: var(--gts-crm-portal-primary) !important;
	border-color: var(--gts-crm-portal-border) !important;
	box-shadow: none;
}

.gts-crm-portal-button-secondary:hover {
	background: var(--gts-crm-portal-primary-soft) !important;
	border-color: var(--gts-crm-portal-primary) !important;
	color: var(--gts-crm-portal-primary-dark) !important;
}

/* Card header (title + action) */
.gts-crm-portal-card-header {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 14px;
}

.gts-crm-portal-card-header h3 {
	margin: 0;
}

/* Notices */
.gts-crm-portal-notice {
	padding: 14px 16px;
	border-radius: var(--gts-crm-portal-radius-sm);
	margin-bottom: 16px;
	font-size: 13px;
	font-weight: 500;
	border: 1px solid transparent;
	border-left-width: 4px;
}

.gts-crm-portal-notice-success {
	background: #f0fdf4;
	color: #166534;
	border-color: #bbf7d0;
	border-left-color: #22c55e;
}

.gts-crm-portal-notice-error {
	background: #fef2f2;
	color: #991b1b;
	border-color: #fecaca;
	border-left-color: #ef4444;
}

/* "Viewing as client" admin session banner */
.gts-crm-portal-impersonation-banner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 12px 18px;
	margin-bottom: 20px;
	background: #fffbeb;
	color: #92400e;
	border: 1px solid #fde68a;
	border-left: 4px solid #f59e0b;
	border-radius: var(--gts-crm-portal-radius-sm);
	font-size: 13px;
	font-weight: 600;
}

.gts-crm-portal-impersonation-banner form {
	margin: 0;
}

.gts-crm-portal-impersonation-banner .gts-crm-portal-button-secondary {
	border-color: #92400e !important;
	color: #92400e !important;
}

.gts-crm-portal-impersonation-banner .gts-crm-portal-button-secondary:hover {
	background: #fef3c7 !important;
}

/* Forms */
.gts-crm-portal-form {
	margin-top: 8px;
}

.gts-crm-portal-field {
	margin-bottom: 16px;
}

.gts-crm-portal-field label {
	display: block;
	margin-bottom: 6px;
	font-weight: 600;
	font-size: 13px;
}

.gts-crm-portal-field input[type="text"],
.gts-crm-portal-field input[type="email"],
.gts-crm-portal-field input[type="number"],
.gts-crm-portal-field input[type="password"],
.gts-crm-portal-field input[type="file"],
.gts-crm-portal-field select,
.gts-crm-portal-field textarea {
	width: 100%;
	padding: 9px 12px;
	border: 1px solid var(--gts-crm-portal-border) !important;
	border-radius: var(--gts-crm-portal-radius-sm);
	font-size: 13px;
	font-family: inherit;
	color: var(--gts-crm-portal-text) !important;
	background: #fff !important;
	box-shadow: none !important;
	box-sizing: border-box;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.gts-crm-portal-field input:focus,
.gts-crm-portal-field select:focus,
.gts-crm-portal-field textarea:focus {
	outline: none !important;
	border-color: var(--gts-crm-portal-primary) !important;
	box-shadow: 0 0 0 3px var(--gts-crm-portal-primary-soft) !important;
}

.gts-crm-portal-form-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin-top: 8px;
}

.gts-crm-portal-field-hint {
	margin: 6px 0 0;
	font-size: 12px;
	color: var(--gts-crm-portal-muted);
}

.gts-crm-portal-ticket-attachments {
	margin: 0;
	padding: 0 0 0 18px;
	font-size: 13px;
}

/* Client-facing invoice template accents */
.gts-crm-portal-invoice-detail {
	--gts-portal-invoice-accent: #2563eb;
	--gts-portal-invoice-soft: #eff6ff;
	border-top: 5px solid var(--gts-portal-invoice-accent);
}

.gts-crm-portal-invoice-paper-a4 {
	max-width: 210mm;
	margin-left: auto;
	margin-right: auto;
}

.gts-crm-portal-invoice-paper-letter {
	max-width: 8.5in;
	margin-left: auto;
	margin-right: auto;
}

.gts-crm-portal-invoice-template-classic {
	--gts-portal-invoice-accent: #1f2937;
	--gts-portal-invoice-soft: #f3f4f6;
}

.gts-crm-portal-invoice-template-compact {
	--gts-portal-invoice-accent: #0f766e;
	--gts-portal-invoice-soft: #ecfdf5;
}

.gts-crm-portal-invoice-detail .gts-crm-portal-card-header {
	padding: 14px 16px;
	border-radius: var(--gts-crm-portal-radius);
	background: var(--gts-portal-invoice-soft);
}

.gts-crm-portal-invoice-detail .gts-crm-portal-card-header h3 {
	color: var(--gts-portal-invoice-accent);
	font-size: 24px;
	font-weight: 800;
}

.gts-crm-portal-invoice-template-name {
	margin-top: 3px;
	color: var(--gts-crm-portal-muted);
	font-size: 12px;
	font-weight: 600;
}

.gts-crm-portal-invoice-brand {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 16px 0 18px;
	padding: 14px 16px;
	border: 1px solid var(--gts-crm-portal-border);
	border-radius: var(--gts-crm-portal-radius);
	background: #fff;
}

.gts-crm-portal-invoice-brand-logo {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 48px;
	width: 48px;
	height: 48px;
}

.gts-crm-portal-invoice-brand-logo img {
	display: block;
	max-width: 76px;
	max-height: 48px;
	object-fit: contain;
}

.gts-crm-portal-invoice-brand-logo span {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 8px;
	background: var(--gts-portal-invoice-accent);
	color: #fff;
	font-size: 16px;
	font-weight: 800;
}

.gts-crm-portal-invoice-brand-text strong,
.gts-crm-portal-invoice-brand-text span {
	display: block;
}

.gts-crm-portal-invoice-brand-text strong {
	margin-bottom: 4px;
	color: var(--gts-crm-portal-text);
	font-size: 16px;
	font-weight: 800;
}

.gts-crm-portal-invoice-brand-text span {
	color: var(--gts-crm-portal-muted);
	font-size: 12px;
	line-height: 1.45;
}

.gts-crm-portal-invoice-detail h4 {
	margin: 22px 0 10px;
	color: var(--gts-portal-invoice-accent);
	font-size: 13px;
	font-weight: 800;
	text-transform: uppercase;
}

.gts-crm-portal-invoice-detail .gts-crm-portal-meta-table {
	width: 100%;
	margin-top: 16px;
	border-collapse: collapse;
}

.gts-crm-portal-invoice-detail .gts-crm-portal-meta-table th,
.gts-crm-portal-invoice-detail .gts-crm-portal-meta-table td {
	border-bottom: 1px solid var(--gts-crm-portal-border);
}

.gts-crm-portal-invoice-detail .gts-crm-portal-table th {
	background: var(--gts-portal-invoice-accent);
	color: #fff;
}

.gts-crm-portal-invoice-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin-top: 28px;
	padding-top: 16px;
	border-top: 1px solid var(--gts-crm-portal-border);
	color: var(--gts-crm-portal-muted);
	font-size: 12px;
	break-inside: avoid;
	page-break-inside: avoid;
}

.gts-crm-portal-invoice-footer-brand {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
}

.gts-crm-portal-invoice-footer-brand img {
	display: block;
	max-width: 68px;
	max-height: 32px;
	object-fit: contain;
}

.gts-crm-portal-invoice-footer-brand > span {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 32px;
	height: 32px;
	border-radius: 7px;
	background: var(--gts-portal-invoice-accent);
	color: #fff;
	font-size: 12px;
	font-weight: 800;
}

.gts-crm-portal-invoice-footer-brand strong,
.gts-crm-portal-invoice-footer-brand small,
.gts-crm-portal-invoice-footer-meta span {
	display: block;
}

.gts-crm-portal-invoice-footer-brand strong {
	color: var(--gts-crm-portal-text);
	font-size: 13px;
}

.gts-crm-portal-invoice-footer-brand small {
	margin-top: 2px;
	font-size: 12px;
	line-height: 1.4;
}

.gts-crm-portal-invoice-footer-meta {
	flex: 0 0 auto;
	text-align: right;
	line-height: 1.5;
}

/* Ticket message & reply thread */
.gts-crm-portal-ticket-message {
	white-space: pre-wrap;
}

.gts-crm-portal-ticket-replies {
	list-style: none;
	margin: 0 0 16px;
	padding: 0;
}

.gts-crm-portal-ticket-reply {
	padding: 12px 0;
	border-bottom: 1px solid var(--gts-crm-portal-border);
}

.gts-crm-portal-ticket-reply:last-child {
	border-bottom: none;
}

.gts-crm-portal-ticket-reply-meta {
	color: var(--gts-crm-portal-muted);
	font-size: 12px;
	margin-bottom: 4px;
}

.gts-crm-portal-ticket-reply-message {
	font-size: 13px;
}

/* Login / unlinked states */
.gts-crm-portal-login,
.gts-crm-portal-unlinked {
	padding: 32px;
	border: 1px solid var(--gts-crm-portal-border);
	border-radius: var(--gts-crm-portal-radius);
	box-shadow: var(--gts-crm-portal-shadow-md);
	background: #fff;
	text-align: center;
}

.gts-crm-portal-login h2,
.gts-crm-portal-unlinked h2 {
	margin-top: 0;
	font-size: 20px;
	font-weight: 700;
}

.gts-crm-portal-login {
	max-width: 380px;
	margin: 40px auto;
}

.gts-crm-portal-login p,
.gts-crm-portal-unlinked p {
	margin-top: 0;
}

.gts-crm-portal-login-form {
	margin-top: 20px;
	text-align: left;
}

.gts-crm-portal-field-checkbox label {
	display: flex;
	align-items: center;
	gap: 6px;
	font-weight: 400;
}

.gts-crm-portal-field-checkbox input[type="checkbox"] {
	width: auto;
}

/* Responsive: collapse the left sidebar into a top nav bar below tablet width */
@media (max-width: 782px) {
	.gts-crm-portal-layout {
		flex-direction: column;
		gap: 16px;
	}

	.gts-crm-portal-sidebar {
		position: static;
		width: 100%;
		flex: 1 1 auto;
	}

	.gts-crm-portal-nav {
		flex-direction: row;
		flex-wrap: wrap;
	}

	.gts-crm-portal-nav-link {
		display: inline-block;
		white-space: nowrap;
	}
}

@media (max-width: 600px) {
	.gts-crm-portal-meta-table th {
		width: auto;
		display: block;
		padding-bottom: 0;
	}

	.gts-crm-portal-meta-table td {
		display: block;
		padding-top: 0;
		padding-bottom: 12px;
	}
}

/* Print-to-PDF substitute for the invoice detail view: print only
   #gts-crm-invoice-print-area (no PDF library dependency - relies on
   the browser's print-to-PDF). */
@media print {
	body * {
		visibility: hidden;
	}

	#gts-crm-invoice-print-area,
	#gts-crm-invoice-print-area * {
		visibility: visible;
	}

	#gts-crm-invoice-print-area {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		max-width: none;
		margin: 0;
		padding: 0;
		border: 0;
		border-radius: 0;
		box-shadow: none;
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
	}

	#gts-crm-invoice-print-area .gts-crm-portal-table thead {
		display: table-header-group;
	}

	#gts-crm-invoice-print-area .gts-crm-portal-table tr,
	#gts-crm-invoice-print-area .gts-crm-portal-card-header,
	#gts-crm-invoice-print-area .gts-crm-portal-invoice-brand,
	#gts-crm-invoice-print-area .gts-crm-portal-meta-table,
	#gts-crm-invoice-print-area .gts-crm-portal-ticket-message,
	#gts-crm-invoice-print-area .gts-crm-portal-invoice-footer {
		break-inside: avoid;
		page-break-inside: avoid;
	}

	.gts-crm-no-print {
		display: none !important;
	}
}
