/*
 * taxref — design system for the internal screens.
 *
 * Scoped under .taxref so it cannot leak into the Elementor page around it,
 * and so Elementor's resets cannot reach in. Fonts fall back to system stacks:
 * this site already had a CORS failure pulling a font from fonts.gstatic.com,
 * so nothing here depends on a webfont loading.
 */

.taxref {
	--tx-brand: #5b4bd6;
	--tx-brand-2: #7c3aed;
	--tx-grad: linear-gradient(135deg, #5b4bd6 0%, #7c3aed 100%);
	--tx-bar: linear-gradient(to left, #5d4bd8 0%, #3a2e8f 46%, #17122f 100%);
	--tx-bg: #f4f3fb;
	--tx-surface: #fff;
	--tx-ink: #191531;
	--tx-muted: #8e8aa6;
	--tx-line: #ecebf6;
	--tx-line-2: #e2dff2;
	--tx-ok-bg: #e4f6ea;   --tx-ok-fg: #12784a;
	--tx-warn-bg: #fcefd8; --tx-warn-fg: #8a5a08;
	--tx-err-bg: #fdeaea;  --tx-err-fg: #a81c1c;
	--tx-info-bg: #eae9fb; --tx-info-fg: #4f46e5;
	--tx-mute-bg: #f0eff7; --tx-mute-fg: #6f6b86;
	--tx-r: 18px;
	--tx-r-sm: 10px;
	--tx-shadow: 0 1px 2px rgba(25, 21, 49, .04), 0 6px 20px rgba(25, 21, 49, .05);

	direction: rtl;
	text-align: right;
	font-family: Rubik, Heebo, "Segoe UI", system-ui, -apple-system, sans-serif;
	color: var(--tx-ink);
	background: var(--tx-bg);
	font-size: 15px;
	line-height: 1.6;
	border-radius: var(--tx-r);
	padding: 0 0 28px;
	overflow: hidden;
}

.taxref *, .taxref *::before, .taxref *::after { box-sizing: border-box; }

.taxref h1, .taxref h2, .taxref h3, .taxref h4 {
	font-family: inherit; margin: 0; line-height: 1.3; font-weight: 600; color: var(--tx-ink);
}
.taxref a { color: var(--tx-brand); }

/* ============ app bar ============ */
.tx-bar {
	background: var(--tx-bar);
	color: #fff;
	padding: 14px 22px;
	display: flex; align-items: center; gap: 18px; flex-wrap: wrap;
	border-radius: var(--tx-r) var(--tx-r) 0 0;
}
.tx-bar__brand { display: flex; align-items: center; gap: 12px; margin-inline-start: auto; order: 3; }
.tx-bar__logo {
	width: 40px; height: 40px; border-radius: 50%;
	background: #fff; color: var(--tx-brand);
	display: grid; place-items: center; font-weight: 700; font-size: 12px;
	flex: 0 0 auto; overflow: hidden;
}
.tx-bar__logo svg { width: 24px; height: 24px; }
.tx-bar__title { font-size: 15px; font-weight: 600; white-space: nowrap; }

.tx-nav { display: flex; gap: 6px; align-items: center; order: 2; }
.tx-nav__item {
	color: #d7d3f5; background: transparent; border: 0;
	font: inherit; font-size: 14px; cursor: pointer;
	padding: 8px 16px; border-radius: 999px; text-decoration: none;
	white-space: nowrap; transition: background .15s ease, color .15s ease;
}
.tx-nav__item:hover { background: rgba(255,255,255,.12); color: #fff; }
.tx-nav__item.is-on { background: #fff; color: var(--tx-ink); font-weight: 600; }

.tx-bar__search { order: 1; flex: 1 1 220px; max-width: 340px; position: relative; }
.tx-bar__search input {
	width: 100%; font: inherit; font-size: 14px;
	background: rgba(255,255,255,.12);
	border: 1px solid rgba(255,255,255,.18);
	color: #fff; border-radius: 10px; padding: 9px 38px 9px 14px;
}
.tx-bar__search input::placeholder { color: #b9b3e4; }
.tx-bar__search input:focus { outline: 2px solid rgba(255,255,255,.5); outline-offset: 0; }
.tx-bar__search svg { position: absolute; inset-inline-start: 12px; top: 50%; transform: translateY(-50%); width: 16px; height: 16px; opacity: .75; }

.tx-bar__action {
	order: 0; font: inherit; font-size: 14px; font-weight: 500;
	background: #fff; color: var(--tx-ink); border: 0;
	border-radius: 10px; padding: 9px 16px; cursor: pointer; white-space: nowrap;
}
.tx-bar__action:hover { filter: brightness(.96); }

/* ============ page body ============ */
.tx-body { padding: 22px; }
@media (max-width: 700px) { .tx-body { padding: 14px; } }

.tx-card {
	background: var(--tx-surface);
	border: 1px solid var(--tx-line);
	border-radius: var(--tx-r);
	box-shadow: var(--tx-shadow);
}
.tx-card__pad { padding: 20px 22px; }
.tx-card__title { font-size: 16px; font-weight: 600; margin-bottom: 16px; }

/* ============ filter row ============ */
.tx-filters {
	display: flex; align-items: flex-end; gap: 10px; flex-wrap: wrap;
	background: var(--tx-surface);
	border: 1px solid var(--tx-line);
	border-radius: var(--tx-r);
	box-shadow: var(--tx-shadow);
	padding: 14px 16px;
	margin-bottom: 16px;
}
.tx-f { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.tx-f--grow { flex: 1 1 210px; }
.tx-f__label { font-size: 11.5px; color: var(--tx-muted); font-weight: 500; padding-inline-start: 2px; }

.tx-input, .tx-select {
	font: inherit; font-size: 14px; color: inherit;
	background: #fbfaff;
	border: 1px solid var(--tx-line-2);
	border-radius: var(--tx-r-sm);
	padding: 8px 12px; height: 38px; width: 100%;
	min-width: 0;
}
.tx-select { padding-inline-end: 30px; cursor: pointer; }
.tx-input:focus, .tx-select:focus { outline: 2px solid var(--tx-brand); outline-offset: -1px; border-color: transparent; background: #fff; }
.tx-input[type="date"] { min-width: 140px; }

.tx-btn {
	font: inherit; font-size: 14px; font-weight: 500;
	border: 1px solid transparent; border-radius: var(--tx-r-sm);
	padding: 8px 18px; height: 38px; cursor: pointer;
	background: var(--tx-grad); color: #fff; white-space: nowrap;
	display: inline-flex; align-items: center; justify-content: center; gap: 7px;
	transition: filter .15s ease, opacity .15s ease;
}
.tx-btn:hover:not(:disabled) { filter: brightness(1.07); }
.tx-btn:disabled { opacity: .5; cursor: not-allowed; }
.tx-btn--ghost { background: #fff; color: var(--tx-ink); border-color: var(--tx-line-2); }
.tx-btn--ghost:hover:not(:disabled) { background: #faf9ff; filter: none; }
.tx-btn--lg { height: 48px; font-size: 16px; padding: 0 26px; border-radius: 12px; }
.tx-btn--block { width: 100%; }
.tx-btn--sm { height: 32px; font-size: 13px; padding: 0 12px; }

/* column chooser */
.tx-pop { position: relative; }
.tx-pop__menu {
	position: absolute; top: calc(100% + 6px); inset-inline-end: 0;
	background: #fff; border: 1px solid var(--tx-line-2);
	border-radius: 14px; box-shadow: 0 12px 32px rgba(25,21,49,.14);
	padding: 10px; min-width: 230px; z-index: 40;
	max-height: 320px; overflow-y: auto;
}
.tx-pop__menu[hidden] { display: none; }
.tx-check {
	display: flex; align-items: center; gap: 9px;
	padding: 7px 9px; border-radius: 8px; cursor: pointer; font-size: 14px;
}
.tx-check:hover { background: #f6f5fd; }
.tx-check input { accent-color: var(--tx-brand); width: 16px; height: 16px; }

/* ============ table ============ */
.tx-tablewrap {
	background: var(--tx-surface);
	border: 1px solid var(--tx-line);
	border-radius: var(--tx-r);
	box-shadow: var(--tx-shadow);
	overflow-x: auto;
	overflow-y: visible;
	scrollbar-width: thin;
	scrollbar-color: #cfcbe8 transparent;
}
.tx-tablewrap::-webkit-scrollbar { height: 10px; }
.tx-tablewrap::-webkit-scrollbar-track { background: transparent; }
.tx-tablewrap::-webkit-scrollbar-thumb { background: #cfcbe8; border-radius: 999px; border: 3px solid #fff; }
.tx-tablewrap::-webkit-scrollbar-thumb:hover { background: #b6b0dd; }

.tx-table { width: 100%; border-collapse: collapse; }
.tx-table th, .tx-table td {
	padding: 13px 16px; text-align: right;
	border-bottom: 1px solid var(--tx-line);
	white-space: nowrap;
}
.tx-table th {
	font-size: 12px; font-weight: 600; color: var(--tx-muted);
	background: #faf9fe; position: sticky; top: 0; z-index: 2;
}
.tx-table tbody tr { transition: background .12s ease; cursor: pointer; }
.tx-table tbody tr:hover { background: #faf9fe; }
.tx-table tbody tr:last-child td { border-bottom: 0; }
.tx-num { font-variant-numeric: tabular-nums; unicode-bidi: plaintext; }
.tx-note-cell {
	max-width: 260px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
	color: var(--tx-muted); font-size: 13.5px;
}
.tx-note-cell.is-empty { color: #c3bfd6; }

/* ============ pills ============ */
.tx-pill {
	display: inline-flex; align-items: center; gap: 6px;
	padding: 4px 11px; border-radius: 999px;
	font-size: 12.5px; font-weight: 500; white-space: nowrap;
	border: 1px solid transparent;
}
.tx-pill--ok    { background: var(--tx-ok-bg);   color: var(--tx-ok-fg); }
.tx-pill--warn  { background: var(--tx-warn-bg); color: var(--tx-warn-fg); }
.tx-pill--err   { background: var(--tx-err-bg);  color: var(--tx-err-fg); }
.tx-pill--info  { background: var(--tx-info-bg); color: var(--tx-info-fg); }
.tx-pill--brand { background: var(--tx-info-bg); color: var(--tx-info-fg); }
.tx-pill--muted { background: var(--tx-mute-bg); color: var(--tx-mute-fg); }
.tx-pill__dot { width: 7px; height: 7px; border-radius: 50%; background: currentColor; }

.tx-pill--btn { cursor: pointer; border-style: solid; border-color: rgba(0,0,0,.05); }
.tx-pill--btn:hover { filter: brightness(.96); }
.tx-pill--btn::after {
	content: ""; width: 0; height: 0; margin-inline-start: 2px;
	border-inline: 3.5px solid transparent; border-top: 4px solid currentColor; opacity: .6;
}

/* status menu */
.tx-statusmenu {
	position: fixed; background: #fff;
	border: 1px solid var(--tx-line-2); border-radius: 14px;
	box-shadow: 0 14px 40px rgba(25,21,49,.18);
	padding: 8px; z-index: 100000; min-width: 190px;
}
.tx-statusmenu[hidden] { display: none; }
.tx-statusmenu button {
	display: flex; width: 100%; align-items: center; gap: 9px;
	background: none; border: 0; font: inherit; font-size: 14px;
	padding: 8px 10px; border-radius: 9px; cursor: pointer; text-align: right;
}
.tx-statusmenu button:hover { background: #f6f5fd; }

/* ============ pager ============ */
.tx-pager {
	display: flex; gap: 10px; align-items: center; justify-content: center;
	margin-top: 16px; flex-wrap: wrap;
}
.tx-pager__info { color: var(--tx-muted); font-size: 13.5px; }

/* ============ notices / empty / skeleton ============ */
.tx-note {
	border-radius: 12px; padding: 12px 15px; font-size: 14px; margin-bottom: 14px;
	display: flex; align-items: flex-start; gap: 9px;
}
.tx-note--err  { background: var(--tx-err-bg);  color: var(--tx-err-fg);  border: 1px solid #f6cfcf; }
.tx-note--ok   { background: var(--tx-ok-bg);   color: var(--tx-ok-fg);   border: 1px solid #c6e6d4; }
.tx-note--info { background: var(--tx-info-bg); color: var(--tx-info-fg); border: 1px solid #d6d8fb; }
.tx-note--warn { background: var(--tx-warn-bg); color: var(--tx-warn-fg); border: 1px solid #f3ddb4; }

.tx-empty { text-align: center; padding: 56px 18px; color: var(--tx-muted); }
.tx-empty__icon { font-size: 34px; opacity: .35; margin-bottom: 10px; }

.tx-skel {
	background: linear-gradient(90deg, #eeecf7 25%, #f7f6fc 37%, #eeecf7 63%);
	background-size: 400% 100%; animation: tx-shim 1.2s ease-in-out infinite;
	border-radius: 6px; height: 13px;
}
@keyframes tx-shim { 0% { background-position: 100% 50%; } 100% { background-position: 0 50%; } }

/* ============ case card (lead detail) ============ */
.tx-case { display: grid; grid-template-columns: 1.35fr 1fr; gap: 18px; align-items: start; }
@media (max-width: 980px) { .tx-case { grid-template-columns: 1fr; } }

.tx-case__head {
	display: flex; justify-content: space-between; align-items: flex-start;
	gap: 16px; flex-wrap: wrap; margin-bottom: 18px;
}
.tx-case__id { font-size: 12.5px; color: var(--tx-muted); }
.tx-case__name { font-size: 26px; font-weight: 700; margin: 2px 0 8px; }
.tx-case__tags { display: flex; gap: 9px; align-items: center; flex-wrap: wrap; }
.tx-case__actions { display: flex; gap: 9px; flex-wrap: wrap; }

.tx-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 26px; }
@media (max-width: 620px) { .tx-grid2 { grid-template-columns: 1fr; } }
.tx-kv__k { font-size: 12.5px; color: var(--tx-muted); margin-bottom: 3px; }
.tx-kv__v { font-size: 15px; font-weight: 500; word-break: break-word; }
.tx-kv__v.is-empty { color: #c3bfd6; font-weight: 400; }

.tx-sep { border: 0; border-top: 1px solid var(--tx-line); margin: 20px 0; }
.tx-sub { color: var(--tx-brand-2); font-weight: 600; font-size: 14.5px; margin-bottom: 14px; }

/* documents grid */
.tx-docs { display: grid; grid-template-columns: 1fr 1fr; }
@media (max-width: 620px) { .tx-docs { grid-template-columns: 1fr; } }
.tx-doc {
	padding: 16px 20px; border-top: 1px solid var(--tx-line);
	display: flex; flex-direction: column; gap: 8px;
}
.tx-doc:nth-child(odd) { border-inline-start: 1px solid var(--tx-line); }
@media (max-width: 620px) { .tx-doc:nth-child(odd) { border-inline-start: 0; } }
.tx-doc__label { font-size: 12.5px; color: var(--tx-muted); }
.tx-doc__row { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; }
.tx-doc__link { font-size: 13.5px; text-decoration: none; font-weight: 500; }
.tx-doc__link:hover { text-decoration: underline; }

/* progress checklist */
.tx-steps { display: flex; flex-direction: column; gap: 14px; }
.tx-step { display: flex; align-items: center; gap: 11px; font-size: 14.5px; }
.tx-step__mark {
	width: 22px; height: 22px; border-radius: 50%; flex: 0 0 auto;
	display: grid; place-items: center; font-size: 12px; font-weight: 700;
}
.tx-step--done .tx-step__mark { background: #16a35c; color: #fff; }
.tx-step--done { color: var(--tx-ink); }
.tx-step--wait .tx-step__mark { background: transparent; border: 2px solid #e0a940; }
.tx-step--wait { color: var(--tx-warn-fg); }
.tx-step--idle .tx-step__mark { background: transparent; border: 2px solid #dcd9ea; }
.tx-step--idle { color: #b3aec8; }

/* open task card */
.tx-task {
	background: linear-gradient(180deg, #fdf7ec 0%, #fbf3e4 100%);
	border: 1px solid #f0e0c2; border-radius: var(--tx-r); padding: 18px 20px;
}
.tx-task__t { font-weight: 600; margin-bottom: 6px; }
.tx-task__b { font-size: 14px; color: #7a5a1e; }

/* note editor */
.tx-textarea {
	font: inherit; font-size: 14px; width: 100%;
	border: 1px solid var(--tx-line-2); border-radius: 12px;
	padding: 10px 12px; min-height: 92px; resize: vertical; background: #fbfaff;
}
.tx-textarea:focus { outline: 2px solid var(--tx-brand); outline-offset: -1px; border-color: transparent; background: #fff; }

/* ============ signature console ============ */
.tx-wrap { max-width: 980px; margin: 0 auto; }
.tx-center { text-align: center; }

.tx-hero { padding: 26px 22px 6px; text-align: center; }
.tx-hero h2 { font-size: 20px; }
.tx-hero p { color: var(--tx-muted); font-size: 14px; margin: 6px 0 0; }

.tx-searchbig { display: flex; gap: 10px; align-items: stretch; }
.tx-searchbig .tx-input { height: 48px; font-size: 15px; border-radius: 12px; }

.tx-client {
	display: flex; justify-content: space-between; align-items: center;
	gap: 16px; flex-wrap: wrap; padding-bottom: 18px;
	border-bottom: 1px solid var(--tx-line); margin-bottom: 20px;
}
.tx-client__name { font-size: 20px; font-weight: 700; }
.tx-client__meta { font-size: 13px; color: var(--tx-muted); margin-top: 3px; }

.tx-slots { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 760px) { .tx-slots { grid-template-columns: 1fr; } }

.tx-slot { border: 1px solid var(--tx-line); border-radius: 16px; padding: 16px; background: #fff; }
.tx-slot__head { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 14px; }
.tx-slot__name { font-weight: 600; font-size: 14.5px; }

.tx-drop {
	border: 2px dashed var(--tx-line-2); border-radius: 14px;
	background: #fbfaff; padding: 26px 16px; text-align: center;
	display: flex; flex-direction: column; align-items: center; gap: 12px;
	cursor: pointer; transition: border-color .15s ease, background .15s ease;
}
.tx-drop:hover, .tx-drop.is-hot { border-color: var(--tx-brand); background: #f6f4ff; }
.tx-drop__icon {
	width: 54px; height: 54px; border-radius: 50%;
	display: grid; place-items: center; color: #fff; flex: 0 0 auto;
	font-size: 26px; line-height: 1;
}
.tx-drop__icon--add  { background: linear-gradient(135deg, #f97316, #fb923c); }
.tx-drop__icon--done { background: linear-gradient(135deg, #12a150, #34d17d); }
.tx-drop__icon--err  { background: linear-gradient(135deg, #dc2626, #ef4444); }
.tx-drop__msg { font-size: 13.5px; color: var(--tx-muted); }
.tx-drop__msg strong { color: var(--tx-ink); font-weight: 600; }

.tx-foot {
	display: flex; gap: 12px; align-items: center; margin-top: 20px;
}
.tx-foot .tx-btn--lg { flex: 1 1 auto; }
.tx-secure {
	text-align: center; color: var(--tx-muted); font-size: 13px;
	margin-top: 20px; display: flex; align-items: center; justify-content: center; gap: 7px;
}

@media (prefers-reduced-motion: reduce) {
	.tx-skel { animation: none; }
	.taxref * { transition: none !important; }
}

/* ============ eligibility questionnaire ============ */
/* Tokens lifted from the approved mockup (Eligibility Form.dc.html). */

.tx-elig {
	background:
		radial-gradient(800px 460px at 12% -10%, rgba(124,58,237,.13), transparent),
		radial-gradient(650px 500px at 92% 100%, rgba(16,185,129,.11), transparent),
		#f1f0fa;
	padding: 36px 18px 60px;
	display: flex; justify-content: center;
}
.tx-elig__mount { width: 100%; max-width: 600px; }

.tx-elig__brand { display: flex; align-items: center; justify-content: center; gap: 10px; margin-bottom: 22px; }
.tx-elig__logo { width: 34px; height: 34px; object-fit: contain; }
.tx-elig__brandname { font-family: Rubik, Heebo, sans-serif; font-size: 15px; font-weight: 800; }

/* meter */
.tx-elig__meter {
	background: #fff; border: 1px solid rgba(24,21,36,.06); border-radius: 18px;
	padding: 16px 20px; margin-bottom: 18px;
	box-shadow: 0 14px 30px -18px rgba(24,21,36,.18);
	display: flex; align-items: center; gap: 16px;
}
.tx-elig__meter-in { flex: 1; min-width: 0; }
.tx-elig__meter-row { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 6px; gap: 10px; }
.tx-elig__meter-k { font-size: 12.5px; font-weight: 700; color: #544f63; }
.tx-elig__meter-v {
	font-family: Rubik, sans-serif; font-size: 19px; font-weight: 800;
	background: linear-gradient(120deg, #4f46e5, #7c3aed);
	-webkit-background-clip: text; background-clip: text; color: transparent;
}
.tx-elig__track { height: 8px; border-radius: 5px; background: #eeecf9; overflow: hidden; }
.tx-elig__fill { height: 100%; border-radius: 5px; background: linear-gradient(90deg, #4f46e5, #7c3aed, #10b981); transition: width .5s ease; }
.tx-elig__thumb { font-size: 22px; }

/* dots */
.tx-elig__dots { display: flex; align-items: center; gap: 6px; margin-bottom: 16px; flex-wrap: wrap; }
.tx-elig__dot { width: 20px; height: 4px; border-radius: 3px; background: #e4e1f1; }
.tx-elig__dot.is-done { background: #c9c3f0; }
.tx-elig__dot.is-on { background: linear-gradient(90deg, #4f46e5, #7c3aed); }
.tx-elig__stepno { font-size: 11.5px; color: #8b87a3; margin-inline-start: 8px; white-space: nowrap; }

/* card */
.tx-elig__card {
	background: #fff; border: 1px solid rgba(24,21,36,.06); border-radius: 24px;
	padding: 36px 32px; box-shadow: 0 30px 60px -20px rgba(79,70,229,.16);
}
@media (max-width: 560px) { .tx-elig__card { padding: 26px 20px; } }

.tx-elig__eyebrow { font-size: 12px; font-weight: 700; letter-spacing: .03em; margin-bottom: 10px; color: #7c3aed; }
.tx-elig__title { font-family: Rubik, Heebo, sans-serif; font-size: 22px; font-weight: 800; margin: 0 0 8px; line-height: 1.35; }
.tx-elig__sub { font-size: 13.5px; color: #8b87a3; margin: 0 0 22px; line-height: 1.6; }
.tx-elig__done { font-size: 46px; margin-bottom: 10px; }

/* options */
.tx-elig__grid { display: grid; gap: 10px; }
.tx-elig__opt {
	display: flex; flex-direction: column; align-items: center; justify-content: center;
	text-align: center; font: inherit; font-size: 13px; font-weight: 600;
	padding: 14px 8px; border-radius: 12px; cursor: pointer;
	border: 1.5px solid #e4e1f1; background: #fff; color: #544f63;
	transition: all .12s; gap: 6px;
}
.tx-elig__opt:hover { border-color: #c9c3f0; }
.tx-elig__opt.is-on {
	border-color: #4f46e5; background: #eef0ff; color: #181524;
	box-shadow: 0 6px 16px -8px rgba(79,70,229,.4);
}
.tx-elig__opt-icon { font-size: 20px; line-height: 1; }

.tx-elig__checks { display: flex; flex-direction: column; gap: 8px; }
.tx-elig__check {
	display: flex; align-items: center; gap: 10px; text-align: right;
	font: inherit; font-size: 13.5px; font-weight: 500;
	padding: 12px 14px; border-radius: 12px; cursor: pointer;
	border: 1.5px solid #e4e1f1; background: #fff; color: #544f63; transition: all .12s;
}
.tx-elig__check:hover { border-color: #c9c3f0; }
.tx-elig__check.is-on { border-color: #4f46e5; background: #eef0ff; color: #181524; }
.tx-elig__box {
	width: 20px; height: 20px; flex: 0 0 auto; border-radius: 6px;
	border: 1.5px solid #d5d0ea; display: grid; place-items: center;
	font-size: 12px; font-weight: 700; color: #fff; background: #fff;
}
.tx-elig__check.is-on .tx-elig__box { background: #4f46e5; border-color: #4f46e5; }

/* fields */
.tx-elig__field { margin-top: 14px; }
.tx-elig__label { display: block; font-size: 12.5px; color: #544f63; font-weight: 600; margin-bottom: 6px; }
.tx-elig .tx-input, .tx-elig .tx-select { height: 44px; border-radius: 12px; font-size: 15px; }

.tx-elig__sig { border: 1.5px dashed #d5d0ea; border-radius: 14px; background: #fbfaff; overflow: hidden; }
.tx-elig__canvas { display: block; width: 100%; height: 170px; touch-action: none; cursor: crosshair; }

.tx-elig__consent {
	display: flex; align-items: flex-start; gap: 9px; margin-top: 16px;
	font-size: 12.5px; color: #544f63; line-height: 1.6; cursor: pointer;
}
.tx-elig__consent input { margin-top: 3px; width: 17px; height: 17px; accent-color: #4f46e5; flex: 0 0 auto; }

.tx-elig__nav { display: flex; gap: 10px; margin-top: 26px; }
.tx-elig__nav .tx-btn--lg { flex: 1; }

/* ============ whatsapp drip ============ */
/* Structure taken from the automation dashboard's WhatsApp block only —
   rate control, send batches, template and delivery stats. Rendered in this
   project's own design system rather than that product's palette. */

.tx-dripstats {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	gap: 12px; margin-bottom: 16px;
}
.tx-stat {
	background: var(--tx-surface); border: 1px solid var(--tx-line);
	border-radius: var(--tx-r); padding: 16px 18px; box-shadow: var(--tx-shadow);
}
.tx-stat__v { font-family: Rubik, sans-serif; font-size: 26px; font-weight: 700; font-variant-numeric: tabular-nums; }
.tx-stat__v.is-warn { color: var(--tx-warn-fg); }
.tx-stat__v.is-err { color: var(--tx-err-fg); }
.tx-stat__k { font-size: 12.5px; color: var(--tx-muted); margin-top: 3px; }

.tx-dripgrid { display: grid; grid-template-columns: 1fr 1.25fr; gap: 16px; align-items: start; margin-bottom: 16px; }
@media (max-width: 900px) { .tx-dripgrid { grid-template-columns: 1fr; } }

.tx-kvrow { display: flex; justify-content: space-between; gap: 12px; padding: 9px 0; font-size: 13.5px; }
.tx-kvrow + .tx-kvrow { border-top: 1px dashed var(--tx-line); }
.tx-kvrow__k { color: var(--tx-muted); }
.tx-kvrow__v { font-weight: 600; font-variant-numeric: tabular-nums; }

.tx-queue__head { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 14px; }
.tx-queue__head .tx-card__title { margin: 0; }
.tx-queue__tabs { display: flex; gap: 4px; flex-wrap: wrap; }
.tx-queue__tabs .tx-nav__item { font-size: 13px; padding: 6px 13px; }
.tx-queue__bar { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 14px; padding-bottom: 14px; border-bottom: 1px solid var(--tx-line); }

.tx-msgs { display: flex; flex-direction: column; gap: 12px; }
.tx-msg {
	border: 1px solid var(--tx-line-2); border-radius: 14px;
	padding: 14px 16px; background: #fbfaff; transition: border-color .12s, background .12s;
}
.tx-msg.is-sel { border-color: var(--tx-brand); background: #f6f4ff; }
.tx-msg__top { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 10px; }
.tx-msg__cb { width: 17px; height: 17px; accent-color: var(--tx-brand); flex: 0 0 auto; }
.tx-msg__who { display: flex; align-items: baseline; gap: 9px; flex: 1 1 auto; min-width: 0; }
.tx-msg__name { font-weight: 600; }
.tx-msg__phone { font-size: 12.5px; color: var(--tx-muted); font-variant-numeric: tabular-nums; unicode-bidi: plaintext; }
.tx-msg__meta { display: flex; align-items: center; gap: 8px; }
.tx-msg__when { font-size: 12.5px; color: var(--tx-muted); font-variant-numeric: tabular-nums; }
.tx-msg__body { min-height: 78px; background: #fff; }
.tx-msg__ro { font-size: 14px; line-height: 1.65; white-space: pre-wrap; background: #fff; border: 1px solid var(--tx-line); border-radius: 10px; padding: 10px 12px; }

/* ---- eligibility: intro pair, avatar, final score, secure footer ---- */
.tx-elig__pair { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 14px; }
@media (max-width: 520px) { .tx-elig__pair { grid-template-columns: 1fr; } }
.tx-elig__pair .tx-elig__field { margin-top: 0; }

.tx-elig__avatar {
	width: 48px; height: 48px; border-radius: 50%; overflow: hidden; flex-shrink: 0;
	border: 2px solid #e9e4ff; background: #eef0ff;
	display: flex; align-items: center; justify-content: center;
}
.tx-elig__avatar img { width: 100%; height: 100%; object-fit: cover; }

.tx-elig__score { margin: 18px 0 6px; }
.tx-elig__score-v {
	font-family: Rubik, sans-serif; font-size: 46px; font-weight: 800; line-height: 1;
	background: linear-gradient(120deg, #4f46e5, #7c3aed, #10b981);
	-webkit-background-clip: text; background-clip: text; color: transparent;
}
.tx-elig__score-k { font-size: 13px; color: #8b87a3; margin-top: 6px; }

.tx-elig__fine { font-size: 11.5px; color: #a09bb5; line-height: 1.6; margin-top: 14px; }

.tx-elig__secure {
	display: flex; align-items: center; justify-content: center; gap: 8px;
	margin-top: 20px; font-size: 12.5px; color: #8b87a3;
}
.tx-elig__lock { font-size: 15px; }

/* ---- drip: settings grid ---- */
.tx-setgrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 12px 16px; margin-bottom: 14px; }
.tx-setgrid .tx-f__label { font-size: 11.5px; }

/* ---- drip: test-send box ---- */
.tx-testbox {
	margin-top: 18px; padding: 18px 20px;
	border: 1px solid var(--tx-line-2); border-radius: 16px;
	background: linear-gradient(180deg, #faf9ff 0%, #f5f3ff 100%);
}
.tx-testbox .tx-card__title { margin-bottom: 10px; }

/* ---- leads: direct-contact icons ---- */
.tx-contact { display: flex; gap: 6px; align-items: center; }
.tx-ic {
	width: 30px; height: 30px; border-radius: 9px;
	display: grid; place-items: center; font-size: 15px;
	text-decoration: none; border: 1px solid var(--tx-line-2);
	background: #fff; transition: transform .1s ease, border-color .12s;
}
.tx-ic:hover { transform: translateY(-1px); }
.tx-ic--wa { border-color: #bfe7c8; background: #eefaf1; }
.tx-ic--tel { border-color: #d7d3f5; background: #f4f3fd; }
.tx-ic--mail { border-color: #e2dff2; background: #fbfaff; }

/* ---- status / stage palette ----
   Grouped so the eye sorts before it reads: every "בטיפול" is one purple,
   every dead end is red or near-black, and the pipeline runs
   grey → yellow → cyan → orange → blue → green → dark green. */
.tx-pill--grey        { background: #eceaf3; color: #4c4860; }
.tx-pill--yellow      { background: #fdf3d0; color: #7a5a06; }
.tx-pill--cyan        { background: #d8f2fb; color: #0b5f7a; }
.tx-pill--orange      { background: #fde5cf; color: #8a4708; }
.tx-pill--blue        { background: #dbe7fd; color: #1c4587; }
.tx-pill--green       { background: #d9f5e2; color: #10673c; }
.tx-pill--greendark   { background: #b6e3c6; color: #0a4527; }
.tx-pill--teal        { background: #d3f2ee; color: #0a5e57; }
.tx-pill--purple      { background: #e6e1fb; color: #47338f; }
.tx-pill--purplelight { background: #f1ecfd; color: #6b53c4; }
.tx-pill--redlight    { background: #fde4e0; color: #a33a20; }
.tx-pill--red         { background: #fbd5d5; color: #96140f; }
.tx-pill--black       { background: #dedbe6; color: #26232e; }

/* the dropdown rows carry the same fill, so picking is visual not textual */
.tx-statusmenu button { background: transparent; }
.tx-statusmenu .tx-mrow {
	display: flex; align-items: center; gap: 8px; width: 100%;
	padding: 9px 12px; border-radius: 9px; font-weight: 500;
}
.tx-statusmenu button:hover .tx-mrow { filter: brightness(.95); }
.tx-statusmenu button.is-current .tx-mrow { outline: 2px solid var(--tx-brand); outline-offset: 1px; }
.tx-statusmenu .tx-mrow .tx-pill__dot { opacity: .7; }

/* ---- signature: prominent signed-document link ---- */
.tx-slot__links {
	display: flex; flex-direction: column; gap: 10px;
	align-items: center; margin-top: 4px;
}
.tx-signlink {
	width: 100%; max-width: 340px; text-decoration: none;
	box-shadow: 0 10px 24px -10px rgba(79,70,229,.6);
}
.tx-signlink span { font-size: 15px; font-weight: 600; }
.tx-signlink__dl { font-size: 14px; font-weight: 600; }

/* ---- leads: whole-row tint by SIGNING CHANNEL ----
   The colour says who signed through which door, so an agent can tell at a
   glance which team touched the file:
     green  = signed on the public site questionnaire (/zacaot_form/)
     yellow = signed on the office form the agent sends (/agentmakrfiles/)
     orange = signed via the signature-assignment console (/sigafilliate/)
     none   = not signed yet (a plain "new" lead)
   Hover rules carry higher specificity so they win over the neutral
   tbody tr:hover. */
.tx-table tbody tr.tx-row--ch-website           { background: #e8f6ec; }
.tx-table tbody tr.tx-row--ch-website:hover      { background: #d7eede; }
.tx-table tbody tr.tx-row--ch-agentform          { background: #fefadf; }
.tx-table tbody tr.tx-row--ch-agentform:hover    { background: #fbf3c8; }
.tx-table tbody tr.tx-row--ch-sigafilliate       { background: #fdecd8; }
.tx-table tbody tr.tx-row--ch-sigafilliate:hover { background: #fadfc0; }
.tx-table tbody tr.tx-row--ch-none               { background: #fff; }
.tx-table tbody tr.tx-row--ch-none:hover         { background: #f5f6f8; }

/* ---- leads: channel colour legend ---- */
.tx-legend {
	display: flex; flex-wrap: wrap; gap: 8px 18px;
	align-items: center;
	margin: 2px 2px 12px;
	font-size: 13px; color: #55606e;
}
.tx-legend__item { display: inline-flex; align-items: center; gap: 7px; }
.tx-legend__sw {
	width: 15px; height: 15px; border-radius: 4px;
	border: 1px solid rgba(0,0,0,.12); flex: 0 0 auto;
}
.tx-legend__sw--website      { background: #e8f6ec; }
.tx-legend__sw--agentform    { background: #fefadf; }
.tx-legend__sw--sigafilliate { background: #fdecd8; }
.tx-legend__sw--none         { background: #fff; }
