.tfiber-jobs {
	background: #fff;
	border: 1px solid #dcdcde;
	border-radius: 10px;
	box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
	padding: 16px;
}

.tfiber-jobs.is-full-load .tfiber-jobs-data-row {
	content-visibility: auto;
	contain-intrinsic-size: 46px 1000px;
}

.tfiber-jobs-no-access {
	align-items: center;
	background: linear-gradient(135deg, #2e2e2e, #1b1b1b);
	border: 1px solid #3a3a3a;
	border-radius: 16px;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
	box-sizing: border-box;
	color: #f7f7f7;
	display: flex;
	gap: 16px;
	margin: 18px auto;
	max-width: 720px;
	padding: 20px 24px;
}

.tfiber-jobs-no-access--login {
	align-items: flex-start;
	max-width: 760px;
}

.tfiber-jobs-no-access-content {
	flex: 1;
	min-width: 0;
}

.tfiber-jobs-no-access-icon {
	align-items: center;
	background: rgba(255, 132, 0, 0.18);
	border: 1px solid rgba(255, 132, 0, 0.45);
	border-radius: 50%;
	color: #ff8400;
	display: inline-flex;
	flex: 0 0 46px;
	font-size: 28px;
	font-weight: 800;
	height: 46px;
	justify-content: center;
	line-height: 1;
}

.tfiber-jobs-no-access h2 {
	color: #ff8400;
	font-size: 22px;
	line-height: 1.2;
	margin: 0 0 6px;
}

.tfiber-jobs-no-access p {
	color: #f7f7f7;
	font-size: 16px;
	font-weight: 700;
	margin: 0 0 5px;
}

.tfiber-jobs-no-access span {
	color: #cfcfcf;
	display: block;
	font-size: 14px;
	line-height: 1.4;
}

.tfiber-jobs-login-prompt .sls-wrap {
	background: #1f1f1f;
	border-color: #3a3a3a;
	box-shadow: none;
	margin: 16px 0 0;
	max-width: none;
	padding: 16px;
}

.tfiber-jobs-login-link {
	background: #ff8400;
	border-radius: 8px;
	color: #111;
	display: inline-block;
	font-weight: 700;
	margin-top: 14px;
	padding: 10px 16px;
	text-decoration: none;
}

.tfiber-jobs-tabs {
	align-items: stretch;
	background: linear-gradient(135deg, #fff7ed, #ffffff);
	border: 1px solid #f0c36d;
	border-radius: 10px;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: space-between;
	margin-bottom: 14px;
	overflow: visible;
	padding: 10px;
	position: sticky;
	top: 0;
	z-index: 102;
}

.tfiber-jobs-tabs.is-fixed {
	box-sizing: border-box;
	margin-bottom: 0;
	padding: 10px 16px;
	position: fixed !important;
	box-shadow: 0 8px 22px rgba(15, 23, 42, 0.16);
}

.tfiber-jobs-fixed-header {
	background: #fff;
	display: none;
	pointer-events: auto;
	position: fixed;
	z-index: 101;
}

.tfiber-jobs-table-wrap {
	max-width: 100%;
	overflow-x: auto;
	overflow-y: visible;
	overscroll-behavior-x: contain;
	position: relative;
	touch-action: pan-x pan-y;
	z-index: 0;
	-webkit-overflow-scrolling: touch;
}

.tfiber-jobs-horizontal-scroll {
	background: rgba(255, 247, 237, 0.96);
	border: 1px solid #f0c36d;
	border-radius: 999px;
	bottom: 8px;
	box-shadow: 0 4px 14px rgba(15, 23, 42, 0.18);
	box-sizing: border-box;
	display: none;
	height: 18px;
	overflow-x: auto;
	overflow-y: hidden;
	position: fixed;
	z-index: 1000;
}

.tfiber-jobs-horizontal-scroll.is-visible {
	display: block;
}

.tfiber-jobs-horizontal-scroll [data-jobs-horizontal-scroll-inner] {
	height: 1px;
}

.tfiber-jobs-tabs-left,
.tfiber-jobs-tabs-right {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.tfiber-jobs-tabs-right {
	flex: 1;
	justify-content: flex-end;
	min-width: 320px;
}

/* Live presence styles: assets/presence.css (eager-loaded on table pages). */

.tfiber-jobs-tab {
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(255, 247, 237, 0.92));
	border: 1px solid rgba(244, 163, 64, 0.50);
	border-radius: 999px;
	box-shadow: 0 5px 14px rgba(15, 23, 42, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.72);
	color: #7c4a03;
	cursor: pointer;
	font-size: 12px;
	font-weight: 700;
	padding: 7px 13px;
	transition: transform 0.12s ease, box-shadow 0.12s ease;
}

.tfiber-jobs-tab[data-mo-id="all"] {
	border-color: #f4a340;
	box-shadow: 0 0 0 1px rgba(244, 163, 64, 0.32), 0 1px 3px rgba(15, 23, 42, 0.08);
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.tfiber-jobs-all-tab-settings-icon {
	display: none;
	line-height: 0;
	opacity: 0.88;
}

.tfiber-jobs-all-tab-settings-icon.is-visible {
	display: inline-flex;
}

.tfiber-jobs-all-tab-settings-icon svg {
	width: 12px;
	height: 12px;
	fill: currentColor;
}

.tfiber-jobs-tab[data-mo-id="all"].has-all-tab-settings-hint {
	padding: 7px 8px 7px 11px;
	gap: 4px;
}

.tfiber-jobs-tab:hover {
	background: linear-gradient(135deg, #ffffff, #fff1dc);
	box-shadow: 0 9px 20px rgba(244, 163, 64, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.78);
	transform: translateY(-1px);
}

.tfiber-jobs-tab.is-active {
	background:
		radial-gradient(circle at 20% 0%, rgba(244, 163, 64, 0.42), transparent 38%),
		linear-gradient(135deg, #111827, #1e293b 62%, #7c4a03);
	border-color: rgba(255, 255, 255, 0.18);
	box-shadow: 0 10px 24px rgba(15, 23, 42, 0.26), inset 0 1px 0 rgba(255, 255, 255, 0.16);
	color: #fff;
	transform: none;
}

.tfiber-jobs-tab[data-mo-id="all"].is-active {
	box-shadow: 0 0 0 2px rgba(244, 163, 64, 0.62), 0 5px 14px rgba(34, 113, 177, 0.25);
}

.tfiber-jobs-tab[hidden] {
	display: none !important;
}

.tfiber-jobs-table-wrap.is-jobs-fetching tbody {
	opacity: 0.72;
	pointer-events: none;
}

.tfiber-jobs-search-wrap {
	align-items: center;
	background: #fff;
	border: 0;
	border-radius: 999px;
	box-shadow: 0 0 0 1px #ccd0d4;
	display: flex;
	flex: 0 0 auto;
	height: 36px;
	max-width: 260px;
	min-width: 220px;
	padding: 0 8px;
}

.tfiber-jobs-search-icon {
	color: #64748b;
	display: inline-flex;
	font-size: 17px;
	line-height: 1;
	margin-right: 6px;
	width: 16px;
}

.tfiber-jobs-search {
	background: transparent;
	border: 0 !important;
	box-shadow: none !important;
	box-sizing: border-box;
	font-size: 15px;
	height: 100%;
	line-height: 36px;
	margin: 0;
	min-height: 0;
	min-width: 0;
	outline: none;
	padding: 0 2px;
	width: 100%;
}

.tfiber-jobs-search::placeholder {
	font-size: 15px;
}

.tfiber-jobs-toolbar-actions {
	align-items: center;
	background: rgba(255, 255, 255, 0.75);
	border: 1px solid #e7c08a;
	border-radius: 999px;
	display: flex;
	gap: 6px;
	padding: 3px;
}

.tfiber-jobs-toolbar-button {
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0.06)),
		linear-gradient(135deg, #111827, #1f2937);
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 999px;
	box-shadow: 0 8px 18px rgba(15, 23, 42, 0.14), inset 0 1px 0 rgba(255, 255, 255, 0.16);
	color: #f8fafc;
	cursor: pointer;
	font-size: 12px;
	font-weight: 700;
	min-height: 30px;
	padding: 6px 12px;
	transition: transform 0.12s ease, box-shadow 0.12s ease, filter 0.12s ease;
}

.tfiber-jobs-undo-button,
.tfiber-jobs-redo-button {
	align-items: center;
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.86), rgba(255, 247, 237, 0.78));
	border-color: rgba(244, 163, 64, 0.30);
	box-shadow: 0 4px 12px rgba(15, 23, 42, 0.10), inset 0 1px 0 rgba(255, 255, 255, 0.72);
	color: #1f2937;
	display: inline-flex;
	justify-content: center;
	line-height: 1;
	min-height: 26px;
	min-width: 26px;
	padding: 3px;
}

.tfiber-jobs-undo-button svg,
.tfiber-jobs-redo-button svg {
	display: block;
	fill: currentColor;
	height: 20px;
	width: 20px;
}

.tfiber-jobs-undo-button:hover,
.tfiber-jobs-redo-button:hover {
	background: linear-gradient(135deg, #ffffff, #fff1dc);
	filter: none;
	transform: none;
}

.tfiber-jobs-undo-button.is-saving,
.tfiber-jobs-redo-button.is-saving {
	opacity: 0.55;
}

.tfiber-jobs-undo-button:disabled,
.tfiber-jobs-redo-button:disabled,
.tfiber-jobs-undo-button.is-unavailable,
.tfiber-jobs-redo-button.is-unavailable {
	background: linear-gradient(135deg, #e5e7eb, #cbd5e1);
	border-color: rgba(148, 163, 184, 0.45);
	box-shadow: none;
	color: #64748b;
	cursor: not-allowed;
	opacity: 0.55;
}

.tfiber-jobs-undo-button:disabled:hover,
.tfiber-jobs-redo-button:disabled:hover {
	background: linear-gradient(135deg, #e5e7eb, #cbd5e1);
}

.tfiber-jobs-saving-status {
	align-items: center;
	background:
		radial-gradient(circle at 20% 0%, rgba(244, 163, 64, 0.30), transparent 36%),
		linear-gradient(135deg, #111827, #1f2937);
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 999px;
	box-shadow: 0 9px 22px rgba(15, 23, 42, 0.16), inset 0 1px 0 rgba(255, 255, 255, 0.12);
	color: #ffb454;
	display: none;
	font-size: 12px;
	font-weight: 900;
	min-height: 26px;
	padding: 5px 12px;
	white-space: nowrap;
}

.tfiber-jobs.has-toolbar-saving .tfiber-jobs-undo-button,
.tfiber-jobs.has-toolbar-saving .tfiber-jobs-redo-button {
	display: none;
}

.tfiber-jobs.has-toolbar-saving .tfiber-jobs-saving-status {
	display: inline-flex;
}

/* "Updated: HH:MM AM/PM" indicator — plain text, no chrome. */

.tfiber-jobs-updated {
	background: transparent;
	border: 0;
	box-shadow: none;
	color: #6b7280;
	display: none;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.02em;
	margin-right: 10px;
	padding: 0;
	white-space: nowrap;
}

.tfiber-jobs-updated.is-visible {
	display: inline;
}

.tfiber-jobs-updated.is-updating {
	align-items: center;
	display: inline-flex;
	gap: 6px;
}

.tfiber-jobs-updated-spinner {
	border: 2px solid currentColor;
	border-radius: 50%;
	border-right-color: transparent;
	flex-shrink: 0;
	height: 12px;
	opacity: 0.85;
	width: 12px;
	animation: tfiber-jobs-updated-spin 0.8s linear infinite;
}

@keyframes tfiber-jobs-updated-spin {
	from {
		transform: rotate(0deg);
	}
	to {
		transform: rotate(360deg);
	}
}

.tfiber-jobs-column-hidden {
	display: none !important;
}

/* Settings (gear) button - icon-only toolbar pill, matches the
   visual treatment of Undo/Redo so the toolbar reads as a single
   row of icon controls. The gear is the modal that hosts theme,
   column visibility, and custom column headers. */

.tfiber-jobs-settings-button {
	align-items: center;
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.86), rgba(255, 247, 237, 0.78));
	border-color: rgba(244, 163, 64, 0.30);
	box-shadow: 0 4px 12px rgba(15, 23, 42, 0.10), inset 0 1px 0 rgba(255, 255, 255, 0.72);
	color: #1f2937;
	display: inline-flex;
	justify-content: center;
	line-height: 1;
	min-height: 26px;
	min-width: 26px;
	padding: 0 6px;
}

.tfiber-jobs-settings-button svg {
	display: block;
	fill: currentColor;
	height: 18px;
	width: 18px;
	transition: transform 0.32s ease;
}

.tfiber-jobs-settings-button:hover {
	background: linear-gradient(135deg, #ffffff, #fff1dc);
	filter: none;
	transform: none;
}

.tfiber-jobs-settings-button:hover svg {
	transform: rotate(45deg);
}

.tfiber-jobs-settings-button:disabled {
	background: linear-gradient(135deg, #e5e7eb, #cbd5e1);
	border-color: rgba(148, 163, 184, 0.45);
	box-shadow: none;
	color: #64748b;
	cursor: not-allowed;
	opacity: 0.55;
}

.tfiber-jobs-settings-button:disabled:hover svg {
	transform: none;
}

.tfiber-jobs.is-all-mode [data-column-key="custom_1"],
.tfiber-jobs.is-all-mode [data-column-key="custom_2"],
.tfiber-jobs.is-all-mode [data-column-key="custom_3"],
.tfiber-jobs-fixed-header.is-all-mode [data-column-key="custom_1"],
.tfiber-jobs-fixed-header.is-all-mode [data-column-key="custom_2"],
.tfiber-jobs-fixed-header.is-all-mode [data-column-key="custom_3"] {
	display: none !important;
}

.tfiber-jobs-toolbar-button:hover {
	filter: brightness(1.08);
	transform: translateY(-1px);
}

.tfiber-jobs-update-notice {
	align-items: center;
	background:
		radial-gradient(circle at 18% 0%, rgba(244, 163, 64, 0.28), transparent 36%),
		linear-gradient(135deg, rgba(17, 24, 39, 0.96), rgba(30, 41, 59, 0.96));
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 999px;
	box-shadow: 0 18px 42px rgba(15, 23, 42, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.14);
	color: #f8fafc;
	display: none;
	font-size: 13px;
	font-weight: 800;
	gap: 10px;
	justify-content: center;
	margin: 0;
	max-width: min(420px, calc(100vw - 24px));
	padding: 9px 12px 9px 14px;
	position: fixed;
	right: 16px;
	bottom: 18px;
	z-index: 100001;
}

.tfiber-jobs-update-notice.is-visible {
	display: flex;
}

.tfiber-jobs-update-notice button {
	background:
		radial-gradient(circle at 20% 0%, rgba(255, 255, 255, 0.34), transparent 34%),
		linear-gradient(135deg, #ff8400, #f4a340);
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 999px;
	box-shadow: 0 8px 18px rgba(244, 163, 64, 0.24);
	color: #111827;
	cursor: pointer;
	font-size: 12px;
	font-weight: 900;
	padding: 5px 12px;
}

.tfiber-jobs-import-notice {
	display: none;
	align-items: center;
	align-self: center;
	justify-content: center;
	gap: 6px;
	margin: 0 12px;
	padding: 7px 13px;
	border-radius: 999px;
	border: 1px solid rgba(255, 132, 0, 0.85);
	background: linear-gradient(135deg, #ff8400, #ffb000);
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
	color: #111827;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	white-space: nowrap;
	flex-shrink: 0;
	line-height: normal;
}

.tfiber-jobs-import-notice.is-visible {
	display: inline-flex;
	animation: tfiber-import-notice-flash 1.1s ease-in-out infinite;
}

.tfiber-jobs-import-notice::before {
	content: "";
	width: 6px;
	height: 6px;
	border-radius: 999px;
	background: #111827;
	animation: tfiber-import-dot-pulse 0.9s ease-in-out infinite;
	flex-shrink: 0;
}

@keyframes tfiber-import-notice-flash {
	0%, 100% {
		background: linear-gradient(135deg, #ff8400, #ffb000);
		border-color: rgba(255, 132, 0, 0.85);
		color: #111827;
	}
	50% {
		background: linear-gradient(135deg, #ffa733, #ffc04d);
		border-color: rgba(255, 132, 0, 1);
		color: #111827;
	}
}

@keyframes tfiber-import-dot-pulse {
	0%,
	100% {
		opacity: 0.55;
		transform: scale(0.88);
	}
	50% {
		opacity: 1;
		transform: scale(1.18);
	}
}

.tfiber-jobs-connection-popup {
	align-items: center;
	background:
		radial-gradient(circle at 16% 0%, rgba(255, 180, 84, 0.34), transparent 36%),
		linear-gradient(135deg, rgba(127, 29, 29, 0.98), rgba(30, 41, 59, 0.97));
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 18px;
	box-shadow: 0 18px 46px rgba(15, 23, 42, 0.34), inset 0 1px 0 rgba(255, 255, 255, 0.14);
	color: #f8fafc;
	display: flex;
	gap: 12px;
	max-width: min(380px, calc(100vw - 24px));
	opacity: 0;
	padding: 13px 14px;
	pointer-events: none;
	position: fixed;
	right: 16px;
	top: 18px;
	transform: translateY(-10px);
	transition: opacity 160ms ease, transform 160ms ease;
	z-index: 100003;
}

.tfiber-jobs-connection-popup.is-visible {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
}

.tfiber-jobs-connection-popup div {
	display: grid;
	gap: 3px;
}

.tfiber-jobs-connection-popup strong {
	color: #ffb454;
	font-size: 14px;
	font-weight: 900;
	text-transform: uppercase;
}

.tfiber-jobs-connection-popup span {
	color: #fff7ed;
	font-size: 13px;
	font-weight: 800;
}

.tfiber-jobs-connection-popup .tfiber-connection-queued {
	color: #fde68a;
	font-size: 12px;
	font-weight: 800;
}

.tfiber-jobs-connection-popup.is-syncing {
	background:
		radial-gradient(circle at 16% 0%, rgba(110, 231, 183, 0.28), transparent 36%),
		linear-gradient(135deg, rgba(6, 78, 59, 0.98), rgba(30, 41, 59, 0.97));
}

.tfiber-jobs-connection-popup.is-syncing strong {
	color: #6ee7b7;
}

.tfiber-jobs-connection-popup button {
	background: rgba(255, 255, 255, 0.12);
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 999px;
	color: #fff;
	cursor: pointer;
	font-size: 18px;
	font-weight: 900;
	height: 28px;
	line-height: 24px;
	width: 28px;
}

.tfiber-jobs-scroll {
	background:
		radial-gradient(circle at 20% 0%, rgba(255, 255, 255, 0.24), transparent 34%),
		linear-gradient(135deg, #2271b1, #135e96);
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 999px;
	box-shadow: 0 9px 22px rgba(34, 113, 177, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.16);
	color: #fff;
	cursor: pointer;
	transition: transform 0.12s ease, box-shadow 0.12s ease, filter 0.12s ease;
}

.tfiber-jobs-scroll:hover {
	box-shadow: 0 4px 10px rgba(34, 113, 177, 0.35);
	filter: brightness(1.05);
	transform: translateY(-1px);
}

@keyframes tfiber-jobs-filter-breathe {
	0%,
	100% {
		box-shadow:
			inset 0 1px 0 rgba(255, 255, 255, 0.28),
			inset 0 0 0 1px rgba(255, 255, 255, 0.18),
			0 0 0 2px rgba(244, 163, 64, 0.30),
			0 0 12px rgba(244, 163, 64, 0.18);
		filter: brightness(1) saturate(1.03);
	}
	50% {
		background:
			radial-gradient(circle at 50% 0%, rgba(255, 255, 255, 0.26), transparent 50%),
			linear-gradient(135deg, #f4a340, #d97706 52%, #9a3412);
		box-shadow:
			inset 0 1px 0 rgba(255, 255, 255, 0.18),
			inset 0 0 0 1px rgba(255, 255, 255, 0.12),
			0 0 0 4px rgba(180, 83, 9, 0.34),
			0 0 24px rgba(154, 52, 18, 0.26);
		filter: brightness(0.92) saturate(1.08);
	}
}

.tfiber-jobs-status-filter-dot--scheduled {
	background: #f4a340;
}

.tfiber-jobs-status-filter-dot--en-route {
	background: #3b82f6;
}

.tfiber-jobs-status-filter-dot--in-progress {
	background: #8b5cf6;
}

.tfiber-jobs-status-filter-dot--installing {
	background: #14b8a6;
}

.tfiber-jobs-status-filter-dot--rescheduling {
	background: #f87171;
}

.tfiber-jobs-status-filter-dot--completed {
	background: #34d058;
}

.tfiber-jobs-status-filter-dot--pending {
	background: #60a5fa;
}

.tfiber-jobs-status-filter-dot--cancelled {
	background: #dc2626;
}

.tfiber-jobs-filter-trigger {
	background: transparent;
	border: 0;
	color: inherit;
	cursor: pointer;
	display: inline-block;
	height: 14px;
	margin-left: 0;
	margin-left: -3px;
	margin-right: -6px;
	padding: 0;
	position: relative;
	vertical-align: middle;
	width: 12px;
}

.tfiber-jobs-filter-trigger::before {
	border-left: 4px solid transparent;
	border-right: 4px solid transparent;
	border-top: 6px solid currentColor;
	content: "";
	left: 2px;
	position: absolute;
	top: 4px;
}

.tfiber-jobs-comment-highlight-picker {
	display: none;
	gap: 2px;
	margin-left: 8px;
	vertical-align: middle;
}

.tfiber-jobs.has-comment-selection .tfiber-jobs-comment-highlight-picker {
	display: inline-flex;
}

.tfiber-jobs-fixed-header.has-comment-selection .tfiber-jobs-comment-highlight-picker {
	display: inline-flex;
}

.tfiber-jobs-comment-highlight-swatch {
	border: 1px solid rgba(17, 24, 39, 0.45);
	border-radius: 3px;
	cursor: pointer;
	height: 12px;
	padding: 0;
	width: 12px;
}

.tfiber-jobs-comment-highlight-swatch:hover {
	box-shadow: 0 0 0 2px rgba(17, 24, 39, 0.18);
	transform: translateY(-1px);
}

.tfiber-jobs-comment-highlight-swatch:disabled {
	cursor: not-allowed;
	opacity: 0.35;
}

.tfiber-jobs-comment-highlight-swatch--violet {
	background: #c084fc;
}

.tfiber-jobs-comment-highlight-swatch--teal {
	background: #2dd4bf;
}

.tfiber-jobs-comment-highlight-swatch--slate {
	background: #64748b;
}

.tfiber-jobs-comment-highlight-swatch--clear {
	background:
		linear-gradient(135deg, transparent 42%, #b91c1c 42%, #b91c1c 58%, transparent 58%),
		#fff;
}

.tfiber-jobs-filter-menu {
	background: #fff;
	border: 1px solid #d88416;
	border-radius: 6px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.22);
	display: none;
	max-width: calc(100vw - 16px);
	min-width: 190px;
	overflow: auto;
	padding: 10px;
	position: fixed;
	z-index: 100000;
}

.tfiber-jobs-filter-menu-title {
	color: #5a3a00;
	font-size: 12px;
	font-weight: 700;
	margin-bottom: 8px;
	text-transform: capitalize;
}

.tfiber-jobs-filter-menu label {
	display: flex;
	flex-direction: column;
	font-size: 12px;
	font-weight: 600;
	gap: 4px;
	margin-bottom: 8px;
}

.tfiber-jobs-filter-menu input,
.tfiber-jobs-filter-menu select {
	border: 1px solid #8c8f94;
	border-radius: 4px;
	min-height: 28px;
	padding: 2px 6px;
}

.tfiber-jobs-filter-menu-actions {
	display: flex;
	gap: 6px;
	justify-content: flex-end;
}

.tfiber-jobs-filter-menu-actions button {
	background:
		radial-gradient(circle at 20% 0%, rgba(244, 163, 64, 0.30), transparent 36%),
		linear-gradient(135deg, #111827, #1f2937);
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 999px;
	box-shadow: 0 8px 18px rgba(15, 23, 42, 0.16);
	color: #fff;
	cursor: pointer;
	font-size: 12px;
	padding: 3px 8px;
}

.tfiber-jobs-filter-menu-actions [data-filter-apply] {
	background:
		radial-gradient(circle at 20% 0%, rgba(255, 255, 255, 0.22), transparent 40%),
		linear-gradient(135deg, #f4a340, #d97706);
	border-color: rgba(255, 255, 255, 0.28);
	color: #1f1300;
	font-weight: 700;
}

.tfiber-jobs-filter-checklist,
.tfiber-jobs-filter-status-checklist,
.tfiber-jobs-filter-drop-checklist {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin-top: 4px;
	max-height: min(280px, 50vh);
	overflow-y: auto;
}

.tfiber-jobs-filter-mo-toolbar {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 2px 0 6px;
}

.tfiber-jobs-filter-mo-toolbar button {
	background: rgba(15, 23, 42, 0.06);
	border: 1px solid rgba(15, 23, 42, 0.14);
	border-radius: 999px;
	color: #1e293b;
	cursor: pointer;
	font-size: 11px;
	font-weight: 600;
	line-height: 1.2;
	padding: 3px 10px;
}

.tfiber-jobs-filter-mo-toolbar button:hover {
	background: rgba(59, 130, 246, 0.12);
	border-color: rgba(59, 130, 246, 0.35);
}

#tfiber-jobs-filter-menu[data-theme="simplified-dark"] .tfiber-jobs-filter-mo-toolbar button {
	background: rgba(148, 163, 184, 0.12);
	border-color: rgba(148, 163, 184, 0.28);
	color: #e5edf8;
}

#tfiber-jobs-filter-menu[data-theme="simplified-dark"] .tfiber-jobs-filter-mo-toolbar button:hover {
	background: rgba(59, 130, 246, 0.22);
	border-color: rgba(96, 165, 250, 0.45);
}

.tfiber-jobs-filter-menu .tfiber-jobs-filter-checklist-option {
	align-items: center;
	cursor: pointer;
	display: flex;
	flex-direction: row;
	font-size: 12px;
	font-weight: 600;
	gap: 8px;
	margin-bottom: 0;
}

.tfiber-jobs-filter-menu .tfiber-jobs-filter-checklist-option input[type="checkbox"] {
	flex-shrink: 0;
	margin: 0;
	min-height: auto;
	width: auto;
}

.tfiber-jobs-filter-menu .tfiber-jobs-filter-checklist-option span {
	line-height: 1.3;
	white-space: nowrap;
}

.tfiber-jobs-drop-history-popover {
	background:
		radial-gradient(circle at 18% 0%, rgba(244, 163, 64, 0.38), transparent 36%),
		linear-gradient(145deg, rgba(17, 24, 39, 0.96), rgba(30, 41, 59, 0.94) 48%, rgba(124, 74, 3, 0.92));
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 18px;
	box-shadow: 0 18px 42px rgba(15, 23, 42, 0.36), inset 0 1px 0 rgba(255, 255, 255, 0.18);
	color: #f8fafc;
	display: none;
	font-size: 12px;
	max-width: 282px;
	min-width: 250px;
	padding: 13px;
	position: absolute;
	z-index: 100001;
}

.tfiber-jobs-drop-history-popover::before {
	border-bottom: 13px solid rgba(17, 24, 39, 0.96);
	border-left: 11px solid transparent;
	border-right: 4px solid transparent;
	content: "";
	height: 0;
	left: 18px;
	position: absolute;
	top: -14px;
	transform: rotate(-10deg);
	width: 0;
}

.tfiber-jobs-drop-history-popover::after {
	border-bottom: 9px solid rgba(244, 163, 64, 0.42);
	border-left: 8px solid transparent;
	border-right: 3px solid transparent;
	content: "";
	height: 0;
	left: 21px;
	position: absolute;
	top: -9px;
	transform: rotate(-10deg);
	width: 0;
}

.tfiber-jobs-drop-history-popover p {
	color: rgba(248, 250, 252, 0.78);
	font-weight: 700;
	margin: 6px 0 0;
}

.tfiber-jobs-drop-history-title {
	align-items: center;
	color: #fff7ed;
	display: flex;
	font-size: 13px;
	font-weight: 800;
	gap: 6px;
	letter-spacing: 0.04em;
	margin-bottom: 10px;
	text-transform: uppercase;
}

.tfiber-jobs-drop-history-title::before {
	background: linear-gradient(135deg, #ffb454, #ff8400);
	border: 1px solid rgba(255, 255, 255, 0.35);
	border-radius: 999px;
	box-shadow: 0 4px 12px rgba(244, 163, 64, 0.34);
	content: "!";
	display: inline-flex;
	font-size: 11px;
	height: 18px;
	justify-content: center;
	line-height: 15px;
	width: 18px;
}

.tfiber-jobs-drop-history-row {
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.07));
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 12px;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12);
	display: grid;
	gap: 3px;
	margin-top: 8px;
	padding: 8px 10px;
}

.tfiber-jobs-drop-history-row strong {
	color: #ffb454;
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
}

.tfiber-jobs-drop-history-row span {
	color: #f8fafc;
	font-weight: 700;
}

.tfiber-jobs-drop-history-row em {
	color: rgba(248, 250, 252, 0.68);
	font-style: normal;
	font-weight: 600;
}

.tfiber-jobs-comment-history-popover {
	max-width: 340px;
	overflow: hidden;
	padding-right: 18px;
	width: 310px;
}

.tfiber-jobs-comment-history-scroll {
	max-height: min(350px, calc(100vh - 100px));
	overflow: auto;
	padding-right: 7px;
	scrollbar-color: rgba(255, 180, 84, 0.72) rgba(15, 23, 42, 0.24);
	scrollbar-width: thin;
}

.tfiber-jobs-comment-history-scroll::-webkit-scrollbar {
	width: 9px;
}

.tfiber-jobs-comment-history-scroll::-webkit-scrollbar-track {
	background: rgba(15, 23, 42, 0.18);
	border-radius: 999px;
	margin: 8px 0;
}

.tfiber-jobs-comment-history-scroll::-webkit-scrollbar-thumb {
	background: linear-gradient(180deg, rgba(255, 180, 84, 0.92), rgba(255, 132, 0, 0.72));
	border: 2px solid rgba(17, 24, 39, 0.82);
	border-radius: 999px;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.28);
}

.tfiber-jobs-comment-history-scroll::-webkit-scrollbar-thumb:hover {
	background: linear-gradient(180deg, #ffb454, #ff8400);
}

.tfiber-jobs-comment-history-latest {
	background: linear-gradient(135deg, rgba(255, 180, 84, 0.24), rgba(255, 255, 255, 0.08));
	border: 1px solid rgba(255, 180, 84, 0.30);
	border-radius: 12px;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12);
	display: grid;
	gap: 3px;
	margin: 0 0 9px;
	padding: 8px 10px;
}

.tfiber-jobs-comment-history-latest strong {
	color: #ffb454;
	font-size: 12px;
	font-weight: 900;
	text-transform: uppercase;
}

.tfiber-jobs-comment-history-latest span {
	color: #f8fafc;
	font-weight: 800;
}

.tfiber-jobs-comment-history-version {
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.07));
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 12px;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12);
	margin-top: 9px;
	overflow: hidden;
}

.tfiber-jobs-comment-history-meta {
	background: rgba(255, 132, 0, 0.13);
	border-bottom: 1px solid rgba(255, 255, 255, 0.12);
	display: grid;
	gap: 2px;
	padding: 8px 10px;
}

.tfiber-jobs-comment-history-meta strong {
	color: #ffb454;
	font-size: 12px;
	font-weight: 900;
	text-transform: uppercase;
}

.tfiber-jobs-comment-history-meta span {
	color: rgba(248, 250, 252, 0.70);
	font-weight: 700;
}

.tfiber-jobs-comment-history-lines {
	display: grid;
	gap: 1px;
	padding: 8px 10px;
}

.tfiber-jobs-comment-history-lines div {
	background: rgba(15, 23, 42, 0.22);
	border-radius: 7px;
	color: #f8fafc;
	font-weight: 700;
	line-height: 1.35;
	min-height: 18px;
	overflow-wrap: anywhere;
	padding: 4px 7px;
	white-space: pre-wrap;
}

.tfiber-jobs-comment-editable,
.tfiber-jobs-custom-editable {
	border: 1px solid transparent;
	border-radius: 4px;
	box-sizing: border-box;
	cursor: text;
	display: block;
	min-height: 20px;
	overflow: hidden;
	padding: 1px;
	text-align: left;
	text-overflow: ellipsis;
	white-space: nowrap;
	width: 100%;
}

.tfiber-jobs-comment-cell {
	min-width: var(--tfiber-comment-width, 250px);
	padding: 1px !important;
	width: auto;
}

.tfiber-jobs-comment-wrap {
	position: relative;
	width: 100%;
}

/* Right cluster: NEW, Pushed / NO PLACEHOLDER, Repeat-R, TC ordinal (X2…),
 * anchored as a row-reverse flex strip so order stays correct without
 * per-combination `right:` offsets. Padding reserves space via --comment-right-pad. */

.tfiber-jobs-comment-right-stamps {
	align-items: center;
	display: inline-flex;
	flex-direction: row-reverse;
	flex-wrap: nowrap;
	gap: 4px;
	pointer-events: none;
	position: absolute;
	right: 3px;
	top: 50%;
	transform: translateY(-50%);
}

.tfiber-jobs-comment-right-stamps .tfiber-jobs-new-stamp,
.tfiber-jobs-comment-right-stamps .tfiber-jobs-pushed-stamp,
.tfiber-jobs-comment-right-stamps .tfiber-jobs-no-placeholder-stamp,
.tfiber-jobs-comment-right-stamps .tfiber-jobs-completed-placeholder-stamp,
.tfiber-jobs-comment-right-stamps .tfiber-jobs-tc-repeat-stamp,
.tfiber-jobs-comment-right-stamps .tfiber-jobs-tc-stamp,
.tfiber-jobs-comment-right-stamps .tfiber-jobs-push-stamp {
	margin-left: 0;
	position: static;
	right: auto;
	top: auto;
	transform: none;
}

.tfiber-jobs-comment-right-stamps .tfiber-jobs-push-stamp {
	pointer-events: auto;
	position: relative;
	z-index: 3;
}

.tfiber-jobs-comment-wrap.has-right-stamp-cluster .tfiber-jobs-comment-editable {
	padding-right: var(--comment-right-pad, 52px);
}

.tfiber-jobs-new-stamp {
	background: linear-gradient(135deg, #111827, #000000);
	border: 1px solid rgba(255, 255, 255, 0.58);
	border-radius: 999px;
	box-shadow: 0 3px 8px rgba(0, 0, 0, 0.34), inset 0 1px 0 rgba(255, 255, 255, 0.24);
	color: #fff;
	font-size: 10px;
	font-weight: 950;
	letter-spacing: 0.04em;
	line-height: 15px;
	padding: 0 6px;
	pointer-events: none;
	position: absolute;
	right: 3px;
	top: 50%;
	transform: translateY(-50%);
}

.tfiber-jobs-push-stamp {
	background: linear-gradient(135deg, #f59e0b, #b45309);
	border: 1px solid rgba(255, 255, 255, 0.58);
	border-radius: 999px;
	box-shadow: 0 3px 8px rgba(120, 53, 15, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.24);
	color: #fff;
	cursor: pointer;
	font-family: inherit;
	font-size: 10px;
	font-weight: 950;
	letter-spacing: 0.04em;
	line-height: 15px;
	padding: 0 6px;
	pointer-events: auto;
	position: absolute;
	right: 3px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 3;
}

.tfiber-jobs-push-stamp:hover:not(.is-disabled):not([disabled]) {
	filter: brightness(1.08);
}

.tfiber-jobs-push-stamp.is-selected {
	background: linear-gradient(135deg, #c2410c, #9a3412);
	border-color: rgba(255, 255, 255, 0.68);
	box-shadow: 0 4px 10px rgba(154, 52, 18, 0.42), inset 0 1px 0 rgba(255, 255, 255, 0.24);
}

.tfiber-jobs-push-stamp.is-disabled,
.tfiber-jobs-push-stamp[disabled] {
	cursor: not-allowed;
	opacity: 0.55;
}

.tfiber-jobs-push-stamp.is-busy {
	opacity: 0.7;
	pointer-events: none;
}

.tfiber-jobs-push-stamp.is-error {
	background: linear-gradient(135deg, #dc2626, #991b1b);
	border-color: rgba(255, 255, 255, 0.62);
	box-shadow: 0 3px 8px rgba(153, 27, 27, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.24);
}

.tfiber-jobs-push-stamp.is-error:hover:not(.is-disabled):not([disabled]) {
	filter: brightness(1.06);
}

.tfiber-jobs-push-stamp.is-error.is-selected {
	background: linear-gradient(135deg, #b91c1c, #7c2d12);
	box-shadow: 0 4px 10px rgba(127, 29, 29, 0.42), inset 0 1px 0 rgba(255, 255, 255, 0.24);
}

.tfiber-jobs-push-stamp-x {
	display: inline-block;
	font-size: 11px;
	font-weight: 900;
	line-height: 1;
	margin-left: 2px;
	vertical-align: baseline;
}

/* Placeholder-redirect badges: sit in the comment cell next to the NEW
 * badge. Mutually exclusive (server-enforced), so only one renders. */

.tfiber-jobs-pushed-stamp,
.tfiber-jobs-no-placeholder-stamp {
	border-radius: 999px;
	font-size: 10px;
	font-weight: 950;
	letter-spacing: 0.04em;
	line-height: 15px;
	padding: 0 6px;
	pointer-events: none;
	position: absolute;
	right: 3px;
	top: 50%;
	transform: translateY(-50%);
}

/* Pushed badge: icon-only chip showing a right arrow.
   The arrow conveys "moved forward" without the word taking up
   horizontal space in the comment cell. The shared rule above
   (border-radius/position/etc.) still applies; we just override
   sizing + drop the text padding and switch to flex centering for
   the SVG glyph. */

.tfiber-jobs-pushed-stamp {
	align-items: center;
	background: linear-gradient(135deg, #b45309, #7c2d12);
	border: 1px solid rgba(255, 255, 255, 0.58);
	box-shadow: 0 3px 8px rgba(120, 53, 15, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.24);
	color: #fff;
	display: inline-flex;
	height: 16px;
	justify-content: center;
	min-width: 16px;
	padding: 0 3px;
}

.tfiber-jobs-pushed-stamp svg {
	display: block;
	fill: currentColor;
	height: 10px;
	width: 10px;
}

.tfiber-jobs-no-placeholder-stamp {
	background: linear-gradient(135deg, #dc2626, #7f1d1d);
	border: 1px solid rgba(255, 255, 255, 0.58);
	box-shadow: 0 3px 8px rgba(127, 29, 29, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.24);
	color: #fff;
	font-size: 9px;
	letter-spacing: 0.02em;
	padding: 0 4px;
	text-transform: uppercase;
}

.tfiber-jobs-completed-placeholder-stamp {
	align-items: center;
	background: linear-gradient(135deg, #ef4444, #991b1b);
	border: 1px solid rgba(255, 255, 255, 0.6);
	border-radius: 999px;
	box-shadow: 0 2px 6px rgba(127, 29, 29, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.25);
	color: #fff;
	display: inline-flex;
	font-size: 8px;
	font-weight: 950;
	height: 16px;
	justify-content: center;
	letter-spacing: 0.01em;
	line-height: 1;
	padding: 0 5px;
	pointer-events: none;
	text-transform: uppercase;
	white-space: nowrap;
}

/* Repeat TC "R" — lives in .tfiber-jobs-comment-right-stamps row-reverse strip. */

.tfiber-jobs-tc-repeat-stamp {
	align-items: center;
	background: linear-gradient(135deg, #ef4444, #b91c1c);
	border: 1px solid rgba(255, 255, 255, 0.6);
	border-radius: 999px;
	box-shadow: 0 2px 6px rgba(127, 29, 29, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.25);
	color: #fff;
	display: inline-flex;
	font-size: 11px;
	font-weight: 950;
	height: 16px;
	justify-content: center;
	letter-spacing: -0.02em;
	line-height: 1;
	min-width: 16px;
	padding: 0 5px;
	position: absolute;
	right: 3px;
	top: 50%;
	transform: translateY(-50%);
}

button.tfiber-jobs-tc-repeat-stamp {
	cursor: pointer;
	font-family: inherit;
	pointer-events: auto;
}

button.tfiber-jobs-tc-repeat-stamp:hover,
button.tfiber-jobs-tc-repeat-stamp:focus-visible {
	box-shadow: 0 2px 8px rgba(127, 29, 29, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.35);
	filter: brightness(1.08);
	outline: none;
}

.tfiber-jobs-tc-repeat-stamp--static {
	pointer-events: none;
}

@keyframes tfiber-jobs-row-nav-flash {
	0%, 100% { box-shadow: none; }
	15%, 85% { box-shadow: inset 0 0 0 2px rgba(59, 130, 246, 0.55); }
}

/* "?" unknown-line-item badge — sits on the LEFT so it never collides
 * with the right-anchored NEW / Pushed / NO PLACEHOLDER / Repeat-R / X2 stack. Lit by
 * the processor sweep when a today+onward DB row is missing from the
 * latest Praxedo export and isn't already Completed/Cancelled/Rescheduling. */

.tfiber-jobs-unknown-stamp {
	align-items: center;
	background: linear-gradient(135deg, #f59e0b, #b45309);
	border: 1px solid rgba(255, 255, 255, 0.58);
	border-radius: 999px;
	box-shadow: 0 3px 8px rgba(120, 53, 15, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.32);
	color: #fff;
	display: inline-flex;
	font-size: 10px;
	font-weight: 950;
	height: 16px;
	justify-content: center;
	left: 3px;
	line-height: 1;
	min-width: 16px;
	padding: 0 4px;
	pointer-events: auto;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

/* Reserve enough room on the LEFT side of the editable comment so the "?"
 * badge never overlaps typed text. */

.tfiber-jobs-comment-wrap.has-unknown-stamp .tfiber-jobs-comment-editable {
	padding-left: 22px;
}

/* Comment focused: hide all stamps / badges so the field uses full width. */

.tfiber-jobs-comment-wrap.is-comment-focused .tfiber-jobs-comment-right-stamps,
.tfiber-jobs-comment-wrap.is-comment-focused .tfiber-jobs-unknown-stamp {
	opacity: 0;
	pointer-events: none;
	visibility: hidden;
}

.tfiber-jobs-comment-wrap.is-comment-focused .tfiber-jobs-comment-editable {
	padding-left: 1px !important;
	padding-right: 1px !important;
}

.tfiber-jobs-comment-editable {
	border: 0;
	border-radius: 0;
	max-width: none;
	min-height: 20px;
	min-width: 0;
	padding: 1px;
	width: 100%;
}

.tfiber-jobs-comment-highlight--violet {
	background: #ead6ff;
	border-color: #a855f7;
}

.tfiber-jobs-comment-highlight--teal {
	background: #c7f7ef;
	border-color: #14b8a6;
}

.tfiber-jobs-comment-highlight--magenta {
	background: #f7d2ff;
	border-color: #d946ef;
}

.tfiber-jobs-comment-highlight--slate {
	background: #d7dde8;
	border-color: #64748b;
}

.tfiber-jobs-comment-readonly {
	cursor: default;
}

.tfiber-jobs-locked {
	cursor: default !important;
	pointer-events: none;
}

.tfiber-jobs-state-button.tfiber-jobs-locked {
	pointer-events: auto;
}

.tfiber-jobs-status-readonly {
	display: inline-block;
	min-width: 90px;
	text-align: center;
}

.tfiber-jobs-drop-confirm-modal {
	align-items: center;
	background:
		radial-gradient(circle at 20% 18%, rgba(244, 163, 64, 0.22), transparent 34%),
		rgba(15, 23, 42, 0.70);
	backdrop-filter: blur(5px);
	display: none;
	inset: 0;
	justify-content: center;
	padding: 14px;
	position: fixed;
	z-index: 100000;
}

.tfiber-jobs-drop-confirm-modal.is-open {
	display: flex;
}

.tfiber-jobs-drop-confirm-dialog {
	background:
		linear-gradient(180deg, rgba(17, 24, 39, 0.96), rgba(30, 41, 59, 0.96)),
		radial-gradient(circle at top left, rgba(244, 163, 64, 0.22), transparent 40%);
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 22px;
	box-shadow: 0 26px 70px rgba(0, 0, 0, 0.42), inset 0 1px 0 rgba(255, 255, 255, 0.16);
	color: #f8fafc;
	max-width: 420px;
	overflow: hidden;
	padding: 18px;
	position: relative;
	width: min(100%, 420px);
}

.tfiber-jobs-drop-confirm-glow {
	background: radial-gradient(circle, rgba(255, 132, 0, 0.38), transparent 62%);
	height: 120px;
	position: absolute;
	right: -44px;
	top: -48px;
	width: 160px;
}

.tfiber-jobs-drop-confirm-dialog h3 {
	color: #ff9f1c;
	font-size: 18px;
	font-weight: 900;
	margin: 0 0 8px;
	position: relative;
}

.tfiber-jobs-drop-confirm-dialog p {
	color: #fed7aa;
	font-weight: 800;
	line-height: 1.35;
	margin: 0 0 14px;
	position: relative;
}

.tfiber-jobs-drop-confirm-details {
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 16px;
	display: grid;
	gap: 4px;
	padding: 12px;
	position: relative;
	text-decoration: none;
}

.tfiber-jobs-drop-confirm-details span {
	color: #cbd5e1;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0.05em;
	text-decoration: none;
	text-transform: uppercase;
}

.tfiber-jobs-drop-confirm-details strong {
	color: #fff;
	font-size: 13px;
	line-height: 1.3;
	margin-bottom: 8px;
	overflow-wrap: anywhere;
	text-decoration: none;
}

.tfiber-jobs-drop-confirm-actions {
	display: flex;
	gap: 10px;
	margin-top: 16px;
	position: relative;
}

.tfiber-jobs-drop-confirm-actions button {
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 999px;
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.16);
	cursor: pointer;
	flex: 1;
	font-weight: 900;
	min-height: 40px;
	padding: 8px 12px;
}

.tfiber-jobs-drop-confirm-cancel {
	background: linear-gradient(135deg, #111827, #334155);
	color: #fff;
}

.tfiber-jobs-drop-confirm-ok {
	background:
		radial-gradient(circle at 20% 0%, rgba(255, 255, 255, 0.36), transparent 34%),
		linear-gradient(135deg, #ff8400, #f4a340);
	color: #111827;
}

.tfiber-jobs-push-job-modal {
	align-items: center;
	background:
		radial-gradient(circle at 20% 18%, rgba(99, 102, 241, 0.22), transparent 34%),
		rgba(15, 23, 42, 0.70);
	backdrop-filter: blur(5px);
	display: none;
	inset: 0;
	justify-content: center;
	padding: 14px;
	position: fixed;
	z-index: 100000;
}

.tfiber-jobs-push-job-modal.is-open {
	display: flex;
}

.tfiber-jobs-push-job-dialog {
	background:
		linear-gradient(180deg, rgba(17, 24, 39, 0.96), rgba(30, 41, 59, 0.96)),
		radial-gradient(circle at top left, rgba(245, 158, 11, 0.18), transparent 40%);
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 22px;
	box-shadow: 0 26px 70px rgba(0, 0, 0, 0.42), inset 0 1px 0 rgba(255, 255, 255, 0.16);
	color: #f8fafc;
	max-width: 460px;
	overflow: hidden;
	padding: 18px;
	position: relative;
	width: min(100%, 460px);
}

.tfiber-jobs-push-job-glow {
	background: radial-gradient(circle, rgba(245, 158, 11, 0.34), transparent 62%);
	height: 120px;
	position: absolute;
	right: -44px;
	top: -48px;
	width: 160px;
}

.tfiber-jobs-push-job-dialog h3 {
	color: #fbbf24;
	font-size: 18px;
	font-weight: 900;
	margin: 0 0 8px;
	position: relative;
}

.tfiber-jobs-push-job-dialog p {
	color: #e0e7ff;
	font-weight: 700;
	line-height: 1.35;
	margin: 0 0 14px;
	position: relative;
}

.tfiber-jobs-push-job-details {
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 16px;
	display: grid;
	gap: 4px;
	padding: 12px;
	position: relative;
}

.tfiber-jobs-push-job-details span {
	color: #cbd5e1;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.tfiber-jobs-push-job-details strong {
	color: #fff;
	font-size: 13px;
	line-height: 1.3;
	margin-bottom: 8px;
	overflow-wrap: anywhere;
}

.tfiber-jobs-push-job-summary-list {
	display: grid;
	gap: 8px;
	margin-top: 6px;
	max-height: 220px;
	overflow-y: auto;
}

.tfiber-jobs-push-job-summary-item {
	background: rgba(15, 23, 42, 0.28);
	border: 1px solid rgba(255, 255, 255, 0.10);
	border-radius: 12px;
	padding: 10px;
}

.tfiber-jobs-push-job-summary-item.is-ready {
	border-left: 4px solid #22c55e;
}

.tfiber-jobs-push-job-summary-item.is-warning {
	border-left: 4px solid #f59e0b;
}

.tfiber-jobs-push-job-summary-item.is-error {
	border-left: 4px solid #ef4444;
}

.tfiber-jobs-push-job-summary-top {
	align-items: center;
	display: flex;
	gap: 8px;
	justify-content: space-between;
}

.tfiber-jobs-push-job-summary-site {
	color: #fff;
	font-size: 13px;
	font-weight: 800;
}

.tfiber-jobs-push-job-summary-state {
	border-radius: 999px;
	font-size: 10px;
	font-weight: 900;
	letter-spacing: 0.04em;
	padding: 1px 7px;
	text-transform: uppercase;
}

.tfiber-jobs-push-job-summary-item.is-ready .tfiber-jobs-push-job-summary-state {
	background: rgba(34, 197, 94, 0.18);
	color: #bbf7d0;
}

.tfiber-jobs-push-job-summary-item.is-warning .tfiber-jobs-push-job-summary-state {
	background: rgba(245, 158, 11, 0.18);
	color: #fde68a;
}

.tfiber-jobs-push-job-summary-item.is-error .tfiber-jobs-push-job-summary-state {
	background: rgba(239, 68, 68, 0.18);
	color: #fecaca;
}

.tfiber-jobs-push-job-summary-meta,
.tfiber-jobs-push-job-summary-message {
	color: #cbd5e1;
	font-size: 12px;
	line-height: 1.35;
	margin-top: 4px;
}

.tfiber-jobs-push-job-summary-meta strong {
	margin: 0;
}

.tfiber-jobs-push-job-placeholder,
.tfiber-jobs-push-job-reason {
	display: block;
	margin-top: 12px;
	position: relative;
}

.tfiber-jobs-push-job-placeholder {
	color: #e2e8f0;
	font-size: 13px;
	font-weight: 700;
}

.tfiber-jobs-push-job-reason span {
	color: #cbd5e1;
	display: block;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0.05em;
	margin-bottom: 6px;
	text-transform: uppercase;
}

.tfiber-jobs-push-job-reason textarea {
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 12px;
	box-sizing: border-box;
	color: #fff;
	font: inherit;
	min-height: 56px;
	padding: 8px 10px;
	resize: vertical;
	width: 100%;
}

.tfiber-jobs-push-job-far-out {
	color: #fde68a !important;
	font-size: 12px !important;
}

.tfiber-jobs-push-job-status {
	color: #cbd5e1 !important;
	font-size: 12px !important;
}

.tfiber-jobs-push-job-progress {
	margin-top: 14px;
	position: relative;
}

.tfiber-jobs-push-job-progress-bar {
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 999px;
	height: 10px;
	overflow: hidden;
}

.tfiber-jobs-push-job-progress-bar span {
	background:
		radial-gradient(circle at 20% 0%, rgba(255, 255, 255, 0.36), transparent 34%),
		linear-gradient(135deg, #f4a340, #d97706);
	border-radius: inherit;
	display: block;
	height: 100%;
	transition: width 220ms ease;
	width: 0;
}

.tfiber-jobs-push-job-progress.is-indeterminate .tfiber-jobs-push-job-progress-bar span {
	animation: tfiber-jobs-push-job-progress 1.25s ease-in-out infinite;
	width: 42% !important;
}

.tfiber-jobs-push-job-progress-label {
	color: #cbd5e1;
	font-size: 12px;
	font-weight: 700;
	margin-top: 6px;
}

.tfiber-jobs-push-job-result {
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-left: 4px solid #60a5fa;
	border-radius: 16px;
	margin-top: 14px;
	padding: 12px;
	position: relative;
}

.tfiber-jobs-push-job-result.is-success {
	border-left-color: #34d399;
}

.tfiber-jobs-push-job-result.is-warning {
	border-left-color: #fbbf24;
}

.tfiber-jobs-push-job-result.is-error {
	border-left-color: #f87171;
}

.tfiber-jobs-push-job-result-title {
	color: #fff;
	font-size: 13px;
	font-weight: 900;
	margin-bottom: 8px;
}

.tfiber-jobs-push-job-result-body {
	color: #e5e7eb;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.45;
	overflow-wrap: anywhere;
	white-space: normal;
}

.tfiber-jobs-push-job-result-body a {
	color: #93c5fd;
	text-decoration: underline;
}

.tfiber-jobs-push-queue-toolbar {
	align-items: center;
	display: none;
	gap: 8px;
}

.tfiber-jobs-push-queue-toolbar[hidden] {
	display: none !important;
}

.tfiber-jobs.has-push-queue .tfiber-jobs-push-queue-toolbar {
	display: inline-flex;
}

.tfiber-jobs-push-queue-action {
	align-items: center;
	background: rgba(255, 132, 0, 0.10);
	border: 1px solid rgba(244, 163, 64, 0.28);
	border-radius: 999px;
	box-shadow: none;
	color: #9a3412;
	cursor: pointer;
	display: inline-flex;
	font-family: inherit;
	font-size: 12px;
	font-weight: 800;
	padding: 7px 12px;
	transition: background 0.12s ease, border-color 0.12s ease, color 0.12s ease;
}

.tfiber-jobs-push-queue-action:hover:not([disabled]),
.tfiber-jobs-push-queue-action:focus-visible:not([disabled]) {
	background: rgba(255, 132, 0, 0.16);
	border-color: rgba(244, 163, 64, 0.42);
	color: #7c2d12;
}

.tfiber-jobs-push-queue-action[disabled] {
	cursor: not-allowed;
	opacity: 0.6;
}

.tfiber-jobs-push-queue-clear {
	background: transparent;
	border: 1px solid rgba(148, 163, 184, 0.36);
	border-radius: 999px;
	color: #475569;
	cursor: pointer;
	font-size: 12px;
	font-weight: 700;
	padding: 7px 12px;
}

.tfiber-jobs-push-queue-suppressed {
	display: none !important;
}

.tfiber-jobs-row-push-selected > td {
	background: rgba(255, 132, 0, 0.04);
}

.tfiber-jobs-push-job-actions {
	display: flex;
	gap: 10px;
	margin-top: 16px;
	position: relative;
}

.tfiber-jobs-push-job-actions button {
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 999px;
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.16);
	cursor: pointer;
	flex: 1;
	font-weight: 900;
	min-height: 40px;
	padding: 8px 12px;
	transition: transform 0.12s ease, box-shadow 0.12s ease, filter 0.12s ease, background 0.12s ease;
}

.tfiber-jobs-push-job-cancel {
	background: linear-gradient(135deg, #111827, #334155);
	color: #fff;
}

.tfiber-jobs-push-job-cancel:hover:not(:disabled),
.tfiber-jobs-push-job-cancel:focus-visible:not(:disabled) {
	background: linear-gradient(135deg, #1f2937, #475569);
	box-shadow: 0 12px 28px rgba(15, 23, 42, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.18);
	transform: translateY(-1px);
}

.tfiber-jobs-push-job-ok {
	background:
		radial-gradient(circle at 20% 0%, rgba(255, 255, 255, 0.36), transparent 34%),
		linear-gradient(135deg, #f4a340, #d97706);
	color: #1f1300;
}

.tfiber-jobs-push-job-ok:hover:not(:disabled),
.tfiber-jobs-push-job-ok:focus-visible:not(:disabled) {
	background:
		radial-gradient(circle at 20% 0%, rgba(255, 255, 255, 0.4), transparent 34%),
		linear-gradient(135deg, #f59e0b, #ea580c);
	box-shadow: 0 12px 28px rgba(194, 65, 12, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.18);
	transform: translateY(-1px);
}

.tfiber-jobs-push-job-modal.is-busy .tfiber-jobs-push-job-ok {
	opacity: 0.75;
}

@keyframes tfiber-jobs-push-job-progress {
	0% {
		transform: translateX(-120%);
	}
	100% {
		transform: translateX(220%);
	}
}

.tfiber-jobs-comment-editable.is-editing,
.tfiber-jobs-custom-editable.is-editing {
	background: #fff;
	border-color: #2271b1;
	box-shadow: 0 0 0 1px #2271b1;
	outline: none;
	white-space: normal;
}

.tfiber-jobs-comment-editable.is-editing {
	background: inherit !important;
	border: 0;
	box-shadow: none;
	padding: 1px;
}

.tfiber-jobs-comment-editable.is-editing.tfiber-jobs-comment-highlight--violet {
	background: #ead6ff;
}

.tfiber-jobs-comment-editable.is-editing.tfiber-jobs-comment-highlight--teal {
	background: #c7f7ef;
}

.tfiber-jobs-comment-editable.is-editing.tfiber-jobs-comment-highlight--magenta {
	background: #f7d2ff;
}

.tfiber-jobs-comment-editable.is-editing.tfiber-jobs-comment-highlight--slate {
	background: #d7dde8;
}

.tfiber-jobs-comment-editable.is-error,
.tfiber-jobs-custom-editable.is-error {
	border-color: #d73a49;
	box-shadow: 0 0 0 1px #d73a49;
}

.tfiber-jobs-comment-cell.has-write-retry,
td.has-write-retry {
	position: relative;
}

select[data-meta-field="sheet_status"].is-write-failed {
	outline: 2px solid #d73a49;
	outline-offset: 1px;
}

.tfiber-jobs-history-modal {
	align-items: center;
	background: rgba(0, 0, 0, 0.55);
	display: none;
	inset: 0;
	justify-content: center;
	position: fixed;
	z-index: 99999;
}

.tfiber-jobs-history-modal.is-open {
	display: flex;
}

.tfiber-jobs-history-dialog {
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.35);
	max-height: 80vh;
	max-width: 1280px;
	overflow: hidden;
	width: 94vw;
}

.tfiber-jobs-history-header {
	align-items: center;
	background: #111827;
	color: #f9fafb;
	display: flex;
	justify-content: space-between;
	padding: 10px 12px;
}

.tfiber-jobs-history-close,
.tfiber-jobs-columns-close {
	background: transparent;
	border: 0;
	color: #f9fafb;
	cursor: pointer;
	font-size: 22px;
	line-height: 1;
}

.tfiber-jobs-history-header .tfiber-jobs-columns-close {
	align-items: center;
	display: inline-flex;
	height: 28px;
	justify-content: center;
	padding: 0;
	width: 28px;
}

.tfiber-jobs-history-body {
	max-height: calc(80vh - 116px);
	overflow: auto;
	padding: 12px;
}

.tfiber-jobs-history-filters {
	align-items: end;
	background: #f6f7f7;
	border-bottom: 1px solid #dcdcde;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding: 10px 12px;
}

.tfiber-jobs-history-filters label {
	color: #1d2327;
	display: flex;
	flex-direction: column;
	font-size: 12px;
	font-weight: 600;
	gap: 3px;
}

.tfiber-jobs-history-filters input {
	border: 1px solid #8c8f94;
	border-radius: 4px;
	font-size: 12px;
	min-height: 28px;
	padding: 2px 6px;
}

.tfiber-jobs-history-filters button {
	background:
		radial-gradient(circle at 20% 0%, rgba(244, 163, 64, 0.30), transparent 36%),
		linear-gradient(135deg, #111827, #1f2937);
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 999px;
	box-shadow: 0 8px 18px rgba(15, 23, 42, 0.16);
	color: #f9fafb;
	cursor: pointer;
	min-height: 28px;
	padding: 2px 10px;
}

.tfiber-jobs-columns-dialog {
	max-width: 760px;
}

.tfiber-jobs-columns-body {
	color: #1d2327;
	max-height: calc(80vh - 100px);
	overflow: auto;
	padding: 14px;
}

.tfiber-jobs-columns-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 12px;
	margin: 10px 0 16px;
}

.tfiber-jobs-column-choice {
	align-items: center;
	background: #f6f7f7;
	border: 1px solid #dcdcde;
	border-radius: 8px;
	box-sizing: border-box;
	display: flex;
	font-weight: 700;
	gap: 8px;
	min-width: 0;
	padding: 8px 10px;
	width: 100%;
}

.tfiber-jobs-column-choice {
	cursor: grab;
}

.tfiber-jobs-column-choice:active,
.tfiber-jobs-column-choice.is-dragging {
	cursor: grabbing;
}

.tfiber-jobs-column-choice.is-dragging {
	opacity: 0.58;
}

.tfiber-jobs-column-choice.is-required {
	background: #fff7ed;
	border-color: #f0c36d;
}

.tfiber-jobs-custom-header-panel {
	background: #fff7ed;
	border: 1px solid #f0c36d;
	border-radius: 10px;
	padding: 12px;
}

.tfiber-jobs-custom-header-panel.is-disabled {
	opacity: 0.55;
}

.tfiber-jobs-custom-header-lock-note {
	background: rgba(127, 29, 29, 0.08);
	border: 1px solid rgba(127, 29, 29, 0.22);
	border-radius: 8px;
	color: #7f1d1d;
	display: none;
	font-size: 12px;
	font-weight: 800;
	margin: 8px 0 0;
	padding: 7px 9px;
}

.tfiber-jobs-custom-header-panel h3 {
	margin: 0 0 4px;
}

.tfiber-jobs-custom-header-field {
	display: flex;
	flex-direction: column;
	font-weight: 700;
	gap: 4px;
	margin-top: 10px;
}

.tfiber-jobs-custom-header-field input {
	border: 1px solid #8c8f94;
	border-radius: 6px;
	min-height: 32px;
	padding: 4px 8px;
}

.tfiber-jobs-columns-actions {
	align-items: center;
	background: #f6f7f7;
	border-top: 1px solid #dcdcde;
	display: flex;
	gap: 8px;
	justify-content: flex-end;
	padding: 10px 12px;
}

.tfiber-jobs-columns-actions button {
	background:
		radial-gradient(circle at 20% 0%, rgba(244, 163, 64, 0.30), transparent 36%),
		linear-gradient(135deg, #111827, #1f2937);
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 999px;
	box-shadow: 0 8px 18px rgba(15, 23, 42, 0.16);
	color: #f9fafb;
	cursor: pointer;
	font-weight: 700;
	min-height: 32px;
	padding: 5px 12px;
}

.tfiber-jobs-history-table {
	border-collapse: collapse;
	font-size: 12px;
	width: 100%;
}

.tfiber-jobs-history-table th,
.tfiber-jobs-history-table td {
	border: 1px solid #dcdcde;
	padding: 5px 6px;
	text-align: left;
	vertical-align: top;
}

.tfiber-jobs-history-table th {
	background: #f6f7f7;
}

.tfiber-jobs-history-table th:first-child,
.tfiber-jobs-history-table td:first-child {
	min-width: 150px;
	white-space: nowrap;
}

.tfiber-jobs-history-table th:nth-child(4),
.tfiber-jobs-history-table td:nth-child(4) {
	min-width: 130px;
	white-space: nowrap;
}

.tfiber-jobs-history-value-yes {
	color: #166534;
	font-weight: 700;
}

.tfiber-jobs-history-value-no {
	color: #991b1b;
	font-weight: 700;
}

#tfiber-jobs-history-modal {
	background:
		radial-gradient(circle at 18% 12%, rgba(244, 163, 64, 0.22), transparent 34%),
		radial-gradient(circle at 80% 18%, rgba(34, 113, 177, 0.20), transparent 32%),
		rgba(15, 23, 42, 0.68);
	backdrop-filter: blur(4px);
}

#tfiber-jobs-history-modal .tfiber-jobs-history-dialog {
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.98)),
		radial-gradient(circle at top left, rgba(244, 163, 64, 0.18), transparent 38%);
	border: 1px solid rgba(255, 255, 255, 0.52);
	border-radius: 18px;
	box-shadow: 0 28px 80px rgba(15, 23, 42, 0.40), inset 0 1px 0 rgba(255, 255, 255, 0.80);
	display: flex;
	flex-direction: column;
}

#tfiber-jobs-history-modal .tfiber-jobs-history-header {
	background:
		radial-gradient(circle at 14% 0%, rgba(244, 163, 64, 0.38), transparent 36%),
		linear-gradient(135deg, #111827, #1e293b 55%, #7c4a03);
	border-bottom: 1px solid rgba(255, 255, 255, 0.14);
	padding: 14px 16px;
}

#tfiber-jobs-history-modal .tfiber-jobs-history-header strong {
	align-items: center;
	display: inline-flex;
	font-size: 15px;
	font-weight: 900;
	gap: 9px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

#tfiber-jobs-history-modal .tfiber-jobs-history-header strong::before {
	background: linear-gradient(135deg, #ffb454, #ff8400);
	border-radius: 999px;
	box-shadow: 0 6px 16px rgba(244, 163, 64, 0.34);
	content: "";
	height: 10px;
	width: 10px;
}

#tfiber-jobs-history-modal .tfiber-jobs-history-close {
	align-items: center;
	background: rgba(255, 255, 255, 0.10);
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 999px;
	box-sizing: border-box;
	color: #f9fafb;
	display: inline-flex;
	flex: 0 0 auto;
	height: 30px;
	justify-content: center;
	line-height: 0;
	margin: 0;
	padding: 0;
	width: 30px;
}

#tfiber-jobs-history-modal .tfiber-jobs-history-close svg {
	display: block;
	height: 12px;
	width: 12px;
}

#tfiber-jobs-history-modal .tfiber-jobs-history-close:hover {
	background: rgba(255, 255, 255, 0.18);
}

#tfiber-jobs-history-modal .tfiber-jobs-history-close:focus-visible {
	outline: 2px solid rgba(244, 163, 64, 0.7);
	outline-offset: 2px;
}

#tfiber-jobs-history-modal .tfiber-jobs-history-filters {
	background: linear-gradient(135deg, #fff7ed, #f8fafc);
	border-bottom: 1px solid rgba(244, 163, 64, 0.26);
	gap: 10px;
	padding: 12px 14px;
}

#tfiber-jobs-history-modal .tfiber-jobs-history-filters label {
	color: #334155;
	font-weight: 800;
}

#tfiber-jobs-history-modal .tfiber-jobs-history-filters input {
	background: rgba(255, 255, 255, 0.92);
	border: 1px solid rgba(148, 163, 184, 0.72);
	border-radius: 999px;
	box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.06);
	min-height: 32px;
	padding: 3px 10px;
}

#tfiber-jobs-history-modal .tfiber-jobs-history-filters input:focus {
	border-color: #f4a340;
	box-shadow: 0 0 0 3px rgba(244, 163, 64, 0.18);
	outline: none;
}

#tfiber-jobs-history-modal .tfiber-jobs-history-filters button {
	background: linear-gradient(135deg, #111827, #1f2937);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 999px;
	box-shadow: 0 8px 18px rgba(15, 23, 42, 0.16);
	font-weight: 800;
	min-height: 32px;
	transform: translateY(-8px);
	padding: 4px 14px;
}

#tfiber-jobs-history-modal .tfiber-jobs-history-filters button:hover {
	filter: brightness(1.08);
}

#tfiber-jobs-history-modal .tfiber-jobs-history-body {
	background: linear-gradient(180deg, #f8fafc, #ffffff);
	flex: 1 1 auto;
	min-height: 0;
	padding: 14px;
}

#tfiber-jobs-history-modal .tfiber-jobs-history-table {
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
}

#tfiber-jobs-history-modal .tfiber-jobs-history-table th {
	background: linear-gradient(135deg, #1f2937, #111827);
	border-color: #111827;
	color: #f8fafc;
	font-weight: 800;
	padding: 8px 7px;
}

#tfiber-jobs-history-modal .tfiber-jobs-history-table td {
	background: rgba(255, 255, 255, 0.92);
	border-color: #e2e8f0;
	padding: 7px;
}

#tfiber-jobs-history-modal .tfiber-jobs-history-table tbody tr:nth-child(even) td {
	background: #fff7ed;
}

#tfiber-jobs-history-modal .tfiber-jobs-history-table tbody tr:hover td {
	background: #e9f1ff;
}

#tfiber-jobs-history-modal .tfiber-jobs-history-value {
	border-radius: 999px;
	display: inline-block;
	max-width: 360px;
	overflow: hidden;
	padding: 2px 8px;
	text-overflow: ellipsis;
	vertical-align: top;
	white-space: nowrap;
}

#tfiber-jobs-history-modal .tfiber-jobs-history-value-yes {
	background: #dcfce7;
	color: #166534;
}

#tfiber-jobs-history-modal .tfiber-jobs-history-value-no {
	background: #fee2e2;
	color: #991b1b;
}

#tfiber-jobs-history-modal .tfiber-jobs-history-value-state {
	border: 1px solid rgba(255, 255, 255, 0.32);
	box-shadow: 0 3px 8px rgba(15, 23, 42, 0.14), inset 0 1px 0 rgba(255, 255, 255, 0.22);
	font-weight: 800;
	min-width: 58px;
	text-align: center;
}

#tfiber-jobs-history-modal .tfiber-jobs-history-more-wrap {
	padding: 14px 0 2px;
	text-align: center;
}

#tfiber-jobs-history-modal .tfiber-jobs-history-load-more {
	background:
		radial-gradient(circle at 20% 0%, rgba(255, 255, 255, 0.36), transparent 34%),
		linear-gradient(135deg, #ff8400, #f4a340);
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 999px;
	box-shadow: 0 10px 24px rgba(244, 163, 64, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.22);
	color: #fff;
	cursor: pointer;
	font-size: 12px;
	font-weight: 800;
	min-height: 32px;
	padding: 5px 18px;
}

#tfiber-jobs-history-modal .tfiber-jobs-history-load-more:disabled {
	cursor: wait;
	opacity: 0.65;
}

#tfiber-jobs-columns-modal {
	background:
		radial-gradient(circle at 18% 12%, rgba(244, 163, 64, 0.22), transparent 34%),
		radial-gradient(circle at 80% 18%, rgba(34, 113, 177, 0.20), transparent 32%),
		rgba(15, 23, 42, 0.68);
	backdrop-filter: blur(4px);
}

#tfiber-jobs-columns-modal .tfiber-jobs-columns-dialog {
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.98)),
		radial-gradient(circle at top left, rgba(244, 163, 64, 0.18), transparent 38%);
	border: 1px solid rgba(255, 255, 255, 0.52);
	border-radius: 18px;
	box-shadow: 0 28px 80px rgba(15, 23, 42, 0.40), inset 0 1px 0 rgba(255, 255, 255, 0.80);
	display: flex;
	flex-direction: column;
	max-height: 86vh;
	max-width: 820px;
	overflow: hidden;
}

#tfiber-jobs-columns-modal .tfiber-jobs-history-header {
	background:
		radial-gradient(circle at 14% 0%, rgba(244, 163, 64, 0.38), transparent 36%),
		linear-gradient(135deg, #111827, #1e293b 55%, #7c4a03);
	border-bottom: 1px solid rgba(255, 255, 255, 0.14);
	padding: 14px 16px;
}

#tfiber-jobs-columns-modal .tfiber-jobs-history-header strong {
	align-items: center;
	display: inline-flex;
	font-size: 15px;
	font-weight: 900;
	gap: 9px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

#tfiber-jobs-columns-modal .tfiber-jobs-history-header strong::before {
	background: linear-gradient(135deg, #ffb454, #ff8400);
	border-radius: 999px;
	box-shadow: 0 6px 16px rgba(244, 163, 64, 0.34);
	content: "";
	height: 10px;
	width: 10px;
}

#tfiber-jobs-columns-modal .tfiber-jobs-columns-close {
	align-items: center;
	background: rgba(255, 255, 255, 0.10);
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 999px;
	box-sizing: border-box;
	color: #f9fafb;
	display: inline-flex;
	flex: 0 0 auto;
	height: 30px;
	justify-content: center;
	line-height: 0;
	margin: 0;
	padding: 0;
	width: 30px;
}

#tfiber-jobs-columns-modal .tfiber-jobs-columns-close svg {
	display: block;
	height: 12px;
	width: 12px;
}

#tfiber-jobs-columns-modal .tfiber-jobs-columns-close:hover {
	background: rgba(255, 255, 255, 0.18);
}

#tfiber-jobs-columns-modal .tfiber-jobs-columns-close:focus-visible {
	outline: 2px solid rgba(244, 163, 64, 0.7);
	outline-offset: 2px;
}

#tfiber-jobs-columns-modal .tfiber-jobs-columns-body {
	background: linear-gradient(180deg, #f8fafc, #ffffff);
	flex: 1 1 auto;
	min-height: 0;
	overflow: auto;
	padding: 14px;
}

#tfiber-jobs-all-tab-mos-modal {
	background:
		radial-gradient(circle at 18% 12%, rgba(244, 163, 64, 0.22), transparent 34%),
		radial-gradient(circle at 80% 18%, rgba(34, 113, 177, 0.20), transparent 32%),
		rgba(15, 23, 42, 0.68);
	backdrop-filter: blur(4px);
}

#tfiber-jobs-all-tab-mos-modal .tfiber-jobs-all-tab-mo-choice {
	align-items: center;
	background: #fff;
	border: 1px solid #cbd5e1;
	border-radius: 10px;
	cursor: pointer;
	display: flex;
	font-size: 13px;
	font-weight: 600;
	gap: 8px;
	padding: 8px 10px;
}

#tfiber-jobs-columns-modal .tfiber-jobs-columns-grid {
	align-items: stretch;
}

#tfiber-jobs-columns-modal .tfiber-jobs-columns-body > p {
	background: linear-gradient(135deg, #fff7ed, #f8fafc);
	border: 1px solid rgba(244, 163, 64, 0.26);
	border-radius: 14px;
	color: #334155;
	font-weight: 800;
	margin: 0 0 12px;
	padding: 10px 12px;
}

#tfiber-jobs-columns-modal .tfiber-jobs-column-choice {
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.95), rgba(248, 250, 252, 0.95)),
		radial-gradient(circle at top left, rgba(244, 163, 64, 0.12), transparent 42%);
	border: 1px solid rgba(148, 163, 184, 0.54);
	border-radius: 14px;
	box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.85);
	color: #1e293b;
	flex: 0 0 calc((100% - 24px) / 3);
	min-height: 42px;
	overflow: hidden;
	transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

#tfiber-jobs-columns-modal .tfiber-jobs-column-choice span:last-child {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

#tfiber-jobs-columns-modal .tfiber-jobs-column-choice:hover {
	border-color: rgba(244, 163, 64, 0.62);
	box-shadow: 0 12px 24px rgba(15, 23, 42, 0.12), 0 0 0 3px rgba(244, 163, 64, 0.12);
	transform: translateY(-1px);
}

#tfiber-jobs-columns-modal .tfiber-jobs-column-choice.is-dragging {
	border-color: #f4a340;
	box-shadow: 0 16px 28px rgba(15, 23, 42, 0.18);
	opacity: 0.72;
}

#tfiber-jobs-columns-modal .tfiber-jobs-column-choice.is-required {
	background:
		linear-gradient(135deg, rgba(255, 247, 237, 0.98), rgba(255, 255, 255, 0.96)),
		radial-gradient(circle at top left, rgba(244, 163, 64, 0.24), transparent 45%);
	border-color: rgba(244, 163, 64, 0.58);
}

#tfiber-jobs-columns-modal .tfiber-jobs-column-choice input[type="checkbox"] {
	accent-color: #ff8400;
}

#tfiber-jobs-columns-modal .tfiber-jobs-custom-header-panel {
	background:
		linear-gradient(135deg, #fff7ed, #f8fafc),
		radial-gradient(circle at top right, rgba(244, 163, 64, 0.14), transparent 38%);
	border: 1px solid rgba(244, 163, 64, 0.32);
	border-radius: 16px;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72);
}

#tfiber-jobs-columns-modal .tfiber-jobs-custom-header-panel h3 {
	color: #1e293b;
	font-size: 14px;
	font-weight: 900;
	letter-spacing: 0.02em;
}

#tfiber-jobs-columns-modal .tfiber-jobs-custom-header-panel p {
	color: #64748b;
	font-weight: 700;
	margin: 0 0 8px;
}

#tfiber-jobs-columns-modal .tfiber-jobs-custom-header-field {
	color: #334155;
	font-size: 12px;
	font-weight: 800;
}

#tfiber-jobs-columns-modal .tfiber-jobs-custom-header-field input {
	background: rgba(255, 255, 255, 0.92);
	border: 1px solid rgba(148, 163, 184, 0.72);
	border-radius: 999px;
	box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.06);
	min-height: 34px;
	padding: 4px 12px;
}

#tfiber-jobs-columns-modal .tfiber-jobs-custom-header-field input:focus {
	border-color: #f4a340;
	box-shadow: 0 0 0 3px rgba(244, 163, 64, 0.18);
	outline: none;
}

#tfiber-jobs-columns-modal .tfiber-jobs-columns-actions {
	align-items: center;
	background: linear-gradient(135deg, #fff7ed, #f8fafc);
	border-top: 1px solid rgba(244, 163, 64, 0.26);
	box-shadow: 0 -12px 28px rgba(15, 23, 42, 0.08);
	display: flex;
	flex: 0 0 auto;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: flex-end;
	padding: 12px 22px 14px;
}

#tfiber-jobs-columns-modal .tfiber-jobs-columns-actions button {
	background:
		radial-gradient(circle at 20% 0%, rgba(255, 255, 255, 0.36), transparent 34%),
		linear-gradient(135deg, #111827, #1f2937);
	border: 1px solid rgba(255, 255, 255, 0.16);
	box-shadow: 0 10px 24px rgba(15, 23, 42, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.12);
	box-sizing: border-box;
	color: #fff !important;
	font-weight: 800;
	font-size: 12px;
	line-height: 1.2;
	min-height: 34px;
	min-width: 118px;
	padding: 6px 16px;
	position: relative;
	text-align: center;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.38);
	transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease, color 0.15s ease, transform 0.15s ease;
	white-space: nowrap;
	z-index: 1;
}

#tfiber-jobs-columns-modal .tfiber-jobs-columns-actions .tfiber-jobs-columns-close {
	color: #fff !important;
	font-size: 12px;
	height: auto;
	line-height: 1.2;
	width: auto;
}

#tfiber-jobs-columns-modal .tfiber-jobs-columns-save {
	background:
		radial-gradient(circle at 20% 0%, rgba(255, 255, 255, 0.36), transparent 34%),
		linear-gradient(135deg, #111827, #1f2937);
	color: #ff9f1c !important;
}

#tfiber-jobs-columns-modal .tfiber-jobs-history-panel .tfiber-jobs-history-open {
	-webkit-appearance: none;
	appearance: none;
	background:
		radial-gradient(circle at 20% 0%, rgba(255, 255, 255, 0.36), transparent 34%),
		linear-gradient(135deg, #111827, #1f2937);
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 999px;
	box-shadow: 0 10px 24px rgba(15, 23, 42, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.12);
	box-sizing: border-box;
	color: #ff9f1c;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: inherit;
	font-weight: 800;
	font-size: 12px;
	letter-spacing: 0.02em;
	line-height: 1.2;
	margin: 0;
	min-height: 34px;
	min-width: 118px;
	padding: 6px 18px;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.38);
	transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease, color 0.15s ease, transform 0.15s ease;
	white-space: nowrap;
}

#tfiber-jobs-columns-modal .tfiber-jobs-history-panel .tfiber-jobs-history-open:hover,
#tfiber-jobs-columns-modal .tfiber-jobs-history-panel .tfiber-jobs-history-open:focus-visible {
	background:
		radial-gradient(circle at 20% 0%, rgba(255, 255, 255, 0.34), transparent 34%),
		linear-gradient(135deg, #ff8400, #f4a340);
	border-color: rgba(255, 255, 255, 0.28);
	box-shadow: 0 12px 28px rgba(244, 163, 64, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.22);
	color: #111827;
	outline: none;
	text-shadow: none;
	transform: translateY(-1px);
}

#tfiber-jobs-columns-modal .tfiber-jobs-history-panel .tfiber-jobs-history-open:active {
	transform: translateY(0);
	box-shadow: 0 6px 16px rgba(244, 163, 64, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.22);
}

/* Praxedo grab + process (Settings modal; mirrors admin Overview quick actions) */

#tfiber-jobs-columns-modal .tfiber-jobs-praxedo-grab-panel {
	margin-top: 10px;
}

#tfiber-jobs-columns-modal .tfiber-jobs-praxedo-grab-panel h3 {
	color: #ea580c;
	margin: 0 0 6px;
}

#tfiber-jobs-columns-modal .tfiber-jobs-praxedo-grab-panel > p {
	color: #6b7280;
	font-size: 13px;
	line-height: 1.45;
	margin: 0 0 10px;
}

#tfiber-jobs-columns-modal .tfiber-jobs-praxedo-actions {
	align-items: stretch;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 10px;
}

#tfiber-jobs-columns-modal .tfiber-jobs-praxedo-btn {
	border-radius: 8px;
	border: 1px solid transparent;
	cursor: pointer;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.2;
	padding: 8px 12px;
	white-space: normal;
}

#tfiber-jobs-columns-modal .tfiber-jobs-praxedo-btn:disabled {
	cursor: not-allowed;
	opacity: 0.55;
}

#tfiber-jobs-columns-modal .tfiber-jobs-praxedo-btn--primary {
	background: linear-gradient(135deg, #ff8400, #f4a340);
	border-color: rgba(255, 255, 255, 0.24);
	box-shadow: 0 4px 14px rgba(244, 163, 64, 0.28);
	color: #111827;
}

#tfiber-jobs-columns-modal .tfiber-jobs-praxedo-progress-wrap {
	background: #1f2937;
	border: 1px solid #374151;
	border-radius: 10px;
	color: #e5e7eb;
	margin-top: 4px;
	padding: 10px 12px;
}

#tfiber-jobs-columns-modal .tfiber-jobs-praxedo-progress-head {
	align-items: center;
	display: flex;
	gap: 10px;
	justify-content: space-between;
	margin-bottom: 6px;
}

#tfiber-jobs-columns-modal .tfiber-jobs-praxedo-progress-label {
	color: #fdba74;
	flex: 1;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.35;
}

#tfiber-jobs-columns-modal .tfiber-jobs-praxedo-cancel {
	background: #7f1d1d;
	border: 1px solid #991b1b;
	border-radius: 6px;
	color: #fff;
	cursor: pointer;
	font-size: 12px;
	padding: 4px 10px;
}

#tfiber-jobs-columns-modal .tfiber-jobs-praxedo-cancel:disabled {
	opacity: 0.6;
}

#tfiber-jobs-columns-modal .tfiber-jobs-praxedo-progress-track {
	background: #374151;
	border-radius: 999px;
	height: 14px;
	overflow: hidden;
}

#tfiber-jobs-columns-modal .tfiber-jobs-praxedo-progress-bar {
	background: linear-gradient(90deg, #ff8400, #ffb866);
	height: 100%;
	transition: width 0.2s ease;
	width: 0%;
}

#tfiber-jobs-columns-modal .tfiber-jobs-praxedo-progress-meta {
	color: #d1d5db;
	display: flex;
	font-size: 12px;
	justify-content: space-between;
	margin-top: 6px;
}

#tfiber-jobs-columns-modal .tfiber-jobs-praxedo-result {
	color: #111827;
	font-size: 13px;
	line-height: 1.45;
	margin-top: 8px;
}

/* MDU addresses (Settings modal; same option as Admin → Tfiber Jobs → MDUs) */

#tfiber-jobs-columns-modal .tfiber-jobs-mdu-settings-panel {
	margin-top: 10px;
}

#tfiber-jobs-columns-modal .tfiber-jobs-mdu-settings-panel h3 {
	color: #0f766e;
	margin: 0 0 6px;
}

#tfiber-jobs-columns-modal .tfiber-jobs-mdu-toggle-btn {
	-webkit-appearance: none;
	appearance: none;
	background:
		radial-gradient(circle at 20% 0%, rgba(255, 255, 255, 0.36), transparent 34%),
		linear-gradient(135deg, #0f766e, #14b8a6);
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 999px;
	box-shadow: 0 8px 20px rgba(15, 118, 110, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.12);
	color: #ecfdf5;
	cursor: pointer;
	font-family: inherit;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.02em;
	margin: 0 0 10px;
	min-height: 36px;
	padding: 8px 18px;
}

#tfiber-jobs-columns-modal .tfiber-jobs-mdu-toggle-btn:hover,
#tfiber-jobs-columns-modal .tfiber-jobs-mdu-toggle-btn:focus-visible {
	filter: brightness(1.06);
	outline: none;
}

#tfiber-jobs-columns-modal .tfiber-jobs-mdu-editor {
	margin-top: 4px;
}

#tfiber-jobs-columns-modal .tfiber-jobs-mdu-help {
	color: #64748b;
	font-size: 12px;
	line-height: 1.45;
	margin: 0 0 10px;
}

#tfiber-jobs-columns-modal .tfiber-jobs-mdu-table-scroll {
	border: 1px solid rgba(148, 163, 184, 0.55);
	border-radius: 10px;
	max-height: 240px;
	overflow: auto;
}

#tfiber-jobs-columns-modal .tfiber-jobs-mdu-table {
	border-collapse: collapse;
	font-size: 12px;
	width: 100%;
}

#tfiber-jobs-columns-modal .tfiber-jobs-mdu-table thead th {
	background: rgba(240, 253, 250, 0.95);
	border-bottom: 1px solid rgba(148, 163, 184, 0.45);
	color: #134e4a;
	font-weight: 800;
	padding: 8px 10px;
	position: sticky;
	text-align: left;
	top: 0;
	z-index: 1;
}

#tfiber-jobs-columns-modal .tfiber-jobs-mdu-table tbody td {
	border-bottom: 1px solid rgba(226, 232, 240, 0.9);
	padding: 8px 10px;
	vertical-align: middle;
}

#tfiber-jobs-columns-modal .tfiber-jobs-mdu-table tbody tr:last-child td {
	border-bottom: none;
}

#tfiber-jobs-columns-modal .tfiber-jobs-mdu-address-input {
	background: rgba(255, 255, 255, 0.96);
	border: 1px solid rgba(148, 163, 184, 0.72);
	border-radius: 8px;
	box-sizing: border-box;
	font-size: 12px;
	min-height: 34px;
	padding: 6px 10px;
	width: 100%;
}

#tfiber-jobs-columns-modal .tfiber-jobs-mdu-address-input:focus {
	border-color: #14b8a6;
	box-shadow: 0 0 0 3px rgba(20, 184, 166, 0.2);
	outline: none;
}

#tfiber-jobs-columns-modal .tfiber-jobs-mdu-blow-label {
	align-items: center;
	color: #334155;
	cursor: pointer;
	display: inline-flex;
	font-weight: 700;
	gap: 8px;
	white-space: nowrap;
}

#tfiber-jobs-columns-modal .tfiber-jobs-mdu-remove {
	background: #fef2f2;
	border: 1px solid #fecaca;
	border-radius: 8px;
	color: #991b1b;
	cursor: pointer;
	font-size: 12px;
	font-weight: 700;
	padding: 6px 10px;
}

#tfiber-jobs-columns-modal .tfiber-jobs-mdu-remove:hover {
	background: #fee2e2;
}

#tfiber-jobs-columns-modal .tfiber-jobs-mdu-empty {
	color: #64748b;
	font-size: 13px;
	padding: 12px 8px;
	text-align: center;
}

#tfiber-jobs-columns-modal .tfiber-jobs-mdu-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 12px;
}

#tfiber-jobs-columns-modal .tfiber-jobs-mdu-add,
#tfiber-jobs-columns-modal .tfiber-jobs-mdu-save {
	border-radius: 8px;
	cursor: pointer;
	font-size: 12px;
	font-weight: 800;
	min-height: 34px;
	padding: 6px 14px;
}

#tfiber-jobs-columns-modal .tfiber-jobs-mdu-add {
	background: #f8fafc;
	border: 1px solid #cbd5e1;
	color: #334155;
}

#tfiber-jobs-columns-modal .tfiber-jobs-mdu-save {
	background: linear-gradient(135deg, #0f766e, #14b8a6);
	border: 1px solid rgba(255, 255, 255, 0.2);
	color: #ecfdf5;
}

#tfiber-jobs-columns-modal .tfiber-jobs-mdu-save:disabled {
	cursor: not-allowed;
	opacity: 0.55;
}

#tfiber-jobs-columns-modal .tfiber-jobs-mdu-status {
	color: #475569;
	flex: 1;
	font-size: 12px;
	font-weight: 700;
	min-width: 120px;
}

#tfiber-jobs-columns-modal .tfiber-jobs-columns-grid.is-mo-required,
#tfiber-jobs-columns-modal .tfiber-jobs-custom-header-panel.is-mo-required {
	opacity: 0.55;
	pointer-events: none;
}

#tfiber-jobs-columns-modal .tfiber-jobs-columns-mo-note {
	color: #92400e;
	font-size: 12px;
	font-style: italic;
	margin: 6px 0 0;
}

#tfiber-jobs-columns-modal .tfiber-jobs-columns-actions button:hover {
	background:
		radial-gradient(circle at 20% 0%, rgba(255, 255, 255, 0.34), transparent 34%),
		linear-gradient(135deg, #ff8400, #f4a340);
	border-color: rgba(255, 255, 255, 0.28);
	box-shadow: 0 12px 28px rgba(244, 163, 64, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.22);
	color: #111827 !important;
	filter: none;
	text-shadow: none;
	transform: translateY(-1px);
}

/* Tiny intra-day divider that sits between the top-of-day cluster
   (cancelled + damages, sorted to the top of every day group) and the
   regular active jobs that follow. Intentionally subtle — it's a
   visual hint, not a banner — so it doesn't compete with the day or
   today/Sunday separators above it. Only emitted when both buckets
   are present in the same day. */

/* Sunday day-separator: explicit, unmistakable banner. The
   placeholder/redirect feature treats Sunday as a special case (real
   jobs may live there as "parked" until a placeholder pulls them
   forward), so the separator screams its day-of-week to make that
   clear at a glance. Both the start and end variants share the same
   base look; the end marker mirrors the diagonal stripe direction so
   the section reads as a clearly-bookended block. */

/* End-of-Sunday bookend: same banner, stripes flipped so the
   diagonals point the other way. Visually closes the section. */

/* Sunday data rows: subtle red wash + a clear left rail so the
   group is obvious even when scrolled past the separator. */

/* Sunday + maintenance: maintenance tint wins for body color
   (existing rule), but keep the red rail so Sunday is still clear. */

/* Sunday + today (rare; today separator wins styling-wise): still
   override left rail to red so the user notices "today is Sunday". */

.tfiber-jobs-load-more {
	background:
		radial-gradient(circle at 20% 0%, rgba(255, 255, 255, 0.36), transparent 34%),
		linear-gradient(135deg, #ff8400, #f4a340);
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 999px;
	box-shadow: 0 10px 24px rgba(244, 163, 64, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.22);
	color: #fff;
	cursor: pointer;
	font-size: 12px;
	font-weight: 700;
	overflow: hidden;
	padding: 5px 14px;
	position: relative;
	touch-action: manipulation;
	user-select: none;
	-webkit-user-select: none;
}

.tfiber-jobs-load-more-fill {
	background:
		radial-gradient(circle at 20% 0%, rgba(255, 255, 255, 0.42), transparent 36%),
		linear-gradient(135deg, #34d058, #16a34a);
	border-radius: inherit;
	bottom: 0;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.26);
	left: 0;
	position: absolute;
	top: 0;
	transform: scaleX(0);
	transform-origin: left center;
	width: 100%;
	z-index: 0;
}

.tfiber-jobs-load-more.is-holding-load-all .tfiber-jobs-load-more-fill {
	transform: scaleX(1);
	transition: transform 2s linear;
}

.tfiber-jobs-load-more-label {
	position: relative;
	z-index: 1;
}

.tfiber-jobs-load-more:hover {
	filter: brightness(1.06);
}

.tfiber-jobs {
	--tfiber-cell-selected-bg: rgba(0, 0, 0, 0.22);
	--tfiber-cell-selected-border: rgba(0, 0, 0, 0.35);
	--tfiber-cell-selected-color: inherit;
}

.tfiber-jobs-status {
	background: linear-gradient(135deg, #ffffff, #e5e7eb);
	border: 1px solid rgba(255, 255, 255, 0.24);
	border-radius: 6px;
	box-shadow: 0 4px 10px rgba(15, 23, 42, 0.10), inset 0 1px 0 rgba(255, 255, 255, 0.26);
	color: #1f2937;
	font-size: 11px;
	font-weight: 700;
	height: 22px;
	line-height: 22px;
	padding: 0 2px;
	text-align: center;
	text-align-last: center;
}

.tfiber-jobs.has-status-filter-dots-inline {
	--tfiber-status-width: 58px;
}

.tfiber-jobs.has-status-filter-dots-stacked {
	--tfiber-status-width: 50px;
}

.tfiber-jobs-status--scheduled {
	background: linear-gradient(135deg, #fff7ed, #f4a340);
	border-color: rgba(255, 255, 255, 0.30);
	color: #5f3b00;
}

.tfiber-jobs-status--en-route {
	background: linear-gradient(135deg, #dbeafe, #3b82f6);
	border-color: rgba(255, 255, 255, 0.24);
	color: #172554;
}

.tfiber-jobs-status--in-progress {
	background: linear-gradient(135deg, #ede9fe, #8b5cf6);
	border-color: rgba(255, 255, 255, 0.24);
	color: #2e1065;
}

.tfiber-jobs-status--installing {
	background: linear-gradient(135deg, #ccfbf1, #14b8a6);
	border-color: rgba(255, 255, 255, 0.24);
	color: #134e4a;
}

.tfiber-jobs-status--rescheduling {
	background: linear-gradient(135deg, #fee2e2, #f87171);
	border-color: rgba(255, 255, 255, 0.22);
	color: #7f1d1d;
}

.tfiber-jobs-status--completed {
	background: linear-gradient(135deg, #dcfce7, #34d058);
	border-color: rgba(255, 255, 255, 0.24);
	color: #14532d;
}

.tfiber-jobs-status--pending {
	background: linear-gradient(135deg, #dbeafe, #60a5fa);
	border-color: rgba(255, 255, 255, 0.24);
	color: #1e3a8a;
}

.tfiber-jobs-status--cancelled {
	background: linear-gradient(135deg, #f87171, #991b1b);
	border-color: rgba(255, 255, 255, 0.18);
	color: #fff;
}

.tfiber-jobs-toggle--yes {
	background: linear-gradient(135deg, #34d058, #238636);
	border-color: rgba(255, 255, 255, 0.20);
}

.tfiber-jobs-toggle--no {
	background: linear-gradient(135deg, #f87171, #b91c1c);
	border-color: rgba(255, 255, 255, 0.18);
}

.tfiber-jobs-toggle:hover,
.tfiber-jobs-state-button:hover,
.tfiber-jobs-status:hover {
	filter: brightness(0.95);
}

.tfiber-jobs-state-button {
	border: 1px solid rgba(255, 255, 255, 0.24);
	border-radius: 6px;
	box-shadow: 0 4px 10px rgba(15, 23, 42, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.22);
	color: #1d2327;
	cursor: pointer;
	font-size: 11px;
	font-weight: 700;
	height: 22px;
	line-height: 22px;
	margin: 0 auto;
	min-width: 62px;
	padding: 0 6px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 4px;
}

.tfiber-jobs-state-wrap {
	align-items: center;
	display: inline-flex;
	gap: 0;
	justify-content: center;
	position: relative;
	width: 100%;
}

.tfiber-jobs-state-button.is-saving {
	cursor: wait;
	opacity: 0.68;
}

.tfiber-jobs-state--none {
	background: linear-gradient(135deg, #fca5a5, #dc2626);
	border-color: rgba(255, 255, 255, 0.22);
	color: #fff;
}

.tfiber-jobs-state--buried,
.tfiber-jobs-state--located,
.tfiber-jobs-state--texted {
	background: linear-gradient(135deg, #fff7ed, #facc15);
	border-color: rgba(255, 255, 255, 0.35);
	color: #5f3b00;
}

.tfiber-jobs-state--blown,
.tfiber-jobs-state--confirmed {
	background: linear-gradient(135deg, #34d058, #238636);
	border-color: rgba(255, 255, 255, 0.24);
	color: #fff;
}

/* Capped width (~typical full PX+digits intrinsic at 11px mono minus ~30px). Overflow shows
 * ellipsis; full value on hover via .tfiber-jobs-job-no-value[title]. */

.tfiber-jobs-job-no-value--praxedo {
	cursor: context-menu;
}

.tfiber-jobs-tc-stamp {
	display: inline-block;
	margin-left: 4px;
	padding: 0 5px;
	min-width: 20px;
	border-radius: 999px;
	background: #4b2a1a;
	color: #ffb266;
	font-size: 11px;
	font-weight: 700;
	line-height: 16px;
	text-align: center;
	vertical-align: middle;
}

@media (max-width: 782px) {
.tfiber-jobs-update-notice {
		border-radius: 16px;
		bottom: 14px;
		left: 10px;
		right: 10px;
		max-width: none;
	}

.tfiber-jobs-no-access {
		align-items: center;
		border-radius: 16px;
		flex-direction: column;
		gap: 12px;
		margin: 10px 8px;
		max-width: none;
		padding: 16px 14px;
		text-align: center;
	}

.tfiber-jobs-no-access--login {
		align-items: center;
	}

.tfiber-jobs-no-access-icon {
		flex-basis: 42px;
		font-size: 24px;
		height: 42px;
		width: 42px;
	}

.tfiber-jobs-no-access h2 {
		font-size: 19px;
		margin-bottom: 6px;
	}

.tfiber-jobs-no-access p {
		font-size: 14px;
		line-height: 1.35;
	}

.tfiber-jobs-no-access span {
		font-size: 12px;
	}

.tfiber-jobs-login-prompt {
		margin-top: 12px;
		width: 100%;
	}

.tfiber-jobs-login-prompt .sls-wrap {
		border-radius: 14px;
		box-sizing: border-box;
		margin-top: 12px;
		padding: 12px;
		width: 100%;
	}

.tfiber-jobs-login-prompt form,
	.tfiber-jobs-login-prompt p,
	.tfiber-jobs-login-prompt label {
		text-align: left;
		width: 100%;
	}

.tfiber-jobs-login-prompt input[type="text"],
	.tfiber-jobs-login-prompt input[type="email"],
	.tfiber-jobs-login-prompt input[type="password"],
	.tfiber-jobs-login-prompt input[type="submit"],
	.tfiber-jobs-login-prompt button,
	.tfiber-jobs-login-link {
		box-sizing: border-box;
		min-height: 42px;
		width: 100%;
	}

.tfiber-jobs-login-prompt input[type="submit"],
	.tfiber-jobs-login-prompt button,
	.tfiber-jobs-login-link {
		text-align: center;
	}

.tfiber-jobs {
		border-radius: 8px;
		margin-left: -8px;
		margin-right: -8px;
		padding: 8px;
	}

.tfiber-jobs-tabs {
		border-radius: 8px;
		gap: 8px;
		padding: 8px;
	}

.tfiber-jobs-tabs.is-fixed {
		padding: 8px;
	}

.tfiber-jobs-tabs-left {
		flex-wrap: nowrap;
		overflow-x: auto;
		order: 1;
		padding-bottom: 2px;
		-webkit-overflow-scrolling: touch;
		width: 100%;
	}

.tfiber-jobs-tab {
		flex: 0 0 auto;
		font-size: 12px;
		padding: 7px 11px;
	}

.tfiber-jobs-tabs-right {
		align-items: stretch;
		flex: 0 0 100%;
		gap: 6px;
		justify-content: flex-start;
		min-width: 0;
		order: 2;
		width: 100%;
	}

.tfiber-jobs-import-notice {
		box-sizing: border-box;
		flex: 0 0 100%;
		justify-content: center;
		margin: 4px auto 0;
		max-width: 360px;
		order: 3;
		text-align: center;
		width: 100%;
	}

.tfiber-jobs-search-wrap {
		box-sizing: border-box;
		flex: 0 0 100%;
		max-width: none;
		min-width: 0;
		width: 100%;
	}

.tfiber-jobs-search {
		min-width: 0;
	}

.tfiber-jobs-toolbar-actions {
		border-radius: 12px;
		box-sizing: border-box;
		flex: 0 0 100%;
		gap: 4px;
		overflow-x: auto;
		padding: 3px;
		-webkit-overflow-scrolling: touch;
		width: 100%;
	}

.tfiber-jobs-toolbar-button {
		flex: 0 0 auto;
		font-size: 11px;
		min-height: 28px;
		padding: 5px 9px;
	}

.tfiber-jobs-undo-button,
	.tfiber-jobs-redo-button {
		min-width: 28px;
		padding: 3px;
	}

	.tfiber-jobs-table-wrap {
		margin-left: -4px;
		margin-right: -4px;
		-webkit-overflow-scrolling: touch;
	}

	.tfiber-jobs-load-more {
		left: var(--tfiber-load-more-center, 50vw);
		position: relative;
		transform: translateX(-50%);
	}

	.tfiber-jobs-load-more-row td {
		text-align: left;
	}

	.tfiber-jobs-horizontal-scroll {
		bottom: 4px;
		height: 22px;
	}

	.tfiber-jobs-history-modal {
		align-items: stretch;
		padding: 8px;
	}

	.tfiber-jobs-drop-history-popover {
		box-shadow: 0 18px 42px rgba(15, 23, 42, 0.38), inset 0 1px 0 rgba(255, 255, 255, 0.18);
		left: 8px !important;
		max-width: none;
		min-width: 0;
		position: fixed;
		right: 8px;
		top: auto !important;
		bottom: 34px;
	}

	.tfiber-jobs-drop-history-popover::before {
		border-bottom: 0;
		border-left: 13px solid transparent;
		border-right: 3px solid transparent;
		border-top: 13px solid rgba(124, 74, 3, 0.92);
		bottom: -14px;
		left: 34px;
		top: auto;
	}

	.tfiber-jobs-drop-history-popover::after {
		border-bottom: 0;
		border-left: 9px solid transparent;
		border-right: 2px solid transparent;
		border-top: 9px solid rgba(244, 163, 64, 0.42);
		bottom: -9px;
		left: 37px;
		top: auto;
	}

	.tfiber-jobs-history-dialog,
	.tfiber-jobs-columns-dialog {
		border-radius: 10px;
		max-height: calc(100vh - 16px);
		width: calc(100vw - 16px);
	}

	#tfiber-jobs-columns-modal {
		align-items: stretch;
		padding: 6px;
	}

	#tfiber-jobs-columns-modal .tfiber-jobs-columns-dialog {
		border-radius: 14px;
		max-height: calc(100dvh - 12px);
		width: calc(100vw - 12px);
	}

	#tfiber-jobs-columns-modal .tfiber-jobs-history-header {
		padding: 11px 12px;
	}

	#tfiber-jobs-columns-modal .tfiber-jobs-history-header strong {
		font-size: 13px;
	}

	#tfiber-jobs-columns-modal .tfiber-jobs-columns-close {
		height: 32px;
		width: 32px;
	}

	.tfiber-jobs-history-body,
	.tfiber-jobs-columns-body {
		max-height: calc(100vh - 126px);
	}

	#tfiber-jobs-columns-modal .tfiber-jobs-columns-body {
		max-height: none;
		padding: 10px;
		-webkit-overflow-scrolling: touch;
	}

	#tfiber-jobs-columns-modal .tfiber-jobs-columns-body > p {
		border-radius: 12px;
		font-size: 12px;
		line-height: 1.35;
		margin-bottom: 10px;
		padding: 9px 10px;
	}

	.tfiber-jobs-history-filters {
		align-items: stretch;
	}

	.tfiber-jobs-history-filters label,
	.tfiber-jobs-history-filters button {
		flex: 1 1 140px;
	}

	.tfiber-jobs-columns-grid {
		display: block;
		margin-bottom: 10px;
	}

	#tfiber-jobs-columns-modal .tfiber-jobs-column-choice {
		flex: 0 0 100%;
		gap: 7px;
		min-height: 38px;
		margin-bottom: 8px;
		padding: 7px 9px;
		width: 100%;
	}

	#tfiber-jobs-columns-modal .tfiber-jobs-column-choice span:last-child {
		font-size: 13px;
	}

	#tfiber-jobs-columns-modal .tfiber-jobs-custom-header-panel {
		border-radius: 12px;
		padding: 10px;
	}

	#tfiber-jobs-columns-modal .tfiber-jobs-custom-header-panel h3 {
		font-size: 13px;
	}

	#tfiber-jobs-columns-modal .tfiber-jobs-custom-header-panel p {
		font-size: 12px;
		line-height: 1.35;
	}

	#tfiber-jobs-columns-modal .tfiber-jobs-custom-header-field {
		margin-top: 8px;
	}

	#tfiber-jobs-columns-modal .tfiber-jobs-custom-header-field input {
		min-height: 36px;
	}

	.tfiber-jobs-columns-actions {
		justify-content: stretch;
	}

	#tfiber-jobs-columns-modal .tfiber-jobs-columns-actions {
		gap: 8px;
		padding: 10px;
	}

	.tfiber-jobs-columns-actions button {
		flex: 1 1 140px;
		min-width: 0;
	}

	#tfiber-jobs-columns-modal .tfiber-jobs-columns-actions button {
		flex: 1 1 calc(50% - 4px);
		font-size: 12px;
		min-height: 40px;
		min-width: 0;
		padding: 8px 10px;
	}
}

@media (max-width: 480px) {
	#tfiber-jobs-columns-modal .tfiber-jobs-columns-actions {
		flex-direction: column;
	}

	#tfiber-jobs-columns-modal .tfiber-jobs-columns-actions button {
		flex: 0 0 auto;
		width: 100%;
	}

	.tfiber-jobs-toolbar-button {
		padding-left: 8px;
		padding-right: 8px;
	}

	.tfiber-jobs-scroll {
		display: none;
	}
}

/* ===== City resolver popup =====
 * Inline non-blocking card pinned above the jobs table when the active
 * MO is a sub-MO (e.g. MO3.1). Listed cities have no rule yet under
 * their parent MO; the operator picks a destination sub-MO and the
 * tfiber_jobs_resolve_city endpoint adds the rule + re-MOs existing
 * tentative-placed rows. Styled deliberately as an "amber notice" so it
 * reads as a soft attention prompt rather than an error.
 */

/* ===== Row resolver popup =====
 * Companion to the city resolver above. Renders one card per un-routable
 * row (sheet_meta.city is NULL/garbled) with one button per known sub-MO
 * of the row's parent family. Same amber palette, but each item has a
 * vertical "address / UUID / scheduled / buttons" stack instead of the
 * single horizontal row used by the city resolver.
 */

/* ============================================================
 * Theme picker (inside columns modal)
 * ============================================================ */

.tfiber-jobs-theme-panel {
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	margin-bottom: 12px;
	padding: 12px;
}

.tfiber-jobs-theme-panel h3 {
	margin: 0 0 4px;
	font-size: 14px;
	font-weight: 800;
	color: #0f172a;
}

.tfiber-jobs-theme-panel > p {
	color: #475569;
	font-size: 12px;
	margin: 0 0 8px;
}

.tfiber-jobs-theme-choices {
	align-items: stretch;
	display: grid;
	gap: 8px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* Both cards lock to the same fixed height so the picker reads as
   a clean even pair regardless of description length, browser
   anti-aliasing, or which card carries the active blue border.
   align-self: stretch is belt-and-suspenders against any host
   theme that overrides the grid's default stretch alignment. */

.tfiber-jobs-theme-choice {
	align-items: center;
	align-self: stretch;
	background: #fff;
	border: 1.5px solid #e2e8f0;
	border-radius: 8px;
	box-sizing: border-box;
	cursor: pointer;
	display: flex;
	gap: 8px;
	height: 72px;
	padding: 10px 12px;
	transition: border-color 0.12s ease, background 0.12s ease;
}

.tfiber-jobs-theme-choice:hover {
	border-color: #cbd5e1;
}

.tfiber-jobs-theme-choice input[type="radio"] {
	margin: 3px 0 0;
}

.tfiber-jobs-theme-choice input[type="radio"]:checked ~ .tfiber-jobs-theme-choice-label {
	color: #0f172a;
}

.tfiber-jobs-theme-choice:has(input[type="radio"]:checked) {
	background: #eff6ff;
	border-color: #3b82f6;
}

.tfiber-jobs-theme-choice-label {
	display: flex;
	flex-direction: column;
	gap: 2px;
	color: #1f2937;
	font-size: 12px;
	line-height: 1.35;
}

.tfiber-jobs-theme-choice-label strong {
	font-size: 13px;
	font-weight: 800;
}

.tfiber-jobs-theme-choice-label em {
	color: #64748b;
	font-size: 11px;
	font-style: normal;
}

.tfiber-jobs-theme-status {
	color: #64748b;
	font-size: 11px;
	margin-top: 6px;
}

.tfiber-jobs-theme-status.is-error {
	color: #b91c1c;
	font-weight: 700;
}

@media (max-width: 900px) {
	.tfiber-jobs-theme-choices {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 600px) {
	.tfiber-jobs-theme-choices {
		grid-template-columns: 1fr;
	}

	.tfiber-jobs-push-job-modal {
		align-items: flex-end;
		padding: 10px;
	}

	.tfiber-jobs-push-job-dialog {
		border-radius: 18px;
		max-width: none;
		padding: 16px;
		width: 100%;
	}

	.tfiber-jobs-push-job-actions {
		flex-direction: column;
		gap: 12px;
	}

	.tfiber-jobs-push-job-actions button {
		flex: 0 0 auto;
		font-size: 15px;
		min-height: 48px;
		padding: 12px 14px;
		width: 100%;
	}
}

/* ============================================================
 * Simplified theme — per-user toggle on .tfiber-jobs[data-theme="simplified"]
 *
 * Goal: same data + columns, just dialed-down chrome. Stamps a
 * notch smaller, flat (no gradients/inner shadows), bright row
 * fills replaced with thin left-border accents, status pill goes
 * neutral with a small colored dot. Sunday banner is kept but
 * stripped of stripes; Today separator stays as a single accent
 * line. Hover behaviour is preserved everywhere.
 *
 * Selectors are scoped by the `data-theme` attribute on the table
 * wrap and the floating fixed-header clone (Simplified only; Simplified Dark uses the dark block below).
 * ============================================================ */

/* --- Stamps & badges: smaller + flat --- */

.tfiber-jobs[data-theme="simplified"] .tfiber-jobs-new-stamp,
.tfiber-jobs[data-theme="simplified"] .tfiber-jobs-pushed-stamp,
.tfiber-jobs[data-theme="simplified"] .tfiber-jobs-no-placeholder-stamp,
.tfiber-jobs[data-theme="simplified"] .tfiber-jobs-completed-placeholder-stamp,
.tfiber-jobs[data-theme="simplified"] .tfiber-jobs-unknown-stamp,
.tfiber-jobs[data-theme="simplified"] .tfiber-jobs-tc-repeat-stamp,
.tfiber-jobs[data-theme="simplified"] .tfiber-jobs-push-stamp {
	box-shadow: none;
	font-size: 9px;
	font-weight: 800;
	letter-spacing: 0.02em;
	line-height: 13px;
}

.tfiber-jobs[data-theme="simplified"] .tfiber-jobs-new-stamp {
	background: #f3f4f6;
	border: 1px solid #cbd5e1;
	color: #334155;
}

.tfiber-jobs[data-theme="simplified"] .tfiber-jobs-push-stamp {
	background: #fffbeb;
	border: 1px solid #d4a155;
	color: #92400e;
}

.tfiber-jobs[data-theme="simplified"] .tfiber-jobs-push-stamp.is-selected {
	background: #fff7e6;
	border: 1px solid #d4a155;
	color: #9a3412;
}

.tfiber-jobs[data-theme="simplified"] .tfiber-jobs-push-stamp.is-error {
	background: #fef2f2;
	border: 1px solid #f87171;
	color: #b91c1c;
}

.tfiber-jobs[data-theme="simplified"] .tfiber-jobs-pushed-stamp {
	background: #fffbeb;
	border: 1px solid #d4a155;
	color: #92400e;
	height: 14px;
	min-width: 14px;
	padding: 0 2px;
}

.tfiber-jobs[data-theme="simplified"] .tfiber-jobs-pushed-stamp svg {
	height: 9px;
	width: 9px;
}

.tfiber-jobs[data-theme="simplified"] .tfiber-jobs-no-placeholder-stamp {
	background: #fef2f2;
	border: 1px solid #ef9a9a;
	color: #b91c1c;
}

.tfiber-jobs[data-theme="simplified"] .tfiber-jobs-unknown-stamp {
	background: #fff7e6;
	border: 1px solid #d4a155;
	color: #92400e;
	height: 14px;
	min-width: 14px;
	padding: 0 3px;
}

.tfiber-jobs[data-theme="simplified"] .tfiber-jobs-tc-repeat-stamp {
	background: #fef2f2;
	border: 1px solid #ef4444;
	box-shadow: none;
	color: #b91c1c;
	font-size: 10px;
	font-weight: 800;
	height: 14px;
	min-width: 14px;
	padding: 0 4px;
}

.tfiber-jobs[data-theme="simplified"] .tfiber-jobs-completed-placeholder-stamp {
	background: #fef2f2;
	border: 1px solid #ef4444;
	color: #b91c1c;
	font-size: 8px;
	height: 14px;
	padding: 0 4px;
}

/* Simplified: slightly tighter right padding when badges use the shared cluster. */

.tfiber-jobs[data-theme="simplified"] .tfiber-jobs-comment-wrap.has-right-stamp-cluster .tfiber-jobs-comment-editable {
	padding-right: max(20px, calc(var(--comment-right-pad, 52px) - 8px));
}

.tfiber-jobs[data-theme="simplified"] .tfiber-jobs-comment-wrap.has-unknown-stamp .tfiber-jobs-comment-editable {
	padding-left: 20px;
}

/* TC + Repeat chips: smaller, lighter. */

.tfiber-jobs[data-theme="simplified"] .tfiber-jobs-tc-stamp {
	background: #f1efea;
	color: #6b3a16;
	font-size: 10px;
	font-weight: 700;
	line-height: 14px;
	min-width: 18px;
	padding: 0 4px;
}

.tfiber-jobs[data-theme="simplified"] .tfiber-jobs-repeat-flag {
	background: #fef2f2;
	color: #991b1b;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.12px;
	padding: 0 4px;
}

/* --- Status pill: flat, neutral background, colored text + thin
       softened border. Operators reported the simplified pills
       still felt "shouty" with the previous saturated borders +
       700 weight, so we drop to 600 weight and pull every accent
       border ~10% lighter so the whole row reads as a soft pastel
       rather than a stack of high-contrast outlines. --- */

.tfiber-jobs[data-theme="simplified"] .tfiber-jobs-status {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	box-shadow: none;
	color: #334155;
	font-weight: 600;
}

.tfiber-jobs[data-theme="simplified"] .tfiber-jobs-status--scheduled {
	background: #fffaf2;
	border-color: #ebd0a1;
	color: #92400e;
}

.tfiber-jobs[data-theme="simplified"] .tfiber-jobs-status--en-route {
	background: #f5f9ff;
	border-color: #b9cdec;
	color: #1d4ed8;
}

.tfiber-jobs[data-theme="simplified"] .tfiber-jobs-status--in-progress {
	background: #f8f5ff;
	border-color: #cdbeea;
	color: #5b21b6;
}

.tfiber-jobs[data-theme="simplified"] .tfiber-jobs-status--installing {
	background: #f0fdfa;
	border-color: #99f6e4;
	color: #0f766e;
}

.tfiber-jobs[data-theme="simplified"] .tfiber-jobs-status--rescheduling {
	background: #fef5f5;
	border-color: #f3bcbc;
	color: #991b1b;
}

.tfiber-jobs[data-theme="simplified"] .tfiber-jobs-status--completed {
	background: #f4faf4;
	border-color: #bcd8c2;
	color: #166534;
}

.tfiber-jobs[data-theme="simplified"] .tfiber-jobs-status--pending {
	background: #f5f9ff;
	border-color: #c4d6ee;
	color: #1e40af;
}

.tfiber-jobs[data-theme="simplified"] .tfiber-jobs-status--cancelled {
	background: #fff5f5;
	border-color: #e6acac;
	color: #991b1b;
}

/* --- State buttons (Bury/Blow/Texted/Confirmed/Located): neutral
       fills, soft borders, normal-bold (600) text. --- */

.tfiber-jobs[data-theme="simplified"] .tfiber-jobs-state-button {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	box-shadow: none;
	color: #334155;
	font-weight: 600;
}

.tfiber-jobs[data-theme="simplified"] .tfiber-jobs-state--none {
	background: #ffffff;
	border-color: #e6acac;
	color: #b91c1c;
}

.tfiber-jobs[data-theme="simplified"] .tfiber-jobs-state--buried,
.tfiber-jobs[data-theme="simplified"] .tfiber-jobs-state--located,
.tfiber-jobs[data-theme="simplified"] .tfiber-jobs-state--texted {
	background: #fffaf2;
	border-color: #ebd0a1;
	color: #92400e;
}

/* --- Yes/No toggles: same softening pass. --- */

.tfiber-jobs[data-theme="simplified"] .tfiber-jobs-toggle {
	box-shadow: none;
	font-weight: 600;
}

.tfiber-jobs[data-theme="simplified"] .tfiber-jobs-toggle--yes {
	background: #f4faf4;
	border-color: #bcd8c2;
	color: #166534;
}

.tfiber-jobs[data-theme="simplified"] .tfiber-jobs-toggle--no {
	background: #fff5f5;
	border-color: #e6acac;
	color: #991b1b;
}

/* Locates alert dot: smaller and slightly muted. */

.tfiber-jobs[data-theme="simplified"] .tfiber-jobs-locates-alert-indicator {
	background: #d97373;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.4);
	font-size: 9px;
	height: 12px;
	line-height: 12px;
	min-width: 12px;
}

/* Sunday: drop the diagonal stripe banner and the bg wash, keep
   only a thin red rail on rows + a flat banner with text. */

.tfiber-jobs[data-theme="simplified"] .tfiber-jobs-day-separator-sunday td,
.tfiber-jobs[data-theme="simplified"] .tfiber-jobs-day-separator-sunday-end td {
	background: #fdf3f4 !important;
	border-top: 1px solid #d97373 !important;
	border-bottom: 1px solid #d97373 !important;
	color: #991b1b;
}

.tfiber-jobs[data-theme="simplified"] .tfiber-jobs-day-separator-sunday-badge {
	background: #fef2f2;
	border: 1px solid #d97373;
	box-shadow: none;
	color: #991b1b;
	font-weight: 800;
	letter-spacing: 0.04em;
}

.tfiber-jobs[data-theme="simplified"] .tfiber-jobs-day-separator-sunday-date {
	color: #991b1b;
}

/* Today separator: drop the loud orange band; keep a thin
   accent-bordered banner with neutral background. */

.tfiber-jobs[data-theme="simplified"] .tfiber-jobs-today-separator td {
	background: #fff8ef !important;
	border-top: 1px solid #d4a155 !important;
	border-bottom: 1px solid #d4a155 !important;
	color: #92400e;
	font-weight: 700;
	padding: 3px 8px;
}

/* Day separator: lighter, no bright cream fill. */

.tfiber-jobs[data-theme="simplified"] .tfiber-jobs-day-separator td {
	background: #f8fafc !important;
	border-top: 1px solid #e2e8f0;
	border-bottom: 1px solid #e2e8f0;
	color: #475569;
}

/* --- Comment highlights: replace background fill with a 3px
       left-border accent on the editable element. --- */

.tfiber-jobs[data-theme="simplified"] .tfiber-jobs-comment-highlight--violet,
.tfiber-jobs[data-theme="simplified"] .tfiber-jobs-comment-highlight--teal,
.tfiber-jobs[data-theme="simplified"] .tfiber-jobs-comment-highlight--magenta,
.tfiber-jobs[data-theme="simplified"] .tfiber-jobs-comment-highlight--slate {
	background: transparent;
}

.tfiber-jobs[data-theme="simplified"] .tfiber-jobs-comment-highlight--violet {
	box-shadow: inset 3px 0 0 0 #a855f7;
}

.tfiber-jobs[data-theme="simplified"] .tfiber-jobs-comment-highlight--teal {
	box-shadow: inset 3px 0 0 0 #14b8a6;
}

.tfiber-jobs[data-theme="simplified"] .tfiber-jobs-comment-highlight--magenta {
	box-shadow: inset 3px 0 0 0 #d946ef;
}

.tfiber-jobs[data-theme="simplified"] .tfiber-jobs-comment-highlight--slate {
	box-shadow: inset 3px 0 0 0 #64748b;
}

/* Nudge text right of the 3px color bar so the leftmost character
   doesn't visually clip into the accent. We only need this when
   the unknown ("?") stamp ISN'T already on the left — that branch
   already gets 20px of left padding which clears the bar. Applies
   to both the static and is-editing states (single selector
   targets the editable element regardless of edit mode). */

.tfiber-jobs[data-theme="simplified"] .tfiber-jobs-comment-wrap:not(.has-unknown-stamp) .tfiber-jobs-comment-highlight--violet,
.tfiber-jobs[data-theme="simplified"] .tfiber-jobs-comment-wrap:not(.has-unknown-stamp) .tfiber-jobs-comment-highlight--teal,
.tfiber-jobs[data-theme="simplified"] .tfiber-jobs-comment-wrap:not(.has-unknown-stamp) .tfiber-jobs-comment-highlight--magenta,
.tfiber-jobs[data-theme="simplified"] .tfiber-jobs-comment-wrap:not(.has-unknown-stamp) .tfiber-jobs-comment-highlight--slate {
	padding-left: 7px;
}

/* While editing, restore a soft tint so the operator can still see
   which highlight they're working with — but keep it well below
   the saturation of the classic theme. */

.tfiber-jobs[data-theme="simplified"] .tfiber-jobs-comment-editable.is-editing.tfiber-jobs-comment-highlight--violet {
	background: #f7eeff !important;
}

.tfiber-jobs[data-theme="simplified"] .tfiber-jobs-comment-editable.is-editing.tfiber-jobs-comment-highlight--teal {
	background: #ecfaf6 !important;
}

.tfiber-jobs[data-theme="simplified"] .tfiber-jobs-comment-editable.is-editing.tfiber-jobs-comment-highlight--magenta {
	background: #fceeff !important;
}

.tfiber-jobs[data-theme="simplified"] .tfiber-jobs-comment-editable.is-editing.tfiber-jobs-comment-highlight--slate {
	background: #eef1f5 !important;
}

/* ============================================================
 * Simplified Dark — simplified treatment + dark palette
 * (data-theme="simplified-dark" on table wrap, fixed header, overlays)
 * ============================================================ */

.tfiber-jobs[data-theme="simplified-dark"],
.tfiber-jobs-fixed-header[data-theme="simplified-dark"],
#tfiber-jobs-filter-menu[data-theme="simplified-dark"],
#tfiber-jobs-history-modal[data-theme="simplified-dark"],
#tfiber-jobs-columns-modal[data-theme="simplified-dark"],
#tfiber-jobs-all-tab-mos-modal[data-theme="simplified-dark"],
#tfiber-jobs-push-job-modal[data-theme="simplified-dark"],
#tfiber-jobs-drop-confirm-modal[data-theme="simplified-dark"] {
	--tfiber-dark-bg: #08101d;
	--tfiber-dark-panel: #0f172a;
	--tfiber-dark-panel-soft: #172132;
	--tfiber-dark-panel-strong: #1d2a3d;
	--tfiber-dark-border: #233247;
	--tfiber-dark-border-strong: #334155;
	--tfiber-dark-text: #e5edf8;
	--tfiber-dark-text-strong: #f8fafc;
	--tfiber-dark-muted: #94a3b8;
	--tfiber-dark-hover: #18283c;
	--tfiber-dark-hover-soft: #132033;
	--tfiber-dark-accent: #f59e0b;
	--tfiber-dark-accent-strong: #ffb454;
}

.tfiber-jobs[data-theme="simplified-dark"] {
	--tfiber-cell-selected-bg: rgba(59, 130, 246, 0.26);
	--tfiber-cell-selected-bg-active: rgba(59, 130, 246, 0.38);
	--tfiber-cell-selected-border: rgba(96, 165, 250, 0.48);
	--tfiber-cell-selected-color: var(--tfiber-dark-text-strong);
	background: var(--tfiber-dark-bg);
	border-color: var(--tfiber-dark-border);
	box-shadow: 0 10px 24px rgba(2, 6, 23, 0.35);
	color: var(--tfiber-dark-text);
}

.tfiber-jobs-fixed-header[data-theme="simplified-dark"] {
	background: var(--tfiber-dark-bg);
}

.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-tabs {
	background: linear-gradient(180deg, rgba(8, 16, 29, 0.96), rgba(15, 23, 42, 0.94));
	border: 1px solid var(--tfiber-dark-border);
	border-radius: 16px;
	box-shadow: 0 14px 34px rgba(2, 6, 23, 0.34);
}

.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-tabs.is-fixed {
	box-shadow: 0 14px 36px rgba(2, 6, 23, 0.54);
}

.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-horizontal-scroll {
	background: rgba(15, 23, 42, 0.96);
	border-color: var(--tfiber-dark-border-strong);
	box-shadow: 0 8px 24px rgba(2, 6, 23, 0.4);
}

.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-tab {
	background: linear-gradient(135deg, #172132, #0f172a);
	border-color: var(--tfiber-dark-border-strong);
	box-shadow: 0 6px 16px rgba(2, 6, 23, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.04);
	color: #dbe7f5;
}

.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-tab:hover {
	background: linear-gradient(135deg, #1d2a3d, #152033);
	box-shadow: 0 10px 22px rgba(2, 6, 23, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-tab.is-active {
	background:
		radial-gradient(circle at 18% 0%, rgba(245, 158, 11, 0.34), transparent 38%),
		linear-gradient(135deg, #0f172a, #1d2a3d 58%, #7c4a03);
	border-color: rgba(245, 158, 11, 0.3);
	box-shadow: 0 12px 28px rgba(2, 6, 23, 0.38), 0 0 0 1px rgba(245, 158, 11, 0.18);
	color: #fff7ed;
}

.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-search-wrap {
	background: var(--tfiber-dark-panel);
	box-shadow: 0 0 0 1px var(--tfiber-dark-border);
}

.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-search-icon,
.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-search,
.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-search::placeholder {
	color: var(--tfiber-dark-muted);
}

.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-search {
	color: var(--tfiber-dark-text);
}

.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-updated {
	color: var(--tfiber-dark-muted);
}

.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-updated.is-updating {
	color: #fbbf24;
}

.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-updated-spinner {
	border-color: #fbbf24;
	border-right-color: transparent;
	opacity: 1;
}

.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-toolbar-actions {
	background: rgba(15, 23, 42, 0.84);
	border-color: var(--tfiber-dark-border-strong);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-toolbar-button {
	border-color: rgba(255, 255, 255, 0.08);
	box-shadow: 0 10px 24px rgba(2, 6, 23, 0.26), inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-undo-button,
.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-redo-button {
	background: linear-gradient(135deg, #172132, #0f172a);
	border-color: var(--tfiber-dark-border-strong);
	color: #dbe7f5;
}

.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-undo-button:hover,
.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-redo-button:hover {
	background: linear-gradient(135deg, #1d2a3d, #152033);
}

.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-undo-button:disabled,
.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-redo-button:disabled,
.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-undo-button.is-unavailable,
.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-redo-button.is-unavailable {
	background: linear-gradient(135deg, #111827, #1e293b);
	border-color: #243244;
	color: #64748b;
}

.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-push-queue-action {
	background: rgba(245, 158, 11, 0.12);
	border-color: rgba(245, 158, 11, 0.26);
	box-shadow: none;
	color: #fed7aa;
}

.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-push-queue-action:hover:not([disabled]),
.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-push-queue-action:focus-visible:not([disabled]) {
	background: rgba(245, 158, 11, 0.2);
	border-color: rgba(245, 158, 11, 0.38);
	color: #ffedd5;
}

.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-push-queue-clear {
	border-color: var(--tfiber-dark-border-strong);
	color: #cbd5e1;
}

.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-row-push-selected > td {
	background: rgba(245, 158, 11, 0.12);
}

.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-table-wrap {
	background: var(--tfiber-dark-bg);
	border-radius: 16px;
}

.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-load-more {
	box-shadow: 0 10px 24px rgba(2, 6, 23, 0.34), inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-message-action {
	box-shadow: 0 10px 22px rgba(124, 45, 18, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.16);
}

.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-comment-editable,
.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-custom-editable,
.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-custom-header-text {
	color: var(--tfiber-dark-text);
}

.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-comment-editable.is-editing::selection,
.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-custom-editable.is-editing::selection {
	background: rgba(96, 165, 250, 0.38);
	color: var(--tfiber-dark-text-strong);
}

.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-cell-retry {
	background: #2a1118;
	border-color: rgba(185, 92, 92, 0.4);
	color: #fecaca;
}

.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-cell-retry:hover {
	background: #3b1520;
}

.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-data-row.is-dragging {
	outline-color: #f59e0b;
}

.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-drag-placeholder td {
	background: rgba(245, 158, 11, 0.12) !important;
	border-color: rgba(245, 158, 11, 0.54) !important;
}

.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-day-separator td {
	background: #111827 !important;
	border-top-color: var(--tfiber-dark-border);
	border-bottom-color: var(--tfiber-dark-border);
	border-left-color: var(--tfiber-dark-border);
	border-right-color: var(--tfiber-dark-border);
	color: #cbd5e1;
}

.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-day-separator-sunday td,
.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-day-separator-sunday-end td {
	background: #221317 !important;
	border-top-color: rgba(185, 92, 92, 0.28) !important;
	border-bottom-color: rgba(185, 92, 92, 0.28) !important;
	color: #fecaca;
}

.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-day-separator-sunday-badge {
	background: #451a1a;
	border-color: rgba(185, 92, 92, 0.3);
	color: #fecaca;
}

.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-day-separator-sunday-date {
	color: #fecaca;
}

/* Comment highlights — left accent, not classic pastel fills */

.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-comment-highlight--violet,
.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-comment-highlight--teal,
.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-comment-highlight--magenta,
.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-comment-highlight--slate {
	background: transparent !important;
	border-color: transparent;
	box-shadow: none;
}

.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-comment-highlight--violet {
	box-shadow: inset 3px 0 0 0 #c084fc;
}

.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-comment-highlight--teal {
	box-shadow: inset 3px 0 0 0 #2dd4bf;
}

.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-comment-highlight--magenta {
	box-shadow: inset 3px 0 0 0 #e879f9;
}

.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-comment-highlight--slate {
	box-shadow: inset 3px 0 0 0 #94a3b8;
}

.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-comment-wrap:not(.has-unknown-stamp) .tfiber-jobs-comment-highlight--violet,
.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-comment-wrap:not(.has-unknown-stamp) .tfiber-jobs-comment-highlight--teal,
.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-comment-wrap:not(.has-unknown-stamp) .tfiber-jobs-comment-highlight--magenta,
.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-comment-wrap:not(.has-unknown-stamp) .tfiber-jobs-comment-highlight--slate {
	padding-left: 7px;
}

.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-comment-highlight-swatch {
	border-color: rgba(226, 232, 240, 0.35);
}

.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-comment-highlight-swatch:hover {
	box-shadow: 0 0 0 2px rgba(148, 163, 184, 0.45);
}

.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-comment-highlight-swatch--clear {
	background:
		linear-gradient(135deg, transparent 42%, #f87171 42%, #f87171 58%, transparent 58%),
		#1e293b;
}

.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-toggle:hover,
.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-state-button:hover,
.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-status:hover {
	filter: brightness(1.04);
}

#tfiber-jobs-filter-menu[data-theme="simplified-dark"] {
	background: #0f172a;
	border-color: var(--tfiber-dark-border-strong);
	box-shadow: 0 18px 42px rgba(2, 6, 23, 0.46);
	color: #e5edf8;
	color-scheme: dark;
}

#tfiber-jobs-filter-menu[data-theme="simplified-dark"] .tfiber-jobs-filter-menu-title,
#tfiber-jobs-filter-menu[data-theme="simplified-dark"] label,
#tfiber-jobs-filter-menu[data-theme="simplified-dark"] .tfiber-jobs-filter-checklist-option,
#tfiber-jobs-filter-menu[data-theme="simplified-dark"] .tfiber-jobs-filter-checklist-option span {
	color: #e5edf8;
}

#tfiber-jobs-filter-menu[data-theme="simplified-dark"] input,
#tfiber-jobs-filter-menu[data-theme="simplified-dark"] select,
#tfiber-jobs-filter-menu[data-theme="simplified-dark"] select option {
	background-color: #111827;
	border-color: var(--tfiber-dark-border-strong);
	color: #e5edf8;
}

#tfiber-jobs-filter-menu[data-theme="simplified-dark"] input::placeholder {
	color: #94a3b8;
}

#tfiber-jobs-filter-menu[data-theme="simplified-dark"] .tfiber-jobs-filter-menu-actions [data-filter-clear] {
	color: #f8fafc;
}

#tfiber-jobs-history-modal[data-theme="simplified-dark"],
#tfiber-jobs-columns-modal[data-theme="simplified-dark"],
#tfiber-jobs-all-tab-mos-modal[data-theme="simplified-dark"] {
	background:
		radial-gradient(circle at 18% 12%, rgba(245, 158, 11, 0.16), transparent 34%),
		radial-gradient(circle at 80% 18%, rgba(59, 130, 246, 0.14), transparent 32%),
		rgba(2, 6, 23, 0.8);
}

#tfiber-jobs-history-modal[data-theme="simplified-dark"] .tfiber-jobs-history-dialog,
#tfiber-jobs-columns-modal[data-theme="simplified-dark"] .tfiber-jobs-columns-dialog,
#tfiber-jobs-all-tab-mos-modal[data-theme="simplified-dark"] .tfiber-jobs-all-tab-mos-dialog {
	background:
		linear-gradient(180deg, rgba(8, 16, 29, 0.98), rgba(15, 23, 42, 0.98)),
		radial-gradient(circle at top left, rgba(245, 158, 11, 0.12), transparent 38%);
	border-color: var(--tfiber-dark-border-strong);
	box-shadow: 0 28px 80px rgba(2, 6, 23, 0.62), inset 0 1px 0 rgba(255, 255, 255, 0.05);
	color: var(--tfiber-dark-text);
}

#tfiber-jobs-history-modal[data-theme="simplified-dark"] .tfiber-jobs-history-body,
#tfiber-jobs-columns-modal[data-theme="simplified-dark"] .tfiber-jobs-columns-body,
#tfiber-jobs-all-tab-mos-modal[data-theme="simplified-dark"] .tfiber-jobs-all-tab-mos-body {
	background: linear-gradient(180deg, #08101d, #0f172a);
	color: var(--tfiber-dark-text);
}

#tfiber-jobs-history-modal[data-theme="simplified-dark"] .tfiber-jobs-history-filters,
#tfiber-jobs-columns-modal[data-theme="simplified-dark"] .tfiber-jobs-columns-actions,
#tfiber-jobs-columns-modal[data-theme="simplified-dark"] .tfiber-jobs-columns-body > p {
	background: linear-gradient(135deg, #111827, #172132);
	border-color: var(--tfiber-dark-border-strong);
	color: var(--tfiber-dark-text);
}

#tfiber-jobs-history-modal[data-theme="simplified-dark"] .tfiber-jobs-history-filters label,
#tfiber-jobs-columns-modal[data-theme="simplified-dark"] .tfiber-jobs-custom-header-panel h3,
#tfiber-jobs-columns-modal[data-theme="simplified-dark"] .tfiber-jobs-theme-panel h3,
#tfiber-jobs-columns-modal[data-theme="simplified-dark"] .tfiber-jobs-theme-choice-label strong,
#tfiber-jobs-columns-modal[data-theme="simplified-dark"] .tfiber-jobs-custom-header-field,
#tfiber-jobs-all-tab-mos-modal[data-theme="simplified-dark"] .tfiber-jobs-all-tab-mo-choice {
	color: var(--tfiber-dark-text-strong);
}

#tfiber-jobs-history-modal[data-theme="simplified-dark"] .tfiber-jobs-history-filters input,
#tfiber-jobs-columns-modal[data-theme="simplified-dark"] .tfiber-jobs-custom-header-field input,
#tfiber-jobs-columns-modal[data-theme="simplified-dark"] .tfiber-jobs-mdu-address-input {
	background: #111827;
	border-color: var(--tfiber-dark-border-strong);
	box-shadow: inset 0 1px 2px rgba(2, 6, 23, 0.4);
	color: var(--tfiber-dark-text);
}

#tfiber-jobs-history-modal[data-theme="simplified-dark"] .tfiber-jobs-history-table th {
	background: linear-gradient(135deg, #1d2a3d, #172132);
	border-color: var(--tfiber-dark-border-strong);
}

#tfiber-jobs-history-modal[data-theme="simplified-dark"] .tfiber-jobs-history-table td {
	background: #0f172a;
	border-color: var(--tfiber-dark-border);
	color: var(--tfiber-dark-text);
}

#tfiber-jobs-history-modal[data-theme="simplified-dark"] .tfiber-jobs-history-table tbody tr:nth-child(even) td {
	background: #111c2b;
}

#tfiber-jobs-history-modal[data-theme="simplified-dark"] .tfiber-jobs-history-table tbody tr:hover td {
	background: #172436;
}

#tfiber-jobs-columns-modal[data-theme="simplified-dark"] .tfiber-jobs-custom-header-panel,
#tfiber-jobs-columns-modal[data-theme="simplified-dark"] .tfiber-jobs-theme-panel,
#tfiber-jobs-columns-modal[data-theme="simplified-dark"] .tfiber-jobs-column-choice,
#tfiber-jobs-all-tab-mos-modal[data-theme="simplified-dark"] .tfiber-jobs-all-tab-mo-choice {
	background: linear-gradient(180deg, #111827, #0f172a);
	border-color: var(--tfiber-dark-border-strong);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
	color: var(--tfiber-dark-text);
}

#tfiber-jobs-columns-modal[data-theme="simplified-dark"] .tfiber-jobs-column-choice:hover,
#tfiber-jobs-all-tab-mos-modal[data-theme="simplified-dark"] .tfiber-jobs-all-tab-mo-choice:hover {
	border-color: rgba(245, 158, 11, 0.42);
	box-shadow: 0 12px 24px rgba(2, 6, 23, 0.26), 0 0 0 3px rgba(245, 158, 11, 0.12);
}

#tfiber-jobs-columns-modal[data-theme="simplified-dark"] .tfiber-jobs-column-choice.is-required {
	background: linear-gradient(180deg, #22160b, #17100b);
	border-color: rgba(245, 158, 11, 0.42);
}

#tfiber-jobs-columns-modal[data-theme="simplified-dark"] .tfiber-jobs-custom-header-panel p,
#tfiber-jobs-columns-modal[data-theme="simplified-dark"] .tfiber-jobs-theme-panel > p,
#tfiber-jobs-columns-modal[data-theme="simplified-dark"] .tfiber-jobs-theme-choice-label em,
#tfiber-jobs-columns-modal[data-theme="simplified-dark"] .tfiber-jobs-mdu-help,
#tfiber-jobs-columns-modal[data-theme="simplified-dark"] .tfiber-jobs-mdu-status,
#tfiber-jobs-columns-modal[data-theme="simplified-dark"] .tfiber-jobs-praxedo-grab-panel > p,
#tfiber-jobs-columns-modal[data-theme="simplified-dark"] .tfiber-jobs-praxedo-result,
#tfiber-jobs-all-tab-mos-modal[data-theme="simplified-dark"] .tfiber-jobs-all-tab-mos-intro {
	color: var(--tfiber-dark-muted);
}

#tfiber-jobs-columns-modal[data-theme="simplified-dark"] .tfiber-jobs-theme-choice {
	background: linear-gradient(180deg, #0f172a, #111827);
	border-color: var(--tfiber-dark-border-strong);
}

#tfiber-jobs-columns-modal[data-theme="simplified-dark"] .tfiber-jobs-theme-choice:has(input[type="radio"]:checked) {
	background: linear-gradient(180deg, #1d2a3d, #172132);
	border-color: rgba(96, 165, 250, 0.54);
	box-shadow: 0 0 0 1px rgba(96, 165, 250, 0.22);
}

#tfiber-jobs-columns-modal[data-theme="simplified-dark"] #tfiber-jobs-columns-modal[data-theme="simplified-dark"] .tfiber-jobs-theme-choice input[type="radio"]:checked ~ .tfiber-jobs-theme-choice-label {
	color: var(--tfiber-dark-text-strong);
}

#tfiber-jobs-columns-modal[data-theme="simplified-dark"] .tfiber-jobs-theme-status {
	color: var(--tfiber-dark-muted);
}

#tfiber-jobs-columns-modal[data-theme="simplified-dark"] .tfiber-jobs-all-tab-mos-actions-inline button,
#tfiber-jobs-columns-modal[data-theme="simplified-dark"] .tfiber-jobs-mdu-add,
#tfiber-jobs-all-tab-mos-modal[data-theme="simplified-dark"] .tfiber-jobs-all-tab-mos-actions-inline button {
	background: #172132;
	border-color: var(--tfiber-dark-border-strong);
	color: var(--tfiber-dark-text);
}

#tfiber-jobs-columns-modal[data-theme="simplified-dark"] .tfiber-jobs-mdu-table-scroll {
	border-color: var(--tfiber-dark-border-strong);
}

#tfiber-jobs-columns-modal[data-theme="simplified-dark"] .tfiber-jobs-mdu-table thead th {
	background: #172132;
	border-bottom-color: var(--tfiber-dark-border);
	color: #e6fffa;
}

#tfiber-jobs-columns-modal[data-theme="simplified-dark"] .tfiber-jobs-mdu-table tbody td {
	border-bottom-color: var(--tfiber-dark-border);
	color: var(--tfiber-dark-text);
}

#tfiber-jobs-columns-modal[data-theme="simplified-dark"] .tfiber-jobs-mdu-remove {
	background: #3b1520;
	border-color: rgba(248, 113, 113, 0.42);
	color: #fecaca;
}

#tfiber-jobs-columns-modal[data-theme="simplified-dark"] .tfiber-jobs-mdu-empty,
#tfiber-jobs-columns-modal[data-theme="simplified-dark"] .tfiber-jobs-columns-mo-note,
#tfiber-jobs-all-tab-mos-modal[data-theme="simplified-dark"] .tfiber-jobs-all-tab-mos-status {
	color: var(--tfiber-dark-muted);
}

#tfiber-jobs-push-job-modal[data-theme="simplified-dark"],
#tfiber-jobs-drop-confirm-modal[data-theme="simplified-dark"] {
	background:
		radial-gradient(circle at 20% 18%, rgba(245, 158, 11, 0.16), transparent 34%),
		rgba(2, 6, 23, 0.82);
}

#tfiber-jobs-push-job-modal[data-theme="simplified-dark"] .tfiber-jobs-push-job-dialog,
#tfiber-jobs-drop-confirm-modal[data-theme="simplified-dark"] .tfiber-jobs-drop-confirm-dialog {
	background:
		linear-gradient(180deg, rgba(8, 16, 29, 0.98), rgba(15, 23, 42, 0.98)),
		radial-gradient(circle at top left, rgba(245, 158, 11, 0.14), transparent 42%);
	border-color: var(--tfiber-dark-border-strong);
	box-shadow: 0 28px 80px rgba(2, 6, 23, 0.66), inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-new-stamp,
.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-push-stamp,
.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-pushed-stamp,
.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-no-placeholder-stamp,
.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-completed-placeholder-stamp,
.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-unknown-stamp,
.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-tc-repeat-stamp,
.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-tc-stamp,
.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-repeat-flag {
	border-width: 1px;
	box-shadow: none;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 13px;
}

.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-new-stamp {
	background: #172132;
	border-color: #475569;
	color: #e2e8f0;
}

.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-push-stamp {
	background: rgba(42, 31, 16, 0.72);
	border-color: rgba(245, 158, 11, 0.42);
	color: #fdba74;
}

.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-pushed-stamp,
.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-unknown-stamp {
	background: #2b1d0c;
	border-color: rgba(245, 158, 11, 0.38);
	color: #fed7aa;
}

.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-push-stamp.is-selected {
	background: linear-gradient(135deg, #f59e0b, #d97706);
	border-color: rgba(255, 237, 213, 0.88);
	box-shadow: 0 0 0 1px rgba(245, 158, 11, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.22);
	color: #1c1917;
	font-weight: 800;
}

.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-push-stamp.is-error {
	background: rgba(127, 29, 29, 0.28);
	border-color: rgba(185, 92, 92, 0.24);
	color: #c9a0a0;
}

.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-push-stamp.is-error.is-selected {
	background: linear-gradient(135deg, #ef4444, #dc2626);
	border-color: rgba(254, 226, 226, 0.78);
	box-shadow: 0 0 0 1px rgba(239, 68, 68, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.18);
	color: #fff;
}

.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-tc-repeat-stamp {
	background: rgba(127, 29, 29, 0.28);
	border-color: rgba(185, 92, 92, 0.24);
	color: #c9a0a0;
}

.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-no-placeholder-stamp {
	background: #1a1518;
	border-color: rgba(185, 92, 92, 0.2);
	color: #a89090;
	font-weight: 600;
	letter-spacing: 0.01em;
}

.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-completed-placeholder-stamp {
	background: rgba(127, 29, 29, 0.28);
	border-color: rgba(185, 92, 92, 0.24);
	color: #c9a0a0;
	font-size: 8px;
	height: 14px;
	padding: 0 4px;
}

.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-tc-stamp {
	background: #1d2a3d;
	border-color: var(--tfiber-dark-border-strong);
	color: #dbe7f5;
}

.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-repeat-flag {
	background: rgba(127, 29, 29, 0.36);
	border: 1px solid rgba(185, 92, 92, 0.28);
	color: #fecaca;
}

/* Status / state / toggle pills — muted like Simplified, not neon outlines */

.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-status,
.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-state-button,
.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-toggle {
	background: #131c2b;
	border: 1px solid var(--tfiber-dark-border-strong);
	border-radius: 6px;
	box-shadow: none;
	color: var(--tfiber-dark-muted);
	font-weight: 600;
}

.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-status--scheduled,
.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-state--buried,
.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-state--located,
.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-state--texted {
	background: rgba(245, 158, 11, 0.22);
	border-color: rgba(180, 135, 70, 0.28);
	color: #d4b078;
}

.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-status--in-progress {
	background: rgba(139, 92, 246, 0.22);
	border-color: rgba(130, 110, 190, 0.28);
	color: #b8a8d4;
}

.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-status--installing {
	background: rgba(20, 184, 166, 0.22);
	border-color: rgba(70, 160, 150, 0.28);
	color: #8ec9bf;
}

.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-status--rescheduling,
.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-status--cancelled,
.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-state--none,
.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-toggle--no {
	background: rgba(127, 29, 29, 0.34);
	border-color: rgba(185, 92, 92, 0.28);
	color: #d4a8a8;
}

.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-locates-alert-indicator {
	box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.8);
}

.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-day-separator td {
	background: #111827 !important;
	border-top-color: var(--tfiber-dark-border);
	border-bottom-color: var(--tfiber-dark-border);
	color: #cbd5e1;
}

.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-today-separator td {
	background: #2b1d0c !important;
	border-top-color: rgba(245, 158, 11, 0.42) !important;
	border-bottom-color: rgba(245, 158, 11, 0.42) !important;
	color: #fed7aa;
}

.tfiber-jobs[data-theme="simplified-dark"] .tfiber-jobs-filter-excluded-separator td {
	background: #1a2230 !important;
	border-top: 3px solid rgba(148, 163, 184, 0.7) !important;
	border-bottom: 2px solid rgba(100, 116, 139, 0.55) !important;
	color: #e2e8f0;
	font-size: 13px;
	min-height: 42px;
	padding: 12px 10px;
}
