:root {
	--tvh-bg: #f5f4ef;
	--tvh-bg-accent: #eeece5;
	--tvh-surface: #fffdf9;
	--tvh-surface-strong: #ffffff;
	--tvh-surface-soft: #efeee8;
	--tvh-surface-hover: #e9e8e1;
	--tvh-border: #dedbd2;
	--tvh-border-strong: #c8c3b7;
	--tvh-text: #292a26;
	--tvh-text-soft: #4f524b;
	--tvh-muted: #74776e;
	--tvh-primary: #386a5a;
	--tvh-primary-hover: #2e594c;
	--tvh-primary-soft: #e3efe9;
	--tvh-success: #2f7d54;
	--tvh-success-soft: #e7f4ec;
	--tvh-danger: #b54a42;
	--tvh-danger-soft: #f9e9e7;
	--tvh-warning: #9b6817;
	--tvh-warning-soft: #fbf1dc;
	--tvh-info: #4c6fa5;
	--tvh-info-soft: #eaf0f8;
	--tvh-white: #ffffff;
	--tvh-space-1: 4px;
	--tvh-space-2: 8px;
	--tvh-space-3: 12px;
	--tvh-space-4: 16px;
	--tvh-space-5: 20px;
	--tvh-space-6: 24px;
	--tvh-space-8: 32px;
	--tvh-radius-sm: 8px;
	--tvh-radius: 8px;
	--tvh-radius-lg: 8px;
	--tvh-radius-pill: 999px;
	--tvh-shadow-xs: 0 1px 2px rgba(41, 42, 38, 0.05);
	--tvh-shadow-sm: 0 6px 18px rgba(41, 42, 38, 0.06);
	--tvh-shadow: 0 16px 42px rgba(41, 42, 38, 0.08);
	--tvh-focus: 0 0 0 3px rgba(56, 106, 90, 0.18);
	--tvh-sidebar-width: 252px;
	--tvh-content-width: 1440px;
	--tvh-transition: 160ms ease;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	background: var(--tvh-bg);
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background: var(--tvh-bg);
	color: var(--tvh-text);
	font-family: Inter, Aptos, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	font-size: 15px;
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

body,
button,
input,
select,
textarea {
	font-family: inherit;
}

button,
input,
select,
textarea {
	font-size: inherit;
}

button,
select,
input[type="checkbox"],
input[type="file"] {
	cursor: pointer;
}

a {
	color: var(--tvh-primary);
	text-decoration: none;
	text-underline-offset: 3px;
}

a:hover {
	color: var(--tvh-primary-hover);
	text-decoration: underline;
}

img,
svg {
	max-width: 100%;
}

h1,
h2,
h3,
h4,
p {
	overflow-wrap: anywhere;
}

h1,
h2,
h3,
h4 {
	color: var(--tvh-text);
	letter-spacing: 0;
}

code,
pre {
	font-family: "Cascadia Code", "SFMono-Regular", Consolas, monospace;
}

::selection {
	background: rgba(56, 106, 90, 0.2);
}

:focus-visible {
	outline: 2px solid var(--tvh-primary);
	outline-offset: 2px;
}

input,
select,
textarea {
	width: 100%;
	min-width: 0;
	min-height: 42px;
	border: 1px solid var(--tvh-border);
	border-radius: var(--tvh-radius-sm);
	background: var(--tvh-surface-strong);
	color: var(--tvh-text);
	padding: 9px 12px;
	outline: none;
	transition: border-color var(--tvh-transition), box-shadow var(--tvh-transition), background var(--tvh-transition);
}

input::placeholder,
textarea::placeholder {
	color: #96988f;
	opacity: 1;
}

input:hover,
select:hover,
textarea:hover {
	border-color: var(--tvh-border-strong);
}

input:focus,
select:focus,
textarea:focus {
	border-color: var(--tvh-primary);
	box-shadow: var(--tvh-focus);
}

input:disabled,
select:disabled,
textarea:disabled,
button:disabled {
	cursor: not-allowed;
	opacity: 0.58;
}

textarea {
	resize: vertical;
	line-height: 1.6;
}

input[type="checkbox"],
input[type="radio"] {
	width: 18px;
	height: 18px;
	min-height: 18px;
	margin: 0;
	padding: 0;
	accent-color: var(--tvh-primary);
	flex: 0 0 auto;
}

input[type="color"] {
	min-height: 42px;
	padding: 4px;
}

input[type="file"] {
	padding: 7px 8px;
}

input[type="file"]::file-selector-button {
	margin-right: 10px;
	border: 0;
	border-radius: 6px;
	background: var(--tvh-surface-soft);
	color: var(--tvh-text);
	padding: 6px 10px;
	font-weight: 650;
	cursor: pointer;
}

.tvh-app {
	display: grid;
	grid-template-columns: var(--tvh-sidebar-width) minmax(0, 1fr);
	min-height: 100vh;
}

.tvh-shell {
	min-width: 0;
}

.tvh-sidebar {
	position: sticky;
	top: 0;
	z-index: 40;
	display: flex;
	flex-direction: column;
	height: 100vh;
	padding: var(--tvh-space-4) var(--tvh-space-3);
	overflow-y: auto;
	border-right: 1px solid var(--tvh-border);
	background: rgba(250, 249, 245, 0.96);
	box-shadow: 8px 0 28px rgba(41, 42, 38, 0.025);
	backdrop-filter: blur(16px);
}

.tvh-brand {
	display: flex;
	align-items: center;
	gap: var(--tvh-space-3);
	padding: 7px 8px 20px;
}

.tvh-brand__mark {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: 8px;
	background: var(--tvh-primary);
	color: var(--tvh-white);
	box-shadow: 0 8px 18px rgba(56, 106, 90, 0.18);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-decoration: none;
	flex: 0 0 auto;
}

.tvh-brand__mark:hover {
	color: var(--tvh-white);
	text-decoration: none;
	transform: translateY(-1px);
}

.tvh-brand__name {
	color: var(--tvh-text);
	font-size: 14px;
	font-weight: 780;
	line-height: 1.25;
}

.tvh-brand__sub,
.tvh-small {
	color: var(--tvh-muted);
	font-size: 12px;
	line-height: 1.45;
}

.tvh-nav {
	display: grid;
	gap: 3px;
}

.tvh-nav__item {
	position: relative;
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
	min-height: 42px;
	padding: 7px 9px;
	border-radius: 8px;
	color: var(--tvh-text-soft);
	font-size: 14px;
	font-weight: 620;
	text-decoration: none;
	transition: color var(--tvh-transition), background var(--tvh-transition), transform var(--tvh-transition);
}

.tvh-nav__item:hover {
	background: var(--tvh-surface-hover);
	color: var(--tvh-text);
	text-decoration: none;
	transform: translateX(2px);
}

.tvh-nav__item.is-active {
	background: var(--tvh-primary-soft);
	color: var(--tvh-primary-hover);
	text-decoration: none;
}

.tvh-nav__item.is-active::before {
	position: absolute;
	inset: 9px auto 9px -3px;
	width: 3px;
	border-radius: var(--tvh-radius-pill);
	background: var(--tvh-primary);
	content: "";
}

.tvh-nav__item > span:last-child {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.tvh-nav__icon {
	display: grid;
	place-items: center;
	width: 28px;
	height: 28px;
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.68);
	color: currentColor;
	font-size: 14px;
	line-height: 1;
	flex: 0 0 28px;
	box-shadow: inset 0 0 0 1px rgba(41, 42, 38, 0.055);
}

.tvh-nav__item.is-active .tvh-nav__icon {
	background: rgba(255, 255, 255, 0.78);
}

.tvh-nav__icon::before {
	content: "·";
	font-weight: 800;
}

.tvh-sidebar__footer {
	margin-top: auto;
	padding: 18px 9px 6px;
	border-top: 1px solid var(--tvh-border);
}

.tvh-topbar {
	position: sticky;
	top: 0;
	z-index: 30;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: var(--tvh-space-4);
	min-height: 72px;
	padding: 12px clamp(16px, 2.3vw, 34px);
	border-bottom: 1px solid rgba(222, 219, 210, 0.78);
	background: rgba(245, 244, 239, 0.88);
	backdrop-filter: blur(18px);
}

.tvh-topbar > div:not(.tvh-topbar__actions) {
	min-width: 0;
}

.tvh-topbar h1,
.tvh-page-head h2 {
	margin: 0;
	font-size: clamp(21px, 1.8vw, 27px);
	line-height: 1.2;
	font-weight: 760;
}

.tvh-topbar__actions,
.tvh-actions,
.tvh-row-actions,
.tvh-check-row {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
	min-width: 0;
}

.tvh-topbar__actions {
	justify-content: flex-end;
	flex-wrap: nowrap;
}

.tvh-sidebar-toggle {
	display: none;
}

.tvh-user-pill {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	max-width: 220px;
	min-height: 38px;
	padding: 5px 10px 5px 6px;
	border: 1px solid var(--tvh-border);
	border-radius: var(--tvh-radius-pill);
	background: rgba(255, 253, 249, 0.86);
	color: var(--tvh-text-soft);
	box-shadow: var(--tvh-shadow-xs);
}

.tvh-user-pill__avatar {
	display: grid;
	place-items: center;
	width: 27px;
	height: 27px;
	border-radius: 50%;
	background: var(--tvh-primary-soft);
	color: var(--tvh-primary-hover);
	font-size: 12px;
	font-weight: 800;
	flex: 0 0 auto;
}

.tvh-user-pill__name {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-size: 13px;
	font-weight: 650;
}

.tvh-main {
	display: grid;
	gap: var(--tvh-space-5);
	width: min(100%, var(--tvh-content-width));
	margin: 0 auto;
	padding: clamp(18px, 2.3vw, 34px);
}

.tvh-page-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: var(--tvh-space-4);
	min-width: 0;
}

.tvh-page-head > div {
	min-width: 0;
}

.tvh-eyebrow {
	margin: 0 0 5px;
	color: var(--tvh-muted);
	font-size: 11px;
	font-weight: 760;
	letter-spacing: 0.08em;
	line-height: 1.3;
	text-transform: uppercase;
}

.tvh-muted {
	color: var(--tvh-muted);
}

.tvh-panel,
.tvh-note-card,
.tvh-metric,
.tvh-home-card {
	min-width: 0;
	border: 1px solid var(--tvh-border);
	border-radius: var(--tvh-radius);
	background: var(--tvh-surface);
	box-shadow: var(--tvh-shadow-xs);
}

.tvh-panel {
	padding: clamp(16px, 1.6vw, 22px);
}

.tvh-panel > h3:first-child {
	margin-top: 0;
}

.tvh-panel__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--tvh-space-3);
	min-width: 0;
	margin-bottom: var(--tvh-space-4);
}

.tvh-panel__head > * {
	min-width: 0;
}

.tvh-panel__head h3,
.tvh-note-card h3,
.tvh-panel > h3 {
	margin: 0;
	font-size: 16px;
	font-weight: 740;
	line-height: 1.3;
}

.tvh-grid {
	display: grid;
	gap: var(--tvh-space-5);
	min-width: 0;
}

.tvh-grid--2 {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr));
}

.tvh-grid--3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tvh-grid--4,
.tvh-metric-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--tvh-space-3);
	min-width: 0;
}

.tvh-grid--wide-left {
	grid-template-columns: minmax(0, 1.45fr) minmax(300px, 0.85fr);
}

.tvh-metric-grid--compact {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tvh-metric {
	position: relative;
	padding: 15px 16px;
	overflow: hidden;
}

.tvh-metric::after {
	position: absolute;
	inset: auto -22px -28px auto;
	width: 78px;
	height: 78px;
	border-radius: 50%;
	background: var(--tvh-primary-soft);
	opacity: 0.46;
	content: "";
}

.tvh-metric span {
	position: relative;
	z-index: 1;
	display: block;
	color: var(--tvh-muted);
	font-size: 12px;
	font-weight: 650;
}

.tvh-metric strong {
	position: relative;
	z-index: 1;
	display: block;
	margin-top: 7px;
	font-size: clamp(21px, 2vw, 28px);
	line-height: 1.2;
	letter-spacing: 0;
	overflow-wrap: anywhere;
}

.tvh-metric--income::after { background: var(--tvh-success-soft); }
.tvh-metric--expense::after,
.tvh-metric--danger::after { background: var(--tvh-danger-soft); }

.tvh-metric--income strong,
.tvh-income {
	color: var(--tvh-success);
}

.tvh-metric--expense strong,
.tvh-expense,
.tvh-metric--danger strong {
	color: var(--tvh-danger);
}

.tvh-button,
.tvh-icon-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	max-width: 100%;
	min-height: 38px;
	border: 1px solid var(--tvh-border);
	border-radius: var(--tvh-radius-sm);
	background: var(--tvh-surface-strong);
	color: var(--tvh-text-soft);
	padding: 8px 12px;
	box-shadow: var(--tvh-shadow-xs);
	font-size: 13px;
	font-weight: 680;
	line-height: 1.25;
	text-align: center;
	text-decoration: none;
	white-space: normal;
	overflow-wrap: anywhere;
	cursor: pointer;
	transition: color var(--tvh-transition), border-color var(--tvh-transition), background var(--tvh-transition), box-shadow var(--tvh-transition), transform var(--tvh-transition);
}

.tvh-button:hover,
.tvh-icon-button:hover {
	border-color: var(--tvh-border-strong);
	background: var(--tvh-surface-soft);
	color: var(--tvh-text);
	box-shadow: var(--tvh-shadow-sm);
	text-decoration: none;
	transform: translateY(-1px);
}

.tvh-button:active,
.tvh-icon-button:active {
	box-shadow: var(--tvh-shadow-xs);
	transform: translateY(0);
}

.tvh-button--primary {
	border-color: var(--tvh-primary);
	background: var(--tvh-primary);
	color: var(--tvh-white);
	box-shadow: 0 6px 14px rgba(56, 106, 90, 0.18);
}

.tvh-button--primary:hover {
	border-color: var(--tvh-primary-hover);
	background: var(--tvh-primary-hover);
	color: var(--tvh-white);
}

.tvh-button--ghost {
	background: transparent;
	box-shadow: none;
}

.tvh-button--danger {
	border-color: #e5bcb7;
	background: var(--tvh-danger-soft);
	color: var(--tvh-danger);
}

.tvh-button--danger:hover {
	border-color: var(--tvh-danger);
	background: #f6ddda;
	color: #96372f;
}

.tvh-icon-button {
	width: 38px;
	min-width: 38px;
	padding: 0;
	flex: 0 0 auto;
}

.tvh-icon {
	position: relative;
	display: inline-block;
	width: 17px;
	height: 17px;
}

.tvh-icon--menu,
.tvh-icon--menu::before,
.tvh-icon--menu::after {
	height: 2px;
	border-radius: 2px;
	background: currentColor;
}

.tvh-icon--menu {
	width: 17px;
}

.tvh-icon--menu::before,
.tvh-icon--menu::after {
	position: absolute;
	left: 0;
	width: 17px;
	content: "";
}

.tvh-icon--menu::before { top: -5px; }
.tvh-icon--menu::after { top: 5px; }

.tvh-icon--search {
	width: 15px;
	height: 15px;
	border: 2px solid currentColor;
	border-radius: 50%;
}

.tvh-icon--search::after {
	position: absolute;
	right: -5px;
	bottom: -3px;
	width: 7px;
	height: 2px;
	border-radius: 2px;
	background: currentColor;
	content: "";
	transform: rotate(45deg);
}

.tvh-filter,
.tvh-search-form {
	display: grid;
	grid-template-columns: repeat(6, minmax(120px, 1fr));
	align-items: end;
	gap: 9px;
	min-width: 0;
	margin-bottom: var(--tvh-space-4);
}

.tvh-filter--inline {
	grid-template-columns: 90px 110px 180px auto;
	margin: 0;
}

.tvh-search-form {
	grid-template-columns: minmax(0, 1fr) auto;
	margin: 0;
}

.tvh-form {
	display: grid;
	gap: 14px;
	min-width: 0;
}

.tvh-form label,
.tvh-inline-edit label {
	display: grid;
	gap: 6px;
	min-width: 0;
	color: var(--tvh-text-soft);
	font-size: 13px;
	font-weight: 680;
}

.tvh-form label small {
	color: var(--tvh-muted);
	font-weight: 450;
}

.tvh-form-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
	gap: 13px;
	min-width: 0;
}

.tvh-textarea-large {
	min-height: 260px;
}

.tvh-input-with-button {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 8px;
	min-width: 0;
}

.tvh-check-row {
	padding: 2px 0;
}

.tvh-check-row label,
.tvh-segmented label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	cursor: pointer;
}

.tvh-table-wrap {
	max-width: 100%;
	overflow-x: auto;
	border: 1px solid var(--tvh-border);
	border-radius: 8px;
	background: var(--tvh-surface-strong);
	overscroll-behavior-inline: contain;
	-webkit-overflow-scrolling: touch;
}

.tvh-table {
	width: 100%;
	min-width: 760px;
	border-collapse: separate;
	border-spacing: 0;
}

.tvh-table th,
.tvh-table td {
	min-width: 0;
	padding: 11px 12px;
	border-bottom: 1px solid var(--tvh-border);
	text-align: left;
	vertical-align: middle;
	overflow-wrap: anywhere;
}

.tvh-table tr:last-child td {
	border-bottom: 0;
}

.tvh-table th {
	background: #f6f5f1;
	color: var(--tvh-muted);
	font-size: 11px;
	font-weight: 760;
	letter-spacing: 0.055em;
	text-transform: uppercase;
	white-space: nowrap;
}

.tvh-table tbody tr {
	transition: background var(--tvh-transition);
}

.tvh-table tbody tr:hover {
	background: rgba(239, 238, 232, 0.55);
}

.tvh-table td small,
.tvh-list__item small {
	display: block;
	margin-top: 3px;
	color: var(--tvh-muted);
	line-height: 1.45;
}

.tvh-table--compact pre {
	max-width: 100%;
	margin: 0;
	white-space: pre-wrap;
	overflow-wrap: anywhere;
	font-size: 12px;
}

.tvh-company-swatch {
	display: inline-flex;
	width: 38px;
	height: 22px;
	border: 1px solid rgba(16, 24, 20, 0.12);
	border-radius: 7px;
	background: var(--company-color, var(--tvh-primary));
	box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.55);
	vertical-align: middle;
}

.tvh-company-description {
	max-width: 460px;
	color: var(--tvh-text-soft);
}

.tvh-row-actions {
	min-width: 170px;
	gap: 5px;
}

.tvh-row-actions form {
	display: inline-flex;
}

.tvh-row-actions button,
.tvh-row-actions a,
.tvh-link-danger,
.tvh-link-button {
	min-height: 28px;
	border: 0;
	border-radius: 6px;
	background: transparent;
	color: var(--tvh-primary);
	padding: 4px 6px;
	font-size: 12px;
	font-weight: 650;
	line-height: 1.2;
	cursor: pointer;
}

.tvh-row-actions button:hover,
.tvh-row-actions a:hover,
.tvh-link-button:hover {
	background: var(--tvh-primary-soft);
	text-decoration: none;
}

.tvh-link-danger {
	color: var(--tvh-danger);
}

.tvh-link-danger:hover {
	background: var(--tvh-danger-soft) !important;
}

.tvh-row-actions input[type="number"] {
	width: 58px;
	min-height: 28px;
	padding: 3px 6px;
}

.tvh-inline-progress-form {
	display: inline-flex !important;
	align-items: center;
	gap: 3px;
}

.tvh-badge,
.tvh-chip,
.tvh-suggestion-chip {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	max-width: 100%;
	border: 1px solid transparent;
	border-radius: var(--tvh-radius-pill);
	background: var(--tvh-surface-soft);
	color: var(--tvh-text-soft);
	padding: 4px 9px;
	font-size: 11px;
	font-weight: 720;
	line-height: 1.3;
	overflow-wrap: anywhere;
}

.tvh-badge--status-doing,
.tvh-badge--priority-high {
	background: var(--tvh-warning-soft);
	color: var(--tvh-warning);
}

.tvh-badge--status-done,
.tvh-badge--status-active,
.tvh-badge--priority-low {
	background: var(--tvh-success-soft);
	color: var(--tvh-success);
}

.tvh-badge--status-income {
	border-color: rgba(21, 128, 61, 0.18);
	background: var(--tvh-success-soft);
	color: var(--tvh-success);
}

.tvh-badge--status-expense {
	border-color: rgba(185, 28, 28, 0.18);
	background: var(--tvh-danger-soft);
	color: var(--tvh-danger);
}

.tvh-badge--status-cancelled,
.tvh-badge--priority-urgent {
	background: var(--tvh-danger-soft);
	color: var(--tvh-danger);
}

.tvh-badge--status-waiting,
.tvh-badge--priority-medium {
	background: var(--tvh-info-soft);
	color: var(--tvh-info);
}

.tvh-chip-row,
.tvh-suggestion-row {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
}

.tvh-chip {
	border-color: var(--tvh-border);
	background: var(--tvh-surface-strong);
	color: var(--tvh-text-soft);
	padding: 7px 11px;
	cursor: pointer;
}

.tvh-chip:hover,
.tvh-suggestion-chip:hover {
	border-color: var(--tvh-primary);
	background: var(--tvh-primary-soft);
	color: var(--tvh-primary-hover);
}

.tvh-progress,
.tvh-bar {
	position: relative;
	min-width: 110px;
	height: 18px;
	border-radius: var(--tvh-radius-pill);
	background: var(--tvh-surface-soft);
	overflow: hidden;
	box-shadow: inset 0 0 0 1px rgba(41, 42, 38, 0.04);
}

.tvh-progress i,
.tvh-bar i {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: var(--tvh-primary);
}

.tvh-progress span {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	color: var(--tvh-text);
	font-size: 10px;
	font-weight: 760;
}

.tvh-progress--large {
	height: 26px;
	margin: 16px 0;
}

.tvh-list {
	display: grid;
	gap: 0;
	min-width: 0;
}

.tvh-list__item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--tvh-space-3);
	min-width: 0;
	padding: 11px 0;
	border-bottom: 1px solid var(--tvh-border);
	color: inherit;
}

.tvh-list__item > * {
	min-width: 0;
}

.tvh-list__item:last-child {
	border-bottom: 0;
}

a.tvh-list__item:hover {
	color: inherit;
	text-decoration: none;
}

.tvh-list__item strong {
	overflow-wrap: anywhere;
}

.tvh-list--compact .tvh-list__item {
	padding: 9px 0;
}

.tvh-bars {
	display: grid;
	gap: 12px;
}

.tvh-bar-row {
	display: grid;
	grid-template-columns: 110px minmax(80px, 1fr) 34px;
	align-items: center;
	gap: 10px;
	min-width: 0;
}

.tvh-note-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}

.tvh-note-card {
	position: relative;
	display: grid;
	gap: 10px;
	padding: 17px;
	overflow: hidden;
}

.tvh-note-card::before {
	position: absolute;
	inset: 0 auto 0 0;
	width: 4px;
	background: var(--tvh-note-accent, var(--tvh-primary-soft));
	content: "";
}

.tvh-note-card:hover {
	border-color: var(--tvh-border-strong);
	box-shadow: var(--tvh-shadow-sm);
	transform: translateY(-1px);
}

.tvh-note-card__head,
.tvh-note-card__meta {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 10px;
	min-width: 0;
}

.tvh-note-card p {
	margin: 0;
	color: var(--tvh-text-soft);
}

.tvh-note-card__meta {
	color: var(--tvh-muted);
	font-size: 11px;
}

.tvh-note-card--archived {
	opacity: 0.72;
}

.tvh-note-color {
	width: 13px;
	height: 13px;
	margin-top: 3px;
	border-radius: 50%;
	background: var(--tvh-note-accent, var(--tvh-primary));
	box-shadow: inset 0 0 0 1px rgba(41, 42, 38, 0.12);
	flex: 0 0 auto;
}

.tvh-note-detail {
	border-left: 4px solid var(--tvh-note-accent, var(--tvh-primary));
}

.tvh-notes-head .tvh-actions {
	align-items: center;
}

.tvh-notes-workspace {
	display: grid;
	grid-template-columns: minmax(210px, 250px) minmax(360px, 1fr) minmax(320px, 420px);
	gap: 16px;
	align-items: start;
}

.tvh-notes-rail,
.tvh-notes-list,
.tvh-note-side {
	min-width: 0;
}

.tvh-notes-rail,
.tvh-notes-list,
.tvh-note-preview,
.tvh-note-editor,
.tvh-note-daily {
	border: 1px solid var(--tvh-border);
	border-radius: var(--tvh-radius-sm);
	background: var(--tvh-surface);
	box-shadow: var(--tvh-shadow-xs);
}

.tvh-notes-rail {
	position: sticky;
	top: 18px;
	display: grid;
	gap: 16px;
	padding: 14px;
}

.tvh-note-search {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 42px;
	gap: 8px;
}

.tvh-note-groups,
.tvh-note-filters {
	display: grid;
	gap: 8px;
}

.tvh-note-filter-chips {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	min-width: 0;
}

.tvh-note-filter-chips .tvh-note-chip-cloud,
.tvh-note-filter-chips .tvh-note-tag-cloud {
	display: contents;
}

.tvh-note-group {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	min-height: 42px;
	padding: 8px 10px;
	border-radius: var(--tvh-radius-sm);
	color: var(--tvh-text-soft);
}

.tvh-note-group:hover,
.tvh-note-group.is-active {
	background: var(--tvh-primary-soft);
	color: var(--tvh-primary-hover);
	text-decoration: none;
}

.tvh-note-group span {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
}

.tvh-note-group em {
	color: var(--tvh-muted);
	font-size: 12px;
	font-style: normal;
}

.tvh-note-filters label {
	display: grid;
	gap: 5px;
	color: var(--tvh-muted);
	font-size: 12px;
	font-weight: 700;
}

.tvh-note-chip-cloud a,
.tvh-note-tag-cloud a,
.tvh-note-card__tags a,
.tvh-note-preview__tags a {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	min-width: 0;
	min-height: 28px;
	padding: 4px 8px;
	border-radius: var(--tvh-radius-pill);
	background: var(--tvh-surface-soft);
	color: var(--tvh-text-soft);
	font-size: 12px;
	line-height: 1.2;
	text-decoration: none;
}

.tvh-note-chip-cloud a span {
	color: var(--tvh-muted);
}

.tvh-notes-list {
	padding: 14px;
}

.tvh-notes-list__head {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 14px;
	margin-bottom: 14px;
}

.tvh-notes-list__head h3 {
	margin: 0;
	font-size: 22px;
}

.tvh-note-view-hint {
	color: var(--tvh-muted);
	font-size: 12px;
	text-align: right;
}

.tvh-note-grid--workspace {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tvh-note-card--workspace {
	padding: 0;
	border-radius: var(--tvh-radius-sm);
}

.tvh-note-card--workspace.is-selected {
	border-color: var(--tvh-primary);
	box-shadow: var(--tvh-focus);
}

.tvh-note-card__link {
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr);
	gap: 10px;
	padding: 15px 15px 5px;
	color: inherit;
	text-decoration: none;
}

.tvh-note-card__icon {
	display: inline-grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border-radius: var(--tvh-radius-sm);
	background: color-mix(in srgb, var(--tvh-note-accent, var(--tvh-primary)) 15%, var(--tvh-surface-strong));
	color: var(--tvh-note-accent, var(--tvh-primary));
}

.tvh-note-card__body {
	display: grid;
	gap: 5px;
	min-width: 0;
}

.tvh-note-card__body strong {
	font-size: 15px;
	line-height: 1.3;
}

.tvh-note-card__body small {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	color: var(--tvh-text-soft);
	font-size: 13px;
	line-height: 1.45;
}

.tvh-note-card mark {
	border-radius: 4px;
	background: var(--tvh-warning-soft);
	color: inherit;
	padding: 0 2px;
}

.tvh-note-card--workspace .tvh-note-card__meta,
.tvh-note-card__tags,
.tvh-note-card__status {
	padding-inline: 15px;
}

.tvh-note-card__tags,
.tvh-note-card__status {
	display: flex;
	align-items: center;
	gap: 6px;
	flex-wrap: wrap;
}

.tvh-note-card__status {
	padding-bottom: 14px;
	color: var(--tvh-muted);
	font-size: 11px;
}

.tvh-note-card__status span {
	padding: 3px 7px;
	border-radius: var(--tvh-radius-pill);
	background: var(--tvh-bg-accent);
}

.tvh-note-empty {
	grid-column: 1 / -1;
	display: grid;
	gap: 4px;
	padding: 32px 18px;
}

.tvh-note-side {
	position: sticky;
	top: 18px;
	display: grid;
	gap: 12px;
}

.tvh-note-preview,
.tvh-note-editor,
.tvh-note-daily {
	padding: 16px;
}

.tvh-note-preview {
	border-left: 4px solid var(--tvh-note-accent, var(--tvh-primary));
}

.tvh-note-preview__head,
.tvh-note-editor__head {
	display: flex;
	align-items: start;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 12px;
}

.tvh-note-preview__head h3,
.tvh-note-editor__head h3 {
	margin: 0;
	font-size: 22px;
	line-height: 1.25;
}

.tvh-note-preview__meta,
.tvh-note-preview__tags,
.tvh-note-preview__actions,
.tvh-note-checks {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}

.tvh-note-preview__meta {
	color: var(--tvh-muted);
	font-size: 12px;
}

.tvh-note-preview__content {
	max-height: 46vh;
	overflow: auto;
	margin: 16px 0;
	padding-right: 6px;
}

.tvh-note-preview__actions form {
	display: inline-flex;
}

.tvh-note-preview--empty {
	display: grid;
	gap: 12px;
	align-content: start;
}

.tvh-note-templates {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	margin-bottom: 12px;
}

.tvh-note-templates button,
.tvh-note-toolbar button {
	min-height: 36px;
	border: 1px solid var(--tvh-border);
	border-radius: var(--tvh-radius-sm);
	background: var(--tvh-surface-strong);
	color: var(--tvh-text-soft);
}

.tvh-note-templates button {
	padding: 6px 10px;
	font-size: 12px;
	font-weight: 700;
}

.tvh-note-title input {
	min-height: 48px;
	font-size: 22px;
	font-weight: 750;
}

.tvh-note-toolbar {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	margin: 10px 0 14px;
}

.tvh-note-toolbar button {
	display: inline-grid;
	place-items: center;
	width: 40px;
	padding: 0;
}

.tvh-note-editor__fields {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin-top: 10px;
}

.tvh-note-editor__fields label,
.tvh-note-editor label {
	display: grid;
	gap: 6px;
	color: var(--tvh-muted);
	font-size: 12px;
	font-weight: 700;
}

.tvh-note-daily {
	display: grid;
	gap: 8px;
	color: var(--tvh-text-soft);
}

.tvh-note-daily p {
	margin: 0;
}

.tvh-note-daily small,
.tvh-note-daily a {
	font-size: 12px;
}

.tvh-inline-edit {
	display: flex;
	align-items: end;
	gap: 9px;
	flex-wrap: wrap;
	margin: 12px 0 18px;
}

.tvh-inline-edit input {
	width: 120px;
}

.tvh-kanban {
	display: grid;
	grid-template-columns: repeat(5, minmax(190px, 1fr));
	gap: 12px;
	max-width: 100%;
	overflow-x: auto;
	padding-bottom: 4px;
	overscroll-behavior-inline: contain;
}

.tvh-kanban__col {
	min-height: 170px;
	padding: 12px;
	border: 1px solid var(--tvh-border);
	border-radius: var(--tvh-radius);
	background: rgba(239, 238, 232, 0.68);
}

.tvh-kanban__col h3 {
	margin: 0 0 10px;
	color: var(--tvh-text-soft);
	font-size: 13px;
	font-weight: 750;
}

.tvh-kanban__card {
	display: grid;
	gap: 4px;
	min-width: 0;
	margin-bottom: 8px;
	padding: 10px;
	border: 1px solid var(--tvh-border);
	border-radius: 9px;
	background: var(--tvh-surface-strong);
	color: inherit;
	box-shadow: var(--tvh-shadow-xs);
}

.tvh-kanban__card:hover {
	border-color: var(--tvh-border-strong);
	box-shadow: var(--tvh-shadow-sm);
	color: inherit;
	text-decoration: none;
}

.tvh-company-profile {
	display: flex;
	align-items: flex-start;
	gap: var(--tvh-space-4);
	min-width: 0;
}

.tvh-company-dot {
	width: 16px;
	height: 60px;
	border-radius: var(--tvh-radius-pill);
	flex: 0 0 auto;
}

.tvh-meta,
.tvh-meta-grid {
	color: var(--tvh-muted);
	font-size: 13px;
}

.tvh-meta-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 9px;
	margin: 14px 0;
}

.tvh-readable {
	color: var(--tvh-text-soft);
	line-height: 1.75;
	overflow-wrap: anywhere;
}

.tvh-readable > :first-child { margin-top: 0; }
.tvh-readable > :last-child { margin-bottom: 0; }

.tvh-readable--large {
	font-size: 16px;
}

.tvh-detail-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--tvh-space-3);
	min-width: 0;
}

.tvh-secret-box {
	display: grid;
	gap: 11px;
	max-width: 900px;
}

.tvh-secret-box label {
	color: var(--tvh-muted);
	font-size: 12px;
	font-weight: 720;
}

.tvh-secret-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	min-width: 0;
	padding: 12px;
	border: 1px solid var(--tvh-border);
	border-radius: var(--tvh-radius-sm);
	background: var(--tvh-surface-soft);
}

.tvh-secret-row code {
	min-width: 0;
	overflow-wrap: anywhere;
}

.tvh-secret-note {
	min-height: 58px;
	padding: 12px;
	border: 1px dashed var(--tvh-border-strong);
	border-radius: var(--tvh-radius-sm);
	background: var(--tvh-surface-soft);
	white-space: pre-wrap;
	overflow-wrap: anywhere;
}

.tvh-score {
	display: inline-grid;
	place-items: center;
	min-width: 36px;
	height: 28px;
	border-radius: var(--tvh-radius-pill);
	background: var(--tvh-success-soft);
	color: var(--tvh-success);
	font-size: 12px;
	font-weight: 800;
}

.tvh-password-warning {
	min-height: 20px;
	color: var(--tvh-danger);
	font-size: 12px;
	font-weight: 680;
}

.tvh-calendar {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: 7px;
	min-width: 680px;
}

.tvh-calendar__dow {
	padding: 5px;
	color: var(--tvh-muted);
	font-size: 11px;
	font-weight: 740;
	text-align: center;
}

.tvh-calendar__cell {
	display: grid;
	align-content: start;
	gap: 5px;
	min-width: 0;
	min-height: 108px;
	padding: 9px;
	border: 1px solid var(--tvh-border);
	border-radius: 8px;
	background: var(--tvh-surface-strong);
	color: inherit;
	box-shadow: var(--tvh-shadow-xs);
	transition: border-color var(--tvh-transition), box-shadow var(--tvh-transition), transform var(--tvh-transition);
}

.tvh-calendar__cell:hover {
	border-color: var(--tvh-border-strong);
	color: inherit;
	text-decoration: none;
	transform: translateY(-1px);
}

.tvh-calendar__cell.is-selected {
	border-color: var(--tvh-primary);
	box-shadow: var(--tvh-focus);
}

.tvh-calendar__cell.is-muted {
	background: transparent;
	box-shadow: none;
	opacity: 0.48;
}

.tvh-calendar__cell small {
	color: var(--tvh-muted);
	font-size: 10px;
	line-height: 1.35;
}

.tvh-dot-list {
	display: inline-block;
	width: fit-content;
	max-width: 100%;
	border-radius: var(--tvh-radius-pill);
	background: var(--tvh-success-soft);
	color: var(--tvh-success);
	padding: 3px 7px;
	font-size: 10px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.tvh-pagination {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: var(--tvh-space-4);
}

.tvh-pagination__item {
	display: grid;
	place-items: center;
	min-width: 34px;
	height: 34px;
	border: 1px solid var(--tvh-border);
	border-radius: var(--tvh-radius-sm);
	background: var(--tvh-surface-strong);
	color: var(--tvh-text-soft);
	font-size: 12px;
	font-weight: 700;
}

.tvh-pagination__item:hover {
	background: var(--tvh-surface-soft);
	text-decoration: none;
}

.tvh-pagination__item.is-active {
	border-color: var(--tvh-primary);
	background: var(--tvh-primary);
	color: var(--tvh-white);
}

.tvh-alert,
.tvh-flash {
	position: relative;
	padding: 12px 14px 12px 38px;
	border: 1px solid var(--tvh-border);
	border-radius: var(--tvh-radius);
	background: var(--tvh-info-soft);
	color: var(--tvh-text-soft);
	box-shadow: var(--tvh-shadow-xs);
}

.tvh-alert::before,
.tvh-flash::before {
	position: absolute;
	top: 12px;
	left: 14px;
	content: "•";
	font-size: 18px;
	line-height: 1;
}

.tvh-alert--success,
.tvh-flash--success {
	border-color: #b9dcc8;
	background: var(--tvh-success-soft);
	color: #245f41;
}

.tvh-alert--warning,
.tvh-flash--warning {
	border-color: #e7d2a7;
	background: var(--tvh-warning-soft);
	color: #7e5312;
}

.tvh-alert--error,
.tvh-flash--error {
	border-color: #e8c0bc;
	background: var(--tvh-danger-soft);
	color: #943a34;
}

.tvh-alert--info,
.tvh-flash--info {
	border-color: #c9d6e8;
	background: var(--tvh-info-soft);
	color: #3f5f8e;
}

.tvh-empty {
	margin: 10px 0;
	color: var(--tvh-muted);
	font-style: normal;
}

.tvh-export-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 9px;
}

.tvh-export-grid .tvh-button {
	width: 100%;
}

.tvh-system-info {
	margin-top: var(--tvh-space-4);
	padding: 12px 14px;
	border: 1px solid var(--tvh-border);
	border-radius: var(--tvh-radius-sm);
	background: var(--tvh-surface-soft);
	color: var(--tvh-text-soft);
}

.tvh-settings-console {
	display: grid;
	grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
	align-items: start;
	gap: var(--tvh-space-5);
	min-width: 0;
}

.tvh-settings-nav {
	position: sticky;
	top: 16px;
	display: grid;
	gap: 6px;
	min-width: 0;
	padding: 14px;
	border: 1px solid var(--tvh-border);
	border-radius: var(--tvh-radius-lg);
	background: var(--tvh-surface);
	box-shadow: var(--tvh-shadow-soft);
}

.tvh-settings-nav .tvh-eyebrow {
	margin: 2px 4px 8px;
}

.tvh-settings-nav__item {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
	padding: 11px 12px;
	border: 1px solid transparent;
	border-radius: 8px;
	color: var(--tvh-text-soft);
	font-size: 14px;
	font-weight: 760;
	line-height: 1.3;
	text-decoration: none;
}

.tvh-settings-nav__item:hover,
.tvh-settings-nav__item:focus-visible {
	border-color: var(--tvh-border);
	background: var(--tvh-surface-soft);
	color: var(--tvh-text);
}

.tvh-settings-nav__item.is-active {
	border-color: color-mix(in srgb, var(--tvh-primary) 28%, var(--tvh-border));
	background: color-mix(in srgb, var(--tvh-primary) 12%, var(--tvh-surface));
	color: var(--tvh-primary-hover);
}

.tvh-settings-nav__item .tvh-lucide {
	width: 17px;
	height: 17px;
	flex: 0 0 17px;
}

.tvh-settings-nav__item span {
	min-width: 0;
	overflow-wrap: anywhere;
}

.tvh-settings-content {
	display: grid;
	min-width: 0;
}

.tvh-settings-panel {
	min-width: 0;
	min-height: min(620px, calc(100dvh - 176px));
}

.tvh-settings-panel[hidden] {
	display: none !important;
}

.tvh-sensitive-settings {
	gap: 14px;
	margin: var(--tvh-space-4) 0;
	padding-top: var(--tvh-space-4);
	border-top: 1px solid var(--tvh-border);
}

.tvh-sensitive-settings__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	min-width: 0;
}

.tvh-sensitive-settings__head h4 {
	margin: 0 0 4px;
	font-size: 17px;
	line-height: 1.3;
}

.tvh-sensitive-settings__head .tvh-muted {
	margin: 0;
}

.tvh-sensitive-gate {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: start;
	gap: clamp(16px, 3vw, 24px);
	max-width: 760px;
}

.tvh-sensitive-gate__icon {
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	border: 1px solid color-mix(in srgb, var(--tvh-primary) 22%, var(--tvh-border));
	border-radius: 14px;
	background: color-mix(in srgb, var(--tvh-primary) 10%, var(--tvh-surface));
	color: var(--tvh-primary-hover);
}

.tvh-sensitive-gate__icon .tvh-lucide {
	width: 24px;
	height: 24px;
}

.tvh-sensitive-gate__body {
	display: grid;
	gap: 12px;
	min-width: 0;
}

.tvh-sensitive-gate__body h3 {
	margin: 0;
	font-size: clamp(22px, 3vw, 30px);
	line-height: 1.15;
}

.tvh-sensitive-gate__body .tvh-muted {
	margin: 0;
}

.tvh-sensitive-gate__form {
	max-width: 420px;
}

.tvh-sensitive-gate input[name="sensitive_pin"],
.tvh-sensitive-settings input[type="password"][name^="sensitive_"] {
	font-size: 18px;
	letter-spacing: 0;
}

@media (max-width: 680px) {
	.tvh-sensitive-settings__head,
	.tvh-sensitive-gate {
		grid-template-columns: minmax(0, 1fr);
	}

	.tvh-sensitive-settings__head {
		display: grid;
	}
}

@media (max-width: 980px) {
	.tvh-settings-console {
		grid-template-columns: minmax(0, 1fr);
	}

	.tvh-settings-nav {
		position: static;
	}

	.tvh-settings-panel {
		min-height: auto;
	}
}

.tvh-public {
	width: min(100%, 900px);
	margin: 40px auto;
	padding: 0 20px;
}

.tvh-public__article {
	padding: clamp(22px, 4vw, 36px);
	border: 1px solid var(--tvh-border);
	border-radius: var(--tvh-radius-lg);
	background: var(--tvh-surface);
	box-shadow: var(--tvh-shadow);
}

.tvh-public__article--center {
	text-align: center;
}

.tvh-capture-hero {
	display: grid;
	gap: 18px;
	padding: clamp(20px, 3vw, 34px);
	border: 1px solid var(--tvh-border);
	border-radius: var(--tvh-radius-lg);
	background: var(--tvh-surface);
	box-shadow: var(--tvh-shadow);
}

.tvh-capture-hero__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: var(--tvh-space-4);
	min-width: 0;
}

.tvh-capture-hero__head > * {
	min-width: 0;
}

.tvh-capture-hero h2 {
	margin: 0;
	max-width: 820px;
	font-size: clamp(29px, 4vw, 52px);
	font-weight: 760;
	letter-spacing: 0;
	line-height: 1.08;
}

.tvh-capture-hero__mini {
	display: grid;
	gap: 2px;
	min-width: 156px;
	padding: 10px 12px;
	border: 1px solid rgba(200, 195, 183, 0.7);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.72);
	text-align: right;
	box-shadow: var(--tvh-shadow-xs);
}

.tvh-capture-hero__mini span {
	color: var(--tvh-muted);
	font-size: 11px;
}

.tvh-capture-box {
	display: grid;
	gap: 12px;
	min-width: 0;
}

.tvh-capture-box textarea {
	min-height: 148px;
	border-color: rgba(200, 195, 183, 0.82);
	border-radius: var(--tvh-radius);
	background: rgba(255, 255, 255, 0.82);
	padding: clamp(16px, 2vw, 22px);
	box-shadow: inset 0 1px 2px rgba(41, 42, 38, 0.035);
	font-size: clamp(17px, 1.7vw, 21px);
	line-height: 1.5;
}

.tvh-capture-box textarea:focus {
	border-color: var(--tvh-primary);
	background: var(--tvh-surface-strong);
	box-shadow: var(--tvh-focus);
}

.tvh-capture-box__tools {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(180px, 210px) auto;
	align-items: center;
	gap: 10px;
	min-width: 0;
}

.tvh-segmented {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.tvh-segmented input {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
}

.tvh-segmented span {
	display: inline-flex;
	align-items: center;
	min-height: 34px;
	border: 1px solid var(--tvh-border);
	border-radius: var(--tvh-radius-pill);
	background: rgba(255, 255, 255, 0.78);
	color: var(--tvh-text-soft);
	padding: 7px 11px;
	font-size: 12px;
	font-weight: 680;
	transition: border-color var(--tvh-transition), background var(--tvh-transition), color var(--tvh-transition);
}

.tvh-segmented input:focus-visible + span {
	box-shadow: var(--tvh-focus);
}

.tvh-segmented input:checked + span {
	border-color: var(--tvh-primary);
	background: var(--tvh-primary);
	color: var(--tvh-white);
}

.tvh-capture-submit {
	min-height: 42px;
	padding-inline: 17px;
}

.tvh-suggestion-chip {
	border-color: rgba(200, 195, 183, 0.76);
	background: rgba(255, 255, 255, 0.64);
	color: var(--tvh-muted);
	padding: 7px 11px;
	font-weight: 560;
	cursor: pointer;
}

.tvh-home-strip {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
}

.tvh-home-card {
	display: grid;
	gap: 6px;
	padding: 15px 16px;
	color: inherit;
	transition: border-color var(--tvh-transition), box-shadow var(--tvh-transition), transform var(--tvh-transition);
}

.tvh-home-card:hover {
	border-color: var(--tvh-border-strong);
	box-shadow: var(--tvh-shadow-sm);
	color: inherit;
	text-decoration: none;
	transform: translateY(-2px);
}

.tvh-home-card span {
	color: var(--tvh-muted);
	font-size: 12px;
	font-weight: 650;
}

.tvh-home-card strong {
	font-size: clamp(20px, 2.3vw, 27px);
	letter-spacing: 0;
	overflow-wrap: anywhere;
}

.tvh-home-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr);
	align-items: start;
	gap: var(--tvh-space-4);
	min-width: 0;
}

.tvh-focus-panel {
	min-height: 500px;
}

.tvh-side-stack {
	display: grid;
	gap: var(--tvh-space-4);
	min-width: 0;
}

.tvh-inbox-list {
	display: grid;
}

.tvh-inbox-item {
	display: grid;
	grid-template-columns: 9px minmax(0, 1fr) auto;
	align-items: start;
	gap: 11px;
	min-width: 0;
	padding: 13px 0;
	border-bottom: 1px solid var(--tvh-border);
	color: inherit;
}

.tvh-inbox-item:last-child {
	border-bottom: 0;
}

.tvh-inbox-item:hover {
	color: inherit;
	text-decoration: none;
}

.tvh-inbox-item__dot {
	width: 7px;
	height: 7px;
	margin-top: 7px;
	border-radius: 50%;
	background: var(--tvh-primary);
	box-shadow: 0 0 0 4px var(--tvh-primary-soft);
}

.tvh-inbox-item strong {
	display: block;
}

.tvh-inbox-item small {
	display: block;
	margin-top: 3px;
	color: var(--tvh-muted);
	line-height: 1.5;
}

.tvh-inbox-item em {
	color: var(--tvh-muted);
	font-size: 11px;
	font-style: normal;
	white-space: nowrap;
}

.tvh-money-mini {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 9px;
	margin-bottom: 8px;
}

.tvh-money-mini div {
	min-width: 0;
	padding: 11px;
	border-radius: var(--tvh-radius-sm);
	background: var(--tvh-surface-soft);
}

.tvh-money-mini span {
	display: block;
	color: var(--tvh-muted);
	font-size: 11px;
	font-weight: 700;
}

.tvh-money-mini strong {
	display: block;
	margin-top: 4px;
	font-size: 16px;
	overflow-wrap: anywhere;
}

.tvh-ai-chat {
	display: flex;
	flex-direction: column;
	gap: 11px;
	max-height: 540px;
	padding: 12px;
	overflow: auto;
	border: 1px solid var(--tvh-border);
	border-radius: var(--tvh-radius);
	background: var(--tvh-surface-soft);
}

.tvh-ai-message {
	display: flex;
}

.tvh-ai-message--user {
	justify-content: flex-end;
}

.tvh-ai-bubble {
	max-width: min(720px, 88%);
	padding: 11px 13px;
	border: 1px solid var(--tvh-border);
	border-radius: 8px 8px 8px 4px;
	background: var(--tvh-surface-strong);
	box-shadow: var(--tvh-shadow-xs);
	overflow-wrap: anywhere;
}

.tvh-ai-message--user .tvh-ai-bubble {
	border-color: var(--tvh-primary);
	border-radius: 8px 8px 4px 8px;
	background: var(--tvh-primary);
	color: var(--tvh-white);
}

.tvh-ai-meta {
	margin-bottom: 5px;
	font-size: 11px;
	opacity: 0.72;
}

.tvh-ai-warning {
	margin-top: 9px;
	padding: 8px 10px;
	border-radius: var(--tvh-radius-sm);
	background: var(--tvh-warning-soft);
	color: var(--tvh-warning);
	font-size: 12px;
}

.tvh-ai-actions,
.tvh-import-list {
	display: grid;
	gap: 11px;
}

.tvh-ai-action {
	padding: 12px;
	border: 1px solid var(--tvh-border);
	border-radius: var(--tvh-radius);
	background: var(--tvh-surface-strong);
}

.tvh-ai-action__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 10px;
	min-width: 0;
}

.tvh-ai-action__head > * {
	min-width: 0;
}

.tvh-ai-action__head small {
	display: block;
	margin-top: 3px;
	color: var(--tvh-muted);
}

.tvh-ai-payload {
	margin-top: 10px;
}

.tvh-ai-payload .tvh-form-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tvh-import-card {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(180px, 0.7fr) auto;
	align-items: center;
	gap: 11px;
	min-width: 0;
	padding: 12px;
	border: 1px solid var(--tvh-border);
	border-radius: var(--tvh-radius);
	background: var(--tvh-surface-strong);
}

.tvh-import-card > * {
	min-width: 0;
}

.tvh-import-card small {
	display: block;
	margin-top: 3px;
	color: var(--tvh-muted);
}

body.admin-bar .tvh-sidebar,
body.admin-bar .tvh-topbar {
	top: 32px;
}

body.admin-bar .tvh-sidebar {
	height: calc(100vh - 32px);
}

@media (max-width: 1180px) {
	.tvh-grid--3,
	.tvh-note-grid,
	.tvh-grid--4,
	.tvh-metric-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tvh-filter {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.tvh-capture-box__tools,
	.tvh-home-layout {
		grid-template-columns: 1fr;
	}

	.tvh-capture-box__tools > select {
		max-width: 320px;
	}
}

@media (max-width: 980px) {
	.tvh-grid--wide-left,
	.tvh-ai-payload .tvh-form-grid,
	.tvh-import-card {
		grid-template-columns: 1fr;
	}

	.tvh-home-strip {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 860px) {
	.tvh-app {
		grid-template-columns: minmax(0, 1fr);
	}

	.tvh-sidebar {
		position: fixed;
		inset: 0 auto auto 0;
		width: min(86vw, 292px);
		height: 100dvh;
		padding-top: 16px;
		box-shadow: 18px 0 44px rgba(41, 42, 38, 0.18);
		transform: translateX(-105%);
		transition: transform 220ms ease;
	}

	.tvh-sidebar.is-open {
		transform: translateX(0);
	}

	.tvh-topbar {
		grid-template-columns: auto minmax(0, 1fr) auto;
		gap: 10px;
		min-height: 66px;
		padding: 10px 14px;
	}

	.tvh-sidebar-toggle {
		display: inline-flex;
	}

	.tvh-topbar__actions {
		gap: 6px;
	}

	.tvh-user-pill__name {
		display: none;
	}

	.tvh-user-pill {
		padding-right: 6px;
	}

	.tvh-main {
		gap: 16px;
		padding: 18px 14px 28px;
	}

	.tvh-page-head,
	.tvh-detail-head {
		align-items: flex-start;
		flex-direction: column;
	}

	.tvh-page-head .tvh-actions,
	.tvh-detail-head .tvh-actions {
		width: 100%;
	}

	.tvh-grid--2,
	.tvh-grid--3,
	.tvh-grid--4,
	.tvh-metric-grid,
	.tvh-metric-grid--compact,
	.tvh-note-grid,
	.tvh-form-grid,
	.tvh-meta-grid,
	.tvh-export-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.tvh-filter,
	.tvh-search-form,
	.tvh-filter--inline {
		grid-template-columns: minmax(0, 1fr);
	}

	.tvh-calendar {
		gap: 5px;
	}

	.tvh-calendar__cell {
		min-height: 86px;
		padding: 7px;
	}

	.tvh-capture-hero__head {
		flex-direction: column;
	}

	.tvh-capture-hero__mini {
		text-align: left;
	}

	.tvh-capture-box > textarea {
		font-size: 17px;
	}

	.tvh-inbox-item {
		grid-template-columns: 9px minmax(0, 1fr);
	}

	.tvh-inbox-item em {
		grid-column: 2;
	}
}

@media (max-width: 782px) {
	body.admin-bar .tvh-sidebar,
	body.admin-bar .tvh-topbar {
		top: 46px;
	}

	body.admin-bar .tvh-sidebar {
		height: calc(100dvh - 46px);
	}
}

@media (max-width: 540px) {
	.tvh-topbar {
		gap: 7px;
		padding-inline: 10px;
	}

	.tvh-topbar h1,
	.tvh-page-head h2 {
		font-size: 19px;
	}

	.tvh-topbar .tvh-eyebrow {
		display: none;
	}

	.tvh-topbar__actions .tvh-button {
		min-height: 36px;
		padding: 7px 9px;
		font-size: 12px;
	}

	.tvh-user-pill {
		min-height: 36px;
	}

	.tvh-main {
		padding-inline: 10px;
	}

	.tvh-panel {
		padding: 14px;
	}

	.tvh-panel__head {
		align-items: flex-start;
		flex-direction: column;
	}

	.tvh-panel__head .tvh-actions {
		width: 100%;
	}

	.tvh-home-strip,
	.tvh-money-mini {
		grid-template-columns: minmax(0, 1fr);
	}

	.tvh-capture-hero {
		padding: 18px 14px;
	}

	.tvh-capture-hero h2 {
		font-size: 29px;
	}

	.tvh-capture-box textarea {
		min-height: 132px;
		padding: 14px;
	}

	.tvh-capture-box__tools > select,
	.tvh-capture-box__tools > .tvh-button {
		width: 100%;
		max-width: none;
	}

	.tvh-secret-row,
	.tvh-list__item {
		align-items: flex-start;
		flex-direction: column;
	}

	.tvh-secret-row .tvh-button,
	.tvh-list__item > .tvh-button {
		width: 100%;
	}

	.tvh-input-with-button {
		grid-template-columns: minmax(0, 1fr);
	}

	.tvh-input-with-button .tvh-button {
		width: 100%;
	}

	.tvh-bar-row {
		grid-template-columns: 84px minmax(70px, 1fr) 28px;
		gap: 7px;
	}

	.tvh-ai-bubble {
		max-width: 94%;
	}

	.tvh-actions > .tvh-button,
	.tvh-actions > form {
		max-width: 100%;
	}
}

@media (max-width: 390px) {
	.tvh-topbar {
		grid-template-columns: auto minmax(0, 1fr) auto;
	}

	.tvh-topbar__actions > .tvh-user-pill {
		display: none;
	}

	.tvh-topbar h1 {
		font-size: 17px;
	}

	.tvh-button,
	.tvh-icon-button {
		min-height: 36px;
	}

	.tvh-icon-button {
		width: 36px;
		min-width: 36px;
	}

	.tvh-capture-hero h2 {
		font-size: 26px;
	}

	.tvh-segmented {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tvh-segmented label,
	.tvh-segmented span {
		width: 100%;
	}

	.tvh-panel,
	.tvh-note-card,
	.tvh-home-card {
		border-radius: 8px;
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}

/* P2 app shell */
:root {
	--tvh-bg: #f5f4ef;
	--tvh-surface: #fffdf9;
	--tvh-surface-strong: #ffffff;
	--tvh-radius-sm: 6px;
	--tvh-radius: 8px;
	--tvh-radius-lg: 8px;
	--tvh-sidebar-width: 264px;
	--tvh-sidebar-collapsed-width: 76px;
	--tvh-topbar-height: 70px;
	--tvh-mobile-nav-height: 70px;
}

[hidden] {
	display: none !important;
}

html,
body {
	overflow-x: hidden;
}

body {
	background: var(--tvh-bg);
}

* {
	letter-spacing: 0 !important;
}

.tvh-lucide {
	display: block;
	width: 18px;
	height: 18px;
	flex: 0 0 auto;
}

.tvh-button .tvh-lucide,
.tvh-icon-button .tvh-lucide,
.tvh-dropdown__item .tvh-lucide {
	width: 17px;
	height: 17px;
}

.tvh-app {
	position: relative;
	grid-template-columns: var(--tvh-sidebar-width) minmax(0, 1fr);
	transition: grid-template-columns var(--tvh-transition);
}

.tvh-shell {
	min-width: 0;
}

.tvh-sidebar {
	position: sticky;
	top: 0;
	z-index: 50;
	width: 100%;
	height: 100dvh;
	padding: 12px 10px;
	overflow-x: hidden;
	overflow-y: auto;
	border-right: 1px solid var(--tvh-border);
	background: rgba(250, 249, 245, 0.98);
	box-shadow: none;
	backdrop-filter: none;
	scrollbar-gutter: stable;
}

.tvh-sidebar__head {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 38px;
	align-items: center;
	gap: 8px;
	min-width: 0;
	margin-bottom: 12px;
}

.tvh-brand {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
	padding: 6px;
	border-radius: var(--tvh-radius);
	color: inherit;
	text-decoration: none;
}

.tvh-brand:hover {
	background: var(--tvh-surface-soft);
	color: inherit;
	text-decoration: none;
}

.tvh-brand__mark {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border-radius: var(--tvh-radius);
	background: var(--tvh-primary);
	color: var(--tvh-white);
	box-shadow: none;
	font-size: 12px;
	font-weight: 800;
	flex: 0 0 auto;
}

.tvh-brand__text,
.tvh-sidebar__user-text {
	display: grid;
	min-width: 0;
}

.tvh-brand__name,
.tvh-brand__sub,
.tvh-sidebar__user-text strong,
.tvh-sidebar__user-text span {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.tvh-sidebar__collapse {
	width: 38px;
	min-width: 38px;
}

.tvh-nav {
	display: grid;
	gap: 14px;
}

.tvh-nav__section {
	display: grid;
	gap: 5px;
	min-width: 0;
}

.tvh-nav__section-title {
	margin: 0;
	padding: 0 9px;
	color: var(--tvh-muted);
	font-size: 11px;
	font-weight: 760;
	line-height: 1.6;
	text-transform: uppercase;
}

.tvh-nav__list {
	display: grid;
	gap: 3px;
	min-width: 0;
}

.tvh-nav__item {
	position: relative;
	min-height: 42px;
	border-radius: var(--tvh-radius);
	padding: 7px 9px;
	transform: none;
}

.tvh-nav__item:hover {
	transform: none;
}

.tvh-nav__item[aria-current="page"] {
	background: var(--tvh-primary-soft);
	color: var(--tvh-primary-hover);
}

.tvh-nav__item[aria-current="page"]::before {
	inset: 8px auto 8px -2px;
	border-radius: var(--tvh-radius-pill);
}

.tvh-nav__icon {
	width: 28px;
	height: 28px;
	border-radius: var(--tvh-radius);
	background: rgba(255, 255, 255, 0.78);
	box-shadow: inset 0 0 0 1px rgba(41, 42, 38, 0.06);
}

.tvh-nav__icon::before {
	content: none;
}

.tvh-nav__label {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.tvh-sidebar__footer {
	display: grid;
	gap: 10px;
	margin-top: auto;
	padding: 14px 6px 4px;
	border-top: 1px solid var(--tvh-border);
}

.tvh-sidebar__account {
	display: flex;
	align-items: center;
	gap: 9px;
	min-width: 0;
	padding: 6px;
	border-radius: var(--tvh-radius);
}

.tvh-user-avatar,
.tvh-user-pill__avatar {
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--tvh-primary-soft);
	color: var(--tvh-primary-hover);
	font-size: 12px;
	font-weight: 800;
	flex: 0 0 auto;
}

.tvh-sidebar__user-text strong {
	color: var(--tvh-text);
	font-size: 13px;
	line-height: 1.3;
}

.tvh-sidebar__user-text span {
	color: var(--tvh-muted);
	font-size: 11px;
}

.tvh-sidebar__logout {
	display: flex;
	align-items: center;
	gap: 9px;
	min-height: 40px;
	padding: 8px;
	border-radius: var(--tvh-radius);
	color: var(--tvh-text-soft);
	font-size: 13px;
	font-weight: 680;
	text-decoration: none;
}

.tvh-sidebar__logout:hover {
	background: var(--tvh-danger-soft);
	color: var(--tvh-danger);
	text-decoration: none;
}

.tvh-sidebar-backdrop {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 45;
	border: 0;
	background: rgba(41, 42, 38, 0.34);
	padding: 0;
}

.tvh-sidebar-collapsed-preload .tvh-app,
.tvh-app.is-sidebar-collapsed {
	grid-template-columns: var(--tvh-sidebar-collapsed-width) minmax(0, 1fr);
}

@media (min-width: 1200px) {
	.tvh-sidebar-collapsed-preload .tvh-sidebar,
	.tvh-app.is-sidebar-collapsed .tvh-sidebar {
		padding-inline: 8px;
	}

	.tvh-sidebar-collapsed-preload .tvh-sidebar__head,
	.tvh-app.is-sidebar-collapsed .tvh-sidebar__head {
		grid-template-columns: minmax(0, 1fr);
	}

	.tvh-sidebar-collapsed-preload .tvh-sidebar__collapse,
	.tvh-app.is-sidebar-collapsed .tvh-sidebar__collapse {
		justify-self: center;
	}

	.tvh-sidebar-collapsed-preload .tvh-brand,
	.tvh-app.is-sidebar-collapsed .tvh-brand,
	.tvh-sidebar-collapsed-preload .tvh-nav__item,
	.tvh-app.is-sidebar-collapsed .tvh-nav__item,
	.tvh-sidebar-collapsed-preload .tvh-sidebar__logout,
	.tvh-app.is-sidebar-collapsed .tvh-sidebar__logout {
		justify-content: center;
	}

	.tvh-sidebar-collapsed-preload .tvh-brand__text,
	.tvh-app.is-sidebar-collapsed .tvh-brand__text,
	.tvh-sidebar-collapsed-preload .tvh-nav__section-title,
	.tvh-app.is-sidebar-collapsed .tvh-nav__section-title,
	.tvh-sidebar-collapsed-preload .tvh-nav__label,
	.tvh-app.is-sidebar-collapsed .tvh-nav__label,
	.tvh-sidebar-collapsed-preload .tvh-sidebar__user-text,
	.tvh-app.is-sidebar-collapsed .tvh-sidebar__user-text,
	.tvh-sidebar-collapsed-preload .tvh-sidebar__logout-label,
	.tvh-app.is-sidebar-collapsed .tvh-sidebar__logout-label {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
		white-space: nowrap;
	}

	.tvh-sidebar-collapsed-preload .tvh-sidebar__account,
	.tvh-app.is-sidebar-collapsed .tvh-sidebar__account {
		justify-content: center;
		padding-inline: 0;
	}

	.tvh-sidebar-collapsed-preload [data-tooltip]::after,
	.tvh-app.is-sidebar-collapsed [data-tooltip]::after {
		position: absolute;
		left: calc(100% + 9px);
		top: 50%;
		z-index: 80;
		width: max-content;
		max-width: 220px;
		padding: 6px 8px;
		border: 1px solid var(--tvh-border);
		border-radius: var(--tvh-radius-sm);
		background: var(--tvh-text);
		color: var(--tvh-white);
		font-size: 12px;
		font-weight: 650;
		line-height: 1.25;
		opacity: 0;
		pointer-events: none;
		content: attr(data-tooltip);
		transform: translateY(-50%) translateX(-4px);
		transition: opacity var(--tvh-transition), transform var(--tvh-transition);
	}

	.tvh-sidebar-collapsed-preload [data-tooltip]:hover::after,
	.tvh-sidebar-collapsed-preload [data-tooltip]:focus-visible::after,
	.tvh-app.is-sidebar-collapsed [data-tooltip]:hover::after,
	.tvh-app.is-sidebar-collapsed [data-tooltip]:focus-visible::after {
		opacity: 1;
		transform: translateY(-50%) translateX(0);
	}
}

.tvh-topbar {
	position: sticky;
	top: 0;
	z-index: 35;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	min-height: var(--tvh-topbar-height);
	padding: 10px clamp(16px, 2.2vw, 30px);
	background: rgba(245, 244, 239, 0.96);
	backdrop-filter: blur(14px);
}

.tvh-topbar__title {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
}

.tvh-topbar__copy {
	display: grid;
	gap: 2px;
	min-width: 0;
}

.tvh-breadcrumb {
	display: flex;
	align-items: center;
	gap: 6px;
	min-width: 0;
	color: var(--tvh-muted);
	font-size: 11px;
	font-weight: 680;
	line-height: 1.25;
}

.tvh-breadcrumb span {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.tvh-topbar h1 {
	margin: 0;
	max-width: min(58vw, 720px);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-size: clamp(20px, 1.45vw, 24px);
	line-height: 1.18;
	font-weight: 760;
}

.tvh-topbar__description {
	margin: 0;
	max-width: min(64vw, 780px);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	color: var(--tvh-muted);
	font-size: 12px;
	line-height: 1.35;
}

.tvh-sidebar-drawer-toggle,
.tvh-header-overflow {
	display: none;
}

.tvh-topbar__actions {
	gap: 8px;
}

.tvh-menu {
	position: relative;
	display: inline-flex;
	min-width: 0;
}

.tvh-dropdown {
	position: absolute;
	top: calc(100% + 8px);
	right: 0;
	z-index: 90;
	display: grid;
	gap: 4px;
	width: min(280px, calc(100vw - 24px));
	padding: 6px;
	border: 1px solid var(--tvh-border);
	border-radius: var(--tvh-radius);
	background: var(--tvh-surface-strong);
	box-shadow: var(--tvh-shadow);
}

.tvh-dropdown--actions {
	width: 260px;
}

.tvh-dropdown__item {
	display: flex;
	align-items: center;
	gap: 9px;
	min-height: 40px;
	padding: 8px 9px;
	border-radius: var(--tvh-radius-sm);
	color: var(--tvh-text-soft);
	font-size: 13px;
	font-weight: 670;
	text-decoration: none;
}

.tvh-dropdown__item:hover,
.tvh-dropdown__item:focus-visible {
	background: var(--tvh-primary-soft);
	color: var(--tvh-primary-hover);
	text-decoration: none;
}

.tvh-user-pill {
	border-radius: var(--tvh-radius);
	background: var(--tvh-surface-strong);
	cursor: pointer;
}

.tvh-user-pill .tvh-lucide {
	width: 15px;
	height: 15px;
	color: var(--tvh-muted);
}

.tvh-main {
	scroll-padding-top: calc(var(--tvh-topbar-height) + 16px);
}

.tvh-main > section,
.tvh-panel,
.tvh-page-head,
.tvh-detail-head {
	scroll-margin-top: calc(var(--tvh-topbar-height) + 18px);
}

.tvh-page-head,
.tvh-toolbar {
	align-items: center;
	padding: 2px 0;
}

.tvh-page-head h2,
.tvh-detail-head h2 {
	font-size: clamp(18px, 1.4vw, 22px);
	line-height: 1.25;
}

.tvh-primary-action,
.tvh-secondary-action,
.tvh-overflow-menu {
	flex: 0 0 auto;
}

.tvh-panel,
.tvh-note-card,
.tvh-metric,
.tvh-home-card,
.tvh-kanban__col,
.tvh-kanban__card,
.tvh-calendar__cell,
.tvh-alert,
.tvh-flash,
.tvh-public__article,
.tvh-capture-hero,
.tvh-ai-action,
.tvh-ai-chat,
.tvh-ai-bubble {
	border-radius: var(--tvh-radius);
}

.tvh-metric::after {
	display: none;
}

.tvh-progress i,
.tvh-bar i {
	background: var(--tvh-primary);
}

.tvh-capture-hero {
	background: var(--tvh-surface);
	box-shadow: var(--tvh-shadow-xs);
}

.tvh-capture-hero h2 {
	font-size: clamp(25px, 3vw, 38px);
	line-height: 1.12;
}

.tvh-capture-hero__mini {
	border-radius: var(--tvh-radius);
}

.tvh-button.is-loading,
.tvh-icon-button.is-loading,
[aria-busy="true"] {
	cursor: progress;
	opacity: 0.72;
}

.tvh-state {
	display: grid;
	gap: 6px;
	padding: 16px;
	border: 1px dashed var(--tvh-border-strong);
	border-radius: var(--tvh-radius);
	background: var(--tvh-surface);
	color: var(--tvh-muted);
}

.tvh-state--error {
	border-color: #e8c0bc;
	background: var(--tvh-danger-soft);
	color: var(--tvh-danger);
}

.tvh-state--success {
	border-color: #b9dcc8;
	background: var(--tvh-success-soft);
	color: var(--tvh-success);
}

.tvh-mobile-nav,
.tvh-bottom-sheet {
	display: none;
}

body.tvh-overlay-open {
	overflow: hidden;
}

@media (min-width: 768px) and (max-width: 1199px) {
	.tvh-app {
		grid-template-columns: var(--tvh-sidebar-collapsed-width) minmax(0, 1fr);
	}

	.tvh-sidebar {
		position: sticky;
		inset: auto;
		top: 0;
		width: var(--tvh-sidebar-collapsed-width);
		height: 100dvh;
		padding-inline: 8px;
		transform: none;
		transition: width 180ms ease, box-shadow 180ms ease;
	}

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

	.tvh-sidebar__collapse,
	.tvh-brand,
	.tvh-nav__item,
	.tvh-sidebar__logout,
	.tvh-sidebar__account {
		justify-content: center;
	}

	.tvh-brand__text,
	.tvh-nav__section-title,
	.tvh-nav__label,
	.tvh-sidebar__user-text,
	.tvh-sidebar__logout-label {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
		white-space: nowrap;
	}

	.tvh-sidebar-drawer-toggle {
		display: inline-flex;
	}

	.tvh-app.is-sidebar-drawer-open .tvh-sidebar {
		position: fixed;
		top: 0;
		left: 0;
		z-index: 70;
		width: min(292px, calc(100vw - 28px)) !important;
		min-width: min(292px, calc(100vw - 28px));
		max-width: min(292px, calc(100vw - 28px));
		box-shadow: 18px 0 44px rgba(41, 42, 38, 0.18);
	}

	.tvh-app.is-sidebar-drawer-open .tvh-sidebar__head {
		grid-template-columns: minmax(0, 1fr) 38px;
	}

	.tvh-app.is-sidebar-drawer-open .tvh-sidebar__collapse {
		justify-self: end;
	}

	.tvh-app.is-sidebar-drawer-open .tvh-brand,
	.tvh-app.is-sidebar-drawer-open .tvh-nav__item,
	.tvh-app.is-sidebar-drawer-open .tvh-sidebar__logout,
	.tvh-app.is-sidebar-drawer-open .tvh-sidebar__account {
		justify-content: flex-start;
	}

	.tvh-app.is-sidebar-drawer-open .tvh-brand__text,
	.tvh-app.is-sidebar-drawer-open .tvh-nav__section-title,
	.tvh-app.is-sidebar-drawer-open .tvh-nav__label,
	.tvh-app.is-sidebar-drawer-open .tvh-sidebar__user-text,
	.tvh-app.is-sidebar-drawer-open .tvh-sidebar__logout-label {
		position: static;
		width: auto;
		height: auto;
		overflow: visible;
		clip: auto;
		white-space: normal;
	}

	.tvh-app.is-sidebar-drawer-open .tvh-sidebar-backdrop {
		display: block;
	}

	.tvh-topbar {
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.tvh-topbar h1 {
		max-width: 52vw;
	}
}

@media (max-width: 767px) {
	:root {
		--tvh-topbar-height: 62px;
	}

	.tvh-app {
		display: block;
		min-height: 100dvh;
	}

	.tvh-sidebar,
	.tvh-sidebar-backdrop,
	.tvh-sidebar-drawer-toggle,
	.tvh-user-menu {
		display: none !important;
	}

	.tvh-topbar {
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 8px;
		min-height: var(--tvh-topbar-height);
		padding: 8px 10px;
	}

	.tvh-topbar__title {
		gap: 0;
	}

	.tvh-breadcrumb,
	.tvh-topbar__description {
		display: none;
	}

	.tvh-topbar h1 {
		max-width: 42vw;
		font-size: 18px;
		line-height: 1.2;
	}

	.tvh-topbar__actions {
		gap: 5px;
	}

	.tvh-action-label {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
		white-space: nowrap;
	}

	.tvh-header-overflow {
		display: inline-flex;
	}

	.tvh-dropdown {
		position: fixed;
		top: calc(var(--tvh-topbar-height) + 8px);
		right: 8px;
		width: min(280px, calc(100vw - 16px));
	}

	.tvh-button,
	.tvh-icon-button {
		min-height: 40px;
	}

	.tvh-icon-button,
	.tvh-topbar .tvh-button {
		width: 40px;
		min-width: 40px;
		padding: 0;
	}

	.tvh-main {
		width: 100%;
		padding: 14px 12px calc(var(--tvh-mobile-nav-height) + env(safe-area-inset-bottom, 0px) + 18px);
	}

	.tvh-page-head {
		align-items: flex-start;
		gap: 10px;
	}

	.tvh-page-head .tvh-button,
	.tvh-page-head .tvh-actions {
		width: 100%;
	}

	.tvh-filter,
	.tvh-search-form,
	.tvh-filter--inline {
		grid-template-columns: minmax(0, 1fr);
	}

	.tvh-table {
		min-width: 680px;
	}

	.tvh-calendar {
		min-width: 640px;
	}

	.tvh-mobile-nav {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 80;
		display: grid;
		grid-template-columns: repeat(6, minmax(0, 1fr));
		min-height: calc(var(--tvh-mobile-nav-height) + env(safe-area-inset-bottom, 0px));
		padding: 6px 8px calc(6px + env(safe-area-inset-bottom, 0px));
		border-top: 1px solid var(--tvh-border);
		background: rgba(255, 253, 249, 0.98);
		box-shadow: 0 -10px 28px rgba(41, 42, 38, 0.08);
		transition: transform 180ms ease;
	}

	body.tvh-input-focused .tvh-mobile-nav {
		transform: translateY(calc(100% + env(safe-area-inset-bottom, 0px)));
	}

	.tvh-mobile-nav__item {
		display: grid;
		place-items: center;
		align-content: center;
		gap: 3px;
		min-width: 0;
		min-height: 44px;
		border: 0;
		border-radius: var(--tvh-radius);
		background: transparent;
		color: var(--tvh-muted);
		padding: 4px 2px;
		font-size: 11px;
		font-weight: 700;
		text-decoration: none;
	}

	.tvh-mobile-nav__item span {
		max-width: 100%;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.tvh-mobile-nav__item:hover,
	.tvh-mobile-nav__item:focus-visible {
		background: var(--tvh-surface-soft);
		color: var(--tvh-text);
		text-decoration: none;
	}

	.tvh-mobile-nav__item.is-active,
	.tvh-mobile-nav__item[aria-current="page"] {
		background: var(--tvh-primary-soft);
		color: var(--tvh-primary-hover);
	}

	.tvh-bottom-sheet:not([hidden]) {
		position: fixed;
		inset: 0;
		z-index: 100;
		display: block;
	}

	.tvh-bottom-sheet__backdrop {
		position: absolute;
		inset: 0;
		border: 0;
		background: rgba(41, 42, 38, 0.42);
	}

	.tvh-bottom-sheet__panel {
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
		display: grid;
		gap: 12px;
		max-height: min(82dvh, 620px);
		padding: 14px 14px calc(16px + env(safe-area-inset-bottom, 0px));
		overflow-y: auto;
		border-radius: 8px 8px 0 0;
		background: var(--tvh-surface-strong);
		box-shadow: 0 -20px 48px rgba(41, 42, 38, 0.18);
	}

	.tvh-bottom-sheet__head {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
	}

	.tvh-bottom-sheet__head h2 {
		margin: 0;
		font-size: 20px;
		line-height: 1.2;
	}

	.tvh-bottom-sheet__nav {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px;
	}

	.tvh-bottom-sheet__item {
		display: flex;
		align-items: center;
		gap: 10px;
		min-height: 48px;
		min-width: 0;
		padding: 10px;
		border: 1px solid var(--tvh-border);
		border-radius: var(--tvh-radius);
		background: var(--tvh-surface);
		color: var(--tvh-text-soft);
		font-size: 13px;
		font-weight: 700;
		text-decoration: none;
	}

	.tvh-bottom-sheet__item span {
		min-width: 0;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.tvh-bottom-sheet__item:hover,
	.tvh-bottom-sheet__item:focus-visible {
		border-color: var(--tvh-primary);
		background: var(--tvh-primary-soft);
		color: var(--tvh-primary-hover);
		text-decoration: none;
	}

	.tvh-bottom-sheet__item.is-active,
	.tvh-bottom-sheet__item[aria-current="page"] {
		border-color: var(--tvh-primary);
		background: var(--tvh-primary-soft);
		color: var(--tvh-primary-hover);
	}

	.tvh-bottom-sheet__item--danger {
		color: var(--tvh-danger);
	}
}

body.admin-bar .tvh-sidebar,
body.admin-bar .tvh-topbar {
	top: 0;
}

body.admin-bar .tvh-sidebar {
	height: calc(100dvh - 32px);
}

body.admin-bar .tvh-app.is-sidebar-drawer-open .tvh-sidebar {
	top: 32px;
}

body.admin-bar .tvh-sidebar-backdrop {
	top: 32px;
}

@media (max-width: 782px) {
	body.admin-bar .tvh-topbar {
		top: 0;
	}

	body.admin-bar .tvh-sidebar {
		height: calc(100dvh - 46px);
	}
}

/* P3 personal dashboard */
.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.tvh-dashboard-greeting {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 18px;
	padding: 2px 0 14px;
	border-bottom: 1px solid var(--tvh-border);
}

.tvh-dashboard-greeting h2 {
	margin: 0;
	font-size: clamp(24px, 2.3vw, 34px);
	line-height: 1.12;
	letter-spacing: 0;
}

.tvh-dashboard-greeting p:last-child {
	margin: 8px 0 0;
	color: var(--tvh-muted);
}

.tvh-dashboard-settings {
	margin-top: 18px;
}

.tvh-dashboard-settings__form,
.tvh-dashboard-settings__list {
	display: grid;
	gap: 10px;
}

.tvh-dashboard-settings__row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto;
	align-items: center;
	gap: 10px;
	min-height: 48px;
	padding: 8px 10px;
	border: 1px solid var(--tvh-border);
	border-radius: var(--tvh-radius);
	background: var(--tvh-surface);
}

.tvh-dashboard-settings__row label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 700;
}

.tvh-quick-capture {
	margin-top: 18px;
	padding: 14px;
	border: 1px solid var(--tvh-border);
	border-radius: var(--tvh-radius-lg);
	background: var(--tvh-surface-strong);
}

.tvh-quick-capture__head,
.tvh-widget-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 12px;
}

.tvh-quick-capture__head h3,
.tvh-widget-head h3 {
	margin: 0;
	font-size: 18px;
	line-height: 1.25;
}

.tvh-quick-capture__status {
	min-height: 22px;
	color: var(--tvh-muted);
	font-size: 13px;
	font-weight: 700;
	text-align: right;
}

.tvh-quick-capture__status.is-success {
	color: var(--tvh-success);
}

.tvh-quick-capture__status.is-error {
	color: var(--tvh-danger);
}

.tvh-dashboard-capture {
	display: grid;
	gap: 10px;
}

.tvh-dashboard-capture__main {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 10px;
	align-items: start;
}

.tvh-segmented--capture {
	align-self: stretch;
}

.tvh-segmented--capture span {
	min-height: 44px;
	gap: 7px;
}

.tvh-dashboard-capture__input {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 44px;
	gap: 8px;
	align-items: start;
}

.tvh-dashboard-capture__input textarea {
	min-height: 44px;
	max-height: 180px;
	padding: 11px 12px;
	resize: none;
}

.tvh-dashboard-capture__submit {
	width: 44px;
	height: 44px;
	min-width: 44px;
}

.tvh-dashboard-capture__details {
	border-top: 1px solid var(--tvh-border);
	padding-top: 8px;
}

.tvh-dashboard-capture__details summary {
	cursor: pointer;
	width: fit-content;
	min-height: 36px;
	color: var(--tvh-muted);
	font-weight: 800;
}

.tvh-dashboard-capture__fields {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
	padding-top: 8px;
}

.tvh-dashboard-capture__fields label {
	display: grid;
	gap: 5px;
	font-size: 13px;
	font-weight: 800;
	color: var(--tvh-text-soft);
}

.tvh-dashboard-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.9fr);
	gap: 16px;
	margin-top: 18px;
	align-items: start;
}

.tvh-dashboard-widget {
	min-width: 0;
	padding: 14px;
	border: 1px solid var(--tvh-border);
	border-radius: var(--tvh-radius-lg);
	background: var(--tvh-surface);
}

.tvh-dashboard-widget.is-priority {
	border-color: color-mix(in srgb, var(--tvh-primary) 32%, var(--tvh-border));
	background: var(--tvh-surface-strong);
}

.tvh-dashboard-widget--today,
.tvh-dashboard-widget.is-priority {
	grid-column: span 1;
}

.tvh-widget-head a,
.tvh-widget-links a {
	font-size: 13px;
	font-weight: 800;
	text-decoration: none;
}

.tvh-today-summary,
.tvh-week-summary {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 10px;
}

.tvh-today-summary span,
.tvh-week-summary span {
	display: inline-flex;
	align-items: center;
	min-height: 30px;
	padding: 4px 9px;
	border: 1px solid var(--tvh-border);
	border-radius: var(--tvh-radius);
	background: var(--tvh-surface-soft);
	color: var(--tvh-text-soft);
	font-size: 12px;
	font-weight: 800;
}

.tvh-today-list,
.tvh-project-list,
.tvh-note-list,
.tvh-ai-mini-list {
	display: grid;
	gap: 8px;
}

.tvh-today-item {
	display: grid;
	grid-template-columns: 36px minmax(0, 1fr) auto;
	align-items: center;
	gap: 9px;
	min-height: 56px;
	padding: 8px;
	border: 1px solid var(--tvh-border);
	border-radius: var(--tvh-radius);
	background: var(--tvh-surface-strong);
}

.tvh-today-item.is-overdue {
	border-color: #e0c6b4;
	background: #fff8f1;
}

.tvh-task-check {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border: 1px solid var(--tvh-border);
	border-radius: 50%;
	background: var(--tvh-surface);
	color: var(--tvh-muted);
	cursor: pointer;
}

.tvh-task-check:hover,
.tvh-task-check:focus-visible {
	border-color: var(--tvh-primary);
	color: var(--tvh-primary);
}

.tvh-today-item__body {
	display: grid;
	gap: 3px;
	min-width: 0;
	color: inherit;
	text-decoration: none;
}

.tvh-today-item__body strong,
.tvh-project-item strong,
.tvh-note-row strong,
.tvh-ai-mini-item strong {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.tvh-today-item__body span,
.tvh-project-item small,
.tvh-note-row small,
.tvh-ai-mini-item span,
.tvh-ai-mini-item em {
	color: var(--tvh-muted);
	font-size: 12px;
	line-height: 1.35;
}

.tvh-day-notes {
	display: grid;
	gap: 6px;
	margin-top: 10px;
	padding-top: 10px;
	border-top: 1px solid var(--tvh-border);
}

.tvh-day-notes div {
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--tvh-text-soft);
	font-size: 13px;
}

.tvh-project-item,
.tvh-note-row,
.tvh-ai-mini-item,
.tvh-quick-actions a {
	display: grid;
	min-width: 0;
	border: 1px solid var(--tvh-border);
	border-radius: var(--tvh-radius);
	background: var(--tvh-surface-strong);
	color: inherit;
	text-decoration: none;
}

.tvh-project-item {
	grid-template-columns: 10px minmax(0, 1fr) auto;
	align-items: center;
	gap: 10px;
	padding: 10px;
}

.tvh-project-item:hover,
.tvh-note-row:hover,
.tvh-ai-mini-item:hover,
.tvh-quick-actions a:hover {
	border-color: var(--tvh-primary);
	text-decoration: none;
}

.tvh-project-item__dot {
	width: 10px;
	height: 42px;
	border-radius: 999px;
	background: var(--project-color, var(--tvh-primary));
}

.tvh-project-item__main {
	display: grid;
	gap: 5px;
	min-width: 0;
}

.tvh-project-item__meta {
	color: var(--tvh-muted);
	font-size: 12px;
	font-weight: 800;
	white-space: nowrap;
}

.tvh-note-row {
	grid-template-columns: 4px minmax(0, 1fr) auto;
	align-items: center;
	gap: 10px;
	padding: 10px;
}

.tvh-note-row__accent {
	width: 4px;
	height: 42px;
	border-radius: 999px;
	background: var(--note-accent, #8a7d5a);
}

.tvh-note-row span:nth-child(2) {
	display: grid;
	gap: 3px;
	min-width: 0;
}

.tvh-note-row em {
	color: var(--tvh-muted);
	font-size: 12px;
	font-style: normal;
	white-space: nowrap;
}

.tvh-ai-mini-item {
	gap: 4px;
	padding: 10px;
}

.tvh-finance-summary {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
	margin-bottom: 10px;
}

.tvh-finance-summary div {
	display: grid;
	gap: 4px;
	padding: 10px;
	border: 1px solid var(--tvh-border);
	border-radius: var(--tvh-radius);
	background: var(--tvh-surface-soft);
}

.tvh-finance-summary span {
	color: var(--tvh-muted);
	font-size: 12px;
	font-weight: 800;
}

.tvh-finance-summary strong {
	overflow-wrap: anywhere;
}

.tvh-quick-actions {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	margin-top: 10px;
}

.tvh-quick-actions a {
	grid-template-columns: 22px minmax(0, 1fr);
	align-items: center;
	gap: 8px;
	min-height: 48px;
	padding: 10px;
	font-weight: 800;
}

.tvh-empty--action a {
	font-weight: 800;
}

@media (min-width: 1200px) {
	.tvh-dashboard-widget--today.is-priority {
		grid-row: span 2;
	}
}

@media (max-width: 1199px) {
	.tvh-dashboard-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.tvh-dashboard-capture__fields {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.tvh-dashboard-greeting {
		align-items: flex-start;
		flex-direction: column;
		gap: 12px;
	}

	.tvh-dashboard-greeting h2 {
		font-size: 24px;
	}

	.tvh-quick-capture {
		padding: 12px;
	}

	.tvh-quick-capture__head,
	.tvh-widget-head {
		align-items: flex-start;
	}

	.tvh-quick-capture__status {
		text-align: left;
	}

	.tvh-dashboard-capture__main {
		grid-template-columns: minmax(0, 1fr);
	}

	.tvh-segmented--capture {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		width: 100%;
	}

	.tvh-dashboard-capture__fields,
	.tvh-finance-summary,
	.tvh-quick-actions {
		grid-template-columns: minmax(0, 1fr);
	}

	.tvh-dashboard-settings__row,
	.tvh-today-item,
	.tvh-project-item,
	.tvh-note-row {
		grid-template-columns: minmax(0, 1fr);
	}

	.tvh-task-check {
		width: 44px;
		height: 44px;
	}

	.tvh-project-item__dot,
	.tvh-note-row__accent {
		width: 100%;
		height: 4px;
	}

	.tvh-project-item__meta,
	.tvh-note-row em {
		white-space: normal;
	}
}

/* P4 task and project workspace */
.tvh-page-head--workspace {
	border-bottom: 1px solid var(--tvh-border);
	padding-bottom: 12px;
}

.tvh-task-workspace {
	display: grid;
	gap: 12px;
	min-width: 0;
}

.tvh-task-toolbar {
	position: sticky;
	top: calc(var(--tvh-topbar-height, 72px) + 8px);
	z-index: 20;
	display: grid;
	grid-template-columns: minmax(220px, 1.4fr) repeat(5, minmax(130px, 1fr)) auto auto;
	align-items: center;
	gap: 8px;
	padding: 10px;
	border: 1px solid var(--tvh-border);
	border-radius: var(--tvh-radius);
	background: rgba(255, 253, 249, 0.94);
	box-shadow: var(--tvh-shadow-xs);
	backdrop-filter: blur(14px);
}

.tvh-task-toolbar__search {
	position: relative;
	min-width: 0;
}

.tvh-task-toolbar__search .tvh-lucide {
	position: absolute;
	left: 11px;
	top: 50%;
	width: 16px;
	height: 16px;
	color: var(--tvh-muted);
	transform: translateY(-50%);
	pointer-events: none;
}

.tvh-task-toolbar__search input {
	padding-left: 34px;
}

.tvh-task-view-toggle {
	flex-wrap: nowrap;
	justify-content: flex-end;
}

.tvh-task-view-toggle span {
	border-radius: var(--tvh-radius-sm);
}

.tvh-task-presets {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
}

.tvh-task-presets--mobile {
	display: none;
}

.tvh-task-presets a {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	padding: 5px 10px;
	border: 1px solid var(--tvh-border);
	border-radius: var(--tvh-radius-pill);
	background: var(--tvh-surface-strong);
	color: var(--tvh-text-soft);
	font-size: 12px;
	font-weight: 760;
	text-decoration: none;
}

.tvh-task-presets a:hover {
	border-color: var(--tvh-primary);
	background: var(--tvh-primary-soft);
	color: var(--tvh-primary-hover);
	text-decoration: none;
}

.tvh-task-board {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(280px, 1fr);
	gap: 12px;
	max-width: 100%;
	padding-bottom: 8px;
	overflow-x: auto;
	overscroll-behavior-inline: contain;
	scroll-snap-type: x proximity;
}

.tvh-task-column,
.tvh-project-board-mini__col {
	display: grid;
	grid-template-rows: auto minmax(120px, 1fr) auto;
	min-height: 420px;
	min-width: 0;
	padding: 10px;
	border: 1px solid var(--tvh-border);
	border-radius: var(--tvh-radius);
	background: color-mix(in srgb, var(--tvh-surface-soft) 74%, var(--tvh-surface-strong));
	scroll-snap-align: start;
}

.tvh-task-column__head,
.tvh-project-board-mini__col header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	min-height: 34px;
	margin-bottom: 8px;
}

.tvh-task-column__head > div,
.tvh-project-board-mini__col header {
	min-width: 0;
}

.tvh-task-column h3 {
	margin: 0;
	font-size: 13px;
	line-height: 1.25;
	letter-spacing: 0;
}

.tvh-task-column__head span,
.tvh-project-board-mini__col header span {
	display: inline-grid;
	place-items: center;
	min-width: 26px;
	height: 24px;
	border-radius: var(--tvh-radius-pill);
	background: var(--tvh-surface-strong);
	color: var(--tvh-muted);
	font-size: 12px;
	font-weight: 800;
}

.tvh-task-column__cards,
.tvh-project-board-mini__cards {
	display: grid;
	align-content: start;
	gap: 8px;
	min-height: 160px;
	padding: 2px;
	border-radius: var(--tvh-radius-sm);
}

.tvh-task-column__cards.is-drag-over,
.tvh-project-board-mini__cards.is-drag-over {
	background: rgba(56, 106, 90, 0.08);
	outline: 1px dashed var(--tvh-primary);
	outline-offset: 2px;
}

.tvh-task-card,
.tvh-project-task-card {
	display: grid;
	gap: 8px;
	min-width: 0;
	padding: 10px;
	border: 1px solid var(--tvh-border);
	border-radius: var(--tvh-radius-sm);
	background: var(--tvh-surface-strong);
	color: var(--tvh-text);
	box-shadow: var(--tvh-shadow-xs);
	cursor: grab;
	transition: border-color var(--tvh-transition), box-shadow var(--tvh-transition), transform var(--tvh-transition), opacity var(--tvh-transition);
}

.tvh-task-card:hover,
.tvh-project-task-card:hover,
.tvh-task-card:focus-visible,
.tvh-project-task-card:focus-visible {
	border-color: var(--tvh-primary);
	box-shadow: var(--tvh-shadow-sm);
	text-decoration: none;
}

.tvh-task-card.is-dragging,
.tvh-project-task-card.is-dragging {
	opacity: 0.62;
	transform: rotate(1deg);
}

.tvh-task-card.is-done,
.tvh-project-task-card[data-status="done"] {
	opacity: 0.76;
}

.tvh-task-card__top {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 20px;
	align-items: start;
	gap: 8px;
	min-width: 0;
}

.tvh-task-card__top strong,
.tvh-project-task-card > strong {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	font-size: 14px;
	line-height: 1.35;
	letter-spacing: 0;
}

.tvh-task-card__drag {
	color: var(--tvh-muted);
	font-size: 16px;
	line-height: 1;
	text-align: right;
}

.tvh-task-card__project {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-width: 0;
	color: var(--tvh-muted);
	font-size: 12px;
	font-weight: 720;
	text-decoration: none;
}

.tvh-task-card__project span {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--project-color, var(--tvh-primary));
	flex: 0 0 auto;
}

.tvh-task-card__chips,
.tvh-project-task-card > span {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	align-items: center;
}

.tvh-due-chip {
	display: inline-flex;
	align-items: center;
	min-height: 24px;
	padding: 3px 8px;
	border-radius: var(--tvh-radius-pill);
	background: var(--tvh-surface-soft);
	color: var(--tvh-text-soft);
	font-size: 11px;
	font-weight: 760;
	line-height: 1.25;
}

.tvh-due-chip--overdue {
	background: var(--tvh-danger-soft);
	color: var(--tvh-danger);
}

.tvh-due-chip--today {
	background: var(--tvh-warning-soft);
	color: var(--tvh-warning);
}

.tvh-due-chip--upcoming {
	background: var(--tvh-info-soft);
	color: var(--tvh-info);
}

.tvh-task-card__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
}

.tvh-task-card__tags span {
	max-width: 100%;
	padding: 2px 7px;
	border-radius: var(--tvh-radius-pill);
	background: var(--tvh-surface-soft);
	color: var(--tvh-muted);
	font-size: 11px;
	font-weight: 700;
}

.tvh-task-card__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	color: var(--tvh-muted);
	font-size: 12px;
	font-weight: 760;
}

.tvh-task-card__icons {
	display: inline-flex;
	align-items: center;
	gap: 5px;
}

.tvh-task-card__icons .tvh-lucide {
	width: 14px;
	height: 14px;
}

.tvh-task-card__fallback {
	display: none;
}

.tvh-task-card:focus-within .tvh-task-card__fallback,
.tvh-task-card:hover .tvh-task-card__fallback {
	display: block;
}

.tvh-task-card__fallback select {
	min-height: 34px;
	font-size: 12px;
}

.tvh-task-column__empty {
	margin: 8px 2px;
	padding: 12px;
	border: 1px dashed var(--tvh-border-strong);
	border-radius: var(--tvh-radius-sm);
	color: var(--tvh-muted);
	font-size: 13px;
	text-align: center;
}

.tvh-quick-add-task {
	margin-top: 9px;
}

.tvh-quick-add-task input {
	min-height: 38px;
	border-style: dashed;
	background: rgba(255, 255, 255, 0.58);
	font-size: 13px;
}

.tvh-task-list-view {
	margin-top: 2px;
}

.tvh-task-drawer[hidden] {
	display: none;
}

body.tvh-task-drawer-open {
	overflow: hidden;
}

.tvh-task-drawer {
	position: fixed;
	inset: 0;
	z-index: 140;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(380px, 500px);
}

.tvh-task-drawer__overlay {
	border: 0;
	background: rgba(41, 42, 38, 0.34);
}

.tvh-task-drawer__panel {
	display: grid;
	grid-template-rows: auto minmax(0, 1fr);
	height: 100dvh;
	padding: 18px;
	overflow: hidden;
	border-left: 1px solid var(--tvh-border);
	background: var(--tvh-surface-strong);
	box-shadow: -18px 0 48px rgba(41, 42, 38, 0.16);
}

.tvh-task-drawer__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--tvh-border);
}

.tvh-task-drawer__head h3 {
	margin: 0;
	font-size: 20px;
	letter-spacing: 0;
}

.tvh-task-drawer__form {
	display: grid;
	gap: 12px;
	min-width: 0;
	padding-top: 14px;
	overflow-y: auto;
}

.tvh-task-drawer__form label {
	display: grid;
	gap: 5px;
	color: var(--tvh-text-soft);
	font-size: 13px;
	font-weight: 760;
}

.tvh-task-drawer__actions {
	position: sticky;
	bottom: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding-top: 10px;
	border-top: 1px solid var(--tvh-border);
	background: var(--tvh-surface-strong);
}

.tvh-task-drawer__status {
	min-height: 22px;
	margin: 0;
	color: var(--tvh-muted);
	font-size: 13px;
	font-weight: 760;
}

.tvh-task-drawer__status.is-success {
	color: var(--tvh-success);
}

.tvh-task-drawer__status.is-error {
	color: var(--tvh-danger);
}

.tvh-toast {
	position: fixed;
	right: 18px;
	bottom: 18px;
	z-index: 180;
	max-width: min(360px, calc(100vw - 24px));
	padding: 11px 13px;
	border: 1px solid var(--tvh-border);
	border-radius: var(--tvh-radius);
	background: var(--tvh-surface-strong);
	color: var(--tvh-text);
	box-shadow: var(--tvh-shadow);
	font-size: 13px;
	font-weight: 760;
}

.tvh-toast.is-error {
	border-color: #e5bcb7;
	background: var(--tvh-danger-soft);
	color: var(--tvh-danger);
}

.tvh-project-workspace-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin-bottom: 14px;
}

.tvh-project-workspace-card {
	display: grid;
	grid-template-columns: 6px minmax(0, 1fr);
	gap: 10px;
	min-width: 0;
	padding: 11px;
	border: 1px solid var(--tvh-border);
	border-radius: var(--tvh-radius);
	background: var(--tvh-surface-strong);
	color: inherit;
	text-decoration: none;
}

.tvh-project-workspace-card:hover {
	border-color: var(--tvh-primary);
	text-decoration: none;
	box-shadow: var(--tvh-shadow-sm);
}

.tvh-project-workspace-card__rail {
	width: 6px;
	border-radius: 999px;
	background: var(--project-color, var(--tvh-primary));
}

.tvh-project-workspace-card__body,
.tvh-project-workspace-card__head {
	display: grid;
	gap: 8px;
	min-width: 0;
}

.tvh-project-workspace-card__head {
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: start;
}

.tvh-project-workspace-card strong {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.tvh-project-workspace-card small {
	color: var(--tvh-muted);
	line-height: 1.4;
}

.tvh-project-workspace-card__stats {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 6px;
	color: var(--tvh-muted);
	font-size: 12px;
	font-weight: 760;
}

.tvh-project-workspace-card__stats span,
.tvh-project-detail-metrics div {
	min-width: 0;
}

.tvh-project-workspace-card__stats .is-danger,
.tvh-project-detail-metrics .is-danger strong {
	color: var(--tvh-danger);
}

.tvh-project-detail-metrics {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 10px;
}

.tvh-project-detail-metrics div {
	display: grid;
	gap: 4px;
	padding: 12px;
	border: 1px solid var(--tvh-border);
	border-radius: var(--tvh-radius);
	background: var(--tvh-surface-strong);
	box-shadow: var(--tvh-shadow-xs);
}

.tvh-project-detail-metrics span {
	color: var(--tvh-muted);
	font-size: 12px;
	font-weight: 760;
}

.tvh-project-detail-metrics strong {
	font-size: 20px;
	line-height: 1.2;
}

.tvh-project-board-mini {
	display: grid;
	grid-template-columns: repeat(4, minmax(220px, 1fr));
	gap: 10px;
	max-width: 100%;
	overflow-x: auto;
}

.tvh-project-board-mini__col {
	min-height: 300px;
}

.tvh-project-board-mini__col header strong {
	font-size: 13px;
	line-height: 1.25;
}

.tvh-project-task-card {
	cursor: pointer;
}

@media (max-width: 1199px) {
	.tvh-notes-workspace {
		grid-template-columns: minmax(210px, 250px) minmax(0, 1fr);
	}

	.tvh-note-side {
		grid-column: 1 / -1;
		position: static;
	}

	.tvh-note-preview__content {
		max-height: none;
	}

	.tvh-task-toolbar {
		position: static;
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.tvh-task-toolbar__search,
	.tvh-task-view-toggle {
		grid-column: span 3;
	}

	.tvh-task-board {
		grid-auto-columns: minmax(270px, 72vw);
	}

	.tvh-project-workspace-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tvh-project-detail-metrics {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.tvh-notes-head {
		align-items: stretch;
	}

	.tvh-notes-head .tvh-actions,
	.tvh-notes-head .tvh-button {
		width: 100%;
	}

	.tvh-notes-head .tvh-button {
		justify-content: center;
	}

	.tvh-notes-workspace {
		grid-template-columns: minmax(0, 1fr);
		gap: 12px;
	}

	.tvh-notes-rail,
	.tvh-note-side {
		position: static;
	}

	.tvh-notes-rail,
	.tvh-notes-list,
	.tvh-note-preview,
	.tvh-note-editor,
	.tvh-note-daily {
		border-radius: var(--tvh-radius-sm);
	}

	.tvh-note-groups {
		display: flex;
		gap: 8px;
		overflow-x: auto;
		margin-inline: -14px;
		padding-inline: 14px;
		scrollbar-width: none;
	}

	.tvh-note-group {
		flex: 0 0 auto;
		min-width: 132px;
	}

	.tvh-note-filters {
		grid-template-columns: minmax(0, 1fr);
	}

	.tvh-note-chip-cloud,
	.tvh-note-tag-cloud,
	.tvh-note-grid--workspace,
	.tvh-note-editor__fields {
		grid-template-columns: minmax(0, 1fr);
	}

	.tvh-notes-list__head,
	.tvh-note-preview__head,
	.tvh-note-editor__head {
		align-items: start;
	}

	.tvh-note-view-hint {
		display: none;
	}

	.tvh-note-card__link {
		grid-template-columns: 32px minmax(0, 1fr);
		padding: 14px 14px 5px;
	}

	.tvh-note-card--workspace .tvh-note-card__meta,
	.tvh-note-card__tags,
	.tvh-note-card__status {
		padding-inline: 14px;
	}

	.tvh-note-title input {
		font-size: 19px;
	}

	.tvh-note-preview__actions .tvh-button,
	.tvh-note-preview__actions form,
	.tvh-note-preview__actions form button {
		width: 100%;
	}

	.tvh-note-preview__actions .tvh-button,
	.tvh-note-preview__actions form button {
		justify-content: center;
		min-height: 44px;
	}

	.tvh-task-toolbar {
		grid-template-columns: minmax(0, 1fr);
		padding: 9px;
	}

	.tvh-task-toolbar__search,
	.tvh-task-view-toggle {
		grid-column: auto;
	}

	.tvh-task-view-toggle {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tvh-task-view-toggle label,
	.tvh-task-view-toggle span {
		width: 100%;
		justify-content: center;
	}

	.tvh-task-board {
		grid-auto-columns: minmax(286px, calc(100vw - 32px));
		margin-inline: -2px;
	}

	.tvh-task-column {
		min-height: 56vh;
	}

	.tvh-task-card,
	.tvh-project-task-card {
		padding: 12px;
	}

	.tvh-task-card__fallback {
		display: block;
	}

	.tvh-task-drawer {
		grid-template-columns: minmax(0, 1fr);
	}

	.tvh-task-drawer__overlay {
		display: none;
	}

	.tvh-task-drawer__panel {
		height: 100dvh;
		padding: 14px 14px calc(var(--tvh-mobile-nav-height) + env(safe-area-inset-bottom, 0px) + 14px);
		border-left: 0;
	}

	.tvh-task-drawer__actions {
		padding-bottom: env(safe-area-inset-bottom, 0px);
	}

	.tvh-task-drawer__actions .tvh-button {
		flex: 1 1 140px;
	}

	.tvh-toast {
		right: 12px;
		bottom: calc(var(--tvh-mobile-nav-height) + env(safe-area-inset-bottom, 0px) + 12px);
	}

	.tvh-project-workspace-grid,
	.tvh-project-detail-metrics {
		grid-template-columns: minmax(0, 1fr);
	}

	.tvh-project-board-mini {
		grid-auto-flow: column;
		grid-auto-columns: minmax(286px, calc(100vw - 48px));
		grid-template-columns: none;
		padding-bottom: 6px;
	}
}

/* P5 refined personal workspace */
:root {
	--tvh-bg: #f6f7f6;
	--tvh-bg-accent: #eef2f0;
	--tvh-surface: #ffffff;
	--tvh-surface-strong: #ffffff;
	--tvh-surface-soft: #f1f4f2;
	--tvh-surface-hover: #e9eeeb;
	--tvh-border: #dce3df;
	--tvh-border-strong: #bcc9c3;
	--tvh-text: #1f2925;
	--tvh-text-soft: #40504a;
	--tvh-muted: #6d7a74;
	--tvh-primary: #1f6f63;
	--tvh-primary-hover: #18594f;
	--tvh-primary-soft: #e1f0ed;
	--tvh-success: #238455;
	--tvh-success-soft: #e4f5eb;
	--tvh-danger: #b33d3b;
	--tvh-danger-soft: #fbe7e6;
	--tvh-warning: #946100;
	--tvh-warning-soft: #fff1d6;
	--tvh-info: #3e6ea8;
	--tvh-info-soft: #e7f0fb;
	--tvh-note-soft: #fff7d9;
	--tvh-password-soft: #ecebff;
	--tvh-finance-soft: #e8f5df;
	--tvh-radius-sm: 6px;
	--tvh-radius: 8px;
	--tvh-radius-lg: 8px;
	--tvh-shadow-xs: 0 1px 2px rgba(24, 38, 33, 0.05);
	--tvh-shadow-sm: 0 6px 16px rgba(24, 38, 33, 0.07);
	--tvh-shadow: 0 18px 44px rgba(24, 38, 33, 0.12);
	--tvh-focus: 0 0 0 3px rgba(31, 111, 99, 0.2);
	--tvh-content-width: 1320px;
	--tvh-transition: 140ms ease;
}

html {
	background: var(--tvh-bg);
}

body {
	background: var(--tvh-bg);
	color: var(--tvh-text);
	font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
	font-size: 15px;
	line-height: 1.62;
}

h1,
h2,
h3,
h4 {
	letter-spacing: 0;
	line-height: 1.25;
}

a {
	color: var(--tvh-primary);
}

:focus-visible {
	outline: 2px solid var(--tvh-primary);
	outline-offset: 3px;
	box-shadow: var(--tvh-focus);
}

input,
select,
textarea {
	min-height: 44px;
	border-color: var(--tvh-border);
	border-radius: var(--tvh-radius-sm);
	background: #fff;
	color: var(--tvh-text);
	line-height: 1.45;
}

textarea {
	line-height: 1.68;
}

input::placeholder,
textarea::placeholder {
	color: #87928d;
}

input:hover,
select:hover,
textarea:hover {
	background: #fff;
	border-color: var(--tvh-border-strong);
}

input:focus,
select:focus,
textarea:focus {
	border-color: var(--tvh-primary);
	box-shadow: var(--tvh-focus);
}

input[type="checkbox"],
input[type="radio"] {
	min-width: 20px;
	width: 20px;
	height: 20px;
	min-height: 20px;
}

.tvh-app {
	background: var(--tvh-bg);
}

.tvh-shell {
	background: var(--tvh-bg);
}

.tvh-sidebar {
	border-right-color: var(--tvh-border);
	background: #f9fbfa;
	box-shadow: none;
}

.tvh-brand {
	min-height: 52px;
}

.tvh-brand__mark {
	border-radius: var(--tvh-radius);
	background: var(--tvh-primary);
	letter-spacing: 0;
}

.tvh-brand__name {
	font-weight: 760;
}

.tvh-nav__section-title,
.tvh-eyebrow {
	color: #75827c;
	letter-spacing: 0.04em !important;
}

.tvh-nav__item {
	min-height: 44px;
	border: 1px solid transparent;
	border-radius: var(--tvh-radius);
	color: var(--tvh-text-soft);
}

.tvh-nav__item:hover {
	border-color: var(--tvh-border);
	background: var(--tvh-surface-hover);
	color: var(--tvh-text);
}

.tvh-nav__item.is-active,
.tvh-nav__item[aria-current="page"] {
	border-color: #c8ddd7;
	background: var(--tvh-primary-soft);
	color: var(--tvh-primary-hover);
}

.tvh-nav__icon {
	background: transparent;
	box-shadow: none;
}

.tvh-topbar {
	min-height: 68px;
	border-bottom-color: rgba(220, 227, 223, 0.86);
	background: rgba(249, 251, 250, 0.92);
	backdrop-filter: blur(14px);
}

.tvh-topbar h1,
.tvh-page-head h2 {
	font-size: clamp(22px, 1.7vw, 28px);
	font-weight: 760;
}

.tvh-breadcrumb,
.tvh-topbar__description {
	color: var(--tvh-muted);
}

.tvh-main {
	gap: 18px;
	padding: clamp(16px, 2vw, 28px);
}

.tvh-page-head {
	align-items: center;
	padding-bottom: 4px;
}

.tvh-panel,
.tvh-note-card,
.tvh-metric,
.tvh-home-card,
.tvh-dashboard-widget,
.tvh-quick-capture,
.tvh-notes-rail,
.tvh-notes-list,
.tvh-note-preview,
.tvh-note-editor,
.tvh-note-daily,
.tvh-task-column,
.tvh-project-board-mini__col,
.tvh-task-card,
.tvh-project-task-card,
.tvh-project-workspace-card,
.tvh-project-detail-metrics div,
.tvh-calendar__cell,
.tvh-ai-action,
.tvh-ai-chat,
.tvh-ai-bubble,
.tvh-table-wrap,
.tvh-alert,
.tvh-flash {
	border-color: var(--tvh-border);
	border-radius: var(--tvh-radius);
	background: var(--tvh-surface);
	box-shadow: var(--tvh-shadow-xs);
}

.tvh-panel,
.tvh-dashboard-widget,
.tvh-quick-capture {
	padding: clamp(14px, 1.4vw, 20px);
}

.tvh-panel__head {
	align-items: flex-start;
	margin-bottom: 14px;
}

.tvh-panel__head h3,
.tvh-widget-head h3,
.tvh-note-card h3,
.tvh-panel > h3 {
	font-size: 16px;
	font-weight: 760;
}

.tvh-button,
.tvh-icon-button,
.tvh-user-pill,
.tvh-pagination__item {
	min-height: 40px;
	border-color: var(--tvh-border);
	border-radius: var(--tvh-radius-sm);
	background: #fff;
	color: var(--tvh-text-soft);
	box-shadow: none;
	font-weight: 700;
}

.tvh-button:hover,
.tvh-icon-button:hover,
.tvh-user-pill:hover,
.tvh-pagination__item:hover {
	border-color: var(--tvh-border-strong);
	background: var(--tvh-surface-hover);
	color: var(--tvh-text);
	box-shadow: none;
	transform: none;
}

.tvh-button--primary,
.tvh-pagination__item.is-active {
	border-color: var(--tvh-primary);
	background: var(--tvh-primary);
	color: #fff;
	box-shadow: 0 6px 14px rgba(31, 111, 99, 0.16);
}

.tvh-button--primary:hover {
	border-color: var(--tvh-primary-hover);
	background: var(--tvh-primary-hover);
	color: #fff;
}

.tvh-button--ghost {
	background: transparent;
}

.tvh-button--danger {
	border-color: #efc1bf;
	background: var(--tvh-danger-soft);
	color: var(--tvh-danger);
}

.tvh-button--danger:hover,
.tvh-link-danger:hover {
	border-color: var(--tvh-danger);
	background: #f7d7d5 !important;
	color: #8f2d2b;
}

.tvh-icon-button {
	width: 40px;
	min-width: 40px;
}

.tvh-badge,
.tvh-chip,
.tvh-suggestion-chip,
.tvh-due-chip,
.tvh-task-presets a,
.tvh-note-chip-cloud a,
.tvh-note-tag-cloud a,
.tvh-note-card__tags a,
.tvh-note-preview__tags a {
	border-radius: 999px;
	font-weight: 760;
}

.tvh-badge {
	border-color: rgba(64, 80, 74, 0.08);
}

.tvh-badge--status-doing,
.tvh-badge--priority-high,
.tvh-due-chip--today {
	background: var(--tvh-warning-soft);
	color: var(--tvh-warning);
}

.tvh-badge--status-done,
.tvh-badge--status-active,
.tvh-badge--priority-low,
.tvh-due-chip--later {
	background: var(--tvh-success-soft);
	color: var(--tvh-success);
}

.tvh-badge--status-cancelled,
.tvh-badge--priority-urgent,
.tvh-due-chip--overdue {
	background: var(--tvh-danger-soft);
	color: var(--tvh-danger);
}

.tvh-badge--status-waiting,
.tvh-badge--priority-medium,
.tvh-due-chip--upcoming,
.tvh-due-chip--none {
	background: var(--tvh-info-soft);
	color: var(--tvh-info);
}

.tvh-table-wrap {
	background: #fff;
}

.tvh-table {
	min-width: 760px;
}

.tvh-table th {
	background: #f4f7f5;
	color: #63716b;
	letter-spacing: 0.04em !important;
}

.tvh-table th,
.tvh-table td {
	padding: 12px;
	border-bottom-color: var(--tvh-border);
}

.tvh-table tbody tr:hover {
	background: #f8faf9;
}

.tvh-filter,
.tvh-search-form,
.tvh-task-toolbar {
	border-radius: var(--tvh-radius);
}

.tvh-filter {
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	align-items: end;
}

.tvh-filter--inline {
	grid-template-columns: 88px 108px minmax(180px, 1fr) auto;
}

.tvh-form {
	gap: 16px;
}

.tvh-form-grid {
	gap: 14px;
}

.tvh-form label,
.tvh-inline-edit label,
.tvh-task-drawer__form label,
.tvh-note-filters label {
	color: var(--tvh-text-soft);
	font-weight: 720;
}

.tvh-check-row {
	gap: 12px;
}

.tvh-segmented {
	padding: 3px;
	border: 1px solid var(--tvh-border);
	border-radius: var(--tvh-radius);
	background: var(--tvh-surface-soft);
}

.tvh-segmented label span,
.tvh-segmented span {
	min-height: 38px;
	border-radius: 5px;
}

.tvh-segmented input:checked + span,
.tvh-segmented .is-active {
	background: #fff;
	color: var(--tvh-primary-hover);
	box-shadow: var(--tvh-shadow-xs);
}

.tvh-metric {
	padding: 16px;
	overflow: hidden;
}

.tvh-metric::after {
	display: none;
}

.tvh-metric span {
	color: var(--tvh-muted);
}

.tvh-metric strong {
	margin-top: 8px;
	font-size: clamp(22px, 2vw, 30px);
	letter-spacing: 0;
}

.tvh-metric--income {
	background: var(--tvh-finance-soft);
}

.tvh-metric--expense,
.tvh-metric--danger {
	background: var(--tvh-danger-soft);
}

.tvh-progress,
.tvh-bar {
	height: 16px;
	background: #e7ece9;
}

.tvh-progress i,
.tvh-bar i {
	background: var(--tvh-primary);
}

.tvh-dashboard-greeting {
	padding: 4px 0 16px;
}

.tvh-dashboard-greeting h2 {
	font-size: clamp(24px, 2.2vw, 32px);
}

.tvh-quick-capture {
	background: #fff;
}

.tvh-dashboard-capture__input textarea {
	min-height: 46px;
}

.tvh-dashboard-grid {
	gap: 14px;
}

.tvh-dashboard-widget.is-priority {
	border-color: #bbd8d1;
	background: #fff;
}

.tvh-today-summary span,
.tvh-week-summary span,
.tvh-finance-summary div {
	border-color: var(--tvh-border);
	border-radius: var(--tvh-radius-sm);
	background: #f5f8f6;
}

.tvh-today-item,
.tvh-project-item,
.tvh-note-row,
.tvh-ai-mini-item,
.tvh-quick-actions a {
	border-radius: var(--tvh-radius);
	background: #fff;
}

.tvh-today-item.is-overdue {
	border-color: #efc1bf;
	background: #fff8f7;
}

.tvh-task-check {
	width: 40px;
	height: 40px;
	background: #fff;
}

.tvh-notes-workspace {
	grid-template-columns: minmax(220px, 260px) minmax(360px, 1fr) minmax(320px, 400px);
	gap: 14px;
}

.tvh-note-group {
	border: 1px solid transparent;
}

.tvh-note-group:hover,
.tvh-note-group.is-active {
	border-color: #c8ddd7;
	background: var(--tvh-primary-soft);
}

.tvh-note-card::before {
	width: 3px;
}

.tvh-note-card--workspace.is-selected {
	border-color: var(--tvh-primary);
	box-shadow: var(--tvh-focus);
}

.tvh-note-card__icon {
	background: color-mix(in srgb, var(--tvh-note-accent, var(--tvh-primary)) 14%, #fff);
}

.tvh-note-editor,
.tvh-note-preview {
	overflow: hidden;
}

.tvh-note-title input {
	line-height: 1.35;
}

.tvh-note-toolbar button,
.tvh-note-templates button {
	min-height: 36px;
	border-color: var(--tvh-border);
	border-radius: var(--tvh-radius-sm);
	background: #fff;
}

.tvh-task-toolbar {
	background: rgba(255, 255, 255, 0.94);
	box-shadow: var(--tvh-shadow-xs);
	backdrop-filter: blur(12px);
}

.tvh-task-board,
.tvh-project-board-mini {
	scrollbar-width: thin;
}

.tvh-task-column,
.tvh-project-board-mini__col {
	background: #f2f6f4;
}

.tvh-task-column__head,
.tvh-project-board-mini__col header {
	margin-bottom: 10px;
}

.tvh-task-card,
.tvh-project-task-card {
	background: #fff;
	cursor: pointer;
}

.tvh-task-card:hover,
.tvh-project-task-card:hover,
.tvh-project-workspace-card:hover,
.tvh-note-card:hover {
	border-color: #bdd3cd;
	box-shadow: var(--tvh-shadow-sm);
	transform: translateY(-1px);
}

.tvh-task-card__top strong,
.tvh-project-task-card > strong {
	line-height: 1.42;
}

.tvh-quick-add-task input {
	min-height: 40px;
	background: rgba(255, 255, 255, 0.76);
}

.tvh-task-drawer__panel,
.tvh-bottom-sheet__panel {
	background: #fff;
}

.tvh-calendar {
	gap: 6px;
}

.tvh-calendar__cell {
	min-height: 106px;
	padding: 10px;
	background: #fff;
}

.tvh-calendar__cell:hover {
	border-color: #bdd3cd;
	box-shadow: var(--tvh-shadow-sm);
}

.tvh-calendar__cell.is-selected {
	border-color: var(--tvh-primary);
	background: var(--tvh-primary-soft);
}

.tvh-calendar__cell.is-muted {
	background: #f1f4f2;
	opacity: 0.7;
}

.tvh-ai-chat {
	background: #f7faf8;
}

.tvh-ai-bubble {
	border-radius: var(--tvh-radius);
}

.tvh-ai-message--user .tvh-ai-bubble {
	background: var(--tvh-primary);
	color: #fff;
}

.tvh-ai-message--user .tvh-ai-meta {
	color: rgba(255, 255, 255, 0.78);
}

.tvh-ai-action {
	background: #fff;
}

.tvh-alert,
.tvh-flash {
	padding: 12px 14px 12px 36px;
}

.tvh-alert::before,
.tvh-flash::before {
	content: "";
	top: 16px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: currentColor;
}

.tvh-empty {
	padding: 10px 0;
	color: var(--tvh-muted);
	line-height: 1.55;
}

.tvh-dropdown {
	border-color: var(--tvh-border);
	border-radius: var(--tvh-radius);
	background: #fff;
	box-shadow: var(--tvh-shadow);
}

.tvh-dropdown__item {
	min-height: 42px;
	border-radius: var(--tvh-radius-sm);
}

.tvh-toast {
	border-radius: var(--tvh-radius);
	background: #fff;
	box-shadow: var(--tvh-shadow);
}

.tvh-capture-hero,
.tvh-public__article {
	border-radius: var(--tvh-radius);
	background: #fff;
}

.tvh-capture-hero__mini {
	border-radius: var(--tvh-radius);
}

@media (min-width: 1200px) {
	.tvh-main {
		padding-left: 28px;
		padding-right: 28px;
	}

	.tvh-grid--wide-left {
		grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.8fr);
	}
}

@media (max-width: 1199px) {
	.tvh-topbar {
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.tvh-task-toolbar {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tvh-task-toolbar__search,
	.tvh-task-view-toggle {
		grid-column: 1 / -1;
	}
}

@media (max-width: 782px) {
	body {
		font-size: 14px;
		line-height: 1.6;
	}

	.tvh-shell {
		background: var(--tvh-bg);
	}

	.tvh-topbar {
		min-height: 58px;
		padding: 9px 12px;
	}

	.tvh-topbar__description,
	.tvh-breadcrumb,
	.tvh-user-menu,
	.tvh-secondary-action .tvh-action-label,
	.tvh-primary-action .tvh-action-label {
		display: none;
	}

	.tvh-topbar h1 {
		font-size: 19px;
		line-height: 1.25;
	}

	.tvh-main {
		gap: 14px;
		padding: 14px 12px calc(var(--tvh-mobile-nav-height) + env(safe-area-inset-bottom, 0px) + 18px);
	}

	.tvh-page-head {
		align-items: stretch;
		flex-direction: column;
		gap: 10px;
	}

	.tvh-page-head .tvh-actions,
	.tvh-page-head .tvh-button {
		width: 100%;
	}

	.tvh-page-head .tvh-button {
		justify-content: center;
	}

	.tvh-grid,
	.tvh-grid--2,
	.tvh-grid--3,
	.tvh-grid--4,
	.tvh-metric-grid,
	.tvh-form-grid,
	.tvh-filter,
	.tvh-filter--inline,
	.tvh-search-form,
	.tvh-export-grid,
	.tvh-dashboard-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.tvh-panel,
	.tvh-dashboard-widget,
	.tvh-quick-capture {
		padding: 14px;
	}

	.tvh-button,
	.tvh-icon-button,
	.tvh-user-pill,
	input,
	select,
	textarea {
		min-height: 44px;
	}

	.tvh-actions,
	.tvh-row-actions {
		gap: 8px;
	}

	.tvh-row-actions {
		min-width: 0;
	}

	.tvh-row-actions a,
	.tvh-row-actions button,
	.tvh-link-button {
		min-height: 36px;
		padding: 7px 8px;
	}

	.tvh-table-wrap {
		border-radius: var(--tvh-radius);
		margin-inline: -2px;
	}

	.tvh-table {
		min-width: 680px;
	}

	.tvh-table th,
	.tvh-table td {
		padding: 10px;
	}

	.tvh-dashboard-capture__main,
	.tvh-dashboard-capture__fields {
		grid-template-columns: minmax(0, 1fr);
	}

	.tvh-segmented--capture {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.tvh-notes-workspace {
		grid-template-columns: minmax(0, 1fr);
	}

	.tvh-note-groups {
		margin-inline: -14px;
		padding: 0 14px 4px;
		overflow-x: auto;
	}

	.tvh-note-group {
		min-width: 142px;
	}

	.tvh-task-board {
		grid-auto-columns: minmax(292px, calc(100vw - 28px));
	}

	.tvh-task-column {
		min-height: 54vh;
		padding: 10px;
	}

	.tvh-task-drawer__panel {
		padding: 14px 14px calc(var(--tvh-mobile-nav-height) + env(safe-area-inset-bottom, 0px) + 16px);
	}

	.tvh-calendar {
		min-width: 620px;
	}

	.tvh-calendar__cell {
		min-height: 92px;
		padding: 8px;
	}

	.tvh-mobile-nav {
		border-top-color: var(--tvh-border);
		background: rgba(255, 255, 255, 0.96);
		backdrop-filter: blur(14px);
	}

	.tvh-mobile-nav__item {
		min-height: 52px;
		color: var(--tvh-muted);
	}

	.tvh-mobile-nav__item.is-active,
	.tvh-mobile-nav__item[aria-current="page"] {
		color: var(--tvh-primary-hover);
	}

	.tvh-bottom-sheet__panel {
		border-radius: 8px 8px 0 0;
	}
}

@media (max-width: 420px) {
	.tvh-main {
		padding-left: 10px;
		padding-right: 10px;
	}

	.tvh-topbar__actions {
		gap: 6px;
	}

	.tvh-icon-button {
		width: 38px;
		min-width: 38px;
	}

	.tvh-panel,
	.tvh-dashboard-widget,
	.tvh-quick-capture,
	.tvh-notes-list,
	.tvh-notes-rail,
	.tvh-note-preview,
	.tvh-note-editor,
	.tvh-note-daily {
		padding: 12px;
	}

	.tvh-task-board {
		grid-auto-columns: minmax(280px, calc(100vw - 24px));
	}

	.tvh-project-board-mini {
		grid-auto-columns: minmax(280px, calc(100vw - 32px));
	}

	.tvh-table {
		min-width: 620px;
	}

	.tvh-calendar {
		min-width: 560px;
	}

	.tvh-calendar__cell {
		min-height: 84px;
	}

	.tvh-segmented--capture span {
		padding-inline: 6px;
		font-size: 12px;
	}
}

/* P5.1 warmer typography, color harmony, and smoother motion */
:root {
	--tvh-font-sans: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, "Helvetica Neue", sans-serif;
	--tvh-bg: #f4f7f8;
	--tvh-bg-accent: #edf3f4;
	--tvh-surface: #ffffff;
	--tvh-surface-strong: #ffffff;
	--tvh-surface-soft: #eef4f3;
	--tvh-surface-hover: #e6efed;
	--tvh-border: #d8e3e1;
	--tvh-border-strong: #b8c9c5;
	--tvh-text: #182420;
	--tvh-text-soft: #3b4e48;
	--tvh-muted: #72817c;
	--tvh-primary: #176f66;
	--tvh-primary-hover: #10564f;
	--tvh-primary-soft: #dff1ef;
	--tvh-accent: #4757a8;
	--tvh-accent-soft: #eceeff;
	--tvh-success: #277a50;
	--tvh-success-soft: #e2f4ea;
	--tvh-danger: #ba3f3a;
	--tvh-danger-soft: #fae8e6;
	--tvh-warning: #9a6400;
	--tvh-warning-soft: #fff2d8;
	--tvh-info: #3f6fa7;
	--tvh-info-soft: #e7f0fb;
	--tvh-radius-xs: 8px;
	--tvh-radius-sm: 10px;
	--tvh-radius: 14px;
	--tvh-radius-lg: 18px;
	--tvh-radius-xl: 22px;
	--tvh-shadow-xs: 0 1px 2px rgba(17, 36, 31, 0.04);
	--tvh-shadow-sm: 0 8px 20px rgba(17, 36, 31, 0.08);
	--tvh-shadow: 0 22px 56px rgba(17, 36, 31, 0.14);
	--tvh-focus: 0 0 0 4px rgba(23, 111, 102, 0.18);
	--tvh-transition: 180ms cubic-bezier(0.2, 0, 0, 1);
	--tvh-transition-slow: 260ms cubic-bezier(0.2, 0, 0, 1);
}

html,
body,
button,
input,
select,
textarea,
table {
	font-family: var(--tvh-font-sans);
}

body {
	background: var(--tvh-bg);
	color: var(--tvh-text);
	font-size: 15px;
	line-height: 1.65;
	font-weight: 450;
}

h1,
h2,
h3,
h4,
.tvh-topbar h1,
.tvh-page-head h2 {
	color: var(--tvh-text);
	font-family: var(--tvh-font-sans);
	font-weight: 780;
	letter-spacing: 0 !important;
}

p,
small,
label,
button,
input,
select,
textarea,
.tvh-button,
.tvh-badge,
.tvh-chip,
.tvh-nav__item,
.tvh-table th,
.tvh-table td {
	letter-spacing: 0 !important;
}

a {
	color: var(--tvh-primary);
	transition: color var(--tvh-transition), background-color var(--tvh-transition), border-color var(--tvh-transition), box-shadow var(--tvh-transition), transform var(--tvh-transition);
}

.tvh-shell {
	background: var(--tvh-bg);
}

.tvh-sidebar {
	background: #f9fbfb;
}

.tvh-topbar {
	background: rgba(249, 251, 251, 0.94);
}

input,
select,
textarea {
	border-radius: var(--tvh-radius-sm);
	border-color: var(--tvh-border);
	background-color: #fff;
	transition: border-color var(--tvh-transition), background-color var(--tvh-transition), box-shadow var(--tvh-transition), transform var(--tvh-transition);
}

input:focus,
select:focus,
textarea:focus {
	border-color: var(--tvh-primary);
	box-shadow: var(--tvh-focus);
}

.tvh-button,
.tvh-icon-button,
.tvh-user-pill,
.tvh-pagination__item,
.tvh-row-actions a,
.tvh-row-actions button,
.tvh-link-button,
.tvh-link-danger {
	border-radius: var(--tvh-radius-sm);
	transition: color var(--tvh-transition), background-color var(--tvh-transition), border-color var(--tvh-transition), box-shadow var(--tvh-transition), transform var(--tvh-transition);
}

.tvh-button:hover,
.tvh-icon-button:hover,
.tvh-user-pill:hover,
.tvh-pagination__item:hover {
	box-shadow: var(--tvh-shadow-sm);
	transform: translateY(-1px);
}

.tvh-button:active,
.tvh-icon-button:active,
.tvh-pagination__item:active {
	box-shadow: var(--tvh-shadow-xs);
	transform: translateY(0);
}

.tvh-button--primary {
	box-shadow: 0 10px 22px rgba(23, 111, 102, 0.18);
}

.tvh-panel,
.tvh-note-card,
.tvh-metric,
.tvh-home-card,
.tvh-dashboard-widget,
.tvh-quick-capture,
.tvh-notes-rail,
.tvh-notes-list,
.tvh-note-preview,
.tvh-note-editor,
.tvh-note-daily,
.tvh-task-column,
.tvh-project-board-mini__col,
.tvh-task-card,
.tvh-project-task-card,
.tvh-project-workspace-card,
.tvh-project-detail-metrics div,
.tvh-calendar__cell,
.tvh-ai-action,
.tvh-ai-chat,
.tvh-ai-bubble,
.tvh-table-wrap,
.tvh-alert,
.tvh-flash,
.tvh-dropdown,
.tvh-toast,
.tvh-capture-hero,
.tvh-public__article {
	border-radius: var(--tvh-radius);
	border-color: var(--tvh-border);
	transition: border-color var(--tvh-transition), box-shadow var(--tvh-transition), background-color var(--tvh-transition), transform var(--tvh-transition);
}

.tvh-panel,
.tvh-dashboard-widget,
.tvh-quick-capture,
.tvh-notes-list,
.tvh-note-preview,
.tvh-note-editor {
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.8), var(--tvh-shadow-xs);
}

.tvh-panel:hover,
.tvh-dashboard-widget:hover,
.tvh-project-workspace-card:hover,
.tvh-task-card:hover,
.tvh-project-task-card:hover,
.tvh-note-card:hover,
.tvh-calendar__cell:hover,
.tvh-ai-action:hover {
	border-color: var(--tvh-border-strong);
	box-shadow: var(--tvh-shadow-sm);
	transform: translateY(-1px);
}

.tvh-brand,
.tvh-nav__item,
.tvh-sidebar__account,
.tvh-sidebar__logout,
.tvh-note-group,
.tvh-bottom-sheet__item,
.tvh-mobile-nav__item,
.tvh-dropdown__item,
.tvh-quick-actions a,
.tvh-today-item,
.tvh-project-item,
.tvh-note-row,
.tvh-ai-mini-item {
	border-radius: var(--tvh-radius-sm);
	transition: color var(--tvh-transition), background-color var(--tvh-transition), border-color var(--tvh-transition), box-shadow var(--tvh-transition), transform var(--tvh-transition);
}

.tvh-brand__mark,
.tvh-nav__icon,
.tvh-note-card__icon,
.tvh-score {
	border-radius: var(--tvh-radius-sm);
}

.tvh-brand:hover,
.tvh-nav__item:hover,
.tvh-sidebar__logout:hover,
.tvh-note-group:hover,
.tvh-bottom-sheet__item:hover,
.tvh-dropdown__item:hover,
.tvh-quick-actions a:hover,
.tvh-today-item:hover,
.tvh-project-item:hover,
.tvh-note-row:hover,
.tvh-ai-mini-item:hover {
	transform: translateY(-1px);
}

.tvh-nav__item.is-active,
.tvh-nav__item[aria-current="page"],
.tvh-note-group.is-active,
.tvh-bottom-sheet__item.is-active,
.tvh-bottom-sheet__item[aria-current="page"],
.tvh-mobile-nav__item.is-active,
.tvh-mobile-nav__item[aria-current="page"] {
	background: var(--tvh-primary-soft);
	color: var(--tvh-primary-hover);
}

.tvh-badge,
.tvh-chip,
.tvh-suggestion-chip,
.tvh-due-chip,
.tvh-task-presets a,
.tvh-note-chip-cloud a,
.tvh-note-tag-cloud a,
.tvh-note-card__tags a,
.tvh-note-preview__tags a,
.tvh-today-summary span,
.tvh-week-summary span {
	border-radius: 999px;
}

.tvh-chip:hover,
.tvh-suggestion-chip:hover,
.tvh-task-presets a:hover,
.tvh-note-chip-cloud a:hover,
.tvh-note-tag-cloud a:hover,
.tvh-note-card__tags a:hover,
.tvh-note-preview__tags a:hover {
	border-color: var(--tvh-primary);
	background: var(--tvh-primary-soft);
	color: var(--tvh-primary-hover);
	box-shadow: var(--tvh-shadow-xs);
	transform: translateY(-1px);
}

.tvh-metric {
	border-radius: var(--tvh-radius-lg);
}

.tvh-metric:not(.tvh-metric--income):not(.tvh-metric--expense):not(.tvh-metric--danger) {
	background: #fff;
}

.tvh-metric--income {
	border-color: #c9e7d6;
	background: var(--tvh-success-soft);
}

.tvh-metric--expense,
.tvh-metric--danger {
	border-color: #efc9c6;
	background: var(--tvh-danger-soft);
}

.tvh-table-wrap {
	border-radius: var(--tvh-radius);
}

.tvh-table th {
	background: #f2f7f6;
	color: #5d6f69;
	font-weight: 780;
}

.tvh-table tbody tr {
	transition: background-color var(--tvh-transition), box-shadow var(--tvh-transition);
}

.tvh-table tbody tr:hover {
	background: #f8fbfa;
}

.tvh-task-column,
.tvh-project-board-mini__col {
	border-radius: var(--tvh-radius-lg);
	background: #edf4f2;
}

.tvh-task-card,
.tvh-project-task-card {
	border-radius: var(--tvh-radius);
}

.tvh-task-card.is-dragging,
.tvh-project-task-card.is-dragging {
	transform: rotate(0.6deg) scale(1.01);
}

.tvh-task-column__cards.is-drag-over,
.tvh-project-board-mini__cards.is-drag-over {
	background: rgba(23, 111, 102, 0.1);
	outline-color: var(--tvh-primary);
}

.tvh-progress,
.tvh-bar {
	border-radius: 999px;
	background: #e4ece9;
}

.tvh-progress i,
.tvh-bar i {
	transition: width var(--tvh-transition-slow);
}

.tvh-note-card::before,
.tvh-project-workspace-card__rail,
.tvh-project-item__dot,
.tvh-note-row__accent {
	border-radius: 999px;
}

.tvh-note-card--workspace.is-selected,
.tvh-calendar__cell.is-selected {
	box-shadow: var(--tvh-focus);
}

.tvh-ai-chat {
	background: #f5f9f8;
}

.tvh-ai-bubble {
	border-radius: var(--tvh-radius-lg);
}

.tvh-ai-message--user .tvh-ai-bubble {
	background: var(--tvh-primary);
}

.tvh-dropdown {
	box-shadow: var(--tvh-shadow);
}

.tvh-bottom-sheet__panel {
	border-radius: var(--tvh-radius-lg) var(--tvh-radius-lg) 0 0;
}

.tvh-mobile-nav {
	background: rgba(255, 255, 255, 0.96);
}

@media (hover: hover) {
	.tvh-button:hover,
	.tvh-icon-button:hover,
	.tvh-chip:hover,
	.tvh-task-presets a:hover,
	.tvh-note-card:hover,
	.tvh-task-card:hover,
	.tvh-project-task-card:hover,
	.tvh-project-workspace-card:hover,
	.tvh-calendar__cell:hover {
		will-change: transform;
	}
}

.tvh-project-workspace-grid {
	gap: 14px;
}

.tvh-project-workspace-card {
	position: relative;
	grid-template-columns: 9px minmax(0, 1fr);
	gap: 13px;
	overflow: hidden;
	padding: 14px;
	border-color: #cfe1dc;
	background: #fff;
	box-shadow: 0 12px 28px rgba(17, 36, 31, 0.075), 0 1px 0 rgba(255, 255, 255, 0.84);
}

.tvh-project-workspace-card::before {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--project-color, var(--tvh-primary));
	opacity: 0.075;
	pointer-events: none;
}

.tvh-project-workspace-card:hover {
	border-color: var(--project-color, var(--tvh-primary));
	box-shadow: 0 18px 42px rgba(17, 36, 31, 0.13);
}

.tvh-project-workspace-card__rail,
.tvh-project-workspace-card__body {
	position: relative;
	z-index: 1;
}

.tvh-project-workspace-card__rail {
	width: 9px;
	box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.8);
}

.tvh-project-workspace-card__body {
	gap: 10px;
}

.tvh-project-workspace-card__head {
	align-items: center;
}

.tvh-project-workspace-card strong {
	color: #102a25;
	font-size: 15px;
	font-weight: 850;
}

.tvh-project-workspace-card small {
	color: #536862;
	font-weight: 680;
}

.tvh-project-workspace-card .tvh-badge {
	border: 1px solid rgba(20, 118, 105, 0.18);
	background: #e7f7ef;
	color: #12634d;
	font-weight: 840;
	box-shadow: 0 4px 10px rgba(17, 36, 31, 0.06);
}

.tvh-project-workspace-card .tvh-progress {
	height: 18px;
	border: 1px solid rgba(17, 36, 31, 0.06);
	background: rgba(255, 255, 255, 0.72);
	box-shadow: inset 0 1px 2px rgba(17, 36, 31, 0.07);
}

.tvh-project-workspace-card .tvh-progress i {
	background: var(--project-color, var(--tvh-primary));
	box-shadow: 0 0 14px rgba(17, 36, 31, 0.14);
}

.tvh-project-workspace-card .tvh-progress span {
	color: #183b34;
	font-weight: 850;
}

.tvh-project-workspace-card__stats {
	gap: 8px;
	color: #51655f;
}

.tvh-project-workspace-card__stats span {
	min-height: 32px;
	border: 1px solid rgba(17, 36, 31, 0.07);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.72);
	padding: 7px 8px;
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.78);
}

.tvh-project-workspace-card__stats .is-danger {
	border-color: rgba(185, 77, 63, 0.2);
	background: rgba(255, 244, 242, 0.82);
	font-weight: 850;
}

@media (max-width: 520px) {
	.tvh-project-workspace-card {
		grid-template-columns: 8px minmax(0, 1fr);
		gap: 11px;
		padding: 12px;
	}

	.tvh-project-workspace-card__rail {
		width: 8px;
	}

	.tvh-project-workspace-card__stats {
		gap: 7px;
	}

	.tvh-project-workspace-card__stats span {
		min-height: 30px;
		padding: 6px 7px;
	}
}

@media (max-width: 782px) {
	:root {
		--tvh-radius-sm: 9px;
		--tvh-radius: 12px;
		--tvh-radius-lg: 14px;
	}

	body {
		font-size: 14px;
		line-height: 1.62;
	}

	.tvh-topbar {
		border-radius: 0;
	}

	.tvh-panel,
	.tvh-dashboard-widget,
	.tvh-quick-capture,
	.tvh-notes-list,
	.tvh-note-preview,
	.tvh-note-editor {
		box-shadow: var(--tvh-shadow-xs);
	}

	.tvh-button:hover,
	.tvh-icon-button:hover,
	.tvh-panel:hover,
	.tvh-dashboard-widget:hover,
	.tvh-task-card:hover,
	.tvh-note-card:hover {
		transform: none;
	}
}

/* Layout hardening after sidebar/home changes */
.tvh-topbar__actions .tvh-button,
.tvh-page-head .tvh-button,
.tvh-export-grid .tvh-button {
	white-space: normal;
	word-break: normal;
	overflow-wrap: normal;
}

.tvh-topbar__actions .tvh-button {
	flex: 0 0 auto;
	white-space: nowrap;
}

.tvh-grid--2 {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr));
}

.tvh-form-grid {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
}

.tvh-export-grid {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr));
}

.tvh-panel,
.tvh-grid,
.tvh-form,
.tvh-form-grid,
.tvh-export-grid {
	min-width: 0;
}

@media (max-width: 1199px) {
	.tvh-page-head {
		align-items: flex-start;
		flex-direction: column;
	}

	.tvh-page-head .tvh-actions {
		justify-content: flex-start;
		width: 100%;
	}

	.tvh-topbar__actions {
		flex: 0 0 auto;
	}

	.tvh-topbar__actions .tvh-action-label,
	.tvh-user-pill__name {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
		white-space: nowrap;
	}

	.tvh-header-overflow {
		display: inline-flex;
	}
}

/* Locked login */
.tvh-login {
	display: grid;
	place-items: center;
	min-height: 100dvh;
	padding: 24px;
	background: #f5f4ef;
	color: #1f2320;
	overflow: auto;
}

.tvh-login__panel {
	display: grid;
	justify-items: center;
	width: min(100%, 440px);
	min-width: 0;
	padding: 0;
}

.tvh-login__brand {
	display: none;
	align-items: center;
	gap: 10px;
	justify-self: start;
	color: #1f2320;
	font-weight: 800;
	text-decoration: none;
}

.tvh-login__brand:hover {
	color: #1f2320;
	text-decoration: none;
}

.tvh-login__brand span {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 8px;
	background: #1f2320;
	color: #ffffff;
	font-weight: 850;
}

.tvh-login__card {
	display: grid;
	gap: 18px;
	width: 100%;
	padding: 30px;
	border: 1px solid #dfe4de;
	border-radius: 8px;
	background: #ffffff;
	box-shadow: 0 16px 42px rgba(34, 42, 36, 0.08);
}

.tvh-login__head {
	display: grid;
	justify-items: center;
	gap: 0;
	text-align: center;
}

.tvh-login__mark {
	display: none;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: 8px;
	background: #e7f2ee;
	color: #2f7d54;
}

.tvh-login__mark svg,
.tvh-login__submit svg,
.tvh-login__lock svg {
	width: 20px;
	height: 20px;
}

.tvh-login__head p {
	display: none;
	margin: 4px 0 0;
	color: #4c6fa5;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0;
	text-transform: uppercase;
}

.tvh-login__head h1 {
	margin: 0;
	color: #151816;
	font-size: 30px;
	line-height: 1.12;
	font-weight: 820;
	letter-spacing: 0;
}

.tvh-login__head > span {
	display: none;
	color: #5f675f;
}

.tvh-login__notice {
	padding: 10px 12px;
	border: 1px solid #d6e4dd;
	border-radius: 8px;
	background: #eef7f3;
	color: #23594a;
	font-size: 14px;
	font-weight: 650;
}

.tvh-login__notice--error {
	border-color: #efc9c5;
	background: #fff0ee;
	color: #9e332c;
}

.tvh-login__notice--success {
	border-color: #cae5d4;
	background: #edf8f1;
	color: #256443;
}

.tvh-login__form {
	display: grid;
	gap: 14px;
}

.tvh-login__form label {
	display: grid;
	gap: 7px;
	color: #333833;
	font-size: 14px;
	font-weight: 700;
}

.tvh-login__form input[type="text"],
.tvh-login__form input[type="password"] {
	min-height: 48px;
	border-color: #d8ded7;
	background: #fbfcfb;
	font-size: 15px;
}

.tvh-login__remember {
	display: flex !important;
	grid-template-columns: none;
	align-items: center;
	gap: 10px !important;
	color: #596159 !important;
	font-weight: 650 !important;
}

.tvh-login__remember input {
	width: 18px;
	min-width: 18px;
}

.tvh-login__submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	min-height: 48px;
	border: 0;
	border-radius: 8px;
	background: #1f2320;
	color: #ffffff;
	padding: 11px 16px;
	font-weight: 800;
	transition: background var(--tvh-transition), transform var(--tvh-transition);
}

.tvh-login__submit:hover {
	background: #2f7d54;
}

.tvh-login__submit:active {
	transform: translateY(1px);
}

.tvh-login__links {
	display: flex;
	justify-content: center;
	font-size: 14px;
	font-weight: 700;
}

.tvh-login__visual {
	position: relative;
	display: none;
	place-items: center;
	min-width: 0;
	padding: 48px;
	background: #dfe9e6;
}

.tvh-login__visual::before {
	position: absolute;
	inset: 0;
	content: "";
	background:
		linear-gradient(90deg, rgba(255, 255, 255, 0.34) 1px, transparent 1px),
		linear-gradient(0deg, rgba(255, 255, 255, 0.34) 1px, transparent 1px);
	background-size: 54px 54px;
}

.tvh-login__device {
	position: relative;
	z-index: 1;
	display: grid;
	gap: 0;
	width: min(100%, 520px);
	border: 1px solid rgba(31, 35, 32, 0.12);
	border-radius: 8px;
	background: #ffffff;
	box-shadow: 0 26px 80px rgba(31, 35, 32, 0.16);
	overflow: hidden;
}

.tvh-login__device-head {
	display: flex;
	gap: 7px;
	padding: 14px 16px;
	border-bottom: 1px solid #e1e7e0;
	background: #f8faf8;
}

.tvh-login__device-head span {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: #99a6a0;
}

.tvh-login__device-head span:nth-child(2) {
	background: #4c6fa5;
}

.tvh-login__device-head span:nth-child(3) {
	background: #2f7d54;
}

.tvh-login__device-body {
	display: grid;
	justify-items: center;
	gap: 8px;
	padding: 56px 24px 38px;
	text-align: center;
}

.tvh-login__lock {
	display: grid;
	place-items: center;
	width: 58px;
	height: 58px;
	border-radius: 8px;
	background: #20362f;
	color: #ffffff;
}

.tvh-login__device-body strong {
	color: #171a18;
	font-size: 24px;
	line-height: 1.2;
}

.tvh-login__device-body span {
	color: #667069;
}

.tvh-login__rows {
	display: grid;
	gap: 10px;
	padding: 0 28px 30px;
}

.tvh-login__rows span {
	display: block;
	height: 12px;
	border-radius: 8px;
	background: #edf1ee;
}

.tvh-login__rows span:nth-child(2) {
	width: 76%;
	background: #e8edf6;
}

.tvh-login__rows span:nth-child(3) {
	width: 58%;
}

@media (max-width: 900px) {
	.tvh-login {
		overflow: auto;
	}

	.tvh-login__panel {
		justify-items: center;
		width: min(100%, 440px);
	}

	.tvh-login__visual {
		display: none;
	}
}

@media (max-width: 520px) {
	.tvh-login {
		padding: 16px;
	}

	.tvh-login__panel {
		padding: 0;
	}

	.tvh-login__card {
		width: 100%;
		padding: 22px;
	}

	.tvh-login__head h1 {
		font-size: 28px;
	}
}

/* Chat-first home */
.tvh-home-ai {
	display: grid;
	grid-template-columns: 248px minmax(0, 1fr);
	min-height: 100vh;
	background: #f7f7f4;
	color: #1f2320;
	overflow-x: hidden;
}

.tvh-home-ai__rail {
	position: sticky;
	top: 0;
	display: flex;
	flex-direction: column;
	gap: 18px;
	height: 100vh;
	padding: 18px 12px;
	border-right: 1px solid #e1e1dc;
	background: #f0f0ec;
}

.tvh-home-ai__brand {
	display: inline-grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 12px;
	background: #202421;
	color: #fff;
	font-weight: 800;
	text-decoration: none;
}

.tvh-home-ai__brand:hover {
	color: #fff;
	text-decoration: none;
}

.tvh-home-ai__nav,
.tvh-home-ai__rail-foot {
	display: grid;
	gap: 4px;
}

.tvh-home-ai__rail-foot {
	margin-top: auto;
}

.tvh-home-ai__nav a,
.tvh-home-ai__rail-foot a {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 42px;
	padding: 9px 10px;
	border-radius: 10px;
	color: #3c403d;
	font-size: 14px;
	font-weight: 650;
	text-decoration: none;
}

.tvh-home-ai__nav a:hover,
.tvh-home-ai__rail-foot a:hover,
.tvh-home-ai__nav a.is-active {
	background: #ffffff;
	color: #151816;
	text-decoration: none;
}

.tvh-home-ai__nav svg,
.tvh-home-ai__rail-foot svg {
	width: 18px;
	height: 18px;
	flex: 0 0 auto;
}

.tvh-home-ai__workspace {
	display: grid;
	grid-template-rows: auto minmax(0, 1fr);
	min-width: 0;
	max-width: 100%;
}

.tvh-home-ai__topbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-height: 64px;
	padding: 12px clamp(18px, 3vw, 38px);
	border-bottom: 1px solid #e8e8e3;
	background: rgba(247, 247, 244, 0.92);
	backdrop-filter: blur(16px);
}

.tvh-home-ai__topbar > div,
.tvh-home-ai__account,
.tvh-home-ai__login {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	color: #50554f;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
}

.tvh-home-ai__status-dot {
	width: 9px;
	height: 9px;
	border-radius: 999px;
	background: #27a36a;
	box-shadow: 0 0 0 4px rgba(39, 163, 106, 0.12);
}

.tvh-home-ai__account,
.tvh-home-ai__login {
	min-height: 38px;
	padding: 6px 10px;
	border: 1px solid #dfdfda;
	border-radius: 999px;
	background: #fff;
	color: #252926;
}

.tvh-home-ai__account span {
	display: grid;
	place-items: center;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: #202421;
	color: #fff;
	font-size: 12px;
}

.tvh-home-ai__stage {
	display: grid;
	grid-template-rows: auto minmax(100px, 1fr) auto auto;
	gap: 18px;
	width: min(100%, 940px);
	max-width: 100%;
	min-height: calc(100vh - 64px);
	margin: 0 auto;
	padding: clamp(28px, 6vh, 72px) 20px 24px;
}

.tvh-home-ai__hero {
	display: grid;
	gap: 10px;
	justify-items: center;
	text-align: center;
}

.tvh-home-ai__eyebrow {
	margin: 0;
	color: #7b6350;
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
}

.tvh-home-ai__hero h1 {
	max-width: 760px;
	margin: 0;
	color: #171a18;
	font-size: clamp(32px, 5vw, 54px);
	line-height: 1.08;
	font-weight: 780;
	letter-spacing: 0;
	overflow-wrap: anywhere;
}

.tvh-home-ai__hero p {
	max-width: 660px;
	margin: 0;
	color: #61665f;
	font-size: 16px;
}

.tvh-home-ai__thread {
	display: grid;
	align-content: end;
	gap: 12px;
	min-height: 220px;
	padding: 12px 0;
}

.tvh-home-ai__message {
	max-width: 76%;
	padding: 13px 15px;
	border: 1px solid #e3e3de;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 1px 2px rgba(24, 28, 25, 0.04);
}

.tvh-home-ai__message--user {
	justify-self: end;
	border-color: #d6e5df;
	background: #eaf6f1;
}

.tvh-home-ai__message > div {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 4px;
	color: #70756f;
	font-size: 12px;
}

.tvh-home-ai__message strong {
	color: #252a26;
	font-size: 13px;
}

.tvh-home-ai__message p,
.tvh-home-ai__empty span,
.tvh-home-ai__composer p {
	margin: 0;
	color: #5c625c;
}

.tvh-home-ai__empty {
	display: grid;
	gap: 6px;
	justify-items: center;
	align-self: center;
	padding: 26px;
	color: #252a26;
	text-align: center;
}

.tvh-home-ai__pending {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding: 12px 14px;
	border: 1px solid #e4e4de;
	border-radius: 14px;
	background: #fff;
}

.tvh-home-ai__pending div {
	display: flex;
	align-items: baseline;
	gap: 8px;
	color: #626760;
}

.tvh-home-ai__pending strong {
	color: #171a18;
	font-size: 22px;
	line-height: 1;
}

.tvh-home-ai__pending a {
	color: #176f66;
	font-weight: 750;
	text-decoration: none;
}

.tvh-home-ai__composer {
	position: sticky;
	bottom: 0;
	display: grid;
	gap: 10px;
	padding-top: 8px;
	background: linear-gradient(to top, #f7f7f4 78%, rgba(247, 247, 244, 0));
}

.tvh-home-ai__chips {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
}

.tvh-home-ai__chips button {
	max-width: 100%;
	min-width: 0;
	min-height: 34px;
	border: 1px solid #e1e1dc;
	border-radius: 999px;
	background: #fff;
	color: #4c514b;
	padding: 6px 12px;
	font-size: 13px;
	font-weight: 650;
	overflow-wrap: anywhere;
	white-space: normal;
}

.tvh-home-ai__chips button:hover {
	border-color: #b8cac4;
	background: #edf7f3;
	color: #10564f;
}

.tvh-home-ai__composer form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
	gap: 10px;
	min-width: 0;
	padding: 10px;
	border: 1px solid #dadbd5;
	border-radius: 24px;
	background: #fff;
	box-shadow: 0 18px 48px rgba(24, 28, 25, 0.12);
}

.tvh-home-ai__composer textarea {
	min-height: 52px;
	max-height: 190px;
	border: 0;
	border-radius: 16px;
	background: transparent;
	padding: 13px 12px;
	box-shadow: none;
	resize: none;
}

.tvh-home-ai__composer textarea:focus {
	box-shadow: none;
}

.tvh-home-ai__composer button[type="submit"] {
	min-width: 58px;
	min-height: 44px;
	border: 0;
	border-radius: 16px;
	background: #202421;
	color: #fff;
	padding: 10px 15px;
	font-weight: 780;
}

.tvh-home-ai__composer button[type="submit"]:hover {
	background: #176f66;
}

.tvh-home-ai__composer > p {
	text-align: center;
	font-size: 12px;
}

@media (max-width: 860px) {
	.tvh-home-ai {
		grid-template-columns: minmax(0, 1fr);
	}

	.tvh-home-ai__rail {
		position: fixed;
		inset: auto 0 0;
		z-index: 20;
		display: grid;
		grid-template-columns: repeat(5, minmax(0, 1fr));
		height: auto;
		padding: 7px;
		border-top: 1px solid #dfdfda;
		border-right: 0;
	}

	.tvh-home-ai__brand,
	.tvh-home-ai__rail-foot {
		display: none;
	}

	.tvh-home-ai__nav {
		display: contents;
	}

	.tvh-home-ai__nav a {
		justify-content: center;
		min-height: 48px;
		padding: 8px;
	}

	.tvh-home-ai__nav span {
		display: none;
	}

	.tvh-home-ai__stage {
		min-height: calc(100vh - 64px);
		padding-bottom: 86px;
	}
}

@media (max-width: 560px) {
	.tvh-home-ai__topbar {
		padding: 10px 12px;
		max-width: 100vw;
		overflow: hidden;
	}

	.tvh-home-ai__account {
		max-width: 150px;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.tvh-home-ai__login {
		display: none;
	}

	.tvh-home-ai__stage {
		gap: 14px;
		width: 100vw;
		max-width: 100vw;
		padding-inline: 12px;
		padding-top: 28px;
		overflow: hidden;
	}

	.tvh-home-ai__hero h1 {
		width: min(100%, 280px);
		max-width: calc(100vw - 24px);
		font-size: 26px;
		line-height: 1.12;
		white-space: normal;
		word-break: break-word;
	}

	.tvh-home-ai__hero p {
		width: min(100%, 280px);
		max-width: calc(100vw - 24px);
		font-size: 14px;
		overflow-wrap: anywhere;
	}

	.tvh-home-ai__chips {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		justify-items: center;
		width: 100%;
		max-width: calc(100vw - 24px);
	}

	.tvh-home-ai__chips button {
		width: min(100%, 280px);
	}

	.tvh-home-ai__thread {
		min-height: 180px;
	}

	.tvh-home-ai__message {
		max-width: 92%;
		border-radius: 16px;
	}

	.tvh-home-ai__pending {
		align-items: stretch;
		flex-direction: column;
	}

	.tvh-home-ai__composer form {
		justify-self: center;
		width: min(100%, 280px);
		max-width: calc(100vw - 24px);
		border-radius: 18px;
	}

	.tvh-home-ai__composer textarea {
		min-width: 0;
		min-height: 48px;
		padding: 10px 8px;
	}

	.tvh-home-ai__composer button[type="submit"] {
		min-width: 52px;
		min-height: 40px;
		border-radius: 12px;
		padding-inline: 12px;
	}

	.tvh-home-ai__composer > p {
		justify-self: center;
		width: min(100%, 280px);
		max-width: calc(100vw - 24px);
		overflow-wrap: anywhere;
	}
}

/* Global app shell repair */
html,
body {
	width: 100%;
	min-width: 0;
}

body#error-page.wp-theme-tranvanden {
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: var(--tvh-bg) !important;
	box-shadow: none !important;
	color: var(--tvh-text) !important;
}

.tvh-app {
	display: grid !important;
	width: 100%;
	max-width: none !important;
	min-height: 100dvh;
	margin: 0 !important;
	grid-template-columns: var(--tvh-sidebar-width) minmax(0, 1fr) !important;
	align-items: stretch;
}

.tvh-shell,
.tvh-topbar,
.tvh-main {
	width: 100%;
	min-width: 0;
	max-width: none;
}

.tvh-shell {
	display: grid;
	grid-template-rows: auto minmax(0, 1fr);
}

.tvh-main {
	justify-self: stretch;
	max-width: var(--tvh-content-width);
	margin-inline: auto;
}

.tvh-sidebar {
	min-width: 0;
	max-width: var(--tvh-sidebar-width);
}

.tvh-topbar {
	overflow: hidden;
}

.tvh-topbar__actions,
.tvh-actions,
.tvh-row-actions {
	min-width: 0;
}

.tvh-dashboard-greeting,
.tvh-quick-capture,
.tvh-dashboard-widget,
.tvh-panel,
.tvh-grid,
.tvh-form,
.tvh-form-grid,
.tvh-export-grid,
.tvh-dashboard-grid,
.tvh-dashboard-capture__main,
.tvh-dashboard-capture__fields {
	min-width: 0;
}

.tvh-dashboard-grid {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr));
}

.tvh-grid--2 {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr));
}

.tvh-grid--3,
.tvh-metric-grid {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
}

.tvh-form-grid {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
}

.tvh-export-grid {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr));
}

.tvh-dashboard-capture__main {
	grid-template-columns: minmax(180px, auto) minmax(0, 1fr);
}

.tvh-segmented--capture {
	min-width: 0;
}

.tvh-button,
.tvh-segmented--capture span,
.tvh-topbar__actions .tvh-button,
.tvh-page-head .tvh-button,
.tvh-export-grid .tvh-button {
	word-break: normal;
	overflow-wrap: normal;
}

@media (min-width: 768px) and (max-width: 1199px) {
	.tvh-app {
		grid-template-columns: minmax(220px, var(--tvh-sidebar-width)) minmax(0, 1fr) !important;
	}

	.tvh-sidebar {
		position: sticky;
		inset: auto;
		top: 0;
		display: flex !important;
		width: 100%;
		max-width: var(--tvh-sidebar-width);
		height: 100dvh;
		padding-inline: 10px;
		box-shadow: none;
		transform: none !important;
	}

	.tvh-sidebar__head {
		grid-template-columns: minmax(0, 1fr) 38px;
	}

	.tvh-sidebar__collapse {
		justify-self: end;
	}

	.tvh-brand,
	.tvh-nav__item,
	.tvh-sidebar__logout,
	.tvh-sidebar__account {
		justify-content: flex-start;
	}

	.tvh-brand__text,
	.tvh-nav__section-title,
	.tvh-nav__label,
	.tvh-sidebar__user-text,
	.tvh-sidebar__logout-label {
		position: static;
		width: auto;
		height: auto;
		overflow: visible;
		clip: auto;
		white-space: normal;
	}

	.tvh-sidebar-drawer-toggle,
	.tvh-sidebar-backdrop {
		display: none !important;
	}

	.tvh-topbar {
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.tvh-topbar h1 {
		max-width: none;
	}

	.tvh-dashboard-grid,
	.tvh-dashboard-capture__main {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 767px) {
	.tvh-app {
		display: block !important;
		width: 100%;
		min-height: 100dvh;
	}

	.tvh-main {
		max-width: none;
	}
}

/* Quick AI page inside app shell */
.tvh-quick-ai {
	display: grid;
	gap: 18px;
	justify-self: center;
	width: min(100%, 1120px);
	min-width: 0;
}

.tvh-quick-ai__hero {
	display: grid;
	gap: 8px;
	padding: 22px;
	border: 1px solid var(--tvh-border);
	border-radius: var(--tvh-radius);
	background: linear-gradient(135deg, #ffffff 0%, #eef7f3 100%);
}

.tvh-quick-ai__hero h2 {
	margin: 0;
	font-size: clamp(26px, 3vw, 44px);
	line-height: 1.12;
	letter-spacing: 0;
}

.tvh-quick-ai__hero p:last-child {
	max-width: 720px;
	margin: 0;
	color: var(--tvh-muted);
}

.tvh-quick-ai__body {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(240px, 300px);
	gap: 16px;
	min-width: 0;
}

.tvh-quick-ai__thread {
	display: grid;
	align-content: start;
	gap: 12px;
	min-width: 0;
	min-height: 310px;
	padding: 16px;
	border: 1px solid var(--tvh-border);
	border-radius: var(--tvh-radius);
	background: #fff;
}

.tvh-quick-ai__message {
	display: grid;
	gap: 7px;
	width: fit-content;
	max-width: min(78%, 680px);
	padding: 12px 14px;
	border: 1px solid var(--tvh-border);
	border-radius: var(--tvh-radius);
	background: #fff;
	box-shadow: var(--tvh-shadow-xs);
}

.tvh-quick-ai__message--user {
	justify-self: end;
	border-color: #cfe7df;
	background: #edf8f4;
}

.tvh-quick-ai__message > div {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 8px;
	color: var(--tvh-muted);
	font-size: 12px;
}

.tvh-quick-ai__message strong {
	color: var(--tvh-text);
	font-size: 13px;
}

.tvh-quick-ai__message p,
.tvh-quick-ai__empty span,
.tvh-quick-ai__composer p {
	margin: 0;
	color: var(--tvh-text-soft);
}

.tvh-quick-ai__empty {
	display: grid;
	place-items: center;
	gap: 6px;
	align-self: center;
	justify-items: center;
	padding: 30px;
	color: var(--tvh-text);
	text-align: center;
}

.tvh-quick-ai__side {
	min-width: 0;
}

.tvh-quick-ai__side .tvh-panel {
	display: grid;
	gap: 14px;
}

.tvh-quick-ai__count {
	display: flex;
	align-items: baseline;
	gap: 8px;
}

.tvh-quick-ai__count strong {
	font-size: 34px;
	line-height: 1;
}

.tvh-quick-ai__composer {
	position: sticky;
	bottom: 0;
	z-index: 5;
	display: grid;
	gap: 10px;
	padding: 12px;
	border: 1px solid var(--tvh-border);
	border-radius: var(--tvh-radius);
	background: rgba(255, 255, 255, 0.96);
	box-shadow: var(--tvh-shadow-sm);
	backdrop-filter: blur(14px);
}

.tvh-quick-ai__composer form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
	gap: 10px;
	min-width: 0;
}

.tvh-quick-ai__composer textarea {
	min-height: 54px;
	max-height: 180px;
	resize: none;
}

.tvh-icon-button--primary {
	border-color: var(--tvh-primary);
	background: var(--tvh-primary);
	color: #fff;
}

.tvh-icon-button--primary:hover {
	background: var(--tvh-primary-hover);
	color: #fff;
}

@media (max-width: 980px) {
	.tvh-quick-ai__body {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 767px) {
	.tvh-quick-ai__hero,
	.tvh-quick-ai__thread,
	.tvh-quick-ai__composer {
		padding: 14px;
	}

	.tvh-quick-ai__message {
		max-width: 92%;
	}

	.tvh-quick-ai__composer {
		bottom: calc(var(--tvh-mobile-nav-height) + env(safe-area-inset-bottom, 0px) + 8px);
	}
}

/* App pages no longer render the global topbar. */
:root {
	--tvh-topbar-height: 0px;
}

.tvh-shell {
	grid-template-rows: minmax(0, 1fr);
}

.tvh-main {
	scroll-padding-top: 16px;
}

.tvh-main > section,
.tvh-panel,
.tvh-page-head,
.tvh-detail-head {
	scroll-margin-top: 18px;
}

.tvh-task-toolbar {
	top: 8px;
}

@media (max-width: 767px) {
	:root {
		--tvh-topbar-height: 0px;
	}
}

/* Minimal quick input */
.tvh-app[data-page="quick"] .tvh-topbar {
	display: none;
}

.tvh-app[data-page="quick"] .tvh-main {
	align-content: center;
	place-items: center;
	min-height: 100dvh;
}

.tvh-quick-minimal {
	display: grid;
	place-items: center;
	width: 100%;
	min-width: 0;
}

.tvh-quick-minimal__inner {
	display: grid;
	justify-items: center;
	gap: 18px;
	width: min(100%, 880px);
	min-width: 0;
}

.tvh-quick-minimal h2 {
	margin: 0;
	font-size: clamp(28px, 4vw, 48px);
	line-height: 1.12;
	text-align: center;
}

.tvh-quick-minimal__form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
	gap: 10px;
	width: 100%;
	min-width: 0;
	padding: 10px;
	border: 1px solid var(--tvh-border);
	border-radius: 22px;
	background: #fff;
	box-shadow: 0 18px 48px rgba(24, 28, 25, 0.1);
}

.tvh-quick-minimal__form textarea {
	min-height: 48px;
	max-height: 190px;
	border: 0;
	background: transparent;
	box-shadow: none;
	resize: none;
}

.tvh-quick-minimal__form textarea:focus {
	box-shadow: none;
}

.tvh-quick-minimal__chips {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	width: 100%;
}

.tvh-ai-review {
	position: fixed;
	inset: 0;
	z-index: 100;
	display: grid;
	place-items: center;
	padding: 22px;
}

.tvh-ai-review__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(24, 28, 25, 0.36);
	backdrop-filter: blur(6px);
}

.tvh-ai-review__panel {
	position: relative;
	z-index: 1;
	display: grid;
	gap: 16px;
	width: min(100%, 760px);
	max-height: min(86dvh, 780px);
	padding: 20px;
	overflow: auto;
	border: 1px solid var(--tvh-border);
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 24px 70px rgba(24, 28, 25, 0.2);
}

.tvh-ai-review__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 14px;
}

.tvh-ai-review__head h2 {
	margin: 0;
	font-size: 22px;
	line-height: 1.2;
}

.tvh-ai-review__summary {
	margin: 0;
	padding: 12px 14px;
	border: 1px solid #d7e9e3;
	border-radius: var(--tvh-radius);
	background: #f1faf6;
	color: var(--tvh-text-soft);
}

.tvh-ai-review__form {
	display: grid;
	gap: 14px;
}

.tvh-ai-review__form > .tvh-actions {
	display: none;
}

.tvh-ai-review__form-grid--trio {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: end;
}

.tvh-ai-review__form-grid--trio > label {
	min-width: 0;
}

.tvh-ai-review__form-grid--trio > .tvh-ai-review__field--title,
.tvh-ai-review__form-grid--trio > .tvh-ai-review__field--summary {
	grid-column: 1 / -1;
}

.tvh-ai-review__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 10px;
	padding-top: 4px;
	border-top: 1px solid var(--tvh-border);
}

@media (max-width: 767px) {
	.tvh-app[data-page="quick"] .tvh-main {
		min-height: calc(100dvh - var(--tvh-mobile-nav-height));
	}

	.tvh-quick-minimal__inner {
		gap: 14px;
	}

	.tvh-quick-minimal__form {
		border-radius: 18px;
	}

	.tvh-ai-review {
		align-items: end;
		padding: 10px;
	}

	.tvh-ai-review__panel {
		max-height: calc(100dvh - 24px);
		padding: 16px;
		border-radius: 16px;
	}

	.tvh-ai-review__form .tvh-form-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}

	.tvh-ai-review__field {
		min-width: 0;
		font-size: 12px;
	}

	.tvh-ai-review__field input,
	.tvh-ai-review__field select,
	.tvh-ai-review__field textarea {
		width: 100%;
		min-height: 40px;
		padding-inline: 12px;
	}

	.tvh-ai-review__actions,
	.tvh-ai-review__actions form,
	.tvh-ai-review__actions .tvh-button {
		width: 100%;
	}

	.tvh-ai-review__actions {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 8px;
	}

	.tvh-ai-review__actions form {
		display: contents;
	}

	.tvh-ai-review__actions .tvh-button {
		min-width: 0;
		justify-content: center;
		padding-inline: 8px;
		white-space: nowrap;
		font-size: 13px;
	}
}

/* Sidebar collapse fix and DENTV brand polish */
.tvh-sidebar {
	display: flex;
	flex-direction: column;
}

.tvh-sidebar__head {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 38px;
	align-items: center;
	gap: 8px;
	margin-bottom: 14px;
}

.tvh-brand {
	min-width: 0;
	min-height: 46px;
	padding: 6px;
	border: 1px solid transparent;
}

.tvh-brand:hover {
	border-color: rgba(56, 106, 90, 0.16);
	background: #eef6f2;
}

.tvh-brand__mark {
	width: 36px;
	height: 36px;
	border: 1px solid rgba(56, 106, 90, 0.22);
	background: #2f6655;
	color: #fff;
	box-shadow: 0 8px 18px rgba(47, 102, 85, 0.16);
	font-size: 15px;
	line-height: 1;
}

.tvh-brand__name {
	color: var(--tvh-text);
	font-size: 15px;
	font-weight: 820;
	line-height: 1.12;
}

.tvh-brand__sub {
	color: var(--tvh-muted);
	font-size: 11px;
	font-weight: 650;
	line-height: 1.35;
}

.tvh-app.is-sidebar-collapsed,
.tvh-sidebar-collapsed-preload .tvh-app {
	grid-template-columns: var(--tvh-sidebar-collapsed-width) minmax(0, 1fr) !important;
}

@media (min-width: 1200px) {
	.tvh-app.is-sidebar-collapsed .tvh-sidebar,
	.tvh-sidebar-collapsed-preload .tvh-sidebar {
		width: var(--tvh-sidebar-collapsed-width) !important;
		max-width: var(--tvh-sidebar-collapsed-width) !important;
		padding-inline: 8px;
	}

	.tvh-app.is-sidebar-collapsed .tvh-sidebar__head,
	.tvh-sidebar-collapsed-preload .tvh-sidebar__head {
		grid-template-columns: minmax(0, 1fr);
	}

	.tvh-app.is-sidebar-collapsed .tvh-sidebar__collapse,
	.tvh-sidebar-collapsed-preload .tvh-sidebar__collapse {
		justify-self: center;
	}

	.tvh-app.is-sidebar-collapsed .tvh-brand,
	.tvh-sidebar-collapsed-preload .tvh-brand,
	.tvh-app.is-sidebar-collapsed .tvh-nav__item,
	.tvh-sidebar-collapsed-preload .tvh-nav__item,
	.tvh-app.is-sidebar-collapsed .tvh-sidebar__account,
	.tvh-sidebar-collapsed-preload .tvh-sidebar__account,
	.tvh-app.is-sidebar-collapsed .tvh-sidebar__logout,
	.tvh-sidebar-collapsed-preload .tvh-sidebar__logout {
		justify-content: center;
	}

	.tvh-app.is-sidebar-collapsed .tvh-brand__text,
	.tvh-sidebar-collapsed-preload .tvh-brand__text,
	.tvh-app.is-sidebar-collapsed .tvh-nav__section-title,
	.tvh-sidebar-collapsed-preload .tvh-nav__section-title,
	.tvh-app.is-sidebar-collapsed .tvh-nav__label,
	.tvh-sidebar-collapsed-preload .tvh-nav__label,
	.tvh-app.is-sidebar-collapsed .tvh-sidebar__user-text,
	.tvh-sidebar-collapsed-preload .tvh-sidebar__user-text,
	.tvh-app.is-sidebar-collapsed .tvh-sidebar__logout-label,
	.tvh-sidebar-collapsed-preload .tvh-sidebar__logout-label {
		position: absolute !important;
		width: 1px !important;
		height: 1px !important;
		overflow: hidden !important;
		clip: rect(0 0 0 0) !important;
		white-space: nowrap !important;
	}
}

@media (min-width: 768px) and (max-width: 1199px) {
	.tvh-app {
		grid-template-columns: var(--tvh-sidebar-collapsed-width) minmax(0, 1fr) !important;
	}

	.tvh-sidebar {
		position: sticky;
		inset: auto;
		top: 0;
		width: var(--tvh-sidebar-collapsed-width) !important;
		min-width: var(--tvh-sidebar-collapsed-width) !important;
		max-width: var(--tvh-sidebar-collapsed-width) !important;
		height: 100dvh;
		padding-inline: 8px;
		transform: none !important;
	}

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

	.tvh-sidebar__collapse,
	.tvh-brand,
	.tvh-nav__item,
	.tvh-sidebar__account,
	.tvh-sidebar__logout {
		justify-content: center;
	}

	.tvh-sidebar__collapse {
		justify-self: center;
	}

	.tvh-brand__text,
	.tvh-nav__section-title,
	.tvh-nav__label,
	.tvh-sidebar__user-text,
	.tvh-sidebar__logout-label {
		position: absolute !important;
		width: 1px !important;
		height: 1px !important;
		overflow: hidden !important;
		clip: rect(0 0 0 0) !important;
		white-space: nowrap !important;
	}

	.tvh-sidebar-drawer-toggle {
		display: inline-flex !important;
	}

	.tvh-sidebar-backdrop {
		display: none !important;
	}

	.tvh-app.is-sidebar-drawer-open .tvh-sidebar {
		position: fixed;
		top: 0;
		left: 0;
		z-index: 70;
		width: min(292px, calc(100vw - 28px)) !important;
		min-width: min(292px, calc(100vw - 28px)) !important;
		max-width: min(292px, calc(100vw - 28px)) !important;
		padding-inline: 10px;
		box-shadow: 18px 0 44px rgba(41, 42, 38, 0.18);
	}

	.tvh-app.is-sidebar-drawer-open .tvh-sidebar__head {
		grid-template-columns: minmax(0, 1fr) 38px;
	}

	.tvh-app.is-sidebar-drawer-open .tvh-sidebar__collapse {
		justify-self: end;
	}

	.tvh-app.is-sidebar-drawer-open .tvh-brand,
	.tvh-app.is-sidebar-drawer-open .tvh-nav__item,
	.tvh-app.is-sidebar-drawer-open .tvh-sidebar__account,
	.tvh-app.is-sidebar-drawer-open .tvh-sidebar__logout {
		justify-content: flex-start;
	}

	.tvh-app.is-sidebar-drawer-open .tvh-brand__text,
	.tvh-app.is-sidebar-drawer-open .tvh-nav__section-title,
	.tvh-app.is-sidebar-drawer-open .tvh-nav__label,
	.tvh-app.is-sidebar-drawer-open .tvh-sidebar__user-text,
	.tvh-app.is-sidebar-drawer-open .tvh-sidebar__logout-label {
		position: static !important;
		width: auto !important;
		height: auto !important;
		overflow: visible !important;
		clip: auto !important;
		white-space: normal !important;
	}

	.tvh-app.is-sidebar-drawer-open .tvh-sidebar-backdrop {
		display: block !important;
	}
}

/* Full-width app workspace */
.tvh-app .tvh-main {
	align-content: start;
	align-items: start;
	max-width: none;
	padding-inline: clamp(14px, 1.8vw, 28px);
}

.tvh-app .tvh-main > * {
	justify-self: stretch;
	width: 100%;
	max-width: none;
}

/* Full-width task workspace */
.tvh-app[data-page="tasks"] .tvh-main {
	max-width: none;
	padding-inline: clamp(14px, 1.8vw, 28px);
}

.tvh-app[data-page="tasks"] .tvh-page-head--workspace,
.tvh-app[data-page="tasks"] .tvh-task-workspace,
.tvh-app[data-page="tasks"] .tvh-task-form-panel {
	width: 100%;
	max-width: none;
}

.tvh-action-icon {
	width: 44px;
	height: 44px;
	flex: 0 0 44px;
}

.tvh-app[data-page="tasks"] .tvh-task-toolbar {
	grid-template-columns: minmax(230px, 1.4fr) repeat(5, minmax(138px, 0.8fr)) 44px auto;
	width: 100%;
	padding: 10px;
}

.tvh-app[data-page="tasks"] .tvh-task-toolbar select {
	min-width: 0;
}

.tvh-app[data-page="tasks"] .tvh-task-view-toggle {
	min-width: 96px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 3px;
}

.tvh-app[data-page="tasks"] .tvh-task-view-toggle span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0;
	width: 40px;
	height: 36px;
	min-width: 40px;
	padding-inline: 0;
	line-height: 1;
}

.tvh-app[data-page="tasks"] .tvh-task-view-toggle em {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.tvh-app[data-page="tasks"] .tvh-task-view-toggle .tvh-lucide,
.tvh-app[data-page="tasks"] .tvh-task-presets .tvh-lucide {
	width: 16px;
	height: 16px;
	flex: 0 0 16px;
}

.tvh-app[data-page="tasks"] .tvh-task-view-toggle .tvh-lucide {
	margin: 0;
	stroke-width: 2;
}

.tvh-app[data-page="tasks"] .tvh-task-presets {
	gap: 8px;
}

.tvh-app[data-page="tasks"] .tvh-task-presets a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 36px;
	padding: 7px 10px;
}

.tvh-app[data-page="tasks"] .tvh-task-board {
	grid-template-columns: repeat(4, minmax(260px, 1fr));
	width: 100%;
}

.tvh-app[data-page="tasks"] .tvh-task-column {
	min-height: 65vh;
}

.tvh-task-form-modal[hidden] {
	display: none;
}

.tvh-task-form-modal {
	position: fixed;
	inset: 0;
	z-index: 80;
	display: grid;
	place-items: center;
	padding: 18px;
}

.tvh-task-form-modal__overlay {
	position: absolute;
	inset: 0;
	border: 0;
	background: rgba(15, 23, 42, 0.22);
	backdrop-filter: blur(6px);
	cursor: default;
}

.tvh-task-form-modal__panel {
	position: relative;
	width: min(100%, 560px);
	max-height: min(760px, calc(100vh - 36px));
	overflow: auto;
	border: 1px solid var(--tvh-border);
	border-radius: 18px;
	background: var(--tvh-surface);
	box-shadow: 0 24px 70px rgba(15, 23, 42, 0.22);
}

.tvh-task-form-modal__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 18px 20px 12px;
	border-bottom: 1px solid var(--tvh-border-soft);
}

.tvh-task-form-modal__head h3 {
	margin: 2px 0 0;
	font-size: 22px;
	line-height: 1.15;
}

.tvh-task-form-compact {
	display: grid;
	gap: 13px;
	padding: 16px 20px 20px;
}

.tvh-task-form-compact textarea {
	min-height: 92px;
	resize: vertical;
}

.tvh-task-form-advanced {
	border: 1px solid var(--tvh-border-soft);
	border-radius: 14px;
	background: var(--tvh-surface-muted);
}

.tvh-task-form-advanced summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 12px 14px;
	color: var(--tvh-text-soft);
	font-size: 13px;
	font-weight: 780;
	cursor: pointer;
	list-style: none;
}

.tvh-task-form-advanced summary::-webkit-details-marker {
	display: none;
}

.tvh-task-form-advanced summary::after {
	content: "+";
	display: inline-grid;
	place-items: center;
	width: 24px;
	height: 24px;
	border: 1px solid var(--tvh-border);
	border-radius: 999px;
	background: var(--tvh-surface);
	color: var(--tvh-primary);
	font-size: 16px;
	line-height: 1;
}

.tvh-task-form-advanced[open] summary::after {
	content: "-";
}

.tvh-task-form-advanced .tvh-form-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	padding: 0 14px 14px;
}

.tvh-task-form-advanced > label {
	display: grid;
	gap: 7px;
	padding: 0 14px 14px;
}

.tvh-task-form-modal__actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
	padding-top: 2px;
}

body.tvh-task-form-modal-open {
	overflow: hidden;
}

@media (max-width: 1360px) {
	.tvh-app[data-page="tasks"] .tvh-task-toolbar {
		grid-template-columns: minmax(220px, 1fr) repeat(3, minmax(136px, 1fr)) 44px auto;
	}
}

@media (max-width: 980px) {
	.tvh-app[data-page="tasks"] .tvh-task-toolbar {
		grid-template-columns: minmax(0, 1fr) 44px auto;
	}

	.tvh-app[data-page="tasks"] .tvh-task-toolbar select {
		display: none;
	}

	.tvh-app[data-page="tasks"] .tvh-task-presets a span {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
		white-space: nowrap;
	}

	.tvh-app[data-page="tasks"] .tvh-task-presets a {
		width: 38px;
		padding-inline: 0;
		justify-content: center;
	}

	.tvh-task-form-advanced .tvh-form-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tvh-task-form-advanced .tvh-form-grid > label:not(.tvh-task-form-field--paired) {
		grid-column: 1 / -1;
	}

	.tvh-task-form-advanced .tvh-task-form-field--paired {
		min-width: 0;
	}

	.tvh-task-form-advanced .tvh-task-form-field--paired input,
	.tvh-task-form-advanced .tvh-task-form-field--paired select {
		width: 100%;
		min-width: 0;
	}
}

@media (max-width: 620px) {
	.tvh-task-form-modal {
		align-items: end;
		padding: 10px;
	}

	.tvh-task-form-modal__panel {
		width: 100%;
		max-height: calc(100vh - 20px);
		border-radius: 16px;
	}

	.tvh-task-form-modal__actions {
		display: grid;
		grid-template-columns: 1fr 1fr;
	}
}

/* Full-width notes workspace */
.tvh-app[data-page="notes"] .tvh-main {
	max-width: none;
	padding-inline: clamp(14px, 1.8vw, 28px);
}

.tvh-app[data-page="notes"] .tvh-notes-head,
.tvh-app[data-page="notes"] .tvh-notes-workspace {
	width: 100%;
	max-width: none;
}

.tvh-app[data-page="notes"] .tvh-notes-workspace {
	grid-template-columns: minmax(220px, 300px) minmax(520px, 1.45fr) minmax(340px, 0.95fr);
	align-items: start;
	gap: 18px;
}

.tvh-app[data-page="notes"] .tvh-note-grid--workspace {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
}

.tvh-app[data-page="notes"] .tvh-notes-list,
.tvh-app[data-page="notes"] .tvh-note-side,
.tvh-app[data-page="notes"] .tvh-note-preview,
.tvh-app[data-page="notes"] .tvh-note-editor {
	min-width: 0;
}

.tvh-app[data-page="notes"] .tvh-notes-rail,
.tvh-app[data-page="notes"] .tvh-note-side {
	position: sticky;
	top: calc(var(--tvh-topbar-height) + 18px);
}

.tvh-app[data-page="notes"] .tvh-notes-head .tvh-button {
	white-space: nowrap;
}

@media (max-width: 1280px) {
	.tvh-app[data-page="notes"] .tvh-notes-workspace {
		grid-template-columns: minmax(210px, 260px) minmax(0, 1fr);
	}

	.tvh-app[data-page="notes"] .tvh-note-side {
		position: static;
		grid-column: 1 / -1;
	}
}

@media (max-width: 860px) {
	.tvh-app[data-page="notes"] .tvh-notes-workspace {
		grid-template-columns: minmax(0, 1fr);
	}

	.tvh-app[data-page="notes"] .tvh-notes-rail {
		position: static;
	}
}

/* Full-width Vietnamese calendar */
.tvh-app[data-page="calendar"] .tvh-main {
	max-width: min(100%, var(--tvh-content-width));
	padding-inline: clamp(14px, 1.6vw, 24px);
}

.tvh-app[data-page="calendar"] .tvh-page-head,
.tvh-app[data-page="calendar"] .tvh-calendar-panel,
.tvh-app[data-page="calendar"] .tvh-grid {
	width: 100%;
	max-width: var(--tvh-content-width);
	margin-inline: auto;
}

.tvh-app[data-page="calendar"] .tvh-filter {
	grid-template-columns: minmax(82px, 0.28fr) minmax(106px, 0.36fr) minmax(220px, 1fr) auto 96px;
	align-items: center;
}

.tvh-calendar-view-toggle {
	justify-self: end;
	flex-wrap: nowrap;
	white-space: nowrap;
}

.tvh-calendar-stack {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 560px), 1fr));
	gap: 14px;
	min-width: 0;
}

.tvh-calendar-stack--1 {
	grid-template-columns: minmax(0, 1fr);
}

.tvh-calendar-stack--12 {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr));
}

.tvh-calendar-month {
	display: grid;
	gap: 10px;
	min-width: 0;
}

.tvh-calendar-month h3 {
	margin: 0;
	font-size: 15px;
	font-weight: 780;
	line-height: 1.25;
}

.tvh-app[data-page="calendar"] .tvh-calendar {
	width: 100%;
	min-width: 0;
	gap: 6px;
}

.tvh-app[data-page="calendar"] .tvh-calendar__cell {
	position: relative;
	min-height: clamp(108px, 7vw, 132px);
	padding: 9px;
	cursor: pointer;
	overflow: hidden;
}

.tvh-calendar-stack--12 .tvh-calendar__cell {
	min-height: 78px;
	padding: 6px;
}

.tvh-calendar__date {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 8px;
}

.tvh-calendar__date strong {
	font-size: 17px;
	line-height: 1;
}

.tvh-calendar__date small {
	max-width: 92px;
	text-align: right;
	font-size: 11px;
	font-weight: 720;
}

.tvh-calendar__markers,
.tvh-calendar__events {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	min-width: 0;
}

.tvh-calendar__events {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	margin-top: 2px;
	max-height: 78px;
	overflow-y: auto;
	padding-right: 2px;
}

.tvh-calendar__badge,
.tvh-calendar__holiday {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	max-width: 100%;
	border-radius: 999px;
	padding: 4px 8px;
	font-size: 11px;
	font-weight: 780;
	line-height: 1.25;
}

.tvh-calendar__badge--first {
	background: #d8f5eb;
	color: #075e4b;
}

.tvh-calendar__badge--full {
	background: #fff0bb;
	color: #755000;
}

.tvh-calendar__holiday {
	background: #ffe1dd;
	color: #96332b;
}

.tvh-calendar__event {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: center;
	gap: 6px;
	max-width: 100%;
	min-height: 28px;
	border-left: 4px solid var(--event-color, var(--tvh-primary));
	border-radius: 6px;
	background: color-mix(in srgb, var(--event-color, var(--tvh-primary)) 13%, #ffffff);
	color: var(--tvh-text);
	padding: 5px 7px;
	box-shadow: inset 0 0 0 1px rgba(41, 42, 38, 0.06);
	cursor: context-menu;
}

.tvh-calendar__event:hover,
.tvh-calendar__event:focus {
	outline: 2px solid color-mix(in srgb, var(--event-color, var(--tvh-primary)) 44%, transparent);
	outline-offset: 1px;
}

.tvh-calendar__event small {
	color: var(--event-color, var(--tvh-primary));
	font-size: 11px;
	font-weight: 820;
	line-height: 1;
}

.tvh-calendar__event strong {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-size: 12px;
	font-weight: 780;
	line-height: 1.2;
}

.tvh-calendar__event--all-day {
	grid-template-columns: minmax(0, 1fr);
}

.tvh-calendar__more {
	color: var(--tvh-muted);
	font-size: 11px;
	font-weight: 760;
	line-height: 1.2;
}

.tvh-calendar__cell.is-lunar-first {
	border-color: #6abca8;
	background: #eefaf5;
	box-shadow: inset 0 0 0 1px rgba(7, 94, 75, 0.1), var(--tvh-shadow-xs);
}

.tvh-calendar__cell.is-lunar-full {
	border-color: #e2b842;
	background: #fff8df;
	box-shadow: inset 0 0 0 1px rgba(117, 80, 0, 0.1), var(--tvh-shadow-xs);
}

.tvh-calendar__cell.is-holiday {
	border-color: #e9958b;
	background: #fff4f1;
	box-shadow: inset 0 0 0 1px rgba(150, 51, 43, 0.12), var(--tvh-shadow-xs);
}

.tvh-calendar__cell.is-selected {
	outline: 2px solid var(--tvh-primary);
	outline-offset: -3px;
}

.tvh-calendar-form-modal .tvh-task-form-modal__panel {
	width: min(100%, 720px);
}

.tvh-cash-form-modal .tvh-task-form-modal__panel {
	width: min(100%, 860px);
}

.tvh-cash-form-compact .tvh-form-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tvh-cash-form-inline-row {
	display: contents;
}

body.tvh-cash-form-modal-open {
	overflow: hidden;
}

.tvh-calendar-form-compact .tvh-form-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.tvh-calendar-form-modal-open {
	overflow: hidden;
}

.tvh-calendar-side-panels[hidden],
.tvh-calendar-quick-popover[hidden],
.tvh-calendar-event-menu[hidden] {
	display: none !important;
}

.tvh-calendar-quick-popover {
	position: absolute;
	z-index: 80;
	width: min(340px, calc(100vw - 28px));
	min-width: min(292px, calc(100vw - 28px));
	max-width: calc(100vw - 28px);
	overflow: hidden;
	border: 1px solid color-mix(in srgb, var(--tvh-primary) 20%, var(--tvh-border));
	border-radius: 8px;
	background: #ffffff;
	box-shadow: 0 16px 38px rgba(17, 36, 31, 0.18);
}

.tvh-calendar-quick-form {
	display: grid;
	gap: 7px;
	padding: 10px;
}

.tvh-calendar-quick-form__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding-bottom: 6px;
	border-bottom: 1px solid var(--tvh-border);
}

.tvh-calendar-quick-form__actions {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 8px;
	padding-top: 2px;
}

.tvh-calendar-quick-form__head strong {
	min-width: 0;
	color: var(--tvh-text);
	font-size: 13px;
	font-weight: 820;
	line-height: 1.25;
}

.tvh-calendar-quick-form__head .tvh-icon-button {
	width: 30px;
	min-width: 30px;
	height: 30px;
	min-height: 30px;
	border-radius: 8px;
}

.tvh-calendar-quick-form label {
	display: grid;
	gap: 4px;
	color: var(--tvh-text-soft);
	font-size: 12px;
	font-weight: 760;
}

.tvh-calendar-quick-form input {
	width: 100%;
	min-height: 34px;
	border: 1px solid var(--tvh-border);
	border-radius: 8px;
	background: #fbfdfc;
	color: var(--tvh-text);
	padding: 8px 10px;
	font: inherit;
	font-weight: 600;
	box-shadow: none;
}

.tvh-calendar-quick-form .tvh-button {
	min-height: 34px;
	padding-inline: 10px;
	border-radius: 8px;
	font-size: 13px;
}

.tvh-calendar-event-menu {
	position: absolute;
	z-index: 90;
	display: grid;
	gap: 2px;
	width: 188px;
	border: 1px solid var(--tvh-border-strong);
	border-radius: 8px;
	background: var(--tvh-surface-strong);
	padding: 6px;
	box-shadow: 0 18px 40px rgba(30, 32, 28, 0.18);
}

.tvh-calendar-event-menu button {
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 36px;
	border: 0;
	border-radius: 6px;
	background: transparent;
	color: var(--tvh-text);
	padding: 8px 10px;
	font: inherit;
	font-size: 13px;
	font-weight: 740;
	text-align: left;
	cursor: pointer;
}

.tvh-calendar-event-menu button:hover,
.tvh-calendar-event-menu button:focus {
	background: var(--tvh-surface);
	outline: none;
}

.tvh-calendar-event-menu button.is-danger {
	color: var(--tvh-danger);
}

.tvh-password-form-modal .tvh-task-form-modal__panel {
	width: min(100%, 1040px);
}

.tvh-company-form-modal .tvh-task-form-modal__panel {
	width: min(100%, 760px);
}

.tvh-company-form-compact .tvh-form-grid {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
}

.tvh-password-form-compact .tvh-form-grid {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr));
}

.tvh-password-workbook {
	display: grid;
	gap: 12px;
	min-width: 0;
	padding: 14px;
	border: 1px solid var(--tvh-border);
	border-radius: var(--tvh-radius);
	background: #fff;
	box-shadow: var(--tvh-shadow-xs);
}

.tvh-password-workbook__top {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 10px;
	min-width: 0;
}

.tvh-password-tabs {
	display: flex;
	gap: 5px;
	min-width: 0;
	overflow-x: auto;
	padding: 1px 0 6px;
	scrollbar-width: thin;
}

.tvh-password-tabs > button,
.tvh-managed-tab__main {
	flex: 0 0 auto;
	min-height: 30px;
	border: 1px solid var(--tvh-border);
	border-radius: 999px;
	background: var(--tvh-surface);
	color: var(--tvh-text-soft);
	padding: 4px 10px;
	font-size: 13px;
	font-weight: 750;
	line-height: 1.15;
	cursor: pointer;
}

.tvh-password-tabs > button.is-active,
.tvh-managed-tab__main.is-active {
	border-color: rgba(20, 118, 105, 0.35);
	background: var(--tvh-primary-soft);
	color: var(--tvh-primary-hover);
}

.tvh-password-tabs > button.tvh-tab--system,
.tvh-password-tabs > button:not([data-password-category]):not([data-cash-category]) {
	border-color: #cbdfe0;
	background: #eef6f6;
	color: #315b5d;
}

.tvh-password-tabs > button.tvh-tab--system.is-active,
.tvh-password-tabs > button:not([data-password-category]):not([data-cash-category]).is-active {
	border-color: rgba(20, 118, 105, 0.4);
	background: #dff2ef;
	color: var(--tvh-primary-hover);
	box-shadow: inset 0 -2px 0 rgba(20, 118, 105, 0.35);
}

.tvh-managed-tab {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	min-height: 30px;
	border: 1px solid #d9e5e0;
	border-radius: 999px;
	background: #fff;
	overflow: hidden;
}

.tvh-managed-tab__main {
	min-height: 28px;
	border: 0;
	border-left: 3px solid rgba(20, 118, 105, 0.38);
	border-radius: 0;
	background: #fff;
	padding-inline: 8px 7px;
}

.tvh-managed-tab__main.is-active {
	border-color: rgba(20, 118, 105, 0.7);
	background: #f1fbf8;
}

.tvh-managed-tab__actions {
	display: inline-flex;
	align-items: center;
	gap: 1px;
	padding-right: 2px;
	opacity: 0.62;
	transition: opacity 0.15s ease;
}

.tvh-managed-tab:hover .tvh-managed-tab__actions,
.tvh-managed-tab:focus-within .tvh-managed-tab__actions {
	opacity: 1;
}

.tvh-managed-tab__action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	min-width: 22px;
	height: 24px;
	min-height: 24px;
	border: 0;
	border-radius: 999px;
	background: transparent;
	color: var(--tvh-muted);
	padding: 0;
	cursor: pointer;
}

.tvh-managed-tab__action:hover,
.tvh-managed-tab__action:focus {
	background: var(--tvh-surface);
	color: var(--tvh-text);
	outline: none;
}

.tvh-managed-tab__action--danger,
.tvh-managed-tab__action[data-managed-tab-action="delete"] {
	color: var(--tvh-danger);
}

.tvh-managed-tab__action .tvh-lucide {
	width: 13px;
	height: 13px;
}

.tvh-password-tab-create.tvh-password-tab-create--with-trash {
	position: relative;
	grid-template-columns: minmax(140px, 190px) auto auto;
	align-items: center;
}

.tvh-managed-tab-trash-toggle {
	justify-self: end;
	position: relative;
	min-height: 30px;
	padding: 5px 9px;
	font-size: 13px;
	white-space: nowrap;
}

.tvh-managed-tab-trash-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 17px;
	height: 17px;
	margin-left: -2px;
	border-radius: 999px;
	background: var(--tvh-danger);
	color: #fff;
	font-size: 11px;
	line-height: 1;
}

.tvh-managed-tab-trash-panel {
	position: absolute;
	top: calc(100% + 8px);
	right: 0;
	z-index: 30;
	width: min(320px, calc(100vw - 32px));
	border: 1px solid var(--tvh-border);
	border-radius: var(--tvh-radius);
	background: #fff;
	box-shadow: var(--tvh-shadow);
	padding: 10px;
}

.tvh-managed-tab-trash-panel__head,
.tvh-managed-tab-trash-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
}

.tvh-managed-tab-trash-panel__head {
	margin-bottom: 8px;
}

.tvh-managed-tab-trash-panel__head strong {
	font-size: 13px;
}

.tvh-managed-tab-trash-panel__close {
	color: var(--tvh-muted);
}

.tvh-managed-tab-trash-empty {
	margin: 0;
	color: var(--tvh-muted);
	font-size: 13px;
}

.tvh-managed-tab-trash-list {
	display: grid;
	gap: 6px;
	max-height: 240px;
	overflow-y: auto;
}

.tvh-managed-tab-trash-item {
	min-height: 34px;
	border: 1px solid #e5eee9;
	border-radius: 8px;
	background: #f8fbfa;
	padding: 5px 6px 5px 9px;
}

.tvh-managed-tab-trash-item__label {
	min-width: 0;
	overflow: hidden;
	color: var(--tvh-text);
	font-size: 13px;
	font-weight: 700;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.tvh-managed-tab-trash-item__actions {
	display: inline-flex;
	align-items: center;
	gap: 2px;
	flex: 0 0 auto;
}

.tvh-managed-tab-trash__action--danger {
	color: var(--tvh-danger);
}

.tvh-finance-workbook {
	margin-bottom: 12px;
}

.tvh-password-tab-create {
	display: grid;
	grid-template-columns: minmax(150px, 220px) auto;
	gap: 8px;
	min-width: 0;
}

.tvh-password-filter {
	grid-template-columns: minmax(220px, 1.1fr) minmax(180px, 0.8fr) minmax(180px, 0.8fr) minmax(110px, 0.45fr);
}

.tvh-password-sheet-status {
	min-height: 20px;
	color: var(--tvh-muted);
	font-size: 12px;
	font-weight: 720;
}

.tvh-password-sheet-status[data-tone="success"] {
	color: var(--tvh-success);
}

.tvh-password-sheet-status[data-tone="error"] {
	color: var(--tvh-danger);
}

.tvh-password-sheet-wrap {
	min-width: 0;
	max-height: calc(100dvh - 310px);
	overflow: auto;
	border: 1px solid var(--tvh-border);
	border-radius: var(--tvh-radius);
	background: #fff;
}

.tvh-password-sheet {
	width: max(1320px, 100%);
	border-collapse: separate;
	border-spacing: 0;
	table-layout: fixed;
	font-size: 13px;
}

.tvh-password-sheet th,
.tvh-password-sheet td {
	border-right: 1px solid var(--tvh-border);
	border-bottom: 1px solid var(--tvh-border);
	padding: 0;
	vertical-align: middle;
	background: #fff;
}

.tvh-password-sheet th {
	position: sticky;
	top: 0;
	z-index: 2;
	height: 38px;
	background: #eef5f2;
	color: var(--tvh-text-soft);
	padding: 0 10px;
	font-size: 11px;
	font-weight: 800;
	text-align: left;
	text-transform: uppercase;
}

.tvh-password-sheet th:first-child,
.tvh-password-sheet td:first-child {
	position: sticky;
	left: 0;
	z-index: 3;
	width: 46px;
	background: #f8fbf9;
	text-align: center;
}

.tvh-password-sheet th:first-child {
	z-index: 4;
}

.tvh-password-sheet th:nth-child(2) { width: 190px; }
.tvh-password-sheet th:nth-child(3) { width: 150px; }
.tvh-password-sheet th:nth-child(4) { width: 200px; }
.tvh-password-sheet th:nth-child(5) { width: 230px; }
.tvh-password-sheet th:nth-child(6) { width: 210px; }
.tvh-password-sheet th:nth-child(7) { width: 140px; }
.tvh-password-sheet th:nth-child(8) { width: 170px; }
.tvh-password-sheet th:nth-child(9) { width: 150px; }
.tvh-password-sheet th:nth-child(10) { width: 84px; }
.tvh-password-sheet th:nth-child(11) { width: 140px; }
.tvh-password-sheet th:nth-child(12) { width: 132px; }

.tvh-password-sheet input,
.tvh-password-sheet select {
	width: 100%;
	min-height: 38px;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	padding: 8px 10px;
	font: inherit;
}

.tvh-password-sheet input:focus,
.tvh-password-sheet select:focus {
	position: relative;
	z-index: 1;
	background: #fff;
	box-shadow: inset 0 0 0 2px var(--tvh-primary);
	outline: none;
}

.tvh-password-cell {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 34px 34px;
	align-items: center;
}

.tvh-password-cell--full {
	grid-template-columns: minmax(0, 1fr) 34px 34px 34px;
}

.tvh-password-cell .tvh-icon-button,
.tvh-password-sheet__actions .tvh-icon-button {
	width: 34px;
	min-width: 34px;
	height: 34px;
	min-height: 34px;
	border-radius: 6px;
	box-shadow: none;
}

.tvh-password-sheet__actions {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 4px;
	padding: 3px !important;
	background: #fff !important;
}

.tvh-icon-button--danger {
	color: var(--tvh-danger);
}

.tvh-password-visibility__hide,
.tvh-password-visibility.is-visible .tvh-password-visibility__show {
	display: none;
}

.tvh-password-visibility.is-visible .tvh-password-visibility__hide {
	display: block;
}

.tvh-password-sheet__index {
	color: var(--tvh-muted);
	font-size: 12px;
	font-weight: 760;
}

.tvh-password-sheet tr.is-saving td {
	background: #f3fbf8;
}

.tvh-password-sheet tr[hidden] {
	display: none;
}

@media (max-width: 620px) {
	.tvh-app[data-page="passwords"] .tvh-page-head {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		gap: 10px;
	}

	.tvh-app[data-page="passwords"] .tvh-page-head > div {
		flex: 1 1 auto;
		min-width: 0;
	}

	.tvh-app[data-page="passwords"] .tvh-page-head h2 {
		line-height: 1.15;
	}

	.tvh-app[data-page="passwords"] .tvh-page-head .tvh-button {
		flex: 0 0 auto;
		width: auto;
		min-height: 34px;
		padding: 6px 10px;
		font-size: 12px;
		line-height: 1.15;
		white-space: nowrap;
	}

	.tvh-app[data-page="passwords"] .tvh-page-head .tvh-button .tvh-lucide {
		width: 15px;
		height: 15px;
	}
}

@media (max-width: 980px) {
	.tvh-app[data-page="calendar"] .tvh-filter {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tvh-calendar-view-toggle {
		justify-self: stretch;
	}

	.tvh-app[data-page="calendar"] .tvh-calendar {
		overflow-x: auto;
		grid-template-columns: repeat(7, minmax(128px, 1fr));
	}

	.tvh-cash-form-compact .tvh-form-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tvh-password-workbook__top,
	.tvh-password-filter,
	.tvh-password-tab-create {
		grid-template-columns: minmax(0, 1fr);
	}

	.tvh-password-tab-create.tvh-password-tab-create--with-trash {
		grid-template-columns: minmax(0, 1fr);
	}

	.tvh-managed-tab-trash-toggle {
		justify-self: stretch;
	}

	.tvh-managed-tab-trash-panel {
		position: static;
		width: 100%;
	}

	.tvh-password-sheet-wrap {
		max-height: calc(100dvh - 340px);
	}
}

@media (max-width: 620px) {
	.tvh-app[data-page="calendar"] .tvh-filter {
		grid-template-columns: minmax(0, 1fr);
	}

	.tvh-app[data-page="passwords"] .tvh-password-tab-create {
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 6px;
	}

	.tvh-app[data-page="passwords"] .tvh-password-tab-create.tvh-password-tab-create--with-trash {
		grid-template-columns: minmax(0, 1fr) auto auto;
	}

	.tvh-app[data-page="passwords"] .tvh-password-tab-create input {
		min-height: 34px;
		padding: 6px 9px;
		font-size: 12px;
		line-height: 1.15;
	}

	.tvh-app[data-page="passwords"] .tvh-password-tab-create .tvh-button {
		width: auto;
		min-height: 34px;
		padding: 6px 9px;
		font-size: 12px;
		line-height: 1.15;
		white-space: nowrap;
	}

	.tvh-app[data-page="passwords"] .tvh-password-tab-create .tvh-button .tvh-lucide {
		width: 15px;
		height: 15px;
	}

	.tvh-app[data-page="passwords"] .tvh-password-tab-create .tvh-managed-tab-trash-toggle {
		justify-self: end;
	}

	.tvh-app[data-page="passwords"] .tvh-password-filter {
		grid-template-columns: minmax(80px, 1.35fr) minmax(84px, 0.9fr) minmax(68px, 0.75fr) auto;
		align-items: center;
		gap: 6px;
	}

	.tvh-app[data-page="passwords"] .tvh-password-filter input,
	.tvh-app[data-page="passwords"] .tvh-password-filter select,
	.tvh-app[data-page="passwords"] .tvh-password-filter .tvh-button {
		width: 100%;
		min-width: 0;
		min-height: 34px;
		padding: 6px 8px;
		font-size: 12px;
		line-height: 1.15;
	}

	.tvh-app[data-page="passwords"] .tvh-password-filter .tvh-button {
		width: auto;
		min-width: 44px;
		white-space: nowrap;
	}

	.tvh-calendar-form-compact .tvh-form-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		column-gap: 7px;
	}

	.tvh-calendar-form-compact .tvh-form-grid > label {
		grid-column: 1 / -1;
	}

	.tvh-calendar-form-compact .tvh-form-grid > .tvh-calendar-form-field--date-time {
		grid-column: span 1;
		min-width: 0;
		gap: 4px;
		font-size: 11px;
	}

	.tvh-calendar-form-field--date-time input {
		min-width: 0;
		min-height: 40px;
		padding-inline: 5px;
		font-size: 11px;
	}

	.tvh-calendar-form-compact .tvh-form-grid > .tvh-calendar-form-field--company {
		grid-column: span 2;
		min-width: 0;
	}

	.tvh-calendar-form-compact .tvh-form-grid > .tvh-calendar-form-field--quarter {
		grid-column: span 1;
		min-width: 0;
		gap: 4px;
		font-size: 11px;
		white-space: nowrap;
	}

	.tvh-calendar-form-field--quarter input,
	.tvh-calendar-form-field--quarter select {
		min-width: 0;
		min-height: 40px;
		padding-inline: 6px;
		font-size: 11px;
	}

	.tvh-cash-form-compact .tvh-form-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.tvh-cash-form-inline-row {
		display: grid;
		grid-template-columns: minmax(60px, 0.74fr) minmax(80px, 1fr) minmax(54px, 0.66fr) minmax(110px, 1.34fr);
		gap: 6px;
		min-width: 0;
		overflow-x: auto;
		overscroll-behavior-inline: contain;
		padding-bottom: 2px;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}

	.tvh-cash-form-inline-row--details {
		grid-template-columns: minmax(88px, 1.24fr) minmax(66px, 0.86fr) minmax(70px, 0.92fr) minmax(82px, 1fr);
	}

	.tvh-cash-form-inline-row--meta {
		grid-template-columns: minmax(78px, 0.88fr) minmax(94px, 1.08fr) minmax(126px, 1.28fr);
	}

	.tvh-cash-form-inline-row::-webkit-scrollbar {
		display: none;
	}

	.tvh-cash-form-inline-row > label {
		gap: 4px;
		min-width: 0;
		font-size: 11px;
		white-space: nowrap;
	}

	.tvh-cash-form-inline-row > label input,
	.tvh-cash-form-inline-row > label select {
		min-width: 0;
		min-height: 40px;
		padding-inline: 5px;
		font-size: 11px;
	}

	.tvh-cash-form-inline-row > label input[type="date"] {
		padding-inline: 4px;
	}

	.tvh-cash-important-field {
		align-self: end;
		min-width: 0;
		min-height: 40px;
		padding: 0 0 5px;
	}

	.tvh-cash-important-field label {
		gap: 5px;
		min-width: 0;
		font-size: 11px;
		line-height: 1.2;
		white-space: nowrap;
	}

	.tvh-cash-important-field input[type="checkbox"] {
		flex: 0 0 auto;
		width: 16px;
		height: 16px;
		margin: 0;
	}

	.tvh-password-form-compact .tvh-form-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px;
	}

	.tvh-password-form-compact .tvh-form-grid > label {
		grid-column: 1 / -1;
	}

	.tvh-password-form-compact .tvh-form-grid > label:nth-child(1),
	.tvh-password-form-compact .tvh-form-grid > label:nth-child(2),
	.tvh-password-form-compact .tvh-form-grid > label:nth-child(4),
	.tvh-password-form-compact .tvh-form-grid > label:nth-child(5),
	.tvh-password-form-compact .tvh-form-grid > label:nth-child(6),
	.tvh-password-form-compact .tvh-form-grid > label:nth-child(7) {
		grid-column: span 1;
		gap: 4px;
		min-width: 0;
		font-size: 11px;
		line-height: 1.25;
	}

	.tvh-password-form-compact .tvh-form-grid > label:nth-child(1) input,
	.tvh-password-form-compact .tvh-form-grid > label:nth-child(2) select,
	.tvh-password-form-compact .tvh-form-grid > label:nth-child(4) input,
	.tvh-password-form-compact .tvh-form-grid > label:nth-child(5) input,
	.tvh-password-form-compact .tvh-form-grid > label:nth-child(6) input,
	.tvh-password-form-compact .tvh-form-grid > label:nth-child(7) input {
		min-height: 40px;
		padding-inline: 7px;
		font-size: 12px;
	}

	.tvh-password-form-compact .tvh-form-grid > label:nth-child(2) select {
		padding-right: 18px;
	}

	.tvh-password-form-compact .tvh-input-with-button {
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 6px;
	}

	.tvh-password-form-compact .tvh-input-with-button input,
	.tvh-password-form-compact .tvh-input-with-button .tvh-button {
		min-height: 40px;
		font-size: 12px;
	}

	.tvh-password-form-compact .tvh-input-with-button input {
		padding-inline: 7px;
	}

	.tvh-password-form-compact .tvh-input-with-button .tvh-button {
		width: auto;
		min-width: 92px;
		padding-inline: 8px;
		white-space: nowrap;
	}

	.tvh-company-form-compact .tvh-form-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 7px;
	}

	.tvh-company-form-compact .tvh-form-grid > label {
		min-width: 0;
		gap: 4px;
		font-size: 11px;
		line-height: 1.25;
	}

	.tvh-company-form-compact .tvh-form-grid input,
	.tvh-company-form-compact .tvh-form-grid select {
		min-width: 0;
		min-height: 40px;
		padding-inline: 7px;
		font-size: 12px;
	}

	.tvh-company-form-compact .tvh-form-grid input[type="color"] {
		width: 100%;
		padding: 4px;
	}

	.tvh-company-form-compact .tvh-project-identity-grid {
		grid-template-columns: minmax(96px, 1.2fr) minmax(110px, 1fr) minmax(60px, 0.58fr);
		align-items: end;
	}

	.tvh-company-form-compact .tvh-project-identity-grid select {
		padding-right: 18px;
	}
}

@media (max-width: 360px) {
	.tvh-company-form-compact .tvh-project-identity-grid {
		grid-template-columns: minmax(90px, 1fr) minmax(100px, 1fr) minmax(52px, 0.58fr);
		gap: 6px;
	}

	.tvh-company-form-compact .tvh-project-identity-grid > label {
		font-size: 10px;
	}

	.tvh-company-form-compact .tvh-project-identity-grid input,
	.tvh-company-form-compact .tvh-project-identity-grid select {
		min-height: 38px;
		padding-inline: 6px;
		font-size: 11px;
	}

	.tvh-company-form-compact .tvh-project-identity-grid select {
		padding-right: 16px;
	}
}

/* Compact task drawer */
.tvh-task-drawer {
	grid-template-columns: minmax(0, 1fr) minmax(360px, 466px);
}

.tvh-task-drawer__overlay {
	background: rgba(28, 34, 30, 0.24);
	backdrop-filter: blur(2px);
}

.tvh-task-drawer__panel {
	padding: 16px 14px;
	background: #fbfcfb;
	box-shadow: -14px 0 38px rgba(34, 41, 37, 0.13);
}

.tvh-task-drawer__head {
	align-items: center;
	gap: 10px;
	padding: 0 0 10px;
	border-bottom-color: #dfe7e2;
}

.tvh-task-drawer__head .tvh-eyebrow {
	margin-bottom: 3px;
	font-size: 10px;
	font-weight: 760;
}

.tvh-task-drawer__head h3 {
	max-width: 340px;
	font-size: 18px;
	line-height: 1.18;
}

.tvh-task-drawer__head .tvh-icon-button {
	width: 36px;
	min-width: 36px;
	height: 36px;
	min-height: 36px;
	padding: 0;
	box-shadow: none;
}

.tvh-task-drawer__form {
	gap: 10px;
	padding-top: 12px;
	scrollbar-gutter: stable;
}

.tvh-task-drawer__form .tvh-form-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px 12px;
}

.tvh-task-drawer__form label {
	gap: 4px;
	color: #47534e;
	font-size: 12px;
	font-weight: 720;
	line-height: 1.3;
}

.tvh-task-drawer__form input,
.tvh-task-drawer__form select,
.tvh-task-drawer__form textarea {
	min-height: 38px;
	border-color: #d8e2dd;
	border-radius: 8px;
	background-color: #fff;
	box-shadow: none;
	font-size: 13px;
	line-height: 1.35;
}

.tvh-task-drawer__form input,
.tvh-task-drawer__form select {
	padding: 8px 11px;
}

.tvh-task-drawer__form textarea {
	min-height: 46px;
	padding: 10px 11px;
	resize: vertical;
}

.tvh-task-drawer__form textarea[name="description"],
.tvh-task-drawer__form textarea[name="note"] {
	max-height: 94px;
}

.tvh-task-drawer__form input:focus,
.tvh-task-drawer__form select:focus,
.tvh-task-drawer__form textarea:focus {
	background-color: #fff;
	box-shadow: 0 0 0 2px rgba(56, 106, 90, 0.16);
	transform: none;
}

.tvh-task-drawer__actions {
	gap: 7px;
	align-items: center;
	padding: 10px 0 2px;
	background: linear-gradient(180deg, rgba(251, 252, 251, 0.86), #fbfcfb 28%);
}

.tvh-task-drawer__actions .tvh-button {
	min-height: 34px;
	padding: 7px 11px;
	border-radius: 8px;
	box-shadow: none;
	font-size: 12px;
	font-weight: 720;
	white-space: nowrap;
}

.tvh-task-drawer__status {
	margin: 0;
	font-size: 12px;
}

@media (max-width: 767px) {
	.tvh-task-drawer {
		grid-template-columns: minmax(0, 1fr);
	}

	.tvh-task-drawer__panel {
		padding: 14px 12px calc(var(--tvh-mobile-nav-height) + env(safe-area-inset-bottom, 0px) + 12px);
	}

	.tvh-task-drawer__head h3 {
		max-width: min(72vw, 320px);
		font-size: 17px;
	}

	.tvh-task-drawer__form .tvh-form-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.tvh-task-drawer__actions .tvh-button {
		flex: 1 1 auto;
		min-width: 72px;
	}
}

/* Keep collapsed sidebar icons perfectly centered */
@media (min-width: 1200px) {
	.tvh-app.is-sidebar-collapsed .tvh-sidebar,
	.tvh-sidebar-collapsed-preload .tvh-sidebar {
		align-items: center;
		overflow: visible !important;
		z-index: 120;
	}

	.tvh-app.is-sidebar-collapsed .tvh-sidebar__head,
	.tvh-sidebar-collapsed-preload .tvh-sidebar__head,
	.tvh-app.is-sidebar-collapsed .tvh-nav,
	.tvh-sidebar-collapsed-preload .tvh-nav,
	.tvh-app.is-sidebar-collapsed .tvh-nav__section,
	.tvh-sidebar-collapsed-preload .tvh-nav__section,
	.tvh-app.is-sidebar-collapsed .tvh-nav__list,
	.tvh-sidebar-collapsed-preload .tvh-nav__list,
	.tvh-app.is-sidebar-collapsed .tvh-sidebar__footer,
	.tvh-sidebar-collapsed-preload .tvh-sidebar__footer {
		width: 100%;
		justify-items: center;
	}

	.tvh-app.is-sidebar-collapsed .tvh-brand,
	.tvh-sidebar-collapsed-preload .tvh-brand,
	.tvh-app.is-sidebar-collapsed .tvh-nav__item,
	.tvh-sidebar-collapsed-preload .tvh-nav__item,
	.tvh-app.is-sidebar-collapsed .tvh-sidebar__account,
	.tvh-sidebar-collapsed-preload .tvh-sidebar__account,
	.tvh-app.is-sidebar-collapsed .tvh-sidebar__logout,
	.tvh-sidebar-collapsed-preload .tvh-sidebar__logout {
		display: grid;
		place-items: center;
		width: 42px;
		min-width: 42px;
		height: 42px;
		min-height: 42px;
		margin-inline: auto;
		padding: 0;
		gap: 0;
	}

	.tvh-app.is-sidebar-collapsed .tvh-nav__icon,
	.tvh-sidebar-collapsed-preload .tvh-nav__icon,
	.tvh-app.is-sidebar-collapsed .tvh-user-avatar,
	.tvh-sidebar-collapsed-preload .tvh-user-avatar,
	.tvh-app.is-sidebar-collapsed .tvh-sidebar__logout > .tvh-lucide,
	.tvh-sidebar-collapsed-preload .tvh-sidebar__logout > .tvh-lucide {
		margin: 0;
	}

	.tvh-app.is-sidebar-collapsed .tvh-brand__mark,
	.tvh-sidebar-collapsed-preload .tvh-brand__mark {
		margin: 0;
	}
}

@media (min-width: 768px) and (max-width: 1199px) {
	.tvh-app:not(.is-sidebar-drawer-open) .tvh-sidebar {
		align-items: center;
		overflow: visible !important;
		z-index: 120;
	}

	.tvh-app:not(.is-sidebar-drawer-open) .tvh-sidebar__head,
	.tvh-app:not(.is-sidebar-drawer-open) .tvh-nav,
	.tvh-app:not(.is-sidebar-drawer-open) .tvh-nav__section,
	.tvh-app:not(.is-sidebar-drawer-open) .tvh-nav__list,
	.tvh-app:not(.is-sidebar-drawer-open) .tvh-sidebar__footer {
		width: 100%;
		justify-items: center;
	}

	.tvh-app:not(.is-sidebar-drawer-open) .tvh-brand,
	.tvh-app:not(.is-sidebar-drawer-open) .tvh-nav__item,
	.tvh-app:not(.is-sidebar-drawer-open) .tvh-sidebar__account,
	.tvh-app:not(.is-sidebar-drawer-open) .tvh-sidebar__logout {
		display: grid;
		place-items: center;
		width: 42px;
		min-width: 42px;
		height: 42px;
		min-height: 42px;
		margin-inline: auto;
		padding: 0;
		gap: 0;
	}

	.tvh-app:not(.is-sidebar-drawer-open) .tvh-nav__icon,
	.tvh-app:not(.is-sidebar-drawer-open) .tvh-user-avatar,
	.tvh-app:not(.is-sidebar-drawer-open) .tvh-sidebar__logout > .tvh-lucide,
	.tvh-app:not(.is-sidebar-drawer-open) .tvh-brand__mark {
		margin: 0;
	}
}

/* Let collapsed sidebar tooltips escape the rail */
@media (min-width: 1200px) {
	.tvh-app.is-sidebar-collapsed .tvh-sidebar,
	.tvh-sidebar-collapsed-preload .tvh-sidebar,
	.tvh-app.is-sidebar-collapsed .tvh-sidebar__head,
	.tvh-sidebar-collapsed-preload .tvh-sidebar__head,
	.tvh-app.is-sidebar-collapsed .tvh-nav,
	.tvh-sidebar-collapsed-preload .tvh-nav,
	.tvh-app.is-sidebar-collapsed .tvh-nav__section,
	.tvh-sidebar-collapsed-preload .tvh-nav__section,
	.tvh-app.is-sidebar-collapsed .tvh-nav__list,
	.tvh-sidebar-collapsed-preload .tvh-nav__list,
	.tvh-app.is-sidebar-collapsed .tvh-sidebar__footer,
	.tvh-sidebar-collapsed-preload .tvh-sidebar__footer,
	.tvh-app.is-sidebar-collapsed .tvh-brand,
	.tvh-sidebar-collapsed-preload .tvh-brand,
	.tvh-app.is-sidebar-collapsed .tvh-nav__item,
	.tvh-sidebar-collapsed-preload .tvh-nav__item,
	.tvh-app.is-sidebar-collapsed .tvh-sidebar__account,
	.tvh-sidebar-collapsed-preload .tvh-sidebar__account,
	.tvh-app.is-sidebar-collapsed .tvh-sidebar__logout,
	.tvh-sidebar-collapsed-preload .tvh-sidebar__logout {
		overflow: visible !important;
	}

	.tvh-app.is-sidebar-collapsed .tvh-sidebar,
	.tvh-sidebar-collapsed-preload .tvh-sidebar {
		z-index: 999;
	}

	.tvh-app.is-sidebar-collapsed [data-tooltip],
	.tvh-sidebar-collapsed-preload [data-tooltip] {
		position: relative;
		z-index: 1000;
	}

	.tvh-app.is-sidebar-collapsed [data-tooltip]::after,
	.tvh-sidebar-collapsed-preload [data-tooltip]::after {
		left: calc(100% + 14px);
		z-index: 1001;
		box-shadow: 0 8px 22px rgba(24, 28, 25, 0.18);
	}
}

@media (min-width: 768px) and (max-width: 1199px) {
	.tvh-app:not(.is-sidebar-drawer-open) .tvh-sidebar,
	.tvh-app:not(.is-sidebar-drawer-open) .tvh-sidebar__head,
	.tvh-app:not(.is-sidebar-drawer-open) .tvh-nav,
	.tvh-app:not(.is-sidebar-drawer-open) .tvh-nav__section,
	.tvh-app:not(.is-sidebar-drawer-open) .tvh-nav__list,
	.tvh-app:not(.is-sidebar-drawer-open) .tvh-sidebar__footer,
	.tvh-app:not(.is-sidebar-drawer-open) .tvh-brand,
	.tvh-app:not(.is-sidebar-drawer-open) .tvh-nav__item,
	.tvh-app:not(.is-sidebar-drawer-open) .tvh-sidebar__account,
	.tvh-app:not(.is-sidebar-drawer-open) .tvh-sidebar__logout {
		overflow: visible !important;
	}

	.tvh-app:not(.is-sidebar-drawer-open) .tvh-sidebar {
		z-index: 999;
	}

	.tvh-app:not(.is-sidebar-drawer-open) [data-tooltip] {
		position: relative;
		z-index: 1000;
	}

	.tvh-app:not(.is-sidebar-drawer-open) [data-tooltip]::after {
		left: calc(100% + 14px);
		z-index: 1001;
		box-shadow: 0 8px 22px rgba(24, 28, 25, 0.18);
	}
}

/* Notes quick-create polish */
.tvh-app[data-page="notes"] .tvh-flash {
	position: fixed;
	top: calc(var(--tvh-topbar-height) + 12px);
	right: 20px;
	z-index: 190;
	width: auto;
	max-width: min(320px, calc(100vw - 32px));
	min-height: 0;
	padding: 10px 13px 10px 34px;
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.94);
	box-shadow: 0 10px 28px rgba(17, 36, 31, 0.12);
	font-size: 13px;
	font-weight: 720;
	line-height: 1.35;
	backdrop-filter: blur(12px);
}

.tvh-app[data-page="notes"] .tvh-flash::before {
	top: 12px;
	left: 14px;
	font-size: 13px;
}

.tvh-app[data-page="notes"] .tvh-flash--success {
	animation: tvh-note-flash-out 4.2s ease forwards;
}

@keyframes tvh-note-flash-out {
	0%,
	72% {
		opacity: 1;
		transform: translateY(0);
	}

	100% {
		opacity: 0;
		transform: translateY(-6px);
		pointer-events: none;
	}
}

.tvh-app[data-page="notes"] .tvh-note-card--workspace {
	overflow: hidden;
	border-color: color-mix(in srgb, var(--tvh-note-accent, var(--tvh-primary)) 28%, var(--tvh-border));
	background:
		linear-gradient(90deg, color-mix(in srgb, var(--tvh-note-accent, var(--tvh-primary)) 10%, transparent), transparent 58%),
		var(--tvh-surface);
	box-shadow: 0 8px 22px rgba(17, 36, 31, 0.055);
}

.tvh-app[data-page="notes"] .tvh-note-card--workspace::before {
	background: var(--tvh-note-accent, var(--tvh-primary));
	opacity: 0.96;
}

.tvh-app[data-page="notes"] .tvh-note-card--workspace.is-selected {
	border-color: var(--tvh-note-accent, var(--tvh-primary));
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--tvh-note-accent, var(--tvh-primary)) 22%, transparent);
}

.tvh-app[data-page="notes"] .tvh-note-card__icon {
	background: color-mix(in srgb, var(--tvh-note-accent, var(--tvh-primary)) 18%, #fff);
	color: color-mix(in srgb, var(--tvh-note-accent, var(--tvh-primary)) 88%, #10231f);
	box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--tvh-note-accent, var(--tvh-primary)) 16%, transparent);
}

.tvh-note-editor__advanced {
	margin-top: 12px;
	border: 1px solid var(--tvh-border-soft, #e7eeee);
	border-radius: var(--tvh-radius-sm);
	background: var(--tvh-surface-muted, #f6f9f8);
}

.tvh-note-editor__advanced summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 11px 13px;
	color: var(--tvh-text-soft);
	font-size: 13px;
	font-weight: 780;
	cursor: pointer;
	list-style: none;
}

.tvh-note-editor__advanced summary::-webkit-details-marker {
	display: none;
}

.tvh-note-editor__advanced summary::after {
	content: "+";
	display: inline-grid;
	place-items: center;
	width: 24px;
	height: 24px;
	border: 1px solid var(--tvh-border);
	border-radius: 999px;
	background: var(--tvh-surface);
	color: var(--tvh-primary);
	font-size: 16px;
	line-height: 1;
}

.tvh-note-editor__advanced[open] summary::after {
	content: "-";
}

.tvh-note-editor__advanced .tvh-note-editor__fields {
	padding: 0 13px 13px;
}

.tvh-note-editor__advanced .tvh-note-checks {
	padding: 0 13px 13px;
}

.tvh-note-preview__actions {
	gap: 7px;
	flex-wrap: nowrap;
	overflow-x: auto;
	scrollbar-width: none;
}

.tvh-note-preview__actions::-webkit-scrollbar {
	display: none;
}

.tvh-note-preview__actions form {
	display: inline-flex;
	flex: 0 0 auto;
	width: auto;
	margin: 0;
}

.tvh-note-preview__actions .tvh-note-action-icon,
.tvh-note-preview__actions form .tvh-note-action-icon {
	flex: 0 0 40px;
	width: 40px;
	min-width: 40px;
	height: 40px;
	min-height: 40px;
	justify-content: center;
	padding: 0;
	border-radius: 10px;
}

.tvh-note-action-icon--danger {
	border-color: #efc1bf;
	background: var(--tvh-danger-soft);
	color: var(--tvh-danger);
}

.tvh-note-action-icon--danger:hover {
	border-color: var(--tvh-danger);
	background: #f7d7d5;
	color: #8f2d2b;
}

.tvh-app[data-page="notes"] .tvh-note-daily {
	position: relative;
	gap: 10px;
	overflow: hidden;
	padding: 18px 18px 16px 20px;
	border-color: color-mix(in srgb, var(--tvh-primary) 30%, var(--tvh-border));
	background:
		linear-gradient(135deg, color-mix(in srgb, var(--tvh-primary) 13%, #fff) 0%, #fff 62%),
		var(--tvh-surface);
	box-shadow: 0 16px 36px rgba(30, 83, 73, 0.12), var(--tvh-shadow-xs);
}

.tvh-app[data-page="notes"] .tvh-note-daily::before {
	content: "";
	position: absolute;
	inset: 0 auto 0 0;
	width: 5px;
	background: var(--tvh-primary);
}

.tvh-app[data-page="notes"] .tvh-note-daily > div {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 12px;
}

.tvh-app[data-page="notes"] .tvh-note-daily .tvh-eyebrow {
	margin: 0 0 2px;
	color: var(--tvh-primary-hover);
	font-size: 11px;
	letter-spacing: 0;
}

.tvh-app[data-page="notes"] .tvh-note-daily strong {
	color: var(--tvh-text);
	font-size: 19px;
	line-height: 1.1;
	white-space: nowrap;
}

.tvh-app[data-page="notes"] .tvh-note-daily > p {
	color: var(--tvh-text);
	font-size: 15px;
	font-weight: 740;
	line-height: 1.35;
}

.tvh-app[data-page="notes"] .tvh-note-daily small {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	min-height: 28px;
	padding: 5px 10px;
	border-radius: var(--tvh-radius-pill);
	background: rgba(255, 255, 255, 0.72);
	color: var(--tvh-text-soft);
	font-weight: 720;
}

.tvh-app[data-page="notes"] .tvh-note-daily a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: fit-content;
	min-height: 34px;
	padding: 8px 12px;
	border: 1px solid color-mix(in srgb, var(--tvh-primary) 28%, transparent);
	border-radius: var(--tvh-radius-pill);
	background: var(--tvh-primary);
	color: #fff;
	font-size: 13px;
	font-weight: 780;
	line-height: 1.1;
	text-decoration: none;
	box-shadow: 0 10px 20px rgba(23, 111, 102, 0.18);
}

.tvh-app[data-page="notes"] .tvh-note-daily a:hover {
	background: var(--tvh-primary-hover);
	color: #fff;
}

.tvh-note-form-modal[hidden] {
	display: none;
}

.tvh-note-form-modal {
	position: fixed;
	inset: 0;
	z-index: 120;
	display: grid;
	place-items: center;
	padding: 18px;
}

.tvh-note-form-modal__overlay {
	position: absolute;
	inset: 0;
	border: 0;
	background: rgba(15, 23, 42, 0.24);
	backdrop-filter: blur(7px);
	cursor: default;
}

.tvh-note-form-modal__panel {
	position: relative;
	width: min(100%, 680px);
	max-height: min(820px, calc(100vh - 36px));
	overflow: auto;
	border: 1px solid var(--tvh-border);
	border-radius: 18px;
	background: var(--tvh-surface);
	box-shadow: 0 24px 70px rgba(15, 23, 42, 0.24);
}

.tvh-note-form-modal__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 18px 20px 12px;
	border-bottom: 1px solid var(--tvh-border-soft, #e7eeee);
}

.tvh-note-form-modal__head h3 {
	margin: 2px 0 0;
	font-size: 22px;
	line-height: 1.15;
}

.tvh-note-editor--modal {
	padding: 16px 20px 20px;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

.tvh-note-editor--modal .tvh-textarea-large {
	min-height: 150px;
}

.tvh-note-form-modal__actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
	margin-top: 14px;
}

body.tvh-note-form-modal-open {
	overflow: hidden;
}

@media (max-width: 620px) {
	.tvh-note-form-modal {
		align-items: end;
		padding: 10px;
	}

	.tvh-note-form-modal__panel {
		width: 100%;
		max-height: calc(100vh - 20px);
		border-radius: 16px;
	}

	.tvh-note-form-modal__actions {
		display: grid;
		grid-template-columns: 1fr 1fr;
	}

	.tvh-note-editor__advanced .tvh-note-editor__fields {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Search page */
.tvh-app[data-page="search"] .tvh-main {
	gap: 16px;
	width: min(100%, 1240px);
}

.tvh-search-head {
	align-items: flex-start;
}

.tvh-search-head__copy {
	max-width: 620px;
	margin: 8px 0 0;
	color: var(--tvh-muted);
	font-size: 14px;
	line-height: 1.55;
}

.tvh-search-box {
	padding: 14px;
	border-color: color-mix(in srgb, var(--tvh-primary) 20%, var(--tvh-border));
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.86), rgba(255, 253, 249, 0.96));
	box-shadow: 0 14px 38px rgba(41, 42, 38, 0.06);
}

.tvh-app[data-page="search"] .tvh-search-form {
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: stretch;
	gap: 10px;
	margin: 0;
}

.tvh-search-field {
	position: relative;
	display: block;
	min-width: 0;
}

.tvh-search-field .screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.tvh-search-field__icon {
	position: absolute;
	top: 50%;
	left: 15px;
	z-index: 1;
	display: grid;
	place-items: center;
	width: 22px;
	height: 22px;
	color: var(--tvh-muted);
	pointer-events: none;
	transform: translateY(-50%);
}

.tvh-search-field__icon .tvh-lucide {
	width: 18px;
	height: 18px;
}

.tvh-search-field input {
	min-height: 48px;
	padding-left: 48px;
	border-color: color-mix(in srgb, var(--tvh-primary) 18%, var(--tvh-border));
	background: var(--tvh-white);
	font-size: 15px;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72);
}

.tvh-app[data-page="search"] .tvh-search-form .tvh-button {
	min-height: 48px;
	padding-inline: 18px;
}

.tvh-app[data-page="search"] .tvh-search-form .tvh-lucide {
	width: 17px;
	height: 17px;
}

.tvh-search-summary {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	width: fit-content;
	max-width: 100%;
	padding: 8px 12px;
	border: 1px solid var(--tvh-border);
	border-radius: var(--tvh-radius);
	background: var(--tvh-surface);
	color: var(--tvh-text-soft);
	box-shadow: var(--tvh-shadow-xs);
}

.tvh-search-summary strong {
	color: var(--tvh-text);
	font-size: 13px;
	font-weight: 780;
}

.tvh-search-summary span {
	min-width: 0;
	color: var(--tvh-muted);
	font-size: 13px;
	overflow-wrap: anywhere;
}

.tvh-search-results {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	min-width: 0;
}

.tvh-search-section {
	--tvh-search-accent: var(--tvh-primary);
	--tvh-search-soft: var(--tvh-primary-soft);
	display: grid;
	grid-template-rows: auto 1fr;
	min-width: 0;
	overflow: hidden;
	border: 1px solid color-mix(in srgb, var(--tvh-search-accent) 18%, var(--tvh-border));
	border-top: 3px solid var(--tvh-search-accent);
	border-radius: var(--tvh-radius);
	background: var(--tvh-surface);
	box-shadow: 0 10px 26px rgba(41, 42, 38, 0.055);
}

.tvh-search-section--companies {
	--tvh-search-accent: #386a5a;
	--tvh-search-soft: #e3efe9;
}

.tvh-search-section--tasks {
	--tvh-search-accent: #4c6fa5;
	--tvh-search-soft: #eaf0f8;
}

.tvh-search-section--notes {
	--tvh-search-accent: #8a6f28;
	--tvh-search-soft: #fbf1dc;
}

.tvh-search-section--passwords {
	--tvh-search-accent: #6d5a9f;
	--tvh-search-soft: #eeeaf8;
}

.tvh-search-section--cash {
	--tvh-search-accent: #2f7d54;
	--tvh-search-soft: #e7f4ec;
}

.tvh-search-section--events {
	--tvh-search-accent: #9b6817;
	--tvh-search-soft: #fbf1dc;
}

.tvh-search-section__head {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 11px;
	padding: 14px 15px;
	border-bottom: 1px solid color-mix(in srgb, var(--tvh-search-accent) 14%, var(--tvh-border));
	background: linear-gradient(180deg, color-mix(in srgb, var(--tvh-search-soft) 72%, #fff), #fffdf9);
}

.tvh-search-section__head h3 {
	margin: 0;
	font-size: 16px;
	font-weight: 780;
	line-height: 1.25;
}

.tvh-search-section__head small {
	display: block;
	margin-top: 2px;
	color: var(--tvh-muted);
	font-size: 12px;
	line-height: 1.35;
}

.tvh-search-section__head b {
	display: inline-grid;
	place-items: center;
	min-width: 30px;
	height: 28px;
	padding: 0 9px;
	border-radius: var(--tvh-radius-pill);
	background: var(--tvh-search-accent);
	color: var(--tvh-white);
	font-size: 12px;
	font-weight: 780;
	line-height: 1;
}

.tvh-search-section__icon {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border-radius: var(--tvh-radius);
	background: var(--tvh-search-soft);
	color: var(--tvh-search-accent);
	box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--tvh-search-accent) 13%, transparent);
}

.tvh-search-section__icon .tvh-lucide {
	width: 19px;
	height: 19px;
}

.tvh-search-list {
	display: grid;
	align-content: start;
	gap: 0;
	min-height: 128px;
	padding: 6px 0;
}

.tvh-search-item {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 12px;
	min-width: 0;
	padding: 11px 15px;
	color: var(--tvh-text);
	text-decoration: none;
	transition: background var(--tvh-transition), color var(--tvh-transition), transform var(--tvh-transition);
}

.tvh-search-item + .tvh-search-item {
	border-top: 1px solid rgba(222, 219, 210, 0.66);
}

.tvh-search-item:hover {
	background: color-mix(in srgb, var(--tvh-search-soft) 58%, #fff);
	color: var(--tvh-text);
	text-decoration: none;
	transform: translateX(2px);
}

.tvh-search-item strong,
.tvh-search-item small {
	display: block;
	min-width: 0;
}

.tvh-search-item strong {
	font-size: 14px;
	font-weight: 760;
	line-height: 1.35;
}

.tvh-search-item small {
	margin-top: 3px;
	color: var(--tvh-muted);
	font-size: 12.5px;
	line-height: 1.45;
}

.tvh-search-item em {
	color: var(--tvh-search-accent);
	font-size: 12px;
	font-style: normal;
	font-weight: 760;
	white-space: nowrap;
	opacity: 0;
	transform: translateX(-4px);
	transition: opacity var(--tvh-transition), transform var(--tvh-transition);
}

.tvh-search-item:hover em {
	opacity: 1;
	transform: translateX(0);
}

.tvh-search-empty {
	display: grid;
	place-items: center;
	min-height: 86px;
	margin: 8px 12px;
	padding: 14px;
	border: 1px dashed color-mix(in srgb, var(--tvh-search-accent) 22%, var(--tvh-border));
	border-radius: var(--tvh-radius);
	background: color-mix(in srgb, var(--tvh-search-soft) 45%, #fff);
	color: var(--tvh-muted);
	font-size: 13px;
	text-align: center;
}

.tvh-search-idle {
	display: grid;
	justify-items: center;
	gap: 10px;
	padding: 34px 18px;
	border: 1px dashed var(--tvh-border-strong);
	border-radius: var(--tvh-radius);
	background: color-mix(in srgb, var(--tvh-surface) 74%, var(--tvh-bg));
	color: var(--tvh-muted);
	text-align: center;
}

.tvh-search-idle .tvh-lucide {
	width: 28px;
	height: 28px;
	color: var(--tvh-primary);
}

.tvh-search-idle p {
	max-width: 540px;
	margin: 0;
}

@media (max-width: 782px) {
	.tvh-app[data-page="search"] .tvh-search-form {
		grid-template-columns: minmax(0, 1fr);
	}

	.tvh-app[data-page="search"] .tvh-search-form .tvh-button {
		width: 100%;
	}

	.tvh-search-summary {
		width: 100%;
	}
}

@media (max-width: 420px) {
	.tvh-search-results {
		grid-template-columns: minmax(0, 1fr);
	}

	.tvh-search-box {
		padding: 10px;
	}

	.tvh-search-section__head {
		grid-template-columns: auto minmax(0, 1fr);
	}

	.tvh-search-section__head b {
		grid-column: 2;
		justify-self: start;
	}

	.tvh-search-item {
		grid-template-columns: minmax(0, 1fr);
	}

	.tvh-search-item em {
		display: none;
	}
}

.tvh-app[data-page="settings"] .tvh-main {
	align-content: start;
	padding-top: clamp(16px, 1.6vw, 24px);
}

.tvh-app[data-page="settings"] .tvh-settings-console {
	grid-template-columns: minmax(220px, 280px) minmax(0, 1060px);
	justify-content: start;
}

.tvh-app[data-page="settings"] .tvh-settings-content {
	justify-items: start;
}

.tvh-app[data-page="settings"] .tvh-settings-panel {
	width: 100%;
	max-width: 960px;
	min-height: auto;
}

.tvh-app[data-page="settings"] #settings-activity {
	max-width: 1060px;
}

.tvh-app[data-page="settings"] .tvh-settings-panel .tvh-form {
	align-items: start;
	justify-items: start;
	max-width: 760px;
}

.tvh-app[data-page="settings"] .tvh-settings-panel .tvh-form > label {
	width: min(100%, 460px);
}

.tvh-app[data-page="settings"] .tvh-settings-account-row,
.tvh-app[data-page="settings"] .tvh-settings-password-row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 13px;
	width: min(100%, 760px);
}

.tvh-app[data-page="settings"] .tvh-settings-save-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	width: min(100%, 760px);
}

.tvh-app[data-page="settings"] .tvh-settings-save-row .tvh-check-row {
	flex: 1 1 auto;
	padding: 0;
}

.tvh-app[data-page="settings"] .tvh-settings-save-row .tvh-button {
	flex: 0 0 auto;
	margin-left: auto;
}

.tvh-app[data-page="settings"] .tvh-settings-panel .tvh-form-grid {
	width: 100%;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 240px));
	justify-content: start;
}

.tvh-app[data-page="settings"] .tvh-settings-panel .tvh-form-grid > label {
	width: 100%;
}

.tvh-app[data-page="settings"] #settings-ai .tvh-form-grid {
	width: min(100%, 760px);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tvh-app[data-page="settings"] #settings-security .tvh-sensitive-settings .tvh-form-grid {
	width: min(100%, 760px);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tvh-app[data-page="settings"] .tvh-settings-panel .tvh-button[type="submit"] {
	width: auto;
	min-width: 132px;
	justify-self: start;
	padding-inline: 18px;
}

.tvh-app[data-page="settings"] #settings-export .tvh-export-grid {
	width: min(100%, 760px);
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 170px), 190px));
	justify-content: start;
}

.tvh-app[data-page="settings"] #settings-export .tvh-export-grid .tvh-button {
	width: 100%;
}

.tvh-app[data-page="settings"] .tvh-settings-panel .tvh-actions {
	justify-content: flex-start;
	column-gap: 12px;
	row-gap: 10px;
}

.tvh-app[data-page="settings"] .tvh-settings-panel > .tvh-actions,
.tvh-app[data-page="settings"] .tvh-settings-panel > .tvh-form + .tvh-actions {
	margin-top: 22px;
}

.tvh-app[data-page="settings"] .tvh-settings-panel .tvh-actions .tvh-button,
.tvh-app[data-page="settings"] .tvh-settings-panel .tvh-actions button {
	width: auto;
	min-width: 0;
	padding-inline: 14px;
}

.tvh-app[data-page="settings"] .tvh-settings-google-actions,
.tvh-app[data-page="settings"] .tvh-settings-ai-actions {
	flex-wrap: nowrap;
	width: min(100%, 760px);
	overflow-x: auto;
	scrollbar-width: none;
}

.tvh-app[data-page="settings"] .tvh-settings-google-actions::-webkit-scrollbar,
.tvh-app[data-page="settings"] .tvh-settings-ai-actions::-webkit-scrollbar {
	display: none;
}

.tvh-app[data-page="settings"] .tvh-settings-google-actions > .tvh-button,
.tvh-app[data-page="settings"] .tvh-settings-google-actions > form,
.tvh-app[data-page="settings"] .tvh-settings-google-actions > form > .tvh-button,
.tvh-app[data-page="settings"] .tvh-settings-ai-actions > .tvh-button,
.tvh-app[data-page="settings"] .tvh-settings-ai-actions > form,
.tvh-app[data-page="settings"] .tvh-settings-ai-actions > form > .tvh-button {
	flex: 0 0 auto;
}

.tvh-app[data-page="settings"] .tvh-system-info,
.tvh-app[data-page="settings"] .tvh-settings-panel > .tvh-muted,
.tvh-app[data-page="settings"] #settings-backups .tvh-list,
.tvh-app[data-page="settings"] #settings-activity .tvh-table-wrap {
	width: min(100%, 820px);
}

.tvh-app[data-page="settings"] #settings-activity .tvh-table-wrap {
	width: 100%;
	max-width: 100%;
}

.tvh-app[data-page="settings"] #settings-security .tvh-metric-grid {
	width: min(100%, 520px);
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 240px));
	justify-content: start;
}

@media (max-width: 980px) {
	.tvh-app[data-page="settings"] .tvh-settings-console {
		grid-template-columns: minmax(0, 1fr);
	}

	.tvh-app[data-page="settings"] .tvh-settings-panel,
	.tvh-app[data-page="settings"] #settings-activity {
		max-width: none;
	}
}

@media (max-width: 767px) {
	.tvh-app[data-page="settings"] .tvh-page-head {
		flex-direction: row;
		align-items: center;
		gap: 10px;
	}

	.tvh-app[data-page="settings"] .tvh-page-head > div:first-child {
		flex: 0 0 auto;
	}

	.tvh-app[data-page="settings"] .tvh-page-head .tvh-actions {
		flex: 1 1 auto;
		justify-content: flex-end;
		flex-wrap: nowrap;
		width: auto;
		margin-left: auto;
		overflow-x: auto;
		scrollbar-width: none;
	}

	.tvh-app[data-page="settings"] .tvh-page-head .tvh-actions::-webkit-scrollbar {
		display: none;
	}

	.tvh-app[data-page="settings"] .tvh-page-head .tvh-button {
		flex: 0 0 auto;
		width: auto;
		min-height: 34px;
		padding: 7px 10px;
		font-size: 12px;
		white-space: nowrap;
	}

	.tvh-app[data-page="settings"] #settings-account .tvh-form-grid {
		display: flex;
		flex-wrap: nowrap;
		gap: 10px;
		width: 100%;
		margin-inline: -2px;
		padding: 2px 2px 6px;
		overflow-x: auto;
		scrollbar-width: none;
	}

	.tvh-app[data-page="settings"] #settings-account .tvh-form-grid::-webkit-scrollbar {
		display: none;
	}

	.tvh-app[data-page="settings"] #settings-account .tvh-form-grid > label {
		flex: 0 0 150px;
		width: 150px;
		font-size: 12px;
		white-space: nowrap;
	}

	.tvh-app[data-page="settings"] #settings-account .tvh-form-grid input {
		min-height: 38px;
		padding-inline: 9px;
	}

	.tvh-app[data-page="settings"] #settings-security .tvh-metric-grid {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr));
		gap: 10px;
		width: 100%;
		max-width: 100%;
		margin-inline: 0;
		padding: 0 0 6px;
		overflow: visible;
	}

	.tvh-app[data-page="settings"] #settings-security .tvh-metric-grid::-webkit-scrollbar {
		display: none;
	}

	.tvh-app[data-page="settings"] #settings-security .tvh-metric {
		width: 100%;
		min-width: 0;
		padding: 13px 12px;
	}

	.tvh-app[data-page="settings"] .tvh-settings-nav {
		display: flex;
		flex-wrap: nowrap;
		gap: 8px;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		margin-inline: -2px;
		padding: 8px 2px 12px;
		overflow-x: auto;
		overflow-y: hidden;
		overscroll-behavior-inline: contain;
		border: 0;
		border-radius: 0;
		background: transparent;
		box-shadow: none;
		scroll-padding-inline: 2px;
		scroll-snap-type: x proximity;
		scrollbar-color: color-mix(in srgb, var(--tvh-primary) 44%, var(--tvh-border)) transparent;
		scrollbar-width: thin;
		touch-action: pan-x;
		-webkit-overflow-scrolling: touch;
	}

	.tvh-app[data-page="settings"] .tvh-settings-nav::-webkit-scrollbar {
		display: block;
		height: 6px;
	}

	.tvh-app[data-page="settings"] .tvh-settings-nav::-webkit-scrollbar-track {
		background: transparent;
	}

	.tvh-app[data-page="settings"] .tvh-settings-nav::-webkit-scrollbar-thumb {
		border-radius: var(--tvh-radius-pill);
		background: color-mix(in srgb, var(--tvh-primary) 44%, var(--tvh-border));
	}

	.tvh-app[data-page="settings"] .tvh-settings-nav .tvh-eyebrow {
		display: none;
	}

	.tvh-app[data-page="settings"] .tvh-settings-nav__item {
		flex: 0 0 auto;
		min-height: 40px;
		padding: 9px 12px;
		border-color: var(--tvh-border);
		background: var(--tvh-surface);
		scroll-snap-align: start;
		white-space: nowrap;
	}

	.tvh-app[data-page="settings"] .tvh-settings-nav__item span {
		overflow-wrap: normal;
		white-space: nowrap;
	}
}

@media (min-width: 768px) {
	.tvh-app {
		grid-template-columns: var(--tvh-sidebar-width) minmax(0, 1fr);
	}

	.tvh-shell {
		grid-column: 2;
	}

	.tvh-sidebar {
		position: fixed !important;
		top: 0;
		left: 0;
		bottom: auto;
		width: var(--tvh-sidebar-width);
		min-width: var(--tvh-sidebar-width);
		max-width: var(--tvh-sidebar-width);
		height: 100dvh;
		transform: none !important;
	}

	.tvh-sidebar-collapsed-preload .tvh-app,
	.tvh-app.is-sidebar-collapsed {
		grid-template-columns: var(--tvh-sidebar-collapsed-width) minmax(0, 1fr);
	}

	.tvh-sidebar-collapsed-preload .tvh-sidebar,
	.tvh-app.is-sidebar-collapsed .tvh-sidebar {
		width: var(--tvh-sidebar-collapsed-width);
		min-width: var(--tvh-sidebar-collapsed-width);
		max-width: var(--tvh-sidebar-collapsed-width);
	}
}

@media (min-width: 768px) and (max-width: 1199px) {
	.tvh-app {
		grid-template-columns: var(--tvh-sidebar-collapsed-width) minmax(0, 1fr) !important;
	}

	.tvh-sidebar {
		width: var(--tvh-sidebar-collapsed-width) !important;
		min-width: var(--tvh-sidebar-collapsed-width) !important;
		max-width: var(--tvh-sidebar-collapsed-width) !important;
	}

	.tvh-app.is-sidebar-drawer-open .tvh-sidebar {
		width: min(292px, calc(100vw - 28px)) !important;
		min-width: min(292px, calc(100vw - 28px)) !important;
		max-width: min(292px, calc(100vw - 28px)) !important;
	}
}

body.admin-bar .tvh-sidebar {
	top: 32px;
	height: calc(100dvh - 32px);
}

@media (max-width: 782px) {
	body.admin-bar .tvh-sidebar {
		top: 46px;
		height: calc(100dvh - 46px);
	}
}

/* Dashboard workbench refresh */
.tvh-app[data-page="dashboard"] .tvh-main {
	align-content: start;
	gap: 14px;
	width: min(100%, 1320px);
	max-width: 1320px;
	margin-inline: auto;
	padding: 18px clamp(14px, 1.8vw, 24px) 28px;
}

.tvh-app[data-page="dashboard"] .tvh-dashboard-greeting,
.tvh-app[data-page="dashboard"] .tvh-quick-capture,
.tvh-app[data-page="dashboard"] .tvh-dashboard-widget {
	border-radius: 8px;
	border-color: #d9e4df;
	background: #ffffff;
	box-shadow: 0 1px 2px rgba(17, 36, 31, 0.05);
}

.tvh-app[data-page="dashboard"] .tvh-dashboard-greeting {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 16px;
	padding: 16px 18px;
	border: 1px solid #d9e4df;
	background: linear-gradient(135deg, #ffffff 0%, #f4faf7 100%);
}

.tvh-app[data-page="dashboard"] .tvh-dashboard-greeting h2 {
	font-size: 26px;
	line-height: 1.16;
}

.tvh-app[data-page="dashboard"] .tvh-dashboard-greeting p:last-child {
	max-width: 680px;
	margin-top: 6px;
	font-size: 14px;
}

.tvh-app[data-page="dashboard"] .tvh-dashboard-greeting .tvh-button {
	justify-self: end;
	min-height: 38px;
	padding: 8px 12px;
}

.tvh-app[data-page="dashboard"] .tvh-eyebrow {
	letter-spacing: 0;
}

.tvh-app[data-page="dashboard"] .tvh-quick-capture {
	margin-top: 0;
	padding: 13px;
	overflow: hidden;
}

.tvh-app[data-page="dashboard"] .tvh-quick-capture__head {
	align-items: center;
	margin-bottom: 10px;
}

.tvh-app[data-page="dashboard"] .tvh-quick-capture__head h3,
.tvh-app[data-page="dashboard"] .tvh-widget-head h3 {
	font-size: 16px;
	line-height: 1.25;
}

.tvh-app[data-page="dashboard"] .tvh-quick-capture__status {
	min-height: 18px;
	font-size: 12px;
}

.tvh-app[data-page="dashboard"] .tvh-quick-capture__status:empty {
	display: none;
}

.tvh-app[data-page="dashboard"] .tvh-dashboard-capture__main {
	grid-template-columns: minmax(250px, 312px) minmax(0, 1fr);
	align-items: stretch;
	gap: 10px;
}

.tvh-app[data-page="dashboard"] .tvh-segmented--capture {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 4px;
	padding: 3px;
}

.tvh-app[data-page="dashboard"] .tvh-segmented--capture label {
	min-width: 0;
}

.tvh-app[data-page="dashboard"] .tvh-segmented--capture span {
	justify-content: center;
	width: 100%;
	min-height: 42px;
	padding: 7px 8px;
	font-size: 13px;
	line-height: 1.2;
	white-space: nowrap;
}

.tvh-app[data-page="dashboard"] .tvh-dashboard-capture__input {
	grid-template-columns: minmax(0, 1fr) 42px;
	gap: 8px;
}

.tvh-app[data-page="dashboard"] .tvh-dashboard-capture__input textarea {
	min-height: 42px;
	padding: 10px 12px;
}

.tvh-app[data-page="dashboard"] .tvh-dashboard-capture__submit {
	width: 42px;
	min-width: 42px;
	height: 42px;
	min-height: 42px;
}

.tvh-app[data-page="dashboard"] .tvh-dashboard-capture__details {
	padding-top: 7px;
}

.tvh-app[data-page="dashboard"] .tvh-dashboard-capture__details summary {
	min-height: 30px;
	font-size: 12px;
}

.tvh-app[data-page="dashboard"] .tvh-dashboard-capture__fields {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 9px;
}

.tvh-app[data-page="dashboard"] .tvh-dashboard-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(340px, 0.82fr);
	align-items: start;
	gap: 16px;
	margin-top: 0;
}

.tvh-app[data-page="dashboard"] .tvh-dashboard-column {
	display: grid;
	align-content: start;
	gap: 16px;
	min-width: 0;
}

.tvh-app[data-page="dashboard"] .tvh-dashboard-widget {
	--dashboard-accent: var(--tvh-primary);
	position: relative;
	min-width: 0;
	overflow: hidden;
	padding: 15px;
}

.tvh-app[data-page="dashboard"] .tvh-dashboard-widget::before {
	position: absolute;
	inset: 0 0 auto;
	height: 3px;
	background: var(--dashboard-accent);
	content: "";
}

.tvh-app[data-page="dashboard"] .tvh-dashboard-widget--today {
	--dashboard-accent: #3f6fa7;
}

.tvh-app[data-page="dashboard"] .tvh-dashboard-widget--projects {
	--dashboard-accent: #386a5a;
}

.tvh-app[data-page="dashboard"] .tvh-dashboard-widget--notes {
	--dashboard-accent: #8a6f28;
}

.tvh-app[data-page="dashboard"] .tvh-dashboard-widget--finance {
	--dashboard-accent: #277a50;
}

.tvh-app[data-page="dashboard"] .tvh-dashboard-widget--ai {
	--dashboard-accent: #4c6fa5;
}

.tvh-app[data-page="dashboard"] .tvh-dashboard-widget--actions {
	--dashboard-accent: #946100;
}

.tvh-app[data-page="dashboard"] .tvh-dashboard-widget.is-priority {
	border-color: color-mix(in srgb, var(--dashboard-accent) 28%, #d9e4df);
	background: linear-gradient(180deg, color-mix(in srgb, var(--dashboard-accent) 7%, #fff) 0%, #fff 72%);
}

.tvh-app[data-page="dashboard"] .tvh-widget-head {
	align-items: flex-start;
	gap: 12px;
	margin-bottom: 10px;
}

.tvh-app[data-page="dashboard"] .tvh-widget-head a,
.tvh-app[data-page="dashboard"] .tvh-widget-links a {
	flex: 0 0 auto;
	font-size: 12px;
	line-height: 1.3;
	white-space: nowrap;
}

.tvh-app[data-page="dashboard"] .tvh-today-summary,
.tvh-app[data-page="dashboard"] .tvh-week-summary {
	gap: 7px;
	margin-bottom: 10px;
}

.tvh-app[data-page="dashboard"] .tvh-today-summary span,
.tvh-app[data-page="dashboard"] .tvh-week-summary span {
	min-height: 28px;
	padding: 4px 9px;
	border-radius: 999px;
	background: #f5f8f7;
	font-size: 12px;
	line-height: 1.2;
}

.tvh-app[data-page="dashboard"] .tvh-today-list,
.tvh-app[data-page="dashboard"] .tvh-project-list,
.tvh-app[data-page="dashboard"] .tvh-note-list,
.tvh-app[data-page="dashboard"] .tvh-ai-mini-list {
	gap: 7px;
}

.tvh-app[data-page="dashboard"] .tvh-today-item,
.tvh-app[data-page="dashboard"] .tvh-project-item,
.tvh-app[data-page="dashboard"] .tvh-note-row,
.tvh-app[data-page="dashboard"] .tvh-ai-mini-item,
.tvh-app[data-page="dashboard"] .tvh-quick-actions a {
	border-radius: 8px;
	border-color: #dfe8e4;
	background: #fbfdfc;
	box-shadow: none;
}

.tvh-app[data-page="dashboard"] .tvh-today-item {
	grid-template-columns: 38px minmax(0, 1fr) auto;
	min-height: 54px;
	padding: 8px 10px;
}

.tvh-app[data-page="dashboard"] .tvh-task-check {
	width: 36px;
	height: 36px;
}

.tvh-app[data-page="dashboard"] .tvh-project-item {
	padding: 10px;
}

.tvh-app[data-page="dashboard"] .tvh-project-item__dot,
.tvh-app[data-page="dashboard"] .tvh-note-row__accent {
	height: 38px;
}

.tvh-app[data-page="dashboard"] .tvh-project-item__meta,
.tvh-app[data-page="dashboard"] .tvh-note-row em {
	font-size: 11px;
}

.tvh-app[data-page="dashboard"] .tvh-note-row,
.tvh-app[data-page="dashboard"] .tvh-ai-mini-item {
	padding: 9px 10px;
}

.tvh-app[data-page="dashboard"] .tvh-ai-mini-item {
	gap: 3px;
}

.tvh-app[data-page="dashboard"] .tvh-finance-summary {
	gap: 8px;
	margin-bottom: 8px;
}

.tvh-app[data-page="dashboard"] .tvh-finance-summary div {
	gap: 3px;
	padding: 9px;
	border-radius: 8px;
	background: #f5f8f7;
}

.tvh-app[data-page="dashboard"] .tvh-finance-summary strong {
	font-size: 14px;
	line-height: 1.25;
}

.tvh-app[data-page="dashboard"] .tvh-list--compact .tvh-list__item {
	align-items: flex-start;
	padding: 10px 0;
}

.tvh-app[data-page="dashboard"] .tvh-list--compact .tvh-list__item > strong {
	flex: 0 0 auto;
	font-size: 13px;
	white-space: nowrap;
}

.tvh-app[data-page="dashboard"] .tvh-quick-actions {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	margin-top: 8px;
}

.tvh-app[data-page="dashboard"] .tvh-quick-actions a {
	min-height: 46px;
	padding: 10px;
}

.tvh-app[data-page="dashboard"] .tvh-empty {
	margin: 0;
	padding: 12px;
	border: 1px dashed #d3ded9;
	border-radius: 8px;
	background: #f7faf8;
}

@media (max-width: 1100px) {
	.tvh-app[data-page="dashboard"] .tvh-dashboard-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.tvh-app[data-page="dashboard"] .tvh-dashboard-column--side {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tvh-app[data-page="dashboard"] .tvh-dashboard-capture__main,
	.tvh-app[data-page="dashboard"] .tvh-dashboard-capture__fields {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tvh-app[data-page="dashboard"] .tvh-dashboard-capture__input {
		grid-column: 1 / -1;
	}
}

@media (max-width: 760px) {
	.tvh-app[data-page="dashboard"] .tvh-main {
		gap: 10px;
		padding: 10px 10px calc(var(--tvh-mobile-nav-height) + env(safe-area-inset-bottom, 0px) + 14px);
	}

	.tvh-app[data-page="dashboard"] .tvh-dashboard-greeting {
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: start;
		gap: 10px;
		padding: 11px 12px;
	}

	.tvh-app[data-page="dashboard"] .tvh-dashboard-greeting h2 {
		font-size: 21px;
		line-height: 1.14;
	}

	.tvh-app[data-page="dashboard"] .tvh-dashboard-greeting p:last-child {
		margin-top: 4px;
		font-size: 13px;
		line-height: 1.4;
	}

	.tvh-app[data-page="dashboard"] .tvh-dashboard-greeting .tvh-button {
		align-self: start;
		min-height: 34px;
		padding: 7px 10px;
		font-size: 12px;
	}

	.tvh-app[data-page="dashboard"] .tvh-quick-capture {
		padding: 10px;
	}

	.tvh-app[data-page="dashboard"] .tvh-quick-capture__head {
		align-items: center;
		flex-direction: row;
		gap: 8px;
		margin-bottom: 8px;
	}

	.tvh-app[data-page="dashboard"] .tvh-quick-capture__head h3 {
		font-size: 15px;
		line-height: 1.2;
	}

	.tvh-app[data-page="dashboard"] .tvh-quick-capture__status {
		min-height: 0;
		text-align: left;
	}

	.tvh-app[data-page="dashboard"] .tvh-dashboard-capture {
		gap: 7px;
	}

	.tvh-app[data-page="dashboard"] .tvh-dashboard-column--side,
	.tvh-app[data-page="dashboard"] .tvh-dashboard-capture__main {
		grid-template-columns: minmax(0, 1fr);
	}

	.tvh-app[data-page="dashboard"] .tvh-dashboard-capture__fields {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tvh-app[data-page="dashboard"] .tvh-dashboard-capture__input {
		grid-column: auto;
		grid-template-columns: minmax(0, 1fr) 38px;
		gap: 6px;
	}

	.tvh-app[data-page="dashboard"] .tvh-segmented--capture {
		gap: 3px;
		padding: 2px;
	}

	.tvh-app[data-page="dashboard"] .tvh-segmented--capture span {
		gap: 5px;
		min-height: 36px;
		padding: 6px;
		font-size: 12px;
	}

	.tvh-app[data-page="dashboard"] .tvh-segmented--capture .tvh-lucide {
		width: 15px;
		height: 15px;
	}

	.tvh-app[data-page="dashboard"] .tvh-dashboard-capture__input textarea {
		min-height: 38px;
		padding: 8px 10px;
		font-size: 13px;
		line-height: 1.35;
	}

	.tvh-app[data-page="dashboard"] .tvh-dashboard-capture__submit {
		width: 38px;
		min-width: 38px;
		height: 38px;
		min-height: 38px;
		border-radius: 8px;
	}

	.tvh-app[data-page="dashboard"] .tvh-dashboard-capture__details {
		padding-top: 4px;
	}

	.tvh-app[data-page="dashboard"] .tvh-dashboard-capture__details summary {
		min-height: 24px;
		font-size: 12px;
	}

	.tvh-app[data-page="dashboard"] .tvh-dashboard-capture__fields {
		gap: 7px;
		padding-top: 6px;
	}

	.tvh-app[data-page="dashboard"] .tvh-dashboard-capture__fields input,
	.tvh-app[data-page="dashboard"] .tvh-dashboard-capture__fields select {
		min-height: 36px;
		padding: 7px 9px;
	}

	.tvh-app[data-page="dashboard"] .tvh-finance-summary {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.tvh-app[data-page="dashboard"] .tvh-quick-actions {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tvh-app[data-page="dashboard"] .tvh-list--compact .tvh-list__item {
		align-items: center;
		flex-direction: row;
	}

	.tvh-app[data-page="dashboard"] .tvh-list--compact .tvh-list__item > span {
		min-width: 0;
	}

	.tvh-app[data-page="dashboard"] .tvh-list--compact .tvh-list__item > strong {
		text-align: right;
	}

	.tvh-app[data-page="dashboard"] .tvh-today-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tvh-app[data-page="dashboard"] .tvh-today-item {
		grid-template-columns: 32px minmax(0, 1fr);
		grid-template-rows: auto auto;
		align-content: start;
		gap: 7px;
		min-height: 108px;
		padding: 9px;
	}

	.tvh-app[data-page="dashboard"] .tvh-today-item .tvh-task-check {
		width: 32px;
		height: 32px;
	}

	.tvh-app[data-page="dashboard"] .tvh-today-item__body span {
		display: -webkit-box;
		overflow: hidden;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
	}

	.tvh-app[data-page="dashboard"] .tvh-today-item .tvh-badge {
		grid-column: 2;
		justify-self: start;
	}

	.tvh-app[data-page="dashboard"] .tvh-today-list > .tvh-empty {
		grid-column: 1 / -1;
	}

	.tvh-app[data-page="dashboard"] .tvh-project-item,
	.tvh-app[data-page="dashboard"] .tvh-note-row {
		grid-template-columns: minmax(0, 1fr);
	}

	.tvh-app[data-page="dashboard"] .tvh-project-item__dot,
	.tvh-app[data-page="dashboard"] .tvh-note-row__accent {
		width: 100%;
		height: 4px;
	}

	.tvh-app[data-page="dashboard"] .tvh-list--compact .tvh-list__item > strong {
		white-space: normal;
	}
}

/* Keep calendar quick-create as a compact floating popover. */
.tvh-app[data-page="calendar"] .tvh-main > .tvh-calendar-quick-popover {
	justify-self: auto;
	width: 340px !important;
	max-width: calc(100vw - 28px) !important;
	min-width: 0;
}

.tvh-app[data-page="calendar"] .tvh-calendar-quick-popover .tvh-calendar-quick-form {
	width: 100%;
	max-width: none;
}

@media (max-width: 420px) {
	.tvh-app[data-page="calendar"] .tvh-main > .tvh-calendar-quick-popover {
		width: calc(100vw - 24px) !important;
	}
}

/* Compact dashboard layout editor */
.tvh-app[data-page="dashboard"] .tvh-main > .tvh-dashboard-settings {
	justify-self: start;
	width: min(100%, 800px);
	max-width: 800px;
	margin-top: 0;
	padding: 12px;
	border-color: #d8e4df;
	background: #ffffff;
	box-shadow: 0 8px 24px rgba(17, 36, 31, 0.055);
}

.tvh-app[data-page="dashboard"] .tvh-dashboard-settings .tvh-panel__head {
	align-items: center;
	margin-bottom: 10px;
	padding-bottom: 8px;
	border-bottom: 1px solid #e2ebe7;
}

.tvh-app[data-page="dashboard"] .tvh-dashboard-settings .tvh-eyebrow {
	margin-bottom: 3px;
	font-size: 10px;
}

.tvh-app[data-page="dashboard"] .tvh-dashboard-settings h3 {
	margin: 0;
	font-size: 15px;
	line-height: 1.2;
}

.tvh-app[data-page="dashboard"] .tvh-dashboard-settings .tvh-button {
	min-height: 36px;
	padding: 7px 12px;
	border-radius: 8px;
	font-size: 13px;
}

.tvh-app[data-page="dashboard"] .tvh-dashboard-settings__form,
.tvh-app[data-page="dashboard"] .tvh-dashboard-settings__list {
	gap: 8px;
}

.tvh-app[data-page="dashboard"] .tvh-dashboard-settings__list {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tvh-app[data-page="dashboard"] .tvh-dashboard-settings__row {
	grid-template-columns: minmax(120px, 1fr) auto auto;
	gap: 8px;
	min-height: 42px;
	padding: 6px 8px;
	border-color: #dce8e3;
	border-radius: 8px;
	background: #fbfdfc;
}

.tvh-app[data-page="dashboard"] .tvh-dashboard-settings__row:hover {
	border-color: #bdd4cc;
	background: #f4faf7;
}

.tvh-app[data-page="dashboard"] .tvh-dashboard-settings__row label {
	gap: 7px;
	min-width: 0;
	font-size: 13px;
	font-weight: 760;
	line-height: 1.2;
}

.tvh-app[data-page="dashboard"] .tvh-dashboard-settings__row label span {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.tvh-app[data-page="dashboard"] .tvh-dashboard-settings__row input[type="checkbox"],
.tvh-app[data-page="dashboard"] .tvh-dashboard-settings__row input[type="radio"] {
	width: 17px;
	height: 17px;
	min-width: 17px;
	min-height: 17px;
}

.tvh-app[data-page="dashboard"] .tvh-dashboard-settings__row .tvh-actions {
	gap: 6px;
	flex-wrap: nowrap;
}

.tvh-app[data-page="dashboard"] .tvh-dashboard-settings__row .tvh-icon-button {
	width: 34px;
	min-width: 34px;
	height: 34px;
	min-height: 34px;
	border-radius: 8px;
	padding: 0;
}

.tvh-app[data-page="dashboard"] .tvh-dashboard-settings__form > .tvh-actions {
	margin-top: 2px;
}

@media (max-width: 860px) {
	.tvh-app[data-page="dashboard"] .tvh-main > .tvh-dashboard-settings {
		width: 100%;
		max-width: none;
	}

	.tvh-app[data-page="dashboard"] .tvh-dashboard-settings__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 520px) {
	.tvh-app[data-page="dashboard"] .tvh-dashboard-settings .tvh-panel__head {
		align-items: center;
		flex-direction: row;
		gap: 10px;
	}

	.tvh-app[data-page="dashboard"] .tvh-dashboard-settings .tvh-panel__head form {
		flex: 0 0 auto;
	}

	.tvh-app[data-page="dashboard"] .tvh-dashboard-settings__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px;
	}

	.tvh-app[data-page="dashboard"] .tvh-dashboard-settings__row {
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: center;
		gap: 6px;
		min-height: 74px;
		padding: 7px;
	}

	.tvh-app[data-page="dashboard"] .tvh-dashboard-settings__row label {
		gap: 6px;
		font-size: 12px;
	}

	.tvh-app[data-page="dashboard"] .tvh-dashboard-settings__row label:first-child {
		grid-column: 1 / -1;
	}

	.tvh-app[data-page="dashboard"] .tvh-dashboard-settings__row label:first-child span {
		overflow: visible;
		text-overflow: clip;
		white-space: normal;
	}

	.tvh-app[data-page="dashboard"] .tvh-dashboard-settings__row input[type="checkbox"],
	.tvh-app[data-page="dashboard"] .tvh-dashboard-settings__row input[type="radio"] {
		width: 16px;
		height: 16px;
		min-width: 16px;
		min-height: 16px;
	}

	.tvh-app[data-page="dashboard"] .tvh-dashboard-settings__row .tvh-actions {
		grid-column: auto;
		justify-self: end;
		gap: 4px;
		flex-wrap: nowrap;
	}

	.tvh-app[data-page="dashboard"] .tvh-dashboard-settings__row .tvh-icon-button {
		width: 30px;
		min-width: 30px;
		height: 30px;
		min-height: 30px;
		border-radius: 7px;
	}

	.tvh-app[data-page="dashboard"] .tvh-dashboard-settings__form > .tvh-actions .tvh-button {
		width: 100%;
		min-height: 38px;
	}
}

/* Calendar range and weekly-list refresh */
.tvh-app[data-page="calendar"] .tvh-calendar-panel {
	padding: 12px;
	border-color: #d8e5e0;
	background: #ffffff;
	box-shadow: 0 10px 28px rgba(17, 36, 31, 0.055);
}

.tvh-app[data-page="calendar"] .tvh-filter {
	grid-template-columns: 76px 92px minmax(190px, 1fr) auto auto 74px;
	gap: 8px;
	margin-bottom: 12px;
	padding: 8px;
	border: 1px solid #dce8e3;
	border-radius: 8px;
	background: #f7fbf9;
}

.tvh-app[data-page="calendar"] .tvh-filter input,
.tvh-app[data-page="calendar"] .tvh-filter select {
	min-height: 34px;
	border-radius: 7px;
	font-size: 12px;
	font-weight: 650;
}

.tvh-app[data-page="calendar"] .tvh-filter .tvh-button {
	min-height: 34px;
	border-radius: 7px;
	padding-inline: 12px;
	font-size: 12px;
	font-weight: 760;
}

.tvh-calendar-view-toggle,
.tvh-calendar-mode-toggle {
	justify-self: end;
	flex-wrap: nowrap;
	gap: 4px;
	padding: 3px;
	border-radius: 8px;
	background: #edf5f2;
	white-space: nowrap;
}

.tvh-calendar-view-toggle span,
.tvh-calendar-mode-toggle span {
	min-height: 28px;
	border-radius: 6px;
	padding: 6px 10px;
	font-size: 11px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: 0;
}

.tvh-calendar-mode-toggle span {
	gap: 5px;
	padding-inline: 8px;
}

.tvh-calendar-mode-toggle em {
	font-style: normal;
}

.tvh-calendar-mode-toggle .tvh-lucide {
	width: 14px;
	height: 14px;
}

.tvh-calendar-stack {
	align-items: start;
	gap: 12px;
}

.tvh-calendar-stack--3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tvh-calendar-stack--12 {
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}

.tvh-calendar-month {
	gap: 8px;
	min-width: 0;
	border: 1px solid #dce8e3;
	border-radius: 8px;
	background: #ffffff;
	padding: 9px;
	box-shadow: 0 8px 18px rgba(17, 36, 31, 0.045);
}

.tvh-calendar-month h3 {
	display: flex;
	align-items: center;
	min-height: 24px;
	margin: 0;
	color: #12342d;
	font-size: 13px;
	font-weight: 820;
	line-height: 1.15;
}

.tvh-app[data-page="calendar"] .tvh-calendar {
	gap: 5px;
}

.tvh-app[data-page="calendar"] .tvh-calendar__dow {
	color: #60736d;
	font-size: 10px;
	font-weight: 820;
	line-height: 1;
	text-align: center;
}

.tvh-app[data-page="calendar"] .tvh-calendar__cell {
	min-height: 92px;
	border-color: #dce8e3;
	border-radius: 8px;
	background: #fbfdfc;
	padding: 7px;
	transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}

.tvh-app[data-page="calendar"] .tvh-calendar__cell:hover {
	border-color: #9fcac0;
	background: #f3faf7;
}

.tvh-calendar-stack--1 .tvh-calendar__cell {
	min-height: 108px;
}

.tvh-calendar-stack--3 .tvh-calendar__cell {
	min-height: 82px;
}

.tvh-calendar-stack--12 .tvh-calendar {
	gap: 4px;
}

.tvh-calendar-stack--12 .tvh-calendar__cell {
	min-height: 58px;
	border-radius: 7px;
	padding: 5px;
}

.tvh-calendar-stack--12 .tvh-calendar__dow {
	font-size: 9px;
}

.tvh-calendar__date {
	gap: 5px;
}

.tvh-calendar__date strong {
	font-size: 15px;
}

.tvh-calendar__date small {
	max-width: 72px;
	color: #64756f;
	font-size: 10px;
	line-height: 1.15;
}

.tvh-calendar-stack--12 .tvh-calendar__date strong {
	font-size: 13px;
}

.tvh-calendar-stack--12 .tvh-calendar__date small {
	max-width: 46px;
	font-size: 9px;
}

.tvh-calendar__markers {
	gap: 3px;
	margin-top: 4px;
}

.tvh-calendar__badge,
.tvh-calendar__holiday {
	max-width: 100%;
	border-radius: 6px;
	padding: 3px 5px;
	font-size: 9px;
	line-height: 1.12;
}

.tvh-calendar__events {
	gap: 4px;
	max-height: 62px;
	margin-top: 4px;
}

.tvh-calendar__event {
	min-height: 24px;
	gap: 5px;
	border-left-width: 3px;
	border-radius: 6px;
	padding: 4px 6px;
}

.tvh-calendar__event small {
	font-size: 10px;
}

.tvh-calendar__event strong {
	font-size: 11px;
}

.tvh-calendar-stack--12 .tvh-calendar__markers {
	margin-top: 2px;
}

.tvh-calendar-stack--12 .tvh-calendar__events {
	max-height: 28px;
	margin-top: 2px;
	overflow: hidden;
}

.tvh-calendar-stack--12 .tvh-calendar__event {
	min-height: 18px;
	padding: 2px 4px;
}

.tvh-calendar-stack--12 .tvh-calendar__event small,
.tvh-calendar-stack--12 .tvh-calendar__event strong {
	font-size: 9px;
}

.tvh-calendar-stack--12 .tvh-calendar__badge,
.tvh-calendar-stack--12 .tvh-calendar__holiday {
	padding: 2px 4px;
	font-size: 8px;
}

.tvh-calendar-week-list {
	display: grid;
	gap: 10px;
}

.tvh-calendar-week {
	overflow: hidden;
	border: 1px solid #dce8e3;
	border-radius: 8px;
	background: #ffffff;
	box-shadow: 0 8px 18px rgba(17, 36, 31, 0.045);
}

.tvh-calendar-week__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	border-bottom: 1px solid #dce8e3;
	background: #f4faf7;
	padding: 8px 11px;
}

.tvh-calendar-week__head span {
	color: #0f7668;
	font-size: 11px;
	font-weight: 850;
	line-height: 1;
	text-transform: uppercase;
}

.tvh-calendar-week__head strong {
	color: #183b34;
	font-size: 12px;
	font-weight: 820;
	line-height: 1;
	text-align: right;
}

.tvh-calendar-week__days {
	display: grid;
}

.tvh-calendar-week-day {
	display: grid;
	grid-template-columns: 82px minmax(0, 1fr);
	gap: 12px;
	min-height: 62px;
	border-bottom: 1px solid #edf3f0;
	background: #ffffff;
	padding: 8px 11px;
	cursor: pointer;
	transition: background 0.15s ease, box-shadow 0.15s ease;
}

.tvh-calendar-week-day:last-child {
	border-bottom: 0;
}

.tvh-calendar-week-day:hover {
	background: #f7fbf9;
}

.tvh-calendar-week-day__date {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-content: start;
	align-items: baseline;
	column-gap: 7px;
	row-gap: 2px;
	min-width: 0;
}

.tvh-calendar-week-day__date strong {
	color: #0d2924;
	font-size: 20px;
	font-weight: 860;
	line-height: 1;
}

.tvh-calendar-week-day__date span {
	color: #0f7668;
	font-size: 11px;
	font-weight: 850;
	line-height: 1;
}

.tvh-calendar-week-day__date small {
	grid-column: 1 / -1;
	color: #64756f;
	font-size: 10px;
	font-weight: 720;
	line-height: 1.2;
}

.tvh-calendar-week-day__body {
	display: grid;
	align-content: center;
	gap: 5px;
	min-width: 0;
}

.tvh-calendar-week-day__body .tvh-calendar__events {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
	max-height: none;
	margin: 0;
	overflow: visible;
}

.tvh-calendar-week-day__empty {
	color: #7b8a85;
	font-size: 12px;
	font-weight: 650;
	line-height: 1.25;
}

.tvh-calendar-week-day.is-outside {
	background: #f8faf9;
	opacity: 0.58;
}

.tvh-calendar-week-day.is-selected {
	box-shadow: inset 3px 0 0 var(--tvh-primary);
}

.tvh-calendar-week-day.is-lunar-first {
	background: #effaf6;
}

.tvh-calendar-week-day.is-lunar-full {
	background: #fff9e8;
}

.tvh-calendar-week-day.is-holiday {
	background: #fff5f2;
}

@media (max-width: 1180px) {
	.tvh-calendar-stack--3 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tvh-app[data-page="calendar"] .tvh-filter {
		grid-template-columns: 76px 92px minmax(180px, 1fr) auto auto;
	}

	.tvh-app[data-page="calendar"] .tvh-filter .tvh-button {
		grid-column: 1 / -1;
		justify-self: end;
	}
}

@media (max-width: 980px) {
	.tvh-app[data-page="calendar"] .tvh-filter {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tvh-calendar-view-toggle,
	.tvh-calendar-mode-toggle,
	.tvh-app[data-page="calendar"] .tvh-filter .tvh-button {
		justify-self: stretch;
	}

	.tvh-app[data-page="calendar"] .tvh-filter .tvh-button {
		grid-column: auto;
	}

	.tvh-calendar-stack--3,
	.tvh-calendar-stack--12 {
		grid-template-columns: minmax(0, 1fr);
	}

	.tvh-app[data-page="calendar"] .tvh-calendar {
		grid-template-columns: repeat(7, minmax(76px, 1fr));
		overflow-x: auto;
	}
}

@media (max-width: 620px) {
	.tvh-app[data-page="calendar"] .tvh-calendar-panel {
		padding: 10px;
	}

	.tvh-app[data-page="calendar"] .tvh-filter {
		grid-template-columns: minmax(0, 1fr);
	}

	.tvh-calendar-week-day {
		grid-template-columns: minmax(0, 1fr);
		gap: 7px;
	}

	.tvh-calendar-week-day__date {
		grid-template-columns: auto auto minmax(0, 1fr);
	}

	.tvh-calendar-week-day__date small {
		grid-column: auto;
		justify-self: end;
		text-align: right;
	}

	.tvh-calendar-week-day__body .tvh-calendar__events {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Codex polish: floating mobile navigation and smoother app motion */
:root {
	--tvh-ease-snappy: cubic-bezier(0.2, 0, 0, 1);
	--tvh-ease-soft: cubic-bezier(0.22, 1, 0.36, 1);
}

html {
	scroll-behavior: smooth;
}

@media (prefers-reduced-motion: no-preference) {
	.tvh-main > section,
	.tvh-main > article,
	.tvh-main > .tvh-panel,
	.tvh-dashboard-widget,
	.tvh-task-card,
	.tvh-project-task-card,
	.tvh-note-card,
	.tvh-calendar__cell {
		animation: tvh-surface-in 220ms var(--tvh-ease-soft) both;
	}

	.tvh-button,
	.tvh-icon-button,
	.tvh-chip,
	.tvh-suggestion-chip,
	.tvh-task-presets a,
	.tvh-nav__item,
	.tvh-mobile-nav__item,
	.tvh-bottom-sheet__item,
	.tvh-dropdown__item,
	.tvh-panel,
	.tvh-dashboard-widget,
	.tvh-task-card,
	.tvh-project-task-card,
	.tvh-note-card,
	.tvh-calendar__cell {
		transition-timing-function: var(--tvh-ease-snappy);
	}
}

@keyframes tvh-surface-in {
	from {
		opacity: 0;
		transform: translateY(6px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@media (max-width: 782px) {
	:root {
		--tvh-mobile-nav-height: 76px;
		--tvh-mobile-nav-offset: 14px;
	}

	.tvh-main,
	.tvh-app .tvh-main,
	.tvh-app[data-page] .tvh-main {
		padding-bottom: calc(var(--tvh-mobile-nav-height) + var(--tvh-mobile-nav-offset) + env(safe-area-inset-bottom, 0px) + 20px);
	}

	.tvh-mobile-nav {
		left: max(12px, env(safe-area-inset-left, 0px));
		right: max(12px, env(safe-area-inset-right, 0px));
		bottom: max(12px, env(safe-area-inset-bottom, 0px));
		max-width: 520px;
		min-height: 64px;
		margin-inline: auto;
		padding: 6px;
		border: 1px solid rgba(216, 227, 225, 0.88);
		border-radius: 24px;
		background: linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(247, 252, 250, 0.9));
		box-shadow: 0 18px 44px rgba(17, 36, 31, 0.16), 0 4px 12px rgba(17, 36, 31, 0.08);
		backdrop-filter: blur(18px) saturate(1.12);
		-webkit-backdrop-filter: blur(18px) saturate(1.12);
		transform: translate3d(0, 0, 0);
		will-change: opacity, transform;
		transition: opacity 180ms var(--tvh-ease-snappy), transform 180ms var(--tvh-ease-snappy), box-shadow 180ms var(--tvh-ease-snappy);
	}

	body.tvh-input-focused .tvh-mobile-nav {
		opacity: 0.98;
		transform: translate3d(0, calc(100% + var(--tvh-mobile-nav-offset) + env(safe-area-inset-bottom, 0px)), 0);
	}

	body.tvh-mobile-nav-hidden .tvh-mobile-nav {
		opacity: 0;
		pointer-events: none;
		transform: translate3d(0, calc(100% + var(--tvh-mobile-nav-offset) + env(safe-area-inset-bottom, 0px)), 0);
	}

	.tvh-mobile-nav__item {
		position: relative;
		isolation: isolate;
		min-height: 52px;
		overflow: hidden;
		border-radius: 18px;
		background: transparent;
		color: #697b75;
		padding: 6px 2px;
		transform: translate3d(0, 0, 0);
		transition: color 160ms var(--tvh-ease-snappy), background-color 160ms var(--tvh-ease-snappy), transform 160ms var(--tvh-ease-snappy);
	}

	.tvh-mobile-nav__item::before {
		position: absolute;
		inset: 5px;
		z-index: -1;
		border-radius: 16px;
		background: transparent;
		content: "";
		opacity: 0;
		transform: scale(0.92);
		transition: opacity 160ms var(--tvh-ease-snappy), transform 160ms var(--tvh-ease-snappy), background-color 160ms var(--tvh-ease-snappy), box-shadow 160ms var(--tvh-ease-snappy);
	}

	.tvh-mobile-nav__item .tvh-lucide {
		width: 19px;
		height: 19px;
		stroke-width: 2.25;
		transition: transform 160ms var(--tvh-ease-snappy);
	}

	.tvh-mobile-nav__item span {
		font-size: 10.5px;
		font-weight: 800;
		line-height: 1.15;
	}

	.tvh-mobile-nav__item:hover,
	.tvh-mobile-nav__item:focus-visible {
		background: transparent;
		color: var(--tvh-primary-hover);
		transform: translateY(-1px);
	}

	.tvh-mobile-nav__item:hover::before,
	.tvh-mobile-nav__item:focus-visible::before {
		background: rgba(231, 241, 238, 0.82);
		opacity: 1;
		transform: scale(1);
	}

	.tvh-mobile-nav__item:active {
		transform: translateY(0) scale(0.98);
	}

	.tvh-mobile-nav__item.is-active,
	.tvh-mobile-nav__item[aria-current="page"] {
		background: transparent;
		color: var(--tvh-primary-hover);
	}

	.tvh-mobile-nav__item.is-active::before,
	.tvh-mobile-nav__item[aria-current="page"]::before {
		inset: 4px;
		background: linear-gradient(180deg, #e4f6f3, #d9efeb);
		box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75), 0 8px 18px rgba(23, 111, 102, 0.13);
		opacity: 1;
		transform: scale(1);
	}

	.tvh-mobile-nav__item.is-active .tvh-lucide,
	.tvh-mobile-nav__item[aria-current="page"] .tvh-lucide {
		transform: translateY(-1px);
	}
}

@supports not ((backdrop-filter: blur(18px)) or (-webkit-backdrop-filter: blur(18px))) {
	@media (max-width: 782px) {
		.tvh-mobile-nav {
			background: rgba(255, 255, 255, 0.98);
		}
	}
}

@media (max-width: 420px) {
	.tvh-mobile-nav {
		left: max(8px, env(safe-area-inset-left, 0px));
		right: max(8px, env(safe-area-inset-right, 0px));
		bottom: max(10px, env(safe-area-inset-bottom, 0px));
		border-radius: 22px;
		padding: 5px;
	}

	.tvh-mobile-nav__item {
		min-height: 50px;
		border-radius: 16px;
	}

	.tvh-mobile-nav__item span {
		font-size: 10px;
	}
}

/* Reports compact analytical view */
.tvh-app[data-page="reports"] .tvh-main {
	gap: 14px;
}

.tvh-report-head {
	align-items: center;
	gap: 12px;
}

.tvh-report-head .tvh-muted {
	margin: 5px 0 0;
	font-size: 12px;
	line-height: 1.35;
}

.tvh-report-filter {
	display: grid;
	grid-template-columns: 76px 94px minmax(190px, 260px) auto;
	align-items: end;
	gap: 7px;
	min-width: min(100%, 560px);
	margin: 0;
	padding: 8px;
	border: 1px solid #d7e3df;
	border-radius: 8px;
	background: #f8fbfa;
	box-shadow: 0 4px 14px rgba(17, 36, 31, 0.035);
}

.tvh-report-filter label {
	display: grid;
	gap: 3px;
	min-width: 0;
	color: #5a6863;
	font-size: 10px;
	font-weight: 800;
	line-height: 1.1;
	text-transform: uppercase;
}

.tvh-report-filter input,
.tvh-report-filter select {
	min-height: 32px;
	border-radius: 7px;
	padding: 5px 8px;
	font-size: 12px;
	font-weight: 650;
	line-height: 1.2;
}

.tvh-app[data-page="reports"] .tvh-button {
	min-height: 32px;
	border-radius: 7px;
	padding: 6px 10px;
	font-size: 12px;
	line-height: 1.15;
}

.tvh-report-kpis {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 8px;
	min-width: 0;
}

.tvh-report-kpi {
	min-height: 78px;
	padding: 10px 11px;
}

.tvh-report-kpi::after {
	width: 58px;
	height: 58px;
	inset: auto -20px -24px auto;
}

.tvh-report-kpi span {
	font-size: 11px;
	line-height: 1.2;
}

.tvh-report-kpi strong {
	margin-top: 4px;
	font-size: clamp(18px, 1.45vw, 23px);
	line-height: 1.12;
}

.tvh-report-kpi small {
	position: relative;
	z-index: 1;
	display: block;
	margin-top: 4px;
	color: var(--tvh-muted);
	font-size: 10.5px;
	font-weight: 560;
	line-height: 1.25;
}

.tvh-report-insights {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 8px;
	min-width: 0;
}

.tvh-report-insight {
	display: flex;
	align-items: flex-start;
	gap: 9px;
	min-width: 0;
	padding: 9px 10px;
	border: 1px solid #dce3df;
	border-radius: 8px;
	background: #ffffff;
	box-shadow: var(--tvh-shadow-xs);
}

.tvh-report-insight__icon {
	display: grid;
	place-items: center;
	width: 28px;
	height: 28px;
	border-radius: 7px;
	background: #eef4f8;
	color: #3e668d;
	flex: 0 0 auto;
}

.tvh-report-insight--success .tvh-report-insight__icon {
	background: var(--tvh-success-soft);
	color: var(--tvh-success);
}

.tvh-report-insight--warning .tvh-report-insight__icon {
	background: var(--tvh-warning-soft);
	color: var(--tvh-warning);
}

.tvh-report-insight--danger .tvh-report-insight__icon {
	background: var(--tvh-danger-soft);
	color: var(--tvh-danger);
}

.tvh-report-insight strong,
.tvh-report-insight small {
	display: block;
	min-width: 0;
}

.tvh-report-insight strong {
	font-size: 12.5px;
	line-height: 1.2;
}

.tvh-report-insight small {
	margin-top: 3px;
	color: var(--tvh-muted);
	font-size: 11px;
	line-height: 1.3;
}

.tvh-report-layout {
	display: grid;
	gap: 12px;
	min-width: 0;
}

.tvh-report-layout--2 {
	grid-template-columns: minmax(0, 1.12fr) minmax(300px, 0.88fr);
}

.tvh-report-layout--wide {
	grid-template-columns: minmax(0, 1.32fr) minmax(310px, 0.78fr);
}

.tvh-report-layout--3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tvh-app[data-page="reports"] .tvh-panel {
	padding: 12px;
}

.tvh-app[data-page="reports"] .tvh-panel__head {
	align-items: center;
	margin-bottom: 10px;
	padding-bottom: 8px;
	border-bottom: 1px solid #e2e7e3;
}

.tvh-app[data-page="reports"] .tvh-panel__head h3 {
	font-size: 14.5px;
	line-height: 1.2;
}

.tvh-app[data-page="reports"] .tvh-panel__head .tvh-muted,
.tvh-app[data-page="reports"] .tvh-panel__head span {
	font-size: 11px;
	line-height: 1.25;
}

.tvh-report-panel h4 {
	margin: 12px 0 7px;
	color: #42514b;
	font-size: 11px;
	font-weight: 820;
	line-height: 1.15;
	text-transform: uppercase;
}

.tvh-report-bars {
	display: grid;
	gap: 7px;
}

.tvh-report-bar-row {
	display: grid;
	grid-template-columns: 92px minmax(90px, 1fr) 34px 38px;
	align-items: center;
	gap: 8px;
	min-width: 0;
	font-size: 12px;
	line-height: 1.2;
}

.tvh-report-bar-row > span {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.tvh-report-bar-row .tvh-bar {
	min-width: 0;
	height: 12px;
}

.tvh-report-bar-row strong,
.tvh-report-bar-row em {
	font-size: 11px;
	font-style: normal;
	font-weight: 760;
	text-align: right;
}

.tvh-report-subgrid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	min-width: 0;
	margin-top: 12px;
}

.tvh-report-facts {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 6px;
}

.tvh-report-facts--security {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tvh-report-facts > div {
	min-width: 0;
	padding: 8px;
	border: 1px solid #e0e7e3;
	border-radius: 7px;
	background: #fbfdfc;
}

.tvh-report-facts span {
	display: block;
	color: var(--tvh-muted);
	font-size: 10.5px;
	font-weight: 690;
	line-height: 1.2;
}

.tvh-report-facts strong {
	display: block;
	margin-top: 3px;
	font-size: 16px;
	line-height: 1.1;
}

.tvh-report-mini-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 12px;
	line-height: 1.25;
}

.tvh-report-mini-table th,
.tvh-report-mini-table td {
	padding: 6px 6px;
	border-bottom: 1px solid #e4e8e4;
	text-align: left;
	vertical-align: middle;
}

.tvh-report-mini-table th {
	color: var(--tvh-muted);
	font-size: 10px;
	font-weight: 800;
	text-transform: uppercase;
}

.tvh-report-mini-table tr:last-child td {
	border-bottom: 0;
}

.tvh-app[data-page="reports"] .tvh-badge {
	padding: 3px 7px;
	font-size: 10px;
	line-height: 1.2;
}

.tvh-report-strength {
	display: flex;
	height: 9px;
	margin: 10px 0 2px;
	overflow: hidden;
	border-radius: var(--tvh-radius-pill);
	background: #ecefeb;
}

.tvh-report-strength span {
	min-width: 2px;
}

.tvh-report-strength .is-strong { background: var(--tvh-success); }
.tvh-report-strength .is-medium { background: #c08a2f; }
.tvh-report-strength .is-weak { background: var(--tvh-danger); }

.tvh-report-list {
	display: grid;
	gap: 0;
	min-width: 0;
}

.tvh-report-list__item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	min-width: 0;
	padding: 8px 0;
	border-bottom: 1px solid #e4e8e4;
	color: inherit;
	font-size: 12px;
	line-height: 1.25;
}

.tvh-report-list__item:last-child {
	border-bottom: 0;
}

a.tvh-report-list__item:hover {
	color: inherit;
	text-decoration: none;
}

.tvh-report-list__item > span:first-child {
	min-width: 0;
}

.tvh-report-list__item strong {
	display: block;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.tvh-report-list__item small {
	display: block;
	margin-top: 2px;
	color: var(--tvh-muted);
	font-size: 10.5px;
	line-height: 1.25;
}

.tvh-report-list--money .tvh-report-list__item > span:last-child {
	font-weight: 800;
	text-align: right;
	white-space: nowrap;
}

.tvh-app[data-page="reports"] .tvh-table {
	min-width: 720px;
}

.tvh-app[data-page="reports"] .tvh-table th,
.tvh-app[data-page="reports"] .tvh-table td {
	padding: 7px 9px;
	font-size: 12px;
	line-height: 1.25;
}

.tvh-app[data-page="reports"] .tvh-table th {
	font-size: 10px;
	letter-spacing: 0.04em;
}

.tvh-app[data-page="reports"] .tvh-table td small {
	margin-top: 2px;
	font-size: 10.5px;
	line-height: 1.2;
}

.tvh-report-money {
	display: grid;
	gap: 3px;
	min-width: 0;
	font-weight: 760;
}

.tvh-report-money i {
	display: block;
	height: 3px;
	border-radius: var(--tvh-radius-pill);
	background: currentColor;
	opacity: 0.34;
}

.tvh-report-table--company {
	min-width: 980px !important;
}

.tvh-report-status-chip {
	display: inline-flex;
	max-width: 220px;
	border-radius: var(--tvh-radius-pill);
	background: #eef4f8;
	color: #3e668d;
	padding: 3px 7px;
	font-size: 10.5px;
	font-weight: 760;
	line-height: 1.2;
}

.tvh-report-company-panel .tvh-actions {
	gap: 6px;
}

.tvh-report-company-panel form {
	display: inline-flex;
}

.tvh-report-decision-row .tvh-panel__head {
	margin-bottom: 8px;
}

.tvh-report-action-list,
.tvh-report-hotspots {
	display: grid;
	gap: 6px;
}

.tvh-report-action,
.tvh-report-hotspot {
	position: relative;
	display: grid;
	gap: 2px;
	min-width: 0;
	border: 1px solid #e0e7e3;
	border-radius: 7px;
	background: #fbfdfc;
	color: inherit;
	padding: 8px 9px 8px 22px;
	text-decoration: none;
}

.tvh-report-action:hover,
.tvh-report-hotspot:hover {
	border-color: #bfd4cd;
	background: #f4faf7;
	text-decoration: none;
}

.tvh-report-action > span {
	position: absolute;
	top: 10px;
	left: 9px;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #6b7b75;
}

.tvh-report-action--success > span { background: var(--tvh-success); }
.tvh-report-action--info > span { background: var(--tvh-info); }
.tvh-report-action--warning > span { background: var(--tvh-warning); }
.tvh-report-action--danger > span { background: var(--tvh-danger); }

.tvh-report-action strong,
.tvh-report-hotspot strong {
	min-width: 0;
	overflow: hidden;
	color: var(--tvh-text);
	font-size: 12px;
	line-height: 1.2;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.tvh-report-action small,
.tvh-report-hotspot span {
	min-width: 0;
	overflow: hidden;
	color: var(--tvh-muted);
	font-size: 10.5px;
	line-height: 1.25;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.tvh-report-hotspot {
	padding-left: 9px;
}

.tvh-report-compare-table td {
	white-space: nowrap;
}

.tvh-report-delta {
	display: inline-flex;
	border-radius: var(--tvh-radius-pill);
	padding: 2px 6px;
	background: #eef4f8;
	color: #3e668d;
	font-size: 10.5px;
	font-weight: 800;
	line-height: 1.15;
}

.tvh-report-delta--good {
	background: var(--tvh-success-soft);
	color: var(--tvh-success);
}

.tvh-report-delta--bad {
	background: var(--tvh-danger-soft);
	color: var(--tvh-danger);
}

@media (max-width: 1280px) {
	.tvh-report-kpis {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.tvh-report-insights {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 980px) {
	.tvh-report-head {
		align-items: stretch;
		flex-direction: column;
	}

	.tvh-report-filter {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		width: 100%;
	}

	.tvh-report-layout--2,
	.tvh-report-layout--wide,
	.tvh-report-layout--3 {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 680px) {
	.tvh-report-subgrid,
	.tvh-report-facts {
		grid-template-columns: minmax(0, 1fr);
	}

	.tvh-report-facts--security {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 7px;
	}

	.tvh-report-insights {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 7px;
	}

	.tvh-report-insight {
		gap: 7px;
		padding: 8px;
	}

	.tvh-report-insight__icon {
		width: 25px;
		height: 25px;
	}

	.tvh-report-insight strong {
		font-size: 11.5px;
	}

	.tvh-report-insight small {
		font-size: 10px;
	}

	.tvh-report-action-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 7px;
	}

	.tvh-report-action {
		min-height: 62px;
		padding: 8px 8px 8px 20px;
	}

	.tvh-report-action > span {
		left: 8px;
	}

	.tvh-report-action strong,
	.tvh-report-action small {
		overflow-wrap: anywhere;
		white-space: normal;
	}

	.tvh-report-kpis {
		grid-template-columns: repeat(6, minmax(112px, 1fr));
		overflow-x: auto;
		overscroll-behavior-x: contain;
		padding-bottom: 2px;
		scroll-snap-type: x proximity;
		-webkit-overflow-scrolling: touch;
	}

	.tvh-report-kpi {
		min-height: 74px;
		padding: 9px 10px;
		scroll-snap-align: start;
	}

	.tvh-app[data-page="reports"] .tvh-report-table--finance {
		min-width: max(100%, 390px);
		table-layout: fixed;
	}

	.tvh-app[data-page="reports"] .tvh-report-table--finance th,
	.tvh-app[data-page="reports"] .tvh-report-table--finance td {
		padding-inline: 6px;
	}

	.tvh-app[data-page="reports"] .tvh-report-table--finance th:first-child,
	.tvh-app[data-page="reports"] .tvh-report-table--finance td:first-child {
		width: 22%;
	}

	.tvh-app[data-page="reports"] .tvh-report-table--finance th:not(:first-child),
	.tvh-app[data-page="reports"] .tvh-report-table--finance td:not(:first-child) {
		width: 26%;
	}

	.tvh-report-filter {
		grid-template-columns: 48px 60px minmax(84px, 1fr) 56px;
		align-items: end;
		gap: 4px;
		padding: 6px;
	}

	.tvh-report-filter label {
		font-size: 9px;
	}

	.tvh-report-filter input,
	.tvh-report-filter select,
	.tvh-report-filter .tvh-button {
		width: 100%;
		min-width: 0;
		min-height: 30px;
		padding: 4px 6px;
		font-size: 11px;
	}

	.tvh-report-filter .tvh-button {
		gap: 4px;
	}

	.tvh-report-bar-row {
		grid-template-columns: 82px minmax(76px, 1fr) 28px 32px;
		gap: 6px;
	}

	.tvh-report-list__item {
		align-items: flex-start;
	}
}

.tvh-app[data-page="calendar"] .tvh-calendar-stack--3 .tvh-calendar__cell {
	min-height: 82px;
}

.tvh-app[data-page="calendar"] .tvh-calendar-stack--12 {
	grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}

.tvh-app[data-page="calendar"] .tvh-calendar-stack--12 .tvh-calendar__cell {
	min-height: 58px;
	padding: 5px;
}

.tvh-app[data-page="calendar"] .tvh-calendar-stack--12 .tvh-calendar__date strong {
	font-size: 13px;
}

.tvh-app[data-page="calendar"] .tvh-calendar-stack--12 .tvh-calendar__date small {
	max-width: 42px;
	font-size: 9px;
}

.tvh-app[data-page="calendar"] .tvh-calendar-stack--12 .tvh-calendar__markers {
	margin-top: 2px;
}

.tvh-app[data-page="calendar"] .tvh-calendar-stack--12 .tvh-calendar__events {
	max-height: 28px;
	margin-top: 2px;
	overflow: hidden;
}

.tvh-app[data-page="calendar"] .tvh-calendar-stack--12 .tvh-calendar__event {
	min-height: 18px;
	padding: 2px 4px;
}

.tvh-app[data-page="calendar"] .tvh-calendar-stack--12 .tvh-calendar__event small,
.tvh-app[data-page="calendar"] .tvh-calendar-stack--12 .tvh-calendar__event strong {
	font-size: 9px;
}

.tvh-app[data-page="calendar"] .tvh-calendar-stack--12 .tvh-calendar__badge,
.tvh-app[data-page="calendar"] .tvh-calendar-stack--12 .tvh-calendar__holiday {
	padding: 2px 4px;
	font-size: 8px;
}

@media (max-width: 980px) {
	.tvh-app[data-page="calendar"] .tvh-calendar-stack--12 {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Calendar visual polish */
.tvh-app[data-page="calendar"] .tvh-filter {
	grid-template-columns: 76px 92px minmax(220px, 1fr) auto auto 74px;
	align-items: center;
	gap: 10px;
	padding: 9px;
	border-color: #d7e7e1;
	background: #f8fcfa;
}

.tvh-calendar-view-toggle,
.tvh-calendar-mode-toggle {
	align-items: center;
	border: 1px solid #d7e7e1;
	background: #eef7f4;
	padding: 4px;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.78);
}

.tvh-calendar-view-toggle span,
.tvh-calendar-mode-toggle span {
	border-color: transparent;
	background: transparent;
	color: #38554e;
}

.tvh-calendar-view-toggle input:checked + span,
.tvh-calendar-mode-toggle input:checked + span {
	border-color: #0f7668;
	background: #ffffff;
	color: #075e54;
	box-shadow: 0 4px 12px rgba(15, 118, 104, 0.12);
}

.tvh-calendar-mode-toggle span {
	width: 42px;
	min-width: 42px;
	min-height: 34px;
	padding: 0;
	justify-content: center;
}

.tvh-calendar-mode-toggle .tvh-lucide {
	width: 18px;
	height: 18px;
	stroke-width: 2.4;
}

.tvh-app[data-page="calendar"] .tvh-calendar-stack--3 {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 430px), 1fr));
	gap: 16px;
}

.tvh-app[data-page="calendar"] .tvh-calendar-stack--12 {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 292px), 1fr));
	gap: 14px;
}

.tvh-app[data-page="calendar"] .tvh-calendar-month {
	border-color: #d7e7e1;
	background: linear-gradient(180deg, #ffffff 0%, #fbfdfc 100%);
	padding: 10px;
}

.tvh-app[data-page="calendar"] .tvh-calendar-month h3 {
	color: #082f2b;
	font-size: 14px;
}

.tvh-app[data-page="calendar"] .tvh-calendar {
	gap: 6px;
}

.tvh-app[data-page="calendar"] .tvh-calendar__cell {
	display: grid;
	grid-template-rows: auto auto minmax(0, 1fr);
	align-content: start;
	min-height: 104px;
	border-color: #d8e8e2;
	background: #fcfefd;
	padding: 7px;
}

.tvh-app[data-page="calendar"] .tvh-calendar-stack--1 .tvh-calendar__cell {
	min-height: 116px;
}

.tvh-app[data-page="calendar"] .tvh-calendar-stack--3 .tvh-calendar__cell {
	min-height: 112px;
}

.tvh-calendar__date {
	align-items: flex-start;
}

.tvh-calendar__date strong {
	color: #092f2a;
}

.tvh-calendar__date small {
	max-width: none;
	min-width: 36px;
	color: #5f756e;
	text-align: right;
	white-space: nowrap;
}

.tvh-calendar__markers {
	align-items: flex-start;
	margin-top: 5px;
}

.tvh-calendar__badge,
.tvh-calendar__holiday {
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.tvh-app[data-page="calendar"] .tvh-calendar__events {
	align-self: start;
	max-height: 68px;
	overflow-y: auto;
	scrollbar-width: thin;
}

.tvh-app[data-page="calendar"] .tvh-calendar__event {
	min-width: 0;
}

.tvh-app[data-page="calendar"] .tvh-calendar-stack--12 .tvh-calendar {
	gap: 5px;
}

.tvh-app[data-page="calendar"] .tvh-calendar-stack--12 .tvh-calendar__cell {
	grid-template-rows: auto auto minmax(0, 1fr);
	min-height: 66px;
	padding: 5px;
	border-radius: 7px;
}

.tvh-app[data-page="calendar"] .tvh-calendar-stack--12 .tvh-calendar__date {
	justify-content: center;
	gap: 3px;
}

.tvh-app[data-page="calendar"] .tvh-calendar-stack--12 .tvh-calendar__date strong {
	font-size: 14px;
}

.tvh-app[data-page="calendar"] .tvh-calendar-stack--12 .tvh-calendar__date small {
	display: none;
}

.tvh-app[data-page="calendar"] .tvh-calendar-stack--12 .tvh-calendar__markers {
	min-height: 9px;
	align-items: center;
	justify-content: center;
	gap: 3px;
	margin-top: 4px;
}

.tvh-app[data-page="calendar"] .tvh-calendar-stack--12 .tvh-calendar__badge,
.tvh-app[data-page="calendar"] .tvh-calendar-stack--12 .tvh-calendar__holiday {
	width: 8px;
	height: 8px;
	max-width: 8px;
	border-radius: 999px;
	padding: 0;
	overflow: hidden;
	text-indent: 14px;
	white-space: nowrap;
}

.tvh-app[data-page="calendar"] .tvh-calendar-stack--12 .tvh-calendar__events {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 3px;
	max-height: 18px;
	margin-top: 4px;
	padding: 0;
	overflow: hidden;
}

.tvh-app[data-page="calendar"] .tvh-calendar-stack--12 .tvh-calendar__event {
	width: 9px;
	min-width: 9px;
	height: 9px;
	min-height: 9px;
	border: 0;
	border-radius: 999px;
	background: var(--event-color, var(--tvh-primary));
	padding: 0;
	box-shadow: none;
}

.tvh-app[data-page="calendar"] .tvh-calendar-stack--12 .tvh-calendar__event small,
.tvh-app[data-page="calendar"] .tvh-calendar-stack--12 .tvh-calendar__event strong {
	display: none;
}

.tvh-calendar-week-list {
	gap: 14px;
}

.tvh-calendar-week {
	border-color: #d7e7e1;
	background: #ffffff;
	box-shadow: 0 10px 24px rgba(17, 36, 31, 0.06);
}

.tvh-calendar-week__head {
	background: #eef8f5;
	padding: 10px 12px;
}

.tvh-calendar-week__head span,
.tvh-calendar-week__head strong {
	color: #063f38;
}

.tvh-calendar-week-day {
	grid-template-columns: 86px minmax(0, 1fr);
	gap: 14px;
	min-height: 70px;
	padding: 10px 12px;
}

.tvh-calendar-week-day__date {
	grid-template-columns: auto minmax(0, 1fr);
	align-items: start;
}

.tvh-calendar-week-day__date strong {
	font-size: 22px;
}

.tvh-calendar-week-day__date small {
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.tvh-calendar-week-day__body {
	align-content: center;
}

.tvh-calendar-week-day__body .tvh-calendar__markers {
	margin: 0;
}

.tvh-calendar-week-day__body .tvh-calendar__events {
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 6px;
}

.tvh-calendar-week-day__empty {
	color: #70827c;
}

@media (max-width: 1180px) {
	.tvh-app[data-page="calendar"] .tvh-calendar-stack--3 {
		grid-template-columns: repeat(2, minmax(280px, 1fr));
	}

	.tvh-app[data-page="calendar"] .tvh-filter {
		grid-template-columns: 76px 92px minmax(180px, 1fr) auto auto;
	}
}

@media (max-width: 980px) {
	.tvh-app[data-page="calendar"] .tvh-filter {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tvh-calendar-view-toggle,
	.tvh-calendar-mode-toggle,
	.tvh-app[data-page="calendar"] .tvh-filter .tvh-button {
		justify-self: stretch;
	}

	.tvh-calendar-view-toggle,
	.tvh-calendar-mode-toggle {
		justify-content: center;
	}

	.tvh-app[data-page="calendar"] .tvh-calendar-stack--3,
	.tvh-app[data-page="calendar"] .tvh-calendar-stack--12 {
		grid-template-columns: minmax(0, 1fr);
	}

	.tvh-app[data-page="calendar"] .tvh-calendar {
		grid-template-columns: repeat(7, minmax(82px, 1fr));
		overflow-x: auto;
	}

	.tvh-app[data-page="calendar"] .tvh-calendar-stack--12 .tvh-calendar__cell {
		min-height: 82px;
	}
}

@media (max-width: 620px) {
	.tvh-app[data-page="calendar"] .tvh-filter {
		grid-template-columns: minmax(0, 1fr);
	}

	.tvh-calendar-view-toggle,
	.tvh-calendar-mode-toggle {
		justify-content: flex-start;
		overflow-x: auto;
	}

	.tvh-calendar-week-day {
		grid-template-columns: minmax(0, 1fr);
		gap: 8px;
	}

	.tvh-calendar-week-day__date {
		grid-template-columns: auto auto minmax(0, 1fr);
	}

	.tvh-calendar-week-day__date small {
		grid-column: auto;
		justify-self: end;
		text-align: right;
	}

	.tvh-calendar-week-day__body .tvh-calendar__events {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Compact mobile task controls */
@media (max-width: 620px) {
	.tvh-app[data-page="tasks"] .tvh-main {
		gap: 10px;
		padding-inline: 10px;
	}

	.tvh-app[data-page="tasks"] .tvh-page-head--workspace {
		display: grid;
		grid-template-columns: max-content minmax(0, 1fr);
		align-items: center;
		gap: 10px;
		padding-bottom: 8px;
	}

	.tvh-app[data-page="tasks"] .tvh-page-head--workspace > div:first-child {
		width: max-content;
		max-width: none;
	}

	.tvh-app[data-page="tasks"] .tvh-page-head--workspace .tvh-eyebrow {
		margin-bottom: 2px;
		font-size: 10px;
		line-height: 1.15;
	}

	.tvh-app[data-page="tasks"] .tvh-page-head--workspace h2 {
		margin: 0;
		font-size: 21px;
		line-height: 1.15;
		white-space: nowrap;
	}

	.tvh-app[data-page="tasks"] .tvh-page-head--workspace .tvh-actions {
		width: auto;
		max-width: 100%;
		justify-self: end;
		flex-wrap: nowrap;
		justify-content: flex-end;
		gap: 6px;
		overflow-x: auto;
		overflow-y: hidden;
		scrollbar-width: none;
	}

	.tvh-app[data-page="tasks"] .tvh-page-head--workspace .tvh-actions::-webkit-scrollbar {
		display: none;
	}

	.tvh-app[data-page="tasks"] .tvh-page-head--workspace .tvh-action-icon {
		width: 40px;
		height: 40px;
		min-height: 40px;
		flex-basis: 40px;
		border-radius: 12px;
	}

	.tvh-app[data-page="tasks"] .tvh-page-head--workspace .tvh-task-presets--mobile {
		display: flex;
		flex: 0 1 auto;
		min-width: 0;
		max-width: calc(100vw - 66px);
		flex-wrap: nowrap;
		justify-content: flex-end;
		gap: 6px;
		margin: 0;
		padding: 1px 0 3px;
		overflow-x: auto;
		overscroll-behavior-inline: contain;
		scrollbar-width: none;
	}

	.tvh-app[data-page="tasks"] .tvh-page-head--workspace .tvh-task-presets--mobile::-webkit-scrollbar {
		display: none;
	}

	.tvh-app[data-page="tasks"] .tvh-task-workspace {
		gap: 8px;
	}

	.tvh-app[data-page="tasks"] .tvh-task-toolbar {
		grid-template-columns: minmax(0, 1fr) 40px 90px;
		gap: 6px;
		padding: 8px;
		border-radius: 14px;
		background: rgba(255, 255, 255, 0.94);
	}

	.tvh-app[data-page="tasks"] .tvh-task-toolbar__search,
	.tvh-app[data-page="tasks"] .tvh-task-view-toggle {
		grid-column: auto;
	}

	.tvh-app[data-page="tasks"] .tvh-task-toolbar__search input {
		min-height: 40px;
		padding: 8px 10px 8px 32px;
		border-radius: 11px;
		font-size: 13px;
	}

	.tvh-app[data-page="tasks"] .tvh-task-toolbar__search .tvh-lucide {
		left: 10px;
		width: 15px;
		height: 15px;
	}

	.tvh-app[data-page="tasks"] .tvh-task-toolbar > .tvh-action-icon {
		width: 40px;
		height: 40px;
		min-height: 40px;
		border-radius: 11px;
	}

	.tvh-app[data-page="tasks"] .tvh-task-view-toggle {
		min-width: 90px;
		justify-self: end;
		padding: 2px;
		border-radius: 12px;
	}

	.tvh-app[data-page="tasks"] .tvh-task-view-toggle span {
		width: 40px;
		height: 34px;
		min-width: 40px;
		min-height: 34px;
		border-radius: 10px;
	}

	.tvh-app[data-page="tasks"] .tvh-task-presets {
		flex-wrap: nowrap;
		gap: 6px;
		margin-inline: -2px;
		padding: 1px 2px 4px;
		overflow-x: auto;
		scrollbar-width: none;
	}

	.tvh-app[data-page="tasks"] .tvh-task-presets--inline {
		display: none;
	}

	.tvh-app[data-page="tasks"] .tvh-task-presets::-webkit-scrollbar {
		display: none;
	}

	.tvh-app[data-page="tasks"] .tvh-task-presets a {
		width: 36px;
		min-width: 36px;
		min-height: 36px;
		padding: 0;
		border-radius: 50%;
		box-shadow: none;
	}
}

@media (max-width: 380px) {
	.tvh-app[data-page="tasks"] .tvh-task-toolbar {
		grid-template-columns: minmax(0, 1fr) 40px;
	}

	.tvh-app[data-page="tasks"] .tvh-task-view-toggle {
		grid-column: 1 / -1;
		justify-self: start;
	}
}

/* Compact mobile notes controls */
@media (max-width: 620px) {
	.tvh-app[data-page="notes"] .tvh-main {
		gap: 10px;
		padding-inline: 10px;
	}

	.tvh-app[data-page="notes"] .tvh-notes-head {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: center;
		gap: 8px;
	}

	.tvh-app[data-page="notes"] .tvh-notes-head .tvh-eyebrow {
		margin-bottom: 2px;
		font-size: 10px;
		line-height: 1.15;
	}

	.tvh-app[data-page="notes"] .tvh-notes-head h2 {
		margin: 0;
		font-size: 21px;
		line-height: 1.15;
	}

	.tvh-app[data-page="notes"] .tvh-notes-head .tvh-actions {
		display: flex;
		align-items: center;
		justify-content: flex-end;
		gap: 8px;
		width: auto;
		min-width: max-content;
	}

	.tvh-app[data-page="notes"] .tvh-notes-head .tvh-button {
		width: 40px;
		min-width: 40px;
		min-height: 40px;
		padding: 0;
		border-radius: 12px;
		font-size: 13px;
		line-height: 1.2;
		white-space: nowrap;
	}

	.tvh-app[data-page="notes"] .tvh-notes-head .tvh-button span {
		display: none;
	}

	.tvh-app[data-page="notes"] .tvh-notes-head .tvh-lucide {
		width: 16px;
		height: 16px;
		flex: 0 0 16px;
	}

	.tvh-app[data-page="notes"] .tvh-notes-workspace {
		gap: 10px;
	}

	.tvh-app[data-page="notes"] .tvh-note-templates {
		flex-wrap: nowrap;
		gap: 3px;
	}

	.tvh-app[data-page="notes"] .tvh-note-templates button {
		flex: 1 1 0;
		min-width: 0;
		min-height: 34px;
		padding: 5px 0;
		font-size: clamp(9px, 2.5vw, 10px);
		line-height: 1.15;
		white-space: nowrap;
	}

	.tvh-app[data-page="notes"] .tvh-note-toolbar {
		gap: 6px;
	}

	.tvh-app[data-page="notes"] .tvh-note-toolbar button {
		width: 34px;
		min-height: 32px;
		border-radius: 8px;
	}

	.tvh-app[data-page="notes"] .tvh-note-toolbar button .tvh-lucide {
		width: 16px;
		height: 16px;
	}

	.tvh-app[data-page="notes"] .tvh-note-checks {
		flex-wrap: nowrap;
		gap: 12px;
	}

	.tvh-app[data-page="notes"] .tvh-note-checks label {
		display: inline-flex;
		align-items: center;
		gap: 5px;
		white-space: nowrap;
	}

	.tvh-app[data-page="notes"] .tvh-note-checks input[type="checkbox"] {
		flex: 0 0 auto;
		margin: 0;
	}

	.tvh-app[data-page="notes"] .tvh-note-editor--modal.is-color-picker-active {
		overflow: visible;
		padding-bottom: 420px;
		padding-bottom: min(420px, 52dvh);
	}

	.tvh-app[data-page="notes"] .tvh-notes-rail {
		gap: 9px;
		padding: 10px;
		border-radius: 14px;
	}

	.tvh-app[data-page="notes"] .tvh-note-search {
		grid-template-columns: minmax(0, 1fr) 40px;
		gap: 7px;
	}

	.tvh-app[data-page="notes"] .tvh-note-search input,
	.tvh-app[data-page="notes"] .tvh-note-search .tvh-icon-button {
		min-height: 40px;
		border-radius: 11px;
	}

	.tvh-app[data-page="notes"] .tvh-note-search input {
		padding: 8px 11px;
		font-size: 13px;
	}

	.tvh-app[data-page="notes"] .tvh-note-groups {
		gap: 6px;
		margin-inline: -2px;
		padding: 0 2px 2px;
	}

	.tvh-app[data-page="notes"] .tvh-note-group {
		flex: 0 0 auto;
		min-width: 108px;
		min-height: 36px;
		padding: 7px 9px;
		border: 1px solid transparent;
		font-size: 13px;
	}

	.tvh-app[data-page="notes"] .tvh-note-group.is-active {
		border-color: color-mix(in srgb, var(--tvh-primary) 18%, var(--tvh-border));
	}

	.tvh-app[data-page="notes"] .tvh-note-group span {
		gap: 6px;
	}

	.tvh-app[data-page="notes"] .tvh-note-group .tvh-lucide {
		width: 15px;
		height: 15px;
		flex: 0 0 15px;
	}

	.tvh-app[data-page="notes"] .tvh-note-group em {
		font-size: 11px;
	}

	.tvh-app[data-page="notes"] .tvh-note-filters {
		grid-template-columns: minmax(112px, 1.18fr) minmax(92px, 1fr) minmax(84px, 0.92fr) 64px;
		align-items: end;
		gap: 6px;
		overflow-x: auto;
		padding-bottom: 2px;
		scrollbar-width: none;
	}

	.tvh-app[data-page="notes"] .tvh-note-filters::-webkit-scrollbar {
		display: none;
	}

	.tvh-app[data-page="notes"] .tvh-note-filters label {
		gap: 4px;
		min-width: 0;
		font-size: 11px;
		line-height: 1.2;
	}

	.tvh-app[data-page="notes"] .tvh-note-filters input,
	.tvh-app[data-page="notes"] .tvh-note-filters select,
	.tvh-app[data-page="notes"] .tvh-note-filters .tvh-button {
		width: 100%;
		min-height: 38px;
		border-radius: 11px;
		padding-inline: 8px;
		padding-block: 7px;
		font-size: 12.5px;
	}

	.tvh-app[data-page="notes"] .tvh-note-filters .tvh-button {
		min-width: 64px;
		margin-top: 0;
	}

	.tvh-app[data-page="notes"] .tvh-note-filter-chips {
		display: flex;
		flex-wrap: nowrap;
		gap: 6px;
		margin-inline: -2px;
		padding: 1px 2px 2px;
		overflow-x: auto;
		scrollbar-width: none;
	}

	.tvh-app[data-page="notes"] .tvh-note-filter-chips .tvh-note-chip-cloud,
	.tvh-app[data-page="notes"] .tvh-note-filter-chips .tvh-note-tag-cloud {
		display: contents;
	}

	.tvh-app[data-page="notes"] .tvh-note-filter-chips::-webkit-scrollbar {
		display: none;
	}

	.tvh-app[data-page="notes"] .tvh-note-chip-cloud a,
	.tvh-app[data-page="notes"] .tvh-note-tag-cloud a {
		flex: 0 0 auto;
		width: auto;
		min-height: 28px;
		padding: 5px 9px;
		white-space: nowrap;
	}

	.tvh-app[data-page="notes"] .tvh-note-daily {
		gap: 9px;
		padding: 14px 14px 14px 17px;
	}

	.tvh-app[data-page="notes"] .tvh-note-daily strong {
		font-size: 17px;
	}

	.tvh-app[data-page="notes"] .tvh-note-daily > p {
		font-size: 14px;
	}

	.tvh-app[data-page="notes"] .tvh-note-daily small {
		min-height: 26px;
		padding: 4px 9px;
	}

	.tvh-app[data-page="notes"] .tvh-note-daily a {
		min-height: 32px;
		padding: 7px 11px;
	}
}

@media (max-width: 380px) {
	.tvh-app[data-page="notes"] .tvh-notes-head .tvh-button {
		gap: 5px;
		padding: 0;
		font-size: 12px;
	}
}

@media (max-width: 340px) {
	.tvh-app[data-page="notes"] .tvh-note-templates {
		overflow-x: auto;
		scrollbar-width: none;
	}

	.tvh-app[data-page="notes"] .tvh-note-templates::-webkit-scrollbar {
		display: none;
	}

	.tvh-app[data-page="notes"] .tvh-note-templates button {
		flex: 0 0 auto;
		padding-inline: 6px;
		font-size: 10px;
	}
}

/* Compact mobile calendar controls */
@media (max-width: 620px) {
	.tvh-app[data-page="calendar"] .tvh-main {
		gap: 10px;
		padding-inline: 10px;
	}

	.tvh-app[data-page="calendar"] .tvh-page-head {
		flex-direction: row;
		align-items: center;
		gap: 10px;
	}

	.tvh-app[data-page="calendar"] .tvh-page-head > div {
		flex: 1 1 auto;
		min-width: 0;
	}

	.tvh-app[data-page="calendar"] .tvh-page-head .tvh-eyebrow {
		margin-bottom: 2px;
		font-size: 10px;
		line-height: 1.15;
	}

	.tvh-app[data-page="calendar"] .tvh-page-head h2 {
		margin: 0;
		font-size: 20px;
		line-height: 1.15;
	}

	.tvh-app[data-page="calendar"] .tvh-page-head .tvh-button {
		width: auto;
		min-height: 40px;
		padding: 7px 10px;
		border-radius: 12px;
		font-size: 13px;
		line-height: 1.2;
		white-space: nowrap;
	}

	.tvh-app[data-page="calendar"] .tvh-calendar-panel {
		padding: 10px;
		border-radius: 14px;
	}

	.tvh-app[data-page="calendar"] .tvh-filter {
		grid-template-columns: minmax(44px, 0.64fr) minmax(58px, 0.82fr) minmax(36px, 0.5fr) minmax(36px, 0.5fr) minmax(54px, 0.75fr) minmax(54px, 0.75fr);
		gap: 7px;
		margin-bottom: 10px;
		padding: 8px;
		border-radius: 14px;
	}

	.tvh-app[data-page="calendar"] .tvh-filter input[name="month"] {
		grid-column: 1 / 2;
	}

	.tvh-app[data-page="calendar"] .tvh-filter input[name="year"] {
		grid-column: 2 / 3;
	}

	.tvh-app[data-page="calendar"] .tvh-filter select[name="company_id"] {
		grid-column: 3 / 7;
	}

	.tvh-app[data-page="calendar"] .tvh-calendar-view-toggle {
		grid-column: 1 / 4;
	}

	.tvh-app[data-page="calendar"] .tvh-calendar-mode-toggle {
		grid-column: 4 / 6;
	}

	.tvh-app[data-page="calendar"] .tvh-filter .tvh-button {
		grid-column: 6 / 7;
	}

	.tvh-app[data-page="calendar"] .tvh-filter input,
	.tvh-app[data-page="calendar"] .tvh-filter select,
	.tvh-app[data-page="calendar"] .tvh-filter .tvh-button {
		min-height: 38px;
		border-radius: 11px;
		padding: 7px 10px;
		font-size: 13px;
	}

	.tvh-calendar-view-toggle,
	.tvh-calendar-mode-toggle {
		min-height: 40px;
		padding: 3px;
		border-radius: 12px;
		overflow-x: auto;
		scrollbar-width: none;
	}

	.tvh-calendar-view-toggle::-webkit-scrollbar,
	.tvh-calendar-mode-toggle::-webkit-scrollbar {
		display: none;
	}

	.tvh-calendar-view-toggle {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 4px;
	}

	.tvh-calendar-view-toggle label,
	.tvh-calendar-view-toggle span {
		width: 100%;
		justify-content: center;
	}

	.tvh-calendar-view-toggle span,
	.tvh-calendar-mode-toggle span {
		min-height: 32px;
		padding: 5px 4px;
		border-radius: 9px;
		font-size: 11px;
		line-height: 1.15;
		white-space: nowrap;
	}

	.tvh-calendar-mode-toggle {
		justify-self: stretch;
		justify-content: flex-start;
	}

	.tvh-calendar-mode-toggle span {
		width: 38px;
		min-width: 38px;
	}

	.tvh-calendar-mode-toggle .tvh-lucide {
		width: 16px;
		height: 16px;
	}
}

@media (max-width: 380px) {
	.tvh-app[data-page="calendar"] .tvh-page-head .tvh-button span {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
		white-space: nowrap;
	}

	.tvh-app[data-page="calendar"] .tvh-page-head .tvh-button {
		width: 40px;
		padding-inline: 0;
	}
}

/* Refined task status chips */
.tvh-app[data-page="tasks"] .tvh-badge,
.tvh-app[data-page="tasks"] .tvh-due-chip {
	--task-chip-bg: #eef4f3;
	--task-chip-fg: #34524d;
	--task-chip-border: #d5e3e0;
	--task-chip-dot: currentColor;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	width: fit-content;
	max-width: none;
	min-height: 28px;
	padding: 5px 10px;
	border: 1px solid var(--task-chip-border);
	border-radius: 999px;
	background: linear-gradient(180deg, #fff 0%, var(--task-chip-bg) 100%);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.78), 0 1px 2px rgba(23, 42, 38, 0.05);
	color: var(--task-chip-fg);
	font-size: 11px;
	font-weight: 780;
	line-height: 1;
	text-align: center;
	white-space: nowrap;
	word-break: normal;
	overflow-wrap: normal;
}

.tvh-app[data-page="tasks"] .tvh-badge::before,
.tvh-app[data-page="tasks"] .tvh-due-chip::before {
	width: 6px;
	height: 6px;
	border-radius: 999px;
	background: var(--task-chip-dot);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--task-chip-dot) 14%, transparent);
	content: "";
	flex: 0 0 6px;
	opacity: 0.82;
}

.tvh-app[data-page="tasks"] .tvh-badge--status-todo {
	--task-chip-bg: #eef4f3;
	--task-chip-fg: #36524d;
	--task-chip-border: #d7e4e1;
	--task-chip-dot: #6b8580;
}

.tvh-app[data-page="tasks"] .tvh-badge--status-doing,
.tvh-app[data-page="tasks"] .tvh-badge--priority-high,
.tvh-app[data-page="tasks"] .tvh-due-chip--today {
	--task-chip-bg: #fff4dc;
	--task-chip-fg: #906114;
	--task-chip-border: #f3d9a6;
	--task-chip-dot: #d2951d;
}

.tvh-app[data-page="tasks"] .tvh-badge--status-waiting,
.tvh-app[data-page="tasks"] .tvh-badge--priority-medium,
.tvh-app[data-page="tasks"] .tvh-due-chip--upcoming {
	--task-chip-bg: #eaf3ff;
	--task-chip-fg: #356aa2;
	--task-chip-border: #cfe1f6;
	--task-chip-dot: #4e82bf;
}

.tvh-app[data-page="tasks"] .tvh-badge--status-done,
.tvh-app[data-page="tasks"] .tvh-badge--status-active,
.tvh-app[data-page="tasks"] .tvh-badge--priority-low,
.tvh-app[data-page="tasks"] .tvh-due-chip--later {
	--task-chip-bg: #e5f6ec;
	--task-chip-fg: #28724e;
	--task-chip-border: #c7ead6;
	--task-chip-dot: #33a363;
}

.tvh-app[data-page="tasks"] .tvh-badge--status-cancelled,
.tvh-app[data-page="tasks"] .tvh-badge--priority-urgent,
.tvh-app[data-page="tasks"] .tvh-due-chip--overdue {
	--task-chip-bg: #fdebec;
	--task-chip-fg: #a33c3c;
	--task-chip-border: #f2c9cb;
	--task-chip-dot: #d45b5b;
}

.tvh-app[data-page="tasks"] .tvh-due-chip--none {
	--task-chip-bg: #f1f5f4;
	--task-chip-fg: #64736f;
	--task-chip-border: #dce6e3;
	--task-chip-dot: #9aa9a5;
}

.tvh-app[data-page="tasks"] .tvh-task-card__chips {
	gap: 7px;
}

.tvh-app[data-page="tasks"] .tvh-task-card__chips .tvh-badge,
.tvh-app[data-page="tasks"] .tvh-task-card__chips .tvh-due-chip {
	min-height: 26px;
	padding: 4px 9px;
	font-size: 10.5px;
}

.tvh-app[data-page="tasks"] .tvh-task-list-view .tvh-table td {
	overflow-wrap: normal;
	word-break: normal;
}

.tvh-app[data-page="tasks"] .tvh-task-list-view .tvh-table th:nth-child(3),
.tvh-app[data-page="tasks"] .tvh-task-list-view .tvh-table th:nth-child(4),
.tvh-app[data-page="tasks"] .tvh-task-list-view .tvh-table th:nth-child(5),
.tvh-app[data-page="tasks"] .tvh-task-list-view .tvh-table td:nth-child(3),
.tvh-app[data-page="tasks"] .tvh-task-list-view .tvh-table td:nth-child(4),
.tvh-app[data-page="tasks"] .tvh-task-list-view .tvh-table td:nth-child(5) {
	width: 118px;
	white-space: nowrap;
}

@media (max-width: 700px) {
	.tvh-app[data-page="tasks"] .tvh-task-list-view {
		padding: 8px;
	}

	.tvh-app[data-page="tasks"] .tvh-task-list-view .tvh-table-wrap {
		margin-inline: 0;
		border: 0;
		background: transparent;
		overflow: visible;
	}

	.tvh-app[data-page="tasks"] .tvh-task-list-view .tvh-table,
	.tvh-app[data-page="tasks"] .tvh-task-list-view .tvh-table thead,
	.tvh-app[data-page="tasks"] .tvh-task-list-view .tvh-table tbody,
	.tvh-app[data-page="tasks"] .tvh-task-list-view .tvh-table tr,
	.tvh-app[data-page="tasks"] .tvh-task-list-view .tvh-table td {
		display: block;
		width: 100%;
		min-width: 0;
	}

	.tvh-app[data-page="tasks"] .tvh-task-list-view .tvh-table {
		border-collapse: separate;
		border-spacing: 0;
	}

	.tvh-app[data-page="tasks"] .tvh-task-list-view .tvh-table thead {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
		white-space: nowrap;
	}

	.tvh-app[data-page="tasks"] .tvh-task-list-view .tvh-table tbody {
		display: grid;
		gap: 8px;
	}

	.tvh-app[data-page="tasks"] .tvh-task-list-view .tvh-table tr {
		padding: 10px;
		border: 1px solid var(--tvh-border);
		border-radius: 16px;
		background: var(--tvh-surface-strong);
		box-shadow: var(--tvh-shadow-xs);
	}

	.tvh-app[data-page="tasks"] .tvh-task-list-view .tvh-table tr[data-task-row] {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 6px;
		border-color: #cfdfdb;
		background: linear-gradient(145deg, #ffffff 0%, #f9fcfb 100%);
		box-shadow: 0 5px 16px rgba(29, 72, 62, 0.075);
	}

	.tvh-app[data-page="tasks"] .tvh-task-list-view .tvh-table td {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 10px;
		min-height: 32px;
		padding: 5px 0;
		border-bottom: 1px solid rgba(216, 227, 225, 0.72);
		text-align: right;
		white-space: normal;
	}

	.tvh-app[data-page="tasks"] .tvh-task-list-view .tvh-table td::before {
		color: var(--tvh-muted);
		content: attr(data-label);
		font-size: 10px;
		font-weight: 780;
		line-height: 1.1;
		text-align: left;
		text-transform: uppercase;
		white-space: nowrap;
	}

	.tvh-app[data-page="tasks"] .tvh-task-list-view .tvh-table .tvh-task-table__title {
		display: block;
		grid-column: 1 / -1;
		min-height: 0;
		padding: 1px 2px 8px;
		border-bottom: 1px solid rgba(202, 219, 214, 0.72);
		text-align: left;
	}

	.tvh-app[data-page="tasks"] .tvh-task-list-view .tvh-table .tvh-task-table__title::before {
		display: none;
	}

	.tvh-app[data-page="tasks"] .tvh-task-list-view .tvh-task-table__title .tvh-link-button {
		min-height: 0;
		padding: 0;
		color: var(--tvh-text);
		font-size: 14.5px;
		line-height: 1.25;
		text-align: left;
	}

	.tvh-app[data-page="tasks"] .tvh-task-list-view .tvh-task-table__title small {
		margin-top: 4px;
		color: #70827d;
		font-size: 11px;
		line-height: 1.3;
	}

	.tvh-app[data-page="tasks"] .tvh-task-list-view .tvh-table tr[data-task-row] > td:nth-child(2) {
		grid-column: 1 / -1;
		min-height: 30px;
		padding: 6px 8px;
		border: 1px solid #e3ece9;
		border-radius: 9px;
		background: #f6f9f8;
		color: #526a64;
		font-size: 11.5px;
	}

	.tvh-app[data-page="tasks"] .tvh-task-list-view .tvh-table .tvh-task-meta {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		justify-content: space-between;
		gap: 7px;
		min-height: 64px;
		padding: 8px 9px;
		border: 1px solid transparent;
		border-radius: 11px;
		text-align: left;
		box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.82), 0 2px 7px rgba(35, 65, 59, 0.04);
	}

	.tvh-app[data-page="tasks"] .tvh-task-list-view .tvh-table .tvh-task-meta--status {
		border-color: #d1e1f3;
		background: linear-gradient(145deg, #f7faff 0%, #edf5ff 100%);
	}

	.tvh-app[data-page="tasks"] .tvh-task-list-view .tvh-table .tvh-task-meta--priority {
		border-color: #eed9ae;
		background: linear-gradient(145deg, #fffaf2 0%, #fff3de 100%);
	}

	.tvh-app[data-page="tasks"] .tvh-task-list-view .tvh-table .tvh-task-meta--due {
		border-color: #d9e4e1;
		background: linear-gradient(145deg, #f8fbfa 0%, #eef4f2 100%);
	}

	.tvh-app[data-page="tasks"] .tvh-task-list-view .tvh-table .tvh-task-meta--due-overdue {
		border-color: #f0ccce;
		background: linear-gradient(145deg, #fff9f9 0%, #fdeced 100%);
	}

	.tvh-app[data-page="tasks"] .tvh-task-list-view .tvh-table .tvh-task-meta--due-today {
		border-color: #efd39b;
		background: linear-gradient(145deg, #fffbf1 0%, #fff0d2 100%);
	}

	.tvh-app[data-page="tasks"] .tvh-task-list-view .tvh-table .tvh-task-meta--due-upcoming {
		border-color: #c8dcf3;
		background: linear-gradient(145deg, #f5f9ff 0%, #e8f2ff 100%);
	}

	.tvh-app[data-page="tasks"] .tvh-task-list-view .tvh-table .tvh-task-meta--due-later {
		border-color: #c7e4d4;
		background: linear-gradient(145deg, #f4fbf7 0%, #e5f5ec 100%);
	}

	.tvh-app[data-page="tasks"] .tvh-task-list-view .tvh-table .tvh-task-meta--progress {
		border-color: #cce5d9;
		background: linear-gradient(145deg, #f6fbf8 0%, #e8f5ee 100%);
	}

	.tvh-app[data-page="tasks"] .tvh-task-list-view .tvh-table .tvh-task-meta::before {
		font-size: 9.5px;
		letter-spacing: 0.045em;
	}

	.tvh-app[data-page="tasks"] .tvh-task-list-view .tvh-table td:last-child {
		border-bottom: 0;
	}

	.tvh-app[data-page="tasks"] .tvh-task-list-view .tvh-badge,
	.tvh-app[data-page="tasks"] .tvh-task-list-view .tvh-due-chip {
		flex: 0 0 auto;
		max-width: calc(100vw - 150px);
		min-height: 30px;
		padding: 6px 10px;
		font-size: 11px;
		white-space: nowrap;
	}

	.tvh-app[data-page="tasks"] .tvh-task-list-view .tvh-task-meta .tvh-badge,
	.tvh-app[data-page="tasks"] .tvh-task-list-view .tvh-task-meta .tvh-due-chip {
		max-width: 100%;
		min-height: 24px;
		padding: 3px 8px;
		font-size: 10.5px;
	}

	.tvh-app[data-page="tasks"] .tvh-task-list-view .tvh-progress {
		width: min(160px, 54vw);
		min-width: 118px;
	}

	.tvh-app[data-page="tasks"] .tvh-task-list-view .tvh-task-meta .tvh-progress {
		width: 100%;
		min-width: 0;
		height: 14px;
		background: rgba(31, 102, 75, 0.14);
		box-shadow: inset 0 0 0 1px rgba(31, 102, 75, 0.08);
	}

	.tvh-app[data-page="tasks"] .tvh-task-list-view .tvh-task-meta .tvh-progress i {
		background: linear-gradient(90deg, #2f8c67 0%, #55b487 100%);
	}

	.tvh-app[data-page="tasks"] .tvh-task-list-view .tvh-row-actions {
		grid-column: 1 / -1;
		justify-content: flex-end;
		min-width: 0;
		min-height: 30px;
		padding: 4px 0 0;
	}
}

@media (max-width: 380px) {
	.tvh-app[data-page="tasks"] .tvh-task-list-view .tvh-table td {
		gap: 10px;
	}

	.tvh-app[data-page="tasks"] .tvh-task-list-view .tvh-badge,
	.tvh-app[data-page="tasks"] .tvh-task-list-view .tvh-due-chip {
		padding-inline: 9px;
		font-size: 10.5px;
	}
}

.tvh-app[data-page="tasks"] .tvh-task-list-view .tvh-row-actions {
	align-items: center;
	justify-content: flex-end;
	gap: 6px;
	width: 84px;
	min-width: 84px;
}

@media (min-width: 701px) {
	.tvh-app[data-page="tasks"] .tvh-task-list-view .tvh-row-actions {
		flex-wrap: nowrap;
	}
}

.tvh-app[data-page="tasks"] .tvh-task-list-view .tvh-row-actions .tvh-task-row-action {
	display: inline-grid;
	place-items: center;
	width: 30px;
	height: 30px;
	min-width: 30px;
	min-height: 30px;
	padding: 0;
	border: 1px solid rgba(59, 93, 86, 0.14);
	border-radius: 9px;
	background: rgba(255, 255, 255, 0.86);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72), 0 1px 2px rgba(23, 42, 38, 0.05);
	color: #49716a;
	line-height: 1;
	text-decoration: none;
}

.tvh-app[data-page="tasks"] .tvh-task-list-view .tvh-row-actions .tvh-task-row-action:hover,
.tvh-app[data-page="tasks"] .tvh-task-list-view .tvh-row-actions .tvh-task-row-action:focus-visible {
	border-color: rgba(23, 111, 102, 0.32);
	background: var(--tvh-primary-soft);
	color: var(--tvh-primary-hover);
	box-shadow: var(--tvh-shadow-xs);
	text-decoration: none;
	transform: translateY(-1px);
}

.tvh-app[data-page="tasks"] .tvh-task-list-view .tvh-task-row-action .tvh-lucide {
	width: 14px;
	height: 14px;
	margin: 0;
	stroke-width: 2;
}

@media (max-width: 700px) {
	.tvh-app[data-page="tasks"] .tvh-task-list-view .tvh-row-actions {
		width: 100%;
		min-width: 0;
		justify-content: flex-end;
		gap: 7px;
	}

	.tvh-app[data-page="tasks"] .tvh-task-list-view .tvh-row-actions::before {
		margin-right: auto;
	}

	.tvh-app[data-page="tasks"] .tvh-task-list-view .tvh-row-actions .tvh-task-row-action {
		width: 30px;
		height: 30px;
		min-width: 30px;
		min-height: 30px;
	}
}

/* Companies mobile layout */
@media (max-width: 767px) {
	.tvh-app[data-page="companies"] .tvh-main {
		gap: 10px;
	}

	.tvh-app[data-page="companies"] .tvh-companies-head {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		gap: 10px;
	}

	.tvh-app[data-page="companies"] .tvh-companies-head > div {
		flex: 1 1 auto;
		min-width: 0;
	}

	.tvh-app[data-page="companies"] .tvh-companies-head h2 {
		margin: 0;
		overflow: hidden;
		font-size: 20px;
		line-height: 1.15;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.tvh-app[data-page="companies"] .tvh-companies-head .tvh-button {
		flex: 0 0 auto;
		width: auto;
		min-height: 38px;
		padding: 7px 10px;
		border-radius: 11px;
		font-size: 13px;
		line-height: 1.15;
		white-space: nowrap;
	}

	.tvh-app[data-page="companies"] .tvh-companies-panel {
		padding: 10px;
		border-radius: 14px;
	}

	.tvh-app[data-page="companies"] .tvh-companies-filter {
		grid-template-columns: minmax(88px, 0.85fr) minmax(100px, 1fr) 48px;
		gap: 6px;
		margin-bottom: 12px;
	}

	.tvh-app[data-page="companies"] .tvh-companies-filter input,
	.tvh-app[data-page="companies"] .tvh-companies-filter select,
	.tvh-app[data-page="companies"] .tvh-companies-filter .tvh-button {
		min-height: 40px;
		border-radius: 10px;
		padding: 7px 9px;
		font-size: 12px;
	}

	.tvh-app[data-page="companies"] .tvh-companies-filter .tvh-button {
		justify-content: center;
		width: 48px;
		padding-inline: 0;
	}

	.tvh-app[data-page="companies"] .tvh-companies-table-wrap {
		margin-inline: 0;
		overflow: visible;
		border: 0;
		background: transparent;
		box-shadow: none;
	}

	.tvh-app[data-page="companies"] .tvh-companies-table,
	.tvh-app[data-page="companies"] .tvh-companies-table thead,
	.tvh-app[data-page="companies"] .tvh-companies-table tbody,
	.tvh-app[data-page="companies"] .tvh-companies-table tr,
	.tvh-app[data-page="companies"] .tvh-companies-table td {
		display: block;
		width: 100%;
	}

	.tvh-app[data-page="companies"] .tvh-companies-table {
		min-width: 0;
		border-collapse: separate;
		border-spacing: 0;
	}

	.tvh-app[data-page="companies"] .tvh-companies-table thead {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
		white-space: nowrap;
	}

	.tvh-app[data-page="companies"] .tvh-companies-table tbody {
		display: grid;
		gap: 10px;
	}

	.tvh-app[data-page="companies"] .tvh-companies-table tr {
		padding: 12px;
		border: 1px solid var(--tvh-border);
		border-radius: 14px;
		background: var(--tvh-surface-strong);
		box-shadow: var(--tvh-shadow-xs);
	}

	.tvh-app[data-page="companies"] .tvh-companies-table td {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		min-height: 36px;
		padding: 7px 0;
		border-bottom: 1px solid rgba(222, 219, 210, 0.78);
		text-align: right;
		white-space: normal;
	}

	.tvh-app[data-page="companies"] .tvh-companies-table td::before {
		flex: 0 0 auto;
		color: var(--tvh-muted);
		content: attr(data-label);
		font-size: 11px;
		font-weight: 780;
		line-height: 1.1;
		text-align: left;
		text-transform: uppercase;
		white-space: nowrap;
	}

	.tvh-app[data-page="companies"] .tvh-companies-table .tvh-company-card-title {
		display: block;
		min-height: 0;
		padding: 0 0 10px;
		text-align: left;
	}

	.tvh-app[data-page="companies"] .tvh-companies-table .tvh-company-card-title::before,
	.tvh-app[data-page="companies"] .tvh-companies-table .tvh-company-empty-row td::before {
		display: none;
	}

	.tvh-app[data-page="companies"] .tvh-company-card-title a {
		color: var(--tvh-text);
		font-size: 15px;
		line-height: 1.25;
	}

	.tvh-app[data-page="companies"] .tvh-company-swatch {
		width: 44px;
		height: 24px;
	}

	.tvh-app[data-page="companies"] .tvh-company-description {
		max-width: none;
	}

	.tvh-app[data-page="companies"] .tvh-companies-table .tvh-row-actions {
		justify-content: flex-end;
		width: 100%;
		min-width: 0;
		padding-top: 10px;
		border-bottom: 0;
	}

	.tvh-app[data-page="companies"] .tvh-companies-table .tvh-row-actions::before {
		margin-right: auto;
	}

	.tvh-app[data-page="companies"] .tvh-companies-table .tvh-row-actions a,
	.tvh-app[data-page="companies"] .tvh-companies-table .tvh-row-actions button {
		min-height: 32px;
		border: 1px solid rgba(56, 106, 90, 0.16);
		background: #fff;
		padding: 6px 10px;
	}

	.tvh-app[data-page="companies"] .tvh-company-empty-row td {
		display: block;
		padding: 14px 4px;
		border-bottom: 0;
		text-align: center;
	}
}

.tvh-app[data-page="cash"] .tvh-page-head {
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}

.tvh-app[data-page="cash"] .tvh-page-head > div {
	flex: 1 1 auto;
	min-width: 0;
}

.tvh-app[data-page="cash"] .tvh-page-head h2 {
	margin: 0;
	line-height: 1.15;
}

.tvh-app[data-page="cash"] .tvh-page-head .tvh-button {
	flex: 0 0 auto;
	width: auto;
	min-height: 34px;
	padding: 6px 10px;
	font-size: 12px;
	line-height: 1.15;
	white-space: nowrap;
}

.tvh-app[data-page="cash"] .tvh-page-head .tvh-button .tvh-lucide {
	width: 15px;
	height: 15px;
}

.tvh-app[data-page="cash"] .tvh-finance-tabs {
	align-items: center;
}

.tvh-app[data-page="cash"] .tvh-finance-tabs > button,
.tvh-app[data-page="cash"] .tvh-finance-tabs .tvh-managed-tab__main {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	white-space: nowrap;
}

.tvh-app[data-page="cash"] .tvh-finance-tab-create {
	display: grid;
	grid-template-columns: minmax(120px, 1fr) auto;
	align-items: center;
	gap: 8px;
	width: 100%;
}

.tvh-app[data-page="cash"] .tvh-finance-tab-create.tvh-password-tab-create--with-trash {
	grid-template-columns: minmax(120px, 1fr) auto auto;
}

.tvh-app[data-page="cash"] .tvh-finance-tab-create input {
	min-width: 0;
}

.tvh-app[data-page="cash"] .tvh-finance-tab-create .tvh-button {
	width: auto;
	min-height: 34px;
	padding: 6px 10px;
	font-size: 12px;
	line-height: 1.15;
	white-space: nowrap;
}

.tvh-app[data-page="cash"] .tvh-finance-tab-create .tvh-button .tvh-lucide {
	width: 15px;
	height: 15px;
}

.tvh-app[data-page="cash"] .tvh-finance-tab-create .tvh-managed-tab-trash-toggle {
	justify-self: end;
}

@media (max-width: 620px) {
	.tvh-app[data-page="cash"] .tvh-finance-workbook {
		gap: 7px;
		margin-bottom: 8px;
		padding: 8px;
		border-radius: 12px;
	}

	.tvh-app[data-page="cash"] .tvh-password-workbook__top {
		gap: 6px;
	}

	.tvh-app[data-page="cash"] .tvh-finance-tabs {
		gap: 4px;
		padding: 0 0 2px;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}

	.tvh-app[data-page="cash"] .tvh-finance-tabs::-webkit-scrollbar {
		display: none;
	}

	.tvh-app[data-page="cash"] .tvh-finance-tabs > button,
	.tvh-app[data-page="cash"] .tvh-finance-tabs .tvh-managed-tab__main {
		min-height: 26px;
		padding: 3px 8px;
		font-size: 12px;
		line-height: 1.1;
	}

	.tvh-app[data-page="cash"] .tvh-finance-tabs .tvh-managed-tab {
		min-height: 26px;
	}

	.tvh-app[data-page="cash"] .tvh-finance-tabs .tvh-managed-tab__main {
		min-height: 24px;
		border-left-width: 2px;
		padding-inline: 7px 5px;
	}

	.tvh-app[data-page="cash"] .tvh-finance-tabs .tvh-managed-tab__actions {
		gap: 0;
		padding-right: 1px;
		opacity: 1;
	}

	.tvh-app[data-page="cash"] .tvh-finance-tabs .tvh-managed-tab__action {
		width: 18px;
		min-width: 18px;
		height: 22px;
		min-height: 22px;
	}

	.tvh-app[data-page="cash"] .tvh-finance-tabs .tvh-managed-tab__action .tvh-lucide {
		width: 11px;
		height: 11px;
	}

	.tvh-app[data-page="cash"] .tvh-finance-tab-create {
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 6px;
	}

	.tvh-app[data-page="cash"] .tvh-finance-tab-create.tvh-password-tab-create--with-trash {
		grid-template-columns: minmax(0, 1fr) auto auto;
	}

	.tvh-app[data-page="cash"] .tvh-finance-tab-create input {
		min-height: 34px;
		border-radius: 9px;
		padding: 6px 9px;
		font-size: 12px;
		line-height: 1.15;
	}

	.tvh-app[data-page="cash"] .tvh-finance-tab-create .tvh-button {
		gap: 5px;
		min-height: 32px;
		border-radius: 9px;
		padding: 5px 8px;
		font-size: 11.5px;
		line-height: 1.15;
	}

	.tvh-app[data-page="cash"] .tvh-finance-tab-create .tvh-button .tvh-lucide {
		width: 14px;
		height: 14px;
		flex: 0 0 14px;
	}

	.tvh-app[data-page="cash"] .tvh-finance-tab-create .tvh-managed-tab-trash-panel {
		grid-column: 1 / -1;
		width: 100%;
		padding: 8px;
	}

	.tvh-app[data-page="cash"] .tvh-finance-tab-create .tvh-managed-tab-trash-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 6px;
		max-height: min(240px, 42dvh);
	}

	.tvh-app[data-page="cash"] .tvh-finance-tab-create .tvh-managed-tab-trash-item {
		min-width: 0;
		min-height: 38px;
		gap: 5px;
		padding: 6px 5px 6px 8px;
	}

	.tvh-app[data-page="cash"] .tvh-finance-tab-create .tvh-managed-tab-trash-item__label {
		font-size: 12px;
		line-height: 1.15;
	}

	.tvh-app[data-page="cash"] .tvh-finance-tab-create .tvh-managed-tab-trash-item__actions {
		gap: 1px;
	}

	.tvh-app[data-page="cash"] .tvh-finance-tab-create .tvh-managed-tab-trash__action {
		width: 20px;
		min-width: 20px;
	}

	.tvh-app[data-page="cash"] .tvh-password-sheet-status {
		min-height: 0;
		font-size: 11px;
		line-height: 1.2;
	}

	.tvh-app[data-page="cash"] .tvh-password-sheet-status:empty {
		display: none;
	}
}

@media (max-width: 480px) {
	.tvh-app[data-page="cash"] .tvh-finance-tab-create {
		grid-template-columns: minmax(0, 1fr) 34px;
	}

	.tvh-app[data-page="cash"] .tvh-finance-tab-create.tvh-password-tab-create--with-trash {
		grid-template-columns: minmax(0, 1fr) 34px 38px;
	}

	.tvh-app[data-page="cash"] .tvh-finance-tab-create .tvh-button {
		justify-content: center;
		width: 100%;
		min-width: 0;
		padding-inline: 0;
	}

	.tvh-app[data-page="cash"] .tvh-finance-tab-create .tvh-button span:not(.tvh-managed-tab-trash-count) {
		position: absolute;
		width: 1px;
		height: 1px;
		margin: -1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
		white-space: nowrap;
	}

	.tvh-app[data-page="cash"] .tvh-finance-tab-create .tvh-managed-tab-trash-toggle {
		gap: 3px;
	}

	.tvh-app[data-page="cash"] .tvh-managed-tab-trash-count {
		min-width: 15px;
		height: 15px;
		margin-left: 0;
		font-size: 9.5px;
	}
}

@media (max-width: 860px) {
	.tvh-app[data-page="cash"] .tvh-metric-grid,
	.tvh-app[data-page="cash"] .tvh-metric-grid--compact {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 7px;
	}

	.tvh-app[data-page="cash"] .tvh-metric {
		min-height: 78px;
		padding: 10px 8px;
		border-radius: 12px;
	}

	.tvh-app[data-page="cash"] .tvh-metric::after {
		right: -30px;
		bottom: -34px;
		width: 64px;
		height: 64px;
	}

	.tvh-app[data-page="cash"] .tvh-metric span {
		font-size: 10.5px;
		line-height: 1.2;
	}

	.tvh-app[data-page="cash"] .tvh-metric strong {
		margin-top: 8px;
		font-size: 17px;
		line-height: 1.15;
	}
}

@media (max-width: 380px) {
	.tvh-app[data-page="cash"] .tvh-metric-grid,
	.tvh-app[data-page="cash"] .tvh-metric-grid--compact {
		gap: 5px;
	}

	.tvh-app[data-page="cash"] .tvh-metric {
		min-height: 72px;
		padding: 9px 6px;
	}

	.tvh-app[data-page="cash"] .tvh-metric strong {
		font-size: 16px;
	}
}

@media (max-width: 860px) {
	.tvh-app[data-page="cash"] .tvh-filter {
		display: flex;
		align-items: center;
		gap: 6px;
		margin-bottom: 10px;
		overflow-x: auto;
		overflow-y: hidden;
		padding-bottom: 2px;
		scrollbar-width: thin;
		-webkit-overflow-scrolling: touch;
	}

	.tvh-app[data-page="cash"] .tvh-filter input,
	.tvh-app[data-page="cash"] .tvh-filter select,
	.tvh-app[data-page="cash"] .tvh-filter .tvh-button {
		flex: 0 0 auto;
		width: auto;
		min-height: 34px;
		padding: 6px 9px;
		border-radius: 10px;
		font-size: 12px;
		line-height: 1.15;
		white-space: nowrap;
	}

	.tvh-app[data-page="cash"] .tvh-filter input[type="search"] {
		flex-basis: 126px;
	}

	.tvh-app[data-page="cash"] .tvh-filter select[name="company_id"] {
		flex-basis: 118px;
	}

	.tvh-app[data-page="cash"] .tvh-filter select[name="type"] {
		flex-basis: 88px;
	}

	.tvh-app[data-page="cash"] .tvh-filter input[name="category"] {
		flex-basis: 92px;
	}

	.tvh-app[data-page="cash"] .tvh-filter select[name="important"] {
		flex-basis: 76px;
	}

	.tvh-app[data-page="cash"] .tvh-filter input[name="month"] {
		flex-basis: 48px;
	}

	.tvh-app[data-page="cash"] .tvh-filter input[name="year"] {
		flex-basis: 64px;
	}

	.tvh-app[data-page="cash"] .tvh-filter .tvh-button {
		flex-basis: 54px;
		padding-inline: 10px;
	}
}

@media (max-width: 380px) {
	.tvh-app[data-page="cash"] .tvh-filter {
		gap: 5px;
	}

	.tvh-app[data-page="cash"] .tvh-filter input,
	.tvh-app[data-page="cash"] .tvh-filter select,
	.tvh-app[data-page="cash"] .tvh-filter .tvh-button {
		min-height: 32px;
		padding: 5px 8px;
		font-size: 11.5px;
	}

	.tvh-app[data-page="cash"] .tvh-filter input[type="search"] {
		flex-basis: 112px;
	}

	.tvh-app[data-page="cash"] .tvh-filter select[name="company_id"] {
		flex-basis: 106px;
	}

	.tvh-app[data-page="cash"] .tvh-filter input[name="category"] {
		flex-basis: 82px;
	}
}

@media (max-width: 700px) {
	.tvh-app[data-page="cash"] .tvh-panel {
		padding: 10px;
	}

	.tvh-app[data-page="cash"] .tvh-table-wrap {
		margin-inline: 0;
		overflow: visible;
		border: 0;
		border-radius: 0;
		background: transparent;
	}

	.tvh-app[data-page="cash"] .tvh-table,
	.tvh-app[data-page="cash"] .tvh-table thead,
	.tvh-app[data-page="cash"] .tvh-table tbody,
	.tvh-app[data-page="cash"] .tvh-table tr,
	.tvh-app[data-page="cash"] .tvh-table td {
		display: block;
		width: 100%;
		min-width: 0;
	}

	.tvh-app[data-page="cash"] .tvh-table {
		border-collapse: separate;
		border-spacing: 0;
	}

	.tvh-app[data-page="cash"] .tvh-table thead {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
		white-space: nowrap;
	}

	.tvh-app[data-page="cash"] .tvh-table tbody {
		display: grid;
		gap: 8px;
	}

	.tvh-app[data-page="cash"] .tvh-table tr[data-cash-row] {
		display: grid;
		grid-template-columns: 64px minmax(0, 1fr) minmax(82px, auto);
		grid-template-areas:
			"date title amount"
			"type title amount"
			"category company company"
			"actions actions actions";
		column-gap: 8px;
		row-gap: 5px;
		padding: 10px;
		border: 1px solid #dbe8e4;
		border-radius: 12px;
		background: #ffffff;
		box-shadow: 0 4px 14px rgba(29, 72, 62, 0.055);
	}

	.tvh-app[data-page="cash"] .tvh-table tr[data-cash-row] > td {
		min-height: 0;
		padding: 0;
		border: 0;
		overflow-wrap: normal;
		word-break: normal;
	}

	.tvh-app[data-page="cash"] .tvh-table tr[data-cash-row] > td:nth-child(1) {
		grid-area: date;
		align-self: start;
		color: #526a64;
		font-size: 11.5px;
		font-variant-numeric: tabular-nums;
		font-weight: 760;
		line-height: 1.15;
		white-space: nowrap;
	}

	.tvh-app[data-page="cash"] .tvh-table tr[data-cash-row] > td:nth-child(2) {
		grid-area: title;
		align-self: start;
		min-width: 0;
	}

	.tvh-app[data-page="cash"] .tvh-table tr[data-cash-row] > td:nth-child(2) strong {
		display: -webkit-box;
		overflow: hidden;
		color: var(--tvh-text);
		font-size: 13.5px;
		font-weight: 820;
		line-height: 1.25;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
	}

	.tvh-app[data-page="cash"] .tvh-table tr[data-cash-row] > td:nth-child(2) small {
		display: block;
		overflow: hidden;
		margin-top: 3px;
		font-size: 11px;
		line-height: 1.2;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.tvh-app[data-page="cash"] .tvh-table tr[data-cash-row] > td:nth-child(3) {
		grid-area: type;
		align-self: end;
	}

	.tvh-app[data-page="cash"] .tvh-table tr[data-cash-row] > td:nth-child(3) .tvh-badge {
		min-height: 24px;
		padding: 4px 7px;
		font-size: 10px;
		line-height: 1.05;
		white-space: nowrap;
	}

	.tvh-app[data-page="cash"] .tvh-table tr[data-cash-row] > td:nth-child(4) {
		grid-area: amount;
		align-self: start;
		justify-self: end;
		max-width: 104px;
		overflow: hidden;
		font-size: 12.5px;
		font-variant-numeric: tabular-nums;
		font-weight: 780;
		line-height: 1.25;
		text-align: right;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.tvh-app[data-page="cash"] .tvh-table tr[data-cash-row] > td:nth-child(5),
	.tvh-app[data-page="cash"] .tvh-table tr[data-cash-row] > td:nth-child(6) {
		min-width: 0;
		overflow: hidden;
		color: #506760;
		font-size: 11.5px;
		font-weight: 690;
		line-height: 1.2;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.tvh-app[data-page="cash"] .tvh-table tr[data-cash-row] > td:nth-child(5) {
		grid-area: category;
	}

	.tvh-app[data-page="cash"] .tvh-table tr[data-cash-row] > td:nth-child(6) {
		grid-area: company;
		text-align: right;
	}

	.tvh-app[data-page="cash"] .tvh-table tr[data-cash-row] > td:nth-child(7) {
		grid-area: actions;
		display: grid;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 4px;
		min-width: 0;
		padding-top: 6px;
		overflow: visible;
		border-top: 1px solid rgba(216, 227, 225, 0.72);
	}

	.tvh-app[data-page="cash"] .tvh-table tr[data-cash-row] .tvh-row-actions form {
		display: block;
		min-width: 0;
	}

	.tvh-app[data-page="cash"] .tvh-table tr[data-cash-row] .tvh-row-actions a,
	.tvh-app[data-page="cash"] .tvh-table tr[data-cash-row] .tvh-row-actions button {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		box-sizing: border-box;
		width: 100%;
		min-width: 0;
		height: 30px;
		border: 1px solid rgba(20, 118, 105, 0.14);
		border-radius: 8px;
		background: #f7fbfa;
		color: #176f66;
		padding: 4px 2px;
		box-shadow: none;
		font-size: 10.5px;
		font-weight: 780;
		line-height: 1.15;
		text-align: center;
		text-decoration: none;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.tvh-app[data-page="cash"] .tvh-table tr[data-cash-row] .tvh-row-actions .tvh-link-danger {
		border-color: rgba(183, 72, 72, 0.16);
		background: #fff7f7;
		color: var(--tvh-danger);
	}
}

@media (max-width: 380px) {
	.tvh-app[data-page="cash"] .tvh-table tr[data-cash-row] {
		grid-template-columns: 58px minmax(0, 1fr) minmax(76px, auto);
		column-gap: 7px;
		padding: 9px;
	}

	.tvh-app[data-page="cash"] .tvh-table tr[data-cash-row] > td:nth-child(1) {
		font-size: 11px;
	}

	.tvh-app[data-page="cash"] .tvh-table tr[data-cash-row] > td:nth-child(2) strong {
		font-size: 13px;
	}

	.tvh-app[data-page="cash"] .tvh-table tr[data-cash-row] > td:nth-child(4) {
		max-width: 92px;
		font-size: 12px;
	}

	.tvh-app[data-page="cash"] .tvh-table tr[data-cash-row] > td:nth-child(7) {
		gap: 3px;
	}

	.tvh-app[data-page="cash"] .tvh-table tr[data-cash-row] .tvh-row-actions a,
	.tvh-app[data-page="cash"] .tvh-table tr[data-cash-row] .tvh-row-actions button {
		height: 28px;
		font-size: 10px;
	}
}

/* Mobile safe top offset for phone status bars and camera cutouts. */
@media (max-width: 782px) {
	:root {
		--tvh-mobile-safe-top: calc(env(safe-area-inset-top, 0px) + 20px);
	}

	.tvh-main,
	.tvh-app .tvh-main,
	.tvh-app[data-page] .tvh-main {
		padding-top: var(--tvh-mobile-safe-top);
		scroll-padding-top: calc(var(--tvh-mobile-safe-top) + 8px);
	}

	.tvh-topbar,
	body.admin-bar .tvh-topbar {
		margin-top: var(--tvh-mobile-safe-top);
		top: var(--tvh-mobile-safe-top);
	}

	.tvh-public {
		margin-top: var(--tvh-mobile-safe-top);
	}

	.tvh-login {
		padding-top: var(--tvh-mobile-safe-top);
	}
}
