/* Uncharted Vision Lead Agent — frontend dashboard.
   Palette taken from nautical charts: deep sounding navy, cool chart paper,
   shallow-water tint, and chart magenta for the leads to pursue now. */

:root {
	--uv-ink: #14283c;
	--uv-ink-2: #1d3a55;
	--uv-paper: #f3f6f8;
	--uv-surface: #ffffff;
	--uv-shoal: #e4eef3;
	--uv-line: #d7e1e8;
	--uv-text: #14283c;
	--uv-muted: #567084;
	--uv-faint: #8a9fae;
	--uv-accent: #b5179e;
	--uv-accent-ink: #ffffff;
	--uv-amber: #a96400;
	--uv-review: #3f6e8c;
	--uv-green: #2a7448;
	--uv-red: #b3261e;
	--uv-side-text: #e6eef4;
	--uv-side-muted: #9fb6c7;
	--uv-radius: 8px;
	--uv-radius-lg: 14px;
	--uv-shadow: 0 1px 0 rgba(20, 40, 60, .04), 0 10px 30px -14px rgba(20, 40, 60, .22);
	--uv-font: "Archivo", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--uv-serif: "Newsreader", "Iowan Old Style", "Palatino Linotype", Georgia, serif;
	--uv-contours: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='520' height='520' viewBox='0 0 520 520' fill='none' stroke='%23ffffff' stroke-opacity='.075' stroke-width='1.2'%3E%3Cpath d='M260 52c96 0 176 46 188 128s-36 140-106 176-176 36-236-12S64 212 100 142 164 52 260 52z'/%3E%3Cpath d='M260 92c74 0 138 36 147 100s-28 108-82 136-138 28-184-10-56-104-28-158 73-68 147-68z'/%3E%3Cpath d='M260 132c54 0 100 26 107 72s-20 78-60 98-100 20-134-6-40-76-20-114 53-50 107-50z'/%3E%3Cpath d='M260 172c34 0 62 16 66 44s-12 48-36 60-62 12-84-4-26-46-12-70 32-30 66-30z'/%3E%3Cpath d='M260 212c15 0 28 8 30 21s-6 22-17 27-28 6-38-2-12-21-5-32 15-14 30-14z'/%3E%3C/svg%3E");
}

@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) {
		--uv-ink: #08131d;
		--uv-ink-2: #12263a;
		--uv-paper: #0c1a26;
		--uv-surface: #122436;
		--uv-shoal: #193247;
		--uv-line: #233e56;
		--uv-text: #e3ecf2;
		--uv-muted: #9ab0c1;
		--uv-faint: #6c8699;
		--uv-accent: #e04ec9;
		--uv-accent-ink: #1a0716;
		--uv-amber: #f0a43a;
		--uv-review: #86b6d6;
		--uv-green: #5cc28a;
		--uv-red: #ff8a80;
		--uv-shadow: 0 1px 0 rgba(0, 0, 0, .2), 0 14px 34px -16px rgba(0, 0, 0, .6);
	}
}

:root[data-theme="dark"] {
	--uv-ink: #08131d;
	--uv-ink-2: #12263a;
	--uv-paper: #0c1a26;
	--uv-surface: #122436;
	--uv-shoal: #193247;
	--uv-line: #233e56;
	--uv-text: #e3ecf2;
	--uv-muted: #9ab0c1;
	--uv-faint: #6c8699;
	--uv-accent: #e04ec9;
	--uv-accent-ink: #1a0716;
	--uv-amber: #f0a43a;
	--uv-review: #86b6d6;
	--uv-green: #5cc28a;
	--uv-red: #ff8a80;
	--uv-shadow: 0 1px 0 rgba(0, 0, 0, .2), 0 14px 34px -16px rgba(0, 0, 0, .6);
}

/* ---------- Base ---------- */

.uvla-body {
	margin: 0;
	background: var(--uv-paper);
	color: var(--uv-text);
	font-family: var(--uv-font);
	font-size: 15px;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
}

.uvla-app,
.uvla-gate {
	font-family: var(--uv-font);
	color: var(--uv-text);
	box-sizing: border-box;
}

.uvla-app *,
.uvla-app *::before,
.uvla-app *::after,
.uvla-gate *,
.uvla-gate *::before,
.uvla-gate *::after {
	box-sizing: border-box;
}

:where(.uvla-app) :where(button, input, select, textarea) {
	font: inherit;
	color: inherit;
}

:where(.uvla-app) :where(a) {
	color: inherit;
}

.uvla-app [hidden],
.uvla-gate [hidden] {
	display: none !important;
}

.uvla-app :focus-visible,
.uvla-gate :focus-visible {
	outline: 2px solid var(--uv-accent);
	outline-offset: 2px;
}

.uvla-noscript {
	padding: 40px;
	text-align: center;
}

.uvla-sr {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

/* Brand mark: compass with a magenta needle. */
.uvla-mark {
	display: inline-block;
	width: 36px;
	height: 36px;
	flex: none;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Ccircle cx='20' cy='20' r='19' fill='%2314283C'/%3E%3Ccircle cx='20' cy='20' r='13.5' fill='none' stroke='%23ffffff' stroke-opacity='.35'/%3E%3Cpath d='M20 6l4.2 14h-8.4z' fill='%23E04EC9'/%3E%3Cpath d='M20 34l-4.2-14h8.4z' fill='%23ffffff'/%3E%3Ccircle cx='20' cy='20' r='2.2' fill='%2314283C' stroke='%23ffffff' stroke-width='1.2'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* ---------- Shell ---------- */

.uvla-shell {
	display: grid;
	grid-template-columns: 252px minmax(0, 1fr);
	min-height: 100vh;
}

.uvla-embedded .uvla-shell {
	min-height: 80vh;
	border-radius: var(--uv-radius-lg);
	overflow: hidden;
	border: 1px solid var(--uv-line);
	background: var(--uv-paper);
}

.uvla-side {
	position: sticky;
	top: 0;
	height: 100vh;
	display: flex;
	flex-direction: column;
	gap: 22px;
	padding: 22px 14px 18px;
	background-color: var(--uv-ink);
	background-image: var(--uv-contours);
	background-repeat: no-repeat;
	background-position: -170px calc(100% + 150px);
	background-size: 560px;
	color: var(--uv-side-text);
	overflow-y: auto;
}

.uvla-embedded .uvla-side {
	height: auto;
	min-height: 100%;
}

.uvla-brand {
	display: flex;
	align-items: center;
	gap: 11px;
	padding: 0 8px;
	text-decoration: none;
}

.uvla-brand img {
	width: 36px;
	height: 36px;
	border-radius: 9px;
	object-fit: cover;
}

.uvla-brand__name {
	font-family: var(--uv-serif);
	font-size: 19px;
	line-height: 1.1;
	font-weight: 600;
	color: #fff;
}

.uvla-brand__tagline {
	font-size: 12.5px;
	color: var(--uv-side-muted);
}

.uvla-nav {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.uvla-nav__label {
	padding: 0 10px 6px;
	font-size: 12px;
	color: var(--uv-side-muted);
}

.uvla-nav__item {
	display: flex;
	align-items: center;
	gap: 10px;
	width: 100%;
	padding: 8px 10px;
	border: 0;
	border-radius: 7px;
	background: none;
	color: var(--uv-side-text);
	text-align: left;
	text-decoration: none;
	font-size: 14.5px;
	cursor: pointer;
}

.uvla-nav__item:hover {
	background: rgba(255, 255, 255, .06);
}

.uvla-nav__item.is-current {
	background: rgba(255, 255, 255, .11);
	color: #fff;
	font-weight: 600;
}

.uvla-nav__swatch {
	width: 4px;
	height: 18px;
	border-radius: 2px;
	background: var(--cat, var(--uv-side-muted));
	flex: none;
}

.uvla-nav__text {
	flex: 1;
	min-width: 0;
	line-height: 1.3;
}

.uvla-nav__count {
	font-size: 12.5px;
	font-variant-numeric: tabular-nums;
	color: var(--uv-side-muted);
}

.uvla-nav__hot {
	min-width: 20px;
	padding: 0 6px;
	border-radius: 10px;
	background: var(--uv-accent);
	color: var(--uv-accent-ink);
	font-size: 11.5px;
	font-weight: 700;
	line-height: 18px;
	text-align: center;
}

.uvla-side__foot {
	margin-top: auto;
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 12px 10px 0;
	border-top: 1px solid rgba(255, 255, 255, .1);
	font-size: 13px;
}

.uvla-user {
	display: flex;
	align-items: center;
	gap: 9px;
}

.uvla-user img {
	width: 28px;
	height: 28px;
	border-radius: 50%;
}

.uvla-side__links {
	display: flex;
	gap: 14px;
	flex-wrap: wrap;
}

.uvla-side__links a {
	color: var(--uv-side-muted);
	text-decoration: none;
}

.uvla-side__links a:hover {
	color: #fff;
	text-decoration: underline;
}

.uvla-main {
	min-width: 0;
	padding: 26px clamp(16px, 3vw, 40px) 60px;
}

/* ---------- Header ---------- */

.uvla-top {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	flex-wrap: wrap;
	margin-bottom: 22px;
}

.uvla-icon-btn.uvla-top__menu {
	display: none;
	margin-bottom: 12px;
}

.uvla-title {
	margin: 0;
	font-family: var(--uv-serif);
	font-size: clamp(26px, 3vw, 34px);
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: -.01em;
}

.uvla-summary {
	margin: 6px 0 0;
	max-width: 70ch;
	color: var(--uv-muted);
	font-size: 14.5px;
}

.uvla-summary strong {
	color: var(--uv-text);
	font-weight: 600;
}

.uvla-tools {
	display: flex;
	align-items: center;
	gap: 8px;
}

.uvla-search {
	position: relative;
}

.uvla-search input {
	width: min(300px, 60vw);
	height: 38px;
	padding: 0 12px 0 34px;
	border: 1px solid var(--uv-line);
	border-radius: var(--uv-radius);
	background: var(--uv-surface);
}

.uvla-search svg {
	position: absolute;
	left: 11px;
	top: 11px;
	width: 16px;
	height: 16px;
	color: var(--uv-faint);
}

.uvla-icon-btn {
	display: inline-grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border: 1px solid var(--uv-line);
	border-radius: var(--uv-radius);
	background: var(--uv-surface);
	cursor: pointer;
}

.uvla-icon-btn svg {
	width: 17px;
	height: 17px;
}

.uvla-icon-btn:hover {
	background: var(--uv-shoal);
}

.uvla-live {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 10px;
	padding: 5px 11px 5px 9px;
	border-radius: 999px;
	background: var(--uv-shoal);
	color: var(--uv-text);
	font-size: 13px;
}

.uvla-live__dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--uv-accent);
	animation: uvla-pulse 1.6s ease-in-out infinite;
}

@keyframes uvla-pulse {
	50% { opacity: .3; }
}

/* ---------- Signal tickets (pursue now) ---------- */

.uvla-tickets {
	margin: 0 0 26px;
}

.uvla-tickets__head {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 2px 10px;
	margin: 0 0 10px;
}

.uvla-tickets__head h2 {
	margin: 0;
	font-size: 15px;
	font-weight: 650;
}

.uvla-tickets__head span {
	color: var(--uv-muted);
	font-size: 13.5px;
}

.uvla-ticket-row {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 14px;
}

.uvla-ticket {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 88px;
	border: 1px solid var(--uv-line);
	border-radius: var(--uv-radius-lg);
	background: var(--uv-surface);
	box-shadow: var(--uv-shadow);
	text-align: left;
	cursor: pointer;
	scroll-snap-align: start;
	overflow: hidden;
	padding: 0;
}

.uvla-ticket:hover {
	border-color: color-mix(in srgb, var(--uv-accent) 45%, var(--uv-line));
}

.uvla-ticket__body {
	padding: 14px 16px 14px 18px;
	min-width: 0;
	border-left: 4px solid var(--uv-accent);
}

.uvla-ticket__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 2px 10px;
	align-items: center;
	font-size: 12.5px;
	color: var(--uv-muted);
}

.uvla-ticket__company {
	margin: 4px 0 4px;
	font-family: var(--uv-serif);
	font-size: 21px;
	font-weight: 500;
	line-height: 1.15;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.uvla-ticket__signal {
	margin: 0;
	color: var(--uv-muted);
	font-size: 13.5px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.uvla-ticket__stub {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
	border-left: 2px dashed var(--uv-line);
	background: color-mix(in srgb, var(--uv-accent) 6%, var(--uv-surface));
}

.uvla-ticket__score {
	font-size: 30px;
	font-weight: 750;
	font-variant-numeric: tabular-nums;
	color: var(--uv-accent);
	line-height: 1;
}

.uvla-ticket::before,
.uvla-ticket::after {
	content: "";
	position: absolute;
	right: 81px;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: var(--uv-paper);
	border: 1px solid var(--uv-line);
}

.uvla-ticket::before {
	top: -8px;
}

.uvla-ticket::after {
	bottom: -8px;
}

/* ---------- Filters ---------- */

.uvla-filters {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	margin: 0 0 12px;
}

.uvla-seg {
	display: inline-flex;
	padding: 3px;
	border: 1px solid var(--uv-line);
	border-radius: 9px;
	background: var(--uv-surface);
}

.uvla-seg button {
	padding: 5px 11px;
	border: 0;
	border-radius: 6px;
	background: none;
	font-size: 13.5px;
	cursor: pointer;
	white-space: nowrap;
}

.uvla-seg button.is-on {
	background: var(--uv-ink);
	color: #fff;
}

:root[data-theme="dark"] .uvla-seg button.is-on {
	background: var(--uv-shoal);
}

@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) .uvla-seg button.is-on {
		background: var(--uv-shoal);
	}
}

.uvla-select {
	height: 36px;
	padding: 0 30px 0 11px;
	border: 1px solid var(--uv-line);
	border-radius: var(--uv-radius);
	background: var(--uv-surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 4.5l3 3 3-3' fill='none' stroke='%23567084' stroke-width='1.5'/%3E%3C/svg%3E") right 10px center / 12px no-repeat;
	font-size: 13.5px;
	appearance: none;
	cursor: pointer;
}

.uvla-filters__spacer {
	flex: 1;
}

.uvla-btn {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	height: 36px;
	padding: 0 14px;
	border: 1px solid var(--uv-line);
	border-radius: var(--uv-radius);
	background: var(--uv-surface);
	font-size: 13.5px;
	font-weight: 550;
	text-decoration: none;
	cursor: pointer;
	white-space: nowrap;
}

.uvla-btn:hover {
	background: var(--uv-shoal);
}

.uvla-btn svg {
	width: 15px;
	height: 15px;
}

.uvla-btn--primary {
	border-color: var(--uv-accent);
	background: var(--uv-accent);
	color: var(--uv-accent-ink);
}

.uvla-btn--primary:hover {
	background: color-mix(in srgb, var(--uv-accent) 86%, #000);
}

.uvla-btn--small {
	height: 30px;
	padding: 0 10px;
	font-size: 13px;
}

.uvla-btn[disabled] {
	opacity: .55;
	cursor: default;
}

.uvla-chipline {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	margin: 0 0 12px;
}

.uvla-chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 2px 9px;
	border-radius: 999px;
	background: var(--uv-shoal);
	font-size: 12.5px;
	line-height: 1.6;
	white-space: nowrap;
}

.uvla-chip--cat::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 2px;
	background: var(--cat);
}

.uvla-chip button {
	border: 0;
	background: none;
	padding: 0;
	cursor: pointer;
	color: var(--uv-muted);
	font-size: 15px;
	line-height: 1;
}

/* ---------- Lead table ---------- */

.uvla-panel {
	border: 1px solid var(--uv-line);
	border-radius: var(--uv-radius-lg);
	background: var(--uv-surface);
	overflow: hidden;
}

.uvla-table {
	width: 100%;
	border-collapse: collapse;
	font-stretch: 94%;
}

.uvla-table th {
	padding: 10px 14px;
	border-bottom: 1px solid var(--uv-line);
	color: var(--uv-muted);
	font-size: 12.5px;
	font-weight: 600;
	text-align: left;
	white-space: nowrap;
	background: color-mix(in srgb, var(--uv-shoal) 45%, var(--uv-surface));
}

.uvla-row {
	cursor: pointer;
}

.uvla-row td {
	padding: 13px 14px;
	border-bottom: 1px solid var(--uv-line);
	vertical-align: top;
	font-size: 14px;
}

.uvla-row:last-child td {
	border-bottom: 0;
}

.uvla-row:hover td,
.uvla-row:focus td {
	background: color-mix(in srgb, var(--uv-shoal) 55%, transparent);
}

.uvla-row:focus {
	outline: none;
}

.uvla-row:focus-visible td:first-child {
	box-shadow: inset 3px 0 0 var(--uv-accent);
}

.uvla-c-score {
	width: 118px;
	position: relative;
}

.uvla-row .uvla-c-score::before {
	content: "";
	position: absolute;
	left: 0;
	top: 10px;
	bottom: 10px;
	width: 3px;
	border-radius: 0 2px 2px 0;
	background: var(--pri, var(--uv-faint));
}

.uvla-row.is-pursue { --pri: var(--uv-accent); }
.uvla-row.is-high { --pri: var(--uv-amber); }
.uvla-row.is-review { --pri: var(--uv-review); }
.uvla-row.is-skip { --pri: var(--uv-faint); }

.uvla-num {
	display: block;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.05;
	font-variant-numeric: tabular-nums;
	color: var(--pri);
	font-stretch: 100%;
}

.uvla-pri {
	display: block;
	margin-top: 3px;
	font-size: 11.5px;
	color: var(--uv-muted);
	white-space: nowrap;
}

.uvla-company {
	display: block;
	font-size: 15px;
	font-weight: 650;
	line-height: 1.3;
}

.uvla-biz {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	margin-top: 2px;
	color: var(--uv-muted);
	font-size: 13px;
}

.uvla-tags {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
	margin-top: 6px;
}

.uvla-flag {
	padding: 1px 7px;
	border: 1px solid currentColor;
	border-radius: 4px;
	font-size: 11px;
	font-weight: 650;
	line-height: 1.5;
	color: var(--uv-amber);
	white-space: nowrap;
}

.uvla-flag--muted {
	color: var(--uv-muted);
}

.uvla-c-signal {
	min-width: 220px;
	max-width: 420px;
}

.uvla-c-fresh {
	width: 150px;
}

.uvla-c-fit {
	width: 160px;
}

.uvla-c-stage {
	width: 120px;
}

.uvla-signal {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.uvla-fresh {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.uvla-fresh::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--fr, var(--uv-faint));
}

.uvla-fresh.is-0-24h { --fr: var(--uv-green); }
.uvla-fresh.is-24-72h { --fr: color-mix(in srgb, var(--uv-green) 60%, var(--uv-review)); }
.uvla-fresh.is-3-7d { --fr: var(--uv-review); }
.uvla-fresh.is-7-14d { --fr: var(--uv-amber); }
.uvla-fresh.is-14dplus { --fr: var(--uv-red); }

.uvla-src {
	display: block;
	margin-top: 2px;
	color: var(--uv-muted);
	font-size: 12.5px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 160px;
}

.uvla-avatars {
	display: flex;
}

.uvla-avatar {
	display: inline-grid;
	place-items: center;
	width: 26px;
	height: 26px;
	margin-right: -6px;
	border: 2px solid var(--uv-surface);
	border-radius: 50%;
	background: var(--av, var(--uv-faint));
	color: #fff;
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: .02em;
	font-stretch: 100%;
}

.uvla-route {
	display: block;
	margin-top: 5px;
	color: var(--uv-muted);
	font-size: 12.5px;
}

.uvla-stage {
	display: inline-block;
	padding: 2px 9px;
	border-radius: 999px;
	background: var(--uv-shoal);
	font-size: 12.5px;
	font-weight: 550;
	white-space: nowrap;
}

.uvla-stage.is-contacted,
.uvla-stage.is-replied,
.uvla-stage.is-meeting,
.uvla-stage.is-proposal {
	background: color-mix(in srgb, var(--uv-review) 16%, var(--uv-surface));
	color: var(--uv-review);
}

.uvla-stage.is-won {
	background: color-mix(in srgb, var(--uv-green) 16%, var(--uv-surface));
	color: var(--uv-green);
}

.uvla-stage.is-lost,
.uvla-stage.is-archived {
	color: var(--uv-muted);
}

.uvla-more {
	display: flex;
	justify-content: center;
	padding: 14px;
}

.uvla-count {
	margin: 10px 2px 0;
	color: var(--uv-muted);
	font-size: 13px;
}

/* Skeleton while loading */
.uvla-skeleton td {
	padding: 16px 14px;
	border-bottom: 1px solid var(--uv-line);
}

.uvla-skeleton span {
	display: block;
	height: 12px;
	border-radius: 6px;
	background: linear-gradient(90deg, var(--uv-shoal), color-mix(in srgb, var(--uv-shoal) 40%, var(--uv-surface)), var(--uv-shoal));
	background-size: 200% 100%;
	animation: uvla-shimmer 1.3s linear infinite;
}

@keyframes uvla-shimmer {
	to { background-position: -200% 0; }
}

/* ---------- Empty and error states ---------- */

.uvla-empty {
	padding: 48px 24px;
	text-align: center;
}

.uvla-empty h3 {
	margin: 0 0 6px;
	font-family: var(--uv-serif);
	font-size: 22px;
	font-weight: 500;
}

.uvla-empty p {
	margin: 0 auto 16px;
	max-width: 52ch;
	color: var(--uv-muted);
}

/* ---------- Runs (agent activity) ---------- */

.uvla-runs {
	list-style: none;
	margin: 0;
	padding: 0;
}

.uvla-run {
	display: grid;
	grid-template-columns: 18px minmax(0, 1fr) auto;
	gap: 4px 14px;
	padding: 16px 18px;
	border-bottom: 1px solid var(--uv-line);
}

.uvla-run:last-child {
	border-bottom: 0;
}

.uvla-run__dot {
	width: 10px;
	height: 10px;
	margin-top: 6px;
	border-radius: 50%;
	background: var(--uv-faint);
}

.uvla-run.is-completed .uvla-run__dot { background: var(--uv-green); }
.uvla-run.is-failed .uvla-run__dot { background: var(--uv-red); }
.uvla-run.is-in_progress .uvla-run__dot,
.uvla-run.is-queued .uvla-run__dot {
	background: var(--uv-accent);
	animation: uvla-pulse 1.6s ease-in-out infinite;
}

.uvla-run__title {
	font-weight: 650;
}

.uvla-run__meta {
	color: var(--uv-muted);
	font-size: 13px;
}

.uvla-run__summary {
	grid-column: 2 / 4;
	margin: 6px 0 0;
	max-width: 80ch;
	color: var(--uv-muted);
	font-size: 14px;
}

.uvla-run__side {
	text-align: right;
	font-size: 13.5px;
	white-space: nowrap;
}

/* ---------- Drawer ---------- */

.uvla-backdrop {
	position: fixed;
	inset: 0;
	z-index: 99990;
	background: rgba(8, 19, 29, .38);
	opacity: 0;
	transition: opacity .18s ease;
}

.uvla-backdrop.is-open {
	opacity: 1;
}

.uvla-drawer {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: 99991;
	width: min(640px, 100vw);
	display: flex;
	flex-direction: column;
	background: var(--uv-surface);
	box-shadow: -24px 0 60px -20px rgba(8, 19, 29, .45);
	transform: translateX(100%);
	transition: transform .22s cubic-bezier(.2, .7, .2, 1);
}

.uvla-drawer.is-open {
	transform: none;
}

.uvla-drawer__bar {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 16px;
	border-bottom: 1px solid var(--uv-line);
}

.uvla-drawer__bar .uvla-icon-btn {
	margin-left: auto;
}

.uvla-drawer__scroll {
	flex: 1;
	overflow-y: auto;
	padding: 22px 26px 40px;
}

.uvla-dhead {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 18px;
	align-items: start;
	margin-bottom: 18px;
}

.uvla-dhead__company {
	margin: 6px 0 6px;
	font-family: var(--uv-serif);
	font-size: clamp(26px, 4vw, 34px);
	font-weight: 500;
	line-height: 1.08;
	letter-spacing: -.01em;
}

.uvla-dhead__biz {
	margin: 0;
	color: var(--uv-muted);
	max-width: 60ch;
}

.uvla-dial {
	display: flex;
	flex-direction: column;
	align-items: center;
	min-width: 92px;
}

.uvla-dial__ring {
	position: relative;
	width: 92px;
	height: 92px;
}

.uvla-dial svg {
	width: 92px;
	height: 92px;
	transform: rotate(-90deg);
}

.uvla-dial__track {
	stroke: var(--uv-shoal);
}

.uvla-dial__value {
	stroke: var(--pri, var(--uv-faint));
	stroke-linecap: round;
}

.uvla-dial__num {
	position: absolute;
	top: 0;
	left: 0;
	width: 92px;
	height: 92px;
	display: grid;
	place-items: center;
	font-size: 26px;
	font-weight: 750;
	font-variant-numeric: tabular-nums;
	color: var(--pri);
}

.uvla-dial__label {
	margin-top: 4px;
	font-size: 11.5px;
	color: var(--uv-muted);
	white-space: nowrap;
}

.uvla-dhead.is-pursue,
.uvla-dial.is-pursue { --pri: var(--uv-accent); }
.uvla-dial.is-high { --pri: var(--uv-amber); }
.uvla-dial.is-review { --pri: var(--uv-review); }
.uvla-dial.is-skip { --pri: var(--uv-faint); }

.uvla-quick {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	margin: 0 0 22px;
}

.uvla-section {
	padding: 18px 0;
	border-top: 1px solid var(--uv-line);
}

.uvla-section h3 {
	margin: 0 0 8px;
	font-size: 14px;
	font-weight: 650;
}

.uvla-section p {
	margin: 0 0 8px;
	max-width: 70ch;
	white-space: pre-line;
}

.uvla-note {
	color: var(--uv-muted);
	font-size: 13.5px;
}

.uvla-kv {
	display: grid;
	grid-template-columns: 170px minmax(0, 1fr);
	gap: 7px 16px;
	margin: 0;
	font-size: 14px;
}

.uvla-kv dt {
	color: var(--uv-muted);
}

.uvla-kv dd {
	margin: 0;
	min-width: 0;
	overflow-wrap: anywhere;
}

.uvla-kv a {
	color: var(--uv-review);
}

.uvla-unverified {
	color: var(--uv-faint);
	font-style: italic;
}

.uvla-outreach {
	position: relative;
	padding: 16px 18px;
	border-radius: var(--uv-radius);
	background: color-mix(in srgb, var(--uv-shoal) 60%, var(--uv-surface));
	font-family: var(--uv-serif);
	font-size: 16.5px;
	line-height: 1.55;
	white-space: pre-line;
}

.uvla-bars {
	display: grid;
	gap: 8px;
}

.uvla-bar {
	display: grid;
	grid-template-columns: 190px minmax(0, 1fr) 34px;
	gap: 12px;
	align-items: center;
	font-size: 13.5px;
}

.uvla-bar__label em {
	color: var(--uv-faint);
	font-style: normal;
}

.uvla-bar__track {
	height: 7px;
	border-radius: 4px;
	background: var(--uv-shoal);
	overflow: hidden;
}

.uvla-bar__fill {
	height: 100%;
	border-radius: 4px;
	background: var(--uv-ink-2);
}

:root[data-theme="dark"] .uvla-bar__fill {
	background: var(--uv-review);
}

@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) .uvla-bar__fill {
		background: var(--uv-review);
	}
}

.uvla-bar__val {
	text-align: right;
	font-variant-numeric: tabular-nums;
	font-weight: 600;
}

.uvla-links {
	margin: 0;
	padding-left: 18px;
	font-size: 13.5px;
}

.uvla-links a {
	color: var(--uv-review);
	overflow-wrap: anywhere;
}

.uvla-pipeline {
	display: grid;
	gap: 14px;
}

.uvla-pipeline label {
	display: block;
	margin-bottom: 5px;
	font-size: 13px;
	color: var(--uv-muted);
}

.uvla-field {
	width: 100%;
	padding: 9px 11px;
	border: 1px solid var(--uv-line);
	border-radius: var(--uv-radius);
	background: var(--uv-surface);
	font-size: 14px;
}

textarea.uvla-field {
	min-height: 84px;
	resize: vertical;
}

.uvla-thumbs {
	display: flex;
	gap: 8px;
}

.uvla-thumb {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 7px 12px;
	border: 1px solid var(--uv-line);
	border-radius: 999px;
	background: var(--uv-surface);
	font-size: 13.5px;
	cursor: pointer;
}

.uvla-thumb[aria-pressed="true"] {
	border-color: var(--uv-ink-2);
	background: var(--uv-ink-2);
	color: #fff;
}

.uvla-activity {
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 13px;
}

.uvla-activity li {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 6px 0;
	border-bottom: 1px dashed var(--uv-line);
}

.uvla-activity span:last-child {
	color: var(--uv-muted);
	white-space: nowrap;
}

/* ---------- Toast ---------- */

.uvla-toast {
	position: fixed;
	left: 50%;
	bottom: 24px;
	z-index: 99999;
	transform: translateX(-50%);
	padding: 10px 16px;
	border-radius: var(--uv-radius);
	background: var(--uv-ink);
	color: #fff;
	font-size: 14px;
	box-shadow: var(--uv-shadow);
}

/* ---------- Sign-in gate ---------- */

.uvla-gate {
	min-height: 100vh;
	display: grid;
	place-items: center;
	padding: 24px 16px;
	background-color: var(--uv-ink);
	background-image: var(--uv-contours), var(--uv-contours);
	background-repeat: no-repeat;
	background-position: -160px -140px, calc(100% + 180px) calc(100% + 160px);
	background-size: 620px, 720px;
}

.uvla-embedded-gate,
.entry-content .uvla-gate {
	min-height: 60vh;
	border-radius: var(--uv-radius-lg);
}

.uvla-gate__card {
	width: min(420px, 100%);
	padding: 30px 30px 24px;
	border-radius: var(--uv-radius-lg);
	background: var(--uv-surface);
	color: var(--uv-text);
	box-shadow: 0 30px 80px -30px rgba(0, 0, 0, .6);
}

.uvla-gate__brand {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 22px;
}

.uvla-gate__logo {
	width: 40px;
	height: 40px;
	border-radius: 10px;
	object-fit: cover;
}

.uvla-gate__name {
	font-family: var(--uv-serif);
	font-size: 20px;
	font-weight: 600;
	line-height: 1.1;
}

.uvla-gate__tagline {
	color: var(--uv-muted);
	font-size: 13px;
}

.uvla-gate__title {
	margin: 0 0 16px;
	font-family: var(--uv-serif);
	font-size: 26px;
	font-weight: 500;
	line-height: 1.15;
}

.uvla-gate__text {
	color: var(--uv-muted);
}

.uvla-gate form p {
	margin: 0 0 14px;
}

.uvla-gate label {
	display: block;
	margin-bottom: 5px;
	font-size: 13.5px;
	color: var(--uv-muted);
}

.uvla-gate input[type="text"],
.uvla-gate input[type="password"],
.uvla-gate input[type="email"] {
	width: 100%;
	height: 42px;
	padding: 0 12px;
	border: 1px solid var(--uv-line);
	border-radius: var(--uv-radius);
	background: var(--uv-surface);
	color: var(--uv-text);
	font: inherit;
}

.uvla-gate .login-remember label {
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--uv-text);
}

.uvla-gate input[type="submit"] {
	width: 100%;
	height: 42px;
	border: 0;
	border-radius: var(--uv-radius);
	background: var(--uv-accent);
	color: var(--uv-accent-ink);
	font: inherit;
	font-weight: 650;
	cursor: pointer;
}

.uvla-gate__link {
	color: var(--uv-muted);
	font-size: 13.5px;
}

/* ---------- Responsive ---------- */

@media (max-width: 1100px) {
	.uvla-c-route-col,
	.uvla-table .uvla-h-fit,
	.uvla-table .uvla-c-fit {
		display: none;
	}
}

@media (max-width: 900px) {
	.uvla-shell {
		grid-template-columns: minmax(0, 1fr);
	}

	.uvla-side {
		position: fixed;
		z-index: 99980;
		left: 0;
		top: 0;
		bottom: 0;
		width: 270px;
		height: 100vh;
		transform: translateX(-100%);
		transition: transform .2s ease;
	}

	.uvla-shell.is-menu-open .uvla-side {
		transform: none;
		box-shadow: 20px 0 60px -20px rgba(0, 0, 0, .5);
	}

	.uvla-icon-btn.uvla-top__menu {
		display: inline-grid;
	}

	.uvla-top {
		align-items: flex-start;
	}

	.uvla-tools {
		width: 100%;
	}

	.uvla-search {
		flex: 1;
	}

	.uvla-search input {
		width: 100%;
	}
}

@media (max-width: 760px) {
	.uvla-main {
		padding: 16px 16px 60px;
	}

	.uvla-table thead {
		display: none;
	}

	.uvla-table,
	.uvla-table tbody,
	.uvla-row,
	.uvla-row td {
		display: block;
		width: 100%;
	}

	.uvla-row {
		position: relative;
		padding: 14px 14px 12px 18px;
		border-bottom: 1px solid var(--uv-line);
	}

	.uvla-row:last-child {
		border-bottom: 0;
	}

	.uvla-row td {
		padding: 0;
		border: 0;
	}

	.uvla-row:hover td {
		background: none;
	}

	.uvla-row .uvla-c-score {
		position: absolute;
		right: 14px;
		top: 14px;
		width: auto;
		text-align: right;
	}

	.uvla-row .uvla-c-score::before {
		display: none;
	}

	.uvla-row::before {
		content: "";
		position: absolute;
		left: 0;
		top: 14px;
		bottom: 14px;
		width: 3px;
		background: var(--pri);
	}

	.uvla-c-company {
		padding-right: 84px !important;
	}

	.uvla-c-signal {
		margin-top: 8px;
		max-width: none;
		min-width: 0;
	}

	.uvla-c-fresh,
	.uvla-c-stage {
		display: inline-block !important;
		width: auto !important;
		margin-top: 10px;
		margin-right: 12px;
	}

	.uvla-c-fresh .uvla-src {
		display: inline;
		margin-left: 6px;
	}

	.uvla-pri {
		display: none;
	}

	.uvla-kv {
		grid-template-columns: minmax(0, 1fr);
		gap: 2px;
	}

	.uvla-kv dd {
		margin-bottom: 8px;
	}

	.uvla-bar {
		grid-template-columns: 130px minmax(0, 1fr) 30px;
	}

	.uvla-drawer__scroll {
		padding: 18px 16px 40px;
	}

	.uvla-filters .uvla-select {
		flex: 1 1 140px;
	}

	.uvla-ticket-row {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (prefers-reduced-motion: reduce) {
	.uvla-app *,
	.uvla-drawer,
	.uvla-backdrop,
	.uvla-side {
		animation: none !important;
		transition: none !important;
	}
}

/* Link resets for clickable tickets and company names. */
.uvla-ticket {
	color: inherit;
	text-decoration: none;
}

.uvla-company {
	color: inherit;
	text-decoration: none;
}

.uvla-company:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.uvla-teamline {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px 12px;
	margin-top: 12px;
	color: var(--uv-muted);
	font-size: 13.5px;
}
